From 00a529ad74d139419ea2e4f331b21509a01dcf85 Mon Sep 17 00:00:00 2001 From: amzn-mike <80125227+amzn-mike@users.noreply.github.com> Date: Fri, 28 May 2021 14:56:52 -0500 Subject: [PATCH 001/205] Fix AssImpTransformImporter logic for bone nodes For bone nodes, the Transform is computed by multiplying the parent offsetMatrix by the inverse of the node's offsetMatrix Note that this currently disables the LimitBoneWeights option since that results in the removal of bone nodes that are not attached to a mesh. Without the bones there is no way to retrieve the offsetMatrix, so the Transform cannot be computed correctly Fixes LYN-3755 --- .../Importers/AssImpTransformImporter.cpp | 59 ++++++++++++++++--- .../SDKWrapper/AssImpSceneWrapper.cpp | 5 +- 2 files changed, 55 insertions(+), 9 deletions(-) diff --git a/Code/Tools/SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.cpp b/Code/Tools/SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.cpp index 5357c32fa9..bcc007e3a7 100644 --- a/Code/Tools/SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.cpp +++ b/Code/Tools/SceneAPI/FbxSceneBuilder/Importers/AssImpTransformImporter.cpp @@ -46,22 +46,69 @@ namespace AZ serializeContext->Class()->Version(1); } } - + + void GetAllBones(const aiScene* scene, AZStd::unordered_map& boneLookup) + { + for (unsigned meshIndex = 0; meshIndex < scene->mNumMeshes; ++meshIndex) + { + const aiMesh* mesh = scene->mMeshes[meshIndex]; + + for (unsigned boneIndex = 0; boneIndex < mesh->mNumBones; ++boneIndex) + { + const aiBone* bone = mesh->mBones[boneIndex]; + + boneLookup[bone->mName.C_Str()] = bone; + } + } + } + Events::ProcessingResult AssImpTransformImporter::ImportTransform(AssImpSceneNodeAppendedContext& context) { AZ_TraceContext("Importer", "transform"); const aiNode* currentNode = context.m_sourceNode.GetAssImpNode(); const aiScene* scene = context.m_sourceScene.GetAssImpScene(); - + if (currentNode == scene->mRootNode || IsPivotNode(currentNode->mName)) { return Events::ProcessingResult::Ignored; } - aiMatrix4x4 combinedTransform = GetConcatenatedLocalTransform(currentNode); + AZStd::unordered_map boneLookup; + GetAllBones(scene, boneLookup); + + auto boneIterator = boneLookup.find(currentNode->mName.C_Str()); + const bool isBone = boneIterator != boneLookup.end(); + + aiMatrix4x4 combinedTransform; + + if (isBone) + { + auto parentNode = currentNode->mParent; + + aiMatrix4x4 offsetMatrix = boneIterator->second->mOffsetMatrix; + aiMatrix4x4 parentOffset {}; + + auto parentBoneIterator = boneLookup.find(parentNode->mName.C_Str()); + + if (parentNode && parentBoneIterator != boneLookup.end()) + { + const auto& parentBone = parentBoneIterator->second; + + parentOffset = parentBone->mOffsetMatrix; + } + + auto inverseOffset = offsetMatrix; + inverseOffset.Inverse(); + + combinedTransform = parentOffset * inverseOffset; + } + else + { + combinedTransform = GetConcatenatedLocalTransform(currentNode); + } DataTypes::MatrixType localTransform = AssImpSDKWrapper::AssImpTypeConverter::ToTransform(combinedTransform); - + context.m_sourceSceneSystem.SwapTransformForUpAxis(localTransform); context.m_sourceSceneSystem.ConvertUnit(localTransform); @@ -105,9 +152,7 @@ namespace AZ } else { - bool addedData = context.m_scene.GetGraph().SetContent( - context.m_currentGraphPosition, - transformData); + bool addedData = context.m_scene.GetGraph().SetContent(context.m_currentGraphPosition, transformData); AZ_Error(SceneAPI::Utilities::ErrorWindow, addedData, "Failed to add node data"); return addedData ? Events::ProcessingResult::Success : Events::ProcessingResult::Failure; diff --git a/Code/Tools/SceneAPI/SDKWrapper/AssImpSceneWrapper.cpp b/Code/Tools/SceneAPI/SDKWrapper/AssImpSceneWrapper.cpp index 791af4bf68..9186a2fb7a 100644 --- a/Code/Tools/SceneAPI/SDKWrapper/AssImpSceneWrapper.cpp +++ b/Code/Tools/SceneAPI/SDKWrapper/AssImpSceneWrapper.cpp @@ -69,13 +69,14 @@ namespace AZ // aiProcess_JoinIdenticalVertices is not enabled because O3DE has a mesh optimizer that also does this, // this flag is disabled to keep AssImp output similar to FBX SDK to reduce downstream bugs for the initial AssImp release. // There's currently a minimum of properties and flags set to maximize compatibility with the existing node graph. + + // aiProcess_LimitBoneWeights is not enabled because it will remove bones which are not associated with a mesh. + // This results in the loss of the offset matrix data for nodes without a mesh which is required for the Transform Importer. m_importer.SetPropertyBool(AI_CONFIG_IMPORT_FBX_PRESERVE_PIVOTS, false); m_importer.SetPropertyBool(AI_CONFIG_IMPORT_FBX_OPTIMIZE_EMPTY_ANIMATION_CURVES, false); m_sceneFileName = fileName; m_assImpScene = m_importer.ReadFile(fileName, aiProcess_Triangulate //Triangulates all faces of all meshes - | aiProcess_LimitBoneWeights //Limits the number of bones that can affect a vertex to a maximum value - //dropping the least important and re-normalizing | aiProcess_GenNormals); //Generate normals for meshes #if AZ_TRAIT_COMPILER_SUPPORT_CSIGNAL From 0d5247be345493fb699e54dc0eaad41af35fa87b Mon Sep 17 00:00:00 2001 From: moudgils Date: Tue, 1 Jun 2021 09:58:45 -0700 Subject: [PATCH 002/205] Fix metal shader pipeline crashes for LuminanceHistogramGenerator and MorphTargetCS due to the use of atomic operations with typed buffers. Switching them to use Structured buffers. Plus misc cleanup --- .../Common/Assets/Shaders/MorphTargets/MorphTargetCS.shader | 4 +--- .../Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli | 2 +- .../Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl | 4 ++-- .../Shaders/PostProcessing/LuminanceHistogramGenerator.azsl | 2 +- .../PostProcessing/LuminanceHistogramGenerator.shader | 4 +--- .../Assets/Shaders/SkinnedMesh/LinearSkinningPassSRG.azsli | 2 +- .../PostProcessing/LuminanceHistogramGeneratorPass.cpp | 2 +- .../Source/SkinnedMesh/SkinnedMeshOutputStreamManager.cpp | 4 ++-- .../RHI/Code/Include/Atom/RHI/ShaderResourceGroupData.h | 1 - Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h | 6 ++++++ 10 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetCS.shader b/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetCS.shader index 95ffc36a11..08b1e7c298 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetCS.shader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetCS.shader @@ -10,7 +10,5 @@ "type": "Compute" } ] - }, - "DisabledRHIBackends": ["metal"] - + } } diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli b/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli index 7ec5b43368..171e803c2c 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli +++ b/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli @@ -16,7 +16,7 @@ ShaderResourceGroup MorphTargetPassSrg : SRG_PerPass { - RWBuffer m_accumulatedDeltas; + RWStruturedBuffer m_accumulatedDeltas; } // This class represents the data that is passed to the morph target compute shader of an individual delta diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl index df92e36f9a..4559b6c9ef 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl @@ -1,4 +1,4 @@ -/* + /* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * @@ -37,7 +37,7 @@ ShaderResourceGroup PassSrg : SRG_PerPass Texture2D m_sceneLuminance; // This should be of size NUM_HISTOGRAM_BINS. - Buffer m_histogram; + StructuredBuffer m_histogram; Sampler LinearSampler { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.azsl index 05cc870eea..9d01a12fd6 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.azsl @@ -20,7 +20,7 @@ ShaderResourceGroup PassSrg : SRG_PerPass { Texture2D m_inputTexture; - RWBuffer m_outputTexture; + RWStructuredBuffer m_outputTexture; } groupshared uint shared_histogramBins[NUM_HISTOGRAM_BINS]; diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.shader b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.shader index 566144bab8..f3dd11e11a 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.shader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.shader @@ -12,7 +12,5 @@ "type": "Compute" } ] - }, - "DisabledRHIBackends": ["metal"] - + } } diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/SkinnedMesh/LinearSkinningPassSRG.azsli b/Gems/Atom/Feature/Common/Assets/Shaders/SkinnedMesh/LinearSkinningPassSRG.azsli index 5a9e44bade..e5407d2d9e 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/SkinnedMesh/LinearSkinningPassSRG.azsli +++ b/Gems/Atom/Feature/Common/Assets/Shaders/SkinnedMesh/LinearSkinningPassSRG.azsli @@ -16,7 +16,7 @@ ShaderResourceGroup PassSrg : SRG_PerPass { - RWBuffer m_skinnedMeshOutputStream; + RWStructuredBuffer m_skinnedMeshOutputStream; } ShaderResourceGroup InstanceSrg : SRG_PerDraw diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.cpp index 758c21bc4e..a3c494dee9 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.cpp @@ -72,7 +72,7 @@ namespace AZ desc.m_bufferName = AZStd::string::format("LuminanceHistogramBuffer_%s", uuidString.c_str()); desc.m_elementSize = sizeof(uint32_t); desc.m_byteCount = NumHistogramBins * sizeof(uint32_t); - desc.m_elementFormat = RHI::Format::R32_UINT; + desc.m_elementFormat = RHI::Format::Unknown; m_histogram = RPI::BufferSystemInterface::Get()->CreateBufferFromCommonPool(desc); AZ_Assert(m_histogram != nullptr, "Unable to allocate buffer"); } diff --git a/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshOutputStreamManager.cpp b/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshOutputStreamManager.cpp index 1cb782d8b1..1b14611e84 100644 --- a/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshOutputStreamManager.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshOutputStreamManager.cpp @@ -67,8 +67,8 @@ namespace AZ creator.SetBuffer(nullptr, 0, bufferDescriptor); RHI::BufferViewDescriptor viewDescriptor; - viewDescriptor.m_elementFormat = RHI::Format::R32_FLOAT; - viewDescriptor.m_elementSize = RHI::GetFormatSize(viewDescriptor.m_elementFormat); + viewDescriptor.m_elementFormat = RHI::Format::Unknown; + viewDescriptor.m_elementSize = sizeof(float); viewDescriptor.m_elementCount = aznumeric_cast(m_sizeInBytes) / viewDescriptor.m_elementSize; viewDescriptor.m_elementOffset = 0; creator.SetBufferViewDescriptor(viewDescriptor); diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI/ShaderResourceGroupData.h b/Gems/Atom/RHI/Code/Include/Atom/RHI/ShaderResourceGroupData.h index ce2c6c77ec..afcab28a1d 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI/ShaderResourceGroupData.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI/ShaderResourceGroupData.h @@ -410,7 +410,6 @@ namespace AZ // For any other type the buffer view's element size should match the stride. if (shaderInputBuffer.m_strideSize != bufferViewDescriptor.m_elementSize) { - // [GFX TODO][ATOM-5735][AZSL] ByteAddressBuffer shader input is setting a stride of 16 instead of 4 AZ_Error("ShaderResourceGroupData", false, "Buffer Input '%s[%d]': Does not match expected stride size %d", shaderInputBuffer.m_name.GetCStr(), arrayIndex, bufferViewDescriptor.m_elementSize); return false; diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h b/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h index a6fe57f6d8..6f09ea1d5f 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/CommandList.h @@ -271,6 +271,12 @@ namespace AZ ShaderResourceBindings& bindings = GetShaderResourceBindingsByPipelineType(pipelineType); const PipelineState* pipelineState = static_cast(item.m_pipelineState); + if(!pipelineState) + { + AZ_Assert(false, "Pipeline state not provided"); + return false; + } + bool updatePipelineState = m_state.m_pipelineState != pipelineState; // The pipeline state gets set first. if (updatePipelineState) From c55f65b78ff1dbc36de9654af0b8e429a206ca42 Mon Sep 17 00:00:00 2001 From: puvvadar Date: Thu, 3 Jun 2021 15:35:16 -0700 Subject: [PATCH 003/205] Integrate parts of Session Server API --- .../Source/MultiplayerSystemComponent.cpp | 28 +++++++++++++++++++ .../Code/Source/MultiplayerSystemComponent.h | 14 ++++++++++ 2 files changed, 42 insertions(+) diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index 0818f605df..50da2136fb 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -29,6 +29,8 @@ #include #include #include +#include +#include #include #include @@ -142,6 +144,7 @@ namespace Multiplayer void MultiplayerSystemComponent::Activate() { AZ::TickBus::Handler::BusConnect(); + AzFramework::SessionNotificationBus::Handler::BusConnect(); m_networkInterface = AZ::Interface::Get()->CreateNetworkInterface(AZ::Name(MPNetworkInterfaceName), sv_protocol, TrustZone::ExternalClientToServer, *this); m_consoleCommandHandler.Connect(AZ::Interface::Get()->GetConsoleCommandInvokedEvent()); AZ::Interface::Register(this); @@ -153,9 +156,34 @@ namespace Multiplayer void MultiplayerSystemComponent::Deactivate() { AZ::Interface::Unregister(this); + AzFramework::SessionNotificationBus::Handler::BusDisconnect(); AZ::TickBus::Handler::BusDisconnect(); } + bool MultiplayerSystemComponent::OnSessionHealthCheck() + { + return true; + } + + bool MultiplayerSystemComponent::OnCreateSessionBegin(const AzFramework::SessionConfig& sessionConfig) + { + Multiplayer::MultiplayerAgentType serverType = sv_isDedicated ? MultiplayerAgentType::DedicatedServer : MultiplayerAgentType::ClientServer; + AZ::Interface::Get()->InitializeMultiplayer(serverType); + return m_networkInterface->Listen(sessionConfig.m_port); + } + + bool MultiplayerSystemComponent::OnDestroySessionBegin() + { + bool disconnectSuccessful = true; + IConnectionSet& connectionSet = m_networkInterface->GetConnectionSet(); + connectionSet.VisitConnections([&disconnectSuccessful](IConnection& connection) + { + bool didDisconnect = connection.Disconnect(DisconnectReason::TerminatedByServer, TerminationEndpoint::Remote); + disconnectSuccessful = disconnectSuccessful && didDisconnect; + }); + return disconnectSuccessful; + } + void MultiplayerSystemComponent::OnTick([[maybe_unused]] float deltaTime, [[maybe_unused]] AZ::ScriptTimePoint time) { AZ::TimeMs deltaTimeMs = aznumeric_cast(static_cast(deltaTime * 1000.0f)); diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h index e8e05a9d4c..bd989cf841 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h @@ -25,8 +25,14 @@ #include #include #include +#include #include +namespace AzFramework +{ + struct SessionConfig; +} + namespace AzNetworking { class INetworkInterface; @@ -38,6 +44,7 @@ namespace Multiplayer class MultiplayerSystemComponent final : public AZ::Component , public AZ::TickBus::Handler + , public AzFramework::SessionNotificationBus::Handler , public AzNetworking::IConnectionListener , public IMultiplayer { @@ -58,6 +65,13 @@ namespace Multiplayer void Deactivate() override; //! @} + //! AzFramework::SessionNotificationBus::Handler overrides. + //! @{ + bool OnSessionHealthCheck() override; + bool OnCreateSessionBegin(const AzFramework::SessionConfig& sessionConfig) override; + bool OnDestroySessionBegin() override; + //! @} + //! AZ::TickBus::Handler overrides. //! @{ void OnTick(float deltaTime, AZ::ScriptTimePoint time) override; From 0e4a632417625d1dceb28a2d62d14a0aa8d277e9 Mon Sep 17 00:00:00 2001 From: moudgils Date: Thu, 3 Jun 2021 22:45:50 -0700 Subject: [PATCH 004/205] Add support for re-binding SRG entries if the drawItem has a new pso which changes how a srg is used in the shader. Also optimized api usage to use single call for UseResource and for setting stream buffers. --- .../Shaders/MorphTargets/MorphTargetSRG.azsli | 2 +- .../Metal/Code/Source/RHI/ArgumentBuffer.cpp | 133 +++++++++--------- .../Metal/Code/Source/RHI/ArgumentBuffer.h | 15 +- .../RHI/Metal/Code/Source/RHI/CommandList.cpp | 56 ++++++-- .../RHI/Metal/Code/Source/RHI/CommandList.h | 1 + .../Metal/Code/Source/RHI/PipelineLayout.cpp | 7 + .../Metal/Code/Source/RHI/PipelineLayout.h | 6 + 7 files changed, 134 insertions(+), 86 deletions(-) diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli b/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli index 171e803c2c..83193c8559 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli +++ b/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli @@ -16,7 +16,7 @@ ShaderResourceGroup MorphTargetPassSrg : SRG_PerPass { - RWStruturedBuffer m_accumulatedDeltas; + RWStructuredBuffer m_accumulatedDeltas; } // This class represents the data that is passed to the morph target compute shader of an individual delta diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp index 6ffd15e0bc..1e2edc6520 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp @@ -386,6 +386,11 @@ namespace AZ void ArgumentBuffer::AddUntrackedResourcesToEncoder(id commandEncoder, const ShaderResourceGroupVisibility& srgResourcesVisInfo) const { + + ComputeResourcesToMakeResidentMap resourcesToMakeResidentCompute; + GraphicsResourcesToMakeResidentMap resourcesToMakeResidentGraphics; + + //Cache the constant buffer associated with a srg if (m_constantBufferSize) { uint8_t numBitsSet = RHI::CountBitsSet(static_cast(srgResourcesVisInfo.m_constantDataStageMask)); @@ -393,28 +398,19 @@ namespace AZ { if(RHI::CheckBitsAny(srgResourcesVisInfo.m_constantDataStageMask, RHI::ShaderStageMask::Compute)) { - [static_cast>(commandEncoder) useResource:m_constantBuffer.GetGpuAddress>() usage:MTLResourceUsageRead]; + resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArray[resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArrayLen++] = m_constantBuffer.GetGpuAddress>(); } else { MTLRenderStages mtlRenderStages = GetRenderStages(srgResourcesVisInfo.m_constantDataStageMask); - [static_cast>(commandEncoder) useResource:m_constantBuffer.GetGpuAddress>() - usage:MTLResourceUsageRead - stages:mtlRenderStages]; + AZStd::pair key = AZStd::make_pair(MTLResourceUsageRead, mtlRenderStages); + resourcesToMakeResidentGraphics[key].m_resourceArray[resourcesToMakeResidentGraphics[key].m_resourceArrayLen++] = m_constantBuffer.GetGpuAddress>(); } - } } - ApplyUseResource(commandEncoder, m_resourceBindings, srgResourcesVisInfo); - } - - void ArgumentBuffer::ApplyUseResource(id encoder, - const ResourceBindingsMap& resourceMap, - const ShaderResourceGroupVisibility& srgResourcesVisInfo) const - { - - CommandEncoderType encodeType = CommandEncoderType::Invalid; - for (const auto& it : resourceMap) + + //Cach all the resources within a srg that are used by the shader based on the visibility information + for (const auto& it : m_resourceBindings) { //Extract the visibility mask for the give resource auto visMaskIt = srgResourcesVisInfo.m_resourcesStageMask.find(it.first); @@ -426,75 +422,50 @@ namespace AZ { if(RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Compute)) { - //Call UseResource on all resources for Compute stage - ApplyUseResourceToCompute(encoder, it.second); - encodeType = CommandEncoderType::Compute; + ApplyUseResourceToCompute(commandEncoder, it.second, resourcesToMakeResidentCompute); } else { - //Call UseResource on all resources for Vertex and Fragment stages AZ_Assert(RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Vertex) || RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Fragment), "The visibility mask %i is not set for Vertex or fragment stage", visMaskIt->second); - ApplyUseResourceToGraphic(encoder, visMaskIt->second, it.second); - encodeType = CommandEncoderType::Render; + ApplyUseResourceToGraphic(commandEncoder, visMaskIt->second, it.second, resourcesToMakeResidentGraphics); } } } - } - - void ArgumentBuffer::ApplyUseResourceToCompute(id encoder, const ResourceBindingsSet& resourceBindingDataSet) const - { - for (const auto& resourceBindingData : resourceBindingDataSet) - { - ResourceType rescType = resourceBindingData.m_resourcPtr->GetResourceType(); - switch(rescType) - { - case ResourceType::MtlTextureType: - { - MTLResourceUsage resourceUsage = GetImageResourceUsage(resourceBindingData.m_imageAccess); - [static_cast>(encoder) useResource:resourceBindingData.m_resourcPtr->GetGpuAddress>() usage:resourceUsage]; - - break; - } - case ResourceType::MtlBufferType: - { - MTLResourceUsage resourceUsage = GetBufferResourceUsage(resourceBindingData.m_bufferAccess); - [static_cast>(encoder) useResource:resourceBindingData.m_resourcPtr->GetGpuAddress>() usage:resourceUsage]; - - break; - } - default: - { - AZ_Assert(false, "Undefined Resource type"); - } - } - } - } - - void ArgumentBuffer::ApplyUseResourceToGraphic(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet) const - { - MTLRenderStages mtlRenderStages = GetRenderStages(visShaderMask); + //Call UseResource on all resources for Compute stage + for (const auto& key : resourcesToMakeResidentCompute) + { + [static_cast>(commandEncoder) useResources: key.second.m_resourceArray.data() + count: key.second.m_resourceArrayLen + usage: key.first]; + } + + //Call UseResource on all resources for Vertex and Fragment stages + for (const auto& key : resourcesToMakeResidentGraphics) + { + [static_cast>(commandEncoder) useResources: key.second.m_resourceArray.data() + count: key.second.m_resourceArrayLen + usage: key.first.first + stages: key.first.second]; + } + } + + void ArgumentBuffer::ApplyUseResourceToCompute(id encoder, const ResourceBindingsSet& resourceBindingDataSet, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const + { for (const auto& resourceBindingData : resourceBindingDataSet) { ResourceType rescType = resourceBindingData.m_resourcPtr->GetResourceType(); + MTLResourceUsage resourceUsage = MTLResourceUsageRead; switch(rescType) { case ResourceType::MtlTextureType: { - MTLResourceUsage resourceUsage = GetImageResourceUsage(resourceBindingData.m_imageAccess); - [static_cast>(encoder) useResource:resourceBindingData.m_resourcPtr->GetGpuAddress>() - usage:resourceUsage - stages:mtlRenderStages]; - + resourceUsage |= GetImageResourceUsage(resourceBindingData.m_imageAccess); break; } case ResourceType::MtlBufferType: { - MTLResourceUsage resourceUsage = GetBufferResourceUsage(resourceBindingData.m_bufferAccess); - [static_cast>(encoder) useResource:resourceBindingData.m_resourcPtr->GetGpuAddress>() - usage:resourceUsage - stages:mtlRenderStages]; - + resourceUsage |= GetBufferResourceUsage(resourceBindingData.m_bufferAccess); break; } default: @@ -502,8 +473,38 @@ namespace AZ AZ_Assert(false, "Undefined Resource type"); } } + resourcesToMakeResidentMap[resourceUsage].m_resourceArray[resourcesToMakeResidentMap[resourceUsage].m_resourceArrayLen++] = resourceBindingData.m_resourcPtr->GetGpuAddress>(); + } + } + + void ArgumentBuffer::ApplyUseResourceToGraphic(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet, GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const + { + + MTLRenderStages mtlRenderStages = GetRenderStages(visShaderMask); + MTLResourceUsage resourceUsage = MTLResourceUsageRead; + for (const auto& resourceBindingData : resourceBindingDataSet) + { + ResourceType rescType = resourceBindingData.m_resourcPtr->GetResourceType(); + switch(rescType) + { + case ResourceType::MtlTextureType: + { + resourceUsage |= GetImageResourceUsage(resourceBindingData.m_imageAccess); + break; + } + case ResourceType::MtlBufferType: + { + resourceUsage |= GetBufferResourceUsage(resourceBindingData.m_bufferAccess); + break; + } + default: + { + AZ_Assert(false, "Undefined Resource type"); + } + } + AZStd::pair key = AZStd::make_pair(resourceUsage, mtlRenderStages); + resourcesToMakeResidentMap[key].m_resourceArray[resourcesToMakeResidentMap[key].m_resourceArrayLen++] = resourceBindingData.m_resourcPtr->GetGpuAddress>(); } } - } } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h index a5a8e00e69..2434b8312d 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h @@ -119,8 +119,17 @@ namespace AZ using ResourceBindingsMap = AZStd::unordered_map; ResourceBindingsMap m_resourceBindings; - void ApplyUseResourceToCompute(id encoder, const ResourceBindingsSet& resourceBindingData) const; - void ApplyUseResourceToGraphic(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet) const; + static const int MaxEntriesInArgTable = 31; + struct MetalResourceArray + { + AZStd::array, MaxEntriesInArgTable> m_resourceArray; + int m_resourceArrayLen = 0; + }; + using ComputeResourcesToMakeResidentMap = AZStd::unordered_map; + using GraphicsResourcesToMakeResidentMap = AZStd::unordered_map, MetalResourceArray>; + + void ApplyUseResourceToCompute(id encoder, const ResourceBindingsSet& resourceBindingData, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; + void ApplyUseResourceToGraphic(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet, GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; //! Use visibility information to call UseResource on all resources for this Argument Buffer void ApplyUseResource(id encoder, const ResourceBindingsMap& resourceMap, @@ -144,8 +153,6 @@ namespace AZ #endif ShaderResourceGroupPool* m_srgPool = nullptr; - - static const int MaxEntriesInArgTable = 31; NSCache* m_samplerCache; }; } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp index 3eca8dabd8..10fbe372b1 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp @@ -258,24 +258,19 @@ namespace AZ continue; } + uint32_t srgVisIndex = pipelineLayout.GetSlotByIndex(shaderResourceGroup->GetBindingSlot()); + const RHI::ShaderStageMask& srgVisInfo = pipelineLayout.GetSrgVisibility(srgVisIndex); + if (bindings.m_srgsByIndex[srgIndex] != shaderResourceGroup) { bindings.m_srgsByIndex[srgIndex] = shaderResourceGroup; auto& compiledArgBuffer = shaderResourceGroup->GetCompiledArgumentBuffer(); - id argBuffer = compiledArgBuffer.GetArgEncoderBuffer(); size_t argBufferOffset = compiledArgBuffer.GetOffset(); - - uint32_t srgVisIndex = pipelineLayout.GetSlotByIndex(shaderResourceGroup->GetBindingSlot()); - const RHI::ShaderStageMask& srgVisInfo = pipelineLayout.GetSrgVisibility(srgVisIndex); - + if(srgVisInfo != RHI::ShaderStageMask::None) { - const ShaderResourceGroupVisibility& srgResourcesVisInfo = pipelineLayout.GetSrgResourcesVisibility(srgVisIndex); - - //For graphics and compute encoder bind the argument buffer and - //make the resource resident for the duration of the work associated with the current scope - //and ensure that it's in a format compatible with the appropriate metal function. + //For graphics and compute encoder bind the argument buffer if(m_commandEncoderType == CommandEncoderType::Render) { id renderEncoder = GetEncoder>(); @@ -293,7 +288,6 @@ namespace AZ offset:argBufferOffset atIndex:slotIndex]; } - shaderResourceGroup->AddUntrackedResourcesToEncoder(m_encoder, srgResourcesVisInfo); } else if(m_commandEncoderType == CommandEncoderType::Compute) { @@ -301,6 +295,28 @@ namespace AZ [computeEncoder setBuffer:argBuffer offset:argBufferOffset atIndex:pipelineLayout.GetSlotByIndex(srgIndex)]; + } + } + } + + //Check againgst the srg resources visibility hash as it is possible for draw items to have different PSO in the same pass. + const AZ::HashValue64 srgResourcesVisHash = pipelineLayout.GetSrgResourcesVisibilityHash(srgVisIndex); + if(bindings.m_srgVisHashByIndex[srgIndex] != srgResourcesVisHash) + { + bindings.m_srgVisHashByIndex[srgIndex] = srgResourcesVisHash; + if(srgVisInfo != RHI::ShaderStageMask::None) + { + const ShaderResourceGroupVisibility& srgResourcesVisInfo = pipelineLayout.GetSrgResourcesVisibility(srgVisIndex); + + //For graphics and compute encoder bind the argument buffer and + //make the resource resident for the duration of the work associated with the current scope + //and ensure that it's in a format compatible with the appropriate metal function. + if(m_commandEncoderType == CommandEncoderType::Render) + { + shaderResourceGroup->AddUntrackedResourcesToEncoder(m_encoder, srgResourcesVisInfo); + } + else if(m_commandEncoderType == CommandEncoderType::Compute) + { shaderResourceGroup->AddUntrackedResourcesToEncoder(m_encoder, srgResourcesVisInfo); } } @@ -447,6 +463,7 @@ namespace AZ for (size_t i = 0; i < bindings.m_srgsByIndex.size(); ++i) { bindings.m_srgsByIndex[i] = nullptr; + bindings.m_srgVisHashByIndex[i] = AZ::HashValue64{0}; } const PipelineLayout& pipelineLayout = pipelineState->GetPipelineLayout(); @@ -469,6 +486,10 @@ namespace AZ void CommandList::SetStreamBuffers(const RHI::StreamBufferView* streams, uint32_t count) { + int bufferArrayLen = 0; + AZStd::array, METAL_MAX_ENTRIES_BUFFER_ARG_TABLE> mtlStreamBuffers; + AZStd::array mtlStreamBufferOffsets; + AZ::HashValue64 streamsHash = AZ::HashValue64{0}; for (uint32_t i = 0; i < count; ++i) { @@ -479,18 +500,23 @@ namespace AZ { m_state.m_streamsHash = streamsHash; AZ_Assert(count <= METAL_MAX_ENTRIES_BUFFER_ARG_TABLE , "Slots needed cannot exceed METAL_MAX_ENTRIES_BUFFER_ARG_TABLE"); - for (uint32_t i = 0; i < count; ++i) + + NSRange range = {METAL_MAX_ENTRIES_BUFFER_ARG_TABLE - count, count}; + //For metal the stream buffers are populated from bottom to top as the top slots are taken by argument buffers + for (int i = count-1; i >= 0; --i) { if (streams[i].GetBuffer()) { const Buffer * buff = static_cast(streams[i].GetBuffer()); id mtlBuff = buff->GetMemoryView().GetGpuAddress>(); - uint32_t VBIndex = (METAL_MAX_ENTRIES_BUFFER_ARG_TABLE - 1) - i; uint32_t offset = streams[i].GetByteOffset() + buff->GetMemoryView().GetOffset(); - id renderEncoder = GetEncoder>(); - [renderEncoder setVertexBuffer: mtlBuff offset: offset atIndex: VBIndex]; + mtlStreamBuffers[bufferArrayLen] = mtlBuff; + mtlStreamBufferOffsets[bufferArrayLen] = offset; + bufferArrayLen++; } } + id renderEncoder = GetEncoder>(); + [renderEncoder setVertexBuffers: mtlStreamBuffers.data() offsets: mtlStreamBufferOffsets.data() withRange: range]; } } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h index 6660beb2c4..dd4e382471 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h @@ -99,6 +99,7 @@ namespace AZ { AZStd::array m_srgsByIndex; AZStd::array m_srgsBySlot; + AZStd::array m_srgVisHashByIndex; }; ShaderResourceBindings& GetShaderResourceBindingsByPipelineType(RHI::PipelineStateType pipelineType); diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.cpp index f237884aab..70d36f8d6d 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.cpp @@ -70,6 +70,7 @@ namespace AZ m_srgVisibilities.resize(RHI::Limits::Pipeline::ShaderResourceGroupCountMax); m_srgResourcesVisibility.resize(RHI::Limits::Pipeline::ShaderResourceGroupCountMax); + m_srgResourcesVisibilityHash.resize(RHI::Limits::Pipeline::ShaderResourceGroupCountMax); for (uint32_t srgLayoutIdx = 0; srgLayoutIdx < groupLayoutCount; ++srgLayoutIdx) { const RHI::ShaderResourceGroupLayout& srgLayout = *descriptor.GetShaderResourceGroupLayout(srgLayoutIdx); @@ -111,6 +112,7 @@ namespace AZ m_srgVisibilities[srgIndex] = mask; m_srgResourcesVisibility[srgIndex] = srgVis; + m_srgResourcesVisibilityHash[srgIndex] = srgVis.GetHash(); } // Cache the inline constant size and slot index @@ -141,6 +143,11 @@ namespace AZ return m_srgResourcesVisibility[index]; } + const AZ::HashValue64 PipelineLayout::GetSrgResourcesVisibilityHash(uint32_t index) const + { + return m_srgResourcesVisibilityHash[index]; + } + uint32_t PipelineLayout::GetRootConstantsSize() const { return m_rootConstantsSize; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.h index e8cd249393..6fd06ea29b 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.h @@ -57,6 +57,9 @@ namespace AZ /// Returns srgVisibility data const ShaderResourceGroupVisibility& GetSrgResourcesVisibility(uint32_t index) const; + /// Returns srgVisibility hash + const AZ::HashValue64 GetSrgResourcesVisibilityHash(uint32_t index) const; + /// Returns the root constant specific layout information uint32_t GetRootConstantsSize() const; uint32_t GetRootConstantsSlotIndex() const; @@ -84,6 +87,9 @@ namespace AZ /// Cache Visibility across all the resources within the SRG AZStd::fixed_vector m_srgResourcesVisibility; + /// Cache Visibility hash across all the resources within the SRG + AZStd::fixed_vector m_srgResourcesVisibilityHash; + uint32_t m_rootConstantSlotIndex = (uint32_t)-1; uint32_t m_rootConstantsSize = 0; }; From 0f90ccc0b4e78b57a07001a94f8ef219dac3fb7e Mon Sep 17 00:00:00 2001 From: antonmic Date: Fri, 4 Jun 2021 09:38:28 -0700 Subject: [PATCH 005/205] initial changes compiling --- .../DisplayMapperFullScreenPass.h | 2 +- .../Feature/DisplayMapper/DisplayMapperPass.h | 2 +- .../Atom/Feature/LuxCore/LuxCoreTexturePass.h | 2 +- .../Atom/Feature/LuxCore/RenderTexturePass.h | 2 +- .../CheckerboardColorResolvePass.cpp | 6 +- .../CheckerboardColorResolvePass.h | 2 +- .../Source/Checkerboard/CheckerboardPass.cpp | 4 +- .../Source/Checkerboard/CheckerboardPass.h | 2 +- .../CoreLights/CascadedShadowmapsPass.cpp | 8 +- .../CoreLights/CascadedShadowmapsPass.h | 2 +- .../DirectionalLightFeatureProcessor.cpp | 2 +- .../Source/CoreLights/LightCullingPass.cpp | 3 +- .../Code/Source/CoreLights/LightCullingPass.h | 3 +- .../Source/CoreLights/LightCullingRemap.cpp | 2 +- .../Source/CoreLights/LightCullingRemap.h | 2 +- .../LightCullingTilePreparePass.cpp | 25 ++-- .../CoreLights/LightCullingTilePreparePass.h | 3 +- .../CoreLights/ProjectedShadowmapsPass.cpp | 6 +- .../CoreLights/ProjectedShadowmapsPass.h | 2 +- .../Code/Source/CoreLights/ShadowmapPass.cpp | 4 +- .../Code/Source/CoreLights/ShadowmapPass.h | 2 +- .../DisplayMapperFullScreenPass.cpp | 2 +- .../DisplayMapper/DisplayMapperPass.cpp | 6 +- .../Common/Code/Source/ImGui/ImGuiPass.cpp | 4 +- .../Common/Code/Source/ImGui/ImGuiPass.h | 2 +- .../Source/LuxCore/LuxCoreTexturePass.cpp | 6 +- .../Code/Source/LuxCore/RenderTexturePass.cpp | 6 +- .../MorphTargets/MorphTargetComputePass.cpp | 2 +- .../MorphTargets/MorphTargetComputePass.h | 2 +- .../Source/PostProcessing/BloomBlurPass.cpp | 4 +- .../Source/PostProcessing/BloomBlurPass.h | 2 +- .../PostProcessing/BloomCompositePass.cpp | 4 +- .../PostProcessing/BloomCompositePass.h | 2 +- .../PostProcessing/BloomDownsamplePass.cpp | 4 +- .../PostProcessing/BloomDownsamplePass.h | 2 +- .../DepthOfFieldCopyFocusDepthToCpuPass.cpp | 2 +- .../DepthOfFieldCopyFocusDepthToCpuPass.h | 2 +- ...DepthOfFieldWriteFocusDepthFromGpuPass.cpp | 4 +- .../DepthOfFieldWriteFocusDepthFromGpuPass.h | 2 +- .../PostProcessing/EyeAdaptationPass.cpp | 2 +- .../Source/PostProcessing/EyeAdaptationPass.h | 2 +- .../LookModificationTransformPass.cpp | 4 +- .../LookModificationTransformPass.h | 2 +- .../LuminanceHistogramGeneratorPass.cpp | 2 +- .../LuminanceHistogramGeneratorPass.h | 2 +- .../Code/Source/PostProcessing/SsaoPasses.cpp | 4 +- .../Code/Source/PostProcessing/SsaoPasses.h | 2 +- .../RayTracingAccelerationStructurePass.cpp | 2 +- .../RayTracingAccelerationStructurePass.h | 2 +- .../ReflectionCopyFrameBufferPass.cpp | 4 +- .../ReflectionCopyFrameBufferPass.h | 2 +- .../ReflectionScreenSpaceBlurPass.cpp | 6 +- .../ReflectionScreenSpaceBlurPass.h | 2 +- .../ProjectedShadowFeatureProcessor.cpp | 2 +- .../Include/Atom/RPI.Public/Pass/CopyPass.h | 2 +- .../Atom/RPI.Public/Pass/MSAAResolvePass.h | 2 +- .../Include/Atom/RPI.Public/Pass/ParentPass.h | 5 +- .../Code/Include/Atom/RPI.Public/Pass/Pass.h | 50 ++++---- .../Atom/RPI.Public/Pass/PassDefines.h | 25 ++++ .../Include/Atom/RPI.Public/Pass/PassSystem.h | 21 ++-- .../RPI.Public/Pass/PassSystemInterface.h | 24 +++- .../Include/Atom/RPI.Public/Pass/RenderPass.h | 2 +- .../Pass/Specific/DownsampleMipChainPass.h | 2 +- .../Pass/Specific/EnvironmentCubeMapPass.h | 2 +- .../Pass/Specific/RenderToTexturePass.h | 2 +- .../RPI.Public/Pass/Specific/SelectorPass.h | 2 +- .../RPI.Public/Pass/Specific/SwapChainPass.h | 2 +- .../Code/Source/RPI.Public/Pass/CopyPass.cpp | 2 +- .../RPI.Public/Pass/MSAAResolvePass.cpp | 2 +- .../Source/RPI.Public/Pass/ParentPass.cpp | 25 ++-- .../RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 107 +++++++++++------- .../Source/RPI.Public/Pass/PassSystem.cpp | 89 +++++++++++---- .../Source/RPI.Public/Pass/RenderPass.cpp | 2 +- .../Pass/Specific/DownsampleMipChainPass.cpp | 4 +- .../Pass/Specific/EnvironmentCubeMapPass.cpp | 6 +- .../Pass/Specific/RenderToTexturePass.cpp | 6 +- .../RPI.Public/Pass/Specific/SelectorPass.cpp | 6 +- .../Pass/Specific/SwapChainPass.cpp | 8 +- .../Code/Source/RPI.Public/RenderPipeline.cpp | 3 +- Gems/Atom/RPI/Code/Tests/Pass/PassTests.cpp | 14 +-- 80 files changed, 361 insertions(+), 238 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperFullScreenPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperFullScreenPass.h index 94e52d41b0..23c4cd1a0a 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperFullScreenPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperFullScreenPass.h @@ -42,7 +42,7 @@ namespace AZ void SetInputReferenceAttachmentName(const Name& attachmentName); // Pass behavior overrides - virtual void BuildAttachmentsInternal() override; + virtual void BuildInternal() override; protected: explicit DisplayMapperFullScreenPass(const RPI::PassDescriptor& descriptor); diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperPass.h index 67d9eae9ae..15ada4dd94 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperPass.h @@ -76,7 +76,7 @@ namespace AZ DisplayMapperPass(const RPI::PassDescriptor& descriptor); // Pass behavior overrides - void BuildAttachmentsInternal() final; + void BuildInternal() final; void FrameBeginInternal(FramePrepareParams params) final; void FrameEndInternal() final; void CreateChildPassesInternal() final; diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/LuxCore/LuxCoreTexturePass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/LuxCore/LuxCoreTexturePass.h index 23e9c220b2..2ad2af3efd 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/LuxCore/LuxCoreTexturePass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/LuxCore/LuxCoreTexturePass.h @@ -42,7 +42,7 @@ namespace AZ protected: // Pass behavior overrides void CreateChildPassesInternal() final; - void BuildAttachmentsInternal() final; + void BuildInternal() final; void FrameBeginInternal(FramePrepareParams params) final; private: diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/LuxCore/RenderTexturePass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/LuxCore/RenderTexturePass.h index 5ae5008a92..cd148d3452 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/LuxCore/RenderTexturePass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/LuxCore/RenderTexturePass.h @@ -46,7 +46,7 @@ namespace AZ private: - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void UpdataAttachment(); diff --git a/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardColorResolvePass.cpp b/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardColorResolvePass.cpp index 3ebb6b370c..a6c440cf39 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardColorResolvePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardColorResolvePass.cpp @@ -60,7 +60,7 @@ namespace AZ Base::FrameBeginInternal(params); } - void CheckerboardColorResolvePass::BuildAttachmentsInternal() + void CheckerboardColorResolvePass::BuildInternal() { // For each bound attachments they are the inputs from current frame. // We use them to get their owner CheckerboardPass then find the render targets from last frame @@ -99,7 +99,7 @@ namespace AZ // reset frame offset to 0 since attachments are rebuilt m_frameOffset = 0; - Base::BuildAttachmentsInternal(); + Base::BuildInternal(); } void CheckerboardColorResolvePass::CompileResources(const RHI::FrameGraphCompileContext& context) @@ -135,7 +135,7 @@ namespace AZ void CheckerboardColorResolvePass::FrameEndInternal() { // For the input slots for current frame, they always get updated when CheckerboardPass updates the render targets - // But for the input slots for previous frame, we need to manually update them since they were manually attached in BuildAttachmentsInternal() + // But for the input slots for previous frame, we need to manually update them since they were manually attached in BuildInternal() // // When pass attachment was built, CheckerboardPass creates two resources for each render target. // For example, diffuse_0 and diffuse_1 which diffuse_0 is for even frame and diffuse_1 is for odd frame. diff --git a/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardColorResolvePass.h b/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardColorResolvePass.h index 8cb15d5f49..93930e2bbc 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardColorResolvePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardColorResolvePass.h @@ -52,7 +52,7 @@ namespace AZ protected: // Pass overrides... void FrameBeginInternal(FramePrepareParams params) override; - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameEndInternal() override; // Scope producer functions... diff --git a/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardPass.cpp b/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardPass.cpp index 09c69dfe18..a781c460f5 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardPass.cpp @@ -50,7 +50,7 @@ namespace AZ Base::FrameBeginInternal(params); } - void CheckerboardPass::BuildAttachmentsInternal() + void CheckerboardPass::BuildInternal() { Data::Instance pool = RPI::ImageSystemInterface::Get()->GetSystemAttachmentPool(); @@ -101,7 +101,7 @@ namespace AZ // reset frame offset to 0 since attachments are rebuilt m_frameOffset = 0; - Base::BuildAttachmentsInternal(); + Base::BuildInternal(); } diff --git a/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardPass.h b/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardPass.h index 3b905cc3db..02429bb837 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/Checkerboard/CheckerboardPass.h @@ -40,7 +40,7 @@ namespace AZ protected: // Pass overrides... void FrameBeginInternal(FramePrepareParams params); - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameEndInternal() override; private: diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.cpp index d83201533c..4c7e69f2ae 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.cpp @@ -100,7 +100,7 @@ namespace AZ m_arraySize = arraySize; m_updateChildren = true; - QueueForBuildAttachments(); + QueueForBuild(); m_atlas.Initialize(); for (size_t cascadeIndex = 0; cascadeIndex < m_arraySize; ++cascadeIndex) @@ -149,7 +149,7 @@ namespace AZ return m_atlas; } - void CascadedShadowmapsPass::BuildAttachmentsInternal() + void CascadedShadowmapsPass::BuildInternal() { UpdateChildren(); @@ -159,7 +159,7 @@ namespace AZ } UpdateShadowmapImageSize(); - Base::BuildAttachmentsInternal(); + Base::BuildInternal(); } void CascadedShadowmapsPass::GetPipelineViewTags(RPI::SortedPipelineViewTags& outTags) const @@ -215,7 +215,7 @@ namespace AZ AZ_RPI_PASS_WARNING(child, "CascadedShadowmapsPass child Pass creation failed for %d", cascadeIndex); if (child) { - child->QueueForBuildAttachments(); + child->QueueForBuild(); AddChild(child); } } diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.h b/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.h index aa95e0af44..772be9466d 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.h @@ -53,7 +53,7 @@ namespace AZ explicit CascadedShadowmapsPass(const RPI::PassDescriptor& descriptor); // RPI::Pass overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; void GetPipelineViewTags(RPI::SortedPipelineViewTags& outTags) const override; void GetViewDrawListInfo(RHI::DrawListMask& outDrawListMask, RPI::PassesByDrawList& outPassesByDrawList, const RPI::PipelineViewTag& viewTag) const override; diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp index 9b40097716..cdbe431949 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp @@ -1106,7 +1106,7 @@ namespace AZ { for (EsmShadowmapsPass* pass : it.second) { - pass->QueueForBuildAttachments(); + pass->QueueForBuild(); } } } diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingPass.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingPass.cpp index 987ed299b3..88a063b499 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingPass.cpp @@ -163,7 +163,6 @@ namespace AZ void LightCullingPass::ResetInternal() { - m_initialized = false; m_tileDataIndex = -1; m_constantDataIndex.Reset(); @@ -260,7 +259,7 @@ namespace AZ return gridPixelSize; } - void LightCullingPass::BuildAttachmentsInternal() + void LightCullingPass::BuildInternal() { m_tileDataIndex = FindInputBinding(AZ::Name("TileLightData")); CreateLightList(); diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingPass.h b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingPass.h index d8699ea0c7..8080379716 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingPass.h @@ -50,7 +50,7 @@ namespace AZ // Pass behavior overrides... void ResetInternal()override; - void BuildAttachmentsInternal() override; + void BuildInternal() override; // Scope producer functions... void CompileResources(const RHI::FrameGraphCompileContext& context) override; @@ -96,7 +96,6 @@ namespace AZ AZ::RHI::ShaderInputNameIndex m_constantDataIndex = "m_constantData"; - bool m_initialized = false; Data::Instance m_lightList; uint32_t m_tileDataIndex = -1; diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingRemap.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingRemap.cpp index 42882cec6e..a12ba48751 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingRemap.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingRemap.cpp @@ -108,7 +108,7 @@ namespace AZ return -1; } - void LightCullingRemap::BuildAttachmentsInternal() + void LightCullingRemap::BuildInternal() { m_tileDataIndex = FindInputOutputBinding(AZ::Name("TileLightData")); m_tileDim = GetTileDataBufferResolution(); diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingRemap.h b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingRemap.h index 0738acd459..6d60f93a64 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingRemap.h +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingRemap.h @@ -55,7 +55,7 @@ namespace AZ // Pass behavior overrides... void ResetInternal()override; - void BuildAttachmentsInternal() override; + void BuildInternal() override; // RHI::ScopeProducer overrides... void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override; diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.cpp index 816ef25bc6..c144525cec 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.cpp @@ -167,37 +167,36 @@ namespace AZ AZ_Assert(setOk, "LightCullingTilePreparePass::SetConstantData() - could not set constant data"); } - void LightCullingTilePreparePass::BuildAttachmentsInternal() + void LightCullingTilePreparePass::BuildInternal() { ChooseShaderVariant(); } - void LightCullingTilePreparePass::OnShaderReinitialized(const AZ::RPI::Shader&) + void LightCullingTilePreparePass::OnShaderReloaded() { LoadShader(); - if (!m_flags.m_queuedForBuildAttachment && !m_flags.m_isBuildingAttachments) + AZ_Assert(GetPassState() != RPI::PassState::Rendering, "LightCullingTilePreparePass: Trying to reload shader during rendering"); + if (GetPassState() == RPI::PassState::Initialized) { ChooseShaderVariant(); } } + + void LightCullingTilePreparePass::OnShaderReinitialized(const AZ::RPI::Shader&) + { + OnShaderReloaded(); + } + void LightCullingTilePreparePass::OnShaderAssetReinitialized(const Data::Asset&) { - LoadShader(); - if (!m_flags.m_queuedForBuildAttachment && !m_flags.m_isBuildingAttachments) - { - ChooseShaderVariant(); - } + OnShaderReloaded(); } void LightCullingTilePreparePass::OnShaderVariantReinitialized( const AZ::RPI::Shader&, const AZ::RPI::ShaderVariantId&, AZ::RPI::ShaderVariantStableId) { - LoadShader(); - if (!m_flags.m_queuedForBuildAttachment && !m_flags.m_isBuildingAttachments) - { - ChooseShaderVariant(); - } + OnShaderReloaded(); } } // namespace Render diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.h b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.h index efba105912..0febb66e3d 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.h @@ -50,7 +50,7 @@ namespace AZ LightCullingTilePreparePass(const RPI::PassDescriptor& descriptor); // Pass behavior overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; /////////////////////////////////////////////////////////////////// // ShaderReloadNotificationBus overrides... @@ -73,6 +73,7 @@ namespace AZ const AZ::RPI::ShaderVariant& CreateShaderVariant(); void CreatePipelineStateFromShaderVariant(const RPI::ShaderVariant& shaderVariant); void SetConstantData(); + void OnShaderReloaded(); AZ::RHI::ShaderInputNameIndex m_constantDataIndex = "m_constantData"; diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.cpp index d77419fe8f..87cacbb345 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.cpp @@ -73,7 +73,7 @@ namespace AZ { m_sizes = sizes; m_updateChildren = true; - QueueForBuildAttachments(); + QueueForBuild(); m_atlas.Initialize(); for (const auto& it : m_sizes) @@ -156,7 +156,7 @@ namespace AZ return m_atlas; } - void ProjectedShadowmapsPass::BuildAttachmentsInternal() + void ProjectedShadowmapsPass::BuildInternal() { UpdateChildren(); @@ -177,7 +177,7 @@ namespace AZ imageDescriptor.m_size = RHI::Size(shadowmapWidth, shadowmapWidth, 1); imageDescriptor.m_arraySize = m_atlas.GetArraySliceCount(); - Base::BuildAttachmentsInternal(); + Base::BuildInternal(); } void ProjectedShadowmapsPass::GetPipelineViewTags(RPI::SortedPipelineViewTags& outTags) const diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.h b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.h index 63640d22c6..f1963cc885 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.h @@ -71,7 +71,7 @@ namespace AZ explicit ProjectedShadowmapsPass(const RPI::PassDescriptor& descriptor); // RPI::Pass overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; void GetPipelineViewTags(RPI::SortedPipelineViewTags& outTags) const override; void GetViewDrawListInfo(RHI::DrawListMask& outDrawListMask, RPI::PassesByDrawList& outPassesByDrawList, const RPI::PipelineViewTag& viewTag) const override; diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ShadowmapPass.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ShadowmapPass.cpp index 087a73a94d..d31947da5a 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ShadowmapPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ShadowmapPass.cpp @@ -107,7 +107,7 @@ namespace AZ m_scissorState = scissor; } - void ShadowmapPass::BuildAttachmentsInternal() + void ShadowmapPass::BuildInternal() { RPI::Ptr parentPass = GetParent(); if (!parentPass) @@ -135,7 +135,7 @@ namespace AZ action.m_loadAction = m_clearEnabled ? RHI::AttachmentLoadAction::Clear : RHI::AttachmentLoadAction::DontCare; binding.m_unifiedScopeDesc = RHI::UnifiedScopeAttachmentDescriptor(attachmentId, imageViewDescriptor, action); - Base::BuildAttachmentsInternal(); + Base::BuildInternal(); } } // namespace Render diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ShadowmapPass.h b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ShadowmapPass.h index 9c308dc4df..2814761a69 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ShadowmapPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ShadowmapPass.h @@ -58,7 +58,7 @@ namespace AZ explicit ShadowmapPass(const RPI::PassDescriptor& descriptor); // RHI::Pass overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; uint16_t m_arraySlice = 0; bool m_clearEnabled = true; diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperFullScreenPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperFullScreenPass.cpp index ba83fabed3..096179d5b6 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperFullScreenPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperFullScreenPass.cpp @@ -34,7 +34,7 @@ namespace AZ { } - void DisplayMapperFullScreenPass::BuildAttachmentsInternal() + void DisplayMapperFullScreenPass::BuildInternal() { RPI::PassConnection inConnection; inConnection.m_localSlot = InputAttachmentName; diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp index 8ae790e12c..be3e05163a 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp @@ -46,8 +46,6 @@ namespace AZ DisplayMapperPass::DisplayMapperPass(const RPI::PassDescriptor& descriptor) : RPI::ParentPass(descriptor) { - m_flags.m_alreadyCreated = false; - AzFramework::NativeWindowHandle windowHandle = nullptr; AzFramework::WindowSystemRequestBus::BroadcastResult( windowHandle, @@ -137,7 +135,7 @@ namespace AZ } } - void DisplayMapperPass::BuildAttachmentsInternal() + void DisplayMapperPass::BuildInternal() { const Name outputName = Name{ "Output" }; Name inputPass = Name{ "Parent" }; @@ -187,7 +185,7 @@ namespace AZ m_swapChainAttachmentBinding = FindAttachmentBinding(Name("SwapChainOutput")); - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); } void DisplayMapperPass::FrameBeginInternal(FramePrepareParams params) diff --git a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp index a29354f723..fe5d9a16fe 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp @@ -519,13 +519,13 @@ namespace AZ io.Fonts->TexID = reinterpret_cast(m_fontAtlas.get()); } - void ImGuiPass::OnBuildAttachmentsFinishedInternal() + void ImGuiPass::OnBuildFinishedInternal() { // Set output format and finalize pipeline state m_pipelineState->SetOutputFromPass(this); m_pipelineState->Finalize(); - Base::OnBuildAttachmentsFinishedInternal(); + Base::OnBuildFinishedInternal(); } void ImGuiPass::SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) diff --git a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h index c8be0d7ee6..30449820bb 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h @@ -94,7 +94,7 @@ namespace AZ explicit ImGuiPass(const RPI::PassDescriptor& descriptor); // Pass Behaviour Overrides... - void OnBuildAttachmentsFinishedInternal() override; + void OnBuildFinishedInternal() override; void FrameBeginInternal(FramePrepareParams params) override; // Scope producer functions diff --git a/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp b/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp index 9a921205ab..3c7233e747 100644 --- a/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp @@ -28,8 +28,6 @@ namespace AZ LuxCoreTexturePass::LuxCoreTexturePass(const RPI::PassDescriptor& descriptor) : ParentPass(descriptor) { - m_flags.m_alreadyCreated = false; - RPI::PassSystemInterface* passSystem = RPI::PassSystemInterface::Get(); // Create render target pass @@ -61,9 +59,9 @@ namespace AZ AddChild(m_renderTargetPass); } - void LuxCoreTexturePass::BuildAttachmentsInternal() + void LuxCoreTexturePass::BuildInternal() { - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); } void LuxCoreTexturePass::FrameBeginInternal(FramePrepareParams params) diff --git a/Gems/Atom/Feature/Common/Code/Source/LuxCore/RenderTexturePass.cpp b/Gems/Atom/Feature/Common/Code/Source/LuxCore/RenderTexturePass.cpp index 0782e12278..aa991e270a 100644 --- a/Gems/Atom/Feature/Common/Code/Source/LuxCore/RenderTexturePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/LuxCore/RenderTexturePass.cpp @@ -38,13 +38,13 @@ namespace AZ m_attachmentSize = image->GetRHIImage()->GetDescriptor().m_size; m_attachmentFormat = format; m_shaderResourceGroup->SetImage(m_textureIndex, image); - QueueForBuildAttachments(); + QueueForBuild(); } - void RenderTexturePass::BuildAttachmentsInternal() + void RenderTexturePass::BuildInternal() { UpdataAttachment(); - FullscreenTrianglePass::BuildAttachmentsInternal(); + FullscreenTrianglePass::BuildInternal(); } void RenderTexturePass::FrameBeginInternal(FramePrepareParams params) diff --git a/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetComputePass.cpp b/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetComputePass.cpp index 1bb537ecef..42acd5c447 100644 --- a/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetComputePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetComputePass.cpp @@ -44,7 +44,7 @@ namespace AZ m_skinnedMeshFeatureProcessor = skinnedMeshFeatureProcessor; } - void MorphTargetComputePass::BuildAttachmentsInternal() + void MorphTargetComputePass::BuildInternal() { // The same buffer that skinning writes to is used to manage the computed vertex deltas that are passed from the // morph target pass to the skinning pass. This simplifies things by only requiring one class to manage the memory diff --git a/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetComputePass.h b/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetComputePass.h index 61fa485fbc..d346edd908 100644 --- a/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetComputePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetComputePass.h @@ -37,7 +37,7 @@ namespace AZ void SetFeatureProcessor(SkinnedMeshFeatureProcessor* m_skinnedMeshFeatureProcessor); private: - void BuildAttachmentsInternal() override; + void BuildInternal() override; void BuildCommandListInternal(const RHI::FrameGraphExecuteContext& context) override; SkinnedMeshFeatureProcessor* m_skinnedMeshFeatureProcessor = nullptr; diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomBlurPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomBlurPass.cpp index 1427adeb08..af95a76718 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomBlurPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomBlurPass.cpp @@ -252,10 +252,10 @@ namespace AZ } } - void BloomBlurPass::BuildAttachmentsInternal() + void BloomBlurPass::BuildInternal() { BuildChildPasses(); - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); } void BloomBlurPass::FrameBeginInternal(FramePrepareParams params) diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomBlurPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomBlurPass.h index e87d831382..4c65368506 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomBlurPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomBlurPass.h @@ -47,7 +47,7 @@ namespace AZ BloomBlurPass(const RPI::PassDescriptor& descriptor); // Pass behaviour overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void GetInputInfo(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomCompositePass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomCompositePass.cpp index fbb020cbf3..810353aab1 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomCompositePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomCompositePass.cpp @@ -56,10 +56,10 @@ namespace AZ m_passData = *passData; } - void BloomCompositePass::BuildAttachmentsInternal() + void BloomCompositePass::BuildInternal() { BuildChildPasses(); - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); } void BloomCompositePass::FrameBeginInternal(FramePrepareParams params) diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomCompositePass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomCompositePass.h index 86d897ae7d..a19947e1d0 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomCompositePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomCompositePass.h @@ -44,7 +44,7 @@ namespace AZ BloomCompositePass(const RPI::PassDescriptor& descriptor); // Pass behaviour overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void GetAttachmentInfo(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomDownsamplePass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomDownsamplePass.cpp index 647177a1ce..63779beb16 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomDownsamplePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomDownsamplePass.cpp @@ -74,10 +74,10 @@ namespace AZ AddAttachmentBinding(outBinding); } - ComputePass::BuildAttachmentsInternal(); + ComputePass::BuildInternal(); } - void BloomDownsamplePass::BuildAttachmentsInternal() + void BloomDownsamplePass::BuildInternal() { BuildOutAttachmentBinding(); } diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomDownsamplePass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomDownsamplePass.h index 824f703417..3eb0ac8740 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomDownsamplePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BloomDownsamplePass.h @@ -37,7 +37,7 @@ namespace AZ BloomDownsamplePass(const RPI::PassDescriptor& descriptor); // Pass Behaviour Overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void BuildOutAttachmentBinding(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCopyFocusDepthToCpuPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCopyFocusDepthToCpuPass.cpp index d64bba1957..00d5ad93c3 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCopyFocusDepthToCpuPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCopyFocusDepthToCpuPass.cpp @@ -52,7 +52,7 @@ namespace AZ return depth; } - void DepthOfFieldCopyFocusDepthToCpuPass::BuildAttachmentsInternal() + void DepthOfFieldCopyFocusDepthToCpuPass::BuildInternal() { SetScopeId(RHI::ScopeId(GetPathName())); } diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCopyFocusDepthToCpuPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCopyFocusDepthToCpuPass.h index 64301b6e0c..7e8d041e96 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCopyFocusDepthToCpuPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCopyFocusDepthToCpuPass.h @@ -48,7 +48,7 @@ namespace AZ void BuildCommandList(const RHI::FrameGraphExecuteContext& context) override; // Pass overrides - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; RPI::Ptr m_bufferRef; diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldWriteFocusDepthFromGpuPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldWriteFocusDepthFromGpuPass.cpp index e7ac891198..4aaf936426 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldWriteFocusDepthFromGpuPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldWriteFocusDepthFromGpuPass.cpp @@ -62,9 +62,9 @@ namespace AZ m_bufferRef = bufferRef; } - void DepthOfFieldWriteFocusDepthFromGpuPass::BuildAttachmentsInternal() + void DepthOfFieldWriteFocusDepthFromGpuPass::BuildInternal() { - AZ_Assert(m_bufferRef != nullptr, "%s has a null buffer when calling BuildAttachmentsInternal.", GetPathName().GetCStr()); + AZ_Assert(m_bufferRef != nullptr, "%s has a null buffer when calling BuildInternal.", GetPathName().GetCStr()); AttachBufferToSlot(Name("DofDepthInputOutput"), m_bufferRef); } diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldWriteFocusDepthFromGpuPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldWriteFocusDepthFromGpuPass.h index 592ab64c01..881ef9df94 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldWriteFocusDepthFromGpuPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldWriteFocusDepthFromGpuPass.h @@ -51,7 +51,7 @@ namespace AZ void CompileResources(const RHI::FrameGraphCompileContext& context) override; // Pass overrides - void BuildAttachmentsInternal() override; + void BuildInternal() override; }; } // namespace Render } // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/EyeAdaptationPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/EyeAdaptationPass.cpp index e7d4c47f02..879abf6418 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/EyeAdaptationPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/EyeAdaptationPass.cpp @@ -62,7 +62,7 @@ namespace AZ m_buffer = RPI::BufferSystemInterface::Get()->CreateBufferFromCommonPool(desc); } - void EyeAdaptationPass::BuildAttachmentsInternal() + void EyeAdaptationPass::BuildInternal() { if (!m_buffer) { diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/EyeAdaptationPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/EyeAdaptationPass.h index cef168a122..d53569a9f9 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/EyeAdaptationPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/EyeAdaptationPass.h @@ -58,7 +58,7 @@ namespace AZ float m_exposureValue = 1.0f; }; - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationTransformPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationTransformPass.cpp index 98c842042b..9f792370fc 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationTransformPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationTransformPass.cpp @@ -36,10 +36,10 @@ namespace AZ &AzFramework::WindowSystemRequestBus::Events::GetDefaultWindowHandle); } - void LookModificationPass::BuildAttachmentsInternal() + void LookModificationPass::BuildInternal() { m_swapChainAttachmentBinding = FindAttachmentBinding(Name("SwapChainOutput")); - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); } void LookModificationPass::FrameBeginInternal([[maybe_unused]] FramePrepareParams params) diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationTransformPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationTransformPass.h index 5102015e82..8203530918 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationTransformPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationTransformPass.h @@ -52,7 +52,7 @@ namespace AZ //! Pass overrides ... void FrameBeginInternal(FramePrepareParams params) override; - void BuildAttachmentsInternal() override; + void BuildInternal() override; private: const RPI::PassAttachmentBinding* m_swapChainAttachmentBinding = nullptr; diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.cpp index 758c21bc4e..2fe8b01089 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.cpp @@ -86,7 +86,7 @@ namespace AZ return colorBuffer->m_descriptor.m_image.m_size; } - void LuminanceHistogramGeneratorPass::BuildAttachmentsInternal() + void LuminanceHistogramGeneratorPass::BuildInternal() { CreateHistogramBuffer(); AttachHistogramBuffer(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.h index ee8a10fe16..9691daab6f 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LuminanceHistogramGeneratorPass.h @@ -42,7 +42,7 @@ namespace AZ protected: LuminanceHistogramGeneratorPass(const RPI::PassDescriptor& descriptor); - virtual void BuildAttachmentsInternal() override; + virtual void BuildInternal() override; void CreateHistogramBuffer(); void AttachHistogramBuffer(); AZ::RHI::Size GetColorBufferResolution(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.cpp index 68472115ce..1aa16a4417 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.cpp @@ -41,9 +41,9 @@ namespace AZ return ParentPass::IsEnabled(); } - void SsaoParentPass::OnBuildAttachmentsFinishedInternal() + void SsaoParentPass::OnBuildFinishedInternal() { - ParentPass::OnBuildAttachmentsFinishedInternal(); + ParentPass::OnBuildFinishedInternal(); m_blurParentPass = FindChildPass(Name("SsaoBlur"))->AsParent(); AZ_Assert(m_blurParentPass, "[SsaoParentPass] Could not retrieve parent blur pass."); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.h index 9abd04e306..20aa554414 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.h @@ -36,7 +36,7 @@ namespace AZ protected: // Behavior functions override... - void OnBuildAttachmentsFinishedInternal() override; + void OnBuildFinishedInternal() override; void FrameBeginInternal(FramePrepareParams params) override; private: diff --git a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingAccelerationStructurePass.cpp b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingAccelerationStructurePass.cpp index 92cd41b4e8..f1fcd2de35 100644 --- a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingAccelerationStructurePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingAccelerationStructurePass.cpp @@ -42,7 +42,7 @@ namespace AZ } } - void RayTracingAccelerationStructurePass::BuildAttachmentsInternal() + void RayTracingAccelerationStructurePass::BuildInternal() { SetScopeId(RHI::ScopeId(GetPathName())); } diff --git a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingAccelerationStructurePass.h b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingAccelerationStructurePass.h index 6d90d752e3..127669301e 100644 --- a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingAccelerationStructurePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingAccelerationStructurePass.h @@ -44,7 +44,7 @@ namespace AZ void BuildCommandList(const RHI::FrameGraphExecuteContext& context) override; // Pass overrides - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; // buffer view descriptor for the TLAS diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.cpp b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.cpp index 5137b66bf9..9a9064bdf7 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.cpp @@ -30,7 +30,7 @@ namespace AZ { } - void ReflectionCopyFrameBufferPass::BuildAttachmentsInternal() + void ReflectionCopyFrameBufferPass::BuildInternal() { RPI::PassHierarchyFilter passFilter(AZ::Name("ReflectionScreenSpaceBlurPass")); const AZStd::vector& passes = RPI::PassSystemInterface::Get()->FindPasses(passFilter); @@ -43,7 +43,7 @@ namespace AZ AttachImageToSlot(outputBinding.m_name, frameBufferAttachment); } - FullscreenTrianglePass::BuildAttachmentsInternal(); + FullscreenTrianglePass::BuildInternal(); } } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.h b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.h index 2a2fecea40..f0b8c80d72 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.h @@ -37,7 +37,7 @@ namespace AZ explicit ReflectionCopyFrameBufferPass(const RPI::PassDescriptor& descriptor); // Pass Overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; }; } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.cpp b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.cpp index 883686ac5b..680d117b98 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.cpp @@ -113,7 +113,7 @@ namespace AZ } } - void ReflectionScreenSpaceBlurPass::BuildAttachmentsInternal() + void ReflectionScreenSpaceBlurPass::BuildInternal() { RemoveChildren(); @@ -166,9 +166,9 @@ namespace AZ // create child passes, one vertical and one horizontal blur per mip level CreateChildPasses(mipLevels - 1); - // call ParentPass::BuildAttachmentsInternal() first to configure the slots and auto-add the empty bindings, + // call ParentPass::BuildInternal() first to configure the slots and auto-add the empty bindings, // then we will assign attachments to the bindings - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); // setup attachment bindings on vertical blur child passes uint32_t attachmentIndex = 0; diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h index 53f4026aef..f344fc8e9b 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h @@ -44,7 +44,7 @@ namespace AZ // Pass Overrides... void ResetInternal() override; - void BuildAttachmentsInternal() override; + void BuildInternal() override; AZStd::vector> m_verticalBlurChildPasses; AZStd::vector> m_horizontalBlurChildPasses; diff --git a/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp index 216a126953..8484fdddc2 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp @@ -526,7 +526,7 @@ namespace AZ::Render for (EsmShadowmapsPass* esmPass : m_esmShadowmapsPasses) { - esmPass->QueueForBuildAttachments(); + esmPass->QueueForBuild(); } for (ProjectedShadowmapsPass* shadowPass : m_projectedShadowmapsPasses) diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/CopyPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/CopyPass.h index ede14564cd..fd5cdabc83 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/CopyPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/CopyPass.h @@ -49,7 +49,7 @@ namespace AZ void CopyImageToBuffer(const RHI::FrameGraphCompileContext& context); // Pass behavior overrides - void BuildAttachmentsInternal() override; + void BuildInternal() override; // Scope producer functions... void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/MSAAResolvePass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/MSAAResolvePass.h index 91ae1536c3..71776982b3 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/MSAAResolvePass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/MSAAResolvePass.h @@ -40,7 +40,7 @@ namespace AZ MSAAResolvePass(const PassDescriptor& descriptor); // Pass behavior overrides... - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; private: diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h index b4f63a7099..0e1e12e620 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h @@ -109,8 +109,9 @@ namespace AZ // --- Pass Behaviour Overrides --- void ResetInternal() override; - void BuildAttachmentsInternal() override; - void OnBuildAttachmentsFinishedInternal() override; + void BuildInternal() override; + void OnBuildFinishedInternal() override; + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void FrameEndInternal() override; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index 1cba71ae7e..ee7f850d27 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -80,7 +80,7 @@ namespace AZ //! ending with 'Internal' to define the behavior of your passes. These virtual are recursively //! called in Preorder order throughout the pass tree. Only FramePrepare and FrameEnd are //! guaranteed to be called per frame. The other override-able functions are called as needed - //! when scheduled with the PassSystem. See QueueForBuildAttachments and QueueForRemoval. + //! when scheduled with the PassSystem. See QueueForBuild and QueueForRemoval. //! //! Passes are created by the PassFactory. They can be created using either Pass Name, //! a PassTemplate, or a PassRequest. To register your pass class with the PassFactory, @@ -153,11 +153,14 @@ namespace AZ // --- Utility functions --- - //! Queues the pass to have BuildAttachments() called by the PassSystem on frame update - void QueueForBuildAttachments(); + //! Queues the pass to have Build() called by the PassSystem on frame update + void QueueForBuild(); //! Queues the pass to have RemoveFromParent() called by the PassSystem on frame update - void QueueForRemoval(bool needsDeletion = false); + void QueueForRemoval(); + + //! Queues the pass to have Initialize() called by the PassSystem on frame update + void QueueForInitialization(); //! Adds an attachment binding to the list of this Pass' attachment bindings void AddAttachmentBinding(PassAttachmentBinding attachmentBinding); @@ -173,8 +176,8 @@ namespace AZ //! Attach an external buffer resource as attachment to specified slot //! The buffer will be added as a pass attachment then attach to the pass slot - //! Note: the pass attachment and binding will be removed after the general BuildAttachments call. - //! you can add this call in pass' BuildAttachmentsInternal so it will be added whenever attachments get rebuilt + //! Note: the pass attachment and binding will be removed after the general Build call. + //! you can add this call in pass' BuildInternal so it will be added whenever attachments get rebuilt void AttachBufferToSlot(AZStd::string_view slot, Data::Instance buffer); void AttachBufferToSlot(const Name& slot, Data::Instance buffer); void AttachImageToSlot(const Name& slot, Data::Instance image); @@ -256,6 +259,8 @@ namespace AZ //! Returns pointer to the parent pass ParentPass* GetParent() const; + PassState GetPassState() const; + protected: explicit Pass(const PassDescriptor& descriptor); @@ -309,18 +314,23 @@ namespace AZ // customize it's behavior, hence why these functions are called the pass behavior functions. // Resets everything in the pass (like Attachments). - // Called from PassSystem when pass is QueueForBuildAttachments. + // Called from PassSystem when pass is QueueForBuild. void Reset(); virtual void ResetInternal() { } // Builds and sets up any attachments and input/output connections the pass needs. - // Called from PassSystem when pass is QueueForBuildAttachments. - void BuildAttachments(); - virtual void BuildAttachmentsInternal() { } + // Called from PassSystem when pass is QueueForBuild. + void Build(); + virtual void BuildInternal() { } // Called after the pass build phase has finished. Allows passes to reset build flags. - void OnBuildAttachmentsFinished(); - virtual void OnBuildAttachmentsFinishedInternal() { }; + void OnBuildFinished(); + virtual void OnBuildFinishedInternal() { }; + + // Allows for additional pass initialization between building and rendering + // Can be queued independently of Build so as to only invoke Initialize without Build + void Initialize(); + virtual void InitializeInternal() { }; // The Pass's 'Render' function. Called every frame, here the pass sets up it's rendering logic with // the FrameGraphBuilder. This is where your derived pass needs to call ImportScopeProducer on @@ -379,20 +389,16 @@ namespace AZ struct { uint64_t m_createdByPassRequest : 1; - uint64_t m_initialized : 1; uint64_t m_enabled : 1; uint64_t m_parentEnabled : 1; - uint64_t m_alreadyCreated : 1; - uint64_t m_alreadyReset : 1; - uint64_t m_alreadyPrepared : 1; + + uint64_t m_initialized : 1; + uint64_t m_partOfHierarchy : 1; uint64_t m_hasDrawListTag : 1; uint64_t m_hasPipelineViewTag : 1; - uint64_t m_queuedForBuildAttachment : 1; uint64_t m_timestampQueryEnabled : 1; uint64_t m_pipelineStatisticsQueryEnabled : 1; - uint64_t m_isBuildingAttachments : 1; - uint64_t m_isRendering : 1; }; uint64_t m_allFlags = 0; }; @@ -510,6 +516,12 @@ namespace AZ // Depth of the tree hierarchy this pass is at. // Example: Root would be depth 0, Root.Ssao.Downsample depth 2 uint32_t m_treeDepth = 0; + + // Used to track what phase of build/execution the pass is in + PassState m_state = PassState::Uninitialized; + + // Used to track what phases of build/initialization the pass is queued for + PassQueueState m_queueState = PassQueueState::NoQueue; }; //! Struct used to return results from Pass hierarchy validation diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h index d536104768..7c55944603 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h @@ -21,3 +21,28 @@ // Set this to 1 locally on your machine to facilitate pass debugging and get extra information // about passes in the output window. DO NOT SUBMIT with value set to 1 #define AZ_RPI_ENABLE_PASS_DEBUGGING 0 + +namespace AZ +{ + namespace RPI + { + enum class PassState : u8 + { + Uninitialized, + Queued, + Resetting, + Building, + Initializing, + Initialized, + Rendering + }; + + enum class PassQueueState : u8 + { + NoQueue, + QueuedForRemoval, + QueuedForBuild, + QueuedForInitialization, + }; + } +} diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystem.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystem.h index fd30f4f406..534bf211dd 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystem.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystem.h @@ -73,12 +73,12 @@ namespace AZ bool LoadPassTemplateMappings(const AZStd::string& templateMappingPath) override; void WriteTemplateToFile(const PassTemplate& passTemplate, AZStd::string_view assetFilePath) override; void DebugPrintPassHierarchy() override; - bool IsBuilding() const override; bool IsHotReloading() const override; void SetHotReloading(bool hotReloading) override; void SetTargetedPassDebuggingName(const AZ::Name& targetPassName) override; const AZ::Name& GetTargetedPassDebuggingName() const override; void ConnectEvent(OnReadyLoadTemplatesEvent::Handler& handler) override; + PassSystemState GetState() const override; // PassSystemInterface factory related functions... void AddPassCreator(Name className, PassCreator createFunction) override; @@ -103,8 +103,11 @@ namespace AZ // Returns the root of the pass tree hierarchy const Ptr& GetRootPass() override; - // Calls BuildAttachments() on passes queued in m_buildAttachmentsList - void BuildPassAttachments(); + // Calls Build() on passes queued in m_buildPassList + void BuildPasses(); + + // Calls Initialize() on passes queued in m_initializePassList + void InitializePasses(); // Validates Pass Hierarchy after building void Validate(); @@ -113,13 +116,15 @@ namespace AZ void RemovePasses(); // Functions for queuing passes in the lists below - void QueueForBuildAttachments(Pass* pass) override; + void QueueForBuild(Pass* pass) override; void QueueForRemoval(Pass* pass) override; + void QueueForInitialization(Pass* pass) override; // Lists for queuing passes for various function calls // Name of the list reflects the pass function it will call - AZStd::vector< Ptr > m_buildAttachmentsList; + AZStd::vector< Ptr > m_buildPassList; AZStd::vector< Ptr > m_removePassList; + AZStd::vector< Ptr > m_initializePassList; // Library of pass descriptors that can be instantiated through data driven pass requests PassLibrary m_passLibrary; @@ -133,9 +138,6 @@ namespace AZ // Whether the Pass Hierarchy changed bool m_passHierarchyChanged = true; - // Whether the Pass System is currently in it's building phase - bool m_isBuilding = false; - // Whether the Pass System is currently hot reloading passes bool m_isHotReloading = false; @@ -147,6 +149,9 @@ namespace AZ // Events OnReadyLoadTemplatesEvent m_loadTemplatesEvent; + + // Used to track what phase of execution the pass system is in + PassSystemState m_state = PassSystemState::Unitialized; }; } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystemInterface.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystemInterface.h index 1224bf9545..788d00c8eb 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystemInterface.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystemInterface.h @@ -40,6 +40,18 @@ namespace AZ using PassCreator = AZStd::function(const PassDescriptor& descriptor)>; + enum class PassSystemState : u32 + { + Unitialized, + Idle, + RemovingPasses, + Building, + Initializing, + Validating, + Rendering, + FrameEnd, + }; + class PassSystemInterface { friend class Pass; @@ -77,9 +89,6 @@ namespace AZ //! Prints the entire pass hierarchy from the root virtual void DebugPrintPassHierarchy() = 0; - //! Returns whether the Pass System is currently in it's build phase - virtual bool IsBuilding() const = 0; - //! Returns whether the Pass System is currently hot reloading virtual bool IsHotReloading() const = 0; @@ -157,15 +166,20 @@ namespace AZ //! The handler can add new pass templates or load pass template mappings from assets virtual void ConnectEvent(OnReadyLoadTemplatesEvent::Handler& handler) = 0; + virtual PassSystemState GetState() const = 0; + private: // These functions are only meant to be used by the Pass class - // Schedules a pass to have it's BuildAttachments() function called during frame update - virtual void QueueForBuildAttachments(Pass* pass) = 0; + // Schedules a pass to have it's Build() function called during frame update + virtual void QueueForBuild(Pass* pass) = 0; // Schedules a pass to be deleted during frame update virtual void QueueForRemoval(Pass* pass) = 0; + // Schedules a pass to be initialized during frame update + virtual void QueueForInitialization(Pass* pass) = 0; + //! Registers the pass with the pass library. Called in the Pass constructor. virtual void RegisterPass(Pass* pass) = 0; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/RenderPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/RenderPass.h index 5cd917e841..5f222d8bba 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/RenderPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/RenderPass.h @@ -96,7 +96,7 @@ namespace AZ void BindPassSrg(const RHI::FrameGraphCompileContext& context, Data::Instance& shaderResourceGroup); // Pass behavior overrides... - void OnBuildAttachmentsFinishedInternal() override; + void OnBuildFinishedInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void FrameEndInternal() override; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/DownsampleMipChainPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/DownsampleMipChainPass.h index 71c1fe4c49..eb4c4ed0aa 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/DownsampleMipChainPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/DownsampleMipChainPass.h @@ -46,7 +46,7 @@ namespace AZ // Pass Behaviour Overrides... void ResetInternal() override; - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; private: diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.h index 293a750f38..235871df83 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.h @@ -61,7 +61,7 @@ namespace AZ // Pass overrides void CreateChildPassesInternal() override; - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void FrameEndInternal() override; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/RenderToTexturePass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/RenderToTexturePass.h index c8daab8ef8..c86203b79b 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/RenderToTexturePass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/RenderToTexturePass.h @@ -47,7 +47,7 @@ namespace AZ protected: // Pass behavior overrides - void BuildAttachmentsInternal() override; + void BuildInternal() override; void FrameBeginInternal(FramePrepareParams params) override; // Function to be called when output size changed diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/SelectorPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/SelectorPass.h index fe0ce231eb..2d876c6040 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/SelectorPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/SelectorPass.h @@ -49,7 +49,7 @@ namespace AZ SelectorPass(const PassDescriptor& descriptor); // Pass behavior overrides - void BuildAttachmentsInternal() final; + void BuildInternal() final; // the input slot index each output slot connect to AZStd::vector m_connections; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/SwapChainPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/SwapChainPass.h index 9aa00c99c2..7eac0d366d 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/SwapChainPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Specific/SwapChainPass.h @@ -64,7 +64,7 @@ namespace AZ protected: // Pass behavior overrides void CreateChildPassesInternal() override final; - void BuildAttachmentsInternal() override final; + void BuildInternal() override final; void FrameBeginInternal(FramePrepareParams params) override final; // WindowNotificationBus::Handler overrides ... diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/CopyPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/CopyPass.cpp index 4a6c883584..9648a47fd6 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/CopyPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/CopyPass.cpp @@ -74,7 +74,7 @@ namespace AZ // --- Pass behavior overrides --- - void CopyPass::BuildAttachmentsInternal() + void CopyPass::BuildInternal() { AZ_Assert(GetInputCount() == 1 && GetOutputCount() == 1, "CopyPass has %d inputs and %d outputs. It should have exactly one of each.", diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/MSAAResolvePass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/MSAAResolvePass.cpp index c889f367b7..e457cb4992 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/MSAAResolvePass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/MSAAResolvePass.cpp @@ -38,7 +38,7 @@ namespace AZ { } - void MSAAResolvePass::BuildAttachmentsInternal() + void MSAAResolvePass::BuildInternal() { AZ_Assert(GetOutputCount() != 0, "MSAAResolvePass %s has no outputs to render to.", GetPathName().GetCStr()); } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp index 106ef82bf1..7244510fbd 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp @@ -59,7 +59,7 @@ namespace AZ child->m_parent = this; child->OnHierarchyChange(); - QueueForBuildAttachments(); + QueueForBuild(); // Notify pipeline if (m_pipeline) @@ -248,13 +248,6 @@ namespace AZ void ParentPass::CreateChildPasses() { - // Flag prevents the function from executing multiple times a frame. Can happen - // as pass system has a list of passes for which it needs to call this function. - if (m_flags.m_alreadyCreated) - { - return; - } - m_flags.m_alreadyCreated = true; RemoveChildren(); CreatePassesFromTemplate(); CreateChildPassesInternal(); @@ -277,19 +270,27 @@ namespace AZ } } - void ParentPass::BuildAttachmentsInternal() + void ParentPass::BuildInternal() { for (const Ptr& child : m_children) { - child->BuildAttachments(); + child->Build(); } } - void ParentPass::OnBuildAttachmentsFinishedInternal() + void ParentPass::OnBuildFinishedInternal() { for (const Ptr& child : m_children) { - child->OnBuildAttachmentsFinished(); + child->OnBuildFinished(); + } + } + + void ParentPass::InitializeInternal() + { + for (const Ptr& child : m_children) + { + child->Initialize(); } } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index 8d613eb2bb..da9022b655 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -71,7 +71,7 @@ namespace AZ } PassSystemInterface::Get()->RegisterPass(this); - QueueForBuildAttachments(); + QueueForBuild(); } Pass::~Pass() @@ -162,6 +162,11 @@ namespace AZ // --- Getters & Setters --- + PassState Pass::GetPassState() const + { + return m_state; + } + ParentPass* Pass::GetParent() const { return m_parent; @@ -350,28 +355,49 @@ namespace AZ // --- Queuing functions with PassSystem --- - void Pass::QueueForBuildAttachments() + void Pass::QueueForBuild() { // Don't queue if we're in building phase - if (!PassSystemInterface::Get()->IsBuilding()) + if (PassSystemInterface::Get()->GetState() != PassSystemState::Building && + (m_queueState == PassQueueState::NoQueue || m_queueState == PassQueueState::QueuedForInitialization)) { - // m_queuedForBuildAttachment makes sure the pass only be queue for once - if (!m_flags.m_queuedForBuildAttachment) - { - PassSystemInterface::Get()->QueueForBuildAttachments(this); - m_flags.m_queuedForBuildAttachment = true; + PassSystemInterface::Get()->QueueForBuild(this); + m_queueState = PassQueueState::QueuedForBuild; - // Set these two flags to false since when queue build attachments request, they should all be already be false except one use - // case that the pass system processed all queued requests when active a scene. - m_flags.m_alreadyPrepared = false; - m_flags.m_alreadyReset = false; + if (m_state != PassState::Rendering) + { + m_state = PassState::Queued; } } } - void Pass::QueueForRemoval([[maybe_unused]] bool needsDeletion) + void Pass::QueueForInitialization() { - PassSystemInterface::Get()->QueueForRemoval(this); + // Don't queue if we're in initialization phase + if (PassSystemInterface::Get()->GetState() != PassSystemState::Initializing && m_queueState == PassQueueState::NoQueue) + { + PassSystemInterface::Get()->QueueForInitialization(this); + m_queueState = PassQueueState::QueuedForInitialization; + + if(m_state != PassState::Rendering) + { + m_state = PassState::Queued; + } + } + } + + void Pass::QueueForRemoval() + { + if (m_queueState != PassQueueState::QueuedForRemoval) + { + PassSystemInterface::Get()->QueueForRemoval(this); + m_queueState = PassQueueState::QueuedForRemoval; + + if (m_state != PassState::Rendering) + { + m_state = PassState::Queued; + } + } } // --- PassTemplate related functions --- @@ -990,7 +1016,7 @@ namespace AZ { Ptr targetAttachment = nullptr; - if (!m_flags.m_isBuildingAttachments && !IsEnabled() && binding.m_slotType == PassSlotType::Output && binding.m_fallbackBinding) + if (m_state != PassState::Building && !IsEnabled() && binding.m_slotType == PassSlotType::Output && binding.m_fallbackBinding) { targetAttachment = binding.m_fallbackBinding->m_attachment; } @@ -1037,13 +1063,11 @@ namespace AZ void Pass::Reset() { - // Flag prevents the function from executing multiple times a frame. Can happen - // as pass system has a list of passes for which it needs to call this function. - if (m_flags.m_alreadyReset) + if (m_queueState != PassQueueState::QueuedForBuild || m_state != PassState::Queued) { return; } - m_flags.m_alreadyReset = true; + m_state = PassState::Resetting; // Store references to imported attachments to underlying images and buffers aren't deleted during attachment building StoreImportedAttachmentReferences(); @@ -1060,18 +1084,13 @@ namespace AZ ResetInternal(); } - void Pass::BuildAttachments() + void Pass::Build() { - m_flags.m_queuedForBuildAttachment = false; - - // Flag prevents the function from executing multiple times a frame. Can happen - // as pass system has a list of passes for which it needs to call this function. - if (m_flags.m_alreadyPrepared) + if (m_queueState != PassQueueState::QueuedForBuild || m_state != PassState::Resetting) { return; } - m_flags.m_alreadyPrepared = true; - m_flags.m_isBuildingAttachments = true; + m_state = PassState::Building; AZ_RPI_BREAK_ON_TARGET_PASS; @@ -1084,7 +1103,7 @@ namespace AZ SetupInputsFromTemplate(); // Custom pass behavior - BuildAttachmentsInternal(); + BuildInternal(); // Outputs SetupOutputsFromTemplate(); @@ -1095,21 +1114,29 @@ namespace AZ UpdateOwnedAttachments(); UpdateAttachmentUsageIndices(); - m_flags.m_isBuildingAttachments = false; + // Queue for Initialization + m_queueState = PassQueueState::NoQueue; + QueueForInitialization(); } - void Pass::OnBuildAttachmentsFinished() + void Pass::OnBuildFinished() { AZ_RPI_BREAK_ON_TARGET_PASS; - // These flags are to prevent a pass from being built multiple times. - // We reset them after each build phase. - m_flags.m_alreadyCreated = false; - m_flags.m_alreadyPrepared = false; - m_flags.m_alreadyReset = false; - m_flags.m_queuedForBuildAttachment = false; m_importedAttachmentStore.clear(); - OnBuildAttachmentsFinishedInternal(); + OnBuildFinishedInternal(); + } + + void Pass::Initialize() + { + if (m_queueState != PassQueueState::QueuedForInitialization || m_state != PassState::Queued) + { + return; + } + + m_state = PassState::Initializing; + InitializeInternal(); + m_state = PassState::Initialized; } void Pass::Validate(PassValidationResults& validationResults) @@ -1165,7 +1192,7 @@ namespace AZ UpdateConnectedBindings(); return; } - m_flags.m_isRendering = true; + m_state = PassState::Rendering; UpdateConnectedBindings(); UpdateOwnedAttachments(); @@ -1180,10 +1207,10 @@ namespace AZ void Pass::FrameEnd() { - if (m_flags.m_isRendering) + if (m_state == PassState::Rendering) { FrameEndInternal(); - m_flags.m_isRendering = false; + m_state = (m_queueState == PassQueueState::NoQueue) ? PassState::Initialized : PassState::Queued; } } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index 448c28f202..3dabd88fff 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -93,11 +93,15 @@ namespace AZ void PassSystem::Init() { + m_state = PassSystemState::Initializing; + Interface::Register(this); m_passLibrary.Init(); m_passFactory.Init(&m_passLibrary); m_rootPass = CreatePass(Name{"Root"}); m_rootPass->m_flags.m_partOfHierarchy = true; + + m_state = PassSystemState::Idle; } void PassSystem::InitPassTemplates() @@ -118,10 +122,10 @@ namespace AZ JsonSerializationUtils::SaveObjectToFile(&passAsset, assetFilePath); } - void PassSystem::QueueForBuildAttachments(Pass* pass) + void PassSystem::QueueForBuild(Pass* pass) { - AZ_Assert(pass != nullptr, "Queuing nullptr pass in PassSystem::QueueForBuildAttachments"); - m_buildAttachmentsList.push_back(pass); + AZ_Assert(pass != nullptr, "Queuing nullptr pass in PassSystem::QueueForBuild"); + m_buildPassList.push_back(pass); } void PassSystem::QueueForRemoval(Pass* pass) @@ -130,6 +134,12 @@ namespace AZ m_removePassList.push_back(pass); } + void PassSystem::QueueForInitialization(Pass* pass) + { + AZ_Assert(pass != nullptr, "Queuing nullptr pass in PassSystem::QueueForInitialization"); + m_initializePassList.push_back(pass); + } + // Sort so passes with less depth (closer to the root) are first. Used when changes // in the parent passes can affect the child passes, like with attachment building. void SortPassListAscending(AZStd::vector< Ptr >& passList) @@ -155,6 +165,7 @@ namespace AZ void PassSystem::RemovePasses() { + m_state = PassSystemState::RemovingPasses; AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: RemovePasses"); if (!m_removePassList.empty()) @@ -168,24 +179,25 @@ namespace AZ m_removePassList.clear(); } + + m_state = PassSystemState::Idle; } - void PassSystem::BuildPassAttachments() + void PassSystem::BuildPasses() { + m_state = PassSystemState::Building; AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzRender); AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: BuildPassAttachments"); - m_isBuilding = true; + m_passHierarchyChanged = !m_buildPassList.empty(); - m_passHierarchyChanged = !m_buildAttachmentsList.empty(); - - // While loop is for the event in which passes being built add more pass to m_buildAttachmentsList - while(!m_buildAttachmentsList.empty()) + // While loop is for the event in which passes being built add more pass to m_buildPassList + while(!m_buildPassList.empty()) { AZ_Assert(m_removePassList.empty(), "Passes shouldn't be queued removal during build attachment process"); - AZStd::vector< Ptr > buildListCopy = m_buildAttachmentsList; - m_buildAttachmentsList.clear(); + AZStd::vector< Ptr > buildListCopy = m_buildPassList; + m_buildPassList.clear(); // Erase passes which were removed from pass tree already (which parent is empty) auto unused = AZStd::remove_if(buildListCopy.begin(), buildListCopy.end(), @@ -203,15 +215,15 @@ namespace AZ } for (const Ptr& pass : buildListCopy) { - pass->BuildAttachments(); + pass->Build(); } - - // Signal all passes that we have finished building - m_rootPass->OnBuildAttachmentsFinished(); } if (m_passHierarchyChanged) { + // Signal all passes that we have finished building + m_rootPass->OnBuildFinished(); + #if AZ_RPI_ENABLE_PASS_DEBUGGING if (!m_isHotReloading) { @@ -221,11 +233,39 @@ namespace AZ #endif } - m_isBuilding = false; + m_state = PassSystemState::Idle; + } + + void PassSystem::InitializePasses() + { + m_state = PassSystemState::Initializing; + AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzRender); + AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: BuildPassAttachments"); + + if(!m_initializePassList.empty()) + { + // Erase passes which were removed from pass tree already (which parent is empty) + auto unused = AZStd::remove_if(m_initializePassList.begin(), m_initializePassList.end(), + [](const RHI::Ptr& currentPass) + { + return !currentPass->m_flags.m_partOfHierarchy; + }); + m_initializePassList.erase(unused, m_initializePassList.end()); + + SortPassListAscending(m_initializePassList); + + for (const Ptr& pass : m_initializePassList) + { + pass->Initialize(); + } + } + + m_state = PassSystemState::Idle; } void PassSystem::Validate() { + m_state = PassSystemState::Validating; AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: Validate"); if (PassValidation::IsEnabled()) @@ -241,12 +281,15 @@ namespace AZ m_rootPass->Validate(validationResults); validationResults.PrintValidationIfError(); } + + m_state = PassSystemState::Idle; } void PassSystem::ProcessQueuedChanges() { RemovePasses(); - BuildPassAttachments(); + BuildPasses(); + InitializePasses(); Validate(); } @@ -256,6 +299,8 @@ namespace AZ AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: FrameUpdate"); ProcessQueuedChanges(); + + m_state = PassSystemState::Rendering; Pass::FramePrepareParams params{ &frameGraphBuilder }; m_rootPass->FrameBegin(params); } @@ -264,6 +309,8 @@ namespace AZ { AZ_ATOM_PROFILE_FUNCTION("RHI", "PassSystem: FrameEnd"); + m_state = PassSystemState::FrameEnd; + m_rootPass->FrameEnd(); // remove any pipelines that are marked as ExecuteOnce @@ -278,12 +325,14 @@ namespace AZ } m_passHierarchyChanged = false; + + m_state = PassSystemState::Idle; } void PassSystem::Shutdown() { RemovePasses(); - m_buildAttachmentsList.clear(); + m_buildPassList.clear(); m_rootPass = nullptr; m_passFactory.Shutdown(); m_passLibrary.Shutdown(); @@ -296,9 +345,9 @@ namespace AZ return m_rootPass; } - bool PassSystem::IsBuilding() const + PassSystemState PassSystem::GetState() const { - return m_isBuilding; + return m_state; } bool PassSystem::IsHotReloading() const diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp index 3a2a556429..12989fb873 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp @@ -128,7 +128,7 @@ namespace AZ } - void RenderPass::OnBuildAttachmentsFinishedInternal() + void RenderPass::OnBuildFinishedInternal() { if (m_shaderResourceGroup != nullptr) { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/DownsampleMipChainPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/DownsampleMipChainPass.cpp index 0e0ebf445e..329247d4eb 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/DownsampleMipChainPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/DownsampleMipChainPass.cpp @@ -181,12 +181,12 @@ namespace AZ // Pass behavior functions... - void DownsampleMipChainPass::BuildAttachmentsInternal() + void DownsampleMipChainPass::BuildInternal() { GetInputInfo(); BuildChildPasses(); UpdateChildren(); - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); } void DownsampleMipChainPass::FrameBeginInternal(FramePrepareParams params) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp index c72712bce5..672e5509ee 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp @@ -37,8 +37,6 @@ namespace AZ EnvironmentCubeMapPass::EnvironmentCubeMapPass(const PassDescriptor& passDescriptor) : ParentPass(passDescriptor) { - m_flags.m_alreadyCreated = false; - // load pass data const EnvironmentCubeMapPassData* passData = PassUtils::GetPassData(passDescriptor); if (passData == nullptr) @@ -113,7 +111,7 @@ namespace AZ AddChild(m_childPass); } - void EnvironmentCubeMapPass::BuildAttachmentsInternal() + void EnvironmentCubeMapPass::BuildInternal() { // create output image descriptor m_outputImageDesc = RHI::ImageDescriptor::Create2D(RHI::ImageBindFlags::Color | RHI::ImageBindFlags::CopyRead, CubeMapFaceSize, CubeMapFaceSize, RHI::Format::R16G16B16A16_FLOAT); @@ -135,7 +133,7 @@ namespace AZ m_attachmentBindings.push_back(outputAttachment); - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); } void EnvironmentCubeMapPass::FrameBeginInternal(FramePrepareParams params) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/RenderToTexturePass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/RenderToTexturePass.cpp index 4356a56622..c0a4785365 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/RenderToTexturePass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/RenderToTexturePass.cpp @@ -50,7 +50,7 @@ namespace AZ { } - void RenderToTexturePass::BuildAttachmentsInternal() + void RenderToTexturePass::BuildInternal() { m_outputAttachment = aznew PassAttachment(); m_outputAttachment->m_name = "RenderTarget"; @@ -73,7 +73,7 @@ namespace AZ m_attachmentBindings.push_back(outputBinding); - Base::BuildAttachmentsInternal(); + Base::BuildInternal(); } void RenderToTexturePass::FrameBeginInternal(FramePrepareParams params) @@ -100,7 +100,7 @@ namespace AZ m_passData.m_width = width; m_passData.m_height = height; OnUpdateOutputSize(); - QueueForBuildAttachments(); + QueueForBuild(); } void RenderToTexturePass::OnUpdateOutputSize() diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SelectorPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SelectorPass.cpp index 8e8c67393d..90390b78d7 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SelectorPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SelectorPass.cpp @@ -44,7 +44,7 @@ namespace AZ } } - void SelectorPass::BuildAttachmentsInternal() + void SelectorPass::BuildInternal() { // Update output connections based on m_connections // This need to be done after BuildAttachment is finished @@ -72,7 +72,7 @@ namespace AZ m_connections[outputSlotIndex] = inputSlotIndex; // Queue to rebuild attachment connections - QueueForBuildAttachments(); + QueueForBuild(); } void SelectorPass::Connect(const AZ::Name& inputSlot, const AZ::Name& outputSlot) @@ -113,7 +113,7 @@ namespace AZ m_connections[outputIdx] = inputIdx; // Queue to rebuild attachment connections - QueueForBuildAttachments(); + QueueForBuild(); } } // namespace RPI diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp index 5bcec87df0..e6f65e997c 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp @@ -26,8 +26,6 @@ namespace AZ , m_windowContext(windowContext) , m_childTemplateName(childTemplateName) { - m_flags.m_alreadyCreated = false; - PassSystemInterface* passSystem = PassSystemInterface::Get(); // Create child pass @@ -112,7 +110,7 @@ namespace AZ AddChild(m_childPass); } - void SwapChainPass::BuildAttachmentsInternal() + void SwapChainPass::BuildInternal() { if (m_windowContext->GetSwapChain() == nullptr) { @@ -124,7 +122,7 @@ namespace AZ SetupSwapChainAttachment(); - ParentPass::BuildAttachmentsInternal(); + ParentPass::BuildInternal(); } void SwapChainPass::FrameBeginInternal(FramePrepareParams params) @@ -154,7 +152,7 @@ namespace AZ void SwapChainPass::OnWindowResized([[maybe_unused]] uint32_t width, [[maybe_unused]] uint32_t height) { - QueueForBuildAttachments(); + QueueForBuild(); } void SwapChainPass::ReadbackSwapChain(AZStd::shared_ptr readback) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp index cc0cefd082..86d76287bb 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp @@ -329,9 +329,8 @@ namespace AZ if (validation.IsValid()) { // Remove old pass - bool deletePass = true; m_rootPass->SetRenderPipeline(nullptr); - m_rootPass->QueueForRemoval(deletePass); + m_rootPass->QueueForRemoval(); // Set new root m_rootPass = newRoot; diff --git a/Gems/Atom/RPI/Code/Tests/Pass/PassTests.cpp b/Gems/Atom/RPI/Code/Tests/Pass/PassTests.cpp index 96a21f8c9b..f9a2bc4493 100644 --- a/Gems/Atom/RPI/Code/Tests/Pass/PassTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Pass/PassTests.cpp @@ -329,7 +329,7 @@ namespace UnitTest Ptr parentPass = m_passSystem->CreatePassFromTemplate(Name("ParentPass"), Name("ParentPass")); parentPass->Reset(); - parentPass->BuildAttachments(); + parentPass->Build(); PassValidationResults validationResults; parentPass->Validate(validationResults); @@ -351,7 +351,7 @@ namespace UnitTest Ptr parentPass = m_passSystem->CreatePassFromTemplate(Name("ParentPass"), Name("ParentPass")); parentPass->Reset(); - parentPass->BuildAttachments(); + parentPass->Build(); PassValidationResults validationResults; parentPass->Validate(validationResults); @@ -373,7 +373,7 @@ namespace UnitTest Ptr parentPass = m_passSystem->CreatePassFromTemplate(Name("ParentPass"), Name("ParentPass")); parentPass->Reset(); - parentPass->BuildAttachments(); + parentPass->Build(); PassValidationResults validationResults; parentPass->Validate(validationResults); @@ -397,7 +397,7 @@ namespace UnitTest parentPass->m_flags.m_partOfHierarchy = true; parentPass->OnHierarchyChange(); parentPass->Reset(); - parentPass->BuildAttachments(); + parentPass->Build(); PassValidationResults validationResults; parentPass->Validate(validationResults); @@ -421,7 +421,7 @@ namespace UnitTest parentPass->m_flags.m_partOfHierarchy = true; parentPass->OnHierarchyChange(); parentPass->Reset(); - parentPass->BuildAttachments(); + parentPass->Build(); PassValidationResults validationResults; parentPass->Validate(validationResults); @@ -445,7 +445,7 @@ namespace UnitTest parentPass->m_flags.m_partOfHierarchy = true; parentPass->OnHierarchyChange(); parentPass->Reset(); - parentPass->BuildAttachments(); + parentPass->Build(); PassValidationResults validationResults; parentPass->Validate(validationResults); @@ -469,7 +469,7 @@ namespace UnitTest parentPass->m_flags.m_partOfHierarchy = true; parentPass->OnHierarchyChange(); parentPass->Reset(); - parentPass->BuildAttachments(); + parentPass->Build(); PassValidationResults validationResults; parentPass->Validate(validationResults); From 52b306eb3ef53ea01080c9670985d893d8ef73d1 Mon Sep 17 00:00:00 2001 From: antonmic Date: Fri, 4 Jun 2021 14:59:27 -0700 Subject: [PATCH 006/205] Pass changes now building and working --- .../Code/Source/DisplayMapper/DisplayMapperPass.cpp | 2 ++ .../Code/Source/LuxCore/LuxCoreTexturePass.cpp | 2 ++ .../RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h | 1 + .../RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp | 6 ++++++ Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 11 +++++++---- .../RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp | 13 ++++++++----- .../Pass/Specific/EnvironmentCubeMapPass.cpp | 2 ++ .../RPI.Public/Pass/Specific/SwapChainPass.cpp | 2 ++ 8 files changed, 30 insertions(+), 9 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp index be3e05163a..b6fa0b5c41 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp @@ -46,6 +46,8 @@ namespace AZ DisplayMapperPass::DisplayMapperPass(const RPI::PassDescriptor& descriptor) : RPI::ParentPass(descriptor) { + m_flags.m_alreadyCreated = false; + AzFramework::NativeWindowHandle windowHandle = nullptr; AzFramework::WindowSystemRequestBus::BroadcastResult( windowHandle, diff --git a/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp b/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp index 3c7233e747..7708605e29 100644 --- a/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp @@ -28,6 +28,8 @@ namespace AZ LuxCoreTexturePass::LuxCoreTexturePass(const RPI::PassDescriptor& descriptor) : ParentPass(descriptor) { + m_flags.m_alreadyCreated = false; + RPI::PassSystemInterface* passSystem = RPI::PassSystemInterface::Get(); // Create render target pass diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index ee7f850d27..b71016f30a 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -393,6 +393,7 @@ namespace AZ uint64_t m_parentEnabled : 1; uint64_t m_initialized : 1; + uint64_t m_alreadyCreated : 1; uint64_t m_partOfHierarchy : 1; uint64_t m_hasDrawListTag : 1; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp index 7244510fbd..ebdfa7cf55 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp @@ -248,6 +248,12 @@ namespace AZ void ParentPass::CreateChildPasses() { + if (m_flags.m_alreadyCreated) + { + return; + } + m_flags.m_alreadyCreated = true; + RemoveChildren(); CreatePassesFromTemplate(); CreateChildPassesInternal(); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index da9022b655..726d702a72 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -151,6 +151,7 @@ namespace AZ { AZ_RPI_PASS_ASSERT(m_parent != nullptr, "Trying to remove pass from parent but pointer to the parent pass is null."); m_parent->RemoveChild(Ptr(this)); + m_queueState = PassQueueState::NoQueue; } void Pass::OnOrphan() @@ -358,7 +359,7 @@ namespace AZ void Pass::QueueForBuild() { // Don't queue if we're in building phase - if (PassSystemInterface::Get()->GetState() != PassSystemState::Building && + if (m_state != PassState::Building && (m_queueState == PassQueueState::NoQueue || m_queueState == PassQueueState::QueuedForInitialization)) { PassSystemInterface::Get()->QueueForBuild(this); @@ -374,7 +375,7 @@ namespace AZ void Pass::QueueForInitialization() { // Don't queue if we're in initialization phase - if (PassSystemInterface::Get()->GetState() != PassSystemState::Initializing && m_queueState == PassQueueState::NoQueue) + if (m_queueState == PassQueueState::NoQueue) { PassSystemInterface::Get()->QueueForInitialization(this); m_queueState = PassQueueState::QueuedForInitialization; @@ -1086,11 +1087,12 @@ namespace AZ void Pass::Build() { - if (m_queueState != PassQueueState::QueuedForBuild || m_state != PassState::Resetting) + if (m_queueState != PassQueueState::QueuedForBuild || (m_state != PassState::Queued && m_state != PassState::Resetting)) { return; } m_state = PassState::Building; + m_queueState = PassQueueState::NoQueue; AZ_RPI_BREAK_ON_TARGET_PASS; @@ -1115,7 +1117,6 @@ namespace AZ UpdateAttachmentUsageIndices(); // Queue for Initialization - m_queueState = PassQueueState::NoQueue; QueueForInitialization(); } @@ -1123,6 +1124,7 @@ namespace AZ { AZ_RPI_BREAK_ON_TARGET_PASS; + m_flags.m_alreadyCreated = false; m_importedAttachmentStore.clear(); OnBuildFinishedInternal(); } @@ -1133,6 +1135,7 @@ namespace AZ { return; } + m_queueState = PassQueueState::NoQueue; m_state = PassState::Initializing; InitializeInternal(); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index 3dabd88fff..0c38b228f5 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -242,19 +242,22 @@ namespace AZ AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzRender); AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: BuildPassAttachments"); - if(!m_initializePassList.empty()) + while (!m_initializePassList.empty()) { + AZStd::vector< Ptr > initListCopy = m_initializePassList; + m_initializePassList.clear(); + // Erase passes which were removed from pass tree already (which parent is empty) - auto unused = AZStd::remove_if(m_initializePassList.begin(), m_initializePassList.end(), + auto unused = AZStd::remove_if(initListCopy.begin(), initListCopy.end(), [](const RHI::Ptr& currentPass) { return !currentPass->m_flags.m_partOfHierarchy; }); - m_initializePassList.erase(unused, m_initializePassList.end()); + initListCopy.erase(unused, initListCopy.end()); - SortPassListAscending(m_initializePassList); + SortPassListAscending(initListCopy); - for (const Ptr& pass : m_initializePassList) + for (const Ptr& pass : initListCopy) { pass->Initialize(); } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp index 672e5509ee..be06343ab9 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp @@ -37,6 +37,8 @@ namespace AZ EnvironmentCubeMapPass::EnvironmentCubeMapPass(const PassDescriptor& passDescriptor) : ParentPass(passDescriptor) { + m_flags.m_alreadyCreated = false; + // load pass data const EnvironmentCubeMapPassData* passData = PassUtils::GetPassData(passDescriptor); if (passData == nullptr) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp index e6f65e997c..45fb890e91 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp @@ -26,6 +26,8 @@ namespace AZ , m_windowContext(windowContext) , m_childTemplateName(childTemplateName) { + m_flags.m_alreadyCreated = false; + PassSystemInterface* passSystem = PassSystemInterface::Get(); // Create child pass From ed759612dd198ae463c6af0b8b6b92ba2c51c563 Mon Sep 17 00:00:00 2001 From: antonmic Date: Sat, 5 Jun 2021 19:12:45 -0700 Subject: [PATCH 007/205] Atom Pass changes WIP: ASV screenshot tests passing now --- .../Common/Code/Source/ImGui/ImGuiPass.cpp | 4 +- .../Common/Code/Source/ImGui/ImGuiPass.h | 2 +- .../Code/Source/PostProcessing/SsaoPasses.cpp | 4 +- .../Code/Source/PostProcessing/SsaoPasses.h | 2 +- .../Atom/RPI.Public/Pass/AttachmentReadback.h | 2 +- .../Include/Atom/RPI.Public/Pass/ParentPass.h | 2 +- .../Code/Include/Atom/RPI.Public/Pass/Pass.h | 12 +- .../Atom/RPI.Public/Pass/PassDefines.h | 5 +- .../Include/Atom/RPI.Public/Pass/RenderPass.h | 2 +- .../RPI.Public/Pass/AttachmentReadback.cpp | 15 +- .../Source/RPI.Public/Pass/ParentPass.cpp | 12 +- .../RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 228 ++++++++++++------ .../Source/RPI.Public/Pass/PassSystem.cpp | 28 ++- .../Source/RPI.Public/Pass/RenderPass.cpp | 2 +- 14 files changed, 208 insertions(+), 112 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp index fe5d9a16fe..750402ada8 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp @@ -519,13 +519,13 @@ namespace AZ io.Fonts->TexID = reinterpret_cast(m_fontAtlas.get()); } - void ImGuiPass::OnBuildFinishedInternal() + void ImGuiPass::InitializeInternal() { // Set output format and finalize pipeline state m_pipelineState->SetOutputFromPass(this); m_pipelineState->Finalize(); - Base::OnBuildFinishedInternal(); + Base::InitializeInternal(); } void ImGuiPass::SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) diff --git a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h index 30449820bb..f63b515536 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.h @@ -94,7 +94,7 @@ namespace AZ explicit ImGuiPass(const RPI::PassDescriptor& descriptor); // Pass Behaviour Overrides... - void OnBuildFinishedInternal() override; + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; // Scope producer functions diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.cpp index 1aa16a4417..8954584886 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.cpp @@ -41,9 +41,9 @@ namespace AZ return ParentPass::IsEnabled(); } - void SsaoParentPass::OnBuildFinishedInternal() + void SsaoParentPass::InitializeInternal() { - ParentPass::OnBuildFinishedInternal(); + ParentPass::InitializeInternal(); m_blurParentPass = FindChildPass(Name("SsaoBlur"))->AsParent(); AZ_Assert(m_blurParentPass, "[SsaoParentPass] Could not retrieve parent blur pass."); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.h index 20aa554414..9fc5448f65 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SsaoPasses.h @@ -36,7 +36,7 @@ namespace AZ protected: // Behavior functions override... - void OnBuildFinishedInternal() override; + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; private: diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/AttachmentReadback.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/AttachmentReadback.h index 539e1a5398..3c00ce4e4c 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/AttachmentReadback.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/AttachmentReadback.h @@ -99,7 +99,7 @@ namespace AZ void DecomposeExecute(const RHI::FrameGraphExecuteContext& context); // copy data from the read back buffer (m_readbackBuffer) to the data buffer (m_dataBuffer) - void CopyBufferData(uint32_t readbackBufferIndex); + bool CopyBufferData(uint32_t readbackBufferIndex); // Get read back data in a structure ReadbackResult GetReadbackResult() const; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h index 0e1e12e620..ca7baf1a0f 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h @@ -110,7 +110,7 @@ namespace AZ void ResetInternal() override; void BuildInternal() override; - void OnBuildFinishedInternal() override; + void OnInitializationFinishedInternal() override; void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void FrameEndInternal() override; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index b71016f30a..3cab5b36e4 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -320,12 +320,12 @@ namespace AZ // Builds and sets up any attachments and input/output connections the pass needs. // Called from PassSystem when pass is QueueForBuild. - void Build(); + void Build(bool calledFromPassSystem = false); virtual void BuildInternal() { } // Called after the pass build phase has finished. Allows passes to reset build flags. - void OnBuildFinished(); - virtual void OnBuildFinishedInternal() { }; + void OnInitializationFinished(); + virtual void OnInitializationFinishedInternal() { }; // Allows for additional pass initialization between building and rendering // Can be queued independently of Build so as to only invoke Initialize without Build @@ -395,6 +395,12 @@ namespace AZ uint64_t m_initialized : 1; uint64_t m_alreadyCreated : 1; + // OLD SCHOOL + uint64_t m_alreadyReset : 1; + uint64_t m_alreadyPrepared : 1; + uint64_t m_queuedForBuildAttachment : 1; + + uint64_t m_partOfHierarchy : 1; uint64_t m_hasDrawListTag : 1; uint64_t m_hasPipelineViewTag : 1; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h index 7c55944603..7ba7f1be4e 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h @@ -20,7 +20,7 @@ // Enables debugging of the pass system // Set this to 1 locally on your machine to facilitate pass debugging and get extra information // about passes in the output window. DO NOT SUBMIT with value set to 1 -#define AZ_RPI_ENABLE_PASS_DEBUGGING 0 +#define AZ_RPI_ENABLE_PASS_DEBUGGING 1 namespace AZ { @@ -31,9 +31,12 @@ namespace AZ Uninitialized, Queued, Resetting, + Reset, Building, + Built, Initializing, Initialized, + Idle, Rendering }; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/RenderPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/RenderPass.h index 5f222d8bba..8f8267393e 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/RenderPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/RenderPass.h @@ -96,7 +96,7 @@ namespace AZ void BindPassSrg(const RHI::FrameGraphCompileContext& context, Data::Instance& shaderResourceGroup); // Pass behavior overrides... - void OnBuildFinishedInternal() override; + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; void FrameEndInternal() override; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp index 6435ae9570..88d3eb27fd 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp @@ -320,8 +320,14 @@ namespace AZ { if (m_state == ReadbackState::Reading) { - CopyBufferData(readbackBufferCurrentIndex); - m_state = ReadbackState::Success; + if (CopyBufferData(readbackBufferCurrentIndex)) + { + m_state = ReadbackState::Success; + } + else + { + m_state = ReadbackState::Failed; + } } if (m_callback) { @@ -498,13 +504,13 @@ namespace AZ return result; } - void AttachmentReadback::CopyBufferData(uint32_t readbackBufferIndex) + bool AttachmentReadback::CopyBufferData(uint32_t readbackBufferIndex) { Data::Instance readbackBufferCurrent = m_readbackBufferArray[readbackBufferIndex]; if (!readbackBufferCurrent) { - return; + return false; } auto bufferSize = readbackBufferCurrent->GetBufferSize(); @@ -537,6 +543,7 @@ namespace AZ } m_isReadbackComplete[readbackBufferIndex] = true; + return true; } } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp index ebdfa7cf55..ad361bdf42 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp @@ -270,10 +270,10 @@ namespace AZ void ParentPass::ResetInternal() { - for (const Ptr& child : m_children) - { - child->Reset(); - } + //for (const Ptr& child : m_children) + //{ + // child->Reset(); + //} } void ParentPass::BuildInternal() @@ -284,11 +284,11 @@ namespace AZ } } - void ParentPass::OnBuildFinishedInternal() + void ParentPass::OnInitializationFinishedInternal() { for (const Ptr& child : m_children) { - child->OnBuildFinished(); + child->OnInitializationFinished(); } } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index 726d702a72..790a1e767f 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -37,10 +37,13 @@ #include #include + namespace AZ { namespace RPI { +#pragma optimize("", off) + // --- Constructors --- Pass::Pass(const PassDescriptor& descriptor) @@ -152,6 +155,7 @@ namespace AZ AZ_RPI_PASS_ASSERT(m_parent != nullptr, "Trying to remove pass from parent but pointer to the parent pass is null."); m_parent->RemoveChild(Ptr(this)); m_queueState = PassQueueState::NoQueue; + m_state = PassState::Idle; } void Pass::OnOrphan() @@ -354,53 +358,6 @@ namespace AZ return nullptr; } - // --- Queuing functions with PassSystem --- - - void Pass::QueueForBuild() - { - // Don't queue if we're in building phase - if (m_state != PassState::Building && - (m_queueState == PassQueueState::NoQueue || m_queueState == PassQueueState::QueuedForInitialization)) - { - PassSystemInterface::Get()->QueueForBuild(this); - m_queueState = PassQueueState::QueuedForBuild; - - if (m_state != PassState::Rendering) - { - m_state = PassState::Queued; - } - } - } - - void Pass::QueueForInitialization() - { - // Don't queue if we're in initialization phase - if (m_queueState == PassQueueState::NoQueue) - { - PassSystemInterface::Get()->QueueForInitialization(this); - m_queueState = PassQueueState::QueuedForInitialization; - - if(m_state != PassState::Rendering) - { - m_state = PassState::Queued; - } - } - } - - void Pass::QueueForRemoval() - { - if (m_queueState != PassQueueState::QueuedForRemoval) - { - PassSystemInterface::Get()->QueueForRemoval(this); - m_queueState = PassQueueState::QueuedForRemoval; - - if (m_state != PassState::Rendering) - { - m_state = PassState::Queued; - } - } - } - // --- PassTemplate related functions --- void Pass::CreateBindingsFromTemplate() @@ -430,7 +387,7 @@ namespace AZ PassAttachmentBinding* localBinding = FindAttachmentBinding(slot); if (!localBinding) { - AZ_RPI_PASS_ERROR(false, "Pass::AttachBufferToSlot - Pass %s failed to find slot %s.", + AZ_RPI_PASS_ERROR(false, "Pass::AttachBufferToSlot - Pass [%s] failed to find slot [%s].", m_path.GetCStr(), slot.GetCStr()); return; } @@ -440,7 +397,7 @@ namespace AZ // handle the connected bindings if (localBinding->m_attachment) { - AZ_RPI_PASS_ERROR(false, "Pass::AttachBufferToSlot - Slot %s already has attachment %s.", + AZ_RPI_PASS_ERROR(false, "Pass::AttachBufferToSlot - Slot [%s] already has attachment [%s].", slot.GetCStr(), localBinding->m_attachment->m_name.GetCStr()); return; } @@ -462,7 +419,7 @@ namespace AZ PassAttachmentBinding* localBinding = FindAttachmentBinding(slot); if (!localBinding) { - AZ_RPI_PASS_ERROR(false, "Pass::AttachImageToSlot - Pass %s failed to find slot %s.", + AZ_RPI_PASS_ERROR(false, "Pass::AttachImageToSlot - Pass [%s] failed to find slot [%s].", m_path.GetCStr(), slot.GetCStr()); return; } @@ -472,7 +429,7 @@ namespace AZ // handle the connected bindings if (localBinding->m_attachment) { - AZ_RPI_PASS_ERROR(false, "Pass::AttachImageToSlot - Slot %s already has attachment %s.", + AZ_RPI_PASS_ERROR(false, "Pass::AttachImageToSlot - Slot [%s] already has attachment [%s].", slot.GetCStr(), localBinding->m_attachment->m_name.GetCStr()); return; } @@ -495,7 +452,7 @@ namespace AZ PassAttachmentBinding* localBinding = FindAttachmentBinding(connection.m_localSlot); if (!localBinding) { - AZ_RPI_PASS_ERROR(false, "Pass::ProcessConnection - Pass %s failed to find slot %s.", + AZ_RPI_PASS_ERROR(false, "Pass::ProcessConnection - Pass [%s] failed to find slot [%s].", m_path.GetCStr(), connection.m_localSlot.GetCStr()); return; @@ -517,7 +474,7 @@ namespace AZ { foundPass = true; const Ptr attachment = FindOwnedAttachment(connectedSlotName); - AZ_RPI_PASS_ERROR(attachment, "Pass::ProcessConnection - Pass %s doesn't own an attachment named %s.", + AZ_RPI_PASS_ERROR(attachment, "Pass::ProcessConnection - Pass [%s] doesn't own an attachment named [%s].", m_path.GetCStr(), connectedSlotName.GetCStr()); localBinding->SetAttachment(attachment); @@ -628,10 +585,10 @@ namespace AZ if (!outputBinding || !inputBinding) { - AZ_RPI_PASS_ERROR(inputBinding, "Pass::ProcessFallbackConnection - Pass %s failed to find input slot %s.", + AZ_RPI_PASS_ERROR(inputBinding, "Pass::ProcessFallbackConnection - Pass [%s] failed to find input slot [%s].", m_path.GetCStr(), connection.m_inputSlotName.GetCStr()); - AZ_RPI_PASS_ERROR(outputBinding, "Pass::ProcessFallbackConnection - Pass %s failed to find output slot %s.", + AZ_RPI_PASS_ERROR(outputBinding, "Pass::ProcessFallbackConnection - Pass [%s] failed to find output slot [%s].", m_path.GetCStr(), connection.m_outputSlotName.GetCStr()); return; @@ -641,10 +598,10 @@ namespace AZ if (!typesAreValid) { - AZ_RPI_PASS_ERROR(inputBinding->m_slotType == PassSlotType::Input, "Pass::ProcessFallbackConnection - Pass %s specifies fallback connection input %s, which is not an input.", + AZ_RPI_PASS_ERROR(inputBinding->m_slotType == PassSlotType::Input, "Pass::ProcessFallbackConnection - Pass [%s] specifies fallback connection input [%s], which is not an input.", m_path.GetCStr(), connection.m_inputSlotName.GetCStr()); - AZ_RPI_PASS_ERROR(outputBinding->m_slotType == PassSlotType::Output, "Pass::ProcessFallbackConnection - Pass %s specifies fallback connection output %s, which is not an output.", + AZ_RPI_PASS_ERROR(outputBinding->m_slotType == PassSlotType::Output, "Pass::ProcessFallbackConnection - Pass [%s] specifies fallback connection output [%s], which is not an output.", m_path.GetCStr(), connection.m_inputSlotName.GetCStr()); return; @@ -1038,7 +995,7 @@ namespace AZ // Check whether the template's slot allows this attachment if (m_template && !m_template->AttachmentFitsSlot(targetAttachment->m_descriptor, binding.m_name)) { - AZ_RPI_PASS_ERROR(false, "Pass::UpdateConnectedBinding - Attachment %s did not match the filters of input slot %s on pass %s.", + AZ_RPI_PASS_ERROR(false, "Pass::UpdateConnectedBinding - Attachment [%s] did not match the filters of input slot [%s] on pass [%s].", targetAttachment->m_name.GetCStr(), binding.m_name.GetCStr(), m_path.GetCStr()); @@ -1060,14 +1017,86 @@ namespace AZ } } + // --- Queuing functions with PassSystem --- + +#define OLD_SCHOOL 1 + + void Pass::QueueForBuild() + { +#if OLD_SCHOOL + // Don't queue if we're in building phase + //if (PassSystemInterface::Get()->GetState() != RPI::PassSystemState::Building) + { + if (!m_flags.m_queuedForBuildAttachment) + { + PassSystemInterface::Get()->QueueForBuild(this); + m_flags.m_queuedForBuildAttachment = true; + + // Set these two flags to false since when queue build attachments request, they should all be already be false except one use + // case that the pass system processed all queued requests when active a scene. + // m_flags.m_alreadyPrepared = false; + + m_queueState = PassQueueState::QueuedForBuild; + + if (m_state != PassState::Rendering) + { + m_state = PassState::Queued; + } + + } + } +#else + // Don't queue if we're in building phase + if (m_state != PassState::Building && + (m_queueState == PassQueueState::NoQueue || m_queueState == PassQueueState::QueuedForInitialization)) + { + //if (PassSystemInterface::Get()->GetState() != RPI::PassSystemState::Building) + { + PassSystemInterface::Get()->QueueForBuild(this); + } + m_queueState = PassQueueState::QueuedForBuild; + + if (m_state != PassState::Rendering) + { + m_state = PassState::Queued; + } + } +#endif + } + + void Pass::QueueForInitialization() + { + // Only queue if the pass is not in any other queue + if (m_queueState == PassQueueState::NoQueue) + { + PassSystemInterface::Get()->QueueForInitialization(this); + m_queueState = PassQueueState::QueuedForInitialization; + + if (m_state != PassState::Rendering && m_state != PassState::Built) + { + m_state = PassState::Queued; + } + } + } + + void Pass::QueueForRemoval() + { + if (m_queueState != PassQueueState::QueuedForRemoval) + { + PassSystemInterface::Get()->QueueForRemoval(this); + m_queueState = PassQueueState::QueuedForRemoval; + + if (m_state != PassState::Rendering) + { + m_state = PassState::Queued; + } + } + } + // --- Pass behavior functions --- void Pass::Reset() { - if (m_queueState != PassQueueState::QueuedForBuild || m_state != PassState::Queued) - { - return; - } m_state = PassState::Resetting; // Store references to imported attachments to underlying images and buffers aren't deleted during attachment building @@ -1083,19 +1112,37 @@ namespace AZ m_executeBeforePasses.clear(); ResetInternal(); + + m_state = PassState::Reset; } - void Pass::Build() + void Pass::Build(bool calledFromPassSystem) { - if (m_queueState != PassQueueState::QueuedForBuild || (m_state != PassState::Queued && m_state != PassState::Resetting)) + AZ_RPI_BREAK_ON_TARGET_PASS; + + bool execute = (m_state == PassState::Idle); + execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); + execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); + +#if OLD_SCHOOL + AZ_Assert(!execute == m_flags.m_alreadyPrepared, "ANTON - EARLY OUT FLAGS do not match for pass BUILD!!"); + if (m_flags.m_alreadyPrepared) { return; } + m_flags.m_alreadyPrepared = true; +#else + if (!execute) + { + return; + } +#endif + + Reset(); + m_state = PassState::Building; m_queueState = PassQueueState::NoQueue; - AZ_RPI_BREAK_ON_TARGET_PASS; - // Bindings, inputs and attachments CreateBindingsFromTemplate(); SetupInputsFromRequest(); @@ -1116,32 +1163,51 @@ namespace AZ UpdateOwnedAttachments(); UpdateAttachmentUsageIndices(); - // Queue for Initialization - QueueForInitialization(); - } + m_state = PassState::Built; - void Pass::OnBuildFinished() - { - AZ_RPI_BREAK_ON_TARGET_PASS; - - m_flags.m_alreadyCreated = false; - m_importedAttachmentStore.clear(); - OnBuildFinishedInternal(); + // If this pass's Build() wasn't called from the Pass System, then it was called by it's parent pass + // In which case we don't need to queue for initialization because the parent will already be queued + if (calledFromPassSystem) + { + // Queue for Initialization + QueueForInitialization(); + } } void Pass::Initialize() { - if (m_queueState != PassQueueState::QueuedForInitialization || m_state != PassState::Queued) + AZ_RPI_BREAK_ON_TARGET_PASS; + + bool execute = (m_state == PassState::Idle || m_state == PassState::Built); + execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); + + if (!execute) { return; } - m_queueState = PassQueueState::NoQueue; m_state = PassState::Initializing; + m_queueState = PassQueueState::NoQueue; + InitializeInternal(); + m_state = PassState::Initialized; } + void Pass::OnInitializationFinished() + { + AZ_RPI_BREAK_ON_TARGET_PASS; + + m_flags.m_alreadyPrepared = false; + m_flags.m_queuedForBuildAttachment = false; + + m_flags.m_alreadyCreated = false; + m_importedAttachmentStore.clear(); + OnInitializationFinishedInternal(); + + m_state = PassState::Idle; + } + void Pass::Validate(PassValidationResults& validationResults) { if (PassValidation::IsEnabled()) @@ -1195,6 +1261,8 @@ namespace AZ UpdateConnectedBindings(); return; } + + AZ_Assert(m_state == PassState::Idle, "Pass::FrameBegin - Pass [%s] is attempting to render, but is not in the Idle state.", m_path.GetCStr()); m_state = PassState::Rendering; UpdateConnectedBindings(); @@ -1213,7 +1281,7 @@ namespace AZ if (m_state == PassState::Rendering) { FrameEndInternal(); - m_state = (m_queueState == PassQueueState::NoQueue) ? PassState::Initialized : PassState::Queued; + m_state = (m_queueState == PassQueueState::NoQueue) ? PassState::Idle : PassState::Queued; } } @@ -1578,6 +1646,8 @@ namespace AZ } } +#pragma optimize("", on) + } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index 0c38b228f5..abcaa181d8 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -50,6 +50,8 @@ namespace AZ { namespace RPI { +#pragma optimize("", off) + PassSystemInterface* PassSystemInterface::Get() { return Interface::Get(); @@ -101,6 +103,8 @@ namespace AZ m_rootPass = CreatePass(Name{"Root"}); m_rootPass->m_flags.m_partOfHierarchy = true; + //m_targetedPassDebugName = "RPISamplePipeline"; + m_state = PassSystemState::Idle; } @@ -189,7 +193,8 @@ namespace AZ AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzRender); AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: BuildPassAttachments"); - m_passHierarchyChanged = !m_buildPassList.empty(); + m_passHierarchyChanged = m_passHierarchyChanged || !m_buildPassList.empty(); + u32 loopCounter = 0; // While loop is for the event in which passes being built add more pass to m_buildPassList while(!m_buildPassList.empty()) @@ -211,19 +216,13 @@ namespace AZ for (const Ptr& pass : buildListCopy) { - pass->Reset(); - } - for (const Ptr& pass : buildListCopy) - { - pass->Build(); + pass->Build(true); } + loopCounter++; } if (m_passHierarchyChanged) { - // Signal all passes that we have finished building - m_rootPass->OnBuildFinished(); - #if AZ_RPI_ENABLE_PASS_DEBUGGING if (!m_isHotReloading) { @@ -242,6 +241,9 @@ namespace AZ AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzRender); AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: BuildPassAttachments"); + m_passHierarchyChanged = m_passHierarchyChanged || !m_initializePassList.empty(); + u32 loopCounter = 0; + while (!m_initializePassList.empty()) { AZStd::vector< Ptr > initListCopy = m_initializePassList; @@ -261,6 +263,13 @@ namespace AZ { pass->Initialize(); } + loopCounter++; + } + + if (m_passHierarchyChanged) + { + // Signal all passes that we have finished initialization + m_rootPass->OnInitializationFinished(); } m_state = PassSystemState::Idle; @@ -474,5 +483,6 @@ namespace AZ return nullptr; } +#pragma optimize("", on) } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp index 12989fb873..3e52130f6f 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp @@ -128,7 +128,7 @@ namespace AZ } - void RenderPass::OnBuildFinishedInternal() + void RenderPass::InitializeInternal() { if (m_shaderResourceGroup != nullptr) { From c6d0887210c367f58b086d90f5f20759887d5e72 Mon Sep 17 00:00:00 2001 From: moudgils Date: Sun, 6 Jun 2021 10:24:42 -0700 Subject: [PATCH 008/205] Minor method name changes --- Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp | 8 ++++---- Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp index 1e2edc6520..5d6c275184 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp @@ -422,12 +422,12 @@ namespace AZ { if(RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Compute)) { - ApplyUseResourceToCompute(commandEncoder, it.second, resourcesToMakeResidentCompute); + CollectResourcesForCompute(commandEncoder, it.second, resourcesToMakeResidentCompute); } else { AZ_Assert(RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Vertex) || RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Fragment), "The visibility mask %i is not set for Vertex or fragment stage", visMaskIt->second); - ApplyUseResourceToGraphic(commandEncoder, visMaskIt->second, it.second, resourcesToMakeResidentGraphics); + CollectResourcesForGraphics(commandEncoder, visMaskIt->second, it.second, resourcesToMakeResidentGraphics); } } } @@ -450,7 +450,7 @@ namespace AZ } } - void ArgumentBuffer::ApplyUseResourceToCompute(id encoder, const ResourceBindingsSet& resourceBindingDataSet, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const + void ArgumentBuffer::CollectResourcesForCompute(id encoder, const ResourceBindingsSet& resourceBindingDataSet, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const { for (const auto& resourceBindingData : resourceBindingDataSet) { @@ -477,7 +477,7 @@ namespace AZ } } - void ArgumentBuffer::ApplyUseResourceToGraphic(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet, GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const + void ArgumentBuffer::CollectResourcesForGraphics(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet, GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const { MTLRenderStages mtlRenderStages = GetRenderStages(visShaderMask); diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h index 2434b8312d..06380162b6 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h @@ -128,8 +128,8 @@ namespace AZ using ComputeResourcesToMakeResidentMap = AZStd::unordered_map; using GraphicsResourcesToMakeResidentMap = AZStd::unordered_map, MetalResourceArray>; - void ApplyUseResourceToCompute(id encoder, const ResourceBindingsSet& resourceBindingData, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; - void ApplyUseResourceToGraphic(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet, GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; + void CollectResourcesForCompute(id encoder, const ResourceBindingsSet& resourceBindingData, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; + void CollectResourcesForGraphics(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet, GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; //! Use visibility information to call UseResource on all resources for this Argument Buffer void ApplyUseResource(id encoder, const ResourceBindingsMap& resourceMap, From 9d7119a7f84a8f19db2d60da6ba3ea174e8c6461 Mon Sep 17 00:00:00 2001 From: antonmic Date: Sun, 6 Jun 2021 21:51:49 -0700 Subject: [PATCH 009/205] Pass Changes WIP: fixed bloom pass --- .../Code/Include/Atom/RPI.Public/Pass/Pass.h | 2 +- .../Source/RPI.Public/Pass/ParentPass.cpp | 8 ++--- .../RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 33 +++++++++++++++++-- .../Source/RPI.Public/Pass/PassSystem.cpp | 4 +++ 4 files changed, 40 insertions(+), 7 deletions(-) diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index 3cab5b36e4..64daf1006d 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -396,8 +396,8 @@ namespace AZ uint64_t m_alreadyCreated : 1; // OLD SCHOOL - uint64_t m_alreadyReset : 1; uint64_t m_alreadyPrepared : 1; + uint64_t m_alreadyReset : 1; uint64_t m_queuedForBuildAttachment : 1; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp index ad361bdf42..6b95a6e17a 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp @@ -270,10 +270,10 @@ namespace AZ void ParentPass::ResetInternal() { - //for (const Ptr& child : m_children) - //{ - // child->Reset(); - //} + for (const Ptr& child : m_children) + { + child->Reset(); + } } void ParentPass::BuildInternal() diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index 790a1e767f..391db8361d 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -75,6 +75,10 @@ namespace AZ PassSystemInterface::Get()->RegisterPass(this); QueueForBuild(); + + // Skip reset since the pass just got created + m_state = PassState::Reset; + m_flags.m_alreadyReset = true; } Pass::~Pass() @@ -1034,6 +1038,7 @@ namespace AZ // Set these two flags to false since when queue build attachments request, they should all be already be false except one use // case that the pass system processed all queued requests when active a scene. + // m_flags.m_alreadyReset = false; // m_flags.m_alreadyPrepared = false; m_queueState = PassQueueState::QueuedForBuild; @@ -1097,6 +1102,24 @@ namespace AZ void Pass::Reset() { + bool execute = (m_state == PassState::Idle); + execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); + execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); + +#if OLD_SCHOOL + AZ_Assert(!execute == m_flags.m_alreadyReset, "ANTON - EARLY OUT FLAGS do not match for pass BUILD!!"); + if (m_flags.m_alreadyReset) + { + return; + } + m_flags.m_alreadyReset = true; +#else + if (!execute) + { + return; + } +#endif + m_state = PassState::Resetting; // Store references to imported attachments to underlying images and buffers aren't deleted during attachment building @@ -1120,7 +1143,7 @@ namespace AZ { AZ_RPI_BREAK_ON_TARGET_PASS; - bool execute = (m_state == PassState::Idle); + bool execute = (m_state == PassState::Idle || m_state == PassState::Reset); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); @@ -1138,7 +1161,7 @@ namespace AZ } #endif - Reset(); + //Reset(); m_state = PassState::Building; m_queueState = PassQueueState::NoQueue; @@ -1189,6 +1212,11 @@ namespace AZ m_state = PassState::Initializing; m_queueState = PassQueueState::NoQueue; + // Update +// UpdateConnectedBindings(); +// UpdateOwnedAttachments(); +// UpdateAttachmentUsageIndices(); + InitializeInternal(); m_state = PassState::Initialized; @@ -1198,6 +1226,7 @@ namespace AZ { AZ_RPI_BREAK_ON_TARGET_PASS; + m_flags.m_alreadyReset = false; m_flags.m_alreadyPrepared = false; m_flags.m_queuedForBuildAttachment = false; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index abcaa181d8..bbd9ac7df8 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -214,6 +214,10 @@ namespace AZ SortPassListAscending(buildListCopy); + for (const Ptr& pass : buildListCopy) + { + pass->Reset(); + } for (const Ptr& pass : buildListCopy) { pass->Build(true); From bd7c5f4ee2aa2a8f98d32c9a8df767ded2e7ca9f Mon Sep 17 00:00:00 2001 From: antonmic Date: Mon, 7 Jun 2021 08:39:08 -0700 Subject: [PATCH 010/205] Pass changes WIP: small improvements --- .../RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 10 ++++----- .../Source/RPI.Public/Pass/PassSystem.cpp | 21 ++++++++++++++++--- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index 391db8361d..e53ffbf122 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -1027,7 +1027,7 @@ namespace AZ void Pass::QueueForBuild() { -#if OLD_SCHOOL +#if 0//OLD_SCHOOL // Don't queue if we're in building phase //if (PassSystemInterface::Get()->GetState() != RPI::PassSystemState::Building) { @@ -1107,7 +1107,7 @@ namespace AZ execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); #if OLD_SCHOOL - AZ_Assert(!execute == m_flags.m_alreadyReset, "ANTON - EARLY OUT FLAGS do not match for pass BUILD!!"); + AZ_Assert(!execute == m_flags.m_alreadyReset, "ANTON - EARLY OUT FLAGS do not match for pass RESET!!"); if (m_flags.m_alreadyReset) { return; @@ -1143,6 +1143,8 @@ namespace AZ { AZ_RPI_BREAK_ON_TARGET_PASS; + AZ_Assert(m_state == PassState::Reset, "ANTON - BUILDING PASS BUT STATE IS NOT RESET!!"); + bool execute = (m_state == PassState::Idle || m_state == PassState::Reset); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); @@ -1161,10 +1163,7 @@ namespace AZ } #endif - //Reset(); - m_state = PassState::Building; - m_queueState = PassQueueState::NoQueue; // Bindings, inputs and attachments CreateBindingsFromTemplate(); @@ -1187,6 +1186,7 @@ namespace AZ UpdateAttachmentUsageIndices(); m_state = PassState::Built; + m_queueState = PassQueueState::NoQueue; // If this pass's Build() wasn't called from the Pass System, then it was called by it's parent pass // In which case we don't need to queue for initialization because the parent will already be queued diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index bbd9ac7df8..a7021ee6fd 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -214,13 +214,23 @@ namespace AZ SortPassListAscending(buildListCopy); + Pass* previousPassInList = nullptr; for (const Ptr& pass : buildListCopy) { - pass->Reset(); + if (pass.get() != previousPassInList); + { + pass->Reset(); + previousPassInList = pass.get(); + } } + previousPassInList = nullptr; for (const Ptr& pass : buildListCopy) { - pass->Build(true); + if (pass.get() != previousPassInList); + { + pass->Build(true); + previousPassInList = pass.get(); + } } loopCounter++; } @@ -263,9 +273,14 @@ namespace AZ SortPassListAscending(initListCopy); + Pass* previousPassInList = nullptr; for (const Ptr& pass : initListCopy) { - pass->Initialize(); + if (pass.get() != previousPassInList); + { + pass->Initialize(); + previousPassInList = pass.get(); + } } loopCounter++; } From 40c7a6bd2d530d53a2f19d365b2639f40490f4c8 Mon Sep 17 00:00:00 2001 From: puvvadar Date: Mon, 7 Jun 2021 17:02:42 -0700 Subject: [PATCH 011/205] Integrate remaining requests and rename Handling Requests interfaces for clarity --- .../Session/ISessionHandlingRequests.h | 33 +++++---- .../Source/MultiplayerSystemComponent.cpp | 67 +++++++++++++++++++ .../Code/Source/MultiplayerSystemComponent.h | 9 +++ 3 files changed, 95 insertions(+), 14 deletions(-) diff --git a/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h b/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h index a0731626ef..2537842d8a 100644 --- a/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h +++ b/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h @@ -45,14 +45,14 @@ namespace AzFramework AZStd::string m_playerSessionId; }; - //! ISessionHandlingClientRequests - //! The session handling events to invoke multiplayer component handle the work on client side - class ISessionHandlingClientRequests + //! ISessionLocalUserRequests + //! Requests made to the local user to manage their connection to a session + class ISessionLocalUserRequests { public: - AZ_RTTI(ISessionHandlingClientRequests, "{41DE6BD3-72BC-4443-BFF9-5B1B9396657A}"); - ISessionHandlingClientRequests() = default; - virtual ~ISessionHandlingClientRequests() = default; + AZ_RTTI(ISessionLocalUserRequests, "{41DE6BD3-72BC-4443-BFF9-5B1B9396657A}"); + ISessionLocalUserRequests() = default; + virtual ~ISessionLocalUserRequests() = default; // Request the player join session // @param sessionConnectionConfig The required properties to handle the player join session process @@ -63,14 +63,14 @@ namespace AzFramework virtual void RequestPlayerLeaveSession() = 0; }; - //! ISessionHandlingServerRequests - //! The session handling events to invoke server provider handle the work on server side - class ISessionHandlingServerRequests + //! ISessionProviderRequests + //! Requests made to the service providing server/fleet management by the server + class ISessionProviderRequests { public: - AZ_RTTI(ISessionHandlingServerRequests, "{4F0C17BA-F470-4242-A8CB-EC7EA805257C}"); - ISessionHandlingServerRequests() = default; - virtual ~ISessionHandlingServerRequests() = default; + AZ_RTTI(ISessionProviderRequests, "{4F0C17BA-F470-4242-A8CB-EC7EA805257C}"); + ISessionProviderRequests() = default; + virtual ~ISessionProviderRequests() = default; // Handle the destroy session process virtual void HandleDestroySession() = 0; @@ -84,9 +84,14 @@ namespace AzFramework // @param playerConnectionConfig The required properties to handle the player leave session process virtual void HandlePlayerLeaveSession(const PlayerConnectionConfig& playerConnectionConfig) = 0; - // Retrieves the file location of a pem-encoded TLS certificate + // Retrieves the file location of a pem-encoded TLS certificate for Client to Server communication // @return If successful, returns the file location of TLS certificate file; if not successful, returns // empty string. - virtual AZStd::string GetSessionCertificate() = 0; + virtual AZStd::string GetExternalSessionCertificate() = 0; + + // Retrieves the file location of a pem-encoded TLS certificate for Server to Server communication + // @return If successful, returns the file location of TLS certificate file; if not successful, returns + // empty string. + virtual AZStd::string GetInternalSessionCertificate() = 0; }; } // namespace AzFramework diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index ce4b7d8601..18d8bd6e2e 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -169,6 +170,24 @@ namespace Multiplayer AZ::TickBus::Handler::BusDisconnect(); } + bool MultiplayerSystemComponent::RequestPlayerJoinSession(const AzFramework::SessionConnectionConfig& config) + { + AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::Client); + INetworkInterface* networkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MPNetworkInterfaceName)); + + const IpAddress ipAddress(config.m_ipAddress.c_str(), config.m_port, networkInterface->GetType()); + networkInterface->Connect(ipAddress); + return true; + } + + void MultiplayerSystemComponent::RequestPlayerLeaveSession() + { + AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::Uninitialized); + INetworkInterface* networkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MPNetworkInterfaceName)); + auto visitor = [](IConnection& connection) { connection.Disconnect(DisconnectReason::TerminatedByUser, TerminationEndpoint::Local); }; + networkInterface->GetConnectionSet().VisitConnections(visitor); + } + bool MultiplayerSystemComponent::OnSessionHealthCheck() { return true; @@ -176,6 +195,21 @@ namespace Multiplayer bool MultiplayerSystemComponent::OnCreateSessionBegin(const AzFramework::SessionConfig& sessionConfig) { + // Check if session manager has a certificate for us and pass it along if so + AZ::CVarFixedString externalCertPath = AZ::CVarFixedString(AZ::Interface::Get()->GetExternalSessionCertificate()); + if (!externalCertPath.empty()) + { + AZ::CVarFixedString commandString = "net_SslExternalCertificateFile " + externalCertPath; + AZ::Interface::Get()->PerformCommand(commandString.c_str()); + } + + AZ::CVarFixedString internalCertPath = AZ::CVarFixedString(AZ::Interface::Get()->GetInternalSessionCertificate()); + if (!internalCertPath.empty()) + { + AZ::CVarFixedString commandString = "net_SslInternalCertificateFile " + internalCertPath; + AZ::Interface::Get()->PerformCommand(commandString.c_str()); + } + Multiplayer::MultiplayerAgentType serverType = sv_isDedicated ? MultiplayerAgentType::DedicatedServer : MultiplayerAgentType::ClientServer; AZ::Interface::Get()->InitializeMultiplayer(serverType); return m_networkInterface->Listen(sessionConfig.m_port); @@ -497,6 +531,10 @@ namespace Multiplayer { AZLOG_INFO("New incoming connection from remote address: %s", connection->GetRemoteAddress().GetString().c_str()); m_connAcquiredEvent.Signal(datum); + AzFramework::PlayerConnectionConfig config; + config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); + config.m_playerSessionId = AZStd::to_string(config.m_playerConnectionId); + AZ::Interface::Get()->ValidatePlayerJoinSession(config); } // Hosts will spawn a new default player prefab for the user that just connected @@ -558,6 +596,34 @@ namespace Multiplayer delete connectionData; connection->SetUserData(nullptr); } + + // Signal to session management that a user triggered a disconnect + if (m_agentType == MultiplayerAgentType::Client && connection->GetConnectionRole() == ConnectionRole::Connector) + { + AZ::Interface::Get()->LeaveSession(); + } + + // Signal to session management that a user has left the server + if (m_agentType == MultiplayerAgentType::DedicatedServer || m_agentType == MultiplayerAgentType::ClientServer) + { + if (connection->GetConnectionRole() == ConnectionRole::Connector) + { + AzFramework::PlayerConnectionConfig config; + config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); + config.m_playerSessionId = AZStd::to_string(config.m_playerConnectionId); + AZ::Interface::Get()->HandlePlayerLeaveSession(config); + } + } + + // Signal to session management when there are no remaining players in a dedicated server for potential cleanup + // We avoid this for client server as the host itself is a user + if (m_agentType == MultiplayerAgentType::DedicatedServer) + { + if (m_networkInterface->GetConnectionSet().GetConnectionCount() == 0) + { + AZ::Interface::Get()->HandleDestroySession(); + } + } } MultiplayerAgentType MultiplayerSystemComponent::GetAgentType() const @@ -788,6 +854,7 @@ namespace Multiplayer } AZ_CONSOLEFREEFUNC(host, AZ::ConsoleFunctorFlags::DontReplicate, "Opens a multiplayer connection as a host for other clients to connect to"); + void connect([[maybe_unused]] const AZ::ConsoleCommandContainer& arguments) { AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::Client); diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h index ab3e54ad6d..505df52a6a 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h @@ -25,6 +25,8 @@ #include #include #include +#include +#include #include #include @@ -45,6 +47,7 @@ namespace Multiplayer : public AZ::Component , public AZ::TickBus::Handler , public AzFramework::SessionNotificationBus::Handler + , public AzFramework::ISessionLocalUserRequests , public AzNetworking::IConnectionListener , public IMultiplayer { @@ -96,6 +99,12 @@ namespace Multiplayer void OnDisconnect(AzNetworking::IConnection* connection, AzNetworking::DisconnectReason reason, AzNetworking::TerminationEndpoint endpoint) override; //! @} + //! ISessionLocalUserRequests interface + //! @{ + bool RequestPlayerJoinSession(const AzFramework::SessionConnectionConfig& sessionConnectionConfig) override; + void RequestPlayerLeaveSession() override; + //! @} + //! IMultiplayer interface //! @{ MultiplayerAgentType GetAgentType() const override; From 03989f77bb120188bad5c0cb9fdd973becd988f7 Mon Sep 17 00:00:00 2001 From: puvvadar Date: Mon, 7 Jun 2021 17:06:00 -0700 Subject: [PATCH 012/205] Cleanup includes --- Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp | 1 - Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h | 1 - 2 files changed, 2 deletions(-) diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index 18d8bd6e2e..44e17c0ef4 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h index 505df52a6a..f6ca670d87 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include From 6f4c0c2ce898dcdf84cb02c0e34e3e740a72c1ae Mon Sep 17 00:00:00 2001 From: puvvadar Date: Mon, 7 Jun 2021 17:12:29 -0700 Subject: [PATCH 013/205] Rename interfaces for clarity --- .../Session/ISessionHandlingRequests.h | 20 +++++++++---------- .../Source/MultiplayerSystemComponent.cpp | 12 ++++++----- .../Code/Source/MultiplayerSystemComponent.h | 4 ++-- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h b/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h index 2537842d8a..10c1d1cdd5 100644 --- a/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h +++ b/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h @@ -45,14 +45,14 @@ namespace AzFramework AZStd::string m_playerSessionId; }; - //! ISessionLocalUserRequests - //! Requests made to the local user to manage their connection to a session - class ISessionLocalUserRequests + //! ISessionHandlingClientRequests + //! Requests made to the client to manage their connection to a session + class ISessionHandlingClientRequests { public: - AZ_RTTI(ISessionLocalUserRequests, "{41DE6BD3-72BC-4443-BFF9-5B1B9396657A}"); - ISessionLocalUserRequests() = default; - virtual ~ISessionLocalUserRequests() = default; + AZ_RTTI(ISessionHandlingClientRequests, "{41DE6BD3-72BC-4443-BFF9-5B1B9396657A}"); + ISessionHandlingClientRequests() = default; + virtual ~ISessionHandlingClientRequests() = default; // Request the player join session // @param sessionConnectionConfig The required properties to handle the player join session process @@ -65,12 +65,12 @@ namespace AzFramework //! ISessionProviderRequests //! Requests made to the service providing server/fleet management by the server - class ISessionProviderRequests + class ISessionHandlingProviderRequests { public: - AZ_RTTI(ISessionProviderRequests, "{4F0C17BA-F470-4242-A8CB-EC7EA805257C}"); - ISessionProviderRequests() = default; - virtual ~ISessionProviderRequests() = default; + AZ_RTTI(ISessionHandlingProviderRequests, "{4F0C17BA-F470-4242-A8CB-EC7EA805257C}"); + ISessionHandlingProviderRequests() = default; + virtual ~ISessionHandlingProviderRequests() = default; // Handle the destroy session process virtual void HandleDestroySession() = 0; diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index 44e17c0ef4..336f27e7e4 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -157,6 +157,7 @@ namespace Multiplayer m_networkInterface = AZ::Interface::Get()->CreateNetworkInterface(AZ::Name(MPNetworkInterfaceName), sv_protocol, TrustZone::ExternalClientToServer, *this); m_consoleCommandHandler.Connect(AZ::Interface::Get()->GetConsoleCommandInvokedEvent()); AZ::Interface::Register(this); + AZ::Interface::Register(this); //! Register our gems multiplayer components to assign NetComponentIds RegisterMultiplayerComponents(); @@ -164,6 +165,7 @@ namespace Multiplayer void MultiplayerSystemComponent::Deactivate() { + AZ::Interface::Unregister(this); AZ::Interface::Unregister(this); AzFramework::SessionNotificationBus::Handler::BusDisconnect(); AZ::TickBus::Handler::BusDisconnect(); @@ -195,14 +197,14 @@ namespace Multiplayer bool MultiplayerSystemComponent::OnCreateSessionBegin(const AzFramework::SessionConfig& sessionConfig) { // Check if session manager has a certificate for us and pass it along if so - AZ::CVarFixedString externalCertPath = AZ::CVarFixedString(AZ::Interface::Get()->GetExternalSessionCertificate()); + AZ::CVarFixedString externalCertPath = AZ::CVarFixedString(AZ::Interface::Get()->GetExternalSessionCertificate()); if (!externalCertPath.empty()) { AZ::CVarFixedString commandString = "net_SslExternalCertificateFile " + externalCertPath; AZ::Interface::Get()->PerformCommand(commandString.c_str()); } - AZ::CVarFixedString internalCertPath = AZ::CVarFixedString(AZ::Interface::Get()->GetInternalSessionCertificate()); + AZ::CVarFixedString internalCertPath = AZ::CVarFixedString(AZ::Interface::Get()->GetInternalSessionCertificate()); if (!internalCertPath.empty()) { AZ::CVarFixedString commandString = "net_SslInternalCertificateFile " + internalCertPath; @@ -533,7 +535,7 @@ namespace Multiplayer AzFramework::PlayerConnectionConfig config; config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); config.m_playerSessionId = AZStd::to_string(config.m_playerConnectionId); - AZ::Interface::Get()->ValidatePlayerJoinSession(config); + AZ::Interface::Get()->ValidatePlayerJoinSession(config); } // Hosts will spawn a new default player prefab for the user that just connected @@ -610,7 +612,7 @@ namespace Multiplayer AzFramework::PlayerConnectionConfig config; config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); config.m_playerSessionId = AZStd::to_string(config.m_playerConnectionId); - AZ::Interface::Get()->HandlePlayerLeaveSession(config); + AZ::Interface::Get()->HandlePlayerLeaveSession(config); } } @@ -620,7 +622,7 @@ namespace Multiplayer { if (m_networkInterface->GetConnectionSet().GetConnectionCount() == 0) { - AZ::Interface::Get()->HandleDestroySession(); + AZ::Interface::Get()->HandleDestroySession(); } } } diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h index f6ca670d87..c089b243bd 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h @@ -46,7 +46,7 @@ namespace Multiplayer : public AZ::Component , public AZ::TickBus::Handler , public AzFramework::SessionNotificationBus::Handler - , public AzFramework::ISessionLocalUserRequests + , public AzFramework::ISessionHandlingClientRequests , public AzNetworking::IConnectionListener , public IMultiplayer { @@ -98,7 +98,7 @@ namespace Multiplayer void OnDisconnect(AzNetworking::IConnection* connection, AzNetworking::DisconnectReason reason, AzNetworking::TerminationEndpoint endpoint) override; //! @} - //! ISessionLocalUserRequests interface + //! ISessionHandlingClientRequests interface //! @{ bool RequestPlayerJoinSession(const AzFramework::SessionConnectionConfig& sessionConnectionConfig) override; void RequestPlayerLeaveSession() override; From 45b1bbc85cd273a5f0392488b862b2395620e005 Mon Sep 17 00:00:00 2001 From: puvvadar Date: Mon, 7 Jun 2021 17:13:52 -0700 Subject: [PATCH 014/205] Fix duplicate include --- Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index 336f27e7e4..bd5f4e63de 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -36,7 +36,6 @@ #include #include #include -#include #include From 2b227a17d1ce1ddad9517c3ffa9b83ca269f8885 Mon Sep 17 00:00:00 2001 From: puvvadar Date: Mon, 7 Jun 2021 17:20:12 -0700 Subject: [PATCH 015/205] Remove extraneous code --- .../Multiplayer/Code/Source/MultiplayerSystemComponent.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index bd5f4e63de..6f8569251f 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -597,12 +597,6 @@ namespace Multiplayer connection->SetUserData(nullptr); } - // Signal to session management that a user triggered a disconnect - if (m_agentType == MultiplayerAgentType::Client && connection->GetConnectionRole() == ConnectionRole::Connector) - { - AZ::Interface::Get()->LeaveSession(); - } - // Signal to session management that a user has left the server if (m_agentType == MultiplayerAgentType::DedicatedServer || m_agentType == MultiplayerAgentType::ClientServer) { @@ -854,7 +848,6 @@ namespace Multiplayer } AZ_CONSOLEFREEFUNC(host, AZ::ConsoleFunctorFlags::DontReplicate, "Opens a multiplayer connection as a host for other clients to connect to"); - void connect([[maybe_unused]] const AZ::ConsoleCommandContainer& arguments) { AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::Client); From a30d9621d5e930d66fc6ed7fda4fdb2b288866ae Mon Sep 17 00:00:00 2001 From: antonmic Date: Mon, 7 Jun 2021 23:05:36 -0700 Subject: [PATCH 016/205] Pass changes WIP: various fixes, exposure sample now works --- .../Code/Source/CoreLights/LightCullingTilePreparePass.cpp | 2 +- .../Feature/Common/Code/Source/PostProcessing/TaaPass.cpp | 4 ++-- .../Feature/Common/Code/Source/PostProcessing/TaaPass.h | 2 +- Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 3 +-- Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp | 6 +++--- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.cpp index c144525cec..4f2a4f0346 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/LightCullingTilePreparePass.cpp @@ -176,7 +176,7 @@ namespace AZ { LoadShader(); AZ_Assert(GetPassState() != RPI::PassState::Rendering, "LightCullingTilePreparePass: Trying to reload shader during rendering"); - if (GetPassState() == RPI::PassState::Initialized) + if (GetPassState() == RPI::PassState::Idle) { ChooseShaderVariant(); } diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/TaaPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/TaaPass.cpp index 9f885ede70..38e03ab156 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/TaaPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/TaaPass.cpp @@ -108,7 +108,7 @@ namespace AZ::Render Base::ResetInternal(); } - void TaaPass::BuildAttachmentsInternal() + void TaaPass::BuildInternal() { m_accumulationAttachments[0] = FindAttachment(Name("Accumulation1")); m_accumulationAttachments[1] = FindAttachment(Name("Accumulation2")); @@ -143,7 +143,7 @@ namespace AZ::Render m_outputColorBinding->SetAttachment(m_accumulationAttachments[1]); } - Base::BuildAttachmentsInternal(); + Base::BuildInternal(); } void TaaPass::UpdateAttachmentImage(RPI::Ptr& attachment) diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/TaaPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/TaaPass.h index 6133720691..e8f4796e7b 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/TaaPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/TaaPass.h @@ -63,7 +63,7 @@ namespace AZ::Render // Pass behavior overrides... void FrameBeginInternal(FramePrepareParams params) override; void ResetInternal() override; - void BuildAttachmentsInternal() override; + void BuildInternal() override; void UpdateAttachmentImage(RPI::Ptr& attachment); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index 4002216361..78e30e7176 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -1160,8 +1160,6 @@ namespace AZ { AZ_RPI_BREAK_ON_TARGET_PASS; - AZ_Assert(m_state == PassState::Reset, "ANTON - BUILDING PASS BUT STATE IS NOT RESET!!"); - bool execute = (m_state == PassState::Idle || m_state == PassState::Reset); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); @@ -1180,6 +1178,7 @@ namespace AZ } #endif + AZ_Assert(m_state == PassState::Reset, "ANTON - BUILDING PASS BUT STATE IS NOT RESET!!"); m_state = PassState::Building; // Bindings, inputs and attachments diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index a7021ee6fd..76ea52b4a3 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -217,7 +217,7 @@ namespace AZ Pass* previousPassInList = nullptr; for (const Ptr& pass : buildListCopy) { - if (pass.get() != previousPassInList); + if (pass.get() != previousPassInList) { pass->Reset(); previousPassInList = pass.get(); @@ -226,7 +226,7 @@ namespace AZ previousPassInList = nullptr; for (const Ptr& pass : buildListCopy) { - if (pass.get() != previousPassInList); + if (pass.get() != previousPassInList) { pass->Build(true); previousPassInList = pass.get(); @@ -276,7 +276,7 @@ namespace AZ Pass* previousPassInList = nullptr; for (const Ptr& pass : initListCopy) { - if (pass.get() != previousPassInList); + if (pass.get() != previousPassInList) { pass->Initialize(); previousPassInList = pass.get(); From 6973d9c7a3c4593b66aadea908d8c097248f3c20 Mon Sep 17 00:00:00 2001 From: antonmic Date: Tue, 8 Jun 2021 12:03:58 -0700 Subject: [PATCH 017/205] Pass changes WIP: moved child pass creation to Build phase --- .../DisplayMapper/DisplayMapperPass.cpp | 68 ++++--------------- .../Source/LuxCore/LuxCoreTexturePass.cpp | 4 -- .../DepthOfFieldReadBackFocusDepthPass.cpp | 33 +++++---- .../DepthOfFieldReadBackFocusDepthPass.h | 1 + .../ReflectionScreenSpaceBlurPass.cpp | 8 +-- .../ReflectionScreenSpaceBlurPass.h | 3 +- .../Include/Atom/RPI.Public/Pass/ParentPass.h | 2 +- .../Code/Include/Atom/RPI.Public/Pass/Pass.h | 2 + .../Source/RPI.Public/Pass/ParentPass.cpp | 15 ++-- .../Pass/Specific/EnvironmentCubeMapPass.cpp | 4 -- .../Pass/Specific/SwapChainPass.cpp | 4 -- .../Code/Source/RPI.Public/RenderPipeline.cpp | 2 + 12 files changed, 49 insertions(+), 97 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp index b6fa0b5c41..f5b301ca5c 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp @@ -46,8 +46,6 @@ namespace AZ DisplayMapperPass::DisplayMapperPass(const RPI::PassDescriptor& descriptor) : RPI::ParentPass(descriptor) { - m_flags.m_alreadyCreated = false; - AzFramework::NativeWindowHandle windowHandle = nullptr; AzFramework::WindowSystemRequestBus::BroadcastResult( windowHandle, @@ -61,8 +59,6 @@ namespace AZ { m_displayMapperConfigurationDescriptor = passData->m_config; } - - m_needToRebuildChildren = true; } DisplayMapperPass::~DisplayMapperPass() @@ -199,24 +195,14 @@ namespace AZ void DisplayMapperPass::FrameEndInternal() { GetDisplayMapperConfiguration(); - if (m_needToRebuildChildren) - { - ClearChildren(); - BuildGradingLutTemplate(); - CreateGradingAndAcesPasses(); - } ParentPass::FrameEndInternal(); } void DisplayMapperPass::CreateChildPassesInternal() { - if (m_needToRebuildChildren) - { - ClearChildren(); - BuildGradingLutTemplate(); - CreateGradingAndAcesPasses(); - } - ParentPass::CreateChildPassesInternal(); + ClearChildren(); + BuildGradingLutTemplate(); + CreateGradingAndAcesPasses(); } AZStd::shared_ptr CreatePassTemplateHelper( @@ -485,7 +471,6 @@ namespace AZ { AddChild(m_ldrGradingLookupTablePass); } - m_needToRebuildChildren = false; } void DisplayMapperPass::GetDisplayMapperConfiguration() @@ -513,7 +498,8 @@ namespace AZ desc.m_ldrColorGradingLut != m_displayMapperConfigurationDescriptor.m_ldrColorGradingLut || desc.m_acesParameterOverrides.m_overrideDefaults != m_displayMapperConfigurationDescriptor.m_acesParameterOverrides.m_overrideDefaults) { - m_needToRebuildChildren = true; + m_flags.m_createChildren = true; + QueueForBuild(); } m_displayMapperConfigurationDescriptor = desc; } @@ -527,41 +513,15 @@ namespace AZ void DisplayMapperPass::ClearChildren() { - if (m_acesOutputTransformPass) - { - RemoveChild(m_acesOutputTransformPass); - m_acesOutputTransformPass = nullptr; - } - if (m_bakeAcesOutputTransformLutPass) - { - RemoveChild(m_bakeAcesOutputTransformLutPass); - m_bakeAcesOutputTransformLutPass = nullptr; - } - if (m_acesOutputTransformLutPass) - { - RemoveChild(m_acesOutputTransformLutPass); - m_acesOutputTransformLutPass = nullptr; - } - if (m_displayMapperPassthroughPass) - { - RemoveChild(m_displayMapperPassthroughPass); - m_displayMapperPassthroughPass = nullptr; - } - if (m_displayMapperOnlyGammaCorrectionPass) - { - RemoveChild(m_displayMapperOnlyGammaCorrectionPass); - m_displayMapperOnlyGammaCorrectionPass = nullptr; - } - if (m_ldrGradingLookupTablePass) - { - RemoveChild(m_ldrGradingLookupTablePass); - m_ldrGradingLookupTablePass = nullptr; - } - if (m_outputTransformPass) - { - RemoveChild(m_outputTransformPass); - m_outputTransformPass = nullptr; - } + RemoveChildren(); + + m_acesOutputTransformPass = nullptr; + m_bakeAcesOutputTransformLutPass = nullptr; + m_acesOutputTransformLutPass = nullptr; + m_displayMapperPassthroughPass = nullptr; + m_displayMapperOnlyGammaCorrectionPass = nullptr; + m_ldrGradingLookupTablePass = nullptr; + m_outputTransformPass = nullptr; } } // namespace Render } // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp b/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp index 7708605e29..724511b355 100644 --- a/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/LuxCore/LuxCoreTexturePass.cpp @@ -28,8 +28,6 @@ namespace AZ LuxCoreTexturePass::LuxCoreTexturePass(const RPI::PassDescriptor& descriptor) : ParentPass(descriptor) { - m_flags.m_alreadyCreated = false; - RPI::PassSystemInterface* passSystem = RPI::PassSystemInterface::Get(); // Create render target pass @@ -41,8 +39,6 @@ namespace AZ // Create readback m_readback = AZStd::make_shared(AZ::RHI::ScopeId{ Uuid::CreateRandom().ToString() }); - - CreateChildPasses(); } LuxCoreTexturePass::~LuxCoreTexturePass() diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldReadBackFocusDepthPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldReadBackFocusDepthPass.cpp index c355b7c8a7..6050ac2b2e 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldReadBackFocusDepthPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldReadBackFocusDepthPass.cpp @@ -34,18 +34,6 @@ namespace AZ DepthOfFieldReadBackFocusDepthPass::DepthOfFieldReadBackFocusDepthPass(const RPI::PassDescriptor& descriptor) : ParentPass(descriptor) { - RPI::PassSystemInterface* passSystem = RPI::PassSystemInterface::Get(); - - // Create read back pass - m_readbackPass = passSystem->CreatePass(AZ::Name("DepthOfFieldReadBackPass")); - AZ_Assert(m_readbackPass, "DepthOfFieldReadBackFocusDepthPass : read back pass is invalid"); - - AddChild(m_readbackPass); - - // Find GetDepth pass on template - auto pass = FindChildPass(Name("DepthOfFieldWriteFocusDepthFromGpu")); - m_getDepthPass = static_cast(pass.get()); - // Create buffer for read back focus depth. We append static counter to avoid name conflicts. RPI::CommonBufferDescriptor desc; desc.m_bufferName = "DepthOfFieldReadBackAutoFocusDepthBuffer"; @@ -55,9 +43,6 @@ namespace AZ desc.m_bufferData = nullptr; desc.m_elementFormat = RHI::Format::R32_FLOAT; m_buffer = RPI::BufferSystemInterface::Get()->CreateBufferFromCommonPool(desc); - - m_getDepthPass->SetBufferRef(m_buffer); - m_readbackPass->SetBufferRef(m_buffer); } DepthOfFieldReadBackFocusDepthPass::~DepthOfFieldReadBackFocusDepthPass() @@ -85,6 +70,24 @@ namespace AZ } } + void DepthOfFieldReadBackFocusDepthPass::CreateChildPassesInternal() + { + RPI::PassSystemInterface* passSystem = RPI::PassSystemInterface::Get(); + + // Create read back pass + m_readbackPass = passSystem->CreatePass(AZ::Name("DepthOfFieldReadBackPass")); + AZ_Assert(m_readbackPass, "DepthOfFieldReadBackFocusDepthPass : read back pass is invalid"); + + AddChild(m_readbackPass); + + // Find GetDepth pass on template + auto pass = FindChildPass(Name("DepthOfFieldWriteFocusDepthFromGpu")); + m_getDepthPass = static_cast(pass.get()); + + m_getDepthPass->SetBufferRef(m_buffer); + m_readbackPass->SetBufferRef(m_buffer); + } + void DepthOfFieldReadBackFocusDepthPass::FrameBeginInternal(FramePrepareParams params) { RPI::Scene* scene = GetScene(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldReadBackFocusDepthPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldReadBackFocusDepthPass.h index 75842fb67a..db29576d22 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldReadBackFocusDepthPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldReadBackFocusDepthPass.h @@ -43,6 +43,7 @@ namespace AZ protected: // Pass behavior overrides... + void CreateChildPassesInternal() override; void FrameBeginInternal(FramePrepareParams params) override; private: diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.cpp b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.cpp index 680d117b98..631ff803dd 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.cpp @@ -47,7 +47,7 @@ namespace AZ RemoveChildren(); } - void ReflectionScreenSpaceBlurPass::CreateChildPasses(uint32_t numBlurMips) + void ReflectionScreenSpaceBlurPass::CreateChildPassesInternal() { RPI::PassSystemInterface* passSystem = RPI::PassSystemInterface::Get(); @@ -83,7 +83,7 @@ namespace AZ horizontalBlurChildDesc.m_passTemplate = blurHorizontalPassTemplate; // add child passes to perform the vertical and horizontal Gaussian blur for each roughness mip level - for (uint32_t mip = 0; mip < numBlurMips; ++mip) + for (uint32_t mip = 0; mip < m_numBlurMips; ++mip) { // create Vertical blur child passes { @@ -116,6 +116,7 @@ namespace AZ void ReflectionScreenSpaceBlurPass::BuildInternal() { RemoveChildren(); + m_flags.m_createChildren = true; Data::Instance pool = RPI::ImageSystemInterface::Get()->GetSystemAttachmentPool(); @@ -163,8 +164,7 @@ namespace AZ m_ownedAttachments.push_back(transientPassAttachment); } - // create child passes, one vertical and one horizontal blur per mip level - CreateChildPasses(mipLevels - 1); + m_numBlurMips = mipLevels - 1; // call ParentPass::BuildInternal() first to configure the slots and auto-add the empty bindings, // then we will assign attachments to the bindings diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h index f344fc8e9b..4a2ccce1d4 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h @@ -40,7 +40,7 @@ namespace AZ private: explicit ReflectionScreenSpaceBlurPass(const RPI::PassDescriptor& descriptor); - void CreateChildPasses(uint32_t numBlurMips); + void CreateChildPassesInternal() override; // Pass Overrides... void ResetInternal() override; @@ -50,6 +50,7 @@ namespace AZ AZStd::vector> m_horizontalBlurChildPasses; Data::Instance m_frameBufferImageAttachment; + uint32_t m_numBlurMips = 0; }; } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h index ca7baf1a0f..727398040d 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/ParentPass.h @@ -118,7 +118,7 @@ namespace AZ // Finds the pass in m_children and removes it void RemoveChild(Ptr pass); - // Orphans all children from clearing m_children. + // Orphans all children by clearing m_children. void RemoveChildren(); private: diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index a184e8ed32..1cfd2e759e 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -40,6 +40,7 @@ friend class PassSystem; \ friend class PassFactory; \ friend class ParentPass; \ + friend class RenderPipeline; \ friend class UnitTest::PassTests; \ namespace UnitTest @@ -394,6 +395,7 @@ namespace AZ uint64_t m_initialized : 1; uint64_t m_alreadyCreated : 1; + uint64_t m_createChildren : 1; // OLD SCHOOL uint64_t m_alreadyPrepared : 1; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp index 6b95a6e17a..e06ffca556 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp @@ -40,7 +40,7 @@ namespace AZ ParentPass::ParentPass(const PassDescriptor& descriptor) : Pass(descriptor) { - CreateChildPasses(); + m_flags.m_createChildren = true; } ParentPass::~ParentPass() @@ -248,7 +248,7 @@ namespace AZ void ParentPass::CreateChildPasses() { - if (m_flags.m_alreadyCreated) + if (!m_flags.m_createChildren || m_flags.m_alreadyCreated) { return; } @@ -258,14 +258,7 @@ namespace AZ CreatePassesFromTemplate(); CreateChildPassesInternal(); - for (Ptr& child : m_children) - { - ParentPass* asParent = child->AsParent(); - if (asParent != nullptr) - { - asParent->CreateChildPasses(); - } - } + m_flags.m_createChildren = false; } void ParentPass::ResetInternal() @@ -278,6 +271,8 @@ namespace AZ void ParentPass::BuildInternal() { + CreateChildPasses(); + for (const Ptr& child : m_children) { child->Build(); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp index be06343ab9..28a03de297 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/EnvironmentCubeMapPass.cpp @@ -37,8 +37,6 @@ namespace AZ EnvironmentCubeMapPass::EnvironmentCubeMapPass(const PassDescriptor& passDescriptor) : ParentPass(passDescriptor) { - m_flags.m_alreadyCreated = false; - // load pass data const EnvironmentCubeMapPassData* passData = PassUtils::GetPassData(passDescriptor); if (passData == nullptr) @@ -88,8 +86,6 @@ namespace AZ AZ::Matrix4x4 viewToClipMatrix; MakePerspectiveFovMatrixRH(viewToClipMatrix, AZ::Constants::HalfPi, 1.0f, 0.1f, 100.0f, true); m_view->SetViewToClipMatrix(viewToClipMatrix); - - CreateChildPasses(); } EnvironmentCubeMapPass::~EnvironmentCubeMapPass() diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp index 45fb890e91..a7add17042 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp @@ -26,8 +26,6 @@ namespace AZ , m_windowContext(windowContext) , m_childTemplateName(childTemplateName) { - m_flags.m_alreadyCreated = false; - PassSystemInterface* passSystem = PassSystemInterface::Get(); // Create child pass @@ -44,8 +42,6 @@ namespace AZ m_childPass = passSystem->CreatePassFromRequest(&childRequest); AZ_Assert(m_childPass, "SwapChain child pass is invalid: check your passs pipeline, run configuration and your AssetProcessor set project (project_path)"); - - CreateChildPasses(); AzFramework::WindowNotificationBus::Handler::BusConnect(m_windowContext->GetWindowHandle()); } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp index 86d76287bb..2c4c61f5aa 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp @@ -107,6 +107,8 @@ namespace AZ pipeline->m_originalRenderSettings = desc.m_renderSettings; pipeline->m_activeRenderSettings = desc.m_renderSettings; pipeline->m_rootPass->SetRenderPipeline(pipeline); + pipeline->m_rootPass->Build(); + pipeline->m_rootPass->Initialize(); pipeline->BuildPipelineViews(); } From fa55b495c4401b3ac626ec352e59e8a7107871c1 Mon Sep 17 00:00:00 2001 From: puvvadar Date: Tue, 8 Jun 2021 13:36:27 -0700 Subject: [PATCH 018/205] Add handling for session provider ticket --- .../Session/ISessionHandlingRequests.h | 6 +- .../AutoGen/Multiplayer.AutoPackets.xml | 1 + .../ClientToServerConnectionData.cpp | 4 +- .../ClientToServerConnectionData.h | 6 +- .../ClientToServerConnectionData.inl | 5 ++ .../ServerToClientConnectionData.h | 3 + .../ServerToClientConnectionData.inl | 10 +++ .../Source/MultiplayerSystemComponent.cpp | 65 +++++++++++++------ 8 files changed, 75 insertions(+), 25 deletions(-) diff --git a/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h b/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h index 10c1d1cdd5..d55f38f65c 100644 --- a/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h +++ b/Code/Framework/AzFramework/AzFramework/Session/ISessionHandlingRequests.h @@ -46,7 +46,7 @@ namespace AzFramework }; //! ISessionHandlingClientRequests - //! Requests made to the client to manage their connection to a session + //! Requests made to the client to manage their membership in a session class ISessionHandlingClientRequests { public: @@ -87,11 +87,11 @@ namespace AzFramework // Retrieves the file location of a pem-encoded TLS certificate for Client to Server communication // @return If successful, returns the file location of TLS certificate file; if not successful, returns // empty string. - virtual AZStd::string GetExternalSessionCertificate() = 0; + virtual AZ::IO::Path GetExternalSessionCertificate() = 0; // Retrieves the file location of a pem-encoded TLS certificate for Server to Server communication // @return If successful, returns the file location of TLS certificate file; if not successful, returns // empty string. - virtual AZStd::string GetInternalSessionCertificate() = 0; + virtual AZ::IO::Path GetInternalSessionCertificate() = 0; }; } // namespace AzFramework diff --git a/Gems/Multiplayer/Code/Source/AutoGen/Multiplayer.AutoPackets.xml b/Gems/Multiplayer/Code/Source/AutoGen/Multiplayer.AutoPackets.xml index 642832805d..ce8931107f 100644 --- a/Gems/Multiplayer/Code/Source/AutoGen/Multiplayer.AutoPackets.xml +++ b/Gems/Multiplayer/Code/Source/AutoGen/Multiplayer.AutoPackets.xml @@ -9,6 +9,7 @@ + diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.cpp b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.cpp index ee308f6ed8..11207df27d 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.cpp +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.cpp @@ -21,10 +21,12 @@ namespace Multiplayer ClientToServerConnectionData::ClientToServerConnectionData ( AzNetworking::IConnection* connection, - AzNetworking::IConnectionListener& connectionListener + AzNetworking::IConnectionListener& connectionListener, + AZStd::string providerTicket ) : m_connection(connection) , m_entityReplicationManager(*connection, connectionListener, EntityReplicationManager::Mode::LocalClientToRemoteServer) + , m_providerTicket(providerTicket) { m_entityReplicationManager.SetMaxRemoteEntitiesPendingCreationCount(cl_ClientMaxRemoteEntitiesPendingCreationCount); m_entityReplicationManager.SetEntityPendingRemovalMs(cl_ClientEntityReplicatorPendingRemovalTimeMs); diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h index 2e7be47842..52c5dea00d 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h @@ -24,7 +24,8 @@ namespace Multiplayer ClientToServerConnectionData ( AzNetworking::IConnection* connection, - AzNetworking::IConnectionListener& connectionListener + AzNetworking::IConnectionListener& connectionListener, + AZStd::string providerTicket = "" ); ~ClientToServerConnectionData() override; @@ -38,8 +39,11 @@ namespace Multiplayer void SetCanSendUpdates(bool canSendUpdates) override; //! @} + AZStd::string GetProviderTicket() const; + private: EntityReplicationManager m_entityReplicationManager; + AZStd::string m_providerTicket; AzNetworking::IConnection* m_connection = nullptr; bool m_canSendUpdates = true; }; diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl index 6d4a332b6e..f23c8dd1d9 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl @@ -21,4 +21,9 @@ namespace Multiplayer { m_canSendUpdates = canSendUpdates; } + + inline AZStd::string ClientToServerConnectionData::GetProviderTicket() const + { + return m_providerTicket; + } } diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h index faa11bc225..c171cdbe5d 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h @@ -41,6 +41,8 @@ namespace Multiplayer NetworkEntityHandle GetPrimaryPlayerEntity(); const NetworkEntityHandle& GetPrimaryPlayerEntity() const; + AZStd::string GetProviderTicket() const; + void SetProviderTicket(AZStd::string); private: void OnControlledEntityRemove(); @@ -51,6 +53,7 @@ namespace Multiplayer NetworkEntityHandle m_controlledEntity; EntityStopEvent::Handler m_controlledEntityRemovedHandler; EntityServerMigrationEvent::Handler m_controlledEntityMigrationHandler; + AZStd::string m_ticket; AzNetworking::IConnection* m_connection = nullptr; bool m_canSendUpdates = false; }; diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl index 0a4215a363..0427936f00 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl @@ -32,4 +32,14 @@ namespace Multiplayer { return m_controlledEntity; } + + inline AZStd::string ServerToClientConnectionData::GetProviderTicket() const + { + return m_ticket; + } + + inline void ServerToClientConnectionData::SetProviderTicket(AZStd::string ticket) + { + m_ticket = ticket; + } } diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index 6f8569251f..d0d2c609b3 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -176,7 +176,13 @@ namespace Multiplayer INetworkInterface* networkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MPNetworkInterfaceName)); const IpAddress ipAddress(config.m_ipAddress.c_str(), config.m_port, networkInterface->GetType()); - networkInterface->Connect(ipAddress); + ConnectionId connectionId = networkInterface->Connect(ipAddress); + + AzNetworking::IConnection* connection = networkInterface->GetConnectionSet().GetConnection(connectionId); + if (connection->GetUserData() == nullptr) // Only add user data if the connect event handler has not already done so + { + connection->SetUserData(new ClientToServerConnectionData(connection, *this, config.m_playerSessionId)); + } return true; } @@ -196,18 +202,23 @@ namespace Multiplayer bool MultiplayerSystemComponent::OnCreateSessionBegin(const AzFramework::SessionConfig& sessionConfig) { // Check if session manager has a certificate for us and pass it along if so - AZ::CVarFixedString externalCertPath = AZ::CVarFixedString(AZ::Interface::Get()->GetExternalSessionCertificate()); - if (!externalCertPath.empty()) + if (AZ::Interface::Get() != nullptr) { - AZ::CVarFixedString commandString = "net_SslExternalCertificateFile " + externalCertPath; - AZ::Interface::Get()->PerformCommand(commandString.c_str()); - } + AZ::CVarFixedString externalCertPath = AZ::CVarFixedString( + AZ::Interface::Get()->GetExternalSessionCertificate().c_str()); + if (!externalCertPath.empty()) + { + AZ::CVarFixedString commandString = "net_SslExternalCertificateFile " + externalCertPath; + AZ::Interface::Get()->PerformCommand(commandString.c_str()); + } - AZ::CVarFixedString internalCertPath = AZ::CVarFixedString(AZ::Interface::Get()->GetInternalSessionCertificate()); - if (!internalCertPath.empty()) - { - AZ::CVarFixedString commandString = "net_SslInternalCertificateFile " + internalCertPath; - AZ::Interface::Get()->PerformCommand(commandString.c_str()); + AZ::CVarFixedString internalCertPath = AZ::CVarFixedString( + AZ::Interface::Get()->GetInternalSessionCertificate().c_str()); + if (!internalCertPath.empty()) + { + AZ::CVarFixedString commandString = "net_SslInternalCertificateFile " + internalCertPath; + AZ::Interface::Get()->PerformCommand(commandString.c_str()); + } } Multiplayer::MultiplayerAgentType serverType = sv_isDedicated ? MultiplayerAgentType::DedicatedServer : MultiplayerAgentType::ClientServer; @@ -370,6 +381,17 @@ namespace Multiplayer { if (connection->SendReliablePacket(MultiplayerPackets::Accept(InvalidHostId, sv_map))) { + // Validate our session with the provider if any + if (AZ::Interface::Get() != nullptr) + { + AzFramework::PlayerConnectionConfig config; + config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); + config.m_playerSessionId = packet.GetTicket(); + AZ::Interface::Get()->ValidatePlayerJoinSession(config); + + reinterpret_cast(connection->GetUserData())->SetProviderTicket(packet.GetTicket().c_str()); + } + // Sync our console ConsoleReplicator consoleReplicator(connection); AZ::Interface::Get()->VisitRegisteredFunctors([&consoleReplicator](AZ::ConsoleFunctorBase* functor) { consoleReplicator.Visit(functor); }); @@ -525,16 +547,17 @@ namespace Multiplayer if (connection->GetConnectionRole() == ConnectionRole::Connector) { AZLOG_INFO("New outgoing connection to remote address: %s", connection->GetRemoteAddress().GetString().c_str()); - connection->SendReliablePacket(MultiplayerPackets::Connect(0)); + AZ::CVarFixedString providerTicket; + if (connection->GetUserData() != nullptr) + { + providerTicket = reinterpret_cast(connection->GetUserData())->GetProviderTicket(); + } + connection->SendReliablePacket(MultiplayerPackets::Connect(0, providerTicket)); } else { AZLOG_INFO("New incoming connection from remote address: %s", connection->GetRemoteAddress().GetString().c_str()); m_connAcquiredEvent.Signal(datum); - AzFramework::PlayerConnectionConfig config; - config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); - config.m_playerSessionId = AZStd::to_string(config.m_playerConnectionId); - AZ::Interface::Get()->ValidatePlayerJoinSession(config); } // Hosts will spawn a new default player prefab for the user that just connected @@ -600,20 +623,22 @@ namespace Multiplayer // Signal to session management that a user has left the server if (m_agentType == MultiplayerAgentType::DedicatedServer || m_agentType == MultiplayerAgentType::ClientServer) { - if (connection->GetConnectionRole() == ConnectionRole::Connector) + if (AZ::Interface::Get() != nullptr && + connection->GetConnectionRole() == ConnectionRole::Connector) { AzFramework::PlayerConnectionConfig config; config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); - config.m_playerSessionId = AZStd::to_string(config.m_playerConnectionId); + config.m_playerSessionId = reinterpret_cast(connection->GetUserData())->GetProviderTicket(); AZ::Interface::Get()->HandlePlayerLeaveSession(config); } } // Signal to session management when there are no remaining players in a dedicated server for potential cleanup // We avoid this for client server as the host itself is a user - if (m_agentType == MultiplayerAgentType::DedicatedServer) + if (m_agentType == MultiplayerAgentType::DedicatedServer && connection->GetConnectionRole() == ConnectionRole::Connector) { - if (m_networkInterface->GetConnectionSet().GetConnectionCount() == 0) + if (AZ::Interface::Get() != nullptr + && m_networkInterface->GetConnectionSet().GetConnectionCount() == 0) { AZ::Interface::Get()->HandleDestroySession(); } From a766e3af5c08a63e2f6edcddae26376ef8b57dd4 Mon Sep 17 00:00:00 2001 From: chcurran Date: Tue, 8 Jun 2021 13:54:25 -0700 Subject: [PATCH 019/205] Fixes for internal if-branch node parser bug (LYN-4347) and exposing properties for AZStd::tuple (LYN-3910) --- .../AzCore/RTTI/AzStdOnDemandPrettyName.inl | 51 +- .../AzCore/RTTI/AzStdOnDemandReflection.inl | 24 +- .../Grammar/AbstractCodeModel.cpp | 36 +- ...ionIfBranchWithConnectedInput.scriptcanvas | 2499 +++++++++++++++++ .../Tests/ScriptCanvas_RuntimeInterpreted.cpp | 5 + 5 files changed, 2590 insertions(+), 25 deletions(-) create mode 100644 Gems/ScriptCanvasTesting/Assets/ScriptCanvas/UnitTests/LY_SC_UnitTest_ParseFunctionIfBranchWithConnectedInput.scriptcanvas diff --git a/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandPrettyName.inl b/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandPrettyName.inl index 26e269573d..4f4a21301c 100644 --- a/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandPrettyName.inl +++ b/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandPrettyName.inl @@ -161,7 +161,56 @@ namespace AZ return "A pair is an fixed size collection of two elements."; } }; - + + template + void GetTypeNamesFold(AZStd::vector& result, AZ::BehaviorContext& context) + { + result.push_back(OnDemandPrettyName::Get(context)); + }; + + template + void GetTypeNames(AZStd::vector& result, AZ::BehaviorContext& context) + { + (GetTypeNamesFold(result, context), ...); + }; + + template + void GetTypeNamesFold(AZStd::string& result, AZ::BehaviorContext& context) + { + if (!result.empty()) + { + result += ", "; + } + + result += OnDemandPrettyName::Get(context); + }; + + template + void GetTypeNames(AZStd::string& result, AZ::BehaviorContext& context) + { + (GetTypeNamesFold(result, context), ...); + }; + + template + struct OnDemandPrettyName> + { + static AZStd::string Get(AZ::BehaviorContext& context) + { + AZStd::string typeNames; + GetTypeNames(typeNames, context); + return AZStd::string::format("Tuple<%s>", typeNames.c_str()); + } + }; + + template + struct OnDemandToolTip> + { + static AZStd::string Get(AZ::BehaviorContext&) + { + return "A tuple is an fixed size collection of any number of any type of element."; + } + }; + template struct OnDemandPrettyName< AZStd::unordered_map > { diff --git a/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl b/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl index 537d3e5c83..2132dff3c4 100644 --- a/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl +++ b/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl @@ -813,20 +813,27 @@ namespace AZ { using ContainerType = AZStd::tuple; - template - static void ReflectUnpackMethodFold(BehaviorContext::ClassBuilder& builder) + template + static void ReflectUnpackMethodFold(BehaviorContext::ClassBuilder& builder, const AZStd::vector& typeNames, [[maybe_unused]] size_t inputIndex) { const AZStd::string methodName = AZStd::string::format("Get%zu", Index); - builder->Method(methodName.data(), [](ContainerType& value) { return AZStd::get(value); }) - ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All) + builder->Method(methodName.data(), [](ContainerType& thisPointer) { return AZStd::get(thisPointer); }) + ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::List) ->Attribute(AZ::ScriptCanvasAttributes::TupleGetFunctionIndex, Index) ; + + builder->Property + ( AZStd::string::format("element_%zu_%s", Index, typeNames[Index].c_str()).c_str() + , [](ContainerType& thisPointer) { return AZStd::get(thisPointer); } + , [](ContainerType& thisPointer, const t_Arg& element) { AZStd::get(thisPointer) = element; }); } - template + template static void ReflectUnpackMethods(BehaviorContext::ClassBuilder& builder, AZStd::index_sequence) { - (ReflectUnpackMethodFold(builder), ...); + AZStd::vector typeNames; + ScriptCanvasOnDemandReflection::GetTypeNames(typeNames, *builder.m_context); + (ReflectUnpackMethodFold(builder, typeNames, Indices), ...); } static void Reflect(ReflectContext* context) @@ -851,9 +858,10 @@ namespace AZ ->Attribute(AZ::ScriptCanvasAttributes::TupleConstructorFunction, constructorHolder) ; - ReflectUnpackMethods(builder, AZStd::make_index_sequence{}); + ReflectUnpackMethods(builder, AZStd::make_index_sequence{}); + builder->Method("GetSize", []() { return AZStd::tuple_size::value; }) - ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::All) + ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::List) ; } } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp index 2a485c9501..bc07d16a7e 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp @@ -3356,23 +3356,27 @@ namespace ScriptCanvas if (executionIf->GetId().m_node->IsIfBranchPrefacedWithBooleanExpression()) { - auto removeChildOutcome = RemoveChild(executionIf->ModParent(), executionIf); - if (!removeChildOutcome.IsSuccess()) + ExecutionTreePtr booleanExpression; + { - AddError(executionIf->GetNodeId(), executionIf, ScriptCanvas::ParseErrors::FailedToRemoveChild); + auto removeChildOutcome = RemoveChild(executionIf->ModParent(), executionIf); + if (!removeChildOutcome.IsSuccess()) + { + AddError(executionIf->GetNodeId(), executionIf, ScriptCanvas::ParseErrors::FailedToRemoveChild); + } + + if (!IsErrorFree()) + { + return; + } + + const auto indexAndChild = removeChildOutcome.TakeValue(); + + booleanExpression = CreateChild(executionIf->ModParent(), executionIf->GetId().m_node, executionIf->GetId().m_slot); + executionIf->ModParent()->InsertChild(indexAndChild.first, { indexAndChild.second.m_slot, indexAndChild.second.m_output, booleanExpression }); + executionIf->SetParent(booleanExpression); } - if (!IsErrorFree()) - { - return; - } - - const auto indexAndChild = removeChildOutcome.TakeValue(); - - ExecutionTreePtr booleanExpression = CreateChild(executionIf->ModParent(), executionIf->GetId().m_node, executionIf->GetId().m_slot); - executionIf->ModParent()->InsertChild(indexAndChild.first, { indexAndChild.second.m_slot, indexAndChild.second.m_output, booleanExpression }); - executionIf->SetParent(booleanExpression); - // make a condition here auto symbol = CheckLogicalExpressionSymbol(booleanExpression); if (symbol != Symbol::FunctionCall && symbol != Symbol::Count) @@ -3402,7 +3406,7 @@ namespace ScriptCanvas return; } - const auto indexAndChild2 = removeChildOutcome.TakeValue(); + const auto indexAndChild2 = removeChildOutcome2.TakeValue(); // parse if statement internal function ExecutionTreePtr internalFunction = CreateChild(booleanExpression->ModParent(), booleanExpression->GetId().m_node, booleanExpression->GetId().m_slot); @@ -4782,7 +4786,7 @@ namespace ScriptCanvas { PropertyExtractionPtr extraction = AZStd::make_shared(); extraction->m_slot = slot; - extraction->m_name = propertyField.first; + extraction->m_name = AZ::ReplaceCppArtifacts(propertyField.first); execution->AddPropertyExtractionSource(slot, extraction); } else diff --git a/Gems/ScriptCanvasTesting/Assets/ScriptCanvas/UnitTests/LY_SC_UnitTest_ParseFunctionIfBranchWithConnectedInput.scriptcanvas b/Gems/ScriptCanvasTesting/Assets/ScriptCanvas/UnitTests/LY_SC_UnitTest_ParseFunctionIfBranchWithConnectedInput.scriptcanvas new file mode 100644 index 0000000000..38df5159c2 --- /dev/null +++ b/Gems/ScriptCanvasTesting/Assets/ScriptCanvas/UnitTests/LY_SC_UnitTest_ParseFunctionIfBranchWithConnectedInput.scriptcanvas @@ -0,0 +1,2499 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp b/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp index 1633b0fc51..5bda0f3941 100644 --- a/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp +++ b/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp @@ -90,6 +90,11 @@ public: } }; +TEST_F(ScriptCanvasTestFixture, ParseFunctionIfBranchWithConnectedInput) +{ + RunUnitTestGraph("LY_SC_UnitTest_ParseFunctionIfBranchWithConnectedInput"); +} + TEST_F(ScriptCanvasTestFixture, UseRawBehaviorProperties) { RunUnitTestGraph("LY_SC_UnitTest_UseRawBehaviorProperties"); From 4b3d0d1054d88833de47d07840b356fa436562b2 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Tue, 8 Jun 2021 14:01:50 -0700 Subject: [PATCH 020/205] LYN-4327 [SDK] External Gem's aren't added to the project solution when using SDK (#1191) * should pickup the external directories registered by the project * Add support for AzTest and AzTestRunner in the SDK * missing IMPORT_LIB * Moved where .Assets targets get generated so they are visible in the SDK * generate the Directory.Build.props in the right path * excluding target on platforms that dont support it --- CMakeLists.txt | 36 +++++++-------- Code/Framework/AzTest/CMakeLists.txt | 46 +++++++++---------- Code/LauncherUnified/launcher_generator.cmake | 23 ++++++++++ Code/Tools/AzTestRunner/CMakeLists.txt | 36 ++++++++------- .../Android/platform_traits_android.cmake | 2 +- .../Linux/platform_traits_linux.cmake | 2 +- .../Platform/Mac/platform_traits_mac.cmake | 2 +- .../Windows/platform_traits_windows.cmake | 2 +- .../Platform/iOS/platform_traits_ios.cmake | 2 +- cmake/Platform/Common/Install_common.cmake | 13 +++++- .../Platform/Common/VisualStudio_common.cmake | 2 +- scripts/ctest/CMakeLists.txt | 29 ------------ 12 files changed, 100 insertions(+), 95 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 387f536966..6ca9aeacb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,28 +88,28 @@ if(NOT INSTALLED_ENGINE) # Add external subdirectories listed in the engine.json. LY_EXTERNAL_SUBDIRS is a cache variable so the user can add extra # external subdirectories add_engine_json_external_subdirectories() - get_property(external_subdirs GLOBAL PROPERTY LY_EXTERNAL_SUBDIRS) - list(APPEND LY_EXTERNAL_SUBDIRS ${external_subdirs}) - - # Loop over the additional external subdirectories and invoke add_subdirectory on them - foreach(external_directory ${LY_EXTERNAL_SUBDIRS}) - # Hash the extenal_directory name and append it to the Binary Directory section of add_subdirectory - # This is to deal with potential situations where multiple external directories has the same last directory name - # For example if D:/Company1/RayTracingGem and F:/Company2/Path/RayTracingGem were both added as a subdirectory - file(REAL_PATH ${external_directory} full_directory_path) - string(SHA256 full_directory_hash ${full_directory_path}) - # Truncate the full_directory_hash down to 8 characters to avoid hitting the Windows 260 character path limit - # when the external subdirectory contains relative paths of significant length - string(SUBSTRING ${full_directory_hash} 0 8 full_directory_hash) - # Use the last directory as the suffix path to use for the Binary Directory - get_filename_component(directory_name ${external_directory} NAME) - add_subdirectory(${external_directory} ${CMAKE_BINARY_DIR}/External/${directory_name}-${full_directory_hash}) - endforeach() - else() ly_find_o3de_packages() endif() +get_property(external_subdirs GLOBAL PROPERTY LY_EXTERNAL_SUBDIRS) +list(APPEND LY_EXTERNAL_SUBDIRS ${external_subdirs}) + +# Loop over the additional external subdirectories and invoke add_subdirectory on them +foreach(external_directory ${LY_EXTERNAL_SUBDIRS}) + # Hash the extenal_directory name and append it to the Binary Directory section of add_subdirectory + # This is to deal with potential situations where multiple external directories has the same last directory name + # For example if D:/Company1/RayTracingGem and F:/Company2/Path/RayTracingGem were both added as a subdirectory + file(REAL_PATH ${external_directory} full_directory_path) + string(SHA256 full_directory_hash ${full_directory_path}) + # Truncate the full_directory_hash down to 8 characters to avoid hitting the Windows 260 character path limit + # when the external subdirectory contains relative paths of significant length + string(SUBSTRING ${full_directory_hash} 0 8 full_directory_hash) + # Use the last directory as the suffix path to use for the Binary Directory + get_filename_component(directory_name ${external_directory} NAME) + add_subdirectory(${external_directory} ${CMAKE_BINARY_DIR}/External/${directory_name}-${full_directory_hash}) +endforeach() + ################################################################################ # Post-processing ################################################################################ diff --git a/Code/Framework/AzTest/CMakeLists.txt b/Code/Framework/AzTest/CMakeLists.txt index ff31b32a24..fe5ec2d0ff 100644 --- a/Code/Framework/AzTest/CMakeLists.txt +++ b/Code/Framework/AzTest/CMakeLists.txt @@ -8,29 +8,25 @@ # remove or modify any license notices. This file is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # + +ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/AzTest/Platform/${PAL_PLATFORM_NAME}) -if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) - - ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/AzTest/Platform/${PAL_PLATFORM_NAME}) - - ly_add_target( - NAME AzTest STATIC - NAMESPACE AZ - FILES_CMAKE - AzTest/aztest_files.cmake - ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake - INCLUDE_DIRECTORIES - PUBLIC - . - ${pal_dir} - BUILD_DEPENDENCIES - PUBLIC - 3rdParty::googletest::GMock - 3rdParty::googletest::GTest - 3rdParty::GoogleBenchmark - AZ::AzCore - PLATFORM_INCLUDE_FILES - ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}.cmake - ) - -endif() +ly_add_target( + NAME AzTest STATIC + NAMESPACE AZ + FILES_CMAKE + AzTest/aztest_files.cmake + ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake + INCLUDE_DIRECTORIES + PUBLIC + . + ${pal_dir} + BUILD_DEPENDENCIES + PUBLIC + 3rdParty::googletest::GMock + 3rdParty::googletest::GTest + 3rdParty::GoogleBenchmark + AZ::AzCore + PLATFORM_INCLUDE_FILES + ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}.cmake +) diff --git a/Code/LauncherUnified/launcher_generator.cmake b/Code/LauncherUnified/launcher_generator.cmake index c5d60eb29e..2f4c8a8b74 100644 --- a/Code/LauncherUnified/launcher_generator.cmake +++ b/Code/LauncherUnified/launcher_generator.cmake @@ -16,6 +16,7 @@ set_property(GLOBAL PROPERTY LAUNCHER_UNIFIED_BINARY_DIR ${CMAKE_CURRENT_BINARY_ # When using an installed engine, this file will be included by the FindLauncherGenerator.cmake script get_property(LY_PROJECTS_TARGET_NAME GLOBAL PROPERTY LY_PROJECTS_TARGET_NAME) foreach(project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJECTS) + # Computes the realpath to the project # If the project_path is relative, it is evaluated relative to the ${LY_ROOT_FOLDER} # Otherwise the the absolute project_path is returned with symlinks resolved @@ -35,6 +36,28 @@ foreach(project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJEC "to the LY_PROJECTS_TARGET_NAME global property. Other configuration errors might occur") endif() endif() + + ################################################################################ + # Assets + ################################################################################ + if(PAL_TRAIT_BUILD_HOST_TOOLS) + add_custom_target(${project_name}.Assets + COMMENT "Processing ${project_name} assets..." + COMMAND "${CMAKE_COMMAND}" + -DLY_LOCK_FILE=$/project_assets.lock + -P ${LY_ROOT_FOLDER}/cmake/CommandExecution.cmake + EXEC_COMMAND $ + --zeroAnalysisMode + --project-path=${project_real_path} + --platforms=${LY_ASSET_DEPLOY_ASSET_TYPE} + ) + set_target_properties(${project_name}.Assets + PROPERTIES + EXCLUDE_FROM_ALL TRUE + FOLDER ${project_name} + ) + endif() + ################################################################################ # Monolithic game ################################################################################ diff --git a/Code/Tools/AzTestRunner/CMakeLists.txt b/Code/Tools/AzTestRunner/CMakeLists.txt index d3598c397e..e6dd09e15b 100644 --- a/Code/Tools/AzTestRunner/CMakeLists.txt +++ b/Code/Tools/AzTestRunner/CMakeLists.txt @@ -9,12 +9,12 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # -if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) +ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME}) - ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME}) - - include(${pal_dir}/platform_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) +include(${pal_dir}/platform_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) +if(PAL_TRAIT_AZTESTRUNNER_SUPPORTED) + ly_add_target( NAME AzTestRunner ${PAL_TRAIT_AZTESTRUNNER_LAUNCHER_TYPE} NAMESPACE AZ @@ -32,19 +32,23 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) AZ::AzTest AZ::AzFramework ) + + if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) + + ly_add_target( + NAME AzTestRunner.Tests ${PAL_TRAIT_TEST_TARGET_TYPE} + NAMESPACE AZ + FILES_CMAKE + aztestrunner_test_files.cmake + BUILD_DEPENDENCIES + PRIVATE + AZ::AzTest + ) - ly_add_target( - NAME AzTestRunner.Tests ${PAL_TRAIT_TEST_TARGET_TYPE} - NAMESPACE AZ - FILES_CMAKE - aztestrunner_test_files.cmake - BUILD_DEPENDENCIES - PRIVATE - AZ::AzTest - ) + ly_add_googletest( + NAME AZ::AzTestRunner.Tests + ) - ly_add_googletest( - NAME AZ::AzTestRunner.Tests - ) + endif() endif() diff --git a/Code/Tools/AzTestRunner/Platform/Android/platform_traits_android.cmake b/Code/Tools/AzTestRunner/Platform/Android/platform_traits_android.cmake index 40de4bd3eb..77d7b868d4 100644 --- a/Code/Tools/AzTestRunner/Platform/Android/platform_traits_android.cmake +++ b/Code/Tools/AzTestRunner/Platform/Android/platform_traits_android.cmake @@ -9,5 +9,5 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +set(PAL_TRAIT_AZTESTRUNNER_SUPPORTED TRUE) set(PAL_TRAIT_AZTESTRUNNER_LAUNCHER_TYPE MODULE) - diff --git a/Code/Tools/AzTestRunner/Platform/Linux/platform_traits_linux.cmake b/Code/Tools/AzTestRunner/Platform/Linux/platform_traits_linux.cmake index 59922965bb..4c623c1f7b 100644 --- a/Code/Tools/AzTestRunner/Platform/Linux/platform_traits_linux.cmake +++ b/Code/Tools/AzTestRunner/Platform/Linux/platform_traits_linux.cmake @@ -9,5 +9,5 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +set(PAL_TRAIT_AZTESTRUNNER_SUPPORTED TRUE) set(PAL_TRAIT_AZTESTRUNNER_LAUNCHER_TYPE EXECUTABLE) - diff --git a/Code/Tools/AzTestRunner/Platform/Mac/platform_traits_mac.cmake b/Code/Tools/AzTestRunner/Platform/Mac/platform_traits_mac.cmake index 59922965bb..4c623c1f7b 100644 --- a/Code/Tools/AzTestRunner/Platform/Mac/platform_traits_mac.cmake +++ b/Code/Tools/AzTestRunner/Platform/Mac/platform_traits_mac.cmake @@ -9,5 +9,5 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +set(PAL_TRAIT_AZTESTRUNNER_SUPPORTED TRUE) set(PAL_TRAIT_AZTESTRUNNER_LAUNCHER_TYPE EXECUTABLE) - diff --git a/Code/Tools/AzTestRunner/Platform/Windows/platform_traits_windows.cmake b/Code/Tools/AzTestRunner/Platform/Windows/platform_traits_windows.cmake index 59922965bb..4c623c1f7b 100644 --- a/Code/Tools/AzTestRunner/Platform/Windows/platform_traits_windows.cmake +++ b/Code/Tools/AzTestRunner/Platform/Windows/platform_traits_windows.cmake @@ -9,5 +9,5 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +set(PAL_TRAIT_AZTESTRUNNER_SUPPORTED TRUE) set(PAL_TRAIT_AZTESTRUNNER_LAUNCHER_TYPE EXECUTABLE) - diff --git a/Code/Tools/AzTestRunner/Platform/iOS/platform_traits_ios.cmake b/Code/Tools/AzTestRunner/Platform/iOS/platform_traits_ios.cmake index 59922965bb..4c623c1f7b 100644 --- a/Code/Tools/AzTestRunner/Platform/iOS/platform_traits_ios.cmake +++ b/Code/Tools/AzTestRunner/Platform/iOS/platform_traits_ios.cmake @@ -9,5 +9,5 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +set(PAL_TRAIT_AZTESTRUNNER_SUPPORTED TRUE) set(PAL_TRAIT_AZTESTRUNNER_LAUNCHER_TYPE EXECUTABLE) - diff --git a/cmake/Platform/Common/Install_common.cmake b/cmake/Platform/Common/Install_common.cmake index 4aeaf21e95..a579e3128d 100644 --- a/cmake/Platform/Common/Install_common.cmake +++ b/cmake/Platform/Common/Install_common.cmake @@ -162,7 +162,18 @@ function(ly_setup_target OUTPUT_CONFIGURED_TARGET ALIAS_TARGET_NAME) elseif(target_type STREQUAL MODULE_LIBRARY) set(target_location "\${LY_ROOT_FOLDER}/${library_output_directory}/${PAL_PLATFORM_NAME}/$/${target_library_output_subdirectory}/$") elseif(target_type STREQUAL SHARED_LIBRARY) - string(APPEND target_file_contents "set_property(TARGET ${TARGET_NAME} PROPERTY IMPORTED_IMPLIB_$ \"\${LY_ROOT_FOLDER}/${archive_output_directory}/${PAL_PLATFORM_NAME}/$/$\")\n") + string(APPEND target_file_contents +"set_property(TARGET ${TARGET_NAME} + APPEND_STRING PROPERTY IMPORTED_IMPLIB + $<$$:\"\${LY_ROOT_FOLDER}/${archive_output_directory}/${PAL_PLATFORM_NAME}/$/$\"$ +) +") + string(APPEND target_file_contents +"set_property(TARGET ${TARGET_NAME} + PROPERTY IMPORTED_IMPLIB_$> + \"\${LY_ROOT_FOLDER}/${archive_output_directory}/${PAL_PLATFORM_NAME}/$/$\" +) +") set(target_location "\${LY_ROOT_FOLDER}/${library_output_directory}/${PAL_PLATFORM_NAME}/$/${target_library_output_subdirectory}/$") else() # STATIC_LIBRARY, OBJECT_LIBRARY, INTERFACE_LIBRARY set(target_location "\${LY_ROOT_FOLDER}/${archive_output_directory}/${PAL_PLATFORM_NAME}/$/$") diff --git a/cmake/Platform/Common/VisualStudio_common.cmake b/cmake/Platform/Common/VisualStudio_common.cmake index fd38a8c7ce..9a23a26d34 100644 --- a/cmake/Platform/Common/VisualStudio_common.cmake +++ b/cmake/Platform/Common/VisualStudio_common.cmake @@ -10,5 +10,5 @@ # if(CMAKE_GENERATOR MATCHES "Visual Studio 16") - configure_file("${CMAKE_CURRENT_LIST_DIR}/Directory.Build.props" "${CMAKE_CURRENT_BINARY_DIR}/Directory.Build.props" COPYONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/Directory.Build.props" "${CMAKE_BINARY_DIR}/Directory.Build.props" COPYONLY) endif() \ No newline at end of file diff --git a/scripts/ctest/CMakeLists.txt b/scripts/ctest/CMakeLists.txt index f9824889e3..575be53cc7 100644 --- a/scripts/ctest/CMakeLists.txt +++ b/scripts/ctest/CMakeLists.txt @@ -16,35 +16,6 @@ if(NOT PAL_TRAIT_BUILD_TESTS_SUPPORTED) return() endif() -################################################################################ -# Asset Processing Target -# i.e. Tests depend on AutomatedTesting.Assets -################################################################################ - -if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) - get_property(LY_PROJECTS_TARGET_NAME GLOBAL PROPERTY LY_PROJECTS_TARGET_NAME) - foreach(project_target_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJECTS) - file(REAL_PATH ${project_path} project_real_path BASE_DIRECTORY ${LY_ROOT_FOLDER}) - # With the lock file, asset processing jobs are serialized to avoid race conditions - # on files that are created temporarily in source folders during shader processing. - add_custom_target(${project_target_name}.Assets - COMMENT "Processing ${project_target_name} assets..." - COMMAND "${CMAKE_COMMAND}" - -DLY_LOCK_FILE=$/project_assets.lock - -P ${LY_ROOT_FOLDER}/cmake/CommandExecution.cmake - EXEC_COMMAND $ - --zeroAnalysisMode - --project-path=${project_real_path} - --platforms=${LY_ASSET_DEPLOY_ASSET_TYPE} - ) - set_target_properties(${project_target_name}.Assets - PROPERTIES - EXCLUDE_FROM_ALL TRUE - FOLDER ${project_target_name} - ) - endforeach() -endif() - ################################################################################ # Tests ################################################################################ From 5f82e5a11134a4571a6b69d351a178cd6faf5372 Mon Sep 17 00:00:00 2001 From: bosnichd Date: Tue, 8 Jun 2021 15:15:20 -0600 Subject: [PATCH 021/205] Fix typo. (#1192) --- Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYCommonMenu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYCommonMenu.cpp b/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYCommonMenu.cpp index 5107a02835..c750aea38d 100644 --- a/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYCommonMenu.cpp +++ b/Gems/ImGui/Code/Source/LYCommonMenu/ImGuiLYCommonMenu.cpp @@ -693,7 +693,7 @@ namespace ImGui ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "Left Stick"); ImGui::NextColumn(); ImGui::Bullet(); - ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "Mova Mouse Pointer"); + ImGui::TextColored(ImGui::Colors::s_PlainLabelColor, "Move Mouse Pointer"); ImGui::Separator(); ImGui::NextColumn(); From 8cb6ef0721bb295b74bbf5c72c3bd1bc1d83ff86 Mon Sep 17 00:00:00 2001 From: chcurran Date: Tue, 8 Jun 2021 16:39:36 -0700 Subject: [PATCH 022/205] Fix tmeplate arg names --- .../AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl b/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl index 2132dff3c4..9bda5cdcce 100644 --- a/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl +++ b/Code/Framework/AzCore/AzCore/RTTI/AzStdOnDemandReflection.inl @@ -813,8 +813,8 @@ namespace AZ { using ContainerType = AZStd::tuple; - template - static void ReflectUnpackMethodFold(BehaviorContext::ClassBuilder& builder, const AZStd::vector& typeNames, [[maybe_unused]] size_t inputIndex) + template + static void ReflectUnpackMethodFold(BehaviorContext::ClassBuilder& builder, const AZStd::vector& typeNames) { const AZStd::string methodName = AZStd::string::format("Get%zu", Index); builder->Method(methodName.data(), [](ContainerType& thisPointer) { return AZStd::get(thisPointer); }) @@ -825,15 +825,15 @@ namespace AZ builder->Property ( AZStd::string::format("element_%zu_%s", Index, typeNames[Index].c_str()).c_str() , [](ContainerType& thisPointer) { return AZStd::get(thisPointer); } - , [](ContainerType& thisPointer, const t_Arg& element) { AZStd::get(thisPointer) = element; }); + , [](ContainerType& thisPointer, const Targ& element) { AZStd::get(thisPointer) = element; }); } - template + template static void ReflectUnpackMethods(BehaviorContext::ClassBuilder& builder, AZStd::index_sequence) { AZStd::vector typeNames; ScriptCanvasOnDemandReflection::GetTypeNames(typeNames, *builder.m_context); - (ReflectUnpackMethodFold(builder, typeNames, Indices), ...); + (ReflectUnpackMethodFold(builder, typeNames), ...); } static void Reflect(ReflectContext* context) From cd5867d2fa24bdaa5834556b6df30fcc6e0d331f Mon Sep 17 00:00:00 2001 From: puvvadar Date: Tue, 8 Jun 2021 16:43:36 -0700 Subject: [PATCH 023/205] Cleanup session changes and add on connection disconnected event --- .../Code/Include/Multiplayer/IMultiplayer.h | 7 +- .../ClientToServerConnectionData.cpp | 2 +- .../ClientToServerConnectionData.h | 4 +- .../ClientToServerConnectionData.inl | 2 +- .../ServerToClientConnectionData.h | 2 +- .../ServerToClientConnectionData.inl | 2 +- .../Source/MultiplayerSystemComponent.cpp | 80 ++++++++++++++----- .../Code/Source/MultiplayerSystemComponent.h | 2 + 8 files changed, 76 insertions(+), 25 deletions(-) diff --git a/Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h b/Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h index 579ca195e5..c60119cdee 100644 --- a/Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h +++ b/Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h @@ -45,6 +45,7 @@ namespace Multiplayer AzNetworking::ByteBuffer<2048> m_userData; }; + using ClientDisconnectedEvent = AZ::Event<>; using ConnectionAcquiredEvent = AZ::Event; using SessionInitEvent = AZ::Event; using SessionShutdownEvent = AZ::Event; @@ -65,8 +66,12 @@ namespace Multiplayer //! @param state The state of this connection virtual void InitializeMultiplayer(MultiplayerAgentType state) = 0; + //! Adds a ClientDisconnectedEvent Handler which is invoked on the client when a disconnectio occurs + //! @param handler The ClientDisconnectedEvent Handler to add + virtual void AddClientDisconnectedHandler(ClientDisconnectedEvent::Handler& handler) = 0; + //! Adds a ConnectionAcquiredEvent Handler which is invoked when a new endpoint connects to the session. - //! @param handler The SessionInitEvent Handler to add + //! @param handler The ConnectionAcquiredEvent Handler to add virtual void AddConnectionAcquiredHandler(ConnectionAcquiredEvent::Handler& handler) = 0; //! Adds a SessionInitEvent Handler which is invoked when a new network session starts. diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.cpp b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.cpp index 11207df27d..3e2a7ca006 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.cpp +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.cpp @@ -22,7 +22,7 @@ namespace Multiplayer ( AzNetworking::IConnection* connection, AzNetworking::IConnectionListener& connectionListener, - AZStd::string providerTicket + const AZStd::string& providerTicket ) : m_connection(connection) , m_entityReplicationManager(*connection, connectionListener, EntityReplicationManager::Mode::LocalClientToRemoteServer) diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h index 52c5dea00d..693e3814c4 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h @@ -25,7 +25,7 @@ namespace Multiplayer ( AzNetworking::IConnection* connection, AzNetworking::IConnectionListener& connectionListener, - AZStd::string providerTicket = "" + const AZStd::string& providerTicket = "" ); ~ClientToServerConnectionData() override; @@ -39,7 +39,7 @@ namespace Multiplayer void SetCanSendUpdates(bool canSendUpdates) override; //! @} - AZStd::string GetProviderTicket() const; + const AZStd::string& GetProviderTicket() const; private: EntityReplicationManager m_entityReplicationManager; diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl index f23c8dd1d9..44cbf10350 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl @@ -22,7 +22,7 @@ namespace Multiplayer m_canSendUpdates = canSendUpdates; } - inline AZStd::string ClientToServerConnectionData::GetProviderTicket() const + inline const AZStd::string& ClientToServerConnectionData::GetProviderTicket() const { return m_providerTicket; } diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h index c171cdbe5d..0851299498 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h @@ -41,7 +41,7 @@ namespace Multiplayer NetworkEntityHandle GetPrimaryPlayerEntity(); const NetworkEntityHandle& GetPrimaryPlayerEntity() const; - AZStd::string GetProviderTicket() const; + const AZStd::string& GetProviderTicket() const; void SetProviderTicket(AZStd::string); private: diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl index 0427936f00..b56ed7097e 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl @@ -33,7 +33,7 @@ namespace Multiplayer return m_controlledEntity; } - inline AZStd::string ServerToClientConnectionData::GetProviderTicket() const + inline const AZStd::string& ServerToClientConnectionData::GetProviderTicket() const { return m_ticket; } diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index d0d2c609b3..5282490ad6 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -117,6 +117,31 @@ namespace Multiplayer behaviorContext->Class(); behaviorContext->Class(); behaviorContext->Class(); + + behaviorContext->Class("MultiplayerSystemComponent") + ->Attribute(AZ::Script::Attributes::Module, "multiplayer") + ->Attribute(AZ::Script::Attributes::Category, "Multiplayer") + ->Method("GetOnClientDisconnectedEvent", [](AZ::EntityId id) -> AZ::Event<>* + { + AZ::Entity* entity = AZ::Interface::Get()->FindEntity(id); + if (!entity) + { + AZ_Warning("Network Property", false, "NetworkTransformComponent GetOnScaleChangedEvent failed. The entity with id %s doesn't exist, please provide a valid entity id.", id.ToString().c_str()) + return nullptr; + } + + MultiplayerSystemComponent* mpComponent = entity->FindComponent(); + if (!mpComponent) + { + AZ_Warning("Multiplayer Property", false, "NetworkTransformComponent GetScale failed. Entity '%s' (id: %s) is missing NetworkTransformComponent, be sure to add NetworkTransformComponent to this entity.", entity->GetName().c_str(), id.ToString().c_str()) + return nullptr; + } + + return &mpComponent->m_clientDisconnectedEvent; + }) + ->Attribute( + AZ::Script::Attributes::AzEventDescription, + AZ::BehaviorAzEventDescription{"On Client Disconnected Event"}); } MultiplayerComponent::Reflect(context); @@ -173,12 +198,11 @@ namespace Multiplayer bool MultiplayerSystemComponent::RequestPlayerJoinSession(const AzFramework::SessionConnectionConfig& config) { AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::Client); - INetworkInterface* networkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MPNetworkInterfaceName)); - const IpAddress ipAddress(config.m_ipAddress.c_str(), config.m_port, networkInterface->GetType()); - ConnectionId connectionId = networkInterface->Connect(ipAddress); + const IpAddress ipAddress(config.m_ipAddress.c_str(), config.m_port, m_networkInterface->GetType()); + ConnectionId connectionId = m_networkInterface->Connect(ipAddress); - AzNetworking::IConnection* connection = networkInterface->GetConnectionSet().GetConnection(connectionId); + AzNetworking::IConnection* connection = m_networkInterface->GetConnectionSet().GetConnection(connectionId); if (connection->GetUserData() == nullptr) // Only add user data if the connect event handler has not already done so { connection->SetUserData(new ClientToServerConnectionData(connection, *this, config.m_playerSessionId)); @@ -188,10 +212,15 @@ namespace Multiplayer void MultiplayerSystemComponent::RequestPlayerLeaveSession() { - AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::Uninitialized); - INetworkInterface* networkInterface = AZ::Interface::Get()->RetrieveNetworkInterface(AZ::Name(MPNetworkInterfaceName)); - auto visitor = [](IConnection& connection) { connection.Disconnect(DisconnectReason::TerminatedByUser, TerminationEndpoint::Local); }; - networkInterface->GetConnectionSet().VisitConnections(visitor); + if (GetAgentType() == MultiplayerAgentType::Client) + { + AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::Uninitialized); + auto visitor = [](IConnection& connection) + { + connection.Disconnect(DisconnectReason::TerminatedByUser, TerminationEndpoint::Local); + }; + m_networkInterface->GetConnectionSet().VisitConnections(visitor); + } } bool MultiplayerSystemComponent::OnSessionHealthCheck() @@ -379,19 +408,24 @@ namespace Multiplayer [[maybe_unused]] MultiplayerPackets::Connect& packet ) { - if (connection->SendReliablePacket(MultiplayerPackets::Accept(InvalidHostId, sv_map))) + // Validate our session with the provider if any + if (AZ::Interface::Get() != nullptr) { - // Validate our session with the provider if any - if (AZ::Interface::Get() != nullptr) + AzFramework::PlayerConnectionConfig config; + config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); + config.m_playerSessionId = packet.GetTicket(); + if(!AZ::Interface::Get()->ValidatePlayerJoinSession(config)) { - AzFramework::PlayerConnectionConfig config; - config.m_playerConnectionId = aznumeric_cast(connection->GetConnectionId()); - config.m_playerSessionId = packet.GetTicket(); - AZ::Interface::Get()->ValidatePlayerJoinSession(config); - - reinterpret_cast(connection->GetUserData())->SetProviderTicket(packet.GetTicket().c_str()); + auto visitor = [](IConnection& connection) { connection.Disconnect(DisconnectReason::TerminatedByUser, TerminationEndpoint::Local); }; + m_networkInterface->GetConnectionSet().VisitConnections(visitor); + return true; } + reinterpret_cast(connection->GetUserData())->SetProviderTicket(packet.GetTicket().c_str()); + } + + if (connection->SendReliablePacket(MultiplayerPackets::Accept(InvalidHostId, sv_map))) + { // Sync our console ConsoleReplicator consoleReplicator(connection); AZ::Interface::Get()->VisitRegisteredFunctors([&consoleReplicator](AZ::ConsoleFunctorBase* functor) { consoleReplicator.Visit(functor); }); @@ -606,11 +640,16 @@ namespace Multiplayer AZStd::string reasonString = ToString(reason); AZLOG_INFO("%s due to %s from remote address: %s", endpointString, reasonString.c_str(), connection->GetRemoteAddress().GetString().c_str()); - // The authority is shutting down its connection if (connection->GetConnectionRole() == ConnectionRole::Acceptor) { + // The authority is shutting down its connection m_shutdownEvent.Signal(m_networkInterface); } + else if (GetAgentType() == MultiplayerAgentType::Client && connection->GetConnectionRole() == ConnectionRole::Connector) + { + // The client is disconnecting + m_clientDisconnectedEvent.Signal(); + } // Clean up any multiplayer connection data we've bound to this connection instance if (connection->GetUserData() != nullptr) @@ -679,6 +718,11 @@ namespace Multiplayer AZLOG_INFO("Multiplayer operating in %s mode", GetEnumString(m_agentType)); } + void MultiplayerSystemComponent::AddClientDisconnectedHandler(ClientDisconnectedEvent::Handler& handler) + { + handler.Connect(m_clientDisconnectedEvent); + } + void MultiplayerSystemComponent::AddConnectionAcquiredHandler(ConnectionAcquiredEvent::Handler& handler) { handler.Connect(m_connAcquiredEvent); diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h index c089b243bd..0efef3ebe4 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.h @@ -108,6 +108,7 @@ namespace Multiplayer //! @{ MultiplayerAgentType GetAgentType() const override; void InitializeMultiplayer(MultiplayerAgentType state) override; + void AddClientDisconnectedHandler(ClientDisconnectedEvent::Handler& handler) override; void AddConnectionAcquiredHandler(ConnectionAcquiredEvent::Handler& handler) override; void AddSessionInitHandler(SessionInitEvent::Handler& handler) override; void AddSessionShutdownHandler(SessionShutdownEvent::Handler& handler) override; @@ -143,6 +144,7 @@ namespace Multiplayer SessionInitEvent m_initEvent; SessionShutdownEvent m_shutdownEvent; ConnectionAcquiredEvent m_connAcquiredEvent; + ClientDisconnectedEvent m_clientDisconnectedEvent; AZ::TimeMs m_lastReplicatedHostTimeMs = AZ::TimeMs{ 0 }; HostFrameId m_lastReplicatedHostFrameId = InvalidHostFrameId; From 056e170eb6eb1aa37b433f1d792c45eff2190e6b Mon Sep 17 00:00:00 2001 From: puvvadar Date: Tue, 8 Jun 2021 16:48:23 -0700 Subject: [PATCH 024/205] Check for dns name on request player join --- Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index 5282490ad6..4462502b24 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -199,7 +199,8 @@ namespace Multiplayer { AZ::Interface::Get()->InitializeMultiplayer(MultiplayerAgentType::Client); - const IpAddress ipAddress(config.m_ipAddress.c_str(), config.m_port, m_networkInterface->GetType()); + AZStd::string hostname = config.m_dnsName.empty() ? config.m_ipAddress : config.m_dnsName; + const IpAddress ipAddress(hostname.c_str(), config.m_port, m_networkInterface->GetType()); ConnectionId connectionId = m_networkInterface->Connect(ipAddress); AzNetworking::IConnection* connection = m_networkInterface->GetConnectionSet().GetConnection(connectionId); From 9dec723e33e1bd2ab498b5516868ab076697dcb4 Mon Sep 17 00:00:00 2001 From: srikappa Date: Tue, 8 Jun 2021 17:28:23 -0700 Subject: [PATCH 025/205] Remove file size limits when loading prefabs and prefab-based-levels --- Code/Framework/AzCore/AzCore/Utils/Utils.cpp | 31 +++++++++++++++++++ Code/Framework/AzCore/AzCore/Utils/Utils.h | 7 ++++- .../PrefabEditorEntityOwnershipService.cpp | 8 +---- .../AzToolsFramework/Prefab/PrefabLoader.cpp | 2 +- .../Prefab/PrefabLoaderInterface.h | 2 -- 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/Utils/Utils.cpp b/Code/Framework/AzCore/AzCore/Utils/Utils.cpp index 7025b3977e..5521ff6131 100644 --- a/Code/Framework/AzCore/AzCore/Utils/Utils.cpp +++ b/Code/Framework/AzCore/AzCore/Utils/Utils.cpp @@ -169,6 +169,37 @@ namespace AZ::Utils template AZ::Outcome, AZStd::string> ReadFile(AZStd::string_view filePath, size_t maxFileSize); template AZ::Outcome, AZStd::string> ReadFile(AZStd::string_view filePath, size_t maxFileSize); + template + AZ::Outcome ReadFileWithNoSizeLimit(AZStd::string_view filePath) + { + IO::FileIOStream file; + if (!file.Open(filePath.data(), IO::OpenMode::ModeRead)) + { + return AZ::Failure(AZStd::string::format("Failed to open '%.*s'.", AZ_STRING_ARG(filePath))); + } + + AZ::IO::SizeType length = file.GetLength(); + + if (length == 0) + { + return AZ::Failure(AZStd::string::format("Failed to load '%.*s'. File is empty.", AZ_STRING_ARG(filePath))); + } + + Container fileContent; + fileContent.resize(length); + AZ::IO::SizeType bytesRead = file.Read(length, fileContent.data()); + file.Close(); + + // Resize again just in case bytesRead is less than length for some reason + fileContent.resize(bytesRead); + + return AZ::Success(AZStd::move(fileContent)); + } + + template AZ::Outcome ReadFileWithNoSizeLimit(AZStd::string_view filePath); + template AZ::Outcome, AZStd::string> ReadFileWithNoSizeLimit(AZStd::string_view filePath); + template AZ::Outcome, AZStd::string> ReadFileWithNoSizeLimit(AZStd::string_view filePath); + AZ::IO::FixedMaxPathString GetO3deManifestDirectory() { AZ::IO::FixedMaxPath path = GetHomeDirectory(); diff --git a/Code/Framework/AzCore/AzCore/Utils/Utils.h b/Code/Framework/AzCore/AzCore/Utils/Utils.h index 4e64ce5a39..6aaa1b868f 100644 --- a/Code/Framework/AzCore/AzCore/Utils/Utils.h +++ b/Code/Framework/AzCore/AzCore/Utils/Utils.h @@ -113,8 +113,13 @@ namespace AZ //! Save a string to a file. Otherwise returns a failure with error message. AZ::Outcome WriteFile(AZStd::string_view content, AZStd::string_view filePath); - //! Read a file into a string. Returns a failure with error message if the content could not be loaded. + //! Read a file into a string. Returns a failure with error message if the content could not be loaded or if + //! the file size is larger than the max file size provided. template AZ::Outcome ReadFile(AZStd::string_view filePath, size_t maxFileSize = DefaultMaxFileSize); + + //! Read a file into a string. Returns a failure with error message if the content could not be loaded. + template + AZ::Outcome ReadFileWithNoSizeLimit(AZStd::string_view filePath); } } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp index 7fd11ff9bf..fa7d5f6e9b 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp @@ -185,13 +185,7 @@ namespace AzToolsFramework bool PrefabEditorEntityOwnershipService::LoadFromStream(AZ::IO::GenericStream& stream, AZStd::string_view filename) { Reset(); - // Make loading from stream to behave the same in terms of filesize as regular loading of prefabs - // This may need to be revisited in the future for supporting higher sizes along with prefab loading - if (stream.GetLength() > Prefab::MaxPrefabFileSize) - { - AZ_Error("Prefab", false, "'%.*s' prefab content is bigger than the max supported size (%f MB)", AZ_STRING_ARG(filename), Prefab::MaxPrefabFileSize / (1024.f * 1024.f)); - return false; - } + const size_t bufSize = stream.GetLength(); AZStd::unique_ptr buf(new char[bufSize]); AZ::IO::SizeType bytes = stream.Read(bufSize, buf.get()); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp index d7de634c11..25a16f18a8 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp @@ -74,7 +74,7 @@ namespace AzToolsFramework return InvalidTemplateId; } - auto readResult = AZ::Utils::ReadFile(GetFullPath(filePath).Native(), MaxPrefabFileSize); + auto readResult = AZ::Utils::ReadFileWithNoSizeLimit(GetFullPath(filePath).Native()); if (!readResult.IsSuccess()) { AZ_Error( diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoaderInterface.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoaderInterface.h index 0e551cee6b..a9a1ee0607 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoaderInterface.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoaderInterface.h @@ -21,8 +21,6 @@ namespace AzToolsFramework { namespace Prefab { - constexpr size_t MaxPrefabFileSize = 1024 * 1024; - /*! * PrefabLoaderInterface * Interface for saving/loading Prefab files. From fd81000d53b2beea63a45d0353ed9f62e8fad280 Mon Sep 17 00:00:00 2001 From: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> Date: Tue, 8 Jun 2021 17:44:30 -0700 Subject: [PATCH 026/205] Fix the relative path in the Source param for the PrefabLevel_OpensLevelWithEntities prefab (#1196) * Fixed the relative path in the Source param for the PrefabLevel_OpensLevelWithEntities prefab. Plus bonus capitalization fix. * Add empty Cached Transform Parent parameter to prevent patch application issues. This will be fixed once prefab sanitation on load is added. --- .../PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py | 2 +- .../PrefabLevel_OpensLevelWithEntities.prefab | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py b/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py index 3401c6a0a9..5860294f83 100644 --- a/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py +++ b/AutomatedTesting/Gem/PythonTests/prefab/PrefabLevel_OpensLevelWithEntities.py @@ -41,7 +41,7 @@ def PrefabLevel_OpensLevelWithEntities(): EXPECTED_EMPTY_ENTITY_POS = Vector3(10.00, 20.0, 30.0) helper.init_idle() - helper.open_level("prefab", "PrefabLevel_OpensLevelWithEntities") + helper.open_level("Prefab", "PrefabLevel_OpensLevelWithEntities") def find_entity(entity_name): searchFilter = entity.SearchFilter() diff --git a/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab b/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab index 0776f25935..2a26699fd5 100644 --- a/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab +++ b/AutomatedTesting/Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab @@ -1,5 +1,5 @@ { - "Source": "Levels/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab", + "Source": "Levels/Prefab/PrefabLevel_OpensLevelWithEntities/PrefabLevel_OpensLevelWithEntities.prefab", "ContainerEntity": { "Id": "Entity_[403811863694]", "Name": "Level", @@ -15,7 +15,8 @@ "Component_[13764860261821571747]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", "Id": 13764860261821571747, - "Parent Entity": "" + "Parent Entity": "", + "Cached World Transform Parent": "" }, "Component_[15844324401733835865]": { "$type": "EditorEntitySortComponent", From dba1832821adac79d9fecc55b77e3cfff1cad5d9 Mon Sep 17 00:00:00 2001 From: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> Date: Mon, 7 Jun 2021 16:58:08 -0700 Subject: [PATCH 027/205] Improved reporting on unsupported types by the Json Serialization The Json Serialization currently doesn't support AZStd::any, AZStd::variant and AZStd::optional due to various JSON formatting concerns. This wasn't properly reported resulting in confusion about whether the missing functionality is intentional or a bug. This change makes this explicit with an error message. As this solution uses a custom json serializer to report the issue, an option was added so it's possible to overwrite a serializer for a specific type. This doesn't mean that the three listed types will never be supported. If/when a suitable format is found an implementation will be added. --- .../Json/JsonSystemComponent.cpp | 15 +- .../Json/RegistrationContext.cpp | 38 ++--- .../Serialization/Json/RegistrationContext.h | 32 ++-- .../Json/UnsupportedTypesSerializer.cpp | 56 +++++++ .../Json/UnsupportedTypesSerializer.h | 72 +++++++++ .../AzCore/AzCore/azcore_files.cmake | 2 + .../Json/JsonRegistrationContextTests.cpp | 30 ++++ .../Json/UnsupportedTypesSerializerTests.cpp | 143 ++++++++++++++++++ .../AzCore/Tests/azcoretests_files.cmake | 1 + 9 files changed, 353 insertions(+), 36 deletions(-) create mode 100644 Code/Framework/AzCore/AzCore/Serialization/Json/UnsupportedTypesSerializer.cpp create mode 100644 Code/Framework/AzCore/AzCore/Serialization/Json/UnsupportedTypesSerializer.h create mode 100644 Code/Framework/AzCore/Tests/Serialization/Json/UnsupportedTypesSerializerTests.cpp diff --git a/Code/Framework/AzCore/AzCore/Serialization/Json/JsonSystemComponent.cpp b/Code/Framework/AzCore/AzCore/Serialization/Json/JsonSystemComponent.cpp index 6e3c8cec60..8fe1bf50e2 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/Json/JsonSystemComponent.cpp +++ b/Code/Framework/AzCore/AzCore/Serialization/Json/JsonSystemComponent.cpp @@ -24,7 +24,12 @@ #include #include #include +#include #include +#include +#include +#include +#include #include #include #include @@ -33,12 +38,11 @@ #include #include #include +#include #include #include #include #include -#include -#include namespace AZ { @@ -98,6 +102,13 @@ namespace AZ jsonContext->Serializer() ->HandlesType(); + jsonContext->Serializer() + ->HandlesType(); + jsonContext->Serializer() + ->HandlesType(); + jsonContext->Serializer() + ->HandlesType(); + MathReflect(jsonContext); } else if (SerializeContext* serializeContext = azrtti_cast(reflectContext)) diff --git a/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp b/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp index 552b16a731..50ea08e0a0 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp +++ b/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp @@ -33,34 +33,38 @@ namespace AZ , m_serializerIter(serializerMapIter) {} - JsonRegistrationContext::SerializerBuilder* JsonRegistrationContext::SerializerBuilder::HandlesTypeId(const Uuid& uuid) + JsonRegistrationContext::SerializerBuilder* JsonRegistrationContext::SerializerBuilder::HandlesTypeId( + const Uuid& uuid, bool overwriteExisting) { if (!m_context->IsRemovingReflection()) { auto serializer = m_serializerIter->second.get(); if (uuid.IsNull()) { - AZ_Error("Serialization", false, - "Could not register Json serializer %s. Its Uuid is null.", - serializer->RTTI_GetTypeName() - ); + AZ_Assert(false, "Could not register Json serializer %s. Its Uuid is null.", serializer->RTTI_GetTypeName()); return this; } - auto serializerIter = m_context->m_handledTypesMap.find(uuid); - - if (serializerIter == m_context->m_handledTypesMap.end()) + if (!overwriteExisting) { - m_context->m_handledTypesMap.emplace(uuid, serializer); - return this; + auto serializerIter = m_context->m_handledTypesMap.find(uuid); + if (serializerIter == m_context->m_handledTypesMap.end()) + { + m_context->m_handledTypesMap.emplace(uuid, serializer); + } + else + { + AZ_Assert( + false, + "Couldn't register Json serializer %s. Another serializer (%s) has already been registered for the same Uuid (%s).", + serializer->RTTI_GetTypeName(), serializerIter->second->RTTI_GetTypeName(), + serializerIter->first.ToString().c_str()); + } + } + else + { + m_context->m_handledTypesMap.insert_or_assign(uuid, serializer); } - - AZ_Error("Serialization", false, - "Couldn't register Json serializer %s. Another serializer (%s) has already been registered for the same Uuid (%s).", - serializer->RTTI_GetTypeName(), - serializerIter->second->RTTI_GetTypeName(), - serializerIter->first.ToString().c_str() - ); } else { diff --git a/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.h b/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.h index 89d69e223f..fa1575a916 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.h +++ b/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.h @@ -63,52 +63,50 @@ namespace AZ SerializerBuilder* operator->(); template - SerializerBuilder* HandlesType() + SerializerBuilder* HandlesType(bool overwriteExisting = false) { - return HandlesTypeId(azrtti_typeid()); + return HandlesTypeId(azrtti_typeid(), overwriteExisting); } template class T> - SerializerBuilder* HandlesType() + SerializerBuilder* HandlesType(bool overwriteExisting = false) { - return HandlesTypeId(azrtti_typeid()); + return HandlesTypeId(azrtti_typeid(), overwriteExisting); } template class T> - SerializerBuilder* HandlesType() + SerializerBuilder* HandlesType(bool overwriteExisting = false) { - return HandlesTypeId(azrtti_typeid()); + return HandlesTypeId(azrtti_typeid(), overwriteExisting); } template class T> - SerializerBuilder* HandlesType() + SerializerBuilder* HandlesType(bool overwriteExisting = false) { - return HandlesTypeId(azrtti_typeid()); + return HandlesTypeId(azrtti_typeid(), overwriteExisting); } template class T> - SerializerBuilder* HandlesType() + SerializerBuilder* HandlesType(bool overwriteExisting = false) { - return HandlesTypeId(azrtti_typeid()); + return HandlesTypeId(azrtti_typeid(), overwriteExisting); } template class T> - SerializerBuilder* HandlesType() + SerializerBuilder* HandlesType(bool overwriteExisting = false) { - return HandlesTypeId(azrtti_typeid()); + return HandlesTypeId(azrtti_typeid(), overwriteExisting); } template class T> - SerializerBuilder* HandlesType() + SerializerBuilder* HandlesType(bool overwriteExisting = false) { - return HandlesTypeId(azrtti_typeid()); + return HandlesTypeId(azrtti_typeid(), overwriteExisting); } protected: - struct Placeholder { AZ_TYPE_INFO(PlaceHolder, "{4425191C-F497-411A-A7C3-52928E720B0A}"); }; - SerializerBuilder(JsonRegistrationContext* context, SerializerMap::const_iterator serializerMapIter); - SerializerBuilder* HandlesTypeId(const AZ::Uuid& uuid); + SerializerBuilder* HandlesTypeId(const AZ::Uuid& uuid, bool overwriteExisting); JsonRegistrationContext* m_context = nullptr; SerializerMap::const_iterator m_serializerIter; diff --git a/Code/Framework/AzCore/AzCore/Serialization/Json/UnsupportedTypesSerializer.cpp b/Code/Framework/AzCore/AzCore/Serialization/Json/UnsupportedTypesSerializer.cpp new file mode 100644 index 0000000000..b03215dd75 --- /dev/null +++ b/Code/Framework/AzCore/AzCore/Serialization/Json/UnsupportedTypesSerializer.cpp @@ -0,0 +1,56 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#include +#include + +namespace AZ +{ + AZ_CLASS_ALLOCATOR_IMPL(JsonUnsupportedTypesSerializer, SystemAllocator, 0); + AZ_CLASS_ALLOCATOR_IMPL(JsonAnySerializer, SystemAllocator, 0); + AZ_CLASS_ALLOCATOR_IMPL(JsonVariantSerializer, SystemAllocator, 0); + AZ_CLASS_ALLOCATOR_IMPL(JsonOptionalSerializer, SystemAllocator, 0); + + JsonSerializationResult::Result JsonUnsupportedTypesSerializer::Load(void*, const Uuid&, const rapidjson::Value&, + JsonDeserializerContext& context) + { + namespace JSR = JsonSerializationResult; + return context.Report(JSR::Tasks::ReadField, JSR::Outcomes::Invalid, GetMessage()); + } + + JsonSerializationResult::Result JsonUnsupportedTypesSerializer::Store(rapidjson::Value&, const void*, const void*, const Uuid&, + JsonSerializerContext& context) + { + namespace JSR = JsonSerializationResult; + return context.Report(JSR::Tasks::WriteValue, JSR::Outcomes::Invalid, GetMessage()); + } + + AZStd::string_view JsonAnySerializer::GetMessage() const + { + return "The Json Serialization doesn't support AZStd::any by design. The Json Serialization attempts to minimize the use of $type, " + "in particular the guid version, but no way has yet been found to use AZStd::any without explicitly and always requiring " + "one."; + } + + AZStd::string_view JsonVariantSerializer::GetMessage() const + { + return "The Json Serialization doesn't support AZStd::variant by design. The Json Serialization attempts to minimize the use of " + "$type, in particular the guid version. While combinations of AZStd::variant can be constructed that don't require a $type, " + "this cannot be guaranteed in general."; + } + + AZStd::string_view JsonOptionalSerializer::GetMessage() const + { + return "The Json Serialization doesn't support AZStd::optional by design. No JSON format has yet been found that wasn't deemed too " + "complex or overly verbose."; + } +} // namespace AZ diff --git a/Code/Framework/AzCore/AzCore/Serialization/Json/UnsupportedTypesSerializer.h b/Code/Framework/AzCore/AzCore/Serialization/Json/UnsupportedTypesSerializer.h new file mode 100644 index 0000000000..882b479e5d --- /dev/null +++ b/Code/Framework/AzCore/AzCore/Serialization/Json/UnsupportedTypesSerializer.h @@ -0,0 +1,72 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#include +#include +#include + +namespace AZ +{ + class JsonUnsupportedTypesSerializer : public BaseJsonSerializer + { + public: + AZ_RTTI(JsonUnsupportedTypesSerializer, "{AFCC76B9-1F28-429D-8B4E-020BFD95ADAC}", BaseJsonSerializer); + AZ_CLASS_ALLOCATOR_DECL; + + JsonSerializationResult::Result Load( + void* outputValue, + const Uuid& outputValueTypeId, + const rapidjson::Value& inputValue, + JsonDeserializerContext& context) override; + JsonSerializationResult::Result Store( + rapidjson::Value& outputValue, + const void* inputValue, + const void* defaultValue, + const Uuid& valueTypeId, + JsonSerializerContext& context) override; + + protected: + virtual AZStd::string_view GetMessage() const = 0; + }; + + class JsonAnySerializer : public JsonUnsupportedTypesSerializer + { + public: + AZ_RTTI(JsonAnySerializer, "{699A0864-C4E2-4266-8141-99793C76870F}", JsonUnsupportedTypesSerializer); + AZ_CLASS_ALLOCATOR_DECL; + + protected: + AZStd::string_view GetMessage() const override; + }; + + class JsonVariantSerializer : public JsonUnsupportedTypesSerializer + { + public: + AZ_RTTI(JsonVariantSerializer, "{08F8E746-F8A4-4E83-8902-713E90F3F498}", JsonUnsupportedTypesSerializer); + AZ_CLASS_ALLOCATOR_DECL; + + protected: + AZStd::string_view GetMessage() const override; + }; + + class JsonOptionalSerializer : public JsonUnsupportedTypesSerializer + { + public: + AZ_RTTI(JsonOptionalSerializer, "{F8AF1C95-BD1B-44D2-9B4A-F5726133A104}", JsonUnsupportedTypesSerializer); + AZ_CLASS_ALLOCATOR_DECL; + + protected: + AZStd::string_view GetMessage() const override; + }; +} // namespace AZ diff --git a/Code/Framework/AzCore/AzCore/azcore_files.cmake b/Code/Framework/AzCore/AzCore/azcore_files.cmake index dc0fb13f00..ca5b8cb7f2 100644 --- a/Code/Framework/AzCore/AzCore/azcore_files.cmake +++ b/Code/Framework/AzCore/AzCore/azcore_files.cmake @@ -544,6 +544,8 @@ set(FILES Serialization/Json/TupleSerializer.cpp Serialization/Json/UnorderedSetSerializer.h Serialization/Json/UnorderedSetSerializer.cpp + Serialization/Json/UnsupportedTypesSerializer.h + Serialization/Json/UnsupportedTypesSerializer.cpp Serialization/std/VariantReflection.inl Settings/CommandLine.cpp Settings/CommandLine.h diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/JsonRegistrationContextTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/JsonRegistrationContextTests.cpp index b10b569a42..6012a824c7 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/JsonRegistrationContextTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/JsonRegistrationContextTests.cpp @@ -95,6 +95,20 @@ namespace JsonSerializationTests } }; + class SerializerWithOneDuplicatedTypeWithOverride + : public JsonSerializerTemplatedMock + { + public: + AZ_RTTI(SerializerWithOneDuplicatedTypeWithOverride, "{4218D591-E578-499B-B578-ACA70C9944AB}", BaseJsonSerializer); + ~SerializerWithOneDuplicatedTypeWithOverride() override = default; + + static void Reflect(AZ::JsonRegistrationContext* context) + { + context->Serializer() + ->HandlesType(true); + } + }; + // Attempts to register the same type twice class SerializerWithTwoSameTypes : public JsonSerializerTemplatedMock @@ -278,6 +292,22 @@ namespace JsonSerializationTests SerializerWithOneDuplicatedType::Unreflect(m_jsonRegistrationContext.get()); } + TEST_F(JsonRegistrationContextTests, OverwriteRegisterSameUuidWithMultipleSerializers_Succeeds) + { + EXPECT_NE(AZ::AzTypeInfo::Uuid(), AZ::AzTypeInfo::Uuid()); + + SerializerWithOneType::Reflect(m_jsonRegistrationContext.get()); + SerializerWithOneDuplicatedTypeWithOverride::Reflect(m_jsonRegistrationContext.get()); + + EXPECT_EQ(1, m_jsonRegistrationContext->GetRegisteredSerializers().size()); + AZ::BaseJsonSerializer* mockSerializer = m_jsonRegistrationContext->GetSerializerForType(azrtti_typeid()); + EXPECT_NE(mockSerializer, nullptr); + EXPECT_EQ(AZ::AzTypeInfo::Uuid(), mockSerializer->RTTI_GetType()); + + SerializerWithOneType::Unreflect(m_jsonRegistrationContext.get()); + SerializerWithOneDuplicatedTypeWithOverride::Unreflect(m_jsonRegistrationContext.get()); + } + TEST_F(JsonRegistrationContextTests, RegisterSameUuidWithSameSerializers_Fails) { AZ_TEST_START_ASSERTTEST; diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/UnsupportedTypesSerializerTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/UnsupportedTypesSerializerTests.cpp new file mode 100644 index 0000000000..8c9f5d0d3d --- /dev/null +++ b/Code/Framework/AzCore/Tests/Serialization/Json/UnsupportedTypesSerializerTests.cpp @@ -0,0 +1,143 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#include +#include +#include +#include +#include + +namespace JsonSerializationTests +{ + struct AnyInfo + { + using Type = AZStd::any; + using Serializer = AZ::JsonAnySerializer; + }; + + struct VariantInfo + { + using Type = AZStd::variant; + using Serializer = AZ::JsonVariantSerializer; + }; + + struct OptionalInfo + { + using Type = AZStd::optional; + using Serializer = AZ::JsonVariantSerializer; + }; + + template + class JsonUnsupportedTypesSerializerTests : public BaseJsonSerializerFixture + { + public: + using Type = typename Info::Type; + using Serializer = typename Info::Serializer; + + void SetUp() override + { + BaseJsonSerializerFixture::SetUp(); + m_serializer = AZStd::make_unique(); + } + + void TearDown() override + { + m_serializer.reset(); + BaseJsonSerializerFixture::TearDown(); + } + + protected: + AZStd::unique_ptr m_serializer; + }; + + using UnsupportedTypesTestTypes = ::testing::Types; + TYPED_TEST_CASE(JsonUnsupportedTypesSerializerTests, UnsupportedTypesTestTypes); + + TYPED_TEST(JsonUnsupportedTypesSerializerTests, Load_CallDirectly_ReportsIssueAndHalts) + { + using namespace AZ::JsonSerializationResult; + + bool hasMessage = false; + auto callback = [&hasMessage](AZStd::string_view message, ResultCode result, AZStd::string_view) -> ResultCode + { + hasMessage = !message.empty(); + return result; + }; + m_jsonDeserializationContext->PushReporter(AZStd::move(callback)); + + Type instance{}; + Result result = m_serializer->Load(&instance, azrtti_typeid(), *m_jsonDocument, *m_jsonDeserializationContext); + m_jsonDeserializationContext->PopReporter(); + + EXPECT_EQ(Processing::Halted, result.GetResultCode().GetProcessing()); + EXPECT_TRUE(hasMessage); + } + + TYPED_TEST(JsonUnsupportedTypesSerializerTests, Load_CallThroughFrontEnd_ReportsIssueAndHalts) + { + using namespace AZ::JsonSerializationResult; + + bool hasMessage = false; + auto callback = [&hasMessage](AZStd::string_view message, ResultCode result, AZStd::string_view) -> ResultCode + { + hasMessage = !message.empty(); + return result; + }; + m_deserializationSettings->m_reporting = AZStd::move(callback); + + Type instance{}; + ResultCode result = AZ::JsonSerialization::Load(instance, *m_jsonDocument, *m_deserializationSettings); + + EXPECT_EQ(Processing::Halted, result.GetProcessing()); + EXPECT_TRUE(hasMessage); + } + + TYPED_TEST(JsonUnsupportedTypesSerializerTests, Save_CallDirectly_ReportsIssueAndHalts) + { + using namespace AZ::JsonSerializationResult; + + bool hasMessage = false; + auto callback = [&hasMessage](AZStd::string_view message, ResultCode result, AZStd::string_view) -> ResultCode + { + hasMessage = !message.empty(); + return result; + }; + m_jsonSerializationContext->PushReporter(AZStd::move(callback)); + + Type instance{}; + Result result = m_serializer->Store(*m_jsonDocument, &instance, nullptr, azrtti_typeid(), *m_jsonSerializationContext); + m_jsonSerializationContext->PopReporter(); + + EXPECT_EQ(Processing::Halted, result.GetResultCode().GetProcessing()); + EXPECT_TRUE(hasMessage); + } + + TYPED_TEST(JsonUnsupportedTypesSerializerTests, Save_CallThroughFrontEnd_ReportsIssueAndHalts) + { + using namespace AZ::JsonSerializationResult; + + bool hasMessage = false; + auto callback = [&hasMessage](AZStd::string_view message, ResultCode result, AZStd::string_view) -> ResultCode + { + hasMessage = !message.empty(); + return result; + }; + m_serializationSettings->m_reporting = AZStd::move(callback); + + Type instance{}; + ResultCode result = + AZ::JsonSerialization::Store(*m_jsonDocument, m_jsonDocument->GetAllocator(), instance, *m_serializationSettings); + + EXPECT_EQ(Processing::Halted, result.GetProcessing()); + EXPECT_TRUE(hasMessage); + } +} // namespace JsonSerializationTests diff --git a/Code/Framework/AzCore/Tests/azcoretests_files.cmake b/Code/Framework/AzCore/Tests/azcoretests_files.cmake index 78b2701d92..ffbfb75f6b 100644 --- a/Code/Framework/AzCore/Tests/azcoretests_files.cmake +++ b/Code/Framework/AzCore/Tests/azcoretests_files.cmake @@ -128,6 +128,7 @@ set(FILES Serialization/Json/TransformSerializerTests.cpp Serialization/Json/TupleSerializerTests.cpp Serialization/Json/UnorderedSetSerializerTests.cpp + Serialization/Json/UnsupportedTypesSerializerTests.cpp Serialization/Json/UuidSerializerTests.cpp Math/AabbTests.cpp Math/ColorTests.cpp From b23c95cab3872bb619768274ec29949f71de27c4 Mon Sep 17 00:00:00 2001 From: srikappa Date: Tue, 8 Jun 2021 17:58:59 -0700 Subject: [PATCH 028/205] Removed the new added flavor of ReadFile and reused existing one --- Code/Framework/AzCore/AzCore/Utils/Utils.cpp | 31 ------------------- Code/Framework/AzCore/AzCore/Utils/Utils.h | 4 --- .../AzToolsFramework/Prefab/PrefabLoader.cpp | 2 +- 3 files changed, 1 insertion(+), 36 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/Utils/Utils.cpp b/Code/Framework/AzCore/AzCore/Utils/Utils.cpp index 5521ff6131..7025b3977e 100644 --- a/Code/Framework/AzCore/AzCore/Utils/Utils.cpp +++ b/Code/Framework/AzCore/AzCore/Utils/Utils.cpp @@ -169,37 +169,6 @@ namespace AZ::Utils template AZ::Outcome, AZStd::string> ReadFile(AZStd::string_view filePath, size_t maxFileSize); template AZ::Outcome, AZStd::string> ReadFile(AZStd::string_view filePath, size_t maxFileSize); - template - AZ::Outcome ReadFileWithNoSizeLimit(AZStd::string_view filePath) - { - IO::FileIOStream file; - if (!file.Open(filePath.data(), IO::OpenMode::ModeRead)) - { - return AZ::Failure(AZStd::string::format("Failed to open '%.*s'.", AZ_STRING_ARG(filePath))); - } - - AZ::IO::SizeType length = file.GetLength(); - - if (length == 0) - { - return AZ::Failure(AZStd::string::format("Failed to load '%.*s'. File is empty.", AZ_STRING_ARG(filePath))); - } - - Container fileContent; - fileContent.resize(length); - AZ::IO::SizeType bytesRead = file.Read(length, fileContent.data()); - file.Close(); - - // Resize again just in case bytesRead is less than length for some reason - fileContent.resize(bytesRead); - - return AZ::Success(AZStd::move(fileContent)); - } - - template AZ::Outcome ReadFileWithNoSizeLimit(AZStd::string_view filePath); - template AZ::Outcome, AZStd::string> ReadFileWithNoSizeLimit(AZStd::string_view filePath); - template AZ::Outcome, AZStd::string> ReadFileWithNoSizeLimit(AZStd::string_view filePath); - AZ::IO::FixedMaxPathString GetO3deManifestDirectory() { AZ::IO::FixedMaxPath path = GetHomeDirectory(); diff --git a/Code/Framework/AzCore/AzCore/Utils/Utils.h b/Code/Framework/AzCore/AzCore/Utils/Utils.h index 6aaa1b868f..d082a3ebe0 100644 --- a/Code/Framework/AzCore/AzCore/Utils/Utils.h +++ b/Code/Framework/AzCore/AzCore/Utils/Utils.h @@ -117,9 +117,5 @@ namespace AZ //! the file size is larger than the max file size provided. template AZ::Outcome ReadFile(AZStd::string_view filePath, size_t maxFileSize = DefaultMaxFileSize); - - //! Read a file into a string. Returns a failure with error message if the content could not be loaded. - template - AZ::Outcome ReadFileWithNoSizeLimit(AZStd::string_view filePath); } } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp index 25a16f18a8..44dff93cb5 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp @@ -74,7 +74,7 @@ namespace AzToolsFramework return InvalidTemplateId; } - auto readResult = AZ::Utils::ReadFileWithNoSizeLimit(GetFullPath(filePath).Native()); + auto readResult = AZ::Utils::ReadFile(GetFullPath(filePath).Native(), AZStd::numeric_limits::max()); if (!readResult.IsSuccess()) { AZ_Error( From 672b9fd956d0af3aed5711c32a269e8f0c35848c Mon Sep 17 00:00:00 2001 From: mnaumov Date: Tue, 8 Jun 2021 19:21:40 -0700 Subject: [PATCH 029/205] [ATOM-5389] MeshComponent stats --- .../Code/Source/Mesh/EditorMeshComponent.cpp | 30 ++++++++++ .../Code/Source/Mesh/EditorMeshComponent.h | 4 ++ .../Code/Source/Mesh/EditorMeshStats.cpp | 58 +++++++++++++++++++ .../Code/Source/Mesh/EditorMeshStats.h | 49 ++++++++++++++++ .../Source/Mesh/MeshComponentController.cpp | 2 +- .../Source/Mesh/MeshComponentController.h | 2 +- ...egration_commonfeatures_editor_files.cmake | 2 + 7 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp create mode 100644 Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp index e1c9026c74..2315c38095 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp @@ -25,12 +25,16 @@ namespace AZ void EditorMeshComponent::Reflect(AZ::ReflectContext* context) { BaseClass::Reflect(context); + EditorMeshStats::Reflect(context); if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) { + serializeContext->RegisterGenericType(); + serializeContext->Class() ->Version(2, ConvertToEditorRenderComponentAdapter<1>) ->Field("addMaterialComponentFlag", &EditorMeshComponent::m_addMaterialComponentFlag) + ->Field("meshStats", &EditorMeshComponent::m_stats) ; // This shouldn't be registered here, but is required to make a vector from EditorMeshComponentTypeId. This can be removed when one of the following happens: @@ -55,6 +59,8 @@ namespace AZ ->Attribute(AZ::Edit::Attributes::ButtonText, "Add Material Component") ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorMeshComponent::AddEditorMaterialComponent) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorMeshComponent::GetEditorMaterialComponentVisibility) + ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshComponent::m_stats, "Mesh Stats", "Mesh statistics.") + ->Attribute(AZ::Edit::Attributes::AutoExpand, false) ; editContext->Class( @@ -204,6 +210,25 @@ namespace AZ void EditorMeshComponent::OnModelReady(const Data::Asset& /*modelAsset*/, const Data::Instance& /*model*/) { + m_stats.m_meshStatsForLod.clear(); + if (m_controller.GetConfiguration().IsAssetSet()) + { + auto lods = m_controller.GetConfiguration().m_modelAsset->GetLodAssets(); + for (auto& lod : lods) + { + EditorMeshStatsForLod stats; + auto meshes = lod->GetMeshes(); + stats.m_meshCount = lod->GetMeshes().size(); + for (auto& mesh : meshes) + { + stats.m_vertCount += mesh.GetVertexCount(); + stats.m_triCount += mesh.GetIndexCount() / 3; + } + m_stats.m_meshStatsForLod.push_back(stats); + } + } + m_stats.UpdateStringRepresentation(); + // Refresh the tree when the model loads to update UI based on the model. AzToolsFramework::ToolsApplicationEvents::Bus::Broadcast( &AzToolsFramework::ToolsApplicationEvents::InvalidatePropertyDisplay, @@ -216,6 +241,11 @@ namespace AZ // places it in a bad state, which happens in OnConfigurationChanged base function. // This is a bug with AssetManager [LYN-2249] auto temp = m_controller.m_configuration.m_modelAsset; + + m_stats.m_meshStatsForLod.clear(); + m_stats.UpdateStringRepresentation(); + SetDirty(); + return BaseClass::OnConfigurationChanged(); } } // namespace Render diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.h index 41ea80f8d1..93966bfc74 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.h @@ -18,6 +18,7 @@ #include #include #include +#include namespace AZ { @@ -33,6 +34,7 @@ namespace AZ , private AzToolsFramework::EditorComponentSelectionRequestsBus::Handler , private AzFramework::EntityDebugDisplayEventBus::Handler , private MeshComponentNotificationBus::Handler + , private Data::AssetBus::Handler { public: using BaseClass = EditorRenderComponentAdapter; @@ -71,6 +73,8 @@ namespace AZ // Flag used for button placement bool m_addMaterialComponentFlag = false; + + EditorMeshStats m_stats; }; } // namespace Render } // namespace AZ diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp new file mode 100644 index 0000000000..4fa4364569 --- /dev/null +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp @@ -0,0 +1,58 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#include +#include +#include +#include + +namespace AZ +{ + namespace Render + { + void EditorMeshStats::Reflect(ReflectContext* context) + { + if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Field("stringRepresentation", &EditorMeshStats::m_stringRepresentation) + ; + + if (AZ::EditContext* editContext = serializeContext->GetEditContext()) + { + editContext->Class( + "EditorMeshStats", "") + ->ClassElement(AZ::Edit::ClassElements::EditorData, "") + ->Attribute(AZ::Edit::Attributes::AutoExpand, false) + ->DataElement(AZ::Edit::UIHandlers::MultiLineEdit, &EditorMeshStats::m_stringRepresentation, "Mesh Stats", "") + ->Attribute(AZ::Edit::Attributes::NameLabelOverride, "") + ->Attribute(AZ::Edit::Attributes::ReadOnly, true) + ; + } + } + } + + void EditorMeshStats::UpdateStringRepresentation() + { + m_stringRepresentation = ""; + int lodIndex = 0; + for (auto& meshStatsForLod : m_meshStatsForLod) + { + m_stringRepresentation += AZStd::string::format("LOD: %d:\n", lodIndex++); + m_stringRepresentation += AZStd::string::format("\tMesh Count: %d\n", meshStatsForLod.m_meshCount); + m_stringRepresentation += AZStd::string::format("\tVert Count: %d\n", meshStatsForLod.m_vertCount); + m_stringRepresentation += AZStd::string::format("\tTriangle Count: %d\n", meshStatsForLod.m_triCount); + } + AZ::StringFunc::TrimWhiteSpace(m_stringRepresentation, true, true); + }; + } // namespace Render +} // namespace AZ diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h new file mode 100644 index 0000000000..baf422d984 --- /dev/null +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h @@ -0,0 +1,49 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#pragma once + +#include +#include +#include +#include + +namespace AZ +{ + namespace Render + { + struct EditorMeshStatsForLod final + { + AZ_RTTI(EditorMeshStatsForLod, "{626E3AEB-0F7A-4777-BAF1-2BBA8C1857ED}"); + AZ_CLASS_ALLOCATOR(EditorMeshStatsForLod, SystemAllocator, 0); + + + int m_meshCount = 0; + int m_vertCount = 0; + int m_triCount = 0; + }; + + struct EditorMeshStats final + { + AZ_RTTI(EditorMeshStats, "{68D0D3EF-17BB-46EA-B98F-51355402CCD6}"); + AZ_CLASS_ALLOCATOR(EditorMeshStats, SystemAllocator, 0); + + static void Reflect(ReflectContext* context); + + AZStd::vector m_meshStatsForLod; + + void UpdateStringRepresentation(); + + AZStd::string m_stringRepresentation = {}; + }; + } // namespace Render +} // namespace AZ diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp index e7eecd3c7f..6c9b4e6514 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp @@ -49,7 +49,7 @@ namespace AZ } } - bool MeshComponentConfig::IsAssetSet() + bool MeshComponentConfig::IsAssetSet() const { return m_modelAsset.GetId().IsValid(); } diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.h index 4d63e5e88d..e44fad07df 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.h @@ -44,7 +44,7 @@ namespace AZ static void Reflect(AZ::ReflectContext* context); // Editor helper functions - bool IsAssetSet(); + bool IsAssetSet() const; AZStd::vector> GetLodOverrideValues(); Data::Asset m_modelAsset = { AZ::Data::AssetLoadBehavior::QueueLoad }; diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/atomlyintegration_commonfeatures_editor_files.cmake b/Gems/AtomLyIntegration/CommonFeatures/Code/atomlyintegration_commonfeatures_editor_files.cmake index 9072cd54f2..6c45015e39 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/atomlyintegration_commonfeatures_editor_files.cmake +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/atomlyintegration_commonfeatures_editor_files.cmake @@ -50,6 +50,8 @@ set(FILES Source/Material/MaterialThumbnail.h Source/Mesh/EditorMeshComponent.h Source/Mesh/EditorMeshComponent.cpp + Source/Mesh/EditorMeshStats.h + Source/Mesh/EditorMeshStats.cpp Source/Mesh/EditorMeshSystemComponent.cpp Source/Mesh/EditorMeshSystemComponent.h Source/Mesh/MeshThumbnail.h From 2923d8b962ff3c357a9213097e7ee7bf9d3b7054 Mon Sep 17 00:00:00 2001 From: mnaumov Date: Tue, 8 Jun 2021 19:35:40 -0700 Subject: [PATCH 030/205] some cleanup --- .../Code/Source/Mesh/EditorMeshComponent.cpp | 20 ++++++++----------- .../Code/Source/Mesh/EditorMeshComponent.h | 2 +- .../Code/Source/Mesh/EditorMeshStats.h | 5 +---- .../Source/Mesh/MeshComponentController.cpp | 2 +- .../Source/Mesh/MeshComponentController.h | 2 +- 5 files changed, 12 insertions(+), 19 deletions(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp index 2315c38095..474369a984 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp @@ -211,21 +211,17 @@ namespace AZ void EditorMeshComponent::OnModelReady(const Data::Asset& /*modelAsset*/, const Data::Instance& /*model*/) { m_stats.m_meshStatsForLod.clear(); - if (m_controller.GetConfiguration().IsAssetSet()) + for (auto& lod : m_controller.GetConfiguration().m_modelAsset->GetLodAssets()) { - auto lods = m_controller.GetConfiguration().m_modelAsset->GetLodAssets(); - for (auto& lod : lods) + EditorMeshStatsForLod stats; + auto meshes = lod->GetMeshes(); + stats.m_meshCount = lod->GetMeshes().size(); + for (auto& mesh : meshes) { - EditorMeshStatsForLod stats; - auto meshes = lod->GetMeshes(); - stats.m_meshCount = lod->GetMeshes().size(); - for (auto& mesh : meshes) - { - stats.m_vertCount += mesh.GetVertexCount(); - stats.m_triCount += mesh.GetIndexCount() / 3; - } - m_stats.m_meshStatsForLod.push_back(stats); + stats.m_vertCount += mesh.GetVertexCount(); + stats.m_triCount += mesh.GetIndexCount() / 3; } + m_stats.m_meshStatsForLod.push_back(stats); } m_stats.UpdateStringRepresentation(); diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.h index 93966bfc74..3397540a92 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.h @@ -34,7 +34,6 @@ namespace AZ , private AzToolsFramework::EditorComponentSelectionRequestsBus::Handler , private AzFramework::EntityDebugDisplayEventBus::Handler , private MeshComponentNotificationBus::Handler - , private Data::AssetBus::Handler { public: using BaseClass = EditorRenderComponentAdapter; @@ -74,6 +73,7 @@ namespace AZ // Flag used for button placement bool m_addMaterialComponentFlag = false; + // Stats for current mesh asset EditorMeshStats m_stats; }; } // namespace Render diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h index baf422d984..a2cca39a82 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h @@ -26,7 +26,6 @@ namespace AZ AZ_RTTI(EditorMeshStatsForLod, "{626E3AEB-0F7A-4777-BAF1-2BBA8C1857ED}"); AZ_CLASS_ALLOCATOR(EditorMeshStatsForLod, SystemAllocator, 0); - int m_meshCount = 0; int m_vertCount = 0; int m_triCount = 0; @@ -38,11 +37,9 @@ namespace AZ AZ_CLASS_ALLOCATOR(EditorMeshStats, SystemAllocator, 0); static void Reflect(ReflectContext* context); - - AZStd::vector m_meshStatsForLod; - void UpdateStringRepresentation(); + AZStd::vector m_meshStatsForLod; AZStd::string m_stringRepresentation = {}; }; } // namespace Render diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp index 6c9b4e6514..e7eecd3c7f 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp @@ -49,7 +49,7 @@ namespace AZ } } - bool MeshComponentConfig::IsAssetSet() const + bool MeshComponentConfig::IsAssetSet() { return m_modelAsset.GetId().IsValid(); } diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.h index e44fad07df..4d63e5e88d 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.h @@ -44,7 +44,7 @@ namespace AZ static void Reflect(AZ::ReflectContext* context); // Editor helper functions - bool IsAssetSet() const; + bool IsAssetSet(); AZStd::vector> GetLodOverrideValues(); Data::Asset m_modelAsset = { AZ::Data::AssetLoadBehavior::QueueLoad }; From e07cf79babd06eec1cc7264f6e24448492f48de3 Mon Sep 17 00:00:00 2001 From: mnaumov Date: Tue, 8 Jun 2021 19:37:43 -0700 Subject: [PATCH 031/205] removed duplicate decription --- .../CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp index 474369a984..3176bfe37b 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp @@ -59,7 +59,7 @@ namespace AZ ->Attribute(AZ::Edit::Attributes::ButtonText, "Add Material Component") ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorMeshComponent::AddEditorMaterialComponent) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorMeshComponent::GetEditorMaterialComponentVisibility) - ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshComponent::m_stats, "Mesh Stats", "Mesh statistics.") + ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshComponent::m_stats, "Mesh Stats", "") ->Attribute(AZ::Edit::Attributes::AutoExpand, false) ; From 9cc8e959452b42d46eed532365585f7b3539e90b Mon Sep 17 00:00:00 2001 From: FuzzyCarterAWS <29718640+FuzzyCarterAWS@users.noreply.github.com> Date: Tue, 8 Jun 2021 19:48:38 -0700 Subject: [PATCH 032/205] Updates FBX test assets to remove suzanne --- .../single_mesh_multiple_materials.dbgsg | 11784 +- .../single_mesh_multiple_materials.fbx | 4 +- .../multiple_mesh_linked_materials.dbgsg | 1166 +- .../multiple_mesh_linked_materials.fbx | 4 +- .../assets/VertexColor/vertexcolor.dbgsg | 123021 ++++++++++++++- .../assets/VertexColor/vertexcolor.fbx | 4 +- 6 files changed, 135857 insertions(+), 126 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/OneMeshMultipleMaterials/single_mesh_multiple_materials.dbgsg b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/OneMeshMultipleMaterials/single_mesh_multiple_materials.dbgsg index b4bbea3715..5783ebfa29 100644 --- a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/OneMeshMultipleMaterials/single_mesh_multiple_materials.dbgsg +++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/OneMeshMultipleMaterials/single_mesh_multiple_materials.dbgsg @@ -1,14 +1,11544 @@ ProductName: single_mesh_multiple_materials.dbgsg debugSceneGraphVersion: 1 single_mesh_multiple_materials -Node Path: RootNode.Suzanne +Node Name: Torus +Node Path: RootNode.Torus Node Type: MeshData - Positions: Count 1968. Hash: 3015384011524461480 - Normals: Count 1968. Hash: 14837001273673585886 - FaceList: Count 968. Hash: 11474783464320275329 - FaceMaterialIds: Count 968. Hash: 470878788655745173 + Positions: Count 2304. Hash: 12560656679477605282 + 0: <-0.012500, 0.000000, 0.000000> + 1: <-0.012393, 0.000000, 0.001632> + 2: <-0.012061, 0.001250, 0.001588> + 3: <-0.012165, 0.001250, 0.000000> + 4: <-0.012165, 0.001250, 0.000000> + 5: <-0.012061, 0.001250, 0.001588> + 6: <-0.011154, 0.002165, 0.001468> + 7: <-0.011250, 0.002165, 0.000000> + 8: <-0.011250, 0.002165, 0.000000> + 9: <-0.011154, 0.002165, 0.001468> + 10: <-0.009914, 0.002500, 0.001305> + 11: <-0.010000, 0.002500, 0.000000> + 12: <-0.010000, 0.002500, 0.000000> + 13: <-0.009914, 0.002500, 0.001305> + 14: <-0.008675, 0.002165, 0.001142> + 15: <-0.008750, 0.002165, 0.000000> + 16: <-0.011250, -0.002165, 0.000000> + 17: <-0.011154, -0.002165, 0.001468> + 18: <-0.012061, -0.001250, 0.001588> + 19: <-0.012165, -0.001250, 0.000000> + 20: <-0.012165, -0.001250, 0.000000> + 21: <-0.012061, -0.001250, 0.001588> + 22: <-0.012393, 0.000000, 0.001632> + 23: <-0.012500, 0.000000, 0.000000> + 24: <-0.012393, 0.000000, 0.001632> + 25: <-0.012074, 0.000000, 0.003235> + 26: <-0.011751, 0.001250, 0.003149> + 27: <-0.012061, 0.001250, 0.001588> + 28: <-0.012061, 0.001250, 0.001588> + 29: <-0.011751, 0.001250, 0.003149> + 30: <-0.010867, 0.002165, 0.002912> + 31: <-0.011154, 0.002165, 0.001468> + 32: <-0.011154, 0.002165, 0.001468> + 33: <-0.010867, 0.002165, 0.002912> + 34: <-0.009659, 0.002500, 0.002588> + 35: <-0.009914, 0.002500, 0.001305> + 36: <-0.009914, 0.002500, 0.001305> + 37: <-0.009659, 0.002500, 0.002588> + 38: <-0.008452, 0.002165, 0.002265> + 39: <-0.008675, 0.002165, 0.001142> + 40: <-0.011154, -0.002165, 0.001468> + 41: <-0.010867, -0.002165, 0.002912> + 42: <-0.011751, -0.001250, 0.003149> + 43: <-0.012061, -0.001250, 0.001588> + 44: <-0.012061, -0.001250, 0.001588> + 45: <-0.011751, -0.001250, 0.003149> + 46: <-0.012074, 0.000000, 0.003235> + 47: <-0.012393, 0.000000, 0.001632> + 48: <-0.012074, 0.000000, 0.003235> + 49: <-0.011548, 0.000000, 0.004784> + 50: <-0.011239, 0.001250, 0.004655> + 51: <-0.011751, 0.001250, 0.003149> + 52: <-0.011751, 0.001250, 0.003149> + 53: <-0.011239, 0.001250, 0.004655> + 54: <-0.010394, 0.002165, 0.004305> + 55: <-0.010867, 0.002165, 0.002912> + 56: <-0.010867, 0.002165, 0.002912> + 57: <-0.010394, 0.002165, 0.004305> + 58: <-0.009239, 0.002500, 0.003827> + 59: <-0.009659, 0.002500, 0.002588> + 60: <-0.009659, 0.002500, 0.002588> + 61: <-0.009239, 0.002500, 0.003827> + 62: <-0.008084, 0.002165, 0.003348> + 63: <-0.008452, 0.002165, 0.002265> + 64: <-0.010867, -0.002165, 0.002912> + 65: <-0.010394, -0.002165, 0.004305> + 66: <-0.011239, -0.001250, 0.004655> + 67: <-0.011751, -0.001250, 0.003149> + 68: <-0.011751, -0.001250, 0.003149> + 69: <-0.011239, -0.001250, 0.004655> + 70: <-0.011548, 0.000000, 0.004784> + 71: <-0.012074, 0.000000, 0.003235> + 72: <-0.011548, 0.000000, 0.004784> + 73: <-0.010825, 0.000000, 0.006250> + 74: <-0.010535, 0.001250, 0.006083> + 75: <-0.011239, 0.001250, 0.004655> + 76: <-0.011239, 0.001250, 0.004655> + 77: <-0.010535, 0.001250, 0.006083> + 78: <-0.009743, 0.002165, 0.005625> + 79: <-0.010394, 0.002165, 0.004305> + 80: <-0.010394, 0.002165, 0.004305> + 81: <-0.009743, 0.002165, 0.005625> + 82: <-0.008660, 0.002500, 0.005000> + 83: <-0.009239, 0.002500, 0.003827> + 84: <-0.009239, 0.002500, 0.003827> + 85: <-0.008660, 0.002500, 0.005000> + 86: <-0.007578, 0.002165, 0.004375> + 87: <-0.008084, 0.002165, 0.003348> + 88: <-0.010394, -0.002165, 0.004305> + 89: <-0.009743, -0.002165, 0.005625> + 90: <-0.010535, -0.001250, 0.006083> + 91: <-0.011239, -0.001250, 0.004655> + 92: <-0.011239, -0.001250, 0.004655> + 93: <-0.010535, -0.001250, 0.006083> + 94: <-0.010825, 0.000000, 0.006250> + 95: <-0.011548, 0.000000, 0.004784> + 96: <-0.010825, 0.000000, 0.006250> + 97: <-0.009917, 0.000000, 0.007610> + 98: <-0.009651, 0.001250, 0.007406> + 99: <-0.010535, 0.001250, 0.006083> + 100: <-0.010535, 0.001250, 0.006083> + 101: <-0.009651, 0.001250, 0.007406> + 102: <-0.008925, 0.002165, 0.006849> + 103: <-0.009743, 0.002165, 0.005625> + 104: <-0.009743, 0.002165, 0.005625> + 105: <-0.008925, 0.002165, 0.006849> + 106: <-0.007934, 0.002500, 0.006088> + 107: <-0.008660, 0.002500, 0.005000> + 108: <-0.008660, 0.002500, 0.005000> + 109: <-0.007934, 0.002500, 0.006088> + 110: <-0.006942, 0.002165, 0.005327> + 111: <-0.007578, 0.002165, 0.004375> + 112: <-0.009743, -0.002165, 0.005625> + 113: <-0.008925, -0.002165, 0.006849> + 114: <-0.009651, -0.001250, 0.007406> + 115: <-0.010535, -0.001250, 0.006083> + 116: <-0.010535, -0.001250, 0.006083> + 117: <-0.009651, -0.001250, 0.007406> + 118: <-0.009917, 0.000000, 0.007610> + 119: <-0.010825, 0.000000, 0.006250> + 120: <-0.009917, 0.000000, 0.007610> + 121: <-0.008839, 0.000000, 0.008839> + 122: <-0.008602, 0.001250, 0.008602> + 123: <-0.009651, 0.001250, 0.007406> + 124: <-0.009651, 0.001250, 0.007406> + 125: <-0.008602, 0.001250, 0.008602> + 126: <-0.007955, 0.002165, 0.007955> + 127: <-0.008925, 0.002165, 0.006849> + 128: <-0.008925, 0.002165, 0.006849> + 129: <-0.007955, 0.002165, 0.007955> + 130: <-0.007071, 0.002500, 0.007071> + 131: <-0.007934, 0.002500, 0.006088> + 132: <-0.007934, 0.002500, 0.006088> + 133: <-0.007071, 0.002500, 0.007071> + 134: <-0.006187, 0.002165, 0.006187> + 135: <-0.006942, 0.002165, 0.005327> + 136: <-0.006942, 0.002165, 0.005327> + 137: <-0.006187, 0.002165, 0.006187> + 138: <-0.005540, 0.001250, 0.005540> + 139: <-0.006216, 0.001250, 0.004770> + 140: <-0.009651, -0.001250, 0.007406> + 141: <-0.008602, -0.001250, 0.008602> + 142: <-0.008839, 0.000000, 0.008839> + 143: <-0.009917, 0.000000, 0.007610> + 144: <-0.008839, 0.000000, 0.008839> + 145: <-0.007610, 0.000000, 0.009917> + 146: <-0.007406, 0.001250, 0.009651> + 147: <-0.008602, 0.001250, 0.008602> + 148: <-0.008602, 0.001250, 0.008602> + 149: <-0.007406, 0.001250, 0.009651> + 150: <-0.006849, 0.002165, 0.008925> + 151: <-0.007955, 0.002165, 0.007955> + 152: <-0.007955, 0.002165, 0.007955> + 153: <-0.006849, 0.002165, 0.008925> + 154: <-0.006088, 0.002500, 0.007934> + 155: <-0.007071, 0.002500, 0.007071> + 156: <-0.007071, 0.002500, 0.007071> + 157: <-0.006088, 0.002500, 0.007934> + 158: <-0.005327, 0.002165, 0.006942> + 159: <-0.006187, 0.002165, 0.006187> + 160: <-0.006187, 0.002165, 0.006187> + 161: <-0.005327, 0.002165, 0.006942> + 162: <-0.004770, 0.001250, 0.006216> + 163: <-0.005540, 0.001250, 0.005540> + 164: <-0.008602, -0.001250, 0.008602> + 165: <-0.007406, -0.001250, 0.009651> + 166: <-0.007610, 0.000000, 0.009917> + 167: <-0.008839, 0.000000, 0.008839> + 168: <-0.007610, 0.000000, 0.009917> + 169: <-0.006250, 0.000000, 0.010825> + 170: <-0.006083, 0.001250, 0.010535> + 171: <-0.007406, 0.001250, 0.009651> + 172: <-0.007406, 0.001250, 0.009651> + 173: <-0.006083, 0.001250, 0.010535> + 174: <-0.005625, 0.002165, 0.009743> + 175: <-0.006849, 0.002165, 0.008925> + 176: <-0.006849, 0.002165, 0.008925> + 177: <-0.005625, 0.002165, 0.009743> + 178: <-0.005000, 0.002500, 0.008660> + 179: <-0.006088, 0.002500, 0.007934> + 180: <-0.006088, 0.002500, 0.007934> + 181: <-0.005000, 0.002500, 0.008660> + 182: <-0.004375, 0.002165, 0.007578> + 183: <-0.005327, 0.002165, 0.006942> + 184: <-0.005327, 0.002165, 0.006942> + 185: <-0.004375, 0.002165, 0.007578> + 186: <-0.003917, 0.001250, 0.006785> + 187: <-0.004770, 0.001250, 0.006216> + 188: <-0.004770, 0.001250, 0.006216> + 189: <-0.003917, 0.001250, 0.006785> + 190: <-0.003750, 0.000000, 0.006495> + 191: <-0.004566, 0.000000, 0.005950> + 192: <-0.006083, 0.001250, 0.010535> + 193: <-0.004655, 0.001250, 0.011239> + 194: <-0.004305, 0.002165, 0.010394> + 195: <-0.005625, 0.002165, 0.009743> + 196: <-0.005625, 0.002165, 0.009743> + 197: <-0.004305, 0.002165, 0.010394> + 198: <-0.003827, 0.002500, 0.009239> + 199: <-0.005000, 0.002500, 0.008660> + 200: <-0.005000, 0.002500, 0.008660> + 201: <-0.003827, 0.002500, 0.009239> + 202: <-0.003348, 0.002165, 0.008084> + 203: <-0.004375, 0.002165, 0.007578> + 204: <-0.004375, 0.002165, 0.007578> + 205: <-0.003348, 0.002165, 0.008084> + 206: <-0.002998, 0.001250, 0.007239> + 207: <-0.003917, 0.001250, 0.006785> + 208: <-0.003917, 0.001250, 0.006785> + 209: <-0.002998, 0.001250, 0.007239> + 210: <-0.002870, 0.000000, 0.006929> + 211: <-0.003750, 0.000000, 0.006495> + 212: <-0.004655, 0.001250, 0.011239> + 213: <-0.003149, 0.001250, 0.011751> + 214: <-0.002912, 0.002165, 0.010867> + 215: <-0.004305, 0.002165, 0.010394> + 216: <-0.004305, 0.002165, 0.010394> + 217: <-0.002912, 0.002165, 0.010867> + 218: <-0.002588, 0.002500, 0.009659> + 219: <-0.003827, 0.002500, 0.009239> + 220: <-0.003827, 0.002500, 0.009239> + 221: <-0.002588, 0.002500, 0.009659> + 222: <-0.002265, 0.002165, 0.008452> + 223: <-0.003348, 0.002165, 0.008084> + 224: <-0.003348, 0.002165, 0.008084> + 225: <-0.002265, 0.002165, 0.008452> + 226: <-0.002028, 0.001250, 0.007568> + 227: <-0.002998, 0.001250, 0.007239> + 228: <-0.002998, 0.001250, 0.007239> + 229: <-0.002028, 0.001250, 0.007568> + 230: <-0.001941, 0.000000, 0.007244> + 231: <-0.002870, 0.000000, 0.006929> + 232: <-0.002870, 0.000000, 0.006929> + 233: <-0.001941, 0.000000, 0.007244> + 234: <-0.002028, -0.001250, 0.007568> + 235: <-0.002998, -0.001250, 0.007239> + 236: <-0.002912, 0.002165, 0.010867> + 237: <-0.001468, 0.002165, 0.011154> + 238: <-0.001305, 0.002500, 0.009914> + 239: <-0.002588, 0.002500, 0.009659> + 240: <-0.002588, 0.002500, 0.009659> + 241: <-0.001305, 0.002500, 0.009914> + 242: <-0.001142, 0.002165, 0.008675> + 243: <-0.002265, 0.002165, 0.008452> + 244: <-0.002265, 0.002165, 0.008452> + 245: <-0.001142, 0.002165, 0.008675> + 246: <-0.001023, 0.001250, 0.007768> + 247: <-0.002028, 0.001250, 0.007568> + 248: <-0.002028, 0.001250, 0.007568> + 249: <-0.001023, 0.001250, 0.007768> + 250: <-0.000979, 0.000000, 0.007436> + 251: <-0.001941, 0.000000, 0.007244> + 252: <-0.001941, 0.000000, 0.007244> + 253: <-0.000979, 0.000000, 0.007436> + 254: <-0.001023, -0.001250, 0.007768> + 255: <-0.002028, -0.001250, 0.007568> + 256: <-0.001468, 0.002165, 0.011154> + 257: <-0.000000, 0.002165, 0.011250> + 258: <-0.000000, 0.002500, 0.010000> + 259: <-0.001305, 0.002500, 0.009914> + 260: <-0.001305, 0.002500, 0.009914> + 261: <-0.000000, 0.002500, 0.010000> + 262: <-0.000000, 0.002165, 0.008750> + 263: <-0.001142, 0.002165, 0.008675> + 264: <-0.001142, 0.002165, 0.008675> + 265: <-0.000000, 0.002165, 0.008750> + 266: <-0.000000, 0.001250, 0.007835> + 267: <-0.001023, 0.001250, 0.007768> + 268: <-0.001023, 0.001250, 0.007768> + 269: <-0.000000, 0.001250, 0.007835> + 270: <-0.000000, 0.000000, 0.007500> + 271: <-0.000979, 0.000000, 0.007436> + 272: <-0.000979, 0.000000, 0.007436> + 273: <-0.000000, 0.000000, 0.007500> + 274: <-0.000000, -0.001250, 0.007835> + 275: <-0.001023, -0.001250, 0.007768> + 276: <-0.000000, 0.002165, 0.011250> + 277: < 0.001468, 0.002165, 0.011154> + 278: < 0.001305, 0.002500, 0.009914> + 279: <-0.000000, 0.002500, 0.010000> + 280: <-0.000000, 0.002500, 0.010000> + 281: < 0.001305, 0.002500, 0.009914> + 282: < 0.001142, 0.002165, 0.008675> + 283: <-0.000000, 0.002165, 0.008750> + 284: <-0.000000, 0.002165, 0.008750> + 285: < 0.001142, 0.002165, 0.008675> + 286: < 0.001023, 0.001250, 0.007768> + 287: <-0.000000, 0.001250, 0.007835> + 288: <-0.000000, 0.001250, 0.007835> + 289: < 0.001023, 0.001250, 0.007768> + 290: < 0.000979, 0.000000, 0.007436> + 291: <-0.000000, 0.000000, 0.007500> + 292: <-0.000000, 0.000000, 0.007500> + 293: < 0.000979, 0.000000, 0.007436> + 294: < 0.001023, -0.001250, 0.007768> + 295: <-0.000000, -0.001250, 0.007835> + 296: <-0.000000, -0.001250, 0.007835> + 297: < 0.001023, -0.001250, 0.007768> + 298: < 0.001142, -0.002165, 0.008675> + 299: <-0.000000, -0.002165, 0.008750> + 300: < 0.001468, 0.002165, 0.011154> + 301: < 0.002912, 0.002165, 0.010867> + 302: < 0.002588, 0.002500, 0.009659> + 303: < 0.001305, 0.002500, 0.009914> + 304: < 0.001305, 0.002500, 0.009914> + 305: < 0.002588, 0.002500, 0.009659> + 306: < 0.002265, 0.002165, 0.008452> + 307: < 0.001142, 0.002165, 0.008675> + 308: < 0.001142, 0.002165, 0.008675> + 309: < 0.002265, 0.002165, 0.008452> + 310: < 0.002028, 0.001250, 0.007568> + 311: < 0.001023, 0.001250, 0.007768> + 312: < 0.001023, 0.001250, 0.007768> + 313: < 0.002028, 0.001250, 0.007568> + 314: < 0.001941, 0.000000, 0.007244> + 315: < 0.000979, 0.000000, 0.007436> + 316: < 0.000979, 0.000000, 0.007436> + 317: < 0.001941, 0.000000, 0.007244> + 318: < 0.002028, -0.001250, 0.007568> + 319: < 0.001023, -0.001250, 0.007768> + 320: < 0.001023, -0.001250, 0.007768> + 321: < 0.002028, -0.001250, 0.007568> + 322: < 0.002265, -0.002165, 0.008452> + 323: < 0.001142, -0.002165, 0.008675> + 324: < 0.002912, 0.002165, 0.010867> + 325: < 0.004305, 0.002165, 0.010394> + 326: < 0.003827, 0.002500, 0.009239> + 327: < 0.002588, 0.002500, 0.009659> + 328: < 0.002588, 0.002500, 0.009659> + 329: < 0.003827, 0.002500, 0.009239> + 330: < 0.003348, 0.002165, 0.008084> + 331: < 0.002265, 0.002165, 0.008452> + 332: < 0.002265, 0.002165, 0.008452> + 333: < 0.003348, 0.002165, 0.008084> + 334: < 0.002998, 0.001250, 0.007239> + 335: < 0.002028, 0.001250, 0.007568> + 336: < 0.002028, 0.001250, 0.007568> + 337: < 0.002998, 0.001250, 0.007239> + 338: < 0.002870, 0.000000, 0.006929> + 339: < 0.001941, 0.000000, 0.007244> + 340: < 0.001941, 0.000000, 0.007244> + 341: < 0.002870, 0.000000, 0.006929> + 342: < 0.002998, -0.001250, 0.007239> + 343: < 0.002028, -0.001250, 0.007568> + 344: < 0.002028, -0.001250, 0.007568> + 345: < 0.002998, -0.001250, 0.007239> + 346: < 0.003348, -0.002165, 0.008084> + 347: < 0.002265, -0.002165, 0.008452> + 348: < 0.004305, 0.002165, 0.010394> + 349: < 0.005625, 0.002165, 0.009743> + 350: < 0.005000, 0.002500, 0.008660> + 351: < 0.003827, 0.002500, 0.009239> + 352: < 0.003827, 0.002500, 0.009239> + 353: < 0.005000, 0.002500, 0.008660> + 354: < 0.004375, 0.002165, 0.007578> + 355: < 0.003348, 0.002165, 0.008084> + 356: < 0.003348, 0.002165, 0.008084> + 357: < 0.004375, 0.002165, 0.007578> + 358: < 0.003917, 0.001250, 0.006785> + 359: < 0.002998, 0.001250, 0.007239> + 360: < 0.002998, 0.001250, 0.007239> + 361: < 0.003917, 0.001250, 0.006785> + 362: < 0.003750, 0.000000, 0.006495> + 363: < 0.002870, 0.000000, 0.006929> + 364: < 0.002870, 0.000000, 0.006929> + 365: < 0.003750, 0.000000, 0.006495> + 366: < 0.003917, -0.001250, 0.006785> + 367: < 0.002998, -0.001250, 0.007239> + 368: < 0.002998, -0.001250, 0.007239> + 369: < 0.003917, -0.001250, 0.006785> + 370: < 0.004375, -0.002165, 0.007578> + 371: < 0.003348, -0.002165, 0.008084> + 372: < 0.005625, 0.002165, 0.009743> + 373: < 0.006849, 0.002165, 0.008925> + 374: < 0.006088, 0.002500, 0.007934> + 375: < 0.005000, 0.002500, 0.008660> + 376: < 0.005000, 0.002500, 0.008660> + 377: < 0.006088, 0.002500, 0.007934> + 378: < 0.005327, 0.002165, 0.006942> + 379: < 0.004375, 0.002165, 0.007578> + 380: < 0.004375, 0.002165, 0.007578> + 381: < 0.005327, 0.002165, 0.006942> + 382: < 0.004770, 0.001250, 0.006216> + 383: < 0.003917, 0.001250, 0.006785> + 384: < 0.003917, -0.001250, 0.006785> + 385: < 0.004770, -0.001250, 0.006216> + 386: < 0.005327, -0.002165, 0.006942> + 387: < 0.004375, -0.002165, 0.007578> + 388: <-0.012074, 0.000000, -0.003235> + 389: <-0.012393, 0.000000, -0.001632> + 390: <-0.012061, 0.001250, -0.001588> + 391: <-0.011751, 0.001250, -0.003149> + 392: <-0.011751, 0.001250, -0.003149> + 393: <-0.012061, 0.001250, -0.001588> + 394: <-0.011154, 0.002165, -0.001468> + 395: <-0.010867, 0.002165, -0.002912> + 396: <-0.010867, 0.002165, -0.002912> + 397: <-0.011154, 0.002165, -0.001468> + 398: <-0.009914, 0.002500, -0.001305> + 399: <-0.009659, 0.002500, -0.002588> + 400: <-0.009659, 0.002500, -0.002588> + 401: <-0.009914, 0.002500, -0.001305> + 402: <-0.008675, 0.002165, -0.001142> + 403: <-0.008452, 0.002165, -0.002265> + 404: <-0.010867, -0.002165, -0.002912> + 405: <-0.011154, -0.002165, -0.001468> + 406: <-0.012061, -0.001250, -0.001588> + 407: <-0.011751, -0.001250, -0.003149> + 408: <-0.011751, -0.001250, -0.003149> + 409: <-0.012061, -0.001250, -0.001588> + 410: <-0.012393, 0.000000, -0.001632> + 411: <-0.012074, 0.000000, -0.003235> + 412: <-0.012393, 0.000000, -0.001632> + 413: <-0.012500, 0.000000, 0.000000> + 414: <-0.012165, 0.001250, 0.000000> + 415: <-0.012061, 0.001250, -0.001588> + 416: <-0.012061, 0.001250, -0.001588> + 417: <-0.012165, 0.001250, 0.000000> + 418: <-0.011250, 0.002165, 0.000000> + 419: <-0.011154, 0.002165, -0.001468> + 420: <-0.011154, 0.002165, -0.001468> + 421: <-0.011250, 0.002165, 0.000000> + 422: <-0.010000, 0.002500, 0.000000> + 423: <-0.009914, 0.002500, -0.001305> + 424: <-0.009914, 0.002500, -0.001305> + 425: <-0.010000, 0.002500, 0.000000> + 426: <-0.008750, 0.002165, 0.000000> + 427: <-0.008675, 0.002165, -0.001142> + 428: <-0.011154, -0.002165, -0.001468> + 429: <-0.011250, -0.002165, 0.000000> + 430: <-0.012165, -0.001250, 0.000000> + 431: <-0.012061, -0.001250, -0.001588> + 432: <-0.012061, -0.001250, -0.001588> + 433: <-0.012165, -0.001250, 0.000000> + 434: <-0.012500, 0.000000, 0.000000> + 435: <-0.012393, 0.000000, -0.001632> + 436: <-0.008750, 0.002165, 0.000000> + 437: <-0.008675, 0.002165, 0.001142> + 438: <-0.007768, 0.001250, 0.001023> + 439: <-0.007835, 0.001250, 0.000000> + 440: <-0.007835, 0.001250, 0.000000> + 441: <-0.007768, 0.001250, 0.001023> + 442: <-0.007436, 0.000000, 0.000979> + 443: <-0.007500, 0.000000, 0.000000> + 444: <-0.007500, 0.000000, 0.000000> + 445: <-0.007436, 0.000000, 0.000979> + 446: <-0.007768, -0.001250, 0.001023> + 447: <-0.007835, -0.001250, 0.000000> + 448: <-0.007835, -0.001250, 0.000000> + 449: <-0.007768, -0.001250, 0.001023> + 450: <-0.008675, -0.002165, 0.001142> + 451: <-0.008750, -0.002165, 0.000000> + 452: <-0.008750, -0.002165, 0.000000> + 453: <-0.008675, -0.002165, 0.001142> + 454: <-0.009914, -0.002500, 0.001305> + 455: <-0.010000, -0.002500, 0.000000> + 456: <-0.010000, -0.002500, 0.000000> + 457: <-0.009914, -0.002500, 0.001305> + 458: <-0.011154, -0.002165, 0.001468> + 459: <-0.011250, -0.002165, 0.000000> + 460: <-0.008675, 0.002165, 0.001142> + 461: <-0.008452, 0.002165, 0.002265> + 462: <-0.007568, 0.001250, 0.002028> + 463: <-0.007768, 0.001250, 0.001023> + 464: <-0.007768, 0.001250, 0.001023> + 465: <-0.007568, 0.001250, 0.002028> + 466: <-0.007244, 0.000000, 0.001941> + 467: <-0.007436, 0.000000, 0.000979> + 468: <-0.007436, 0.000000, 0.000979> + 469: <-0.007244, 0.000000, 0.001941> + 470: <-0.007568, -0.001250, 0.002028> + 471: <-0.007768, -0.001250, 0.001023> + 472: <-0.007768, -0.001250, 0.001023> + 473: <-0.007568, -0.001250, 0.002028> + 474: <-0.008452, -0.002165, 0.002265> + 475: <-0.008675, -0.002165, 0.001142> + 476: <-0.008675, -0.002165, 0.001142> + 477: <-0.008452, -0.002165, 0.002265> + 478: <-0.009659, -0.002500, 0.002588> + 479: <-0.009914, -0.002500, 0.001305> + 480: <-0.009914, -0.002500, 0.001305> + 481: <-0.009659, -0.002500, 0.002588> + 482: <-0.010867, -0.002165, 0.002912> + 483: <-0.011154, -0.002165, 0.001468> + 484: <-0.008452, 0.002165, 0.002265> + 485: <-0.008084, 0.002165, 0.003348> + 486: <-0.007239, 0.001250, 0.002998> + 487: <-0.007568, 0.001250, 0.002028> + 488: <-0.007568, 0.001250, 0.002028> + 489: <-0.007239, 0.001250, 0.002998> + 490: <-0.006929, 0.000000, 0.002870> + 491: <-0.007244, 0.000000, 0.001941> + 492: <-0.007244, 0.000000, 0.001941> + 493: <-0.006929, 0.000000, 0.002870> + 494: <-0.007239, -0.001250, 0.002998> + 495: <-0.007568, -0.001250, 0.002028> + 496: <-0.007568, -0.001250, 0.002028> + 497: <-0.007239, -0.001250, 0.002998> + 498: <-0.008084, -0.002165, 0.003348> + 499: <-0.008452, -0.002165, 0.002265> + 500: <-0.008452, -0.002165, 0.002265> + 501: <-0.008084, -0.002165, 0.003348> + 502: <-0.009239, -0.002500, 0.003827> + 503: <-0.009659, -0.002500, 0.002588> + 504: <-0.009659, -0.002500, 0.002588> + 505: <-0.009239, -0.002500, 0.003827> + 506: <-0.010394, -0.002165, 0.004305> + 507: <-0.010867, -0.002165, 0.002912> + 508: <-0.008084, 0.002165, 0.003348> + 509: <-0.007578, 0.002165, 0.004375> + 510: <-0.006785, 0.001250, 0.003917> + 511: <-0.007239, 0.001250, 0.002998> + 512: <-0.007239, 0.001250, 0.002998> + 513: <-0.006785, 0.001250, 0.003917> + 514: <-0.006495, 0.000000, 0.003750> + 515: <-0.006929, 0.000000, 0.002870> + 516: <-0.006929, 0.000000, 0.002870> + 517: <-0.006495, 0.000000, 0.003750> + 518: <-0.006785, -0.001250, 0.003917> + 519: <-0.007239, -0.001250, 0.002998> + 520: <-0.007239, -0.001250, 0.002998> + 521: <-0.006785, -0.001250, 0.003917> + 522: <-0.007578, -0.002165, 0.004375> + 523: <-0.008084, -0.002165, 0.003348> + 524: <-0.008084, -0.002165, 0.003348> + 525: <-0.007578, -0.002165, 0.004375> + 526: <-0.008660, -0.002500, 0.005000> + 527: <-0.009239, -0.002500, 0.003827> + 528: <-0.009239, -0.002500, 0.003827> + 529: <-0.008660, -0.002500, 0.005000> + 530: <-0.009743, -0.002165, 0.005625> + 531: <-0.010394, -0.002165, 0.004305> + 532: <-0.007578, 0.002165, 0.004375> + 533: <-0.006942, 0.002165, 0.005327> + 534: <-0.006216, 0.001250, 0.004770> + 535: <-0.006785, 0.001250, 0.003917> + 536: <-0.006785, 0.001250, 0.003917> + 537: <-0.006216, 0.001250, 0.004770> + 538: <-0.005950, 0.000000, 0.004566> + 539: <-0.006495, 0.000000, 0.003750> + 540: <-0.006495, 0.000000, 0.003750> + 541: <-0.005950, 0.000000, 0.004566> + 542: <-0.006216, -0.001250, 0.004770> + 543: <-0.006785, -0.001250, 0.003917> + 544: <-0.006785, -0.001250, 0.003917> + 545: <-0.006216, -0.001250, 0.004770> + 546: <-0.006942, -0.002165, 0.005327> + 547: <-0.007578, -0.002165, 0.004375> + 548: <-0.007578, -0.002165, 0.004375> + 549: <-0.006942, -0.002165, 0.005327> + 550: <-0.007934, -0.002500, 0.006088> + 551: <-0.008660, -0.002500, 0.005000> + 552: <-0.008660, -0.002500, 0.005000> + 553: <-0.007934, -0.002500, 0.006088> + 554: <-0.008925, -0.002165, 0.006849> + 555: <-0.009743, -0.002165, 0.005625> + 556: <-0.006216, 0.001250, 0.004770> + 557: <-0.005540, 0.001250, 0.005540> + 558: <-0.005303, 0.000000, 0.005303> + 559: <-0.005950, 0.000000, 0.004566> + 560: <-0.005950, 0.000000, 0.004566> + 561: <-0.005303, 0.000000, 0.005303> + 562: <-0.005540, -0.001250, 0.005540> + 563: <-0.006216, -0.001250, 0.004770> + 564: <-0.006216, -0.001250, 0.004770> + 565: <-0.005540, -0.001250, 0.005540> + 566: <-0.006187, -0.002165, 0.006187> + 567: <-0.006942, -0.002165, 0.005327> + 568: <-0.006942, -0.002165, 0.005327> + 569: <-0.006187, -0.002165, 0.006187> + 570: <-0.007071, -0.002500, 0.007071> + 571: <-0.007934, -0.002500, 0.006088> + 572: <-0.007934, -0.002500, 0.006088> + 573: <-0.007071, -0.002500, 0.007071> + 574: <-0.007955, -0.002165, 0.007955> + 575: <-0.008925, -0.002165, 0.006849> + 576: <-0.008925, -0.002165, 0.006849> + 577: <-0.007955, -0.002165, 0.007955> + 578: <-0.008602, -0.001250, 0.008602> + 579: <-0.009651, -0.001250, 0.007406> + 580: <-0.005540, 0.001250, 0.005540> + 581: <-0.004770, 0.001250, 0.006216> + 582: <-0.004566, 0.000000, 0.005950> + 583: <-0.005303, 0.000000, 0.005303> + 584: <-0.005303, 0.000000, 0.005303> + 585: <-0.004566, 0.000000, 0.005950> + 586: <-0.004770, -0.001250, 0.006216> + 587: <-0.005540, -0.001250, 0.005540> + 588: <-0.005540, -0.001250, 0.005540> + 589: <-0.004770, -0.001250, 0.006216> + 590: <-0.005327, -0.002165, 0.006942> + 591: <-0.006187, -0.002165, 0.006187> + 592: <-0.006187, -0.002165, 0.006187> + 593: <-0.005327, -0.002165, 0.006942> + 594: <-0.006088, -0.002500, 0.007934> + 595: <-0.007071, -0.002500, 0.007071> + 596: <-0.007071, -0.002500, 0.007071> + 597: <-0.006088, -0.002500, 0.007934> + 598: <-0.006849, -0.002165, 0.008925> + 599: <-0.007955, -0.002165, 0.007955> + 600: <-0.007955, -0.002165, 0.007955> + 601: <-0.006849, -0.002165, 0.008925> + 602: <-0.007406, -0.001250, 0.009651> + 603: <-0.008602, -0.001250, 0.008602> + 604: <-0.004566, 0.000000, 0.005950> + 605: <-0.003750, 0.000000, 0.006495> + 606: <-0.003917, -0.001250, 0.006785> + 607: <-0.004770, -0.001250, 0.006216> + 608: <-0.004770, -0.001250, 0.006216> + 609: <-0.003917, -0.001250, 0.006785> + 610: <-0.004375, -0.002165, 0.007578> + 611: <-0.005327, -0.002165, 0.006942> + 612: <-0.005327, -0.002165, 0.006942> + 613: <-0.004375, -0.002165, 0.007578> + 614: <-0.005000, -0.002500, 0.008660> + 615: <-0.006088, -0.002500, 0.007934> + 616: <-0.006088, -0.002500, 0.007934> + 617: <-0.005000, -0.002500, 0.008660> + 618: <-0.005625, -0.002165, 0.009743> + 619: <-0.006849, -0.002165, 0.008925> + 620: <-0.006849, -0.002165, 0.008925> + 621: <-0.005625, -0.002165, 0.009743> + 622: <-0.006083, -0.001250, 0.010535> + 623: <-0.007406, -0.001250, 0.009651> + 624: <-0.007406, -0.001250, 0.009651> + 625: <-0.006083, -0.001250, 0.010535> + 626: <-0.006250, 0.000000, 0.010825> + 627: <-0.007610, 0.000000, 0.009917> + 628: <-0.006250, 0.000000, 0.010825> + 629: <-0.004784, 0.000000, 0.011548> + 630: <-0.004655, 0.001250, 0.011239> + 631: <-0.006083, 0.001250, 0.010535> + 632: <-0.003750, 0.000000, 0.006495> + 633: <-0.002870, 0.000000, 0.006929> + 634: <-0.002998, -0.001250, 0.007239> + 635: <-0.003917, -0.001250, 0.006785> + 636: <-0.003917, -0.001250, 0.006785> + 637: <-0.002998, -0.001250, 0.007239> + 638: <-0.003348, -0.002165, 0.008084> + 639: <-0.004375, -0.002165, 0.007578> + 640: <-0.004375, -0.002165, 0.007578> + 641: <-0.003348, -0.002165, 0.008084> + 642: <-0.003827, -0.002500, 0.009239> + 643: <-0.005000, -0.002500, 0.008660> + 644: <-0.005000, -0.002500, 0.008660> + 645: <-0.003827, -0.002500, 0.009239> + 646: <-0.004305, -0.002165, 0.010394> + 647: <-0.005625, -0.002165, 0.009743> + 648: <-0.005625, -0.002165, 0.009743> + 649: <-0.004305, -0.002165, 0.010394> + 650: <-0.004655, -0.001250, 0.011239> + 651: <-0.006083, -0.001250, 0.010535> + 652: <-0.006083, -0.001250, 0.010535> + 653: <-0.004655, -0.001250, 0.011239> + 654: <-0.004784, 0.000000, 0.011548> + 655: <-0.006250, 0.000000, 0.010825> + 656: <-0.004784, 0.000000, 0.011548> + 657: <-0.003235, 0.000000, 0.012074> + 658: <-0.003149, 0.001250, 0.011751> + 659: <-0.004655, 0.001250, 0.011239> + 660: <-0.002998, -0.001250, 0.007239> + 661: <-0.002028, -0.001250, 0.007568> + 662: <-0.002265, -0.002165, 0.008452> + 663: <-0.003348, -0.002165, 0.008084> + 664: <-0.003348, -0.002165, 0.008084> + 665: <-0.002265, -0.002165, 0.008452> + 666: <-0.002588, -0.002500, 0.009659> + 667: <-0.003827, -0.002500, 0.009239> + 668: <-0.003827, -0.002500, 0.009239> + 669: <-0.002588, -0.002500, 0.009659> + 670: <-0.002912, -0.002165, 0.010867> + 671: <-0.004305, -0.002165, 0.010394> + 672: <-0.004305, -0.002165, 0.010394> + 673: <-0.002912, -0.002165, 0.010867> + 674: <-0.003149, -0.001250, 0.011751> + 675: <-0.004655, -0.001250, 0.011239> + 676: <-0.004655, -0.001250, 0.011239> + 677: <-0.003149, -0.001250, 0.011751> + 678: <-0.003235, 0.000000, 0.012074> + 679: <-0.004784, 0.000000, 0.011548> + 680: <-0.003235, 0.000000, 0.012074> + 681: <-0.001632, 0.000000, 0.012393> + 682: <-0.001588, 0.001250, 0.012061> + 683: <-0.003149, 0.001250, 0.011751> + 684: <-0.003149, 0.001250, 0.011751> + 685: <-0.001588, 0.001250, 0.012061> + 686: <-0.001468, 0.002165, 0.011154> + 687: <-0.002912, 0.002165, 0.010867> + 688: <-0.002028, -0.001250, 0.007568> + 689: <-0.001023, -0.001250, 0.007768> + 690: <-0.001142, -0.002165, 0.008675> + 691: <-0.002265, -0.002165, 0.008452> + 692: <-0.002265, -0.002165, 0.008452> + 693: <-0.001142, -0.002165, 0.008675> + 694: <-0.001305, -0.002500, 0.009914> + 695: <-0.002588, -0.002500, 0.009659> + 696: <-0.002588, -0.002500, 0.009659> + 697: <-0.001305, -0.002500, 0.009914> + 698: <-0.001468, -0.002165, 0.011154> + 699: <-0.002912, -0.002165, 0.010867> + 700: <-0.002912, -0.002165, 0.010867> + 701: <-0.001468, -0.002165, 0.011154> + 702: <-0.001588, -0.001250, 0.012061> + 703: <-0.003149, -0.001250, 0.011751> + 704: <-0.003149, -0.001250, 0.011751> + 705: <-0.001588, -0.001250, 0.012061> + 706: <-0.001632, 0.000000, 0.012393> + 707: <-0.003235, 0.000000, 0.012074> + 708: <-0.001632, 0.000000, 0.012393> + 709: <-0.000000, 0.000000, 0.012500> + 710: <-0.000000, 0.001250, 0.012165> + 711: <-0.001588, 0.001250, 0.012061> + 712: <-0.001588, 0.001250, 0.012061> + 713: <-0.000000, 0.001250, 0.012165> + 714: <-0.000000, 0.002165, 0.011250> + 715: <-0.001468, 0.002165, 0.011154> + 716: <-0.001023, -0.001250, 0.007768> + 717: <-0.000000, -0.001250, 0.007835> + 718: <-0.000000, -0.002165, 0.008750> + 719: <-0.001142, -0.002165, 0.008675> + 720: <-0.001142, -0.002165, 0.008675> + 721: <-0.000000, -0.002165, 0.008750> + 722: <-0.000000, -0.002500, 0.010000> + 723: <-0.001305, -0.002500, 0.009914> + 724: <-0.001305, -0.002500, 0.009914> + 725: <-0.000000, -0.002500, 0.010000> + 726: <-0.000000, -0.002165, 0.011250> + 727: <-0.001468, -0.002165, 0.011154> + 728: <-0.001468, -0.002165, 0.011154> + 729: <-0.000000, -0.002165, 0.011250> + 730: <-0.000000, -0.001250, 0.012165> + 731: <-0.001588, -0.001250, 0.012061> + 732: <-0.001588, -0.001250, 0.012061> + 733: <-0.000000, -0.001250, 0.012165> + 734: <-0.000000, 0.000000, 0.012500> + 735: <-0.001632, 0.000000, 0.012393> + 736: <-0.000000, 0.000000, 0.012500> + 737: < 0.001632, 0.000000, 0.012393> + 738: < 0.001588, 0.001250, 0.012061> + 739: <-0.000000, 0.001250, 0.012165> + 740: <-0.000000, 0.001250, 0.012165> + 741: < 0.001588, 0.001250, 0.012061> + 742: < 0.001468, 0.002165, 0.011154> + 743: <-0.000000, 0.002165, 0.011250> + 744: <-0.000000, -0.002165, 0.008750> + 745: < 0.001142, -0.002165, 0.008675> + 746: < 0.001305, -0.002500, 0.009914> + 747: <-0.000000, -0.002500, 0.010000> + 748: <-0.000000, -0.002500, 0.010000> + 749: < 0.001305, -0.002500, 0.009914> + 750: < 0.001468, -0.002165, 0.011154> + 751: <-0.000000, -0.002165, 0.011250> + 752: <-0.000000, -0.002165, 0.011250> + 753: < 0.001468, -0.002165, 0.011154> + 754: < 0.001588, -0.001250, 0.012061> + 755: <-0.000000, -0.001250, 0.012165> + 756: <-0.000000, -0.001250, 0.012165> + 757: < 0.001588, -0.001250, 0.012061> + 758: < 0.001632, 0.000000, 0.012393> + 759: <-0.000000, 0.000000, 0.012500> + 760: < 0.001632, 0.000000, 0.012393> + 761: < 0.003235, 0.000000, 0.012074> + 762: < 0.003149, 0.001250, 0.011751> + 763: < 0.001588, 0.001250, 0.012061> + 764: < 0.001588, 0.001250, 0.012061> + 765: < 0.003149, 0.001250, 0.011751> + 766: < 0.002912, 0.002165, 0.010867> + 767: < 0.001468, 0.002165, 0.011154> + 768: < 0.001142, -0.002165, 0.008675> + 769: < 0.002265, -0.002165, 0.008452> + 770: < 0.002588, -0.002500, 0.009659> + 771: < 0.001305, -0.002500, 0.009914> + 772: < 0.001305, -0.002500, 0.009914> + 773: < 0.002588, -0.002500, 0.009659> + 774: < 0.002912, -0.002165, 0.010867> + 775: < 0.001468, -0.002165, 0.011154> + 776: < 0.001468, -0.002165, 0.011154> + 777: < 0.002912, -0.002165, 0.010867> + 778: < 0.003149, -0.001250, 0.011751> + 779: < 0.001588, -0.001250, 0.012061> + 780: < 0.001588, -0.001250, 0.012061> + 781: < 0.003149, -0.001250, 0.011751> + 782: < 0.003235, 0.000000, 0.012074> + 783: < 0.001632, 0.000000, 0.012393> + 784: < 0.003235, 0.000000, 0.012074> + 785: < 0.004784, 0.000000, 0.011548> + 786: < 0.004655, 0.001250, 0.011239> + 787: < 0.003149, 0.001250, 0.011751> + 788: < 0.003149, 0.001250, 0.011751> + 789: < 0.004655, 0.001250, 0.011239> + 790: < 0.004305, 0.002165, 0.010394> + 791: < 0.002912, 0.002165, 0.010867> + 792: < 0.002265, -0.002165, 0.008452> + 793: < 0.003348, -0.002165, 0.008084> + 794: < 0.003827, -0.002500, 0.009239> + 795: < 0.002588, -0.002500, 0.009659> + 796: < 0.002588, -0.002500, 0.009659> + 797: < 0.003827, -0.002500, 0.009239> + 798: < 0.004305, -0.002165, 0.010394> + 799: < 0.002912, -0.002165, 0.010867> + 800: < 0.002912, -0.002165, 0.010867> + 801: < 0.004305, -0.002165, 0.010394> + 802: < 0.004655, -0.001250, 0.011239> + 803: < 0.003149, -0.001250, 0.011751> + 804: < 0.003149, -0.001250, 0.011751> + 805: < 0.004655, -0.001250, 0.011239> + 806: < 0.004784, 0.000000, 0.011548> + 807: < 0.003235, 0.000000, 0.012074> + 808: < 0.004784, 0.000000, 0.011548> + 809: < 0.006250, 0.000000, 0.010825> + 810: < 0.006083, 0.001250, 0.010535> + 811: < 0.004655, 0.001250, 0.011239> + 812: < 0.004655, 0.001250, 0.011239> + 813: < 0.006083, 0.001250, 0.010535> + 814: < 0.005625, 0.002165, 0.009743> + 815: < 0.004305, 0.002165, 0.010394> + 816: < 0.003348, -0.002165, 0.008084> + 817: < 0.004375, -0.002165, 0.007578> + 818: < 0.005000, -0.002500, 0.008660> + 819: < 0.003827, -0.002500, 0.009239> + 820: < 0.003827, -0.002500, 0.009239> + 821: < 0.005000, -0.002500, 0.008660> + 822: < 0.005625, -0.002165, 0.009743> + 823: < 0.004305, -0.002165, 0.010394> + 824: < 0.004305, -0.002165, 0.010394> + 825: < 0.005625, -0.002165, 0.009743> + 826: < 0.006083, -0.001250, 0.010535> + 827: < 0.004655, -0.001250, 0.011239> + 828: < 0.004655, -0.001250, 0.011239> + 829: < 0.006083, -0.001250, 0.010535> + 830: < 0.006250, 0.000000, 0.010825> + 831: < 0.004784, 0.000000, 0.011548> + 832: < 0.006250, 0.000000, 0.010825> + 833: < 0.007610, 0.000000, 0.009917> + 834: < 0.007406, 0.001250, 0.009651> + 835: < 0.006083, 0.001250, 0.010535> + 836: < 0.006083, 0.001250, 0.010535> + 837: < 0.007406, 0.001250, 0.009651> + 838: < 0.006849, 0.002165, 0.008925> + 839: < 0.005625, 0.002165, 0.009743> + 840: < 0.003917, 0.001250, 0.006785> + 841: < 0.004770, 0.001250, 0.006216> + 842: < 0.004566, 0.000000, 0.005950> + 843: < 0.003750, 0.000000, 0.006495> + 844: < 0.003750, 0.000000, 0.006495> + 845: < 0.004566, 0.000000, 0.005950> + 846: < 0.004770, -0.001250, 0.006216> + 847: < 0.003917, -0.001250, 0.006785> + 848: < 0.004375, -0.002165, 0.007578> + 849: < 0.005327, -0.002165, 0.006942> + 850: < 0.006088, -0.002500, 0.007934> + 851: < 0.005000, -0.002500, 0.008660> + 852: < 0.005000, -0.002500, 0.008660> + 853: < 0.006088, -0.002500, 0.007934> + 854: < 0.006849, -0.002165, 0.008925> + 855: < 0.005625, -0.002165, 0.009743> + 856: < 0.005625, -0.002165, 0.009743> + 857: < 0.006849, -0.002165, 0.008925> + 858: < 0.007406, -0.001250, 0.009651> + 859: < 0.006083, -0.001250, 0.010535> + 860: < 0.006083, -0.001250, 0.010535> + 861: < 0.007406, -0.001250, 0.009651> + 862: < 0.007610, 0.000000, 0.009917> + 863: < 0.006250, 0.000000, 0.010825> + 864: < 0.007610, 0.000000, 0.009917> + 865: < 0.008839, 0.000000, 0.008839> + 866: < 0.008602, 0.001250, 0.008602> + 867: < 0.007406, 0.001250, 0.009651> + 868: < 0.007406, 0.001250, 0.009651> + 869: < 0.008602, 0.001250, 0.008602> + 870: < 0.007955, 0.002165, 0.007955> + 871: < 0.006849, 0.002165, 0.008925> + 872: < 0.006849, 0.002165, 0.008925> + 873: < 0.007955, 0.002165, 0.007955> + 874: < 0.007071, 0.002500, 0.007071> + 875: < 0.006088, 0.002500, 0.007934> + 876: < 0.006088, 0.002500, 0.007934> + 877: < 0.007071, 0.002500, 0.007071> + 878: < 0.006187, 0.002165, 0.006187> + 879: < 0.005327, 0.002165, 0.006942> + 880: < 0.005327, 0.002165, 0.006942> + 881: < 0.006187, 0.002165, 0.006187> + 882: < 0.005540, 0.001250, 0.005540> + 883: < 0.004770, 0.001250, 0.006216> + 884: < 0.004770, 0.001250, 0.006216> + 885: < 0.005540, 0.001250, 0.005540> + 886: < 0.005303, 0.000000, 0.005303> + 887: < 0.004566, 0.000000, 0.005950> + 888: < 0.004566, 0.000000, 0.005950> + 889: < 0.005303, 0.000000, 0.005303> + 890: < 0.005540, -0.001250, 0.005540> + 891: < 0.004770, -0.001250, 0.006216> + 892: < 0.004770, -0.001250, 0.006216> + 893: < 0.005540, -0.001250, 0.005540> + 894: < 0.006187, -0.002165, 0.006187> + 895: < 0.005327, -0.002165, 0.006942> + 896: < 0.005327, -0.002165, 0.006942> + 897: < 0.006187, -0.002165, 0.006187> + 898: < 0.007071, -0.002500, 0.007071> + 899: < 0.006088, -0.002500, 0.007934> + 900: < 0.006088, -0.002500, 0.007934> + 901: < 0.007071, -0.002500, 0.007071> + 902: < 0.007955, -0.002165, 0.007955> + 903: < 0.006849, -0.002165, 0.008925> + 904: < 0.006849, -0.002165, 0.008925> + 905: < 0.007955, -0.002165, 0.007955> + 906: < 0.008602, -0.001250, 0.008602> + 907: < 0.007406, -0.001250, 0.009651> + 908: < 0.007406, -0.001250, 0.009651> + 909: < 0.008602, -0.001250, 0.008602> + 910: < 0.008839, 0.000000, 0.008839> + 911: < 0.007610, 0.000000, 0.009917> + 912: < 0.008839, 0.000000, 0.008839> + 913: < 0.009917, 0.000000, 0.007610> + 914: < 0.009651, 0.001250, 0.007406> + 915: < 0.008602, 0.001250, 0.008602> + 916: < 0.008602, 0.001250, 0.008602> + 917: < 0.009651, 0.001250, 0.007406> + 918: < 0.008925, 0.002165, 0.006849> + 919: < 0.007955, 0.002165, 0.007955> + 920: < 0.007955, 0.002165, 0.007955> + 921: < 0.008925, 0.002165, 0.006849> + 922: < 0.007934, 0.002500, 0.006088> + 923: < 0.007071, 0.002500, 0.007071> + 924: < 0.007071, 0.002500, 0.007071> + 925: < 0.007934, 0.002500, 0.006088> + 926: < 0.006942, 0.002165, 0.005327> + 927: < 0.006187, 0.002165, 0.006187> + 928: < 0.006187, 0.002165, 0.006187> + 929: < 0.006942, 0.002165, 0.005327> + 930: < 0.006216, 0.001250, 0.004770> + 931: < 0.005540, 0.001250, 0.005540> + 932: < 0.005540, 0.001250, 0.005540> + 933: < 0.006216, 0.001250, 0.004770> + 934: < 0.005950, 0.000000, 0.004566> + 935: < 0.005303, 0.000000, 0.005303> + 936: < 0.005303, 0.000000, 0.005303> + 937: < 0.005950, 0.000000, 0.004566> + 938: < 0.006216, -0.001250, 0.004770> + 939: < 0.005540, -0.001250, 0.005540> + 940: < 0.005540, -0.001250, 0.005540> + 941: < 0.006216, -0.001250, 0.004770> + 942: < 0.006942, -0.002165, 0.005327> + 943: < 0.006187, -0.002165, 0.006187> + 944: < 0.006187, -0.002165, 0.006187> + 945: < 0.006942, -0.002165, 0.005327> + 946: < 0.007934, -0.002500, 0.006088> + 947: < 0.007071, -0.002500, 0.007071> + 948: < 0.007071, -0.002500, 0.007071> + 949: < 0.007934, -0.002500, 0.006088> + 950: < 0.008925, -0.002165, 0.006849> + 951: < 0.007955, -0.002165, 0.007955> + 952: < 0.007955, -0.002165, 0.007955> + 953: < 0.008925, -0.002165, 0.006849> + 954: < 0.009651, -0.001250, 0.007406> + 955: < 0.008602, -0.001250, 0.008602> + 956: < 0.008602, -0.001250, 0.008602> + 957: < 0.009651, -0.001250, 0.007406> + 958: < 0.009917, 0.000000, 0.007610> + 959: < 0.008839, 0.000000, 0.008839> + 960: < 0.009917, 0.000000, 0.007610> + 961: < 0.010825, 0.000000, 0.006250> + 962: < 0.010535, 0.001250, 0.006083> + 963: < 0.009651, 0.001250, 0.007406> + 964: < 0.009651, 0.001250, 0.007406> + 965: < 0.010535, 0.001250, 0.006083> + 966: < 0.009743, 0.002165, 0.005625> + 967: < 0.008925, 0.002165, 0.006849> + 968: < 0.008925, 0.002165, 0.006849> + 969: < 0.009743, 0.002165, 0.005625> + 970: < 0.008660, 0.002500, 0.005000> + 971: < 0.007934, 0.002500, 0.006088> + 972: < 0.007934, 0.002500, 0.006088> + 973: < 0.008660, 0.002500, 0.005000> + 974: < 0.007578, 0.002165, 0.004375> + 975: < 0.006942, 0.002165, 0.005327> + 976: < 0.006942, 0.002165, 0.005327> + 977: < 0.007578, 0.002165, 0.004375> + 978: < 0.006785, 0.001250, 0.003917> + 979: < 0.006216, 0.001250, 0.004770> + 980: < 0.006216, 0.001250, 0.004770> + 981: < 0.006785, 0.001250, 0.003917> + 982: < 0.006495, 0.000000, 0.003750> + 983: < 0.005950, 0.000000, 0.004566> + 984: < 0.005950, 0.000000, 0.004566> + 985: < 0.006495, 0.000000, 0.003750> + 986: < 0.006785, -0.001250, 0.003917> + 987: < 0.006216, -0.001250, 0.004770> + 988: < 0.006216, -0.001250, 0.004770> + 989: < 0.006785, -0.001250, 0.003917> + 990: < 0.007578, -0.002165, 0.004375> + 991: < 0.006942, -0.002165, 0.005327> + 992: < 0.006942, -0.002165, 0.005327> + 993: < 0.007578, -0.002165, 0.004375> + 994: < 0.008660, -0.002500, 0.005000> + 995: < 0.007934, -0.002500, 0.006088> + 996: < 0.007934, -0.002500, 0.006088> + 997: < 0.008660, -0.002500, 0.005000> + 998: < 0.009743, -0.002165, 0.005625> + 999: < 0.008925, -0.002165, 0.006849> + 1000: < 0.008925, -0.002165, 0.006849> + 1001: < 0.009743, -0.002165, 0.005625> + 1002: < 0.010535, -0.001250, 0.006083> + 1003: < 0.009651, -0.001250, 0.007406> + 1004: < 0.009651, -0.001250, 0.007406> + 1005: < 0.010535, -0.001250, 0.006083> + 1006: < 0.010825, 0.000000, 0.006250> + 1007: < 0.009917, 0.000000, 0.007610> + 1008: < 0.010825, 0.000000, 0.006250> + 1009: < 0.011548, 0.000000, 0.004784> + 1010: < 0.011239, 0.001250, 0.004655> + 1011: < 0.010535, 0.001250, 0.006083> + 1012: < 0.010535, 0.001250, 0.006083> + 1013: < 0.011239, 0.001250, 0.004655> + 1014: < 0.010394, 0.002165, 0.004305> + 1015: < 0.009743, 0.002165, 0.005625> + 1016: < 0.009743, 0.002165, 0.005625> + 1017: < 0.010394, 0.002165, 0.004305> + 1018: < 0.009239, 0.002500, 0.003827> + 1019: < 0.008660, 0.002500, 0.005000> + 1020: < 0.008660, 0.002500, 0.005000> + 1021: < 0.009239, 0.002500, 0.003827> + 1022: < 0.008084, 0.002165, 0.003348> + 1023: < 0.007578, 0.002165, 0.004375> + 1024: < 0.007578, 0.002165, 0.004375> + 1025: < 0.008084, 0.002165, 0.003348> + 1026: < 0.007239, 0.001250, 0.002998> + 1027: < 0.006785, 0.001250, 0.003917> + 1028: < 0.006785, 0.001250, 0.003917> + 1029: < 0.007239, 0.001250, 0.002998> + 1030: < 0.006929, 0.000000, 0.002870> + 1031: < 0.006495, 0.000000, 0.003750> + 1032: < 0.006495, 0.000000, 0.003750> + 1033: < 0.006929, 0.000000, 0.002870> + 1034: < 0.007239, -0.001250, 0.002998> + 1035: < 0.006785, -0.001250, 0.003917> + 1036: < 0.006785, -0.001250, 0.003917> + 1037: < 0.007239, -0.001250, 0.002998> + 1038: < 0.008084, -0.002165, 0.003348> + 1039: < 0.007578, -0.002165, 0.004375> + 1040: < 0.007578, -0.002165, 0.004375> + 1041: < 0.008084, -0.002165, 0.003348> + 1042: < 0.009239, -0.002500, 0.003827> + 1043: < 0.008660, -0.002500, 0.005000> + 1044: < 0.008660, -0.002500, 0.005000> + 1045: < 0.009239, -0.002500, 0.003827> + 1046: < 0.010394, -0.002165, 0.004305> + 1047: < 0.009743, -0.002165, 0.005625> + 1048: < 0.009743, -0.002165, 0.005625> + 1049: < 0.010394, -0.002165, 0.004305> + 1050: < 0.011239, -0.001250, 0.004655> + 1051: < 0.010535, -0.001250, 0.006083> + 1052: < 0.010535, -0.001250, 0.006083> + 1053: < 0.011239, -0.001250, 0.004655> + 1054: < 0.011548, 0.000000, 0.004784> + 1055: < 0.010825, 0.000000, 0.006250> + 1056: < 0.011548, 0.000000, 0.004784> + 1057: < 0.012074, 0.000000, 0.003235> + 1058: < 0.011751, 0.001250, 0.003149> + 1059: < 0.011239, 0.001250, 0.004655> + 1060: < 0.011239, 0.001250, 0.004655> + 1061: < 0.011751, 0.001250, 0.003149> + 1062: < 0.010867, 0.002165, 0.002912> + 1063: < 0.010394, 0.002165, 0.004305> + 1064: < 0.010394, 0.002165, 0.004305> + 1065: < 0.010867, 0.002165, 0.002912> + 1066: < 0.009659, 0.002500, 0.002588> + 1067: < 0.009239, 0.002500, 0.003827> + 1068: < 0.009239, 0.002500, 0.003827> + 1069: < 0.009659, 0.002500, 0.002588> + 1070: < 0.008452, 0.002165, 0.002265> + 1071: < 0.008084, 0.002165, 0.003348> + 1072: < 0.008084, 0.002165, 0.003348> + 1073: < 0.008452, 0.002165, 0.002265> + 1074: < 0.007568, 0.001250, 0.002028> + 1075: < 0.007239, 0.001250, 0.002998> + 1076: < 0.007239, 0.001250, 0.002998> + 1077: < 0.007568, 0.001250, 0.002028> + 1078: < 0.007244, 0.000000, 0.001941> + 1079: < 0.006929, 0.000000, 0.002870> + 1080: < 0.006929, 0.000000, 0.002870> + 1081: < 0.007244, 0.000000, 0.001941> + 1082: < 0.007568, -0.001250, 0.002028> + 1083: < 0.007239, -0.001250, 0.002998> + 1084: < 0.007239, -0.001250, 0.002998> + 1085: < 0.007568, -0.001250, 0.002028> + 1086: < 0.008452, -0.002165, 0.002265> + 1087: < 0.008084, -0.002165, 0.003348> + 1088: < 0.008084, -0.002165, 0.003348> + 1089: < 0.008452, -0.002165, 0.002265> + 1090: < 0.009659, -0.002500, 0.002588> + 1091: < 0.009239, -0.002500, 0.003827> + 1092: < 0.009239, -0.002500, 0.003827> + 1093: < 0.009659, -0.002500, 0.002588> + 1094: < 0.010867, -0.002165, 0.002912> + 1095: < 0.010394, -0.002165, 0.004305> + 1096: < 0.010394, -0.002165, 0.004305> + 1097: < 0.010867, -0.002165, 0.002912> + 1098: < 0.011751, -0.001250, 0.003149> + 1099: < 0.011239, -0.001250, 0.004655> + 1100: < 0.011239, -0.001250, 0.004655> + 1101: < 0.011751, -0.001250, 0.003149> + 1102: < 0.012074, 0.000000, 0.003235> + 1103: < 0.011548, 0.000000, 0.004784> + 1104: < 0.012074, 0.000000, 0.003235> + 1105: < 0.012393, 0.000000, 0.001632> + 1106: < 0.012061, 0.001250, 0.001588> + 1107: < 0.011751, 0.001250, 0.003149> + 1108: < 0.011751, 0.001250, 0.003149> + 1109: < 0.012061, 0.001250, 0.001588> + 1110: < 0.011154, 0.002165, 0.001468> + 1111: < 0.010867, 0.002165, 0.002912> + 1112: < 0.010867, 0.002165, 0.002912> + 1113: < 0.011154, 0.002165, 0.001468> + 1114: < 0.009914, 0.002500, 0.001305> + 1115: < 0.009659, 0.002500, 0.002588> + 1116: < 0.009659, 0.002500, 0.002588> + 1117: < 0.009914, 0.002500, 0.001305> + 1118: < 0.008675, 0.002165, 0.001142> + 1119: < 0.008452, 0.002165, 0.002265> + 1120: < 0.008452, 0.002165, 0.002265> + 1121: < 0.008675, 0.002165, 0.001142> + 1122: < 0.007768, 0.001250, 0.001023> + 1123: < 0.007568, 0.001250, 0.002028> + 1124: < 0.007568, 0.001250, 0.002028> + 1125: < 0.007768, 0.001250, 0.001023> + 1126: < 0.007436, 0.000000, 0.000979> + 1127: < 0.007244, 0.000000, 0.001941> + 1128: < 0.007244, 0.000000, 0.001941> + 1129: < 0.007436, 0.000000, 0.000979> + 1130: < 0.007768, -0.001250, 0.001023> + 1131: < 0.007568, -0.001250, 0.002028> + 1132: < 0.007568, -0.001250, 0.002028> + 1133: < 0.007768, -0.001250, 0.001023> + 1134: < 0.008675, -0.002165, 0.001142> + 1135: < 0.008452, -0.002165, 0.002265> + 1136: < 0.008452, -0.002165, 0.002265> + 1137: < 0.008675, -0.002165, 0.001142> + 1138: < 0.009914, -0.002500, 0.001305> + 1139: < 0.009659, -0.002500, 0.002588> + 1140: < 0.009659, -0.002500, 0.002588> + 1141: < 0.009914, -0.002500, 0.001305> + 1142: < 0.011154, -0.002165, 0.001468> + 1143: < 0.010867, -0.002165, 0.002912> + 1144: < 0.010867, -0.002165, 0.002912> + 1145: < 0.011154, -0.002165, 0.001468> + 1146: < 0.012061, -0.001250, 0.001588> + 1147: < 0.011751, -0.001250, 0.003149> + 1148: < 0.011751, -0.001250, 0.003149> + 1149: < 0.012061, -0.001250, 0.001588> + 1150: < 0.012393, 0.000000, 0.001632> + 1151: < 0.012074, 0.000000, 0.003235> + 1152: < 0.012393, 0.000000, 0.001632> + 1153: < 0.012500, 0.000000, 0.000000> + 1154: < 0.012165, 0.001250, 0.000000> + 1155: < 0.012061, 0.001250, 0.001588> + 1156: < 0.012061, 0.001250, 0.001588> + 1157: < 0.012165, 0.001250, 0.000000> + 1158: < 0.011250, 0.002165, 0.000000> + 1159: < 0.011154, 0.002165, 0.001468> + 1160: < 0.011154, 0.002165, 0.001468> + 1161: < 0.011250, 0.002165, 0.000000> + 1162: < 0.010000, 0.002500, 0.000000> + 1163: < 0.009914, 0.002500, 0.001305> + 1164: < 0.009914, 0.002500, 0.001305> + 1165: < 0.010000, 0.002500, 0.000000> + 1166: < 0.008750, 0.002165, 0.000000> + 1167: < 0.008675, 0.002165, 0.001142> + 1168: < 0.008675, 0.002165, 0.001142> + 1169: < 0.008750, 0.002165, 0.000000> + 1170: < 0.007835, 0.001250, 0.000000> + 1171: < 0.007768, 0.001250, 0.001023> + 1172: < 0.007768, 0.001250, 0.001023> + 1173: < 0.007835, 0.001250, 0.000000> + 1174: < 0.007500, 0.000000, 0.000000> + 1175: < 0.007436, 0.000000, 0.000979> + 1176: < 0.007436, 0.000000, 0.000979> + 1177: < 0.007500, 0.000000, 0.000000> + 1178: < 0.007835, -0.001250, 0.000000> + 1179: < 0.007768, -0.001250, 0.001023> + 1180: < 0.007768, -0.001250, 0.001023> + 1181: < 0.007835, -0.001250, 0.000000> + 1182: < 0.008750, -0.002165, 0.000000> + 1183: < 0.008675, -0.002165, 0.001142> + 1184: < 0.008675, -0.002165, 0.001142> + 1185: < 0.008750, -0.002165, 0.000000> + 1186: < 0.010000, -0.002500, 0.000000> + 1187: < 0.009914, -0.002500, 0.001305> + 1188: < 0.009914, -0.002500, 0.001305> + 1189: < 0.010000, -0.002500, 0.000000> + 1190: < 0.011250, -0.002165, 0.000000> + 1191: < 0.011154, -0.002165, 0.001468> + 1192: < 0.011154, -0.002165, 0.001468> + 1193: < 0.011250, -0.002165, 0.000000> + 1194: < 0.012165, -0.001250, 0.000000> + 1195: < 0.012061, -0.001250, 0.001588> + 1196: < 0.012061, -0.001250, 0.001588> + 1197: < 0.012165, -0.001250, 0.000000> + 1198: < 0.012500, 0.000000, 0.000000> + 1199: < 0.012393, 0.000000, 0.001632> + 1200: < 0.012500, 0.000000, 0.000000> + 1201: < 0.012393, 0.000000, -0.001632> + 1202: < 0.012061, 0.001250, -0.001588> + 1203: < 0.012165, 0.001250, 0.000000> + 1204: < 0.012165, 0.001250, 0.000000> + 1205: < 0.012061, 0.001250, -0.001588> + 1206: < 0.011154, 0.002165, -0.001468> + 1207: < 0.011250, 0.002165, 0.000000> + 1208: < 0.011250, 0.002165, 0.000000> + 1209: < 0.011154, 0.002165, -0.001468> + 1210: < 0.009914, 0.002500, -0.001305> + 1211: < 0.010000, 0.002500, 0.000000> + 1212: < 0.010000, 0.002500, 0.000000> + 1213: < 0.009914, 0.002500, -0.001305> + 1214: < 0.008675, 0.002165, -0.001142> + 1215: < 0.008750, 0.002165, 0.000000> + 1216: < 0.008750, 0.002165, 0.000000> + 1217: < 0.008675, 0.002165, -0.001142> + 1218: < 0.007768, 0.001250, -0.001023> + 1219: < 0.007835, 0.001250, 0.000000> + 1220: < 0.007835, 0.001250, 0.000000> + 1221: < 0.007768, 0.001250, -0.001023> + 1222: < 0.007436, 0.000000, -0.000979> + 1223: < 0.007500, 0.000000, 0.000000> + 1224: < 0.007500, 0.000000, 0.000000> + 1225: < 0.007436, 0.000000, -0.000979> + 1226: < 0.007768, -0.001250, -0.001023> + 1227: < 0.007835, -0.001250, 0.000000> + 1228: < 0.007835, -0.001250, 0.000000> + 1229: < 0.007768, -0.001250, -0.001023> + 1230: < 0.008675, -0.002165, -0.001142> + 1231: < 0.008750, -0.002165, 0.000000> + 1232: < 0.008750, -0.002165, 0.000000> + 1233: < 0.008675, -0.002165, -0.001142> + 1234: < 0.009914, -0.002500, -0.001305> + 1235: < 0.010000, -0.002500, 0.000000> + 1236: < 0.010000, -0.002500, 0.000000> + 1237: < 0.009914, -0.002500, -0.001305> + 1238: < 0.011154, -0.002165, -0.001468> + 1239: < 0.011250, -0.002165, 0.000000> + 1240: < 0.011250, -0.002165, 0.000000> + 1241: < 0.011154, -0.002165, -0.001468> + 1242: < 0.012061, -0.001250, -0.001588> + 1243: < 0.012165, -0.001250, 0.000000> + 1244: < 0.012165, -0.001250, 0.000000> + 1245: < 0.012061, -0.001250, -0.001588> + 1246: < 0.012393, 0.000000, -0.001632> + 1247: < 0.012500, 0.000000, 0.000000> + 1248: < 0.012393, 0.000000, -0.001632> + 1249: < 0.012074, 0.000000, -0.003235> + 1250: < 0.011751, 0.001250, -0.003149> + 1251: < 0.012061, 0.001250, -0.001588> + 1252: < 0.012061, 0.001250, -0.001588> + 1253: < 0.011751, 0.001250, -0.003149> + 1254: < 0.010867, 0.002165, -0.002912> + 1255: < 0.011154, 0.002165, -0.001468> + 1256: < 0.011154, 0.002165, -0.001468> + 1257: < 0.010867, 0.002165, -0.002912> + 1258: < 0.009659, 0.002500, -0.002588> + 1259: < 0.009914, 0.002500, -0.001305> + 1260: < 0.009914, 0.002500, -0.001305> + 1261: < 0.009659, 0.002500, -0.002588> + 1262: < 0.008452, 0.002165, -0.002265> + 1263: < 0.008675, 0.002165, -0.001142> + 1264: < 0.008675, 0.002165, -0.001142> + 1265: < 0.008452, 0.002165, -0.002265> + 1266: < 0.007568, 0.001250, -0.002028> + 1267: < 0.007768, 0.001250, -0.001023> + 1268: < 0.007768, 0.001250, -0.001023> + 1269: < 0.007568, 0.001250, -0.002028> + 1270: < 0.007244, 0.000000, -0.001941> + 1271: < 0.007436, 0.000000, -0.000979> + 1272: < 0.007436, 0.000000, -0.000979> + 1273: < 0.007244, 0.000000, -0.001941> + 1274: < 0.007568, -0.001250, -0.002028> + 1275: < 0.007768, -0.001250, -0.001023> + 1276: < 0.007768, -0.001250, -0.001023> + 1277: < 0.007568, -0.001250, -0.002028> + 1278: < 0.008452, -0.002165, -0.002265> + 1279: < 0.008675, -0.002165, -0.001142> + 1280: < 0.008675, -0.002165, -0.001142> + 1281: < 0.008452, -0.002165, -0.002265> + 1282: < 0.009659, -0.002500, -0.002588> + 1283: < 0.009914, -0.002500, -0.001305> + 1284: < 0.009914, -0.002500, -0.001305> + 1285: < 0.009659, -0.002500, -0.002588> + 1286: < 0.010867, -0.002165, -0.002912> + 1287: < 0.011154, -0.002165, -0.001468> + 1288: < 0.011154, -0.002165, -0.001468> + 1289: < 0.010867, -0.002165, -0.002912> + 1290: < 0.011751, -0.001250, -0.003149> + 1291: < 0.012061, -0.001250, -0.001588> + 1292: < 0.012061, -0.001250, -0.001588> + 1293: < 0.011751, -0.001250, -0.003149> + 1294: < 0.012074, 0.000000, -0.003235> + 1295: < 0.012393, 0.000000, -0.001632> + 1296: < 0.012074, 0.000000, -0.003235> + 1297: < 0.011548, 0.000000, -0.004784> + 1298: < 0.011239, 0.001250, -0.004655> + 1299: < 0.011751, 0.001250, -0.003149> + 1300: < 0.011751, 0.001250, -0.003149> + 1301: < 0.011239, 0.001250, -0.004655> + 1302: < 0.010394, 0.002165, -0.004305> + 1303: < 0.010867, 0.002165, -0.002912> + 1304: < 0.010867, 0.002165, -0.002912> + 1305: < 0.010394, 0.002165, -0.004305> + 1306: < 0.009239, 0.002500, -0.003827> + 1307: < 0.009659, 0.002500, -0.002588> + 1308: < 0.009659, 0.002500, -0.002588> + 1309: < 0.009239, 0.002500, -0.003827> + 1310: < 0.008084, 0.002165, -0.003348> + 1311: < 0.008452, 0.002165, -0.002265> + 1312: < 0.008452, 0.002165, -0.002265> + 1313: < 0.008084, 0.002165, -0.003348> + 1314: < 0.007239, 0.001250, -0.002998> + 1315: < 0.007568, 0.001250, -0.002028> + 1316: < 0.007568, 0.001250, -0.002028> + 1317: < 0.007239, 0.001250, -0.002998> + 1318: < 0.006929, 0.000000, -0.002870> + 1319: < 0.007244, 0.000000, -0.001941> + 1320: < 0.007244, 0.000000, -0.001941> + 1321: < 0.006929, 0.000000, -0.002870> + 1322: < 0.007239, -0.001250, -0.002998> + 1323: < 0.007568, -0.001250, -0.002028> + 1324: < 0.007568, -0.001250, -0.002028> + 1325: < 0.007239, -0.001250, -0.002998> + 1326: < 0.008084, -0.002165, -0.003348> + 1327: < 0.008452, -0.002165, -0.002265> + 1328: < 0.008452, -0.002165, -0.002265> + 1329: < 0.008084, -0.002165, -0.003348> + 1330: < 0.009239, -0.002500, -0.003827> + 1331: < 0.009659, -0.002500, -0.002588> + 1332: < 0.009659, -0.002500, -0.002588> + 1333: < 0.009239, -0.002500, -0.003827> + 1334: < 0.010394, -0.002165, -0.004305> + 1335: < 0.010867, -0.002165, -0.002912> + 1336: < 0.010867, -0.002165, -0.002912> + 1337: < 0.010394, -0.002165, -0.004305> + 1338: < 0.011239, -0.001250, -0.004655> + 1339: < 0.011751, -0.001250, -0.003149> + 1340: < 0.011751, -0.001250, -0.003149> + 1341: < 0.011239, -0.001250, -0.004655> + 1342: < 0.011548, 0.000000, -0.004784> + 1343: < 0.012074, 0.000000, -0.003235> + 1344: < 0.011548, 0.000000, -0.004784> + 1345: < 0.010825, 0.000000, -0.006250> + 1346: < 0.010535, 0.001250, -0.006083> + 1347: < 0.011239, 0.001250, -0.004655> + 1348: < 0.011239, 0.001250, -0.004655> + 1349: < 0.010535, 0.001250, -0.006083> + 1350: < 0.009743, 0.002165, -0.005625> + 1351: < 0.010394, 0.002165, -0.004305> + 1352: < 0.010394, 0.002165, -0.004305> + 1353: < 0.009743, 0.002165, -0.005625> + 1354: < 0.008660, 0.002500, -0.005000> + 1355: < 0.009239, 0.002500, -0.003827> + 1356: < 0.009239, 0.002500, -0.003827> + 1357: < 0.008660, 0.002500, -0.005000> + 1358: < 0.007578, 0.002165, -0.004375> + 1359: < 0.008084, 0.002165, -0.003348> + 1360: < 0.008084, 0.002165, -0.003348> + 1361: < 0.007578, 0.002165, -0.004375> + 1362: < 0.006785, 0.001250, -0.003917> + 1363: < 0.007239, 0.001250, -0.002998> + 1364: < 0.007239, 0.001250, -0.002998> + 1365: < 0.006785, 0.001250, -0.003917> + 1366: < 0.006495, 0.000000, -0.003750> + 1367: < 0.006929, 0.000000, -0.002870> + 1368: < 0.006929, 0.000000, -0.002870> + 1369: < 0.006495, 0.000000, -0.003750> + 1370: < 0.006785, -0.001250, -0.003917> + 1371: < 0.007239, -0.001250, -0.002998> + 1372: < 0.007239, -0.001250, -0.002998> + 1373: < 0.006785, -0.001250, -0.003917> + 1374: < 0.007578, -0.002165, -0.004375> + 1375: < 0.008084, -0.002165, -0.003348> + 1376: < 0.008084, -0.002165, -0.003348> + 1377: < 0.007578, -0.002165, -0.004375> + 1378: < 0.008660, -0.002500, -0.005000> + 1379: < 0.009239, -0.002500, -0.003827> + 1380: < 0.009239, -0.002500, -0.003827> + 1381: < 0.008660, -0.002500, -0.005000> + 1382: < 0.009743, -0.002165, -0.005625> + 1383: < 0.010394, -0.002165, -0.004305> + 1384: < 0.010394, -0.002165, -0.004305> + 1385: < 0.009743, -0.002165, -0.005625> + 1386: < 0.010535, -0.001250, -0.006083> + 1387: < 0.011239, -0.001250, -0.004655> + 1388: < 0.011239, -0.001250, -0.004655> + 1389: < 0.010535, -0.001250, -0.006083> + 1390: < 0.010825, 0.000000, -0.006250> + 1391: < 0.011548, 0.000000, -0.004784> + 1392: < 0.010825, 0.000000, -0.006250> + 1393: < 0.009917, 0.000000, -0.007610> + 1394: < 0.009651, 0.001250, -0.007406> + 1395: < 0.010535, 0.001250, -0.006083> + 1396: < 0.010535, 0.001250, -0.006083> + 1397: < 0.009651, 0.001250, -0.007406> + 1398: < 0.008925, 0.002165, -0.006849> + 1399: < 0.009743, 0.002165, -0.005625> + 1400: < 0.008660, 0.002500, -0.005000> + 1401: < 0.007934, 0.002500, -0.006088> + 1402: < 0.006942, 0.002165, -0.005327> + 1403: < 0.007578, 0.002165, -0.004375> + 1404: < 0.007578, 0.002165, -0.004375> + 1405: < 0.006942, 0.002165, -0.005327> + 1406: < 0.006216, 0.001250, -0.004770> + 1407: < 0.006785, 0.001250, -0.003917> + 1408: < 0.006785, 0.001250, -0.003917> + 1409: < 0.006216, 0.001250, -0.004770> + 1410: < 0.005950, 0.000000, -0.004566> + 1411: < 0.006495, 0.000000, -0.003750> + 1412: < 0.006495, 0.000000, -0.003750> + 1413: < 0.005950, 0.000000, -0.004566> + 1414: < 0.006216, -0.001250, -0.004770> + 1415: < 0.006785, -0.001250, -0.003917> + 1416: < 0.006785, -0.001250, -0.003917> + 1417: < 0.006216, -0.001250, -0.004770> + 1418: < 0.006942, -0.002165, -0.005327> + 1419: < 0.007578, -0.002165, -0.004375> + 1420: < 0.007578, -0.002165, -0.004375> + 1421: < 0.006942, -0.002165, -0.005327> + 1422: < 0.007934, -0.002500, -0.006088> + 1423: < 0.008660, -0.002500, -0.005000> + 1424: < 0.008660, -0.002500, -0.005000> + 1425: < 0.007934, -0.002500, -0.006088> + 1426: < 0.008925, -0.002165, -0.006849> + 1427: < 0.009743, -0.002165, -0.005625> + 1428: < 0.009743, -0.002165, -0.005625> + 1429: < 0.008925, -0.002165, -0.006849> + 1430: < 0.009651, -0.001250, -0.007406> + 1431: < 0.010535, -0.001250, -0.006083> + 1432: < 0.010535, -0.001250, -0.006083> + 1433: < 0.009651, -0.001250, -0.007406> + 1434: < 0.009917, 0.000000, -0.007610> + 1435: < 0.010825, 0.000000, -0.006250> + 1436: < 0.009917, 0.000000, -0.007610> + 1437: < 0.008839, 0.000000, -0.008839> + 1438: < 0.008602, 0.001250, -0.008602> + 1439: < 0.009651, 0.001250, -0.007406> + 1440: < 0.007934, 0.002500, -0.006088> + 1441: < 0.007071, 0.002500, -0.007071> + 1442: < 0.006187, 0.002165, -0.006187> + 1443: < 0.006942, 0.002165, -0.005327> + 1444: < 0.006942, 0.002165, -0.005327> + 1445: < 0.006187, 0.002165, -0.006187> + 1446: < 0.005540, 0.001250, -0.005540> + 1447: < 0.006216, 0.001250, -0.004770> + 1448: < 0.006216, 0.001250, -0.004770> + 1449: < 0.005540, 0.001250, -0.005540> + 1450: < 0.005303, 0.000000, -0.005303> + 1451: < 0.005950, 0.000000, -0.004566> + 1452: < 0.005950, 0.000000, -0.004566> + 1453: < 0.005303, 0.000000, -0.005303> + 1454: < 0.005540, -0.001250, -0.005540> + 1455: < 0.006216, -0.001250, -0.004770> + 1456: < 0.006216, -0.001250, -0.004770> + 1457: < 0.005540, -0.001250, -0.005540> + 1458: < 0.006187, -0.002165, -0.006187> + 1459: < 0.006942, -0.002165, -0.005327> + 1460: < 0.006942, -0.002165, -0.005327> + 1461: < 0.006187, -0.002165, -0.006187> + 1462: < 0.007071, -0.002500, -0.007071> + 1463: < 0.007934, -0.002500, -0.006088> + 1464: < 0.007934, -0.002500, -0.006088> + 1465: < 0.007071, -0.002500, -0.007071> + 1466: < 0.007955, -0.002165, -0.007955> + 1467: < 0.008925, -0.002165, -0.006849> + 1468: < 0.008925, -0.002165, -0.006849> + 1469: < 0.007955, -0.002165, -0.007955> + 1470: < 0.008602, -0.001250, -0.008602> + 1471: < 0.009651, -0.001250, -0.007406> + 1472: < 0.009651, -0.001250, -0.007406> + 1473: < 0.008602, -0.001250, -0.008602> + 1474: < 0.008839, 0.000000, -0.008839> + 1475: < 0.009917, 0.000000, -0.007610> + 1476: < 0.008839, 0.000000, -0.008839> + 1477: < 0.007610, 0.000000, -0.009917> + 1478: < 0.007406, 0.001250, -0.009651> + 1479: < 0.008602, 0.001250, -0.008602> + 1480: < 0.006187, 0.002165, -0.006187> + 1481: < 0.005327, 0.002165, -0.006942> + 1482: < 0.004770, 0.001250, -0.006216> + 1483: < 0.005540, 0.001250, -0.005540> + 1484: < 0.005540, 0.001250, -0.005540> + 1485: < 0.004770, 0.001250, -0.006216> + 1486: < 0.004566, 0.000000, -0.005950> + 1487: < 0.005303, 0.000000, -0.005303> + 1488: < 0.005303, 0.000000, -0.005303> + 1489: < 0.004566, 0.000000, -0.005950> + 1490: < 0.004770, -0.001250, -0.006216> + 1491: < 0.005540, -0.001250, -0.005540> + 1492: < 0.005540, -0.001250, -0.005540> + 1493: < 0.004770, -0.001250, -0.006216> + 1494: < 0.005327, -0.002165, -0.006942> + 1495: < 0.006187, -0.002165, -0.006187> + 1496: < 0.006187, -0.002165, -0.006187> + 1497: < 0.005327, -0.002165, -0.006942> + 1498: < 0.006088, -0.002500, -0.007934> + 1499: < 0.007071, -0.002500, -0.007071> + 1500: < 0.007071, -0.002500, -0.007071> + 1501: < 0.006088, -0.002500, -0.007934> + 1502: < 0.006849, -0.002165, -0.008925> + 1503: < 0.007955, -0.002165, -0.007955> + 1504: < 0.007955, -0.002165, -0.007955> + 1505: < 0.006849, -0.002165, -0.008925> + 1506: < 0.007406, -0.001250, -0.009651> + 1507: < 0.008602, -0.001250, -0.008602> + 1508: < 0.008602, -0.001250, -0.008602> + 1509: < 0.007406, -0.001250, -0.009651> + 1510: < 0.007610, 0.000000, -0.009917> + 1511: < 0.008839, 0.000000, -0.008839> + 1512: < 0.005327, 0.002165, -0.006942> + 1513: < 0.004375, 0.002165, -0.007578> + 1514: < 0.003917, 0.001250, -0.006785> + 1515: < 0.004770, 0.001250, -0.006216> + 1516: < 0.004770, 0.001250, -0.006216> + 1517: < 0.003917, 0.001250, -0.006785> + 1518: < 0.003750, 0.000000, -0.006495> + 1519: < 0.004566, 0.000000, -0.005950> + 1520: < 0.004566, 0.000000, -0.005950> + 1521: < 0.003750, 0.000000, -0.006495> + 1522: < 0.003917, -0.001250, -0.006785> + 1523: < 0.004770, -0.001250, -0.006216> + 1524: < 0.004770, -0.001250, -0.006216> + 1525: < 0.003917, -0.001250, -0.006785> + 1526: < 0.004375, -0.002165, -0.007578> + 1527: < 0.005327, -0.002165, -0.006942> + 1528: < 0.005327, -0.002165, -0.006942> + 1529: < 0.004375, -0.002165, -0.007578> + 1530: < 0.005000, -0.002500, -0.008660> + 1531: < 0.006088, -0.002500, -0.007934> + 1532: < 0.006088, -0.002500, -0.007934> + 1533: < 0.005000, -0.002500, -0.008660> + 1534: < 0.005625, -0.002165, -0.009743> + 1535: < 0.006849, -0.002165, -0.008925> + 1536: < 0.006849, -0.002165, -0.008925> + 1537: < 0.005625, -0.002165, -0.009743> + 1538: < 0.006083, -0.001250, -0.010535> + 1539: < 0.007406, -0.001250, -0.009651> + 1540: < 0.007406, -0.001250, -0.009651> + 1541: < 0.006083, -0.001250, -0.010535> + 1542: < 0.006250, 0.000000, -0.010825> + 1543: < 0.007610, 0.000000, -0.009917> + 1544: < 0.004375, 0.002165, -0.007578> + 1545: < 0.003348, 0.002165, -0.008084> + 1546: < 0.002998, 0.001250, -0.007239> + 1547: < 0.003917, 0.001250, -0.006785> + 1548: < 0.003917, 0.001250, -0.006785> + 1549: < 0.002998, 0.001250, -0.007239> + 1550: < 0.002870, 0.000000, -0.006929> + 1551: < 0.003750, 0.000000, -0.006495> + 1552: < 0.003750, 0.000000, -0.006495> + 1553: < 0.002870, 0.000000, -0.006929> + 1554: < 0.002998, -0.001250, -0.007239> + 1555: < 0.003917, -0.001250, -0.006785> + 1556: < 0.003917, -0.001250, -0.006785> + 1557: < 0.002998, -0.001250, -0.007239> + 1558: < 0.003348, -0.002165, -0.008084> + 1559: < 0.004375, -0.002165, -0.007578> + 1560: < 0.004375, -0.002165, -0.007578> + 1561: < 0.003348, -0.002165, -0.008084> + 1562: < 0.003827, -0.002500, -0.009239> + 1563: < 0.005000, -0.002500, -0.008660> + 1564: < 0.005000, -0.002500, -0.008660> + 1565: < 0.003827, -0.002500, -0.009239> + 1566: < 0.004305, -0.002165, -0.010394> + 1567: < 0.005625, -0.002165, -0.009743> + 1568: < 0.005625, -0.002165, -0.009743> + 1569: < 0.004305, -0.002165, -0.010394> + 1570: < 0.004655, -0.001250, -0.011239> + 1571: < 0.006083, -0.001250, -0.010535> + 1572: < 0.003348, 0.002165, -0.008084> + 1573: < 0.002265, 0.002165, -0.008452> + 1574: < 0.002028, 0.001250, -0.007568> + 1575: < 0.002998, 0.001250, -0.007239> + 1576: < 0.002998, 0.001250, -0.007239> + 1577: < 0.002028, 0.001250, -0.007568> + 1578: < 0.001941, 0.000000, -0.007244> + 1579: < 0.002870, 0.000000, -0.006929> + 1580: < 0.002870, 0.000000, -0.006929> + 1581: < 0.001941, 0.000000, -0.007244> + 1582: < 0.002028, -0.001250, -0.007568> + 1583: < 0.002998, -0.001250, -0.007239> + 1584: < 0.002998, -0.001250, -0.007239> + 1585: < 0.002028, -0.001250, -0.007568> + 1586: < 0.002265, -0.002165, -0.008452> + 1587: < 0.003348, -0.002165, -0.008084> + 1588: < 0.003348, -0.002165, -0.008084> + 1589: < 0.002265, -0.002165, -0.008452> + 1590: < 0.002588, -0.002500, -0.009659> + 1591: < 0.003827, -0.002500, -0.009239> + 1592: < 0.003827, -0.002500, -0.009239> + 1593: < 0.002588, -0.002500, -0.009659> + 1594: < 0.002912, -0.002165, -0.010867> + 1595: < 0.004305, -0.002165, -0.010394> + 1596: < 0.004305, -0.002165, -0.010394> + 1597: < 0.002912, -0.002165, -0.010867> + 1598: < 0.003149, -0.001250, -0.011751> + 1599: < 0.004655, -0.001250, -0.011239> + 1600: < 0.002265, 0.002165, -0.008452> + 1601: < 0.001142, 0.002165, -0.008675> + 1602: < 0.001023, 0.001250, -0.007768> + 1603: < 0.002028, 0.001250, -0.007568> + 1604: < 0.002028, 0.001250, -0.007568> + 1605: < 0.001023, 0.001250, -0.007768> + 1606: < 0.000979, 0.000000, -0.007436> + 1607: < 0.001941, 0.000000, -0.007244> + 1608: < 0.001941, 0.000000, -0.007244> + 1609: < 0.000979, 0.000000, -0.007436> + 1610: < 0.001023, -0.001250, -0.007768> + 1611: < 0.002028, -0.001250, -0.007568> + 1612: < 0.002028, -0.001250, -0.007568> + 1613: < 0.001023, -0.001250, -0.007768> + 1614: < 0.001142, -0.002165, -0.008675> + 1615: < 0.002265, -0.002165, -0.008452> + 1616: < 0.002265, -0.002165, -0.008452> + 1617: < 0.001142, -0.002165, -0.008675> + 1618: < 0.001305, -0.002500, -0.009914> + 1619: < 0.002588, -0.002500, -0.009659> + 1620: < 0.002588, -0.002500, -0.009659> + 1621: < 0.001305, -0.002500, -0.009914> + 1622: < 0.001468, -0.002165, -0.011154> + 1623: < 0.002912, -0.002165, -0.010867> + 1624: < 0.001142, 0.002165, -0.008675> + 1625: <-0.000000, 0.002165, -0.008750> + 1626: <-0.000000, 0.001250, -0.007835> + 1627: < 0.001023, 0.001250, -0.007768> + 1628: < 0.001023, 0.001250, -0.007768> + 1629: <-0.000000, 0.001250, -0.007835> + 1630: <-0.000000, 0.000000, -0.007500> + 1631: < 0.000979, 0.000000, -0.007436> + 1632: < 0.000979, 0.000000, -0.007436> + 1633: <-0.000000, 0.000000, -0.007500> + 1634: <-0.000000, -0.001250, -0.007835> + 1635: < 0.001023, -0.001250, -0.007768> + 1636: < 0.001023, -0.001250, -0.007768> + 1637: <-0.000000, -0.001250, -0.007835> + 1638: <-0.000000, -0.002165, -0.008750> + 1639: < 0.001142, -0.002165, -0.008675> + 1640: < 0.001142, -0.002165, -0.008675> + 1641: <-0.000000, -0.002165, -0.008750> + 1642: <-0.000000, -0.002500, -0.010000> + 1643: < 0.001305, -0.002500, -0.009914> + 1644: < 0.001305, -0.002500, -0.009914> + 1645: <-0.000000, -0.002500, -0.010000> + 1646: <-0.000000, -0.002165, -0.011250> + 1647: < 0.001468, -0.002165, -0.011154> + 1648: <-0.000000, 0.002165, -0.008750> + 1649: <-0.001142, 0.002165, -0.008675> + 1650: <-0.001023, 0.001250, -0.007768> + 1651: <-0.000000, 0.001250, -0.007835> + 1652: <-0.000000, 0.001250, -0.007835> + 1653: <-0.001023, 0.001250, -0.007768> + 1654: <-0.000979, 0.000000, -0.007436> + 1655: <-0.000000, 0.000000, -0.007500> + 1656: <-0.000000, 0.000000, -0.007500> + 1657: <-0.000979, 0.000000, -0.007436> + 1658: <-0.001023, -0.001250, -0.007768> + 1659: <-0.000000, -0.001250, -0.007835> + 1660: <-0.000000, -0.001250, -0.007835> + 1661: <-0.001023, -0.001250, -0.007768> + 1662: <-0.001142, -0.002165, -0.008675> + 1663: <-0.000000, -0.002165, -0.008750> + 1664: <-0.000000, -0.002165, -0.008750> + 1665: <-0.001142, -0.002165, -0.008675> + 1666: <-0.001305, -0.002500, -0.009914> + 1667: <-0.000000, -0.002500, -0.010000> + 1668: <-0.000000, -0.002500, -0.010000> + 1669: <-0.001305, -0.002500, -0.009914> + 1670: <-0.001468, -0.002165, -0.011154> + 1671: <-0.000000, -0.002165, -0.011250> + 1672: <-0.001305, 0.002500, -0.009914> + 1673: <-0.002588, 0.002500, -0.009659> + 1674: <-0.002265, 0.002165, -0.008452> + 1675: <-0.001142, 0.002165, -0.008675> + 1676: <-0.001142, 0.002165, -0.008675> + 1677: <-0.002265, 0.002165, -0.008452> + 1678: <-0.002028, 0.001250, -0.007568> + 1679: <-0.001023, 0.001250, -0.007768> + 1680: <-0.001023, 0.001250, -0.007768> + 1681: <-0.002028, 0.001250, -0.007568> + 1682: <-0.001941, 0.000000, -0.007244> + 1683: <-0.000979, 0.000000, -0.007436> + 1684: <-0.000979, 0.000000, -0.007436> + 1685: <-0.001941, 0.000000, -0.007244> + 1686: <-0.002028, -0.001250, -0.007568> + 1687: <-0.001023, -0.001250, -0.007768> + 1688: <-0.001023, -0.001250, -0.007768> + 1689: <-0.002028, -0.001250, -0.007568> + 1690: <-0.002265, -0.002165, -0.008452> + 1691: <-0.001142, -0.002165, -0.008675> + 1692: <-0.001142, -0.002165, -0.008675> + 1693: <-0.002265, -0.002165, -0.008452> + 1694: <-0.002588, -0.002500, -0.009659> + 1695: <-0.001305, -0.002500, -0.009914> + 1696: <-0.001305, -0.002500, -0.009914> + 1697: <-0.002588, -0.002500, -0.009659> + 1698: <-0.002912, -0.002165, -0.010867> + 1699: <-0.001468, -0.002165, -0.011154> + 1700: <-0.002588, 0.002500, -0.009659> + 1701: <-0.003827, 0.002500, -0.009239> + 1702: <-0.003348, 0.002165, -0.008084> + 1703: <-0.002265, 0.002165, -0.008452> + 1704: <-0.002265, 0.002165, -0.008452> + 1705: <-0.003348, 0.002165, -0.008084> + 1706: <-0.002998, 0.001250, -0.007239> + 1707: <-0.002028, 0.001250, -0.007568> + 1708: <-0.002028, 0.001250, -0.007568> + 1709: <-0.002998, 0.001250, -0.007239> + 1710: <-0.002870, 0.000000, -0.006929> + 1711: <-0.001941, 0.000000, -0.007244> + 1712: <-0.001941, 0.000000, -0.007244> + 1713: <-0.002870, 0.000000, -0.006929> + 1714: <-0.002998, -0.001250, -0.007239> + 1715: <-0.002028, -0.001250, -0.007568> + 1716: <-0.002028, -0.001250, -0.007568> + 1717: <-0.002998, -0.001250, -0.007239> + 1718: <-0.003348, -0.002165, -0.008084> + 1719: <-0.002265, -0.002165, -0.008452> + 1720: <-0.002265, -0.002165, -0.008452> + 1721: <-0.003348, -0.002165, -0.008084> + 1722: <-0.003827, -0.002500, -0.009239> + 1723: <-0.002588, -0.002500, -0.009659> + 1724: <-0.002588, -0.002500, -0.009659> + 1725: <-0.003827, -0.002500, -0.009239> + 1726: <-0.004305, -0.002165, -0.010394> + 1727: <-0.002912, -0.002165, -0.010867> + 1728: <-0.004305, 0.002165, -0.010394> + 1729: <-0.005625, 0.002165, -0.009743> + 1730: <-0.005000, 0.002500, -0.008660> + 1731: <-0.003827, 0.002500, -0.009239> + 1732: <-0.003827, 0.002500, -0.009239> + 1733: <-0.005000, 0.002500, -0.008660> + 1734: <-0.004375, 0.002165, -0.007578> + 1735: <-0.003348, 0.002165, -0.008084> + 1736: <-0.003348, 0.002165, -0.008084> + 1737: <-0.004375, 0.002165, -0.007578> + 1738: <-0.003917, 0.001250, -0.006785> + 1739: <-0.002998, 0.001250, -0.007239> + 1740: <-0.002998, 0.001250, -0.007239> + 1741: <-0.003917, 0.001250, -0.006785> + 1742: <-0.003750, 0.000000, -0.006495> + 1743: <-0.002870, 0.000000, -0.006929> + 1744: <-0.002870, 0.000000, -0.006929> + 1745: <-0.003750, 0.000000, -0.006495> + 1746: <-0.003917, -0.001250, -0.006785> + 1747: <-0.002998, -0.001250, -0.007239> + 1748: <-0.002998, -0.001250, -0.007239> + 1749: <-0.003917, -0.001250, -0.006785> + 1750: <-0.004375, -0.002165, -0.007578> + 1751: <-0.003348, -0.002165, -0.008084> + 1752: <-0.003348, -0.002165, -0.008084> + 1753: <-0.004375, -0.002165, -0.007578> + 1754: <-0.005000, -0.002500, -0.008660> + 1755: <-0.003827, -0.002500, -0.009239> + 1756: <-0.003827, -0.002500, -0.009239> + 1757: <-0.005000, -0.002500, -0.008660> + 1758: <-0.005625, -0.002165, -0.009743> + 1759: <-0.004305, -0.002165, -0.010394> + 1760: <-0.006083, 0.001250, -0.010535> + 1761: <-0.007406, 0.001250, -0.009651> + 1762: <-0.006849, 0.002165, -0.008925> + 1763: <-0.005625, 0.002165, -0.009743> + 1764: <-0.005625, 0.002165, -0.009743> + 1765: <-0.006849, 0.002165, -0.008925> + 1766: <-0.006088, 0.002500, -0.007934> + 1767: <-0.005000, 0.002500, -0.008660> + 1768: <-0.005000, 0.002500, -0.008660> + 1769: <-0.006088, 0.002500, -0.007934> + 1770: <-0.005327, 0.002165, -0.006942> + 1771: <-0.004375, 0.002165, -0.007578> + 1772: <-0.004375, 0.002165, -0.007578> + 1773: <-0.005327, 0.002165, -0.006942> + 1774: <-0.004770, 0.001250, -0.006216> + 1775: <-0.003917, 0.001250, -0.006785> + 1776: <-0.003917, 0.001250, -0.006785> + 1777: <-0.004770, 0.001250, -0.006216> + 1778: <-0.004566, 0.000000, -0.005950> + 1779: <-0.003750, 0.000000, -0.006495> + 1780: <-0.003750, 0.000000, -0.006495> + 1781: <-0.004566, 0.000000, -0.005950> + 1782: <-0.004770, -0.001250, -0.006216> + 1783: <-0.003917, -0.001250, -0.006785> + 1784: <-0.003917, -0.001250, -0.006785> + 1785: <-0.004770, -0.001250, -0.006216> + 1786: <-0.005327, -0.002165, -0.006942> + 1787: <-0.004375, -0.002165, -0.007578> + 1788: <-0.004375, -0.002165, -0.007578> + 1789: <-0.005327, -0.002165, -0.006942> + 1790: <-0.006088, -0.002500, -0.007934> + 1791: <-0.005000, -0.002500, -0.008660> + 1792: <-0.005000, -0.002500, -0.008660> + 1793: <-0.006088, -0.002500, -0.007934> + 1794: <-0.006849, -0.002165, -0.008925> + 1795: <-0.005625, -0.002165, -0.009743> + 1796: <-0.007610, 0.000000, -0.009917> + 1797: <-0.008839, 0.000000, -0.008839> + 1798: <-0.008602, 0.001250, -0.008602> + 1799: <-0.007406, 0.001250, -0.009651> + 1800: <-0.007406, 0.001250, -0.009651> + 1801: <-0.008602, 0.001250, -0.008602> + 1802: <-0.007955, 0.002165, -0.007955> + 1803: <-0.006849, 0.002165, -0.008925> + 1804: <-0.006849, 0.002165, -0.008925> + 1805: <-0.007955, 0.002165, -0.007955> + 1806: <-0.007071, 0.002500, -0.007071> + 1807: <-0.006088, 0.002500, -0.007934> + 1808: <-0.006088, 0.002500, -0.007934> + 1809: <-0.007071, 0.002500, -0.007071> + 1810: <-0.006187, 0.002165, -0.006187> + 1811: <-0.005327, 0.002165, -0.006942> + 1812: <-0.005327, 0.002165, -0.006942> + 1813: <-0.006187, 0.002165, -0.006187> + 1814: <-0.005540, 0.001250, -0.005540> + 1815: <-0.004770, 0.001250, -0.006216> + 1816: <-0.004770, 0.001250, -0.006216> + 1817: <-0.005540, 0.001250, -0.005540> + 1818: <-0.005303, 0.000000, -0.005303> + 1819: <-0.004566, 0.000000, -0.005950> + 1820: <-0.004566, 0.000000, -0.005950> + 1821: <-0.005303, 0.000000, -0.005303> + 1822: <-0.005540, -0.001250, -0.005540> + 1823: <-0.004770, -0.001250, -0.006216> + 1824: <-0.004770, -0.001250, -0.006216> + 1825: <-0.005540, -0.001250, -0.005540> + 1826: <-0.006187, -0.002165, -0.006187> + 1827: <-0.005327, -0.002165, -0.006942> + 1828: <-0.005327, -0.002165, -0.006942> + 1829: <-0.006187, -0.002165, -0.006187> + 1830: <-0.007071, -0.002500, -0.007071> + 1831: <-0.006088, -0.002500, -0.007934> + 1832: <-0.006088, -0.002500, -0.007934> + 1833: <-0.007071, -0.002500, -0.007071> + 1834: <-0.007955, -0.002165, -0.007955> + 1835: <-0.006849, -0.002165, -0.008925> + 1836: <-0.008839, 0.000000, -0.008839> + 1837: <-0.009917, 0.000000, -0.007610> + 1838: <-0.009651, 0.001250, -0.007406> + 1839: <-0.008602, 0.001250, -0.008602> + 1840: <-0.008602, 0.001250, -0.008602> + 1841: <-0.009651, 0.001250, -0.007406> + 1842: <-0.008925, 0.002165, -0.006849> + 1843: <-0.007955, 0.002165, -0.007955> + 1844: <-0.007955, 0.002165, -0.007955> + 1845: <-0.008925, 0.002165, -0.006849> + 1846: <-0.007934, 0.002500, -0.006088> + 1847: <-0.007071, 0.002500, -0.007071> + 1848: <-0.007071, 0.002500, -0.007071> + 1849: <-0.007934, 0.002500, -0.006088> + 1850: <-0.006942, 0.002165, -0.005327> + 1851: <-0.006187, 0.002165, -0.006187> + 1852: <-0.006187, 0.002165, -0.006187> + 1853: <-0.006942, 0.002165, -0.005327> + 1854: <-0.006216, 0.001250, -0.004770> + 1855: <-0.005540, 0.001250, -0.005540> + 1856: <-0.005540, 0.001250, -0.005540> + 1857: <-0.006216, 0.001250, -0.004770> + 1858: <-0.005950, 0.000000, -0.004566> + 1859: <-0.005303, 0.000000, -0.005303> + 1860: <-0.005303, 0.000000, -0.005303> + 1861: <-0.005950, 0.000000, -0.004566> + 1862: <-0.006216, -0.001250, -0.004770> + 1863: <-0.005540, -0.001250, -0.005540> + 1864: <-0.005540, -0.001250, -0.005540> + 1865: <-0.006216, -0.001250, -0.004770> + 1866: <-0.006942, -0.002165, -0.005327> + 1867: <-0.006187, -0.002165, -0.006187> + 1868: <-0.006187, -0.002165, -0.006187> + 1869: <-0.006942, -0.002165, -0.005327> + 1870: <-0.007934, -0.002500, -0.006088> + 1871: <-0.007071, -0.002500, -0.007071> + 1872: <-0.007071, -0.002500, -0.007071> + 1873: <-0.007934, -0.002500, -0.006088> + 1874: <-0.008925, -0.002165, -0.006849> + 1875: <-0.007955, -0.002165, -0.007955> + 1876: <-0.007955, -0.002165, -0.007955> + 1877: <-0.008925, -0.002165, -0.006849> + 1878: <-0.009651, -0.001250, -0.007406> + 1879: <-0.008602, -0.001250, -0.008602> + 1880: <-0.008602, -0.001250, -0.008602> + 1881: <-0.009651, -0.001250, -0.007406> + 1882: <-0.009917, 0.000000, -0.007610> + 1883: <-0.008839, 0.000000, -0.008839> + 1884: <-0.009917, 0.000000, -0.007610> + 1885: <-0.010825, 0.000000, -0.006250> + 1886: <-0.010535, 0.001250, -0.006083> + 1887: <-0.009651, 0.001250, -0.007406> + 1888: <-0.009651, 0.001250, -0.007406> + 1889: <-0.010535, 0.001250, -0.006083> + 1890: <-0.009743, 0.002165, -0.005625> + 1891: <-0.008925, 0.002165, -0.006849> + 1892: <-0.008925, 0.002165, -0.006849> + 1893: <-0.009743, 0.002165, -0.005625> + 1894: <-0.008660, 0.002500, -0.005000> + 1895: <-0.007934, 0.002500, -0.006088> + 1896: <-0.007934, 0.002500, -0.006088> + 1897: <-0.008660, 0.002500, -0.005000> + 1898: <-0.007578, 0.002165, -0.004375> + 1899: <-0.006942, 0.002165, -0.005327> + 1900: <-0.006942, 0.002165, -0.005327> + 1901: <-0.007578, 0.002165, -0.004375> + 1902: <-0.006785, 0.001250, -0.003917> + 1903: <-0.006216, 0.001250, -0.004770> + 1904: <-0.006216, 0.001250, -0.004770> + 1905: <-0.006785, 0.001250, -0.003917> + 1906: <-0.006495, 0.000000, -0.003750> + 1907: <-0.005950, 0.000000, -0.004566> + 1908: <-0.005950, 0.000000, -0.004566> + 1909: <-0.006495, 0.000000, -0.003750> + 1910: <-0.006785, -0.001250, -0.003917> + 1911: <-0.006216, -0.001250, -0.004770> + 1912: <-0.006216, -0.001250, -0.004770> + 1913: <-0.006785, -0.001250, -0.003917> + 1914: <-0.007578, -0.002165, -0.004375> + 1915: <-0.006942, -0.002165, -0.005327> + 1916: <-0.006942, -0.002165, -0.005327> + 1917: <-0.007578, -0.002165, -0.004375> + 1918: <-0.008660, -0.002500, -0.005000> + 1919: <-0.007934, -0.002500, -0.006088> + 1920: <-0.007934, -0.002500, -0.006088> + 1921: <-0.008660, -0.002500, -0.005000> + 1922: <-0.009743, -0.002165, -0.005625> + 1923: <-0.008925, -0.002165, -0.006849> + 1924: <-0.008925, -0.002165, -0.006849> + 1925: <-0.009743, -0.002165, -0.005625> + 1926: <-0.010535, -0.001250, -0.006083> + 1927: <-0.009651, -0.001250, -0.007406> + 1928: <-0.009651, -0.001250, -0.007406> + 1929: <-0.010535, -0.001250, -0.006083> + 1930: <-0.010825, 0.000000, -0.006250> + 1931: <-0.009917, 0.000000, -0.007610> + 1932: <-0.010825, 0.000000, -0.006250> + 1933: <-0.011548, 0.000000, -0.004784> + 1934: <-0.011239, 0.001250, -0.004655> + 1935: <-0.010535, 0.001250, -0.006083> + 1936: <-0.010535, 0.001250, -0.006083> + 1937: <-0.011239, 0.001250, -0.004655> + 1938: <-0.010394, 0.002165, -0.004305> + 1939: <-0.009743, 0.002165, -0.005625> + 1940: <-0.009743, 0.002165, -0.005625> + 1941: <-0.010394, 0.002165, -0.004305> + 1942: <-0.009239, 0.002500, -0.003827> + 1943: <-0.008660, 0.002500, -0.005000> + 1944: <-0.008660, 0.002500, -0.005000> + 1945: <-0.009239, 0.002500, -0.003827> + 1946: <-0.008084, 0.002165, -0.003348> + 1947: <-0.007578, 0.002165, -0.004375> + 1948: <-0.007578, 0.002165, -0.004375> + 1949: <-0.008084, 0.002165, -0.003348> + 1950: <-0.007239, 0.001250, -0.002998> + 1951: <-0.006785, 0.001250, -0.003917> + 1952: <-0.006785, 0.001250, -0.003917> + 1953: <-0.007239, 0.001250, -0.002998> + 1954: <-0.006929, 0.000000, -0.002870> + 1955: <-0.006495, 0.000000, -0.003750> + 1956: <-0.006495, 0.000000, -0.003750> + 1957: <-0.006929, 0.000000, -0.002870> + 1958: <-0.007239, -0.001250, -0.002998> + 1959: <-0.006785, -0.001250, -0.003917> + 1960: <-0.006785, -0.001250, -0.003917> + 1961: <-0.007239, -0.001250, -0.002998> + 1962: <-0.008084, -0.002165, -0.003348> + 1963: <-0.007578, -0.002165, -0.004375> + 1964: <-0.007578, -0.002165, -0.004375> + 1965: <-0.008084, -0.002165, -0.003348> + 1966: <-0.009239, -0.002500, -0.003827> + 1967: <-0.008660, -0.002500, -0.005000> + 1968: <-0.008660, -0.002500, -0.005000> + 1969: <-0.009239, -0.002500, -0.003827> + 1970: <-0.010394, -0.002165, -0.004305> + 1971: <-0.009743, -0.002165, -0.005625> + 1972: <-0.009743, -0.002165, -0.005625> + 1973: <-0.010394, -0.002165, -0.004305> + 1974: <-0.011239, -0.001250, -0.004655> + 1975: <-0.010535, -0.001250, -0.006083> + 1976: <-0.010535, -0.001250, -0.006083> + 1977: <-0.011239, -0.001250, -0.004655> + 1978: <-0.011548, 0.000000, -0.004784> + 1979: <-0.010825, 0.000000, -0.006250> + 1980: <-0.011548, 0.000000, -0.004784> + 1981: <-0.012074, 0.000000, -0.003235> + 1982: <-0.011751, 0.001250, -0.003149> + 1983: <-0.011239, 0.001250, -0.004655> + 1984: <-0.011239, 0.001250, -0.004655> + 1985: <-0.011751, 0.001250, -0.003149> + 1986: <-0.010867, 0.002165, -0.002912> + 1987: <-0.010394, 0.002165, -0.004305> + 1988: <-0.010394, 0.002165, -0.004305> + 1989: <-0.010867, 0.002165, -0.002912> + 1990: <-0.009659, 0.002500, -0.002588> + 1991: <-0.009239, 0.002500, -0.003827> + 1992: <-0.009239, 0.002500, -0.003827> + 1993: <-0.009659, 0.002500, -0.002588> + 1994: <-0.008452, 0.002165, -0.002265> + 1995: <-0.008084, 0.002165, -0.003348> + 1996: <-0.008084, 0.002165, -0.003348> + 1997: <-0.008452, 0.002165, -0.002265> + 1998: <-0.007568, 0.001250, -0.002028> + 1999: <-0.007239, 0.001250, -0.002998> + 2000: <-0.007239, 0.001250, -0.002998> + 2001: <-0.007568, 0.001250, -0.002028> + 2002: <-0.007244, 0.000000, -0.001941> + 2003: <-0.006929, 0.000000, -0.002870> + 2004: <-0.006929, 0.000000, -0.002870> + 2005: <-0.007244, 0.000000, -0.001941> + 2006: <-0.007568, -0.001250, -0.002028> + 2007: <-0.007239, -0.001250, -0.002998> + 2008: <-0.007239, -0.001250, -0.002998> + 2009: <-0.007568, -0.001250, -0.002028> + 2010: <-0.008452, -0.002165, -0.002265> + 2011: <-0.008084, -0.002165, -0.003348> + 2012: <-0.008084, -0.002165, -0.003348> + 2013: <-0.008452, -0.002165, -0.002265> + 2014: <-0.009659, -0.002500, -0.002588> + 2015: <-0.009239, -0.002500, -0.003827> + 2016: <-0.009239, -0.002500, -0.003827> + 2017: <-0.009659, -0.002500, -0.002588> + 2018: <-0.010867, -0.002165, -0.002912> + 2019: <-0.010394, -0.002165, -0.004305> + 2020: <-0.010394, -0.002165, -0.004305> + 2021: <-0.010867, -0.002165, -0.002912> + 2022: <-0.011751, -0.001250, -0.003149> + 2023: <-0.011239, -0.001250, -0.004655> + 2024: <-0.011239, -0.001250, -0.004655> + 2025: <-0.011751, -0.001250, -0.003149> + 2026: <-0.012074, 0.000000, -0.003235> + 2027: <-0.011548, 0.000000, -0.004784> + 2028: <-0.008452, 0.002165, -0.002265> + 2029: <-0.008675, 0.002165, -0.001142> + 2030: <-0.007768, 0.001250, -0.001023> + 2031: <-0.007568, 0.001250, -0.002028> + 2032: <-0.007568, 0.001250, -0.002028> + 2033: <-0.007768, 0.001250, -0.001023> + 2034: <-0.007436, 0.000000, -0.000979> + 2035: <-0.007244, 0.000000, -0.001941> + 2036: <-0.007244, 0.000000, -0.001941> + 2037: <-0.007436, 0.000000, -0.000979> + 2038: <-0.007768, -0.001250, -0.001023> + 2039: <-0.007568, -0.001250, -0.002028> + 2040: <-0.007568, -0.001250, -0.002028> + 2041: <-0.007768, -0.001250, -0.001023> + 2042: <-0.008675, -0.002165, -0.001142> + 2043: <-0.008452, -0.002165, -0.002265> + 2044: <-0.008452, -0.002165, -0.002265> + 2045: <-0.008675, -0.002165, -0.001142> + 2046: <-0.009914, -0.002500, -0.001305> + 2047: <-0.009659, -0.002500, -0.002588> + 2048: <-0.009659, -0.002500, -0.002588> + 2049: <-0.009914, -0.002500, -0.001305> + 2050: <-0.011154, -0.002165, -0.001468> + 2051: <-0.010867, -0.002165, -0.002912> + 2052: <-0.008675, 0.002165, -0.001142> + 2053: <-0.008750, 0.002165, 0.000000> + 2054: <-0.007835, 0.001250, 0.000000> + 2055: <-0.007768, 0.001250, -0.001023> + 2056: <-0.007768, 0.001250, -0.001023> + 2057: <-0.007835, 0.001250, 0.000000> + 2058: <-0.007500, 0.000000, 0.000000> + 2059: <-0.007436, 0.000000, -0.000979> + 2060: <-0.007436, 0.000000, -0.000979> + 2061: <-0.007500, 0.000000, 0.000000> + 2062: <-0.007835, -0.001250, 0.000000> + 2063: <-0.007768, -0.001250, -0.001023> + 2064: <-0.007768, -0.001250, -0.001023> + 2065: <-0.007835, -0.001250, 0.000000> + 2066: <-0.008750, -0.002165, 0.000000> + 2067: <-0.008675, -0.002165, -0.001142> + 2068: <-0.008675, -0.002165, -0.001142> + 2069: <-0.008750, -0.002165, 0.000000> + 2070: <-0.010000, -0.002500, 0.000000> + 2071: <-0.009914, -0.002500, -0.001305> + 2072: <-0.009914, -0.002500, -0.001305> + 2073: <-0.010000, -0.002500, 0.000000> + 2074: <-0.011250, -0.002165, 0.000000> + 2075: <-0.011154, -0.002165, -0.001468> + 2076: < 0.009743, 0.002165, -0.005625> + 2077: < 0.008925, 0.002165, -0.006849> + 2078: < 0.007934, 0.002500, -0.006088> + 2079: < 0.008660, 0.002500, -0.005000> + 2080: < 0.009651, 0.001250, -0.007406> + 2081: < 0.008602, 0.001250, -0.008602> + 2082: < 0.007955, 0.002165, -0.007955> + 2083: < 0.008925, 0.002165, -0.006849> + 2084: < 0.008925, 0.002165, -0.006849> + 2085: < 0.007955, 0.002165, -0.007955> + 2086: < 0.007071, 0.002500, -0.007071> + 2087: < 0.007934, 0.002500, -0.006088> + 2088: < 0.008602, 0.001250, -0.008602> + 2089: < 0.007406, 0.001250, -0.009651> + 2090: < 0.006849, 0.002165, -0.008925> + 2091: < 0.007955, 0.002165, -0.007955> + 2092: < 0.007955, 0.002165, -0.007955> + 2093: < 0.006849, 0.002165, -0.008925> + 2094: < 0.006088, 0.002500, -0.007934> + 2095: < 0.007071, 0.002500, -0.007071> + 2096: < 0.007071, 0.002500, -0.007071> + 2097: < 0.006088, 0.002500, -0.007934> + 2098: < 0.005327, 0.002165, -0.006942> + 2099: < 0.006187, 0.002165, -0.006187> + 2100: < 0.007610, 0.000000, -0.009917> + 2101: < 0.006250, 0.000000, -0.010825> + 2102: < 0.006083, 0.001250, -0.010535> + 2103: < 0.007406, 0.001250, -0.009651> + 2104: < 0.007406, 0.001250, -0.009651> + 2105: < 0.006083, 0.001250, -0.010535> + 2106: < 0.005625, 0.002165, -0.009743> + 2107: < 0.006849, 0.002165, -0.008925> + 2108: < 0.006849, 0.002165, -0.008925> + 2109: < 0.005625, 0.002165, -0.009743> + 2110: < 0.005000, 0.002500, -0.008660> + 2111: < 0.006088, 0.002500, -0.007934> + 2112: < 0.006088, 0.002500, -0.007934> + 2113: < 0.005000, 0.002500, -0.008660> + 2114: < 0.004375, 0.002165, -0.007578> + 2115: < 0.005327, 0.002165, -0.006942> + 2116: < 0.006250, 0.000000, -0.010825> + 2117: < 0.004784, 0.000000, -0.011548> + 2118: < 0.004655, 0.001250, -0.011239> + 2119: < 0.006083, 0.001250, -0.010535> + 2120: < 0.006083, 0.001250, -0.010535> + 2121: < 0.004655, 0.001250, -0.011239> + 2122: < 0.004305, 0.002165, -0.010394> + 2123: < 0.005625, 0.002165, -0.009743> + 2124: < 0.005625, 0.002165, -0.009743> + 2125: < 0.004305, 0.002165, -0.010394> + 2126: < 0.003827, 0.002500, -0.009239> + 2127: < 0.005000, 0.002500, -0.008660> + 2128: < 0.005000, 0.002500, -0.008660> + 2129: < 0.003827, 0.002500, -0.009239> + 2130: < 0.003348, 0.002165, -0.008084> + 2131: < 0.004375, 0.002165, -0.007578> + 2132: < 0.006083, -0.001250, -0.010535> + 2133: < 0.004655, -0.001250, -0.011239> + 2134: < 0.004784, 0.000000, -0.011548> + 2135: < 0.006250, 0.000000, -0.010825> + 2136: < 0.004784, 0.000000, -0.011548> + 2137: < 0.003235, 0.000000, -0.012074> + 2138: < 0.003149, 0.001250, -0.011751> + 2139: < 0.004655, 0.001250, -0.011239> + 2140: < 0.004655, 0.001250, -0.011239> + 2141: < 0.003149, 0.001250, -0.011751> + 2142: < 0.002912, 0.002165, -0.010867> + 2143: < 0.004305, 0.002165, -0.010394> + 2144: < 0.004305, 0.002165, -0.010394> + 2145: < 0.002912, 0.002165, -0.010867> + 2146: < 0.002588, 0.002500, -0.009659> + 2147: < 0.003827, 0.002500, -0.009239> + 2148: < 0.003827, 0.002500, -0.009239> + 2149: < 0.002588, 0.002500, -0.009659> + 2150: < 0.002265, 0.002165, -0.008452> + 2151: < 0.003348, 0.002165, -0.008084> + 2152: < 0.004655, -0.001250, -0.011239> + 2153: < 0.003149, -0.001250, -0.011751> + 2154: < 0.003235, 0.000000, -0.012074> + 2155: < 0.004784, 0.000000, -0.011548> + 2156: < 0.003235, 0.000000, -0.012074> + 2157: < 0.001632, 0.000000, -0.012393> + 2158: < 0.001588, 0.001250, -0.012061> + 2159: < 0.003149, 0.001250, -0.011751> + 2160: < 0.003149, 0.001250, -0.011751> + 2161: < 0.001588, 0.001250, -0.012061> + 2162: < 0.001468, 0.002165, -0.011154> + 2163: < 0.002912, 0.002165, -0.010867> + 2164: < 0.002912, 0.002165, -0.010867> + 2165: < 0.001468, 0.002165, -0.011154> + 2166: < 0.001305, 0.002500, -0.009914> + 2167: < 0.002588, 0.002500, -0.009659> + 2168: < 0.002588, 0.002500, -0.009659> + 2169: < 0.001305, 0.002500, -0.009914> + 2170: < 0.001142, 0.002165, -0.008675> + 2171: < 0.002265, 0.002165, -0.008452> + 2172: < 0.002912, -0.002165, -0.010867> + 2173: < 0.001468, -0.002165, -0.011154> + 2174: < 0.001588, -0.001250, -0.012061> + 2175: < 0.003149, -0.001250, -0.011751> + 2176: < 0.003149, -0.001250, -0.011751> + 2177: < 0.001588, -0.001250, -0.012061> + 2178: < 0.001632, 0.000000, -0.012393> + 2179: < 0.003235, 0.000000, -0.012074> + 2180: < 0.001632, 0.000000, -0.012393> + 2181: <-0.000000, 0.000000, -0.012500> + 2182: <-0.000000, 0.001250, -0.012165> + 2183: < 0.001588, 0.001250, -0.012061> + 2184: < 0.001588, 0.001250, -0.012061> + 2185: <-0.000000, 0.001250, -0.012165> + 2186: <-0.000000, 0.002165, -0.011250> + 2187: < 0.001468, 0.002165, -0.011154> + 2188: < 0.001468, 0.002165, -0.011154> + 2189: <-0.000000, 0.002165, -0.011250> + 2190: <-0.000000, 0.002500, -0.010000> + 2191: < 0.001305, 0.002500, -0.009914> + 2192: < 0.001305, 0.002500, -0.009914> + 2193: <-0.000000, 0.002500, -0.010000> + 2194: <-0.000000, 0.002165, -0.008750> + 2195: < 0.001142, 0.002165, -0.008675> + 2196: < 0.001468, -0.002165, -0.011154> + 2197: <-0.000000, -0.002165, -0.011250> + 2198: <-0.000000, -0.001250, -0.012165> + 2199: < 0.001588, -0.001250, -0.012061> + 2200: < 0.001588, -0.001250, -0.012061> + 2201: <-0.000000, -0.001250, -0.012165> + 2202: <-0.000000, 0.000000, -0.012500> + 2203: < 0.001632, 0.000000, -0.012393> + 2204: <-0.000000, 0.000000, -0.012500> + 2205: <-0.001632, 0.000000, -0.012393> + 2206: <-0.001588, 0.001250, -0.012061> + 2207: <-0.000000, 0.001250, -0.012165> + 2208: <-0.000000, 0.001250, -0.012165> + 2209: <-0.001588, 0.001250, -0.012061> + 2210: <-0.001468, 0.002165, -0.011154> + 2211: <-0.000000, 0.002165, -0.011250> + 2212: <-0.000000, 0.002165, -0.011250> + 2213: <-0.001468, 0.002165, -0.011154> + 2214: <-0.001305, 0.002500, -0.009914> + 2215: <-0.000000, 0.002500, -0.010000> + 2216: <-0.000000, 0.002500, -0.010000> + 2217: <-0.001305, 0.002500, -0.009914> + 2218: <-0.001142, 0.002165, -0.008675> + 2219: <-0.000000, 0.002165, -0.008750> + 2220: <-0.000000, -0.002165, -0.011250> + 2221: <-0.001468, -0.002165, -0.011154> + 2222: <-0.001588, -0.001250, -0.012061> + 2223: <-0.000000, -0.001250, -0.012165> + 2224: <-0.000000, -0.001250, -0.012165> + 2225: <-0.001588, -0.001250, -0.012061> + 2226: <-0.001632, 0.000000, -0.012393> + 2227: <-0.000000, 0.000000, -0.012500> + 2228: <-0.001632, 0.000000, -0.012393> + 2229: <-0.003235, 0.000000, -0.012074> + 2230: <-0.003149, 0.001250, -0.011751> + 2231: <-0.001588, 0.001250, -0.012061> + 2232: <-0.001588, 0.001250, -0.012061> + 2233: <-0.003149, 0.001250, -0.011751> + 2234: <-0.002912, 0.002165, -0.010867> + 2235: <-0.001468, 0.002165, -0.011154> + 2236: <-0.001468, 0.002165, -0.011154> + 2237: <-0.002912, 0.002165, -0.010867> + 2238: <-0.002588, 0.002500, -0.009659> + 2239: <-0.001305, 0.002500, -0.009914> + 2240: <-0.001468, -0.002165, -0.011154> + 2241: <-0.002912, -0.002165, -0.010867> + 2242: <-0.003149, -0.001250, -0.011751> + 2243: <-0.001588, -0.001250, -0.012061> + 2244: <-0.001588, -0.001250, -0.012061> + 2245: <-0.003149, -0.001250, -0.011751> + 2246: <-0.003235, 0.000000, -0.012074> + 2247: <-0.001632, 0.000000, -0.012393> + 2248: <-0.003235, 0.000000, -0.012074> + 2249: <-0.004784, 0.000000, -0.011548> + 2250: <-0.004655, 0.001250, -0.011239> + 2251: <-0.003149, 0.001250, -0.011751> + 2252: <-0.003149, 0.001250, -0.011751> + 2253: <-0.004655, 0.001250, -0.011239> + 2254: <-0.004305, 0.002165, -0.010394> + 2255: <-0.002912, 0.002165, -0.010867> + 2256: <-0.002912, 0.002165, -0.010867> + 2257: <-0.004305, 0.002165, -0.010394> + 2258: <-0.003827, 0.002500, -0.009239> + 2259: <-0.002588, 0.002500, -0.009659> + 2260: <-0.002912, -0.002165, -0.010867> + 2261: <-0.004305, -0.002165, -0.010394> + 2262: <-0.004655, -0.001250, -0.011239> + 2263: <-0.003149, -0.001250, -0.011751> + 2264: <-0.003149, -0.001250, -0.011751> + 2265: <-0.004655, -0.001250, -0.011239> + 2266: <-0.004784, 0.000000, -0.011548> + 2267: <-0.003235, 0.000000, -0.012074> + 2268: <-0.004784, 0.000000, -0.011548> + 2269: <-0.006250, 0.000000, -0.010825> + 2270: <-0.006083, 0.001250, -0.010535> + 2271: <-0.004655, 0.001250, -0.011239> + 2272: <-0.004655, 0.001250, -0.011239> + 2273: <-0.006083, 0.001250, -0.010535> + 2274: <-0.005625, 0.002165, -0.009743> + 2275: <-0.004305, 0.002165, -0.010394> + 2276: <-0.004305, -0.002165, -0.010394> + 2277: <-0.005625, -0.002165, -0.009743> + 2278: <-0.006083, -0.001250, -0.010535> + 2279: <-0.004655, -0.001250, -0.011239> + 2280: <-0.004655, -0.001250, -0.011239> + 2281: <-0.006083, -0.001250, -0.010535> + 2282: <-0.006250, 0.000000, -0.010825> + 2283: <-0.004784, 0.000000, -0.011548> + 2284: <-0.006250, 0.000000, -0.010825> + 2285: <-0.007610, 0.000000, -0.009917> + 2286: <-0.007406, 0.001250, -0.009651> + 2287: <-0.006083, 0.001250, -0.010535> + 2288: <-0.005625, -0.002165, -0.009743> + 2289: <-0.006849, -0.002165, -0.008925> + 2290: <-0.007406, -0.001250, -0.009651> + 2291: <-0.006083, -0.001250, -0.010535> + 2292: <-0.006083, -0.001250, -0.010535> + 2293: <-0.007406, -0.001250, -0.009651> + 2294: <-0.007610, 0.000000, -0.009917> + 2295: <-0.006250, 0.000000, -0.010825> + 2296: <-0.006849, -0.002165, -0.008925> + 2297: <-0.007955, -0.002165, -0.007955> + 2298: <-0.008602, -0.001250, -0.008602> + 2299: <-0.007406, -0.001250, -0.009651> + 2300: <-0.007406, -0.001250, -0.009651> + 2301: <-0.008602, -0.001250, -0.008602> + 2302: <-0.008839, 0.000000, -0.008839> + 2303: <-0.007610, 0.000000, -0.009917> + Normals: Count 2304. Hash: 14915939258818888021 + 0: <-0.963996, 0.258302, 0.063184> + 1: <-0.963996, 0.258302, 0.063184> + 2: <-0.963996, 0.258302, 0.063184> + 3: <-0.963996, 0.258302, 0.063184> + 4: <-0.706349, 0.706349, 0.046297> + 5: <-0.706349, 0.706349, 0.046297> + 6: <-0.706349, 0.706349, 0.046297> + 7: <-0.706349, 0.706349, 0.046297> + 8: <-0.258782, 0.965787, 0.016961> + 9: <-0.258782, 0.965787, 0.016961> + 10: <-0.258782, 0.965787, 0.016961> + 11: <-0.258782, 0.965787, 0.016961> + 12: < 0.258782, 0.965787, -0.016961> + 13: < 0.258782, 0.965787, -0.016961> + 14: < 0.258782, 0.965787, -0.016961> + 15: < 0.258782, 0.965787, -0.016961> + 16: <-0.706349, -0.706349, 0.046297> + 17: <-0.706349, -0.706349, 0.046297> + 18: <-0.706349, -0.706349, 0.046297> + 19: <-0.706349, -0.706349, 0.046297> + 20: <-0.963996, -0.258302, 0.063184> + 21: <-0.963996, -0.258302, 0.063184> + 22: <-0.963996, -0.258302, 0.063184> + 23: <-0.963996, -0.258302, 0.063184> + 24: <-0.947502, 0.258302, 0.188470> + 25: <-0.947502, 0.258302, 0.188470> + 26: <-0.947502, 0.258302, 0.188470> + 27: <-0.947502, 0.258302, 0.188470> + 28: <-0.694263, 0.706349, 0.138097> + 29: <-0.694263, 0.706349, 0.138097> + 30: <-0.694263, 0.706349, 0.138097> + 31: <-0.694263, 0.706349, 0.138097> + 32: <-0.254354, 0.965787, 0.050594> + 33: <-0.254354, 0.965787, 0.050594> + 34: <-0.254354, 0.965787, 0.050594> + 35: <-0.254354, 0.965787, 0.050594> + 36: < 0.254354, 0.965787, -0.050594> + 37: < 0.254354, 0.965787, -0.050594> + 38: < 0.254354, 0.965787, -0.050594> + 39: < 0.254354, 0.965787, -0.050594> + 40: <-0.694263, -0.706349, 0.138097> + 41: <-0.694263, -0.706349, 0.138097> + 42: <-0.694263, -0.706349, 0.138097> + 43: <-0.694263, -0.706349, 0.138097> + 44: <-0.947502, -0.258302, 0.188470> + 45: <-0.947502, -0.258302, 0.188470> + 46: <-0.947502, -0.258302, 0.188470> + 47: <-0.947502, -0.258302, 0.188470> + 48: <-0.914796, 0.258301, 0.310531> + 49: <-0.914796, 0.258301, 0.310531> + 50: <-0.914796, 0.258301, 0.310531> + 51: <-0.914796, 0.258301, 0.310531> + 52: <-0.670298, 0.706349, 0.227535> + 53: <-0.670298, 0.706349, 0.227535> + 54: <-0.670298, 0.706349, 0.227535> + 55: <-0.670298, 0.706349, 0.227535> + 56: <-0.245574, 0.965787, 0.083361> + 57: <-0.245574, 0.965787, 0.083361> + 58: <-0.245574, 0.965787, 0.083361> + 59: <-0.245574, 0.965787, 0.083361> + 60: < 0.245574, 0.965787, -0.083361> + 61: < 0.245574, 0.965787, -0.083361> + 62: < 0.245574, 0.965787, -0.083361> + 63: < 0.245574, 0.965787, -0.083361> + 64: <-0.670298, -0.706349, 0.227535> + 65: <-0.670298, -0.706349, 0.227535> + 66: <-0.670298, -0.706349, 0.227535> + 67: <-0.670298, -0.706349, 0.227535> + 68: <-0.914796, -0.258301, 0.310531> + 69: <-0.914796, -0.258301, 0.310531> + 70: <-0.914796, -0.258301, 0.310531> + 71: <-0.914796, -0.258301, 0.310531> + 72: <-0.866437, 0.258302, 0.427279> + 73: <-0.866437, 0.258302, 0.427279> + 74: <-0.866437, 0.258302, 0.427279> + 75: <-0.866437, 0.258302, 0.427279> + 76: <-0.634864, 0.706349, 0.313080> + 77: <-0.634864, 0.706349, 0.313080> + 78: <-0.634864, 0.706349, 0.313080> + 79: <-0.634864, 0.706349, 0.313080> + 80: <-0.232592, 0.965787, 0.114702> + 81: <-0.232592, 0.965787, 0.114702> + 82: <-0.232592, 0.965787, 0.114702> + 83: <-0.232592, 0.965787, 0.114702> + 84: < 0.232592, 0.965787, -0.114702> + 85: < 0.232592, 0.965787, -0.114702> + 86: < 0.232592, 0.965787, -0.114702> + 87: < 0.232592, 0.965787, -0.114702> + 88: <-0.634864, -0.706349, 0.313080> + 89: <-0.634864, -0.706349, 0.313080> + 90: <-0.634864, -0.706349, 0.313080> + 91: <-0.634864, -0.706349, 0.313080> + 92: <-0.866437, -0.258302, 0.427279> + 93: <-0.866437, -0.258302, 0.427279> + 94: <-0.866437, -0.258302, 0.427279> + 95: <-0.866437, -0.258302, 0.427279> + 96: <-0.803253, 0.258302, 0.536716> + 97: <-0.803253, 0.258302, 0.536716> + 98: <-0.803253, 0.258302, 0.536716> + 99: <-0.803253, 0.258302, 0.536716> + 100: <-0.588568, 0.706348, 0.393268> + 101: <-0.588568, 0.706348, 0.393268> + 102: <-0.588568, 0.706348, 0.393268> + 103: <-0.588568, 0.706348, 0.393268> + 104: <-0.215631, 0.965787, 0.144080> + 105: <-0.215631, 0.965787, 0.144080> + 106: <-0.215631, 0.965787, 0.144080> + 107: <-0.215631, 0.965787, 0.144080> + 108: < 0.215631, 0.965787, -0.144080> + 109: < 0.215631, 0.965787, -0.144080> + 110: < 0.215631, 0.965787, -0.144080> + 111: < 0.215631, 0.965787, -0.144080> + 112: <-0.588568, -0.706348, 0.393268> + 113: <-0.588568, -0.706348, 0.393268> + 114: <-0.588568, -0.706348, 0.393268> + 115: <-0.588568, -0.706348, 0.393268> + 116: <-0.803253, -0.258302, 0.536716> + 117: <-0.803253, -0.258302, 0.536716> + 118: <-0.803253, -0.258302, 0.536716> + 119: <-0.803253, -0.258302, 0.536716> + 120: <-0.726325, 0.258302, 0.636971> + 121: <-0.726325, 0.258302, 0.636971> + 122: <-0.726325, 0.258302, 0.636971> + 123: <-0.726325, 0.258302, 0.636971> + 124: <-0.532200, 0.706348, 0.466728> + 125: <-0.532200, 0.706348, 0.466728> + 126: <-0.532200, 0.706348, 0.466728> + 127: <-0.532200, 0.706348, 0.466728> + 128: <-0.194980, 0.965787, 0.170993> + 129: <-0.194980, 0.965787, 0.170993> + 130: <-0.194980, 0.965787, 0.170993> + 131: <-0.194980, 0.965787, 0.170993> + 132: < 0.194980, 0.965787, -0.170993> + 133: < 0.194980, 0.965787, -0.170993> + 134: < 0.194980, 0.965787, -0.170993> + 135: < 0.194980, 0.965787, -0.170993> + 136: < 0.532201, 0.706349, -0.466727> + 137: < 0.532201, 0.706349, -0.466727> + 138: < 0.532201, 0.706349, -0.466727> + 139: < 0.532201, 0.706349, -0.466727> + 140: <-0.726325, -0.258302, 0.636971> + 141: <-0.726325, -0.258302, 0.636971> + 142: <-0.726325, -0.258302, 0.636971> + 143: <-0.726325, -0.258302, 0.636971> + 144: <-0.636970, 0.258302, 0.726326> + 145: <-0.636970, 0.258302, 0.726326> + 146: <-0.636970, 0.258302, 0.726326> + 147: <-0.636970, 0.258302, 0.726326> + 148: <-0.466727, 0.706349, 0.532200> + 149: <-0.466727, 0.706349, 0.532200> + 150: <-0.466727, 0.706349, 0.532200> + 151: <-0.466727, 0.706349, 0.532200> + 152: <-0.170993, 0.965787, 0.194980> + 153: <-0.170993, 0.965787, 0.194980> + 154: <-0.170993, 0.965787, 0.194980> + 155: <-0.170993, 0.965787, 0.194980> + 156: < 0.170993, 0.965787, -0.194980> + 157: < 0.170993, 0.965787, -0.194980> + 158: < 0.170993, 0.965787, -0.194980> + 159: < 0.170993, 0.965787, -0.194980> + 160: < 0.466727, 0.706349, -0.532201> + 161: < 0.466727, 0.706349, -0.532201> + 162: < 0.466727, 0.706349, -0.532201> + 163: < 0.466727, 0.706349, -0.532201> + 164: <-0.636970, -0.258302, 0.726326> + 165: <-0.636970, -0.258302, 0.726326> + 166: <-0.636970, -0.258302, 0.726326> + 167: <-0.636970, -0.258302, 0.726326> + 168: <-0.536717, 0.258301, 0.803253> + 169: <-0.536717, 0.258301, 0.803253> + 170: <-0.536717, 0.258301, 0.803253> + 171: <-0.536717, 0.258301, 0.803253> + 172: <-0.393268, 0.706349, 0.588567> + 173: <-0.393268, 0.706349, 0.588567> + 174: <-0.393268, 0.706349, 0.588567> + 175: <-0.393268, 0.706349, 0.588567> + 176: <-0.144080, 0.965787, 0.215631> + 177: <-0.144080, 0.965787, 0.215631> + 178: <-0.144080, 0.965787, 0.215631> + 179: <-0.144080, 0.965787, 0.215631> + 180: < 0.144080, 0.965787, -0.215631> + 181: < 0.144080, 0.965787, -0.215631> + 182: < 0.144080, 0.965787, -0.215631> + 183: < 0.144080, 0.965787, -0.215631> + 184: < 0.393269, 0.706348, -0.588567> + 185: < 0.393269, 0.706348, -0.588567> + 186: < 0.393269, 0.706348, -0.588567> + 187: < 0.393269, 0.706348, -0.588567> + 188: < 0.536717, 0.258301, -0.803253> + 189: < 0.536717, 0.258301, -0.803253> + 190: < 0.536717, 0.258301, -0.803253> + 191: < 0.536717, 0.258301, -0.803253> + 192: <-0.313080, 0.706349, 0.634864> + 193: <-0.313080, 0.706349, 0.634864> + 194: <-0.313080, 0.706349, 0.634864> + 195: <-0.313080, 0.706349, 0.634864> + 196: <-0.114702, 0.965787, 0.232592> + 197: <-0.114702, 0.965787, 0.232592> + 198: <-0.114702, 0.965787, 0.232592> + 199: <-0.114702, 0.965787, 0.232592> + 200: < 0.114702, 0.965787, -0.232592> + 201: < 0.114702, 0.965787, -0.232592> + 202: < 0.114702, 0.965787, -0.232592> + 203: < 0.114702, 0.965787, -0.232592> + 204: < 0.313080, 0.706349, -0.634864> + 205: < 0.313080, 0.706349, -0.634864> + 206: < 0.313080, 0.706349, -0.634864> + 207: < 0.313080, 0.706349, -0.634864> + 208: < 0.427279, 0.258302, -0.866437> + 209: < 0.427279, 0.258302, -0.866437> + 210: < 0.427279, 0.258302, -0.866437> + 211: < 0.427279, 0.258302, -0.866437> + 212: <-0.227536, 0.706349, 0.670298> + 213: <-0.227536, 0.706349, 0.670298> + 214: <-0.227536, 0.706349, 0.670298> + 215: <-0.227536, 0.706349, 0.670298> + 216: <-0.083361, 0.965787, 0.245574> + 217: <-0.083361, 0.965787, 0.245574> + 218: <-0.083361, 0.965787, 0.245574> + 219: <-0.083361, 0.965787, 0.245574> + 220: < 0.083361, 0.965787, -0.245574> + 221: < 0.083361, 0.965787, -0.245574> + 222: < 0.083361, 0.965787, -0.245574> + 223: < 0.083361, 0.965787, -0.245574> + 224: < 0.227536, 0.706348, -0.670298> + 225: < 0.227536, 0.706348, -0.670298> + 226: < 0.227536, 0.706348, -0.670298> + 227: < 0.227536, 0.706348, -0.670298> + 228: < 0.310531, 0.258301, -0.914796> + 229: < 0.310531, 0.258301, -0.914796> + 230: < 0.310531, 0.258301, -0.914796> + 231: < 0.310531, 0.258301, -0.914796> + 232: < 0.310531, -0.258301, -0.914796> + 233: < 0.310531, -0.258301, -0.914796> + 234: < 0.310531, -0.258301, -0.914796> + 235: < 0.310531, -0.258301, -0.914796> + 236: <-0.050594, 0.965787, 0.254354> + 237: <-0.050594, 0.965787, 0.254354> + 238: <-0.050594, 0.965787, 0.254354> + 239: <-0.050594, 0.965787, 0.254354> + 240: < 0.050594, 0.965787, -0.254354> + 241: < 0.050594, 0.965787, -0.254354> + 242: < 0.050594, 0.965787, -0.254354> + 243: < 0.050594, 0.965787, -0.254354> + 244: < 0.138097, 0.706349, -0.694263> + 245: < 0.138097, 0.706349, -0.694263> + 246: < 0.138097, 0.706349, -0.694263> + 247: < 0.138097, 0.706349, -0.694263> + 248: < 0.188470, 0.258302, -0.947502> + 249: < 0.188470, 0.258302, -0.947502> + 250: < 0.188470, 0.258302, -0.947502> + 251: < 0.188470, 0.258302, -0.947502> + 252: < 0.188470, -0.258302, -0.947502> + 253: < 0.188470, -0.258302, -0.947502> + 254: < 0.188470, -0.258302, -0.947502> + 255: < 0.188470, -0.258302, -0.947502> + 256: <-0.016961, 0.965787, 0.258782> + 257: <-0.016961, 0.965787, 0.258782> + 258: <-0.016961, 0.965787, 0.258782> + 259: <-0.016961, 0.965787, 0.258782> + 260: < 0.016962, 0.965787, -0.258782> + 261: < 0.016962, 0.965787, -0.258782> + 262: < 0.016962, 0.965787, -0.258782> + 263: < 0.016962, 0.965787, -0.258782> + 264: < 0.046297, 0.706349, -0.706348> + 265: < 0.046297, 0.706349, -0.706348> + 266: < 0.046297, 0.706349, -0.706348> + 267: < 0.046297, 0.706349, -0.706348> + 268: < 0.063184, 0.258301, -0.963996> + 269: < 0.063184, 0.258301, -0.963996> + 270: < 0.063184, 0.258301, -0.963996> + 271: < 0.063184, 0.258301, -0.963996> + 272: < 0.063184, -0.258301, -0.963996> + 273: < 0.063184, -0.258301, -0.963996> + 274: < 0.063184, -0.258301, -0.963996> + 275: < 0.063184, -0.258301, -0.963996> + 276: < 0.016962, 0.965787, 0.258782> + 277: < 0.016962, 0.965787, 0.258782> + 278: < 0.016962, 0.965787, 0.258782> + 279: < 0.016962, 0.965787, 0.258782> + 280: <-0.016961, 0.965787, -0.258782> + 281: <-0.016961, 0.965787, -0.258782> + 282: <-0.016961, 0.965787, -0.258782> + 283: <-0.016961, 0.965787, -0.258782> + 284: <-0.046297, 0.706349, -0.706348> + 285: <-0.046297, 0.706349, -0.706348> + 286: <-0.046297, 0.706349, -0.706348> + 287: <-0.046297, 0.706349, -0.706348> + 288: <-0.063184, 0.258301, -0.963996> + 289: <-0.063184, 0.258301, -0.963996> + 290: <-0.063184, 0.258301, -0.963996> + 291: <-0.063184, 0.258301, -0.963996> + 292: <-0.063184, -0.258301, -0.963996> + 293: <-0.063184, -0.258301, -0.963996> + 294: <-0.063184, -0.258301, -0.963996> + 295: <-0.063184, -0.258301, -0.963996> + 296: <-0.046297, -0.706349, -0.706348> + 297: <-0.046297, -0.706349, -0.706348> + 298: <-0.046297, -0.706349, -0.706348> + 299: <-0.046297, -0.706349, -0.706348> + 300: < 0.050594, 0.965787, 0.254354> + 301: < 0.050594, 0.965787, 0.254354> + 302: < 0.050594, 0.965787, 0.254354> + 303: < 0.050594, 0.965787, 0.254354> + 304: <-0.050594, 0.965787, -0.254354> + 305: <-0.050594, 0.965787, -0.254354> + 306: <-0.050594, 0.965787, -0.254354> + 307: <-0.050594, 0.965787, -0.254354> + 308: <-0.138097, 0.706349, -0.694263> + 309: <-0.138097, 0.706349, -0.694263> + 310: <-0.138097, 0.706349, -0.694263> + 311: <-0.138097, 0.706349, -0.694263> + 312: <-0.188470, 0.258301, -0.947502> + 313: <-0.188470, 0.258301, -0.947502> + 314: <-0.188470, 0.258301, -0.947502> + 315: <-0.188470, 0.258301, -0.947502> + 316: <-0.188470, -0.258301, -0.947502> + 317: <-0.188470, -0.258301, -0.947502> + 318: <-0.188470, -0.258301, -0.947502> + 319: <-0.188470, -0.258301, -0.947502> + 320: <-0.138097, -0.706349, -0.694263> + 321: <-0.138097, -0.706349, -0.694263> + 322: <-0.138097, -0.706349, -0.694263> + 323: <-0.138097, -0.706349, -0.694263> + 324: < 0.083361, 0.965787, 0.245574> + 325: < 0.083361, 0.965787, 0.245574> + 326: < 0.083361, 0.965787, 0.245574> + 327: < 0.083361, 0.965787, 0.245574> + 328: <-0.083361, 0.965787, -0.245574> + 329: <-0.083361, 0.965787, -0.245574> + 330: <-0.083361, 0.965787, -0.245574> + 331: <-0.083361, 0.965787, -0.245574> + 332: <-0.227536, 0.706349, -0.670298> + 333: <-0.227536, 0.706349, -0.670298> + 334: <-0.227536, 0.706349, -0.670298> + 335: <-0.227536, 0.706349, -0.670298> + 336: <-0.310531, 0.258301, -0.914796> + 337: <-0.310531, 0.258301, -0.914796> + 338: <-0.310531, 0.258301, -0.914796> + 339: <-0.310531, 0.258301, -0.914796> + 340: <-0.310531, -0.258301, -0.914796> + 341: <-0.310531, -0.258301, -0.914796> + 342: <-0.310531, -0.258301, -0.914796> + 343: <-0.310531, -0.258301, -0.914796> + 344: <-0.227536, -0.706349, -0.670298> + 345: <-0.227536, -0.706349, -0.670298> + 346: <-0.227536, -0.706349, -0.670298> + 347: <-0.227536, -0.706349, -0.670298> + 348: < 0.114702, 0.965787, 0.232592> + 349: < 0.114702, 0.965787, 0.232592> + 350: < 0.114702, 0.965787, 0.232592> + 351: < 0.114702, 0.965787, 0.232592> + 352: <-0.114702, 0.965787, -0.232593> + 353: <-0.114702, 0.965787, -0.232593> + 354: <-0.114702, 0.965787, -0.232593> + 355: <-0.114702, 0.965787, -0.232593> + 356: <-0.313080, 0.706349, -0.634864> + 357: <-0.313080, 0.706349, -0.634864> + 358: <-0.313080, 0.706349, -0.634864> + 359: <-0.313080, 0.706349, -0.634864> + 360: <-0.427279, 0.258302, -0.866437> + 361: <-0.427279, 0.258302, -0.866437> + 362: <-0.427279, 0.258302, -0.866437> + 363: <-0.427279, 0.258302, -0.866437> + 364: <-0.427279, -0.258302, -0.866437> + 365: <-0.427279, -0.258302, -0.866437> + 366: <-0.427279, -0.258302, -0.866437> + 367: <-0.427279, -0.258302, -0.866437> + 368: <-0.313080, -0.706349, -0.634864> + 369: <-0.313080, -0.706349, -0.634864> + 370: <-0.313080, -0.706349, -0.634864> + 371: <-0.313080, -0.706349, -0.634864> + 372: < 0.144080, 0.965787, 0.215631> + 373: < 0.144080, 0.965787, 0.215631> + 374: < 0.144080, 0.965787, 0.215631> + 375: < 0.144080, 0.965787, 0.215631> + 376: <-0.144080, 0.965787, -0.215631> + 377: <-0.144080, 0.965787, -0.215631> + 378: <-0.144080, 0.965787, -0.215631> + 379: <-0.144080, 0.965787, -0.215631> + 380: <-0.393268, 0.706349, -0.588567> + 381: <-0.393268, 0.706349, -0.588567> + 382: <-0.393268, 0.706349, -0.588567> + 383: <-0.393268, 0.706349, -0.588567> + 384: <-0.393268, -0.706349, -0.588567> + 385: <-0.393268, -0.706349, -0.588567> + 386: <-0.393268, -0.706349, -0.588567> + 387: <-0.393268, -0.706349, -0.588567> + 388: <-0.947502, 0.258302, -0.188469> + 389: <-0.947502, 0.258302, -0.188469> + 390: <-0.947502, 0.258302, -0.188469> + 391: <-0.947502, 0.258302, -0.188469> + 392: <-0.694263, 0.706349, -0.138098> + 393: <-0.694263, 0.706349, -0.138098> + 394: <-0.694263, 0.706349, -0.138098> + 395: <-0.694263, 0.706349, -0.138098> + 396: <-0.254354, 0.965787, -0.050594> + 397: <-0.254354, 0.965787, -0.050594> + 398: <-0.254354, 0.965787, -0.050594> + 399: <-0.254354, 0.965787, -0.050594> + 400: < 0.254354, 0.965787, 0.050594> + 401: < 0.254354, 0.965787, 0.050594> + 402: < 0.254354, 0.965787, 0.050594> + 403: < 0.254354, 0.965787, 0.050594> + 404: <-0.694263, -0.706349, -0.138098> + 405: <-0.694263, -0.706349, -0.138098> + 406: <-0.694263, -0.706349, -0.138098> + 407: <-0.694263, -0.706349, -0.138098> + 408: <-0.947502, -0.258302, -0.188469> + 409: <-0.947502, -0.258302, -0.188469> + 410: <-0.947502, -0.258302, -0.188469> + 411: <-0.947502, -0.258302, -0.188469> + 412: <-0.963996, 0.258302, -0.063184> + 413: <-0.963996, 0.258302, -0.063184> + 414: <-0.963996, 0.258302, -0.063184> + 415: <-0.963996, 0.258302, -0.063184> + 416: <-0.706349, 0.706349, -0.046297> + 417: <-0.706349, 0.706349, -0.046297> + 418: <-0.706349, 0.706349, -0.046297> + 419: <-0.706349, 0.706349, -0.046297> + 420: <-0.258782, 0.965787, -0.016961> + 421: <-0.258782, 0.965787, -0.016961> + 422: <-0.258782, 0.965787, -0.016961> + 423: <-0.258782, 0.965787, -0.016961> + 424: < 0.258782, 0.965787, 0.016961> + 425: < 0.258782, 0.965787, 0.016961> + 426: < 0.258782, 0.965787, 0.016961> + 427: < 0.258782, 0.965787, 0.016961> + 428: <-0.706349, -0.706349, -0.046297> + 429: <-0.706349, -0.706349, -0.046297> + 430: <-0.706349, -0.706349, -0.046297> + 431: <-0.706349, -0.706349, -0.046297> + 432: <-0.963996, -0.258302, -0.063184> + 433: <-0.963996, -0.258302, -0.063184> + 434: <-0.963996, -0.258302, -0.063184> + 435: <-0.963996, -0.258302, -0.063184> + 436: < 0.706348, 0.706349, -0.046297> + 437: < 0.706348, 0.706349, -0.046297> + 438: < 0.706348, 0.706349, -0.046297> + 439: < 0.706348, 0.706349, -0.046297> + 440: < 0.963996, 0.258302, -0.063184> + 441: < 0.963996, 0.258302, -0.063184> + 442: < 0.963996, 0.258302, -0.063184> + 443: < 0.963996, 0.258302, -0.063184> + 444: < 0.963996, -0.258302, -0.063184> + 445: < 0.963996, -0.258302, -0.063184> + 446: < 0.963996, -0.258302, -0.063184> + 447: < 0.963996, -0.258302, -0.063184> + 448: < 0.706348, -0.706349, -0.046297> + 449: < 0.706348, -0.706349, -0.046297> + 450: < 0.706348, -0.706349, -0.046297> + 451: < 0.706348, -0.706349, -0.046297> + 452: < 0.258782, -0.965787, -0.016961> + 453: < 0.258782, -0.965787, -0.016961> + 454: < 0.258782, -0.965787, -0.016961> + 455: < 0.258782, -0.965787, -0.016961> + 456: <-0.258782, -0.965787, 0.016961> + 457: <-0.258782, -0.965787, 0.016961> + 458: <-0.258782, -0.965787, 0.016961> + 459: <-0.258782, -0.965787, 0.016961> + 460: < 0.694263, 0.706349, -0.138097> + 461: < 0.694263, 0.706349, -0.138097> + 462: < 0.694263, 0.706349, -0.138097> + 463: < 0.694263, 0.706349, -0.138097> + 464: < 0.947502, 0.258302, -0.188470> + 465: < 0.947502, 0.258302, -0.188470> + 466: < 0.947502, 0.258302, -0.188470> + 467: < 0.947502, 0.258302, -0.188470> + 468: < 0.947502, -0.258302, -0.188470> + 469: < 0.947502, -0.258302, -0.188470> + 470: < 0.947502, -0.258302, -0.188470> + 471: < 0.947502, -0.258302, -0.188470> + 472: < 0.694263, -0.706349, -0.138097> + 473: < 0.694263, -0.706349, -0.138097> + 474: < 0.694263, -0.706349, -0.138097> + 475: < 0.694263, -0.706349, -0.138097> + 476: < 0.254354, -0.965787, -0.050594> + 477: < 0.254354, -0.965787, -0.050594> + 478: < 0.254354, -0.965787, -0.050594> + 479: < 0.254354, -0.965787, -0.050594> + 480: <-0.254354, -0.965787, 0.050594> + 481: <-0.254354, -0.965787, 0.050594> + 482: <-0.254354, -0.965787, 0.050594> + 483: <-0.254354, -0.965787, 0.050594> + 484: < 0.670298, 0.706349, -0.227536> + 485: < 0.670298, 0.706349, -0.227536> + 486: < 0.670298, 0.706349, -0.227536> + 487: < 0.670298, 0.706349, -0.227536> + 488: < 0.914795, 0.258302, -0.310531> + 489: < 0.914795, 0.258302, -0.310531> + 490: < 0.914795, 0.258302, -0.310531> + 491: < 0.914795, 0.258302, -0.310531> + 492: < 0.914795, -0.258302, -0.310531> + 493: < 0.914795, -0.258302, -0.310531> + 494: < 0.914795, -0.258302, -0.310531> + 495: < 0.914795, -0.258302, -0.310531> + 496: < 0.670298, -0.706349, -0.227536> + 497: < 0.670298, -0.706349, -0.227536> + 498: < 0.670298, -0.706349, -0.227536> + 499: < 0.670298, -0.706349, -0.227536> + 500: < 0.245574, -0.965787, -0.083361> + 501: < 0.245574, -0.965787, -0.083361> + 502: < 0.245574, -0.965787, -0.083361> + 503: < 0.245574, -0.965787, -0.083361> + 504: <-0.245574, -0.965787, 0.083361> + 505: <-0.245574, -0.965787, 0.083361> + 506: <-0.245574, -0.965787, 0.083361> + 507: <-0.245574, -0.965787, 0.083361> + 508: < 0.634864, 0.706348, -0.313081> + 509: < 0.634864, 0.706348, -0.313081> + 510: < 0.634864, 0.706348, -0.313081> + 511: < 0.634864, 0.706348, -0.313081> + 512: < 0.866436, 0.258302, -0.427279> + 513: < 0.866436, 0.258302, -0.427279> + 514: < 0.866436, 0.258302, -0.427279> + 515: < 0.866436, 0.258302, -0.427279> + 516: < 0.866437, -0.258302, -0.427279> + 517: < 0.866437, -0.258302, -0.427279> + 518: < 0.866437, -0.258302, -0.427279> + 519: < 0.866437, -0.258302, -0.427279> + 520: < 0.634864, -0.706348, -0.313081> + 521: < 0.634864, -0.706348, -0.313081> + 522: < 0.634864, -0.706348, -0.313081> + 523: < 0.634864, -0.706348, -0.313081> + 524: < 0.232592, -0.965787, -0.114702> + 525: < 0.232592, -0.965787, -0.114702> + 526: < 0.232592, -0.965787, -0.114702> + 527: < 0.232592, -0.965787, -0.114702> + 528: <-0.232592, -0.965787, 0.114702> + 529: <-0.232592, -0.965787, 0.114702> + 530: <-0.232592, -0.965787, 0.114702> + 531: <-0.232592, -0.965787, 0.114702> + 532: < 0.588568, 0.706349, -0.393268> + 533: < 0.588568, 0.706349, -0.393268> + 534: < 0.588568, 0.706349, -0.393268> + 535: < 0.588568, 0.706349, -0.393268> + 536: < 0.803253, 0.258302, -0.536716> + 537: < 0.803253, 0.258302, -0.536716> + 538: < 0.803253, 0.258302, -0.536716> + 539: < 0.803253, 0.258302, -0.536716> + 540: < 0.803253, -0.258302, -0.536716> + 541: < 0.803253, -0.258302, -0.536716> + 542: < 0.803253, -0.258302, -0.536716> + 543: < 0.803253, -0.258302, -0.536716> + 544: < 0.588568, -0.706349, -0.393268> + 545: < 0.588568, -0.706349, -0.393268> + 546: < 0.588568, -0.706349, -0.393268> + 547: < 0.588568, -0.706349, -0.393268> + 548: < 0.215631, -0.965787, -0.144080> + 549: < 0.215631, -0.965787, -0.144080> + 550: < 0.215631, -0.965787, -0.144080> + 551: < 0.215631, -0.965787, -0.144080> + 552: <-0.215631, -0.965787, 0.144080> + 553: <-0.215631, -0.965787, 0.144080> + 554: <-0.215631, -0.965787, 0.144080> + 555: <-0.215631, -0.965787, 0.144080> + 556: < 0.726326, 0.258302, -0.636970> + 557: < 0.726326, 0.258302, -0.636970> + 558: < 0.726326, 0.258302, -0.636970> + 559: < 0.726326, 0.258302, -0.636970> + 560: < 0.726326, -0.258302, -0.636970> + 561: < 0.726326, -0.258302, -0.636970> + 562: < 0.726326, -0.258302, -0.636970> + 563: < 0.726326, -0.258302, -0.636970> + 564: < 0.532201, -0.706349, -0.466727> + 565: < 0.532201, -0.706349, -0.466727> + 566: < 0.532201, -0.706349, -0.466727> + 567: < 0.532201, -0.706349, -0.466727> + 568: < 0.194980, -0.965787, -0.170993> + 569: < 0.194980, -0.965787, -0.170993> + 570: < 0.194980, -0.965787, -0.170993> + 571: < 0.194980, -0.965787, -0.170993> + 572: <-0.194980, -0.965787, 0.170993> + 573: <-0.194980, -0.965787, 0.170993> + 574: <-0.194980, -0.965787, 0.170993> + 575: <-0.194980, -0.965787, 0.170993> + 576: <-0.532200, -0.706348, 0.466728> + 577: <-0.532200, -0.706348, 0.466728> + 578: <-0.532200, -0.706348, 0.466728> + 579: <-0.532200, -0.706348, 0.466728> + 580: < 0.636970, 0.258302, -0.726326> + 581: < 0.636970, 0.258302, -0.726326> + 582: < 0.636970, 0.258302, -0.726326> + 583: < 0.636970, 0.258302, -0.726326> + 584: < 0.636970, -0.258302, -0.726326> + 585: < 0.636970, -0.258302, -0.726326> + 586: < 0.636970, -0.258302, -0.726326> + 587: < 0.636970, -0.258302, -0.726326> + 588: < 0.466727, -0.706349, -0.532201> + 589: < 0.466727, -0.706349, -0.532201> + 590: < 0.466727, -0.706349, -0.532201> + 591: < 0.466727, -0.706349, -0.532201> + 592: < 0.170993, -0.965787, -0.194980> + 593: < 0.170993, -0.965787, -0.194980> + 594: < 0.170993, -0.965787, -0.194980> + 595: < 0.170993, -0.965787, -0.194980> + 596: <-0.170993, -0.965787, 0.194980> + 597: <-0.170993, -0.965787, 0.194980> + 598: <-0.170993, -0.965787, 0.194980> + 599: <-0.170993, -0.965787, 0.194980> + 600: <-0.466728, -0.706349, 0.532200> + 601: <-0.466728, -0.706349, 0.532200> + 602: <-0.466728, -0.706349, 0.532200> + 603: <-0.466728, -0.706349, 0.532200> + 604: < 0.536717, -0.258302, -0.803253> + 605: < 0.536717, -0.258302, -0.803253> + 606: < 0.536717, -0.258302, -0.803253> + 607: < 0.536717, -0.258302, -0.803253> + 608: < 0.393269, -0.706348, -0.588567> + 609: < 0.393269, -0.706348, -0.588567> + 610: < 0.393269, -0.706348, -0.588567> + 611: < 0.393269, -0.706348, -0.588567> + 612: < 0.144080, -0.965787, -0.215631> + 613: < 0.144080, -0.965787, -0.215631> + 614: < 0.144080, -0.965787, -0.215631> + 615: < 0.144080, -0.965787, -0.215631> + 616: <-0.144080, -0.965787, 0.215631> + 617: <-0.144080, -0.965787, 0.215631> + 618: <-0.144080, -0.965787, 0.215631> + 619: <-0.144080, -0.965787, 0.215631> + 620: <-0.393268, -0.706349, 0.588567> + 621: <-0.393268, -0.706349, 0.588567> + 622: <-0.393268, -0.706349, 0.588567> + 623: <-0.393268, -0.706349, 0.588567> + 624: <-0.536717, -0.258302, 0.803253> + 625: <-0.536717, -0.258302, 0.803253> + 626: <-0.536717, -0.258302, 0.803253> + 627: <-0.536717, -0.258302, 0.803253> + 628: <-0.427279, 0.258301, 0.866437> + 629: <-0.427279, 0.258301, 0.866437> + 630: <-0.427279, 0.258301, 0.866437> + 631: <-0.427279, 0.258301, 0.866437> + 632: < 0.427279, -0.258302, -0.866437> + 633: < 0.427279, -0.258302, -0.866437> + 634: < 0.427279, -0.258302, -0.866437> + 635: < 0.427279, -0.258302, -0.866437> + 636: < 0.313080, -0.706349, -0.634864> + 637: < 0.313080, -0.706349, -0.634864> + 638: < 0.313080, -0.706349, -0.634864> + 639: < 0.313080, -0.706349, -0.634864> + 640: < 0.114702, -0.965787, -0.232592> + 641: < 0.114702, -0.965787, -0.232592> + 642: < 0.114702, -0.965787, -0.232592> + 643: < 0.114702, -0.965787, -0.232592> + 644: <-0.114702, -0.965787, 0.232592> + 645: <-0.114702, -0.965787, 0.232592> + 646: <-0.114702, -0.965787, 0.232592> + 647: <-0.114702, -0.965787, 0.232592> + 648: <-0.313080, -0.706349, 0.634864> + 649: <-0.313080, -0.706349, 0.634864> + 650: <-0.313080, -0.706349, 0.634864> + 651: <-0.313080, -0.706349, 0.634864> + 652: <-0.427279, -0.258301, 0.866437> + 653: <-0.427279, -0.258301, 0.866437> + 654: <-0.427279, -0.258301, 0.866437> + 655: <-0.427279, -0.258301, 0.866437> + 656: <-0.310531, 0.258301, 0.914796> + 657: <-0.310531, 0.258301, 0.914796> + 658: <-0.310531, 0.258301, 0.914796> + 659: <-0.310531, 0.258301, 0.914796> + 660: < 0.227536, -0.706348, -0.670298> + 661: < 0.227536, -0.706348, -0.670298> + 662: < 0.227536, -0.706348, -0.670298> + 663: < 0.227536, -0.706348, -0.670298> + 664: < 0.083361, -0.965787, -0.245574> + 665: < 0.083361, -0.965787, -0.245574> + 666: < 0.083361, -0.965787, -0.245574> + 667: < 0.083361, -0.965787, -0.245574> + 668: <-0.083361, -0.965787, 0.245574> + 669: <-0.083361, -0.965787, 0.245574> + 670: <-0.083361, -0.965787, 0.245574> + 671: <-0.083361, -0.965787, 0.245574> + 672: <-0.227536, -0.706349, 0.670298> + 673: <-0.227536, -0.706349, 0.670298> + 674: <-0.227536, -0.706349, 0.670298> + 675: <-0.227536, -0.706349, 0.670298> + 676: <-0.310531, -0.258301, 0.914796> + 677: <-0.310531, -0.258301, 0.914796> + 678: <-0.310531, -0.258301, 0.914796> + 679: <-0.310531, -0.258301, 0.914796> + 680: <-0.188470, 0.258302, 0.947501> + 681: <-0.188470, 0.258302, 0.947501> + 682: <-0.188470, 0.258302, 0.947501> + 683: <-0.188470, 0.258302, 0.947501> + 684: <-0.138097, 0.706349, 0.694263> + 685: <-0.138097, 0.706349, 0.694263> + 686: <-0.138097, 0.706349, 0.694263> + 687: <-0.138097, 0.706349, 0.694263> + 688: < 0.138097, -0.706349, -0.694263> + 689: < 0.138097, -0.706349, -0.694263> + 690: < 0.138097, -0.706349, -0.694263> + 691: < 0.138097, -0.706349, -0.694263> + 692: < 0.050594, -0.965787, -0.254354> + 693: < 0.050594, -0.965787, -0.254354> + 694: < 0.050594, -0.965787, -0.254354> + 695: < 0.050594, -0.965787, -0.254354> + 696: <-0.050594, -0.965787, 0.254354> + 697: <-0.050594, -0.965787, 0.254354> + 698: <-0.050594, -0.965787, 0.254354> + 699: <-0.050594, -0.965787, 0.254354> + 700: <-0.138097, -0.706349, 0.694263> + 701: <-0.138097, -0.706349, 0.694263> + 702: <-0.138097, -0.706349, 0.694263> + 703: <-0.138097, -0.706349, 0.694263> + 704: <-0.188470, -0.258302, 0.947501> + 705: <-0.188470, -0.258302, 0.947501> + 706: <-0.188470, -0.258302, 0.947501> + 707: <-0.188470, -0.258302, 0.947501> + 708: <-0.063184, 0.258301, 0.963996> + 709: <-0.063184, 0.258301, 0.963996> + 710: <-0.063184, 0.258301, 0.963996> + 711: <-0.063184, 0.258301, 0.963996> + 712: <-0.046296, 0.706349, 0.706348> + 713: <-0.046296, 0.706349, 0.706348> + 714: <-0.046296, 0.706349, 0.706348> + 715: <-0.046296, 0.706349, 0.706348> + 716: < 0.046297, -0.706349, -0.706348> + 717: < 0.046297, -0.706349, -0.706348> + 718: < 0.046297, -0.706349, -0.706348> + 719: < 0.046297, -0.706349, -0.706348> + 720: < 0.016962, -0.965787, -0.258782> + 721: < 0.016962, -0.965787, -0.258782> + 722: < 0.016962, -0.965787, -0.258782> + 723: < 0.016962, -0.965787, -0.258782> + 724: <-0.016961, -0.965787, 0.258782> + 725: <-0.016961, -0.965787, 0.258782> + 726: <-0.016961, -0.965787, 0.258782> + 727: <-0.016961, -0.965787, 0.258782> + 728: <-0.046296, -0.706349, 0.706348> + 729: <-0.046296, -0.706349, 0.706348> + 730: <-0.046296, -0.706349, 0.706348> + 731: <-0.046296, -0.706349, 0.706348> + 732: <-0.063184, -0.258301, 0.963996> + 733: <-0.063184, -0.258301, 0.963996> + 734: <-0.063184, -0.258301, 0.963996> + 735: <-0.063184, -0.258301, 0.963996> + 736: < 0.063184, 0.258302, 0.963996> + 737: < 0.063184, 0.258302, 0.963996> + 738: < 0.063184, 0.258302, 0.963996> + 739: < 0.063184, 0.258302, 0.963996> + 740: < 0.046297, 0.706348, 0.706349> + 741: < 0.046297, 0.706348, 0.706349> + 742: < 0.046297, 0.706348, 0.706349> + 743: < 0.046297, 0.706348, 0.706349> + 744: <-0.016961, -0.965787, -0.258782> + 745: <-0.016961, -0.965787, -0.258782> + 746: <-0.016961, -0.965787, -0.258782> + 747: <-0.016961, -0.965787, -0.258782> + 748: < 0.016962, -0.965787, 0.258782> + 749: < 0.016962, -0.965787, 0.258782> + 750: < 0.016962, -0.965787, 0.258782> + 751: < 0.016962, -0.965787, 0.258782> + 752: < 0.046297, -0.706348, 0.706349> + 753: < 0.046297, -0.706348, 0.706349> + 754: < 0.046297, -0.706348, 0.706349> + 755: < 0.046297, -0.706348, 0.706349> + 756: < 0.063184, -0.258302, 0.963996> + 757: < 0.063184, -0.258302, 0.963996> + 758: < 0.063184, -0.258302, 0.963996> + 759: < 0.063184, -0.258302, 0.963996> + 760: < 0.188469, 0.258302, 0.947502> + 761: < 0.188469, 0.258302, 0.947502> + 762: < 0.188469, 0.258302, 0.947502> + 763: < 0.188469, 0.258302, 0.947502> + 764: < 0.138097, 0.706349, 0.694262> + 765: < 0.138097, 0.706349, 0.694262> + 766: < 0.138097, 0.706349, 0.694262> + 767: < 0.138097, 0.706349, 0.694262> + 768: <-0.050594, -0.965787, -0.254354> + 769: <-0.050594, -0.965787, -0.254354> + 770: <-0.050594, -0.965787, -0.254354> + 771: <-0.050594, -0.965787, -0.254354> + 772: < 0.050594, -0.965787, 0.254354> + 773: < 0.050594, -0.965787, 0.254354> + 774: < 0.050594, -0.965787, 0.254354> + 775: < 0.050594, -0.965787, 0.254354> + 776: < 0.138097, -0.706349, 0.694262> + 777: < 0.138097, -0.706349, 0.694262> + 778: < 0.138097, -0.706349, 0.694262> + 779: < 0.138097, -0.706349, 0.694262> + 780: < 0.188469, -0.258302, 0.947502> + 781: < 0.188469, -0.258302, 0.947502> + 782: < 0.188469, -0.258302, 0.947502> + 783: < 0.188469, -0.258302, 0.947502> + 784: < 0.310531, 0.258302, 0.914795> + 785: < 0.310531, 0.258302, 0.914795> + 786: < 0.310531, 0.258302, 0.914795> + 787: < 0.310531, 0.258302, 0.914795> + 788: < 0.227535, 0.706349, 0.670298> + 789: < 0.227535, 0.706349, 0.670298> + 790: < 0.227535, 0.706349, 0.670298> + 791: < 0.227535, 0.706349, 0.670298> + 792: <-0.083361, -0.965787, -0.245574> + 793: <-0.083361, -0.965787, -0.245574> + 794: <-0.083361, -0.965787, -0.245574> + 795: <-0.083361, -0.965787, -0.245574> + 796: < 0.083361, -0.965787, 0.245574> + 797: < 0.083361, -0.965787, 0.245574> + 798: < 0.083361, -0.965787, 0.245574> + 799: < 0.083361, -0.965787, 0.245574> + 800: < 0.227535, -0.706349, 0.670298> + 801: < 0.227535, -0.706349, 0.670298> + 802: < 0.227535, -0.706349, 0.670298> + 803: < 0.227535, -0.706349, 0.670298> + 804: < 0.310531, -0.258302, 0.914795> + 805: < 0.310531, -0.258302, 0.914795> + 806: < 0.310531, -0.258302, 0.914795> + 807: < 0.310531, -0.258302, 0.914795> + 808: < 0.427279, 0.258303, 0.866437> + 809: < 0.427279, 0.258303, 0.866437> + 810: < 0.427279, 0.258303, 0.866437> + 811: < 0.427279, 0.258303, 0.866437> + 812: < 0.313081, 0.706348, 0.634865> + 813: < 0.313081, 0.706348, 0.634865> + 814: < 0.313081, 0.706348, 0.634865> + 815: < 0.313081, 0.706348, 0.634865> + 816: <-0.114702, -0.965787, -0.232592> + 817: <-0.114702, -0.965787, -0.232592> + 818: <-0.114702, -0.965787, -0.232592> + 819: <-0.114702, -0.965787, -0.232592> + 820: < 0.114702, -0.965787, 0.232592> + 821: < 0.114702, -0.965787, 0.232592> + 822: < 0.114702, -0.965787, 0.232592> + 823: < 0.114702, -0.965787, 0.232592> + 824: < 0.313080, -0.706348, 0.634865> + 825: < 0.313080, -0.706348, 0.634865> + 826: < 0.313080, -0.706348, 0.634865> + 827: < 0.313080, -0.706348, 0.634865> + 828: < 0.427279, -0.258303, 0.866437> + 829: < 0.427279, -0.258303, 0.866437> + 830: < 0.427279, -0.258303, 0.866437> + 831: < 0.427279, -0.258303, 0.866437> + 832: < 0.536717, 0.258302, 0.803253> + 833: < 0.536717, 0.258302, 0.803253> + 834: < 0.536717, 0.258302, 0.803253> + 835: < 0.536717, 0.258302, 0.803253> + 836: < 0.393268, 0.706349, 0.588567> + 837: < 0.393268, 0.706349, 0.588567> + 838: < 0.393268, 0.706349, 0.588567> + 839: < 0.393268, 0.706349, 0.588567> + 840: <-0.536717, 0.258302, -0.803253> + 841: <-0.536717, 0.258302, -0.803253> + 842: <-0.536717, 0.258302, -0.803253> + 843: <-0.536717, 0.258302, -0.803253> + 844: <-0.536717, -0.258302, -0.803253> + 845: <-0.536717, -0.258302, -0.803253> + 846: <-0.536717, -0.258302, -0.803253> + 847: <-0.536717, -0.258302, -0.803253> + 848: <-0.144080, -0.965787, -0.215631> + 849: <-0.144080, -0.965787, -0.215631> + 850: <-0.144080, -0.965787, -0.215631> + 851: <-0.144080, -0.965787, -0.215631> + 852: < 0.144080, -0.965787, 0.215631> + 853: < 0.144080, -0.965787, 0.215631> + 854: < 0.144080, -0.965787, 0.215631> + 855: < 0.144080, -0.965787, 0.215631> + 856: < 0.393268, -0.706349, 0.588567> + 857: < 0.393268, -0.706349, 0.588567> + 858: < 0.393268, -0.706349, 0.588567> + 859: < 0.393268, -0.706349, 0.588567> + 860: < 0.536717, -0.258302, 0.803253> + 861: < 0.536717, -0.258302, 0.803253> + 862: < 0.536717, -0.258302, 0.803253> + 863: < 0.536717, -0.258302, 0.803253> + 864: < 0.636970, 0.258302, 0.726326> + 865: < 0.636970, 0.258302, 0.726326> + 866: < 0.636970, 0.258302, 0.726326> + 867: < 0.636970, 0.258302, 0.726326> + 868: < 0.466727, 0.706349, 0.532201> + 869: < 0.466727, 0.706349, 0.532201> + 870: < 0.466727, 0.706349, 0.532201> + 871: < 0.466727, 0.706349, 0.532201> + 872: < 0.170993, 0.965787, 0.194980> + 873: < 0.170993, 0.965787, 0.194980> + 874: < 0.170993, 0.965787, 0.194980> + 875: < 0.170993, 0.965787, 0.194980> + 876: <-0.170993, 0.965787, -0.194980> + 877: <-0.170993, 0.965787, -0.194980> + 878: <-0.170993, 0.965787, -0.194980> + 879: <-0.170993, 0.965787, -0.194980> + 880: <-0.466727, 0.706349, -0.532200> + 881: <-0.466727, 0.706349, -0.532200> + 882: <-0.466727, 0.706349, -0.532200> + 883: <-0.466727, 0.706349, -0.532200> + 884: <-0.636971, 0.258301, -0.726325> + 885: <-0.636971, 0.258301, -0.726325> + 886: <-0.636971, 0.258301, -0.726325> + 887: <-0.636971, 0.258301, -0.726325> + 888: <-0.636971, -0.258302, -0.726325> + 889: <-0.636971, -0.258302, -0.726325> + 890: <-0.636971, -0.258302, -0.726325> + 891: <-0.636971, -0.258302, -0.726325> + 892: <-0.466727, -0.706349, -0.532200> + 893: <-0.466727, -0.706349, -0.532200> + 894: <-0.466727, -0.706349, -0.532200> + 895: <-0.466727, -0.706349, -0.532200> + 896: <-0.170993, -0.965787, -0.194980> + 897: <-0.170993, -0.965787, -0.194980> + 898: <-0.170993, -0.965787, -0.194980> + 899: <-0.170993, -0.965787, -0.194980> + 900: < 0.170993, -0.965787, 0.194980> + 901: < 0.170993, -0.965787, 0.194980> + 902: < 0.170993, -0.965787, 0.194980> + 903: < 0.170993, -0.965787, 0.194980> + 904: < 0.466727, -0.706349, 0.532201> + 905: < 0.466727, -0.706349, 0.532201> + 906: < 0.466727, -0.706349, 0.532201> + 907: < 0.466727, -0.706349, 0.532201> + 908: < 0.636970, -0.258302, 0.726326> + 909: < 0.636970, -0.258302, 0.726326> + 910: < 0.636970, -0.258302, 0.726326> + 911: < 0.636970, -0.258302, 0.726326> + 912: < 0.726326, 0.258301, 0.636970> + 913: < 0.726326, 0.258301, 0.636970> + 914: < 0.726326, 0.258301, 0.636970> + 915: < 0.726326, 0.258301, 0.636970> + 916: < 0.532200, 0.706349, 0.466727> + 917: < 0.532200, 0.706349, 0.466727> + 918: < 0.532200, 0.706349, 0.466727> + 919: < 0.532200, 0.706349, 0.466727> + 920: < 0.194980, 0.965787, 0.170993> + 921: < 0.194980, 0.965787, 0.170993> + 922: < 0.194980, 0.965787, 0.170993> + 923: < 0.194980, 0.965787, 0.170993> + 924: <-0.194980, 0.965787, -0.170993> + 925: <-0.194980, 0.965787, -0.170993> + 926: <-0.194980, 0.965787, -0.170993> + 927: <-0.194980, 0.965787, -0.170993> + 928: <-0.532200, 0.706349, -0.466727> + 929: <-0.532200, 0.706349, -0.466727> + 930: <-0.532200, 0.706349, -0.466727> + 931: <-0.532200, 0.706349, -0.466727> + 932: <-0.726325, 0.258302, -0.636971> + 933: <-0.726325, 0.258302, -0.636971> + 934: <-0.726325, 0.258302, -0.636971> + 935: <-0.726325, 0.258302, -0.636971> + 936: <-0.726325, -0.258302, -0.636971> + 937: <-0.726325, -0.258302, -0.636971> + 938: <-0.726325, -0.258302, -0.636971> + 939: <-0.726325, -0.258302, -0.636971> + 940: <-0.532200, -0.706349, -0.466727> + 941: <-0.532200, -0.706349, -0.466727> + 942: <-0.532200, -0.706349, -0.466727> + 943: <-0.532200, -0.706349, -0.466727> + 944: <-0.194980, -0.965787, -0.170993> + 945: <-0.194980, -0.965787, -0.170993> + 946: <-0.194980, -0.965787, -0.170993> + 947: <-0.194980, -0.965787, -0.170993> + 948: < 0.194980, -0.965787, 0.170993> + 949: < 0.194980, -0.965787, 0.170993> + 950: < 0.194980, -0.965787, 0.170993> + 951: < 0.194980, -0.965787, 0.170993> + 952: < 0.532201, -0.706349, 0.466727> + 953: < 0.532201, -0.706349, 0.466727> + 954: < 0.532201, -0.706349, 0.466727> + 955: < 0.532201, -0.706349, 0.466727> + 956: < 0.726326, -0.258301, 0.636970> + 957: < 0.726326, -0.258301, 0.636970> + 958: < 0.726326, -0.258301, 0.636970> + 959: < 0.726326, -0.258301, 0.636970> + 960: < 0.803253, 0.258302, 0.536717> + 961: < 0.803253, 0.258302, 0.536717> + 962: < 0.803253, 0.258302, 0.536717> + 963: < 0.803253, 0.258302, 0.536717> + 964: < 0.588567, 0.706349, 0.393269> + 965: < 0.588567, 0.706349, 0.393269> + 966: < 0.588567, 0.706349, 0.393269> + 967: < 0.588567, 0.706349, 0.393269> + 968: < 0.215631, 0.965787, 0.144080> + 969: < 0.215631, 0.965787, 0.144080> + 970: < 0.215631, 0.965787, 0.144080> + 971: < 0.215631, 0.965787, 0.144080> + 972: <-0.215631, 0.965787, -0.144080> + 973: <-0.215631, 0.965787, -0.144080> + 974: <-0.215631, 0.965787, -0.144080> + 975: <-0.215631, 0.965787, -0.144080> + 976: <-0.588568, 0.706348, -0.393268> + 977: <-0.588568, 0.706348, -0.393268> + 978: <-0.588568, 0.706348, -0.393268> + 979: <-0.588568, 0.706348, -0.393268> + 980: <-0.803253, 0.258302, -0.536716> + 981: <-0.803253, 0.258302, -0.536716> + 982: <-0.803253, 0.258302, -0.536716> + 983: <-0.803253, 0.258302, -0.536716> + 984: <-0.803253, -0.258302, -0.536716> + 985: <-0.803253, -0.258302, -0.536716> + 986: <-0.803253, -0.258302, -0.536716> + 987: <-0.803253, -0.258302, -0.536716> + 988: <-0.588568, -0.706349, -0.393268> + 989: <-0.588568, -0.706349, -0.393268> + 990: <-0.588568, -0.706349, -0.393268> + 991: <-0.588568, -0.706349, -0.393268> + 992: <-0.215631, -0.965787, -0.144080> + 993: <-0.215631, -0.965787, -0.144080> + 994: <-0.215631, -0.965787, -0.144080> + 995: <-0.215631, -0.965787, -0.144080> + 996: < 0.215631, -0.965787, 0.144080> + 997: < 0.215631, -0.965787, 0.144080> + 998: < 0.215631, -0.965787, 0.144080> + 999: < 0.215631, -0.965787, 0.144080> + 1000: < 0.588567, -0.706349, 0.393269> + 1001: < 0.588567, -0.706349, 0.393269> + 1002: < 0.588567, -0.706349, 0.393269> + 1003: < 0.588567, -0.706349, 0.393269> + 1004: < 0.803253, -0.258302, 0.536717> + 1005: < 0.803253, -0.258302, 0.536717> + 1006: < 0.803253, -0.258302, 0.536717> + 1007: < 0.803253, -0.258302, 0.536717> + 1008: < 0.866437, 0.258302, 0.427279> + 1009: < 0.866437, 0.258302, 0.427279> + 1010: < 0.866437, 0.258302, 0.427279> + 1011: < 0.866437, 0.258302, 0.427279> + 1012: < 0.634864, 0.706348, 0.313081> + 1013: < 0.634864, 0.706348, 0.313081> + 1014: < 0.634864, 0.706348, 0.313081> + 1015: < 0.634864, 0.706348, 0.313081> + 1016: < 0.232592, 0.965787, 0.114702> + 1017: < 0.232592, 0.965787, 0.114702> + 1018: < 0.232592, 0.965787, 0.114702> + 1019: < 0.232592, 0.965787, 0.114702> + 1020: <-0.232592, 0.965787, -0.114702> + 1021: <-0.232592, 0.965787, -0.114702> + 1022: <-0.232592, 0.965787, -0.114702> + 1023: <-0.232592, 0.965787, -0.114702> + 1024: <-0.634864, 0.706349, -0.313080> + 1025: <-0.634864, 0.706349, -0.313080> + 1026: <-0.634864, 0.706349, -0.313080> + 1027: <-0.634864, 0.706349, -0.313080> + 1028: <-0.866437, 0.258302, -0.427280> + 1029: <-0.866437, 0.258302, -0.427280> + 1030: <-0.866437, 0.258302, -0.427280> + 1031: <-0.866437, 0.258302, -0.427280> + 1032: <-0.866437, -0.258302, -0.427280> + 1033: <-0.866437, -0.258302, -0.427280> + 1034: <-0.866437, -0.258302, -0.427280> + 1035: <-0.866437, -0.258302, -0.427280> + 1036: <-0.634864, -0.706349, -0.313080> + 1037: <-0.634864, -0.706349, -0.313080> + 1038: <-0.634864, -0.706349, -0.313080> + 1039: <-0.634864, -0.706349, -0.313080> + 1040: <-0.232592, -0.965787, -0.114702> + 1041: <-0.232592, -0.965787, -0.114702> + 1042: <-0.232592, -0.965787, -0.114702> + 1043: <-0.232592, -0.965787, -0.114702> + 1044: < 0.232592, -0.965787, 0.114702> + 1045: < 0.232592, -0.965787, 0.114702> + 1046: < 0.232592, -0.965787, 0.114702> + 1047: < 0.232592, -0.965787, 0.114702> + 1048: < 0.634864, -0.706348, 0.313081> + 1049: < 0.634864, -0.706348, 0.313081> + 1050: < 0.634864, -0.706348, 0.313081> + 1051: < 0.634864, -0.706348, 0.313081> + 1052: < 0.866437, -0.258302, 0.427279> + 1053: < 0.866437, -0.258302, 0.427279> + 1054: < 0.866437, -0.258302, 0.427279> + 1055: < 0.866437, -0.258302, 0.427279> + 1056: < 0.914795, 0.258302, 0.310532> + 1057: < 0.914795, 0.258302, 0.310532> + 1058: < 0.914795, 0.258302, 0.310532> + 1059: < 0.914795, 0.258302, 0.310532> + 1060: < 0.670298, 0.706349, 0.227536> + 1061: < 0.670298, 0.706349, 0.227536> + 1062: < 0.670298, 0.706349, 0.227536> + 1063: < 0.670298, 0.706349, 0.227536> + 1064: < 0.245574, 0.965787, 0.083361> + 1065: < 0.245574, 0.965787, 0.083361> + 1066: < 0.245574, 0.965787, 0.083361> + 1067: < 0.245574, 0.965787, 0.083361> + 1068: <-0.245574, 0.965787, -0.083361> + 1069: <-0.245574, 0.965787, -0.083361> + 1070: <-0.245574, 0.965787, -0.083361> + 1071: <-0.245574, 0.965787, -0.083361> + 1072: <-0.670298, 0.706349, -0.227536> + 1073: <-0.670298, 0.706349, -0.227536> + 1074: <-0.670298, 0.706349, -0.227536> + 1075: <-0.670298, 0.706349, -0.227536> + 1076: <-0.914795, 0.258302, -0.310532> + 1077: <-0.914795, 0.258302, -0.310532> + 1078: <-0.914795, 0.258302, -0.310532> + 1079: <-0.914795, 0.258302, -0.310532> + 1080: <-0.914795, -0.258302, -0.310532> + 1081: <-0.914795, -0.258302, -0.310532> + 1082: <-0.914795, -0.258302, -0.310532> + 1083: <-0.914795, -0.258302, -0.310532> + 1084: <-0.670298, -0.706349, -0.227536> + 1085: <-0.670298, -0.706349, -0.227536> + 1086: <-0.670298, -0.706349, -0.227536> + 1087: <-0.670298, -0.706349, -0.227536> + 1088: <-0.245574, -0.965787, -0.083361> + 1089: <-0.245574, -0.965787, -0.083361> + 1090: <-0.245574, -0.965787, -0.083361> + 1091: <-0.245574, -0.965787, -0.083361> + 1092: < 0.245574, -0.965787, 0.083361> + 1093: < 0.245574, -0.965787, 0.083361> + 1094: < 0.245574, -0.965787, 0.083361> + 1095: < 0.245574, -0.965787, 0.083361> + 1096: < 0.670298, -0.706349, 0.227536> + 1097: < 0.670298, -0.706349, 0.227536> + 1098: < 0.670298, -0.706349, 0.227536> + 1099: < 0.670298, -0.706349, 0.227536> + 1100: < 0.914795, -0.258302, 0.310532> + 1101: < 0.914795, -0.258302, 0.310532> + 1102: < 0.914795, -0.258302, 0.310532> + 1103: < 0.914795, -0.258302, 0.310532> + 1104: < 0.947502, 0.258302, 0.188469> + 1105: < 0.947502, 0.258302, 0.188469> + 1106: < 0.947502, 0.258302, 0.188469> + 1107: < 0.947502, 0.258302, 0.188469> + 1108: < 0.694263, 0.706349, 0.138097> + 1109: < 0.694263, 0.706349, 0.138097> + 1110: < 0.694263, 0.706349, 0.138097> + 1111: < 0.694263, 0.706349, 0.138097> + 1112: < 0.254354, 0.965787, 0.050594> + 1113: < 0.254354, 0.965787, 0.050594> + 1114: < 0.254354, 0.965787, 0.050594> + 1115: < 0.254354, 0.965787, 0.050594> + 1116: <-0.254354, 0.965787, -0.050594> + 1117: <-0.254354, 0.965787, -0.050594> + 1118: <-0.254354, 0.965787, -0.050594> + 1119: <-0.254354, 0.965787, -0.050594> + 1120: <-0.694263, 0.706349, -0.138097> + 1121: <-0.694263, 0.706349, -0.138097> + 1122: <-0.694263, 0.706349, -0.138097> + 1123: <-0.694263, 0.706349, -0.138097> + 1124: <-0.947502, 0.258302, -0.188469> + 1125: <-0.947502, 0.258302, -0.188469> + 1126: <-0.947502, 0.258302, -0.188469> + 1127: <-0.947502, 0.258302, -0.188469> + 1128: <-0.947502, -0.258302, -0.188469> + 1129: <-0.947502, -0.258302, -0.188469> + 1130: <-0.947502, -0.258302, -0.188469> + 1131: <-0.947502, -0.258302, -0.188469> + 1132: <-0.694263, -0.706349, -0.138097> + 1133: <-0.694263, -0.706349, -0.138097> + 1134: <-0.694263, -0.706349, -0.138097> + 1135: <-0.694263, -0.706349, -0.138097> + 1136: <-0.254354, -0.965787, -0.050594> + 1137: <-0.254354, -0.965787, -0.050594> + 1138: <-0.254354, -0.965787, -0.050594> + 1139: <-0.254354, -0.965787, -0.050594> + 1140: < 0.254354, -0.965787, 0.050594> + 1141: < 0.254354, -0.965787, 0.050594> + 1142: < 0.254354, -0.965787, 0.050594> + 1143: < 0.254354, -0.965787, 0.050594> + 1144: < 0.694263, -0.706349, 0.138097> + 1145: < 0.694263, -0.706349, 0.138097> + 1146: < 0.694263, -0.706349, 0.138097> + 1147: < 0.694263, -0.706349, 0.138097> + 1148: < 0.947502, -0.258302, 0.188469> + 1149: < 0.947502, -0.258302, 0.188469> + 1150: < 0.947502, -0.258302, 0.188469> + 1151: < 0.947502, -0.258302, 0.188469> + 1152: < 0.963996, 0.258302, 0.063184> + 1153: < 0.963996, 0.258302, 0.063184> + 1154: < 0.963996, 0.258302, 0.063184> + 1155: < 0.963996, 0.258302, 0.063184> + 1156: < 0.706348, 0.706349, 0.046297> + 1157: < 0.706348, 0.706349, 0.046297> + 1158: < 0.706348, 0.706349, 0.046297> + 1159: < 0.706348, 0.706349, 0.046297> + 1160: < 0.258782, 0.965787, 0.016962> + 1161: < 0.258782, 0.965787, 0.016962> + 1162: < 0.258782, 0.965787, 0.016962> + 1163: < 0.258782, 0.965787, 0.016962> + 1164: <-0.258782, 0.965787, -0.016962> + 1165: <-0.258782, 0.965787, -0.016962> + 1166: <-0.258782, 0.965787, -0.016962> + 1167: <-0.258782, 0.965787, -0.016962> + 1168: <-0.706349, 0.706349, -0.046297> + 1169: <-0.706349, 0.706349, -0.046297> + 1170: <-0.706349, 0.706349, -0.046297> + 1171: <-0.706349, 0.706349, -0.046297> + 1172: <-0.963996, 0.258302, -0.063184> + 1173: <-0.963996, 0.258302, -0.063184> + 1174: <-0.963996, 0.258302, -0.063184> + 1175: <-0.963996, 0.258302, -0.063184> + 1176: <-0.963996, -0.258302, -0.063184> + 1177: <-0.963996, -0.258302, -0.063184> + 1178: <-0.963996, -0.258302, -0.063184> + 1179: <-0.963996, -0.258302, -0.063184> + 1180: <-0.706349, -0.706349, -0.046297> + 1181: <-0.706349, -0.706349, -0.046297> + 1182: <-0.706349, -0.706349, -0.046297> + 1183: <-0.706349, -0.706349, -0.046297> + 1184: <-0.258782, -0.965787, -0.016962> + 1185: <-0.258782, -0.965787, -0.016962> + 1186: <-0.258782, -0.965787, -0.016962> + 1187: <-0.258782, -0.965787, -0.016962> + 1188: < 0.258782, -0.965787, 0.016962> + 1189: < 0.258782, -0.965787, 0.016962> + 1190: < 0.258782, -0.965787, 0.016962> + 1191: < 0.258782, -0.965787, 0.016962> + 1192: < 0.706348, -0.706349, 0.046297> + 1193: < 0.706348, -0.706349, 0.046297> + 1194: < 0.706348, -0.706349, 0.046297> + 1195: < 0.706348, -0.706349, 0.046297> + 1196: < 0.963996, -0.258302, 0.063184> + 1197: < 0.963996, -0.258302, 0.063184> + 1198: < 0.963996, -0.258302, 0.063184> + 1199: < 0.963996, -0.258302, 0.063184> + 1200: < 0.963996, 0.258302, -0.063184> + 1201: < 0.963996, 0.258302, -0.063184> + 1202: < 0.963996, 0.258302, -0.063184> + 1203: < 0.963996, 0.258302, -0.063184> + 1204: < 0.706349, 0.706349, -0.046297> + 1205: < 0.706349, 0.706349, -0.046297> + 1206: < 0.706349, 0.706349, -0.046297> + 1207: < 0.706349, 0.706349, -0.046297> + 1208: < 0.258782, 0.965787, -0.016962> + 1209: < 0.258782, 0.965787, -0.016962> + 1210: < 0.258782, 0.965787, -0.016962> + 1211: < 0.258782, 0.965787, -0.016962> + 1212: <-0.258782, 0.965787, 0.016962> + 1213: <-0.258782, 0.965787, 0.016962> + 1214: <-0.258782, 0.965787, 0.016962> + 1215: <-0.258782, 0.965787, 0.016962> + 1216: <-0.706348, 0.706349, 0.046297> + 1217: <-0.706348, 0.706349, 0.046297> + 1218: <-0.706348, 0.706349, 0.046297> + 1219: <-0.706348, 0.706349, 0.046297> + 1220: <-0.963996, 0.258302, 0.063184> + 1221: <-0.963996, 0.258302, 0.063184> + 1222: <-0.963996, 0.258302, 0.063184> + 1223: <-0.963996, 0.258302, 0.063184> + 1224: <-0.963996, -0.258302, 0.063184> + 1225: <-0.963996, -0.258302, 0.063184> + 1226: <-0.963996, -0.258302, 0.063184> + 1227: <-0.963996, -0.258302, 0.063184> + 1228: <-0.706348, -0.706349, 0.046297> + 1229: <-0.706348, -0.706349, 0.046297> + 1230: <-0.706348, -0.706349, 0.046297> + 1231: <-0.706348, -0.706349, 0.046297> + 1232: <-0.258782, -0.965787, 0.016962> + 1233: <-0.258782, -0.965787, 0.016962> + 1234: <-0.258782, -0.965787, 0.016962> + 1235: <-0.258782, -0.965787, 0.016962> + 1236: < 0.258782, -0.965787, -0.016962> + 1237: < 0.258782, -0.965787, -0.016962> + 1238: < 0.258782, -0.965787, -0.016962> + 1239: < 0.258782, -0.965787, -0.016962> + 1240: < 0.706348, -0.706349, -0.046297> + 1241: < 0.706348, -0.706349, -0.046297> + 1242: < 0.706348, -0.706349, -0.046297> + 1243: < 0.706348, -0.706349, -0.046297> + 1244: < 0.963996, -0.258302, -0.063184> + 1245: < 0.963996, -0.258302, -0.063184> + 1246: < 0.963996, -0.258302, -0.063184> + 1247: < 0.963996, -0.258302, -0.063184> + 1248: < 0.947502, 0.258301, -0.188469> + 1249: < 0.947502, 0.258301, -0.188469> + 1250: < 0.947502, 0.258301, -0.188469> + 1251: < 0.947502, 0.258301, -0.188469> + 1252: < 0.694263, 0.706349, -0.138097> + 1253: < 0.694263, 0.706349, -0.138097> + 1254: < 0.694263, 0.706349, -0.138097> + 1255: < 0.694263, 0.706349, -0.138097> + 1256: < 0.254354, 0.965787, -0.050594> + 1257: < 0.254354, 0.965787, -0.050594> + 1258: < 0.254354, 0.965787, -0.050594> + 1259: < 0.254354, 0.965787, -0.050594> + 1260: <-0.254354, 0.965787, 0.050594> + 1261: <-0.254354, 0.965787, 0.050594> + 1262: <-0.254354, 0.965787, 0.050594> + 1263: <-0.254354, 0.965787, 0.050594> + 1264: <-0.694263, 0.706349, 0.138097> + 1265: <-0.694263, 0.706349, 0.138097> + 1266: <-0.694263, 0.706349, 0.138097> + 1267: <-0.694263, 0.706349, 0.138097> + 1268: <-0.947502, 0.258302, 0.188469> + 1269: <-0.947502, 0.258302, 0.188469> + 1270: <-0.947502, 0.258302, 0.188469> + 1271: <-0.947502, 0.258302, 0.188469> + 1272: <-0.947502, -0.258302, 0.188469> + 1273: <-0.947502, -0.258302, 0.188469> + 1274: <-0.947502, -0.258302, 0.188469> + 1275: <-0.947502, -0.258302, 0.188469> + 1276: <-0.694263, -0.706349, 0.138097> + 1277: <-0.694263, -0.706349, 0.138097> + 1278: <-0.694263, -0.706349, 0.138097> + 1279: <-0.694263, -0.706349, 0.138097> + 1280: <-0.254354, -0.965787, 0.050594> + 1281: <-0.254354, -0.965787, 0.050594> + 1282: <-0.254354, -0.965787, 0.050594> + 1283: <-0.254354, -0.965787, 0.050594> + 1284: < 0.254354, -0.965787, -0.050594> + 1285: < 0.254354, -0.965787, -0.050594> + 1286: < 0.254354, -0.965787, -0.050594> + 1287: < 0.254354, -0.965787, -0.050594> + 1288: < 0.694263, -0.706349, -0.138097> + 1289: < 0.694263, -0.706349, -0.138097> + 1290: < 0.694263, -0.706349, -0.138097> + 1291: < 0.694263, -0.706349, -0.138097> + 1292: < 0.947502, -0.258302, -0.188469> + 1293: < 0.947502, -0.258302, -0.188469> + 1294: < 0.947502, -0.258302, -0.188469> + 1295: < 0.947502, -0.258302, -0.188469> + 1296: < 0.914795, 0.258302, -0.310531> + 1297: < 0.914795, 0.258302, -0.310531> + 1298: < 0.914795, 0.258302, -0.310531> + 1299: < 0.914795, 0.258302, -0.310531> + 1300: < 0.670298, 0.706349, -0.227535> + 1301: < 0.670298, 0.706349, -0.227535> + 1302: < 0.670298, 0.706349, -0.227535> + 1303: < 0.670298, 0.706349, -0.227535> + 1304: < 0.245574, 0.965787, -0.083361> + 1305: < 0.245574, 0.965787, -0.083361> + 1306: < 0.245574, 0.965787, -0.083361> + 1307: < 0.245574, 0.965787, -0.083361> + 1308: <-0.245574, 0.965787, 0.083361> + 1309: <-0.245574, 0.965787, 0.083361> + 1310: <-0.245574, 0.965787, 0.083361> + 1311: <-0.245574, 0.965787, 0.083361> + 1312: <-0.670298, 0.706349, 0.227536> + 1313: <-0.670298, 0.706349, 0.227536> + 1314: <-0.670298, 0.706349, 0.227536> + 1315: <-0.670298, 0.706349, 0.227536> + 1316: <-0.914795, 0.258302, 0.310532> + 1317: <-0.914795, 0.258302, 0.310532> + 1318: <-0.914795, 0.258302, 0.310532> + 1319: <-0.914795, 0.258302, 0.310532> + 1320: <-0.914795, -0.258302, 0.310532> + 1321: <-0.914795, -0.258302, 0.310532> + 1322: <-0.914795, -0.258302, 0.310532> + 1323: <-0.914795, -0.258302, 0.310532> + 1324: <-0.670298, -0.706349, 0.227536> + 1325: <-0.670298, -0.706349, 0.227536> + 1326: <-0.670298, -0.706349, 0.227536> + 1327: <-0.670298, -0.706349, 0.227536> + 1328: <-0.245574, -0.965787, 0.083361> + 1329: <-0.245574, -0.965787, 0.083361> + 1330: <-0.245574, -0.965787, 0.083361> + 1331: <-0.245574, -0.965787, 0.083361> + 1332: < 0.245574, -0.965787, -0.083361> + 1333: < 0.245574, -0.965787, -0.083361> + 1334: < 0.245574, -0.965787, -0.083361> + 1335: < 0.245574, -0.965787, -0.083361> + 1336: < 0.670298, -0.706349, -0.227535> + 1337: < 0.670298, -0.706349, -0.227535> + 1338: < 0.670298, -0.706349, -0.227535> + 1339: < 0.670298, -0.706349, -0.227535> + 1340: < 0.914795, -0.258302, -0.310531> + 1341: < 0.914795, -0.258302, -0.310531> + 1342: < 0.914795, -0.258302, -0.310531> + 1343: < 0.914795, -0.258302, -0.310531> + 1344: < 0.866437, 0.258302, -0.427279> + 1345: < 0.866437, 0.258302, -0.427279> + 1346: < 0.866437, 0.258302, -0.427279> + 1347: < 0.866437, 0.258302, -0.427279> + 1348: < 0.634864, 0.706349, -0.313080> + 1349: < 0.634864, 0.706349, -0.313080> + 1350: < 0.634864, 0.706349, -0.313080> + 1351: < 0.634864, 0.706349, -0.313080> + 1352: < 0.232592, 0.965787, -0.114702> + 1353: < 0.232592, 0.965787, -0.114702> + 1354: < 0.232592, 0.965787, -0.114702> + 1355: < 0.232592, 0.965787, -0.114702> + 1356: <-0.232592, 0.965787, 0.114702> + 1357: <-0.232592, 0.965787, 0.114702> + 1358: <-0.232592, 0.965787, 0.114702> + 1359: <-0.232592, 0.965787, 0.114702> + 1360: <-0.634864, 0.706349, 0.313080> + 1361: <-0.634864, 0.706349, 0.313080> + 1362: <-0.634864, 0.706349, 0.313080> + 1363: <-0.634864, 0.706349, 0.313080> + 1364: <-0.866437, 0.258302, 0.427279> + 1365: <-0.866437, 0.258302, 0.427279> + 1366: <-0.866437, 0.258302, 0.427279> + 1367: <-0.866437, 0.258302, 0.427279> + 1368: <-0.866437, -0.258302, 0.427279> + 1369: <-0.866437, -0.258302, 0.427279> + 1370: <-0.866437, -0.258302, 0.427279> + 1371: <-0.866437, -0.258302, 0.427279> + 1372: <-0.634864, -0.706349, 0.313080> + 1373: <-0.634864, -0.706349, 0.313080> + 1374: <-0.634864, -0.706349, 0.313080> + 1375: <-0.634864, -0.706349, 0.313080> + 1376: <-0.232592, -0.965787, 0.114702> + 1377: <-0.232592, -0.965787, 0.114702> + 1378: <-0.232592, -0.965787, 0.114702> + 1379: <-0.232592, -0.965787, 0.114702> + 1380: < 0.232592, -0.965787, -0.114702> + 1381: < 0.232592, -0.965787, -0.114702> + 1382: < 0.232592, -0.965787, -0.114702> + 1383: < 0.232592, -0.965787, -0.114702> + 1384: < 0.634864, -0.706349, -0.313080> + 1385: < 0.634864, -0.706349, -0.313080> + 1386: < 0.634864, -0.706349, -0.313080> + 1387: < 0.634864, -0.706349, -0.313080> + 1388: < 0.866437, -0.258302, -0.427279> + 1389: < 0.866437, -0.258302, -0.427279> + 1390: < 0.866437, -0.258302, -0.427279> + 1391: < 0.866437, -0.258302, -0.427279> + 1392: < 0.803253, 0.258302, -0.536717> + 1393: < 0.803253, 0.258302, -0.536717> + 1394: < 0.803253, 0.258302, -0.536717> + 1395: < 0.803253, 0.258302, -0.536717> + 1396: < 0.588567, 0.706349, -0.393269> + 1397: < 0.588567, 0.706349, -0.393269> + 1398: < 0.588567, 0.706349, -0.393269> + 1399: < 0.588567, 0.706349, -0.393269> + 1400: <-0.215631, 0.965787, 0.144080> + 1401: <-0.215631, 0.965787, 0.144080> + 1402: <-0.215631, 0.965787, 0.144080> + 1403: <-0.215631, 0.965787, 0.144080> + 1404: <-0.588568, 0.706349, 0.393268> + 1405: <-0.588568, 0.706349, 0.393268> + 1406: <-0.588568, 0.706349, 0.393268> + 1407: <-0.588568, 0.706349, 0.393268> + 1408: <-0.803253, 0.258302, 0.536717> + 1409: <-0.803253, 0.258302, 0.536717> + 1410: <-0.803253, 0.258302, 0.536717> + 1411: <-0.803253, 0.258302, 0.536717> + 1412: <-0.803253, -0.258302, 0.536717> + 1413: <-0.803253, -0.258302, 0.536717> + 1414: <-0.803253, -0.258302, 0.536717> + 1415: <-0.803253, -0.258302, 0.536717> + 1416: <-0.588568, -0.706349, 0.393268> + 1417: <-0.588568, -0.706349, 0.393268> + 1418: <-0.588568, -0.706349, 0.393268> + 1419: <-0.588568, -0.706349, 0.393268> + 1420: <-0.215631, -0.965787, 0.144080> + 1421: <-0.215631, -0.965787, 0.144080> + 1422: <-0.215631, -0.965787, 0.144080> + 1423: <-0.215631, -0.965787, 0.144080> + 1424: < 0.215631, -0.965787, -0.144080> + 1425: < 0.215631, -0.965787, -0.144080> + 1426: < 0.215631, -0.965787, -0.144080> + 1427: < 0.215631, -0.965787, -0.144080> + 1428: < 0.588567, -0.706349, -0.393269> + 1429: < 0.588567, -0.706349, -0.393269> + 1430: < 0.588567, -0.706349, -0.393269> + 1431: < 0.588567, -0.706349, -0.393269> + 1432: < 0.803253, -0.258302, -0.536717> + 1433: < 0.803253, -0.258302, -0.536717> + 1434: < 0.803253, -0.258302, -0.536717> + 1435: < 0.803253, -0.258302, -0.536717> + 1436: < 0.726326, 0.258301, -0.636970> + 1437: < 0.726326, 0.258301, -0.636970> + 1438: < 0.726326, 0.258301, -0.636970> + 1439: < 0.726326, 0.258301, -0.636970> + 1440: <-0.194980, 0.965787, 0.170993> + 1441: <-0.194980, 0.965787, 0.170993> + 1442: <-0.194980, 0.965787, 0.170993> + 1443: <-0.194980, 0.965787, 0.170993> + 1444: <-0.532200, 0.706349, 0.466727> + 1445: <-0.532200, 0.706349, 0.466727> + 1446: <-0.532200, 0.706349, 0.466727> + 1447: <-0.532200, 0.706349, 0.466727> + 1448: <-0.726325, 0.258301, 0.636971> + 1449: <-0.726325, 0.258301, 0.636971> + 1450: <-0.726325, 0.258301, 0.636971> + 1451: <-0.726325, 0.258301, 0.636971> + 1452: <-0.726325, -0.258302, 0.636971> + 1453: <-0.726325, -0.258302, 0.636971> + 1454: <-0.726325, -0.258302, 0.636971> + 1455: <-0.726325, -0.258302, 0.636971> + 1456: <-0.532200, -0.706349, 0.466727> + 1457: <-0.532200, -0.706349, 0.466727> + 1458: <-0.532200, -0.706349, 0.466727> + 1459: <-0.532200, -0.706349, 0.466727> + 1460: <-0.194980, -0.965787, 0.170993> + 1461: <-0.194980, -0.965787, 0.170993> + 1462: <-0.194980, -0.965787, 0.170993> + 1463: <-0.194980, -0.965787, 0.170993> + 1464: < 0.194980, -0.965787, -0.170993> + 1465: < 0.194980, -0.965787, -0.170993> + 1466: < 0.194980, -0.965787, -0.170993> + 1467: < 0.194980, -0.965787, -0.170993> + 1468: < 0.532201, -0.706349, -0.466727> + 1469: < 0.532201, -0.706349, -0.466727> + 1470: < 0.532201, -0.706349, -0.466727> + 1471: < 0.532201, -0.706349, -0.466727> + 1472: < 0.726326, -0.258301, -0.636970> + 1473: < 0.726326, -0.258301, -0.636970> + 1474: < 0.726326, -0.258301, -0.636970> + 1475: < 0.726326, -0.258301, -0.636970> + 1476: < 0.636971, 0.258301, -0.726326> + 1477: < 0.636971, 0.258301, -0.726326> + 1478: < 0.636971, 0.258301, -0.726326> + 1479: < 0.636971, 0.258301, -0.726326> + 1480: <-0.466728, 0.706349, 0.532200> + 1481: <-0.466728, 0.706349, 0.532200> + 1482: <-0.466728, 0.706349, 0.532200> + 1483: <-0.466728, 0.706349, 0.532200> + 1484: <-0.636971, 0.258302, 0.726325> + 1485: <-0.636971, 0.258302, 0.726325> + 1486: <-0.636971, 0.258302, 0.726325> + 1487: <-0.636971, 0.258302, 0.726325> + 1488: <-0.636971, -0.258302, 0.726325> + 1489: <-0.636971, -0.258302, 0.726325> + 1490: <-0.636971, -0.258302, 0.726325> + 1491: <-0.636971, -0.258302, 0.726325> + 1492: <-0.466728, -0.706348, 0.532200> + 1493: <-0.466728, -0.706348, 0.532200> + 1494: <-0.466728, -0.706348, 0.532200> + 1495: <-0.466728, -0.706348, 0.532200> + 1496: <-0.170993, -0.965787, 0.194980> + 1497: <-0.170993, -0.965787, 0.194980> + 1498: <-0.170993, -0.965787, 0.194980> + 1499: <-0.170993, -0.965787, 0.194980> + 1500: < 0.170993, -0.965787, -0.194980> + 1501: < 0.170993, -0.965787, -0.194980> + 1502: < 0.170993, -0.965787, -0.194980> + 1503: < 0.170993, -0.965787, -0.194980> + 1504: < 0.466727, -0.706349, -0.532200> + 1505: < 0.466727, -0.706349, -0.532200> + 1506: < 0.466727, -0.706349, -0.532200> + 1507: < 0.466727, -0.706349, -0.532200> + 1508: < 0.636971, -0.258301, -0.726326> + 1509: < 0.636971, -0.258301, -0.726326> + 1510: < 0.636971, -0.258301, -0.726326> + 1511: < 0.636971, -0.258301, -0.726326> + 1512: <-0.393268, 0.706349, 0.588567> + 1513: <-0.393268, 0.706349, 0.588567> + 1514: <-0.393268, 0.706349, 0.588567> + 1515: <-0.393268, 0.706349, 0.588567> + 1516: <-0.536717, 0.258302, 0.803253> + 1517: <-0.536717, 0.258302, 0.803253> + 1518: <-0.536717, 0.258302, 0.803253> + 1519: <-0.536717, 0.258302, 0.803253> + 1520: <-0.536717, -0.258302, 0.803253> + 1521: <-0.536717, -0.258302, 0.803253> + 1522: <-0.536717, -0.258302, 0.803253> + 1523: <-0.536717, -0.258302, 0.803253> + 1524: <-0.393268, -0.706349, 0.588567> + 1525: <-0.393268, -0.706349, 0.588567> + 1526: <-0.393268, -0.706349, 0.588567> + 1527: <-0.393268, -0.706349, 0.588567> + 1528: <-0.144080, -0.965787, 0.215631> + 1529: <-0.144080, -0.965787, 0.215631> + 1530: <-0.144080, -0.965787, 0.215631> + 1531: <-0.144080, -0.965787, 0.215631> + 1532: < 0.144080, -0.965787, -0.215631> + 1533: < 0.144080, -0.965787, -0.215631> + 1534: < 0.144080, -0.965787, -0.215631> + 1535: < 0.144080, -0.965787, -0.215631> + 1536: < 0.393268, -0.706349, -0.588567> + 1537: < 0.393268, -0.706349, -0.588567> + 1538: < 0.393268, -0.706349, -0.588567> + 1539: < 0.393268, -0.706349, -0.588567> + 1540: < 0.536717, -0.258302, -0.803253> + 1541: < 0.536717, -0.258302, -0.803253> + 1542: < 0.536717, -0.258302, -0.803253> + 1543: < 0.536717, -0.258302, -0.803253> + 1544: <-0.313080, 0.706349, 0.634864> + 1545: <-0.313080, 0.706349, 0.634864> + 1546: <-0.313080, 0.706349, 0.634864> + 1547: <-0.313080, 0.706349, 0.634864> + 1548: <-0.427279, 0.258302, 0.866437> + 1549: <-0.427279, 0.258302, 0.866437> + 1550: <-0.427279, 0.258302, 0.866437> + 1551: <-0.427279, 0.258302, 0.866437> + 1552: <-0.427279, -0.258302, 0.866437> + 1553: <-0.427279, -0.258302, 0.866437> + 1554: <-0.427279, -0.258302, 0.866437> + 1555: <-0.427279, -0.258302, 0.866437> + 1556: <-0.313080, -0.706349, 0.634864> + 1557: <-0.313080, -0.706349, 0.634864> + 1558: <-0.313080, -0.706349, 0.634864> + 1559: <-0.313080, -0.706349, 0.634864> + 1560: <-0.114702, -0.965787, 0.232592> + 1561: <-0.114702, -0.965787, 0.232592> + 1562: <-0.114702, -0.965787, 0.232592> + 1563: <-0.114702, -0.965787, 0.232592> + 1564: < 0.114702, -0.965787, -0.232592> + 1565: < 0.114702, -0.965787, -0.232592> + 1566: < 0.114702, -0.965787, -0.232592> + 1567: < 0.114702, -0.965787, -0.232592> + 1568: < 0.313081, -0.706348, -0.634865> + 1569: < 0.313081, -0.706348, -0.634865> + 1570: < 0.313081, -0.706348, -0.634865> + 1571: < 0.313081, -0.706348, -0.634865> + 1572: <-0.227536, 0.706348, 0.670298> + 1573: <-0.227536, 0.706348, 0.670298> + 1574: <-0.227536, 0.706348, 0.670298> + 1575: <-0.227536, 0.706348, 0.670298> + 1576: <-0.310531, 0.258302, 0.914795> + 1577: <-0.310531, 0.258302, 0.914795> + 1578: <-0.310531, 0.258302, 0.914795> + 1579: <-0.310531, 0.258302, 0.914795> + 1580: <-0.310531, -0.258302, 0.914795> + 1581: <-0.310531, -0.258302, 0.914795> + 1582: <-0.310531, -0.258302, 0.914795> + 1583: <-0.310531, -0.258302, 0.914795> + 1584: <-0.227536, -0.706348, 0.670298> + 1585: <-0.227536, -0.706348, 0.670298> + 1586: <-0.227536, -0.706348, 0.670298> + 1587: <-0.227536, -0.706348, 0.670298> + 1588: <-0.083361, -0.965787, 0.245574> + 1589: <-0.083361, -0.965787, 0.245574> + 1590: <-0.083361, -0.965787, 0.245574> + 1591: <-0.083361, -0.965787, 0.245574> + 1592: < 0.083361, -0.965787, -0.245574> + 1593: < 0.083361, -0.965787, -0.245574> + 1594: < 0.083361, -0.965787, -0.245574> + 1595: < 0.083361, -0.965787, -0.245574> + 1596: < 0.227536, -0.706348, -0.670298> + 1597: < 0.227536, -0.706348, -0.670298> + 1598: < 0.227536, -0.706348, -0.670298> + 1599: < 0.227536, -0.706348, -0.670298> + 1600: <-0.138098, 0.706349, 0.694263> + 1601: <-0.138098, 0.706349, 0.694263> + 1602: <-0.138098, 0.706349, 0.694263> + 1603: <-0.138098, 0.706349, 0.694263> + 1604: <-0.188470, 0.258302, 0.947501> + 1605: <-0.188470, 0.258302, 0.947501> + 1606: <-0.188470, 0.258302, 0.947501> + 1607: <-0.188470, 0.258302, 0.947501> + 1608: <-0.188470, -0.258302, 0.947501> + 1609: <-0.188470, -0.258302, 0.947501> + 1610: <-0.188470, -0.258302, 0.947501> + 1611: <-0.188470, -0.258302, 0.947501> + 1612: <-0.138098, -0.706349, 0.694263> + 1613: <-0.138098, -0.706349, 0.694263> + 1614: <-0.138098, -0.706349, 0.694263> + 1615: <-0.138098, -0.706349, 0.694263> + 1616: <-0.050594, -0.965787, 0.254354> + 1617: <-0.050594, -0.965787, 0.254354> + 1618: <-0.050594, -0.965787, 0.254354> + 1619: <-0.050594, -0.965787, 0.254354> + 1620: < 0.050594, -0.965787, -0.254354> + 1621: < 0.050594, -0.965787, -0.254354> + 1622: < 0.050594, -0.965787, -0.254354> + 1623: < 0.050594, -0.965787, -0.254354> + 1624: <-0.046297, 0.706348, 0.706349> + 1625: <-0.046297, 0.706348, 0.706349> + 1626: <-0.046297, 0.706348, 0.706349> + 1627: <-0.046297, 0.706348, 0.706349> + 1628: <-0.063184, 0.258302, 0.963996> + 1629: <-0.063184, 0.258302, 0.963996> + 1630: <-0.063184, 0.258302, 0.963996> + 1631: <-0.063184, 0.258302, 0.963996> + 1632: <-0.063184, -0.258302, 0.963996> + 1633: <-0.063184, -0.258302, 0.963996> + 1634: <-0.063184, -0.258302, 0.963996> + 1635: <-0.063184, -0.258302, 0.963996> + 1636: <-0.046297, -0.706348, 0.706349> + 1637: <-0.046297, -0.706348, 0.706349> + 1638: <-0.046297, -0.706348, 0.706349> + 1639: <-0.046297, -0.706348, 0.706349> + 1640: <-0.016962, -0.965787, 0.258782> + 1641: <-0.016962, -0.965787, 0.258782> + 1642: <-0.016962, -0.965787, 0.258782> + 1643: <-0.016962, -0.965787, 0.258782> + 1644: < 0.016961, -0.965787, -0.258782> + 1645: < 0.016961, -0.965787, -0.258782> + 1646: < 0.016961, -0.965787, -0.258782> + 1647: < 0.016961, -0.965787, -0.258782> + 1648: < 0.046297, 0.706349, 0.706348> + 1649: < 0.046297, 0.706349, 0.706348> + 1650: < 0.046297, 0.706349, 0.706348> + 1651: < 0.046297, 0.706349, 0.706348> + 1652: < 0.063184, 0.258301, 0.963996> + 1653: < 0.063184, 0.258301, 0.963996> + 1654: < 0.063184, 0.258301, 0.963996> + 1655: < 0.063184, 0.258301, 0.963996> + 1656: < 0.063184, -0.258301, 0.963996> + 1657: < 0.063184, -0.258301, 0.963996> + 1658: < 0.063184, -0.258301, 0.963996> + 1659: < 0.063184, -0.258301, 0.963996> + 1660: < 0.046297, -0.706349, 0.706348> + 1661: < 0.046297, -0.706349, 0.706348> + 1662: < 0.046297, -0.706349, 0.706348> + 1663: < 0.046297, -0.706349, 0.706348> + 1664: < 0.016962, -0.965787, 0.258782> + 1665: < 0.016962, -0.965787, 0.258782> + 1666: < 0.016962, -0.965787, 0.258782> + 1667: < 0.016962, -0.965787, 0.258782> + 1668: <-0.016961, -0.965787, -0.258782> + 1669: <-0.016961, -0.965787, -0.258782> + 1670: <-0.016961, -0.965787, -0.258782> + 1671: <-0.016961, -0.965787, -0.258782> + 1672: < 0.050594, 0.965787, 0.254354> + 1673: < 0.050594, 0.965787, 0.254354> + 1674: < 0.050594, 0.965787, 0.254354> + 1675: < 0.050594, 0.965787, 0.254354> + 1676: < 0.138097, 0.706348, 0.694263> + 1677: < 0.138097, 0.706348, 0.694263> + 1678: < 0.138097, 0.706348, 0.694263> + 1679: < 0.138097, 0.706348, 0.694263> + 1680: < 0.188469, 0.258302, 0.947502> + 1681: < 0.188469, 0.258302, 0.947502> + 1682: < 0.188469, 0.258302, 0.947502> + 1683: < 0.188469, 0.258302, 0.947502> + 1684: < 0.188469, -0.258302, 0.947502> + 1685: < 0.188469, -0.258302, 0.947502> + 1686: < 0.188469, -0.258302, 0.947502> + 1687: < 0.188469, -0.258302, 0.947502> + 1688: < 0.138097, -0.706348, 0.694263> + 1689: < 0.138097, -0.706348, 0.694263> + 1690: < 0.138097, -0.706348, 0.694263> + 1691: < 0.138097, -0.706348, 0.694263> + 1692: < 0.050594, -0.965787, 0.254354> + 1693: < 0.050594, -0.965787, 0.254354> + 1694: < 0.050594, -0.965787, 0.254354> + 1695: < 0.050594, -0.965787, 0.254354> + 1696: <-0.050594, -0.965787, -0.254354> + 1697: <-0.050594, -0.965787, -0.254354> + 1698: <-0.050594, -0.965787, -0.254354> + 1699: <-0.050594, -0.965787, -0.254354> + 1700: < 0.083361, 0.965787, 0.245574> + 1701: < 0.083361, 0.965787, 0.245574> + 1702: < 0.083361, 0.965787, 0.245574> + 1703: < 0.083361, 0.965787, 0.245574> + 1704: < 0.227535, 0.706349, 0.670298> + 1705: < 0.227535, 0.706349, 0.670298> + 1706: < 0.227535, 0.706349, 0.670298> + 1707: < 0.227535, 0.706349, 0.670298> + 1708: < 0.310531, 0.258301, 0.914796> + 1709: < 0.310531, 0.258301, 0.914796> + 1710: < 0.310531, 0.258301, 0.914796> + 1711: < 0.310531, 0.258301, 0.914796> + 1712: < 0.310531, -0.258301, 0.914796> + 1713: < 0.310531, -0.258301, 0.914796> + 1714: < 0.310531, -0.258301, 0.914796> + 1715: < 0.310531, -0.258301, 0.914796> + 1716: < 0.227535, -0.706349, 0.670298> + 1717: < 0.227535, -0.706349, 0.670298> + 1718: < 0.227535, -0.706349, 0.670298> + 1719: < 0.227535, -0.706349, 0.670298> + 1720: < 0.083361, -0.965787, 0.245574> + 1721: < 0.083361, -0.965787, 0.245574> + 1722: < 0.083361, -0.965787, 0.245574> + 1723: < 0.083361, -0.965787, 0.245574> + 1724: <-0.083361, -0.965787, -0.245574> + 1725: <-0.083361, -0.965787, -0.245574> + 1726: <-0.083361, -0.965787, -0.245574> + 1727: <-0.083361, -0.965787, -0.245574> + 1728: <-0.114702, 0.965787, -0.232592> + 1729: <-0.114702, 0.965787, -0.232592> + 1730: <-0.114702, 0.965787, -0.232592> + 1731: <-0.114702, 0.965787, -0.232592> + 1732: < 0.114702, 0.965787, 0.232592> + 1733: < 0.114702, 0.965787, 0.232592> + 1734: < 0.114702, 0.965787, 0.232592> + 1735: < 0.114702, 0.965787, 0.232592> + 1736: < 0.313080, 0.706349, 0.634864> + 1737: < 0.313080, 0.706349, 0.634864> + 1738: < 0.313080, 0.706349, 0.634864> + 1739: < 0.313080, 0.706349, 0.634864> + 1740: < 0.427279, 0.258302, 0.866437> + 1741: < 0.427279, 0.258302, 0.866437> + 1742: < 0.427279, 0.258302, 0.866437> + 1743: < 0.427279, 0.258302, 0.866437> + 1744: < 0.427279, -0.258302, 0.866437> + 1745: < 0.427279, -0.258302, 0.866437> + 1746: < 0.427279, -0.258302, 0.866437> + 1747: < 0.427279, -0.258302, 0.866437> + 1748: < 0.313080, -0.706349, 0.634864> + 1749: < 0.313080, -0.706349, 0.634864> + 1750: < 0.313080, -0.706349, 0.634864> + 1751: < 0.313080, -0.706349, 0.634864> + 1752: < 0.114702, -0.965787, 0.232592> + 1753: < 0.114702, -0.965787, 0.232592> + 1754: < 0.114702, -0.965787, 0.232592> + 1755: < 0.114702, -0.965787, 0.232592> + 1756: <-0.114702, -0.965787, -0.232592> + 1757: <-0.114702, -0.965787, -0.232592> + 1758: <-0.114702, -0.965787, -0.232592> + 1759: <-0.114702, -0.965787, -0.232592> + 1760: <-0.393268, 0.706349, -0.588567> + 1761: <-0.393268, 0.706349, -0.588567> + 1762: <-0.393268, 0.706349, -0.588567> + 1763: <-0.393268, 0.706349, -0.588567> + 1764: <-0.144080, 0.965787, -0.215631> + 1765: <-0.144080, 0.965787, -0.215631> + 1766: <-0.144080, 0.965787, -0.215631> + 1767: <-0.144080, 0.965787, -0.215631> + 1768: < 0.144080, 0.965787, 0.215631> + 1769: < 0.144080, 0.965787, 0.215631> + 1770: < 0.144080, 0.965787, 0.215631> + 1771: < 0.144080, 0.965787, 0.215631> + 1772: < 0.393268, 0.706349, 0.588567> + 1773: < 0.393268, 0.706349, 0.588567> + 1774: < 0.393268, 0.706349, 0.588567> + 1775: < 0.393268, 0.706349, 0.588567> + 1776: < 0.536717, 0.258301, 0.803253> + 1777: < 0.536717, 0.258301, 0.803253> + 1778: < 0.536717, 0.258301, 0.803253> + 1779: < 0.536717, 0.258301, 0.803253> + 1780: < 0.536717, -0.258301, 0.803253> + 1781: < 0.536717, -0.258301, 0.803253> + 1782: < 0.536717, -0.258301, 0.803253> + 1783: < 0.536717, -0.258301, 0.803253> + 1784: < 0.393268, -0.706349, 0.588567> + 1785: < 0.393268, -0.706349, 0.588567> + 1786: < 0.393268, -0.706349, 0.588567> + 1787: < 0.393268, -0.706349, 0.588567> + 1788: < 0.144080, -0.965787, 0.215631> + 1789: < 0.144080, -0.965787, 0.215631> + 1790: < 0.144080, -0.965787, 0.215631> + 1791: < 0.144080, -0.965787, 0.215631> + 1792: <-0.144080, -0.965787, -0.215631> + 1793: <-0.144080, -0.965787, -0.215631> + 1794: <-0.144080, -0.965787, -0.215631> + 1795: <-0.144080, -0.965787, -0.215631> + 1796: <-0.636970, 0.258302, -0.726326> + 1797: <-0.636970, 0.258302, -0.726326> + 1798: <-0.636970, 0.258302, -0.726326> + 1799: <-0.636970, 0.258302, -0.726326> + 1800: <-0.466727, 0.706349, -0.532201> + 1801: <-0.466727, 0.706349, -0.532201> + 1802: <-0.466727, 0.706349, -0.532201> + 1803: <-0.466727, 0.706349, -0.532201> + 1804: <-0.170993, 0.965787, -0.194980> + 1805: <-0.170993, 0.965787, -0.194980> + 1806: <-0.170993, 0.965787, -0.194980> + 1807: <-0.170993, 0.965787, -0.194980> + 1808: < 0.170993, 0.965787, 0.194980> + 1809: < 0.170993, 0.965787, 0.194980> + 1810: < 0.170993, 0.965787, 0.194980> + 1811: < 0.170993, 0.965787, 0.194980> + 1812: < 0.466727, 0.706349, 0.532201> + 1813: < 0.466727, 0.706349, 0.532201> + 1814: < 0.466727, 0.706349, 0.532201> + 1815: < 0.466727, 0.706349, 0.532201> + 1816: < 0.636970, 0.258302, 0.726326> + 1817: < 0.636970, 0.258302, 0.726326> + 1818: < 0.636970, 0.258302, 0.726326> + 1819: < 0.636970, 0.258302, 0.726326> + 1820: < 0.636970, -0.258302, 0.726326> + 1821: < 0.636970, -0.258302, 0.726326> + 1822: < 0.636970, -0.258302, 0.726326> + 1823: < 0.636970, -0.258302, 0.726326> + 1824: < 0.466727, -0.706349, 0.532201> + 1825: < 0.466727, -0.706349, 0.532201> + 1826: < 0.466727, -0.706349, 0.532201> + 1827: < 0.466727, -0.706349, 0.532201> + 1828: < 0.170993, -0.965787, 0.194980> + 1829: < 0.170993, -0.965787, 0.194980> + 1830: < 0.170993, -0.965787, 0.194980> + 1831: < 0.170993, -0.965787, 0.194980> + 1832: <-0.170993, -0.965787, -0.194980> + 1833: <-0.170993, -0.965787, -0.194980> + 1834: <-0.170993, -0.965787, -0.194980> + 1835: <-0.170993, -0.965787, -0.194980> + 1836: <-0.726325, 0.258302, -0.636971> + 1837: <-0.726325, 0.258302, -0.636971> + 1838: <-0.726325, 0.258302, -0.636971> + 1839: <-0.726325, 0.258302, -0.636971> + 1840: <-0.532201, 0.706348, -0.466728> + 1841: <-0.532201, 0.706348, -0.466728> + 1842: <-0.532201, 0.706348, -0.466728> + 1843: <-0.532201, 0.706348, -0.466728> + 1844: <-0.194980, 0.965787, -0.170993> + 1845: <-0.194980, 0.965787, -0.170993> + 1846: <-0.194980, 0.965787, -0.170993> + 1847: <-0.194980, 0.965787, -0.170993> + 1848: < 0.194980, 0.965787, 0.170993> + 1849: < 0.194980, 0.965787, 0.170993> + 1850: < 0.194980, 0.965787, 0.170993> + 1851: < 0.194980, 0.965787, 0.170993> + 1852: < 0.532200, 0.706349, 0.466727> + 1853: < 0.532200, 0.706349, 0.466727> + 1854: < 0.532200, 0.706349, 0.466727> + 1855: < 0.532200, 0.706349, 0.466727> + 1856: < 0.726326, 0.258302, 0.636970> + 1857: < 0.726326, 0.258302, 0.636970> + 1858: < 0.726326, 0.258302, 0.636970> + 1859: < 0.726326, 0.258302, 0.636970> + 1860: < 0.726326, -0.258302, 0.636970> + 1861: < 0.726326, -0.258302, 0.636970> + 1862: < 0.726326, -0.258302, 0.636970> + 1863: < 0.726326, -0.258302, 0.636970> + 1864: < 0.532200, -0.706349, 0.466727> + 1865: < 0.532200, -0.706349, 0.466727> + 1866: < 0.532200, -0.706349, 0.466727> + 1867: < 0.532200, -0.706349, 0.466727> + 1868: < 0.194980, -0.965787, 0.170993> + 1869: < 0.194980, -0.965787, 0.170993> + 1870: < 0.194980, -0.965787, 0.170993> + 1871: < 0.194980, -0.965787, 0.170993> + 1872: <-0.194980, -0.965787, -0.170993> + 1873: <-0.194980, -0.965787, -0.170993> + 1874: <-0.194980, -0.965787, -0.170993> + 1875: <-0.194980, -0.965787, -0.170993> + 1876: <-0.532201, -0.706348, -0.466728> + 1877: <-0.532201, -0.706348, -0.466728> + 1878: <-0.532201, -0.706348, -0.466728> + 1879: <-0.532201, -0.706348, -0.466728> + 1880: <-0.726325, -0.258302, -0.636971> + 1881: <-0.726325, -0.258302, -0.636971> + 1882: <-0.726325, -0.258302, -0.636971> + 1883: <-0.726325, -0.258302, -0.636971> + 1884: <-0.803253, 0.258302, -0.536716> + 1885: <-0.803253, 0.258302, -0.536716> + 1886: <-0.803253, 0.258302, -0.536716> + 1887: <-0.803253, 0.258302, -0.536716> + 1888: <-0.588568, 0.706348, -0.393268> + 1889: <-0.588568, 0.706348, -0.393268> + 1890: <-0.588568, 0.706348, -0.393268> + 1891: <-0.588568, 0.706348, -0.393268> + 1892: <-0.215631, 0.965787, -0.144080> + 1893: <-0.215631, 0.965787, -0.144080> + 1894: <-0.215631, 0.965787, -0.144080> + 1895: <-0.215631, 0.965787, -0.144080> + 1896: < 0.215631, 0.965787, 0.144080> + 1897: < 0.215631, 0.965787, 0.144080> + 1898: < 0.215631, 0.965787, 0.144080> + 1899: < 0.215631, 0.965787, 0.144080> + 1900: < 0.588568, 0.706349, 0.393268> + 1901: < 0.588568, 0.706349, 0.393268> + 1902: < 0.588568, 0.706349, 0.393268> + 1903: < 0.588568, 0.706349, 0.393268> + 1904: < 0.803253, 0.258302, 0.536716> + 1905: < 0.803253, 0.258302, 0.536716> + 1906: < 0.803253, 0.258302, 0.536716> + 1907: < 0.803253, 0.258302, 0.536716> + 1908: < 0.803253, -0.258302, 0.536716> + 1909: < 0.803253, -0.258302, 0.536716> + 1910: < 0.803253, -0.258302, 0.536716> + 1911: < 0.803253, -0.258302, 0.536716> + 1912: < 0.588568, -0.706349, 0.393268> + 1913: < 0.588568, -0.706349, 0.393268> + 1914: < 0.588568, -0.706349, 0.393268> + 1915: < 0.588568, -0.706349, 0.393268> + 1916: < 0.215631, -0.965787, 0.144080> + 1917: < 0.215631, -0.965787, 0.144080> + 1918: < 0.215631, -0.965787, 0.144080> + 1919: < 0.215631, -0.965787, 0.144080> + 1920: <-0.215631, -0.965787, -0.144080> + 1921: <-0.215631, -0.965787, -0.144080> + 1922: <-0.215631, -0.965787, -0.144080> + 1923: <-0.215631, -0.965787, -0.144080> + 1924: <-0.588568, -0.706348, -0.393268> + 1925: <-0.588568, -0.706348, -0.393268> + 1926: <-0.588568, -0.706348, -0.393268> + 1927: <-0.588568, -0.706348, -0.393268> + 1928: <-0.803253, -0.258302, -0.536716> + 1929: <-0.803253, -0.258302, -0.536716> + 1930: <-0.803253, -0.258302, -0.536716> + 1931: <-0.803253, -0.258302, -0.536716> + 1932: <-0.866436, 0.258302, -0.427280> + 1933: <-0.866436, 0.258302, -0.427280> + 1934: <-0.866436, 0.258302, -0.427280> + 1935: <-0.866436, 0.258302, -0.427280> + 1936: <-0.634864, 0.706349, -0.313080> + 1937: <-0.634864, 0.706349, -0.313080> + 1938: <-0.634864, 0.706349, -0.313080> + 1939: <-0.634864, 0.706349, -0.313080> + 1940: <-0.232592, 0.965787, -0.114702> + 1941: <-0.232592, 0.965787, -0.114702> + 1942: <-0.232592, 0.965787, -0.114702> + 1943: <-0.232592, 0.965787, -0.114702> + 1944: < 0.232592, 0.965787, 0.114702> + 1945: < 0.232592, 0.965787, 0.114702> + 1946: < 0.232592, 0.965787, 0.114702> + 1947: < 0.232592, 0.965787, 0.114702> + 1948: < 0.634864, 0.706349, 0.313081> + 1949: < 0.634864, 0.706349, 0.313081> + 1950: < 0.634864, 0.706349, 0.313081> + 1951: < 0.634864, 0.706349, 0.313081> + 1952: < 0.866436, 0.258302, 0.427280> + 1953: < 0.866436, 0.258302, 0.427280> + 1954: < 0.866436, 0.258302, 0.427280> + 1955: < 0.866436, 0.258302, 0.427280> + 1956: < 0.866436, -0.258302, 0.427280> + 1957: < 0.866436, -0.258302, 0.427280> + 1958: < 0.866436, -0.258302, 0.427280> + 1959: < 0.866436, -0.258302, 0.427280> + 1960: < 0.634864, -0.706348, 0.313081> + 1961: < 0.634864, -0.706348, 0.313081> + 1962: < 0.634864, -0.706348, 0.313081> + 1963: < 0.634864, -0.706348, 0.313081> + 1964: < 0.232592, -0.965787, 0.114702> + 1965: < 0.232592, -0.965787, 0.114702> + 1966: < 0.232592, -0.965787, 0.114702> + 1967: < 0.232592, -0.965787, 0.114702> + 1968: <-0.232592, -0.965787, -0.114702> + 1969: <-0.232592, -0.965787, -0.114702> + 1970: <-0.232592, -0.965787, -0.114702> + 1971: <-0.232592, -0.965787, -0.114702> + 1972: <-0.634864, -0.706349, -0.313080> + 1973: <-0.634864, -0.706349, -0.313080> + 1974: <-0.634864, -0.706349, -0.313080> + 1975: <-0.634864, -0.706349, -0.313080> + 1976: <-0.866436, -0.258302, -0.427280> + 1977: <-0.866436, -0.258302, -0.427280> + 1978: <-0.866436, -0.258302, -0.427280> + 1979: <-0.866436, -0.258302, -0.427280> + 1980: <-0.914795, 0.258302, -0.310531> + 1981: <-0.914795, 0.258302, -0.310531> + 1982: <-0.914795, 0.258302, -0.310531> + 1983: <-0.914795, 0.258302, -0.310531> + 1984: <-0.670298, 0.706349, -0.227535> + 1985: <-0.670298, 0.706349, -0.227535> + 1986: <-0.670298, 0.706349, -0.227535> + 1987: <-0.670298, 0.706349, -0.227535> + 1988: <-0.245574, 0.965787, -0.083361> + 1989: <-0.245574, 0.965787, -0.083361> + 1990: <-0.245574, 0.965787, -0.083361> + 1991: <-0.245574, 0.965787, -0.083361> + 1992: < 0.245574, 0.965787, 0.083361> + 1993: < 0.245574, 0.965787, 0.083361> + 1994: < 0.245574, 0.965787, 0.083361> + 1995: < 0.245574, 0.965787, 0.083361> + 1996: < 0.670298, 0.706348, 0.227536> + 1997: < 0.670298, 0.706348, 0.227536> + 1998: < 0.670298, 0.706348, 0.227536> + 1999: < 0.670298, 0.706348, 0.227536> + 2000: < 0.914795, 0.258302, 0.310531> + 2001: < 0.914795, 0.258302, 0.310531> + 2002: < 0.914795, 0.258302, 0.310531> + 2003: < 0.914795, 0.258302, 0.310531> + 2004: < 0.914795, -0.258302, 0.310531> + 2005: < 0.914795, -0.258302, 0.310531> + 2006: < 0.914795, -0.258302, 0.310531> + 2007: < 0.914795, -0.258302, 0.310531> + 2008: < 0.670298, -0.706349, 0.227536> + 2009: < 0.670298, -0.706349, 0.227536> + 2010: < 0.670298, -0.706349, 0.227536> + 2011: < 0.670298, -0.706349, 0.227536> + 2012: < 0.245574, -0.965787, 0.083361> + 2013: < 0.245574, -0.965787, 0.083361> + 2014: < 0.245574, -0.965787, 0.083361> + 2015: < 0.245574, -0.965787, 0.083361> + 2016: <-0.245574, -0.965787, -0.083361> + 2017: <-0.245574, -0.965787, -0.083361> + 2018: <-0.245574, -0.965787, -0.083361> + 2019: <-0.245574, -0.965787, -0.083361> + 2020: <-0.670298, -0.706349, -0.227535> + 2021: <-0.670298, -0.706349, -0.227535> + 2022: <-0.670298, -0.706349, -0.227535> + 2023: <-0.670298, -0.706349, -0.227535> + 2024: <-0.914795, -0.258302, -0.310531> + 2025: <-0.914795, -0.258302, -0.310531> + 2026: <-0.914795, -0.258302, -0.310531> + 2027: <-0.914795, -0.258302, -0.310531> + 2028: < 0.694263, 0.706349, 0.138097> + 2029: < 0.694263, 0.706349, 0.138097> + 2030: < 0.694263, 0.706349, 0.138097> + 2031: < 0.694263, 0.706349, 0.138097> + 2032: < 0.947502, 0.258302, 0.188470> + 2033: < 0.947502, 0.258302, 0.188470> + 2034: < 0.947502, 0.258302, 0.188470> + 2035: < 0.947502, 0.258302, 0.188470> + 2036: < 0.947502, -0.258302, 0.188470> + 2037: < 0.947502, -0.258302, 0.188470> + 2038: < 0.947502, -0.258302, 0.188470> + 2039: < 0.947502, -0.258302, 0.188470> + 2040: < 0.694263, -0.706349, 0.138097> + 2041: < 0.694263, -0.706349, 0.138097> + 2042: < 0.694263, -0.706349, 0.138097> + 2043: < 0.694263, -0.706349, 0.138097> + 2044: < 0.254354, -0.965787, 0.050594> + 2045: < 0.254354, -0.965787, 0.050594> + 2046: < 0.254354, -0.965787, 0.050594> + 2047: < 0.254354, -0.965787, 0.050594> + 2048: <-0.254354, -0.965787, -0.050594> + 2049: <-0.254354, -0.965787, -0.050594> + 2050: <-0.254354, -0.965787, -0.050594> + 2051: <-0.254354, -0.965787, -0.050594> + 2052: < 0.706348, 0.706349, 0.046297> + 2053: < 0.706348, 0.706349, 0.046297> + 2054: < 0.706348, 0.706349, 0.046297> + 2055: < 0.706348, 0.706349, 0.046297> + 2056: < 0.963996, 0.258302, 0.063184> + 2057: < 0.963996, 0.258302, 0.063184> + 2058: < 0.963996, 0.258302, 0.063184> + 2059: < 0.963996, 0.258302, 0.063184> + 2060: < 0.963996, -0.258302, 0.063184> + 2061: < 0.963996, -0.258302, 0.063184> + 2062: < 0.963996, -0.258302, 0.063184> + 2063: < 0.963996, -0.258302, 0.063184> + 2064: < 0.706348, -0.706349, 0.046297> + 2065: < 0.706348, -0.706349, 0.046297> + 2066: < 0.706348, -0.706349, 0.046297> + 2067: < 0.706348, -0.706349, 0.046297> + 2068: < 0.258782, -0.965787, 0.016961> + 2069: < 0.258782, -0.965787, 0.016961> + 2070: < 0.258782, -0.965787, 0.016961> + 2071: < 0.258782, -0.965787, 0.016961> + 2072: <-0.258782, -0.965787, -0.016961> + 2073: <-0.258782, -0.965787, -0.016961> + 2074: <-0.258782, -0.965787, -0.016961> + 2075: <-0.258782, -0.965787, -0.016961> + 2076: < 0.215631, 0.965787, -0.144080> + 2077: < 0.215631, 0.965787, -0.144080> + 2078: < 0.215631, 0.965787, -0.144080> + 2079: < 0.215631, 0.965787, -0.144080> + 2080: < 0.532201, 0.706349, -0.466727> + 2081: < 0.532201, 0.706349, -0.466727> + 2082: < 0.532201, 0.706349, -0.466727> + 2083: < 0.532201, 0.706349, -0.466727> + 2084: < 0.194980, 0.965787, -0.170993> + 2085: < 0.194980, 0.965787, -0.170993> + 2086: < 0.194980, 0.965787, -0.170993> + 2087: < 0.194980, 0.965787, -0.170993> + 2088: < 0.466728, 0.706349, -0.532200> + 2089: < 0.466728, 0.706349, -0.532200> + 2090: < 0.466728, 0.706349, -0.532200> + 2091: < 0.466728, 0.706349, -0.532200> + 2092: < 0.170993, 0.965787, -0.194980> + 2093: < 0.170993, 0.965787, -0.194980> + 2094: < 0.170993, 0.965787, -0.194980> + 2095: < 0.170993, 0.965787, -0.194980> + 2096: <-0.170993, 0.965787, 0.194980> + 2097: <-0.170993, 0.965787, 0.194980> + 2098: <-0.170993, 0.965787, 0.194980> + 2099: <-0.170993, 0.965787, 0.194980> + 2100: < 0.536717, 0.258302, -0.803253> + 2101: < 0.536717, 0.258302, -0.803253> + 2102: < 0.536717, 0.258302, -0.803253> + 2103: < 0.536717, 0.258302, -0.803253> + 2104: < 0.393268, 0.706349, -0.588567> + 2105: < 0.393268, 0.706349, -0.588567> + 2106: < 0.393268, 0.706349, -0.588567> + 2107: < 0.393268, 0.706349, -0.588567> + 2108: < 0.144080, 0.965787, -0.215631> + 2109: < 0.144080, 0.965787, -0.215631> + 2110: < 0.144080, 0.965787, -0.215631> + 2111: < 0.144080, 0.965787, -0.215631> + 2112: <-0.144080, 0.965787, 0.215631> + 2113: <-0.144080, 0.965787, 0.215631> + 2114: <-0.144080, 0.965787, 0.215631> + 2115: <-0.144080, 0.965787, 0.215631> + 2116: < 0.427279, 0.258303, -0.866437> + 2117: < 0.427279, 0.258303, -0.866437> + 2118: < 0.427279, 0.258303, -0.866437> + 2119: < 0.427279, 0.258303, -0.866437> + 2120: < 0.313081, 0.706348, -0.634865> + 2121: < 0.313081, 0.706348, -0.634865> + 2122: < 0.313081, 0.706348, -0.634865> + 2123: < 0.313081, 0.706348, -0.634865> + 2124: < 0.114702, 0.965787, -0.232592> + 2125: < 0.114702, 0.965787, -0.232592> + 2126: < 0.114702, 0.965787, -0.232592> + 2127: < 0.114702, 0.965787, -0.232592> + 2128: <-0.114702, 0.965787, 0.232592> + 2129: <-0.114702, 0.965787, 0.232592> + 2130: <-0.114702, 0.965787, 0.232592> + 2131: <-0.114702, 0.965787, 0.232592> + 2132: < 0.427279, -0.258303, -0.866437> + 2133: < 0.427279, -0.258303, -0.866437> + 2134: < 0.427279, -0.258303, -0.866437> + 2135: < 0.427279, -0.258303, -0.866437> + 2136: < 0.310531, 0.258301, -0.914795> + 2137: < 0.310531, 0.258301, -0.914795> + 2138: < 0.310531, 0.258301, -0.914795> + 2139: < 0.310531, 0.258301, -0.914795> + 2140: < 0.227536, 0.706348, -0.670298> + 2141: < 0.227536, 0.706348, -0.670298> + 2142: < 0.227536, 0.706348, -0.670298> + 2143: < 0.227536, 0.706348, -0.670298> + 2144: < 0.083361, 0.965787, -0.245574> + 2145: < 0.083361, 0.965787, -0.245574> + 2146: < 0.083361, 0.965787, -0.245574> + 2147: < 0.083361, 0.965787, -0.245574> + 2148: <-0.083361, 0.965787, 0.245574> + 2149: <-0.083361, 0.965787, 0.245574> + 2150: <-0.083361, 0.965787, 0.245574> + 2151: <-0.083361, 0.965787, 0.245574> + 2152: < 0.310531, -0.258301, -0.914795> + 2153: < 0.310531, -0.258301, -0.914795> + 2154: < 0.310531, -0.258301, -0.914795> + 2155: < 0.310531, -0.258301, -0.914795> + 2156: < 0.188470, 0.258303, -0.947501> + 2157: < 0.188470, 0.258303, -0.947501> + 2158: < 0.188470, 0.258303, -0.947501> + 2159: < 0.188470, 0.258303, -0.947501> + 2160: < 0.138098, 0.706348, -0.694263> + 2161: < 0.138098, 0.706348, -0.694263> + 2162: < 0.138098, 0.706348, -0.694263> + 2163: < 0.138098, 0.706348, -0.694263> + 2164: < 0.050594, 0.965787, -0.254354> + 2165: < 0.050594, 0.965787, -0.254354> + 2166: < 0.050594, 0.965787, -0.254354> + 2167: < 0.050594, 0.965787, -0.254354> + 2168: <-0.050594, 0.965787, 0.254354> + 2169: <-0.050594, 0.965787, 0.254354> + 2170: <-0.050594, 0.965787, 0.254354> + 2171: <-0.050594, 0.965787, 0.254354> + 2172: < 0.138098, -0.706348, -0.694263> + 2173: < 0.138098, -0.706348, -0.694263> + 2174: < 0.138098, -0.706348, -0.694263> + 2175: < 0.138098, -0.706348, -0.694263> + 2176: < 0.188470, -0.258303, -0.947501> + 2177: < 0.188470, -0.258303, -0.947501> + 2178: < 0.188470, -0.258303, -0.947501> + 2179: < 0.188470, -0.258303, -0.947501> + 2180: < 0.063184, 0.258301, -0.963996> + 2181: < 0.063184, 0.258301, -0.963996> + 2182: < 0.063184, 0.258301, -0.963996> + 2183: < 0.063184, 0.258301, -0.963996> + 2184: < 0.046297, 0.706348, -0.706349> + 2185: < 0.046297, 0.706348, -0.706349> + 2186: < 0.046297, 0.706348, -0.706349> + 2187: < 0.046297, 0.706348, -0.706349> + 2188: < 0.016961, 0.965787, -0.258782> + 2189: < 0.016961, 0.965787, -0.258782> + 2190: < 0.016961, 0.965787, -0.258782> + 2191: < 0.016961, 0.965787, -0.258782> + 2192: <-0.016962, 0.965787, 0.258782> + 2193: <-0.016962, 0.965787, 0.258782> + 2194: <-0.016962, 0.965787, 0.258782> + 2195: <-0.016962, 0.965787, 0.258782> + 2196: < 0.046297, -0.706348, -0.706349> + 2197: < 0.046297, -0.706348, -0.706349> + 2198: < 0.046297, -0.706348, -0.706349> + 2199: < 0.046297, -0.706348, -0.706349> + 2200: < 0.063184, -0.258301, -0.963996> + 2201: < 0.063184, -0.258301, -0.963996> + 2202: < 0.063184, -0.258301, -0.963996> + 2203: < 0.063184, -0.258301, -0.963996> + 2204: <-0.063184, 0.258301, -0.963996> + 2205: <-0.063184, 0.258301, -0.963996> + 2206: <-0.063184, 0.258301, -0.963996> + 2207: <-0.063184, 0.258301, -0.963996> + 2208: <-0.046296, 0.706349, -0.706348> + 2209: <-0.046296, 0.706349, -0.706348> + 2210: <-0.046296, 0.706349, -0.706348> + 2211: <-0.046296, 0.706349, -0.706348> + 2212: <-0.016961, 0.965787, -0.258782> + 2213: <-0.016961, 0.965787, -0.258782> + 2214: <-0.016961, 0.965787, -0.258782> + 2215: <-0.016961, 0.965787, -0.258782> + 2216: < 0.016962, 0.965787, 0.258782> + 2217: < 0.016962, 0.965787, 0.258782> + 2218: < 0.016962, 0.965787, 0.258782> + 2219: < 0.016962, 0.965787, 0.258782> + 2220: <-0.046296, -0.706349, -0.706348> + 2221: <-0.046296, -0.706349, -0.706348> + 2222: <-0.046296, -0.706349, -0.706348> + 2223: <-0.046296, -0.706349, -0.706348> + 2224: <-0.063184, -0.258301, -0.963996> + 2225: <-0.063184, -0.258301, -0.963996> + 2226: <-0.063184, -0.258301, -0.963996> + 2227: <-0.063184, -0.258301, -0.963996> + 2228: <-0.188469, 0.258302, -0.947502> + 2229: <-0.188469, 0.258302, -0.947502> + 2230: <-0.188469, 0.258302, -0.947502> + 2231: <-0.188469, 0.258302, -0.947502> + 2232: <-0.138097, 0.706349, -0.694263> + 2233: <-0.138097, 0.706349, -0.694263> + 2234: <-0.138097, 0.706349, -0.694263> + 2235: <-0.138097, 0.706349, -0.694263> + 2236: <-0.050594, 0.965787, -0.254354> + 2237: <-0.050594, 0.965787, -0.254354> + 2238: <-0.050594, 0.965787, -0.254354> + 2239: <-0.050594, 0.965787, -0.254354> + 2240: <-0.138097, -0.706349, -0.694263> + 2241: <-0.138097, -0.706349, -0.694263> + 2242: <-0.138097, -0.706349, -0.694263> + 2243: <-0.138097, -0.706349, -0.694263> + 2244: <-0.188469, -0.258302, -0.947502> + 2245: <-0.188469, -0.258302, -0.947502> + 2246: <-0.188469, -0.258302, -0.947502> + 2247: <-0.188469, -0.258302, -0.947502> + 2248: <-0.310531, 0.258301, -0.914795> + 2249: <-0.310531, 0.258301, -0.914795> + 2250: <-0.310531, 0.258301, -0.914795> + 2251: <-0.310531, 0.258301, -0.914795> + 2252: <-0.227535, 0.706349, -0.670298> + 2253: <-0.227535, 0.706349, -0.670298> + 2254: <-0.227535, 0.706349, -0.670298> + 2255: <-0.227535, 0.706349, -0.670298> + 2256: <-0.083361, 0.965787, -0.245574> + 2257: <-0.083361, 0.965787, -0.245574> + 2258: <-0.083361, 0.965787, -0.245574> + 2259: <-0.083361, 0.965787, -0.245574> + 2260: <-0.227535, -0.706349, -0.670298> + 2261: <-0.227535, -0.706349, -0.670298> + 2262: <-0.227535, -0.706349, -0.670298> + 2263: <-0.227535, -0.706349, -0.670298> + 2264: <-0.310531, -0.258301, -0.914795> + 2265: <-0.310531, -0.258301, -0.914795> + 2266: <-0.310531, -0.258301, -0.914795> + 2267: <-0.310531, -0.258301, -0.914795> + 2268: <-0.427279, 0.258301, -0.866437> + 2269: <-0.427279, 0.258301, -0.866437> + 2270: <-0.427279, 0.258301, -0.866437> + 2271: <-0.427279, 0.258301, -0.866437> + 2272: <-0.313080, 0.706349, -0.634864> + 2273: <-0.313080, 0.706349, -0.634864> + 2274: <-0.313080, 0.706349, -0.634864> + 2275: <-0.313080, 0.706349, -0.634864> + 2276: <-0.313080, -0.706348, -0.634864> + 2277: <-0.313080, -0.706348, -0.634864> + 2278: <-0.313080, -0.706348, -0.634864> + 2279: <-0.313080, -0.706348, -0.634864> + 2280: <-0.427279, -0.258301, -0.866437> + 2281: <-0.427279, -0.258301, -0.866437> + 2282: <-0.427279, -0.258301, -0.866437> + 2283: <-0.427279, -0.258301, -0.866437> + 2284: <-0.536716, 0.258302, -0.803253> + 2285: <-0.536716, 0.258302, -0.803253> + 2286: <-0.536716, 0.258302, -0.803253> + 2287: <-0.536716, 0.258302, -0.803253> + 2288: <-0.393268, -0.706349, -0.588567> + 2289: <-0.393268, -0.706349, -0.588567> + 2290: <-0.393268, -0.706349, -0.588567> + 2291: <-0.393268, -0.706349, -0.588567> + 2292: <-0.536716, -0.258302, -0.803253> + 2293: <-0.536716, -0.258302, -0.803253> + 2294: <-0.536716, -0.258302, -0.803253> + 2295: <-0.536716, -0.258302, -0.803253> + 2296: <-0.466727, -0.706349, -0.532201> + 2297: <-0.466727, -0.706349, -0.532201> + 2298: <-0.466727, -0.706349, -0.532201> + 2299: <-0.466727, -0.706349, -0.532201> + 2300: <-0.636970, -0.258302, -0.726326> + 2301: <-0.636970, -0.258302, -0.726326> + 2302: <-0.636970, -0.258302, -0.726326> + 2303: <-0.636970, -0.258302, -0.726326> + FaceList: Count 1152. Hash: 3035560221708475304 + 0: 0, 1, 2, + 1: 0, 2, 3, + 2: 4, 5, 6, + 3: 4, 6, 7, + 4: 8, 9, 10, + 5: 8, 10, 11, + 6: 12, 13, 14, + 7: 12, 14, 15, + 8: 16, 17, 18, + 9: 16, 18, 19, + 10: 20, 21, 22, + 11: 20, 22, 23, + 12: 24, 25, 26, + 13: 24, 26, 27, + 14: 28, 29, 30, + 15: 28, 30, 31, + 16: 32, 33, 34, + 17: 32, 34, 35, + 18: 36, 37, 38, + 19: 36, 38, 39, + 20: 40, 41, 42, + 21: 40, 42, 43, + 22: 44, 45, 46, + 23: 44, 46, 47, + 24: 48, 49, 50, + 25: 48, 50, 51, + 26: 52, 53, 54, + 27: 52, 54, 55, + 28: 56, 57, 58, + 29: 56, 58, 59, + 30: 60, 61, 62, + 31: 60, 62, 63, + 32: 64, 65, 66, + 33: 64, 66, 67, + 34: 68, 69, 70, + 35: 68, 70, 71, + 36: 72, 73, 74, + 37: 72, 74, 75, + 38: 76, 77, 78, + 39: 76, 78, 79, + 40: 80, 81, 82, + 41: 80, 82, 83, + 42: 84, 85, 86, + 43: 84, 86, 87, + 44: 88, 89, 90, + 45: 88, 90, 91, + 46: 92, 93, 94, + 47: 92, 94, 95, + 48: 96, 97, 98, + 49: 96, 98, 99, + 50: 100, 101, 102, + 51: 100, 102, 103, + 52: 104, 105, 106, + 53: 104, 106, 107, + 54: 108, 109, 110, + 55: 108, 110, 111, + 56: 112, 113, 114, + 57: 112, 114, 115, + 58: 116, 117, 118, + 59: 116, 118, 119, + 60: 120, 121, 122, + 61: 120, 122, 123, + 62: 124, 125, 126, + 63: 124, 126, 127, + 64: 128, 129, 130, + 65: 128, 130, 131, + 66: 132, 133, 134, + 67: 132, 134, 135, + 68: 136, 137, 138, + 69: 136, 138, 139, + 70: 140, 141, 142, + 71: 140, 142, 143, + 72: 144, 145, 146, + 73: 144, 146, 147, + 74: 148, 149, 150, + 75: 148, 150, 151, + 76: 152, 153, 154, + 77: 152, 154, 155, + 78: 156, 157, 158, + 79: 156, 158, 159, + 80: 160, 161, 162, + 81: 160, 162, 163, + 82: 164, 165, 166, + 83: 164, 166, 167, + 84: 168, 169, 170, + 85: 168, 170, 171, + 86: 172, 173, 174, + 87: 172, 174, 175, + 88: 176, 177, 178, + 89: 176, 178, 179, + 90: 180, 181, 182, + 91: 180, 182, 183, + 92: 184, 185, 186, + 93: 184, 186, 187, + 94: 188, 189, 190, + 95: 188, 190, 191, + 96: 192, 193, 194, + 97: 192, 194, 195, + 98: 196, 197, 198, + 99: 196, 198, 199, + 100: 200, 201, 202, + 101: 200, 202, 203, + 102: 204, 205, 206, + 103: 204, 206, 207, + 104: 208, 209, 210, + 105: 208, 210, 211, + 106: 212, 213, 214, + 107: 212, 214, 215, + 108: 216, 217, 218, + 109: 216, 218, 219, + 110: 220, 221, 222, + 111: 220, 222, 223, + 112: 224, 225, 226, + 113: 224, 226, 227, + 114: 228, 229, 230, + 115: 228, 230, 231, + 116: 232, 233, 234, + 117: 232, 234, 235, + 118: 236, 237, 238, + 119: 236, 238, 239, + 120: 240, 241, 242, + 121: 240, 242, 243, + 122: 244, 245, 246, + 123: 244, 246, 247, + 124: 248, 249, 250, + 125: 248, 250, 251, + 126: 252, 253, 254, + 127: 252, 254, 255, + 128: 256, 257, 258, + 129: 256, 258, 259, + 130: 260, 261, 262, + 131: 260, 262, 263, + 132: 264, 265, 266, + 133: 264, 266, 267, + 134: 268, 269, 270, + 135: 268, 270, 271, + 136: 272, 273, 274, + 137: 272, 274, 275, + 138: 276, 277, 278, + 139: 276, 278, 279, + 140: 280, 281, 282, + 141: 280, 282, 283, + 142: 284, 285, 286, + 143: 284, 286, 287, + 144: 288, 289, 290, + 145: 288, 290, 291, + 146: 292, 293, 294, + 147: 292, 294, 295, + 148: 296, 297, 298, + 149: 296, 298, 299, + 150: 300, 301, 302, + 151: 300, 302, 303, + 152: 304, 305, 306, + 153: 304, 306, 307, + 154: 308, 309, 310, + 155: 308, 310, 311, + 156: 312, 313, 314, + 157: 312, 314, 315, + 158: 316, 317, 318, + 159: 316, 318, 319, + 160: 320, 321, 322, + 161: 320, 322, 323, + 162: 324, 325, 326, + 163: 324, 326, 327, + 164: 328, 329, 330, + 165: 328, 330, 331, + 166: 332, 333, 334, + 167: 332, 334, 335, + 168: 336, 337, 338, + 169: 336, 338, 339, + 170: 340, 341, 342, + 171: 340, 342, 343, + 172: 344, 345, 346, + 173: 344, 346, 347, + 174: 348, 349, 350, + 175: 348, 350, 351, + 176: 352, 353, 354, + 177: 352, 354, 355, + 178: 356, 357, 358, + 179: 356, 358, 359, + 180: 360, 361, 362, + 181: 360, 362, 363, + 182: 364, 365, 366, + 183: 364, 366, 367, + 184: 368, 369, 370, + 185: 368, 370, 371, + 186: 372, 373, 374, + 187: 372, 374, 375, + 188: 376, 377, 378, + 189: 376, 378, 379, + 190: 380, 381, 382, + 191: 380, 382, 383, + 192: 384, 385, 386, + 193: 384, 386, 387, + 194: 388, 389, 390, + 195: 388, 390, 391, + 196: 392, 393, 394, + 197: 392, 394, 395, + 198: 396, 397, 398, + 199: 396, 398, 399, + 200: 400, 401, 402, + 201: 400, 402, 403, + 202: 404, 405, 406, + 203: 404, 406, 407, + 204: 408, 409, 410, + 205: 408, 410, 411, + 206: 412, 413, 414, + 207: 412, 414, 415, + 208: 416, 417, 418, + 209: 416, 418, 419, + 210: 420, 421, 422, + 211: 420, 422, 423, + 212: 424, 425, 426, + 213: 424, 426, 427, + 214: 428, 429, 430, + 215: 428, 430, 431, + 216: 432, 433, 434, + 217: 432, 434, 435, + 218: 436, 437, 438, + 219: 436, 438, 439, + 220: 440, 441, 442, + 221: 440, 442, 443, + 222: 444, 445, 446, + 223: 444, 446, 447, + 224: 448, 449, 450, + 225: 448, 450, 451, + 226: 452, 453, 454, + 227: 452, 454, 455, + 228: 456, 457, 458, + 229: 456, 458, 459, + 230: 460, 461, 462, + 231: 460, 462, 463, + 232: 464, 465, 466, + 233: 464, 466, 467, + 234: 468, 469, 470, + 235: 468, 470, 471, + 236: 472, 473, 474, + 237: 472, 474, 475, + 238: 476, 477, 478, + 239: 476, 478, 479, + 240: 480, 481, 482, + 241: 480, 482, 483, + 242: 484, 485, 486, + 243: 484, 486, 487, + 244: 488, 489, 490, + 245: 488, 490, 491, + 246: 492, 493, 494, + 247: 492, 494, 495, + 248: 496, 497, 498, + 249: 496, 498, 499, + 250: 500, 501, 502, + 251: 500, 502, 503, + 252: 504, 505, 506, + 253: 504, 506, 507, + 254: 508, 509, 510, + 255: 508, 510, 511, + 256: 512, 513, 514, + 257: 512, 514, 515, + 258: 516, 517, 518, + 259: 516, 518, 519, + 260: 520, 521, 522, + 261: 520, 522, 523, + 262: 524, 525, 526, + 263: 524, 526, 527, + 264: 528, 529, 530, + 265: 528, 530, 531, + 266: 532, 533, 534, + 267: 532, 534, 535, + 268: 536, 537, 538, + 269: 536, 538, 539, + 270: 540, 541, 542, + 271: 540, 542, 543, + 272: 544, 545, 546, + 273: 544, 546, 547, + 274: 548, 549, 550, + 275: 548, 550, 551, + 276: 552, 553, 554, + 277: 552, 554, 555, + 278: 556, 557, 558, + 279: 556, 558, 559, + 280: 560, 561, 562, + 281: 560, 562, 563, + 282: 564, 565, 566, + 283: 564, 566, 567, + 284: 568, 569, 570, + 285: 568, 570, 571, + 286: 572, 573, 574, + 287: 572, 574, 575, + 288: 576, 577, 578, + 289: 576, 578, 579, + 290: 580, 581, 582, + 291: 580, 582, 583, + 292: 584, 585, 586, + 293: 584, 586, 587, + 294: 588, 589, 590, + 295: 588, 590, 591, + 296: 592, 593, 594, + 297: 592, 594, 595, + 298: 596, 597, 598, + 299: 596, 598, 599, + 300: 600, 601, 602, + 301: 600, 602, 603, + 302: 604, 605, 606, + 303: 604, 606, 607, + 304: 608, 609, 610, + 305: 608, 610, 611, + 306: 612, 613, 614, + 307: 612, 614, 615, + 308: 616, 617, 618, + 309: 616, 618, 619, + 310: 620, 621, 622, + 311: 620, 622, 623, + 312: 624, 625, 626, + 313: 624, 626, 627, + 314: 628, 629, 630, + 315: 628, 630, 631, + 316: 632, 633, 634, + 317: 632, 634, 635, + 318: 636, 637, 638, + 319: 636, 638, 639, + 320: 640, 641, 642, + 321: 640, 642, 643, + 322: 644, 645, 646, + 323: 644, 646, 647, + 324: 648, 649, 650, + 325: 648, 650, 651, + 326: 652, 653, 654, + 327: 652, 654, 655, + 328: 656, 657, 658, + 329: 656, 658, 659, + 330: 660, 661, 662, + 331: 660, 662, 663, + 332: 664, 665, 666, + 333: 664, 666, 667, + 334: 668, 669, 670, + 335: 668, 670, 671, + 336: 672, 673, 674, + 337: 672, 674, 675, + 338: 676, 677, 678, + 339: 676, 678, 679, + 340: 680, 681, 682, + 341: 680, 682, 683, + 342: 684, 685, 686, + 343: 684, 686, 687, + 344: 688, 689, 690, + 345: 688, 690, 691, + 346: 692, 693, 694, + 347: 692, 694, 695, + 348: 696, 697, 698, + 349: 696, 698, 699, + 350: 700, 701, 702, + 351: 700, 702, 703, + 352: 704, 705, 706, + 353: 704, 706, 707, + 354: 708, 709, 710, + 355: 708, 710, 711, + 356: 712, 713, 714, + 357: 712, 714, 715, + 358: 716, 717, 718, + 359: 716, 718, 719, + 360: 720, 721, 722, + 361: 720, 722, 723, + 362: 724, 725, 726, + 363: 724, 726, 727, + 364: 728, 729, 730, + 365: 728, 730, 731, + 366: 732, 733, 734, + 367: 732, 734, 735, + 368: 736, 737, 738, + 369: 736, 738, 739, + 370: 740, 741, 742, + 371: 740, 742, 743, + 372: 744, 745, 746, + 373: 744, 746, 747, + 374: 748, 749, 750, + 375: 748, 750, 751, + 376: 752, 753, 754, + 377: 752, 754, 755, + 378: 756, 757, 758, + 379: 756, 758, 759, + 380: 760, 761, 762, + 381: 760, 762, 763, + 382: 764, 765, 766, + 383: 764, 766, 767, + 384: 768, 769, 770, + 385: 768, 770, 771, + 386: 772, 773, 774, + 387: 772, 774, 775, + 388: 776, 777, 778, + 389: 776, 778, 779, + 390: 780, 781, 782, + 391: 780, 782, 783, + 392: 784, 785, 786, + 393: 784, 786, 787, + 394: 788, 789, 790, + 395: 788, 790, 791, + 396: 792, 793, 794, + 397: 792, 794, 795, + 398: 796, 797, 798, + 399: 796, 798, 799, + 400: 800, 801, 802, + 401: 800, 802, 803, + 402: 804, 805, 806, + 403: 804, 806, 807, + 404: 808, 809, 810, + 405: 808, 810, 811, + 406: 812, 813, 814, + 407: 812, 814, 815, + 408: 816, 817, 818, + 409: 816, 818, 819, + 410: 820, 821, 822, + 411: 820, 822, 823, + 412: 824, 825, 826, + 413: 824, 826, 827, + 414: 828, 829, 830, + 415: 828, 830, 831, + 416: 832, 833, 834, + 417: 832, 834, 835, + 418: 836, 837, 838, + 419: 836, 838, 839, + 420: 840, 841, 842, + 421: 840, 842, 843, + 422: 844, 845, 846, + 423: 844, 846, 847, + 424: 848, 849, 850, + 425: 848, 850, 851, + 426: 852, 853, 854, + 427: 852, 854, 855, + 428: 856, 857, 858, + 429: 856, 858, 859, + 430: 860, 861, 862, + 431: 860, 862, 863, + 432: 864, 865, 866, + 433: 864, 866, 867, + 434: 868, 869, 870, + 435: 868, 870, 871, + 436: 872, 873, 874, + 437: 872, 874, 875, + 438: 876, 877, 878, + 439: 876, 878, 879, + 440: 880, 881, 882, + 441: 880, 882, 883, + 442: 884, 885, 886, + 443: 884, 886, 887, + 444: 888, 889, 890, + 445: 888, 890, 891, + 446: 892, 893, 894, + 447: 892, 894, 895, + 448: 896, 897, 898, + 449: 896, 898, 899, + 450: 900, 901, 902, + 451: 900, 902, 903, + 452: 904, 905, 906, + 453: 904, 906, 907, + 454: 908, 909, 910, + 455: 908, 910, 911, + 456: 912, 913, 914, + 457: 912, 914, 915, + 458: 916, 917, 918, + 459: 916, 918, 919, + 460: 920, 921, 922, + 461: 920, 922, 923, + 462: 924, 925, 926, + 463: 924, 926, 927, + 464: 928, 929, 930, + 465: 928, 930, 931, + 466: 932, 933, 934, + 467: 932, 934, 935, + 468: 936, 937, 938, + 469: 936, 938, 939, + 470: 940, 941, 942, + 471: 940, 942, 943, + 472: 944, 945, 946, + 473: 944, 946, 947, + 474: 948, 949, 950, + 475: 948, 950, 951, + 476: 952, 953, 954, + 477: 952, 954, 955, + 478: 956, 957, 958, + 479: 956, 958, 959, + 480: 960, 961, 962, + 481: 960, 962, 963, + 482: 964, 965, 966, + 483: 964, 966, 967, + 484: 968, 969, 970, + 485: 968, 970, 971, + 486: 972, 973, 974, + 487: 972, 974, 975, + 488: 976, 977, 978, + 489: 976, 978, 979, + 490: 980, 981, 982, + 491: 980, 982, 983, + 492: 984, 985, 986, + 493: 984, 986, 987, + 494: 988, 989, 990, + 495: 988, 990, 991, + 496: 992, 993, 994, + 497: 992, 994, 995, + 498: 996, 997, 998, + 499: 996, 998, 999, + 500: 1000, 1001, 1002, + 501: 1000, 1002, 1003, + 502: 1004, 1005, 1006, + 503: 1004, 1006, 1007, + 504: 1008, 1009, 1010, + 505: 1008, 1010, 1011, + 506: 1012, 1013, 1014, + 507: 1012, 1014, 1015, + 508: 1016, 1017, 1018, + 509: 1016, 1018, 1019, + 510: 1020, 1021, 1022, + 511: 1020, 1022, 1023, + 512: 1024, 1025, 1026, + 513: 1024, 1026, 1027, + 514: 1028, 1029, 1030, + 515: 1028, 1030, 1031, + 516: 1032, 1033, 1034, + 517: 1032, 1034, 1035, + 518: 1036, 1037, 1038, + 519: 1036, 1038, 1039, + 520: 1040, 1041, 1042, + 521: 1040, 1042, 1043, + 522: 1044, 1045, 1046, + 523: 1044, 1046, 1047, + 524: 1048, 1049, 1050, + 525: 1048, 1050, 1051, + 526: 1052, 1053, 1054, + 527: 1052, 1054, 1055, + 528: 1056, 1057, 1058, + 529: 1056, 1058, 1059, + 530: 1060, 1061, 1062, + 531: 1060, 1062, 1063, + 532: 1064, 1065, 1066, + 533: 1064, 1066, 1067, + 534: 1068, 1069, 1070, + 535: 1068, 1070, 1071, + 536: 1072, 1073, 1074, + 537: 1072, 1074, 1075, + 538: 1076, 1077, 1078, + 539: 1076, 1078, 1079, + 540: 1080, 1081, 1082, + 541: 1080, 1082, 1083, + 542: 1084, 1085, 1086, + 543: 1084, 1086, 1087, + 544: 1088, 1089, 1090, + 545: 1088, 1090, 1091, + 546: 1092, 1093, 1094, + 547: 1092, 1094, 1095, + 548: 1096, 1097, 1098, + 549: 1096, 1098, 1099, + 550: 1100, 1101, 1102, + 551: 1100, 1102, 1103, + 552: 1104, 1105, 1106, + 553: 1104, 1106, 1107, + 554: 1108, 1109, 1110, + 555: 1108, 1110, 1111, + 556: 1112, 1113, 1114, + 557: 1112, 1114, 1115, + 558: 1116, 1117, 1118, + 559: 1116, 1118, 1119, + 560: 1120, 1121, 1122, + 561: 1120, 1122, 1123, + 562: 1124, 1125, 1126, + 563: 1124, 1126, 1127, + 564: 1128, 1129, 1130, + 565: 1128, 1130, 1131, + 566: 1132, 1133, 1134, + 567: 1132, 1134, 1135, + 568: 1136, 1137, 1138, + 569: 1136, 1138, 1139, + 570: 1140, 1141, 1142, + 571: 1140, 1142, 1143, + 572: 1144, 1145, 1146, + 573: 1144, 1146, 1147, + 574: 1148, 1149, 1150, + 575: 1148, 1150, 1151, + 576: 1152, 1153, 1154, + 577: 1152, 1154, 1155, + 578: 1156, 1157, 1158, + 579: 1156, 1158, 1159, + 580: 1160, 1161, 1162, + 581: 1160, 1162, 1163, + 582: 1164, 1165, 1166, + 583: 1164, 1166, 1167, + 584: 1168, 1169, 1170, + 585: 1168, 1170, 1171, + 586: 1172, 1173, 1174, + 587: 1172, 1174, 1175, + 588: 1176, 1177, 1178, + 589: 1176, 1178, 1179, + 590: 1180, 1181, 1182, + 591: 1180, 1182, 1183, + 592: 1184, 1185, 1186, + 593: 1184, 1186, 1187, + 594: 1188, 1189, 1190, + 595: 1188, 1190, 1191, + 596: 1192, 1193, 1194, + 597: 1192, 1194, 1195, + 598: 1196, 1197, 1198, + 599: 1196, 1198, 1199, + 600: 1200, 1201, 1202, + 601: 1200, 1202, 1203, + 602: 1204, 1205, 1206, + 603: 1204, 1206, 1207, + 604: 1208, 1209, 1210, + 605: 1208, 1210, 1211, + 606: 1212, 1213, 1214, + 607: 1212, 1214, 1215, + 608: 1216, 1217, 1218, + 609: 1216, 1218, 1219, + 610: 1220, 1221, 1222, + 611: 1220, 1222, 1223, + 612: 1224, 1225, 1226, + 613: 1224, 1226, 1227, + 614: 1228, 1229, 1230, + 615: 1228, 1230, 1231, + 616: 1232, 1233, 1234, + 617: 1232, 1234, 1235, + 618: 1236, 1237, 1238, + 619: 1236, 1238, 1239, + 620: 1240, 1241, 1242, + 621: 1240, 1242, 1243, + 622: 1244, 1245, 1246, + 623: 1244, 1246, 1247, + 624: 1248, 1249, 1250, + 625: 1248, 1250, 1251, + 626: 1252, 1253, 1254, + 627: 1252, 1254, 1255, + 628: 1256, 1257, 1258, + 629: 1256, 1258, 1259, + 630: 1260, 1261, 1262, + 631: 1260, 1262, 1263, + 632: 1264, 1265, 1266, + 633: 1264, 1266, 1267, + 634: 1268, 1269, 1270, + 635: 1268, 1270, 1271, + 636: 1272, 1273, 1274, + 637: 1272, 1274, 1275, + 638: 1276, 1277, 1278, + 639: 1276, 1278, 1279, + 640: 1280, 1281, 1282, + 641: 1280, 1282, 1283, + 642: 1284, 1285, 1286, + 643: 1284, 1286, 1287, + 644: 1288, 1289, 1290, + 645: 1288, 1290, 1291, + 646: 1292, 1293, 1294, + 647: 1292, 1294, 1295, + 648: 1296, 1297, 1298, + 649: 1296, 1298, 1299, + 650: 1300, 1301, 1302, + 651: 1300, 1302, 1303, + 652: 1304, 1305, 1306, + 653: 1304, 1306, 1307, + 654: 1308, 1309, 1310, + 655: 1308, 1310, 1311, + 656: 1312, 1313, 1314, + 657: 1312, 1314, 1315, + 658: 1316, 1317, 1318, + 659: 1316, 1318, 1319, + 660: 1320, 1321, 1322, + 661: 1320, 1322, 1323, + 662: 1324, 1325, 1326, + 663: 1324, 1326, 1327, + 664: 1328, 1329, 1330, + 665: 1328, 1330, 1331, + 666: 1332, 1333, 1334, + 667: 1332, 1334, 1335, + 668: 1336, 1337, 1338, + 669: 1336, 1338, 1339, + 670: 1340, 1341, 1342, + 671: 1340, 1342, 1343, + 672: 1344, 1345, 1346, + 673: 1344, 1346, 1347, + 674: 1348, 1349, 1350, + 675: 1348, 1350, 1351, + 676: 1352, 1353, 1354, + 677: 1352, 1354, 1355, + 678: 1356, 1357, 1358, + 679: 1356, 1358, 1359, + 680: 1360, 1361, 1362, + 681: 1360, 1362, 1363, + 682: 1364, 1365, 1366, + 683: 1364, 1366, 1367, + 684: 1368, 1369, 1370, + 685: 1368, 1370, 1371, + 686: 1372, 1373, 1374, + 687: 1372, 1374, 1375, + 688: 1376, 1377, 1378, + 689: 1376, 1378, 1379, + 690: 1380, 1381, 1382, + 691: 1380, 1382, 1383, + 692: 1384, 1385, 1386, + 693: 1384, 1386, 1387, + 694: 1388, 1389, 1390, + 695: 1388, 1390, 1391, + 696: 1392, 1393, 1394, + 697: 1392, 1394, 1395, + 698: 1396, 1397, 1398, + 699: 1396, 1398, 1399, + 700: 1400, 1401, 1402, + 701: 1400, 1402, 1403, + 702: 1404, 1405, 1406, + 703: 1404, 1406, 1407, + 704: 1408, 1409, 1410, + 705: 1408, 1410, 1411, + 706: 1412, 1413, 1414, + 707: 1412, 1414, 1415, + 708: 1416, 1417, 1418, + 709: 1416, 1418, 1419, + 710: 1420, 1421, 1422, + 711: 1420, 1422, 1423, + 712: 1424, 1425, 1426, + 713: 1424, 1426, 1427, + 714: 1428, 1429, 1430, + 715: 1428, 1430, 1431, + 716: 1432, 1433, 1434, + 717: 1432, 1434, 1435, + 718: 1436, 1437, 1438, + 719: 1436, 1438, 1439, + 720: 1440, 1441, 1442, + 721: 1440, 1442, 1443, + 722: 1444, 1445, 1446, + 723: 1444, 1446, 1447, + 724: 1448, 1449, 1450, + 725: 1448, 1450, 1451, + 726: 1452, 1453, 1454, + 727: 1452, 1454, 1455, + 728: 1456, 1457, 1458, + 729: 1456, 1458, 1459, + 730: 1460, 1461, 1462, + 731: 1460, 1462, 1463, + 732: 1464, 1465, 1466, + 733: 1464, 1466, 1467, + 734: 1468, 1469, 1470, + 735: 1468, 1470, 1471, + 736: 1472, 1473, 1474, + 737: 1472, 1474, 1475, + 738: 1476, 1477, 1478, + 739: 1476, 1478, 1479, + 740: 1480, 1481, 1482, + 741: 1480, 1482, 1483, + 742: 1484, 1485, 1486, + 743: 1484, 1486, 1487, + 744: 1488, 1489, 1490, + 745: 1488, 1490, 1491, + 746: 1492, 1493, 1494, + 747: 1492, 1494, 1495, + 748: 1496, 1497, 1498, + 749: 1496, 1498, 1499, + 750: 1500, 1501, 1502, + 751: 1500, 1502, 1503, + 752: 1504, 1505, 1506, + 753: 1504, 1506, 1507, + 754: 1508, 1509, 1510, + 755: 1508, 1510, 1511, + 756: 1512, 1513, 1514, + 757: 1512, 1514, 1515, + 758: 1516, 1517, 1518, + 759: 1516, 1518, 1519, + 760: 1520, 1521, 1522, + 761: 1520, 1522, 1523, + 762: 1524, 1525, 1526, + 763: 1524, 1526, 1527, + 764: 1528, 1529, 1530, + 765: 1528, 1530, 1531, + 766: 1532, 1533, 1534, + 767: 1532, 1534, 1535, + 768: 1536, 1537, 1538, + 769: 1536, 1538, 1539, + 770: 1540, 1541, 1542, + 771: 1540, 1542, 1543, + 772: 1544, 1545, 1546, + 773: 1544, 1546, 1547, + 774: 1548, 1549, 1550, + 775: 1548, 1550, 1551, + 776: 1552, 1553, 1554, + 777: 1552, 1554, 1555, + 778: 1556, 1557, 1558, + 779: 1556, 1558, 1559, + 780: 1560, 1561, 1562, + 781: 1560, 1562, 1563, + 782: 1564, 1565, 1566, + 783: 1564, 1566, 1567, + 784: 1568, 1569, 1570, + 785: 1568, 1570, 1571, + 786: 1572, 1573, 1574, + 787: 1572, 1574, 1575, + 788: 1576, 1577, 1578, + 789: 1576, 1578, 1579, + 790: 1580, 1581, 1582, + 791: 1580, 1582, 1583, + 792: 1584, 1585, 1586, + 793: 1584, 1586, 1587, + 794: 1588, 1589, 1590, + 795: 1588, 1590, 1591, + 796: 1592, 1593, 1594, + 797: 1592, 1594, 1595, + 798: 1596, 1597, 1598, + 799: 1596, 1598, 1599, + 800: 1600, 1601, 1602, + 801: 1600, 1602, 1603, + 802: 1604, 1605, 1606, + 803: 1604, 1606, 1607, + 804: 1608, 1609, 1610, + 805: 1608, 1610, 1611, + 806: 1612, 1613, 1614, + 807: 1612, 1614, 1615, + 808: 1616, 1617, 1618, + 809: 1616, 1618, 1619, + 810: 1620, 1621, 1622, + 811: 1620, 1622, 1623, + 812: 1624, 1625, 1626, + 813: 1624, 1626, 1627, + 814: 1628, 1629, 1630, + 815: 1628, 1630, 1631, + 816: 1632, 1633, 1634, + 817: 1632, 1634, 1635, + 818: 1636, 1637, 1638, + 819: 1636, 1638, 1639, + 820: 1640, 1641, 1642, + 821: 1640, 1642, 1643, + 822: 1644, 1645, 1646, + 823: 1644, 1646, 1647, + 824: 1648, 1649, 1650, + 825: 1648, 1650, 1651, + 826: 1652, 1653, 1654, + 827: 1652, 1654, 1655, + 828: 1656, 1657, 1658, + 829: 1656, 1658, 1659, + 830: 1660, 1661, 1662, + 831: 1660, 1662, 1663, + 832: 1664, 1665, 1666, + 833: 1664, 1666, 1667, + 834: 1668, 1669, 1670, + 835: 1668, 1670, 1671, + 836: 1672, 1673, 1674, + 837: 1672, 1674, 1675, + 838: 1676, 1677, 1678, + 839: 1676, 1678, 1679, + 840: 1680, 1681, 1682, + 841: 1680, 1682, 1683, + 842: 1684, 1685, 1686, + 843: 1684, 1686, 1687, + 844: 1688, 1689, 1690, + 845: 1688, 1690, 1691, + 846: 1692, 1693, 1694, + 847: 1692, 1694, 1695, + 848: 1696, 1697, 1698, + 849: 1696, 1698, 1699, + 850: 1700, 1701, 1702, + 851: 1700, 1702, 1703, + 852: 1704, 1705, 1706, + 853: 1704, 1706, 1707, + 854: 1708, 1709, 1710, + 855: 1708, 1710, 1711, + 856: 1712, 1713, 1714, + 857: 1712, 1714, 1715, + 858: 1716, 1717, 1718, + 859: 1716, 1718, 1719, + 860: 1720, 1721, 1722, + 861: 1720, 1722, 1723, + 862: 1724, 1725, 1726, + 863: 1724, 1726, 1727, + 864: 1728, 1729, 1730, + 865: 1728, 1730, 1731, + 866: 1732, 1733, 1734, + 867: 1732, 1734, 1735, + 868: 1736, 1737, 1738, + 869: 1736, 1738, 1739, + 870: 1740, 1741, 1742, + 871: 1740, 1742, 1743, + 872: 1744, 1745, 1746, + 873: 1744, 1746, 1747, + 874: 1748, 1749, 1750, + 875: 1748, 1750, 1751, + 876: 1752, 1753, 1754, + 877: 1752, 1754, 1755, + 878: 1756, 1757, 1758, + 879: 1756, 1758, 1759, + 880: 1760, 1761, 1762, + 881: 1760, 1762, 1763, + 882: 1764, 1765, 1766, + 883: 1764, 1766, 1767, + 884: 1768, 1769, 1770, + 885: 1768, 1770, 1771, + 886: 1772, 1773, 1774, + 887: 1772, 1774, 1775, + 888: 1776, 1777, 1778, + 889: 1776, 1778, 1779, + 890: 1780, 1781, 1782, + 891: 1780, 1782, 1783, + 892: 1784, 1785, 1786, + 893: 1784, 1786, 1787, + 894: 1788, 1789, 1790, + 895: 1788, 1790, 1791, + 896: 1792, 1793, 1794, + 897: 1792, 1794, 1795, + 898: 1796, 1797, 1798, + 899: 1796, 1798, 1799, + 900: 1800, 1801, 1802, + 901: 1800, 1802, 1803, + 902: 1804, 1805, 1806, + 903: 1804, 1806, 1807, + 904: 1808, 1809, 1810, + 905: 1808, 1810, 1811, + 906: 1812, 1813, 1814, + 907: 1812, 1814, 1815, + 908: 1816, 1817, 1818, + 909: 1816, 1818, 1819, + 910: 1820, 1821, 1822, + 911: 1820, 1822, 1823, + 912: 1824, 1825, 1826, + 913: 1824, 1826, 1827, + 914: 1828, 1829, 1830, + 915: 1828, 1830, 1831, + 916: 1832, 1833, 1834, + 917: 1832, 1834, 1835, + 918: 1836, 1837, 1838, + 919: 1836, 1838, 1839, + 920: 1840, 1841, 1842, + 921: 1840, 1842, 1843, + 922: 1844, 1845, 1846, + 923: 1844, 1846, 1847, + 924: 1848, 1849, 1850, + 925: 1848, 1850, 1851, + 926: 1852, 1853, 1854, + 927: 1852, 1854, 1855, + 928: 1856, 1857, 1858, + 929: 1856, 1858, 1859, + 930: 1860, 1861, 1862, + 931: 1860, 1862, 1863, + 932: 1864, 1865, 1866, + 933: 1864, 1866, 1867, + 934: 1868, 1869, 1870, + 935: 1868, 1870, 1871, + 936: 1872, 1873, 1874, + 937: 1872, 1874, 1875, + 938: 1876, 1877, 1878, + 939: 1876, 1878, 1879, + 940: 1880, 1881, 1882, + 941: 1880, 1882, 1883, + 942: 1884, 1885, 1886, + 943: 1884, 1886, 1887, + 944: 1888, 1889, 1890, + 945: 1888, 1890, 1891, + 946: 1892, 1893, 1894, + 947: 1892, 1894, 1895, + 948: 1896, 1897, 1898, + 949: 1896, 1898, 1899, + 950: 1900, 1901, 1902, + 951: 1900, 1902, 1903, + 952: 1904, 1905, 1906, + 953: 1904, 1906, 1907, + 954: 1908, 1909, 1910, + 955: 1908, 1910, 1911, + 956: 1912, 1913, 1914, + 957: 1912, 1914, 1915, + 958: 1916, 1917, 1918, + 959: 1916, 1918, 1919, + 960: 1920, 1921, 1922, + 961: 1920, 1922, 1923, + 962: 1924, 1925, 1926, + 963: 1924, 1926, 1927, + 964: 1928, 1929, 1930, + 965: 1928, 1930, 1931, + 966: 1932, 1933, 1934, + 967: 1932, 1934, 1935, + 968: 1936, 1937, 1938, + 969: 1936, 1938, 1939, + 970: 1940, 1941, 1942, + 971: 1940, 1942, 1943, + 972: 1944, 1945, 1946, + 973: 1944, 1946, 1947, + 974: 1948, 1949, 1950, + 975: 1948, 1950, 1951, + 976: 1952, 1953, 1954, + 977: 1952, 1954, 1955, + 978: 1956, 1957, 1958, + 979: 1956, 1958, 1959, + 980: 1960, 1961, 1962, + 981: 1960, 1962, 1963, + 982: 1964, 1965, 1966, + 983: 1964, 1966, 1967, + 984: 1968, 1969, 1970, + 985: 1968, 1970, 1971, + 986: 1972, 1973, 1974, + 987: 1972, 1974, 1975, + 988: 1976, 1977, 1978, + 989: 1976, 1978, 1979, + 990: 1980, 1981, 1982, + 991: 1980, 1982, 1983, + 992: 1984, 1985, 1986, + 993: 1984, 1986, 1987, + 994: 1988, 1989, 1990, + 995: 1988, 1990, 1991, + 996: 1992, 1993, 1994, + 997: 1992, 1994, 1995, + 998: 1996, 1997, 1998, + 999: 1996, 1998, 1999, + 1000: 2000, 2001, 2002, + 1001: 2000, 2002, 2003, + 1002: 2004, 2005, 2006, + 1003: 2004, 2006, 2007, + 1004: 2008, 2009, 2010, + 1005: 2008, 2010, 2011, + 1006: 2012, 2013, 2014, + 1007: 2012, 2014, 2015, + 1008: 2016, 2017, 2018, + 1009: 2016, 2018, 2019, + 1010: 2020, 2021, 2022, + 1011: 2020, 2022, 2023, + 1012: 2024, 2025, 2026, + 1013: 2024, 2026, 2027, + 1014: 2028, 2029, 2030, + 1015: 2028, 2030, 2031, + 1016: 2032, 2033, 2034, + 1017: 2032, 2034, 2035, + 1018: 2036, 2037, 2038, + 1019: 2036, 2038, 2039, + 1020: 2040, 2041, 2042, + 1021: 2040, 2042, 2043, + 1022: 2044, 2045, 2046, + 1023: 2044, 2046, 2047, + 1024: 2048, 2049, 2050, + 1025: 2048, 2050, 2051, + 1026: 2052, 2053, 2054, + 1027: 2052, 2054, 2055, + 1028: 2056, 2057, 2058, + 1029: 2056, 2058, 2059, + 1030: 2060, 2061, 2062, + 1031: 2060, 2062, 2063, + 1032: 2064, 2065, 2066, + 1033: 2064, 2066, 2067, + 1034: 2068, 2069, 2070, + 1035: 2068, 2070, 2071, + 1036: 2072, 2073, 2074, + 1037: 2072, 2074, 2075, + 1038: 2076, 2077, 2078, + 1039: 2076, 2078, 2079, + 1040: 2080, 2081, 2082, + 1041: 2080, 2082, 2083, + 1042: 2084, 2085, 2086, + 1043: 2084, 2086, 2087, + 1044: 2088, 2089, 2090, + 1045: 2088, 2090, 2091, + 1046: 2092, 2093, 2094, + 1047: 2092, 2094, 2095, + 1048: 2096, 2097, 2098, + 1049: 2096, 2098, 2099, + 1050: 2100, 2101, 2102, + 1051: 2100, 2102, 2103, + 1052: 2104, 2105, 2106, + 1053: 2104, 2106, 2107, + 1054: 2108, 2109, 2110, + 1055: 2108, 2110, 2111, + 1056: 2112, 2113, 2114, + 1057: 2112, 2114, 2115, + 1058: 2116, 2117, 2118, + 1059: 2116, 2118, 2119, + 1060: 2120, 2121, 2122, + 1061: 2120, 2122, 2123, + 1062: 2124, 2125, 2126, + 1063: 2124, 2126, 2127, + 1064: 2128, 2129, 2130, + 1065: 2128, 2130, 2131, + 1066: 2132, 2133, 2134, + 1067: 2132, 2134, 2135, + 1068: 2136, 2137, 2138, + 1069: 2136, 2138, 2139, + 1070: 2140, 2141, 2142, + 1071: 2140, 2142, 2143, + 1072: 2144, 2145, 2146, + 1073: 2144, 2146, 2147, + 1074: 2148, 2149, 2150, + 1075: 2148, 2150, 2151, + 1076: 2152, 2153, 2154, + 1077: 2152, 2154, 2155, + 1078: 2156, 2157, 2158, + 1079: 2156, 2158, 2159, + 1080: 2160, 2161, 2162, + 1081: 2160, 2162, 2163, + 1082: 2164, 2165, 2166, + 1083: 2164, 2166, 2167, + 1084: 2168, 2169, 2170, + 1085: 2168, 2170, 2171, + 1086: 2172, 2173, 2174, + 1087: 2172, 2174, 2175, + 1088: 2176, 2177, 2178, + 1089: 2176, 2178, 2179, + 1090: 2180, 2181, 2182, + 1091: 2180, 2182, 2183, + 1092: 2184, 2185, 2186, + 1093: 2184, 2186, 2187, + 1094: 2188, 2189, 2190, + 1095: 2188, 2190, 2191, + 1096: 2192, 2193, 2194, + 1097: 2192, 2194, 2195, + 1098: 2196, 2197, 2198, + 1099: 2196, 2198, 2199, + 1100: 2200, 2201, 2202, + 1101: 2200, 2202, 2203, + 1102: 2204, 2205, 2206, + 1103: 2204, 2206, 2207, + 1104: 2208, 2209, 2210, + 1105: 2208, 2210, 2211, + 1106: 2212, 2213, 2214, + 1107: 2212, 2214, 2215, + 1108: 2216, 2217, 2218, + 1109: 2216, 2218, 2219, + 1110: 2220, 2221, 2222, + 1111: 2220, 2222, 2223, + 1112: 2224, 2225, 2226, + 1113: 2224, 2226, 2227, + 1114: 2228, 2229, 2230, + 1115: 2228, 2230, 2231, + 1116: 2232, 2233, 2234, + 1117: 2232, 2234, 2235, + 1118: 2236, 2237, 2238, + 1119: 2236, 2238, 2239, + 1120: 2240, 2241, 2242, + 1121: 2240, 2242, 2243, + 1122: 2244, 2245, 2246, + 1123: 2244, 2246, 2247, + 1124: 2248, 2249, 2250, + 1125: 2248, 2250, 2251, + 1126: 2252, 2253, 2254, + 1127: 2252, 2254, 2255, + 1128: 2256, 2257, 2258, + 1129: 2256, 2258, 2259, + 1130: 2260, 2261, 2262, + 1131: 2260, 2262, 2263, + 1132: 2264, 2265, 2266, + 1133: 2264, 2266, 2267, + 1134: 2268, 2269, 2270, + 1135: 2268, 2270, 2271, + 1136: 2272, 2273, 2274, + 1137: 2272, 2274, 2275, + 1138: 2276, 2277, 2278, + 1139: 2276, 2278, 2279, + 1140: 2280, 2281, 2282, + 1141: 2280, 2282, 2283, + 1142: 2284, 2285, 2286, + 1143: 2284, 2286, 2287, + 1144: 2288, 2289, 2290, + 1145: 2288, 2290, 2291, + 1146: 2292, 2293, 2294, + 1147: 2292, 2294, 2295, + 1148: 2296, 2297, 2298, + 1149: 2296, 2298, 2299, + 1150: 2300, 2301, 2302, + 1151: 2300, 2302, 2303, + FaceMaterialIds: Count 1152. Hash: 2033667258170256242 -Node Path: RootNode.Suzanne.transform +Node Name: Torus_optimized +Node Path: RootNode.Torus_optimized +Node Type: MeshData + Positions: Count 2304. Hash: 12560656679477605282 + 0: <-0.012500, 0.000000, 0.000000> + 1: <-0.012393, 0.000000, 0.001632> + 2: <-0.012061, 0.001250, 0.001588> + 3: <-0.012165, 0.001250, 0.000000> + 4: <-0.012165, 0.001250, 0.000000> + 5: <-0.012061, 0.001250, 0.001588> + 6: <-0.011154, 0.002165, 0.001468> + 7: <-0.011250, 0.002165, 0.000000> + 8: <-0.011250, 0.002165, 0.000000> + 9: <-0.011154, 0.002165, 0.001468> + 10: <-0.009914, 0.002500, 0.001305> + 11: <-0.010000, 0.002500, 0.000000> + 12: <-0.010000, 0.002500, 0.000000> + 13: <-0.009914, 0.002500, 0.001305> + 14: <-0.008675, 0.002165, 0.001142> + 15: <-0.008750, 0.002165, 0.000000> + 16: <-0.011250, -0.002165, 0.000000> + 17: <-0.011154, -0.002165, 0.001468> + 18: <-0.012061, -0.001250, 0.001588> + 19: <-0.012165, -0.001250, 0.000000> + 20: <-0.012165, -0.001250, 0.000000> + 21: <-0.012061, -0.001250, 0.001588> + 22: <-0.012393, 0.000000, 0.001632> + 23: <-0.012500, 0.000000, 0.000000> + 24: <-0.012393, 0.000000, 0.001632> + 25: <-0.012074, 0.000000, 0.003235> + 26: <-0.011751, 0.001250, 0.003149> + 27: <-0.012061, 0.001250, 0.001588> + 28: <-0.012061, 0.001250, 0.001588> + 29: <-0.011751, 0.001250, 0.003149> + 30: <-0.010867, 0.002165, 0.002912> + 31: <-0.011154, 0.002165, 0.001468> + 32: <-0.011154, 0.002165, 0.001468> + 33: <-0.010867, 0.002165, 0.002912> + 34: <-0.009659, 0.002500, 0.002588> + 35: <-0.009914, 0.002500, 0.001305> + 36: <-0.009914, 0.002500, 0.001305> + 37: <-0.009659, 0.002500, 0.002588> + 38: <-0.008452, 0.002165, 0.002265> + 39: <-0.008675, 0.002165, 0.001142> + 40: <-0.011154, -0.002165, 0.001468> + 41: <-0.010867, -0.002165, 0.002912> + 42: <-0.011751, -0.001250, 0.003149> + 43: <-0.012061, -0.001250, 0.001588> + 44: <-0.012061, -0.001250, 0.001588> + 45: <-0.011751, -0.001250, 0.003149> + 46: <-0.012074, 0.000000, 0.003235> + 47: <-0.012393, 0.000000, 0.001632> + 48: <-0.012074, 0.000000, 0.003235> + 49: <-0.011548, 0.000000, 0.004784> + 50: <-0.011239, 0.001250, 0.004655> + 51: <-0.011751, 0.001250, 0.003149> + 52: <-0.011751, 0.001250, 0.003149> + 53: <-0.011239, 0.001250, 0.004655> + 54: <-0.010394, 0.002165, 0.004305> + 55: <-0.010867, 0.002165, 0.002912> + 56: <-0.010867, 0.002165, 0.002912> + 57: <-0.010394, 0.002165, 0.004305> + 58: <-0.009239, 0.002500, 0.003827> + 59: <-0.009659, 0.002500, 0.002588> + 60: <-0.009659, 0.002500, 0.002588> + 61: <-0.009239, 0.002500, 0.003827> + 62: <-0.008084, 0.002165, 0.003348> + 63: <-0.008452, 0.002165, 0.002265> + 64: <-0.010867, -0.002165, 0.002912> + 65: <-0.010394, -0.002165, 0.004305> + 66: <-0.011239, -0.001250, 0.004655> + 67: <-0.011751, -0.001250, 0.003149> + 68: <-0.011751, -0.001250, 0.003149> + 69: <-0.011239, -0.001250, 0.004655> + 70: <-0.011548, 0.000000, 0.004784> + 71: <-0.012074, 0.000000, 0.003235> + 72: <-0.011548, 0.000000, 0.004784> + 73: <-0.010825, 0.000000, 0.006250> + 74: <-0.010535, 0.001250, 0.006083> + 75: <-0.011239, 0.001250, 0.004655> + 76: <-0.011239, 0.001250, 0.004655> + 77: <-0.010535, 0.001250, 0.006083> + 78: <-0.009743, 0.002165, 0.005625> + 79: <-0.010394, 0.002165, 0.004305> + 80: <-0.010394, 0.002165, 0.004305> + 81: <-0.009743, 0.002165, 0.005625> + 82: <-0.008660, 0.002500, 0.005000> + 83: <-0.009239, 0.002500, 0.003827> + 84: <-0.009239, 0.002500, 0.003827> + 85: <-0.008660, 0.002500, 0.005000> + 86: <-0.007578, 0.002165, 0.004375> + 87: <-0.008084, 0.002165, 0.003348> + 88: <-0.010394, -0.002165, 0.004305> + 89: <-0.009743, -0.002165, 0.005625> + 90: <-0.010535, -0.001250, 0.006083> + 91: <-0.011239, -0.001250, 0.004655> + 92: <-0.011239, -0.001250, 0.004655> + 93: <-0.010535, -0.001250, 0.006083> + 94: <-0.010825, 0.000000, 0.006250> + 95: <-0.011548, 0.000000, 0.004784> + 96: <-0.010825, 0.000000, 0.006250> + 97: <-0.009917, 0.000000, 0.007610> + 98: <-0.009651, 0.001250, 0.007406> + 99: <-0.010535, 0.001250, 0.006083> + 100: <-0.010535, 0.001250, 0.006083> + 101: <-0.009651, 0.001250, 0.007406> + 102: <-0.008925, 0.002165, 0.006849> + 103: <-0.009743, 0.002165, 0.005625> + 104: <-0.009743, 0.002165, 0.005625> + 105: <-0.008925, 0.002165, 0.006849> + 106: <-0.007934, 0.002500, 0.006088> + 107: <-0.008660, 0.002500, 0.005000> + 108: <-0.008660, 0.002500, 0.005000> + 109: <-0.007934, 0.002500, 0.006088> + 110: <-0.006942, 0.002165, 0.005327> + 111: <-0.007578, 0.002165, 0.004375> + 112: <-0.009743, -0.002165, 0.005625> + 113: <-0.008925, -0.002165, 0.006849> + 114: <-0.009651, -0.001250, 0.007406> + 115: <-0.010535, -0.001250, 0.006083> + 116: <-0.010535, -0.001250, 0.006083> + 117: <-0.009651, -0.001250, 0.007406> + 118: <-0.009917, 0.000000, 0.007610> + 119: <-0.010825, 0.000000, 0.006250> + 120: <-0.009917, 0.000000, 0.007610> + 121: <-0.008839, 0.000000, 0.008839> + 122: <-0.008602, 0.001250, 0.008602> + 123: <-0.009651, 0.001250, 0.007406> + 124: <-0.009651, 0.001250, 0.007406> + 125: <-0.008602, 0.001250, 0.008602> + 126: <-0.007955, 0.002165, 0.007955> + 127: <-0.008925, 0.002165, 0.006849> + 128: <-0.008925, 0.002165, 0.006849> + 129: <-0.007955, 0.002165, 0.007955> + 130: <-0.007071, 0.002500, 0.007071> + 131: <-0.007934, 0.002500, 0.006088> + 132: <-0.007934, 0.002500, 0.006088> + 133: <-0.007071, 0.002500, 0.007071> + 134: <-0.006187, 0.002165, 0.006187> + 135: <-0.006942, 0.002165, 0.005327> + 136: <-0.006942, 0.002165, 0.005327> + 137: <-0.006187, 0.002165, 0.006187> + 138: <-0.005540, 0.001250, 0.005540> + 139: <-0.006216, 0.001250, 0.004770> + 140: <-0.009651, -0.001250, 0.007406> + 141: <-0.008602, -0.001250, 0.008602> + 142: <-0.008839, 0.000000, 0.008839> + 143: <-0.009917, 0.000000, 0.007610> + 144: <-0.008839, 0.000000, 0.008839> + 145: <-0.007610, 0.000000, 0.009917> + 146: <-0.007406, 0.001250, 0.009651> + 147: <-0.008602, 0.001250, 0.008602> + 148: <-0.008602, 0.001250, 0.008602> + 149: <-0.007406, 0.001250, 0.009651> + 150: <-0.006849, 0.002165, 0.008925> + 151: <-0.007955, 0.002165, 0.007955> + 152: <-0.007955, 0.002165, 0.007955> + 153: <-0.006849, 0.002165, 0.008925> + 154: <-0.006088, 0.002500, 0.007934> + 155: <-0.007071, 0.002500, 0.007071> + 156: <-0.007071, 0.002500, 0.007071> + 157: <-0.006088, 0.002500, 0.007934> + 158: <-0.005327, 0.002165, 0.006942> + 159: <-0.006187, 0.002165, 0.006187> + 160: <-0.006187, 0.002165, 0.006187> + 161: <-0.005327, 0.002165, 0.006942> + 162: <-0.004770, 0.001250, 0.006216> + 163: <-0.005540, 0.001250, 0.005540> + 164: <-0.008602, -0.001250, 0.008602> + 165: <-0.007406, -0.001250, 0.009651> + 166: <-0.007610, 0.000000, 0.009917> + 167: <-0.008839, 0.000000, 0.008839> + 168: <-0.007610, 0.000000, 0.009917> + 169: <-0.006250, 0.000000, 0.010825> + 170: <-0.006083, 0.001250, 0.010535> + 171: <-0.007406, 0.001250, 0.009651> + 172: <-0.007406, 0.001250, 0.009651> + 173: <-0.006083, 0.001250, 0.010535> + 174: <-0.005625, 0.002165, 0.009743> + 175: <-0.006849, 0.002165, 0.008925> + 176: <-0.006849, 0.002165, 0.008925> + 177: <-0.005625, 0.002165, 0.009743> + 178: <-0.005000, 0.002500, 0.008660> + 179: <-0.006088, 0.002500, 0.007934> + 180: <-0.006088, 0.002500, 0.007934> + 181: <-0.005000, 0.002500, 0.008660> + 182: <-0.004375, 0.002165, 0.007578> + 183: <-0.005327, 0.002165, 0.006942> + 184: <-0.005327, 0.002165, 0.006942> + 185: <-0.004375, 0.002165, 0.007578> + 186: <-0.003917, 0.001250, 0.006785> + 187: <-0.004770, 0.001250, 0.006216> + 188: <-0.004770, 0.001250, 0.006216> + 189: <-0.003917, 0.001250, 0.006785> + 190: <-0.003750, 0.000000, 0.006495> + 191: <-0.004566, 0.000000, 0.005950> + 192: <-0.006083, 0.001250, 0.010535> + 193: <-0.004655, 0.001250, 0.011239> + 194: <-0.004305, 0.002165, 0.010394> + 195: <-0.005625, 0.002165, 0.009743> + 196: <-0.005625, 0.002165, 0.009743> + 197: <-0.004305, 0.002165, 0.010394> + 198: <-0.003827, 0.002500, 0.009239> + 199: <-0.005000, 0.002500, 0.008660> + 200: <-0.005000, 0.002500, 0.008660> + 201: <-0.003827, 0.002500, 0.009239> + 202: <-0.003348, 0.002165, 0.008084> + 203: <-0.004375, 0.002165, 0.007578> + 204: <-0.004375, 0.002165, 0.007578> + 205: <-0.003348, 0.002165, 0.008084> + 206: <-0.002998, 0.001250, 0.007239> + 207: <-0.003917, 0.001250, 0.006785> + 208: <-0.003917, 0.001250, 0.006785> + 209: <-0.002998, 0.001250, 0.007239> + 210: <-0.002870, 0.000000, 0.006929> + 211: <-0.003750, 0.000000, 0.006495> + 212: <-0.004655, 0.001250, 0.011239> + 213: <-0.003149, 0.001250, 0.011751> + 214: <-0.002912, 0.002165, 0.010867> + 215: <-0.004305, 0.002165, 0.010394> + 216: <-0.004305, 0.002165, 0.010394> + 217: <-0.002912, 0.002165, 0.010867> + 218: <-0.002588, 0.002500, 0.009659> + 219: <-0.003827, 0.002500, 0.009239> + 220: <-0.003827, 0.002500, 0.009239> + 221: <-0.002588, 0.002500, 0.009659> + 222: <-0.002265, 0.002165, 0.008452> + 223: <-0.003348, 0.002165, 0.008084> + 224: <-0.003348, 0.002165, 0.008084> + 225: <-0.002265, 0.002165, 0.008452> + 226: <-0.002028, 0.001250, 0.007568> + 227: <-0.002998, 0.001250, 0.007239> + 228: <-0.002998, 0.001250, 0.007239> + 229: <-0.002028, 0.001250, 0.007568> + 230: <-0.001941, 0.000000, 0.007244> + 231: <-0.002870, 0.000000, 0.006929> + 232: <-0.002870, 0.000000, 0.006929> + 233: <-0.001941, 0.000000, 0.007244> + 234: <-0.002028, -0.001250, 0.007568> + 235: <-0.002998, -0.001250, 0.007239> + 236: <-0.002912, 0.002165, 0.010867> + 237: <-0.001468, 0.002165, 0.011154> + 238: <-0.001305, 0.002500, 0.009914> + 239: <-0.002588, 0.002500, 0.009659> + 240: <-0.002588, 0.002500, 0.009659> + 241: <-0.001305, 0.002500, 0.009914> + 242: <-0.001142, 0.002165, 0.008675> + 243: <-0.002265, 0.002165, 0.008452> + 244: <-0.002265, 0.002165, 0.008452> + 245: <-0.001142, 0.002165, 0.008675> + 246: <-0.001023, 0.001250, 0.007768> + 247: <-0.002028, 0.001250, 0.007568> + 248: <-0.002028, 0.001250, 0.007568> + 249: <-0.001023, 0.001250, 0.007768> + 250: <-0.000979, 0.000000, 0.007436> + 251: <-0.001941, 0.000000, 0.007244> + 252: <-0.001941, 0.000000, 0.007244> + 253: <-0.000979, 0.000000, 0.007436> + 254: <-0.001023, -0.001250, 0.007768> + 255: <-0.002028, -0.001250, 0.007568> + 256: <-0.001468, 0.002165, 0.011154> + 257: <-0.000000, 0.002165, 0.011250> + 258: <-0.000000, 0.002500, 0.010000> + 259: <-0.001305, 0.002500, 0.009914> + 260: <-0.001305, 0.002500, 0.009914> + 261: <-0.000000, 0.002500, 0.010000> + 262: <-0.000000, 0.002165, 0.008750> + 263: <-0.001142, 0.002165, 0.008675> + 264: <-0.001142, 0.002165, 0.008675> + 265: <-0.000000, 0.002165, 0.008750> + 266: <-0.000000, 0.001250, 0.007835> + 267: <-0.001023, 0.001250, 0.007768> + 268: <-0.001023, 0.001250, 0.007768> + 269: <-0.000000, 0.001250, 0.007835> + 270: <-0.000000, 0.000000, 0.007500> + 271: <-0.000979, 0.000000, 0.007436> + 272: <-0.000979, 0.000000, 0.007436> + 273: <-0.000000, 0.000000, 0.007500> + 274: <-0.000000, -0.001250, 0.007835> + 275: <-0.001023, -0.001250, 0.007768> + 276: <-0.000000, 0.002165, 0.011250> + 277: < 0.001468, 0.002165, 0.011154> + 278: < 0.001305, 0.002500, 0.009914> + 279: <-0.000000, 0.002500, 0.010000> + 280: <-0.000000, 0.002500, 0.010000> + 281: < 0.001305, 0.002500, 0.009914> + 282: < 0.001142, 0.002165, 0.008675> + 283: <-0.000000, 0.002165, 0.008750> + 284: <-0.000000, 0.002165, 0.008750> + 285: < 0.001142, 0.002165, 0.008675> + 286: < 0.001023, 0.001250, 0.007768> + 287: <-0.000000, 0.001250, 0.007835> + 288: <-0.000000, 0.001250, 0.007835> + 289: < 0.001023, 0.001250, 0.007768> + 290: < 0.000979, 0.000000, 0.007436> + 291: <-0.000000, 0.000000, 0.007500> + 292: <-0.000000, 0.000000, 0.007500> + 293: < 0.000979, 0.000000, 0.007436> + 294: < 0.001023, -0.001250, 0.007768> + 295: <-0.000000, -0.001250, 0.007835> + 296: <-0.000000, -0.001250, 0.007835> + 297: < 0.001023, -0.001250, 0.007768> + 298: < 0.001142, -0.002165, 0.008675> + 299: <-0.000000, -0.002165, 0.008750> + 300: < 0.001468, 0.002165, 0.011154> + 301: < 0.002912, 0.002165, 0.010867> + 302: < 0.002588, 0.002500, 0.009659> + 303: < 0.001305, 0.002500, 0.009914> + 304: < 0.001305, 0.002500, 0.009914> + 305: < 0.002588, 0.002500, 0.009659> + 306: < 0.002265, 0.002165, 0.008452> + 307: < 0.001142, 0.002165, 0.008675> + 308: < 0.001142, 0.002165, 0.008675> + 309: < 0.002265, 0.002165, 0.008452> + 310: < 0.002028, 0.001250, 0.007568> + 311: < 0.001023, 0.001250, 0.007768> + 312: < 0.001023, 0.001250, 0.007768> + 313: < 0.002028, 0.001250, 0.007568> + 314: < 0.001941, 0.000000, 0.007244> + 315: < 0.000979, 0.000000, 0.007436> + 316: < 0.000979, 0.000000, 0.007436> + 317: < 0.001941, 0.000000, 0.007244> + 318: < 0.002028, -0.001250, 0.007568> + 319: < 0.001023, -0.001250, 0.007768> + 320: < 0.001023, -0.001250, 0.007768> + 321: < 0.002028, -0.001250, 0.007568> + 322: < 0.002265, -0.002165, 0.008452> + 323: < 0.001142, -0.002165, 0.008675> + 324: < 0.002912, 0.002165, 0.010867> + 325: < 0.004305, 0.002165, 0.010394> + 326: < 0.003827, 0.002500, 0.009239> + 327: < 0.002588, 0.002500, 0.009659> + 328: < 0.002588, 0.002500, 0.009659> + 329: < 0.003827, 0.002500, 0.009239> + 330: < 0.003348, 0.002165, 0.008084> + 331: < 0.002265, 0.002165, 0.008452> + 332: < 0.002265, 0.002165, 0.008452> + 333: < 0.003348, 0.002165, 0.008084> + 334: < 0.002998, 0.001250, 0.007239> + 335: < 0.002028, 0.001250, 0.007568> + 336: < 0.002028, 0.001250, 0.007568> + 337: < 0.002998, 0.001250, 0.007239> + 338: < 0.002870, 0.000000, 0.006929> + 339: < 0.001941, 0.000000, 0.007244> + 340: < 0.001941, 0.000000, 0.007244> + 341: < 0.002870, 0.000000, 0.006929> + 342: < 0.002998, -0.001250, 0.007239> + 343: < 0.002028, -0.001250, 0.007568> + 344: < 0.002028, -0.001250, 0.007568> + 345: < 0.002998, -0.001250, 0.007239> + 346: < 0.003348, -0.002165, 0.008084> + 347: < 0.002265, -0.002165, 0.008452> + 348: < 0.004305, 0.002165, 0.010394> + 349: < 0.005625, 0.002165, 0.009743> + 350: < 0.005000, 0.002500, 0.008660> + 351: < 0.003827, 0.002500, 0.009239> + 352: < 0.003827, 0.002500, 0.009239> + 353: < 0.005000, 0.002500, 0.008660> + 354: < 0.004375, 0.002165, 0.007578> + 355: < 0.003348, 0.002165, 0.008084> + 356: < 0.003348, 0.002165, 0.008084> + 357: < 0.004375, 0.002165, 0.007578> + 358: < 0.003917, 0.001250, 0.006785> + 359: < 0.002998, 0.001250, 0.007239> + 360: < 0.002998, 0.001250, 0.007239> + 361: < 0.003917, 0.001250, 0.006785> + 362: < 0.003750, 0.000000, 0.006495> + 363: < 0.002870, 0.000000, 0.006929> + 364: < 0.002870, 0.000000, 0.006929> + 365: < 0.003750, 0.000000, 0.006495> + 366: < 0.003917, -0.001250, 0.006785> + 367: < 0.002998, -0.001250, 0.007239> + 368: < 0.002998, -0.001250, 0.007239> + 369: < 0.003917, -0.001250, 0.006785> + 370: < 0.004375, -0.002165, 0.007578> + 371: < 0.003348, -0.002165, 0.008084> + 372: < 0.005625, 0.002165, 0.009743> + 373: < 0.006849, 0.002165, 0.008925> + 374: < 0.006088, 0.002500, 0.007934> + 375: < 0.005000, 0.002500, 0.008660> + 376: < 0.005000, 0.002500, 0.008660> + 377: < 0.006088, 0.002500, 0.007934> + 378: < 0.005327, 0.002165, 0.006942> + 379: < 0.004375, 0.002165, 0.007578> + 380: < 0.004375, 0.002165, 0.007578> + 381: < 0.005327, 0.002165, 0.006942> + 382: < 0.004770, 0.001250, 0.006216> + 383: < 0.003917, 0.001250, 0.006785> + 384: < 0.003917, -0.001250, 0.006785> + 385: < 0.004770, -0.001250, 0.006216> + 386: < 0.005327, -0.002165, 0.006942> + 387: < 0.004375, -0.002165, 0.007578> + 388: <-0.012074, 0.000000, -0.003235> + 389: <-0.012393, 0.000000, -0.001632> + 390: <-0.012061, 0.001250, -0.001588> + 391: <-0.011751, 0.001250, -0.003149> + 392: <-0.011751, 0.001250, -0.003149> + 393: <-0.012061, 0.001250, -0.001588> + 394: <-0.011154, 0.002165, -0.001468> + 395: <-0.010867, 0.002165, -0.002912> + 396: <-0.010867, 0.002165, -0.002912> + 397: <-0.011154, 0.002165, -0.001468> + 398: <-0.009914, 0.002500, -0.001305> + 399: <-0.009659, 0.002500, -0.002588> + 400: <-0.009659, 0.002500, -0.002588> + 401: <-0.009914, 0.002500, -0.001305> + 402: <-0.008675, 0.002165, -0.001142> + 403: <-0.008452, 0.002165, -0.002265> + 404: <-0.010867, -0.002165, -0.002912> + 405: <-0.011154, -0.002165, -0.001468> + 406: <-0.012061, -0.001250, -0.001588> + 407: <-0.011751, -0.001250, -0.003149> + 408: <-0.011751, -0.001250, -0.003149> + 409: <-0.012061, -0.001250, -0.001588> + 410: <-0.012393, 0.000000, -0.001632> + 411: <-0.012074, 0.000000, -0.003235> + 412: <-0.012393, 0.000000, -0.001632> + 413: <-0.012500, 0.000000, 0.000000> + 414: <-0.012165, 0.001250, 0.000000> + 415: <-0.012061, 0.001250, -0.001588> + 416: <-0.012061, 0.001250, -0.001588> + 417: <-0.012165, 0.001250, 0.000000> + 418: <-0.011250, 0.002165, 0.000000> + 419: <-0.011154, 0.002165, -0.001468> + 420: <-0.011154, 0.002165, -0.001468> + 421: <-0.011250, 0.002165, 0.000000> + 422: <-0.010000, 0.002500, 0.000000> + 423: <-0.009914, 0.002500, -0.001305> + 424: <-0.009914, 0.002500, -0.001305> + 425: <-0.010000, 0.002500, 0.000000> + 426: <-0.008750, 0.002165, 0.000000> + 427: <-0.008675, 0.002165, -0.001142> + 428: <-0.011154, -0.002165, -0.001468> + 429: <-0.011250, -0.002165, 0.000000> + 430: <-0.012165, -0.001250, 0.000000> + 431: <-0.012061, -0.001250, -0.001588> + 432: <-0.012061, -0.001250, -0.001588> + 433: <-0.012165, -0.001250, 0.000000> + 434: <-0.012500, 0.000000, 0.000000> + 435: <-0.012393, 0.000000, -0.001632> + 436: <-0.008750, 0.002165, 0.000000> + 437: <-0.008675, 0.002165, 0.001142> + 438: <-0.007768, 0.001250, 0.001023> + 439: <-0.007835, 0.001250, 0.000000> + 440: <-0.007835, 0.001250, 0.000000> + 441: <-0.007768, 0.001250, 0.001023> + 442: <-0.007436, 0.000000, 0.000979> + 443: <-0.007500, 0.000000, 0.000000> + 444: <-0.007500, 0.000000, 0.000000> + 445: <-0.007436, 0.000000, 0.000979> + 446: <-0.007768, -0.001250, 0.001023> + 447: <-0.007835, -0.001250, 0.000000> + 448: <-0.007835, -0.001250, 0.000000> + 449: <-0.007768, -0.001250, 0.001023> + 450: <-0.008675, -0.002165, 0.001142> + 451: <-0.008750, -0.002165, 0.000000> + 452: <-0.008750, -0.002165, 0.000000> + 453: <-0.008675, -0.002165, 0.001142> + 454: <-0.009914, -0.002500, 0.001305> + 455: <-0.010000, -0.002500, 0.000000> + 456: <-0.010000, -0.002500, 0.000000> + 457: <-0.009914, -0.002500, 0.001305> + 458: <-0.011154, -0.002165, 0.001468> + 459: <-0.011250, -0.002165, 0.000000> + 460: <-0.008675, 0.002165, 0.001142> + 461: <-0.008452, 0.002165, 0.002265> + 462: <-0.007568, 0.001250, 0.002028> + 463: <-0.007768, 0.001250, 0.001023> + 464: <-0.007768, 0.001250, 0.001023> + 465: <-0.007568, 0.001250, 0.002028> + 466: <-0.007244, 0.000000, 0.001941> + 467: <-0.007436, 0.000000, 0.000979> + 468: <-0.007436, 0.000000, 0.000979> + 469: <-0.007244, 0.000000, 0.001941> + 470: <-0.007568, -0.001250, 0.002028> + 471: <-0.007768, -0.001250, 0.001023> + 472: <-0.007768, -0.001250, 0.001023> + 473: <-0.007568, -0.001250, 0.002028> + 474: <-0.008452, -0.002165, 0.002265> + 475: <-0.008675, -0.002165, 0.001142> + 476: <-0.008675, -0.002165, 0.001142> + 477: <-0.008452, -0.002165, 0.002265> + 478: <-0.009659, -0.002500, 0.002588> + 479: <-0.009914, -0.002500, 0.001305> + 480: <-0.009914, -0.002500, 0.001305> + 481: <-0.009659, -0.002500, 0.002588> + 482: <-0.010867, -0.002165, 0.002912> + 483: <-0.011154, -0.002165, 0.001468> + 484: <-0.008452, 0.002165, 0.002265> + 485: <-0.008084, 0.002165, 0.003348> + 486: <-0.007239, 0.001250, 0.002998> + 487: <-0.007568, 0.001250, 0.002028> + 488: <-0.007568, 0.001250, 0.002028> + 489: <-0.007239, 0.001250, 0.002998> + 490: <-0.006929, 0.000000, 0.002870> + 491: <-0.007244, 0.000000, 0.001941> + 492: <-0.007244, 0.000000, 0.001941> + 493: <-0.006929, 0.000000, 0.002870> + 494: <-0.007239, -0.001250, 0.002998> + 495: <-0.007568, -0.001250, 0.002028> + 496: <-0.007568, -0.001250, 0.002028> + 497: <-0.007239, -0.001250, 0.002998> + 498: <-0.008084, -0.002165, 0.003348> + 499: <-0.008452, -0.002165, 0.002265> + 500: <-0.008452, -0.002165, 0.002265> + 501: <-0.008084, -0.002165, 0.003348> + 502: <-0.009239, -0.002500, 0.003827> + 503: <-0.009659, -0.002500, 0.002588> + 504: <-0.009659, -0.002500, 0.002588> + 505: <-0.009239, -0.002500, 0.003827> + 506: <-0.010394, -0.002165, 0.004305> + 507: <-0.010867, -0.002165, 0.002912> + 508: <-0.008084, 0.002165, 0.003348> + 509: <-0.007578, 0.002165, 0.004375> + 510: <-0.006785, 0.001250, 0.003917> + 511: <-0.007239, 0.001250, 0.002998> + 512: <-0.007239, 0.001250, 0.002998> + 513: <-0.006785, 0.001250, 0.003917> + 514: <-0.006495, 0.000000, 0.003750> + 515: <-0.006929, 0.000000, 0.002870> + 516: <-0.006929, 0.000000, 0.002870> + 517: <-0.006495, 0.000000, 0.003750> + 518: <-0.006785, -0.001250, 0.003917> + 519: <-0.007239, -0.001250, 0.002998> + 520: <-0.007239, -0.001250, 0.002998> + 521: <-0.006785, -0.001250, 0.003917> + 522: <-0.007578, -0.002165, 0.004375> + 523: <-0.008084, -0.002165, 0.003348> + 524: <-0.008084, -0.002165, 0.003348> + 525: <-0.007578, -0.002165, 0.004375> + 526: <-0.008660, -0.002500, 0.005000> + 527: <-0.009239, -0.002500, 0.003827> + 528: <-0.009239, -0.002500, 0.003827> + 529: <-0.008660, -0.002500, 0.005000> + 530: <-0.009743, -0.002165, 0.005625> + 531: <-0.010394, -0.002165, 0.004305> + 532: <-0.007578, 0.002165, 0.004375> + 533: <-0.006942, 0.002165, 0.005327> + 534: <-0.006216, 0.001250, 0.004770> + 535: <-0.006785, 0.001250, 0.003917> + 536: <-0.006785, 0.001250, 0.003917> + 537: <-0.006216, 0.001250, 0.004770> + 538: <-0.005950, 0.000000, 0.004566> + 539: <-0.006495, 0.000000, 0.003750> + 540: <-0.006495, 0.000000, 0.003750> + 541: <-0.005950, 0.000000, 0.004566> + 542: <-0.006216, -0.001250, 0.004770> + 543: <-0.006785, -0.001250, 0.003917> + 544: <-0.006785, -0.001250, 0.003917> + 545: <-0.006216, -0.001250, 0.004770> + 546: <-0.006942, -0.002165, 0.005327> + 547: <-0.007578, -0.002165, 0.004375> + 548: <-0.007578, -0.002165, 0.004375> + 549: <-0.006942, -0.002165, 0.005327> + 550: <-0.007934, -0.002500, 0.006088> + 551: <-0.008660, -0.002500, 0.005000> + 552: <-0.008660, -0.002500, 0.005000> + 553: <-0.007934, -0.002500, 0.006088> + 554: <-0.008925, -0.002165, 0.006849> + 555: <-0.009743, -0.002165, 0.005625> + 556: <-0.006216, 0.001250, 0.004770> + 557: <-0.005540, 0.001250, 0.005540> + 558: <-0.005303, 0.000000, 0.005303> + 559: <-0.005950, 0.000000, 0.004566> + 560: <-0.005950, 0.000000, 0.004566> + 561: <-0.005303, 0.000000, 0.005303> + 562: <-0.005540, -0.001250, 0.005540> + 563: <-0.006216, -0.001250, 0.004770> + 564: <-0.006216, -0.001250, 0.004770> + 565: <-0.005540, -0.001250, 0.005540> + 566: <-0.006187, -0.002165, 0.006187> + 567: <-0.006942, -0.002165, 0.005327> + 568: <-0.006942, -0.002165, 0.005327> + 569: <-0.006187, -0.002165, 0.006187> + 570: <-0.007071, -0.002500, 0.007071> + 571: <-0.007934, -0.002500, 0.006088> + 572: <-0.007934, -0.002500, 0.006088> + 573: <-0.007071, -0.002500, 0.007071> + 574: <-0.007955, -0.002165, 0.007955> + 575: <-0.008925, -0.002165, 0.006849> + 576: <-0.008925, -0.002165, 0.006849> + 577: <-0.007955, -0.002165, 0.007955> + 578: <-0.008602, -0.001250, 0.008602> + 579: <-0.009651, -0.001250, 0.007406> + 580: <-0.005540, 0.001250, 0.005540> + 581: <-0.004770, 0.001250, 0.006216> + 582: <-0.004566, 0.000000, 0.005950> + 583: <-0.005303, 0.000000, 0.005303> + 584: <-0.005303, 0.000000, 0.005303> + 585: <-0.004566, 0.000000, 0.005950> + 586: <-0.004770, -0.001250, 0.006216> + 587: <-0.005540, -0.001250, 0.005540> + 588: <-0.005540, -0.001250, 0.005540> + 589: <-0.004770, -0.001250, 0.006216> + 590: <-0.005327, -0.002165, 0.006942> + 591: <-0.006187, -0.002165, 0.006187> + 592: <-0.006187, -0.002165, 0.006187> + 593: <-0.005327, -0.002165, 0.006942> + 594: <-0.006088, -0.002500, 0.007934> + 595: <-0.007071, -0.002500, 0.007071> + 596: <-0.007071, -0.002500, 0.007071> + 597: <-0.006088, -0.002500, 0.007934> + 598: <-0.006849, -0.002165, 0.008925> + 599: <-0.007955, -0.002165, 0.007955> + 600: <-0.007955, -0.002165, 0.007955> + 601: <-0.006849, -0.002165, 0.008925> + 602: <-0.007406, -0.001250, 0.009651> + 603: <-0.008602, -0.001250, 0.008602> + 604: <-0.004566, 0.000000, 0.005950> + 605: <-0.003750, 0.000000, 0.006495> + 606: <-0.003917, -0.001250, 0.006785> + 607: <-0.004770, -0.001250, 0.006216> + 608: <-0.004770, -0.001250, 0.006216> + 609: <-0.003917, -0.001250, 0.006785> + 610: <-0.004375, -0.002165, 0.007578> + 611: <-0.005327, -0.002165, 0.006942> + 612: <-0.005327, -0.002165, 0.006942> + 613: <-0.004375, -0.002165, 0.007578> + 614: <-0.005000, -0.002500, 0.008660> + 615: <-0.006088, -0.002500, 0.007934> + 616: <-0.006088, -0.002500, 0.007934> + 617: <-0.005000, -0.002500, 0.008660> + 618: <-0.005625, -0.002165, 0.009743> + 619: <-0.006849, -0.002165, 0.008925> + 620: <-0.006849, -0.002165, 0.008925> + 621: <-0.005625, -0.002165, 0.009743> + 622: <-0.006083, -0.001250, 0.010535> + 623: <-0.007406, -0.001250, 0.009651> + 624: <-0.007406, -0.001250, 0.009651> + 625: <-0.006083, -0.001250, 0.010535> + 626: <-0.006250, 0.000000, 0.010825> + 627: <-0.007610, 0.000000, 0.009917> + 628: <-0.006250, 0.000000, 0.010825> + 629: <-0.004784, 0.000000, 0.011548> + 630: <-0.004655, 0.001250, 0.011239> + 631: <-0.006083, 0.001250, 0.010535> + 632: <-0.003750, 0.000000, 0.006495> + 633: <-0.002870, 0.000000, 0.006929> + 634: <-0.002998, -0.001250, 0.007239> + 635: <-0.003917, -0.001250, 0.006785> + 636: <-0.003917, -0.001250, 0.006785> + 637: <-0.002998, -0.001250, 0.007239> + 638: <-0.003348, -0.002165, 0.008084> + 639: <-0.004375, -0.002165, 0.007578> + 640: <-0.004375, -0.002165, 0.007578> + 641: <-0.003348, -0.002165, 0.008084> + 642: <-0.003827, -0.002500, 0.009239> + 643: <-0.005000, -0.002500, 0.008660> + 644: <-0.005000, -0.002500, 0.008660> + 645: <-0.003827, -0.002500, 0.009239> + 646: <-0.004305, -0.002165, 0.010394> + 647: <-0.005625, -0.002165, 0.009743> + 648: <-0.005625, -0.002165, 0.009743> + 649: <-0.004305, -0.002165, 0.010394> + 650: <-0.004655, -0.001250, 0.011239> + 651: <-0.006083, -0.001250, 0.010535> + 652: <-0.006083, -0.001250, 0.010535> + 653: <-0.004655, -0.001250, 0.011239> + 654: <-0.004784, 0.000000, 0.011548> + 655: <-0.006250, 0.000000, 0.010825> + 656: <-0.004784, 0.000000, 0.011548> + 657: <-0.003235, 0.000000, 0.012074> + 658: <-0.003149, 0.001250, 0.011751> + 659: <-0.004655, 0.001250, 0.011239> + 660: <-0.002998, -0.001250, 0.007239> + 661: <-0.002028, -0.001250, 0.007568> + 662: <-0.002265, -0.002165, 0.008452> + 663: <-0.003348, -0.002165, 0.008084> + 664: <-0.003348, -0.002165, 0.008084> + 665: <-0.002265, -0.002165, 0.008452> + 666: <-0.002588, -0.002500, 0.009659> + 667: <-0.003827, -0.002500, 0.009239> + 668: <-0.003827, -0.002500, 0.009239> + 669: <-0.002588, -0.002500, 0.009659> + 670: <-0.002912, -0.002165, 0.010867> + 671: <-0.004305, -0.002165, 0.010394> + 672: <-0.004305, -0.002165, 0.010394> + 673: <-0.002912, -0.002165, 0.010867> + 674: <-0.003149, -0.001250, 0.011751> + 675: <-0.004655, -0.001250, 0.011239> + 676: <-0.004655, -0.001250, 0.011239> + 677: <-0.003149, -0.001250, 0.011751> + 678: <-0.003235, 0.000000, 0.012074> + 679: <-0.004784, 0.000000, 0.011548> + 680: <-0.003235, 0.000000, 0.012074> + 681: <-0.001632, 0.000000, 0.012393> + 682: <-0.001588, 0.001250, 0.012061> + 683: <-0.003149, 0.001250, 0.011751> + 684: <-0.003149, 0.001250, 0.011751> + 685: <-0.001588, 0.001250, 0.012061> + 686: <-0.001468, 0.002165, 0.011154> + 687: <-0.002912, 0.002165, 0.010867> + 688: <-0.002028, -0.001250, 0.007568> + 689: <-0.001023, -0.001250, 0.007768> + 690: <-0.001142, -0.002165, 0.008675> + 691: <-0.002265, -0.002165, 0.008452> + 692: <-0.002265, -0.002165, 0.008452> + 693: <-0.001142, -0.002165, 0.008675> + 694: <-0.001305, -0.002500, 0.009914> + 695: <-0.002588, -0.002500, 0.009659> + 696: <-0.002588, -0.002500, 0.009659> + 697: <-0.001305, -0.002500, 0.009914> + 698: <-0.001468, -0.002165, 0.011154> + 699: <-0.002912, -0.002165, 0.010867> + 700: <-0.002912, -0.002165, 0.010867> + 701: <-0.001468, -0.002165, 0.011154> + 702: <-0.001588, -0.001250, 0.012061> + 703: <-0.003149, -0.001250, 0.011751> + 704: <-0.003149, -0.001250, 0.011751> + 705: <-0.001588, -0.001250, 0.012061> + 706: <-0.001632, 0.000000, 0.012393> + 707: <-0.003235, 0.000000, 0.012074> + 708: <-0.001632, 0.000000, 0.012393> + 709: <-0.000000, 0.000000, 0.012500> + 710: <-0.000000, 0.001250, 0.012165> + 711: <-0.001588, 0.001250, 0.012061> + 712: <-0.001588, 0.001250, 0.012061> + 713: <-0.000000, 0.001250, 0.012165> + 714: <-0.000000, 0.002165, 0.011250> + 715: <-0.001468, 0.002165, 0.011154> + 716: <-0.001023, -0.001250, 0.007768> + 717: <-0.000000, -0.001250, 0.007835> + 718: <-0.000000, -0.002165, 0.008750> + 719: <-0.001142, -0.002165, 0.008675> + 720: <-0.001142, -0.002165, 0.008675> + 721: <-0.000000, -0.002165, 0.008750> + 722: <-0.000000, -0.002500, 0.010000> + 723: <-0.001305, -0.002500, 0.009914> + 724: <-0.001305, -0.002500, 0.009914> + 725: <-0.000000, -0.002500, 0.010000> + 726: <-0.000000, -0.002165, 0.011250> + 727: <-0.001468, -0.002165, 0.011154> + 728: <-0.001468, -0.002165, 0.011154> + 729: <-0.000000, -0.002165, 0.011250> + 730: <-0.000000, -0.001250, 0.012165> + 731: <-0.001588, -0.001250, 0.012061> + 732: <-0.001588, -0.001250, 0.012061> + 733: <-0.000000, -0.001250, 0.012165> + 734: <-0.000000, 0.000000, 0.012500> + 735: <-0.001632, 0.000000, 0.012393> + 736: <-0.000000, 0.000000, 0.012500> + 737: < 0.001632, 0.000000, 0.012393> + 738: < 0.001588, 0.001250, 0.012061> + 739: <-0.000000, 0.001250, 0.012165> + 740: <-0.000000, 0.001250, 0.012165> + 741: < 0.001588, 0.001250, 0.012061> + 742: < 0.001468, 0.002165, 0.011154> + 743: <-0.000000, 0.002165, 0.011250> + 744: <-0.000000, -0.002165, 0.008750> + 745: < 0.001142, -0.002165, 0.008675> + 746: < 0.001305, -0.002500, 0.009914> + 747: <-0.000000, -0.002500, 0.010000> + 748: <-0.000000, -0.002500, 0.010000> + 749: < 0.001305, -0.002500, 0.009914> + 750: < 0.001468, -0.002165, 0.011154> + 751: <-0.000000, -0.002165, 0.011250> + 752: <-0.000000, -0.002165, 0.011250> + 753: < 0.001468, -0.002165, 0.011154> + 754: < 0.001588, -0.001250, 0.012061> + 755: <-0.000000, -0.001250, 0.012165> + 756: <-0.000000, -0.001250, 0.012165> + 757: < 0.001588, -0.001250, 0.012061> + 758: < 0.001632, 0.000000, 0.012393> + 759: <-0.000000, 0.000000, 0.012500> + 760: < 0.001632, 0.000000, 0.012393> + 761: < 0.003235, 0.000000, 0.012074> + 762: < 0.003149, 0.001250, 0.011751> + 763: < 0.001588, 0.001250, 0.012061> + 764: < 0.001588, 0.001250, 0.012061> + 765: < 0.003149, 0.001250, 0.011751> + 766: < 0.002912, 0.002165, 0.010867> + 767: < 0.001468, 0.002165, 0.011154> + 768: < 0.001142, -0.002165, 0.008675> + 769: < 0.002265, -0.002165, 0.008452> + 770: < 0.002588, -0.002500, 0.009659> + 771: < 0.001305, -0.002500, 0.009914> + 772: < 0.001305, -0.002500, 0.009914> + 773: < 0.002588, -0.002500, 0.009659> + 774: < 0.002912, -0.002165, 0.010867> + 775: < 0.001468, -0.002165, 0.011154> + 776: < 0.001468, -0.002165, 0.011154> + 777: < 0.002912, -0.002165, 0.010867> + 778: < 0.003149, -0.001250, 0.011751> + 779: < 0.001588, -0.001250, 0.012061> + 780: < 0.001588, -0.001250, 0.012061> + 781: < 0.003149, -0.001250, 0.011751> + 782: < 0.003235, 0.000000, 0.012074> + 783: < 0.001632, 0.000000, 0.012393> + 784: < 0.003235, 0.000000, 0.012074> + 785: < 0.004784, 0.000000, 0.011548> + 786: < 0.004655, 0.001250, 0.011239> + 787: < 0.003149, 0.001250, 0.011751> + 788: < 0.003149, 0.001250, 0.011751> + 789: < 0.004655, 0.001250, 0.011239> + 790: < 0.004305, 0.002165, 0.010394> + 791: < 0.002912, 0.002165, 0.010867> + 792: < 0.002265, -0.002165, 0.008452> + 793: < 0.003348, -0.002165, 0.008084> + 794: < 0.003827, -0.002500, 0.009239> + 795: < 0.002588, -0.002500, 0.009659> + 796: < 0.002588, -0.002500, 0.009659> + 797: < 0.003827, -0.002500, 0.009239> + 798: < 0.004305, -0.002165, 0.010394> + 799: < 0.002912, -0.002165, 0.010867> + 800: < 0.002912, -0.002165, 0.010867> + 801: < 0.004305, -0.002165, 0.010394> + 802: < 0.004655, -0.001250, 0.011239> + 803: < 0.003149, -0.001250, 0.011751> + 804: < 0.003149, -0.001250, 0.011751> + 805: < 0.004655, -0.001250, 0.011239> + 806: < 0.004784, 0.000000, 0.011548> + 807: < 0.003235, 0.000000, 0.012074> + 808: < 0.004784, 0.000000, 0.011548> + 809: < 0.006250, 0.000000, 0.010825> + 810: < 0.006083, 0.001250, 0.010535> + 811: < 0.004655, 0.001250, 0.011239> + 812: < 0.004655, 0.001250, 0.011239> + 813: < 0.006083, 0.001250, 0.010535> + 814: < 0.005625, 0.002165, 0.009743> + 815: < 0.004305, 0.002165, 0.010394> + 816: < 0.003348, -0.002165, 0.008084> + 817: < 0.004375, -0.002165, 0.007578> + 818: < 0.005000, -0.002500, 0.008660> + 819: < 0.003827, -0.002500, 0.009239> + 820: < 0.003827, -0.002500, 0.009239> + 821: < 0.005000, -0.002500, 0.008660> + 822: < 0.005625, -0.002165, 0.009743> + 823: < 0.004305, -0.002165, 0.010394> + 824: < 0.004305, -0.002165, 0.010394> + 825: < 0.005625, -0.002165, 0.009743> + 826: < 0.006083, -0.001250, 0.010535> + 827: < 0.004655, -0.001250, 0.011239> + 828: < 0.004655, -0.001250, 0.011239> + 829: < 0.006083, -0.001250, 0.010535> + 830: < 0.006250, 0.000000, 0.010825> + 831: < 0.004784, 0.000000, 0.011548> + 832: < 0.006250, 0.000000, 0.010825> + 833: < 0.007610, 0.000000, 0.009917> + 834: < 0.007406, 0.001250, 0.009651> + 835: < 0.006083, 0.001250, 0.010535> + 836: < 0.006083, 0.001250, 0.010535> + 837: < 0.007406, 0.001250, 0.009651> + 838: < 0.006849, 0.002165, 0.008925> + 839: < 0.005625, 0.002165, 0.009743> + 840: < 0.003917, 0.001250, 0.006785> + 841: < 0.004770, 0.001250, 0.006216> + 842: < 0.004566, 0.000000, 0.005950> + 843: < 0.003750, 0.000000, 0.006495> + 844: < 0.003750, 0.000000, 0.006495> + 845: < 0.004566, 0.000000, 0.005950> + 846: < 0.004770, -0.001250, 0.006216> + 847: < 0.003917, -0.001250, 0.006785> + 848: < 0.004375, -0.002165, 0.007578> + 849: < 0.005327, -0.002165, 0.006942> + 850: < 0.006088, -0.002500, 0.007934> + 851: < 0.005000, -0.002500, 0.008660> + 852: < 0.005000, -0.002500, 0.008660> + 853: < 0.006088, -0.002500, 0.007934> + 854: < 0.006849, -0.002165, 0.008925> + 855: < 0.005625, -0.002165, 0.009743> + 856: < 0.005625, -0.002165, 0.009743> + 857: < 0.006849, -0.002165, 0.008925> + 858: < 0.007406, -0.001250, 0.009651> + 859: < 0.006083, -0.001250, 0.010535> + 860: < 0.006083, -0.001250, 0.010535> + 861: < 0.007406, -0.001250, 0.009651> + 862: < 0.007610, 0.000000, 0.009917> + 863: < 0.006250, 0.000000, 0.010825> + 864: < 0.007610, 0.000000, 0.009917> + 865: < 0.008839, 0.000000, 0.008839> + 866: < 0.008602, 0.001250, 0.008602> + 867: < 0.007406, 0.001250, 0.009651> + 868: < 0.007406, 0.001250, 0.009651> + 869: < 0.008602, 0.001250, 0.008602> + 870: < 0.007955, 0.002165, 0.007955> + 871: < 0.006849, 0.002165, 0.008925> + 872: < 0.006849, 0.002165, 0.008925> + 873: < 0.007955, 0.002165, 0.007955> + 874: < 0.007071, 0.002500, 0.007071> + 875: < 0.006088, 0.002500, 0.007934> + 876: < 0.006088, 0.002500, 0.007934> + 877: < 0.007071, 0.002500, 0.007071> + 878: < 0.006187, 0.002165, 0.006187> + 879: < 0.005327, 0.002165, 0.006942> + 880: < 0.005327, 0.002165, 0.006942> + 881: < 0.006187, 0.002165, 0.006187> + 882: < 0.005540, 0.001250, 0.005540> + 883: < 0.004770, 0.001250, 0.006216> + 884: < 0.004770, 0.001250, 0.006216> + 885: < 0.005540, 0.001250, 0.005540> + 886: < 0.005303, 0.000000, 0.005303> + 887: < 0.004566, 0.000000, 0.005950> + 888: < 0.004566, 0.000000, 0.005950> + 889: < 0.005303, 0.000000, 0.005303> + 890: < 0.005540, -0.001250, 0.005540> + 891: < 0.004770, -0.001250, 0.006216> + 892: < 0.004770, -0.001250, 0.006216> + 893: < 0.005540, -0.001250, 0.005540> + 894: < 0.006187, -0.002165, 0.006187> + 895: < 0.005327, -0.002165, 0.006942> + 896: < 0.005327, -0.002165, 0.006942> + 897: < 0.006187, -0.002165, 0.006187> + 898: < 0.007071, -0.002500, 0.007071> + 899: < 0.006088, -0.002500, 0.007934> + 900: < 0.006088, -0.002500, 0.007934> + 901: < 0.007071, -0.002500, 0.007071> + 902: < 0.007955, -0.002165, 0.007955> + 903: < 0.006849, -0.002165, 0.008925> + 904: < 0.006849, -0.002165, 0.008925> + 905: < 0.007955, -0.002165, 0.007955> + 906: < 0.008602, -0.001250, 0.008602> + 907: < 0.007406, -0.001250, 0.009651> + 908: < 0.007406, -0.001250, 0.009651> + 909: < 0.008602, -0.001250, 0.008602> + 910: < 0.008839, 0.000000, 0.008839> + 911: < 0.007610, 0.000000, 0.009917> + 912: < 0.008839, 0.000000, 0.008839> + 913: < 0.009917, 0.000000, 0.007610> + 914: < 0.009651, 0.001250, 0.007406> + 915: < 0.008602, 0.001250, 0.008602> + 916: < 0.008602, 0.001250, 0.008602> + 917: < 0.009651, 0.001250, 0.007406> + 918: < 0.008925, 0.002165, 0.006849> + 919: < 0.007955, 0.002165, 0.007955> + 920: < 0.007955, 0.002165, 0.007955> + 921: < 0.008925, 0.002165, 0.006849> + 922: < 0.007934, 0.002500, 0.006088> + 923: < 0.007071, 0.002500, 0.007071> + 924: < 0.007071, 0.002500, 0.007071> + 925: < 0.007934, 0.002500, 0.006088> + 926: < 0.006942, 0.002165, 0.005327> + 927: < 0.006187, 0.002165, 0.006187> + 928: < 0.006187, 0.002165, 0.006187> + 929: < 0.006942, 0.002165, 0.005327> + 930: < 0.006216, 0.001250, 0.004770> + 931: < 0.005540, 0.001250, 0.005540> + 932: < 0.005540, 0.001250, 0.005540> + 933: < 0.006216, 0.001250, 0.004770> + 934: < 0.005950, 0.000000, 0.004566> + 935: < 0.005303, 0.000000, 0.005303> + 936: < 0.005303, 0.000000, 0.005303> + 937: < 0.005950, 0.000000, 0.004566> + 938: < 0.006216, -0.001250, 0.004770> + 939: < 0.005540, -0.001250, 0.005540> + 940: < 0.005540, -0.001250, 0.005540> + 941: < 0.006216, -0.001250, 0.004770> + 942: < 0.006942, -0.002165, 0.005327> + 943: < 0.006187, -0.002165, 0.006187> + 944: < 0.006187, -0.002165, 0.006187> + 945: < 0.006942, -0.002165, 0.005327> + 946: < 0.007934, -0.002500, 0.006088> + 947: < 0.007071, -0.002500, 0.007071> + 948: < 0.007071, -0.002500, 0.007071> + 949: < 0.007934, -0.002500, 0.006088> + 950: < 0.008925, -0.002165, 0.006849> + 951: < 0.007955, -0.002165, 0.007955> + 952: < 0.007955, -0.002165, 0.007955> + 953: < 0.008925, -0.002165, 0.006849> + 954: < 0.009651, -0.001250, 0.007406> + 955: < 0.008602, -0.001250, 0.008602> + 956: < 0.008602, -0.001250, 0.008602> + 957: < 0.009651, -0.001250, 0.007406> + 958: < 0.009917, 0.000000, 0.007610> + 959: < 0.008839, 0.000000, 0.008839> + 960: < 0.009917, 0.000000, 0.007610> + 961: < 0.010825, 0.000000, 0.006250> + 962: < 0.010535, 0.001250, 0.006083> + 963: < 0.009651, 0.001250, 0.007406> + 964: < 0.009651, 0.001250, 0.007406> + 965: < 0.010535, 0.001250, 0.006083> + 966: < 0.009743, 0.002165, 0.005625> + 967: < 0.008925, 0.002165, 0.006849> + 968: < 0.008925, 0.002165, 0.006849> + 969: < 0.009743, 0.002165, 0.005625> + 970: < 0.008660, 0.002500, 0.005000> + 971: < 0.007934, 0.002500, 0.006088> + 972: < 0.007934, 0.002500, 0.006088> + 973: < 0.008660, 0.002500, 0.005000> + 974: < 0.007578, 0.002165, 0.004375> + 975: < 0.006942, 0.002165, 0.005327> + 976: < 0.006942, 0.002165, 0.005327> + 977: < 0.007578, 0.002165, 0.004375> + 978: < 0.006785, 0.001250, 0.003917> + 979: < 0.006216, 0.001250, 0.004770> + 980: < 0.006216, 0.001250, 0.004770> + 981: < 0.006785, 0.001250, 0.003917> + 982: < 0.006495, 0.000000, 0.003750> + 983: < 0.005950, 0.000000, 0.004566> + 984: < 0.005950, 0.000000, 0.004566> + 985: < 0.006495, 0.000000, 0.003750> + 986: < 0.006785, -0.001250, 0.003917> + 987: < 0.006216, -0.001250, 0.004770> + 988: < 0.006216, -0.001250, 0.004770> + 989: < 0.006785, -0.001250, 0.003917> + 990: < 0.007578, -0.002165, 0.004375> + 991: < 0.006942, -0.002165, 0.005327> + 992: < 0.006942, -0.002165, 0.005327> + 993: < 0.007578, -0.002165, 0.004375> + 994: < 0.008660, -0.002500, 0.005000> + 995: < 0.007934, -0.002500, 0.006088> + 996: < 0.007934, -0.002500, 0.006088> + 997: < 0.008660, -0.002500, 0.005000> + 998: < 0.009743, -0.002165, 0.005625> + 999: < 0.008925, -0.002165, 0.006849> + 1000: < 0.008925, -0.002165, 0.006849> + 1001: < 0.009743, -0.002165, 0.005625> + 1002: < 0.010535, -0.001250, 0.006083> + 1003: < 0.009651, -0.001250, 0.007406> + 1004: < 0.009651, -0.001250, 0.007406> + 1005: < 0.010535, -0.001250, 0.006083> + 1006: < 0.010825, 0.000000, 0.006250> + 1007: < 0.009917, 0.000000, 0.007610> + 1008: < 0.010825, 0.000000, 0.006250> + 1009: < 0.011548, 0.000000, 0.004784> + 1010: < 0.011239, 0.001250, 0.004655> + 1011: < 0.010535, 0.001250, 0.006083> + 1012: < 0.010535, 0.001250, 0.006083> + 1013: < 0.011239, 0.001250, 0.004655> + 1014: < 0.010394, 0.002165, 0.004305> + 1015: < 0.009743, 0.002165, 0.005625> + 1016: < 0.009743, 0.002165, 0.005625> + 1017: < 0.010394, 0.002165, 0.004305> + 1018: < 0.009239, 0.002500, 0.003827> + 1019: < 0.008660, 0.002500, 0.005000> + 1020: < 0.008660, 0.002500, 0.005000> + 1021: < 0.009239, 0.002500, 0.003827> + 1022: < 0.008084, 0.002165, 0.003348> + 1023: < 0.007578, 0.002165, 0.004375> + 1024: < 0.007578, 0.002165, 0.004375> + 1025: < 0.008084, 0.002165, 0.003348> + 1026: < 0.007239, 0.001250, 0.002998> + 1027: < 0.006785, 0.001250, 0.003917> + 1028: < 0.006785, 0.001250, 0.003917> + 1029: < 0.007239, 0.001250, 0.002998> + 1030: < 0.006929, 0.000000, 0.002870> + 1031: < 0.006495, 0.000000, 0.003750> + 1032: < 0.006495, 0.000000, 0.003750> + 1033: < 0.006929, 0.000000, 0.002870> + 1034: < 0.007239, -0.001250, 0.002998> + 1035: < 0.006785, -0.001250, 0.003917> + 1036: < 0.006785, -0.001250, 0.003917> + 1037: < 0.007239, -0.001250, 0.002998> + 1038: < 0.008084, -0.002165, 0.003348> + 1039: < 0.007578, -0.002165, 0.004375> + 1040: < 0.007578, -0.002165, 0.004375> + 1041: < 0.008084, -0.002165, 0.003348> + 1042: < 0.009239, -0.002500, 0.003827> + 1043: < 0.008660, -0.002500, 0.005000> + 1044: < 0.008660, -0.002500, 0.005000> + 1045: < 0.009239, -0.002500, 0.003827> + 1046: < 0.010394, -0.002165, 0.004305> + 1047: < 0.009743, -0.002165, 0.005625> + 1048: < 0.009743, -0.002165, 0.005625> + 1049: < 0.010394, -0.002165, 0.004305> + 1050: < 0.011239, -0.001250, 0.004655> + 1051: < 0.010535, -0.001250, 0.006083> + 1052: < 0.010535, -0.001250, 0.006083> + 1053: < 0.011239, -0.001250, 0.004655> + 1054: < 0.011548, 0.000000, 0.004784> + 1055: < 0.010825, 0.000000, 0.006250> + 1056: < 0.011548, 0.000000, 0.004784> + 1057: < 0.012074, 0.000000, 0.003235> + 1058: < 0.011751, 0.001250, 0.003149> + 1059: < 0.011239, 0.001250, 0.004655> + 1060: < 0.011239, 0.001250, 0.004655> + 1061: < 0.011751, 0.001250, 0.003149> + 1062: < 0.010867, 0.002165, 0.002912> + 1063: < 0.010394, 0.002165, 0.004305> + 1064: < 0.010394, 0.002165, 0.004305> + 1065: < 0.010867, 0.002165, 0.002912> + 1066: < 0.009659, 0.002500, 0.002588> + 1067: < 0.009239, 0.002500, 0.003827> + 1068: < 0.009239, 0.002500, 0.003827> + 1069: < 0.009659, 0.002500, 0.002588> + 1070: < 0.008452, 0.002165, 0.002265> + 1071: < 0.008084, 0.002165, 0.003348> + 1072: < 0.008084, 0.002165, 0.003348> + 1073: < 0.008452, 0.002165, 0.002265> + 1074: < 0.007568, 0.001250, 0.002028> + 1075: < 0.007239, 0.001250, 0.002998> + 1076: < 0.007239, 0.001250, 0.002998> + 1077: < 0.007568, 0.001250, 0.002028> + 1078: < 0.007244, 0.000000, 0.001941> + 1079: < 0.006929, 0.000000, 0.002870> + 1080: < 0.006929, 0.000000, 0.002870> + 1081: < 0.007244, 0.000000, 0.001941> + 1082: < 0.007568, -0.001250, 0.002028> + 1083: < 0.007239, -0.001250, 0.002998> + 1084: < 0.007239, -0.001250, 0.002998> + 1085: < 0.007568, -0.001250, 0.002028> + 1086: < 0.008452, -0.002165, 0.002265> + 1087: < 0.008084, -0.002165, 0.003348> + 1088: < 0.008084, -0.002165, 0.003348> + 1089: < 0.008452, -0.002165, 0.002265> + 1090: < 0.009659, -0.002500, 0.002588> + 1091: < 0.009239, -0.002500, 0.003827> + 1092: < 0.009239, -0.002500, 0.003827> + 1093: < 0.009659, -0.002500, 0.002588> + 1094: < 0.010867, -0.002165, 0.002912> + 1095: < 0.010394, -0.002165, 0.004305> + 1096: < 0.010394, -0.002165, 0.004305> + 1097: < 0.010867, -0.002165, 0.002912> + 1098: < 0.011751, -0.001250, 0.003149> + 1099: < 0.011239, -0.001250, 0.004655> + 1100: < 0.011239, -0.001250, 0.004655> + 1101: < 0.011751, -0.001250, 0.003149> + 1102: < 0.012074, 0.000000, 0.003235> + 1103: < 0.011548, 0.000000, 0.004784> + 1104: < 0.012074, 0.000000, 0.003235> + 1105: < 0.012393, 0.000000, 0.001632> + 1106: < 0.012061, 0.001250, 0.001588> + 1107: < 0.011751, 0.001250, 0.003149> + 1108: < 0.011751, 0.001250, 0.003149> + 1109: < 0.012061, 0.001250, 0.001588> + 1110: < 0.011154, 0.002165, 0.001468> + 1111: < 0.010867, 0.002165, 0.002912> + 1112: < 0.010867, 0.002165, 0.002912> + 1113: < 0.011154, 0.002165, 0.001468> + 1114: < 0.009914, 0.002500, 0.001305> + 1115: < 0.009659, 0.002500, 0.002588> + 1116: < 0.009659, 0.002500, 0.002588> + 1117: < 0.009914, 0.002500, 0.001305> + 1118: < 0.008675, 0.002165, 0.001142> + 1119: < 0.008452, 0.002165, 0.002265> + 1120: < 0.008452, 0.002165, 0.002265> + 1121: < 0.008675, 0.002165, 0.001142> + 1122: < 0.007768, 0.001250, 0.001023> + 1123: < 0.007568, 0.001250, 0.002028> + 1124: < 0.007568, 0.001250, 0.002028> + 1125: < 0.007768, 0.001250, 0.001023> + 1126: < 0.007436, 0.000000, 0.000979> + 1127: < 0.007244, 0.000000, 0.001941> + 1128: < 0.007244, 0.000000, 0.001941> + 1129: < 0.007436, 0.000000, 0.000979> + 1130: < 0.007768, -0.001250, 0.001023> + 1131: < 0.007568, -0.001250, 0.002028> + 1132: < 0.007568, -0.001250, 0.002028> + 1133: < 0.007768, -0.001250, 0.001023> + 1134: < 0.008675, -0.002165, 0.001142> + 1135: < 0.008452, -0.002165, 0.002265> + 1136: < 0.008452, -0.002165, 0.002265> + 1137: < 0.008675, -0.002165, 0.001142> + 1138: < 0.009914, -0.002500, 0.001305> + 1139: < 0.009659, -0.002500, 0.002588> + 1140: < 0.009659, -0.002500, 0.002588> + 1141: < 0.009914, -0.002500, 0.001305> + 1142: < 0.011154, -0.002165, 0.001468> + 1143: < 0.010867, -0.002165, 0.002912> + 1144: < 0.010867, -0.002165, 0.002912> + 1145: < 0.011154, -0.002165, 0.001468> + 1146: < 0.012061, -0.001250, 0.001588> + 1147: < 0.011751, -0.001250, 0.003149> + 1148: < 0.011751, -0.001250, 0.003149> + 1149: < 0.012061, -0.001250, 0.001588> + 1150: < 0.012393, 0.000000, 0.001632> + 1151: < 0.012074, 0.000000, 0.003235> + 1152: < 0.012393, 0.000000, 0.001632> + 1153: < 0.012500, 0.000000, 0.000000> + 1154: < 0.012165, 0.001250, 0.000000> + 1155: < 0.012061, 0.001250, 0.001588> + 1156: < 0.012061, 0.001250, 0.001588> + 1157: < 0.012165, 0.001250, 0.000000> + 1158: < 0.011250, 0.002165, 0.000000> + 1159: < 0.011154, 0.002165, 0.001468> + 1160: < 0.011154, 0.002165, 0.001468> + 1161: < 0.011250, 0.002165, 0.000000> + 1162: < 0.010000, 0.002500, 0.000000> + 1163: < 0.009914, 0.002500, 0.001305> + 1164: < 0.009914, 0.002500, 0.001305> + 1165: < 0.010000, 0.002500, 0.000000> + 1166: < 0.008750, 0.002165, 0.000000> + 1167: < 0.008675, 0.002165, 0.001142> + 1168: < 0.008675, 0.002165, 0.001142> + 1169: < 0.008750, 0.002165, 0.000000> + 1170: < 0.007835, 0.001250, 0.000000> + 1171: < 0.007768, 0.001250, 0.001023> + 1172: < 0.007768, 0.001250, 0.001023> + 1173: < 0.007835, 0.001250, 0.000000> + 1174: < 0.007500, 0.000000, 0.000000> + 1175: < 0.007436, 0.000000, 0.000979> + 1176: < 0.007436, 0.000000, 0.000979> + 1177: < 0.007500, 0.000000, 0.000000> + 1178: < 0.007835, -0.001250, 0.000000> + 1179: < 0.007768, -0.001250, 0.001023> + 1180: < 0.007768, -0.001250, 0.001023> + 1181: < 0.007835, -0.001250, 0.000000> + 1182: < 0.008750, -0.002165, 0.000000> + 1183: < 0.008675, -0.002165, 0.001142> + 1184: < 0.008675, -0.002165, 0.001142> + 1185: < 0.008750, -0.002165, 0.000000> + 1186: < 0.010000, -0.002500, 0.000000> + 1187: < 0.009914, -0.002500, 0.001305> + 1188: < 0.009914, -0.002500, 0.001305> + 1189: < 0.010000, -0.002500, 0.000000> + 1190: < 0.011250, -0.002165, 0.000000> + 1191: < 0.011154, -0.002165, 0.001468> + 1192: < 0.011154, -0.002165, 0.001468> + 1193: < 0.011250, -0.002165, 0.000000> + 1194: < 0.012165, -0.001250, 0.000000> + 1195: < 0.012061, -0.001250, 0.001588> + 1196: < 0.012061, -0.001250, 0.001588> + 1197: < 0.012165, -0.001250, 0.000000> + 1198: < 0.012500, 0.000000, 0.000000> + 1199: < 0.012393, 0.000000, 0.001632> + 1200: < 0.012500, 0.000000, 0.000000> + 1201: < 0.012393, 0.000000, -0.001632> + 1202: < 0.012061, 0.001250, -0.001588> + 1203: < 0.012165, 0.001250, 0.000000> + 1204: < 0.012165, 0.001250, 0.000000> + 1205: < 0.012061, 0.001250, -0.001588> + 1206: < 0.011154, 0.002165, -0.001468> + 1207: < 0.011250, 0.002165, 0.000000> + 1208: < 0.011250, 0.002165, 0.000000> + 1209: < 0.011154, 0.002165, -0.001468> + 1210: < 0.009914, 0.002500, -0.001305> + 1211: < 0.010000, 0.002500, 0.000000> + 1212: < 0.010000, 0.002500, 0.000000> + 1213: < 0.009914, 0.002500, -0.001305> + 1214: < 0.008675, 0.002165, -0.001142> + 1215: < 0.008750, 0.002165, 0.000000> + 1216: < 0.008750, 0.002165, 0.000000> + 1217: < 0.008675, 0.002165, -0.001142> + 1218: < 0.007768, 0.001250, -0.001023> + 1219: < 0.007835, 0.001250, 0.000000> + 1220: < 0.007835, 0.001250, 0.000000> + 1221: < 0.007768, 0.001250, -0.001023> + 1222: < 0.007436, 0.000000, -0.000979> + 1223: < 0.007500, 0.000000, 0.000000> + 1224: < 0.007500, 0.000000, 0.000000> + 1225: < 0.007436, 0.000000, -0.000979> + 1226: < 0.007768, -0.001250, -0.001023> + 1227: < 0.007835, -0.001250, 0.000000> + 1228: < 0.007835, -0.001250, 0.000000> + 1229: < 0.007768, -0.001250, -0.001023> + 1230: < 0.008675, -0.002165, -0.001142> + 1231: < 0.008750, -0.002165, 0.000000> + 1232: < 0.008750, -0.002165, 0.000000> + 1233: < 0.008675, -0.002165, -0.001142> + 1234: < 0.009914, -0.002500, -0.001305> + 1235: < 0.010000, -0.002500, 0.000000> + 1236: < 0.010000, -0.002500, 0.000000> + 1237: < 0.009914, -0.002500, -0.001305> + 1238: < 0.011154, -0.002165, -0.001468> + 1239: < 0.011250, -0.002165, 0.000000> + 1240: < 0.011250, -0.002165, 0.000000> + 1241: < 0.011154, -0.002165, -0.001468> + 1242: < 0.012061, -0.001250, -0.001588> + 1243: < 0.012165, -0.001250, 0.000000> + 1244: < 0.012165, -0.001250, 0.000000> + 1245: < 0.012061, -0.001250, -0.001588> + 1246: < 0.012393, 0.000000, -0.001632> + 1247: < 0.012500, 0.000000, 0.000000> + 1248: < 0.012393, 0.000000, -0.001632> + 1249: < 0.012074, 0.000000, -0.003235> + 1250: < 0.011751, 0.001250, -0.003149> + 1251: < 0.012061, 0.001250, -0.001588> + 1252: < 0.012061, 0.001250, -0.001588> + 1253: < 0.011751, 0.001250, -0.003149> + 1254: < 0.010867, 0.002165, -0.002912> + 1255: < 0.011154, 0.002165, -0.001468> + 1256: < 0.011154, 0.002165, -0.001468> + 1257: < 0.010867, 0.002165, -0.002912> + 1258: < 0.009659, 0.002500, -0.002588> + 1259: < 0.009914, 0.002500, -0.001305> + 1260: < 0.009914, 0.002500, -0.001305> + 1261: < 0.009659, 0.002500, -0.002588> + 1262: < 0.008452, 0.002165, -0.002265> + 1263: < 0.008675, 0.002165, -0.001142> + 1264: < 0.008675, 0.002165, -0.001142> + 1265: < 0.008452, 0.002165, -0.002265> + 1266: < 0.007568, 0.001250, -0.002028> + 1267: < 0.007768, 0.001250, -0.001023> + 1268: < 0.007768, 0.001250, -0.001023> + 1269: < 0.007568, 0.001250, -0.002028> + 1270: < 0.007244, 0.000000, -0.001941> + 1271: < 0.007436, 0.000000, -0.000979> + 1272: < 0.007436, 0.000000, -0.000979> + 1273: < 0.007244, 0.000000, -0.001941> + 1274: < 0.007568, -0.001250, -0.002028> + 1275: < 0.007768, -0.001250, -0.001023> + 1276: < 0.007768, -0.001250, -0.001023> + 1277: < 0.007568, -0.001250, -0.002028> + 1278: < 0.008452, -0.002165, -0.002265> + 1279: < 0.008675, -0.002165, -0.001142> + 1280: < 0.008675, -0.002165, -0.001142> + 1281: < 0.008452, -0.002165, -0.002265> + 1282: < 0.009659, -0.002500, -0.002588> + 1283: < 0.009914, -0.002500, -0.001305> + 1284: < 0.009914, -0.002500, -0.001305> + 1285: < 0.009659, -0.002500, -0.002588> + 1286: < 0.010867, -0.002165, -0.002912> + 1287: < 0.011154, -0.002165, -0.001468> + 1288: < 0.011154, -0.002165, -0.001468> + 1289: < 0.010867, -0.002165, -0.002912> + 1290: < 0.011751, -0.001250, -0.003149> + 1291: < 0.012061, -0.001250, -0.001588> + 1292: < 0.012061, -0.001250, -0.001588> + 1293: < 0.011751, -0.001250, -0.003149> + 1294: < 0.012074, 0.000000, -0.003235> + 1295: < 0.012393, 0.000000, -0.001632> + 1296: < 0.012074, 0.000000, -0.003235> + 1297: < 0.011548, 0.000000, -0.004784> + 1298: < 0.011239, 0.001250, -0.004655> + 1299: < 0.011751, 0.001250, -0.003149> + 1300: < 0.011751, 0.001250, -0.003149> + 1301: < 0.011239, 0.001250, -0.004655> + 1302: < 0.010394, 0.002165, -0.004305> + 1303: < 0.010867, 0.002165, -0.002912> + 1304: < 0.010867, 0.002165, -0.002912> + 1305: < 0.010394, 0.002165, -0.004305> + 1306: < 0.009239, 0.002500, -0.003827> + 1307: < 0.009659, 0.002500, -0.002588> + 1308: < 0.009659, 0.002500, -0.002588> + 1309: < 0.009239, 0.002500, -0.003827> + 1310: < 0.008084, 0.002165, -0.003348> + 1311: < 0.008452, 0.002165, -0.002265> + 1312: < 0.008452, 0.002165, -0.002265> + 1313: < 0.008084, 0.002165, -0.003348> + 1314: < 0.007239, 0.001250, -0.002998> + 1315: < 0.007568, 0.001250, -0.002028> + 1316: < 0.007568, 0.001250, -0.002028> + 1317: < 0.007239, 0.001250, -0.002998> + 1318: < 0.006929, 0.000000, -0.002870> + 1319: < 0.007244, 0.000000, -0.001941> + 1320: < 0.007244, 0.000000, -0.001941> + 1321: < 0.006929, 0.000000, -0.002870> + 1322: < 0.007239, -0.001250, -0.002998> + 1323: < 0.007568, -0.001250, -0.002028> + 1324: < 0.007568, -0.001250, -0.002028> + 1325: < 0.007239, -0.001250, -0.002998> + 1326: < 0.008084, -0.002165, -0.003348> + 1327: < 0.008452, -0.002165, -0.002265> + 1328: < 0.008452, -0.002165, -0.002265> + 1329: < 0.008084, -0.002165, -0.003348> + 1330: < 0.009239, -0.002500, -0.003827> + 1331: < 0.009659, -0.002500, -0.002588> + 1332: < 0.009659, -0.002500, -0.002588> + 1333: < 0.009239, -0.002500, -0.003827> + 1334: < 0.010394, -0.002165, -0.004305> + 1335: < 0.010867, -0.002165, -0.002912> + 1336: < 0.010867, -0.002165, -0.002912> + 1337: < 0.010394, -0.002165, -0.004305> + 1338: < 0.011239, -0.001250, -0.004655> + 1339: < 0.011751, -0.001250, -0.003149> + 1340: < 0.011751, -0.001250, -0.003149> + 1341: < 0.011239, -0.001250, -0.004655> + 1342: < 0.011548, 0.000000, -0.004784> + 1343: < 0.012074, 0.000000, -0.003235> + 1344: < 0.011548, 0.000000, -0.004784> + 1345: < 0.010825, 0.000000, -0.006250> + 1346: < 0.010535, 0.001250, -0.006083> + 1347: < 0.011239, 0.001250, -0.004655> + 1348: < 0.011239, 0.001250, -0.004655> + 1349: < 0.010535, 0.001250, -0.006083> + 1350: < 0.009743, 0.002165, -0.005625> + 1351: < 0.010394, 0.002165, -0.004305> + 1352: < 0.010394, 0.002165, -0.004305> + 1353: < 0.009743, 0.002165, -0.005625> + 1354: < 0.008660, 0.002500, -0.005000> + 1355: < 0.009239, 0.002500, -0.003827> + 1356: < 0.009239, 0.002500, -0.003827> + 1357: < 0.008660, 0.002500, -0.005000> + 1358: < 0.007578, 0.002165, -0.004375> + 1359: < 0.008084, 0.002165, -0.003348> + 1360: < 0.008084, 0.002165, -0.003348> + 1361: < 0.007578, 0.002165, -0.004375> + 1362: < 0.006785, 0.001250, -0.003917> + 1363: < 0.007239, 0.001250, -0.002998> + 1364: < 0.007239, 0.001250, -0.002998> + 1365: < 0.006785, 0.001250, -0.003917> + 1366: < 0.006495, 0.000000, -0.003750> + 1367: < 0.006929, 0.000000, -0.002870> + 1368: < 0.006929, 0.000000, -0.002870> + 1369: < 0.006495, 0.000000, -0.003750> + 1370: < 0.006785, -0.001250, -0.003917> + 1371: < 0.007239, -0.001250, -0.002998> + 1372: < 0.007239, -0.001250, -0.002998> + 1373: < 0.006785, -0.001250, -0.003917> + 1374: < 0.007578, -0.002165, -0.004375> + 1375: < 0.008084, -0.002165, -0.003348> + 1376: < 0.008084, -0.002165, -0.003348> + 1377: < 0.007578, -0.002165, -0.004375> + 1378: < 0.008660, -0.002500, -0.005000> + 1379: < 0.009239, -0.002500, -0.003827> + 1380: < 0.009239, -0.002500, -0.003827> + 1381: < 0.008660, -0.002500, -0.005000> + 1382: < 0.009743, -0.002165, -0.005625> + 1383: < 0.010394, -0.002165, -0.004305> + 1384: < 0.010394, -0.002165, -0.004305> + 1385: < 0.009743, -0.002165, -0.005625> + 1386: < 0.010535, -0.001250, -0.006083> + 1387: < 0.011239, -0.001250, -0.004655> + 1388: < 0.011239, -0.001250, -0.004655> + 1389: < 0.010535, -0.001250, -0.006083> + 1390: < 0.010825, 0.000000, -0.006250> + 1391: < 0.011548, 0.000000, -0.004784> + 1392: < 0.010825, 0.000000, -0.006250> + 1393: < 0.009917, 0.000000, -0.007610> + 1394: < 0.009651, 0.001250, -0.007406> + 1395: < 0.010535, 0.001250, -0.006083> + 1396: < 0.010535, 0.001250, -0.006083> + 1397: < 0.009651, 0.001250, -0.007406> + 1398: < 0.008925, 0.002165, -0.006849> + 1399: < 0.009743, 0.002165, -0.005625> + 1400: < 0.008660, 0.002500, -0.005000> + 1401: < 0.007934, 0.002500, -0.006088> + 1402: < 0.006942, 0.002165, -0.005327> + 1403: < 0.007578, 0.002165, -0.004375> + 1404: < 0.007578, 0.002165, -0.004375> + 1405: < 0.006942, 0.002165, -0.005327> + 1406: < 0.006216, 0.001250, -0.004770> + 1407: < 0.006785, 0.001250, -0.003917> + 1408: < 0.006785, 0.001250, -0.003917> + 1409: < 0.006216, 0.001250, -0.004770> + 1410: < 0.005950, 0.000000, -0.004566> + 1411: < 0.006495, 0.000000, -0.003750> + 1412: < 0.006495, 0.000000, -0.003750> + 1413: < 0.005950, 0.000000, -0.004566> + 1414: < 0.006216, -0.001250, -0.004770> + 1415: < 0.006785, -0.001250, -0.003917> + 1416: < 0.006785, -0.001250, -0.003917> + 1417: < 0.006216, -0.001250, -0.004770> + 1418: < 0.006942, -0.002165, -0.005327> + 1419: < 0.007578, -0.002165, -0.004375> + 1420: < 0.007578, -0.002165, -0.004375> + 1421: < 0.006942, -0.002165, -0.005327> + 1422: < 0.007934, -0.002500, -0.006088> + 1423: < 0.008660, -0.002500, -0.005000> + 1424: < 0.008660, -0.002500, -0.005000> + 1425: < 0.007934, -0.002500, -0.006088> + 1426: < 0.008925, -0.002165, -0.006849> + 1427: < 0.009743, -0.002165, -0.005625> + 1428: < 0.009743, -0.002165, -0.005625> + 1429: < 0.008925, -0.002165, -0.006849> + 1430: < 0.009651, -0.001250, -0.007406> + 1431: < 0.010535, -0.001250, -0.006083> + 1432: < 0.010535, -0.001250, -0.006083> + 1433: < 0.009651, -0.001250, -0.007406> + 1434: < 0.009917, 0.000000, -0.007610> + 1435: < 0.010825, 0.000000, -0.006250> + 1436: < 0.009917, 0.000000, -0.007610> + 1437: < 0.008839, 0.000000, -0.008839> + 1438: < 0.008602, 0.001250, -0.008602> + 1439: < 0.009651, 0.001250, -0.007406> + 1440: < 0.007934, 0.002500, -0.006088> + 1441: < 0.007071, 0.002500, -0.007071> + 1442: < 0.006187, 0.002165, -0.006187> + 1443: < 0.006942, 0.002165, -0.005327> + 1444: < 0.006942, 0.002165, -0.005327> + 1445: < 0.006187, 0.002165, -0.006187> + 1446: < 0.005540, 0.001250, -0.005540> + 1447: < 0.006216, 0.001250, -0.004770> + 1448: < 0.006216, 0.001250, -0.004770> + 1449: < 0.005540, 0.001250, -0.005540> + 1450: < 0.005303, 0.000000, -0.005303> + 1451: < 0.005950, 0.000000, -0.004566> + 1452: < 0.005950, 0.000000, -0.004566> + 1453: < 0.005303, 0.000000, -0.005303> + 1454: < 0.005540, -0.001250, -0.005540> + 1455: < 0.006216, -0.001250, -0.004770> + 1456: < 0.006216, -0.001250, -0.004770> + 1457: < 0.005540, -0.001250, -0.005540> + 1458: < 0.006187, -0.002165, -0.006187> + 1459: < 0.006942, -0.002165, -0.005327> + 1460: < 0.006942, -0.002165, -0.005327> + 1461: < 0.006187, -0.002165, -0.006187> + 1462: < 0.007071, -0.002500, -0.007071> + 1463: < 0.007934, -0.002500, -0.006088> + 1464: < 0.007934, -0.002500, -0.006088> + 1465: < 0.007071, -0.002500, -0.007071> + 1466: < 0.007955, -0.002165, -0.007955> + 1467: < 0.008925, -0.002165, -0.006849> + 1468: < 0.008925, -0.002165, -0.006849> + 1469: < 0.007955, -0.002165, -0.007955> + 1470: < 0.008602, -0.001250, -0.008602> + 1471: < 0.009651, -0.001250, -0.007406> + 1472: < 0.009651, -0.001250, -0.007406> + 1473: < 0.008602, -0.001250, -0.008602> + 1474: < 0.008839, 0.000000, -0.008839> + 1475: < 0.009917, 0.000000, -0.007610> + 1476: < 0.008839, 0.000000, -0.008839> + 1477: < 0.007610, 0.000000, -0.009917> + 1478: < 0.007406, 0.001250, -0.009651> + 1479: < 0.008602, 0.001250, -0.008602> + 1480: < 0.006187, 0.002165, -0.006187> + 1481: < 0.005327, 0.002165, -0.006942> + 1482: < 0.004770, 0.001250, -0.006216> + 1483: < 0.005540, 0.001250, -0.005540> + 1484: < 0.005540, 0.001250, -0.005540> + 1485: < 0.004770, 0.001250, -0.006216> + 1486: < 0.004566, 0.000000, -0.005950> + 1487: < 0.005303, 0.000000, -0.005303> + 1488: < 0.005303, 0.000000, -0.005303> + 1489: < 0.004566, 0.000000, -0.005950> + 1490: < 0.004770, -0.001250, -0.006216> + 1491: < 0.005540, -0.001250, -0.005540> + 1492: < 0.005540, -0.001250, -0.005540> + 1493: < 0.004770, -0.001250, -0.006216> + 1494: < 0.005327, -0.002165, -0.006942> + 1495: < 0.006187, -0.002165, -0.006187> + 1496: < 0.006187, -0.002165, -0.006187> + 1497: < 0.005327, -0.002165, -0.006942> + 1498: < 0.006088, -0.002500, -0.007934> + 1499: < 0.007071, -0.002500, -0.007071> + 1500: < 0.007071, -0.002500, -0.007071> + 1501: < 0.006088, -0.002500, -0.007934> + 1502: < 0.006849, -0.002165, -0.008925> + 1503: < 0.007955, -0.002165, -0.007955> + 1504: < 0.007955, -0.002165, -0.007955> + 1505: < 0.006849, -0.002165, -0.008925> + 1506: < 0.007406, -0.001250, -0.009651> + 1507: < 0.008602, -0.001250, -0.008602> + 1508: < 0.008602, -0.001250, -0.008602> + 1509: < 0.007406, -0.001250, -0.009651> + 1510: < 0.007610, 0.000000, -0.009917> + 1511: < 0.008839, 0.000000, -0.008839> + 1512: < 0.005327, 0.002165, -0.006942> + 1513: < 0.004375, 0.002165, -0.007578> + 1514: < 0.003917, 0.001250, -0.006785> + 1515: < 0.004770, 0.001250, -0.006216> + 1516: < 0.004770, 0.001250, -0.006216> + 1517: < 0.003917, 0.001250, -0.006785> + 1518: < 0.003750, 0.000000, -0.006495> + 1519: < 0.004566, 0.000000, -0.005950> + 1520: < 0.004566, 0.000000, -0.005950> + 1521: < 0.003750, 0.000000, -0.006495> + 1522: < 0.003917, -0.001250, -0.006785> + 1523: < 0.004770, -0.001250, -0.006216> + 1524: < 0.004770, -0.001250, -0.006216> + 1525: < 0.003917, -0.001250, -0.006785> + 1526: < 0.004375, -0.002165, -0.007578> + 1527: < 0.005327, -0.002165, -0.006942> + 1528: < 0.005327, -0.002165, -0.006942> + 1529: < 0.004375, -0.002165, -0.007578> + 1530: < 0.005000, -0.002500, -0.008660> + 1531: < 0.006088, -0.002500, -0.007934> + 1532: < 0.006088, -0.002500, -0.007934> + 1533: < 0.005000, -0.002500, -0.008660> + 1534: < 0.005625, -0.002165, -0.009743> + 1535: < 0.006849, -0.002165, -0.008925> + 1536: < 0.006849, -0.002165, -0.008925> + 1537: < 0.005625, -0.002165, -0.009743> + 1538: < 0.006083, -0.001250, -0.010535> + 1539: < 0.007406, -0.001250, -0.009651> + 1540: < 0.007406, -0.001250, -0.009651> + 1541: < 0.006083, -0.001250, -0.010535> + 1542: < 0.006250, 0.000000, -0.010825> + 1543: < 0.007610, 0.000000, -0.009917> + 1544: < 0.004375, 0.002165, -0.007578> + 1545: < 0.003348, 0.002165, -0.008084> + 1546: < 0.002998, 0.001250, -0.007239> + 1547: < 0.003917, 0.001250, -0.006785> + 1548: < 0.003917, 0.001250, -0.006785> + 1549: < 0.002998, 0.001250, -0.007239> + 1550: < 0.002870, 0.000000, -0.006929> + 1551: < 0.003750, 0.000000, -0.006495> + 1552: < 0.003750, 0.000000, -0.006495> + 1553: < 0.002870, 0.000000, -0.006929> + 1554: < 0.002998, -0.001250, -0.007239> + 1555: < 0.003917, -0.001250, -0.006785> + 1556: < 0.003917, -0.001250, -0.006785> + 1557: < 0.002998, -0.001250, -0.007239> + 1558: < 0.003348, -0.002165, -0.008084> + 1559: < 0.004375, -0.002165, -0.007578> + 1560: < 0.004375, -0.002165, -0.007578> + 1561: < 0.003348, -0.002165, -0.008084> + 1562: < 0.003827, -0.002500, -0.009239> + 1563: < 0.005000, -0.002500, -0.008660> + 1564: < 0.005000, -0.002500, -0.008660> + 1565: < 0.003827, -0.002500, -0.009239> + 1566: < 0.004305, -0.002165, -0.010394> + 1567: < 0.005625, -0.002165, -0.009743> + 1568: < 0.005625, -0.002165, -0.009743> + 1569: < 0.004305, -0.002165, -0.010394> + 1570: < 0.004655, -0.001250, -0.011239> + 1571: < 0.006083, -0.001250, -0.010535> + 1572: < 0.003348, 0.002165, -0.008084> + 1573: < 0.002265, 0.002165, -0.008452> + 1574: < 0.002028, 0.001250, -0.007568> + 1575: < 0.002998, 0.001250, -0.007239> + 1576: < 0.002998, 0.001250, -0.007239> + 1577: < 0.002028, 0.001250, -0.007568> + 1578: < 0.001941, 0.000000, -0.007244> + 1579: < 0.002870, 0.000000, -0.006929> + 1580: < 0.002870, 0.000000, -0.006929> + 1581: < 0.001941, 0.000000, -0.007244> + 1582: < 0.002028, -0.001250, -0.007568> + 1583: < 0.002998, -0.001250, -0.007239> + 1584: < 0.002998, -0.001250, -0.007239> + 1585: < 0.002028, -0.001250, -0.007568> + 1586: < 0.002265, -0.002165, -0.008452> + 1587: < 0.003348, -0.002165, -0.008084> + 1588: < 0.003348, -0.002165, -0.008084> + 1589: < 0.002265, -0.002165, -0.008452> + 1590: < 0.002588, -0.002500, -0.009659> + 1591: < 0.003827, -0.002500, -0.009239> + 1592: < 0.003827, -0.002500, -0.009239> + 1593: < 0.002588, -0.002500, -0.009659> + 1594: < 0.002912, -0.002165, -0.010867> + 1595: < 0.004305, -0.002165, -0.010394> + 1596: < 0.004305, -0.002165, -0.010394> + 1597: < 0.002912, -0.002165, -0.010867> + 1598: < 0.003149, -0.001250, -0.011751> + 1599: < 0.004655, -0.001250, -0.011239> + 1600: < 0.002265, 0.002165, -0.008452> + 1601: < 0.001142, 0.002165, -0.008675> + 1602: < 0.001023, 0.001250, -0.007768> + 1603: < 0.002028, 0.001250, -0.007568> + 1604: < 0.002028, 0.001250, -0.007568> + 1605: < 0.001023, 0.001250, -0.007768> + 1606: < 0.000979, 0.000000, -0.007436> + 1607: < 0.001941, 0.000000, -0.007244> + 1608: < 0.001941, 0.000000, -0.007244> + 1609: < 0.000979, 0.000000, -0.007436> + 1610: < 0.001023, -0.001250, -0.007768> + 1611: < 0.002028, -0.001250, -0.007568> + 1612: < 0.002028, -0.001250, -0.007568> + 1613: < 0.001023, -0.001250, -0.007768> + 1614: < 0.001142, -0.002165, -0.008675> + 1615: < 0.002265, -0.002165, -0.008452> + 1616: < 0.002265, -0.002165, -0.008452> + 1617: < 0.001142, -0.002165, -0.008675> + 1618: < 0.001305, -0.002500, -0.009914> + 1619: < 0.002588, -0.002500, -0.009659> + 1620: < 0.002588, -0.002500, -0.009659> + 1621: < 0.001305, -0.002500, -0.009914> + 1622: < 0.001468, -0.002165, -0.011154> + 1623: < 0.002912, -0.002165, -0.010867> + 1624: < 0.001142, 0.002165, -0.008675> + 1625: <-0.000000, 0.002165, -0.008750> + 1626: <-0.000000, 0.001250, -0.007835> + 1627: < 0.001023, 0.001250, -0.007768> + 1628: < 0.001023, 0.001250, -0.007768> + 1629: <-0.000000, 0.001250, -0.007835> + 1630: <-0.000000, 0.000000, -0.007500> + 1631: < 0.000979, 0.000000, -0.007436> + 1632: < 0.000979, 0.000000, -0.007436> + 1633: <-0.000000, 0.000000, -0.007500> + 1634: <-0.000000, -0.001250, -0.007835> + 1635: < 0.001023, -0.001250, -0.007768> + 1636: < 0.001023, -0.001250, -0.007768> + 1637: <-0.000000, -0.001250, -0.007835> + 1638: <-0.000000, -0.002165, -0.008750> + 1639: < 0.001142, -0.002165, -0.008675> + 1640: < 0.001142, -0.002165, -0.008675> + 1641: <-0.000000, -0.002165, -0.008750> + 1642: <-0.000000, -0.002500, -0.010000> + 1643: < 0.001305, -0.002500, -0.009914> + 1644: < 0.001305, -0.002500, -0.009914> + 1645: <-0.000000, -0.002500, -0.010000> + 1646: <-0.000000, -0.002165, -0.011250> + 1647: < 0.001468, -0.002165, -0.011154> + 1648: <-0.000000, 0.002165, -0.008750> + 1649: <-0.001142, 0.002165, -0.008675> + 1650: <-0.001023, 0.001250, -0.007768> + 1651: <-0.000000, 0.001250, -0.007835> + 1652: <-0.000000, 0.001250, -0.007835> + 1653: <-0.001023, 0.001250, -0.007768> + 1654: <-0.000979, 0.000000, -0.007436> + 1655: <-0.000000, 0.000000, -0.007500> + 1656: <-0.000000, 0.000000, -0.007500> + 1657: <-0.000979, 0.000000, -0.007436> + 1658: <-0.001023, -0.001250, -0.007768> + 1659: <-0.000000, -0.001250, -0.007835> + 1660: <-0.000000, -0.001250, -0.007835> + 1661: <-0.001023, -0.001250, -0.007768> + 1662: <-0.001142, -0.002165, -0.008675> + 1663: <-0.000000, -0.002165, -0.008750> + 1664: <-0.000000, -0.002165, -0.008750> + 1665: <-0.001142, -0.002165, -0.008675> + 1666: <-0.001305, -0.002500, -0.009914> + 1667: <-0.000000, -0.002500, -0.010000> + 1668: <-0.000000, -0.002500, -0.010000> + 1669: <-0.001305, -0.002500, -0.009914> + 1670: <-0.001468, -0.002165, -0.011154> + 1671: <-0.000000, -0.002165, -0.011250> + 1672: <-0.001305, 0.002500, -0.009914> + 1673: <-0.002588, 0.002500, -0.009659> + 1674: <-0.002265, 0.002165, -0.008452> + 1675: <-0.001142, 0.002165, -0.008675> + 1676: <-0.001142, 0.002165, -0.008675> + 1677: <-0.002265, 0.002165, -0.008452> + 1678: <-0.002028, 0.001250, -0.007568> + 1679: <-0.001023, 0.001250, -0.007768> + 1680: <-0.001023, 0.001250, -0.007768> + 1681: <-0.002028, 0.001250, -0.007568> + 1682: <-0.001941, 0.000000, -0.007244> + 1683: <-0.000979, 0.000000, -0.007436> + 1684: <-0.000979, 0.000000, -0.007436> + 1685: <-0.001941, 0.000000, -0.007244> + 1686: <-0.002028, -0.001250, -0.007568> + 1687: <-0.001023, -0.001250, -0.007768> + 1688: <-0.001023, -0.001250, -0.007768> + 1689: <-0.002028, -0.001250, -0.007568> + 1690: <-0.002265, -0.002165, -0.008452> + 1691: <-0.001142, -0.002165, -0.008675> + 1692: <-0.001142, -0.002165, -0.008675> + 1693: <-0.002265, -0.002165, -0.008452> + 1694: <-0.002588, -0.002500, -0.009659> + 1695: <-0.001305, -0.002500, -0.009914> + 1696: <-0.001305, -0.002500, -0.009914> + 1697: <-0.002588, -0.002500, -0.009659> + 1698: <-0.002912, -0.002165, -0.010867> + 1699: <-0.001468, -0.002165, -0.011154> + 1700: <-0.002588, 0.002500, -0.009659> + 1701: <-0.003827, 0.002500, -0.009239> + 1702: <-0.003348, 0.002165, -0.008084> + 1703: <-0.002265, 0.002165, -0.008452> + 1704: <-0.002265, 0.002165, -0.008452> + 1705: <-0.003348, 0.002165, -0.008084> + 1706: <-0.002998, 0.001250, -0.007239> + 1707: <-0.002028, 0.001250, -0.007568> + 1708: <-0.002028, 0.001250, -0.007568> + 1709: <-0.002998, 0.001250, -0.007239> + 1710: <-0.002870, 0.000000, -0.006929> + 1711: <-0.001941, 0.000000, -0.007244> + 1712: <-0.001941, 0.000000, -0.007244> + 1713: <-0.002870, 0.000000, -0.006929> + 1714: <-0.002998, -0.001250, -0.007239> + 1715: <-0.002028, -0.001250, -0.007568> + 1716: <-0.002028, -0.001250, -0.007568> + 1717: <-0.002998, -0.001250, -0.007239> + 1718: <-0.003348, -0.002165, -0.008084> + 1719: <-0.002265, -0.002165, -0.008452> + 1720: <-0.002265, -0.002165, -0.008452> + 1721: <-0.003348, -0.002165, -0.008084> + 1722: <-0.003827, -0.002500, -0.009239> + 1723: <-0.002588, -0.002500, -0.009659> + 1724: <-0.002588, -0.002500, -0.009659> + 1725: <-0.003827, -0.002500, -0.009239> + 1726: <-0.004305, -0.002165, -0.010394> + 1727: <-0.002912, -0.002165, -0.010867> + 1728: <-0.004305, 0.002165, -0.010394> + 1729: <-0.005625, 0.002165, -0.009743> + 1730: <-0.005000, 0.002500, -0.008660> + 1731: <-0.003827, 0.002500, -0.009239> + 1732: <-0.003827, 0.002500, -0.009239> + 1733: <-0.005000, 0.002500, -0.008660> + 1734: <-0.004375, 0.002165, -0.007578> + 1735: <-0.003348, 0.002165, -0.008084> + 1736: <-0.003348, 0.002165, -0.008084> + 1737: <-0.004375, 0.002165, -0.007578> + 1738: <-0.003917, 0.001250, -0.006785> + 1739: <-0.002998, 0.001250, -0.007239> + 1740: <-0.002998, 0.001250, -0.007239> + 1741: <-0.003917, 0.001250, -0.006785> + 1742: <-0.003750, 0.000000, -0.006495> + 1743: <-0.002870, 0.000000, -0.006929> + 1744: <-0.002870, 0.000000, -0.006929> + 1745: <-0.003750, 0.000000, -0.006495> + 1746: <-0.003917, -0.001250, -0.006785> + 1747: <-0.002998, -0.001250, -0.007239> + 1748: <-0.002998, -0.001250, -0.007239> + 1749: <-0.003917, -0.001250, -0.006785> + 1750: <-0.004375, -0.002165, -0.007578> + 1751: <-0.003348, -0.002165, -0.008084> + 1752: <-0.003348, -0.002165, -0.008084> + 1753: <-0.004375, -0.002165, -0.007578> + 1754: <-0.005000, -0.002500, -0.008660> + 1755: <-0.003827, -0.002500, -0.009239> + 1756: <-0.003827, -0.002500, -0.009239> + 1757: <-0.005000, -0.002500, -0.008660> + 1758: <-0.005625, -0.002165, -0.009743> + 1759: <-0.004305, -0.002165, -0.010394> + 1760: <-0.006083, 0.001250, -0.010535> + 1761: <-0.007406, 0.001250, -0.009651> + 1762: <-0.006849, 0.002165, -0.008925> + 1763: <-0.005625, 0.002165, -0.009743> + 1764: <-0.005625, 0.002165, -0.009743> + 1765: <-0.006849, 0.002165, -0.008925> + 1766: <-0.006088, 0.002500, -0.007934> + 1767: <-0.005000, 0.002500, -0.008660> + 1768: <-0.005000, 0.002500, -0.008660> + 1769: <-0.006088, 0.002500, -0.007934> + 1770: <-0.005327, 0.002165, -0.006942> + 1771: <-0.004375, 0.002165, -0.007578> + 1772: <-0.004375, 0.002165, -0.007578> + 1773: <-0.005327, 0.002165, -0.006942> + 1774: <-0.004770, 0.001250, -0.006216> + 1775: <-0.003917, 0.001250, -0.006785> + 1776: <-0.003917, 0.001250, -0.006785> + 1777: <-0.004770, 0.001250, -0.006216> + 1778: <-0.004566, 0.000000, -0.005950> + 1779: <-0.003750, 0.000000, -0.006495> + 1780: <-0.003750, 0.000000, -0.006495> + 1781: <-0.004566, 0.000000, -0.005950> + 1782: <-0.004770, -0.001250, -0.006216> + 1783: <-0.003917, -0.001250, -0.006785> + 1784: <-0.003917, -0.001250, -0.006785> + 1785: <-0.004770, -0.001250, -0.006216> + 1786: <-0.005327, -0.002165, -0.006942> + 1787: <-0.004375, -0.002165, -0.007578> + 1788: <-0.004375, -0.002165, -0.007578> + 1789: <-0.005327, -0.002165, -0.006942> + 1790: <-0.006088, -0.002500, -0.007934> + 1791: <-0.005000, -0.002500, -0.008660> + 1792: <-0.005000, -0.002500, -0.008660> + 1793: <-0.006088, -0.002500, -0.007934> + 1794: <-0.006849, -0.002165, -0.008925> + 1795: <-0.005625, -0.002165, -0.009743> + 1796: <-0.007610, 0.000000, -0.009917> + 1797: <-0.008839, 0.000000, -0.008839> + 1798: <-0.008602, 0.001250, -0.008602> + 1799: <-0.007406, 0.001250, -0.009651> + 1800: <-0.007406, 0.001250, -0.009651> + 1801: <-0.008602, 0.001250, -0.008602> + 1802: <-0.007955, 0.002165, -0.007955> + 1803: <-0.006849, 0.002165, -0.008925> + 1804: <-0.006849, 0.002165, -0.008925> + 1805: <-0.007955, 0.002165, -0.007955> + 1806: <-0.007071, 0.002500, -0.007071> + 1807: <-0.006088, 0.002500, -0.007934> + 1808: <-0.006088, 0.002500, -0.007934> + 1809: <-0.007071, 0.002500, -0.007071> + 1810: <-0.006187, 0.002165, -0.006187> + 1811: <-0.005327, 0.002165, -0.006942> + 1812: <-0.005327, 0.002165, -0.006942> + 1813: <-0.006187, 0.002165, -0.006187> + 1814: <-0.005540, 0.001250, -0.005540> + 1815: <-0.004770, 0.001250, -0.006216> + 1816: <-0.004770, 0.001250, -0.006216> + 1817: <-0.005540, 0.001250, -0.005540> + 1818: <-0.005303, 0.000000, -0.005303> + 1819: <-0.004566, 0.000000, -0.005950> + 1820: <-0.004566, 0.000000, -0.005950> + 1821: <-0.005303, 0.000000, -0.005303> + 1822: <-0.005540, -0.001250, -0.005540> + 1823: <-0.004770, -0.001250, -0.006216> + 1824: <-0.004770, -0.001250, -0.006216> + 1825: <-0.005540, -0.001250, -0.005540> + 1826: <-0.006187, -0.002165, -0.006187> + 1827: <-0.005327, -0.002165, -0.006942> + 1828: <-0.005327, -0.002165, -0.006942> + 1829: <-0.006187, -0.002165, -0.006187> + 1830: <-0.007071, -0.002500, -0.007071> + 1831: <-0.006088, -0.002500, -0.007934> + 1832: <-0.006088, -0.002500, -0.007934> + 1833: <-0.007071, -0.002500, -0.007071> + 1834: <-0.007955, -0.002165, -0.007955> + 1835: <-0.006849, -0.002165, -0.008925> + 1836: <-0.008839, 0.000000, -0.008839> + 1837: <-0.009917, 0.000000, -0.007610> + 1838: <-0.009651, 0.001250, -0.007406> + 1839: <-0.008602, 0.001250, -0.008602> + 1840: <-0.008602, 0.001250, -0.008602> + 1841: <-0.009651, 0.001250, -0.007406> + 1842: <-0.008925, 0.002165, -0.006849> + 1843: <-0.007955, 0.002165, -0.007955> + 1844: <-0.007955, 0.002165, -0.007955> + 1845: <-0.008925, 0.002165, -0.006849> + 1846: <-0.007934, 0.002500, -0.006088> + 1847: <-0.007071, 0.002500, -0.007071> + 1848: <-0.007071, 0.002500, -0.007071> + 1849: <-0.007934, 0.002500, -0.006088> + 1850: <-0.006942, 0.002165, -0.005327> + 1851: <-0.006187, 0.002165, -0.006187> + 1852: <-0.006187, 0.002165, -0.006187> + 1853: <-0.006942, 0.002165, -0.005327> + 1854: <-0.006216, 0.001250, -0.004770> + 1855: <-0.005540, 0.001250, -0.005540> + 1856: <-0.005540, 0.001250, -0.005540> + 1857: <-0.006216, 0.001250, -0.004770> + 1858: <-0.005950, 0.000000, -0.004566> + 1859: <-0.005303, 0.000000, -0.005303> + 1860: <-0.005303, 0.000000, -0.005303> + 1861: <-0.005950, 0.000000, -0.004566> + 1862: <-0.006216, -0.001250, -0.004770> + 1863: <-0.005540, -0.001250, -0.005540> + 1864: <-0.005540, -0.001250, -0.005540> + 1865: <-0.006216, -0.001250, -0.004770> + 1866: <-0.006942, -0.002165, -0.005327> + 1867: <-0.006187, -0.002165, -0.006187> + 1868: <-0.006187, -0.002165, -0.006187> + 1869: <-0.006942, -0.002165, -0.005327> + 1870: <-0.007934, -0.002500, -0.006088> + 1871: <-0.007071, -0.002500, -0.007071> + 1872: <-0.007071, -0.002500, -0.007071> + 1873: <-0.007934, -0.002500, -0.006088> + 1874: <-0.008925, -0.002165, -0.006849> + 1875: <-0.007955, -0.002165, -0.007955> + 1876: <-0.007955, -0.002165, -0.007955> + 1877: <-0.008925, -0.002165, -0.006849> + 1878: <-0.009651, -0.001250, -0.007406> + 1879: <-0.008602, -0.001250, -0.008602> + 1880: <-0.008602, -0.001250, -0.008602> + 1881: <-0.009651, -0.001250, -0.007406> + 1882: <-0.009917, 0.000000, -0.007610> + 1883: <-0.008839, 0.000000, -0.008839> + 1884: <-0.009917, 0.000000, -0.007610> + 1885: <-0.010825, 0.000000, -0.006250> + 1886: <-0.010535, 0.001250, -0.006083> + 1887: <-0.009651, 0.001250, -0.007406> + 1888: <-0.009651, 0.001250, -0.007406> + 1889: <-0.010535, 0.001250, -0.006083> + 1890: <-0.009743, 0.002165, -0.005625> + 1891: <-0.008925, 0.002165, -0.006849> + 1892: <-0.008925, 0.002165, -0.006849> + 1893: <-0.009743, 0.002165, -0.005625> + 1894: <-0.008660, 0.002500, -0.005000> + 1895: <-0.007934, 0.002500, -0.006088> + 1896: <-0.007934, 0.002500, -0.006088> + 1897: <-0.008660, 0.002500, -0.005000> + 1898: <-0.007578, 0.002165, -0.004375> + 1899: <-0.006942, 0.002165, -0.005327> + 1900: <-0.006942, 0.002165, -0.005327> + 1901: <-0.007578, 0.002165, -0.004375> + 1902: <-0.006785, 0.001250, -0.003917> + 1903: <-0.006216, 0.001250, -0.004770> + 1904: <-0.006216, 0.001250, -0.004770> + 1905: <-0.006785, 0.001250, -0.003917> + 1906: <-0.006495, 0.000000, -0.003750> + 1907: <-0.005950, 0.000000, -0.004566> + 1908: <-0.005950, 0.000000, -0.004566> + 1909: <-0.006495, 0.000000, -0.003750> + 1910: <-0.006785, -0.001250, -0.003917> + 1911: <-0.006216, -0.001250, -0.004770> + 1912: <-0.006216, -0.001250, -0.004770> + 1913: <-0.006785, -0.001250, -0.003917> + 1914: <-0.007578, -0.002165, -0.004375> + 1915: <-0.006942, -0.002165, -0.005327> + 1916: <-0.006942, -0.002165, -0.005327> + 1917: <-0.007578, -0.002165, -0.004375> + 1918: <-0.008660, -0.002500, -0.005000> + 1919: <-0.007934, -0.002500, -0.006088> + 1920: <-0.007934, -0.002500, -0.006088> + 1921: <-0.008660, -0.002500, -0.005000> + 1922: <-0.009743, -0.002165, -0.005625> + 1923: <-0.008925, -0.002165, -0.006849> + 1924: <-0.008925, -0.002165, -0.006849> + 1925: <-0.009743, -0.002165, -0.005625> + 1926: <-0.010535, -0.001250, -0.006083> + 1927: <-0.009651, -0.001250, -0.007406> + 1928: <-0.009651, -0.001250, -0.007406> + 1929: <-0.010535, -0.001250, -0.006083> + 1930: <-0.010825, 0.000000, -0.006250> + 1931: <-0.009917, 0.000000, -0.007610> + 1932: <-0.010825, 0.000000, -0.006250> + 1933: <-0.011548, 0.000000, -0.004784> + 1934: <-0.011239, 0.001250, -0.004655> + 1935: <-0.010535, 0.001250, -0.006083> + 1936: <-0.010535, 0.001250, -0.006083> + 1937: <-0.011239, 0.001250, -0.004655> + 1938: <-0.010394, 0.002165, -0.004305> + 1939: <-0.009743, 0.002165, -0.005625> + 1940: <-0.009743, 0.002165, -0.005625> + 1941: <-0.010394, 0.002165, -0.004305> + 1942: <-0.009239, 0.002500, -0.003827> + 1943: <-0.008660, 0.002500, -0.005000> + 1944: <-0.008660, 0.002500, -0.005000> + 1945: <-0.009239, 0.002500, -0.003827> + 1946: <-0.008084, 0.002165, -0.003348> + 1947: <-0.007578, 0.002165, -0.004375> + 1948: <-0.007578, 0.002165, -0.004375> + 1949: <-0.008084, 0.002165, -0.003348> + 1950: <-0.007239, 0.001250, -0.002998> + 1951: <-0.006785, 0.001250, -0.003917> + 1952: <-0.006785, 0.001250, -0.003917> + 1953: <-0.007239, 0.001250, -0.002998> + 1954: <-0.006929, 0.000000, -0.002870> + 1955: <-0.006495, 0.000000, -0.003750> + 1956: <-0.006495, 0.000000, -0.003750> + 1957: <-0.006929, 0.000000, -0.002870> + 1958: <-0.007239, -0.001250, -0.002998> + 1959: <-0.006785, -0.001250, -0.003917> + 1960: <-0.006785, -0.001250, -0.003917> + 1961: <-0.007239, -0.001250, -0.002998> + 1962: <-0.008084, -0.002165, -0.003348> + 1963: <-0.007578, -0.002165, -0.004375> + 1964: <-0.007578, -0.002165, -0.004375> + 1965: <-0.008084, -0.002165, -0.003348> + 1966: <-0.009239, -0.002500, -0.003827> + 1967: <-0.008660, -0.002500, -0.005000> + 1968: <-0.008660, -0.002500, -0.005000> + 1969: <-0.009239, -0.002500, -0.003827> + 1970: <-0.010394, -0.002165, -0.004305> + 1971: <-0.009743, -0.002165, -0.005625> + 1972: <-0.009743, -0.002165, -0.005625> + 1973: <-0.010394, -0.002165, -0.004305> + 1974: <-0.011239, -0.001250, -0.004655> + 1975: <-0.010535, -0.001250, -0.006083> + 1976: <-0.010535, -0.001250, -0.006083> + 1977: <-0.011239, -0.001250, -0.004655> + 1978: <-0.011548, 0.000000, -0.004784> + 1979: <-0.010825, 0.000000, -0.006250> + 1980: <-0.011548, 0.000000, -0.004784> + 1981: <-0.012074, 0.000000, -0.003235> + 1982: <-0.011751, 0.001250, -0.003149> + 1983: <-0.011239, 0.001250, -0.004655> + 1984: <-0.011239, 0.001250, -0.004655> + 1985: <-0.011751, 0.001250, -0.003149> + 1986: <-0.010867, 0.002165, -0.002912> + 1987: <-0.010394, 0.002165, -0.004305> + 1988: <-0.010394, 0.002165, -0.004305> + 1989: <-0.010867, 0.002165, -0.002912> + 1990: <-0.009659, 0.002500, -0.002588> + 1991: <-0.009239, 0.002500, -0.003827> + 1992: <-0.009239, 0.002500, -0.003827> + 1993: <-0.009659, 0.002500, -0.002588> + 1994: <-0.008452, 0.002165, -0.002265> + 1995: <-0.008084, 0.002165, -0.003348> + 1996: <-0.008084, 0.002165, -0.003348> + 1997: <-0.008452, 0.002165, -0.002265> + 1998: <-0.007568, 0.001250, -0.002028> + 1999: <-0.007239, 0.001250, -0.002998> + 2000: <-0.007239, 0.001250, -0.002998> + 2001: <-0.007568, 0.001250, -0.002028> + 2002: <-0.007244, 0.000000, -0.001941> + 2003: <-0.006929, 0.000000, -0.002870> + 2004: <-0.006929, 0.000000, -0.002870> + 2005: <-0.007244, 0.000000, -0.001941> + 2006: <-0.007568, -0.001250, -0.002028> + 2007: <-0.007239, -0.001250, -0.002998> + 2008: <-0.007239, -0.001250, -0.002998> + 2009: <-0.007568, -0.001250, -0.002028> + 2010: <-0.008452, -0.002165, -0.002265> + 2011: <-0.008084, -0.002165, -0.003348> + 2012: <-0.008084, -0.002165, -0.003348> + 2013: <-0.008452, -0.002165, -0.002265> + 2014: <-0.009659, -0.002500, -0.002588> + 2015: <-0.009239, -0.002500, -0.003827> + 2016: <-0.009239, -0.002500, -0.003827> + 2017: <-0.009659, -0.002500, -0.002588> + 2018: <-0.010867, -0.002165, -0.002912> + 2019: <-0.010394, -0.002165, -0.004305> + 2020: <-0.010394, -0.002165, -0.004305> + 2021: <-0.010867, -0.002165, -0.002912> + 2022: <-0.011751, -0.001250, -0.003149> + 2023: <-0.011239, -0.001250, -0.004655> + 2024: <-0.011239, -0.001250, -0.004655> + 2025: <-0.011751, -0.001250, -0.003149> + 2026: <-0.012074, 0.000000, -0.003235> + 2027: <-0.011548, 0.000000, -0.004784> + 2028: <-0.008452, 0.002165, -0.002265> + 2029: <-0.008675, 0.002165, -0.001142> + 2030: <-0.007768, 0.001250, -0.001023> + 2031: <-0.007568, 0.001250, -0.002028> + 2032: <-0.007568, 0.001250, -0.002028> + 2033: <-0.007768, 0.001250, -0.001023> + 2034: <-0.007436, 0.000000, -0.000979> + 2035: <-0.007244, 0.000000, -0.001941> + 2036: <-0.007244, 0.000000, -0.001941> + 2037: <-0.007436, 0.000000, -0.000979> + 2038: <-0.007768, -0.001250, -0.001023> + 2039: <-0.007568, -0.001250, -0.002028> + 2040: <-0.007568, -0.001250, -0.002028> + 2041: <-0.007768, -0.001250, -0.001023> + 2042: <-0.008675, -0.002165, -0.001142> + 2043: <-0.008452, -0.002165, -0.002265> + 2044: <-0.008452, -0.002165, -0.002265> + 2045: <-0.008675, -0.002165, -0.001142> + 2046: <-0.009914, -0.002500, -0.001305> + 2047: <-0.009659, -0.002500, -0.002588> + 2048: <-0.009659, -0.002500, -0.002588> + 2049: <-0.009914, -0.002500, -0.001305> + 2050: <-0.011154, -0.002165, -0.001468> + 2051: <-0.010867, -0.002165, -0.002912> + 2052: <-0.008675, 0.002165, -0.001142> + 2053: <-0.008750, 0.002165, 0.000000> + 2054: <-0.007835, 0.001250, 0.000000> + 2055: <-0.007768, 0.001250, -0.001023> + 2056: <-0.007768, 0.001250, -0.001023> + 2057: <-0.007835, 0.001250, 0.000000> + 2058: <-0.007500, 0.000000, 0.000000> + 2059: <-0.007436, 0.000000, -0.000979> + 2060: <-0.007436, 0.000000, -0.000979> + 2061: <-0.007500, 0.000000, 0.000000> + 2062: <-0.007835, -0.001250, 0.000000> + 2063: <-0.007768, -0.001250, -0.001023> + 2064: <-0.007768, -0.001250, -0.001023> + 2065: <-0.007835, -0.001250, 0.000000> + 2066: <-0.008750, -0.002165, 0.000000> + 2067: <-0.008675, -0.002165, -0.001142> + 2068: <-0.008675, -0.002165, -0.001142> + 2069: <-0.008750, -0.002165, 0.000000> + 2070: <-0.010000, -0.002500, 0.000000> + 2071: <-0.009914, -0.002500, -0.001305> + 2072: <-0.009914, -0.002500, -0.001305> + 2073: <-0.010000, -0.002500, 0.000000> + 2074: <-0.011250, -0.002165, 0.000000> + 2075: <-0.011154, -0.002165, -0.001468> + 2076: < 0.009743, 0.002165, -0.005625> + 2077: < 0.008925, 0.002165, -0.006849> + 2078: < 0.007934, 0.002500, -0.006088> + 2079: < 0.008660, 0.002500, -0.005000> + 2080: < 0.009651, 0.001250, -0.007406> + 2081: < 0.008602, 0.001250, -0.008602> + 2082: < 0.007955, 0.002165, -0.007955> + 2083: < 0.008925, 0.002165, -0.006849> + 2084: < 0.008925, 0.002165, -0.006849> + 2085: < 0.007955, 0.002165, -0.007955> + 2086: < 0.007071, 0.002500, -0.007071> + 2087: < 0.007934, 0.002500, -0.006088> + 2088: < 0.008602, 0.001250, -0.008602> + 2089: < 0.007406, 0.001250, -0.009651> + 2090: < 0.006849, 0.002165, -0.008925> + 2091: < 0.007955, 0.002165, -0.007955> + 2092: < 0.007955, 0.002165, -0.007955> + 2093: < 0.006849, 0.002165, -0.008925> + 2094: < 0.006088, 0.002500, -0.007934> + 2095: < 0.007071, 0.002500, -0.007071> + 2096: < 0.007071, 0.002500, -0.007071> + 2097: < 0.006088, 0.002500, -0.007934> + 2098: < 0.005327, 0.002165, -0.006942> + 2099: < 0.006187, 0.002165, -0.006187> + 2100: < 0.007610, 0.000000, -0.009917> + 2101: < 0.006250, 0.000000, -0.010825> + 2102: < 0.006083, 0.001250, -0.010535> + 2103: < 0.007406, 0.001250, -0.009651> + 2104: < 0.007406, 0.001250, -0.009651> + 2105: < 0.006083, 0.001250, -0.010535> + 2106: < 0.005625, 0.002165, -0.009743> + 2107: < 0.006849, 0.002165, -0.008925> + 2108: < 0.006849, 0.002165, -0.008925> + 2109: < 0.005625, 0.002165, -0.009743> + 2110: < 0.005000, 0.002500, -0.008660> + 2111: < 0.006088, 0.002500, -0.007934> + 2112: < 0.006088, 0.002500, -0.007934> + 2113: < 0.005000, 0.002500, -0.008660> + 2114: < 0.004375, 0.002165, -0.007578> + 2115: < 0.005327, 0.002165, -0.006942> + 2116: < 0.006250, 0.000000, -0.010825> + 2117: < 0.004784, 0.000000, -0.011548> + 2118: < 0.004655, 0.001250, -0.011239> + 2119: < 0.006083, 0.001250, -0.010535> + 2120: < 0.006083, 0.001250, -0.010535> + 2121: < 0.004655, 0.001250, -0.011239> + 2122: < 0.004305, 0.002165, -0.010394> + 2123: < 0.005625, 0.002165, -0.009743> + 2124: < 0.005625, 0.002165, -0.009743> + 2125: < 0.004305, 0.002165, -0.010394> + 2126: < 0.003827, 0.002500, -0.009239> + 2127: < 0.005000, 0.002500, -0.008660> + 2128: < 0.005000, 0.002500, -0.008660> + 2129: < 0.003827, 0.002500, -0.009239> + 2130: < 0.003348, 0.002165, -0.008084> + 2131: < 0.004375, 0.002165, -0.007578> + 2132: < 0.006083, -0.001250, -0.010535> + 2133: < 0.004655, -0.001250, -0.011239> + 2134: < 0.004784, 0.000000, -0.011548> + 2135: < 0.006250, 0.000000, -0.010825> + 2136: < 0.004784, 0.000000, -0.011548> + 2137: < 0.003235, 0.000000, -0.012074> + 2138: < 0.003149, 0.001250, -0.011751> + 2139: < 0.004655, 0.001250, -0.011239> + 2140: < 0.004655, 0.001250, -0.011239> + 2141: < 0.003149, 0.001250, -0.011751> + 2142: < 0.002912, 0.002165, -0.010867> + 2143: < 0.004305, 0.002165, -0.010394> + 2144: < 0.004305, 0.002165, -0.010394> + 2145: < 0.002912, 0.002165, -0.010867> + 2146: < 0.002588, 0.002500, -0.009659> + 2147: < 0.003827, 0.002500, -0.009239> + 2148: < 0.003827, 0.002500, -0.009239> + 2149: < 0.002588, 0.002500, -0.009659> + 2150: < 0.002265, 0.002165, -0.008452> + 2151: < 0.003348, 0.002165, -0.008084> + 2152: < 0.004655, -0.001250, -0.011239> + 2153: < 0.003149, -0.001250, -0.011751> + 2154: < 0.003235, 0.000000, -0.012074> + 2155: < 0.004784, 0.000000, -0.011548> + 2156: < 0.003235, 0.000000, -0.012074> + 2157: < 0.001632, 0.000000, -0.012393> + 2158: < 0.001588, 0.001250, -0.012061> + 2159: < 0.003149, 0.001250, -0.011751> + 2160: < 0.003149, 0.001250, -0.011751> + 2161: < 0.001588, 0.001250, -0.012061> + 2162: < 0.001468, 0.002165, -0.011154> + 2163: < 0.002912, 0.002165, -0.010867> + 2164: < 0.002912, 0.002165, -0.010867> + 2165: < 0.001468, 0.002165, -0.011154> + 2166: < 0.001305, 0.002500, -0.009914> + 2167: < 0.002588, 0.002500, -0.009659> + 2168: < 0.002588, 0.002500, -0.009659> + 2169: < 0.001305, 0.002500, -0.009914> + 2170: < 0.001142, 0.002165, -0.008675> + 2171: < 0.002265, 0.002165, -0.008452> + 2172: < 0.002912, -0.002165, -0.010867> + 2173: < 0.001468, -0.002165, -0.011154> + 2174: < 0.001588, -0.001250, -0.012061> + 2175: < 0.003149, -0.001250, -0.011751> + 2176: < 0.003149, -0.001250, -0.011751> + 2177: < 0.001588, -0.001250, -0.012061> + 2178: < 0.001632, 0.000000, -0.012393> + 2179: < 0.003235, 0.000000, -0.012074> + 2180: < 0.001632, 0.000000, -0.012393> + 2181: <-0.000000, 0.000000, -0.012500> + 2182: <-0.000000, 0.001250, -0.012165> + 2183: < 0.001588, 0.001250, -0.012061> + 2184: < 0.001588, 0.001250, -0.012061> + 2185: <-0.000000, 0.001250, -0.012165> + 2186: <-0.000000, 0.002165, -0.011250> + 2187: < 0.001468, 0.002165, -0.011154> + 2188: < 0.001468, 0.002165, -0.011154> + 2189: <-0.000000, 0.002165, -0.011250> + 2190: <-0.000000, 0.002500, -0.010000> + 2191: < 0.001305, 0.002500, -0.009914> + 2192: < 0.001305, 0.002500, -0.009914> + 2193: <-0.000000, 0.002500, -0.010000> + 2194: <-0.000000, 0.002165, -0.008750> + 2195: < 0.001142, 0.002165, -0.008675> + 2196: < 0.001468, -0.002165, -0.011154> + 2197: <-0.000000, -0.002165, -0.011250> + 2198: <-0.000000, -0.001250, -0.012165> + 2199: < 0.001588, -0.001250, -0.012061> + 2200: < 0.001588, -0.001250, -0.012061> + 2201: <-0.000000, -0.001250, -0.012165> + 2202: <-0.000000, 0.000000, -0.012500> + 2203: < 0.001632, 0.000000, -0.012393> + 2204: <-0.000000, 0.000000, -0.012500> + 2205: <-0.001632, 0.000000, -0.012393> + 2206: <-0.001588, 0.001250, -0.012061> + 2207: <-0.000000, 0.001250, -0.012165> + 2208: <-0.000000, 0.001250, -0.012165> + 2209: <-0.001588, 0.001250, -0.012061> + 2210: <-0.001468, 0.002165, -0.011154> + 2211: <-0.000000, 0.002165, -0.011250> + 2212: <-0.000000, 0.002165, -0.011250> + 2213: <-0.001468, 0.002165, -0.011154> + 2214: <-0.001305, 0.002500, -0.009914> + 2215: <-0.000000, 0.002500, -0.010000> + 2216: <-0.000000, 0.002500, -0.010000> + 2217: <-0.001305, 0.002500, -0.009914> + 2218: <-0.001142, 0.002165, -0.008675> + 2219: <-0.000000, 0.002165, -0.008750> + 2220: <-0.000000, -0.002165, -0.011250> + 2221: <-0.001468, -0.002165, -0.011154> + 2222: <-0.001588, -0.001250, -0.012061> + 2223: <-0.000000, -0.001250, -0.012165> + 2224: <-0.000000, -0.001250, -0.012165> + 2225: <-0.001588, -0.001250, -0.012061> + 2226: <-0.001632, 0.000000, -0.012393> + 2227: <-0.000000, 0.000000, -0.012500> + 2228: <-0.001632, 0.000000, -0.012393> + 2229: <-0.003235, 0.000000, -0.012074> + 2230: <-0.003149, 0.001250, -0.011751> + 2231: <-0.001588, 0.001250, -0.012061> + 2232: <-0.001588, 0.001250, -0.012061> + 2233: <-0.003149, 0.001250, -0.011751> + 2234: <-0.002912, 0.002165, -0.010867> + 2235: <-0.001468, 0.002165, -0.011154> + 2236: <-0.001468, 0.002165, -0.011154> + 2237: <-0.002912, 0.002165, -0.010867> + 2238: <-0.002588, 0.002500, -0.009659> + 2239: <-0.001305, 0.002500, -0.009914> + 2240: <-0.001468, -0.002165, -0.011154> + 2241: <-0.002912, -0.002165, -0.010867> + 2242: <-0.003149, -0.001250, -0.011751> + 2243: <-0.001588, -0.001250, -0.012061> + 2244: <-0.001588, -0.001250, -0.012061> + 2245: <-0.003149, -0.001250, -0.011751> + 2246: <-0.003235, 0.000000, -0.012074> + 2247: <-0.001632, 0.000000, -0.012393> + 2248: <-0.003235, 0.000000, -0.012074> + 2249: <-0.004784, 0.000000, -0.011548> + 2250: <-0.004655, 0.001250, -0.011239> + 2251: <-0.003149, 0.001250, -0.011751> + 2252: <-0.003149, 0.001250, -0.011751> + 2253: <-0.004655, 0.001250, -0.011239> + 2254: <-0.004305, 0.002165, -0.010394> + 2255: <-0.002912, 0.002165, -0.010867> + 2256: <-0.002912, 0.002165, -0.010867> + 2257: <-0.004305, 0.002165, -0.010394> + 2258: <-0.003827, 0.002500, -0.009239> + 2259: <-0.002588, 0.002500, -0.009659> + 2260: <-0.002912, -0.002165, -0.010867> + 2261: <-0.004305, -0.002165, -0.010394> + 2262: <-0.004655, -0.001250, -0.011239> + 2263: <-0.003149, -0.001250, -0.011751> + 2264: <-0.003149, -0.001250, -0.011751> + 2265: <-0.004655, -0.001250, -0.011239> + 2266: <-0.004784, 0.000000, -0.011548> + 2267: <-0.003235, 0.000000, -0.012074> + 2268: <-0.004784, 0.000000, -0.011548> + 2269: <-0.006250, 0.000000, -0.010825> + 2270: <-0.006083, 0.001250, -0.010535> + 2271: <-0.004655, 0.001250, -0.011239> + 2272: <-0.004655, 0.001250, -0.011239> + 2273: <-0.006083, 0.001250, -0.010535> + 2274: <-0.005625, 0.002165, -0.009743> + 2275: <-0.004305, 0.002165, -0.010394> + 2276: <-0.004305, -0.002165, -0.010394> + 2277: <-0.005625, -0.002165, -0.009743> + 2278: <-0.006083, -0.001250, -0.010535> + 2279: <-0.004655, -0.001250, -0.011239> + 2280: <-0.004655, -0.001250, -0.011239> + 2281: <-0.006083, -0.001250, -0.010535> + 2282: <-0.006250, 0.000000, -0.010825> + 2283: <-0.004784, 0.000000, -0.011548> + 2284: <-0.006250, 0.000000, -0.010825> + 2285: <-0.007610, 0.000000, -0.009917> + 2286: <-0.007406, 0.001250, -0.009651> + 2287: <-0.006083, 0.001250, -0.010535> + 2288: <-0.005625, -0.002165, -0.009743> + 2289: <-0.006849, -0.002165, -0.008925> + 2290: <-0.007406, -0.001250, -0.009651> + 2291: <-0.006083, -0.001250, -0.010535> + 2292: <-0.006083, -0.001250, -0.010535> + 2293: <-0.007406, -0.001250, -0.009651> + 2294: <-0.007610, 0.000000, -0.009917> + 2295: <-0.006250, 0.000000, -0.010825> + 2296: <-0.006849, -0.002165, -0.008925> + 2297: <-0.007955, -0.002165, -0.007955> + 2298: <-0.008602, -0.001250, -0.008602> + 2299: <-0.007406, -0.001250, -0.009651> + 2300: <-0.007406, -0.001250, -0.009651> + 2301: <-0.008602, -0.001250, -0.008602> + 2302: <-0.008839, 0.000000, -0.008839> + 2303: <-0.007610, 0.000000, -0.009917> + Normals: Count 2304. Hash: 14915939258818888021 + 0: <-0.963996, 0.258302, 0.063184> + 1: <-0.963996, 0.258302, 0.063184> + 2: <-0.963996, 0.258302, 0.063184> + 3: <-0.963996, 0.258302, 0.063184> + 4: <-0.706349, 0.706349, 0.046297> + 5: <-0.706349, 0.706349, 0.046297> + 6: <-0.706349, 0.706349, 0.046297> + 7: <-0.706349, 0.706349, 0.046297> + 8: <-0.258782, 0.965787, 0.016961> + 9: <-0.258782, 0.965787, 0.016961> + 10: <-0.258782, 0.965787, 0.016961> + 11: <-0.258782, 0.965787, 0.016961> + 12: < 0.258782, 0.965787, -0.016961> + 13: < 0.258782, 0.965787, -0.016961> + 14: < 0.258782, 0.965787, -0.016961> + 15: < 0.258782, 0.965787, -0.016961> + 16: <-0.706349, -0.706349, 0.046297> + 17: <-0.706349, -0.706349, 0.046297> + 18: <-0.706349, -0.706349, 0.046297> + 19: <-0.706349, -0.706349, 0.046297> + 20: <-0.963996, -0.258302, 0.063184> + 21: <-0.963996, -0.258302, 0.063184> + 22: <-0.963996, -0.258302, 0.063184> + 23: <-0.963996, -0.258302, 0.063184> + 24: <-0.947502, 0.258302, 0.188470> + 25: <-0.947502, 0.258302, 0.188470> + 26: <-0.947502, 0.258302, 0.188470> + 27: <-0.947502, 0.258302, 0.188470> + 28: <-0.694263, 0.706349, 0.138097> + 29: <-0.694263, 0.706349, 0.138097> + 30: <-0.694263, 0.706349, 0.138097> + 31: <-0.694263, 0.706349, 0.138097> + 32: <-0.254354, 0.965787, 0.050594> + 33: <-0.254354, 0.965787, 0.050594> + 34: <-0.254354, 0.965787, 0.050594> + 35: <-0.254354, 0.965787, 0.050594> + 36: < 0.254354, 0.965787, -0.050594> + 37: < 0.254354, 0.965787, -0.050594> + 38: < 0.254354, 0.965787, -0.050594> + 39: < 0.254354, 0.965787, -0.050594> + 40: <-0.694263, -0.706349, 0.138097> + 41: <-0.694263, -0.706349, 0.138097> + 42: <-0.694263, -0.706349, 0.138097> + 43: <-0.694263, -0.706349, 0.138097> + 44: <-0.947502, -0.258302, 0.188470> + 45: <-0.947502, -0.258302, 0.188470> + 46: <-0.947502, -0.258302, 0.188470> + 47: <-0.947502, -0.258302, 0.188470> + 48: <-0.914796, 0.258301, 0.310531> + 49: <-0.914796, 0.258301, 0.310531> + 50: <-0.914796, 0.258301, 0.310531> + 51: <-0.914796, 0.258301, 0.310531> + 52: <-0.670298, 0.706349, 0.227535> + 53: <-0.670298, 0.706349, 0.227535> + 54: <-0.670298, 0.706349, 0.227535> + 55: <-0.670298, 0.706349, 0.227535> + 56: <-0.245574, 0.965787, 0.083361> + 57: <-0.245574, 0.965787, 0.083361> + 58: <-0.245574, 0.965787, 0.083361> + 59: <-0.245574, 0.965787, 0.083361> + 60: < 0.245574, 0.965787, -0.083361> + 61: < 0.245574, 0.965787, -0.083361> + 62: < 0.245574, 0.965787, -0.083361> + 63: < 0.245574, 0.965787, -0.083361> + 64: <-0.670298, -0.706349, 0.227535> + 65: <-0.670298, -0.706349, 0.227535> + 66: <-0.670298, -0.706349, 0.227535> + 67: <-0.670298, -0.706349, 0.227535> + 68: <-0.914796, -0.258301, 0.310531> + 69: <-0.914796, -0.258301, 0.310531> + 70: <-0.914796, -0.258301, 0.310531> + 71: <-0.914796, -0.258301, 0.310531> + 72: <-0.866437, 0.258302, 0.427279> + 73: <-0.866437, 0.258302, 0.427279> + 74: <-0.866437, 0.258302, 0.427279> + 75: <-0.866437, 0.258302, 0.427279> + 76: <-0.634864, 0.706349, 0.313080> + 77: <-0.634864, 0.706349, 0.313080> + 78: <-0.634864, 0.706349, 0.313080> + 79: <-0.634864, 0.706349, 0.313080> + 80: <-0.232592, 0.965787, 0.114702> + 81: <-0.232592, 0.965787, 0.114702> + 82: <-0.232592, 0.965787, 0.114702> + 83: <-0.232592, 0.965787, 0.114702> + 84: < 0.232592, 0.965787, -0.114702> + 85: < 0.232592, 0.965787, -0.114702> + 86: < 0.232592, 0.965787, -0.114702> + 87: < 0.232592, 0.965787, -0.114702> + 88: <-0.634864, -0.706349, 0.313080> + 89: <-0.634864, -0.706349, 0.313080> + 90: <-0.634864, -0.706349, 0.313080> + 91: <-0.634864, -0.706349, 0.313080> + 92: <-0.866437, -0.258302, 0.427279> + 93: <-0.866437, -0.258302, 0.427279> + 94: <-0.866437, -0.258302, 0.427279> + 95: <-0.866437, -0.258302, 0.427279> + 96: <-0.803253, 0.258302, 0.536716> + 97: <-0.803253, 0.258302, 0.536716> + 98: <-0.803253, 0.258302, 0.536716> + 99: <-0.803253, 0.258302, 0.536716> + 100: <-0.588568, 0.706348, 0.393268> + 101: <-0.588568, 0.706348, 0.393268> + 102: <-0.588568, 0.706348, 0.393268> + 103: <-0.588568, 0.706348, 0.393268> + 104: <-0.215631, 0.965787, 0.144080> + 105: <-0.215631, 0.965787, 0.144080> + 106: <-0.215631, 0.965787, 0.144080> + 107: <-0.215631, 0.965787, 0.144080> + 108: < 0.215631, 0.965787, -0.144080> + 109: < 0.215631, 0.965787, -0.144080> + 110: < 0.215631, 0.965787, -0.144080> + 111: < 0.215631, 0.965787, -0.144080> + 112: <-0.588568, -0.706348, 0.393268> + 113: <-0.588568, -0.706348, 0.393268> + 114: <-0.588568, -0.706348, 0.393268> + 115: <-0.588568, -0.706348, 0.393268> + 116: <-0.803253, -0.258302, 0.536716> + 117: <-0.803253, -0.258302, 0.536716> + 118: <-0.803253, -0.258302, 0.536716> + 119: <-0.803253, -0.258302, 0.536716> + 120: <-0.726325, 0.258302, 0.636971> + 121: <-0.726325, 0.258302, 0.636971> + 122: <-0.726325, 0.258302, 0.636971> + 123: <-0.726325, 0.258302, 0.636971> + 124: <-0.532200, 0.706348, 0.466728> + 125: <-0.532200, 0.706348, 0.466728> + 126: <-0.532200, 0.706348, 0.466728> + 127: <-0.532200, 0.706348, 0.466728> + 128: <-0.194980, 0.965787, 0.170993> + 129: <-0.194980, 0.965787, 0.170993> + 130: <-0.194980, 0.965787, 0.170993> + 131: <-0.194980, 0.965787, 0.170993> + 132: < 0.194980, 0.965787, -0.170993> + 133: < 0.194980, 0.965787, -0.170993> + 134: < 0.194980, 0.965787, -0.170993> + 135: < 0.194980, 0.965787, -0.170993> + 136: < 0.532201, 0.706349, -0.466727> + 137: < 0.532201, 0.706349, -0.466727> + 138: < 0.532201, 0.706349, -0.466727> + 139: < 0.532201, 0.706349, -0.466727> + 140: <-0.726325, -0.258302, 0.636971> + 141: <-0.726325, -0.258302, 0.636971> + 142: <-0.726325, -0.258302, 0.636971> + 143: <-0.726325, -0.258302, 0.636971> + 144: <-0.636970, 0.258302, 0.726326> + 145: <-0.636970, 0.258302, 0.726326> + 146: <-0.636970, 0.258302, 0.726326> + 147: <-0.636970, 0.258302, 0.726326> + 148: <-0.466727, 0.706349, 0.532200> + 149: <-0.466727, 0.706349, 0.532200> + 150: <-0.466727, 0.706349, 0.532200> + 151: <-0.466727, 0.706349, 0.532200> + 152: <-0.170993, 0.965787, 0.194980> + 153: <-0.170993, 0.965787, 0.194980> + 154: <-0.170993, 0.965787, 0.194980> + 155: <-0.170993, 0.965787, 0.194980> + 156: < 0.170993, 0.965787, -0.194980> + 157: < 0.170993, 0.965787, -0.194980> + 158: < 0.170993, 0.965787, -0.194980> + 159: < 0.170993, 0.965787, -0.194980> + 160: < 0.466727, 0.706349, -0.532201> + 161: < 0.466727, 0.706349, -0.532201> + 162: < 0.466727, 0.706349, -0.532201> + 163: < 0.466727, 0.706349, -0.532201> + 164: <-0.636970, -0.258302, 0.726326> + 165: <-0.636970, -0.258302, 0.726326> + 166: <-0.636970, -0.258302, 0.726326> + 167: <-0.636970, -0.258302, 0.726326> + 168: <-0.536717, 0.258301, 0.803253> + 169: <-0.536717, 0.258301, 0.803253> + 170: <-0.536717, 0.258301, 0.803253> + 171: <-0.536717, 0.258301, 0.803253> + 172: <-0.393268, 0.706349, 0.588567> + 173: <-0.393268, 0.706349, 0.588567> + 174: <-0.393268, 0.706349, 0.588567> + 175: <-0.393268, 0.706349, 0.588567> + 176: <-0.144080, 0.965787, 0.215631> + 177: <-0.144080, 0.965787, 0.215631> + 178: <-0.144080, 0.965787, 0.215631> + 179: <-0.144080, 0.965787, 0.215631> + 180: < 0.144080, 0.965787, -0.215631> + 181: < 0.144080, 0.965787, -0.215631> + 182: < 0.144080, 0.965787, -0.215631> + 183: < 0.144080, 0.965787, -0.215631> + 184: < 0.393269, 0.706348, -0.588567> + 185: < 0.393269, 0.706348, -0.588567> + 186: < 0.393269, 0.706348, -0.588567> + 187: < 0.393269, 0.706348, -0.588567> + 188: < 0.536717, 0.258301, -0.803253> + 189: < 0.536717, 0.258301, -0.803253> + 190: < 0.536717, 0.258301, -0.803253> + 191: < 0.536717, 0.258301, -0.803253> + 192: <-0.313080, 0.706349, 0.634864> + 193: <-0.313080, 0.706349, 0.634864> + 194: <-0.313080, 0.706349, 0.634864> + 195: <-0.313080, 0.706349, 0.634864> + 196: <-0.114702, 0.965787, 0.232592> + 197: <-0.114702, 0.965787, 0.232592> + 198: <-0.114702, 0.965787, 0.232592> + 199: <-0.114702, 0.965787, 0.232592> + 200: < 0.114702, 0.965787, -0.232592> + 201: < 0.114702, 0.965787, -0.232592> + 202: < 0.114702, 0.965787, -0.232592> + 203: < 0.114702, 0.965787, -0.232592> + 204: < 0.313080, 0.706349, -0.634864> + 205: < 0.313080, 0.706349, -0.634864> + 206: < 0.313080, 0.706349, -0.634864> + 207: < 0.313080, 0.706349, -0.634864> + 208: < 0.427279, 0.258302, -0.866437> + 209: < 0.427279, 0.258302, -0.866437> + 210: < 0.427279, 0.258302, -0.866437> + 211: < 0.427279, 0.258302, -0.866437> + 212: <-0.227536, 0.706349, 0.670298> + 213: <-0.227536, 0.706349, 0.670298> + 214: <-0.227536, 0.706349, 0.670298> + 215: <-0.227536, 0.706349, 0.670298> + 216: <-0.083361, 0.965787, 0.245574> + 217: <-0.083361, 0.965787, 0.245574> + 218: <-0.083361, 0.965787, 0.245574> + 219: <-0.083361, 0.965787, 0.245574> + 220: < 0.083361, 0.965787, -0.245574> + 221: < 0.083361, 0.965787, -0.245574> + 222: < 0.083361, 0.965787, -0.245574> + 223: < 0.083361, 0.965787, -0.245574> + 224: < 0.227536, 0.706348, -0.670298> + 225: < 0.227536, 0.706348, -0.670298> + 226: < 0.227536, 0.706348, -0.670298> + 227: < 0.227536, 0.706348, -0.670298> + 228: < 0.310531, 0.258301, -0.914796> + 229: < 0.310531, 0.258301, -0.914796> + 230: < 0.310531, 0.258301, -0.914796> + 231: < 0.310531, 0.258301, -0.914796> + 232: < 0.310531, -0.258301, -0.914796> + 233: < 0.310531, -0.258301, -0.914796> + 234: < 0.310531, -0.258301, -0.914796> + 235: < 0.310531, -0.258301, -0.914796> + 236: <-0.050594, 0.965787, 0.254354> + 237: <-0.050594, 0.965787, 0.254354> + 238: <-0.050594, 0.965787, 0.254354> + 239: <-0.050594, 0.965787, 0.254354> + 240: < 0.050594, 0.965787, -0.254354> + 241: < 0.050594, 0.965787, -0.254354> + 242: < 0.050594, 0.965787, -0.254354> + 243: < 0.050594, 0.965787, -0.254354> + 244: < 0.138097, 0.706349, -0.694263> + 245: < 0.138097, 0.706349, -0.694263> + 246: < 0.138097, 0.706349, -0.694263> + 247: < 0.138097, 0.706349, -0.694263> + 248: < 0.188470, 0.258302, -0.947502> + 249: < 0.188470, 0.258302, -0.947502> + 250: < 0.188470, 0.258302, -0.947502> + 251: < 0.188470, 0.258302, -0.947502> + 252: < 0.188470, -0.258302, -0.947502> + 253: < 0.188470, -0.258302, -0.947502> + 254: < 0.188470, -0.258302, -0.947502> + 255: < 0.188470, -0.258302, -0.947502> + 256: <-0.016961, 0.965787, 0.258782> + 257: <-0.016961, 0.965787, 0.258782> + 258: <-0.016961, 0.965787, 0.258782> + 259: <-0.016961, 0.965787, 0.258782> + 260: < 0.016962, 0.965787, -0.258782> + 261: < 0.016962, 0.965787, -0.258782> + 262: < 0.016962, 0.965787, -0.258782> + 263: < 0.016962, 0.965787, -0.258782> + 264: < 0.046297, 0.706349, -0.706348> + 265: < 0.046297, 0.706349, -0.706348> + 266: < 0.046297, 0.706349, -0.706348> + 267: < 0.046297, 0.706349, -0.706348> + 268: < 0.063184, 0.258301, -0.963996> + 269: < 0.063184, 0.258301, -0.963996> + 270: < 0.063184, 0.258301, -0.963996> + 271: < 0.063184, 0.258301, -0.963996> + 272: < 0.063184, -0.258301, -0.963996> + 273: < 0.063184, -0.258301, -0.963996> + 274: < 0.063184, -0.258301, -0.963996> + 275: < 0.063184, -0.258301, -0.963996> + 276: < 0.016962, 0.965787, 0.258782> + 277: < 0.016962, 0.965787, 0.258782> + 278: < 0.016962, 0.965787, 0.258782> + 279: < 0.016962, 0.965787, 0.258782> + 280: <-0.016961, 0.965787, -0.258782> + 281: <-0.016961, 0.965787, -0.258782> + 282: <-0.016961, 0.965787, -0.258782> + 283: <-0.016961, 0.965787, -0.258782> + 284: <-0.046297, 0.706349, -0.706348> + 285: <-0.046297, 0.706349, -0.706348> + 286: <-0.046297, 0.706349, -0.706348> + 287: <-0.046297, 0.706349, -0.706348> + 288: <-0.063184, 0.258301, -0.963996> + 289: <-0.063184, 0.258301, -0.963996> + 290: <-0.063184, 0.258301, -0.963996> + 291: <-0.063184, 0.258301, -0.963996> + 292: <-0.063184, -0.258301, -0.963996> + 293: <-0.063184, -0.258301, -0.963996> + 294: <-0.063184, -0.258301, -0.963996> + 295: <-0.063184, -0.258301, -0.963996> + 296: <-0.046297, -0.706349, -0.706348> + 297: <-0.046297, -0.706349, -0.706348> + 298: <-0.046297, -0.706349, -0.706348> + 299: <-0.046297, -0.706349, -0.706348> + 300: < 0.050594, 0.965787, 0.254354> + 301: < 0.050594, 0.965787, 0.254354> + 302: < 0.050594, 0.965787, 0.254354> + 303: < 0.050594, 0.965787, 0.254354> + 304: <-0.050594, 0.965787, -0.254354> + 305: <-0.050594, 0.965787, -0.254354> + 306: <-0.050594, 0.965787, -0.254354> + 307: <-0.050594, 0.965787, -0.254354> + 308: <-0.138097, 0.706349, -0.694263> + 309: <-0.138097, 0.706349, -0.694263> + 310: <-0.138097, 0.706349, -0.694263> + 311: <-0.138097, 0.706349, -0.694263> + 312: <-0.188470, 0.258301, -0.947502> + 313: <-0.188470, 0.258301, -0.947502> + 314: <-0.188470, 0.258301, -0.947502> + 315: <-0.188470, 0.258301, -0.947502> + 316: <-0.188470, -0.258301, -0.947502> + 317: <-0.188470, -0.258301, -0.947502> + 318: <-0.188470, -0.258301, -0.947502> + 319: <-0.188470, -0.258301, -0.947502> + 320: <-0.138097, -0.706349, -0.694263> + 321: <-0.138097, -0.706349, -0.694263> + 322: <-0.138097, -0.706349, -0.694263> + 323: <-0.138097, -0.706349, -0.694263> + 324: < 0.083361, 0.965787, 0.245574> + 325: < 0.083361, 0.965787, 0.245574> + 326: < 0.083361, 0.965787, 0.245574> + 327: < 0.083361, 0.965787, 0.245574> + 328: <-0.083361, 0.965787, -0.245574> + 329: <-0.083361, 0.965787, -0.245574> + 330: <-0.083361, 0.965787, -0.245574> + 331: <-0.083361, 0.965787, -0.245574> + 332: <-0.227536, 0.706349, -0.670298> + 333: <-0.227536, 0.706349, -0.670298> + 334: <-0.227536, 0.706349, -0.670298> + 335: <-0.227536, 0.706349, -0.670298> + 336: <-0.310531, 0.258301, -0.914796> + 337: <-0.310531, 0.258301, -0.914796> + 338: <-0.310531, 0.258301, -0.914796> + 339: <-0.310531, 0.258301, -0.914796> + 340: <-0.310531, -0.258301, -0.914796> + 341: <-0.310531, -0.258301, -0.914796> + 342: <-0.310531, -0.258301, -0.914796> + 343: <-0.310531, -0.258301, -0.914796> + 344: <-0.227536, -0.706349, -0.670298> + 345: <-0.227536, -0.706349, -0.670298> + 346: <-0.227536, -0.706349, -0.670298> + 347: <-0.227536, -0.706349, -0.670298> + 348: < 0.114702, 0.965787, 0.232592> + 349: < 0.114702, 0.965787, 0.232592> + 350: < 0.114702, 0.965787, 0.232592> + 351: < 0.114702, 0.965787, 0.232592> + 352: <-0.114702, 0.965787, -0.232593> + 353: <-0.114702, 0.965787, -0.232593> + 354: <-0.114702, 0.965787, -0.232593> + 355: <-0.114702, 0.965787, -0.232593> + 356: <-0.313080, 0.706349, -0.634864> + 357: <-0.313080, 0.706349, -0.634864> + 358: <-0.313080, 0.706349, -0.634864> + 359: <-0.313080, 0.706349, -0.634864> + 360: <-0.427279, 0.258302, -0.866437> + 361: <-0.427279, 0.258302, -0.866437> + 362: <-0.427279, 0.258302, -0.866437> + 363: <-0.427279, 0.258302, -0.866437> + 364: <-0.427279, -0.258302, -0.866437> + 365: <-0.427279, -0.258302, -0.866437> + 366: <-0.427279, -0.258302, -0.866437> + 367: <-0.427279, -0.258302, -0.866437> + 368: <-0.313080, -0.706349, -0.634864> + 369: <-0.313080, -0.706349, -0.634864> + 370: <-0.313080, -0.706349, -0.634864> + 371: <-0.313080, -0.706349, -0.634864> + 372: < 0.144080, 0.965787, 0.215631> + 373: < 0.144080, 0.965787, 0.215631> + 374: < 0.144080, 0.965787, 0.215631> + 375: < 0.144080, 0.965787, 0.215631> + 376: <-0.144080, 0.965787, -0.215631> + 377: <-0.144080, 0.965787, -0.215631> + 378: <-0.144080, 0.965787, -0.215631> + 379: <-0.144080, 0.965787, -0.215631> + 380: <-0.393268, 0.706349, -0.588567> + 381: <-0.393268, 0.706349, -0.588567> + 382: <-0.393268, 0.706349, -0.588567> + 383: <-0.393268, 0.706349, -0.588567> + 384: <-0.393268, -0.706349, -0.588567> + 385: <-0.393268, -0.706349, -0.588567> + 386: <-0.393268, -0.706349, -0.588567> + 387: <-0.393268, -0.706349, -0.588567> + 388: <-0.947502, 0.258302, -0.188469> + 389: <-0.947502, 0.258302, -0.188469> + 390: <-0.947502, 0.258302, -0.188469> + 391: <-0.947502, 0.258302, -0.188469> + 392: <-0.694263, 0.706349, -0.138098> + 393: <-0.694263, 0.706349, -0.138098> + 394: <-0.694263, 0.706349, -0.138098> + 395: <-0.694263, 0.706349, -0.138098> + 396: <-0.254354, 0.965787, -0.050594> + 397: <-0.254354, 0.965787, -0.050594> + 398: <-0.254354, 0.965787, -0.050594> + 399: <-0.254354, 0.965787, -0.050594> + 400: < 0.254354, 0.965787, 0.050594> + 401: < 0.254354, 0.965787, 0.050594> + 402: < 0.254354, 0.965787, 0.050594> + 403: < 0.254354, 0.965787, 0.050594> + 404: <-0.694263, -0.706349, -0.138098> + 405: <-0.694263, -0.706349, -0.138098> + 406: <-0.694263, -0.706349, -0.138098> + 407: <-0.694263, -0.706349, -0.138098> + 408: <-0.947502, -0.258302, -0.188469> + 409: <-0.947502, -0.258302, -0.188469> + 410: <-0.947502, -0.258302, -0.188469> + 411: <-0.947502, -0.258302, -0.188469> + 412: <-0.963996, 0.258302, -0.063184> + 413: <-0.963996, 0.258302, -0.063184> + 414: <-0.963996, 0.258302, -0.063184> + 415: <-0.963996, 0.258302, -0.063184> + 416: <-0.706349, 0.706349, -0.046297> + 417: <-0.706349, 0.706349, -0.046297> + 418: <-0.706349, 0.706349, -0.046297> + 419: <-0.706349, 0.706349, -0.046297> + 420: <-0.258782, 0.965787, -0.016961> + 421: <-0.258782, 0.965787, -0.016961> + 422: <-0.258782, 0.965787, -0.016961> + 423: <-0.258782, 0.965787, -0.016961> + 424: < 0.258782, 0.965787, 0.016961> + 425: < 0.258782, 0.965787, 0.016961> + 426: < 0.258782, 0.965787, 0.016961> + 427: < 0.258782, 0.965787, 0.016961> + 428: <-0.706349, -0.706349, -0.046297> + 429: <-0.706349, -0.706349, -0.046297> + 430: <-0.706349, -0.706349, -0.046297> + 431: <-0.706349, -0.706349, -0.046297> + 432: <-0.963996, -0.258302, -0.063184> + 433: <-0.963996, -0.258302, -0.063184> + 434: <-0.963996, -0.258302, -0.063184> + 435: <-0.963996, -0.258302, -0.063184> + 436: < 0.706348, 0.706349, -0.046297> + 437: < 0.706348, 0.706349, -0.046297> + 438: < 0.706348, 0.706349, -0.046297> + 439: < 0.706348, 0.706349, -0.046297> + 440: < 0.963996, 0.258302, -0.063184> + 441: < 0.963996, 0.258302, -0.063184> + 442: < 0.963996, 0.258302, -0.063184> + 443: < 0.963996, 0.258302, -0.063184> + 444: < 0.963996, -0.258302, -0.063184> + 445: < 0.963996, -0.258302, -0.063184> + 446: < 0.963996, -0.258302, -0.063184> + 447: < 0.963996, -0.258302, -0.063184> + 448: < 0.706348, -0.706349, -0.046297> + 449: < 0.706348, -0.706349, -0.046297> + 450: < 0.706348, -0.706349, -0.046297> + 451: < 0.706348, -0.706349, -0.046297> + 452: < 0.258782, -0.965787, -0.016961> + 453: < 0.258782, -0.965787, -0.016961> + 454: < 0.258782, -0.965787, -0.016961> + 455: < 0.258782, -0.965787, -0.016961> + 456: <-0.258782, -0.965787, 0.016961> + 457: <-0.258782, -0.965787, 0.016961> + 458: <-0.258782, -0.965787, 0.016961> + 459: <-0.258782, -0.965787, 0.016961> + 460: < 0.694263, 0.706349, -0.138097> + 461: < 0.694263, 0.706349, -0.138097> + 462: < 0.694263, 0.706349, -0.138097> + 463: < 0.694263, 0.706349, -0.138097> + 464: < 0.947502, 0.258302, -0.188470> + 465: < 0.947502, 0.258302, -0.188470> + 466: < 0.947502, 0.258302, -0.188470> + 467: < 0.947502, 0.258302, -0.188470> + 468: < 0.947502, -0.258302, -0.188470> + 469: < 0.947502, -0.258302, -0.188470> + 470: < 0.947502, -0.258302, -0.188470> + 471: < 0.947502, -0.258302, -0.188470> + 472: < 0.694263, -0.706349, -0.138097> + 473: < 0.694263, -0.706349, -0.138097> + 474: < 0.694263, -0.706349, -0.138097> + 475: < 0.694263, -0.706349, -0.138097> + 476: < 0.254354, -0.965787, -0.050594> + 477: < 0.254354, -0.965787, -0.050594> + 478: < 0.254354, -0.965787, -0.050594> + 479: < 0.254354, -0.965787, -0.050594> + 480: <-0.254354, -0.965787, 0.050594> + 481: <-0.254354, -0.965787, 0.050594> + 482: <-0.254354, -0.965787, 0.050594> + 483: <-0.254354, -0.965787, 0.050594> + 484: < 0.670298, 0.706349, -0.227536> + 485: < 0.670298, 0.706349, -0.227536> + 486: < 0.670298, 0.706349, -0.227536> + 487: < 0.670298, 0.706349, -0.227536> + 488: < 0.914795, 0.258302, -0.310531> + 489: < 0.914795, 0.258302, -0.310531> + 490: < 0.914795, 0.258302, -0.310531> + 491: < 0.914795, 0.258302, -0.310531> + 492: < 0.914795, -0.258302, -0.310531> + 493: < 0.914795, -0.258302, -0.310531> + 494: < 0.914795, -0.258302, -0.310531> + 495: < 0.914795, -0.258302, -0.310531> + 496: < 0.670298, -0.706349, -0.227536> + 497: < 0.670298, -0.706349, -0.227536> + 498: < 0.670298, -0.706349, -0.227536> + 499: < 0.670298, -0.706349, -0.227536> + 500: < 0.245574, -0.965787, -0.083361> + 501: < 0.245574, -0.965787, -0.083361> + 502: < 0.245574, -0.965787, -0.083361> + 503: < 0.245574, -0.965787, -0.083361> + 504: <-0.245574, -0.965787, 0.083361> + 505: <-0.245574, -0.965787, 0.083361> + 506: <-0.245574, -0.965787, 0.083361> + 507: <-0.245574, -0.965787, 0.083361> + 508: < 0.634864, 0.706348, -0.313081> + 509: < 0.634864, 0.706348, -0.313081> + 510: < 0.634864, 0.706348, -0.313081> + 511: < 0.634864, 0.706348, -0.313081> + 512: < 0.866436, 0.258302, -0.427279> + 513: < 0.866436, 0.258302, -0.427279> + 514: < 0.866436, 0.258302, -0.427279> + 515: < 0.866436, 0.258302, -0.427279> + 516: < 0.866437, -0.258302, -0.427279> + 517: < 0.866437, -0.258302, -0.427279> + 518: < 0.866437, -0.258302, -0.427279> + 519: < 0.866437, -0.258302, -0.427279> + 520: < 0.634864, -0.706348, -0.313081> + 521: < 0.634864, -0.706348, -0.313081> + 522: < 0.634864, -0.706348, -0.313081> + 523: < 0.634864, -0.706348, -0.313081> + 524: < 0.232592, -0.965787, -0.114702> + 525: < 0.232592, -0.965787, -0.114702> + 526: < 0.232592, -0.965787, -0.114702> + 527: < 0.232592, -0.965787, -0.114702> + 528: <-0.232592, -0.965787, 0.114702> + 529: <-0.232592, -0.965787, 0.114702> + 530: <-0.232592, -0.965787, 0.114702> + 531: <-0.232592, -0.965787, 0.114702> + 532: < 0.588568, 0.706349, -0.393268> + 533: < 0.588568, 0.706349, -0.393268> + 534: < 0.588568, 0.706349, -0.393268> + 535: < 0.588568, 0.706349, -0.393268> + 536: < 0.803253, 0.258302, -0.536716> + 537: < 0.803253, 0.258302, -0.536716> + 538: < 0.803253, 0.258302, -0.536716> + 539: < 0.803253, 0.258302, -0.536716> + 540: < 0.803253, -0.258302, -0.536716> + 541: < 0.803253, -0.258302, -0.536716> + 542: < 0.803253, -0.258302, -0.536716> + 543: < 0.803253, -0.258302, -0.536716> + 544: < 0.588568, -0.706349, -0.393268> + 545: < 0.588568, -0.706349, -0.393268> + 546: < 0.588568, -0.706349, -0.393268> + 547: < 0.588568, -0.706349, -0.393268> + 548: < 0.215631, -0.965787, -0.144080> + 549: < 0.215631, -0.965787, -0.144080> + 550: < 0.215631, -0.965787, -0.144080> + 551: < 0.215631, -0.965787, -0.144080> + 552: <-0.215631, -0.965787, 0.144080> + 553: <-0.215631, -0.965787, 0.144080> + 554: <-0.215631, -0.965787, 0.144080> + 555: <-0.215631, -0.965787, 0.144080> + 556: < 0.726326, 0.258302, -0.636970> + 557: < 0.726326, 0.258302, -0.636970> + 558: < 0.726326, 0.258302, -0.636970> + 559: < 0.726326, 0.258302, -0.636970> + 560: < 0.726326, -0.258302, -0.636970> + 561: < 0.726326, -0.258302, -0.636970> + 562: < 0.726326, -0.258302, -0.636970> + 563: < 0.726326, -0.258302, -0.636970> + 564: < 0.532201, -0.706349, -0.466727> + 565: < 0.532201, -0.706349, -0.466727> + 566: < 0.532201, -0.706349, -0.466727> + 567: < 0.532201, -0.706349, -0.466727> + 568: < 0.194980, -0.965787, -0.170993> + 569: < 0.194980, -0.965787, -0.170993> + 570: < 0.194980, -0.965787, -0.170993> + 571: < 0.194980, -0.965787, -0.170993> + 572: <-0.194980, -0.965787, 0.170993> + 573: <-0.194980, -0.965787, 0.170993> + 574: <-0.194980, -0.965787, 0.170993> + 575: <-0.194980, -0.965787, 0.170993> + 576: <-0.532200, -0.706348, 0.466728> + 577: <-0.532200, -0.706348, 0.466728> + 578: <-0.532200, -0.706348, 0.466728> + 579: <-0.532200, -0.706348, 0.466728> + 580: < 0.636970, 0.258302, -0.726326> + 581: < 0.636970, 0.258302, -0.726326> + 582: < 0.636970, 0.258302, -0.726326> + 583: < 0.636970, 0.258302, -0.726326> + 584: < 0.636970, -0.258302, -0.726326> + 585: < 0.636970, -0.258302, -0.726326> + 586: < 0.636970, -0.258302, -0.726326> + 587: < 0.636970, -0.258302, -0.726326> + 588: < 0.466727, -0.706349, -0.532201> + 589: < 0.466727, -0.706349, -0.532201> + 590: < 0.466727, -0.706349, -0.532201> + 591: < 0.466727, -0.706349, -0.532201> + 592: < 0.170993, -0.965787, -0.194980> + 593: < 0.170993, -0.965787, -0.194980> + 594: < 0.170993, -0.965787, -0.194980> + 595: < 0.170993, -0.965787, -0.194980> + 596: <-0.170993, -0.965787, 0.194980> + 597: <-0.170993, -0.965787, 0.194980> + 598: <-0.170993, -0.965787, 0.194980> + 599: <-0.170993, -0.965787, 0.194980> + 600: <-0.466728, -0.706349, 0.532200> + 601: <-0.466728, -0.706349, 0.532200> + 602: <-0.466728, -0.706349, 0.532200> + 603: <-0.466728, -0.706349, 0.532200> + 604: < 0.536717, -0.258302, -0.803253> + 605: < 0.536717, -0.258302, -0.803253> + 606: < 0.536717, -0.258302, -0.803253> + 607: < 0.536717, -0.258302, -0.803253> + 608: < 0.393269, -0.706348, -0.588567> + 609: < 0.393269, -0.706348, -0.588567> + 610: < 0.393269, -0.706348, -0.588567> + 611: < 0.393269, -0.706348, -0.588567> + 612: < 0.144080, -0.965787, -0.215631> + 613: < 0.144080, -0.965787, -0.215631> + 614: < 0.144080, -0.965787, -0.215631> + 615: < 0.144080, -0.965787, -0.215631> + 616: <-0.144080, -0.965787, 0.215631> + 617: <-0.144080, -0.965787, 0.215631> + 618: <-0.144080, -0.965787, 0.215631> + 619: <-0.144080, -0.965787, 0.215631> + 620: <-0.393268, -0.706349, 0.588567> + 621: <-0.393268, -0.706349, 0.588567> + 622: <-0.393268, -0.706349, 0.588567> + 623: <-0.393268, -0.706349, 0.588567> + 624: <-0.536717, -0.258302, 0.803253> + 625: <-0.536717, -0.258302, 0.803253> + 626: <-0.536717, -0.258302, 0.803253> + 627: <-0.536717, -0.258302, 0.803253> + 628: <-0.427279, 0.258301, 0.866437> + 629: <-0.427279, 0.258301, 0.866437> + 630: <-0.427279, 0.258301, 0.866437> + 631: <-0.427279, 0.258301, 0.866437> + 632: < 0.427279, -0.258302, -0.866437> + 633: < 0.427279, -0.258302, -0.866437> + 634: < 0.427279, -0.258302, -0.866437> + 635: < 0.427279, -0.258302, -0.866437> + 636: < 0.313080, -0.706349, -0.634864> + 637: < 0.313080, -0.706349, -0.634864> + 638: < 0.313080, -0.706349, -0.634864> + 639: < 0.313080, -0.706349, -0.634864> + 640: < 0.114702, -0.965787, -0.232592> + 641: < 0.114702, -0.965787, -0.232592> + 642: < 0.114702, -0.965787, -0.232592> + 643: < 0.114702, -0.965787, -0.232592> + 644: <-0.114702, -0.965787, 0.232592> + 645: <-0.114702, -0.965787, 0.232592> + 646: <-0.114702, -0.965787, 0.232592> + 647: <-0.114702, -0.965787, 0.232592> + 648: <-0.313080, -0.706349, 0.634864> + 649: <-0.313080, -0.706349, 0.634864> + 650: <-0.313080, -0.706349, 0.634864> + 651: <-0.313080, -0.706349, 0.634864> + 652: <-0.427279, -0.258301, 0.866437> + 653: <-0.427279, -0.258301, 0.866437> + 654: <-0.427279, -0.258301, 0.866437> + 655: <-0.427279, -0.258301, 0.866437> + 656: <-0.310531, 0.258301, 0.914796> + 657: <-0.310531, 0.258301, 0.914796> + 658: <-0.310531, 0.258301, 0.914796> + 659: <-0.310531, 0.258301, 0.914796> + 660: < 0.227536, -0.706348, -0.670298> + 661: < 0.227536, -0.706348, -0.670298> + 662: < 0.227536, -0.706348, -0.670298> + 663: < 0.227536, -0.706348, -0.670298> + 664: < 0.083361, -0.965787, -0.245574> + 665: < 0.083361, -0.965787, -0.245574> + 666: < 0.083361, -0.965787, -0.245574> + 667: < 0.083361, -0.965787, -0.245574> + 668: <-0.083361, -0.965787, 0.245574> + 669: <-0.083361, -0.965787, 0.245574> + 670: <-0.083361, -0.965787, 0.245574> + 671: <-0.083361, -0.965787, 0.245574> + 672: <-0.227536, -0.706349, 0.670298> + 673: <-0.227536, -0.706349, 0.670298> + 674: <-0.227536, -0.706349, 0.670298> + 675: <-0.227536, -0.706349, 0.670298> + 676: <-0.310531, -0.258301, 0.914796> + 677: <-0.310531, -0.258301, 0.914796> + 678: <-0.310531, -0.258301, 0.914796> + 679: <-0.310531, -0.258301, 0.914796> + 680: <-0.188470, 0.258302, 0.947501> + 681: <-0.188470, 0.258302, 0.947501> + 682: <-0.188470, 0.258302, 0.947501> + 683: <-0.188470, 0.258302, 0.947501> + 684: <-0.138097, 0.706349, 0.694263> + 685: <-0.138097, 0.706349, 0.694263> + 686: <-0.138097, 0.706349, 0.694263> + 687: <-0.138097, 0.706349, 0.694263> + 688: < 0.138097, -0.706349, -0.694263> + 689: < 0.138097, -0.706349, -0.694263> + 690: < 0.138097, -0.706349, -0.694263> + 691: < 0.138097, -0.706349, -0.694263> + 692: < 0.050594, -0.965787, -0.254354> + 693: < 0.050594, -0.965787, -0.254354> + 694: < 0.050594, -0.965787, -0.254354> + 695: < 0.050594, -0.965787, -0.254354> + 696: <-0.050594, -0.965787, 0.254354> + 697: <-0.050594, -0.965787, 0.254354> + 698: <-0.050594, -0.965787, 0.254354> + 699: <-0.050594, -0.965787, 0.254354> + 700: <-0.138097, -0.706349, 0.694263> + 701: <-0.138097, -0.706349, 0.694263> + 702: <-0.138097, -0.706349, 0.694263> + 703: <-0.138097, -0.706349, 0.694263> + 704: <-0.188470, -0.258302, 0.947501> + 705: <-0.188470, -0.258302, 0.947501> + 706: <-0.188470, -0.258302, 0.947501> + 707: <-0.188470, -0.258302, 0.947501> + 708: <-0.063184, 0.258301, 0.963996> + 709: <-0.063184, 0.258301, 0.963996> + 710: <-0.063184, 0.258301, 0.963996> + 711: <-0.063184, 0.258301, 0.963996> + 712: <-0.046296, 0.706349, 0.706348> + 713: <-0.046296, 0.706349, 0.706348> + 714: <-0.046296, 0.706349, 0.706348> + 715: <-0.046296, 0.706349, 0.706348> + 716: < 0.046297, -0.706349, -0.706348> + 717: < 0.046297, -0.706349, -0.706348> + 718: < 0.046297, -0.706349, -0.706348> + 719: < 0.046297, -0.706349, -0.706348> + 720: < 0.016962, -0.965787, -0.258782> + 721: < 0.016962, -0.965787, -0.258782> + 722: < 0.016962, -0.965787, -0.258782> + 723: < 0.016962, -0.965787, -0.258782> + 724: <-0.016961, -0.965787, 0.258782> + 725: <-0.016961, -0.965787, 0.258782> + 726: <-0.016961, -0.965787, 0.258782> + 727: <-0.016961, -0.965787, 0.258782> + 728: <-0.046296, -0.706349, 0.706348> + 729: <-0.046296, -0.706349, 0.706348> + 730: <-0.046296, -0.706349, 0.706348> + 731: <-0.046296, -0.706349, 0.706348> + 732: <-0.063184, -0.258301, 0.963996> + 733: <-0.063184, -0.258301, 0.963996> + 734: <-0.063184, -0.258301, 0.963996> + 735: <-0.063184, -0.258301, 0.963996> + 736: < 0.063184, 0.258302, 0.963996> + 737: < 0.063184, 0.258302, 0.963996> + 738: < 0.063184, 0.258302, 0.963996> + 739: < 0.063184, 0.258302, 0.963996> + 740: < 0.046297, 0.706348, 0.706349> + 741: < 0.046297, 0.706348, 0.706349> + 742: < 0.046297, 0.706348, 0.706349> + 743: < 0.046297, 0.706348, 0.706349> + 744: <-0.016961, -0.965787, -0.258782> + 745: <-0.016961, -0.965787, -0.258782> + 746: <-0.016961, -0.965787, -0.258782> + 747: <-0.016961, -0.965787, -0.258782> + 748: < 0.016962, -0.965787, 0.258782> + 749: < 0.016962, -0.965787, 0.258782> + 750: < 0.016962, -0.965787, 0.258782> + 751: < 0.016962, -0.965787, 0.258782> + 752: < 0.046297, -0.706348, 0.706349> + 753: < 0.046297, -0.706348, 0.706349> + 754: < 0.046297, -0.706348, 0.706349> + 755: < 0.046297, -0.706348, 0.706349> + 756: < 0.063184, -0.258302, 0.963996> + 757: < 0.063184, -0.258302, 0.963996> + 758: < 0.063184, -0.258302, 0.963996> + 759: < 0.063184, -0.258302, 0.963996> + 760: < 0.188469, 0.258302, 0.947502> + 761: < 0.188469, 0.258302, 0.947502> + 762: < 0.188469, 0.258302, 0.947502> + 763: < 0.188469, 0.258302, 0.947502> + 764: < 0.138097, 0.706349, 0.694262> + 765: < 0.138097, 0.706349, 0.694262> + 766: < 0.138097, 0.706349, 0.694262> + 767: < 0.138097, 0.706349, 0.694262> + 768: <-0.050594, -0.965787, -0.254354> + 769: <-0.050594, -0.965787, -0.254354> + 770: <-0.050594, -0.965787, -0.254354> + 771: <-0.050594, -0.965787, -0.254354> + 772: < 0.050594, -0.965787, 0.254354> + 773: < 0.050594, -0.965787, 0.254354> + 774: < 0.050594, -0.965787, 0.254354> + 775: < 0.050594, -0.965787, 0.254354> + 776: < 0.138097, -0.706349, 0.694262> + 777: < 0.138097, -0.706349, 0.694262> + 778: < 0.138097, -0.706349, 0.694262> + 779: < 0.138097, -0.706349, 0.694262> + 780: < 0.188469, -0.258302, 0.947502> + 781: < 0.188469, -0.258302, 0.947502> + 782: < 0.188469, -0.258302, 0.947502> + 783: < 0.188469, -0.258302, 0.947502> + 784: < 0.310531, 0.258302, 0.914795> + 785: < 0.310531, 0.258302, 0.914795> + 786: < 0.310531, 0.258302, 0.914795> + 787: < 0.310531, 0.258302, 0.914795> + 788: < 0.227535, 0.706349, 0.670298> + 789: < 0.227535, 0.706349, 0.670298> + 790: < 0.227535, 0.706349, 0.670298> + 791: < 0.227535, 0.706349, 0.670298> + 792: <-0.083361, -0.965787, -0.245574> + 793: <-0.083361, -0.965787, -0.245574> + 794: <-0.083361, -0.965787, -0.245574> + 795: <-0.083361, -0.965787, -0.245574> + 796: < 0.083361, -0.965787, 0.245574> + 797: < 0.083361, -0.965787, 0.245574> + 798: < 0.083361, -0.965787, 0.245574> + 799: < 0.083361, -0.965787, 0.245574> + 800: < 0.227535, -0.706349, 0.670298> + 801: < 0.227535, -0.706349, 0.670298> + 802: < 0.227535, -0.706349, 0.670298> + 803: < 0.227535, -0.706349, 0.670298> + 804: < 0.310531, -0.258302, 0.914795> + 805: < 0.310531, -0.258302, 0.914795> + 806: < 0.310531, -0.258302, 0.914795> + 807: < 0.310531, -0.258302, 0.914795> + 808: < 0.427279, 0.258303, 0.866437> + 809: < 0.427279, 0.258303, 0.866437> + 810: < 0.427279, 0.258303, 0.866437> + 811: < 0.427279, 0.258303, 0.866437> + 812: < 0.313081, 0.706348, 0.634865> + 813: < 0.313081, 0.706348, 0.634865> + 814: < 0.313081, 0.706348, 0.634865> + 815: < 0.313081, 0.706348, 0.634865> + 816: <-0.114702, -0.965787, -0.232592> + 817: <-0.114702, -0.965787, -0.232592> + 818: <-0.114702, -0.965787, -0.232592> + 819: <-0.114702, -0.965787, -0.232592> + 820: < 0.114702, -0.965787, 0.232592> + 821: < 0.114702, -0.965787, 0.232592> + 822: < 0.114702, -0.965787, 0.232592> + 823: < 0.114702, -0.965787, 0.232592> + 824: < 0.313080, -0.706348, 0.634865> + 825: < 0.313080, -0.706348, 0.634865> + 826: < 0.313080, -0.706348, 0.634865> + 827: < 0.313080, -0.706348, 0.634865> + 828: < 0.427279, -0.258303, 0.866437> + 829: < 0.427279, -0.258303, 0.866437> + 830: < 0.427279, -0.258303, 0.866437> + 831: < 0.427279, -0.258303, 0.866437> + 832: < 0.536717, 0.258302, 0.803253> + 833: < 0.536717, 0.258302, 0.803253> + 834: < 0.536717, 0.258302, 0.803253> + 835: < 0.536717, 0.258302, 0.803253> + 836: < 0.393268, 0.706349, 0.588567> + 837: < 0.393268, 0.706349, 0.588567> + 838: < 0.393268, 0.706349, 0.588567> + 839: < 0.393268, 0.706349, 0.588567> + 840: <-0.536717, 0.258302, -0.803253> + 841: <-0.536717, 0.258302, -0.803253> + 842: <-0.536717, 0.258302, -0.803253> + 843: <-0.536717, 0.258302, -0.803253> + 844: <-0.536717, -0.258302, -0.803253> + 845: <-0.536717, -0.258302, -0.803253> + 846: <-0.536717, -0.258302, -0.803253> + 847: <-0.536717, -0.258302, -0.803253> + 848: <-0.144080, -0.965787, -0.215631> + 849: <-0.144080, -0.965787, -0.215631> + 850: <-0.144080, -0.965787, -0.215631> + 851: <-0.144080, -0.965787, -0.215631> + 852: < 0.144080, -0.965787, 0.215631> + 853: < 0.144080, -0.965787, 0.215631> + 854: < 0.144080, -0.965787, 0.215631> + 855: < 0.144080, -0.965787, 0.215631> + 856: < 0.393268, -0.706349, 0.588567> + 857: < 0.393268, -0.706349, 0.588567> + 858: < 0.393268, -0.706349, 0.588567> + 859: < 0.393268, -0.706349, 0.588567> + 860: < 0.536717, -0.258302, 0.803253> + 861: < 0.536717, -0.258302, 0.803253> + 862: < 0.536717, -0.258302, 0.803253> + 863: < 0.536717, -0.258302, 0.803253> + 864: < 0.636970, 0.258302, 0.726326> + 865: < 0.636970, 0.258302, 0.726326> + 866: < 0.636970, 0.258302, 0.726326> + 867: < 0.636970, 0.258302, 0.726326> + 868: < 0.466727, 0.706349, 0.532201> + 869: < 0.466727, 0.706349, 0.532201> + 870: < 0.466727, 0.706349, 0.532201> + 871: < 0.466727, 0.706349, 0.532201> + 872: < 0.170993, 0.965787, 0.194980> + 873: < 0.170993, 0.965787, 0.194980> + 874: < 0.170993, 0.965787, 0.194980> + 875: < 0.170993, 0.965787, 0.194980> + 876: <-0.170993, 0.965787, -0.194980> + 877: <-0.170993, 0.965787, -0.194980> + 878: <-0.170993, 0.965787, -0.194980> + 879: <-0.170993, 0.965787, -0.194980> + 880: <-0.466727, 0.706349, -0.532200> + 881: <-0.466727, 0.706349, -0.532200> + 882: <-0.466727, 0.706349, -0.532200> + 883: <-0.466727, 0.706349, -0.532200> + 884: <-0.636971, 0.258301, -0.726325> + 885: <-0.636971, 0.258301, -0.726325> + 886: <-0.636971, 0.258301, -0.726325> + 887: <-0.636971, 0.258301, -0.726325> + 888: <-0.636971, -0.258302, -0.726325> + 889: <-0.636971, -0.258302, -0.726325> + 890: <-0.636971, -0.258302, -0.726325> + 891: <-0.636971, -0.258302, -0.726325> + 892: <-0.466727, -0.706349, -0.532200> + 893: <-0.466727, -0.706349, -0.532200> + 894: <-0.466727, -0.706349, -0.532200> + 895: <-0.466727, -0.706349, -0.532200> + 896: <-0.170993, -0.965787, -0.194980> + 897: <-0.170993, -0.965787, -0.194980> + 898: <-0.170993, -0.965787, -0.194980> + 899: <-0.170993, -0.965787, -0.194980> + 900: < 0.170993, -0.965787, 0.194980> + 901: < 0.170993, -0.965787, 0.194980> + 902: < 0.170993, -0.965787, 0.194980> + 903: < 0.170993, -0.965787, 0.194980> + 904: < 0.466727, -0.706349, 0.532201> + 905: < 0.466727, -0.706349, 0.532201> + 906: < 0.466727, -0.706349, 0.532201> + 907: < 0.466727, -0.706349, 0.532201> + 908: < 0.636970, -0.258302, 0.726326> + 909: < 0.636970, -0.258302, 0.726326> + 910: < 0.636970, -0.258302, 0.726326> + 911: < 0.636970, -0.258302, 0.726326> + 912: < 0.726326, 0.258301, 0.636970> + 913: < 0.726326, 0.258301, 0.636970> + 914: < 0.726326, 0.258301, 0.636970> + 915: < 0.726326, 0.258301, 0.636970> + 916: < 0.532200, 0.706349, 0.466727> + 917: < 0.532200, 0.706349, 0.466727> + 918: < 0.532200, 0.706349, 0.466727> + 919: < 0.532200, 0.706349, 0.466727> + 920: < 0.194980, 0.965787, 0.170993> + 921: < 0.194980, 0.965787, 0.170993> + 922: < 0.194980, 0.965787, 0.170993> + 923: < 0.194980, 0.965787, 0.170993> + 924: <-0.194980, 0.965787, -0.170993> + 925: <-0.194980, 0.965787, -0.170993> + 926: <-0.194980, 0.965787, -0.170993> + 927: <-0.194980, 0.965787, -0.170993> + 928: <-0.532200, 0.706349, -0.466727> + 929: <-0.532200, 0.706349, -0.466727> + 930: <-0.532200, 0.706349, -0.466727> + 931: <-0.532200, 0.706349, -0.466727> + 932: <-0.726325, 0.258302, -0.636971> + 933: <-0.726325, 0.258302, -0.636971> + 934: <-0.726325, 0.258302, -0.636971> + 935: <-0.726325, 0.258302, -0.636971> + 936: <-0.726325, -0.258302, -0.636971> + 937: <-0.726325, -0.258302, -0.636971> + 938: <-0.726325, -0.258302, -0.636971> + 939: <-0.726325, -0.258302, -0.636971> + 940: <-0.532200, -0.706349, -0.466727> + 941: <-0.532200, -0.706349, -0.466727> + 942: <-0.532200, -0.706349, -0.466727> + 943: <-0.532200, -0.706349, -0.466727> + 944: <-0.194980, -0.965787, -0.170993> + 945: <-0.194980, -0.965787, -0.170993> + 946: <-0.194980, -0.965787, -0.170993> + 947: <-0.194980, -0.965787, -0.170993> + 948: < 0.194980, -0.965787, 0.170993> + 949: < 0.194980, -0.965787, 0.170993> + 950: < 0.194980, -0.965787, 0.170993> + 951: < 0.194980, -0.965787, 0.170993> + 952: < 0.532201, -0.706349, 0.466727> + 953: < 0.532201, -0.706349, 0.466727> + 954: < 0.532201, -0.706349, 0.466727> + 955: < 0.532201, -0.706349, 0.466727> + 956: < 0.726326, -0.258301, 0.636970> + 957: < 0.726326, -0.258301, 0.636970> + 958: < 0.726326, -0.258301, 0.636970> + 959: < 0.726326, -0.258301, 0.636970> + 960: < 0.803253, 0.258302, 0.536717> + 961: < 0.803253, 0.258302, 0.536717> + 962: < 0.803253, 0.258302, 0.536717> + 963: < 0.803253, 0.258302, 0.536717> + 964: < 0.588567, 0.706349, 0.393269> + 965: < 0.588567, 0.706349, 0.393269> + 966: < 0.588567, 0.706349, 0.393269> + 967: < 0.588567, 0.706349, 0.393269> + 968: < 0.215631, 0.965787, 0.144080> + 969: < 0.215631, 0.965787, 0.144080> + 970: < 0.215631, 0.965787, 0.144080> + 971: < 0.215631, 0.965787, 0.144080> + 972: <-0.215631, 0.965787, -0.144080> + 973: <-0.215631, 0.965787, -0.144080> + 974: <-0.215631, 0.965787, -0.144080> + 975: <-0.215631, 0.965787, -0.144080> + 976: <-0.588568, 0.706348, -0.393268> + 977: <-0.588568, 0.706348, -0.393268> + 978: <-0.588568, 0.706348, -0.393268> + 979: <-0.588568, 0.706348, -0.393268> + 980: <-0.803253, 0.258302, -0.536716> + 981: <-0.803253, 0.258302, -0.536716> + 982: <-0.803253, 0.258302, -0.536716> + 983: <-0.803253, 0.258302, -0.536716> + 984: <-0.803253, -0.258302, -0.536716> + 985: <-0.803253, -0.258302, -0.536716> + 986: <-0.803253, -0.258302, -0.536716> + 987: <-0.803253, -0.258302, -0.536716> + 988: <-0.588568, -0.706349, -0.393268> + 989: <-0.588568, -0.706349, -0.393268> + 990: <-0.588568, -0.706349, -0.393268> + 991: <-0.588568, -0.706349, -0.393268> + 992: <-0.215631, -0.965787, -0.144080> + 993: <-0.215631, -0.965787, -0.144080> + 994: <-0.215631, -0.965787, -0.144080> + 995: <-0.215631, -0.965787, -0.144080> + 996: < 0.215631, -0.965787, 0.144080> + 997: < 0.215631, -0.965787, 0.144080> + 998: < 0.215631, -0.965787, 0.144080> + 999: < 0.215631, -0.965787, 0.144080> + 1000: < 0.588567, -0.706349, 0.393269> + 1001: < 0.588567, -0.706349, 0.393269> + 1002: < 0.588567, -0.706349, 0.393269> + 1003: < 0.588567, -0.706349, 0.393269> + 1004: < 0.803253, -0.258302, 0.536717> + 1005: < 0.803253, -0.258302, 0.536717> + 1006: < 0.803253, -0.258302, 0.536717> + 1007: < 0.803253, -0.258302, 0.536717> + 1008: < 0.866437, 0.258302, 0.427279> + 1009: < 0.866437, 0.258302, 0.427279> + 1010: < 0.866437, 0.258302, 0.427279> + 1011: < 0.866437, 0.258302, 0.427279> + 1012: < 0.634864, 0.706348, 0.313081> + 1013: < 0.634864, 0.706348, 0.313081> + 1014: < 0.634864, 0.706348, 0.313081> + 1015: < 0.634864, 0.706348, 0.313081> + 1016: < 0.232592, 0.965787, 0.114702> + 1017: < 0.232592, 0.965787, 0.114702> + 1018: < 0.232592, 0.965787, 0.114702> + 1019: < 0.232592, 0.965787, 0.114702> + 1020: <-0.232592, 0.965787, -0.114702> + 1021: <-0.232592, 0.965787, -0.114702> + 1022: <-0.232592, 0.965787, -0.114702> + 1023: <-0.232592, 0.965787, -0.114702> + 1024: <-0.634864, 0.706349, -0.313080> + 1025: <-0.634864, 0.706349, -0.313080> + 1026: <-0.634864, 0.706349, -0.313080> + 1027: <-0.634864, 0.706349, -0.313080> + 1028: <-0.866437, 0.258302, -0.427280> + 1029: <-0.866437, 0.258302, -0.427280> + 1030: <-0.866437, 0.258302, -0.427280> + 1031: <-0.866437, 0.258302, -0.427280> + 1032: <-0.866437, -0.258302, -0.427280> + 1033: <-0.866437, -0.258302, -0.427280> + 1034: <-0.866437, -0.258302, -0.427280> + 1035: <-0.866437, -0.258302, -0.427280> + 1036: <-0.634864, -0.706349, -0.313080> + 1037: <-0.634864, -0.706349, -0.313080> + 1038: <-0.634864, -0.706349, -0.313080> + 1039: <-0.634864, -0.706349, -0.313080> + 1040: <-0.232592, -0.965787, -0.114702> + 1041: <-0.232592, -0.965787, -0.114702> + 1042: <-0.232592, -0.965787, -0.114702> + 1043: <-0.232592, -0.965787, -0.114702> + 1044: < 0.232592, -0.965787, 0.114702> + 1045: < 0.232592, -0.965787, 0.114702> + 1046: < 0.232592, -0.965787, 0.114702> + 1047: < 0.232592, -0.965787, 0.114702> + 1048: < 0.634864, -0.706348, 0.313081> + 1049: < 0.634864, -0.706348, 0.313081> + 1050: < 0.634864, -0.706348, 0.313081> + 1051: < 0.634864, -0.706348, 0.313081> + 1052: < 0.866437, -0.258302, 0.427279> + 1053: < 0.866437, -0.258302, 0.427279> + 1054: < 0.866437, -0.258302, 0.427279> + 1055: < 0.866437, -0.258302, 0.427279> + 1056: < 0.914795, 0.258302, 0.310532> + 1057: < 0.914795, 0.258302, 0.310532> + 1058: < 0.914795, 0.258302, 0.310532> + 1059: < 0.914795, 0.258302, 0.310532> + 1060: < 0.670298, 0.706349, 0.227536> + 1061: < 0.670298, 0.706349, 0.227536> + 1062: < 0.670298, 0.706349, 0.227536> + 1063: < 0.670298, 0.706349, 0.227536> + 1064: < 0.245574, 0.965787, 0.083361> + 1065: < 0.245574, 0.965787, 0.083361> + 1066: < 0.245574, 0.965787, 0.083361> + 1067: < 0.245574, 0.965787, 0.083361> + 1068: <-0.245574, 0.965787, -0.083361> + 1069: <-0.245574, 0.965787, -0.083361> + 1070: <-0.245574, 0.965787, -0.083361> + 1071: <-0.245574, 0.965787, -0.083361> + 1072: <-0.670298, 0.706349, -0.227536> + 1073: <-0.670298, 0.706349, -0.227536> + 1074: <-0.670298, 0.706349, -0.227536> + 1075: <-0.670298, 0.706349, -0.227536> + 1076: <-0.914795, 0.258302, -0.310532> + 1077: <-0.914795, 0.258302, -0.310532> + 1078: <-0.914795, 0.258302, -0.310532> + 1079: <-0.914795, 0.258302, -0.310532> + 1080: <-0.914795, -0.258302, -0.310532> + 1081: <-0.914795, -0.258302, -0.310532> + 1082: <-0.914795, -0.258302, -0.310532> + 1083: <-0.914795, -0.258302, -0.310532> + 1084: <-0.670298, -0.706349, -0.227536> + 1085: <-0.670298, -0.706349, -0.227536> + 1086: <-0.670298, -0.706349, -0.227536> + 1087: <-0.670298, -0.706349, -0.227536> + 1088: <-0.245574, -0.965787, -0.083361> + 1089: <-0.245574, -0.965787, -0.083361> + 1090: <-0.245574, -0.965787, -0.083361> + 1091: <-0.245574, -0.965787, -0.083361> + 1092: < 0.245574, -0.965787, 0.083361> + 1093: < 0.245574, -0.965787, 0.083361> + 1094: < 0.245574, -0.965787, 0.083361> + 1095: < 0.245574, -0.965787, 0.083361> + 1096: < 0.670298, -0.706349, 0.227536> + 1097: < 0.670298, -0.706349, 0.227536> + 1098: < 0.670298, -0.706349, 0.227536> + 1099: < 0.670298, -0.706349, 0.227536> + 1100: < 0.914795, -0.258302, 0.310532> + 1101: < 0.914795, -0.258302, 0.310532> + 1102: < 0.914795, -0.258302, 0.310532> + 1103: < 0.914795, -0.258302, 0.310532> + 1104: < 0.947502, 0.258302, 0.188469> + 1105: < 0.947502, 0.258302, 0.188469> + 1106: < 0.947502, 0.258302, 0.188469> + 1107: < 0.947502, 0.258302, 0.188469> + 1108: < 0.694263, 0.706349, 0.138097> + 1109: < 0.694263, 0.706349, 0.138097> + 1110: < 0.694263, 0.706349, 0.138097> + 1111: < 0.694263, 0.706349, 0.138097> + 1112: < 0.254354, 0.965787, 0.050594> + 1113: < 0.254354, 0.965787, 0.050594> + 1114: < 0.254354, 0.965787, 0.050594> + 1115: < 0.254354, 0.965787, 0.050594> + 1116: <-0.254354, 0.965787, -0.050594> + 1117: <-0.254354, 0.965787, -0.050594> + 1118: <-0.254354, 0.965787, -0.050594> + 1119: <-0.254354, 0.965787, -0.050594> + 1120: <-0.694263, 0.706349, -0.138097> + 1121: <-0.694263, 0.706349, -0.138097> + 1122: <-0.694263, 0.706349, -0.138097> + 1123: <-0.694263, 0.706349, -0.138097> + 1124: <-0.947502, 0.258302, -0.188469> + 1125: <-0.947502, 0.258302, -0.188469> + 1126: <-0.947502, 0.258302, -0.188469> + 1127: <-0.947502, 0.258302, -0.188469> + 1128: <-0.947502, -0.258302, -0.188469> + 1129: <-0.947502, -0.258302, -0.188469> + 1130: <-0.947502, -0.258302, -0.188469> + 1131: <-0.947502, -0.258302, -0.188469> + 1132: <-0.694263, -0.706349, -0.138097> + 1133: <-0.694263, -0.706349, -0.138097> + 1134: <-0.694263, -0.706349, -0.138097> + 1135: <-0.694263, -0.706349, -0.138097> + 1136: <-0.254354, -0.965787, -0.050594> + 1137: <-0.254354, -0.965787, -0.050594> + 1138: <-0.254354, -0.965787, -0.050594> + 1139: <-0.254354, -0.965787, -0.050594> + 1140: < 0.254354, -0.965787, 0.050594> + 1141: < 0.254354, -0.965787, 0.050594> + 1142: < 0.254354, -0.965787, 0.050594> + 1143: < 0.254354, -0.965787, 0.050594> + 1144: < 0.694263, -0.706349, 0.138097> + 1145: < 0.694263, -0.706349, 0.138097> + 1146: < 0.694263, -0.706349, 0.138097> + 1147: < 0.694263, -0.706349, 0.138097> + 1148: < 0.947502, -0.258302, 0.188469> + 1149: < 0.947502, -0.258302, 0.188469> + 1150: < 0.947502, -0.258302, 0.188469> + 1151: < 0.947502, -0.258302, 0.188469> + 1152: < 0.963996, 0.258302, 0.063184> + 1153: < 0.963996, 0.258302, 0.063184> + 1154: < 0.963996, 0.258302, 0.063184> + 1155: < 0.963996, 0.258302, 0.063184> + 1156: < 0.706348, 0.706349, 0.046297> + 1157: < 0.706348, 0.706349, 0.046297> + 1158: < 0.706348, 0.706349, 0.046297> + 1159: < 0.706348, 0.706349, 0.046297> + 1160: < 0.258782, 0.965787, 0.016962> + 1161: < 0.258782, 0.965787, 0.016962> + 1162: < 0.258782, 0.965787, 0.016962> + 1163: < 0.258782, 0.965787, 0.016962> + 1164: <-0.258782, 0.965787, -0.016962> + 1165: <-0.258782, 0.965787, -0.016962> + 1166: <-0.258782, 0.965787, -0.016962> + 1167: <-0.258782, 0.965787, -0.016962> + 1168: <-0.706349, 0.706349, -0.046297> + 1169: <-0.706349, 0.706349, -0.046297> + 1170: <-0.706349, 0.706349, -0.046297> + 1171: <-0.706349, 0.706349, -0.046297> + 1172: <-0.963996, 0.258302, -0.063184> + 1173: <-0.963996, 0.258302, -0.063184> + 1174: <-0.963996, 0.258302, -0.063184> + 1175: <-0.963996, 0.258302, -0.063184> + 1176: <-0.963996, -0.258302, -0.063184> + 1177: <-0.963996, -0.258302, -0.063184> + 1178: <-0.963996, -0.258302, -0.063184> + 1179: <-0.963996, -0.258302, -0.063184> + 1180: <-0.706349, -0.706349, -0.046297> + 1181: <-0.706349, -0.706349, -0.046297> + 1182: <-0.706349, -0.706349, -0.046297> + 1183: <-0.706349, -0.706349, -0.046297> + 1184: <-0.258782, -0.965787, -0.016962> + 1185: <-0.258782, -0.965787, -0.016962> + 1186: <-0.258782, -0.965787, -0.016962> + 1187: <-0.258782, -0.965787, -0.016962> + 1188: < 0.258782, -0.965787, 0.016962> + 1189: < 0.258782, -0.965787, 0.016962> + 1190: < 0.258782, -0.965787, 0.016962> + 1191: < 0.258782, -0.965787, 0.016962> + 1192: < 0.706348, -0.706349, 0.046297> + 1193: < 0.706348, -0.706349, 0.046297> + 1194: < 0.706348, -0.706349, 0.046297> + 1195: < 0.706348, -0.706349, 0.046297> + 1196: < 0.963996, -0.258302, 0.063184> + 1197: < 0.963996, -0.258302, 0.063184> + 1198: < 0.963996, -0.258302, 0.063184> + 1199: < 0.963996, -0.258302, 0.063184> + 1200: < 0.963996, 0.258302, -0.063184> + 1201: < 0.963996, 0.258302, -0.063184> + 1202: < 0.963996, 0.258302, -0.063184> + 1203: < 0.963996, 0.258302, -0.063184> + 1204: < 0.706349, 0.706349, -0.046297> + 1205: < 0.706349, 0.706349, -0.046297> + 1206: < 0.706349, 0.706349, -0.046297> + 1207: < 0.706349, 0.706349, -0.046297> + 1208: < 0.258782, 0.965787, -0.016962> + 1209: < 0.258782, 0.965787, -0.016962> + 1210: < 0.258782, 0.965787, -0.016962> + 1211: < 0.258782, 0.965787, -0.016962> + 1212: <-0.258782, 0.965787, 0.016962> + 1213: <-0.258782, 0.965787, 0.016962> + 1214: <-0.258782, 0.965787, 0.016962> + 1215: <-0.258782, 0.965787, 0.016962> + 1216: <-0.706348, 0.706349, 0.046297> + 1217: <-0.706348, 0.706349, 0.046297> + 1218: <-0.706348, 0.706349, 0.046297> + 1219: <-0.706348, 0.706349, 0.046297> + 1220: <-0.963996, 0.258302, 0.063184> + 1221: <-0.963996, 0.258302, 0.063184> + 1222: <-0.963996, 0.258302, 0.063184> + 1223: <-0.963996, 0.258302, 0.063184> + 1224: <-0.963996, -0.258302, 0.063184> + 1225: <-0.963996, -0.258302, 0.063184> + 1226: <-0.963996, -0.258302, 0.063184> + 1227: <-0.963996, -0.258302, 0.063184> + 1228: <-0.706348, -0.706349, 0.046297> + 1229: <-0.706348, -0.706349, 0.046297> + 1230: <-0.706348, -0.706349, 0.046297> + 1231: <-0.706348, -0.706349, 0.046297> + 1232: <-0.258782, -0.965787, 0.016962> + 1233: <-0.258782, -0.965787, 0.016962> + 1234: <-0.258782, -0.965787, 0.016962> + 1235: <-0.258782, -0.965787, 0.016962> + 1236: < 0.258782, -0.965787, -0.016962> + 1237: < 0.258782, -0.965787, -0.016962> + 1238: < 0.258782, -0.965787, -0.016962> + 1239: < 0.258782, -0.965787, -0.016962> + 1240: < 0.706348, -0.706349, -0.046297> + 1241: < 0.706348, -0.706349, -0.046297> + 1242: < 0.706348, -0.706349, -0.046297> + 1243: < 0.706348, -0.706349, -0.046297> + 1244: < 0.963996, -0.258302, -0.063184> + 1245: < 0.963996, -0.258302, -0.063184> + 1246: < 0.963996, -0.258302, -0.063184> + 1247: < 0.963996, -0.258302, -0.063184> + 1248: < 0.947502, 0.258301, -0.188469> + 1249: < 0.947502, 0.258301, -0.188469> + 1250: < 0.947502, 0.258301, -0.188469> + 1251: < 0.947502, 0.258301, -0.188469> + 1252: < 0.694263, 0.706349, -0.138097> + 1253: < 0.694263, 0.706349, -0.138097> + 1254: < 0.694263, 0.706349, -0.138097> + 1255: < 0.694263, 0.706349, -0.138097> + 1256: < 0.254354, 0.965787, -0.050594> + 1257: < 0.254354, 0.965787, -0.050594> + 1258: < 0.254354, 0.965787, -0.050594> + 1259: < 0.254354, 0.965787, -0.050594> + 1260: <-0.254354, 0.965787, 0.050594> + 1261: <-0.254354, 0.965787, 0.050594> + 1262: <-0.254354, 0.965787, 0.050594> + 1263: <-0.254354, 0.965787, 0.050594> + 1264: <-0.694263, 0.706349, 0.138097> + 1265: <-0.694263, 0.706349, 0.138097> + 1266: <-0.694263, 0.706349, 0.138097> + 1267: <-0.694263, 0.706349, 0.138097> + 1268: <-0.947502, 0.258302, 0.188469> + 1269: <-0.947502, 0.258302, 0.188469> + 1270: <-0.947502, 0.258302, 0.188469> + 1271: <-0.947502, 0.258302, 0.188469> + 1272: <-0.947502, -0.258302, 0.188469> + 1273: <-0.947502, -0.258302, 0.188469> + 1274: <-0.947502, -0.258302, 0.188469> + 1275: <-0.947502, -0.258302, 0.188469> + 1276: <-0.694263, -0.706349, 0.138097> + 1277: <-0.694263, -0.706349, 0.138097> + 1278: <-0.694263, -0.706349, 0.138097> + 1279: <-0.694263, -0.706349, 0.138097> + 1280: <-0.254354, -0.965787, 0.050594> + 1281: <-0.254354, -0.965787, 0.050594> + 1282: <-0.254354, -0.965787, 0.050594> + 1283: <-0.254354, -0.965787, 0.050594> + 1284: < 0.254354, -0.965787, -0.050594> + 1285: < 0.254354, -0.965787, -0.050594> + 1286: < 0.254354, -0.965787, -0.050594> + 1287: < 0.254354, -0.965787, -0.050594> + 1288: < 0.694263, -0.706349, -0.138097> + 1289: < 0.694263, -0.706349, -0.138097> + 1290: < 0.694263, -0.706349, -0.138097> + 1291: < 0.694263, -0.706349, -0.138097> + 1292: < 0.947502, -0.258302, -0.188469> + 1293: < 0.947502, -0.258302, -0.188469> + 1294: < 0.947502, -0.258302, -0.188469> + 1295: < 0.947502, -0.258302, -0.188469> + 1296: < 0.914795, 0.258302, -0.310531> + 1297: < 0.914795, 0.258302, -0.310531> + 1298: < 0.914795, 0.258302, -0.310531> + 1299: < 0.914795, 0.258302, -0.310531> + 1300: < 0.670298, 0.706349, -0.227535> + 1301: < 0.670298, 0.706349, -0.227535> + 1302: < 0.670298, 0.706349, -0.227535> + 1303: < 0.670298, 0.706349, -0.227535> + 1304: < 0.245574, 0.965787, -0.083361> + 1305: < 0.245574, 0.965787, -0.083361> + 1306: < 0.245574, 0.965787, -0.083361> + 1307: < 0.245574, 0.965787, -0.083361> + 1308: <-0.245574, 0.965787, 0.083361> + 1309: <-0.245574, 0.965787, 0.083361> + 1310: <-0.245574, 0.965787, 0.083361> + 1311: <-0.245574, 0.965787, 0.083361> + 1312: <-0.670298, 0.706349, 0.227536> + 1313: <-0.670298, 0.706349, 0.227536> + 1314: <-0.670298, 0.706349, 0.227536> + 1315: <-0.670298, 0.706349, 0.227536> + 1316: <-0.914795, 0.258302, 0.310532> + 1317: <-0.914795, 0.258302, 0.310532> + 1318: <-0.914795, 0.258302, 0.310532> + 1319: <-0.914795, 0.258302, 0.310532> + 1320: <-0.914795, -0.258302, 0.310532> + 1321: <-0.914795, -0.258302, 0.310532> + 1322: <-0.914795, -0.258302, 0.310532> + 1323: <-0.914795, -0.258302, 0.310532> + 1324: <-0.670298, -0.706349, 0.227536> + 1325: <-0.670298, -0.706349, 0.227536> + 1326: <-0.670298, -0.706349, 0.227536> + 1327: <-0.670298, -0.706349, 0.227536> + 1328: <-0.245574, -0.965787, 0.083361> + 1329: <-0.245574, -0.965787, 0.083361> + 1330: <-0.245574, -0.965787, 0.083361> + 1331: <-0.245574, -0.965787, 0.083361> + 1332: < 0.245574, -0.965787, -0.083361> + 1333: < 0.245574, -0.965787, -0.083361> + 1334: < 0.245574, -0.965787, -0.083361> + 1335: < 0.245574, -0.965787, -0.083361> + 1336: < 0.670298, -0.706349, -0.227535> + 1337: < 0.670298, -0.706349, -0.227535> + 1338: < 0.670298, -0.706349, -0.227535> + 1339: < 0.670298, -0.706349, -0.227535> + 1340: < 0.914795, -0.258302, -0.310531> + 1341: < 0.914795, -0.258302, -0.310531> + 1342: < 0.914795, -0.258302, -0.310531> + 1343: < 0.914795, -0.258302, -0.310531> + 1344: < 0.866437, 0.258302, -0.427279> + 1345: < 0.866437, 0.258302, -0.427279> + 1346: < 0.866437, 0.258302, -0.427279> + 1347: < 0.866437, 0.258302, -0.427279> + 1348: < 0.634864, 0.706349, -0.313080> + 1349: < 0.634864, 0.706349, -0.313080> + 1350: < 0.634864, 0.706349, -0.313080> + 1351: < 0.634864, 0.706349, -0.313080> + 1352: < 0.232592, 0.965787, -0.114702> + 1353: < 0.232592, 0.965787, -0.114702> + 1354: < 0.232592, 0.965787, -0.114702> + 1355: < 0.232592, 0.965787, -0.114702> + 1356: <-0.232592, 0.965787, 0.114702> + 1357: <-0.232592, 0.965787, 0.114702> + 1358: <-0.232592, 0.965787, 0.114702> + 1359: <-0.232592, 0.965787, 0.114702> + 1360: <-0.634864, 0.706349, 0.313080> + 1361: <-0.634864, 0.706349, 0.313080> + 1362: <-0.634864, 0.706349, 0.313080> + 1363: <-0.634864, 0.706349, 0.313080> + 1364: <-0.866437, 0.258302, 0.427279> + 1365: <-0.866437, 0.258302, 0.427279> + 1366: <-0.866437, 0.258302, 0.427279> + 1367: <-0.866437, 0.258302, 0.427279> + 1368: <-0.866437, -0.258302, 0.427279> + 1369: <-0.866437, -0.258302, 0.427279> + 1370: <-0.866437, -0.258302, 0.427279> + 1371: <-0.866437, -0.258302, 0.427279> + 1372: <-0.634864, -0.706349, 0.313080> + 1373: <-0.634864, -0.706349, 0.313080> + 1374: <-0.634864, -0.706349, 0.313080> + 1375: <-0.634864, -0.706349, 0.313080> + 1376: <-0.232592, -0.965787, 0.114702> + 1377: <-0.232592, -0.965787, 0.114702> + 1378: <-0.232592, -0.965787, 0.114702> + 1379: <-0.232592, -0.965787, 0.114702> + 1380: < 0.232592, -0.965787, -0.114702> + 1381: < 0.232592, -0.965787, -0.114702> + 1382: < 0.232592, -0.965787, -0.114702> + 1383: < 0.232592, -0.965787, -0.114702> + 1384: < 0.634864, -0.706349, -0.313080> + 1385: < 0.634864, -0.706349, -0.313080> + 1386: < 0.634864, -0.706349, -0.313080> + 1387: < 0.634864, -0.706349, -0.313080> + 1388: < 0.866437, -0.258302, -0.427279> + 1389: < 0.866437, -0.258302, -0.427279> + 1390: < 0.866437, -0.258302, -0.427279> + 1391: < 0.866437, -0.258302, -0.427279> + 1392: < 0.803253, 0.258302, -0.536717> + 1393: < 0.803253, 0.258302, -0.536717> + 1394: < 0.803253, 0.258302, -0.536717> + 1395: < 0.803253, 0.258302, -0.536717> + 1396: < 0.588567, 0.706349, -0.393269> + 1397: < 0.588567, 0.706349, -0.393269> + 1398: < 0.588567, 0.706349, -0.393269> + 1399: < 0.588567, 0.706349, -0.393269> + 1400: <-0.215631, 0.965787, 0.144080> + 1401: <-0.215631, 0.965787, 0.144080> + 1402: <-0.215631, 0.965787, 0.144080> + 1403: <-0.215631, 0.965787, 0.144080> + 1404: <-0.588568, 0.706349, 0.393268> + 1405: <-0.588568, 0.706349, 0.393268> + 1406: <-0.588568, 0.706349, 0.393268> + 1407: <-0.588568, 0.706349, 0.393268> + 1408: <-0.803253, 0.258302, 0.536717> + 1409: <-0.803253, 0.258302, 0.536717> + 1410: <-0.803253, 0.258302, 0.536717> + 1411: <-0.803253, 0.258302, 0.536717> + 1412: <-0.803253, -0.258302, 0.536717> + 1413: <-0.803253, -0.258302, 0.536717> + 1414: <-0.803253, -0.258302, 0.536717> + 1415: <-0.803253, -0.258302, 0.536717> + 1416: <-0.588568, -0.706349, 0.393268> + 1417: <-0.588568, -0.706349, 0.393268> + 1418: <-0.588568, -0.706349, 0.393268> + 1419: <-0.588568, -0.706349, 0.393268> + 1420: <-0.215631, -0.965787, 0.144080> + 1421: <-0.215631, -0.965787, 0.144080> + 1422: <-0.215631, -0.965787, 0.144080> + 1423: <-0.215631, -0.965787, 0.144080> + 1424: < 0.215631, -0.965787, -0.144080> + 1425: < 0.215631, -0.965787, -0.144080> + 1426: < 0.215631, -0.965787, -0.144080> + 1427: < 0.215631, -0.965787, -0.144080> + 1428: < 0.588567, -0.706349, -0.393269> + 1429: < 0.588567, -0.706349, -0.393269> + 1430: < 0.588567, -0.706349, -0.393269> + 1431: < 0.588567, -0.706349, -0.393269> + 1432: < 0.803253, -0.258302, -0.536717> + 1433: < 0.803253, -0.258302, -0.536717> + 1434: < 0.803253, -0.258302, -0.536717> + 1435: < 0.803253, -0.258302, -0.536717> + 1436: < 0.726326, 0.258301, -0.636970> + 1437: < 0.726326, 0.258301, -0.636970> + 1438: < 0.726326, 0.258301, -0.636970> + 1439: < 0.726326, 0.258301, -0.636970> + 1440: <-0.194980, 0.965787, 0.170993> + 1441: <-0.194980, 0.965787, 0.170993> + 1442: <-0.194980, 0.965787, 0.170993> + 1443: <-0.194980, 0.965787, 0.170993> + 1444: <-0.532200, 0.706349, 0.466727> + 1445: <-0.532200, 0.706349, 0.466727> + 1446: <-0.532200, 0.706349, 0.466727> + 1447: <-0.532200, 0.706349, 0.466727> + 1448: <-0.726325, 0.258301, 0.636971> + 1449: <-0.726325, 0.258301, 0.636971> + 1450: <-0.726325, 0.258301, 0.636971> + 1451: <-0.726325, 0.258301, 0.636971> + 1452: <-0.726325, -0.258302, 0.636971> + 1453: <-0.726325, -0.258302, 0.636971> + 1454: <-0.726325, -0.258302, 0.636971> + 1455: <-0.726325, -0.258302, 0.636971> + 1456: <-0.532200, -0.706349, 0.466727> + 1457: <-0.532200, -0.706349, 0.466727> + 1458: <-0.532200, -0.706349, 0.466727> + 1459: <-0.532200, -0.706349, 0.466727> + 1460: <-0.194980, -0.965787, 0.170993> + 1461: <-0.194980, -0.965787, 0.170993> + 1462: <-0.194980, -0.965787, 0.170993> + 1463: <-0.194980, -0.965787, 0.170993> + 1464: < 0.194980, -0.965787, -0.170993> + 1465: < 0.194980, -0.965787, -0.170993> + 1466: < 0.194980, -0.965787, -0.170993> + 1467: < 0.194980, -0.965787, -0.170993> + 1468: < 0.532201, -0.706349, -0.466727> + 1469: < 0.532201, -0.706349, -0.466727> + 1470: < 0.532201, -0.706349, -0.466727> + 1471: < 0.532201, -0.706349, -0.466727> + 1472: < 0.726326, -0.258301, -0.636970> + 1473: < 0.726326, -0.258301, -0.636970> + 1474: < 0.726326, -0.258301, -0.636970> + 1475: < 0.726326, -0.258301, -0.636970> + 1476: < 0.636971, 0.258301, -0.726326> + 1477: < 0.636971, 0.258301, -0.726326> + 1478: < 0.636971, 0.258301, -0.726326> + 1479: < 0.636971, 0.258301, -0.726326> + 1480: <-0.466728, 0.706349, 0.532200> + 1481: <-0.466728, 0.706349, 0.532200> + 1482: <-0.466728, 0.706349, 0.532200> + 1483: <-0.466728, 0.706349, 0.532200> + 1484: <-0.636971, 0.258302, 0.726325> + 1485: <-0.636971, 0.258302, 0.726325> + 1486: <-0.636971, 0.258302, 0.726325> + 1487: <-0.636971, 0.258302, 0.726325> + 1488: <-0.636971, -0.258302, 0.726325> + 1489: <-0.636971, -0.258302, 0.726325> + 1490: <-0.636971, -0.258302, 0.726325> + 1491: <-0.636971, -0.258302, 0.726325> + 1492: <-0.466728, -0.706348, 0.532200> + 1493: <-0.466728, -0.706348, 0.532200> + 1494: <-0.466728, -0.706348, 0.532200> + 1495: <-0.466728, -0.706348, 0.532200> + 1496: <-0.170993, -0.965787, 0.194980> + 1497: <-0.170993, -0.965787, 0.194980> + 1498: <-0.170993, -0.965787, 0.194980> + 1499: <-0.170993, -0.965787, 0.194980> + 1500: < 0.170993, -0.965787, -0.194980> + 1501: < 0.170993, -0.965787, -0.194980> + 1502: < 0.170993, -0.965787, -0.194980> + 1503: < 0.170993, -0.965787, -0.194980> + 1504: < 0.466727, -0.706349, -0.532200> + 1505: < 0.466727, -0.706349, -0.532200> + 1506: < 0.466727, -0.706349, -0.532200> + 1507: < 0.466727, -0.706349, -0.532200> + 1508: < 0.636971, -0.258301, -0.726326> + 1509: < 0.636971, -0.258301, -0.726326> + 1510: < 0.636971, -0.258301, -0.726326> + 1511: < 0.636971, -0.258301, -0.726326> + 1512: <-0.393268, 0.706349, 0.588567> + 1513: <-0.393268, 0.706349, 0.588567> + 1514: <-0.393268, 0.706349, 0.588567> + 1515: <-0.393268, 0.706349, 0.588567> + 1516: <-0.536717, 0.258302, 0.803253> + 1517: <-0.536717, 0.258302, 0.803253> + 1518: <-0.536717, 0.258302, 0.803253> + 1519: <-0.536717, 0.258302, 0.803253> + 1520: <-0.536717, -0.258302, 0.803253> + 1521: <-0.536717, -0.258302, 0.803253> + 1522: <-0.536717, -0.258302, 0.803253> + 1523: <-0.536717, -0.258302, 0.803253> + 1524: <-0.393268, -0.706349, 0.588567> + 1525: <-0.393268, -0.706349, 0.588567> + 1526: <-0.393268, -0.706349, 0.588567> + 1527: <-0.393268, -0.706349, 0.588567> + 1528: <-0.144080, -0.965787, 0.215631> + 1529: <-0.144080, -0.965787, 0.215631> + 1530: <-0.144080, -0.965787, 0.215631> + 1531: <-0.144080, -0.965787, 0.215631> + 1532: < 0.144080, -0.965787, -0.215631> + 1533: < 0.144080, -0.965787, -0.215631> + 1534: < 0.144080, -0.965787, -0.215631> + 1535: < 0.144080, -0.965787, -0.215631> + 1536: < 0.393268, -0.706349, -0.588567> + 1537: < 0.393268, -0.706349, -0.588567> + 1538: < 0.393268, -0.706349, -0.588567> + 1539: < 0.393268, -0.706349, -0.588567> + 1540: < 0.536717, -0.258302, -0.803253> + 1541: < 0.536717, -0.258302, -0.803253> + 1542: < 0.536717, -0.258302, -0.803253> + 1543: < 0.536717, -0.258302, -0.803253> + 1544: <-0.313080, 0.706349, 0.634864> + 1545: <-0.313080, 0.706349, 0.634864> + 1546: <-0.313080, 0.706349, 0.634864> + 1547: <-0.313080, 0.706349, 0.634864> + 1548: <-0.427279, 0.258302, 0.866437> + 1549: <-0.427279, 0.258302, 0.866437> + 1550: <-0.427279, 0.258302, 0.866437> + 1551: <-0.427279, 0.258302, 0.866437> + 1552: <-0.427279, -0.258302, 0.866437> + 1553: <-0.427279, -0.258302, 0.866437> + 1554: <-0.427279, -0.258302, 0.866437> + 1555: <-0.427279, -0.258302, 0.866437> + 1556: <-0.313080, -0.706349, 0.634864> + 1557: <-0.313080, -0.706349, 0.634864> + 1558: <-0.313080, -0.706349, 0.634864> + 1559: <-0.313080, -0.706349, 0.634864> + 1560: <-0.114702, -0.965787, 0.232592> + 1561: <-0.114702, -0.965787, 0.232592> + 1562: <-0.114702, -0.965787, 0.232592> + 1563: <-0.114702, -0.965787, 0.232592> + 1564: < 0.114702, -0.965787, -0.232592> + 1565: < 0.114702, -0.965787, -0.232592> + 1566: < 0.114702, -0.965787, -0.232592> + 1567: < 0.114702, -0.965787, -0.232592> + 1568: < 0.313081, -0.706348, -0.634865> + 1569: < 0.313081, -0.706348, -0.634865> + 1570: < 0.313081, -0.706348, -0.634865> + 1571: < 0.313081, -0.706348, -0.634865> + 1572: <-0.227536, 0.706348, 0.670298> + 1573: <-0.227536, 0.706348, 0.670298> + 1574: <-0.227536, 0.706348, 0.670298> + 1575: <-0.227536, 0.706348, 0.670298> + 1576: <-0.310531, 0.258302, 0.914795> + 1577: <-0.310531, 0.258302, 0.914795> + 1578: <-0.310531, 0.258302, 0.914795> + 1579: <-0.310531, 0.258302, 0.914795> + 1580: <-0.310531, -0.258302, 0.914795> + 1581: <-0.310531, -0.258302, 0.914795> + 1582: <-0.310531, -0.258302, 0.914795> + 1583: <-0.310531, -0.258302, 0.914795> + 1584: <-0.227536, -0.706348, 0.670298> + 1585: <-0.227536, -0.706348, 0.670298> + 1586: <-0.227536, -0.706348, 0.670298> + 1587: <-0.227536, -0.706348, 0.670298> + 1588: <-0.083361, -0.965787, 0.245574> + 1589: <-0.083361, -0.965787, 0.245574> + 1590: <-0.083361, -0.965787, 0.245574> + 1591: <-0.083361, -0.965787, 0.245574> + 1592: < 0.083361, -0.965787, -0.245574> + 1593: < 0.083361, -0.965787, -0.245574> + 1594: < 0.083361, -0.965787, -0.245574> + 1595: < 0.083361, -0.965787, -0.245574> + 1596: < 0.227536, -0.706348, -0.670298> + 1597: < 0.227536, -0.706348, -0.670298> + 1598: < 0.227536, -0.706348, -0.670298> + 1599: < 0.227536, -0.706348, -0.670298> + 1600: <-0.138098, 0.706349, 0.694263> + 1601: <-0.138098, 0.706349, 0.694263> + 1602: <-0.138098, 0.706349, 0.694263> + 1603: <-0.138098, 0.706349, 0.694263> + 1604: <-0.188470, 0.258302, 0.947501> + 1605: <-0.188470, 0.258302, 0.947501> + 1606: <-0.188470, 0.258302, 0.947501> + 1607: <-0.188470, 0.258302, 0.947501> + 1608: <-0.188470, -0.258302, 0.947501> + 1609: <-0.188470, -0.258302, 0.947501> + 1610: <-0.188470, -0.258302, 0.947501> + 1611: <-0.188470, -0.258302, 0.947501> + 1612: <-0.138098, -0.706349, 0.694263> + 1613: <-0.138098, -0.706349, 0.694263> + 1614: <-0.138098, -0.706349, 0.694263> + 1615: <-0.138098, -0.706349, 0.694263> + 1616: <-0.050594, -0.965787, 0.254354> + 1617: <-0.050594, -0.965787, 0.254354> + 1618: <-0.050594, -0.965787, 0.254354> + 1619: <-0.050594, -0.965787, 0.254354> + 1620: < 0.050594, -0.965787, -0.254354> + 1621: < 0.050594, -0.965787, -0.254354> + 1622: < 0.050594, -0.965787, -0.254354> + 1623: < 0.050594, -0.965787, -0.254354> + 1624: <-0.046297, 0.706348, 0.706349> + 1625: <-0.046297, 0.706348, 0.706349> + 1626: <-0.046297, 0.706348, 0.706349> + 1627: <-0.046297, 0.706348, 0.706349> + 1628: <-0.063184, 0.258302, 0.963996> + 1629: <-0.063184, 0.258302, 0.963996> + 1630: <-0.063184, 0.258302, 0.963996> + 1631: <-0.063184, 0.258302, 0.963996> + 1632: <-0.063184, -0.258302, 0.963996> + 1633: <-0.063184, -0.258302, 0.963996> + 1634: <-0.063184, -0.258302, 0.963996> + 1635: <-0.063184, -0.258302, 0.963996> + 1636: <-0.046297, -0.706348, 0.706349> + 1637: <-0.046297, -0.706348, 0.706349> + 1638: <-0.046297, -0.706348, 0.706349> + 1639: <-0.046297, -0.706348, 0.706349> + 1640: <-0.016962, -0.965787, 0.258782> + 1641: <-0.016962, -0.965787, 0.258782> + 1642: <-0.016962, -0.965787, 0.258782> + 1643: <-0.016962, -0.965787, 0.258782> + 1644: < 0.016961, -0.965787, -0.258782> + 1645: < 0.016961, -0.965787, -0.258782> + 1646: < 0.016961, -0.965787, -0.258782> + 1647: < 0.016961, -0.965787, -0.258782> + 1648: < 0.046297, 0.706349, 0.706348> + 1649: < 0.046297, 0.706349, 0.706348> + 1650: < 0.046297, 0.706349, 0.706348> + 1651: < 0.046297, 0.706349, 0.706348> + 1652: < 0.063184, 0.258301, 0.963996> + 1653: < 0.063184, 0.258301, 0.963996> + 1654: < 0.063184, 0.258301, 0.963996> + 1655: < 0.063184, 0.258301, 0.963996> + 1656: < 0.063184, -0.258301, 0.963996> + 1657: < 0.063184, -0.258301, 0.963996> + 1658: < 0.063184, -0.258301, 0.963996> + 1659: < 0.063184, -0.258301, 0.963996> + 1660: < 0.046297, -0.706349, 0.706348> + 1661: < 0.046297, -0.706349, 0.706348> + 1662: < 0.046297, -0.706349, 0.706348> + 1663: < 0.046297, -0.706349, 0.706348> + 1664: < 0.016962, -0.965787, 0.258782> + 1665: < 0.016962, -0.965787, 0.258782> + 1666: < 0.016962, -0.965787, 0.258782> + 1667: < 0.016962, -0.965787, 0.258782> + 1668: <-0.016961, -0.965787, -0.258782> + 1669: <-0.016961, -0.965787, -0.258782> + 1670: <-0.016961, -0.965787, -0.258782> + 1671: <-0.016961, -0.965787, -0.258782> + 1672: < 0.050594, 0.965787, 0.254354> + 1673: < 0.050594, 0.965787, 0.254354> + 1674: < 0.050594, 0.965787, 0.254354> + 1675: < 0.050594, 0.965787, 0.254354> + 1676: < 0.138097, 0.706348, 0.694263> + 1677: < 0.138097, 0.706348, 0.694263> + 1678: < 0.138097, 0.706348, 0.694263> + 1679: < 0.138097, 0.706348, 0.694263> + 1680: < 0.188469, 0.258302, 0.947502> + 1681: < 0.188469, 0.258302, 0.947502> + 1682: < 0.188469, 0.258302, 0.947502> + 1683: < 0.188469, 0.258302, 0.947502> + 1684: < 0.188469, -0.258302, 0.947502> + 1685: < 0.188469, -0.258302, 0.947502> + 1686: < 0.188469, -0.258302, 0.947502> + 1687: < 0.188469, -0.258302, 0.947502> + 1688: < 0.138097, -0.706348, 0.694263> + 1689: < 0.138097, -0.706348, 0.694263> + 1690: < 0.138097, -0.706348, 0.694263> + 1691: < 0.138097, -0.706348, 0.694263> + 1692: < 0.050594, -0.965787, 0.254354> + 1693: < 0.050594, -0.965787, 0.254354> + 1694: < 0.050594, -0.965787, 0.254354> + 1695: < 0.050594, -0.965787, 0.254354> + 1696: <-0.050594, -0.965787, -0.254354> + 1697: <-0.050594, -0.965787, -0.254354> + 1698: <-0.050594, -0.965787, -0.254354> + 1699: <-0.050594, -0.965787, -0.254354> + 1700: < 0.083361, 0.965787, 0.245574> + 1701: < 0.083361, 0.965787, 0.245574> + 1702: < 0.083361, 0.965787, 0.245574> + 1703: < 0.083361, 0.965787, 0.245574> + 1704: < 0.227535, 0.706349, 0.670298> + 1705: < 0.227535, 0.706349, 0.670298> + 1706: < 0.227535, 0.706349, 0.670298> + 1707: < 0.227535, 0.706349, 0.670298> + 1708: < 0.310531, 0.258301, 0.914796> + 1709: < 0.310531, 0.258301, 0.914796> + 1710: < 0.310531, 0.258301, 0.914796> + 1711: < 0.310531, 0.258301, 0.914796> + 1712: < 0.310531, -0.258301, 0.914796> + 1713: < 0.310531, -0.258301, 0.914796> + 1714: < 0.310531, -0.258301, 0.914796> + 1715: < 0.310531, -0.258301, 0.914796> + 1716: < 0.227535, -0.706349, 0.670298> + 1717: < 0.227535, -0.706349, 0.670298> + 1718: < 0.227535, -0.706349, 0.670298> + 1719: < 0.227535, -0.706349, 0.670298> + 1720: < 0.083361, -0.965787, 0.245574> + 1721: < 0.083361, -0.965787, 0.245574> + 1722: < 0.083361, -0.965787, 0.245574> + 1723: < 0.083361, -0.965787, 0.245574> + 1724: <-0.083361, -0.965787, -0.245574> + 1725: <-0.083361, -0.965787, -0.245574> + 1726: <-0.083361, -0.965787, -0.245574> + 1727: <-0.083361, -0.965787, -0.245574> + 1728: <-0.114702, 0.965787, -0.232592> + 1729: <-0.114702, 0.965787, -0.232592> + 1730: <-0.114702, 0.965787, -0.232592> + 1731: <-0.114702, 0.965787, -0.232592> + 1732: < 0.114702, 0.965787, 0.232592> + 1733: < 0.114702, 0.965787, 0.232592> + 1734: < 0.114702, 0.965787, 0.232592> + 1735: < 0.114702, 0.965787, 0.232592> + 1736: < 0.313080, 0.706349, 0.634864> + 1737: < 0.313080, 0.706349, 0.634864> + 1738: < 0.313080, 0.706349, 0.634864> + 1739: < 0.313080, 0.706349, 0.634864> + 1740: < 0.427279, 0.258302, 0.866437> + 1741: < 0.427279, 0.258302, 0.866437> + 1742: < 0.427279, 0.258302, 0.866437> + 1743: < 0.427279, 0.258302, 0.866437> + 1744: < 0.427279, -0.258302, 0.866437> + 1745: < 0.427279, -0.258302, 0.866437> + 1746: < 0.427279, -0.258302, 0.866437> + 1747: < 0.427279, -0.258302, 0.866437> + 1748: < 0.313080, -0.706349, 0.634864> + 1749: < 0.313080, -0.706349, 0.634864> + 1750: < 0.313080, -0.706349, 0.634864> + 1751: < 0.313080, -0.706349, 0.634864> + 1752: < 0.114702, -0.965787, 0.232592> + 1753: < 0.114702, -0.965787, 0.232592> + 1754: < 0.114702, -0.965787, 0.232592> + 1755: < 0.114702, -0.965787, 0.232592> + 1756: <-0.114702, -0.965787, -0.232592> + 1757: <-0.114702, -0.965787, -0.232592> + 1758: <-0.114702, -0.965787, -0.232592> + 1759: <-0.114702, -0.965787, -0.232592> + 1760: <-0.393268, 0.706349, -0.588567> + 1761: <-0.393268, 0.706349, -0.588567> + 1762: <-0.393268, 0.706349, -0.588567> + 1763: <-0.393268, 0.706349, -0.588567> + 1764: <-0.144080, 0.965787, -0.215631> + 1765: <-0.144080, 0.965787, -0.215631> + 1766: <-0.144080, 0.965787, -0.215631> + 1767: <-0.144080, 0.965787, -0.215631> + 1768: < 0.144080, 0.965787, 0.215631> + 1769: < 0.144080, 0.965787, 0.215631> + 1770: < 0.144080, 0.965787, 0.215631> + 1771: < 0.144080, 0.965787, 0.215631> + 1772: < 0.393268, 0.706349, 0.588567> + 1773: < 0.393268, 0.706349, 0.588567> + 1774: < 0.393268, 0.706349, 0.588567> + 1775: < 0.393268, 0.706349, 0.588567> + 1776: < 0.536717, 0.258301, 0.803253> + 1777: < 0.536717, 0.258301, 0.803253> + 1778: < 0.536717, 0.258301, 0.803253> + 1779: < 0.536717, 0.258301, 0.803253> + 1780: < 0.536717, -0.258301, 0.803253> + 1781: < 0.536717, -0.258301, 0.803253> + 1782: < 0.536717, -0.258301, 0.803253> + 1783: < 0.536717, -0.258301, 0.803253> + 1784: < 0.393268, -0.706349, 0.588567> + 1785: < 0.393268, -0.706349, 0.588567> + 1786: < 0.393268, -0.706349, 0.588567> + 1787: < 0.393268, -0.706349, 0.588567> + 1788: < 0.144080, -0.965787, 0.215631> + 1789: < 0.144080, -0.965787, 0.215631> + 1790: < 0.144080, -0.965787, 0.215631> + 1791: < 0.144080, -0.965787, 0.215631> + 1792: <-0.144080, -0.965787, -0.215631> + 1793: <-0.144080, -0.965787, -0.215631> + 1794: <-0.144080, -0.965787, -0.215631> + 1795: <-0.144080, -0.965787, -0.215631> + 1796: <-0.636970, 0.258302, -0.726326> + 1797: <-0.636970, 0.258302, -0.726326> + 1798: <-0.636970, 0.258302, -0.726326> + 1799: <-0.636970, 0.258302, -0.726326> + 1800: <-0.466727, 0.706349, -0.532201> + 1801: <-0.466727, 0.706349, -0.532201> + 1802: <-0.466727, 0.706349, -0.532201> + 1803: <-0.466727, 0.706349, -0.532201> + 1804: <-0.170993, 0.965787, -0.194980> + 1805: <-0.170993, 0.965787, -0.194980> + 1806: <-0.170993, 0.965787, -0.194980> + 1807: <-0.170993, 0.965787, -0.194980> + 1808: < 0.170993, 0.965787, 0.194980> + 1809: < 0.170993, 0.965787, 0.194980> + 1810: < 0.170993, 0.965787, 0.194980> + 1811: < 0.170993, 0.965787, 0.194980> + 1812: < 0.466727, 0.706349, 0.532201> + 1813: < 0.466727, 0.706349, 0.532201> + 1814: < 0.466727, 0.706349, 0.532201> + 1815: < 0.466727, 0.706349, 0.532201> + 1816: < 0.636970, 0.258302, 0.726326> + 1817: < 0.636970, 0.258302, 0.726326> + 1818: < 0.636970, 0.258302, 0.726326> + 1819: < 0.636970, 0.258302, 0.726326> + 1820: < 0.636970, -0.258302, 0.726326> + 1821: < 0.636970, -0.258302, 0.726326> + 1822: < 0.636970, -0.258302, 0.726326> + 1823: < 0.636970, -0.258302, 0.726326> + 1824: < 0.466727, -0.706349, 0.532201> + 1825: < 0.466727, -0.706349, 0.532201> + 1826: < 0.466727, -0.706349, 0.532201> + 1827: < 0.466727, -0.706349, 0.532201> + 1828: < 0.170993, -0.965787, 0.194980> + 1829: < 0.170993, -0.965787, 0.194980> + 1830: < 0.170993, -0.965787, 0.194980> + 1831: < 0.170993, -0.965787, 0.194980> + 1832: <-0.170993, -0.965787, -0.194980> + 1833: <-0.170993, -0.965787, -0.194980> + 1834: <-0.170993, -0.965787, -0.194980> + 1835: <-0.170993, -0.965787, -0.194980> + 1836: <-0.726325, 0.258302, -0.636971> + 1837: <-0.726325, 0.258302, -0.636971> + 1838: <-0.726325, 0.258302, -0.636971> + 1839: <-0.726325, 0.258302, -0.636971> + 1840: <-0.532201, 0.706348, -0.466728> + 1841: <-0.532201, 0.706348, -0.466728> + 1842: <-0.532201, 0.706348, -0.466728> + 1843: <-0.532201, 0.706348, -0.466728> + 1844: <-0.194980, 0.965787, -0.170993> + 1845: <-0.194980, 0.965787, -0.170993> + 1846: <-0.194980, 0.965787, -0.170993> + 1847: <-0.194980, 0.965787, -0.170993> + 1848: < 0.194980, 0.965787, 0.170993> + 1849: < 0.194980, 0.965787, 0.170993> + 1850: < 0.194980, 0.965787, 0.170993> + 1851: < 0.194980, 0.965787, 0.170993> + 1852: < 0.532200, 0.706349, 0.466727> + 1853: < 0.532200, 0.706349, 0.466727> + 1854: < 0.532200, 0.706349, 0.466727> + 1855: < 0.532200, 0.706349, 0.466727> + 1856: < 0.726326, 0.258302, 0.636970> + 1857: < 0.726326, 0.258302, 0.636970> + 1858: < 0.726326, 0.258302, 0.636970> + 1859: < 0.726326, 0.258302, 0.636970> + 1860: < 0.726326, -0.258302, 0.636970> + 1861: < 0.726326, -0.258302, 0.636970> + 1862: < 0.726326, -0.258302, 0.636970> + 1863: < 0.726326, -0.258302, 0.636970> + 1864: < 0.532200, -0.706349, 0.466727> + 1865: < 0.532200, -0.706349, 0.466727> + 1866: < 0.532200, -0.706349, 0.466727> + 1867: < 0.532200, -0.706349, 0.466727> + 1868: < 0.194980, -0.965787, 0.170993> + 1869: < 0.194980, -0.965787, 0.170993> + 1870: < 0.194980, -0.965787, 0.170993> + 1871: < 0.194980, -0.965787, 0.170993> + 1872: <-0.194980, -0.965787, -0.170993> + 1873: <-0.194980, -0.965787, -0.170993> + 1874: <-0.194980, -0.965787, -0.170993> + 1875: <-0.194980, -0.965787, -0.170993> + 1876: <-0.532201, -0.706348, -0.466728> + 1877: <-0.532201, -0.706348, -0.466728> + 1878: <-0.532201, -0.706348, -0.466728> + 1879: <-0.532201, -0.706348, -0.466728> + 1880: <-0.726325, -0.258302, -0.636971> + 1881: <-0.726325, -0.258302, -0.636971> + 1882: <-0.726325, -0.258302, -0.636971> + 1883: <-0.726325, -0.258302, -0.636971> + 1884: <-0.803253, 0.258302, -0.536716> + 1885: <-0.803253, 0.258302, -0.536716> + 1886: <-0.803253, 0.258302, -0.536716> + 1887: <-0.803253, 0.258302, -0.536716> + 1888: <-0.588568, 0.706348, -0.393268> + 1889: <-0.588568, 0.706348, -0.393268> + 1890: <-0.588568, 0.706348, -0.393268> + 1891: <-0.588568, 0.706348, -0.393268> + 1892: <-0.215631, 0.965787, -0.144080> + 1893: <-0.215631, 0.965787, -0.144080> + 1894: <-0.215631, 0.965787, -0.144080> + 1895: <-0.215631, 0.965787, -0.144080> + 1896: < 0.215631, 0.965787, 0.144080> + 1897: < 0.215631, 0.965787, 0.144080> + 1898: < 0.215631, 0.965787, 0.144080> + 1899: < 0.215631, 0.965787, 0.144080> + 1900: < 0.588568, 0.706349, 0.393268> + 1901: < 0.588568, 0.706349, 0.393268> + 1902: < 0.588568, 0.706349, 0.393268> + 1903: < 0.588568, 0.706349, 0.393268> + 1904: < 0.803253, 0.258302, 0.536716> + 1905: < 0.803253, 0.258302, 0.536716> + 1906: < 0.803253, 0.258302, 0.536716> + 1907: < 0.803253, 0.258302, 0.536716> + 1908: < 0.803253, -0.258302, 0.536716> + 1909: < 0.803253, -0.258302, 0.536716> + 1910: < 0.803253, -0.258302, 0.536716> + 1911: < 0.803253, -0.258302, 0.536716> + 1912: < 0.588568, -0.706349, 0.393268> + 1913: < 0.588568, -0.706349, 0.393268> + 1914: < 0.588568, -0.706349, 0.393268> + 1915: < 0.588568, -0.706349, 0.393268> + 1916: < 0.215631, -0.965787, 0.144080> + 1917: < 0.215631, -0.965787, 0.144080> + 1918: < 0.215631, -0.965787, 0.144080> + 1919: < 0.215631, -0.965787, 0.144080> + 1920: <-0.215631, -0.965787, -0.144080> + 1921: <-0.215631, -0.965787, -0.144080> + 1922: <-0.215631, -0.965787, -0.144080> + 1923: <-0.215631, -0.965787, -0.144080> + 1924: <-0.588568, -0.706348, -0.393268> + 1925: <-0.588568, -0.706348, -0.393268> + 1926: <-0.588568, -0.706348, -0.393268> + 1927: <-0.588568, -0.706348, -0.393268> + 1928: <-0.803253, -0.258302, -0.536716> + 1929: <-0.803253, -0.258302, -0.536716> + 1930: <-0.803253, -0.258302, -0.536716> + 1931: <-0.803253, -0.258302, -0.536716> + 1932: <-0.866436, 0.258302, -0.427280> + 1933: <-0.866436, 0.258302, -0.427280> + 1934: <-0.866436, 0.258302, -0.427280> + 1935: <-0.866436, 0.258302, -0.427280> + 1936: <-0.634864, 0.706349, -0.313080> + 1937: <-0.634864, 0.706349, -0.313080> + 1938: <-0.634864, 0.706349, -0.313080> + 1939: <-0.634864, 0.706349, -0.313080> + 1940: <-0.232592, 0.965787, -0.114702> + 1941: <-0.232592, 0.965787, -0.114702> + 1942: <-0.232592, 0.965787, -0.114702> + 1943: <-0.232592, 0.965787, -0.114702> + 1944: < 0.232592, 0.965787, 0.114702> + 1945: < 0.232592, 0.965787, 0.114702> + 1946: < 0.232592, 0.965787, 0.114702> + 1947: < 0.232592, 0.965787, 0.114702> + 1948: < 0.634864, 0.706349, 0.313081> + 1949: < 0.634864, 0.706349, 0.313081> + 1950: < 0.634864, 0.706349, 0.313081> + 1951: < 0.634864, 0.706349, 0.313081> + 1952: < 0.866436, 0.258302, 0.427280> + 1953: < 0.866436, 0.258302, 0.427280> + 1954: < 0.866436, 0.258302, 0.427280> + 1955: < 0.866436, 0.258302, 0.427280> + 1956: < 0.866436, -0.258302, 0.427280> + 1957: < 0.866436, -0.258302, 0.427280> + 1958: < 0.866436, -0.258302, 0.427280> + 1959: < 0.866436, -0.258302, 0.427280> + 1960: < 0.634864, -0.706348, 0.313081> + 1961: < 0.634864, -0.706348, 0.313081> + 1962: < 0.634864, -0.706348, 0.313081> + 1963: < 0.634864, -0.706348, 0.313081> + 1964: < 0.232592, -0.965787, 0.114702> + 1965: < 0.232592, -0.965787, 0.114702> + 1966: < 0.232592, -0.965787, 0.114702> + 1967: < 0.232592, -0.965787, 0.114702> + 1968: <-0.232592, -0.965787, -0.114702> + 1969: <-0.232592, -0.965787, -0.114702> + 1970: <-0.232592, -0.965787, -0.114702> + 1971: <-0.232592, -0.965787, -0.114702> + 1972: <-0.634864, -0.706349, -0.313080> + 1973: <-0.634864, -0.706349, -0.313080> + 1974: <-0.634864, -0.706349, -0.313080> + 1975: <-0.634864, -0.706349, -0.313080> + 1976: <-0.866436, -0.258302, -0.427280> + 1977: <-0.866436, -0.258302, -0.427280> + 1978: <-0.866436, -0.258302, -0.427280> + 1979: <-0.866436, -0.258302, -0.427280> + 1980: <-0.914795, 0.258302, -0.310531> + 1981: <-0.914795, 0.258302, -0.310531> + 1982: <-0.914795, 0.258302, -0.310531> + 1983: <-0.914795, 0.258302, -0.310531> + 1984: <-0.670298, 0.706349, -0.227535> + 1985: <-0.670298, 0.706349, -0.227535> + 1986: <-0.670298, 0.706349, -0.227535> + 1987: <-0.670298, 0.706349, -0.227535> + 1988: <-0.245574, 0.965787, -0.083361> + 1989: <-0.245574, 0.965787, -0.083361> + 1990: <-0.245574, 0.965787, -0.083361> + 1991: <-0.245574, 0.965787, -0.083361> + 1992: < 0.245574, 0.965787, 0.083361> + 1993: < 0.245574, 0.965787, 0.083361> + 1994: < 0.245574, 0.965787, 0.083361> + 1995: < 0.245574, 0.965787, 0.083361> + 1996: < 0.670298, 0.706348, 0.227536> + 1997: < 0.670298, 0.706348, 0.227536> + 1998: < 0.670298, 0.706348, 0.227536> + 1999: < 0.670298, 0.706348, 0.227536> + 2000: < 0.914795, 0.258302, 0.310531> + 2001: < 0.914795, 0.258302, 0.310531> + 2002: < 0.914795, 0.258302, 0.310531> + 2003: < 0.914795, 0.258302, 0.310531> + 2004: < 0.914795, -0.258302, 0.310531> + 2005: < 0.914795, -0.258302, 0.310531> + 2006: < 0.914795, -0.258302, 0.310531> + 2007: < 0.914795, -0.258302, 0.310531> + 2008: < 0.670298, -0.706349, 0.227536> + 2009: < 0.670298, -0.706349, 0.227536> + 2010: < 0.670298, -0.706349, 0.227536> + 2011: < 0.670298, -0.706349, 0.227536> + 2012: < 0.245574, -0.965787, 0.083361> + 2013: < 0.245574, -0.965787, 0.083361> + 2014: < 0.245574, -0.965787, 0.083361> + 2015: < 0.245574, -0.965787, 0.083361> + 2016: <-0.245574, -0.965787, -0.083361> + 2017: <-0.245574, -0.965787, -0.083361> + 2018: <-0.245574, -0.965787, -0.083361> + 2019: <-0.245574, -0.965787, -0.083361> + 2020: <-0.670298, -0.706349, -0.227535> + 2021: <-0.670298, -0.706349, -0.227535> + 2022: <-0.670298, -0.706349, -0.227535> + 2023: <-0.670298, -0.706349, -0.227535> + 2024: <-0.914795, -0.258302, -0.310531> + 2025: <-0.914795, -0.258302, -0.310531> + 2026: <-0.914795, -0.258302, -0.310531> + 2027: <-0.914795, -0.258302, -0.310531> + 2028: < 0.694263, 0.706349, 0.138097> + 2029: < 0.694263, 0.706349, 0.138097> + 2030: < 0.694263, 0.706349, 0.138097> + 2031: < 0.694263, 0.706349, 0.138097> + 2032: < 0.947502, 0.258302, 0.188470> + 2033: < 0.947502, 0.258302, 0.188470> + 2034: < 0.947502, 0.258302, 0.188470> + 2035: < 0.947502, 0.258302, 0.188470> + 2036: < 0.947502, -0.258302, 0.188470> + 2037: < 0.947502, -0.258302, 0.188470> + 2038: < 0.947502, -0.258302, 0.188470> + 2039: < 0.947502, -0.258302, 0.188470> + 2040: < 0.694263, -0.706349, 0.138097> + 2041: < 0.694263, -0.706349, 0.138097> + 2042: < 0.694263, -0.706349, 0.138097> + 2043: < 0.694263, -0.706349, 0.138097> + 2044: < 0.254354, -0.965787, 0.050594> + 2045: < 0.254354, -0.965787, 0.050594> + 2046: < 0.254354, -0.965787, 0.050594> + 2047: < 0.254354, -0.965787, 0.050594> + 2048: <-0.254354, -0.965787, -0.050594> + 2049: <-0.254354, -0.965787, -0.050594> + 2050: <-0.254354, -0.965787, -0.050594> + 2051: <-0.254354, -0.965787, -0.050594> + 2052: < 0.706348, 0.706349, 0.046297> + 2053: < 0.706348, 0.706349, 0.046297> + 2054: < 0.706348, 0.706349, 0.046297> + 2055: < 0.706348, 0.706349, 0.046297> + 2056: < 0.963996, 0.258302, 0.063184> + 2057: < 0.963996, 0.258302, 0.063184> + 2058: < 0.963996, 0.258302, 0.063184> + 2059: < 0.963996, 0.258302, 0.063184> + 2060: < 0.963996, -0.258302, 0.063184> + 2061: < 0.963996, -0.258302, 0.063184> + 2062: < 0.963996, -0.258302, 0.063184> + 2063: < 0.963996, -0.258302, 0.063184> + 2064: < 0.706348, -0.706349, 0.046297> + 2065: < 0.706348, -0.706349, 0.046297> + 2066: < 0.706348, -0.706349, 0.046297> + 2067: < 0.706348, -0.706349, 0.046297> + 2068: < 0.258782, -0.965787, 0.016961> + 2069: < 0.258782, -0.965787, 0.016961> + 2070: < 0.258782, -0.965787, 0.016961> + 2071: < 0.258782, -0.965787, 0.016961> + 2072: <-0.258782, -0.965787, -0.016961> + 2073: <-0.258782, -0.965787, -0.016961> + 2074: <-0.258782, -0.965787, -0.016961> + 2075: <-0.258782, -0.965787, -0.016961> + 2076: < 0.215631, 0.965787, -0.144080> + 2077: < 0.215631, 0.965787, -0.144080> + 2078: < 0.215631, 0.965787, -0.144080> + 2079: < 0.215631, 0.965787, -0.144080> + 2080: < 0.532201, 0.706349, -0.466727> + 2081: < 0.532201, 0.706349, -0.466727> + 2082: < 0.532201, 0.706349, -0.466727> + 2083: < 0.532201, 0.706349, -0.466727> + 2084: < 0.194980, 0.965787, -0.170993> + 2085: < 0.194980, 0.965787, -0.170993> + 2086: < 0.194980, 0.965787, -0.170993> + 2087: < 0.194980, 0.965787, -0.170993> + 2088: < 0.466728, 0.706349, -0.532200> + 2089: < 0.466728, 0.706349, -0.532200> + 2090: < 0.466728, 0.706349, -0.532200> + 2091: < 0.466728, 0.706349, -0.532200> + 2092: < 0.170993, 0.965787, -0.194980> + 2093: < 0.170993, 0.965787, -0.194980> + 2094: < 0.170993, 0.965787, -0.194980> + 2095: < 0.170993, 0.965787, -0.194980> + 2096: <-0.170993, 0.965787, 0.194980> + 2097: <-0.170993, 0.965787, 0.194980> + 2098: <-0.170993, 0.965787, 0.194980> + 2099: <-0.170993, 0.965787, 0.194980> + 2100: < 0.536717, 0.258302, -0.803253> + 2101: < 0.536717, 0.258302, -0.803253> + 2102: < 0.536717, 0.258302, -0.803253> + 2103: < 0.536717, 0.258302, -0.803253> + 2104: < 0.393268, 0.706349, -0.588567> + 2105: < 0.393268, 0.706349, -0.588567> + 2106: < 0.393268, 0.706349, -0.588567> + 2107: < 0.393268, 0.706349, -0.588567> + 2108: < 0.144080, 0.965787, -0.215631> + 2109: < 0.144080, 0.965787, -0.215631> + 2110: < 0.144080, 0.965787, -0.215631> + 2111: < 0.144080, 0.965787, -0.215631> + 2112: <-0.144080, 0.965787, 0.215631> + 2113: <-0.144080, 0.965787, 0.215631> + 2114: <-0.144080, 0.965787, 0.215631> + 2115: <-0.144080, 0.965787, 0.215631> + 2116: < 0.427279, 0.258303, -0.866437> + 2117: < 0.427279, 0.258303, -0.866437> + 2118: < 0.427279, 0.258303, -0.866437> + 2119: < 0.427279, 0.258303, -0.866437> + 2120: < 0.313081, 0.706348, -0.634865> + 2121: < 0.313081, 0.706348, -0.634865> + 2122: < 0.313081, 0.706348, -0.634865> + 2123: < 0.313081, 0.706348, -0.634865> + 2124: < 0.114702, 0.965787, -0.232592> + 2125: < 0.114702, 0.965787, -0.232592> + 2126: < 0.114702, 0.965787, -0.232592> + 2127: < 0.114702, 0.965787, -0.232592> + 2128: <-0.114702, 0.965787, 0.232592> + 2129: <-0.114702, 0.965787, 0.232592> + 2130: <-0.114702, 0.965787, 0.232592> + 2131: <-0.114702, 0.965787, 0.232592> + 2132: < 0.427279, -0.258303, -0.866437> + 2133: < 0.427279, -0.258303, -0.866437> + 2134: < 0.427279, -0.258303, -0.866437> + 2135: < 0.427279, -0.258303, -0.866437> + 2136: < 0.310531, 0.258301, -0.914795> + 2137: < 0.310531, 0.258301, -0.914795> + 2138: < 0.310531, 0.258301, -0.914795> + 2139: < 0.310531, 0.258301, -0.914795> + 2140: < 0.227536, 0.706348, -0.670298> + 2141: < 0.227536, 0.706348, -0.670298> + 2142: < 0.227536, 0.706348, -0.670298> + 2143: < 0.227536, 0.706348, -0.670298> + 2144: < 0.083361, 0.965787, -0.245574> + 2145: < 0.083361, 0.965787, -0.245574> + 2146: < 0.083361, 0.965787, -0.245574> + 2147: < 0.083361, 0.965787, -0.245574> + 2148: <-0.083361, 0.965787, 0.245574> + 2149: <-0.083361, 0.965787, 0.245574> + 2150: <-0.083361, 0.965787, 0.245574> + 2151: <-0.083361, 0.965787, 0.245574> + 2152: < 0.310531, -0.258301, -0.914795> + 2153: < 0.310531, -0.258301, -0.914795> + 2154: < 0.310531, -0.258301, -0.914795> + 2155: < 0.310531, -0.258301, -0.914795> + 2156: < 0.188470, 0.258303, -0.947501> + 2157: < 0.188470, 0.258303, -0.947501> + 2158: < 0.188470, 0.258303, -0.947501> + 2159: < 0.188470, 0.258303, -0.947501> + 2160: < 0.138098, 0.706348, -0.694263> + 2161: < 0.138098, 0.706348, -0.694263> + 2162: < 0.138098, 0.706348, -0.694263> + 2163: < 0.138098, 0.706348, -0.694263> + 2164: < 0.050594, 0.965787, -0.254354> + 2165: < 0.050594, 0.965787, -0.254354> + 2166: < 0.050594, 0.965787, -0.254354> + 2167: < 0.050594, 0.965787, -0.254354> + 2168: <-0.050594, 0.965787, 0.254354> + 2169: <-0.050594, 0.965787, 0.254354> + 2170: <-0.050594, 0.965787, 0.254354> + 2171: <-0.050594, 0.965787, 0.254354> + 2172: < 0.138098, -0.706348, -0.694263> + 2173: < 0.138098, -0.706348, -0.694263> + 2174: < 0.138098, -0.706348, -0.694263> + 2175: < 0.138098, -0.706348, -0.694263> + 2176: < 0.188470, -0.258303, -0.947501> + 2177: < 0.188470, -0.258303, -0.947501> + 2178: < 0.188470, -0.258303, -0.947501> + 2179: < 0.188470, -0.258303, -0.947501> + 2180: < 0.063184, 0.258301, -0.963996> + 2181: < 0.063184, 0.258301, -0.963996> + 2182: < 0.063184, 0.258301, -0.963996> + 2183: < 0.063184, 0.258301, -0.963996> + 2184: < 0.046297, 0.706348, -0.706349> + 2185: < 0.046297, 0.706348, -0.706349> + 2186: < 0.046297, 0.706348, -0.706349> + 2187: < 0.046297, 0.706348, -0.706349> + 2188: < 0.016961, 0.965787, -0.258782> + 2189: < 0.016961, 0.965787, -0.258782> + 2190: < 0.016961, 0.965787, -0.258782> + 2191: < 0.016961, 0.965787, -0.258782> + 2192: <-0.016962, 0.965787, 0.258782> + 2193: <-0.016962, 0.965787, 0.258782> + 2194: <-0.016962, 0.965787, 0.258782> + 2195: <-0.016962, 0.965787, 0.258782> + 2196: < 0.046297, -0.706348, -0.706349> + 2197: < 0.046297, -0.706348, -0.706349> + 2198: < 0.046297, -0.706348, -0.706349> + 2199: < 0.046297, -0.706348, -0.706349> + 2200: < 0.063184, -0.258301, -0.963996> + 2201: < 0.063184, -0.258301, -0.963996> + 2202: < 0.063184, -0.258301, -0.963996> + 2203: < 0.063184, -0.258301, -0.963996> + 2204: <-0.063184, 0.258301, -0.963996> + 2205: <-0.063184, 0.258301, -0.963996> + 2206: <-0.063184, 0.258301, -0.963996> + 2207: <-0.063184, 0.258301, -0.963996> + 2208: <-0.046296, 0.706349, -0.706348> + 2209: <-0.046296, 0.706349, -0.706348> + 2210: <-0.046296, 0.706349, -0.706348> + 2211: <-0.046296, 0.706349, -0.706348> + 2212: <-0.016961, 0.965787, -0.258782> + 2213: <-0.016961, 0.965787, -0.258782> + 2214: <-0.016961, 0.965787, -0.258782> + 2215: <-0.016961, 0.965787, -0.258782> + 2216: < 0.016962, 0.965787, 0.258782> + 2217: < 0.016962, 0.965787, 0.258782> + 2218: < 0.016962, 0.965787, 0.258782> + 2219: < 0.016962, 0.965787, 0.258782> + 2220: <-0.046296, -0.706349, -0.706348> + 2221: <-0.046296, -0.706349, -0.706348> + 2222: <-0.046296, -0.706349, -0.706348> + 2223: <-0.046296, -0.706349, -0.706348> + 2224: <-0.063184, -0.258301, -0.963996> + 2225: <-0.063184, -0.258301, -0.963996> + 2226: <-0.063184, -0.258301, -0.963996> + 2227: <-0.063184, -0.258301, -0.963996> + 2228: <-0.188469, 0.258302, -0.947502> + 2229: <-0.188469, 0.258302, -0.947502> + 2230: <-0.188469, 0.258302, -0.947502> + 2231: <-0.188469, 0.258302, -0.947502> + 2232: <-0.138097, 0.706349, -0.694263> + 2233: <-0.138097, 0.706349, -0.694263> + 2234: <-0.138097, 0.706349, -0.694263> + 2235: <-0.138097, 0.706349, -0.694263> + 2236: <-0.050594, 0.965787, -0.254354> + 2237: <-0.050594, 0.965787, -0.254354> + 2238: <-0.050594, 0.965787, -0.254354> + 2239: <-0.050594, 0.965787, -0.254354> + 2240: <-0.138097, -0.706349, -0.694263> + 2241: <-0.138097, -0.706349, -0.694263> + 2242: <-0.138097, -0.706349, -0.694263> + 2243: <-0.138097, -0.706349, -0.694263> + 2244: <-0.188469, -0.258302, -0.947502> + 2245: <-0.188469, -0.258302, -0.947502> + 2246: <-0.188469, -0.258302, -0.947502> + 2247: <-0.188469, -0.258302, -0.947502> + 2248: <-0.310531, 0.258301, -0.914795> + 2249: <-0.310531, 0.258301, -0.914795> + 2250: <-0.310531, 0.258301, -0.914795> + 2251: <-0.310531, 0.258301, -0.914795> + 2252: <-0.227535, 0.706349, -0.670298> + 2253: <-0.227535, 0.706349, -0.670298> + 2254: <-0.227535, 0.706349, -0.670298> + 2255: <-0.227535, 0.706349, -0.670298> + 2256: <-0.083361, 0.965787, -0.245574> + 2257: <-0.083361, 0.965787, -0.245574> + 2258: <-0.083361, 0.965787, -0.245574> + 2259: <-0.083361, 0.965787, -0.245574> + 2260: <-0.227535, -0.706349, -0.670298> + 2261: <-0.227535, -0.706349, -0.670298> + 2262: <-0.227535, -0.706349, -0.670298> + 2263: <-0.227535, -0.706349, -0.670298> + 2264: <-0.310531, -0.258301, -0.914795> + 2265: <-0.310531, -0.258301, -0.914795> + 2266: <-0.310531, -0.258301, -0.914795> + 2267: <-0.310531, -0.258301, -0.914795> + 2268: <-0.427279, 0.258301, -0.866437> + 2269: <-0.427279, 0.258301, -0.866437> + 2270: <-0.427279, 0.258301, -0.866437> + 2271: <-0.427279, 0.258301, -0.866437> + 2272: <-0.313080, 0.706349, -0.634864> + 2273: <-0.313080, 0.706349, -0.634864> + 2274: <-0.313080, 0.706349, -0.634864> + 2275: <-0.313080, 0.706349, -0.634864> + 2276: <-0.313080, -0.706348, -0.634864> + 2277: <-0.313080, -0.706348, -0.634864> + 2278: <-0.313080, -0.706348, -0.634864> + 2279: <-0.313080, -0.706348, -0.634864> + 2280: <-0.427279, -0.258301, -0.866437> + 2281: <-0.427279, -0.258301, -0.866437> + 2282: <-0.427279, -0.258301, -0.866437> + 2283: <-0.427279, -0.258301, -0.866437> + 2284: <-0.536716, 0.258302, -0.803253> + 2285: <-0.536716, 0.258302, -0.803253> + 2286: <-0.536716, 0.258302, -0.803253> + 2287: <-0.536716, 0.258302, -0.803253> + 2288: <-0.393268, -0.706349, -0.588567> + 2289: <-0.393268, -0.706349, -0.588567> + 2290: <-0.393268, -0.706349, -0.588567> + 2291: <-0.393268, -0.706349, -0.588567> + 2292: <-0.536716, -0.258302, -0.803253> + 2293: <-0.536716, -0.258302, -0.803253> + 2294: <-0.536716, -0.258302, -0.803253> + 2295: <-0.536716, -0.258302, -0.803253> + 2296: <-0.466727, -0.706349, -0.532201> + 2297: <-0.466727, -0.706349, -0.532201> + 2298: <-0.466727, -0.706349, -0.532201> + 2299: <-0.466727, -0.706349, -0.532201> + 2300: <-0.636970, -0.258302, -0.726326> + 2301: <-0.636970, -0.258302, -0.726326> + 2302: <-0.636970, -0.258302, -0.726326> + 2303: <-0.636970, -0.258302, -0.726326> + FaceList: Count 1152. Hash: 3035560221708475304 + 0: 0, 1, 2, + 1: 0, 2, 3, + 2: 4, 5, 6, + 3: 4, 6, 7, + 4: 8, 9, 10, + 5: 8, 10, 11, + 6: 12, 13, 14, + 7: 12, 14, 15, + 8: 16, 17, 18, + 9: 16, 18, 19, + 10: 20, 21, 22, + 11: 20, 22, 23, + 12: 24, 25, 26, + 13: 24, 26, 27, + 14: 28, 29, 30, + 15: 28, 30, 31, + 16: 32, 33, 34, + 17: 32, 34, 35, + 18: 36, 37, 38, + 19: 36, 38, 39, + 20: 40, 41, 42, + 21: 40, 42, 43, + 22: 44, 45, 46, + 23: 44, 46, 47, + 24: 48, 49, 50, + 25: 48, 50, 51, + 26: 52, 53, 54, + 27: 52, 54, 55, + 28: 56, 57, 58, + 29: 56, 58, 59, + 30: 60, 61, 62, + 31: 60, 62, 63, + 32: 64, 65, 66, + 33: 64, 66, 67, + 34: 68, 69, 70, + 35: 68, 70, 71, + 36: 72, 73, 74, + 37: 72, 74, 75, + 38: 76, 77, 78, + 39: 76, 78, 79, + 40: 80, 81, 82, + 41: 80, 82, 83, + 42: 84, 85, 86, + 43: 84, 86, 87, + 44: 88, 89, 90, + 45: 88, 90, 91, + 46: 92, 93, 94, + 47: 92, 94, 95, + 48: 96, 97, 98, + 49: 96, 98, 99, + 50: 100, 101, 102, + 51: 100, 102, 103, + 52: 104, 105, 106, + 53: 104, 106, 107, + 54: 108, 109, 110, + 55: 108, 110, 111, + 56: 112, 113, 114, + 57: 112, 114, 115, + 58: 116, 117, 118, + 59: 116, 118, 119, + 60: 120, 121, 122, + 61: 120, 122, 123, + 62: 124, 125, 126, + 63: 124, 126, 127, + 64: 128, 129, 130, + 65: 128, 130, 131, + 66: 132, 133, 134, + 67: 132, 134, 135, + 68: 136, 137, 138, + 69: 136, 138, 139, + 70: 140, 141, 142, + 71: 140, 142, 143, + 72: 144, 145, 146, + 73: 144, 146, 147, + 74: 148, 149, 150, + 75: 148, 150, 151, + 76: 152, 153, 154, + 77: 152, 154, 155, + 78: 156, 157, 158, + 79: 156, 158, 159, + 80: 160, 161, 162, + 81: 160, 162, 163, + 82: 164, 165, 166, + 83: 164, 166, 167, + 84: 168, 169, 170, + 85: 168, 170, 171, + 86: 172, 173, 174, + 87: 172, 174, 175, + 88: 176, 177, 178, + 89: 176, 178, 179, + 90: 180, 181, 182, + 91: 180, 182, 183, + 92: 184, 185, 186, + 93: 184, 186, 187, + 94: 188, 189, 190, + 95: 188, 190, 191, + 96: 192, 193, 194, + 97: 192, 194, 195, + 98: 196, 197, 198, + 99: 196, 198, 199, + 100: 200, 201, 202, + 101: 200, 202, 203, + 102: 204, 205, 206, + 103: 204, 206, 207, + 104: 208, 209, 210, + 105: 208, 210, 211, + 106: 212, 213, 214, + 107: 212, 214, 215, + 108: 216, 217, 218, + 109: 216, 218, 219, + 110: 220, 221, 222, + 111: 220, 222, 223, + 112: 224, 225, 226, + 113: 224, 226, 227, + 114: 228, 229, 230, + 115: 228, 230, 231, + 116: 232, 233, 234, + 117: 232, 234, 235, + 118: 236, 237, 238, + 119: 236, 238, 239, + 120: 240, 241, 242, + 121: 240, 242, 243, + 122: 244, 245, 246, + 123: 244, 246, 247, + 124: 248, 249, 250, + 125: 248, 250, 251, + 126: 252, 253, 254, + 127: 252, 254, 255, + 128: 256, 257, 258, + 129: 256, 258, 259, + 130: 260, 261, 262, + 131: 260, 262, 263, + 132: 264, 265, 266, + 133: 264, 266, 267, + 134: 268, 269, 270, + 135: 268, 270, 271, + 136: 272, 273, 274, + 137: 272, 274, 275, + 138: 276, 277, 278, + 139: 276, 278, 279, + 140: 280, 281, 282, + 141: 280, 282, 283, + 142: 284, 285, 286, + 143: 284, 286, 287, + 144: 288, 289, 290, + 145: 288, 290, 291, + 146: 292, 293, 294, + 147: 292, 294, 295, + 148: 296, 297, 298, + 149: 296, 298, 299, + 150: 300, 301, 302, + 151: 300, 302, 303, + 152: 304, 305, 306, + 153: 304, 306, 307, + 154: 308, 309, 310, + 155: 308, 310, 311, + 156: 312, 313, 314, + 157: 312, 314, 315, + 158: 316, 317, 318, + 159: 316, 318, 319, + 160: 320, 321, 322, + 161: 320, 322, 323, + 162: 324, 325, 326, + 163: 324, 326, 327, + 164: 328, 329, 330, + 165: 328, 330, 331, + 166: 332, 333, 334, + 167: 332, 334, 335, + 168: 336, 337, 338, + 169: 336, 338, 339, + 170: 340, 341, 342, + 171: 340, 342, 343, + 172: 344, 345, 346, + 173: 344, 346, 347, + 174: 348, 349, 350, + 175: 348, 350, 351, + 176: 352, 353, 354, + 177: 352, 354, 355, + 178: 356, 357, 358, + 179: 356, 358, 359, + 180: 360, 361, 362, + 181: 360, 362, 363, + 182: 364, 365, 366, + 183: 364, 366, 367, + 184: 368, 369, 370, + 185: 368, 370, 371, + 186: 372, 373, 374, + 187: 372, 374, 375, + 188: 376, 377, 378, + 189: 376, 378, 379, + 190: 380, 381, 382, + 191: 380, 382, 383, + 192: 384, 385, 386, + 193: 384, 386, 387, + 194: 388, 389, 390, + 195: 388, 390, 391, + 196: 392, 393, 394, + 197: 392, 394, 395, + 198: 396, 397, 398, + 199: 396, 398, 399, + 200: 400, 401, 402, + 201: 400, 402, 403, + 202: 404, 405, 406, + 203: 404, 406, 407, + 204: 408, 409, 410, + 205: 408, 410, 411, + 206: 412, 413, 414, + 207: 412, 414, 415, + 208: 416, 417, 418, + 209: 416, 418, 419, + 210: 420, 421, 422, + 211: 420, 422, 423, + 212: 424, 425, 426, + 213: 424, 426, 427, + 214: 428, 429, 430, + 215: 428, 430, 431, + 216: 432, 433, 434, + 217: 432, 434, 435, + 218: 436, 437, 438, + 219: 436, 438, 439, + 220: 440, 441, 442, + 221: 440, 442, 443, + 222: 444, 445, 446, + 223: 444, 446, 447, + 224: 448, 449, 450, + 225: 448, 450, 451, + 226: 452, 453, 454, + 227: 452, 454, 455, + 228: 456, 457, 458, + 229: 456, 458, 459, + 230: 460, 461, 462, + 231: 460, 462, 463, + 232: 464, 465, 466, + 233: 464, 466, 467, + 234: 468, 469, 470, + 235: 468, 470, 471, + 236: 472, 473, 474, + 237: 472, 474, 475, + 238: 476, 477, 478, + 239: 476, 478, 479, + 240: 480, 481, 482, + 241: 480, 482, 483, + 242: 484, 485, 486, + 243: 484, 486, 487, + 244: 488, 489, 490, + 245: 488, 490, 491, + 246: 492, 493, 494, + 247: 492, 494, 495, + 248: 496, 497, 498, + 249: 496, 498, 499, + 250: 500, 501, 502, + 251: 500, 502, 503, + 252: 504, 505, 506, + 253: 504, 506, 507, + 254: 508, 509, 510, + 255: 508, 510, 511, + 256: 512, 513, 514, + 257: 512, 514, 515, + 258: 516, 517, 518, + 259: 516, 518, 519, + 260: 520, 521, 522, + 261: 520, 522, 523, + 262: 524, 525, 526, + 263: 524, 526, 527, + 264: 528, 529, 530, + 265: 528, 530, 531, + 266: 532, 533, 534, + 267: 532, 534, 535, + 268: 536, 537, 538, + 269: 536, 538, 539, + 270: 540, 541, 542, + 271: 540, 542, 543, + 272: 544, 545, 546, + 273: 544, 546, 547, + 274: 548, 549, 550, + 275: 548, 550, 551, + 276: 552, 553, 554, + 277: 552, 554, 555, + 278: 556, 557, 558, + 279: 556, 558, 559, + 280: 560, 561, 562, + 281: 560, 562, 563, + 282: 564, 565, 566, + 283: 564, 566, 567, + 284: 568, 569, 570, + 285: 568, 570, 571, + 286: 572, 573, 574, + 287: 572, 574, 575, + 288: 576, 577, 578, + 289: 576, 578, 579, + 290: 580, 581, 582, + 291: 580, 582, 583, + 292: 584, 585, 586, + 293: 584, 586, 587, + 294: 588, 589, 590, + 295: 588, 590, 591, + 296: 592, 593, 594, + 297: 592, 594, 595, + 298: 596, 597, 598, + 299: 596, 598, 599, + 300: 600, 601, 602, + 301: 600, 602, 603, + 302: 604, 605, 606, + 303: 604, 606, 607, + 304: 608, 609, 610, + 305: 608, 610, 611, + 306: 612, 613, 614, + 307: 612, 614, 615, + 308: 616, 617, 618, + 309: 616, 618, 619, + 310: 620, 621, 622, + 311: 620, 622, 623, + 312: 624, 625, 626, + 313: 624, 626, 627, + 314: 628, 629, 630, + 315: 628, 630, 631, + 316: 632, 633, 634, + 317: 632, 634, 635, + 318: 636, 637, 638, + 319: 636, 638, 639, + 320: 640, 641, 642, + 321: 640, 642, 643, + 322: 644, 645, 646, + 323: 644, 646, 647, + 324: 648, 649, 650, + 325: 648, 650, 651, + 326: 652, 653, 654, + 327: 652, 654, 655, + 328: 656, 657, 658, + 329: 656, 658, 659, + 330: 660, 661, 662, + 331: 660, 662, 663, + 332: 664, 665, 666, + 333: 664, 666, 667, + 334: 668, 669, 670, + 335: 668, 670, 671, + 336: 672, 673, 674, + 337: 672, 674, 675, + 338: 676, 677, 678, + 339: 676, 678, 679, + 340: 680, 681, 682, + 341: 680, 682, 683, + 342: 684, 685, 686, + 343: 684, 686, 687, + 344: 688, 689, 690, + 345: 688, 690, 691, + 346: 692, 693, 694, + 347: 692, 694, 695, + 348: 696, 697, 698, + 349: 696, 698, 699, + 350: 700, 701, 702, + 351: 700, 702, 703, + 352: 704, 705, 706, + 353: 704, 706, 707, + 354: 708, 709, 710, + 355: 708, 710, 711, + 356: 712, 713, 714, + 357: 712, 714, 715, + 358: 716, 717, 718, + 359: 716, 718, 719, + 360: 720, 721, 722, + 361: 720, 722, 723, + 362: 724, 725, 726, + 363: 724, 726, 727, + 364: 728, 729, 730, + 365: 728, 730, 731, + 366: 732, 733, 734, + 367: 732, 734, 735, + 368: 736, 737, 738, + 369: 736, 738, 739, + 370: 740, 741, 742, + 371: 740, 742, 743, + 372: 744, 745, 746, + 373: 744, 746, 747, + 374: 748, 749, 750, + 375: 748, 750, 751, + 376: 752, 753, 754, + 377: 752, 754, 755, + 378: 756, 757, 758, + 379: 756, 758, 759, + 380: 760, 761, 762, + 381: 760, 762, 763, + 382: 764, 765, 766, + 383: 764, 766, 767, + 384: 768, 769, 770, + 385: 768, 770, 771, + 386: 772, 773, 774, + 387: 772, 774, 775, + 388: 776, 777, 778, + 389: 776, 778, 779, + 390: 780, 781, 782, + 391: 780, 782, 783, + 392: 784, 785, 786, + 393: 784, 786, 787, + 394: 788, 789, 790, + 395: 788, 790, 791, + 396: 792, 793, 794, + 397: 792, 794, 795, + 398: 796, 797, 798, + 399: 796, 798, 799, + 400: 800, 801, 802, + 401: 800, 802, 803, + 402: 804, 805, 806, + 403: 804, 806, 807, + 404: 808, 809, 810, + 405: 808, 810, 811, + 406: 812, 813, 814, + 407: 812, 814, 815, + 408: 816, 817, 818, + 409: 816, 818, 819, + 410: 820, 821, 822, + 411: 820, 822, 823, + 412: 824, 825, 826, + 413: 824, 826, 827, + 414: 828, 829, 830, + 415: 828, 830, 831, + 416: 832, 833, 834, + 417: 832, 834, 835, + 418: 836, 837, 838, + 419: 836, 838, 839, + 420: 840, 841, 842, + 421: 840, 842, 843, + 422: 844, 845, 846, + 423: 844, 846, 847, + 424: 848, 849, 850, + 425: 848, 850, 851, + 426: 852, 853, 854, + 427: 852, 854, 855, + 428: 856, 857, 858, + 429: 856, 858, 859, + 430: 860, 861, 862, + 431: 860, 862, 863, + 432: 864, 865, 866, + 433: 864, 866, 867, + 434: 868, 869, 870, + 435: 868, 870, 871, + 436: 872, 873, 874, + 437: 872, 874, 875, + 438: 876, 877, 878, + 439: 876, 878, 879, + 440: 880, 881, 882, + 441: 880, 882, 883, + 442: 884, 885, 886, + 443: 884, 886, 887, + 444: 888, 889, 890, + 445: 888, 890, 891, + 446: 892, 893, 894, + 447: 892, 894, 895, + 448: 896, 897, 898, + 449: 896, 898, 899, + 450: 900, 901, 902, + 451: 900, 902, 903, + 452: 904, 905, 906, + 453: 904, 906, 907, + 454: 908, 909, 910, + 455: 908, 910, 911, + 456: 912, 913, 914, + 457: 912, 914, 915, + 458: 916, 917, 918, + 459: 916, 918, 919, + 460: 920, 921, 922, + 461: 920, 922, 923, + 462: 924, 925, 926, + 463: 924, 926, 927, + 464: 928, 929, 930, + 465: 928, 930, 931, + 466: 932, 933, 934, + 467: 932, 934, 935, + 468: 936, 937, 938, + 469: 936, 938, 939, + 470: 940, 941, 942, + 471: 940, 942, 943, + 472: 944, 945, 946, + 473: 944, 946, 947, + 474: 948, 949, 950, + 475: 948, 950, 951, + 476: 952, 953, 954, + 477: 952, 954, 955, + 478: 956, 957, 958, + 479: 956, 958, 959, + 480: 960, 961, 962, + 481: 960, 962, 963, + 482: 964, 965, 966, + 483: 964, 966, 967, + 484: 968, 969, 970, + 485: 968, 970, 971, + 486: 972, 973, 974, + 487: 972, 974, 975, + 488: 976, 977, 978, + 489: 976, 978, 979, + 490: 980, 981, 982, + 491: 980, 982, 983, + 492: 984, 985, 986, + 493: 984, 986, 987, + 494: 988, 989, 990, + 495: 988, 990, 991, + 496: 992, 993, 994, + 497: 992, 994, 995, + 498: 996, 997, 998, + 499: 996, 998, 999, + 500: 1000, 1001, 1002, + 501: 1000, 1002, 1003, + 502: 1004, 1005, 1006, + 503: 1004, 1006, 1007, + 504: 1008, 1009, 1010, + 505: 1008, 1010, 1011, + 506: 1012, 1013, 1014, + 507: 1012, 1014, 1015, + 508: 1016, 1017, 1018, + 509: 1016, 1018, 1019, + 510: 1020, 1021, 1022, + 511: 1020, 1022, 1023, + 512: 1024, 1025, 1026, + 513: 1024, 1026, 1027, + 514: 1028, 1029, 1030, + 515: 1028, 1030, 1031, + 516: 1032, 1033, 1034, + 517: 1032, 1034, 1035, + 518: 1036, 1037, 1038, + 519: 1036, 1038, 1039, + 520: 1040, 1041, 1042, + 521: 1040, 1042, 1043, + 522: 1044, 1045, 1046, + 523: 1044, 1046, 1047, + 524: 1048, 1049, 1050, + 525: 1048, 1050, 1051, + 526: 1052, 1053, 1054, + 527: 1052, 1054, 1055, + 528: 1056, 1057, 1058, + 529: 1056, 1058, 1059, + 530: 1060, 1061, 1062, + 531: 1060, 1062, 1063, + 532: 1064, 1065, 1066, + 533: 1064, 1066, 1067, + 534: 1068, 1069, 1070, + 535: 1068, 1070, 1071, + 536: 1072, 1073, 1074, + 537: 1072, 1074, 1075, + 538: 1076, 1077, 1078, + 539: 1076, 1078, 1079, + 540: 1080, 1081, 1082, + 541: 1080, 1082, 1083, + 542: 1084, 1085, 1086, + 543: 1084, 1086, 1087, + 544: 1088, 1089, 1090, + 545: 1088, 1090, 1091, + 546: 1092, 1093, 1094, + 547: 1092, 1094, 1095, + 548: 1096, 1097, 1098, + 549: 1096, 1098, 1099, + 550: 1100, 1101, 1102, + 551: 1100, 1102, 1103, + 552: 1104, 1105, 1106, + 553: 1104, 1106, 1107, + 554: 1108, 1109, 1110, + 555: 1108, 1110, 1111, + 556: 1112, 1113, 1114, + 557: 1112, 1114, 1115, + 558: 1116, 1117, 1118, + 559: 1116, 1118, 1119, + 560: 1120, 1121, 1122, + 561: 1120, 1122, 1123, + 562: 1124, 1125, 1126, + 563: 1124, 1126, 1127, + 564: 1128, 1129, 1130, + 565: 1128, 1130, 1131, + 566: 1132, 1133, 1134, + 567: 1132, 1134, 1135, + 568: 1136, 1137, 1138, + 569: 1136, 1138, 1139, + 570: 1140, 1141, 1142, + 571: 1140, 1142, 1143, + 572: 1144, 1145, 1146, + 573: 1144, 1146, 1147, + 574: 1148, 1149, 1150, + 575: 1148, 1150, 1151, + 576: 1152, 1153, 1154, + 577: 1152, 1154, 1155, + 578: 1156, 1157, 1158, + 579: 1156, 1158, 1159, + 580: 1160, 1161, 1162, + 581: 1160, 1162, 1163, + 582: 1164, 1165, 1166, + 583: 1164, 1166, 1167, + 584: 1168, 1169, 1170, + 585: 1168, 1170, 1171, + 586: 1172, 1173, 1174, + 587: 1172, 1174, 1175, + 588: 1176, 1177, 1178, + 589: 1176, 1178, 1179, + 590: 1180, 1181, 1182, + 591: 1180, 1182, 1183, + 592: 1184, 1185, 1186, + 593: 1184, 1186, 1187, + 594: 1188, 1189, 1190, + 595: 1188, 1190, 1191, + 596: 1192, 1193, 1194, + 597: 1192, 1194, 1195, + 598: 1196, 1197, 1198, + 599: 1196, 1198, 1199, + 600: 1200, 1201, 1202, + 601: 1200, 1202, 1203, + 602: 1204, 1205, 1206, + 603: 1204, 1206, 1207, + 604: 1208, 1209, 1210, + 605: 1208, 1210, 1211, + 606: 1212, 1213, 1214, + 607: 1212, 1214, 1215, + 608: 1216, 1217, 1218, + 609: 1216, 1218, 1219, + 610: 1220, 1221, 1222, + 611: 1220, 1222, 1223, + 612: 1224, 1225, 1226, + 613: 1224, 1226, 1227, + 614: 1228, 1229, 1230, + 615: 1228, 1230, 1231, + 616: 1232, 1233, 1234, + 617: 1232, 1234, 1235, + 618: 1236, 1237, 1238, + 619: 1236, 1238, 1239, + 620: 1240, 1241, 1242, + 621: 1240, 1242, 1243, + 622: 1244, 1245, 1246, + 623: 1244, 1246, 1247, + 624: 1248, 1249, 1250, + 625: 1248, 1250, 1251, + 626: 1252, 1253, 1254, + 627: 1252, 1254, 1255, + 628: 1256, 1257, 1258, + 629: 1256, 1258, 1259, + 630: 1260, 1261, 1262, + 631: 1260, 1262, 1263, + 632: 1264, 1265, 1266, + 633: 1264, 1266, 1267, + 634: 1268, 1269, 1270, + 635: 1268, 1270, 1271, + 636: 1272, 1273, 1274, + 637: 1272, 1274, 1275, + 638: 1276, 1277, 1278, + 639: 1276, 1278, 1279, + 640: 1280, 1281, 1282, + 641: 1280, 1282, 1283, + 642: 1284, 1285, 1286, + 643: 1284, 1286, 1287, + 644: 1288, 1289, 1290, + 645: 1288, 1290, 1291, + 646: 1292, 1293, 1294, + 647: 1292, 1294, 1295, + 648: 1296, 1297, 1298, + 649: 1296, 1298, 1299, + 650: 1300, 1301, 1302, + 651: 1300, 1302, 1303, + 652: 1304, 1305, 1306, + 653: 1304, 1306, 1307, + 654: 1308, 1309, 1310, + 655: 1308, 1310, 1311, + 656: 1312, 1313, 1314, + 657: 1312, 1314, 1315, + 658: 1316, 1317, 1318, + 659: 1316, 1318, 1319, + 660: 1320, 1321, 1322, + 661: 1320, 1322, 1323, + 662: 1324, 1325, 1326, + 663: 1324, 1326, 1327, + 664: 1328, 1329, 1330, + 665: 1328, 1330, 1331, + 666: 1332, 1333, 1334, + 667: 1332, 1334, 1335, + 668: 1336, 1337, 1338, + 669: 1336, 1338, 1339, + 670: 1340, 1341, 1342, + 671: 1340, 1342, 1343, + 672: 1344, 1345, 1346, + 673: 1344, 1346, 1347, + 674: 1348, 1349, 1350, + 675: 1348, 1350, 1351, + 676: 1352, 1353, 1354, + 677: 1352, 1354, 1355, + 678: 1356, 1357, 1358, + 679: 1356, 1358, 1359, + 680: 1360, 1361, 1362, + 681: 1360, 1362, 1363, + 682: 1364, 1365, 1366, + 683: 1364, 1366, 1367, + 684: 1368, 1369, 1370, + 685: 1368, 1370, 1371, + 686: 1372, 1373, 1374, + 687: 1372, 1374, 1375, + 688: 1376, 1377, 1378, + 689: 1376, 1378, 1379, + 690: 1380, 1381, 1382, + 691: 1380, 1382, 1383, + 692: 1384, 1385, 1386, + 693: 1384, 1386, 1387, + 694: 1388, 1389, 1390, + 695: 1388, 1390, 1391, + 696: 1392, 1393, 1394, + 697: 1392, 1394, 1395, + 698: 1396, 1397, 1398, + 699: 1396, 1398, 1399, + 700: 1400, 1401, 1402, + 701: 1400, 1402, 1403, + 702: 1404, 1405, 1406, + 703: 1404, 1406, 1407, + 704: 1408, 1409, 1410, + 705: 1408, 1410, 1411, + 706: 1412, 1413, 1414, + 707: 1412, 1414, 1415, + 708: 1416, 1417, 1418, + 709: 1416, 1418, 1419, + 710: 1420, 1421, 1422, + 711: 1420, 1422, 1423, + 712: 1424, 1425, 1426, + 713: 1424, 1426, 1427, + 714: 1428, 1429, 1430, + 715: 1428, 1430, 1431, + 716: 1432, 1433, 1434, + 717: 1432, 1434, 1435, + 718: 1436, 1437, 1438, + 719: 1436, 1438, 1439, + 720: 1440, 1441, 1442, + 721: 1440, 1442, 1443, + 722: 1444, 1445, 1446, + 723: 1444, 1446, 1447, + 724: 1448, 1449, 1450, + 725: 1448, 1450, 1451, + 726: 1452, 1453, 1454, + 727: 1452, 1454, 1455, + 728: 1456, 1457, 1458, + 729: 1456, 1458, 1459, + 730: 1460, 1461, 1462, + 731: 1460, 1462, 1463, + 732: 1464, 1465, 1466, + 733: 1464, 1466, 1467, + 734: 1468, 1469, 1470, + 735: 1468, 1470, 1471, + 736: 1472, 1473, 1474, + 737: 1472, 1474, 1475, + 738: 1476, 1477, 1478, + 739: 1476, 1478, 1479, + 740: 1480, 1481, 1482, + 741: 1480, 1482, 1483, + 742: 1484, 1485, 1486, + 743: 1484, 1486, 1487, + 744: 1488, 1489, 1490, + 745: 1488, 1490, 1491, + 746: 1492, 1493, 1494, + 747: 1492, 1494, 1495, + 748: 1496, 1497, 1498, + 749: 1496, 1498, 1499, + 750: 1500, 1501, 1502, + 751: 1500, 1502, 1503, + 752: 1504, 1505, 1506, + 753: 1504, 1506, 1507, + 754: 1508, 1509, 1510, + 755: 1508, 1510, 1511, + 756: 1512, 1513, 1514, + 757: 1512, 1514, 1515, + 758: 1516, 1517, 1518, + 759: 1516, 1518, 1519, + 760: 1520, 1521, 1522, + 761: 1520, 1522, 1523, + 762: 1524, 1525, 1526, + 763: 1524, 1526, 1527, + 764: 1528, 1529, 1530, + 765: 1528, 1530, 1531, + 766: 1532, 1533, 1534, + 767: 1532, 1534, 1535, + 768: 1536, 1537, 1538, + 769: 1536, 1538, 1539, + 770: 1540, 1541, 1542, + 771: 1540, 1542, 1543, + 772: 1544, 1545, 1546, + 773: 1544, 1546, 1547, + 774: 1548, 1549, 1550, + 775: 1548, 1550, 1551, + 776: 1552, 1553, 1554, + 777: 1552, 1554, 1555, + 778: 1556, 1557, 1558, + 779: 1556, 1558, 1559, + 780: 1560, 1561, 1562, + 781: 1560, 1562, 1563, + 782: 1564, 1565, 1566, + 783: 1564, 1566, 1567, + 784: 1568, 1569, 1570, + 785: 1568, 1570, 1571, + 786: 1572, 1573, 1574, + 787: 1572, 1574, 1575, + 788: 1576, 1577, 1578, + 789: 1576, 1578, 1579, + 790: 1580, 1581, 1582, + 791: 1580, 1582, 1583, + 792: 1584, 1585, 1586, + 793: 1584, 1586, 1587, + 794: 1588, 1589, 1590, + 795: 1588, 1590, 1591, + 796: 1592, 1593, 1594, + 797: 1592, 1594, 1595, + 798: 1596, 1597, 1598, + 799: 1596, 1598, 1599, + 800: 1600, 1601, 1602, + 801: 1600, 1602, 1603, + 802: 1604, 1605, 1606, + 803: 1604, 1606, 1607, + 804: 1608, 1609, 1610, + 805: 1608, 1610, 1611, + 806: 1612, 1613, 1614, + 807: 1612, 1614, 1615, + 808: 1616, 1617, 1618, + 809: 1616, 1618, 1619, + 810: 1620, 1621, 1622, + 811: 1620, 1622, 1623, + 812: 1624, 1625, 1626, + 813: 1624, 1626, 1627, + 814: 1628, 1629, 1630, + 815: 1628, 1630, 1631, + 816: 1632, 1633, 1634, + 817: 1632, 1634, 1635, + 818: 1636, 1637, 1638, + 819: 1636, 1638, 1639, + 820: 1640, 1641, 1642, + 821: 1640, 1642, 1643, + 822: 1644, 1645, 1646, + 823: 1644, 1646, 1647, + 824: 1648, 1649, 1650, + 825: 1648, 1650, 1651, + 826: 1652, 1653, 1654, + 827: 1652, 1654, 1655, + 828: 1656, 1657, 1658, + 829: 1656, 1658, 1659, + 830: 1660, 1661, 1662, + 831: 1660, 1662, 1663, + 832: 1664, 1665, 1666, + 833: 1664, 1666, 1667, + 834: 1668, 1669, 1670, + 835: 1668, 1670, 1671, + 836: 1672, 1673, 1674, + 837: 1672, 1674, 1675, + 838: 1676, 1677, 1678, + 839: 1676, 1678, 1679, + 840: 1680, 1681, 1682, + 841: 1680, 1682, 1683, + 842: 1684, 1685, 1686, + 843: 1684, 1686, 1687, + 844: 1688, 1689, 1690, + 845: 1688, 1690, 1691, + 846: 1692, 1693, 1694, + 847: 1692, 1694, 1695, + 848: 1696, 1697, 1698, + 849: 1696, 1698, 1699, + 850: 1700, 1701, 1702, + 851: 1700, 1702, 1703, + 852: 1704, 1705, 1706, + 853: 1704, 1706, 1707, + 854: 1708, 1709, 1710, + 855: 1708, 1710, 1711, + 856: 1712, 1713, 1714, + 857: 1712, 1714, 1715, + 858: 1716, 1717, 1718, + 859: 1716, 1718, 1719, + 860: 1720, 1721, 1722, + 861: 1720, 1722, 1723, + 862: 1724, 1725, 1726, + 863: 1724, 1726, 1727, + 864: 1728, 1729, 1730, + 865: 1728, 1730, 1731, + 866: 1732, 1733, 1734, + 867: 1732, 1734, 1735, + 868: 1736, 1737, 1738, + 869: 1736, 1738, 1739, + 870: 1740, 1741, 1742, + 871: 1740, 1742, 1743, + 872: 1744, 1745, 1746, + 873: 1744, 1746, 1747, + 874: 1748, 1749, 1750, + 875: 1748, 1750, 1751, + 876: 1752, 1753, 1754, + 877: 1752, 1754, 1755, + 878: 1756, 1757, 1758, + 879: 1756, 1758, 1759, + 880: 1760, 1761, 1762, + 881: 1760, 1762, 1763, + 882: 1764, 1765, 1766, + 883: 1764, 1766, 1767, + 884: 1768, 1769, 1770, + 885: 1768, 1770, 1771, + 886: 1772, 1773, 1774, + 887: 1772, 1774, 1775, + 888: 1776, 1777, 1778, + 889: 1776, 1778, 1779, + 890: 1780, 1781, 1782, + 891: 1780, 1782, 1783, + 892: 1784, 1785, 1786, + 893: 1784, 1786, 1787, + 894: 1788, 1789, 1790, + 895: 1788, 1790, 1791, + 896: 1792, 1793, 1794, + 897: 1792, 1794, 1795, + 898: 1796, 1797, 1798, + 899: 1796, 1798, 1799, + 900: 1800, 1801, 1802, + 901: 1800, 1802, 1803, + 902: 1804, 1805, 1806, + 903: 1804, 1806, 1807, + 904: 1808, 1809, 1810, + 905: 1808, 1810, 1811, + 906: 1812, 1813, 1814, + 907: 1812, 1814, 1815, + 908: 1816, 1817, 1818, + 909: 1816, 1818, 1819, + 910: 1820, 1821, 1822, + 911: 1820, 1822, 1823, + 912: 1824, 1825, 1826, + 913: 1824, 1826, 1827, + 914: 1828, 1829, 1830, + 915: 1828, 1830, 1831, + 916: 1832, 1833, 1834, + 917: 1832, 1834, 1835, + 918: 1836, 1837, 1838, + 919: 1836, 1838, 1839, + 920: 1840, 1841, 1842, + 921: 1840, 1842, 1843, + 922: 1844, 1845, 1846, + 923: 1844, 1846, 1847, + 924: 1848, 1849, 1850, + 925: 1848, 1850, 1851, + 926: 1852, 1853, 1854, + 927: 1852, 1854, 1855, + 928: 1856, 1857, 1858, + 929: 1856, 1858, 1859, + 930: 1860, 1861, 1862, + 931: 1860, 1862, 1863, + 932: 1864, 1865, 1866, + 933: 1864, 1866, 1867, + 934: 1868, 1869, 1870, + 935: 1868, 1870, 1871, + 936: 1872, 1873, 1874, + 937: 1872, 1874, 1875, + 938: 1876, 1877, 1878, + 939: 1876, 1878, 1879, + 940: 1880, 1881, 1882, + 941: 1880, 1882, 1883, + 942: 1884, 1885, 1886, + 943: 1884, 1886, 1887, + 944: 1888, 1889, 1890, + 945: 1888, 1890, 1891, + 946: 1892, 1893, 1894, + 947: 1892, 1894, 1895, + 948: 1896, 1897, 1898, + 949: 1896, 1898, 1899, + 950: 1900, 1901, 1902, + 951: 1900, 1902, 1903, + 952: 1904, 1905, 1906, + 953: 1904, 1906, 1907, + 954: 1908, 1909, 1910, + 955: 1908, 1910, 1911, + 956: 1912, 1913, 1914, + 957: 1912, 1914, 1915, + 958: 1916, 1917, 1918, + 959: 1916, 1918, 1919, + 960: 1920, 1921, 1922, + 961: 1920, 1922, 1923, + 962: 1924, 1925, 1926, + 963: 1924, 1926, 1927, + 964: 1928, 1929, 1930, + 965: 1928, 1930, 1931, + 966: 1932, 1933, 1934, + 967: 1932, 1934, 1935, + 968: 1936, 1937, 1938, + 969: 1936, 1938, 1939, + 970: 1940, 1941, 1942, + 971: 1940, 1942, 1943, + 972: 1944, 1945, 1946, + 973: 1944, 1946, 1947, + 974: 1948, 1949, 1950, + 975: 1948, 1950, 1951, + 976: 1952, 1953, 1954, + 977: 1952, 1954, 1955, + 978: 1956, 1957, 1958, + 979: 1956, 1958, 1959, + 980: 1960, 1961, 1962, + 981: 1960, 1962, 1963, + 982: 1964, 1965, 1966, + 983: 1964, 1966, 1967, + 984: 1968, 1969, 1970, + 985: 1968, 1970, 1971, + 986: 1972, 1973, 1974, + 987: 1972, 1974, 1975, + 988: 1976, 1977, 1978, + 989: 1976, 1978, 1979, + 990: 1980, 1981, 1982, + 991: 1980, 1982, 1983, + 992: 1984, 1985, 1986, + 993: 1984, 1986, 1987, + 994: 1988, 1989, 1990, + 995: 1988, 1990, 1991, + 996: 1992, 1993, 1994, + 997: 1992, 1994, 1995, + 998: 1996, 1997, 1998, + 999: 1996, 1998, 1999, + 1000: 2000, 2001, 2002, + 1001: 2000, 2002, 2003, + 1002: 2004, 2005, 2006, + 1003: 2004, 2006, 2007, + 1004: 2008, 2009, 2010, + 1005: 2008, 2010, 2011, + 1006: 2012, 2013, 2014, + 1007: 2012, 2014, 2015, + 1008: 2016, 2017, 2018, + 1009: 2016, 2018, 2019, + 1010: 2020, 2021, 2022, + 1011: 2020, 2022, 2023, + 1012: 2024, 2025, 2026, + 1013: 2024, 2026, 2027, + 1014: 2028, 2029, 2030, + 1015: 2028, 2030, 2031, + 1016: 2032, 2033, 2034, + 1017: 2032, 2034, 2035, + 1018: 2036, 2037, 2038, + 1019: 2036, 2038, 2039, + 1020: 2040, 2041, 2042, + 1021: 2040, 2042, 2043, + 1022: 2044, 2045, 2046, + 1023: 2044, 2046, 2047, + 1024: 2048, 2049, 2050, + 1025: 2048, 2050, 2051, + 1026: 2052, 2053, 2054, + 1027: 2052, 2054, 2055, + 1028: 2056, 2057, 2058, + 1029: 2056, 2058, 2059, + 1030: 2060, 2061, 2062, + 1031: 2060, 2062, 2063, + 1032: 2064, 2065, 2066, + 1033: 2064, 2066, 2067, + 1034: 2068, 2069, 2070, + 1035: 2068, 2070, 2071, + 1036: 2072, 2073, 2074, + 1037: 2072, 2074, 2075, + 1038: 2076, 2077, 2078, + 1039: 2076, 2078, 2079, + 1040: 2080, 2081, 2082, + 1041: 2080, 2082, 2083, + 1042: 2084, 2085, 2086, + 1043: 2084, 2086, 2087, + 1044: 2088, 2089, 2090, + 1045: 2088, 2090, 2091, + 1046: 2092, 2093, 2094, + 1047: 2092, 2094, 2095, + 1048: 2096, 2097, 2098, + 1049: 2096, 2098, 2099, + 1050: 2100, 2101, 2102, + 1051: 2100, 2102, 2103, + 1052: 2104, 2105, 2106, + 1053: 2104, 2106, 2107, + 1054: 2108, 2109, 2110, + 1055: 2108, 2110, 2111, + 1056: 2112, 2113, 2114, + 1057: 2112, 2114, 2115, + 1058: 2116, 2117, 2118, + 1059: 2116, 2118, 2119, + 1060: 2120, 2121, 2122, + 1061: 2120, 2122, 2123, + 1062: 2124, 2125, 2126, + 1063: 2124, 2126, 2127, + 1064: 2128, 2129, 2130, + 1065: 2128, 2130, 2131, + 1066: 2132, 2133, 2134, + 1067: 2132, 2134, 2135, + 1068: 2136, 2137, 2138, + 1069: 2136, 2138, 2139, + 1070: 2140, 2141, 2142, + 1071: 2140, 2142, 2143, + 1072: 2144, 2145, 2146, + 1073: 2144, 2146, 2147, + 1074: 2148, 2149, 2150, + 1075: 2148, 2150, 2151, + 1076: 2152, 2153, 2154, + 1077: 2152, 2154, 2155, + 1078: 2156, 2157, 2158, + 1079: 2156, 2158, 2159, + 1080: 2160, 2161, 2162, + 1081: 2160, 2162, 2163, + 1082: 2164, 2165, 2166, + 1083: 2164, 2166, 2167, + 1084: 2168, 2169, 2170, + 1085: 2168, 2170, 2171, + 1086: 2172, 2173, 2174, + 1087: 2172, 2174, 2175, + 1088: 2176, 2177, 2178, + 1089: 2176, 2178, 2179, + 1090: 2180, 2181, 2182, + 1091: 2180, 2182, 2183, + 1092: 2184, 2185, 2186, + 1093: 2184, 2186, 2187, + 1094: 2188, 2189, 2190, + 1095: 2188, 2190, 2191, + 1096: 2192, 2193, 2194, + 1097: 2192, 2194, 2195, + 1098: 2196, 2197, 2198, + 1099: 2196, 2198, 2199, + 1100: 2200, 2201, 2202, + 1101: 2200, 2202, 2203, + 1102: 2204, 2205, 2206, + 1103: 2204, 2206, 2207, + 1104: 2208, 2209, 2210, + 1105: 2208, 2210, 2211, + 1106: 2212, 2213, 2214, + 1107: 2212, 2214, 2215, + 1108: 2216, 2217, 2218, + 1109: 2216, 2218, 2219, + 1110: 2220, 2221, 2222, + 1111: 2220, 2222, 2223, + 1112: 2224, 2225, 2226, + 1113: 2224, 2226, 2227, + 1114: 2228, 2229, 2230, + 1115: 2228, 2230, 2231, + 1116: 2232, 2233, 2234, + 1117: 2232, 2234, 2235, + 1118: 2236, 2237, 2238, + 1119: 2236, 2238, 2239, + 1120: 2240, 2241, 2242, + 1121: 2240, 2242, 2243, + 1122: 2244, 2245, 2246, + 1123: 2244, 2246, 2247, + 1124: 2248, 2249, 2250, + 1125: 2248, 2250, 2251, + 1126: 2252, 2253, 2254, + 1127: 2252, 2254, 2255, + 1128: 2256, 2257, 2258, + 1129: 2256, 2258, 2259, + 1130: 2260, 2261, 2262, + 1131: 2260, 2262, 2263, + 1132: 2264, 2265, 2266, + 1133: 2264, 2266, 2267, + 1134: 2268, 2269, 2270, + 1135: 2268, 2270, 2271, + 1136: 2272, 2273, 2274, + 1137: 2272, 2274, 2275, + 1138: 2276, 2277, 2278, + 1139: 2276, 2278, 2279, + 1140: 2280, 2281, 2282, + 1141: 2280, 2282, 2283, + 1142: 2284, 2285, 2286, + 1143: 2284, 2286, 2287, + 1144: 2288, 2289, 2290, + 1145: 2288, 2290, 2291, + 1146: 2292, 2293, 2294, + 1147: 2292, 2294, 2295, + 1148: 2296, 2297, 2298, + 1149: 2296, 2298, 2299, + 1150: 2300, 2301, 2302, + 1151: 2300, 2302, 2303, + FaceMaterialIds: Count 1152. Hash: 2033667258170256242 + +Node Name: transform +Node Path: RootNode.Torus.transform Node Type: TransformData Matrix: BasisX: < 100.000000, 0.000000, 0.000000> @@ -16,52 +11546,230 @@ Node Type: TransformData BasisZ: < 0.000000, -100.000000, -0.000016> Transl: < 0.000000, 0.000000, 0.000000> -Node Path: RootNode.Suzanne.UVMap +Node Name: UV0 +Node Path: RootNode.Torus.UV0 Node Type: MeshVertexUVData - UVs: Count 1968. Hash: 4040959288360698272 - UVCustomName: UVMap + UVs: Count 2304. Hash: 6069930558565069665 + UVCustomName: UV0 -Node Path: RootNode.Suzanne.FirstTextureMaterial -Node Type: MaterialData - MaterialName: FirstTextureMaterial - UniqueId: 40 - IsNoDraw: false - DiffuseColor: < 0.800000, 0.800000, 0.800000> - SpecularColor: < 0.200000, 0.200000, 0.200000> - EmissiveColor: < 0.000000, 0.000000, 0.000000> - Opacity: 1.000000 - Shininess: 25.000000 - -Node Path: RootNode.Suzanne.SecondTextureMaterial -Node Type: MaterialData - MaterialName: SecondTextureMaterial - UniqueId: 41 - IsNoDraw: false - DiffuseColor: < 0.800000, 0.800000, 0.800000> - SpecularColor: < 0.200000, 0.200000, 0.200000> - EmissiveColor: < 0.000000, 0.000000, 0.000000> - Opacity: 1.000000 - Shininess: 25.000000 - -Node Path: RootNode.Suzanne.OrangeMaterial +Node Name: OrangeMaterial +Node Path: RootNode.Torus.OrangeMaterial Node Type: MaterialData MaterialName: OrangeMaterial - UniqueId: 42 + UniqueId: 10937477720113828524 IsNoDraw: false DiffuseColor: < 0.800000, 0.113346, 0.000000> - SpecularColor: < 0.200000, 0.028336, 0.000000> + SpecularColor: < 0.800000, 0.113346, 0.000000> EmissiveColor: < 0.000000, 0.000000, 0.000000> Opacity: 1.000000 Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: -Node Path: RootNode.Suzanne.TangentSet_MikkT_0 +Node Name: SecondTextureMaterial +Node Path: RootNode.Torus.SecondTextureMaterial +Node Type: MaterialData + MaterialName: SecondTextureMaterial + UniqueId: 16601413836225607467 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.800000, 0.800000> + SpecularColor: < 0.800000, 0.800000, 0.800000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: FBXSecondTestTexture.png + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: FBXSecondTestTexture.png + +Node Name: FirstTextureMaterial +Node Path: RootNode.Torus.FirstTextureMaterial +Node Type: MaterialData + MaterialName: FirstTextureMaterial + UniqueId: 2580020563915538382 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.800000, 0.800000> + SpecularColor: < 0.800000, 0.800000, 0.800000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: FBXTestTexture.png + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: FBXTestTexture.png + +Node Name: TangentSet_MikkT_0 +Node Path: RootNode.Torus.TangentSet_MikkT_0 Node Type: MeshVertexTangentData - Tangents: Count 1968. Hash: 17894327294721432452 + Tangents: Count 2304. Hash: 17641066831235827929 TangentSpace: 1 SetIndex: 0 -Node Path: RootNode.Suzanne.BitangentSet_MikkT_0 +Node Name: BitangentSet_MikkT_0 +Node Path: RootNode.Torus.BitangentSet_MikkT_0 Node Type: MeshVertexBitangentData - Bitangents: Count 1968. Hash: 8975256745659816606 + Bitangents: Count 2304. Hash: 6274616552656695154 TangentSpace: 1 +Node Name: UV0 +Node Path: RootNode.Torus_optimized.UV0 +Node Type: MeshVertexUVData + UVs: Count 2304. Hash: 6069930558565069665 + UVCustomName: UV0 + +Node Name: TangentSet_MikkT_0 +Node Path: RootNode.Torus_optimized.TangentSet_MikkT_0 +Node Type: MeshVertexTangentData + Tangents: Count 2304. Hash: 17641066831235827929 + TangentSpace: 1 + SetIndex: 0 + +Node Name: BitangentSet_MikkT_0 +Node Path: RootNode.Torus_optimized.BitangentSet_MikkT_0 +Node Type: MeshVertexBitangentData + Bitangents: Count 2304. Hash: 6274616552656695154 + TangentSpace: 1 + +Node Name: transform +Node Path: RootNode.Torus_optimized.transform +Node Type: TransformData + Matrix: + BasisX: < 100.000000, 0.000000, 0.000000> + BasisY: < 0.000000, -0.000016, 100.000000> + BasisZ: < 0.000000, -100.000000, -0.000016> + Transl: < 0.000000, 0.000000, 0.000000> + +Node Name: OrangeMaterial +Node Path: RootNode.Torus_optimized.OrangeMaterial +Node Type: MaterialData + MaterialName: OrangeMaterial + UniqueId: 10937477720113828524 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.113346, 0.000000> + SpecularColor: < 0.800000, 0.113346, 0.000000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + +Node Name: SecondTextureMaterial +Node Path: RootNode.Torus_optimized.SecondTextureMaterial +Node Type: MaterialData + MaterialName: SecondTextureMaterial + UniqueId: 16601413836225607467 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.800000, 0.800000> + SpecularColor: < 0.800000, 0.800000, 0.800000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: FBXSecondTestTexture.png + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: FBXSecondTestTexture.png + +Node Name: FirstTextureMaterial +Node Path: RootNode.Torus_optimized.FirstTextureMaterial +Node Type: MaterialData + MaterialName: FirstTextureMaterial + UniqueId: 2580020563915538382 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.800000, 0.800000> + SpecularColor: < 0.800000, 0.800000, 0.800000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: FBXTestTexture.png + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: FBXTestTexture.png + diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/OneMeshMultipleMaterials/single_mesh_multiple_materials.fbx b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/OneMeshMultipleMaterials/single_mesh_multiple_materials.fbx index 072243bf51..49e7ace210 100644 --- a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/OneMeshMultipleMaterials/single_mesh_multiple_materials.fbx +++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/OneMeshMultipleMaterials/single_mesh_multiple_materials.fbx @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:92fae957e7559bc486cf11d454dda4e066c1d25f03f7ff43d76f0869c54fec4e -size 41820 +oid sha256:68193ec6abac0cb04fd9842d540814d31655b8ffd1c5a9ff1086fe800c0c8c72 +size 40812 diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/TwoMeshLinkedMaterials/multiple_mesh_linked_materials.dbgsg b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/TwoMeshLinkedMaterials/multiple_mesh_linked_materials.dbgsg index 4440c990c2..148776a1d4 100644 --- a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/TwoMeshLinkedMaterials/multiple_mesh_linked_materials.dbgsg +++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/TwoMeshLinkedMaterials/multiple_mesh_linked_materials.dbgsg @@ -1,66 +1,795 @@ ProductName: multiple_mesh_linked_materials.dbgsg debugSceneGraphVersion: 1 multiple_mesh_linked_materials -Node Path: RootNode.Suzanne -Node Type: MeshData - Positions: Count 1968. Hash: 3015384011524461480 - Normals: Count 1968. Hash: 14837001273673585886 - FaceList: Count 968. Hash: 11474783464320275329 - FaceMaterialIds: Count 968. Hash: 14589562863780107267 - +Node Name: Cube Node Path: RootNode.Cube Node Type: MeshData Positions: Count 24. Hash: 8661923109306356285 + 0: <-0.010000, 0.010000, 0.010000> + 1: < 0.010000, 0.010000, 0.010000> + 2: < 0.010000, 0.010000, -0.010000> + 3: <-0.010000, 0.010000, -0.010000> + 4: <-0.010000, -0.010000, -0.010000> + 5: <-0.010000, 0.010000, -0.010000> + 6: < 0.010000, 0.010000, -0.010000> + 7: < 0.010000, -0.010000, -0.010000> + 8: < 0.010000, -0.010000, -0.010000> + 9: < 0.010000, 0.010000, -0.010000> + 10: < 0.010000, 0.010000, 0.010000> + 11: < 0.010000, -0.010000, 0.010000> + 12: < 0.010000, -0.010000, 0.010000> + 13: <-0.010000, -0.010000, 0.010000> + 14: <-0.010000, -0.010000, -0.010000> + 15: < 0.010000, -0.010000, -0.010000> + 16: <-0.010000, -0.010000, 0.010000> + 17: <-0.010000, 0.010000, 0.010000> + 18: <-0.010000, 0.010000, -0.010000> + 19: <-0.010000, -0.010000, -0.010000> + 20: < 0.010000, -0.010000, 0.010000> + 21: < 0.010000, 0.010000, 0.010000> + 22: <-0.010000, 0.010000, 0.010000> + 23: <-0.010000, -0.010000, 0.010000> Normals: Count 24. Hash: 5807525742165000561 - FaceList: Count 12. Hash: 17730128541777770264 - FaceMaterialIds: Count 12. Hash: 6933016607183300650 + 0: < 0.000000, 1.000000, 0.000000> + 1: < 0.000000, 1.000000, 0.000000> + 2: < 0.000000, 1.000000, 0.000000> + 3: < 0.000000, 1.000000, 0.000000> + 4: < 0.000000, 0.000000, -1.000000> + 5: < 0.000000, 0.000000, -1.000000> + 6: < 0.000000, 0.000000, -1.000000> + 7: < 0.000000, 0.000000, -1.000000> + 8: < 1.000000, 0.000000, 0.000000> + 9: < 1.000000, 0.000000, 0.000000> + 10: < 1.000000, 0.000000, 0.000000> + 11: < 1.000000, 0.000000, 0.000000> + 12: < 0.000000, -1.000000, 0.000000> + 13: < 0.000000, -1.000000, 0.000000> + 14: < 0.000000, -1.000000, 0.000000> + 15: < 0.000000, -1.000000, 0.000000> + 16: <-1.000000, 0.000000, 0.000000> + 17: <-1.000000, 0.000000, 0.000000> + 18: <-1.000000, 0.000000, 0.000000> + 19: <-1.000000, 0.000000, 0.000000> + 20: < 0.000000, 0.000000, 1.000000> + 21: < 0.000000, 0.000000, 1.000000> + 22: < 0.000000, 0.000000, 1.000000> + 23: < 0.000000, 0.000000, 1.000000> + FaceList: Count 12. Hash: 9888799799190757436 + 0: 0, 1, 2, + 1: 0, 2, 3, + 2: 4, 5, 6, + 3: 4, 6, 7, + 4: 8, 9, 10, + 5: 8, 10, 11, + 6: 12, 13, 14, + 7: 12, 14, 15, + 8: 16, 17, 18, + 9: 16, 18, 19, + 10: 20, 21, 22, + 11: 20, 22, 23, + FaceMaterialIds: Count 12. Hash: 7113802799051126666 -Node Path: RootNode.Suzanne.transform -Node Type: TransformData - Matrix: - BasisX: < 100.000000, 0.000000, 0.000000> - BasisY: < 0.000000, -0.000016, 100.000000> - BasisZ: < 0.000000, -100.000000, -0.000016> - Transl: < 0.000000, 0.000000, 0.000000> +Node Name: Cone +Node Path: RootNode.Cone +Node Type: MeshData + Positions: Count 128. Hash: 12506421592104186200 + 0: < 0.000000, -0.010000, 0.010000> + 1: < 0.000000, 0.010000, 0.000000> + 2: <-0.001951, -0.010000, 0.009808> + 3: <-0.001951, -0.010000, 0.009808> + 4: < 0.000000, 0.010000, 0.000000> + 5: <-0.003827, -0.010000, 0.009239> + 6: <-0.003827, -0.010000, 0.009239> + 7: < 0.000000, 0.010000, 0.000000> + 8: <-0.005556, -0.010000, 0.008315> + 9: <-0.005556, -0.010000, 0.008315> + 10: < 0.000000, 0.010000, 0.000000> + 11: <-0.007071, -0.010000, 0.007071> + 12: <-0.007071, -0.010000, 0.007071> + 13: < 0.000000, 0.010000, 0.000000> + 14: <-0.008315, -0.010000, 0.005556> + 15: <-0.008315, -0.010000, 0.005556> + 16: < 0.000000, 0.010000, 0.000000> + 17: <-0.009239, -0.010000, 0.003827> + 18: <-0.009239, -0.010000, 0.003827> + 19: < 0.000000, 0.010000, 0.000000> + 20: <-0.009808, -0.010000, 0.001951> + 21: < 0.009808, -0.010000, 0.001951> + 22: < 0.000000, 0.010000, 0.000000> + 23: < 0.009239, -0.010000, 0.003827> + 24: < 0.009239, -0.010000, 0.003827> + 25: < 0.000000, 0.010000, 0.000000> + 26: < 0.008315, -0.010000, 0.005556> + 27: < 0.008315, -0.010000, 0.005556> + 28: < 0.000000, 0.010000, 0.000000> + 29: < 0.007071, -0.010000, 0.007071> + 30: < 0.007071, -0.010000, 0.007071> + 31: < 0.000000, 0.010000, 0.000000> + 32: < 0.005556, -0.010000, 0.008315> + 33: < 0.005556, -0.010000, 0.008315> + 34: < 0.000000, 0.010000, 0.000000> + 35: < 0.003827, -0.010000, 0.009239> + 36: < 0.000000, -0.010000, 0.010000> + 37: <-0.001951, -0.010000, 0.009808> + 38: <-0.003827, -0.010000, 0.009239> + 39: <-0.005556, -0.010000, 0.008315> + 40: <-0.007071, -0.010000, 0.007071> + 41: <-0.008315, -0.010000, 0.005556> + 42: <-0.009239, -0.010000, 0.003827> + 43: <-0.009808, -0.010000, 0.001951> + 44: <-0.010000, -0.010000, 0.000000> + 45: <-0.009808, -0.010000, -0.001951> + 46: <-0.009239, -0.010000, -0.003827> + 47: <-0.008315, -0.010000, -0.005556> + 48: <-0.007071, -0.010000, -0.007071> + 49: <-0.005556, -0.010000, -0.008315> + 50: <-0.003827, -0.010000, -0.009239> + 51: <-0.001951, -0.010000, -0.009808> + 52: < 0.000000, -0.010000, -0.010000> + 53: < 0.001951, -0.010000, -0.009808> + 54: < 0.003827, -0.010000, -0.009239> + 55: < 0.005556, -0.010000, -0.008315> + 56: < 0.007071, -0.010000, -0.007071> + 57: < 0.008315, -0.010000, -0.005556> + 58: < 0.009239, -0.010000, -0.003827> + 59: < 0.009808, -0.010000, -0.001951> + 60: < 0.010000, -0.010000, 0.000000> + 61: < 0.009808, -0.010000, 0.001951> + 62: < 0.009239, -0.010000, 0.003827> + 63: < 0.008315, -0.010000, 0.005556> + 64: < 0.007071, -0.010000, 0.007071> + 65: < 0.005556, -0.010000, 0.008315> + 66: < 0.003827, -0.010000, 0.009239> + 67: < 0.001951, -0.010000, 0.009808> + 68: < 0.003827, -0.010000, 0.009239> + 69: < 0.000000, 0.010000, 0.000000> + 70: < 0.001951, -0.010000, 0.009808> + 71: < 0.001951, -0.010000, 0.009808> + 72: < 0.000000, 0.010000, 0.000000> + 73: < 0.000000, -0.010000, 0.010000> + 74: <-0.009808, -0.010000, 0.001951> + 75: < 0.000000, 0.010000, 0.000000> + 76: <-0.010000, -0.010000, 0.000000> + 77: <-0.010000, -0.010000, 0.000000> + 78: < 0.000000, 0.010000, 0.000000> + 79: <-0.009808, -0.010000, -0.001951> + 80: <-0.009808, -0.010000, -0.001951> + 81: < 0.000000, 0.010000, 0.000000> + 82: <-0.009239, -0.010000, -0.003827> + 83: <-0.009239, -0.010000, -0.003827> + 84: < 0.000000, 0.010000, 0.000000> + 85: <-0.008315, -0.010000, -0.005556> + 86: <-0.008315, -0.010000, -0.005556> + 87: < 0.000000, 0.010000, 0.000000> + 88: <-0.007071, -0.010000, -0.007071> + 89: <-0.007071, -0.010000, -0.007071> + 90: < 0.000000, 0.010000, 0.000000> + 91: <-0.005556, -0.010000, -0.008315> + 92: <-0.005556, -0.010000, -0.008315> + 93: < 0.000000, 0.010000, 0.000000> + 94: <-0.003827, -0.010000, -0.009239> + 95: <-0.003827, -0.010000, -0.009239> + 96: < 0.000000, 0.010000, 0.000000> + 97: <-0.001951, -0.010000, -0.009808> + 98: <-0.001951, -0.010000, -0.009808> + 99: < 0.000000, 0.010000, 0.000000> + 100: < 0.000000, -0.010000, -0.010000> + 101: < 0.000000, -0.010000, -0.010000> + 102: < 0.000000, 0.010000, 0.000000> + 103: < 0.001951, -0.010000, -0.009808> + 104: < 0.001951, -0.010000, -0.009808> + 105: < 0.000000, 0.010000, 0.000000> + 106: < 0.003827, -0.010000, -0.009239> + 107: < 0.003827, -0.010000, -0.009239> + 108: < 0.000000, 0.010000, 0.000000> + 109: < 0.005556, -0.010000, -0.008315> + 110: < 0.005556, -0.010000, -0.008315> + 111: < 0.000000, 0.010000, 0.000000> + 112: < 0.007071, -0.010000, -0.007071> + 113: < 0.007071, -0.010000, -0.007071> + 114: < 0.000000, 0.010000, 0.000000> + 115: < 0.008315, -0.010000, -0.005556> + 116: < 0.008315, -0.010000, -0.005556> + 117: < 0.000000, 0.010000, 0.000000> + 118: < 0.009239, -0.010000, -0.003827> + 119: < 0.009239, -0.010000, -0.003827> + 120: < 0.000000, 0.010000, 0.000000> + 121: < 0.009808, -0.010000, -0.001951> + 122: < 0.009808, -0.010000, -0.001951> + 123: < 0.000000, 0.010000, 0.000000> + 124: < 0.010000, -0.010000, 0.000000> + 125: < 0.010000, -0.010000, 0.000000> + 126: < 0.000000, 0.010000, 0.000000> + 127: < 0.009808, -0.010000, 0.001951> + Normals: Count 128. Hash: 367461522682321485 + 0: <-0.087754, 0.445488, 0.890977> + 1: <-0.087754, 0.445488, 0.890977> + 2: <-0.087754, 0.445488, 0.890977> + 3: <-0.259888, 0.445488, 0.856737> + 4: <-0.259888, 0.445488, 0.856737> + 5: <-0.259888, 0.445488, 0.856737> + 6: <-0.422036, 0.445488, 0.789573> + 7: <-0.422036, 0.445488, 0.789573> + 8: <-0.422036, 0.445488, 0.789573> + 9: <-0.567965, 0.445488, 0.692067> + 10: <-0.567965, 0.445488, 0.692067> + 11: <-0.567965, 0.445488, 0.692067> + 12: <-0.692067, 0.445488, 0.567965> + 13: <-0.692067, 0.445488, 0.567965> + 14: <-0.692067, 0.445488, 0.567965> + 15: <-0.789573, 0.445488, 0.422036> + 16: <-0.789573, 0.445488, 0.422036> + 17: <-0.789573, 0.445488, 0.422036> + 18: <-0.856737, 0.445488, 0.259888> + 19: <-0.856737, 0.445488, 0.259888> + 20: <-0.856737, 0.445488, 0.259888> + 21: < 0.856737, 0.445488, 0.259889> + 22: < 0.856737, 0.445488, 0.259889> + 23: < 0.856737, 0.445488, 0.259889> + 24: < 0.789573, 0.445488, 0.422037> + 25: < 0.789573, 0.445488, 0.422037> + 26: < 0.789573, 0.445488, 0.422037> + 27: < 0.692066, 0.445488, 0.567966> + 28: < 0.692066, 0.445488, 0.567966> + 29: < 0.692066, 0.445488, 0.567966> + 30: < 0.567964, 0.445488, 0.692067> + 31: < 0.567964, 0.445488, 0.692067> + 32: < 0.567964, 0.445488, 0.692067> + 33: < 0.422035, 0.445488, 0.789574> + 34: < 0.422035, 0.445488, 0.789574> + 35: < 0.422035, 0.445488, 0.789574> + 36: <-0.000000, -1.000000, 0.000000> + 37: <-0.000000, -1.000000, 0.000000> + 38: <-0.000000, -1.000000, 0.000000> + 39: <-0.000000, -1.000000, 0.000000> + 40: <-0.000000, -1.000000, 0.000000> + 41: <-0.000000, -1.000000, 0.000000> + 42: <-0.000000, -1.000000, 0.000000> + 43: <-0.000000, -1.000000, 0.000000> + 44: <-0.000000, -1.000000, 0.000000> + 45: <-0.000000, -1.000000, 0.000000> + 46: <-0.000000, -1.000000, 0.000000> + 47: <-0.000000, -1.000000, 0.000000> + 48: <-0.000000, -1.000000, 0.000000> + 49: <-0.000000, -1.000000, 0.000000> + 50: <-0.000000, -1.000000, 0.000000> + 51: <-0.000000, -1.000000, 0.000000> + 52: <-0.000000, -1.000000, 0.000000> + 53: <-0.000000, -1.000000, 0.000000> + 54: <-0.000000, -1.000000, 0.000000> + 55: <-0.000000, -1.000000, 0.000000> + 56: <-0.000000, -1.000000, 0.000000> + 57: <-0.000000, -1.000000, 0.000000> + 58: <-0.000000, -1.000000, 0.000000> + 59: <-0.000000, -1.000000, 0.000000> + 60: <-0.000000, -1.000000, 0.000000> + 61: <-0.000000, -1.000000, 0.000000> + 62: <-0.000000, -1.000000, 0.000000> + 63: <-0.000000, -1.000000, 0.000000> + 64: <-0.000000, -1.000000, 0.000000> + 65: <-0.000000, -1.000000, 0.000000> + 66: <-0.000000, -1.000000, 0.000000> + 67: <-0.000000, -1.000000, 0.000000> + 68: < 0.259887, 0.445488, 0.856737> + 69: < 0.259887, 0.445488, 0.856737> + 70: < 0.259887, 0.445488, 0.856737> + 71: < 0.087753, 0.445488, 0.890977> + 72: < 0.087753, 0.445488, 0.890977> + 73: < 0.087753, 0.445488, 0.890977> + 74: <-0.890977, 0.445488, 0.087754> + 75: <-0.890977, 0.445488, 0.087754> + 76: <-0.890977, 0.445488, 0.087754> + 77: <-0.890977, 0.445488, -0.087753> + 78: <-0.890977, 0.445488, -0.087753> + 79: <-0.890977, 0.445488, -0.087753> + 80: <-0.856737, 0.445488, -0.259888> + 81: <-0.856737, 0.445488, -0.259888> + 82: <-0.856737, 0.445488, -0.259888> + 83: <-0.789573, 0.445488, -0.422035> + 84: <-0.789573, 0.445488, -0.422035> + 85: <-0.789573, 0.445488, -0.422035> + 86: <-0.692067, 0.445488, -0.567965> + 87: <-0.692067, 0.445488, -0.567965> + 88: <-0.692067, 0.445488, -0.567965> + 89: <-0.567965, 0.445488, -0.692067> + 90: <-0.567965, 0.445488, -0.692067> + 91: <-0.567965, 0.445488, -0.692067> + 92: <-0.422036, 0.445488, -0.789573> + 93: <-0.422036, 0.445488, -0.789573> + 94: <-0.422036, 0.445488, -0.789573> + 95: <-0.259888, 0.445488, -0.856737> + 96: <-0.259888, 0.445488, -0.856737> + 97: <-0.259888, 0.445488, -0.856737> + 98: <-0.087753, 0.445488, -0.890977> + 99: <-0.087753, 0.445488, -0.890977> + 100: <-0.087753, 0.445488, -0.890977> + 101: < 0.087754, 0.445488, -0.890977> + 102: < 0.087754, 0.445488, -0.890977> + 103: < 0.087754, 0.445488, -0.890977> + 104: < 0.259889, 0.445488, -0.856737> + 105: < 0.259889, 0.445488, -0.856737> + 106: < 0.259889, 0.445488, -0.856737> + 107: < 0.422036, 0.445488, -0.789573> + 108: < 0.422036, 0.445488, -0.789573> + 109: < 0.422036, 0.445488, -0.789573> + 110: < 0.567965, 0.445488, -0.692066> + 111: < 0.567965, 0.445488, -0.692066> + 112: < 0.567965, 0.445488, -0.692066> + 113: < 0.692067, 0.445488, -0.567964> + 114: < 0.692067, 0.445488, -0.567964> + 115: < 0.692067, 0.445488, -0.567964> + 116: < 0.789574, 0.445488, -0.422035> + 117: < 0.789574, 0.445488, -0.422035> + 118: < 0.789574, 0.445488, -0.422035> + 119: < 0.856737, 0.445488, -0.259887> + 120: < 0.856737, 0.445488, -0.259887> + 121: < 0.856737, 0.445488, -0.259887> + 122: < 0.890977, 0.445488, -0.087753> + 123: < 0.890977, 0.445488, -0.087753> + 124: < 0.890977, 0.445488, -0.087753> + 125: < 0.890977, 0.445488, 0.087754> + 126: < 0.890977, 0.445488, 0.087754> + 127: < 0.890977, 0.445488, 0.087754> + FaceList: Count 62. Hash: 13208951979626973193 + 0: 0, 1, 2, + 1: 3, 4, 5, + 2: 6, 7, 8, + 3: 9, 10, 11, + 4: 12, 13, 14, + 5: 15, 16, 17, + 6: 18, 19, 20, + 7: 21, 22, 23, + 8: 24, 25, 26, + 9: 27, 28, 29, + 10: 30, 31, 32, + 11: 33, 34, 35, + 12: 67, 36, 37, + 13: 67, 37, 38, + 14: 67, 38, 39, + 15: 67, 39, 40, + 16: 67, 40, 41, + 17: 67, 41, 42, + 18: 67, 42, 43, + 19: 67, 43, 44, + 20: 67, 44, 45, + 21: 67, 45, 46, + 22: 67, 46, 47, + 23: 67, 47, 48, + 24: 67, 48, 49, + 25: 67, 49, 50, + 26: 67, 50, 51, + 27: 67, 51, 52, + 28: 67, 52, 53, + 29: 67, 53, 54, + 30: 67, 54, 55, + 31: 67, 55, 56, + 32: 67, 56, 57, + 33: 67, 57, 58, + 34: 67, 58, 59, + 35: 67, 59, 60, + 36: 67, 60, 61, + 37: 67, 61, 62, + 38: 67, 62, 63, + 39: 67, 63, 64, + 40: 67, 64, 65, + 41: 65, 66, 67, + 42: 68, 69, 70, + 43: 71, 72, 73, + 44: 74, 75, 76, + 45: 77, 78, 79, + 46: 80, 81, 82, + 47: 83, 84, 85, + 48: 86, 87, 88, + 49: 89, 90, 91, + 50: 92, 93, 94, + 51: 95, 96, 97, + 52: 98, 99, 100, + 53: 101, 102, 103, + 54: 104, 105, 106, + 55: 107, 108, 109, + 56: 110, 111, 112, + 57: 113, 114, 115, + 58: 116, 117, 118, + 59: 119, 120, 121, + 60: 122, 123, 124, + 61: 125, 126, 127, + FaceMaterialIds: Count 62. Hash: 15454348664434923102 -Node Path: RootNode.Suzanne.UVMap -Node Type: MeshVertexUVData - UVs: Count 1968. Hash: 4040959288360698272 - UVCustomName: UVMap +Node Name: Cube_optimized +Node Path: RootNode.Cube_optimized +Node Type: MeshData + Positions: Count 24. Hash: 8661923109306356285 + 0: <-0.010000, 0.010000, 0.010000> + 1: < 0.010000, 0.010000, 0.010000> + 2: < 0.010000, 0.010000, -0.010000> + 3: <-0.010000, 0.010000, -0.010000> + 4: <-0.010000, -0.010000, -0.010000> + 5: <-0.010000, 0.010000, -0.010000> + 6: < 0.010000, 0.010000, -0.010000> + 7: < 0.010000, -0.010000, -0.010000> + 8: < 0.010000, -0.010000, -0.010000> + 9: < 0.010000, 0.010000, -0.010000> + 10: < 0.010000, 0.010000, 0.010000> + 11: < 0.010000, -0.010000, 0.010000> + 12: < 0.010000, -0.010000, 0.010000> + 13: <-0.010000, -0.010000, 0.010000> + 14: <-0.010000, -0.010000, -0.010000> + 15: < 0.010000, -0.010000, -0.010000> + 16: <-0.010000, -0.010000, 0.010000> + 17: <-0.010000, 0.010000, 0.010000> + 18: <-0.010000, 0.010000, -0.010000> + 19: <-0.010000, -0.010000, -0.010000> + 20: < 0.010000, -0.010000, 0.010000> + 21: < 0.010000, 0.010000, 0.010000> + 22: <-0.010000, 0.010000, 0.010000> + 23: <-0.010000, -0.010000, 0.010000> + Normals: Count 24. Hash: 5807525742165000561 + 0: < 0.000000, 1.000000, 0.000000> + 1: < 0.000000, 1.000000, 0.000000> + 2: < 0.000000, 1.000000, 0.000000> + 3: < 0.000000, 1.000000, 0.000000> + 4: < 0.000000, 0.000000, -1.000000> + 5: < 0.000000, 0.000000, -1.000000> + 6: < 0.000000, 0.000000, -1.000000> + 7: < 0.000000, 0.000000, -1.000000> + 8: < 1.000000, 0.000000, 0.000000> + 9: < 1.000000, 0.000000, 0.000000> + 10: < 1.000000, 0.000000, 0.000000> + 11: < 1.000000, 0.000000, 0.000000> + 12: < 0.000000, -1.000000, 0.000000> + 13: < 0.000000, -1.000000, 0.000000> + 14: < 0.000000, -1.000000, 0.000000> + 15: < 0.000000, -1.000000, 0.000000> + 16: <-1.000000, 0.000000, 0.000000> + 17: <-1.000000, 0.000000, 0.000000> + 18: <-1.000000, 0.000000, 0.000000> + 19: <-1.000000, 0.000000, 0.000000> + 20: < 0.000000, 0.000000, 1.000000> + 21: < 0.000000, 0.000000, 1.000000> + 22: < 0.000000, 0.000000, 1.000000> + 23: < 0.000000, 0.000000, 1.000000> + FaceList: Count 12. Hash: 9888799799190757436 + 0: 0, 1, 2, + 1: 0, 2, 3, + 2: 4, 5, 6, + 3: 4, 6, 7, + 4: 8, 9, 10, + 5: 8, 10, 11, + 6: 12, 13, 14, + 7: 12, 14, 15, + 8: 16, 17, 18, + 9: 16, 18, 19, + 10: 20, 21, 22, + 11: 20, 22, 23, + FaceMaterialIds: Count 12. Hash: 7113802799051126666 -Node Path: RootNode.Suzanne.SharedOrange -Node Type: MaterialData - MaterialName: SharedOrange - UniqueId: 39 - IsNoDraw: false - DiffuseColor: < 0.800000, 0.139382, 0.014429> - SpecularColor: < 0.200000, 0.034846, 0.003607> - EmissiveColor: < 0.000000, 0.000000, 0.000000> - Opacity: 1.000000 - Shininess: 25.000000 - -Node Path: RootNode.Suzanne.SharedBlack -Node Type: MaterialData - MaterialName: SharedBlack - UniqueId: 40 - IsNoDraw: false - DiffuseColor: < 0.000000, 0.000000, 0.000000> - SpecularColor: < 0.000000, 0.000000, 0.000000> - EmissiveColor: < 0.000000, 0.000000, 0.000000> - Opacity: 1.000000 - Shininess: 25.000000 - -Node Path: RootNode.Suzanne.TangentSet_MikkT_0 -Node Type: MeshVertexTangentData - Tangents: Count 1968. Hash: 17894327294721432452 - TangentSpace: 1 - SetIndex: 0 - -Node Path: RootNode.Suzanne.BitangentSet_MikkT_0 -Node Type: MeshVertexBitangentData - Bitangents: Count 1968. Hash: 8975256745659816606 - TangentSpace: 1 +Node Name: Cone_optimized +Node Path: RootNode.Cone_optimized +Node Type: MeshData + Positions: Count 128. Hash: 14946490408303214595 + 0: < 0.000000, -0.010000, 0.010000> + 1: < 0.000000, 0.010000, 0.000000> + 2: <-0.001951, -0.010000, 0.009808> + 3: <-0.001951, -0.010000, 0.009808> + 4: < 0.000000, 0.010000, 0.000000> + 5: <-0.003827, -0.010000, 0.009239> + 6: <-0.003827, -0.010000, 0.009239> + 7: < 0.000000, 0.010000, 0.000000> + 8: <-0.005556, -0.010000, 0.008315> + 9: <-0.005556, -0.010000, 0.008315> + 10: < 0.000000, 0.010000, 0.000000> + 11: <-0.007071, -0.010000, 0.007071> + 12: <-0.007071, -0.010000, 0.007071> + 13: < 0.000000, 0.010000, 0.000000> + 14: <-0.008315, -0.010000, 0.005556> + 15: <-0.008315, -0.010000, 0.005556> + 16: < 0.000000, 0.010000, 0.000000> + 17: <-0.009239, -0.010000, 0.003827> + 18: <-0.009239, -0.010000, 0.003827> + 19: < 0.000000, 0.010000, 0.000000> + 20: <-0.009808, -0.010000, 0.001951> + 21: < 0.009808, -0.010000, 0.001951> + 22: < 0.000000, 0.010000, 0.000000> + 23: < 0.009239, -0.010000, 0.003827> + 24: < 0.009239, -0.010000, 0.003827> + 25: < 0.000000, 0.010000, 0.000000> + 26: < 0.008315, -0.010000, 0.005556> + 27: < 0.008315, -0.010000, 0.005556> + 28: < 0.000000, 0.010000, 0.000000> + 29: < 0.007071, -0.010000, 0.007071> + 30: < 0.007071, -0.010000, 0.007071> + 31: < 0.000000, 0.010000, 0.000000> + 32: < 0.005556, -0.010000, 0.008315> + 33: < 0.005556, -0.010000, 0.008315> + 34: < 0.000000, 0.010000, 0.000000> + 35: < 0.003827, -0.010000, 0.009239> + 36: < 0.001951, -0.010000, 0.009808> + 37: < 0.000000, -0.010000, 0.010000> + 38: <-0.001951, -0.010000, 0.009808> + 39: <-0.003827, -0.010000, 0.009239> + 40: <-0.005556, -0.010000, 0.008315> + 41: <-0.007071, -0.010000, 0.007071> + 42: <-0.008315, -0.010000, 0.005556> + 43: <-0.009239, -0.010000, 0.003827> + 44: <-0.009808, -0.010000, 0.001951> + 45: <-0.010000, -0.010000, 0.000000> + 46: <-0.009808, -0.010000, -0.001951> + 47: <-0.009239, -0.010000, -0.003827> + 48: <-0.008315, -0.010000, -0.005556> + 49: <-0.007071, -0.010000, -0.007071> + 50: <-0.005556, -0.010000, -0.008315> + 51: <-0.003827, -0.010000, -0.009239> + 52: <-0.001951, -0.010000, -0.009808> + 53: < 0.000000, -0.010000, -0.010000> + 54: < 0.001951, -0.010000, -0.009808> + 55: < 0.003827, -0.010000, -0.009239> + 56: < 0.005556, -0.010000, -0.008315> + 57: < 0.007071, -0.010000, -0.007071> + 58: < 0.008315, -0.010000, -0.005556> + 59: < 0.009239, -0.010000, -0.003827> + 60: < 0.009808, -0.010000, -0.001951> + 61: < 0.010000, -0.010000, 0.000000> + 62: < 0.009808, -0.010000, 0.001951> + 63: < 0.009239, -0.010000, 0.003827> + 64: < 0.008315, -0.010000, 0.005556> + 65: < 0.007071, -0.010000, 0.007071> + 66: < 0.005556, -0.010000, 0.008315> + 67: < 0.003827, -0.010000, 0.009239> + 68: < 0.003827, -0.010000, 0.009239> + 69: < 0.000000, 0.010000, 0.000000> + 70: < 0.001951, -0.010000, 0.009808> + 71: < 0.001951, -0.010000, 0.009808> + 72: < 0.000000, 0.010000, 0.000000> + 73: < 0.000000, -0.010000, 0.010000> + 74: <-0.009808, -0.010000, 0.001951> + 75: < 0.000000, 0.010000, 0.000000> + 76: <-0.010000, -0.010000, 0.000000> + 77: <-0.010000, -0.010000, 0.000000> + 78: < 0.000000, 0.010000, 0.000000> + 79: <-0.009808, -0.010000, -0.001951> + 80: <-0.009808, -0.010000, -0.001951> + 81: < 0.000000, 0.010000, 0.000000> + 82: <-0.009239, -0.010000, -0.003827> + 83: <-0.009239, -0.010000, -0.003827> + 84: < 0.000000, 0.010000, 0.000000> + 85: <-0.008315, -0.010000, -0.005556> + 86: <-0.008315, -0.010000, -0.005556> + 87: < 0.000000, 0.010000, 0.000000> + 88: <-0.007071, -0.010000, -0.007071> + 89: <-0.007071, -0.010000, -0.007071> + 90: < 0.000000, 0.010000, 0.000000> + 91: <-0.005556, -0.010000, -0.008315> + 92: <-0.005556, -0.010000, -0.008315> + 93: < 0.000000, 0.010000, 0.000000> + 94: <-0.003827, -0.010000, -0.009239> + 95: <-0.003827, -0.010000, -0.009239> + 96: < 0.000000, 0.010000, 0.000000> + 97: <-0.001951, -0.010000, -0.009808> + 98: <-0.001951, -0.010000, -0.009808> + 99: < 0.000000, 0.010000, 0.000000> + 100: < 0.000000, -0.010000, -0.010000> + 101: < 0.000000, -0.010000, -0.010000> + 102: < 0.000000, 0.010000, 0.000000> + 103: < 0.001951, -0.010000, -0.009808> + 104: < 0.001951, -0.010000, -0.009808> + 105: < 0.000000, 0.010000, 0.000000> + 106: < 0.003827, -0.010000, -0.009239> + 107: < 0.003827, -0.010000, -0.009239> + 108: < 0.000000, 0.010000, 0.000000> + 109: < 0.005556, -0.010000, -0.008315> + 110: < 0.005556, -0.010000, -0.008315> + 111: < 0.000000, 0.010000, 0.000000> + 112: < 0.007071, -0.010000, -0.007071> + 113: < 0.007071, -0.010000, -0.007071> + 114: < 0.000000, 0.010000, 0.000000> + 115: < 0.008315, -0.010000, -0.005556> + 116: < 0.008315, -0.010000, -0.005556> + 117: < 0.000000, 0.010000, 0.000000> + 118: < 0.009239, -0.010000, -0.003827> + 119: < 0.009239, -0.010000, -0.003827> + 120: < 0.000000, 0.010000, 0.000000> + 121: < 0.009808, -0.010000, -0.001951> + 122: < 0.009808, -0.010000, -0.001951> + 123: < 0.000000, 0.010000, 0.000000> + 124: < 0.010000, -0.010000, 0.000000> + 125: < 0.010000, -0.010000, 0.000000> + 126: < 0.000000, 0.010000, 0.000000> + 127: < 0.009808, -0.010000, 0.001951> + Normals: Count 128. Hash: 367461522682321485 + 0: <-0.087754, 0.445488, 0.890977> + 1: <-0.087754, 0.445488, 0.890977> + 2: <-0.087754, 0.445488, 0.890977> + 3: <-0.259888, 0.445488, 0.856737> + 4: <-0.259888, 0.445488, 0.856737> + 5: <-0.259888, 0.445488, 0.856737> + 6: <-0.422036, 0.445488, 0.789573> + 7: <-0.422036, 0.445488, 0.789573> + 8: <-0.422036, 0.445488, 0.789573> + 9: <-0.567965, 0.445488, 0.692067> + 10: <-0.567965, 0.445488, 0.692067> + 11: <-0.567965, 0.445488, 0.692067> + 12: <-0.692067, 0.445488, 0.567965> + 13: <-0.692067, 0.445488, 0.567965> + 14: <-0.692067, 0.445488, 0.567965> + 15: <-0.789573, 0.445488, 0.422036> + 16: <-0.789573, 0.445488, 0.422036> + 17: <-0.789573, 0.445488, 0.422036> + 18: <-0.856737, 0.445488, 0.259888> + 19: <-0.856737, 0.445488, 0.259888> + 20: <-0.856737, 0.445488, 0.259888> + 21: < 0.856737, 0.445488, 0.259889> + 22: < 0.856737, 0.445488, 0.259889> + 23: < 0.856737, 0.445488, 0.259889> + 24: < 0.789573, 0.445488, 0.422037> + 25: < 0.789573, 0.445488, 0.422037> + 26: < 0.789573, 0.445488, 0.422037> + 27: < 0.692066, 0.445488, 0.567966> + 28: < 0.692066, 0.445488, 0.567966> + 29: < 0.692066, 0.445488, 0.567966> + 30: < 0.567964, 0.445488, 0.692067> + 31: < 0.567964, 0.445488, 0.692067> + 32: < 0.567964, 0.445488, 0.692067> + 33: < 0.422035, 0.445488, 0.789574> + 34: < 0.422035, 0.445488, 0.789574> + 35: < 0.422035, 0.445488, 0.789574> + 36: <-0.000000, -1.000000, 0.000000> + 37: <-0.000000, -1.000000, 0.000000> + 38: <-0.000000, -1.000000, 0.000000> + 39: <-0.000000, -1.000000, 0.000000> + 40: <-0.000000, -1.000000, 0.000000> + 41: <-0.000000, -1.000000, 0.000000> + 42: <-0.000000, -1.000000, 0.000000> + 43: <-0.000000, -1.000000, 0.000000> + 44: <-0.000000, -1.000000, 0.000000> + 45: <-0.000000, -1.000000, 0.000000> + 46: <-0.000000, -1.000000, 0.000000> + 47: <-0.000000, -1.000000, 0.000000> + 48: <-0.000000, -1.000000, 0.000000> + 49: <-0.000000, -1.000000, 0.000000> + 50: <-0.000000, -1.000000, 0.000000> + 51: <-0.000000, -1.000000, 0.000000> + 52: <-0.000000, -1.000000, 0.000000> + 53: <-0.000000, -1.000000, 0.000000> + 54: <-0.000000, -1.000000, 0.000000> + 55: <-0.000000, -1.000000, 0.000000> + 56: <-0.000000, -1.000000, 0.000000> + 57: <-0.000000, -1.000000, 0.000000> + 58: <-0.000000, -1.000000, 0.000000> + 59: <-0.000000, -1.000000, 0.000000> + 60: <-0.000000, -1.000000, 0.000000> + 61: <-0.000000, -1.000000, 0.000000> + 62: <-0.000000, -1.000000, 0.000000> + 63: <-0.000000, -1.000000, 0.000000> + 64: <-0.000000, -1.000000, 0.000000> + 65: <-0.000000, -1.000000, 0.000000> + 66: <-0.000000, -1.000000, 0.000000> + 67: <-0.000000, -1.000000, 0.000000> + 68: < 0.259887, 0.445488, 0.856737> + 69: < 0.259887, 0.445488, 0.856737> + 70: < 0.259887, 0.445488, 0.856737> + 71: < 0.087753, 0.445488, 0.890977> + 72: < 0.087753, 0.445488, 0.890977> + 73: < 0.087753, 0.445488, 0.890977> + 74: <-0.890977, 0.445488, 0.087754> + 75: <-0.890977, 0.445488, 0.087754> + 76: <-0.890977, 0.445488, 0.087754> + 77: <-0.890977, 0.445488, -0.087753> + 78: <-0.890977, 0.445488, -0.087753> + 79: <-0.890977, 0.445488, -0.087753> + 80: <-0.856737, 0.445488, -0.259888> + 81: <-0.856737, 0.445488, -0.259888> + 82: <-0.856737, 0.445488, -0.259888> + 83: <-0.789573, 0.445488, -0.422035> + 84: <-0.789573, 0.445488, -0.422035> + 85: <-0.789573, 0.445488, -0.422035> + 86: <-0.692067, 0.445488, -0.567965> + 87: <-0.692067, 0.445488, -0.567965> + 88: <-0.692067, 0.445488, -0.567965> + 89: <-0.567965, 0.445488, -0.692067> + 90: <-0.567965, 0.445488, -0.692067> + 91: <-0.567965, 0.445488, -0.692067> + 92: <-0.422036, 0.445488, -0.789573> + 93: <-0.422036, 0.445488, -0.789573> + 94: <-0.422036, 0.445488, -0.789573> + 95: <-0.259888, 0.445488, -0.856737> + 96: <-0.259888, 0.445488, -0.856737> + 97: <-0.259888, 0.445488, -0.856737> + 98: <-0.087753, 0.445488, -0.890977> + 99: <-0.087753, 0.445488, -0.890977> + 100: <-0.087753, 0.445488, -0.890977> + 101: < 0.087754, 0.445488, -0.890977> + 102: < 0.087754, 0.445488, -0.890977> + 103: < 0.087754, 0.445488, -0.890977> + 104: < 0.259889, 0.445488, -0.856737> + 105: < 0.259889, 0.445488, -0.856737> + 106: < 0.259889, 0.445488, -0.856737> + 107: < 0.422036, 0.445488, -0.789573> + 108: < 0.422036, 0.445488, -0.789573> + 109: < 0.422036, 0.445488, -0.789573> + 110: < 0.567965, 0.445488, -0.692066> + 111: < 0.567965, 0.445488, -0.692066> + 112: < 0.567965, 0.445488, -0.692066> + 113: < 0.692067, 0.445488, -0.567964> + 114: < 0.692067, 0.445488, -0.567964> + 115: < 0.692067, 0.445488, -0.567964> + 116: < 0.789574, 0.445488, -0.422035> + 117: < 0.789574, 0.445488, -0.422035> + 118: < 0.789574, 0.445488, -0.422035> + 119: < 0.856737, 0.445488, -0.259887> + 120: < 0.856737, 0.445488, -0.259887> + 121: < 0.856737, 0.445488, -0.259887> + 122: < 0.890977, 0.445488, -0.087753> + 123: < 0.890977, 0.445488, -0.087753> + 124: < 0.890977, 0.445488, -0.087753> + 125: < 0.890977, 0.445488, 0.087754> + 126: < 0.890977, 0.445488, 0.087754> + 127: < 0.890977, 0.445488, 0.087754> + FaceList: Count 62. Hash: 11102693598481718079 + 0: 0, 1, 2, + 1: 3, 4, 5, + 2: 6, 7, 8, + 3: 9, 10, 11, + 4: 12, 13, 14, + 5: 15, 16, 17, + 6: 18, 19, 20, + 7: 21, 22, 23, + 8: 24, 25, 26, + 9: 27, 28, 29, + 10: 30, 31, 32, + 11: 33, 34, 35, + 12: 36, 37, 38, + 13: 36, 38, 39, + 14: 36, 39, 40, + 15: 36, 40, 41, + 16: 36, 41, 42, + 17: 36, 42, 43, + 18: 36, 43, 44, + 19: 36, 44, 45, + 20: 36, 45, 46, + 21: 36, 46, 47, + 22: 36, 47, 48, + 23: 36, 48, 49, + 24: 36, 49, 50, + 25: 36, 50, 51, + 26: 36, 51, 52, + 27: 36, 52, 53, + 28: 36, 53, 54, + 29: 36, 54, 55, + 30: 36, 55, 56, + 31: 36, 56, 57, + 32: 36, 57, 58, + 33: 36, 58, 59, + 34: 36, 59, 60, + 35: 36, 60, 61, + 36: 36, 61, 62, + 37: 36, 62, 63, + 38: 36, 63, 64, + 39: 36, 64, 65, + 40: 36, 65, 66, + 41: 66, 67, 36, + 42: 68, 69, 70, + 43: 71, 72, 73, + 44: 74, 75, 76, + 45: 77, 78, 79, + 46: 80, 81, 82, + 47: 83, 84, 85, + 48: 86, 87, 88, + 49: 89, 90, 91, + 50: 92, 93, 94, + 51: 95, 96, 97, + 52: 98, 99, 100, + 53: 101, 102, 103, + 54: 104, 105, 106, + 55: 107, 108, 109, + 56: 110, 111, 112, + 57: 113, 114, 115, + 58: 116, 117, 118, + 59: 119, 120, 121, + 60: 122, 123, 124, + 61: 125, 126, 127, + FaceMaterialIds: Count 62. Hash: 15454348664434923102 +Node Name: transform Node Path: RootNode.Cube.transform Node Type: TransformData Matrix: @@ -69,41 +798,346 @@ Node Type: TransformData BasisZ: < 0.000000, -100.000000, -0.000016> Transl: < 0.000000, 0.000000, 0.000000> -Node Path: RootNode.Cube.UVMap +Node Name: UV0 +Node Path: RootNode.Cube.UV0 Node Type: MeshVertexUVData UVs: Count 24. Hash: 1622169145591646736 - UVCustomName: UVMap - -Node Path: RootNode.Cube.SharedOrange -Node Type: MaterialData - MaterialName: SharedOrange - UniqueId: 39 - IsNoDraw: false - DiffuseColor: < 0.800000, 0.139382, 0.014429> - SpecularColor: < 0.200000, 0.034846, 0.003607> - EmissiveColor: < 0.000000, 0.000000, 0.000000> - Opacity: 1.000000 - Shininess: 25.000000 + UVCustomName: UV0 +Node Name: SharedBlack Node Path: RootNode.Cube.SharedBlack Node Type: MaterialData MaterialName: SharedBlack - UniqueId: 40 + UniqueId: 5248829540156873090 IsNoDraw: false DiffuseColor: < 0.000000, 0.000000, 0.000000> SpecularColor: < 0.000000, 0.000000, 0.000000> EmissiveColor: < 0.000000, 0.000000, 0.000000> Opacity: 1.000000 Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: +Node Name: SharedOrange +Node Path: RootNode.Cube.SharedOrange +Node Type: MaterialData + MaterialName: SharedOrange + UniqueId: 9470651048605569128 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.139382, 0.014429> + SpecularColor: < 0.800000, 0.139382, 0.014429> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + +Node Name: TangentSet_MikkT_0 Node Path: RootNode.Cube.TangentSet_MikkT_0 Node Type: MeshVertexTangentData Tangents: Count 24. Hash: 13438447437797057049 TangentSpace: 1 SetIndex: 0 +Node Name: BitangentSet_MikkT_0 Node Path: RootNode.Cube.BitangentSet_MikkT_0 Node Type: MeshVertexBitangentData Bitangents: Count 24. Hash: 11372562338897179017 TangentSpace: 1 +Node Name: transform +Node Path: RootNode.Cone.transform +Node Type: TransformData + Matrix: + BasisX: < 100.000000, 0.000000, 0.000000> + BasisY: < 0.000000, -0.000016, 100.000000> + BasisZ: < 0.000000, -100.000000, -0.000016> + Transl: < 0.000000, 0.000000, 2.000000> + +Node Name: UV0 +Node Path: RootNode.Cone.UV0 +Node Type: MeshVertexUVData + UVs: Count 128. Hash: 10291654057525777310 + UVCustomName: UV0 + +Node Name: SharedOrange +Node Path: RootNode.Cone.SharedOrange +Node Type: MaterialData + MaterialName: SharedOrange + UniqueId: 9470651048605569128 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.139382, 0.014429> + SpecularColor: < 0.800000, 0.139382, 0.014429> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + +Node Name: SharedBlack +Node Path: RootNode.Cone.SharedBlack +Node Type: MaterialData + MaterialName: SharedBlack + UniqueId: 5248829540156873090 + IsNoDraw: false + DiffuseColor: < 0.000000, 0.000000, 0.000000> + SpecularColor: < 0.000000, 0.000000, 0.000000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + +Node Name: TangentSet_MikkT_0 +Node Path: RootNode.Cone.TangentSet_MikkT_0 +Node Type: MeshVertexTangentData + Tangents: Count 128. Hash: 12695232913942738512 + TangentSpace: 1 + SetIndex: 0 + +Node Name: BitangentSet_MikkT_0 +Node Path: RootNode.Cone.BitangentSet_MikkT_0 +Node Type: MeshVertexBitangentData + Bitangents: Count 128. Hash: 9034210764777745751 + TangentSpace: 1 + +Node Name: UV0 +Node Path: RootNode.Cube_optimized.UV0 +Node Type: MeshVertexUVData + UVs: Count 24. Hash: 1622169145591646736 + UVCustomName: UV0 + +Node Name: TangentSet_MikkT_0 +Node Path: RootNode.Cube_optimized.TangentSet_MikkT_0 +Node Type: MeshVertexTangentData + Tangents: Count 24. Hash: 13438447437797057049 + TangentSpace: 1 + SetIndex: 0 + +Node Name: BitangentSet_MikkT_0 +Node Path: RootNode.Cube_optimized.BitangentSet_MikkT_0 +Node Type: MeshVertexBitangentData + Bitangents: Count 24. Hash: 11372562338897179017 + TangentSpace: 1 + +Node Name: transform +Node Path: RootNode.Cube_optimized.transform +Node Type: TransformData + Matrix: + BasisX: < 100.000000, 0.000000, 0.000000> + BasisY: < 0.000000, -0.000016, 100.000000> + BasisZ: < 0.000000, -100.000000, -0.000016> + Transl: < 0.000000, 0.000000, 0.000000> + +Node Name: SharedBlack +Node Path: RootNode.Cube_optimized.SharedBlack +Node Type: MaterialData + MaterialName: SharedBlack + UniqueId: 5248829540156873090 + IsNoDraw: false + DiffuseColor: < 0.000000, 0.000000, 0.000000> + SpecularColor: < 0.000000, 0.000000, 0.000000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + +Node Name: SharedOrange +Node Path: RootNode.Cube_optimized.SharedOrange +Node Type: MaterialData + MaterialName: SharedOrange + UniqueId: 9470651048605569128 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.139382, 0.014429> + SpecularColor: < 0.800000, 0.139382, 0.014429> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + +Node Name: UV0 +Node Path: RootNode.Cone_optimized.UV0 +Node Type: MeshVertexUVData + UVs: Count 128. Hash: 7173974213247584731 + UVCustomName: UV0 + +Node Name: TangentSet_MikkT_0 +Node Path: RootNode.Cone_optimized.TangentSet_MikkT_0 +Node Type: MeshVertexTangentData + Tangents: Count 128. Hash: 10740776669168782230 + TangentSpace: 1 + SetIndex: 0 + +Node Name: BitangentSet_MikkT_0 +Node Path: RootNode.Cone_optimized.BitangentSet_MikkT_0 +Node Type: MeshVertexBitangentData + Bitangents: Count 128. Hash: 6990068477421150065 + TangentSpace: 1 + +Node Name: transform +Node Path: RootNode.Cone_optimized.transform +Node Type: TransformData + Matrix: + BasisX: < 100.000000, 0.000000, 0.000000> + BasisY: < 0.000000, -0.000016, 100.000000> + BasisZ: < 0.000000, -100.000000, -0.000016> + Transl: < 0.000000, 0.000000, 2.000000> + +Node Name: SharedOrange +Node Path: RootNode.Cone_optimized.SharedOrange +Node Type: MaterialData + MaterialName: SharedOrange + UniqueId: 9470651048605569128 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.139382, 0.014429> + SpecularColor: < 0.800000, 0.139382, 0.014429> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + +Node Name: SharedBlack +Node Path: RootNode.Cone_optimized.SharedBlack +Node Type: MaterialData + MaterialName: SharedBlack + UniqueId: 5248829540156873090 + IsNoDraw: false + DiffuseColor: < 0.000000, 0.000000, 0.000000> + SpecularColor: < 0.000000, 0.000000, 0.000000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 25.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/TwoMeshLinkedMaterials/multiple_mesh_linked_materials.fbx b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/TwoMeshLinkedMaterials/multiple_mesh_linked_materials.fbx index 15206894e6..99b2a97c91 100644 --- a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/TwoMeshLinkedMaterials/multiple_mesh_linked_materials.fbx +++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/TwoMeshLinkedMaterials/multiple_mesh_linked_materials.fbx @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:46eadb0c54b22ef320639c05086abb3df6147623da0a15ff85e52a752c1114b4 -size 38908 +oid sha256:bf9aa8e1075a1f1c3e3e15958106e4f79760e37abfc4e87b823712873984cb8d +size 19516 diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/VertexColor/vertexcolor.dbgsg b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/VertexColor/vertexcolor.dbgsg index 4e19512dcb..426e1bd92f 100644 --- a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/VertexColor/vertexcolor.dbgsg +++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/VertexColor/vertexcolor.dbgsg @@ -1,14 +1,122910 @@ ProductName: vertexcolor.dbgsg debugSceneGraphVersion: 1 vertexcolor -Node Path: RootNode.Suzanne +Node Name: Cube +Node Path: RootNode.Cube Node Type: MeshData - Positions: Count 1968. Hash: 3015384011524461480 - Normals: Count 1968. Hash: 14837001273673585886 - FaceList: Count 968. Hash: 11474783464320275329 - FaceMaterialIds: Count 968. Hash: 7264756278256548576 + Positions: Count 24576. Hash: 7031773714680283213 + 0: <-0.004894, 0.005206, 0.004894> + 1: <-0.004691, 0.005326, 0.004959> + 2: <-0.004738, 0.005479, 0.004738> + 3: <-0.004959, 0.005326, 0.004691> + 4: <-0.004691, 0.005326, 0.004959> + 5: <-0.004460, 0.005446, 0.005034> + 6: <-0.004494, 0.005623, 0.004798> + 7: <-0.004738, 0.005479, 0.004738> + 8: <-0.004460, 0.005446, 0.005034> + 9: <-0.004199, 0.005564, 0.005120> + 10: <-0.004226, 0.005760, 0.004870> + 11: <-0.004494, 0.005623, 0.004798> + 12: <-0.004199, 0.005564, 0.005120> + 13: <-0.003918, 0.005678, 0.005207> + 14: <-0.003941, 0.005887, 0.004946> + 15: <-0.004226, 0.005760, 0.004870> + 16: <-0.003918, 0.005678, 0.005207> + 17: <-0.003619, 0.005786, 0.005294> + 18: <-0.003637, 0.006006, 0.005023> + 19: <-0.003941, 0.005887, 0.004946> + 20: <-0.003619, 0.005786, 0.005294> + 21: <-0.003302, 0.005888, 0.005379> + 22: <-0.003318, 0.006117, 0.005099> + 23: <-0.003637, 0.006006, 0.005023> + 24: <-0.003302, 0.005888, 0.005379> + 25: <-0.002971, 0.005983, 0.005459> + 26: <-0.002984, 0.006219, 0.005172> + 27: <-0.003318, 0.006117, 0.005099> + 28: <-0.002971, 0.005983, 0.005459> + 29: <-0.002627, 0.006069, 0.005533> + 30: <-0.002638, 0.006311, 0.005240> + 31: <-0.002984, 0.006219, 0.005172> + 32: <-0.002627, 0.006069, 0.005533> + 33: <-0.002272, 0.006146, 0.005599> + 34: <-0.002281, 0.006393, 0.005301> + 35: <-0.002638, 0.006311, 0.005240> + 36: <-0.002272, 0.006146, 0.005599> + 37: <-0.001908, 0.006212, 0.005657> + 38: <-0.001915, 0.006464, 0.005355> + 39: <-0.002281, 0.006393, 0.005301> + 40: <-0.001908, 0.006212, 0.005657> + 41: <-0.001536, 0.006269, 0.005707> + 42: <-0.001541, 0.006523, 0.005401> + 43: <-0.001915, 0.006464, 0.005355> + 44: <-0.001536, 0.006269, 0.005707> + 45: <-0.001157, 0.006313, 0.005747> + 46: <-0.001161, 0.006570, 0.005438> + 47: <-0.001541, 0.006523, 0.005401> + 48: <-0.001157, 0.006313, 0.005747> + 49: <-0.000774, 0.006346, 0.005776> + 50: <-0.000777, 0.006605, 0.005466> + 51: <-0.001161, 0.006570, 0.005438> + 52: <-0.000774, 0.006346, 0.005776> + 53: <-0.000388, 0.006366, 0.005794> + 54: <-0.000389, 0.006626, 0.005483> + 55: <-0.000777, 0.006605, 0.005466> + 56: <-0.000388, 0.006366, 0.005794> + 57: < 0.000000, 0.006373, 0.005801> + 58: < 0.000000, 0.006633, 0.005489> + 59: <-0.000389, 0.006626, 0.005483> + 60: < 0.000000, 0.006373, 0.005801> + 61: < 0.000388, 0.006366, 0.005794> + 62: < 0.000389, 0.006626, 0.005483> + 63: < 0.000000, 0.006633, 0.005489> + 64: < 0.000388, 0.006366, 0.005794> + 65: < 0.000774, 0.006346, 0.005776> + 66: < 0.000777, 0.006605, 0.005466> + 67: < 0.000389, 0.006626, 0.005483> + 68: < 0.000774, 0.006346, 0.005776> + 69: < 0.001157, 0.006313, 0.005747> + 70: < 0.001161, 0.006570, 0.005438> + 71: < 0.000777, 0.006605, 0.005466> + 72: < 0.001157, 0.006313, 0.005747> + 73: < 0.001536, 0.006269, 0.005707> + 74: < 0.001541, 0.006523, 0.005401> + 75: < 0.001161, 0.006570, 0.005438> + 76: < 0.001536, 0.006269, 0.005707> + 77: < 0.001908, 0.006212, 0.005657> + 78: < 0.001915, 0.006464, 0.005355> + 79: < 0.001541, 0.006523, 0.005401> + 80: < 0.001908, 0.006212, 0.005657> + 81: < 0.002272, 0.006146, 0.005599> + 82: < 0.002281, 0.006393, 0.005301> + 83: < 0.001915, 0.006464, 0.005355> + 84: < 0.002272, 0.006146, 0.005599> + 85: < 0.002627, 0.006069, 0.005533> + 86: < 0.002638, 0.006311, 0.005240> + 87: < 0.002281, 0.006393, 0.005301> + 88: < 0.002627, 0.006069, 0.005533> + 89: < 0.002971, 0.005983, 0.005459> + 90: < 0.002984, 0.006219, 0.005172> + 91: < 0.002638, 0.006311, 0.005240> + 92: < 0.002971, 0.005983, 0.005459> + 93: < 0.003302, 0.005888, 0.005379> + 94: < 0.003318, 0.006117, 0.005099> + 95: < 0.002984, 0.006219, 0.005172> + 96: < 0.003302, 0.005888, 0.005379> + 97: < 0.003619, 0.005786, 0.005294> + 98: < 0.003637, 0.006006, 0.005023> + 99: < 0.003318, 0.006117, 0.005099> + 100: < 0.003619, 0.005786, 0.005294> + 101: < 0.003918, 0.005678, 0.005207> + 102: < 0.003941, 0.005887, 0.004946> + 103: < 0.003637, 0.006006, 0.005023> + 104: < 0.003918, 0.005678, 0.005207> + 105: < 0.004199, 0.005564, 0.005120> + 106: < 0.004226, 0.005760, 0.004870> + 107: < 0.003941, 0.005887, 0.004946> + 108: < 0.004199, 0.005564, 0.005120> + 109: < 0.004460, 0.005446, 0.005034> + 110: < 0.004494, 0.005623, 0.004798> + 111: < 0.004226, 0.005760, 0.004870> + 112: < 0.004460, 0.005446, 0.005034> + 113: < 0.004691, 0.005326, 0.004959> + 114: < 0.004738, 0.005479, 0.004738> + 115: < 0.004494, 0.005623, 0.004798> + 116: < 0.004691, 0.005326, 0.004959> + 117: < 0.004894, 0.005206, 0.004894> + 118: < 0.004959, 0.005326, 0.004691> + 119: < 0.004738, 0.005479, 0.004738> + 120: <-0.004959, 0.005326, 0.004691> + 121: <-0.004738, 0.005479, 0.004738> + 122: <-0.004798, 0.005623, 0.004494> + 123: <-0.005034, 0.005446, 0.004460> + 124: <-0.004738, 0.005479, 0.004738> + 125: <-0.004494, 0.005623, 0.004798> + 126: <-0.004542, 0.005788, 0.004542> + 127: <-0.004798, 0.005623, 0.004494> + 128: <-0.004494, 0.005623, 0.004798> + 129: <-0.004226, 0.005760, 0.004870> + 130: <-0.004267, 0.005939, 0.004602> + 131: <-0.004542, 0.005788, 0.004542> + 132: <-0.004226, 0.005760, 0.004870> + 133: <-0.003941, 0.005887, 0.004946> + 134: <-0.003975, 0.006080, 0.004668> + 135: <-0.004267, 0.005939, 0.004602> + 136: <-0.003941, 0.005887, 0.004946> + 137: <-0.003637, 0.006006, 0.005023> + 138: <-0.003666, 0.006210, 0.004736> + 139: <-0.003975, 0.006080, 0.004668> + 140: <-0.003637, 0.006006, 0.005023> + 141: <-0.003318, 0.006117, 0.005099> + 142: <-0.003342, 0.006329, 0.004804> + 143: <-0.003666, 0.006210, 0.004736> + 144: <-0.003318, 0.006117, 0.005099> + 145: <-0.002984, 0.006219, 0.005172> + 146: <-0.003004, 0.006439, 0.004870> + 147: <-0.003342, 0.006329, 0.004804> + 148: <-0.002984, 0.006219, 0.005172> + 149: <-0.002638, 0.006311, 0.005240> + 150: <-0.002655, 0.006537, 0.004931> + 151: <-0.003004, 0.006439, 0.004870> + 152: <-0.002638, 0.006311, 0.005240> + 153: <-0.002281, 0.006393, 0.005301> + 154: <-0.002295, 0.006623, 0.004987> + 155: <-0.002655, 0.006537, 0.004931> + 156: <-0.002281, 0.006393, 0.005301> + 157: <-0.001915, 0.006464, 0.005355> + 158: <-0.001926, 0.006698, 0.005037> + 159: <-0.002295, 0.006623, 0.004987> + 160: <-0.001915, 0.006464, 0.005355> + 161: <-0.001541, 0.006523, 0.005401> + 162: <-0.001550, 0.006761, 0.005080> + 163: <-0.001926, 0.006698, 0.005037> + 164: <-0.001541, 0.006523, 0.005401> + 165: <-0.001161, 0.006570, 0.005438> + 166: <-0.001168, 0.006810, 0.005114> + 167: <-0.001550, 0.006761, 0.005080> + 168: <-0.001161, 0.006570, 0.005438> + 169: <-0.000777, 0.006605, 0.005466> + 170: <-0.000781, 0.006846, 0.005140> + 171: <-0.001168, 0.006810, 0.005114> + 172: <-0.000777, 0.006605, 0.005466> + 173: <-0.000389, 0.006626, 0.005483> + 174: <-0.000391, 0.006868, 0.005156> + 175: <-0.000781, 0.006846, 0.005140> + 176: <-0.000389, 0.006626, 0.005483> + 177: < 0.000000, 0.006633, 0.005489> + 178: <-0.000000, 0.006875, 0.005162> + 179: <-0.000391, 0.006868, 0.005156> + 180: < 0.000000, 0.006633, 0.005489> + 181: < 0.000389, 0.006626, 0.005483> + 182: < 0.000391, 0.006868, 0.005156> + 183: <-0.000000, 0.006875, 0.005162> + 184: < 0.000389, 0.006626, 0.005483> + 185: < 0.000777, 0.006605, 0.005466> + 186: < 0.000781, 0.006846, 0.005140> + 187: < 0.000391, 0.006868, 0.005156> + 188: < 0.000777, 0.006605, 0.005466> + 189: < 0.001161, 0.006570, 0.005438> + 190: < 0.001168, 0.006810, 0.005114> + 191: < 0.000781, 0.006846, 0.005140> + 192: < 0.001161, 0.006570, 0.005438> + 193: < 0.001541, 0.006523, 0.005401> + 194: < 0.001550, 0.006761, 0.005080> + 195: < 0.001168, 0.006810, 0.005114> + 196: < 0.001541, 0.006523, 0.005401> + 197: < 0.001915, 0.006464, 0.005355> + 198: < 0.001926, 0.006698, 0.005037> + 199: < 0.001550, 0.006761, 0.005080> + 200: < 0.001915, 0.006464, 0.005355> + 201: < 0.002281, 0.006393, 0.005301> + 202: < 0.002295, 0.006623, 0.004987> + 203: < 0.001926, 0.006698, 0.005037> + 204: < 0.002281, 0.006393, 0.005301> + 205: < 0.002638, 0.006311, 0.005240> + 206: < 0.002655, 0.006537, 0.004931> + 207: < 0.002295, 0.006623, 0.004987> + 208: < 0.002638, 0.006311, 0.005240> + 209: < 0.002984, 0.006219, 0.005172> + 210: < 0.003004, 0.006439, 0.004870> + 211: < 0.002655, 0.006537, 0.004931> + 212: < 0.002984, 0.006219, 0.005172> + 213: < 0.003318, 0.006117, 0.005099> + 214: < 0.003342, 0.006329, 0.004804> + 215: < 0.003004, 0.006439, 0.004870> + 216: < 0.003318, 0.006117, 0.005099> + 217: < 0.003637, 0.006006, 0.005023> + 218: < 0.003666, 0.006210, 0.004736> + 219: < 0.003342, 0.006329, 0.004804> + 220: < 0.003637, 0.006006, 0.005023> + 221: < 0.003941, 0.005887, 0.004946> + 222: < 0.003975, 0.006080, 0.004668> + 223: < 0.003666, 0.006210, 0.004736> + 224: < 0.003941, 0.005887, 0.004946> + 225: < 0.004226, 0.005760, 0.004870> + 226: < 0.004267, 0.005939, 0.004602> + 227: < 0.003975, 0.006080, 0.004668> + 228: < 0.004226, 0.005760, 0.004870> + 229: < 0.004494, 0.005623, 0.004798> + 230: < 0.004542, 0.005788, 0.004542> + 231: < 0.004267, 0.005939, 0.004602> + 232: < 0.004494, 0.005623, 0.004798> + 233: < 0.004738, 0.005479, 0.004738> + 234: < 0.004798, 0.005623, 0.004494> + 235: < 0.004542, 0.005788, 0.004542> + 236: < 0.004738, 0.005479, 0.004738> + 237: < 0.004959, 0.005326, 0.004691> + 238: < 0.005034, 0.005446, 0.004460> + 239: < 0.004798, 0.005623, 0.004494> + 240: <-0.005034, 0.005446, 0.004460> + 241: <-0.004798, 0.005623, 0.004494> + 242: <-0.004870, 0.005760, 0.004226> + 243: <-0.005120, 0.005564, 0.004199> + 244: <-0.004798, 0.005623, 0.004494> + 245: <-0.004542, 0.005788, 0.004542> + 246: <-0.004602, 0.005939, 0.004267> + 247: <-0.004870, 0.005760, 0.004226> + 248: <-0.004542, 0.005788, 0.004542> + 249: <-0.004267, 0.005939, 0.004602> + 250: <-0.004318, 0.006105, 0.004318> + 251: <-0.004602, 0.005939, 0.004267> + 252: <-0.004267, 0.005939, 0.004602> + 253: <-0.003975, 0.006080, 0.004668> + 254: <-0.004017, 0.006257, 0.004374> + 255: <-0.004318, 0.006105, 0.004318> + 256: <-0.003975, 0.006080, 0.004668> + 257: <-0.003666, 0.006210, 0.004736> + 258: <-0.003701, 0.006397, 0.004434> + 259: <-0.004017, 0.006257, 0.004374> + 260: <-0.003666, 0.006210, 0.004736> + 261: <-0.003342, 0.006329, 0.004804> + 262: <-0.003372, 0.006525, 0.004494> + 263: <-0.003701, 0.006397, 0.004434> + 264: <-0.003342, 0.006329, 0.004804> + 265: <-0.003004, 0.006439, 0.004870> + 266: <-0.003030, 0.006641, 0.004553> + 267: <-0.003372, 0.006525, 0.004494> + 268: <-0.003004, 0.006439, 0.004870> + 269: <-0.002655, 0.006537, 0.004931> + 270: <-0.002676, 0.006745, 0.004609> + 271: <-0.003030, 0.006641, 0.004553> + 272: <-0.002655, 0.006537, 0.004931> + 273: <-0.002295, 0.006623, 0.004987> + 274: <-0.002313, 0.006836, 0.004659> + 275: <-0.002676, 0.006745, 0.004609> + 276: <-0.002295, 0.006623, 0.004987> + 277: <-0.001926, 0.006698, 0.005037> + 278: <-0.001940, 0.006915, 0.004705> + 279: <-0.002313, 0.006836, 0.004659> + 280: <-0.001926, 0.006698, 0.005037> + 281: <-0.001550, 0.006761, 0.005080> + 282: <-0.001561, 0.006980, 0.004744> + 283: <-0.001940, 0.006915, 0.004705> + 284: <-0.001550, 0.006761, 0.005080> + 285: <-0.001168, 0.006810, 0.005114> + 286: <-0.001176, 0.007032, 0.004776> + 287: <-0.001561, 0.006980, 0.004744> + 288: <-0.001168, 0.006810, 0.005114> + 289: <-0.000781, 0.006846, 0.005140> + 290: <-0.000786, 0.007069, 0.004800> + 291: <-0.001176, 0.007032, 0.004776> + 292: <-0.000781, 0.006846, 0.005140> + 293: <-0.000391, 0.006868, 0.005156> + 294: <-0.000394, 0.007092, 0.004815> + 295: <-0.000786, 0.007069, 0.004800> + 296: <-0.000391, 0.006868, 0.005156> + 297: <-0.000000, 0.006875, 0.005162> + 298: <-0.000000, 0.007099, 0.004820> + 299: <-0.000394, 0.007092, 0.004815> + 300: <-0.000000, 0.006875, 0.005162> + 301: < 0.000391, 0.006868, 0.005156> + 302: < 0.000394, 0.007092, 0.004815> + 303: <-0.000000, 0.007099, 0.004820> + 304: < 0.000391, 0.006868, 0.005156> + 305: < 0.000781, 0.006846, 0.005140> + 306: < 0.000786, 0.007069, 0.004800> + 307: < 0.000394, 0.007092, 0.004815> + 308: < 0.000781, 0.006846, 0.005140> + 309: < 0.001168, 0.006810, 0.005114> + 310: < 0.001176, 0.007032, 0.004776> + 311: < 0.000786, 0.007069, 0.004800> + 312: < 0.001168, 0.006810, 0.005114> + 313: < 0.001550, 0.006761, 0.005080> + 314: < 0.001561, 0.006980, 0.004744> + 315: < 0.001176, 0.007032, 0.004776> + 316: < 0.001550, 0.006761, 0.005080> + 317: < 0.001926, 0.006698, 0.005037> + 318: < 0.001940, 0.006915, 0.004705> + 319: < 0.001561, 0.006980, 0.004744> + 320: < 0.001926, 0.006698, 0.005037> + 321: < 0.002295, 0.006623, 0.004987> + 322: < 0.002313, 0.006836, 0.004659> + 323: < 0.001940, 0.006915, 0.004705> + 324: < 0.002295, 0.006623, 0.004987> + 325: < 0.002655, 0.006537, 0.004931> + 326: < 0.002676, 0.006745, 0.004609> + 327: < 0.002313, 0.006836, 0.004659> + 328: < 0.002655, 0.006537, 0.004931> + 329: < 0.003004, 0.006439, 0.004870> + 330: < 0.003030, 0.006641, 0.004553> + 331: < 0.002676, 0.006745, 0.004609> + 332: < 0.003004, 0.006439, 0.004870> + 333: < 0.003342, 0.006329, 0.004804> + 334: < 0.003372, 0.006525, 0.004494> + 335: < 0.003030, 0.006641, 0.004553> + 336: < 0.003342, 0.006329, 0.004804> + 337: < 0.003666, 0.006210, 0.004736> + 338: < 0.003701, 0.006397, 0.004434> + 339: < 0.003372, 0.006525, 0.004494> + 340: < 0.003666, 0.006210, 0.004736> + 341: < 0.003975, 0.006080, 0.004668> + 342: < 0.004017, 0.006257, 0.004374> + 343: < 0.003701, 0.006397, 0.004434> + 344: < 0.003975, 0.006080, 0.004668> + 345: < 0.004267, 0.005939, 0.004602> + 346: < 0.004318, 0.006105, 0.004318> + 347: < 0.004017, 0.006257, 0.004374> + 348: < 0.004267, 0.005939, 0.004602> + 349: < 0.004542, 0.005788, 0.004542> + 350: < 0.004602, 0.005939, 0.004267> + 351: < 0.004318, 0.006105, 0.004318> + 352: < 0.004542, 0.005788, 0.004542> + 353: < 0.004798, 0.005623, 0.004494> + 354: < 0.004870, 0.005760, 0.004226> + 355: < 0.004602, 0.005939, 0.004267> + 356: < 0.004798, 0.005623, 0.004494> + 357: < 0.005034, 0.005446, 0.004460> + 358: < 0.005120, 0.005564, 0.004199> + 359: < 0.004870, 0.005760, 0.004226> + 360: <-0.005120, 0.005564, 0.004199> + 361: <-0.004870, 0.005760, 0.004226> + 362: <-0.004946, 0.005887, 0.003941> + 363: <-0.005207, 0.005678, 0.003918> + 364: <-0.004870, 0.005760, 0.004226> + 365: <-0.004602, 0.005939, 0.004267> + 366: <-0.004668, 0.006080, 0.003975> + 367: <-0.004946, 0.005887, 0.003941> + 368: <-0.004602, 0.005939, 0.004267> + 369: <-0.004318, 0.006105, 0.004318> + 370: <-0.004374, 0.006257, 0.004017> + 371: <-0.004668, 0.006080, 0.003975> + 372: <-0.004318, 0.006105, 0.004318> + 373: <-0.004017, 0.006257, 0.004374> + 374: <-0.004065, 0.006421, 0.004065> + 375: <-0.004374, 0.006257, 0.004017> + 376: <-0.004017, 0.006257, 0.004374> + 377: <-0.003701, 0.006397, 0.004434> + 378: <-0.003743, 0.006570, 0.004117> + 379: <-0.004065, 0.006421, 0.004065> + 380: <-0.003701, 0.006397, 0.004434> + 381: <-0.003372, 0.006525, 0.004494> + 382: <-0.003407, 0.006705, 0.004170> + 383: <-0.003743, 0.006570, 0.004117> + 384: <-0.003372, 0.006525, 0.004494> + 385: <-0.003030, 0.006641, 0.004553> + 386: <-0.003060, 0.006828, 0.004223> + 387: <-0.003407, 0.006705, 0.004170> + 388: <-0.003030, 0.006641, 0.004553> + 389: <-0.002676, 0.006745, 0.004609> + 390: <-0.002701, 0.006937, 0.004273> + 391: <-0.003060, 0.006828, 0.004223> + 392: <-0.002676, 0.006745, 0.004609> + 393: <-0.002313, 0.006836, 0.004659> + 394: <-0.002333, 0.007033, 0.004318> + 395: <-0.002701, 0.006937, 0.004273> + 396: <-0.002313, 0.006836, 0.004659> + 397: <-0.001940, 0.006915, 0.004705> + 398: <-0.001957, 0.007115, 0.004360> + 399: <-0.002333, 0.007033, 0.004318> + 400: <-0.001940, 0.006915, 0.004705> + 401: <-0.001561, 0.006980, 0.004744> + 402: <-0.001574, 0.007183, 0.004395> + 403: <-0.001957, 0.007115, 0.004360> + 404: <-0.001561, 0.006980, 0.004744> + 405: <-0.001176, 0.007032, 0.004776> + 406: <-0.001185, 0.007236, 0.004424> + 407: <-0.001574, 0.007183, 0.004395> + 408: <-0.001176, 0.007032, 0.004776> + 409: <-0.000786, 0.007069, 0.004800> + 410: <-0.000792, 0.007275, 0.004446> + 411: <-0.001185, 0.007236, 0.004424> + 412: <-0.000786, 0.007069, 0.004800> + 413: <-0.000394, 0.007092, 0.004815> + 414: <-0.000397, 0.007298, 0.004460> + 415: <-0.000792, 0.007275, 0.004446> + 416: <-0.000394, 0.007092, 0.004815> + 417: <-0.000000, 0.007099, 0.004820> + 418: <-0.000000, 0.007306, 0.004465> + 419: <-0.000397, 0.007298, 0.004460> + 420: <-0.000000, 0.007099, 0.004820> + 421: < 0.000394, 0.007092, 0.004815> + 422: < 0.000397, 0.007298, 0.004460> + 423: <-0.000000, 0.007306, 0.004465> + 424: < 0.000394, 0.007092, 0.004815> + 425: < 0.000786, 0.007069, 0.004800> + 426: < 0.000792, 0.007275, 0.004446> + 427: < 0.000397, 0.007298, 0.004460> + 428: < 0.000786, 0.007069, 0.004800> + 429: < 0.001176, 0.007032, 0.004776> + 430: < 0.001185, 0.007236, 0.004424> + 431: < 0.000792, 0.007275, 0.004446> + 432: < 0.001176, 0.007032, 0.004776> + 433: < 0.001561, 0.006980, 0.004744> + 434: < 0.001574, 0.007183, 0.004395> + 435: < 0.001185, 0.007236, 0.004424> + 436: < 0.001561, 0.006980, 0.004744> + 437: < 0.001940, 0.006915, 0.004705> + 438: < 0.001957, 0.007115, 0.004360> + 439: < 0.001574, 0.007183, 0.004395> + 440: < 0.001940, 0.006915, 0.004705> + 441: < 0.002313, 0.006836, 0.004659> + 442: < 0.002333, 0.007033, 0.004318> + 443: < 0.001957, 0.007115, 0.004360> + 444: < 0.002313, 0.006836, 0.004659> + 445: < 0.002676, 0.006745, 0.004609> + 446: < 0.002701, 0.006937, 0.004273> + 447: < 0.002333, 0.007033, 0.004318> + 448: < 0.002676, 0.006745, 0.004609> + 449: < 0.003030, 0.006641, 0.004553> + 450: < 0.003060, 0.006828, 0.004223> + 451: < 0.002701, 0.006937, 0.004273> + 452: < 0.003030, 0.006641, 0.004553> + 453: < 0.003372, 0.006525, 0.004494> + 454: < 0.003407, 0.006705, 0.004170> + 455: < 0.003060, 0.006828, 0.004223> + 456: < 0.003372, 0.006525, 0.004494> + 457: < 0.003701, 0.006397, 0.004434> + 458: < 0.003743, 0.006570, 0.004117> + 459: < 0.003407, 0.006705, 0.004170> + 460: < 0.003701, 0.006397, 0.004434> + 461: < 0.004017, 0.006257, 0.004374> + 462: < 0.004065, 0.006421, 0.004065> + 463: < 0.003743, 0.006570, 0.004117> + 464: < 0.004017, 0.006257, 0.004374> + 465: < 0.004318, 0.006105, 0.004318> + 466: < 0.004374, 0.006257, 0.004017> + 467: < 0.004065, 0.006421, 0.004065> + 468: < 0.004318, 0.006105, 0.004318> + 469: < 0.004602, 0.005939, 0.004267> + 470: < 0.004668, 0.006080, 0.003975> + 471: < 0.004374, 0.006257, 0.004017> + 472: < 0.004602, 0.005939, 0.004267> + 473: < 0.004870, 0.005760, 0.004226> + 474: < 0.004946, 0.005887, 0.003941> + 475: < 0.004668, 0.006080, 0.003975> + 476: < 0.004870, 0.005760, 0.004226> + 477: < 0.005120, 0.005564, 0.004199> + 478: < 0.005207, 0.005678, 0.003918> + 479: < 0.004946, 0.005887, 0.003941> + 480: <-0.005207, 0.005678, 0.003918> + 481: <-0.004946, 0.005887, 0.003941> + 482: <-0.005023, 0.006006, 0.003637> + 483: <-0.005294, 0.005786, 0.003619> + 484: <-0.004946, 0.005887, 0.003941> + 485: <-0.004668, 0.006080, 0.003975> + 486: <-0.004736, 0.006210, 0.003666> + 487: <-0.005023, 0.006006, 0.003637> + 488: <-0.004668, 0.006080, 0.003975> + 489: <-0.004374, 0.006257, 0.004017> + 490: <-0.004434, 0.006397, 0.003701> + 491: <-0.004736, 0.006210, 0.003666> + 492: <-0.004374, 0.006257, 0.004017> + 493: <-0.004065, 0.006421, 0.004065> + 494: <-0.004117, 0.006570, 0.003743> + 495: <-0.004434, 0.006397, 0.003701> + 496: <-0.004065, 0.006421, 0.004065> + 497: <-0.003743, 0.006570, 0.004117> + 498: <-0.003788, 0.006727, 0.003788> + 499: <-0.004117, 0.006570, 0.003743> + 500: <-0.003743, 0.006570, 0.004117> + 501: <-0.003407, 0.006705, 0.004170> + 502: <-0.003446, 0.006870, 0.003834> + 503: <-0.003788, 0.006727, 0.003788> + 504: <-0.003407, 0.006705, 0.004170> + 505: <-0.003060, 0.006828, 0.004223> + 506: <-0.003093, 0.006998, 0.003880> + 507: <-0.003446, 0.006870, 0.003834> + 508: <-0.003060, 0.006828, 0.004223> + 509: <-0.002701, 0.006937, 0.004273> + 510: <-0.002729, 0.007112, 0.003924> + 511: <-0.003093, 0.006998, 0.003880> + 512: <-0.002701, 0.006937, 0.004273> + 513: <-0.002333, 0.007033, 0.004318> + 514: <-0.002356, 0.007212, 0.003965> + 515: <-0.002729, 0.007112, 0.003924> + 516: <-0.002333, 0.007033, 0.004318> + 517: <-0.001957, 0.007115, 0.004360> + 518: <-0.001975, 0.007297, 0.004002> + 519: <-0.002356, 0.007212, 0.003965> + 520: <-0.001957, 0.007115, 0.004360> + 521: <-0.001574, 0.007183, 0.004395> + 522: <-0.001588, 0.007367, 0.004034> + 523: <-0.001975, 0.007297, 0.004002> + 524: <-0.001574, 0.007183, 0.004395> + 525: <-0.001185, 0.007236, 0.004424> + 526: <-0.001196, 0.007423, 0.004061> + 527: <-0.001588, 0.007367, 0.004034> + 528: <-0.001185, 0.007236, 0.004424> + 529: <-0.000792, 0.007275, 0.004446> + 530: <-0.000799, 0.007462, 0.004081> + 531: <-0.001196, 0.007423, 0.004061> + 532: <-0.000792, 0.007275, 0.004446> + 533: <-0.000397, 0.007298, 0.004460> + 534: <-0.000400, 0.007487, 0.004093> + 535: <-0.000799, 0.007462, 0.004081> + 536: <-0.000397, 0.007298, 0.004460> + 537: <-0.000000, 0.007306, 0.004465> + 538: <-0.000000, 0.007495, 0.004098> + 539: <-0.000400, 0.007487, 0.004093> + 540: <-0.000000, 0.007306, 0.004465> + 541: < 0.000397, 0.007298, 0.004460> + 542: < 0.000400, 0.007487, 0.004093> + 543: <-0.000000, 0.007495, 0.004098> + 544: < 0.000397, 0.007298, 0.004460> + 545: < 0.000792, 0.007275, 0.004446> + 546: < 0.000799, 0.007462, 0.004081> + 547: < 0.000400, 0.007487, 0.004093> + 548: < 0.000792, 0.007275, 0.004446> + 549: < 0.001185, 0.007236, 0.004424> + 550: < 0.001196, 0.007423, 0.004061> + 551: < 0.000799, 0.007462, 0.004081> + 552: < 0.001185, 0.007236, 0.004424> + 553: < 0.001574, 0.007183, 0.004395> + 554: < 0.001588, 0.007367, 0.004034> + 555: < 0.001196, 0.007423, 0.004061> + 556: < 0.001574, 0.007183, 0.004395> + 557: < 0.001957, 0.007115, 0.004360> + 558: < 0.001975, 0.007297, 0.004002> + 559: < 0.001588, 0.007367, 0.004034> + 560: < 0.001957, 0.007115, 0.004360> + 561: < 0.002333, 0.007033, 0.004318> + 562: < 0.002356, 0.007212, 0.003965> + 563: < 0.001975, 0.007297, 0.004002> + 564: < 0.002333, 0.007033, 0.004318> + 565: < 0.002701, 0.006937, 0.004273> + 566: < 0.002729, 0.007112, 0.003924> + 567: < 0.002356, 0.007212, 0.003965> + 568: < 0.002701, 0.006937, 0.004273> + 569: < 0.003060, 0.006828, 0.004223> + 570: < 0.003093, 0.006998, 0.003880> + 571: < 0.002729, 0.007112, 0.003924> + 572: < 0.003060, 0.006828, 0.004223> + 573: < 0.003407, 0.006705, 0.004170> + 574: < 0.003446, 0.006870, 0.003834> + 575: < 0.003093, 0.006998, 0.003880> + 576: < 0.003407, 0.006705, 0.004170> + 577: < 0.003743, 0.006570, 0.004117> + 578: < 0.003788, 0.006727, 0.003788> + 579: < 0.003446, 0.006870, 0.003834> + 580: < 0.003743, 0.006570, 0.004117> + 581: < 0.004065, 0.006421, 0.004065> + 582: < 0.004117, 0.006570, 0.003743> + 583: < 0.003788, 0.006727, 0.003788> + 584: < 0.004065, 0.006421, 0.004065> + 585: < 0.004374, 0.006257, 0.004017> + 586: < 0.004434, 0.006397, 0.003701> + 587: < 0.004117, 0.006570, 0.003743> + 588: < 0.004374, 0.006257, 0.004017> + 589: < 0.004668, 0.006080, 0.003975> + 590: < 0.004736, 0.006210, 0.003666> + 591: < 0.004434, 0.006397, 0.003701> + 592: < 0.004668, 0.006080, 0.003975> + 593: < 0.004946, 0.005887, 0.003941> + 594: < 0.005023, 0.006006, 0.003637> + 595: < 0.004736, 0.006210, 0.003666> + 596: < 0.004946, 0.005887, 0.003941> + 597: < 0.005207, 0.005678, 0.003918> + 598: < 0.005294, 0.005786, 0.003619> + 599: < 0.005023, 0.006006, 0.003637> + 600: <-0.005294, 0.005786, 0.003619> + 601: <-0.005023, 0.006006, 0.003637> + 602: <-0.005099, 0.006117, 0.003318> + 603: <-0.005379, 0.005888, 0.003302> + 604: <-0.005023, 0.006006, 0.003637> + 605: <-0.004736, 0.006210, 0.003666> + 606: <-0.004804, 0.006329, 0.003342> + 607: <-0.005099, 0.006117, 0.003318> + 608: <-0.004736, 0.006210, 0.003666> + 609: <-0.004434, 0.006397, 0.003701> + 610: <-0.004494, 0.006525, 0.003372> + 611: <-0.004804, 0.006329, 0.003342> + 612: <-0.004434, 0.006397, 0.003701> + 613: <-0.004117, 0.006570, 0.003743> + 614: <-0.004170, 0.006705, 0.003407> + 615: <-0.004494, 0.006525, 0.003372> + 616: <-0.004117, 0.006570, 0.003743> + 617: <-0.003788, 0.006727, 0.003788> + 618: <-0.003834, 0.006870, 0.003446> + 619: <-0.004170, 0.006705, 0.003407> + 620: <-0.003788, 0.006727, 0.003788> + 621: <-0.003446, 0.006870, 0.003834> + 622: <-0.003486, 0.007018, 0.003486> + 623: <-0.003834, 0.006870, 0.003446> + 624: <-0.003446, 0.006870, 0.003834> + 625: <-0.003093, 0.006998, 0.003880> + 626: <-0.003127, 0.007152, 0.003526> + 627: <-0.003486, 0.007018, 0.003486> + 628: <-0.003093, 0.006998, 0.003880> + 629: <-0.002729, 0.007112, 0.003924> + 630: <-0.002758, 0.007270, 0.003565> + 631: <-0.003127, 0.007152, 0.003526> + 632: <-0.002729, 0.007112, 0.003924> + 633: <-0.002356, 0.007212, 0.003965> + 634: <-0.002380, 0.007374, 0.003601> + 635: <-0.002758, 0.007270, 0.003565> + 636: <-0.002356, 0.007212, 0.003965> + 637: <-0.001975, 0.007297, 0.004002> + 638: <-0.001995, 0.007462, 0.003634> + 639: <-0.002380, 0.007374, 0.003601> + 640: <-0.001975, 0.007297, 0.004002> + 641: <-0.001588, 0.007367, 0.004034> + 642: <-0.001603, 0.007535, 0.003663> + 643: <-0.001995, 0.007462, 0.003634> + 644: <-0.001588, 0.007367, 0.004034> + 645: <-0.001196, 0.007423, 0.004061> + 646: <-0.001207, 0.007591, 0.003686> + 647: <-0.001603, 0.007535, 0.003663> + 648: <-0.001196, 0.007423, 0.004061> + 649: <-0.000799, 0.007462, 0.004081> + 650: <-0.000807, 0.007632, 0.003704> + 651: <-0.001207, 0.007591, 0.003686> + 652: <-0.000799, 0.007462, 0.004081> + 653: <-0.000400, 0.007487, 0.004093> + 654: <-0.000404, 0.007657, 0.003716> + 655: <-0.000807, 0.007632, 0.003704> + 656: <-0.000400, 0.007487, 0.004093> + 657: <-0.000000, 0.007495, 0.004098> + 658: <-0.000000, 0.007665, 0.003720> + 659: <-0.000404, 0.007657, 0.003716> + 660: <-0.000000, 0.007495, 0.004098> + 661: < 0.000400, 0.007487, 0.004093> + 662: < 0.000404, 0.007657, 0.003716> + 663: <-0.000000, 0.007665, 0.003720> + 664: < 0.000400, 0.007487, 0.004093> + 665: < 0.000799, 0.007462, 0.004081> + 666: < 0.000807, 0.007632, 0.003704> + 667: < 0.000404, 0.007657, 0.003716> + 668: < 0.000799, 0.007462, 0.004081> + 669: < 0.001196, 0.007423, 0.004061> + 670: < 0.001207, 0.007591, 0.003686> + 671: < 0.000807, 0.007632, 0.003704> + 672: < 0.001196, 0.007423, 0.004061> + 673: < 0.001588, 0.007367, 0.004034> + 674: < 0.001603, 0.007535, 0.003663> + 675: < 0.001207, 0.007591, 0.003686> + 676: < 0.001588, 0.007367, 0.004034> + 677: < 0.001975, 0.007297, 0.004002> + 678: < 0.001995, 0.007462, 0.003634> + 679: < 0.001603, 0.007535, 0.003663> + 680: < 0.001975, 0.007297, 0.004002> + 681: < 0.002356, 0.007212, 0.003965> + 682: < 0.002380, 0.007374, 0.003601> + 683: < 0.001995, 0.007462, 0.003634> + 684: < 0.002356, 0.007212, 0.003965> + 685: < 0.002729, 0.007112, 0.003924> + 686: < 0.002758, 0.007270, 0.003565> + 687: < 0.002380, 0.007374, 0.003601> + 688: < 0.002729, 0.007112, 0.003924> + 689: < 0.003093, 0.006998, 0.003880> + 690: < 0.003127, 0.007152, 0.003526> + 691: < 0.002758, 0.007270, 0.003565> + 692: < 0.003093, 0.006998, 0.003880> + 693: < 0.003446, 0.006870, 0.003834> + 694: < 0.003486, 0.007018, 0.003486> + 695: < 0.003127, 0.007152, 0.003526> + 696: < 0.003446, 0.006870, 0.003834> + 697: < 0.003788, 0.006727, 0.003788> + 698: < 0.003834, 0.006870, 0.003446> + 699: < 0.003486, 0.007018, 0.003486> + 700: < 0.003788, 0.006727, 0.003788> + 701: < 0.004117, 0.006570, 0.003743> + 702: < 0.004170, 0.006705, 0.003407> + 703: < 0.003834, 0.006870, 0.003446> + 704: < 0.004117, 0.006570, 0.003743> + 705: < 0.004434, 0.006397, 0.003701> + 706: < 0.004494, 0.006525, 0.003372> + 707: < 0.004170, 0.006705, 0.003407> + 708: < 0.004434, 0.006397, 0.003701> + 709: < 0.004736, 0.006210, 0.003666> + 710: < 0.004804, 0.006329, 0.003342> + 711: < 0.004494, 0.006525, 0.003372> + 712: < 0.004736, 0.006210, 0.003666> + 713: < 0.005023, 0.006006, 0.003637> + 714: < 0.005099, 0.006117, 0.003318> + 715: < 0.004804, 0.006329, 0.003342> + 716: < 0.005023, 0.006006, 0.003637> + 717: < 0.005294, 0.005786, 0.003619> + 718: < 0.005379, 0.005888, 0.003302> + 719: < 0.005099, 0.006117, 0.003318> + 720: <-0.005379, 0.005888, 0.003302> + 721: <-0.005099, 0.006117, 0.003318> + 722: <-0.005172, 0.006219, 0.002984> + 723: <-0.005459, 0.005983, 0.002971> + 724: <-0.005099, 0.006117, 0.003318> + 725: <-0.004804, 0.006329, 0.003342> + 726: <-0.004870, 0.006439, 0.003004> + 727: <-0.005172, 0.006219, 0.002984> + 728: <-0.004804, 0.006329, 0.003342> + 729: <-0.004494, 0.006525, 0.003372> + 730: <-0.004553, 0.006641, 0.003030> + 731: <-0.004870, 0.006439, 0.003004> + 732: <-0.004494, 0.006525, 0.003372> + 733: <-0.004170, 0.006705, 0.003407> + 734: <-0.004223, 0.006828, 0.003060> + 735: <-0.004553, 0.006641, 0.003030> + 736: <-0.004170, 0.006705, 0.003407> + 737: <-0.003834, 0.006870, 0.003446> + 738: <-0.003880, 0.006998, 0.003093> + 739: <-0.004223, 0.006828, 0.003060> + 740: <-0.003834, 0.006870, 0.003446> + 741: <-0.003486, 0.007018, 0.003486> + 742: <-0.003526, 0.007152, 0.003127> + 743: <-0.003880, 0.006998, 0.003093> + 744: <-0.003486, 0.007018, 0.003486> + 745: <-0.003127, 0.007152, 0.003526> + 746: <-0.003162, 0.007290, 0.003162> + 747: <-0.003526, 0.007152, 0.003127> + 748: <-0.003127, 0.007152, 0.003526> + 749: <-0.002758, 0.007270, 0.003565> + 750: <-0.002787, 0.007412, 0.003195> + 751: <-0.003162, 0.007290, 0.003162> + 752: <-0.002758, 0.007270, 0.003565> + 753: <-0.002380, 0.007374, 0.003601> + 754: <-0.002405, 0.007519, 0.003227> + 755: <-0.002787, 0.007412, 0.003195> + 756: <-0.002380, 0.007374, 0.003601> + 757: <-0.001995, 0.007462, 0.003634> + 758: <-0.002015, 0.007610, 0.003255> + 759: <-0.002405, 0.007519, 0.003227> + 760: <-0.001995, 0.007462, 0.003634> + 761: <-0.001603, 0.007535, 0.003663> + 762: <-0.001619, 0.007684, 0.003281> + 763: <-0.002015, 0.007610, 0.003255> + 764: <-0.001603, 0.007535, 0.003663> + 765: <-0.001207, 0.007591, 0.003686> + 766: <-0.001219, 0.007743, 0.003302> + 767: <-0.001619, 0.007684, 0.003281> + 768: <-0.001207, 0.007591, 0.003686> + 769: <-0.000807, 0.007632, 0.003704> + 770: <-0.000814, 0.007785, 0.003318> + 771: <-0.001219, 0.007743, 0.003302> + 772: <-0.000807, 0.007632, 0.003704> + 773: <-0.000404, 0.007657, 0.003716> + 774: <-0.000408, 0.007810, 0.003328> + 775: <-0.000814, 0.007785, 0.003318> + 776: <-0.000404, 0.007657, 0.003716> + 777: <-0.000000, 0.007665, 0.003720> + 778: <-0.000000, 0.007818, 0.003331> + 779: <-0.000408, 0.007810, 0.003328> + 780: <-0.000000, 0.007665, 0.003720> + 781: < 0.000404, 0.007657, 0.003716> + 782: < 0.000408, 0.007810, 0.003328> + 783: <-0.000000, 0.007818, 0.003331> + 784: < 0.000404, 0.007657, 0.003716> + 785: < 0.000807, 0.007632, 0.003704> + 786: < 0.000814, 0.007785, 0.003318> + 787: < 0.000408, 0.007810, 0.003328> + 788: < 0.000807, 0.007632, 0.003704> + 789: < 0.001207, 0.007591, 0.003686> + 790: < 0.001219, 0.007743, 0.003302> + 791: < 0.000814, 0.007785, 0.003318> + 792: < 0.001207, 0.007591, 0.003686> + 793: < 0.001603, 0.007535, 0.003663> + 794: < 0.001619, 0.007684, 0.003281> + 795: < 0.001219, 0.007743, 0.003302> + 796: < 0.001603, 0.007535, 0.003663> + 797: < 0.001995, 0.007462, 0.003634> + 798: < 0.002015, 0.007610, 0.003255> + 799: < 0.001619, 0.007684, 0.003281> + 800: < 0.001995, 0.007462, 0.003634> + 801: < 0.002380, 0.007374, 0.003601> + 802: < 0.002405, 0.007519, 0.003227> + 803: < 0.002015, 0.007610, 0.003255> + 804: < 0.002380, 0.007374, 0.003601> + 805: < 0.002758, 0.007270, 0.003565> + 806: < 0.002787, 0.007412, 0.003195> + 807: < 0.002405, 0.007519, 0.003227> + 808: < 0.002758, 0.007270, 0.003565> + 809: < 0.003127, 0.007152, 0.003526> + 810: < 0.003162, 0.007290, 0.003162> + 811: < 0.002787, 0.007412, 0.003195> + 812: < 0.003127, 0.007152, 0.003526> + 813: < 0.003486, 0.007018, 0.003486> + 814: < 0.003526, 0.007152, 0.003127> + 815: < 0.003162, 0.007290, 0.003162> + 816: < 0.003486, 0.007018, 0.003486> + 817: < 0.003834, 0.006870, 0.003446> + 818: < 0.003880, 0.006998, 0.003093> + 819: < 0.003526, 0.007152, 0.003127> + 820: < 0.003834, 0.006870, 0.003446> + 821: < 0.004170, 0.006705, 0.003407> + 822: < 0.004223, 0.006828, 0.003060> + 823: < 0.003880, 0.006998, 0.003093> + 824: < 0.004170, 0.006705, 0.003407> + 825: < 0.004494, 0.006525, 0.003372> + 826: < 0.004553, 0.006641, 0.003030> + 827: < 0.004223, 0.006828, 0.003060> + 828: < 0.004494, 0.006525, 0.003372> + 829: < 0.004804, 0.006329, 0.003342> + 830: < 0.004870, 0.006439, 0.003004> + 831: < 0.004553, 0.006641, 0.003030> + 832: < 0.004804, 0.006329, 0.003342> + 833: < 0.005099, 0.006117, 0.003318> + 834: < 0.005172, 0.006219, 0.002984> + 835: < 0.004870, 0.006439, 0.003004> + 836: < 0.005099, 0.006117, 0.003318> + 837: < 0.005379, 0.005888, 0.003302> + 838: < 0.005459, 0.005983, 0.002971> + 839: < 0.005172, 0.006219, 0.002984> + 840: <-0.005459, 0.005983, 0.002971> + 841: <-0.005172, 0.006219, 0.002984> + 842: <-0.005240, 0.006311, 0.002638> + 843: <-0.005533, 0.006069, 0.002627> + 844: <-0.005172, 0.006219, 0.002984> + 845: <-0.004870, 0.006439, 0.003004> + 846: <-0.004931, 0.006537, 0.002655> + 847: <-0.005240, 0.006311, 0.002638> + 848: <-0.004870, 0.006439, 0.003004> + 849: <-0.004553, 0.006641, 0.003030> + 850: <-0.004609, 0.006745, 0.002676> + 851: <-0.004931, 0.006537, 0.002655> + 852: <-0.004553, 0.006641, 0.003030> + 853: <-0.004223, 0.006828, 0.003060> + 854: <-0.004273, 0.006937, 0.002701> + 855: <-0.004609, 0.006745, 0.002676> + 856: <-0.004223, 0.006828, 0.003060> + 857: <-0.003880, 0.006998, 0.003093> + 858: <-0.003924, 0.007112, 0.002729> + 859: <-0.004273, 0.006937, 0.002701> + 860: <-0.003880, 0.006998, 0.003093> + 861: <-0.003526, 0.007152, 0.003127> + 862: <-0.003565, 0.007270, 0.002758> + 863: <-0.003924, 0.007112, 0.002729> + 864: <-0.003526, 0.007152, 0.003127> + 865: <-0.003162, 0.007290, 0.003162> + 866: <-0.003195, 0.007412, 0.002787> + 867: <-0.003565, 0.007270, 0.002758> + 868: <-0.003162, 0.007290, 0.003162> + 869: <-0.002787, 0.007412, 0.003195> + 870: <-0.002816, 0.007538, 0.002816> + 871: <-0.003195, 0.007412, 0.002787> + 872: <-0.002787, 0.007412, 0.003195> + 873: <-0.002405, 0.007519, 0.003227> + 874: <-0.002429, 0.007648, 0.002843> + 875: <-0.002816, 0.007538, 0.002816> + 876: <-0.002405, 0.007519, 0.003227> + 877: <-0.002015, 0.007610, 0.003255> + 878: <-0.002035, 0.007740, 0.002868> + 879: <-0.002429, 0.007648, 0.002843> + 880: <-0.002015, 0.007610, 0.003255> + 881: <-0.001619, 0.007684, 0.003281> + 882: <-0.001635, 0.007817, 0.002890> + 883: <-0.002035, 0.007740, 0.002868> + 884: <-0.001619, 0.007684, 0.003281> + 885: <-0.001219, 0.007743, 0.003302> + 886: <-0.001230, 0.007876, 0.002908> + 887: <-0.001635, 0.007817, 0.002890> + 888: <-0.001219, 0.007743, 0.003302> + 889: <-0.000814, 0.007785, 0.003318> + 890: <-0.000822, 0.007919, 0.002922> + 891: <-0.001230, 0.007876, 0.002908> + 892: <-0.000814, 0.007785, 0.003318> + 893: <-0.000408, 0.007810, 0.003328> + 894: <-0.000412, 0.007945, 0.002931> + 895: <-0.000822, 0.007919, 0.002922> + 896: <-0.000408, 0.007810, 0.003328> + 897: <-0.000000, 0.007818, 0.003331> + 898: <-0.000000, 0.007953, 0.002934> + 899: <-0.000412, 0.007945, 0.002931> + 900: <-0.000000, 0.007818, 0.003331> + 901: < 0.000408, 0.007810, 0.003328> + 902: < 0.000412, 0.007945, 0.002931> + 903: <-0.000000, 0.007953, 0.002934> + 904: < 0.000408, 0.007810, 0.003328> + 905: < 0.000814, 0.007785, 0.003318> + 906: < 0.000822, 0.007919, 0.002922> + 907: < 0.000412, 0.007945, 0.002931> + 908: < 0.000814, 0.007785, 0.003318> + 909: < 0.001219, 0.007743, 0.003302> + 910: < 0.001230, 0.007876, 0.002908> + 911: < 0.000822, 0.007919, 0.002922> + 912: < 0.001219, 0.007743, 0.003302> + 913: < 0.001619, 0.007684, 0.003281> + 914: < 0.001635, 0.007817, 0.002890> + 915: < 0.001230, 0.007876, 0.002908> + 916: < 0.001619, 0.007684, 0.003281> + 917: < 0.002015, 0.007610, 0.003255> + 918: < 0.002035, 0.007740, 0.002868> + 919: < 0.001635, 0.007817, 0.002890> + 920: < 0.002015, 0.007610, 0.003255> + 921: < 0.002405, 0.007519, 0.003227> + 922: < 0.002429, 0.007648, 0.002843> + 923: < 0.002035, 0.007740, 0.002868> + 924: < 0.002405, 0.007519, 0.003227> + 925: < 0.002787, 0.007412, 0.003195> + 926: < 0.002816, 0.007538, 0.002816> + 927: < 0.002429, 0.007648, 0.002843> + 928: < 0.002787, 0.007412, 0.003195> + 929: < 0.003162, 0.007290, 0.003162> + 930: < 0.003195, 0.007412, 0.002787> + 931: < 0.002816, 0.007538, 0.002816> + 932: < 0.003162, 0.007290, 0.003162> + 933: < 0.003526, 0.007152, 0.003127> + 934: < 0.003565, 0.007270, 0.002758> + 935: < 0.003195, 0.007412, 0.002787> + 936: < 0.003526, 0.007152, 0.003127> + 937: < 0.003880, 0.006998, 0.003093> + 938: < 0.003924, 0.007112, 0.002729> + 939: < 0.003565, 0.007270, 0.002758> + 940: < 0.003880, 0.006998, 0.003093> + 941: < 0.004223, 0.006828, 0.003060> + 942: < 0.004273, 0.006937, 0.002701> + 943: < 0.003924, 0.007112, 0.002729> + 944: < 0.004223, 0.006828, 0.003060> + 945: < 0.004553, 0.006641, 0.003030> + 946: < 0.004609, 0.006745, 0.002676> + 947: < 0.004273, 0.006937, 0.002701> + 948: < 0.004553, 0.006641, 0.003030> + 949: < 0.004870, 0.006439, 0.003004> + 950: < 0.004931, 0.006537, 0.002655> + 951: < 0.004609, 0.006745, 0.002676> + 952: < 0.004870, 0.006439, 0.003004> + 953: < 0.005172, 0.006219, 0.002984> + 954: < 0.005240, 0.006311, 0.002638> + 955: < 0.004931, 0.006537, 0.002655> + 956: < 0.005172, 0.006219, 0.002984> + 957: < 0.005459, 0.005983, 0.002971> + 958: < 0.005533, 0.006069, 0.002627> + 959: < 0.005240, 0.006311, 0.002638> + 960: <-0.005533, 0.006069, 0.002627> + 961: <-0.005240, 0.006311, 0.002638> + 962: <-0.005301, 0.006393, 0.002281> + 963: <-0.005599, 0.006146, 0.002272> + 964: <-0.005240, 0.006311, 0.002638> + 965: <-0.004931, 0.006537, 0.002655> + 966: <-0.004987, 0.006623, 0.002295> + 967: <-0.005301, 0.006393, 0.002281> + 968: <-0.004931, 0.006537, 0.002655> + 969: <-0.004609, 0.006745, 0.002676> + 970: <-0.004659, 0.006836, 0.002313> + 971: <-0.004987, 0.006623, 0.002295> + 972: <-0.004609, 0.006745, 0.002676> + 973: <-0.004273, 0.006937, 0.002701> + 974: <-0.004318, 0.007033, 0.002333> + 975: <-0.004659, 0.006836, 0.002313> + 976: <-0.004273, 0.006937, 0.002701> + 977: <-0.003924, 0.007112, 0.002729> + 978: <-0.003965, 0.007212, 0.002356> + 979: <-0.004318, 0.007033, 0.002333> + 980: <-0.003924, 0.007112, 0.002729> + 981: <-0.003565, 0.007270, 0.002758> + 982: <-0.003601, 0.007374, 0.002380> + 983: <-0.003965, 0.007212, 0.002356> + 984: <-0.003565, 0.007270, 0.002758> + 985: <-0.003195, 0.007412, 0.002787> + 986: <-0.003227, 0.007519, 0.002405> + 987: <-0.003601, 0.007374, 0.002380> + 988: <-0.003195, 0.007412, 0.002787> + 989: <-0.002816, 0.007538, 0.002816> + 990: <-0.002843, 0.007648, 0.002429> + 991: <-0.003227, 0.007519, 0.002405> + 992: <-0.002816, 0.007538, 0.002816> + 993: <-0.002429, 0.007648, 0.002843> + 994: <-0.002452, 0.007759, 0.002452> + 995: <-0.002843, 0.007648, 0.002429> + 996: <-0.002429, 0.007648, 0.002843> + 997: <-0.002035, 0.007740, 0.002868> + 998: <-0.002053, 0.007854, 0.002473> + 999: <-0.002452, 0.007759, 0.002452> + 1000: <-0.002035, 0.007740, 0.002868> + 1001: <-0.001635, 0.007817, 0.002890> + 1002: <-0.001650, 0.007932, 0.002492> + 1003: <-0.002053, 0.007854, 0.002473> + 1004: <-0.001635, 0.007817, 0.002890> + 1005: <-0.001230, 0.007876, 0.002908> + 1006: <-0.001241, 0.007992, 0.002507> + 1007: <-0.001650, 0.007932, 0.002492> + 1008: <-0.001230, 0.007876, 0.002908> + 1009: <-0.000822, 0.007919, 0.002922> + 1010: <-0.000829, 0.008036, 0.002519> + 1011: <-0.001241, 0.007992, 0.002507> + 1012: <-0.000822, 0.007919, 0.002922> + 1013: <-0.000412, 0.007945, 0.002931> + 1014: <-0.000415, 0.008062, 0.002527> + 1015: <-0.000829, 0.008036, 0.002519> + 1016: <-0.000412, 0.007945, 0.002931> + 1017: <-0.000000, 0.007953, 0.002934> + 1018: <-0.000000, 0.008070, 0.002530> + 1019: <-0.000415, 0.008062, 0.002527> + 1020: <-0.000000, 0.007953, 0.002934> + 1021: < 0.000412, 0.007945, 0.002931> + 1022: < 0.000415, 0.008062, 0.002527> + 1023: <-0.000000, 0.008070, 0.002530> + 1024: < 0.000412, 0.007945, 0.002931> + 1025: < 0.000822, 0.007919, 0.002922> + 1026: < 0.000829, 0.008036, 0.002519> + 1027: < 0.000415, 0.008062, 0.002527> + 1028: < 0.000822, 0.007919, 0.002922> + 1029: < 0.001230, 0.007876, 0.002908> + 1030: < 0.001241, 0.007992, 0.002507> + 1031: < 0.000829, 0.008036, 0.002519> + 1032: < 0.001230, 0.007876, 0.002908> + 1033: < 0.001635, 0.007817, 0.002890> + 1034: < 0.001650, 0.007932, 0.002492> + 1035: < 0.001241, 0.007992, 0.002507> + 1036: < 0.001635, 0.007817, 0.002890> + 1037: < 0.002035, 0.007740, 0.002868> + 1038: < 0.002053, 0.007854, 0.002473> + 1039: < 0.001650, 0.007932, 0.002492> + 1040: < 0.002035, 0.007740, 0.002868> + 1041: < 0.002429, 0.007648, 0.002843> + 1042: < 0.002452, 0.007759, 0.002452> + 1043: < 0.002053, 0.007854, 0.002473> + 1044: < 0.002429, 0.007648, 0.002843> + 1045: < 0.002816, 0.007538, 0.002816> + 1046: < 0.002843, 0.007648, 0.002429> + 1047: < 0.002452, 0.007759, 0.002452> + 1048: < 0.002816, 0.007538, 0.002816> + 1049: < 0.003195, 0.007412, 0.002787> + 1050: < 0.003227, 0.007519, 0.002405> + 1051: < 0.002843, 0.007648, 0.002429> + 1052: < 0.003195, 0.007412, 0.002787> + 1053: < 0.003565, 0.007270, 0.002758> + 1054: < 0.003601, 0.007374, 0.002380> + 1055: < 0.003227, 0.007519, 0.002405> + 1056: < 0.003565, 0.007270, 0.002758> + 1057: < 0.003924, 0.007112, 0.002729> + 1058: < 0.003965, 0.007212, 0.002356> + 1059: < 0.003601, 0.007374, 0.002380> + 1060: < 0.003924, 0.007112, 0.002729> + 1061: < 0.004273, 0.006937, 0.002701> + 1062: < 0.004318, 0.007033, 0.002333> + 1063: < 0.003965, 0.007212, 0.002356> + 1064: < 0.004273, 0.006937, 0.002701> + 1065: < 0.004609, 0.006745, 0.002676> + 1066: < 0.004659, 0.006836, 0.002313> + 1067: < 0.004318, 0.007033, 0.002333> + 1068: < 0.004609, 0.006745, 0.002676> + 1069: < 0.004931, 0.006537, 0.002655> + 1070: < 0.004987, 0.006623, 0.002295> + 1071: < 0.004659, 0.006836, 0.002313> + 1072: < 0.004931, 0.006537, 0.002655> + 1073: < 0.005240, 0.006311, 0.002638> + 1074: < 0.005301, 0.006393, 0.002281> + 1075: < 0.004987, 0.006623, 0.002295> + 1076: < 0.005240, 0.006311, 0.002638> + 1077: < 0.005533, 0.006069, 0.002627> + 1078: < 0.005599, 0.006146, 0.002272> + 1079: < 0.005301, 0.006393, 0.002281> + 1080: <-0.005599, 0.006146, 0.002272> + 1081: <-0.005301, 0.006393, 0.002281> + 1082: <-0.005355, 0.006464, 0.001915> + 1083: <-0.005657, 0.006212, 0.001908> + 1084: <-0.005301, 0.006393, 0.002281> + 1085: <-0.004987, 0.006623, 0.002295> + 1086: <-0.005037, 0.006698, 0.001926> + 1087: <-0.005355, 0.006464, 0.001915> + 1088: <-0.004987, 0.006623, 0.002295> + 1089: <-0.004659, 0.006836, 0.002313> + 1090: <-0.004705, 0.006915, 0.001940> + 1091: <-0.005037, 0.006698, 0.001926> + 1092: <-0.004659, 0.006836, 0.002313> + 1093: <-0.004318, 0.007033, 0.002333> + 1094: <-0.004360, 0.007115, 0.001957> + 1095: <-0.004705, 0.006915, 0.001940> + 1096: <-0.004318, 0.007033, 0.002333> + 1097: <-0.003965, 0.007212, 0.002356> + 1098: <-0.004002, 0.007297, 0.001975> + 1099: <-0.004360, 0.007115, 0.001957> + 1100: <-0.003965, 0.007212, 0.002356> + 1101: <-0.003601, 0.007374, 0.002380> + 1102: <-0.003634, 0.007462, 0.001995> + 1103: <-0.004002, 0.007297, 0.001975> + 1104: <-0.003601, 0.007374, 0.002380> + 1105: <-0.003227, 0.007519, 0.002405> + 1106: <-0.003255, 0.007610, 0.002015> + 1107: <-0.003634, 0.007462, 0.001995> + 1108: <-0.003227, 0.007519, 0.002405> + 1109: <-0.002843, 0.007648, 0.002429> + 1110: <-0.002868, 0.007740, 0.002035> + 1111: <-0.003255, 0.007610, 0.002015> + 1112: <-0.002843, 0.007648, 0.002429> + 1113: <-0.002452, 0.007759, 0.002452> + 1114: <-0.002473, 0.007854, 0.002053> + 1115: <-0.002868, 0.007740, 0.002035> + 1116: <-0.002452, 0.007759, 0.002452> + 1117: <-0.002053, 0.007854, 0.002473> + 1118: <-0.002071, 0.007950, 0.002071> + 1119: <-0.002473, 0.007854, 0.002053> + 1120: <-0.002053, 0.007854, 0.002473> + 1121: <-0.001650, 0.007932, 0.002492> + 1122: <-0.001663, 0.008029, 0.002086> + 1123: <-0.002071, 0.007950, 0.002071> + 1124: <-0.001650, 0.007932, 0.002492> + 1125: <-0.001241, 0.007992, 0.002507> + 1126: <-0.001252, 0.008090, 0.002099> + 1127: <-0.001663, 0.008029, 0.002086> + 1128: <-0.001241, 0.007992, 0.002507> + 1129: <-0.000829, 0.008036, 0.002519> + 1130: <-0.000836, 0.008134, 0.002109> + 1131: <-0.001252, 0.008090, 0.002099> + 1132: <-0.000829, 0.008036, 0.002519> + 1133: <-0.000415, 0.008062, 0.002527> + 1134: <-0.000419, 0.008161, 0.002116> + 1135: <-0.000836, 0.008134, 0.002109> + 1136: <-0.000415, 0.008062, 0.002527> + 1137: <-0.000000, 0.008070, 0.002530> + 1138: <-0.000000, 0.008169, 0.002118> + 1139: <-0.000419, 0.008161, 0.002116> + 1140: <-0.000000, 0.008070, 0.002530> + 1141: < 0.000415, 0.008062, 0.002527> + 1142: < 0.000419, 0.008161, 0.002116> + 1143: <-0.000000, 0.008169, 0.002118> + 1144: < 0.000415, 0.008062, 0.002527> + 1145: < 0.000829, 0.008036, 0.002519> + 1146: < 0.000836, 0.008134, 0.002109> + 1147: < 0.000419, 0.008161, 0.002116> + 1148: < 0.000829, 0.008036, 0.002519> + 1149: < 0.001241, 0.007992, 0.002507> + 1150: < 0.001252, 0.008090, 0.002099> + 1151: < 0.000836, 0.008134, 0.002109> + 1152: < 0.001241, 0.007992, 0.002507> + 1153: < 0.001650, 0.007932, 0.002492> + 1154: < 0.001663, 0.008029, 0.002086> + 1155: < 0.001252, 0.008090, 0.002099> + 1156: < 0.001650, 0.007932, 0.002492> + 1157: < 0.002053, 0.007854, 0.002473> + 1158: < 0.002071, 0.007950, 0.002071> + 1159: < 0.001663, 0.008029, 0.002086> + 1160: < 0.002053, 0.007854, 0.002473> + 1161: < 0.002452, 0.007759, 0.002452> + 1162: < 0.002473, 0.007854, 0.002053> + 1163: < 0.002071, 0.007950, 0.002071> + 1164: < 0.002452, 0.007759, 0.002452> + 1165: < 0.002843, 0.007648, 0.002429> + 1166: < 0.002868, 0.007740, 0.002035> + 1167: < 0.002473, 0.007854, 0.002053> + 1168: < 0.002843, 0.007648, 0.002429> + 1169: < 0.003227, 0.007519, 0.002405> + 1170: < 0.003255, 0.007610, 0.002015> + 1171: < 0.002868, 0.007740, 0.002035> + 1172: < 0.003227, 0.007519, 0.002405> + 1173: < 0.003601, 0.007374, 0.002380> + 1174: < 0.003634, 0.007462, 0.001995> + 1175: < 0.003255, 0.007610, 0.002015> + 1176: < 0.003601, 0.007374, 0.002380> + 1177: < 0.003965, 0.007212, 0.002356> + 1178: < 0.004002, 0.007297, 0.001975> + 1179: < 0.003634, 0.007462, 0.001995> + 1180: < 0.003965, 0.007212, 0.002356> + 1181: < 0.004318, 0.007033, 0.002333> + 1182: < 0.004360, 0.007115, 0.001957> + 1183: < 0.004002, 0.007297, 0.001975> + 1184: < 0.004318, 0.007033, 0.002333> + 1185: < 0.004659, 0.006836, 0.002313> + 1186: < 0.004705, 0.006915, 0.001940> + 1187: < 0.004360, 0.007115, 0.001957> + 1188: < 0.004659, 0.006836, 0.002313> + 1189: < 0.004987, 0.006623, 0.002295> + 1190: < 0.005037, 0.006698, 0.001926> + 1191: < 0.004705, 0.006915, 0.001940> + 1192: < 0.004987, 0.006623, 0.002295> + 1193: < 0.005301, 0.006393, 0.002281> + 1194: < 0.005355, 0.006464, 0.001915> + 1195: < 0.005037, 0.006698, 0.001926> + 1196: < 0.005301, 0.006393, 0.002281> + 1197: < 0.005599, 0.006146, 0.002272> + 1198: < 0.005657, 0.006212, 0.001908> + 1199: < 0.005355, 0.006464, 0.001915> + 1200: <-0.005657, 0.006212, 0.001908> + 1201: <-0.005355, 0.006464, 0.001915> + 1202: <-0.005401, 0.006523, 0.001541> + 1203: <-0.005707, 0.006269, 0.001536> + 1204: <-0.005355, 0.006464, 0.001915> + 1205: <-0.005037, 0.006698, 0.001926> + 1206: <-0.005080, 0.006761, 0.001550> + 1207: <-0.005401, 0.006523, 0.001541> + 1208: <-0.005037, 0.006698, 0.001926> + 1209: <-0.004705, 0.006915, 0.001940> + 1210: <-0.004744, 0.006980, 0.001561> + 1211: <-0.005080, 0.006761, 0.001550> + 1212: <-0.004705, 0.006915, 0.001940> + 1213: <-0.004360, 0.007115, 0.001957> + 1214: <-0.004395, 0.007183, 0.001574> + 1215: <-0.004744, 0.006980, 0.001561> + 1216: <-0.004360, 0.007115, 0.001957> + 1217: <-0.004002, 0.007297, 0.001975> + 1218: <-0.004034, 0.007367, 0.001588> + 1219: <-0.004395, 0.007183, 0.001574> + 1220: <-0.004002, 0.007297, 0.001975> + 1221: <-0.003634, 0.007462, 0.001995> + 1222: <-0.003663, 0.007535, 0.001603> + 1223: <-0.004034, 0.007367, 0.001588> + 1224: <-0.003634, 0.007462, 0.001995> + 1225: <-0.003255, 0.007610, 0.002015> + 1226: <-0.003281, 0.007684, 0.001619> + 1227: <-0.003663, 0.007535, 0.001603> + 1228: <-0.003255, 0.007610, 0.002015> + 1229: <-0.002868, 0.007740, 0.002035> + 1230: <-0.002890, 0.007817, 0.001635> + 1231: <-0.003281, 0.007684, 0.001619> + 1232: <-0.002868, 0.007740, 0.002035> + 1233: <-0.002473, 0.007854, 0.002053> + 1234: <-0.002492, 0.007932, 0.001650> + 1235: <-0.002890, 0.007817, 0.001635> + 1236: <-0.002473, 0.007854, 0.002053> + 1237: <-0.002071, 0.007950, 0.002071> + 1238: <-0.002086, 0.008029, 0.001663> + 1239: <-0.002492, 0.007932, 0.001650> + 1240: <-0.002071, 0.007950, 0.002071> + 1241: <-0.001663, 0.008029, 0.002086> + 1242: <-0.001676, 0.008109, 0.001676> + 1243: <-0.002086, 0.008029, 0.001663> + 1244: <-0.001663, 0.008029, 0.002086> + 1245: <-0.001252, 0.008090, 0.002099> + 1246: <-0.001261, 0.008171, 0.001686> + 1247: <-0.001676, 0.008109, 0.001676> + 1248: <-0.001252, 0.008090, 0.002099> + 1249: <-0.000836, 0.008134, 0.002109> + 1250: <-0.000842, 0.008215, 0.001694> + 1251: <-0.001261, 0.008171, 0.001686> + 1252: <-0.000836, 0.008134, 0.002109> + 1253: <-0.000419, 0.008161, 0.002116> + 1254: <-0.000422, 0.008242, 0.001699> + 1255: <-0.000842, 0.008215, 0.001694> + 1256: <-0.000419, 0.008161, 0.002116> + 1257: <-0.000000, 0.008169, 0.002118> + 1258: < 0.000000, 0.008251, 0.001701> + 1259: <-0.000422, 0.008242, 0.001699> + 1260: <-0.000000, 0.008169, 0.002118> + 1261: < 0.000419, 0.008161, 0.002116> + 1262: < 0.000422, 0.008242, 0.001699> + 1263: < 0.000000, 0.008251, 0.001701> + 1264: < 0.000419, 0.008161, 0.002116> + 1265: < 0.000836, 0.008134, 0.002109> + 1266: < 0.000842, 0.008215, 0.001694> + 1267: < 0.000422, 0.008242, 0.001699> + 1268: < 0.000836, 0.008134, 0.002109> + 1269: < 0.001252, 0.008090, 0.002099> + 1270: < 0.001261, 0.008171, 0.001686> + 1271: < 0.000842, 0.008215, 0.001694> + 1272: < 0.001252, 0.008090, 0.002099> + 1273: < 0.001663, 0.008029, 0.002086> + 1274: < 0.001676, 0.008109, 0.001676> + 1275: < 0.001261, 0.008171, 0.001686> + 1276: < 0.001663, 0.008029, 0.002086> + 1277: < 0.002071, 0.007950, 0.002071> + 1278: < 0.002086, 0.008029, 0.001663> + 1279: < 0.001676, 0.008109, 0.001676> + 1280: < 0.002071, 0.007950, 0.002071> + 1281: < 0.002473, 0.007854, 0.002053> + 1282: < 0.002492, 0.007932, 0.001650> + 1283: < 0.002086, 0.008029, 0.001663> + 1284: < 0.002473, 0.007854, 0.002053> + 1285: < 0.002868, 0.007740, 0.002035> + 1286: < 0.002890, 0.007817, 0.001635> + 1287: < 0.002492, 0.007932, 0.001650> + 1288: < 0.002868, 0.007740, 0.002035> + 1289: < 0.003255, 0.007610, 0.002015> + 1290: < 0.003281, 0.007684, 0.001619> + 1291: < 0.002890, 0.007817, 0.001635> + 1292: < 0.003255, 0.007610, 0.002015> + 1293: < 0.003634, 0.007462, 0.001995> + 1294: < 0.003663, 0.007535, 0.001603> + 1295: < 0.003281, 0.007684, 0.001619> + 1296: < 0.003634, 0.007462, 0.001995> + 1297: < 0.004002, 0.007297, 0.001975> + 1298: < 0.004034, 0.007367, 0.001588> + 1299: < 0.003663, 0.007535, 0.001603> + 1300: < 0.004002, 0.007297, 0.001975> + 1301: < 0.004360, 0.007115, 0.001957> + 1302: < 0.004395, 0.007183, 0.001574> + 1303: < 0.004034, 0.007367, 0.001588> + 1304: < 0.004360, 0.007115, 0.001957> + 1305: < 0.004705, 0.006915, 0.001940> + 1306: < 0.004744, 0.006980, 0.001561> + 1307: < 0.004395, 0.007183, 0.001574> + 1308: < 0.004705, 0.006915, 0.001940> + 1309: < 0.005037, 0.006698, 0.001926> + 1310: < 0.005080, 0.006761, 0.001550> + 1311: < 0.004744, 0.006980, 0.001561> + 1312: < 0.005037, 0.006698, 0.001926> + 1313: < 0.005355, 0.006464, 0.001915> + 1314: < 0.005401, 0.006523, 0.001541> + 1315: < 0.005080, 0.006761, 0.001550> + 1316: < 0.005355, 0.006464, 0.001915> + 1317: < 0.005657, 0.006212, 0.001908> + 1318: < 0.005707, 0.006269, 0.001536> + 1319: < 0.005401, 0.006523, 0.001541> + 1320: <-0.005707, 0.006269, 0.001536> + 1321: <-0.005401, 0.006523, 0.001541> + 1322: <-0.005438, 0.006570, 0.001161> + 1323: <-0.005747, 0.006313, 0.001157> + 1324: <-0.005401, 0.006523, 0.001541> + 1325: <-0.005080, 0.006761, 0.001550> + 1326: <-0.005114, 0.006810, 0.001168> + 1327: <-0.005438, 0.006570, 0.001161> + 1328: <-0.005080, 0.006761, 0.001550> + 1329: <-0.004744, 0.006980, 0.001561> + 1330: <-0.004776, 0.007032, 0.001176> + 1331: <-0.005114, 0.006810, 0.001168> + 1332: <-0.004744, 0.006980, 0.001561> + 1333: <-0.004395, 0.007183, 0.001574> + 1334: <-0.004424, 0.007236, 0.001185> + 1335: <-0.004776, 0.007032, 0.001176> + 1336: <-0.004395, 0.007183, 0.001574> + 1337: <-0.004034, 0.007367, 0.001588> + 1338: <-0.004061, 0.007423, 0.001196> + 1339: <-0.004424, 0.007236, 0.001185> + 1340: <-0.004034, 0.007367, 0.001588> + 1341: <-0.003663, 0.007535, 0.001603> + 1342: <-0.003686, 0.007591, 0.001207> + 1343: <-0.004061, 0.007423, 0.001196> + 1344: <-0.003663, 0.007535, 0.001603> + 1345: <-0.003281, 0.007684, 0.001619> + 1346: <-0.003302, 0.007743, 0.001219> + 1347: <-0.003686, 0.007591, 0.001207> + 1348: <-0.003281, 0.007684, 0.001619> + 1349: <-0.002890, 0.007817, 0.001635> + 1350: <-0.002908, 0.007876, 0.001230> + 1351: <-0.003302, 0.007743, 0.001219> + 1352: <-0.002890, 0.007817, 0.001635> + 1353: <-0.002492, 0.007932, 0.001650> + 1354: <-0.002507, 0.007992, 0.001241> + 1355: <-0.002908, 0.007876, 0.001230> + 1356: <-0.002492, 0.007932, 0.001650> + 1357: <-0.002086, 0.008029, 0.001663> + 1358: <-0.002099, 0.008090, 0.001252> + 1359: <-0.002507, 0.007992, 0.001241> + 1360: <-0.002086, 0.008029, 0.001663> + 1361: <-0.001676, 0.008109, 0.001676> + 1362: <-0.001686, 0.008171, 0.001261> + 1363: <-0.002099, 0.008090, 0.001252> + 1364: <-0.001676, 0.008109, 0.001676> + 1365: <-0.001261, 0.008171, 0.001686> + 1366: <-0.001269, 0.008233, 0.001269> + 1367: <-0.001686, 0.008171, 0.001261> + 1368: <-0.001261, 0.008171, 0.001686> + 1369: <-0.000842, 0.008215, 0.001694> + 1370: <-0.000848, 0.008278, 0.001275> + 1371: <-0.001269, 0.008233, 0.001269> + 1372: <-0.000842, 0.008215, 0.001694> + 1373: <-0.000422, 0.008242, 0.001699> + 1374: <-0.000424, 0.008305, 0.001278> + 1375: <-0.000848, 0.008278, 0.001275> + 1376: <-0.000422, 0.008242, 0.001699> + 1377: < 0.000000, 0.008251, 0.001701> + 1378: < 0.000000, 0.008314, 0.001280> + 1379: <-0.000424, 0.008305, 0.001278> + 1380: < 0.000000, 0.008251, 0.001701> + 1381: < 0.000422, 0.008242, 0.001699> + 1382: < 0.000424, 0.008305, 0.001278> + 1383: < 0.000000, 0.008314, 0.001280> + 1384: < 0.000422, 0.008242, 0.001699> + 1385: < 0.000842, 0.008215, 0.001694> + 1386: < 0.000848, 0.008278, 0.001275> + 1387: < 0.000424, 0.008305, 0.001278> + 1388: < 0.000842, 0.008215, 0.001694> + 1389: < 0.001261, 0.008171, 0.001686> + 1390: < 0.001269, 0.008233, 0.001269> + 1391: < 0.000848, 0.008278, 0.001275> + 1392: < 0.001261, 0.008171, 0.001686> + 1393: < 0.001676, 0.008109, 0.001676> + 1394: < 0.001686, 0.008171, 0.001261> + 1395: < 0.001269, 0.008233, 0.001269> + 1396: < 0.001676, 0.008109, 0.001676> + 1397: < 0.002086, 0.008029, 0.001663> + 1398: < 0.002099, 0.008090, 0.001252> + 1399: < 0.001686, 0.008171, 0.001261> + 1400: < 0.002086, 0.008029, 0.001663> + 1401: < 0.002492, 0.007932, 0.001650> + 1402: < 0.002507, 0.007992, 0.001241> + 1403: < 0.002099, 0.008090, 0.001252> + 1404: < 0.002492, 0.007932, 0.001650> + 1405: < 0.002890, 0.007817, 0.001635> + 1406: < 0.002908, 0.007876, 0.001230> + 1407: < 0.002507, 0.007992, 0.001241> + 1408: < 0.002890, 0.007817, 0.001635> + 1409: < 0.003281, 0.007684, 0.001619> + 1410: < 0.003302, 0.007743, 0.001219> + 1411: < 0.002908, 0.007876, 0.001230> + 1412: < 0.003281, 0.007684, 0.001619> + 1413: < 0.003663, 0.007535, 0.001603> + 1414: < 0.003686, 0.007591, 0.001207> + 1415: < 0.003302, 0.007743, 0.001219> + 1416: < 0.003663, 0.007535, 0.001603> + 1417: < 0.004034, 0.007367, 0.001588> + 1418: < 0.004061, 0.007423, 0.001196> + 1419: < 0.003686, 0.007591, 0.001207> + 1420: < 0.004034, 0.007367, 0.001588> + 1421: < 0.004395, 0.007183, 0.001574> + 1422: < 0.004424, 0.007236, 0.001185> + 1423: < 0.004061, 0.007423, 0.001196> + 1424: < 0.004395, 0.007183, 0.001574> + 1425: < 0.004744, 0.006980, 0.001561> + 1426: < 0.004776, 0.007032, 0.001176> + 1427: < 0.004424, 0.007236, 0.001185> + 1428: < 0.004744, 0.006980, 0.001561> + 1429: < 0.005080, 0.006761, 0.001550> + 1430: < 0.005114, 0.006810, 0.001168> + 1431: < 0.004776, 0.007032, 0.001176> + 1432: < 0.005080, 0.006761, 0.001550> + 1433: < 0.005401, 0.006523, 0.001541> + 1434: < 0.005438, 0.006570, 0.001161> + 1435: < 0.005114, 0.006810, 0.001168> + 1436: < 0.005401, 0.006523, 0.001541> + 1437: < 0.005707, 0.006269, 0.001536> + 1438: < 0.005747, 0.006313, 0.001157> + 1439: < 0.005438, 0.006570, 0.001161> + 1440: <-0.005747, 0.006313, 0.001157> + 1441: <-0.005438, 0.006570, 0.001161> + 1442: <-0.005466, 0.006605, 0.000777> + 1443: <-0.005776, 0.006346, 0.000774> + 1444: <-0.005438, 0.006570, 0.001161> + 1445: <-0.005114, 0.006810, 0.001168> + 1446: <-0.005140, 0.006846, 0.000781> + 1447: <-0.005466, 0.006605, 0.000777> + 1448: <-0.005114, 0.006810, 0.001168> + 1449: <-0.004776, 0.007032, 0.001176> + 1450: <-0.004800, 0.007069, 0.000786> + 1451: <-0.005140, 0.006846, 0.000781> + 1452: <-0.004776, 0.007032, 0.001176> + 1453: <-0.004424, 0.007236, 0.001185> + 1454: <-0.004446, 0.007275, 0.000792> + 1455: <-0.004800, 0.007069, 0.000786> + 1456: <-0.004424, 0.007236, 0.001185> + 1457: <-0.004061, 0.007423, 0.001196> + 1458: <-0.004081, 0.007462, 0.000799> + 1459: <-0.004446, 0.007275, 0.000792> + 1460: <-0.004061, 0.007423, 0.001196> + 1461: <-0.003686, 0.007591, 0.001207> + 1462: <-0.003704, 0.007632, 0.000807> + 1463: <-0.004081, 0.007462, 0.000799> + 1464: <-0.003686, 0.007591, 0.001207> + 1465: <-0.003302, 0.007743, 0.001219> + 1466: <-0.003318, 0.007785, 0.000814> + 1467: <-0.003704, 0.007632, 0.000807> + 1468: <-0.003302, 0.007743, 0.001219> + 1469: <-0.002908, 0.007876, 0.001230> + 1470: <-0.002922, 0.007919, 0.000822> + 1471: <-0.003318, 0.007785, 0.000814> + 1472: <-0.002908, 0.007876, 0.001230> + 1473: <-0.002507, 0.007992, 0.001241> + 1474: <-0.002519, 0.008036, 0.000829> + 1475: <-0.002922, 0.007919, 0.000822> + 1476: <-0.002507, 0.007992, 0.001241> + 1477: <-0.002099, 0.008090, 0.001252> + 1478: <-0.002109, 0.008134, 0.000836> + 1479: <-0.002519, 0.008036, 0.000829> + 1480: <-0.002099, 0.008090, 0.001252> + 1481: <-0.001686, 0.008171, 0.001261> + 1482: <-0.001694, 0.008215, 0.000842> + 1483: <-0.002109, 0.008134, 0.000836> + 1484: <-0.001686, 0.008171, 0.001261> + 1485: <-0.001269, 0.008233, 0.001269> + 1486: <-0.001275, 0.008278, 0.000848> + 1487: <-0.001694, 0.008215, 0.000842> + 1488: <-0.001269, 0.008233, 0.001269> + 1489: <-0.000848, 0.008278, 0.001275> + 1490: <-0.000852, 0.008323, 0.000852> + 1491: <-0.001275, 0.008278, 0.000848> + 1492: <-0.000848, 0.008278, 0.001275> + 1493: <-0.000424, 0.008305, 0.001278> + 1494: <-0.000426, 0.008350, 0.000854> + 1495: <-0.000852, 0.008323, 0.000852> + 1496: <-0.000424, 0.008305, 0.001278> + 1497: < 0.000000, 0.008314, 0.001280> + 1498: < 0.000000, 0.008359, 0.000855> + 1499: <-0.000426, 0.008350, 0.000854> + 1500: < 0.000000, 0.008314, 0.001280> + 1501: < 0.000424, 0.008305, 0.001278> + 1502: < 0.000426, 0.008350, 0.000854> + 1503: < 0.000000, 0.008359, 0.000855> + 1504: < 0.000424, 0.008305, 0.001278> + 1505: < 0.000848, 0.008278, 0.001275> + 1506: < 0.000852, 0.008323, 0.000852> + 1507: < 0.000426, 0.008350, 0.000854> + 1508: < 0.000848, 0.008278, 0.001275> + 1509: < 0.001269, 0.008233, 0.001269> + 1510: < 0.001275, 0.008278, 0.000848> + 1511: < 0.000852, 0.008323, 0.000852> + 1512: < 0.001269, 0.008233, 0.001269> + 1513: < 0.001686, 0.008171, 0.001261> + 1514: < 0.001694, 0.008215, 0.000842> + 1515: < 0.001275, 0.008278, 0.000848> + 1516: < 0.001686, 0.008171, 0.001261> + 1517: < 0.002099, 0.008090, 0.001252> + 1518: < 0.002109, 0.008134, 0.000836> + 1519: < 0.001694, 0.008215, 0.000842> + 1520: < 0.002099, 0.008090, 0.001252> + 1521: < 0.002507, 0.007992, 0.001241> + 1522: < 0.002519, 0.008036, 0.000829> + 1523: < 0.002109, 0.008134, 0.000836> + 1524: < 0.002507, 0.007992, 0.001241> + 1525: < 0.002908, 0.007876, 0.001230> + 1526: < 0.002922, 0.007919, 0.000822> + 1527: < 0.002519, 0.008036, 0.000829> + 1528: < 0.002908, 0.007876, 0.001230> + 1529: < 0.003302, 0.007743, 0.001219> + 1530: < 0.003318, 0.007785, 0.000814> + 1531: < 0.002922, 0.007919, 0.000822> + 1532: < 0.003302, 0.007743, 0.001219> + 1533: < 0.003686, 0.007591, 0.001207> + 1534: < 0.003704, 0.007632, 0.000807> + 1535: < 0.003318, 0.007785, 0.000814> + 1536: < 0.003686, 0.007591, 0.001207> + 1537: < 0.004061, 0.007423, 0.001196> + 1538: < 0.004081, 0.007462, 0.000799> + 1539: < 0.003704, 0.007632, 0.000807> + 1540: < 0.004061, 0.007423, 0.001196> + 1541: < 0.004424, 0.007236, 0.001185> + 1542: < 0.004446, 0.007275, 0.000792> + 1543: < 0.004081, 0.007462, 0.000799> + 1544: < 0.004424, 0.007236, 0.001185> + 1545: < 0.004776, 0.007032, 0.001176> + 1546: < 0.004800, 0.007069, 0.000786> + 1547: < 0.004446, 0.007275, 0.000792> + 1548: < 0.004776, 0.007032, 0.001176> + 1549: < 0.005114, 0.006810, 0.001168> + 1550: < 0.005140, 0.006846, 0.000781> + 1551: < 0.004800, 0.007069, 0.000786> + 1552: < 0.005114, 0.006810, 0.001168> + 1553: < 0.005438, 0.006570, 0.001161> + 1554: < 0.005466, 0.006605, 0.000777> + 1555: < 0.005140, 0.006846, 0.000781> + 1556: < 0.005438, 0.006570, 0.001161> + 1557: < 0.005747, 0.006313, 0.001157> + 1558: < 0.005776, 0.006346, 0.000774> + 1559: < 0.005466, 0.006605, 0.000777> + 1560: <-0.005776, 0.006346, 0.000774> + 1561: <-0.005466, 0.006605, 0.000777> + 1562: <-0.005483, 0.006626, 0.000389> + 1563: <-0.005794, 0.006366, 0.000388> + 1564: <-0.005466, 0.006605, 0.000777> + 1565: <-0.005140, 0.006846, 0.000781> + 1566: <-0.005156, 0.006868, 0.000391> + 1567: <-0.005483, 0.006626, 0.000389> + 1568: <-0.005140, 0.006846, 0.000781> + 1569: <-0.004800, 0.007069, 0.000786> + 1570: <-0.004815, 0.007092, 0.000394> + 1571: <-0.005156, 0.006868, 0.000391> + 1572: <-0.004800, 0.007069, 0.000786> + 1573: <-0.004446, 0.007275, 0.000792> + 1574: <-0.004460, 0.007298, 0.000397> + 1575: <-0.004815, 0.007092, 0.000394> + 1576: <-0.004446, 0.007275, 0.000792> + 1577: <-0.004081, 0.007462, 0.000799> + 1578: <-0.004093, 0.007487, 0.000400> + 1579: <-0.004460, 0.007298, 0.000397> + 1580: <-0.004081, 0.007462, 0.000799> + 1581: <-0.003704, 0.007632, 0.000807> + 1582: <-0.003716, 0.007657, 0.000404> + 1583: <-0.004093, 0.007487, 0.000400> + 1584: <-0.003704, 0.007632, 0.000807> + 1585: <-0.003318, 0.007785, 0.000814> + 1586: <-0.003328, 0.007810, 0.000408> + 1587: <-0.003716, 0.007657, 0.000404> + 1588: <-0.003318, 0.007785, 0.000814> + 1589: <-0.002922, 0.007919, 0.000822> + 1590: <-0.002931, 0.007945, 0.000412> + 1591: <-0.003328, 0.007810, 0.000408> + 1592: <-0.002922, 0.007919, 0.000822> + 1593: <-0.002519, 0.008036, 0.000829> + 1594: <-0.002527, 0.008062, 0.000415> + 1595: <-0.002931, 0.007945, 0.000412> + 1596: <-0.002519, 0.008036, 0.000829> + 1597: <-0.002109, 0.008134, 0.000836> + 1598: <-0.002116, 0.008161, 0.000419> + 1599: <-0.002527, 0.008062, 0.000415> + 1600: <-0.002109, 0.008134, 0.000836> + 1601: <-0.001694, 0.008215, 0.000842> + 1602: <-0.001699, 0.008242, 0.000422> + 1603: <-0.002116, 0.008161, 0.000419> + 1604: <-0.001694, 0.008215, 0.000842> + 1605: <-0.001275, 0.008278, 0.000848> + 1606: <-0.001278, 0.008305, 0.000424> + 1607: <-0.001699, 0.008242, 0.000422> + 1608: <-0.001275, 0.008278, 0.000848> + 1609: <-0.000852, 0.008323, 0.000852> + 1610: <-0.000854, 0.008350, 0.000426> + 1611: <-0.001278, 0.008305, 0.000424> + 1612: <-0.000852, 0.008323, 0.000852> + 1613: <-0.000426, 0.008350, 0.000854> + 1614: <-0.000428, 0.008377, 0.000428> + 1615: <-0.000854, 0.008350, 0.000426> + 1616: <-0.000426, 0.008350, 0.000854> + 1617: < 0.000000, 0.008359, 0.000855> + 1618: < 0.000000, 0.008386, 0.000428> + 1619: <-0.000428, 0.008377, 0.000428> + 1620: < 0.000000, 0.008359, 0.000855> + 1621: < 0.000426, 0.008350, 0.000854> + 1622: < 0.000428, 0.008377, 0.000428> + 1623: < 0.000000, 0.008386, 0.000428> + 1624: < 0.000426, 0.008350, 0.000854> + 1625: < 0.000852, 0.008323, 0.000852> + 1626: < 0.000854, 0.008350, 0.000426> + 1627: < 0.000428, 0.008377, 0.000428> + 1628: < 0.000852, 0.008323, 0.000852> + 1629: < 0.001275, 0.008278, 0.000848> + 1630: < 0.001278, 0.008305, 0.000424> + 1631: < 0.000854, 0.008350, 0.000426> + 1632: < 0.001275, 0.008278, 0.000848> + 1633: < 0.001694, 0.008215, 0.000842> + 1634: < 0.001699, 0.008242, 0.000422> + 1635: < 0.001278, 0.008305, 0.000424> + 1636: < 0.001694, 0.008215, 0.000842> + 1637: < 0.002109, 0.008134, 0.000836> + 1638: < 0.002116, 0.008161, 0.000419> + 1639: < 0.001699, 0.008242, 0.000422> + 1640: < 0.002109, 0.008134, 0.000836> + 1641: < 0.002519, 0.008036, 0.000829> + 1642: < 0.002527, 0.008062, 0.000415> + 1643: < 0.002116, 0.008161, 0.000419> + 1644: < 0.002519, 0.008036, 0.000829> + 1645: < 0.002922, 0.007919, 0.000822> + 1646: < 0.002931, 0.007945, 0.000412> + 1647: < 0.002527, 0.008062, 0.000415> + 1648: < 0.002922, 0.007919, 0.000822> + 1649: < 0.003318, 0.007785, 0.000814> + 1650: < 0.003328, 0.007810, 0.000408> + 1651: < 0.002931, 0.007945, 0.000412> + 1652: < 0.003318, 0.007785, 0.000814> + 1653: < 0.003704, 0.007632, 0.000807> + 1654: < 0.003716, 0.007657, 0.000404> + 1655: < 0.003328, 0.007810, 0.000408> + 1656: < 0.003704, 0.007632, 0.000807> + 1657: < 0.004081, 0.007462, 0.000799> + 1658: < 0.004093, 0.007487, 0.000400> + 1659: < 0.003716, 0.007657, 0.000404> + 1660: < 0.004081, 0.007462, 0.000799> + 1661: < 0.004446, 0.007275, 0.000792> + 1662: < 0.004460, 0.007298, 0.000397> + 1663: < 0.004093, 0.007487, 0.000400> + 1664: < 0.004446, 0.007275, 0.000792> + 1665: < 0.004800, 0.007069, 0.000786> + 1666: < 0.004815, 0.007092, 0.000394> + 1667: < 0.004460, 0.007298, 0.000397> + 1668: < 0.004800, 0.007069, 0.000786> + 1669: < 0.005140, 0.006846, 0.000781> + 1670: < 0.005156, 0.006868, 0.000391> + 1671: < 0.004815, 0.007092, 0.000394> + 1672: < 0.005140, 0.006846, 0.000781> + 1673: < 0.005466, 0.006605, 0.000777> + 1674: < 0.005483, 0.006626, 0.000389> + 1675: < 0.005156, 0.006868, 0.000391> + 1676: < 0.005466, 0.006605, 0.000777> + 1677: < 0.005776, 0.006346, 0.000774> + 1678: < 0.005794, 0.006366, 0.000388> + 1679: < 0.005483, 0.006626, 0.000389> + 1680: <-0.005794, 0.006366, 0.000388> + 1681: <-0.005483, 0.006626, 0.000389> + 1682: <-0.005489, 0.006633, -0.000000> + 1683: <-0.005801, 0.006373, -0.000000> + 1684: <-0.005483, 0.006626, 0.000389> + 1685: <-0.005156, 0.006868, 0.000391> + 1686: <-0.005162, 0.006875, -0.000000> + 1687: <-0.005489, 0.006633, -0.000000> + 1688: <-0.005156, 0.006868, 0.000391> + 1689: <-0.004815, 0.007092, 0.000394> + 1690: <-0.004820, 0.007099, -0.000000> + 1691: <-0.005162, 0.006875, -0.000000> + 1692: <-0.004815, 0.007092, 0.000394> + 1693: <-0.004460, 0.007298, 0.000397> + 1694: <-0.004465, 0.007306, -0.000000> + 1695: <-0.004820, 0.007099, -0.000000> + 1696: <-0.004460, 0.007298, 0.000397> + 1697: <-0.004093, 0.007487, 0.000400> + 1698: <-0.004098, 0.007495, -0.000000> + 1699: <-0.004465, 0.007306, -0.000000> + 1700: <-0.004093, 0.007487, 0.000400> + 1701: <-0.003716, 0.007657, 0.000404> + 1702: <-0.003720, 0.007665, -0.000000> + 1703: <-0.004098, 0.007495, -0.000000> + 1704: <-0.003716, 0.007657, 0.000404> + 1705: <-0.003328, 0.007810, 0.000408> + 1706: <-0.003331, 0.007818, -0.000000> + 1707: <-0.003720, 0.007665, -0.000000> + 1708: <-0.003328, 0.007810, 0.000408> + 1709: <-0.002931, 0.007945, 0.000412> + 1710: <-0.002934, 0.007953, -0.000000> + 1711: <-0.003331, 0.007818, -0.000000> + 1712: <-0.002931, 0.007945, 0.000412> + 1713: <-0.002527, 0.008062, 0.000415> + 1714: <-0.002530, 0.008070, 0.000000> + 1715: <-0.002934, 0.007953, -0.000000> + 1716: <-0.002527, 0.008062, 0.000415> + 1717: <-0.002116, 0.008161, 0.000419> + 1718: <-0.002118, 0.008169, -0.000000> + 1719: <-0.002530, 0.008070, 0.000000> + 1720: <-0.002116, 0.008161, 0.000419> + 1721: <-0.001699, 0.008242, 0.000422> + 1722: <-0.001701, 0.008251, 0.000000> + 1723: <-0.002118, 0.008169, -0.000000> + 1724: <-0.001699, 0.008242, 0.000422> + 1725: <-0.001278, 0.008305, 0.000424> + 1726: <-0.001280, 0.008314, 0.000000> + 1727: <-0.001701, 0.008251, 0.000000> + 1728: <-0.001278, 0.008305, 0.000424> + 1729: <-0.000854, 0.008350, 0.000426> + 1730: <-0.000855, 0.008359, 0.000000> + 1731: <-0.001280, 0.008314, 0.000000> + 1732: <-0.000854, 0.008350, 0.000426> + 1733: <-0.000428, 0.008377, 0.000428> + 1734: <-0.000428, 0.008386, 0.000000> + 1735: <-0.000855, 0.008359, 0.000000> + 1736: <-0.000428, 0.008377, 0.000428> + 1737: < 0.000000, 0.008386, 0.000428> + 1738: < 0.000000, 0.008395, 0.000000> + 1739: <-0.000428, 0.008386, 0.000000> + 1740: < 0.000000, 0.008386, 0.000428> + 1741: < 0.000428, 0.008377, 0.000428> + 1742: < 0.000428, 0.008386, 0.000000> + 1743: < 0.000000, 0.008395, 0.000000> + 1744: < 0.000428, 0.008377, 0.000428> + 1745: < 0.000854, 0.008350, 0.000426> + 1746: < 0.000855, 0.008359, 0.000000> + 1747: < 0.000428, 0.008386, 0.000000> + 1748: < 0.000854, 0.008350, 0.000426> + 1749: < 0.001278, 0.008305, 0.000424> + 1750: < 0.001280, 0.008314, 0.000000> + 1751: < 0.000855, 0.008359, 0.000000> + 1752: < 0.001278, 0.008305, 0.000424> + 1753: < 0.001699, 0.008242, 0.000422> + 1754: < 0.001701, 0.008251, 0.000000> + 1755: < 0.001280, 0.008314, 0.000000> + 1756: < 0.001699, 0.008242, 0.000422> + 1757: < 0.002116, 0.008161, 0.000419> + 1758: < 0.002118, 0.008169, 0.000000> + 1759: < 0.001701, 0.008251, 0.000000> + 1760: < 0.002116, 0.008161, 0.000419> + 1761: < 0.002527, 0.008062, 0.000415> + 1762: < 0.002530, 0.008070, 0.000000> + 1763: < 0.002118, 0.008169, 0.000000> + 1764: < 0.002527, 0.008062, 0.000415> + 1765: < 0.002931, 0.007945, 0.000412> + 1766: < 0.002934, 0.007953, 0.000000> + 1767: < 0.002530, 0.008070, 0.000000> + 1768: < 0.002931, 0.007945, 0.000412> + 1769: < 0.003328, 0.007810, 0.000408> + 1770: < 0.003331, 0.007818, 0.000000> + 1771: < 0.002934, 0.007953, 0.000000> + 1772: < 0.003328, 0.007810, 0.000408> + 1773: < 0.003716, 0.007657, 0.000404> + 1774: < 0.003720, 0.007665, 0.000000> + 1775: < 0.003331, 0.007818, 0.000000> + 1776: < 0.003716, 0.007657, 0.000404> + 1777: < 0.004093, 0.007487, 0.000400> + 1778: < 0.004098, 0.007495, 0.000000> + 1779: < 0.003720, 0.007665, 0.000000> + 1780: < 0.004093, 0.007487, 0.000400> + 1781: < 0.004460, 0.007298, 0.000397> + 1782: < 0.004465, 0.007306, -0.000000> + 1783: < 0.004098, 0.007495, 0.000000> + 1784: < 0.004460, 0.007298, 0.000397> + 1785: < 0.004815, 0.007092, 0.000394> + 1786: < 0.004820, 0.007099, 0.000000> + 1787: < 0.004465, 0.007306, -0.000000> + 1788: < 0.004815, 0.007092, 0.000394> + 1789: < 0.005156, 0.006868, 0.000391> + 1790: < 0.005162, 0.006875, 0.000000> + 1791: < 0.004820, 0.007099, 0.000000> + 1792: < 0.005156, 0.006868, 0.000391> + 1793: < 0.005483, 0.006626, 0.000389> + 1794: < 0.005489, 0.006633, 0.000000> + 1795: < 0.005162, 0.006875, 0.000000> + 1796: < 0.005483, 0.006626, 0.000389> + 1797: < 0.005794, 0.006366, 0.000388> + 1798: < 0.005801, 0.006373, 0.000000> + 1799: < 0.005489, 0.006633, 0.000000> + 1800: <-0.005801, 0.006373, -0.000000> + 1801: <-0.005489, 0.006633, -0.000000> + 1802: <-0.005483, 0.006626, -0.000389> + 1803: <-0.005794, 0.006366, -0.000388> + 1804: <-0.005489, 0.006633, -0.000000> + 1805: <-0.005162, 0.006875, -0.000000> + 1806: <-0.005156, 0.006868, -0.000391> + 1807: <-0.005483, 0.006626, -0.000389> + 1808: <-0.005162, 0.006875, -0.000000> + 1809: <-0.004820, 0.007099, -0.000000> + 1810: <-0.004815, 0.007092, -0.000394> + 1811: <-0.005156, 0.006868, -0.000391> + 1812: <-0.004820, 0.007099, -0.000000> + 1813: <-0.004465, 0.007306, -0.000000> + 1814: <-0.004460, 0.007298, -0.000397> + 1815: <-0.004815, 0.007092, -0.000394> + 1816: <-0.004465, 0.007306, -0.000000> + 1817: <-0.004098, 0.007495, -0.000000> + 1818: <-0.004093, 0.007487, -0.000400> + 1819: <-0.004460, 0.007298, -0.000397> + 1820: <-0.004098, 0.007495, -0.000000> + 1821: <-0.003720, 0.007665, -0.000000> + 1822: <-0.003716, 0.007657, -0.000404> + 1823: <-0.004093, 0.007487, -0.000400> + 1824: <-0.003720, 0.007665, -0.000000> + 1825: <-0.003331, 0.007818, -0.000000> + 1826: <-0.003328, 0.007810, -0.000408> + 1827: <-0.003716, 0.007657, -0.000404> + 1828: <-0.003331, 0.007818, -0.000000> + 1829: <-0.002934, 0.007953, -0.000000> + 1830: <-0.002931, 0.007945, -0.000412> + 1831: <-0.003328, 0.007810, -0.000408> + 1832: <-0.002934, 0.007953, -0.000000> + 1833: <-0.002530, 0.008070, 0.000000> + 1834: <-0.002527, 0.008062, -0.000415> + 1835: <-0.002931, 0.007945, -0.000412> + 1836: <-0.002530, 0.008070, 0.000000> + 1837: <-0.002118, 0.008169, -0.000000> + 1838: <-0.002116, 0.008161, -0.000419> + 1839: <-0.002527, 0.008062, -0.000415> + 1840: <-0.002118, 0.008169, -0.000000> + 1841: <-0.001701, 0.008251, 0.000000> + 1842: <-0.001699, 0.008242, -0.000422> + 1843: <-0.002116, 0.008161, -0.000419> + 1844: <-0.001701, 0.008251, 0.000000> + 1845: <-0.001280, 0.008314, 0.000000> + 1846: <-0.001278, 0.008305, -0.000424> + 1847: <-0.001699, 0.008242, -0.000422> + 1848: <-0.001280, 0.008314, 0.000000> + 1849: <-0.000855, 0.008359, 0.000000> + 1850: <-0.000854, 0.008350, -0.000426> + 1851: <-0.001278, 0.008305, -0.000424> + 1852: <-0.000855, 0.008359, 0.000000> + 1853: <-0.000428, 0.008386, 0.000000> + 1854: <-0.000428, 0.008377, -0.000428> + 1855: <-0.000854, 0.008350, -0.000426> + 1856: <-0.000428, 0.008386, 0.000000> + 1857: < 0.000000, 0.008395, 0.000000> + 1858: < 0.000000, 0.008386, -0.000428> + 1859: <-0.000428, 0.008377, -0.000428> + 1860: < 0.000000, 0.008395, 0.000000> + 1861: < 0.000428, 0.008386, 0.000000> + 1862: < 0.000428, 0.008377, -0.000428> + 1863: < 0.000000, 0.008386, -0.000428> + 1864: < 0.000428, 0.008386, 0.000000> + 1865: < 0.000855, 0.008359, 0.000000> + 1866: < 0.000854, 0.008350, -0.000426> + 1867: < 0.000428, 0.008377, -0.000428> + 1868: < 0.000855, 0.008359, 0.000000> + 1869: < 0.001280, 0.008314, 0.000000> + 1870: < 0.001278, 0.008305, -0.000424> + 1871: < 0.000854, 0.008350, -0.000426> + 1872: < 0.001280, 0.008314, 0.000000> + 1873: < 0.001701, 0.008251, 0.000000> + 1874: < 0.001699, 0.008242, -0.000422> + 1875: < 0.001278, 0.008305, -0.000424> + 1876: < 0.001701, 0.008251, 0.000000> + 1877: < 0.002118, 0.008169, 0.000000> + 1878: < 0.002116, 0.008161, -0.000419> + 1879: < 0.001699, 0.008242, -0.000422> + 1880: < 0.002118, 0.008169, 0.000000> + 1881: < 0.002530, 0.008070, 0.000000> + 1882: < 0.002527, 0.008062, -0.000415> + 1883: < 0.002116, 0.008161, -0.000419> + 1884: < 0.002530, 0.008070, 0.000000> + 1885: < 0.002934, 0.007953, 0.000000> + 1886: < 0.002931, 0.007945, -0.000412> + 1887: < 0.002527, 0.008062, -0.000415> + 1888: < 0.002934, 0.007953, 0.000000> + 1889: < 0.003331, 0.007818, 0.000000> + 1890: < 0.003328, 0.007810, -0.000408> + 1891: < 0.002931, 0.007945, -0.000412> + 1892: < 0.003331, 0.007818, 0.000000> + 1893: < 0.003720, 0.007665, 0.000000> + 1894: < 0.003716, 0.007657, -0.000404> + 1895: < 0.003328, 0.007810, -0.000408> + 1896: < 0.003720, 0.007665, 0.000000> + 1897: < 0.004098, 0.007495, 0.000000> + 1898: < 0.004093, 0.007487, -0.000400> + 1899: < 0.003716, 0.007657, -0.000404> + 1900: < 0.004098, 0.007495, 0.000000> + 1901: < 0.004465, 0.007306, -0.000000> + 1902: < 0.004460, 0.007298, -0.000397> + 1903: < 0.004093, 0.007487, -0.000400> + 1904: < 0.004465, 0.007306, -0.000000> + 1905: < 0.004820, 0.007099, 0.000000> + 1906: < 0.004815, 0.007092, -0.000394> + 1907: < 0.004460, 0.007298, -0.000397> + 1908: < 0.004820, 0.007099, 0.000000> + 1909: < 0.005162, 0.006875, 0.000000> + 1910: < 0.005156, 0.006868, -0.000391> + 1911: < 0.004815, 0.007092, -0.000394> + 1912: < 0.005162, 0.006875, 0.000000> + 1913: < 0.005489, 0.006633, 0.000000> + 1914: < 0.005483, 0.006626, -0.000389> + 1915: < 0.005156, 0.006868, -0.000391> + 1916: < 0.005489, 0.006633, 0.000000> + 1917: < 0.005801, 0.006373, 0.000000> + 1918: < 0.005794, 0.006366, -0.000388> + 1919: < 0.005483, 0.006626, -0.000389> + 1920: <-0.005794, 0.006366, -0.000388> + 1921: <-0.005483, 0.006626, -0.000389> + 1922: <-0.005466, 0.006605, -0.000777> + 1923: <-0.005776, 0.006346, -0.000774> + 1924: <-0.005483, 0.006626, -0.000389> + 1925: <-0.005156, 0.006868, -0.000391> + 1926: <-0.005140, 0.006846, -0.000781> + 1927: <-0.005466, 0.006605, -0.000777> + 1928: <-0.005156, 0.006868, -0.000391> + 1929: <-0.004815, 0.007092, -0.000394> + 1930: <-0.004800, 0.007069, -0.000786> + 1931: <-0.005140, 0.006846, -0.000781> + 1932: <-0.004815, 0.007092, -0.000394> + 1933: <-0.004460, 0.007298, -0.000397> + 1934: <-0.004446, 0.007275, -0.000792> + 1935: <-0.004800, 0.007069, -0.000786> + 1936: <-0.004460, 0.007298, -0.000397> + 1937: <-0.004093, 0.007487, -0.000400> + 1938: <-0.004081, 0.007462, -0.000799> + 1939: <-0.004446, 0.007275, -0.000792> + 1940: <-0.004093, 0.007487, -0.000400> + 1941: <-0.003716, 0.007657, -0.000404> + 1942: <-0.003704, 0.007632, -0.000807> + 1943: <-0.004081, 0.007462, -0.000799> + 1944: <-0.003716, 0.007657, -0.000404> + 1945: <-0.003328, 0.007810, -0.000408> + 1946: <-0.003318, 0.007785, -0.000814> + 1947: <-0.003704, 0.007632, -0.000807> + 1948: <-0.003328, 0.007810, -0.000408> + 1949: <-0.002931, 0.007945, -0.000412> + 1950: <-0.002922, 0.007919, -0.000822> + 1951: <-0.003318, 0.007785, -0.000814> + 1952: <-0.002931, 0.007945, -0.000412> + 1953: <-0.002527, 0.008062, -0.000415> + 1954: <-0.002519, 0.008036, -0.000829> + 1955: <-0.002922, 0.007919, -0.000822> + 1956: <-0.002527, 0.008062, -0.000415> + 1957: <-0.002116, 0.008161, -0.000419> + 1958: <-0.002109, 0.008134, -0.000836> + 1959: <-0.002519, 0.008036, -0.000829> + 1960: <-0.002116, 0.008161, -0.000419> + 1961: <-0.001699, 0.008242, -0.000422> + 1962: <-0.001694, 0.008215, -0.000842> + 1963: <-0.002109, 0.008134, -0.000836> + 1964: <-0.001699, 0.008242, -0.000422> + 1965: <-0.001278, 0.008305, -0.000424> + 1966: <-0.001275, 0.008278, -0.000848> + 1967: <-0.001694, 0.008215, -0.000842> + 1968: <-0.001278, 0.008305, -0.000424> + 1969: <-0.000854, 0.008350, -0.000426> + 1970: <-0.000852, 0.008323, -0.000852> + 1971: <-0.001275, 0.008278, -0.000848> + 1972: <-0.000854, 0.008350, -0.000426> + 1973: <-0.000428, 0.008377, -0.000428> + 1974: <-0.000426, 0.008350, -0.000854> + 1975: <-0.000852, 0.008323, -0.000852> + 1976: <-0.000428, 0.008377, -0.000428> + 1977: < 0.000000, 0.008386, -0.000428> + 1978: < 0.000000, 0.008359, -0.000855> + 1979: <-0.000426, 0.008350, -0.000854> + 1980: < 0.000000, 0.008386, -0.000428> + 1981: < 0.000428, 0.008377, -0.000428> + 1982: < 0.000426, 0.008350, -0.000854> + 1983: < 0.000000, 0.008359, -0.000855> + 1984: < 0.000428, 0.008377, -0.000428> + 1985: < 0.000854, 0.008350, -0.000426> + 1986: < 0.000852, 0.008323, -0.000852> + 1987: < 0.000426, 0.008350, -0.000854> + 1988: < 0.000854, 0.008350, -0.000426> + 1989: < 0.001278, 0.008305, -0.000424> + 1990: < 0.001275, 0.008278, -0.000848> + 1991: < 0.000852, 0.008323, -0.000852> + 1992: < 0.001278, 0.008305, -0.000424> + 1993: < 0.001699, 0.008242, -0.000422> + 1994: < 0.001694, 0.008215, -0.000842> + 1995: < 0.001275, 0.008278, -0.000848> + 1996: < 0.001699, 0.008242, -0.000422> + 1997: < 0.002116, 0.008161, -0.000419> + 1998: < 0.002109, 0.008134, -0.000836> + 1999: < 0.001694, 0.008215, -0.000842> + 2000: < 0.002116, 0.008161, -0.000419> + 2001: < 0.002527, 0.008062, -0.000415> + 2002: < 0.002519, 0.008036, -0.000829> + 2003: < 0.002109, 0.008134, -0.000836> + 2004: < 0.002527, 0.008062, -0.000415> + 2005: < 0.002931, 0.007945, -0.000412> + 2006: < 0.002922, 0.007919, -0.000822> + 2007: < 0.002519, 0.008036, -0.000829> + 2008: < 0.002931, 0.007945, -0.000412> + 2009: < 0.003328, 0.007810, -0.000408> + 2010: < 0.003318, 0.007785, -0.000814> + 2011: < 0.002922, 0.007919, -0.000822> + 2012: < 0.003328, 0.007810, -0.000408> + 2013: < 0.003716, 0.007657, -0.000404> + 2014: < 0.003704, 0.007632, -0.000807> + 2015: < 0.003318, 0.007785, -0.000814> + 2016: < 0.003716, 0.007657, -0.000404> + 2017: < 0.004093, 0.007487, -0.000400> + 2018: < 0.004081, 0.007462, -0.000799> + 2019: < 0.003704, 0.007632, -0.000807> + 2020: < 0.004093, 0.007487, -0.000400> + 2021: < 0.004460, 0.007298, -0.000397> + 2022: < 0.004446, 0.007275, -0.000792> + 2023: < 0.004081, 0.007462, -0.000799> + 2024: < 0.004460, 0.007298, -0.000397> + 2025: < 0.004815, 0.007092, -0.000394> + 2026: < 0.004800, 0.007069, -0.000786> + 2027: < 0.004446, 0.007275, -0.000792> + 2028: < 0.004815, 0.007092, -0.000394> + 2029: < 0.005156, 0.006868, -0.000391> + 2030: < 0.005140, 0.006846, -0.000781> + 2031: < 0.004800, 0.007069, -0.000786> + 2032: < 0.005156, 0.006868, -0.000391> + 2033: < 0.005483, 0.006626, -0.000389> + 2034: < 0.005466, 0.006605, -0.000777> + 2035: < 0.005140, 0.006846, -0.000781> + 2036: < 0.005483, 0.006626, -0.000389> + 2037: < 0.005794, 0.006366, -0.000388> + 2038: < 0.005776, 0.006346, -0.000774> + 2039: < 0.005466, 0.006605, -0.000777> + 2040: <-0.005776, 0.006346, -0.000774> + 2041: <-0.005466, 0.006605, -0.000777> + 2042: <-0.005438, 0.006570, -0.001161> + 2043: <-0.005747, 0.006313, -0.001157> + 2044: <-0.005466, 0.006605, -0.000777> + 2045: <-0.005140, 0.006846, -0.000781> + 2046: <-0.005114, 0.006810, -0.001168> + 2047: <-0.005438, 0.006570, -0.001161> + 2048: <-0.005140, 0.006846, -0.000781> + 2049: <-0.004800, 0.007069, -0.000786> + 2050: <-0.004776, 0.007032, -0.001176> + 2051: <-0.005114, 0.006810, -0.001168> + 2052: <-0.004800, 0.007069, -0.000786> + 2053: <-0.004446, 0.007275, -0.000792> + 2054: <-0.004424, 0.007236, -0.001185> + 2055: <-0.004776, 0.007032, -0.001176> + 2056: <-0.004446, 0.007275, -0.000792> + 2057: <-0.004081, 0.007462, -0.000799> + 2058: <-0.004061, 0.007423, -0.001196> + 2059: <-0.004424, 0.007236, -0.001185> + 2060: <-0.004081, 0.007462, -0.000799> + 2061: <-0.003704, 0.007632, -0.000807> + 2062: <-0.003686, 0.007591, -0.001207> + 2063: <-0.004061, 0.007423, -0.001196> + 2064: <-0.003704, 0.007632, -0.000807> + 2065: <-0.003318, 0.007785, -0.000814> + 2066: <-0.003302, 0.007743, -0.001219> + 2067: <-0.003686, 0.007591, -0.001207> + 2068: <-0.003318, 0.007785, -0.000814> + 2069: <-0.002922, 0.007919, -0.000822> + 2070: <-0.002908, 0.007876, -0.001230> + 2071: <-0.003302, 0.007743, -0.001219> + 2072: <-0.002922, 0.007919, -0.000822> + 2073: <-0.002519, 0.008036, -0.000829> + 2074: <-0.002507, 0.007992, -0.001241> + 2075: <-0.002908, 0.007876, -0.001230> + 2076: <-0.002519, 0.008036, -0.000829> + 2077: <-0.002109, 0.008134, -0.000836> + 2078: <-0.002099, 0.008090, -0.001252> + 2079: <-0.002507, 0.007992, -0.001241> + 2080: <-0.002109, 0.008134, -0.000836> + 2081: <-0.001694, 0.008215, -0.000842> + 2082: <-0.001686, 0.008171, -0.001261> + 2083: <-0.002099, 0.008090, -0.001252> + 2084: <-0.001694, 0.008215, -0.000842> + 2085: <-0.001275, 0.008278, -0.000848> + 2086: <-0.001269, 0.008233, -0.001269> + 2087: <-0.001686, 0.008171, -0.001261> + 2088: <-0.001275, 0.008278, -0.000848> + 2089: <-0.000852, 0.008323, -0.000852> + 2090: <-0.000848, 0.008278, -0.001275> + 2091: <-0.001269, 0.008233, -0.001269> + 2092: <-0.000852, 0.008323, -0.000852> + 2093: <-0.000426, 0.008350, -0.000854> + 2094: <-0.000424, 0.008305, -0.001278> + 2095: <-0.000848, 0.008278, -0.001275> + 2096: <-0.000426, 0.008350, -0.000854> + 2097: < 0.000000, 0.008359, -0.000855> + 2098: < 0.000000, 0.008314, -0.001280> + 2099: <-0.000424, 0.008305, -0.001278> + 2100: < 0.000000, 0.008359, -0.000855> + 2101: < 0.000426, 0.008350, -0.000854> + 2102: < 0.000424, 0.008305, -0.001278> + 2103: < 0.000000, 0.008314, -0.001280> + 2104: < 0.000426, 0.008350, -0.000854> + 2105: < 0.000852, 0.008323, -0.000852> + 2106: < 0.000848, 0.008278, -0.001275> + 2107: < 0.000424, 0.008305, -0.001278> + 2108: < 0.000852, 0.008323, -0.000852> + 2109: < 0.001275, 0.008278, -0.000848> + 2110: < 0.001269, 0.008233, -0.001269> + 2111: < 0.000848, 0.008278, -0.001275> + 2112: < 0.001275, 0.008278, -0.000848> + 2113: < 0.001694, 0.008215, -0.000842> + 2114: < 0.001686, 0.008171, -0.001261> + 2115: < 0.001269, 0.008233, -0.001269> + 2116: < 0.001694, 0.008215, -0.000842> + 2117: < 0.002109, 0.008134, -0.000836> + 2118: < 0.002099, 0.008090, -0.001252> + 2119: < 0.001686, 0.008171, -0.001261> + 2120: < 0.002109, 0.008134, -0.000836> + 2121: < 0.002519, 0.008036, -0.000829> + 2122: < 0.002507, 0.007992, -0.001241> + 2123: < 0.002099, 0.008090, -0.001252> + 2124: < 0.002519, 0.008036, -0.000829> + 2125: < 0.002922, 0.007919, -0.000822> + 2126: < 0.002908, 0.007876, -0.001230> + 2127: < 0.002507, 0.007992, -0.001241> + 2128: < 0.002922, 0.007919, -0.000822> + 2129: < 0.003318, 0.007785, -0.000814> + 2130: < 0.003302, 0.007743, -0.001219> + 2131: < 0.002908, 0.007876, -0.001230> + 2132: < 0.003318, 0.007785, -0.000814> + 2133: < 0.003704, 0.007632, -0.000807> + 2134: < 0.003686, 0.007591, -0.001207> + 2135: < 0.003302, 0.007743, -0.001219> + 2136: < 0.003704, 0.007632, -0.000807> + 2137: < 0.004081, 0.007462, -0.000799> + 2138: < 0.004061, 0.007423, -0.001196> + 2139: < 0.003686, 0.007591, -0.001207> + 2140: < 0.004081, 0.007462, -0.000799> + 2141: < 0.004446, 0.007275, -0.000792> + 2142: < 0.004424, 0.007236, -0.001185> + 2143: < 0.004061, 0.007423, -0.001196> + 2144: < 0.004446, 0.007275, -0.000792> + 2145: < 0.004800, 0.007069, -0.000786> + 2146: < 0.004776, 0.007032, -0.001176> + 2147: < 0.004424, 0.007236, -0.001185> + 2148: < 0.004800, 0.007069, -0.000786> + 2149: < 0.005140, 0.006846, -0.000781> + 2150: < 0.005114, 0.006810, -0.001168> + 2151: < 0.004776, 0.007032, -0.001176> + 2152: < 0.005140, 0.006846, -0.000781> + 2153: < 0.005466, 0.006605, -0.000777> + 2154: < 0.005438, 0.006570, -0.001161> + 2155: < 0.005114, 0.006810, -0.001168> + 2156: < 0.005466, 0.006605, -0.000777> + 2157: < 0.005776, 0.006346, -0.000774> + 2158: < 0.005747, 0.006313, -0.001157> + 2159: < 0.005438, 0.006570, -0.001161> + 2160: <-0.005747, 0.006313, -0.001157> + 2161: <-0.005438, 0.006570, -0.001161> + 2162: <-0.005401, 0.006523, -0.001541> + 2163: <-0.005707, 0.006269, -0.001536> + 2164: <-0.005438, 0.006570, -0.001161> + 2165: <-0.005114, 0.006810, -0.001168> + 2166: <-0.005080, 0.006761, -0.001550> + 2167: <-0.005401, 0.006523, -0.001541> + 2168: <-0.005114, 0.006810, -0.001168> + 2169: <-0.004776, 0.007032, -0.001176> + 2170: <-0.004744, 0.006980, -0.001561> + 2171: <-0.005080, 0.006761, -0.001550> + 2172: <-0.004776, 0.007032, -0.001176> + 2173: <-0.004424, 0.007236, -0.001185> + 2174: <-0.004395, 0.007183, -0.001574> + 2175: <-0.004744, 0.006980, -0.001561> + 2176: <-0.004424, 0.007236, -0.001185> + 2177: <-0.004061, 0.007423, -0.001196> + 2178: <-0.004034, 0.007367, -0.001588> + 2179: <-0.004395, 0.007183, -0.001574> + 2180: <-0.004061, 0.007423, -0.001196> + 2181: <-0.003686, 0.007591, -0.001207> + 2182: <-0.003663, 0.007535, -0.001603> + 2183: <-0.004034, 0.007367, -0.001588> + 2184: <-0.003686, 0.007591, -0.001207> + 2185: <-0.003302, 0.007743, -0.001219> + 2186: <-0.003281, 0.007684, -0.001619> + 2187: <-0.003663, 0.007535, -0.001603> + 2188: <-0.003302, 0.007743, -0.001219> + 2189: <-0.002908, 0.007876, -0.001230> + 2190: <-0.002890, 0.007817, -0.001635> + 2191: <-0.003281, 0.007684, -0.001619> + 2192: <-0.002908, 0.007876, -0.001230> + 2193: <-0.002507, 0.007992, -0.001241> + 2194: <-0.002492, 0.007932, -0.001650> + 2195: <-0.002890, 0.007817, -0.001635> + 2196: <-0.002507, 0.007992, -0.001241> + 2197: <-0.002099, 0.008090, -0.001252> + 2198: <-0.002086, 0.008029, -0.001663> + 2199: <-0.002492, 0.007932, -0.001650> + 2200: <-0.002099, 0.008090, -0.001252> + 2201: <-0.001686, 0.008171, -0.001261> + 2202: <-0.001676, 0.008109, -0.001676> + 2203: <-0.002086, 0.008029, -0.001663> + 2204: <-0.001686, 0.008171, -0.001261> + 2205: <-0.001269, 0.008233, -0.001269> + 2206: <-0.001261, 0.008171, -0.001686> + 2207: <-0.001676, 0.008109, -0.001676> + 2208: <-0.001269, 0.008233, -0.001269> + 2209: <-0.000848, 0.008278, -0.001275> + 2210: <-0.000842, 0.008215, -0.001694> + 2211: <-0.001261, 0.008171, -0.001686> + 2212: <-0.000848, 0.008278, -0.001275> + 2213: <-0.000424, 0.008305, -0.001278> + 2214: <-0.000422, 0.008242, -0.001699> + 2215: <-0.000842, 0.008215, -0.001694> + 2216: <-0.000424, 0.008305, -0.001278> + 2217: < 0.000000, 0.008314, -0.001280> + 2218: < 0.000000, 0.008251, -0.001701> + 2219: <-0.000422, 0.008242, -0.001699> + 2220: < 0.000000, 0.008314, -0.001280> + 2221: < 0.000424, 0.008305, -0.001278> + 2222: < 0.000422, 0.008242, -0.001699> + 2223: < 0.000000, 0.008251, -0.001701> + 2224: < 0.000424, 0.008305, -0.001278> + 2225: < 0.000848, 0.008278, -0.001275> + 2226: < 0.000842, 0.008215, -0.001694> + 2227: < 0.000422, 0.008242, -0.001699> + 2228: < 0.000848, 0.008278, -0.001275> + 2229: < 0.001269, 0.008233, -0.001269> + 2230: < 0.001261, 0.008171, -0.001686> + 2231: < 0.000842, 0.008215, -0.001694> + 2232: < 0.001269, 0.008233, -0.001269> + 2233: < 0.001686, 0.008171, -0.001261> + 2234: < 0.001676, 0.008109, -0.001676> + 2235: < 0.001261, 0.008171, -0.001686> + 2236: < 0.001686, 0.008171, -0.001261> + 2237: < 0.002099, 0.008090, -0.001252> + 2238: < 0.002086, 0.008029, -0.001663> + 2239: < 0.001676, 0.008109, -0.001676> + 2240: < 0.002099, 0.008090, -0.001252> + 2241: < 0.002507, 0.007992, -0.001241> + 2242: < 0.002492, 0.007932, -0.001650> + 2243: < 0.002086, 0.008029, -0.001663> + 2244: < 0.002507, 0.007992, -0.001241> + 2245: < 0.002908, 0.007876, -0.001230> + 2246: < 0.002890, 0.007817, -0.001635> + 2247: < 0.002492, 0.007932, -0.001650> + 2248: < 0.002908, 0.007876, -0.001230> + 2249: < 0.003302, 0.007743, -0.001219> + 2250: < 0.003281, 0.007684, -0.001619> + 2251: < 0.002890, 0.007817, -0.001635> + 2252: < 0.003302, 0.007743, -0.001219> + 2253: < 0.003686, 0.007591, -0.001207> + 2254: < 0.003663, 0.007535, -0.001603> + 2255: < 0.003281, 0.007684, -0.001619> + 2256: < 0.003686, 0.007591, -0.001207> + 2257: < 0.004061, 0.007423, -0.001196> + 2258: < 0.004034, 0.007367, -0.001588> + 2259: < 0.003663, 0.007535, -0.001603> + 2260: < 0.004061, 0.007423, -0.001196> + 2261: < 0.004424, 0.007236, -0.001185> + 2262: < 0.004395, 0.007183, -0.001574> + 2263: < 0.004034, 0.007367, -0.001588> + 2264: < 0.004424, 0.007236, -0.001185> + 2265: < 0.004776, 0.007032, -0.001176> + 2266: < 0.004744, 0.006980, -0.001561> + 2267: < 0.004395, 0.007183, -0.001574> + 2268: < 0.004776, 0.007032, -0.001176> + 2269: < 0.005114, 0.006810, -0.001168> + 2270: < 0.005080, 0.006761, -0.001550> + 2271: < 0.004744, 0.006980, -0.001561> + 2272: < 0.005114, 0.006810, -0.001168> + 2273: < 0.005438, 0.006570, -0.001161> + 2274: < 0.005401, 0.006523, -0.001541> + 2275: < 0.005080, 0.006761, -0.001550> + 2276: < 0.005438, 0.006570, -0.001161> + 2277: < 0.005747, 0.006313, -0.001157> + 2278: < 0.005707, 0.006269, -0.001536> + 2279: < 0.005401, 0.006523, -0.001541> + 2280: <-0.005707, 0.006269, -0.001536> + 2281: <-0.005401, 0.006523, -0.001541> + 2282: <-0.005355, 0.006464, -0.001915> + 2283: <-0.005657, 0.006212, -0.001908> + 2284: <-0.005401, 0.006523, -0.001541> + 2285: <-0.005080, 0.006761, -0.001550> + 2286: <-0.005037, 0.006698, -0.001926> + 2287: <-0.005355, 0.006464, -0.001915> + 2288: <-0.005080, 0.006761, -0.001550> + 2289: <-0.004744, 0.006980, -0.001561> + 2290: <-0.004705, 0.006915, -0.001940> + 2291: <-0.005037, 0.006698, -0.001926> + 2292: <-0.004744, 0.006980, -0.001561> + 2293: <-0.004395, 0.007183, -0.001574> + 2294: <-0.004360, 0.007115, -0.001957> + 2295: <-0.004705, 0.006915, -0.001940> + 2296: <-0.004395, 0.007183, -0.001574> + 2297: <-0.004034, 0.007367, -0.001588> + 2298: <-0.004002, 0.007297, -0.001975> + 2299: <-0.004360, 0.007115, -0.001957> + 2300: <-0.004034, 0.007367, -0.001588> + 2301: <-0.003663, 0.007535, -0.001603> + 2302: <-0.003634, 0.007462, -0.001995> + 2303: <-0.004002, 0.007297, -0.001975> + 2304: <-0.003663, 0.007535, -0.001603> + 2305: <-0.003281, 0.007684, -0.001619> + 2306: <-0.003255, 0.007610, -0.002015> + 2307: <-0.003634, 0.007462, -0.001995> + 2308: <-0.003281, 0.007684, -0.001619> + 2309: <-0.002890, 0.007817, -0.001635> + 2310: <-0.002868, 0.007740, -0.002035> + 2311: <-0.003255, 0.007610, -0.002015> + 2312: <-0.002890, 0.007817, -0.001635> + 2313: <-0.002492, 0.007932, -0.001650> + 2314: <-0.002473, 0.007854, -0.002053> + 2315: <-0.002868, 0.007740, -0.002035> + 2316: <-0.002492, 0.007932, -0.001650> + 2317: <-0.002086, 0.008029, -0.001663> + 2318: <-0.002071, 0.007950, -0.002071> + 2319: <-0.002473, 0.007854, -0.002053> + 2320: <-0.002086, 0.008029, -0.001663> + 2321: <-0.001676, 0.008109, -0.001676> + 2322: <-0.001663, 0.008029, -0.002086> + 2323: <-0.002071, 0.007950, -0.002071> + 2324: <-0.001676, 0.008109, -0.001676> + 2325: <-0.001261, 0.008171, -0.001686> + 2326: <-0.001252, 0.008090, -0.002099> + 2327: <-0.001663, 0.008029, -0.002086> + 2328: <-0.001261, 0.008171, -0.001686> + 2329: <-0.000842, 0.008215, -0.001694> + 2330: <-0.000836, 0.008134, -0.002109> + 2331: <-0.001252, 0.008090, -0.002099> + 2332: <-0.000842, 0.008215, -0.001694> + 2333: <-0.000422, 0.008242, -0.001699> + 2334: <-0.000419, 0.008161, -0.002116> + 2335: <-0.000836, 0.008134, -0.002109> + 2336: <-0.000422, 0.008242, -0.001699> + 2337: < 0.000000, 0.008251, -0.001701> + 2338: < 0.000000, 0.008169, -0.002118> + 2339: <-0.000419, 0.008161, -0.002116> + 2340: < 0.000000, 0.008251, -0.001701> + 2341: < 0.000422, 0.008242, -0.001699> + 2342: < 0.000419, 0.008161, -0.002116> + 2343: < 0.000000, 0.008169, -0.002118> + 2344: < 0.000422, 0.008242, -0.001699> + 2345: < 0.000842, 0.008215, -0.001694> + 2346: < 0.000836, 0.008134, -0.002109> + 2347: < 0.000419, 0.008161, -0.002116> + 2348: < 0.000842, 0.008215, -0.001694> + 2349: < 0.001261, 0.008171, -0.001686> + 2350: < 0.001252, 0.008090, -0.002099> + 2351: < 0.000836, 0.008134, -0.002109> + 2352: < 0.001261, 0.008171, -0.001686> + 2353: < 0.001676, 0.008109, -0.001676> + 2354: < 0.001663, 0.008029, -0.002086> + 2355: < 0.001252, 0.008090, -0.002099> + 2356: < 0.001676, 0.008109, -0.001676> + 2357: < 0.002086, 0.008029, -0.001663> + 2358: < 0.002071, 0.007950, -0.002071> + 2359: < 0.001663, 0.008029, -0.002086> + 2360: < 0.002086, 0.008029, -0.001663> + 2361: < 0.002492, 0.007932, -0.001650> + 2362: < 0.002473, 0.007854, -0.002053> + 2363: < 0.002071, 0.007950, -0.002071> + 2364: < 0.002492, 0.007932, -0.001650> + 2365: < 0.002890, 0.007817, -0.001635> + 2366: < 0.002868, 0.007740, -0.002035> + 2367: < 0.002473, 0.007854, -0.002053> + 2368: < 0.002890, 0.007817, -0.001635> + 2369: < 0.003281, 0.007684, -0.001619> + 2370: < 0.003255, 0.007610, -0.002015> + 2371: < 0.002868, 0.007740, -0.002035> + 2372: < 0.003281, 0.007684, -0.001619> + 2373: < 0.003663, 0.007535, -0.001603> + 2374: < 0.003634, 0.007462, -0.001995> + 2375: < 0.003255, 0.007610, -0.002015> + 2376: < 0.003663, 0.007535, -0.001603> + 2377: < 0.004034, 0.007367, -0.001588> + 2378: < 0.004002, 0.007297, -0.001975> + 2379: < 0.003634, 0.007462, -0.001995> + 2380: < 0.004034, 0.007367, -0.001588> + 2381: < 0.004395, 0.007183, -0.001574> + 2382: < 0.004360, 0.007115, -0.001957> + 2383: < 0.004002, 0.007297, -0.001975> + 2384: < 0.004395, 0.007183, -0.001574> + 2385: < 0.004744, 0.006980, -0.001561> + 2386: < 0.004705, 0.006915, -0.001940> + 2387: < 0.004360, 0.007115, -0.001957> + 2388: < 0.004744, 0.006980, -0.001561> + 2389: < 0.005080, 0.006761, -0.001550> + 2390: < 0.005037, 0.006698, -0.001926> + 2391: < 0.004705, 0.006915, -0.001940> + 2392: < 0.005080, 0.006761, -0.001550> + 2393: < 0.005401, 0.006523, -0.001541> + 2394: < 0.005355, 0.006464, -0.001915> + 2395: < 0.005037, 0.006698, -0.001926> + 2396: < 0.005401, 0.006523, -0.001541> + 2397: < 0.005707, 0.006269, -0.001536> + 2398: < 0.005657, 0.006212, -0.001908> + 2399: < 0.005355, 0.006464, -0.001915> + 2400: <-0.005657, 0.006212, -0.001908> + 2401: <-0.005355, 0.006464, -0.001915> + 2402: <-0.005301, 0.006393, -0.002281> + 2403: <-0.005599, 0.006146, -0.002272> + 2404: <-0.005355, 0.006464, -0.001915> + 2405: <-0.005037, 0.006698, -0.001926> + 2406: <-0.004987, 0.006623, -0.002295> + 2407: <-0.005301, 0.006393, -0.002281> + 2408: <-0.005037, 0.006698, -0.001926> + 2409: <-0.004705, 0.006915, -0.001940> + 2410: <-0.004659, 0.006836, -0.002313> + 2411: <-0.004987, 0.006623, -0.002295> + 2412: <-0.004705, 0.006915, -0.001940> + 2413: <-0.004360, 0.007115, -0.001957> + 2414: <-0.004318, 0.007033, -0.002333> + 2415: <-0.004659, 0.006836, -0.002313> + 2416: <-0.004360, 0.007115, -0.001957> + 2417: <-0.004002, 0.007297, -0.001975> + 2418: <-0.003965, 0.007212, -0.002356> + 2419: <-0.004318, 0.007033, -0.002333> + 2420: <-0.004002, 0.007297, -0.001975> + 2421: <-0.003634, 0.007462, -0.001995> + 2422: <-0.003601, 0.007374, -0.002380> + 2423: <-0.003965, 0.007212, -0.002356> + 2424: <-0.003634, 0.007462, -0.001995> + 2425: <-0.003255, 0.007610, -0.002015> + 2426: <-0.003227, 0.007519, -0.002405> + 2427: <-0.003601, 0.007374, -0.002380> + 2428: <-0.003255, 0.007610, -0.002015> + 2429: <-0.002868, 0.007740, -0.002035> + 2430: <-0.002843, 0.007648, -0.002429> + 2431: <-0.003227, 0.007519, -0.002405> + 2432: <-0.002868, 0.007740, -0.002035> + 2433: <-0.002473, 0.007854, -0.002053> + 2434: <-0.002452, 0.007759, -0.002452> + 2435: <-0.002843, 0.007648, -0.002429> + 2436: <-0.002473, 0.007854, -0.002053> + 2437: <-0.002071, 0.007950, -0.002071> + 2438: <-0.002053, 0.007854, -0.002473> + 2439: <-0.002452, 0.007759, -0.002452> + 2440: <-0.002071, 0.007950, -0.002071> + 2441: <-0.001663, 0.008029, -0.002086> + 2442: <-0.001650, 0.007932, -0.002492> + 2443: <-0.002053, 0.007854, -0.002473> + 2444: <-0.001663, 0.008029, -0.002086> + 2445: <-0.001252, 0.008090, -0.002099> + 2446: <-0.001241, 0.007992, -0.002507> + 2447: <-0.001650, 0.007932, -0.002492> + 2448: <-0.001252, 0.008090, -0.002099> + 2449: <-0.000836, 0.008134, -0.002109> + 2450: <-0.000829, 0.008036, -0.002519> + 2451: <-0.001241, 0.007992, -0.002507> + 2452: <-0.000836, 0.008134, -0.002109> + 2453: <-0.000419, 0.008161, -0.002116> + 2454: <-0.000415, 0.008062, -0.002527> + 2455: <-0.000829, 0.008036, -0.002519> + 2456: <-0.000419, 0.008161, -0.002116> + 2457: < 0.000000, 0.008169, -0.002118> + 2458: < 0.000000, 0.008070, -0.002530> + 2459: <-0.000415, 0.008062, -0.002527> + 2460: < 0.000000, 0.008169, -0.002118> + 2461: < 0.000419, 0.008161, -0.002116> + 2462: < 0.000415, 0.008062, -0.002527> + 2463: < 0.000000, 0.008070, -0.002530> + 2464: < 0.000419, 0.008161, -0.002116> + 2465: < 0.000836, 0.008134, -0.002109> + 2466: < 0.000829, 0.008036, -0.002519> + 2467: < 0.000415, 0.008062, -0.002527> + 2468: < 0.000836, 0.008134, -0.002109> + 2469: < 0.001252, 0.008090, -0.002099> + 2470: < 0.001241, 0.007992, -0.002507> + 2471: < 0.000829, 0.008036, -0.002519> + 2472: < 0.001252, 0.008090, -0.002099> + 2473: < 0.001663, 0.008029, -0.002086> + 2474: < 0.001650, 0.007932, -0.002492> + 2475: < 0.001241, 0.007992, -0.002507> + 2476: < 0.001663, 0.008029, -0.002086> + 2477: < 0.002071, 0.007950, -0.002071> + 2478: < 0.002053, 0.007854, -0.002473> + 2479: < 0.001650, 0.007932, -0.002492> + 2480: < 0.002071, 0.007950, -0.002071> + 2481: < 0.002473, 0.007854, -0.002053> + 2482: < 0.002452, 0.007759, -0.002452> + 2483: < 0.002053, 0.007854, -0.002473> + 2484: < 0.002473, 0.007854, -0.002053> + 2485: < 0.002868, 0.007740, -0.002035> + 2486: < 0.002843, 0.007648, -0.002429> + 2487: < 0.002452, 0.007759, -0.002452> + 2488: < 0.002868, 0.007740, -0.002035> + 2489: < 0.003255, 0.007610, -0.002015> + 2490: < 0.003227, 0.007519, -0.002405> + 2491: < 0.002843, 0.007648, -0.002429> + 2492: < 0.003255, 0.007610, -0.002015> + 2493: < 0.003634, 0.007462, -0.001995> + 2494: < 0.003601, 0.007374, -0.002380> + 2495: < 0.003227, 0.007519, -0.002405> + 2496: < 0.003634, 0.007462, -0.001995> + 2497: < 0.004002, 0.007297, -0.001975> + 2498: < 0.003965, 0.007212, -0.002356> + 2499: < 0.003601, 0.007374, -0.002380> + 2500: < 0.004002, 0.007297, -0.001975> + 2501: < 0.004360, 0.007115, -0.001957> + 2502: < 0.004318, 0.007033, -0.002333> + 2503: < 0.003965, 0.007212, -0.002356> + 2504: < 0.004360, 0.007115, -0.001957> + 2505: < 0.004705, 0.006915, -0.001940> + 2506: < 0.004659, 0.006836, -0.002313> + 2507: < 0.004318, 0.007033, -0.002333> + 2508: < 0.004705, 0.006915, -0.001940> + 2509: < 0.005037, 0.006698, -0.001926> + 2510: < 0.004987, 0.006623, -0.002295> + 2511: < 0.004659, 0.006836, -0.002313> + 2512: < 0.005037, 0.006698, -0.001926> + 2513: < 0.005355, 0.006464, -0.001915> + 2514: < 0.005301, 0.006393, -0.002281> + 2515: < 0.004987, 0.006623, -0.002295> + 2516: < 0.005355, 0.006464, -0.001915> + 2517: < 0.005657, 0.006212, -0.001908> + 2518: < 0.005599, 0.006146, -0.002272> + 2519: < 0.005301, 0.006393, -0.002281> + 2520: <-0.005599, 0.006146, -0.002272> + 2521: <-0.005301, 0.006393, -0.002281> + 2522: <-0.005240, 0.006311, -0.002638> + 2523: <-0.005533, 0.006069, -0.002627> + 2524: <-0.005301, 0.006393, -0.002281> + 2525: <-0.004987, 0.006623, -0.002295> + 2526: <-0.004931, 0.006537, -0.002655> + 2527: <-0.005240, 0.006311, -0.002638> + 2528: <-0.004987, 0.006623, -0.002295> + 2529: <-0.004659, 0.006836, -0.002313> + 2530: <-0.004609, 0.006745, -0.002676> + 2531: <-0.004931, 0.006537, -0.002655> + 2532: <-0.004659, 0.006836, -0.002313> + 2533: <-0.004318, 0.007033, -0.002333> + 2534: <-0.004273, 0.006937, -0.002701> + 2535: <-0.004609, 0.006745, -0.002676> + 2536: <-0.004318, 0.007033, -0.002333> + 2537: <-0.003965, 0.007212, -0.002356> + 2538: <-0.003924, 0.007112, -0.002729> + 2539: <-0.004273, 0.006937, -0.002701> + 2540: <-0.003965, 0.007212, -0.002356> + 2541: <-0.003601, 0.007374, -0.002380> + 2542: <-0.003565, 0.007270, -0.002758> + 2543: <-0.003924, 0.007112, -0.002729> + 2544: <-0.003601, 0.007374, -0.002380> + 2545: <-0.003227, 0.007519, -0.002405> + 2546: <-0.003195, 0.007412, -0.002787> + 2547: <-0.003565, 0.007270, -0.002758> + 2548: <-0.003227, 0.007519, -0.002405> + 2549: <-0.002843, 0.007648, -0.002429> + 2550: <-0.002816, 0.007538, -0.002816> + 2551: <-0.003195, 0.007412, -0.002787> + 2552: <-0.002843, 0.007648, -0.002429> + 2553: <-0.002452, 0.007759, -0.002452> + 2554: <-0.002429, 0.007648, -0.002843> + 2555: <-0.002816, 0.007538, -0.002816> + 2556: <-0.002452, 0.007759, -0.002452> + 2557: <-0.002053, 0.007854, -0.002473> + 2558: <-0.002035, 0.007740, -0.002868> + 2559: <-0.002429, 0.007648, -0.002843> + 2560: <-0.002053, 0.007854, -0.002473> + 2561: <-0.001650, 0.007932, -0.002492> + 2562: <-0.001635, 0.007817, -0.002890> + 2563: <-0.002035, 0.007740, -0.002868> + 2564: <-0.001650, 0.007932, -0.002492> + 2565: <-0.001241, 0.007992, -0.002507> + 2566: <-0.001230, 0.007876, -0.002908> + 2567: <-0.001635, 0.007817, -0.002890> + 2568: <-0.001241, 0.007992, -0.002507> + 2569: <-0.000829, 0.008036, -0.002519> + 2570: <-0.000822, 0.007919, -0.002922> + 2571: <-0.001230, 0.007876, -0.002908> + 2572: <-0.000829, 0.008036, -0.002519> + 2573: <-0.000415, 0.008062, -0.002527> + 2574: <-0.000412, 0.007945, -0.002931> + 2575: <-0.000822, 0.007919, -0.002922> + 2576: <-0.000415, 0.008062, -0.002527> + 2577: < 0.000000, 0.008070, -0.002530> + 2578: < 0.000000, 0.007953, -0.002934> + 2579: <-0.000412, 0.007945, -0.002931> + 2580: < 0.000000, 0.008070, -0.002530> + 2581: < 0.000415, 0.008062, -0.002527> + 2582: < 0.000412, 0.007945, -0.002931> + 2583: < 0.000000, 0.007953, -0.002934> + 2584: < 0.000415, 0.008062, -0.002527> + 2585: < 0.000829, 0.008036, -0.002519> + 2586: < 0.000822, 0.007919, -0.002922> + 2587: < 0.000412, 0.007945, -0.002931> + 2588: < 0.000829, 0.008036, -0.002519> + 2589: < 0.001241, 0.007992, -0.002507> + 2590: < 0.001230, 0.007876, -0.002908> + 2591: < 0.000822, 0.007919, -0.002922> + 2592: < 0.001241, 0.007992, -0.002507> + 2593: < 0.001650, 0.007932, -0.002492> + 2594: < 0.001635, 0.007817, -0.002890> + 2595: < 0.001230, 0.007876, -0.002908> + 2596: < 0.001650, 0.007932, -0.002492> + 2597: < 0.002053, 0.007854, -0.002473> + 2598: < 0.002035, 0.007740, -0.002868> + 2599: < 0.001635, 0.007817, -0.002890> + 2600: < 0.002053, 0.007854, -0.002473> + 2601: < 0.002452, 0.007759, -0.002452> + 2602: < 0.002429, 0.007648, -0.002843> + 2603: < 0.002035, 0.007740, -0.002868> + 2604: < 0.002452, 0.007759, -0.002452> + 2605: < 0.002843, 0.007648, -0.002429> + 2606: < 0.002816, 0.007538, -0.002816> + 2607: < 0.002429, 0.007648, -0.002843> + 2608: < 0.002843, 0.007648, -0.002429> + 2609: < 0.003227, 0.007519, -0.002405> + 2610: < 0.003195, 0.007412, -0.002787> + 2611: < 0.002816, 0.007538, -0.002816> + 2612: < 0.003227, 0.007519, -0.002405> + 2613: < 0.003601, 0.007374, -0.002380> + 2614: < 0.003565, 0.007270, -0.002758> + 2615: < 0.003195, 0.007412, -0.002787> + 2616: < 0.003601, 0.007374, -0.002380> + 2617: < 0.003965, 0.007212, -0.002356> + 2618: < 0.003924, 0.007112, -0.002729> + 2619: < 0.003565, 0.007270, -0.002758> + 2620: < 0.003965, 0.007212, -0.002356> + 2621: < 0.004318, 0.007033, -0.002333> + 2622: < 0.004273, 0.006937, -0.002701> + 2623: < 0.003924, 0.007112, -0.002729> + 2624: < 0.004318, 0.007033, -0.002333> + 2625: < 0.004659, 0.006836, -0.002313> + 2626: < 0.004609, 0.006745, -0.002676> + 2627: < 0.004273, 0.006937, -0.002701> + 2628: < 0.004659, 0.006836, -0.002313> + 2629: < 0.004987, 0.006623, -0.002295> + 2630: < 0.004931, 0.006537, -0.002655> + 2631: < 0.004609, 0.006745, -0.002676> + 2632: < 0.004987, 0.006623, -0.002295> + 2633: < 0.005301, 0.006393, -0.002281> + 2634: < 0.005240, 0.006311, -0.002638> + 2635: < 0.004931, 0.006537, -0.002655> + 2636: < 0.005301, 0.006393, -0.002281> + 2637: < 0.005599, 0.006146, -0.002272> + 2638: < 0.005533, 0.006069, -0.002627> + 2639: < 0.005240, 0.006311, -0.002638> + 2640: <-0.005533, 0.006069, -0.002627> + 2641: <-0.005240, 0.006311, -0.002638> + 2642: <-0.005172, 0.006219, -0.002984> + 2643: <-0.005459, 0.005983, -0.002971> + 2644: <-0.005240, 0.006311, -0.002638> + 2645: <-0.004931, 0.006537, -0.002655> + 2646: <-0.004870, 0.006439, -0.003004> + 2647: <-0.005172, 0.006219, -0.002984> + 2648: <-0.004931, 0.006537, -0.002655> + 2649: <-0.004609, 0.006745, -0.002676> + 2650: <-0.004553, 0.006641, -0.003030> + 2651: <-0.004870, 0.006439, -0.003004> + 2652: <-0.004609, 0.006745, -0.002676> + 2653: <-0.004273, 0.006937, -0.002701> + 2654: <-0.004223, 0.006828, -0.003060> + 2655: <-0.004553, 0.006641, -0.003030> + 2656: <-0.004273, 0.006937, -0.002701> + 2657: <-0.003924, 0.007112, -0.002729> + 2658: <-0.003880, 0.006998, -0.003093> + 2659: <-0.004223, 0.006828, -0.003060> + 2660: <-0.003924, 0.007112, -0.002729> + 2661: <-0.003565, 0.007270, -0.002758> + 2662: <-0.003526, 0.007152, -0.003127> + 2663: <-0.003880, 0.006998, -0.003093> + 2664: <-0.003565, 0.007270, -0.002758> + 2665: <-0.003195, 0.007412, -0.002787> + 2666: <-0.003162, 0.007290, -0.003162> + 2667: <-0.003526, 0.007152, -0.003127> + 2668: <-0.003195, 0.007412, -0.002787> + 2669: <-0.002816, 0.007538, -0.002816> + 2670: <-0.002787, 0.007412, -0.003195> + 2671: <-0.003162, 0.007290, -0.003162> + 2672: <-0.002816, 0.007538, -0.002816> + 2673: <-0.002429, 0.007648, -0.002843> + 2674: <-0.002405, 0.007519, -0.003227> + 2675: <-0.002787, 0.007412, -0.003195> + 2676: <-0.002429, 0.007648, -0.002843> + 2677: <-0.002035, 0.007740, -0.002868> + 2678: <-0.002015, 0.007610, -0.003255> + 2679: <-0.002405, 0.007519, -0.003227> + 2680: <-0.002035, 0.007740, -0.002868> + 2681: <-0.001635, 0.007817, -0.002890> + 2682: <-0.001619, 0.007684, -0.003281> + 2683: <-0.002015, 0.007610, -0.003255> + 2684: <-0.001635, 0.007817, -0.002890> + 2685: <-0.001230, 0.007876, -0.002908> + 2686: <-0.001219, 0.007743, -0.003302> + 2687: <-0.001619, 0.007684, -0.003281> + 2688: <-0.001230, 0.007876, -0.002908> + 2689: <-0.000822, 0.007919, -0.002922> + 2690: <-0.000814, 0.007785, -0.003318> + 2691: <-0.001219, 0.007743, -0.003302> + 2692: <-0.000822, 0.007919, -0.002922> + 2693: <-0.000412, 0.007945, -0.002931> + 2694: <-0.000408, 0.007810, -0.003328> + 2695: <-0.000814, 0.007785, -0.003318> + 2696: <-0.000412, 0.007945, -0.002931> + 2697: < 0.000000, 0.007953, -0.002934> + 2698: < 0.000000, 0.007818, -0.003331> + 2699: <-0.000408, 0.007810, -0.003328> + 2700: < 0.000000, 0.007953, -0.002934> + 2701: < 0.000412, 0.007945, -0.002931> + 2702: < 0.000408, 0.007810, -0.003328> + 2703: < 0.000000, 0.007818, -0.003331> + 2704: < 0.000412, 0.007945, -0.002931> + 2705: < 0.000822, 0.007919, -0.002922> + 2706: < 0.000814, 0.007785, -0.003318> + 2707: < 0.000408, 0.007810, -0.003328> + 2708: < 0.000822, 0.007919, -0.002922> + 2709: < 0.001230, 0.007876, -0.002908> + 2710: < 0.001219, 0.007743, -0.003302> + 2711: < 0.000814, 0.007785, -0.003318> + 2712: < 0.001230, 0.007876, -0.002908> + 2713: < 0.001635, 0.007817, -0.002890> + 2714: < 0.001619, 0.007684, -0.003281> + 2715: < 0.001219, 0.007743, -0.003302> + 2716: < 0.001635, 0.007817, -0.002890> + 2717: < 0.002035, 0.007740, -0.002868> + 2718: < 0.002015, 0.007610, -0.003255> + 2719: < 0.001619, 0.007684, -0.003281> + 2720: < 0.002035, 0.007740, -0.002868> + 2721: < 0.002429, 0.007648, -0.002843> + 2722: < 0.002405, 0.007519, -0.003227> + 2723: < 0.002015, 0.007610, -0.003255> + 2724: < 0.002429, 0.007648, -0.002843> + 2725: < 0.002816, 0.007538, -0.002816> + 2726: < 0.002787, 0.007412, -0.003195> + 2727: < 0.002405, 0.007519, -0.003227> + 2728: < 0.002816, 0.007538, -0.002816> + 2729: < 0.003195, 0.007412, -0.002787> + 2730: < 0.003162, 0.007290, -0.003162> + 2731: < 0.002787, 0.007412, -0.003195> + 2732: < 0.003195, 0.007412, -0.002787> + 2733: < 0.003565, 0.007270, -0.002758> + 2734: < 0.003526, 0.007152, -0.003127> + 2735: < 0.003162, 0.007290, -0.003162> + 2736: < 0.003565, 0.007270, -0.002758> + 2737: < 0.003924, 0.007112, -0.002729> + 2738: < 0.003880, 0.006998, -0.003093> + 2739: < 0.003526, 0.007152, -0.003127> + 2740: < 0.003924, 0.007112, -0.002729> + 2741: < 0.004273, 0.006937, -0.002701> + 2742: < 0.004223, 0.006828, -0.003060> + 2743: < 0.003880, 0.006998, -0.003093> + 2744: < 0.004273, 0.006937, -0.002701> + 2745: < 0.004609, 0.006745, -0.002676> + 2746: < 0.004553, 0.006641, -0.003030> + 2747: < 0.004223, 0.006828, -0.003060> + 2748: < 0.004609, 0.006745, -0.002676> + 2749: < 0.004931, 0.006537, -0.002655> + 2750: < 0.004870, 0.006439, -0.003004> + 2751: < 0.004553, 0.006641, -0.003030> + 2752: < 0.004931, 0.006537, -0.002655> + 2753: < 0.005240, 0.006311, -0.002638> + 2754: < 0.005172, 0.006219, -0.002984> + 2755: < 0.004870, 0.006439, -0.003004> + 2756: < 0.005240, 0.006311, -0.002638> + 2757: < 0.005533, 0.006069, -0.002627> + 2758: < 0.005459, 0.005983, -0.002971> + 2759: < 0.005172, 0.006219, -0.002984> + 2760: <-0.005459, 0.005983, -0.002971> + 2761: <-0.005172, 0.006219, -0.002984> + 2762: <-0.005099, 0.006117, -0.003318> + 2763: <-0.005379, 0.005888, -0.003302> + 2764: <-0.005172, 0.006219, -0.002984> + 2765: <-0.004870, 0.006439, -0.003004> + 2766: <-0.004804, 0.006329, -0.003342> + 2767: <-0.005099, 0.006117, -0.003318> + 2768: <-0.004870, 0.006439, -0.003004> + 2769: <-0.004553, 0.006641, -0.003030> + 2770: <-0.004494, 0.006525, -0.003372> + 2771: <-0.004804, 0.006329, -0.003342> + 2772: <-0.004553, 0.006641, -0.003030> + 2773: <-0.004223, 0.006828, -0.003060> + 2774: <-0.004170, 0.006705, -0.003407> + 2775: <-0.004494, 0.006525, -0.003372> + 2776: <-0.004223, 0.006828, -0.003060> + 2777: <-0.003880, 0.006998, -0.003093> + 2778: <-0.003834, 0.006870, -0.003446> + 2779: <-0.004170, 0.006705, -0.003407> + 2780: <-0.003880, 0.006998, -0.003093> + 2781: <-0.003526, 0.007152, -0.003127> + 2782: <-0.003486, 0.007018, -0.003486> + 2783: <-0.003834, 0.006870, -0.003446> + 2784: <-0.003526, 0.007152, -0.003127> + 2785: <-0.003162, 0.007290, -0.003162> + 2786: <-0.003127, 0.007152, -0.003526> + 2787: <-0.003486, 0.007018, -0.003486> + 2788: <-0.003162, 0.007290, -0.003162> + 2789: <-0.002787, 0.007412, -0.003195> + 2790: <-0.002758, 0.007270, -0.003565> + 2791: <-0.003127, 0.007152, -0.003526> + 2792: <-0.002787, 0.007412, -0.003195> + 2793: <-0.002405, 0.007519, -0.003227> + 2794: <-0.002380, 0.007374, -0.003601> + 2795: <-0.002758, 0.007270, -0.003565> + 2796: <-0.002405, 0.007519, -0.003227> + 2797: <-0.002015, 0.007610, -0.003255> + 2798: <-0.001995, 0.007462, -0.003634> + 2799: <-0.002380, 0.007374, -0.003601> + 2800: <-0.002015, 0.007610, -0.003255> + 2801: <-0.001619, 0.007684, -0.003281> + 2802: <-0.001603, 0.007535, -0.003663> + 2803: <-0.001995, 0.007462, -0.003634> + 2804: <-0.001619, 0.007684, -0.003281> + 2805: <-0.001219, 0.007743, -0.003302> + 2806: <-0.001207, 0.007591, -0.003686> + 2807: <-0.001603, 0.007535, -0.003663> + 2808: <-0.001219, 0.007743, -0.003302> + 2809: <-0.000814, 0.007785, -0.003318> + 2810: <-0.000807, 0.007632, -0.003704> + 2811: <-0.001207, 0.007591, -0.003686> + 2812: <-0.000814, 0.007785, -0.003318> + 2813: <-0.000408, 0.007810, -0.003328> + 2814: <-0.000404, 0.007657, -0.003716> + 2815: <-0.000807, 0.007632, -0.003704> + 2816: <-0.000408, 0.007810, -0.003328> + 2817: < 0.000000, 0.007818, -0.003331> + 2818: < 0.000000, 0.007665, -0.003720> + 2819: <-0.000404, 0.007657, -0.003716> + 2820: < 0.000000, 0.007818, -0.003331> + 2821: < 0.000408, 0.007810, -0.003328> + 2822: < 0.000404, 0.007657, -0.003716> + 2823: < 0.000000, 0.007665, -0.003720> + 2824: < 0.000408, 0.007810, -0.003328> + 2825: < 0.000814, 0.007785, -0.003318> + 2826: < 0.000807, 0.007632, -0.003704> + 2827: < 0.000404, 0.007657, -0.003716> + 2828: < 0.000814, 0.007785, -0.003318> + 2829: < 0.001219, 0.007743, -0.003302> + 2830: < 0.001207, 0.007591, -0.003686> + 2831: < 0.000807, 0.007632, -0.003704> + 2832: < 0.001219, 0.007743, -0.003302> + 2833: < 0.001619, 0.007684, -0.003281> + 2834: < 0.001603, 0.007535, -0.003663> + 2835: < 0.001207, 0.007591, -0.003686> + 2836: < 0.001619, 0.007684, -0.003281> + 2837: < 0.002015, 0.007610, -0.003255> + 2838: < 0.001995, 0.007462, -0.003634> + 2839: < 0.001603, 0.007535, -0.003663> + 2840: < 0.002015, 0.007610, -0.003255> + 2841: < 0.002405, 0.007519, -0.003227> + 2842: < 0.002380, 0.007374, -0.003601> + 2843: < 0.001995, 0.007462, -0.003634> + 2844: < 0.002405, 0.007519, -0.003227> + 2845: < 0.002787, 0.007412, -0.003195> + 2846: < 0.002758, 0.007270, -0.003565> + 2847: < 0.002380, 0.007374, -0.003601> + 2848: < 0.002787, 0.007412, -0.003195> + 2849: < 0.003162, 0.007290, -0.003162> + 2850: < 0.003127, 0.007152, -0.003526> + 2851: < 0.002758, 0.007270, -0.003565> + 2852: < 0.003162, 0.007290, -0.003162> + 2853: < 0.003526, 0.007152, -0.003127> + 2854: < 0.003486, 0.007018, -0.003486> + 2855: < 0.003127, 0.007152, -0.003526> + 2856: < 0.003526, 0.007152, -0.003127> + 2857: < 0.003880, 0.006998, -0.003093> + 2858: < 0.003834, 0.006870, -0.003446> + 2859: < 0.003486, 0.007018, -0.003486> + 2860: < 0.003880, 0.006998, -0.003093> + 2861: < 0.004223, 0.006828, -0.003060> + 2862: < 0.004170, 0.006705, -0.003407> + 2863: < 0.003834, 0.006870, -0.003446> + 2864: < 0.004223, 0.006828, -0.003060> + 2865: < 0.004553, 0.006641, -0.003030> + 2866: < 0.004494, 0.006525, -0.003372> + 2867: < 0.004170, 0.006705, -0.003407> + 2868: < 0.004553, 0.006641, -0.003030> + 2869: < 0.004870, 0.006439, -0.003004> + 2870: < 0.004804, 0.006329, -0.003342> + 2871: < 0.004494, 0.006525, -0.003372> + 2872: < 0.004870, 0.006439, -0.003004> + 2873: < 0.005172, 0.006219, -0.002984> + 2874: < 0.005099, 0.006117, -0.003318> + 2875: < 0.004804, 0.006329, -0.003342> + 2876: < 0.005172, 0.006219, -0.002984> + 2877: < 0.005459, 0.005983, -0.002971> + 2878: < 0.005379, 0.005888, -0.003302> + 2879: < 0.005099, 0.006117, -0.003318> + 2880: <-0.005379, 0.005888, -0.003302> + 2881: <-0.005099, 0.006117, -0.003318> + 2882: <-0.005023, 0.006006, -0.003637> + 2883: <-0.005294, 0.005786, -0.003619> + 2884: <-0.005099, 0.006117, -0.003318> + 2885: <-0.004804, 0.006329, -0.003342> + 2886: <-0.004736, 0.006210, -0.003666> + 2887: <-0.005023, 0.006006, -0.003637> + 2888: <-0.004804, 0.006329, -0.003342> + 2889: <-0.004494, 0.006525, -0.003372> + 2890: <-0.004434, 0.006397, -0.003701> + 2891: <-0.004736, 0.006210, -0.003666> + 2892: <-0.004494, 0.006525, -0.003372> + 2893: <-0.004170, 0.006705, -0.003407> + 2894: <-0.004117, 0.006570, -0.003743> + 2895: <-0.004434, 0.006397, -0.003701> + 2896: <-0.004170, 0.006705, -0.003407> + 2897: <-0.003834, 0.006870, -0.003446> + 2898: <-0.003788, 0.006727, -0.003788> + 2899: <-0.004117, 0.006570, -0.003743> + 2900: <-0.003834, 0.006870, -0.003446> + 2901: <-0.003486, 0.007018, -0.003486> + 2902: <-0.003446, 0.006870, -0.003834> + 2903: <-0.003788, 0.006727, -0.003788> + 2904: <-0.003486, 0.007018, -0.003486> + 2905: <-0.003127, 0.007152, -0.003526> + 2906: <-0.003093, 0.006998, -0.003880> + 2907: <-0.003446, 0.006870, -0.003834> + 2908: <-0.003127, 0.007152, -0.003526> + 2909: <-0.002758, 0.007270, -0.003565> + 2910: <-0.002729, 0.007112, -0.003924> + 2911: <-0.003093, 0.006998, -0.003880> + 2912: <-0.002758, 0.007270, -0.003565> + 2913: <-0.002380, 0.007374, -0.003601> + 2914: <-0.002356, 0.007212, -0.003965> + 2915: <-0.002729, 0.007112, -0.003924> + 2916: <-0.002380, 0.007374, -0.003601> + 2917: <-0.001995, 0.007462, -0.003634> + 2918: <-0.001975, 0.007297, -0.004002> + 2919: <-0.002356, 0.007212, -0.003965> + 2920: <-0.001995, 0.007462, -0.003634> + 2921: <-0.001603, 0.007535, -0.003663> + 2922: <-0.001588, 0.007367, -0.004034> + 2923: <-0.001975, 0.007297, -0.004002> + 2924: <-0.001603, 0.007535, -0.003663> + 2925: <-0.001207, 0.007591, -0.003686> + 2926: <-0.001196, 0.007423, -0.004061> + 2927: <-0.001588, 0.007367, -0.004034> + 2928: <-0.001207, 0.007591, -0.003686> + 2929: <-0.000807, 0.007632, -0.003704> + 2930: <-0.000799, 0.007462, -0.004081> + 2931: <-0.001196, 0.007423, -0.004061> + 2932: <-0.000807, 0.007632, -0.003704> + 2933: <-0.000404, 0.007657, -0.003716> + 2934: <-0.000400, 0.007487, -0.004093> + 2935: <-0.000799, 0.007462, -0.004081> + 2936: <-0.000404, 0.007657, -0.003716> + 2937: < 0.000000, 0.007665, -0.003720> + 2938: < 0.000000, 0.007495, -0.004098> + 2939: <-0.000400, 0.007487, -0.004093> + 2940: < 0.000000, 0.007665, -0.003720> + 2941: < 0.000404, 0.007657, -0.003716> + 2942: < 0.000400, 0.007487, -0.004093> + 2943: < 0.000000, 0.007495, -0.004098> + 2944: < 0.000404, 0.007657, -0.003716> + 2945: < 0.000807, 0.007632, -0.003704> + 2946: < 0.000799, 0.007462, -0.004081> + 2947: < 0.000400, 0.007487, -0.004093> + 2948: < 0.000807, 0.007632, -0.003704> + 2949: < 0.001207, 0.007591, -0.003686> + 2950: < 0.001196, 0.007423, -0.004061> + 2951: < 0.000799, 0.007462, -0.004081> + 2952: < 0.001207, 0.007591, -0.003686> + 2953: < 0.001603, 0.007535, -0.003663> + 2954: < 0.001588, 0.007367, -0.004034> + 2955: < 0.001196, 0.007423, -0.004061> + 2956: < 0.001603, 0.007535, -0.003663> + 2957: < 0.001995, 0.007462, -0.003634> + 2958: < 0.001975, 0.007297, -0.004002> + 2959: < 0.001588, 0.007367, -0.004034> + 2960: < 0.001995, 0.007462, -0.003634> + 2961: < 0.002380, 0.007374, -0.003601> + 2962: < 0.002356, 0.007212, -0.003965> + 2963: < 0.001975, 0.007297, -0.004002> + 2964: < 0.002380, 0.007374, -0.003601> + 2965: < 0.002758, 0.007270, -0.003565> + 2966: < 0.002729, 0.007112, -0.003924> + 2967: < 0.002356, 0.007212, -0.003965> + 2968: < 0.002758, 0.007270, -0.003565> + 2969: < 0.003127, 0.007152, -0.003526> + 2970: < 0.003093, 0.006998, -0.003880> + 2971: < 0.002729, 0.007112, -0.003924> + 2972: < 0.003127, 0.007152, -0.003526> + 2973: < 0.003486, 0.007018, -0.003486> + 2974: < 0.003446, 0.006870, -0.003834> + 2975: < 0.003093, 0.006998, -0.003880> + 2976: < 0.003486, 0.007018, -0.003486> + 2977: < 0.003834, 0.006870, -0.003446> + 2978: < 0.003788, 0.006727, -0.003788> + 2979: < 0.003446, 0.006870, -0.003834> + 2980: < 0.003834, 0.006870, -0.003446> + 2981: < 0.004170, 0.006705, -0.003407> + 2982: < 0.004117, 0.006570, -0.003743> + 2983: < 0.003788, 0.006727, -0.003788> + 2984: < 0.004170, 0.006705, -0.003407> + 2985: < 0.004494, 0.006525, -0.003372> + 2986: < 0.004434, 0.006397, -0.003701> + 2987: < 0.004117, 0.006570, -0.003743> + 2988: < 0.004494, 0.006525, -0.003372> + 2989: < 0.004804, 0.006329, -0.003342> + 2990: < 0.004736, 0.006210, -0.003666> + 2991: < 0.004434, 0.006397, -0.003701> + 2992: < 0.004804, 0.006329, -0.003342> + 2993: < 0.005099, 0.006117, -0.003318> + 2994: < 0.005023, 0.006006, -0.003637> + 2995: < 0.004736, 0.006210, -0.003666> + 2996: < 0.005099, 0.006117, -0.003318> + 2997: < 0.005379, 0.005888, -0.003302> + 2998: < 0.005294, 0.005786, -0.003619> + 2999: < 0.005023, 0.006006, -0.003637> + 3000: <-0.005294, 0.005786, -0.003619> + 3001: <-0.005023, 0.006006, -0.003637> + 3002: <-0.004946, 0.005887, -0.003941> + 3003: <-0.005207, 0.005678, -0.003918> + 3004: <-0.005023, 0.006006, -0.003637> + 3005: <-0.004736, 0.006210, -0.003666> + 3006: <-0.004668, 0.006080, -0.003975> + 3007: <-0.004946, 0.005887, -0.003941> + 3008: <-0.004736, 0.006210, -0.003666> + 3009: <-0.004434, 0.006397, -0.003701> + 3010: <-0.004374, 0.006257, -0.004017> + 3011: <-0.004668, 0.006080, -0.003975> + 3012: <-0.004434, 0.006397, -0.003701> + 3013: <-0.004117, 0.006570, -0.003743> + 3014: <-0.004065, 0.006421, -0.004065> + 3015: <-0.004374, 0.006257, -0.004017> + 3016: <-0.004117, 0.006570, -0.003743> + 3017: <-0.003788, 0.006727, -0.003788> + 3018: <-0.003743, 0.006570, -0.004117> + 3019: <-0.004065, 0.006421, -0.004065> + 3020: <-0.003788, 0.006727, -0.003788> + 3021: <-0.003446, 0.006870, -0.003834> + 3022: <-0.003407, 0.006705, -0.004170> + 3023: <-0.003743, 0.006570, -0.004117> + 3024: <-0.003446, 0.006870, -0.003834> + 3025: <-0.003093, 0.006998, -0.003880> + 3026: <-0.003060, 0.006828, -0.004223> + 3027: <-0.003407, 0.006705, -0.004170> + 3028: <-0.003093, 0.006998, -0.003880> + 3029: <-0.002729, 0.007112, -0.003924> + 3030: <-0.002701, 0.006937, -0.004273> + 3031: <-0.003060, 0.006828, -0.004223> + 3032: <-0.002729, 0.007112, -0.003924> + 3033: <-0.002356, 0.007212, -0.003965> + 3034: <-0.002333, 0.007033, -0.004318> + 3035: <-0.002701, 0.006937, -0.004273> + 3036: <-0.002356, 0.007212, -0.003965> + 3037: <-0.001975, 0.007297, -0.004002> + 3038: <-0.001957, 0.007115, -0.004360> + 3039: <-0.002333, 0.007033, -0.004318> + 3040: <-0.001975, 0.007297, -0.004002> + 3041: <-0.001588, 0.007367, -0.004034> + 3042: <-0.001574, 0.007183, -0.004395> + 3043: <-0.001957, 0.007115, -0.004360> + 3044: <-0.001588, 0.007367, -0.004034> + 3045: <-0.001196, 0.007423, -0.004061> + 3046: <-0.001185, 0.007236, -0.004424> + 3047: <-0.001574, 0.007183, -0.004395> + 3048: <-0.001196, 0.007423, -0.004061> + 3049: <-0.000799, 0.007462, -0.004081> + 3050: <-0.000792, 0.007275, -0.004446> + 3051: <-0.001185, 0.007236, -0.004424> + 3052: <-0.000799, 0.007462, -0.004081> + 3053: <-0.000400, 0.007487, -0.004093> + 3054: <-0.000397, 0.007298, -0.004460> + 3055: <-0.000792, 0.007275, -0.004446> + 3056: <-0.000400, 0.007487, -0.004093> + 3057: < 0.000000, 0.007495, -0.004098> + 3058: < 0.000000, 0.007306, -0.004465> + 3059: <-0.000397, 0.007298, -0.004460> + 3060: < 0.000000, 0.007495, -0.004098> + 3061: < 0.000400, 0.007487, -0.004093> + 3062: < 0.000397, 0.007298, -0.004460> + 3063: < 0.000000, 0.007306, -0.004465> + 3064: < 0.000400, 0.007487, -0.004093> + 3065: < 0.000799, 0.007462, -0.004081> + 3066: < 0.000792, 0.007275, -0.004446> + 3067: < 0.000397, 0.007298, -0.004460> + 3068: < 0.000799, 0.007462, -0.004081> + 3069: < 0.001196, 0.007423, -0.004061> + 3070: < 0.001185, 0.007236, -0.004424> + 3071: < 0.000792, 0.007275, -0.004446> + 3072: < 0.001196, 0.007423, -0.004061> + 3073: < 0.001588, 0.007367, -0.004034> + 3074: < 0.001574, 0.007183, -0.004395> + 3075: < 0.001185, 0.007236, -0.004424> + 3076: < 0.001588, 0.007367, -0.004034> + 3077: < 0.001975, 0.007297, -0.004002> + 3078: < 0.001957, 0.007115, -0.004360> + 3079: < 0.001574, 0.007183, -0.004395> + 3080: < 0.001975, 0.007297, -0.004002> + 3081: < 0.002356, 0.007212, -0.003965> + 3082: < 0.002333, 0.007033, -0.004318> + 3083: < 0.001957, 0.007115, -0.004360> + 3084: < 0.002356, 0.007212, -0.003965> + 3085: < 0.002729, 0.007112, -0.003924> + 3086: < 0.002701, 0.006937, -0.004273> + 3087: < 0.002333, 0.007033, -0.004318> + 3088: < 0.002729, 0.007112, -0.003924> + 3089: < 0.003093, 0.006998, -0.003880> + 3090: < 0.003060, 0.006828, -0.004223> + 3091: < 0.002701, 0.006937, -0.004273> + 3092: < 0.003093, 0.006998, -0.003880> + 3093: < 0.003446, 0.006870, -0.003834> + 3094: < 0.003407, 0.006705, -0.004170> + 3095: < 0.003060, 0.006828, -0.004223> + 3096: < 0.003446, 0.006870, -0.003834> + 3097: < 0.003788, 0.006727, -0.003788> + 3098: < 0.003743, 0.006570, -0.004117> + 3099: < 0.003407, 0.006705, -0.004170> + 3100: < 0.003788, 0.006727, -0.003788> + 3101: < 0.004117, 0.006570, -0.003743> + 3102: < 0.004065, 0.006421, -0.004065> + 3103: < 0.003743, 0.006570, -0.004117> + 3104: < 0.004117, 0.006570, -0.003743> + 3105: < 0.004434, 0.006397, -0.003701> + 3106: < 0.004374, 0.006257, -0.004017> + 3107: < 0.004065, 0.006421, -0.004065> + 3108: < 0.004434, 0.006397, -0.003701> + 3109: < 0.004736, 0.006210, -0.003666> + 3110: < 0.004668, 0.006080, -0.003975> + 3111: < 0.004374, 0.006257, -0.004017> + 3112: < 0.004736, 0.006210, -0.003666> + 3113: < 0.005023, 0.006006, -0.003637> + 3114: < 0.004946, 0.005887, -0.003941> + 3115: < 0.004668, 0.006080, -0.003975> + 3116: < 0.005023, 0.006006, -0.003637> + 3117: < 0.005294, 0.005786, -0.003619> + 3118: < 0.005207, 0.005678, -0.003918> + 3119: < 0.004946, 0.005887, -0.003941> + 3120: <-0.005207, 0.005678, -0.003918> + 3121: <-0.004946, 0.005887, -0.003941> + 3122: <-0.004870, 0.005760, -0.004226> + 3123: <-0.005120, 0.005564, -0.004199> + 3124: <-0.004946, 0.005887, -0.003941> + 3125: <-0.004668, 0.006080, -0.003975> + 3126: <-0.004602, 0.005939, -0.004267> + 3127: <-0.004870, 0.005760, -0.004226> + 3128: <-0.004668, 0.006080, -0.003975> + 3129: <-0.004374, 0.006257, -0.004017> + 3130: <-0.004318, 0.006105, -0.004318> + 3131: <-0.004602, 0.005939, -0.004267> + 3132: <-0.004374, 0.006257, -0.004017> + 3133: <-0.004065, 0.006421, -0.004065> + 3134: <-0.004017, 0.006257, -0.004374> + 3135: <-0.004318, 0.006105, -0.004318> + 3136: <-0.004065, 0.006421, -0.004065> + 3137: <-0.003743, 0.006570, -0.004117> + 3138: <-0.003701, 0.006397, -0.004434> + 3139: <-0.004017, 0.006257, -0.004374> + 3140: <-0.003743, 0.006570, -0.004117> + 3141: <-0.003407, 0.006705, -0.004170> + 3142: <-0.003372, 0.006525, -0.004494> + 3143: <-0.003701, 0.006397, -0.004434> + 3144: <-0.003407, 0.006705, -0.004170> + 3145: <-0.003060, 0.006828, -0.004223> + 3146: <-0.003030, 0.006641, -0.004553> + 3147: <-0.003372, 0.006525, -0.004494> + 3148: <-0.003060, 0.006828, -0.004223> + 3149: <-0.002701, 0.006937, -0.004273> + 3150: <-0.002676, 0.006745, -0.004609> + 3151: <-0.003030, 0.006641, -0.004553> + 3152: <-0.002701, 0.006937, -0.004273> + 3153: <-0.002333, 0.007033, -0.004318> + 3154: <-0.002313, 0.006836, -0.004659> + 3155: <-0.002676, 0.006745, -0.004609> + 3156: <-0.002333, 0.007033, -0.004318> + 3157: <-0.001957, 0.007115, -0.004360> + 3158: <-0.001940, 0.006915, -0.004705> + 3159: <-0.002313, 0.006836, -0.004659> + 3160: <-0.001957, 0.007115, -0.004360> + 3161: <-0.001574, 0.007183, -0.004395> + 3162: <-0.001561, 0.006980, -0.004744> + 3163: <-0.001940, 0.006915, -0.004705> + 3164: <-0.001574, 0.007183, -0.004395> + 3165: <-0.001185, 0.007236, -0.004424> + 3166: <-0.001176, 0.007032, -0.004776> + 3167: <-0.001561, 0.006980, -0.004744> + 3168: <-0.001185, 0.007236, -0.004424> + 3169: <-0.000792, 0.007275, -0.004446> + 3170: <-0.000786, 0.007069, -0.004800> + 3171: <-0.001176, 0.007032, -0.004776> + 3172: <-0.000792, 0.007275, -0.004446> + 3173: <-0.000397, 0.007298, -0.004460> + 3174: <-0.000394, 0.007092, -0.004815> + 3175: <-0.000786, 0.007069, -0.004800> + 3176: <-0.000397, 0.007298, -0.004460> + 3177: < 0.000000, 0.007306, -0.004465> + 3178: < 0.000000, 0.007099, -0.004820> + 3179: <-0.000394, 0.007092, -0.004815> + 3180: < 0.000000, 0.007306, -0.004465> + 3181: < 0.000397, 0.007298, -0.004460> + 3182: < 0.000394, 0.007092, -0.004815> + 3183: < 0.000000, 0.007099, -0.004820> + 3184: < 0.000397, 0.007298, -0.004460> + 3185: < 0.000792, 0.007275, -0.004446> + 3186: < 0.000786, 0.007069, -0.004800> + 3187: < 0.000394, 0.007092, -0.004815> + 3188: < 0.000792, 0.007275, -0.004446> + 3189: < 0.001185, 0.007236, -0.004424> + 3190: < 0.001176, 0.007032, -0.004776> + 3191: < 0.000786, 0.007069, -0.004800> + 3192: < 0.001185, 0.007236, -0.004424> + 3193: < 0.001574, 0.007183, -0.004395> + 3194: < 0.001561, 0.006980, -0.004744> + 3195: < 0.001176, 0.007032, -0.004776> + 3196: < 0.001574, 0.007183, -0.004395> + 3197: < 0.001957, 0.007115, -0.004360> + 3198: < 0.001940, 0.006915, -0.004705> + 3199: < 0.001561, 0.006980, -0.004744> + 3200: < 0.001957, 0.007115, -0.004360> + 3201: < 0.002333, 0.007033, -0.004318> + 3202: < 0.002313, 0.006836, -0.004659> + 3203: < 0.001940, 0.006915, -0.004705> + 3204: < 0.002333, 0.007033, -0.004318> + 3205: < 0.002701, 0.006937, -0.004273> + 3206: < 0.002676, 0.006745, -0.004609> + 3207: < 0.002313, 0.006836, -0.004659> + 3208: < 0.002701, 0.006937, -0.004273> + 3209: < 0.003060, 0.006828, -0.004223> + 3210: < 0.003030, 0.006641, -0.004553> + 3211: < 0.002676, 0.006745, -0.004609> + 3212: < 0.003060, 0.006828, -0.004223> + 3213: < 0.003407, 0.006705, -0.004170> + 3214: < 0.003372, 0.006525, -0.004494> + 3215: < 0.003030, 0.006641, -0.004553> + 3216: < 0.003407, 0.006705, -0.004170> + 3217: < 0.003743, 0.006570, -0.004117> + 3218: < 0.003701, 0.006397, -0.004434> + 3219: < 0.003372, 0.006525, -0.004494> + 3220: < 0.003743, 0.006570, -0.004117> + 3221: < 0.004065, 0.006421, -0.004065> + 3222: < 0.004017, 0.006257, -0.004374> + 3223: < 0.003701, 0.006397, -0.004434> + 3224: < 0.004065, 0.006421, -0.004065> + 3225: < 0.004374, 0.006257, -0.004017> + 3226: < 0.004318, 0.006105, -0.004318> + 3227: < 0.004017, 0.006257, -0.004374> + 3228: < 0.004374, 0.006257, -0.004017> + 3229: < 0.004668, 0.006080, -0.003975> + 3230: < 0.004602, 0.005939, -0.004267> + 3231: < 0.004318, 0.006105, -0.004318> + 3232: < 0.004668, 0.006080, -0.003975> + 3233: < 0.004946, 0.005887, -0.003941> + 3234: < 0.004870, 0.005760, -0.004226> + 3235: < 0.004602, 0.005939, -0.004267> + 3236: < 0.004946, 0.005887, -0.003941> + 3237: < 0.005207, 0.005678, -0.003918> + 3238: < 0.005120, 0.005564, -0.004199> + 3239: < 0.004870, 0.005760, -0.004226> + 3240: <-0.005120, 0.005564, -0.004199> + 3241: <-0.004870, 0.005760, -0.004226> + 3242: <-0.004798, 0.005623, -0.004494> + 3243: <-0.005034, 0.005446, -0.004460> + 3244: <-0.004870, 0.005760, -0.004226> + 3245: <-0.004602, 0.005939, -0.004267> + 3246: <-0.004542, 0.005788, -0.004542> + 3247: <-0.004798, 0.005623, -0.004494> + 3248: <-0.004602, 0.005939, -0.004267> + 3249: <-0.004318, 0.006105, -0.004318> + 3250: <-0.004267, 0.005939, -0.004602> + 3251: <-0.004542, 0.005788, -0.004542> + 3252: <-0.004318, 0.006105, -0.004318> + 3253: <-0.004017, 0.006257, -0.004374> + 3254: <-0.003975, 0.006080, -0.004668> + 3255: <-0.004267, 0.005939, -0.004602> + 3256: <-0.004017, 0.006257, -0.004374> + 3257: <-0.003701, 0.006397, -0.004434> + 3258: <-0.003666, 0.006210, -0.004736> + 3259: <-0.003975, 0.006080, -0.004668> + 3260: <-0.003701, 0.006397, -0.004434> + 3261: <-0.003372, 0.006525, -0.004494> + 3262: <-0.003342, 0.006329, -0.004804> + 3263: <-0.003666, 0.006210, -0.004736> + 3264: <-0.003372, 0.006525, -0.004494> + 3265: <-0.003030, 0.006641, -0.004553> + 3266: <-0.003004, 0.006439, -0.004870> + 3267: <-0.003342, 0.006329, -0.004804> + 3268: <-0.003030, 0.006641, -0.004553> + 3269: <-0.002676, 0.006745, -0.004609> + 3270: <-0.002655, 0.006537, -0.004931> + 3271: <-0.003004, 0.006439, -0.004870> + 3272: <-0.002676, 0.006745, -0.004609> + 3273: <-0.002313, 0.006836, -0.004659> + 3274: <-0.002295, 0.006623, -0.004987> + 3275: <-0.002655, 0.006537, -0.004931> + 3276: <-0.002313, 0.006836, -0.004659> + 3277: <-0.001940, 0.006915, -0.004705> + 3278: <-0.001926, 0.006698, -0.005037> + 3279: <-0.002295, 0.006623, -0.004987> + 3280: <-0.001940, 0.006915, -0.004705> + 3281: <-0.001561, 0.006980, -0.004744> + 3282: <-0.001550, 0.006761, -0.005080> + 3283: <-0.001926, 0.006698, -0.005037> + 3284: <-0.001561, 0.006980, -0.004744> + 3285: <-0.001176, 0.007032, -0.004776> + 3286: <-0.001168, 0.006810, -0.005114> + 3287: <-0.001550, 0.006761, -0.005080> + 3288: <-0.001176, 0.007032, -0.004776> + 3289: <-0.000786, 0.007069, -0.004800> + 3290: <-0.000781, 0.006846, -0.005140> + 3291: <-0.001168, 0.006810, -0.005114> + 3292: <-0.000786, 0.007069, -0.004800> + 3293: <-0.000394, 0.007092, -0.004815> + 3294: <-0.000391, 0.006868, -0.005156> + 3295: <-0.000781, 0.006846, -0.005140> + 3296: <-0.000394, 0.007092, -0.004815> + 3297: < 0.000000, 0.007099, -0.004820> + 3298: < 0.000000, 0.006875, -0.005162> + 3299: <-0.000391, 0.006868, -0.005156> + 3300: < 0.000000, 0.007099, -0.004820> + 3301: < 0.000394, 0.007092, -0.004815> + 3302: < 0.000391, 0.006868, -0.005156> + 3303: < 0.000000, 0.006875, -0.005162> + 3304: < 0.000394, 0.007092, -0.004815> + 3305: < 0.000786, 0.007069, -0.004800> + 3306: < 0.000781, 0.006846, -0.005140> + 3307: < 0.000391, 0.006868, -0.005156> + 3308: < 0.000786, 0.007069, -0.004800> + 3309: < 0.001176, 0.007032, -0.004776> + 3310: < 0.001168, 0.006810, -0.005114> + 3311: < 0.000781, 0.006846, -0.005140> + 3312: < 0.001176, 0.007032, -0.004776> + 3313: < 0.001561, 0.006980, -0.004744> + 3314: < 0.001550, 0.006761, -0.005080> + 3315: < 0.001168, 0.006810, -0.005114> + 3316: < 0.001561, 0.006980, -0.004744> + 3317: < 0.001940, 0.006915, -0.004705> + 3318: < 0.001926, 0.006698, -0.005037> + 3319: < 0.001550, 0.006761, -0.005080> + 3320: < 0.001940, 0.006915, -0.004705> + 3321: < 0.002313, 0.006836, -0.004659> + 3322: < 0.002295, 0.006623, -0.004987> + 3323: < 0.001926, 0.006698, -0.005037> + 3324: < 0.002313, 0.006836, -0.004659> + 3325: < 0.002676, 0.006745, -0.004609> + 3326: < 0.002655, 0.006537, -0.004931> + 3327: < 0.002295, 0.006623, -0.004987> + 3328: < 0.002676, 0.006745, -0.004609> + 3329: < 0.003030, 0.006641, -0.004553> + 3330: < 0.003004, 0.006439, -0.004870> + 3331: < 0.002655, 0.006537, -0.004931> + 3332: < 0.003030, 0.006641, -0.004553> + 3333: < 0.003372, 0.006525, -0.004494> + 3334: < 0.003342, 0.006329, -0.004804> + 3335: < 0.003004, 0.006439, -0.004870> + 3336: < 0.003372, 0.006525, -0.004494> + 3337: < 0.003701, 0.006397, -0.004434> + 3338: < 0.003666, 0.006210, -0.004736> + 3339: < 0.003342, 0.006329, -0.004804> + 3340: < 0.003701, 0.006397, -0.004434> + 3341: < 0.004017, 0.006257, -0.004374> + 3342: < 0.003975, 0.006080, -0.004668> + 3343: < 0.003666, 0.006210, -0.004736> + 3344: < 0.004017, 0.006257, -0.004374> + 3345: < 0.004318, 0.006105, -0.004318> + 3346: < 0.004267, 0.005939, -0.004602> + 3347: < 0.003975, 0.006080, -0.004668> + 3348: < 0.004318, 0.006105, -0.004318> + 3349: < 0.004602, 0.005939, -0.004267> + 3350: < 0.004542, 0.005788, -0.004542> + 3351: < 0.004267, 0.005939, -0.004602> + 3352: < 0.004602, 0.005939, -0.004267> + 3353: < 0.004870, 0.005760, -0.004226> + 3354: < 0.004798, 0.005623, -0.004494> + 3355: < 0.004542, 0.005788, -0.004542> + 3356: < 0.004870, 0.005760, -0.004226> + 3357: < 0.005120, 0.005564, -0.004199> + 3358: < 0.005034, 0.005446, -0.004460> + 3359: < 0.004798, 0.005623, -0.004494> + 3360: <-0.005034, 0.005446, -0.004460> + 3361: <-0.004798, 0.005623, -0.004494> + 3362: <-0.004738, 0.005479, -0.004738> + 3363: <-0.004959, 0.005326, -0.004691> + 3364: <-0.004798, 0.005623, -0.004494> + 3365: <-0.004542, 0.005788, -0.004542> + 3366: <-0.004494, 0.005623, -0.004798> + 3367: <-0.004738, 0.005479, -0.004738> + 3368: <-0.004542, 0.005788, -0.004542> + 3369: <-0.004267, 0.005939, -0.004602> + 3370: <-0.004226, 0.005760, -0.004870> + 3371: <-0.004494, 0.005623, -0.004798> + 3372: <-0.004267, 0.005939, -0.004602> + 3373: <-0.003975, 0.006080, -0.004668> + 3374: <-0.003941, 0.005887, -0.004946> + 3375: <-0.004226, 0.005760, -0.004870> + 3376: <-0.003975, 0.006080, -0.004668> + 3377: <-0.003666, 0.006210, -0.004736> + 3378: <-0.003637, 0.006006, -0.005023> + 3379: <-0.003941, 0.005887, -0.004946> + 3380: <-0.003666, 0.006210, -0.004736> + 3381: <-0.003342, 0.006329, -0.004804> + 3382: <-0.003318, 0.006117, -0.005099> + 3383: <-0.003637, 0.006006, -0.005023> + 3384: <-0.003342, 0.006329, -0.004804> + 3385: <-0.003004, 0.006439, -0.004870> + 3386: <-0.002984, 0.006219, -0.005172> + 3387: <-0.003318, 0.006117, -0.005099> + 3388: <-0.003004, 0.006439, -0.004870> + 3389: <-0.002655, 0.006537, -0.004931> + 3390: <-0.002638, 0.006311, -0.005240> + 3391: <-0.002984, 0.006219, -0.005172> + 3392: <-0.002655, 0.006537, -0.004931> + 3393: <-0.002295, 0.006623, -0.004987> + 3394: <-0.002281, 0.006393, -0.005301> + 3395: <-0.002638, 0.006311, -0.005240> + 3396: <-0.002295, 0.006623, -0.004987> + 3397: <-0.001926, 0.006698, -0.005037> + 3398: <-0.001915, 0.006464, -0.005355> + 3399: <-0.002281, 0.006393, -0.005301> + 3400: <-0.001926, 0.006698, -0.005037> + 3401: <-0.001550, 0.006761, -0.005080> + 3402: <-0.001541, 0.006523, -0.005401> + 3403: <-0.001915, 0.006464, -0.005355> + 3404: <-0.001550, 0.006761, -0.005080> + 3405: <-0.001168, 0.006810, -0.005114> + 3406: <-0.001161, 0.006570, -0.005438> + 3407: <-0.001541, 0.006523, -0.005401> + 3408: <-0.001168, 0.006810, -0.005114> + 3409: <-0.000781, 0.006846, -0.005140> + 3410: <-0.000777, 0.006605, -0.005466> + 3411: <-0.001161, 0.006570, -0.005438> + 3412: <-0.000781, 0.006846, -0.005140> + 3413: <-0.000391, 0.006868, -0.005156> + 3414: <-0.000389, 0.006626, -0.005483> + 3415: <-0.000777, 0.006605, -0.005466> + 3416: <-0.000391, 0.006868, -0.005156> + 3417: < 0.000000, 0.006875, -0.005162> + 3418: < 0.000000, 0.006633, -0.005489> + 3419: <-0.000389, 0.006626, -0.005483> + 3420: < 0.000000, 0.006875, -0.005162> + 3421: < 0.000391, 0.006868, -0.005156> + 3422: < 0.000389, 0.006626, -0.005483> + 3423: < 0.000000, 0.006633, -0.005489> + 3424: < 0.000391, 0.006868, -0.005156> + 3425: < 0.000781, 0.006846, -0.005140> + 3426: < 0.000777, 0.006605, -0.005466> + 3427: < 0.000389, 0.006626, -0.005483> + 3428: < 0.000781, 0.006846, -0.005140> + 3429: < 0.001168, 0.006810, -0.005114> + 3430: < 0.001161, 0.006570, -0.005438> + 3431: < 0.000777, 0.006605, -0.005466> + 3432: < 0.001168, 0.006810, -0.005114> + 3433: < 0.001550, 0.006761, -0.005080> + 3434: < 0.001541, 0.006523, -0.005401> + 3435: < 0.001161, 0.006570, -0.005438> + 3436: < 0.001550, 0.006761, -0.005080> + 3437: < 0.001926, 0.006698, -0.005037> + 3438: < 0.001915, 0.006464, -0.005355> + 3439: < 0.001541, 0.006523, -0.005401> + 3440: < 0.001926, 0.006698, -0.005037> + 3441: < 0.002295, 0.006623, -0.004987> + 3442: < 0.002281, 0.006393, -0.005301> + 3443: < 0.001915, 0.006464, -0.005355> + 3444: < 0.002295, 0.006623, -0.004987> + 3445: < 0.002655, 0.006537, -0.004931> + 3446: < 0.002638, 0.006311, -0.005240> + 3447: < 0.002281, 0.006393, -0.005301> + 3448: < 0.002655, 0.006537, -0.004931> + 3449: < 0.003004, 0.006439, -0.004870> + 3450: < 0.002984, 0.006219, -0.005172> + 3451: < 0.002638, 0.006311, -0.005240> + 3452: < 0.003004, 0.006439, -0.004870> + 3453: < 0.003342, 0.006329, -0.004804> + 3454: < 0.003318, 0.006117, -0.005099> + 3455: < 0.002984, 0.006219, -0.005172> + 3456: < 0.003342, 0.006329, -0.004804> + 3457: < 0.003666, 0.006210, -0.004736> + 3458: < 0.003637, 0.006006, -0.005023> + 3459: < 0.003318, 0.006117, -0.005099> + 3460: < 0.003666, 0.006210, -0.004736> + 3461: < 0.003975, 0.006080, -0.004668> + 3462: < 0.003941, 0.005887, -0.004946> + 3463: < 0.003637, 0.006006, -0.005023> + 3464: < 0.003975, 0.006080, -0.004668> + 3465: < 0.004267, 0.005939, -0.004602> + 3466: < 0.004226, 0.005760, -0.004870> + 3467: < 0.003941, 0.005887, -0.004946> + 3468: < 0.004267, 0.005939, -0.004602> + 3469: < 0.004542, 0.005788, -0.004542> + 3470: < 0.004494, 0.005623, -0.004798> + 3471: < 0.004226, 0.005760, -0.004870> + 3472: < 0.004542, 0.005788, -0.004542> + 3473: < 0.004798, 0.005623, -0.004494> + 3474: < 0.004738, 0.005479, -0.004738> + 3475: < 0.004494, 0.005623, -0.004798> + 3476: < 0.004798, 0.005623, -0.004494> + 3477: < 0.005034, 0.005446, -0.004460> + 3478: < 0.004959, 0.005326, -0.004691> + 3479: < 0.004738, 0.005479, -0.004738> + 3480: <-0.004959, 0.005326, -0.004691> + 3481: <-0.004738, 0.005479, -0.004738> + 3482: <-0.004691, 0.005326, -0.004959> + 3483: <-0.004894, 0.005206, -0.004894> + 3484: <-0.004738, 0.005479, -0.004738> + 3485: <-0.004494, 0.005623, -0.004798> + 3486: <-0.004460, 0.005446, -0.005034> + 3487: <-0.004691, 0.005326, -0.004959> + 3488: <-0.004494, 0.005623, -0.004798> + 3489: <-0.004226, 0.005760, -0.004870> + 3490: <-0.004199, 0.005564, -0.005120> + 3491: <-0.004460, 0.005446, -0.005034> + 3492: <-0.004226, 0.005760, -0.004870> + 3493: <-0.003941, 0.005887, -0.004946> + 3494: <-0.003918, 0.005678, -0.005207> + 3495: <-0.004199, 0.005564, -0.005120> + 3496: <-0.003941, 0.005887, -0.004946> + 3497: <-0.003637, 0.006006, -0.005023> + 3498: <-0.003619, 0.005786, -0.005294> + 3499: <-0.003918, 0.005678, -0.005207> + 3500: <-0.003637, 0.006006, -0.005023> + 3501: <-0.003318, 0.006117, -0.005099> + 3502: <-0.003302, 0.005888, -0.005379> + 3503: <-0.003619, 0.005786, -0.005294> + 3504: <-0.003318, 0.006117, -0.005099> + 3505: <-0.002984, 0.006219, -0.005172> + 3506: <-0.002971, 0.005983, -0.005459> + 3507: <-0.003302, 0.005888, -0.005379> + 3508: <-0.002984, 0.006219, -0.005172> + 3509: <-0.002638, 0.006311, -0.005240> + 3510: <-0.002627, 0.006069, -0.005533> + 3511: <-0.002971, 0.005983, -0.005459> + 3512: <-0.002638, 0.006311, -0.005240> + 3513: <-0.002281, 0.006393, -0.005301> + 3514: <-0.002272, 0.006146, -0.005599> + 3515: <-0.002627, 0.006069, -0.005533> + 3516: <-0.002281, 0.006393, -0.005301> + 3517: <-0.001915, 0.006464, -0.005355> + 3518: <-0.001908, 0.006212, -0.005657> + 3519: <-0.002272, 0.006146, -0.005599> + 3520: <-0.001915, 0.006464, -0.005355> + 3521: <-0.001541, 0.006523, -0.005401> + 3522: <-0.001536, 0.006269, -0.005707> + 3523: <-0.001908, 0.006212, -0.005657> + 3524: <-0.001541, 0.006523, -0.005401> + 3525: <-0.001161, 0.006570, -0.005438> + 3526: <-0.001157, 0.006313, -0.005747> + 3527: <-0.001536, 0.006269, -0.005707> + 3528: <-0.001161, 0.006570, -0.005438> + 3529: <-0.000777, 0.006605, -0.005466> + 3530: <-0.000774, 0.006346, -0.005776> + 3531: <-0.001157, 0.006313, -0.005747> + 3532: <-0.000777, 0.006605, -0.005466> + 3533: <-0.000389, 0.006626, -0.005483> + 3534: <-0.000388, 0.006366, -0.005794> + 3535: <-0.000774, 0.006346, -0.005776> + 3536: <-0.000389, 0.006626, -0.005483> + 3537: < 0.000000, 0.006633, -0.005489> + 3538: <-0.000000, 0.006373, -0.005801> + 3539: <-0.000388, 0.006366, -0.005794> + 3540: < 0.000000, 0.006633, -0.005489> + 3541: < 0.000389, 0.006626, -0.005483> + 3542: < 0.000388, 0.006366, -0.005794> + 3543: <-0.000000, 0.006373, -0.005801> + 3544: < 0.000389, 0.006626, -0.005483> + 3545: < 0.000777, 0.006605, -0.005466> + 3546: < 0.000774, 0.006346, -0.005776> + 3547: < 0.000388, 0.006366, -0.005794> + 3548: < 0.000777, 0.006605, -0.005466> + 3549: < 0.001161, 0.006570, -0.005438> + 3550: < 0.001157, 0.006313, -0.005747> + 3551: < 0.000774, 0.006346, -0.005776> + 3552: < 0.001161, 0.006570, -0.005438> + 3553: < 0.001541, 0.006523, -0.005401> + 3554: < 0.001536, 0.006269, -0.005707> + 3555: < 0.001157, 0.006313, -0.005747> + 3556: < 0.001541, 0.006523, -0.005401> + 3557: < 0.001915, 0.006464, -0.005355> + 3558: < 0.001908, 0.006212, -0.005657> + 3559: < 0.001536, 0.006269, -0.005707> + 3560: < 0.001915, 0.006464, -0.005355> + 3561: < 0.002281, 0.006393, -0.005301> + 3562: < 0.002272, 0.006146, -0.005599> + 3563: < 0.001908, 0.006212, -0.005657> + 3564: < 0.002281, 0.006393, -0.005301> + 3565: < 0.002638, 0.006311, -0.005240> + 3566: < 0.002627, 0.006069, -0.005533> + 3567: < 0.002272, 0.006146, -0.005599> + 3568: < 0.002638, 0.006311, -0.005240> + 3569: < 0.002984, 0.006219, -0.005172> + 3570: < 0.002971, 0.005983, -0.005459> + 3571: < 0.002627, 0.006069, -0.005533> + 3572: < 0.002984, 0.006219, -0.005172> + 3573: < 0.003318, 0.006117, -0.005099> + 3574: < 0.003302, 0.005888, -0.005379> + 3575: < 0.002971, 0.005983, -0.005459> + 3576: < 0.003318, 0.006117, -0.005099> + 3577: < 0.003637, 0.006006, -0.005023> + 3578: < 0.003619, 0.005786, -0.005294> + 3579: < 0.003302, 0.005888, -0.005379> + 3580: < 0.003637, 0.006006, -0.005023> + 3581: < 0.003941, 0.005887, -0.004946> + 3582: < 0.003918, 0.005678, -0.005207> + 3583: < 0.003619, 0.005786, -0.005294> + 3584: < 0.003941, 0.005887, -0.004946> + 3585: < 0.004226, 0.005760, -0.004870> + 3586: < 0.004199, 0.005564, -0.005120> + 3587: < 0.003918, 0.005678, -0.005207> + 3588: < 0.004226, 0.005760, -0.004870> + 3589: < 0.004494, 0.005623, -0.004798> + 3590: < 0.004460, 0.005446, -0.005034> + 3591: < 0.004199, 0.005564, -0.005120> + 3592: < 0.004494, 0.005623, -0.004798> + 3593: < 0.004738, 0.005479, -0.004738> + 3594: < 0.004691, 0.005326, -0.004959> + 3595: < 0.004460, 0.005446, -0.005034> + 3596: < 0.004738, 0.005479, -0.004738> + 3597: < 0.004959, 0.005326, -0.004691> + 3598: < 0.004894, 0.005206, -0.004894> + 3599: < 0.004691, 0.005326, -0.004959> + 3600: <-0.005000, 0.005000, 0.005000> + 3601: <-0.004833, 0.005081, 0.005081> + 3602: <-0.004894, 0.005206, 0.004894> + 3603: <-0.005081, 0.005081, 0.004833> + 3604: <-0.004833, 0.005081, 0.005081> + 3605: <-0.004647, 0.005166, 0.005166> + 3606: <-0.004691, 0.005326, 0.004959> + 3607: <-0.004894, 0.005206, 0.004894> + 3608: <-0.004647, 0.005166, 0.005166> + 3609: <-0.004436, 0.005255, 0.005255> + 3610: <-0.004460, 0.005446, 0.005034> + 3611: <-0.004691, 0.005326, 0.004959> + 3612: <-0.004436, 0.005255, 0.005255> + 3613: <-0.004188, 0.005351, 0.005351> + 3614: <-0.004199, 0.005564, 0.005120> + 3615: <-0.004460, 0.005446, 0.005034> + 3616: <-0.004188, 0.005351, 0.005351> + 3617: <-0.003910, 0.005451, 0.005451> + 3618: <-0.003918, 0.005678, 0.005207> + 3619: <-0.004199, 0.005564, 0.005120> + 3620: <-0.003910, 0.005451, 0.005451> + 3621: <-0.003612, 0.005549, 0.005549> + 3622: <-0.003619, 0.005786, 0.005294> + 3623: <-0.003918, 0.005678, 0.005207> + 3624: <-0.003612, 0.005549, 0.005549> + 3625: <-0.003297, 0.005642, 0.005642> + 3626: <-0.003302, 0.005888, 0.005379> + 3627: <-0.003619, 0.005786, 0.005294> + 3628: <-0.003297, 0.005642, 0.005642> + 3629: <-0.002966, 0.005729, 0.005729> + 3630: <-0.002971, 0.005983, 0.005459> + 3631: <-0.003302, 0.005888, 0.005379> + 3632: <-0.002966, 0.005729, 0.005729> + 3633: <-0.002623, 0.005809, 0.005809> + 3634: <-0.002627, 0.006069, 0.005533> + 3635: <-0.002971, 0.005983, 0.005459> + 3636: <-0.002623, 0.005809, 0.005809> + 3637: <-0.002269, 0.005881, 0.005881> + 3638: <-0.002272, 0.006146, 0.005599> + 3639: <-0.002627, 0.006069, 0.005533> + 3640: <-0.002269, 0.005881, 0.005881> + 3641: <-0.001906, 0.005944, 0.005944> + 3642: <-0.001908, 0.006212, 0.005657> + 3643: <-0.002272, 0.006146, 0.005599> + 3644: <-0.001906, 0.005944, 0.005944> + 3645: <-0.001534, 0.005996, 0.005996> + 3646: <-0.001536, 0.006269, 0.005707> + 3647: <-0.001908, 0.006212, 0.005657> + 3648: <-0.001534, 0.005996, 0.005996> + 3649: <-0.001156, 0.006039, 0.006039> + 3650: <-0.001157, 0.006313, 0.005747> + 3651: <-0.001536, 0.006269, 0.005707> + 3652: <-0.001156, 0.006039, 0.006039> + 3653: <-0.000773, 0.006070, 0.006070> + 3654: <-0.000774, 0.006346, 0.005776> + 3655: <-0.001157, 0.006313, 0.005747> + 3656: <-0.000773, 0.006070, 0.006070> + 3657: <-0.000387, 0.006089, 0.006089> + 3658: <-0.000388, 0.006366, 0.005794> + 3659: <-0.000774, 0.006346, 0.005776> + 3660: <-0.000387, 0.006089, 0.006089> + 3661: <-0.000000, 0.006096, 0.006096> + 3662: < 0.000000, 0.006373, 0.005801> + 3663: <-0.000388, 0.006366, 0.005794> + 3664: <-0.000000, 0.006096, 0.006096> + 3665: < 0.000387, 0.006089, 0.006089> + 3666: < 0.000388, 0.006366, 0.005794> + 3667: < 0.000000, 0.006373, 0.005801> + 3668: < 0.000387, 0.006089, 0.006089> + 3669: < 0.000773, 0.006070, 0.006070> + 3670: < 0.000774, 0.006346, 0.005776> + 3671: < 0.000388, 0.006366, 0.005794> + 3672: < 0.000773, 0.006070, 0.006070> + 3673: < 0.001156, 0.006039, 0.006039> + 3674: < 0.001157, 0.006313, 0.005747> + 3675: < 0.000774, 0.006346, 0.005776> + 3676: < 0.001156, 0.006039, 0.006039> + 3677: < 0.001534, 0.005996, 0.005996> + 3678: < 0.001536, 0.006269, 0.005707> + 3679: < 0.001157, 0.006313, 0.005747> + 3680: < 0.001534, 0.005996, 0.005996> + 3681: < 0.001906, 0.005944, 0.005944> + 3682: < 0.001908, 0.006212, 0.005657> + 3683: < 0.001536, 0.006269, 0.005707> + 3684: < 0.001906, 0.005944, 0.005944> + 3685: < 0.002269, 0.005881, 0.005881> + 3686: < 0.002272, 0.006146, 0.005599> + 3687: < 0.001908, 0.006212, 0.005657> + 3688: < 0.002269, 0.005881, 0.005881> + 3689: < 0.002623, 0.005809, 0.005809> + 3690: < 0.002627, 0.006069, 0.005533> + 3691: < 0.002272, 0.006146, 0.005599> + 3692: < 0.002623, 0.005809, 0.005809> + 3693: < 0.002966, 0.005729, 0.005729> + 3694: < 0.002971, 0.005983, 0.005459> + 3695: < 0.002627, 0.006069, 0.005533> + 3696: < 0.002966, 0.005729, 0.005729> + 3697: < 0.003297, 0.005642, 0.005642> + 3698: < 0.003302, 0.005888, 0.005379> + 3699: < 0.002971, 0.005983, 0.005459> + 3700: < 0.003297, 0.005642, 0.005642> + 3701: < 0.003612, 0.005549, 0.005549> + 3702: < 0.003619, 0.005786, 0.005294> + 3703: < 0.003302, 0.005888, 0.005379> + 3704: < 0.003612, 0.005549, 0.005549> + 3705: < 0.003910, 0.005451, 0.005451> + 3706: < 0.003918, 0.005678, 0.005207> + 3707: < 0.003619, 0.005786, 0.005294> + 3708: < 0.003910, 0.005451, 0.005451> + 3709: < 0.004188, 0.005351, 0.005351> + 3710: < 0.004199, 0.005564, 0.005120> + 3711: < 0.003918, 0.005678, 0.005207> + 3712: < 0.004188, 0.005351, 0.005351> + 3713: < 0.004436, 0.005255, 0.005255> + 3714: < 0.004460, 0.005446, 0.005034> + 3715: < 0.004199, 0.005564, 0.005120> + 3716: < 0.004436, 0.005255, 0.005255> + 3717: < 0.004647, 0.005166, 0.005166> + 3718: < 0.004691, 0.005326, 0.004959> + 3719: < 0.004460, 0.005446, 0.005034> + 3720: < 0.004647, 0.005166, 0.005166> + 3721: < 0.004833, 0.005081, 0.005081> + 3722: < 0.004894, 0.005206, 0.004894> + 3723: < 0.004691, 0.005326, 0.004959> + 3724: < 0.004833, 0.005081, 0.005081> + 3725: < 0.005000, 0.005000, 0.005000> + 3726: < 0.005081, 0.005081, 0.004833> + 3727: < 0.004894, 0.005206, 0.004894> + 3728: < 0.004894, 0.005206, 0.004894> + 3729: < 0.005081, 0.005081, 0.004833> + 3730: < 0.005166, 0.005166, 0.004647> + 3731: < 0.004959, 0.005326, 0.004691> + 3732: < 0.004959, 0.005326, 0.004691> + 3733: < 0.005166, 0.005166, 0.004647> + 3734: < 0.005255, 0.005255, 0.004436> + 3735: < 0.005034, 0.005446, 0.004460> + 3736: < 0.005034, 0.005446, 0.004460> + 3737: < 0.005255, 0.005255, 0.004436> + 3738: < 0.005351, 0.005351, 0.004188> + 3739: < 0.005120, 0.005564, 0.004199> + 3740: < 0.005120, 0.005564, 0.004199> + 3741: < 0.005351, 0.005351, 0.004188> + 3742: < 0.005451, 0.005451, 0.003910> + 3743: < 0.005207, 0.005678, 0.003918> + 3744: < 0.005207, 0.005678, 0.003918> + 3745: < 0.005451, 0.005451, 0.003910> + 3746: < 0.005549, 0.005549, 0.003612> + 3747: < 0.005294, 0.005786, 0.003619> + 3748: < 0.005294, 0.005786, 0.003619> + 3749: < 0.005549, 0.005549, 0.003612> + 3750: < 0.005642, 0.005642, 0.003297> + 3751: < 0.005379, 0.005888, 0.003302> + 3752: < 0.005379, 0.005888, 0.003302> + 3753: < 0.005642, 0.005642, 0.003297> + 3754: < 0.005729, 0.005729, 0.002966> + 3755: < 0.005459, 0.005983, 0.002971> + 3756: < 0.005459, 0.005983, 0.002971> + 3757: < 0.005729, 0.005729, 0.002966> + 3758: < 0.005809, 0.005809, 0.002623> + 3759: < 0.005533, 0.006069, 0.002627> + 3760: < 0.005533, 0.006069, 0.002627> + 3761: < 0.005809, 0.005809, 0.002623> + 3762: < 0.005881, 0.005881, 0.002269> + 3763: < 0.005599, 0.006146, 0.002272> + 3764: < 0.005599, 0.006146, 0.002272> + 3765: < 0.005881, 0.005881, 0.002269> + 3766: < 0.005944, 0.005944, 0.001906> + 3767: < 0.005657, 0.006212, 0.001908> + 3768: < 0.005657, 0.006212, 0.001908> + 3769: < 0.005944, 0.005944, 0.001906> + 3770: < 0.005996, 0.005996, 0.001534> + 3771: < 0.005707, 0.006269, 0.001536> + 3772: < 0.005707, 0.006269, 0.001536> + 3773: < 0.005996, 0.005996, 0.001534> + 3774: < 0.006039, 0.006039, 0.001156> + 3775: < 0.005747, 0.006313, 0.001157> + 3776: < 0.005747, 0.006313, 0.001157> + 3777: < 0.006039, 0.006039, 0.001156> + 3778: < 0.006070, 0.006070, 0.000773> + 3779: < 0.005776, 0.006346, 0.000774> + 3780: < 0.005776, 0.006346, 0.000774> + 3781: < 0.006070, 0.006070, 0.000773> + 3782: < 0.006089, 0.006089, 0.000387> + 3783: < 0.005794, 0.006366, 0.000388> + 3784: < 0.005794, 0.006366, 0.000388> + 3785: < 0.006089, 0.006089, 0.000387> + 3786: < 0.006096, 0.006096, 0.000000> + 3787: < 0.005801, 0.006373, 0.000000> + 3788: < 0.005801, 0.006373, 0.000000> + 3789: < 0.006096, 0.006096, 0.000000> + 3790: < 0.006089, 0.006089, -0.000387> + 3791: < 0.005794, 0.006366, -0.000388> + 3792: < 0.005794, 0.006366, -0.000388> + 3793: < 0.006089, 0.006089, -0.000387> + 3794: < 0.006070, 0.006070, -0.000773> + 3795: < 0.005776, 0.006346, -0.000774> + 3796: < 0.005776, 0.006346, -0.000774> + 3797: < 0.006070, 0.006070, -0.000773> + 3798: < 0.006039, 0.006039, -0.001156> + 3799: < 0.005747, 0.006313, -0.001157> + 3800: < 0.005747, 0.006313, -0.001157> + 3801: < 0.006039, 0.006039, -0.001156> + 3802: < 0.005996, 0.005996, -0.001534> + 3803: < 0.005707, 0.006269, -0.001536> + 3804: < 0.005707, 0.006269, -0.001536> + 3805: < 0.005996, 0.005996, -0.001534> + 3806: < 0.005944, 0.005944, -0.001906> + 3807: < 0.005657, 0.006212, -0.001908> + 3808: < 0.005657, 0.006212, -0.001908> + 3809: < 0.005944, 0.005944, -0.001906> + 3810: < 0.005881, 0.005881, -0.002269> + 3811: < 0.005599, 0.006146, -0.002272> + 3812: < 0.005599, 0.006146, -0.002272> + 3813: < 0.005881, 0.005881, -0.002269> + 3814: < 0.005809, 0.005809, -0.002623> + 3815: < 0.005533, 0.006069, -0.002627> + 3816: < 0.005533, 0.006069, -0.002627> + 3817: < 0.005809, 0.005809, -0.002623> + 3818: < 0.005729, 0.005729, -0.002966> + 3819: < 0.005459, 0.005983, -0.002971> + 3820: < 0.005459, 0.005983, -0.002971> + 3821: < 0.005729, 0.005729, -0.002966> + 3822: < 0.005642, 0.005642, -0.003297> + 3823: < 0.005379, 0.005888, -0.003302> + 3824: < 0.005379, 0.005888, -0.003302> + 3825: < 0.005642, 0.005642, -0.003297> + 3826: < 0.005549, 0.005549, -0.003612> + 3827: < 0.005294, 0.005786, -0.003619> + 3828: < 0.005294, 0.005786, -0.003619> + 3829: < 0.005549, 0.005549, -0.003612> + 3830: < 0.005451, 0.005451, -0.003910> + 3831: < 0.005207, 0.005678, -0.003918> + 3832: < 0.005207, 0.005678, -0.003918> + 3833: < 0.005451, 0.005451, -0.003910> + 3834: < 0.005351, 0.005351, -0.004188> + 3835: < 0.005120, 0.005564, -0.004199> + 3836: < 0.005120, 0.005564, -0.004199> + 3837: < 0.005351, 0.005351, -0.004188> + 3838: < 0.005255, 0.005255, -0.004436> + 3839: < 0.005034, 0.005446, -0.004460> + 3840: < 0.005034, 0.005446, -0.004460> + 3841: < 0.005255, 0.005255, -0.004436> + 3842: < 0.005166, 0.005166, -0.004647> + 3843: < 0.004959, 0.005326, -0.004691> + 3844: < 0.004959, 0.005326, -0.004691> + 3845: < 0.005166, 0.005166, -0.004647> + 3846: < 0.005081, 0.005081, -0.004833> + 3847: < 0.004894, 0.005206, -0.004894> + 3848: < 0.004894, 0.005206, -0.004894> + 3849: < 0.005081, 0.005081, -0.004833> + 3850: < 0.005000, 0.005000, -0.005000> + 3851: < 0.004833, 0.005081, -0.005081> + 3852: < 0.004691, 0.005326, -0.004959> + 3853: < 0.004894, 0.005206, -0.004894> + 3854: < 0.004833, 0.005081, -0.005081> + 3855: < 0.004647, 0.005166, -0.005166> + 3856: < 0.004460, 0.005446, -0.005034> + 3857: < 0.004691, 0.005326, -0.004959> + 3858: < 0.004647, 0.005166, -0.005166> + 3859: < 0.004436, 0.005255, -0.005255> + 3860: < 0.004199, 0.005564, -0.005120> + 3861: < 0.004460, 0.005446, -0.005034> + 3862: < 0.004436, 0.005255, -0.005255> + 3863: < 0.004188, 0.005351, -0.005351> + 3864: < 0.003918, 0.005678, -0.005207> + 3865: < 0.004199, 0.005564, -0.005120> + 3866: < 0.004188, 0.005351, -0.005351> + 3867: < 0.003910, 0.005451, -0.005451> + 3868: < 0.003619, 0.005786, -0.005294> + 3869: < 0.003918, 0.005678, -0.005207> + 3870: < 0.003910, 0.005451, -0.005451> + 3871: < 0.003612, 0.005549, -0.005549> + 3872: < 0.003302, 0.005888, -0.005379> + 3873: < 0.003619, 0.005786, -0.005294> + 3874: < 0.003612, 0.005549, -0.005549> + 3875: < 0.003297, 0.005642, -0.005642> + 3876: < 0.002971, 0.005983, -0.005459> + 3877: < 0.003302, 0.005888, -0.005379> + 3878: < 0.003297, 0.005642, -0.005642> + 3879: < 0.002966, 0.005729, -0.005729> + 3880: < 0.002627, 0.006069, -0.005533> + 3881: < 0.002971, 0.005983, -0.005459> + 3882: < 0.002966, 0.005729, -0.005729> + 3883: < 0.002623, 0.005809, -0.005809> + 3884: < 0.002272, 0.006146, -0.005599> + 3885: < 0.002627, 0.006069, -0.005533> + 3886: < 0.002623, 0.005809, -0.005809> + 3887: < 0.002269, 0.005881, -0.005881> + 3888: < 0.001908, 0.006212, -0.005657> + 3889: < 0.002272, 0.006146, -0.005599> + 3890: < 0.002269, 0.005881, -0.005881> + 3891: < 0.001906, 0.005944, -0.005944> + 3892: < 0.001536, 0.006269, -0.005707> + 3893: < 0.001908, 0.006212, -0.005657> + 3894: < 0.001906, 0.005944, -0.005944> + 3895: < 0.001534, 0.005996, -0.005996> + 3896: < 0.001157, 0.006313, -0.005747> + 3897: < 0.001536, 0.006269, -0.005707> + 3898: < 0.001534, 0.005996, -0.005996> + 3899: < 0.001156, 0.006039, -0.006039> + 3900: < 0.000774, 0.006346, -0.005776> + 3901: < 0.001157, 0.006313, -0.005747> + 3902: < 0.001156, 0.006039, -0.006039> + 3903: < 0.000773, 0.006070, -0.006070> + 3904: < 0.000388, 0.006366, -0.005794> + 3905: < 0.000774, 0.006346, -0.005776> + 3906: < 0.000773, 0.006070, -0.006070> + 3907: < 0.000387, 0.006089, -0.006089> + 3908: <-0.000000, 0.006373, -0.005801> + 3909: < 0.000388, 0.006366, -0.005794> + 3910: < 0.000387, 0.006089, -0.006089> + 3911: < 0.000000, 0.006096, -0.006096> + 3912: <-0.000388, 0.006366, -0.005794> + 3913: <-0.000000, 0.006373, -0.005801> + 3914: < 0.000000, 0.006096, -0.006096> + 3915: <-0.000387, 0.006089, -0.006089> + 3916: <-0.000774, 0.006346, -0.005776> + 3917: <-0.000388, 0.006366, -0.005794> + 3918: <-0.000387, 0.006089, -0.006089> + 3919: <-0.000773, 0.006070, -0.006070> + 3920: <-0.001157, 0.006313, -0.005747> + 3921: <-0.000774, 0.006346, -0.005776> + 3922: <-0.000773, 0.006070, -0.006070> + 3923: <-0.001156, 0.006039, -0.006039> + 3924: <-0.001536, 0.006269, -0.005707> + 3925: <-0.001157, 0.006313, -0.005747> + 3926: <-0.001156, 0.006039, -0.006039> + 3927: <-0.001534, 0.005996, -0.005996> + 3928: <-0.001908, 0.006212, -0.005657> + 3929: <-0.001536, 0.006269, -0.005707> + 3930: <-0.001534, 0.005996, -0.005996> + 3931: <-0.001906, 0.005944, -0.005944> + 3932: <-0.002272, 0.006146, -0.005599> + 3933: <-0.001908, 0.006212, -0.005657> + 3934: <-0.001906, 0.005944, -0.005944> + 3935: <-0.002269, 0.005881, -0.005881> + 3936: <-0.002627, 0.006069, -0.005533> + 3937: <-0.002272, 0.006146, -0.005599> + 3938: <-0.002269, 0.005881, -0.005881> + 3939: <-0.002623, 0.005809, -0.005809> + 3940: <-0.002971, 0.005983, -0.005459> + 3941: <-0.002627, 0.006069, -0.005533> + 3942: <-0.002623, 0.005809, -0.005809> + 3943: <-0.002966, 0.005729, -0.005729> + 3944: <-0.003302, 0.005888, -0.005379> + 3945: <-0.002971, 0.005983, -0.005459> + 3946: <-0.002966, 0.005729, -0.005729> + 3947: <-0.003297, 0.005642, -0.005642> + 3948: <-0.003619, 0.005786, -0.005294> + 3949: <-0.003302, 0.005888, -0.005379> + 3950: <-0.003297, 0.005642, -0.005642> + 3951: <-0.003612, 0.005549, -0.005549> + 3952: <-0.003918, 0.005678, -0.005207> + 3953: <-0.003619, 0.005786, -0.005294> + 3954: <-0.003612, 0.005549, -0.005549> + 3955: <-0.003910, 0.005451, -0.005451> + 3956: <-0.004199, 0.005564, -0.005120> + 3957: <-0.003918, 0.005678, -0.005207> + 3958: <-0.003910, 0.005451, -0.005451> + 3959: <-0.004188, 0.005351, -0.005351> + 3960: <-0.004460, 0.005446, -0.005034> + 3961: <-0.004199, 0.005564, -0.005120> + 3962: <-0.004188, 0.005351, -0.005351> + 3963: <-0.004436, 0.005255, -0.005255> + 3964: <-0.004691, 0.005326, -0.004959> + 3965: <-0.004460, 0.005446, -0.005034> + 3966: <-0.004436, 0.005255, -0.005255> + 3967: <-0.004647, 0.005166, -0.005166> + 3968: <-0.004894, 0.005206, -0.004894> + 3969: <-0.004691, 0.005326, -0.004959> + 3970: <-0.004647, 0.005166, -0.005166> + 3971: <-0.004833, 0.005081, -0.005081> + 3972: <-0.005081, 0.005081, -0.004833> + 3973: <-0.004894, 0.005206, -0.004894> + 3974: <-0.004833, 0.005081, -0.005081> + 3975: <-0.005000, 0.005000, -0.005000> + 3976: <-0.005166, 0.005166, -0.004647> + 3977: <-0.004959, 0.005326, -0.004691> + 3978: <-0.004894, 0.005206, -0.004894> + 3979: <-0.005081, 0.005081, -0.004833> + 3980: <-0.005255, 0.005255, -0.004436> + 3981: <-0.005034, 0.005446, -0.004460> + 3982: <-0.004959, 0.005326, -0.004691> + 3983: <-0.005166, 0.005166, -0.004647> + 3984: <-0.005351, 0.005351, -0.004188> + 3985: <-0.005120, 0.005564, -0.004199> + 3986: <-0.005034, 0.005446, -0.004460> + 3987: <-0.005255, 0.005255, -0.004436> + 3988: <-0.005451, 0.005451, -0.003910> + 3989: <-0.005207, 0.005678, -0.003918> + 3990: <-0.005120, 0.005564, -0.004199> + 3991: <-0.005351, 0.005351, -0.004188> + 3992: <-0.005549, 0.005549, -0.003612> + 3993: <-0.005294, 0.005786, -0.003619> + 3994: <-0.005207, 0.005678, -0.003918> + 3995: <-0.005451, 0.005451, -0.003910> + 3996: <-0.005642, 0.005642, -0.003297> + 3997: <-0.005379, 0.005888, -0.003302> + 3998: <-0.005294, 0.005786, -0.003619> + 3999: <-0.005549, 0.005549, -0.003612> + 4000: <-0.005729, 0.005729, -0.002966> + 4001: <-0.005459, 0.005983, -0.002971> + 4002: <-0.005379, 0.005888, -0.003302> + 4003: <-0.005642, 0.005642, -0.003297> + 4004: <-0.005809, 0.005809, -0.002623> + 4005: <-0.005533, 0.006069, -0.002627> + 4006: <-0.005459, 0.005983, -0.002971> + 4007: <-0.005729, 0.005729, -0.002966> + 4008: <-0.005881, 0.005881, -0.002269> + 4009: <-0.005599, 0.006146, -0.002272> + 4010: <-0.005533, 0.006069, -0.002627> + 4011: <-0.005809, 0.005809, -0.002623> + 4012: <-0.005944, 0.005944, -0.001906> + 4013: <-0.005657, 0.006212, -0.001908> + 4014: <-0.005599, 0.006146, -0.002272> + 4015: <-0.005881, 0.005881, -0.002269> + 4016: <-0.005996, 0.005996, -0.001534> + 4017: <-0.005707, 0.006269, -0.001536> + 4018: <-0.005657, 0.006212, -0.001908> + 4019: <-0.005944, 0.005944, -0.001906> + 4020: <-0.006039, 0.006039, -0.001156> + 4021: <-0.005747, 0.006313, -0.001157> + 4022: <-0.005707, 0.006269, -0.001536> + 4023: <-0.005996, 0.005996, -0.001534> + 4024: <-0.006070, 0.006070, -0.000773> + 4025: <-0.005776, 0.006346, -0.000774> + 4026: <-0.005747, 0.006313, -0.001157> + 4027: <-0.006039, 0.006039, -0.001156> + 4028: <-0.006089, 0.006089, -0.000387> + 4029: <-0.005794, 0.006366, -0.000388> + 4030: <-0.005776, 0.006346, -0.000774> + 4031: <-0.006070, 0.006070, -0.000773> + 4032: <-0.006096, 0.006096, -0.000000> + 4033: <-0.005801, 0.006373, -0.000000> + 4034: <-0.005794, 0.006366, -0.000388> + 4035: <-0.006089, 0.006089, -0.000387> + 4036: <-0.006089, 0.006089, 0.000387> + 4037: <-0.005794, 0.006366, 0.000388> + 4038: <-0.005801, 0.006373, -0.000000> + 4039: <-0.006096, 0.006096, -0.000000> + 4040: <-0.006070, 0.006070, 0.000773> + 4041: <-0.005776, 0.006346, 0.000774> + 4042: <-0.005794, 0.006366, 0.000388> + 4043: <-0.006089, 0.006089, 0.000387> + 4044: <-0.006039, 0.006039, 0.001156> + 4045: <-0.005747, 0.006313, 0.001157> + 4046: <-0.005776, 0.006346, 0.000774> + 4047: <-0.006070, 0.006070, 0.000773> + 4048: <-0.005996, 0.005996, 0.001534> + 4049: <-0.005707, 0.006269, 0.001536> + 4050: <-0.005747, 0.006313, 0.001157> + 4051: <-0.006039, 0.006039, 0.001156> + 4052: <-0.005944, 0.005944, 0.001906> + 4053: <-0.005657, 0.006212, 0.001908> + 4054: <-0.005707, 0.006269, 0.001536> + 4055: <-0.005996, 0.005996, 0.001534> + 4056: <-0.005881, 0.005881, 0.002269> + 4057: <-0.005599, 0.006146, 0.002272> + 4058: <-0.005657, 0.006212, 0.001908> + 4059: <-0.005944, 0.005944, 0.001906> + 4060: <-0.005809, 0.005809, 0.002623> + 4061: <-0.005533, 0.006069, 0.002627> + 4062: <-0.005599, 0.006146, 0.002272> + 4063: <-0.005881, 0.005881, 0.002269> + 4064: <-0.005729, 0.005729, 0.002966> + 4065: <-0.005459, 0.005983, 0.002971> + 4066: <-0.005533, 0.006069, 0.002627> + 4067: <-0.005809, 0.005809, 0.002623> + 4068: <-0.005642, 0.005642, 0.003297> + 4069: <-0.005379, 0.005888, 0.003302> + 4070: <-0.005459, 0.005983, 0.002971> + 4071: <-0.005729, 0.005729, 0.002966> + 4072: <-0.005549, 0.005549, 0.003612> + 4073: <-0.005294, 0.005786, 0.003619> + 4074: <-0.005379, 0.005888, 0.003302> + 4075: <-0.005642, 0.005642, 0.003297> + 4076: <-0.005451, 0.005451, 0.003910> + 4077: <-0.005207, 0.005678, 0.003918> + 4078: <-0.005294, 0.005786, 0.003619> + 4079: <-0.005549, 0.005549, 0.003612> + 4080: <-0.005351, 0.005351, 0.004188> + 4081: <-0.005120, 0.005564, 0.004199> + 4082: <-0.005207, 0.005678, 0.003918> + 4083: <-0.005451, 0.005451, 0.003910> + 4084: <-0.005255, 0.005255, 0.004436> + 4085: <-0.005034, 0.005446, 0.004460> + 4086: <-0.005120, 0.005564, 0.004199> + 4087: <-0.005351, 0.005351, 0.004188> + 4088: <-0.005166, 0.005166, 0.004647> + 4089: <-0.004959, 0.005326, 0.004691> + 4090: <-0.005034, 0.005446, 0.004460> + 4091: <-0.005255, 0.005255, 0.004436> + 4092: <-0.005081, 0.005081, 0.004833> + 4093: <-0.004894, 0.005206, 0.004894> + 4094: <-0.004959, 0.005326, 0.004691> + 4095: <-0.005166, 0.005166, 0.004647> + 4096: <-0.004894, -0.004894, -0.005206> + 4097: <-0.004959, -0.004691, -0.005326> + 4098: <-0.004738, -0.004738, -0.005479> + 4099: <-0.004691, -0.004959, -0.005326> + 4100: <-0.004959, -0.004691, -0.005326> + 4101: <-0.005034, -0.004460, -0.005446> + 4102: <-0.004798, -0.004494, -0.005623> + 4103: <-0.004738, -0.004738, -0.005479> + 4104: <-0.005034, -0.004460, -0.005446> + 4105: <-0.005120, -0.004199, -0.005564> + 4106: <-0.004870, -0.004226, -0.005760> + 4107: <-0.004798, -0.004494, -0.005623> + 4108: <-0.005120, -0.004199, -0.005564> + 4109: <-0.005207, -0.003918, -0.005678> + 4110: <-0.004946, -0.003941, -0.005887> + 4111: <-0.004870, -0.004226, -0.005760> + 4112: <-0.005207, -0.003918, -0.005678> + 4113: <-0.005294, -0.003619, -0.005786> + 4114: <-0.005023, -0.003637, -0.006006> + 4115: <-0.004946, -0.003941, -0.005887> + 4116: <-0.005294, -0.003619, -0.005786> + 4117: <-0.005379, -0.003302, -0.005888> + 4118: <-0.005099, -0.003318, -0.006117> + 4119: <-0.005023, -0.003637, -0.006006> + 4120: <-0.005379, -0.003302, -0.005888> + 4121: <-0.005459, -0.002971, -0.005983> + 4122: <-0.005172, -0.002984, -0.006219> + 4123: <-0.005099, -0.003318, -0.006117> + 4124: <-0.005459, -0.002971, -0.005983> + 4125: <-0.005533, -0.002627, -0.006069> + 4126: <-0.005240, -0.002638, -0.006311> + 4127: <-0.005172, -0.002984, -0.006219> + 4128: <-0.005533, -0.002627, -0.006069> + 4129: <-0.005599, -0.002272, -0.006146> + 4130: <-0.005301, -0.002281, -0.006393> + 4131: <-0.005240, -0.002638, -0.006311> + 4132: <-0.005599, -0.002272, -0.006146> + 4133: <-0.005657, -0.001908, -0.006212> + 4134: <-0.005355, -0.001915, -0.006464> + 4135: <-0.005301, -0.002281, -0.006393> + 4136: <-0.005657, -0.001908, -0.006212> + 4137: <-0.005707, -0.001536, -0.006269> + 4138: <-0.005401, -0.001541, -0.006523> + 4139: <-0.005355, -0.001915, -0.006464> + 4140: <-0.005707, -0.001536, -0.006269> + 4141: <-0.005747, -0.001157, -0.006313> + 4142: <-0.005438, -0.001161, -0.006570> + 4143: <-0.005401, -0.001541, -0.006523> + 4144: <-0.005747, -0.001157, -0.006313> + 4145: <-0.005776, -0.000774, -0.006346> + 4146: <-0.005466, -0.000777, -0.006605> + 4147: <-0.005438, -0.001161, -0.006570> + 4148: <-0.005776, -0.000774, -0.006346> + 4149: <-0.005794, -0.000388, -0.006366> + 4150: <-0.005483, -0.000389, -0.006626> + 4151: <-0.005466, -0.000777, -0.006605> + 4152: <-0.005794, -0.000388, -0.006366> + 4153: <-0.005801, 0.000000, -0.006373> + 4154: <-0.005489, -0.000000, -0.006633> + 4155: <-0.005483, -0.000389, -0.006626> + 4156: <-0.005801, 0.000000, -0.006373> + 4157: <-0.005794, 0.000388, -0.006366> + 4158: <-0.005483, 0.000389, -0.006626> + 4159: <-0.005489, -0.000000, -0.006633> + 4160: <-0.005794, 0.000388, -0.006366> + 4161: <-0.005776, 0.000774, -0.006346> + 4162: <-0.005466, 0.000777, -0.006605> + 4163: <-0.005483, 0.000389, -0.006626> + 4164: <-0.005776, 0.000774, -0.006346> + 4165: <-0.005747, 0.001157, -0.006313> + 4166: <-0.005438, 0.001161, -0.006570> + 4167: <-0.005466, 0.000777, -0.006605> + 4168: <-0.005747, 0.001157, -0.006313> + 4169: <-0.005707, 0.001536, -0.006269> + 4170: <-0.005401, 0.001541, -0.006523> + 4171: <-0.005438, 0.001161, -0.006570> + 4172: <-0.005707, 0.001536, -0.006269> + 4173: <-0.005657, 0.001908, -0.006212> + 4174: <-0.005355, 0.001915, -0.006464> + 4175: <-0.005401, 0.001541, -0.006523> + 4176: <-0.005657, 0.001908, -0.006212> + 4177: <-0.005599, 0.002272, -0.006146> + 4178: <-0.005301, 0.002281, -0.006393> + 4179: <-0.005355, 0.001915, -0.006464> + 4180: <-0.005599, 0.002272, -0.006146> + 4181: <-0.005533, 0.002627, -0.006069> + 4182: <-0.005240, 0.002638, -0.006311> + 4183: <-0.005301, 0.002281, -0.006393> + 4184: <-0.005533, 0.002627, -0.006069> + 4185: <-0.005459, 0.002971, -0.005983> + 4186: <-0.005172, 0.002984, -0.006219> + 4187: <-0.005240, 0.002638, -0.006311> + 4188: <-0.005459, 0.002971, -0.005983> + 4189: <-0.005379, 0.003302, -0.005888> + 4190: <-0.005099, 0.003318, -0.006117> + 4191: <-0.005172, 0.002984, -0.006219> + 4192: <-0.005379, 0.003302, -0.005888> + 4193: <-0.005294, 0.003619, -0.005786> + 4194: <-0.005023, 0.003637, -0.006006> + 4195: <-0.005099, 0.003318, -0.006117> + 4196: <-0.005294, 0.003619, -0.005786> + 4197: <-0.005207, 0.003918, -0.005678> + 4198: <-0.004946, 0.003941, -0.005887> + 4199: <-0.005023, 0.003637, -0.006006> + 4200: <-0.005207, 0.003918, -0.005678> + 4201: <-0.005120, 0.004199, -0.005564> + 4202: <-0.004870, 0.004226, -0.005760> + 4203: <-0.004946, 0.003941, -0.005887> + 4204: <-0.005120, 0.004199, -0.005564> + 4205: <-0.005034, 0.004460, -0.005446> + 4206: <-0.004798, 0.004494, -0.005623> + 4207: <-0.004870, 0.004226, -0.005760> + 4208: <-0.005034, 0.004460, -0.005446> + 4209: <-0.004959, 0.004691, -0.005326> + 4210: <-0.004738, 0.004738, -0.005479> + 4211: <-0.004798, 0.004494, -0.005623> + 4212: <-0.004959, 0.004691, -0.005326> + 4213: <-0.004894, 0.004894, -0.005206> + 4214: <-0.004691, 0.004959, -0.005326> + 4215: <-0.004738, 0.004738, -0.005479> + 4216: <-0.004691, -0.004959, -0.005326> + 4217: <-0.004738, -0.004738, -0.005479> + 4218: <-0.004494, -0.004798, -0.005623> + 4219: <-0.004460, -0.005034, -0.005446> + 4220: <-0.004738, -0.004738, -0.005479> + 4221: <-0.004798, -0.004494, -0.005623> + 4222: <-0.004542, -0.004542, -0.005788> + 4223: <-0.004494, -0.004798, -0.005623> + 4224: <-0.004798, -0.004494, -0.005623> + 4225: <-0.004870, -0.004226, -0.005760> + 4226: <-0.004602, -0.004267, -0.005939> + 4227: <-0.004542, -0.004542, -0.005788> + 4228: <-0.004870, -0.004226, -0.005760> + 4229: <-0.004946, -0.003941, -0.005887> + 4230: <-0.004668, -0.003975, -0.006080> + 4231: <-0.004602, -0.004267, -0.005939> + 4232: <-0.004946, -0.003941, -0.005887> + 4233: <-0.005023, -0.003637, -0.006006> + 4234: <-0.004736, -0.003666, -0.006210> + 4235: <-0.004668, -0.003975, -0.006080> + 4236: <-0.005023, -0.003637, -0.006006> + 4237: <-0.005099, -0.003318, -0.006117> + 4238: <-0.004804, -0.003342, -0.006329> + 4239: <-0.004736, -0.003666, -0.006210> + 4240: <-0.005099, -0.003318, -0.006117> + 4241: <-0.005172, -0.002984, -0.006219> + 4242: <-0.004870, -0.003004, -0.006439> + 4243: <-0.004804, -0.003342, -0.006329> + 4244: <-0.005172, -0.002984, -0.006219> + 4245: <-0.005240, -0.002638, -0.006311> + 4246: <-0.004931, -0.002655, -0.006537> + 4247: <-0.004870, -0.003004, -0.006439> + 4248: <-0.005240, -0.002638, -0.006311> + 4249: <-0.005301, -0.002281, -0.006393> + 4250: <-0.004987, -0.002295, -0.006623> + 4251: <-0.004931, -0.002655, -0.006537> + 4252: <-0.005301, -0.002281, -0.006393> + 4253: <-0.005355, -0.001915, -0.006464> + 4254: <-0.005037, -0.001926, -0.006698> + 4255: <-0.004987, -0.002295, -0.006623> + 4256: <-0.005355, -0.001915, -0.006464> + 4257: <-0.005401, -0.001541, -0.006523> + 4258: <-0.005080, -0.001550, -0.006761> + 4259: <-0.005037, -0.001926, -0.006698> + 4260: <-0.005401, -0.001541, -0.006523> + 4261: <-0.005438, -0.001161, -0.006570> + 4262: <-0.005114, -0.001168, -0.006810> + 4263: <-0.005080, -0.001550, -0.006761> + 4264: <-0.005438, -0.001161, -0.006570> + 4265: <-0.005466, -0.000777, -0.006605> + 4266: <-0.005140, -0.000781, -0.006846> + 4267: <-0.005114, -0.001168, -0.006810> + 4268: <-0.005466, -0.000777, -0.006605> + 4269: <-0.005483, -0.000389, -0.006626> + 4270: <-0.005156, -0.000391, -0.006868> + 4271: <-0.005140, -0.000781, -0.006846> + 4272: <-0.005483, -0.000389, -0.006626> + 4273: <-0.005489, -0.000000, -0.006633> + 4274: <-0.005162, -0.000000, -0.006875> + 4275: <-0.005156, -0.000391, -0.006868> + 4276: <-0.005489, -0.000000, -0.006633> + 4277: <-0.005483, 0.000389, -0.006626> + 4278: <-0.005156, 0.000391, -0.006868> + 4279: <-0.005162, -0.000000, -0.006875> + 4280: <-0.005483, 0.000389, -0.006626> + 4281: <-0.005466, 0.000777, -0.006605> + 4282: <-0.005140, 0.000781, -0.006846> + 4283: <-0.005156, 0.000391, -0.006868> + 4284: <-0.005466, 0.000777, -0.006605> + 4285: <-0.005438, 0.001161, -0.006570> + 4286: <-0.005114, 0.001168, -0.006810> + 4287: <-0.005140, 0.000781, -0.006846> + 4288: <-0.005438, 0.001161, -0.006570> + 4289: <-0.005401, 0.001541, -0.006523> + 4290: <-0.005080, 0.001550, -0.006761> + 4291: <-0.005114, 0.001168, -0.006810> + 4292: <-0.005401, 0.001541, -0.006523> + 4293: <-0.005355, 0.001915, -0.006464> + 4294: <-0.005037, 0.001926, -0.006698> + 4295: <-0.005080, 0.001550, -0.006761> + 4296: <-0.005355, 0.001915, -0.006464> + 4297: <-0.005301, 0.002281, -0.006393> + 4298: <-0.004987, 0.002295, -0.006623> + 4299: <-0.005037, 0.001926, -0.006698> + 4300: <-0.005301, 0.002281, -0.006393> + 4301: <-0.005240, 0.002638, -0.006311> + 4302: <-0.004931, 0.002655, -0.006537> + 4303: <-0.004987, 0.002295, -0.006623> + 4304: <-0.005240, 0.002638, -0.006311> + 4305: <-0.005172, 0.002984, -0.006219> + 4306: <-0.004870, 0.003004, -0.006439> + 4307: <-0.004931, 0.002655, -0.006537> + 4308: <-0.005172, 0.002984, -0.006219> + 4309: <-0.005099, 0.003318, -0.006117> + 4310: <-0.004804, 0.003342, -0.006329> + 4311: <-0.004870, 0.003004, -0.006439> + 4312: <-0.005099, 0.003318, -0.006117> + 4313: <-0.005023, 0.003637, -0.006006> + 4314: <-0.004736, 0.003666, -0.006210> + 4315: <-0.004804, 0.003342, -0.006329> + 4316: <-0.005023, 0.003637, -0.006006> + 4317: <-0.004946, 0.003941, -0.005887> + 4318: <-0.004668, 0.003975, -0.006080> + 4319: <-0.004736, 0.003666, -0.006210> + 4320: <-0.004946, 0.003941, -0.005887> + 4321: <-0.004870, 0.004226, -0.005760> + 4322: <-0.004602, 0.004267, -0.005939> + 4323: <-0.004668, 0.003975, -0.006080> + 4324: <-0.004870, 0.004226, -0.005760> + 4325: <-0.004798, 0.004494, -0.005623> + 4326: <-0.004542, 0.004542, -0.005788> + 4327: <-0.004602, 0.004267, -0.005939> + 4328: <-0.004798, 0.004494, -0.005623> + 4329: <-0.004738, 0.004738, -0.005479> + 4330: <-0.004494, 0.004798, -0.005623> + 4331: <-0.004542, 0.004542, -0.005788> + 4332: <-0.004738, 0.004738, -0.005479> + 4333: <-0.004691, 0.004959, -0.005326> + 4334: <-0.004460, 0.005034, -0.005446> + 4335: <-0.004494, 0.004798, -0.005623> + 4336: <-0.004460, -0.005034, -0.005446> + 4337: <-0.004494, -0.004798, -0.005623> + 4338: <-0.004226, -0.004870, -0.005760> + 4339: <-0.004199, -0.005120, -0.005564> + 4340: <-0.004494, -0.004798, -0.005623> + 4341: <-0.004542, -0.004542, -0.005788> + 4342: <-0.004267, -0.004602, -0.005939> + 4343: <-0.004226, -0.004870, -0.005760> + 4344: <-0.004542, -0.004542, -0.005788> + 4345: <-0.004602, -0.004267, -0.005939> + 4346: <-0.004318, -0.004318, -0.006105> + 4347: <-0.004267, -0.004602, -0.005939> + 4348: <-0.004602, -0.004267, -0.005939> + 4349: <-0.004668, -0.003975, -0.006080> + 4350: <-0.004374, -0.004017, -0.006257> + 4351: <-0.004318, -0.004318, -0.006105> + 4352: <-0.004668, -0.003975, -0.006080> + 4353: <-0.004736, -0.003666, -0.006210> + 4354: <-0.004434, -0.003701, -0.006397> + 4355: <-0.004374, -0.004017, -0.006257> + 4356: <-0.004736, -0.003666, -0.006210> + 4357: <-0.004804, -0.003342, -0.006329> + 4358: <-0.004494, -0.003372, -0.006525> + 4359: <-0.004434, -0.003701, -0.006397> + 4360: <-0.004804, -0.003342, -0.006329> + 4361: <-0.004870, -0.003004, -0.006439> + 4362: <-0.004553, -0.003030, -0.006641> + 4363: <-0.004494, -0.003372, -0.006525> + 4364: <-0.004870, -0.003004, -0.006439> + 4365: <-0.004931, -0.002655, -0.006537> + 4366: <-0.004609, -0.002676, -0.006745> + 4367: <-0.004553, -0.003030, -0.006641> + 4368: <-0.004931, -0.002655, -0.006537> + 4369: <-0.004987, -0.002295, -0.006623> + 4370: <-0.004659, -0.002313, -0.006836> + 4371: <-0.004609, -0.002676, -0.006745> + 4372: <-0.004987, -0.002295, -0.006623> + 4373: <-0.005037, -0.001926, -0.006698> + 4374: <-0.004705, -0.001940, -0.006915> + 4375: <-0.004659, -0.002313, -0.006836> + 4376: <-0.005037, -0.001926, -0.006698> + 4377: <-0.005080, -0.001550, -0.006761> + 4378: <-0.004744, -0.001561, -0.006980> + 4379: <-0.004705, -0.001940, -0.006915> + 4380: <-0.005080, -0.001550, -0.006761> + 4381: <-0.005114, -0.001168, -0.006810> + 4382: <-0.004776, -0.001176, -0.007032> + 4383: <-0.004744, -0.001561, -0.006980> + 4384: <-0.005114, -0.001168, -0.006810> + 4385: <-0.005140, -0.000781, -0.006846> + 4386: <-0.004800, -0.000786, -0.007069> + 4387: <-0.004776, -0.001176, -0.007032> + 4388: <-0.005140, -0.000781, -0.006846> + 4389: <-0.005156, -0.000391, -0.006868> + 4390: <-0.004815, -0.000394, -0.007092> + 4391: <-0.004800, -0.000786, -0.007069> + 4392: <-0.005156, -0.000391, -0.006868> + 4393: <-0.005162, -0.000000, -0.006875> + 4394: <-0.004820, -0.000000, -0.007099> + 4395: <-0.004815, -0.000394, -0.007092> + 4396: <-0.005162, -0.000000, -0.006875> + 4397: <-0.005156, 0.000391, -0.006868> + 4398: <-0.004815, 0.000394, -0.007092> + 4399: <-0.004820, -0.000000, -0.007099> + 4400: <-0.005156, 0.000391, -0.006868> + 4401: <-0.005140, 0.000781, -0.006846> + 4402: <-0.004800, 0.000786, -0.007069> + 4403: <-0.004815, 0.000394, -0.007092> + 4404: <-0.005140, 0.000781, -0.006846> + 4405: <-0.005114, 0.001168, -0.006810> + 4406: <-0.004776, 0.001176, -0.007032> + 4407: <-0.004800, 0.000786, -0.007069> + 4408: <-0.005114, 0.001168, -0.006810> + 4409: <-0.005080, 0.001550, -0.006761> + 4410: <-0.004744, 0.001561, -0.006980> + 4411: <-0.004776, 0.001176, -0.007032> + 4412: <-0.005080, 0.001550, -0.006761> + 4413: <-0.005037, 0.001926, -0.006698> + 4414: <-0.004705, 0.001940, -0.006915> + 4415: <-0.004744, 0.001561, -0.006980> + 4416: <-0.005037, 0.001926, -0.006698> + 4417: <-0.004987, 0.002295, -0.006623> + 4418: <-0.004659, 0.002313, -0.006836> + 4419: <-0.004705, 0.001940, -0.006915> + 4420: <-0.004987, 0.002295, -0.006623> + 4421: <-0.004931, 0.002655, -0.006537> + 4422: <-0.004609, 0.002676, -0.006745> + 4423: <-0.004659, 0.002313, -0.006836> + 4424: <-0.004931, 0.002655, -0.006537> + 4425: <-0.004870, 0.003004, -0.006439> + 4426: <-0.004553, 0.003030, -0.006641> + 4427: <-0.004609, 0.002676, -0.006745> + 4428: <-0.004870, 0.003004, -0.006439> + 4429: <-0.004804, 0.003342, -0.006329> + 4430: <-0.004494, 0.003372, -0.006525> + 4431: <-0.004553, 0.003030, -0.006641> + 4432: <-0.004804, 0.003342, -0.006329> + 4433: <-0.004736, 0.003666, -0.006210> + 4434: <-0.004434, 0.003701, -0.006397> + 4435: <-0.004494, 0.003372, -0.006525> + 4436: <-0.004736, 0.003666, -0.006210> + 4437: <-0.004668, 0.003975, -0.006080> + 4438: <-0.004374, 0.004017, -0.006257> + 4439: <-0.004434, 0.003701, -0.006397> + 4440: <-0.004668, 0.003975, -0.006080> + 4441: <-0.004602, 0.004267, -0.005939> + 4442: <-0.004318, 0.004318, -0.006105> + 4443: <-0.004374, 0.004017, -0.006257> + 4444: <-0.004602, 0.004267, -0.005939> + 4445: <-0.004542, 0.004542, -0.005788> + 4446: <-0.004267, 0.004602, -0.005939> + 4447: <-0.004318, 0.004318, -0.006105> + 4448: <-0.004542, 0.004542, -0.005788> + 4449: <-0.004494, 0.004798, -0.005623> + 4450: <-0.004226, 0.004870, -0.005760> + 4451: <-0.004267, 0.004602, -0.005939> + 4452: <-0.004494, 0.004798, -0.005623> + 4453: <-0.004460, 0.005034, -0.005446> + 4454: <-0.004199, 0.005120, -0.005564> + 4455: <-0.004226, 0.004870, -0.005760> + 4456: <-0.004199, -0.005120, -0.005564> + 4457: <-0.004226, -0.004870, -0.005760> + 4458: <-0.003941, -0.004946, -0.005887> + 4459: <-0.003918, -0.005207, -0.005678> + 4460: <-0.004226, -0.004870, -0.005760> + 4461: <-0.004267, -0.004602, -0.005939> + 4462: <-0.003975, -0.004668, -0.006080> + 4463: <-0.003941, -0.004946, -0.005887> + 4464: <-0.004267, -0.004602, -0.005939> + 4465: <-0.004318, -0.004318, -0.006105> + 4466: <-0.004017, -0.004374, -0.006257> + 4467: <-0.003975, -0.004668, -0.006080> + 4468: <-0.004318, -0.004318, -0.006105> + 4469: <-0.004374, -0.004017, -0.006257> + 4470: <-0.004065, -0.004065, -0.006421> + 4471: <-0.004017, -0.004374, -0.006257> + 4472: <-0.004374, -0.004017, -0.006257> + 4473: <-0.004434, -0.003701, -0.006397> + 4474: <-0.004117, -0.003743, -0.006570> + 4475: <-0.004065, -0.004065, -0.006421> + 4476: <-0.004434, -0.003701, -0.006397> + 4477: <-0.004494, -0.003372, -0.006525> + 4478: <-0.004170, -0.003407, -0.006705> + 4479: <-0.004117, -0.003743, -0.006570> + 4480: <-0.004494, -0.003372, -0.006525> + 4481: <-0.004553, -0.003030, -0.006641> + 4482: <-0.004223, -0.003060, -0.006828> + 4483: <-0.004170, -0.003407, -0.006705> + 4484: <-0.004553, -0.003030, -0.006641> + 4485: <-0.004609, -0.002676, -0.006745> + 4486: <-0.004273, -0.002701, -0.006937> + 4487: <-0.004223, -0.003060, -0.006828> + 4488: <-0.004609, -0.002676, -0.006745> + 4489: <-0.004659, -0.002313, -0.006836> + 4490: <-0.004318, -0.002333, -0.007033> + 4491: <-0.004273, -0.002701, -0.006937> + 4492: <-0.004659, -0.002313, -0.006836> + 4493: <-0.004705, -0.001940, -0.006915> + 4494: <-0.004360, -0.001957, -0.007115> + 4495: <-0.004318, -0.002333, -0.007033> + 4496: <-0.004705, -0.001940, -0.006915> + 4497: <-0.004744, -0.001561, -0.006980> + 4498: <-0.004395, -0.001574, -0.007183> + 4499: <-0.004360, -0.001957, -0.007115> + 4500: <-0.004744, -0.001561, -0.006980> + 4501: <-0.004776, -0.001176, -0.007032> + 4502: <-0.004424, -0.001185, -0.007236> + 4503: <-0.004395, -0.001574, -0.007183> + 4504: <-0.004776, -0.001176, -0.007032> + 4505: <-0.004800, -0.000786, -0.007069> + 4506: <-0.004446, -0.000792, -0.007275> + 4507: <-0.004424, -0.001185, -0.007236> + 4508: <-0.004800, -0.000786, -0.007069> + 4509: <-0.004815, -0.000394, -0.007092> + 4510: <-0.004460, -0.000397, -0.007298> + 4511: <-0.004446, -0.000792, -0.007275> + 4512: <-0.004815, -0.000394, -0.007092> + 4513: <-0.004820, -0.000000, -0.007099> + 4514: <-0.004465, -0.000000, -0.007306> + 4515: <-0.004460, -0.000397, -0.007298> + 4516: <-0.004820, -0.000000, -0.007099> + 4517: <-0.004815, 0.000394, -0.007092> + 4518: <-0.004460, 0.000397, -0.007298> + 4519: <-0.004465, -0.000000, -0.007306> + 4520: <-0.004815, 0.000394, -0.007092> + 4521: <-0.004800, 0.000786, -0.007069> + 4522: <-0.004446, 0.000792, -0.007275> + 4523: <-0.004460, 0.000397, -0.007298> + 4524: <-0.004800, 0.000786, -0.007069> + 4525: <-0.004776, 0.001176, -0.007032> + 4526: <-0.004424, 0.001185, -0.007236> + 4527: <-0.004446, 0.000792, -0.007275> + 4528: <-0.004776, 0.001176, -0.007032> + 4529: <-0.004744, 0.001561, -0.006980> + 4530: <-0.004395, 0.001574, -0.007183> + 4531: <-0.004424, 0.001185, -0.007236> + 4532: <-0.004744, 0.001561, -0.006980> + 4533: <-0.004705, 0.001940, -0.006915> + 4534: <-0.004360, 0.001957, -0.007115> + 4535: <-0.004395, 0.001574, -0.007183> + 4536: <-0.004705, 0.001940, -0.006915> + 4537: <-0.004659, 0.002313, -0.006836> + 4538: <-0.004318, 0.002333, -0.007033> + 4539: <-0.004360, 0.001957, -0.007115> + 4540: <-0.004659, 0.002313, -0.006836> + 4541: <-0.004609, 0.002676, -0.006745> + 4542: <-0.004273, 0.002701, -0.006937> + 4543: <-0.004318, 0.002333, -0.007033> + 4544: <-0.004609, 0.002676, -0.006745> + 4545: <-0.004553, 0.003030, -0.006641> + 4546: <-0.004223, 0.003060, -0.006828> + 4547: <-0.004273, 0.002701, -0.006937> + 4548: <-0.004553, 0.003030, -0.006641> + 4549: <-0.004494, 0.003372, -0.006525> + 4550: <-0.004170, 0.003407, -0.006705> + 4551: <-0.004223, 0.003060, -0.006828> + 4552: <-0.004494, 0.003372, -0.006525> + 4553: <-0.004434, 0.003701, -0.006397> + 4554: <-0.004117, 0.003743, -0.006570> + 4555: <-0.004170, 0.003407, -0.006705> + 4556: <-0.004434, 0.003701, -0.006397> + 4557: <-0.004374, 0.004017, -0.006257> + 4558: <-0.004065, 0.004065, -0.006421> + 4559: <-0.004117, 0.003743, -0.006570> + 4560: <-0.004374, 0.004017, -0.006257> + 4561: <-0.004318, 0.004318, -0.006105> + 4562: <-0.004017, 0.004374, -0.006257> + 4563: <-0.004065, 0.004065, -0.006421> + 4564: <-0.004318, 0.004318, -0.006105> + 4565: <-0.004267, 0.004602, -0.005939> + 4566: <-0.003975, 0.004668, -0.006080> + 4567: <-0.004017, 0.004374, -0.006257> + 4568: <-0.004267, 0.004602, -0.005939> + 4569: <-0.004226, 0.004870, -0.005760> + 4570: <-0.003941, 0.004946, -0.005887> + 4571: <-0.003975, 0.004668, -0.006080> + 4572: <-0.004226, 0.004870, -0.005760> + 4573: <-0.004199, 0.005120, -0.005564> + 4574: <-0.003918, 0.005207, -0.005678> + 4575: <-0.003941, 0.004946, -0.005887> + 4576: <-0.003918, -0.005207, -0.005678> + 4577: <-0.003941, -0.004946, -0.005887> + 4578: <-0.003637, -0.005023, -0.006006> + 4579: <-0.003619, -0.005294, -0.005786> + 4580: <-0.003941, -0.004946, -0.005887> + 4581: <-0.003975, -0.004668, -0.006080> + 4582: <-0.003666, -0.004736, -0.006210> + 4583: <-0.003637, -0.005023, -0.006006> + 4584: <-0.003975, -0.004668, -0.006080> + 4585: <-0.004017, -0.004374, -0.006257> + 4586: <-0.003701, -0.004434, -0.006397> + 4587: <-0.003666, -0.004736, -0.006210> + 4588: <-0.004017, -0.004374, -0.006257> + 4589: <-0.004065, -0.004065, -0.006421> + 4590: <-0.003743, -0.004117, -0.006570> + 4591: <-0.003701, -0.004434, -0.006397> + 4592: <-0.004065, -0.004065, -0.006421> + 4593: <-0.004117, -0.003743, -0.006570> + 4594: <-0.003788, -0.003788, -0.006727> + 4595: <-0.003743, -0.004117, -0.006570> + 4596: <-0.004117, -0.003743, -0.006570> + 4597: <-0.004170, -0.003407, -0.006705> + 4598: <-0.003834, -0.003446, -0.006870> + 4599: <-0.003788, -0.003788, -0.006727> + 4600: <-0.004170, -0.003407, -0.006705> + 4601: <-0.004223, -0.003060, -0.006828> + 4602: <-0.003880, -0.003093, -0.006998> + 4603: <-0.003834, -0.003446, -0.006870> + 4604: <-0.004223, -0.003060, -0.006828> + 4605: <-0.004273, -0.002701, -0.006937> + 4606: <-0.003924, -0.002729, -0.007112> + 4607: <-0.003880, -0.003093, -0.006998> + 4608: <-0.004273, -0.002701, -0.006937> + 4609: <-0.004318, -0.002333, -0.007033> + 4610: <-0.003965, -0.002356, -0.007212> + 4611: <-0.003924, -0.002729, -0.007112> + 4612: <-0.004318, -0.002333, -0.007033> + 4613: <-0.004360, -0.001957, -0.007115> + 4614: <-0.004002, -0.001975, -0.007297> + 4615: <-0.003965, -0.002356, -0.007212> + 4616: <-0.004360, -0.001957, -0.007115> + 4617: <-0.004395, -0.001574, -0.007183> + 4618: <-0.004034, -0.001588, -0.007367> + 4619: <-0.004002, -0.001975, -0.007297> + 4620: <-0.004395, -0.001574, -0.007183> + 4621: <-0.004424, -0.001185, -0.007236> + 4622: <-0.004061, -0.001196, -0.007423> + 4623: <-0.004034, -0.001588, -0.007367> + 4624: <-0.004424, -0.001185, -0.007236> + 4625: <-0.004446, -0.000792, -0.007275> + 4626: <-0.004081, -0.000799, -0.007462> + 4627: <-0.004061, -0.001196, -0.007423> + 4628: <-0.004446, -0.000792, -0.007275> + 4629: <-0.004460, -0.000397, -0.007298> + 4630: <-0.004093, -0.000400, -0.007487> + 4631: <-0.004081, -0.000799, -0.007462> + 4632: <-0.004460, -0.000397, -0.007298> + 4633: <-0.004465, -0.000000, -0.007306> + 4634: <-0.004098, -0.000000, -0.007495> + 4635: <-0.004093, -0.000400, -0.007487> + 4636: <-0.004465, -0.000000, -0.007306> + 4637: <-0.004460, 0.000397, -0.007298> + 4638: <-0.004093, 0.000400, -0.007487> + 4639: <-0.004098, -0.000000, -0.007495> + 4640: <-0.004460, 0.000397, -0.007298> + 4641: <-0.004446, 0.000792, -0.007275> + 4642: <-0.004081, 0.000799, -0.007462> + 4643: <-0.004093, 0.000400, -0.007487> + 4644: <-0.004446, 0.000792, -0.007275> + 4645: <-0.004424, 0.001185, -0.007236> + 4646: <-0.004061, 0.001196, -0.007423> + 4647: <-0.004081, 0.000799, -0.007462> + 4648: <-0.004424, 0.001185, -0.007236> + 4649: <-0.004395, 0.001574, -0.007183> + 4650: <-0.004034, 0.001588, -0.007367> + 4651: <-0.004061, 0.001196, -0.007423> + 4652: <-0.004395, 0.001574, -0.007183> + 4653: <-0.004360, 0.001957, -0.007115> + 4654: <-0.004002, 0.001975, -0.007297> + 4655: <-0.004034, 0.001588, -0.007367> + 4656: <-0.004360, 0.001957, -0.007115> + 4657: <-0.004318, 0.002333, -0.007033> + 4658: <-0.003965, 0.002356, -0.007212> + 4659: <-0.004002, 0.001975, -0.007297> + 4660: <-0.004318, 0.002333, -0.007033> + 4661: <-0.004273, 0.002701, -0.006937> + 4662: <-0.003924, 0.002729, -0.007112> + 4663: <-0.003965, 0.002356, -0.007212> + 4664: <-0.004273, 0.002701, -0.006937> + 4665: <-0.004223, 0.003060, -0.006828> + 4666: <-0.003880, 0.003093, -0.006998> + 4667: <-0.003924, 0.002729, -0.007112> + 4668: <-0.004223, 0.003060, -0.006828> + 4669: <-0.004170, 0.003407, -0.006705> + 4670: <-0.003834, 0.003446, -0.006870> + 4671: <-0.003880, 0.003093, -0.006998> + 4672: <-0.004170, 0.003407, -0.006705> + 4673: <-0.004117, 0.003743, -0.006570> + 4674: <-0.003788, 0.003788, -0.006727> + 4675: <-0.003834, 0.003446, -0.006870> + 4676: <-0.004117, 0.003743, -0.006570> + 4677: <-0.004065, 0.004065, -0.006421> + 4678: <-0.003743, 0.004117, -0.006570> + 4679: <-0.003788, 0.003788, -0.006727> + 4680: <-0.004065, 0.004065, -0.006421> + 4681: <-0.004017, 0.004374, -0.006257> + 4682: <-0.003701, 0.004434, -0.006397> + 4683: <-0.003743, 0.004117, -0.006570> + 4684: <-0.004017, 0.004374, -0.006257> + 4685: <-0.003975, 0.004668, -0.006080> + 4686: <-0.003666, 0.004736, -0.006210> + 4687: <-0.003701, 0.004434, -0.006397> + 4688: <-0.003975, 0.004668, -0.006080> + 4689: <-0.003941, 0.004946, -0.005887> + 4690: <-0.003637, 0.005023, -0.006006> + 4691: <-0.003666, 0.004736, -0.006210> + 4692: <-0.003941, 0.004946, -0.005887> + 4693: <-0.003918, 0.005207, -0.005678> + 4694: <-0.003619, 0.005294, -0.005786> + 4695: <-0.003637, 0.005023, -0.006006> + 4696: <-0.003619, -0.005294, -0.005786> + 4697: <-0.003637, -0.005023, -0.006006> + 4698: <-0.003318, -0.005099, -0.006117> + 4699: <-0.003302, -0.005379, -0.005888> + 4700: <-0.003637, -0.005023, -0.006006> + 4701: <-0.003666, -0.004736, -0.006210> + 4702: <-0.003342, -0.004804, -0.006329> + 4703: <-0.003318, -0.005099, -0.006117> + 4704: <-0.003666, -0.004736, -0.006210> + 4705: <-0.003701, -0.004434, -0.006397> + 4706: <-0.003372, -0.004494, -0.006525> + 4707: <-0.003342, -0.004804, -0.006329> + 4708: <-0.003701, -0.004434, -0.006397> + 4709: <-0.003743, -0.004117, -0.006570> + 4710: <-0.003407, -0.004170, -0.006705> + 4711: <-0.003372, -0.004494, -0.006525> + 4712: <-0.003743, -0.004117, -0.006570> + 4713: <-0.003788, -0.003788, -0.006727> + 4714: <-0.003446, -0.003834, -0.006870> + 4715: <-0.003407, -0.004170, -0.006705> + 4716: <-0.003788, -0.003788, -0.006727> + 4717: <-0.003834, -0.003446, -0.006870> + 4718: <-0.003486, -0.003486, -0.007018> + 4719: <-0.003446, -0.003834, -0.006870> + 4720: <-0.003834, -0.003446, -0.006870> + 4721: <-0.003880, -0.003093, -0.006998> + 4722: <-0.003526, -0.003127, -0.007152> + 4723: <-0.003486, -0.003486, -0.007018> + 4724: <-0.003880, -0.003093, -0.006998> + 4725: <-0.003924, -0.002729, -0.007112> + 4726: <-0.003565, -0.002758, -0.007270> + 4727: <-0.003526, -0.003127, -0.007152> + 4728: <-0.003924, -0.002729, -0.007112> + 4729: <-0.003965, -0.002356, -0.007212> + 4730: <-0.003601, -0.002380, -0.007374> + 4731: <-0.003565, -0.002758, -0.007270> + 4732: <-0.003965, -0.002356, -0.007212> + 4733: <-0.004002, -0.001975, -0.007297> + 4734: <-0.003634, -0.001995, -0.007462> + 4735: <-0.003601, -0.002380, -0.007374> + 4736: <-0.004002, -0.001975, -0.007297> + 4737: <-0.004034, -0.001588, -0.007367> + 4738: <-0.003663, -0.001603, -0.007535> + 4739: <-0.003634, -0.001995, -0.007462> + 4740: <-0.004034, -0.001588, -0.007367> + 4741: <-0.004061, -0.001196, -0.007423> + 4742: <-0.003686, -0.001207, -0.007591> + 4743: <-0.003663, -0.001603, -0.007535> + 4744: <-0.004061, -0.001196, -0.007423> + 4745: <-0.004081, -0.000799, -0.007462> + 4746: <-0.003704, -0.000807, -0.007632> + 4747: <-0.003686, -0.001207, -0.007591> + 4748: <-0.004081, -0.000799, -0.007462> + 4749: <-0.004093, -0.000400, -0.007487> + 4750: <-0.003716, -0.000404, -0.007657> + 4751: <-0.003704, -0.000807, -0.007632> + 4752: <-0.004093, -0.000400, -0.007487> + 4753: <-0.004098, -0.000000, -0.007495> + 4754: <-0.003720, -0.000000, -0.007665> + 4755: <-0.003716, -0.000404, -0.007657> + 4756: <-0.004098, -0.000000, -0.007495> + 4757: <-0.004093, 0.000400, -0.007487> + 4758: <-0.003716, 0.000404, -0.007657> + 4759: <-0.003720, -0.000000, -0.007665> + 4760: <-0.004093, 0.000400, -0.007487> + 4761: <-0.004081, 0.000799, -0.007462> + 4762: <-0.003704, 0.000807, -0.007632> + 4763: <-0.003716, 0.000404, -0.007657> + 4764: <-0.004081, 0.000799, -0.007462> + 4765: <-0.004061, 0.001196, -0.007423> + 4766: <-0.003686, 0.001207, -0.007591> + 4767: <-0.003704, 0.000807, -0.007632> + 4768: <-0.004061, 0.001196, -0.007423> + 4769: <-0.004034, 0.001588, -0.007367> + 4770: <-0.003663, 0.001603, -0.007535> + 4771: <-0.003686, 0.001207, -0.007591> + 4772: <-0.004034, 0.001588, -0.007367> + 4773: <-0.004002, 0.001975, -0.007297> + 4774: <-0.003634, 0.001995, -0.007462> + 4775: <-0.003663, 0.001603, -0.007535> + 4776: <-0.004002, 0.001975, -0.007297> + 4777: <-0.003965, 0.002356, -0.007212> + 4778: <-0.003601, 0.002380, -0.007374> + 4779: <-0.003634, 0.001995, -0.007462> + 4780: <-0.003965, 0.002356, -0.007212> + 4781: <-0.003924, 0.002729, -0.007112> + 4782: <-0.003565, 0.002758, -0.007270> + 4783: <-0.003601, 0.002380, -0.007374> + 4784: <-0.003924, 0.002729, -0.007112> + 4785: <-0.003880, 0.003093, -0.006998> + 4786: <-0.003526, 0.003127, -0.007152> + 4787: <-0.003565, 0.002758, -0.007270> + 4788: <-0.003880, 0.003093, -0.006998> + 4789: <-0.003834, 0.003446, -0.006870> + 4790: <-0.003486, 0.003486, -0.007018> + 4791: <-0.003526, 0.003127, -0.007152> + 4792: <-0.003834, 0.003446, -0.006870> + 4793: <-0.003788, 0.003788, -0.006727> + 4794: <-0.003446, 0.003834, -0.006870> + 4795: <-0.003486, 0.003486, -0.007018> + 4796: <-0.003788, 0.003788, -0.006727> + 4797: <-0.003743, 0.004117, -0.006570> + 4798: <-0.003407, 0.004170, -0.006705> + 4799: <-0.003446, 0.003834, -0.006870> + 4800: <-0.003743, 0.004117, -0.006570> + 4801: <-0.003701, 0.004434, -0.006397> + 4802: <-0.003372, 0.004494, -0.006525> + 4803: <-0.003407, 0.004170, -0.006705> + 4804: <-0.003701, 0.004434, -0.006397> + 4805: <-0.003666, 0.004736, -0.006210> + 4806: <-0.003342, 0.004804, -0.006329> + 4807: <-0.003372, 0.004494, -0.006525> + 4808: <-0.003666, 0.004736, -0.006210> + 4809: <-0.003637, 0.005023, -0.006006> + 4810: <-0.003318, 0.005099, -0.006117> + 4811: <-0.003342, 0.004804, -0.006329> + 4812: <-0.003637, 0.005023, -0.006006> + 4813: <-0.003619, 0.005294, -0.005786> + 4814: <-0.003302, 0.005379, -0.005888> + 4815: <-0.003318, 0.005099, -0.006117> + 4816: <-0.003302, -0.005379, -0.005888> + 4817: <-0.003318, -0.005099, -0.006117> + 4818: <-0.002984, -0.005172, -0.006219> + 4819: <-0.002971, -0.005459, -0.005983> + 4820: <-0.003318, -0.005099, -0.006117> + 4821: <-0.003342, -0.004804, -0.006329> + 4822: <-0.003004, -0.004870, -0.006439> + 4823: <-0.002984, -0.005172, -0.006219> + 4824: <-0.003342, -0.004804, -0.006329> + 4825: <-0.003372, -0.004494, -0.006525> + 4826: <-0.003030, -0.004553, -0.006641> + 4827: <-0.003004, -0.004870, -0.006439> + 4828: <-0.003372, -0.004494, -0.006525> + 4829: <-0.003407, -0.004170, -0.006705> + 4830: <-0.003060, -0.004223, -0.006828> + 4831: <-0.003030, -0.004553, -0.006641> + 4832: <-0.003407, -0.004170, -0.006705> + 4833: <-0.003446, -0.003834, -0.006870> + 4834: <-0.003093, -0.003880, -0.006998> + 4835: <-0.003060, -0.004223, -0.006828> + 4836: <-0.003446, -0.003834, -0.006870> + 4837: <-0.003486, -0.003486, -0.007018> + 4838: <-0.003127, -0.003526, -0.007152> + 4839: <-0.003093, -0.003880, -0.006998> + 4840: <-0.003486, -0.003486, -0.007018> + 4841: <-0.003526, -0.003127, -0.007152> + 4842: <-0.003162, -0.003162, -0.007290> + 4843: <-0.003127, -0.003526, -0.007152> + 4844: <-0.003526, -0.003127, -0.007152> + 4845: <-0.003565, -0.002758, -0.007270> + 4846: <-0.003195, -0.002787, -0.007412> + 4847: <-0.003162, -0.003162, -0.007290> + 4848: <-0.003565, -0.002758, -0.007270> + 4849: <-0.003601, -0.002380, -0.007374> + 4850: <-0.003227, -0.002405, -0.007519> + 4851: <-0.003195, -0.002787, -0.007412> + 4852: <-0.003601, -0.002380, -0.007374> + 4853: <-0.003634, -0.001995, -0.007462> + 4854: <-0.003255, -0.002015, -0.007610> + 4855: <-0.003227, -0.002405, -0.007519> + 4856: <-0.003634, -0.001995, -0.007462> + 4857: <-0.003663, -0.001603, -0.007535> + 4858: <-0.003281, -0.001619, -0.007684> + 4859: <-0.003255, -0.002015, -0.007610> + 4860: <-0.003663, -0.001603, -0.007535> + 4861: <-0.003686, -0.001207, -0.007591> + 4862: <-0.003302, -0.001219, -0.007743> + 4863: <-0.003281, -0.001619, -0.007684> + 4864: <-0.003686, -0.001207, -0.007591> + 4865: <-0.003704, -0.000807, -0.007632> + 4866: <-0.003318, -0.000814, -0.007785> + 4867: <-0.003302, -0.001219, -0.007743> + 4868: <-0.003704, -0.000807, -0.007632> + 4869: <-0.003716, -0.000404, -0.007657> + 4870: <-0.003328, -0.000408, -0.007810> + 4871: <-0.003318, -0.000814, -0.007785> + 4872: <-0.003716, -0.000404, -0.007657> + 4873: <-0.003720, -0.000000, -0.007665> + 4874: <-0.003331, -0.000000, -0.007818> + 4875: <-0.003328, -0.000408, -0.007810> + 4876: <-0.003720, -0.000000, -0.007665> + 4877: <-0.003716, 0.000404, -0.007657> + 4878: <-0.003328, 0.000408, -0.007810> + 4879: <-0.003331, -0.000000, -0.007818> + 4880: <-0.003716, 0.000404, -0.007657> + 4881: <-0.003704, 0.000807, -0.007632> + 4882: <-0.003318, 0.000814, -0.007785> + 4883: <-0.003328, 0.000408, -0.007810> + 4884: <-0.003704, 0.000807, -0.007632> + 4885: <-0.003686, 0.001207, -0.007591> + 4886: <-0.003302, 0.001219, -0.007743> + 4887: <-0.003318, 0.000814, -0.007785> + 4888: <-0.003686, 0.001207, -0.007591> + 4889: <-0.003663, 0.001603, -0.007535> + 4890: <-0.003281, 0.001619, -0.007684> + 4891: <-0.003302, 0.001219, -0.007743> + 4892: <-0.003663, 0.001603, -0.007535> + 4893: <-0.003634, 0.001995, -0.007462> + 4894: <-0.003255, 0.002015, -0.007610> + 4895: <-0.003281, 0.001619, -0.007684> + 4896: <-0.003634, 0.001995, -0.007462> + 4897: <-0.003601, 0.002380, -0.007374> + 4898: <-0.003227, 0.002405, -0.007519> + 4899: <-0.003255, 0.002015, -0.007610> + 4900: <-0.003601, 0.002380, -0.007374> + 4901: <-0.003565, 0.002758, -0.007270> + 4902: <-0.003195, 0.002787, -0.007412> + 4903: <-0.003227, 0.002405, -0.007519> + 4904: <-0.003565, 0.002758, -0.007270> + 4905: <-0.003526, 0.003127, -0.007152> + 4906: <-0.003162, 0.003162, -0.007290> + 4907: <-0.003195, 0.002787, -0.007412> + 4908: <-0.003526, 0.003127, -0.007152> + 4909: <-0.003486, 0.003486, -0.007018> + 4910: <-0.003127, 0.003526, -0.007152> + 4911: <-0.003162, 0.003162, -0.007290> + 4912: <-0.003486, 0.003486, -0.007018> + 4913: <-0.003446, 0.003834, -0.006870> + 4914: <-0.003093, 0.003880, -0.006998> + 4915: <-0.003127, 0.003526, -0.007152> + 4916: <-0.003446, 0.003834, -0.006870> + 4917: <-0.003407, 0.004170, -0.006705> + 4918: <-0.003060, 0.004223, -0.006828> + 4919: <-0.003093, 0.003880, -0.006998> + 4920: <-0.003407, 0.004170, -0.006705> + 4921: <-0.003372, 0.004494, -0.006525> + 4922: <-0.003030, 0.004553, -0.006641> + 4923: <-0.003060, 0.004223, -0.006828> + 4924: <-0.003372, 0.004494, -0.006525> + 4925: <-0.003342, 0.004804, -0.006329> + 4926: <-0.003004, 0.004870, -0.006439> + 4927: <-0.003030, 0.004553, -0.006641> + 4928: <-0.003342, 0.004804, -0.006329> + 4929: <-0.003318, 0.005099, -0.006117> + 4930: <-0.002984, 0.005172, -0.006219> + 4931: <-0.003004, 0.004870, -0.006439> + 4932: <-0.003318, 0.005099, -0.006117> + 4933: <-0.003302, 0.005379, -0.005888> + 4934: <-0.002971, 0.005459, -0.005983> + 4935: <-0.002984, 0.005172, -0.006219> + 4936: <-0.002971, -0.005459, -0.005983> + 4937: <-0.002984, -0.005172, -0.006219> + 4938: <-0.002638, -0.005240, -0.006311> + 4939: <-0.002627, -0.005533, -0.006069> + 4940: <-0.002984, -0.005172, -0.006219> + 4941: <-0.003004, -0.004870, -0.006439> + 4942: <-0.002655, -0.004931, -0.006537> + 4943: <-0.002638, -0.005240, -0.006311> + 4944: <-0.003004, -0.004870, -0.006439> + 4945: <-0.003030, -0.004553, -0.006641> + 4946: <-0.002676, -0.004609, -0.006745> + 4947: <-0.002655, -0.004931, -0.006537> + 4948: <-0.003030, -0.004553, -0.006641> + 4949: <-0.003060, -0.004223, -0.006828> + 4950: <-0.002701, -0.004273, -0.006937> + 4951: <-0.002676, -0.004609, -0.006745> + 4952: <-0.003060, -0.004223, -0.006828> + 4953: <-0.003093, -0.003880, -0.006998> + 4954: <-0.002729, -0.003924, -0.007112> + 4955: <-0.002701, -0.004273, -0.006937> + 4956: <-0.003093, -0.003880, -0.006998> + 4957: <-0.003127, -0.003526, -0.007152> + 4958: <-0.002758, -0.003565, -0.007270> + 4959: <-0.002729, -0.003924, -0.007112> + 4960: <-0.003127, -0.003526, -0.007152> + 4961: <-0.003162, -0.003162, -0.007290> + 4962: <-0.002787, -0.003195, -0.007412> + 4963: <-0.002758, -0.003565, -0.007270> + 4964: <-0.003162, -0.003162, -0.007290> + 4965: <-0.003195, -0.002787, -0.007412> + 4966: <-0.002816, -0.002816, -0.007538> + 4967: <-0.002787, -0.003195, -0.007412> + 4968: <-0.003195, -0.002787, -0.007412> + 4969: <-0.003227, -0.002405, -0.007519> + 4970: <-0.002843, -0.002429, -0.007648> + 4971: <-0.002816, -0.002816, -0.007538> + 4972: <-0.003227, -0.002405, -0.007519> + 4973: <-0.003255, -0.002015, -0.007610> + 4974: <-0.002868, -0.002035, -0.007740> + 4975: <-0.002843, -0.002429, -0.007648> + 4976: <-0.003255, -0.002015, -0.007610> + 4977: <-0.003281, -0.001619, -0.007684> + 4978: <-0.002890, -0.001635, -0.007817> + 4979: <-0.002868, -0.002035, -0.007740> + 4980: <-0.003281, -0.001619, -0.007684> + 4981: <-0.003302, -0.001219, -0.007743> + 4982: <-0.002908, -0.001230, -0.007876> + 4983: <-0.002890, -0.001635, -0.007817> + 4984: <-0.003302, -0.001219, -0.007743> + 4985: <-0.003318, -0.000814, -0.007785> + 4986: <-0.002922, -0.000822, -0.007919> + 4987: <-0.002908, -0.001230, -0.007876> + 4988: <-0.003318, -0.000814, -0.007785> + 4989: <-0.003328, -0.000408, -0.007810> + 4990: <-0.002931, -0.000412, -0.007945> + 4991: <-0.002922, -0.000822, -0.007919> + 4992: <-0.003328, -0.000408, -0.007810> + 4993: <-0.003331, -0.000000, -0.007818> + 4994: <-0.002934, -0.000000, -0.007953> + 4995: <-0.002931, -0.000412, -0.007945> + 4996: <-0.003331, -0.000000, -0.007818> + 4997: <-0.003328, 0.000408, -0.007810> + 4998: <-0.002931, 0.000412, -0.007945> + 4999: <-0.002934, -0.000000, -0.007953> + 5000: <-0.003328, 0.000408, -0.007810> + 5001: <-0.003318, 0.000814, -0.007785> + 5002: <-0.002922, 0.000822, -0.007919> + 5003: <-0.002931, 0.000412, -0.007945> + 5004: <-0.003318, 0.000814, -0.007785> + 5005: <-0.003302, 0.001219, -0.007743> + 5006: <-0.002908, 0.001230, -0.007876> + 5007: <-0.002922, 0.000822, -0.007919> + 5008: <-0.003302, 0.001219, -0.007743> + 5009: <-0.003281, 0.001619, -0.007684> + 5010: <-0.002890, 0.001635, -0.007817> + 5011: <-0.002908, 0.001230, -0.007876> + 5012: <-0.003281, 0.001619, -0.007684> + 5013: <-0.003255, 0.002015, -0.007610> + 5014: <-0.002868, 0.002035, -0.007740> + 5015: <-0.002890, 0.001635, -0.007817> + 5016: <-0.003255, 0.002015, -0.007610> + 5017: <-0.003227, 0.002405, -0.007519> + 5018: <-0.002843, 0.002429, -0.007648> + 5019: <-0.002868, 0.002035, -0.007740> + 5020: <-0.003227, 0.002405, -0.007519> + 5021: <-0.003195, 0.002787, -0.007412> + 5022: <-0.002816, 0.002816, -0.007538> + 5023: <-0.002843, 0.002429, -0.007648> + 5024: <-0.003195, 0.002787, -0.007412> + 5025: <-0.003162, 0.003162, -0.007290> + 5026: <-0.002787, 0.003195, -0.007412> + 5027: <-0.002816, 0.002816, -0.007538> + 5028: <-0.003162, 0.003162, -0.007290> + 5029: <-0.003127, 0.003526, -0.007152> + 5030: <-0.002758, 0.003565, -0.007270> + 5031: <-0.002787, 0.003195, -0.007412> + 5032: <-0.003127, 0.003526, -0.007152> + 5033: <-0.003093, 0.003880, -0.006998> + 5034: <-0.002729, 0.003924, -0.007112> + 5035: <-0.002758, 0.003565, -0.007270> + 5036: <-0.003093, 0.003880, -0.006998> + 5037: <-0.003060, 0.004223, -0.006828> + 5038: <-0.002701, 0.004273, -0.006937> + 5039: <-0.002729, 0.003924, -0.007112> + 5040: <-0.003060, 0.004223, -0.006828> + 5041: <-0.003030, 0.004553, -0.006641> + 5042: <-0.002676, 0.004609, -0.006745> + 5043: <-0.002701, 0.004273, -0.006937> + 5044: <-0.003030, 0.004553, -0.006641> + 5045: <-0.003004, 0.004870, -0.006439> + 5046: <-0.002655, 0.004931, -0.006537> + 5047: <-0.002676, 0.004609, -0.006745> + 5048: <-0.003004, 0.004870, -0.006439> + 5049: <-0.002984, 0.005172, -0.006219> + 5050: <-0.002638, 0.005240, -0.006311> + 5051: <-0.002655, 0.004931, -0.006537> + 5052: <-0.002984, 0.005172, -0.006219> + 5053: <-0.002971, 0.005459, -0.005983> + 5054: <-0.002627, 0.005533, -0.006069> + 5055: <-0.002638, 0.005240, -0.006311> + 5056: <-0.002627, -0.005533, -0.006069> + 5057: <-0.002638, -0.005240, -0.006311> + 5058: <-0.002281, -0.005301, -0.006393> + 5059: <-0.002272, -0.005599, -0.006146> + 5060: <-0.002638, -0.005240, -0.006311> + 5061: <-0.002655, -0.004931, -0.006537> + 5062: <-0.002295, -0.004987, -0.006623> + 5063: <-0.002281, -0.005301, -0.006393> + 5064: <-0.002655, -0.004931, -0.006537> + 5065: <-0.002676, -0.004609, -0.006745> + 5066: <-0.002313, -0.004659, -0.006836> + 5067: <-0.002295, -0.004987, -0.006623> + 5068: <-0.002676, -0.004609, -0.006745> + 5069: <-0.002701, -0.004273, -0.006937> + 5070: <-0.002333, -0.004318, -0.007033> + 5071: <-0.002313, -0.004659, -0.006836> + 5072: <-0.002701, -0.004273, -0.006937> + 5073: <-0.002729, -0.003924, -0.007112> + 5074: <-0.002356, -0.003965, -0.007212> + 5075: <-0.002333, -0.004318, -0.007033> + 5076: <-0.002729, -0.003924, -0.007112> + 5077: <-0.002758, -0.003565, -0.007270> + 5078: <-0.002380, -0.003601, -0.007374> + 5079: <-0.002356, -0.003965, -0.007212> + 5080: <-0.002758, -0.003565, -0.007270> + 5081: <-0.002787, -0.003195, -0.007412> + 5082: <-0.002405, -0.003227, -0.007519> + 5083: <-0.002380, -0.003601, -0.007374> + 5084: <-0.002787, -0.003195, -0.007412> + 5085: <-0.002816, -0.002816, -0.007538> + 5086: <-0.002429, -0.002843, -0.007648> + 5087: <-0.002405, -0.003227, -0.007519> + 5088: <-0.002816, -0.002816, -0.007538> + 5089: <-0.002843, -0.002429, -0.007648> + 5090: <-0.002452, -0.002452, -0.007759> + 5091: <-0.002429, -0.002843, -0.007648> + 5092: <-0.002843, -0.002429, -0.007648> + 5093: <-0.002868, -0.002035, -0.007740> + 5094: <-0.002473, -0.002053, -0.007854> + 5095: <-0.002452, -0.002452, -0.007759> + 5096: <-0.002868, -0.002035, -0.007740> + 5097: <-0.002890, -0.001635, -0.007817> + 5098: <-0.002492, -0.001650, -0.007932> + 5099: <-0.002473, -0.002053, -0.007854> + 5100: <-0.002890, -0.001635, -0.007817> + 5101: <-0.002908, -0.001230, -0.007876> + 5102: <-0.002507, -0.001241, -0.007992> + 5103: <-0.002492, -0.001650, -0.007932> + 5104: <-0.002908, -0.001230, -0.007876> + 5105: <-0.002922, -0.000822, -0.007919> + 5106: <-0.002519, -0.000829, -0.008036> + 5107: <-0.002507, -0.001241, -0.007992> + 5108: <-0.002922, -0.000822, -0.007919> + 5109: <-0.002931, -0.000412, -0.007945> + 5110: <-0.002527, -0.000415, -0.008062> + 5111: <-0.002519, -0.000829, -0.008036> + 5112: <-0.002931, -0.000412, -0.007945> + 5113: <-0.002934, -0.000000, -0.007953> + 5114: <-0.002530, -0.000000, -0.008070> + 5115: <-0.002527, -0.000415, -0.008062> + 5116: <-0.002934, -0.000000, -0.007953> + 5117: <-0.002931, 0.000412, -0.007945> + 5118: <-0.002527, 0.000415, -0.008062> + 5119: <-0.002530, -0.000000, -0.008070> + 5120: <-0.002931, 0.000412, -0.007945> + 5121: <-0.002922, 0.000822, -0.007919> + 5122: <-0.002519, 0.000829, -0.008036> + 5123: <-0.002527, 0.000415, -0.008062> + 5124: <-0.002922, 0.000822, -0.007919> + 5125: <-0.002908, 0.001230, -0.007876> + 5126: <-0.002507, 0.001241, -0.007992> + 5127: <-0.002519, 0.000829, -0.008036> + 5128: <-0.002908, 0.001230, -0.007876> + 5129: <-0.002890, 0.001635, -0.007817> + 5130: <-0.002492, 0.001650, -0.007932> + 5131: <-0.002507, 0.001241, -0.007992> + 5132: <-0.002890, 0.001635, -0.007817> + 5133: <-0.002868, 0.002035, -0.007740> + 5134: <-0.002473, 0.002053, -0.007854> + 5135: <-0.002492, 0.001650, -0.007932> + 5136: <-0.002868, 0.002035, -0.007740> + 5137: <-0.002843, 0.002429, -0.007648> + 5138: <-0.002452, 0.002452, -0.007759> + 5139: <-0.002473, 0.002053, -0.007854> + 5140: <-0.002843, 0.002429, -0.007648> + 5141: <-0.002816, 0.002816, -0.007538> + 5142: <-0.002429, 0.002843, -0.007648> + 5143: <-0.002452, 0.002452, -0.007759> + 5144: <-0.002816, 0.002816, -0.007538> + 5145: <-0.002787, 0.003195, -0.007412> + 5146: <-0.002405, 0.003227, -0.007519> + 5147: <-0.002429, 0.002843, -0.007648> + 5148: <-0.002787, 0.003195, -0.007412> + 5149: <-0.002758, 0.003565, -0.007270> + 5150: <-0.002380, 0.003601, -0.007374> + 5151: <-0.002405, 0.003227, -0.007519> + 5152: <-0.002758, 0.003565, -0.007270> + 5153: <-0.002729, 0.003924, -0.007112> + 5154: <-0.002356, 0.003965, -0.007212> + 5155: <-0.002380, 0.003601, -0.007374> + 5156: <-0.002729, 0.003924, -0.007112> + 5157: <-0.002701, 0.004273, -0.006937> + 5158: <-0.002333, 0.004318, -0.007033> + 5159: <-0.002356, 0.003965, -0.007212> + 5160: <-0.002701, 0.004273, -0.006937> + 5161: <-0.002676, 0.004609, -0.006745> + 5162: <-0.002313, 0.004659, -0.006836> + 5163: <-0.002333, 0.004318, -0.007033> + 5164: <-0.002676, 0.004609, -0.006745> + 5165: <-0.002655, 0.004931, -0.006537> + 5166: <-0.002295, 0.004987, -0.006623> + 5167: <-0.002313, 0.004659, -0.006836> + 5168: <-0.002655, 0.004931, -0.006537> + 5169: <-0.002638, 0.005240, -0.006311> + 5170: <-0.002281, 0.005301, -0.006393> + 5171: <-0.002295, 0.004987, -0.006623> + 5172: <-0.002638, 0.005240, -0.006311> + 5173: <-0.002627, 0.005533, -0.006069> + 5174: <-0.002272, 0.005599, -0.006146> + 5175: <-0.002281, 0.005301, -0.006393> + 5176: <-0.002272, -0.005599, -0.006146> + 5177: <-0.002281, -0.005301, -0.006393> + 5178: <-0.001915, -0.005355, -0.006464> + 5179: <-0.001908, -0.005657, -0.006212> + 5180: <-0.002281, -0.005301, -0.006393> + 5181: <-0.002295, -0.004987, -0.006623> + 5182: <-0.001926, -0.005037, -0.006698> + 5183: <-0.001915, -0.005355, -0.006464> + 5184: <-0.002295, -0.004987, -0.006623> + 5185: <-0.002313, -0.004659, -0.006836> + 5186: <-0.001940, -0.004705, -0.006915> + 5187: <-0.001926, -0.005037, -0.006698> + 5188: <-0.002313, -0.004659, -0.006836> + 5189: <-0.002333, -0.004318, -0.007033> + 5190: <-0.001957, -0.004360, -0.007115> + 5191: <-0.001940, -0.004705, -0.006915> + 5192: <-0.002333, -0.004318, -0.007033> + 5193: <-0.002356, -0.003965, -0.007212> + 5194: <-0.001975, -0.004002, -0.007297> + 5195: <-0.001957, -0.004360, -0.007115> + 5196: <-0.002356, -0.003965, -0.007212> + 5197: <-0.002380, -0.003601, -0.007374> + 5198: <-0.001995, -0.003634, -0.007462> + 5199: <-0.001975, -0.004002, -0.007297> + 5200: <-0.002380, -0.003601, -0.007374> + 5201: <-0.002405, -0.003227, -0.007519> + 5202: <-0.002015, -0.003255, -0.007610> + 5203: <-0.001995, -0.003634, -0.007462> + 5204: <-0.002405, -0.003227, -0.007519> + 5205: <-0.002429, -0.002843, -0.007648> + 5206: <-0.002035, -0.002868, -0.007740> + 5207: <-0.002015, -0.003255, -0.007610> + 5208: <-0.002429, -0.002843, -0.007648> + 5209: <-0.002452, -0.002452, -0.007759> + 5210: <-0.002053, -0.002473, -0.007854> + 5211: <-0.002035, -0.002868, -0.007740> + 5212: <-0.002452, -0.002452, -0.007759> + 5213: <-0.002473, -0.002053, -0.007854> + 5214: <-0.002071, -0.002071, -0.007950> + 5215: <-0.002053, -0.002473, -0.007854> + 5216: <-0.002473, -0.002053, -0.007854> + 5217: <-0.002492, -0.001650, -0.007932> + 5218: <-0.002086, -0.001663, -0.008029> + 5219: <-0.002071, -0.002071, -0.007950> + 5220: <-0.002492, -0.001650, -0.007932> + 5221: <-0.002507, -0.001241, -0.007992> + 5222: <-0.002099, -0.001252, -0.008090> + 5223: <-0.002086, -0.001663, -0.008029> + 5224: <-0.002507, -0.001241, -0.007992> + 5225: <-0.002519, -0.000829, -0.008036> + 5226: <-0.002109, -0.000836, -0.008134> + 5227: <-0.002099, -0.001252, -0.008090> + 5228: <-0.002519, -0.000829, -0.008036> + 5229: <-0.002527, -0.000415, -0.008062> + 5230: <-0.002116, -0.000419, -0.008161> + 5231: <-0.002109, -0.000836, -0.008134> + 5232: <-0.002527, -0.000415, -0.008062> + 5233: <-0.002530, -0.000000, -0.008070> + 5234: <-0.002118, -0.000000, -0.008169> + 5235: <-0.002116, -0.000419, -0.008161> + 5236: <-0.002530, -0.000000, -0.008070> + 5237: <-0.002527, 0.000415, -0.008062> + 5238: <-0.002116, 0.000419, -0.008161> + 5239: <-0.002118, -0.000000, -0.008169> + 5240: <-0.002527, 0.000415, -0.008062> + 5241: <-0.002519, 0.000829, -0.008036> + 5242: <-0.002109, 0.000836, -0.008134> + 5243: <-0.002116, 0.000419, -0.008161> + 5244: <-0.002519, 0.000829, -0.008036> + 5245: <-0.002507, 0.001241, -0.007992> + 5246: <-0.002099, 0.001252, -0.008090> + 5247: <-0.002109, 0.000836, -0.008134> + 5248: <-0.002507, 0.001241, -0.007992> + 5249: <-0.002492, 0.001650, -0.007932> + 5250: <-0.002086, 0.001663, -0.008029> + 5251: <-0.002099, 0.001252, -0.008090> + 5252: <-0.002492, 0.001650, -0.007932> + 5253: <-0.002473, 0.002053, -0.007854> + 5254: <-0.002071, 0.002071, -0.007950> + 5255: <-0.002086, 0.001663, -0.008029> + 5256: <-0.002473, 0.002053, -0.007854> + 5257: <-0.002452, 0.002452, -0.007759> + 5258: <-0.002053, 0.002473, -0.007854> + 5259: <-0.002071, 0.002071, -0.007950> + 5260: <-0.002452, 0.002452, -0.007759> + 5261: <-0.002429, 0.002843, -0.007648> + 5262: <-0.002035, 0.002868, -0.007740> + 5263: <-0.002053, 0.002473, -0.007854> + 5264: <-0.002429, 0.002843, -0.007648> + 5265: <-0.002405, 0.003227, -0.007519> + 5266: <-0.002015, 0.003255, -0.007610> + 5267: <-0.002035, 0.002868, -0.007740> + 5268: <-0.002405, 0.003227, -0.007519> + 5269: <-0.002380, 0.003601, -0.007374> + 5270: <-0.001995, 0.003634, -0.007462> + 5271: <-0.002015, 0.003255, -0.007610> + 5272: <-0.002380, 0.003601, -0.007374> + 5273: <-0.002356, 0.003965, -0.007212> + 5274: <-0.001975, 0.004002, -0.007297> + 5275: <-0.001995, 0.003634, -0.007462> + 5276: <-0.002356, 0.003965, -0.007212> + 5277: <-0.002333, 0.004318, -0.007033> + 5278: <-0.001957, 0.004360, -0.007115> + 5279: <-0.001975, 0.004002, -0.007297> + 5280: <-0.002333, 0.004318, -0.007033> + 5281: <-0.002313, 0.004659, -0.006836> + 5282: <-0.001940, 0.004705, -0.006915> + 5283: <-0.001957, 0.004360, -0.007115> + 5284: <-0.002313, 0.004659, -0.006836> + 5285: <-0.002295, 0.004987, -0.006623> + 5286: <-0.001926, 0.005037, -0.006698> + 5287: <-0.001940, 0.004705, -0.006915> + 5288: <-0.002295, 0.004987, -0.006623> + 5289: <-0.002281, 0.005301, -0.006393> + 5290: <-0.001915, 0.005355, -0.006464> + 5291: <-0.001926, 0.005037, -0.006698> + 5292: <-0.002281, 0.005301, -0.006393> + 5293: <-0.002272, 0.005599, -0.006146> + 5294: <-0.001908, 0.005657, -0.006212> + 5295: <-0.001915, 0.005355, -0.006464> + 5296: <-0.001908, -0.005657, -0.006212> + 5297: <-0.001915, -0.005355, -0.006464> + 5298: <-0.001541, -0.005401, -0.006523> + 5299: <-0.001536, -0.005707, -0.006269> + 5300: <-0.001915, -0.005355, -0.006464> + 5301: <-0.001926, -0.005037, -0.006698> + 5302: <-0.001550, -0.005080, -0.006761> + 5303: <-0.001541, -0.005401, -0.006523> + 5304: <-0.001926, -0.005037, -0.006698> + 5305: <-0.001940, -0.004705, -0.006915> + 5306: <-0.001561, -0.004744, -0.006980> + 5307: <-0.001550, -0.005080, -0.006761> + 5308: <-0.001940, -0.004705, -0.006915> + 5309: <-0.001957, -0.004360, -0.007115> + 5310: <-0.001574, -0.004395, -0.007183> + 5311: <-0.001561, -0.004744, -0.006980> + 5312: <-0.001957, -0.004360, -0.007115> + 5313: <-0.001975, -0.004002, -0.007297> + 5314: <-0.001588, -0.004034, -0.007367> + 5315: <-0.001574, -0.004395, -0.007183> + 5316: <-0.001975, -0.004002, -0.007297> + 5317: <-0.001995, -0.003634, -0.007462> + 5318: <-0.001603, -0.003663, -0.007535> + 5319: <-0.001588, -0.004034, -0.007367> + 5320: <-0.001995, -0.003634, -0.007462> + 5321: <-0.002015, -0.003255, -0.007610> + 5322: <-0.001619, -0.003281, -0.007684> + 5323: <-0.001603, -0.003663, -0.007535> + 5324: <-0.002015, -0.003255, -0.007610> + 5325: <-0.002035, -0.002868, -0.007740> + 5326: <-0.001635, -0.002890, -0.007817> + 5327: <-0.001619, -0.003281, -0.007684> + 5328: <-0.002035, -0.002868, -0.007740> + 5329: <-0.002053, -0.002473, -0.007854> + 5330: <-0.001650, -0.002492, -0.007932> + 5331: <-0.001635, -0.002890, -0.007817> + 5332: <-0.002053, -0.002473, -0.007854> + 5333: <-0.002071, -0.002071, -0.007950> + 5334: <-0.001663, -0.002086, -0.008029> + 5335: <-0.001650, -0.002492, -0.007932> + 5336: <-0.002071, -0.002071, -0.007950> + 5337: <-0.002086, -0.001663, -0.008029> + 5338: <-0.001676, -0.001676, -0.008109> + 5339: <-0.001663, -0.002086, -0.008029> + 5340: <-0.002086, -0.001663, -0.008029> + 5341: <-0.002099, -0.001252, -0.008090> + 5342: <-0.001686, -0.001261, -0.008171> + 5343: <-0.001676, -0.001676, -0.008109> + 5344: <-0.002099, -0.001252, -0.008090> + 5345: <-0.002109, -0.000836, -0.008134> + 5346: <-0.001694, -0.000842, -0.008215> + 5347: <-0.001686, -0.001261, -0.008171> + 5348: <-0.002109, -0.000836, -0.008134> + 5349: <-0.002116, -0.000419, -0.008161> + 5350: <-0.001699, -0.000422, -0.008242> + 5351: <-0.001694, -0.000842, -0.008215> + 5352: <-0.002116, -0.000419, -0.008161> + 5353: <-0.002118, -0.000000, -0.008169> + 5354: <-0.001701, 0.000000, -0.008251> + 5355: <-0.001699, -0.000422, -0.008242> + 5356: <-0.002118, -0.000000, -0.008169> + 5357: <-0.002116, 0.000419, -0.008161> + 5358: <-0.001699, 0.000422, -0.008242> + 5359: <-0.001701, 0.000000, -0.008251> + 5360: <-0.002116, 0.000419, -0.008161> + 5361: <-0.002109, 0.000836, -0.008134> + 5362: <-0.001694, 0.000842, -0.008215> + 5363: <-0.001699, 0.000422, -0.008242> + 5364: <-0.002109, 0.000836, -0.008134> + 5365: <-0.002099, 0.001252, -0.008090> + 5366: <-0.001686, 0.001261, -0.008171> + 5367: <-0.001694, 0.000842, -0.008215> + 5368: <-0.002099, 0.001252, -0.008090> + 5369: <-0.002086, 0.001663, -0.008029> + 5370: <-0.001676, 0.001676, -0.008109> + 5371: <-0.001686, 0.001261, -0.008171> + 5372: <-0.002086, 0.001663, -0.008029> + 5373: <-0.002071, 0.002071, -0.007950> + 5374: <-0.001663, 0.002086, -0.008029> + 5375: <-0.001676, 0.001676, -0.008109> + 5376: <-0.002071, 0.002071, -0.007950> + 5377: <-0.002053, 0.002473, -0.007854> + 5378: <-0.001650, 0.002492, -0.007932> + 5379: <-0.001663, 0.002086, -0.008029> + 5380: <-0.002053, 0.002473, -0.007854> + 5381: <-0.002035, 0.002868, -0.007740> + 5382: <-0.001635, 0.002890, -0.007817> + 5383: <-0.001650, 0.002492, -0.007932> + 5384: <-0.002035, 0.002868, -0.007740> + 5385: <-0.002015, 0.003255, -0.007610> + 5386: <-0.001619, 0.003281, -0.007684> + 5387: <-0.001635, 0.002890, -0.007817> + 5388: <-0.002015, 0.003255, -0.007610> + 5389: <-0.001995, 0.003634, -0.007462> + 5390: <-0.001603, 0.003663, -0.007535> + 5391: <-0.001619, 0.003281, -0.007684> + 5392: <-0.001995, 0.003634, -0.007462> + 5393: <-0.001975, 0.004002, -0.007297> + 5394: <-0.001588, 0.004034, -0.007367> + 5395: <-0.001603, 0.003663, -0.007535> + 5396: <-0.001975, 0.004002, -0.007297> + 5397: <-0.001957, 0.004360, -0.007115> + 5398: <-0.001574, 0.004395, -0.007183> + 5399: <-0.001588, 0.004034, -0.007367> + 5400: <-0.001957, 0.004360, -0.007115> + 5401: <-0.001940, 0.004705, -0.006915> + 5402: <-0.001561, 0.004744, -0.006980> + 5403: <-0.001574, 0.004395, -0.007183> + 5404: <-0.001940, 0.004705, -0.006915> + 5405: <-0.001926, 0.005037, -0.006698> + 5406: <-0.001550, 0.005080, -0.006761> + 5407: <-0.001561, 0.004744, -0.006980> + 5408: <-0.001926, 0.005037, -0.006698> + 5409: <-0.001915, 0.005355, -0.006464> + 5410: <-0.001541, 0.005401, -0.006523> + 5411: <-0.001550, 0.005080, -0.006761> + 5412: <-0.001915, 0.005355, -0.006464> + 5413: <-0.001908, 0.005657, -0.006212> + 5414: <-0.001536, 0.005707, -0.006269> + 5415: <-0.001541, 0.005401, -0.006523> + 5416: <-0.001536, -0.005707, -0.006269> + 5417: <-0.001541, -0.005401, -0.006523> + 5418: <-0.001161, -0.005438, -0.006570> + 5419: <-0.001157, -0.005747, -0.006313> + 5420: <-0.001541, -0.005401, -0.006523> + 5421: <-0.001550, -0.005080, -0.006761> + 5422: <-0.001168, -0.005114, -0.006810> + 5423: <-0.001161, -0.005438, -0.006570> + 5424: <-0.001550, -0.005080, -0.006761> + 5425: <-0.001561, -0.004744, -0.006980> + 5426: <-0.001176, -0.004776, -0.007032> + 5427: <-0.001168, -0.005114, -0.006810> + 5428: <-0.001561, -0.004744, -0.006980> + 5429: <-0.001574, -0.004395, -0.007183> + 5430: <-0.001185, -0.004424, -0.007236> + 5431: <-0.001176, -0.004776, -0.007032> + 5432: <-0.001574, -0.004395, -0.007183> + 5433: <-0.001588, -0.004034, -0.007367> + 5434: <-0.001196, -0.004061, -0.007423> + 5435: <-0.001185, -0.004424, -0.007236> + 5436: <-0.001588, -0.004034, -0.007367> + 5437: <-0.001603, -0.003663, -0.007535> + 5438: <-0.001207, -0.003686, -0.007591> + 5439: <-0.001196, -0.004061, -0.007423> + 5440: <-0.001603, -0.003663, -0.007535> + 5441: <-0.001619, -0.003281, -0.007684> + 5442: <-0.001219, -0.003302, -0.007743> + 5443: <-0.001207, -0.003686, -0.007591> + 5444: <-0.001619, -0.003281, -0.007684> + 5445: <-0.001635, -0.002890, -0.007817> + 5446: <-0.001230, -0.002908, -0.007876> + 5447: <-0.001219, -0.003302, -0.007743> + 5448: <-0.001635, -0.002890, -0.007817> + 5449: <-0.001650, -0.002492, -0.007932> + 5450: <-0.001241, -0.002507, -0.007992> + 5451: <-0.001230, -0.002908, -0.007876> + 5452: <-0.001650, -0.002492, -0.007932> + 5453: <-0.001663, -0.002086, -0.008029> + 5454: <-0.001252, -0.002099, -0.008090> + 5455: <-0.001241, -0.002507, -0.007992> + 5456: <-0.001663, -0.002086, -0.008029> + 5457: <-0.001676, -0.001676, -0.008109> + 5458: <-0.001261, -0.001686, -0.008171> + 5459: <-0.001252, -0.002099, -0.008090> + 5460: <-0.001676, -0.001676, -0.008109> + 5461: <-0.001686, -0.001261, -0.008171> + 5462: <-0.001269, -0.001269, -0.008233> + 5463: <-0.001261, -0.001686, -0.008171> + 5464: <-0.001686, -0.001261, -0.008171> + 5465: <-0.001694, -0.000842, -0.008215> + 5466: <-0.001275, -0.000848, -0.008278> + 5467: <-0.001269, -0.001269, -0.008233> + 5468: <-0.001694, -0.000842, -0.008215> + 5469: <-0.001699, -0.000422, -0.008242> + 5470: <-0.001278, -0.000424, -0.008305> + 5471: <-0.001275, -0.000848, -0.008278> + 5472: <-0.001699, -0.000422, -0.008242> + 5473: <-0.001701, 0.000000, -0.008251> + 5474: <-0.001280, 0.000000, -0.008314> + 5475: <-0.001278, -0.000424, -0.008305> + 5476: <-0.001701, 0.000000, -0.008251> + 5477: <-0.001699, 0.000422, -0.008242> + 5478: <-0.001278, 0.000424, -0.008305> + 5479: <-0.001280, 0.000000, -0.008314> + 5480: <-0.001699, 0.000422, -0.008242> + 5481: <-0.001694, 0.000842, -0.008215> + 5482: <-0.001275, 0.000848, -0.008278> + 5483: <-0.001278, 0.000424, -0.008305> + 5484: <-0.001694, 0.000842, -0.008215> + 5485: <-0.001686, 0.001261, -0.008171> + 5486: <-0.001269, 0.001269, -0.008233> + 5487: <-0.001275, 0.000848, -0.008278> + 5488: <-0.001686, 0.001261, -0.008171> + 5489: <-0.001676, 0.001676, -0.008109> + 5490: <-0.001261, 0.001686, -0.008171> + 5491: <-0.001269, 0.001269, -0.008233> + 5492: <-0.001676, 0.001676, -0.008109> + 5493: <-0.001663, 0.002086, -0.008029> + 5494: <-0.001252, 0.002099, -0.008090> + 5495: <-0.001261, 0.001686, -0.008171> + 5496: <-0.001663, 0.002086, -0.008029> + 5497: <-0.001650, 0.002492, -0.007932> + 5498: <-0.001241, 0.002507, -0.007992> + 5499: <-0.001252, 0.002099, -0.008090> + 5500: <-0.001650, 0.002492, -0.007932> + 5501: <-0.001635, 0.002890, -0.007817> + 5502: <-0.001230, 0.002908, -0.007876> + 5503: <-0.001241, 0.002507, -0.007992> + 5504: <-0.001635, 0.002890, -0.007817> + 5505: <-0.001619, 0.003281, -0.007684> + 5506: <-0.001219, 0.003302, -0.007743> + 5507: <-0.001230, 0.002908, -0.007876> + 5508: <-0.001619, 0.003281, -0.007684> + 5509: <-0.001603, 0.003663, -0.007535> + 5510: <-0.001207, 0.003686, -0.007591> + 5511: <-0.001219, 0.003302, -0.007743> + 5512: <-0.001603, 0.003663, -0.007535> + 5513: <-0.001588, 0.004034, -0.007367> + 5514: <-0.001196, 0.004061, -0.007423> + 5515: <-0.001207, 0.003686, -0.007591> + 5516: <-0.001588, 0.004034, -0.007367> + 5517: <-0.001574, 0.004395, -0.007183> + 5518: <-0.001185, 0.004424, -0.007236> + 5519: <-0.001196, 0.004061, -0.007423> + 5520: <-0.001574, 0.004395, -0.007183> + 5521: <-0.001561, 0.004744, -0.006980> + 5522: <-0.001176, 0.004776, -0.007032> + 5523: <-0.001185, 0.004424, -0.007236> + 5524: <-0.001561, 0.004744, -0.006980> + 5525: <-0.001550, 0.005080, -0.006761> + 5526: <-0.001168, 0.005114, -0.006810> + 5527: <-0.001176, 0.004776, -0.007032> + 5528: <-0.001550, 0.005080, -0.006761> + 5529: <-0.001541, 0.005401, -0.006523> + 5530: <-0.001161, 0.005438, -0.006570> + 5531: <-0.001168, 0.005114, -0.006810> + 5532: <-0.001541, 0.005401, -0.006523> + 5533: <-0.001536, 0.005707, -0.006269> + 5534: <-0.001157, 0.005747, -0.006313> + 5535: <-0.001161, 0.005438, -0.006570> + 5536: <-0.001157, -0.005747, -0.006313> + 5537: <-0.001161, -0.005438, -0.006570> + 5538: <-0.000777, -0.005466, -0.006605> + 5539: <-0.000774, -0.005776, -0.006346> + 5540: <-0.001161, -0.005438, -0.006570> + 5541: <-0.001168, -0.005114, -0.006810> + 5542: <-0.000781, -0.005140, -0.006846> + 5543: <-0.000777, -0.005466, -0.006605> + 5544: <-0.001168, -0.005114, -0.006810> + 5545: <-0.001176, -0.004776, -0.007032> + 5546: <-0.000786, -0.004800, -0.007069> + 5547: <-0.000781, -0.005140, -0.006846> + 5548: <-0.001176, -0.004776, -0.007032> + 5549: <-0.001185, -0.004424, -0.007236> + 5550: <-0.000792, -0.004446, -0.007275> + 5551: <-0.000786, -0.004800, -0.007069> + 5552: <-0.001185, -0.004424, -0.007236> + 5553: <-0.001196, -0.004061, -0.007423> + 5554: <-0.000799, -0.004081, -0.007462> + 5555: <-0.000792, -0.004446, -0.007275> + 5556: <-0.001196, -0.004061, -0.007423> + 5557: <-0.001207, -0.003686, -0.007591> + 5558: <-0.000807, -0.003704, -0.007632> + 5559: <-0.000799, -0.004081, -0.007462> + 5560: <-0.001207, -0.003686, -0.007591> + 5561: <-0.001219, -0.003302, -0.007743> + 5562: <-0.000814, -0.003318, -0.007785> + 5563: <-0.000807, -0.003704, -0.007632> + 5564: <-0.001219, -0.003302, -0.007743> + 5565: <-0.001230, -0.002908, -0.007876> + 5566: <-0.000822, -0.002922, -0.007919> + 5567: <-0.000814, -0.003318, -0.007785> + 5568: <-0.001230, -0.002908, -0.007876> + 5569: <-0.001241, -0.002507, -0.007992> + 5570: <-0.000829, -0.002519, -0.008036> + 5571: <-0.000822, -0.002922, -0.007919> + 5572: <-0.001241, -0.002507, -0.007992> + 5573: <-0.001252, -0.002099, -0.008090> + 5574: <-0.000836, -0.002109, -0.008134> + 5575: <-0.000829, -0.002519, -0.008036> + 5576: <-0.001252, -0.002099, -0.008090> + 5577: <-0.001261, -0.001686, -0.008171> + 5578: <-0.000842, -0.001694, -0.008215> + 5579: <-0.000836, -0.002109, -0.008134> + 5580: <-0.001261, -0.001686, -0.008171> + 5581: <-0.001269, -0.001269, -0.008233> + 5582: <-0.000848, -0.001275, -0.008278> + 5583: <-0.000842, -0.001694, -0.008215> + 5584: <-0.001269, -0.001269, -0.008233> + 5585: <-0.001275, -0.000848, -0.008278> + 5586: <-0.000852, -0.000852, -0.008323> + 5587: <-0.000848, -0.001275, -0.008278> + 5588: <-0.001275, -0.000848, -0.008278> + 5589: <-0.001278, -0.000424, -0.008305> + 5590: <-0.000854, -0.000426, -0.008350> + 5591: <-0.000852, -0.000852, -0.008323> + 5592: <-0.001278, -0.000424, -0.008305> + 5593: <-0.001280, 0.000000, -0.008314> + 5594: <-0.000855, 0.000000, -0.008359> + 5595: <-0.000854, -0.000426, -0.008350> + 5596: <-0.001280, 0.000000, -0.008314> + 5597: <-0.001278, 0.000424, -0.008305> + 5598: <-0.000854, 0.000426, -0.008350> + 5599: <-0.000855, 0.000000, -0.008359> + 5600: <-0.001278, 0.000424, -0.008305> + 5601: <-0.001275, 0.000848, -0.008278> + 5602: <-0.000852, 0.000852, -0.008323> + 5603: <-0.000854, 0.000426, -0.008350> + 5604: <-0.001275, 0.000848, -0.008278> + 5605: <-0.001269, 0.001269, -0.008233> + 5606: <-0.000848, 0.001275, -0.008278> + 5607: <-0.000852, 0.000852, -0.008323> + 5608: <-0.001269, 0.001269, -0.008233> + 5609: <-0.001261, 0.001686, -0.008171> + 5610: <-0.000842, 0.001694, -0.008215> + 5611: <-0.000848, 0.001275, -0.008278> + 5612: <-0.001261, 0.001686, -0.008171> + 5613: <-0.001252, 0.002099, -0.008090> + 5614: <-0.000836, 0.002109, -0.008134> + 5615: <-0.000842, 0.001694, -0.008215> + 5616: <-0.001252, 0.002099, -0.008090> + 5617: <-0.001241, 0.002507, -0.007992> + 5618: <-0.000829, 0.002519, -0.008036> + 5619: <-0.000836, 0.002109, -0.008134> + 5620: <-0.001241, 0.002507, -0.007992> + 5621: <-0.001230, 0.002908, -0.007876> + 5622: <-0.000822, 0.002922, -0.007919> + 5623: <-0.000829, 0.002519, -0.008036> + 5624: <-0.001230, 0.002908, -0.007876> + 5625: <-0.001219, 0.003302, -0.007743> + 5626: <-0.000814, 0.003318, -0.007785> + 5627: <-0.000822, 0.002922, -0.007919> + 5628: <-0.001219, 0.003302, -0.007743> + 5629: <-0.001207, 0.003686, -0.007591> + 5630: <-0.000807, 0.003704, -0.007632> + 5631: <-0.000814, 0.003318, -0.007785> + 5632: <-0.001207, 0.003686, -0.007591> + 5633: <-0.001196, 0.004061, -0.007423> + 5634: <-0.000799, 0.004081, -0.007462> + 5635: <-0.000807, 0.003704, -0.007632> + 5636: <-0.001196, 0.004061, -0.007423> + 5637: <-0.001185, 0.004424, -0.007236> + 5638: <-0.000792, 0.004446, -0.007275> + 5639: <-0.000799, 0.004081, -0.007462> + 5640: <-0.001185, 0.004424, -0.007236> + 5641: <-0.001176, 0.004776, -0.007032> + 5642: <-0.000786, 0.004800, -0.007069> + 5643: <-0.000792, 0.004446, -0.007275> + 5644: <-0.001176, 0.004776, -0.007032> + 5645: <-0.001168, 0.005114, -0.006810> + 5646: <-0.000781, 0.005140, -0.006846> + 5647: <-0.000786, 0.004800, -0.007069> + 5648: <-0.001168, 0.005114, -0.006810> + 5649: <-0.001161, 0.005438, -0.006570> + 5650: <-0.000777, 0.005466, -0.006605> + 5651: <-0.000781, 0.005140, -0.006846> + 5652: <-0.001161, 0.005438, -0.006570> + 5653: <-0.001157, 0.005747, -0.006313> + 5654: <-0.000774, 0.005776, -0.006346> + 5655: <-0.000777, 0.005466, -0.006605> + 5656: <-0.000774, -0.005776, -0.006346> + 5657: <-0.000777, -0.005466, -0.006605> + 5658: <-0.000389, -0.005483, -0.006626> + 5659: <-0.000388, -0.005794, -0.006366> + 5660: <-0.000777, -0.005466, -0.006605> + 5661: <-0.000781, -0.005140, -0.006846> + 5662: <-0.000391, -0.005156, -0.006868> + 5663: <-0.000389, -0.005483, -0.006626> + 5664: <-0.000781, -0.005140, -0.006846> + 5665: <-0.000786, -0.004800, -0.007069> + 5666: <-0.000394, -0.004815, -0.007092> + 5667: <-0.000391, -0.005156, -0.006868> + 5668: <-0.000786, -0.004800, -0.007069> + 5669: <-0.000792, -0.004446, -0.007275> + 5670: <-0.000397, -0.004460, -0.007298> + 5671: <-0.000394, -0.004815, -0.007092> + 5672: <-0.000792, -0.004446, -0.007275> + 5673: <-0.000799, -0.004081, -0.007462> + 5674: <-0.000400, -0.004093, -0.007487> + 5675: <-0.000397, -0.004460, -0.007298> + 5676: <-0.000799, -0.004081, -0.007462> + 5677: <-0.000807, -0.003704, -0.007632> + 5678: <-0.000404, -0.003716, -0.007657> + 5679: <-0.000400, -0.004093, -0.007487> + 5680: <-0.000807, -0.003704, -0.007632> + 5681: <-0.000814, -0.003318, -0.007785> + 5682: <-0.000408, -0.003328, -0.007810> + 5683: <-0.000404, -0.003716, -0.007657> + 5684: <-0.000814, -0.003318, -0.007785> + 5685: <-0.000822, -0.002922, -0.007919> + 5686: <-0.000412, -0.002931, -0.007945> + 5687: <-0.000408, -0.003328, -0.007810> + 5688: <-0.000822, -0.002922, -0.007919> + 5689: <-0.000829, -0.002519, -0.008036> + 5690: <-0.000415, -0.002527, -0.008062> + 5691: <-0.000412, -0.002931, -0.007945> + 5692: <-0.000829, -0.002519, -0.008036> + 5693: <-0.000836, -0.002109, -0.008134> + 5694: <-0.000419, -0.002116, -0.008161> + 5695: <-0.000415, -0.002527, -0.008062> + 5696: <-0.000836, -0.002109, -0.008134> + 5697: <-0.000842, -0.001694, -0.008215> + 5698: <-0.000422, -0.001699, -0.008242> + 5699: <-0.000419, -0.002116, -0.008161> + 5700: <-0.000842, -0.001694, -0.008215> + 5701: <-0.000848, -0.001275, -0.008278> + 5702: <-0.000424, -0.001278, -0.008305> + 5703: <-0.000422, -0.001699, -0.008242> + 5704: <-0.000848, -0.001275, -0.008278> + 5705: <-0.000852, -0.000852, -0.008323> + 5706: <-0.000426, -0.000854, -0.008350> + 5707: <-0.000424, -0.001278, -0.008305> + 5708: <-0.000852, -0.000852, -0.008323> + 5709: <-0.000854, -0.000426, -0.008350> + 5710: <-0.000428, -0.000428, -0.008377> + 5711: <-0.000426, -0.000854, -0.008350> + 5712: <-0.000854, -0.000426, -0.008350> + 5713: <-0.000855, 0.000000, -0.008359> + 5714: <-0.000428, 0.000000, -0.008386> + 5715: <-0.000428, -0.000428, -0.008377> + 5716: <-0.000855, 0.000000, -0.008359> + 5717: <-0.000854, 0.000426, -0.008350> + 5718: <-0.000428, 0.000428, -0.008377> + 5719: <-0.000428, 0.000000, -0.008386> + 5720: <-0.000854, 0.000426, -0.008350> + 5721: <-0.000852, 0.000852, -0.008323> + 5722: <-0.000426, 0.000854, -0.008350> + 5723: <-0.000428, 0.000428, -0.008377> + 5724: <-0.000852, 0.000852, -0.008323> + 5725: <-0.000848, 0.001275, -0.008278> + 5726: <-0.000424, 0.001278, -0.008305> + 5727: <-0.000426, 0.000854, -0.008350> + 5728: <-0.000848, 0.001275, -0.008278> + 5729: <-0.000842, 0.001694, -0.008215> + 5730: <-0.000422, 0.001699, -0.008242> + 5731: <-0.000424, 0.001278, -0.008305> + 5732: <-0.000842, 0.001694, -0.008215> + 5733: <-0.000836, 0.002109, -0.008134> + 5734: <-0.000419, 0.002116, -0.008161> + 5735: <-0.000422, 0.001699, -0.008242> + 5736: <-0.000836, 0.002109, -0.008134> + 5737: <-0.000829, 0.002519, -0.008036> + 5738: <-0.000415, 0.002527, -0.008062> + 5739: <-0.000419, 0.002116, -0.008161> + 5740: <-0.000829, 0.002519, -0.008036> + 5741: <-0.000822, 0.002922, -0.007919> + 5742: <-0.000412, 0.002931, -0.007945> + 5743: <-0.000415, 0.002527, -0.008062> + 5744: <-0.000822, 0.002922, -0.007919> + 5745: <-0.000814, 0.003318, -0.007785> + 5746: <-0.000408, 0.003328, -0.007810> + 5747: <-0.000412, 0.002931, -0.007945> + 5748: <-0.000814, 0.003318, -0.007785> + 5749: <-0.000807, 0.003704, -0.007632> + 5750: <-0.000404, 0.003716, -0.007657> + 5751: <-0.000408, 0.003328, -0.007810> + 5752: <-0.000807, 0.003704, -0.007632> + 5753: <-0.000799, 0.004081, -0.007462> + 5754: <-0.000400, 0.004093, -0.007487> + 5755: <-0.000404, 0.003716, -0.007657> + 5756: <-0.000799, 0.004081, -0.007462> + 5757: <-0.000792, 0.004446, -0.007275> + 5758: <-0.000397, 0.004460, -0.007298> + 5759: <-0.000400, 0.004093, -0.007487> + 5760: <-0.000792, 0.004446, -0.007275> + 5761: <-0.000786, 0.004800, -0.007069> + 5762: <-0.000394, 0.004815, -0.007092> + 5763: <-0.000397, 0.004460, -0.007298> + 5764: <-0.000786, 0.004800, -0.007069> + 5765: <-0.000781, 0.005140, -0.006846> + 5766: <-0.000391, 0.005156, -0.006868> + 5767: <-0.000394, 0.004815, -0.007092> + 5768: <-0.000781, 0.005140, -0.006846> + 5769: <-0.000777, 0.005466, -0.006605> + 5770: <-0.000389, 0.005483, -0.006626> + 5771: <-0.000391, 0.005156, -0.006868> + 5772: <-0.000777, 0.005466, -0.006605> + 5773: <-0.000774, 0.005776, -0.006346> + 5774: <-0.000388, 0.005794, -0.006366> + 5775: <-0.000389, 0.005483, -0.006626> + 5776: <-0.000388, -0.005794, -0.006366> + 5777: <-0.000389, -0.005483, -0.006626> + 5778: < 0.000000, -0.005489, -0.006633> + 5779: <-0.000000, -0.005801, -0.006373> + 5780: <-0.000389, -0.005483, -0.006626> + 5781: <-0.000391, -0.005156, -0.006868> + 5782: < 0.000000, -0.005162, -0.006875> + 5783: < 0.000000, -0.005489, -0.006633> + 5784: <-0.000391, -0.005156, -0.006868> + 5785: <-0.000394, -0.004815, -0.007092> + 5786: < 0.000000, -0.004820, -0.007099> + 5787: < 0.000000, -0.005162, -0.006875> + 5788: <-0.000394, -0.004815, -0.007092> + 5789: <-0.000397, -0.004460, -0.007298> + 5790: < 0.000000, -0.004465, -0.007306> + 5791: < 0.000000, -0.004820, -0.007099> + 5792: <-0.000397, -0.004460, -0.007298> + 5793: <-0.000400, -0.004093, -0.007487> + 5794: < 0.000000, -0.004098, -0.007495> + 5795: < 0.000000, -0.004465, -0.007306> + 5796: <-0.000400, -0.004093, -0.007487> + 5797: <-0.000404, -0.003716, -0.007657> + 5798: < 0.000000, -0.003720, -0.007665> + 5799: < 0.000000, -0.004098, -0.007495> + 5800: <-0.000404, -0.003716, -0.007657> + 5801: <-0.000408, -0.003328, -0.007810> + 5802: < 0.000000, -0.003331, -0.007818> + 5803: < 0.000000, -0.003720, -0.007665> + 5804: <-0.000408, -0.003328, -0.007810> + 5805: <-0.000412, -0.002931, -0.007945> + 5806: < 0.000000, -0.002934, -0.007953> + 5807: < 0.000000, -0.003331, -0.007818> + 5808: <-0.000412, -0.002931, -0.007945> + 5809: <-0.000415, -0.002527, -0.008062> + 5810: < 0.000000, -0.002530, -0.008070> + 5811: < 0.000000, -0.002934, -0.007953> + 5812: <-0.000415, -0.002527, -0.008062> + 5813: <-0.000419, -0.002116, -0.008161> + 5814: < 0.000000, -0.002118, -0.008169> + 5815: < 0.000000, -0.002530, -0.008070> + 5816: <-0.000419, -0.002116, -0.008161> + 5817: <-0.000422, -0.001699, -0.008242> + 5818: <-0.000000, -0.001701, -0.008251> + 5819: < 0.000000, -0.002118, -0.008169> + 5820: <-0.000422, -0.001699, -0.008242> + 5821: <-0.000424, -0.001278, -0.008305> + 5822: <-0.000000, -0.001280, -0.008314> + 5823: <-0.000000, -0.001701, -0.008251> + 5824: <-0.000424, -0.001278, -0.008305> + 5825: <-0.000426, -0.000854, -0.008350> + 5826: <-0.000000, -0.000855, -0.008359> + 5827: <-0.000000, -0.001280, -0.008314> + 5828: <-0.000426, -0.000854, -0.008350> + 5829: <-0.000428, -0.000428, -0.008377> + 5830: <-0.000000, -0.000428, -0.008386> + 5831: <-0.000000, -0.000855, -0.008359> + 5832: <-0.000428, -0.000428, -0.008377> + 5833: <-0.000428, 0.000000, -0.008386> + 5834: <-0.000000, 0.000000, -0.008395> + 5835: <-0.000000, -0.000428, -0.008386> + 5836: <-0.000428, 0.000000, -0.008386> + 5837: <-0.000428, 0.000428, -0.008377> + 5838: <-0.000000, 0.000428, -0.008386> + 5839: <-0.000000, 0.000000, -0.008395> + 5840: <-0.000428, 0.000428, -0.008377> + 5841: <-0.000426, 0.000854, -0.008350> + 5842: <-0.000000, 0.000855, -0.008359> + 5843: <-0.000000, 0.000428, -0.008386> + 5844: <-0.000426, 0.000854, -0.008350> + 5845: <-0.000424, 0.001278, -0.008305> + 5846: <-0.000000, 0.001280, -0.008314> + 5847: <-0.000000, 0.000855, -0.008359> + 5848: <-0.000424, 0.001278, -0.008305> + 5849: <-0.000422, 0.001699, -0.008242> + 5850: <-0.000000, 0.001701, -0.008251> + 5851: <-0.000000, 0.001280, -0.008314> + 5852: <-0.000422, 0.001699, -0.008242> + 5853: <-0.000419, 0.002116, -0.008161> + 5854: <-0.000000, 0.002118, -0.008169> + 5855: <-0.000000, 0.001701, -0.008251> + 5856: <-0.000419, 0.002116, -0.008161> + 5857: <-0.000415, 0.002527, -0.008062> + 5858: <-0.000000, 0.002530, -0.008070> + 5859: <-0.000000, 0.002118, -0.008169> + 5860: <-0.000415, 0.002527, -0.008062> + 5861: <-0.000412, 0.002931, -0.007945> + 5862: <-0.000000, 0.002934, -0.007953> + 5863: <-0.000000, 0.002530, -0.008070> + 5864: <-0.000412, 0.002931, -0.007945> + 5865: <-0.000408, 0.003328, -0.007810> + 5866: <-0.000000, 0.003331, -0.007818> + 5867: <-0.000000, 0.002934, -0.007953> + 5868: <-0.000408, 0.003328, -0.007810> + 5869: <-0.000404, 0.003716, -0.007657> + 5870: <-0.000000, 0.003720, -0.007665> + 5871: <-0.000000, 0.003331, -0.007818> + 5872: <-0.000404, 0.003716, -0.007657> + 5873: <-0.000400, 0.004093, -0.007487> + 5874: <-0.000000, 0.004098, -0.007495> + 5875: <-0.000000, 0.003720, -0.007665> + 5876: <-0.000400, 0.004093, -0.007487> + 5877: <-0.000397, 0.004460, -0.007298> + 5878: <-0.000000, 0.004465, -0.007306> + 5879: <-0.000000, 0.004098, -0.007495> + 5880: <-0.000397, 0.004460, -0.007298> + 5881: <-0.000394, 0.004815, -0.007092> + 5882: <-0.000000, 0.004820, -0.007099> + 5883: <-0.000000, 0.004465, -0.007306> + 5884: <-0.000394, 0.004815, -0.007092> + 5885: <-0.000391, 0.005156, -0.006868> + 5886: <-0.000000, 0.005162, -0.006875> + 5887: <-0.000000, 0.004820, -0.007099> + 5888: <-0.000391, 0.005156, -0.006868> + 5889: <-0.000389, 0.005483, -0.006626> + 5890: <-0.000000, 0.005489, -0.006633> + 5891: <-0.000000, 0.005162, -0.006875> + 5892: <-0.000389, 0.005483, -0.006626> + 5893: <-0.000388, 0.005794, -0.006366> + 5894: <-0.000000, 0.005801, -0.006373> + 5895: <-0.000000, 0.005489, -0.006633> + 5896: <-0.000000, -0.005801, -0.006373> + 5897: < 0.000000, -0.005489, -0.006633> + 5898: < 0.000389, -0.005483, -0.006626> + 5899: < 0.000388, -0.005794, -0.006366> + 5900: < 0.000000, -0.005489, -0.006633> + 5901: < 0.000000, -0.005162, -0.006875> + 5902: < 0.000391, -0.005156, -0.006868> + 5903: < 0.000389, -0.005483, -0.006626> + 5904: < 0.000000, -0.005162, -0.006875> + 5905: < 0.000000, -0.004820, -0.007099> + 5906: < 0.000394, -0.004815, -0.007092> + 5907: < 0.000391, -0.005156, -0.006868> + 5908: < 0.000000, -0.004820, -0.007099> + 5909: < 0.000000, -0.004465, -0.007306> + 5910: < 0.000397, -0.004460, -0.007298> + 5911: < 0.000394, -0.004815, -0.007092> + 5912: < 0.000000, -0.004465, -0.007306> + 5913: < 0.000000, -0.004098, -0.007495> + 5914: < 0.000400, -0.004093, -0.007487> + 5915: < 0.000397, -0.004460, -0.007298> + 5916: < 0.000000, -0.004098, -0.007495> + 5917: < 0.000000, -0.003720, -0.007665> + 5918: < 0.000404, -0.003716, -0.007657> + 5919: < 0.000400, -0.004093, -0.007487> + 5920: < 0.000000, -0.003720, -0.007665> + 5921: < 0.000000, -0.003331, -0.007818> + 5922: < 0.000408, -0.003328, -0.007810> + 5923: < 0.000404, -0.003716, -0.007657> + 5924: < 0.000000, -0.003331, -0.007818> + 5925: < 0.000000, -0.002934, -0.007953> + 5926: < 0.000412, -0.002931, -0.007945> + 5927: < 0.000408, -0.003328, -0.007810> + 5928: < 0.000000, -0.002934, -0.007953> + 5929: < 0.000000, -0.002530, -0.008070> + 5930: < 0.000415, -0.002527, -0.008062> + 5931: < 0.000412, -0.002931, -0.007945> + 5932: < 0.000000, -0.002530, -0.008070> + 5933: < 0.000000, -0.002118, -0.008169> + 5934: < 0.000419, -0.002116, -0.008161> + 5935: < 0.000415, -0.002527, -0.008062> + 5936: < 0.000000, -0.002118, -0.008169> + 5937: <-0.000000, -0.001701, -0.008251> + 5938: < 0.000422, -0.001699, -0.008242> + 5939: < 0.000419, -0.002116, -0.008161> + 5940: <-0.000000, -0.001701, -0.008251> + 5941: <-0.000000, -0.001280, -0.008314> + 5942: < 0.000424, -0.001278, -0.008305> + 5943: < 0.000422, -0.001699, -0.008242> + 5944: <-0.000000, -0.001280, -0.008314> + 5945: <-0.000000, -0.000855, -0.008359> + 5946: < 0.000426, -0.000854, -0.008350> + 5947: < 0.000424, -0.001278, -0.008305> + 5948: <-0.000000, -0.000855, -0.008359> + 5949: <-0.000000, -0.000428, -0.008386> + 5950: < 0.000428, -0.000428, -0.008377> + 5951: < 0.000426, -0.000854, -0.008350> + 5952: <-0.000000, -0.000428, -0.008386> + 5953: <-0.000000, 0.000000, -0.008395> + 5954: < 0.000428, 0.000000, -0.008386> + 5955: < 0.000428, -0.000428, -0.008377> + 5956: <-0.000000, 0.000000, -0.008395> + 5957: <-0.000000, 0.000428, -0.008386> + 5958: < 0.000428, 0.000428, -0.008377> + 5959: < 0.000428, 0.000000, -0.008386> + 5960: <-0.000000, 0.000428, -0.008386> + 5961: <-0.000000, 0.000855, -0.008359> + 5962: < 0.000426, 0.000854, -0.008350> + 5963: < 0.000428, 0.000428, -0.008377> + 5964: <-0.000000, 0.000855, -0.008359> + 5965: <-0.000000, 0.001280, -0.008314> + 5966: < 0.000424, 0.001278, -0.008305> + 5967: < 0.000426, 0.000854, -0.008350> + 5968: <-0.000000, 0.001280, -0.008314> + 5969: <-0.000000, 0.001701, -0.008251> + 5970: < 0.000422, 0.001699, -0.008242> + 5971: < 0.000424, 0.001278, -0.008305> + 5972: <-0.000000, 0.001701, -0.008251> + 5973: <-0.000000, 0.002118, -0.008169> + 5974: < 0.000419, 0.002116, -0.008161> + 5975: < 0.000422, 0.001699, -0.008242> + 5976: <-0.000000, 0.002118, -0.008169> + 5977: <-0.000000, 0.002530, -0.008070> + 5978: < 0.000415, 0.002527, -0.008062> + 5979: < 0.000419, 0.002116, -0.008161> + 5980: <-0.000000, 0.002530, -0.008070> + 5981: <-0.000000, 0.002934, -0.007953> + 5982: < 0.000412, 0.002931, -0.007945> + 5983: < 0.000415, 0.002527, -0.008062> + 5984: <-0.000000, 0.002934, -0.007953> + 5985: <-0.000000, 0.003331, -0.007818> + 5986: < 0.000408, 0.003328, -0.007810> + 5987: < 0.000412, 0.002931, -0.007945> + 5988: <-0.000000, 0.003331, -0.007818> + 5989: <-0.000000, 0.003720, -0.007665> + 5990: < 0.000404, 0.003716, -0.007657> + 5991: < 0.000408, 0.003328, -0.007810> + 5992: <-0.000000, 0.003720, -0.007665> + 5993: <-0.000000, 0.004098, -0.007495> + 5994: < 0.000400, 0.004093, -0.007487> + 5995: < 0.000404, 0.003716, -0.007657> + 5996: <-0.000000, 0.004098, -0.007495> + 5997: <-0.000000, 0.004465, -0.007306> + 5998: < 0.000397, 0.004460, -0.007298> + 5999: < 0.000400, 0.004093, -0.007487> + 6000: <-0.000000, 0.004465, -0.007306> + 6001: <-0.000000, 0.004820, -0.007099> + 6002: < 0.000394, 0.004815, -0.007092> + 6003: < 0.000397, 0.004460, -0.007298> + 6004: <-0.000000, 0.004820, -0.007099> + 6005: <-0.000000, 0.005162, -0.006875> + 6006: < 0.000391, 0.005156, -0.006868> + 6007: < 0.000394, 0.004815, -0.007092> + 6008: <-0.000000, 0.005162, -0.006875> + 6009: <-0.000000, 0.005489, -0.006633> + 6010: < 0.000389, 0.005483, -0.006626> + 6011: < 0.000391, 0.005156, -0.006868> + 6012: <-0.000000, 0.005489, -0.006633> + 6013: <-0.000000, 0.005801, -0.006373> + 6014: < 0.000388, 0.005794, -0.006366> + 6015: < 0.000389, 0.005483, -0.006626> + 6016: < 0.000388, -0.005794, -0.006366> + 6017: < 0.000389, -0.005483, -0.006626> + 6018: < 0.000777, -0.005466, -0.006605> + 6019: < 0.000774, -0.005776, -0.006346> + 6020: < 0.000389, -0.005483, -0.006626> + 6021: < 0.000391, -0.005156, -0.006868> + 6022: < 0.000781, -0.005140, -0.006846> + 6023: < 0.000777, -0.005466, -0.006605> + 6024: < 0.000391, -0.005156, -0.006868> + 6025: < 0.000394, -0.004815, -0.007092> + 6026: < 0.000786, -0.004800, -0.007069> + 6027: < 0.000781, -0.005140, -0.006846> + 6028: < 0.000394, -0.004815, -0.007092> + 6029: < 0.000397, -0.004460, -0.007298> + 6030: < 0.000792, -0.004446, -0.007275> + 6031: < 0.000786, -0.004800, -0.007069> + 6032: < 0.000397, -0.004460, -0.007298> + 6033: < 0.000400, -0.004093, -0.007487> + 6034: < 0.000799, -0.004081, -0.007462> + 6035: < 0.000792, -0.004446, -0.007275> + 6036: < 0.000400, -0.004093, -0.007487> + 6037: < 0.000404, -0.003716, -0.007657> + 6038: < 0.000807, -0.003704, -0.007632> + 6039: < 0.000799, -0.004081, -0.007462> + 6040: < 0.000404, -0.003716, -0.007657> + 6041: < 0.000408, -0.003328, -0.007810> + 6042: < 0.000814, -0.003318, -0.007785> + 6043: < 0.000807, -0.003704, -0.007632> + 6044: < 0.000408, -0.003328, -0.007810> + 6045: < 0.000412, -0.002931, -0.007945> + 6046: < 0.000822, -0.002922, -0.007919> + 6047: < 0.000814, -0.003318, -0.007785> + 6048: < 0.000412, -0.002931, -0.007945> + 6049: < 0.000415, -0.002527, -0.008062> + 6050: < 0.000829, -0.002519, -0.008036> + 6051: < 0.000822, -0.002922, -0.007919> + 6052: < 0.000415, -0.002527, -0.008062> + 6053: < 0.000419, -0.002116, -0.008161> + 6054: < 0.000836, -0.002109, -0.008134> + 6055: < 0.000829, -0.002519, -0.008036> + 6056: < 0.000419, -0.002116, -0.008161> + 6057: < 0.000422, -0.001699, -0.008242> + 6058: < 0.000842, -0.001694, -0.008215> + 6059: < 0.000836, -0.002109, -0.008134> + 6060: < 0.000422, -0.001699, -0.008242> + 6061: < 0.000424, -0.001278, -0.008305> + 6062: < 0.000848, -0.001275, -0.008278> + 6063: < 0.000842, -0.001694, -0.008215> + 6064: < 0.000424, -0.001278, -0.008305> + 6065: < 0.000426, -0.000854, -0.008350> + 6066: < 0.000852, -0.000852, -0.008323> + 6067: < 0.000848, -0.001275, -0.008278> + 6068: < 0.000426, -0.000854, -0.008350> + 6069: < 0.000428, -0.000428, -0.008377> + 6070: < 0.000854, -0.000426, -0.008350> + 6071: < 0.000852, -0.000852, -0.008323> + 6072: < 0.000428, -0.000428, -0.008377> + 6073: < 0.000428, 0.000000, -0.008386> + 6074: < 0.000855, 0.000000, -0.008359> + 6075: < 0.000854, -0.000426, -0.008350> + 6076: < 0.000428, 0.000000, -0.008386> + 6077: < 0.000428, 0.000428, -0.008377> + 6078: < 0.000854, 0.000426, -0.008350> + 6079: < 0.000855, 0.000000, -0.008359> + 6080: < 0.000428, 0.000428, -0.008377> + 6081: < 0.000426, 0.000854, -0.008350> + 6082: < 0.000852, 0.000852, -0.008323> + 6083: < 0.000854, 0.000426, -0.008350> + 6084: < 0.000426, 0.000854, -0.008350> + 6085: < 0.000424, 0.001278, -0.008305> + 6086: < 0.000848, 0.001275, -0.008278> + 6087: < 0.000852, 0.000852, -0.008323> + 6088: < 0.000424, 0.001278, -0.008305> + 6089: < 0.000422, 0.001699, -0.008242> + 6090: < 0.000842, 0.001694, -0.008215> + 6091: < 0.000848, 0.001275, -0.008278> + 6092: < 0.000422, 0.001699, -0.008242> + 6093: < 0.000419, 0.002116, -0.008161> + 6094: < 0.000836, 0.002109, -0.008134> + 6095: < 0.000842, 0.001694, -0.008215> + 6096: < 0.000419, 0.002116, -0.008161> + 6097: < 0.000415, 0.002527, -0.008062> + 6098: < 0.000829, 0.002519, -0.008036> + 6099: < 0.000836, 0.002109, -0.008134> + 6100: < 0.000415, 0.002527, -0.008062> + 6101: < 0.000412, 0.002931, -0.007945> + 6102: < 0.000822, 0.002922, -0.007919> + 6103: < 0.000829, 0.002519, -0.008036> + 6104: < 0.000412, 0.002931, -0.007945> + 6105: < 0.000408, 0.003328, -0.007810> + 6106: < 0.000814, 0.003318, -0.007785> + 6107: < 0.000822, 0.002922, -0.007919> + 6108: < 0.000408, 0.003328, -0.007810> + 6109: < 0.000404, 0.003716, -0.007657> + 6110: < 0.000807, 0.003704, -0.007632> + 6111: < 0.000814, 0.003318, -0.007785> + 6112: < 0.000404, 0.003716, -0.007657> + 6113: < 0.000400, 0.004093, -0.007487> + 6114: < 0.000799, 0.004081, -0.007462> + 6115: < 0.000807, 0.003704, -0.007632> + 6116: < 0.000400, 0.004093, -0.007487> + 6117: < 0.000397, 0.004460, -0.007298> + 6118: < 0.000792, 0.004446, -0.007275> + 6119: < 0.000799, 0.004081, -0.007462> + 6120: < 0.000397, 0.004460, -0.007298> + 6121: < 0.000394, 0.004815, -0.007092> + 6122: < 0.000786, 0.004800, -0.007069> + 6123: < 0.000792, 0.004446, -0.007275> + 6124: < 0.000394, 0.004815, -0.007092> + 6125: < 0.000391, 0.005156, -0.006868> + 6126: < 0.000781, 0.005140, -0.006846> + 6127: < 0.000786, 0.004800, -0.007069> + 6128: < 0.000391, 0.005156, -0.006868> + 6129: < 0.000389, 0.005483, -0.006626> + 6130: < 0.000777, 0.005466, -0.006605> + 6131: < 0.000781, 0.005140, -0.006846> + 6132: < 0.000389, 0.005483, -0.006626> + 6133: < 0.000388, 0.005794, -0.006366> + 6134: < 0.000774, 0.005776, -0.006346> + 6135: < 0.000777, 0.005466, -0.006605> + 6136: < 0.000774, -0.005776, -0.006346> + 6137: < 0.000777, -0.005466, -0.006605> + 6138: < 0.001161, -0.005438, -0.006570> + 6139: < 0.001157, -0.005747, -0.006313> + 6140: < 0.000777, -0.005466, -0.006605> + 6141: < 0.000781, -0.005140, -0.006846> + 6142: < 0.001168, -0.005114, -0.006810> + 6143: < 0.001161, -0.005438, -0.006570> + 6144: < 0.000781, -0.005140, -0.006846> + 6145: < 0.000786, -0.004800, -0.007069> + 6146: < 0.001176, -0.004776, -0.007032> + 6147: < 0.001168, -0.005114, -0.006810> + 6148: < 0.000786, -0.004800, -0.007069> + 6149: < 0.000792, -0.004446, -0.007275> + 6150: < 0.001185, -0.004424, -0.007236> + 6151: < 0.001176, -0.004776, -0.007032> + 6152: < 0.000792, -0.004446, -0.007275> + 6153: < 0.000799, -0.004081, -0.007462> + 6154: < 0.001196, -0.004061, -0.007423> + 6155: < 0.001185, -0.004424, -0.007236> + 6156: < 0.000799, -0.004081, -0.007462> + 6157: < 0.000807, -0.003704, -0.007632> + 6158: < 0.001207, -0.003686, -0.007591> + 6159: < 0.001196, -0.004061, -0.007423> + 6160: < 0.000807, -0.003704, -0.007632> + 6161: < 0.000814, -0.003318, -0.007785> + 6162: < 0.001219, -0.003302, -0.007743> + 6163: < 0.001207, -0.003686, -0.007591> + 6164: < 0.000814, -0.003318, -0.007785> + 6165: < 0.000822, -0.002922, -0.007919> + 6166: < 0.001230, -0.002908, -0.007876> + 6167: < 0.001219, -0.003302, -0.007743> + 6168: < 0.000822, -0.002922, -0.007919> + 6169: < 0.000829, -0.002519, -0.008036> + 6170: < 0.001241, -0.002507, -0.007992> + 6171: < 0.001230, -0.002908, -0.007876> + 6172: < 0.000829, -0.002519, -0.008036> + 6173: < 0.000836, -0.002109, -0.008134> + 6174: < 0.001252, -0.002099, -0.008090> + 6175: < 0.001241, -0.002507, -0.007992> + 6176: < 0.000836, -0.002109, -0.008134> + 6177: < 0.000842, -0.001694, -0.008215> + 6178: < 0.001261, -0.001686, -0.008171> + 6179: < 0.001252, -0.002099, -0.008090> + 6180: < 0.000842, -0.001694, -0.008215> + 6181: < 0.000848, -0.001275, -0.008278> + 6182: < 0.001269, -0.001269, -0.008233> + 6183: < 0.001261, -0.001686, -0.008171> + 6184: < 0.000848, -0.001275, -0.008278> + 6185: < 0.000852, -0.000852, -0.008323> + 6186: < 0.001275, -0.000848, -0.008278> + 6187: < 0.001269, -0.001269, -0.008233> + 6188: < 0.000852, -0.000852, -0.008323> + 6189: < 0.000854, -0.000426, -0.008350> + 6190: < 0.001278, -0.000424, -0.008305> + 6191: < 0.001275, -0.000848, -0.008278> + 6192: < 0.000854, -0.000426, -0.008350> + 6193: < 0.000855, 0.000000, -0.008359> + 6194: < 0.001280, 0.000000, -0.008314> + 6195: < 0.001278, -0.000424, -0.008305> + 6196: < 0.000855, 0.000000, -0.008359> + 6197: < 0.000854, 0.000426, -0.008350> + 6198: < 0.001278, 0.000424, -0.008305> + 6199: < 0.001280, 0.000000, -0.008314> + 6200: < 0.000854, 0.000426, -0.008350> + 6201: < 0.000852, 0.000852, -0.008323> + 6202: < 0.001275, 0.000848, -0.008278> + 6203: < 0.001278, 0.000424, -0.008305> + 6204: < 0.000852, 0.000852, -0.008323> + 6205: < 0.000848, 0.001275, -0.008278> + 6206: < 0.001269, 0.001269, -0.008233> + 6207: < 0.001275, 0.000848, -0.008278> + 6208: < 0.000848, 0.001275, -0.008278> + 6209: < 0.000842, 0.001694, -0.008215> + 6210: < 0.001261, 0.001686, -0.008171> + 6211: < 0.001269, 0.001269, -0.008233> + 6212: < 0.000842, 0.001694, -0.008215> + 6213: < 0.000836, 0.002109, -0.008134> + 6214: < 0.001252, 0.002099, -0.008090> + 6215: < 0.001261, 0.001686, -0.008171> + 6216: < 0.000836, 0.002109, -0.008134> + 6217: < 0.000829, 0.002519, -0.008036> + 6218: < 0.001241, 0.002507, -0.007992> + 6219: < 0.001252, 0.002099, -0.008090> + 6220: < 0.000829, 0.002519, -0.008036> + 6221: < 0.000822, 0.002922, -0.007919> + 6222: < 0.001230, 0.002908, -0.007876> + 6223: < 0.001241, 0.002507, -0.007992> + 6224: < 0.000822, 0.002922, -0.007919> + 6225: < 0.000814, 0.003318, -0.007785> + 6226: < 0.001219, 0.003302, -0.007743> + 6227: < 0.001230, 0.002908, -0.007876> + 6228: < 0.000814, 0.003318, -0.007785> + 6229: < 0.000807, 0.003704, -0.007632> + 6230: < 0.001207, 0.003686, -0.007591> + 6231: < 0.001219, 0.003302, -0.007743> + 6232: < 0.000807, 0.003704, -0.007632> + 6233: < 0.000799, 0.004081, -0.007462> + 6234: < 0.001196, 0.004061, -0.007423> + 6235: < 0.001207, 0.003686, -0.007591> + 6236: < 0.000799, 0.004081, -0.007462> + 6237: < 0.000792, 0.004446, -0.007275> + 6238: < 0.001185, 0.004424, -0.007236> + 6239: < 0.001196, 0.004061, -0.007423> + 6240: < 0.000792, 0.004446, -0.007275> + 6241: < 0.000786, 0.004800, -0.007069> + 6242: < 0.001176, 0.004776, -0.007032> + 6243: < 0.001185, 0.004424, -0.007236> + 6244: < 0.000786, 0.004800, -0.007069> + 6245: < 0.000781, 0.005140, -0.006846> + 6246: < 0.001168, 0.005114, -0.006810> + 6247: < 0.001176, 0.004776, -0.007032> + 6248: < 0.000781, 0.005140, -0.006846> + 6249: < 0.000777, 0.005466, -0.006605> + 6250: < 0.001161, 0.005438, -0.006570> + 6251: < 0.001168, 0.005114, -0.006810> + 6252: < 0.000777, 0.005466, -0.006605> + 6253: < 0.000774, 0.005776, -0.006346> + 6254: < 0.001157, 0.005747, -0.006313> + 6255: < 0.001161, 0.005438, -0.006570> + 6256: < 0.001157, -0.005747, -0.006313> + 6257: < 0.001161, -0.005438, -0.006570> + 6258: < 0.001541, -0.005401, -0.006523> + 6259: < 0.001536, -0.005707, -0.006269> + 6260: < 0.001161, -0.005438, -0.006570> + 6261: < 0.001168, -0.005114, -0.006810> + 6262: < 0.001550, -0.005080, -0.006761> + 6263: < 0.001541, -0.005401, -0.006523> + 6264: < 0.001168, -0.005114, -0.006810> + 6265: < 0.001176, -0.004776, -0.007032> + 6266: < 0.001561, -0.004744, -0.006980> + 6267: < 0.001550, -0.005080, -0.006761> + 6268: < 0.001176, -0.004776, -0.007032> + 6269: < 0.001185, -0.004424, -0.007236> + 6270: < 0.001574, -0.004395, -0.007183> + 6271: < 0.001561, -0.004744, -0.006980> + 6272: < 0.001185, -0.004424, -0.007236> + 6273: < 0.001196, -0.004061, -0.007423> + 6274: < 0.001588, -0.004034, -0.007367> + 6275: < 0.001574, -0.004395, -0.007183> + 6276: < 0.001196, -0.004061, -0.007423> + 6277: < 0.001207, -0.003686, -0.007591> + 6278: < 0.001603, -0.003663, -0.007535> + 6279: < 0.001588, -0.004034, -0.007367> + 6280: < 0.001207, -0.003686, -0.007591> + 6281: < 0.001219, -0.003302, -0.007743> + 6282: < 0.001619, -0.003281, -0.007684> + 6283: < 0.001603, -0.003663, -0.007535> + 6284: < 0.001219, -0.003302, -0.007743> + 6285: < 0.001230, -0.002908, -0.007876> + 6286: < 0.001635, -0.002890, -0.007817> + 6287: < 0.001619, -0.003281, -0.007684> + 6288: < 0.001230, -0.002908, -0.007876> + 6289: < 0.001241, -0.002507, -0.007992> + 6290: < 0.001650, -0.002492, -0.007932> + 6291: < 0.001635, -0.002890, -0.007817> + 6292: < 0.001241, -0.002507, -0.007992> + 6293: < 0.001252, -0.002099, -0.008090> + 6294: < 0.001663, -0.002086, -0.008029> + 6295: < 0.001650, -0.002492, -0.007932> + 6296: < 0.001252, -0.002099, -0.008090> + 6297: < 0.001261, -0.001686, -0.008171> + 6298: < 0.001676, -0.001676, -0.008109> + 6299: < 0.001663, -0.002086, -0.008029> + 6300: < 0.001261, -0.001686, -0.008171> + 6301: < 0.001269, -0.001269, -0.008233> + 6302: < 0.001686, -0.001261, -0.008171> + 6303: < 0.001676, -0.001676, -0.008109> + 6304: < 0.001269, -0.001269, -0.008233> + 6305: < 0.001275, -0.000848, -0.008278> + 6306: < 0.001694, -0.000842, -0.008215> + 6307: < 0.001686, -0.001261, -0.008171> + 6308: < 0.001275, -0.000848, -0.008278> + 6309: < 0.001278, -0.000424, -0.008305> + 6310: < 0.001699, -0.000422, -0.008242> + 6311: < 0.001694, -0.000842, -0.008215> + 6312: < 0.001278, -0.000424, -0.008305> + 6313: < 0.001280, 0.000000, -0.008314> + 6314: < 0.001701, 0.000000, -0.008251> + 6315: < 0.001699, -0.000422, -0.008242> + 6316: < 0.001280, 0.000000, -0.008314> + 6317: < 0.001278, 0.000424, -0.008305> + 6318: < 0.001699, 0.000422, -0.008242> + 6319: < 0.001701, 0.000000, -0.008251> + 6320: < 0.001278, 0.000424, -0.008305> + 6321: < 0.001275, 0.000848, -0.008278> + 6322: < 0.001694, 0.000842, -0.008215> + 6323: < 0.001699, 0.000422, -0.008242> + 6324: < 0.001275, 0.000848, -0.008278> + 6325: < 0.001269, 0.001269, -0.008233> + 6326: < 0.001686, 0.001261, -0.008171> + 6327: < 0.001694, 0.000842, -0.008215> + 6328: < 0.001269, 0.001269, -0.008233> + 6329: < 0.001261, 0.001686, -0.008171> + 6330: < 0.001676, 0.001676, -0.008109> + 6331: < 0.001686, 0.001261, -0.008171> + 6332: < 0.001261, 0.001686, -0.008171> + 6333: < 0.001252, 0.002099, -0.008090> + 6334: < 0.001663, 0.002086, -0.008029> + 6335: < 0.001676, 0.001676, -0.008109> + 6336: < 0.001252, 0.002099, -0.008090> + 6337: < 0.001241, 0.002507, -0.007992> + 6338: < 0.001650, 0.002492, -0.007932> + 6339: < 0.001663, 0.002086, -0.008029> + 6340: < 0.001241, 0.002507, -0.007992> + 6341: < 0.001230, 0.002908, -0.007876> + 6342: < 0.001635, 0.002890, -0.007817> + 6343: < 0.001650, 0.002492, -0.007932> + 6344: < 0.001230, 0.002908, -0.007876> + 6345: < 0.001219, 0.003302, -0.007743> + 6346: < 0.001619, 0.003281, -0.007684> + 6347: < 0.001635, 0.002890, -0.007817> + 6348: < 0.001219, 0.003302, -0.007743> + 6349: < 0.001207, 0.003686, -0.007591> + 6350: < 0.001603, 0.003663, -0.007535> + 6351: < 0.001619, 0.003281, -0.007684> + 6352: < 0.001207, 0.003686, -0.007591> + 6353: < 0.001196, 0.004061, -0.007423> + 6354: < 0.001588, 0.004034, -0.007367> + 6355: < 0.001603, 0.003663, -0.007535> + 6356: < 0.001196, 0.004061, -0.007423> + 6357: < 0.001185, 0.004424, -0.007236> + 6358: < 0.001574, 0.004395, -0.007183> + 6359: < 0.001588, 0.004034, -0.007367> + 6360: < 0.001185, 0.004424, -0.007236> + 6361: < 0.001176, 0.004776, -0.007032> + 6362: < 0.001561, 0.004744, -0.006980> + 6363: < 0.001574, 0.004395, -0.007183> + 6364: < 0.001176, 0.004776, -0.007032> + 6365: < 0.001168, 0.005114, -0.006810> + 6366: < 0.001550, 0.005080, -0.006761> + 6367: < 0.001561, 0.004744, -0.006980> + 6368: < 0.001168, 0.005114, -0.006810> + 6369: < 0.001161, 0.005438, -0.006570> + 6370: < 0.001541, 0.005401, -0.006523> + 6371: < 0.001550, 0.005080, -0.006761> + 6372: < 0.001161, 0.005438, -0.006570> + 6373: < 0.001157, 0.005747, -0.006313> + 6374: < 0.001536, 0.005707, -0.006269> + 6375: < 0.001541, 0.005401, -0.006523> + 6376: < 0.001536, -0.005707, -0.006269> + 6377: < 0.001541, -0.005401, -0.006523> + 6378: < 0.001915, -0.005355, -0.006464> + 6379: < 0.001908, -0.005657, -0.006212> + 6380: < 0.001541, -0.005401, -0.006523> + 6381: < 0.001550, -0.005080, -0.006761> + 6382: < 0.001926, -0.005037, -0.006698> + 6383: < 0.001915, -0.005355, -0.006464> + 6384: < 0.001550, -0.005080, -0.006761> + 6385: < 0.001561, -0.004744, -0.006980> + 6386: < 0.001940, -0.004705, -0.006915> + 6387: < 0.001926, -0.005037, -0.006698> + 6388: < 0.001561, -0.004744, -0.006980> + 6389: < 0.001574, -0.004395, -0.007183> + 6390: < 0.001957, -0.004360, -0.007115> + 6391: < 0.001940, -0.004705, -0.006915> + 6392: < 0.001574, -0.004395, -0.007183> + 6393: < 0.001588, -0.004034, -0.007367> + 6394: < 0.001975, -0.004002, -0.007297> + 6395: < 0.001957, -0.004360, -0.007115> + 6396: < 0.001588, -0.004034, -0.007367> + 6397: < 0.001603, -0.003663, -0.007535> + 6398: < 0.001995, -0.003634, -0.007462> + 6399: < 0.001975, -0.004002, -0.007297> + 6400: < 0.001603, -0.003663, -0.007535> + 6401: < 0.001619, -0.003281, -0.007684> + 6402: < 0.002015, -0.003255, -0.007610> + 6403: < 0.001995, -0.003634, -0.007462> + 6404: < 0.001619, -0.003281, -0.007684> + 6405: < 0.001635, -0.002890, -0.007817> + 6406: < 0.002035, -0.002868, -0.007740> + 6407: < 0.002015, -0.003255, -0.007610> + 6408: < 0.001635, -0.002890, -0.007817> + 6409: < 0.001650, -0.002492, -0.007932> + 6410: < 0.002053, -0.002473, -0.007854> + 6411: < 0.002035, -0.002868, -0.007740> + 6412: < 0.001650, -0.002492, -0.007932> + 6413: < 0.001663, -0.002086, -0.008029> + 6414: < 0.002071, -0.002071, -0.007950> + 6415: < 0.002053, -0.002473, -0.007854> + 6416: < 0.001663, -0.002086, -0.008029> + 6417: < 0.001676, -0.001676, -0.008109> + 6418: < 0.002086, -0.001663, -0.008029> + 6419: < 0.002071, -0.002071, -0.007950> + 6420: < 0.001676, -0.001676, -0.008109> + 6421: < 0.001686, -0.001261, -0.008171> + 6422: < 0.002099, -0.001252, -0.008090> + 6423: < 0.002086, -0.001663, -0.008029> + 6424: < 0.001686, -0.001261, -0.008171> + 6425: < 0.001694, -0.000842, -0.008215> + 6426: < 0.002109, -0.000836, -0.008134> + 6427: < 0.002099, -0.001252, -0.008090> + 6428: < 0.001694, -0.000842, -0.008215> + 6429: < 0.001699, -0.000422, -0.008242> + 6430: < 0.002116, -0.000419, -0.008161> + 6431: < 0.002109, -0.000836, -0.008134> + 6432: < 0.001699, -0.000422, -0.008242> + 6433: < 0.001701, 0.000000, -0.008251> + 6434: < 0.002118, 0.000000, -0.008169> + 6435: < 0.002116, -0.000419, -0.008161> + 6436: < 0.001701, 0.000000, -0.008251> + 6437: < 0.001699, 0.000422, -0.008242> + 6438: < 0.002116, 0.000419, -0.008161> + 6439: < 0.002118, 0.000000, -0.008169> + 6440: < 0.001699, 0.000422, -0.008242> + 6441: < 0.001694, 0.000842, -0.008215> + 6442: < 0.002109, 0.000836, -0.008134> + 6443: < 0.002116, 0.000419, -0.008161> + 6444: < 0.001694, 0.000842, -0.008215> + 6445: < 0.001686, 0.001261, -0.008171> + 6446: < 0.002099, 0.001252, -0.008090> + 6447: < 0.002109, 0.000836, -0.008134> + 6448: < 0.001686, 0.001261, -0.008171> + 6449: < 0.001676, 0.001676, -0.008109> + 6450: < 0.002086, 0.001663, -0.008029> + 6451: < 0.002099, 0.001252, -0.008090> + 6452: < 0.001676, 0.001676, -0.008109> + 6453: < 0.001663, 0.002086, -0.008029> + 6454: < 0.002071, 0.002071, -0.007950> + 6455: < 0.002086, 0.001663, -0.008029> + 6456: < 0.001663, 0.002086, -0.008029> + 6457: < 0.001650, 0.002492, -0.007932> + 6458: < 0.002053, 0.002473, -0.007854> + 6459: < 0.002071, 0.002071, -0.007950> + 6460: < 0.001650, 0.002492, -0.007932> + 6461: < 0.001635, 0.002890, -0.007817> + 6462: < 0.002035, 0.002868, -0.007740> + 6463: < 0.002053, 0.002473, -0.007854> + 6464: < 0.001635, 0.002890, -0.007817> + 6465: < 0.001619, 0.003281, -0.007684> + 6466: < 0.002015, 0.003255, -0.007610> + 6467: < 0.002035, 0.002868, -0.007740> + 6468: < 0.001619, 0.003281, -0.007684> + 6469: < 0.001603, 0.003663, -0.007535> + 6470: < 0.001995, 0.003634, -0.007462> + 6471: < 0.002015, 0.003255, -0.007610> + 6472: < 0.001603, 0.003663, -0.007535> + 6473: < 0.001588, 0.004034, -0.007367> + 6474: < 0.001975, 0.004002, -0.007297> + 6475: < 0.001995, 0.003634, -0.007462> + 6476: < 0.001588, 0.004034, -0.007367> + 6477: < 0.001574, 0.004395, -0.007183> + 6478: < 0.001957, 0.004360, -0.007115> + 6479: < 0.001975, 0.004002, -0.007297> + 6480: < 0.001574, 0.004395, -0.007183> + 6481: < 0.001561, 0.004744, -0.006980> + 6482: < 0.001940, 0.004705, -0.006915> + 6483: < 0.001957, 0.004360, -0.007115> + 6484: < 0.001561, 0.004744, -0.006980> + 6485: < 0.001550, 0.005080, -0.006761> + 6486: < 0.001926, 0.005037, -0.006698> + 6487: < 0.001940, 0.004705, -0.006915> + 6488: < 0.001550, 0.005080, -0.006761> + 6489: < 0.001541, 0.005401, -0.006523> + 6490: < 0.001915, 0.005355, -0.006464> + 6491: < 0.001926, 0.005037, -0.006698> + 6492: < 0.001541, 0.005401, -0.006523> + 6493: < 0.001536, 0.005707, -0.006269> + 6494: < 0.001908, 0.005657, -0.006212> + 6495: < 0.001915, 0.005355, -0.006464> + 6496: < 0.001908, -0.005657, -0.006212> + 6497: < 0.001915, -0.005355, -0.006464> + 6498: < 0.002281, -0.005301, -0.006393> + 6499: < 0.002272, -0.005599, -0.006146> + 6500: < 0.001915, -0.005355, -0.006464> + 6501: < 0.001926, -0.005037, -0.006698> + 6502: < 0.002295, -0.004987, -0.006623> + 6503: < 0.002281, -0.005301, -0.006393> + 6504: < 0.001926, -0.005037, -0.006698> + 6505: < 0.001940, -0.004705, -0.006915> + 6506: < 0.002313, -0.004659, -0.006836> + 6507: < 0.002295, -0.004987, -0.006623> + 6508: < 0.001940, -0.004705, -0.006915> + 6509: < 0.001957, -0.004360, -0.007115> + 6510: < 0.002333, -0.004318, -0.007033> + 6511: < 0.002313, -0.004659, -0.006836> + 6512: < 0.001957, -0.004360, -0.007115> + 6513: < 0.001975, -0.004002, -0.007297> + 6514: < 0.002356, -0.003965, -0.007212> + 6515: < 0.002333, -0.004318, -0.007033> + 6516: < 0.001975, -0.004002, -0.007297> + 6517: < 0.001995, -0.003634, -0.007462> + 6518: < 0.002380, -0.003601, -0.007374> + 6519: < 0.002356, -0.003965, -0.007212> + 6520: < 0.001995, -0.003634, -0.007462> + 6521: < 0.002015, -0.003255, -0.007610> + 6522: < 0.002405, -0.003227, -0.007519> + 6523: < 0.002380, -0.003601, -0.007374> + 6524: < 0.002015, -0.003255, -0.007610> + 6525: < 0.002035, -0.002868, -0.007740> + 6526: < 0.002429, -0.002843, -0.007648> + 6527: < 0.002405, -0.003227, -0.007519> + 6528: < 0.002035, -0.002868, -0.007740> + 6529: < 0.002053, -0.002473, -0.007854> + 6530: < 0.002452, -0.002452, -0.007759> + 6531: < 0.002429, -0.002843, -0.007648> + 6532: < 0.002053, -0.002473, -0.007854> + 6533: < 0.002071, -0.002071, -0.007950> + 6534: < 0.002473, -0.002053, -0.007854> + 6535: < 0.002452, -0.002452, -0.007759> + 6536: < 0.002071, -0.002071, -0.007950> + 6537: < 0.002086, -0.001663, -0.008029> + 6538: < 0.002492, -0.001650, -0.007932> + 6539: < 0.002473, -0.002053, -0.007854> + 6540: < 0.002086, -0.001663, -0.008029> + 6541: < 0.002099, -0.001252, -0.008090> + 6542: < 0.002507, -0.001241, -0.007992> + 6543: < 0.002492, -0.001650, -0.007932> + 6544: < 0.002099, -0.001252, -0.008090> + 6545: < 0.002109, -0.000836, -0.008134> + 6546: < 0.002519, -0.000829, -0.008036> + 6547: < 0.002507, -0.001241, -0.007992> + 6548: < 0.002109, -0.000836, -0.008134> + 6549: < 0.002116, -0.000419, -0.008161> + 6550: < 0.002527, -0.000415, -0.008062> + 6551: < 0.002519, -0.000829, -0.008036> + 6552: < 0.002116, -0.000419, -0.008161> + 6553: < 0.002118, 0.000000, -0.008169> + 6554: < 0.002530, 0.000000, -0.008070> + 6555: < 0.002527, -0.000415, -0.008062> + 6556: < 0.002118, 0.000000, -0.008169> + 6557: < 0.002116, 0.000419, -0.008161> + 6558: < 0.002527, 0.000415, -0.008062> + 6559: < 0.002530, 0.000000, -0.008070> + 6560: < 0.002116, 0.000419, -0.008161> + 6561: < 0.002109, 0.000836, -0.008134> + 6562: < 0.002519, 0.000829, -0.008036> + 6563: < 0.002527, 0.000415, -0.008062> + 6564: < 0.002109, 0.000836, -0.008134> + 6565: < 0.002099, 0.001252, -0.008090> + 6566: < 0.002507, 0.001241, -0.007992> + 6567: < 0.002519, 0.000829, -0.008036> + 6568: < 0.002099, 0.001252, -0.008090> + 6569: < 0.002086, 0.001663, -0.008029> + 6570: < 0.002492, 0.001650, -0.007932> + 6571: < 0.002507, 0.001241, -0.007992> + 6572: < 0.002086, 0.001663, -0.008029> + 6573: < 0.002071, 0.002071, -0.007950> + 6574: < 0.002473, 0.002053, -0.007854> + 6575: < 0.002492, 0.001650, -0.007932> + 6576: < 0.002071, 0.002071, -0.007950> + 6577: < 0.002053, 0.002473, -0.007854> + 6578: < 0.002452, 0.002452, -0.007759> + 6579: < 0.002473, 0.002053, -0.007854> + 6580: < 0.002053, 0.002473, -0.007854> + 6581: < 0.002035, 0.002868, -0.007740> + 6582: < 0.002429, 0.002843, -0.007648> + 6583: < 0.002452, 0.002452, -0.007759> + 6584: < 0.002035, 0.002868, -0.007740> + 6585: < 0.002015, 0.003255, -0.007610> + 6586: < 0.002405, 0.003227, -0.007519> + 6587: < 0.002429, 0.002843, -0.007648> + 6588: < 0.002015, 0.003255, -0.007610> + 6589: < 0.001995, 0.003634, -0.007462> + 6590: < 0.002380, 0.003601, -0.007374> + 6591: < 0.002405, 0.003227, -0.007519> + 6592: < 0.001995, 0.003634, -0.007462> + 6593: < 0.001975, 0.004002, -0.007297> + 6594: < 0.002356, 0.003965, -0.007212> + 6595: < 0.002380, 0.003601, -0.007374> + 6596: < 0.001975, 0.004002, -0.007297> + 6597: < 0.001957, 0.004360, -0.007115> + 6598: < 0.002333, 0.004318, -0.007033> + 6599: < 0.002356, 0.003965, -0.007212> + 6600: < 0.001957, 0.004360, -0.007115> + 6601: < 0.001940, 0.004705, -0.006915> + 6602: < 0.002313, 0.004659, -0.006836> + 6603: < 0.002333, 0.004318, -0.007033> + 6604: < 0.001940, 0.004705, -0.006915> + 6605: < 0.001926, 0.005037, -0.006698> + 6606: < 0.002295, 0.004987, -0.006623> + 6607: < 0.002313, 0.004659, -0.006836> + 6608: < 0.001926, 0.005037, -0.006698> + 6609: < 0.001915, 0.005355, -0.006464> + 6610: < 0.002281, 0.005301, -0.006393> + 6611: < 0.002295, 0.004987, -0.006623> + 6612: < 0.001915, 0.005355, -0.006464> + 6613: < 0.001908, 0.005657, -0.006212> + 6614: < 0.002272, 0.005599, -0.006146> + 6615: < 0.002281, 0.005301, -0.006393> + 6616: < 0.002272, -0.005599, -0.006146> + 6617: < 0.002281, -0.005301, -0.006393> + 6618: < 0.002638, -0.005240, -0.006311> + 6619: < 0.002627, -0.005533, -0.006069> + 6620: < 0.002281, -0.005301, -0.006393> + 6621: < 0.002295, -0.004987, -0.006623> + 6622: < 0.002655, -0.004931, -0.006537> + 6623: < 0.002638, -0.005240, -0.006311> + 6624: < 0.002295, -0.004987, -0.006623> + 6625: < 0.002313, -0.004659, -0.006836> + 6626: < 0.002676, -0.004609, -0.006745> + 6627: < 0.002655, -0.004931, -0.006537> + 6628: < 0.002313, -0.004659, -0.006836> + 6629: < 0.002333, -0.004318, -0.007033> + 6630: < 0.002701, -0.004273, -0.006937> + 6631: < 0.002676, -0.004609, -0.006745> + 6632: < 0.002333, -0.004318, -0.007033> + 6633: < 0.002356, -0.003965, -0.007212> + 6634: < 0.002729, -0.003924, -0.007112> + 6635: < 0.002701, -0.004273, -0.006937> + 6636: < 0.002356, -0.003965, -0.007212> + 6637: < 0.002380, -0.003601, -0.007374> + 6638: < 0.002758, -0.003565, -0.007270> + 6639: < 0.002729, -0.003924, -0.007112> + 6640: < 0.002380, -0.003601, -0.007374> + 6641: < 0.002405, -0.003227, -0.007519> + 6642: < 0.002787, -0.003195, -0.007412> + 6643: < 0.002758, -0.003565, -0.007270> + 6644: < 0.002405, -0.003227, -0.007519> + 6645: < 0.002429, -0.002843, -0.007648> + 6646: < 0.002816, -0.002816, -0.007538> + 6647: < 0.002787, -0.003195, -0.007412> + 6648: < 0.002429, -0.002843, -0.007648> + 6649: < 0.002452, -0.002452, -0.007759> + 6650: < 0.002843, -0.002429, -0.007648> + 6651: < 0.002816, -0.002816, -0.007538> + 6652: < 0.002452, -0.002452, -0.007759> + 6653: < 0.002473, -0.002053, -0.007854> + 6654: < 0.002868, -0.002035, -0.007740> + 6655: < 0.002843, -0.002429, -0.007648> + 6656: < 0.002473, -0.002053, -0.007854> + 6657: < 0.002492, -0.001650, -0.007932> + 6658: < 0.002890, -0.001635, -0.007817> + 6659: < 0.002868, -0.002035, -0.007740> + 6660: < 0.002492, -0.001650, -0.007932> + 6661: < 0.002507, -0.001241, -0.007992> + 6662: < 0.002908, -0.001230, -0.007876> + 6663: < 0.002890, -0.001635, -0.007817> + 6664: < 0.002507, -0.001241, -0.007992> + 6665: < 0.002519, -0.000829, -0.008036> + 6666: < 0.002922, -0.000822, -0.007919> + 6667: < 0.002908, -0.001230, -0.007876> + 6668: < 0.002519, -0.000829, -0.008036> + 6669: < 0.002527, -0.000415, -0.008062> + 6670: < 0.002931, -0.000412, -0.007945> + 6671: < 0.002922, -0.000822, -0.007919> + 6672: < 0.002527, -0.000415, -0.008062> + 6673: < 0.002530, 0.000000, -0.008070> + 6674: < 0.002934, 0.000000, -0.007953> + 6675: < 0.002931, -0.000412, -0.007945> + 6676: < 0.002530, 0.000000, -0.008070> + 6677: < 0.002527, 0.000415, -0.008062> + 6678: < 0.002931, 0.000412, -0.007945> + 6679: < 0.002934, 0.000000, -0.007953> + 6680: < 0.002527, 0.000415, -0.008062> + 6681: < 0.002519, 0.000829, -0.008036> + 6682: < 0.002922, 0.000822, -0.007919> + 6683: < 0.002931, 0.000412, -0.007945> + 6684: < 0.002519, 0.000829, -0.008036> + 6685: < 0.002507, 0.001241, -0.007992> + 6686: < 0.002908, 0.001230, -0.007876> + 6687: < 0.002922, 0.000822, -0.007919> + 6688: < 0.002507, 0.001241, -0.007992> + 6689: < 0.002492, 0.001650, -0.007932> + 6690: < 0.002890, 0.001635, -0.007817> + 6691: < 0.002908, 0.001230, -0.007876> + 6692: < 0.002492, 0.001650, -0.007932> + 6693: < 0.002473, 0.002053, -0.007854> + 6694: < 0.002868, 0.002035, -0.007740> + 6695: < 0.002890, 0.001635, -0.007817> + 6696: < 0.002473, 0.002053, -0.007854> + 6697: < 0.002452, 0.002452, -0.007759> + 6698: < 0.002843, 0.002429, -0.007648> + 6699: < 0.002868, 0.002035, -0.007740> + 6700: < 0.002452, 0.002452, -0.007759> + 6701: < 0.002429, 0.002843, -0.007648> + 6702: < 0.002816, 0.002816, -0.007538> + 6703: < 0.002843, 0.002429, -0.007648> + 6704: < 0.002429, 0.002843, -0.007648> + 6705: < 0.002405, 0.003227, -0.007519> + 6706: < 0.002787, 0.003195, -0.007412> + 6707: < 0.002816, 0.002816, -0.007538> + 6708: < 0.002405, 0.003227, -0.007519> + 6709: < 0.002380, 0.003601, -0.007374> + 6710: < 0.002758, 0.003565, -0.007270> + 6711: < 0.002787, 0.003195, -0.007412> + 6712: < 0.002380, 0.003601, -0.007374> + 6713: < 0.002356, 0.003965, -0.007212> + 6714: < 0.002729, 0.003924, -0.007112> + 6715: < 0.002758, 0.003565, -0.007270> + 6716: < 0.002356, 0.003965, -0.007212> + 6717: < 0.002333, 0.004318, -0.007033> + 6718: < 0.002701, 0.004273, -0.006937> + 6719: < 0.002729, 0.003924, -0.007112> + 6720: < 0.002333, 0.004318, -0.007033> + 6721: < 0.002313, 0.004659, -0.006836> + 6722: < 0.002676, 0.004609, -0.006745> + 6723: < 0.002701, 0.004273, -0.006937> + 6724: < 0.002313, 0.004659, -0.006836> + 6725: < 0.002295, 0.004987, -0.006623> + 6726: < 0.002655, 0.004931, -0.006537> + 6727: < 0.002676, 0.004609, -0.006745> + 6728: < 0.002295, 0.004987, -0.006623> + 6729: < 0.002281, 0.005301, -0.006393> + 6730: < 0.002638, 0.005240, -0.006311> + 6731: < 0.002655, 0.004931, -0.006537> + 6732: < 0.002281, 0.005301, -0.006393> + 6733: < 0.002272, 0.005599, -0.006146> + 6734: < 0.002627, 0.005533, -0.006069> + 6735: < 0.002638, 0.005240, -0.006311> + 6736: < 0.002627, -0.005533, -0.006069> + 6737: < 0.002638, -0.005240, -0.006311> + 6738: < 0.002984, -0.005172, -0.006219> + 6739: < 0.002971, -0.005459, -0.005983> + 6740: < 0.002638, -0.005240, -0.006311> + 6741: < 0.002655, -0.004931, -0.006537> + 6742: < 0.003004, -0.004870, -0.006439> + 6743: < 0.002984, -0.005172, -0.006219> + 6744: < 0.002655, -0.004931, -0.006537> + 6745: < 0.002676, -0.004609, -0.006745> + 6746: < 0.003030, -0.004553, -0.006641> + 6747: < 0.003004, -0.004870, -0.006439> + 6748: < 0.002676, -0.004609, -0.006745> + 6749: < 0.002701, -0.004273, -0.006937> + 6750: < 0.003060, -0.004223, -0.006828> + 6751: < 0.003030, -0.004553, -0.006641> + 6752: < 0.002701, -0.004273, -0.006937> + 6753: < 0.002729, -0.003924, -0.007112> + 6754: < 0.003093, -0.003880, -0.006998> + 6755: < 0.003060, -0.004223, -0.006828> + 6756: < 0.002729, -0.003924, -0.007112> + 6757: < 0.002758, -0.003565, -0.007270> + 6758: < 0.003127, -0.003526, -0.007152> + 6759: < 0.003093, -0.003880, -0.006998> + 6760: < 0.002758, -0.003565, -0.007270> + 6761: < 0.002787, -0.003195, -0.007412> + 6762: < 0.003162, -0.003162, -0.007290> + 6763: < 0.003127, -0.003526, -0.007152> + 6764: < 0.002787, -0.003195, -0.007412> + 6765: < 0.002816, -0.002816, -0.007538> + 6766: < 0.003195, -0.002787, -0.007412> + 6767: < 0.003162, -0.003162, -0.007290> + 6768: < 0.002816, -0.002816, -0.007538> + 6769: < 0.002843, -0.002429, -0.007648> + 6770: < 0.003227, -0.002405, -0.007519> + 6771: < 0.003195, -0.002787, -0.007412> + 6772: < 0.002843, -0.002429, -0.007648> + 6773: < 0.002868, -0.002035, -0.007740> + 6774: < 0.003255, -0.002015, -0.007610> + 6775: < 0.003227, -0.002405, -0.007519> + 6776: < 0.002868, -0.002035, -0.007740> + 6777: < 0.002890, -0.001635, -0.007817> + 6778: < 0.003281, -0.001619, -0.007684> + 6779: < 0.003255, -0.002015, -0.007610> + 6780: < 0.002890, -0.001635, -0.007817> + 6781: < 0.002908, -0.001230, -0.007876> + 6782: < 0.003302, -0.001219, -0.007743> + 6783: < 0.003281, -0.001619, -0.007684> + 6784: < 0.002908, -0.001230, -0.007876> + 6785: < 0.002922, -0.000822, -0.007919> + 6786: < 0.003318, -0.000814, -0.007785> + 6787: < 0.003302, -0.001219, -0.007743> + 6788: < 0.002922, -0.000822, -0.007919> + 6789: < 0.002931, -0.000412, -0.007945> + 6790: < 0.003328, -0.000408, -0.007810> + 6791: < 0.003318, -0.000814, -0.007785> + 6792: < 0.002931, -0.000412, -0.007945> + 6793: < 0.002934, 0.000000, -0.007953> + 6794: < 0.003331, 0.000000, -0.007818> + 6795: < 0.003328, -0.000408, -0.007810> + 6796: < 0.002934, 0.000000, -0.007953> + 6797: < 0.002931, 0.000412, -0.007945> + 6798: < 0.003328, 0.000408, -0.007810> + 6799: < 0.003331, 0.000000, -0.007818> + 6800: < 0.002931, 0.000412, -0.007945> + 6801: < 0.002922, 0.000822, -0.007919> + 6802: < 0.003318, 0.000814, -0.007785> + 6803: < 0.003328, 0.000408, -0.007810> + 6804: < 0.002922, 0.000822, -0.007919> + 6805: < 0.002908, 0.001230, -0.007876> + 6806: < 0.003302, 0.001219, -0.007743> + 6807: < 0.003318, 0.000814, -0.007785> + 6808: < 0.002908, 0.001230, -0.007876> + 6809: < 0.002890, 0.001635, -0.007817> + 6810: < 0.003281, 0.001619, -0.007684> + 6811: < 0.003302, 0.001219, -0.007743> + 6812: < 0.002890, 0.001635, -0.007817> + 6813: < 0.002868, 0.002035, -0.007740> + 6814: < 0.003255, 0.002015, -0.007610> + 6815: < 0.003281, 0.001619, -0.007684> + 6816: < 0.002868, 0.002035, -0.007740> + 6817: < 0.002843, 0.002429, -0.007648> + 6818: < 0.003227, 0.002405, -0.007519> + 6819: < 0.003255, 0.002015, -0.007610> + 6820: < 0.002843, 0.002429, -0.007648> + 6821: < 0.002816, 0.002816, -0.007538> + 6822: < 0.003195, 0.002787, -0.007412> + 6823: < 0.003227, 0.002405, -0.007519> + 6824: < 0.002816, 0.002816, -0.007538> + 6825: < 0.002787, 0.003195, -0.007412> + 6826: < 0.003162, 0.003162, -0.007290> + 6827: < 0.003195, 0.002787, -0.007412> + 6828: < 0.002787, 0.003195, -0.007412> + 6829: < 0.002758, 0.003565, -0.007270> + 6830: < 0.003127, 0.003526, -0.007152> + 6831: < 0.003162, 0.003162, -0.007290> + 6832: < 0.002758, 0.003565, -0.007270> + 6833: < 0.002729, 0.003924, -0.007112> + 6834: < 0.003093, 0.003880, -0.006998> + 6835: < 0.003127, 0.003526, -0.007152> + 6836: < 0.002729, 0.003924, -0.007112> + 6837: < 0.002701, 0.004273, -0.006937> + 6838: < 0.003060, 0.004223, -0.006828> + 6839: < 0.003093, 0.003880, -0.006998> + 6840: < 0.002701, 0.004273, -0.006937> + 6841: < 0.002676, 0.004609, -0.006745> + 6842: < 0.003030, 0.004553, -0.006641> + 6843: < 0.003060, 0.004223, -0.006828> + 6844: < 0.002676, 0.004609, -0.006745> + 6845: < 0.002655, 0.004931, -0.006537> + 6846: < 0.003004, 0.004870, -0.006439> + 6847: < 0.003030, 0.004553, -0.006641> + 6848: < 0.002655, 0.004931, -0.006537> + 6849: < 0.002638, 0.005240, -0.006311> + 6850: < 0.002984, 0.005172, -0.006219> + 6851: < 0.003004, 0.004870, -0.006439> + 6852: < 0.002638, 0.005240, -0.006311> + 6853: < 0.002627, 0.005533, -0.006069> + 6854: < 0.002971, 0.005459, -0.005983> + 6855: < 0.002984, 0.005172, -0.006219> + 6856: < 0.002971, -0.005459, -0.005983> + 6857: < 0.002984, -0.005172, -0.006219> + 6858: < 0.003318, -0.005099, -0.006117> + 6859: < 0.003302, -0.005379, -0.005888> + 6860: < 0.002984, -0.005172, -0.006219> + 6861: < 0.003004, -0.004870, -0.006439> + 6862: < 0.003342, -0.004804, -0.006329> + 6863: < 0.003318, -0.005099, -0.006117> + 6864: < 0.003004, -0.004870, -0.006439> + 6865: < 0.003030, -0.004553, -0.006641> + 6866: < 0.003372, -0.004494, -0.006525> + 6867: < 0.003342, -0.004804, -0.006329> + 6868: < 0.003030, -0.004553, -0.006641> + 6869: < 0.003060, -0.004223, -0.006828> + 6870: < 0.003407, -0.004170, -0.006705> + 6871: < 0.003372, -0.004494, -0.006525> + 6872: < 0.003060, -0.004223, -0.006828> + 6873: < 0.003093, -0.003880, -0.006998> + 6874: < 0.003446, -0.003834, -0.006870> + 6875: < 0.003407, -0.004170, -0.006705> + 6876: < 0.003093, -0.003880, -0.006998> + 6877: < 0.003127, -0.003526, -0.007152> + 6878: < 0.003486, -0.003486, -0.007018> + 6879: < 0.003446, -0.003834, -0.006870> + 6880: < 0.003127, -0.003526, -0.007152> + 6881: < 0.003162, -0.003162, -0.007290> + 6882: < 0.003526, -0.003127, -0.007152> + 6883: < 0.003486, -0.003486, -0.007018> + 6884: < 0.003162, -0.003162, -0.007290> + 6885: < 0.003195, -0.002787, -0.007412> + 6886: < 0.003565, -0.002758, -0.007270> + 6887: < 0.003526, -0.003127, -0.007152> + 6888: < 0.003195, -0.002787, -0.007412> + 6889: < 0.003227, -0.002405, -0.007519> + 6890: < 0.003601, -0.002380, -0.007374> + 6891: < 0.003565, -0.002758, -0.007270> + 6892: < 0.003227, -0.002405, -0.007519> + 6893: < 0.003255, -0.002015, -0.007610> + 6894: < 0.003634, -0.001995, -0.007462> + 6895: < 0.003601, -0.002380, -0.007374> + 6896: < 0.003255, -0.002015, -0.007610> + 6897: < 0.003281, -0.001619, -0.007684> + 6898: < 0.003663, -0.001603, -0.007535> + 6899: < 0.003634, -0.001995, -0.007462> + 6900: < 0.003281, -0.001619, -0.007684> + 6901: < 0.003302, -0.001219, -0.007743> + 6902: < 0.003686, -0.001207, -0.007591> + 6903: < 0.003663, -0.001603, -0.007535> + 6904: < 0.003302, -0.001219, -0.007743> + 6905: < 0.003318, -0.000814, -0.007785> + 6906: < 0.003704, -0.000807, -0.007632> + 6907: < 0.003686, -0.001207, -0.007591> + 6908: < 0.003318, -0.000814, -0.007785> + 6909: < 0.003328, -0.000408, -0.007810> + 6910: < 0.003716, -0.000404, -0.007657> + 6911: < 0.003704, -0.000807, -0.007632> + 6912: < 0.003328, -0.000408, -0.007810> + 6913: < 0.003331, 0.000000, -0.007818> + 6914: < 0.003720, 0.000000, -0.007665> + 6915: < 0.003716, -0.000404, -0.007657> + 6916: < 0.003331, 0.000000, -0.007818> + 6917: < 0.003328, 0.000408, -0.007810> + 6918: < 0.003716, 0.000404, -0.007657> + 6919: < 0.003720, 0.000000, -0.007665> + 6920: < 0.003328, 0.000408, -0.007810> + 6921: < 0.003318, 0.000814, -0.007785> + 6922: < 0.003704, 0.000807, -0.007632> + 6923: < 0.003716, 0.000404, -0.007657> + 6924: < 0.003318, 0.000814, -0.007785> + 6925: < 0.003302, 0.001219, -0.007743> + 6926: < 0.003686, 0.001207, -0.007591> + 6927: < 0.003704, 0.000807, -0.007632> + 6928: < 0.003302, 0.001219, -0.007743> + 6929: < 0.003281, 0.001619, -0.007684> + 6930: < 0.003663, 0.001603, -0.007535> + 6931: < 0.003686, 0.001207, -0.007591> + 6932: < 0.003281, 0.001619, -0.007684> + 6933: < 0.003255, 0.002015, -0.007610> + 6934: < 0.003634, 0.001995, -0.007462> + 6935: < 0.003663, 0.001603, -0.007535> + 6936: < 0.003255, 0.002015, -0.007610> + 6937: < 0.003227, 0.002405, -0.007519> + 6938: < 0.003601, 0.002380, -0.007374> + 6939: < 0.003634, 0.001995, -0.007462> + 6940: < 0.003227, 0.002405, -0.007519> + 6941: < 0.003195, 0.002787, -0.007412> + 6942: < 0.003565, 0.002758, -0.007270> + 6943: < 0.003601, 0.002380, -0.007374> + 6944: < 0.003195, 0.002787, -0.007412> + 6945: < 0.003162, 0.003162, -0.007290> + 6946: < 0.003526, 0.003127, -0.007152> + 6947: < 0.003565, 0.002758, -0.007270> + 6948: < 0.003162, 0.003162, -0.007290> + 6949: < 0.003127, 0.003526, -0.007152> + 6950: < 0.003486, 0.003486, -0.007018> + 6951: < 0.003526, 0.003127, -0.007152> + 6952: < 0.003127, 0.003526, -0.007152> + 6953: < 0.003093, 0.003880, -0.006998> + 6954: < 0.003446, 0.003834, -0.006870> + 6955: < 0.003486, 0.003486, -0.007018> + 6956: < 0.003093, 0.003880, -0.006998> + 6957: < 0.003060, 0.004223, -0.006828> + 6958: < 0.003407, 0.004170, -0.006705> + 6959: < 0.003446, 0.003834, -0.006870> + 6960: < 0.003060, 0.004223, -0.006828> + 6961: < 0.003030, 0.004553, -0.006641> + 6962: < 0.003372, 0.004494, -0.006525> + 6963: < 0.003407, 0.004170, -0.006705> + 6964: < 0.003030, 0.004553, -0.006641> + 6965: < 0.003004, 0.004870, -0.006439> + 6966: < 0.003342, 0.004804, -0.006329> + 6967: < 0.003372, 0.004494, -0.006525> + 6968: < 0.003004, 0.004870, -0.006439> + 6969: < 0.002984, 0.005172, -0.006219> + 6970: < 0.003318, 0.005099, -0.006117> + 6971: < 0.003342, 0.004804, -0.006329> + 6972: < 0.002984, 0.005172, -0.006219> + 6973: < 0.002971, 0.005459, -0.005983> + 6974: < 0.003302, 0.005379, -0.005888> + 6975: < 0.003318, 0.005099, -0.006117> + 6976: < 0.003302, -0.005379, -0.005888> + 6977: < 0.003318, -0.005099, -0.006117> + 6978: < 0.003637, -0.005023, -0.006006> + 6979: < 0.003619, -0.005294, -0.005786> + 6980: < 0.003318, -0.005099, -0.006117> + 6981: < 0.003342, -0.004804, -0.006329> + 6982: < 0.003666, -0.004736, -0.006210> + 6983: < 0.003637, -0.005023, -0.006006> + 6984: < 0.003342, -0.004804, -0.006329> + 6985: < 0.003372, -0.004494, -0.006525> + 6986: < 0.003701, -0.004434, -0.006397> + 6987: < 0.003666, -0.004736, -0.006210> + 6988: < 0.003372, -0.004494, -0.006525> + 6989: < 0.003407, -0.004170, -0.006705> + 6990: < 0.003743, -0.004117, -0.006570> + 6991: < 0.003701, -0.004434, -0.006397> + 6992: < 0.003407, -0.004170, -0.006705> + 6993: < 0.003446, -0.003834, -0.006870> + 6994: < 0.003788, -0.003788, -0.006727> + 6995: < 0.003743, -0.004117, -0.006570> + 6996: < 0.003446, -0.003834, -0.006870> + 6997: < 0.003486, -0.003486, -0.007018> + 6998: < 0.003834, -0.003446, -0.006870> + 6999: < 0.003788, -0.003788, -0.006727> + 7000: < 0.003486, -0.003486, -0.007018> + 7001: < 0.003526, -0.003127, -0.007152> + 7002: < 0.003880, -0.003093, -0.006998> + 7003: < 0.003834, -0.003446, -0.006870> + 7004: < 0.003526, -0.003127, -0.007152> + 7005: < 0.003565, -0.002758, -0.007270> + 7006: < 0.003924, -0.002729, -0.007112> + 7007: < 0.003880, -0.003093, -0.006998> + 7008: < 0.003565, -0.002758, -0.007270> + 7009: < 0.003601, -0.002380, -0.007374> + 7010: < 0.003965, -0.002356, -0.007212> + 7011: < 0.003924, -0.002729, -0.007112> + 7012: < 0.003601, -0.002380, -0.007374> + 7013: < 0.003634, -0.001995, -0.007462> + 7014: < 0.004002, -0.001975, -0.007297> + 7015: < 0.003965, -0.002356, -0.007212> + 7016: < 0.003634, -0.001995, -0.007462> + 7017: < 0.003663, -0.001603, -0.007535> + 7018: < 0.004034, -0.001588, -0.007367> + 7019: < 0.004002, -0.001975, -0.007297> + 7020: < 0.003663, -0.001603, -0.007535> + 7021: < 0.003686, -0.001207, -0.007591> + 7022: < 0.004061, -0.001196, -0.007423> + 7023: < 0.004034, -0.001588, -0.007367> + 7024: < 0.003686, -0.001207, -0.007591> + 7025: < 0.003704, -0.000807, -0.007632> + 7026: < 0.004081, -0.000799, -0.007462> + 7027: < 0.004061, -0.001196, -0.007423> + 7028: < 0.003704, -0.000807, -0.007632> + 7029: < 0.003716, -0.000404, -0.007657> + 7030: < 0.004093, -0.000400, -0.007487> + 7031: < 0.004081, -0.000799, -0.007462> + 7032: < 0.003716, -0.000404, -0.007657> + 7033: < 0.003720, 0.000000, -0.007665> + 7034: < 0.004098, -0.000000, -0.007495> + 7035: < 0.004093, -0.000400, -0.007487> + 7036: < 0.003720, 0.000000, -0.007665> + 7037: < 0.003716, 0.000404, -0.007657> + 7038: < 0.004093, 0.000400, -0.007487> + 7039: < 0.004098, -0.000000, -0.007495> + 7040: < 0.003716, 0.000404, -0.007657> + 7041: < 0.003704, 0.000807, -0.007632> + 7042: < 0.004081, 0.000799, -0.007462> + 7043: < 0.004093, 0.000400, -0.007487> + 7044: < 0.003704, 0.000807, -0.007632> + 7045: < 0.003686, 0.001207, -0.007591> + 7046: < 0.004061, 0.001196, -0.007423> + 7047: < 0.004081, 0.000799, -0.007462> + 7048: < 0.003686, 0.001207, -0.007591> + 7049: < 0.003663, 0.001603, -0.007535> + 7050: < 0.004034, 0.001588, -0.007367> + 7051: < 0.004061, 0.001196, -0.007423> + 7052: < 0.003663, 0.001603, -0.007535> + 7053: < 0.003634, 0.001995, -0.007462> + 7054: < 0.004002, 0.001975, -0.007297> + 7055: < 0.004034, 0.001588, -0.007367> + 7056: < 0.003634, 0.001995, -0.007462> + 7057: < 0.003601, 0.002380, -0.007374> + 7058: < 0.003965, 0.002356, -0.007212> + 7059: < 0.004002, 0.001975, -0.007297> + 7060: < 0.003601, 0.002380, -0.007374> + 7061: < 0.003565, 0.002758, -0.007270> + 7062: < 0.003924, 0.002729, -0.007112> + 7063: < 0.003965, 0.002356, -0.007212> + 7064: < 0.003565, 0.002758, -0.007270> + 7065: < 0.003526, 0.003127, -0.007152> + 7066: < 0.003880, 0.003093, -0.006998> + 7067: < 0.003924, 0.002729, -0.007112> + 7068: < 0.003526, 0.003127, -0.007152> + 7069: < 0.003486, 0.003486, -0.007018> + 7070: < 0.003834, 0.003446, -0.006870> + 7071: < 0.003880, 0.003093, -0.006998> + 7072: < 0.003486, 0.003486, -0.007018> + 7073: < 0.003446, 0.003834, -0.006870> + 7074: < 0.003788, 0.003788, -0.006727> + 7075: < 0.003834, 0.003446, -0.006870> + 7076: < 0.003446, 0.003834, -0.006870> + 7077: < 0.003407, 0.004170, -0.006705> + 7078: < 0.003743, 0.004117, -0.006570> + 7079: < 0.003788, 0.003788, -0.006727> + 7080: < 0.003407, 0.004170, -0.006705> + 7081: < 0.003372, 0.004494, -0.006525> + 7082: < 0.003701, 0.004434, -0.006397> + 7083: < 0.003743, 0.004117, -0.006570> + 7084: < 0.003372, 0.004494, -0.006525> + 7085: < 0.003342, 0.004804, -0.006329> + 7086: < 0.003666, 0.004736, -0.006210> + 7087: < 0.003701, 0.004434, -0.006397> + 7088: < 0.003342, 0.004804, -0.006329> + 7089: < 0.003318, 0.005099, -0.006117> + 7090: < 0.003637, 0.005023, -0.006006> + 7091: < 0.003666, 0.004736, -0.006210> + 7092: < 0.003318, 0.005099, -0.006117> + 7093: < 0.003302, 0.005379, -0.005888> + 7094: < 0.003619, 0.005294, -0.005786> + 7095: < 0.003637, 0.005023, -0.006006> + 7096: < 0.003619, -0.005294, -0.005786> + 7097: < 0.003637, -0.005023, -0.006006> + 7098: < 0.003941, -0.004946, -0.005887> + 7099: < 0.003918, -0.005207, -0.005678> + 7100: < 0.003637, -0.005023, -0.006006> + 7101: < 0.003666, -0.004736, -0.006210> + 7102: < 0.003975, -0.004668, -0.006080> + 7103: < 0.003941, -0.004946, -0.005887> + 7104: < 0.003666, -0.004736, -0.006210> + 7105: < 0.003701, -0.004434, -0.006397> + 7106: < 0.004017, -0.004374, -0.006257> + 7107: < 0.003975, -0.004668, -0.006080> + 7108: < 0.003701, -0.004434, -0.006397> + 7109: < 0.003743, -0.004117, -0.006570> + 7110: < 0.004065, -0.004065, -0.006421> + 7111: < 0.004017, -0.004374, -0.006257> + 7112: < 0.003743, -0.004117, -0.006570> + 7113: < 0.003788, -0.003788, -0.006727> + 7114: < 0.004117, -0.003743, -0.006570> + 7115: < 0.004065, -0.004065, -0.006421> + 7116: < 0.003788, -0.003788, -0.006727> + 7117: < 0.003834, -0.003446, -0.006870> + 7118: < 0.004170, -0.003407, -0.006705> + 7119: < 0.004117, -0.003743, -0.006570> + 7120: < 0.003834, -0.003446, -0.006870> + 7121: < 0.003880, -0.003093, -0.006998> + 7122: < 0.004223, -0.003060, -0.006828> + 7123: < 0.004170, -0.003407, -0.006705> + 7124: < 0.003880, -0.003093, -0.006998> + 7125: < 0.003924, -0.002729, -0.007112> + 7126: < 0.004273, -0.002701, -0.006937> + 7127: < 0.004223, -0.003060, -0.006828> + 7128: < 0.003924, -0.002729, -0.007112> + 7129: < 0.003965, -0.002356, -0.007212> + 7130: < 0.004318, -0.002333, -0.007033> + 7131: < 0.004273, -0.002701, -0.006937> + 7132: < 0.003965, -0.002356, -0.007212> + 7133: < 0.004002, -0.001975, -0.007297> + 7134: < 0.004360, -0.001957, -0.007115> + 7135: < 0.004318, -0.002333, -0.007033> + 7136: < 0.004002, -0.001975, -0.007297> + 7137: < 0.004034, -0.001588, -0.007367> + 7138: < 0.004395, -0.001574, -0.007183> + 7139: < 0.004360, -0.001957, -0.007115> + 7140: < 0.004034, -0.001588, -0.007367> + 7141: < 0.004061, -0.001196, -0.007423> + 7142: < 0.004424, -0.001185, -0.007236> + 7143: < 0.004395, -0.001574, -0.007183> + 7144: < 0.004061, -0.001196, -0.007423> + 7145: < 0.004081, -0.000799, -0.007462> + 7146: < 0.004446, -0.000792, -0.007275> + 7147: < 0.004424, -0.001185, -0.007236> + 7148: < 0.004081, -0.000799, -0.007462> + 7149: < 0.004093, -0.000400, -0.007487> + 7150: < 0.004460, -0.000397, -0.007298> + 7151: < 0.004446, -0.000792, -0.007275> + 7152: < 0.004093, -0.000400, -0.007487> + 7153: < 0.004098, -0.000000, -0.007495> + 7154: < 0.004465, 0.000000, -0.007306> + 7155: < 0.004460, -0.000397, -0.007298> + 7156: < 0.004098, -0.000000, -0.007495> + 7157: < 0.004093, 0.000400, -0.007487> + 7158: < 0.004460, 0.000397, -0.007298> + 7159: < 0.004465, 0.000000, -0.007306> + 7160: < 0.004093, 0.000400, -0.007487> + 7161: < 0.004081, 0.000799, -0.007462> + 7162: < 0.004446, 0.000792, -0.007275> + 7163: < 0.004460, 0.000397, -0.007298> + 7164: < 0.004081, 0.000799, -0.007462> + 7165: < 0.004061, 0.001196, -0.007423> + 7166: < 0.004424, 0.001185, -0.007236> + 7167: < 0.004446, 0.000792, -0.007275> + 7168: < 0.004061, 0.001196, -0.007423> + 7169: < 0.004034, 0.001588, -0.007367> + 7170: < 0.004395, 0.001574, -0.007183> + 7171: < 0.004424, 0.001185, -0.007236> + 7172: < 0.004034, 0.001588, -0.007367> + 7173: < 0.004002, 0.001975, -0.007297> + 7174: < 0.004360, 0.001957, -0.007115> + 7175: < 0.004395, 0.001574, -0.007183> + 7176: < 0.004002, 0.001975, -0.007297> + 7177: < 0.003965, 0.002356, -0.007212> + 7178: < 0.004318, 0.002333, -0.007033> + 7179: < 0.004360, 0.001957, -0.007115> + 7180: < 0.003965, 0.002356, -0.007212> + 7181: < 0.003924, 0.002729, -0.007112> + 7182: < 0.004273, 0.002701, -0.006937> + 7183: < 0.004318, 0.002333, -0.007033> + 7184: < 0.003924, 0.002729, -0.007112> + 7185: < 0.003880, 0.003093, -0.006998> + 7186: < 0.004223, 0.003060, -0.006828> + 7187: < 0.004273, 0.002701, -0.006937> + 7188: < 0.003880, 0.003093, -0.006998> + 7189: < 0.003834, 0.003446, -0.006870> + 7190: < 0.004170, 0.003407, -0.006705> + 7191: < 0.004223, 0.003060, -0.006828> + 7192: < 0.003834, 0.003446, -0.006870> + 7193: < 0.003788, 0.003788, -0.006727> + 7194: < 0.004117, 0.003743, -0.006570> + 7195: < 0.004170, 0.003407, -0.006705> + 7196: < 0.003788, 0.003788, -0.006727> + 7197: < 0.003743, 0.004117, -0.006570> + 7198: < 0.004065, 0.004065, -0.006421> + 7199: < 0.004117, 0.003743, -0.006570> + 7200: < 0.003743, 0.004117, -0.006570> + 7201: < 0.003701, 0.004434, -0.006397> + 7202: < 0.004017, 0.004374, -0.006257> + 7203: < 0.004065, 0.004065, -0.006421> + 7204: < 0.003701, 0.004434, -0.006397> + 7205: < 0.003666, 0.004736, -0.006210> + 7206: < 0.003975, 0.004668, -0.006080> + 7207: < 0.004017, 0.004374, -0.006257> + 7208: < 0.003666, 0.004736, -0.006210> + 7209: < 0.003637, 0.005023, -0.006006> + 7210: < 0.003941, 0.004946, -0.005887> + 7211: < 0.003975, 0.004668, -0.006080> + 7212: < 0.003637, 0.005023, -0.006006> + 7213: < 0.003619, 0.005294, -0.005786> + 7214: < 0.003918, 0.005207, -0.005678> + 7215: < 0.003941, 0.004946, -0.005887> + 7216: < 0.003918, -0.005207, -0.005678> + 7217: < 0.003941, -0.004946, -0.005887> + 7218: < 0.004226, -0.004870, -0.005760> + 7219: < 0.004199, -0.005120, -0.005564> + 7220: < 0.003941, -0.004946, -0.005887> + 7221: < 0.003975, -0.004668, -0.006080> + 7222: < 0.004267, -0.004602, -0.005939> + 7223: < 0.004226, -0.004870, -0.005760> + 7224: < 0.003975, -0.004668, -0.006080> + 7225: < 0.004017, -0.004374, -0.006257> + 7226: < 0.004318, -0.004318, -0.006105> + 7227: < 0.004267, -0.004602, -0.005939> + 7228: < 0.004017, -0.004374, -0.006257> + 7229: < 0.004065, -0.004065, -0.006421> + 7230: < 0.004374, -0.004017, -0.006257> + 7231: < 0.004318, -0.004318, -0.006105> + 7232: < 0.004065, -0.004065, -0.006421> + 7233: < 0.004117, -0.003743, -0.006570> + 7234: < 0.004434, -0.003701, -0.006397> + 7235: < 0.004374, -0.004017, -0.006257> + 7236: < 0.004117, -0.003743, -0.006570> + 7237: < 0.004170, -0.003407, -0.006705> + 7238: < 0.004494, -0.003372, -0.006525> + 7239: < 0.004434, -0.003701, -0.006397> + 7240: < 0.004170, -0.003407, -0.006705> + 7241: < 0.004223, -0.003060, -0.006828> + 7242: < 0.004553, -0.003030, -0.006641> + 7243: < 0.004494, -0.003372, -0.006525> + 7244: < 0.004223, -0.003060, -0.006828> + 7245: < 0.004273, -0.002701, -0.006937> + 7246: < 0.004609, -0.002676, -0.006745> + 7247: < 0.004553, -0.003030, -0.006641> + 7248: < 0.004273, -0.002701, -0.006937> + 7249: < 0.004318, -0.002333, -0.007033> + 7250: < 0.004659, -0.002313, -0.006836> + 7251: < 0.004609, -0.002676, -0.006745> + 7252: < 0.004318, -0.002333, -0.007033> + 7253: < 0.004360, -0.001957, -0.007115> + 7254: < 0.004705, -0.001940, -0.006915> + 7255: < 0.004659, -0.002313, -0.006836> + 7256: < 0.004360, -0.001957, -0.007115> + 7257: < 0.004395, -0.001574, -0.007183> + 7258: < 0.004744, -0.001561, -0.006980> + 7259: < 0.004705, -0.001940, -0.006915> + 7260: < 0.004395, -0.001574, -0.007183> + 7261: < 0.004424, -0.001185, -0.007236> + 7262: < 0.004776, -0.001176, -0.007032> + 7263: < 0.004744, -0.001561, -0.006980> + 7264: < 0.004424, -0.001185, -0.007236> + 7265: < 0.004446, -0.000792, -0.007275> + 7266: < 0.004800, -0.000786, -0.007069> + 7267: < 0.004776, -0.001176, -0.007032> + 7268: < 0.004446, -0.000792, -0.007275> + 7269: < 0.004460, -0.000397, -0.007298> + 7270: < 0.004815, -0.000394, -0.007092> + 7271: < 0.004800, -0.000786, -0.007069> + 7272: < 0.004460, -0.000397, -0.007298> + 7273: < 0.004465, 0.000000, -0.007306> + 7274: < 0.004820, 0.000000, -0.007099> + 7275: < 0.004815, -0.000394, -0.007092> + 7276: < 0.004465, 0.000000, -0.007306> + 7277: < 0.004460, 0.000397, -0.007298> + 7278: < 0.004815, 0.000394, -0.007092> + 7279: < 0.004820, 0.000000, -0.007099> + 7280: < 0.004460, 0.000397, -0.007298> + 7281: < 0.004446, 0.000792, -0.007275> + 7282: < 0.004800, 0.000786, -0.007069> + 7283: < 0.004815, 0.000394, -0.007092> + 7284: < 0.004446, 0.000792, -0.007275> + 7285: < 0.004424, 0.001185, -0.007236> + 7286: < 0.004776, 0.001176, -0.007032> + 7287: < 0.004800, 0.000786, -0.007069> + 7288: < 0.004424, 0.001185, -0.007236> + 7289: < 0.004395, 0.001574, -0.007183> + 7290: < 0.004744, 0.001561, -0.006980> + 7291: < 0.004776, 0.001176, -0.007032> + 7292: < 0.004395, 0.001574, -0.007183> + 7293: < 0.004360, 0.001957, -0.007115> + 7294: < 0.004705, 0.001940, -0.006915> + 7295: < 0.004744, 0.001561, -0.006980> + 7296: < 0.004360, 0.001957, -0.007115> + 7297: < 0.004318, 0.002333, -0.007033> + 7298: < 0.004659, 0.002313, -0.006836> + 7299: < 0.004705, 0.001940, -0.006915> + 7300: < 0.004318, 0.002333, -0.007033> + 7301: < 0.004273, 0.002701, -0.006937> + 7302: < 0.004609, 0.002676, -0.006745> + 7303: < 0.004659, 0.002313, -0.006836> + 7304: < 0.004273, 0.002701, -0.006937> + 7305: < 0.004223, 0.003060, -0.006828> + 7306: < 0.004553, 0.003030, -0.006641> + 7307: < 0.004609, 0.002676, -0.006745> + 7308: < 0.004223, 0.003060, -0.006828> + 7309: < 0.004170, 0.003407, -0.006705> + 7310: < 0.004494, 0.003372, -0.006525> + 7311: < 0.004553, 0.003030, -0.006641> + 7312: < 0.004170, 0.003407, -0.006705> + 7313: < 0.004117, 0.003743, -0.006570> + 7314: < 0.004434, 0.003701, -0.006397> + 7315: < 0.004494, 0.003372, -0.006525> + 7316: < 0.004117, 0.003743, -0.006570> + 7317: < 0.004065, 0.004065, -0.006421> + 7318: < 0.004374, 0.004017, -0.006257> + 7319: < 0.004434, 0.003701, -0.006397> + 7320: < 0.004065, 0.004065, -0.006421> + 7321: < 0.004017, 0.004374, -0.006257> + 7322: < 0.004318, 0.004318, -0.006105> + 7323: < 0.004374, 0.004017, -0.006257> + 7324: < 0.004017, 0.004374, -0.006257> + 7325: < 0.003975, 0.004668, -0.006080> + 7326: < 0.004267, 0.004602, -0.005939> + 7327: < 0.004318, 0.004318, -0.006105> + 7328: < 0.003975, 0.004668, -0.006080> + 7329: < 0.003941, 0.004946, -0.005887> + 7330: < 0.004226, 0.004870, -0.005760> + 7331: < 0.004267, 0.004602, -0.005939> + 7332: < 0.003941, 0.004946, -0.005887> + 7333: < 0.003918, 0.005207, -0.005678> + 7334: < 0.004199, 0.005120, -0.005564> + 7335: < 0.004226, 0.004870, -0.005760> + 7336: < 0.004199, -0.005120, -0.005564> + 7337: < 0.004226, -0.004870, -0.005760> + 7338: < 0.004494, -0.004798, -0.005623> + 7339: < 0.004460, -0.005034, -0.005446> + 7340: < 0.004226, -0.004870, -0.005760> + 7341: < 0.004267, -0.004602, -0.005939> + 7342: < 0.004542, -0.004542, -0.005788> + 7343: < 0.004494, -0.004798, -0.005623> + 7344: < 0.004267, -0.004602, -0.005939> + 7345: < 0.004318, -0.004318, -0.006105> + 7346: < 0.004602, -0.004267, -0.005939> + 7347: < 0.004542, -0.004542, -0.005788> + 7348: < 0.004318, -0.004318, -0.006105> + 7349: < 0.004374, -0.004017, -0.006257> + 7350: < 0.004668, -0.003975, -0.006080> + 7351: < 0.004602, -0.004267, -0.005939> + 7352: < 0.004374, -0.004017, -0.006257> + 7353: < 0.004434, -0.003701, -0.006397> + 7354: < 0.004736, -0.003666, -0.006210> + 7355: < 0.004668, -0.003975, -0.006080> + 7356: < 0.004434, -0.003701, -0.006397> + 7357: < 0.004494, -0.003372, -0.006525> + 7358: < 0.004804, -0.003342, -0.006329> + 7359: < 0.004736, -0.003666, -0.006210> + 7360: < 0.004494, -0.003372, -0.006525> + 7361: < 0.004553, -0.003030, -0.006641> + 7362: < 0.004870, -0.003004, -0.006439> + 7363: < 0.004804, -0.003342, -0.006329> + 7364: < 0.004553, -0.003030, -0.006641> + 7365: < 0.004609, -0.002676, -0.006745> + 7366: < 0.004931, -0.002655, -0.006537> + 7367: < 0.004870, -0.003004, -0.006439> + 7368: < 0.004609, -0.002676, -0.006745> + 7369: < 0.004659, -0.002313, -0.006836> + 7370: < 0.004987, -0.002295, -0.006623> + 7371: < 0.004931, -0.002655, -0.006537> + 7372: < 0.004659, -0.002313, -0.006836> + 7373: < 0.004705, -0.001940, -0.006915> + 7374: < 0.005037, -0.001926, -0.006698> + 7375: < 0.004987, -0.002295, -0.006623> + 7376: < 0.004705, -0.001940, -0.006915> + 7377: < 0.004744, -0.001561, -0.006980> + 7378: < 0.005080, -0.001550, -0.006761> + 7379: < 0.005037, -0.001926, -0.006698> + 7380: < 0.004744, -0.001561, -0.006980> + 7381: < 0.004776, -0.001176, -0.007032> + 7382: < 0.005114, -0.001168, -0.006810> + 7383: < 0.005080, -0.001550, -0.006761> + 7384: < 0.004776, -0.001176, -0.007032> + 7385: < 0.004800, -0.000786, -0.007069> + 7386: < 0.005140, -0.000781, -0.006846> + 7387: < 0.005114, -0.001168, -0.006810> + 7388: < 0.004800, -0.000786, -0.007069> + 7389: < 0.004815, -0.000394, -0.007092> + 7390: < 0.005156, -0.000391, -0.006868> + 7391: < 0.005140, -0.000781, -0.006846> + 7392: < 0.004815, -0.000394, -0.007092> + 7393: < 0.004820, 0.000000, -0.007099> + 7394: < 0.005162, 0.000000, -0.006875> + 7395: < 0.005156, -0.000391, -0.006868> + 7396: < 0.004820, 0.000000, -0.007099> + 7397: < 0.004815, 0.000394, -0.007092> + 7398: < 0.005156, 0.000391, -0.006868> + 7399: < 0.005162, 0.000000, -0.006875> + 7400: < 0.004815, 0.000394, -0.007092> + 7401: < 0.004800, 0.000786, -0.007069> + 7402: < 0.005140, 0.000781, -0.006846> + 7403: < 0.005156, 0.000391, -0.006868> + 7404: < 0.004800, 0.000786, -0.007069> + 7405: < 0.004776, 0.001176, -0.007032> + 7406: < 0.005114, 0.001168, -0.006810> + 7407: < 0.005140, 0.000781, -0.006846> + 7408: < 0.004776, 0.001176, -0.007032> + 7409: < 0.004744, 0.001561, -0.006980> + 7410: < 0.005080, 0.001550, -0.006761> + 7411: < 0.005114, 0.001168, -0.006810> + 7412: < 0.004744, 0.001561, -0.006980> + 7413: < 0.004705, 0.001940, -0.006915> + 7414: < 0.005037, 0.001926, -0.006698> + 7415: < 0.005080, 0.001550, -0.006761> + 7416: < 0.004705, 0.001940, -0.006915> + 7417: < 0.004659, 0.002313, -0.006836> + 7418: < 0.004987, 0.002295, -0.006623> + 7419: < 0.005037, 0.001926, -0.006698> + 7420: < 0.004659, 0.002313, -0.006836> + 7421: < 0.004609, 0.002676, -0.006745> + 7422: < 0.004931, 0.002655, -0.006537> + 7423: < 0.004987, 0.002295, -0.006623> + 7424: < 0.004609, 0.002676, -0.006745> + 7425: < 0.004553, 0.003030, -0.006641> + 7426: < 0.004870, 0.003004, -0.006439> + 7427: < 0.004931, 0.002655, -0.006537> + 7428: < 0.004553, 0.003030, -0.006641> + 7429: < 0.004494, 0.003372, -0.006525> + 7430: < 0.004804, 0.003342, -0.006329> + 7431: < 0.004870, 0.003004, -0.006439> + 7432: < 0.004494, 0.003372, -0.006525> + 7433: < 0.004434, 0.003701, -0.006397> + 7434: < 0.004736, 0.003666, -0.006210> + 7435: < 0.004804, 0.003342, -0.006329> + 7436: < 0.004434, 0.003701, -0.006397> + 7437: < 0.004374, 0.004017, -0.006257> + 7438: < 0.004668, 0.003975, -0.006080> + 7439: < 0.004736, 0.003666, -0.006210> + 7440: < 0.004374, 0.004017, -0.006257> + 7441: < 0.004318, 0.004318, -0.006105> + 7442: < 0.004602, 0.004267, -0.005939> + 7443: < 0.004668, 0.003975, -0.006080> + 7444: < 0.004318, 0.004318, -0.006105> + 7445: < 0.004267, 0.004602, -0.005939> + 7446: < 0.004542, 0.004542, -0.005788> + 7447: < 0.004602, 0.004267, -0.005939> + 7448: < 0.004267, 0.004602, -0.005939> + 7449: < 0.004226, 0.004870, -0.005760> + 7450: < 0.004494, 0.004798, -0.005623> + 7451: < 0.004542, 0.004542, -0.005788> + 7452: < 0.004226, 0.004870, -0.005760> + 7453: < 0.004199, 0.005120, -0.005564> + 7454: < 0.004460, 0.005034, -0.005446> + 7455: < 0.004494, 0.004798, -0.005623> + 7456: < 0.004460, -0.005034, -0.005446> + 7457: < 0.004494, -0.004798, -0.005623> + 7458: < 0.004738, -0.004738, -0.005479> + 7459: < 0.004691, -0.004959, -0.005326> + 7460: < 0.004494, -0.004798, -0.005623> + 7461: < 0.004542, -0.004542, -0.005788> + 7462: < 0.004798, -0.004494, -0.005623> + 7463: < 0.004738, -0.004738, -0.005479> + 7464: < 0.004542, -0.004542, -0.005788> + 7465: < 0.004602, -0.004267, -0.005939> + 7466: < 0.004870, -0.004226, -0.005760> + 7467: < 0.004798, -0.004494, -0.005623> + 7468: < 0.004602, -0.004267, -0.005939> + 7469: < 0.004668, -0.003975, -0.006080> + 7470: < 0.004946, -0.003941, -0.005887> + 7471: < 0.004870, -0.004226, -0.005760> + 7472: < 0.004668, -0.003975, -0.006080> + 7473: < 0.004736, -0.003666, -0.006210> + 7474: < 0.005023, -0.003637, -0.006006> + 7475: < 0.004946, -0.003941, -0.005887> + 7476: < 0.004736, -0.003666, -0.006210> + 7477: < 0.004804, -0.003342, -0.006329> + 7478: < 0.005099, -0.003318, -0.006117> + 7479: < 0.005023, -0.003637, -0.006006> + 7480: < 0.004804, -0.003342, -0.006329> + 7481: < 0.004870, -0.003004, -0.006439> + 7482: < 0.005172, -0.002984, -0.006219> + 7483: < 0.005099, -0.003318, -0.006117> + 7484: < 0.004870, -0.003004, -0.006439> + 7485: < 0.004931, -0.002655, -0.006537> + 7486: < 0.005240, -0.002638, -0.006311> + 7487: < 0.005172, -0.002984, -0.006219> + 7488: < 0.004931, -0.002655, -0.006537> + 7489: < 0.004987, -0.002295, -0.006623> + 7490: < 0.005301, -0.002281, -0.006393> + 7491: < 0.005240, -0.002638, -0.006311> + 7492: < 0.004987, -0.002295, -0.006623> + 7493: < 0.005037, -0.001926, -0.006698> + 7494: < 0.005355, -0.001915, -0.006464> + 7495: < 0.005301, -0.002281, -0.006393> + 7496: < 0.005037, -0.001926, -0.006698> + 7497: < 0.005080, -0.001550, -0.006761> + 7498: < 0.005401, -0.001541, -0.006523> + 7499: < 0.005355, -0.001915, -0.006464> + 7500: < 0.005080, -0.001550, -0.006761> + 7501: < 0.005114, -0.001168, -0.006810> + 7502: < 0.005438, -0.001161, -0.006570> + 7503: < 0.005401, -0.001541, -0.006523> + 7504: < 0.005114, -0.001168, -0.006810> + 7505: < 0.005140, -0.000781, -0.006846> + 7506: < 0.005466, -0.000777, -0.006605> + 7507: < 0.005438, -0.001161, -0.006570> + 7508: < 0.005140, -0.000781, -0.006846> + 7509: < 0.005156, -0.000391, -0.006868> + 7510: < 0.005483, -0.000389, -0.006626> + 7511: < 0.005466, -0.000777, -0.006605> + 7512: < 0.005156, -0.000391, -0.006868> + 7513: < 0.005162, 0.000000, -0.006875> + 7514: < 0.005489, 0.000000, -0.006633> + 7515: < 0.005483, -0.000389, -0.006626> + 7516: < 0.005162, 0.000000, -0.006875> + 7517: < 0.005156, 0.000391, -0.006868> + 7518: < 0.005483, 0.000389, -0.006626> + 7519: < 0.005489, 0.000000, -0.006633> + 7520: < 0.005156, 0.000391, -0.006868> + 7521: < 0.005140, 0.000781, -0.006846> + 7522: < 0.005466, 0.000777, -0.006605> + 7523: < 0.005483, 0.000389, -0.006626> + 7524: < 0.005140, 0.000781, -0.006846> + 7525: < 0.005114, 0.001168, -0.006810> + 7526: < 0.005438, 0.001161, -0.006570> + 7527: < 0.005466, 0.000777, -0.006605> + 7528: < 0.005114, 0.001168, -0.006810> + 7529: < 0.005080, 0.001550, -0.006761> + 7530: < 0.005401, 0.001541, -0.006523> + 7531: < 0.005438, 0.001161, -0.006570> + 7532: < 0.005080, 0.001550, -0.006761> + 7533: < 0.005037, 0.001926, -0.006698> + 7534: < 0.005355, 0.001915, -0.006464> + 7535: < 0.005401, 0.001541, -0.006523> + 7536: < 0.005037, 0.001926, -0.006698> + 7537: < 0.004987, 0.002295, -0.006623> + 7538: < 0.005301, 0.002281, -0.006393> + 7539: < 0.005355, 0.001915, -0.006464> + 7540: < 0.004987, 0.002295, -0.006623> + 7541: < 0.004931, 0.002655, -0.006537> + 7542: < 0.005240, 0.002638, -0.006311> + 7543: < 0.005301, 0.002281, -0.006393> + 7544: < 0.004931, 0.002655, -0.006537> + 7545: < 0.004870, 0.003004, -0.006439> + 7546: < 0.005172, 0.002984, -0.006219> + 7547: < 0.005240, 0.002638, -0.006311> + 7548: < 0.004870, 0.003004, -0.006439> + 7549: < 0.004804, 0.003342, -0.006329> + 7550: < 0.005099, 0.003318, -0.006117> + 7551: < 0.005172, 0.002984, -0.006219> + 7552: < 0.004804, 0.003342, -0.006329> + 7553: < 0.004736, 0.003666, -0.006210> + 7554: < 0.005023, 0.003637, -0.006006> + 7555: < 0.005099, 0.003318, -0.006117> + 7556: < 0.004736, 0.003666, -0.006210> + 7557: < 0.004668, 0.003975, -0.006080> + 7558: < 0.004946, 0.003941, -0.005887> + 7559: < 0.005023, 0.003637, -0.006006> + 7560: < 0.004668, 0.003975, -0.006080> + 7561: < 0.004602, 0.004267, -0.005939> + 7562: < 0.004870, 0.004226, -0.005760> + 7563: < 0.004946, 0.003941, -0.005887> + 7564: < 0.004602, 0.004267, -0.005939> + 7565: < 0.004542, 0.004542, -0.005788> + 7566: < 0.004798, 0.004494, -0.005623> + 7567: < 0.004870, 0.004226, -0.005760> + 7568: < 0.004542, 0.004542, -0.005788> + 7569: < 0.004494, 0.004798, -0.005623> + 7570: < 0.004738, 0.004738, -0.005479> + 7571: < 0.004798, 0.004494, -0.005623> + 7572: < 0.004494, 0.004798, -0.005623> + 7573: < 0.004460, 0.005034, -0.005446> + 7574: < 0.004691, 0.004959, -0.005326> + 7575: < 0.004738, 0.004738, -0.005479> + 7576: < 0.004691, -0.004959, -0.005326> + 7577: < 0.004738, -0.004738, -0.005479> + 7578: < 0.004959, -0.004691, -0.005326> + 7579: < 0.004894, -0.004894, -0.005206> + 7580: < 0.004738, -0.004738, -0.005479> + 7581: < 0.004798, -0.004494, -0.005623> + 7582: < 0.005034, -0.004460, -0.005446> + 7583: < 0.004959, -0.004691, -0.005326> + 7584: < 0.004798, -0.004494, -0.005623> + 7585: < 0.004870, -0.004226, -0.005760> + 7586: < 0.005120, -0.004199, -0.005564> + 7587: < 0.005034, -0.004460, -0.005446> + 7588: < 0.004870, -0.004226, -0.005760> + 7589: < 0.004946, -0.003941, -0.005887> + 7590: < 0.005207, -0.003918, -0.005678> + 7591: < 0.005120, -0.004199, -0.005564> + 7592: < 0.004946, -0.003941, -0.005887> + 7593: < 0.005023, -0.003637, -0.006006> + 7594: < 0.005294, -0.003619, -0.005786> + 7595: < 0.005207, -0.003918, -0.005678> + 7596: < 0.005023, -0.003637, -0.006006> + 7597: < 0.005099, -0.003318, -0.006117> + 7598: < 0.005379, -0.003302, -0.005888> + 7599: < 0.005294, -0.003619, -0.005786> + 7600: < 0.005099, -0.003318, -0.006117> + 7601: < 0.005172, -0.002984, -0.006219> + 7602: < 0.005459, -0.002971, -0.005983> + 7603: < 0.005379, -0.003302, -0.005888> + 7604: < 0.005172, -0.002984, -0.006219> + 7605: < 0.005240, -0.002638, -0.006311> + 7606: < 0.005533, -0.002627, -0.006069> + 7607: < 0.005459, -0.002971, -0.005983> + 7608: < 0.005240, -0.002638, -0.006311> + 7609: < 0.005301, -0.002281, -0.006393> + 7610: < 0.005599, -0.002272, -0.006146> + 7611: < 0.005533, -0.002627, -0.006069> + 7612: < 0.005301, -0.002281, -0.006393> + 7613: < 0.005355, -0.001915, -0.006464> + 7614: < 0.005657, -0.001908, -0.006212> + 7615: < 0.005599, -0.002272, -0.006146> + 7616: < 0.005355, -0.001915, -0.006464> + 7617: < 0.005401, -0.001541, -0.006523> + 7618: < 0.005707, -0.001536, -0.006269> + 7619: < 0.005657, -0.001908, -0.006212> + 7620: < 0.005401, -0.001541, -0.006523> + 7621: < 0.005438, -0.001161, -0.006570> + 7622: < 0.005747, -0.001157, -0.006313> + 7623: < 0.005707, -0.001536, -0.006269> + 7624: < 0.005438, -0.001161, -0.006570> + 7625: < 0.005466, -0.000777, -0.006605> + 7626: < 0.005776, -0.000774, -0.006346> + 7627: < 0.005747, -0.001157, -0.006313> + 7628: < 0.005466, -0.000777, -0.006605> + 7629: < 0.005483, -0.000389, -0.006626> + 7630: < 0.005794, -0.000388, -0.006366> + 7631: < 0.005776, -0.000774, -0.006346> + 7632: < 0.005483, -0.000389, -0.006626> + 7633: < 0.005489, 0.000000, -0.006633> + 7634: < 0.005801, -0.000000, -0.006373> + 7635: < 0.005794, -0.000388, -0.006366> + 7636: < 0.005489, 0.000000, -0.006633> + 7637: < 0.005483, 0.000389, -0.006626> + 7638: < 0.005794, 0.000388, -0.006366> + 7639: < 0.005801, -0.000000, -0.006373> + 7640: < 0.005483, 0.000389, -0.006626> + 7641: < 0.005466, 0.000777, -0.006605> + 7642: < 0.005776, 0.000774, -0.006346> + 7643: < 0.005794, 0.000388, -0.006366> + 7644: < 0.005466, 0.000777, -0.006605> + 7645: < 0.005438, 0.001161, -0.006570> + 7646: < 0.005747, 0.001157, -0.006313> + 7647: < 0.005776, 0.000774, -0.006346> + 7648: < 0.005438, 0.001161, -0.006570> + 7649: < 0.005401, 0.001541, -0.006523> + 7650: < 0.005707, 0.001536, -0.006269> + 7651: < 0.005747, 0.001157, -0.006313> + 7652: < 0.005401, 0.001541, -0.006523> + 7653: < 0.005355, 0.001915, -0.006464> + 7654: < 0.005657, 0.001908, -0.006212> + 7655: < 0.005707, 0.001536, -0.006269> + 7656: < 0.005355, 0.001915, -0.006464> + 7657: < 0.005301, 0.002281, -0.006393> + 7658: < 0.005599, 0.002272, -0.006146> + 7659: < 0.005657, 0.001908, -0.006212> + 7660: < 0.005301, 0.002281, -0.006393> + 7661: < 0.005240, 0.002638, -0.006311> + 7662: < 0.005533, 0.002627, -0.006069> + 7663: < 0.005599, 0.002272, -0.006146> + 7664: < 0.005240, 0.002638, -0.006311> + 7665: < 0.005172, 0.002984, -0.006219> + 7666: < 0.005459, 0.002971, -0.005983> + 7667: < 0.005533, 0.002627, -0.006069> + 7668: < 0.005172, 0.002984, -0.006219> + 7669: < 0.005099, 0.003318, -0.006117> + 7670: < 0.005379, 0.003302, -0.005888> + 7671: < 0.005459, 0.002971, -0.005983> + 7672: < 0.005099, 0.003318, -0.006117> + 7673: < 0.005023, 0.003637, -0.006006> + 7674: < 0.005294, 0.003619, -0.005786> + 7675: < 0.005379, 0.003302, -0.005888> + 7676: < 0.005023, 0.003637, -0.006006> + 7677: < 0.004946, 0.003941, -0.005887> + 7678: < 0.005207, 0.003918, -0.005678> + 7679: < 0.005294, 0.003619, -0.005786> + 7680: < 0.004946, 0.003941, -0.005887> + 7681: < 0.004870, 0.004226, -0.005760> + 7682: < 0.005120, 0.004199, -0.005564> + 7683: < 0.005207, 0.003918, -0.005678> + 7684: < 0.004870, 0.004226, -0.005760> + 7685: < 0.004798, 0.004494, -0.005623> + 7686: < 0.005034, 0.004460, -0.005446> + 7687: < 0.005120, 0.004199, -0.005564> + 7688: < 0.004798, 0.004494, -0.005623> + 7689: < 0.004738, 0.004738, -0.005479> + 7690: < 0.004959, 0.004691, -0.005326> + 7691: < 0.005034, 0.004460, -0.005446> + 7692: < 0.004738, 0.004738, -0.005479> + 7693: < 0.004691, 0.004959, -0.005326> + 7694: < 0.004894, 0.004894, -0.005206> + 7695: < 0.004959, 0.004691, -0.005326> + 7696: <-0.005000, -0.005000, -0.005000> + 7697: <-0.005081, -0.004833, -0.005081> + 7698: <-0.004894, -0.004894, -0.005206> + 7699: <-0.004833, -0.005081, -0.005081> + 7700: <-0.005081, -0.004833, -0.005081> + 7701: <-0.005166, -0.004647, -0.005166> + 7702: <-0.004959, -0.004691, -0.005326> + 7703: <-0.004894, -0.004894, -0.005206> + 7704: <-0.005166, -0.004647, -0.005166> + 7705: <-0.005255, -0.004436, -0.005255> + 7706: <-0.005034, -0.004460, -0.005446> + 7707: <-0.004959, -0.004691, -0.005326> + 7708: <-0.005255, -0.004436, -0.005255> + 7709: <-0.005351, -0.004188, -0.005351> + 7710: <-0.005120, -0.004199, -0.005564> + 7711: <-0.005034, -0.004460, -0.005446> + 7712: <-0.005351, -0.004188, -0.005351> + 7713: <-0.005451, -0.003910, -0.005451> + 7714: <-0.005207, -0.003918, -0.005678> + 7715: <-0.005120, -0.004199, -0.005564> + 7716: <-0.005451, -0.003910, -0.005451> + 7717: <-0.005549, -0.003612, -0.005549> + 7718: <-0.005294, -0.003619, -0.005786> + 7719: <-0.005207, -0.003918, -0.005678> + 7720: <-0.005549, -0.003612, -0.005549> + 7721: <-0.005642, -0.003297, -0.005642> + 7722: <-0.005379, -0.003302, -0.005888> + 7723: <-0.005294, -0.003619, -0.005786> + 7724: <-0.005642, -0.003297, -0.005642> + 7725: <-0.005729, -0.002966, -0.005729> + 7726: <-0.005459, -0.002971, -0.005983> + 7727: <-0.005379, -0.003302, -0.005888> + 7728: <-0.005729, -0.002966, -0.005729> + 7729: <-0.005809, -0.002623, -0.005809> + 7730: <-0.005533, -0.002627, -0.006069> + 7731: <-0.005459, -0.002971, -0.005983> + 7732: <-0.005809, -0.002623, -0.005809> + 7733: <-0.005881, -0.002269, -0.005881> + 7734: <-0.005599, -0.002272, -0.006146> + 7735: <-0.005533, -0.002627, -0.006069> + 7736: <-0.005881, -0.002269, -0.005881> + 7737: <-0.005944, -0.001906, -0.005944> + 7738: <-0.005657, -0.001908, -0.006212> + 7739: <-0.005599, -0.002272, -0.006146> + 7740: <-0.005944, -0.001906, -0.005944> + 7741: <-0.005996, -0.001534, -0.005996> + 7742: <-0.005707, -0.001536, -0.006269> + 7743: <-0.005657, -0.001908, -0.006212> + 7744: <-0.005996, -0.001534, -0.005996> + 7745: <-0.006039, -0.001156, -0.006039> + 7746: <-0.005747, -0.001157, -0.006313> + 7747: <-0.005707, -0.001536, -0.006269> + 7748: <-0.006039, -0.001156, -0.006039> + 7749: <-0.006070, -0.000773, -0.006070> + 7750: <-0.005776, -0.000774, -0.006346> + 7751: <-0.005747, -0.001157, -0.006313> + 7752: <-0.006070, -0.000773, -0.006070> + 7753: <-0.006089, -0.000387, -0.006089> + 7754: <-0.005794, -0.000388, -0.006366> + 7755: <-0.005776, -0.000774, -0.006346> + 7756: <-0.006089, -0.000387, -0.006089> + 7757: <-0.006096, 0.000000, -0.006096> + 7758: <-0.005801, 0.000000, -0.006373> + 7759: <-0.005794, -0.000388, -0.006366> + 7760: <-0.006096, 0.000000, -0.006096> + 7761: <-0.006089, 0.000387, -0.006089> + 7762: <-0.005794, 0.000388, -0.006366> + 7763: <-0.005801, 0.000000, -0.006373> + 7764: <-0.006089, 0.000387, -0.006089> + 7765: <-0.006070, 0.000773, -0.006070> + 7766: <-0.005776, 0.000774, -0.006346> + 7767: <-0.005794, 0.000388, -0.006366> + 7768: <-0.006070, 0.000773, -0.006070> + 7769: <-0.006039, 0.001156, -0.006039> + 7770: <-0.005747, 0.001157, -0.006313> + 7771: <-0.005776, 0.000774, -0.006346> + 7772: <-0.006039, 0.001156, -0.006039> + 7773: <-0.005996, 0.001534, -0.005996> + 7774: <-0.005707, 0.001536, -0.006269> + 7775: <-0.005747, 0.001157, -0.006313> + 7776: <-0.005996, 0.001534, -0.005996> + 7777: <-0.005944, 0.001906, -0.005944> + 7778: <-0.005657, 0.001908, -0.006212> + 7779: <-0.005707, 0.001536, -0.006269> + 7780: <-0.005944, 0.001906, -0.005944> + 7781: <-0.005881, 0.002269, -0.005881> + 7782: <-0.005599, 0.002272, -0.006146> + 7783: <-0.005657, 0.001908, -0.006212> + 7784: <-0.005881, 0.002269, -0.005881> + 7785: <-0.005809, 0.002623, -0.005809> + 7786: <-0.005533, 0.002627, -0.006069> + 7787: <-0.005599, 0.002272, -0.006146> + 7788: <-0.005809, 0.002623, -0.005809> + 7789: <-0.005729, 0.002966, -0.005729> + 7790: <-0.005459, 0.002971, -0.005983> + 7791: <-0.005533, 0.002627, -0.006069> + 7792: <-0.005729, 0.002966, -0.005729> + 7793: <-0.005642, 0.003297, -0.005642> + 7794: <-0.005379, 0.003302, -0.005888> + 7795: <-0.005459, 0.002971, -0.005983> + 7796: <-0.005642, 0.003297, -0.005642> + 7797: <-0.005549, 0.003612, -0.005549> + 7798: <-0.005294, 0.003619, -0.005786> + 7799: <-0.005379, 0.003302, -0.005888> + 7800: <-0.005549, 0.003612, -0.005549> + 7801: <-0.005451, 0.003910, -0.005451> + 7802: <-0.005207, 0.003918, -0.005678> + 7803: <-0.005294, 0.003619, -0.005786> + 7804: <-0.005451, 0.003910, -0.005451> + 7805: <-0.005351, 0.004188, -0.005351> + 7806: <-0.005120, 0.004199, -0.005564> + 7807: <-0.005207, 0.003918, -0.005678> + 7808: <-0.005351, 0.004188, -0.005351> + 7809: <-0.005255, 0.004436, -0.005255> + 7810: <-0.005034, 0.004460, -0.005446> + 7811: <-0.005120, 0.004199, -0.005564> + 7812: <-0.005255, 0.004436, -0.005255> + 7813: <-0.005166, 0.004647, -0.005166> + 7814: <-0.004959, 0.004691, -0.005326> + 7815: <-0.005034, 0.004460, -0.005446> + 7816: <-0.005166, 0.004647, -0.005166> + 7817: <-0.005081, 0.004833, -0.005081> + 7818: <-0.004894, 0.004894, -0.005206> + 7819: <-0.004959, 0.004691, -0.005326> + 7820: <-0.005081, 0.004833, -0.005081> + 7821: <-0.005000, 0.005000, -0.005000> + 7822: <-0.004833, 0.005081, -0.005081> + 7823: <-0.004894, 0.004894, -0.005206> + 7824: <-0.004894, 0.004894, -0.005206> + 7825: <-0.004833, 0.005081, -0.005081> + 7826: <-0.004647, 0.005166, -0.005166> + 7827: <-0.004691, 0.004959, -0.005326> + 7828: <-0.004691, 0.004959, -0.005326> + 7829: <-0.004647, 0.005166, -0.005166> + 7830: <-0.004436, 0.005255, -0.005255> + 7831: <-0.004460, 0.005034, -0.005446> + 7832: <-0.004460, 0.005034, -0.005446> + 7833: <-0.004436, 0.005255, -0.005255> + 7834: <-0.004188, 0.005351, -0.005351> + 7835: <-0.004199, 0.005120, -0.005564> + 7836: <-0.004199, 0.005120, -0.005564> + 7837: <-0.004188, 0.005351, -0.005351> + 7838: <-0.003910, 0.005451, -0.005451> + 7839: <-0.003918, 0.005207, -0.005678> + 7840: <-0.003918, 0.005207, -0.005678> + 7841: <-0.003910, 0.005451, -0.005451> + 7842: <-0.003612, 0.005549, -0.005549> + 7843: <-0.003619, 0.005294, -0.005786> + 7844: <-0.003619, 0.005294, -0.005786> + 7845: <-0.003612, 0.005549, -0.005549> + 7846: <-0.003297, 0.005642, -0.005642> + 7847: <-0.003302, 0.005379, -0.005888> + 7848: <-0.003302, 0.005379, -0.005888> + 7849: <-0.003297, 0.005642, -0.005642> + 7850: <-0.002966, 0.005729, -0.005729> + 7851: <-0.002971, 0.005459, -0.005983> + 7852: <-0.002971, 0.005459, -0.005983> + 7853: <-0.002966, 0.005729, -0.005729> + 7854: <-0.002623, 0.005809, -0.005809> + 7855: <-0.002627, 0.005533, -0.006069> + 7856: <-0.002627, 0.005533, -0.006069> + 7857: <-0.002623, 0.005809, -0.005809> + 7858: <-0.002269, 0.005881, -0.005881> + 7859: <-0.002272, 0.005599, -0.006146> + 7860: <-0.002272, 0.005599, -0.006146> + 7861: <-0.002269, 0.005881, -0.005881> + 7862: <-0.001906, 0.005944, -0.005944> + 7863: <-0.001908, 0.005657, -0.006212> + 7864: <-0.001908, 0.005657, -0.006212> + 7865: <-0.001906, 0.005944, -0.005944> + 7866: <-0.001534, 0.005996, -0.005996> + 7867: <-0.001536, 0.005707, -0.006269> + 7868: <-0.001536, 0.005707, -0.006269> + 7869: <-0.001534, 0.005996, -0.005996> + 7870: <-0.001156, 0.006039, -0.006039> + 7871: <-0.001157, 0.005747, -0.006313> + 7872: <-0.001157, 0.005747, -0.006313> + 7873: <-0.001156, 0.006039, -0.006039> + 7874: <-0.000773, 0.006070, -0.006070> + 7875: <-0.000774, 0.005776, -0.006346> + 7876: <-0.000774, 0.005776, -0.006346> + 7877: <-0.000773, 0.006070, -0.006070> + 7878: <-0.000387, 0.006089, -0.006089> + 7879: <-0.000388, 0.005794, -0.006366> + 7880: <-0.000388, 0.005794, -0.006366> + 7881: <-0.000387, 0.006089, -0.006089> + 7882: < 0.000000, 0.006096, -0.006096> + 7883: <-0.000000, 0.005801, -0.006373> + 7884: <-0.000000, 0.005801, -0.006373> + 7885: < 0.000000, 0.006096, -0.006096> + 7886: < 0.000387, 0.006089, -0.006089> + 7887: < 0.000388, 0.005794, -0.006366> + 7888: < 0.000388, 0.005794, -0.006366> + 7889: < 0.000387, 0.006089, -0.006089> + 7890: < 0.000773, 0.006070, -0.006070> + 7891: < 0.000774, 0.005776, -0.006346> + 7892: < 0.000774, 0.005776, -0.006346> + 7893: < 0.000773, 0.006070, -0.006070> + 7894: < 0.001156, 0.006039, -0.006039> + 7895: < 0.001157, 0.005747, -0.006313> + 7896: < 0.001157, 0.005747, -0.006313> + 7897: < 0.001156, 0.006039, -0.006039> + 7898: < 0.001534, 0.005996, -0.005996> + 7899: < 0.001536, 0.005707, -0.006269> + 7900: < 0.001536, 0.005707, -0.006269> + 7901: < 0.001534, 0.005996, -0.005996> + 7902: < 0.001906, 0.005944, -0.005944> + 7903: < 0.001908, 0.005657, -0.006212> + 7904: < 0.001908, 0.005657, -0.006212> + 7905: < 0.001906, 0.005944, -0.005944> + 7906: < 0.002269, 0.005881, -0.005881> + 7907: < 0.002272, 0.005599, -0.006146> + 7908: < 0.002272, 0.005599, -0.006146> + 7909: < 0.002269, 0.005881, -0.005881> + 7910: < 0.002623, 0.005809, -0.005809> + 7911: < 0.002627, 0.005533, -0.006069> + 7912: < 0.002627, 0.005533, -0.006069> + 7913: < 0.002623, 0.005809, -0.005809> + 7914: < 0.002966, 0.005729, -0.005729> + 7915: < 0.002971, 0.005459, -0.005983> + 7916: < 0.002971, 0.005459, -0.005983> + 7917: < 0.002966, 0.005729, -0.005729> + 7918: < 0.003297, 0.005642, -0.005642> + 7919: < 0.003302, 0.005379, -0.005888> + 7920: < 0.003302, 0.005379, -0.005888> + 7921: < 0.003297, 0.005642, -0.005642> + 7922: < 0.003612, 0.005549, -0.005549> + 7923: < 0.003619, 0.005294, -0.005786> + 7924: < 0.003619, 0.005294, -0.005786> + 7925: < 0.003612, 0.005549, -0.005549> + 7926: < 0.003910, 0.005451, -0.005451> + 7927: < 0.003918, 0.005207, -0.005678> + 7928: < 0.003918, 0.005207, -0.005678> + 7929: < 0.003910, 0.005451, -0.005451> + 7930: < 0.004188, 0.005351, -0.005351> + 7931: < 0.004199, 0.005120, -0.005564> + 7932: < 0.004199, 0.005120, -0.005564> + 7933: < 0.004188, 0.005351, -0.005351> + 7934: < 0.004436, 0.005255, -0.005255> + 7935: < 0.004460, 0.005034, -0.005446> + 7936: < 0.004460, 0.005034, -0.005446> + 7937: < 0.004436, 0.005255, -0.005255> + 7938: < 0.004647, 0.005166, -0.005166> + 7939: < 0.004691, 0.004959, -0.005326> + 7940: < 0.004691, 0.004959, -0.005326> + 7941: < 0.004647, 0.005166, -0.005166> + 7942: < 0.004833, 0.005081, -0.005081> + 7943: < 0.004894, 0.004894, -0.005206> + 7944: < 0.004894, 0.004894, -0.005206> + 7945: < 0.004833, 0.005081, -0.005081> + 7946: < 0.005000, 0.005000, -0.005000> + 7947: < 0.005081, 0.004833, -0.005081> + 7948: < 0.004959, 0.004691, -0.005326> + 7949: < 0.004894, 0.004894, -0.005206> + 7950: < 0.005081, 0.004833, -0.005081> + 7951: < 0.005166, 0.004647, -0.005166> + 7952: < 0.005034, 0.004460, -0.005446> + 7953: < 0.004959, 0.004691, -0.005326> + 7954: < 0.005166, 0.004647, -0.005166> + 7955: < 0.005255, 0.004436, -0.005255> + 7956: < 0.005120, 0.004199, -0.005564> + 7957: < 0.005034, 0.004460, -0.005446> + 7958: < 0.005255, 0.004436, -0.005255> + 7959: < 0.005351, 0.004188, -0.005351> + 7960: < 0.005207, 0.003918, -0.005678> + 7961: < 0.005120, 0.004199, -0.005564> + 7962: < 0.005351, 0.004188, -0.005351> + 7963: < 0.005451, 0.003910, -0.005451> + 7964: < 0.005294, 0.003619, -0.005786> + 7965: < 0.005207, 0.003918, -0.005678> + 7966: < 0.005451, 0.003910, -0.005451> + 7967: < 0.005549, 0.003612, -0.005549> + 7968: < 0.005379, 0.003302, -0.005888> + 7969: < 0.005294, 0.003619, -0.005786> + 7970: < 0.005549, 0.003612, -0.005549> + 7971: < 0.005642, 0.003297, -0.005642> + 7972: < 0.005459, 0.002971, -0.005983> + 7973: < 0.005379, 0.003302, -0.005888> + 7974: < 0.005642, 0.003297, -0.005642> + 7975: < 0.005729, 0.002966, -0.005729> + 7976: < 0.005533, 0.002627, -0.006069> + 7977: < 0.005459, 0.002971, -0.005983> + 7978: < 0.005729, 0.002966, -0.005729> + 7979: < 0.005809, 0.002623, -0.005809> + 7980: < 0.005599, 0.002272, -0.006146> + 7981: < 0.005533, 0.002627, -0.006069> + 7982: < 0.005809, 0.002623, -0.005809> + 7983: < 0.005881, 0.002269, -0.005881> + 7984: < 0.005657, 0.001908, -0.006212> + 7985: < 0.005599, 0.002272, -0.006146> + 7986: < 0.005881, 0.002269, -0.005881> + 7987: < 0.005944, 0.001906, -0.005944> + 7988: < 0.005707, 0.001536, -0.006269> + 7989: < 0.005657, 0.001908, -0.006212> + 7990: < 0.005944, 0.001906, -0.005944> + 7991: < 0.005996, 0.001534, -0.005996> + 7992: < 0.005747, 0.001157, -0.006313> + 7993: < 0.005707, 0.001536, -0.006269> + 7994: < 0.005996, 0.001534, -0.005996> + 7995: < 0.006039, 0.001156, -0.006039> + 7996: < 0.005776, 0.000774, -0.006346> + 7997: < 0.005747, 0.001157, -0.006313> + 7998: < 0.006039, 0.001156, -0.006039> + 7999: < 0.006070, 0.000773, -0.006070> + 8000: < 0.005794, 0.000388, -0.006366> + 8001: < 0.005776, 0.000774, -0.006346> + 8002: < 0.006070, 0.000773, -0.006070> + 8003: < 0.006089, 0.000387, -0.006089> + 8004: < 0.005801, -0.000000, -0.006373> + 8005: < 0.005794, 0.000388, -0.006366> + 8006: < 0.006089, 0.000387, -0.006089> + 8007: < 0.006096, -0.000000, -0.006096> + 8008: < 0.005794, -0.000388, -0.006366> + 8009: < 0.005801, -0.000000, -0.006373> + 8010: < 0.006096, -0.000000, -0.006096> + 8011: < 0.006089, -0.000387, -0.006089> + 8012: < 0.005776, -0.000774, -0.006346> + 8013: < 0.005794, -0.000388, -0.006366> + 8014: < 0.006089, -0.000387, -0.006089> + 8015: < 0.006070, -0.000773, -0.006070> + 8016: < 0.005747, -0.001157, -0.006313> + 8017: < 0.005776, -0.000774, -0.006346> + 8018: < 0.006070, -0.000773, -0.006070> + 8019: < 0.006039, -0.001156, -0.006039> + 8020: < 0.005707, -0.001536, -0.006269> + 8021: < 0.005747, -0.001157, -0.006313> + 8022: < 0.006039, -0.001156, -0.006039> + 8023: < 0.005996, -0.001534, -0.005996> + 8024: < 0.005657, -0.001908, -0.006212> + 8025: < 0.005707, -0.001536, -0.006269> + 8026: < 0.005996, -0.001534, -0.005996> + 8027: < 0.005944, -0.001906, -0.005944> + 8028: < 0.005599, -0.002272, -0.006146> + 8029: < 0.005657, -0.001908, -0.006212> + 8030: < 0.005944, -0.001906, -0.005944> + 8031: < 0.005881, -0.002269, -0.005881> + 8032: < 0.005533, -0.002627, -0.006069> + 8033: < 0.005599, -0.002272, -0.006146> + 8034: < 0.005881, -0.002269, -0.005881> + 8035: < 0.005809, -0.002623, -0.005809> + 8036: < 0.005459, -0.002971, -0.005983> + 8037: < 0.005533, -0.002627, -0.006069> + 8038: < 0.005809, -0.002623, -0.005809> + 8039: < 0.005729, -0.002966, -0.005729> + 8040: < 0.005379, -0.003302, -0.005888> + 8041: < 0.005459, -0.002971, -0.005983> + 8042: < 0.005729, -0.002966, -0.005729> + 8043: < 0.005642, -0.003297, -0.005642> + 8044: < 0.005294, -0.003619, -0.005786> + 8045: < 0.005379, -0.003302, -0.005888> + 8046: < 0.005642, -0.003297, -0.005642> + 8047: < 0.005549, -0.003612, -0.005549> + 8048: < 0.005207, -0.003918, -0.005678> + 8049: < 0.005294, -0.003619, -0.005786> + 8050: < 0.005549, -0.003612, -0.005549> + 8051: < 0.005451, -0.003910, -0.005451> + 8052: < 0.005120, -0.004199, -0.005564> + 8053: < 0.005207, -0.003918, -0.005678> + 8054: < 0.005451, -0.003910, -0.005451> + 8055: < 0.005351, -0.004188, -0.005351> + 8056: < 0.005034, -0.004460, -0.005446> + 8057: < 0.005120, -0.004199, -0.005564> + 8058: < 0.005351, -0.004188, -0.005351> + 8059: < 0.005255, -0.004436, -0.005255> + 8060: < 0.004959, -0.004691, -0.005326> + 8061: < 0.005034, -0.004460, -0.005446> + 8062: < 0.005255, -0.004436, -0.005255> + 8063: < 0.005166, -0.004647, -0.005166> + 8064: < 0.004894, -0.004894, -0.005206> + 8065: < 0.004959, -0.004691, -0.005326> + 8066: < 0.005166, -0.004647, -0.005166> + 8067: < 0.005081, -0.004833, -0.005081> + 8068: < 0.004833, -0.005081, -0.005081> + 8069: < 0.004894, -0.004894, -0.005206> + 8070: < 0.005081, -0.004833, -0.005081> + 8071: < 0.005000, -0.005000, -0.005000> + 8072: < 0.004647, -0.005166, -0.005166> + 8073: < 0.004691, -0.004959, -0.005326> + 8074: < 0.004894, -0.004894, -0.005206> + 8075: < 0.004833, -0.005081, -0.005081> + 8076: < 0.004436, -0.005255, -0.005255> + 8077: < 0.004460, -0.005034, -0.005446> + 8078: < 0.004691, -0.004959, -0.005326> + 8079: < 0.004647, -0.005166, -0.005166> + 8080: < 0.004188, -0.005351, -0.005351> + 8081: < 0.004199, -0.005120, -0.005564> + 8082: < 0.004460, -0.005034, -0.005446> + 8083: < 0.004436, -0.005255, -0.005255> + 8084: < 0.003910, -0.005451, -0.005451> + 8085: < 0.003918, -0.005207, -0.005678> + 8086: < 0.004199, -0.005120, -0.005564> + 8087: < 0.004188, -0.005351, -0.005351> + 8088: < 0.003612, -0.005549, -0.005549> + 8089: < 0.003619, -0.005294, -0.005786> + 8090: < 0.003918, -0.005207, -0.005678> + 8091: < 0.003910, -0.005451, -0.005451> + 8092: < 0.003297, -0.005642, -0.005642> + 8093: < 0.003302, -0.005379, -0.005888> + 8094: < 0.003619, -0.005294, -0.005786> + 8095: < 0.003612, -0.005549, -0.005549> + 8096: < 0.002966, -0.005729, -0.005729> + 8097: < 0.002971, -0.005459, -0.005983> + 8098: < 0.003302, -0.005379, -0.005888> + 8099: < 0.003297, -0.005642, -0.005642> + 8100: < 0.002623, -0.005809, -0.005809> + 8101: < 0.002627, -0.005533, -0.006069> + 8102: < 0.002971, -0.005459, -0.005983> + 8103: < 0.002966, -0.005729, -0.005729> + 8104: < 0.002269, -0.005881, -0.005881> + 8105: < 0.002272, -0.005599, -0.006146> + 8106: < 0.002627, -0.005533, -0.006069> + 8107: < 0.002623, -0.005809, -0.005809> + 8108: < 0.001906, -0.005944, -0.005944> + 8109: < 0.001908, -0.005657, -0.006212> + 8110: < 0.002272, -0.005599, -0.006146> + 8111: < 0.002269, -0.005881, -0.005881> + 8112: < 0.001534, -0.005996, -0.005996> + 8113: < 0.001536, -0.005707, -0.006269> + 8114: < 0.001908, -0.005657, -0.006212> + 8115: < 0.001906, -0.005944, -0.005944> + 8116: < 0.001156, -0.006039, -0.006039> + 8117: < 0.001157, -0.005747, -0.006313> + 8118: < 0.001536, -0.005707, -0.006269> + 8119: < 0.001534, -0.005996, -0.005996> + 8120: < 0.000773, -0.006070, -0.006070> + 8121: < 0.000774, -0.005776, -0.006346> + 8122: < 0.001157, -0.005747, -0.006313> + 8123: < 0.001156, -0.006039, -0.006039> + 8124: < 0.000387, -0.006089, -0.006089> + 8125: < 0.000388, -0.005794, -0.006366> + 8126: < 0.000774, -0.005776, -0.006346> + 8127: < 0.000773, -0.006070, -0.006070> + 8128: < 0.000000, -0.006096, -0.006096> + 8129: <-0.000000, -0.005801, -0.006373> + 8130: < 0.000388, -0.005794, -0.006366> + 8131: < 0.000387, -0.006089, -0.006089> + 8132: <-0.000387, -0.006089, -0.006089> + 8133: <-0.000388, -0.005794, -0.006366> + 8134: <-0.000000, -0.005801, -0.006373> + 8135: < 0.000000, -0.006096, -0.006096> + 8136: <-0.000773, -0.006070, -0.006070> + 8137: <-0.000774, -0.005776, -0.006346> + 8138: <-0.000388, -0.005794, -0.006366> + 8139: <-0.000387, -0.006089, -0.006089> + 8140: <-0.001156, -0.006039, -0.006039> + 8141: <-0.001157, -0.005747, -0.006313> + 8142: <-0.000774, -0.005776, -0.006346> + 8143: <-0.000773, -0.006070, -0.006070> + 8144: <-0.001534, -0.005996, -0.005996> + 8145: <-0.001536, -0.005707, -0.006269> + 8146: <-0.001157, -0.005747, -0.006313> + 8147: <-0.001156, -0.006039, -0.006039> + 8148: <-0.001906, -0.005944, -0.005944> + 8149: <-0.001908, -0.005657, -0.006212> + 8150: <-0.001536, -0.005707, -0.006269> + 8151: <-0.001534, -0.005996, -0.005996> + 8152: <-0.002269, -0.005881, -0.005881> + 8153: <-0.002272, -0.005599, -0.006146> + 8154: <-0.001908, -0.005657, -0.006212> + 8155: <-0.001906, -0.005944, -0.005944> + 8156: <-0.002623, -0.005809, -0.005809> + 8157: <-0.002627, -0.005533, -0.006069> + 8158: <-0.002272, -0.005599, -0.006146> + 8159: <-0.002269, -0.005881, -0.005881> + 8160: <-0.002966, -0.005729, -0.005729> + 8161: <-0.002971, -0.005459, -0.005983> + 8162: <-0.002627, -0.005533, -0.006069> + 8163: <-0.002623, -0.005809, -0.005809> + 8164: <-0.003297, -0.005642, -0.005642> + 8165: <-0.003302, -0.005379, -0.005888> + 8166: <-0.002971, -0.005459, -0.005983> + 8167: <-0.002966, -0.005729, -0.005729> + 8168: <-0.003612, -0.005549, -0.005549> + 8169: <-0.003619, -0.005294, -0.005786> + 8170: <-0.003302, -0.005379, -0.005888> + 8171: <-0.003297, -0.005642, -0.005642> + 8172: <-0.003910, -0.005451, -0.005451> + 8173: <-0.003918, -0.005207, -0.005678> + 8174: <-0.003619, -0.005294, -0.005786> + 8175: <-0.003612, -0.005549, -0.005549> + 8176: <-0.004188, -0.005351, -0.005351> + 8177: <-0.004199, -0.005120, -0.005564> + 8178: <-0.003918, -0.005207, -0.005678> + 8179: <-0.003910, -0.005451, -0.005451> + 8180: <-0.004436, -0.005255, -0.005255> + 8181: <-0.004460, -0.005034, -0.005446> + 8182: <-0.004199, -0.005120, -0.005564> + 8183: <-0.004188, -0.005351, -0.005351> + 8184: <-0.004647, -0.005166, -0.005166> + 8185: <-0.004691, -0.004959, -0.005326> + 8186: <-0.004460, -0.005034, -0.005446> + 8187: <-0.004436, -0.005255, -0.005255> + 8188: <-0.004833, -0.005081, -0.005081> + 8189: <-0.004894, -0.004894, -0.005206> + 8190: <-0.004691, -0.004959, -0.005326> + 8191: <-0.004647, -0.005166, -0.005166> + 8192: < 0.005206, -0.004894, -0.004894> + 8193: < 0.005326, -0.004691, -0.004959> + 8194: < 0.005479, -0.004738, -0.004738> + 8195: < 0.005326, -0.004959, -0.004691> + 8196: < 0.005326, -0.004691, -0.004959> + 8197: < 0.005446, -0.004460, -0.005034> + 8198: < 0.005623, -0.004494, -0.004798> + 8199: < 0.005479, -0.004738, -0.004738> + 8200: < 0.005446, -0.004460, -0.005034> + 8201: < 0.005564, -0.004199, -0.005120> + 8202: < 0.005760, -0.004226, -0.004870> + 8203: < 0.005623, -0.004494, -0.004798> + 8204: < 0.005564, -0.004199, -0.005120> + 8205: < 0.005678, -0.003918, -0.005207> + 8206: < 0.005887, -0.003941, -0.004946> + 8207: < 0.005760, -0.004226, -0.004870> + 8208: < 0.005678, -0.003918, -0.005207> + 8209: < 0.005786, -0.003619, -0.005294> + 8210: < 0.006006, -0.003637, -0.005023> + 8211: < 0.005887, -0.003941, -0.004946> + 8212: < 0.005786, -0.003619, -0.005294> + 8213: < 0.005888, -0.003302, -0.005379> + 8214: < 0.006117, -0.003318, -0.005099> + 8215: < 0.006006, -0.003637, -0.005023> + 8216: < 0.005888, -0.003302, -0.005379> + 8217: < 0.005983, -0.002971, -0.005459> + 8218: < 0.006219, -0.002984, -0.005172> + 8219: < 0.006117, -0.003318, -0.005099> + 8220: < 0.005983, -0.002971, -0.005459> + 8221: < 0.006069, -0.002627, -0.005533> + 8222: < 0.006311, -0.002638, -0.005240> + 8223: < 0.006219, -0.002984, -0.005172> + 8224: < 0.006069, -0.002627, -0.005533> + 8225: < 0.006146, -0.002272, -0.005599> + 8226: < 0.006393, -0.002281, -0.005301> + 8227: < 0.006311, -0.002638, -0.005240> + 8228: < 0.006146, -0.002272, -0.005599> + 8229: < 0.006212, -0.001908, -0.005657> + 8230: < 0.006464, -0.001915, -0.005355> + 8231: < 0.006393, -0.002281, -0.005301> + 8232: < 0.006212, -0.001908, -0.005657> + 8233: < 0.006269, -0.001536, -0.005707> + 8234: < 0.006523, -0.001541, -0.005401> + 8235: < 0.006464, -0.001915, -0.005355> + 8236: < 0.006269, -0.001536, -0.005707> + 8237: < 0.006313, -0.001157, -0.005747> + 8238: < 0.006570, -0.001161, -0.005438> + 8239: < 0.006523, -0.001541, -0.005401> + 8240: < 0.006313, -0.001157, -0.005747> + 8241: < 0.006346, -0.000774, -0.005776> + 8242: < 0.006605, -0.000777, -0.005466> + 8243: < 0.006570, -0.001161, -0.005438> + 8244: < 0.006346, -0.000774, -0.005776> + 8245: < 0.006366, -0.000388, -0.005794> + 8246: < 0.006626, -0.000389, -0.005483> + 8247: < 0.006605, -0.000777, -0.005466> + 8248: < 0.006366, -0.000388, -0.005794> + 8249: < 0.006373, -0.000000, -0.005801> + 8250: < 0.006633, -0.000000, -0.005489> + 8251: < 0.006626, -0.000389, -0.005483> + 8252: < 0.006373, -0.000000, -0.005801> + 8253: < 0.006366, 0.000388, -0.005794> + 8254: < 0.006626, 0.000389, -0.005483> + 8255: < 0.006633, -0.000000, -0.005489> + 8256: < 0.006366, 0.000388, -0.005794> + 8257: < 0.006346, 0.000774, -0.005776> + 8258: < 0.006605, 0.000777, -0.005466> + 8259: < 0.006626, 0.000389, -0.005483> + 8260: < 0.006346, 0.000774, -0.005776> + 8261: < 0.006313, 0.001157, -0.005747> + 8262: < 0.006570, 0.001161, -0.005438> + 8263: < 0.006605, 0.000777, -0.005466> + 8264: < 0.006313, 0.001157, -0.005747> + 8265: < 0.006269, 0.001536, -0.005707> + 8266: < 0.006523, 0.001541, -0.005401> + 8267: < 0.006570, 0.001161, -0.005438> + 8268: < 0.006269, 0.001536, -0.005707> + 8269: < 0.006212, 0.001908, -0.005657> + 8270: < 0.006464, 0.001915, -0.005355> + 8271: < 0.006523, 0.001541, -0.005401> + 8272: < 0.006212, 0.001908, -0.005657> + 8273: < 0.006146, 0.002272, -0.005599> + 8274: < 0.006393, 0.002281, -0.005301> + 8275: < 0.006464, 0.001915, -0.005355> + 8276: < 0.006146, 0.002272, -0.005599> + 8277: < 0.006069, 0.002627, -0.005533> + 8278: < 0.006311, 0.002638, -0.005240> + 8279: < 0.006393, 0.002281, -0.005301> + 8280: < 0.006069, 0.002627, -0.005533> + 8281: < 0.005983, 0.002971, -0.005459> + 8282: < 0.006219, 0.002984, -0.005172> + 8283: < 0.006311, 0.002638, -0.005240> + 8284: < 0.005983, 0.002971, -0.005459> + 8285: < 0.005888, 0.003302, -0.005379> + 8286: < 0.006117, 0.003318, -0.005099> + 8287: < 0.006219, 0.002984, -0.005172> + 8288: < 0.005888, 0.003302, -0.005379> + 8289: < 0.005786, 0.003619, -0.005294> + 8290: < 0.006006, 0.003637, -0.005023> + 8291: < 0.006117, 0.003318, -0.005099> + 8292: < 0.005786, 0.003619, -0.005294> + 8293: < 0.005678, 0.003918, -0.005207> + 8294: < 0.005887, 0.003941, -0.004946> + 8295: < 0.006006, 0.003637, -0.005023> + 8296: < 0.005678, 0.003918, -0.005207> + 8297: < 0.005564, 0.004199, -0.005120> + 8298: < 0.005760, 0.004226, -0.004870> + 8299: < 0.005887, 0.003941, -0.004946> + 8300: < 0.005564, 0.004199, -0.005120> + 8301: < 0.005446, 0.004460, -0.005034> + 8302: < 0.005623, 0.004494, -0.004798> + 8303: < 0.005760, 0.004226, -0.004870> + 8304: < 0.005446, 0.004460, -0.005034> + 8305: < 0.005326, 0.004691, -0.004959> + 8306: < 0.005479, 0.004738, -0.004738> + 8307: < 0.005623, 0.004494, -0.004798> + 8308: < 0.005326, 0.004691, -0.004959> + 8309: < 0.005206, 0.004894, -0.004894> + 8310: < 0.005326, 0.004959, -0.004691> + 8311: < 0.005479, 0.004738, -0.004738> + 8312: < 0.005326, -0.004959, -0.004691> + 8313: < 0.005479, -0.004738, -0.004738> + 8314: < 0.005623, -0.004798, -0.004494> + 8315: < 0.005446, -0.005034, -0.004460> + 8316: < 0.005479, -0.004738, -0.004738> + 8317: < 0.005623, -0.004494, -0.004798> + 8318: < 0.005788, -0.004542, -0.004542> + 8319: < 0.005623, -0.004798, -0.004494> + 8320: < 0.005623, -0.004494, -0.004798> + 8321: < 0.005760, -0.004226, -0.004870> + 8322: < 0.005939, -0.004267, -0.004602> + 8323: < 0.005788, -0.004542, -0.004542> + 8324: < 0.005760, -0.004226, -0.004870> + 8325: < 0.005887, -0.003941, -0.004946> + 8326: < 0.006080, -0.003975, -0.004668> + 8327: < 0.005939, -0.004267, -0.004602> + 8328: < 0.005887, -0.003941, -0.004946> + 8329: < 0.006006, -0.003637, -0.005023> + 8330: < 0.006210, -0.003666, -0.004736> + 8331: < 0.006080, -0.003975, -0.004668> + 8332: < 0.006006, -0.003637, -0.005023> + 8333: < 0.006117, -0.003318, -0.005099> + 8334: < 0.006329, -0.003342, -0.004804> + 8335: < 0.006210, -0.003666, -0.004736> + 8336: < 0.006117, -0.003318, -0.005099> + 8337: < 0.006219, -0.002984, -0.005172> + 8338: < 0.006439, -0.003004, -0.004870> + 8339: < 0.006329, -0.003342, -0.004804> + 8340: < 0.006219, -0.002984, -0.005172> + 8341: < 0.006311, -0.002638, -0.005240> + 8342: < 0.006537, -0.002655, -0.004931> + 8343: < 0.006439, -0.003004, -0.004870> + 8344: < 0.006311, -0.002638, -0.005240> + 8345: < 0.006393, -0.002281, -0.005301> + 8346: < 0.006623, -0.002295, -0.004987> + 8347: < 0.006537, -0.002655, -0.004931> + 8348: < 0.006393, -0.002281, -0.005301> + 8349: < 0.006464, -0.001915, -0.005355> + 8350: < 0.006698, -0.001926, -0.005037> + 8351: < 0.006623, -0.002295, -0.004987> + 8352: < 0.006464, -0.001915, -0.005355> + 8353: < 0.006523, -0.001541, -0.005401> + 8354: < 0.006761, -0.001550, -0.005080> + 8355: < 0.006698, -0.001926, -0.005037> + 8356: < 0.006523, -0.001541, -0.005401> + 8357: < 0.006570, -0.001161, -0.005438> + 8358: < 0.006810, -0.001168, -0.005114> + 8359: < 0.006761, -0.001550, -0.005080> + 8360: < 0.006570, -0.001161, -0.005438> + 8361: < 0.006605, -0.000777, -0.005466> + 8362: < 0.006846, -0.000781, -0.005140> + 8363: < 0.006810, -0.001168, -0.005114> + 8364: < 0.006605, -0.000777, -0.005466> + 8365: < 0.006626, -0.000389, -0.005483> + 8366: < 0.006868, -0.000391, -0.005156> + 8367: < 0.006846, -0.000781, -0.005140> + 8368: < 0.006626, -0.000389, -0.005483> + 8369: < 0.006633, -0.000000, -0.005489> + 8370: < 0.006875, -0.000000, -0.005162> + 8371: < 0.006868, -0.000391, -0.005156> + 8372: < 0.006633, -0.000000, -0.005489> + 8373: < 0.006626, 0.000389, -0.005483> + 8374: < 0.006868, 0.000391, -0.005156> + 8375: < 0.006875, -0.000000, -0.005162> + 8376: < 0.006626, 0.000389, -0.005483> + 8377: < 0.006605, 0.000777, -0.005466> + 8378: < 0.006846, 0.000781, -0.005140> + 8379: < 0.006868, 0.000391, -0.005156> + 8380: < 0.006605, 0.000777, -0.005466> + 8381: < 0.006570, 0.001161, -0.005438> + 8382: < 0.006810, 0.001168, -0.005114> + 8383: < 0.006846, 0.000781, -0.005140> + 8384: < 0.006570, 0.001161, -0.005438> + 8385: < 0.006523, 0.001541, -0.005401> + 8386: < 0.006761, 0.001550, -0.005080> + 8387: < 0.006810, 0.001168, -0.005114> + 8388: < 0.006523, 0.001541, -0.005401> + 8389: < 0.006464, 0.001915, -0.005355> + 8390: < 0.006698, 0.001926, -0.005037> + 8391: < 0.006761, 0.001550, -0.005080> + 8392: < 0.006464, 0.001915, -0.005355> + 8393: < 0.006393, 0.002281, -0.005301> + 8394: < 0.006623, 0.002295, -0.004987> + 8395: < 0.006698, 0.001926, -0.005037> + 8396: < 0.006393, 0.002281, -0.005301> + 8397: < 0.006311, 0.002638, -0.005240> + 8398: < 0.006537, 0.002655, -0.004931> + 8399: < 0.006623, 0.002295, -0.004987> + 8400: < 0.006311, 0.002638, -0.005240> + 8401: < 0.006219, 0.002984, -0.005172> + 8402: < 0.006439, 0.003004, -0.004870> + 8403: < 0.006537, 0.002655, -0.004931> + 8404: < 0.006219, 0.002984, -0.005172> + 8405: < 0.006117, 0.003318, -0.005099> + 8406: < 0.006329, 0.003342, -0.004804> + 8407: < 0.006439, 0.003004, -0.004870> + 8408: < 0.006117, 0.003318, -0.005099> + 8409: < 0.006006, 0.003637, -0.005023> + 8410: < 0.006210, 0.003666, -0.004736> + 8411: < 0.006329, 0.003342, -0.004804> + 8412: < 0.006006, 0.003637, -0.005023> + 8413: < 0.005887, 0.003941, -0.004946> + 8414: < 0.006080, 0.003975, -0.004668> + 8415: < 0.006210, 0.003666, -0.004736> + 8416: < 0.005887, 0.003941, -0.004946> + 8417: < 0.005760, 0.004226, -0.004870> + 8418: < 0.005939, 0.004267, -0.004602> + 8419: < 0.006080, 0.003975, -0.004668> + 8420: < 0.005760, 0.004226, -0.004870> + 8421: < 0.005623, 0.004494, -0.004798> + 8422: < 0.005788, 0.004542, -0.004542> + 8423: < 0.005939, 0.004267, -0.004602> + 8424: < 0.005623, 0.004494, -0.004798> + 8425: < 0.005479, 0.004738, -0.004738> + 8426: < 0.005623, 0.004798, -0.004494> + 8427: < 0.005788, 0.004542, -0.004542> + 8428: < 0.005479, 0.004738, -0.004738> + 8429: < 0.005326, 0.004959, -0.004691> + 8430: < 0.005446, 0.005034, -0.004460> + 8431: < 0.005623, 0.004798, -0.004494> + 8432: < 0.005446, -0.005034, -0.004460> + 8433: < 0.005623, -0.004798, -0.004494> + 8434: < 0.005760, -0.004870, -0.004226> + 8435: < 0.005564, -0.005120, -0.004199> + 8436: < 0.005623, -0.004798, -0.004494> + 8437: < 0.005788, -0.004542, -0.004542> + 8438: < 0.005939, -0.004602, -0.004267> + 8439: < 0.005760, -0.004870, -0.004226> + 8440: < 0.005788, -0.004542, -0.004542> + 8441: < 0.005939, -0.004267, -0.004602> + 8442: < 0.006105, -0.004318, -0.004318> + 8443: < 0.005939, -0.004602, -0.004267> + 8444: < 0.005939, -0.004267, -0.004602> + 8445: < 0.006080, -0.003975, -0.004668> + 8446: < 0.006257, -0.004017, -0.004374> + 8447: < 0.006105, -0.004318, -0.004318> + 8448: < 0.006080, -0.003975, -0.004668> + 8449: < 0.006210, -0.003666, -0.004736> + 8450: < 0.006397, -0.003701, -0.004434> + 8451: < 0.006257, -0.004017, -0.004374> + 8452: < 0.006210, -0.003666, -0.004736> + 8453: < 0.006329, -0.003342, -0.004804> + 8454: < 0.006525, -0.003372, -0.004494> + 8455: < 0.006397, -0.003701, -0.004434> + 8456: < 0.006329, -0.003342, -0.004804> + 8457: < 0.006439, -0.003004, -0.004870> + 8458: < 0.006641, -0.003030, -0.004553> + 8459: < 0.006525, -0.003372, -0.004494> + 8460: < 0.006439, -0.003004, -0.004870> + 8461: < 0.006537, -0.002655, -0.004931> + 8462: < 0.006745, -0.002676, -0.004609> + 8463: < 0.006641, -0.003030, -0.004553> + 8464: < 0.006537, -0.002655, -0.004931> + 8465: < 0.006623, -0.002295, -0.004987> + 8466: < 0.006836, -0.002313, -0.004659> + 8467: < 0.006745, -0.002676, -0.004609> + 8468: < 0.006623, -0.002295, -0.004987> + 8469: < 0.006698, -0.001926, -0.005037> + 8470: < 0.006915, -0.001940, -0.004705> + 8471: < 0.006836, -0.002313, -0.004659> + 8472: < 0.006698, -0.001926, -0.005037> + 8473: < 0.006761, -0.001550, -0.005080> + 8474: < 0.006980, -0.001561, -0.004744> + 8475: < 0.006915, -0.001940, -0.004705> + 8476: < 0.006761, -0.001550, -0.005080> + 8477: < 0.006810, -0.001168, -0.005114> + 8478: < 0.007032, -0.001176, -0.004776> + 8479: < 0.006980, -0.001561, -0.004744> + 8480: < 0.006810, -0.001168, -0.005114> + 8481: < 0.006846, -0.000781, -0.005140> + 8482: < 0.007069, -0.000786, -0.004800> + 8483: < 0.007032, -0.001176, -0.004776> + 8484: < 0.006846, -0.000781, -0.005140> + 8485: < 0.006868, -0.000391, -0.005156> + 8486: < 0.007092, -0.000394, -0.004815> + 8487: < 0.007069, -0.000786, -0.004800> + 8488: < 0.006868, -0.000391, -0.005156> + 8489: < 0.006875, -0.000000, -0.005162> + 8490: < 0.007099, -0.000000, -0.004820> + 8491: < 0.007092, -0.000394, -0.004815> + 8492: < 0.006875, -0.000000, -0.005162> + 8493: < 0.006868, 0.000391, -0.005156> + 8494: < 0.007092, 0.000394, -0.004815> + 8495: < 0.007099, -0.000000, -0.004820> + 8496: < 0.006868, 0.000391, -0.005156> + 8497: < 0.006846, 0.000781, -0.005140> + 8498: < 0.007069, 0.000786, -0.004800> + 8499: < 0.007092, 0.000394, -0.004815> + 8500: < 0.006846, 0.000781, -0.005140> + 8501: < 0.006810, 0.001168, -0.005114> + 8502: < 0.007032, 0.001176, -0.004776> + 8503: < 0.007069, 0.000786, -0.004800> + 8504: < 0.006810, 0.001168, -0.005114> + 8505: < 0.006761, 0.001550, -0.005080> + 8506: < 0.006980, 0.001561, -0.004744> + 8507: < 0.007032, 0.001176, -0.004776> + 8508: < 0.006761, 0.001550, -0.005080> + 8509: < 0.006698, 0.001926, -0.005037> + 8510: < 0.006915, 0.001940, -0.004705> + 8511: < 0.006980, 0.001561, -0.004744> + 8512: < 0.006698, 0.001926, -0.005037> + 8513: < 0.006623, 0.002295, -0.004987> + 8514: < 0.006836, 0.002313, -0.004659> + 8515: < 0.006915, 0.001940, -0.004705> + 8516: < 0.006623, 0.002295, -0.004987> + 8517: < 0.006537, 0.002655, -0.004931> + 8518: < 0.006745, 0.002676, -0.004609> + 8519: < 0.006836, 0.002313, -0.004659> + 8520: < 0.006537, 0.002655, -0.004931> + 8521: < 0.006439, 0.003004, -0.004870> + 8522: < 0.006641, 0.003030, -0.004553> + 8523: < 0.006745, 0.002676, -0.004609> + 8524: < 0.006439, 0.003004, -0.004870> + 8525: < 0.006329, 0.003342, -0.004804> + 8526: < 0.006525, 0.003372, -0.004494> + 8527: < 0.006641, 0.003030, -0.004553> + 8528: < 0.006329, 0.003342, -0.004804> + 8529: < 0.006210, 0.003666, -0.004736> + 8530: < 0.006397, 0.003701, -0.004434> + 8531: < 0.006525, 0.003372, -0.004494> + 8532: < 0.006210, 0.003666, -0.004736> + 8533: < 0.006080, 0.003975, -0.004668> + 8534: < 0.006257, 0.004017, -0.004374> + 8535: < 0.006397, 0.003701, -0.004434> + 8536: < 0.006080, 0.003975, -0.004668> + 8537: < 0.005939, 0.004267, -0.004602> + 8538: < 0.006105, 0.004318, -0.004318> + 8539: < 0.006257, 0.004017, -0.004374> + 8540: < 0.005939, 0.004267, -0.004602> + 8541: < 0.005788, 0.004542, -0.004542> + 8542: < 0.005939, 0.004602, -0.004267> + 8543: < 0.006105, 0.004318, -0.004318> + 8544: < 0.005788, 0.004542, -0.004542> + 8545: < 0.005623, 0.004798, -0.004494> + 8546: < 0.005760, 0.004870, -0.004226> + 8547: < 0.005939, 0.004602, -0.004267> + 8548: < 0.005623, 0.004798, -0.004494> + 8549: < 0.005446, 0.005034, -0.004460> + 8550: < 0.005564, 0.005120, -0.004199> + 8551: < 0.005760, 0.004870, -0.004226> + 8552: < 0.005564, -0.005120, -0.004199> + 8553: < 0.005760, -0.004870, -0.004226> + 8554: < 0.005887, -0.004946, -0.003941> + 8555: < 0.005678, -0.005207, -0.003918> + 8556: < 0.005760, -0.004870, -0.004226> + 8557: < 0.005939, -0.004602, -0.004267> + 8558: < 0.006080, -0.004668, -0.003975> + 8559: < 0.005887, -0.004946, -0.003941> + 8560: < 0.005939, -0.004602, -0.004267> + 8561: < 0.006105, -0.004318, -0.004318> + 8562: < 0.006257, -0.004374, -0.004017> + 8563: < 0.006080, -0.004668, -0.003975> + 8564: < 0.006105, -0.004318, -0.004318> + 8565: < 0.006257, -0.004017, -0.004374> + 8566: < 0.006421, -0.004065, -0.004065> + 8567: < 0.006257, -0.004374, -0.004017> + 8568: < 0.006257, -0.004017, -0.004374> + 8569: < 0.006397, -0.003701, -0.004434> + 8570: < 0.006570, -0.003743, -0.004117> + 8571: < 0.006421, -0.004065, -0.004065> + 8572: < 0.006397, -0.003701, -0.004434> + 8573: < 0.006525, -0.003372, -0.004494> + 8574: < 0.006705, -0.003407, -0.004170> + 8575: < 0.006570, -0.003743, -0.004117> + 8576: < 0.006525, -0.003372, -0.004494> + 8577: < 0.006641, -0.003030, -0.004553> + 8578: < 0.006828, -0.003060, -0.004223> + 8579: < 0.006705, -0.003407, -0.004170> + 8580: < 0.006641, -0.003030, -0.004553> + 8581: < 0.006745, -0.002676, -0.004609> + 8582: < 0.006937, -0.002701, -0.004273> + 8583: < 0.006828, -0.003060, -0.004223> + 8584: < 0.006745, -0.002676, -0.004609> + 8585: < 0.006836, -0.002313, -0.004659> + 8586: < 0.007033, -0.002333, -0.004318> + 8587: < 0.006937, -0.002701, -0.004273> + 8588: < 0.006836, -0.002313, -0.004659> + 8589: < 0.006915, -0.001940, -0.004705> + 8590: < 0.007115, -0.001957, -0.004360> + 8591: < 0.007033, -0.002333, -0.004318> + 8592: < 0.006915, -0.001940, -0.004705> + 8593: < 0.006980, -0.001561, -0.004744> + 8594: < 0.007183, -0.001574, -0.004395> + 8595: < 0.007115, -0.001957, -0.004360> + 8596: < 0.006980, -0.001561, -0.004744> + 8597: < 0.007032, -0.001176, -0.004776> + 8598: < 0.007236, -0.001185, -0.004424> + 8599: < 0.007183, -0.001574, -0.004395> + 8600: < 0.007032, -0.001176, -0.004776> + 8601: < 0.007069, -0.000786, -0.004800> + 8602: < 0.007275, -0.000792, -0.004446> + 8603: < 0.007236, -0.001185, -0.004424> + 8604: < 0.007069, -0.000786, -0.004800> + 8605: < 0.007092, -0.000394, -0.004815> + 8606: < 0.007298, -0.000397, -0.004460> + 8607: < 0.007275, -0.000792, -0.004446> + 8608: < 0.007092, -0.000394, -0.004815> + 8609: < 0.007099, -0.000000, -0.004820> + 8610: < 0.007306, -0.000000, -0.004465> + 8611: < 0.007298, -0.000397, -0.004460> + 8612: < 0.007099, -0.000000, -0.004820> + 8613: < 0.007092, 0.000394, -0.004815> + 8614: < 0.007298, 0.000397, -0.004460> + 8615: < 0.007306, -0.000000, -0.004465> + 8616: < 0.007092, 0.000394, -0.004815> + 8617: < 0.007069, 0.000786, -0.004800> + 8618: < 0.007275, 0.000792, -0.004446> + 8619: < 0.007298, 0.000397, -0.004460> + 8620: < 0.007069, 0.000786, -0.004800> + 8621: < 0.007032, 0.001176, -0.004776> + 8622: < 0.007236, 0.001185, -0.004424> + 8623: < 0.007275, 0.000792, -0.004446> + 8624: < 0.007032, 0.001176, -0.004776> + 8625: < 0.006980, 0.001561, -0.004744> + 8626: < 0.007183, 0.001574, -0.004395> + 8627: < 0.007236, 0.001185, -0.004424> + 8628: < 0.006980, 0.001561, -0.004744> + 8629: < 0.006915, 0.001940, -0.004705> + 8630: < 0.007115, 0.001957, -0.004360> + 8631: < 0.007183, 0.001574, -0.004395> + 8632: < 0.006915, 0.001940, -0.004705> + 8633: < 0.006836, 0.002313, -0.004659> + 8634: < 0.007033, 0.002333, -0.004318> + 8635: < 0.007115, 0.001957, -0.004360> + 8636: < 0.006836, 0.002313, -0.004659> + 8637: < 0.006745, 0.002676, -0.004609> + 8638: < 0.006937, 0.002701, -0.004273> + 8639: < 0.007033, 0.002333, -0.004318> + 8640: < 0.006745, 0.002676, -0.004609> + 8641: < 0.006641, 0.003030, -0.004553> + 8642: < 0.006828, 0.003060, -0.004223> + 8643: < 0.006937, 0.002701, -0.004273> + 8644: < 0.006641, 0.003030, -0.004553> + 8645: < 0.006525, 0.003372, -0.004494> + 8646: < 0.006705, 0.003407, -0.004170> + 8647: < 0.006828, 0.003060, -0.004223> + 8648: < 0.006525, 0.003372, -0.004494> + 8649: < 0.006397, 0.003701, -0.004434> + 8650: < 0.006570, 0.003743, -0.004117> + 8651: < 0.006705, 0.003407, -0.004170> + 8652: < 0.006397, 0.003701, -0.004434> + 8653: < 0.006257, 0.004017, -0.004374> + 8654: < 0.006421, 0.004065, -0.004065> + 8655: < 0.006570, 0.003743, -0.004117> + 8656: < 0.006257, 0.004017, -0.004374> + 8657: < 0.006105, 0.004318, -0.004318> + 8658: < 0.006257, 0.004374, -0.004017> + 8659: < 0.006421, 0.004065, -0.004065> + 8660: < 0.006105, 0.004318, -0.004318> + 8661: < 0.005939, 0.004602, -0.004267> + 8662: < 0.006080, 0.004668, -0.003975> + 8663: < 0.006257, 0.004374, -0.004017> + 8664: < 0.005939, 0.004602, -0.004267> + 8665: < 0.005760, 0.004870, -0.004226> + 8666: < 0.005887, 0.004946, -0.003941> + 8667: < 0.006080, 0.004668, -0.003975> + 8668: < 0.005760, 0.004870, -0.004226> + 8669: < 0.005564, 0.005120, -0.004199> + 8670: < 0.005678, 0.005207, -0.003918> + 8671: < 0.005887, 0.004946, -0.003941> + 8672: < 0.005678, -0.005207, -0.003918> + 8673: < 0.005887, -0.004946, -0.003941> + 8674: < 0.006006, -0.005023, -0.003637> + 8675: < 0.005786, -0.005294, -0.003619> + 8676: < 0.005887, -0.004946, -0.003941> + 8677: < 0.006080, -0.004668, -0.003975> + 8678: < 0.006210, -0.004736, -0.003666> + 8679: < 0.006006, -0.005023, -0.003637> + 8680: < 0.006080, -0.004668, -0.003975> + 8681: < 0.006257, -0.004374, -0.004017> + 8682: < 0.006397, -0.004434, -0.003701> + 8683: < 0.006210, -0.004736, -0.003666> + 8684: < 0.006257, -0.004374, -0.004017> + 8685: < 0.006421, -0.004065, -0.004065> + 8686: < 0.006570, -0.004117, -0.003743> + 8687: < 0.006397, -0.004434, -0.003701> + 8688: < 0.006421, -0.004065, -0.004065> + 8689: < 0.006570, -0.003743, -0.004117> + 8690: < 0.006727, -0.003788, -0.003788> + 8691: < 0.006570, -0.004117, -0.003743> + 8692: < 0.006570, -0.003743, -0.004117> + 8693: < 0.006705, -0.003407, -0.004170> + 8694: < 0.006870, -0.003446, -0.003834> + 8695: < 0.006727, -0.003788, -0.003788> + 8696: < 0.006705, -0.003407, -0.004170> + 8697: < 0.006828, -0.003060, -0.004223> + 8698: < 0.006998, -0.003093, -0.003880> + 8699: < 0.006870, -0.003446, -0.003834> + 8700: < 0.006828, -0.003060, -0.004223> + 8701: < 0.006937, -0.002701, -0.004273> + 8702: < 0.007112, -0.002729, -0.003924> + 8703: < 0.006998, -0.003093, -0.003880> + 8704: < 0.006937, -0.002701, -0.004273> + 8705: < 0.007033, -0.002333, -0.004318> + 8706: < 0.007212, -0.002356, -0.003965> + 8707: < 0.007112, -0.002729, -0.003924> + 8708: < 0.007033, -0.002333, -0.004318> + 8709: < 0.007115, -0.001957, -0.004360> + 8710: < 0.007297, -0.001975, -0.004002> + 8711: < 0.007212, -0.002356, -0.003965> + 8712: < 0.007115, -0.001957, -0.004360> + 8713: < 0.007183, -0.001574, -0.004395> + 8714: < 0.007367, -0.001588, -0.004034> + 8715: < 0.007297, -0.001975, -0.004002> + 8716: < 0.007183, -0.001574, -0.004395> + 8717: < 0.007236, -0.001185, -0.004424> + 8718: < 0.007423, -0.001196, -0.004061> + 8719: < 0.007367, -0.001588, -0.004034> + 8720: < 0.007236, -0.001185, -0.004424> + 8721: < 0.007275, -0.000792, -0.004446> + 8722: < 0.007462, -0.000799, -0.004081> + 8723: < 0.007423, -0.001196, -0.004061> + 8724: < 0.007275, -0.000792, -0.004446> + 8725: < 0.007298, -0.000397, -0.004460> + 8726: < 0.007487, -0.000400, -0.004093> + 8727: < 0.007462, -0.000799, -0.004081> + 8728: < 0.007298, -0.000397, -0.004460> + 8729: < 0.007306, -0.000000, -0.004465> + 8730: < 0.007495, -0.000000, -0.004098> + 8731: < 0.007487, -0.000400, -0.004093> + 8732: < 0.007306, -0.000000, -0.004465> + 8733: < 0.007298, 0.000397, -0.004460> + 8734: < 0.007487, 0.000400, -0.004093> + 8735: < 0.007495, -0.000000, -0.004098> + 8736: < 0.007298, 0.000397, -0.004460> + 8737: < 0.007275, 0.000792, -0.004446> + 8738: < 0.007462, 0.000799, -0.004081> + 8739: < 0.007487, 0.000400, -0.004093> + 8740: < 0.007275, 0.000792, -0.004446> + 8741: < 0.007236, 0.001185, -0.004424> + 8742: < 0.007423, 0.001196, -0.004061> + 8743: < 0.007462, 0.000799, -0.004081> + 8744: < 0.007236, 0.001185, -0.004424> + 8745: < 0.007183, 0.001574, -0.004395> + 8746: < 0.007367, 0.001588, -0.004034> + 8747: < 0.007423, 0.001196, -0.004061> + 8748: < 0.007183, 0.001574, -0.004395> + 8749: < 0.007115, 0.001957, -0.004360> + 8750: < 0.007297, 0.001975, -0.004002> + 8751: < 0.007367, 0.001588, -0.004034> + 8752: < 0.007115, 0.001957, -0.004360> + 8753: < 0.007033, 0.002333, -0.004318> + 8754: < 0.007212, 0.002356, -0.003965> + 8755: < 0.007297, 0.001975, -0.004002> + 8756: < 0.007033, 0.002333, -0.004318> + 8757: < 0.006937, 0.002701, -0.004273> + 8758: < 0.007112, 0.002729, -0.003924> + 8759: < 0.007212, 0.002356, -0.003965> + 8760: < 0.006937, 0.002701, -0.004273> + 8761: < 0.006828, 0.003060, -0.004223> + 8762: < 0.006998, 0.003093, -0.003880> + 8763: < 0.007112, 0.002729, -0.003924> + 8764: < 0.006828, 0.003060, -0.004223> + 8765: < 0.006705, 0.003407, -0.004170> + 8766: < 0.006870, 0.003446, -0.003834> + 8767: < 0.006998, 0.003093, -0.003880> + 8768: < 0.006705, 0.003407, -0.004170> + 8769: < 0.006570, 0.003743, -0.004117> + 8770: < 0.006727, 0.003788, -0.003788> + 8771: < 0.006870, 0.003446, -0.003834> + 8772: < 0.006570, 0.003743, -0.004117> + 8773: < 0.006421, 0.004065, -0.004065> + 8774: < 0.006570, 0.004117, -0.003743> + 8775: < 0.006727, 0.003788, -0.003788> + 8776: < 0.006421, 0.004065, -0.004065> + 8777: < 0.006257, 0.004374, -0.004017> + 8778: < 0.006397, 0.004434, -0.003701> + 8779: < 0.006570, 0.004117, -0.003743> + 8780: < 0.006257, 0.004374, -0.004017> + 8781: < 0.006080, 0.004668, -0.003975> + 8782: < 0.006210, 0.004736, -0.003666> + 8783: < 0.006397, 0.004434, -0.003701> + 8784: < 0.006080, 0.004668, -0.003975> + 8785: < 0.005887, 0.004946, -0.003941> + 8786: < 0.006006, 0.005023, -0.003637> + 8787: < 0.006210, 0.004736, -0.003666> + 8788: < 0.005887, 0.004946, -0.003941> + 8789: < 0.005678, 0.005207, -0.003918> + 8790: < 0.005786, 0.005294, -0.003619> + 8791: < 0.006006, 0.005023, -0.003637> + 8792: < 0.005786, -0.005294, -0.003619> + 8793: < 0.006006, -0.005023, -0.003637> + 8794: < 0.006117, -0.005099, -0.003318> + 8795: < 0.005888, -0.005379, -0.003302> + 8796: < 0.006006, -0.005023, -0.003637> + 8797: < 0.006210, -0.004736, -0.003666> + 8798: < 0.006329, -0.004804, -0.003342> + 8799: < 0.006117, -0.005099, -0.003318> + 8800: < 0.006210, -0.004736, -0.003666> + 8801: < 0.006397, -0.004434, -0.003701> + 8802: < 0.006525, -0.004494, -0.003372> + 8803: < 0.006329, -0.004804, -0.003342> + 8804: < 0.006397, -0.004434, -0.003701> + 8805: < 0.006570, -0.004117, -0.003743> + 8806: < 0.006705, -0.004170, -0.003407> + 8807: < 0.006525, -0.004494, -0.003372> + 8808: < 0.006570, -0.004117, -0.003743> + 8809: < 0.006727, -0.003788, -0.003788> + 8810: < 0.006870, -0.003834, -0.003446> + 8811: < 0.006705, -0.004170, -0.003407> + 8812: < 0.006727, -0.003788, -0.003788> + 8813: < 0.006870, -0.003446, -0.003834> + 8814: < 0.007018, -0.003486, -0.003486> + 8815: < 0.006870, -0.003834, -0.003446> + 8816: < 0.006870, -0.003446, -0.003834> + 8817: < 0.006998, -0.003093, -0.003880> + 8818: < 0.007152, -0.003127, -0.003526> + 8819: < 0.007018, -0.003486, -0.003486> + 8820: < 0.006998, -0.003093, -0.003880> + 8821: < 0.007112, -0.002729, -0.003924> + 8822: < 0.007270, -0.002758, -0.003565> + 8823: < 0.007152, -0.003127, -0.003526> + 8824: < 0.007112, -0.002729, -0.003924> + 8825: < 0.007212, -0.002356, -0.003965> + 8826: < 0.007374, -0.002380, -0.003601> + 8827: < 0.007270, -0.002758, -0.003565> + 8828: < 0.007212, -0.002356, -0.003965> + 8829: < 0.007297, -0.001975, -0.004002> + 8830: < 0.007462, -0.001995, -0.003634> + 8831: < 0.007374, -0.002380, -0.003601> + 8832: < 0.007297, -0.001975, -0.004002> + 8833: < 0.007367, -0.001588, -0.004034> + 8834: < 0.007535, -0.001603, -0.003663> + 8835: < 0.007462, -0.001995, -0.003634> + 8836: < 0.007367, -0.001588, -0.004034> + 8837: < 0.007423, -0.001196, -0.004061> + 8838: < 0.007591, -0.001207, -0.003686> + 8839: < 0.007535, -0.001603, -0.003663> + 8840: < 0.007423, -0.001196, -0.004061> + 8841: < 0.007462, -0.000799, -0.004081> + 8842: < 0.007632, -0.000807, -0.003704> + 8843: < 0.007591, -0.001207, -0.003686> + 8844: < 0.007462, -0.000799, -0.004081> + 8845: < 0.007487, -0.000400, -0.004093> + 8846: < 0.007657, -0.000404, -0.003716> + 8847: < 0.007632, -0.000807, -0.003704> + 8848: < 0.007487, -0.000400, -0.004093> + 8849: < 0.007495, -0.000000, -0.004098> + 8850: < 0.007665, -0.000000, -0.003720> + 8851: < 0.007657, -0.000404, -0.003716> + 8852: < 0.007495, -0.000000, -0.004098> + 8853: < 0.007487, 0.000400, -0.004093> + 8854: < 0.007657, 0.000404, -0.003716> + 8855: < 0.007665, -0.000000, -0.003720> + 8856: < 0.007487, 0.000400, -0.004093> + 8857: < 0.007462, 0.000799, -0.004081> + 8858: < 0.007632, 0.000807, -0.003704> + 8859: < 0.007657, 0.000404, -0.003716> + 8860: < 0.007462, 0.000799, -0.004081> + 8861: < 0.007423, 0.001196, -0.004061> + 8862: < 0.007591, 0.001207, -0.003686> + 8863: < 0.007632, 0.000807, -0.003704> + 8864: < 0.007423, 0.001196, -0.004061> + 8865: < 0.007367, 0.001588, -0.004034> + 8866: < 0.007535, 0.001603, -0.003663> + 8867: < 0.007591, 0.001207, -0.003686> + 8868: < 0.007367, 0.001588, -0.004034> + 8869: < 0.007297, 0.001975, -0.004002> + 8870: < 0.007462, 0.001995, -0.003634> + 8871: < 0.007535, 0.001603, -0.003663> + 8872: < 0.007297, 0.001975, -0.004002> + 8873: < 0.007212, 0.002356, -0.003965> + 8874: < 0.007374, 0.002380, -0.003601> + 8875: < 0.007462, 0.001995, -0.003634> + 8876: < 0.007212, 0.002356, -0.003965> + 8877: < 0.007112, 0.002729, -0.003924> + 8878: < 0.007270, 0.002758, -0.003565> + 8879: < 0.007374, 0.002380, -0.003601> + 8880: < 0.007112, 0.002729, -0.003924> + 8881: < 0.006998, 0.003093, -0.003880> + 8882: < 0.007152, 0.003127, -0.003526> + 8883: < 0.007270, 0.002758, -0.003565> + 8884: < 0.006998, 0.003093, -0.003880> + 8885: < 0.006870, 0.003446, -0.003834> + 8886: < 0.007018, 0.003486, -0.003486> + 8887: < 0.007152, 0.003127, -0.003526> + 8888: < 0.006870, 0.003446, -0.003834> + 8889: < 0.006727, 0.003788, -0.003788> + 8890: < 0.006870, 0.003834, -0.003446> + 8891: < 0.007018, 0.003486, -0.003486> + 8892: < 0.006727, 0.003788, -0.003788> + 8893: < 0.006570, 0.004117, -0.003743> + 8894: < 0.006705, 0.004170, -0.003407> + 8895: < 0.006870, 0.003834, -0.003446> + 8896: < 0.006570, 0.004117, -0.003743> + 8897: < 0.006397, 0.004434, -0.003701> + 8898: < 0.006525, 0.004494, -0.003372> + 8899: < 0.006705, 0.004170, -0.003407> + 8900: < 0.006397, 0.004434, -0.003701> + 8901: < 0.006210, 0.004736, -0.003666> + 8902: < 0.006329, 0.004804, -0.003342> + 8903: < 0.006525, 0.004494, -0.003372> + 8904: < 0.006210, 0.004736, -0.003666> + 8905: < 0.006006, 0.005023, -0.003637> + 8906: < 0.006117, 0.005099, -0.003318> + 8907: < 0.006329, 0.004804, -0.003342> + 8908: < 0.006006, 0.005023, -0.003637> + 8909: < 0.005786, 0.005294, -0.003619> + 8910: < 0.005888, 0.005379, -0.003302> + 8911: < 0.006117, 0.005099, -0.003318> + 8912: < 0.005888, -0.005379, -0.003302> + 8913: < 0.006117, -0.005099, -0.003318> + 8914: < 0.006219, -0.005172, -0.002984> + 8915: < 0.005983, -0.005459, -0.002971> + 8916: < 0.006117, -0.005099, -0.003318> + 8917: < 0.006329, -0.004804, -0.003342> + 8918: < 0.006439, -0.004870, -0.003004> + 8919: < 0.006219, -0.005172, -0.002984> + 8920: < 0.006329, -0.004804, -0.003342> + 8921: < 0.006525, -0.004494, -0.003372> + 8922: < 0.006641, -0.004553, -0.003030> + 8923: < 0.006439, -0.004870, -0.003004> + 8924: < 0.006525, -0.004494, -0.003372> + 8925: < 0.006705, -0.004170, -0.003407> + 8926: < 0.006828, -0.004223, -0.003060> + 8927: < 0.006641, -0.004553, -0.003030> + 8928: < 0.006705, -0.004170, -0.003407> + 8929: < 0.006870, -0.003834, -0.003446> + 8930: < 0.006998, -0.003880, -0.003093> + 8931: < 0.006828, -0.004223, -0.003060> + 8932: < 0.006870, -0.003834, -0.003446> + 8933: < 0.007018, -0.003486, -0.003486> + 8934: < 0.007152, -0.003526, -0.003127> + 8935: < 0.006998, -0.003880, -0.003093> + 8936: < 0.007018, -0.003486, -0.003486> + 8937: < 0.007152, -0.003127, -0.003526> + 8938: < 0.007290, -0.003162, -0.003162> + 8939: < 0.007152, -0.003526, -0.003127> + 8940: < 0.007152, -0.003127, -0.003526> + 8941: < 0.007270, -0.002758, -0.003565> + 8942: < 0.007412, -0.002787, -0.003195> + 8943: < 0.007290, -0.003162, -0.003162> + 8944: < 0.007270, -0.002758, -0.003565> + 8945: < 0.007374, -0.002380, -0.003601> + 8946: < 0.007519, -0.002405, -0.003227> + 8947: < 0.007412, -0.002787, -0.003195> + 8948: < 0.007374, -0.002380, -0.003601> + 8949: < 0.007462, -0.001995, -0.003634> + 8950: < 0.007610, -0.002015, -0.003255> + 8951: < 0.007519, -0.002405, -0.003227> + 8952: < 0.007462, -0.001995, -0.003634> + 8953: < 0.007535, -0.001603, -0.003663> + 8954: < 0.007684, -0.001619, -0.003281> + 8955: < 0.007610, -0.002015, -0.003255> + 8956: < 0.007535, -0.001603, -0.003663> + 8957: < 0.007591, -0.001207, -0.003686> + 8958: < 0.007743, -0.001219, -0.003302> + 8959: < 0.007684, -0.001619, -0.003281> + 8960: < 0.007591, -0.001207, -0.003686> + 8961: < 0.007632, -0.000807, -0.003704> + 8962: < 0.007785, -0.000814, -0.003318> + 8963: < 0.007743, -0.001219, -0.003302> + 8964: < 0.007632, -0.000807, -0.003704> + 8965: < 0.007657, -0.000404, -0.003716> + 8966: < 0.007810, -0.000408, -0.003328> + 8967: < 0.007785, -0.000814, -0.003318> + 8968: < 0.007657, -0.000404, -0.003716> + 8969: < 0.007665, -0.000000, -0.003720> + 8970: < 0.007818, -0.000000, -0.003331> + 8971: < 0.007810, -0.000408, -0.003328> + 8972: < 0.007665, -0.000000, -0.003720> + 8973: < 0.007657, 0.000404, -0.003716> + 8974: < 0.007810, 0.000408, -0.003328> + 8975: < 0.007818, -0.000000, -0.003331> + 8976: < 0.007657, 0.000404, -0.003716> + 8977: < 0.007632, 0.000807, -0.003704> + 8978: < 0.007785, 0.000814, -0.003318> + 8979: < 0.007810, 0.000408, -0.003328> + 8980: < 0.007632, 0.000807, -0.003704> + 8981: < 0.007591, 0.001207, -0.003686> + 8982: < 0.007743, 0.001219, -0.003302> + 8983: < 0.007785, 0.000814, -0.003318> + 8984: < 0.007591, 0.001207, -0.003686> + 8985: < 0.007535, 0.001603, -0.003663> + 8986: < 0.007684, 0.001619, -0.003281> + 8987: < 0.007743, 0.001219, -0.003302> + 8988: < 0.007535, 0.001603, -0.003663> + 8989: < 0.007462, 0.001995, -0.003634> + 8990: < 0.007610, 0.002015, -0.003255> + 8991: < 0.007684, 0.001619, -0.003281> + 8992: < 0.007462, 0.001995, -0.003634> + 8993: < 0.007374, 0.002380, -0.003601> + 8994: < 0.007519, 0.002405, -0.003227> + 8995: < 0.007610, 0.002015, -0.003255> + 8996: < 0.007374, 0.002380, -0.003601> + 8997: < 0.007270, 0.002758, -0.003565> + 8998: < 0.007412, 0.002787, -0.003195> + 8999: < 0.007519, 0.002405, -0.003227> + 9000: < 0.007270, 0.002758, -0.003565> + 9001: < 0.007152, 0.003127, -0.003526> + 9002: < 0.007290, 0.003162, -0.003162> + 9003: < 0.007412, 0.002787, -0.003195> + 9004: < 0.007152, 0.003127, -0.003526> + 9005: < 0.007018, 0.003486, -0.003486> + 9006: < 0.007152, 0.003526, -0.003127> + 9007: < 0.007290, 0.003162, -0.003162> + 9008: < 0.007018, 0.003486, -0.003486> + 9009: < 0.006870, 0.003834, -0.003446> + 9010: < 0.006998, 0.003880, -0.003093> + 9011: < 0.007152, 0.003526, -0.003127> + 9012: < 0.006870, 0.003834, -0.003446> + 9013: < 0.006705, 0.004170, -0.003407> + 9014: < 0.006828, 0.004223, -0.003060> + 9015: < 0.006998, 0.003880, -0.003093> + 9016: < 0.006705, 0.004170, -0.003407> + 9017: < 0.006525, 0.004494, -0.003372> + 9018: < 0.006641, 0.004553, -0.003030> + 9019: < 0.006828, 0.004223, -0.003060> + 9020: < 0.006525, 0.004494, -0.003372> + 9021: < 0.006329, 0.004804, -0.003342> + 9022: < 0.006439, 0.004870, -0.003004> + 9023: < 0.006641, 0.004553, -0.003030> + 9024: < 0.006329, 0.004804, -0.003342> + 9025: < 0.006117, 0.005099, -0.003318> + 9026: < 0.006219, 0.005172, -0.002984> + 9027: < 0.006439, 0.004870, -0.003004> + 9028: < 0.006117, 0.005099, -0.003318> + 9029: < 0.005888, 0.005379, -0.003302> + 9030: < 0.005983, 0.005459, -0.002971> + 9031: < 0.006219, 0.005172, -0.002984> + 9032: < 0.005983, -0.005459, -0.002971> + 9033: < 0.006219, -0.005172, -0.002984> + 9034: < 0.006311, -0.005240, -0.002638> + 9035: < 0.006069, -0.005533, -0.002627> + 9036: < 0.006219, -0.005172, -0.002984> + 9037: < 0.006439, -0.004870, -0.003004> + 9038: < 0.006537, -0.004931, -0.002655> + 9039: < 0.006311, -0.005240, -0.002638> + 9040: < 0.006439, -0.004870, -0.003004> + 9041: < 0.006641, -0.004553, -0.003030> + 9042: < 0.006745, -0.004609, -0.002676> + 9043: < 0.006537, -0.004931, -0.002655> + 9044: < 0.006641, -0.004553, -0.003030> + 9045: < 0.006828, -0.004223, -0.003060> + 9046: < 0.006937, -0.004273, -0.002701> + 9047: < 0.006745, -0.004609, -0.002676> + 9048: < 0.006828, -0.004223, -0.003060> + 9049: < 0.006998, -0.003880, -0.003093> + 9050: < 0.007112, -0.003924, -0.002729> + 9051: < 0.006937, -0.004273, -0.002701> + 9052: < 0.006998, -0.003880, -0.003093> + 9053: < 0.007152, -0.003526, -0.003127> + 9054: < 0.007270, -0.003565, -0.002758> + 9055: < 0.007112, -0.003924, -0.002729> + 9056: < 0.007152, -0.003526, -0.003127> + 9057: < 0.007290, -0.003162, -0.003162> + 9058: < 0.007412, -0.003195, -0.002787> + 9059: < 0.007270, -0.003565, -0.002758> + 9060: < 0.007290, -0.003162, -0.003162> + 9061: < 0.007412, -0.002787, -0.003195> + 9062: < 0.007538, -0.002816, -0.002816> + 9063: < 0.007412, -0.003195, -0.002787> + 9064: < 0.007412, -0.002787, -0.003195> + 9065: < 0.007519, -0.002405, -0.003227> + 9066: < 0.007648, -0.002429, -0.002843> + 9067: < 0.007538, -0.002816, -0.002816> + 9068: < 0.007519, -0.002405, -0.003227> + 9069: < 0.007610, -0.002015, -0.003255> + 9070: < 0.007740, -0.002035, -0.002868> + 9071: < 0.007648, -0.002429, -0.002843> + 9072: < 0.007610, -0.002015, -0.003255> + 9073: < 0.007684, -0.001619, -0.003281> + 9074: < 0.007817, -0.001635, -0.002890> + 9075: < 0.007740, -0.002035, -0.002868> + 9076: < 0.007684, -0.001619, -0.003281> + 9077: < 0.007743, -0.001219, -0.003302> + 9078: < 0.007876, -0.001230, -0.002908> + 9079: < 0.007817, -0.001635, -0.002890> + 9080: < 0.007743, -0.001219, -0.003302> + 9081: < 0.007785, -0.000814, -0.003318> + 9082: < 0.007919, -0.000822, -0.002922> + 9083: < 0.007876, -0.001230, -0.002908> + 9084: < 0.007785, -0.000814, -0.003318> + 9085: < 0.007810, -0.000408, -0.003328> + 9086: < 0.007945, -0.000412, -0.002931> + 9087: < 0.007919, -0.000822, -0.002922> + 9088: < 0.007810, -0.000408, -0.003328> + 9089: < 0.007818, -0.000000, -0.003331> + 9090: < 0.007953, -0.000000, -0.002934> + 9091: < 0.007945, -0.000412, -0.002931> + 9092: < 0.007818, -0.000000, -0.003331> + 9093: < 0.007810, 0.000408, -0.003328> + 9094: < 0.007945, 0.000412, -0.002931> + 9095: < 0.007953, -0.000000, -0.002934> + 9096: < 0.007810, 0.000408, -0.003328> + 9097: < 0.007785, 0.000814, -0.003318> + 9098: < 0.007919, 0.000822, -0.002922> + 9099: < 0.007945, 0.000412, -0.002931> + 9100: < 0.007785, 0.000814, -0.003318> + 9101: < 0.007743, 0.001219, -0.003302> + 9102: < 0.007876, 0.001230, -0.002908> + 9103: < 0.007919, 0.000822, -0.002922> + 9104: < 0.007743, 0.001219, -0.003302> + 9105: < 0.007684, 0.001619, -0.003281> + 9106: < 0.007817, 0.001635, -0.002890> + 9107: < 0.007876, 0.001230, -0.002908> + 9108: < 0.007684, 0.001619, -0.003281> + 9109: < 0.007610, 0.002015, -0.003255> + 9110: < 0.007740, 0.002035, -0.002868> + 9111: < 0.007817, 0.001635, -0.002890> + 9112: < 0.007610, 0.002015, -0.003255> + 9113: < 0.007519, 0.002405, -0.003227> + 9114: < 0.007648, 0.002429, -0.002843> + 9115: < 0.007740, 0.002035, -0.002868> + 9116: < 0.007519, 0.002405, -0.003227> + 9117: < 0.007412, 0.002787, -0.003195> + 9118: < 0.007538, 0.002816, -0.002816> + 9119: < 0.007648, 0.002429, -0.002843> + 9120: < 0.007412, 0.002787, -0.003195> + 9121: < 0.007290, 0.003162, -0.003162> + 9122: < 0.007412, 0.003195, -0.002787> + 9123: < 0.007538, 0.002816, -0.002816> + 9124: < 0.007290, 0.003162, -0.003162> + 9125: < 0.007152, 0.003526, -0.003127> + 9126: < 0.007270, 0.003565, -0.002758> + 9127: < 0.007412, 0.003195, -0.002787> + 9128: < 0.007152, 0.003526, -0.003127> + 9129: < 0.006998, 0.003880, -0.003093> + 9130: < 0.007112, 0.003924, -0.002729> + 9131: < 0.007270, 0.003565, -0.002758> + 9132: < 0.006998, 0.003880, -0.003093> + 9133: < 0.006828, 0.004223, -0.003060> + 9134: < 0.006937, 0.004273, -0.002701> + 9135: < 0.007112, 0.003924, -0.002729> + 9136: < 0.006828, 0.004223, -0.003060> + 9137: < 0.006641, 0.004553, -0.003030> + 9138: < 0.006745, 0.004609, -0.002676> + 9139: < 0.006937, 0.004273, -0.002701> + 9140: < 0.006641, 0.004553, -0.003030> + 9141: < 0.006439, 0.004870, -0.003004> + 9142: < 0.006537, 0.004931, -0.002655> + 9143: < 0.006745, 0.004609, -0.002676> + 9144: < 0.006439, 0.004870, -0.003004> + 9145: < 0.006219, 0.005172, -0.002984> + 9146: < 0.006311, 0.005240, -0.002638> + 9147: < 0.006537, 0.004931, -0.002655> + 9148: < 0.006219, 0.005172, -0.002984> + 9149: < 0.005983, 0.005459, -0.002971> + 9150: < 0.006069, 0.005533, -0.002627> + 9151: < 0.006311, 0.005240, -0.002638> + 9152: < 0.006069, -0.005533, -0.002627> + 9153: < 0.006311, -0.005240, -0.002638> + 9154: < 0.006393, -0.005301, -0.002281> + 9155: < 0.006146, -0.005599, -0.002272> + 9156: < 0.006311, -0.005240, -0.002638> + 9157: < 0.006537, -0.004931, -0.002655> + 9158: < 0.006623, -0.004987, -0.002295> + 9159: < 0.006393, -0.005301, -0.002281> + 9160: < 0.006537, -0.004931, -0.002655> + 9161: < 0.006745, -0.004609, -0.002676> + 9162: < 0.006836, -0.004659, -0.002313> + 9163: < 0.006623, -0.004987, -0.002295> + 9164: < 0.006745, -0.004609, -0.002676> + 9165: < 0.006937, -0.004273, -0.002701> + 9166: < 0.007033, -0.004318, -0.002333> + 9167: < 0.006836, -0.004659, -0.002313> + 9168: < 0.006937, -0.004273, -0.002701> + 9169: < 0.007112, -0.003924, -0.002729> + 9170: < 0.007212, -0.003965, -0.002356> + 9171: < 0.007033, -0.004318, -0.002333> + 9172: < 0.007112, -0.003924, -0.002729> + 9173: < 0.007270, -0.003565, -0.002758> + 9174: < 0.007374, -0.003601, -0.002380> + 9175: < 0.007212, -0.003965, -0.002356> + 9176: < 0.007270, -0.003565, -0.002758> + 9177: < 0.007412, -0.003195, -0.002787> + 9178: < 0.007519, -0.003227, -0.002405> + 9179: < 0.007374, -0.003601, -0.002380> + 9180: < 0.007412, -0.003195, -0.002787> + 9181: < 0.007538, -0.002816, -0.002816> + 9182: < 0.007648, -0.002843, -0.002429> + 9183: < 0.007519, -0.003227, -0.002405> + 9184: < 0.007538, -0.002816, -0.002816> + 9185: < 0.007648, -0.002429, -0.002843> + 9186: < 0.007759, -0.002452, -0.002452> + 9187: < 0.007648, -0.002843, -0.002429> + 9188: < 0.007648, -0.002429, -0.002843> + 9189: < 0.007740, -0.002035, -0.002868> + 9190: < 0.007854, -0.002053, -0.002473> + 9191: < 0.007759, -0.002452, -0.002452> + 9192: < 0.007740, -0.002035, -0.002868> + 9193: < 0.007817, -0.001635, -0.002890> + 9194: < 0.007932, -0.001650, -0.002492> + 9195: < 0.007854, -0.002053, -0.002473> + 9196: < 0.007817, -0.001635, -0.002890> + 9197: < 0.007876, -0.001230, -0.002908> + 9198: < 0.007992, -0.001241, -0.002507> + 9199: < 0.007932, -0.001650, -0.002492> + 9200: < 0.007876, -0.001230, -0.002908> + 9201: < 0.007919, -0.000822, -0.002922> + 9202: < 0.008036, -0.000829, -0.002519> + 9203: < 0.007992, -0.001241, -0.002507> + 9204: < 0.007919, -0.000822, -0.002922> + 9205: < 0.007945, -0.000412, -0.002931> + 9206: < 0.008062, -0.000415, -0.002527> + 9207: < 0.008036, -0.000829, -0.002519> + 9208: < 0.007945, -0.000412, -0.002931> + 9209: < 0.007953, -0.000000, -0.002934> + 9210: < 0.008070, -0.000000, -0.002530> + 9211: < 0.008062, -0.000415, -0.002527> + 9212: < 0.007953, -0.000000, -0.002934> + 9213: < 0.007945, 0.000412, -0.002931> + 9214: < 0.008062, 0.000415, -0.002527> + 9215: < 0.008070, -0.000000, -0.002530> + 9216: < 0.007945, 0.000412, -0.002931> + 9217: < 0.007919, 0.000822, -0.002922> + 9218: < 0.008036, 0.000829, -0.002519> + 9219: < 0.008062, 0.000415, -0.002527> + 9220: < 0.007919, 0.000822, -0.002922> + 9221: < 0.007876, 0.001230, -0.002908> + 9222: < 0.007992, 0.001241, -0.002507> + 9223: < 0.008036, 0.000829, -0.002519> + 9224: < 0.007876, 0.001230, -0.002908> + 9225: < 0.007817, 0.001635, -0.002890> + 9226: < 0.007932, 0.001650, -0.002492> + 9227: < 0.007992, 0.001241, -0.002507> + 9228: < 0.007817, 0.001635, -0.002890> + 9229: < 0.007740, 0.002035, -0.002868> + 9230: < 0.007854, 0.002053, -0.002473> + 9231: < 0.007932, 0.001650, -0.002492> + 9232: < 0.007740, 0.002035, -0.002868> + 9233: < 0.007648, 0.002429, -0.002843> + 9234: < 0.007759, 0.002452, -0.002452> + 9235: < 0.007854, 0.002053, -0.002473> + 9236: < 0.007648, 0.002429, -0.002843> + 9237: < 0.007538, 0.002816, -0.002816> + 9238: < 0.007648, 0.002843, -0.002429> + 9239: < 0.007759, 0.002452, -0.002452> + 9240: < 0.007538, 0.002816, -0.002816> + 9241: < 0.007412, 0.003195, -0.002787> + 9242: < 0.007519, 0.003227, -0.002405> + 9243: < 0.007648, 0.002843, -0.002429> + 9244: < 0.007412, 0.003195, -0.002787> + 9245: < 0.007270, 0.003565, -0.002758> + 9246: < 0.007374, 0.003601, -0.002380> + 9247: < 0.007519, 0.003227, -0.002405> + 9248: < 0.007270, 0.003565, -0.002758> + 9249: < 0.007112, 0.003924, -0.002729> + 9250: < 0.007212, 0.003965, -0.002356> + 9251: < 0.007374, 0.003601, -0.002380> + 9252: < 0.007112, 0.003924, -0.002729> + 9253: < 0.006937, 0.004273, -0.002701> + 9254: < 0.007033, 0.004318, -0.002333> + 9255: < 0.007212, 0.003965, -0.002356> + 9256: < 0.006937, 0.004273, -0.002701> + 9257: < 0.006745, 0.004609, -0.002676> + 9258: < 0.006836, 0.004659, -0.002313> + 9259: < 0.007033, 0.004318, -0.002333> + 9260: < 0.006745, 0.004609, -0.002676> + 9261: < 0.006537, 0.004931, -0.002655> + 9262: < 0.006623, 0.004987, -0.002295> + 9263: < 0.006836, 0.004659, -0.002313> + 9264: < 0.006537, 0.004931, -0.002655> + 9265: < 0.006311, 0.005240, -0.002638> + 9266: < 0.006393, 0.005301, -0.002281> + 9267: < 0.006623, 0.004987, -0.002295> + 9268: < 0.006311, 0.005240, -0.002638> + 9269: < 0.006069, 0.005533, -0.002627> + 9270: < 0.006146, 0.005599, -0.002272> + 9271: < 0.006393, 0.005301, -0.002281> + 9272: < 0.006146, -0.005599, -0.002272> + 9273: < 0.006393, -0.005301, -0.002281> + 9274: < 0.006464, -0.005355, -0.001915> + 9275: < 0.006212, -0.005657, -0.001908> + 9276: < 0.006393, -0.005301, -0.002281> + 9277: < 0.006623, -0.004987, -0.002295> + 9278: < 0.006698, -0.005037, -0.001926> + 9279: < 0.006464, -0.005355, -0.001915> + 9280: < 0.006623, -0.004987, -0.002295> + 9281: < 0.006836, -0.004659, -0.002313> + 9282: < 0.006915, -0.004705, -0.001940> + 9283: < 0.006698, -0.005037, -0.001926> + 9284: < 0.006836, -0.004659, -0.002313> + 9285: < 0.007033, -0.004318, -0.002333> + 9286: < 0.007115, -0.004360, -0.001957> + 9287: < 0.006915, -0.004705, -0.001940> + 9288: < 0.007033, -0.004318, -0.002333> + 9289: < 0.007212, -0.003965, -0.002356> + 9290: < 0.007297, -0.004002, -0.001975> + 9291: < 0.007115, -0.004360, -0.001957> + 9292: < 0.007212, -0.003965, -0.002356> + 9293: < 0.007374, -0.003601, -0.002380> + 9294: < 0.007462, -0.003634, -0.001995> + 9295: < 0.007297, -0.004002, -0.001975> + 9296: < 0.007374, -0.003601, -0.002380> + 9297: < 0.007519, -0.003227, -0.002405> + 9298: < 0.007610, -0.003255, -0.002015> + 9299: < 0.007462, -0.003634, -0.001995> + 9300: < 0.007519, -0.003227, -0.002405> + 9301: < 0.007648, -0.002843, -0.002429> + 9302: < 0.007740, -0.002868, -0.002035> + 9303: < 0.007610, -0.003255, -0.002015> + 9304: < 0.007648, -0.002843, -0.002429> + 9305: < 0.007759, -0.002452, -0.002452> + 9306: < 0.007854, -0.002473, -0.002053> + 9307: < 0.007740, -0.002868, -0.002035> + 9308: < 0.007759, -0.002452, -0.002452> + 9309: < 0.007854, -0.002053, -0.002473> + 9310: < 0.007950, -0.002071, -0.002071> + 9311: < 0.007854, -0.002473, -0.002053> + 9312: < 0.007854, -0.002053, -0.002473> + 9313: < 0.007932, -0.001650, -0.002492> + 9314: < 0.008029, -0.001663, -0.002086> + 9315: < 0.007950, -0.002071, -0.002071> + 9316: < 0.007932, -0.001650, -0.002492> + 9317: < 0.007992, -0.001241, -0.002507> + 9318: < 0.008090, -0.001252, -0.002099> + 9319: < 0.008029, -0.001663, -0.002086> + 9320: < 0.007992, -0.001241, -0.002507> + 9321: < 0.008036, -0.000829, -0.002519> + 9322: < 0.008134, -0.000836, -0.002109> + 9323: < 0.008090, -0.001252, -0.002099> + 9324: < 0.008036, -0.000829, -0.002519> + 9325: < 0.008062, -0.000415, -0.002527> + 9326: < 0.008161, -0.000419, -0.002116> + 9327: < 0.008134, -0.000836, -0.002109> + 9328: < 0.008062, -0.000415, -0.002527> + 9329: < 0.008070, -0.000000, -0.002530> + 9330: < 0.008169, -0.000000, -0.002118> + 9331: < 0.008161, -0.000419, -0.002116> + 9332: < 0.008070, -0.000000, -0.002530> + 9333: < 0.008062, 0.000415, -0.002527> + 9334: < 0.008161, 0.000419, -0.002116> + 9335: < 0.008169, -0.000000, -0.002118> + 9336: < 0.008062, 0.000415, -0.002527> + 9337: < 0.008036, 0.000829, -0.002519> + 9338: < 0.008134, 0.000836, -0.002109> + 9339: < 0.008161, 0.000419, -0.002116> + 9340: < 0.008036, 0.000829, -0.002519> + 9341: < 0.007992, 0.001241, -0.002507> + 9342: < 0.008090, 0.001252, -0.002099> + 9343: < 0.008134, 0.000836, -0.002109> + 9344: < 0.007992, 0.001241, -0.002507> + 9345: < 0.007932, 0.001650, -0.002492> + 9346: < 0.008029, 0.001663, -0.002086> + 9347: < 0.008090, 0.001252, -0.002099> + 9348: < 0.007932, 0.001650, -0.002492> + 9349: < 0.007854, 0.002053, -0.002473> + 9350: < 0.007950, 0.002071, -0.002071> + 9351: < 0.008029, 0.001663, -0.002086> + 9352: < 0.007854, 0.002053, -0.002473> + 9353: < 0.007759, 0.002452, -0.002452> + 9354: < 0.007854, 0.002473, -0.002053> + 9355: < 0.007950, 0.002071, -0.002071> + 9356: < 0.007759, 0.002452, -0.002452> + 9357: < 0.007648, 0.002843, -0.002429> + 9358: < 0.007740, 0.002868, -0.002035> + 9359: < 0.007854, 0.002473, -0.002053> + 9360: < 0.007648, 0.002843, -0.002429> + 9361: < 0.007519, 0.003227, -0.002405> + 9362: < 0.007610, 0.003255, -0.002015> + 9363: < 0.007740, 0.002868, -0.002035> + 9364: < 0.007519, 0.003227, -0.002405> + 9365: < 0.007374, 0.003601, -0.002380> + 9366: < 0.007462, 0.003634, -0.001995> + 9367: < 0.007610, 0.003255, -0.002015> + 9368: < 0.007374, 0.003601, -0.002380> + 9369: < 0.007212, 0.003965, -0.002356> + 9370: < 0.007297, 0.004002, -0.001975> + 9371: < 0.007462, 0.003634, -0.001995> + 9372: < 0.007212, 0.003965, -0.002356> + 9373: < 0.007033, 0.004318, -0.002333> + 9374: < 0.007115, 0.004360, -0.001957> + 9375: < 0.007297, 0.004002, -0.001975> + 9376: < 0.007033, 0.004318, -0.002333> + 9377: < 0.006836, 0.004659, -0.002313> + 9378: < 0.006915, 0.004705, -0.001940> + 9379: < 0.007115, 0.004360, -0.001957> + 9380: < 0.006836, 0.004659, -0.002313> + 9381: < 0.006623, 0.004987, -0.002295> + 9382: < 0.006698, 0.005037, -0.001926> + 9383: < 0.006915, 0.004705, -0.001940> + 9384: < 0.006623, 0.004987, -0.002295> + 9385: < 0.006393, 0.005301, -0.002281> + 9386: < 0.006464, 0.005355, -0.001915> + 9387: < 0.006698, 0.005037, -0.001926> + 9388: < 0.006393, 0.005301, -0.002281> + 9389: < 0.006146, 0.005599, -0.002272> + 9390: < 0.006212, 0.005657, -0.001908> + 9391: < 0.006464, 0.005355, -0.001915> + 9392: < 0.006212, -0.005657, -0.001908> + 9393: < 0.006464, -0.005355, -0.001915> + 9394: < 0.006523, -0.005401, -0.001541> + 9395: < 0.006269, -0.005707, -0.001536> + 9396: < 0.006464, -0.005355, -0.001915> + 9397: < 0.006698, -0.005037, -0.001926> + 9398: < 0.006761, -0.005080, -0.001550> + 9399: < 0.006523, -0.005401, -0.001541> + 9400: < 0.006698, -0.005037, -0.001926> + 9401: < 0.006915, -0.004705, -0.001940> + 9402: < 0.006980, -0.004744, -0.001561> + 9403: < 0.006761, -0.005080, -0.001550> + 9404: < 0.006915, -0.004705, -0.001940> + 9405: < 0.007115, -0.004360, -0.001957> + 9406: < 0.007183, -0.004395, -0.001574> + 9407: < 0.006980, -0.004744, -0.001561> + 9408: < 0.007115, -0.004360, -0.001957> + 9409: < 0.007297, -0.004002, -0.001975> + 9410: < 0.007367, -0.004034, -0.001588> + 9411: < 0.007183, -0.004395, -0.001574> + 9412: < 0.007297, -0.004002, -0.001975> + 9413: < 0.007462, -0.003634, -0.001995> + 9414: < 0.007535, -0.003663, -0.001603> + 9415: < 0.007367, -0.004034, -0.001588> + 9416: < 0.007462, -0.003634, -0.001995> + 9417: < 0.007610, -0.003255, -0.002015> + 9418: < 0.007684, -0.003281, -0.001619> + 9419: < 0.007535, -0.003663, -0.001603> + 9420: < 0.007610, -0.003255, -0.002015> + 9421: < 0.007740, -0.002868, -0.002035> + 9422: < 0.007817, -0.002890, -0.001635> + 9423: < 0.007684, -0.003281, -0.001619> + 9424: < 0.007740, -0.002868, -0.002035> + 9425: < 0.007854, -0.002473, -0.002053> + 9426: < 0.007932, -0.002492, -0.001650> + 9427: < 0.007817, -0.002890, -0.001635> + 9428: < 0.007854, -0.002473, -0.002053> + 9429: < 0.007950, -0.002071, -0.002071> + 9430: < 0.008029, -0.002086, -0.001663> + 9431: < 0.007932, -0.002492, -0.001650> + 9432: < 0.007950, -0.002071, -0.002071> + 9433: < 0.008029, -0.001663, -0.002086> + 9434: < 0.008109, -0.001676, -0.001676> + 9435: < 0.008029, -0.002086, -0.001663> + 9436: < 0.008029, -0.001663, -0.002086> + 9437: < 0.008090, -0.001252, -0.002099> + 9438: < 0.008171, -0.001261, -0.001686> + 9439: < 0.008109, -0.001676, -0.001676> + 9440: < 0.008090, -0.001252, -0.002099> + 9441: < 0.008134, -0.000836, -0.002109> + 9442: < 0.008215, -0.000842, -0.001694> + 9443: < 0.008171, -0.001261, -0.001686> + 9444: < 0.008134, -0.000836, -0.002109> + 9445: < 0.008161, -0.000419, -0.002116> + 9446: < 0.008242, -0.000422, -0.001699> + 9447: < 0.008215, -0.000842, -0.001694> + 9448: < 0.008161, -0.000419, -0.002116> + 9449: < 0.008169, -0.000000, -0.002118> + 9450: < 0.008251, -0.000000, -0.001701> + 9451: < 0.008242, -0.000422, -0.001699> + 9452: < 0.008169, -0.000000, -0.002118> + 9453: < 0.008161, 0.000419, -0.002116> + 9454: < 0.008242, 0.000422, -0.001699> + 9455: < 0.008251, -0.000000, -0.001701> + 9456: < 0.008161, 0.000419, -0.002116> + 9457: < 0.008134, 0.000836, -0.002109> + 9458: < 0.008215, 0.000842, -0.001694> + 9459: < 0.008242, 0.000422, -0.001699> + 9460: < 0.008134, 0.000836, -0.002109> + 9461: < 0.008090, 0.001252, -0.002099> + 9462: < 0.008171, 0.001261, -0.001686> + 9463: < 0.008215, 0.000842, -0.001694> + 9464: < 0.008090, 0.001252, -0.002099> + 9465: < 0.008029, 0.001663, -0.002086> + 9466: < 0.008109, 0.001676, -0.001676> + 9467: < 0.008171, 0.001261, -0.001686> + 9468: < 0.008029, 0.001663, -0.002086> + 9469: < 0.007950, 0.002071, -0.002071> + 9470: < 0.008029, 0.002086, -0.001663> + 9471: < 0.008109, 0.001676, -0.001676> + 9472: < 0.007950, 0.002071, -0.002071> + 9473: < 0.007854, 0.002473, -0.002053> + 9474: < 0.007932, 0.002492, -0.001650> + 9475: < 0.008029, 0.002086, -0.001663> + 9476: < 0.007854, 0.002473, -0.002053> + 9477: < 0.007740, 0.002868, -0.002035> + 9478: < 0.007817, 0.002890, -0.001635> + 9479: < 0.007932, 0.002492, -0.001650> + 9480: < 0.007740, 0.002868, -0.002035> + 9481: < 0.007610, 0.003255, -0.002015> + 9482: < 0.007684, 0.003281, -0.001619> + 9483: < 0.007817, 0.002890, -0.001635> + 9484: < 0.007610, 0.003255, -0.002015> + 9485: < 0.007462, 0.003634, -0.001995> + 9486: < 0.007535, 0.003663, -0.001603> + 9487: < 0.007684, 0.003281, -0.001619> + 9488: < 0.007462, 0.003634, -0.001995> + 9489: < 0.007297, 0.004002, -0.001975> + 9490: < 0.007367, 0.004034, -0.001588> + 9491: < 0.007535, 0.003663, -0.001603> + 9492: < 0.007297, 0.004002, -0.001975> + 9493: < 0.007115, 0.004360, -0.001957> + 9494: < 0.007183, 0.004395, -0.001574> + 9495: < 0.007367, 0.004034, -0.001588> + 9496: < 0.007115, 0.004360, -0.001957> + 9497: < 0.006915, 0.004705, -0.001940> + 9498: < 0.006980, 0.004744, -0.001561> + 9499: < 0.007183, 0.004395, -0.001574> + 9500: < 0.006915, 0.004705, -0.001940> + 9501: < 0.006698, 0.005037, -0.001926> + 9502: < 0.006761, 0.005080, -0.001550> + 9503: < 0.006980, 0.004744, -0.001561> + 9504: < 0.006698, 0.005037, -0.001926> + 9505: < 0.006464, 0.005355, -0.001915> + 9506: < 0.006523, 0.005401, -0.001541> + 9507: < 0.006761, 0.005080, -0.001550> + 9508: < 0.006464, 0.005355, -0.001915> + 9509: < 0.006212, 0.005657, -0.001908> + 9510: < 0.006269, 0.005707, -0.001536> + 9511: < 0.006523, 0.005401, -0.001541> + 9512: < 0.006269, -0.005707, -0.001536> + 9513: < 0.006523, -0.005401, -0.001541> + 9514: < 0.006570, -0.005438, -0.001161> + 9515: < 0.006313, -0.005747, -0.001157> + 9516: < 0.006523, -0.005401, -0.001541> + 9517: < 0.006761, -0.005080, -0.001550> + 9518: < 0.006810, -0.005114, -0.001168> + 9519: < 0.006570, -0.005438, -0.001161> + 9520: < 0.006761, -0.005080, -0.001550> + 9521: < 0.006980, -0.004744, -0.001561> + 9522: < 0.007032, -0.004776, -0.001176> + 9523: < 0.006810, -0.005114, -0.001168> + 9524: < 0.006980, -0.004744, -0.001561> + 9525: < 0.007183, -0.004395, -0.001574> + 9526: < 0.007236, -0.004424, -0.001185> + 9527: < 0.007032, -0.004776, -0.001176> + 9528: < 0.007183, -0.004395, -0.001574> + 9529: < 0.007367, -0.004034, -0.001588> + 9530: < 0.007423, -0.004061, -0.001196> + 9531: < 0.007236, -0.004424, -0.001185> + 9532: < 0.007367, -0.004034, -0.001588> + 9533: < 0.007535, -0.003663, -0.001603> + 9534: < 0.007591, -0.003686, -0.001207> + 9535: < 0.007423, -0.004061, -0.001196> + 9536: < 0.007535, -0.003663, -0.001603> + 9537: < 0.007684, -0.003281, -0.001619> + 9538: < 0.007743, -0.003302, -0.001219> + 9539: < 0.007591, -0.003686, -0.001207> + 9540: < 0.007684, -0.003281, -0.001619> + 9541: < 0.007817, -0.002890, -0.001635> + 9542: < 0.007876, -0.002908, -0.001230> + 9543: < 0.007743, -0.003302, -0.001219> + 9544: < 0.007817, -0.002890, -0.001635> + 9545: < 0.007932, -0.002492, -0.001650> + 9546: < 0.007992, -0.002507, -0.001241> + 9547: < 0.007876, -0.002908, -0.001230> + 9548: < 0.007932, -0.002492, -0.001650> + 9549: < 0.008029, -0.002086, -0.001663> + 9550: < 0.008090, -0.002099, -0.001252> + 9551: < 0.007992, -0.002507, -0.001241> + 9552: < 0.008029, -0.002086, -0.001663> + 9553: < 0.008109, -0.001676, -0.001676> + 9554: < 0.008171, -0.001686, -0.001261> + 9555: < 0.008090, -0.002099, -0.001252> + 9556: < 0.008109, -0.001676, -0.001676> + 9557: < 0.008171, -0.001261, -0.001686> + 9558: < 0.008233, -0.001269, -0.001269> + 9559: < 0.008171, -0.001686, -0.001261> + 9560: < 0.008171, -0.001261, -0.001686> + 9561: < 0.008215, -0.000842, -0.001694> + 9562: < 0.008278, -0.000848, -0.001275> + 9563: < 0.008233, -0.001269, -0.001269> + 9564: < 0.008215, -0.000842, -0.001694> + 9565: < 0.008242, -0.000422, -0.001699> + 9566: < 0.008305, -0.000424, -0.001278> + 9567: < 0.008278, -0.000848, -0.001275> + 9568: < 0.008242, -0.000422, -0.001699> + 9569: < 0.008251, -0.000000, -0.001701> + 9570: < 0.008314, 0.000000, -0.001280> + 9571: < 0.008305, -0.000424, -0.001278> + 9572: < 0.008251, -0.000000, -0.001701> + 9573: < 0.008242, 0.000422, -0.001699> + 9574: < 0.008305, 0.000424, -0.001278> + 9575: < 0.008314, 0.000000, -0.001280> + 9576: < 0.008242, 0.000422, -0.001699> + 9577: < 0.008215, 0.000842, -0.001694> + 9578: < 0.008278, 0.000848, -0.001275> + 9579: < 0.008305, 0.000424, -0.001278> + 9580: < 0.008215, 0.000842, -0.001694> + 9581: < 0.008171, 0.001261, -0.001686> + 9582: < 0.008233, 0.001269, -0.001269> + 9583: < 0.008278, 0.000848, -0.001275> + 9584: < 0.008171, 0.001261, -0.001686> + 9585: < 0.008109, 0.001676, -0.001676> + 9586: < 0.008171, 0.001686, -0.001261> + 9587: < 0.008233, 0.001269, -0.001269> + 9588: < 0.008109, 0.001676, -0.001676> + 9589: < 0.008029, 0.002086, -0.001663> + 9590: < 0.008090, 0.002099, -0.001252> + 9591: < 0.008171, 0.001686, -0.001261> + 9592: < 0.008029, 0.002086, -0.001663> + 9593: < 0.007932, 0.002492, -0.001650> + 9594: < 0.007992, 0.002507, -0.001241> + 9595: < 0.008090, 0.002099, -0.001252> + 9596: < 0.007932, 0.002492, -0.001650> + 9597: < 0.007817, 0.002890, -0.001635> + 9598: < 0.007876, 0.002908, -0.001230> + 9599: < 0.007992, 0.002507, -0.001241> + 9600: < 0.007817, 0.002890, -0.001635> + 9601: < 0.007684, 0.003281, -0.001619> + 9602: < 0.007743, 0.003302, -0.001219> + 9603: < 0.007876, 0.002908, -0.001230> + 9604: < 0.007684, 0.003281, -0.001619> + 9605: < 0.007535, 0.003663, -0.001603> + 9606: < 0.007591, 0.003686, -0.001207> + 9607: < 0.007743, 0.003302, -0.001219> + 9608: < 0.007535, 0.003663, -0.001603> + 9609: < 0.007367, 0.004034, -0.001588> + 9610: < 0.007423, 0.004061, -0.001196> + 9611: < 0.007591, 0.003686, -0.001207> + 9612: < 0.007367, 0.004034, -0.001588> + 9613: < 0.007183, 0.004395, -0.001574> + 9614: < 0.007236, 0.004424, -0.001185> + 9615: < 0.007423, 0.004061, -0.001196> + 9616: < 0.007183, 0.004395, -0.001574> + 9617: < 0.006980, 0.004744, -0.001561> + 9618: < 0.007032, 0.004776, -0.001176> + 9619: < 0.007236, 0.004424, -0.001185> + 9620: < 0.006980, 0.004744, -0.001561> + 9621: < 0.006761, 0.005080, -0.001550> + 9622: < 0.006810, 0.005114, -0.001168> + 9623: < 0.007032, 0.004776, -0.001176> + 9624: < 0.006761, 0.005080, -0.001550> + 9625: < 0.006523, 0.005401, -0.001541> + 9626: < 0.006570, 0.005438, -0.001161> + 9627: < 0.006810, 0.005114, -0.001168> + 9628: < 0.006523, 0.005401, -0.001541> + 9629: < 0.006269, 0.005707, -0.001536> + 9630: < 0.006313, 0.005747, -0.001157> + 9631: < 0.006570, 0.005438, -0.001161> + 9632: < 0.006313, -0.005747, -0.001157> + 9633: < 0.006570, -0.005438, -0.001161> + 9634: < 0.006605, -0.005466, -0.000777> + 9635: < 0.006346, -0.005776, -0.000774> + 9636: < 0.006570, -0.005438, -0.001161> + 9637: < 0.006810, -0.005114, -0.001168> + 9638: < 0.006846, -0.005140, -0.000781> + 9639: < 0.006605, -0.005466, -0.000777> + 9640: < 0.006810, -0.005114, -0.001168> + 9641: < 0.007032, -0.004776, -0.001176> + 9642: < 0.007069, -0.004800, -0.000786> + 9643: < 0.006846, -0.005140, -0.000781> + 9644: < 0.007032, -0.004776, -0.001176> + 9645: < 0.007236, -0.004424, -0.001185> + 9646: < 0.007275, -0.004446, -0.000792> + 9647: < 0.007069, -0.004800, -0.000786> + 9648: < 0.007236, -0.004424, -0.001185> + 9649: < 0.007423, -0.004061, -0.001196> + 9650: < 0.007462, -0.004081, -0.000799> + 9651: < 0.007275, -0.004446, -0.000792> + 9652: < 0.007423, -0.004061, -0.001196> + 9653: < 0.007591, -0.003686, -0.001207> + 9654: < 0.007632, -0.003704, -0.000807> + 9655: < 0.007462, -0.004081, -0.000799> + 9656: < 0.007591, -0.003686, -0.001207> + 9657: < 0.007743, -0.003302, -0.001219> + 9658: < 0.007785, -0.003318, -0.000814> + 9659: < 0.007632, -0.003704, -0.000807> + 9660: < 0.007743, -0.003302, -0.001219> + 9661: < 0.007876, -0.002908, -0.001230> + 9662: < 0.007919, -0.002922, -0.000822> + 9663: < 0.007785, -0.003318, -0.000814> + 9664: < 0.007876, -0.002908, -0.001230> + 9665: < 0.007992, -0.002507, -0.001241> + 9666: < 0.008036, -0.002519, -0.000829> + 9667: < 0.007919, -0.002922, -0.000822> + 9668: < 0.007992, -0.002507, -0.001241> + 9669: < 0.008090, -0.002099, -0.001252> + 9670: < 0.008134, -0.002109, -0.000836> + 9671: < 0.008036, -0.002519, -0.000829> + 9672: < 0.008090, -0.002099, -0.001252> + 9673: < 0.008171, -0.001686, -0.001261> + 9674: < 0.008215, -0.001694, -0.000842> + 9675: < 0.008134, -0.002109, -0.000836> + 9676: < 0.008171, -0.001686, -0.001261> + 9677: < 0.008233, -0.001269, -0.001269> + 9678: < 0.008278, -0.001275, -0.000848> + 9679: < 0.008215, -0.001694, -0.000842> + 9680: < 0.008233, -0.001269, -0.001269> + 9681: < 0.008278, -0.000848, -0.001275> + 9682: < 0.008323, -0.000852, -0.000852> + 9683: < 0.008278, -0.001275, -0.000848> + 9684: < 0.008278, -0.000848, -0.001275> + 9685: < 0.008305, -0.000424, -0.001278> + 9686: < 0.008350, -0.000426, -0.000854> + 9687: < 0.008323, -0.000852, -0.000852> + 9688: < 0.008305, -0.000424, -0.001278> + 9689: < 0.008314, 0.000000, -0.001280> + 9690: < 0.008359, 0.000000, -0.000855> + 9691: < 0.008350, -0.000426, -0.000854> + 9692: < 0.008314, 0.000000, -0.001280> + 9693: < 0.008305, 0.000424, -0.001278> + 9694: < 0.008350, 0.000426, -0.000854> + 9695: < 0.008359, 0.000000, -0.000855> + 9696: < 0.008305, 0.000424, -0.001278> + 9697: < 0.008278, 0.000848, -0.001275> + 9698: < 0.008323, 0.000852, -0.000852> + 9699: < 0.008350, 0.000426, -0.000854> + 9700: < 0.008278, 0.000848, -0.001275> + 9701: < 0.008233, 0.001269, -0.001269> + 9702: < 0.008278, 0.001275, -0.000848> + 9703: < 0.008323, 0.000852, -0.000852> + 9704: < 0.008233, 0.001269, -0.001269> + 9705: < 0.008171, 0.001686, -0.001261> + 9706: < 0.008215, 0.001694, -0.000842> + 9707: < 0.008278, 0.001275, -0.000848> + 9708: < 0.008171, 0.001686, -0.001261> + 9709: < 0.008090, 0.002099, -0.001252> + 9710: < 0.008134, 0.002109, -0.000836> + 9711: < 0.008215, 0.001694, -0.000842> + 9712: < 0.008090, 0.002099, -0.001252> + 9713: < 0.007992, 0.002507, -0.001241> + 9714: < 0.008036, 0.002519, -0.000829> + 9715: < 0.008134, 0.002109, -0.000836> + 9716: < 0.007992, 0.002507, -0.001241> + 9717: < 0.007876, 0.002908, -0.001230> + 9718: < 0.007919, 0.002922, -0.000822> + 9719: < 0.008036, 0.002519, -0.000829> + 9720: < 0.007876, 0.002908, -0.001230> + 9721: < 0.007743, 0.003302, -0.001219> + 9722: < 0.007785, 0.003318, -0.000814> + 9723: < 0.007919, 0.002922, -0.000822> + 9724: < 0.007743, 0.003302, -0.001219> + 9725: < 0.007591, 0.003686, -0.001207> + 9726: < 0.007632, 0.003704, -0.000807> + 9727: < 0.007785, 0.003318, -0.000814> + 9728: < 0.007591, 0.003686, -0.001207> + 9729: < 0.007423, 0.004061, -0.001196> + 9730: < 0.007462, 0.004081, -0.000799> + 9731: < 0.007632, 0.003704, -0.000807> + 9732: < 0.007423, 0.004061, -0.001196> + 9733: < 0.007236, 0.004424, -0.001185> + 9734: < 0.007275, 0.004446, -0.000792> + 9735: < 0.007462, 0.004081, -0.000799> + 9736: < 0.007236, 0.004424, -0.001185> + 9737: < 0.007032, 0.004776, -0.001176> + 9738: < 0.007069, 0.004800, -0.000786> + 9739: < 0.007275, 0.004446, -0.000792> + 9740: < 0.007032, 0.004776, -0.001176> + 9741: < 0.006810, 0.005114, -0.001168> + 9742: < 0.006846, 0.005140, -0.000781> + 9743: < 0.007069, 0.004800, -0.000786> + 9744: < 0.006810, 0.005114, -0.001168> + 9745: < 0.006570, 0.005438, -0.001161> + 9746: < 0.006605, 0.005466, -0.000777> + 9747: < 0.006846, 0.005140, -0.000781> + 9748: < 0.006570, 0.005438, -0.001161> + 9749: < 0.006313, 0.005747, -0.001157> + 9750: < 0.006346, 0.005776, -0.000774> + 9751: < 0.006605, 0.005466, -0.000777> + 9752: < 0.006346, -0.005776, -0.000774> + 9753: < 0.006605, -0.005466, -0.000777> + 9754: < 0.006626, -0.005483, -0.000389> + 9755: < 0.006366, -0.005794, -0.000388> + 9756: < 0.006605, -0.005466, -0.000777> + 9757: < 0.006846, -0.005140, -0.000781> + 9758: < 0.006868, -0.005156, -0.000391> + 9759: < 0.006626, -0.005483, -0.000389> + 9760: < 0.006846, -0.005140, -0.000781> + 9761: < 0.007069, -0.004800, -0.000786> + 9762: < 0.007092, -0.004815, -0.000394> + 9763: < 0.006868, -0.005156, -0.000391> + 9764: < 0.007069, -0.004800, -0.000786> + 9765: < 0.007275, -0.004446, -0.000792> + 9766: < 0.007298, -0.004460, -0.000397> + 9767: < 0.007092, -0.004815, -0.000394> + 9768: < 0.007275, -0.004446, -0.000792> + 9769: < 0.007462, -0.004081, -0.000799> + 9770: < 0.007487, -0.004093, -0.000400> + 9771: < 0.007298, -0.004460, -0.000397> + 9772: < 0.007462, -0.004081, -0.000799> + 9773: < 0.007632, -0.003704, -0.000807> + 9774: < 0.007657, -0.003716, -0.000404> + 9775: < 0.007487, -0.004093, -0.000400> + 9776: < 0.007632, -0.003704, -0.000807> + 9777: < 0.007785, -0.003318, -0.000814> + 9778: < 0.007810, -0.003328, -0.000408> + 9779: < 0.007657, -0.003716, -0.000404> + 9780: < 0.007785, -0.003318, -0.000814> + 9781: < 0.007919, -0.002922, -0.000822> + 9782: < 0.007945, -0.002931, -0.000412> + 9783: < 0.007810, -0.003328, -0.000408> + 9784: < 0.007919, -0.002922, -0.000822> + 9785: < 0.008036, -0.002519, -0.000829> + 9786: < 0.008062, -0.002527, -0.000415> + 9787: < 0.007945, -0.002931, -0.000412> + 9788: < 0.008036, -0.002519, -0.000829> + 9789: < 0.008134, -0.002109, -0.000836> + 9790: < 0.008161, -0.002116, -0.000419> + 9791: < 0.008062, -0.002527, -0.000415> + 9792: < 0.008134, -0.002109, -0.000836> + 9793: < 0.008215, -0.001694, -0.000842> + 9794: < 0.008242, -0.001699, -0.000422> + 9795: < 0.008161, -0.002116, -0.000419> + 9796: < 0.008215, -0.001694, -0.000842> + 9797: < 0.008278, -0.001275, -0.000848> + 9798: < 0.008305, -0.001278, -0.000424> + 9799: < 0.008242, -0.001699, -0.000422> + 9800: < 0.008278, -0.001275, -0.000848> + 9801: < 0.008323, -0.000852, -0.000852> + 9802: < 0.008350, -0.000854, -0.000426> + 9803: < 0.008305, -0.001278, -0.000424> + 9804: < 0.008323, -0.000852, -0.000852> + 9805: < 0.008350, -0.000426, -0.000854> + 9806: < 0.008377, -0.000428, -0.000428> + 9807: < 0.008350, -0.000854, -0.000426> + 9808: < 0.008350, -0.000426, -0.000854> + 9809: < 0.008359, 0.000000, -0.000855> + 9810: < 0.008386, 0.000000, -0.000428> + 9811: < 0.008377, -0.000428, -0.000428> + 9812: < 0.008359, 0.000000, -0.000855> + 9813: < 0.008350, 0.000426, -0.000854> + 9814: < 0.008377, 0.000428, -0.000428> + 9815: < 0.008386, 0.000000, -0.000428> + 9816: < 0.008350, 0.000426, -0.000854> + 9817: < 0.008323, 0.000852, -0.000852> + 9818: < 0.008350, 0.000854, -0.000426> + 9819: < 0.008377, 0.000428, -0.000428> + 9820: < 0.008323, 0.000852, -0.000852> + 9821: < 0.008278, 0.001275, -0.000848> + 9822: < 0.008305, 0.001278, -0.000424> + 9823: < 0.008350, 0.000854, -0.000426> + 9824: < 0.008278, 0.001275, -0.000848> + 9825: < 0.008215, 0.001694, -0.000842> + 9826: < 0.008242, 0.001699, -0.000422> + 9827: < 0.008305, 0.001278, -0.000424> + 9828: < 0.008215, 0.001694, -0.000842> + 9829: < 0.008134, 0.002109, -0.000836> + 9830: < 0.008161, 0.002116, -0.000419> + 9831: < 0.008242, 0.001699, -0.000422> + 9832: < 0.008134, 0.002109, -0.000836> + 9833: < 0.008036, 0.002519, -0.000829> + 9834: < 0.008062, 0.002527, -0.000415> + 9835: < 0.008161, 0.002116, -0.000419> + 9836: < 0.008036, 0.002519, -0.000829> + 9837: < 0.007919, 0.002922, -0.000822> + 9838: < 0.007945, 0.002931, -0.000412> + 9839: < 0.008062, 0.002527, -0.000415> + 9840: < 0.007919, 0.002922, -0.000822> + 9841: < 0.007785, 0.003318, -0.000814> + 9842: < 0.007810, 0.003328, -0.000408> + 9843: < 0.007945, 0.002931, -0.000412> + 9844: < 0.007785, 0.003318, -0.000814> + 9845: < 0.007632, 0.003704, -0.000807> + 9846: < 0.007657, 0.003716, -0.000404> + 9847: < 0.007810, 0.003328, -0.000408> + 9848: < 0.007632, 0.003704, -0.000807> + 9849: < 0.007462, 0.004081, -0.000799> + 9850: < 0.007487, 0.004093, -0.000400> + 9851: < 0.007657, 0.003716, -0.000404> + 9852: < 0.007462, 0.004081, -0.000799> + 9853: < 0.007275, 0.004446, -0.000792> + 9854: < 0.007298, 0.004460, -0.000397> + 9855: < 0.007487, 0.004093, -0.000400> + 9856: < 0.007275, 0.004446, -0.000792> + 9857: < 0.007069, 0.004800, -0.000786> + 9858: < 0.007092, 0.004815, -0.000394> + 9859: < 0.007298, 0.004460, -0.000397> + 9860: < 0.007069, 0.004800, -0.000786> + 9861: < 0.006846, 0.005140, -0.000781> + 9862: < 0.006868, 0.005156, -0.000391> + 9863: < 0.007092, 0.004815, -0.000394> + 9864: < 0.006846, 0.005140, -0.000781> + 9865: < 0.006605, 0.005466, -0.000777> + 9866: < 0.006626, 0.005483, -0.000389> + 9867: < 0.006868, 0.005156, -0.000391> + 9868: < 0.006605, 0.005466, -0.000777> + 9869: < 0.006346, 0.005776, -0.000774> + 9870: < 0.006366, 0.005794, -0.000388> + 9871: < 0.006626, 0.005483, -0.000389> + 9872: < 0.006366, -0.005794, -0.000388> + 9873: < 0.006626, -0.005483, -0.000389> + 9874: < 0.006633, -0.005489, 0.000000> + 9875: < 0.006373, -0.005801, 0.000000> + 9876: < 0.006626, -0.005483, -0.000389> + 9877: < 0.006868, -0.005156, -0.000391> + 9878: < 0.006875, -0.005162, 0.000000> + 9879: < 0.006633, -0.005489, 0.000000> + 9880: < 0.006868, -0.005156, -0.000391> + 9881: < 0.007092, -0.004815, -0.000394> + 9882: < 0.007099, -0.004820, 0.000000> + 9883: < 0.006875, -0.005162, 0.000000> + 9884: < 0.007092, -0.004815, -0.000394> + 9885: < 0.007298, -0.004460, -0.000397> + 9886: < 0.007306, -0.004465, 0.000000> + 9887: < 0.007099, -0.004820, 0.000000> + 9888: < 0.007298, -0.004460, -0.000397> + 9889: < 0.007487, -0.004093, -0.000400> + 9890: < 0.007495, -0.004098, 0.000000> + 9891: < 0.007306, -0.004465, 0.000000> + 9892: < 0.007487, -0.004093, -0.000400> + 9893: < 0.007657, -0.003716, -0.000404> + 9894: < 0.007665, -0.003720, 0.000000> + 9895: < 0.007495, -0.004098, 0.000000> + 9896: < 0.007657, -0.003716, -0.000404> + 9897: < 0.007810, -0.003328, -0.000408> + 9898: < 0.007818, -0.003331, 0.000000> + 9899: < 0.007665, -0.003720, 0.000000> + 9900: < 0.007810, -0.003328, -0.000408> + 9901: < 0.007945, -0.002931, -0.000412> + 9902: < 0.007953, -0.002934, 0.000000> + 9903: < 0.007818, -0.003331, 0.000000> + 9904: < 0.007945, -0.002931, -0.000412> + 9905: < 0.008062, -0.002527, -0.000415> + 9906: < 0.008070, -0.002530, 0.000000> + 9907: < 0.007953, -0.002934, 0.000000> + 9908: < 0.008062, -0.002527, -0.000415> + 9909: < 0.008161, -0.002116, -0.000419> + 9910: < 0.008169, -0.002118, 0.000000> + 9911: < 0.008070, -0.002530, 0.000000> + 9912: < 0.008161, -0.002116, -0.000419> + 9913: < 0.008242, -0.001699, -0.000422> + 9914: < 0.008251, -0.001701, 0.000000> + 9915: < 0.008169, -0.002118, 0.000000> + 9916: < 0.008242, -0.001699, -0.000422> + 9917: < 0.008305, -0.001278, -0.000424> + 9918: < 0.008314, -0.001280, 0.000000> + 9919: < 0.008251, -0.001701, 0.000000> + 9920: < 0.008305, -0.001278, -0.000424> + 9921: < 0.008350, -0.000854, -0.000426> + 9922: < 0.008359, -0.000855, 0.000000> + 9923: < 0.008314, -0.001280, 0.000000> + 9924: < 0.008350, -0.000854, -0.000426> + 9925: < 0.008377, -0.000428, -0.000428> + 9926: < 0.008386, -0.000428, 0.000000> + 9927: < 0.008359, -0.000855, 0.000000> + 9928: < 0.008377, -0.000428, -0.000428> + 9929: < 0.008386, 0.000000, -0.000428> + 9930: < 0.008395, 0.000000, 0.000000> + 9931: < 0.008386, -0.000428, 0.000000> + 9932: < 0.008386, 0.000000, -0.000428> + 9933: < 0.008377, 0.000428, -0.000428> + 9934: < 0.008386, 0.000428, 0.000000> + 9935: < 0.008395, 0.000000, 0.000000> + 9936: < 0.008377, 0.000428, -0.000428> + 9937: < 0.008350, 0.000854, -0.000426> + 9938: < 0.008359, 0.000855, 0.000000> + 9939: < 0.008386, 0.000428, 0.000000> + 9940: < 0.008350, 0.000854, -0.000426> + 9941: < 0.008305, 0.001278, -0.000424> + 9942: < 0.008314, 0.001280, 0.000000> + 9943: < 0.008359, 0.000855, 0.000000> + 9944: < 0.008305, 0.001278, -0.000424> + 9945: < 0.008242, 0.001699, -0.000422> + 9946: < 0.008251, 0.001701, 0.000000> + 9947: < 0.008314, 0.001280, 0.000000> + 9948: < 0.008242, 0.001699, -0.000422> + 9949: < 0.008161, 0.002116, -0.000419> + 9950: < 0.008169, 0.002118, 0.000000> + 9951: < 0.008251, 0.001701, 0.000000> + 9952: < 0.008161, 0.002116, -0.000419> + 9953: < 0.008062, 0.002527, -0.000415> + 9954: < 0.008070, 0.002530, 0.000000> + 9955: < 0.008169, 0.002118, 0.000000> + 9956: < 0.008062, 0.002527, -0.000415> + 9957: < 0.007945, 0.002931, -0.000412> + 9958: < 0.007953, 0.002934, 0.000000> + 9959: < 0.008070, 0.002530, 0.000000> + 9960: < 0.007945, 0.002931, -0.000412> + 9961: < 0.007810, 0.003328, -0.000408> + 9962: < 0.007818, 0.003331, -0.000000> + 9963: < 0.007953, 0.002934, 0.000000> + 9964: < 0.007810, 0.003328, -0.000408> + 9965: < 0.007657, 0.003716, -0.000404> + 9966: < 0.007665, 0.003720, 0.000000> + 9967: < 0.007818, 0.003331, -0.000000> + 9968: < 0.007657, 0.003716, -0.000404> + 9969: < 0.007487, 0.004093, -0.000400> + 9970: < 0.007495, 0.004098, 0.000000> + 9971: < 0.007665, 0.003720, 0.000000> + 9972: < 0.007487, 0.004093, -0.000400> + 9973: < 0.007298, 0.004460, -0.000397> + 9974: < 0.007306, 0.004465, 0.000000> + 9975: < 0.007495, 0.004098, 0.000000> + 9976: < 0.007298, 0.004460, -0.000397> + 9977: < 0.007092, 0.004815, -0.000394> + 9978: < 0.007099, 0.004820, 0.000000> + 9979: < 0.007306, 0.004465, 0.000000> + 9980: < 0.007092, 0.004815, -0.000394> + 9981: < 0.006868, 0.005156, -0.000391> + 9982: < 0.006875, 0.005162, 0.000000> + 9983: < 0.007099, 0.004820, 0.000000> + 9984: < 0.006868, 0.005156, -0.000391> + 9985: < 0.006626, 0.005483, -0.000389> + 9986: < 0.006633, 0.005489, 0.000000> + 9987: < 0.006875, 0.005162, 0.000000> + 9988: < 0.006626, 0.005483, -0.000389> + 9989: < 0.006366, 0.005794, -0.000388> + 9990: < 0.006373, 0.005801, 0.000000> + 9991: < 0.006633, 0.005489, 0.000000> + 9992: < 0.006373, -0.005801, 0.000000> + 9993: < 0.006633, -0.005489, 0.000000> + 9994: < 0.006626, -0.005483, 0.000389> + 9995: < 0.006366, -0.005794, 0.000388> + 9996: < 0.006633, -0.005489, 0.000000> + 9997: < 0.006875, -0.005162, 0.000000> + 9998: < 0.006868, -0.005156, 0.000391> + 9999: < 0.006626, -0.005483, 0.000389> + 10000: < 0.006875, -0.005162, 0.000000> + 10001: < 0.007099, -0.004820, 0.000000> + 10002: < 0.007092, -0.004815, 0.000394> + 10003: < 0.006868, -0.005156, 0.000391> + 10004: < 0.007099, -0.004820, 0.000000> + 10005: < 0.007306, -0.004465, 0.000000> + 10006: < 0.007298, -0.004460, 0.000397> + 10007: < 0.007092, -0.004815, 0.000394> + 10008: < 0.007306, -0.004465, 0.000000> + 10009: < 0.007495, -0.004098, 0.000000> + 10010: < 0.007487, -0.004093, 0.000400> + 10011: < 0.007298, -0.004460, 0.000397> + 10012: < 0.007495, -0.004098, 0.000000> + 10013: < 0.007665, -0.003720, 0.000000> + 10014: < 0.007657, -0.003716, 0.000404> + 10015: < 0.007487, -0.004093, 0.000400> + 10016: < 0.007665, -0.003720, 0.000000> + 10017: < 0.007818, -0.003331, 0.000000> + 10018: < 0.007810, -0.003328, 0.000408> + 10019: < 0.007657, -0.003716, 0.000404> + 10020: < 0.007818, -0.003331, 0.000000> + 10021: < 0.007953, -0.002934, 0.000000> + 10022: < 0.007945, -0.002931, 0.000412> + 10023: < 0.007810, -0.003328, 0.000408> + 10024: < 0.007953, -0.002934, 0.000000> + 10025: < 0.008070, -0.002530, 0.000000> + 10026: < 0.008062, -0.002527, 0.000415> + 10027: < 0.007945, -0.002931, 0.000412> + 10028: < 0.008070, -0.002530, 0.000000> + 10029: < 0.008169, -0.002118, 0.000000> + 10030: < 0.008161, -0.002116, 0.000419> + 10031: < 0.008062, -0.002527, 0.000415> + 10032: < 0.008169, -0.002118, 0.000000> + 10033: < 0.008251, -0.001701, 0.000000> + 10034: < 0.008242, -0.001699, 0.000422> + 10035: < 0.008161, -0.002116, 0.000419> + 10036: < 0.008251, -0.001701, 0.000000> + 10037: < 0.008314, -0.001280, 0.000000> + 10038: < 0.008305, -0.001278, 0.000424> + 10039: < 0.008242, -0.001699, 0.000422> + 10040: < 0.008314, -0.001280, 0.000000> + 10041: < 0.008359, -0.000855, 0.000000> + 10042: < 0.008350, -0.000854, 0.000426> + 10043: < 0.008305, -0.001278, 0.000424> + 10044: < 0.008359, -0.000855, 0.000000> + 10045: < 0.008386, -0.000428, 0.000000> + 10046: < 0.008377, -0.000428, 0.000428> + 10047: < 0.008350, -0.000854, 0.000426> + 10048: < 0.008386, -0.000428, 0.000000> + 10049: < 0.008395, 0.000000, 0.000000> + 10050: < 0.008386, 0.000000, 0.000428> + 10051: < 0.008377, -0.000428, 0.000428> + 10052: < 0.008395, 0.000000, 0.000000> + 10053: < 0.008386, 0.000428, 0.000000> + 10054: < 0.008377, 0.000428, 0.000428> + 10055: < 0.008386, 0.000000, 0.000428> + 10056: < 0.008386, 0.000428, 0.000000> + 10057: < 0.008359, 0.000855, 0.000000> + 10058: < 0.008350, 0.000854, 0.000426> + 10059: < 0.008377, 0.000428, 0.000428> + 10060: < 0.008359, 0.000855, 0.000000> + 10061: < 0.008314, 0.001280, 0.000000> + 10062: < 0.008305, 0.001278, 0.000424> + 10063: < 0.008350, 0.000854, 0.000426> + 10064: < 0.008314, 0.001280, 0.000000> + 10065: < 0.008251, 0.001701, 0.000000> + 10066: < 0.008242, 0.001699, 0.000422> + 10067: < 0.008305, 0.001278, 0.000424> + 10068: < 0.008251, 0.001701, 0.000000> + 10069: < 0.008169, 0.002118, 0.000000> + 10070: < 0.008161, 0.002116, 0.000419> + 10071: < 0.008242, 0.001699, 0.000422> + 10072: < 0.008169, 0.002118, 0.000000> + 10073: < 0.008070, 0.002530, 0.000000> + 10074: < 0.008062, 0.002527, 0.000415> + 10075: < 0.008161, 0.002116, 0.000419> + 10076: < 0.008070, 0.002530, 0.000000> + 10077: < 0.007953, 0.002934, 0.000000> + 10078: < 0.007945, 0.002931, 0.000412> + 10079: < 0.008062, 0.002527, 0.000415> + 10080: < 0.007953, 0.002934, 0.000000> + 10081: < 0.007818, 0.003331, -0.000000> + 10082: < 0.007810, 0.003328, 0.000408> + 10083: < 0.007945, 0.002931, 0.000412> + 10084: < 0.007818, 0.003331, -0.000000> + 10085: < 0.007665, 0.003720, 0.000000> + 10086: < 0.007657, 0.003716, 0.000404> + 10087: < 0.007810, 0.003328, 0.000408> + 10088: < 0.007665, 0.003720, 0.000000> + 10089: < 0.007495, 0.004098, 0.000000> + 10090: < 0.007487, 0.004093, 0.000400> + 10091: < 0.007657, 0.003716, 0.000404> + 10092: < 0.007495, 0.004098, 0.000000> + 10093: < 0.007306, 0.004465, 0.000000> + 10094: < 0.007298, 0.004460, 0.000397> + 10095: < 0.007487, 0.004093, 0.000400> + 10096: < 0.007306, 0.004465, 0.000000> + 10097: < 0.007099, 0.004820, 0.000000> + 10098: < 0.007092, 0.004815, 0.000394> + 10099: < 0.007298, 0.004460, 0.000397> + 10100: < 0.007099, 0.004820, 0.000000> + 10101: < 0.006875, 0.005162, 0.000000> + 10102: < 0.006868, 0.005156, 0.000391> + 10103: < 0.007092, 0.004815, 0.000394> + 10104: < 0.006875, 0.005162, 0.000000> + 10105: < 0.006633, 0.005489, 0.000000> + 10106: < 0.006626, 0.005483, 0.000389> + 10107: < 0.006868, 0.005156, 0.000391> + 10108: < 0.006633, 0.005489, 0.000000> + 10109: < 0.006373, 0.005801, 0.000000> + 10110: < 0.006366, 0.005794, 0.000388> + 10111: < 0.006626, 0.005483, 0.000389> + 10112: < 0.006366, -0.005794, 0.000388> + 10113: < 0.006626, -0.005483, 0.000389> + 10114: < 0.006605, -0.005466, 0.000777> + 10115: < 0.006346, -0.005776, 0.000774> + 10116: < 0.006626, -0.005483, 0.000389> + 10117: < 0.006868, -0.005156, 0.000391> + 10118: < 0.006846, -0.005140, 0.000781> + 10119: < 0.006605, -0.005466, 0.000777> + 10120: < 0.006868, -0.005156, 0.000391> + 10121: < 0.007092, -0.004815, 0.000394> + 10122: < 0.007069, -0.004800, 0.000786> + 10123: < 0.006846, -0.005140, 0.000781> + 10124: < 0.007092, -0.004815, 0.000394> + 10125: < 0.007298, -0.004460, 0.000397> + 10126: < 0.007275, -0.004446, 0.000792> + 10127: < 0.007069, -0.004800, 0.000786> + 10128: < 0.007298, -0.004460, 0.000397> + 10129: < 0.007487, -0.004093, 0.000400> + 10130: < 0.007462, -0.004081, 0.000799> + 10131: < 0.007275, -0.004446, 0.000792> + 10132: < 0.007487, -0.004093, 0.000400> + 10133: < 0.007657, -0.003716, 0.000404> + 10134: < 0.007632, -0.003704, 0.000807> + 10135: < 0.007462, -0.004081, 0.000799> + 10136: < 0.007657, -0.003716, 0.000404> + 10137: < 0.007810, -0.003328, 0.000408> + 10138: < 0.007785, -0.003318, 0.000814> + 10139: < 0.007632, -0.003704, 0.000807> + 10140: < 0.007810, -0.003328, 0.000408> + 10141: < 0.007945, -0.002931, 0.000412> + 10142: < 0.007919, -0.002922, 0.000822> + 10143: < 0.007785, -0.003318, 0.000814> + 10144: < 0.007945, -0.002931, 0.000412> + 10145: < 0.008062, -0.002527, 0.000415> + 10146: < 0.008036, -0.002519, 0.000829> + 10147: < 0.007919, -0.002922, 0.000822> + 10148: < 0.008062, -0.002527, 0.000415> + 10149: < 0.008161, -0.002116, 0.000419> + 10150: < 0.008134, -0.002109, 0.000836> + 10151: < 0.008036, -0.002519, 0.000829> + 10152: < 0.008161, -0.002116, 0.000419> + 10153: < 0.008242, -0.001699, 0.000422> + 10154: < 0.008215, -0.001694, 0.000842> + 10155: < 0.008134, -0.002109, 0.000836> + 10156: < 0.008242, -0.001699, 0.000422> + 10157: < 0.008305, -0.001278, 0.000424> + 10158: < 0.008278, -0.001275, 0.000848> + 10159: < 0.008215, -0.001694, 0.000842> + 10160: < 0.008305, -0.001278, 0.000424> + 10161: < 0.008350, -0.000854, 0.000426> + 10162: < 0.008323, -0.000852, 0.000852> + 10163: < 0.008278, -0.001275, 0.000848> + 10164: < 0.008350, -0.000854, 0.000426> + 10165: < 0.008377, -0.000428, 0.000428> + 10166: < 0.008350, -0.000426, 0.000854> + 10167: < 0.008323, -0.000852, 0.000852> + 10168: < 0.008377, -0.000428, 0.000428> + 10169: < 0.008386, 0.000000, 0.000428> + 10170: < 0.008359, 0.000000, 0.000855> + 10171: < 0.008350, -0.000426, 0.000854> + 10172: < 0.008386, 0.000000, 0.000428> + 10173: < 0.008377, 0.000428, 0.000428> + 10174: < 0.008350, 0.000426, 0.000854> + 10175: < 0.008359, 0.000000, 0.000855> + 10176: < 0.008377, 0.000428, 0.000428> + 10177: < 0.008350, 0.000854, 0.000426> + 10178: < 0.008323, 0.000852, 0.000852> + 10179: < 0.008350, 0.000426, 0.000854> + 10180: < 0.008350, 0.000854, 0.000426> + 10181: < 0.008305, 0.001278, 0.000424> + 10182: < 0.008278, 0.001275, 0.000848> + 10183: < 0.008323, 0.000852, 0.000852> + 10184: < 0.008305, 0.001278, 0.000424> + 10185: < 0.008242, 0.001699, 0.000422> + 10186: < 0.008215, 0.001694, 0.000842> + 10187: < 0.008278, 0.001275, 0.000848> + 10188: < 0.008242, 0.001699, 0.000422> + 10189: < 0.008161, 0.002116, 0.000419> + 10190: < 0.008134, 0.002109, 0.000836> + 10191: < 0.008215, 0.001694, 0.000842> + 10192: < 0.008161, 0.002116, 0.000419> + 10193: < 0.008062, 0.002527, 0.000415> + 10194: < 0.008036, 0.002519, 0.000829> + 10195: < 0.008134, 0.002109, 0.000836> + 10196: < 0.008062, 0.002527, 0.000415> + 10197: < 0.007945, 0.002931, 0.000412> + 10198: < 0.007919, 0.002922, 0.000822> + 10199: < 0.008036, 0.002519, 0.000829> + 10200: < 0.007945, 0.002931, 0.000412> + 10201: < 0.007810, 0.003328, 0.000408> + 10202: < 0.007785, 0.003318, 0.000814> + 10203: < 0.007919, 0.002922, 0.000822> + 10204: < 0.007810, 0.003328, 0.000408> + 10205: < 0.007657, 0.003716, 0.000404> + 10206: < 0.007632, 0.003704, 0.000807> + 10207: < 0.007785, 0.003318, 0.000814> + 10208: < 0.007657, 0.003716, 0.000404> + 10209: < 0.007487, 0.004093, 0.000400> + 10210: < 0.007462, 0.004081, 0.000799> + 10211: < 0.007632, 0.003704, 0.000807> + 10212: < 0.007487, 0.004093, 0.000400> + 10213: < 0.007298, 0.004460, 0.000397> + 10214: < 0.007275, 0.004446, 0.000792> + 10215: < 0.007462, 0.004081, 0.000799> + 10216: < 0.007298, 0.004460, 0.000397> + 10217: < 0.007092, 0.004815, 0.000394> + 10218: < 0.007069, 0.004800, 0.000786> + 10219: < 0.007275, 0.004446, 0.000792> + 10220: < 0.007092, 0.004815, 0.000394> + 10221: < 0.006868, 0.005156, 0.000391> + 10222: < 0.006846, 0.005140, 0.000781> + 10223: < 0.007069, 0.004800, 0.000786> + 10224: < 0.006868, 0.005156, 0.000391> + 10225: < 0.006626, 0.005483, 0.000389> + 10226: < 0.006605, 0.005466, 0.000777> + 10227: < 0.006846, 0.005140, 0.000781> + 10228: < 0.006626, 0.005483, 0.000389> + 10229: < 0.006366, 0.005794, 0.000388> + 10230: < 0.006346, 0.005776, 0.000774> + 10231: < 0.006605, 0.005466, 0.000777> + 10232: < 0.006346, -0.005776, 0.000774> + 10233: < 0.006605, -0.005466, 0.000777> + 10234: < 0.006570, -0.005438, 0.001161> + 10235: < 0.006313, -0.005747, 0.001157> + 10236: < 0.006605, -0.005466, 0.000777> + 10237: < 0.006846, -0.005140, 0.000781> + 10238: < 0.006810, -0.005114, 0.001168> + 10239: < 0.006570, -0.005438, 0.001161> + 10240: < 0.006846, -0.005140, 0.000781> + 10241: < 0.007069, -0.004800, 0.000786> + 10242: < 0.007032, -0.004776, 0.001176> + 10243: < 0.006810, -0.005114, 0.001168> + 10244: < 0.007069, -0.004800, 0.000786> + 10245: < 0.007275, -0.004446, 0.000792> + 10246: < 0.007236, -0.004424, 0.001185> + 10247: < 0.007032, -0.004776, 0.001176> + 10248: < 0.007275, -0.004446, 0.000792> + 10249: < 0.007462, -0.004081, 0.000799> + 10250: < 0.007423, -0.004061, 0.001196> + 10251: < 0.007236, -0.004424, 0.001185> + 10252: < 0.007462, -0.004081, 0.000799> + 10253: < 0.007632, -0.003704, 0.000807> + 10254: < 0.007591, -0.003686, 0.001207> + 10255: < 0.007423, -0.004061, 0.001196> + 10256: < 0.007632, -0.003704, 0.000807> + 10257: < 0.007785, -0.003318, 0.000814> + 10258: < 0.007743, -0.003302, 0.001219> + 10259: < 0.007591, -0.003686, 0.001207> + 10260: < 0.007785, -0.003318, 0.000814> + 10261: < 0.007919, -0.002922, 0.000822> + 10262: < 0.007876, -0.002908, 0.001230> + 10263: < 0.007743, -0.003302, 0.001219> + 10264: < 0.007919, -0.002922, 0.000822> + 10265: < 0.008036, -0.002519, 0.000829> + 10266: < 0.007992, -0.002507, 0.001241> + 10267: < 0.007876, -0.002908, 0.001230> + 10268: < 0.008036, -0.002519, 0.000829> + 10269: < 0.008134, -0.002109, 0.000836> + 10270: < 0.008090, -0.002099, 0.001252> + 10271: < 0.007992, -0.002507, 0.001241> + 10272: < 0.008134, -0.002109, 0.000836> + 10273: < 0.008215, -0.001694, 0.000842> + 10274: < 0.008171, -0.001686, 0.001261> + 10275: < 0.008090, -0.002099, 0.001252> + 10276: < 0.008215, -0.001694, 0.000842> + 10277: < 0.008278, -0.001275, 0.000848> + 10278: < 0.008233, -0.001269, 0.001269> + 10279: < 0.008171, -0.001686, 0.001261> + 10280: < 0.008278, -0.001275, 0.000848> + 10281: < 0.008323, -0.000852, 0.000852> + 10282: < 0.008278, -0.000848, 0.001275> + 10283: < 0.008233, -0.001269, 0.001269> + 10284: < 0.008323, -0.000852, 0.000852> + 10285: < 0.008350, -0.000426, 0.000854> + 10286: < 0.008305, -0.000424, 0.001278> + 10287: < 0.008278, -0.000848, 0.001275> + 10288: < 0.008350, -0.000426, 0.000854> + 10289: < 0.008359, 0.000000, 0.000855> + 10290: < 0.008314, 0.000000, 0.001280> + 10291: < 0.008305, -0.000424, 0.001278> + 10292: < 0.008359, 0.000000, 0.000855> + 10293: < 0.008350, 0.000426, 0.000854> + 10294: < 0.008305, 0.000424, 0.001278> + 10295: < 0.008314, 0.000000, 0.001280> + 10296: < 0.008350, 0.000426, 0.000854> + 10297: < 0.008323, 0.000852, 0.000852> + 10298: < 0.008278, 0.000848, 0.001275> + 10299: < 0.008305, 0.000424, 0.001278> + 10300: < 0.008323, 0.000852, 0.000852> + 10301: < 0.008278, 0.001275, 0.000848> + 10302: < 0.008233, 0.001269, 0.001269> + 10303: < 0.008278, 0.000848, 0.001275> + 10304: < 0.008278, 0.001275, 0.000848> + 10305: < 0.008215, 0.001694, 0.000842> + 10306: < 0.008171, 0.001686, 0.001261> + 10307: < 0.008233, 0.001269, 0.001269> + 10308: < 0.008215, 0.001694, 0.000842> + 10309: < 0.008134, 0.002109, 0.000836> + 10310: < 0.008090, 0.002099, 0.001252> + 10311: < 0.008171, 0.001686, 0.001261> + 10312: < 0.008134, 0.002109, 0.000836> + 10313: < 0.008036, 0.002519, 0.000829> + 10314: < 0.007992, 0.002507, 0.001241> + 10315: < 0.008090, 0.002099, 0.001252> + 10316: < 0.008036, 0.002519, 0.000829> + 10317: < 0.007919, 0.002922, 0.000822> + 10318: < 0.007876, 0.002908, 0.001230> + 10319: < 0.007992, 0.002507, 0.001241> + 10320: < 0.007919, 0.002922, 0.000822> + 10321: < 0.007785, 0.003318, 0.000814> + 10322: < 0.007743, 0.003302, 0.001219> + 10323: < 0.007876, 0.002908, 0.001230> + 10324: < 0.007785, 0.003318, 0.000814> + 10325: < 0.007632, 0.003704, 0.000807> + 10326: < 0.007591, 0.003686, 0.001207> + 10327: < 0.007743, 0.003302, 0.001219> + 10328: < 0.007632, 0.003704, 0.000807> + 10329: < 0.007462, 0.004081, 0.000799> + 10330: < 0.007423, 0.004061, 0.001196> + 10331: < 0.007591, 0.003686, 0.001207> + 10332: < 0.007462, 0.004081, 0.000799> + 10333: < 0.007275, 0.004446, 0.000792> + 10334: < 0.007236, 0.004424, 0.001185> + 10335: < 0.007423, 0.004061, 0.001196> + 10336: < 0.007275, 0.004446, 0.000792> + 10337: < 0.007069, 0.004800, 0.000786> + 10338: < 0.007032, 0.004776, 0.001176> + 10339: < 0.007236, 0.004424, 0.001185> + 10340: < 0.007069, 0.004800, 0.000786> + 10341: < 0.006846, 0.005140, 0.000781> + 10342: < 0.006810, 0.005114, 0.001168> + 10343: < 0.007032, 0.004776, 0.001176> + 10344: < 0.006846, 0.005140, 0.000781> + 10345: < 0.006605, 0.005466, 0.000777> + 10346: < 0.006570, 0.005438, 0.001161> + 10347: < 0.006810, 0.005114, 0.001168> + 10348: < 0.006605, 0.005466, 0.000777> + 10349: < 0.006346, 0.005776, 0.000774> + 10350: < 0.006313, 0.005747, 0.001157> + 10351: < 0.006570, 0.005438, 0.001161> + 10352: < 0.006313, -0.005747, 0.001157> + 10353: < 0.006570, -0.005438, 0.001161> + 10354: < 0.006523, -0.005401, 0.001541> + 10355: < 0.006269, -0.005707, 0.001536> + 10356: < 0.006570, -0.005438, 0.001161> + 10357: < 0.006810, -0.005114, 0.001168> + 10358: < 0.006761, -0.005080, 0.001550> + 10359: < 0.006523, -0.005401, 0.001541> + 10360: < 0.006810, -0.005114, 0.001168> + 10361: < 0.007032, -0.004776, 0.001176> + 10362: < 0.006980, -0.004744, 0.001561> + 10363: < 0.006761, -0.005080, 0.001550> + 10364: < 0.007032, -0.004776, 0.001176> + 10365: < 0.007236, -0.004424, 0.001185> + 10366: < 0.007183, -0.004395, 0.001574> + 10367: < 0.006980, -0.004744, 0.001561> + 10368: < 0.007236, -0.004424, 0.001185> + 10369: < 0.007423, -0.004061, 0.001196> + 10370: < 0.007367, -0.004034, 0.001588> + 10371: < 0.007183, -0.004395, 0.001574> + 10372: < 0.007423, -0.004061, 0.001196> + 10373: < 0.007591, -0.003686, 0.001207> + 10374: < 0.007535, -0.003663, 0.001603> + 10375: < 0.007367, -0.004034, 0.001588> + 10376: < 0.007591, -0.003686, 0.001207> + 10377: < 0.007743, -0.003302, 0.001219> + 10378: < 0.007684, -0.003281, 0.001619> + 10379: < 0.007535, -0.003663, 0.001603> + 10380: < 0.007743, -0.003302, 0.001219> + 10381: < 0.007876, -0.002908, 0.001230> + 10382: < 0.007817, -0.002890, 0.001635> + 10383: < 0.007684, -0.003281, 0.001619> + 10384: < 0.007876, -0.002908, 0.001230> + 10385: < 0.007992, -0.002507, 0.001241> + 10386: < 0.007932, -0.002492, 0.001650> + 10387: < 0.007817, -0.002890, 0.001635> + 10388: < 0.007992, -0.002507, 0.001241> + 10389: < 0.008090, -0.002099, 0.001252> + 10390: < 0.008029, -0.002086, 0.001663> + 10391: < 0.007932, -0.002492, 0.001650> + 10392: < 0.008090, -0.002099, 0.001252> + 10393: < 0.008171, -0.001686, 0.001261> + 10394: < 0.008109, -0.001676, 0.001676> + 10395: < 0.008029, -0.002086, 0.001663> + 10396: < 0.008171, -0.001686, 0.001261> + 10397: < 0.008233, -0.001269, 0.001269> + 10398: < 0.008171, -0.001261, 0.001686> + 10399: < 0.008109, -0.001676, 0.001676> + 10400: < 0.008233, -0.001269, 0.001269> + 10401: < 0.008278, -0.000848, 0.001275> + 10402: < 0.008215, -0.000842, 0.001694> + 10403: < 0.008171, -0.001261, 0.001686> + 10404: < 0.008278, -0.000848, 0.001275> + 10405: < 0.008305, -0.000424, 0.001278> + 10406: < 0.008242, -0.000422, 0.001699> + 10407: < 0.008215, -0.000842, 0.001694> + 10408: < 0.008305, -0.000424, 0.001278> + 10409: < 0.008314, 0.000000, 0.001280> + 10410: < 0.008251, 0.000000, 0.001701> + 10411: < 0.008242, -0.000422, 0.001699> + 10412: < 0.008314, 0.000000, 0.001280> + 10413: < 0.008305, 0.000424, 0.001278> + 10414: < 0.008242, 0.000422, 0.001699> + 10415: < 0.008251, 0.000000, 0.001701> + 10416: < 0.008305, 0.000424, 0.001278> + 10417: < 0.008278, 0.000848, 0.001275> + 10418: < 0.008215, 0.000842, 0.001694> + 10419: < 0.008242, 0.000422, 0.001699> + 10420: < 0.008278, 0.000848, 0.001275> + 10421: < 0.008233, 0.001269, 0.001269> + 10422: < 0.008171, 0.001261, 0.001686> + 10423: < 0.008215, 0.000842, 0.001694> + 10424: < 0.008233, 0.001269, 0.001269> + 10425: < 0.008171, 0.001686, 0.001261> + 10426: < 0.008109, 0.001676, 0.001676> + 10427: < 0.008171, 0.001261, 0.001686> + 10428: < 0.008171, 0.001686, 0.001261> + 10429: < 0.008090, 0.002099, 0.001252> + 10430: < 0.008029, 0.002086, 0.001663> + 10431: < 0.008109, 0.001676, 0.001676> + 10432: < 0.008090, 0.002099, 0.001252> + 10433: < 0.007992, 0.002507, 0.001241> + 10434: < 0.007932, 0.002492, 0.001650> + 10435: < 0.008029, 0.002086, 0.001663> + 10436: < 0.007992, 0.002507, 0.001241> + 10437: < 0.007876, 0.002908, 0.001230> + 10438: < 0.007817, 0.002890, 0.001635> + 10439: < 0.007932, 0.002492, 0.001650> + 10440: < 0.007876, 0.002908, 0.001230> + 10441: < 0.007743, 0.003302, 0.001219> + 10442: < 0.007684, 0.003281, 0.001619> + 10443: < 0.007817, 0.002890, 0.001635> + 10444: < 0.007743, 0.003302, 0.001219> + 10445: < 0.007591, 0.003686, 0.001207> + 10446: < 0.007535, 0.003663, 0.001603> + 10447: < 0.007684, 0.003281, 0.001619> + 10448: < 0.007591, 0.003686, 0.001207> + 10449: < 0.007423, 0.004061, 0.001196> + 10450: < 0.007367, 0.004034, 0.001588> + 10451: < 0.007535, 0.003663, 0.001603> + 10452: < 0.007423, 0.004061, 0.001196> + 10453: < 0.007236, 0.004424, 0.001185> + 10454: < 0.007183, 0.004395, 0.001574> + 10455: < 0.007367, 0.004034, 0.001588> + 10456: < 0.007236, 0.004424, 0.001185> + 10457: < 0.007032, 0.004776, 0.001176> + 10458: < 0.006980, 0.004744, 0.001561> + 10459: < 0.007183, 0.004395, 0.001574> + 10460: < 0.007032, 0.004776, 0.001176> + 10461: < 0.006810, 0.005114, 0.001168> + 10462: < 0.006761, 0.005080, 0.001550> + 10463: < 0.006980, 0.004744, 0.001561> + 10464: < 0.006810, 0.005114, 0.001168> + 10465: < 0.006570, 0.005438, 0.001161> + 10466: < 0.006523, 0.005401, 0.001541> + 10467: < 0.006761, 0.005080, 0.001550> + 10468: < 0.006570, 0.005438, 0.001161> + 10469: < 0.006313, 0.005747, 0.001157> + 10470: < 0.006269, 0.005707, 0.001536> + 10471: < 0.006523, 0.005401, 0.001541> + 10472: < 0.006269, -0.005707, 0.001536> + 10473: < 0.006523, -0.005401, 0.001541> + 10474: < 0.006464, -0.005355, 0.001915> + 10475: < 0.006212, -0.005657, 0.001908> + 10476: < 0.006523, -0.005401, 0.001541> + 10477: < 0.006761, -0.005080, 0.001550> + 10478: < 0.006698, -0.005037, 0.001926> + 10479: < 0.006464, -0.005355, 0.001915> + 10480: < 0.006761, -0.005080, 0.001550> + 10481: < 0.006980, -0.004744, 0.001561> + 10482: < 0.006915, -0.004705, 0.001940> + 10483: < 0.006698, -0.005037, 0.001926> + 10484: < 0.006980, -0.004744, 0.001561> + 10485: < 0.007183, -0.004395, 0.001574> + 10486: < 0.007115, -0.004360, 0.001957> + 10487: < 0.006915, -0.004705, 0.001940> + 10488: < 0.007183, -0.004395, 0.001574> + 10489: < 0.007367, -0.004034, 0.001588> + 10490: < 0.007297, -0.004002, 0.001975> + 10491: < 0.007115, -0.004360, 0.001957> + 10492: < 0.007367, -0.004034, 0.001588> + 10493: < 0.007535, -0.003663, 0.001603> + 10494: < 0.007462, -0.003634, 0.001995> + 10495: < 0.007297, -0.004002, 0.001975> + 10496: < 0.007535, -0.003663, 0.001603> + 10497: < 0.007684, -0.003281, 0.001619> + 10498: < 0.007610, -0.003255, 0.002015> + 10499: < 0.007462, -0.003634, 0.001995> + 10500: < 0.007684, -0.003281, 0.001619> + 10501: < 0.007817, -0.002890, 0.001635> + 10502: < 0.007740, -0.002868, 0.002035> + 10503: < 0.007610, -0.003255, 0.002015> + 10504: < 0.007817, -0.002890, 0.001635> + 10505: < 0.007932, -0.002492, 0.001650> + 10506: < 0.007854, -0.002473, 0.002053> + 10507: < 0.007740, -0.002868, 0.002035> + 10508: < 0.007932, -0.002492, 0.001650> + 10509: < 0.008029, -0.002086, 0.001663> + 10510: < 0.007950, -0.002071, 0.002071> + 10511: < 0.007854, -0.002473, 0.002053> + 10512: < 0.008029, -0.002086, 0.001663> + 10513: < 0.008109, -0.001676, 0.001676> + 10514: < 0.008029, -0.001663, 0.002086> + 10515: < 0.007950, -0.002071, 0.002071> + 10516: < 0.008109, -0.001676, 0.001676> + 10517: < 0.008171, -0.001261, 0.001686> + 10518: < 0.008090, -0.001252, 0.002099> + 10519: < 0.008029, -0.001663, 0.002086> + 10520: < 0.008171, -0.001261, 0.001686> + 10521: < 0.008215, -0.000842, 0.001694> + 10522: < 0.008134, -0.000836, 0.002109> + 10523: < 0.008090, -0.001252, 0.002099> + 10524: < 0.008215, -0.000842, 0.001694> + 10525: < 0.008242, -0.000422, 0.001699> + 10526: < 0.008161, -0.000419, 0.002116> + 10527: < 0.008134, -0.000836, 0.002109> + 10528: < 0.008242, -0.000422, 0.001699> + 10529: < 0.008251, 0.000000, 0.001701> + 10530: < 0.008169, 0.000000, 0.002118> + 10531: < 0.008161, -0.000419, 0.002116> + 10532: < 0.008251, 0.000000, 0.001701> + 10533: < 0.008242, 0.000422, 0.001699> + 10534: < 0.008161, 0.000419, 0.002116> + 10535: < 0.008169, 0.000000, 0.002118> + 10536: < 0.008242, 0.000422, 0.001699> + 10537: < 0.008215, 0.000842, 0.001694> + 10538: < 0.008134, 0.000836, 0.002109> + 10539: < 0.008161, 0.000419, 0.002116> + 10540: < 0.008215, 0.000842, 0.001694> + 10541: < 0.008171, 0.001261, 0.001686> + 10542: < 0.008090, 0.001252, 0.002099> + 10543: < 0.008134, 0.000836, 0.002109> + 10544: < 0.008171, 0.001261, 0.001686> + 10545: < 0.008109, 0.001676, 0.001676> + 10546: < 0.008029, 0.001663, 0.002086> + 10547: < 0.008090, 0.001252, 0.002099> + 10548: < 0.008109, 0.001676, 0.001676> + 10549: < 0.008029, 0.002086, 0.001663> + 10550: < 0.007950, 0.002071, 0.002071> + 10551: < 0.008029, 0.001663, 0.002086> + 10552: < 0.008029, 0.002086, 0.001663> + 10553: < 0.007932, 0.002492, 0.001650> + 10554: < 0.007854, 0.002473, 0.002053> + 10555: < 0.007950, 0.002071, 0.002071> + 10556: < 0.007932, 0.002492, 0.001650> + 10557: < 0.007817, 0.002890, 0.001635> + 10558: < 0.007740, 0.002868, 0.002035> + 10559: < 0.007854, 0.002473, 0.002053> + 10560: < 0.007817, 0.002890, 0.001635> + 10561: < 0.007684, 0.003281, 0.001619> + 10562: < 0.007610, 0.003255, 0.002015> + 10563: < 0.007740, 0.002868, 0.002035> + 10564: < 0.007684, 0.003281, 0.001619> + 10565: < 0.007535, 0.003663, 0.001603> + 10566: < 0.007462, 0.003634, 0.001995> + 10567: < 0.007610, 0.003255, 0.002015> + 10568: < 0.007535, 0.003663, 0.001603> + 10569: < 0.007367, 0.004034, 0.001588> + 10570: < 0.007297, 0.004002, 0.001975> + 10571: < 0.007462, 0.003634, 0.001995> + 10572: < 0.007367, 0.004034, 0.001588> + 10573: < 0.007183, 0.004395, 0.001574> + 10574: < 0.007115, 0.004360, 0.001957> + 10575: < 0.007297, 0.004002, 0.001975> + 10576: < 0.007183, 0.004395, 0.001574> + 10577: < 0.006980, 0.004744, 0.001561> + 10578: < 0.006915, 0.004705, 0.001940> + 10579: < 0.007115, 0.004360, 0.001957> + 10580: < 0.006980, 0.004744, 0.001561> + 10581: < 0.006761, 0.005080, 0.001550> + 10582: < 0.006698, 0.005037, 0.001926> + 10583: < 0.006915, 0.004705, 0.001940> + 10584: < 0.006761, 0.005080, 0.001550> + 10585: < 0.006523, 0.005401, 0.001541> + 10586: < 0.006464, 0.005355, 0.001915> + 10587: < 0.006698, 0.005037, 0.001926> + 10588: < 0.006523, 0.005401, 0.001541> + 10589: < 0.006269, 0.005707, 0.001536> + 10590: < 0.006212, 0.005657, 0.001908> + 10591: < 0.006464, 0.005355, 0.001915> + 10592: < 0.006212, -0.005657, 0.001908> + 10593: < 0.006464, -0.005355, 0.001915> + 10594: < 0.006393, -0.005301, 0.002281> + 10595: < 0.006146, -0.005599, 0.002272> + 10596: < 0.006464, -0.005355, 0.001915> + 10597: < 0.006698, -0.005037, 0.001926> + 10598: < 0.006623, -0.004987, 0.002295> + 10599: < 0.006393, -0.005301, 0.002281> + 10600: < 0.006698, -0.005037, 0.001926> + 10601: < 0.006915, -0.004705, 0.001940> + 10602: < 0.006836, -0.004659, 0.002313> + 10603: < 0.006623, -0.004987, 0.002295> + 10604: < 0.006915, -0.004705, 0.001940> + 10605: < 0.007115, -0.004360, 0.001957> + 10606: < 0.007033, -0.004318, 0.002333> + 10607: < 0.006836, -0.004659, 0.002313> + 10608: < 0.007115, -0.004360, 0.001957> + 10609: < 0.007297, -0.004002, 0.001975> + 10610: < 0.007212, -0.003965, 0.002356> + 10611: < 0.007033, -0.004318, 0.002333> + 10612: < 0.007297, -0.004002, 0.001975> + 10613: < 0.007462, -0.003634, 0.001995> + 10614: < 0.007374, -0.003601, 0.002380> + 10615: < 0.007212, -0.003965, 0.002356> + 10616: < 0.007462, -0.003634, 0.001995> + 10617: < 0.007610, -0.003255, 0.002015> + 10618: < 0.007519, -0.003227, 0.002405> + 10619: < 0.007374, -0.003601, 0.002380> + 10620: < 0.007610, -0.003255, 0.002015> + 10621: < 0.007740, -0.002868, 0.002035> + 10622: < 0.007648, -0.002843, 0.002429> + 10623: < 0.007519, -0.003227, 0.002405> + 10624: < 0.007740, -0.002868, 0.002035> + 10625: < 0.007854, -0.002473, 0.002053> + 10626: < 0.007759, -0.002452, 0.002452> + 10627: < 0.007648, -0.002843, 0.002429> + 10628: < 0.007854, -0.002473, 0.002053> + 10629: < 0.007950, -0.002071, 0.002071> + 10630: < 0.007854, -0.002053, 0.002473> + 10631: < 0.007759, -0.002452, 0.002452> + 10632: < 0.007950, -0.002071, 0.002071> + 10633: < 0.008029, -0.001663, 0.002086> + 10634: < 0.007932, -0.001650, 0.002492> + 10635: < 0.007854, -0.002053, 0.002473> + 10636: < 0.008029, -0.001663, 0.002086> + 10637: < 0.008090, -0.001252, 0.002099> + 10638: < 0.007992, -0.001241, 0.002507> + 10639: < 0.007932, -0.001650, 0.002492> + 10640: < 0.008090, -0.001252, 0.002099> + 10641: < 0.008134, -0.000836, 0.002109> + 10642: < 0.008036, -0.000829, 0.002519> + 10643: < 0.007992, -0.001241, 0.002507> + 10644: < 0.008134, -0.000836, 0.002109> + 10645: < 0.008161, -0.000419, 0.002116> + 10646: < 0.008062, -0.000415, 0.002527> + 10647: < 0.008036, -0.000829, 0.002519> + 10648: < 0.008161, -0.000419, 0.002116> + 10649: < 0.008169, 0.000000, 0.002118> + 10650: < 0.008070, 0.000000, 0.002530> + 10651: < 0.008062, -0.000415, 0.002527> + 10652: < 0.008169, 0.000000, 0.002118> + 10653: < 0.008161, 0.000419, 0.002116> + 10654: < 0.008062, 0.000415, 0.002527> + 10655: < 0.008070, 0.000000, 0.002530> + 10656: < 0.008161, 0.000419, 0.002116> + 10657: < 0.008134, 0.000836, 0.002109> + 10658: < 0.008036, 0.000829, 0.002519> + 10659: < 0.008062, 0.000415, 0.002527> + 10660: < 0.008134, 0.000836, 0.002109> + 10661: < 0.008090, 0.001252, 0.002099> + 10662: < 0.007992, 0.001241, 0.002507> + 10663: < 0.008036, 0.000829, 0.002519> + 10664: < 0.008090, 0.001252, 0.002099> + 10665: < 0.008029, 0.001663, 0.002086> + 10666: < 0.007932, 0.001650, 0.002492> + 10667: < 0.007992, 0.001241, 0.002507> + 10668: < 0.008029, 0.001663, 0.002086> + 10669: < 0.007950, 0.002071, 0.002071> + 10670: < 0.007854, 0.002053, 0.002473> + 10671: < 0.007932, 0.001650, 0.002492> + 10672: < 0.007950, 0.002071, 0.002071> + 10673: < 0.007854, 0.002473, 0.002053> + 10674: < 0.007759, 0.002452, 0.002452> + 10675: < 0.007854, 0.002053, 0.002473> + 10676: < 0.007854, 0.002473, 0.002053> + 10677: < 0.007740, 0.002868, 0.002035> + 10678: < 0.007648, 0.002843, 0.002429> + 10679: < 0.007759, 0.002452, 0.002452> + 10680: < 0.007740, 0.002868, 0.002035> + 10681: < 0.007610, 0.003255, 0.002015> + 10682: < 0.007519, 0.003227, 0.002405> + 10683: < 0.007648, 0.002843, 0.002429> + 10684: < 0.007610, 0.003255, 0.002015> + 10685: < 0.007462, 0.003634, 0.001995> + 10686: < 0.007374, 0.003601, 0.002380> + 10687: < 0.007519, 0.003227, 0.002405> + 10688: < 0.007462, 0.003634, 0.001995> + 10689: < 0.007297, 0.004002, 0.001975> + 10690: < 0.007212, 0.003965, 0.002356> + 10691: < 0.007374, 0.003601, 0.002380> + 10692: < 0.007297, 0.004002, 0.001975> + 10693: < 0.007115, 0.004360, 0.001957> + 10694: < 0.007033, 0.004318, 0.002333> + 10695: < 0.007212, 0.003965, 0.002356> + 10696: < 0.007115, 0.004360, 0.001957> + 10697: < 0.006915, 0.004705, 0.001940> + 10698: < 0.006836, 0.004659, 0.002313> + 10699: < 0.007033, 0.004318, 0.002333> + 10700: < 0.006915, 0.004705, 0.001940> + 10701: < 0.006698, 0.005037, 0.001926> + 10702: < 0.006623, 0.004987, 0.002295> + 10703: < 0.006836, 0.004659, 0.002313> + 10704: < 0.006698, 0.005037, 0.001926> + 10705: < 0.006464, 0.005355, 0.001915> + 10706: < 0.006393, 0.005301, 0.002281> + 10707: < 0.006623, 0.004987, 0.002295> + 10708: < 0.006464, 0.005355, 0.001915> + 10709: < 0.006212, 0.005657, 0.001908> + 10710: < 0.006146, 0.005599, 0.002272> + 10711: < 0.006393, 0.005301, 0.002281> + 10712: < 0.006146, -0.005599, 0.002272> + 10713: < 0.006393, -0.005301, 0.002281> + 10714: < 0.006311, -0.005240, 0.002638> + 10715: < 0.006069, -0.005533, 0.002627> + 10716: < 0.006393, -0.005301, 0.002281> + 10717: < 0.006623, -0.004987, 0.002295> + 10718: < 0.006537, -0.004931, 0.002655> + 10719: < 0.006311, -0.005240, 0.002638> + 10720: < 0.006623, -0.004987, 0.002295> + 10721: < 0.006836, -0.004659, 0.002313> + 10722: < 0.006745, -0.004609, 0.002676> + 10723: < 0.006537, -0.004931, 0.002655> + 10724: < 0.006836, -0.004659, 0.002313> + 10725: < 0.007033, -0.004318, 0.002333> + 10726: < 0.006937, -0.004273, 0.002701> + 10727: < 0.006745, -0.004609, 0.002676> + 10728: < 0.007033, -0.004318, 0.002333> + 10729: < 0.007212, -0.003965, 0.002356> + 10730: < 0.007112, -0.003924, 0.002729> + 10731: < 0.006937, -0.004273, 0.002701> + 10732: < 0.007212, -0.003965, 0.002356> + 10733: < 0.007374, -0.003601, 0.002380> + 10734: < 0.007270, -0.003565, 0.002758> + 10735: < 0.007112, -0.003924, 0.002729> + 10736: < 0.007374, -0.003601, 0.002380> + 10737: < 0.007519, -0.003227, 0.002405> + 10738: < 0.007412, -0.003195, 0.002787> + 10739: < 0.007270, -0.003565, 0.002758> + 10740: < 0.007519, -0.003227, 0.002405> + 10741: < 0.007648, -0.002843, 0.002429> + 10742: < 0.007538, -0.002816, 0.002816> + 10743: < 0.007412, -0.003195, 0.002787> + 10744: < 0.007648, -0.002843, 0.002429> + 10745: < 0.007759, -0.002452, 0.002452> + 10746: < 0.007648, -0.002429, 0.002843> + 10747: < 0.007538, -0.002816, 0.002816> + 10748: < 0.007759, -0.002452, 0.002452> + 10749: < 0.007854, -0.002053, 0.002473> + 10750: < 0.007740, -0.002035, 0.002868> + 10751: < 0.007648, -0.002429, 0.002843> + 10752: < 0.007854, -0.002053, 0.002473> + 10753: < 0.007932, -0.001650, 0.002492> + 10754: < 0.007817, -0.001635, 0.002890> + 10755: < 0.007740, -0.002035, 0.002868> + 10756: < 0.007932, -0.001650, 0.002492> + 10757: < 0.007992, -0.001241, 0.002507> + 10758: < 0.007876, -0.001230, 0.002908> + 10759: < 0.007817, -0.001635, 0.002890> + 10760: < 0.007992, -0.001241, 0.002507> + 10761: < 0.008036, -0.000829, 0.002519> + 10762: < 0.007919, -0.000822, 0.002922> + 10763: < 0.007876, -0.001230, 0.002908> + 10764: < 0.008036, -0.000829, 0.002519> + 10765: < 0.008062, -0.000415, 0.002527> + 10766: < 0.007945, -0.000412, 0.002931> + 10767: < 0.007919, -0.000822, 0.002922> + 10768: < 0.008062, -0.000415, 0.002527> + 10769: < 0.008070, 0.000000, 0.002530> + 10770: < 0.007953, 0.000000, 0.002934> + 10771: < 0.007945, -0.000412, 0.002931> + 10772: < 0.008070, 0.000000, 0.002530> + 10773: < 0.008062, 0.000415, 0.002527> + 10774: < 0.007945, 0.000412, 0.002931> + 10775: < 0.007953, 0.000000, 0.002934> + 10776: < 0.008062, 0.000415, 0.002527> + 10777: < 0.008036, 0.000829, 0.002519> + 10778: < 0.007919, 0.000822, 0.002922> + 10779: < 0.007945, 0.000412, 0.002931> + 10780: < 0.008036, 0.000829, 0.002519> + 10781: < 0.007992, 0.001241, 0.002507> + 10782: < 0.007876, 0.001230, 0.002908> + 10783: < 0.007919, 0.000822, 0.002922> + 10784: < 0.007992, 0.001241, 0.002507> + 10785: < 0.007932, 0.001650, 0.002492> + 10786: < 0.007817, 0.001635, 0.002890> + 10787: < 0.007876, 0.001230, 0.002908> + 10788: < 0.007932, 0.001650, 0.002492> + 10789: < 0.007854, 0.002053, 0.002473> + 10790: < 0.007740, 0.002035, 0.002868> + 10791: < 0.007817, 0.001635, 0.002890> + 10792: < 0.007854, 0.002053, 0.002473> + 10793: < 0.007759, 0.002452, 0.002452> + 10794: < 0.007648, 0.002429, 0.002843> + 10795: < 0.007740, 0.002035, 0.002868> + 10796: < 0.007759, 0.002452, 0.002452> + 10797: < 0.007648, 0.002843, 0.002429> + 10798: < 0.007538, 0.002816, 0.002816> + 10799: < 0.007648, 0.002429, 0.002843> + 10800: < 0.007648, 0.002843, 0.002429> + 10801: < 0.007519, 0.003227, 0.002405> + 10802: < 0.007412, 0.003195, 0.002787> + 10803: < 0.007538, 0.002816, 0.002816> + 10804: < 0.007519, 0.003227, 0.002405> + 10805: < 0.007374, 0.003601, 0.002380> + 10806: < 0.007270, 0.003565, 0.002758> + 10807: < 0.007412, 0.003195, 0.002787> + 10808: < 0.007374, 0.003601, 0.002380> + 10809: < 0.007212, 0.003965, 0.002356> + 10810: < 0.007112, 0.003924, 0.002729> + 10811: < 0.007270, 0.003565, 0.002758> + 10812: < 0.007212, 0.003965, 0.002356> + 10813: < 0.007033, 0.004318, 0.002333> + 10814: < 0.006937, 0.004273, 0.002701> + 10815: < 0.007112, 0.003924, 0.002729> + 10816: < 0.007033, 0.004318, 0.002333> + 10817: < 0.006836, 0.004659, 0.002313> + 10818: < 0.006745, 0.004609, 0.002676> + 10819: < 0.006937, 0.004273, 0.002701> + 10820: < 0.006836, 0.004659, 0.002313> + 10821: < 0.006623, 0.004987, 0.002295> + 10822: < 0.006537, 0.004931, 0.002655> + 10823: < 0.006745, 0.004609, 0.002676> + 10824: < 0.006623, 0.004987, 0.002295> + 10825: < 0.006393, 0.005301, 0.002281> + 10826: < 0.006311, 0.005240, 0.002638> + 10827: < 0.006537, 0.004931, 0.002655> + 10828: < 0.006393, 0.005301, 0.002281> + 10829: < 0.006146, 0.005599, 0.002272> + 10830: < 0.006069, 0.005533, 0.002627> + 10831: < 0.006311, 0.005240, 0.002638> + 10832: < 0.006069, -0.005533, 0.002627> + 10833: < 0.006311, -0.005240, 0.002638> + 10834: < 0.006219, -0.005172, 0.002984> + 10835: < 0.005983, -0.005459, 0.002971> + 10836: < 0.006311, -0.005240, 0.002638> + 10837: < 0.006537, -0.004931, 0.002655> + 10838: < 0.006439, -0.004870, 0.003004> + 10839: < 0.006219, -0.005172, 0.002984> + 10840: < 0.006537, -0.004931, 0.002655> + 10841: < 0.006745, -0.004609, 0.002676> + 10842: < 0.006641, -0.004553, 0.003030> + 10843: < 0.006439, -0.004870, 0.003004> + 10844: < 0.006745, -0.004609, 0.002676> + 10845: < 0.006937, -0.004273, 0.002701> + 10846: < 0.006828, -0.004223, 0.003060> + 10847: < 0.006641, -0.004553, 0.003030> + 10848: < 0.006937, -0.004273, 0.002701> + 10849: < 0.007112, -0.003924, 0.002729> + 10850: < 0.006998, -0.003880, 0.003093> + 10851: < 0.006828, -0.004223, 0.003060> + 10852: < 0.007112, -0.003924, 0.002729> + 10853: < 0.007270, -0.003565, 0.002758> + 10854: < 0.007152, -0.003526, 0.003127> + 10855: < 0.006998, -0.003880, 0.003093> + 10856: < 0.007270, -0.003565, 0.002758> + 10857: < 0.007412, -0.003195, 0.002787> + 10858: < 0.007290, -0.003162, 0.003162> + 10859: < 0.007152, -0.003526, 0.003127> + 10860: < 0.007412, -0.003195, 0.002787> + 10861: < 0.007538, -0.002816, 0.002816> + 10862: < 0.007412, -0.002787, 0.003195> + 10863: < 0.007290, -0.003162, 0.003162> + 10864: < 0.007538, -0.002816, 0.002816> + 10865: < 0.007648, -0.002429, 0.002843> + 10866: < 0.007519, -0.002405, 0.003227> + 10867: < 0.007412, -0.002787, 0.003195> + 10868: < 0.007648, -0.002429, 0.002843> + 10869: < 0.007740, -0.002035, 0.002868> + 10870: < 0.007610, -0.002015, 0.003255> + 10871: < 0.007519, -0.002405, 0.003227> + 10872: < 0.007740, -0.002035, 0.002868> + 10873: < 0.007817, -0.001635, 0.002890> + 10874: < 0.007684, -0.001619, 0.003281> + 10875: < 0.007610, -0.002015, 0.003255> + 10876: < 0.007817, -0.001635, 0.002890> + 10877: < 0.007876, -0.001230, 0.002908> + 10878: < 0.007743, -0.001219, 0.003302> + 10879: < 0.007684, -0.001619, 0.003281> + 10880: < 0.007876, -0.001230, 0.002908> + 10881: < 0.007919, -0.000822, 0.002922> + 10882: < 0.007785, -0.000814, 0.003318> + 10883: < 0.007743, -0.001219, 0.003302> + 10884: < 0.007919, -0.000822, 0.002922> + 10885: < 0.007945, -0.000412, 0.002931> + 10886: < 0.007810, -0.000408, 0.003328> + 10887: < 0.007785, -0.000814, 0.003318> + 10888: < 0.007945, -0.000412, 0.002931> + 10889: < 0.007953, 0.000000, 0.002934> + 10890: < 0.007818, 0.000000, 0.003331> + 10891: < 0.007810, -0.000408, 0.003328> + 10892: < 0.007953, 0.000000, 0.002934> + 10893: < 0.007945, 0.000412, 0.002931> + 10894: < 0.007810, 0.000408, 0.003328> + 10895: < 0.007818, 0.000000, 0.003331> + 10896: < 0.007945, 0.000412, 0.002931> + 10897: < 0.007919, 0.000822, 0.002922> + 10898: < 0.007785, 0.000814, 0.003318> + 10899: < 0.007810, 0.000408, 0.003328> + 10900: < 0.007919, 0.000822, 0.002922> + 10901: < 0.007876, 0.001230, 0.002908> + 10902: < 0.007743, 0.001219, 0.003302> + 10903: < 0.007785, 0.000814, 0.003318> + 10904: < 0.007876, 0.001230, 0.002908> + 10905: < 0.007817, 0.001635, 0.002890> + 10906: < 0.007684, 0.001619, 0.003281> + 10907: < 0.007743, 0.001219, 0.003302> + 10908: < 0.007817, 0.001635, 0.002890> + 10909: < 0.007740, 0.002035, 0.002868> + 10910: < 0.007610, 0.002015, 0.003255> + 10911: < 0.007684, 0.001619, 0.003281> + 10912: < 0.007740, 0.002035, 0.002868> + 10913: < 0.007648, 0.002429, 0.002843> + 10914: < 0.007519, 0.002405, 0.003227> + 10915: < 0.007610, 0.002015, 0.003255> + 10916: < 0.007648, 0.002429, 0.002843> + 10917: < 0.007538, 0.002816, 0.002816> + 10918: < 0.007412, 0.002787, 0.003195> + 10919: < 0.007519, 0.002405, 0.003227> + 10920: < 0.007538, 0.002816, 0.002816> + 10921: < 0.007412, 0.003195, 0.002787> + 10922: < 0.007290, 0.003162, 0.003162> + 10923: < 0.007412, 0.002787, 0.003195> + 10924: < 0.007412, 0.003195, 0.002787> + 10925: < 0.007270, 0.003565, 0.002758> + 10926: < 0.007152, 0.003526, 0.003127> + 10927: < 0.007290, 0.003162, 0.003162> + 10928: < 0.007270, 0.003565, 0.002758> + 10929: < 0.007112, 0.003924, 0.002729> + 10930: < 0.006998, 0.003880, 0.003093> + 10931: < 0.007152, 0.003526, 0.003127> + 10932: < 0.007112, 0.003924, 0.002729> + 10933: < 0.006937, 0.004273, 0.002701> + 10934: < 0.006828, 0.004223, 0.003060> + 10935: < 0.006998, 0.003880, 0.003093> + 10936: < 0.006937, 0.004273, 0.002701> + 10937: < 0.006745, 0.004609, 0.002676> + 10938: < 0.006641, 0.004553, 0.003030> + 10939: < 0.006828, 0.004223, 0.003060> + 10940: < 0.006745, 0.004609, 0.002676> + 10941: < 0.006537, 0.004931, 0.002655> + 10942: < 0.006439, 0.004870, 0.003004> + 10943: < 0.006641, 0.004553, 0.003030> + 10944: < 0.006537, 0.004931, 0.002655> + 10945: < 0.006311, 0.005240, 0.002638> + 10946: < 0.006219, 0.005172, 0.002984> + 10947: < 0.006439, 0.004870, 0.003004> + 10948: < 0.006311, 0.005240, 0.002638> + 10949: < 0.006069, 0.005533, 0.002627> + 10950: < 0.005983, 0.005459, 0.002971> + 10951: < 0.006219, 0.005172, 0.002984> + 10952: < 0.005983, -0.005459, 0.002971> + 10953: < 0.006219, -0.005172, 0.002984> + 10954: < 0.006117, -0.005099, 0.003318> + 10955: < 0.005888, -0.005379, 0.003302> + 10956: < 0.006219, -0.005172, 0.002984> + 10957: < 0.006439, -0.004870, 0.003004> + 10958: < 0.006329, -0.004804, 0.003342> + 10959: < 0.006117, -0.005099, 0.003318> + 10960: < 0.006439, -0.004870, 0.003004> + 10961: < 0.006641, -0.004553, 0.003030> + 10962: < 0.006525, -0.004494, 0.003372> + 10963: < 0.006329, -0.004804, 0.003342> + 10964: < 0.006641, -0.004553, 0.003030> + 10965: < 0.006828, -0.004223, 0.003060> + 10966: < 0.006705, -0.004170, 0.003407> + 10967: < 0.006525, -0.004494, 0.003372> + 10968: < 0.006828, -0.004223, 0.003060> + 10969: < 0.006998, -0.003880, 0.003093> + 10970: < 0.006870, -0.003834, 0.003446> + 10971: < 0.006705, -0.004170, 0.003407> + 10972: < 0.006998, -0.003880, 0.003093> + 10973: < 0.007152, -0.003526, 0.003127> + 10974: < 0.007018, -0.003486, 0.003486> + 10975: < 0.006870, -0.003834, 0.003446> + 10976: < 0.007152, -0.003526, 0.003127> + 10977: < 0.007290, -0.003162, 0.003162> + 10978: < 0.007152, -0.003127, 0.003526> + 10979: < 0.007018, -0.003486, 0.003486> + 10980: < 0.007290, -0.003162, 0.003162> + 10981: < 0.007412, -0.002787, 0.003195> + 10982: < 0.007270, -0.002758, 0.003565> + 10983: < 0.007152, -0.003127, 0.003526> + 10984: < 0.007412, -0.002787, 0.003195> + 10985: < 0.007519, -0.002405, 0.003227> + 10986: < 0.007374, -0.002380, 0.003601> + 10987: < 0.007270, -0.002758, 0.003565> + 10988: < 0.007519, -0.002405, 0.003227> + 10989: < 0.007610, -0.002015, 0.003255> + 10990: < 0.007462, -0.001995, 0.003634> + 10991: < 0.007374, -0.002380, 0.003601> + 10992: < 0.007610, -0.002015, 0.003255> + 10993: < 0.007684, -0.001619, 0.003281> + 10994: < 0.007535, -0.001603, 0.003663> + 10995: < 0.007462, -0.001995, 0.003634> + 10996: < 0.007684, -0.001619, 0.003281> + 10997: < 0.007743, -0.001219, 0.003302> + 10998: < 0.007591, -0.001207, 0.003686> + 10999: < 0.007535, -0.001603, 0.003663> + 11000: < 0.007743, -0.001219, 0.003302> + 11001: < 0.007785, -0.000814, 0.003318> + 11002: < 0.007632, -0.000807, 0.003704> + 11003: < 0.007591, -0.001207, 0.003686> + 11004: < 0.007785, -0.000814, 0.003318> + 11005: < 0.007810, -0.000408, 0.003328> + 11006: < 0.007657, -0.000404, 0.003716> + 11007: < 0.007632, -0.000807, 0.003704> + 11008: < 0.007810, -0.000408, 0.003328> + 11009: < 0.007818, 0.000000, 0.003331> + 11010: < 0.007665, 0.000000, 0.003720> + 11011: < 0.007657, -0.000404, 0.003716> + 11012: < 0.007818, 0.000000, 0.003331> + 11013: < 0.007810, 0.000408, 0.003328> + 11014: < 0.007657, 0.000404, 0.003716> + 11015: < 0.007665, 0.000000, 0.003720> + 11016: < 0.007810, 0.000408, 0.003328> + 11017: < 0.007785, 0.000814, 0.003318> + 11018: < 0.007632, 0.000807, 0.003704> + 11019: < 0.007657, 0.000404, 0.003716> + 11020: < 0.007785, 0.000814, 0.003318> + 11021: < 0.007743, 0.001219, 0.003302> + 11022: < 0.007591, 0.001207, 0.003686> + 11023: < 0.007632, 0.000807, 0.003704> + 11024: < 0.007743, 0.001219, 0.003302> + 11025: < 0.007684, 0.001619, 0.003281> + 11026: < 0.007535, 0.001603, 0.003663> + 11027: < 0.007591, 0.001207, 0.003686> + 11028: < 0.007684, 0.001619, 0.003281> + 11029: < 0.007610, 0.002015, 0.003255> + 11030: < 0.007462, 0.001995, 0.003634> + 11031: < 0.007535, 0.001603, 0.003663> + 11032: < 0.007610, 0.002015, 0.003255> + 11033: < 0.007519, 0.002405, 0.003227> + 11034: < 0.007374, 0.002380, 0.003601> + 11035: < 0.007462, 0.001995, 0.003634> + 11036: < 0.007519, 0.002405, 0.003227> + 11037: < 0.007412, 0.002787, 0.003195> + 11038: < 0.007270, 0.002758, 0.003565> + 11039: < 0.007374, 0.002380, 0.003601> + 11040: < 0.007412, 0.002787, 0.003195> + 11041: < 0.007290, 0.003162, 0.003162> + 11042: < 0.007152, 0.003127, 0.003526> + 11043: < 0.007270, 0.002758, 0.003565> + 11044: < 0.007290, 0.003162, 0.003162> + 11045: < 0.007152, 0.003526, 0.003127> + 11046: < 0.007018, 0.003486, 0.003486> + 11047: < 0.007152, 0.003127, 0.003526> + 11048: < 0.007152, 0.003526, 0.003127> + 11049: < 0.006998, 0.003880, 0.003093> + 11050: < 0.006870, 0.003834, 0.003446> + 11051: < 0.007018, 0.003486, 0.003486> + 11052: < 0.006998, 0.003880, 0.003093> + 11053: < 0.006828, 0.004223, 0.003060> + 11054: < 0.006705, 0.004170, 0.003407> + 11055: < 0.006870, 0.003834, 0.003446> + 11056: < 0.006828, 0.004223, 0.003060> + 11057: < 0.006641, 0.004553, 0.003030> + 11058: < 0.006525, 0.004494, 0.003372> + 11059: < 0.006705, 0.004170, 0.003407> + 11060: < 0.006641, 0.004553, 0.003030> + 11061: < 0.006439, 0.004870, 0.003004> + 11062: < 0.006329, 0.004804, 0.003342> + 11063: < 0.006525, 0.004494, 0.003372> + 11064: < 0.006439, 0.004870, 0.003004> + 11065: < 0.006219, 0.005172, 0.002984> + 11066: < 0.006117, 0.005099, 0.003318> + 11067: < 0.006329, 0.004804, 0.003342> + 11068: < 0.006219, 0.005172, 0.002984> + 11069: < 0.005983, 0.005459, 0.002971> + 11070: < 0.005888, 0.005379, 0.003302> + 11071: < 0.006117, 0.005099, 0.003318> + 11072: < 0.005888, -0.005379, 0.003302> + 11073: < 0.006117, -0.005099, 0.003318> + 11074: < 0.006006, -0.005023, 0.003637> + 11075: < 0.005786, -0.005294, 0.003619> + 11076: < 0.006117, -0.005099, 0.003318> + 11077: < 0.006329, -0.004804, 0.003342> + 11078: < 0.006210, -0.004736, 0.003666> + 11079: < 0.006006, -0.005023, 0.003637> + 11080: < 0.006329, -0.004804, 0.003342> + 11081: < 0.006525, -0.004494, 0.003372> + 11082: < 0.006397, -0.004434, 0.003701> + 11083: < 0.006210, -0.004736, 0.003666> + 11084: < 0.006525, -0.004494, 0.003372> + 11085: < 0.006705, -0.004170, 0.003407> + 11086: < 0.006570, -0.004117, 0.003743> + 11087: < 0.006397, -0.004434, 0.003701> + 11088: < 0.006705, -0.004170, 0.003407> + 11089: < 0.006870, -0.003834, 0.003446> + 11090: < 0.006727, -0.003788, 0.003788> + 11091: < 0.006570, -0.004117, 0.003743> + 11092: < 0.006870, -0.003834, 0.003446> + 11093: < 0.007018, -0.003486, 0.003486> + 11094: < 0.006870, -0.003446, 0.003834> + 11095: < 0.006727, -0.003788, 0.003788> + 11096: < 0.007018, -0.003486, 0.003486> + 11097: < 0.007152, -0.003127, 0.003526> + 11098: < 0.006998, -0.003093, 0.003880> + 11099: < 0.006870, -0.003446, 0.003834> + 11100: < 0.007152, -0.003127, 0.003526> + 11101: < 0.007270, -0.002758, 0.003565> + 11102: < 0.007112, -0.002729, 0.003924> + 11103: < 0.006998, -0.003093, 0.003880> + 11104: < 0.007270, -0.002758, 0.003565> + 11105: < 0.007374, -0.002380, 0.003601> + 11106: < 0.007212, -0.002356, 0.003965> + 11107: < 0.007112, -0.002729, 0.003924> + 11108: < 0.007374, -0.002380, 0.003601> + 11109: < 0.007462, -0.001995, 0.003634> + 11110: < 0.007297, -0.001975, 0.004002> + 11111: < 0.007212, -0.002356, 0.003965> + 11112: < 0.007462, -0.001995, 0.003634> + 11113: < 0.007535, -0.001603, 0.003663> + 11114: < 0.007367, -0.001588, 0.004034> + 11115: < 0.007297, -0.001975, 0.004002> + 11116: < 0.007535, -0.001603, 0.003663> + 11117: < 0.007591, -0.001207, 0.003686> + 11118: < 0.007423, -0.001196, 0.004061> + 11119: < 0.007367, -0.001588, 0.004034> + 11120: < 0.007591, -0.001207, 0.003686> + 11121: < 0.007632, -0.000807, 0.003704> + 11122: < 0.007462, -0.000799, 0.004081> + 11123: < 0.007423, -0.001196, 0.004061> + 11124: < 0.007632, -0.000807, 0.003704> + 11125: < 0.007657, -0.000404, 0.003716> + 11126: < 0.007487, -0.000400, 0.004093> + 11127: < 0.007462, -0.000799, 0.004081> + 11128: < 0.007657, -0.000404, 0.003716> + 11129: < 0.007665, 0.000000, 0.003720> + 11130: < 0.007495, 0.000000, 0.004098> + 11131: < 0.007487, -0.000400, 0.004093> + 11132: < 0.007665, 0.000000, 0.003720> + 11133: < 0.007657, 0.000404, 0.003716> + 11134: < 0.007487, 0.000400, 0.004093> + 11135: < 0.007495, 0.000000, 0.004098> + 11136: < 0.007657, 0.000404, 0.003716> + 11137: < 0.007632, 0.000807, 0.003704> + 11138: < 0.007462, 0.000799, 0.004081> + 11139: < 0.007487, 0.000400, 0.004093> + 11140: < 0.007632, 0.000807, 0.003704> + 11141: < 0.007591, 0.001207, 0.003686> + 11142: < 0.007423, 0.001196, 0.004061> + 11143: < 0.007462, 0.000799, 0.004081> + 11144: < 0.007591, 0.001207, 0.003686> + 11145: < 0.007535, 0.001603, 0.003663> + 11146: < 0.007367, 0.001588, 0.004034> + 11147: < 0.007423, 0.001196, 0.004061> + 11148: < 0.007535, 0.001603, 0.003663> + 11149: < 0.007462, 0.001995, 0.003634> + 11150: < 0.007297, 0.001975, 0.004002> + 11151: < 0.007367, 0.001588, 0.004034> + 11152: < 0.007462, 0.001995, 0.003634> + 11153: < 0.007374, 0.002380, 0.003601> + 11154: < 0.007212, 0.002356, 0.003965> + 11155: < 0.007297, 0.001975, 0.004002> + 11156: < 0.007374, 0.002380, 0.003601> + 11157: < 0.007270, 0.002758, 0.003565> + 11158: < 0.007112, 0.002729, 0.003924> + 11159: < 0.007212, 0.002356, 0.003965> + 11160: < 0.007270, 0.002758, 0.003565> + 11161: < 0.007152, 0.003127, 0.003526> + 11162: < 0.006998, 0.003093, 0.003880> + 11163: < 0.007112, 0.002729, 0.003924> + 11164: < 0.007152, 0.003127, 0.003526> + 11165: < 0.007018, 0.003486, 0.003486> + 11166: < 0.006870, 0.003446, 0.003834> + 11167: < 0.006998, 0.003093, 0.003880> + 11168: < 0.007018, 0.003486, 0.003486> + 11169: < 0.006870, 0.003834, 0.003446> + 11170: < 0.006727, 0.003788, 0.003788> + 11171: < 0.006870, 0.003446, 0.003834> + 11172: < 0.006870, 0.003834, 0.003446> + 11173: < 0.006705, 0.004170, 0.003407> + 11174: < 0.006570, 0.004117, 0.003743> + 11175: < 0.006727, 0.003788, 0.003788> + 11176: < 0.006705, 0.004170, 0.003407> + 11177: < 0.006525, 0.004494, 0.003372> + 11178: < 0.006397, 0.004434, 0.003701> + 11179: < 0.006570, 0.004117, 0.003743> + 11180: < 0.006525, 0.004494, 0.003372> + 11181: < 0.006329, 0.004804, 0.003342> + 11182: < 0.006210, 0.004736, 0.003666> + 11183: < 0.006397, 0.004434, 0.003701> + 11184: < 0.006329, 0.004804, 0.003342> + 11185: < 0.006117, 0.005099, 0.003318> + 11186: < 0.006006, 0.005023, 0.003637> + 11187: < 0.006210, 0.004736, 0.003666> + 11188: < 0.006117, 0.005099, 0.003318> + 11189: < 0.005888, 0.005379, 0.003302> + 11190: < 0.005786, 0.005294, 0.003619> + 11191: < 0.006006, 0.005023, 0.003637> + 11192: < 0.005786, -0.005294, 0.003619> + 11193: < 0.006006, -0.005023, 0.003637> + 11194: < 0.005887, -0.004946, 0.003941> + 11195: < 0.005678, -0.005207, 0.003918> + 11196: < 0.006006, -0.005023, 0.003637> + 11197: < 0.006210, -0.004736, 0.003666> + 11198: < 0.006080, -0.004668, 0.003975> + 11199: < 0.005887, -0.004946, 0.003941> + 11200: < 0.006210, -0.004736, 0.003666> + 11201: < 0.006397, -0.004434, 0.003701> + 11202: < 0.006257, -0.004374, 0.004017> + 11203: < 0.006080, -0.004668, 0.003975> + 11204: < 0.006397, -0.004434, 0.003701> + 11205: < 0.006570, -0.004117, 0.003743> + 11206: < 0.006421, -0.004065, 0.004065> + 11207: < 0.006257, -0.004374, 0.004017> + 11208: < 0.006570, -0.004117, 0.003743> + 11209: < 0.006727, -0.003788, 0.003788> + 11210: < 0.006570, -0.003743, 0.004117> + 11211: < 0.006421, -0.004065, 0.004065> + 11212: < 0.006727, -0.003788, 0.003788> + 11213: < 0.006870, -0.003446, 0.003834> + 11214: < 0.006705, -0.003407, 0.004170> + 11215: < 0.006570, -0.003743, 0.004117> + 11216: < 0.006870, -0.003446, 0.003834> + 11217: < 0.006998, -0.003093, 0.003880> + 11218: < 0.006828, -0.003060, 0.004223> + 11219: < 0.006705, -0.003407, 0.004170> + 11220: < 0.006998, -0.003093, 0.003880> + 11221: < 0.007112, -0.002729, 0.003924> + 11222: < 0.006937, -0.002701, 0.004273> + 11223: < 0.006828, -0.003060, 0.004223> + 11224: < 0.007112, -0.002729, 0.003924> + 11225: < 0.007212, -0.002356, 0.003965> + 11226: < 0.007033, -0.002333, 0.004318> + 11227: < 0.006937, -0.002701, 0.004273> + 11228: < 0.007212, -0.002356, 0.003965> + 11229: < 0.007297, -0.001975, 0.004002> + 11230: < 0.007115, -0.001957, 0.004360> + 11231: < 0.007033, -0.002333, 0.004318> + 11232: < 0.007297, -0.001975, 0.004002> + 11233: < 0.007367, -0.001588, 0.004034> + 11234: < 0.007183, -0.001574, 0.004395> + 11235: < 0.007115, -0.001957, 0.004360> + 11236: < 0.007367, -0.001588, 0.004034> + 11237: < 0.007423, -0.001196, 0.004061> + 11238: < 0.007236, -0.001185, 0.004424> + 11239: < 0.007183, -0.001574, 0.004395> + 11240: < 0.007423, -0.001196, 0.004061> + 11241: < 0.007462, -0.000799, 0.004081> + 11242: < 0.007275, -0.000792, 0.004446> + 11243: < 0.007236, -0.001185, 0.004424> + 11244: < 0.007462, -0.000799, 0.004081> + 11245: < 0.007487, -0.000400, 0.004093> + 11246: < 0.007298, -0.000397, 0.004460> + 11247: < 0.007275, -0.000792, 0.004446> + 11248: < 0.007487, -0.000400, 0.004093> + 11249: < 0.007495, 0.000000, 0.004098> + 11250: < 0.007306, 0.000000, 0.004465> + 11251: < 0.007298, -0.000397, 0.004460> + 11252: < 0.007495, 0.000000, 0.004098> + 11253: < 0.007487, 0.000400, 0.004093> + 11254: < 0.007298, 0.000397, 0.004460> + 11255: < 0.007306, 0.000000, 0.004465> + 11256: < 0.007487, 0.000400, 0.004093> + 11257: < 0.007462, 0.000799, 0.004081> + 11258: < 0.007275, 0.000792, 0.004446> + 11259: < 0.007298, 0.000397, 0.004460> + 11260: < 0.007462, 0.000799, 0.004081> + 11261: < 0.007423, 0.001196, 0.004061> + 11262: < 0.007236, 0.001185, 0.004424> + 11263: < 0.007275, 0.000792, 0.004446> + 11264: < 0.007423, 0.001196, 0.004061> + 11265: < 0.007367, 0.001588, 0.004034> + 11266: < 0.007183, 0.001574, 0.004395> + 11267: < 0.007236, 0.001185, 0.004424> + 11268: < 0.007367, 0.001588, 0.004034> + 11269: < 0.007297, 0.001975, 0.004002> + 11270: < 0.007115, 0.001957, 0.004360> + 11271: < 0.007183, 0.001574, 0.004395> + 11272: < 0.007297, 0.001975, 0.004002> + 11273: < 0.007212, 0.002356, 0.003965> + 11274: < 0.007033, 0.002333, 0.004318> + 11275: < 0.007115, 0.001957, 0.004360> + 11276: < 0.007212, 0.002356, 0.003965> + 11277: < 0.007112, 0.002729, 0.003924> + 11278: < 0.006937, 0.002701, 0.004273> + 11279: < 0.007033, 0.002333, 0.004318> + 11280: < 0.007112, 0.002729, 0.003924> + 11281: < 0.006998, 0.003093, 0.003880> + 11282: < 0.006828, 0.003060, 0.004223> + 11283: < 0.006937, 0.002701, 0.004273> + 11284: < 0.006998, 0.003093, 0.003880> + 11285: < 0.006870, 0.003446, 0.003834> + 11286: < 0.006705, 0.003407, 0.004170> + 11287: < 0.006828, 0.003060, 0.004223> + 11288: < 0.006870, 0.003446, 0.003834> + 11289: < 0.006727, 0.003788, 0.003788> + 11290: < 0.006570, 0.003743, 0.004117> + 11291: < 0.006705, 0.003407, 0.004170> + 11292: < 0.006727, 0.003788, 0.003788> + 11293: < 0.006570, 0.004117, 0.003743> + 11294: < 0.006421, 0.004065, 0.004065> + 11295: < 0.006570, 0.003743, 0.004117> + 11296: < 0.006570, 0.004117, 0.003743> + 11297: < 0.006397, 0.004434, 0.003701> + 11298: < 0.006257, 0.004374, 0.004017> + 11299: < 0.006421, 0.004065, 0.004065> + 11300: < 0.006397, 0.004434, 0.003701> + 11301: < 0.006210, 0.004736, 0.003666> + 11302: < 0.006080, 0.004668, 0.003975> + 11303: < 0.006257, 0.004374, 0.004017> + 11304: < 0.006210, 0.004736, 0.003666> + 11305: < 0.006006, 0.005023, 0.003637> + 11306: < 0.005887, 0.004946, 0.003941> + 11307: < 0.006080, 0.004668, 0.003975> + 11308: < 0.006006, 0.005023, 0.003637> + 11309: < 0.005786, 0.005294, 0.003619> + 11310: < 0.005678, 0.005207, 0.003918> + 11311: < 0.005887, 0.004946, 0.003941> + 11312: < 0.005678, -0.005207, 0.003918> + 11313: < 0.005887, -0.004946, 0.003941> + 11314: < 0.005760, -0.004870, 0.004226> + 11315: < 0.005564, -0.005120, 0.004199> + 11316: < 0.005887, -0.004946, 0.003941> + 11317: < 0.006080, -0.004668, 0.003975> + 11318: < 0.005939, -0.004602, 0.004267> + 11319: < 0.005760, -0.004870, 0.004226> + 11320: < 0.006080, -0.004668, 0.003975> + 11321: < 0.006257, -0.004374, 0.004017> + 11322: < 0.006105, -0.004318, 0.004318> + 11323: < 0.005939, -0.004602, 0.004267> + 11324: < 0.006257, -0.004374, 0.004017> + 11325: < 0.006421, -0.004065, 0.004065> + 11326: < 0.006257, -0.004017, 0.004374> + 11327: < 0.006105, -0.004318, 0.004318> + 11328: < 0.006421, -0.004065, 0.004065> + 11329: < 0.006570, -0.003743, 0.004117> + 11330: < 0.006397, -0.003701, 0.004434> + 11331: < 0.006257, -0.004017, 0.004374> + 11332: < 0.006570, -0.003743, 0.004117> + 11333: < 0.006705, -0.003407, 0.004170> + 11334: < 0.006525, -0.003372, 0.004494> + 11335: < 0.006397, -0.003701, 0.004434> + 11336: < 0.006705, -0.003407, 0.004170> + 11337: < 0.006828, -0.003060, 0.004223> + 11338: < 0.006641, -0.003030, 0.004553> + 11339: < 0.006525, -0.003372, 0.004494> + 11340: < 0.006828, -0.003060, 0.004223> + 11341: < 0.006937, -0.002701, 0.004273> + 11342: < 0.006745, -0.002676, 0.004609> + 11343: < 0.006641, -0.003030, 0.004553> + 11344: < 0.006937, -0.002701, 0.004273> + 11345: < 0.007033, -0.002333, 0.004318> + 11346: < 0.006836, -0.002313, 0.004659> + 11347: < 0.006745, -0.002676, 0.004609> + 11348: < 0.007033, -0.002333, 0.004318> + 11349: < 0.007115, -0.001957, 0.004360> + 11350: < 0.006915, -0.001940, 0.004705> + 11351: < 0.006836, -0.002313, 0.004659> + 11352: < 0.007115, -0.001957, 0.004360> + 11353: < 0.007183, -0.001574, 0.004395> + 11354: < 0.006980, -0.001561, 0.004744> + 11355: < 0.006915, -0.001940, 0.004705> + 11356: < 0.007183, -0.001574, 0.004395> + 11357: < 0.007236, -0.001185, 0.004424> + 11358: < 0.007032, -0.001176, 0.004776> + 11359: < 0.006980, -0.001561, 0.004744> + 11360: < 0.007236, -0.001185, 0.004424> + 11361: < 0.007275, -0.000792, 0.004446> + 11362: < 0.007069, -0.000786, 0.004800> + 11363: < 0.007032, -0.001176, 0.004776> + 11364: < 0.007275, -0.000792, 0.004446> + 11365: < 0.007298, -0.000397, 0.004460> + 11366: < 0.007092, -0.000394, 0.004815> + 11367: < 0.007069, -0.000786, 0.004800> + 11368: < 0.007298, -0.000397, 0.004460> + 11369: < 0.007306, 0.000000, 0.004465> + 11370: < 0.007099, 0.000000, 0.004820> + 11371: < 0.007092, -0.000394, 0.004815> + 11372: < 0.007306, 0.000000, 0.004465> + 11373: < 0.007298, 0.000397, 0.004460> + 11374: < 0.007092, 0.000394, 0.004815> + 11375: < 0.007099, 0.000000, 0.004820> + 11376: < 0.007298, 0.000397, 0.004460> + 11377: < 0.007275, 0.000792, 0.004446> + 11378: < 0.007069, 0.000786, 0.004800> + 11379: < 0.007092, 0.000394, 0.004815> + 11380: < 0.007275, 0.000792, 0.004446> + 11381: < 0.007236, 0.001185, 0.004424> + 11382: < 0.007032, 0.001176, 0.004776> + 11383: < 0.007069, 0.000786, 0.004800> + 11384: < 0.007236, 0.001185, 0.004424> + 11385: < 0.007183, 0.001574, 0.004395> + 11386: < 0.006980, 0.001561, 0.004744> + 11387: < 0.007032, 0.001176, 0.004776> + 11388: < 0.007183, 0.001574, 0.004395> + 11389: < 0.007115, 0.001957, 0.004360> + 11390: < 0.006915, 0.001940, 0.004705> + 11391: < 0.006980, 0.001561, 0.004744> + 11392: < 0.007115, 0.001957, 0.004360> + 11393: < 0.007033, 0.002333, 0.004318> + 11394: < 0.006836, 0.002313, 0.004659> + 11395: < 0.006915, 0.001940, 0.004705> + 11396: < 0.007033, 0.002333, 0.004318> + 11397: < 0.006937, 0.002701, 0.004273> + 11398: < 0.006745, 0.002676, 0.004609> + 11399: < 0.006836, 0.002313, 0.004659> + 11400: < 0.006937, 0.002701, 0.004273> + 11401: < 0.006828, 0.003060, 0.004223> + 11402: < 0.006641, 0.003030, 0.004553> + 11403: < 0.006745, 0.002676, 0.004609> + 11404: < 0.006828, 0.003060, 0.004223> + 11405: < 0.006705, 0.003407, 0.004170> + 11406: < 0.006525, 0.003372, 0.004494> + 11407: < 0.006641, 0.003030, 0.004553> + 11408: < 0.006705, 0.003407, 0.004170> + 11409: < 0.006570, 0.003743, 0.004117> + 11410: < 0.006397, 0.003701, 0.004434> + 11411: < 0.006525, 0.003372, 0.004494> + 11412: < 0.006570, 0.003743, 0.004117> + 11413: < 0.006421, 0.004065, 0.004065> + 11414: < 0.006257, 0.004017, 0.004374> + 11415: < 0.006397, 0.003701, 0.004434> + 11416: < 0.006421, 0.004065, 0.004065> + 11417: < 0.006257, 0.004374, 0.004017> + 11418: < 0.006105, 0.004318, 0.004318> + 11419: < 0.006257, 0.004017, 0.004374> + 11420: < 0.006257, 0.004374, 0.004017> + 11421: < 0.006080, 0.004668, 0.003975> + 11422: < 0.005939, 0.004602, 0.004267> + 11423: < 0.006105, 0.004318, 0.004318> + 11424: < 0.006080, 0.004668, 0.003975> + 11425: < 0.005887, 0.004946, 0.003941> + 11426: < 0.005760, 0.004870, 0.004226> + 11427: < 0.005939, 0.004602, 0.004267> + 11428: < 0.005887, 0.004946, 0.003941> + 11429: < 0.005678, 0.005207, 0.003918> + 11430: < 0.005564, 0.005120, 0.004199> + 11431: < 0.005760, 0.004870, 0.004226> + 11432: < 0.005564, -0.005120, 0.004199> + 11433: < 0.005760, -0.004870, 0.004226> + 11434: < 0.005623, -0.004798, 0.004494> + 11435: < 0.005446, -0.005034, 0.004460> + 11436: < 0.005760, -0.004870, 0.004226> + 11437: < 0.005939, -0.004602, 0.004267> + 11438: < 0.005788, -0.004542, 0.004542> + 11439: < 0.005623, -0.004798, 0.004494> + 11440: < 0.005939, -0.004602, 0.004267> + 11441: < 0.006105, -0.004318, 0.004318> + 11442: < 0.005939, -0.004267, 0.004602> + 11443: < 0.005788, -0.004542, 0.004542> + 11444: < 0.006105, -0.004318, 0.004318> + 11445: < 0.006257, -0.004017, 0.004374> + 11446: < 0.006080, -0.003975, 0.004668> + 11447: < 0.005939, -0.004267, 0.004602> + 11448: < 0.006257, -0.004017, 0.004374> + 11449: < 0.006397, -0.003701, 0.004434> + 11450: < 0.006210, -0.003666, 0.004736> + 11451: < 0.006080, -0.003975, 0.004668> + 11452: < 0.006397, -0.003701, 0.004434> + 11453: < 0.006525, -0.003372, 0.004494> + 11454: < 0.006329, -0.003342, 0.004804> + 11455: < 0.006210, -0.003666, 0.004736> + 11456: < 0.006525, -0.003372, 0.004494> + 11457: < 0.006641, -0.003030, 0.004553> + 11458: < 0.006439, -0.003004, 0.004870> + 11459: < 0.006329, -0.003342, 0.004804> + 11460: < 0.006641, -0.003030, 0.004553> + 11461: < 0.006745, -0.002676, 0.004609> + 11462: < 0.006537, -0.002655, 0.004931> + 11463: < 0.006439, -0.003004, 0.004870> + 11464: < 0.006745, -0.002676, 0.004609> + 11465: < 0.006836, -0.002313, 0.004659> + 11466: < 0.006623, -0.002295, 0.004987> + 11467: < 0.006537, -0.002655, 0.004931> + 11468: < 0.006836, -0.002313, 0.004659> + 11469: < 0.006915, -0.001940, 0.004705> + 11470: < 0.006698, -0.001926, 0.005037> + 11471: < 0.006623, -0.002295, 0.004987> + 11472: < 0.006915, -0.001940, 0.004705> + 11473: < 0.006980, -0.001561, 0.004744> + 11474: < 0.006761, -0.001550, 0.005080> + 11475: < 0.006698, -0.001926, 0.005037> + 11476: < 0.006980, -0.001561, 0.004744> + 11477: < 0.007032, -0.001176, 0.004776> + 11478: < 0.006810, -0.001168, 0.005114> + 11479: < 0.006761, -0.001550, 0.005080> + 11480: < 0.007032, -0.001176, 0.004776> + 11481: < 0.007069, -0.000786, 0.004800> + 11482: < 0.006846, -0.000781, 0.005140> + 11483: < 0.006810, -0.001168, 0.005114> + 11484: < 0.007069, -0.000786, 0.004800> + 11485: < 0.007092, -0.000394, 0.004815> + 11486: < 0.006868, -0.000391, 0.005156> + 11487: < 0.006846, -0.000781, 0.005140> + 11488: < 0.007092, -0.000394, 0.004815> + 11489: < 0.007099, 0.000000, 0.004820> + 11490: < 0.006875, 0.000000, 0.005162> + 11491: < 0.006868, -0.000391, 0.005156> + 11492: < 0.007099, 0.000000, 0.004820> + 11493: < 0.007092, 0.000394, 0.004815> + 11494: < 0.006868, 0.000391, 0.005156> + 11495: < 0.006875, 0.000000, 0.005162> + 11496: < 0.007092, 0.000394, 0.004815> + 11497: < 0.007069, 0.000786, 0.004800> + 11498: < 0.006846, 0.000781, 0.005140> + 11499: < 0.006868, 0.000391, 0.005156> + 11500: < 0.007069, 0.000786, 0.004800> + 11501: < 0.007032, 0.001176, 0.004776> + 11502: < 0.006810, 0.001168, 0.005114> + 11503: < 0.006846, 0.000781, 0.005140> + 11504: < 0.007032, 0.001176, 0.004776> + 11505: < 0.006980, 0.001561, 0.004744> + 11506: < 0.006761, 0.001550, 0.005080> + 11507: < 0.006810, 0.001168, 0.005114> + 11508: < 0.006980, 0.001561, 0.004744> + 11509: < 0.006915, 0.001940, 0.004705> + 11510: < 0.006698, 0.001926, 0.005037> + 11511: < 0.006761, 0.001550, 0.005080> + 11512: < 0.006915, 0.001940, 0.004705> + 11513: < 0.006836, 0.002313, 0.004659> + 11514: < 0.006623, 0.002295, 0.004987> + 11515: < 0.006698, 0.001926, 0.005037> + 11516: < 0.006836, 0.002313, 0.004659> + 11517: < 0.006745, 0.002676, 0.004609> + 11518: < 0.006537, 0.002655, 0.004931> + 11519: < 0.006623, 0.002295, 0.004987> + 11520: < 0.006745, 0.002676, 0.004609> + 11521: < 0.006641, 0.003030, 0.004553> + 11522: < 0.006439, 0.003004, 0.004870> + 11523: < 0.006537, 0.002655, 0.004931> + 11524: < 0.006641, 0.003030, 0.004553> + 11525: < 0.006525, 0.003372, 0.004494> + 11526: < 0.006329, 0.003342, 0.004804> + 11527: < 0.006439, 0.003004, 0.004870> + 11528: < 0.006525, 0.003372, 0.004494> + 11529: < 0.006397, 0.003701, 0.004434> + 11530: < 0.006210, 0.003666, 0.004736> + 11531: < 0.006329, 0.003342, 0.004804> + 11532: < 0.006397, 0.003701, 0.004434> + 11533: < 0.006257, 0.004017, 0.004374> + 11534: < 0.006080, 0.003975, 0.004668> + 11535: < 0.006210, 0.003666, 0.004736> + 11536: < 0.006257, 0.004017, 0.004374> + 11537: < 0.006105, 0.004318, 0.004318> + 11538: < 0.005939, 0.004267, 0.004602> + 11539: < 0.006080, 0.003975, 0.004668> + 11540: < 0.006105, 0.004318, 0.004318> + 11541: < 0.005939, 0.004602, 0.004267> + 11542: < 0.005788, 0.004542, 0.004542> + 11543: < 0.005939, 0.004267, 0.004602> + 11544: < 0.005939, 0.004602, 0.004267> + 11545: < 0.005760, 0.004870, 0.004226> + 11546: < 0.005623, 0.004798, 0.004494> + 11547: < 0.005788, 0.004542, 0.004542> + 11548: < 0.005760, 0.004870, 0.004226> + 11549: < 0.005564, 0.005120, 0.004199> + 11550: < 0.005446, 0.005034, 0.004460> + 11551: < 0.005623, 0.004798, 0.004494> + 11552: < 0.005446, -0.005034, 0.004460> + 11553: < 0.005623, -0.004798, 0.004494> + 11554: < 0.005479, -0.004738, 0.004738> + 11555: < 0.005326, -0.004959, 0.004691> + 11556: < 0.005623, -0.004798, 0.004494> + 11557: < 0.005788, -0.004542, 0.004542> + 11558: < 0.005623, -0.004494, 0.004798> + 11559: < 0.005479, -0.004738, 0.004738> + 11560: < 0.005788, -0.004542, 0.004542> + 11561: < 0.005939, -0.004267, 0.004602> + 11562: < 0.005760, -0.004226, 0.004870> + 11563: < 0.005623, -0.004494, 0.004798> + 11564: < 0.005939, -0.004267, 0.004602> + 11565: < 0.006080, -0.003975, 0.004668> + 11566: < 0.005887, -0.003941, 0.004946> + 11567: < 0.005760, -0.004226, 0.004870> + 11568: < 0.006080, -0.003975, 0.004668> + 11569: < 0.006210, -0.003666, 0.004736> + 11570: < 0.006006, -0.003637, 0.005023> + 11571: < 0.005887, -0.003941, 0.004946> + 11572: < 0.006210, -0.003666, 0.004736> + 11573: < 0.006329, -0.003342, 0.004804> + 11574: < 0.006117, -0.003318, 0.005099> + 11575: < 0.006006, -0.003637, 0.005023> + 11576: < 0.006329, -0.003342, 0.004804> + 11577: < 0.006439, -0.003004, 0.004870> + 11578: < 0.006219, -0.002984, 0.005172> + 11579: < 0.006117, -0.003318, 0.005099> + 11580: < 0.006439, -0.003004, 0.004870> + 11581: < 0.006537, -0.002655, 0.004931> + 11582: < 0.006311, -0.002638, 0.005240> + 11583: < 0.006219, -0.002984, 0.005172> + 11584: < 0.006537, -0.002655, 0.004931> + 11585: < 0.006623, -0.002295, 0.004987> + 11586: < 0.006393, -0.002281, 0.005301> + 11587: < 0.006311, -0.002638, 0.005240> + 11588: < 0.006623, -0.002295, 0.004987> + 11589: < 0.006698, -0.001926, 0.005037> + 11590: < 0.006464, -0.001915, 0.005355> + 11591: < 0.006393, -0.002281, 0.005301> + 11592: < 0.006698, -0.001926, 0.005037> + 11593: < 0.006761, -0.001550, 0.005080> + 11594: < 0.006523, -0.001541, 0.005401> + 11595: < 0.006464, -0.001915, 0.005355> + 11596: < 0.006761, -0.001550, 0.005080> + 11597: < 0.006810, -0.001168, 0.005114> + 11598: < 0.006570, -0.001161, 0.005438> + 11599: < 0.006523, -0.001541, 0.005401> + 11600: < 0.006810, -0.001168, 0.005114> + 11601: < 0.006846, -0.000781, 0.005140> + 11602: < 0.006605, -0.000777, 0.005466> + 11603: < 0.006570, -0.001161, 0.005438> + 11604: < 0.006846, -0.000781, 0.005140> + 11605: < 0.006868, -0.000391, 0.005156> + 11606: < 0.006626, -0.000389, 0.005483> + 11607: < 0.006605, -0.000777, 0.005466> + 11608: < 0.006868, -0.000391, 0.005156> + 11609: < 0.006875, 0.000000, 0.005162> + 11610: < 0.006633, 0.000000, 0.005489> + 11611: < 0.006626, -0.000389, 0.005483> + 11612: < 0.006875, 0.000000, 0.005162> + 11613: < 0.006868, 0.000391, 0.005156> + 11614: < 0.006626, 0.000389, 0.005483> + 11615: < 0.006633, 0.000000, 0.005489> + 11616: < 0.006868, 0.000391, 0.005156> + 11617: < 0.006846, 0.000781, 0.005140> + 11618: < 0.006605, 0.000777, 0.005466> + 11619: < 0.006626, 0.000389, 0.005483> + 11620: < 0.006846, 0.000781, 0.005140> + 11621: < 0.006810, 0.001168, 0.005114> + 11622: < 0.006570, 0.001161, 0.005438> + 11623: < 0.006605, 0.000777, 0.005466> + 11624: < 0.006810, 0.001168, 0.005114> + 11625: < 0.006761, 0.001550, 0.005080> + 11626: < 0.006523, 0.001541, 0.005401> + 11627: < 0.006570, 0.001161, 0.005438> + 11628: < 0.006761, 0.001550, 0.005080> + 11629: < 0.006698, 0.001926, 0.005037> + 11630: < 0.006464, 0.001915, 0.005355> + 11631: < 0.006523, 0.001541, 0.005401> + 11632: < 0.006698, 0.001926, 0.005037> + 11633: < 0.006623, 0.002295, 0.004987> + 11634: < 0.006393, 0.002281, 0.005301> + 11635: < 0.006464, 0.001915, 0.005355> + 11636: < 0.006623, 0.002295, 0.004987> + 11637: < 0.006537, 0.002655, 0.004931> + 11638: < 0.006311, 0.002638, 0.005240> + 11639: < 0.006393, 0.002281, 0.005301> + 11640: < 0.006537, 0.002655, 0.004931> + 11641: < 0.006439, 0.003004, 0.004870> + 11642: < 0.006219, 0.002984, 0.005172> + 11643: < 0.006311, 0.002638, 0.005240> + 11644: < 0.006439, 0.003004, 0.004870> + 11645: < 0.006329, 0.003342, 0.004804> + 11646: < 0.006117, 0.003318, 0.005099> + 11647: < 0.006219, 0.002984, 0.005172> + 11648: < 0.006329, 0.003342, 0.004804> + 11649: < 0.006210, 0.003666, 0.004736> + 11650: < 0.006006, 0.003637, 0.005023> + 11651: < 0.006117, 0.003318, 0.005099> + 11652: < 0.006210, 0.003666, 0.004736> + 11653: < 0.006080, 0.003975, 0.004668> + 11654: < 0.005887, 0.003941, 0.004946> + 11655: < 0.006006, 0.003637, 0.005023> + 11656: < 0.006080, 0.003975, 0.004668> + 11657: < 0.005939, 0.004267, 0.004602> + 11658: < 0.005760, 0.004226, 0.004870> + 11659: < 0.005887, 0.003941, 0.004946> + 11660: < 0.005939, 0.004267, 0.004602> + 11661: < 0.005788, 0.004542, 0.004542> + 11662: < 0.005623, 0.004494, 0.004798> + 11663: < 0.005760, 0.004226, 0.004870> + 11664: < 0.005788, 0.004542, 0.004542> + 11665: < 0.005623, 0.004798, 0.004494> + 11666: < 0.005479, 0.004738, 0.004738> + 11667: < 0.005623, 0.004494, 0.004798> + 11668: < 0.005623, 0.004798, 0.004494> + 11669: < 0.005446, 0.005034, 0.004460> + 11670: < 0.005326, 0.004959, 0.004691> + 11671: < 0.005479, 0.004738, 0.004738> + 11672: < 0.005326, -0.004959, 0.004691> + 11673: < 0.005479, -0.004738, 0.004738> + 11674: < 0.005326, -0.004691, 0.004959> + 11675: < 0.005206, -0.004894, 0.004894> + 11676: < 0.005479, -0.004738, 0.004738> + 11677: < 0.005623, -0.004494, 0.004798> + 11678: < 0.005446, -0.004460, 0.005034> + 11679: < 0.005326, -0.004691, 0.004959> + 11680: < 0.005623, -0.004494, 0.004798> + 11681: < 0.005760, -0.004226, 0.004870> + 11682: < 0.005564, -0.004199, 0.005120> + 11683: < 0.005446, -0.004460, 0.005034> + 11684: < 0.005760, -0.004226, 0.004870> + 11685: < 0.005887, -0.003941, 0.004946> + 11686: < 0.005678, -0.003918, 0.005207> + 11687: < 0.005564, -0.004199, 0.005120> + 11688: < 0.005887, -0.003941, 0.004946> + 11689: < 0.006006, -0.003637, 0.005023> + 11690: < 0.005786, -0.003619, 0.005294> + 11691: < 0.005678, -0.003918, 0.005207> + 11692: < 0.006006, -0.003637, 0.005023> + 11693: < 0.006117, -0.003318, 0.005099> + 11694: < 0.005888, -0.003302, 0.005379> + 11695: < 0.005786, -0.003619, 0.005294> + 11696: < 0.006117, -0.003318, 0.005099> + 11697: < 0.006219, -0.002984, 0.005172> + 11698: < 0.005983, -0.002971, 0.005459> + 11699: < 0.005888, -0.003302, 0.005379> + 11700: < 0.006219, -0.002984, 0.005172> + 11701: < 0.006311, -0.002638, 0.005240> + 11702: < 0.006069, -0.002627, 0.005533> + 11703: < 0.005983, -0.002971, 0.005459> + 11704: < 0.006311, -0.002638, 0.005240> + 11705: < 0.006393, -0.002281, 0.005301> + 11706: < 0.006146, -0.002272, 0.005599> + 11707: < 0.006069, -0.002627, 0.005533> + 11708: < 0.006393, -0.002281, 0.005301> + 11709: < 0.006464, -0.001915, 0.005355> + 11710: < 0.006212, -0.001908, 0.005657> + 11711: < 0.006146, -0.002272, 0.005599> + 11712: < 0.006464, -0.001915, 0.005355> + 11713: < 0.006523, -0.001541, 0.005401> + 11714: < 0.006269, -0.001536, 0.005707> + 11715: < 0.006212, -0.001908, 0.005657> + 11716: < 0.006523, -0.001541, 0.005401> + 11717: < 0.006570, -0.001161, 0.005438> + 11718: < 0.006313, -0.001157, 0.005747> + 11719: < 0.006269, -0.001536, 0.005707> + 11720: < 0.006570, -0.001161, 0.005438> + 11721: < 0.006605, -0.000777, 0.005466> + 11722: < 0.006346, -0.000774, 0.005776> + 11723: < 0.006313, -0.001157, 0.005747> + 11724: < 0.006605, -0.000777, 0.005466> + 11725: < 0.006626, -0.000389, 0.005483> + 11726: < 0.006366, -0.000388, 0.005794> + 11727: < 0.006346, -0.000774, 0.005776> + 11728: < 0.006626, -0.000389, 0.005483> + 11729: < 0.006633, 0.000000, 0.005489> + 11730: < 0.006373, 0.000000, 0.005801> + 11731: < 0.006366, -0.000388, 0.005794> + 11732: < 0.006633, 0.000000, 0.005489> + 11733: < 0.006626, 0.000389, 0.005483> + 11734: < 0.006366, 0.000388, 0.005794> + 11735: < 0.006373, 0.000000, 0.005801> + 11736: < 0.006626, 0.000389, 0.005483> + 11737: < 0.006605, 0.000777, 0.005466> + 11738: < 0.006346, 0.000774, 0.005776> + 11739: < 0.006366, 0.000388, 0.005794> + 11740: < 0.006605, 0.000777, 0.005466> + 11741: < 0.006570, 0.001161, 0.005438> + 11742: < 0.006313, 0.001157, 0.005747> + 11743: < 0.006346, 0.000774, 0.005776> + 11744: < 0.006570, 0.001161, 0.005438> + 11745: < 0.006523, 0.001541, 0.005401> + 11746: < 0.006269, 0.001536, 0.005707> + 11747: < 0.006313, 0.001157, 0.005747> + 11748: < 0.006523, 0.001541, 0.005401> + 11749: < 0.006464, 0.001915, 0.005355> + 11750: < 0.006212, 0.001908, 0.005657> + 11751: < 0.006269, 0.001536, 0.005707> + 11752: < 0.006464, 0.001915, 0.005355> + 11753: < 0.006393, 0.002281, 0.005301> + 11754: < 0.006146, 0.002272, 0.005599> + 11755: < 0.006212, 0.001908, 0.005657> + 11756: < 0.006393, 0.002281, 0.005301> + 11757: < 0.006311, 0.002638, 0.005240> + 11758: < 0.006069, 0.002627, 0.005533> + 11759: < 0.006146, 0.002272, 0.005599> + 11760: < 0.006311, 0.002638, 0.005240> + 11761: < 0.006219, 0.002984, 0.005172> + 11762: < 0.005983, 0.002971, 0.005459> + 11763: < 0.006069, 0.002627, 0.005533> + 11764: < 0.006219, 0.002984, 0.005172> + 11765: < 0.006117, 0.003318, 0.005099> + 11766: < 0.005888, 0.003302, 0.005379> + 11767: < 0.005983, 0.002971, 0.005459> + 11768: < 0.006117, 0.003318, 0.005099> + 11769: < 0.006006, 0.003637, 0.005023> + 11770: < 0.005786, 0.003619, 0.005294> + 11771: < 0.005888, 0.003302, 0.005379> + 11772: < 0.006006, 0.003637, 0.005023> + 11773: < 0.005887, 0.003941, 0.004946> + 11774: < 0.005678, 0.003918, 0.005207> + 11775: < 0.005786, 0.003619, 0.005294> + 11776: < 0.005887, 0.003941, 0.004946> + 11777: < 0.005760, 0.004226, 0.004870> + 11778: < 0.005564, 0.004199, 0.005120> + 11779: < 0.005678, 0.003918, 0.005207> + 11780: < 0.005760, 0.004226, 0.004870> + 11781: < 0.005623, 0.004494, 0.004798> + 11782: < 0.005446, 0.004460, 0.005034> + 11783: < 0.005564, 0.004199, 0.005120> + 11784: < 0.005623, 0.004494, 0.004798> + 11785: < 0.005479, 0.004738, 0.004738> + 11786: < 0.005326, 0.004691, 0.004959> + 11787: < 0.005446, 0.004460, 0.005034> + 11788: < 0.005479, 0.004738, 0.004738> + 11789: < 0.005326, 0.004959, 0.004691> + 11790: < 0.005206, 0.004894, 0.004894> + 11791: < 0.005326, 0.004691, 0.004959> + 11792: < 0.005000, -0.005000, -0.005000> + 11793: < 0.005081, -0.004833, -0.005081> + 11794: < 0.005206, -0.004894, -0.004894> + 11795: < 0.005081, -0.005081, -0.004833> + 11796: < 0.005081, -0.004833, -0.005081> + 11797: < 0.005166, -0.004647, -0.005166> + 11798: < 0.005326, -0.004691, -0.004959> + 11799: < 0.005206, -0.004894, -0.004894> + 11800: < 0.005166, -0.004647, -0.005166> + 11801: < 0.005255, -0.004436, -0.005255> + 11802: < 0.005446, -0.004460, -0.005034> + 11803: < 0.005326, -0.004691, -0.004959> + 11804: < 0.005255, -0.004436, -0.005255> + 11805: < 0.005351, -0.004188, -0.005351> + 11806: < 0.005564, -0.004199, -0.005120> + 11807: < 0.005446, -0.004460, -0.005034> + 11808: < 0.005351, -0.004188, -0.005351> + 11809: < 0.005451, -0.003910, -0.005451> + 11810: < 0.005678, -0.003918, -0.005207> + 11811: < 0.005564, -0.004199, -0.005120> + 11812: < 0.005451, -0.003910, -0.005451> + 11813: < 0.005549, -0.003612, -0.005549> + 11814: < 0.005786, -0.003619, -0.005294> + 11815: < 0.005678, -0.003918, -0.005207> + 11816: < 0.005549, -0.003612, -0.005549> + 11817: < 0.005642, -0.003297, -0.005642> + 11818: < 0.005888, -0.003302, -0.005379> + 11819: < 0.005786, -0.003619, -0.005294> + 11820: < 0.005642, -0.003297, -0.005642> + 11821: < 0.005729, -0.002966, -0.005729> + 11822: < 0.005983, -0.002971, -0.005459> + 11823: < 0.005888, -0.003302, -0.005379> + 11824: < 0.005729, -0.002966, -0.005729> + 11825: < 0.005809, -0.002623, -0.005809> + 11826: < 0.006069, -0.002627, -0.005533> + 11827: < 0.005983, -0.002971, -0.005459> + 11828: < 0.005809, -0.002623, -0.005809> + 11829: < 0.005881, -0.002269, -0.005881> + 11830: < 0.006146, -0.002272, -0.005599> + 11831: < 0.006069, -0.002627, -0.005533> + 11832: < 0.005881, -0.002269, -0.005881> + 11833: < 0.005944, -0.001906, -0.005944> + 11834: < 0.006212, -0.001908, -0.005657> + 11835: < 0.006146, -0.002272, -0.005599> + 11836: < 0.005944, -0.001906, -0.005944> + 11837: < 0.005996, -0.001534, -0.005996> + 11838: < 0.006269, -0.001536, -0.005707> + 11839: < 0.006212, -0.001908, -0.005657> + 11840: < 0.005996, -0.001534, -0.005996> + 11841: < 0.006039, -0.001156, -0.006039> + 11842: < 0.006313, -0.001157, -0.005747> + 11843: < 0.006269, -0.001536, -0.005707> + 11844: < 0.006039, -0.001156, -0.006039> + 11845: < 0.006070, -0.000773, -0.006070> + 11846: < 0.006346, -0.000774, -0.005776> + 11847: < 0.006313, -0.001157, -0.005747> + 11848: < 0.006070, -0.000773, -0.006070> + 11849: < 0.006089, -0.000387, -0.006089> + 11850: < 0.006366, -0.000388, -0.005794> + 11851: < 0.006346, -0.000774, -0.005776> + 11852: < 0.006089, -0.000387, -0.006089> + 11853: < 0.006096, -0.000000, -0.006096> + 11854: < 0.006373, -0.000000, -0.005801> + 11855: < 0.006366, -0.000388, -0.005794> + 11856: < 0.006096, -0.000000, -0.006096> + 11857: < 0.006089, 0.000387, -0.006089> + 11858: < 0.006366, 0.000388, -0.005794> + 11859: < 0.006373, -0.000000, -0.005801> + 11860: < 0.006089, 0.000387, -0.006089> + 11861: < 0.006070, 0.000773, -0.006070> + 11862: < 0.006346, 0.000774, -0.005776> + 11863: < 0.006366, 0.000388, -0.005794> + 11864: < 0.006070, 0.000773, -0.006070> + 11865: < 0.006039, 0.001156, -0.006039> + 11866: < 0.006313, 0.001157, -0.005747> + 11867: < 0.006346, 0.000774, -0.005776> + 11868: < 0.006039, 0.001156, -0.006039> + 11869: < 0.005996, 0.001534, -0.005996> + 11870: < 0.006269, 0.001536, -0.005707> + 11871: < 0.006313, 0.001157, -0.005747> + 11872: < 0.005996, 0.001534, -0.005996> + 11873: < 0.005944, 0.001906, -0.005944> + 11874: < 0.006212, 0.001908, -0.005657> + 11875: < 0.006269, 0.001536, -0.005707> + 11876: < 0.005944, 0.001906, -0.005944> + 11877: < 0.005881, 0.002269, -0.005881> + 11878: < 0.006146, 0.002272, -0.005599> + 11879: < 0.006212, 0.001908, -0.005657> + 11880: < 0.005881, 0.002269, -0.005881> + 11881: < 0.005809, 0.002623, -0.005809> + 11882: < 0.006069, 0.002627, -0.005533> + 11883: < 0.006146, 0.002272, -0.005599> + 11884: < 0.005809, 0.002623, -0.005809> + 11885: < 0.005729, 0.002966, -0.005729> + 11886: < 0.005983, 0.002971, -0.005459> + 11887: < 0.006069, 0.002627, -0.005533> + 11888: < 0.005729, 0.002966, -0.005729> + 11889: < 0.005642, 0.003297, -0.005642> + 11890: < 0.005888, 0.003302, -0.005379> + 11891: < 0.005983, 0.002971, -0.005459> + 11892: < 0.005642, 0.003297, -0.005642> + 11893: < 0.005549, 0.003612, -0.005549> + 11894: < 0.005786, 0.003619, -0.005294> + 11895: < 0.005888, 0.003302, -0.005379> + 11896: < 0.005549, 0.003612, -0.005549> + 11897: < 0.005451, 0.003910, -0.005451> + 11898: < 0.005678, 0.003918, -0.005207> + 11899: < 0.005786, 0.003619, -0.005294> + 11900: < 0.005451, 0.003910, -0.005451> + 11901: < 0.005351, 0.004188, -0.005351> + 11902: < 0.005564, 0.004199, -0.005120> + 11903: < 0.005678, 0.003918, -0.005207> + 11904: < 0.005351, 0.004188, -0.005351> + 11905: < 0.005255, 0.004436, -0.005255> + 11906: < 0.005446, 0.004460, -0.005034> + 11907: < 0.005564, 0.004199, -0.005120> + 11908: < 0.005255, 0.004436, -0.005255> + 11909: < 0.005166, 0.004647, -0.005166> + 11910: < 0.005326, 0.004691, -0.004959> + 11911: < 0.005446, 0.004460, -0.005034> + 11912: < 0.005166, 0.004647, -0.005166> + 11913: < 0.005081, 0.004833, -0.005081> + 11914: < 0.005206, 0.004894, -0.004894> + 11915: < 0.005326, 0.004691, -0.004959> + 11916: < 0.005081, 0.004833, -0.005081> + 11917: < 0.005000, 0.005000, -0.005000> + 11918: < 0.005081, 0.005081, -0.004833> + 11919: < 0.005206, 0.004894, -0.004894> + 11920: < 0.005206, 0.004894, -0.004894> + 11921: < 0.005081, 0.005081, -0.004833> + 11922: < 0.005166, 0.005166, -0.004647> + 11923: < 0.005326, 0.004959, -0.004691> + 11924: < 0.005326, 0.004959, -0.004691> + 11925: < 0.005166, 0.005166, -0.004647> + 11926: < 0.005255, 0.005255, -0.004436> + 11927: < 0.005446, 0.005034, -0.004460> + 11928: < 0.005446, 0.005034, -0.004460> + 11929: < 0.005255, 0.005255, -0.004436> + 11930: < 0.005351, 0.005351, -0.004188> + 11931: < 0.005564, 0.005120, -0.004199> + 11932: < 0.005564, 0.005120, -0.004199> + 11933: < 0.005351, 0.005351, -0.004188> + 11934: < 0.005451, 0.005451, -0.003910> + 11935: < 0.005678, 0.005207, -0.003918> + 11936: < 0.005678, 0.005207, -0.003918> + 11937: < 0.005451, 0.005451, -0.003910> + 11938: < 0.005549, 0.005549, -0.003612> + 11939: < 0.005786, 0.005294, -0.003619> + 11940: < 0.005786, 0.005294, -0.003619> + 11941: < 0.005549, 0.005549, -0.003612> + 11942: < 0.005642, 0.005642, -0.003297> + 11943: < 0.005888, 0.005379, -0.003302> + 11944: < 0.005888, 0.005379, -0.003302> + 11945: < 0.005642, 0.005642, -0.003297> + 11946: < 0.005729, 0.005729, -0.002966> + 11947: < 0.005983, 0.005459, -0.002971> + 11948: < 0.005983, 0.005459, -0.002971> + 11949: < 0.005729, 0.005729, -0.002966> + 11950: < 0.005809, 0.005809, -0.002623> + 11951: < 0.006069, 0.005533, -0.002627> + 11952: < 0.006069, 0.005533, -0.002627> + 11953: < 0.005809, 0.005809, -0.002623> + 11954: < 0.005881, 0.005881, -0.002269> + 11955: < 0.006146, 0.005599, -0.002272> + 11956: < 0.006146, 0.005599, -0.002272> + 11957: < 0.005881, 0.005881, -0.002269> + 11958: < 0.005944, 0.005944, -0.001906> + 11959: < 0.006212, 0.005657, -0.001908> + 11960: < 0.006212, 0.005657, -0.001908> + 11961: < 0.005944, 0.005944, -0.001906> + 11962: < 0.005996, 0.005996, -0.001534> + 11963: < 0.006269, 0.005707, -0.001536> + 11964: < 0.006269, 0.005707, -0.001536> + 11965: < 0.005996, 0.005996, -0.001534> + 11966: < 0.006039, 0.006039, -0.001156> + 11967: < 0.006313, 0.005747, -0.001157> + 11968: < 0.006313, 0.005747, -0.001157> + 11969: < 0.006039, 0.006039, -0.001156> + 11970: < 0.006070, 0.006070, -0.000773> + 11971: < 0.006346, 0.005776, -0.000774> + 11972: < 0.006346, 0.005776, -0.000774> + 11973: < 0.006070, 0.006070, -0.000773> + 11974: < 0.006089, 0.006089, -0.000387> + 11975: < 0.006366, 0.005794, -0.000388> + 11976: < 0.006366, 0.005794, -0.000388> + 11977: < 0.006089, 0.006089, -0.000387> + 11978: < 0.006096, 0.006096, 0.000000> + 11979: < 0.006373, 0.005801, 0.000000> + 11980: < 0.006373, 0.005801, 0.000000> + 11981: < 0.006096, 0.006096, 0.000000> + 11982: < 0.006089, 0.006089, 0.000387> + 11983: < 0.006366, 0.005794, 0.000388> + 11984: < 0.006366, 0.005794, 0.000388> + 11985: < 0.006089, 0.006089, 0.000387> + 11986: < 0.006070, 0.006070, 0.000773> + 11987: < 0.006346, 0.005776, 0.000774> + 11988: < 0.006346, 0.005776, 0.000774> + 11989: < 0.006070, 0.006070, 0.000773> + 11990: < 0.006039, 0.006039, 0.001156> + 11991: < 0.006313, 0.005747, 0.001157> + 11992: < 0.006313, 0.005747, 0.001157> + 11993: < 0.006039, 0.006039, 0.001156> + 11994: < 0.005996, 0.005996, 0.001534> + 11995: < 0.006269, 0.005707, 0.001536> + 11996: < 0.006269, 0.005707, 0.001536> + 11997: < 0.005996, 0.005996, 0.001534> + 11998: < 0.005944, 0.005944, 0.001906> + 11999: < 0.006212, 0.005657, 0.001908> + 12000: < 0.006212, 0.005657, 0.001908> + 12001: < 0.005944, 0.005944, 0.001906> + 12002: < 0.005881, 0.005881, 0.002269> + 12003: < 0.006146, 0.005599, 0.002272> + 12004: < 0.006146, 0.005599, 0.002272> + 12005: < 0.005881, 0.005881, 0.002269> + 12006: < 0.005809, 0.005809, 0.002623> + 12007: < 0.006069, 0.005533, 0.002627> + 12008: < 0.006069, 0.005533, 0.002627> + 12009: < 0.005809, 0.005809, 0.002623> + 12010: < 0.005729, 0.005729, 0.002966> + 12011: < 0.005983, 0.005459, 0.002971> + 12012: < 0.005983, 0.005459, 0.002971> + 12013: < 0.005729, 0.005729, 0.002966> + 12014: < 0.005642, 0.005642, 0.003297> + 12015: < 0.005888, 0.005379, 0.003302> + 12016: < 0.005888, 0.005379, 0.003302> + 12017: < 0.005642, 0.005642, 0.003297> + 12018: < 0.005549, 0.005549, 0.003612> + 12019: < 0.005786, 0.005294, 0.003619> + 12020: < 0.005786, 0.005294, 0.003619> + 12021: < 0.005549, 0.005549, 0.003612> + 12022: < 0.005451, 0.005451, 0.003910> + 12023: < 0.005678, 0.005207, 0.003918> + 12024: < 0.005678, 0.005207, 0.003918> + 12025: < 0.005451, 0.005451, 0.003910> + 12026: < 0.005351, 0.005351, 0.004188> + 12027: < 0.005564, 0.005120, 0.004199> + 12028: < 0.005564, 0.005120, 0.004199> + 12029: < 0.005351, 0.005351, 0.004188> + 12030: < 0.005255, 0.005255, 0.004436> + 12031: < 0.005446, 0.005034, 0.004460> + 12032: < 0.005446, 0.005034, 0.004460> + 12033: < 0.005255, 0.005255, 0.004436> + 12034: < 0.005166, 0.005166, 0.004647> + 12035: < 0.005326, 0.004959, 0.004691> + 12036: < 0.005326, 0.004959, 0.004691> + 12037: < 0.005166, 0.005166, 0.004647> + 12038: < 0.005081, 0.005081, 0.004833> + 12039: < 0.005206, 0.004894, 0.004894> + 12040: < 0.005206, 0.004894, 0.004894> + 12041: < 0.005081, 0.005081, 0.004833> + 12042: < 0.005000, 0.005000, 0.005000> + 12043: < 0.005081, 0.004833, 0.005081> + 12044: < 0.005326, 0.004691, 0.004959> + 12045: < 0.005206, 0.004894, 0.004894> + 12046: < 0.005081, 0.004833, 0.005081> + 12047: < 0.005166, 0.004647, 0.005166> + 12048: < 0.005446, 0.004460, 0.005034> + 12049: < 0.005326, 0.004691, 0.004959> + 12050: < 0.005166, 0.004647, 0.005166> + 12051: < 0.005255, 0.004436, 0.005255> + 12052: < 0.005564, 0.004199, 0.005120> + 12053: < 0.005446, 0.004460, 0.005034> + 12054: < 0.005255, 0.004436, 0.005255> + 12055: < 0.005351, 0.004188, 0.005351> + 12056: < 0.005678, 0.003918, 0.005207> + 12057: < 0.005564, 0.004199, 0.005120> + 12058: < 0.005351, 0.004188, 0.005351> + 12059: < 0.005451, 0.003910, 0.005451> + 12060: < 0.005786, 0.003619, 0.005294> + 12061: < 0.005678, 0.003918, 0.005207> + 12062: < 0.005451, 0.003910, 0.005451> + 12063: < 0.005549, 0.003612, 0.005549> + 12064: < 0.005888, 0.003302, 0.005379> + 12065: < 0.005786, 0.003619, 0.005294> + 12066: < 0.005549, 0.003612, 0.005549> + 12067: < 0.005642, 0.003297, 0.005642> + 12068: < 0.005983, 0.002971, 0.005459> + 12069: < 0.005888, 0.003302, 0.005379> + 12070: < 0.005642, 0.003297, 0.005642> + 12071: < 0.005729, 0.002966, 0.005729> + 12072: < 0.006069, 0.002627, 0.005533> + 12073: < 0.005983, 0.002971, 0.005459> + 12074: < 0.005729, 0.002966, 0.005729> + 12075: < 0.005809, 0.002623, 0.005809> + 12076: < 0.006146, 0.002272, 0.005599> + 12077: < 0.006069, 0.002627, 0.005533> + 12078: < 0.005809, 0.002623, 0.005809> + 12079: < 0.005881, 0.002269, 0.005881> + 12080: < 0.006212, 0.001908, 0.005657> + 12081: < 0.006146, 0.002272, 0.005599> + 12082: < 0.005881, 0.002269, 0.005881> + 12083: < 0.005944, 0.001906, 0.005944> + 12084: < 0.006269, 0.001536, 0.005707> + 12085: < 0.006212, 0.001908, 0.005657> + 12086: < 0.005944, 0.001906, 0.005944> + 12087: < 0.005996, 0.001534, 0.005996> + 12088: < 0.006313, 0.001157, 0.005747> + 12089: < 0.006269, 0.001536, 0.005707> + 12090: < 0.005996, 0.001534, 0.005996> + 12091: < 0.006039, 0.001156, 0.006039> + 12092: < 0.006346, 0.000774, 0.005776> + 12093: < 0.006313, 0.001157, 0.005747> + 12094: < 0.006039, 0.001156, 0.006039> + 12095: < 0.006070, 0.000773, 0.006070> + 12096: < 0.006366, 0.000388, 0.005794> + 12097: < 0.006346, 0.000774, 0.005776> + 12098: < 0.006070, 0.000773, 0.006070> + 12099: < 0.006089, 0.000387, 0.006089> + 12100: < 0.006373, 0.000000, 0.005801> + 12101: < 0.006366, 0.000388, 0.005794> + 12102: < 0.006089, 0.000387, 0.006089> + 12103: < 0.006096, -0.000000, 0.006096> + 12104: < 0.006366, -0.000388, 0.005794> + 12105: < 0.006373, 0.000000, 0.005801> + 12106: < 0.006096, -0.000000, 0.006096> + 12107: < 0.006089, -0.000387, 0.006089> + 12108: < 0.006346, -0.000774, 0.005776> + 12109: < 0.006366, -0.000388, 0.005794> + 12110: < 0.006089, -0.000387, 0.006089> + 12111: < 0.006070, -0.000773, 0.006070> + 12112: < 0.006313, -0.001157, 0.005747> + 12113: < 0.006346, -0.000774, 0.005776> + 12114: < 0.006070, -0.000773, 0.006070> + 12115: < 0.006039, -0.001156, 0.006039> + 12116: < 0.006269, -0.001536, 0.005707> + 12117: < 0.006313, -0.001157, 0.005747> + 12118: < 0.006039, -0.001156, 0.006039> + 12119: < 0.005996, -0.001534, 0.005996> + 12120: < 0.006212, -0.001908, 0.005657> + 12121: < 0.006269, -0.001536, 0.005707> + 12122: < 0.005996, -0.001534, 0.005996> + 12123: < 0.005944, -0.001906, 0.005944> + 12124: < 0.006146, -0.002272, 0.005599> + 12125: < 0.006212, -0.001908, 0.005657> + 12126: < 0.005944, -0.001906, 0.005944> + 12127: < 0.005881, -0.002269, 0.005881> + 12128: < 0.006069, -0.002627, 0.005533> + 12129: < 0.006146, -0.002272, 0.005599> + 12130: < 0.005881, -0.002269, 0.005881> + 12131: < 0.005809, -0.002623, 0.005809> + 12132: < 0.005983, -0.002971, 0.005459> + 12133: < 0.006069, -0.002627, 0.005533> + 12134: < 0.005809, -0.002623, 0.005809> + 12135: < 0.005729, -0.002966, 0.005729> + 12136: < 0.005888, -0.003302, 0.005379> + 12137: < 0.005983, -0.002971, 0.005459> + 12138: < 0.005729, -0.002966, 0.005729> + 12139: < 0.005642, -0.003297, 0.005642> + 12140: < 0.005786, -0.003619, 0.005294> + 12141: < 0.005888, -0.003302, 0.005379> + 12142: < 0.005642, -0.003297, 0.005642> + 12143: < 0.005549, -0.003612, 0.005549> + 12144: < 0.005678, -0.003918, 0.005207> + 12145: < 0.005786, -0.003619, 0.005294> + 12146: < 0.005549, -0.003612, 0.005549> + 12147: < 0.005451, -0.003910, 0.005451> + 12148: < 0.005564, -0.004199, 0.005120> + 12149: < 0.005678, -0.003918, 0.005207> + 12150: < 0.005451, -0.003910, 0.005451> + 12151: < 0.005351, -0.004188, 0.005351> + 12152: < 0.005446, -0.004460, 0.005034> + 12153: < 0.005564, -0.004199, 0.005120> + 12154: < 0.005351, -0.004188, 0.005351> + 12155: < 0.005255, -0.004436, 0.005255> + 12156: < 0.005326, -0.004691, 0.004959> + 12157: < 0.005446, -0.004460, 0.005034> + 12158: < 0.005255, -0.004436, 0.005255> + 12159: < 0.005166, -0.004647, 0.005166> + 12160: < 0.005206, -0.004894, 0.004894> + 12161: < 0.005326, -0.004691, 0.004959> + 12162: < 0.005166, -0.004647, 0.005166> + 12163: < 0.005081, -0.004833, 0.005081> + 12164: < 0.005081, -0.005081, 0.004833> + 12165: < 0.005206, -0.004894, 0.004894> + 12166: < 0.005081, -0.004833, 0.005081> + 12167: < 0.005000, -0.005000, 0.005000> + 12168: < 0.005166, -0.005166, 0.004647> + 12169: < 0.005326, -0.004959, 0.004691> + 12170: < 0.005206, -0.004894, 0.004894> + 12171: < 0.005081, -0.005081, 0.004833> + 12172: < 0.005255, -0.005255, 0.004436> + 12173: < 0.005446, -0.005034, 0.004460> + 12174: < 0.005326, -0.004959, 0.004691> + 12175: < 0.005166, -0.005166, 0.004647> + 12176: < 0.005351, -0.005351, 0.004188> + 12177: < 0.005564, -0.005120, 0.004199> + 12178: < 0.005446, -0.005034, 0.004460> + 12179: < 0.005255, -0.005255, 0.004436> + 12180: < 0.005451, -0.005451, 0.003910> + 12181: < 0.005678, -0.005207, 0.003918> + 12182: < 0.005564, -0.005120, 0.004199> + 12183: < 0.005351, -0.005351, 0.004188> + 12184: < 0.005549, -0.005549, 0.003612> + 12185: < 0.005786, -0.005294, 0.003619> + 12186: < 0.005678, -0.005207, 0.003918> + 12187: < 0.005451, -0.005451, 0.003910> + 12188: < 0.005642, -0.005642, 0.003297> + 12189: < 0.005888, -0.005379, 0.003302> + 12190: < 0.005786, -0.005294, 0.003619> + 12191: < 0.005549, -0.005549, 0.003612> + 12192: < 0.005729, -0.005729, 0.002966> + 12193: < 0.005983, -0.005459, 0.002971> + 12194: < 0.005888, -0.005379, 0.003302> + 12195: < 0.005642, -0.005642, 0.003297> + 12196: < 0.005809, -0.005809, 0.002623> + 12197: < 0.006069, -0.005533, 0.002627> + 12198: < 0.005983, -0.005459, 0.002971> + 12199: < 0.005729, -0.005729, 0.002966> + 12200: < 0.005881, -0.005881, 0.002269> + 12201: < 0.006146, -0.005599, 0.002272> + 12202: < 0.006069, -0.005533, 0.002627> + 12203: < 0.005809, -0.005809, 0.002623> + 12204: < 0.005944, -0.005944, 0.001906> + 12205: < 0.006212, -0.005657, 0.001908> + 12206: < 0.006146, -0.005599, 0.002272> + 12207: < 0.005881, -0.005881, 0.002269> + 12208: < 0.005996, -0.005996, 0.001534> + 12209: < 0.006269, -0.005707, 0.001536> + 12210: < 0.006212, -0.005657, 0.001908> + 12211: < 0.005944, -0.005944, 0.001906> + 12212: < 0.006039, -0.006039, 0.001156> + 12213: < 0.006313, -0.005747, 0.001157> + 12214: < 0.006269, -0.005707, 0.001536> + 12215: < 0.005996, -0.005996, 0.001534> + 12216: < 0.006070, -0.006070, 0.000773> + 12217: < 0.006346, -0.005776, 0.000774> + 12218: < 0.006313, -0.005747, 0.001157> + 12219: < 0.006039, -0.006039, 0.001156> + 12220: < 0.006089, -0.006089, 0.000387> + 12221: < 0.006366, -0.005794, 0.000388> + 12222: < 0.006346, -0.005776, 0.000774> + 12223: < 0.006070, -0.006070, 0.000773> + 12224: < 0.006096, -0.006096, 0.000000> + 12225: < 0.006373, -0.005801, 0.000000> + 12226: < 0.006366, -0.005794, 0.000388> + 12227: < 0.006089, -0.006089, 0.000387> + 12228: < 0.006089, -0.006089, -0.000387> + 12229: < 0.006366, -0.005794, -0.000388> + 12230: < 0.006373, -0.005801, 0.000000> + 12231: < 0.006096, -0.006096, 0.000000> + 12232: < 0.006070, -0.006070, -0.000773> + 12233: < 0.006346, -0.005776, -0.000774> + 12234: < 0.006366, -0.005794, -0.000388> + 12235: < 0.006089, -0.006089, -0.000387> + 12236: < 0.006039, -0.006039, -0.001156> + 12237: < 0.006313, -0.005747, -0.001157> + 12238: < 0.006346, -0.005776, -0.000774> + 12239: < 0.006070, -0.006070, -0.000773> + 12240: < 0.005996, -0.005996, -0.001534> + 12241: < 0.006269, -0.005707, -0.001536> + 12242: < 0.006313, -0.005747, -0.001157> + 12243: < 0.006039, -0.006039, -0.001156> + 12244: < 0.005944, -0.005944, -0.001906> + 12245: < 0.006212, -0.005657, -0.001908> + 12246: < 0.006269, -0.005707, -0.001536> + 12247: < 0.005996, -0.005996, -0.001534> + 12248: < 0.005881, -0.005881, -0.002269> + 12249: < 0.006146, -0.005599, -0.002272> + 12250: < 0.006212, -0.005657, -0.001908> + 12251: < 0.005944, -0.005944, -0.001906> + 12252: < 0.005809, -0.005809, -0.002623> + 12253: < 0.006069, -0.005533, -0.002627> + 12254: < 0.006146, -0.005599, -0.002272> + 12255: < 0.005881, -0.005881, -0.002269> + 12256: < 0.005729, -0.005729, -0.002966> + 12257: < 0.005983, -0.005459, -0.002971> + 12258: < 0.006069, -0.005533, -0.002627> + 12259: < 0.005809, -0.005809, -0.002623> + 12260: < 0.005642, -0.005642, -0.003297> + 12261: < 0.005888, -0.005379, -0.003302> + 12262: < 0.005983, -0.005459, -0.002971> + 12263: < 0.005729, -0.005729, -0.002966> + 12264: < 0.005549, -0.005549, -0.003612> + 12265: < 0.005786, -0.005294, -0.003619> + 12266: < 0.005888, -0.005379, -0.003302> + 12267: < 0.005642, -0.005642, -0.003297> + 12268: < 0.005451, -0.005451, -0.003910> + 12269: < 0.005678, -0.005207, -0.003918> + 12270: < 0.005786, -0.005294, -0.003619> + 12271: < 0.005549, -0.005549, -0.003612> + 12272: < 0.005351, -0.005351, -0.004188> + 12273: < 0.005564, -0.005120, -0.004199> + 12274: < 0.005678, -0.005207, -0.003918> + 12275: < 0.005451, -0.005451, -0.003910> + 12276: < 0.005255, -0.005255, -0.004436> + 12277: < 0.005446, -0.005034, -0.004460> + 12278: < 0.005564, -0.005120, -0.004199> + 12279: < 0.005351, -0.005351, -0.004188> + 12280: < 0.005166, -0.005166, -0.004647> + 12281: < 0.005326, -0.004959, -0.004691> + 12282: < 0.005446, -0.005034, -0.004460> + 12283: < 0.005255, -0.005255, -0.004436> + 12284: < 0.005081, -0.005081, -0.004833> + 12285: < 0.005206, -0.004894, -0.004894> + 12286: < 0.005326, -0.004959, -0.004691> + 12287: < 0.005166, -0.005166, -0.004647> + 12288: < 0.004894, -0.005206, 0.004894> + 12289: < 0.004691, -0.005326, 0.004959> + 12290: < 0.004738, -0.005479, 0.004738> + 12291: < 0.004959, -0.005326, 0.004691> + 12292: < 0.004691, -0.005326, 0.004959> + 12293: < 0.004460, -0.005446, 0.005034> + 12294: < 0.004494, -0.005623, 0.004798> + 12295: < 0.004738, -0.005479, 0.004738> + 12296: < 0.004460, -0.005446, 0.005034> + 12297: < 0.004199, -0.005564, 0.005120> + 12298: < 0.004226, -0.005760, 0.004870> + 12299: < 0.004494, -0.005623, 0.004798> + 12300: < 0.004199, -0.005564, 0.005120> + 12301: < 0.003918, -0.005678, 0.005207> + 12302: < 0.003941, -0.005887, 0.004946> + 12303: < 0.004226, -0.005760, 0.004870> + 12304: < 0.003918, -0.005678, 0.005207> + 12305: < 0.003619, -0.005786, 0.005294> + 12306: < 0.003637, -0.006006, 0.005023> + 12307: < 0.003941, -0.005887, 0.004946> + 12308: < 0.003619, -0.005786, 0.005294> + 12309: < 0.003302, -0.005888, 0.005379> + 12310: < 0.003318, -0.006117, 0.005099> + 12311: < 0.003637, -0.006006, 0.005023> + 12312: < 0.003302, -0.005888, 0.005379> + 12313: < 0.002971, -0.005983, 0.005459> + 12314: < 0.002984, -0.006219, 0.005172> + 12315: < 0.003318, -0.006117, 0.005099> + 12316: < 0.002971, -0.005983, 0.005459> + 12317: < 0.002627, -0.006069, 0.005533> + 12318: < 0.002638, -0.006311, 0.005240> + 12319: < 0.002984, -0.006219, 0.005172> + 12320: < 0.002627, -0.006069, 0.005533> + 12321: < 0.002272, -0.006146, 0.005599> + 12322: < 0.002281, -0.006393, 0.005301> + 12323: < 0.002638, -0.006311, 0.005240> + 12324: < 0.002272, -0.006146, 0.005599> + 12325: < 0.001908, -0.006212, 0.005657> + 12326: < 0.001915, -0.006464, 0.005355> + 12327: < 0.002281, -0.006393, 0.005301> + 12328: < 0.001908, -0.006212, 0.005657> + 12329: < 0.001536, -0.006269, 0.005707> + 12330: < 0.001541, -0.006523, 0.005401> + 12331: < 0.001915, -0.006464, 0.005355> + 12332: < 0.001536, -0.006269, 0.005707> + 12333: < 0.001157, -0.006313, 0.005747> + 12334: < 0.001161, -0.006570, 0.005438> + 12335: < 0.001541, -0.006523, 0.005401> + 12336: < 0.001157, -0.006313, 0.005747> + 12337: < 0.000774, -0.006346, 0.005776> + 12338: < 0.000777, -0.006605, 0.005466> + 12339: < 0.001161, -0.006570, 0.005438> + 12340: < 0.000774, -0.006346, 0.005776> + 12341: < 0.000388, -0.006366, 0.005794> + 12342: < 0.000389, -0.006626, 0.005483> + 12343: < 0.000777, -0.006605, 0.005466> + 12344: < 0.000388, -0.006366, 0.005794> + 12345: <-0.000000, -0.006373, 0.005801> + 12346: < 0.000000, -0.006633, 0.005489> + 12347: < 0.000389, -0.006626, 0.005483> + 12348: <-0.000000, -0.006373, 0.005801> + 12349: <-0.000388, -0.006366, 0.005794> + 12350: <-0.000389, -0.006626, 0.005483> + 12351: < 0.000000, -0.006633, 0.005489> + 12352: <-0.000388, -0.006366, 0.005794> + 12353: <-0.000774, -0.006346, 0.005776> + 12354: <-0.000777, -0.006605, 0.005466> + 12355: <-0.000389, -0.006626, 0.005483> + 12356: <-0.000774, -0.006346, 0.005776> + 12357: <-0.001157, -0.006313, 0.005747> + 12358: <-0.001161, -0.006570, 0.005438> + 12359: <-0.000777, -0.006605, 0.005466> + 12360: <-0.001157, -0.006313, 0.005747> + 12361: <-0.001536, -0.006269, 0.005707> + 12362: <-0.001541, -0.006523, 0.005401> + 12363: <-0.001161, -0.006570, 0.005438> + 12364: <-0.001536, -0.006269, 0.005707> + 12365: <-0.001908, -0.006212, 0.005657> + 12366: <-0.001915, -0.006464, 0.005355> + 12367: <-0.001541, -0.006523, 0.005401> + 12368: <-0.001908, -0.006212, 0.005657> + 12369: <-0.002272, -0.006146, 0.005599> + 12370: <-0.002281, -0.006393, 0.005301> + 12371: <-0.001915, -0.006464, 0.005355> + 12372: <-0.002272, -0.006146, 0.005599> + 12373: <-0.002627, -0.006069, 0.005533> + 12374: <-0.002638, -0.006311, 0.005240> + 12375: <-0.002281, -0.006393, 0.005301> + 12376: <-0.002627, -0.006069, 0.005533> + 12377: <-0.002971, -0.005983, 0.005459> + 12378: <-0.002984, -0.006219, 0.005172> + 12379: <-0.002638, -0.006311, 0.005240> + 12380: <-0.002971, -0.005983, 0.005459> + 12381: <-0.003302, -0.005888, 0.005379> + 12382: <-0.003318, -0.006117, 0.005099> + 12383: <-0.002984, -0.006219, 0.005172> + 12384: <-0.003302, -0.005888, 0.005379> + 12385: <-0.003619, -0.005786, 0.005294> + 12386: <-0.003637, -0.006006, 0.005023> + 12387: <-0.003318, -0.006117, 0.005099> + 12388: <-0.003619, -0.005786, 0.005294> + 12389: <-0.003918, -0.005678, 0.005207> + 12390: <-0.003941, -0.005887, 0.004946> + 12391: <-0.003637, -0.006006, 0.005023> + 12392: <-0.003918, -0.005678, 0.005207> + 12393: <-0.004199, -0.005564, 0.005120> + 12394: <-0.004226, -0.005760, 0.004870> + 12395: <-0.003941, -0.005887, 0.004946> + 12396: <-0.004199, -0.005564, 0.005120> + 12397: <-0.004460, -0.005446, 0.005034> + 12398: <-0.004494, -0.005623, 0.004798> + 12399: <-0.004226, -0.005760, 0.004870> + 12400: <-0.004460, -0.005446, 0.005034> + 12401: <-0.004691, -0.005326, 0.004959> + 12402: <-0.004738, -0.005479, 0.004738> + 12403: <-0.004494, -0.005623, 0.004798> + 12404: <-0.004691, -0.005326, 0.004959> + 12405: <-0.004894, -0.005206, 0.004894> + 12406: <-0.004959, -0.005326, 0.004691> + 12407: <-0.004738, -0.005479, 0.004738> + 12408: < 0.004959, -0.005326, 0.004691> + 12409: < 0.004738, -0.005479, 0.004738> + 12410: < 0.004798, -0.005623, 0.004494> + 12411: < 0.005034, -0.005446, 0.004460> + 12412: < 0.004738, -0.005479, 0.004738> + 12413: < 0.004494, -0.005623, 0.004798> + 12414: < 0.004542, -0.005788, 0.004542> + 12415: < 0.004798, -0.005623, 0.004494> + 12416: < 0.004494, -0.005623, 0.004798> + 12417: < 0.004226, -0.005760, 0.004870> + 12418: < 0.004267, -0.005939, 0.004602> + 12419: < 0.004542, -0.005788, 0.004542> + 12420: < 0.004226, -0.005760, 0.004870> + 12421: < 0.003941, -0.005887, 0.004946> + 12422: < 0.003975, -0.006080, 0.004668> + 12423: < 0.004267, -0.005939, 0.004602> + 12424: < 0.003941, -0.005887, 0.004946> + 12425: < 0.003637, -0.006006, 0.005023> + 12426: < 0.003666, -0.006210, 0.004736> + 12427: < 0.003975, -0.006080, 0.004668> + 12428: < 0.003637, -0.006006, 0.005023> + 12429: < 0.003318, -0.006117, 0.005099> + 12430: < 0.003342, -0.006329, 0.004804> + 12431: < 0.003666, -0.006210, 0.004736> + 12432: < 0.003318, -0.006117, 0.005099> + 12433: < 0.002984, -0.006219, 0.005172> + 12434: < 0.003004, -0.006439, 0.004870> + 12435: < 0.003342, -0.006329, 0.004804> + 12436: < 0.002984, -0.006219, 0.005172> + 12437: < 0.002638, -0.006311, 0.005240> + 12438: < 0.002655, -0.006537, 0.004931> + 12439: < 0.003004, -0.006439, 0.004870> + 12440: < 0.002638, -0.006311, 0.005240> + 12441: < 0.002281, -0.006393, 0.005301> + 12442: < 0.002295, -0.006623, 0.004987> + 12443: < 0.002655, -0.006537, 0.004931> + 12444: < 0.002281, -0.006393, 0.005301> + 12445: < 0.001915, -0.006464, 0.005355> + 12446: < 0.001926, -0.006698, 0.005037> + 12447: < 0.002295, -0.006623, 0.004987> + 12448: < 0.001915, -0.006464, 0.005355> + 12449: < 0.001541, -0.006523, 0.005401> + 12450: < 0.001550, -0.006761, 0.005080> + 12451: < 0.001926, -0.006698, 0.005037> + 12452: < 0.001541, -0.006523, 0.005401> + 12453: < 0.001161, -0.006570, 0.005438> + 12454: < 0.001168, -0.006810, 0.005114> + 12455: < 0.001550, -0.006761, 0.005080> + 12456: < 0.001161, -0.006570, 0.005438> + 12457: < 0.000777, -0.006605, 0.005466> + 12458: < 0.000781, -0.006846, 0.005140> + 12459: < 0.001168, -0.006810, 0.005114> + 12460: < 0.000777, -0.006605, 0.005466> + 12461: < 0.000389, -0.006626, 0.005483> + 12462: < 0.000391, -0.006868, 0.005156> + 12463: < 0.000781, -0.006846, 0.005140> + 12464: < 0.000389, -0.006626, 0.005483> + 12465: < 0.000000, -0.006633, 0.005489> + 12466: < 0.000000, -0.006875, 0.005162> + 12467: < 0.000391, -0.006868, 0.005156> + 12468: < 0.000000, -0.006633, 0.005489> + 12469: <-0.000389, -0.006626, 0.005483> + 12470: <-0.000391, -0.006868, 0.005156> + 12471: < 0.000000, -0.006875, 0.005162> + 12472: <-0.000389, -0.006626, 0.005483> + 12473: <-0.000777, -0.006605, 0.005466> + 12474: <-0.000781, -0.006846, 0.005140> + 12475: <-0.000391, -0.006868, 0.005156> + 12476: <-0.000777, -0.006605, 0.005466> + 12477: <-0.001161, -0.006570, 0.005438> + 12478: <-0.001168, -0.006810, 0.005114> + 12479: <-0.000781, -0.006846, 0.005140> + 12480: <-0.001161, -0.006570, 0.005438> + 12481: <-0.001541, -0.006523, 0.005401> + 12482: <-0.001550, -0.006761, 0.005080> + 12483: <-0.001168, -0.006810, 0.005114> + 12484: <-0.001541, -0.006523, 0.005401> + 12485: <-0.001915, -0.006464, 0.005355> + 12486: <-0.001926, -0.006698, 0.005037> + 12487: <-0.001550, -0.006761, 0.005080> + 12488: <-0.001915, -0.006464, 0.005355> + 12489: <-0.002281, -0.006393, 0.005301> + 12490: <-0.002295, -0.006623, 0.004987> + 12491: <-0.001926, -0.006698, 0.005037> + 12492: <-0.002281, -0.006393, 0.005301> + 12493: <-0.002638, -0.006311, 0.005240> + 12494: <-0.002655, -0.006537, 0.004931> + 12495: <-0.002295, -0.006623, 0.004987> + 12496: <-0.002638, -0.006311, 0.005240> + 12497: <-0.002984, -0.006219, 0.005172> + 12498: <-0.003004, -0.006439, 0.004870> + 12499: <-0.002655, -0.006537, 0.004931> + 12500: <-0.002984, -0.006219, 0.005172> + 12501: <-0.003318, -0.006117, 0.005099> + 12502: <-0.003342, -0.006329, 0.004804> + 12503: <-0.003004, -0.006439, 0.004870> + 12504: <-0.003318, -0.006117, 0.005099> + 12505: <-0.003637, -0.006006, 0.005023> + 12506: <-0.003666, -0.006210, 0.004736> + 12507: <-0.003342, -0.006329, 0.004804> + 12508: <-0.003637, -0.006006, 0.005023> + 12509: <-0.003941, -0.005887, 0.004946> + 12510: <-0.003975, -0.006080, 0.004668> + 12511: <-0.003666, -0.006210, 0.004736> + 12512: <-0.003941, -0.005887, 0.004946> + 12513: <-0.004226, -0.005760, 0.004870> + 12514: <-0.004267, -0.005939, 0.004602> + 12515: <-0.003975, -0.006080, 0.004668> + 12516: <-0.004226, -0.005760, 0.004870> + 12517: <-0.004494, -0.005623, 0.004798> + 12518: <-0.004542, -0.005788, 0.004542> + 12519: <-0.004267, -0.005939, 0.004602> + 12520: <-0.004494, -0.005623, 0.004798> + 12521: <-0.004738, -0.005479, 0.004738> + 12522: <-0.004798, -0.005623, 0.004494> + 12523: <-0.004542, -0.005788, 0.004542> + 12524: <-0.004738, -0.005479, 0.004738> + 12525: <-0.004959, -0.005326, 0.004691> + 12526: <-0.005034, -0.005446, 0.004460> + 12527: <-0.004798, -0.005623, 0.004494> + 12528: < 0.005034, -0.005446, 0.004460> + 12529: < 0.004798, -0.005623, 0.004494> + 12530: < 0.004870, -0.005760, 0.004226> + 12531: < 0.005120, -0.005564, 0.004199> + 12532: < 0.004798, -0.005623, 0.004494> + 12533: < 0.004542, -0.005788, 0.004542> + 12534: < 0.004602, -0.005939, 0.004267> + 12535: < 0.004870, -0.005760, 0.004226> + 12536: < 0.004542, -0.005788, 0.004542> + 12537: < 0.004267, -0.005939, 0.004602> + 12538: < 0.004318, -0.006105, 0.004318> + 12539: < 0.004602, -0.005939, 0.004267> + 12540: < 0.004267, -0.005939, 0.004602> + 12541: < 0.003975, -0.006080, 0.004668> + 12542: < 0.004017, -0.006257, 0.004374> + 12543: < 0.004318, -0.006105, 0.004318> + 12544: < 0.003975, -0.006080, 0.004668> + 12545: < 0.003666, -0.006210, 0.004736> + 12546: < 0.003701, -0.006397, 0.004434> + 12547: < 0.004017, -0.006257, 0.004374> + 12548: < 0.003666, -0.006210, 0.004736> + 12549: < 0.003342, -0.006329, 0.004804> + 12550: < 0.003372, -0.006525, 0.004494> + 12551: < 0.003701, -0.006397, 0.004434> + 12552: < 0.003342, -0.006329, 0.004804> + 12553: < 0.003004, -0.006439, 0.004870> + 12554: < 0.003030, -0.006641, 0.004553> + 12555: < 0.003372, -0.006525, 0.004494> + 12556: < 0.003004, -0.006439, 0.004870> + 12557: < 0.002655, -0.006537, 0.004931> + 12558: < 0.002676, -0.006745, 0.004609> + 12559: < 0.003030, -0.006641, 0.004553> + 12560: < 0.002655, -0.006537, 0.004931> + 12561: < 0.002295, -0.006623, 0.004987> + 12562: < 0.002313, -0.006836, 0.004659> + 12563: < 0.002676, -0.006745, 0.004609> + 12564: < 0.002295, -0.006623, 0.004987> + 12565: < 0.001926, -0.006698, 0.005037> + 12566: < 0.001940, -0.006915, 0.004705> + 12567: < 0.002313, -0.006836, 0.004659> + 12568: < 0.001926, -0.006698, 0.005037> + 12569: < 0.001550, -0.006761, 0.005080> + 12570: < 0.001561, -0.006980, 0.004744> + 12571: < 0.001940, -0.006915, 0.004705> + 12572: < 0.001550, -0.006761, 0.005080> + 12573: < 0.001168, -0.006810, 0.005114> + 12574: < 0.001176, -0.007032, 0.004776> + 12575: < 0.001561, -0.006980, 0.004744> + 12576: < 0.001168, -0.006810, 0.005114> + 12577: < 0.000781, -0.006846, 0.005140> + 12578: < 0.000786, -0.007069, 0.004800> + 12579: < 0.001176, -0.007032, 0.004776> + 12580: < 0.000781, -0.006846, 0.005140> + 12581: < 0.000391, -0.006868, 0.005156> + 12582: < 0.000394, -0.007092, 0.004815> + 12583: < 0.000786, -0.007069, 0.004800> + 12584: < 0.000391, -0.006868, 0.005156> + 12585: < 0.000000, -0.006875, 0.005162> + 12586: < 0.000000, -0.007099, 0.004820> + 12587: < 0.000394, -0.007092, 0.004815> + 12588: < 0.000000, -0.006875, 0.005162> + 12589: <-0.000391, -0.006868, 0.005156> + 12590: <-0.000394, -0.007092, 0.004815> + 12591: < 0.000000, -0.007099, 0.004820> + 12592: <-0.000391, -0.006868, 0.005156> + 12593: <-0.000781, -0.006846, 0.005140> + 12594: <-0.000786, -0.007069, 0.004800> + 12595: <-0.000394, -0.007092, 0.004815> + 12596: <-0.000781, -0.006846, 0.005140> + 12597: <-0.001168, -0.006810, 0.005114> + 12598: <-0.001176, -0.007032, 0.004776> + 12599: <-0.000786, -0.007069, 0.004800> + 12600: <-0.001168, -0.006810, 0.005114> + 12601: <-0.001550, -0.006761, 0.005080> + 12602: <-0.001561, -0.006980, 0.004744> + 12603: <-0.001176, -0.007032, 0.004776> + 12604: <-0.001550, -0.006761, 0.005080> + 12605: <-0.001926, -0.006698, 0.005037> + 12606: <-0.001940, -0.006915, 0.004705> + 12607: <-0.001561, -0.006980, 0.004744> + 12608: <-0.001926, -0.006698, 0.005037> + 12609: <-0.002295, -0.006623, 0.004987> + 12610: <-0.002313, -0.006836, 0.004659> + 12611: <-0.001940, -0.006915, 0.004705> + 12612: <-0.002295, -0.006623, 0.004987> + 12613: <-0.002655, -0.006537, 0.004931> + 12614: <-0.002676, -0.006745, 0.004609> + 12615: <-0.002313, -0.006836, 0.004659> + 12616: <-0.002655, -0.006537, 0.004931> + 12617: <-0.003004, -0.006439, 0.004870> + 12618: <-0.003030, -0.006641, 0.004553> + 12619: <-0.002676, -0.006745, 0.004609> + 12620: <-0.003004, -0.006439, 0.004870> + 12621: <-0.003342, -0.006329, 0.004804> + 12622: <-0.003372, -0.006525, 0.004494> + 12623: <-0.003030, -0.006641, 0.004553> + 12624: <-0.003342, -0.006329, 0.004804> + 12625: <-0.003666, -0.006210, 0.004736> + 12626: <-0.003701, -0.006397, 0.004434> + 12627: <-0.003372, -0.006525, 0.004494> + 12628: <-0.003666, -0.006210, 0.004736> + 12629: <-0.003975, -0.006080, 0.004668> + 12630: <-0.004017, -0.006257, 0.004374> + 12631: <-0.003701, -0.006397, 0.004434> + 12632: <-0.003975, -0.006080, 0.004668> + 12633: <-0.004267, -0.005939, 0.004602> + 12634: <-0.004318, -0.006105, 0.004318> + 12635: <-0.004017, -0.006257, 0.004374> + 12636: <-0.004267, -0.005939, 0.004602> + 12637: <-0.004542, -0.005788, 0.004542> + 12638: <-0.004602, -0.005939, 0.004267> + 12639: <-0.004318, -0.006105, 0.004318> + 12640: <-0.004542, -0.005788, 0.004542> + 12641: <-0.004798, -0.005623, 0.004494> + 12642: <-0.004870, -0.005760, 0.004226> + 12643: <-0.004602, -0.005939, 0.004267> + 12644: <-0.004798, -0.005623, 0.004494> + 12645: <-0.005034, -0.005446, 0.004460> + 12646: <-0.005120, -0.005564, 0.004199> + 12647: <-0.004870, -0.005760, 0.004226> + 12648: < 0.005120, -0.005564, 0.004199> + 12649: < 0.004870, -0.005760, 0.004226> + 12650: < 0.004946, -0.005887, 0.003941> + 12651: < 0.005207, -0.005678, 0.003918> + 12652: < 0.004870, -0.005760, 0.004226> + 12653: < 0.004602, -0.005939, 0.004267> + 12654: < 0.004668, -0.006080, 0.003975> + 12655: < 0.004946, -0.005887, 0.003941> + 12656: < 0.004602, -0.005939, 0.004267> + 12657: < 0.004318, -0.006105, 0.004318> + 12658: < 0.004374, -0.006257, 0.004017> + 12659: < 0.004668, -0.006080, 0.003975> + 12660: < 0.004318, -0.006105, 0.004318> + 12661: < 0.004017, -0.006257, 0.004374> + 12662: < 0.004065, -0.006421, 0.004065> + 12663: < 0.004374, -0.006257, 0.004017> + 12664: < 0.004017, -0.006257, 0.004374> + 12665: < 0.003701, -0.006397, 0.004434> + 12666: < 0.003743, -0.006570, 0.004117> + 12667: < 0.004065, -0.006421, 0.004065> + 12668: < 0.003701, -0.006397, 0.004434> + 12669: < 0.003372, -0.006525, 0.004494> + 12670: < 0.003407, -0.006705, 0.004170> + 12671: < 0.003743, -0.006570, 0.004117> + 12672: < 0.003372, -0.006525, 0.004494> + 12673: < 0.003030, -0.006641, 0.004553> + 12674: < 0.003060, -0.006828, 0.004223> + 12675: < 0.003407, -0.006705, 0.004170> + 12676: < 0.003030, -0.006641, 0.004553> + 12677: < 0.002676, -0.006745, 0.004609> + 12678: < 0.002701, -0.006937, 0.004273> + 12679: < 0.003060, -0.006828, 0.004223> + 12680: < 0.002676, -0.006745, 0.004609> + 12681: < 0.002313, -0.006836, 0.004659> + 12682: < 0.002333, -0.007033, 0.004318> + 12683: < 0.002701, -0.006937, 0.004273> + 12684: < 0.002313, -0.006836, 0.004659> + 12685: < 0.001940, -0.006915, 0.004705> + 12686: < 0.001957, -0.007115, 0.004360> + 12687: < 0.002333, -0.007033, 0.004318> + 12688: < 0.001940, -0.006915, 0.004705> + 12689: < 0.001561, -0.006980, 0.004744> + 12690: < 0.001574, -0.007183, 0.004395> + 12691: < 0.001957, -0.007115, 0.004360> + 12692: < 0.001561, -0.006980, 0.004744> + 12693: < 0.001176, -0.007032, 0.004776> + 12694: < 0.001185, -0.007236, 0.004424> + 12695: < 0.001574, -0.007183, 0.004395> + 12696: < 0.001176, -0.007032, 0.004776> + 12697: < 0.000786, -0.007069, 0.004800> + 12698: < 0.000792, -0.007275, 0.004446> + 12699: < 0.001185, -0.007236, 0.004424> + 12700: < 0.000786, -0.007069, 0.004800> + 12701: < 0.000394, -0.007092, 0.004815> + 12702: < 0.000397, -0.007298, 0.004460> + 12703: < 0.000792, -0.007275, 0.004446> + 12704: < 0.000394, -0.007092, 0.004815> + 12705: < 0.000000, -0.007099, 0.004820> + 12706: < 0.000000, -0.007306, 0.004465> + 12707: < 0.000397, -0.007298, 0.004460> + 12708: < 0.000000, -0.007099, 0.004820> + 12709: <-0.000394, -0.007092, 0.004815> + 12710: <-0.000397, -0.007298, 0.004460> + 12711: < 0.000000, -0.007306, 0.004465> + 12712: <-0.000394, -0.007092, 0.004815> + 12713: <-0.000786, -0.007069, 0.004800> + 12714: <-0.000792, -0.007275, 0.004446> + 12715: <-0.000397, -0.007298, 0.004460> + 12716: <-0.000786, -0.007069, 0.004800> + 12717: <-0.001176, -0.007032, 0.004776> + 12718: <-0.001185, -0.007236, 0.004424> + 12719: <-0.000792, -0.007275, 0.004446> + 12720: <-0.001176, -0.007032, 0.004776> + 12721: <-0.001561, -0.006980, 0.004744> + 12722: <-0.001574, -0.007183, 0.004395> + 12723: <-0.001185, -0.007236, 0.004424> + 12724: <-0.001561, -0.006980, 0.004744> + 12725: <-0.001940, -0.006915, 0.004705> + 12726: <-0.001957, -0.007115, 0.004360> + 12727: <-0.001574, -0.007183, 0.004395> + 12728: <-0.001940, -0.006915, 0.004705> + 12729: <-0.002313, -0.006836, 0.004659> + 12730: <-0.002333, -0.007033, 0.004318> + 12731: <-0.001957, -0.007115, 0.004360> + 12732: <-0.002313, -0.006836, 0.004659> + 12733: <-0.002676, -0.006745, 0.004609> + 12734: <-0.002701, -0.006937, 0.004273> + 12735: <-0.002333, -0.007033, 0.004318> + 12736: <-0.002676, -0.006745, 0.004609> + 12737: <-0.003030, -0.006641, 0.004553> + 12738: <-0.003060, -0.006828, 0.004223> + 12739: <-0.002701, -0.006937, 0.004273> + 12740: <-0.003030, -0.006641, 0.004553> + 12741: <-0.003372, -0.006525, 0.004494> + 12742: <-0.003407, -0.006705, 0.004170> + 12743: <-0.003060, -0.006828, 0.004223> + 12744: <-0.003372, -0.006525, 0.004494> + 12745: <-0.003701, -0.006397, 0.004434> + 12746: <-0.003743, -0.006570, 0.004117> + 12747: <-0.003407, -0.006705, 0.004170> + 12748: <-0.003701, -0.006397, 0.004434> + 12749: <-0.004017, -0.006257, 0.004374> + 12750: <-0.004065, -0.006421, 0.004065> + 12751: <-0.003743, -0.006570, 0.004117> + 12752: <-0.004017, -0.006257, 0.004374> + 12753: <-0.004318, -0.006105, 0.004318> + 12754: <-0.004374, -0.006257, 0.004017> + 12755: <-0.004065, -0.006421, 0.004065> + 12756: <-0.004318, -0.006105, 0.004318> + 12757: <-0.004602, -0.005939, 0.004267> + 12758: <-0.004668, -0.006080, 0.003975> + 12759: <-0.004374, -0.006257, 0.004017> + 12760: <-0.004602, -0.005939, 0.004267> + 12761: <-0.004870, -0.005760, 0.004226> + 12762: <-0.004946, -0.005887, 0.003941> + 12763: <-0.004668, -0.006080, 0.003975> + 12764: <-0.004870, -0.005760, 0.004226> + 12765: <-0.005120, -0.005564, 0.004199> + 12766: <-0.005207, -0.005678, 0.003918> + 12767: <-0.004946, -0.005887, 0.003941> + 12768: < 0.005207, -0.005678, 0.003918> + 12769: < 0.004946, -0.005887, 0.003941> + 12770: < 0.005023, -0.006006, 0.003637> + 12771: < 0.005294, -0.005786, 0.003619> + 12772: < 0.004946, -0.005887, 0.003941> + 12773: < 0.004668, -0.006080, 0.003975> + 12774: < 0.004736, -0.006210, 0.003666> + 12775: < 0.005023, -0.006006, 0.003637> + 12776: < 0.004668, -0.006080, 0.003975> + 12777: < 0.004374, -0.006257, 0.004017> + 12778: < 0.004434, -0.006397, 0.003701> + 12779: < 0.004736, -0.006210, 0.003666> + 12780: < 0.004374, -0.006257, 0.004017> + 12781: < 0.004065, -0.006421, 0.004065> + 12782: < 0.004117, -0.006570, 0.003743> + 12783: < 0.004434, -0.006397, 0.003701> + 12784: < 0.004065, -0.006421, 0.004065> + 12785: < 0.003743, -0.006570, 0.004117> + 12786: < 0.003788, -0.006727, 0.003788> + 12787: < 0.004117, -0.006570, 0.003743> + 12788: < 0.003743, -0.006570, 0.004117> + 12789: < 0.003407, -0.006705, 0.004170> + 12790: < 0.003446, -0.006870, 0.003834> + 12791: < 0.003788, -0.006727, 0.003788> + 12792: < 0.003407, -0.006705, 0.004170> + 12793: < 0.003060, -0.006828, 0.004223> + 12794: < 0.003093, -0.006998, 0.003880> + 12795: < 0.003446, -0.006870, 0.003834> + 12796: < 0.003060, -0.006828, 0.004223> + 12797: < 0.002701, -0.006937, 0.004273> + 12798: < 0.002729, -0.007112, 0.003924> + 12799: < 0.003093, -0.006998, 0.003880> + 12800: < 0.002701, -0.006937, 0.004273> + 12801: < 0.002333, -0.007033, 0.004318> + 12802: < 0.002356, -0.007212, 0.003965> + 12803: < 0.002729, -0.007112, 0.003924> + 12804: < 0.002333, -0.007033, 0.004318> + 12805: < 0.001957, -0.007115, 0.004360> + 12806: < 0.001975, -0.007297, 0.004002> + 12807: < 0.002356, -0.007212, 0.003965> + 12808: < 0.001957, -0.007115, 0.004360> + 12809: < 0.001574, -0.007183, 0.004395> + 12810: < 0.001588, -0.007367, 0.004034> + 12811: < 0.001975, -0.007297, 0.004002> + 12812: < 0.001574, -0.007183, 0.004395> + 12813: < 0.001185, -0.007236, 0.004424> + 12814: < 0.001196, -0.007423, 0.004061> + 12815: < 0.001588, -0.007367, 0.004034> + 12816: < 0.001185, -0.007236, 0.004424> + 12817: < 0.000792, -0.007275, 0.004446> + 12818: < 0.000799, -0.007462, 0.004081> + 12819: < 0.001196, -0.007423, 0.004061> + 12820: < 0.000792, -0.007275, 0.004446> + 12821: < 0.000397, -0.007298, 0.004460> + 12822: < 0.000400, -0.007487, 0.004093> + 12823: < 0.000799, -0.007462, 0.004081> + 12824: < 0.000397, -0.007298, 0.004460> + 12825: < 0.000000, -0.007306, 0.004465> + 12826: < 0.000000, -0.007495, 0.004098> + 12827: < 0.000400, -0.007487, 0.004093> + 12828: < 0.000000, -0.007306, 0.004465> + 12829: <-0.000397, -0.007298, 0.004460> + 12830: <-0.000400, -0.007487, 0.004093> + 12831: < 0.000000, -0.007495, 0.004098> + 12832: <-0.000397, -0.007298, 0.004460> + 12833: <-0.000792, -0.007275, 0.004446> + 12834: <-0.000799, -0.007462, 0.004081> + 12835: <-0.000400, -0.007487, 0.004093> + 12836: <-0.000792, -0.007275, 0.004446> + 12837: <-0.001185, -0.007236, 0.004424> + 12838: <-0.001196, -0.007423, 0.004061> + 12839: <-0.000799, -0.007462, 0.004081> + 12840: <-0.001185, -0.007236, 0.004424> + 12841: <-0.001574, -0.007183, 0.004395> + 12842: <-0.001588, -0.007367, 0.004034> + 12843: <-0.001196, -0.007423, 0.004061> + 12844: <-0.001574, -0.007183, 0.004395> + 12845: <-0.001957, -0.007115, 0.004360> + 12846: <-0.001975, -0.007297, 0.004002> + 12847: <-0.001588, -0.007367, 0.004034> + 12848: <-0.001957, -0.007115, 0.004360> + 12849: <-0.002333, -0.007033, 0.004318> + 12850: <-0.002356, -0.007212, 0.003965> + 12851: <-0.001975, -0.007297, 0.004002> + 12852: <-0.002333, -0.007033, 0.004318> + 12853: <-0.002701, -0.006937, 0.004273> + 12854: <-0.002729, -0.007112, 0.003924> + 12855: <-0.002356, -0.007212, 0.003965> + 12856: <-0.002701, -0.006937, 0.004273> + 12857: <-0.003060, -0.006828, 0.004223> + 12858: <-0.003093, -0.006998, 0.003880> + 12859: <-0.002729, -0.007112, 0.003924> + 12860: <-0.003060, -0.006828, 0.004223> + 12861: <-0.003407, -0.006705, 0.004170> + 12862: <-0.003446, -0.006870, 0.003834> + 12863: <-0.003093, -0.006998, 0.003880> + 12864: <-0.003407, -0.006705, 0.004170> + 12865: <-0.003743, -0.006570, 0.004117> + 12866: <-0.003788, -0.006727, 0.003788> + 12867: <-0.003446, -0.006870, 0.003834> + 12868: <-0.003743, -0.006570, 0.004117> + 12869: <-0.004065, -0.006421, 0.004065> + 12870: <-0.004117, -0.006570, 0.003743> + 12871: <-0.003788, -0.006727, 0.003788> + 12872: <-0.004065, -0.006421, 0.004065> + 12873: <-0.004374, -0.006257, 0.004017> + 12874: <-0.004434, -0.006397, 0.003701> + 12875: <-0.004117, -0.006570, 0.003743> + 12876: <-0.004374, -0.006257, 0.004017> + 12877: <-0.004668, -0.006080, 0.003975> + 12878: <-0.004736, -0.006210, 0.003666> + 12879: <-0.004434, -0.006397, 0.003701> + 12880: <-0.004668, -0.006080, 0.003975> + 12881: <-0.004946, -0.005887, 0.003941> + 12882: <-0.005023, -0.006006, 0.003637> + 12883: <-0.004736, -0.006210, 0.003666> + 12884: <-0.004946, -0.005887, 0.003941> + 12885: <-0.005207, -0.005678, 0.003918> + 12886: <-0.005294, -0.005786, 0.003619> + 12887: <-0.005023, -0.006006, 0.003637> + 12888: < 0.005294, -0.005786, 0.003619> + 12889: < 0.005023, -0.006006, 0.003637> + 12890: < 0.005099, -0.006117, 0.003318> + 12891: < 0.005379, -0.005888, 0.003302> + 12892: < 0.005023, -0.006006, 0.003637> + 12893: < 0.004736, -0.006210, 0.003666> + 12894: < 0.004804, -0.006329, 0.003342> + 12895: < 0.005099, -0.006117, 0.003318> + 12896: < 0.004736, -0.006210, 0.003666> + 12897: < 0.004434, -0.006397, 0.003701> + 12898: < 0.004494, -0.006525, 0.003372> + 12899: < 0.004804, -0.006329, 0.003342> + 12900: < 0.004434, -0.006397, 0.003701> + 12901: < 0.004117, -0.006570, 0.003743> + 12902: < 0.004170, -0.006705, 0.003407> + 12903: < 0.004494, -0.006525, 0.003372> + 12904: < 0.004117, -0.006570, 0.003743> + 12905: < 0.003788, -0.006727, 0.003788> + 12906: < 0.003834, -0.006870, 0.003446> + 12907: < 0.004170, -0.006705, 0.003407> + 12908: < 0.003788, -0.006727, 0.003788> + 12909: < 0.003446, -0.006870, 0.003834> + 12910: < 0.003486, -0.007018, 0.003486> + 12911: < 0.003834, -0.006870, 0.003446> + 12912: < 0.003446, -0.006870, 0.003834> + 12913: < 0.003093, -0.006998, 0.003880> + 12914: < 0.003127, -0.007152, 0.003526> + 12915: < 0.003486, -0.007018, 0.003486> + 12916: < 0.003093, -0.006998, 0.003880> + 12917: < 0.002729, -0.007112, 0.003924> + 12918: < 0.002758, -0.007270, 0.003565> + 12919: < 0.003127, -0.007152, 0.003526> + 12920: < 0.002729, -0.007112, 0.003924> + 12921: < 0.002356, -0.007212, 0.003965> + 12922: < 0.002380, -0.007374, 0.003601> + 12923: < 0.002758, -0.007270, 0.003565> + 12924: < 0.002356, -0.007212, 0.003965> + 12925: < 0.001975, -0.007297, 0.004002> + 12926: < 0.001995, -0.007462, 0.003634> + 12927: < 0.002380, -0.007374, 0.003601> + 12928: < 0.001975, -0.007297, 0.004002> + 12929: < 0.001588, -0.007367, 0.004034> + 12930: < 0.001603, -0.007535, 0.003663> + 12931: < 0.001995, -0.007462, 0.003634> + 12932: < 0.001588, -0.007367, 0.004034> + 12933: < 0.001196, -0.007423, 0.004061> + 12934: < 0.001207, -0.007591, 0.003686> + 12935: < 0.001603, -0.007535, 0.003663> + 12936: < 0.001196, -0.007423, 0.004061> + 12937: < 0.000799, -0.007462, 0.004081> + 12938: < 0.000807, -0.007632, 0.003704> + 12939: < 0.001207, -0.007591, 0.003686> + 12940: < 0.000799, -0.007462, 0.004081> + 12941: < 0.000400, -0.007487, 0.004093> + 12942: < 0.000404, -0.007657, 0.003716> + 12943: < 0.000807, -0.007632, 0.003704> + 12944: < 0.000400, -0.007487, 0.004093> + 12945: < 0.000000, -0.007495, 0.004098> + 12946: < 0.000000, -0.007665, 0.003720> + 12947: < 0.000404, -0.007657, 0.003716> + 12948: < 0.000000, -0.007495, 0.004098> + 12949: <-0.000400, -0.007487, 0.004093> + 12950: <-0.000404, -0.007657, 0.003716> + 12951: < 0.000000, -0.007665, 0.003720> + 12952: <-0.000400, -0.007487, 0.004093> + 12953: <-0.000799, -0.007462, 0.004081> + 12954: <-0.000807, -0.007632, 0.003704> + 12955: <-0.000404, -0.007657, 0.003716> + 12956: <-0.000799, -0.007462, 0.004081> + 12957: <-0.001196, -0.007423, 0.004061> + 12958: <-0.001207, -0.007591, 0.003686> + 12959: <-0.000807, -0.007632, 0.003704> + 12960: <-0.001196, -0.007423, 0.004061> + 12961: <-0.001588, -0.007367, 0.004034> + 12962: <-0.001603, -0.007535, 0.003663> + 12963: <-0.001207, -0.007591, 0.003686> + 12964: <-0.001588, -0.007367, 0.004034> + 12965: <-0.001975, -0.007297, 0.004002> + 12966: <-0.001995, -0.007462, 0.003634> + 12967: <-0.001603, -0.007535, 0.003663> + 12968: <-0.001975, -0.007297, 0.004002> + 12969: <-0.002356, -0.007212, 0.003965> + 12970: <-0.002380, -0.007374, 0.003601> + 12971: <-0.001995, -0.007462, 0.003634> + 12972: <-0.002356, -0.007212, 0.003965> + 12973: <-0.002729, -0.007112, 0.003924> + 12974: <-0.002758, -0.007270, 0.003565> + 12975: <-0.002380, -0.007374, 0.003601> + 12976: <-0.002729, -0.007112, 0.003924> + 12977: <-0.003093, -0.006998, 0.003880> + 12978: <-0.003127, -0.007152, 0.003526> + 12979: <-0.002758, -0.007270, 0.003565> + 12980: <-0.003093, -0.006998, 0.003880> + 12981: <-0.003446, -0.006870, 0.003834> + 12982: <-0.003486, -0.007018, 0.003486> + 12983: <-0.003127, -0.007152, 0.003526> + 12984: <-0.003446, -0.006870, 0.003834> + 12985: <-0.003788, -0.006727, 0.003788> + 12986: <-0.003834, -0.006870, 0.003446> + 12987: <-0.003486, -0.007018, 0.003486> + 12988: <-0.003788, -0.006727, 0.003788> + 12989: <-0.004117, -0.006570, 0.003743> + 12990: <-0.004170, -0.006705, 0.003407> + 12991: <-0.003834, -0.006870, 0.003446> + 12992: <-0.004117, -0.006570, 0.003743> + 12993: <-0.004434, -0.006397, 0.003701> + 12994: <-0.004494, -0.006525, 0.003372> + 12995: <-0.004170, -0.006705, 0.003407> + 12996: <-0.004434, -0.006397, 0.003701> + 12997: <-0.004736, -0.006210, 0.003666> + 12998: <-0.004804, -0.006329, 0.003342> + 12999: <-0.004494, -0.006525, 0.003372> + 13000: <-0.004736, -0.006210, 0.003666> + 13001: <-0.005023, -0.006006, 0.003637> + 13002: <-0.005099, -0.006117, 0.003318> + 13003: <-0.004804, -0.006329, 0.003342> + 13004: <-0.005023, -0.006006, 0.003637> + 13005: <-0.005294, -0.005786, 0.003619> + 13006: <-0.005379, -0.005888, 0.003302> + 13007: <-0.005099, -0.006117, 0.003318> + 13008: < 0.005379, -0.005888, 0.003302> + 13009: < 0.005099, -0.006117, 0.003318> + 13010: < 0.005172, -0.006219, 0.002984> + 13011: < 0.005459, -0.005983, 0.002971> + 13012: < 0.005099, -0.006117, 0.003318> + 13013: < 0.004804, -0.006329, 0.003342> + 13014: < 0.004870, -0.006439, 0.003004> + 13015: < 0.005172, -0.006219, 0.002984> + 13016: < 0.004804, -0.006329, 0.003342> + 13017: < 0.004494, -0.006525, 0.003372> + 13018: < 0.004553, -0.006641, 0.003030> + 13019: < 0.004870, -0.006439, 0.003004> + 13020: < 0.004494, -0.006525, 0.003372> + 13021: < 0.004170, -0.006705, 0.003407> + 13022: < 0.004223, -0.006828, 0.003060> + 13023: < 0.004553, -0.006641, 0.003030> + 13024: < 0.004170, -0.006705, 0.003407> + 13025: < 0.003834, -0.006870, 0.003446> + 13026: < 0.003880, -0.006998, 0.003093> + 13027: < 0.004223, -0.006828, 0.003060> + 13028: < 0.003834, -0.006870, 0.003446> + 13029: < 0.003486, -0.007018, 0.003486> + 13030: < 0.003526, -0.007152, 0.003127> + 13031: < 0.003880, -0.006998, 0.003093> + 13032: < 0.003486, -0.007018, 0.003486> + 13033: < 0.003127, -0.007152, 0.003526> + 13034: < 0.003162, -0.007290, 0.003162> + 13035: < 0.003526, -0.007152, 0.003127> + 13036: < 0.003127, -0.007152, 0.003526> + 13037: < 0.002758, -0.007270, 0.003565> + 13038: < 0.002787, -0.007412, 0.003195> + 13039: < 0.003162, -0.007290, 0.003162> + 13040: < 0.002758, -0.007270, 0.003565> + 13041: < 0.002380, -0.007374, 0.003601> + 13042: < 0.002405, -0.007519, 0.003227> + 13043: < 0.002787, -0.007412, 0.003195> + 13044: < 0.002380, -0.007374, 0.003601> + 13045: < 0.001995, -0.007462, 0.003634> + 13046: < 0.002015, -0.007610, 0.003255> + 13047: < 0.002405, -0.007519, 0.003227> + 13048: < 0.001995, -0.007462, 0.003634> + 13049: < 0.001603, -0.007535, 0.003663> + 13050: < 0.001619, -0.007684, 0.003281> + 13051: < 0.002015, -0.007610, 0.003255> + 13052: < 0.001603, -0.007535, 0.003663> + 13053: < 0.001207, -0.007591, 0.003686> + 13054: < 0.001219, -0.007743, 0.003302> + 13055: < 0.001619, -0.007684, 0.003281> + 13056: < 0.001207, -0.007591, 0.003686> + 13057: < 0.000807, -0.007632, 0.003704> + 13058: < 0.000814, -0.007785, 0.003318> + 13059: < 0.001219, -0.007743, 0.003302> + 13060: < 0.000807, -0.007632, 0.003704> + 13061: < 0.000404, -0.007657, 0.003716> + 13062: < 0.000408, -0.007810, 0.003328> + 13063: < 0.000814, -0.007785, 0.003318> + 13064: < 0.000404, -0.007657, 0.003716> + 13065: < 0.000000, -0.007665, 0.003720> + 13066: < 0.000000, -0.007818, 0.003331> + 13067: < 0.000408, -0.007810, 0.003328> + 13068: < 0.000000, -0.007665, 0.003720> + 13069: <-0.000404, -0.007657, 0.003716> + 13070: <-0.000408, -0.007810, 0.003328> + 13071: < 0.000000, -0.007818, 0.003331> + 13072: <-0.000404, -0.007657, 0.003716> + 13073: <-0.000807, -0.007632, 0.003704> + 13074: <-0.000814, -0.007785, 0.003318> + 13075: <-0.000408, -0.007810, 0.003328> + 13076: <-0.000807, -0.007632, 0.003704> + 13077: <-0.001207, -0.007591, 0.003686> + 13078: <-0.001219, -0.007743, 0.003302> + 13079: <-0.000814, -0.007785, 0.003318> + 13080: <-0.001207, -0.007591, 0.003686> + 13081: <-0.001603, -0.007535, 0.003663> + 13082: <-0.001619, -0.007684, 0.003281> + 13083: <-0.001219, -0.007743, 0.003302> + 13084: <-0.001603, -0.007535, 0.003663> + 13085: <-0.001995, -0.007462, 0.003634> + 13086: <-0.002015, -0.007610, 0.003255> + 13087: <-0.001619, -0.007684, 0.003281> + 13088: <-0.001995, -0.007462, 0.003634> + 13089: <-0.002380, -0.007374, 0.003601> + 13090: <-0.002405, -0.007519, 0.003227> + 13091: <-0.002015, -0.007610, 0.003255> + 13092: <-0.002380, -0.007374, 0.003601> + 13093: <-0.002758, -0.007270, 0.003565> + 13094: <-0.002787, -0.007412, 0.003195> + 13095: <-0.002405, -0.007519, 0.003227> + 13096: <-0.002758, -0.007270, 0.003565> + 13097: <-0.003127, -0.007152, 0.003526> + 13098: <-0.003162, -0.007290, 0.003162> + 13099: <-0.002787, -0.007412, 0.003195> + 13100: <-0.003127, -0.007152, 0.003526> + 13101: <-0.003486, -0.007018, 0.003486> + 13102: <-0.003526, -0.007152, 0.003127> + 13103: <-0.003162, -0.007290, 0.003162> + 13104: <-0.003486, -0.007018, 0.003486> + 13105: <-0.003834, -0.006870, 0.003446> + 13106: <-0.003880, -0.006998, 0.003093> + 13107: <-0.003526, -0.007152, 0.003127> + 13108: <-0.003834, -0.006870, 0.003446> + 13109: <-0.004170, -0.006705, 0.003407> + 13110: <-0.004223, -0.006828, 0.003060> + 13111: <-0.003880, -0.006998, 0.003093> + 13112: <-0.004170, -0.006705, 0.003407> + 13113: <-0.004494, -0.006525, 0.003372> + 13114: <-0.004553, -0.006641, 0.003030> + 13115: <-0.004223, -0.006828, 0.003060> + 13116: <-0.004494, -0.006525, 0.003372> + 13117: <-0.004804, -0.006329, 0.003342> + 13118: <-0.004870, -0.006439, 0.003004> + 13119: <-0.004553, -0.006641, 0.003030> + 13120: <-0.004804, -0.006329, 0.003342> + 13121: <-0.005099, -0.006117, 0.003318> + 13122: <-0.005172, -0.006219, 0.002984> + 13123: <-0.004870, -0.006439, 0.003004> + 13124: <-0.005099, -0.006117, 0.003318> + 13125: <-0.005379, -0.005888, 0.003302> + 13126: <-0.005459, -0.005983, 0.002971> + 13127: <-0.005172, -0.006219, 0.002984> + 13128: < 0.005459, -0.005983, 0.002971> + 13129: < 0.005172, -0.006219, 0.002984> + 13130: < 0.005240, -0.006311, 0.002638> + 13131: < 0.005533, -0.006069, 0.002627> + 13132: < 0.005172, -0.006219, 0.002984> + 13133: < 0.004870, -0.006439, 0.003004> + 13134: < 0.004931, -0.006537, 0.002655> + 13135: < 0.005240, -0.006311, 0.002638> + 13136: < 0.004870, -0.006439, 0.003004> + 13137: < 0.004553, -0.006641, 0.003030> + 13138: < 0.004609, -0.006745, 0.002676> + 13139: < 0.004931, -0.006537, 0.002655> + 13140: < 0.004553, -0.006641, 0.003030> + 13141: < 0.004223, -0.006828, 0.003060> + 13142: < 0.004273, -0.006937, 0.002701> + 13143: < 0.004609, -0.006745, 0.002676> + 13144: < 0.004223, -0.006828, 0.003060> + 13145: < 0.003880, -0.006998, 0.003093> + 13146: < 0.003924, -0.007112, 0.002729> + 13147: < 0.004273, -0.006937, 0.002701> + 13148: < 0.003880, -0.006998, 0.003093> + 13149: < 0.003526, -0.007152, 0.003127> + 13150: < 0.003565, -0.007270, 0.002758> + 13151: < 0.003924, -0.007112, 0.002729> + 13152: < 0.003526, -0.007152, 0.003127> + 13153: < 0.003162, -0.007290, 0.003162> + 13154: < 0.003195, -0.007412, 0.002787> + 13155: < 0.003565, -0.007270, 0.002758> + 13156: < 0.003162, -0.007290, 0.003162> + 13157: < 0.002787, -0.007412, 0.003195> + 13158: < 0.002816, -0.007538, 0.002816> + 13159: < 0.003195, -0.007412, 0.002787> + 13160: < 0.002787, -0.007412, 0.003195> + 13161: < 0.002405, -0.007519, 0.003227> + 13162: < 0.002429, -0.007648, 0.002843> + 13163: < 0.002816, -0.007538, 0.002816> + 13164: < 0.002405, -0.007519, 0.003227> + 13165: < 0.002015, -0.007610, 0.003255> + 13166: < 0.002035, -0.007740, 0.002868> + 13167: < 0.002429, -0.007648, 0.002843> + 13168: < 0.002015, -0.007610, 0.003255> + 13169: < 0.001619, -0.007684, 0.003281> + 13170: < 0.001635, -0.007817, 0.002890> + 13171: < 0.002035, -0.007740, 0.002868> + 13172: < 0.001619, -0.007684, 0.003281> + 13173: < 0.001219, -0.007743, 0.003302> + 13174: < 0.001230, -0.007876, 0.002908> + 13175: < 0.001635, -0.007817, 0.002890> + 13176: < 0.001219, -0.007743, 0.003302> + 13177: < 0.000814, -0.007785, 0.003318> + 13178: < 0.000822, -0.007919, 0.002922> + 13179: < 0.001230, -0.007876, 0.002908> + 13180: < 0.000814, -0.007785, 0.003318> + 13181: < 0.000408, -0.007810, 0.003328> + 13182: < 0.000412, -0.007945, 0.002931> + 13183: < 0.000822, -0.007919, 0.002922> + 13184: < 0.000408, -0.007810, 0.003328> + 13185: < 0.000000, -0.007818, 0.003331> + 13186: < 0.000000, -0.007953, 0.002934> + 13187: < 0.000412, -0.007945, 0.002931> + 13188: < 0.000000, -0.007818, 0.003331> + 13189: <-0.000408, -0.007810, 0.003328> + 13190: <-0.000412, -0.007945, 0.002931> + 13191: < 0.000000, -0.007953, 0.002934> + 13192: <-0.000408, -0.007810, 0.003328> + 13193: <-0.000814, -0.007785, 0.003318> + 13194: <-0.000822, -0.007919, 0.002922> + 13195: <-0.000412, -0.007945, 0.002931> + 13196: <-0.000814, -0.007785, 0.003318> + 13197: <-0.001219, -0.007743, 0.003302> + 13198: <-0.001230, -0.007876, 0.002908> + 13199: <-0.000822, -0.007919, 0.002922> + 13200: <-0.001219, -0.007743, 0.003302> + 13201: <-0.001619, -0.007684, 0.003281> + 13202: <-0.001635, -0.007817, 0.002890> + 13203: <-0.001230, -0.007876, 0.002908> + 13204: <-0.001619, -0.007684, 0.003281> + 13205: <-0.002015, -0.007610, 0.003255> + 13206: <-0.002035, -0.007740, 0.002868> + 13207: <-0.001635, -0.007817, 0.002890> + 13208: <-0.002015, -0.007610, 0.003255> + 13209: <-0.002405, -0.007519, 0.003227> + 13210: <-0.002429, -0.007648, 0.002843> + 13211: <-0.002035, -0.007740, 0.002868> + 13212: <-0.002405, -0.007519, 0.003227> + 13213: <-0.002787, -0.007412, 0.003195> + 13214: <-0.002816, -0.007538, 0.002816> + 13215: <-0.002429, -0.007648, 0.002843> + 13216: <-0.002787, -0.007412, 0.003195> + 13217: <-0.003162, -0.007290, 0.003162> + 13218: <-0.003195, -0.007412, 0.002787> + 13219: <-0.002816, -0.007538, 0.002816> + 13220: <-0.003162, -0.007290, 0.003162> + 13221: <-0.003526, -0.007152, 0.003127> + 13222: <-0.003565, -0.007270, 0.002758> + 13223: <-0.003195, -0.007412, 0.002787> + 13224: <-0.003526, -0.007152, 0.003127> + 13225: <-0.003880, -0.006998, 0.003093> + 13226: <-0.003924, -0.007112, 0.002729> + 13227: <-0.003565, -0.007270, 0.002758> + 13228: <-0.003880, -0.006998, 0.003093> + 13229: <-0.004223, -0.006828, 0.003060> + 13230: <-0.004273, -0.006937, 0.002701> + 13231: <-0.003924, -0.007112, 0.002729> + 13232: <-0.004223, -0.006828, 0.003060> + 13233: <-0.004553, -0.006641, 0.003030> + 13234: <-0.004609, -0.006745, 0.002676> + 13235: <-0.004273, -0.006937, 0.002701> + 13236: <-0.004553, -0.006641, 0.003030> + 13237: <-0.004870, -0.006439, 0.003004> + 13238: <-0.004931, -0.006537, 0.002655> + 13239: <-0.004609, -0.006745, 0.002676> + 13240: <-0.004870, -0.006439, 0.003004> + 13241: <-0.005172, -0.006219, 0.002984> + 13242: <-0.005240, -0.006311, 0.002638> + 13243: <-0.004931, -0.006537, 0.002655> + 13244: <-0.005172, -0.006219, 0.002984> + 13245: <-0.005459, -0.005983, 0.002971> + 13246: <-0.005533, -0.006069, 0.002627> + 13247: <-0.005240, -0.006311, 0.002638> + 13248: < 0.005533, -0.006069, 0.002627> + 13249: < 0.005240, -0.006311, 0.002638> + 13250: < 0.005301, -0.006393, 0.002281> + 13251: < 0.005599, -0.006146, 0.002272> + 13252: < 0.005240, -0.006311, 0.002638> + 13253: < 0.004931, -0.006537, 0.002655> + 13254: < 0.004987, -0.006623, 0.002295> + 13255: < 0.005301, -0.006393, 0.002281> + 13256: < 0.004931, -0.006537, 0.002655> + 13257: < 0.004609, -0.006745, 0.002676> + 13258: < 0.004659, -0.006836, 0.002313> + 13259: < 0.004987, -0.006623, 0.002295> + 13260: < 0.004609, -0.006745, 0.002676> + 13261: < 0.004273, -0.006937, 0.002701> + 13262: < 0.004318, -0.007033, 0.002333> + 13263: < 0.004659, -0.006836, 0.002313> + 13264: < 0.004273, -0.006937, 0.002701> + 13265: < 0.003924, -0.007112, 0.002729> + 13266: < 0.003965, -0.007212, 0.002356> + 13267: < 0.004318, -0.007033, 0.002333> + 13268: < 0.003924, -0.007112, 0.002729> + 13269: < 0.003565, -0.007270, 0.002758> + 13270: < 0.003601, -0.007374, 0.002380> + 13271: < 0.003965, -0.007212, 0.002356> + 13272: < 0.003565, -0.007270, 0.002758> + 13273: < 0.003195, -0.007412, 0.002787> + 13274: < 0.003227, -0.007519, 0.002405> + 13275: < 0.003601, -0.007374, 0.002380> + 13276: < 0.003195, -0.007412, 0.002787> + 13277: < 0.002816, -0.007538, 0.002816> + 13278: < 0.002843, -0.007648, 0.002429> + 13279: < 0.003227, -0.007519, 0.002405> + 13280: < 0.002816, -0.007538, 0.002816> + 13281: < 0.002429, -0.007648, 0.002843> + 13282: < 0.002452, -0.007759, 0.002452> + 13283: < 0.002843, -0.007648, 0.002429> + 13284: < 0.002429, -0.007648, 0.002843> + 13285: < 0.002035, -0.007740, 0.002868> + 13286: < 0.002053, -0.007854, 0.002473> + 13287: < 0.002452, -0.007759, 0.002452> + 13288: < 0.002035, -0.007740, 0.002868> + 13289: < 0.001635, -0.007817, 0.002890> + 13290: < 0.001650, -0.007932, 0.002492> + 13291: < 0.002053, -0.007854, 0.002473> + 13292: < 0.001635, -0.007817, 0.002890> + 13293: < 0.001230, -0.007876, 0.002908> + 13294: < 0.001241, -0.007992, 0.002507> + 13295: < 0.001650, -0.007932, 0.002492> + 13296: < 0.001230, -0.007876, 0.002908> + 13297: < 0.000822, -0.007919, 0.002922> + 13298: < 0.000829, -0.008036, 0.002519> + 13299: < 0.001241, -0.007992, 0.002507> + 13300: < 0.000822, -0.007919, 0.002922> + 13301: < 0.000412, -0.007945, 0.002931> + 13302: < 0.000415, -0.008062, 0.002527> + 13303: < 0.000829, -0.008036, 0.002519> + 13304: < 0.000412, -0.007945, 0.002931> + 13305: < 0.000000, -0.007953, 0.002934> + 13306: < 0.000000, -0.008070, 0.002530> + 13307: < 0.000415, -0.008062, 0.002527> + 13308: < 0.000000, -0.007953, 0.002934> + 13309: <-0.000412, -0.007945, 0.002931> + 13310: <-0.000415, -0.008062, 0.002527> + 13311: < 0.000000, -0.008070, 0.002530> + 13312: <-0.000412, -0.007945, 0.002931> + 13313: <-0.000822, -0.007919, 0.002922> + 13314: <-0.000829, -0.008036, 0.002519> + 13315: <-0.000415, -0.008062, 0.002527> + 13316: <-0.000822, -0.007919, 0.002922> + 13317: <-0.001230, -0.007876, 0.002908> + 13318: <-0.001241, -0.007992, 0.002507> + 13319: <-0.000829, -0.008036, 0.002519> + 13320: <-0.001230, -0.007876, 0.002908> + 13321: <-0.001635, -0.007817, 0.002890> + 13322: <-0.001650, -0.007932, 0.002492> + 13323: <-0.001241, -0.007992, 0.002507> + 13324: <-0.001635, -0.007817, 0.002890> + 13325: <-0.002035, -0.007740, 0.002868> + 13326: <-0.002053, -0.007854, 0.002473> + 13327: <-0.001650, -0.007932, 0.002492> + 13328: <-0.002035, -0.007740, 0.002868> + 13329: <-0.002429, -0.007648, 0.002843> + 13330: <-0.002452, -0.007759, 0.002452> + 13331: <-0.002053, -0.007854, 0.002473> + 13332: <-0.002429, -0.007648, 0.002843> + 13333: <-0.002816, -0.007538, 0.002816> + 13334: <-0.002843, -0.007648, 0.002429> + 13335: <-0.002452, -0.007759, 0.002452> + 13336: <-0.002816, -0.007538, 0.002816> + 13337: <-0.003195, -0.007412, 0.002787> + 13338: <-0.003227, -0.007519, 0.002405> + 13339: <-0.002843, -0.007648, 0.002429> + 13340: <-0.003195, -0.007412, 0.002787> + 13341: <-0.003565, -0.007270, 0.002758> + 13342: <-0.003601, -0.007374, 0.002380> + 13343: <-0.003227, -0.007519, 0.002405> + 13344: <-0.003565, -0.007270, 0.002758> + 13345: <-0.003924, -0.007112, 0.002729> + 13346: <-0.003965, -0.007212, 0.002356> + 13347: <-0.003601, -0.007374, 0.002380> + 13348: <-0.003924, -0.007112, 0.002729> + 13349: <-0.004273, -0.006937, 0.002701> + 13350: <-0.004318, -0.007033, 0.002333> + 13351: <-0.003965, -0.007212, 0.002356> + 13352: <-0.004273, -0.006937, 0.002701> + 13353: <-0.004609, -0.006745, 0.002676> + 13354: <-0.004659, -0.006836, 0.002313> + 13355: <-0.004318, -0.007033, 0.002333> + 13356: <-0.004609, -0.006745, 0.002676> + 13357: <-0.004931, -0.006537, 0.002655> + 13358: <-0.004987, -0.006623, 0.002295> + 13359: <-0.004659, -0.006836, 0.002313> + 13360: <-0.004931, -0.006537, 0.002655> + 13361: <-0.005240, -0.006311, 0.002638> + 13362: <-0.005301, -0.006393, 0.002281> + 13363: <-0.004987, -0.006623, 0.002295> + 13364: <-0.005240, -0.006311, 0.002638> + 13365: <-0.005533, -0.006069, 0.002627> + 13366: <-0.005599, -0.006146, 0.002272> + 13367: <-0.005301, -0.006393, 0.002281> + 13368: < 0.005599, -0.006146, 0.002272> + 13369: < 0.005301, -0.006393, 0.002281> + 13370: < 0.005355, -0.006464, 0.001915> + 13371: < 0.005657, -0.006212, 0.001908> + 13372: < 0.005301, -0.006393, 0.002281> + 13373: < 0.004987, -0.006623, 0.002295> + 13374: < 0.005037, -0.006698, 0.001926> + 13375: < 0.005355, -0.006464, 0.001915> + 13376: < 0.004987, -0.006623, 0.002295> + 13377: < 0.004659, -0.006836, 0.002313> + 13378: < 0.004705, -0.006915, 0.001940> + 13379: < 0.005037, -0.006698, 0.001926> + 13380: < 0.004659, -0.006836, 0.002313> + 13381: < 0.004318, -0.007033, 0.002333> + 13382: < 0.004360, -0.007115, 0.001957> + 13383: < 0.004705, -0.006915, 0.001940> + 13384: < 0.004318, -0.007033, 0.002333> + 13385: < 0.003965, -0.007212, 0.002356> + 13386: < 0.004002, -0.007297, 0.001975> + 13387: < 0.004360, -0.007115, 0.001957> + 13388: < 0.003965, -0.007212, 0.002356> + 13389: < 0.003601, -0.007374, 0.002380> + 13390: < 0.003634, -0.007462, 0.001995> + 13391: < 0.004002, -0.007297, 0.001975> + 13392: < 0.003601, -0.007374, 0.002380> + 13393: < 0.003227, -0.007519, 0.002405> + 13394: < 0.003255, -0.007610, 0.002015> + 13395: < 0.003634, -0.007462, 0.001995> + 13396: < 0.003227, -0.007519, 0.002405> + 13397: < 0.002843, -0.007648, 0.002429> + 13398: < 0.002868, -0.007740, 0.002035> + 13399: < 0.003255, -0.007610, 0.002015> + 13400: < 0.002843, -0.007648, 0.002429> + 13401: < 0.002452, -0.007759, 0.002452> + 13402: < 0.002473, -0.007854, 0.002053> + 13403: < 0.002868, -0.007740, 0.002035> + 13404: < 0.002452, -0.007759, 0.002452> + 13405: < 0.002053, -0.007854, 0.002473> + 13406: < 0.002071, -0.007950, 0.002071> + 13407: < 0.002473, -0.007854, 0.002053> + 13408: < 0.002053, -0.007854, 0.002473> + 13409: < 0.001650, -0.007932, 0.002492> + 13410: < 0.001663, -0.008029, 0.002086> + 13411: < 0.002071, -0.007950, 0.002071> + 13412: < 0.001650, -0.007932, 0.002492> + 13413: < 0.001241, -0.007992, 0.002507> + 13414: < 0.001252, -0.008090, 0.002099> + 13415: < 0.001663, -0.008029, 0.002086> + 13416: < 0.001241, -0.007992, 0.002507> + 13417: < 0.000829, -0.008036, 0.002519> + 13418: < 0.000836, -0.008134, 0.002109> + 13419: < 0.001252, -0.008090, 0.002099> + 13420: < 0.000829, -0.008036, 0.002519> + 13421: < 0.000415, -0.008062, 0.002527> + 13422: < 0.000419, -0.008161, 0.002116> + 13423: < 0.000836, -0.008134, 0.002109> + 13424: < 0.000415, -0.008062, 0.002527> + 13425: < 0.000000, -0.008070, 0.002530> + 13426: < 0.000000, -0.008169, 0.002118> + 13427: < 0.000419, -0.008161, 0.002116> + 13428: < 0.000000, -0.008070, 0.002530> + 13429: <-0.000415, -0.008062, 0.002527> + 13430: <-0.000419, -0.008161, 0.002116> + 13431: < 0.000000, -0.008169, 0.002118> + 13432: <-0.000415, -0.008062, 0.002527> + 13433: <-0.000829, -0.008036, 0.002519> + 13434: <-0.000836, -0.008134, 0.002109> + 13435: <-0.000419, -0.008161, 0.002116> + 13436: <-0.000829, -0.008036, 0.002519> + 13437: <-0.001241, -0.007992, 0.002507> + 13438: <-0.001252, -0.008090, 0.002099> + 13439: <-0.000836, -0.008134, 0.002109> + 13440: <-0.001241, -0.007992, 0.002507> + 13441: <-0.001650, -0.007932, 0.002492> + 13442: <-0.001663, -0.008029, 0.002086> + 13443: <-0.001252, -0.008090, 0.002099> + 13444: <-0.001650, -0.007932, 0.002492> + 13445: <-0.002053, -0.007854, 0.002473> + 13446: <-0.002071, -0.007950, 0.002071> + 13447: <-0.001663, -0.008029, 0.002086> + 13448: <-0.002053, -0.007854, 0.002473> + 13449: <-0.002452, -0.007759, 0.002452> + 13450: <-0.002473, -0.007854, 0.002053> + 13451: <-0.002071, -0.007950, 0.002071> + 13452: <-0.002452, -0.007759, 0.002452> + 13453: <-0.002843, -0.007648, 0.002429> + 13454: <-0.002868, -0.007740, 0.002035> + 13455: <-0.002473, -0.007854, 0.002053> + 13456: <-0.002843, -0.007648, 0.002429> + 13457: <-0.003227, -0.007519, 0.002405> + 13458: <-0.003255, -0.007610, 0.002015> + 13459: <-0.002868, -0.007740, 0.002035> + 13460: <-0.003227, -0.007519, 0.002405> + 13461: <-0.003601, -0.007374, 0.002380> + 13462: <-0.003634, -0.007462, 0.001995> + 13463: <-0.003255, -0.007610, 0.002015> + 13464: <-0.003601, -0.007374, 0.002380> + 13465: <-0.003965, -0.007212, 0.002356> + 13466: <-0.004002, -0.007297, 0.001975> + 13467: <-0.003634, -0.007462, 0.001995> + 13468: <-0.003965, -0.007212, 0.002356> + 13469: <-0.004318, -0.007033, 0.002333> + 13470: <-0.004360, -0.007115, 0.001957> + 13471: <-0.004002, -0.007297, 0.001975> + 13472: <-0.004318, -0.007033, 0.002333> + 13473: <-0.004659, -0.006836, 0.002313> + 13474: <-0.004705, -0.006915, 0.001940> + 13475: <-0.004360, -0.007115, 0.001957> + 13476: <-0.004659, -0.006836, 0.002313> + 13477: <-0.004987, -0.006623, 0.002295> + 13478: <-0.005037, -0.006698, 0.001926> + 13479: <-0.004705, -0.006915, 0.001940> + 13480: <-0.004987, -0.006623, 0.002295> + 13481: <-0.005301, -0.006393, 0.002281> + 13482: <-0.005355, -0.006464, 0.001915> + 13483: <-0.005037, -0.006698, 0.001926> + 13484: <-0.005301, -0.006393, 0.002281> + 13485: <-0.005599, -0.006146, 0.002272> + 13486: <-0.005657, -0.006212, 0.001908> + 13487: <-0.005355, -0.006464, 0.001915> + 13488: < 0.005657, -0.006212, 0.001908> + 13489: < 0.005355, -0.006464, 0.001915> + 13490: < 0.005401, -0.006523, 0.001541> + 13491: < 0.005707, -0.006269, 0.001536> + 13492: < 0.005355, -0.006464, 0.001915> + 13493: < 0.005037, -0.006698, 0.001926> + 13494: < 0.005080, -0.006761, 0.001550> + 13495: < 0.005401, -0.006523, 0.001541> + 13496: < 0.005037, -0.006698, 0.001926> + 13497: < 0.004705, -0.006915, 0.001940> + 13498: < 0.004744, -0.006980, 0.001561> + 13499: < 0.005080, -0.006761, 0.001550> + 13500: < 0.004705, -0.006915, 0.001940> + 13501: < 0.004360, -0.007115, 0.001957> + 13502: < 0.004395, -0.007183, 0.001574> + 13503: < 0.004744, -0.006980, 0.001561> + 13504: < 0.004360, -0.007115, 0.001957> + 13505: < 0.004002, -0.007297, 0.001975> + 13506: < 0.004034, -0.007367, 0.001588> + 13507: < 0.004395, -0.007183, 0.001574> + 13508: < 0.004002, -0.007297, 0.001975> + 13509: < 0.003634, -0.007462, 0.001995> + 13510: < 0.003663, -0.007535, 0.001603> + 13511: < 0.004034, -0.007367, 0.001588> + 13512: < 0.003634, -0.007462, 0.001995> + 13513: < 0.003255, -0.007610, 0.002015> + 13514: < 0.003281, -0.007684, 0.001619> + 13515: < 0.003663, -0.007535, 0.001603> + 13516: < 0.003255, -0.007610, 0.002015> + 13517: < 0.002868, -0.007740, 0.002035> + 13518: < 0.002890, -0.007817, 0.001635> + 13519: < 0.003281, -0.007684, 0.001619> + 13520: < 0.002868, -0.007740, 0.002035> + 13521: < 0.002473, -0.007854, 0.002053> + 13522: < 0.002492, -0.007932, 0.001650> + 13523: < 0.002890, -0.007817, 0.001635> + 13524: < 0.002473, -0.007854, 0.002053> + 13525: < 0.002071, -0.007950, 0.002071> + 13526: < 0.002086, -0.008029, 0.001663> + 13527: < 0.002492, -0.007932, 0.001650> + 13528: < 0.002071, -0.007950, 0.002071> + 13529: < 0.001663, -0.008029, 0.002086> + 13530: < 0.001676, -0.008109, 0.001676> + 13531: < 0.002086, -0.008029, 0.001663> + 13532: < 0.001663, -0.008029, 0.002086> + 13533: < 0.001252, -0.008090, 0.002099> + 13534: < 0.001261, -0.008171, 0.001686> + 13535: < 0.001676, -0.008109, 0.001676> + 13536: < 0.001252, -0.008090, 0.002099> + 13537: < 0.000836, -0.008134, 0.002109> + 13538: < 0.000842, -0.008215, 0.001694> + 13539: < 0.001261, -0.008171, 0.001686> + 13540: < 0.000836, -0.008134, 0.002109> + 13541: < 0.000419, -0.008161, 0.002116> + 13542: < 0.000422, -0.008242, 0.001699> + 13543: < 0.000842, -0.008215, 0.001694> + 13544: < 0.000419, -0.008161, 0.002116> + 13545: < 0.000000, -0.008169, 0.002118> + 13546: < 0.000000, -0.008251, 0.001701> + 13547: < 0.000422, -0.008242, 0.001699> + 13548: < 0.000000, -0.008169, 0.002118> + 13549: <-0.000419, -0.008161, 0.002116> + 13550: <-0.000422, -0.008242, 0.001699> + 13551: < 0.000000, -0.008251, 0.001701> + 13552: <-0.000419, -0.008161, 0.002116> + 13553: <-0.000836, -0.008134, 0.002109> + 13554: <-0.000842, -0.008215, 0.001694> + 13555: <-0.000422, -0.008242, 0.001699> + 13556: <-0.000836, -0.008134, 0.002109> + 13557: <-0.001252, -0.008090, 0.002099> + 13558: <-0.001261, -0.008171, 0.001686> + 13559: <-0.000842, -0.008215, 0.001694> + 13560: <-0.001252, -0.008090, 0.002099> + 13561: <-0.001663, -0.008029, 0.002086> + 13562: <-0.001676, -0.008109, 0.001676> + 13563: <-0.001261, -0.008171, 0.001686> + 13564: <-0.001663, -0.008029, 0.002086> + 13565: <-0.002071, -0.007950, 0.002071> + 13566: <-0.002086, -0.008029, 0.001663> + 13567: <-0.001676, -0.008109, 0.001676> + 13568: <-0.002071, -0.007950, 0.002071> + 13569: <-0.002473, -0.007854, 0.002053> + 13570: <-0.002492, -0.007932, 0.001650> + 13571: <-0.002086, -0.008029, 0.001663> + 13572: <-0.002473, -0.007854, 0.002053> + 13573: <-0.002868, -0.007740, 0.002035> + 13574: <-0.002890, -0.007817, 0.001635> + 13575: <-0.002492, -0.007932, 0.001650> + 13576: <-0.002868, -0.007740, 0.002035> + 13577: <-0.003255, -0.007610, 0.002015> + 13578: <-0.003281, -0.007684, 0.001619> + 13579: <-0.002890, -0.007817, 0.001635> + 13580: <-0.003255, -0.007610, 0.002015> + 13581: <-0.003634, -0.007462, 0.001995> + 13582: <-0.003663, -0.007535, 0.001603> + 13583: <-0.003281, -0.007684, 0.001619> + 13584: <-0.003634, -0.007462, 0.001995> + 13585: <-0.004002, -0.007297, 0.001975> + 13586: <-0.004034, -0.007367, 0.001588> + 13587: <-0.003663, -0.007535, 0.001603> + 13588: <-0.004002, -0.007297, 0.001975> + 13589: <-0.004360, -0.007115, 0.001957> + 13590: <-0.004395, -0.007183, 0.001574> + 13591: <-0.004034, -0.007367, 0.001588> + 13592: <-0.004360, -0.007115, 0.001957> + 13593: <-0.004705, -0.006915, 0.001940> + 13594: <-0.004744, -0.006980, 0.001561> + 13595: <-0.004395, -0.007183, 0.001574> + 13596: <-0.004705, -0.006915, 0.001940> + 13597: <-0.005037, -0.006698, 0.001926> + 13598: <-0.005080, -0.006761, 0.001550> + 13599: <-0.004744, -0.006980, 0.001561> + 13600: <-0.005037, -0.006698, 0.001926> + 13601: <-0.005355, -0.006464, 0.001915> + 13602: <-0.005401, -0.006523, 0.001541> + 13603: <-0.005080, -0.006761, 0.001550> + 13604: <-0.005355, -0.006464, 0.001915> + 13605: <-0.005657, -0.006212, 0.001908> + 13606: <-0.005707, -0.006269, 0.001536> + 13607: <-0.005401, -0.006523, 0.001541> + 13608: < 0.005707, -0.006269, 0.001536> + 13609: < 0.005401, -0.006523, 0.001541> + 13610: < 0.005438, -0.006570, 0.001161> + 13611: < 0.005747, -0.006313, 0.001157> + 13612: < 0.005401, -0.006523, 0.001541> + 13613: < 0.005080, -0.006761, 0.001550> + 13614: < 0.005114, -0.006810, 0.001168> + 13615: < 0.005438, -0.006570, 0.001161> + 13616: < 0.005080, -0.006761, 0.001550> + 13617: < 0.004744, -0.006980, 0.001561> + 13618: < 0.004776, -0.007032, 0.001176> + 13619: < 0.005114, -0.006810, 0.001168> + 13620: < 0.004744, -0.006980, 0.001561> + 13621: < 0.004395, -0.007183, 0.001574> + 13622: < 0.004424, -0.007236, 0.001185> + 13623: < 0.004776, -0.007032, 0.001176> + 13624: < 0.004395, -0.007183, 0.001574> + 13625: < 0.004034, -0.007367, 0.001588> + 13626: < 0.004061, -0.007423, 0.001196> + 13627: < 0.004424, -0.007236, 0.001185> + 13628: < 0.004034, -0.007367, 0.001588> + 13629: < 0.003663, -0.007535, 0.001603> + 13630: < 0.003686, -0.007591, 0.001207> + 13631: < 0.004061, -0.007423, 0.001196> + 13632: < 0.003663, -0.007535, 0.001603> + 13633: < 0.003281, -0.007684, 0.001619> + 13634: < 0.003302, -0.007743, 0.001219> + 13635: < 0.003686, -0.007591, 0.001207> + 13636: < 0.003281, -0.007684, 0.001619> + 13637: < 0.002890, -0.007817, 0.001635> + 13638: < 0.002908, -0.007876, 0.001230> + 13639: < 0.003302, -0.007743, 0.001219> + 13640: < 0.002890, -0.007817, 0.001635> + 13641: < 0.002492, -0.007932, 0.001650> + 13642: < 0.002507, -0.007992, 0.001241> + 13643: < 0.002908, -0.007876, 0.001230> + 13644: < 0.002492, -0.007932, 0.001650> + 13645: < 0.002086, -0.008029, 0.001663> + 13646: < 0.002099, -0.008090, 0.001252> + 13647: < 0.002507, -0.007992, 0.001241> + 13648: < 0.002086, -0.008029, 0.001663> + 13649: < 0.001676, -0.008109, 0.001676> + 13650: < 0.001686, -0.008171, 0.001261> + 13651: < 0.002099, -0.008090, 0.001252> + 13652: < 0.001676, -0.008109, 0.001676> + 13653: < 0.001261, -0.008171, 0.001686> + 13654: < 0.001269, -0.008233, 0.001269> + 13655: < 0.001686, -0.008171, 0.001261> + 13656: < 0.001261, -0.008171, 0.001686> + 13657: < 0.000842, -0.008215, 0.001694> + 13658: < 0.000848, -0.008278, 0.001275> + 13659: < 0.001269, -0.008233, 0.001269> + 13660: < 0.000842, -0.008215, 0.001694> + 13661: < 0.000422, -0.008242, 0.001699> + 13662: < 0.000424, -0.008305, 0.001278> + 13663: < 0.000848, -0.008278, 0.001275> + 13664: < 0.000422, -0.008242, 0.001699> + 13665: < 0.000000, -0.008251, 0.001701> + 13666: < 0.000000, -0.008314, 0.001280> + 13667: < 0.000424, -0.008305, 0.001278> + 13668: < 0.000000, -0.008251, 0.001701> + 13669: <-0.000422, -0.008242, 0.001699> + 13670: <-0.000424, -0.008305, 0.001278> + 13671: < 0.000000, -0.008314, 0.001280> + 13672: <-0.000422, -0.008242, 0.001699> + 13673: <-0.000842, -0.008215, 0.001694> + 13674: <-0.000848, -0.008278, 0.001275> + 13675: <-0.000424, -0.008305, 0.001278> + 13676: <-0.000842, -0.008215, 0.001694> + 13677: <-0.001261, -0.008171, 0.001686> + 13678: <-0.001269, -0.008233, 0.001269> + 13679: <-0.000848, -0.008278, 0.001275> + 13680: <-0.001261, -0.008171, 0.001686> + 13681: <-0.001676, -0.008109, 0.001676> + 13682: <-0.001686, -0.008171, 0.001261> + 13683: <-0.001269, -0.008233, 0.001269> + 13684: <-0.001676, -0.008109, 0.001676> + 13685: <-0.002086, -0.008029, 0.001663> + 13686: <-0.002099, -0.008090, 0.001252> + 13687: <-0.001686, -0.008171, 0.001261> + 13688: <-0.002086, -0.008029, 0.001663> + 13689: <-0.002492, -0.007932, 0.001650> + 13690: <-0.002507, -0.007992, 0.001241> + 13691: <-0.002099, -0.008090, 0.001252> + 13692: <-0.002492, -0.007932, 0.001650> + 13693: <-0.002890, -0.007817, 0.001635> + 13694: <-0.002908, -0.007876, 0.001230> + 13695: <-0.002507, -0.007992, 0.001241> + 13696: <-0.002890, -0.007817, 0.001635> + 13697: <-0.003281, -0.007684, 0.001619> + 13698: <-0.003302, -0.007743, 0.001219> + 13699: <-0.002908, -0.007876, 0.001230> + 13700: <-0.003281, -0.007684, 0.001619> + 13701: <-0.003663, -0.007535, 0.001603> + 13702: <-0.003686, -0.007591, 0.001207> + 13703: <-0.003302, -0.007743, 0.001219> + 13704: <-0.003663, -0.007535, 0.001603> + 13705: <-0.004034, -0.007367, 0.001588> + 13706: <-0.004061, -0.007423, 0.001196> + 13707: <-0.003686, -0.007591, 0.001207> + 13708: <-0.004034, -0.007367, 0.001588> + 13709: <-0.004395, -0.007183, 0.001574> + 13710: <-0.004424, -0.007236, 0.001185> + 13711: <-0.004061, -0.007423, 0.001196> + 13712: <-0.004395, -0.007183, 0.001574> + 13713: <-0.004744, -0.006980, 0.001561> + 13714: <-0.004776, -0.007032, 0.001176> + 13715: <-0.004424, -0.007236, 0.001185> + 13716: <-0.004744, -0.006980, 0.001561> + 13717: <-0.005080, -0.006761, 0.001550> + 13718: <-0.005114, -0.006810, 0.001168> + 13719: <-0.004776, -0.007032, 0.001176> + 13720: <-0.005080, -0.006761, 0.001550> + 13721: <-0.005401, -0.006523, 0.001541> + 13722: <-0.005438, -0.006570, 0.001161> + 13723: <-0.005114, -0.006810, 0.001168> + 13724: <-0.005401, -0.006523, 0.001541> + 13725: <-0.005707, -0.006269, 0.001536> + 13726: <-0.005747, -0.006313, 0.001157> + 13727: <-0.005438, -0.006570, 0.001161> + 13728: < 0.005747, -0.006313, 0.001157> + 13729: < 0.005438, -0.006570, 0.001161> + 13730: < 0.005466, -0.006605, 0.000777> + 13731: < 0.005776, -0.006346, 0.000774> + 13732: < 0.005438, -0.006570, 0.001161> + 13733: < 0.005114, -0.006810, 0.001168> + 13734: < 0.005140, -0.006846, 0.000781> + 13735: < 0.005466, -0.006605, 0.000777> + 13736: < 0.005114, -0.006810, 0.001168> + 13737: < 0.004776, -0.007032, 0.001176> + 13738: < 0.004800, -0.007069, 0.000786> + 13739: < 0.005140, -0.006846, 0.000781> + 13740: < 0.004776, -0.007032, 0.001176> + 13741: < 0.004424, -0.007236, 0.001185> + 13742: < 0.004446, -0.007275, 0.000792> + 13743: < 0.004800, -0.007069, 0.000786> + 13744: < 0.004424, -0.007236, 0.001185> + 13745: < 0.004061, -0.007423, 0.001196> + 13746: < 0.004081, -0.007462, 0.000799> + 13747: < 0.004446, -0.007275, 0.000792> + 13748: < 0.004061, -0.007423, 0.001196> + 13749: < 0.003686, -0.007591, 0.001207> + 13750: < 0.003704, -0.007632, 0.000807> + 13751: < 0.004081, -0.007462, 0.000799> + 13752: < 0.003686, -0.007591, 0.001207> + 13753: < 0.003302, -0.007743, 0.001219> + 13754: < 0.003318, -0.007785, 0.000814> + 13755: < 0.003704, -0.007632, 0.000807> + 13756: < 0.003302, -0.007743, 0.001219> + 13757: < 0.002908, -0.007876, 0.001230> + 13758: < 0.002922, -0.007919, 0.000822> + 13759: < 0.003318, -0.007785, 0.000814> + 13760: < 0.002908, -0.007876, 0.001230> + 13761: < 0.002507, -0.007992, 0.001241> + 13762: < 0.002519, -0.008036, 0.000829> + 13763: < 0.002922, -0.007919, 0.000822> + 13764: < 0.002507, -0.007992, 0.001241> + 13765: < 0.002099, -0.008090, 0.001252> + 13766: < 0.002109, -0.008134, 0.000836> + 13767: < 0.002519, -0.008036, 0.000829> + 13768: < 0.002099, -0.008090, 0.001252> + 13769: < 0.001686, -0.008171, 0.001261> + 13770: < 0.001694, -0.008215, 0.000842> + 13771: < 0.002109, -0.008134, 0.000836> + 13772: < 0.001686, -0.008171, 0.001261> + 13773: < 0.001269, -0.008233, 0.001269> + 13774: < 0.001275, -0.008278, 0.000848> + 13775: < 0.001694, -0.008215, 0.000842> + 13776: < 0.001269, -0.008233, 0.001269> + 13777: < 0.000848, -0.008278, 0.001275> + 13778: < 0.000852, -0.008323, 0.000852> + 13779: < 0.001275, -0.008278, 0.000848> + 13780: < 0.000848, -0.008278, 0.001275> + 13781: < 0.000424, -0.008305, 0.001278> + 13782: < 0.000426, -0.008350, 0.000854> + 13783: < 0.000852, -0.008323, 0.000852> + 13784: < 0.000424, -0.008305, 0.001278> + 13785: < 0.000000, -0.008314, 0.001280> + 13786: < 0.000000, -0.008359, 0.000855> + 13787: < 0.000426, -0.008350, 0.000854> + 13788: < 0.000000, -0.008314, 0.001280> + 13789: <-0.000424, -0.008305, 0.001278> + 13790: <-0.000426, -0.008350, 0.000854> + 13791: < 0.000000, -0.008359, 0.000855> + 13792: <-0.000424, -0.008305, 0.001278> + 13793: <-0.000848, -0.008278, 0.001275> + 13794: <-0.000852, -0.008323, 0.000852> + 13795: <-0.000426, -0.008350, 0.000854> + 13796: <-0.000848, -0.008278, 0.001275> + 13797: <-0.001269, -0.008233, 0.001269> + 13798: <-0.001275, -0.008278, 0.000848> + 13799: <-0.000852, -0.008323, 0.000852> + 13800: <-0.001269, -0.008233, 0.001269> + 13801: <-0.001686, -0.008171, 0.001261> + 13802: <-0.001694, -0.008215, 0.000842> + 13803: <-0.001275, -0.008278, 0.000848> + 13804: <-0.001686, -0.008171, 0.001261> + 13805: <-0.002099, -0.008090, 0.001252> + 13806: <-0.002109, -0.008134, 0.000836> + 13807: <-0.001694, -0.008215, 0.000842> + 13808: <-0.002099, -0.008090, 0.001252> + 13809: <-0.002507, -0.007992, 0.001241> + 13810: <-0.002519, -0.008036, 0.000829> + 13811: <-0.002109, -0.008134, 0.000836> + 13812: <-0.002507, -0.007992, 0.001241> + 13813: <-0.002908, -0.007876, 0.001230> + 13814: <-0.002922, -0.007919, 0.000822> + 13815: <-0.002519, -0.008036, 0.000829> + 13816: <-0.002908, -0.007876, 0.001230> + 13817: <-0.003302, -0.007743, 0.001219> + 13818: <-0.003318, -0.007785, 0.000814> + 13819: <-0.002922, -0.007919, 0.000822> + 13820: <-0.003302, -0.007743, 0.001219> + 13821: <-0.003686, -0.007591, 0.001207> + 13822: <-0.003704, -0.007632, 0.000807> + 13823: <-0.003318, -0.007785, 0.000814> + 13824: <-0.003686, -0.007591, 0.001207> + 13825: <-0.004061, -0.007423, 0.001196> + 13826: <-0.004081, -0.007462, 0.000799> + 13827: <-0.003704, -0.007632, 0.000807> + 13828: <-0.004061, -0.007423, 0.001196> + 13829: <-0.004424, -0.007236, 0.001185> + 13830: <-0.004446, -0.007275, 0.000792> + 13831: <-0.004081, -0.007462, 0.000799> + 13832: <-0.004424, -0.007236, 0.001185> + 13833: <-0.004776, -0.007032, 0.001176> + 13834: <-0.004800, -0.007069, 0.000786> + 13835: <-0.004446, -0.007275, 0.000792> + 13836: <-0.004776, -0.007032, 0.001176> + 13837: <-0.005114, -0.006810, 0.001168> + 13838: <-0.005140, -0.006846, 0.000781> + 13839: <-0.004800, -0.007069, 0.000786> + 13840: <-0.005114, -0.006810, 0.001168> + 13841: <-0.005438, -0.006570, 0.001161> + 13842: <-0.005466, -0.006605, 0.000777> + 13843: <-0.005140, -0.006846, 0.000781> + 13844: <-0.005438, -0.006570, 0.001161> + 13845: <-0.005747, -0.006313, 0.001157> + 13846: <-0.005776, -0.006346, 0.000774> + 13847: <-0.005466, -0.006605, 0.000777> + 13848: < 0.005776, -0.006346, 0.000774> + 13849: < 0.005466, -0.006605, 0.000777> + 13850: < 0.005483, -0.006626, 0.000389> + 13851: < 0.005794, -0.006366, 0.000388> + 13852: < 0.005466, -0.006605, 0.000777> + 13853: < 0.005140, -0.006846, 0.000781> + 13854: < 0.005156, -0.006868, 0.000391> + 13855: < 0.005483, -0.006626, 0.000389> + 13856: < 0.005140, -0.006846, 0.000781> + 13857: < 0.004800, -0.007069, 0.000786> + 13858: < 0.004815, -0.007092, 0.000394> + 13859: < 0.005156, -0.006868, 0.000391> + 13860: < 0.004800, -0.007069, 0.000786> + 13861: < 0.004446, -0.007275, 0.000792> + 13862: < 0.004460, -0.007298, 0.000397> + 13863: < 0.004815, -0.007092, 0.000394> + 13864: < 0.004446, -0.007275, 0.000792> + 13865: < 0.004081, -0.007462, 0.000799> + 13866: < 0.004093, -0.007487, 0.000400> + 13867: < 0.004460, -0.007298, 0.000397> + 13868: < 0.004081, -0.007462, 0.000799> + 13869: < 0.003704, -0.007632, 0.000807> + 13870: < 0.003716, -0.007657, 0.000404> + 13871: < 0.004093, -0.007487, 0.000400> + 13872: < 0.003704, -0.007632, 0.000807> + 13873: < 0.003318, -0.007785, 0.000814> + 13874: < 0.003328, -0.007810, 0.000408> + 13875: < 0.003716, -0.007657, 0.000404> + 13876: < 0.003318, -0.007785, 0.000814> + 13877: < 0.002922, -0.007919, 0.000822> + 13878: < 0.002931, -0.007945, 0.000412> + 13879: < 0.003328, -0.007810, 0.000408> + 13880: < 0.002922, -0.007919, 0.000822> + 13881: < 0.002519, -0.008036, 0.000829> + 13882: < 0.002527, -0.008062, 0.000415> + 13883: < 0.002931, -0.007945, 0.000412> + 13884: < 0.002519, -0.008036, 0.000829> + 13885: < 0.002109, -0.008134, 0.000836> + 13886: < 0.002116, -0.008161, 0.000419> + 13887: < 0.002527, -0.008062, 0.000415> + 13888: < 0.002109, -0.008134, 0.000836> + 13889: < 0.001694, -0.008215, 0.000842> + 13890: < 0.001699, -0.008242, 0.000422> + 13891: < 0.002116, -0.008161, 0.000419> + 13892: < 0.001694, -0.008215, 0.000842> + 13893: < 0.001275, -0.008278, 0.000848> + 13894: < 0.001278, -0.008305, 0.000424> + 13895: < 0.001699, -0.008242, 0.000422> + 13896: < 0.001275, -0.008278, 0.000848> + 13897: < 0.000852, -0.008323, 0.000852> + 13898: < 0.000854, -0.008350, 0.000426> + 13899: < 0.001278, -0.008305, 0.000424> + 13900: < 0.000852, -0.008323, 0.000852> + 13901: < 0.000426, -0.008350, 0.000854> + 13902: < 0.000428, -0.008377, 0.000428> + 13903: < 0.000854, -0.008350, 0.000426> + 13904: < 0.000426, -0.008350, 0.000854> + 13905: < 0.000000, -0.008359, 0.000855> + 13906: < 0.000000, -0.008386, 0.000428> + 13907: < 0.000428, -0.008377, 0.000428> + 13908: < 0.000000, -0.008359, 0.000855> + 13909: <-0.000426, -0.008350, 0.000854> + 13910: <-0.000428, -0.008377, 0.000428> + 13911: < 0.000000, -0.008386, 0.000428> + 13912: <-0.000426, -0.008350, 0.000854> + 13913: <-0.000852, -0.008323, 0.000852> + 13914: <-0.000854, -0.008350, 0.000426> + 13915: <-0.000428, -0.008377, 0.000428> + 13916: <-0.000852, -0.008323, 0.000852> + 13917: <-0.001275, -0.008278, 0.000848> + 13918: <-0.001278, -0.008305, 0.000424> + 13919: <-0.000854, -0.008350, 0.000426> + 13920: <-0.001275, -0.008278, 0.000848> + 13921: <-0.001694, -0.008215, 0.000842> + 13922: <-0.001699, -0.008242, 0.000422> + 13923: <-0.001278, -0.008305, 0.000424> + 13924: <-0.001694, -0.008215, 0.000842> + 13925: <-0.002109, -0.008134, 0.000836> + 13926: <-0.002116, -0.008161, 0.000419> + 13927: <-0.001699, -0.008242, 0.000422> + 13928: <-0.002109, -0.008134, 0.000836> + 13929: <-0.002519, -0.008036, 0.000829> + 13930: <-0.002527, -0.008062, 0.000415> + 13931: <-0.002116, -0.008161, 0.000419> + 13932: <-0.002519, -0.008036, 0.000829> + 13933: <-0.002922, -0.007919, 0.000822> + 13934: <-0.002931, -0.007945, 0.000412> + 13935: <-0.002527, -0.008062, 0.000415> + 13936: <-0.002922, -0.007919, 0.000822> + 13937: <-0.003318, -0.007785, 0.000814> + 13938: <-0.003328, -0.007810, 0.000408> + 13939: <-0.002931, -0.007945, 0.000412> + 13940: <-0.003318, -0.007785, 0.000814> + 13941: <-0.003704, -0.007632, 0.000807> + 13942: <-0.003716, -0.007657, 0.000404> + 13943: <-0.003328, -0.007810, 0.000408> + 13944: <-0.003704, -0.007632, 0.000807> + 13945: <-0.004081, -0.007462, 0.000799> + 13946: <-0.004093, -0.007487, 0.000400> + 13947: <-0.003716, -0.007657, 0.000404> + 13948: <-0.004081, -0.007462, 0.000799> + 13949: <-0.004446, -0.007275, 0.000792> + 13950: <-0.004460, -0.007298, 0.000397> + 13951: <-0.004093, -0.007487, 0.000400> + 13952: <-0.004446, -0.007275, 0.000792> + 13953: <-0.004800, -0.007069, 0.000786> + 13954: <-0.004815, -0.007092, 0.000394> + 13955: <-0.004460, -0.007298, 0.000397> + 13956: <-0.004800, -0.007069, 0.000786> + 13957: <-0.005140, -0.006846, 0.000781> + 13958: <-0.005156, -0.006868, 0.000391> + 13959: <-0.004815, -0.007092, 0.000394> + 13960: <-0.005140, -0.006846, 0.000781> + 13961: <-0.005466, -0.006605, 0.000777> + 13962: <-0.005483, -0.006626, 0.000389> + 13963: <-0.005156, -0.006868, 0.000391> + 13964: <-0.005466, -0.006605, 0.000777> + 13965: <-0.005776, -0.006346, 0.000774> + 13966: <-0.005794, -0.006366, 0.000388> + 13967: <-0.005483, -0.006626, 0.000389> + 13968: < 0.005794, -0.006366, 0.000388> + 13969: < 0.005483, -0.006626, 0.000389> + 13970: < 0.005489, -0.006633, 0.000000> + 13971: < 0.005801, -0.006373, 0.000000> + 13972: < 0.005483, -0.006626, 0.000389> + 13973: < 0.005156, -0.006868, 0.000391> + 13974: < 0.005162, -0.006875, 0.000000> + 13975: < 0.005489, -0.006633, 0.000000> + 13976: < 0.005156, -0.006868, 0.000391> + 13977: < 0.004815, -0.007092, 0.000394> + 13978: < 0.004820, -0.007099, 0.000000> + 13979: < 0.005162, -0.006875, 0.000000> + 13980: < 0.004815, -0.007092, 0.000394> + 13981: < 0.004460, -0.007298, 0.000397> + 13982: < 0.004465, -0.007306, 0.000000> + 13983: < 0.004820, -0.007099, 0.000000> + 13984: < 0.004460, -0.007298, 0.000397> + 13985: < 0.004093, -0.007487, 0.000400> + 13986: < 0.004098, -0.007495, -0.000000> + 13987: < 0.004465, -0.007306, 0.000000> + 13988: < 0.004093, -0.007487, 0.000400> + 13989: < 0.003716, -0.007657, 0.000404> + 13990: < 0.003720, -0.007665, -0.000000> + 13991: < 0.004098, -0.007495, -0.000000> + 13992: < 0.003716, -0.007657, 0.000404> + 13993: < 0.003328, -0.007810, 0.000408> + 13994: < 0.003331, -0.007818, -0.000000> + 13995: < 0.003720, -0.007665, -0.000000> + 13996: < 0.003328, -0.007810, 0.000408> + 13997: < 0.002931, -0.007945, 0.000412> + 13998: < 0.002934, -0.007953, -0.000000> + 13999: < 0.003331, -0.007818, -0.000000> + 14000: < 0.002931, -0.007945, 0.000412> + 14001: < 0.002527, -0.008062, 0.000415> + 14002: < 0.002530, -0.008070, -0.000000> + 14003: < 0.002934, -0.007953, -0.000000> + 14004: < 0.002527, -0.008062, 0.000415> + 14005: < 0.002116, -0.008161, 0.000419> + 14006: < 0.002118, -0.008169, -0.000000> + 14007: < 0.002530, -0.008070, -0.000000> + 14008: < 0.002116, -0.008161, 0.000419> + 14009: < 0.001699, -0.008242, 0.000422> + 14010: < 0.001701, -0.008251, -0.000000> + 14011: < 0.002118, -0.008169, -0.000000> + 14012: < 0.001699, -0.008242, 0.000422> + 14013: < 0.001278, -0.008305, 0.000424> + 14014: < 0.001280, -0.008314, -0.000000> + 14015: < 0.001701, -0.008251, -0.000000> + 14016: < 0.001278, -0.008305, 0.000424> + 14017: < 0.000854, -0.008350, 0.000426> + 14018: < 0.000855, -0.008359, -0.000000> + 14019: < 0.001280, -0.008314, -0.000000> + 14020: < 0.000854, -0.008350, 0.000426> + 14021: < 0.000428, -0.008377, 0.000428> + 14022: < 0.000428, -0.008386, -0.000000> + 14023: < 0.000855, -0.008359, -0.000000> + 14024: < 0.000428, -0.008377, 0.000428> + 14025: < 0.000000, -0.008386, 0.000428> + 14026: < 0.000000, -0.008395, -0.000000> + 14027: < 0.000428, -0.008386, -0.000000> + 14028: < 0.000000, -0.008386, 0.000428> + 14029: <-0.000428, -0.008377, 0.000428> + 14030: <-0.000428, -0.008386, -0.000000> + 14031: < 0.000000, -0.008395, -0.000000> + 14032: <-0.000428, -0.008377, 0.000428> + 14033: <-0.000854, -0.008350, 0.000426> + 14034: <-0.000855, -0.008359, 0.000000> + 14035: <-0.000428, -0.008386, -0.000000> + 14036: <-0.000854, -0.008350, 0.000426> + 14037: <-0.001278, -0.008305, 0.000424> + 14038: <-0.001280, -0.008314, 0.000000> + 14039: <-0.000855, -0.008359, 0.000000> + 14040: <-0.001278, -0.008305, 0.000424> + 14041: <-0.001699, -0.008242, 0.000422> + 14042: <-0.001701, -0.008251, 0.000000> + 14043: <-0.001280, -0.008314, 0.000000> + 14044: <-0.001699, -0.008242, 0.000422> + 14045: <-0.002116, -0.008161, 0.000419> + 14046: <-0.002118, -0.008169, 0.000000> + 14047: <-0.001701, -0.008251, 0.000000> + 14048: <-0.002116, -0.008161, 0.000419> + 14049: <-0.002527, -0.008062, 0.000415> + 14050: <-0.002530, -0.008070, 0.000000> + 14051: <-0.002118, -0.008169, 0.000000> + 14052: <-0.002527, -0.008062, 0.000415> + 14053: <-0.002931, -0.007945, 0.000412> + 14054: <-0.002934, -0.007953, 0.000000> + 14055: <-0.002530, -0.008070, 0.000000> + 14056: <-0.002931, -0.007945, 0.000412> + 14057: <-0.003328, -0.007810, 0.000408> + 14058: <-0.003331, -0.007818, 0.000000> + 14059: <-0.002934, -0.007953, 0.000000> + 14060: <-0.003328, -0.007810, 0.000408> + 14061: <-0.003716, -0.007657, 0.000404> + 14062: <-0.003720, -0.007665, 0.000000> + 14063: <-0.003331, -0.007818, 0.000000> + 14064: <-0.003716, -0.007657, 0.000404> + 14065: <-0.004093, -0.007487, 0.000400> + 14066: <-0.004098, -0.007495, 0.000000> + 14067: <-0.003720, -0.007665, 0.000000> + 14068: <-0.004093, -0.007487, 0.000400> + 14069: <-0.004460, -0.007298, 0.000397> + 14070: <-0.004465, -0.007306, 0.000000> + 14071: <-0.004098, -0.007495, 0.000000> + 14072: <-0.004460, -0.007298, 0.000397> + 14073: <-0.004815, -0.007092, 0.000394> + 14074: <-0.004820, -0.007099, 0.000000> + 14075: <-0.004465, -0.007306, 0.000000> + 14076: <-0.004815, -0.007092, 0.000394> + 14077: <-0.005156, -0.006868, 0.000391> + 14078: <-0.005162, -0.006875, 0.000000> + 14079: <-0.004820, -0.007099, 0.000000> + 14080: <-0.005156, -0.006868, 0.000391> + 14081: <-0.005483, -0.006626, 0.000389> + 14082: <-0.005489, -0.006633, 0.000000> + 14083: <-0.005162, -0.006875, 0.000000> + 14084: <-0.005483, -0.006626, 0.000389> + 14085: <-0.005794, -0.006366, 0.000388> + 14086: <-0.005801, -0.006373, 0.000000> + 14087: <-0.005489, -0.006633, 0.000000> + 14088: < 0.005801, -0.006373, 0.000000> + 14089: < 0.005489, -0.006633, 0.000000> + 14090: < 0.005483, -0.006626, -0.000389> + 14091: < 0.005794, -0.006366, -0.000388> + 14092: < 0.005489, -0.006633, 0.000000> + 14093: < 0.005162, -0.006875, 0.000000> + 14094: < 0.005156, -0.006868, -0.000391> + 14095: < 0.005483, -0.006626, -0.000389> + 14096: < 0.005162, -0.006875, 0.000000> + 14097: < 0.004820, -0.007099, 0.000000> + 14098: < 0.004815, -0.007092, -0.000394> + 14099: < 0.005156, -0.006868, -0.000391> + 14100: < 0.004820, -0.007099, 0.000000> + 14101: < 0.004465, -0.007306, 0.000000> + 14102: < 0.004460, -0.007298, -0.000397> + 14103: < 0.004815, -0.007092, -0.000394> + 14104: < 0.004465, -0.007306, 0.000000> + 14105: < 0.004098, -0.007495, -0.000000> + 14106: < 0.004093, -0.007487, -0.000400> + 14107: < 0.004460, -0.007298, -0.000397> + 14108: < 0.004098, -0.007495, -0.000000> + 14109: < 0.003720, -0.007665, -0.000000> + 14110: < 0.003716, -0.007657, -0.000404> + 14111: < 0.004093, -0.007487, -0.000400> + 14112: < 0.003720, -0.007665, -0.000000> + 14113: < 0.003331, -0.007818, -0.000000> + 14114: < 0.003328, -0.007810, -0.000408> + 14115: < 0.003716, -0.007657, -0.000404> + 14116: < 0.003331, -0.007818, -0.000000> + 14117: < 0.002934, -0.007953, -0.000000> + 14118: < 0.002931, -0.007945, -0.000412> + 14119: < 0.003328, -0.007810, -0.000408> + 14120: < 0.002934, -0.007953, -0.000000> + 14121: < 0.002530, -0.008070, -0.000000> + 14122: < 0.002527, -0.008062, -0.000415> + 14123: < 0.002931, -0.007945, -0.000412> + 14124: < 0.002530, -0.008070, -0.000000> + 14125: < 0.002118, -0.008169, -0.000000> + 14126: < 0.002116, -0.008161, -0.000419> + 14127: < 0.002527, -0.008062, -0.000415> + 14128: < 0.002118, -0.008169, -0.000000> + 14129: < 0.001701, -0.008251, -0.000000> + 14130: < 0.001699, -0.008242, -0.000422> + 14131: < 0.002116, -0.008161, -0.000419> + 14132: < 0.001701, -0.008251, -0.000000> + 14133: < 0.001280, -0.008314, -0.000000> + 14134: < 0.001278, -0.008305, -0.000424> + 14135: < 0.001699, -0.008242, -0.000422> + 14136: < 0.001280, -0.008314, -0.000000> + 14137: < 0.000855, -0.008359, -0.000000> + 14138: < 0.000854, -0.008350, -0.000426> + 14139: < 0.001278, -0.008305, -0.000424> + 14140: < 0.000855, -0.008359, -0.000000> + 14141: < 0.000428, -0.008386, -0.000000> + 14142: < 0.000428, -0.008377, -0.000428> + 14143: < 0.000854, -0.008350, -0.000426> + 14144: < 0.000428, -0.008386, -0.000000> + 14145: < 0.000000, -0.008395, -0.000000> + 14146: <-0.000000, -0.008386, -0.000428> + 14147: < 0.000428, -0.008377, -0.000428> + 14148: < 0.000000, -0.008395, -0.000000> + 14149: <-0.000428, -0.008386, -0.000000> + 14150: <-0.000428, -0.008377, -0.000428> + 14151: <-0.000000, -0.008386, -0.000428> + 14152: <-0.000428, -0.008386, -0.000000> + 14153: <-0.000855, -0.008359, 0.000000> + 14154: <-0.000854, -0.008350, -0.000426> + 14155: <-0.000428, -0.008377, -0.000428> + 14156: <-0.000855, -0.008359, 0.000000> + 14157: <-0.001280, -0.008314, 0.000000> + 14158: <-0.001278, -0.008305, -0.000424> + 14159: <-0.000854, -0.008350, -0.000426> + 14160: <-0.001280, -0.008314, 0.000000> + 14161: <-0.001701, -0.008251, 0.000000> + 14162: <-0.001699, -0.008242, -0.000422> + 14163: <-0.001278, -0.008305, -0.000424> + 14164: <-0.001701, -0.008251, 0.000000> + 14165: <-0.002118, -0.008169, 0.000000> + 14166: <-0.002116, -0.008161, -0.000419> + 14167: <-0.001699, -0.008242, -0.000422> + 14168: <-0.002118, -0.008169, 0.000000> + 14169: <-0.002530, -0.008070, 0.000000> + 14170: <-0.002527, -0.008062, -0.000415> + 14171: <-0.002116, -0.008161, -0.000419> + 14172: <-0.002530, -0.008070, 0.000000> + 14173: <-0.002934, -0.007953, 0.000000> + 14174: <-0.002931, -0.007945, -0.000412> + 14175: <-0.002527, -0.008062, -0.000415> + 14176: <-0.002934, -0.007953, 0.000000> + 14177: <-0.003331, -0.007818, 0.000000> + 14178: <-0.003328, -0.007810, -0.000408> + 14179: <-0.002931, -0.007945, -0.000412> + 14180: <-0.003331, -0.007818, 0.000000> + 14181: <-0.003720, -0.007665, 0.000000> + 14182: <-0.003716, -0.007657, -0.000404> + 14183: <-0.003328, -0.007810, -0.000408> + 14184: <-0.003720, -0.007665, 0.000000> + 14185: <-0.004098, -0.007495, 0.000000> + 14186: <-0.004093, -0.007487, -0.000400> + 14187: <-0.003716, -0.007657, -0.000404> + 14188: <-0.004098, -0.007495, 0.000000> + 14189: <-0.004465, -0.007306, 0.000000> + 14190: <-0.004460, -0.007298, -0.000397> + 14191: <-0.004093, -0.007487, -0.000400> + 14192: <-0.004465, -0.007306, 0.000000> + 14193: <-0.004820, -0.007099, 0.000000> + 14194: <-0.004815, -0.007092, -0.000394> + 14195: <-0.004460, -0.007298, -0.000397> + 14196: <-0.004820, -0.007099, 0.000000> + 14197: <-0.005162, -0.006875, 0.000000> + 14198: <-0.005156, -0.006868, -0.000391> + 14199: <-0.004815, -0.007092, -0.000394> + 14200: <-0.005162, -0.006875, 0.000000> + 14201: <-0.005489, -0.006633, 0.000000> + 14202: <-0.005483, -0.006626, -0.000389> + 14203: <-0.005156, -0.006868, -0.000391> + 14204: <-0.005489, -0.006633, 0.000000> + 14205: <-0.005801, -0.006373, 0.000000> + 14206: <-0.005794, -0.006366, -0.000388> + 14207: <-0.005483, -0.006626, -0.000389> + 14208: < 0.005794, -0.006366, -0.000388> + 14209: < 0.005483, -0.006626, -0.000389> + 14210: < 0.005466, -0.006605, -0.000777> + 14211: < 0.005776, -0.006346, -0.000774> + 14212: < 0.005483, -0.006626, -0.000389> + 14213: < 0.005156, -0.006868, -0.000391> + 14214: < 0.005140, -0.006846, -0.000781> + 14215: < 0.005466, -0.006605, -0.000777> + 14216: < 0.005156, -0.006868, -0.000391> + 14217: < 0.004815, -0.007092, -0.000394> + 14218: < 0.004800, -0.007069, -0.000786> + 14219: < 0.005140, -0.006846, -0.000781> + 14220: < 0.004815, -0.007092, -0.000394> + 14221: < 0.004460, -0.007298, -0.000397> + 14222: < 0.004446, -0.007275, -0.000792> + 14223: < 0.004800, -0.007069, -0.000786> + 14224: < 0.004460, -0.007298, -0.000397> + 14225: < 0.004093, -0.007487, -0.000400> + 14226: < 0.004081, -0.007462, -0.000799> + 14227: < 0.004446, -0.007275, -0.000792> + 14228: < 0.004093, -0.007487, -0.000400> + 14229: < 0.003716, -0.007657, -0.000404> + 14230: < 0.003704, -0.007632, -0.000807> + 14231: < 0.004081, -0.007462, -0.000799> + 14232: < 0.003716, -0.007657, -0.000404> + 14233: < 0.003328, -0.007810, -0.000408> + 14234: < 0.003318, -0.007785, -0.000814> + 14235: < 0.003704, -0.007632, -0.000807> + 14236: < 0.003328, -0.007810, -0.000408> + 14237: < 0.002931, -0.007945, -0.000412> + 14238: < 0.002922, -0.007919, -0.000822> + 14239: < 0.003318, -0.007785, -0.000814> + 14240: < 0.002931, -0.007945, -0.000412> + 14241: < 0.002527, -0.008062, -0.000415> + 14242: < 0.002519, -0.008036, -0.000829> + 14243: < 0.002922, -0.007919, -0.000822> + 14244: < 0.002527, -0.008062, -0.000415> + 14245: < 0.002116, -0.008161, -0.000419> + 14246: < 0.002109, -0.008134, -0.000836> + 14247: < 0.002519, -0.008036, -0.000829> + 14248: < 0.002116, -0.008161, -0.000419> + 14249: < 0.001699, -0.008242, -0.000422> + 14250: < 0.001694, -0.008215, -0.000842> + 14251: < 0.002109, -0.008134, -0.000836> + 14252: < 0.001699, -0.008242, -0.000422> + 14253: < 0.001278, -0.008305, -0.000424> + 14254: < 0.001275, -0.008278, -0.000848> + 14255: < 0.001694, -0.008215, -0.000842> + 14256: < 0.001278, -0.008305, -0.000424> + 14257: < 0.000854, -0.008350, -0.000426> + 14258: < 0.000852, -0.008323, -0.000852> + 14259: < 0.001275, -0.008278, -0.000848> + 14260: < 0.000854, -0.008350, -0.000426> + 14261: < 0.000428, -0.008377, -0.000428> + 14262: < 0.000426, -0.008350, -0.000854> + 14263: < 0.000852, -0.008323, -0.000852> + 14264: < 0.000428, -0.008377, -0.000428> + 14265: <-0.000000, -0.008386, -0.000428> + 14266: <-0.000000, -0.008359, -0.000855> + 14267: < 0.000426, -0.008350, -0.000854> + 14268: <-0.000000, -0.008386, -0.000428> + 14269: <-0.000428, -0.008377, -0.000428> + 14270: <-0.000426, -0.008350, -0.000854> + 14271: <-0.000000, -0.008359, -0.000855> + 14272: <-0.000428, -0.008377, -0.000428> + 14273: <-0.000854, -0.008350, -0.000426> + 14274: <-0.000852, -0.008323, -0.000852> + 14275: <-0.000426, -0.008350, -0.000854> + 14276: <-0.000854, -0.008350, -0.000426> + 14277: <-0.001278, -0.008305, -0.000424> + 14278: <-0.001275, -0.008278, -0.000848> + 14279: <-0.000852, -0.008323, -0.000852> + 14280: <-0.001278, -0.008305, -0.000424> + 14281: <-0.001699, -0.008242, -0.000422> + 14282: <-0.001694, -0.008215, -0.000842> + 14283: <-0.001275, -0.008278, -0.000848> + 14284: <-0.001699, -0.008242, -0.000422> + 14285: <-0.002116, -0.008161, -0.000419> + 14286: <-0.002109, -0.008134, -0.000836> + 14287: <-0.001694, -0.008215, -0.000842> + 14288: <-0.002116, -0.008161, -0.000419> + 14289: <-0.002527, -0.008062, -0.000415> + 14290: <-0.002519, -0.008036, -0.000829> + 14291: <-0.002109, -0.008134, -0.000836> + 14292: <-0.002527, -0.008062, -0.000415> + 14293: <-0.002931, -0.007945, -0.000412> + 14294: <-0.002922, -0.007919, -0.000822> + 14295: <-0.002519, -0.008036, -0.000829> + 14296: <-0.002931, -0.007945, -0.000412> + 14297: <-0.003328, -0.007810, -0.000408> + 14298: <-0.003318, -0.007785, -0.000814> + 14299: <-0.002922, -0.007919, -0.000822> + 14300: <-0.003328, -0.007810, -0.000408> + 14301: <-0.003716, -0.007657, -0.000404> + 14302: <-0.003704, -0.007632, -0.000807> + 14303: <-0.003318, -0.007785, -0.000814> + 14304: <-0.003716, -0.007657, -0.000404> + 14305: <-0.004093, -0.007487, -0.000400> + 14306: <-0.004081, -0.007462, -0.000799> + 14307: <-0.003704, -0.007632, -0.000807> + 14308: <-0.004093, -0.007487, -0.000400> + 14309: <-0.004460, -0.007298, -0.000397> + 14310: <-0.004446, -0.007275, -0.000792> + 14311: <-0.004081, -0.007462, -0.000799> + 14312: <-0.004460, -0.007298, -0.000397> + 14313: <-0.004815, -0.007092, -0.000394> + 14314: <-0.004800, -0.007069, -0.000786> + 14315: <-0.004446, -0.007275, -0.000792> + 14316: <-0.004815, -0.007092, -0.000394> + 14317: <-0.005156, -0.006868, -0.000391> + 14318: <-0.005140, -0.006846, -0.000781> + 14319: <-0.004800, -0.007069, -0.000786> + 14320: <-0.005156, -0.006868, -0.000391> + 14321: <-0.005483, -0.006626, -0.000389> + 14322: <-0.005466, -0.006605, -0.000777> + 14323: <-0.005140, -0.006846, -0.000781> + 14324: <-0.005483, -0.006626, -0.000389> + 14325: <-0.005794, -0.006366, -0.000388> + 14326: <-0.005776, -0.006346, -0.000774> + 14327: <-0.005466, -0.006605, -0.000777> + 14328: < 0.005776, -0.006346, -0.000774> + 14329: < 0.005466, -0.006605, -0.000777> + 14330: < 0.005438, -0.006570, -0.001161> + 14331: < 0.005747, -0.006313, -0.001157> + 14332: < 0.005466, -0.006605, -0.000777> + 14333: < 0.005140, -0.006846, -0.000781> + 14334: < 0.005114, -0.006810, -0.001168> + 14335: < 0.005438, -0.006570, -0.001161> + 14336: < 0.005140, -0.006846, -0.000781> + 14337: < 0.004800, -0.007069, -0.000786> + 14338: < 0.004776, -0.007032, -0.001176> + 14339: < 0.005114, -0.006810, -0.001168> + 14340: < 0.004800, -0.007069, -0.000786> + 14341: < 0.004446, -0.007275, -0.000792> + 14342: < 0.004424, -0.007236, -0.001185> + 14343: < 0.004776, -0.007032, -0.001176> + 14344: < 0.004446, -0.007275, -0.000792> + 14345: < 0.004081, -0.007462, -0.000799> + 14346: < 0.004061, -0.007423, -0.001196> + 14347: < 0.004424, -0.007236, -0.001185> + 14348: < 0.004081, -0.007462, -0.000799> + 14349: < 0.003704, -0.007632, -0.000807> + 14350: < 0.003686, -0.007591, -0.001207> + 14351: < 0.004061, -0.007423, -0.001196> + 14352: < 0.003704, -0.007632, -0.000807> + 14353: < 0.003318, -0.007785, -0.000814> + 14354: < 0.003302, -0.007743, -0.001219> + 14355: < 0.003686, -0.007591, -0.001207> + 14356: < 0.003318, -0.007785, -0.000814> + 14357: < 0.002922, -0.007919, -0.000822> + 14358: < 0.002908, -0.007876, -0.001230> + 14359: < 0.003302, -0.007743, -0.001219> + 14360: < 0.002922, -0.007919, -0.000822> + 14361: < 0.002519, -0.008036, -0.000829> + 14362: < 0.002507, -0.007992, -0.001241> + 14363: < 0.002908, -0.007876, -0.001230> + 14364: < 0.002519, -0.008036, -0.000829> + 14365: < 0.002109, -0.008134, -0.000836> + 14366: < 0.002099, -0.008090, -0.001252> + 14367: < 0.002507, -0.007992, -0.001241> + 14368: < 0.002109, -0.008134, -0.000836> + 14369: < 0.001694, -0.008215, -0.000842> + 14370: < 0.001686, -0.008171, -0.001261> + 14371: < 0.002099, -0.008090, -0.001252> + 14372: < 0.001694, -0.008215, -0.000842> + 14373: < 0.001275, -0.008278, -0.000848> + 14374: < 0.001269, -0.008233, -0.001269> + 14375: < 0.001686, -0.008171, -0.001261> + 14376: < 0.001275, -0.008278, -0.000848> + 14377: < 0.000852, -0.008323, -0.000852> + 14378: < 0.000848, -0.008278, -0.001275> + 14379: < 0.001269, -0.008233, -0.001269> + 14380: < 0.000852, -0.008323, -0.000852> + 14381: < 0.000426, -0.008350, -0.000854> + 14382: < 0.000424, -0.008305, -0.001278> + 14383: < 0.000848, -0.008278, -0.001275> + 14384: < 0.000426, -0.008350, -0.000854> + 14385: <-0.000000, -0.008359, -0.000855> + 14386: <-0.000000, -0.008314, -0.001280> + 14387: < 0.000424, -0.008305, -0.001278> + 14388: <-0.000000, -0.008359, -0.000855> + 14389: <-0.000426, -0.008350, -0.000854> + 14390: <-0.000424, -0.008305, -0.001278> + 14391: <-0.000000, -0.008314, -0.001280> + 14392: <-0.000426, -0.008350, -0.000854> + 14393: <-0.000852, -0.008323, -0.000852> + 14394: <-0.000848, -0.008278, -0.001275> + 14395: <-0.000424, -0.008305, -0.001278> + 14396: <-0.000852, -0.008323, -0.000852> + 14397: <-0.001275, -0.008278, -0.000848> + 14398: <-0.001269, -0.008233, -0.001269> + 14399: <-0.000848, -0.008278, -0.001275> + 14400: <-0.001275, -0.008278, -0.000848> + 14401: <-0.001694, -0.008215, -0.000842> + 14402: <-0.001686, -0.008171, -0.001261> + 14403: <-0.001269, -0.008233, -0.001269> + 14404: <-0.001694, -0.008215, -0.000842> + 14405: <-0.002109, -0.008134, -0.000836> + 14406: <-0.002099, -0.008090, -0.001252> + 14407: <-0.001686, -0.008171, -0.001261> + 14408: <-0.002109, -0.008134, -0.000836> + 14409: <-0.002519, -0.008036, -0.000829> + 14410: <-0.002507, -0.007992, -0.001241> + 14411: <-0.002099, -0.008090, -0.001252> + 14412: <-0.002519, -0.008036, -0.000829> + 14413: <-0.002922, -0.007919, -0.000822> + 14414: <-0.002908, -0.007876, -0.001230> + 14415: <-0.002507, -0.007992, -0.001241> + 14416: <-0.002922, -0.007919, -0.000822> + 14417: <-0.003318, -0.007785, -0.000814> + 14418: <-0.003302, -0.007743, -0.001219> + 14419: <-0.002908, -0.007876, -0.001230> + 14420: <-0.003318, -0.007785, -0.000814> + 14421: <-0.003704, -0.007632, -0.000807> + 14422: <-0.003686, -0.007591, -0.001207> + 14423: <-0.003302, -0.007743, -0.001219> + 14424: <-0.003704, -0.007632, -0.000807> + 14425: <-0.004081, -0.007462, -0.000799> + 14426: <-0.004061, -0.007423, -0.001196> + 14427: <-0.003686, -0.007591, -0.001207> + 14428: <-0.004081, -0.007462, -0.000799> + 14429: <-0.004446, -0.007275, -0.000792> + 14430: <-0.004424, -0.007236, -0.001185> + 14431: <-0.004061, -0.007423, -0.001196> + 14432: <-0.004446, -0.007275, -0.000792> + 14433: <-0.004800, -0.007069, -0.000786> + 14434: <-0.004776, -0.007032, -0.001176> + 14435: <-0.004424, -0.007236, -0.001185> + 14436: <-0.004800, -0.007069, -0.000786> + 14437: <-0.005140, -0.006846, -0.000781> + 14438: <-0.005114, -0.006810, -0.001168> + 14439: <-0.004776, -0.007032, -0.001176> + 14440: <-0.005140, -0.006846, -0.000781> + 14441: <-0.005466, -0.006605, -0.000777> + 14442: <-0.005438, -0.006570, -0.001161> + 14443: <-0.005114, -0.006810, -0.001168> + 14444: <-0.005466, -0.006605, -0.000777> + 14445: <-0.005776, -0.006346, -0.000774> + 14446: <-0.005747, -0.006313, -0.001157> + 14447: <-0.005438, -0.006570, -0.001161> + 14448: < 0.005747, -0.006313, -0.001157> + 14449: < 0.005438, -0.006570, -0.001161> + 14450: < 0.005401, -0.006523, -0.001541> + 14451: < 0.005707, -0.006269, -0.001536> + 14452: < 0.005438, -0.006570, -0.001161> + 14453: < 0.005114, -0.006810, -0.001168> + 14454: < 0.005080, -0.006761, -0.001550> + 14455: < 0.005401, -0.006523, -0.001541> + 14456: < 0.005114, -0.006810, -0.001168> + 14457: < 0.004776, -0.007032, -0.001176> + 14458: < 0.004744, -0.006980, -0.001561> + 14459: < 0.005080, -0.006761, -0.001550> + 14460: < 0.004776, -0.007032, -0.001176> + 14461: < 0.004424, -0.007236, -0.001185> + 14462: < 0.004395, -0.007183, -0.001574> + 14463: < 0.004744, -0.006980, -0.001561> + 14464: < 0.004424, -0.007236, -0.001185> + 14465: < 0.004061, -0.007423, -0.001196> + 14466: < 0.004034, -0.007367, -0.001588> + 14467: < 0.004395, -0.007183, -0.001574> + 14468: < 0.004061, -0.007423, -0.001196> + 14469: < 0.003686, -0.007591, -0.001207> + 14470: < 0.003663, -0.007535, -0.001603> + 14471: < 0.004034, -0.007367, -0.001588> + 14472: < 0.003686, -0.007591, -0.001207> + 14473: < 0.003302, -0.007743, -0.001219> + 14474: < 0.003281, -0.007684, -0.001619> + 14475: < 0.003663, -0.007535, -0.001603> + 14476: < 0.003302, -0.007743, -0.001219> + 14477: < 0.002908, -0.007876, -0.001230> + 14478: < 0.002890, -0.007817, -0.001635> + 14479: < 0.003281, -0.007684, -0.001619> + 14480: < 0.002908, -0.007876, -0.001230> + 14481: < 0.002507, -0.007992, -0.001241> + 14482: < 0.002492, -0.007932, -0.001650> + 14483: < 0.002890, -0.007817, -0.001635> + 14484: < 0.002507, -0.007992, -0.001241> + 14485: < 0.002099, -0.008090, -0.001252> + 14486: < 0.002086, -0.008029, -0.001663> + 14487: < 0.002492, -0.007932, -0.001650> + 14488: < 0.002099, -0.008090, -0.001252> + 14489: < 0.001686, -0.008171, -0.001261> + 14490: < 0.001676, -0.008109, -0.001676> + 14491: < 0.002086, -0.008029, -0.001663> + 14492: < 0.001686, -0.008171, -0.001261> + 14493: < 0.001269, -0.008233, -0.001269> + 14494: < 0.001261, -0.008171, -0.001686> + 14495: < 0.001676, -0.008109, -0.001676> + 14496: < 0.001269, -0.008233, -0.001269> + 14497: < 0.000848, -0.008278, -0.001275> + 14498: < 0.000842, -0.008215, -0.001694> + 14499: < 0.001261, -0.008171, -0.001686> + 14500: < 0.000848, -0.008278, -0.001275> + 14501: < 0.000424, -0.008305, -0.001278> + 14502: < 0.000422, -0.008242, -0.001699> + 14503: < 0.000842, -0.008215, -0.001694> + 14504: < 0.000424, -0.008305, -0.001278> + 14505: <-0.000000, -0.008314, -0.001280> + 14506: <-0.000000, -0.008251, -0.001701> + 14507: < 0.000422, -0.008242, -0.001699> + 14508: <-0.000000, -0.008314, -0.001280> + 14509: <-0.000424, -0.008305, -0.001278> + 14510: <-0.000422, -0.008242, -0.001699> + 14511: <-0.000000, -0.008251, -0.001701> + 14512: <-0.000424, -0.008305, -0.001278> + 14513: <-0.000848, -0.008278, -0.001275> + 14514: <-0.000842, -0.008215, -0.001694> + 14515: <-0.000422, -0.008242, -0.001699> + 14516: <-0.000848, -0.008278, -0.001275> + 14517: <-0.001269, -0.008233, -0.001269> + 14518: <-0.001261, -0.008171, -0.001686> + 14519: <-0.000842, -0.008215, -0.001694> + 14520: <-0.001269, -0.008233, -0.001269> + 14521: <-0.001686, -0.008171, -0.001261> + 14522: <-0.001676, -0.008109, -0.001676> + 14523: <-0.001261, -0.008171, -0.001686> + 14524: <-0.001686, -0.008171, -0.001261> + 14525: <-0.002099, -0.008090, -0.001252> + 14526: <-0.002086, -0.008029, -0.001663> + 14527: <-0.001676, -0.008109, -0.001676> + 14528: <-0.002099, -0.008090, -0.001252> + 14529: <-0.002507, -0.007992, -0.001241> + 14530: <-0.002492, -0.007932, -0.001650> + 14531: <-0.002086, -0.008029, -0.001663> + 14532: <-0.002507, -0.007992, -0.001241> + 14533: <-0.002908, -0.007876, -0.001230> + 14534: <-0.002890, -0.007817, -0.001635> + 14535: <-0.002492, -0.007932, -0.001650> + 14536: <-0.002908, -0.007876, -0.001230> + 14537: <-0.003302, -0.007743, -0.001219> + 14538: <-0.003281, -0.007684, -0.001619> + 14539: <-0.002890, -0.007817, -0.001635> + 14540: <-0.003302, -0.007743, -0.001219> + 14541: <-0.003686, -0.007591, -0.001207> + 14542: <-0.003663, -0.007535, -0.001603> + 14543: <-0.003281, -0.007684, -0.001619> + 14544: <-0.003686, -0.007591, -0.001207> + 14545: <-0.004061, -0.007423, -0.001196> + 14546: <-0.004034, -0.007367, -0.001588> + 14547: <-0.003663, -0.007535, -0.001603> + 14548: <-0.004061, -0.007423, -0.001196> + 14549: <-0.004424, -0.007236, -0.001185> + 14550: <-0.004395, -0.007183, -0.001574> + 14551: <-0.004034, -0.007367, -0.001588> + 14552: <-0.004424, -0.007236, -0.001185> + 14553: <-0.004776, -0.007032, -0.001176> + 14554: <-0.004744, -0.006980, -0.001561> + 14555: <-0.004395, -0.007183, -0.001574> + 14556: <-0.004776, -0.007032, -0.001176> + 14557: <-0.005114, -0.006810, -0.001168> + 14558: <-0.005080, -0.006761, -0.001550> + 14559: <-0.004744, -0.006980, -0.001561> + 14560: <-0.005114, -0.006810, -0.001168> + 14561: <-0.005438, -0.006570, -0.001161> + 14562: <-0.005401, -0.006523, -0.001541> + 14563: <-0.005080, -0.006761, -0.001550> + 14564: <-0.005438, -0.006570, -0.001161> + 14565: <-0.005747, -0.006313, -0.001157> + 14566: <-0.005707, -0.006269, -0.001536> + 14567: <-0.005401, -0.006523, -0.001541> + 14568: < 0.005707, -0.006269, -0.001536> + 14569: < 0.005401, -0.006523, -0.001541> + 14570: < 0.005355, -0.006464, -0.001915> + 14571: < 0.005657, -0.006212, -0.001908> + 14572: < 0.005401, -0.006523, -0.001541> + 14573: < 0.005080, -0.006761, -0.001550> + 14574: < 0.005037, -0.006698, -0.001926> + 14575: < 0.005355, -0.006464, -0.001915> + 14576: < 0.005080, -0.006761, -0.001550> + 14577: < 0.004744, -0.006980, -0.001561> + 14578: < 0.004705, -0.006915, -0.001940> + 14579: < 0.005037, -0.006698, -0.001926> + 14580: < 0.004744, -0.006980, -0.001561> + 14581: < 0.004395, -0.007183, -0.001574> + 14582: < 0.004360, -0.007115, -0.001957> + 14583: < 0.004705, -0.006915, -0.001940> + 14584: < 0.004395, -0.007183, -0.001574> + 14585: < 0.004034, -0.007367, -0.001588> + 14586: < 0.004002, -0.007297, -0.001975> + 14587: < 0.004360, -0.007115, -0.001957> + 14588: < 0.004034, -0.007367, -0.001588> + 14589: < 0.003663, -0.007535, -0.001603> + 14590: < 0.003634, -0.007462, -0.001995> + 14591: < 0.004002, -0.007297, -0.001975> + 14592: < 0.003663, -0.007535, -0.001603> + 14593: < 0.003281, -0.007684, -0.001619> + 14594: < 0.003255, -0.007610, -0.002015> + 14595: < 0.003634, -0.007462, -0.001995> + 14596: < 0.003281, -0.007684, -0.001619> + 14597: < 0.002890, -0.007817, -0.001635> + 14598: < 0.002868, -0.007740, -0.002035> + 14599: < 0.003255, -0.007610, -0.002015> + 14600: < 0.002890, -0.007817, -0.001635> + 14601: < 0.002492, -0.007932, -0.001650> + 14602: < 0.002473, -0.007854, -0.002053> + 14603: < 0.002868, -0.007740, -0.002035> + 14604: < 0.002492, -0.007932, -0.001650> + 14605: < 0.002086, -0.008029, -0.001663> + 14606: < 0.002071, -0.007950, -0.002071> + 14607: < 0.002473, -0.007854, -0.002053> + 14608: < 0.002086, -0.008029, -0.001663> + 14609: < 0.001676, -0.008109, -0.001676> + 14610: < 0.001663, -0.008029, -0.002086> + 14611: < 0.002071, -0.007950, -0.002071> + 14612: < 0.001676, -0.008109, -0.001676> + 14613: < 0.001261, -0.008171, -0.001686> + 14614: < 0.001252, -0.008090, -0.002099> + 14615: < 0.001663, -0.008029, -0.002086> + 14616: < 0.001261, -0.008171, -0.001686> + 14617: < 0.000842, -0.008215, -0.001694> + 14618: < 0.000836, -0.008134, -0.002109> + 14619: < 0.001252, -0.008090, -0.002099> + 14620: < 0.000842, -0.008215, -0.001694> + 14621: < 0.000422, -0.008242, -0.001699> + 14622: < 0.000419, -0.008161, -0.002116> + 14623: < 0.000836, -0.008134, -0.002109> + 14624: < 0.000422, -0.008242, -0.001699> + 14625: <-0.000000, -0.008251, -0.001701> + 14626: <-0.000000, -0.008169, -0.002118> + 14627: < 0.000419, -0.008161, -0.002116> + 14628: <-0.000000, -0.008251, -0.001701> + 14629: <-0.000422, -0.008242, -0.001699> + 14630: <-0.000419, -0.008161, -0.002116> + 14631: <-0.000000, -0.008169, -0.002118> + 14632: <-0.000422, -0.008242, -0.001699> + 14633: <-0.000842, -0.008215, -0.001694> + 14634: <-0.000836, -0.008134, -0.002109> + 14635: <-0.000419, -0.008161, -0.002116> + 14636: <-0.000842, -0.008215, -0.001694> + 14637: <-0.001261, -0.008171, -0.001686> + 14638: <-0.001252, -0.008090, -0.002099> + 14639: <-0.000836, -0.008134, -0.002109> + 14640: <-0.001261, -0.008171, -0.001686> + 14641: <-0.001676, -0.008109, -0.001676> + 14642: <-0.001663, -0.008029, -0.002086> + 14643: <-0.001252, -0.008090, -0.002099> + 14644: <-0.001676, -0.008109, -0.001676> + 14645: <-0.002086, -0.008029, -0.001663> + 14646: <-0.002071, -0.007950, -0.002071> + 14647: <-0.001663, -0.008029, -0.002086> + 14648: <-0.002086, -0.008029, -0.001663> + 14649: <-0.002492, -0.007932, -0.001650> + 14650: <-0.002473, -0.007854, -0.002053> + 14651: <-0.002071, -0.007950, -0.002071> + 14652: <-0.002492, -0.007932, -0.001650> + 14653: <-0.002890, -0.007817, -0.001635> + 14654: <-0.002868, -0.007740, -0.002035> + 14655: <-0.002473, -0.007854, -0.002053> + 14656: <-0.002890, -0.007817, -0.001635> + 14657: <-0.003281, -0.007684, -0.001619> + 14658: <-0.003255, -0.007610, -0.002015> + 14659: <-0.002868, -0.007740, -0.002035> + 14660: <-0.003281, -0.007684, -0.001619> + 14661: <-0.003663, -0.007535, -0.001603> + 14662: <-0.003634, -0.007462, -0.001995> + 14663: <-0.003255, -0.007610, -0.002015> + 14664: <-0.003663, -0.007535, -0.001603> + 14665: <-0.004034, -0.007367, -0.001588> + 14666: <-0.004002, -0.007297, -0.001975> + 14667: <-0.003634, -0.007462, -0.001995> + 14668: <-0.004034, -0.007367, -0.001588> + 14669: <-0.004395, -0.007183, -0.001574> + 14670: <-0.004360, -0.007115, -0.001957> + 14671: <-0.004002, -0.007297, -0.001975> + 14672: <-0.004395, -0.007183, -0.001574> + 14673: <-0.004744, -0.006980, -0.001561> + 14674: <-0.004705, -0.006915, -0.001940> + 14675: <-0.004360, -0.007115, -0.001957> + 14676: <-0.004744, -0.006980, -0.001561> + 14677: <-0.005080, -0.006761, -0.001550> + 14678: <-0.005037, -0.006698, -0.001926> + 14679: <-0.004705, -0.006915, -0.001940> + 14680: <-0.005080, -0.006761, -0.001550> + 14681: <-0.005401, -0.006523, -0.001541> + 14682: <-0.005355, -0.006464, -0.001915> + 14683: <-0.005037, -0.006698, -0.001926> + 14684: <-0.005401, -0.006523, -0.001541> + 14685: <-0.005707, -0.006269, -0.001536> + 14686: <-0.005657, -0.006212, -0.001908> + 14687: <-0.005355, -0.006464, -0.001915> + 14688: < 0.005657, -0.006212, -0.001908> + 14689: < 0.005355, -0.006464, -0.001915> + 14690: < 0.005301, -0.006393, -0.002281> + 14691: < 0.005599, -0.006146, -0.002272> + 14692: < 0.005355, -0.006464, -0.001915> + 14693: < 0.005037, -0.006698, -0.001926> + 14694: < 0.004987, -0.006623, -0.002295> + 14695: < 0.005301, -0.006393, -0.002281> + 14696: < 0.005037, -0.006698, -0.001926> + 14697: < 0.004705, -0.006915, -0.001940> + 14698: < 0.004659, -0.006836, -0.002313> + 14699: < 0.004987, -0.006623, -0.002295> + 14700: < 0.004705, -0.006915, -0.001940> + 14701: < 0.004360, -0.007115, -0.001957> + 14702: < 0.004318, -0.007033, -0.002333> + 14703: < 0.004659, -0.006836, -0.002313> + 14704: < 0.004360, -0.007115, -0.001957> + 14705: < 0.004002, -0.007297, -0.001975> + 14706: < 0.003965, -0.007212, -0.002356> + 14707: < 0.004318, -0.007033, -0.002333> + 14708: < 0.004002, -0.007297, -0.001975> + 14709: < 0.003634, -0.007462, -0.001995> + 14710: < 0.003601, -0.007374, -0.002380> + 14711: < 0.003965, -0.007212, -0.002356> + 14712: < 0.003634, -0.007462, -0.001995> + 14713: < 0.003255, -0.007610, -0.002015> + 14714: < 0.003227, -0.007519, -0.002405> + 14715: < 0.003601, -0.007374, -0.002380> + 14716: < 0.003255, -0.007610, -0.002015> + 14717: < 0.002868, -0.007740, -0.002035> + 14718: < 0.002843, -0.007648, -0.002429> + 14719: < 0.003227, -0.007519, -0.002405> + 14720: < 0.002868, -0.007740, -0.002035> + 14721: < 0.002473, -0.007854, -0.002053> + 14722: < 0.002452, -0.007759, -0.002452> + 14723: < 0.002843, -0.007648, -0.002429> + 14724: < 0.002473, -0.007854, -0.002053> + 14725: < 0.002071, -0.007950, -0.002071> + 14726: < 0.002053, -0.007854, -0.002473> + 14727: < 0.002452, -0.007759, -0.002452> + 14728: < 0.002071, -0.007950, -0.002071> + 14729: < 0.001663, -0.008029, -0.002086> + 14730: < 0.001650, -0.007932, -0.002492> + 14731: < 0.002053, -0.007854, -0.002473> + 14732: < 0.001663, -0.008029, -0.002086> + 14733: < 0.001252, -0.008090, -0.002099> + 14734: < 0.001241, -0.007992, -0.002507> + 14735: < 0.001650, -0.007932, -0.002492> + 14736: < 0.001252, -0.008090, -0.002099> + 14737: < 0.000836, -0.008134, -0.002109> + 14738: < 0.000829, -0.008036, -0.002519> + 14739: < 0.001241, -0.007992, -0.002507> + 14740: < 0.000836, -0.008134, -0.002109> + 14741: < 0.000419, -0.008161, -0.002116> + 14742: < 0.000415, -0.008062, -0.002527> + 14743: < 0.000829, -0.008036, -0.002519> + 14744: < 0.000419, -0.008161, -0.002116> + 14745: <-0.000000, -0.008169, -0.002118> + 14746: <-0.000000, -0.008070, -0.002530> + 14747: < 0.000415, -0.008062, -0.002527> + 14748: <-0.000000, -0.008169, -0.002118> + 14749: <-0.000419, -0.008161, -0.002116> + 14750: <-0.000415, -0.008062, -0.002527> + 14751: <-0.000000, -0.008070, -0.002530> + 14752: <-0.000419, -0.008161, -0.002116> + 14753: <-0.000836, -0.008134, -0.002109> + 14754: <-0.000829, -0.008036, -0.002519> + 14755: <-0.000415, -0.008062, -0.002527> + 14756: <-0.000836, -0.008134, -0.002109> + 14757: <-0.001252, -0.008090, -0.002099> + 14758: <-0.001241, -0.007992, -0.002507> + 14759: <-0.000829, -0.008036, -0.002519> + 14760: <-0.001252, -0.008090, -0.002099> + 14761: <-0.001663, -0.008029, -0.002086> + 14762: <-0.001650, -0.007932, -0.002492> + 14763: <-0.001241, -0.007992, -0.002507> + 14764: <-0.001663, -0.008029, -0.002086> + 14765: <-0.002071, -0.007950, -0.002071> + 14766: <-0.002053, -0.007854, -0.002473> + 14767: <-0.001650, -0.007932, -0.002492> + 14768: <-0.002071, -0.007950, -0.002071> + 14769: <-0.002473, -0.007854, -0.002053> + 14770: <-0.002452, -0.007759, -0.002452> + 14771: <-0.002053, -0.007854, -0.002473> + 14772: <-0.002473, -0.007854, -0.002053> + 14773: <-0.002868, -0.007740, -0.002035> + 14774: <-0.002843, -0.007648, -0.002429> + 14775: <-0.002452, -0.007759, -0.002452> + 14776: <-0.002868, -0.007740, -0.002035> + 14777: <-0.003255, -0.007610, -0.002015> + 14778: <-0.003227, -0.007519, -0.002405> + 14779: <-0.002843, -0.007648, -0.002429> + 14780: <-0.003255, -0.007610, -0.002015> + 14781: <-0.003634, -0.007462, -0.001995> + 14782: <-0.003601, -0.007374, -0.002380> + 14783: <-0.003227, -0.007519, -0.002405> + 14784: <-0.003634, -0.007462, -0.001995> + 14785: <-0.004002, -0.007297, -0.001975> + 14786: <-0.003965, -0.007212, -0.002356> + 14787: <-0.003601, -0.007374, -0.002380> + 14788: <-0.004002, -0.007297, -0.001975> + 14789: <-0.004360, -0.007115, -0.001957> + 14790: <-0.004318, -0.007033, -0.002333> + 14791: <-0.003965, -0.007212, -0.002356> + 14792: <-0.004360, -0.007115, -0.001957> + 14793: <-0.004705, -0.006915, -0.001940> + 14794: <-0.004659, -0.006836, -0.002313> + 14795: <-0.004318, -0.007033, -0.002333> + 14796: <-0.004705, -0.006915, -0.001940> + 14797: <-0.005037, -0.006698, -0.001926> + 14798: <-0.004987, -0.006623, -0.002295> + 14799: <-0.004659, -0.006836, -0.002313> + 14800: <-0.005037, -0.006698, -0.001926> + 14801: <-0.005355, -0.006464, -0.001915> + 14802: <-0.005301, -0.006393, -0.002281> + 14803: <-0.004987, -0.006623, -0.002295> + 14804: <-0.005355, -0.006464, -0.001915> + 14805: <-0.005657, -0.006212, -0.001908> + 14806: <-0.005599, -0.006146, -0.002272> + 14807: <-0.005301, -0.006393, -0.002281> + 14808: < 0.005599, -0.006146, -0.002272> + 14809: < 0.005301, -0.006393, -0.002281> + 14810: < 0.005240, -0.006311, -0.002638> + 14811: < 0.005533, -0.006069, -0.002627> + 14812: < 0.005301, -0.006393, -0.002281> + 14813: < 0.004987, -0.006623, -0.002295> + 14814: < 0.004931, -0.006537, -0.002655> + 14815: < 0.005240, -0.006311, -0.002638> + 14816: < 0.004987, -0.006623, -0.002295> + 14817: < 0.004659, -0.006836, -0.002313> + 14818: < 0.004609, -0.006745, -0.002676> + 14819: < 0.004931, -0.006537, -0.002655> + 14820: < 0.004659, -0.006836, -0.002313> + 14821: < 0.004318, -0.007033, -0.002333> + 14822: < 0.004273, -0.006937, -0.002701> + 14823: < 0.004609, -0.006745, -0.002676> + 14824: < 0.004318, -0.007033, -0.002333> + 14825: < 0.003965, -0.007212, -0.002356> + 14826: < 0.003924, -0.007112, -0.002729> + 14827: < 0.004273, -0.006937, -0.002701> + 14828: < 0.003965, -0.007212, -0.002356> + 14829: < 0.003601, -0.007374, -0.002380> + 14830: < 0.003565, -0.007270, -0.002758> + 14831: < 0.003924, -0.007112, -0.002729> + 14832: < 0.003601, -0.007374, -0.002380> + 14833: < 0.003227, -0.007519, -0.002405> + 14834: < 0.003195, -0.007412, -0.002787> + 14835: < 0.003565, -0.007270, -0.002758> + 14836: < 0.003227, -0.007519, -0.002405> + 14837: < 0.002843, -0.007648, -0.002429> + 14838: < 0.002816, -0.007538, -0.002816> + 14839: < 0.003195, -0.007412, -0.002787> + 14840: < 0.002843, -0.007648, -0.002429> + 14841: < 0.002452, -0.007759, -0.002452> + 14842: < 0.002429, -0.007648, -0.002843> + 14843: < 0.002816, -0.007538, -0.002816> + 14844: < 0.002452, -0.007759, -0.002452> + 14845: < 0.002053, -0.007854, -0.002473> + 14846: < 0.002035, -0.007740, -0.002868> + 14847: < 0.002429, -0.007648, -0.002843> + 14848: < 0.002053, -0.007854, -0.002473> + 14849: < 0.001650, -0.007932, -0.002492> + 14850: < 0.001635, -0.007817, -0.002890> + 14851: < 0.002035, -0.007740, -0.002868> + 14852: < 0.001650, -0.007932, -0.002492> + 14853: < 0.001241, -0.007992, -0.002507> + 14854: < 0.001230, -0.007876, -0.002908> + 14855: < 0.001635, -0.007817, -0.002890> + 14856: < 0.001241, -0.007992, -0.002507> + 14857: < 0.000829, -0.008036, -0.002519> + 14858: < 0.000822, -0.007919, -0.002922> + 14859: < 0.001230, -0.007876, -0.002908> + 14860: < 0.000829, -0.008036, -0.002519> + 14861: < 0.000415, -0.008062, -0.002527> + 14862: < 0.000412, -0.007945, -0.002931> + 14863: < 0.000822, -0.007919, -0.002922> + 14864: < 0.000415, -0.008062, -0.002527> + 14865: <-0.000000, -0.008070, -0.002530> + 14866: <-0.000000, -0.007953, -0.002934> + 14867: < 0.000412, -0.007945, -0.002931> + 14868: <-0.000000, -0.008070, -0.002530> + 14869: <-0.000415, -0.008062, -0.002527> + 14870: <-0.000412, -0.007945, -0.002931> + 14871: <-0.000000, -0.007953, -0.002934> + 14872: <-0.000415, -0.008062, -0.002527> + 14873: <-0.000829, -0.008036, -0.002519> + 14874: <-0.000822, -0.007919, -0.002922> + 14875: <-0.000412, -0.007945, -0.002931> + 14876: <-0.000829, -0.008036, -0.002519> + 14877: <-0.001241, -0.007992, -0.002507> + 14878: <-0.001230, -0.007876, -0.002908> + 14879: <-0.000822, -0.007919, -0.002922> + 14880: <-0.001241, -0.007992, -0.002507> + 14881: <-0.001650, -0.007932, -0.002492> + 14882: <-0.001635, -0.007817, -0.002890> + 14883: <-0.001230, -0.007876, -0.002908> + 14884: <-0.001650, -0.007932, -0.002492> + 14885: <-0.002053, -0.007854, -0.002473> + 14886: <-0.002035, -0.007740, -0.002868> + 14887: <-0.001635, -0.007817, -0.002890> + 14888: <-0.002053, -0.007854, -0.002473> + 14889: <-0.002452, -0.007759, -0.002452> + 14890: <-0.002429, -0.007648, -0.002843> + 14891: <-0.002035, -0.007740, -0.002868> + 14892: <-0.002452, -0.007759, -0.002452> + 14893: <-0.002843, -0.007648, -0.002429> + 14894: <-0.002816, -0.007538, -0.002816> + 14895: <-0.002429, -0.007648, -0.002843> + 14896: <-0.002843, -0.007648, -0.002429> + 14897: <-0.003227, -0.007519, -0.002405> + 14898: <-0.003195, -0.007412, -0.002787> + 14899: <-0.002816, -0.007538, -0.002816> + 14900: <-0.003227, -0.007519, -0.002405> + 14901: <-0.003601, -0.007374, -0.002380> + 14902: <-0.003565, -0.007270, -0.002758> + 14903: <-0.003195, -0.007412, -0.002787> + 14904: <-0.003601, -0.007374, -0.002380> + 14905: <-0.003965, -0.007212, -0.002356> + 14906: <-0.003924, -0.007112, -0.002729> + 14907: <-0.003565, -0.007270, -0.002758> + 14908: <-0.003965, -0.007212, -0.002356> + 14909: <-0.004318, -0.007033, -0.002333> + 14910: <-0.004273, -0.006937, -0.002701> + 14911: <-0.003924, -0.007112, -0.002729> + 14912: <-0.004318, -0.007033, -0.002333> + 14913: <-0.004659, -0.006836, -0.002313> + 14914: <-0.004609, -0.006745, -0.002676> + 14915: <-0.004273, -0.006937, -0.002701> + 14916: <-0.004659, -0.006836, -0.002313> + 14917: <-0.004987, -0.006623, -0.002295> + 14918: <-0.004931, -0.006537, -0.002655> + 14919: <-0.004609, -0.006745, -0.002676> + 14920: <-0.004987, -0.006623, -0.002295> + 14921: <-0.005301, -0.006393, -0.002281> + 14922: <-0.005240, -0.006311, -0.002638> + 14923: <-0.004931, -0.006537, -0.002655> + 14924: <-0.005301, -0.006393, -0.002281> + 14925: <-0.005599, -0.006146, -0.002272> + 14926: <-0.005533, -0.006069, -0.002627> + 14927: <-0.005240, -0.006311, -0.002638> + 14928: < 0.005533, -0.006069, -0.002627> + 14929: < 0.005240, -0.006311, -0.002638> + 14930: < 0.005172, -0.006219, -0.002984> + 14931: < 0.005459, -0.005983, -0.002971> + 14932: < 0.005240, -0.006311, -0.002638> + 14933: < 0.004931, -0.006537, -0.002655> + 14934: < 0.004870, -0.006439, -0.003004> + 14935: < 0.005172, -0.006219, -0.002984> + 14936: < 0.004931, -0.006537, -0.002655> + 14937: < 0.004609, -0.006745, -0.002676> + 14938: < 0.004553, -0.006641, -0.003030> + 14939: < 0.004870, -0.006439, -0.003004> + 14940: < 0.004609, -0.006745, -0.002676> + 14941: < 0.004273, -0.006937, -0.002701> + 14942: < 0.004223, -0.006828, -0.003060> + 14943: < 0.004553, -0.006641, -0.003030> + 14944: < 0.004273, -0.006937, -0.002701> + 14945: < 0.003924, -0.007112, -0.002729> + 14946: < 0.003880, -0.006998, -0.003093> + 14947: < 0.004223, -0.006828, -0.003060> + 14948: < 0.003924, -0.007112, -0.002729> + 14949: < 0.003565, -0.007270, -0.002758> + 14950: < 0.003526, -0.007152, -0.003127> + 14951: < 0.003880, -0.006998, -0.003093> + 14952: < 0.003565, -0.007270, -0.002758> + 14953: < 0.003195, -0.007412, -0.002787> + 14954: < 0.003162, -0.007290, -0.003162> + 14955: < 0.003526, -0.007152, -0.003127> + 14956: < 0.003195, -0.007412, -0.002787> + 14957: < 0.002816, -0.007538, -0.002816> + 14958: < 0.002787, -0.007412, -0.003195> + 14959: < 0.003162, -0.007290, -0.003162> + 14960: < 0.002816, -0.007538, -0.002816> + 14961: < 0.002429, -0.007648, -0.002843> + 14962: < 0.002405, -0.007519, -0.003227> + 14963: < 0.002787, -0.007412, -0.003195> + 14964: < 0.002429, -0.007648, -0.002843> + 14965: < 0.002035, -0.007740, -0.002868> + 14966: < 0.002015, -0.007610, -0.003255> + 14967: < 0.002405, -0.007519, -0.003227> + 14968: < 0.002035, -0.007740, -0.002868> + 14969: < 0.001635, -0.007817, -0.002890> + 14970: < 0.001619, -0.007684, -0.003281> + 14971: < 0.002015, -0.007610, -0.003255> + 14972: < 0.001635, -0.007817, -0.002890> + 14973: < 0.001230, -0.007876, -0.002908> + 14974: < 0.001219, -0.007743, -0.003302> + 14975: < 0.001619, -0.007684, -0.003281> + 14976: < 0.001230, -0.007876, -0.002908> + 14977: < 0.000822, -0.007919, -0.002922> + 14978: < 0.000814, -0.007785, -0.003318> + 14979: < 0.001219, -0.007743, -0.003302> + 14980: < 0.000822, -0.007919, -0.002922> + 14981: < 0.000412, -0.007945, -0.002931> + 14982: < 0.000408, -0.007810, -0.003328> + 14983: < 0.000814, -0.007785, -0.003318> + 14984: < 0.000412, -0.007945, -0.002931> + 14985: <-0.000000, -0.007953, -0.002934> + 14986: <-0.000000, -0.007818, -0.003331> + 14987: < 0.000408, -0.007810, -0.003328> + 14988: <-0.000000, -0.007953, -0.002934> + 14989: <-0.000412, -0.007945, -0.002931> + 14990: <-0.000408, -0.007810, -0.003328> + 14991: <-0.000000, -0.007818, -0.003331> + 14992: <-0.000412, -0.007945, -0.002931> + 14993: <-0.000822, -0.007919, -0.002922> + 14994: <-0.000814, -0.007785, -0.003318> + 14995: <-0.000408, -0.007810, -0.003328> + 14996: <-0.000822, -0.007919, -0.002922> + 14997: <-0.001230, -0.007876, -0.002908> + 14998: <-0.001219, -0.007743, -0.003302> + 14999: <-0.000814, -0.007785, -0.003318> + 15000: <-0.001230, -0.007876, -0.002908> + 15001: <-0.001635, -0.007817, -0.002890> + 15002: <-0.001619, -0.007684, -0.003281> + 15003: <-0.001219, -0.007743, -0.003302> + 15004: <-0.001635, -0.007817, -0.002890> + 15005: <-0.002035, -0.007740, -0.002868> + 15006: <-0.002015, -0.007610, -0.003255> + 15007: <-0.001619, -0.007684, -0.003281> + 15008: <-0.002035, -0.007740, -0.002868> + 15009: <-0.002429, -0.007648, -0.002843> + 15010: <-0.002405, -0.007519, -0.003227> + 15011: <-0.002015, -0.007610, -0.003255> + 15012: <-0.002429, -0.007648, -0.002843> + 15013: <-0.002816, -0.007538, -0.002816> + 15014: <-0.002787, -0.007412, -0.003195> + 15015: <-0.002405, -0.007519, -0.003227> + 15016: <-0.002816, -0.007538, -0.002816> + 15017: <-0.003195, -0.007412, -0.002787> + 15018: <-0.003162, -0.007290, -0.003162> + 15019: <-0.002787, -0.007412, -0.003195> + 15020: <-0.003195, -0.007412, -0.002787> + 15021: <-0.003565, -0.007270, -0.002758> + 15022: <-0.003526, -0.007152, -0.003127> + 15023: <-0.003162, -0.007290, -0.003162> + 15024: <-0.003565, -0.007270, -0.002758> + 15025: <-0.003924, -0.007112, -0.002729> + 15026: <-0.003880, -0.006998, -0.003093> + 15027: <-0.003526, -0.007152, -0.003127> + 15028: <-0.003924, -0.007112, -0.002729> + 15029: <-0.004273, -0.006937, -0.002701> + 15030: <-0.004223, -0.006828, -0.003060> + 15031: <-0.003880, -0.006998, -0.003093> + 15032: <-0.004273, -0.006937, -0.002701> + 15033: <-0.004609, -0.006745, -0.002676> + 15034: <-0.004553, -0.006641, -0.003030> + 15035: <-0.004223, -0.006828, -0.003060> + 15036: <-0.004609, -0.006745, -0.002676> + 15037: <-0.004931, -0.006537, -0.002655> + 15038: <-0.004870, -0.006439, -0.003004> + 15039: <-0.004553, -0.006641, -0.003030> + 15040: <-0.004931, -0.006537, -0.002655> + 15041: <-0.005240, -0.006311, -0.002638> + 15042: <-0.005172, -0.006219, -0.002984> + 15043: <-0.004870, -0.006439, -0.003004> + 15044: <-0.005240, -0.006311, -0.002638> + 15045: <-0.005533, -0.006069, -0.002627> + 15046: <-0.005459, -0.005983, -0.002971> + 15047: <-0.005172, -0.006219, -0.002984> + 15048: < 0.005459, -0.005983, -0.002971> + 15049: < 0.005172, -0.006219, -0.002984> + 15050: < 0.005099, -0.006117, -0.003318> + 15051: < 0.005379, -0.005888, -0.003302> + 15052: < 0.005172, -0.006219, -0.002984> + 15053: < 0.004870, -0.006439, -0.003004> + 15054: < 0.004804, -0.006329, -0.003342> + 15055: < 0.005099, -0.006117, -0.003318> + 15056: < 0.004870, -0.006439, -0.003004> + 15057: < 0.004553, -0.006641, -0.003030> + 15058: < 0.004494, -0.006525, -0.003372> + 15059: < 0.004804, -0.006329, -0.003342> + 15060: < 0.004553, -0.006641, -0.003030> + 15061: < 0.004223, -0.006828, -0.003060> + 15062: < 0.004170, -0.006705, -0.003407> + 15063: < 0.004494, -0.006525, -0.003372> + 15064: < 0.004223, -0.006828, -0.003060> + 15065: < 0.003880, -0.006998, -0.003093> + 15066: < 0.003834, -0.006870, -0.003446> + 15067: < 0.004170, -0.006705, -0.003407> + 15068: < 0.003880, -0.006998, -0.003093> + 15069: < 0.003526, -0.007152, -0.003127> + 15070: < 0.003486, -0.007018, -0.003486> + 15071: < 0.003834, -0.006870, -0.003446> + 15072: < 0.003526, -0.007152, -0.003127> + 15073: < 0.003162, -0.007290, -0.003162> + 15074: < 0.003127, -0.007152, -0.003526> + 15075: < 0.003486, -0.007018, -0.003486> + 15076: < 0.003162, -0.007290, -0.003162> + 15077: < 0.002787, -0.007412, -0.003195> + 15078: < 0.002758, -0.007270, -0.003565> + 15079: < 0.003127, -0.007152, -0.003526> + 15080: < 0.002787, -0.007412, -0.003195> + 15081: < 0.002405, -0.007519, -0.003227> + 15082: < 0.002380, -0.007374, -0.003601> + 15083: < 0.002758, -0.007270, -0.003565> + 15084: < 0.002405, -0.007519, -0.003227> + 15085: < 0.002015, -0.007610, -0.003255> + 15086: < 0.001995, -0.007462, -0.003634> + 15087: < 0.002380, -0.007374, -0.003601> + 15088: < 0.002015, -0.007610, -0.003255> + 15089: < 0.001619, -0.007684, -0.003281> + 15090: < 0.001603, -0.007535, -0.003663> + 15091: < 0.001995, -0.007462, -0.003634> + 15092: < 0.001619, -0.007684, -0.003281> + 15093: < 0.001219, -0.007743, -0.003302> + 15094: < 0.001207, -0.007591, -0.003686> + 15095: < 0.001603, -0.007535, -0.003663> + 15096: < 0.001219, -0.007743, -0.003302> + 15097: < 0.000814, -0.007785, -0.003318> + 15098: < 0.000807, -0.007632, -0.003704> + 15099: < 0.001207, -0.007591, -0.003686> + 15100: < 0.000814, -0.007785, -0.003318> + 15101: < 0.000408, -0.007810, -0.003328> + 15102: < 0.000404, -0.007657, -0.003716> + 15103: < 0.000807, -0.007632, -0.003704> + 15104: < 0.000408, -0.007810, -0.003328> + 15105: <-0.000000, -0.007818, -0.003331> + 15106: <-0.000000, -0.007665, -0.003720> + 15107: < 0.000404, -0.007657, -0.003716> + 15108: <-0.000000, -0.007818, -0.003331> + 15109: <-0.000408, -0.007810, -0.003328> + 15110: <-0.000404, -0.007657, -0.003716> + 15111: <-0.000000, -0.007665, -0.003720> + 15112: <-0.000408, -0.007810, -0.003328> + 15113: <-0.000814, -0.007785, -0.003318> + 15114: <-0.000807, -0.007632, -0.003704> + 15115: <-0.000404, -0.007657, -0.003716> + 15116: <-0.000814, -0.007785, -0.003318> + 15117: <-0.001219, -0.007743, -0.003302> + 15118: <-0.001207, -0.007591, -0.003686> + 15119: <-0.000807, -0.007632, -0.003704> + 15120: <-0.001219, -0.007743, -0.003302> + 15121: <-0.001619, -0.007684, -0.003281> + 15122: <-0.001603, -0.007535, -0.003663> + 15123: <-0.001207, -0.007591, -0.003686> + 15124: <-0.001619, -0.007684, -0.003281> + 15125: <-0.002015, -0.007610, -0.003255> + 15126: <-0.001995, -0.007462, -0.003634> + 15127: <-0.001603, -0.007535, -0.003663> + 15128: <-0.002015, -0.007610, -0.003255> + 15129: <-0.002405, -0.007519, -0.003227> + 15130: <-0.002380, -0.007374, -0.003601> + 15131: <-0.001995, -0.007462, -0.003634> + 15132: <-0.002405, -0.007519, -0.003227> + 15133: <-0.002787, -0.007412, -0.003195> + 15134: <-0.002758, -0.007270, -0.003565> + 15135: <-0.002380, -0.007374, -0.003601> + 15136: <-0.002787, -0.007412, -0.003195> + 15137: <-0.003162, -0.007290, -0.003162> + 15138: <-0.003127, -0.007152, -0.003526> + 15139: <-0.002758, -0.007270, -0.003565> + 15140: <-0.003162, -0.007290, -0.003162> + 15141: <-0.003526, -0.007152, -0.003127> + 15142: <-0.003486, -0.007018, -0.003486> + 15143: <-0.003127, -0.007152, -0.003526> + 15144: <-0.003526, -0.007152, -0.003127> + 15145: <-0.003880, -0.006998, -0.003093> + 15146: <-0.003834, -0.006870, -0.003446> + 15147: <-0.003486, -0.007018, -0.003486> + 15148: <-0.003880, -0.006998, -0.003093> + 15149: <-0.004223, -0.006828, -0.003060> + 15150: <-0.004170, -0.006705, -0.003407> + 15151: <-0.003834, -0.006870, -0.003446> + 15152: <-0.004223, -0.006828, -0.003060> + 15153: <-0.004553, -0.006641, -0.003030> + 15154: <-0.004494, -0.006525, -0.003372> + 15155: <-0.004170, -0.006705, -0.003407> + 15156: <-0.004553, -0.006641, -0.003030> + 15157: <-0.004870, -0.006439, -0.003004> + 15158: <-0.004804, -0.006329, -0.003342> + 15159: <-0.004494, -0.006525, -0.003372> + 15160: <-0.004870, -0.006439, -0.003004> + 15161: <-0.005172, -0.006219, -0.002984> + 15162: <-0.005099, -0.006117, -0.003318> + 15163: <-0.004804, -0.006329, -0.003342> + 15164: <-0.005172, -0.006219, -0.002984> + 15165: <-0.005459, -0.005983, -0.002971> + 15166: <-0.005379, -0.005888, -0.003302> + 15167: <-0.005099, -0.006117, -0.003318> + 15168: < 0.005379, -0.005888, -0.003302> + 15169: < 0.005099, -0.006117, -0.003318> + 15170: < 0.005023, -0.006006, -0.003637> + 15171: < 0.005294, -0.005786, -0.003619> + 15172: < 0.005099, -0.006117, -0.003318> + 15173: < 0.004804, -0.006329, -0.003342> + 15174: < 0.004736, -0.006210, -0.003666> + 15175: < 0.005023, -0.006006, -0.003637> + 15176: < 0.004804, -0.006329, -0.003342> + 15177: < 0.004494, -0.006525, -0.003372> + 15178: < 0.004434, -0.006397, -0.003701> + 15179: < 0.004736, -0.006210, -0.003666> + 15180: < 0.004494, -0.006525, -0.003372> + 15181: < 0.004170, -0.006705, -0.003407> + 15182: < 0.004117, -0.006570, -0.003743> + 15183: < 0.004434, -0.006397, -0.003701> + 15184: < 0.004170, -0.006705, -0.003407> + 15185: < 0.003834, -0.006870, -0.003446> + 15186: < 0.003788, -0.006727, -0.003788> + 15187: < 0.004117, -0.006570, -0.003743> + 15188: < 0.003834, -0.006870, -0.003446> + 15189: < 0.003486, -0.007018, -0.003486> + 15190: < 0.003446, -0.006870, -0.003834> + 15191: < 0.003788, -0.006727, -0.003788> + 15192: < 0.003486, -0.007018, -0.003486> + 15193: < 0.003127, -0.007152, -0.003526> + 15194: < 0.003093, -0.006998, -0.003880> + 15195: < 0.003446, -0.006870, -0.003834> + 15196: < 0.003127, -0.007152, -0.003526> + 15197: < 0.002758, -0.007270, -0.003565> + 15198: < 0.002729, -0.007112, -0.003924> + 15199: < 0.003093, -0.006998, -0.003880> + 15200: < 0.002758, -0.007270, -0.003565> + 15201: < 0.002380, -0.007374, -0.003601> + 15202: < 0.002356, -0.007212, -0.003965> + 15203: < 0.002729, -0.007112, -0.003924> + 15204: < 0.002380, -0.007374, -0.003601> + 15205: < 0.001995, -0.007462, -0.003634> + 15206: < 0.001975, -0.007297, -0.004002> + 15207: < 0.002356, -0.007212, -0.003965> + 15208: < 0.001995, -0.007462, -0.003634> + 15209: < 0.001603, -0.007535, -0.003663> + 15210: < 0.001588, -0.007367, -0.004034> + 15211: < 0.001975, -0.007297, -0.004002> + 15212: < 0.001603, -0.007535, -0.003663> + 15213: < 0.001207, -0.007591, -0.003686> + 15214: < 0.001196, -0.007423, -0.004061> + 15215: < 0.001588, -0.007367, -0.004034> + 15216: < 0.001207, -0.007591, -0.003686> + 15217: < 0.000807, -0.007632, -0.003704> + 15218: < 0.000799, -0.007462, -0.004081> + 15219: < 0.001196, -0.007423, -0.004061> + 15220: < 0.000807, -0.007632, -0.003704> + 15221: < 0.000404, -0.007657, -0.003716> + 15222: < 0.000400, -0.007487, -0.004093> + 15223: < 0.000799, -0.007462, -0.004081> + 15224: < 0.000404, -0.007657, -0.003716> + 15225: <-0.000000, -0.007665, -0.003720> + 15226: <-0.000000, -0.007495, -0.004098> + 15227: < 0.000400, -0.007487, -0.004093> + 15228: <-0.000000, -0.007665, -0.003720> + 15229: <-0.000404, -0.007657, -0.003716> + 15230: <-0.000400, -0.007487, -0.004093> + 15231: <-0.000000, -0.007495, -0.004098> + 15232: <-0.000404, -0.007657, -0.003716> + 15233: <-0.000807, -0.007632, -0.003704> + 15234: <-0.000799, -0.007462, -0.004081> + 15235: <-0.000400, -0.007487, -0.004093> + 15236: <-0.000807, -0.007632, -0.003704> + 15237: <-0.001207, -0.007591, -0.003686> + 15238: <-0.001196, -0.007423, -0.004061> + 15239: <-0.000799, -0.007462, -0.004081> + 15240: <-0.001207, -0.007591, -0.003686> + 15241: <-0.001603, -0.007535, -0.003663> + 15242: <-0.001588, -0.007367, -0.004034> + 15243: <-0.001196, -0.007423, -0.004061> + 15244: <-0.001603, -0.007535, -0.003663> + 15245: <-0.001995, -0.007462, -0.003634> + 15246: <-0.001975, -0.007297, -0.004002> + 15247: <-0.001588, -0.007367, -0.004034> + 15248: <-0.001995, -0.007462, -0.003634> + 15249: <-0.002380, -0.007374, -0.003601> + 15250: <-0.002356, -0.007212, -0.003965> + 15251: <-0.001975, -0.007297, -0.004002> + 15252: <-0.002380, -0.007374, -0.003601> + 15253: <-0.002758, -0.007270, -0.003565> + 15254: <-0.002729, -0.007112, -0.003924> + 15255: <-0.002356, -0.007212, -0.003965> + 15256: <-0.002758, -0.007270, -0.003565> + 15257: <-0.003127, -0.007152, -0.003526> + 15258: <-0.003093, -0.006998, -0.003880> + 15259: <-0.002729, -0.007112, -0.003924> + 15260: <-0.003127, -0.007152, -0.003526> + 15261: <-0.003486, -0.007018, -0.003486> + 15262: <-0.003446, -0.006870, -0.003834> + 15263: <-0.003093, -0.006998, -0.003880> + 15264: <-0.003486, -0.007018, -0.003486> + 15265: <-0.003834, -0.006870, -0.003446> + 15266: <-0.003788, -0.006727, -0.003788> + 15267: <-0.003446, -0.006870, -0.003834> + 15268: <-0.003834, -0.006870, -0.003446> + 15269: <-0.004170, -0.006705, -0.003407> + 15270: <-0.004117, -0.006570, -0.003743> + 15271: <-0.003788, -0.006727, -0.003788> + 15272: <-0.004170, -0.006705, -0.003407> + 15273: <-0.004494, -0.006525, -0.003372> + 15274: <-0.004434, -0.006397, -0.003701> + 15275: <-0.004117, -0.006570, -0.003743> + 15276: <-0.004494, -0.006525, -0.003372> + 15277: <-0.004804, -0.006329, -0.003342> + 15278: <-0.004736, -0.006210, -0.003666> + 15279: <-0.004434, -0.006397, -0.003701> + 15280: <-0.004804, -0.006329, -0.003342> + 15281: <-0.005099, -0.006117, -0.003318> + 15282: <-0.005023, -0.006006, -0.003637> + 15283: <-0.004736, -0.006210, -0.003666> + 15284: <-0.005099, -0.006117, -0.003318> + 15285: <-0.005379, -0.005888, -0.003302> + 15286: <-0.005294, -0.005786, -0.003619> + 15287: <-0.005023, -0.006006, -0.003637> + 15288: < 0.005294, -0.005786, -0.003619> + 15289: < 0.005023, -0.006006, -0.003637> + 15290: < 0.004946, -0.005887, -0.003941> + 15291: < 0.005207, -0.005678, -0.003918> + 15292: < 0.005023, -0.006006, -0.003637> + 15293: < 0.004736, -0.006210, -0.003666> + 15294: < 0.004668, -0.006080, -0.003975> + 15295: < 0.004946, -0.005887, -0.003941> + 15296: < 0.004736, -0.006210, -0.003666> + 15297: < 0.004434, -0.006397, -0.003701> + 15298: < 0.004374, -0.006257, -0.004017> + 15299: < 0.004668, -0.006080, -0.003975> + 15300: < 0.004434, -0.006397, -0.003701> + 15301: < 0.004117, -0.006570, -0.003743> + 15302: < 0.004065, -0.006421, -0.004065> + 15303: < 0.004374, -0.006257, -0.004017> + 15304: < 0.004117, -0.006570, -0.003743> + 15305: < 0.003788, -0.006727, -0.003788> + 15306: < 0.003743, -0.006570, -0.004117> + 15307: < 0.004065, -0.006421, -0.004065> + 15308: < 0.003788, -0.006727, -0.003788> + 15309: < 0.003446, -0.006870, -0.003834> + 15310: < 0.003407, -0.006705, -0.004170> + 15311: < 0.003743, -0.006570, -0.004117> + 15312: < 0.003446, -0.006870, -0.003834> + 15313: < 0.003093, -0.006998, -0.003880> + 15314: < 0.003060, -0.006828, -0.004223> + 15315: < 0.003407, -0.006705, -0.004170> + 15316: < 0.003093, -0.006998, -0.003880> + 15317: < 0.002729, -0.007112, -0.003924> + 15318: < 0.002701, -0.006937, -0.004273> + 15319: < 0.003060, -0.006828, -0.004223> + 15320: < 0.002729, -0.007112, -0.003924> + 15321: < 0.002356, -0.007212, -0.003965> + 15322: < 0.002333, -0.007033, -0.004318> + 15323: < 0.002701, -0.006937, -0.004273> + 15324: < 0.002356, -0.007212, -0.003965> + 15325: < 0.001975, -0.007297, -0.004002> + 15326: < 0.001957, -0.007115, -0.004360> + 15327: < 0.002333, -0.007033, -0.004318> + 15328: < 0.001975, -0.007297, -0.004002> + 15329: < 0.001588, -0.007367, -0.004034> + 15330: < 0.001574, -0.007183, -0.004395> + 15331: < 0.001957, -0.007115, -0.004360> + 15332: < 0.001588, -0.007367, -0.004034> + 15333: < 0.001196, -0.007423, -0.004061> + 15334: < 0.001185, -0.007236, -0.004424> + 15335: < 0.001574, -0.007183, -0.004395> + 15336: < 0.001196, -0.007423, -0.004061> + 15337: < 0.000799, -0.007462, -0.004081> + 15338: < 0.000792, -0.007275, -0.004446> + 15339: < 0.001185, -0.007236, -0.004424> + 15340: < 0.000799, -0.007462, -0.004081> + 15341: < 0.000400, -0.007487, -0.004093> + 15342: < 0.000397, -0.007298, -0.004460> + 15343: < 0.000792, -0.007275, -0.004446> + 15344: < 0.000400, -0.007487, -0.004093> + 15345: <-0.000000, -0.007495, -0.004098> + 15346: <-0.000000, -0.007306, -0.004465> + 15347: < 0.000397, -0.007298, -0.004460> + 15348: <-0.000000, -0.007495, -0.004098> + 15349: <-0.000400, -0.007487, -0.004093> + 15350: <-0.000397, -0.007298, -0.004460> + 15351: <-0.000000, -0.007306, -0.004465> + 15352: <-0.000400, -0.007487, -0.004093> + 15353: <-0.000799, -0.007462, -0.004081> + 15354: <-0.000792, -0.007275, -0.004446> + 15355: <-0.000397, -0.007298, -0.004460> + 15356: <-0.000799, -0.007462, -0.004081> + 15357: <-0.001196, -0.007423, -0.004061> + 15358: <-0.001185, -0.007236, -0.004424> + 15359: <-0.000792, -0.007275, -0.004446> + 15360: <-0.001196, -0.007423, -0.004061> + 15361: <-0.001588, -0.007367, -0.004034> + 15362: <-0.001574, -0.007183, -0.004395> + 15363: <-0.001185, -0.007236, -0.004424> + 15364: <-0.001588, -0.007367, -0.004034> + 15365: <-0.001975, -0.007297, -0.004002> + 15366: <-0.001957, -0.007115, -0.004360> + 15367: <-0.001574, -0.007183, -0.004395> + 15368: <-0.001975, -0.007297, -0.004002> + 15369: <-0.002356, -0.007212, -0.003965> + 15370: <-0.002333, -0.007033, -0.004318> + 15371: <-0.001957, -0.007115, -0.004360> + 15372: <-0.002356, -0.007212, -0.003965> + 15373: <-0.002729, -0.007112, -0.003924> + 15374: <-0.002701, -0.006937, -0.004273> + 15375: <-0.002333, -0.007033, -0.004318> + 15376: <-0.002729, -0.007112, -0.003924> + 15377: <-0.003093, -0.006998, -0.003880> + 15378: <-0.003060, -0.006828, -0.004223> + 15379: <-0.002701, -0.006937, -0.004273> + 15380: <-0.003093, -0.006998, -0.003880> + 15381: <-0.003446, -0.006870, -0.003834> + 15382: <-0.003407, -0.006705, -0.004170> + 15383: <-0.003060, -0.006828, -0.004223> + 15384: <-0.003446, -0.006870, -0.003834> + 15385: <-0.003788, -0.006727, -0.003788> + 15386: <-0.003743, -0.006570, -0.004117> + 15387: <-0.003407, -0.006705, -0.004170> + 15388: <-0.003788, -0.006727, -0.003788> + 15389: <-0.004117, -0.006570, -0.003743> + 15390: <-0.004065, -0.006421, -0.004065> + 15391: <-0.003743, -0.006570, -0.004117> + 15392: <-0.004117, -0.006570, -0.003743> + 15393: <-0.004434, -0.006397, -0.003701> + 15394: <-0.004374, -0.006257, -0.004017> + 15395: <-0.004065, -0.006421, -0.004065> + 15396: <-0.004434, -0.006397, -0.003701> + 15397: <-0.004736, -0.006210, -0.003666> + 15398: <-0.004668, -0.006080, -0.003975> + 15399: <-0.004374, -0.006257, -0.004017> + 15400: <-0.004736, -0.006210, -0.003666> + 15401: <-0.005023, -0.006006, -0.003637> + 15402: <-0.004946, -0.005887, -0.003941> + 15403: <-0.004668, -0.006080, -0.003975> + 15404: <-0.005023, -0.006006, -0.003637> + 15405: <-0.005294, -0.005786, -0.003619> + 15406: <-0.005207, -0.005678, -0.003918> + 15407: <-0.004946, -0.005887, -0.003941> + 15408: < 0.005207, -0.005678, -0.003918> + 15409: < 0.004946, -0.005887, -0.003941> + 15410: < 0.004870, -0.005760, -0.004226> + 15411: < 0.005120, -0.005564, -0.004199> + 15412: < 0.004946, -0.005887, -0.003941> + 15413: < 0.004668, -0.006080, -0.003975> + 15414: < 0.004602, -0.005939, -0.004267> + 15415: < 0.004870, -0.005760, -0.004226> + 15416: < 0.004668, -0.006080, -0.003975> + 15417: < 0.004374, -0.006257, -0.004017> + 15418: < 0.004318, -0.006105, -0.004318> + 15419: < 0.004602, -0.005939, -0.004267> + 15420: < 0.004374, -0.006257, -0.004017> + 15421: < 0.004065, -0.006421, -0.004065> + 15422: < 0.004017, -0.006257, -0.004374> + 15423: < 0.004318, -0.006105, -0.004318> + 15424: < 0.004065, -0.006421, -0.004065> + 15425: < 0.003743, -0.006570, -0.004117> + 15426: < 0.003701, -0.006397, -0.004434> + 15427: < 0.004017, -0.006257, -0.004374> + 15428: < 0.003743, -0.006570, -0.004117> + 15429: < 0.003407, -0.006705, -0.004170> + 15430: < 0.003372, -0.006525, -0.004494> + 15431: < 0.003701, -0.006397, -0.004434> + 15432: < 0.003407, -0.006705, -0.004170> + 15433: < 0.003060, -0.006828, -0.004223> + 15434: < 0.003030, -0.006641, -0.004553> + 15435: < 0.003372, -0.006525, -0.004494> + 15436: < 0.003060, -0.006828, -0.004223> + 15437: < 0.002701, -0.006937, -0.004273> + 15438: < 0.002676, -0.006745, -0.004609> + 15439: < 0.003030, -0.006641, -0.004553> + 15440: < 0.002701, -0.006937, -0.004273> + 15441: < 0.002333, -0.007033, -0.004318> + 15442: < 0.002313, -0.006836, -0.004659> + 15443: < 0.002676, -0.006745, -0.004609> + 15444: < 0.002333, -0.007033, -0.004318> + 15445: < 0.001957, -0.007115, -0.004360> + 15446: < 0.001940, -0.006915, -0.004705> + 15447: < 0.002313, -0.006836, -0.004659> + 15448: < 0.001957, -0.007115, -0.004360> + 15449: < 0.001574, -0.007183, -0.004395> + 15450: < 0.001561, -0.006980, -0.004744> + 15451: < 0.001940, -0.006915, -0.004705> + 15452: < 0.001574, -0.007183, -0.004395> + 15453: < 0.001185, -0.007236, -0.004424> + 15454: < 0.001176, -0.007032, -0.004776> + 15455: < 0.001561, -0.006980, -0.004744> + 15456: < 0.001185, -0.007236, -0.004424> + 15457: < 0.000792, -0.007275, -0.004446> + 15458: < 0.000786, -0.007069, -0.004800> + 15459: < 0.001176, -0.007032, -0.004776> + 15460: < 0.000792, -0.007275, -0.004446> + 15461: < 0.000397, -0.007298, -0.004460> + 15462: < 0.000394, -0.007092, -0.004815> + 15463: < 0.000786, -0.007069, -0.004800> + 15464: < 0.000397, -0.007298, -0.004460> + 15465: <-0.000000, -0.007306, -0.004465> + 15466: <-0.000000, -0.007099, -0.004820> + 15467: < 0.000394, -0.007092, -0.004815> + 15468: <-0.000000, -0.007306, -0.004465> + 15469: <-0.000397, -0.007298, -0.004460> + 15470: <-0.000394, -0.007092, -0.004815> + 15471: <-0.000000, -0.007099, -0.004820> + 15472: <-0.000397, -0.007298, -0.004460> + 15473: <-0.000792, -0.007275, -0.004446> + 15474: <-0.000786, -0.007069, -0.004800> + 15475: <-0.000394, -0.007092, -0.004815> + 15476: <-0.000792, -0.007275, -0.004446> + 15477: <-0.001185, -0.007236, -0.004424> + 15478: <-0.001176, -0.007032, -0.004776> + 15479: <-0.000786, -0.007069, -0.004800> + 15480: <-0.001185, -0.007236, -0.004424> + 15481: <-0.001574, -0.007183, -0.004395> + 15482: <-0.001561, -0.006980, -0.004744> + 15483: <-0.001176, -0.007032, -0.004776> + 15484: <-0.001574, -0.007183, -0.004395> + 15485: <-0.001957, -0.007115, -0.004360> + 15486: <-0.001940, -0.006915, -0.004705> + 15487: <-0.001561, -0.006980, -0.004744> + 15488: <-0.001957, -0.007115, -0.004360> + 15489: <-0.002333, -0.007033, -0.004318> + 15490: <-0.002313, -0.006836, -0.004659> + 15491: <-0.001940, -0.006915, -0.004705> + 15492: <-0.002333, -0.007033, -0.004318> + 15493: <-0.002701, -0.006937, -0.004273> + 15494: <-0.002676, -0.006745, -0.004609> + 15495: <-0.002313, -0.006836, -0.004659> + 15496: <-0.002701, -0.006937, -0.004273> + 15497: <-0.003060, -0.006828, -0.004223> + 15498: <-0.003030, -0.006641, -0.004553> + 15499: <-0.002676, -0.006745, -0.004609> + 15500: <-0.003060, -0.006828, -0.004223> + 15501: <-0.003407, -0.006705, -0.004170> + 15502: <-0.003372, -0.006525, -0.004494> + 15503: <-0.003030, -0.006641, -0.004553> + 15504: <-0.003407, -0.006705, -0.004170> + 15505: <-0.003743, -0.006570, -0.004117> + 15506: <-0.003701, -0.006397, -0.004434> + 15507: <-0.003372, -0.006525, -0.004494> + 15508: <-0.003743, -0.006570, -0.004117> + 15509: <-0.004065, -0.006421, -0.004065> + 15510: <-0.004017, -0.006257, -0.004374> + 15511: <-0.003701, -0.006397, -0.004434> + 15512: <-0.004065, -0.006421, -0.004065> + 15513: <-0.004374, -0.006257, -0.004017> + 15514: <-0.004318, -0.006105, -0.004318> + 15515: <-0.004017, -0.006257, -0.004374> + 15516: <-0.004374, -0.006257, -0.004017> + 15517: <-0.004668, -0.006080, -0.003975> + 15518: <-0.004602, -0.005939, -0.004267> + 15519: <-0.004318, -0.006105, -0.004318> + 15520: <-0.004668, -0.006080, -0.003975> + 15521: <-0.004946, -0.005887, -0.003941> + 15522: <-0.004870, -0.005760, -0.004226> + 15523: <-0.004602, -0.005939, -0.004267> + 15524: <-0.004946, -0.005887, -0.003941> + 15525: <-0.005207, -0.005678, -0.003918> + 15526: <-0.005120, -0.005564, -0.004199> + 15527: <-0.004870, -0.005760, -0.004226> + 15528: < 0.005120, -0.005564, -0.004199> + 15529: < 0.004870, -0.005760, -0.004226> + 15530: < 0.004798, -0.005623, -0.004494> + 15531: < 0.005034, -0.005446, -0.004460> + 15532: < 0.004870, -0.005760, -0.004226> + 15533: < 0.004602, -0.005939, -0.004267> + 15534: < 0.004542, -0.005788, -0.004542> + 15535: < 0.004798, -0.005623, -0.004494> + 15536: < 0.004602, -0.005939, -0.004267> + 15537: < 0.004318, -0.006105, -0.004318> + 15538: < 0.004267, -0.005939, -0.004602> + 15539: < 0.004542, -0.005788, -0.004542> + 15540: < 0.004318, -0.006105, -0.004318> + 15541: < 0.004017, -0.006257, -0.004374> + 15542: < 0.003975, -0.006080, -0.004668> + 15543: < 0.004267, -0.005939, -0.004602> + 15544: < 0.004017, -0.006257, -0.004374> + 15545: < 0.003701, -0.006397, -0.004434> + 15546: < 0.003666, -0.006210, -0.004736> + 15547: < 0.003975, -0.006080, -0.004668> + 15548: < 0.003701, -0.006397, -0.004434> + 15549: < 0.003372, -0.006525, -0.004494> + 15550: < 0.003342, -0.006329, -0.004804> + 15551: < 0.003666, -0.006210, -0.004736> + 15552: < 0.003372, -0.006525, -0.004494> + 15553: < 0.003030, -0.006641, -0.004553> + 15554: < 0.003004, -0.006439, -0.004870> + 15555: < 0.003342, -0.006329, -0.004804> + 15556: < 0.003030, -0.006641, -0.004553> + 15557: < 0.002676, -0.006745, -0.004609> + 15558: < 0.002655, -0.006537, -0.004931> + 15559: < 0.003004, -0.006439, -0.004870> + 15560: < 0.002676, -0.006745, -0.004609> + 15561: < 0.002313, -0.006836, -0.004659> + 15562: < 0.002295, -0.006623, -0.004987> + 15563: < 0.002655, -0.006537, -0.004931> + 15564: < 0.002313, -0.006836, -0.004659> + 15565: < 0.001940, -0.006915, -0.004705> + 15566: < 0.001926, -0.006698, -0.005037> + 15567: < 0.002295, -0.006623, -0.004987> + 15568: < 0.001940, -0.006915, -0.004705> + 15569: < 0.001561, -0.006980, -0.004744> + 15570: < 0.001550, -0.006761, -0.005080> + 15571: < 0.001926, -0.006698, -0.005037> + 15572: < 0.001561, -0.006980, -0.004744> + 15573: < 0.001176, -0.007032, -0.004776> + 15574: < 0.001168, -0.006810, -0.005114> + 15575: < 0.001550, -0.006761, -0.005080> + 15576: < 0.001176, -0.007032, -0.004776> + 15577: < 0.000786, -0.007069, -0.004800> + 15578: < 0.000781, -0.006846, -0.005140> + 15579: < 0.001168, -0.006810, -0.005114> + 15580: < 0.000786, -0.007069, -0.004800> + 15581: < 0.000394, -0.007092, -0.004815> + 15582: < 0.000391, -0.006868, -0.005156> + 15583: < 0.000781, -0.006846, -0.005140> + 15584: < 0.000394, -0.007092, -0.004815> + 15585: <-0.000000, -0.007099, -0.004820> + 15586: <-0.000000, -0.006875, -0.005162> + 15587: < 0.000391, -0.006868, -0.005156> + 15588: <-0.000000, -0.007099, -0.004820> + 15589: <-0.000394, -0.007092, -0.004815> + 15590: <-0.000391, -0.006868, -0.005156> + 15591: <-0.000000, -0.006875, -0.005162> + 15592: <-0.000394, -0.007092, -0.004815> + 15593: <-0.000786, -0.007069, -0.004800> + 15594: <-0.000781, -0.006846, -0.005140> + 15595: <-0.000391, -0.006868, -0.005156> + 15596: <-0.000786, -0.007069, -0.004800> + 15597: <-0.001176, -0.007032, -0.004776> + 15598: <-0.001168, -0.006810, -0.005114> + 15599: <-0.000781, -0.006846, -0.005140> + 15600: <-0.001176, -0.007032, -0.004776> + 15601: <-0.001561, -0.006980, -0.004744> + 15602: <-0.001550, -0.006761, -0.005080> + 15603: <-0.001168, -0.006810, -0.005114> + 15604: <-0.001561, -0.006980, -0.004744> + 15605: <-0.001940, -0.006915, -0.004705> + 15606: <-0.001926, -0.006698, -0.005037> + 15607: <-0.001550, -0.006761, -0.005080> + 15608: <-0.001940, -0.006915, -0.004705> + 15609: <-0.002313, -0.006836, -0.004659> + 15610: <-0.002295, -0.006623, -0.004987> + 15611: <-0.001926, -0.006698, -0.005037> + 15612: <-0.002313, -0.006836, -0.004659> + 15613: <-0.002676, -0.006745, -0.004609> + 15614: <-0.002655, -0.006537, -0.004931> + 15615: <-0.002295, -0.006623, -0.004987> + 15616: <-0.002676, -0.006745, -0.004609> + 15617: <-0.003030, -0.006641, -0.004553> + 15618: <-0.003004, -0.006439, -0.004870> + 15619: <-0.002655, -0.006537, -0.004931> + 15620: <-0.003030, -0.006641, -0.004553> + 15621: <-0.003372, -0.006525, -0.004494> + 15622: <-0.003342, -0.006329, -0.004804> + 15623: <-0.003004, -0.006439, -0.004870> + 15624: <-0.003372, -0.006525, -0.004494> + 15625: <-0.003701, -0.006397, -0.004434> + 15626: <-0.003666, -0.006210, -0.004736> + 15627: <-0.003342, -0.006329, -0.004804> + 15628: <-0.003701, -0.006397, -0.004434> + 15629: <-0.004017, -0.006257, -0.004374> + 15630: <-0.003975, -0.006080, -0.004668> + 15631: <-0.003666, -0.006210, -0.004736> + 15632: <-0.004017, -0.006257, -0.004374> + 15633: <-0.004318, -0.006105, -0.004318> + 15634: <-0.004267, -0.005939, -0.004602> + 15635: <-0.003975, -0.006080, -0.004668> + 15636: <-0.004318, -0.006105, -0.004318> + 15637: <-0.004602, -0.005939, -0.004267> + 15638: <-0.004542, -0.005788, -0.004542> + 15639: <-0.004267, -0.005939, -0.004602> + 15640: <-0.004602, -0.005939, -0.004267> + 15641: <-0.004870, -0.005760, -0.004226> + 15642: <-0.004798, -0.005623, -0.004494> + 15643: <-0.004542, -0.005788, -0.004542> + 15644: <-0.004870, -0.005760, -0.004226> + 15645: <-0.005120, -0.005564, -0.004199> + 15646: <-0.005034, -0.005446, -0.004460> + 15647: <-0.004798, -0.005623, -0.004494> + 15648: < 0.005034, -0.005446, -0.004460> + 15649: < 0.004798, -0.005623, -0.004494> + 15650: < 0.004738, -0.005479, -0.004738> + 15651: < 0.004959, -0.005326, -0.004691> + 15652: < 0.004798, -0.005623, -0.004494> + 15653: < 0.004542, -0.005788, -0.004542> + 15654: < 0.004494, -0.005623, -0.004798> + 15655: < 0.004738, -0.005479, -0.004738> + 15656: < 0.004542, -0.005788, -0.004542> + 15657: < 0.004267, -0.005939, -0.004602> + 15658: < 0.004226, -0.005760, -0.004870> + 15659: < 0.004494, -0.005623, -0.004798> + 15660: < 0.004267, -0.005939, -0.004602> + 15661: < 0.003975, -0.006080, -0.004668> + 15662: < 0.003941, -0.005887, -0.004946> + 15663: < 0.004226, -0.005760, -0.004870> + 15664: < 0.003975, -0.006080, -0.004668> + 15665: < 0.003666, -0.006210, -0.004736> + 15666: < 0.003637, -0.006006, -0.005023> + 15667: < 0.003941, -0.005887, -0.004946> + 15668: < 0.003666, -0.006210, -0.004736> + 15669: < 0.003342, -0.006329, -0.004804> + 15670: < 0.003318, -0.006117, -0.005099> + 15671: < 0.003637, -0.006006, -0.005023> + 15672: < 0.003342, -0.006329, -0.004804> + 15673: < 0.003004, -0.006439, -0.004870> + 15674: < 0.002984, -0.006219, -0.005172> + 15675: < 0.003318, -0.006117, -0.005099> + 15676: < 0.003004, -0.006439, -0.004870> + 15677: < 0.002655, -0.006537, -0.004931> + 15678: < 0.002638, -0.006311, -0.005240> + 15679: < 0.002984, -0.006219, -0.005172> + 15680: < 0.002655, -0.006537, -0.004931> + 15681: < 0.002295, -0.006623, -0.004987> + 15682: < 0.002281, -0.006393, -0.005301> + 15683: < 0.002638, -0.006311, -0.005240> + 15684: < 0.002295, -0.006623, -0.004987> + 15685: < 0.001926, -0.006698, -0.005037> + 15686: < 0.001915, -0.006464, -0.005355> + 15687: < 0.002281, -0.006393, -0.005301> + 15688: < 0.001926, -0.006698, -0.005037> + 15689: < 0.001550, -0.006761, -0.005080> + 15690: < 0.001541, -0.006523, -0.005401> + 15691: < 0.001915, -0.006464, -0.005355> + 15692: < 0.001550, -0.006761, -0.005080> + 15693: < 0.001168, -0.006810, -0.005114> + 15694: < 0.001161, -0.006570, -0.005438> + 15695: < 0.001541, -0.006523, -0.005401> + 15696: < 0.001168, -0.006810, -0.005114> + 15697: < 0.000781, -0.006846, -0.005140> + 15698: < 0.000777, -0.006605, -0.005466> + 15699: < 0.001161, -0.006570, -0.005438> + 15700: < 0.000781, -0.006846, -0.005140> + 15701: < 0.000391, -0.006868, -0.005156> + 15702: < 0.000389, -0.006626, -0.005483> + 15703: < 0.000777, -0.006605, -0.005466> + 15704: < 0.000391, -0.006868, -0.005156> + 15705: <-0.000000, -0.006875, -0.005162> + 15706: <-0.000000, -0.006633, -0.005489> + 15707: < 0.000389, -0.006626, -0.005483> + 15708: <-0.000000, -0.006875, -0.005162> + 15709: <-0.000391, -0.006868, -0.005156> + 15710: <-0.000389, -0.006626, -0.005483> + 15711: <-0.000000, -0.006633, -0.005489> + 15712: <-0.000391, -0.006868, -0.005156> + 15713: <-0.000781, -0.006846, -0.005140> + 15714: <-0.000777, -0.006605, -0.005466> + 15715: <-0.000389, -0.006626, -0.005483> + 15716: <-0.000781, -0.006846, -0.005140> + 15717: <-0.001168, -0.006810, -0.005114> + 15718: <-0.001161, -0.006570, -0.005438> + 15719: <-0.000777, -0.006605, -0.005466> + 15720: <-0.001168, -0.006810, -0.005114> + 15721: <-0.001550, -0.006761, -0.005080> + 15722: <-0.001541, -0.006523, -0.005401> + 15723: <-0.001161, -0.006570, -0.005438> + 15724: <-0.001550, -0.006761, -0.005080> + 15725: <-0.001926, -0.006698, -0.005037> + 15726: <-0.001915, -0.006464, -0.005355> + 15727: <-0.001541, -0.006523, -0.005401> + 15728: <-0.001926, -0.006698, -0.005037> + 15729: <-0.002295, -0.006623, -0.004987> + 15730: <-0.002281, -0.006393, -0.005301> + 15731: <-0.001915, -0.006464, -0.005355> + 15732: <-0.002295, -0.006623, -0.004987> + 15733: <-0.002655, -0.006537, -0.004931> + 15734: <-0.002638, -0.006311, -0.005240> + 15735: <-0.002281, -0.006393, -0.005301> + 15736: <-0.002655, -0.006537, -0.004931> + 15737: <-0.003004, -0.006439, -0.004870> + 15738: <-0.002984, -0.006219, -0.005172> + 15739: <-0.002638, -0.006311, -0.005240> + 15740: <-0.003004, -0.006439, -0.004870> + 15741: <-0.003342, -0.006329, -0.004804> + 15742: <-0.003318, -0.006117, -0.005099> + 15743: <-0.002984, -0.006219, -0.005172> + 15744: <-0.003342, -0.006329, -0.004804> + 15745: <-0.003666, -0.006210, -0.004736> + 15746: <-0.003637, -0.006006, -0.005023> + 15747: <-0.003318, -0.006117, -0.005099> + 15748: <-0.003666, -0.006210, -0.004736> + 15749: <-0.003975, -0.006080, -0.004668> + 15750: <-0.003941, -0.005887, -0.004946> + 15751: <-0.003637, -0.006006, -0.005023> + 15752: <-0.003975, -0.006080, -0.004668> + 15753: <-0.004267, -0.005939, -0.004602> + 15754: <-0.004226, -0.005760, -0.004870> + 15755: <-0.003941, -0.005887, -0.004946> + 15756: <-0.004267, -0.005939, -0.004602> + 15757: <-0.004542, -0.005788, -0.004542> + 15758: <-0.004494, -0.005623, -0.004798> + 15759: <-0.004226, -0.005760, -0.004870> + 15760: <-0.004542, -0.005788, -0.004542> + 15761: <-0.004798, -0.005623, -0.004494> + 15762: <-0.004738, -0.005479, -0.004738> + 15763: <-0.004494, -0.005623, -0.004798> + 15764: <-0.004798, -0.005623, -0.004494> + 15765: <-0.005034, -0.005446, -0.004460> + 15766: <-0.004959, -0.005326, -0.004691> + 15767: <-0.004738, -0.005479, -0.004738> + 15768: < 0.004959, -0.005326, -0.004691> + 15769: < 0.004738, -0.005479, -0.004738> + 15770: < 0.004691, -0.005326, -0.004959> + 15771: < 0.004894, -0.005206, -0.004894> + 15772: < 0.004738, -0.005479, -0.004738> + 15773: < 0.004494, -0.005623, -0.004798> + 15774: < 0.004460, -0.005446, -0.005034> + 15775: < 0.004691, -0.005326, -0.004959> + 15776: < 0.004494, -0.005623, -0.004798> + 15777: < 0.004226, -0.005760, -0.004870> + 15778: < 0.004199, -0.005564, -0.005120> + 15779: < 0.004460, -0.005446, -0.005034> + 15780: < 0.004226, -0.005760, -0.004870> + 15781: < 0.003941, -0.005887, -0.004946> + 15782: < 0.003918, -0.005678, -0.005207> + 15783: < 0.004199, -0.005564, -0.005120> + 15784: < 0.003941, -0.005887, -0.004946> + 15785: < 0.003637, -0.006006, -0.005023> + 15786: < 0.003619, -0.005786, -0.005294> + 15787: < 0.003918, -0.005678, -0.005207> + 15788: < 0.003637, -0.006006, -0.005023> + 15789: < 0.003318, -0.006117, -0.005099> + 15790: < 0.003302, -0.005888, -0.005379> + 15791: < 0.003619, -0.005786, -0.005294> + 15792: < 0.003318, -0.006117, -0.005099> + 15793: < 0.002984, -0.006219, -0.005172> + 15794: < 0.002971, -0.005983, -0.005459> + 15795: < 0.003302, -0.005888, -0.005379> + 15796: < 0.002984, -0.006219, -0.005172> + 15797: < 0.002638, -0.006311, -0.005240> + 15798: < 0.002627, -0.006069, -0.005533> + 15799: < 0.002971, -0.005983, -0.005459> + 15800: < 0.002638, -0.006311, -0.005240> + 15801: < 0.002281, -0.006393, -0.005301> + 15802: < 0.002272, -0.006146, -0.005599> + 15803: < 0.002627, -0.006069, -0.005533> + 15804: < 0.002281, -0.006393, -0.005301> + 15805: < 0.001915, -0.006464, -0.005355> + 15806: < 0.001908, -0.006212, -0.005657> + 15807: < 0.002272, -0.006146, -0.005599> + 15808: < 0.001915, -0.006464, -0.005355> + 15809: < 0.001541, -0.006523, -0.005401> + 15810: < 0.001536, -0.006269, -0.005707> + 15811: < 0.001908, -0.006212, -0.005657> + 15812: < 0.001541, -0.006523, -0.005401> + 15813: < 0.001161, -0.006570, -0.005438> + 15814: < 0.001157, -0.006313, -0.005747> + 15815: < 0.001536, -0.006269, -0.005707> + 15816: < 0.001161, -0.006570, -0.005438> + 15817: < 0.000777, -0.006605, -0.005466> + 15818: < 0.000774, -0.006346, -0.005776> + 15819: < 0.001157, -0.006313, -0.005747> + 15820: < 0.000777, -0.006605, -0.005466> + 15821: < 0.000389, -0.006626, -0.005483> + 15822: < 0.000388, -0.006366, -0.005794> + 15823: < 0.000774, -0.006346, -0.005776> + 15824: < 0.000389, -0.006626, -0.005483> + 15825: <-0.000000, -0.006633, -0.005489> + 15826: <-0.000000, -0.006373, -0.005801> + 15827: < 0.000388, -0.006366, -0.005794> + 15828: <-0.000000, -0.006633, -0.005489> + 15829: <-0.000389, -0.006626, -0.005483> + 15830: <-0.000388, -0.006366, -0.005794> + 15831: <-0.000000, -0.006373, -0.005801> + 15832: <-0.000389, -0.006626, -0.005483> + 15833: <-0.000777, -0.006605, -0.005466> + 15834: <-0.000774, -0.006346, -0.005776> + 15835: <-0.000388, -0.006366, -0.005794> + 15836: <-0.000777, -0.006605, -0.005466> + 15837: <-0.001161, -0.006570, -0.005438> + 15838: <-0.001157, -0.006313, -0.005747> + 15839: <-0.000774, -0.006346, -0.005776> + 15840: <-0.001161, -0.006570, -0.005438> + 15841: <-0.001541, -0.006523, -0.005401> + 15842: <-0.001536, -0.006269, -0.005707> + 15843: <-0.001157, -0.006313, -0.005747> + 15844: <-0.001541, -0.006523, -0.005401> + 15845: <-0.001915, -0.006464, -0.005355> + 15846: <-0.001908, -0.006212, -0.005657> + 15847: <-0.001536, -0.006269, -0.005707> + 15848: <-0.001915, -0.006464, -0.005355> + 15849: <-0.002281, -0.006393, -0.005301> + 15850: <-0.002272, -0.006146, -0.005599> + 15851: <-0.001908, -0.006212, -0.005657> + 15852: <-0.002281, -0.006393, -0.005301> + 15853: <-0.002638, -0.006311, -0.005240> + 15854: <-0.002627, -0.006069, -0.005533> + 15855: <-0.002272, -0.006146, -0.005599> + 15856: <-0.002638, -0.006311, -0.005240> + 15857: <-0.002984, -0.006219, -0.005172> + 15858: <-0.002971, -0.005983, -0.005459> + 15859: <-0.002627, -0.006069, -0.005533> + 15860: <-0.002984, -0.006219, -0.005172> + 15861: <-0.003318, -0.006117, -0.005099> + 15862: <-0.003302, -0.005888, -0.005379> + 15863: <-0.002971, -0.005983, -0.005459> + 15864: <-0.003318, -0.006117, -0.005099> + 15865: <-0.003637, -0.006006, -0.005023> + 15866: <-0.003619, -0.005786, -0.005294> + 15867: <-0.003302, -0.005888, -0.005379> + 15868: <-0.003637, -0.006006, -0.005023> + 15869: <-0.003941, -0.005887, -0.004946> + 15870: <-0.003918, -0.005678, -0.005207> + 15871: <-0.003619, -0.005786, -0.005294> + 15872: <-0.003941, -0.005887, -0.004946> + 15873: <-0.004226, -0.005760, -0.004870> + 15874: <-0.004199, -0.005564, -0.005120> + 15875: <-0.003918, -0.005678, -0.005207> + 15876: <-0.004226, -0.005760, -0.004870> + 15877: <-0.004494, -0.005623, -0.004798> + 15878: <-0.004460, -0.005446, -0.005034> + 15879: <-0.004199, -0.005564, -0.005120> + 15880: <-0.004494, -0.005623, -0.004798> + 15881: <-0.004738, -0.005479, -0.004738> + 15882: <-0.004691, -0.005326, -0.004959> + 15883: <-0.004460, -0.005446, -0.005034> + 15884: <-0.004738, -0.005479, -0.004738> + 15885: <-0.004959, -0.005326, -0.004691> + 15886: <-0.004894, -0.005206, -0.004894> + 15887: <-0.004691, -0.005326, -0.004959> + 15888: < 0.005000, -0.005000, 0.005000> + 15889: < 0.004833, -0.005081, 0.005081> + 15890: < 0.004894, -0.005206, 0.004894> + 15891: < 0.005081, -0.005081, 0.004833> + 15892: < 0.004833, -0.005081, 0.005081> + 15893: < 0.004647, -0.005166, 0.005166> + 15894: < 0.004691, -0.005326, 0.004959> + 15895: < 0.004894, -0.005206, 0.004894> + 15896: < 0.004647, -0.005166, 0.005166> + 15897: < 0.004436, -0.005255, 0.005255> + 15898: < 0.004460, -0.005446, 0.005034> + 15899: < 0.004691, -0.005326, 0.004959> + 15900: < 0.004436, -0.005255, 0.005255> + 15901: < 0.004188, -0.005351, 0.005351> + 15902: < 0.004199, -0.005564, 0.005120> + 15903: < 0.004460, -0.005446, 0.005034> + 15904: < 0.004188, -0.005351, 0.005351> + 15905: < 0.003910, -0.005451, 0.005451> + 15906: < 0.003918, -0.005678, 0.005207> + 15907: < 0.004199, -0.005564, 0.005120> + 15908: < 0.003910, -0.005451, 0.005451> + 15909: < 0.003612, -0.005549, 0.005549> + 15910: < 0.003619, -0.005786, 0.005294> + 15911: < 0.003918, -0.005678, 0.005207> + 15912: < 0.003612, -0.005549, 0.005549> + 15913: < 0.003297, -0.005642, 0.005642> + 15914: < 0.003302, -0.005888, 0.005379> + 15915: < 0.003619, -0.005786, 0.005294> + 15916: < 0.003297, -0.005642, 0.005642> + 15917: < 0.002966, -0.005729, 0.005729> + 15918: < 0.002971, -0.005983, 0.005459> + 15919: < 0.003302, -0.005888, 0.005379> + 15920: < 0.002966, -0.005729, 0.005729> + 15921: < 0.002623, -0.005809, 0.005809> + 15922: < 0.002627, -0.006069, 0.005533> + 15923: < 0.002971, -0.005983, 0.005459> + 15924: < 0.002623, -0.005809, 0.005809> + 15925: < 0.002269, -0.005881, 0.005881> + 15926: < 0.002272, -0.006146, 0.005599> + 15927: < 0.002627, -0.006069, 0.005533> + 15928: < 0.002269, -0.005881, 0.005881> + 15929: < 0.001906, -0.005944, 0.005944> + 15930: < 0.001908, -0.006212, 0.005657> + 15931: < 0.002272, -0.006146, 0.005599> + 15932: < 0.001906, -0.005944, 0.005944> + 15933: < 0.001534, -0.005996, 0.005996> + 15934: < 0.001536, -0.006269, 0.005707> + 15935: < 0.001908, -0.006212, 0.005657> + 15936: < 0.001534, -0.005996, 0.005996> + 15937: < 0.001156, -0.006039, 0.006039> + 15938: < 0.001157, -0.006313, 0.005747> + 15939: < 0.001536, -0.006269, 0.005707> + 15940: < 0.001156, -0.006039, 0.006039> + 15941: < 0.000773, -0.006070, 0.006070> + 15942: < 0.000774, -0.006346, 0.005776> + 15943: < 0.001157, -0.006313, 0.005747> + 15944: < 0.000773, -0.006070, 0.006070> + 15945: < 0.000387, -0.006089, 0.006089> + 15946: < 0.000388, -0.006366, 0.005794> + 15947: < 0.000774, -0.006346, 0.005776> + 15948: < 0.000387, -0.006089, 0.006089> + 15949: <-0.000000, -0.006096, 0.006096> + 15950: <-0.000000, -0.006373, 0.005801> + 15951: < 0.000388, -0.006366, 0.005794> + 15952: <-0.000000, -0.006096, 0.006096> + 15953: <-0.000387, -0.006089, 0.006089> + 15954: <-0.000388, -0.006366, 0.005794> + 15955: <-0.000000, -0.006373, 0.005801> + 15956: <-0.000387, -0.006089, 0.006089> + 15957: <-0.000773, -0.006070, 0.006070> + 15958: <-0.000774, -0.006346, 0.005776> + 15959: <-0.000388, -0.006366, 0.005794> + 15960: <-0.000773, -0.006070, 0.006070> + 15961: <-0.001156, -0.006039, 0.006039> + 15962: <-0.001157, -0.006313, 0.005747> + 15963: <-0.000774, -0.006346, 0.005776> + 15964: <-0.001156, -0.006039, 0.006039> + 15965: <-0.001534, -0.005996, 0.005996> + 15966: <-0.001536, -0.006269, 0.005707> + 15967: <-0.001157, -0.006313, 0.005747> + 15968: <-0.001534, -0.005996, 0.005996> + 15969: <-0.001906, -0.005944, 0.005944> + 15970: <-0.001908, -0.006212, 0.005657> + 15971: <-0.001536, -0.006269, 0.005707> + 15972: <-0.001906, -0.005944, 0.005944> + 15973: <-0.002269, -0.005881, 0.005881> + 15974: <-0.002272, -0.006146, 0.005599> + 15975: <-0.001908, -0.006212, 0.005657> + 15976: <-0.002269, -0.005881, 0.005881> + 15977: <-0.002623, -0.005809, 0.005809> + 15978: <-0.002627, -0.006069, 0.005533> + 15979: <-0.002272, -0.006146, 0.005599> + 15980: <-0.002623, -0.005809, 0.005809> + 15981: <-0.002966, -0.005729, 0.005729> + 15982: <-0.002971, -0.005983, 0.005459> + 15983: <-0.002627, -0.006069, 0.005533> + 15984: <-0.002966, -0.005729, 0.005729> + 15985: <-0.003297, -0.005642, 0.005642> + 15986: <-0.003302, -0.005888, 0.005379> + 15987: <-0.002971, -0.005983, 0.005459> + 15988: <-0.003297, -0.005642, 0.005642> + 15989: <-0.003612, -0.005549, 0.005549> + 15990: <-0.003619, -0.005786, 0.005294> + 15991: <-0.003302, -0.005888, 0.005379> + 15992: <-0.003612, -0.005549, 0.005549> + 15993: <-0.003910, -0.005451, 0.005451> + 15994: <-0.003918, -0.005678, 0.005207> + 15995: <-0.003619, -0.005786, 0.005294> + 15996: <-0.003910, -0.005451, 0.005451> + 15997: <-0.004188, -0.005351, 0.005351> + 15998: <-0.004199, -0.005564, 0.005120> + 15999: <-0.003918, -0.005678, 0.005207> + 16000: <-0.004188, -0.005351, 0.005351> + 16001: <-0.004436, -0.005255, 0.005255> + 16002: <-0.004460, -0.005446, 0.005034> + 16003: <-0.004199, -0.005564, 0.005120> + 16004: <-0.004436, -0.005255, 0.005255> + 16005: <-0.004647, -0.005166, 0.005166> + 16006: <-0.004691, -0.005326, 0.004959> + 16007: <-0.004460, -0.005446, 0.005034> + 16008: <-0.004647, -0.005166, 0.005166> + 16009: <-0.004833, -0.005081, 0.005081> + 16010: <-0.004894, -0.005206, 0.004894> + 16011: <-0.004691, -0.005326, 0.004959> + 16012: <-0.004833, -0.005081, 0.005081> + 16013: <-0.005000, -0.005000, 0.005000> + 16014: <-0.005081, -0.005081, 0.004833> + 16015: <-0.004894, -0.005206, 0.004894> + 16016: <-0.004894, -0.005206, 0.004894> + 16017: <-0.005081, -0.005081, 0.004833> + 16018: <-0.005166, -0.005166, 0.004647> + 16019: <-0.004959, -0.005326, 0.004691> + 16020: <-0.004959, -0.005326, 0.004691> + 16021: <-0.005166, -0.005166, 0.004647> + 16022: <-0.005255, -0.005255, 0.004436> + 16023: <-0.005034, -0.005446, 0.004460> + 16024: <-0.005034, -0.005446, 0.004460> + 16025: <-0.005255, -0.005255, 0.004436> + 16026: <-0.005351, -0.005351, 0.004188> + 16027: <-0.005120, -0.005564, 0.004199> + 16028: <-0.005120, -0.005564, 0.004199> + 16029: <-0.005351, -0.005351, 0.004188> + 16030: <-0.005451, -0.005451, 0.003910> + 16031: <-0.005207, -0.005678, 0.003918> + 16032: <-0.005207, -0.005678, 0.003918> + 16033: <-0.005451, -0.005451, 0.003910> + 16034: <-0.005549, -0.005549, 0.003612> + 16035: <-0.005294, -0.005786, 0.003619> + 16036: <-0.005294, -0.005786, 0.003619> + 16037: <-0.005549, -0.005549, 0.003612> + 16038: <-0.005642, -0.005642, 0.003297> + 16039: <-0.005379, -0.005888, 0.003302> + 16040: <-0.005379, -0.005888, 0.003302> + 16041: <-0.005642, -0.005642, 0.003297> + 16042: <-0.005729, -0.005729, 0.002966> + 16043: <-0.005459, -0.005983, 0.002971> + 16044: <-0.005459, -0.005983, 0.002971> + 16045: <-0.005729, -0.005729, 0.002966> + 16046: <-0.005809, -0.005809, 0.002623> + 16047: <-0.005533, -0.006069, 0.002627> + 16048: <-0.005533, -0.006069, 0.002627> + 16049: <-0.005809, -0.005809, 0.002623> + 16050: <-0.005881, -0.005881, 0.002269> + 16051: <-0.005599, -0.006146, 0.002272> + 16052: <-0.005599, -0.006146, 0.002272> + 16053: <-0.005881, -0.005881, 0.002269> + 16054: <-0.005944, -0.005944, 0.001906> + 16055: <-0.005657, -0.006212, 0.001908> + 16056: <-0.005657, -0.006212, 0.001908> + 16057: <-0.005944, -0.005944, 0.001906> + 16058: <-0.005996, -0.005996, 0.001534> + 16059: <-0.005707, -0.006269, 0.001536> + 16060: <-0.005707, -0.006269, 0.001536> + 16061: <-0.005996, -0.005996, 0.001534> + 16062: <-0.006039, -0.006039, 0.001156> + 16063: <-0.005747, -0.006313, 0.001157> + 16064: <-0.005747, -0.006313, 0.001157> + 16065: <-0.006039, -0.006039, 0.001156> + 16066: <-0.006070, -0.006070, 0.000773> + 16067: <-0.005776, -0.006346, 0.000774> + 16068: <-0.005776, -0.006346, 0.000774> + 16069: <-0.006070, -0.006070, 0.000773> + 16070: <-0.006089, -0.006089, 0.000387> + 16071: <-0.005794, -0.006366, 0.000388> + 16072: <-0.005794, -0.006366, 0.000388> + 16073: <-0.006089, -0.006089, 0.000387> + 16074: <-0.006096, -0.006096, -0.000000> + 16075: <-0.005801, -0.006373, 0.000000> + 16076: <-0.005801, -0.006373, 0.000000> + 16077: <-0.006096, -0.006096, -0.000000> + 16078: <-0.006089, -0.006089, -0.000387> + 16079: <-0.005794, -0.006366, -0.000388> + 16080: <-0.005794, -0.006366, -0.000388> + 16081: <-0.006089, -0.006089, -0.000387> + 16082: <-0.006070, -0.006070, -0.000773> + 16083: <-0.005776, -0.006346, -0.000774> + 16084: <-0.005776, -0.006346, -0.000774> + 16085: <-0.006070, -0.006070, -0.000773> + 16086: <-0.006039, -0.006039, -0.001156> + 16087: <-0.005747, -0.006313, -0.001157> + 16088: <-0.005747, -0.006313, -0.001157> + 16089: <-0.006039, -0.006039, -0.001156> + 16090: <-0.005996, -0.005996, -0.001534> + 16091: <-0.005707, -0.006269, -0.001536> + 16092: <-0.005707, -0.006269, -0.001536> + 16093: <-0.005996, -0.005996, -0.001534> + 16094: <-0.005944, -0.005944, -0.001906> + 16095: <-0.005657, -0.006212, -0.001908> + 16096: <-0.005657, -0.006212, -0.001908> + 16097: <-0.005944, -0.005944, -0.001906> + 16098: <-0.005881, -0.005881, -0.002269> + 16099: <-0.005599, -0.006146, -0.002272> + 16100: <-0.005599, -0.006146, -0.002272> + 16101: <-0.005881, -0.005881, -0.002269> + 16102: <-0.005809, -0.005809, -0.002623> + 16103: <-0.005533, -0.006069, -0.002627> + 16104: <-0.005533, -0.006069, -0.002627> + 16105: <-0.005809, -0.005809, -0.002623> + 16106: <-0.005729, -0.005729, -0.002966> + 16107: <-0.005459, -0.005983, -0.002971> + 16108: <-0.005459, -0.005983, -0.002971> + 16109: <-0.005729, -0.005729, -0.002966> + 16110: <-0.005642, -0.005642, -0.003297> + 16111: <-0.005379, -0.005888, -0.003302> + 16112: <-0.005379, -0.005888, -0.003302> + 16113: <-0.005642, -0.005642, -0.003297> + 16114: <-0.005549, -0.005549, -0.003612> + 16115: <-0.005294, -0.005786, -0.003619> + 16116: <-0.005294, -0.005786, -0.003619> + 16117: <-0.005549, -0.005549, -0.003612> + 16118: <-0.005451, -0.005451, -0.003910> + 16119: <-0.005207, -0.005678, -0.003918> + 16120: <-0.005207, -0.005678, -0.003918> + 16121: <-0.005451, -0.005451, -0.003910> + 16122: <-0.005351, -0.005351, -0.004188> + 16123: <-0.005120, -0.005564, -0.004199> + 16124: <-0.005120, -0.005564, -0.004199> + 16125: <-0.005351, -0.005351, -0.004188> + 16126: <-0.005255, -0.005255, -0.004436> + 16127: <-0.005034, -0.005446, -0.004460> + 16128: <-0.005034, -0.005446, -0.004460> + 16129: <-0.005255, -0.005255, -0.004436> + 16130: <-0.005166, -0.005166, -0.004647> + 16131: <-0.004959, -0.005326, -0.004691> + 16132: <-0.004959, -0.005326, -0.004691> + 16133: <-0.005166, -0.005166, -0.004647> + 16134: <-0.005081, -0.005081, -0.004833> + 16135: <-0.004894, -0.005206, -0.004894> + 16136: <-0.004894, -0.005206, -0.004894> + 16137: <-0.005081, -0.005081, -0.004833> + 16138: <-0.005000, -0.005000, -0.005000> + 16139: <-0.004833, -0.005081, -0.005081> + 16140: <-0.004691, -0.005326, -0.004959> + 16141: <-0.004894, -0.005206, -0.004894> + 16142: <-0.004833, -0.005081, -0.005081> + 16143: <-0.004647, -0.005166, -0.005166> + 16144: <-0.004460, -0.005446, -0.005034> + 16145: <-0.004691, -0.005326, -0.004959> + 16146: <-0.004647, -0.005166, -0.005166> + 16147: <-0.004436, -0.005255, -0.005255> + 16148: <-0.004199, -0.005564, -0.005120> + 16149: <-0.004460, -0.005446, -0.005034> + 16150: <-0.004436, -0.005255, -0.005255> + 16151: <-0.004188, -0.005351, -0.005351> + 16152: <-0.003918, -0.005678, -0.005207> + 16153: <-0.004199, -0.005564, -0.005120> + 16154: <-0.004188, -0.005351, -0.005351> + 16155: <-0.003910, -0.005451, -0.005451> + 16156: <-0.003619, -0.005786, -0.005294> + 16157: <-0.003918, -0.005678, -0.005207> + 16158: <-0.003910, -0.005451, -0.005451> + 16159: <-0.003612, -0.005549, -0.005549> + 16160: <-0.003302, -0.005888, -0.005379> + 16161: <-0.003619, -0.005786, -0.005294> + 16162: <-0.003612, -0.005549, -0.005549> + 16163: <-0.003297, -0.005642, -0.005642> + 16164: <-0.002971, -0.005983, -0.005459> + 16165: <-0.003302, -0.005888, -0.005379> + 16166: <-0.003297, -0.005642, -0.005642> + 16167: <-0.002966, -0.005729, -0.005729> + 16168: <-0.002627, -0.006069, -0.005533> + 16169: <-0.002971, -0.005983, -0.005459> + 16170: <-0.002966, -0.005729, -0.005729> + 16171: <-0.002623, -0.005809, -0.005809> + 16172: <-0.002272, -0.006146, -0.005599> + 16173: <-0.002627, -0.006069, -0.005533> + 16174: <-0.002623, -0.005809, -0.005809> + 16175: <-0.002269, -0.005881, -0.005881> + 16176: <-0.001908, -0.006212, -0.005657> + 16177: <-0.002272, -0.006146, -0.005599> + 16178: <-0.002269, -0.005881, -0.005881> + 16179: <-0.001906, -0.005944, -0.005944> + 16180: <-0.001536, -0.006269, -0.005707> + 16181: <-0.001908, -0.006212, -0.005657> + 16182: <-0.001906, -0.005944, -0.005944> + 16183: <-0.001534, -0.005996, -0.005996> + 16184: <-0.001157, -0.006313, -0.005747> + 16185: <-0.001536, -0.006269, -0.005707> + 16186: <-0.001534, -0.005996, -0.005996> + 16187: <-0.001156, -0.006039, -0.006039> + 16188: <-0.000774, -0.006346, -0.005776> + 16189: <-0.001157, -0.006313, -0.005747> + 16190: <-0.001156, -0.006039, -0.006039> + 16191: <-0.000773, -0.006070, -0.006070> + 16192: <-0.000388, -0.006366, -0.005794> + 16193: <-0.000774, -0.006346, -0.005776> + 16194: <-0.000773, -0.006070, -0.006070> + 16195: <-0.000387, -0.006089, -0.006089> + 16196: <-0.000000, -0.006373, -0.005801> + 16197: <-0.000388, -0.006366, -0.005794> + 16198: <-0.000387, -0.006089, -0.006089> + 16199: < 0.000000, -0.006096, -0.006096> + 16200: < 0.000388, -0.006366, -0.005794> + 16201: <-0.000000, -0.006373, -0.005801> + 16202: < 0.000000, -0.006096, -0.006096> + 16203: < 0.000387, -0.006089, -0.006089> + 16204: < 0.000774, -0.006346, -0.005776> + 16205: < 0.000388, -0.006366, -0.005794> + 16206: < 0.000387, -0.006089, -0.006089> + 16207: < 0.000773, -0.006070, -0.006070> + 16208: < 0.001157, -0.006313, -0.005747> + 16209: < 0.000774, -0.006346, -0.005776> + 16210: < 0.000773, -0.006070, -0.006070> + 16211: < 0.001156, -0.006039, -0.006039> + 16212: < 0.001536, -0.006269, -0.005707> + 16213: < 0.001157, -0.006313, -0.005747> + 16214: < 0.001156, -0.006039, -0.006039> + 16215: < 0.001534, -0.005996, -0.005996> + 16216: < 0.001908, -0.006212, -0.005657> + 16217: < 0.001536, -0.006269, -0.005707> + 16218: < 0.001534, -0.005996, -0.005996> + 16219: < 0.001906, -0.005944, -0.005944> + 16220: < 0.002272, -0.006146, -0.005599> + 16221: < 0.001908, -0.006212, -0.005657> + 16222: < 0.001906, -0.005944, -0.005944> + 16223: < 0.002269, -0.005881, -0.005881> + 16224: < 0.002627, -0.006069, -0.005533> + 16225: < 0.002272, -0.006146, -0.005599> + 16226: < 0.002269, -0.005881, -0.005881> + 16227: < 0.002623, -0.005809, -0.005809> + 16228: < 0.002971, -0.005983, -0.005459> + 16229: < 0.002627, -0.006069, -0.005533> + 16230: < 0.002623, -0.005809, -0.005809> + 16231: < 0.002966, -0.005729, -0.005729> + 16232: < 0.003302, -0.005888, -0.005379> + 16233: < 0.002971, -0.005983, -0.005459> + 16234: < 0.002966, -0.005729, -0.005729> + 16235: < 0.003297, -0.005642, -0.005642> + 16236: < 0.003619, -0.005786, -0.005294> + 16237: < 0.003302, -0.005888, -0.005379> + 16238: < 0.003297, -0.005642, -0.005642> + 16239: < 0.003612, -0.005549, -0.005549> + 16240: < 0.003918, -0.005678, -0.005207> + 16241: < 0.003619, -0.005786, -0.005294> + 16242: < 0.003612, -0.005549, -0.005549> + 16243: < 0.003910, -0.005451, -0.005451> + 16244: < 0.004199, -0.005564, -0.005120> + 16245: < 0.003918, -0.005678, -0.005207> + 16246: < 0.003910, -0.005451, -0.005451> + 16247: < 0.004188, -0.005351, -0.005351> + 16248: < 0.004460, -0.005446, -0.005034> + 16249: < 0.004199, -0.005564, -0.005120> + 16250: < 0.004188, -0.005351, -0.005351> + 16251: < 0.004436, -0.005255, -0.005255> + 16252: < 0.004691, -0.005326, -0.004959> + 16253: < 0.004460, -0.005446, -0.005034> + 16254: < 0.004436, -0.005255, -0.005255> + 16255: < 0.004647, -0.005166, -0.005166> + 16256: < 0.004894, -0.005206, -0.004894> + 16257: < 0.004691, -0.005326, -0.004959> + 16258: < 0.004647, -0.005166, -0.005166> + 16259: < 0.004833, -0.005081, -0.005081> + 16260: < 0.005081, -0.005081, -0.004833> + 16261: < 0.004894, -0.005206, -0.004894> + 16262: < 0.004833, -0.005081, -0.005081> + 16263: < 0.005000, -0.005000, -0.005000> + 16264: < 0.005166, -0.005166, -0.004647> + 16265: < 0.004959, -0.005326, -0.004691> + 16266: < 0.004894, -0.005206, -0.004894> + 16267: < 0.005081, -0.005081, -0.004833> + 16268: < 0.005255, -0.005255, -0.004436> + 16269: < 0.005034, -0.005446, -0.004460> + 16270: < 0.004959, -0.005326, -0.004691> + 16271: < 0.005166, -0.005166, -0.004647> + 16272: < 0.005351, -0.005351, -0.004188> + 16273: < 0.005120, -0.005564, -0.004199> + 16274: < 0.005034, -0.005446, -0.004460> + 16275: < 0.005255, -0.005255, -0.004436> + 16276: < 0.005451, -0.005451, -0.003910> + 16277: < 0.005207, -0.005678, -0.003918> + 16278: < 0.005120, -0.005564, -0.004199> + 16279: < 0.005351, -0.005351, -0.004188> + 16280: < 0.005549, -0.005549, -0.003612> + 16281: < 0.005294, -0.005786, -0.003619> + 16282: < 0.005207, -0.005678, -0.003918> + 16283: < 0.005451, -0.005451, -0.003910> + 16284: < 0.005642, -0.005642, -0.003297> + 16285: < 0.005379, -0.005888, -0.003302> + 16286: < 0.005294, -0.005786, -0.003619> + 16287: < 0.005549, -0.005549, -0.003612> + 16288: < 0.005729, -0.005729, -0.002966> + 16289: < 0.005459, -0.005983, -0.002971> + 16290: < 0.005379, -0.005888, -0.003302> + 16291: < 0.005642, -0.005642, -0.003297> + 16292: < 0.005809, -0.005809, -0.002623> + 16293: < 0.005533, -0.006069, -0.002627> + 16294: < 0.005459, -0.005983, -0.002971> + 16295: < 0.005729, -0.005729, -0.002966> + 16296: < 0.005881, -0.005881, -0.002269> + 16297: < 0.005599, -0.006146, -0.002272> + 16298: < 0.005533, -0.006069, -0.002627> + 16299: < 0.005809, -0.005809, -0.002623> + 16300: < 0.005944, -0.005944, -0.001906> + 16301: < 0.005657, -0.006212, -0.001908> + 16302: < 0.005599, -0.006146, -0.002272> + 16303: < 0.005881, -0.005881, -0.002269> + 16304: < 0.005996, -0.005996, -0.001534> + 16305: < 0.005707, -0.006269, -0.001536> + 16306: < 0.005657, -0.006212, -0.001908> + 16307: < 0.005944, -0.005944, -0.001906> + 16308: < 0.006039, -0.006039, -0.001156> + 16309: < 0.005747, -0.006313, -0.001157> + 16310: < 0.005707, -0.006269, -0.001536> + 16311: < 0.005996, -0.005996, -0.001534> + 16312: < 0.006070, -0.006070, -0.000773> + 16313: < 0.005776, -0.006346, -0.000774> + 16314: < 0.005747, -0.006313, -0.001157> + 16315: < 0.006039, -0.006039, -0.001156> + 16316: < 0.006089, -0.006089, -0.000387> + 16317: < 0.005794, -0.006366, -0.000388> + 16318: < 0.005776, -0.006346, -0.000774> + 16319: < 0.006070, -0.006070, -0.000773> + 16320: < 0.006096, -0.006096, 0.000000> + 16321: < 0.005801, -0.006373, 0.000000> + 16322: < 0.005794, -0.006366, -0.000388> + 16323: < 0.006089, -0.006089, -0.000387> + 16324: < 0.006089, -0.006089, 0.000387> + 16325: < 0.005794, -0.006366, 0.000388> + 16326: < 0.005801, -0.006373, 0.000000> + 16327: < 0.006096, -0.006096, 0.000000> + 16328: < 0.006070, -0.006070, 0.000773> + 16329: < 0.005776, -0.006346, 0.000774> + 16330: < 0.005794, -0.006366, 0.000388> + 16331: < 0.006089, -0.006089, 0.000387> + 16332: < 0.006039, -0.006039, 0.001156> + 16333: < 0.005747, -0.006313, 0.001157> + 16334: < 0.005776, -0.006346, 0.000774> + 16335: < 0.006070, -0.006070, 0.000773> + 16336: < 0.005996, -0.005996, 0.001534> + 16337: < 0.005707, -0.006269, 0.001536> + 16338: < 0.005747, -0.006313, 0.001157> + 16339: < 0.006039, -0.006039, 0.001156> + 16340: < 0.005944, -0.005944, 0.001906> + 16341: < 0.005657, -0.006212, 0.001908> + 16342: < 0.005707, -0.006269, 0.001536> + 16343: < 0.005996, -0.005996, 0.001534> + 16344: < 0.005881, -0.005881, 0.002269> + 16345: < 0.005599, -0.006146, 0.002272> + 16346: < 0.005657, -0.006212, 0.001908> + 16347: < 0.005944, -0.005944, 0.001906> + 16348: < 0.005809, -0.005809, 0.002623> + 16349: < 0.005533, -0.006069, 0.002627> + 16350: < 0.005599, -0.006146, 0.002272> + 16351: < 0.005881, -0.005881, 0.002269> + 16352: < 0.005729, -0.005729, 0.002966> + 16353: < 0.005459, -0.005983, 0.002971> + 16354: < 0.005533, -0.006069, 0.002627> + 16355: < 0.005809, -0.005809, 0.002623> + 16356: < 0.005642, -0.005642, 0.003297> + 16357: < 0.005379, -0.005888, 0.003302> + 16358: < 0.005459, -0.005983, 0.002971> + 16359: < 0.005729, -0.005729, 0.002966> + 16360: < 0.005549, -0.005549, 0.003612> + 16361: < 0.005294, -0.005786, 0.003619> + 16362: < 0.005379, -0.005888, 0.003302> + 16363: < 0.005642, -0.005642, 0.003297> + 16364: < 0.005451, -0.005451, 0.003910> + 16365: < 0.005207, -0.005678, 0.003918> + 16366: < 0.005294, -0.005786, 0.003619> + 16367: < 0.005549, -0.005549, 0.003612> + 16368: < 0.005351, -0.005351, 0.004188> + 16369: < 0.005120, -0.005564, 0.004199> + 16370: < 0.005207, -0.005678, 0.003918> + 16371: < 0.005451, -0.005451, 0.003910> + 16372: < 0.005255, -0.005255, 0.004436> + 16373: < 0.005034, -0.005446, 0.004460> + 16374: < 0.005120, -0.005564, 0.004199> + 16375: < 0.005351, -0.005351, 0.004188> + 16376: < 0.005166, -0.005166, 0.004647> + 16377: < 0.004959, -0.005326, 0.004691> + 16378: < 0.005034, -0.005446, 0.004460> + 16379: < 0.005255, -0.005255, 0.004436> + 16380: < 0.005081, -0.005081, 0.004833> + 16381: < 0.004894, -0.005206, 0.004894> + 16382: < 0.004959, -0.005326, 0.004691> + 16383: < 0.005166, -0.005166, 0.004647> + 16384: <-0.005206, -0.004894, 0.004894> + 16385: <-0.005326, -0.004691, 0.004959> + 16386: <-0.005479, -0.004738, 0.004738> + 16387: <-0.005326, -0.004959, 0.004691> + 16388: <-0.005326, -0.004691, 0.004959> + 16389: <-0.005446, -0.004460, 0.005034> + 16390: <-0.005623, -0.004494, 0.004798> + 16391: <-0.005479, -0.004738, 0.004738> + 16392: <-0.005446, -0.004460, 0.005034> + 16393: <-0.005564, -0.004199, 0.005120> + 16394: <-0.005760, -0.004226, 0.004870> + 16395: <-0.005623, -0.004494, 0.004798> + 16396: <-0.005564, -0.004199, 0.005120> + 16397: <-0.005678, -0.003918, 0.005207> + 16398: <-0.005887, -0.003941, 0.004946> + 16399: <-0.005760, -0.004226, 0.004870> + 16400: <-0.005678, -0.003918, 0.005207> + 16401: <-0.005786, -0.003619, 0.005294> + 16402: <-0.006006, -0.003637, 0.005023> + 16403: <-0.005887, -0.003941, 0.004946> + 16404: <-0.005786, -0.003619, 0.005294> + 16405: <-0.005888, -0.003302, 0.005379> + 16406: <-0.006117, -0.003318, 0.005099> + 16407: <-0.006006, -0.003637, 0.005023> + 16408: <-0.005888, -0.003302, 0.005379> + 16409: <-0.005983, -0.002971, 0.005459> + 16410: <-0.006219, -0.002984, 0.005172> + 16411: <-0.006117, -0.003318, 0.005099> + 16412: <-0.005983, -0.002971, 0.005459> + 16413: <-0.006069, -0.002627, 0.005533> + 16414: <-0.006311, -0.002638, 0.005240> + 16415: <-0.006219, -0.002984, 0.005172> + 16416: <-0.006069, -0.002627, 0.005533> + 16417: <-0.006146, -0.002272, 0.005599> + 16418: <-0.006393, -0.002281, 0.005301> + 16419: <-0.006311, -0.002638, 0.005240> + 16420: <-0.006146, -0.002272, 0.005599> + 16421: <-0.006212, -0.001908, 0.005657> + 16422: <-0.006464, -0.001915, 0.005355> + 16423: <-0.006393, -0.002281, 0.005301> + 16424: <-0.006212, -0.001908, 0.005657> + 16425: <-0.006269, -0.001536, 0.005707> + 16426: <-0.006523, -0.001541, 0.005401> + 16427: <-0.006464, -0.001915, 0.005355> + 16428: <-0.006269, -0.001536, 0.005707> + 16429: <-0.006313, -0.001157, 0.005747> + 16430: <-0.006570, -0.001161, 0.005438> + 16431: <-0.006523, -0.001541, 0.005401> + 16432: <-0.006313, -0.001157, 0.005747> + 16433: <-0.006346, -0.000774, 0.005776> + 16434: <-0.006605, -0.000777, 0.005466> + 16435: <-0.006570, -0.001161, 0.005438> + 16436: <-0.006346, -0.000774, 0.005776> + 16437: <-0.006366, -0.000388, 0.005794> + 16438: <-0.006626, -0.000389, 0.005483> + 16439: <-0.006605, -0.000777, 0.005466> + 16440: <-0.006366, -0.000388, 0.005794> + 16441: <-0.006373, 0.000000, 0.005801> + 16442: <-0.006633, -0.000000, 0.005489> + 16443: <-0.006626, -0.000389, 0.005483> + 16444: <-0.006373, 0.000000, 0.005801> + 16445: <-0.006366, 0.000388, 0.005794> + 16446: <-0.006626, 0.000389, 0.005483> + 16447: <-0.006633, -0.000000, 0.005489> + 16448: <-0.006366, 0.000388, 0.005794> + 16449: <-0.006346, 0.000774, 0.005776> + 16450: <-0.006605, 0.000777, 0.005466> + 16451: <-0.006626, 0.000389, 0.005483> + 16452: <-0.006346, 0.000774, 0.005776> + 16453: <-0.006313, 0.001157, 0.005747> + 16454: <-0.006570, 0.001161, 0.005438> + 16455: <-0.006605, 0.000777, 0.005466> + 16456: <-0.006313, 0.001157, 0.005747> + 16457: <-0.006269, 0.001536, 0.005707> + 16458: <-0.006523, 0.001541, 0.005401> + 16459: <-0.006570, 0.001161, 0.005438> + 16460: <-0.006269, 0.001536, 0.005707> + 16461: <-0.006212, 0.001908, 0.005657> + 16462: <-0.006464, 0.001915, 0.005355> + 16463: <-0.006523, 0.001541, 0.005401> + 16464: <-0.006212, 0.001908, 0.005657> + 16465: <-0.006146, 0.002272, 0.005599> + 16466: <-0.006393, 0.002281, 0.005301> + 16467: <-0.006464, 0.001915, 0.005355> + 16468: <-0.006146, 0.002272, 0.005599> + 16469: <-0.006069, 0.002627, 0.005533> + 16470: <-0.006311, 0.002638, 0.005240> + 16471: <-0.006393, 0.002281, 0.005301> + 16472: <-0.006069, 0.002627, 0.005533> + 16473: <-0.005983, 0.002971, 0.005459> + 16474: <-0.006219, 0.002984, 0.005172> + 16475: <-0.006311, 0.002638, 0.005240> + 16476: <-0.005983, 0.002971, 0.005459> + 16477: <-0.005888, 0.003302, 0.005379> + 16478: <-0.006117, 0.003318, 0.005099> + 16479: <-0.006219, 0.002984, 0.005172> + 16480: <-0.005888, 0.003302, 0.005379> + 16481: <-0.005786, 0.003619, 0.005294> + 16482: <-0.006006, 0.003637, 0.005023> + 16483: <-0.006117, 0.003318, 0.005099> + 16484: <-0.005786, 0.003619, 0.005294> + 16485: <-0.005678, 0.003918, 0.005207> + 16486: <-0.005887, 0.003941, 0.004946> + 16487: <-0.006006, 0.003637, 0.005023> + 16488: <-0.005678, 0.003918, 0.005207> + 16489: <-0.005564, 0.004199, 0.005120> + 16490: <-0.005760, 0.004226, 0.004870> + 16491: <-0.005887, 0.003941, 0.004946> + 16492: <-0.005564, 0.004199, 0.005120> + 16493: <-0.005446, 0.004460, 0.005034> + 16494: <-0.005623, 0.004494, 0.004798> + 16495: <-0.005760, 0.004226, 0.004870> + 16496: <-0.005446, 0.004460, 0.005034> + 16497: <-0.005326, 0.004691, 0.004959> + 16498: <-0.005479, 0.004738, 0.004738> + 16499: <-0.005623, 0.004494, 0.004798> + 16500: <-0.005326, 0.004691, 0.004959> + 16501: <-0.005206, 0.004894, 0.004894> + 16502: <-0.005326, 0.004959, 0.004691> + 16503: <-0.005479, 0.004738, 0.004738> + 16504: <-0.005326, -0.004959, 0.004691> + 16505: <-0.005479, -0.004738, 0.004738> + 16506: <-0.005623, -0.004798, 0.004494> + 16507: <-0.005446, -0.005034, 0.004460> + 16508: <-0.005479, -0.004738, 0.004738> + 16509: <-0.005623, -0.004494, 0.004798> + 16510: <-0.005788, -0.004542, 0.004542> + 16511: <-0.005623, -0.004798, 0.004494> + 16512: <-0.005623, -0.004494, 0.004798> + 16513: <-0.005760, -0.004226, 0.004870> + 16514: <-0.005939, -0.004267, 0.004602> + 16515: <-0.005788, -0.004542, 0.004542> + 16516: <-0.005760, -0.004226, 0.004870> + 16517: <-0.005887, -0.003941, 0.004946> + 16518: <-0.006080, -0.003975, 0.004668> + 16519: <-0.005939, -0.004267, 0.004602> + 16520: <-0.005887, -0.003941, 0.004946> + 16521: <-0.006006, -0.003637, 0.005023> + 16522: <-0.006210, -0.003666, 0.004736> + 16523: <-0.006080, -0.003975, 0.004668> + 16524: <-0.006006, -0.003637, 0.005023> + 16525: <-0.006117, -0.003318, 0.005099> + 16526: <-0.006329, -0.003342, 0.004804> + 16527: <-0.006210, -0.003666, 0.004736> + 16528: <-0.006117, -0.003318, 0.005099> + 16529: <-0.006219, -0.002984, 0.005172> + 16530: <-0.006439, -0.003004, 0.004870> + 16531: <-0.006329, -0.003342, 0.004804> + 16532: <-0.006219, -0.002984, 0.005172> + 16533: <-0.006311, -0.002638, 0.005240> + 16534: <-0.006537, -0.002655, 0.004931> + 16535: <-0.006439, -0.003004, 0.004870> + 16536: <-0.006311, -0.002638, 0.005240> + 16537: <-0.006393, -0.002281, 0.005301> + 16538: <-0.006623, -0.002295, 0.004987> + 16539: <-0.006537, -0.002655, 0.004931> + 16540: <-0.006393, -0.002281, 0.005301> + 16541: <-0.006464, -0.001915, 0.005355> + 16542: <-0.006698, -0.001926, 0.005037> + 16543: <-0.006623, -0.002295, 0.004987> + 16544: <-0.006464, -0.001915, 0.005355> + 16545: <-0.006523, -0.001541, 0.005401> + 16546: <-0.006761, -0.001550, 0.005080> + 16547: <-0.006698, -0.001926, 0.005037> + 16548: <-0.006523, -0.001541, 0.005401> + 16549: <-0.006570, -0.001161, 0.005438> + 16550: <-0.006810, -0.001168, 0.005114> + 16551: <-0.006761, -0.001550, 0.005080> + 16552: <-0.006570, -0.001161, 0.005438> + 16553: <-0.006605, -0.000777, 0.005466> + 16554: <-0.006846, -0.000781, 0.005140> + 16555: <-0.006810, -0.001168, 0.005114> + 16556: <-0.006605, -0.000777, 0.005466> + 16557: <-0.006626, -0.000389, 0.005483> + 16558: <-0.006868, -0.000391, 0.005156> + 16559: <-0.006846, -0.000781, 0.005140> + 16560: <-0.006626, -0.000389, 0.005483> + 16561: <-0.006633, -0.000000, 0.005489> + 16562: <-0.006875, -0.000000, 0.005162> + 16563: <-0.006868, -0.000391, 0.005156> + 16564: <-0.006633, -0.000000, 0.005489> + 16565: <-0.006626, 0.000389, 0.005483> + 16566: <-0.006868, 0.000391, 0.005156> + 16567: <-0.006875, -0.000000, 0.005162> + 16568: <-0.006626, 0.000389, 0.005483> + 16569: <-0.006605, 0.000777, 0.005466> + 16570: <-0.006846, 0.000781, 0.005140> + 16571: <-0.006868, 0.000391, 0.005156> + 16572: <-0.006605, 0.000777, 0.005466> + 16573: <-0.006570, 0.001161, 0.005438> + 16574: <-0.006810, 0.001168, 0.005114> + 16575: <-0.006846, 0.000781, 0.005140> + 16576: <-0.006570, 0.001161, 0.005438> + 16577: <-0.006523, 0.001541, 0.005401> + 16578: <-0.006761, 0.001550, 0.005080> + 16579: <-0.006810, 0.001168, 0.005114> + 16580: <-0.006523, 0.001541, 0.005401> + 16581: <-0.006464, 0.001915, 0.005355> + 16582: <-0.006698, 0.001926, 0.005037> + 16583: <-0.006761, 0.001550, 0.005080> + 16584: <-0.006464, 0.001915, 0.005355> + 16585: <-0.006393, 0.002281, 0.005301> + 16586: <-0.006623, 0.002295, 0.004987> + 16587: <-0.006698, 0.001926, 0.005037> + 16588: <-0.006393, 0.002281, 0.005301> + 16589: <-0.006311, 0.002638, 0.005240> + 16590: <-0.006537, 0.002655, 0.004931> + 16591: <-0.006623, 0.002295, 0.004987> + 16592: <-0.006311, 0.002638, 0.005240> + 16593: <-0.006219, 0.002984, 0.005172> + 16594: <-0.006439, 0.003004, 0.004870> + 16595: <-0.006537, 0.002655, 0.004931> + 16596: <-0.006219, 0.002984, 0.005172> + 16597: <-0.006117, 0.003318, 0.005099> + 16598: <-0.006329, 0.003342, 0.004804> + 16599: <-0.006439, 0.003004, 0.004870> + 16600: <-0.006117, 0.003318, 0.005099> + 16601: <-0.006006, 0.003637, 0.005023> + 16602: <-0.006210, 0.003666, 0.004736> + 16603: <-0.006329, 0.003342, 0.004804> + 16604: <-0.006006, 0.003637, 0.005023> + 16605: <-0.005887, 0.003941, 0.004946> + 16606: <-0.006080, 0.003975, 0.004668> + 16607: <-0.006210, 0.003666, 0.004736> + 16608: <-0.005887, 0.003941, 0.004946> + 16609: <-0.005760, 0.004226, 0.004870> + 16610: <-0.005939, 0.004267, 0.004602> + 16611: <-0.006080, 0.003975, 0.004668> + 16612: <-0.005760, 0.004226, 0.004870> + 16613: <-0.005623, 0.004494, 0.004798> + 16614: <-0.005788, 0.004542, 0.004542> + 16615: <-0.005939, 0.004267, 0.004602> + 16616: <-0.005623, 0.004494, 0.004798> + 16617: <-0.005479, 0.004738, 0.004738> + 16618: <-0.005623, 0.004798, 0.004494> + 16619: <-0.005788, 0.004542, 0.004542> + 16620: <-0.005479, 0.004738, 0.004738> + 16621: <-0.005326, 0.004959, 0.004691> + 16622: <-0.005446, 0.005034, 0.004460> + 16623: <-0.005623, 0.004798, 0.004494> + 16624: <-0.005446, -0.005034, 0.004460> + 16625: <-0.005623, -0.004798, 0.004494> + 16626: <-0.005760, -0.004870, 0.004226> + 16627: <-0.005564, -0.005120, 0.004199> + 16628: <-0.005623, -0.004798, 0.004494> + 16629: <-0.005788, -0.004542, 0.004542> + 16630: <-0.005939, -0.004602, 0.004267> + 16631: <-0.005760, -0.004870, 0.004226> + 16632: <-0.005788, -0.004542, 0.004542> + 16633: <-0.005939, -0.004267, 0.004602> + 16634: <-0.006105, -0.004318, 0.004318> + 16635: <-0.005939, -0.004602, 0.004267> + 16636: <-0.005939, -0.004267, 0.004602> + 16637: <-0.006080, -0.003975, 0.004668> + 16638: <-0.006257, -0.004017, 0.004374> + 16639: <-0.006105, -0.004318, 0.004318> + 16640: <-0.006080, -0.003975, 0.004668> + 16641: <-0.006210, -0.003666, 0.004736> + 16642: <-0.006397, -0.003701, 0.004434> + 16643: <-0.006257, -0.004017, 0.004374> + 16644: <-0.006210, -0.003666, 0.004736> + 16645: <-0.006329, -0.003342, 0.004804> + 16646: <-0.006525, -0.003372, 0.004494> + 16647: <-0.006397, -0.003701, 0.004434> + 16648: <-0.006329, -0.003342, 0.004804> + 16649: <-0.006439, -0.003004, 0.004870> + 16650: <-0.006641, -0.003030, 0.004553> + 16651: <-0.006525, -0.003372, 0.004494> + 16652: <-0.006439, -0.003004, 0.004870> + 16653: <-0.006537, -0.002655, 0.004931> + 16654: <-0.006745, -0.002676, 0.004609> + 16655: <-0.006641, -0.003030, 0.004553> + 16656: <-0.006537, -0.002655, 0.004931> + 16657: <-0.006623, -0.002295, 0.004987> + 16658: <-0.006836, -0.002313, 0.004659> + 16659: <-0.006745, -0.002676, 0.004609> + 16660: <-0.006623, -0.002295, 0.004987> + 16661: <-0.006698, -0.001926, 0.005037> + 16662: <-0.006915, -0.001940, 0.004705> + 16663: <-0.006836, -0.002313, 0.004659> + 16664: <-0.006698, -0.001926, 0.005037> + 16665: <-0.006761, -0.001550, 0.005080> + 16666: <-0.006980, -0.001561, 0.004744> + 16667: <-0.006915, -0.001940, 0.004705> + 16668: <-0.006761, -0.001550, 0.005080> + 16669: <-0.006810, -0.001168, 0.005114> + 16670: <-0.007032, -0.001176, 0.004776> + 16671: <-0.006980, -0.001561, 0.004744> + 16672: <-0.006810, -0.001168, 0.005114> + 16673: <-0.006846, -0.000781, 0.005140> + 16674: <-0.007069, -0.000786, 0.004800> + 16675: <-0.007032, -0.001176, 0.004776> + 16676: <-0.006846, -0.000781, 0.005140> + 16677: <-0.006868, -0.000391, 0.005156> + 16678: <-0.007092, -0.000394, 0.004815> + 16679: <-0.007069, -0.000786, 0.004800> + 16680: <-0.006868, -0.000391, 0.005156> + 16681: <-0.006875, -0.000000, 0.005162> + 16682: <-0.007099, -0.000000, 0.004820> + 16683: <-0.007092, -0.000394, 0.004815> + 16684: <-0.006875, -0.000000, 0.005162> + 16685: <-0.006868, 0.000391, 0.005156> + 16686: <-0.007092, 0.000394, 0.004815> + 16687: <-0.007099, -0.000000, 0.004820> + 16688: <-0.006868, 0.000391, 0.005156> + 16689: <-0.006846, 0.000781, 0.005140> + 16690: <-0.007069, 0.000786, 0.004800> + 16691: <-0.007092, 0.000394, 0.004815> + 16692: <-0.006846, 0.000781, 0.005140> + 16693: <-0.006810, 0.001168, 0.005114> + 16694: <-0.007032, 0.001176, 0.004776> + 16695: <-0.007069, 0.000786, 0.004800> + 16696: <-0.006810, 0.001168, 0.005114> + 16697: <-0.006761, 0.001550, 0.005080> + 16698: <-0.006980, 0.001561, 0.004744> + 16699: <-0.007032, 0.001176, 0.004776> + 16700: <-0.006761, 0.001550, 0.005080> + 16701: <-0.006698, 0.001926, 0.005037> + 16702: <-0.006915, 0.001940, 0.004705> + 16703: <-0.006980, 0.001561, 0.004744> + 16704: <-0.006698, 0.001926, 0.005037> + 16705: <-0.006623, 0.002295, 0.004987> + 16706: <-0.006836, 0.002313, 0.004659> + 16707: <-0.006915, 0.001940, 0.004705> + 16708: <-0.006623, 0.002295, 0.004987> + 16709: <-0.006537, 0.002655, 0.004931> + 16710: <-0.006745, 0.002676, 0.004609> + 16711: <-0.006836, 0.002313, 0.004659> + 16712: <-0.006537, 0.002655, 0.004931> + 16713: <-0.006439, 0.003004, 0.004870> + 16714: <-0.006641, 0.003030, 0.004553> + 16715: <-0.006745, 0.002676, 0.004609> + 16716: <-0.006439, 0.003004, 0.004870> + 16717: <-0.006329, 0.003342, 0.004804> + 16718: <-0.006525, 0.003372, 0.004494> + 16719: <-0.006641, 0.003030, 0.004553> + 16720: <-0.006329, 0.003342, 0.004804> + 16721: <-0.006210, 0.003666, 0.004736> + 16722: <-0.006397, 0.003701, 0.004434> + 16723: <-0.006525, 0.003372, 0.004494> + 16724: <-0.006210, 0.003666, 0.004736> + 16725: <-0.006080, 0.003975, 0.004668> + 16726: <-0.006257, 0.004017, 0.004374> + 16727: <-0.006397, 0.003701, 0.004434> + 16728: <-0.006080, 0.003975, 0.004668> + 16729: <-0.005939, 0.004267, 0.004602> + 16730: <-0.006105, 0.004318, 0.004318> + 16731: <-0.006257, 0.004017, 0.004374> + 16732: <-0.005939, 0.004267, 0.004602> + 16733: <-0.005788, 0.004542, 0.004542> + 16734: <-0.005939, 0.004602, 0.004267> + 16735: <-0.006105, 0.004318, 0.004318> + 16736: <-0.005788, 0.004542, 0.004542> + 16737: <-0.005623, 0.004798, 0.004494> + 16738: <-0.005760, 0.004870, 0.004226> + 16739: <-0.005939, 0.004602, 0.004267> + 16740: <-0.005623, 0.004798, 0.004494> + 16741: <-0.005446, 0.005034, 0.004460> + 16742: <-0.005564, 0.005120, 0.004199> + 16743: <-0.005760, 0.004870, 0.004226> + 16744: <-0.005564, -0.005120, 0.004199> + 16745: <-0.005760, -0.004870, 0.004226> + 16746: <-0.005887, -0.004946, 0.003941> + 16747: <-0.005678, -0.005207, 0.003918> + 16748: <-0.005760, -0.004870, 0.004226> + 16749: <-0.005939, -0.004602, 0.004267> + 16750: <-0.006080, -0.004668, 0.003975> + 16751: <-0.005887, -0.004946, 0.003941> + 16752: <-0.005939, -0.004602, 0.004267> + 16753: <-0.006105, -0.004318, 0.004318> + 16754: <-0.006257, -0.004374, 0.004017> + 16755: <-0.006080, -0.004668, 0.003975> + 16756: <-0.006105, -0.004318, 0.004318> + 16757: <-0.006257, -0.004017, 0.004374> + 16758: <-0.006421, -0.004065, 0.004065> + 16759: <-0.006257, -0.004374, 0.004017> + 16760: <-0.006257, -0.004017, 0.004374> + 16761: <-0.006397, -0.003701, 0.004434> + 16762: <-0.006570, -0.003743, 0.004117> + 16763: <-0.006421, -0.004065, 0.004065> + 16764: <-0.006397, -0.003701, 0.004434> + 16765: <-0.006525, -0.003372, 0.004494> + 16766: <-0.006705, -0.003407, 0.004170> + 16767: <-0.006570, -0.003743, 0.004117> + 16768: <-0.006525, -0.003372, 0.004494> + 16769: <-0.006641, -0.003030, 0.004553> + 16770: <-0.006828, -0.003060, 0.004223> + 16771: <-0.006705, -0.003407, 0.004170> + 16772: <-0.006641, -0.003030, 0.004553> + 16773: <-0.006745, -0.002676, 0.004609> + 16774: <-0.006937, -0.002701, 0.004273> + 16775: <-0.006828, -0.003060, 0.004223> + 16776: <-0.006745, -0.002676, 0.004609> + 16777: <-0.006836, -0.002313, 0.004659> + 16778: <-0.007033, -0.002333, 0.004318> + 16779: <-0.006937, -0.002701, 0.004273> + 16780: <-0.006836, -0.002313, 0.004659> + 16781: <-0.006915, -0.001940, 0.004705> + 16782: <-0.007115, -0.001957, 0.004360> + 16783: <-0.007033, -0.002333, 0.004318> + 16784: <-0.006915, -0.001940, 0.004705> + 16785: <-0.006980, -0.001561, 0.004744> + 16786: <-0.007183, -0.001574, 0.004395> + 16787: <-0.007115, -0.001957, 0.004360> + 16788: <-0.006980, -0.001561, 0.004744> + 16789: <-0.007032, -0.001176, 0.004776> + 16790: <-0.007236, -0.001185, 0.004424> + 16791: <-0.007183, -0.001574, 0.004395> + 16792: <-0.007032, -0.001176, 0.004776> + 16793: <-0.007069, -0.000786, 0.004800> + 16794: <-0.007275, -0.000792, 0.004446> + 16795: <-0.007236, -0.001185, 0.004424> + 16796: <-0.007069, -0.000786, 0.004800> + 16797: <-0.007092, -0.000394, 0.004815> + 16798: <-0.007298, -0.000397, 0.004460> + 16799: <-0.007275, -0.000792, 0.004446> + 16800: <-0.007092, -0.000394, 0.004815> + 16801: <-0.007099, -0.000000, 0.004820> + 16802: <-0.007306, -0.000000, 0.004465> + 16803: <-0.007298, -0.000397, 0.004460> + 16804: <-0.007099, -0.000000, 0.004820> + 16805: <-0.007092, 0.000394, 0.004815> + 16806: <-0.007298, 0.000397, 0.004460> + 16807: <-0.007306, -0.000000, 0.004465> + 16808: <-0.007092, 0.000394, 0.004815> + 16809: <-0.007069, 0.000786, 0.004800> + 16810: <-0.007275, 0.000792, 0.004446> + 16811: <-0.007298, 0.000397, 0.004460> + 16812: <-0.007069, 0.000786, 0.004800> + 16813: <-0.007032, 0.001176, 0.004776> + 16814: <-0.007236, 0.001185, 0.004424> + 16815: <-0.007275, 0.000792, 0.004446> + 16816: <-0.007032, 0.001176, 0.004776> + 16817: <-0.006980, 0.001561, 0.004744> + 16818: <-0.007183, 0.001574, 0.004395> + 16819: <-0.007236, 0.001185, 0.004424> + 16820: <-0.006980, 0.001561, 0.004744> + 16821: <-0.006915, 0.001940, 0.004705> + 16822: <-0.007115, 0.001957, 0.004360> + 16823: <-0.007183, 0.001574, 0.004395> + 16824: <-0.006915, 0.001940, 0.004705> + 16825: <-0.006836, 0.002313, 0.004659> + 16826: <-0.007033, 0.002333, 0.004318> + 16827: <-0.007115, 0.001957, 0.004360> + 16828: <-0.006836, 0.002313, 0.004659> + 16829: <-0.006745, 0.002676, 0.004609> + 16830: <-0.006937, 0.002701, 0.004273> + 16831: <-0.007033, 0.002333, 0.004318> + 16832: <-0.006745, 0.002676, 0.004609> + 16833: <-0.006641, 0.003030, 0.004553> + 16834: <-0.006828, 0.003060, 0.004223> + 16835: <-0.006937, 0.002701, 0.004273> + 16836: <-0.006641, 0.003030, 0.004553> + 16837: <-0.006525, 0.003372, 0.004494> + 16838: <-0.006705, 0.003407, 0.004170> + 16839: <-0.006828, 0.003060, 0.004223> + 16840: <-0.006525, 0.003372, 0.004494> + 16841: <-0.006397, 0.003701, 0.004434> + 16842: <-0.006570, 0.003743, 0.004117> + 16843: <-0.006705, 0.003407, 0.004170> + 16844: <-0.006397, 0.003701, 0.004434> + 16845: <-0.006257, 0.004017, 0.004374> + 16846: <-0.006421, 0.004065, 0.004065> + 16847: <-0.006570, 0.003743, 0.004117> + 16848: <-0.006257, 0.004017, 0.004374> + 16849: <-0.006105, 0.004318, 0.004318> + 16850: <-0.006257, 0.004374, 0.004017> + 16851: <-0.006421, 0.004065, 0.004065> + 16852: <-0.006105, 0.004318, 0.004318> + 16853: <-0.005939, 0.004602, 0.004267> + 16854: <-0.006080, 0.004668, 0.003975> + 16855: <-0.006257, 0.004374, 0.004017> + 16856: <-0.005939, 0.004602, 0.004267> + 16857: <-0.005760, 0.004870, 0.004226> + 16858: <-0.005887, 0.004946, 0.003941> + 16859: <-0.006080, 0.004668, 0.003975> + 16860: <-0.005760, 0.004870, 0.004226> + 16861: <-0.005564, 0.005120, 0.004199> + 16862: <-0.005678, 0.005207, 0.003918> + 16863: <-0.005887, 0.004946, 0.003941> + 16864: <-0.005678, -0.005207, 0.003918> + 16865: <-0.005887, -0.004946, 0.003941> + 16866: <-0.006006, -0.005023, 0.003637> + 16867: <-0.005786, -0.005294, 0.003619> + 16868: <-0.005887, -0.004946, 0.003941> + 16869: <-0.006080, -0.004668, 0.003975> + 16870: <-0.006210, -0.004736, 0.003666> + 16871: <-0.006006, -0.005023, 0.003637> + 16872: <-0.006080, -0.004668, 0.003975> + 16873: <-0.006257, -0.004374, 0.004017> + 16874: <-0.006397, -0.004434, 0.003701> + 16875: <-0.006210, -0.004736, 0.003666> + 16876: <-0.006257, -0.004374, 0.004017> + 16877: <-0.006421, -0.004065, 0.004065> + 16878: <-0.006570, -0.004117, 0.003743> + 16879: <-0.006397, -0.004434, 0.003701> + 16880: <-0.006421, -0.004065, 0.004065> + 16881: <-0.006570, -0.003743, 0.004117> + 16882: <-0.006727, -0.003788, 0.003788> + 16883: <-0.006570, -0.004117, 0.003743> + 16884: <-0.006570, -0.003743, 0.004117> + 16885: <-0.006705, -0.003407, 0.004170> + 16886: <-0.006870, -0.003446, 0.003834> + 16887: <-0.006727, -0.003788, 0.003788> + 16888: <-0.006705, -0.003407, 0.004170> + 16889: <-0.006828, -0.003060, 0.004223> + 16890: <-0.006998, -0.003093, 0.003880> + 16891: <-0.006870, -0.003446, 0.003834> + 16892: <-0.006828, -0.003060, 0.004223> + 16893: <-0.006937, -0.002701, 0.004273> + 16894: <-0.007112, -0.002729, 0.003924> + 16895: <-0.006998, -0.003093, 0.003880> + 16896: <-0.006937, -0.002701, 0.004273> + 16897: <-0.007033, -0.002333, 0.004318> + 16898: <-0.007212, -0.002356, 0.003965> + 16899: <-0.007112, -0.002729, 0.003924> + 16900: <-0.007033, -0.002333, 0.004318> + 16901: <-0.007115, -0.001957, 0.004360> + 16902: <-0.007297, -0.001975, 0.004002> + 16903: <-0.007212, -0.002356, 0.003965> + 16904: <-0.007115, -0.001957, 0.004360> + 16905: <-0.007183, -0.001574, 0.004395> + 16906: <-0.007367, -0.001588, 0.004034> + 16907: <-0.007297, -0.001975, 0.004002> + 16908: <-0.007183, -0.001574, 0.004395> + 16909: <-0.007236, -0.001185, 0.004424> + 16910: <-0.007423, -0.001196, 0.004061> + 16911: <-0.007367, -0.001588, 0.004034> + 16912: <-0.007236, -0.001185, 0.004424> + 16913: <-0.007275, -0.000792, 0.004446> + 16914: <-0.007462, -0.000799, 0.004081> + 16915: <-0.007423, -0.001196, 0.004061> + 16916: <-0.007275, -0.000792, 0.004446> + 16917: <-0.007298, -0.000397, 0.004460> + 16918: <-0.007487, -0.000400, 0.004093> + 16919: <-0.007462, -0.000799, 0.004081> + 16920: <-0.007298, -0.000397, 0.004460> + 16921: <-0.007306, -0.000000, 0.004465> + 16922: <-0.007495, -0.000000, 0.004098> + 16923: <-0.007487, -0.000400, 0.004093> + 16924: <-0.007306, -0.000000, 0.004465> + 16925: <-0.007298, 0.000397, 0.004460> + 16926: <-0.007487, 0.000400, 0.004093> + 16927: <-0.007495, -0.000000, 0.004098> + 16928: <-0.007298, 0.000397, 0.004460> + 16929: <-0.007275, 0.000792, 0.004446> + 16930: <-0.007462, 0.000799, 0.004081> + 16931: <-0.007487, 0.000400, 0.004093> + 16932: <-0.007275, 0.000792, 0.004446> + 16933: <-0.007236, 0.001185, 0.004424> + 16934: <-0.007423, 0.001196, 0.004061> + 16935: <-0.007462, 0.000799, 0.004081> + 16936: <-0.007236, 0.001185, 0.004424> + 16937: <-0.007183, 0.001574, 0.004395> + 16938: <-0.007367, 0.001588, 0.004034> + 16939: <-0.007423, 0.001196, 0.004061> + 16940: <-0.007183, 0.001574, 0.004395> + 16941: <-0.007115, 0.001957, 0.004360> + 16942: <-0.007297, 0.001975, 0.004002> + 16943: <-0.007367, 0.001588, 0.004034> + 16944: <-0.007115, 0.001957, 0.004360> + 16945: <-0.007033, 0.002333, 0.004318> + 16946: <-0.007212, 0.002356, 0.003965> + 16947: <-0.007297, 0.001975, 0.004002> + 16948: <-0.007033, 0.002333, 0.004318> + 16949: <-0.006937, 0.002701, 0.004273> + 16950: <-0.007112, 0.002729, 0.003924> + 16951: <-0.007212, 0.002356, 0.003965> + 16952: <-0.006937, 0.002701, 0.004273> + 16953: <-0.006828, 0.003060, 0.004223> + 16954: <-0.006998, 0.003093, 0.003880> + 16955: <-0.007112, 0.002729, 0.003924> + 16956: <-0.006828, 0.003060, 0.004223> + 16957: <-0.006705, 0.003407, 0.004170> + 16958: <-0.006870, 0.003446, 0.003834> + 16959: <-0.006998, 0.003093, 0.003880> + 16960: <-0.006705, 0.003407, 0.004170> + 16961: <-0.006570, 0.003743, 0.004117> + 16962: <-0.006727, 0.003788, 0.003788> + 16963: <-0.006870, 0.003446, 0.003834> + 16964: <-0.006570, 0.003743, 0.004117> + 16965: <-0.006421, 0.004065, 0.004065> + 16966: <-0.006570, 0.004117, 0.003743> + 16967: <-0.006727, 0.003788, 0.003788> + 16968: <-0.006421, 0.004065, 0.004065> + 16969: <-0.006257, 0.004374, 0.004017> + 16970: <-0.006397, 0.004434, 0.003701> + 16971: <-0.006570, 0.004117, 0.003743> + 16972: <-0.006257, 0.004374, 0.004017> + 16973: <-0.006080, 0.004668, 0.003975> + 16974: <-0.006210, 0.004736, 0.003666> + 16975: <-0.006397, 0.004434, 0.003701> + 16976: <-0.006080, 0.004668, 0.003975> + 16977: <-0.005887, 0.004946, 0.003941> + 16978: <-0.006006, 0.005023, 0.003637> + 16979: <-0.006210, 0.004736, 0.003666> + 16980: <-0.005887, 0.004946, 0.003941> + 16981: <-0.005678, 0.005207, 0.003918> + 16982: <-0.005786, 0.005294, 0.003619> + 16983: <-0.006006, 0.005023, 0.003637> + 16984: <-0.005786, -0.005294, 0.003619> + 16985: <-0.006006, -0.005023, 0.003637> + 16986: <-0.006117, -0.005099, 0.003318> + 16987: <-0.005888, -0.005379, 0.003302> + 16988: <-0.006006, -0.005023, 0.003637> + 16989: <-0.006210, -0.004736, 0.003666> + 16990: <-0.006329, -0.004804, 0.003342> + 16991: <-0.006117, -0.005099, 0.003318> + 16992: <-0.006210, -0.004736, 0.003666> + 16993: <-0.006397, -0.004434, 0.003701> + 16994: <-0.006525, -0.004494, 0.003372> + 16995: <-0.006329, -0.004804, 0.003342> + 16996: <-0.006397, -0.004434, 0.003701> + 16997: <-0.006570, -0.004117, 0.003743> + 16998: <-0.006705, -0.004170, 0.003407> + 16999: <-0.006525, -0.004494, 0.003372> + 17000: <-0.006570, -0.004117, 0.003743> + 17001: <-0.006727, -0.003788, 0.003788> + 17002: <-0.006870, -0.003834, 0.003446> + 17003: <-0.006705, -0.004170, 0.003407> + 17004: <-0.006727, -0.003788, 0.003788> + 17005: <-0.006870, -0.003446, 0.003834> + 17006: <-0.007018, -0.003486, 0.003486> + 17007: <-0.006870, -0.003834, 0.003446> + 17008: <-0.006870, -0.003446, 0.003834> + 17009: <-0.006998, -0.003093, 0.003880> + 17010: <-0.007152, -0.003127, 0.003526> + 17011: <-0.007018, -0.003486, 0.003486> + 17012: <-0.006998, -0.003093, 0.003880> + 17013: <-0.007112, -0.002729, 0.003924> + 17014: <-0.007270, -0.002758, 0.003565> + 17015: <-0.007152, -0.003127, 0.003526> + 17016: <-0.007112, -0.002729, 0.003924> + 17017: <-0.007212, -0.002356, 0.003965> + 17018: <-0.007374, -0.002380, 0.003601> + 17019: <-0.007270, -0.002758, 0.003565> + 17020: <-0.007212, -0.002356, 0.003965> + 17021: <-0.007297, -0.001975, 0.004002> + 17022: <-0.007462, -0.001995, 0.003634> + 17023: <-0.007374, -0.002380, 0.003601> + 17024: <-0.007297, -0.001975, 0.004002> + 17025: <-0.007367, -0.001588, 0.004034> + 17026: <-0.007535, -0.001603, 0.003663> + 17027: <-0.007462, -0.001995, 0.003634> + 17028: <-0.007367, -0.001588, 0.004034> + 17029: <-0.007423, -0.001196, 0.004061> + 17030: <-0.007591, -0.001207, 0.003686> + 17031: <-0.007535, -0.001603, 0.003663> + 17032: <-0.007423, -0.001196, 0.004061> + 17033: <-0.007462, -0.000799, 0.004081> + 17034: <-0.007632, -0.000807, 0.003704> + 17035: <-0.007591, -0.001207, 0.003686> + 17036: <-0.007462, -0.000799, 0.004081> + 17037: <-0.007487, -0.000400, 0.004093> + 17038: <-0.007657, -0.000404, 0.003716> + 17039: <-0.007632, -0.000807, 0.003704> + 17040: <-0.007487, -0.000400, 0.004093> + 17041: <-0.007495, -0.000000, 0.004098> + 17042: <-0.007665, -0.000000, 0.003720> + 17043: <-0.007657, -0.000404, 0.003716> + 17044: <-0.007495, -0.000000, 0.004098> + 17045: <-0.007487, 0.000400, 0.004093> + 17046: <-0.007657, 0.000404, 0.003716> + 17047: <-0.007665, -0.000000, 0.003720> + 17048: <-0.007487, 0.000400, 0.004093> + 17049: <-0.007462, 0.000799, 0.004081> + 17050: <-0.007632, 0.000807, 0.003704> + 17051: <-0.007657, 0.000404, 0.003716> + 17052: <-0.007462, 0.000799, 0.004081> + 17053: <-0.007423, 0.001196, 0.004061> + 17054: <-0.007591, 0.001207, 0.003686> + 17055: <-0.007632, 0.000807, 0.003704> + 17056: <-0.007423, 0.001196, 0.004061> + 17057: <-0.007367, 0.001588, 0.004034> + 17058: <-0.007535, 0.001603, 0.003663> + 17059: <-0.007591, 0.001207, 0.003686> + 17060: <-0.007367, 0.001588, 0.004034> + 17061: <-0.007297, 0.001975, 0.004002> + 17062: <-0.007462, 0.001995, 0.003634> + 17063: <-0.007535, 0.001603, 0.003663> + 17064: <-0.007297, 0.001975, 0.004002> + 17065: <-0.007212, 0.002356, 0.003965> + 17066: <-0.007374, 0.002380, 0.003601> + 17067: <-0.007462, 0.001995, 0.003634> + 17068: <-0.007212, 0.002356, 0.003965> + 17069: <-0.007112, 0.002729, 0.003924> + 17070: <-0.007270, 0.002758, 0.003565> + 17071: <-0.007374, 0.002380, 0.003601> + 17072: <-0.007112, 0.002729, 0.003924> + 17073: <-0.006998, 0.003093, 0.003880> + 17074: <-0.007152, 0.003127, 0.003526> + 17075: <-0.007270, 0.002758, 0.003565> + 17076: <-0.006998, 0.003093, 0.003880> + 17077: <-0.006870, 0.003446, 0.003834> + 17078: <-0.007018, 0.003486, 0.003486> + 17079: <-0.007152, 0.003127, 0.003526> + 17080: <-0.006870, 0.003446, 0.003834> + 17081: <-0.006727, 0.003788, 0.003788> + 17082: <-0.006870, 0.003834, 0.003446> + 17083: <-0.007018, 0.003486, 0.003486> + 17084: <-0.006727, 0.003788, 0.003788> + 17085: <-0.006570, 0.004117, 0.003743> + 17086: <-0.006705, 0.004170, 0.003407> + 17087: <-0.006870, 0.003834, 0.003446> + 17088: <-0.006570, 0.004117, 0.003743> + 17089: <-0.006397, 0.004434, 0.003701> + 17090: <-0.006525, 0.004494, 0.003372> + 17091: <-0.006705, 0.004170, 0.003407> + 17092: <-0.006397, 0.004434, 0.003701> + 17093: <-0.006210, 0.004736, 0.003666> + 17094: <-0.006329, 0.004804, 0.003342> + 17095: <-0.006525, 0.004494, 0.003372> + 17096: <-0.006210, 0.004736, 0.003666> + 17097: <-0.006006, 0.005023, 0.003637> + 17098: <-0.006117, 0.005099, 0.003318> + 17099: <-0.006329, 0.004804, 0.003342> + 17100: <-0.006006, 0.005023, 0.003637> + 17101: <-0.005786, 0.005294, 0.003619> + 17102: <-0.005888, 0.005379, 0.003302> + 17103: <-0.006117, 0.005099, 0.003318> + 17104: <-0.005888, -0.005379, 0.003302> + 17105: <-0.006117, -0.005099, 0.003318> + 17106: <-0.006219, -0.005172, 0.002984> + 17107: <-0.005983, -0.005459, 0.002971> + 17108: <-0.006117, -0.005099, 0.003318> + 17109: <-0.006329, -0.004804, 0.003342> + 17110: <-0.006439, -0.004870, 0.003004> + 17111: <-0.006219, -0.005172, 0.002984> + 17112: <-0.006329, -0.004804, 0.003342> + 17113: <-0.006525, -0.004494, 0.003372> + 17114: <-0.006641, -0.004553, 0.003030> + 17115: <-0.006439, -0.004870, 0.003004> + 17116: <-0.006525, -0.004494, 0.003372> + 17117: <-0.006705, -0.004170, 0.003407> + 17118: <-0.006828, -0.004223, 0.003060> + 17119: <-0.006641, -0.004553, 0.003030> + 17120: <-0.006705, -0.004170, 0.003407> + 17121: <-0.006870, -0.003834, 0.003446> + 17122: <-0.006998, -0.003880, 0.003093> + 17123: <-0.006828, -0.004223, 0.003060> + 17124: <-0.006870, -0.003834, 0.003446> + 17125: <-0.007018, -0.003486, 0.003486> + 17126: <-0.007152, -0.003526, 0.003127> + 17127: <-0.006998, -0.003880, 0.003093> + 17128: <-0.007018, -0.003486, 0.003486> + 17129: <-0.007152, -0.003127, 0.003526> + 17130: <-0.007290, -0.003162, 0.003162> + 17131: <-0.007152, -0.003526, 0.003127> + 17132: <-0.007152, -0.003127, 0.003526> + 17133: <-0.007270, -0.002758, 0.003565> + 17134: <-0.007412, -0.002787, 0.003195> + 17135: <-0.007290, -0.003162, 0.003162> + 17136: <-0.007270, -0.002758, 0.003565> + 17137: <-0.007374, -0.002380, 0.003601> + 17138: <-0.007519, -0.002405, 0.003227> + 17139: <-0.007412, -0.002787, 0.003195> + 17140: <-0.007374, -0.002380, 0.003601> + 17141: <-0.007462, -0.001995, 0.003634> + 17142: <-0.007610, -0.002015, 0.003255> + 17143: <-0.007519, -0.002405, 0.003227> + 17144: <-0.007462, -0.001995, 0.003634> + 17145: <-0.007535, -0.001603, 0.003663> + 17146: <-0.007684, -0.001619, 0.003281> + 17147: <-0.007610, -0.002015, 0.003255> + 17148: <-0.007535, -0.001603, 0.003663> + 17149: <-0.007591, -0.001207, 0.003686> + 17150: <-0.007743, -0.001219, 0.003302> + 17151: <-0.007684, -0.001619, 0.003281> + 17152: <-0.007591, -0.001207, 0.003686> + 17153: <-0.007632, -0.000807, 0.003704> + 17154: <-0.007785, -0.000814, 0.003318> + 17155: <-0.007743, -0.001219, 0.003302> + 17156: <-0.007632, -0.000807, 0.003704> + 17157: <-0.007657, -0.000404, 0.003716> + 17158: <-0.007810, -0.000408, 0.003328> + 17159: <-0.007785, -0.000814, 0.003318> + 17160: <-0.007657, -0.000404, 0.003716> + 17161: <-0.007665, -0.000000, 0.003720> + 17162: <-0.007818, -0.000000, 0.003331> + 17163: <-0.007810, -0.000408, 0.003328> + 17164: <-0.007665, -0.000000, 0.003720> + 17165: <-0.007657, 0.000404, 0.003716> + 17166: <-0.007810, 0.000408, 0.003328> + 17167: <-0.007818, -0.000000, 0.003331> + 17168: <-0.007657, 0.000404, 0.003716> + 17169: <-0.007632, 0.000807, 0.003704> + 17170: <-0.007785, 0.000814, 0.003318> + 17171: <-0.007810, 0.000408, 0.003328> + 17172: <-0.007632, 0.000807, 0.003704> + 17173: <-0.007591, 0.001207, 0.003686> + 17174: <-0.007743, 0.001219, 0.003302> + 17175: <-0.007785, 0.000814, 0.003318> + 17176: <-0.007591, 0.001207, 0.003686> + 17177: <-0.007535, 0.001603, 0.003663> + 17178: <-0.007684, 0.001619, 0.003281> + 17179: <-0.007743, 0.001219, 0.003302> + 17180: <-0.007535, 0.001603, 0.003663> + 17181: <-0.007462, 0.001995, 0.003634> + 17182: <-0.007610, 0.002015, 0.003255> + 17183: <-0.007684, 0.001619, 0.003281> + 17184: <-0.007462, 0.001995, 0.003634> + 17185: <-0.007374, 0.002380, 0.003601> + 17186: <-0.007519, 0.002405, 0.003227> + 17187: <-0.007610, 0.002015, 0.003255> + 17188: <-0.007374, 0.002380, 0.003601> + 17189: <-0.007270, 0.002758, 0.003565> + 17190: <-0.007412, 0.002787, 0.003195> + 17191: <-0.007519, 0.002405, 0.003227> + 17192: <-0.007270, 0.002758, 0.003565> + 17193: <-0.007152, 0.003127, 0.003526> + 17194: <-0.007290, 0.003162, 0.003162> + 17195: <-0.007412, 0.002787, 0.003195> + 17196: <-0.007152, 0.003127, 0.003526> + 17197: <-0.007018, 0.003486, 0.003486> + 17198: <-0.007152, 0.003526, 0.003127> + 17199: <-0.007290, 0.003162, 0.003162> + 17200: <-0.007018, 0.003486, 0.003486> + 17201: <-0.006870, 0.003834, 0.003446> + 17202: <-0.006998, 0.003880, 0.003093> + 17203: <-0.007152, 0.003526, 0.003127> + 17204: <-0.006870, 0.003834, 0.003446> + 17205: <-0.006705, 0.004170, 0.003407> + 17206: <-0.006828, 0.004223, 0.003060> + 17207: <-0.006998, 0.003880, 0.003093> + 17208: <-0.006705, 0.004170, 0.003407> + 17209: <-0.006525, 0.004494, 0.003372> + 17210: <-0.006641, 0.004553, 0.003030> + 17211: <-0.006828, 0.004223, 0.003060> + 17212: <-0.006525, 0.004494, 0.003372> + 17213: <-0.006329, 0.004804, 0.003342> + 17214: <-0.006439, 0.004870, 0.003004> + 17215: <-0.006641, 0.004553, 0.003030> + 17216: <-0.006329, 0.004804, 0.003342> + 17217: <-0.006117, 0.005099, 0.003318> + 17218: <-0.006219, 0.005172, 0.002984> + 17219: <-0.006439, 0.004870, 0.003004> + 17220: <-0.006117, 0.005099, 0.003318> + 17221: <-0.005888, 0.005379, 0.003302> + 17222: <-0.005983, 0.005459, 0.002971> + 17223: <-0.006219, 0.005172, 0.002984> + 17224: <-0.005983, -0.005459, 0.002971> + 17225: <-0.006219, -0.005172, 0.002984> + 17226: <-0.006311, -0.005240, 0.002638> + 17227: <-0.006069, -0.005533, 0.002627> + 17228: <-0.006219, -0.005172, 0.002984> + 17229: <-0.006439, -0.004870, 0.003004> + 17230: <-0.006537, -0.004931, 0.002655> + 17231: <-0.006311, -0.005240, 0.002638> + 17232: <-0.006439, -0.004870, 0.003004> + 17233: <-0.006641, -0.004553, 0.003030> + 17234: <-0.006745, -0.004609, 0.002676> + 17235: <-0.006537, -0.004931, 0.002655> + 17236: <-0.006641, -0.004553, 0.003030> + 17237: <-0.006828, -0.004223, 0.003060> + 17238: <-0.006937, -0.004273, 0.002701> + 17239: <-0.006745, -0.004609, 0.002676> + 17240: <-0.006828, -0.004223, 0.003060> + 17241: <-0.006998, -0.003880, 0.003093> + 17242: <-0.007112, -0.003924, 0.002729> + 17243: <-0.006937, -0.004273, 0.002701> + 17244: <-0.006998, -0.003880, 0.003093> + 17245: <-0.007152, -0.003526, 0.003127> + 17246: <-0.007270, -0.003565, 0.002758> + 17247: <-0.007112, -0.003924, 0.002729> + 17248: <-0.007152, -0.003526, 0.003127> + 17249: <-0.007290, -0.003162, 0.003162> + 17250: <-0.007412, -0.003195, 0.002787> + 17251: <-0.007270, -0.003565, 0.002758> + 17252: <-0.007290, -0.003162, 0.003162> + 17253: <-0.007412, -0.002787, 0.003195> + 17254: <-0.007538, -0.002816, 0.002816> + 17255: <-0.007412, -0.003195, 0.002787> + 17256: <-0.007412, -0.002787, 0.003195> + 17257: <-0.007519, -0.002405, 0.003227> + 17258: <-0.007648, -0.002429, 0.002843> + 17259: <-0.007538, -0.002816, 0.002816> + 17260: <-0.007519, -0.002405, 0.003227> + 17261: <-0.007610, -0.002015, 0.003255> + 17262: <-0.007740, -0.002035, 0.002868> + 17263: <-0.007648, -0.002429, 0.002843> + 17264: <-0.007610, -0.002015, 0.003255> + 17265: <-0.007684, -0.001619, 0.003281> + 17266: <-0.007817, -0.001635, 0.002890> + 17267: <-0.007740, -0.002035, 0.002868> + 17268: <-0.007684, -0.001619, 0.003281> + 17269: <-0.007743, -0.001219, 0.003302> + 17270: <-0.007876, -0.001230, 0.002908> + 17271: <-0.007817, -0.001635, 0.002890> + 17272: <-0.007743, -0.001219, 0.003302> + 17273: <-0.007785, -0.000814, 0.003318> + 17274: <-0.007919, -0.000822, 0.002922> + 17275: <-0.007876, -0.001230, 0.002908> + 17276: <-0.007785, -0.000814, 0.003318> + 17277: <-0.007810, -0.000408, 0.003328> + 17278: <-0.007945, -0.000412, 0.002931> + 17279: <-0.007919, -0.000822, 0.002922> + 17280: <-0.007810, -0.000408, 0.003328> + 17281: <-0.007818, -0.000000, 0.003331> + 17282: <-0.007953, -0.000000, 0.002934> + 17283: <-0.007945, -0.000412, 0.002931> + 17284: <-0.007818, -0.000000, 0.003331> + 17285: <-0.007810, 0.000408, 0.003328> + 17286: <-0.007945, 0.000412, 0.002931> + 17287: <-0.007953, -0.000000, 0.002934> + 17288: <-0.007810, 0.000408, 0.003328> + 17289: <-0.007785, 0.000814, 0.003318> + 17290: <-0.007919, 0.000822, 0.002922> + 17291: <-0.007945, 0.000412, 0.002931> + 17292: <-0.007785, 0.000814, 0.003318> + 17293: <-0.007743, 0.001219, 0.003302> + 17294: <-0.007876, 0.001230, 0.002908> + 17295: <-0.007919, 0.000822, 0.002922> + 17296: <-0.007743, 0.001219, 0.003302> + 17297: <-0.007684, 0.001619, 0.003281> + 17298: <-0.007817, 0.001635, 0.002890> + 17299: <-0.007876, 0.001230, 0.002908> + 17300: <-0.007684, 0.001619, 0.003281> + 17301: <-0.007610, 0.002015, 0.003255> + 17302: <-0.007740, 0.002035, 0.002868> + 17303: <-0.007817, 0.001635, 0.002890> + 17304: <-0.007610, 0.002015, 0.003255> + 17305: <-0.007519, 0.002405, 0.003227> + 17306: <-0.007648, 0.002429, 0.002843> + 17307: <-0.007740, 0.002035, 0.002868> + 17308: <-0.007519, 0.002405, 0.003227> + 17309: <-0.007412, 0.002787, 0.003195> + 17310: <-0.007538, 0.002816, 0.002816> + 17311: <-0.007648, 0.002429, 0.002843> + 17312: <-0.007412, 0.002787, 0.003195> + 17313: <-0.007290, 0.003162, 0.003162> + 17314: <-0.007412, 0.003195, 0.002787> + 17315: <-0.007538, 0.002816, 0.002816> + 17316: <-0.007290, 0.003162, 0.003162> + 17317: <-0.007152, 0.003526, 0.003127> + 17318: <-0.007270, 0.003565, 0.002758> + 17319: <-0.007412, 0.003195, 0.002787> + 17320: <-0.007152, 0.003526, 0.003127> + 17321: <-0.006998, 0.003880, 0.003093> + 17322: <-0.007112, 0.003924, 0.002729> + 17323: <-0.007270, 0.003565, 0.002758> + 17324: <-0.006998, 0.003880, 0.003093> + 17325: <-0.006828, 0.004223, 0.003060> + 17326: <-0.006937, 0.004273, 0.002701> + 17327: <-0.007112, 0.003924, 0.002729> + 17328: <-0.006828, 0.004223, 0.003060> + 17329: <-0.006641, 0.004553, 0.003030> + 17330: <-0.006745, 0.004609, 0.002676> + 17331: <-0.006937, 0.004273, 0.002701> + 17332: <-0.006641, 0.004553, 0.003030> + 17333: <-0.006439, 0.004870, 0.003004> + 17334: <-0.006537, 0.004931, 0.002655> + 17335: <-0.006745, 0.004609, 0.002676> + 17336: <-0.006439, 0.004870, 0.003004> + 17337: <-0.006219, 0.005172, 0.002984> + 17338: <-0.006311, 0.005240, 0.002638> + 17339: <-0.006537, 0.004931, 0.002655> + 17340: <-0.006219, 0.005172, 0.002984> + 17341: <-0.005983, 0.005459, 0.002971> + 17342: <-0.006069, 0.005533, 0.002627> + 17343: <-0.006311, 0.005240, 0.002638> + 17344: <-0.006069, -0.005533, 0.002627> + 17345: <-0.006311, -0.005240, 0.002638> + 17346: <-0.006393, -0.005301, 0.002281> + 17347: <-0.006146, -0.005599, 0.002272> + 17348: <-0.006311, -0.005240, 0.002638> + 17349: <-0.006537, -0.004931, 0.002655> + 17350: <-0.006623, -0.004987, 0.002295> + 17351: <-0.006393, -0.005301, 0.002281> + 17352: <-0.006537, -0.004931, 0.002655> + 17353: <-0.006745, -0.004609, 0.002676> + 17354: <-0.006836, -0.004659, 0.002313> + 17355: <-0.006623, -0.004987, 0.002295> + 17356: <-0.006745, -0.004609, 0.002676> + 17357: <-0.006937, -0.004273, 0.002701> + 17358: <-0.007033, -0.004318, 0.002333> + 17359: <-0.006836, -0.004659, 0.002313> + 17360: <-0.006937, -0.004273, 0.002701> + 17361: <-0.007112, -0.003924, 0.002729> + 17362: <-0.007212, -0.003965, 0.002356> + 17363: <-0.007033, -0.004318, 0.002333> + 17364: <-0.007112, -0.003924, 0.002729> + 17365: <-0.007270, -0.003565, 0.002758> + 17366: <-0.007374, -0.003601, 0.002380> + 17367: <-0.007212, -0.003965, 0.002356> + 17368: <-0.007270, -0.003565, 0.002758> + 17369: <-0.007412, -0.003195, 0.002787> + 17370: <-0.007519, -0.003227, 0.002405> + 17371: <-0.007374, -0.003601, 0.002380> + 17372: <-0.007412, -0.003195, 0.002787> + 17373: <-0.007538, -0.002816, 0.002816> + 17374: <-0.007648, -0.002843, 0.002429> + 17375: <-0.007519, -0.003227, 0.002405> + 17376: <-0.007538, -0.002816, 0.002816> + 17377: <-0.007648, -0.002429, 0.002843> + 17378: <-0.007759, -0.002452, 0.002452> + 17379: <-0.007648, -0.002843, 0.002429> + 17380: <-0.007648, -0.002429, 0.002843> + 17381: <-0.007740, -0.002035, 0.002868> + 17382: <-0.007854, -0.002053, 0.002473> + 17383: <-0.007759, -0.002452, 0.002452> + 17384: <-0.007740, -0.002035, 0.002868> + 17385: <-0.007817, -0.001635, 0.002890> + 17386: <-0.007932, -0.001650, 0.002492> + 17387: <-0.007854, -0.002053, 0.002473> + 17388: <-0.007817, -0.001635, 0.002890> + 17389: <-0.007876, -0.001230, 0.002908> + 17390: <-0.007992, -0.001241, 0.002507> + 17391: <-0.007932, -0.001650, 0.002492> + 17392: <-0.007876, -0.001230, 0.002908> + 17393: <-0.007919, -0.000822, 0.002922> + 17394: <-0.008036, -0.000829, 0.002519> + 17395: <-0.007992, -0.001241, 0.002507> + 17396: <-0.007919, -0.000822, 0.002922> + 17397: <-0.007945, -0.000412, 0.002931> + 17398: <-0.008062, -0.000415, 0.002527> + 17399: <-0.008036, -0.000829, 0.002519> + 17400: <-0.007945, -0.000412, 0.002931> + 17401: <-0.007953, -0.000000, 0.002934> + 17402: <-0.008070, -0.000000, 0.002530> + 17403: <-0.008062, -0.000415, 0.002527> + 17404: <-0.007953, -0.000000, 0.002934> + 17405: <-0.007945, 0.000412, 0.002931> + 17406: <-0.008062, 0.000415, 0.002527> + 17407: <-0.008070, -0.000000, 0.002530> + 17408: <-0.007945, 0.000412, 0.002931> + 17409: <-0.007919, 0.000822, 0.002922> + 17410: <-0.008036, 0.000829, 0.002519> + 17411: <-0.008062, 0.000415, 0.002527> + 17412: <-0.007919, 0.000822, 0.002922> + 17413: <-0.007876, 0.001230, 0.002908> + 17414: <-0.007992, 0.001241, 0.002507> + 17415: <-0.008036, 0.000829, 0.002519> + 17416: <-0.007876, 0.001230, 0.002908> + 17417: <-0.007817, 0.001635, 0.002890> + 17418: <-0.007932, 0.001650, 0.002492> + 17419: <-0.007992, 0.001241, 0.002507> + 17420: <-0.007817, 0.001635, 0.002890> + 17421: <-0.007740, 0.002035, 0.002868> + 17422: <-0.007854, 0.002053, 0.002473> + 17423: <-0.007932, 0.001650, 0.002492> + 17424: <-0.007740, 0.002035, 0.002868> + 17425: <-0.007648, 0.002429, 0.002843> + 17426: <-0.007759, 0.002452, 0.002452> + 17427: <-0.007854, 0.002053, 0.002473> + 17428: <-0.007648, 0.002429, 0.002843> + 17429: <-0.007538, 0.002816, 0.002816> + 17430: <-0.007648, 0.002843, 0.002429> + 17431: <-0.007759, 0.002452, 0.002452> + 17432: <-0.007538, 0.002816, 0.002816> + 17433: <-0.007412, 0.003195, 0.002787> + 17434: <-0.007519, 0.003227, 0.002405> + 17435: <-0.007648, 0.002843, 0.002429> + 17436: <-0.007412, 0.003195, 0.002787> + 17437: <-0.007270, 0.003565, 0.002758> + 17438: <-0.007374, 0.003601, 0.002380> + 17439: <-0.007519, 0.003227, 0.002405> + 17440: <-0.007270, 0.003565, 0.002758> + 17441: <-0.007112, 0.003924, 0.002729> + 17442: <-0.007212, 0.003965, 0.002356> + 17443: <-0.007374, 0.003601, 0.002380> + 17444: <-0.007112, 0.003924, 0.002729> + 17445: <-0.006937, 0.004273, 0.002701> + 17446: <-0.007033, 0.004318, 0.002333> + 17447: <-0.007212, 0.003965, 0.002356> + 17448: <-0.006937, 0.004273, 0.002701> + 17449: <-0.006745, 0.004609, 0.002676> + 17450: <-0.006836, 0.004659, 0.002313> + 17451: <-0.007033, 0.004318, 0.002333> + 17452: <-0.006745, 0.004609, 0.002676> + 17453: <-0.006537, 0.004931, 0.002655> + 17454: <-0.006623, 0.004987, 0.002295> + 17455: <-0.006836, 0.004659, 0.002313> + 17456: <-0.006537, 0.004931, 0.002655> + 17457: <-0.006311, 0.005240, 0.002638> + 17458: <-0.006393, 0.005301, 0.002281> + 17459: <-0.006623, 0.004987, 0.002295> + 17460: <-0.006311, 0.005240, 0.002638> + 17461: <-0.006069, 0.005533, 0.002627> + 17462: <-0.006146, 0.005599, 0.002272> + 17463: <-0.006393, 0.005301, 0.002281> + 17464: <-0.006146, -0.005599, 0.002272> + 17465: <-0.006393, -0.005301, 0.002281> + 17466: <-0.006464, -0.005355, 0.001915> + 17467: <-0.006212, -0.005657, 0.001908> + 17468: <-0.006393, -0.005301, 0.002281> + 17469: <-0.006623, -0.004987, 0.002295> + 17470: <-0.006698, -0.005037, 0.001926> + 17471: <-0.006464, -0.005355, 0.001915> + 17472: <-0.006623, -0.004987, 0.002295> + 17473: <-0.006836, -0.004659, 0.002313> + 17474: <-0.006915, -0.004705, 0.001940> + 17475: <-0.006698, -0.005037, 0.001926> + 17476: <-0.006836, -0.004659, 0.002313> + 17477: <-0.007033, -0.004318, 0.002333> + 17478: <-0.007115, -0.004360, 0.001957> + 17479: <-0.006915, -0.004705, 0.001940> + 17480: <-0.007033, -0.004318, 0.002333> + 17481: <-0.007212, -0.003965, 0.002356> + 17482: <-0.007297, -0.004002, 0.001975> + 17483: <-0.007115, -0.004360, 0.001957> + 17484: <-0.007212, -0.003965, 0.002356> + 17485: <-0.007374, -0.003601, 0.002380> + 17486: <-0.007462, -0.003634, 0.001995> + 17487: <-0.007297, -0.004002, 0.001975> + 17488: <-0.007374, -0.003601, 0.002380> + 17489: <-0.007519, -0.003227, 0.002405> + 17490: <-0.007610, -0.003255, 0.002015> + 17491: <-0.007462, -0.003634, 0.001995> + 17492: <-0.007519, -0.003227, 0.002405> + 17493: <-0.007648, -0.002843, 0.002429> + 17494: <-0.007740, -0.002868, 0.002035> + 17495: <-0.007610, -0.003255, 0.002015> + 17496: <-0.007648, -0.002843, 0.002429> + 17497: <-0.007759, -0.002452, 0.002452> + 17498: <-0.007854, -0.002473, 0.002053> + 17499: <-0.007740, -0.002868, 0.002035> + 17500: <-0.007759, -0.002452, 0.002452> + 17501: <-0.007854, -0.002053, 0.002473> + 17502: <-0.007950, -0.002071, 0.002071> + 17503: <-0.007854, -0.002473, 0.002053> + 17504: <-0.007854, -0.002053, 0.002473> + 17505: <-0.007932, -0.001650, 0.002492> + 17506: <-0.008029, -0.001663, 0.002086> + 17507: <-0.007950, -0.002071, 0.002071> + 17508: <-0.007932, -0.001650, 0.002492> + 17509: <-0.007992, -0.001241, 0.002507> + 17510: <-0.008090, -0.001252, 0.002099> + 17511: <-0.008029, -0.001663, 0.002086> + 17512: <-0.007992, -0.001241, 0.002507> + 17513: <-0.008036, -0.000829, 0.002519> + 17514: <-0.008134, -0.000836, 0.002109> + 17515: <-0.008090, -0.001252, 0.002099> + 17516: <-0.008036, -0.000829, 0.002519> + 17517: <-0.008062, -0.000415, 0.002527> + 17518: <-0.008161, -0.000419, 0.002116> + 17519: <-0.008134, -0.000836, 0.002109> + 17520: <-0.008062, -0.000415, 0.002527> + 17521: <-0.008070, -0.000000, 0.002530> + 17522: <-0.008169, -0.000000, 0.002118> + 17523: <-0.008161, -0.000419, 0.002116> + 17524: <-0.008070, -0.000000, 0.002530> + 17525: <-0.008062, 0.000415, 0.002527> + 17526: <-0.008161, 0.000419, 0.002116> + 17527: <-0.008169, -0.000000, 0.002118> + 17528: <-0.008062, 0.000415, 0.002527> + 17529: <-0.008036, 0.000829, 0.002519> + 17530: <-0.008134, 0.000836, 0.002109> + 17531: <-0.008161, 0.000419, 0.002116> + 17532: <-0.008036, 0.000829, 0.002519> + 17533: <-0.007992, 0.001241, 0.002507> + 17534: <-0.008090, 0.001252, 0.002099> + 17535: <-0.008134, 0.000836, 0.002109> + 17536: <-0.007992, 0.001241, 0.002507> + 17537: <-0.007932, 0.001650, 0.002492> + 17538: <-0.008029, 0.001663, 0.002086> + 17539: <-0.008090, 0.001252, 0.002099> + 17540: <-0.007932, 0.001650, 0.002492> + 17541: <-0.007854, 0.002053, 0.002473> + 17542: <-0.007950, 0.002071, 0.002071> + 17543: <-0.008029, 0.001663, 0.002086> + 17544: <-0.007854, 0.002053, 0.002473> + 17545: <-0.007759, 0.002452, 0.002452> + 17546: <-0.007854, 0.002473, 0.002053> + 17547: <-0.007950, 0.002071, 0.002071> + 17548: <-0.007759, 0.002452, 0.002452> + 17549: <-0.007648, 0.002843, 0.002429> + 17550: <-0.007740, 0.002868, 0.002035> + 17551: <-0.007854, 0.002473, 0.002053> + 17552: <-0.007648, 0.002843, 0.002429> + 17553: <-0.007519, 0.003227, 0.002405> + 17554: <-0.007610, 0.003255, 0.002015> + 17555: <-0.007740, 0.002868, 0.002035> + 17556: <-0.007519, 0.003227, 0.002405> + 17557: <-0.007374, 0.003601, 0.002380> + 17558: <-0.007462, 0.003634, 0.001995> + 17559: <-0.007610, 0.003255, 0.002015> + 17560: <-0.007374, 0.003601, 0.002380> + 17561: <-0.007212, 0.003965, 0.002356> + 17562: <-0.007297, 0.004002, 0.001975> + 17563: <-0.007462, 0.003634, 0.001995> + 17564: <-0.007212, 0.003965, 0.002356> + 17565: <-0.007033, 0.004318, 0.002333> + 17566: <-0.007115, 0.004360, 0.001957> + 17567: <-0.007297, 0.004002, 0.001975> + 17568: <-0.007033, 0.004318, 0.002333> + 17569: <-0.006836, 0.004659, 0.002313> + 17570: <-0.006915, 0.004705, 0.001940> + 17571: <-0.007115, 0.004360, 0.001957> + 17572: <-0.006836, 0.004659, 0.002313> + 17573: <-0.006623, 0.004987, 0.002295> + 17574: <-0.006698, 0.005037, 0.001926> + 17575: <-0.006915, 0.004705, 0.001940> + 17576: <-0.006623, 0.004987, 0.002295> + 17577: <-0.006393, 0.005301, 0.002281> + 17578: <-0.006464, 0.005355, 0.001915> + 17579: <-0.006698, 0.005037, 0.001926> + 17580: <-0.006393, 0.005301, 0.002281> + 17581: <-0.006146, 0.005599, 0.002272> + 17582: <-0.006212, 0.005657, 0.001908> + 17583: <-0.006464, 0.005355, 0.001915> + 17584: <-0.006212, -0.005657, 0.001908> + 17585: <-0.006464, -0.005355, 0.001915> + 17586: <-0.006523, -0.005401, 0.001541> + 17587: <-0.006269, -0.005707, 0.001536> + 17588: <-0.006464, -0.005355, 0.001915> + 17589: <-0.006698, -0.005037, 0.001926> + 17590: <-0.006761, -0.005080, 0.001550> + 17591: <-0.006523, -0.005401, 0.001541> + 17592: <-0.006698, -0.005037, 0.001926> + 17593: <-0.006915, -0.004705, 0.001940> + 17594: <-0.006980, -0.004744, 0.001561> + 17595: <-0.006761, -0.005080, 0.001550> + 17596: <-0.006915, -0.004705, 0.001940> + 17597: <-0.007115, -0.004360, 0.001957> + 17598: <-0.007183, -0.004395, 0.001574> + 17599: <-0.006980, -0.004744, 0.001561> + 17600: <-0.007115, -0.004360, 0.001957> + 17601: <-0.007297, -0.004002, 0.001975> + 17602: <-0.007367, -0.004034, 0.001588> + 17603: <-0.007183, -0.004395, 0.001574> + 17604: <-0.007297, -0.004002, 0.001975> + 17605: <-0.007462, -0.003634, 0.001995> + 17606: <-0.007535, -0.003663, 0.001603> + 17607: <-0.007367, -0.004034, 0.001588> + 17608: <-0.007462, -0.003634, 0.001995> + 17609: <-0.007610, -0.003255, 0.002015> + 17610: <-0.007684, -0.003281, 0.001619> + 17611: <-0.007535, -0.003663, 0.001603> + 17612: <-0.007610, -0.003255, 0.002015> + 17613: <-0.007740, -0.002868, 0.002035> + 17614: <-0.007817, -0.002890, 0.001635> + 17615: <-0.007684, -0.003281, 0.001619> + 17616: <-0.007740, -0.002868, 0.002035> + 17617: <-0.007854, -0.002473, 0.002053> + 17618: <-0.007932, -0.002492, 0.001650> + 17619: <-0.007817, -0.002890, 0.001635> + 17620: <-0.007854, -0.002473, 0.002053> + 17621: <-0.007950, -0.002071, 0.002071> + 17622: <-0.008029, -0.002086, 0.001663> + 17623: <-0.007932, -0.002492, 0.001650> + 17624: <-0.007950, -0.002071, 0.002071> + 17625: <-0.008029, -0.001663, 0.002086> + 17626: <-0.008109, -0.001676, 0.001676> + 17627: <-0.008029, -0.002086, 0.001663> + 17628: <-0.008029, -0.001663, 0.002086> + 17629: <-0.008090, -0.001252, 0.002099> + 17630: <-0.008171, -0.001261, 0.001686> + 17631: <-0.008109, -0.001676, 0.001676> + 17632: <-0.008090, -0.001252, 0.002099> + 17633: <-0.008134, -0.000836, 0.002109> + 17634: <-0.008215, -0.000842, 0.001694> + 17635: <-0.008171, -0.001261, 0.001686> + 17636: <-0.008134, -0.000836, 0.002109> + 17637: <-0.008161, -0.000419, 0.002116> + 17638: <-0.008242, -0.000422, 0.001699> + 17639: <-0.008215, -0.000842, 0.001694> + 17640: <-0.008161, -0.000419, 0.002116> + 17641: <-0.008169, -0.000000, 0.002118> + 17642: <-0.008251, -0.000000, 0.001701> + 17643: <-0.008242, -0.000422, 0.001699> + 17644: <-0.008169, -0.000000, 0.002118> + 17645: <-0.008161, 0.000419, 0.002116> + 17646: <-0.008242, 0.000422, 0.001699> + 17647: <-0.008251, -0.000000, 0.001701> + 17648: <-0.008161, 0.000419, 0.002116> + 17649: <-0.008134, 0.000836, 0.002109> + 17650: <-0.008215, 0.000842, 0.001694> + 17651: <-0.008242, 0.000422, 0.001699> + 17652: <-0.008134, 0.000836, 0.002109> + 17653: <-0.008090, 0.001252, 0.002099> + 17654: <-0.008171, 0.001261, 0.001686> + 17655: <-0.008215, 0.000842, 0.001694> + 17656: <-0.008090, 0.001252, 0.002099> + 17657: <-0.008029, 0.001663, 0.002086> + 17658: <-0.008109, 0.001676, 0.001676> + 17659: <-0.008171, 0.001261, 0.001686> + 17660: <-0.008029, 0.001663, 0.002086> + 17661: <-0.007950, 0.002071, 0.002071> + 17662: <-0.008029, 0.002086, 0.001663> + 17663: <-0.008109, 0.001676, 0.001676> + 17664: <-0.007950, 0.002071, 0.002071> + 17665: <-0.007854, 0.002473, 0.002053> + 17666: <-0.007932, 0.002492, 0.001650> + 17667: <-0.008029, 0.002086, 0.001663> + 17668: <-0.007854, 0.002473, 0.002053> + 17669: <-0.007740, 0.002868, 0.002035> + 17670: <-0.007817, 0.002890, 0.001635> + 17671: <-0.007932, 0.002492, 0.001650> + 17672: <-0.007740, 0.002868, 0.002035> + 17673: <-0.007610, 0.003255, 0.002015> + 17674: <-0.007684, 0.003281, 0.001619> + 17675: <-0.007817, 0.002890, 0.001635> + 17676: <-0.007610, 0.003255, 0.002015> + 17677: <-0.007462, 0.003634, 0.001995> + 17678: <-0.007535, 0.003663, 0.001603> + 17679: <-0.007684, 0.003281, 0.001619> + 17680: <-0.007462, 0.003634, 0.001995> + 17681: <-0.007297, 0.004002, 0.001975> + 17682: <-0.007367, 0.004034, 0.001588> + 17683: <-0.007535, 0.003663, 0.001603> + 17684: <-0.007297, 0.004002, 0.001975> + 17685: <-0.007115, 0.004360, 0.001957> + 17686: <-0.007183, 0.004395, 0.001574> + 17687: <-0.007367, 0.004034, 0.001588> + 17688: <-0.007115, 0.004360, 0.001957> + 17689: <-0.006915, 0.004705, 0.001940> + 17690: <-0.006980, 0.004744, 0.001561> + 17691: <-0.007183, 0.004395, 0.001574> + 17692: <-0.006915, 0.004705, 0.001940> + 17693: <-0.006698, 0.005037, 0.001926> + 17694: <-0.006761, 0.005080, 0.001550> + 17695: <-0.006980, 0.004744, 0.001561> + 17696: <-0.006698, 0.005037, 0.001926> + 17697: <-0.006464, 0.005355, 0.001915> + 17698: <-0.006523, 0.005401, 0.001541> + 17699: <-0.006761, 0.005080, 0.001550> + 17700: <-0.006464, 0.005355, 0.001915> + 17701: <-0.006212, 0.005657, 0.001908> + 17702: <-0.006269, 0.005707, 0.001536> + 17703: <-0.006523, 0.005401, 0.001541> + 17704: <-0.006269, -0.005707, 0.001536> + 17705: <-0.006523, -0.005401, 0.001541> + 17706: <-0.006570, -0.005438, 0.001161> + 17707: <-0.006313, -0.005747, 0.001157> + 17708: <-0.006523, -0.005401, 0.001541> + 17709: <-0.006761, -0.005080, 0.001550> + 17710: <-0.006810, -0.005114, 0.001168> + 17711: <-0.006570, -0.005438, 0.001161> + 17712: <-0.006761, -0.005080, 0.001550> + 17713: <-0.006980, -0.004744, 0.001561> + 17714: <-0.007032, -0.004776, 0.001176> + 17715: <-0.006810, -0.005114, 0.001168> + 17716: <-0.006980, -0.004744, 0.001561> + 17717: <-0.007183, -0.004395, 0.001574> + 17718: <-0.007236, -0.004424, 0.001185> + 17719: <-0.007032, -0.004776, 0.001176> + 17720: <-0.007183, -0.004395, 0.001574> + 17721: <-0.007367, -0.004034, 0.001588> + 17722: <-0.007423, -0.004061, 0.001196> + 17723: <-0.007236, -0.004424, 0.001185> + 17724: <-0.007367, -0.004034, 0.001588> + 17725: <-0.007535, -0.003663, 0.001603> + 17726: <-0.007591, -0.003686, 0.001207> + 17727: <-0.007423, -0.004061, 0.001196> + 17728: <-0.007535, -0.003663, 0.001603> + 17729: <-0.007684, -0.003281, 0.001619> + 17730: <-0.007743, -0.003302, 0.001219> + 17731: <-0.007591, -0.003686, 0.001207> + 17732: <-0.007684, -0.003281, 0.001619> + 17733: <-0.007817, -0.002890, 0.001635> + 17734: <-0.007876, -0.002908, 0.001230> + 17735: <-0.007743, -0.003302, 0.001219> + 17736: <-0.007817, -0.002890, 0.001635> + 17737: <-0.007932, -0.002492, 0.001650> + 17738: <-0.007992, -0.002507, 0.001241> + 17739: <-0.007876, -0.002908, 0.001230> + 17740: <-0.007932, -0.002492, 0.001650> + 17741: <-0.008029, -0.002086, 0.001663> + 17742: <-0.008090, -0.002099, 0.001252> + 17743: <-0.007992, -0.002507, 0.001241> + 17744: <-0.008029, -0.002086, 0.001663> + 17745: <-0.008109, -0.001676, 0.001676> + 17746: <-0.008171, -0.001686, 0.001261> + 17747: <-0.008090, -0.002099, 0.001252> + 17748: <-0.008109, -0.001676, 0.001676> + 17749: <-0.008171, -0.001261, 0.001686> + 17750: <-0.008233, -0.001269, 0.001269> + 17751: <-0.008171, -0.001686, 0.001261> + 17752: <-0.008171, -0.001261, 0.001686> + 17753: <-0.008215, -0.000842, 0.001694> + 17754: <-0.008278, -0.000848, 0.001275> + 17755: <-0.008233, -0.001269, 0.001269> + 17756: <-0.008215, -0.000842, 0.001694> + 17757: <-0.008242, -0.000422, 0.001699> + 17758: <-0.008305, -0.000424, 0.001278> + 17759: <-0.008278, -0.000848, 0.001275> + 17760: <-0.008242, -0.000422, 0.001699> + 17761: <-0.008251, -0.000000, 0.001701> + 17762: <-0.008314, -0.000000, 0.001280> + 17763: <-0.008305, -0.000424, 0.001278> + 17764: <-0.008251, -0.000000, 0.001701> + 17765: <-0.008242, 0.000422, 0.001699> + 17766: <-0.008305, 0.000424, 0.001278> + 17767: <-0.008314, -0.000000, 0.001280> + 17768: <-0.008242, 0.000422, 0.001699> + 17769: <-0.008215, 0.000842, 0.001694> + 17770: <-0.008278, 0.000848, 0.001275> + 17771: <-0.008305, 0.000424, 0.001278> + 17772: <-0.008215, 0.000842, 0.001694> + 17773: <-0.008171, 0.001261, 0.001686> + 17774: <-0.008233, 0.001269, 0.001269> + 17775: <-0.008278, 0.000848, 0.001275> + 17776: <-0.008171, 0.001261, 0.001686> + 17777: <-0.008109, 0.001676, 0.001676> + 17778: <-0.008171, 0.001686, 0.001261> + 17779: <-0.008233, 0.001269, 0.001269> + 17780: <-0.008109, 0.001676, 0.001676> + 17781: <-0.008029, 0.002086, 0.001663> + 17782: <-0.008090, 0.002099, 0.001252> + 17783: <-0.008171, 0.001686, 0.001261> + 17784: <-0.008029, 0.002086, 0.001663> + 17785: <-0.007932, 0.002492, 0.001650> + 17786: <-0.007992, 0.002507, 0.001241> + 17787: <-0.008090, 0.002099, 0.001252> + 17788: <-0.007932, 0.002492, 0.001650> + 17789: <-0.007817, 0.002890, 0.001635> + 17790: <-0.007876, 0.002908, 0.001230> + 17791: <-0.007992, 0.002507, 0.001241> + 17792: <-0.007817, 0.002890, 0.001635> + 17793: <-0.007684, 0.003281, 0.001619> + 17794: <-0.007743, 0.003302, 0.001219> + 17795: <-0.007876, 0.002908, 0.001230> + 17796: <-0.007684, 0.003281, 0.001619> + 17797: <-0.007535, 0.003663, 0.001603> + 17798: <-0.007591, 0.003686, 0.001207> + 17799: <-0.007743, 0.003302, 0.001219> + 17800: <-0.007535, 0.003663, 0.001603> + 17801: <-0.007367, 0.004034, 0.001588> + 17802: <-0.007423, 0.004061, 0.001196> + 17803: <-0.007591, 0.003686, 0.001207> + 17804: <-0.007367, 0.004034, 0.001588> + 17805: <-0.007183, 0.004395, 0.001574> + 17806: <-0.007236, 0.004424, 0.001185> + 17807: <-0.007423, 0.004061, 0.001196> + 17808: <-0.007183, 0.004395, 0.001574> + 17809: <-0.006980, 0.004744, 0.001561> + 17810: <-0.007032, 0.004776, 0.001176> + 17811: <-0.007236, 0.004424, 0.001185> + 17812: <-0.006980, 0.004744, 0.001561> + 17813: <-0.006761, 0.005080, 0.001550> + 17814: <-0.006810, 0.005114, 0.001168> + 17815: <-0.007032, 0.004776, 0.001176> + 17816: <-0.006761, 0.005080, 0.001550> + 17817: <-0.006523, 0.005401, 0.001541> + 17818: <-0.006570, 0.005438, 0.001161> + 17819: <-0.006810, 0.005114, 0.001168> + 17820: <-0.006523, 0.005401, 0.001541> + 17821: <-0.006269, 0.005707, 0.001536> + 17822: <-0.006313, 0.005747, 0.001157> + 17823: <-0.006570, 0.005438, 0.001161> + 17824: <-0.006313, -0.005747, 0.001157> + 17825: <-0.006570, -0.005438, 0.001161> + 17826: <-0.006605, -0.005466, 0.000777> + 17827: <-0.006346, -0.005776, 0.000774> + 17828: <-0.006570, -0.005438, 0.001161> + 17829: <-0.006810, -0.005114, 0.001168> + 17830: <-0.006846, -0.005140, 0.000781> + 17831: <-0.006605, -0.005466, 0.000777> + 17832: <-0.006810, -0.005114, 0.001168> + 17833: <-0.007032, -0.004776, 0.001176> + 17834: <-0.007069, -0.004800, 0.000786> + 17835: <-0.006846, -0.005140, 0.000781> + 17836: <-0.007032, -0.004776, 0.001176> + 17837: <-0.007236, -0.004424, 0.001185> + 17838: <-0.007275, -0.004446, 0.000792> + 17839: <-0.007069, -0.004800, 0.000786> + 17840: <-0.007236, -0.004424, 0.001185> + 17841: <-0.007423, -0.004061, 0.001196> + 17842: <-0.007462, -0.004081, 0.000799> + 17843: <-0.007275, -0.004446, 0.000792> + 17844: <-0.007423, -0.004061, 0.001196> + 17845: <-0.007591, -0.003686, 0.001207> + 17846: <-0.007632, -0.003704, 0.000807> + 17847: <-0.007462, -0.004081, 0.000799> + 17848: <-0.007591, -0.003686, 0.001207> + 17849: <-0.007743, -0.003302, 0.001219> + 17850: <-0.007785, -0.003318, 0.000814> + 17851: <-0.007632, -0.003704, 0.000807> + 17852: <-0.007743, -0.003302, 0.001219> + 17853: <-0.007876, -0.002908, 0.001230> + 17854: <-0.007919, -0.002922, 0.000822> + 17855: <-0.007785, -0.003318, 0.000814> + 17856: <-0.007876, -0.002908, 0.001230> + 17857: <-0.007992, -0.002507, 0.001241> + 17858: <-0.008036, -0.002519, 0.000829> + 17859: <-0.007919, -0.002922, 0.000822> + 17860: <-0.007992, -0.002507, 0.001241> + 17861: <-0.008090, -0.002099, 0.001252> + 17862: <-0.008134, -0.002109, 0.000836> + 17863: <-0.008036, -0.002519, 0.000829> + 17864: <-0.008090, -0.002099, 0.001252> + 17865: <-0.008171, -0.001686, 0.001261> + 17866: <-0.008215, -0.001694, 0.000842> + 17867: <-0.008134, -0.002109, 0.000836> + 17868: <-0.008171, -0.001686, 0.001261> + 17869: <-0.008233, -0.001269, 0.001269> + 17870: <-0.008278, -0.001275, 0.000848> + 17871: <-0.008215, -0.001694, 0.000842> + 17872: <-0.008233, -0.001269, 0.001269> + 17873: <-0.008278, -0.000848, 0.001275> + 17874: <-0.008323, -0.000852, 0.000852> + 17875: <-0.008278, -0.001275, 0.000848> + 17876: <-0.008278, -0.000848, 0.001275> + 17877: <-0.008305, -0.000424, 0.001278> + 17878: <-0.008350, -0.000426, 0.000854> + 17879: <-0.008323, -0.000852, 0.000852> + 17880: <-0.008305, -0.000424, 0.001278> + 17881: <-0.008314, -0.000000, 0.001280> + 17882: <-0.008359, -0.000000, 0.000855> + 17883: <-0.008350, -0.000426, 0.000854> + 17884: <-0.008314, -0.000000, 0.001280> + 17885: <-0.008305, 0.000424, 0.001278> + 17886: <-0.008350, 0.000426, 0.000854> + 17887: <-0.008359, -0.000000, 0.000855> + 17888: <-0.008305, 0.000424, 0.001278> + 17889: <-0.008278, 0.000848, 0.001275> + 17890: <-0.008323, 0.000852, 0.000852> + 17891: <-0.008350, 0.000426, 0.000854> + 17892: <-0.008278, 0.000848, 0.001275> + 17893: <-0.008233, 0.001269, 0.001269> + 17894: <-0.008278, 0.001275, 0.000848> + 17895: <-0.008323, 0.000852, 0.000852> + 17896: <-0.008233, 0.001269, 0.001269> + 17897: <-0.008171, 0.001686, 0.001261> + 17898: <-0.008215, 0.001694, 0.000842> + 17899: <-0.008278, 0.001275, 0.000848> + 17900: <-0.008171, 0.001686, 0.001261> + 17901: <-0.008090, 0.002099, 0.001252> + 17902: <-0.008134, 0.002109, 0.000836> + 17903: <-0.008215, 0.001694, 0.000842> + 17904: <-0.008090, 0.002099, 0.001252> + 17905: <-0.007992, 0.002507, 0.001241> + 17906: <-0.008036, 0.002519, 0.000829> + 17907: <-0.008134, 0.002109, 0.000836> + 17908: <-0.007992, 0.002507, 0.001241> + 17909: <-0.007876, 0.002908, 0.001230> + 17910: <-0.007919, 0.002922, 0.000822> + 17911: <-0.008036, 0.002519, 0.000829> + 17912: <-0.007876, 0.002908, 0.001230> + 17913: <-0.007743, 0.003302, 0.001219> + 17914: <-0.007785, 0.003318, 0.000814> + 17915: <-0.007919, 0.002922, 0.000822> + 17916: <-0.007743, 0.003302, 0.001219> + 17917: <-0.007591, 0.003686, 0.001207> + 17918: <-0.007632, 0.003704, 0.000807> + 17919: <-0.007785, 0.003318, 0.000814> + 17920: <-0.007591, 0.003686, 0.001207> + 17921: <-0.007423, 0.004061, 0.001196> + 17922: <-0.007462, 0.004081, 0.000799> + 17923: <-0.007632, 0.003704, 0.000807> + 17924: <-0.007423, 0.004061, 0.001196> + 17925: <-0.007236, 0.004424, 0.001185> + 17926: <-0.007275, 0.004446, 0.000792> + 17927: <-0.007462, 0.004081, 0.000799> + 17928: <-0.007236, 0.004424, 0.001185> + 17929: <-0.007032, 0.004776, 0.001176> + 17930: <-0.007069, 0.004800, 0.000786> + 17931: <-0.007275, 0.004446, 0.000792> + 17932: <-0.007032, 0.004776, 0.001176> + 17933: <-0.006810, 0.005114, 0.001168> + 17934: <-0.006846, 0.005140, 0.000781> + 17935: <-0.007069, 0.004800, 0.000786> + 17936: <-0.006810, 0.005114, 0.001168> + 17937: <-0.006570, 0.005438, 0.001161> + 17938: <-0.006605, 0.005466, 0.000777> + 17939: <-0.006846, 0.005140, 0.000781> + 17940: <-0.006570, 0.005438, 0.001161> + 17941: <-0.006313, 0.005747, 0.001157> + 17942: <-0.006346, 0.005776, 0.000774> + 17943: <-0.006605, 0.005466, 0.000777> + 17944: <-0.006346, -0.005776, 0.000774> + 17945: <-0.006605, -0.005466, 0.000777> + 17946: <-0.006626, -0.005483, 0.000389> + 17947: <-0.006366, -0.005794, 0.000388> + 17948: <-0.006605, -0.005466, 0.000777> + 17949: <-0.006846, -0.005140, 0.000781> + 17950: <-0.006868, -0.005156, 0.000391> + 17951: <-0.006626, -0.005483, 0.000389> + 17952: <-0.006846, -0.005140, 0.000781> + 17953: <-0.007069, -0.004800, 0.000786> + 17954: <-0.007092, -0.004815, 0.000394> + 17955: <-0.006868, -0.005156, 0.000391> + 17956: <-0.007069, -0.004800, 0.000786> + 17957: <-0.007275, -0.004446, 0.000792> + 17958: <-0.007298, -0.004460, 0.000397> + 17959: <-0.007092, -0.004815, 0.000394> + 17960: <-0.007275, -0.004446, 0.000792> + 17961: <-0.007462, -0.004081, 0.000799> + 17962: <-0.007487, -0.004093, 0.000400> + 17963: <-0.007298, -0.004460, 0.000397> + 17964: <-0.007462, -0.004081, 0.000799> + 17965: <-0.007632, -0.003704, 0.000807> + 17966: <-0.007657, -0.003716, 0.000404> + 17967: <-0.007487, -0.004093, 0.000400> + 17968: <-0.007632, -0.003704, 0.000807> + 17969: <-0.007785, -0.003318, 0.000814> + 17970: <-0.007810, -0.003328, 0.000408> + 17971: <-0.007657, -0.003716, 0.000404> + 17972: <-0.007785, -0.003318, 0.000814> + 17973: <-0.007919, -0.002922, 0.000822> + 17974: <-0.007945, -0.002931, 0.000412> + 17975: <-0.007810, -0.003328, 0.000408> + 17976: <-0.007919, -0.002922, 0.000822> + 17977: <-0.008036, -0.002519, 0.000829> + 17978: <-0.008062, -0.002527, 0.000415> + 17979: <-0.007945, -0.002931, 0.000412> + 17980: <-0.008036, -0.002519, 0.000829> + 17981: <-0.008134, -0.002109, 0.000836> + 17982: <-0.008161, -0.002116, 0.000419> + 17983: <-0.008062, -0.002527, 0.000415> + 17984: <-0.008134, -0.002109, 0.000836> + 17985: <-0.008215, -0.001694, 0.000842> + 17986: <-0.008242, -0.001699, 0.000422> + 17987: <-0.008161, -0.002116, 0.000419> + 17988: <-0.008215, -0.001694, 0.000842> + 17989: <-0.008278, -0.001275, 0.000848> + 17990: <-0.008305, -0.001278, 0.000424> + 17991: <-0.008242, -0.001699, 0.000422> + 17992: <-0.008278, -0.001275, 0.000848> + 17993: <-0.008323, -0.000852, 0.000852> + 17994: <-0.008350, -0.000854, 0.000426> + 17995: <-0.008305, -0.001278, 0.000424> + 17996: <-0.008323, -0.000852, 0.000852> + 17997: <-0.008350, -0.000426, 0.000854> + 17998: <-0.008377, -0.000428, 0.000428> + 17999: <-0.008350, -0.000854, 0.000426> + 18000: <-0.008350, -0.000426, 0.000854> + 18001: <-0.008359, -0.000000, 0.000855> + 18002: <-0.008386, -0.000000, 0.000428> + 18003: <-0.008377, -0.000428, 0.000428> + 18004: <-0.008359, -0.000000, 0.000855> + 18005: <-0.008350, 0.000426, 0.000854> + 18006: <-0.008377, 0.000428, 0.000428> + 18007: <-0.008386, -0.000000, 0.000428> + 18008: <-0.008350, 0.000426, 0.000854> + 18009: <-0.008323, 0.000852, 0.000852> + 18010: <-0.008350, 0.000854, 0.000426> + 18011: <-0.008377, 0.000428, 0.000428> + 18012: <-0.008323, 0.000852, 0.000852> + 18013: <-0.008278, 0.001275, 0.000848> + 18014: <-0.008305, 0.001278, 0.000424> + 18015: <-0.008350, 0.000854, 0.000426> + 18016: <-0.008278, 0.001275, 0.000848> + 18017: <-0.008215, 0.001694, 0.000842> + 18018: <-0.008242, 0.001699, 0.000422> + 18019: <-0.008305, 0.001278, 0.000424> + 18020: <-0.008215, 0.001694, 0.000842> + 18021: <-0.008134, 0.002109, 0.000836> + 18022: <-0.008161, 0.002116, 0.000419> + 18023: <-0.008242, 0.001699, 0.000422> + 18024: <-0.008134, 0.002109, 0.000836> + 18025: <-0.008036, 0.002519, 0.000829> + 18026: <-0.008062, 0.002527, 0.000415> + 18027: <-0.008161, 0.002116, 0.000419> + 18028: <-0.008036, 0.002519, 0.000829> + 18029: <-0.007919, 0.002922, 0.000822> + 18030: <-0.007945, 0.002931, 0.000412> + 18031: <-0.008062, 0.002527, 0.000415> + 18032: <-0.007919, 0.002922, 0.000822> + 18033: <-0.007785, 0.003318, 0.000814> + 18034: <-0.007810, 0.003328, 0.000408> + 18035: <-0.007945, 0.002931, 0.000412> + 18036: <-0.007785, 0.003318, 0.000814> + 18037: <-0.007632, 0.003704, 0.000807> + 18038: <-0.007657, 0.003716, 0.000404> + 18039: <-0.007810, 0.003328, 0.000408> + 18040: <-0.007632, 0.003704, 0.000807> + 18041: <-0.007462, 0.004081, 0.000799> + 18042: <-0.007487, 0.004093, 0.000400> + 18043: <-0.007657, 0.003716, 0.000404> + 18044: <-0.007462, 0.004081, 0.000799> + 18045: <-0.007275, 0.004446, 0.000792> + 18046: <-0.007298, 0.004460, 0.000397> + 18047: <-0.007487, 0.004093, 0.000400> + 18048: <-0.007275, 0.004446, 0.000792> + 18049: <-0.007069, 0.004800, 0.000786> + 18050: <-0.007092, 0.004815, 0.000394> + 18051: <-0.007298, 0.004460, 0.000397> + 18052: <-0.007069, 0.004800, 0.000786> + 18053: <-0.006846, 0.005140, 0.000781> + 18054: <-0.006868, 0.005156, 0.000391> + 18055: <-0.007092, 0.004815, 0.000394> + 18056: <-0.006846, 0.005140, 0.000781> + 18057: <-0.006605, 0.005466, 0.000777> + 18058: <-0.006626, 0.005483, 0.000389> + 18059: <-0.006868, 0.005156, 0.000391> + 18060: <-0.006605, 0.005466, 0.000777> + 18061: <-0.006346, 0.005776, 0.000774> + 18062: <-0.006366, 0.005794, 0.000388> + 18063: <-0.006626, 0.005483, 0.000389> + 18064: <-0.006366, -0.005794, 0.000388> + 18065: <-0.006626, -0.005483, 0.000389> + 18066: <-0.006633, -0.005489, 0.000000> + 18067: <-0.006373, -0.005801, 0.000000> + 18068: <-0.006626, -0.005483, 0.000389> + 18069: <-0.006868, -0.005156, 0.000391> + 18070: <-0.006875, -0.005162, 0.000000> + 18071: <-0.006633, -0.005489, 0.000000> + 18072: <-0.006868, -0.005156, 0.000391> + 18073: <-0.007092, -0.004815, 0.000394> + 18074: <-0.007099, -0.004820, -0.000000> + 18075: <-0.006875, -0.005162, 0.000000> + 18076: <-0.007092, -0.004815, 0.000394> + 18077: <-0.007298, -0.004460, 0.000397> + 18078: <-0.007306, -0.004465, -0.000000> + 18079: <-0.007099, -0.004820, -0.000000> + 18080: <-0.007298, -0.004460, 0.000397> + 18081: <-0.007487, -0.004093, 0.000400> + 18082: <-0.007495, -0.004098, -0.000000> + 18083: <-0.007306, -0.004465, -0.000000> + 18084: <-0.007487, -0.004093, 0.000400> + 18085: <-0.007657, -0.003716, 0.000404> + 18086: <-0.007665, -0.003720, -0.000000> + 18087: <-0.007495, -0.004098, -0.000000> + 18088: <-0.007657, -0.003716, 0.000404> + 18089: <-0.007810, -0.003328, 0.000408> + 18090: <-0.007818, -0.003331, -0.000000> + 18091: <-0.007665, -0.003720, -0.000000> + 18092: <-0.007810, -0.003328, 0.000408> + 18093: <-0.007945, -0.002931, 0.000412> + 18094: <-0.007953, -0.002934, -0.000000> + 18095: <-0.007818, -0.003331, -0.000000> + 18096: <-0.007945, -0.002931, 0.000412> + 18097: <-0.008062, -0.002527, 0.000415> + 18098: <-0.008070, -0.002530, -0.000000> + 18099: <-0.007953, -0.002934, -0.000000> + 18100: <-0.008062, -0.002527, 0.000415> + 18101: <-0.008161, -0.002116, 0.000419> + 18102: <-0.008169, -0.002118, -0.000000> + 18103: <-0.008070, -0.002530, -0.000000> + 18104: <-0.008161, -0.002116, 0.000419> + 18105: <-0.008242, -0.001699, 0.000422> + 18106: <-0.008251, -0.001701, 0.000000> + 18107: <-0.008169, -0.002118, -0.000000> + 18108: <-0.008242, -0.001699, 0.000422> + 18109: <-0.008305, -0.001278, 0.000424> + 18110: <-0.008314, -0.001280, 0.000000> + 18111: <-0.008251, -0.001701, 0.000000> + 18112: <-0.008305, -0.001278, 0.000424> + 18113: <-0.008350, -0.000854, 0.000426> + 18114: <-0.008359, -0.000855, 0.000000> + 18115: <-0.008314, -0.001280, 0.000000> + 18116: <-0.008350, -0.000854, 0.000426> + 18117: <-0.008377, -0.000428, 0.000428> + 18118: <-0.008386, -0.000428, 0.000000> + 18119: <-0.008359, -0.000855, 0.000000> + 18120: <-0.008377, -0.000428, 0.000428> + 18121: <-0.008386, -0.000000, 0.000428> + 18122: <-0.008395, 0.000000, 0.000000> + 18123: <-0.008386, -0.000428, 0.000000> + 18124: <-0.008386, -0.000000, 0.000428> + 18125: <-0.008377, 0.000428, 0.000428> + 18126: <-0.008386, 0.000428, 0.000000> + 18127: <-0.008395, 0.000000, 0.000000> + 18128: <-0.008377, 0.000428, 0.000428> + 18129: <-0.008350, 0.000854, 0.000426> + 18130: <-0.008359, 0.000855, 0.000000> + 18131: <-0.008386, 0.000428, 0.000000> + 18132: <-0.008350, 0.000854, 0.000426> + 18133: <-0.008305, 0.001278, 0.000424> + 18134: <-0.008314, 0.001280, 0.000000> + 18135: <-0.008359, 0.000855, 0.000000> + 18136: <-0.008305, 0.001278, 0.000424> + 18137: <-0.008242, 0.001699, 0.000422> + 18138: <-0.008251, 0.001701, 0.000000> + 18139: <-0.008314, 0.001280, 0.000000> + 18140: <-0.008242, 0.001699, 0.000422> + 18141: <-0.008161, 0.002116, 0.000419> + 18142: <-0.008169, 0.002118, 0.000000> + 18143: <-0.008251, 0.001701, 0.000000> + 18144: <-0.008161, 0.002116, 0.000419> + 18145: <-0.008062, 0.002527, 0.000415> + 18146: <-0.008070, 0.002530, 0.000000> + 18147: <-0.008169, 0.002118, 0.000000> + 18148: <-0.008062, 0.002527, 0.000415> + 18149: <-0.007945, 0.002931, 0.000412> + 18150: <-0.007953, 0.002934, 0.000000> + 18151: <-0.008070, 0.002530, 0.000000> + 18152: <-0.007945, 0.002931, 0.000412> + 18153: <-0.007810, 0.003328, 0.000408> + 18154: <-0.007818, 0.003331, 0.000000> + 18155: <-0.007953, 0.002934, 0.000000> + 18156: <-0.007810, 0.003328, 0.000408> + 18157: <-0.007657, 0.003716, 0.000404> + 18158: <-0.007665, 0.003720, 0.000000> + 18159: <-0.007818, 0.003331, 0.000000> + 18160: <-0.007657, 0.003716, 0.000404> + 18161: <-0.007487, 0.004093, 0.000400> + 18162: <-0.007495, 0.004098, 0.000000> + 18163: <-0.007665, 0.003720, 0.000000> + 18164: <-0.007487, 0.004093, 0.000400> + 18165: <-0.007298, 0.004460, 0.000397> + 18166: <-0.007306, 0.004465, 0.000000> + 18167: <-0.007495, 0.004098, 0.000000> + 18168: <-0.007298, 0.004460, 0.000397> + 18169: <-0.007092, 0.004815, 0.000394> + 18170: <-0.007099, 0.004820, 0.000000> + 18171: <-0.007306, 0.004465, 0.000000> + 18172: <-0.007092, 0.004815, 0.000394> + 18173: <-0.006868, 0.005156, 0.000391> + 18174: <-0.006875, 0.005162, 0.000000> + 18175: <-0.007099, 0.004820, 0.000000> + 18176: <-0.006868, 0.005156, 0.000391> + 18177: <-0.006626, 0.005483, 0.000389> + 18178: <-0.006633, 0.005489, 0.000000> + 18179: <-0.006875, 0.005162, 0.000000> + 18180: <-0.006626, 0.005483, 0.000389> + 18181: <-0.006366, 0.005794, 0.000388> + 18182: <-0.006373, 0.005801, 0.000000> + 18183: <-0.006633, 0.005489, 0.000000> + 18184: <-0.006373, -0.005801, 0.000000> + 18185: <-0.006633, -0.005489, 0.000000> + 18186: <-0.006626, -0.005483, -0.000389> + 18187: <-0.006366, -0.005794, -0.000388> + 18188: <-0.006633, -0.005489, 0.000000> + 18189: <-0.006875, -0.005162, 0.000000> + 18190: <-0.006868, -0.005156, -0.000391> + 18191: <-0.006626, -0.005483, -0.000389> + 18192: <-0.006875, -0.005162, 0.000000> + 18193: <-0.007099, -0.004820, -0.000000> + 18194: <-0.007092, -0.004815, -0.000394> + 18195: <-0.006868, -0.005156, -0.000391> + 18196: <-0.007099, -0.004820, -0.000000> + 18197: <-0.007306, -0.004465, -0.000000> + 18198: <-0.007298, -0.004460, -0.000397> + 18199: <-0.007092, -0.004815, -0.000394> + 18200: <-0.007306, -0.004465, -0.000000> + 18201: <-0.007495, -0.004098, -0.000000> + 18202: <-0.007487, -0.004093, -0.000400> + 18203: <-0.007298, -0.004460, -0.000397> + 18204: <-0.007495, -0.004098, -0.000000> + 18205: <-0.007665, -0.003720, -0.000000> + 18206: <-0.007657, -0.003716, -0.000404> + 18207: <-0.007487, -0.004093, -0.000400> + 18208: <-0.007665, -0.003720, -0.000000> + 18209: <-0.007818, -0.003331, -0.000000> + 18210: <-0.007810, -0.003328, -0.000408> + 18211: <-0.007657, -0.003716, -0.000404> + 18212: <-0.007818, -0.003331, -0.000000> + 18213: <-0.007953, -0.002934, -0.000000> + 18214: <-0.007945, -0.002931, -0.000412> + 18215: <-0.007810, -0.003328, -0.000408> + 18216: <-0.007953, -0.002934, -0.000000> + 18217: <-0.008070, -0.002530, -0.000000> + 18218: <-0.008062, -0.002527, -0.000415> + 18219: <-0.007945, -0.002931, -0.000412> + 18220: <-0.008070, -0.002530, -0.000000> + 18221: <-0.008169, -0.002118, -0.000000> + 18222: <-0.008161, -0.002116, -0.000419> + 18223: <-0.008062, -0.002527, -0.000415> + 18224: <-0.008169, -0.002118, -0.000000> + 18225: <-0.008251, -0.001701, 0.000000> + 18226: <-0.008242, -0.001699, -0.000422> + 18227: <-0.008161, -0.002116, -0.000419> + 18228: <-0.008251, -0.001701, 0.000000> + 18229: <-0.008314, -0.001280, 0.000000> + 18230: <-0.008305, -0.001278, -0.000424> + 18231: <-0.008242, -0.001699, -0.000422> + 18232: <-0.008314, -0.001280, 0.000000> + 18233: <-0.008359, -0.000855, 0.000000> + 18234: <-0.008350, -0.000854, -0.000426> + 18235: <-0.008305, -0.001278, -0.000424> + 18236: <-0.008359, -0.000855, 0.000000> + 18237: <-0.008386, -0.000428, 0.000000> + 18238: <-0.008377, -0.000428, -0.000428> + 18239: <-0.008350, -0.000854, -0.000426> + 18240: <-0.008386, -0.000428, 0.000000> + 18241: <-0.008395, 0.000000, 0.000000> + 18242: <-0.008386, 0.000000, -0.000428> + 18243: <-0.008377, -0.000428, -0.000428> + 18244: <-0.008395, 0.000000, 0.000000> + 18245: <-0.008386, 0.000428, 0.000000> + 18246: <-0.008377, 0.000428, -0.000428> + 18247: <-0.008386, 0.000000, -0.000428> + 18248: <-0.008386, 0.000428, 0.000000> + 18249: <-0.008359, 0.000855, 0.000000> + 18250: <-0.008350, 0.000854, -0.000426> + 18251: <-0.008377, 0.000428, -0.000428> + 18252: <-0.008359, 0.000855, 0.000000> + 18253: <-0.008314, 0.001280, 0.000000> + 18254: <-0.008305, 0.001278, -0.000424> + 18255: <-0.008350, 0.000854, -0.000426> + 18256: <-0.008314, 0.001280, 0.000000> + 18257: <-0.008251, 0.001701, 0.000000> + 18258: <-0.008242, 0.001699, -0.000422> + 18259: <-0.008305, 0.001278, -0.000424> + 18260: <-0.008251, 0.001701, 0.000000> + 18261: <-0.008169, 0.002118, 0.000000> + 18262: <-0.008161, 0.002116, -0.000419> + 18263: <-0.008242, 0.001699, -0.000422> + 18264: <-0.008169, 0.002118, 0.000000> + 18265: <-0.008070, 0.002530, 0.000000> + 18266: <-0.008062, 0.002527, -0.000415> + 18267: <-0.008161, 0.002116, -0.000419> + 18268: <-0.008070, 0.002530, 0.000000> + 18269: <-0.007953, 0.002934, 0.000000> + 18270: <-0.007945, 0.002931, -0.000412> + 18271: <-0.008062, 0.002527, -0.000415> + 18272: <-0.007953, 0.002934, 0.000000> + 18273: <-0.007818, 0.003331, 0.000000> + 18274: <-0.007810, 0.003328, -0.000408> + 18275: <-0.007945, 0.002931, -0.000412> + 18276: <-0.007818, 0.003331, 0.000000> + 18277: <-0.007665, 0.003720, 0.000000> + 18278: <-0.007657, 0.003716, -0.000404> + 18279: <-0.007810, 0.003328, -0.000408> + 18280: <-0.007665, 0.003720, 0.000000> + 18281: <-0.007495, 0.004098, 0.000000> + 18282: <-0.007487, 0.004093, -0.000400> + 18283: <-0.007657, 0.003716, -0.000404> + 18284: <-0.007495, 0.004098, 0.000000> + 18285: <-0.007306, 0.004465, 0.000000> + 18286: <-0.007298, 0.004460, -0.000397> + 18287: <-0.007487, 0.004093, -0.000400> + 18288: <-0.007306, 0.004465, 0.000000> + 18289: <-0.007099, 0.004820, 0.000000> + 18290: <-0.007092, 0.004815, -0.000394> + 18291: <-0.007298, 0.004460, -0.000397> + 18292: <-0.007099, 0.004820, 0.000000> + 18293: <-0.006875, 0.005162, 0.000000> + 18294: <-0.006868, 0.005156, -0.000391> + 18295: <-0.007092, 0.004815, -0.000394> + 18296: <-0.006875, 0.005162, 0.000000> + 18297: <-0.006633, 0.005489, 0.000000> + 18298: <-0.006626, 0.005483, -0.000389> + 18299: <-0.006868, 0.005156, -0.000391> + 18300: <-0.006633, 0.005489, 0.000000> + 18301: <-0.006373, 0.005801, 0.000000> + 18302: <-0.006366, 0.005794, -0.000388> + 18303: <-0.006626, 0.005483, -0.000389> + 18304: <-0.006366, -0.005794, -0.000388> + 18305: <-0.006626, -0.005483, -0.000389> + 18306: <-0.006605, -0.005466, -0.000777> + 18307: <-0.006346, -0.005776, -0.000774> + 18308: <-0.006626, -0.005483, -0.000389> + 18309: <-0.006868, -0.005156, -0.000391> + 18310: <-0.006846, -0.005140, -0.000781> + 18311: <-0.006605, -0.005466, -0.000777> + 18312: <-0.006868, -0.005156, -0.000391> + 18313: <-0.007092, -0.004815, -0.000394> + 18314: <-0.007069, -0.004800, -0.000786> + 18315: <-0.006846, -0.005140, -0.000781> + 18316: <-0.007092, -0.004815, -0.000394> + 18317: <-0.007298, -0.004460, -0.000397> + 18318: <-0.007275, -0.004446, -0.000792> + 18319: <-0.007069, -0.004800, -0.000786> + 18320: <-0.007298, -0.004460, -0.000397> + 18321: <-0.007487, -0.004093, -0.000400> + 18322: <-0.007462, -0.004081, -0.000799> + 18323: <-0.007275, -0.004446, -0.000792> + 18324: <-0.007487, -0.004093, -0.000400> + 18325: <-0.007657, -0.003716, -0.000404> + 18326: <-0.007632, -0.003704, -0.000807> + 18327: <-0.007462, -0.004081, -0.000799> + 18328: <-0.007657, -0.003716, -0.000404> + 18329: <-0.007810, -0.003328, -0.000408> + 18330: <-0.007785, -0.003318, -0.000814> + 18331: <-0.007632, -0.003704, -0.000807> + 18332: <-0.007810, -0.003328, -0.000408> + 18333: <-0.007945, -0.002931, -0.000412> + 18334: <-0.007919, -0.002922, -0.000822> + 18335: <-0.007785, -0.003318, -0.000814> + 18336: <-0.007945, -0.002931, -0.000412> + 18337: <-0.008062, -0.002527, -0.000415> + 18338: <-0.008036, -0.002519, -0.000829> + 18339: <-0.007919, -0.002922, -0.000822> + 18340: <-0.008062, -0.002527, -0.000415> + 18341: <-0.008161, -0.002116, -0.000419> + 18342: <-0.008134, -0.002109, -0.000836> + 18343: <-0.008036, -0.002519, -0.000829> + 18344: <-0.008161, -0.002116, -0.000419> + 18345: <-0.008242, -0.001699, -0.000422> + 18346: <-0.008215, -0.001694, -0.000842> + 18347: <-0.008134, -0.002109, -0.000836> + 18348: <-0.008242, -0.001699, -0.000422> + 18349: <-0.008305, -0.001278, -0.000424> + 18350: <-0.008278, -0.001275, -0.000848> + 18351: <-0.008215, -0.001694, -0.000842> + 18352: <-0.008305, -0.001278, -0.000424> + 18353: <-0.008350, -0.000854, -0.000426> + 18354: <-0.008323, -0.000852, -0.000852> + 18355: <-0.008278, -0.001275, -0.000848> + 18356: <-0.008350, -0.000854, -0.000426> + 18357: <-0.008377, -0.000428, -0.000428> + 18358: <-0.008350, -0.000426, -0.000854> + 18359: <-0.008323, -0.000852, -0.000852> + 18360: <-0.008377, -0.000428, -0.000428> + 18361: <-0.008386, 0.000000, -0.000428> + 18362: <-0.008359, 0.000000, -0.000855> + 18363: <-0.008350, -0.000426, -0.000854> + 18364: <-0.008386, 0.000000, -0.000428> + 18365: <-0.008377, 0.000428, -0.000428> + 18366: <-0.008350, 0.000426, -0.000854> + 18367: <-0.008359, 0.000000, -0.000855> + 18368: <-0.008377, 0.000428, -0.000428> + 18369: <-0.008350, 0.000854, -0.000426> + 18370: <-0.008323, 0.000852, -0.000852> + 18371: <-0.008350, 0.000426, -0.000854> + 18372: <-0.008350, 0.000854, -0.000426> + 18373: <-0.008305, 0.001278, -0.000424> + 18374: <-0.008278, 0.001275, -0.000848> + 18375: <-0.008323, 0.000852, -0.000852> + 18376: <-0.008305, 0.001278, -0.000424> + 18377: <-0.008242, 0.001699, -0.000422> + 18378: <-0.008215, 0.001694, -0.000842> + 18379: <-0.008278, 0.001275, -0.000848> + 18380: <-0.008242, 0.001699, -0.000422> + 18381: <-0.008161, 0.002116, -0.000419> + 18382: <-0.008134, 0.002109, -0.000836> + 18383: <-0.008215, 0.001694, -0.000842> + 18384: <-0.008161, 0.002116, -0.000419> + 18385: <-0.008062, 0.002527, -0.000415> + 18386: <-0.008036, 0.002519, -0.000829> + 18387: <-0.008134, 0.002109, -0.000836> + 18388: <-0.008062, 0.002527, -0.000415> + 18389: <-0.007945, 0.002931, -0.000412> + 18390: <-0.007919, 0.002922, -0.000822> + 18391: <-0.008036, 0.002519, -0.000829> + 18392: <-0.007945, 0.002931, -0.000412> + 18393: <-0.007810, 0.003328, -0.000408> + 18394: <-0.007785, 0.003318, -0.000814> + 18395: <-0.007919, 0.002922, -0.000822> + 18396: <-0.007810, 0.003328, -0.000408> + 18397: <-0.007657, 0.003716, -0.000404> + 18398: <-0.007632, 0.003704, -0.000807> + 18399: <-0.007785, 0.003318, -0.000814> + 18400: <-0.007657, 0.003716, -0.000404> + 18401: <-0.007487, 0.004093, -0.000400> + 18402: <-0.007462, 0.004081, -0.000799> + 18403: <-0.007632, 0.003704, -0.000807> + 18404: <-0.007487, 0.004093, -0.000400> + 18405: <-0.007298, 0.004460, -0.000397> + 18406: <-0.007275, 0.004446, -0.000792> + 18407: <-0.007462, 0.004081, -0.000799> + 18408: <-0.007298, 0.004460, -0.000397> + 18409: <-0.007092, 0.004815, -0.000394> + 18410: <-0.007069, 0.004800, -0.000786> + 18411: <-0.007275, 0.004446, -0.000792> + 18412: <-0.007092, 0.004815, -0.000394> + 18413: <-0.006868, 0.005156, -0.000391> + 18414: <-0.006846, 0.005140, -0.000781> + 18415: <-0.007069, 0.004800, -0.000786> + 18416: <-0.006868, 0.005156, -0.000391> + 18417: <-0.006626, 0.005483, -0.000389> + 18418: <-0.006605, 0.005466, -0.000777> + 18419: <-0.006846, 0.005140, -0.000781> + 18420: <-0.006626, 0.005483, -0.000389> + 18421: <-0.006366, 0.005794, -0.000388> + 18422: <-0.006346, 0.005776, -0.000774> + 18423: <-0.006605, 0.005466, -0.000777> + 18424: <-0.006346, -0.005776, -0.000774> + 18425: <-0.006605, -0.005466, -0.000777> + 18426: <-0.006570, -0.005438, -0.001161> + 18427: <-0.006313, -0.005747, -0.001157> + 18428: <-0.006605, -0.005466, -0.000777> + 18429: <-0.006846, -0.005140, -0.000781> + 18430: <-0.006810, -0.005114, -0.001168> + 18431: <-0.006570, -0.005438, -0.001161> + 18432: <-0.006846, -0.005140, -0.000781> + 18433: <-0.007069, -0.004800, -0.000786> + 18434: <-0.007032, -0.004776, -0.001176> + 18435: <-0.006810, -0.005114, -0.001168> + 18436: <-0.007069, -0.004800, -0.000786> + 18437: <-0.007275, -0.004446, -0.000792> + 18438: <-0.007236, -0.004424, -0.001185> + 18439: <-0.007032, -0.004776, -0.001176> + 18440: <-0.007275, -0.004446, -0.000792> + 18441: <-0.007462, -0.004081, -0.000799> + 18442: <-0.007423, -0.004061, -0.001196> + 18443: <-0.007236, -0.004424, -0.001185> + 18444: <-0.007462, -0.004081, -0.000799> + 18445: <-0.007632, -0.003704, -0.000807> + 18446: <-0.007591, -0.003686, -0.001207> + 18447: <-0.007423, -0.004061, -0.001196> + 18448: <-0.007632, -0.003704, -0.000807> + 18449: <-0.007785, -0.003318, -0.000814> + 18450: <-0.007743, -0.003302, -0.001219> + 18451: <-0.007591, -0.003686, -0.001207> + 18452: <-0.007785, -0.003318, -0.000814> + 18453: <-0.007919, -0.002922, -0.000822> + 18454: <-0.007876, -0.002908, -0.001230> + 18455: <-0.007743, -0.003302, -0.001219> + 18456: <-0.007919, -0.002922, -0.000822> + 18457: <-0.008036, -0.002519, -0.000829> + 18458: <-0.007992, -0.002507, -0.001241> + 18459: <-0.007876, -0.002908, -0.001230> + 18460: <-0.008036, -0.002519, -0.000829> + 18461: <-0.008134, -0.002109, -0.000836> + 18462: <-0.008090, -0.002099, -0.001252> + 18463: <-0.007992, -0.002507, -0.001241> + 18464: <-0.008134, -0.002109, -0.000836> + 18465: <-0.008215, -0.001694, -0.000842> + 18466: <-0.008171, -0.001686, -0.001261> + 18467: <-0.008090, -0.002099, -0.001252> + 18468: <-0.008215, -0.001694, -0.000842> + 18469: <-0.008278, -0.001275, -0.000848> + 18470: <-0.008233, -0.001269, -0.001269> + 18471: <-0.008171, -0.001686, -0.001261> + 18472: <-0.008278, -0.001275, -0.000848> + 18473: <-0.008323, -0.000852, -0.000852> + 18474: <-0.008278, -0.000848, -0.001275> + 18475: <-0.008233, -0.001269, -0.001269> + 18476: <-0.008323, -0.000852, -0.000852> + 18477: <-0.008350, -0.000426, -0.000854> + 18478: <-0.008305, -0.000424, -0.001278> + 18479: <-0.008278, -0.000848, -0.001275> + 18480: <-0.008350, -0.000426, -0.000854> + 18481: <-0.008359, 0.000000, -0.000855> + 18482: <-0.008314, 0.000000, -0.001280> + 18483: <-0.008305, -0.000424, -0.001278> + 18484: <-0.008359, 0.000000, -0.000855> + 18485: <-0.008350, 0.000426, -0.000854> + 18486: <-0.008305, 0.000424, -0.001278> + 18487: <-0.008314, 0.000000, -0.001280> + 18488: <-0.008350, 0.000426, -0.000854> + 18489: <-0.008323, 0.000852, -0.000852> + 18490: <-0.008278, 0.000848, -0.001275> + 18491: <-0.008305, 0.000424, -0.001278> + 18492: <-0.008323, 0.000852, -0.000852> + 18493: <-0.008278, 0.001275, -0.000848> + 18494: <-0.008233, 0.001269, -0.001269> + 18495: <-0.008278, 0.000848, -0.001275> + 18496: <-0.008278, 0.001275, -0.000848> + 18497: <-0.008215, 0.001694, -0.000842> + 18498: <-0.008171, 0.001686, -0.001261> + 18499: <-0.008233, 0.001269, -0.001269> + 18500: <-0.008215, 0.001694, -0.000842> + 18501: <-0.008134, 0.002109, -0.000836> + 18502: <-0.008090, 0.002099, -0.001252> + 18503: <-0.008171, 0.001686, -0.001261> + 18504: <-0.008134, 0.002109, -0.000836> + 18505: <-0.008036, 0.002519, -0.000829> + 18506: <-0.007992, 0.002507, -0.001241> + 18507: <-0.008090, 0.002099, -0.001252> + 18508: <-0.008036, 0.002519, -0.000829> + 18509: <-0.007919, 0.002922, -0.000822> + 18510: <-0.007876, 0.002908, -0.001230> + 18511: <-0.007992, 0.002507, -0.001241> + 18512: <-0.007919, 0.002922, -0.000822> + 18513: <-0.007785, 0.003318, -0.000814> + 18514: <-0.007743, 0.003302, -0.001219> + 18515: <-0.007876, 0.002908, -0.001230> + 18516: <-0.007785, 0.003318, -0.000814> + 18517: <-0.007632, 0.003704, -0.000807> + 18518: <-0.007591, 0.003686, -0.001207> + 18519: <-0.007743, 0.003302, -0.001219> + 18520: <-0.007632, 0.003704, -0.000807> + 18521: <-0.007462, 0.004081, -0.000799> + 18522: <-0.007423, 0.004061, -0.001196> + 18523: <-0.007591, 0.003686, -0.001207> + 18524: <-0.007462, 0.004081, -0.000799> + 18525: <-0.007275, 0.004446, -0.000792> + 18526: <-0.007236, 0.004424, -0.001185> + 18527: <-0.007423, 0.004061, -0.001196> + 18528: <-0.007275, 0.004446, -0.000792> + 18529: <-0.007069, 0.004800, -0.000786> + 18530: <-0.007032, 0.004776, -0.001176> + 18531: <-0.007236, 0.004424, -0.001185> + 18532: <-0.007069, 0.004800, -0.000786> + 18533: <-0.006846, 0.005140, -0.000781> + 18534: <-0.006810, 0.005114, -0.001168> + 18535: <-0.007032, 0.004776, -0.001176> + 18536: <-0.006846, 0.005140, -0.000781> + 18537: <-0.006605, 0.005466, -0.000777> + 18538: <-0.006570, 0.005438, -0.001161> + 18539: <-0.006810, 0.005114, -0.001168> + 18540: <-0.006605, 0.005466, -0.000777> + 18541: <-0.006346, 0.005776, -0.000774> + 18542: <-0.006313, 0.005747, -0.001157> + 18543: <-0.006570, 0.005438, -0.001161> + 18544: <-0.006313, -0.005747, -0.001157> + 18545: <-0.006570, -0.005438, -0.001161> + 18546: <-0.006523, -0.005401, -0.001541> + 18547: <-0.006269, -0.005707, -0.001536> + 18548: <-0.006570, -0.005438, -0.001161> + 18549: <-0.006810, -0.005114, -0.001168> + 18550: <-0.006761, -0.005080, -0.001550> + 18551: <-0.006523, -0.005401, -0.001541> + 18552: <-0.006810, -0.005114, -0.001168> + 18553: <-0.007032, -0.004776, -0.001176> + 18554: <-0.006980, -0.004744, -0.001561> + 18555: <-0.006761, -0.005080, -0.001550> + 18556: <-0.007032, -0.004776, -0.001176> + 18557: <-0.007236, -0.004424, -0.001185> + 18558: <-0.007183, -0.004395, -0.001574> + 18559: <-0.006980, -0.004744, -0.001561> + 18560: <-0.007236, -0.004424, -0.001185> + 18561: <-0.007423, -0.004061, -0.001196> + 18562: <-0.007367, -0.004034, -0.001588> + 18563: <-0.007183, -0.004395, -0.001574> + 18564: <-0.007423, -0.004061, -0.001196> + 18565: <-0.007591, -0.003686, -0.001207> + 18566: <-0.007535, -0.003663, -0.001603> + 18567: <-0.007367, -0.004034, -0.001588> + 18568: <-0.007591, -0.003686, -0.001207> + 18569: <-0.007743, -0.003302, -0.001219> + 18570: <-0.007684, -0.003281, -0.001619> + 18571: <-0.007535, -0.003663, -0.001603> + 18572: <-0.007743, -0.003302, -0.001219> + 18573: <-0.007876, -0.002908, -0.001230> + 18574: <-0.007817, -0.002890, -0.001635> + 18575: <-0.007684, -0.003281, -0.001619> + 18576: <-0.007876, -0.002908, -0.001230> + 18577: <-0.007992, -0.002507, -0.001241> + 18578: <-0.007932, -0.002492, -0.001650> + 18579: <-0.007817, -0.002890, -0.001635> + 18580: <-0.007992, -0.002507, -0.001241> + 18581: <-0.008090, -0.002099, -0.001252> + 18582: <-0.008029, -0.002086, -0.001663> + 18583: <-0.007932, -0.002492, -0.001650> + 18584: <-0.008090, -0.002099, -0.001252> + 18585: <-0.008171, -0.001686, -0.001261> + 18586: <-0.008109, -0.001676, -0.001676> + 18587: <-0.008029, -0.002086, -0.001663> + 18588: <-0.008171, -0.001686, -0.001261> + 18589: <-0.008233, -0.001269, -0.001269> + 18590: <-0.008171, -0.001261, -0.001686> + 18591: <-0.008109, -0.001676, -0.001676> + 18592: <-0.008233, -0.001269, -0.001269> + 18593: <-0.008278, -0.000848, -0.001275> + 18594: <-0.008215, -0.000842, -0.001694> + 18595: <-0.008171, -0.001261, -0.001686> + 18596: <-0.008278, -0.000848, -0.001275> + 18597: <-0.008305, -0.000424, -0.001278> + 18598: <-0.008242, -0.000422, -0.001699> + 18599: <-0.008215, -0.000842, -0.001694> + 18600: <-0.008305, -0.000424, -0.001278> + 18601: <-0.008314, 0.000000, -0.001280> + 18602: <-0.008251, 0.000000, -0.001701> + 18603: <-0.008242, -0.000422, -0.001699> + 18604: <-0.008314, 0.000000, -0.001280> + 18605: <-0.008305, 0.000424, -0.001278> + 18606: <-0.008242, 0.000422, -0.001699> + 18607: <-0.008251, 0.000000, -0.001701> + 18608: <-0.008305, 0.000424, -0.001278> + 18609: <-0.008278, 0.000848, -0.001275> + 18610: <-0.008215, 0.000842, -0.001694> + 18611: <-0.008242, 0.000422, -0.001699> + 18612: <-0.008278, 0.000848, -0.001275> + 18613: <-0.008233, 0.001269, -0.001269> + 18614: <-0.008171, 0.001261, -0.001686> + 18615: <-0.008215, 0.000842, -0.001694> + 18616: <-0.008233, 0.001269, -0.001269> + 18617: <-0.008171, 0.001686, -0.001261> + 18618: <-0.008109, 0.001676, -0.001676> + 18619: <-0.008171, 0.001261, -0.001686> + 18620: <-0.008171, 0.001686, -0.001261> + 18621: <-0.008090, 0.002099, -0.001252> + 18622: <-0.008029, 0.002086, -0.001663> + 18623: <-0.008109, 0.001676, -0.001676> + 18624: <-0.008090, 0.002099, -0.001252> + 18625: <-0.007992, 0.002507, -0.001241> + 18626: <-0.007932, 0.002492, -0.001650> + 18627: <-0.008029, 0.002086, -0.001663> + 18628: <-0.007992, 0.002507, -0.001241> + 18629: <-0.007876, 0.002908, -0.001230> + 18630: <-0.007817, 0.002890, -0.001635> + 18631: <-0.007932, 0.002492, -0.001650> + 18632: <-0.007876, 0.002908, -0.001230> + 18633: <-0.007743, 0.003302, -0.001219> + 18634: <-0.007684, 0.003281, -0.001619> + 18635: <-0.007817, 0.002890, -0.001635> + 18636: <-0.007743, 0.003302, -0.001219> + 18637: <-0.007591, 0.003686, -0.001207> + 18638: <-0.007535, 0.003663, -0.001603> + 18639: <-0.007684, 0.003281, -0.001619> + 18640: <-0.007591, 0.003686, -0.001207> + 18641: <-0.007423, 0.004061, -0.001196> + 18642: <-0.007367, 0.004034, -0.001588> + 18643: <-0.007535, 0.003663, -0.001603> + 18644: <-0.007423, 0.004061, -0.001196> + 18645: <-0.007236, 0.004424, -0.001185> + 18646: <-0.007183, 0.004395, -0.001574> + 18647: <-0.007367, 0.004034, -0.001588> + 18648: <-0.007236, 0.004424, -0.001185> + 18649: <-0.007032, 0.004776, -0.001176> + 18650: <-0.006980, 0.004744, -0.001561> + 18651: <-0.007183, 0.004395, -0.001574> + 18652: <-0.007032, 0.004776, -0.001176> + 18653: <-0.006810, 0.005114, -0.001168> + 18654: <-0.006761, 0.005080, -0.001550> + 18655: <-0.006980, 0.004744, -0.001561> + 18656: <-0.006810, 0.005114, -0.001168> + 18657: <-0.006570, 0.005438, -0.001161> + 18658: <-0.006523, 0.005401, -0.001541> + 18659: <-0.006761, 0.005080, -0.001550> + 18660: <-0.006570, 0.005438, -0.001161> + 18661: <-0.006313, 0.005747, -0.001157> + 18662: <-0.006269, 0.005707, -0.001536> + 18663: <-0.006523, 0.005401, -0.001541> + 18664: <-0.006269, -0.005707, -0.001536> + 18665: <-0.006523, -0.005401, -0.001541> + 18666: <-0.006464, -0.005355, -0.001915> + 18667: <-0.006212, -0.005657, -0.001908> + 18668: <-0.006523, -0.005401, -0.001541> + 18669: <-0.006761, -0.005080, -0.001550> + 18670: <-0.006698, -0.005037, -0.001926> + 18671: <-0.006464, -0.005355, -0.001915> + 18672: <-0.006761, -0.005080, -0.001550> + 18673: <-0.006980, -0.004744, -0.001561> + 18674: <-0.006915, -0.004705, -0.001940> + 18675: <-0.006698, -0.005037, -0.001926> + 18676: <-0.006980, -0.004744, -0.001561> + 18677: <-0.007183, -0.004395, -0.001574> + 18678: <-0.007115, -0.004360, -0.001957> + 18679: <-0.006915, -0.004705, -0.001940> + 18680: <-0.007183, -0.004395, -0.001574> + 18681: <-0.007367, -0.004034, -0.001588> + 18682: <-0.007297, -0.004002, -0.001975> + 18683: <-0.007115, -0.004360, -0.001957> + 18684: <-0.007367, -0.004034, -0.001588> + 18685: <-0.007535, -0.003663, -0.001603> + 18686: <-0.007462, -0.003634, -0.001995> + 18687: <-0.007297, -0.004002, -0.001975> + 18688: <-0.007535, -0.003663, -0.001603> + 18689: <-0.007684, -0.003281, -0.001619> + 18690: <-0.007610, -0.003255, -0.002015> + 18691: <-0.007462, -0.003634, -0.001995> + 18692: <-0.007684, -0.003281, -0.001619> + 18693: <-0.007817, -0.002890, -0.001635> + 18694: <-0.007740, -0.002868, -0.002035> + 18695: <-0.007610, -0.003255, -0.002015> + 18696: <-0.007817, -0.002890, -0.001635> + 18697: <-0.007932, -0.002492, -0.001650> + 18698: <-0.007854, -0.002473, -0.002053> + 18699: <-0.007740, -0.002868, -0.002035> + 18700: <-0.007932, -0.002492, -0.001650> + 18701: <-0.008029, -0.002086, -0.001663> + 18702: <-0.007950, -0.002071, -0.002071> + 18703: <-0.007854, -0.002473, -0.002053> + 18704: <-0.008029, -0.002086, -0.001663> + 18705: <-0.008109, -0.001676, -0.001676> + 18706: <-0.008029, -0.001663, -0.002086> + 18707: <-0.007950, -0.002071, -0.002071> + 18708: <-0.008109, -0.001676, -0.001676> + 18709: <-0.008171, -0.001261, -0.001686> + 18710: <-0.008090, -0.001252, -0.002099> + 18711: <-0.008029, -0.001663, -0.002086> + 18712: <-0.008171, -0.001261, -0.001686> + 18713: <-0.008215, -0.000842, -0.001694> + 18714: <-0.008134, -0.000836, -0.002109> + 18715: <-0.008090, -0.001252, -0.002099> + 18716: <-0.008215, -0.000842, -0.001694> + 18717: <-0.008242, -0.000422, -0.001699> + 18718: <-0.008161, -0.000419, -0.002116> + 18719: <-0.008134, -0.000836, -0.002109> + 18720: <-0.008242, -0.000422, -0.001699> + 18721: <-0.008251, 0.000000, -0.001701> + 18722: <-0.008169, 0.000000, -0.002118> + 18723: <-0.008161, -0.000419, -0.002116> + 18724: <-0.008251, 0.000000, -0.001701> + 18725: <-0.008242, 0.000422, -0.001699> + 18726: <-0.008161, 0.000419, -0.002116> + 18727: <-0.008169, 0.000000, -0.002118> + 18728: <-0.008242, 0.000422, -0.001699> + 18729: <-0.008215, 0.000842, -0.001694> + 18730: <-0.008134, 0.000836, -0.002109> + 18731: <-0.008161, 0.000419, -0.002116> + 18732: <-0.008215, 0.000842, -0.001694> + 18733: <-0.008171, 0.001261, -0.001686> + 18734: <-0.008090, 0.001252, -0.002099> + 18735: <-0.008134, 0.000836, -0.002109> + 18736: <-0.008171, 0.001261, -0.001686> + 18737: <-0.008109, 0.001676, -0.001676> + 18738: <-0.008029, 0.001663, -0.002086> + 18739: <-0.008090, 0.001252, -0.002099> + 18740: <-0.008109, 0.001676, -0.001676> + 18741: <-0.008029, 0.002086, -0.001663> + 18742: <-0.007950, 0.002071, -0.002071> + 18743: <-0.008029, 0.001663, -0.002086> + 18744: <-0.008029, 0.002086, -0.001663> + 18745: <-0.007932, 0.002492, -0.001650> + 18746: <-0.007854, 0.002473, -0.002053> + 18747: <-0.007950, 0.002071, -0.002071> + 18748: <-0.007932, 0.002492, -0.001650> + 18749: <-0.007817, 0.002890, -0.001635> + 18750: <-0.007740, 0.002868, -0.002035> + 18751: <-0.007854, 0.002473, -0.002053> + 18752: <-0.007817, 0.002890, -0.001635> + 18753: <-0.007684, 0.003281, -0.001619> + 18754: <-0.007610, 0.003255, -0.002015> + 18755: <-0.007740, 0.002868, -0.002035> + 18756: <-0.007684, 0.003281, -0.001619> + 18757: <-0.007535, 0.003663, -0.001603> + 18758: <-0.007462, 0.003634, -0.001995> + 18759: <-0.007610, 0.003255, -0.002015> + 18760: <-0.007535, 0.003663, -0.001603> + 18761: <-0.007367, 0.004034, -0.001588> + 18762: <-0.007297, 0.004002, -0.001975> + 18763: <-0.007462, 0.003634, -0.001995> + 18764: <-0.007367, 0.004034, -0.001588> + 18765: <-0.007183, 0.004395, -0.001574> + 18766: <-0.007115, 0.004360, -0.001957> + 18767: <-0.007297, 0.004002, -0.001975> + 18768: <-0.007183, 0.004395, -0.001574> + 18769: <-0.006980, 0.004744, -0.001561> + 18770: <-0.006915, 0.004705, -0.001940> + 18771: <-0.007115, 0.004360, -0.001957> + 18772: <-0.006980, 0.004744, -0.001561> + 18773: <-0.006761, 0.005080, -0.001550> + 18774: <-0.006698, 0.005037, -0.001926> + 18775: <-0.006915, 0.004705, -0.001940> + 18776: <-0.006761, 0.005080, -0.001550> + 18777: <-0.006523, 0.005401, -0.001541> + 18778: <-0.006464, 0.005355, -0.001915> + 18779: <-0.006698, 0.005037, -0.001926> + 18780: <-0.006523, 0.005401, -0.001541> + 18781: <-0.006269, 0.005707, -0.001536> + 18782: <-0.006212, 0.005657, -0.001908> + 18783: <-0.006464, 0.005355, -0.001915> + 18784: <-0.006212, -0.005657, -0.001908> + 18785: <-0.006464, -0.005355, -0.001915> + 18786: <-0.006393, -0.005301, -0.002281> + 18787: <-0.006146, -0.005599, -0.002272> + 18788: <-0.006464, -0.005355, -0.001915> + 18789: <-0.006698, -0.005037, -0.001926> + 18790: <-0.006623, -0.004987, -0.002295> + 18791: <-0.006393, -0.005301, -0.002281> + 18792: <-0.006698, -0.005037, -0.001926> + 18793: <-0.006915, -0.004705, -0.001940> + 18794: <-0.006836, -0.004659, -0.002313> + 18795: <-0.006623, -0.004987, -0.002295> + 18796: <-0.006915, -0.004705, -0.001940> + 18797: <-0.007115, -0.004360, -0.001957> + 18798: <-0.007033, -0.004318, -0.002333> + 18799: <-0.006836, -0.004659, -0.002313> + 18800: <-0.007115, -0.004360, -0.001957> + 18801: <-0.007297, -0.004002, -0.001975> + 18802: <-0.007212, -0.003965, -0.002356> + 18803: <-0.007033, -0.004318, -0.002333> + 18804: <-0.007297, -0.004002, -0.001975> + 18805: <-0.007462, -0.003634, -0.001995> + 18806: <-0.007374, -0.003601, -0.002380> + 18807: <-0.007212, -0.003965, -0.002356> + 18808: <-0.007462, -0.003634, -0.001995> + 18809: <-0.007610, -0.003255, -0.002015> + 18810: <-0.007519, -0.003227, -0.002405> + 18811: <-0.007374, -0.003601, -0.002380> + 18812: <-0.007610, -0.003255, -0.002015> + 18813: <-0.007740, -0.002868, -0.002035> + 18814: <-0.007648, -0.002843, -0.002429> + 18815: <-0.007519, -0.003227, -0.002405> + 18816: <-0.007740, -0.002868, -0.002035> + 18817: <-0.007854, -0.002473, -0.002053> + 18818: <-0.007759, -0.002452, -0.002452> + 18819: <-0.007648, -0.002843, -0.002429> + 18820: <-0.007854, -0.002473, -0.002053> + 18821: <-0.007950, -0.002071, -0.002071> + 18822: <-0.007854, -0.002053, -0.002473> + 18823: <-0.007759, -0.002452, -0.002452> + 18824: <-0.007950, -0.002071, -0.002071> + 18825: <-0.008029, -0.001663, -0.002086> + 18826: <-0.007932, -0.001650, -0.002492> + 18827: <-0.007854, -0.002053, -0.002473> + 18828: <-0.008029, -0.001663, -0.002086> + 18829: <-0.008090, -0.001252, -0.002099> + 18830: <-0.007992, -0.001241, -0.002507> + 18831: <-0.007932, -0.001650, -0.002492> + 18832: <-0.008090, -0.001252, -0.002099> + 18833: <-0.008134, -0.000836, -0.002109> + 18834: <-0.008036, -0.000829, -0.002519> + 18835: <-0.007992, -0.001241, -0.002507> + 18836: <-0.008134, -0.000836, -0.002109> + 18837: <-0.008161, -0.000419, -0.002116> + 18838: <-0.008062, -0.000415, -0.002527> + 18839: <-0.008036, -0.000829, -0.002519> + 18840: <-0.008161, -0.000419, -0.002116> + 18841: <-0.008169, 0.000000, -0.002118> + 18842: <-0.008070, 0.000000, -0.002530> + 18843: <-0.008062, -0.000415, -0.002527> + 18844: <-0.008169, 0.000000, -0.002118> + 18845: <-0.008161, 0.000419, -0.002116> + 18846: <-0.008062, 0.000415, -0.002527> + 18847: <-0.008070, 0.000000, -0.002530> + 18848: <-0.008161, 0.000419, -0.002116> + 18849: <-0.008134, 0.000836, -0.002109> + 18850: <-0.008036, 0.000829, -0.002519> + 18851: <-0.008062, 0.000415, -0.002527> + 18852: <-0.008134, 0.000836, -0.002109> + 18853: <-0.008090, 0.001252, -0.002099> + 18854: <-0.007992, 0.001241, -0.002507> + 18855: <-0.008036, 0.000829, -0.002519> + 18856: <-0.008090, 0.001252, -0.002099> + 18857: <-0.008029, 0.001663, -0.002086> + 18858: <-0.007932, 0.001650, -0.002492> + 18859: <-0.007992, 0.001241, -0.002507> + 18860: <-0.008029, 0.001663, -0.002086> + 18861: <-0.007950, 0.002071, -0.002071> + 18862: <-0.007854, 0.002053, -0.002473> + 18863: <-0.007932, 0.001650, -0.002492> + 18864: <-0.007950, 0.002071, -0.002071> + 18865: <-0.007854, 0.002473, -0.002053> + 18866: <-0.007759, 0.002452, -0.002452> + 18867: <-0.007854, 0.002053, -0.002473> + 18868: <-0.007854, 0.002473, -0.002053> + 18869: <-0.007740, 0.002868, -0.002035> + 18870: <-0.007648, 0.002843, -0.002429> + 18871: <-0.007759, 0.002452, -0.002452> + 18872: <-0.007740, 0.002868, -0.002035> + 18873: <-0.007610, 0.003255, -0.002015> + 18874: <-0.007519, 0.003227, -0.002405> + 18875: <-0.007648, 0.002843, -0.002429> + 18876: <-0.007610, 0.003255, -0.002015> + 18877: <-0.007462, 0.003634, -0.001995> + 18878: <-0.007374, 0.003601, -0.002380> + 18879: <-0.007519, 0.003227, -0.002405> + 18880: <-0.007462, 0.003634, -0.001995> + 18881: <-0.007297, 0.004002, -0.001975> + 18882: <-0.007212, 0.003965, -0.002356> + 18883: <-0.007374, 0.003601, -0.002380> + 18884: <-0.007297, 0.004002, -0.001975> + 18885: <-0.007115, 0.004360, -0.001957> + 18886: <-0.007033, 0.004318, -0.002333> + 18887: <-0.007212, 0.003965, -0.002356> + 18888: <-0.007115, 0.004360, -0.001957> + 18889: <-0.006915, 0.004705, -0.001940> + 18890: <-0.006836, 0.004659, -0.002313> + 18891: <-0.007033, 0.004318, -0.002333> + 18892: <-0.006915, 0.004705, -0.001940> + 18893: <-0.006698, 0.005037, -0.001926> + 18894: <-0.006623, 0.004987, -0.002295> + 18895: <-0.006836, 0.004659, -0.002313> + 18896: <-0.006698, 0.005037, -0.001926> + 18897: <-0.006464, 0.005355, -0.001915> + 18898: <-0.006393, 0.005301, -0.002281> + 18899: <-0.006623, 0.004987, -0.002295> + 18900: <-0.006464, 0.005355, -0.001915> + 18901: <-0.006212, 0.005657, -0.001908> + 18902: <-0.006146, 0.005599, -0.002272> + 18903: <-0.006393, 0.005301, -0.002281> + 18904: <-0.006146, -0.005599, -0.002272> + 18905: <-0.006393, -0.005301, -0.002281> + 18906: <-0.006311, -0.005240, -0.002638> + 18907: <-0.006069, -0.005533, -0.002627> + 18908: <-0.006393, -0.005301, -0.002281> + 18909: <-0.006623, -0.004987, -0.002295> + 18910: <-0.006537, -0.004931, -0.002655> + 18911: <-0.006311, -0.005240, -0.002638> + 18912: <-0.006623, -0.004987, -0.002295> + 18913: <-0.006836, -0.004659, -0.002313> + 18914: <-0.006745, -0.004609, -0.002676> + 18915: <-0.006537, -0.004931, -0.002655> + 18916: <-0.006836, -0.004659, -0.002313> + 18917: <-0.007033, -0.004318, -0.002333> + 18918: <-0.006937, -0.004273, -0.002701> + 18919: <-0.006745, -0.004609, -0.002676> + 18920: <-0.007033, -0.004318, -0.002333> + 18921: <-0.007212, -0.003965, -0.002356> + 18922: <-0.007112, -0.003924, -0.002729> + 18923: <-0.006937, -0.004273, -0.002701> + 18924: <-0.007212, -0.003965, -0.002356> + 18925: <-0.007374, -0.003601, -0.002380> + 18926: <-0.007270, -0.003565, -0.002758> + 18927: <-0.007112, -0.003924, -0.002729> + 18928: <-0.007374, -0.003601, -0.002380> + 18929: <-0.007519, -0.003227, -0.002405> + 18930: <-0.007412, -0.003195, -0.002787> + 18931: <-0.007270, -0.003565, -0.002758> + 18932: <-0.007519, -0.003227, -0.002405> + 18933: <-0.007648, -0.002843, -0.002429> + 18934: <-0.007538, -0.002816, -0.002816> + 18935: <-0.007412, -0.003195, -0.002787> + 18936: <-0.007648, -0.002843, -0.002429> + 18937: <-0.007759, -0.002452, -0.002452> + 18938: <-0.007648, -0.002429, -0.002843> + 18939: <-0.007538, -0.002816, -0.002816> + 18940: <-0.007759, -0.002452, -0.002452> + 18941: <-0.007854, -0.002053, -0.002473> + 18942: <-0.007740, -0.002035, -0.002868> + 18943: <-0.007648, -0.002429, -0.002843> + 18944: <-0.007854, -0.002053, -0.002473> + 18945: <-0.007932, -0.001650, -0.002492> + 18946: <-0.007817, -0.001635, -0.002890> + 18947: <-0.007740, -0.002035, -0.002868> + 18948: <-0.007932, -0.001650, -0.002492> + 18949: <-0.007992, -0.001241, -0.002507> + 18950: <-0.007876, -0.001230, -0.002908> + 18951: <-0.007817, -0.001635, -0.002890> + 18952: <-0.007992, -0.001241, -0.002507> + 18953: <-0.008036, -0.000829, -0.002519> + 18954: <-0.007919, -0.000822, -0.002922> + 18955: <-0.007876, -0.001230, -0.002908> + 18956: <-0.008036, -0.000829, -0.002519> + 18957: <-0.008062, -0.000415, -0.002527> + 18958: <-0.007945, -0.000412, -0.002931> + 18959: <-0.007919, -0.000822, -0.002922> + 18960: <-0.008062, -0.000415, -0.002527> + 18961: <-0.008070, 0.000000, -0.002530> + 18962: <-0.007953, 0.000000, -0.002934> + 18963: <-0.007945, -0.000412, -0.002931> + 18964: <-0.008070, 0.000000, -0.002530> + 18965: <-0.008062, 0.000415, -0.002527> + 18966: <-0.007945, 0.000412, -0.002931> + 18967: <-0.007953, 0.000000, -0.002934> + 18968: <-0.008062, 0.000415, -0.002527> + 18969: <-0.008036, 0.000829, -0.002519> + 18970: <-0.007919, 0.000822, -0.002922> + 18971: <-0.007945, 0.000412, -0.002931> + 18972: <-0.008036, 0.000829, -0.002519> + 18973: <-0.007992, 0.001241, -0.002507> + 18974: <-0.007876, 0.001230, -0.002908> + 18975: <-0.007919, 0.000822, -0.002922> + 18976: <-0.007992, 0.001241, -0.002507> + 18977: <-0.007932, 0.001650, -0.002492> + 18978: <-0.007817, 0.001635, -0.002890> + 18979: <-0.007876, 0.001230, -0.002908> + 18980: <-0.007932, 0.001650, -0.002492> + 18981: <-0.007854, 0.002053, -0.002473> + 18982: <-0.007740, 0.002035, -0.002868> + 18983: <-0.007817, 0.001635, -0.002890> + 18984: <-0.007854, 0.002053, -0.002473> + 18985: <-0.007759, 0.002452, -0.002452> + 18986: <-0.007648, 0.002429, -0.002843> + 18987: <-0.007740, 0.002035, -0.002868> + 18988: <-0.007759, 0.002452, -0.002452> + 18989: <-0.007648, 0.002843, -0.002429> + 18990: <-0.007538, 0.002816, -0.002816> + 18991: <-0.007648, 0.002429, -0.002843> + 18992: <-0.007648, 0.002843, -0.002429> + 18993: <-0.007519, 0.003227, -0.002405> + 18994: <-0.007412, 0.003195, -0.002787> + 18995: <-0.007538, 0.002816, -0.002816> + 18996: <-0.007519, 0.003227, -0.002405> + 18997: <-0.007374, 0.003601, -0.002380> + 18998: <-0.007270, 0.003565, -0.002758> + 18999: <-0.007412, 0.003195, -0.002787> + 19000: <-0.007374, 0.003601, -0.002380> + 19001: <-0.007212, 0.003965, -0.002356> + 19002: <-0.007112, 0.003924, -0.002729> + 19003: <-0.007270, 0.003565, -0.002758> + 19004: <-0.007212, 0.003965, -0.002356> + 19005: <-0.007033, 0.004318, -0.002333> + 19006: <-0.006937, 0.004273, -0.002701> + 19007: <-0.007112, 0.003924, -0.002729> + 19008: <-0.007033, 0.004318, -0.002333> + 19009: <-0.006836, 0.004659, -0.002313> + 19010: <-0.006745, 0.004609, -0.002676> + 19011: <-0.006937, 0.004273, -0.002701> + 19012: <-0.006836, 0.004659, -0.002313> + 19013: <-0.006623, 0.004987, -0.002295> + 19014: <-0.006537, 0.004931, -0.002655> + 19015: <-0.006745, 0.004609, -0.002676> + 19016: <-0.006623, 0.004987, -0.002295> + 19017: <-0.006393, 0.005301, -0.002281> + 19018: <-0.006311, 0.005240, -0.002638> + 19019: <-0.006537, 0.004931, -0.002655> + 19020: <-0.006393, 0.005301, -0.002281> + 19021: <-0.006146, 0.005599, -0.002272> + 19022: <-0.006069, 0.005533, -0.002627> + 19023: <-0.006311, 0.005240, -0.002638> + 19024: <-0.006069, -0.005533, -0.002627> + 19025: <-0.006311, -0.005240, -0.002638> + 19026: <-0.006219, -0.005172, -0.002984> + 19027: <-0.005983, -0.005459, -0.002971> + 19028: <-0.006311, -0.005240, -0.002638> + 19029: <-0.006537, -0.004931, -0.002655> + 19030: <-0.006439, -0.004870, -0.003004> + 19031: <-0.006219, -0.005172, -0.002984> + 19032: <-0.006537, -0.004931, -0.002655> + 19033: <-0.006745, -0.004609, -0.002676> + 19034: <-0.006641, -0.004553, -0.003030> + 19035: <-0.006439, -0.004870, -0.003004> + 19036: <-0.006745, -0.004609, -0.002676> + 19037: <-0.006937, -0.004273, -0.002701> + 19038: <-0.006828, -0.004223, -0.003060> + 19039: <-0.006641, -0.004553, -0.003030> + 19040: <-0.006937, -0.004273, -0.002701> + 19041: <-0.007112, -0.003924, -0.002729> + 19042: <-0.006998, -0.003880, -0.003093> + 19043: <-0.006828, -0.004223, -0.003060> + 19044: <-0.007112, -0.003924, -0.002729> + 19045: <-0.007270, -0.003565, -0.002758> + 19046: <-0.007152, -0.003526, -0.003127> + 19047: <-0.006998, -0.003880, -0.003093> + 19048: <-0.007270, -0.003565, -0.002758> + 19049: <-0.007412, -0.003195, -0.002787> + 19050: <-0.007290, -0.003162, -0.003162> + 19051: <-0.007152, -0.003526, -0.003127> + 19052: <-0.007412, -0.003195, -0.002787> + 19053: <-0.007538, -0.002816, -0.002816> + 19054: <-0.007412, -0.002787, -0.003195> + 19055: <-0.007290, -0.003162, -0.003162> + 19056: <-0.007538, -0.002816, -0.002816> + 19057: <-0.007648, -0.002429, -0.002843> + 19058: <-0.007519, -0.002405, -0.003227> + 19059: <-0.007412, -0.002787, -0.003195> + 19060: <-0.007648, -0.002429, -0.002843> + 19061: <-0.007740, -0.002035, -0.002868> + 19062: <-0.007610, -0.002015, -0.003255> + 19063: <-0.007519, -0.002405, -0.003227> + 19064: <-0.007740, -0.002035, -0.002868> + 19065: <-0.007817, -0.001635, -0.002890> + 19066: <-0.007684, -0.001619, -0.003281> + 19067: <-0.007610, -0.002015, -0.003255> + 19068: <-0.007817, -0.001635, -0.002890> + 19069: <-0.007876, -0.001230, -0.002908> + 19070: <-0.007743, -0.001219, -0.003302> + 19071: <-0.007684, -0.001619, -0.003281> + 19072: <-0.007876, -0.001230, -0.002908> + 19073: <-0.007919, -0.000822, -0.002922> + 19074: <-0.007785, -0.000814, -0.003318> + 19075: <-0.007743, -0.001219, -0.003302> + 19076: <-0.007919, -0.000822, -0.002922> + 19077: <-0.007945, -0.000412, -0.002931> + 19078: <-0.007810, -0.000408, -0.003328> + 19079: <-0.007785, -0.000814, -0.003318> + 19080: <-0.007945, -0.000412, -0.002931> + 19081: <-0.007953, 0.000000, -0.002934> + 19082: <-0.007818, 0.000000, -0.003331> + 19083: <-0.007810, -0.000408, -0.003328> + 19084: <-0.007953, 0.000000, -0.002934> + 19085: <-0.007945, 0.000412, -0.002931> + 19086: <-0.007810, 0.000408, -0.003328> + 19087: <-0.007818, 0.000000, -0.003331> + 19088: <-0.007945, 0.000412, -0.002931> + 19089: <-0.007919, 0.000822, -0.002922> + 19090: <-0.007785, 0.000814, -0.003318> + 19091: <-0.007810, 0.000408, -0.003328> + 19092: <-0.007919, 0.000822, -0.002922> + 19093: <-0.007876, 0.001230, -0.002908> + 19094: <-0.007743, 0.001219, -0.003302> + 19095: <-0.007785, 0.000814, -0.003318> + 19096: <-0.007876, 0.001230, -0.002908> + 19097: <-0.007817, 0.001635, -0.002890> + 19098: <-0.007684, 0.001619, -0.003281> + 19099: <-0.007743, 0.001219, -0.003302> + 19100: <-0.007817, 0.001635, -0.002890> + 19101: <-0.007740, 0.002035, -0.002868> + 19102: <-0.007610, 0.002015, -0.003255> + 19103: <-0.007684, 0.001619, -0.003281> + 19104: <-0.007740, 0.002035, -0.002868> + 19105: <-0.007648, 0.002429, -0.002843> + 19106: <-0.007519, 0.002405, -0.003227> + 19107: <-0.007610, 0.002015, -0.003255> + 19108: <-0.007648, 0.002429, -0.002843> + 19109: <-0.007538, 0.002816, -0.002816> + 19110: <-0.007412, 0.002787, -0.003195> + 19111: <-0.007519, 0.002405, -0.003227> + 19112: <-0.007538, 0.002816, -0.002816> + 19113: <-0.007412, 0.003195, -0.002787> + 19114: <-0.007290, 0.003162, -0.003162> + 19115: <-0.007412, 0.002787, -0.003195> + 19116: <-0.007412, 0.003195, -0.002787> + 19117: <-0.007270, 0.003565, -0.002758> + 19118: <-0.007152, 0.003526, -0.003127> + 19119: <-0.007290, 0.003162, -0.003162> + 19120: <-0.007270, 0.003565, -0.002758> + 19121: <-0.007112, 0.003924, -0.002729> + 19122: <-0.006998, 0.003880, -0.003093> + 19123: <-0.007152, 0.003526, -0.003127> + 19124: <-0.007112, 0.003924, -0.002729> + 19125: <-0.006937, 0.004273, -0.002701> + 19126: <-0.006828, 0.004223, -0.003060> + 19127: <-0.006998, 0.003880, -0.003093> + 19128: <-0.006937, 0.004273, -0.002701> + 19129: <-0.006745, 0.004609, -0.002676> + 19130: <-0.006641, 0.004553, -0.003030> + 19131: <-0.006828, 0.004223, -0.003060> + 19132: <-0.006745, 0.004609, -0.002676> + 19133: <-0.006537, 0.004931, -0.002655> + 19134: <-0.006439, 0.004870, -0.003004> + 19135: <-0.006641, 0.004553, -0.003030> + 19136: <-0.006537, 0.004931, -0.002655> + 19137: <-0.006311, 0.005240, -0.002638> + 19138: <-0.006219, 0.005172, -0.002984> + 19139: <-0.006439, 0.004870, -0.003004> + 19140: <-0.006311, 0.005240, -0.002638> + 19141: <-0.006069, 0.005533, -0.002627> + 19142: <-0.005983, 0.005459, -0.002971> + 19143: <-0.006219, 0.005172, -0.002984> + 19144: <-0.005983, -0.005459, -0.002971> + 19145: <-0.006219, -0.005172, -0.002984> + 19146: <-0.006117, -0.005099, -0.003318> + 19147: <-0.005888, -0.005379, -0.003302> + 19148: <-0.006219, -0.005172, -0.002984> + 19149: <-0.006439, -0.004870, -0.003004> + 19150: <-0.006329, -0.004804, -0.003342> + 19151: <-0.006117, -0.005099, -0.003318> + 19152: <-0.006439, -0.004870, -0.003004> + 19153: <-0.006641, -0.004553, -0.003030> + 19154: <-0.006525, -0.004494, -0.003372> + 19155: <-0.006329, -0.004804, -0.003342> + 19156: <-0.006641, -0.004553, -0.003030> + 19157: <-0.006828, -0.004223, -0.003060> + 19158: <-0.006705, -0.004170, -0.003407> + 19159: <-0.006525, -0.004494, -0.003372> + 19160: <-0.006828, -0.004223, -0.003060> + 19161: <-0.006998, -0.003880, -0.003093> + 19162: <-0.006870, -0.003834, -0.003446> + 19163: <-0.006705, -0.004170, -0.003407> + 19164: <-0.006998, -0.003880, -0.003093> + 19165: <-0.007152, -0.003526, -0.003127> + 19166: <-0.007018, -0.003486, -0.003486> + 19167: <-0.006870, -0.003834, -0.003446> + 19168: <-0.007152, -0.003526, -0.003127> + 19169: <-0.007290, -0.003162, -0.003162> + 19170: <-0.007152, -0.003127, -0.003526> + 19171: <-0.007018, -0.003486, -0.003486> + 19172: <-0.007290, -0.003162, -0.003162> + 19173: <-0.007412, -0.002787, -0.003195> + 19174: <-0.007270, -0.002758, -0.003565> + 19175: <-0.007152, -0.003127, -0.003526> + 19176: <-0.007412, -0.002787, -0.003195> + 19177: <-0.007519, -0.002405, -0.003227> + 19178: <-0.007374, -0.002380, -0.003601> + 19179: <-0.007270, -0.002758, -0.003565> + 19180: <-0.007519, -0.002405, -0.003227> + 19181: <-0.007610, -0.002015, -0.003255> + 19182: <-0.007462, -0.001995, -0.003634> + 19183: <-0.007374, -0.002380, -0.003601> + 19184: <-0.007610, -0.002015, -0.003255> + 19185: <-0.007684, -0.001619, -0.003281> + 19186: <-0.007535, -0.001603, -0.003663> + 19187: <-0.007462, -0.001995, -0.003634> + 19188: <-0.007684, -0.001619, -0.003281> + 19189: <-0.007743, -0.001219, -0.003302> + 19190: <-0.007591, -0.001207, -0.003686> + 19191: <-0.007535, -0.001603, -0.003663> + 19192: <-0.007743, -0.001219, -0.003302> + 19193: <-0.007785, -0.000814, -0.003318> + 19194: <-0.007632, -0.000807, -0.003704> + 19195: <-0.007591, -0.001207, -0.003686> + 19196: <-0.007785, -0.000814, -0.003318> + 19197: <-0.007810, -0.000408, -0.003328> + 19198: <-0.007657, -0.000404, -0.003716> + 19199: <-0.007632, -0.000807, -0.003704> + 19200: <-0.007810, -0.000408, -0.003328> + 19201: <-0.007818, 0.000000, -0.003331> + 19202: <-0.007665, 0.000000, -0.003720> + 19203: <-0.007657, -0.000404, -0.003716> + 19204: <-0.007818, 0.000000, -0.003331> + 19205: <-0.007810, 0.000408, -0.003328> + 19206: <-0.007657, 0.000404, -0.003716> + 19207: <-0.007665, 0.000000, -0.003720> + 19208: <-0.007810, 0.000408, -0.003328> + 19209: <-0.007785, 0.000814, -0.003318> + 19210: <-0.007632, 0.000807, -0.003704> + 19211: <-0.007657, 0.000404, -0.003716> + 19212: <-0.007785, 0.000814, -0.003318> + 19213: <-0.007743, 0.001219, -0.003302> + 19214: <-0.007591, 0.001207, -0.003686> + 19215: <-0.007632, 0.000807, -0.003704> + 19216: <-0.007743, 0.001219, -0.003302> + 19217: <-0.007684, 0.001619, -0.003281> + 19218: <-0.007535, 0.001603, -0.003663> + 19219: <-0.007591, 0.001207, -0.003686> + 19220: <-0.007684, 0.001619, -0.003281> + 19221: <-0.007610, 0.002015, -0.003255> + 19222: <-0.007462, 0.001995, -0.003634> + 19223: <-0.007535, 0.001603, -0.003663> + 19224: <-0.007610, 0.002015, -0.003255> + 19225: <-0.007519, 0.002405, -0.003227> + 19226: <-0.007374, 0.002380, -0.003601> + 19227: <-0.007462, 0.001995, -0.003634> + 19228: <-0.007519, 0.002405, -0.003227> + 19229: <-0.007412, 0.002787, -0.003195> + 19230: <-0.007270, 0.002758, -0.003565> + 19231: <-0.007374, 0.002380, -0.003601> + 19232: <-0.007412, 0.002787, -0.003195> + 19233: <-0.007290, 0.003162, -0.003162> + 19234: <-0.007152, 0.003127, -0.003526> + 19235: <-0.007270, 0.002758, -0.003565> + 19236: <-0.007290, 0.003162, -0.003162> + 19237: <-0.007152, 0.003526, -0.003127> + 19238: <-0.007018, 0.003486, -0.003486> + 19239: <-0.007152, 0.003127, -0.003526> + 19240: <-0.007152, 0.003526, -0.003127> + 19241: <-0.006998, 0.003880, -0.003093> + 19242: <-0.006870, 0.003834, -0.003446> + 19243: <-0.007018, 0.003486, -0.003486> + 19244: <-0.006998, 0.003880, -0.003093> + 19245: <-0.006828, 0.004223, -0.003060> + 19246: <-0.006705, 0.004170, -0.003407> + 19247: <-0.006870, 0.003834, -0.003446> + 19248: <-0.006828, 0.004223, -0.003060> + 19249: <-0.006641, 0.004553, -0.003030> + 19250: <-0.006525, 0.004494, -0.003372> + 19251: <-0.006705, 0.004170, -0.003407> + 19252: <-0.006641, 0.004553, -0.003030> + 19253: <-0.006439, 0.004870, -0.003004> + 19254: <-0.006329, 0.004804, -0.003342> + 19255: <-0.006525, 0.004494, -0.003372> + 19256: <-0.006439, 0.004870, -0.003004> + 19257: <-0.006219, 0.005172, -0.002984> + 19258: <-0.006117, 0.005099, -0.003318> + 19259: <-0.006329, 0.004804, -0.003342> + 19260: <-0.006219, 0.005172, -0.002984> + 19261: <-0.005983, 0.005459, -0.002971> + 19262: <-0.005888, 0.005379, -0.003302> + 19263: <-0.006117, 0.005099, -0.003318> + 19264: <-0.005888, -0.005379, -0.003302> + 19265: <-0.006117, -0.005099, -0.003318> + 19266: <-0.006006, -0.005023, -0.003637> + 19267: <-0.005786, -0.005294, -0.003619> + 19268: <-0.006117, -0.005099, -0.003318> + 19269: <-0.006329, -0.004804, -0.003342> + 19270: <-0.006210, -0.004736, -0.003666> + 19271: <-0.006006, -0.005023, -0.003637> + 19272: <-0.006329, -0.004804, -0.003342> + 19273: <-0.006525, -0.004494, -0.003372> + 19274: <-0.006397, -0.004434, -0.003701> + 19275: <-0.006210, -0.004736, -0.003666> + 19276: <-0.006525, -0.004494, -0.003372> + 19277: <-0.006705, -0.004170, -0.003407> + 19278: <-0.006570, -0.004117, -0.003743> + 19279: <-0.006397, -0.004434, -0.003701> + 19280: <-0.006705, -0.004170, -0.003407> + 19281: <-0.006870, -0.003834, -0.003446> + 19282: <-0.006727, -0.003788, -0.003788> + 19283: <-0.006570, -0.004117, -0.003743> + 19284: <-0.006870, -0.003834, -0.003446> + 19285: <-0.007018, -0.003486, -0.003486> + 19286: <-0.006870, -0.003446, -0.003834> + 19287: <-0.006727, -0.003788, -0.003788> + 19288: <-0.007018, -0.003486, -0.003486> + 19289: <-0.007152, -0.003127, -0.003526> + 19290: <-0.006998, -0.003093, -0.003880> + 19291: <-0.006870, -0.003446, -0.003834> + 19292: <-0.007152, -0.003127, -0.003526> + 19293: <-0.007270, -0.002758, -0.003565> + 19294: <-0.007112, -0.002729, -0.003924> + 19295: <-0.006998, -0.003093, -0.003880> + 19296: <-0.007270, -0.002758, -0.003565> + 19297: <-0.007374, -0.002380, -0.003601> + 19298: <-0.007212, -0.002356, -0.003965> + 19299: <-0.007112, -0.002729, -0.003924> + 19300: <-0.007374, -0.002380, -0.003601> + 19301: <-0.007462, -0.001995, -0.003634> + 19302: <-0.007297, -0.001975, -0.004002> + 19303: <-0.007212, -0.002356, -0.003965> + 19304: <-0.007462, -0.001995, -0.003634> + 19305: <-0.007535, -0.001603, -0.003663> + 19306: <-0.007367, -0.001588, -0.004034> + 19307: <-0.007297, -0.001975, -0.004002> + 19308: <-0.007535, -0.001603, -0.003663> + 19309: <-0.007591, -0.001207, -0.003686> + 19310: <-0.007423, -0.001196, -0.004061> + 19311: <-0.007367, -0.001588, -0.004034> + 19312: <-0.007591, -0.001207, -0.003686> + 19313: <-0.007632, -0.000807, -0.003704> + 19314: <-0.007462, -0.000799, -0.004081> + 19315: <-0.007423, -0.001196, -0.004061> + 19316: <-0.007632, -0.000807, -0.003704> + 19317: <-0.007657, -0.000404, -0.003716> + 19318: <-0.007487, -0.000400, -0.004093> + 19319: <-0.007462, -0.000799, -0.004081> + 19320: <-0.007657, -0.000404, -0.003716> + 19321: <-0.007665, 0.000000, -0.003720> + 19322: <-0.007495, 0.000000, -0.004098> + 19323: <-0.007487, -0.000400, -0.004093> + 19324: <-0.007665, 0.000000, -0.003720> + 19325: <-0.007657, 0.000404, -0.003716> + 19326: <-0.007487, 0.000400, -0.004093> + 19327: <-0.007495, 0.000000, -0.004098> + 19328: <-0.007657, 0.000404, -0.003716> + 19329: <-0.007632, 0.000807, -0.003704> + 19330: <-0.007462, 0.000799, -0.004081> + 19331: <-0.007487, 0.000400, -0.004093> + 19332: <-0.007632, 0.000807, -0.003704> + 19333: <-0.007591, 0.001207, -0.003686> + 19334: <-0.007423, 0.001196, -0.004061> + 19335: <-0.007462, 0.000799, -0.004081> + 19336: <-0.007591, 0.001207, -0.003686> + 19337: <-0.007535, 0.001603, -0.003663> + 19338: <-0.007367, 0.001588, -0.004034> + 19339: <-0.007423, 0.001196, -0.004061> + 19340: <-0.007535, 0.001603, -0.003663> + 19341: <-0.007462, 0.001995, -0.003634> + 19342: <-0.007297, 0.001975, -0.004002> + 19343: <-0.007367, 0.001588, -0.004034> + 19344: <-0.007462, 0.001995, -0.003634> + 19345: <-0.007374, 0.002380, -0.003601> + 19346: <-0.007212, 0.002356, -0.003965> + 19347: <-0.007297, 0.001975, -0.004002> + 19348: <-0.007374, 0.002380, -0.003601> + 19349: <-0.007270, 0.002758, -0.003565> + 19350: <-0.007112, 0.002729, -0.003924> + 19351: <-0.007212, 0.002356, -0.003965> + 19352: <-0.007270, 0.002758, -0.003565> + 19353: <-0.007152, 0.003127, -0.003526> + 19354: <-0.006998, 0.003093, -0.003880> + 19355: <-0.007112, 0.002729, -0.003924> + 19356: <-0.007152, 0.003127, -0.003526> + 19357: <-0.007018, 0.003486, -0.003486> + 19358: <-0.006870, 0.003446, -0.003834> + 19359: <-0.006998, 0.003093, -0.003880> + 19360: <-0.007018, 0.003486, -0.003486> + 19361: <-0.006870, 0.003834, -0.003446> + 19362: <-0.006727, 0.003788, -0.003788> + 19363: <-0.006870, 0.003446, -0.003834> + 19364: <-0.006870, 0.003834, -0.003446> + 19365: <-0.006705, 0.004170, -0.003407> + 19366: <-0.006570, 0.004117, -0.003743> + 19367: <-0.006727, 0.003788, -0.003788> + 19368: <-0.006705, 0.004170, -0.003407> + 19369: <-0.006525, 0.004494, -0.003372> + 19370: <-0.006397, 0.004434, -0.003701> + 19371: <-0.006570, 0.004117, -0.003743> + 19372: <-0.006525, 0.004494, -0.003372> + 19373: <-0.006329, 0.004804, -0.003342> + 19374: <-0.006210, 0.004736, -0.003666> + 19375: <-0.006397, 0.004434, -0.003701> + 19376: <-0.006329, 0.004804, -0.003342> + 19377: <-0.006117, 0.005099, -0.003318> + 19378: <-0.006006, 0.005023, -0.003637> + 19379: <-0.006210, 0.004736, -0.003666> + 19380: <-0.006117, 0.005099, -0.003318> + 19381: <-0.005888, 0.005379, -0.003302> + 19382: <-0.005786, 0.005294, -0.003619> + 19383: <-0.006006, 0.005023, -0.003637> + 19384: <-0.005786, -0.005294, -0.003619> + 19385: <-0.006006, -0.005023, -0.003637> + 19386: <-0.005887, -0.004946, -0.003941> + 19387: <-0.005678, -0.005207, -0.003918> + 19388: <-0.006006, -0.005023, -0.003637> + 19389: <-0.006210, -0.004736, -0.003666> + 19390: <-0.006080, -0.004668, -0.003975> + 19391: <-0.005887, -0.004946, -0.003941> + 19392: <-0.006210, -0.004736, -0.003666> + 19393: <-0.006397, -0.004434, -0.003701> + 19394: <-0.006257, -0.004374, -0.004017> + 19395: <-0.006080, -0.004668, -0.003975> + 19396: <-0.006397, -0.004434, -0.003701> + 19397: <-0.006570, -0.004117, -0.003743> + 19398: <-0.006421, -0.004065, -0.004065> + 19399: <-0.006257, -0.004374, -0.004017> + 19400: <-0.006570, -0.004117, -0.003743> + 19401: <-0.006727, -0.003788, -0.003788> + 19402: <-0.006570, -0.003743, -0.004117> + 19403: <-0.006421, -0.004065, -0.004065> + 19404: <-0.006727, -0.003788, -0.003788> + 19405: <-0.006870, -0.003446, -0.003834> + 19406: <-0.006705, -0.003407, -0.004170> + 19407: <-0.006570, -0.003743, -0.004117> + 19408: <-0.006870, -0.003446, -0.003834> + 19409: <-0.006998, -0.003093, -0.003880> + 19410: <-0.006828, -0.003060, -0.004223> + 19411: <-0.006705, -0.003407, -0.004170> + 19412: <-0.006998, -0.003093, -0.003880> + 19413: <-0.007112, -0.002729, -0.003924> + 19414: <-0.006937, -0.002701, -0.004273> + 19415: <-0.006828, -0.003060, -0.004223> + 19416: <-0.007112, -0.002729, -0.003924> + 19417: <-0.007212, -0.002356, -0.003965> + 19418: <-0.007033, -0.002333, -0.004318> + 19419: <-0.006937, -0.002701, -0.004273> + 19420: <-0.007212, -0.002356, -0.003965> + 19421: <-0.007297, -0.001975, -0.004002> + 19422: <-0.007115, -0.001957, -0.004360> + 19423: <-0.007033, -0.002333, -0.004318> + 19424: <-0.007297, -0.001975, -0.004002> + 19425: <-0.007367, -0.001588, -0.004034> + 19426: <-0.007183, -0.001574, -0.004395> + 19427: <-0.007115, -0.001957, -0.004360> + 19428: <-0.007367, -0.001588, -0.004034> + 19429: <-0.007423, -0.001196, -0.004061> + 19430: <-0.007236, -0.001185, -0.004424> + 19431: <-0.007183, -0.001574, -0.004395> + 19432: <-0.007423, -0.001196, -0.004061> + 19433: <-0.007462, -0.000799, -0.004081> + 19434: <-0.007275, -0.000792, -0.004446> + 19435: <-0.007236, -0.001185, -0.004424> + 19436: <-0.007462, -0.000799, -0.004081> + 19437: <-0.007487, -0.000400, -0.004093> + 19438: <-0.007298, -0.000397, -0.004460> + 19439: <-0.007275, -0.000792, -0.004446> + 19440: <-0.007487, -0.000400, -0.004093> + 19441: <-0.007495, 0.000000, -0.004098> + 19442: <-0.007306, 0.000000, -0.004465> + 19443: <-0.007298, -0.000397, -0.004460> + 19444: <-0.007495, 0.000000, -0.004098> + 19445: <-0.007487, 0.000400, -0.004093> + 19446: <-0.007298, 0.000397, -0.004460> + 19447: <-0.007306, 0.000000, -0.004465> + 19448: <-0.007487, 0.000400, -0.004093> + 19449: <-0.007462, 0.000799, -0.004081> + 19450: <-0.007275, 0.000792, -0.004446> + 19451: <-0.007298, 0.000397, -0.004460> + 19452: <-0.007462, 0.000799, -0.004081> + 19453: <-0.007423, 0.001196, -0.004061> + 19454: <-0.007236, 0.001185, -0.004424> + 19455: <-0.007275, 0.000792, -0.004446> + 19456: <-0.007423, 0.001196, -0.004061> + 19457: <-0.007367, 0.001588, -0.004034> + 19458: <-0.007183, 0.001574, -0.004395> + 19459: <-0.007236, 0.001185, -0.004424> + 19460: <-0.007367, 0.001588, -0.004034> + 19461: <-0.007297, 0.001975, -0.004002> + 19462: <-0.007115, 0.001957, -0.004360> + 19463: <-0.007183, 0.001574, -0.004395> + 19464: <-0.007297, 0.001975, -0.004002> + 19465: <-0.007212, 0.002356, -0.003965> + 19466: <-0.007033, 0.002333, -0.004318> + 19467: <-0.007115, 0.001957, -0.004360> + 19468: <-0.007212, 0.002356, -0.003965> + 19469: <-0.007112, 0.002729, -0.003924> + 19470: <-0.006937, 0.002701, -0.004273> + 19471: <-0.007033, 0.002333, -0.004318> + 19472: <-0.007112, 0.002729, -0.003924> + 19473: <-0.006998, 0.003093, -0.003880> + 19474: <-0.006828, 0.003060, -0.004223> + 19475: <-0.006937, 0.002701, -0.004273> + 19476: <-0.006998, 0.003093, -0.003880> + 19477: <-0.006870, 0.003446, -0.003834> + 19478: <-0.006705, 0.003407, -0.004170> + 19479: <-0.006828, 0.003060, -0.004223> + 19480: <-0.006870, 0.003446, -0.003834> + 19481: <-0.006727, 0.003788, -0.003788> + 19482: <-0.006570, 0.003743, -0.004117> + 19483: <-0.006705, 0.003407, -0.004170> + 19484: <-0.006727, 0.003788, -0.003788> + 19485: <-0.006570, 0.004117, -0.003743> + 19486: <-0.006421, 0.004065, -0.004065> + 19487: <-0.006570, 0.003743, -0.004117> + 19488: <-0.006570, 0.004117, -0.003743> + 19489: <-0.006397, 0.004434, -0.003701> + 19490: <-0.006257, 0.004374, -0.004017> + 19491: <-0.006421, 0.004065, -0.004065> + 19492: <-0.006397, 0.004434, -0.003701> + 19493: <-0.006210, 0.004736, -0.003666> + 19494: <-0.006080, 0.004668, -0.003975> + 19495: <-0.006257, 0.004374, -0.004017> + 19496: <-0.006210, 0.004736, -0.003666> + 19497: <-0.006006, 0.005023, -0.003637> + 19498: <-0.005887, 0.004946, -0.003941> + 19499: <-0.006080, 0.004668, -0.003975> + 19500: <-0.006006, 0.005023, -0.003637> + 19501: <-0.005786, 0.005294, -0.003619> + 19502: <-0.005678, 0.005207, -0.003918> + 19503: <-0.005887, 0.004946, -0.003941> + 19504: <-0.005678, -0.005207, -0.003918> + 19505: <-0.005887, -0.004946, -0.003941> + 19506: <-0.005760, -0.004870, -0.004226> + 19507: <-0.005564, -0.005120, -0.004199> + 19508: <-0.005887, -0.004946, -0.003941> + 19509: <-0.006080, -0.004668, -0.003975> + 19510: <-0.005939, -0.004602, -0.004267> + 19511: <-0.005760, -0.004870, -0.004226> + 19512: <-0.006080, -0.004668, -0.003975> + 19513: <-0.006257, -0.004374, -0.004017> + 19514: <-0.006105, -0.004318, -0.004318> + 19515: <-0.005939, -0.004602, -0.004267> + 19516: <-0.006257, -0.004374, -0.004017> + 19517: <-0.006421, -0.004065, -0.004065> + 19518: <-0.006257, -0.004017, -0.004374> + 19519: <-0.006105, -0.004318, -0.004318> + 19520: <-0.006421, -0.004065, -0.004065> + 19521: <-0.006570, -0.003743, -0.004117> + 19522: <-0.006397, -0.003701, -0.004434> + 19523: <-0.006257, -0.004017, -0.004374> + 19524: <-0.006570, -0.003743, -0.004117> + 19525: <-0.006705, -0.003407, -0.004170> + 19526: <-0.006525, -0.003372, -0.004494> + 19527: <-0.006397, -0.003701, -0.004434> + 19528: <-0.006705, -0.003407, -0.004170> + 19529: <-0.006828, -0.003060, -0.004223> + 19530: <-0.006641, -0.003030, -0.004553> + 19531: <-0.006525, -0.003372, -0.004494> + 19532: <-0.006828, -0.003060, -0.004223> + 19533: <-0.006937, -0.002701, -0.004273> + 19534: <-0.006745, -0.002676, -0.004609> + 19535: <-0.006641, -0.003030, -0.004553> + 19536: <-0.006937, -0.002701, -0.004273> + 19537: <-0.007033, -0.002333, -0.004318> + 19538: <-0.006836, -0.002313, -0.004659> + 19539: <-0.006745, -0.002676, -0.004609> + 19540: <-0.007033, -0.002333, -0.004318> + 19541: <-0.007115, -0.001957, -0.004360> + 19542: <-0.006915, -0.001940, -0.004705> + 19543: <-0.006836, -0.002313, -0.004659> + 19544: <-0.007115, -0.001957, -0.004360> + 19545: <-0.007183, -0.001574, -0.004395> + 19546: <-0.006980, -0.001561, -0.004744> + 19547: <-0.006915, -0.001940, -0.004705> + 19548: <-0.007183, -0.001574, -0.004395> + 19549: <-0.007236, -0.001185, -0.004424> + 19550: <-0.007032, -0.001176, -0.004776> + 19551: <-0.006980, -0.001561, -0.004744> + 19552: <-0.007236, -0.001185, -0.004424> + 19553: <-0.007275, -0.000792, -0.004446> + 19554: <-0.007069, -0.000786, -0.004800> + 19555: <-0.007032, -0.001176, -0.004776> + 19556: <-0.007275, -0.000792, -0.004446> + 19557: <-0.007298, -0.000397, -0.004460> + 19558: <-0.007092, -0.000394, -0.004815> + 19559: <-0.007069, -0.000786, -0.004800> + 19560: <-0.007298, -0.000397, -0.004460> + 19561: <-0.007306, 0.000000, -0.004465> + 19562: <-0.007099, 0.000000, -0.004820> + 19563: <-0.007092, -0.000394, -0.004815> + 19564: <-0.007306, 0.000000, -0.004465> + 19565: <-0.007298, 0.000397, -0.004460> + 19566: <-0.007092, 0.000394, -0.004815> + 19567: <-0.007099, 0.000000, -0.004820> + 19568: <-0.007298, 0.000397, -0.004460> + 19569: <-0.007275, 0.000792, -0.004446> + 19570: <-0.007069, 0.000786, -0.004800> + 19571: <-0.007092, 0.000394, -0.004815> + 19572: <-0.007275, 0.000792, -0.004446> + 19573: <-0.007236, 0.001185, -0.004424> + 19574: <-0.007032, 0.001176, -0.004776> + 19575: <-0.007069, 0.000786, -0.004800> + 19576: <-0.007236, 0.001185, -0.004424> + 19577: <-0.007183, 0.001574, -0.004395> + 19578: <-0.006980, 0.001561, -0.004744> + 19579: <-0.007032, 0.001176, -0.004776> + 19580: <-0.007183, 0.001574, -0.004395> + 19581: <-0.007115, 0.001957, -0.004360> + 19582: <-0.006915, 0.001940, -0.004705> + 19583: <-0.006980, 0.001561, -0.004744> + 19584: <-0.007115, 0.001957, -0.004360> + 19585: <-0.007033, 0.002333, -0.004318> + 19586: <-0.006836, 0.002313, -0.004659> + 19587: <-0.006915, 0.001940, -0.004705> + 19588: <-0.007033, 0.002333, -0.004318> + 19589: <-0.006937, 0.002701, -0.004273> + 19590: <-0.006745, 0.002676, -0.004609> + 19591: <-0.006836, 0.002313, -0.004659> + 19592: <-0.006937, 0.002701, -0.004273> + 19593: <-0.006828, 0.003060, -0.004223> + 19594: <-0.006641, 0.003030, -0.004553> + 19595: <-0.006745, 0.002676, -0.004609> + 19596: <-0.006828, 0.003060, -0.004223> + 19597: <-0.006705, 0.003407, -0.004170> + 19598: <-0.006525, 0.003372, -0.004494> + 19599: <-0.006641, 0.003030, -0.004553> + 19600: <-0.006705, 0.003407, -0.004170> + 19601: <-0.006570, 0.003743, -0.004117> + 19602: <-0.006397, 0.003701, -0.004434> + 19603: <-0.006525, 0.003372, -0.004494> + 19604: <-0.006570, 0.003743, -0.004117> + 19605: <-0.006421, 0.004065, -0.004065> + 19606: <-0.006257, 0.004017, -0.004374> + 19607: <-0.006397, 0.003701, -0.004434> + 19608: <-0.006421, 0.004065, -0.004065> + 19609: <-0.006257, 0.004374, -0.004017> + 19610: <-0.006105, 0.004318, -0.004318> + 19611: <-0.006257, 0.004017, -0.004374> + 19612: <-0.006257, 0.004374, -0.004017> + 19613: <-0.006080, 0.004668, -0.003975> + 19614: <-0.005939, 0.004602, -0.004267> + 19615: <-0.006105, 0.004318, -0.004318> + 19616: <-0.006080, 0.004668, -0.003975> + 19617: <-0.005887, 0.004946, -0.003941> + 19618: <-0.005760, 0.004870, -0.004226> + 19619: <-0.005939, 0.004602, -0.004267> + 19620: <-0.005887, 0.004946, -0.003941> + 19621: <-0.005678, 0.005207, -0.003918> + 19622: <-0.005564, 0.005120, -0.004199> + 19623: <-0.005760, 0.004870, -0.004226> + 19624: <-0.005564, -0.005120, -0.004199> + 19625: <-0.005760, -0.004870, -0.004226> + 19626: <-0.005623, -0.004798, -0.004494> + 19627: <-0.005446, -0.005034, -0.004460> + 19628: <-0.005760, -0.004870, -0.004226> + 19629: <-0.005939, -0.004602, -0.004267> + 19630: <-0.005788, -0.004542, -0.004542> + 19631: <-0.005623, -0.004798, -0.004494> + 19632: <-0.005939, -0.004602, -0.004267> + 19633: <-0.006105, -0.004318, -0.004318> + 19634: <-0.005939, -0.004267, -0.004602> + 19635: <-0.005788, -0.004542, -0.004542> + 19636: <-0.006105, -0.004318, -0.004318> + 19637: <-0.006257, -0.004017, -0.004374> + 19638: <-0.006080, -0.003975, -0.004668> + 19639: <-0.005939, -0.004267, -0.004602> + 19640: <-0.006257, -0.004017, -0.004374> + 19641: <-0.006397, -0.003701, -0.004434> + 19642: <-0.006210, -0.003666, -0.004736> + 19643: <-0.006080, -0.003975, -0.004668> + 19644: <-0.006397, -0.003701, -0.004434> + 19645: <-0.006525, -0.003372, -0.004494> + 19646: <-0.006329, -0.003342, -0.004804> + 19647: <-0.006210, -0.003666, -0.004736> + 19648: <-0.006525, -0.003372, -0.004494> + 19649: <-0.006641, -0.003030, -0.004553> + 19650: <-0.006439, -0.003004, -0.004870> + 19651: <-0.006329, -0.003342, -0.004804> + 19652: <-0.006641, -0.003030, -0.004553> + 19653: <-0.006745, -0.002676, -0.004609> + 19654: <-0.006537, -0.002655, -0.004931> + 19655: <-0.006439, -0.003004, -0.004870> + 19656: <-0.006745, -0.002676, -0.004609> + 19657: <-0.006836, -0.002313, -0.004659> + 19658: <-0.006623, -0.002295, -0.004987> + 19659: <-0.006537, -0.002655, -0.004931> + 19660: <-0.006836, -0.002313, -0.004659> + 19661: <-0.006915, -0.001940, -0.004705> + 19662: <-0.006698, -0.001926, -0.005037> + 19663: <-0.006623, -0.002295, -0.004987> + 19664: <-0.006915, -0.001940, -0.004705> + 19665: <-0.006980, -0.001561, -0.004744> + 19666: <-0.006761, -0.001550, -0.005080> + 19667: <-0.006698, -0.001926, -0.005037> + 19668: <-0.006980, -0.001561, -0.004744> + 19669: <-0.007032, -0.001176, -0.004776> + 19670: <-0.006810, -0.001168, -0.005114> + 19671: <-0.006761, -0.001550, -0.005080> + 19672: <-0.007032, -0.001176, -0.004776> + 19673: <-0.007069, -0.000786, -0.004800> + 19674: <-0.006846, -0.000781, -0.005140> + 19675: <-0.006810, -0.001168, -0.005114> + 19676: <-0.007069, -0.000786, -0.004800> + 19677: <-0.007092, -0.000394, -0.004815> + 19678: <-0.006868, -0.000391, -0.005156> + 19679: <-0.006846, -0.000781, -0.005140> + 19680: <-0.007092, -0.000394, -0.004815> + 19681: <-0.007099, 0.000000, -0.004820> + 19682: <-0.006875, 0.000000, -0.005162> + 19683: <-0.006868, -0.000391, -0.005156> + 19684: <-0.007099, 0.000000, -0.004820> + 19685: <-0.007092, 0.000394, -0.004815> + 19686: <-0.006868, 0.000391, -0.005156> + 19687: <-0.006875, 0.000000, -0.005162> + 19688: <-0.007092, 0.000394, -0.004815> + 19689: <-0.007069, 0.000786, -0.004800> + 19690: <-0.006846, 0.000781, -0.005140> + 19691: <-0.006868, 0.000391, -0.005156> + 19692: <-0.007069, 0.000786, -0.004800> + 19693: <-0.007032, 0.001176, -0.004776> + 19694: <-0.006810, 0.001168, -0.005114> + 19695: <-0.006846, 0.000781, -0.005140> + 19696: <-0.007032, 0.001176, -0.004776> + 19697: <-0.006980, 0.001561, -0.004744> + 19698: <-0.006761, 0.001550, -0.005080> + 19699: <-0.006810, 0.001168, -0.005114> + 19700: <-0.006980, 0.001561, -0.004744> + 19701: <-0.006915, 0.001940, -0.004705> + 19702: <-0.006698, 0.001926, -0.005037> + 19703: <-0.006761, 0.001550, -0.005080> + 19704: <-0.006915, 0.001940, -0.004705> + 19705: <-0.006836, 0.002313, -0.004659> + 19706: <-0.006623, 0.002295, -0.004987> + 19707: <-0.006698, 0.001926, -0.005037> + 19708: <-0.006836, 0.002313, -0.004659> + 19709: <-0.006745, 0.002676, -0.004609> + 19710: <-0.006537, 0.002655, -0.004931> + 19711: <-0.006623, 0.002295, -0.004987> + 19712: <-0.006745, 0.002676, -0.004609> + 19713: <-0.006641, 0.003030, -0.004553> + 19714: <-0.006439, 0.003004, -0.004870> + 19715: <-0.006537, 0.002655, -0.004931> + 19716: <-0.006641, 0.003030, -0.004553> + 19717: <-0.006525, 0.003372, -0.004494> + 19718: <-0.006329, 0.003342, -0.004804> + 19719: <-0.006439, 0.003004, -0.004870> + 19720: <-0.006525, 0.003372, -0.004494> + 19721: <-0.006397, 0.003701, -0.004434> + 19722: <-0.006210, 0.003666, -0.004736> + 19723: <-0.006329, 0.003342, -0.004804> + 19724: <-0.006397, 0.003701, -0.004434> + 19725: <-0.006257, 0.004017, -0.004374> + 19726: <-0.006080, 0.003975, -0.004668> + 19727: <-0.006210, 0.003666, -0.004736> + 19728: <-0.006257, 0.004017, -0.004374> + 19729: <-0.006105, 0.004318, -0.004318> + 19730: <-0.005939, 0.004267, -0.004602> + 19731: <-0.006080, 0.003975, -0.004668> + 19732: <-0.006105, 0.004318, -0.004318> + 19733: <-0.005939, 0.004602, -0.004267> + 19734: <-0.005788, 0.004542, -0.004542> + 19735: <-0.005939, 0.004267, -0.004602> + 19736: <-0.005939, 0.004602, -0.004267> + 19737: <-0.005760, 0.004870, -0.004226> + 19738: <-0.005623, 0.004798, -0.004494> + 19739: <-0.005788, 0.004542, -0.004542> + 19740: <-0.005760, 0.004870, -0.004226> + 19741: <-0.005564, 0.005120, -0.004199> + 19742: <-0.005446, 0.005034, -0.004460> + 19743: <-0.005623, 0.004798, -0.004494> + 19744: <-0.005446, -0.005034, -0.004460> + 19745: <-0.005623, -0.004798, -0.004494> + 19746: <-0.005479, -0.004738, -0.004738> + 19747: <-0.005326, -0.004959, -0.004691> + 19748: <-0.005623, -0.004798, -0.004494> + 19749: <-0.005788, -0.004542, -0.004542> + 19750: <-0.005623, -0.004494, -0.004798> + 19751: <-0.005479, -0.004738, -0.004738> + 19752: <-0.005788, -0.004542, -0.004542> + 19753: <-0.005939, -0.004267, -0.004602> + 19754: <-0.005760, -0.004226, -0.004870> + 19755: <-0.005623, -0.004494, -0.004798> + 19756: <-0.005939, -0.004267, -0.004602> + 19757: <-0.006080, -0.003975, -0.004668> + 19758: <-0.005887, -0.003941, -0.004946> + 19759: <-0.005760, -0.004226, -0.004870> + 19760: <-0.006080, -0.003975, -0.004668> + 19761: <-0.006210, -0.003666, -0.004736> + 19762: <-0.006006, -0.003637, -0.005023> + 19763: <-0.005887, -0.003941, -0.004946> + 19764: <-0.006210, -0.003666, -0.004736> + 19765: <-0.006329, -0.003342, -0.004804> + 19766: <-0.006117, -0.003318, -0.005099> + 19767: <-0.006006, -0.003637, -0.005023> + 19768: <-0.006329, -0.003342, -0.004804> + 19769: <-0.006439, -0.003004, -0.004870> + 19770: <-0.006219, -0.002984, -0.005172> + 19771: <-0.006117, -0.003318, -0.005099> + 19772: <-0.006439, -0.003004, -0.004870> + 19773: <-0.006537, -0.002655, -0.004931> + 19774: <-0.006311, -0.002638, -0.005240> + 19775: <-0.006219, -0.002984, -0.005172> + 19776: <-0.006537, -0.002655, -0.004931> + 19777: <-0.006623, -0.002295, -0.004987> + 19778: <-0.006393, -0.002281, -0.005301> + 19779: <-0.006311, -0.002638, -0.005240> + 19780: <-0.006623, -0.002295, -0.004987> + 19781: <-0.006698, -0.001926, -0.005037> + 19782: <-0.006464, -0.001915, -0.005355> + 19783: <-0.006393, -0.002281, -0.005301> + 19784: <-0.006698, -0.001926, -0.005037> + 19785: <-0.006761, -0.001550, -0.005080> + 19786: <-0.006523, -0.001541, -0.005401> + 19787: <-0.006464, -0.001915, -0.005355> + 19788: <-0.006761, -0.001550, -0.005080> + 19789: <-0.006810, -0.001168, -0.005114> + 19790: <-0.006570, -0.001161, -0.005438> + 19791: <-0.006523, -0.001541, -0.005401> + 19792: <-0.006810, -0.001168, -0.005114> + 19793: <-0.006846, -0.000781, -0.005140> + 19794: <-0.006605, -0.000777, -0.005466> + 19795: <-0.006570, -0.001161, -0.005438> + 19796: <-0.006846, -0.000781, -0.005140> + 19797: <-0.006868, -0.000391, -0.005156> + 19798: <-0.006626, -0.000389, -0.005483> + 19799: <-0.006605, -0.000777, -0.005466> + 19800: <-0.006868, -0.000391, -0.005156> + 19801: <-0.006875, 0.000000, -0.005162> + 19802: <-0.006633, 0.000000, -0.005489> + 19803: <-0.006626, -0.000389, -0.005483> + 19804: <-0.006875, 0.000000, -0.005162> + 19805: <-0.006868, 0.000391, -0.005156> + 19806: <-0.006626, 0.000389, -0.005483> + 19807: <-0.006633, 0.000000, -0.005489> + 19808: <-0.006868, 0.000391, -0.005156> + 19809: <-0.006846, 0.000781, -0.005140> + 19810: <-0.006605, 0.000777, -0.005466> + 19811: <-0.006626, 0.000389, -0.005483> + 19812: <-0.006846, 0.000781, -0.005140> + 19813: <-0.006810, 0.001168, -0.005114> + 19814: <-0.006570, 0.001161, -0.005438> + 19815: <-0.006605, 0.000777, -0.005466> + 19816: <-0.006810, 0.001168, -0.005114> + 19817: <-0.006761, 0.001550, -0.005080> + 19818: <-0.006523, 0.001541, -0.005401> + 19819: <-0.006570, 0.001161, -0.005438> + 19820: <-0.006761, 0.001550, -0.005080> + 19821: <-0.006698, 0.001926, -0.005037> + 19822: <-0.006464, 0.001915, -0.005355> + 19823: <-0.006523, 0.001541, -0.005401> + 19824: <-0.006698, 0.001926, -0.005037> + 19825: <-0.006623, 0.002295, -0.004987> + 19826: <-0.006393, 0.002281, -0.005301> + 19827: <-0.006464, 0.001915, -0.005355> + 19828: <-0.006623, 0.002295, -0.004987> + 19829: <-0.006537, 0.002655, -0.004931> + 19830: <-0.006311, 0.002638, -0.005240> + 19831: <-0.006393, 0.002281, -0.005301> + 19832: <-0.006537, 0.002655, -0.004931> + 19833: <-0.006439, 0.003004, -0.004870> + 19834: <-0.006219, 0.002984, -0.005172> + 19835: <-0.006311, 0.002638, -0.005240> + 19836: <-0.006439, 0.003004, -0.004870> + 19837: <-0.006329, 0.003342, -0.004804> + 19838: <-0.006117, 0.003318, -0.005099> + 19839: <-0.006219, 0.002984, -0.005172> + 19840: <-0.006329, 0.003342, -0.004804> + 19841: <-0.006210, 0.003666, -0.004736> + 19842: <-0.006006, 0.003637, -0.005023> + 19843: <-0.006117, 0.003318, -0.005099> + 19844: <-0.006210, 0.003666, -0.004736> + 19845: <-0.006080, 0.003975, -0.004668> + 19846: <-0.005887, 0.003941, -0.004946> + 19847: <-0.006006, 0.003637, -0.005023> + 19848: <-0.006080, 0.003975, -0.004668> + 19849: <-0.005939, 0.004267, -0.004602> + 19850: <-0.005760, 0.004226, -0.004870> + 19851: <-0.005887, 0.003941, -0.004946> + 19852: <-0.005939, 0.004267, -0.004602> + 19853: <-0.005788, 0.004542, -0.004542> + 19854: <-0.005623, 0.004494, -0.004798> + 19855: <-0.005760, 0.004226, -0.004870> + 19856: <-0.005788, 0.004542, -0.004542> + 19857: <-0.005623, 0.004798, -0.004494> + 19858: <-0.005479, 0.004738, -0.004738> + 19859: <-0.005623, 0.004494, -0.004798> + 19860: <-0.005623, 0.004798, -0.004494> + 19861: <-0.005446, 0.005034, -0.004460> + 19862: <-0.005326, 0.004959, -0.004691> + 19863: <-0.005479, 0.004738, -0.004738> + 19864: <-0.005326, -0.004959, -0.004691> + 19865: <-0.005479, -0.004738, -0.004738> + 19866: <-0.005326, -0.004691, -0.004959> + 19867: <-0.005206, -0.004894, -0.004894> + 19868: <-0.005479, -0.004738, -0.004738> + 19869: <-0.005623, -0.004494, -0.004798> + 19870: <-0.005446, -0.004460, -0.005034> + 19871: <-0.005326, -0.004691, -0.004959> + 19872: <-0.005623, -0.004494, -0.004798> + 19873: <-0.005760, -0.004226, -0.004870> + 19874: <-0.005564, -0.004199, -0.005120> + 19875: <-0.005446, -0.004460, -0.005034> + 19876: <-0.005760, -0.004226, -0.004870> + 19877: <-0.005887, -0.003941, -0.004946> + 19878: <-0.005678, -0.003918, -0.005207> + 19879: <-0.005564, -0.004199, -0.005120> + 19880: <-0.005887, -0.003941, -0.004946> + 19881: <-0.006006, -0.003637, -0.005023> + 19882: <-0.005786, -0.003619, -0.005294> + 19883: <-0.005678, -0.003918, -0.005207> + 19884: <-0.006006, -0.003637, -0.005023> + 19885: <-0.006117, -0.003318, -0.005099> + 19886: <-0.005888, -0.003302, -0.005379> + 19887: <-0.005786, -0.003619, -0.005294> + 19888: <-0.006117, -0.003318, -0.005099> + 19889: <-0.006219, -0.002984, -0.005172> + 19890: <-0.005983, -0.002971, -0.005459> + 19891: <-0.005888, -0.003302, -0.005379> + 19892: <-0.006219, -0.002984, -0.005172> + 19893: <-0.006311, -0.002638, -0.005240> + 19894: <-0.006069, -0.002627, -0.005533> + 19895: <-0.005983, -0.002971, -0.005459> + 19896: <-0.006311, -0.002638, -0.005240> + 19897: <-0.006393, -0.002281, -0.005301> + 19898: <-0.006146, -0.002272, -0.005599> + 19899: <-0.006069, -0.002627, -0.005533> + 19900: <-0.006393, -0.002281, -0.005301> + 19901: <-0.006464, -0.001915, -0.005355> + 19902: <-0.006212, -0.001908, -0.005657> + 19903: <-0.006146, -0.002272, -0.005599> + 19904: <-0.006464, -0.001915, -0.005355> + 19905: <-0.006523, -0.001541, -0.005401> + 19906: <-0.006269, -0.001536, -0.005707> + 19907: <-0.006212, -0.001908, -0.005657> + 19908: <-0.006523, -0.001541, -0.005401> + 19909: <-0.006570, -0.001161, -0.005438> + 19910: <-0.006313, -0.001157, -0.005747> + 19911: <-0.006269, -0.001536, -0.005707> + 19912: <-0.006570, -0.001161, -0.005438> + 19913: <-0.006605, -0.000777, -0.005466> + 19914: <-0.006346, -0.000774, -0.005776> + 19915: <-0.006313, -0.001157, -0.005747> + 19916: <-0.006605, -0.000777, -0.005466> + 19917: <-0.006626, -0.000389, -0.005483> + 19918: <-0.006366, -0.000388, -0.005794> + 19919: <-0.006346, -0.000774, -0.005776> + 19920: <-0.006626, -0.000389, -0.005483> + 19921: <-0.006633, 0.000000, -0.005489> + 19922: <-0.006373, 0.000000, -0.005801> + 19923: <-0.006366, -0.000388, -0.005794> + 19924: <-0.006633, 0.000000, -0.005489> + 19925: <-0.006626, 0.000389, -0.005483> + 19926: <-0.006366, 0.000388, -0.005794> + 19927: <-0.006373, 0.000000, -0.005801> + 19928: <-0.006626, 0.000389, -0.005483> + 19929: <-0.006605, 0.000777, -0.005466> + 19930: <-0.006346, 0.000774, -0.005776> + 19931: <-0.006366, 0.000388, -0.005794> + 19932: <-0.006605, 0.000777, -0.005466> + 19933: <-0.006570, 0.001161, -0.005438> + 19934: <-0.006313, 0.001157, -0.005747> + 19935: <-0.006346, 0.000774, -0.005776> + 19936: <-0.006570, 0.001161, -0.005438> + 19937: <-0.006523, 0.001541, -0.005401> + 19938: <-0.006269, 0.001536, -0.005707> + 19939: <-0.006313, 0.001157, -0.005747> + 19940: <-0.006523, 0.001541, -0.005401> + 19941: <-0.006464, 0.001915, -0.005355> + 19942: <-0.006212, 0.001908, -0.005657> + 19943: <-0.006269, 0.001536, -0.005707> + 19944: <-0.006464, 0.001915, -0.005355> + 19945: <-0.006393, 0.002281, -0.005301> + 19946: <-0.006146, 0.002272, -0.005599> + 19947: <-0.006212, 0.001908, -0.005657> + 19948: <-0.006393, 0.002281, -0.005301> + 19949: <-0.006311, 0.002638, -0.005240> + 19950: <-0.006069, 0.002627, -0.005533> + 19951: <-0.006146, 0.002272, -0.005599> + 19952: <-0.006311, 0.002638, -0.005240> + 19953: <-0.006219, 0.002984, -0.005172> + 19954: <-0.005983, 0.002971, -0.005459> + 19955: <-0.006069, 0.002627, -0.005533> + 19956: <-0.006219, 0.002984, -0.005172> + 19957: <-0.006117, 0.003318, -0.005099> + 19958: <-0.005888, 0.003302, -0.005379> + 19959: <-0.005983, 0.002971, -0.005459> + 19960: <-0.006117, 0.003318, -0.005099> + 19961: <-0.006006, 0.003637, -0.005023> + 19962: <-0.005786, 0.003619, -0.005294> + 19963: <-0.005888, 0.003302, -0.005379> + 19964: <-0.006006, 0.003637, -0.005023> + 19965: <-0.005887, 0.003941, -0.004946> + 19966: <-0.005678, 0.003918, -0.005207> + 19967: <-0.005786, 0.003619, -0.005294> + 19968: <-0.005887, 0.003941, -0.004946> + 19969: <-0.005760, 0.004226, -0.004870> + 19970: <-0.005564, 0.004199, -0.005120> + 19971: <-0.005678, 0.003918, -0.005207> + 19972: <-0.005760, 0.004226, -0.004870> + 19973: <-0.005623, 0.004494, -0.004798> + 19974: <-0.005446, 0.004460, -0.005034> + 19975: <-0.005564, 0.004199, -0.005120> + 19976: <-0.005623, 0.004494, -0.004798> + 19977: <-0.005479, 0.004738, -0.004738> + 19978: <-0.005326, 0.004691, -0.004959> + 19979: <-0.005446, 0.004460, -0.005034> + 19980: <-0.005479, 0.004738, -0.004738> + 19981: <-0.005326, 0.004959, -0.004691> + 19982: <-0.005206, 0.004894, -0.004894> + 19983: <-0.005326, 0.004691, -0.004959> + 19984: <-0.005000, -0.005000, 0.005000> + 19985: <-0.005081, -0.004833, 0.005081> + 19986: <-0.005206, -0.004894, 0.004894> + 19987: <-0.005081, -0.005081, 0.004833> + 19988: <-0.005081, -0.004833, 0.005081> + 19989: <-0.005166, -0.004647, 0.005166> + 19990: <-0.005326, -0.004691, 0.004959> + 19991: <-0.005206, -0.004894, 0.004894> + 19992: <-0.005166, -0.004647, 0.005166> + 19993: <-0.005255, -0.004436, 0.005255> + 19994: <-0.005446, -0.004460, 0.005034> + 19995: <-0.005326, -0.004691, 0.004959> + 19996: <-0.005255, -0.004436, 0.005255> + 19997: <-0.005351, -0.004188, 0.005351> + 19998: <-0.005564, -0.004199, 0.005120> + 19999: <-0.005446, -0.004460, 0.005034> + 20000: <-0.005351, -0.004188, 0.005351> + 20001: <-0.005451, -0.003910, 0.005451> + 20002: <-0.005678, -0.003918, 0.005207> + 20003: <-0.005564, -0.004199, 0.005120> + 20004: <-0.005451, -0.003910, 0.005451> + 20005: <-0.005549, -0.003612, 0.005549> + 20006: <-0.005786, -0.003619, 0.005294> + 20007: <-0.005678, -0.003918, 0.005207> + 20008: <-0.005549, -0.003612, 0.005549> + 20009: <-0.005642, -0.003297, 0.005642> + 20010: <-0.005888, -0.003302, 0.005379> + 20011: <-0.005786, -0.003619, 0.005294> + 20012: <-0.005642, -0.003297, 0.005642> + 20013: <-0.005729, -0.002966, 0.005729> + 20014: <-0.005983, -0.002971, 0.005459> + 20015: <-0.005888, -0.003302, 0.005379> + 20016: <-0.005729, -0.002966, 0.005729> + 20017: <-0.005809, -0.002623, 0.005809> + 20018: <-0.006069, -0.002627, 0.005533> + 20019: <-0.005983, -0.002971, 0.005459> + 20020: <-0.005809, -0.002623, 0.005809> + 20021: <-0.005881, -0.002269, 0.005881> + 20022: <-0.006146, -0.002272, 0.005599> + 20023: <-0.006069, -0.002627, 0.005533> + 20024: <-0.005881, -0.002269, 0.005881> + 20025: <-0.005944, -0.001906, 0.005944> + 20026: <-0.006212, -0.001908, 0.005657> + 20027: <-0.006146, -0.002272, 0.005599> + 20028: <-0.005944, -0.001906, 0.005944> + 20029: <-0.005996, -0.001534, 0.005996> + 20030: <-0.006269, -0.001536, 0.005707> + 20031: <-0.006212, -0.001908, 0.005657> + 20032: <-0.005996, -0.001534, 0.005996> + 20033: <-0.006039, -0.001156, 0.006039> + 20034: <-0.006313, -0.001157, 0.005747> + 20035: <-0.006269, -0.001536, 0.005707> + 20036: <-0.006039, -0.001156, 0.006039> + 20037: <-0.006070, -0.000773, 0.006070> + 20038: <-0.006346, -0.000774, 0.005776> + 20039: <-0.006313, -0.001157, 0.005747> + 20040: <-0.006070, -0.000773, 0.006070> + 20041: <-0.006089, -0.000387, 0.006089> + 20042: <-0.006366, -0.000388, 0.005794> + 20043: <-0.006346, -0.000774, 0.005776> + 20044: <-0.006089, -0.000387, 0.006089> + 20045: <-0.006096, 0.000000, 0.006096> + 20046: <-0.006373, 0.000000, 0.005801> + 20047: <-0.006366, -0.000388, 0.005794> + 20048: <-0.006096, 0.000000, 0.006096> + 20049: <-0.006089, 0.000387, 0.006089> + 20050: <-0.006366, 0.000388, 0.005794> + 20051: <-0.006373, 0.000000, 0.005801> + 20052: <-0.006089, 0.000387, 0.006089> + 20053: <-0.006070, 0.000773, 0.006070> + 20054: <-0.006346, 0.000774, 0.005776> + 20055: <-0.006366, 0.000388, 0.005794> + 20056: <-0.006070, 0.000773, 0.006070> + 20057: <-0.006039, 0.001156, 0.006039> + 20058: <-0.006313, 0.001157, 0.005747> + 20059: <-0.006346, 0.000774, 0.005776> + 20060: <-0.006039, 0.001156, 0.006039> + 20061: <-0.005996, 0.001534, 0.005996> + 20062: <-0.006269, 0.001536, 0.005707> + 20063: <-0.006313, 0.001157, 0.005747> + 20064: <-0.005996, 0.001534, 0.005996> + 20065: <-0.005944, 0.001906, 0.005944> + 20066: <-0.006212, 0.001908, 0.005657> + 20067: <-0.006269, 0.001536, 0.005707> + 20068: <-0.005944, 0.001906, 0.005944> + 20069: <-0.005881, 0.002269, 0.005881> + 20070: <-0.006146, 0.002272, 0.005599> + 20071: <-0.006212, 0.001908, 0.005657> + 20072: <-0.005881, 0.002269, 0.005881> + 20073: <-0.005809, 0.002623, 0.005809> + 20074: <-0.006069, 0.002627, 0.005533> + 20075: <-0.006146, 0.002272, 0.005599> + 20076: <-0.005809, 0.002623, 0.005809> + 20077: <-0.005729, 0.002966, 0.005729> + 20078: <-0.005983, 0.002971, 0.005459> + 20079: <-0.006069, 0.002627, 0.005533> + 20080: <-0.005729, 0.002966, 0.005729> + 20081: <-0.005642, 0.003297, 0.005642> + 20082: <-0.005888, 0.003302, 0.005379> + 20083: <-0.005983, 0.002971, 0.005459> + 20084: <-0.005642, 0.003297, 0.005642> + 20085: <-0.005549, 0.003612, 0.005549> + 20086: <-0.005786, 0.003619, 0.005294> + 20087: <-0.005888, 0.003302, 0.005379> + 20088: <-0.005549, 0.003612, 0.005549> + 20089: <-0.005451, 0.003910, 0.005451> + 20090: <-0.005678, 0.003918, 0.005207> + 20091: <-0.005786, 0.003619, 0.005294> + 20092: <-0.005451, 0.003910, 0.005451> + 20093: <-0.005351, 0.004188, 0.005351> + 20094: <-0.005564, 0.004199, 0.005120> + 20095: <-0.005678, 0.003918, 0.005207> + 20096: <-0.005351, 0.004188, 0.005351> + 20097: <-0.005255, 0.004436, 0.005255> + 20098: <-0.005446, 0.004460, 0.005034> + 20099: <-0.005564, 0.004199, 0.005120> + 20100: <-0.005255, 0.004436, 0.005255> + 20101: <-0.005166, 0.004647, 0.005166> + 20102: <-0.005326, 0.004691, 0.004959> + 20103: <-0.005446, 0.004460, 0.005034> + 20104: <-0.005166, 0.004647, 0.005166> + 20105: <-0.005081, 0.004833, 0.005081> + 20106: <-0.005206, 0.004894, 0.004894> + 20107: <-0.005326, 0.004691, 0.004959> + 20108: <-0.005081, 0.004833, 0.005081> + 20109: <-0.005000, 0.005000, 0.005000> + 20110: <-0.005081, 0.005081, 0.004833> + 20111: <-0.005206, 0.004894, 0.004894> + 20112: <-0.005206, 0.004894, 0.004894> + 20113: <-0.005081, 0.005081, 0.004833> + 20114: <-0.005166, 0.005166, 0.004647> + 20115: <-0.005326, 0.004959, 0.004691> + 20116: <-0.005326, 0.004959, 0.004691> + 20117: <-0.005166, 0.005166, 0.004647> + 20118: <-0.005255, 0.005255, 0.004436> + 20119: <-0.005446, 0.005034, 0.004460> + 20120: <-0.005446, 0.005034, 0.004460> + 20121: <-0.005255, 0.005255, 0.004436> + 20122: <-0.005351, 0.005351, 0.004188> + 20123: <-0.005564, 0.005120, 0.004199> + 20124: <-0.005564, 0.005120, 0.004199> + 20125: <-0.005351, 0.005351, 0.004188> + 20126: <-0.005451, 0.005451, 0.003910> + 20127: <-0.005678, 0.005207, 0.003918> + 20128: <-0.005678, 0.005207, 0.003918> + 20129: <-0.005451, 0.005451, 0.003910> + 20130: <-0.005549, 0.005549, 0.003612> + 20131: <-0.005786, 0.005294, 0.003619> + 20132: <-0.005786, 0.005294, 0.003619> + 20133: <-0.005549, 0.005549, 0.003612> + 20134: <-0.005642, 0.005642, 0.003297> + 20135: <-0.005888, 0.005379, 0.003302> + 20136: <-0.005888, 0.005379, 0.003302> + 20137: <-0.005642, 0.005642, 0.003297> + 20138: <-0.005729, 0.005729, 0.002966> + 20139: <-0.005983, 0.005459, 0.002971> + 20140: <-0.005983, 0.005459, 0.002971> + 20141: <-0.005729, 0.005729, 0.002966> + 20142: <-0.005809, 0.005809, 0.002623> + 20143: <-0.006069, 0.005533, 0.002627> + 20144: <-0.006069, 0.005533, 0.002627> + 20145: <-0.005809, 0.005809, 0.002623> + 20146: <-0.005881, 0.005881, 0.002269> + 20147: <-0.006146, 0.005599, 0.002272> + 20148: <-0.006146, 0.005599, 0.002272> + 20149: <-0.005881, 0.005881, 0.002269> + 20150: <-0.005944, 0.005944, 0.001906> + 20151: <-0.006212, 0.005657, 0.001908> + 20152: <-0.006212, 0.005657, 0.001908> + 20153: <-0.005944, 0.005944, 0.001906> + 20154: <-0.005996, 0.005996, 0.001534> + 20155: <-0.006269, 0.005707, 0.001536> + 20156: <-0.006269, 0.005707, 0.001536> + 20157: <-0.005996, 0.005996, 0.001534> + 20158: <-0.006039, 0.006039, 0.001156> + 20159: <-0.006313, 0.005747, 0.001157> + 20160: <-0.006313, 0.005747, 0.001157> + 20161: <-0.006039, 0.006039, 0.001156> + 20162: <-0.006070, 0.006070, 0.000773> + 20163: <-0.006346, 0.005776, 0.000774> + 20164: <-0.006346, 0.005776, 0.000774> + 20165: <-0.006070, 0.006070, 0.000773> + 20166: <-0.006089, 0.006089, 0.000387> + 20167: <-0.006366, 0.005794, 0.000388> + 20168: <-0.006366, 0.005794, 0.000388> + 20169: <-0.006089, 0.006089, 0.000387> + 20170: <-0.006096, 0.006096, -0.000000> + 20171: <-0.006373, 0.005801, 0.000000> + 20172: <-0.006373, 0.005801, 0.000000> + 20173: <-0.006096, 0.006096, -0.000000> + 20174: <-0.006089, 0.006089, -0.000387> + 20175: <-0.006366, 0.005794, -0.000388> + 20176: <-0.006366, 0.005794, -0.000388> + 20177: <-0.006089, 0.006089, -0.000387> + 20178: <-0.006070, 0.006070, -0.000773> + 20179: <-0.006346, 0.005776, -0.000774> + 20180: <-0.006346, 0.005776, -0.000774> + 20181: <-0.006070, 0.006070, -0.000773> + 20182: <-0.006039, 0.006039, -0.001156> + 20183: <-0.006313, 0.005747, -0.001157> + 20184: <-0.006313, 0.005747, -0.001157> + 20185: <-0.006039, 0.006039, -0.001156> + 20186: <-0.005996, 0.005996, -0.001534> + 20187: <-0.006269, 0.005707, -0.001536> + 20188: <-0.006269, 0.005707, -0.001536> + 20189: <-0.005996, 0.005996, -0.001534> + 20190: <-0.005944, 0.005944, -0.001906> + 20191: <-0.006212, 0.005657, -0.001908> + 20192: <-0.006212, 0.005657, -0.001908> + 20193: <-0.005944, 0.005944, -0.001906> + 20194: <-0.005881, 0.005881, -0.002269> + 20195: <-0.006146, 0.005599, -0.002272> + 20196: <-0.006146, 0.005599, -0.002272> + 20197: <-0.005881, 0.005881, -0.002269> + 20198: <-0.005809, 0.005809, -0.002623> + 20199: <-0.006069, 0.005533, -0.002627> + 20200: <-0.006069, 0.005533, -0.002627> + 20201: <-0.005809, 0.005809, -0.002623> + 20202: <-0.005729, 0.005729, -0.002966> + 20203: <-0.005983, 0.005459, -0.002971> + 20204: <-0.005983, 0.005459, -0.002971> + 20205: <-0.005729, 0.005729, -0.002966> + 20206: <-0.005642, 0.005642, -0.003297> + 20207: <-0.005888, 0.005379, -0.003302> + 20208: <-0.005888, 0.005379, -0.003302> + 20209: <-0.005642, 0.005642, -0.003297> + 20210: <-0.005549, 0.005549, -0.003612> + 20211: <-0.005786, 0.005294, -0.003619> + 20212: <-0.005786, 0.005294, -0.003619> + 20213: <-0.005549, 0.005549, -0.003612> + 20214: <-0.005451, 0.005451, -0.003910> + 20215: <-0.005678, 0.005207, -0.003918> + 20216: <-0.005678, 0.005207, -0.003918> + 20217: <-0.005451, 0.005451, -0.003910> + 20218: <-0.005351, 0.005351, -0.004188> + 20219: <-0.005564, 0.005120, -0.004199> + 20220: <-0.005564, 0.005120, -0.004199> + 20221: <-0.005351, 0.005351, -0.004188> + 20222: <-0.005255, 0.005255, -0.004436> + 20223: <-0.005446, 0.005034, -0.004460> + 20224: <-0.005446, 0.005034, -0.004460> + 20225: <-0.005255, 0.005255, -0.004436> + 20226: <-0.005166, 0.005166, -0.004647> + 20227: <-0.005326, 0.004959, -0.004691> + 20228: <-0.005326, 0.004959, -0.004691> + 20229: <-0.005166, 0.005166, -0.004647> + 20230: <-0.005081, 0.005081, -0.004833> + 20231: <-0.005206, 0.004894, -0.004894> + 20232: <-0.005206, 0.004894, -0.004894> + 20233: <-0.005081, 0.005081, -0.004833> + 20234: <-0.005000, 0.005000, -0.005000> + 20235: <-0.005081, 0.004833, -0.005081> + 20236: <-0.005326, 0.004691, -0.004959> + 20237: <-0.005206, 0.004894, -0.004894> + 20238: <-0.005081, 0.004833, -0.005081> + 20239: <-0.005166, 0.004647, -0.005166> + 20240: <-0.005446, 0.004460, -0.005034> + 20241: <-0.005326, 0.004691, -0.004959> + 20242: <-0.005166, 0.004647, -0.005166> + 20243: <-0.005255, 0.004436, -0.005255> + 20244: <-0.005564, 0.004199, -0.005120> + 20245: <-0.005446, 0.004460, -0.005034> + 20246: <-0.005255, 0.004436, -0.005255> + 20247: <-0.005351, 0.004188, -0.005351> + 20248: <-0.005678, 0.003918, -0.005207> + 20249: <-0.005564, 0.004199, -0.005120> + 20250: <-0.005351, 0.004188, -0.005351> + 20251: <-0.005451, 0.003910, -0.005451> + 20252: <-0.005786, 0.003619, -0.005294> + 20253: <-0.005678, 0.003918, -0.005207> + 20254: <-0.005451, 0.003910, -0.005451> + 20255: <-0.005549, 0.003612, -0.005549> + 20256: <-0.005888, 0.003302, -0.005379> + 20257: <-0.005786, 0.003619, -0.005294> + 20258: <-0.005549, 0.003612, -0.005549> + 20259: <-0.005642, 0.003297, -0.005642> + 20260: <-0.005983, 0.002971, -0.005459> + 20261: <-0.005888, 0.003302, -0.005379> + 20262: <-0.005642, 0.003297, -0.005642> + 20263: <-0.005729, 0.002966, -0.005729> + 20264: <-0.006069, 0.002627, -0.005533> + 20265: <-0.005983, 0.002971, -0.005459> + 20266: <-0.005729, 0.002966, -0.005729> + 20267: <-0.005809, 0.002623, -0.005809> + 20268: <-0.006146, 0.002272, -0.005599> + 20269: <-0.006069, 0.002627, -0.005533> + 20270: <-0.005809, 0.002623, -0.005809> + 20271: <-0.005881, 0.002269, -0.005881> + 20272: <-0.006212, 0.001908, -0.005657> + 20273: <-0.006146, 0.002272, -0.005599> + 20274: <-0.005881, 0.002269, -0.005881> + 20275: <-0.005944, 0.001906, -0.005944> + 20276: <-0.006269, 0.001536, -0.005707> + 20277: <-0.006212, 0.001908, -0.005657> + 20278: <-0.005944, 0.001906, -0.005944> + 20279: <-0.005996, 0.001534, -0.005996> + 20280: <-0.006313, 0.001157, -0.005747> + 20281: <-0.006269, 0.001536, -0.005707> + 20282: <-0.005996, 0.001534, -0.005996> + 20283: <-0.006039, 0.001156, -0.006039> + 20284: <-0.006346, 0.000774, -0.005776> + 20285: <-0.006313, 0.001157, -0.005747> + 20286: <-0.006039, 0.001156, -0.006039> + 20287: <-0.006070, 0.000773, -0.006070> + 20288: <-0.006366, 0.000388, -0.005794> + 20289: <-0.006346, 0.000774, -0.005776> + 20290: <-0.006070, 0.000773, -0.006070> + 20291: <-0.006089, 0.000387, -0.006089> + 20292: <-0.006373, 0.000000, -0.005801> + 20293: <-0.006366, 0.000388, -0.005794> + 20294: <-0.006089, 0.000387, -0.006089> + 20295: <-0.006096, 0.000000, -0.006096> + 20296: <-0.006366, -0.000388, -0.005794> + 20297: <-0.006373, 0.000000, -0.005801> + 20298: <-0.006096, 0.000000, -0.006096> + 20299: <-0.006089, -0.000387, -0.006089> + 20300: <-0.006346, -0.000774, -0.005776> + 20301: <-0.006366, -0.000388, -0.005794> + 20302: <-0.006089, -0.000387, -0.006089> + 20303: <-0.006070, -0.000773, -0.006070> + 20304: <-0.006313, -0.001157, -0.005747> + 20305: <-0.006346, -0.000774, -0.005776> + 20306: <-0.006070, -0.000773, -0.006070> + 20307: <-0.006039, -0.001156, -0.006039> + 20308: <-0.006269, -0.001536, -0.005707> + 20309: <-0.006313, -0.001157, -0.005747> + 20310: <-0.006039, -0.001156, -0.006039> + 20311: <-0.005996, -0.001534, -0.005996> + 20312: <-0.006212, -0.001908, -0.005657> + 20313: <-0.006269, -0.001536, -0.005707> + 20314: <-0.005996, -0.001534, -0.005996> + 20315: <-0.005944, -0.001906, -0.005944> + 20316: <-0.006146, -0.002272, -0.005599> + 20317: <-0.006212, -0.001908, -0.005657> + 20318: <-0.005944, -0.001906, -0.005944> + 20319: <-0.005881, -0.002269, -0.005881> + 20320: <-0.006069, -0.002627, -0.005533> + 20321: <-0.006146, -0.002272, -0.005599> + 20322: <-0.005881, -0.002269, -0.005881> + 20323: <-0.005809, -0.002623, -0.005809> + 20324: <-0.005983, -0.002971, -0.005459> + 20325: <-0.006069, -0.002627, -0.005533> + 20326: <-0.005809, -0.002623, -0.005809> + 20327: <-0.005729, -0.002966, -0.005729> + 20328: <-0.005888, -0.003302, -0.005379> + 20329: <-0.005983, -0.002971, -0.005459> + 20330: <-0.005729, -0.002966, -0.005729> + 20331: <-0.005642, -0.003297, -0.005642> + 20332: <-0.005786, -0.003619, -0.005294> + 20333: <-0.005888, -0.003302, -0.005379> + 20334: <-0.005642, -0.003297, -0.005642> + 20335: <-0.005549, -0.003612, -0.005549> + 20336: <-0.005678, -0.003918, -0.005207> + 20337: <-0.005786, -0.003619, -0.005294> + 20338: <-0.005549, -0.003612, -0.005549> + 20339: <-0.005451, -0.003910, -0.005451> + 20340: <-0.005564, -0.004199, -0.005120> + 20341: <-0.005678, -0.003918, -0.005207> + 20342: <-0.005451, -0.003910, -0.005451> + 20343: <-0.005351, -0.004188, -0.005351> + 20344: <-0.005446, -0.004460, -0.005034> + 20345: <-0.005564, -0.004199, -0.005120> + 20346: <-0.005351, -0.004188, -0.005351> + 20347: <-0.005255, -0.004436, -0.005255> + 20348: <-0.005326, -0.004691, -0.004959> + 20349: <-0.005446, -0.004460, -0.005034> + 20350: <-0.005255, -0.004436, -0.005255> + 20351: <-0.005166, -0.004647, -0.005166> + 20352: <-0.005206, -0.004894, -0.004894> + 20353: <-0.005326, -0.004691, -0.004959> + 20354: <-0.005166, -0.004647, -0.005166> + 20355: <-0.005081, -0.004833, -0.005081> + 20356: <-0.005081, -0.005081, -0.004833> + 20357: <-0.005206, -0.004894, -0.004894> + 20358: <-0.005081, -0.004833, -0.005081> + 20359: <-0.005000, -0.005000, -0.005000> + 20360: <-0.005166, -0.005166, -0.004647> + 20361: <-0.005326, -0.004959, -0.004691> + 20362: <-0.005206, -0.004894, -0.004894> + 20363: <-0.005081, -0.005081, -0.004833> + 20364: <-0.005255, -0.005255, -0.004436> + 20365: <-0.005446, -0.005034, -0.004460> + 20366: <-0.005326, -0.004959, -0.004691> + 20367: <-0.005166, -0.005166, -0.004647> + 20368: <-0.005351, -0.005351, -0.004188> + 20369: <-0.005564, -0.005120, -0.004199> + 20370: <-0.005446, -0.005034, -0.004460> + 20371: <-0.005255, -0.005255, -0.004436> + 20372: <-0.005451, -0.005451, -0.003910> + 20373: <-0.005678, -0.005207, -0.003918> + 20374: <-0.005564, -0.005120, -0.004199> + 20375: <-0.005351, -0.005351, -0.004188> + 20376: <-0.005549, -0.005549, -0.003612> + 20377: <-0.005786, -0.005294, -0.003619> + 20378: <-0.005678, -0.005207, -0.003918> + 20379: <-0.005451, -0.005451, -0.003910> + 20380: <-0.005642, -0.005642, -0.003297> + 20381: <-0.005888, -0.005379, -0.003302> + 20382: <-0.005786, -0.005294, -0.003619> + 20383: <-0.005549, -0.005549, -0.003612> + 20384: <-0.005729, -0.005729, -0.002966> + 20385: <-0.005983, -0.005459, -0.002971> + 20386: <-0.005888, -0.005379, -0.003302> + 20387: <-0.005642, -0.005642, -0.003297> + 20388: <-0.005809, -0.005809, -0.002623> + 20389: <-0.006069, -0.005533, -0.002627> + 20390: <-0.005983, -0.005459, -0.002971> + 20391: <-0.005729, -0.005729, -0.002966> + 20392: <-0.005881, -0.005881, -0.002269> + 20393: <-0.006146, -0.005599, -0.002272> + 20394: <-0.006069, -0.005533, -0.002627> + 20395: <-0.005809, -0.005809, -0.002623> + 20396: <-0.005944, -0.005944, -0.001906> + 20397: <-0.006212, -0.005657, -0.001908> + 20398: <-0.006146, -0.005599, -0.002272> + 20399: <-0.005881, -0.005881, -0.002269> + 20400: <-0.005996, -0.005996, -0.001534> + 20401: <-0.006269, -0.005707, -0.001536> + 20402: <-0.006212, -0.005657, -0.001908> + 20403: <-0.005944, -0.005944, -0.001906> + 20404: <-0.006039, -0.006039, -0.001156> + 20405: <-0.006313, -0.005747, -0.001157> + 20406: <-0.006269, -0.005707, -0.001536> + 20407: <-0.005996, -0.005996, -0.001534> + 20408: <-0.006070, -0.006070, -0.000773> + 20409: <-0.006346, -0.005776, -0.000774> + 20410: <-0.006313, -0.005747, -0.001157> + 20411: <-0.006039, -0.006039, -0.001156> + 20412: <-0.006089, -0.006089, -0.000387> + 20413: <-0.006366, -0.005794, -0.000388> + 20414: <-0.006346, -0.005776, -0.000774> + 20415: <-0.006070, -0.006070, -0.000773> + 20416: <-0.006096, -0.006096, -0.000000> + 20417: <-0.006373, -0.005801, 0.000000> + 20418: <-0.006366, -0.005794, -0.000388> + 20419: <-0.006089, -0.006089, -0.000387> + 20420: <-0.006089, -0.006089, 0.000387> + 20421: <-0.006366, -0.005794, 0.000388> + 20422: <-0.006373, -0.005801, 0.000000> + 20423: <-0.006096, -0.006096, -0.000000> + 20424: <-0.006070, -0.006070, 0.000773> + 20425: <-0.006346, -0.005776, 0.000774> + 20426: <-0.006366, -0.005794, 0.000388> + 20427: <-0.006089, -0.006089, 0.000387> + 20428: <-0.006039, -0.006039, 0.001156> + 20429: <-0.006313, -0.005747, 0.001157> + 20430: <-0.006346, -0.005776, 0.000774> + 20431: <-0.006070, -0.006070, 0.000773> + 20432: <-0.005996, -0.005996, 0.001534> + 20433: <-0.006269, -0.005707, 0.001536> + 20434: <-0.006313, -0.005747, 0.001157> + 20435: <-0.006039, -0.006039, 0.001156> + 20436: <-0.005944, -0.005944, 0.001906> + 20437: <-0.006212, -0.005657, 0.001908> + 20438: <-0.006269, -0.005707, 0.001536> + 20439: <-0.005996, -0.005996, 0.001534> + 20440: <-0.005881, -0.005881, 0.002269> + 20441: <-0.006146, -0.005599, 0.002272> + 20442: <-0.006212, -0.005657, 0.001908> + 20443: <-0.005944, -0.005944, 0.001906> + 20444: <-0.005809, -0.005809, 0.002623> + 20445: <-0.006069, -0.005533, 0.002627> + 20446: <-0.006146, -0.005599, 0.002272> + 20447: <-0.005881, -0.005881, 0.002269> + 20448: <-0.005729, -0.005729, 0.002966> + 20449: <-0.005983, -0.005459, 0.002971> + 20450: <-0.006069, -0.005533, 0.002627> + 20451: <-0.005809, -0.005809, 0.002623> + 20452: <-0.005642, -0.005642, 0.003297> + 20453: <-0.005888, -0.005379, 0.003302> + 20454: <-0.005983, -0.005459, 0.002971> + 20455: <-0.005729, -0.005729, 0.002966> + 20456: <-0.005549, -0.005549, 0.003612> + 20457: <-0.005786, -0.005294, 0.003619> + 20458: <-0.005888, -0.005379, 0.003302> + 20459: <-0.005642, -0.005642, 0.003297> + 20460: <-0.005451, -0.005451, 0.003910> + 20461: <-0.005678, -0.005207, 0.003918> + 20462: <-0.005786, -0.005294, 0.003619> + 20463: <-0.005549, -0.005549, 0.003612> + 20464: <-0.005351, -0.005351, 0.004188> + 20465: <-0.005564, -0.005120, 0.004199> + 20466: <-0.005678, -0.005207, 0.003918> + 20467: <-0.005451, -0.005451, 0.003910> + 20468: <-0.005255, -0.005255, 0.004436> + 20469: <-0.005446, -0.005034, 0.004460> + 20470: <-0.005564, -0.005120, 0.004199> + 20471: <-0.005351, -0.005351, 0.004188> + 20472: <-0.005166, -0.005166, 0.004647> + 20473: <-0.005326, -0.004959, 0.004691> + 20474: <-0.005446, -0.005034, 0.004460> + 20475: <-0.005255, -0.005255, 0.004436> + 20476: <-0.005081, -0.005081, 0.004833> + 20477: <-0.005206, -0.004894, 0.004894> + 20478: <-0.005326, -0.004959, 0.004691> + 20479: <-0.005166, -0.005166, 0.004647> + 20480: < 0.004894, -0.004894, 0.005206> + 20481: < 0.004959, -0.004691, 0.005326> + 20482: < 0.004738, -0.004738, 0.005479> + 20483: < 0.004691, -0.004959, 0.005326> + 20484: < 0.004959, -0.004691, 0.005326> + 20485: < 0.005034, -0.004460, 0.005446> + 20486: < 0.004798, -0.004494, 0.005623> + 20487: < 0.004738, -0.004738, 0.005479> + 20488: < 0.005034, -0.004460, 0.005446> + 20489: < 0.005120, -0.004199, 0.005564> + 20490: < 0.004870, -0.004226, 0.005760> + 20491: < 0.004798, -0.004494, 0.005623> + 20492: < 0.005120, -0.004199, 0.005564> + 20493: < 0.005207, -0.003918, 0.005678> + 20494: < 0.004946, -0.003941, 0.005887> + 20495: < 0.004870, -0.004226, 0.005760> + 20496: < 0.005207, -0.003918, 0.005678> + 20497: < 0.005294, -0.003619, 0.005786> + 20498: < 0.005023, -0.003637, 0.006006> + 20499: < 0.004946, -0.003941, 0.005887> + 20500: < 0.005294, -0.003619, 0.005786> + 20501: < 0.005379, -0.003302, 0.005888> + 20502: < 0.005099, -0.003318, 0.006117> + 20503: < 0.005023, -0.003637, 0.006006> + 20504: < 0.005379, -0.003302, 0.005888> + 20505: < 0.005459, -0.002971, 0.005983> + 20506: < 0.005172, -0.002984, 0.006219> + 20507: < 0.005099, -0.003318, 0.006117> + 20508: < 0.005459, -0.002971, 0.005983> + 20509: < 0.005533, -0.002627, 0.006069> + 20510: < 0.005240, -0.002638, 0.006311> + 20511: < 0.005172, -0.002984, 0.006219> + 20512: < 0.005533, -0.002627, 0.006069> + 20513: < 0.005599, -0.002272, 0.006146> + 20514: < 0.005301, -0.002281, 0.006393> + 20515: < 0.005240, -0.002638, 0.006311> + 20516: < 0.005599, -0.002272, 0.006146> + 20517: < 0.005657, -0.001908, 0.006212> + 20518: < 0.005355, -0.001915, 0.006464> + 20519: < 0.005301, -0.002281, 0.006393> + 20520: < 0.005657, -0.001908, 0.006212> + 20521: < 0.005707, -0.001536, 0.006269> + 20522: < 0.005401, -0.001541, 0.006523> + 20523: < 0.005355, -0.001915, 0.006464> + 20524: < 0.005707, -0.001536, 0.006269> + 20525: < 0.005747, -0.001157, 0.006313> + 20526: < 0.005438, -0.001161, 0.006570> + 20527: < 0.005401, -0.001541, 0.006523> + 20528: < 0.005747, -0.001157, 0.006313> + 20529: < 0.005776, -0.000774, 0.006346> + 20530: < 0.005466, -0.000777, 0.006605> + 20531: < 0.005438, -0.001161, 0.006570> + 20532: < 0.005776, -0.000774, 0.006346> + 20533: < 0.005794, -0.000388, 0.006366> + 20534: < 0.005483, -0.000389, 0.006626> + 20535: < 0.005466, -0.000777, 0.006605> + 20536: < 0.005794, -0.000388, 0.006366> + 20537: < 0.005801, -0.000000, 0.006373> + 20538: < 0.005489, -0.000000, 0.006633> + 20539: < 0.005483, -0.000389, 0.006626> + 20540: < 0.005801, -0.000000, 0.006373> + 20541: < 0.005794, 0.000388, 0.006366> + 20542: < 0.005483, 0.000389, 0.006626> + 20543: < 0.005489, -0.000000, 0.006633> + 20544: < 0.005794, 0.000388, 0.006366> + 20545: < 0.005776, 0.000774, 0.006346> + 20546: < 0.005466, 0.000777, 0.006605> + 20547: < 0.005483, 0.000389, 0.006626> + 20548: < 0.005776, 0.000774, 0.006346> + 20549: < 0.005747, 0.001157, 0.006313> + 20550: < 0.005438, 0.001161, 0.006570> + 20551: < 0.005466, 0.000777, 0.006605> + 20552: < 0.005747, 0.001157, 0.006313> + 20553: < 0.005707, 0.001536, 0.006269> + 20554: < 0.005401, 0.001541, 0.006523> + 20555: < 0.005438, 0.001161, 0.006570> + 20556: < 0.005707, 0.001536, 0.006269> + 20557: < 0.005657, 0.001908, 0.006212> + 20558: < 0.005355, 0.001915, 0.006464> + 20559: < 0.005401, 0.001541, 0.006523> + 20560: < 0.005657, 0.001908, 0.006212> + 20561: < 0.005599, 0.002272, 0.006146> + 20562: < 0.005301, 0.002281, 0.006393> + 20563: < 0.005355, 0.001915, 0.006464> + 20564: < 0.005599, 0.002272, 0.006146> + 20565: < 0.005533, 0.002627, 0.006069> + 20566: < 0.005240, 0.002638, 0.006311> + 20567: < 0.005301, 0.002281, 0.006393> + 20568: < 0.005533, 0.002627, 0.006069> + 20569: < 0.005459, 0.002971, 0.005983> + 20570: < 0.005172, 0.002984, 0.006219> + 20571: < 0.005240, 0.002638, 0.006311> + 20572: < 0.005459, 0.002971, 0.005983> + 20573: < 0.005379, 0.003302, 0.005888> + 20574: < 0.005099, 0.003318, 0.006117> + 20575: < 0.005172, 0.002984, 0.006219> + 20576: < 0.005379, 0.003302, 0.005888> + 20577: < 0.005294, 0.003619, 0.005786> + 20578: < 0.005023, 0.003637, 0.006006> + 20579: < 0.005099, 0.003318, 0.006117> + 20580: < 0.005294, 0.003619, 0.005786> + 20581: < 0.005207, 0.003918, 0.005678> + 20582: < 0.004946, 0.003941, 0.005887> + 20583: < 0.005023, 0.003637, 0.006006> + 20584: < 0.005207, 0.003918, 0.005678> + 20585: < 0.005120, 0.004199, 0.005564> + 20586: < 0.004870, 0.004226, 0.005760> + 20587: < 0.004946, 0.003941, 0.005887> + 20588: < 0.005120, 0.004199, 0.005564> + 20589: < 0.005034, 0.004460, 0.005446> + 20590: < 0.004798, 0.004494, 0.005623> + 20591: < 0.004870, 0.004226, 0.005760> + 20592: < 0.005034, 0.004460, 0.005446> + 20593: < 0.004959, 0.004691, 0.005326> + 20594: < 0.004738, 0.004738, 0.005479> + 20595: < 0.004798, 0.004494, 0.005623> + 20596: < 0.004959, 0.004691, 0.005326> + 20597: < 0.004894, 0.004894, 0.005206> + 20598: < 0.004691, 0.004959, 0.005326> + 20599: < 0.004738, 0.004738, 0.005479> + 20600: < 0.004691, -0.004959, 0.005326> + 20601: < 0.004738, -0.004738, 0.005479> + 20602: < 0.004494, -0.004798, 0.005623> + 20603: < 0.004460, -0.005034, 0.005446> + 20604: < 0.004738, -0.004738, 0.005479> + 20605: < 0.004798, -0.004494, 0.005623> + 20606: < 0.004542, -0.004542, 0.005788> + 20607: < 0.004494, -0.004798, 0.005623> + 20608: < 0.004798, -0.004494, 0.005623> + 20609: < 0.004870, -0.004226, 0.005760> + 20610: < 0.004602, -0.004267, 0.005939> + 20611: < 0.004542, -0.004542, 0.005788> + 20612: < 0.004870, -0.004226, 0.005760> + 20613: < 0.004946, -0.003941, 0.005887> + 20614: < 0.004668, -0.003975, 0.006080> + 20615: < 0.004602, -0.004267, 0.005939> + 20616: < 0.004946, -0.003941, 0.005887> + 20617: < 0.005023, -0.003637, 0.006006> + 20618: < 0.004736, -0.003666, 0.006210> + 20619: < 0.004668, -0.003975, 0.006080> + 20620: < 0.005023, -0.003637, 0.006006> + 20621: < 0.005099, -0.003318, 0.006117> + 20622: < 0.004804, -0.003342, 0.006329> + 20623: < 0.004736, -0.003666, 0.006210> + 20624: < 0.005099, -0.003318, 0.006117> + 20625: < 0.005172, -0.002984, 0.006219> + 20626: < 0.004870, -0.003004, 0.006439> + 20627: < 0.004804, -0.003342, 0.006329> + 20628: < 0.005172, -0.002984, 0.006219> + 20629: < 0.005240, -0.002638, 0.006311> + 20630: < 0.004931, -0.002655, 0.006537> + 20631: < 0.004870, -0.003004, 0.006439> + 20632: < 0.005240, -0.002638, 0.006311> + 20633: < 0.005301, -0.002281, 0.006393> + 20634: < 0.004987, -0.002295, 0.006623> + 20635: < 0.004931, -0.002655, 0.006537> + 20636: < 0.005301, -0.002281, 0.006393> + 20637: < 0.005355, -0.001915, 0.006464> + 20638: < 0.005037, -0.001926, 0.006698> + 20639: < 0.004987, -0.002295, 0.006623> + 20640: < 0.005355, -0.001915, 0.006464> + 20641: < 0.005401, -0.001541, 0.006523> + 20642: < 0.005080, -0.001550, 0.006761> + 20643: < 0.005037, -0.001926, 0.006698> + 20644: < 0.005401, -0.001541, 0.006523> + 20645: < 0.005438, -0.001161, 0.006570> + 20646: < 0.005114, -0.001168, 0.006810> + 20647: < 0.005080, -0.001550, 0.006761> + 20648: < 0.005438, -0.001161, 0.006570> + 20649: < 0.005466, -0.000777, 0.006605> + 20650: < 0.005140, -0.000781, 0.006846> + 20651: < 0.005114, -0.001168, 0.006810> + 20652: < 0.005466, -0.000777, 0.006605> + 20653: < 0.005483, -0.000389, 0.006626> + 20654: < 0.005156, -0.000391, 0.006868> + 20655: < 0.005140, -0.000781, 0.006846> + 20656: < 0.005483, -0.000389, 0.006626> + 20657: < 0.005489, -0.000000, 0.006633> + 20658: < 0.005162, -0.000000, 0.006875> + 20659: < 0.005156, -0.000391, 0.006868> + 20660: < 0.005489, -0.000000, 0.006633> + 20661: < 0.005483, 0.000389, 0.006626> + 20662: < 0.005156, 0.000391, 0.006868> + 20663: < 0.005162, -0.000000, 0.006875> + 20664: < 0.005483, 0.000389, 0.006626> + 20665: < 0.005466, 0.000777, 0.006605> + 20666: < 0.005140, 0.000781, 0.006846> + 20667: < 0.005156, 0.000391, 0.006868> + 20668: < 0.005466, 0.000777, 0.006605> + 20669: < 0.005438, 0.001161, 0.006570> + 20670: < 0.005114, 0.001168, 0.006810> + 20671: < 0.005140, 0.000781, 0.006846> + 20672: < 0.005438, 0.001161, 0.006570> + 20673: < 0.005401, 0.001541, 0.006523> + 20674: < 0.005080, 0.001550, 0.006761> + 20675: < 0.005114, 0.001168, 0.006810> + 20676: < 0.005401, 0.001541, 0.006523> + 20677: < 0.005355, 0.001915, 0.006464> + 20678: < 0.005037, 0.001926, 0.006698> + 20679: < 0.005080, 0.001550, 0.006761> + 20680: < 0.005355, 0.001915, 0.006464> + 20681: < 0.005301, 0.002281, 0.006393> + 20682: < 0.004987, 0.002295, 0.006623> + 20683: < 0.005037, 0.001926, 0.006698> + 20684: < 0.005301, 0.002281, 0.006393> + 20685: < 0.005240, 0.002638, 0.006311> + 20686: < 0.004931, 0.002655, 0.006537> + 20687: < 0.004987, 0.002295, 0.006623> + 20688: < 0.005240, 0.002638, 0.006311> + 20689: < 0.005172, 0.002984, 0.006219> + 20690: < 0.004870, 0.003004, 0.006439> + 20691: < 0.004931, 0.002655, 0.006537> + 20692: < 0.005172, 0.002984, 0.006219> + 20693: < 0.005099, 0.003318, 0.006117> + 20694: < 0.004804, 0.003342, 0.006329> + 20695: < 0.004870, 0.003004, 0.006439> + 20696: < 0.005099, 0.003318, 0.006117> + 20697: < 0.005023, 0.003637, 0.006006> + 20698: < 0.004736, 0.003666, 0.006210> + 20699: < 0.004804, 0.003342, 0.006329> + 20700: < 0.005023, 0.003637, 0.006006> + 20701: < 0.004946, 0.003941, 0.005887> + 20702: < 0.004668, 0.003975, 0.006080> + 20703: < 0.004736, 0.003666, 0.006210> + 20704: < 0.004946, 0.003941, 0.005887> + 20705: < 0.004870, 0.004226, 0.005760> + 20706: < 0.004602, 0.004267, 0.005939> + 20707: < 0.004668, 0.003975, 0.006080> + 20708: < 0.004870, 0.004226, 0.005760> + 20709: < 0.004798, 0.004494, 0.005623> + 20710: < 0.004542, 0.004542, 0.005788> + 20711: < 0.004602, 0.004267, 0.005939> + 20712: < 0.004798, 0.004494, 0.005623> + 20713: < 0.004738, 0.004738, 0.005479> + 20714: < 0.004494, 0.004798, 0.005623> + 20715: < 0.004542, 0.004542, 0.005788> + 20716: < 0.004738, 0.004738, 0.005479> + 20717: < 0.004691, 0.004959, 0.005326> + 20718: < 0.004460, 0.005034, 0.005446> + 20719: < 0.004494, 0.004798, 0.005623> + 20720: < 0.004460, -0.005034, 0.005446> + 20721: < 0.004494, -0.004798, 0.005623> + 20722: < 0.004226, -0.004870, 0.005760> + 20723: < 0.004199, -0.005120, 0.005564> + 20724: < 0.004494, -0.004798, 0.005623> + 20725: < 0.004542, -0.004542, 0.005788> + 20726: < 0.004267, -0.004602, 0.005939> + 20727: < 0.004226, -0.004870, 0.005760> + 20728: < 0.004542, -0.004542, 0.005788> + 20729: < 0.004602, -0.004267, 0.005939> + 20730: < 0.004318, -0.004318, 0.006105> + 20731: < 0.004267, -0.004602, 0.005939> + 20732: < 0.004602, -0.004267, 0.005939> + 20733: < 0.004668, -0.003975, 0.006080> + 20734: < 0.004374, -0.004017, 0.006257> + 20735: < 0.004318, -0.004318, 0.006105> + 20736: < 0.004668, -0.003975, 0.006080> + 20737: < 0.004736, -0.003666, 0.006210> + 20738: < 0.004434, -0.003701, 0.006397> + 20739: < 0.004374, -0.004017, 0.006257> + 20740: < 0.004736, -0.003666, 0.006210> + 20741: < 0.004804, -0.003342, 0.006329> + 20742: < 0.004494, -0.003372, 0.006525> + 20743: < 0.004434, -0.003701, 0.006397> + 20744: < 0.004804, -0.003342, 0.006329> + 20745: < 0.004870, -0.003004, 0.006439> + 20746: < 0.004553, -0.003030, 0.006641> + 20747: < 0.004494, -0.003372, 0.006525> + 20748: < 0.004870, -0.003004, 0.006439> + 20749: < 0.004931, -0.002655, 0.006537> + 20750: < 0.004609, -0.002676, 0.006745> + 20751: < 0.004553, -0.003030, 0.006641> + 20752: < 0.004931, -0.002655, 0.006537> + 20753: < 0.004987, -0.002295, 0.006623> + 20754: < 0.004659, -0.002313, 0.006836> + 20755: < 0.004609, -0.002676, 0.006745> + 20756: < 0.004987, -0.002295, 0.006623> + 20757: < 0.005037, -0.001926, 0.006698> + 20758: < 0.004705, -0.001940, 0.006915> + 20759: < 0.004659, -0.002313, 0.006836> + 20760: < 0.005037, -0.001926, 0.006698> + 20761: < 0.005080, -0.001550, 0.006761> + 20762: < 0.004744, -0.001561, 0.006980> + 20763: < 0.004705, -0.001940, 0.006915> + 20764: < 0.005080, -0.001550, 0.006761> + 20765: < 0.005114, -0.001168, 0.006810> + 20766: < 0.004776, -0.001176, 0.007032> + 20767: < 0.004744, -0.001561, 0.006980> + 20768: < 0.005114, -0.001168, 0.006810> + 20769: < 0.005140, -0.000781, 0.006846> + 20770: < 0.004800, -0.000786, 0.007069> + 20771: < 0.004776, -0.001176, 0.007032> + 20772: < 0.005140, -0.000781, 0.006846> + 20773: < 0.005156, -0.000391, 0.006868> + 20774: < 0.004815, -0.000394, 0.007092> + 20775: < 0.004800, -0.000786, 0.007069> + 20776: < 0.005156, -0.000391, 0.006868> + 20777: < 0.005162, -0.000000, 0.006875> + 20778: < 0.004820, -0.000000, 0.007099> + 20779: < 0.004815, -0.000394, 0.007092> + 20780: < 0.005162, -0.000000, 0.006875> + 20781: < 0.005156, 0.000391, 0.006868> + 20782: < 0.004815, 0.000394, 0.007092> + 20783: < 0.004820, -0.000000, 0.007099> + 20784: < 0.005156, 0.000391, 0.006868> + 20785: < 0.005140, 0.000781, 0.006846> + 20786: < 0.004800, 0.000786, 0.007069> + 20787: < 0.004815, 0.000394, 0.007092> + 20788: < 0.005140, 0.000781, 0.006846> + 20789: < 0.005114, 0.001168, 0.006810> + 20790: < 0.004776, 0.001176, 0.007032> + 20791: < 0.004800, 0.000786, 0.007069> + 20792: < 0.005114, 0.001168, 0.006810> + 20793: < 0.005080, 0.001550, 0.006761> + 20794: < 0.004744, 0.001561, 0.006980> + 20795: < 0.004776, 0.001176, 0.007032> + 20796: < 0.005080, 0.001550, 0.006761> + 20797: < 0.005037, 0.001926, 0.006698> + 20798: < 0.004705, 0.001940, 0.006915> + 20799: < 0.004744, 0.001561, 0.006980> + 20800: < 0.005037, 0.001926, 0.006698> + 20801: < 0.004987, 0.002295, 0.006623> + 20802: < 0.004659, 0.002313, 0.006836> + 20803: < 0.004705, 0.001940, 0.006915> + 20804: < 0.004987, 0.002295, 0.006623> + 20805: < 0.004931, 0.002655, 0.006537> + 20806: < 0.004609, 0.002676, 0.006745> + 20807: < 0.004659, 0.002313, 0.006836> + 20808: < 0.004931, 0.002655, 0.006537> + 20809: < 0.004870, 0.003004, 0.006439> + 20810: < 0.004553, 0.003030, 0.006641> + 20811: < 0.004609, 0.002676, 0.006745> + 20812: < 0.004870, 0.003004, 0.006439> + 20813: < 0.004804, 0.003342, 0.006329> + 20814: < 0.004494, 0.003372, 0.006525> + 20815: < 0.004553, 0.003030, 0.006641> + 20816: < 0.004804, 0.003342, 0.006329> + 20817: < 0.004736, 0.003666, 0.006210> + 20818: < 0.004434, 0.003701, 0.006397> + 20819: < 0.004494, 0.003372, 0.006525> + 20820: < 0.004736, 0.003666, 0.006210> + 20821: < 0.004668, 0.003975, 0.006080> + 20822: < 0.004374, 0.004017, 0.006257> + 20823: < 0.004434, 0.003701, 0.006397> + 20824: < 0.004668, 0.003975, 0.006080> + 20825: < 0.004602, 0.004267, 0.005939> + 20826: < 0.004318, 0.004318, 0.006105> + 20827: < 0.004374, 0.004017, 0.006257> + 20828: < 0.004602, 0.004267, 0.005939> + 20829: < 0.004542, 0.004542, 0.005788> + 20830: < 0.004267, 0.004602, 0.005939> + 20831: < 0.004318, 0.004318, 0.006105> + 20832: < 0.004542, 0.004542, 0.005788> + 20833: < 0.004494, 0.004798, 0.005623> + 20834: < 0.004226, 0.004870, 0.005760> + 20835: < 0.004267, 0.004602, 0.005939> + 20836: < 0.004494, 0.004798, 0.005623> + 20837: < 0.004460, 0.005034, 0.005446> + 20838: < 0.004199, 0.005120, 0.005564> + 20839: < 0.004226, 0.004870, 0.005760> + 20840: < 0.004199, -0.005120, 0.005564> + 20841: < 0.004226, -0.004870, 0.005760> + 20842: < 0.003941, -0.004946, 0.005887> + 20843: < 0.003918, -0.005207, 0.005678> + 20844: < 0.004226, -0.004870, 0.005760> + 20845: < 0.004267, -0.004602, 0.005939> + 20846: < 0.003975, -0.004668, 0.006080> + 20847: < 0.003941, -0.004946, 0.005887> + 20848: < 0.004267, -0.004602, 0.005939> + 20849: < 0.004318, -0.004318, 0.006105> + 20850: < 0.004017, -0.004374, 0.006257> + 20851: < 0.003975, -0.004668, 0.006080> + 20852: < 0.004318, -0.004318, 0.006105> + 20853: < 0.004374, -0.004017, 0.006257> + 20854: < 0.004065, -0.004065, 0.006421> + 20855: < 0.004017, -0.004374, 0.006257> + 20856: < 0.004374, -0.004017, 0.006257> + 20857: < 0.004434, -0.003701, 0.006397> + 20858: < 0.004117, -0.003743, 0.006570> + 20859: < 0.004065, -0.004065, 0.006421> + 20860: < 0.004434, -0.003701, 0.006397> + 20861: < 0.004494, -0.003372, 0.006525> + 20862: < 0.004170, -0.003407, 0.006705> + 20863: < 0.004117, -0.003743, 0.006570> + 20864: < 0.004494, -0.003372, 0.006525> + 20865: < 0.004553, -0.003030, 0.006641> + 20866: < 0.004223, -0.003060, 0.006828> + 20867: < 0.004170, -0.003407, 0.006705> + 20868: < 0.004553, -0.003030, 0.006641> + 20869: < 0.004609, -0.002676, 0.006745> + 20870: < 0.004273, -0.002701, 0.006937> + 20871: < 0.004223, -0.003060, 0.006828> + 20872: < 0.004609, -0.002676, 0.006745> + 20873: < 0.004659, -0.002313, 0.006836> + 20874: < 0.004318, -0.002333, 0.007033> + 20875: < 0.004273, -0.002701, 0.006937> + 20876: < 0.004659, -0.002313, 0.006836> + 20877: < 0.004705, -0.001940, 0.006915> + 20878: < 0.004360, -0.001957, 0.007115> + 20879: < 0.004318, -0.002333, 0.007033> + 20880: < 0.004705, -0.001940, 0.006915> + 20881: < 0.004744, -0.001561, 0.006980> + 20882: < 0.004395, -0.001574, 0.007183> + 20883: < 0.004360, -0.001957, 0.007115> + 20884: < 0.004744, -0.001561, 0.006980> + 20885: < 0.004776, -0.001176, 0.007032> + 20886: < 0.004424, -0.001185, 0.007236> + 20887: < 0.004395, -0.001574, 0.007183> + 20888: < 0.004776, -0.001176, 0.007032> + 20889: < 0.004800, -0.000786, 0.007069> + 20890: < 0.004446, -0.000792, 0.007275> + 20891: < 0.004424, -0.001185, 0.007236> + 20892: < 0.004800, -0.000786, 0.007069> + 20893: < 0.004815, -0.000394, 0.007092> + 20894: < 0.004460, -0.000397, 0.007298> + 20895: < 0.004446, -0.000792, 0.007275> + 20896: < 0.004815, -0.000394, 0.007092> + 20897: < 0.004820, -0.000000, 0.007099> + 20898: < 0.004465, -0.000000, 0.007306> + 20899: < 0.004460, -0.000397, 0.007298> + 20900: < 0.004820, -0.000000, 0.007099> + 20901: < 0.004815, 0.000394, 0.007092> + 20902: < 0.004460, 0.000397, 0.007298> + 20903: < 0.004465, -0.000000, 0.007306> + 20904: < 0.004815, 0.000394, 0.007092> + 20905: < 0.004800, 0.000786, 0.007069> + 20906: < 0.004446, 0.000792, 0.007275> + 20907: < 0.004460, 0.000397, 0.007298> + 20908: < 0.004800, 0.000786, 0.007069> + 20909: < 0.004776, 0.001176, 0.007032> + 20910: < 0.004424, 0.001185, 0.007236> + 20911: < 0.004446, 0.000792, 0.007275> + 20912: < 0.004776, 0.001176, 0.007032> + 20913: < 0.004744, 0.001561, 0.006980> + 20914: < 0.004395, 0.001574, 0.007183> + 20915: < 0.004424, 0.001185, 0.007236> + 20916: < 0.004744, 0.001561, 0.006980> + 20917: < 0.004705, 0.001940, 0.006915> + 20918: < 0.004360, 0.001957, 0.007115> + 20919: < 0.004395, 0.001574, 0.007183> + 20920: < 0.004705, 0.001940, 0.006915> + 20921: < 0.004659, 0.002313, 0.006836> + 20922: < 0.004318, 0.002333, 0.007033> + 20923: < 0.004360, 0.001957, 0.007115> + 20924: < 0.004659, 0.002313, 0.006836> + 20925: < 0.004609, 0.002676, 0.006745> + 20926: < 0.004273, 0.002701, 0.006937> + 20927: < 0.004318, 0.002333, 0.007033> + 20928: < 0.004609, 0.002676, 0.006745> + 20929: < 0.004553, 0.003030, 0.006641> + 20930: < 0.004223, 0.003060, 0.006828> + 20931: < 0.004273, 0.002701, 0.006937> + 20932: < 0.004553, 0.003030, 0.006641> + 20933: < 0.004494, 0.003372, 0.006525> + 20934: < 0.004170, 0.003407, 0.006705> + 20935: < 0.004223, 0.003060, 0.006828> + 20936: < 0.004494, 0.003372, 0.006525> + 20937: < 0.004434, 0.003701, 0.006397> + 20938: < 0.004117, 0.003743, 0.006570> + 20939: < 0.004170, 0.003407, 0.006705> + 20940: < 0.004434, 0.003701, 0.006397> + 20941: < 0.004374, 0.004017, 0.006257> + 20942: < 0.004065, 0.004065, 0.006421> + 20943: < 0.004117, 0.003743, 0.006570> + 20944: < 0.004374, 0.004017, 0.006257> + 20945: < 0.004318, 0.004318, 0.006105> + 20946: < 0.004017, 0.004374, 0.006257> + 20947: < 0.004065, 0.004065, 0.006421> + 20948: < 0.004318, 0.004318, 0.006105> + 20949: < 0.004267, 0.004602, 0.005939> + 20950: < 0.003975, 0.004668, 0.006080> + 20951: < 0.004017, 0.004374, 0.006257> + 20952: < 0.004267, 0.004602, 0.005939> + 20953: < 0.004226, 0.004870, 0.005760> + 20954: < 0.003941, 0.004946, 0.005887> + 20955: < 0.003975, 0.004668, 0.006080> + 20956: < 0.004226, 0.004870, 0.005760> + 20957: < 0.004199, 0.005120, 0.005564> + 20958: < 0.003918, 0.005207, 0.005678> + 20959: < 0.003941, 0.004946, 0.005887> + 20960: < 0.003918, -0.005207, 0.005678> + 20961: < 0.003941, -0.004946, 0.005887> + 20962: < 0.003637, -0.005023, 0.006006> + 20963: < 0.003619, -0.005294, 0.005786> + 20964: < 0.003941, -0.004946, 0.005887> + 20965: < 0.003975, -0.004668, 0.006080> + 20966: < 0.003666, -0.004736, 0.006210> + 20967: < 0.003637, -0.005023, 0.006006> + 20968: < 0.003975, -0.004668, 0.006080> + 20969: < 0.004017, -0.004374, 0.006257> + 20970: < 0.003701, -0.004434, 0.006397> + 20971: < 0.003666, -0.004736, 0.006210> + 20972: < 0.004017, -0.004374, 0.006257> + 20973: < 0.004065, -0.004065, 0.006421> + 20974: < 0.003743, -0.004117, 0.006570> + 20975: < 0.003701, -0.004434, 0.006397> + 20976: < 0.004065, -0.004065, 0.006421> + 20977: < 0.004117, -0.003743, 0.006570> + 20978: < 0.003788, -0.003788, 0.006727> + 20979: < 0.003743, -0.004117, 0.006570> + 20980: < 0.004117, -0.003743, 0.006570> + 20981: < 0.004170, -0.003407, 0.006705> + 20982: < 0.003834, -0.003446, 0.006870> + 20983: < 0.003788, -0.003788, 0.006727> + 20984: < 0.004170, -0.003407, 0.006705> + 20985: < 0.004223, -0.003060, 0.006828> + 20986: < 0.003880, -0.003093, 0.006998> + 20987: < 0.003834, -0.003446, 0.006870> + 20988: < 0.004223, -0.003060, 0.006828> + 20989: < 0.004273, -0.002701, 0.006937> + 20990: < 0.003924, -0.002729, 0.007112> + 20991: < 0.003880, -0.003093, 0.006998> + 20992: < 0.004273, -0.002701, 0.006937> + 20993: < 0.004318, -0.002333, 0.007033> + 20994: < 0.003965, -0.002356, 0.007212> + 20995: < 0.003924, -0.002729, 0.007112> + 20996: < 0.004318, -0.002333, 0.007033> + 20997: < 0.004360, -0.001957, 0.007115> + 20998: < 0.004002, -0.001975, 0.007297> + 20999: < 0.003965, -0.002356, 0.007212> + 21000: < 0.004360, -0.001957, 0.007115> + 21001: < 0.004395, -0.001574, 0.007183> + 21002: < 0.004034, -0.001588, 0.007367> + 21003: < 0.004002, -0.001975, 0.007297> + 21004: < 0.004395, -0.001574, 0.007183> + 21005: < 0.004424, -0.001185, 0.007236> + 21006: < 0.004061, -0.001196, 0.007423> + 21007: < 0.004034, -0.001588, 0.007367> + 21008: < 0.004424, -0.001185, 0.007236> + 21009: < 0.004446, -0.000792, 0.007275> + 21010: < 0.004081, -0.000799, 0.007462> + 21011: < 0.004061, -0.001196, 0.007423> + 21012: < 0.004446, -0.000792, 0.007275> + 21013: < 0.004460, -0.000397, 0.007298> + 21014: < 0.004093, -0.000400, 0.007487> + 21015: < 0.004081, -0.000799, 0.007462> + 21016: < 0.004460, -0.000397, 0.007298> + 21017: < 0.004465, -0.000000, 0.007306> + 21018: < 0.004098, -0.000000, 0.007495> + 21019: < 0.004093, -0.000400, 0.007487> + 21020: < 0.004465, -0.000000, 0.007306> + 21021: < 0.004460, 0.000397, 0.007298> + 21022: < 0.004093, 0.000400, 0.007487> + 21023: < 0.004098, -0.000000, 0.007495> + 21024: < 0.004460, 0.000397, 0.007298> + 21025: < 0.004446, 0.000792, 0.007275> + 21026: < 0.004081, 0.000799, 0.007462> + 21027: < 0.004093, 0.000400, 0.007487> + 21028: < 0.004446, 0.000792, 0.007275> + 21029: < 0.004424, 0.001185, 0.007236> + 21030: < 0.004061, 0.001196, 0.007423> + 21031: < 0.004081, 0.000799, 0.007462> + 21032: < 0.004424, 0.001185, 0.007236> + 21033: < 0.004395, 0.001574, 0.007183> + 21034: < 0.004034, 0.001588, 0.007367> + 21035: < 0.004061, 0.001196, 0.007423> + 21036: < 0.004395, 0.001574, 0.007183> + 21037: < 0.004360, 0.001957, 0.007115> + 21038: < 0.004002, 0.001975, 0.007297> + 21039: < 0.004034, 0.001588, 0.007367> + 21040: < 0.004360, 0.001957, 0.007115> + 21041: < 0.004318, 0.002333, 0.007033> + 21042: < 0.003965, 0.002356, 0.007212> + 21043: < 0.004002, 0.001975, 0.007297> + 21044: < 0.004318, 0.002333, 0.007033> + 21045: < 0.004273, 0.002701, 0.006937> + 21046: < 0.003924, 0.002729, 0.007112> + 21047: < 0.003965, 0.002356, 0.007212> + 21048: < 0.004273, 0.002701, 0.006937> + 21049: < 0.004223, 0.003060, 0.006828> + 21050: < 0.003880, 0.003093, 0.006998> + 21051: < 0.003924, 0.002729, 0.007112> + 21052: < 0.004223, 0.003060, 0.006828> + 21053: < 0.004170, 0.003407, 0.006705> + 21054: < 0.003834, 0.003446, 0.006870> + 21055: < 0.003880, 0.003093, 0.006998> + 21056: < 0.004170, 0.003407, 0.006705> + 21057: < 0.004117, 0.003743, 0.006570> + 21058: < 0.003788, 0.003788, 0.006727> + 21059: < 0.003834, 0.003446, 0.006870> + 21060: < 0.004117, 0.003743, 0.006570> + 21061: < 0.004065, 0.004065, 0.006421> + 21062: < 0.003743, 0.004117, 0.006570> + 21063: < 0.003788, 0.003788, 0.006727> + 21064: < 0.004065, 0.004065, 0.006421> + 21065: < 0.004017, 0.004374, 0.006257> + 21066: < 0.003701, 0.004434, 0.006397> + 21067: < 0.003743, 0.004117, 0.006570> + 21068: < 0.004017, 0.004374, 0.006257> + 21069: < 0.003975, 0.004668, 0.006080> + 21070: < 0.003666, 0.004736, 0.006210> + 21071: < 0.003701, 0.004434, 0.006397> + 21072: < 0.003975, 0.004668, 0.006080> + 21073: < 0.003941, 0.004946, 0.005887> + 21074: < 0.003637, 0.005023, 0.006006> + 21075: < 0.003666, 0.004736, 0.006210> + 21076: < 0.003941, 0.004946, 0.005887> + 21077: < 0.003918, 0.005207, 0.005678> + 21078: < 0.003619, 0.005294, 0.005786> + 21079: < 0.003637, 0.005023, 0.006006> + 21080: < 0.003619, -0.005294, 0.005786> + 21081: < 0.003637, -0.005023, 0.006006> + 21082: < 0.003318, -0.005099, 0.006117> + 21083: < 0.003302, -0.005379, 0.005888> + 21084: < 0.003637, -0.005023, 0.006006> + 21085: < 0.003666, -0.004736, 0.006210> + 21086: < 0.003342, -0.004804, 0.006329> + 21087: < 0.003318, -0.005099, 0.006117> + 21088: < 0.003666, -0.004736, 0.006210> + 21089: < 0.003701, -0.004434, 0.006397> + 21090: < 0.003372, -0.004494, 0.006525> + 21091: < 0.003342, -0.004804, 0.006329> + 21092: < 0.003701, -0.004434, 0.006397> + 21093: < 0.003743, -0.004117, 0.006570> + 21094: < 0.003407, -0.004170, 0.006705> + 21095: < 0.003372, -0.004494, 0.006525> + 21096: < 0.003743, -0.004117, 0.006570> + 21097: < 0.003788, -0.003788, 0.006727> + 21098: < 0.003446, -0.003834, 0.006870> + 21099: < 0.003407, -0.004170, 0.006705> + 21100: < 0.003788, -0.003788, 0.006727> + 21101: < 0.003834, -0.003446, 0.006870> + 21102: < 0.003486, -0.003486, 0.007018> + 21103: < 0.003446, -0.003834, 0.006870> + 21104: < 0.003834, -0.003446, 0.006870> + 21105: < 0.003880, -0.003093, 0.006998> + 21106: < 0.003526, -0.003127, 0.007152> + 21107: < 0.003486, -0.003486, 0.007018> + 21108: < 0.003880, -0.003093, 0.006998> + 21109: < 0.003924, -0.002729, 0.007112> + 21110: < 0.003565, -0.002758, 0.007270> + 21111: < 0.003526, -0.003127, 0.007152> + 21112: < 0.003924, -0.002729, 0.007112> + 21113: < 0.003965, -0.002356, 0.007212> + 21114: < 0.003601, -0.002380, 0.007374> + 21115: < 0.003565, -0.002758, 0.007270> + 21116: < 0.003965, -0.002356, 0.007212> + 21117: < 0.004002, -0.001975, 0.007297> + 21118: < 0.003634, -0.001995, 0.007462> + 21119: < 0.003601, -0.002380, 0.007374> + 21120: < 0.004002, -0.001975, 0.007297> + 21121: < 0.004034, -0.001588, 0.007367> + 21122: < 0.003663, -0.001603, 0.007535> + 21123: < 0.003634, -0.001995, 0.007462> + 21124: < 0.004034, -0.001588, 0.007367> + 21125: < 0.004061, -0.001196, 0.007423> + 21126: < 0.003686, -0.001207, 0.007591> + 21127: < 0.003663, -0.001603, 0.007535> + 21128: < 0.004061, -0.001196, 0.007423> + 21129: < 0.004081, -0.000799, 0.007462> + 21130: < 0.003704, -0.000807, 0.007632> + 21131: < 0.003686, -0.001207, 0.007591> + 21132: < 0.004081, -0.000799, 0.007462> + 21133: < 0.004093, -0.000400, 0.007487> + 21134: < 0.003716, -0.000404, 0.007657> + 21135: < 0.003704, -0.000807, 0.007632> + 21136: < 0.004093, -0.000400, 0.007487> + 21137: < 0.004098, -0.000000, 0.007495> + 21138: < 0.003720, -0.000000, 0.007665> + 21139: < 0.003716, -0.000404, 0.007657> + 21140: < 0.004098, -0.000000, 0.007495> + 21141: < 0.004093, 0.000400, 0.007487> + 21142: < 0.003716, 0.000404, 0.007657> + 21143: < 0.003720, -0.000000, 0.007665> + 21144: < 0.004093, 0.000400, 0.007487> + 21145: < 0.004081, 0.000799, 0.007462> + 21146: < 0.003704, 0.000807, 0.007632> + 21147: < 0.003716, 0.000404, 0.007657> + 21148: < 0.004081, 0.000799, 0.007462> + 21149: < 0.004061, 0.001196, 0.007423> + 21150: < 0.003686, 0.001207, 0.007591> + 21151: < 0.003704, 0.000807, 0.007632> + 21152: < 0.004061, 0.001196, 0.007423> + 21153: < 0.004034, 0.001588, 0.007367> + 21154: < 0.003663, 0.001603, 0.007535> + 21155: < 0.003686, 0.001207, 0.007591> + 21156: < 0.004034, 0.001588, 0.007367> + 21157: < 0.004002, 0.001975, 0.007297> + 21158: < 0.003634, 0.001995, 0.007462> + 21159: < 0.003663, 0.001603, 0.007535> + 21160: < 0.004002, 0.001975, 0.007297> + 21161: < 0.003965, 0.002356, 0.007212> + 21162: < 0.003601, 0.002380, 0.007374> + 21163: < 0.003634, 0.001995, 0.007462> + 21164: < 0.003965, 0.002356, 0.007212> + 21165: < 0.003924, 0.002729, 0.007112> + 21166: < 0.003565, 0.002758, 0.007270> + 21167: < 0.003601, 0.002380, 0.007374> + 21168: < 0.003924, 0.002729, 0.007112> + 21169: < 0.003880, 0.003093, 0.006998> + 21170: < 0.003526, 0.003127, 0.007152> + 21171: < 0.003565, 0.002758, 0.007270> + 21172: < 0.003880, 0.003093, 0.006998> + 21173: < 0.003834, 0.003446, 0.006870> + 21174: < 0.003486, 0.003486, 0.007018> + 21175: < 0.003526, 0.003127, 0.007152> + 21176: < 0.003834, 0.003446, 0.006870> + 21177: < 0.003788, 0.003788, 0.006727> + 21178: < 0.003446, 0.003834, 0.006870> + 21179: < 0.003486, 0.003486, 0.007018> + 21180: < 0.003788, 0.003788, 0.006727> + 21181: < 0.003743, 0.004117, 0.006570> + 21182: < 0.003407, 0.004170, 0.006705> + 21183: < 0.003446, 0.003834, 0.006870> + 21184: < 0.003743, 0.004117, 0.006570> + 21185: < 0.003701, 0.004434, 0.006397> + 21186: < 0.003372, 0.004494, 0.006525> + 21187: < 0.003407, 0.004170, 0.006705> + 21188: < 0.003701, 0.004434, 0.006397> + 21189: < 0.003666, 0.004736, 0.006210> + 21190: < 0.003342, 0.004804, 0.006329> + 21191: < 0.003372, 0.004494, 0.006525> + 21192: < 0.003666, 0.004736, 0.006210> + 21193: < 0.003637, 0.005023, 0.006006> + 21194: < 0.003318, 0.005099, 0.006117> + 21195: < 0.003342, 0.004804, 0.006329> + 21196: < 0.003637, 0.005023, 0.006006> + 21197: < 0.003619, 0.005294, 0.005786> + 21198: < 0.003302, 0.005379, 0.005888> + 21199: < 0.003318, 0.005099, 0.006117> + 21200: < 0.003302, -0.005379, 0.005888> + 21201: < 0.003318, -0.005099, 0.006117> + 21202: < 0.002984, -0.005172, 0.006219> + 21203: < 0.002971, -0.005459, 0.005983> + 21204: < 0.003318, -0.005099, 0.006117> + 21205: < 0.003342, -0.004804, 0.006329> + 21206: < 0.003004, -0.004870, 0.006439> + 21207: < 0.002984, -0.005172, 0.006219> + 21208: < 0.003342, -0.004804, 0.006329> + 21209: < 0.003372, -0.004494, 0.006525> + 21210: < 0.003030, -0.004553, 0.006641> + 21211: < 0.003004, -0.004870, 0.006439> + 21212: < 0.003372, -0.004494, 0.006525> + 21213: < 0.003407, -0.004170, 0.006705> + 21214: < 0.003060, -0.004223, 0.006828> + 21215: < 0.003030, -0.004553, 0.006641> + 21216: < 0.003407, -0.004170, 0.006705> + 21217: < 0.003446, -0.003834, 0.006870> + 21218: < 0.003093, -0.003880, 0.006998> + 21219: < 0.003060, -0.004223, 0.006828> + 21220: < 0.003446, -0.003834, 0.006870> + 21221: < 0.003486, -0.003486, 0.007018> + 21222: < 0.003127, -0.003526, 0.007152> + 21223: < 0.003093, -0.003880, 0.006998> + 21224: < 0.003486, -0.003486, 0.007018> + 21225: < 0.003526, -0.003127, 0.007152> + 21226: < 0.003162, -0.003162, 0.007290> + 21227: < 0.003127, -0.003526, 0.007152> + 21228: < 0.003526, -0.003127, 0.007152> + 21229: < 0.003565, -0.002758, 0.007270> + 21230: < 0.003195, -0.002787, 0.007412> + 21231: < 0.003162, -0.003162, 0.007290> + 21232: < 0.003565, -0.002758, 0.007270> + 21233: < 0.003601, -0.002380, 0.007374> + 21234: < 0.003227, -0.002405, 0.007519> + 21235: < 0.003195, -0.002787, 0.007412> + 21236: < 0.003601, -0.002380, 0.007374> + 21237: < 0.003634, -0.001995, 0.007462> + 21238: < 0.003255, -0.002015, 0.007610> + 21239: < 0.003227, -0.002405, 0.007519> + 21240: < 0.003634, -0.001995, 0.007462> + 21241: < 0.003663, -0.001603, 0.007535> + 21242: < 0.003281, -0.001619, 0.007684> + 21243: < 0.003255, -0.002015, 0.007610> + 21244: < 0.003663, -0.001603, 0.007535> + 21245: < 0.003686, -0.001207, 0.007591> + 21246: < 0.003302, -0.001219, 0.007743> + 21247: < 0.003281, -0.001619, 0.007684> + 21248: < 0.003686, -0.001207, 0.007591> + 21249: < 0.003704, -0.000807, 0.007632> + 21250: < 0.003318, -0.000814, 0.007785> + 21251: < 0.003302, -0.001219, 0.007743> + 21252: < 0.003704, -0.000807, 0.007632> + 21253: < 0.003716, -0.000404, 0.007657> + 21254: < 0.003328, -0.000408, 0.007810> + 21255: < 0.003318, -0.000814, 0.007785> + 21256: < 0.003716, -0.000404, 0.007657> + 21257: < 0.003720, -0.000000, 0.007665> + 21258: < 0.003331, -0.000000, 0.007818> + 21259: < 0.003328, -0.000408, 0.007810> + 21260: < 0.003720, -0.000000, 0.007665> + 21261: < 0.003716, 0.000404, 0.007657> + 21262: < 0.003328, 0.000408, 0.007810> + 21263: < 0.003331, -0.000000, 0.007818> + 21264: < 0.003716, 0.000404, 0.007657> + 21265: < 0.003704, 0.000807, 0.007632> + 21266: < 0.003318, 0.000814, 0.007785> + 21267: < 0.003328, 0.000408, 0.007810> + 21268: < 0.003704, 0.000807, 0.007632> + 21269: < 0.003686, 0.001207, 0.007591> + 21270: < 0.003302, 0.001219, 0.007743> + 21271: < 0.003318, 0.000814, 0.007785> + 21272: < 0.003686, 0.001207, 0.007591> + 21273: < 0.003663, 0.001603, 0.007535> + 21274: < 0.003281, 0.001619, 0.007684> + 21275: < 0.003302, 0.001219, 0.007743> + 21276: < 0.003663, 0.001603, 0.007535> + 21277: < 0.003634, 0.001995, 0.007462> + 21278: < 0.003255, 0.002015, 0.007610> + 21279: < 0.003281, 0.001619, 0.007684> + 21280: < 0.003634, 0.001995, 0.007462> + 21281: < 0.003601, 0.002380, 0.007374> + 21282: < 0.003227, 0.002405, 0.007519> + 21283: < 0.003255, 0.002015, 0.007610> + 21284: < 0.003601, 0.002380, 0.007374> + 21285: < 0.003565, 0.002758, 0.007270> + 21286: < 0.003195, 0.002787, 0.007412> + 21287: < 0.003227, 0.002405, 0.007519> + 21288: < 0.003565, 0.002758, 0.007270> + 21289: < 0.003526, 0.003127, 0.007152> + 21290: < 0.003162, 0.003162, 0.007290> + 21291: < 0.003195, 0.002787, 0.007412> + 21292: < 0.003526, 0.003127, 0.007152> + 21293: < 0.003486, 0.003486, 0.007018> + 21294: < 0.003127, 0.003526, 0.007152> + 21295: < 0.003162, 0.003162, 0.007290> + 21296: < 0.003486, 0.003486, 0.007018> + 21297: < 0.003446, 0.003834, 0.006870> + 21298: < 0.003093, 0.003880, 0.006998> + 21299: < 0.003127, 0.003526, 0.007152> + 21300: < 0.003446, 0.003834, 0.006870> + 21301: < 0.003407, 0.004170, 0.006705> + 21302: < 0.003060, 0.004223, 0.006828> + 21303: < 0.003093, 0.003880, 0.006998> + 21304: < 0.003407, 0.004170, 0.006705> + 21305: < 0.003372, 0.004494, 0.006525> + 21306: < 0.003030, 0.004553, 0.006641> + 21307: < 0.003060, 0.004223, 0.006828> + 21308: < 0.003372, 0.004494, 0.006525> + 21309: < 0.003342, 0.004804, 0.006329> + 21310: < 0.003004, 0.004870, 0.006439> + 21311: < 0.003030, 0.004553, 0.006641> + 21312: < 0.003342, 0.004804, 0.006329> + 21313: < 0.003318, 0.005099, 0.006117> + 21314: < 0.002984, 0.005172, 0.006219> + 21315: < 0.003004, 0.004870, 0.006439> + 21316: < 0.003318, 0.005099, 0.006117> + 21317: < 0.003302, 0.005379, 0.005888> + 21318: < 0.002971, 0.005459, 0.005983> + 21319: < 0.002984, 0.005172, 0.006219> + 21320: < 0.002971, -0.005459, 0.005983> + 21321: < 0.002984, -0.005172, 0.006219> + 21322: < 0.002638, -0.005240, 0.006311> + 21323: < 0.002627, -0.005533, 0.006069> + 21324: < 0.002984, -0.005172, 0.006219> + 21325: < 0.003004, -0.004870, 0.006439> + 21326: < 0.002655, -0.004931, 0.006537> + 21327: < 0.002638, -0.005240, 0.006311> + 21328: < 0.003004, -0.004870, 0.006439> + 21329: < 0.003030, -0.004553, 0.006641> + 21330: < 0.002676, -0.004609, 0.006745> + 21331: < 0.002655, -0.004931, 0.006537> + 21332: < 0.003030, -0.004553, 0.006641> + 21333: < 0.003060, -0.004223, 0.006828> + 21334: < 0.002701, -0.004273, 0.006937> + 21335: < 0.002676, -0.004609, 0.006745> + 21336: < 0.003060, -0.004223, 0.006828> + 21337: < 0.003093, -0.003880, 0.006998> + 21338: < 0.002729, -0.003924, 0.007112> + 21339: < 0.002701, -0.004273, 0.006937> + 21340: < 0.003093, -0.003880, 0.006998> + 21341: < 0.003127, -0.003526, 0.007152> + 21342: < 0.002758, -0.003565, 0.007270> + 21343: < 0.002729, -0.003924, 0.007112> + 21344: < 0.003127, -0.003526, 0.007152> + 21345: < 0.003162, -0.003162, 0.007290> + 21346: < 0.002787, -0.003195, 0.007412> + 21347: < 0.002758, -0.003565, 0.007270> + 21348: < 0.003162, -0.003162, 0.007290> + 21349: < 0.003195, -0.002787, 0.007412> + 21350: < 0.002816, -0.002816, 0.007538> + 21351: < 0.002787, -0.003195, 0.007412> + 21352: < 0.003195, -0.002787, 0.007412> + 21353: < 0.003227, -0.002405, 0.007519> + 21354: < 0.002843, -0.002429, 0.007648> + 21355: < 0.002816, -0.002816, 0.007538> + 21356: < 0.003227, -0.002405, 0.007519> + 21357: < 0.003255, -0.002015, 0.007610> + 21358: < 0.002868, -0.002035, 0.007740> + 21359: < 0.002843, -0.002429, 0.007648> + 21360: < 0.003255, -0.002015, 0.007610> + 21361: < 0.003281, -0.001619, 0.007684> + 21362: < 0.002890, -0.001635, 0.007817> + 21363: < 0.002868, -0.002035, 0.007740> + 21364: < 0.003281, -0.001619, 0.007684> + 21365: < 0.003302, -0.001219, 0.007743> + 21366: < 0.002908, -0.001230, 0.007876> + 21367: < 0.002890, -0.001635, 0.007817> + 21368: < 0.003302, -0.001219, 0.007743> + 21369: < 0.003318, -0.000814, 0.007785> + 21370: < 0.002922, -0.000822, 0.007919> + 21371: < 0.002908, -0.001230, 0.007876> + 21372: < 0.003318, -0.000814, 0.007785> + 21373: < 0.003328, -0.000408, 0.007810> + 21374: < 0.002931, -0.000412, 0.007945> + 21375: < 0.002922, -0.000822, 0.007919> + 21376: < 0.003328, -0.000408, 0.007810> + 21377: < 0.003331, -0.000000, 0.007818> + 21378: < 0.002934, -0.000000, 0.007953> + 21379: < 0.002931, -0.000412, 0.007945> + 21380: < 0.003331, -0.000000, 0.007818> + 21381: < 0.003328, 0.000408, 0.007810> + 21382: < 0.002931, 0.000412, 0.007945> + 21383: < 0.002934, -0.000000, 0.007953> + 21384: < 0.003328, 0.000408, 0.007810> + 21385: < 0.003318, 0.000814, 0.007785> + 21386: < 0.002922, 0.000822, 0.007919> + 21387: < 0.002931, 0.000412, 0.007945> + 21388: < 0.003318, 0.000814, 0.007785> + 21389: < 0.003302, 0.001219, 0.007743> + 21390: < 0.002908, 0.001230, 0.007876> + 21391: < 0.002922, 0.000822, 0.007919> + 21392: < 0.003302, 0.001219, 0.007743> + 21393: < 0.003281, 0.001619, 0.007684> + 21394: < 0.002890, 0.001635, 0.007817> + 21395: < 0.002908, 0.001230, 0.007876> + 21396: < 0.003281, 0.001619, 0.007684> + 21397: < 0.003255, 0.002015, 0.007610> + 21398: < 0.002868, 0.002035, 0.007740> + 21399: < 0.002890, 0.001635, 0.007817> + 21400: < 0.003255, 0.002015, 0.007610> + 21401: < 0.003227, 0.002405, 0.007519> + 21402: < 0.002843, 0.002429, 0.007648> + 21403: < 0.002868, 0.002035, 0.007740> + 21404: < 0.003227, 0.002405, 0.007519> + 21405: < 0.003195, 0.002787, 0.007412> + 21406: < 0.002816, 0.002816, 0.007538> + 21407: < 0.002843, 0.002429, 0.007648> + 21408: < 0.003195, 0.002787, 0.007412> + 21409: < 0.003162, 0.003162, 0.007290> + 21410: < 0.002787, 0.003195, 0.007412> + 21411: < 0.002816, 0.002816, 0.007538> + 21412: < 0.003162, 0.003162, 0.007290> + 21413: < 0.003127, 0.003526, 0.007152> + 21414: < 0.002758, 0.003565, 0.007270> + 21415: < 0.002787, 0.003195, 0.007412> + 21416: < 0.003127, 0.003526, 0.007152> + 21417: < 0.003093, 0.003880, 0.006998> + 21418: < 0.002729, 0.003924, 0.007112> + 21419: < 0.002758, 0.003565, 0.007270> + 21420: < 0.003093, 0.003880, 0.006998> + 21421: < 0.003060, 0.004223, 0.006828> + 21422: < 0.002701, 0.004273, 0.006937> + 21423: < 0.002729, 0.003924, 0.007112> + 21424: < 0.003060, 0.004223, 0.006828> + 21425: < 0.003030, 0.004553, 0.006641> + 21426: < 0.002676, 0.004609, 0.006745> + 21427: < 0.002701, 0.004273, 0.006937> + 21428: < 0.003030, 0.004553, 0.006641> + 21429: < 0.003004, 0.004870, 0.006439> + 21430: < 0.002655, 0.004931, 0.006537> + 21431: < 0.002676, 0.004609, 0.006745> + 21432: < 0.003004, 0.004870, 0.006439> + 21433: < 0.002984, 0.005172, 0.006219> + 21434: < 0.002638, 0.005240, 0.006311> + 21435: < 0.002655, 0.004931, 0.006537> + 21436: < 0.002984, 0.005172, 0.006219> + 21437: < 0.002971, 0.005459, 0.005983> + 21438: < 0.002627, 0.005533, 0.006069> + 21439: < 0.002638, 0.005240, 0.006311> + 21440: < 0.002627, -0.005533, 0.006069> + 21441: < 0.002638, -0.005240, 0.006311> + 21442: < 0.002281, -0.005301, 0.006393> + 21443: < 0.002272, -0.005599, 0.006146> + 21444: < 0.002638, -0.005240, 0.006311> + 21445: < 0.002655, -0.004931, 0.006537> + 21446: < 0.002295, -0.004987, 0.006623> + 21447: < 0.002281, -0.005301, 0.006393> + 21448: < 0.002655, -0.004931, 0.006537> + 21449: < 0.002676, -0.004609, 0.006745> + 21450: < 0.002313, -0.004659, 0.006836> + 21451: < 0.002295, -0.004987, 0.006623> + 21452: < 0.002676, -0.004609, 0.006745> + 21453: < 0.002701, -0.004273, 0.006937> + 21454: < 0.002333, -0.004318, 0.007033> + 21455: < 0.002313, -0.004659, 0.006836> + 21456: < 0.002701, -0.004273, 0.006937> + 21457: < 0.002729, -0.003924, 0.007112> + 21458: < 0.002356, -0.003965, 0.007212> + 21459: < 0.002333, -0.004318, 0.007033> + 21460: < 0.002729, -0.003924, 0.007112> + 21461: < 0.002758, -0.003565, 0.007270> + 21462: < 0.002380, -0.003601, 0.007374> + 21463: < 0.002356, -0.003965, 0.007212> + 21464: < 0.002758, -0.003565, 0.007270> + 21465: < 0.002787, -0.003195, 0.007412> + 21466: < 0.002405, -0.003227, 0.007519> + 21467: < 0.002380, -0.003601, 0.007374> + 21468: < 0.002787, -0.003195, 0.007412> + 21469: < 0.002816, -0.002816, 0.007538> + 21470: < 0.002429, -0.002843, 0.007648> + 21471: < 0.002405, -0.003227, 0.007519> + 21472: < 0.002816, -0.002816, 0.007538> + 21473: < 0.002843, -0.002429, 0.007648> + 21474: < 0.002452, -0.002452, 0.007759> + 21475: < 0.002429, -0.002843, 0.007648> + 21476: < 0.002843, -0.002429, 0.007648> + 21477: < 0.002868, -0.002035, 0.007740> + 21478: < 0.002473, -0.002053, 0.007854> + 21479: < 0.002452, -0.002452, 0.007759> + 21480: < 0.002868, -0.002035, 0.007740> + 21481: < 0.002890, -0.001635, 0.007817> + 21482: < 0.002492, -0.001650, 0.007932> + 21483: < 0.002473, -0.002053, 0.007854> + 21484: < 0.002890, -0.001635, 0.007817> + 21485: < 0.002908, -0.001230, 0.007876> + 21486: < 0.002507, -0.001241, 0.007992> + 21487: < 0.002492, -0.001650, 0.007932> + 21488: < 0.002908, -0.001230, 0.007876> + 21489: < 0.002922, -0.000822, 0.007919> + 21490: < 0.002519, -0.000829, 0.008036> + 21491: < 0.002507, -0.001241, 0.007992> + 21492: < 0.002922, -0.000822, 0.007919> + 21493: < 0.002931, -0.000412, 0.007945> + 21494: < 0.002527, -0.000415, 0.008062> + 21495: < 0.002519, -0.000829, 0.008036> + 21496: < 0.002931, -0.000412, 0.007945> + 21497: < 0.002934, -0.000000, 0.007953> + 21498: < 0.002530, -0.000000, 0.008070> + 21499: < 0.002527, -0.000415, 0.008062> + 21500: < 0.002934, -0.000000, 0.007953> + 21501: < 0.002931, 0.000412, 0.007945> + 21502: < 0.002527, 0.000415, 0.008062> + 21503: < 0.002530, -0.000000, 0.008070> + 21504: < 0.002931, 0.000412, 0.007945> + 21505: < 0.002922, 0.000822, 0.007919> + 21506: < 0.002519, 0.000829, 0.008036> + 21507: < 0.002527, 0.000415, 0.008062> + 21508: < 0.002922, 0.000822, 0.007919> + 21509: < 0.002908, 0.001230, 0.007876> + 21510: < 0.002507, 0.001241, 0.007992> + 21511: < 0.002519, 0.000829, 0.008036> + 21512: < 0.002908, 0.001230, 0.007876> + 21513: < 0.002890, 0.001635, 0.007817> + 21514: < 0.002492, 0.001650, 0.007932> + 21515: < 0.002507, 0.001241, 0.007992> + 21516: < 0.002890, 0.001635, 0.007817> + 21517: < 0.002868, 0.002035, 0.007740> + 21518: < 0.002473, 0.002053, 0.007854> + 21519: < 0.002492, 0.001650, 0.007932> + 21520: < 0.002868, 0.002035, 0.007740> + 21521: < 0.002843, 0.002429, 0.007648> + 21522: < 0.002452, 0.002452, 0.007759> + 21523: < 0.002473, 0.002053, 0.007854> + 21524: < 0.002843, 0.002429, 0.007648> + 21525: < 0.002816, 0.002816, 0.007538> + 21526: < 0.002429, 0.002843, 0.007648> + 21527: < 0.002452, 0.002452, 0.007759> + 21528: < 0.002816, 0.002816, 0.007538> + 21529: < 0.002787, 0.003195, 0.007412> + 21530: < 0.002405, 0.003227, 0.007519> + 21531: < 0.002429, 0.002843, 0.007648> + 21532: < 0.002787, 0.003195, 0.007412> + 21533: < 0.002758, 0.003565, 0.007270> + 21534: < 0.002380, 0.003601, 0.007374> + 21535: < 0.002405, 0.003227, 0.007519> + 21536: < 0.002758, 0.003565, 0.007270> + 21537: < 0.002729, 0.003924, 0.007112> + 21538: < 0.002356, 0.003965, 0.007212> + 21539: < 0.002380, 0.003601, 0.007374> + 21540: < 0.002729, 0.003924, 0.007112> + 21541: < 0.002701, 0.004273, 0.006937> + 21542: < 0.002333, 0.004318, 0.007033> + 21543: < 0.002356, 0.003965, 0.007212> + 21544: < 0.002701, 0.004273, 0.006937> + 21545: < 0.002676, 0.004609, 0.006745> + 21546: < 0.002313, 0.004659, 0.006836> + 21547: < 0.002333, 0.004318, 0.007033> + 21548: < 0.002676, 0.004609, 0.006745> + 21549: < 0.002655, 0.004931, 0.006537> + 21550: < 0.002295, 0.004987, 0.006623> + 21551: < 0.002313, 0.004659, 0.006836> + 21552: < 0.002655, 0.004931, 0.006537> + 21553: < 0.002638, 0.005240, 0.006311> + 21554: < 0.002281, 0.005301, 0.006393> + 21555: < 0.002295, 0.004987, 0.006623> + 21556: < 0.002638, 0.005240, 0.006311> + 21557: < 0.002627, 0.005533, 0.006069> + 21558: < 0.002272, 0.005599, 0.006146> + 21559: < 0.002281, 0.005301, 0.006393> + 21560: < 0.002272, -0.005599, 0.006146> + 21561: < 0.002281, -0.005301, 0.006393> + 21562: < 0.001915, -0.005355, 0.006464> + 21563: < 0.001908, -0.005657, 0.006212> + 21564: < 0.002281, -0.005301, 0.006393> + 21565: < 0.002295, -0.004987, 0.006623> + 21566: < 0.001926, -0.005037, 0.006698> + 21567: < 0.001915, -0.005355, 0.006464> + 21568: < 0.002295, -0.004987, 0.006623> + 21569: < 0.002313, -0.004659, 0.006836> + 21570: < 0.001940, -0.004705, 0.006915> + 21571: < 0.001926, -0.005037, 0.006698> + 21572: < 0.002313, -0.004659, 0.006836> + 21573: < 0.002333, -0.004318, 0.007033> + 21574: < 0.001957, -0.004360, 0.007115> + 21575: < 0.001940, -0.004705, 0.006915> + 21576: < 0.002333, -0.004318, 0.007033> + 21577: < 0.002356, -0.003965, 0.007212> + 21578: < 0.001975, -0.004002, 0.007297> + 21579: < 0.001957, -0.004360, 0.007115> + 21580: < 0.002356, -0.003965, 0.007212> + 21581: < 0.002380, -0.003601, 0.007374> + 21582: < 0.001995, -0.003634, 0.007462> + 21583: < 0.001975, -0.004002, 0.007297> + 21584: < 0.002380, -0.003601, 0.007374> + 21585: < 0.002405, -0.003227, 0.007519> + 21586: < 0.002015, -0.003255, 0.007610> + 21587: < 0.001995, -0.003634, 0.007462> + 21588: < 0.002405, -0.003227, 0.007519> + 21589: < 0.002429, -0.002843, 0.007648> + 21590: < 0.002035, -0.002868, 0.007740> + 21591: < 0.002015, -0.003255, 0.007610> + 21592: < 0.002429, -0.002843, 0.007648> + 21593: < 0.002452, -0.002452, 0.007759> + 21594: < 0.002053, -0.002473, 0.007854> + 21595: < 0.002035, -0.002868, 0.007740> + 21596: < 0.002452, -0.002452, 0.007759> + 21597: < 0.002473, -0.002053, 0.007854> + 21598: < 0.002071, -0.002071, 0.007950> + 21599: < 0.002053, -0.002473, 0.007854> + 21600: < 0.002473, -0.002053, 0.007854> + 21601: < 0.002492, -0.001650, 0.007932> + 21602: < 0.002086, -0.001663, 0.008029> + 21603: < 0.002071, -0.002071, 0.007950> + 21604: < 0.002492, -0.001650, 0.007932> + 21605: < 0.002507, -0.001241, 0.007992> + 21606: < 0.002099, -0.001252, 0.008090> + 21607: < 0.002086, -0.001663, 0.008029> + 21608: < 0.002507, -0.001241, 0.007992> + 21609: < 0.002519, -0.000829, 0.008036> + 21610: < 0.002109, -0.000836, 0.008134> + 21611: < 0.002099, -0.001252, 0.008090> + 21612: < 0.002519, -0.000829, 0.008036> + 21613: < 0.002527, -0.000415, 0.008062> + 21614: < 0.002116, -0.000419, 0.008161> + 21615: < 0.002109, -0.000836, 0.008134> + 21616: < 0.002527, -0.000415, 0.008062> + 21617: < 0.002530, -0.000000, 0.008070> + 21618: < 0.002118, -0.000000, 0.008169> + 21619: < 0.002116, -0.000419, 0.008161> + 21620: < 0.002530, -0.000000, 0.008070> + 21621: < 0.002527, 0.000415, 0.008062> + 21622: < 0.002116, 0.000419, 0.008161> + 21623: < 0.002118, -0.000000, 0.008169> + 21624: < 0.002527, 0.000415, 0.008062> + 21625: < 0.002519, 0.000829, 0.008036> + 21626: < 0.002109, 0.000836, 0.008134> + 21627: < 0.002116, 0.000419, 0.008161> + 21628: < 0.002519, 0.000829, 0.008036> + 21629: < 0.002507, 0.001241, 0.007992> + 21630: < 0.002099, 0.001252, 0.008090> + 21631: < 0.002109, 0.000836, 0.008134> + 21632: < 0.002507, 0.001241, 0.007992> + 21633: < 0.002492, 0.001650, 0.007932> + 21634: < 0.002086, 0.001663, 0.008029> + 21635: < 0.002099, 0.001252, 0.008090> + 21636: < 0.002492, 0.001650, 0.007932> + 21637: < 0.002473, 0.002053, 0.007854> + 21638: < 0.002071, 0.002071, 0.007950> + 21639: < 0.002086, 0.001663, 0.008029> + 21640: < 0.002473, 0.002053, 0.007854> + 21641: < 0.002452, 0.002452, 0.007759> + 21642: < 0.002053, 0.002473, 0.007854> + 21643: < 0.002071, 0.002071, 0.007950> + 21644: < 0.002452, 0.002452, 0.007759> + 21645: < 0.002429, 0.002843, 0.007648> + 21646: < 0.002035, 0.002868, 0.007740> + 21647: < 0.002053, 0.002473, 0.007854> + 21648: < 0.002429, 0.002843, 0.007648> + 21649: < 0.002405, 0.003227, 0.007519> + 21650: < 0.002015, 0.003255, 0.007610> + 21651: < 0.002035, 0.002868, 0.007740> + 21652: < 0.002405, 0.003227, 0.007519> + 21653: < 0.002380, 0.003601, 0.007374> + 21654: < 0.001995, 0.003634, 0.007462> + 21655: < 0.002015, 0.003255, 0.007610> + 21656: < 0.002380, 0.003601, 0.007374> + 21657: < 0.002356, 0.003965, 0.007212> + 21658: < 0.001975, 0.004002, 0.007297> + 21659: < 0.001995, 0.003634, 0.007462> + 21660: < 0.002356, 0.003965, 0.007212> + 21661: < 0.002333, 0.004318, 0.007033> + 21662: < 0.001957, 0.004360, 0.007115> + 21663: < 0.001975, 0.004002, 0.007297> + 21664: < 0.002333, 0.004318, 0.007033> + 21665: < 0.002313, 0.004659, 0.006836> + 21666: < 0.001940, 0.004705, 0.006915> + 21667: < 0.001957, 0.004360, 0.007115> + 21668: < 0.002313, 0.004659, 0.006836> + 21669: < 0.002295, 0.004987, 0.006623> + 21670: < 0.001926, 0.005037, 0.006698> + 21671: < 0.001940, 0.004705, 0.006915> + 21672: < 0.002295, 0.004987, 0.006623> + 21673: < 0.002281, 0.005301, 0.006393> + 21674: < 0.001915, 0.005355, 0.006464> + 21675: < 0.001926, 0.005037, 0.006698> + 21676: < 0.002281, 0.005301, 0.006393> + 21677: < 0.002272, 0.005599, 0.006146> + 21678: < 0.001908, 0.005657, 0.006212> + 21679: < 0.001915, 0.005355, 0.006464> + 21680: < 0.001908, -0.005657, 0.006212> + 21681: < 0.001915, -0.005355, 0.006464> + 21682: < 0.001541, -0.005401, 0.006523> + 21683: < 0.001536, -0.005707, 0.006269> + 21684: < 0.001915, -0.005355, 0.006464> + 21685: < 0.001926, -0.005037, 0.006698> + 21686: < 0.001550, -0.005080, 0.006761> + 21687: < 0.001541, -0.005401, 0.006523> + 21688: < 0.001926, -0.005037, 0.006698> + 21689: < 0.001940, -0.004705, 0.006915> + 21690: < 0.001561, -0.004744, 0.006980> + 21691: < 0.001550, -0.005080, 0.006761> + 21692: < 0.001940, -0.004705, 0.006915> + 21693: < 0.001957, -0.004360, 0.007115> + 21694: < 0.001574, -0.004395, 0.007183> + 21695: < 0.001561, -0.004744, 0.006980> + 21696: < 0.001957, -0.004360, 0.007115> + 21697: < 0.001975, -0.004002, 0.007297> + 21698: < 0.001588, -0.004034, 0.007367> + 21699: < 0.001574, -0.004395, 0.007183> + 21700: < 0.001975, -0.004002, 0.007297> + 21701: < 0.001995, -0.003634, 0.007462> + 21702: < 0.001603, -0.003663, 0.007535> + 21703: < 0.001588, -0.004034, 0.007367> + 21704: < 0.001995, -0.003634, 0.007462> + 21705: < 0.002015, -0.003255, 0.007610> + 21706: < 0.001619, -0.003281, 0.007684> + 21707: < 0.001603, -0.003663, 0.007535> + 21708: < 0.002015, -0.003255, 0.007610> + 21709: < 0.002035, -0.002868, 0.007740> + 21710: < 0.001635, -0.002890, 0.007817> + 21711: < 0.001619, -0.003281, 0.007684> + 21712: < 0.002035, -0.002868, 0.007740> + 21713: < 0.002053, -0.002473, 0.007854> + 21714: < 0.001650, -0.002492, 0.007932> + 21715: < 0.001635, -0.002890, 0.007817> + 21716: < 0.002053, -0.002473, 0.007854> + 21717: < 0.002071, -0.002071, 0.007950> + 21718: < 0.001663, -0.002086, 0.008029> + 21719: < 0.001650, -0.002492, 0.007932> + 21720: < 0.002071, -0.002071, 0.007950> + 21721: < 0.002086, -0.001663, 0.008029> + 21722: < 0.001676, -0.001676, 0.008109> + 21723: < 0.001663, -0.002086, 0.008029> + 21724: < 0.002086, -0.001663, 0.008029> + 21725: < 0.002099, -0.001252, 0.008090> + 21726: < 0.001686, -0.001261, 0.008171> + 21727: < 0.001676, -0.001676, 0.008109> + 21728: < 0.002099, -0.001252, 0.008090> + 21729: < 0.002109, -0.000836, 0.008134> + 21730: < 0.001694, -0.000842, 0.008215> + 21731: < 0.001686, -0.001261, 0.008171> + 21732: < 0.002109, -0.000836, 0.008134> + 21733: < 0.002116, -0.000419, 0.008161> + 21734: < 0.001699, -0.000422, 0.008242> + 21735: < 0.001694, -0.000842, 0.008215> + 21736: < 0.002116, -0.000419, 0.008161> + 21737: < 0.002118, -0.000000, 0.008169> + 21738: < 0.001701, -0.000000, 0.008251> + 21739: < 0.001699, -0.000422, 0.008242> + 21740: < 0.002118, -0.000000, 0.008169> + 21741: < 0.002116, 0.000419, 0.008161> + 21742: < 0.001699, 0.000422, 0.008242> + 21743: < 0.001701, -0.000000, 0.008251> + 21744: < 0.002116, 0.000419, 0.008161> + 21745: < 0.002109, 0.000836, 0.008134> + 21746: < 0.001694, 0.000842, 0.008215> + 21747: < 0.001699, 0.000422, 0.008242> + 21748: < 0.002109, 0.000836, 0.008134> + 21749: < 0.002099, 0.001252, 0.008090> + 21750: < 0.001686, 0.001261, 0.008171> + 21751: < 0.001694, 0.000842, 0.008215> + 21752: < 0.002099, 0.001252, 0.008090> + 21753: < 0.002086, 0.001663, 0.008029> + 21754: < 0.001676, 0.001676, 0.008109> + 21755: < 0.001686, 0.001261, 0.008171> + 21756: < 0.002086, 0.001663, 0.008029> + 21757: < 0.002071, 0.002071, 0.007950> + 21758: < 0.001663, 0.002086, 0.008029> + 21759: < 0.001676, 0.001676, 0.008109> + 21760: < 0.002071, 0.002071, 0.007950> + 21761: < 0.002053, 0.002473, 0.007854> + 21762: < 0.001650, 0.002492, 0.007932> + 21763: < 0.001663, 0.002086, 0.008029> + 21764: < 0.002053, 0.002473, 0.007854> + 21765: < 0.002035, 0.002868, 0.007740> + 21766: < 0.001635, 0.002890, 0.007817> + 21767: < 0.001650, 0.002492, 0.007932> + 21768: < 0.002035, 0.002868, 0.007740> + 21769: < 0.002015, 0.003255, 0.007610> + 21770: < 0.001619, 0.003281, 0.007684> + 21771: < 0.001635, 0.002890, 0.007817> + 21772: < 0.002015, 0.003255, 0.007610> + 21773: < 0.001995, 0.003634, 0.007462> + 21774: < 0.001603, 0.003663, 0.007535> + 21775: < 0.001619, 0.003281, 0.007684> + 21776: < 0.001995, 0.003634, 0.007462> + 21777: < 0.001975, 0.004002, 0.007297> + 21778: < 0.001588, 0.004034, 0.007367> + 21779: < 0.001603, 0.003663, 0.007535> + 21780: < 0.001975, 0.004002, 0.007297> + 21781: < 0.001957, 0.004360, 0.007115> + 21782: < 0.001574, 0.004395, 0.007183> + 21783: < 0.001588, 0.004034, 0.007367> + 21784: < 0.001957, 0.004360, 0.007115> + 21785: < 0.001940, 0.004705, 0.006915> + 21786: < 0.001561, 0.004744, 0.006980> + 21787: < 0.001574, 0.004395, 0.007183> + 21788: < 0.001940, 0.004705, 0.006915> + 21789: < 0.001926, 0.005037, 0.006698> + 21790: < 0.001550, 0.005080, 0.006761> + 21791: < 0.001561, 0.004744, 0.006980> + 21792: < 0.001926, 0.005037, 0.006698> + 21793: < 0.001915, 0.005355, 0.006464> + 21794: < 0.001541, 0.005401, 0.006523> + 21795: < 0.001550, 0.005080, 0.006761> + 21796: < 0.001915, 0.005355, 0.006464> + 21797: < 0.001908, 0.005657, 0.006212> + 21798: < 0.001536, 0.005707, 0.006269> + 21799: < 0.001541, 0.005401, 0.006523> + 21800: < 0.001536, -0.005707, 0.006269> + 21801: < 0.001541, -0.005401, 0.006523> + 21802: < 0.001161, -0.005438, 0.006570> + 21803: < 0.001157, -0.005747, 0.006313> + 21804: < 0.001541, -0.005401, 0.006523> + 21805: < 0.001550, -0.005080, 0.006761> + 21806: < 0.001168, -0.005114, 0.006810> + 21807: < 0.001161, -0.005438, 0.006570> + 21808: < 0.001550, -0.005080, 0.006761> + 21809: < 0.001561, -0.004744, 0.006980> + 21810: < 0.001176, -0.004776, 0.007032> + 21811: < 0.001168, -0.005114, 0.006810> + 21812: < 0.001561, -0.004744, 0.006980> + 21813: < 0.001574, -0.004395, 0.007183> + 21814: < 0.001185, -0.004424, 0.007236> + 21815: < 0.001176, -0.004776, 0.007032> + 21816: < 0.001574, -0.004395, 0.007183> + 21817: < 0.001588, -0.004034, 0.007367> + 21818: < 0.001196, -0.004061, 0.007423> + 21819: < 0.001185, -0.004424, 0.007236> + 21820: < 0.001588, -0.004034, 0.007367> + 21821: < 0.001603, -0.003663, 0.007535> + 21822: < 0.001207, -0.003686, 0.007591> + 21823: < 0.001196, -0.004061, 0.007423> + 21824: < 0.001603, -0.003663, 0.007535> + 21825: < 0.001619, -0.003281, 0.007684> + 21826: < 0.001219, -0.003302, 0.007743> + 21827: < 0.001207, -0.003686, 0.007591> + 21828: < 0.001619, -0.003281, 0.007684> + 21829: < 0.001635, -0.002890, 0.007817> + 21830: < 0.001230, -0.002908, 0.007876> + 21831: < 0.001219, -0.003302, 0.007743> + 21832: < 0.001635, -0.002890, 0.007817> + 21833: < 0.001650, -0.002492, 0.007932> + 21834: < 0.001241, -0.002507, 0.007992> + 21835: < 0.001230, -0.002908, 0.007876> + 21836: < 0.001650, -0.002492, 0.007932> + 21837: < 0.001663, -0.002086, 0.008029> + 21838: < 0.001252, -0.002099, 0.008090> + 21839: < 0.001241, -0.002507, 0.007992> + 21840: < 0.001663, -0.002086, 0.008029> + 21841: < 0.001676, -0.001676, 0.008109> + 21842: < 0.001261, -0.001686, 0.008171> + 21843: < 0.001252, -0.002099, 0.008090> + 21844: < 0.001676, -0.001676, 0.008109> + 21845: < 0.001686, -0.001261, 0.008171> + 21846: < 0.001269, -0.001269, 0.008233> + 21847: < 0.001261, -0.001686, 0.008171> + 21848: < 0.001686, -0.001261, 0.008171> + 21849: < 0.001694, -0.000842, 0.008215> + 21850: < 0.001275, -0.000848, 0.008278> + 21851: < 0.001269, -0.001269, 0.008233> + 21852: < 0.001694, -0.000842, 0.008215> + 21853: < 0.001699, -0.000422, 0.008242> + 21854: < 0.001278, -0.000424, 0.008305> + 21855: < 0.001275, -0.000848, 0.008278> + 21856: < 0.001699, -0.000422, 0.008242> + 21857: < 0.001701, -0.000000, 0.008251> + 21858: < 0.001280, 0.000000, 0.008314> + 21859: < 0.001278, -0.000424, 0.008305> + 21860: < 0.001701, -0.000000, 0.008251> + 21861: < 0.001699, 0.000422, 0.008242> + 21862: < 0.001278, 0.000424, 0.008305> + 21863: < 0.001280, 0.000000, 0.008314> + 21864: < 0.001699, 0.000422, 0.008242> + 21865: < 0.001694, 0.000842, 0.008215> + 21866: < 0.001275, 0.000848, 0.008278> + 21867: < 0.001278, 0.000424, 0.008305> + 21868: < 0.001694, 0.000842, 0.008215> + 21869: < 0.001686, 0.001261, 0.008171> + 21870: < 0.001269, 0.001269, 0.008233> + 21871: < 0.001275, 0.000848, 0.008278> + 21872: < 0.001686, 0.001261, 0.008171> + 21873: < 0.001676, 0.001676, 0.008109> + 21874: < 0.001261, 0.001686, 0.008171> + 21875: < 0.001269, 0.001269, 0.008233> + 21876: < 0.001676, 0.001676, 0.008109> + 21877: < 0.001663, 0.002086, 0.008029> + 21878: < 0.001252, 0.002099, 0.008090> + 21879: < 0.001261, 0.001686, 0.008171> + 21880: < 0.001663, 0.002086, 0.008029> + 21881: < 0.001650, 0.002492, 0.007932> + 21882: < 0.001241, 0.002507, 0.007992> + 21883: < 0.001252, 0.002099, 0.008090> + 21884: < 0.001650, 0.002492, 0.007932> + 21885: < 0.001635, 0.002890, 0.007817> + 21886: < 0.001230, 0.002908, 0.007876> + 21887: < 0.001241, 0.002507, 0.007992> + 21888: < 0.001635, 0.002890, 0.007817> + 21889: < 0.001619, 0.003281, 0.007684> + 21890: < 0.001219, 0.003302, 0.007743> + 21891: < 0.001230, 0.002908, 0.007876> + 21892: < 0.001619, 0.003281, 0.007684> + 21893: < 0.001603, 0.003663, 0.007535> + 21894: < 0.001207, 0.003686, 0.007591> + 21895: < 0.001219, 0.003302, 0.007743> + 21896: < 0.001603, 0.003663, 0.007535> + 21897: < 0.001588, 0.004034, 0.007367> + 21898: < 0.001196, 0.004061, 0.007423> + 21899: < 0.001207, 0.003686, 0.007591> + 21900: < 0.001588, 0.004034, 0.007367> + 21901: < 0.001574, 0.004395, 0.007183> + 21902: < 0.001185, 0.004424, 0.007236> + 21903: < 0.001196, 0.004061, 0.007423> + 21904: < 0.001574, 0.004395, 0.007183> + 21905: < 0.001561, 0.004744, 0.006980> + 21906: < 0.001176, 0.004776, 0.007032> + 21907: < 0.001185, 0.004424, 0.007236> + 21908: < 0.001561, 0.004744, 0.006980> + 21909: < 0.001550, 0.005080, 0.006761> + 21910: < 0.001168, 0.005114, 0.006810> + 21911: < 0.001176, 0.004776, 0.007032> + 21912: < 0.001550, 0.005080, 0.006761> + 21913: < 0.001541, 0.005401, 0.006523> + 21914: < 0.001161, 0.005438, 0.006570> + 21915: < 0.001168, 0.005114, 0.006810> + 21916: < 0.001541, 0.005401, 0.006523> + 21917: < 0.001536, 0.005707, 0.006269> + 21918: < 0.001157, 0.005747, 0.006313> + 21919: < 0.001161, 0.005438, 0.006570> + 21920: < 0.001157, -0.005747, 0.006313> + 21921: < 0.001161, -0.005438, 0.006570> + 21922: < 0.000777, -0.005466, 0.006605> + 21923: < 0.000774, -0.005776, 0.006346> + 21924: < 0.001161, -0.005438, 0.006570> + 21925: < 0.001168, -0.005114, 0.006810> + 21926: < 0.000781, -0.005140, 0.006846> + 21927: < 0.000777, -0.005466, 0.006605> + 21928: < 0.001168, -0.005114, 0.006810> + 21929: < 0.001176, -0.004776, 0.007032> + 21930: < 0.000786, -0.004800, 0.007069> + 21931: < 0.000781, -0.005140, 0.006846> + 21932: < 0.001176, -0.004776, 0.007032> + 21933: < 0.001185, -0.004424, 0.007236> + 21934: < 0.000792, -0.004446, 0.007275> + 21935: < 0.000786, -0.004800, 0.007069> + 21936: < 0.001185, -0.004424, 0.007236> + 21937: < 0.001196, -0.004061, 0.007423> + 21938: < 0.000799, -0.004081, 0.007462> + 21939: < 0.000792, -0.004446, 0.007275> + 21940: < 0.001196, -0.004061, 0.007423> + 21941: < 0.001207, -0.003686, 0.007591> + 21942: < 0.000807, -0.003704, 0.007632> + 21943: < 0.000799, -0.004081, 0.007462> + 21944: < 0.001207, -0.003686, 0.007591> + 21945: < 0.001219, -0.003302, 0.007743> + 21946: < 0.000814, -0.003318, 0.007785> + 21947: < 0.000807, -0.003704, 0.007632> + 21948: < 0.001219, -0.003302, 0.007743> + 21949: < 0.001230, -0.002908, 0.007876> + 21950: < 0.000822, -0.002922, 0.007919> + 21951: < 0.000814, -0.003318, 0.007785> + 21952: < 0.001230, -0.002908, 0.007876> + 21953: < 0.001241, -0.002507, 0.007992> + 21954: < 0.000829, -0.002519, 0.008036> + 21955: < 0.000822, -0.002922, 0.007919> + 21956: < 0.001241, -0.002507, 0.007992> + 21957: < 0.001252, -0.002099, 0.008090> + 21958: < 0.000836, -0.002109, 0.008134> + 21959: < 0.000829, -0.002519, 0.008036> + 21960: < 0.001252, -0.002099, 0.008090> + 21961: < 0.001261, -0.001686, 0.008171> + 21962: < 0.000842, -0.001694, 0.008215> + 21963: < 0.000836, -0.002109, 0.008134> + 21964: < 0.001261, -0.001686, 0.008171> + 21965: < 0.001269, -0.001269, 0.008233> + 21966: < 0.000848, -0.001275, 0.008278> + 21967: < 0.000842, -0.001694, 0.008215> + 21968: < 0.001269, -0.001269, 0.008233> + 21969: < 0.001275, -0.000848, 0.008278> + 21970: < 0.000852, -0.000852, 0.008323> + 21971: < 0.000848, -0.001275, 0.008278> + 21972: < 0.001275, -0.000848, 0.008278> + 21973: < 0.001278, -0.000424, 0.008305> + 21974: < 0.000854, -0.000426, 0.008350> + 21975: < 0.000852, -0.000852, 0.008323> + 21976: < 0.001278, -0.000424, 0.008305> + 21977: < 0.001280, 0.000000, 0.008314> + 21978: < 0.000855, 0.000000, 0.008359> + 21979: < 0.000854, -0.000426, 0.008350> + 21980: < 0.001280, 0.000000, 0.008314> + 21981: < 0.001278, 0.000424, 0.008305> + 21982: < 0.000854, 0.000426, 0.008350> + 21983: < 0.000855, 0.000000, 0.008359> + 21984: < 0.001278, 0.000424, 0.008305> + 21985: < 0.001275, 0.000848, 0.008278> + 21986: < 0.000852, 0.000852, 0.008323> + 21987: < 0.000854, 0.000426, 0.008350> + 21988: < 0.001275, 0.000848, 0.008278> + 21989: < 0.001269, 0.001269, 0.008233> + 21990: < 0.000848, 0.001275, 0.008278> + 21991: < 0.000852, 0.000852, 0.008323> + 21992: < 0.001269, 0.001269, 0.008233> + 21993: < 0.001261, 0.001686, 0.008171> + 21994: < 0.000842, 0.001694, 0.008215> + 21995: < 0.000848, 0.001275, 0.008278> + 21996: < 0.001261, 0.001686, 0.008171> + 21997: < 0.001252, 0.002099, 0.008090> + 21998: < 0.000836, 0.002109, 0.008134> + 21999: < 0.000842, 0.001694, 0.008215> + 22000: < 0.001252, 0.002099, 0.008090> + 22001: < 0.001241, 0.002507, 0.007992> + 22002: < 0.000829, 0.002519, 0.008036> + 22003: < 0.000836, 0.002109, 0.008134> + 22004: < 0.001241, 0.002507, 0.007992> + 22005: < 0.001230, 0.002908, 0.007876> + 22006: < 0.000822, 0.002922, 0.007919> + 22007: < 0.000829, 0.002519, 0.008036> + 22008: < 0.001230, 0.002908, 0.007876> + 22009: < 0.001219, 0.003302, 0.007743> + 22010: < 0.000814, 0.003318, 0.007785> + 22011: < 0.000822, 0.002922, 0.007919> + 22012: < 0.001219, 0.003302, 0.007743> + 22013: < 0.001207, 0.003686, 0.007591> + 22014: < 0.000807, 0.003704, 0.007632> + 22015: < 0.000814, 0.003318, 0.007785> + 22016: < 0.001207, 0.003686, 0.007591> + 22017: < 0.001196, 0.004061, 0.007423> + 22018: < 0.000799, 0.004081, 0.007462> + 22019: < 0.000807, 0.003704, 0.007632> + 22020: < 0.001196, 0.004061, 0.007423> + 22021: < 0.001185, 0.004424, 0.007236> + 22022: < 0.000792, 0.004446, 0.007275> + 22023: < 0.000799, 0.004081, 0.007462> + 22024: < 0.001185, 0.004424, 0.007236> + 22025: < 0.001176, 0.004776, 0.007032> + 22026: < 0.000786, 0.004800, 0.007069> + 22027: < 0.000792, 0.004446, 0.007275> + 22028: < 0.001176, 0.004776, 0.007032> + 22029: < 0.001168, 0.005114, 0.006810> + 22030: < 0.000781, 0.005140, 0.006846> + 22031: < 0.000786, 0.004800, 0.007069> + 22032: < 0.001168, 0.005114, 0.006810> + 22033: < 0.001161, 0.005438, 0.006570> + 22034: < 0.000777, 0.005466, 0.006605> + 22035: < 0.000781, 0.005140, 0.006846> + 22036: < 0.001161, 0.005438, 0.006570> + 22037: < 0.001157, 0.005747, 0.006313> + 22038: < 0.000774, 0.005776, 0.006346> + 22039: < 0.000777, 0.005466, 0.006605> + 22040: < 0.000774, -0.005776, 0.006346> + 22041: < 0.000777, -0.005466, 0.006605> + 22042: < 0.000389, -0.005483, 0.006626> + 22043: < 0.000388, -0.005794, 0.006366> + 22044: < 0.000777, -0.005466, 0.006605> + 22045: < 0.000781, -0.005140, 0.006846> + 22046: < 0.000391, -0.005156, 0.006868> + 22047: < 0.000389, -0.005483, 0.006626> + 22048: < 0.000781, -0.005140, 0.006846> + 22049: < 0.000786, -0.004800, 0.007069> + 22050: < 0.000394, -0.004815, 0.007092> + 22051: < 0.000391, -0.005156, 0.006868> + 22052: < 0.000786, -0.004800, 0.007069> + 22053: < 0.000792, -0.004446, 0.007275> + 22054: < 0.000397, -0.004460, 0.007298> + 22055: < 0.000394, -0.004815, 0.007092> + 22056: < 0.000792, -0.004446, 0.007275> + 22057: < 0.000799, -0.004081, 0.007462> + 22058: < 0.000400, -0.004093, 0.007487> + 22059: < 0.000397, -0.004460, 0.007298> + 22060: < 0.000799, -0.004081, 0.007462> + 22061: < 0.000807, -0.003704, 0.007632> + 22062: < 0.000404, -0.003716, 0.007657> + 22063: < 0.000400, -0.004093, 0.007487> + 22064: < 0.000807, -0.003704, 0.007632> + 22065: < 0.000814, -0.003318, 0.007785> + 22066: < 0.000408, -0.003328, 0.007810> + 22067: < 0.000404, -0.003716, 0.007657> + 22068: < 0.000814, -0.003318, 0.007785> + 22069: < 0.000822, -0.002922, 0.007919> + 22070: < 0.000412, -0.002931, 0.007945> + 22071: < 0.000408, -0.003328, 0.007810> + 22072: < 0.000822, -0.002922, 0.007919> + 22073: < 0.000829, -0.002519, 0.008036> + 22074: < 0.000415, -0.002527, 0.008062> + 22075: < 0.000412, -0.002931, 0.007945> + 22076: < 0.000829, -0.002519, 0.008036> + 22077: < 0.000836, -0.002109, 0.008134> + 22078: < 0.000419, -0.002116, 0.008161> + 22079: < 0.000415, -0.002527, 0.008062> + 22080: < 0.000836, -0.002109, 0.008134> + 22081: < 0.000842, -0.001694, 0.008215> + 22082: < 0.000422, -0.001699, 0.008242> + 22083: < 0.000419, -0.002116, 0.008161> + 22084: < 0.000842, -0.001694, 0.008215> + 22085: < 0.000848, -0.001275, 0.008278> + 22086: < 0.000424, -0.001278, 0.008305> + 22087: < 0.000422, -0.001699, 0.008242> + 22088: < 0.000848, -0.001275, 0.008278> + 22089: < 0.000852, -0.000852, 0.008323> + 22090: < 0.000426, -0.000854, 0.008350> + 22091: < 0.000424, -0.001278, 0.008305> + 22092: < 0.000852, -0.000852, 0.008323> + 22093: < 0.000854, -0.000426, 0.008350> + 22094: < 0.000428, -0.000428, 0.008377> + 22095: < 0.000426, -0.000854, 0.008350> + 22096: < 0.000854, -0.000426, 0.008350> + 22097: < 0.000855, 0.000000, 0.008359> + 22098: < 0.000428, 0.000000, 0.008386> + 22099: < 0.000428, -0.000428, 0.008377> + 22100: < 0.000855, 0.000000, 0.008359> + 22101: < 0.000854, 0.000426, 0.008350> + 22102: < 0.000428, 0.000428, 0.008377> + 22103: < 0.000428, 0.000000, 0.008386> + 22104: < 0.000854, 0.000426, 0.008350> + 22105: < 0.000852, 0.000852, 0.008323> + 22106: < 0.000426, 0.000854, 0.008350> + 22107: < 0.000428, 0.000428, 0.008377> + 22108: < 0.000852, 0.000852, 0.008323> + 22109: < 0.000848, 0.001275, 0.008278> + 22110: < 0.000424, 0.001278, 0.008305> + 22111: < 0.000426, 0.000854, 0.008350> + 22112: < 0.000848, 0.001275, 0.008278> + 22113: < 0.000842, 0.001694, 0.008215> + 22114: < 0.000422, 0.001699, 0.008242> + 22115: < 0.000424, 0.001278, 0.008305> + 22116: < 0.000842, 0.001694, 0.008215> + 22117: < 0.000836, 0.002109, 0.008134> + 22118: < 0.000419, 0.002116, 0.008161> + 22119: < 0.000422, 0.001699, 0.008242> + 22120: < 0.000836, 0.002109, 0.008134> + 22121: < 0.000829, 0.002519, 0.008036> + 22122: < 0.000415, 0.002527, 0.008062> + 22123: < 0.000419, 0.002116, 0.008161> + 22124: < 0.000829, 0.002519, 0.008036> + 22125: < 0.000822, 0.002922, 0.007919> + 22126: < 0.000412, 0.002931, 0.007945> + 22127: < 0.000415, 0.002527, 0.008062> + 22128: < 0.000822, 0.002922, 0.007919> + 22129: < 0.000814, 0.003318, 0.007785> + 22130: < 0.000408, 0.003328, 0.007810> + 22131: < 0.000412, 0.002931, 0.007945> + 22132: < 0.000814, 0.003318, 0.007785> + 22133: < 0.000807, 0.003704, 0.007632> + 22134: < 0.000404, 0.003716, 0.007657> + 22135: < 0.000408, 0.003328, 0.007810> + 22136: < 0.000807, 0.003704, 0.007632> + 22137: < 0.000799, 0.004081, 0.007462> + 22138: < 0.000400, 0.004093, 0.007487> + 22139: < 0.000404, 0.003716, 0.007657> + 22140: < 0.000799, 0.004081, 0.007462> + 22141: < 0.000792, 0.004446, 0.007275> + 22142: < 0.000397, 0.004460, 0.007298> + 22143: < 0.000400, 0.004093, 0.007487> + 22144: < 0.000792, 0.004446, 0.007275> + 22145: < 0.000786, 0.004800, 0.007069> + 22146: < 0.000394, 0.004815, 0.007092> + 22147: < 0.000397, 0.004460, 0.007298> + 22148: < 0.000786, 0.004800, 0.007069> + 22149: < 0.000781, 0.005140, 0.006846> + 22150: < 0.000391, 0.005156, 0.006868> + 22151: < 0.000394, 0.004815, 0.007092> + 22152: < 0.000781, 0.005140, 0.006846> + 22153: < 0.000777, 0.005466, 0.006605> + 22154: < 0.000389, 0.005483, 0.006626> + 22155: < 0.000391, 0.005156, 0.006868> + 22156: < 0.000777, 0.005466, 0.006605> + 22157: < 0.000774, 0.005776, 0.006346> + 22158: < 0.000388, 0.005794, 0.006366> + 22159: < 0.000389, 0.005483, 0.006626> + 22160: < 0.000388, -0.005794, 0.006366> + 22161: < 0.000389, -0.005483, 0.006626> + 22162: <-0.000000, -0.005489, 0.006633> + 22163: <-0.000000, -0.005801, 0.006373> + 22164: < 0.000389, -0.005483, 0.006626> + 22165: < 0.000391, -0.005156, 0.006868> + 22166: <-0.000000, -0.005162, 0.006875> + 22167: <-0.000000, -0.005489, 0.006633> + 22168: < 0.000391, -0.005156, 0.006868> + 22169: < 0.000394, -0.004815, 0.007092> + 22170: <-0.000000, -0.004820, 0.007099> + 22171: <-0.000000, -0.005162, 0.006875> + 22172: < 0.000394, -0.004815, 0.007092> + 22173: < 0.000397, -0.004460, 0.007298> + 22174: <-0.000000, -0.004465, 0.007306> + 22175: <-0.000000, -0.004820, 0.007099> + 22176: < 0.000397, -0.004460, 0.007298> + 22177: < 0.000400, -0.004093, 0.007487> + 22178: <-0.000000, -0.004098, 0.007495> + 22179: <-0.000000, -0.004465, 0.007306> + 22180: < 0.000400, -0.004093, 0.007487> + 22181: < 0.000404, -0.003716, 0.007657> + 22182: <-0.000000, -0.003720, 0.007665> + 22183: <-0.000000, -0.004098, 0.007495> + 22184: < 0.000404, -0.003716, 0.007657> + 22185: < 0.000408, -0.003328, 0.007810> + 22186: <-0.000000, -0.003331, 0.007818> + 22187: <-0.000000, -0.003720, 0.007665> + 22188: < 0.000408, -0.003328, 0.007810> + 22189: < 0.000412, -0.002931, 0.007945> + 22190: <-0.000000, -0.002934, 0.007953> + 22191: <-0.000000, -0.003331, 0.007818> + 22192: < 0.000412, -0.002931, 0.007945> + 22193: < 0.000415, -0.002527, 0.008062> + 22194: <-0.000000, -0.002530, 0.008070> + 22195: <-0.000000, -0.002934, 0.007953> + 22196: < 0.000415, -0.002527, 0.008062> + 22197: < 0.000419, -0.002116, 0.008161> + 22198: <-0.000000, -0.002118, 0.008169> + 22199: <-0.000000, -0.002530, 0.008070> + 22200: < 0.000419, -0.002116, 0.008161> + 22201: < 0.000422, -0.001699, 0.008242> + 22202: <-0.000000, -0.001701, 0.008251> + 22203: <-0.000000, -0.002118, 0.008169> + 22204: < 0.000422, -0.001699, 0.008242> + 22205: < 0.000424, -0.001278, 0.008305> + 22206: <-0.000000, -0.001280, 0.008314> + 22207: <-0.000000, -0.001701, 0.008251> + 22208: < 0.000424, -0.001278, 0.008305> + 22209: < 0.000426, -0.000854, 0.008350> + 22210: <-0.000000, -0.000855, 0.008359> + 22211: <-0.000000, -0.001280, 0.008314> + 22212: < 0.000426, -0.000854, 0.008350> + 22213: < 0.000428, -0.000428, 0.008377> + 22214: <-0.000000, -0.000428, 0.008386> + 22215: <-0.000000, -0.000855, 0.008359> + 22216: < 0.000428, -0.000428, 0.008377> + 22217: < 0.000428, 0.000000, 0.008386> + 22218: <-0.000000, 0.000000, 0.008395> + 22219: <-0.000000, -0.000428, 0.008386> + 22220: < 0.000428, 0.000000, 0.008386> + 22221: < 0.000428, 0.000428, 0.008377> + 22222: <-0.000000, 0.000428, 0.008386> + 22223: <-0.000000, 0.000000, 0.008395> + 22224: < 0.000428, 0.000428, 0.008377> + 22225: < 0.000426, 0.000854, 0.008350> + 22226: <-0.000000, 0.000855, 0.008359> + 22227: <-0.000000, 0.000428, 0.008386> + 22228: < 0.000426, 0.000854, 0.008350> + 22229: < 0.000424, 0.001278, 0.008305> + 22230: <-0.000000, 0.001280, 0.008314> + 22231: <-0.000000, 0.000855, 0.008359> + 22232: < 0.000424, 0.001278, 0.008305> + 22233: < 0.000422, 0.001699, 0.008242> + 22234: <-0.000000, 0.001701, 0.008251> + 22235: <-0.000000, 0.001280, 0.008314> + 22236: < 0.000422, 0.001699, 0.008242> + 22237: < 0.000419, 0.002116, 0.008161> + 22238: < 0.000000, 0.002118, 0.008169> + 22239: <-0.000000, 0.001701, 0.008251> + 22240: < 0.000419, 0.002116, 0.008161> + 22241: < 0.000415, 0.002527, 0.008062> + 22242: <-0.000000, 0.002530, 0.008070> + 22243: < 0.000000, 0.002118, 0.008169> + 22244: < 0.000415, 0.002527, 0.008062> + 22245: < 0.000412, 0.002931, 0.007945> + 22246: < 0.000000, 0.002934, 0.007953> + 22247: <-0.000000, 0.002530, 0.008070> + 22248: < 0.000412, 0.002931, 0.007945> + 22249: < 0.000408, 0.003328, 0.007810> + 22250: < 0.000000, 0.003331, 0.007818> + 22251: < 0.000000, 0.002934, 0.007953> + 22252: < 0.000408, 0.003328, 0.007810> + 22253: < 0.000404, 0.003716, 0.007657> + 22254: < 0.000000, 0.003720, 0.007665> + 22255: < 0.000000, 0.003331, 0.007818> + 22256: < 0.000404, 0.003716, 0.007657> + 22257: < 0.000400, 0.004093, 0.007487> + 22258: < 0.000000, 0.004098, 0.007495> + 22259: < 0.000000, 0.003720, 0.007665> + 22260: < 0.000400, 0.004093, 0.007487> + 22261: < 0.000397, 0.004460, 0.007298> + 22262: <-0.000000, 0.004465, 0.007306> + 22263: < 0.000000, 0.004098, 0.007495> + 22264: < 0.000397, 0.004460, 0.007298> + 22265: < 0.000394, 0.004815, 0.007092> + 22266: < 0.000000, 0.004820, 0.007099> + 22267: <-0.000000, 0.004465, 0.007306> + 22268: < 0.000394, 0.004815, 0.007092> + 22269: < 0.000391, 0.005156, 0.006868> + 22270: < 0.000000, 0.005162, 0.006875> + 22271: < 0.000000, 0.004820, 0.007099> + 22272: < 0.000391, 0.005156, 0.006868> + 22273: < 0.000389, 0.005483, 0.006626> + 22274: < 0.000000, 0.005489, 0.006633> + 22275: < 0.000000, 0.005162, 0.006875> + 22276: < 0.000389, 0.005483, 0.006626> + 22277: < 0.000388, 0.005794, 0.006366> + 22278: < 0.000000, 0.005801, 0.006373> + 22279: < 0.000000, 0.005489, 0.006633> + 22280: <-0.000000, -0.005801, 0.006373> + 22281: <-0.000000, -0.005489, 0.006633> + 22282: <-0.000389, -0.005483, 0.006626> + 22283: <-0.000388, -0.005794, 0.006366> + 22284: <-0.000000, -0.005489, 0.006633> + 22285: <-0.000000, -0.005162, 0.006875> + 22286: <-0.000391, -0.005156, 0.006868> + 22287: <-0.000389, -0.005483, 0.006626> + 22288: <-0.000000, -0.005162, 0.006875> + 22289: <-0.000000, -0.004820, 0.007099> + 22290: <-0.000394, -0.004815, 0.007092> + 22291: <-0.000391, -0.005156, 0.006868> + 22292: <-0.000000, -0.004820, 0.007099> + 22293: <-0.000000, -0.004465, 0.007306> + 22294: <-0.000397, -0.004460, 0.007298> + 22295: <-0.000394, -0.004815, 0.007092> + 22296: <-0.000000, -0.004465, 0.007306> + 22297: <-0.000000, -0.004098, 0.007495> + 22298: <-0.000400, -0.004093, 0.007487> + 22299: <-0.000397, -0.004460, 0.007298> + 22300: <-0.000000, -0.004098, 0.007495> + 22301: <-0.000000, -0.003720, 0.007665> + 22302: <-0.000404, -0.003716, 0.007657> + 22303: <-0.000400, -0.004093, 0.007487> + 22304: <-0.000000, -0.003720, 0.007665> + 22305: <-0.000000, -0.003331, 0.007818> + 22306: <-0.000408, -0.003328, 0.007810> + 22307: <-0.000404, -0.003716, 0.007657> + 22308: <-0.000000, -0.003331, 0.007818> + 22309: <-0.000000, -0.002934, 0.007953> + 22310: <-0.000412, -0.002931, 0.007945> + 22311: <-0.000408, -0.003328, 0.007810> + 22312: <-0.000000, -0.002934, 0.007953> + 22313: <-0.000000, -0.002530, 0.008070> + 22314: <-0.000415, -0.002527, 0.008062> + 22315: <-0.000412, -0.002931, 0.007945> + 22316: <-0.000000, -0.002530, 0.008070> + 22317: <-0.000000, -0.002118, 0.008169> + 22318: <-0.000419, -0.002116, 0.008161> + 22319: <-0.000415, -0.002527, 0.008062> + 22320: <-0.000000, -0.002118, 0.008169> + 22321: <-0.000000, -0.001701, 0.008251> + 22322: <-0.000422, -0.001699, 0.008242> + 22323: <-0.000419, -0.002116, 0.008161> + 22324: <-0.000000, -0.001701, 0.008251> + 22325: <-0.000000, -0.001280, 0.008314> + 22326: <-0.000424, -0.001278, 0.008305> + 22327: <-0.000422, -0.001699, 0.008242> + 22328: <-0.000000, -0.001280, 0.008314> + 22329: <-0.000000, -0.000855, 0.008359> + 22330: <-0.000426, -0.000854, 0.008350> + 22331: <-0.000424, -0.001278, 0.008305> + 22332: <-0.000000, -0.000855, 0.008359> + 22333: <-0.000000, -0.000428, 0.008386> + 22334: <-0.000428, -0.000428, 0.008377> + 22335: <-0.000426, -0.000854, 0.008350> + 22336: <-0.000000, -0.000428, 0.008386> + 22337: <-0.000000, 0.000000, 0.008395> + 22338: <-0.000428, 0.000000, 0.008386> + 22339: <-0.000428, -0.000428, 0.008377> + 22340: <-0.000000, 0.000000, 0.008395> + 22341: <-0.000000, 0.000428, 0.008386> + 22342: <-0.000428, 0.000428, 0.008377> + 22343: <-0.000428, 0.000000, 0.008386> + 22344: <-0.000000, 0.000428, 0.008386> + 22345: <-0.000000, 0.000855, 0.008359> + 22346: <-0.000426, 0.000854, 0.008350> + 22347: <-0.000428, 0.000428, 0.008377> + 22348: <-0.000000, 0.000855, 0.008359> + 22349: <-0.000000, 0.001280, 0.008314> + 22350: <-0.000424, 0.001278, 0.008305> + 22351: <-0.000426, 0.000854, 0.008350> + 22352: <-0.000000, 0.001280, 0.008314> + 22353: <-0.000000, 0.001701, 0.008251> + 22354: <-0.000422, 0.001699, 0.008242> + 22355: <-0.000424, 0.001278, 0.008305> + 22356: <-0.000000, 0.001701, 0.008251> + 22357: < 0.000000, 0.002118, 0.008169> + 22358: <-0.000419, 0.002116, 0.008161> + 22359: <-0.000422, 0.001699, 0.008242> + 22360: < 0.000000, 0.002118, 0.008169> + 22361: <-0.000000, 0.002530, 0.008070> + 22362: <-0.000415, 0.002527, 0.008062> + 22363: <-0.000419, 0.002116, 0.008161> + 22364: <-0.000000, 0.002530, 0.008070> + 22365: < 0.000000, 0.002934, 0.007953> + 22366: <-0.000412, 0.002931, 0.007945> + 22367: <-0.000415, 0.002527, 0.008062> + 22368: < 0.000000, 0.002934, 0.007953> + 22369: < 0.000000, 0.003331, 0.007818> + 22370: <-0.000408, 0.003328, 0.007810> + 22371: <-0.000412, 0.002931, 0.007945> + 22372: < 0.000000, 0.003331, 0.007818> + 22373: < 0.000000, 0.003720, 0.007665> + 22374: <-0.000404, 0.003716, 0.007657> + 22375: <-0.000408, 0.003328, 0.007810> + 22376: < 0.000000, 0.003720, 0.007665> + 22377: < 0.000000, 0.004098, 0.007495> + 22378: <-0.000400, 0.004093, 0.007487> + 22379: <-0.000404, 0.003716, 0.007657> + 22380: < 0.000000, 0.004098, 0.007495> + 22381: <-0.000000, 0.004465, 0.007306> + 22382: <-0.000397, 0.004460, 0.007298> + 22383: <-0.000400, 0.004093, 0.007487> + 22384: <-0.000000, 0.004465, 0.007306> + 22385: < 0.000000, 0.004820, 0.007099> + 22386: <-0.000394, 0.004815, 0.007092> + 22387: <-0.000397, 0.004460, 0.007298> + 22388: < 0.000000, 0.004820, 0.007099> + 22389: < 0.000000, 0.005162, 0.006875> + 22390: <-0.000391, 0.005156, 0.006868> + 22391: <-0.000394, 0.004815, 0.007092> + 22392: < 0.000000, 0.005162, 0.006875> + 22393: < 0.000000, 0.005489, 0.006633> + 22394: <-0.000389, 0.005483, 0.006626> + 22395: <-0.000391, 0.005156, 0.006868> + 22396: < 0.000000, 0.005489, 0.006633> + 22397: < 0.000000, 0.005801, 0.006373> + 22398: <-0.000388, 0.005794, 0.006366> + 22399: <-0.000389, 0.005483, 0.006626> + 22400: <-0.000388, -0.005794, 0.006366> + 22401: <-0.000389, -0.005483, 0.006626> + 22402: <-0.000777, -0.005466, 0.006605> + 22403: <-0.000774, -0.005776, 0.006346> + 22404: <-0.000389, -0.005483, 0.006626> + 22405: <-0.000391, -0.005156, 0.006868> + 22406: <-0.000781, -0.005140, 0.006846> + 22407: <-0.000777, -0.005466, 0.006605> + 22408: <-0.000391, -0.005156, 0.006868> + 22409: <-0.000394, -0.004815, 0.007092> + 22410: <-0.000786, -0.004800, 0.007069> + 22411: <-0.000781, -0.005140, 0.006846> + 22412: <-0.000394, -0.004815, 0.007092> + 22413: <-0.000397, -0.004460, 0.007298> + 22414: <-0.000792, -0.004446, 0.007275> + 22415: <-0.000786, -0.004800, 0.007069> + 22416: <-0.000397, -0.004460, 0.007298> + 22417: <-0.000400, -0.004093, 0.007487> + 22418: <-0.000799, -0.004081, 0.007462> + 22419: <-0.000792, -0.004446, 0.007275> + 22420: <-0.000400, -0.004093, 0.007487> + 22421: <-0.000404, -0.003716, 0.007657> + 22422: <-0.000807, -0.003704, 0.007632> + 22423: <-0.000799, -0.004081, 0.007462> + 22424: <-0.000404, -0.003716, 0.007657> + 22425: <-0.000408, -0.003328, 0.007810> + 22426: <-0.000814, -0.003318, 0.007785> + 22427: <-0.000807, -0.003704, 0.007632> + 22428: <-0.000408, -0.003328, 0.007810> + 22429: <-0.000412, -0.002931, 0.007945> + 22430: <-0.000822, -0.002922, 0.007919> + 22431: <-0.000814, -0.003318, 0.007785> + 22432: <-0.000412, -0.002931, 0.007945> + 22433: <-0.000415, -0.002527, 0.008062> + 22434: <-0.000829, -0.002519, 0.008036> + 22435: <-0.000822, -0.002922, 0.007919> + 22436: <-0.000415, -0.002527, 0.008062> + 22437: <-0.000419, -0.002116, 0.008161> + 22438: <-0.000836, -0.002109, 0.008134> + 22439: <-0.000829, -0.002519, 0.008036> + 22440: <-0.000419, -0.002116, 0.008161> + 22441: <-0.000422, -0.001699, 0.008242> + 22442: <-0.000842, -0.001694, 0.008215> + 22443: <-0.000836, -0.002109, 0.008134> + 22444: <-0.000422, -0.001699, 0.008242> + 22445: <-0.000424, -0.001278, 0.008305> + 22446: <-0.000848, -0.001275, 0.008278> + 22447: <-0.000842, -0.001694, 0.008215> + 22448: <-0.000424, -0.001278, 0.008305> + 22449: <-0.000426, -0.000854, 0.008350> + 22450: <-0.000852, -0.000852, 0.008323> + 22451: <-0.000848, -0.001275, 0.008278> + 22452: <-0.000426, -0.000854, 0.008350> + 22453: <-0.000428, -0.000428, 0.008377> + 22454: <-0.000854, -0.000426, 0.008350> + 22455: <-0.000852, -0.000852, 0.008323> + 22456: <-0.000428, -0.000428, 0.008377> + 22457: <-0.000428, 0.000000, 0.008386> + 22458: <-0.000855, 0.000000, 0.008359> + 22459: <-0.000854, -0.000426, 0.008350> + 22460: <-0.000428, 0.000000, 0.008386> + 22461: <-0.000428, 0.000428, 0.008377> + 22462: <-0.000854, 0.000426, 0.008350> + 22463: <-0.000855, 0.000000, 0.008359> + 22464: <-0.000428, 0.000428, 0.008377> + 22465: <-0.000426, 0.000854, 0.008350> + 22466: <-0.000852, 0.000852, 0.008323> + 22467: <-0.000854, 0.000426, 0.008350> + 22468: <-0.000426, 0.000854, 0.008350> + 22469: <-0.000424, 0.001278, 0.008305> + 22470: <-0.000848, 0.001275, 0.008278> + 22471: <-0.000852, 0.000852, 0.008323> + 22472: <-0.000424, 0.001278, 0.008305> + 22473: <-0.000422, 0.001699, 0.008242> + 22474: <-0.000842, 0.001694, 0.008215> + 22475: <-0.000848, 0.001275, 0.008278> + 22476: <-0.000422, 0.001699, 0.008242> + 22477: <-0.000419, 0.002116, 0.008161> + 22478: <-0.000836, 0.002109, 0.008134> + 22479: <-0.000842, 0.001694, 0.008215> + 22480: <-0.000419, 0.002116, 0.008161> + 22481: <-0.000415, 0.002527, 0.008062> + 22482: <-0.000829, 0.002519, 0.008036> + 22483: <-0.000836, 0.002109, 0.008134> + 22484: <-0.000415, 0.002527, 0.008062> + 22485: <-0.000412, 0.002931, 0.007945> + 22486: <-0.000822, 0.002922, 0.007919> + 22487: <-0.000829, 0.002519, 0.008036> + 22488: <-0.000412, 0.002931, 0.007945> + 22489: <-0.000408, 0.003328, 0.007810> + 22490: <-0.000814, 0.003318, 0.007785> + 22491: <-0.000822, 0.002922, 0.007919> + 22492: <-0.000408, 0.003328, 0.007810> + 22493: <-0.000404, 0.003716, 0.007657> + 22494: <-0.000807, 0.003704, 0.007632> + 22495: <-0.000814, 0.003318, 0.007785> + 22496: <-0.000404, 0.003716, 0.007657> + 22497: <-0.000400, 0.004093, 0.007487> + 22498: <-0.000799, 0.004081, 0.007462> + 22499: <-0.000807, 0.003704, 0.007632> + 22500: <-0.000400, 0.004093, 0.007487> + 22501: <-0.000397, 0.004460, 0.007298> + 22502: <-0.000792, 0.004446, 0.007275> + 22503: <-0.000799, 0.004081, 0.007462> + 22504: <-0.000397, 0.004460, 0.007298> + 22505: <-0.000394, 0.004815, 0.007092> + 22506: <-0.000786, 0.004800, 0.007069> + 22507: <-0.000792, 0.004446, 0.007275> + 22508: <-0.000394, 0.004815, 0.007092> + 22509: <-0.000391, 0.005156, 0.006868> + 22510: <-0.000781, 0.005140, 0.006846> + 22511: <-0.000786, 0.004800, 0.007069> + 22512: <-0.000391, 0.005156, 0.006868> + 22513: <-0.000389, 0.005483, 0.006626> + 22514: <-0.000777, 0.005466, 0.006605> + 22515: <-0.000781, 0.005140, 0.006846> + 22516: <-0.000389, 0.005483, 0.006626> + 22517: <-0.000388, 0.005794, 0.006366> + 22518: <-0.000774, 0.005776, 0.006346> + 22519: <-0.000777, 0.005466, 0.006605> + 22520: <-0.000774, -0.005776, 0.006346> + 22521: <-0.000777, -0.005466, 0.006605> + 22522: <-0.001161, -0.005438, 0.006570> + 22523: <-0.001157, -0.005747, 0.006313> + 22524: <-0.000777, -0.005466, 0.006605> + 22525: <-0.000781, -0.005140, 0.006846> + 22526: <-0.001168, -0.005114, 0.006810> + 22527: <-0.001161, -0.005438, 0.006570> + 22528: <-0.000781, -0.005140, 0.006846> + 22529: <-0.000786, -0.004800, 0.007069> + 22530: <-0.001176, -0.004776, 0.007032> + 22531: <-0.001168, -0.005114, 0.006810> + 22532: <-0.000786, -0.004800, 0.007069> + 22533: <-0.000792, -0.004446, 0.007275> + 22534: <-0.001185, -0.004424, 0.007236> + 22535: <-0.001176, -0.004776, 0.007032> + 22536: <-0.000792, -0.004446, 0.007275> + 22537: <-0.000799, -0.004081, 0.007462> + 22538: <-0.001196, -0.004061, 0.007423> + 22539: <-0.001185, -0.004424, 0.007236> + 22540: <-0.000799, -0.004081, 0.007462> + 22541: <-0.000807, -0.003704, 0.007632> + 22542: <-0.001207, -0.003686, 0.007591> + 22543: <-0.001196, -0.004061, 0.007423> + 22544: <-0.000807, -0.003704, 0.007632> + 22545: <-0.000814, -0.003318, 0.007785> + 22546: <-0.001219, -0.003302, 0.007743> + 22547: <-0.001207, -0.003686, 0.007591> + 22548: <-0.000814, -0.003318, 0.007785> + 22549: <-0.000822, -0.002922, 0.007919> + 22550: <-0.001230, -0.002908, 0.007876> + 22551: <-0.001219, -0.003302, 0.007743> + 22552: <-0.000822, -0.002922, 0.007919> + 22553: <-0.000829, -0.002519, 0.008036> + 22554: <-0.001241, -0.002507, 0.007992> + 22555: <-0.001230, -0.002908, 0.007876> + 22556: <-0.000829, -0.002519, 0.008036> + 22557: <-0.000836, -0.002109, 0.008134> + 22558: <-0.001252, -0.002099, 0.008090> + 22559: <-0.001241, -0.002507, 0.007992> + 22560: <-0.000836, -0.002109, 0.008134> + 22561: <-0.000842, -0.001694, 0.008215> + 22562: <-0.001261, -0.001686, 0.008171> + 22563: <-0.001252, -0.002099, 0.008090> + 22564: <-0.000842, -0.001694, 0.008215> + 22565: <-0.000848, -0.001275, 0.008278> + 22566: <-0.001269, -0.001269, 0.008233> + 22567: <-0.001261, -0.001686, 0.008171> + 22568: <-0.000848, -0.001275, 0.008278> + 22569: <-0.000852, -0.000852, 0.008323> + 22570: <-0.001275, -0.000848, 0.008278> + 22571: <-0.001269, -0.001269, 0.008233> + 22572: <-0.000852, -0.000852, 0.008323> + 22573: <-0.000854, -0.000426, 0.008350> + 22574: <-0.001278, -0.000424, 0.008305> + 22575: <-0.001275, -0.000848, 0.008278> + 22576: <-0.000854, -0.000426, 0.008350> + 22577: <-0.000855, 0.000000, 0.008359> + 22578: <-0.001280, 0.000000, 0.008314> + 22579: <-0.001278, -0.000424, 0.008305> + 22580: <-0.000855, 0.000000, 0.008359> + 22581: <-0.000854, 0.000426, 0.008350> + 22582: <-0.001278, 0.000424, 0.008305> + 22583: <-0.001280, 0.000000, 0.008314> + 22584: <-0.000854, 0.000426, 0.008350> + 22585: <-0.000852, 0.000852, 0.008323> + 22586: <-0.001275, 0.000848, 0.008278> + 22587: <-0.001278, 0.000424, 0.008305> + 22588: <-0.000852, 0.000852, 0.008323> + 22589: <-0.000848, 0.001275, 0.008278> + 22590: <-0.001269, 0.001269, 0.008233> + 22591: <-0.001275, 0.000848, 0.008278> + 22592: <-0.000848, 0.001275, 0.008278> + 22593: <-0.000842, 0.001694, 0.008215> + 22594: <-0.001261, 0.001686, 0.008171> + 22595: <-0.001269, 0.001269, 0.008233> + 22596: <-0.000842, 0.001694, 0.008215> + 22597: <-0.000836, 0.002109, 0.008134> + 22598: <-0.001252, 0.002099, 0.008090> + 22599: <-0.001261, 0.001686, 0.008171> + 22600: <-0.000836, 0.002109, 0.008134> + 22601: <-0.000829, 0.002519, 0.008036> + 22602: <-0.001241, 0.002507, 0.007992> + 22603: <-0.001252, 0.002099, 0.008090> + 22604: <-0.000829, 0.002519, 0.008036> + 22605: <-0.000822, 0.002922, 0.007919> + 22606: <-0.001230, 0.002908, 0.007876> + 22607: <-0.001241, 0.002507, 0.007992> + 22608: <-0.000822, 0.002922, 0.007919> + 22609: <-0.000814, 0.003318, 0.007785> + 22610: <-0.001219, 0.003302, 0.007743> + 22611: <-0.001230, 0.002908, 0.007876> + 22612: <-0.000814, 0.003318, 0.007785> + 22613: <-0.000807, 0.003704, 0.007632> + 22614: <-0.001207, 0.003686, 0.007591> + 22615: <-0.001219, 0.003302, 0.007743> + 22616: <-0.000807, 0.003704, 0.007632> + 22617: <-0.000799, 0.004081, 0.007462> + 22618: <-0.001196, 0.004061, 0.007423> + 22619: <-0.001207, 0.003686, 0.007591> + 22620: <-0.000799, 0.004081, 0.007462> + 22621: <-0.000792, 0.004446, 0.007275> + 22622: <-0.001185, 0.004424, 0.007236> + 22623: <-0.001196, 0.004061, 0.007423> + 22624: <-0.000792, 0.004446, 0.007275> + 22625: <-0.000786, 0.004800, 0.007069> + 22626: <-0.001176, 0.004776, 0.007032> + 22627: <-0.001185, 0.004424, 0.007236> + 22628: <-0.000786, 0.004800, 0.007069> + 22629: <-0.000781, 0.005140, 0.006846> + 22630: <-0.001168, 0.005114, 0.006810> + 22631: <-0.001176, 0.004776, 0.007032> + 22632: <-0.000781, 0.005140, 0.006846> + 22633: <-0.000777, 0.005466, 0.006605> + 22634: <-0.001161, 0.005438, 0.006570> + 22635: <-0.001168, 0.005114, 0.006810> + 22636: <-0.000777, 0.005466, 0.006605> + 22637: <-0.000774, 0.005776, 0.006346> + 22638: <-0.001157, 0.005747, 0.006313> + 22639: <-0.001161, 0.005438, 0.006570> + 22640: <-0.001157, -0.005747, 0.006313> + 22641: <-0.001161, -0.005438, 0.006570> + 22642: <-0.001541, -0.005401, 0.006523> + 22643: <-0.001536, -0.005707, 0.006269> + 22644: <-0.001161, -0.005438, 0.006570> + 22645: <-0.001168, -0.005114, 0.006810> + 22646: <-0.001550, -0.005080, 0.006761> + 22647: <-0.001541, -0.005401, 0.006523> + 22648: <-0.001168, -0.005114, 0.006810> + 22649: <-0.001176, -0.004776, 0.007032> + 22650: <-0.001561, -0.004744, 0.006980> + 22651: <-0.001550, -0.005080, 0.006761> + 22652: <-0.001176, -0.004776, 0.007032> + 22653: <-0.001185, -0.004424, 0.007236> + 22654: <-0.001574, -0.004395, 0.007183> + 22655: <-0.001561, -0.004744, 0.006980> + 22656: <-0.001185, -0.004424, 0.007236> + 22657: <-0.001196, -0.004061, 0.007423> + 22658: <-0.001588, -0.004034, 0.007367> + 22659: <-0.001574, -0.004395, 0.007183> + 22660: <-0.001196, -0.004061, 0.007423> + 22661: <-0.001207, -0.003686, 0.007591> + 22662: <-0.001603, -0.003663, 0.007535> + 22663: <-0.001588, -0.004034, 0.007367> + 22664: <-0.001207, -0.003686, 0.007591> + 22665: <-0.001219, -0.003302, 0.007743> + 22666: <-0.001619, -0.003281, 0.007684> + 22667: <-0.001603, -0.003663, 0.007535> + 22668: <-0.001219, -0.003302, 0.007743> + 22669: <-0.001230, -0.002908, 0.007876> + 22670: <-0.001635, -0.002890, 0.007817> + 22671: <-0.001619, -0.003281, 0.007684> + 22672: <-0.001230, -0.002908, 0.007876> + 22673: <-0.001241, -0.002507, 0.007992> + 22674: <-0.001650, -0.002492, 0.007932> + 22675: <-0.001635, -0.002890, 0.007817> + 22676: <-0.001241, -0.002507, 0.007992> + 22677: <-0.001252, -0.002099, 0.008090> + 22678: <-0.001663, -0.002086, 0.008029> + 22679: <-0.001650, -0.002492, 0.007932> + 22680: <-0.001252, -0.002099, 0.008090> + 22681: <-0.001261, -0.001686, 0.008171> + 22682: <-0.001676, -0.001676, 0.008109> + 22683: <-0.001663, -0.002086, 0.008029> + 22684: <-0.001261, -0.001686, 0.008171> + 22685: <-0.001269, -0.001269, 0.008233> + 22686: <-0.001686, -0.001261, 0.008171> + 22687: <-0.001676, -0.001676, 0.008109> + 22688: <-0.001269, -0.001269, 0.008233> + 22689: <-0.001275, -0.000848, 0.008278> + 22690: <-0.001694, -0.000842, 0.008215> + 22691: <-0.001686, -0.001261, 0.008171> + 22692: <-0.001275, -0.000848, 0.008278> + 22693: <-0.001278, -0.000424, 0.008305> + 22694: <-0.001699, -0.000422, 0.008242> + 22695: <-0.001694, -0.000842, 0.008215> + 22696: <-0.001278, -0.000424, 0.008305> + 22697: <-0.001280, 0.000000, 0.008314> + 22698: <-0.001701, 0.000000, 0.008251> + 22699: <-0.001699, -0.000422, 0.008242> + 22700: <-0.001280, 0.000000, 0.008314> + 22701: <-0.001278, 0.000424, 0.008305> + 22702: <-0.001699, 0.000422, 0.008242> + 22703: <-0.001701, 0.000000, 0.008251> + 22704: <-0.001278, 0.000424, 0.008305> + 22705: <-0.001275, 0.000848, 0.008278> + 22706: <-0.001694, 0.000842, 0.008215> + 22707: <-0.001699, 0.000422, 0.008242> + 22708: <-0.001275, 0.000848, 0.008278> + 22709: <-0.001269, 0.001269, 0.008233> + 22710: <-0.001686, 0.001261, 0.008171> + 22711: <-0.001694, 0.000842, 0.008215> + 22712: <-0.001269, 0.001269, 0.008233> + 22713: <-0.001261, 0.001686, 0.008171> + 22714: <-0.001676, 0.001676, 0.008109> + 22715: <-0.001686, 0.001261, 0.008171> + 22716: <-0.001261, 0.001686, 0.008171> + 22717: <-0.001252, 0.002099, 0.008090> + 22718: <-0.001663, 0.002086, 0.008029> + 22719: <-0.001676, 0.001676, 0.008109> + 22720: <-0.001252, 0.002099, 0.008090> + 22721: <-0.001241, 0.002507, 0.007992> + 22722: <-0.001650, 0.002492, 0.007932> + 22723: <-0.001663, 0.002086, 0.008029> + 22724: <-0.001241, 0.002507, 0.007992> + 22725: <-0.001230, 0.002908, 0.007876> + 22726: <-0.001635, 0.002890, 0.007817> + 22727: <-0.001650, 0.002492, 0.007932> + 22728: <-0.001230, 0.002908, 0.007876> + 22729: <-0.001219, 0.003302, 0.007743> + 22730: <-0.001619, 0.003281, 0.007684> + 22731: <-0.001635, 0.002890, 0.007817> + 22732: <-0.001219, 0.003302, 0.007743> + 22733: <-0.001207, 0.003686, 0.007591> + 22734: <-0.001603, 0.003663, 0.007535> + 22735: <-0.001619, 0.003281, 0.007684> + 22736: <-0.001207, 0.003686, 0.007591> + 22737: <-0.001196, 0.004061, 0.007423> + 22738: <-0.001588, 0.004034, 0.007367> + 22739: <-0.001603, 0.003663, 0.007535> + 22740: <-0.001196, 0.004061, 0.007423> + 22741: <-0.001185, 0.004424, 0.007236> + 22742: <-0.001574, 0.004395, 0.007183> + 22743: <-0.001588, 0.004034, 0.007367> + 22744: <-0.001185, 0.004424, 0.007236> + 22745: <-0.001176, 0.004776, 0.007032> + 22746: <-0.001561, 0.004744, 0.006980> + 22747: <-0.001574, 0.004395, 0.007183> + 22748: <-0.001176, 0.004776, 0.007032> + 22749: <-0.001168, 0.005114, 0.006810> + 22750: <-0.001550, 0.005080, 0.006761> + 22751: <-0.001561, 0.004744, 0.006980> + 22752: <-0.001168, 0.005114, 0.006810> + 22753: <-0.001161, 0.005438, 0.006570> + 22754: <-0.001541, 0.005401, 0.006523> + 22755: <-0.001550, 0.005080, 0.006761> + 22756: <-0.001161, 0.005438, 0.006570> + 22757: <-0.001157, 0.005747, 0.006313> + 22758: <-0.001536, 0.005707, 0.006269> + 22759: <-0.001541, 0.005401, 0.006523> + 22760: <-0.001536, -0.005707, 0.006269> + 22761: <-0.001541, -0.005401, 0.006523> + 22762: <-0.001915, -0.005355, 0.006464> + 22763: <-0.001908, -0.005657, 0.006212> + 22764: <-0.001541, -0.005401, 0.006523> + 22765: <-0.001550, -0.005080, 0.006761> + 22766: <-0.001926, -0.005037, 0.006698> + 22767: <-0.001915, -0.005355, 0.006464> + 22768: <-0.001550, -0.005080, 0.006761> + 22769: <-0.001561, -0.004744, 0.006980> + 22770: <-0.001940, -0.004705, 0.006915> + 22771: <-0.001926, -0.005037, 0.006698> + 22772: <-0.001561, -0.004744, 0.006980> + 22773: <-0.001574, -0.004395, 0.007183> + 22774: <-0.001957, -0.004360, 0.007115> + 22775: <-0.001940, -0.004705, 0.006915> + 22776: <-0.001574, -0.004395, 0.007183> + 22777: <-0.001588, -0.004034, 0.007367> + 22778: <-0.001975, -0.004002, 0.007297> + 22779: <-0.001957, -0.004360, 0.007115> + 22780: <-0.001588, -0.004034, 0.007367> + 22781: <-0.001603, -0.003663, 0.007535> + 22782: <-0.001995, -0.003634, 0.007462> + 22783: <-0.001975, -0.004002, 0.007297> + 22784: <-0.001603, -0.003663, 0.007535> + 22785: <-0.001619, -0.003281, 0.007684> + 22786: <-0.002015, -0.003255, 0.007610> + 22787: <-0.001995, -0.003634, 0.007462> + 22788: <-0.001619, -0.003281, 0.007684> + 22789: <-0.001635, -0.002890, 0.007817> + 22790: <-0.002035, -0.002868, 0.007740> + 22791: <-0.002015, -0.003255, 0.007610> + 22792: <-0.001635, -0.002890, 0.007817> + 22793: <-0.001650, -0.002492, 0.007932> + 22794: <-0.002053, -0.002473, 0.007854> + 22795: <-0.002035, -0.002868, 0.007740> + 22796: <-0.001650, -0.002492, 0.007932> + 22797: <-0.001663, -0.002086, 0.008029> + 22798: <-0.002071, -0.002071, 0.007950> + 22799: <-0.002053, -0.002473, 0.007854> + 22800: <-0.001663, -0.002086, 0.008029> + 22801: <-0.001676, -0.001676, 0.008109> + 22802: <-0.002086, -0.001663, 0.008029> + 22803: <-0.002071, -0.002071, 0.007950> + 22804: <-0.001676, -0.001676, 0.008109> + 22805: <-0.001686, -0.001261, 0.008171> + 22806: <-0.002099, -0.001252, 0.008090> + 22807: <-0.002086, -0.001663, 0.008029> + 22808: <-0.001686, -0.001261, 0.008171> + 22809: <-0.001694, -0.000842, 0.008215> + 22810: <-0.002109, -0.000836, 0.008134> + 22811: <-0.002099, -0.001252, 0.008090> + 22812: <-0.001694, -0.000842, 0.008215> + 22813: <-0.001699, -0.000422, 0.008242> + 22814: <-0.002116, -0.000419, 0.008161> + 22815: <-0.002109, -0.000836, 0.008134> + 22816: <-0.001699, -0.000422, 0.008242> + 22817: <-0.001701, 0.000000, 0.008251> + 22818: <-0.002118, 0.000000, 0.008169> + 22819: <-0.002116, -0.000419, 0.008161> + 22820: <-0.001701, 0.000000, 0.008251> + 22821: <-0.001699, 0.000422, 0.008242> + 22822: <-0.002116, 0.000419, 0.008161> + 22823: <-0.002118, 0.000000, 0.008169> + 22824: <-0.001699, 0.000422, 0.008242> + 22825: <-0.001694, 0.000842, 0.008215> + 22826: <-0.002109, 0.000836, 0.008134> + 22827: <-0.002116, 0.000419, 0.008161> + 22828: <-0.001694, 0.000842, 0.008215> + 22829: <-0.001686, 0.001261, 0.008171> + 22830: <-0.002099, 0.001252, 0.008090> + 22831: <-0.002109, 0.000836, 0.008134> + 22832: <-0.001686, 0.001261, 0.008171> + 22833: <-0.001676, 0.001676, 0.008109> + 22834: <-0.002086, 0.001663, 0.008029> + 22835: <-0.002099, 0.001252, 0.008090> + 22836: <-0.001676, 0.001676, 0.008109> + 22837: <-0.001663, 0.002086, 0.008029> + 22838: <-0.002071, 0.002071, 0.007950> + 22839: <-0.002086, 0.001663, 0.008029> + 22840: <-0.001663, 0.002086, 0.008029> + 22841: <-0.001650, 0.002492, 0.007932> + 22842: <-0.002053, 0.002473, 0.007854> + 22843: <-0.002071, 0.002071, 0.007950> + 22844: <-0.001650, 0.002492, 0.007932> + 22845: <-0.001635, 0.002890, 0.007817> + 22846: <-0.002035, 0.002868, 0.007740> + 22847: <-0.002053, 0.002473, 0.007854> + 22848: <-0.001635, 0.002890, 0.007817> + 22849: <-0.001619, 0.003281, 0.007684> + 22850: <-0.002015, 0.003255, 0.007610> + 22851: <-0.002035, 0.002868, 0.007740> + 22852: <-0.001619, 0.003281, 0.007684> + 22853: <-0.001603, 0.003663, 0.007535> + 22854: <-0.001995, 0.003634, 0.007462> + 22855: <-0.002015, 0.003255, 0.007610> + 22856: <-0.001603, 0.003663, 0.007535> + 22857: <-0.001588, 0.004034, 0.007367> + 22858: <-0.001975, 0.004002, 0.007297> + 22859: <-0.001995, 0.003634, 0.007462> + 22860: <-0.001588, 0.004034, 0.007367> + 22861: <-0.001574, 0.004395, 0.007183> + 22862: <-0.001957, 0.004360, 0.007115> + 22863: <-0.001975, 0.004002, 0.007297> + 22864: <-0.001574, 0.004395, 0.007183> + 22865: <-0.001561, 0.004744, 0.006980> + 22866: <-0.001940, 0.004705, 0.006915> + 22867: <-0.001957, 0.004360, 0.007115> + 22868: <-0.001561, 0.004744, 0.006980> + 22869: <-0.001550, 0.005080, 0.006761> + 22870: <-0.001926, 0.005037, 0.006698> + 22871: <-0.001940, 0.004705, 0.006915> + 22872: <-0.001550, 0.005080, 0.006761> + 22873: <-0.001541, 0.005401, 0.006523> + 22874: <-0.001915, 0.005355, 0.006464> + 22875: <-0.001926, 0.005037, 0.006698> + 22876: <-0.001541, 0.005401, 0.006523> + 22877: <-0.001536, 0.005707, 0.006269> + 22878: <-0.001908, 0.005657, 0.006212> + 22879: <-0.001915, 0.005355, 0.006464> + 22880: <-0.001908, -0.005657, 0.006212> + 22881: <-0.001915, -0.005355, 0.006464> + 22882: <-0.002281, -0.005301, 0.006393> + 22883: <-0.002272, -0.005599, 0.006146> + 22884: <-0.001915, -0.005355, 0.006464> + 22885: <-0.001926, -0.005037, 0.006698> + 22886: <-0.002295, -0.004987, 0.006623> + 22887: <-0.002281, -0.005301, 0.006393> + 22888: <-0.001926, -0.005037, 0.006698> + 22889: <-0.001940, -0.004705, 0.006915> + 22890: <-0.002313, -0.004659, 0.006836> + 22891: <-0.002295, -0.004987, 0.006623> + 22892: <-0.001940, -0.004705, 0.006915> + 22893: <-0.001957, -0.004360, 0.007115> + 22894: <-0.002333, -0.004318, 0.007033> + 22895: <-0.002313, -0.004659, 0.006836> + 22896: <-0.001957, -0.004360, 0.007115> + 22897: <-0.001975, -0.004002, 0.007297> + 22898: <-0.002356, -0.003965, 0.007212> + 22899: <-0.002333, -0.004318, 0.007033> + 22900: <-0.001975, -0.004002, 0.007297> + 22901: <-0.001995, -0.003634, 0.007462> + 22902: <-0.002380, -0.003601, 0.007374> + 22903: <-0.002356, -0.003965, 0.007212> + 22904: <-0.001995, -0.003634, 0.007462> + 22905: <-0.002015, -0.003255, 0.007610> + 22906: <-0.002405, -0.003227, 0.007519> + 22907: <-0.002380, -0.003601, 0.007374> + 22908: <-0.002015, -0.003255, 0.007610> + 22909: <-0.002035, -0.002868, 0.007740> + 22910: <-0.002429, -0.002843, 0.007648> + 22911: <-0.002405, -0.003227, 0.007519> + 22912: <-0.002035, -0.002868, 0.007740> + 22913: <-0.002053, -0.002473, 0.007854> + 22914: <-0.002452, -0.002452, 0.007759> + 22915: <-0.002429, -0.002843, 0.007648> + 22916: <-0.002053, -0.002473, 0.007854> + 22917: <-0.002071, -0.002071, 0.007950> + 22918: <-0.002473, -0.002053, 0.007854> + 22919: <-0.002452, -0.002452, 0.007759> + 22920: <-0.002071, -0.002071, 0.007950> + 22921: <-0.002086, -0.001663, 0.008029> + 22922: <-0.002492, -0.001650, 0.007932> + 22923: <-0.002473, -0.002053, 0.007854> + 22924: <-0.002086, -0.001663, 0.008029> + 22925: <-0.002099, -0.001252, 0.008090> + 22926: <-0.002507, -0.001241, 0.007992> + 22927: <-0.002492, -0.001650, 0.007932> + 22928: <-0.002099, -0.001252, 0.008090> + 22929: <-0.002109, -0.000836, 0.008134> + 22930: <-0.002519, -0.000829, 0.008036> + 22931: <-0.002507, -0.001241, 0.007992> + 22932: <-0.002109, -0.000836, 0.008134> + 22933: <-0.002116, -0.000419, 0.008161> + 22934: <-0.002527, -0.000415, 0.008062> + 22935: <-0.002519, -0.000829, 0.008036> + 22936: <-0.002116, -0.000419, 0.008161> + 22937: <-0.002118, 0.000000, 0.008169> + 22938: <-0.002530, 0.000000, 0.008070> + 22939: <-0.002527, -0.000415, 0.008062> + 22940: <-0.002118, 0.000000, 0.008169> + 22941: <-0.002116, 0.000419, 0.008161> + 22942: <-0.002527, 0.000415, 0.008062> + 22943: <-0.002530, 0.000000, 0.008070> + 22944: <-0.002116, 0.000419, 0.008161> + 22945: <-0.002109, 0.000836, 0.008134> + 22946: <-0.002519, 0.000829, 0.008036> + 22947: <-0.002527, 0.000415, 0.008062> + 22948: <-0.002109, 0.000836, 0.008134> + 22949: <-0.002099, 0.001252, 0.008090> + 22950: <-0.002507, 0.001241, 0.007992> + 22951: <-0.002519, 0.000829, 0.008036> + 22952: <-0.002099, 0.001252, 0.008090> + 22953: <-0.002086, 0.001663, 0.008029> + 22954: <-0.002492, 0.001650, 0.007932> + 22955: <-0.002507, 0.001241, 0.007992> + 22956: <-0.002086, 0.001663, 0.008029> + 22957: <-0.002071, 0.002071, 0.007950> + 22958: <-0.002473, 0.002053, 0.007854> + 22959: <-0.002492, 0.001650, 0.007932> + 22960: <-0.002071, 0.002071, 0.007950> + 22961: <-0.002053, 0.002473, 0.007854> + 22962: <-0.002452, 0.002452, 0.007759> + 22963: <-0.002473, 0.002053, 0.007854> + 22964: <-0.002053, 0.002473, 0.007854> + 22965: <-0.002035, 0.002868, 0.007740> + 22966: <-0.002429, 0.002843, 0.007648> + 22967: <-0.002452, 0.002452, 0.007759> + 22968: <-0.002035, 0.002868, 0.007740> + 22969: <-0.002015, 0.003255, 0.007610> + 22970: <-0.002405, 0.003227, 0.007519> + 22971: <-0.002429, 0.002843, 0.007648> + 22972: <-0.002015, 0.003255, 0.007610> + 22973: <-0.001995, 0.003634, 0.007462> + 22974: <-0.002380, 0.003601, 0.007374> + 22975: <-0.002405, 0.003227, 0.007519> + 22976: <-0.001995, 0.003634, 0.007462> + 22977: <-0.001975, 0.004002, 0.007297> + 22978: <-0.002356, 0.003965, 0.007212> + 22979: <-0.002380, 0.003601, 0.007374> + 22980: <-0.001975, 0.004002, 0.007297> + 22981: <-0.001957, 0.004360, 0.007115> + 22982: <-0.002333, 0.004318, 0.007033> + 22983: <-0.002356, 0.003965, 0.007212> + 22984: <-0.001957, 0.004360, 0.007115> + 22985: <-0.001940, 0.004705, 0.006915> + 22986: <-0.002313, 0.004659, 0.006836> + 22987: <-0.002333, 0.004318, 0.007033> + 22988: <-0.001940, 0.004705, 0.006915> + 22989: <-0.001926, 0.005037, 0.006698> + 22990: <-0.002295, 0.004987, 0.006623> + 22991: <-0.002313, 0.004659, 0.006836> + 22992: <-0.001926, 0.005037, 0.006698> + 22993: <-0.001915, 0.005355, 0.006464> + 22994: <-0.002281, 0.005301, 0.006393> + 22995: <-0.002295, 0.004987, 0.006623> + 22996: <-0.001915, 0.005355, 0.006464> + 22997: <-0.001908, 0.005657, 0.006212> + 22998: <-0.002272, 0.005599, 0.006146> + 22999: <-0.002281, 0.005301, 0.006393> + 23000: <-0.002272, -0.005599, 0.006146> + 23001: <-0.002281, -0.005301, 0.006393> + 23002: <-0.002638, -0.005240, 0.006311> + 23003: <-0.002627, -0.005533, 0.006069> + 23004: <-0.002281, -0.005301, 0.006393> + 23005: <-0.002295, -0.004987, 0.006623> + 23006: <-0.002655, -0.004931, 0.006537> + 23007: <-0.002638, -0.005240, 0.006311> + 23008: <-0.002295, -0.004987, 0.006623> + 23009: <-0.002313, -0.004659, 0.006836> + 23010: <-0.002676, -0.004609, 0.006745> + 23011: <-0.002655, -0.004931, 0.006537> + 23012: <-0.002313, -0.004659, 0.006836> + 23013: <-0.002333, -0.004318, 0.007033> + 23014: <-0.002701, -0.004273, 0.006937> + 23015: <-0.002676, -0.004609, 0.006745> + 23016: <-0.002333, -0.004318, 0.007033> + 23017: <-0.002356, -0.003965, 0.007212> + 23018: <-0.002729, -0.003924, 0.007112> + 23019: <-0.002701, -0.004273, 0.006937> + 23020: <-0.002356, -0.003965, 0.007212> + 23021: <-0.002380, -0.003601, 0.007374> + 23022: <-0.002758, -0.003565, 0.007270> + 23023: <-0.002729, -0.003924, 0.007112> + 23024: <-0.002380, -0.003601, 0.007374> + 23025: <-0.002405, -0.003227, 0.007519> + 23026: <-0.002787, -0.003195, 0.007412> + 23027: <-0.002758, -0.003565, 0.007270> + 23028: <-0.002405, -0.003227, 0.007519> + 23029: <-0.002429, -0.002843, 0.007648> + 23030: <-0.002816, -0.002816, 0.007538> + 23031: <-0.002787, -0.003195, 0.007412> + 23032: <-0.002429, -0.002843, 0.007648> + 23033: <-0.002452, -0.002452, 0.007759> + 23034: <-0.002843, -0.002429, 0.007648> + 23035: <-0.002816, -0.002816, 0.007538> + 23036: <-0.002452, -0.002452, 0.007759> + 23037: <-0.002473, -0.002053, 0.007854> + 23038: <-0.002868, -0.002035, 0.007740> + 23039: <-0.002843, -0.002429, 0.007648> + 23040: <-0.002473, -0.002053, 0.007854> + 23041: <-0.002492, -0.001650, 0.007932> + 23042: <-0.002890, -0.001635, 0.007817> + 23043: <-0.002868, -0.002035, 0.007740> + 23044: <-0.002492, -0.001650, 0.007932> + 23045: <-0.002507, -0.001241, 0.007992> + 23046: <-0.002908, -0.001230, 0.007876> + 23047: <-0.002890, -0.001635, 0.007817> + 23048: <-0.002507, -0.001241, 0.007992> + 23049: <-0.002519, -0.000829, 0.008036> + 23050: <-0.002922, -0.000822, 0.007919> + 23051: <-0.002908, -0.001230, 0.007876> + 23052: <-0.002519, -0.000829, 0.008036> + 23053: <-0.002527, -0.000415, 0.008062> + 23054: <-0.002931, -0.000412, 0.007945> + 23055: <-0.002922, -0.000822, 0.007919> + 23056: <-0.002527, -0.000415, 0.008062> + 23057: <-0.002530, 0.000000, 0.008070> + 23058: <-0.002934, 0.000000, 0.007953> + 23059: <-0.002931, -0.000412, 0.007945> + 23060: <-0.002530, 0.000000, 0.008070> + 23061: <-0.002527, 0.000415, 0.008062> + 23062: <-0.002931, 0.000412, 0.007945> + 23063: <-0.002934, 0.000000, 0.007953> + 23064: <-0.002527, 0.000415, 0.008062> + 23065: <-0.002519, 0.000829, 0.008036> + 23066: <-0.002922, 0.000822, 0.007919> + 23067: <-0.002931, 0.000412, 0.007945> + 23068: <-0.002519, 0.000829, 0.008036> + 23069: <-0.002507, 0.001241, 0.007992> + 23070: <-0.002908, 0.001230, 0.007876> + 23071: <-0.002922, 0.000822, 0.007919> + 23072: <-0.002507, 0.001241, 0.007992> + 23073: <-0.002492, 0.001650, 0.007932> + 23074: <-0.002890, 0.001635, 0.007817> + 23075: <-0.002908, 0.001230, 0.007876> + 23076: <-0.002492, 0.001650, 0.007932> + 23077: <-0.002473, 0.002053, 0.007854> + 23078: <-0.002868, 0.002035, 0.007740> + 23079: <-0.002890, 0.001635, 0.007817> + 23080: <-0.002473, 0.002053, 0.007854> + 23081: <-0.002452, 0.002452, 0.007759> + 23082: <-0.002843, 0.002429, 0.007648> + 23083: <-0.002868, 0.002035, 0.007740> + 23084: <-0.002452, 0.002452, 0.007759> + 23085: <-0.002429, 0.002843, 0.007648> + 23086: <-0.002816, 0.002816, 0.007538> + 23087: <-0.002843, 0.002429, 0.007648> + 23088: <-0.002429, 0.002843, 0.007648> + 23089: <-0.002405, 0.003227, 0.007519> + 23090: <-0.002787, 0.003195, 0.007412> + 23091: <-0.002816, 0.002816, 0.007538> + 23092: <-0.002405, 0.003227, 0.007519> + 23093: <-0.002380, 0.003601, 0.007374> + 23094: <-0.002758, 0.003565, 0.007270> + 23095: <-0.002787, 0.003195, 0.007412> + 23096: <-0.002380, 0.003601, 0.007374> + 23097: <-0.002356, 0.003965, 0.007212> + 23098: <-0.002729, 0.003924, 0.007112> + 23099: <-0.002758, 0.003565, 0.007270> + 23100: <-0.002356, 0.003965, 0.007212> + 23101: <-0.002333, 0.004318, 0.007033> + 23102: <-0.002701, 0.004273, 0.006937> + 23103: <-0.002729, 0.003924, 0.007112> + 23104: <-0.002333, 0.004318, 0.007033> + 23105: <-0.002313, 0.004659, 0.006836> + 23106: <-0.002676, 0.004609, 0.006745> + 23107: <-0.002701, 0.004273, 0.006937> + 23108: <-0.002313, 0.004659, 0.006836> + 23109: <-0.002295, 0.004987, 0.006623> + 23110: <-0.002655, 0.004931, 0.006537> + 23111: <-0.002676, 0.004609, 0.006745> + 23112: <-0.002295, 0.004987, 0.006623> + 23113: <-0.002281, 0.005301, 0.006393> + 23114: <-0.002638, 0.005240, 0.006311> + 23115: <-0.002655, 0.004931, 0.006537> + 23116: <-0.002281, 0.005301, 0.006393> + 23117: <-0.002272, 0.005599, 0.006146> + 23118: <-0.002627, 0.005533, 0.006069> + 23119: <-0.002638, 0.005240, 0.006311> + 23120: <-0.002627, -0.005533, 0.006069> + 23121: <-0.002638, -0.005240, 0.006311> + 23122: <-0.002984, -0.005172, 0.006219> + 23123: <-0.002971, -0.005459, 0.005983> + 23124: <-0.002638, -0.005240, 0.006311> + 23125: <-0.002655, -0.004931, 0.006537> + 23126: <-0.003004, -0.004870, 0.006439> + 23127: <-0.002984, -0.005172, 0.006219> + 23128: <-0.002655, -0.004931, 0.006537> + 23129: <-0.002676, -0.004609, 0.006745> + 23130: <-0.003030, -0.004553, 0.006641> + 23131: <-0.003004, -0.004870, 0.006439> + 23132: <-0.002676, -0.004609, 0.006745> + 23133: <-0.002701, -0.004273, 0.006937> + 23134: <-0.003060, -0.004223, 0.006828> + 23135: <-0.003030, -0.004553, 0.006641> + 23136: <-0.002701, -0.004273, 0.006937> + 23137: <-0.002729, -0.003924, 0.007112> + 23138: <-0.003093, -0.003880, 0.006998> + 23139: <-0.003060, -0.004223, 0.006828> + 23140: <-0.002729, -0.003924, 0.007112> + 23141: <-0.002758, -0.003565, 0.007270> + 23142: <-0.003127, -0.003526, 0.007152> + 23143: <-0.003093, -0.003880, 0.006998> + 23144: <-0.002758, -0.003565, 0.007270> + 23145: <-0.002787, -0.003195, 0.007412> + 23146: <-0.003162, -0.003162, 0.007290> + 23147: <-0.003127, -0.003526, 0.007152> + 23148: <-0.002787, -0.003195, 0.007412> + 23149: <-0.002816, -0.002816, 0.007538> + 23150: <-0.003195, -0.002787, 0.007412> + 23151: <-0.003162, -0.003162, 0.007290> + 23152: <-0.002816, -0.002816, 0.007538> + 23153: <-0.002843, -0.002429, 0.007648> + 23154: <-0.003227, -0.002405, 0.007519> + 23155: <-0.003195, -0.002787, 0.007412> + 23156: <-0.002843, -0.002429, 0.007648> + 23157: <-0.002868, -0.002035, 0.007740> + 23158: <-0.003255, -0.002015, 0.007610> + 23159: <-0.003227, -0.002405, 0.007519> + 23160: <-0.002868, -0.002035, 0.007740> + 23161: <-0.002890, -0.001635, 0.007817> + 23162: <-0.003281, -0.001619, 0.007684> + 23163: <-0.003255, -0.002015, 0.007610> + 23164: <-0.002890, -0.001635, 0.007817> + 23165: <-0.002908, -0.001230, 0.007876> + 23166: <-0.003302, -0.001219, 0.007743> + 23167: <-0.003281, -0.001619, 0.007684> + 23168: <-0.002908, -0.001230, 0.007876> + 23169: <-0.002922, -0.000822, 0.007919> + 23170: <-0.003318, -0.000814, 0.007785> + 23171: <-0.003302, -0.001219, 0.007743> + 23172: <-0.002922, -0.000822, 0.007919> + 23173: <-0.002931, -0.000412, 0.007945> + 23174: <-0.003328, -0.000408, 0.007810> + 23175: <-0.003318, -0.000814, 0.007785> + 23176: <-0.002931, -0.000412, 0.007945> + 23177: <-0.002934, 0.000000, 0.007953> + 23178: <-0.003331, 0.000000, 0.007818> + 23179: <-0.003328, -0.000408, 0.007810> + 23180: <-0.002934, 0.000000, 0.007953> + 23181: <-0.002931, 0.000412, 0.007945> + 23182: <-0.003328, 0.000408, 0.007810> + 23183: <-0.003331, 0.000000, 0.007818> + 23184: <-0.002931, 0.000412, 0.007945> + 23185: <-0.002922, 0.000822, 0.007919> + 23186: <-0.003318, 0.000814, 0.007785> + 23187: <-0.003328, 0.000408, 0.007810> + 23188: <-0.002922, 0.000822, 0.007919> + 23189: <-0.002908, 0.001230, 0.007876> + 23190: <-0.003302, 0.001219, 0.007743> + 23191: <-0.003318, 0.000814, 0.007785> + 23192: <-0.002908, 0.001230, 0.007876> + 23193: <-0.002890, 0.001635, 0.007817> + 23194: <-0.003281, 0.001619, 0.007684> + 23195: <-0.003302, 0.001219, 0.007743> + 23196: <-0.002890, 0.001635, 0.007817> + 23197: <-0.002868, 0.002035, 0.007740> + 23198: <-0.003255, 0.002015, 0.007610> + 23199: <-0.003281, 0.001619, 0.007684> + 23200: <-0.002868, 0.002035, 0.007740> + 23201: <-0.002843, 0.002429, 0.007648> + 23202: <-0.003227, 0.002405, 0.007519> + 23203: <-0.003255, 0.002015, 0.007610> + 23204: <-0.002843, 0.002429, 0.007648> + 23205: <-0.002816, 0.002816, 0.007538> + 23206: <-0.003195, 0.002787, 0.007412> + 23207: <-0.003227, 0.002405, 0.007519> + 23208: <-0.002816, 0.002816, 0.007538> + 23209: <-0.002787, 0.003195, 0.007412> + 23210: <-0.003162, 0.003162, 0.007290> + 23211: <-0.003195, 0.002787, 0.007412> + 23212: <-0.002787, 0.003195, 0.007412> + 23213: <-0.002758, 0.003565, 0.007270> + 23214: <-0.003127, 0.003526, 0.007152> + 23215: <-0.003162, 0.003162, 0.007290> + 23216: <-0.002758, 0.003565, 0.007270> + 23217: <-0.002729, 0.003924, 0.007112> + 23218: <-0.003093, 0.003880, 0.006998> + 23219: <-0.003127, 0.003526, 0.007152> + 23220: <-0.002729, 0.003924, 0.007112> + 23221: <-0.002701, 0.004273, 0.006937> + 23222: <-0.003060, 0.004223, 0.006828> + 23223: <-0.003093, 0.003880, 0.006998> + 23224: <-0.002701, 0.004273, 0.006937> + 23225: <-0.002676, 0.004609, 0.006745> + 23226: <-0.003030, 0.004553, 0.006641> + 23227: <-0.003060, 0.004223, 0.006828> + 23228: <-0.002676, 0.004609, 0.006745> + 23229: <-0.002655, 0.004931, 0.006537> + 23230: <-0.003004, 0.004870, 0.006439> + 23231: <-0.003030, 0.004553, 0.006641> + 23232: <-0.002655, 0.004931, 0.006537> + 23233: <-0.002638, 0.005240, 0.006311> + 23234: <-0.002984, 0.005172, 0.006219> + 23235: <-0.003004, 0.004870, 0.006439> + 23236: <-0.002638, 0.005240, 0.006311> + 23237: <-0.002627, 0.005533, 0.006069> + 23238: <-0.002971, 0.005459, 0.005983> + 23239: <-0.002984, 0.005172, 0.006219> + 23240: <-0.002971, -0.005459, 0.005983> + 23241: <-0.002984, -0.005172, 0.006219> + 23242: <-0.003318, -0.005099, 0.006117> + 23243: <-0.003302, -0.005379, 0.005888> + 23244: <-0.002984, -0.005172, 0.006219> + 23245: <-0.003004, -0.004870, 0.006439> + 23246: <-0.003342, -0.004804, 0.006329> + 23247: <-0.003318, -0.005099, 0.006117> + 23248: <-0.003004, -0.004870, 0.006439> + 23249: <-0.003030, -0.004553, 0.006641> + 23250: <-0.003372, -0.004494, 0.006525> + 23251: <-0.003342, -0.004804, 0.006329> + 23252: <-0.003030, -0.004553, 0.006641> + 23253: <-0.003060, -0.004223, 0.006828> + 23254: <-0.003407, -0.004170, 0.006705> + 23255: <-0.003372, -0.004494, 0.006525> + 23256: <-0.003060, -0.004223, 0.006828> + 23257: <-0.003093, -0.003880, 0.006998> + 23258: <-0.003446, -0.003834, 0.006870> + 23259: <-0.003407, -0.004170, 0.006705> + 23260: <-0.003093, -0.003880, 0.006998> + 23261: <-0.003127, -0.003526, 0.007152> + 23262: <-0.003486, -0.003486, 0.007018> + 23263: <-0.003446, -0.003834, 0.006870> + 23264: <-0.003127, -0.003526, 0.007152> + 23265: <-0.003162, -0.003162, 0.007290> + 23266: <-0.003526, -0.003127, 0.007152> + 23267: <-0.003486, -0.003486, 0.007018> + 23268: <-0.003162, -0.003162, 0.007290> + 23269: <-0.003195, -0.002787, 0.007412> + 23270: <-0.003565, -0.002758, 0.007270> + 23271: <-0.003526, -0.003127, 0.007152> + 23272: <-0.003195, -0.002787, 0.007412> + 23273: <-0.003227, -0.002405, 0.007519> + 23274: <-0.003601, -0.002380, 0.007374> + 23275: <-0.003565, -0.002758, 0.007270> + 23276: <-0.003227, -0.002405, 0.007519> + 23277: <-0.003255, -0.002015, 0.007610> + 23278: <-0.003634, -0.001995, 0.007462> + 23279: <-0.003601, -0.002380, 0.007374> + 23280: <-0.003255, -0.002015, 0.007610> + 23281: <-0.003281, -0.001619, 0.007684> + 23282: <-0.003663, -0.001603, 0.007535> + 23283: <-0.003634, -0.001995, 0.007462> + 23284: <-0.003281, -0.001619, 0.007684> + 23285: <-0.003302, -0.001219, 0.007743> + 23286: <-0.003686, -0.001207, 0.007591> + 23287: <-0.003663, -0.001603, 0.007535> + 23288: <-0.003302, -0.001219, 0.007743> + 23289: <-0.003318, -0.000814, 0.007785> + 23290: <-0.003704, -0.000807, 0.007632> + 23291: <-0.003686, -0.001207, 0.007591> + 23292: <-0.003318, -0.000814, 0.007785> + 23293: <-0.003328, -0.000408, 0.007810> + 23294: <-0.003716, -0.000404, 0.007657> + 23295: <-0.003704, -0.000807, 0.007632> + 23296: <-0.003328, -0.000408, 0.007810> + 23297: <-0.003331, 0.000000, 0.007818> + 23298: <-0.003720, 0.000000, 0.007665> + 23299: <-0.003716, -0.000404, 0.007657> + 23300: <-0.003331, 0.000000, 0.007818> + 23301: <-0.003328, 0.000408, 0.007810> + 23302: <-0.003716, 0.000404, 0.007657> + 23303: <-0.003720, 0.000000, 0.007665> + 23304: <-0.003328, 0.000408, 0.007810> + 23305: <-0.003318, 0.000814, 0.007785> + 23306: <-0.003704, 0.000807, 0.007632> + 23307: <-0.003716, 0.000404, 0.007657> + 23308: <-0.003318, 0.000814, 0.007785> + 23309: <-0.003302, 0.001219, 0.007743> + 23310: <-0.003686, 0.001207, 0.007591> + 23311: <-0.003704, 0.000807, 0.007632> + 23312: <-0.003302, 0.001219, 0.007743> + 23313: <-0.003281, 0.001619, 0.007684> + 23314: <-0.003663, 0.001603, 0.007535> + 23315: <-0.003686, 0.001207, 0.007591> + 23316: <-0.003281, 0.001619, 0.007684> + 23317: <-0.003255, 0.002015, 0.007610> + 23318: <-0.003634, 0.001995, 0.007462> + 23319: <-0.003663, 0.001603, 0.007535> + 23320: <-0.003255, 0.002015, 0.007610> + 23321: <-0.003227, 0.002405, 0.007519> + 23322: <-0.003601, 0.002380, 0.007374> + 23323: <-0.003634, 0.001995, 0.007462> + 23324: <-0.003227, 0.002405, 0.007519> + 23325: <-0.003195, 0.002787, 0.007412> + 23326: <-0.003565, 0.002758, 0.007270> + 23327: <-0.003601, 0.002380, 0.007374> + 23328: <-0.003195, 0.002787, 0.007412> + 23329: <-0.003162, 0.003162, 0.007290> + 23330: <-0.003526, 0.003127, 0.007152> + 23331: <-0.003565, 0.002758, 0.007270> + 23332: <-0.003162, 0.003162, 0.007290> + 23333: <-0.003127, 0.003526, 0.007152> + 23334: <-0.003486, 0.003486, 0.007018> + 23335: <-0.003526, 0.003127, 0.007152> + 23336: <-0.003127, 0.003526, 0.007152> + 23337: <-0.003093, 0.003880, 0.006998> + 23338: <-0.003446, 0.003834, 0.006870> + 23339: <-0.003486, 0.003486, 0.007018> + 23340: <-0.003093, 0.003880, 0.006998> + 23341: <-0.003060, 0.004223, 0.006828> + 23342: <-0.003407, 0.004170, 0.006705> + 23343: <-0.003446, 0.003834, 0.006870> + 23344: <-0.003060, 0.004223, 0.006828> + 23345: <-0.003030, 0.004553, 0.006641> + 23346: <-0.003372, 0.004494, 0.006525> + 23347: <-0.003407, 0.004170, 0.006705> + 23348: <-0.003030, 0.004553, 0.006641> + 23349: <-0.003004, 0.004870, 0.006439> + 23350: <-0.003342, 0.004804, 0.006329> + 23351: <-0.003372, 0.004494, 0.006525> + 23352: <-0.003004, 0.004870, 0.006439> + 23353: <-0.002984, 0.005172, 0.006219> + 23354: <-0.003318, 0.005099, 0.006117> + 23355: <-0.003342, 0.004804, 0.006329> + 23356: <-0.002984, 0.005172, 0.006219> + 23357: <-0.002971, 0.005459, 0.005983> + 23358: <-0.003302, 0.005379, 0.005888> + 23359: <-0.003318, 0.005099, 0.006117> + 23360: <-0.003302, -0.005379, 0.005888> + 23361: <-0.003318, -0.005099, 0.006117> + 23362: <-0.003637, -0.005023, 0.006006> + 23363: <-0.003619, -0.005294, 0.005786> + 23364: <-0.003318, -0.005099, 0.006117> + 23365: <-0.003342, -0.004804, 0.006329> + 23366: <-0.003666, -0.004736, 0.006210> + 23367: <-0.003637, -0.005023, 0.006006> + 23368: <-0.003342, -0.004804, 0.006329> + 23369: <-0.003372, -0.004494, 0.006525> + 23370: <-0.003701, -0.004434, 0.006397> + 23371: <-0.003666, -0.004736, 0.006210> + 23372: <-0.003372, -0.004494, 0.006525> + 23373: <-0.003407, -0.004170, 0.006705> + 23374: <-0.003743, -0.004117, 0.006570> + 23375: <-0.003701, -0.004434, 0.006397> + 23376: <-0.003407, -0.004170, 0.006705> + 23377: <-0.003446, -0.003834, 0.006870> + 23378: <-0.003788, -0.003788, 0.006727> + 23379: <-0.003743, -0.004117, 0.006570> + 23380: <-0.003446, -0.003834, 0.006870> + 23381: <-0.003486, -0.003486, 0.007018> + 23382: <-0.003834, -0.003446, 0.006870> + 23383: <-0.003788, -0.003788, 0.006727> + 23384: <-0.003486, -0.003486, 0.007018> + 23385: <-0.003526, -0.003127, 0.007152> + 23386: <-0.003880, -0.003093, 0.006998> + 23387: <-0.003834, -0.003446, 0.006870> + 23388: <-0.003526, -0.003127, 0.007152> + 23389: <-0.003565, -0.002758, 0.007270> + 23390: <-0.003924, -0.002729, 0.007112> + 23391: <-0.003880, -0.003093, 0.006998> + 23392: <-0.003565, -0.002758, 0.007270> + 23393: <-0.003601, -0.002380, 0.007374> + 23394: <-0.003965, -0.002356, 0.007212> + 23395: <-0.003924, -0.002729, 0.007112> + 23396: <-0.003601, -0.002380, 0.007374> + 23397: <-0.003634, -0.001995, 0.007462> + 23398: <-0.004002, -0.001975, 0.007297> + 23399: <-0.003965, -0.002356, 0.007212> + 23400: <-0.003634, -0.001995, 0.007462> + 23401: <-0.003663, -0.001603, 0.007535> + 23402: <-0.004034, -0.001588, 0.007367> + 23403: <-0.004002, -0.001975, 0.007297> + 23404: <-0.003663, -0.001603, 0.007535> + 23405: <-0.003686, -0.001207, 0.007591> + 23406: <-0.004061, -0.001196, 0.007423> + 23407: <-0.004034, -0.001588, 0.007367> + 23408: <-0.003686, -0.001207, 0.007591> + 23409: <-0.003704, -0.000807, 0.007632> + 23410: <-0.004081, -0.000799, 0.007462> + 23411: <-0.004061, -0.001196, 0.007423> + 23412: <-0.003704, -0.000807, 0.007632> + 23413: <-0.003716, -0.000404, 0.007657> + 23414: <-0.004093, -0.000400, 0.007487> + 23415: <-0.004081, -0.000799, 0.007462> + 23416: <-0.003716, -0.000404, 0.007657> + 23417: <-0.003720, 0.000000, 0.007665> + 23418: <-0.004098, 0.000000, 0.007495> + 23419: <-0.004093, -0.000400, 0.007487> + 23420: <-0.003720, 0.000000, 0.007665> + 23421: <-0.003716, 0.000404, 0.007657> + 23422: <-0.004093, 0.000400, 0.007487> + 23423: <-0.004098, 0.000000, 0.007495> + 23424: <-0.003716, 0.000404, 0.007657> + 23425: <-0.003704, 0.000807, 0.007632> + 23426: <-0.004081, 0.000799, 0.007462> + 23427: <-0.004093, 0.000400, 0.007487> + 23428: <-0.003704, 0.000807, 0.007632> + 23429: <-0.003686, 0.001207, 0.007591> + 23430: <-0.004061, 0.001196, 0.007423> + 23431: <-0.004081, 0.000799, 0.007462> + 23432: <-0.003686, 0.001207, 0.007591> + 23433: <-0.003663, 0.001603, 0.007535> + 23434: <-0.004034, 0.001588, 0.007367> + 23435: <-0.004061, 0.001196, 0.007423> + 23436: <-0.003663, 0.001603, 0.007535> + 23437: <-0.003634, 0.001995, 0.007462> + 23438: <-0.004002, 0.001975, 0.007297> + 23439: <-0.004034, 0.001588, 0.007367> + 23440: <-0.003634, 0.001995, 0.007462> + 23441: <-0.003601, 0.002380, 0.007374> + 23442: <-0.003965, 0.002356, 0.007212> + 23443: <-0.004002, 0.001975, 0.007297> + 23444: <-0.003601, 0.002380, 0.007374> + 23445: <-0.003565, 0.002758, 0.007270> + 23446: <-0.003924, 0.002729, 0.007112> + 23447: <-0.003965, 0.002356, 0.007212> + 23448: <-0.003565, 0.002758, 0.007270> + 23449: <-0.003526, 0.003127, 0.007152> + 23450: <-0.003880, 0.003093, 0.006998> + 23451: <-0.003924, 0.002729, 0.007112> + 23452: <-0.003526, 0.003127, 0.007152> + 23453: <-0.003486, 0.003486, 0.007018> + 23454: <-0.003834, 0.003446, 0.006870> + 23455: <-0.003880, 0.003093, 0.006998> + 23456: <-0.003486, 0.003486, 0.007018> + 23457: <-0.003446, 0.003834, 0.006870> + 23458: <-0.003788, 0.003788, 0.006727> + 23459: <-0.003834, 0.003446, 0.006870> + 23460: <-0.003446, 0.003834, 0.006870> + 23461: <-0.003407, 0.004170, 0.006705> + 23462: <-0.003743, 0.004117, 0.006570> + 23463: <-0.003788, 0.003788, 0.006727> + 23464: <-0.003407, 0.004170, 0.006705> + 23465: <-0.003372, 0.004494, 0.006525> + 23466: <-0.003701, 0.004434, 0.006397> + 23467: <-0.003743, 0.004117, 0.006570> + 23468: <-0.003372, 0.004494, 0.006525> + 23469: <-0.003342, 0.004804, 0.006329> + 23470: <-0.003666, 0.004736, 0.006210> + 23471: <-0.003701, 0.004434, 0.006397> + 23472: <-0.003342, 0.004804, 0.006329> + 23473: <-0.003318, 0.005099, 0.006117> + 23474: <-0.003637, 0.005023, 0.006006> + 23475: <-0.003666, 0.004736, 0.006210> + 23476: <-0.003318, 0.005099, 0.006117> + 23477: <-0.003302, 0.005379, 0.005888> + 23478: <-0.003619, 0.005294, 0.005786> + 23479: <-0.003637, 0.005023, 0.006006> + 23480: <-0.003619, -0.005294, 0.005786> + 23481: <-0.003637, -0.005023, 0.006006> + 23482: <-0.003941, -0.004946, 0.005887> + 23483: <-0.003918, -0.005207, 0.005678> + 23484: <-0.003637, -0.005023, 0.006006> + 23485: <-0.003666, -0.004736, 0.006210> + 23486: <-0.003975, -0.004668, 0.006080> + 23487: <-0.003941, -0.004946, 0.005887> + 23488: <-0.003666, -0.004736, 0.006210> + 23489: <-0.003701, -0.004434, 0.006397> + 23490: <-0.004017, -0.004374, 0.006257> + 23491: <-0.003975, -0.004668, 0.006080> + 23492: <-0.003701, -0.004434, 0.006397> + 23493: <-0.003743, -0.004117, 0.006570> + 23494: <-0.004065, -0.004065, 0.006421> + 23495: <-0.004017, -0.004374, 0.006257> + 23496: <-0.003743, -0.004117, 0.006570> + 23497: <-0.003788, -0.003788, 0.006727> + 23498: <-0.004117, -0.003743, 0.006570> + 23499: <-0.004065, -0.004065, 0.006421> + 23500: <-0.003788, -0.003788, 0.006727> + 23501: <-0.003834, -0.003446, 0.006870> + 23502: <-0.004170, -0.003407, 0.006705> + 23503: <-0.004117, -0.003743, 0.006570> + 23504: <-0.003834, -0.003446, 0.006870> + 23505: <-0.003880, -0.003093, 0.006998> + 23506: <-0.004223, -0.003060, 0.006828> + 23507: <-0.004170, -0.003407, 0.006705> + 23508: <-0.003880, -0.003093, 0.006998> + 23509: <-0.003924, -0.002729, 0.007112> + 23510: <-0.004273, -0.002701, 0.006937> + 23511: <-0.004223, -0.003060, 0.006828> + 23512: <-0.003924, -0.002729, 0.007112> + 23513: <-0.003965, -0.002356, 0.007212> + 23514: <-0.004318, -0.002333, 0.007033> + 23515: <-0.004273, -0.002701, 0.006937> + 23516: <-0.003965, -0.002356, 0.007212> + 23517: <-0.004002, -0.001975, 0.007297> + 23518: <-0.004360, -0.001957, 0.007115> + 23519: <-0.004318, -0.002333, 0.007033> + 23520: <-0.004002, -0.001975, 0.007297> + 23521: <-0.004034, -0.001588, 0.007367> + 23522: <-0.004395, -0.001574, 0.007183> + 23523: <-0.004360, -0.001957, 0.007115> + 23524: <-0.004034, -0.001588, 0.007367> + 23525: <-0.004061, -0.001196, 0.007423> + 23526: <-0.004424, -0.001185, 0.007236> + 23527: <-0.004395, -0.001574, 0.007183> + 23528: <-0.004061, -0.001196, 0.007423> + 23529: <-0.004081, -0.000799, 0.007462> + 23530: <-0.004446, -0.000792, 0.007275> + 23531: <-0.004424, -0.001185, 0.007236> + 23532: <-0.004081, -0.000799, 0.007462> + 23533: <-0.004093, -0.000400, 0.007487> + 23534: <-0.004460, -0.000397, 0.007298> + 23535: <-0.004446, -0.000792, 0.007275> + 23536: <-0.004093, -0.000400, 0.007487> + 23537: <-0.004098, 0.000000, 0.007495> + 23538: <-0.004465, 0.000000, 0.007306> + 23539: <-0.004460, -0.000397, 0.007298> + 23540: <-0.004098, 0.000000, 0.007495> + 23541: <-0.004093, 0.000400, 0.007487> + 23542: <-0.004460, 0.000397, 0.007298> + 23543: <-0.004465, 0.000000, 0.007306> + 23544: <-0.004093, 0.000400, 0.007487> + 23545: <-0.004081, 0.000799, 0.007462> + 23546: <-0.004446, 0.000792, 0.007275> + 23547: <-0.004460, 0.000397, 0.007298> + 23548: <-0.004081, 0.000799, 0.007462> + 23549: <-0.004061, 0.001196, 0.007423> + 23550: <-0.004424, 0.001185, 0.007236> + 23551: <-0.004446, 0.000792, 0.007275> + 23552: <-0.004061, 0.001196, 0.007423> + 23553: <-0.004034, 0.001588, 0.007367> + 23554: <-0.004395, 0.001574, 0.007183> + 23555: <-0.004424, 0.001185, 0.007236> + 23556: <-0.004034, 0.001588, 0.007367> + 23557: <-0.004002, 0.001975, 0.007297> + 23558: <-0.004360, 0.001957, 0.007115> + 23559: <-0.004395, 0.001574, 0.007183> + 23560: <-0.004002, 0.001975, 0.007297> + 23561: <-0.003965, 0.002356, 0.007212> + 23562: <-0.004318, 0.002333, 0.007033> + 23563: <-0.004360, 0.001957, 0.007115> + 23564: <-0.003965, 0.002356, 0.007212> + 23565: <-0.003924, 0.002729, 0.007112> + 23566: <-0.004273, 0.002701, 0.006937> + 23567: <-0.004318, 0.002333, 0.007033> + 23568: <-0.003924, 0.002729, 0.007112> + 23569: <-0.003880, 0.003093, 0.006998> + 23570: <-0.004223, 0.003060, 0.006828> + 23571: <-0.004273, 0.002701, 0.006937> + 23572: <-0.003880, 0.003093, 0.006998> + 23573: <-0.003834, 0.003446, 0.006870> + 23574: <-0.004170, 0.003407, 0.006705> + 23575: <-0.004223, 0.003060, 0.006828> + 23576: <-0.003834, 0.003446, 0.006870> + 23577: <-0.003788, 0.003788, 0.006727> + 23578: <-0.004117, 0.003743, 0.006570> + 23579: <-0.004170, 0.003407, 0.006705> + 23580: <-0.003788, 0.003788, 0.006727> + 23581: <-0.003743, 0.004117, 0.006570> + 23582: <-0.004065, 0.004065, 0.006421> + 23583: <-0.004117, 0.003743, 0.006570> + 23584: <-0.003743, 0.004117, 0.006570> + 23585: <-0.003701, 0.004434, 0.006397> + 23586: <-0.004017, 0.004374, 0.006257> + 23587: <-0.004065, 0.004065, 0.006421> + 23588: <-0.003701, 0.004434, 0.006397> + 23589: <-0.003666, 0.004736, 0.006210> + 23590: <-0.003975, 0.004668, 0.006080> + 23591: <-0.004017, 0.004374, 0.006257> + 23592: <-0.003666, 0.004736, 0.006210> + 23593: <-0.003637, 0.005023, 0.006006> + 23594: <-0.003941, 0.004946, 0.005887> + 23595: <-0.003975, 0.004668, 0.006080> + 23596: <-0.003637, 0.005023, 0.006006> + 23597: <-0.003619, 0.005294, 0.005786> + 23598: <-0.003918, 0.005207, 0.005678> + 23599: <-0.003941, 0.004946, 0.005887> + 23600: <-0.003918, -0.005207, 0.005678> + 23601: <-0.003941, -0.004946, 0.005887> + 23602: <-0.004226, -0.004870, 0.005760> + 23603: <-0.004199, -0.005120, 0.005564> + 23604: <-0.003941, -0.004946, 0.005887> + 23605: <-0.003975, -0.004668, 0.006080> + 23606: <-0.004267, -0.004602, 0.005939> + 23607: <-0.004226, -0.004870, 0.005760> + 23608: <-0.003975, -0.004668, 0.006080> + 23609: <-0.004017, -0.004374, 0.006257> + 23610: <-0.004318, -0.004318, 0.006105> + 23611: <-0.004267, -0.004602, 0.005939> + 23612: <-0.004017, -0.004374, 0.006257> + 23613: <-0.004065, -0.004065, 0.006421> + 23614: <-0.004374, -0.004017, 0.006257> + 23615: <-0.004318, -0.004318, 0.006105> + 23616: <-0.004065, -0.004065, 0.006421> + 23617: <-0.004117, -0.003743, 0.006570> + 23618: <-0.004434, -0.003701, 0.006397> + 23619: <-0.004374, -0.004017, 0.006257> + 23620: <-0.004117, -0.003743, 0.006570> + 23621: <-0.004170, -0.003407, 0.006705> + 23622: <-0.004494, -0.003372, 0.006525> + 23623: <-0.004434, -0.003701, 0.006397> + 23624: <-0.004170, -0.003407, 0.006705> + 23625: <-0.004223, -0.003060, 0.006828> + 23626: <-0.004553, -0.003030, 0.006641> + 23627: <-0.004494, -0.003372, 0.006525> + 23628: <-0.004223, -0.003060, 0.006828> + 23629: <-0.004273, -0.002701, 0.006937> + 23630: <-0.004609, -0.002676, 0.006745> + 23631: <-0.004553, -0.003030, 0.006641> + 23632: <-0.004273, -0.002701, 0.006937> + 23633: <-0.004318, -0.002333, 0.007033> + 23634: <-0.004659, -0.002313, 0.006836> + 23635: <-0.004609, -0.002676, 0.006745> + 23636: <-0.004318, -0.002333, 0.007033> + 23637: <-0.004360, -0.001957, 0.007115> + 23638: <-0.004705, -0.001940, 0.006915> + 23639: <-0.004659, -0.002313, 0.006836> + 23640: <-0.004360, -0.001957, 0.007115> + 23641: <-0.004395, -0.001574, 0.007183> + 23642: <-0.004744, -0.001561, 0.006980> + 23643: <-0.004705, -0.001940, 0.006915> + 23644: <-0.004395, -0.001574, 0.007183> + 23645: <-0.004424, -0.001185, 0.007236> + 23646: <-0.004776, -0.001176, 0.007032> + 23647: <-0.004744, -0.001561, 0.006980> + 23648: <-0.004424, -0.001185, 0.007236> + 23649: <-0.004446, -0.000792, 0.007275> + 23650: <-0.004800, -0.000786, 0.007069> + 23651: <-0.004776, -0.001176, 0.007032> + 23652: <-0.004446, -0.000792, 0.007275> + 23653: <-0.004460, -0.000397, 0.007298> + 23654: <-0.004815, -0.000394, 0.007092> + 23655: <-0.004800, -0.000786, 0.007069> + 23656: <-0.004460, -0.000397, 0.007298> + 23657: <-0.004465, 0.000000, 0.007306> + 23658: <-0.004820, 0.000000, 0.007099> + 23659: <-0.004815, -0.000394, 0.007092> + 23660: <-0.004465, 0.000000, 0.007306> + 23661: <-0.004460, 0.000397, 0.007298> + 23662: <-0.004815, 0.000394, 0.007092> + 23663: <-0.004820, 0.000000, 0.007099> + 23664: <-0.004460, 0.000397, 0.007298> + 23665: <-0.004446, 0.000792, 0.007275> + 23666: <-0.004800, 0.000786, 0.007069> + 23667: <-0.004815, 0.000394, 0.007092> + 23668: <-0.004446, 0.000792, 0.007275> + 23669: <-0.004424, 0.001185, 0.007236> + 23670: <-0.004776, 0.001176, 0.007032> + 23671: <-0.004800, 0.000786, 0.007069> + 23672: <-0.004424, 0.001185, 0.007236> + 23673: <-0.004395, 0.001574, 0.007183> + 23674: <-0.004744, 0.001561, 0.006980> + 23675: <-0.004776, 0.001176, 0.007032> + 23676: <-0.004395, 0.001574, 0.007183> + 23677: <-0.004360, 0.001957, 0.007115> + 23678: <-0.004705, 0.001940, 0.006915> + 23679: <-0.004744, 0.001561, 0.006980> + 23680: <-0.004360, 0.001957, 0.007115> + 23681: <-0.004318, 0.002333, 0.007033> + 23682: <-0.004659, 0.002313, 0.006836> + 23683: <-0.004705, 0.001940, 0.006915> + 23684: <-0.004318, 0.002333, 0.007033> + 23685: <-0.004273, 0.002701, 0.006937> + 23686: <-0.004609, 0.002676, 0.006745> + 23687: <-0.004659, 0.002313, 0.006836> + 23688: <-0.004273, 0.002701, 0.006937> + 23689: <-0.004223, 0.003060, 0.006828> + 23690: <-0.004553, 0.003030, 0.006641> + 23691: <-0.004609, 0.002676, 0.006745> + 23692: <-0.004223, 0.003060, 0.006828> + 23693: <-0.004170, 0.003407, 0.006705> + 23694: <-0.004494, 0.003372, 0.006525> + 23695: <-0.004553, 0.003030, 0.006641> + 23696: <-0.004170, 0.003407, 0.006705> + 23697: <-0.004117, 0.003743, 0.006570> + 23698: <-0.004434, 0.003701, 0.006397> + 23699: <-0.004494, 0.003372, 0.006525> + 23700: <-0.004117, 0.003743, 0.006570> + 23701: <-0.004065, 0.004065, 0.006421> + 23702: <-0.004374, 0.004017, 0.006257> + 23703: <-0.004434, 0.003701, 0.006397> + 23704: <-0.004065, 0.004065, 0.006421> + 23705: <-0.004017, 0.004374, 0.006257> + 23706: <-0.004318, 0.004318, 0.006105> + 23707: <-0.004374, 0.004017, 0.006257> + 23708: <-0.004017, 0.004374, 0.006257> + 23709: <-0.003975, 0.004668, 0.006080> + 23710: <-0.004267, 0.004602, 0.005939> + 23711: <-0.004318, 0.004318, 0.006105> + 23712: <-0.003975, 0.004668, 0.006080> + 23713: <-0.003941, 0.004946, 0.005887> + 23714: <-0.004226, 0.004870, 0.005760> + 23715: <-0.004267, 0.004602, 0.005939> + 23716: <-0.003941, 0.004946, 0.005887> + 23717: <-0.003918, 0.005207, 0.005678> + 23718: <-0.004199, 0.005120, 0.005564> + 23719: <-0.004226, 0.004870, 0.005760> + 23720: <-0.004199, -0.005120, 0.005564> + 23721: <-0.004226, -0.004870, 0.005760> + 23722: <-0.004494, -0.004798, 0.005623> + 23723: <-0.004460, -0.005034, 0.005446> + 23724: <-0.004226, -0.004870, 0.005760> + 23725: <-0.004267, -0.004602, 0.005939> + 23726: <-0.004542, -0.004542, 0.005788> + 23727: <-0.004494, -0.004798, 0.005623> + 23728: <-0.004267, -0.004602, 0.005939> + 23729: <-0.004318, -0.004318, 0.006105> + 23730: <-0.004602, -0.004267, 0.005939> + 23731: <-0.004542, -0.004542, 0.005788> + 23732: <-0.004318, -0.004318, 0.006105> + 23733: <-0.004374, -0.004017, 0.006257> + 23734: <-0.004668, -0.003975, 0.006080> + 23735: <-0.004602, -0.004267, 0.005939> + 23736: <-0.004374, -0.004017, 0.006257> + 23737: <-0.004434, -0.003701, 0.006397> + 23738: <-0.004736, -0.003666, 0.006210> + 23739: <-0.004668, -0.003975, 0.006080> + 23740: <-0.004434, -0.003701, 0.006397> + 23741: <-0.004494, -0.003372, 0.006525> + 23742: <-0.004804, -0.003342, 0.006329> + 23743: <-0.004736, -0.003666, 0.006210> + 23744: <-0.004494, -0.003372, 0.006525> + 23745: <-0.004553, -0.003030, 0.006641> + 23746: <-0.004870, -0.003004, 0.006439> + 23747: <-0.004804, -0.003342, 0.006329> + 23748: <-0.004553, -0.003030, 0.006641> + 23749: <-0.004609, -0.002676, 0.006745> + 23750: <-0.004931, -0.002655, 0.006537> + 23751: <-0.004870, -0.003004, 0.006439> + 23752: <-0.004609, -0.002676, 0.006745> + 23753: <-0.004659, -0.002313, 0.006836> + 23754: <-0.004987, -0.002295, 0.006623> + 23755: <-0.004931, -0.002655, 0.006537> + 23756: <-0.004659, -0.002313, 0.006836> + 23757: <-0.004705, -0.001940, 0.006915> + 23758: <-0.005037, -0.001926, 0.006698> + 23759: <-0.004987, -0.002295, 0.006623> + 23760: <-0.004705, -0.001940, 0.006915> + 23761: <-0.004744, -0.001561, 0.006980> + 23762: <-0.005080, -0.001550, 0.006761> + 23763: <-0.005037, -0.001926, 0.006698> + 23764: <-0.004744, -0.001561, 0.006980> + 23765: <-0.004776, -0.001176, 0.007032> + 23766: <-0.005114, -0.001168, 0.006810> + 23767: <-0.005080, -0.001550, 0.006761> + 23768: <-0.004776, -0.001176, 0.007032> + 23769: <-0.004800, -0.000786, 0.007069> + 23770: <-0.005140, -0.000781, 0.006846> + 23771: <-0.005114, -0.001168, 0.006810> + 23772: <-0.004800, -0.000786, 0.007069> + 23773: <-0.004815, -0.000394, 0.007092> + 23774: <-0.005156, -0.000391, 0.006868> + 23775: <-0.005140, -0.000781, 0.006846> + 23776: <-0.004815, -0.000394, 0.007092> + 23777: <-0.004820, 0.000000, 0.007099> + 23778: <-0.005162, 0.000000, 0.006875> + 23779: <-0.005156, -0.000391, 0.006868> + 23780: <-0.004820, 0.000000, 0.007099> + 23781: <-0.004815, 0.000394, 0.007092> + 23782: <-0.005156, 0.000391, 0.006868> + 23783: <-0.005162, 0.000000, 0.006875> + 23784: <-0.004815, 0.000394, 0.007092> + 23785: <-0.004800, 0.000786, 0.007069> + 23786: <-0.005140, 0.000781, 0.006846> + 23787: <-0.005156, 0.000391, 0.006868> + 23788: <-0.004800, 0.000786, 0.007069> + 23789: <-0.004776, 0.001176, 0.007032> + 23790: <-0.005114, 0.001168, 0.006810> + 23791: <-0.005140, 0.000781, 0.006846> + 23792: <-0.004776, 0.001176, 0.007032> + 23793: <-0.004744, 0.001561, 0.006980> + 23794: <-0.005080, 0.001550, 0.006761> + 23795: <-0.005114, 0.001168, 0.006810> + 23796: <-0.004744, 0.001561, 0.006980> + 23797: <-0.004705, 0.001940, 0.006915> + 23798: <-0.005037, 0.001926, 0.006698> + 23799: <-0.005080, 0.001550, 0.006761> + 23800: <-0.004705, 0.001940, 0.006915> + 23801: <-0.004659, 0.002313, 0.006836> + 23802: <-0.004987, 0.002295, 0.006623> + 23803: <-0.005037, 0.001926, 0.006698> + 23804: <-0.004659, 0.002313, 0.006836> + 23805: <-0.004609, 0.002676, 0.006745> + 23806: <-0.004931, 0.002655, 0.006537> + 23807: <-0.004987, 0.002295, 0.006623> + 23808: <-0.004609, 0.002676, 0.006745> + 23809: <-0.004553, 0.003030, 0.006641> + 23810: <-0.004870, 0.003004, 0.006439> + 23811: <-0.004931, 0.002655, 0.006537> + 23812: <-0.004553, 0.003030, 0.006641> + 23813: <-0.004494, 0.003372, 0.006525> + 23814: <-0.004804, 0.003342, 0.006329> + 23815: <-0.004870, 0.003004, 0.006439> + 23816: <-0.004494, 0.003372, 0.006525> + 23817: <-0.004434, 0.003701, 0.006397> + 23818: <-0.004736, 0.003666, 0.006210> + 23819: <-0.004804, 0.003342, 0.006329> + 23820: <-0.004434, 0.003701, 0.006397> + 23821: <-0.004374, 0.004017, 0.006257> + 23822: <-0.004668, 0.003975, 0.006080> + 23823: <-0.004736, 0.003666, 0.006210> + 23824: <-0.004374, 0.004017, 0.006257> + 23825: <-0.004318, 0.004318, 0.006105> + 23826: <-0.004602, 0.004267, 0.005939> + 23827: <-0.004668, 0.003975, 0.006080> + 23828: <-0.004318, 0.004318, 0.006105> + 23829: <-0.004267, 0.004602, 0.005939> + 23830: <-0.004542, 0.004542, 0.005788> + 23831: <-0.004602, 0.004267, 0.005939> + 23832: <-0.004267, 0.004602, 0.005939> + 23833: <-0.004226, 0.004870, 0.005760> + 23834: <-0.004494, 0.004798, 0.005623> + 23835: <-0.004542, 0.004542, 0.005788> + 23836: <-0.004226, 0.004870, 0.005760> + 23837: <-0.004199, 0.005120, 0.005564> + 23838: <-0.004460, 0.005034, 0.005446> + 23839: <-0.004494, 0.004798, 0.005623> + 23840: <-0.004460, -0.005034, 0.005446> + 23841: <-0.004494, -0.004798, 0.005623> + 23842: <-0.004738, -0.004738, 0.005479> + 23843: <-0.004691, -0.004959, 0.005326> + 23844: <-0.004494, -0.004798, 0.005623> + 23845: <-0.004542, -0.004542, 0.005788> + 23846: <-0.004798, -0.004494, 0.005623> + 23847: <-0.004738, -0.004738, 0.005479> + 23848: <-0.004542, -0.004542, 0.005788> + 23849: <-0.004602, -0.004267, 0.005939> + 23850: <-0.004870, -0.004226, 0.005760> + 23851: <-0.004798, -0.004494, 0.005623> + 23852: <-0.004602, -0.004267, 0.005939> + 23853: <-0.004668, -0.003975, 0.006080> + 23854: <-0.004946, -0.003941, 0.005887> + 23855: <-0.004870, -0.004226, 0.005760> + 23856: <-0.004668, -0.003975, 0.006080> + 23857: <-0.004736, -0.003666, 0.006210> + 23858: <-0.005023, -0.003637, 0.006006> + 23859: <-0.004946, -0.003941, 0.005887> + 23860: <-0.004736, -0.003666, 0.006210> + 23861: <-0.004804, -0.003342, 0.006329> + 23862: <-0.005099, -0.003318, 0.006117> + 23863: <-0.005023, -0.003637, 0.006006> + 23864: <-0.004804, -0.003342, 0.006329> + 23865: <-0.004870, -0.003004, 0.006439> + 23866: <-0.005172, -0.002984, 0.006219> + 23867: <-0.005099, -0.003318, 0.006117> + 23868: <-0.004870, -0.003004, 0.006439> + 23869: <-0.004931, -0.002655, 0.006537> + 23870: <-0.005240, -0.002638, 0.006311> + 23871: <-0.005172, -0.002984, 0.006219> + 23872: <-0.004931, -0.002655, 0.006537> + 23873: <-0.004987, -0.002295, 0.006623> + 23874: <-0.005301, -0.002281, 0.006393> + 23875: <-0.005240, -0.002638, 0.006311> + 23876: <-0.004987, -0.002295, 0.006623> + 23877: <-0.005037, -0.001926, 0.006698> + 23878: <-0.005355, -0.001915, 0.006464> + 23879: <-0.005301, -0.002281, 0.006393> + 23880: <-0.005037, -0.001926, 0.006698> + 23881: <-0.005080, -0.001550, 0.006761> + 23882: <-0.005401, -0.001541, 0.006523> + 23883: <-0.005355, -0.001915, 0.006464> + 23884: <-0.005080, -0.001550, 0.006761> + 23885: <-0.005114, -0.001168, 0.006810> + 23886: <-0.005438, -0.001161, 0.006570> + 23887: <-0.005401, -0.001541, 0.006523> + 23888: <-0.005114, -0.001168, 0.006810> + 23889: <-0.005140, -0.000781, 0.006846> + 23890: <-0.005466, -0.000777, 0.006605> + 23891: <-0.005438, -0.001161, 0.006570> + 23892: <-0.005140, -0.000781, 0.006846> + 23893: <-0.005156, -0.000391, 0.006868> + 23894: <-0.005483, -0.000389, 0.006626> + 23895: <-0.005466, -0.000777, 0.006605> + 23896: <-0.005156, -0.000391, 0.006868> + 23897: <-0.005162, 0.000000, 0.006875> + 23898: <-0.005489, 0.000000, 0.006633> + 23899: <-0.005483, -0.000389, 0.006626> + 23900: <-0.005162, 0.000000, 0.006875> + 23901: <-0.005156, 0.000391, 0.006868> + 23902: <-0.005483, 0.000389, 0.006626> + 23903: <-0.005489, 0.000000, 0.006633> + 23904: <-0.005156, 0.000391, 0.006868> + 23905: <-0.005140, 0.000781, 0.006846> + 23906: <-0.005466, 0.000777, 0.006605> + 23907: <-0.005483, 0.000389, 0.006626> + 23908: <-0.005140, 0.000781, 0.006846> + 23909: <-0.005114, 0.001168, 0.006810> + 23910: <-0.005438, 0.001161, 0.006570> + 23911: <-0.005466, 0.000777, 0.006605> + 23912: <-0.005114, 0.001168, 0.006810> + 23913: <-0.005080, 0.001550, 0.006761> + 23914: <-0.005401, 0.001541, 0.006523> + 23915: <-0.005438, 0.001161, 0.006570> + 23916: <-0.005080, 0.001550, 0.006761> + 23917: <-0.005037, 0.001926, 0.006698> + 23918: <-0.005355, 0.001915, 0.006464> + 23919: <-0.005401, 0.001541, 0.006523> + 23920: <-0.005037, 0.001926, 0.006698> + 23921: <-0.004987, 0.002295, 0.006623> + 23922: <-0.005301, 0.002281, 0.006393> + 23923: <-0.005355, 0.001915, 0.006464> + 23924: <-0.004987, 0.002295, 0.006623> + 23925: <-0.004931, 0.002655, 0.006537> + 23926: <-0.005240, 0.002638, 0.006311> + 23927: <-0.005301, 0.002281, 0.006393> + 23928: <-0.004931, 0.002655, 0.006537> + 23929: <-0.004870, 0.003004, 0.006439> + 23930: <-0.005172, 0.002984, 0.006219> + 23931: <-0.005240, 0.002638, 0.006311> + 23932: <-0.004870, 0.003004, 0.006439> + 23933: <-0.004804, 0.003342, 0.006329> + 23934: <-0.005099, 0.003318, 0.006117> + 23935: <-0.005172, 0.002984, 0.006219> + 23936: <-0.004804, 0.003342, 0.006329> + 23937: <-0.004736, 0.003666, 0.006210> + 23938: <-0.005023, 0.003637, 0.006006> + 23939: <-0.005099, 0.003318, 0.006117> + 23940: <-0.004736, 0.003666, 0.006210> + 23941: <-0.004668, 0.003975, 0.006080> + 23942: <-0.004946, 0.003941, 0.005887> + 23943: <-0.005023, 0.003637, 0.006006> + 23944: <-0.004668, 0.003975, 0.006080> + 23945: <-0.004602, 0.004267, 0.005939> + 23946: <-0.004870, 0.004226, 0.005760> + 23947: <-0.004946, 0.003941, 0.005887> + 23948: <-0.004602, 0.004267, 0.005939> + 23949: <-0.004542, 0.004542, 0.005788> + 23950: <-0.004798, 0.004494, 0.005623> + 23951: <-0.004870, 0.004226, 0.005760> + 23952: <-0.004542, 0.004542, 0.005788> + 23953: <-0.004494, 0.004798, 0.005623> + 23954: <-0.004738, 0.004738, 0.005479> + 23955: <-0.004798, 0.004494, 0.005623> + 23956: <-0.004494, 0.004798, 0.005623> + 23957: <-0.004460, 0.005034, 0.005446> + 23958: <-0.004691, 0.004959, 0.005326> + 23959: <-0.004738, 0.004738, 0.005479> + 23960: <-0.004691, -0.004959, 0.005326> + 23961: <-0.004738, -0.004738, 0.005479> + 23962: <-0.004959, -0.004691, 0.005326> + 23963: <-0.004894, -0.004894, 0.005206> + 23964: <-0.004738, -0.004738, 0.005479> + 23965: <-0.004798, -0.004494, 0.005623> + 23966: <-0.005034, -0.004460, 0.005446> + 23967: <-0.004959, -0.004691, 0.005326> + 23968: <-0.004798, -0.004494, 0.005623> + 23969: <-0.004870, -0.004226, 0.005760> + 23970: <-0.005120, -0.004199, 0.005564> + 23971: <-0.005034, -0.004460, 0.005446> + 23972: <-0.004870, -0.004226, 0.005760> + 23973: <-0.004946, -0.003941, 0.005887> + 23974: <-0.005207, -0.003918, 0.005678> + 23975: <-0.005120, -0.004199, 0.005564> + 23976: <-0.004946, -0.003941, 0.005887> + 23977: <-0.005023, -0.003637, 0.006006> + 23978: <-0.005294, -0.003619, 0.005786> + 23979: <-0.005207, -0.003918, 0.005678> + 23980: <-0.005023, -0.003637, 0.006006> + 23981: <-0.005099, -0.003318, 0.006117> + 23982: <-0.005379, -0.003302, 0.005888> + 23983: <-0.005294, -0.003619, 0.005786> + 23984: <-0.005099, -0.003318, 0.006117> + 23985: <-0.005172, -0.002984, 0.006219> + 23986: <-0.005459, -0.002971, 0.005983> + 23987: <-0.005379, -0.003302, 0.005888> + 23988: <-0.005172, -0.002984, 0.006219> + 23989: <-0.005240, -0.002638, 0.006311> + 23990: <-0.005533, -0.002627, 0.006069> + 23991: <-0.005459, -0.002971, 0.005983> + 23992: <-0.005240, -0.002638, 0.006311> + 23993: <-0.005301, -0.002281, 0.006393> + 23994: <-0.005599, -0.002272, 0.006146> + 23995: <-0.005533, -0.002627, 0.006069> + 23996: <-0.005301, -0.002281, 0.006393> + 23997: <-0.005355, -0.001915, 0.006464> + 23998: <-0.005657, -0.001908, 0.006212> + 23999: <-0.005599, -0.002272, 0.006146> + 24000: <-0.005355, -0.001915, 0.006464> + 24001: <-0.005401, -0.001541, 0.006523> + 24002: <-0.005707, -0.001536, 0.006269> + 24003: <-0.005657, -0.001908, 0.006212> + 24004: <-0.005401, -0.001541, 0.006523> + 24005: <-0.005438, -0.001161, 0.006570> + 24006: <-0.005747, -0.001157, 0.006313> + 24007: <-0.005707, -0.001536, 0.006269> + 24008: <-0.005438, -0.001161, 0.006570> + 24009: <-0.005466, -0.000777, 0.006605> + 24010: <-0.005776, -0.000774, 0.006346> + 24011: <-0.005747, -0.001157, 0.006313> + 24012: <-0.005466, -0.000777, 0.006605> + 24013: <-0.005483, -0.000389, 0.006626> + 24014: <-0.005794, -0.000388, 0.006366> + 24015: <-0.005776, -0.000774, 0.006346> + 24016: <-0.005483, -0.000389, 0.006626> + 24017: <-0.005489, 0.000000, 0.006633> + 24018: <-0.005801, 0.000000, 0.006373> + 24019: <-0.005794, -0.000388, 0.006366> + 24020: <-0.005489, 0.000000, 0.006633> + 24021: <-0.005483, 0.000389, 0.006626> + 24022: <-0.005794, 0.000388, 0.006366> + 24023: <-0.005801, 0.000000, 0.006373> + 24024: <-0.005483, 0.000389, 0.006626> + 24025: <-0.005466, 0.000777, 0.006605> + 24026: <-0.005776, 0.000774, 0.006346> + 24027: <-0.005794, 0.000388, 0.006366> + 24028: <-0.005466, 0.000777, 0.006605> + 24029: <-0.005438, 0.001161, 0.006570> + 24030: <-0.005747, 0.001157, 0.006313> + 24031: <-0.005776, 0.000774, 0.006346> + 24032: <-0.005438, 0.001161, 0.006570> + 24033: <-0.005401, 0.001541, 0.006523> + 24034: <-0.005707, 0.001536, 0.006269> + 24035: <-0.005747, 0.001157, 0.006313> + 24036: <-0.005401, 0.001541, 0.006523> + 24037: <-0.005355, 0.001915, 0.006464> + 24038: <-0.005657, 0.001908, 0.006212> + 24039: <-0.005707, 0.001536, 0.006269> + 24040: <-0.005355, 0.001915, 0.006464> + 24041: <-0.005301, 0.002281, 0.006393> + 24042: <-0.005599, 0.002272, 0.006146> + 24043: <-0.005657, 0.001908, 0.006212> + 24044: <-0.005301, 0.002281, 0.006393> + 24045: <-0.005240, 0.002638, 0.006311> + 24046: <-0.005533, 0.002627, 0.006069> + 24047: <-0.005599, 0.002272, 0.006146> + 24048: <-0.005240, 0.002638, 0.006311> + 24049: <-0.005172, 0.002984, 0.006219> + 24050: <-0.005459, 0.002971, 0.005983> + 24051: <-0.005533, 0.002627, 0.006069> + 24052: <-0.005172, 0.002984, 0.006219> + 24053: <-0.005099, 0.003318, 0.006117> + 24054: <-0.005379, 0.003302, 0.005888> + 24055: <-0.005459, 0.002971, 0.005983> + 24056: <-0.005099, 0.003318, 0.006117> + 24057: <-0.005023, 0.003637, 0.006006> + 24058: <-0.005294, 0.003619, 0.005786> + 24059: <-0.005379, 0.003302, 0.005888> + 24060: <-0.005023, 0.003637, 0.006006> + 24061: <-0.004946, 0.003941, 0.005887> + 24062: <-0.005207, 0.003918, 0.005678> + 24063: <-0.005294, 0.003619, 0.005786> + 24064: <-0.004946, 0.003941, 0.005887> + 24065: <-0.004870, 0.004226, 0.005760> + 24066: <-0.005120, 0.004199, 0.005564> + 24067: <-0.005207, 0.003918, 0.005678> + 24068: <-0.004870, 0.004226, 0.005760> + 24069: <-0.004798, 0.004494, 0.005623> + 24070: <-0.005034, 0.004460, 0.005446> + 24071: <-0.005120, 0.004199, 0.005564> + 24072: <-0.004798, 0.004494, 0.005623> + 24073: <-0.004738, 0.004738, 0.005479> + 24074: <-0.004959, 0.004691, 0.005326> + 24075: <-0.005034, 0.004460, 0.005446> + 24076: <-0.004738, 0.004738, 0.005479> + 24077: <-0.004691, 0.004959, 0.005326> + 24078: <-0.004894, 0.004894, 0.005206> + 24079: <-0.004959, 0.004691, 0.005326> + 24080: < 0.005000, -0.005000, 0.005000> + 24081: < 0.005081, -0.004833, 0.005081> + 24082: < 0.004894, -0.004894, 0.005206> + 24083: < 0.004833, -0.005081, 0.005081> + 24084: < 0.005081, -0.004833, 0.005081> + 24085: < 0.005166, -0.004647, 0.005166> + 24086: < 0.004959, -0.004691, 0.005326> + 24087: < 0.004894, -0.004894, 0.005206> + 24088: < 0.005166, -0.004647, 0.005166> + 24089: < 0.005255, -0.004436, 0.005255> + 24090: < 0.005034, -0.004460, 0.005446> + 24091: < 0.004959, -0.004691, 0.005326> + 24092: < 0.005255, -0.004436, 0.005255> + 24093: < 0.005351, -0.004188, 0.005351> + 24094: < 0.005120, -0.004199, 0.005564> + 24095: < 0.005034, -0.004460, 0.005446> + 24096: < 0.005351, -0.004188, 0.005351> + 24097: < 0.005451, -0.003910, 0.005451> + 24098: < 0.005207, -0.003918, 0.005678> + 24099: < 0.005120, -0.004199, 0.005564> + 24100: < 0.005451, -0.003910, 0.005451> + 24101: < 0.005549, -0.003612, 0.005549> + 24102: < 0.005294, -0.003619, 0.005786> + 24103: < 0.005207, -0.003918, 0.005678> + 24104: < 0.005549, -0.003612, 0.005549> + 24105: < 0.005642, -0.003297, 0.005642> + 24106: < 0.005379, -0.003302, 0.005888> + 24107: < 0.005294, -0.003619, 0.005786> + 24108: < 0.005642, -0.003297, 0.005642> + 24109: < 0.005729, -0.002966, 0.005729> + 24110: < 0.005459, -0.002971, 0.005983> + 24111: < 0.005379, -0.003302, 0.005888> + 24112: < 0.005729, -0.002966, 0.005729> + 24113: < 0.005809, -0.002623, 0.005809> + 24114: < 0.005533, -0.002627, 0.006069> + 24115: < 0.005459, -0.002971, 0.005983> + 24116: < 0.005809, -0.002623, 0.005809> + 24117: < 0.005881, -0.002269, 0.005881> + 24118: < 0.005599, -0.002272, 0.006146> + 24119: < 0.005533, -0.002627, 0.006069> + 24120: < 0.005881, -0.002269, 0.005881> + 24121: < 0.005944, -0.001906, 0.005944> + 24122: < 0.005657, -0.001908, 0.006212> + 24123: < 0.005599, -0.002272, 0.006146> + 24124: < 0.005944, -0.001906, 0.005944> + 24125: < 0.005996, -0.001534, 0.005996> + 24126: < 0.005707, -0.001536, 0.006269> + 24127: < 0.005657, -0.001908, 0.006212> + 24128: < 0.005996, -0.001534, 0.005996> + 24129: < 0.006039, -0.001156, 0.006039> + 24130: < 0.005747, -0.001157, 0.006313> + 24131: < 0.005707, -0.001536, 0.006269> + 24132: < 0.006039, -0.001156, 0.006039> + 24133: < 0.006070, -0.000773, 0.006070> + 24134: < 0.005776, -0.000774, 0.006346> + 24135: < 0.005747, -0.001157, 0.006313> + 24136: < 0.006070, -0.000773, 0.006070> + 24137: < 0.006089, -0.000387, 0.006089> + 24138: < 0.005794, -0.000388, 0.006366> + 24139: < 0.005776, -0.000774, 0.006346> + 24140: < 0.006089, -0.000387, 0.006089> + 24141: < 0.006096, -0.000000, 0.006096> + 24142: < 0.005801, -0.000000, 0.006373> + 24143: < 0.005794, -0.000388, 0.006366> + 24144: < 0.006096, -0.000000, 0.006096> + 24145: < 0.006089, 0.000387, 0.006089> + 24146: < 0.005794, 0.000388, 0.006366> + 24147: < 0.005801, -0.000000, 0.006373> + 24148: < 0.006089, 0.000387, 0.006089> + 24149: < 0.006070, 0.000773, 0.006070> + 24150: < 0.005776, 0.000774, 0.006346> + 24151: < 0.005794, 0.000388, 0.006366> + 24152: < 0.006070, 0.000773, 0.006070> + 24153: < 0.006039, 0.001156, 0.006039> + 24154: < 0.005747, 0.001157, 0.006313> + 24155: < 0.005776, 0.000774, 0.006346> + 24156: < 0.006039, 0.001156, 0.006039> + 24157: < 0.005996, 0.001534, 0.005996> + 24158: < 0.005707, 0.001536, 0.006269> + 24159: < 0.005747, 0.001157, 0.006313> + 24160: < 0.005996, 0.001534, 0.005996> + 24161: < 0.005944, 0.001906, 0.005944> + 24162: < 0.005657, 0.001908, 0.006212> + 24163: < 0.005707, 0.001536, 0.006269> + 24164: < 0.005944, 0.001906, 0.005944> + 24165: < 0.005881, 0.002269, 0.005881> + 24166: < 0.005599, 0.002272, 0.006146> + 24167: < 0.005657, 0.001908, 0.006212> + 24168: < 0.005881, 0.002269, 0.005881> + 24169: < 0.005809, 0.002623, 0.005809> + 24170: < 0.005533, 0.002627, 0.006069> + 24171: < 0.005599, 0.002272, 0.006146> + 24172: < 0.005809, 0.002623, 0.005809> + 24173: < 0.005729, 0.002966, 0.005729> + 24174: < 0.005459, 0.002971, 0.005983> + 24175: < 0.005533, 0.002627, 0.006069> + 24176: < 0.005729, 0.002966, 0.005729> + 24177: < 0.005642, 0.003297, 0.005642> + 24178: < 0.005379, 0.003302, 0.005888> + 24179: < 0.005459, 0.002971, 0.005983> + 24180: < 0.005642, 0.003297, 0.005642> + 24181: < 0.005549, 0.003612, 0.005549> + 24182: < 0.005294, 0.003619, 0.005786> + 24183: < 0.005379, 0.003302, 0.005888> + 24184: < 0.005549, 0.003612, 0.005549> + 24185: < 0.005451, 0.003910, 0.005451> + 24186: < 0.005207, 0.003918, 0.005678> + 24187: < 0.005294, 0.003619, 0.005786> + 24188: < 0.005451, 0.003910, 0.005451> + 24189: < 0.005351, 0.004188, 0.005351> + 24190: < 0.005120, 0.004199, 0.005564> + 24191: < 0.005207, 0.003918, 0.005678> + 24192: < 0.005351, 0.004188, 0.005351> + 24193: < 0.005255, 0.004436, 0.005255> + 24194: < 0.005034, 0.004460, 0.005446> + 24195: < 0.005120, 0.004199, 0.005564> + 24196: < 0.005255, 0.004436, 0.005255> + 24197: < 0.005166, 0.004647, 0.005166> + 24198: < 0.004959, 0.004691, 0.005326> + 24199: < 0.005034, 0.004460, 0.005446> + 24200: < 0.005166, 0.004647, 0.005166> + 24201: < 0.005081, 0.004833, 0.005081> + 24202: < 0.004894, 0.004894, 0.005206> + 24203: < 0.004959, 0.004691, 0.005326> + 24204: < 0.005081, 0.004833, 0.005081> + 24205: < 0.005000, 0.005000, 0.005000> + 24206: < 0.004833, 0.005081, 0.005081> + 24207: < 0.004894, 0.004894, 0.005206> + 24208: < 0.004894, 0.004894, 0.005206> + 24209: < 0.004833, 0.005081, 0.005081> + 24210: < 0.004647, 0.005166, 0.005166> + 24211: < 0.004691, 0.004959, 0.005326> + 24212: < 0.004691, 0.004959, 0.005326> + 24213: < 0.004647, 0.005166, 0.005166> + 24214: < 0.004436, 0.005255, 0.005255> + 24215: < 0.004460, 0.005034, 0.005446> + 24216: < 0.004460, 0.005034, 0.005446> + 24217: < 0.004436, 0.005255, 0.005255> + 24218: < 0.004188, 0.005351, 0.005351> + 24219: < 0.004199, 0.005120, 0.005564> + 24220: < 0.004199, 0.005120, 0.005564> + 24221: < 0.004188, 0.005351, 0.005351> + 24222: < 0.003910, 0.005451, 0.005451> + 24223: < 0.003918, 0.005207, 0.005678> + 24224: < 0.003918, 0.005207, 0.005678> + 24225: < 0.003910, 0.005451, 0.005451> + 24226: < 0.003612, 0.005549, 0.005549> + 24227: < 0.003619, 0.005294, 0.005786> + 24228: < 0.003619, 0.005294, 0.005786> + 24229: < 0.003612, 0.005549, 0.005549> + 24230: < 0.003297, 0.005642, 0.005642> + 24231: < 0.003302, 0.005379, 0.005888> + 24232: < 0.003302, 0.005379, 0.005888> + 24233: < 0.003297, 0.005642, 0.005642> + 24234: < 0.002966, 0.005729, 0.005729> + 24235: < 0.002971, 0.005459, 0.005983> + 24236: < 0.002971, 0.005459, 0.005983> + 24237: < 0.002966, 0.005729, 0.005729> + 24238: < 0.002623, 0.005809, 0.005809> + 24239: < 0.002627, 0.005533, 0.006069> + 24240: < 0.002627, 0.005533, 0.006069> + 24241: < 0.002623, 0.005809, 0.005809> + 24242: < 0.002269, 0.005881, 0.005881> + 24243: < 0.002272, 0.005599, 0.006146> + 24244: < 0.002272, 0.005599, 0.006146> + 24245: < 0.002269, 0.005881, 0.005881> + 24246: < 0.001906, 0.005944, 0.005944> + 24247: < 0.001908, 0.005657, 0.006212> + 24248: < 0.001908, 0.005657, 0.006212> + 24249: < 0.001906, 0.005944, 0.005944> + 24250: < 0.001534, 0.005996, 0.005996> + 24251: < 0.001536, 0.005707, 0.006269> + 24252: < 0.001536, 0.005707, 0.006269> + 24253: < 0.001534, 0.005996, 0.005996> + 24254: < 0.001156, 0.006039, 0.006039> + 24255: < 0.001157, 0.005747, 0.006313> + 24256: < 0.001157, 0.005747, 0.006313> + 24257: < 0.001156, 0.006039, 0.006039> + 24258: < 0.000773, 0.006070, 0.006070> + 24259: < 0.000774, 0.005776, 0.006346> + 24260: < 0.000774, 0.005776, 0.006346> + 24261: < 0.000773, 0.006070, 0.006070> + 24262: < 0.000387, 0.006089, 0.006089> + 24263: < 0.000388, 0.005794, 0.006366> + 24264: < 0.000388, 0.005794, 0.006366> + 24265: < 0.000387, 0.006089, 0.006089> + 24266: <-0.000000, 0.006096, 0.006096> + 24267: < 0.000000, 0.005801, 0.006373> + 24268: < 0.000000, 0.005801, 0.006373> + 24269: <-0.000000, 0.006096, 0.006096> + 24270: <-0.000387, 0.006089, 0.006089> + 24271: <-0.000388, 0.005794, 0.006366> + 24272: <-0.000388, 0.005794, 0.006366> + 24273: <-0.000387, 0.006089, 0.006089> + 24274: <-0.000773, 0.006070, 0.006070> + 24275: <-0.000774, 0.005776, 0.006346> + 24276: <-0.000774, 0.005776, 0.006346> + 24277: <-0.000773, 0.006070, 0.006070> + 24278: <-0.001156, 0.006039, 0.006039> + 24279: <-0.001157, 0.005747, 0.006313> + 24280: <-0.001157, 0.005747, 0.006313> + 24281: <-0.001156, 0.006039, 0.006039> + 24282: <-0.001534, 0.005996, 0.005996> + 24283: <-0.001536, 0.005707, 0.006269> + 24284: <-0.001536, 0.005707, 0.006269> + 24285: <-0.001534, 0.005996, 0.005996> + 24286: <-0.001906, 0.005944, 0.005944> + 24287: <-0.001908, 0.005657, 0.006212> + 24288: <-0.001908, 0.005657, 0.006212> + 24289: <-0.001906, 0.005944, 0.005944> + 24290: <-0.002269, 0.005881, 0.005881> + 24291: <-0.002272, 0.005599, 0.006146> + 24292: <-0.002272, 0.005599, 0.006146> + 24293: <-0.002269, 0.005881, 0.005881> + 24294: <-0.002623, 0.005809, 0.005809> + 24295: <-0.002627, 0.005533, 0.006069> + 24296: <-0.002627, 0.005533, 0.006069> + 24297: <-0.002623, 0.005809, 0.005809> + 24298: <-0.002966, 0.005729, 0.005729> + 24299: <-0.002971, 0.005459, 0.005983> + 24300: <-0.002971, 0.005459, 0.005983> + 24301: <-0.002966, 0.005729, 0.005729> + 24302: <-0.003297, 0.005642, 0.005642> + 24303: <-0.003302, 0.005379, 0.005888> + 24304: <-0.003302, 0.005379, 0.005888> + 24305: <-0.003297, 0.005642, 0.005642> + 24306: <-0.003612, 0.005549, 0.005549> + 24307: <-0.003619, 0.005294, 0.005786> + 24308: <-0.003619, 0.005294, 0.005786> + 24309: <-0.003612, 0.005549, 0.005549> + 24310: <-0.003910, 0.005451, 0.005451> + 24311: <-0.003918, 0.005207, 0.005678> + 24312: <-0.003918, 0.005207, 0.005678> + 24313: <-0.003910, 0.005451, 0.005451> + 24314: <-0.004188, 0.005351, 0.005351> + 24315: <-0.004199, 0.005120, 0.005564> + 24316: <-0.004199, 0.005120, 0.005564> + 24317: <-0.004188, 0.005351, 0.005351> + 24318: <-0.004436, 0.005255, 0.005255> + 24319: <-0.004460, 0.005034, 0.005446> + 24320: <-0.004460, 0.005034, 0.005446> + 24321: <-0.004436, 0.005255, 0.005255> + 24322: <-0.004647, 0.005166, 0.005166> + 24323: <-0.004691, 0.004959, 0.005326> + 24324: <-0.004691, 0.004959, 0.005326> + 24325: <-0.004647, 0.005166, 0.005166> + 24326: <-0.004833, 0.005081, 0.005081> + 24327: <-0.004894, 0.004894, 0.005206> + 24328: <-0.004894, 0.004894, 0.005206> + 24329: <-0.004833, 0.005081, 0.005081> + 24330: <-0.005000, 0.005000, 0.005000> + 24331: <-0.005081, 0.004833, 0.005081> + 24332: <-0.004959, 0.004691, 0.005326> + 24333: <-0.004894, 0.004894, 0.005206> + 24334: <-0.005081, 0.004833, 0.005081> + 24335: <-0.005166, 0.004647, 0.005166> + 24336: <-0.005034, 0.004460, 0.005446> + 24337: <-0.004959, 0.004691, 0.005326> + 24338: <-0.005166, 0.004647, 0.005166> + 24339: <-0.005255, 0.004436, 0.005255> + 24340: <-0.005120, 0.004199, 0.005564> + 24341: <-0.005034, 0.004460, 0.005446> + 24342: <-0.005255, 0.004436, 0.005255> + 24343: <-0.005351, 0.004188, 0.005351> + 24344: <-0.005207, 0.003918, 0.005678> + 24345: <-0.005120, 0.004199, 0.005564> + 24346: <-0.005351, 0.004188, 0.005351> + 24347: <-0.005451, 0.003910, 0.005451> + 24348: <-0.005294, 0.003619, 0.005786> + 24349: <-0.005207, 0.003918, 0.005678> + 24350: <-0.005451, 0.003910, 0.005451> + 24351: <-0.005549, 0.003612, 0.005549> + 24352: <-0.005379, 0.003302, 0.005888> + 24353: <-0.005294, 0.003619, 0.005786> + 24354: <-0.005549, 0.003612, 0.005549> + 24355: <-0.005642, 0.003297, 0.005642> + 24356: <-0.005459, 0.002971, 0.005983> + 24357: <-0.005379, 0.003302, 0.005888> + 24358: <-0.005642, 0.003297, 0.005642> + 24359: <-0.005729, 0.002966, 0.005729> + 24360: <-0.005533, 0.002627, 0.006069> + 24361: <-0.005459, 0.002971, 0.005983> + 24362: <-0.005729, 0.002966, 0.005729> + 24363: <-0.005809, 0.002623, 0.005809> + 24364: <-0.005599, 0.002272, 0.006146> + 24365: <-0.005533, 0.002627, 0.006069> + 24366: <-0.005809, 0.002623, 0.005809> + 24367: <-0.005881, 0.002269, 0.005881> + 24368: <-0.005657, 0.001908, 0.006212> + 24369: <-0.005599, 0.002272, 0.006146> + 24370: <-0.005881, 0.002269, 0.005881> + 24371: <-0.005944, 0.001906, 0.005944> + 24372: <-0.005707, 0.001536, 0.006269> + 24373: <-0.005657, 0.001908, 0.006212> + 24374: <-0.005944, 0.001906, 0.005944> + 24375: <-0.005996, 0.001534, 0.005996> + 24376: <-0.005747, 0.001157, 0.006313> + 24377: <-0.005707, 0.001536, 0.006269> + 24378: <-0.005996, 0.001534, 0.005996> + 24379: <-0.006039, 0.001156, 0.006039> + 24380: <-0.005776, 0.000774, 0.006346> + 24381: <-0.005747, 0.001157, 0.006313> + 24382: <-0.006039, 0.001156, 0.006039> + 24383: <-0.006070, 0.000773, 0.006070> + 24384: <-0.005794, 0.000388, 0.006366> + 24385: <-0.005776, 0.000774, 0.006346> + 24386: <-0.006070, 0.000773, 0.006070> + 24387: <-0.006089, 0.000387, 0.006089> + 24388: <-0.005801, 0.000000, 0.006373> + 24389: <-0.005794, 0.000388, 0.006366> + 24390: <-0.006089, 0.000387, 0.006089> + 24391: <-0.006096, 0.000000, 0.006096> + 24392: <-0.005794, -0.000388, 0.006366> + 24393: <-0.005801, 0.000000, 0.006373> + 24394: <-0.006096, 0.000000, 0.006096> + 24395: <-0.006089, -0.000387, 0.006089> + 24396: <-0.005776, -0.000774, 0.006346> + 24397: <-0.005794, -0.000388, 0.006366> + 24398: <-0.006089, -0.000387, 0.006089> + 24399: <-0.006070, -0.000773, 0.006070> + 24400: <-0.005747, -0.001157, 0.006313> + 24401: <-0.005776, -0.000774, 0.006346> + 24402: <-0.006070, -0.000773, 0.006070> + 24403: <-0.006039, -0.001156, 0.006039> + 24404: <-0.005707, -0.001536, 0.006269> + 24405: <-0.005747, -0.001157, 0.006313> + 24406: <-0.006039, -0.001156, 0.006039> + 24407: <-0.005996, -0.001534, 0.005996> + 24408: <-0.005657, -0.001908, 0.006212> + 24409: <-0.005707, -0.001536, 0.006269> + 24410: <-0.005996, -0.001534, 0.005996> + 24411: <-0.005944, -0.001906, 0.005944> + 24412: <-0.005599, -0.002272, 0.006146> + 24413: <-0.005657, -0.001908, 0.006212> + 24414: <-0.005944, -0.001906, 0.005944> + 24415: <-0.005881, -0.002269, 0.005881> + 24416: <-0.005533, -0.002627, 0.006069> + 24417: <-0.005599, -0.002272, 0.006146> + 24418: <-0.005881, -0.002269, 0.005881> + 24419: <-0.005809, -0.002623, 0.005809> + 24420: <-0.005459, -0.002971, 0.005983> + 24421: <-0.005533, -0.002627, 0.006069> + 24422: <-0.005809, -0.002623, 0.005809> + 24423: <-0.005729, -0.002966, 0.005729> + 24424: <-0.005379, -0.003302, 0.005888> + 24425: <-0.005459, -0.002971, 0.005983> + 24426: <-0.005729, -0.002966, 0.005729> + 24427: <-0.005642, -0.003297, 0.005642> + 24428: <-0.005294, -0.003619, 0.005786> + 24429: <-0.005379, -0.003302, 0.005888> + 24430: <-0.005642, -0.003297, 0.005642> + 24431: <-0.005549, -0.003612, 0.005549> + 24432: <-0.005207, -0.003918, 0.005678> + 24433: <-0.005294, -0.003619, 0.005786> + 24434: <-0.005549, -0.003612, 0.005549> + 24435: <-0.005451, -0.003910, 0.005451> + 24436: <-0.005120, -0.004199, 0.005564> + 24437: <-0.005207, -0.003918, 0.005678> + 24438: <-0.005451, -0.003910, 0.005451> + 24439: <-0.005351, -0.004188, 0.005351> + 24440: <-0.005034, -0.004460, 0.005446> + 24441: <-0.005120, -0.004199, 0.005564> + 24442: <-0.005351, -0.004188, 0.005351> + 24443: <-0.005255, -0.004436, 0.005255> + 24444: <-0.004959, -0.004691, 0.005326> + 24445: <-0.005034, -0.004460, 0.005446> + 24446: <-0.005255, -0.004436, 0.005255> + 24447: <-0.005166, -0.004647, 0.005166> + 24448: <-0.004894, -0.004894, 0.005206> + 24449: <-0.004959, -0.004691, 0.005326> + 24450: <-0.005166, -0.004647, 0.005166> + 24451: <-0.005081, -0.004833, 0.005081> + 24452: <-0.004833, -0.005081, 0.005081> + 24453: <-0.004894, -0.004894, 0.005206> + 24454: <-0.005081, -0.004833, 0.005081> + 24455: <-0.005000, -0.005000, 0.005000> + 24456: <-0.004647, -0.005166, 0.005166> + 24457: <-0.004691, -0.004959, 0.005326> + 24458: <-0.004894, -0.004894, 0.005206> + 24459: <-0.004833, -0.005081, 0.005081> + 24460: <-0.004436, -0.005255, 0.005255> + 24461: <-0.004460, -0.005034, 0.005446> + 24462: <-0.004691, -0.004959, 0.005326> + 24463: <-0.004647, -0.005166, 0.005166> + 24464: <-0.004188, -0.005351, 0.005351> + 24465: <-0.004199, -0.005120, 0.005564> + 24466: <-0.004460, -0.005034, 0.005446> + 24467: <-0.004436, -0.005255, 0.005255> + 24468: <-0.003910, -0.005451, 0.005451> + 24469: <-0.003918, -0.005207, 0.005678> + 24470: <-0.004199, -0.005120, 0.005564> + 24471: <-0.004188, -0.005351, 0.005351> + 24472: <-0.003612, -0.005549, 0.005549> + 24473: <-0.003619, -0.005294, 0.005786> + 24474: <-0.003918, -0.005207, 0.005678> + 24475: <-0.003910, -0.005451, 0.005451> + 24476: <-0.003297, -0.005642, 0.005642> + 24477: <-0.003302, -0.005379, 0.005888> + 24478: <-0.003619, -0.005294, 0.005786> + 24479: <-0.003612, -0.005549, 0.005549> + 24480: <-0.002966, -0.005729, 0.005729> + 24481: <-0.002971, -0.005459, 0.005983> + 24482: <-0.003302, -0.005379, 0.005888> + 24483: <-0.003297, -0.005642, 0.005642> + 24484: <-0.002623, -0.005809, 0.005809> + 24485: <-0.002627, -0.005533, 0.006069> + 24486: <-0.002971, -0.005459, 0.005983> + 24487: <-0.002966, -0.005729, 0.005729> + 24488: <-0.002269, -0.005881, 0.005881> + 24489: <-0.002272, -0.005599, 0.006146> + 24490: <-0.002627, -0.005533, 0.006069> + 24491: <-0.002623, -0.005809, 0.005809> + 24492: <-0.001906, -0.005944, 0.005944> + 24493: <-0.001908, -0.005657, 0.006212> + 24494: <-0.002272, -0.005599, 0.006146> + 24495: <-0.002269, -0.005881, 0.005881> + 24496: <-0.001534, -0.005996, 0.005996> + 24497: <-0.001536, -0.005707, 0.006269> + 24498: <-0.001908, -0.005657, 0.006212> + 24499: <-0.001906, -0.005944, 0.005944> + 24500: <-0.001156, -0.006039, 0.006039> + 24501: <-0.001157, -0.005747, 0.006313> + 24502: <-0.001536, -0.005707, 0.006269> + 24503: <-0.001534, -0.005996, 0.005996> + 24504: <-0.000773, -0.006070, 0.006070> + 24505: <-0.000774, -0.005776, 0.006346> + 24506: <-0.001157, -0.005747, 0.006313> + 24507: <-0.001156, -0.006039, 0.006039> + 24508: <-0.000387, -0.006089, 0.006089> + 24509: <-0.000388, -0.005794, 0.006366> + 24510: <-0.000774, -0.005776, 0.006346> + 24511: <-0.000773, -0.006070, 0.006070> + 24512: <-0.000000, -0.006096, 0.006096> + 24513: <-0.000000, -0.005801, 0.006373> + 24514: <-0.000388, -0.005794, 0.006366> + 24515: <-0.000387, -0.006089, 0.006089> + 24516: < 0.000387, -0.006089, 0.006089> + 24517: < 0.000388, -0.005794, 0.006366> + 24518: <-0.000000, -0.005801, 0.006373> + 24519: <-0.000000, -0.006096, 0.006096> + 24520: < 0.000773, -0.006070, 0.006070> + 24521: < 0.000774, -0.005776, 0.006346> + 24522: < 0.000388, -0.005794, 0.006366> + 24523: < 0.000387, -0.006089, 0.006089> + 24524: < 0.001156, -0.006039, 0.006039> + 24525: < 0.001157, -0.005747, 0.006313> + 24526: < 0.000774, -0.005776, 0.006346> + 24527: < 0.000773, -0.006070, 0.006070> + 24528: < 0.001534, -0.005996, 0.005996> + 24529: < 0.001536, -0.005707, 0.006269> + 24530: < 0.001157, -0.005747, 0.006313> + 24531: < 0.001156, -0.006039, 0.006039> + 24532: < 0.001906, -0.005944, 0.005944> + 24533: < 0.001908, -0.005657, 0.006212> + 24534: < 0.001536, -0.005707, 0.006269> + 24535: < 0.001534, -0.005996, 0.005996> + 24536: < 0.002269, -0.005881, 0.005881> + 24537: < 0.002272, -0.005599, 0.006146> + 24538: < 0.001908, -0.005657, 0.006212> + 24539: < 0.001906, -0.005944, 0.005944> + 24540: < 0.002623, -0.005809, 0.005809> + 24541: < 0.002627, -0.005533, 0.006069> + 24542: < 0.002272, -0.005599, 0.006146> + 24543: < 0.002269, -0.005881, 0.005881> + 24544: < 0.002966, -0.005729, 0.005729> + 24545: < 0.002971, -0.005459, 0.005983> + 24546: < 0.002627, -0.005533, 0.006069> + 24547: < 0.002623, -0.005809, 0.005809> + 24548: < 0.003297, -0.005642, 0.005642> + 24549: < 0.003302, -0.005379, 0.005888> + 24550: < 0.002971, -0.005459, 0.005983> + 24551: < 0.002966, -0.005729, 0.005729> + 24552: < 0.003612, -0.005549, 0.005549> + 24553: < 0.003619, -0.005294, 0.005786> + 24554: < 0.003302, -0.005379, 0.005888> + 24555: < 0.003297, -0.005642, 0.005642> + 24556: < 0.003910, -0.005451, 0.005451> + 24557: < 0.003918, -0.005207, 0.005678> + 24558: < 0.003619, -0.005294, 0.005786> + 24559: < 0.003612, -0.005549, 0.005549> + 24560: < 0.004188, -0.005351, 0.005351> + 24561: < 0.004199, -0.005120, 0.005564> + 24562: < 0.003918, -0.005207, 0.005678> + 24563: < 0.003910, -0.005451, 0.005451> + 24564: < 0.004436, -0.005255, 0.005255> + 24565: < 0.004460, -0.005034, 0.005446> + 24566: < 0.004199, -0.005120, 0.005564> + 24567: < 0.004188, -0.005351, 0.005351> + 24568: < 0.004647, -0.005166, 0.005166> + 24569: < 0.004691, -0.004959, 0.005326> + 24570: < 0.004460, -0.005034, 0.005446> + 24571: < 0.004436, -0.005255, 0.005255> + 24572: < 0.004833, -0.005081, 0.005081> + 24573: < 0.004894, -0.004894, 0.005206> + 24574: < 0.004691, -0.004959, 0.005326> + 24575: < 0.004647, -0.005166, 0.005166> + Normals: Count 24576. Hash: 8968157737282745201 + 0: <-0.561516, 0.607783, 0.561516> + 1: <-0.531523, 0.625584, 0.571076> + 2: <-0.538962, 0.647334, 0.538962> + 3: <-0.571076, 0.625584, 0.531523> + 4: <-0.531523, 0.625584, 0.571076> + 5: <-0.500519, 0.641397, 0.581456> + 6: <-0.506040, 0.666144, 0.547882> + 7: <-0.538962, 0.647334, 0.538962> + 8: <-0.500519, 0.641397, 0.581456> + 9: <-0.469385, 0.655217, 0.591920> + 10: <-0.473139, 0.682532, 0.557037> + 11: <-0.506040, 0.666144, 0.547882> + 12: <-0.469385, 0.655217, 0.591920> + 13: <-0.437036, 0.668312, 0.601963> + 14: <-0.439475, 0.697667, 0.565794> + 15: <-0.473139, 0.682532, 0.557037> + 16: <-0.437036, 0.668312, 0.601963> + 17: <-0.403223, 0.680859, 0.611427> + 18: <-0.404839, 0.711772, 0.574008> + 19: <-0.439475, 0.697667, 0.565794> + 20: <-0.403223, 0.680859, 0.611427> + 21: <-0.368246, 0.692544, 0.620305> + 22: <-0.369188, 0.724825, 0.581661> + 23: <-0.404839, 0.711772, 0.574008> + 24: <-0.368246, 0.692544, 0.620305> + 25: <-0.331652, 0.703467, 0.628603> + 26: <-0.332197, 0.736907, 0.588738> + 27: <-0.369188, 0.724825, 0.581661> + 28: <-0.331652, 0.703467, 0.628603> + 29: <-0.293904, 0.713396, 0.636150> + 30: <-0.294207, 0.747816, 0.595158> + 31: <-0.332197, 0.736907, 0.588738> + 32: <-0.293904, 0.713396, 0.636150> + 33: <-0.255632, 0.722093, 0.642833> + 34: <-0.255750, 0.757361, 0.600829> + 35: <-0.294207, 0.747816, 0.595158> + 36: <-0.255632, 0.722093, 0.642833> + 37: <-0.216660, 0.729636, 0.648606> + 38: <-0.216596, 0.765608, 0.605748> + 39: <-0.255750, 0.757361, 0.600829> + 40: <-0.216660, 0.729636, 0.648606> + 41: <-0.176644, 0.736025, 0.653502> + 42: <-0.176461, 0.772589, 0.609892> + 43: <-0.216596, 0.765608, 0.605748> + 44: <-0.176644, 0.736025, 0.653502> + 45: <-0.135260, 0.741243, 0.657468> + 46: <-0.135018, 0.778306, 0.613196> + 47: <-0.176461, 0.772589, 0.609892> + 48: <-0.135260, 0.741243, 0.657468> + 49: <-0.092137, 0.745184, 0.660463> + 50: <-0.091894, 0.782607, 0.615697> + 51: <-0.135018, 0.778306, 0.613196> + 52: <-0.092137, 0.745184, 0.660463> + 53: <-0.046999, 0.747715, 0.662354> + 54: <-0.046847, 0.785375, 0.617246> + 55: <-0.091894, 0.782607, 0.615697> + 56: <-0.046999, 0.747715, 0.662354> + 57: < 0.000000, 0.748599, 0.663024> + 58: < 0.000000, 0.786344, 0.617789> + 59: <-0.046847, 0.785375, 0.617246> + 60: < 0.000000, 0.748599, 0.663024> + 61: < 0.046999, 0.747715, 0.662354> + 62: < 0.046847, 0.785375, 0.617246> + 63: < 0.000000, 0.786344, 0.617789> + 64: < 0.046999, 0.747715, 0.662354> + 65: < 0.092137, 0.745184, 0.660463> + 66: < 0.091894, 0.782607, 0.615697> + 67: < 0.046847, 0.785375, 0.617246> + 68: < 0.092137, 0.745184, 0.660463> + 69: < 0.135260, 0.741243, 0.657468> + 70: < 0.135018, 0.778306, 0.613196> + 71: < 0.091894, 0.782607, 0.615697> + 72: < 0.135260, 0.741243, 0.657468> + 73: < 0.176644, 0.736025, 0.653502> + 74: < 0.176461, 0.772589, 0.609892> + 75: < 0.135018, 0.778306, 0.613196> + 76: < 0.176644, 0.736025, 0.653502> + 77: < 0.216660, 0.729636, 0.648606> + 78: < 0.216596, 0.765608, 0.605748> + 79: < 0.176461, 0.772589, 0.609892> + 80: < 0.216660, 0.729636, 0.648606> + 81: < 0.255632, 0.722093, 0.642833> + 82: < 0.255750, 0.757361, 0.600829> + 83: < 0.216596, 0.765608, 0.605748> + 84: < 0.255632, 0.722093, 0.642833> + 85: < 0.293904, 0.713396, 0.636150> + 86: < 0.294207, 0.747816, 0.595158> + 87: < 0.255750, 0.757361, 0.600829> + 88: < 0.293904, 0.713396, 0.636150> + 89: < 0.331652, 0.703467, 0.628603> + 90: < 0.332170, 0.736915, 0.588744> + 91: < 0.294207, 0.747816, 0.595158> + 92: < 0.331652, 0.703467, 0.628603> + 93: < 0.368246, 0.692544, 0.620305> + 94: < 0.369188, 0.724825, 0.581661> + 95: < 0.332170, 0.736915, 0.588744> + 96: < 0.368246, 0.692544, 0.620305> + 97: < 0.403223, 0.680859, 0.611427> + 98: < 0.404839, 0.711772, 0.574008> + 99: < 0.369188, 0.724825, 0.581661> + 100: < 0.403223, 0.680859, 0.611427> + 101: < 0.437036, 0.668312, 0.601963> + 102: < 0.439475, 0.697667, 0.565794> + 103: < 0.404839, 0.711772, 0.574008> + 104: < 0.437036, 0.668312, 0.601963> + 105: < 0.469385, 0.655217, 0.591920> + 106: < 0.473139, 0.682532, 0.557037> + 107: < 0.439475, 0.697667, 0.565794> + 108: < 0.469385, 0.655217, 0.591920> + 109: < 0.500496, 0.641406, 0.581465> + 110: < 0.506040, 0.666144, 0.547882> + 111: < 0.473139, 0.682532, 0.557037> + 112: < 0.500496, 0.641406, 0.581465> + 113: < 0.531523, 0.625584, 0.571076> + 114: < 0.538962, 0.647334, 0.538962> + 115: < 0.506040, 0.666144, 0.547882> + 116: < 0.531523, 0.625584, 0.571076> + 117: < 0.561516, 0.607783, 0.561516> + 118: < 0.571076, 0.625584, 0.531523> + 119: < 0.538962, 0.647334, 0.538962> + 120: <-0.571076, 0.625584, 0.531523> + 121: <-0.538962, 0.647334, 0.538962> + 122: <-0.547882, 0.666144, 0.506040> + 123: <-0.581456, 0.641397, 0.500519> + 124: <-0.538962, 0.647334, 0.538962> + 125: <-0.506040, 0.666144, 0.547882> + 126: <-0.513252, 0.687856, 0.513252> + 127: <-0.547882, 0.666144, 0.506040> + 128: <-0.506040, 0.666144, 0.547882> + 129: <-0.473139, 0.682532, 0.557037> + 130: <-0.478425, 0.706895, 0.520969> + 131: <-0.513252, 0.687856, 0.513252> + 132: <-0.473139, 0.682532, 0.557037> + 133: <-0.439475, 0.697667, 0.565794> + 134: <-0.443145, 0.724109, 0.528478> + 135: <-0.478425, 0.706895, 0.520969> + 136: <-0.439475, 0.697667, 0.565794> + 137: <-0.404839, 0.711772, 0.574008> + 138: <-0.407307, 0.739812, 0.535518> + 139: <-0.443145, 0.724109, 0.528478> + 140: <-0.404839, 0.711772, 0.574008> + 141: <-0.369188, 0.724825, 0.581661> + 142: <-0.370721, 0.754169, 0.542028> + 143: <-0.407307, 0.739812, 0.535518> + 144: <-0.369188, 0.724825, 0.581661> + 145: <-0.332197, 0.736907, 0.588738> + 146: <-0.333090, 0.767292, 0.548009> + 147: <-0.370721, 0.754169, 0.542028> + 148: <-0.332197, 0.736907, 0.588738> + 149: <-0.294207, 0.747816, 0.595158> + 150: <-0.294729, 0.779017, 0.553415> + 151: <-0.333090, 0.767292, 0.548009> + 152: <-0.294207, 0.747816, 0.595158> + 153: <-0.255750, 0.757361, 0.600829> + 154: <-0.255937, 0.789266, 0.558172> + 155: <-0.294729, 0.779017, 0.553415> + 156: <-0.255750, 0.757361, 0.600829> + 157: <-0.216596, 0.765608, 0.605748> + 158: <-0.216534, 0.798110, 0.562257> + 159: <-0.255937, 0.789266, 0.558172> + 160: <-0.216596, 0.765608, 0.605748> + 161: <-0.176461, 0.772589, 0.609892> + 162: <-0.176188, 0.805587, 0.565675> + 163: <-0.216534, 0.798110, 0.562257> + 164: <-0.176461, 0.772589, 0.609892> + 165: <-0.135018, 0.778306, 0.613196> + 166: <-0.134618, 0.811677, 0.568382> + 167: <-0.176188, 0.805587, 0.565675> + 168: <-0.135018, 0.778306, 0.613196> + 169: <-0.091894, 0.782607, 0.615697> + 170: <-0.091497, 0.816271, 0.570377> + 171: <-0.134618, 0.811677, 0.568382> + 172: <-0.091894, 0.782607, 0.615697> + 173: <-0.046847, 0.785375, 0.617246> + 174: <-0.046573, 0.819208, 0.571602> + 175: <-0.091497, 0.816271, 0.570377> + 176: <-0.046847, 0.785375, 0.617246> + 177: < 0.000000, 0.786344, 0.617789> + 178: < 0.000000, 0.820237, 0.572024> + 179: <-0.046573, 0.819208, 0.571602> + 180: < 0.000000, 0.786344, 0.617789> + 181: < 0.046847, 0.785375, 0.617246> + 182: < 0.046573, 0.819208, 0.571602> + 183: < 0.000000, 0.820237, 0.572024> + 184: < 0.046847, 0.785375, 0.617246> + 185: < 0.091894, 0.782607, 0.615697> + 186: < 0.091497, 0.816271, 0.570377> + 187: < 0.046573, 0.819208, 0.571602> + 188: < 0.091894, 0.782607, 0.615697> + 189: < 0.135018, 0.778306, 0.613196> + 190: < 0.134618, 0.811677, 0.568382> + 191: < 0.091497, 0.816271, 0.570377> + 192: < 0.135018, 0.778306, 0.613196> + 193: < 0.176461, 0.772589, 0.609892> + 194: < 0.176188, 0.805587, 0.565675> + 195: < 0.134618, 0.811677, 0.568382> + 196: < 0.176461, 0.772589, 0.609892> + 197: < 0.216596, 0.765608, 0.605748> + 198: < 0.216534, 0.798110, 0.562257> + 199: < 0.176188, 0.805587, 0.565675> + 200: < 0.216596, 0.765608, 0.605748> + 201: < 0.255750, 0.757361, 0.600829> + 202: < 0.255937, 0.789266, 0.558172> + 203: < 0.216534, 0.798110, 0.562257> + 204: < 0.255750, 0.757361, 0.600829> + 205: < 0.294207, 0.747816, 0.595158> + 206: < 0.294729, 0.779017, 0.553415> + 207: < 0.255937, 0.789266, 0.558172> + 208: < 0.294207, 0.747816, 0.595158> + 209: < 0.332170, 0.736915, 0.588744> + 210: < 0.333090, 0.767292, 0.548009> + 211: < 0.294729, 0.779017, 0.553415> + 212: < 0.332170, 0.736915, 0.588744> + 213: < 0.369188, 0.724825, 0.581661> + 214: < 0.370721, 0.754169, 0.542028> + 215: < 0.333090, 0.767292, 0.548009> + 216: < 0.369188, 0.724825, 0.581661> + 217: < 0.404839, 0.711772, 0.574008> + 218: < 0.407307, 0.739812, 0.535518> + 219: < 0.370721, 0.754169, 0.542028> + 220: < 0.404839, 0.711772, 0.574008> + 221: < 0.439475, 0.697667, 0.565794> + 222: < 0.443145, 0.724109, 0.528478> + 223: < 0.407307, 0.739812, 0.535518> + 224: < 0.439475, 0.697667, 0.565794> + 225: < 0.473139, 0.682532, 0.557037> + 226: < 0.478425, 0.706895, 0.520969> + 227: < 0.443145, 0.724109, 0.528478> + 228: < 0.473139, 0.682532, 0.557037> + 229: < 0.506040, 0.666144, 0.547882> + 230: < 0.513252, 0.687856, 0.513252> + 231: < 0.478425, 0.706895, 0.520969> + 232: < 0.506040, 0.666144, 0.547882> + 233: < 0.538962, 0.647334, 0.538962> + 234: < 0.547882, 0.666144, 0.506040> + 235: < 0.513252, 0.687856, 0.513252> + 236: < 0.538962, 0.647334, 0.538962> + 237: < 0.571076, 0.625584, 0.531523> + 238: < 0.581456, 0.641397, 0.500519> + 239: < 0.547882, 0.666144, 0.506040> + 240: <-0.581456, 0.641397, 0.500519> + 241: <-0.547882, 0.666144, 0.506040> + 242: <-0.557037, 0.682532, 0.473139> + 243: <-0.591920, 0.655217, 0.469385> + 244: <-0.547882, 0.666144, 0.506040> + 245: <-0.513252, 0.687856, 0.513252> + 246: <-0.520969, 0.706895, 0.478425> + 247: <-0.557037, 0.682532, 0.473139> + 248: <-0.513252, 0.687856, 0.513252> + 249: <-0.478425, 0.706895, 0.520969> + 250: <-0.484430, 0.728461, 0.484430> + 251: <-0.520969, 0.706895, 0.478425> + 252: <-0.478425, 0.706895, 0.520969> + 253: <-0.443145, 0.724109, 0.528478> + 254: <-0.447593, 0.747688, 0.490534> + 255: <-0.484430, 0.728461, 0.484430> + 256: <-0.443145, 0.724109, 0.528478> + 257: <-0.407307, 0.739812, 0.535518> + 258: <-0.410392, 0.764964, 0.496395> + 259: <-0.447593, 0.747688, 0.490534> + 260: <-0.407307, 0.739812, 0.535518> + 261: <-0.370721, 0.754169, 0.542028> + 262: <-0.372705, 0.780568, 0.501802> + 263: <-0.410392, 0.764964, 0.496395> + 264: <-0.370721, 0.754169, 0.542028> + 265: <-0.333090, 0.767292, 0.548009> + 266: <-0.334337, 0.794627, 0.506740> + 267: <-0.372705, 0.780568, 0.501802> + 268: <-0.333090, 0.767292, 0.548009> + 269: <-0.294729, 0.779017, 0.553415> + 270: <-0.295457, 0.807082, 0.511198> + 271: <-0.334337, 0.794627, 0.506740> + 272: <-0.294729, 0.779017, 0.553415> + 273: <-0.255937, 0.789266, 0.558172> + 274: <-0.256243, 0.817925, 0.515110> + 275: <-0.295457, 0.807082, 0.511198> + 276: <-0.255937, 0.789266, 0.558172> + 277: <-0.216534, 0.798110, 0.562257> + 278: <-0.216475, 0.827263, 0.518435> + 279: <-0.256243, 0.817925, 0.515110> + 280: <-0.216534, 0.798110, 0.562257> + 281: <-0.176188, 0.805587, 0.565675> + 282: <-0.175853, 0.835133, 0.521180> + 283: <-0.216475, 0.827263, 0.518435> + 284: <-0.176188, 0.805587, 0.565675> + 285: <-0.134618, 0.811677, 0.568382> + 286: <-0.134100, 0.841527, 0.523307> + 287: <-0.175853, 0.835133, 0.521180> + 288: <-0.134618, 0.811677, 0.568382> + 289: <-0.091497, 0.816271, 0.570377> + 290: <-0.091008, 0.846324, 0.524836> + 291: <-0.134100, 0.841527, 0.523307> + 292: <-0.091497, 0.816271, 0.570377> + 293: <-0.046573, 0.819208, 0.571602> + 294: <-0.046267, 0.849378, 0.525753> + 295: <-0.091008, 0.846324, 0.524836> + 296: <-0.046573, 0.819208, 0.571602> + 297: < 0.000000, 0.820237, 0.572024> + 298: < 0.000000, 0.850434, 0.526081> + 299: <-0.046267, 0.849378, 0.525753> + 300: < 0.000000, 0.820237, 0.572024> + 301: < 0.046573, 0.819208, 0.571602> + 302: < 0.046267, 0.849378, 0.525753> + 303: < 0.000000, 0.850434, 0.526081> + 304: < 0.046573, 0.819208, 0.571602> + 305: < 0.091497, 0.816271, 0.570377> + 306: < 0.091008, 0.846324, 0.524836> + 307: < 0.046267, 0.849378, 0.525753> + 308: < 0.091497, 0.816271, 0.570377> + 309: < 0.134618, 0.811677, 0.568382> + 310: < 0.134100, 0.841527, 0.523307> + 311: < 0.091008, 0.846324, 0.524836> + 312: < 0.134618, 0.811677, 0.568382> + 313: < 0.176188, 0.805587, 0.565675> + 314: < 0.175853, 0.835133, 0.521180> + 315: < 0.134100, 0.841527, 0.523307> + 316: < 0.176188, 0.805587, 0.565675> + 317: < 0.216534, 0.798110, 0.562257> + 318: < 0.216475, 0.827263, 0.518435> + 319: < 0.175853, 0.835133, 0.521180> + 320: < 0.216534, 0.798110, 0.562257> + 321: < 0.255937, 0.789266, 0.558172> + 322: < 0.256243, 0.817925, 0.515110> + 323: < 0.216475, 0.827263, 0.518435> + 324: < 0.255937, 0.789266, 0.558172> + 325: < 0.294729, 0.779017, 0.553415> + 326: < 0.295457, 0.807082, 0.511198> + 327: < 0.256243, 0.817925, 0.515110> + 328: < 0.294729, 0.779017, 0.553415> + 329: < 0.333090, 0.767292, 0.548009> + 330: < 0.334310, 0.794636, 0.506745> + 331: < 0.295457, 0.807082, 0.511198> + 332: < 0.333090, 0.767292, 0.548009> + 333: < 0.370721, 0.754169, 0.542028> + 334: < 0.372705, 0.780568, 0.501802> + 335: < 0.334310, 0.794636, 0.506745> + 336: < 0.370721, 0.754169, 0.542028> + 337: < 0.407307, 0.739812, 0.535518> + 338: < 0.410392, 0.764964, 0.496395> + 339: < 0.372705, 0.780568, 0.501802> + 340: < 0.407307, 0.739812, 0.535518> + 341: < 0.443145, 0.724109, 0.528478> + 342: < 0.447593, 0.747688, 0.490534> + 343: < 0.410392, 0.764964, 0.496395> + 344: < 0.443145, 0.724109, 0.528478> + 345: < 0.478425, 0.706895, 0.520969> + 346: < 0.484430, 0.728461, 0.484430> + 347: < 0.447593, 0.747688, 0.490534> + 348: < 0.478425, 0.706895, 0.520969> + 349: < 0.513252, 0.687856, 0.513252> + 350: < 0.520969, 0.706895, 0.478425> + 351: < 0.484430, 0.728461, 0.484430> + 352: < 0.513252, 0.687856, 0.513252> + 353: < 0.547882, 0.666144, 0.506040> + 354: < 0.557037, 0.682532, 0.473139> + 355: < 0.520969, 0.706895, 0.478425> + 356: < 0.547882, 0.666144, 0.506040> + 357: < 0.581456, 0.641397, 0.500519> + 358: < 0.591920, 0.655217, 0.469385> + 359: < 0.557037, 0.682532, 0.473139> + 360: <-0.591920, 0.655217, 0.469385> + 361: <-0.557037, 0.682532, 0.473139> + 362: <-0.565794, 0.697667, 0.439475> + 363: <-0.601963, 0.668312, 0.437036> + 364: <-0.557037, 0.682532, 0.473139> + 365: <-0.520969, 0.706895, 0.478425> + 366: <-0.528478, 0.724109, 0.443145> + 367: <-0.565794, 0.697667, 0.439475> + 368: <-0.520969, 0.706895, 0.478425> + 369: <-0.484430, 0.728461, 0.484430> + 370: <-0.490534, 0.747688, 0.447593> + 371: <-0.528478, 0.724109, 0.443145> + 372: <-0.484430, 0.728461, 0.484430> + 373: <-0.447593, 0.747688, 0.490534> + 374: <-0.452290, 0.768679, 0.452290> + 375: <-0.490534, 0.747688, 0.447593> + 376: <-0.447593, 0.747688, 0.490534> + 377: <-0.410392, 0.764964, 0.496395> + 378: <-0.413777, 0.787421, 0.456900> + 379: <-0.452290, 0.768679, 0.452290> + 380: <-0.410392, 0.764964, 0.496395> + 381: <-0.372705, 0.780568, 0.501802> + 382: <-0.374961, 0.804154, 0.461239> + 383: <-0.413777, 0.787421, 0.456900> + 384: <-0.372705, 0.780568, 0.501802> + 385: <-0.334337, 0.794627, 0.506740> + 386: <-0.335801, 0.819039, 0.465202> + 387: <-0.374961, 0.804154, 0.461239> + 388: <-0.334337, 0.794627, 0.506740> + 389: <-0.295457, 0.807082, 0.511198> + 390: <-0.296339, 0.832128, 0.468770> + 391: <-0.335801, 0.819039, 0.465202> + 392: <-0.295457, 0.807082, 0.511198> + 393: <-0.256243, 0.817925, 0.515110> + 394: <-0.256606, 0.843490, 0.471888> + 395: <-0.296339, 0.832128, 0.468770> + 396: <-0.256243, 0.817925, 0.515110> + 397: <-0.216475, 0.827263, 0.518435> + 398: <-0.216413, 0.853230, 0.474515> + 399: <-0.256606, 0.843490, 0.471888> + 400: <-0.216475, 0.827263, 0.518435> + 401: <-0.175853, 0.835133, 0.521180> + 402: <-0.175453, 0.861426, 0.476614> + 403: <-0.216413, 0.853230, 0.474515> + 404: <-0.175853, 0.835133, 0.521180> + 405: <-0.134100, 0.841527, 0.523307> + 406: <-0.133553, 0.868033, 0.478208> + 407: <-0.175453, 0.861426, 0.476614> + 408: <-0.134100, 0.841527, 0.523307> + 409: <-0.091008, 0.846324, 0.524836> + 410: <-0.090429, 0.872976, 0.479307> + 411: <-0.133553, 0.868033, 0.478208> + 412: <-0.091008, 0.846324, 0.524836> + 413: <-0.046267, 0.849378, 0.525753> + 414: <-0.045871, 0.876095, 0.479951> + 415: <-0.090429, 0.872976, 0.479307> + 416: <-0.046267, 0.849378, 0.525753> + 417: < 0.000000, 0.850434, 0.526081> + 418: < 0.000000, 0.877169, 0.480182> + 419: <-0.045871, 0.876095, 0.479951> + 420: < 0.000000, 0.850434, 0.526081> + 421: < 0.046267, 0.849378, 0.525753> + 422: < 0.045871, 0.876095, 0.479951> + 423: < 0.000000, 0.877169, 0.480182> + 424: < 0.046267, 0.849378, 0.525753> + 425: < 0.091008, 0.846324, 0.524836> + 426: < 0.090429, 0.872976, 0.479307> + 427: < 0.045871, 0.876095, 0.479951> + 428: < 0.091008, 0.846324, 0.524836> + 429: < 0.134100, 0.841527, 0.523307> + 430: < 0.133553, 0.868033, 0.478208> + 431: < 0.090429, 0.872976, 0.479307> + 432: < 0.134100, 0.841527, 0.523307> + 433: < 0.175853, 0.835133, 0.521180> + 434: < 0.175453, 0.861426, 0.476614> + 435: < 0.133553, 0.868033, 0.478208> + 436: < 0.175853, 0.835133, 0.521180> + 437: < 0.216475, 0.827263, 0.518435> + 438: < 0.216413, 0.853230, 0.474515> + 439: < 0.175453, 0.861426, 0.476614> + 440: < 0.216475, 0.827263, 0.518435> + 441: < 0.256243, 0.817925, 0.515110> + 442: < 0.256606, 0.843490, 0.471888> + 443: < 0.216413, 0.853230, 0.474515> + 444: < 0.256243, 0.817925, 0.515110> + 445: < 0.295457, 0.807082, 0.511198> + 446: < 0.296339, 0.832128, 0.468770> + 447: < 0.256606, 0.843490, 0.471888> + 448: < 0.295457, 0.807082, 0.511198> + 449: < 0.334310, 0.794636, 0.506745> + 450: < 0.335801, 0.819039, 0.465202> + 451: < 0.296339, 0.832128, 0.468770> + 452: < 0.334310, 0.794636, 0.506745> + 453: < 0.372705, 0.780568, 0.501802> + 454: < 0.374961, 0.804154, 0.461239> + 455: < 0.335801, 0.819039, 0.465202> + 456: < 0.372705, 0.780568, 0.501802> + 457: < 0.410392, 0.764964, 0.496395> + 458: < 0.413777, 0.787421, 0.456900> + 459: < 0.374961, 0.804154, 0.461239> + 460: < 0.410392, 0.764964, 0.496395> + 461: < 0.447593, 0.747688, 0.490534> + 462: < 0.452290, 0.768679, 0.452290> + 463: < 0.413777, 0.787421, 0.456900> + 464: < 0.447593, 0.747688, 0.490534> + 465: < 0.484430, 0.728461, 0.484430> + 466: < 0.490534, 0.747688, 0.447593> + 467: < 0.452290, 0.768679, 0.452290> + 468: < 0.484430, 0.728461, 0.484430> + 469: < 0.520969, 0.706895, 0.478425> + 470: < 0.528478, 0.724109, 0.443145> + 471: < 0.490534, 0.747688, 0.447593> + 472: < 0.520969, 0.706895, 0.478425> + 473: < 0.557037, 0.682532, 0.473139> + 474: < 0.565794, 0.697667, 0.439475> + 475: < 0.528478, 0.724109, 0.443145> + 476: < 0.557037, 0.682532, 0.473139> + 477: < 0.591920, 0.655217, 0.469385> + 478: < 0.601963, 0.668312, 0.437036> + 479: < 0.565794, 0.697667, 0.439475> + 480: <-0.601963, 0.668312, 0.437036> + 481: <-0.565794, 0.697667, 0.439475> + 482: <-0.574008, 0.711772, 0.404839> + 483: <-0.611427, 0.680859, 0.403223> + 484: <-0.565794, 0.697667, 0.439475> + 485: <-0.528478, 0.724109, 0.443145> + 486: <-0.535518, 0.739812, 0.407307> + 487: <-0.574008, 0.711772, 0.404839> + 488: <-0.528478, 0.724109, 0.443145> + 489: <-0.490534, 0.747688, 0.447593> + 490: <-0.496372, 0.764976, 0.410398> + 491: <-0.535518, 0.739812, 0.407307> + 492: <-0.490534, 0.747688, 0.447593> + 493: <-0.452290, 0.768679, 0.452290> + 494: <-0.456900, 0.787421, 0.413777> + 495: <-0.496372, 0.764976, 0.410398> + 496: <-0.452290, 0.768679, 0.452290> + 497: <-0.413777, 0.787421, 0.456900> + 498: <-0.417202, 0.807394, 0.417202> + 499: <-0.456900, 0.787421, 0.413777> + 500: <-0.413777, 0.787421, 0.456900> + 501: <-0.374961, 0.804154, 0.461239> + 502: <-0.377345, 0.825100, 0.420500> + 503: <-0.417202, 0.807394, 0.417202> + 504: <-0.374961, 0.804154, 0.461239> + 505: <-0.335801, 0.819039, 0.465202> + 506: <-0.337391, 0.840684, 0.423577> + 507: <-0.377345, 0.825100, 0.420500> + 508: <-0.335801, 0.819039, 0.465202> + 509: <-0.296339, 0.832128, 0.468770> + 510: <-0.297287, 0.854324, 0.426323> + 511: <-0.337391, 0.840684, 0.423577> + 512: <-0.296339, 0.832128, 0.468770> + 513: <-0.256606, 0.843490, 0.471888> + 514: <-0.256999, 0.866124, 0.428698> + 515: <-0.297287, 0.854324, 0.426323> + 516: <-0.256606, 0.843490, 0.471888> + 517: <-0.216413, 0.853230, 0.474515> + 518: <-0.216320, 0.876208, 0.430657> + 519: <-0.256999, 0.866124, 0.428698> + 520: <-0.216413, 0.853230, 0.474515> + 521: <-0.175453, 0.861426, 0.476614> + 522: <-0.175026, 0.884654, 0.432149> + 523: <-0.216320, 0.876208, 0.430657> + 524: <-0.175453, 0.861426, 0.476614> + 525: <-0.133553, 0.868033, 0.478208> + 526: <-0.132911, 0.891405, 0.433281> + 527: <-0.175026, 0.884654, 0.432149> + 528: <-0.133553, 0.868033, 0.478208> + 529: <-0.090429, 0.872976, 0.479307> + 530: <-0.089787, 0.896437, 0.433981> + 531: <-0.132911, 0.891405, 0.433281> + 532: <-0.090429, 0.872976, 0.479307> + 533: <-0.045871, 0.876095, 0.479951> + 534: <-0.045443, 0.899583, 0.434379> + 535: <-0.089787, 0.896437, 0.433981> + 536: <-0.045871, 0.876095, 0.479951> + 537: < 0.000000, 0.877169, 0.480182> + 538: < 0.000000, 0.900667, 0.434509> + 539: <-0.045443, 0.899583, 0.434379> + 540: < 0.000000, 0.877169, 0.480182> + 541: < 0.045871, 0.876095, 0.479951> + 542: < 0.045443, 0.899583, 0.434379> + 543: < 0.000000, 0.900667, 0.434509> + 544: < 0.045871, 0.876095, 0.479951> + 545: < 0.090429, 0.872976, 0.479307> + 546: < 0.089787, 0.896437, 0.433981> + 547: < 0.045443, 0.899583, 0.434379> + 548: < 0.090429, 0.872976, 0.479307> + 549: < 0.133553, 0.868033, 0.478208> + 550: < 0.132911, 0.891405, 0.433281> + 551: < 0.089787, 0.896437, 0.433981> + 552: < 0.133553, 0.868033, 0.478208> + 553: < 0.175453, 0.861426, 0.476614> + 554: < 0.175026, 0.884654, 0.432149> + 555: < 0.132911, 0.891405, 0.433281> + 556: < 0.175453, 0.861426, 0.476614> + 557: < 0.216413, 0.853230, 0.474515> + 558: < 0.216320, 0.876208, 0.430657> + 559: < 0.175026, 0.884654, 0.432149> + 560: < 0.216413, 0.853230, 0.474515> + 561: < 0.256606, 0.843490, 0.471888> + 562: < 0.256999, 0.866124, 0.428698> + 563: < 0.216320, 0.876208, 0.430657> + 564: < 0.256606, 0.843490, 0.471888> + 565: < 0.296339, 0.832128, 0.468770> + 566: < 0.297287, 0.854324, 0.426323> + 567: < 0.256999, 0.866124, 0.428698> + 568: < 0.296339, 0.832128, 0.468770> + 569: < 0.335801, 0.819039, 0.465202> + 570: < 0.337391, 0.840684, 0.423577> + 571: < 0.297287, 0.854324, 0.426323> + 572: < 0.335801, 0.819039, 0.465202> + 573: < 0.374961, 0.804154, 0.461239> + 574: < 0.377345, 0.825100, 0.420500> + 575: < 0.337391, 0.840684, 0.423577> + 576: < 0.374961, 0.804154, 0.461239> + 577: < 0.413777, 0.787421, 0.456900> + 578: < 0.417202, 0.807394, 0.417202> + 579: < 0.377345, 0.825100, 0.420500> + 580: < 0.413777, 0.787421, 0.456900> + 581: < 0.452290, 0.768679, 0.452290> + 582: < 0.456900, 0.787421, 0.413777> + 583: < 0.417202, 0.807394, 0.417202> + 584: < 0.452290, 0.768679, 0.452290> + 585: < 0.490534, 0.747688, 0.447593> + 586: < 0.496372, 0.764976, 0.410398> + 587: < 0.456900, 0.787421, 0.413777> + 588: < 0.490534, 0.747688, 0.447593> + 589: < 0.528478, 0.724109, 0.443145> + 590: < 0.535518, 0.739812, 0.407307> + 591: < 0.496372, 0.764976, 0.410398> + 592: < 0.528478, 0.724109, 0.443145> + 593: < 0.565794, 0.697667, 0.439475> + 594: < 0.574008, 0.711772, 0.404839> + 595: < 0.535518, 0.739812, 0.407307> + 596: < 0.565794, 0.697667, 0.439475> + 597: < 0.601963, 0.668312, 0.437036> + 598: < 0.611427, 0.680859, 0.403223> + 599: < 0.574008, 0.711772, 0.404839> + 600: <-0.611427, 0.680859, 0.403223> + 601: <-0.574008, 0.711772, 0.404839> + 602: <-0.581661, 0.724825, 0.369188> + 603: <-0.620305, 0.692544, 0.368246> + 604: <-0.574008, 0.711772, 0.404839> + 605: <-0.535518, 0.739812, 0.407307> + 606: <-0.542028, 0.754169, 0.370721> + 607: <-0.581661, 0.724825, 0.369188> + 608: <-0.535518, 0.739812, 0.407307> + 609: <-0.496372, 0.764976, 0.410398> + 610: <-0.501802, 0.780568, 0.372705> + 611: <-0.542028, 0.754169, 0.370721> + 612: <-0.496372, 0.764976, 0.410398> + 613: <-0.456900, 0.787421, 0.413777> + 614: <-0.461239, 0.804154, 0.374961> + 615: <-0.501802, 0.780568, 0.372705> + 616: <-0.456900, 0.787421, 0.413777> + 617: <-0.417202, 0.807394, 0.417202> + 618: <-0.420500, 0.825100, 0.377345> + 619: <-0.461239, 0.804154, 0.374961> + 620: <-0.417202, 0.807394, 0.417202> + 621: <-0.377345, 0.825100, 0.420500> + 622: <-0.379751, 0.843551, 0.379751> + 623: <-0.420500, 0.825100, 0.377345> + 624: <-0.377345, 0.825100, 0.420500> + 625: <-0.337391, 0.840684, 0.423577> + 626: <-0.339005, 0.859750, 0.381976> + 627: <-0.379751, 0.843551, 0.379751> + 628: <-0.337391, 0.840684, 0.423577> + 629: <-0.297287, 0.854324, 0.426323> + 630: <-0.298259, 0.873840, 0.383986> + 631: <-0.339005, 0.859750, 0.381976> + 632: <-0.297287, 0.854324, 0.426323> + 633: <-0.256999, 0.866124, 0.428698> + 634: <-0.257364, 0.886018, 0.385664> + 635: <-0.298259, 0.873840, 0.383986> + 636: <-0.256999, 0.866124, 0.428698> + 637: <-0.216320, 0.876208, 0.430657> + 638: <-0.216199, 0.896382, 0.386985> + 639: <-0.257364, 0.886018, 0.385664> + 640: <-0.216320, 0.876208, 0.430657> + 641: <-0.175026, 0.884654, 0.432149> + 642: <-0.174541, 0.904997, 0.387965> + 643: <-0.216199, 0.896382, 0.386985> + 644: <-0.175026, 0.884654, 0.432149> + 645: <-0.132911, 0.891405, 0.433281> + 646: <-0.132240, 0.911854, 0.388632> + 647: <-0.174541, 0.904997, 0.387965> + 648: <-0.132911, 0.891405, 0.433281> + 649: <-0.089787, 0.896437, 0.433981> + 650: <-0.089116, 0.916918, 0.388998> + 651: <-0.132240, 0.911854, 0.388632> + 652: <-0.089787, 0.896437, 0.433981> + 653: <-0.045443, 0.899583, 0.434379> + 654: <-0.045016, 0.920061, 0.389180> + 655: <-0.089116, 0.916918, 0.388998> + 656: <-0.045443, 0.899583, 0.434379> + 657: < 0.000000, 0.900667, 0.434509> + 658: < 0.000000, 0.921135, 0.389244> + 659: <-0.045016, 0.920061, 0.389180> + 660: < 0.000000, 0.900667, 0.434509> + 661: < 0.045443, 0.899583, 0.434379> + 662: < 0.045016, 0.920061, 0.389180> + 663: < 0.000000, 0.921135, 0.389244> + 664: < 0.045443, 0.899583, 0.434379> + 665: < 0.089787, 0.896437, 0.433981> + 666: < 0.089116, 0.916918, 0.388998> + 667: < 0.045016, 0.920061, 0.389180> + 668: < 0.089787, 0.896437, 0.433981> + 669: < 0.132911, 0.891405, 0.433281> + 670: < 0.132240, 0.911854, 0.388632> + 671: < 0.089116, 0.916918, 0.388998> + 672: < 0.132911, 0.891405, 0.433281> + 673: < 0.175026, 0.884654, 0.432149> + 674: < 0.174541, 0.904997, 0.387965> + 675: < 0.132240, 0.911854, 0.388632> + 676: < 0.175026, 0.884654, 0.432149> + 677: < 0.216320, 0.876208, 0.430657> + 678: < 0.216199, 0.896382, 0.386985> + 679: < 0.174541, 0.904997, 0.387965> + 680: < 0.216320, 0.876208, 0.430657> + 681: < 0.256999, 0.866124, 0.428698> + 682: < 0.257364, 0.886018, 0.385664> + 683: < 0.216199, 0.896382, 0.386985> + 684: < 0.256999, 0.866124, 0.428698> + 685: < 0.297287, 0.854324, 0.426323> + 686: < 0.298259, 0.873840, 0.383986> + 687: < 0.257364, 0.886018, 0.385664> + 688: < 0.297287, 0.854324, 0.426323> + 689: < 0.337391, 0.840684, 0.423577> + 690: < 0.339005, 0.859750, 0.381976> + 691: < 0.298259, 0.873840, 0.383986> + 692: < 0.337391, 0.840684, 0.423577> + 693: < 0.377345, 0.825100, 0.420500> + 694: < 0.379751, 0.843551, 0.379751> + 695: < 0.339005, 0.859750, 0.381976> + 696: < 0.377345, 0.825100, 0.420500> + 697: < 0.417202, 0.807394, 0.417202> + 698: < 0.420500, 0.825100, 0.377345> + 699: < 0.379751, 0.843551, 0.379751> + 700: < 0.417202, 0.807394, 0.417202> + 701: < 0.456900, 0.787421, 0.413777> + 702: < 0.461239, 0.804154, 0.374961> + 703: < 0.420500, 0.825100, 0.377345> + 704: < 0.456900, 0.787421, 0.413777> + 705: < 0.496372, 0.764976, 0.410398> + 706: < 0.501802, 0.780568, 0.372705> + 707: < 0.461239, 0.804154, 0.374961> + 708: < 0.496372, 0.764976, 0.410398> + 709: < 0.535518, 0.739812, 0.407307> + 710: < 0.542028, 0.754169, 0.370721> + 711: < 0.501802, 0.780568, 0.372705> + 712: < 0.535518, 0.739812, 0.407307> + 713: < 0.574008, 0.711772, 0.404839> + 714: < 0.581661, 0.724825, 0.369188> + 715: < 0.542028, 0.754169, 0.370721> + 716: < 0.574008, 0.711772, 0.404839> + 717: < 0.611427, 0.680859, 0.403223> + 718: < 0.620305, 0.692544, 0.368246> + 719: < 0.581661, 0.724825, 0.369188> + 720: <-0.620305, 0.692544, 0.368246> + 721: <-0.581661, 0.724825, 0.369188> + 722: <-0.588744, 0.736915, 0.332170> + 723: <-0.628603, 0.703467, 0.331652> + 724: <-0.581661, 0.724825, 0.369188> + 725: <-0.542028, 0.754169, 0.370721> + 726: <-0.548009, 0.767292, 0.333090> + 727: <-0.588744, 0.736915, 0.332170> + 728: <-0.542028, 0.754169, 0.370721> + 729: <-0.501802, 0.780568, 0.372705> + 730: <-0.506745, 0.794636, 0.334310> + 731: <-0.548009, 0.767292, 0.333090> + 732: <-0.501802, 0.780568, 0.372705> + 733: <-0.461239, 0.804154, 0.374961> + 734: <-0.465202, 0.819039, 0.335801> + 735: <-0.506745, 0.794636, 0.334310> + 736: <-0.461239, 0.804154, 0.374961> + 737: <-0.420500, 0.825100, 0.377345> + 738: <-0.423577, 0.840684, 0.337391> + 739: <-0.465202, 0.819039, 0.335801> + 740: <-0.420500, 0.825100, 0.377345> + 741: <-0.379751, 0.843551, 0.379751> + 742: <-0.381976, 0.859750, 0.339005> + 743: <-0.423577, 0.840684, 0.337391> + 744: <-0.379751, 0.843551, 0.379751> + 745: <-0.339005, 0.859750, 0.381976> + 746: <-0.340503, 0.876422, 0.340503> + 747: <-0.381976, 0.859750, 0.339005> + 748: <-0.339005, 0.859750, 0.381976> + 749: <-0.298259, 0.873840, 0.383986> + 750: <-0.299085, 0.890906, 0.341811> + 751: <-0.340503, 0.876422, 0.340503> + 752: <-0.298259, 0.873840, 0.383986> + 753: <-0.257364, 0.886018, 0.385664> + 754: <-0.257643, 0.903367, 0.342852> + 755: <-0.299085, 0.890906, 0.341811> + 756: <-0.257364, 0.886018, 0.385664> + 757: <-0.216199, 0.896382, 0.386985> + 758: <-0.215982, 0.913949, 0.343582> + 759: <-0.257643, 0.903367, 0.342852> + 760: <-0.216199, 0.896382, 0.386985> + 761: <-0.174541, 0.904997, 0.387965> + 762: <-0.173989, 0.922682, 0.344072> + 763: <-0.215982, 0.913949, 0.343582> + 764: <-0.174541, 0.904997, 0.387965> + 765: <-0.132240, 0.911854, 0.388632> + 766: <-0.131509, 0.929596, 0.344322> + 767: <-0.173989, 0.922682, 0.344072> + 768: <-0.132240, 0.911854, 0.388632> + 769: <-0.089116, 0.916918, 0.388998> + 770: <-0.088414, 0.934648, 0.344408> + 771: <-0.131509, 0.929596, 0.344322> + 772: <-0.089116, 0.916918, 0.388998> + 773: <-0.045016, 0.920061, 0.389180> + 774: <-0.044558, 0.937762, 0.344409> + 775: <-0.088414, 0.934648, 0.344408> + 776: <-0.045016, 0.920061, 0.389180> + 777: < 0.000000, 0.921135, 0.389244> + 778: < 0.000000, 0.938821, 0.344405> + 779: <-0.044558, 0.937762, 0.344409> + 780: < 0.000000, 0.921135, 0.389244> + 781: < 0.045016, 0.920061, 0.389180> + 782: < 0.044558, 0.937762, 0.344409> + 783: < 0.000000, 0.938821, 0.344405> + 784: < 0.045016, 0.920061, 0.389180> + 785: < 0.089116, 0.916918, 0.388998> + 786: < 0.088414, 0.934648, 0.344408> + 787: < 0.044558, 0.937762, 0.344409> + 788: < 0.089116, 0.916918, 0.388998> + 789: < 0.132240, 0.911854, 0.388632> + 790: < 0.131509, 0.929596, 0.344322> + 791: < 0.088414, 0.934648, 0.344408> + 792: < 0.132240, 0.911854, 0.388632> + 793: < 0.174541, 0.904997, 0.387965> + 794: < 0.173989, 0.922682, 0.344072> + 795: < 0.131509, 0.929596, 0.344322> + 796: < 0.174541, 0.904997, 0.387965> + 797: < 0.216199, 0.896382, 0.386985> + 798: < 0.215982, 0.913949, 0.343582> + 799: < 0.173989, 0.922682, 0.344072> + 800: < 0.216199, 0.896382, 0.386985> + 801: < 0.257364, 0.886018, 0.385664> + 802: < 0.257643, 0.903367, 0.342852> + 803: < 0.215982, 0.913949, 0.343582> + 804: < 0.257364, 0.886018, 0.385664> + 805: < 0.298259, 0.873840, 0.383986> + 806: < 0.299085, 0.890906, 0.341811> + 807: < 0.257643, 0.903367, 0.342852> + 808: < 0.298259, 0.873840, 0.383986> + 809: < 0.339005, 0.859750, 0.381976> + 810: < 0.340503, 0.876422, 0.340503> + 811: < 0.299085, 0.890906, 0.341811> + 812: < 0.339005, 0.859750, 0.381976> + 813: < 0.379751, 0.843551, 0.379751> + 814: < 0.381976, 0.859750, 0.339005> + 815: < 0.340503, 0.876422, 0.340503> + 816: < 0.379751, 0.843551, 0.379751> + 817: < 0.420500, 0.825100, 0.377345> + 818: < 0.423577, 0.840684, 0.337391> + 819: < 0.381976, 0.859750, 0.339005> + 820: < 0.420500, 0.825100, 0.377345> + 821: < 0.461239, 0.804154, 0.374961> + 822: < 0.465202, 0.819039, 0.335801> + 823: < 0.423577, 0.840684, 0.337391> + 824: < 0.461239, 0.804154, 0.374961> + 825: < 0.501802, 0.780568, 0.372705> + 826: < 0.506740, 0.794627, 0.334337> + 827: < 0.465202, 0.819039, 0.335801> + 828: < 0.501802, 0.780568, 0.372705> + 829: < 0.542028, 0.754169, 0.370721> + 830: < 0.548009, 0.767292, 0.333090> + 831: < 0.506740, 0.794627, 0.334337> + 832: < 0.542028, 0.754169, 0.370721> + 833: < 0.581661, 0.724825, 0.369188> + 834: < 0.588744, 0.736915, 0.332170> + 835: < 0.548009, 0.767292, 0.333090> + 836: < 0.581661, 0.724825, 0.369188> + 837: < 0.620305, 0.692544, 0.368246> + 838: < 0.628603, 0.703467, 0.331652> + 839: < 0.588744, 0.736915, 0.332170> + 840: <-0.628603, 0.703467, 0.331652> + 841: <-0.588744, 0.736915, 0.332170> + 842: <-0.595158, 0.747816, 0.294207> + 843: <-0.636150, 0.713396, 0.293904> + 844: <-0.588744, 0.736915, 0.332170> + 845: <-0.548009, 0.767292, 0.333090> + 846: <-0.553415, 0.779017, 0.294729> + 847: <-0.595158, 0.747816, 0.294207> + 848: <-0.548009, 0.767292, 0.333090> + 849: <-0.506745, 0.794636, 0.334310> + 850: <-0.511198, 0.807082, 0.295457> + 851: <-0.553415, 0.779017, 0.294729> + 852: <-0.506745, 0.794636, 0.334310> + 853: <-0.465202, 0.819039, 0.335801> + 854: <-0.468770, 0.832128, 0.296339> + 855: <-0.511198, 0.807082, 0.295457> + 856: <-0.465202, 0.819039, 0.335801> + 857: <-0.423577, 0.840684, 0.337391> + 858: <-0.426323, 0.854324, 0.297287> + 859: <-0.468770, 0.832128, 0.296339> + 860: <-0.423577, 0.840684, 0.337391> + 861: <-0.381976, 0.859750, 0.339005> + 862: <-0.383989, 0.873848, 0.298231> + 863: <-0.426323, 0.854324, 0.297287> + 864: <-0.381976, 0.859750, 0.339005> + 865: <-0.340503, 0.876422, 0.340503> + 866: <-0.341811, 0.890906, 0.299085> + 867: <-0.383989, 0.873848, 0.298231> + 868: <-0.340503, 0.876422, 0.340503> + 869: <-0.299085, 0.890906, 0.341811> + 870: <-0.299762, 0.905696, 0.299762> + 871: <-0.341811, 0.890906, 0.299085> + 872: <-0.299085, 0.890906, 0.341811> + 873: <-0.257643, 0.903367, 0.342852> + 874: <-0.257736, 0.918390, 0.300219> + 875: <-0.299762, 0.905696, 0.299762> + 876: <-0.257643, 0.903367, 0.342852> + 877: <-0.215982, 0.913949, 0.343582> + 878: <-0.215649, 0.929096, 0.300461> + 879: <-0.257736, 0.918390, 0.300219> + 880: <-0.215982, 0.913949, 0.343582> + 881: <-0.173989, 0.922682, 0.344072> + 882: <-0.173351, 0.937897, 0.300496> + 883: <-0.215649, 0.929096, 0.300461> + 884: <-0.173989, 0.922682, 0.344072> + 885: <-0.131509, 0.929596, 0.344322> + 886: <-0.130743, 0.944802, 0.300427> + 887: <-0.173351, 0.937897, 0.300496> + 888: <-0.131509, 0.929596, 0.344322> + 889: <-0.088414, 0.934648, 0.344408> + 890: <-0.087712, 0.949820, 0.300248> + 891: <-0.130743, 0.944802, 0.300427> + 892: <-0.088414, 0.934648, 0.344408> + 893: <-0.044558, 0.937762, 0.344409> + 894: <-0.044130, 0.952889, 0.300092> + 895: <-0.087712, 0.949820, 0.300248> + 896: <-0.044558, 0.937762, 0.344409> + 897: < 0.000000, 0.938821, 0.344405> + 898: < 0.000000, 0.953921, 0.300059> + 899: <-0.044130, 0.952889, 0.300092> + 900: < 0.000000, 0.938821, 0.344405> + 901: < 0.044558, 0.937762, 0.344409> + 902: < 0.044130, 0.952889, 0.300092> + 903: < 0.000000, 0.953921, 0.300059> + 904: < 0.044558, 0.937762, 0.344409> + 905: < 0.088414, 0.934648, 0.344408> + 906: < 0.087712, 0.949820, 0.300248> + 907: < 0.044130, 0.952889, 0.300092> + 908: < 0.088414, 0.934648, 0.344408> + 909: < 0.131509, 0.929596, 0.344322> + 910: < 0.130743, 0.944802, 0.300427> + 911: < 0.087712, 0.949820, 0.300248> + 912: < 0.131509, 0.929596, 0.344322> + 913: < 0.173989, 0.922682, 0.344072> + 914: < 0.173351, 0.937897, 0.300496> + 915: < 0.130743, 0.944802, 0.300427> + 916: < 0.173989, 0.922682, 0.344072> + 917: < 0.215982, 0.913949, 0.343582> + 918: < 0.215649, 0.929096, 0.300461> + 919: < 0.173351, 0.937897, 0.300496> + 920: < 0.215982, 0.913949, 0.343582> + 921: < 0.257643, 0.903367, 0.342852> + 922: < 0.257736, 0.918390, 0.300219> + 923: < 0.215649, 0.929096, 0.300461> + 924: < 0.257643, 0.903367, 0.342852> + 925: < 0.299085, 0.890906, 0.341811> + 926: < 0.299762, 0.905696, 0.299762> + 927: < 0.257736, 0.918390, 0.300219> + 928: < 0.299085, 0.890906, 0.341811> + 929: < 0.340503, 0.876422, 0.340503> + 930: < 0.341811, 0.890906, 0.299085> + 931: < 0.299762, 0.905696, 0.299762> + 932: < 0.340503, 0.876422, 0.340503> + 933: < 0.381976, 0.859750, 0.339005> + 934: < 0.383986, 0.873840, 0.298259> + 935: < 0.341811, 0.890906, 0.299085> + 936: < 0.381976, 0.859750, 0.339005> + 937: < 0.423577, 0.840684, 0.337391> + 938: < 0.426323, 0.854324, 0.297287> + 939: < 0.383986, 0.873840, 0.298259> + 940: < 0.423577, 0.840684, 0.337391> + 941: < 0.465202, 0.819039, 0.335801> + 942: < 0.468770, 0.832128, 0.296339> + 943: < 0.426323, 0.854324, 0.297287> + 944: < 0.465202, 0.819039, 0.335801> + 945: < 0.506740, 0.794627, 0.334337> + 946: < 0.511198, 0.807082, 0.295457> + 947: < 0.468770, 0.832128, 0.296339> + 948: < 0.506740, 0.794627, 0.334337> + 949: < 0.548009, 0.767292, 0.333090> + 950: < 0.553415, 0.779017, 0.294729> + 951: < 0.511198, 0.807082, 0.295457> + 952: < 0.548009, 0.767292, 0.333090> + 953: < 0.588744, 0.736915, 0.332170> + 954: < 0.595158, 0.747816, 0.294207> + 955: < 0.553415, 0.779017, 0.294729> + 956: < 0.588744, 0.736915, 0.332170> + 957: < 0.628603, 0.703467, 0.331652> + 958: < 0.636150, 0.713396, 0.293904> + 959: < 0.595158, 0.747816, 0.294207> + 960: <-0.636150, 0.713396, 0.293904> + 961: <-0.595158, 0.747816, 0.294207> + 962: <-0.600829, 0.757361, 0.255750> + 963: <-0.642833, 0.722093, 0.255632> + 964: <-0.595158, 0.747816, 0.294207> + 965: <-0.553415, 0.779017, 0.294729> + 966: <-0.558172, 0.789266, 0.255937> + 967: <-0.600829, 0.757361, 0.255750> + 968: <-0.553415, 0.779017, 0.294729> + 969: <-0.511198, 0.807082, 0.295457> + 970: <-0.515110, 0.817925, 0.256243> + 971: <-0.558172, 0.789266, 0.255937> + 972: <-0.511198, 0.807082, 0.295457> + 973: <-0.468770, 0.832128, 0.296339> + 974: <-0.471888, 0.843490, 0.256606> + 975: <-0.515110, 0.817925, 0.256243> + 976: <-0.468770, 0.832128, 0.296339> + 977: <-0.426323, 0.854324, 0.297287> + 978: <-0.428698, 0.866124, 0.256999> + 979: <-0.471888, 0.843490, 0.256606> + 980: <-0.426323, 0.854324, 0.297287> + 981: <-0.383989, 0.873848, 0.298231> + 982: <-0.385664, 0.886018, 0.257364> + 983: <-0.428698, 0.866124, 0.256999> + 984: <-0.383989, 0.873848, 0.298231> + 985: <-0.341811, 0.890906, 0.299085> + 986: <-0.342852, 0.903367, 0.257643> + 987: <-0.385664, 0.886018, 0.257364> + 988: <-0.341811, 0.890906, 0.299085> + 989: <-0.299762, 0.905696, 0.299762> + 990: <-0.300219, 0.918390, 0.257736> + 991: <-0.342852, 0.903367, 0.257643> + 992: <-0.299762, 0.905696, 0.299762> + 993: <-0.257736, 0.918390, 0.300219> + 994: <-0.257702, 0.931225, 0.257702> + 995: <-0.300219, 0.918390, 0.257736> + 996: <-0.257736, 0.918390, 0.300219> + 997: <-0.215649, 0.929096, 0.300461> + 998: <-0.215220, 0.942000, 0.257519> + 999: <-0.257702, 0.931225, 0.257702> + 1000: <-0.215649, 0.929096, 0.300461> + 1001: <-0.173351, 0.937897, 0.300496> + 1002: <-0.172679, 0.950800, 0.257217> + 1003: <-0.215220, 0.942000, 0.257519> + 1004: <-0.173351, 0.937897, 0.300496> + 1005: <-0.130743, 0.944802, 0.300427> + 1006: <-0.129981, 0.957663, 0.256880> + 1007: <-0.172679, 0.950800, 0.257217> + 1008: <-0.130743, 0.944802, 0.300427> + 1009: <-0.087712, 0.949820, 0.300248> + 1010: <-0.087041, 0.962605, 0.256544> + 1011: <-0.129981, 0.957663, 0.256880> + 1012: <-0.087712, 0.949820, 0.300248> + 1013: <-0.044130, 0.952889, 0.300092> + 1014: <-0.043703, 0.965618, 0.256267> + 1015: <-0.087041, 0.962605, 0.256544> + 1016: <-0.044130, 0.952889, 0.300092> + 1017: < 0.000000, 0.953921, 0.300059> + 1018: < 0.000000, 0.966630, 0.256177> + 1019: <-0.043703, 0.965618, 0.256267> + 1020: < 0.000000, 0.953921, 0.300059> + 1021: < 0.044130, 0.952889, 0.300092> + 1022: < 0.043703, 0.965618, 0.256267> + 1023: < 0.000000, 0.966630, 0.256177> + 1024: < 0.044130, 0.952889, 0.300092> + 1025: < 0.087712, 0.949820, 0.300248> + 1026: < 0.087041, 0.962605, 0.256544> + 1027: < 0.043703, 0.965618, 0.256267> + 1028: < 0.087712, 0.949820, 0.300248> + 1029: < 0.130743, 0.944802, 0.300427> + 1030: < 0.129981, 0.957663, 0.256880> + 1031: < 0.087041, 0.962605, 0.256544> + 1032: < 0.130743, 0.944802, 0.300427> + 1033: < 0.173351, 0.937897, 0.300496> + 1034: < 0.172679, 0.950800, 0.257217> + 1035: < 0.129981, 0.957663, 0.256880> + 1036: < 0.173351, 0.937897, 0.300496> + 1037: < 0.215649, 0.929096, 0.300461> + 1038: < 0.215220, 0.942000, 0.257519> + 1039: < 0.172679, 0.950800, 0.257217> + 1040: < 0.215649, 0.929096, 0.300461> + 1041: < 0.257736, 0.918390, 0.300219> + 1042: < 0.257702, 0.931225, 0.257702> + 1043: < 0.215220, 0.942000, 0.257519> + 1044: < 0.257736, 0.918390, 0.300219> + 1045: < 0.299762, 0.905696, 0.299762> + 1046: < 0.300219, 0.918390, 0.257736> + 1047: < 0.257702, 0.931225, 0.257702> + 1048: < 0.299762, 0.905696, 0.299762> + 1049: < 0.341811, 0.890906, 0.299085> + 1050: < 0.342852, 0.903367, 0.257643> + 1051: < 0.300219, 0.918390, 0.257736> + 1052: < 0.341811, 0.890906, 0.299085> + 1053: < 0.383986, 0.873840, 0.298259> + 1054: < 0.385664, 0.886018, 0.257364> + 1055: < 0.342852, 0.903367, 0.257643> + 1056: < 0.383986, 0.873840, 0.298259> + 1057: < 0.426323, 0.854324, 0.297287> + 1058: < 0.428698, 0.866124, 0.256999> + 1059: < 0.385664, 0.886018, 0.257364> + 1060: < 0.426323, 0.854324, 0.297287> + 1061: < 0.468770, 0.832128, 0.296339> + 1062: < 0.471888, 0.843490, 0.256606> + 1063: < 0.428698, 0.866124, 0.256999> + 1064: < 0.468770, 0.832128, 0.296339> + 1065: < 0.511198, 0.807082, 0.295457> + 1066: < 0.515110, 0.817925, 0.256243> + 1067: < 0.471888, 0.843490, 0.256606> + 1068: < 0.511198, 0.807082, 0.295457> + 1069: < 0.553415, 0.779017, 0.294729> + 1070: < 0.558172, 0.789266, 0.255937> + 1071: < 0.515110, 0.817925, 0.256243> + 1072: < 0.553415, 0.779017, 0.294729> + 1073: < 0.595158, 0.747816, 0.294207> + 1074: < 0.600829, 0.757361, 0.255750> + 1075: < 0.558172, 0.789266, 0.255937> + 1076: < 0.595158, 0.747816, 0.294207> + 1077: < 0.636150, 0.713396, 0.293904> + 1078: < 0.642833, 0.722093, 0.255632> + 1079: < 0.600829, 0.757361, 0.255750> + 1080: <-0.642833, 0.722093, 0.255632> + 1081: <-0.600829, 0.757361, 0.255750> + 1082: <-0.605748, 0.765608, 0.216596> + 1083: <-0.648606, 0.729636, 0.216660> + 1084: <-0.600829, 0.757361, 0.255750> + 1085: <-0.558172, 0.789266, 0.255937> + 1086: <-0.562257, 0.798110, 0.216534> + 1087: <-0.605748, 0.765608, 0.216596> + 1088: <-0.558172, 0.789266, 0.255937> + 1089: <-0.515110, 0.817925, 0.256243> + 1090: <-0.518435, 0.827263, 0.216475> + 1091: <-0.562257, 0.798110, 0.216534> + 1092: <-0.515110, 0.817925, 0.256243> + 1093: <-0.471888, 0.843490, 0.256606> + 1094: <-0.474515, 0.853230, 0.216413> + 1095: <-0.518435, 0.827263, 0.216475> + 1096: <-0.471888, 0.843490, 0.256606> + 1097: <-0.428698, 0.866124, 0.256999> + 1098: <-0.430657, 0.876208, 0.216320> + 1099: <-0.474515, 0.853230, 0.216413> + 1100: <-0.428698, 0.866124, 0.256999> + 1101: <-0.385664, 0.886018, 0.257364> + 1102: <-0.386985, 0.896382, 0.216199> + 1103: <-0.430657, 0.876208, 0.216320> + 1104: <-0.385664, 0.886018, 0.257364> + 1105: <-0.342852, 0.903367, 0.257643> + 1106: <-0.343582, 0.913949, 0.215982> + 1107: <-0.386985, 0.896382, 0.216199> + 1108: <-0.342852, 0.903367, 0.257643> + 1109: <-0.300219, 0.918390, 0.257736> + 1110: <-0.300461, 0.929096, 0.215649> + 1111: <-0.343582, 0.913949, 0.215982> + 1112: <-0.300219, 0.918390, 0.257736> + 1113: <-0.257702, 0.931225, 0.257702> + 1114: <-0.257519, 0.942000, 0.215220> + 1115: <-0.300461, 0.929096, 0.215649> + 1116: <-0.257702, 0.931225, 0.257702> + 1117: <-0.215220, 0.942000, 0.257519> + 1118: <-0.214732, 0.952775, 0.214732> + 1119: <-0.257519, 0.942000, 0.215220> + 1120: <-0.215220, 0.942000, 0.257519> + 1121: <-0.172679, 0.950800, 0.257217> + 1122: <-0.172005, 0.961530, 0.214182> + 1123: <-0.214732, 0.952775, 0.214732> + 1124: <-0.172679, 0.950800, 0.257217> + 1125: <-0.129981, 0.957663, 0.256880> + 1126: <-0.129250, 0.968319, 0.213666> + 1127: <-0.172005, 0.961530, 0.214182> + 1128: <-0.129981, 0.957663, 0.256880> + 1129: <-0.087041, 0.962605, 0.256544> + 1130: <-0.086398, 0.973180, 0.213204> + 1131: <-0.129250, 0.968319, 0.213666> + 1132: <-0.087041, 0.962605, 0.256544> + 1133: <-0.043703, 0.965618, 0.256267> + 1134: <-0.043306, 0.976120, 0.212870> + 1135: <-0.086398, 0.973180, 0.213204> + 1136: <-0.043703, 0.965618, 0.256267> + 1137: < 0.000000, 0.966630, 0.256177> + 1138: < 0.000000, 0.977107, 0.212750> + 1139: <-0.043306, 0.976120, 0.212870> + 1140: < 0.000000, 0.966630, 0.256177> + 1141: < 0.043703, 0.965618, 0.256267> + 1142: < 0.043306, 0.976120, 0.212870> + 1143: < 0.000000, 0.977107, 0.212750> + 1144: < 0.043703, 0.965618, 0.256267> + 1145: < 0.087041, 0.962605, 0.256544> + 1146: < 0.086398, 0.973180, 0.213204> + 1147: < 0.043306, 0.976120, 0.212870> + 1148: < 0.087041, 0.962605, 0.256544> + 1149: < 0.129981, 0.957663, 0.256880> + 1150: < 0.129250, 0.968319, 0.213666> + 1151: < 0.086398, 0.973180, 0.213204> + 1152: < 0.129981, 0.957663, 0.256880> + 1153: < 0.172679, 0.950800, 0.257217> + 1154: < 0.172005, 0.961530, 0.214182> + 1155: < 0.129250, 0.968319, 0.213666> + 1156: < 0.172679, 0.950800, 0.257217> + 1157: < 0.215220, 0.942000, 0.257519> + 1158: < 0.214732, 0.952775, 0.214732> + 1159: < 0.172005, 0.961530, 0.214182> + 1160: < 0.215220, 0.942000, 0.257519> + 1161: < 0.257702, 0.931225, 0.257702> + 1162: < 0.257519, 0.942000, 0.215220> + 1163: < 0.214732, 0.952775, 0.214732> + 1164: < 0.257702, 0.931225, 0.257702> + 1165: < 0.300219, 0.918390, 0.257736> + 1166: < 0.300461, 0.929096, 0.215649> + 1167: < 0.257519, 0.942000, 0.215220> + 1168: < 0.300219, 0.918390, 0.257736> + 1169: < 0.342852, 0.903367, 0.257643> + 1170: < 0.343582, 0.913949, 0.215982> + 1171: < 0.300461, 0.929096, 0.215649> + 1172: < 0.342852, 0.903367, 0.257643> + 1173: < 0.385664, 0.886018, 0.257364> + 1174: < 0.386985, 0.896382, 0.216199> + 1175: < 0.343582, 0.913949, 0.215982> + 1176: < 0.385664, 0.886018, 0.257364> + 1177: < 0.428698, 0.866124, 0.256999> + 1178: < 0.430657, 0.876208, 0.216320> + 1179: < 0.386985, 0.896382, 0.216199> + 1180: < 0.428698, 0.866124, 0.256999> + 1181: < 0.471888, 0.843490, 0.256606> + 1182: < 0.474515, 0.853230, 0.216413> + 1183: < 0.430657, 0.876208, 0.216320> + 1184: < 0.471888, 0.843490, 0.256606> + 1185: < 0.515110, 0.817925, 0.256243> + 1186: < 0.518435, 0.827263, 0.216475> + 1187: < 0.474515, 0.853230, 0.216413> + 1188: < 0.515110, 0.817925, 0.256243> + 1189: < 0.558172, 0.789266, 0.255937> + 1190: < 0.562257, 0.798110, 0.216534> + 1191: < 0.518435, 0.827263, 0.216475> + 1192: < 0.558172, 0.789266, 0.255937> + 1193: < 0.600829, 0.757361, 0.255750> + 1194: < 0.605748, 0.765608, 0.216596> + 1195: < 0.562257, 0.798110, 0.216534> + 1196: < 0.600829, 0.757361, 0.255750> + 1197: < 0.642833, 0.722093, 0.255632> + 1198: < 0.648606, 0.729636, 0.216660> + 1199: < 0.605748, 0.765608, 0.216596> + 1200: <-0.648606, 0.729636, 0.216660> + 1201: <-0.605748, 0.765608, 0.216596> + 1202: <-0.609892, 0.772589, 0.176461> + 1203: <-0.653502, 0.736025, 0.176644> + 1204: <-0.605748, 0.765608, 0.216596> + 1205: <-0.562257, 0.798110, 0.216534> + 1206: <-0.565675, 0.805587, 0.176188> + 1207: <-0.609892, 0.772589, 0.176461> + 1208: <-0.562257, 0.798110, 0.216534> + 1209: <-0.518435, 0.827263, 0.216475> + 1210: <-0.521180, 0.835133, 0.175853> + 1211: <-0.565675, 0.805587, 0.176188> + 1212: <-0.518435, 0.827263, 0.216475> + 1213: <-0.474515, 0.853230, 0.216413> + 1214: <-0.476614, 0.861427, 0.175453> + 1215: <-0.521180, 0.835133, 0.175853> + 1216: <-0.474515, 0.853230, 0.216413> + 1217: <-0.430657, 0.876208, 0.216320> + 1218: <-0.432149, 0.884654, 0.175026> + 1219: <-0.476614, 0.861427, 0.175453> + 1220: <-0.430657, 0.876208, 0.216320> + 1221: <-0.386985, 0.896382, 0.216199> + 1222: <-0.387965, 0.904997, 0.174541> + 1223: <-0.432149, 0.884654, 0.175026> + 1224: <-0.386985, 0.896382, 0.216199> + 1225: <-0.343582, 0.913949, 0.215982> + 1226: <-0.344072, 0.922682, 0.173989> + 1227: <-0.387965, 0.904997, 0.174541> + 1228: <-0.343582, 0.913949, 0.215982> + 1229: <-0.300461, 0.929096, 0.215649> + 1230: <-0.300496, 0.937897, 0.173351> + 1231: <-0.344072, 0.922682, 0.173989> + 1232: <-0.300461, 0.929096, 0.215649> + 1233: <-0.257519, 0.942000, 0.215220> + 1234: <-0.257217, 0.950800, 0.172679> + 1235: <-0.300496, 0.937897, 0.173351> + 1236: <-0.257519, 0.942000, 0.215220> + 1237: <-0.214732, 0.952775, 0.214732> + 1238: <-0.214182, 0.961530, 0.172005> + 1239: <-0.257217, 0.950800, 0.172679> + 1240: <-0.214732, 0.952775, 0.214732> + 1241: <-0.172005, 0.961530, 0.214182> + 1242: <-0.171305, 0.970211, 0.171305> + 1243: <-0.214182, 0.961530, 0.172005> + 1244: <-0.172005, 0.961530, 0.214182> + 1245: <-0.129250, 0.968319, 0.213666> + 1246: <-0.128545, 0.976904, 0.170691> + 1247: <-0.171305, 0.970211, 0.171305> + 1248: <-0.129250, 0.968319, 0.213666> + 1249: <-0.086398, 0.973180, 0.213204> + 1250: <-0.085788, 0.981668, 0.170203> + 1251: <-0.128545, 0.976904, 0.170691> + 1252: <-0.086398, 0.973180, 0.213204> + 1253: <-0.043306, 0.976120, 0.212870> + 1254: <-0.042970, 0.984535, 0.169837> + 1255: <-0.085788, 0.981668, 0.170203> + 1256: <-0.043306, 0.976120, 0.212870> + 1257: < 0.000000, 0.977107, 0.212750> + 1258: < 0.000000, 0.985488, 0.169746> + 1259: <-0.042970, 0.984535, 0.169837> + 1260: < 0.000000, 0.977107, 0.212750> + 1261: < 0.043306, 0.976120, 0.212870> + 1262: < 0.042970, 0.984530, 0.169866> + 1263: < 0.000000, 0.985488, 0.169746> + 1264: < 0.043306, 0.976120, 0.212870> + 1265: < 0.086398, 0.973180, 0.213204> + 1266: < 0.085788, 0.981668, 0.170203> + 1267: < 0.042970, 0.984530, 0.169866> + 1268: < 0.086398, 0.973180, 0.213204> + 1269: < 0.129250, 0.968319, 0.213666> + 1270: < 0.128545, 0.976904, 0.170691> + 1271: < 0.085788, 0.981668, 0.170203> + 1272: < 0.129250, 0.968319, 0.213666> + 1273: < 0.172005, 0.961530, 0.214182> + 1274: < 0.171305, 0.970211, 0.171305> + 1275: < 0.128545, 0.976904, 0.170691> + 1276: < 0.172005, 0.961530, 0.214182> + 1277: < 0.214732, 0.952775, 0.214732> + 1278: < 0.214182, 0.961530, 0.172005> + 1279: < 0.171305, 0.970211, 0.171305> + 1280: < 0.214732, 0.952775, 0.214732> + 1281: < 0.257519, 0.942000, 0.215220> + 1282: < 0.257217, 0.950800, 0.172679> + 1283: < 0.214182, 0.961530, 0.172005> + 1284: < 0.257519, 0.942000, 0.215220> + 1285: < 0.300461, 0.929096, 0.215649> + 1286: < 0.300496, 0.937897, 0.173351> + 1287: < 0.257217, 0.950800, 0.172679> + 1288: < 0.300461, 0.929096, 0.215649> + 1289: < 0.343582, 0.913949, 0.215982> + 1290: < 0.344072, 0.922682, 0.173989> + 1291: < 0.300496, 0.937897, 0.173351> + 1292: < 0.343582, 0.913949, 0.215982> + 1293: < 0.386985, 0.896382, 0.216199> + 1294: < 0.387965, 0.904997, 0.174541> + 1295: < 0.344072, 0.922682, 0.173989> + 1296: < 0.386985, 0.896382, 0.216199> + 1297: < 0.430657, 0.876208, 0.216320> + 1298: < 0.432149, 0.884654, 0.175026> + 1299: < 0.387965, 0.904997, 0.174541> + 1300: < 0.430657, 0.876208, 0.216320> + 1301: < 0.474515, 0.853230, 0.216413> + 1302: < 0.476614, 0.861427, 0.175453> + 1303: < 0.432149, 0.884654, 0.175026> + 1304: < 0.474515, 0.853230, 0.216413> + 1305: < 0.518435, 0.827263, 0.216475> + 1306: < 0.521180, 0.835133, 0.175853> + 1307: < 0.476614, 0.861427, 0.175453> + 1308: < 0.518435, 0.827263, 0.216475> + 1309: < 0.562257, 0.798110, 0.216534> + 1310: < 0.565675, 0.805587, 0.176188> + 1311: < 0.521180, 0.835133, 0.175853> + 1312: < 0.562257, 0.798110, 0.216534> + 1313: < 0.605748, 0.765608, 0.216596> + 1314: < 0.609892, 0.772589, 0.176461> + 1315: < 0.565675, 0.805587, 0.176188> + 1316: < 0.605748, 0.765608, 0.216596> + 1317: < 0.648606, 0.729636, 0.216660> + 1318: < 0.653502, 0.736025, 0.176644> + 1319: < 0.609892, 0.772589, 0.176461> + 1320: <-0.653502, 0.736025, 0.176644> + 1321: <-0.609892, 0.772589, 0.176461> + 1322: <-0.613215, 0.778292, 0.135015> + 1323: <-0.657468, 0.741243, 0.135260> + 1324: <-0.609892, 0.772589, 0.176461> + 1325: <-0.565675, 0.805587, 0.176188> + 1326: <-0.568382, 0.811677, 0.134618> + 1327: <-0.613215, 0.778292, 0.135015> + 1328: <-0.565675, 0.805587, 0.176188> + 1329: <-0.521180, 0.835133, 0.175853> + 1330: <-0.523307, 0.841527, 0.134100> + 1331: <-0.568382, 0.811677, 0.134618> + 1332: <-0.521180, 0.835133, 0.175853> + 1333: <-0.476614, 0.861427, 0.175453> + 1334: <-0.478208, 0.868033, 0.133553> + 1335: <-0.523307, 0.841527, 0.134100> + 1336: <-0.476614, 0.861427, 0.175453> + 1337: <-0.432149, 0.884654, 0.175026> + 1338: <-0.433256, 0.891416, 0.132913> + 1339: <-0.478208, 0.868033, 0.133553> + 1340: <-0.432149, 0.884654, 0.175026> + 1341: <-0.387965, 0.904997, 0.174541> + 1342: <-0.388632, 0.911854, 0.132240> + 1343: <-0.433256, 0.891416, 0.132913> + 1344: <-0.387965, 0.904997, 0.174541> + 1345: <-0.344072, 0.922682, 0.173989> + 1346: <-0.344322, 0.929596, 0.131509> + 1347: <-0.388632, 0.911854, 0.132240> + 1348: <-0.344072, 0.922682, 0.173989> + 1349: <-0.300496, 0.937897, 0.173351> + 1350: <-0.300427, 0.944802, 0.130743> + 1351: <-0.344322, 0.929596, 0.131509> + 1352: <-0.300496, 0.937897, 0.173351> + 1353: <-0.257217, 0.950800, 0.172679> + 1354: <-0.256880, 0.957663, 0.129981> + 1355: <-0.300427, 0.944802, 0.130743> + 1356: <-0.257217, 0.950800, 0.172679> + 1357: <-0.214182, 0.961530, 0.172005> + 1358: <-0.213666, 0.968319, 0.129250> + 1359: <-0.256880, 0.957663, 0.129981> + 1360: <-0.214182, 0.961530, 0.172005> + 1361: <-0.171305, 0.970211, 0.171305> + 1362: <-0.170691, 0.976904, 0.128545> + 1363: <-0.213666, 0.968319, 0.129250> + 1364: <-0.171305, 0.970211, 0.171305> + 1365: <-0.128545, 0.976904, 0.170691> + 1366: <-0.127935, 0.983497, 0.127935> + 1367: <-0.170691, 0.976904, 0.128545> + 1368: <-0.128545, 0.976904, 0.170691> + 1369: <-0.085788, 0.981668, 0.170203> + 1370: <-0.085300, 0.988171, 0.127447> + 1371: <-0.127935, 0.983497, 0.127935> + 1372: <-0.085788, 0.981668, 0.170203> + 1373: <-0.042970, 0.984535, 0.169837> + 1374: <-0.042666, 0.990966, 0.127144> + 1375: <-0.085300, 0.988171, 0.127447> + 1376: <-0.042970, 0.984535, 0.169837> + 1377: < 0.000000, 0.985488, 0.169746> + 1378: < 0.000000, 0.991900, 0.127020> + 1379: <-0.042666, 0.990966, 0.127144> + 1380: < 0.000000, 0.985488, 0.169746> + 1381: < 0.042970, 0.984530, 0.169866> + 1382: < 0.042666, 0.990966, 0.127144> + 1383: < 0.000000, 0.991900, 0.127020> + 1384: < 0.042970, 0.984530, 0.169866> + 1385: < 0.085788, 0.981668, 0.170203> + 1386: < 0.085300, 0.988171, 0.127447> + 1387: < 0.042666, 0.990966, 0.127144> + 1388: < 0.085788, 0.981668, 0.170203> + 1389: < 0.128545, 0.976904, 0.170691> + 1390: < 0.127935, 0.983497, 0.127935> + 1391: < 0.085300, 0.988171, 0.127447> + 1392: < 0.128545, 0.976904, 0.170691> + 1393: < 0.171305, 0.970211, 0.171305> + 1394: < 0.170691, 0.976904, 0.128545> + 1395: < 0.127935, 0.983497, 0.127935> + 1396: < 0.171305, 0.970211, 0.171305> + 1397: < 0.214182, 0.961530, 0.172005> + 1398: < 0.213666, 0.968319, 0.129250> + 1399: < 0.170691, 0.976904, 0.128545> + 1400: < 0.214182, 0.961530, 0.172005> + 1401: < 0.257217, 0.950800, 0.172679> + 1402: < 0.256880, 0.957663, 0.129981> + 1403: < 0.213666, 0.968319, 0.129250> + 1404: < 0.257217, 0.950800, 0.172679> + 1405: < 0.300496, 0.937897, 0.173351> + 1406: < 0.300427, 0.944802, 0.130743> + 1407: < 0.256880, 0.957663, 0.129981> + 1408: < 0.300496, 0.937897, 0.173351> + 1409: < 0.344072, 0.922682, 0.173989> + 1410: < 0.344322, 0.929596, 0.131509> + 1411: < 0.300427, 0.944802, 0.130743> + 1412: < 0.344072, 0.922682, 0.173989> + 1413: < 0.387965, 0.904997, 0.174541> + 1414: < 0.388632, 0.911854, 0.132240> + 1415: < 0.344322, 0.929596, 0.131509> + 1416: < 0.387965, 0.904997, 0.174541> + 1417: < 0.432149, 0.884654, 0.175026> + 1418: < 0.433281, 0.891405, 0.132911> + 1419: < 0.388632, 0.911854, 0.132240> + 1420: < 0.432149, 0.884654, 0.175026> + 1421: < 0.476614, 0.861427, 0.175453> + 1422: < 0.478208, 0.868033, 0.133553> + 1423: < 0.433281, 0.891405, 0.132911> + 1424: < 0.476614, 0.861427, 0.175453> + 1425: < 0.521180, 0.835133, 0.175853> + 1426: < 0.523307, 0.841527, 0.134100> + 1427: < 0.478208, 0.868033, 0.133553> + 1428: < 0.521180, 0.835133, 0.175853> + 1429: < 0.565675, 0.805587, 0.176188> + 1430: < 0.568382, 0.811677, 0.134618> + 1431: < 0.523307, 0.841527, 0.134100> + 1432: < 0.565675, 0.805587, 0.176188> + 1433: < 0.609892, 0.772589, 0.176461> + 1434: < 0.613196, 0.778306, 0.135018> + 1435: < 0.568382, 0.811677, 0.134618> + 1436: < 0.609892, 0.772589, 0.176461> + 1437: < 0.653502, 0.736025, 0.176644> + 1438: < 0.657468, 0.741243, 0.135260> + 1439: < 0.613196, 0.778306, 0.135018> + 1440: <-0.657468, 0.741243, 0.135260> + 1441: <-0.613215, 0.778292, 0.135015> + 1442: <-0.615697, 0.782607, 0.091894> + 1443: <-0.660463, 0.745184, 0.092137> + 1444: <-0.613215, 0.778292, 0.135015> + 1445: <-0.568382, 0.811677, 0.134618> + 1446: <-0.570377, 0.816271, 0.091497> + 1447: <-0.615697, 0.782607, 0.091894> + 1448: <-0.568382, 0.811677, 0.134618> + 1449: <-0.523307, 0.841527, 0.134100> + 1450: <-0.524836, 0.846324, 0.091008> + 1451: <-0.570377, 0.816271, 0.091497> + 1452: <-0.523307, 0.841527, 0.134100> + 1453: <-0.478208, 0.868033, 0.133553> + 1454: <-0.479307, 0.872976, 0.090429> + 1455: <-0.524836, 0.846324, 0.091008> + 1456: <-0.478208, 0.868033, 0.133553> + 1457: <-0.433256, 0.891416, 0.132913> + 1458: <-0.433981, 0.896437, 0.089787> + 1459: <-0.479307, 0.872976, 0.090429> + 1460: <-0.433256, 0.891416, 0.132913> + 1461: <-0.388632, 0.911854, 0.132240> + 1462: <-0.388998, 0.916918, 0.089116> + 1463: <-0.433981, 0.896437, 0.089787> + 1464: <-0.388632, 0.911854, 0.132240> + 1465: <-0.344322, 0.929596, 0.131509> + 1466: <-0.344408, 0.934648, 0.088414> + 1467: <-0.388998, 0.916918, 0.089116> + 1468: <-0.344322, 0.929596, 0.131509> + 1469: <-0.300427, 0.944802, 0.130743> + 1470: <-0.300248, 0.949820, 0.087712> + 1471: <-0.344408, 0.934648, 0.088414> + 1472: <-0.300427, 0.944802, 0.130743> + 1473: <-0.256880, 0.957663, 0.129981> + 1474: <-0.256544, 0.962605, 0.087041> + 1475: <-0.300248, 0.949820, 0.087712> + 1476: <-0.256880, 0.957663, 0.129981> + 1477: <-0.213666, 0.968319, 0.129250> + 1478: <-0.213204, 0.973180, 0.086398> + 1479: <-0.256544, 0.962605, 0.087041> + 1480: <-0.213666, 0.968319, 0.129250> + 1481: <-0.170691, 0.976904, 0.128545> + 1482: <-0.170203, 0.981668, 0.085788> + 1483: <-0.213204, 0.973180, 0.086398> + 1484: <-0.170691, 0.976904, 0.128545> + 1485: <-0.127935, 0.983497, 0.127935> + 1486: <-0.127447, 0.988171, 0.085300> + 1487: <-0.170203, 0.981668, 0.085788> + 1488: <-0.127935, 0.983497, 0.127935> + 1489: <-0.085300, 0.988171, 0.127447> + 1490: <-0.084905, 0.992765, 0.084905> + 1491: <-0.127447, 0.988171, 0.085300> + 1492: <-0.085300, 0.988171, 0.127447> + 1493: <-0.042666, 0.990966, 0.127144> + 1494: <-0.042452, 0.995505, 0.084660> + 1495: <-0.084905, 0.992765, 0.084905> + 1496: <-0.042666, 0.990966, 0.127144> + 1497: < 0.000000, 0.991900, 0.127020> + 1498: < 0.000000, 0.996418, 0.084568> + 1499: <-0.042452, 0.995505, 0.084660> + 1500: < 0.000000, 0.991900, 0.127020> + 1501: < 0.042666, 0.990966, 0.127144> + 1502: < 0.042452, 0.995505, 0.084660> + 1503: < 0.000000, 0.996418, 0.084568> + 1504: < 0.042666, 0.990966, 0.127144> + 1505: < 0.085300, 0.988171, 0.127447> + 1506: < 0.084905, 0.992765, 0.084905> + 1507: < 0.042452, 0.995505, 0.084660> + 1508: < 0.085300, 0.988171, 0.127447> + 1509: < 0.127935, 0.983497, 0.127935> + 1510: < 0.127447, 0.988171, 0.085300> + 1511: < 0.084905, 0.992765, 0.084905> + 1512: < 0.127935, 0.983497, 0.127935> + 1513: < 0.170691, 0.976904, 0.128545> + 1514: < 0.170203, 0.981668, 0.085788> + 1515: < 0.127447, 0.988171, 0.085300> + 1516: < 0.170691, 0.976904, 0.128545> + 1517: < 0.213666, 0.968319, 0.129250> + 1518: < 0.213204, 0.973180, 0.086398> + 1519: < 0.170203, 0.981668, 0.085788> + 1520: < 0.213666, 0.968319, 0.129250> + 1521: < 0.256880, 0.957663, 0.129981> + 1522: < 0.256544, 0.962605, 0.087041> + 1523: < 0.213204, 0.973180, 0.086398> + 1524: < 0.256880, 0.957663, 0.129981> + 1525: < 0.300427, 0.944802, 0.130743> + 1526: < 0.300248, 0.949820, 0.087712> + 1527: < 0.256544, 0.962605, 0.087041> + 1528: < 0.300427, 0.944802, 0.130743> + 1529: < 0.344322, 0.929596, 0.131509> + 1530: < 0.344408, 0.934648, 0.088414> + 1531: < 0.300248, 0.949820, 0.087712> + 1532: < 0.344322, 0.929596, 0.131509> + 1533: < 0.388632, 0.911854, 0.132240> + 1534: < 0.388998, 0.916918, 0.089116> + 1535: < 0.344408, 0.934648, 0.088414> + 1536: < 0.388632, 0.911854, 0.132240> + 1537: < 0.433281, 0.891405, 0.132911> + 1538: < 0.433981, 0.896437, 0.089787> + 1539: < 0.388998, 0.916918, 0.089116> + 1540: < 0.433281, 0.891405, 0.132911> + 1541: < 0.478208, 0.868033, 0.133553> + 1542: < 0.479307, 0.872976, 0.090429> + 1543: < 0.433981, 0.896437, 0.089787> + 1544: < 0.478208, 0.868033, 0.133553> + 1545: < 0.523307, 0.841527, 0.134100> + 1546: < 0.524836, 0.846324, 0.091008> + 1547: < 0.479307, 0.872976, 0.090429> + 1548: < 0.523307, 0.841527, 0.134100> + 1549: < 0.568382, 0.811677, 0.134618> + 1550: < 0.570377, 0.816271, 0.091497> + 1551: < 0.524836, 0.846324, 0.091008> + 1552: < 0.568382, 0.811677, 0.134618> + 1553: < 0.613196, 0.778306, 0.135018> + 1554: < 0.615697, 0.782607, 0.091894> + 1555: < 0.570377, 0.816271, 0.091497> + 1556: < 0.613196, 0.778306, 0.135018> + 1557: < 0.657468, 0.741243, 0.135260> + 1558: < 0.660463, 0.745184, 0.092137> + 1559: < 0.615697, 0.782607, 0.091894> + 1560: <-0.660463, 0.745184, 0.092137> + 1561: <-0.615697, 0.782607, 0.091894> + 1562: <-0.617246, 0.785375, 0.046847> + 1563: <-0.662354, 0.747715, 0.046999> + 1564: <-0.615697, 0.782607, 0.091894> + 1565: <-0.570377, 0.816271, 0.091497> + 1566: <-0.571602, 0.819208, 0.046573> + 1567: <-0.617246, 0.785375, 0.046847> + 1568: <-0.570377, 0.816271, 0.091497> + 1569: <-0.524836, 0.846324, 0.091008> + 1570: <-0.525753, 0.849378, 0.046267> + 1571: <-0.571602, 0.819208, 0.046573> + 1572: <-0.524836, 0.846324, 0.091008> + 1573: <-0.479307, 0.872976, 0.090429> + 1574: <-0.479951, 0.876095, 0.045871> + 1575: <-0.525753, 0.849378, 0.046267> + 1576: <-0.479307, 0.872976, 0.090429> + 1577: <-0.433981, 0.896437, 0.089787> + 1578: <-0.434379, 0.899583, 0.045443> + 1579: <-0.479951, 0.876095, 0.045871> + 1580: <-0.433981, 0.896437, 0.089787> + 1581: <-0.388998, 0.916918, 0.089116> + 1582: <-0.389180, 0.920061, 0.045016> + 1583: <-0.434379, 0.899583, 0.045443> + 1584: <-0.388998, 0.916918, 0.089116> + 1585: <-0.344408, 0.934648, 0.088414> + 1586: <-0.344409, 0.937762, 0.044558> + 1587: <-0.389180, 0.920061, 0.045016> + 1588: <-0.344408, 0.934648, 0.088414> + 1589: <-0.300248, 0.949820, 0.087712> + 1590: <-0.300092, 0.952889, 0.044130> + 1591: <-0.344409, 0.937762, 0.044558> + 1592: <-0.300248, 0.949820, 0.087712> + 1593: <-0.256544, 0.962605, 0.087041> + 1594: <-0.256267, 0.965618, 0.043703> + 1595: <-0.300092, 0.952889, 0.044130> + 1596: <-0.256544, 0.962605, 0.087041> + 1597: <-0.213204, 0.973180, 0.086398> + 1598: <-0.212870, 0.976120, 0.043306> + 1599: <-0.256267, 0.965618, 0.043703> + 1600: <-0.213204, 0.973180, 0.086398> + 1601: <-0.170203, 0.981668, 0.085788> + 1602: <-0.169837, 0.984535, 0.042970> + 1603: <-0.212870, 0.976120, 0.043306> + 1604: <-0.170203, 0.981668, 0.085788> + 1605: <-0.127447, 0.988171, 0.085300> + 1606: <-0.127144, 0.990966, 0.042666> + 1607: <-0.169837, 0.984535, 0.042970> + 1608: <-0.127447, 0.988171, 0.085300> + 1609: <-0.084905, 0.992765, 0.084905> + 1610: <-0.084660, 0.995505, 0.042452> + 1611: <-0.127144, 0.990966, 0.042666> + 1612: <-0.084905, 0.992765, 0.084905> + 1613: <-0.042452, 0.995505, 0.084660> + 1614: <-0.042299, 0.998209, 0.042299> + 1615: <-0.084660, 0.995505, 0.042452> + 1616: <-0.042452, 0.995505, 0.084660> + 1617: < 0.000000, 0.996418, 0.084568> + 1618: < 0.000000, 0.999108, 0.042239> + 1619: <-0.042299, 0.998209, 0.042299> + 1620: < 0.000000, 0.996418, 0.084568> + 1621: < 0.042452, 0.995505, 0.084660> + 1622: < 0.042299, 0.998209, 0.042299> + 1623: < 0.000000, 0.999108, 0.042239> + 1624: < 0.042452, 0.995505, 0.084660> + 1625: < 0.084905, 0.992765, 0.084905> + 1626: < 0.084660, 0.995505, 0.042452> + 1627: < 0.042299, 0.998209, 0.042299> + 1628: < 0.084905, 0.992765, 0.084905> + 1629: < 0.127447, 0.988171, 0.085300> + 1630: < 0.127144, 0.990966, 0.042666> + 1631: < 0.084660, 0.995505, 0.042452> + 1632: < 0.127447, 0.988171, 0.085300> + 1633: < 0.170203, 0.981668, 0.085788> + 1634: < 0.169837, 0.984535, 0.042970> + 1635: < 0.127144, 0.990966, 0.042666> + 1636: < 0.170203, 0.981668, 0.085788> + 1637: < 0.213204, 0.973180, 0.086398> + 1638: < 0.212870, 0.976120, 0.043306> + 1639: < 0.169837, 0.984535, 0.042970> + 1640: < 0.213204, 0.973180, 0.086398> + 1641: < 0.256544, 0.962605, 0.087041> + 1642: < 0.256267, 0.965618, 0.043703> + 1643: < 0.212870, 0.976120, 0.043306> + 1644: < 0.256544, 0.962605, 0.087041> + 1645: < 0.300248, 0.949820, 0.087712> + 1646: < 0.300092, 0.952889, 0.044130> + 1647: < 0.256267, 0.965618, 0.043703> + 1648: < 0.300248, 0.949820, 0.087712> + 1649: < 0.344408, 0.934648, 0.088414> + 1650: < 0.344409, 0.937762, 0.044558> + 1651: < 0.300092, 0.952889, 0.044130> + 1652: < 0.344408, 0.934648, 0.088414> + 1653: < 0.388998, 0.916918, 0.089116> + 1654: < 0.389180, 0.920061, 0.045016> + 1655: < 0.344409, 0.937762, 0.044558> + 1656: < 0.388998, 0.916918, 0.089116> + 1657: < 0.433981, 0.896437, 0.089787> + 1658: < 0.434379, 0.899583, 0.045443> + 1659: < 0.389180, 0.920061, 0.045016> + 1660: < 0.433981, 0.896437, 0.089787> + 1661: < 0.479307, 0.872976, 0.090429> + 1662: < 0.479951, 0.876095, 0.045871> + 1663: < 0.434379, 0.899583, 0.045443> + 1664: < 0.479307, 0.872976, 0.090429> + 1665: < 0.524836, 0.846324, 0.091008> + 1666: < 0.525753, 0.849378, 0.046267> + 1667: < 0.479951, 0.876095, 0.045871> + 1668: < 0.524836, 0.846324, 0.091008> + 1669: < 0.570377, 0.816271, 0.091497> + 1670: < 0.571602, 0.819208, 0.046573> + 1671: < 0.525753, 0.849378, 0.046267> + 1672: < 0.570377, 0.816271, 0.091497> + 1673: < 0.615697, 0.782607, 0.091894> + 1674: < 0.617246, 0.785375, 0.046847> + 1675: < 0.571602, 0.819208, 0.046573> + 1676: < 0.615697, 0.782607, 0.091894> + 1677: < 0.660463, 0.745184, 0.092137> + 1678: < 0.662354, 0.747715, 0.046999> + 1679: < 0.617246, 0.785375, 0.046847> + 1680: <-0.662354, 0.747715, 0.046999> + 1681: <-0.617246, 0.785375, 0.046847> + 1682: <-0.617789, 0.786344, 0.000000> + 1683: <-0.663024, 0.748599, 0.000000> + 1684: <-0.617246, 0.785375, 0.046847> + 1685: <-0.571602, 0.819208, 0.046573> + 1686: <-0.572024, 0.820237, 0.000000> + 1687: <-0.617789, 0.786344, 0.000000> + 1688: <-0.571602, 0.819208, 0.046573> + 1689: <-0.525753, 0.849378, 0.046267> + 1690: <-0.526081, 0.850434, 0.000000> + 1691: <-0.572024, 0.820237, 0.000000> + 1692: <-0.525753, 0.849378, 0.046267> + 1693: <-0.479951, 0.876095, 0.045871> + 1694: <-0.480182, 0.877169, 0.000000> + 1695: <-0.526081, 0.850434, 0.000000> + 1696: <-0.479951, 0.876095, 0.045871> + 1697: <-0.434379, 0.899583, 0.045443> + 1698: <-0.434534, 0.900655, 0.000000> + 1699: <-0.480182, 0.877169, 0.000000> + 1700: <-0.434379, 0.899583, 0.045443> + 1701: <-0.389180, 0.920061, 0.045016> + 1702: <-0.389244, 0.921135, 0.000000> + 1703: <-0.434534, 0.900655, 0.000000> + 1704: <-0.389180, 0.920061, 0.045016> + 1705: <-0.344409, 0.937762, 0.044558> + 1706: <-0.344405, 0.938821, 0.000000> + 1707: <-0.389244, 0.921135, 0.000000> + 1708: <-0.344409, 0.937762, 0.044558> + 1709: <-0.300092, 0.952889, 0.044130> + 1710: <-0.300059, 0.953921, 0.000000> + 1711: <-0.344405, 0.938821, 0.000000> + 1712: <-0.300092, 0.952889, 0.044130> + 1713: <-0.256267, 0.965618, 0.043703> + 1714: <-0.256177, 0.966630, 0.000000> + 1715: <-0.300059, 0.953921, 0.000000> + 1716: <-0.256267, 0.965618, 0.043703> + 1717: <-0.212870, 0.976120, 0.043306> + 1718: <-0.212750, 0.977107, 0.000000> + 1719: <-0.256177, 0.966630, 0.000000> + 1720: <-0.212870, 0.976120, 0.043306> + 1721: <-0.169837, 0.984535, 0.042970> + 1722: <-0.169746, 0.985488, 0.000000> + 1723: <-0.212750, 0.977107, 0.000000> + 1724: <-0.169837, 0.984535, 0.042970> + 1725: <-0.127144, 0.990966, 0.042666> + 1726: <-0.127020, 0.991900, 0.000000> + 1727: <-0.169746, 0.985488, 0.000000> + 1728: <-0.127144, 0.990966, 0.042666> + 1729: <-0.084660, 0.995505, 0.042452> + 1730: <-0.084568, 0.996418, 0.000000> + 1731: <-0.127020, 0.991900, 0.000000> + 1732: <-0.084660, 0.995505, 0.042452> + 1733: <-0.042299, 0.998209, 0.042299> + 1734: <-0.042239, 0.999108, 0.000000> + 1735: <-0.084568, 0.996418, 0.000000> + 1736: <-0.042299, 0.998209, 0.042299> + 1737: < 0.000000, 0.999108, 0.042239> + 1738: < 0.000000, 1.000000, 0.000000> + 1739: <-0.042239, 0.999108, 0.000000> + 1740: < 0.000000, 0.999108, 0.042239> + 1741: < 0.042299, 0.998209, 0.042299> + 1742: < 0.042239, 0.999108, 0.000000> + 1743: < 0.000000, 1.000000, 0.000000> + 1744: < 0.042299, 0.998209, 0.042299> + 1745: < 0.084660, 0.995505, 0.042452> + 1746: < 0.084568, 0.996418, 0.000000> + 1747: < 0.042239, 0.999108, 0.000000> + 1748: < 0.084660, 0.995505, 0.042452> + 1749: < 0.127144, 0.990966, 0.042666> + 1750: < 0.127020, 0.991900, 0.000000> + 1751: < 0.084568, 0.996418, 0.000000> + 1752: < 0.127144, 0.990966, 0.042666> + 1753: < 0.169837, 0.984535, 0.042970> + 1754: < 0.169746, 0.985488, 0.000000> + 1755: < 0.127020, 0.991900, 0.000000> + 1756: < 0.169837, 0.984535, 0.042970> + 1757: < 0.212870, 0.976120, 0.043306> + 1758: < 0.212750, 0.977107, 0.000000> + 1759: < 0.169746, 0.985488, 0.000000> + 1760: < 0.212870, 0.976120, 0.043306> + 1761: < 0.256267, 0.965618, 0.043703> + 1762: < 0.256177, 0.966630, 0.000000> + 1763: < 0.212750, 0.977107, 0.000000> + 1764: < 0.256267, 0.965618, 0.043703> + 1765: < 0.300092, 0.952889, 0.044130> + 1766: < 0.300059, 0.953921, 0.000000> + 1767: < 0.256177, 0.966630, 0.000000> + 1768: < 0.300092, 0.952889, 0.044130> + 1769: < 0.344409, 0.937762, 0.044558> + 1770: < 0.344405, 0.938821, 0.000000> + 1771: < 0.300059, 0.953921, 0.000000> + 1772: < 0.344409, 0.937762, 0.044558> + 1773: < 0.389180, 0.920061, 0.045016> + 1774: < 0.389244, 0.921135, 0.000000> + 1775: < 0.344405, 0.938821, 0.000000> + 1776: < 0.389180, 0.920061, 0.045016> + 1777: < 0.434379, 0.899583, 0.045443> + 1778: < 0.434534, 0.900655, 0.000000> + 1779: < 0.389244, 0.921135, 0.000000> + 1780: < 0.434379, 0.899583, 0.045443> + 1781: < 0.479951, 0.876095, 0.045871> + 1782: < 0.480182, 0.877169, 0.000000> + 1783: < 0.434534, 0.900655, 0.000000> + 1784: < 0.479951, 0.876095, 0.045871> + 1785: < 0.525753, 0.849378, 0.046267> + 1786: < 0.526081, 0.850434, 0.000000> + 1787: < 0.480182, 0.877169, 0.000000> + 1788: < 0.525753, 0.849378, 0.046267> + 1789: < 0.571602, 0.819208, 0.046573> + 1790: < 0.572024, 0.820237, 0.000000> + 1791: < 0.526081, 0.850434, 0.000000> + 1792: < 0.571602, 0.819208, 0.046573> + 1793: < 0.617246, 0.785375, 0.046847> + 1794: < 0.617789, 0.786344, 0.000000> + 1795: < 0.572024, 0.820237, 0.000000> + 1796: < 0.617246, 0.785375, 0.046847> + 1797: < 0.662354, 0.747715, 0.046999> + 1798: < 0.663024, 0.748599, 0.000000> + 1799: < 0.617789, 0.786344, 0.000000> + 1800: <-0.663024, 0.748599, 0.000000> + 1801: <-0.617789, 0.786344, 0.000000> + 1802: <-0.617246, 0.785375, -0.046847> + 1803: <-0.662354, 0.747715, -0.046999> + 1804: <-0.617789, 0.786344, 0.000000> + 1805: <-0.572024, 0.820237, 0.000000> + 1806: <-0.571602, 0.819208, -0.046573> + 1807: <-0.617246, 0.785375, -0.046847> + 1808: <-0.572024, 0.820237, 0.000000> + 1809: <-0.526081, 0.850434, 0.000000> + 1810: <-0.525753, 0.849378, -0.046267> + 1811: <-0.571602, 0.819208, -0.046573> + 1812: <-0.526081, 0.850434, 0.000000> + 1813: <-0.480182, 0.877169, 0.000000> + 1814: <-0.479951, 0.876095, -0.045871> + 1815: <-0.525753, 0.849378, -0.046267> + 1816: <-0.480182, 0.877169, 0.000000> + 1817: <-0.434534, 0.900655, 0.000000> + 1818: <-0.434379, 0.899583, -0.045443> + 1819: <-0.479951, 0.876095, -0.045871> + 1820: <-0.434534, 0.900655, 0.000000> + 1821: <-0.389244, 0.921135, 0.000000> + 1822: <-0.389180, 0.920061, -0.045016> + 1823: <-0.434379, 0.899583, -0.045443> + 1824: <-0.389244, 0.921135, 0.000000> + 1825: <-0.344405, 0.938821, 0.000000> + 1826: <-0.344409, 0.937762, -0.044558> + 1827: <-0.389180, 0.920061, -0.045016> + 1828: <-0.344405, 0.938821, 0.000000> + 1829: <-0.300059, 0.953921, 0.000000> + 1830: <-0.300119, 0.952880, -0.044130> + 1831: <-0.344409, 0.937762, -0.044558> + 1832: <-0.300059, 0.953921, 0.000000> + 1833: <-0.256177, 0.966630, 0.000000> + 1834: <-0.256267, 0.965618, -0.043703> + 1835: <-0.300119, 0.952880, -0.044130> + 1836: <-0.256177, 0.966630, 0.000000> + 1837: <-0.212750, 0.977107, 0.000000> + 1838: <-0.212870, 0.976120, -0.043306> + 1839: <-0.256267, 0.965618, -0.043703> + 1840: <-0.212750, 0.977107, 0.000000> + 1841: <-0.169746, 0.985488, 0.000000> + 1842: <-0.169866, 0.984530, -0.042970> + 1843: <-0.212870, 0.976120, -0.043306> + 1844: <-0.169746, 0.985488, 0.000000> + 1845: <-0.127020, 0.991900, 0.000000> + 1846: <-0.127144, 0.990966, -0.042666> + 1847: <-0.169866, 0.984530, -0.042970> + 1848: <-0.127020, 0.991900, 0.000000> + 1849: <-0.084568, 0.996418, 0.000000> + 1850: <-0.084660, 0.995505, -0.042452> + 1851: <-0.127144, 0.990966, -0.042666> + 1852: <-0.084568, 0.996418, 0.000000> + 1853: <-0.042239, 0.999108, 0.000000> + 1854: <-0.042299, 0.998209, -0.042299> + 1855: <-0.084660, 0.995505, -0.042452> + 1856: <-0.042239, 0.999108, 0.000000> + 1857: < 0.000000, 1.000000, 0.000000> + 1858: < 0.000000, 0.999108, -0.042239> + 1859: <-0.042299, 0.998209, -0.042299> + 1860: < 0.000000, 1.000000, 0.000000> + 1861: < 0.042239, 0.999108, 0.000000> + 1862: < 0.042299, 0.998209, -0.042299> + 1863: < 0.000000, 0.999108, -0.042239> + 1864: < 0.042239, 0.999108, 0.000000> + 1865: < 0.084568, 0.996418, 0.000000> + 1866: < 0.084660, 0.995505, -0.042452> + 1867: < 0.042299, 0.998209, -0.042299> + 1868: < 0.084568, 0.996418, 0.000000> + 1869: < 0.127020, 0.991900, 0.000000> + 1870: < 0.127144, 0.990966, -0.042666> + 1871: < 0.084660, 0.995505, -0.042452> + 1872: < 0.127020, 0.991900, 0.000000> + 1873: < 0.169746, 0.985488, 0.000000> + 1874: < 0.169866, 0.984530, -0.042970> + 1875: < 0.127144, 0.990966, -0.042666> + 1876: < 0.169746, 0.985488, 0.000000> + 1877: < 0.212750, 0.977107, 0.000000> + 1878: < 0.212870, 0.976120, -0.043306> + 1879: < 0.169866, 0.984530, -0.042970> + 1880: < 0.212750, 0.977107, 0.000000> + 1881: < 0.256177, 0.966630, 0.000000> + 1882: < 0.256267, 0.965618, -0.043703> + 1883: < 0.212870, 0.976120, -0.043306> + 1884: < 0.256177, 0.966630, 0.000000> + 1885: < 0.300059, 0.953921, 0.000000> + 1886: < 0.300092, 0.952889, -0.044130> + 1887: < 0.256267, 0.965618, -0.043703> + 1888: < 0.300059, 0.953921, 0.000000> + 1889: < 0.344405, 0.938821, 0.000000> + 1890: < 0.344409, 0.937762, -0.044558> + 1891: < 0.300092, 0.952889, -0.044130> + 1892: < 0.344405, 0.938821, 0.000000> + 1893: < 0.389244, 0.921135, 0.000000> + 1894: < 0.389180, 0.920061, -0.045016> + 1895: < 0.344409, 0.937762, -0.044558> + 1896: < 0.389244, 0.921135, 0.000000> + 1897: < 0.434534, 0.900655, 0.000000> + 1898: < 0.434379, 0.899583, -0.045443> + 1899: < 0.389180, 0.920061, -0.045016> + 1900: < 0.434534, 0.900655, 0.000000> + 1901: < 0.480182, 0.877169, 0.000000> + 1902: < 0.479951, 0.876095, -0.045871> + 1903: < 0.434379, 0.899583, -0.045443> + 1904: < 0.480182, 0.877169, 0.000000> + 1905: < 0.526081, 0.850434, 0.000000> + 1906: < 0.525753, 0.849378, -0.046267> + 1907: < 0.479951, 0.876095, -0.045871> + 1908: < 0.526081, 0.850434, 0.000000> + 1909: < 0.572024, 0.820237, 0.000000> + 1910: < 0.571602, 0.819208, -0.046573> + 1911: < 0.525753, 0.849378, -0.046267> + 1912: < 0.572024, 0.820237, 0.000000> + 1913: < 0.617789, 0.786344, 0.000000> + 1914: < 0.617246, 0.785375, -0.046847> + 1915: < 0.571602, 0.819208, -0.046573> + 1916: < 0.617789, 0.786344, 0.000000> + 1917: < 0.663024, 0.748599, 0.000000> + 1918: < 0.662354, 0.747715, -0.046999> + 1919: < 0.617246, 0.785375, -0.046847> + 1920: <-0.662354, 0.747715, -0.046999> + 1921: <-0.617246, 0.785375, -0.046847> + 1922: <-0.615697, 0.782607, -0.091894> + 1923: <-0.660463, 0.745184, -0.092137> + 1924: <-0.617246, 0.785375, -0.046847> + 1925: <-0.571602, 0.819208, -0.046573> + 1926: <-0.570377, 0.816271, -0.091497> + 1927: <-0.615697, 0.782607, -0.091894> + 1928: <-0.571602, 0.819208, -0.046573> + 1929: <-0.525753, 0.849378, -0.046267> + 1930: <-0.524836, 0.846324, -0.091008> + 1931: <-0.570377, 0.816271, -0.091497> + 1932: <-0.525753, 0.849378, -0.046267> + 1933: <-0.479951, 0.876095, -0.045871> + 1934: <-0.479307, 0.872976, -0.090429> + 1935: <-0.524836, 0.846324, -0.091008> + 1936: <-0.479951, 0.876095, -0.045871> + 1937: <-0.434379, 0.899583, -0.045443> + 1938: <-0.433981, 0.896437, -0.089787> + 1939: <-0.479307, 0.872976, -0.090429> + 1940: <-0.434379, 0.899583, -0.045443> + 1941: <-0.389180, 0.920061, -0.045016> + 1942: <-0.388998, 0.916918, -0.089116> + 1943: <-0.433981, 0.896437, -0.089787> + 1944: <-0.389180, 0.920061, -0.045016> + 1945: <-0.344409, 0.937762, -0.044558> + 1946: <-0.344408, 0.934648, -0.088414> + 1947: <-0.388998, 0.916918, -0.089116> + 1948: <-0.344409, 0.937762, -0.044558> + 1949: <-0.300119, 0.952880, -0.044130> + 1950: <-0.300248, 0.949820, -0.087712> + 1951: <-0.344408, 0.934648, -0.088414> + 1952: <-0.300119, 0.952880, -0.044130> + 1953: <-0.256267, 0.965618, -0.043703> + 1954: <-0.256544, 0.962605, -0.087041> + 1955: <-0.300248, 0.949820, -0.087712> + 1956: <-0.256267, 0.965618, -0.043703> + 1957: <-0.212870, 0.976120, -0.043306> + 1958: <-0.213204, 0.973180, -0.086398> + 1959: <-0.256544, 0.962605, -0.087041> + 1960: <-0.212870, 0.976120, -0.043306> + 1961: <-0.169866, 0.984530, -0.042970> + 1962: <-0.170203, 0.981668, -0.085788> + 1963: <-0.213204, 0.973180, -0.086398> + 1964: <-0.169866, 0.984530, -0.042970> + 1965: <-0.127144, 0.990966, -0.042666> + 1966: <-0.127447, 0.988171, -0.085300> + 1967: <-0.170203, 0.981668, -0.085788> + 1968: <-0.127144, 0.990966, -0.042666> + 1969: <-0.084660, 0.995505, -0.042452> + 1970: <-0.084905, 0.992765, -0.084905> + 1971: <-0.127447, 0.988171, -0.085300> + 1972: <-0.084660, 0.995505, -0.042452> + 1973: <-0.042299, 0.998209, -0.042299> + 1974: <-0.042452, 0.995505, -0.084660> + 1975: <-0.084905, 0.992765, -0.084905> + 1976: <-0.042299, 0.998209, -0.042299> + 1977: < 0.000000, 0.999108, -0.042239> + 1978: < 0.000000, 0.996418, -0.084568> + 1979: <-0.042452, 0.995505, -0.084660> + 1980: < 0.000000, 0.999108, -0.042239> + 1981: < 0.042299, 0.998209, -0.042299> + 1982: < 0.042452, 0.995505, -0.084660> + 1983: < 0.000000, 0.996418, -0.084568> + 1984: < 0.042299, 0.998209, -0.042299> + 1985: < 0.084660, 0.995505, -0.042452> + 1986: < 0.084905, 0.992765, -0.084905> + 1987: < 0.042452, 0.995505, -0.084660> + 1988: < 0.084660, 0.995505, -0.042452> + 1989: < 0.127144, 0.990966, -0.042666> + 1990: < 0.127447, 0.988171, -0.085300> + 1991: < 0.084905, 0.992765, -0.084905> + 1992: < 0.127144, 0.990966, -0.042666> + 1993: < 0.169866, 0.984530, -0.042970> + 1994: < 0.170203, 0.981668, -0.085788> + 1995: < 0.127447, 0.988171, -0.085300> + 1996: < 0.169866, 0.984530, -0.042970> + 1997: < 0.212870, 0.976120, -0.043306> + 1998: < 0.213204, 0.973180, -0.086398> + 1999: < 0.170203, 0.981668, -0.085788> + 2000: < 0.212870, 0.976120, -0.043306> + 2001: < 0.256267, 0.965618, -0.043703> + 2002: < 0.256544, 0.962605, -0.087041> + 2003: < 0.213204, 0.973180, -0.086398> + 2004: < 0.256267, 0.965618, -0.043703> + 2005: < 0.300092, 0.952889, -0.044130> + 2006: < 0.300248, 0.949820, -0.087712> + 2007: < 0.256544, 0.962605, -0.087041> + 2008: < 0.300092, 0.952889, -0.044130> + 2009: < 0.344409, 0.937762, -0.044558> + 2010: < 0.344408, 0.934648, -0.088414> + 2011: < 0.300248, 0.949820, -0.087712> + 2012: < 0.344409, 0.937762, -0.044558> + 2013: < 0.389180, 0.920061, -0.045016> + 2014: < 0.388998, 0.916918, -0.089116> + 2015: < 0.344408, 0.934648, -0.088414> + 2016: < 0.389180, 0.920061, -0.045016> + 2017: < 0.434379, 0.899583, -0.045443> + 2018: < 0.433981, 0.896437, -0.089787> + 2019: < 0.388998, 0.916918, -0.089116> + 2020: < 0.434379, 0.899583, -0.045443> + 2021: < 0.479951, 0.876095, -0.045871> + 2022: < 0.479307, 0.872976, -0.090429> + 2023: < 0.433981, 0.896437, -0.089787> + 2024: < 0.479951, 0.876095, -0.045871> + 2025: < 0.525753, 0.849378, -0.046267> + 2026: < 0.524836, 0.846324, -0.091008> + 2027: < 0.479307, 0.872976, -0.090429> + 2028: < 0.525753, 0.849378, -0.046267> + 2029: < 0.571602, 0.819208, -0.046573> + 2030: < 0.570377, 0.816271, -0.091497> + 2031: < 0.524836, 0.846324, -0.091008> + 2032: < 0.571602, 0.819208, -0.046573> + 2033: < 0.617246, 0.785375, -0.046847> + 2034: < 0.615697, 0.782607, -0.091894> + 2035: < 0.570377, 0.816271, -0.091497> + 2036: < 0.617246, 0.785375, -0.046847> + 2037: < 0.662354, 0.747715, -0.046999> + 2038: < 0.660463, 0.745184, -0.092137> + 2039: < 0.615697, 0.782607, -0.091894> + 2040: <-0.660463, 0.745184, -0.092137> + 2041: <-0.615697, 0.782607, -0.091894> + 2042: <-0.613218, 0.778295, -0.134985> + 2043: <-0.657468, 0.741243, -0.135260> + 2044: <-0.615697, 0.782607, -0.091894> + 2045: <-0.570377, 0.816271, -0.091497> + 2046: <-0.568382, 0.811677, -0.134618> + 2047: <-0.613218, 0.778295, -0.134985> + 2048: <-0.570377, 0.816271, -0.091497> + 2049: <-0.524836, 0.846324, -0.091008> + 2050: <-0.523307, 0.841527, -0.134100> + 2051: <-0.568382, 0.811677, -0.134618> + 2052: <-0.524836, 0.846324, -0.091008> + 2053: <-0.479307, 0.872976, -0.090429> + 2054: <-0.478208, 0.868033, -0.133553> + 2055: <-0.523307, 0.841527, -0.134100> + 2056: <-0.479307, 0.872976, -0.090429> + 2057: <-0.433981, 0.896437, -0.089787> + 2058: <-0.433281, 0.891405, -0.132911> + 2059: <-0.478208, 0.868033, -0.133553> + 2060: <-0.433981, 0.896437, -0.089787> + 2061: <-0.388998, 0.916918, -0.089116> + 2062: <-0.388632, 0.911854, -0.132240> + 2063: <-0.433281, 0.891405, -0.132911> + 2064: <-0.388998, 0.916918, -0.089116> + 2065: <-0.344408, 0.934648, -0.088414> + 2066: <-0.344322, 0.929596, -0.131509> + 2067: <-0.388632, 0.911854, -0.132240> + 2068: <-0.344408, 0.934648, -0.088414> + 2069: <-0.300248, 0.949820, -0.087712> + 2070: <-0.300427, 0.944802, -0.130743> + 2071: <-0.344322, 0.929596, -0.131509> + 2072: <-0.300248, 0.949820, -0.087712> + 2073: <-0.256544, 0.962605, -0.087041> + 2074: <-0.256880, 0.957663, -0.129981> + 2075: <-0.300427, 0.944802, -0.130743> + 2076: <-0.256544, 0.962605, -0.087041> + 2077: <-0.213204, 0.973180, -0.086398> + 2078: <-0.213666, 0.968319, -0.129250> + 2079: <-0.256880, 0.957663, -0.129981> + 2080: <-0.213204, 0.973180, -0.086398> + 2081: <-0.170203, 0.981668, -0.085788> + 2082: <-0.170691, 0.976904, -0.128545> + 2083: <-0.213666, 0.968319, -0.129250> + 2084: <-0.170203, 0.981668, -0.085788> + 2085: <-0.127447, 0.988171, -0.085300> + 2086: <-0.127935, 0.983497, -0.127935> + 2087: <-0.170691, 0.976904, -0.128545> + 2088: <-0.127447, 0.988171, -0.085300> + 2089: <-0.084905, 0.992765, -0.084905> + 2090: <-0.085300, 0.988171, -0.127447> + 2091: <-0.127935, 0.983497, -0.127935> + 2092: <-0.084905, 0.992765, -0.084905> + 2093: <-0.042452, 0.995505, -0.084660> + 2094: <-0.042666, 0.990966, -0.127144> + 2095: <-0.085300, 0.988171, -0.127447> + 2096: <-0.042452, 0.995505, -0.084660> + 2097: < 0.000000, 0.996418, -0.084568> + 2098: < 0.000000, 0.991900, -0.127020> + 2099: <-0.042666, 0.990966, -0.127144> + 2100: < 0.000000, 0.996418, -0.084568> + 2101: < 0.042452, 0.995505, -0.084660> + 2102: < 0.042666, 0.990966, -0.127144> + 2103: < 0.000000, 0.991900, -0.127020> + 2104: < 0.042452, 0.995505, -0.084660> + 2105: < 0.084905, 0.992765, -0.084905> + 2106: < 0.085300, 0.988171, -0.127447> + 2107: < 0.042666, 0.990966, -0.127144> + 2108: < 0.084905, 0.992765, -0.084905> + 2109: < 0.127447, 0.988171, -0.085300> + 2110: < 0.127935, 0.983497, -0.127935> + 2111: < 0.085300, 0.988171, -0.127447> + 2112: < 0.127447, 0.988171, -0.085300> + 2113: < 0.170203, 0.981668, -0.085788> + 2114: < 0.170691, 0.976904, -0.128545> + 2115: < 0.127935, 0.983497, -0.127935> + 2116: < 0.170203, 0.981668, -0.085788> + 2117: < 0.213204, 0.973180, -0.086398> + 2118: < 0.213666, 0.968319, -0.129250> + 2119: < 0.170691, 0.976904, -0.128545> + 2120: < 0.213204, 0.973180, -0.086398> + 2121: < 0.256544, 0.962605, -0.087041> + 2122: < 0.256880, 0.957663, -0.129981> + 2123: < 0.213666, 0.968319, -0.129250> + 2124: < 0.256544, 0.962605, -0.087041> + 2125: < 0.300248, 0.949820, -0.087712> + 2126: < 0.300427, 0.944802, -0.130743> + 2127: < 0.256880, 0.957663, -0.129981> + 2128: < 0.300248, 0.949820, -0.087712> + 2129: < 0.344408, 0.934648, -0.088414> + 2130: < 0.344322, 0.929596, -0.131509> + 2131: < 0.300427, 0.944802, -0.130743> + 2132: < 0.344408, 0.934648, -0.088414> + 2133: < 0.388998, 0.916918, -0.089116> + 2134: < 0.388632, 0.911854, -0.132240> + 2135: < 0.344322, 0.929596, -0.131509> + 2136: < 0.388998, 0.916918, -0.089116> + 2137: < 0.433981, 0.896437, -0.089787> + 2138: < 0.433281, 0.891405, -0.132911> + 2139: < 0.388632, 0.911854, -0.132240> + 2140: < 0.433981, 0.896437, -0.089787> + 2141: < 0.479307, 0.872976, -0.090429> + 2142: < 0.478208, 0.868033, -0.133553> + 2143: < 0.433281, 0.891405, -0.132911> + 2144: < 0.479307, 0.872976, -0.090429> + 2145: < 0.524836, 0.846324, -0.091008> + 2146: < 0.523307, 0.841527, -0.134100> + 2147: < 0.478208, 0.868033, -0.133553> + 2148: < 0.524836, 0.846324, -0.091008> + 2149: < 0.570377, 0.816271, -0.091497> + 2150: < 0.568382, 0.811677, -0.134618> + 2151: < 0.523307, 0.841527, -0.134100> + 2152: < 0.570377, 0.816271, -0.091497> + 2153: < 0.615697, 0.782607, -0.091894> + 2154: < 0.613218, 0.778295, -0.134985> + 2155: < 0.568382, 0.811677, -0.134618> + 2156: < 0.615697, 0.782607, -0.091894> + 2157: < 0.660463, 0.745184, -0.092137> + 2158: < 0.657468, 0.741243, -0.135260> + 2159: < 0.613218, 0.778295, -0.134985> + 2160: <-0.657468, 0.741243, -0.135260> + 2161: <-0.613218, 0.778295, -0.134985> + 2162: <-0.609892, 0.772589, -0.176461> + 2163: <-0.653502, 0.736025, -0.176644> + 2164: <-0.613218, 0.778295, -0.134985> + 2165: <-0.568382, 0.811677, -0.134618> + 2166: <-0.565675, 0.805587, -0.176188> + 2167: <-0.609892, 0.772589, -0.176461> + 2168: <-0.568382, 0.811677, -0.134618> + 2169: <-0.523307, 0.841527, -0.134100> + 2170: <-0.521180, 0.835133, -0.175853> + 2171: <-0.565675, 0.805587, -0.176188> + 2172: <-0.523307, 0.841527, -0.134100> + 2173: <-0.478208, 0.868033, -0.133553> + 2174: <-0.476614, 0.861427, -0.175453> + 2175: <-0.521180, 0.835133, -0.175853> + 2176: <-0.478208, 0.868033, -0.133553> + 2177: <-0.433281, 0.891405, -0.132911> + 2178: <-0.432149, 0.884654, -0.175026> + 2179: <-0.476614, 0.861427, -0.175453> + 2180: <-0.433281, 0.891405, -0.132911> + 2181: <-0.388632, 0.911854, -0.132240> + 2182: <-0.387965, 0.904997, -0.174541> + 2183: <-0.432149, 0.884654, -0.175026> + 2184: <-0.388632, 0.911854, -0.132240> + 2185: <-0.344322, 0.929596, -0.131509> + 2186: <-0.344072, 0.922682, -0.173989> + 2187: <-0.387965, 0.904997, -0.174541> + 2188: <-0.344322, 0.929596, -0.131509> + 2189: <-0.300427, 0.944802, -0.130743> + 2190: <-0.300496, 0.937897, -0.173351> + 2191: <-0.344072, 0.922682, -0.173989> + 2192: <-0.300427, 0.944802, -0.130743> + 2193: <-0.256880, 0.957663, -0.129981> + 2194: <-0.257217, 0.950800, -0.172679> + 2195: <-0.300496, 0.937897, -0.173351> + 2196: <-0.256880, 0.957663, -0.129981> + 2197: <-0.213666, 0.968319, -0.129250> + 2198: <-0.214182, 0.961530, -0.172005> + 2199: <-0.257217, 0.950800, -0.172679> + 2200: <-0.213666, 0.968319, -0.129250> + 2201: <-0.170691, 0.976904, -0.128545> + 2202: <-0.171305, 0.970211, -0.171305> + 2203: <-0.214182, 0.961530, -0.172005> + 2204: <-0.170691, 0.976904, -0.128545> + 2205: <-0.127935, 0.983497, -0.127935> + 2206: <-0.128545, 0.976904, -0.170691> + 2207: <-0.171305, 0.970211, -0.171305> + 2208: <-0.127935, 0.983497, -0.127935> + 2209: <-0.085300, 0.988171, -0.127447> + 2210: <-0.085788, 0.981668, -0.170203> + 2211: <-0.128545, 0.976904, -0.170691> + 2212: <-0.085300, 0.988171, -0.127447> + 2213: <-0.042666, 0.990966, -0.127144> + 2214: <-0.042970, 0.984535, -0.169837> + 2215: <-0.085788, 0.981668, -0.170203> + 2216: <-0.042666, 0.990966, -0.127144> + 2217: < 0.000000, 0.991900, -0.127020> + 2218: < 0.000000, 0.985488, -0.169746> + 2219: <-0.042970, 0.984535, -0.169837> + 2220: < 0.000000, 0.991900, -0.127020> + 2221: < 0.042666, 0.990966, -0.127144> + 2222: < 0.042970, 0.984530, -0.169866> + 2223: < 0.000000, 0.985488, -0.169746> + 2224: < 0.042666, 0.990966, -0.127144> + 2225: < 0.085300, 0.988171, -0.127447> + 2226: < 0.085788, 0.981668, -0.170203> + 2227: < 0.042970, 0.984530, -0.169866> + 2228: < 0.085300, 0.988171, -0.127447> + 2229: < 0.127935, 0.983497, -0.127935> + 2230: < 0.128545, 0.976904, -0.170691> + 2231: < 0.085788, 0.981668, -0.170203> + 2232: < 0.127935, 0.983497, -0.127935> + 2233: < 0.170691, 0.976904, -0.128545> + 2234: < 0.171305, 0.970211, -0.171305> + 2235: < 0.128545, 0.976904, -0.170691> + 2236: < 0.170691, 0.976904, -0.128545> + 2237: < 0.213666, 0.968319, -0.129250> + 2238: < 0.214182, 0.961530, -0.172005> + 2239: < 0.171305, 0.970211, -0.171305> + 2240: < 0.213666, 0.968319, -0.129250> + 2241: < 0.256880, 0.957663, -0.129981> + 2242: < 0.257217, 0.950800, -0.172679> + 2243: < 0.214182, 0.961530, -0.172005> + 2244: < 0.256880, 0.957663, -0.129981> + 2245: < 0.300427, 0.944802, -0.130743> + 2246: < 0.300496, 0.937897, -0.173351> + 2247: < 0.257217, 0.950800, -0.172679> + 2248: < 0.300427, 0.944802, -0.130743> + 2249: < 0.344322, 0.929596, -0.131509> + 2250: < 0.344072, 0.922682, -0.173989> + 2251: < 0.300496, 0.937897, -0.173351> + 2252: < 0.344322, 0.929596, -0.131509> + 2253: < 0.388632, 0.911854, -0.132240> + 2254: < 0.387965, 0.904997, -0.174541> + 2255: < 0.344072, 0.922682, -0.173989> + 2256: < 0.388632, 0.911854, -0.132240> + 2257: < 0.433281, 0.891405, -0.132911> + 2258: < 0.432149, 0.884654, -0.175026> + 2259: < 0.387965, 0.904997, -0.174541> + 2260: < 0.433281, 0.891405, -0.132911> + 2261: < 0.478208, 0.868033, -0.133553> + 2262: < 0.476614, 0.861427, -0.175453> + 2263: < 0.432149, 0.884654, -0.175026> + 2264: < 0.478208, 0.868033, -0.133553> + 2265: < 0.523307, 0.841527, -0.134100> + 2266: < 0.521180, 0.835133, -0.175853> + 2267: < 0.476614, 0.861427, -0.175453> + 2268: < 0.523307, 0.841527, -0.134100> + 2269: < 0.568382, 0.811677, -0.134618> + 2270: < 0.565675, 0.805587, -0.176188> + 2271: < 0.521180, 0.835133, -0.175853> + 2272: < 0.568382, 0.811677, -0.134618> + 2273: < 0.613218, 0.778295, -0.134985> + 2274: < 0.609892, 0.772589, -0.176461> + 2275: < 0.565675, 0.805587, -0.176188> + 2276: < 0.613218, 0.778295, -0.134985> + 2277: < 0.657468, 0.741243, -0.135260> + 2278: < 0.653502, 0.736025, -0.176644> + 2279: < 0.609892, 0.772589, -0.176461> + 2280: <-0.653502, 0.736025, -0.176644> + 2281: <-0.609892, 0.772589, -0.176461> + 2282: <-0.605748, 0.765608, -0.216596> + 2283: <-0.648606, 0.729636, -0.216660> + 2284: <-0.609892, 0.772589, -0.176461> + 2285: <-0.565675, 0.805587, -0.176188> + 2286: <-0.562257, 0.798110, -0.216534> + 2287: <-0.605748, 0.765608, -0.216596> + 2288: <-0.565675, 0.805587, -0.176188> + 2289: <-0.521180, 0.835133, -0.175853> + 2290: <-0.518435, 0.827263, -0.216475> + 2291: <-0.562257, 0.798110, -0.216534> + 2292: <-0.521180, 0.835133, -0.175853> + 2293: <-0.476614, 0.861427, -0.175453> + 2294: <-0.474515, 0.853230, -0.216413> + 2295: <-0.518435, 0.827263, -0.216475> + 2296: <-0.476614, 0.861427, -0.175453> + 2297: <-0.432149, 0.884654, -0.175026> + 2298: <-0.430657, 0.876208, -0.216320> + 2299: <-0.474515, 0.853230, -0.216413> + 2300: <-0.432149, 0.884654, -0.175026> + 2301: <-0.387965, 0.904997, -0.174541> + 2302: <-0.386985, 0.896382, -0.216199> + 2303: <-0.430657, 0.876208, -0.216320> + 2304: <-0.387965, 0.904997, -0.174541> + 2305: <-0.344072, 0.922682, -0.173989> + 2306: <-0.343582, 0.913949, -0.215982> + 2307: <-0.386985, 0.896382, -0.216199> + 2308: <-0.344072, 0.922682, -0.173989> + 2309: <-0.300496, 0.937897, -0.173351> + 2310: <-0.300461, 0.929096, -0.215649> + 2311: <-0.343582, 0.913949, -0.215982> + 2312: <-0.300496, 0.937897, -0.173351> + 2313: <-0.257217, 0.950800, -0.172679> + 2314: <-0.257519, 0.942000, -0.215220> + 2315: <-0.300461, 0.929096, -0.215649> + 2316: <-0.257217, 0.950800, -0.172679> + 2317: <-0.214182, 0.961530, -0.172005> + 2318: <-0.214732, 0.952775, -0.214732> + 2319: <-0.257519, 0.942000, -0.215220> + 2320: <-0.214182, 0.961530, -0.172005> + 2321: <-0.171305, 0.970211, -0.171305> + 2322: <-0.172005, 0.961530, -0.214182> + 2323: <-0.214732, 0.952775, -0.214732> + 2324: <-0.171305, 0.970211, -0.171305> + 2325: <-0.128545, 0.976904, -0.170691> + 2326: <-0.129250, 0.968319, -0.213666> + 2327: <-0.172005, 0.961530, -0.214182> + 2328: <-0.128545, 0.976904, -0.170691> + 2329: <-0.085788, 0.981668, -0.170203> + 2330: <-0.086398, 0.973180, -0.213204> + 2331: <-0.129250, 0.968319, -0.213666> + 2332: <-0.085788, 0.981668, -0.170203> + 2333: <-0.042970, 0.984535, -0.169837> + 2334: <-0.043306, 0.976120, -0.212870> + 2335: <-0.086398, 0.973180, -0.213204> + 2336: <-0.042970, 0.984535, -0.169837> + 2337: < 0.000000, 0.985488, -0.169746> + 2338: < 0.000000, 0.977107, -0.212750> + 2339: <-0.043306, 0.976120, -0.212870> + 2340: < 0.000000, 0.985488, -0.169746> + 2341: < 0.042970, 0.984530, -0.169866> + 2342: < 0.043306, 0.976120, -0.212870> + 2343: < 0.000000, 0.977107, -0.212750> + 2344: < 0.042970, 0.984530, -0.169866> + 2345: < 0.085788, 0.981668, -0.170203> + 2346: < 0.086398, 0.973180, -0.213204> + 2347: < 0.043306, 0.976120, -0.212870> + 2348: < 0.085788, 0.981668, -0.170203> + 2349: < 0.128545, 0.976904, -0.170691> + 2350: < 0.129250, 0.968319, -0.213666> + 2351: < 0.086398, 0.973180, -0.213204> + 2352: < 0.128545, 0.976904, -0.170691> + 2353: < 0.171305, 0.970211, -0.171305> + 2354: < 0.172005, 0.961530, -0.214182> + 2355: < 0.129250, 0.968319, -0.213666> + 2356: < 0.171305, 0.970211, -0.171305> + 2357: < 0.214182, 0.961530, -0.172005> + 2358: < 0.214732, 0.952775, -0.214732> + 2359: < 0.172005, 0.961530, -0.214182> + 2360: < 0.214182, 0.961530, -0.172005> + 2361: < 0.257217, 0.950800, -0.172679> + 2362: < 0.257519, 0.942000, -0.215220> + 2363: < 0.214732, 0.952775, -0.214732> + 2364: < 0.257217, 0.950800, -0.172679> + 2365: < 0.300496, 0.937897, -0.173351> + 2366: < 0.300461, 0.929096, -0.215649> + 2367: < 0.257519, 0.942000, -0.215220> + 2368: < 0.300496, 0.937897, -0.173351> + 2369: < 0.344072, 0.922682, -0.173989> + 2370: < 0.343582, 0.913949, -0.215982> + 2371: < 0.300461, 0.929096, -0.215649> + 2372: < 0.344072, 0.922682, -0.173989> + 2373: < 0.387965, 0.904997, -0.174541> + 2374: < 0.386985, 0.896382, -0.216199> + 2375: < 0.343582, 0.913949, -0.215982> + 2376: < 0.387965, 0.904997, -0.174541> + 2377: < 0.432149, 0.884654, -0.175026> + 2378: < 0.430657, 0.876208, -0.216320> + 2379: < 0.386985, 0.896382, -0.216199> + 2380: < 0.432149, 0.884654, -0.175026> + 2381: < 0.476614, 0.861427, -0.175453> + 2382: < 0.474515, 0.853230, -0.216413> + 2383: < 0.430657, 0.876208, -0.216320> + 2384: < 0.476614, 0.861427, -0.175453> + 2385: < 0.521180, 0.835133, -0.175853> + 2386: < 0.518435, 0.827263, -0.216475> + 2387: < 0.474515, 0.853230, -0.216413> + 2388: < 0.521180, 0.835133, -0.175853> + 2389: < 0.565675, 0.805587, -0.176188> + 2390: < 0.562257, 0.798110, -0.216534> + 2391: < 0.518435, 0.827263, -0.216475> + 2392: < 0.565675, 0.805587, -0.176188> + 2393: < 0.609892, 0.772589, -0.176461> + 2394: < 0.605748, 0.765608, -0.216596> + 2395: < 0.562257, 0.798110, -0.216534> + 2396: < 0.609892, 0.772589, -0.176461> + 2397: < 0.653502, 0.736025, -0.176644> + 2398: < 0.648606, 0.729636, -0.216660> + 2399: < 0.605748, 0.765608, -0.216596> + 2400: <-0.648606, 0.729636, -0.216660> + 2401: <-0.605748, 0.765608, -0.216596> + 2402: <-0.600829, 0.757361, -0.255750> + 2403: <-0.642833, 0.722093, -0.255632> + 2404: <-0.605748, 0.765608, -0.216596> + 2405: <-0.562257, 0.798110, -0.216534> + 2406: <-0.558172, 0.789266, -0.255937> + 2407: <-0.600829, 0.757361, -0.255750> + 2408: <-0.562257, 0.798110, -0.216534> + 2409: <-0.518435, 0.827263, -0.216475> + 2410: <-0.515110, 0.817925, -0.256243> + 2411: <-0.558172, 0.789266, -0.255937> + 2412: <-0.518435, 0.827263, -0.216475> + 2413: <-0.474515, 0.853230, -0.216413> + 2414: <-0.471888, 0.843490, -0.256606> + 2415: <-0.515110, 0.817925, -0.256243> + 2416: <-0.474515, 0.853230, -0.216413> + 2417: <-0.430657, 0.876208, -0.216320> + 2418: <-0.428698, 0.866124, -0.256999> + 2419: <-0.471888, 0.843490, -0.256606> + 2420: <-0.430657, 0.876208, -0.216320> + 2421: <-0.386985, 0.896382, -0.216199> + 2422: <-0.385664, 0.886018, -0.257364> + 2423: <-0.428698, 0.866124, -0.256999> + 2424: <-0.386985, 0.896382, -0.216199> + 2425: <-0.343582, 0.913949, -0.215982> + 2426: <-0.342852, 0.903367, -0.257643> + 2427: <-0.385664, 0.886018, -0.257364> + 2428: <-0.343582, 0.913949, -0.215982> + 2429: <-0.300461, 0.929096, -0.215649> + 2430: <-0.300219, 0.918390, -0.257736> + 2431: <-0.342852, 0.903367, -0.257643> + 2432: <-0.300461, 0.929096, -0.215649> + 2433: <-0.257519, 0.942000, -0.215220> + 2434: <-0.257702, 0.931225, -0.257702> + 2435: <-0.300219, 0.918390, -0.257736> + 2436: <-0.257519, 0.942000, -0.215220> + 2437: <-0.214732, 0.952775, -0.214732> + 2438: <-0.215220, 0.942000, -0.257519> + 2439: <-0.257702, 0.931225, -0.257702> + 2440: <-0.214732, 0.952775, -0.214732> + 2441: <-0.172005, 0.961530, -0.214182> + 2442: <-0.172679, 0.950800, -0.257217> + 2443: <-0.215220, 0.942000, -0.257519> + 2444: <-0.172005, 0.961530, -0.214182> + 2445: <-0.129250, 0.968319, -0.213666> + 2446: <-0.129981, 0.957663, -0.256880> + 2447: <-0.172679, 0.950800, -0.257217> + 2448: <-0.129250, 0.968319, -0.213666> + 2449: <-0.086398, 0.973180, -0.213204> + 2450: <-0.087041, 0.962605, -0.256544> + 2451: <-0.129981, 0.957663, -0.256880> + 2452: <-0.086398, 0.973180, -0.213204> + 2453: <-0.043306, 0.976120, -0.212870> + 2454: <-0.043703, 0.965618, -0.256267> + 2455: <-0.087041, 0.962605, -0.256544> + 2456: <-0.043306, 0.976120, -0.212870> + 2457: < 0.000000, 0.977107, -0.212750> + 2458: < 0.000000, 0.966630, -0.256177> + 2459: <-0.043703, 0.965618, -0.256267> + 2460: < 0.000000, 0.977107, -0.212750> + 2461: < 0.043306, 0.976120, -0.212870> + 2462: < 0.043703, 0.965618, -0.256267> + 2463: < 0.000000, 0.966630, -0.256177> + 2464: < 0.043306, 0.976120, -0.212870> + 2465: < 0.086398, 0.973180, -0.213204> + 2466: < 0.087041, 0.962605, -0.256544> + 2467: < 0.043703, 0.965618, -0.256267> + 2468: < 0.086398, 0.973180, -0.213204> + 2469: < 0.129250, 0.968319, -0.213666> + 2470: < 0.129981, 0.957663, -0.256880> + 2471: < 0.087041, 0.962605, -0.256544> + 2472: < 0.129250, 0.968319, -0.213666> + 2473: < 0.172005, 0.961530, -0.214182> + 2474: < 0.172679, 0.950800, -0.257217> + 2475: < 0.129981, 0.957663, -0.256880> + 2476: < 0.172005, 0.961530, -0.214182> + 2477: < 0.214732, 0.952775, -0.214732> + 2478: < 0.215220, 0.942000, -0.257519> + 2479: < 0.172679, 0.950800, -0.257217> + 2480: < 0.214732, 0.952775, -0.214732> + 2481: < 0.257519, 0.942000, -0.215220> + 2482: < 0.257702, 0.931225, -0.257702> + 2483: < 0.215220, 0.942000, -0.257519> + 2484: < 0.257519, 0.942000, -0.215220> + 2485: < 0.300461, 0.929096, -0.215649> + 2486: < 0.300219, 0.918390, -0.257736> + 2487: < 0.257702, 0.931225, -0.257702> + 2488: < 0.300461, 0.929096, -0.215649> + 2489: < 0.343582, 0.913949, -0.215982> + 2490: < 0.342852, 0.903367, -0.257643> + 2491: < 0.300219, 0.918390, -0.257736> + 2492: < 0.343582, 0.913949, -0.215982> + 2493: < 0.386985, 0.896382, -0.216199> + 2494: < 0.385664, 0.886018, -0.257364> + 2495: < 0.342852, 0.903367, -0.257643> + 2496: < 0.386985, 0.896382, -0.216199> + 2497: < 0.430657, 0.876208, -0.216320> + 2498: < 0.428698, 0.866124, -0.256999> + 2499: < 0.385664, 0.886018, -0.257364> + 2500: < 0.430657, 0.876208, -0.216320> + 2501: < 0.474515, 0.853230, -0.216413> + 2502: < 0.471888, 0.843490, -0.256606> + 2503: < 0.428698, 0.866124, -0.256999> + 2504: < 0.474515, 0.853230, -0.216413> + 2505: < 0.518435, 0.827263, -0.216475> + 2506: < 0.515110, 0.817925, -0.256243> + 2507: < 0.471888, 0.843490, -0.256606> + 2508: < 0.518435, 0.827263, -0.216475> + 2509: < 0.562257, 0.798110, -0.216534> + 2510: < 0.558172, 0.789266, -0.255937> + 2511: < 0.515110, 0.817925, -0.256243> + 2512: < 0.562257, 0.798110, -0.216534> + 2513: < 0.605748, 0.765608, -0.216596> + 2514: < 0.600829, 0.757361, -0.255750> + 2515: < 0.558172, 0.789266, -0.255937> + 2516: < 0.605748, 0.765608, -0.216596> + 2517: < 0.648606, 0.729636, -0.216660> + 2518: < 0.642833, 0.722093, -0.255632> + 2519: < 0.600829, 0.757361, -0.255750> + 2520: <-0.642833, 0.722093, -0.255632> + 2521: <-0.600829, 0.757361, -0.255750> + 2522: <-0.595158, 0.747816, -0.294207> + 2523: <-0.636150, 0.713396, -0.293904> + 2524: <-0.600829, 0.757361, -0.255750> + 2525: <-0.558172, 0.789266, -0.255937> + 2526: <-0.553415, 0.779017, -0.294729> + 2527: <-0.595158, 0.747816, -0.294207> + 2528: <-0.558172, 0.789266, -0.255937> + 2529: <-0.515110, 0.817925, -0.256243> + 2530: <-0.511198, 0.807082, -0.295457> + 2531: <-0.553415, 0.779017, -0.294729> + 2532: <-0.515110, 0.817925, -0.256243> + 2533: <-0.471888, 0.843490, -0.256606> + 2534: <-0.468770, 0.832128, -0.296339> + 2535: <-0.511198, 0.807082, -0.295457> + 2536: <-0.471888, 0.843490, -0.256606> + 2537: <-0.428698, 0.866124, -0.256999> + 2538: <-0.426323, 0.854324, -0.297287> + 2539: <-0.468770, 0.832128, -0.296339> + 2540: <-0.428698, 0.866124, -0.256999> + 2541: <-0.385664, 0.886018, -0.257364> + 2542: <-0.383986, 0.873840, -0.298259> + 2543: <-0.426323, 0.854324, -0.297287> + 2544: <-0.385664, 0.886018, -0.257364> + 2545: <-0.342852, 0.903367, -0.257643> + 2546: <-0.341811, 0.890906, -0.299085> + 2547: <-0.383986, 0.873840, -0.298259> + 2548: <-0.342852, 0.903367, -0.257643> + 2549: <-0.300219, 0.918390, -0.257736> + 2550: <-0.299762, 0.905696, -0.299762> + 2551: <-0.341811, 0.890906, -0.299085> + 2552: <-0.300219, 0.918390, -0.257736> + 2553: <-0.257702, 0.931225, -0.257702> + 2554: <-0.257736, 0.918390, -0.300219> + 2555: <-0.299762, 0.905696, -0.299762> + 2556: <-0.257702, 0.931225, -0.257702> + 2557: <-0.215220, 0.942000, -0.257519> + 2558: <-0.215649, 0.929096, -0.300461> + 2559: <-0.257736, 0.918390, -0.300219> + 2560: <-0.215220, 0.942000, -0.257519> + 2561: <-0.172679, 0.950800, -0.257217> + 2562: <-0.173351, 0.937897, -0.300496> + 2563: <-0.215649, 0.929096, -0.300461> + 2564: <-0.172679, 0.950800, -0.257217> + 2565: <-0.129981, 0.957663, -0.256880> + 2566: <-0.130743, 0.944802, -0.300427> + 2567: <-0.173351, 0.937897, -0.300496> + 2568: <-0.129981, 0.957663, -0.256880> + 2569: <-0.087041, 0.962605, -0.256544> + 2570: <-0.087712, 0.949820, -0.300248> + 2571: <-0.130743, 0.944802, -0.300427> + 2572: <-0.087041, 0.962605, -0.256544> + 2573: <-0.043703, 0.965618, -0.256267> + 2574: <-0.044130, 0.952889, -0.300092> + 2575: <-0.087712, 0.949820, -0.300248> + 2576: <-0.043703, 0.965618, -0.256267> + 2577: < 0.000000, 0.966630, -0.256177> + 2578: < 0.000000, 0.953921, -0.300059> + 2579: <-0.044130, 0.952889, -0.300092> + 2580: < 0.000000, 0.966630, -0.256177> + 2581: < 0.043703, 0.965618, -0.256267> + 2582: < 0.044130, 0.952889, -0.300092> + 2583: < 0.000000, 0.953921, -0.300059> + 2584: < 0.043703, 0.965618, -0.256267> + 2585: < 0.087041, 0.962605, -0.256544> + 2586: < 0.087712, 0.949820, -0.300248> + 2587: < 0.044130, 0.952889, -0.300092> + 2588: < 0.087041, 0.962605, -0.256544> + 2589: < 0.129981, 0.957663, -0.256880> + 2590: < 0.130743, 0.944802, -0.300427> + 2591: < 0.087712, 0.949820, -0.300248> + 2592: < 0.129981, 0.957663, -0.256880> + 2593: < 0.172679, 0.950800, -0.257217> + 2594: < 0.173351, 0.937897, -0.300496> + 2595: < 0.130743, 0.944802, -0.300427> + 2596: < 0.172679, 0.950800, -0.257217> + 2597: < 0.215220, 0.942000, -0.257519> + 2598: < 0.215649, 0.929096, -0.300461> + 2599: < 0.173351, 0.937897, -0.300496> + 2600: < 0.215220, 0.942000, -0.257519> + 2601: < 0.257702, 0.931225, -0.257702> + 2602: < 0.257736, 0.918390, -0.300219> + 2603: < 0.215649, 0.929096, -0.300461> + 2604: < 0.257702, 0.931225, -0.257702> + 2605: < 0.300219, 0.918390, -0.257736> + 2606: < 0.299762, 0.905696, -0.299762> + 2607: < 0.257736, 0.918390, -0.300219> + 2608: < 0.300219, 0.918390, -0.257736> + 2609: < 0.342852, 0.903367, -0.257643> + 2610: < 0.341811, 0.890906, -0.299085> + 2611: < 0.299762, 0.905696, -0.299762> + 2612: < 0.342852, 0.903367, -0.257643> + 2613: < 0.385664, 0.886018, -0.257364> + 2614: < 0.383960, 0.873851, -0.298262> + 2615: < 0.341811, 0.890906, -0.299085> + 2616: < 0.385664, 0.886018, -0.257364> + 2617: < 0.428698, 0.866124, -0.256999> + 2618: < 0.426323, 0.854324, -0.297287> + 2619: < 0.383960, 0.873851, -0.298262> + 2620: < 0.428698, 0.866124, -0.256999> + 2621: < 0.471888, 0.843490, -0.256606> + 2622: < 0.468770, 0.832128, -0.296339> + 2623: < 0.426323, 0.854324, -0.297287> + 2624: < 0.471888, 0.843490, -0.256606> + 2625: < 0.515110, 0.817925, -0.256243> + 2626: < 0.511198, 0.807082, -0.295457> + 2627: < 0.468770, 0.832128, -0.296339> + 2628: < 0.515110, 0.817925, -0.256243> + 2629: < 0.558172, 0.789266, -0.255937> + 2630: < 0.553415, 0.779017, -0.294729> + 2631: < 0.511198, 0.807082, -0.295457> + 2632: < 0.558172, 0.789266, -0.255937> + 2633: < 0.600829, 0.757361, -0.255750> + 2634: < 0.595158, 0.747816, -0.294207> + 2635: < 0.553415, 0.779017, -0.294729> + 2636: < 0.600829, 0.757361, -0.255750> + 2637: < 0.642833, 0.722093, -0.255632> + 2638: < 0.636150, 0.713396, -0.293904> + 2639: < 0.595158, 0.747816, -0.294207> + 2640: <-0.636150, 0.713396, -0.293904> + 2641: <-0.595158, 0.747816, -0.294207> + 2642: <-0.588744, 0.736915, -0.332170> + 2643: <-0.628603, 0.703467, -0.331652> + 2644: <-0.595158, 0.747816, -0.294207> + 2645: <-0.553415, 0.779017, -0.294729> + 2646: <-0.548009, 0.767292, -0.333090> + 2647: <-0.588744, 0.736915, -0.332170> + 2648: <-0.553415, 0.779017, -0.294729> + 2649: <-0.511198, 0.807082, -0.295457> + 2650: <-0.506740, 0.794627, -0.334337> + 2651: <-0.548009, 0.767292, -0.333090> + 2652: <-0.511198, 0.807082, -0.295457> + 2653: <-0.468770, 0.832128, -0.296339> + 2654: <-0.465202, 0.819039, -0.335801> + 2655: <-0.506740, 0.794627, -0.334337> + 2656: <-0.468770, 0.832128, -0.296339> + 2657: <-0.426323, 0.854324, -0.297287> + 2658: <-0.423577, 0.840684, -0.337391> + 2659: <-0.465202, 0.819039, -0.335801> + 2660: <-0.426323, 0.854324, -0.297287> + 2661: <-0.383986, 0.873840, -0.298259> + 2662: <-0.381976, 0.859750, -0.339005> + 2663: <-0.423577, 0.840684, -0.337391> + 2664: <-0.383986, 0.873840, -0.298259> + 2665: <-0.341811, 0.890906, -0.299085> + 2666: <-0.340503, 0.876422, -0.340503> + 2667: <-0.381976, 0.859750, -0.339005> + 2668: <-0.341811, 0.890906, -0.299085> + 2669: <-0.299762, 0.905696, -0.299762> + 2670: <-0.299085, 0.890906, -0.341811> + 2671: <-0.340503, 0.876422, -0.340503> + 2672: <-0.299762, 0.905696, -0.299762> + 2673: <-0.257736, 0.918390, -0.300219> + 2674: <-0.257643, 0.903367, -0.342852> + 2675: <-0.299085, 0.890906, -0.341811> + 2676: <-0.257736, 0.918390, -0.300219> + 2677: <-0.215649, 0.929096, -0.300461> + 2678: <-0.215982, 0.913949, -0.343582> + 2679: <-0.257643, 0.903367, -0.342852> + 2680: <-0.215649, 0.929096, -0.300461> + 2681: <-0.173351, 0.937897, -0.300496> + 2682: <-0.173989, 0.922682, -0.344072> + 2683: <-0.215982, 0.913949, -0.343582> + 2684: <-0.173351, 0.937897, -0.300496> + 2685: <-0.130743, 0.944802, -0.300427> + 2686: <-0.131509, 0.929596, -0.344322> + 2687: <-0.173989, 0.922682, -0.344072> + 2688: <-0.130743, 0.944802, -0.300427> + 2689: <-0.087712, 0.949820, -0.300248> + 2690: <-0.088414, 0.934648, -0.344408> + 2691: <-0.131509, 0.929596, -0.344322> + 2692: <-0.087712, 0.949820, -0.300248> + 2693: <-0.044130, 0.952889, -0.300092> + 2694: <-0.044558, 0.937762, -0.344409> + 2695: <-0.088414, 0.934648, -0.344408> + 2696: <-0.044130, 0.952889, -0.300092> + 2697: < 0.000000, 0.953921, -0.300059> + 2698: < 0.000000, 0.938821, -0.344405> + 2699: <-0.044558, 0.937762, -0.344409> + 2700: < 0.000000, 0.953921, -0.300059> + 2701: < 0.044130, 0.952889, -0.300092> + 2702: < 0.044558, 0.937762, -0.344409> + 2703: < 0.000000, 0.938821, -0.344405> + 2704: < 0.044130, 0.952889, -0.300092> + 2705: < 0.087712, 0.949820, -0.300248> + 2706: < 0.088414, 0.934648, -0.344408> + 2707: < 0.044558, 0.937762, -0.344409> + 2708: < 0.087712, 0.949820, -0.300248> + 2709: < 0.130743, 0.944802, -0.300427> + 2710: < 0.131509, 0.929596, -0.344322> + 2711: < 0.088414, 0.934648, -0.344408> + 2712: < 0.130743, 0.944802, -0.300427> + 2713: < 0.173351, 0.937897, -0.300496> + 2714: < 0.173989, 0.922682, -0.344072> + 2715: < 0.131509, 0.929596, -0.344322> + 2716: < 0.173351, 0.937897, -0.300496> + 2717: < 0.215649, 0.929096, -0.300461> + 2718: < 0.215982, 0.913949, -0.343582> + 2719: < 0.173989, 0.922682, -0.344072> + 2720: < 0.215649, 0.929096, -0.300461> + 2721: < 0.257736, 0.918390, -0.300219> + 2722: < 0.257643, 0.903367, -0.342852> + 2723: < 0.215982, 0.913949, -0.343582> + 2724: < 0.257736, 0.918390, -0.300219> + 2725: < 0.299762, 0.905696, -0.299762> + 2726: < 0.299085, 0.890906, -0.341811> + 2727: < 0.257643, 0.903367, -0.342852> + 2728: < 0.299762, 0.905696, -0.299762> + 2729: < 0.341811, 0.890906, -0.299085> + 2730: < 0.340503, 0.876422, -0.340503> + 2731: < 0.299085, 0.890906, -0.341811> + 2732: < 0.341811, 0.890906, -0.299085> + 2733: < 0.383960, 0.873851, -0.298262> + 2734: < 0.381976, 0.859750, -0.339005> + 2735: < 0.340503, 0.876422, -0.340503> + 2736: < 0.383960, 0.873851, -0.298262> + 2737: < 0.426323, 0.854324, -0.297287> + 2738: < 0.423577, 0.840684, -0.337391> + 2739: < 0.381976, 0.859750, -0.339005> + 2740: < 0.426323, 0.854324, -0.297287> + 2741: < 0.468770, 0.832128, -0.296339> + 2742: < 0.465202, 0.819039, -0.335801> + 2743: < 0.423577, 0.840684, -0.337391> + 2744: < 0.468770, 0.832128, -0.296339> + 2745: < 0.511198, 0.807082, -0.295457> + 2746: < 0.506745, 0.794636, -0.334310> + 2747: < 0.465202, 0.819039, -0.335801> + 2748: < 0.511198, 0.807082, -0.295457> + 2749: < 0.553415, 0.779017, -0.294729> + 2750: < 0.548009, 0.767292, -0.333090> + 2751: < 0.506745, 0.794636, -0.334310> + 2752: < 0.553415, 0.779017, -0.294729> + 2753: < 0.595158, 0.747816, -0.294207> + 2754: < 0.588744, 0.736915, -0.332170> + 2755: < 0.548009, 0.767292, -0.333090> + 2756: < 0.595158, 0.747816, -0.294207> + 2757: < 0.636150, 0.713396, -0.293904> + 2758: < 0.628603, 0.703467, -0.331652> + 2759: < 0.588744, 0.736915, -0.332170> + 2760: <-0.628603, 0.703467, -0.331652> + 2761: <-0.588744, 0.736915, -0.332170> + 2762: <-0.581661, 0.724825, -0.369188> + 2763: <-0.620305, 0.692544, -0.368246> + 2764: <-0.588744, 0.736915, -0.332170> + 2765: <-0.548009, 0.767292, -0.333090> + 2766: <-0.542028, 0.754169, -0.370721> + 2767: <-0.581661, 0.724825, -0.369188> + 2768: <-0.548009, 0.767292, -0.333090> + 2769: <-0.506740, 0.794627, -0.334337> + 2770: <-0.501802, 0.780568, -0.372705> + 2771: <-0.542028, 0.754169, -0.370721> + 2772: <-0.506740, 0.794627, -0.334337> + 2773: <-0.465202, 0.819039, -0.335801> + 2774: <-0.461239, 0.804154, -0.374961> + 2775: <-0.501802, 0.780568, -0.372705> + 2776: <-0.465202, 0.819039, -0.335801> + 2777: <-0.423577, 0.840684, -0.337391> + 2778: <-0.420500, 0.825100, -0.377345> + 2779: <-0.461239, 0.804154, -0.374961> + 2780: <-0.423577, 0.840684, -0.337391> + 2781: <-0.381976, 0.859750, -0.339005> + 2782: <-0.379751, 0.843551, -0.379751> + 2783: <-0.420500, 0.825100, -0.377345> + 2784: <-0.381976, 0.859750, -0.339005> + 2785: <-0.340503, 0.876422, -0.340503> + 2786: <-0.339005, 0.859750, -0.381976> + 2787: <-0.379751, 0.843551, -0.379751> + 2788: <-0.340503, 0.876422, -0.340503> + 2789: <-0.299085, 0.890906, -0.341811> + 2790: <-0.298262, 0.873851, -0.383960> + 2791: <-0.339005, 0.859750, -0.381976> + 2792: <-0.299085, 0.890906, -0.341811> + 2793: <-0.257643, 0.903367, -0.342852> + 2794: <-0.257367, 0.886028, -0.385638> + 2795: <-0.298262, 0.873851, -0.383960> + 2796: <-0.257643, 0.903367, -0.342852> + 2797: <-0.215982, 0.913949, -0.343582> + 2798: <-0.216199, 0.896382, -0.386985> + 2799: <-0.257367, 0.886028, -0.385638> + 2800: <-0.215982, 0.913949, -0.343582> + 2801: <-0.173989, 0.922682, -0.344072> + 2802: <-0.174541, 0.904997, -0.387965> + 2803: <-0.216199, 0.896382, -0.386985> + 2804: <-0.173989, 0.922682, -0.344072> + 2805: <-0.131509, 0.929596, -0.344322> + 2806: <-0.132240, 0.911854, -0.388632> + 2807: <-0.174541, 0.904997, -0.387965> + 2808: <-0.131509, 0.929596, -0.344322> + 2809: <-0.088414, 0.934648, -0.344408> + 2810: <-0.089116, 0.916918, -0.388998> + 2811: <-0.132240, 0.911854, -0.388632> + 2812: <-0.088414, 0.934648, -0.344408> + 2813: <-0.044558, 0.937762, -0.344409> + 2814: <-0.045016, 0.920061, -0.389180> + 2815: <-0.089116, 0.916918, -0.388998> + 2816: <-0.044558, 0.937762, -0.344409> + 2817: < 0.000000, 0.938821, -0.344405> + 2818: < 0.000000, 0.921135, -0.389244> + 2819: <-0.045016, 0.920061, -0.389180> + 2820: < 0.000000, 0.938821, -0.344405> + 2821: < 0.044558, 0.937762, -0.344409> + 2822: < 0.045016, 0.920061, -0.389180> + 2823: < 0.000000, 0.921135, -0.389244> + 2824: < 0.044558, 0.937762, -0.344409> + 2825: < 0.088414, 0.934648, -0.344408> + 2826: < 0.089116, 0.916918, -0.388998> + 2827: < 0.045016, 0.920061, -0.389180> + 2828: < 0.088414, 0.934648, -0.344408> + 2829: < 0.131509, 0.929596, -0.344322> + 2830: < 0.132240, 0.911854, -0.388632> + 2831: < 0.089116, 0.916918, -0.388998> + 2832: < 0.131509, 0.929596, -0.344322> + 2833: < 0.173989, 0.922682, -0.344072> + 2834: < 0.174541, 0.904997, -0.387965> + 2835: < 0.132240, 0.911854, -0.388632> + 2836: < 0.173989, 0.922682, -0.344072> + 2837: < 0.215982, 0.913949, -0.343582> + 2838: < 0.216199, 0.896382, -0.386985> + 2839: < 0.174541, 0.904997, -0.387965> + 2840: < 0.215982, 0.913949, -0.343582> + 2841: < 0.257643, 0.903367, -0.342852> + 2842: < 0.257364, 0.886018, -0.385664> + 2843: < 0.216199, 0.896382, -0.386985> + 2844: < 0.257643, 0.903367, -0.342852> + 2845: < 0.299085, 0.890906, -0.341811> + 2846: < 0.298262, 0.873851, -0.383960> + 2847: < 0.257364, 0.886018, -0.385664> + 2848: < 0.299085, 0.890906, -0.341811> + 2849: < 0.340503, 0.876422, -0.340503> + 2850: < 0.339005, 0.859750, -0.381976> + 2851: < 0.298262, 0.873851, -0.383960> + 2852: < 0.340503, 0.876422, -0.340503> + 2853: < 0.381976, 0.859750, -0.339005> + 2854: < 0.379751, 0.843551, -0.379751> + 2855: < 0.339005, 0.859750, -0.381976> + 2856: < 0.381976, 0.859750, -0.339005> + 2857: < 0.423577, 0.840684, -0.337391> + 2858: < 0.420500, 0.825100, -0.377345> + 2859: < 0.379751, 0.843551, -0.379751> + 2860: < 0.423577, 0.840684, -0.337391> + 2861: < 0.465202, 0.819039, -0.335801> + 2862: < 0.461239, 0.804154, -0.374961> + 2863: < 0.420500, 0.825100, -0.377345> + 2864: < 0.465202, 0.819039, -0.335801> + 2865: < 0.506745, 0.794636, -0.334310> + 2866: < 0.501802, 0.780568, -0.372705> + 2867: < 0.461239, 0.804154, -0.374961> + 2868: < 0.506745, 0.794636, -0.334310> + 2869: < 0.548009, 0.767292, -0.333090> + 2870: < 0.542028, 0.754169, -0.370721> + 2871: < 0.501802, 0.780568, -0.372705> + 2872: < 0.548009, 0.767292, -0.333090> + 2873: < 0.588744, 0.736915, -0.332170> + 2874: < 0.581661, 0.724825, -0.369188> + 2875: < 0.542028, 0.754169, -0.370721> + 2876: < 0.588744, 0.736915, -0.332170> + 2877: < 0.628603, 0.703467, -0.331652> + 2878: < 0.620305, 0.692544, -0.368246> + 2879: < 0.581661, 0.724825, -0.369188> + 2880: <-0.620305, 0.692544, -0.368246> + 2881: <-0.581661, 0.724825, -0.369188> + 2882: <-0.574008, 0.711772, -0.404839> + 2883: <-0.611427, 0.680859, -0.403223> + 2884: <-0.581661, 0.724825, -0.369188> + 2885: <-0.542028, 0.754169, -0.370721> + 2886: <-0.535518, 0.739812, -0.407307> + 2887: <-0.574008, 0.711772, -0.404839> + 2888: <-0.542028, 0.754169, -0.370721> + 2889: <-0.501802, 0.780568, -0.372705> + 2890: <-0.496395, 0.764964, -0.410392> + 2891: <-0.535518, 0.739812, -0.407307> + 2892: <-0.501802, 0.780568, -0.372705> + 2893: <-0.461239, 0.804154, -0.374961> + 2894: <-0.456900, 0.787421, -0.413777> + 2895: <-0.496395, 0.764964, -0.410392> + 2896: <-0.461239, 0.804154, -0.374961> + 2897: <-0.420500, 0.825100, -0.377345> + 2898: <-0.417202, 0.807394, -0.417202> + 2899: <-0.456900, 0.787421, -0.413777> + 2900: <-0.420500, 0.825100, -0.377345> + 2901: <-0.379751, 0.843551, -0.379751> + 2902: <-0.377345, 0.825100, -0.420500> + 2903: <-0.417202, 0.807394, -0.417202> + 2904: <-0.379751, 0.843551, -0.379751> + 2905: <-0.339005, 0.859750, -0.381976> + 2906: <-0.337391, 0.840684, -0.423577> + 2907: <-0.377345, 0.825100, -0.420500> + 2908: <-0.339005, 0.859750, -0.381976> + 2909: <-0.298262, 0.873851, -0.383960> + 2910: <-0.297287, 0.854324, -0.426323> + 2911: <-0.337391, 0.840684, -0.423577> + 2912: <-0.298262, 0.873851, -0.383960> + 2913: <-0.257367, 0.886028, -0.385638> + 2914: <-0.256999, 0.866124, -0.428698> + 2915: <-0.297287, 0.854324, -0.426323> + 2916: <-0.257367, 0.886028, -0.385638> + 2917: <-0.216199, 0.896382, -0.386985> + 2918: <-0.216320, 0.876208, -0.430657> + 2919: <-0.256999, 0.866124, -0.428698> + 2920: <-0.216199, 0.896382, -0.386985> + 2921: <-0.174541, 0.904997, -0.387965> + 2922: <-0.175026, 0.884654, -0.432149> + 2923: <-0.216320, 0.876208, -0.430657> + 2924: <-0.174541, 0.904997, -0.387965> + 2925: <-0.132240, 0.911854, -0.388632> + 2926: <-0.132911, 0.891405, -0.433281> + 2927: <-0.175026, 0.884654, -0.432149> + 2928: <-0.132240, 0.911854, -0.388632> + 2929: <-0.089116, 0.916918, -0.388998> + 2930: <-0.089787, 0.896437, -0.433981> + 2931: <-0.132911, 0.891405, -0.433281> + 2932: <-0.089116, 0.916918, -0.388998> + 2933: <-0.045016, 0.920061, -0.389180> + 2934: <-0.045443, 0.899583, -0.434379> + 2935: <-0.089787, 0.896437, -0.433981> + 2936: <-0.045016, 0.920061, -0.389180> + 2937: < 0.000000, 0.921135, -0.389244> + 2938: < 0.000000, 0.900655, -0.434534> + 2939: <-0.045443, 0.899583, -0.434379> + 2940: < 0.000000, 0.921135, -0.389244> + 2941: < 0.045016, 0.920061, -0.389180> + 2942: < 0.045443, 0.899583, -0.434379> + 2943: < 0.000000, 0.900655, -0.434534> + 2944: < 0.045016, 0.920061, -0.389180> + 2945: < 0.089116, 0.916918, -0.388998> + 2946: < 0.089787, 0.896437, -0.433981> + 2947: < 0.045443, 0.899583, -0.434379> + 2948: < 0.089116, 0.916918, -0.388998> + 2949: < 0.132240, 0.911854, -0.388632> + 2950: < 0.132911, 0.891405, -0.433281> + 2951: < 0.089787, 0.896437, -0.433981> + 2952: < 0.132240, 0.911854, -0.388632> + 2953: < 0.174541, 0.904997, -0.387965> + 2954: < 0.175026, 0.884654, -0.432149> + 2955: < 0.132911, 0.891405, -0.433281> + 2956: < 0.174541, 0.904997, -0.387965> + 2957: < 0.216199, 0.896382, -0.386985> + 2958: < 0.216320, 0.876208, -0.430657> + 2959: < 0.175026, 0.884654, -0.432149> + 2960: < 0.216199, 0.896382, -0.386985> + 2961: < 0.257364, 0.886018, -0.385664> + 2962: < 0.256999, 0.866124, -0.428698> + 2963: < 0.216320, 0.876208, -0.430657> + 2964: < 0.257364, 0.886018, -0.385664> + 2965: < 0.298262, 0.873851, -0.383960> + 2966: < 0.297287, 0.854324, -0.426323> + 2967: < 0.256999, 0.866124, -0.428698> + 2968: < 0.298262, 0.873851, -0.383960> + 2969: < 0.339005, 0.859750, -0.381976> + 2970: < 0.337391, 0.840684, -0.423577> + 2971: < 0.297287, 0.854324, -0.426323> + 2972: < 0.339005, 0.859750, -0.381976> + 2973: < 0.379751, 0.843551, -0.379751> + 2974: < 0.377345, 0.825100, -0.420500> + 2975: < 0.337391, 0.840684, -0.423577> + 2976: < 0.379751, 0.843551, -0.379751> + 2977: < 0.420500, 0.825100, -0.377345> + 2978: < 0.417202, 0.807394, -0.417202> + 2979: < 0.377345, 0.825100, -0.420500> + 2980: < 0.420500, 0.825100, -0.377345> + 2981: < 0.461239, 0.804154, -0.374961> + 2982: < 0.456900, 0.787421, -0.413777> + 2983: < 0.417202, 0.807394, -0.417202> + 2984: < 0.461239, 0.804154, -0.374961> + 2985: < 0.501802, 0.780568, -0.372705> + 2986: < 0.496395, 0.764964, -0.410392> + 2987: < 0.456900, 0.787421, -0.413777> + 2988: < 0.501802, 0.780568, -0.372705> + 2989: < 0.542028, 0.754169, -0.370721> + 2990: < 0.535518, 0.739812, -0.407307> + 2991: < 0.496395, 0.764964, -0.410392> + 2992: < 0.542028, 0.754169, -0.370721> + 2993: < 0.581661, 0.724825, -0.369188> + 2994: < 0.574008, 0.711772, -0.404839> + 2995: < 0.535518, 0.739812, -0.407307> + 2996: < 0.581661, 0.724825, -0.369188> + 2997: < 0.620305, 0.692544, -0.368246> + 2998: < 0.611427, 0.680859, -0.403223> + 2999: < 0.574008, 0.711772, -0.404839> + 3000: <-0.611427, 0.680859, -0.403223> + 3001: <-0.574008, 0.711772, -0.404839> + 3002: <-0.565794, 0.697667, -0.439475> + 3003: <-0.601963, 0.668312, -0.437036> + 3004: <-0.574008, 0.711772, -0.404839> + 3005: <-0.535518, 0.739812, -0.407307> + 3006: <-0.528478, 0.724109, -0.443145> + 3007: <-0.565794, 0.697667, -0.439475> + 3008: <-0.535518, 0.739812, -0.407307> + 3009: <-0.496395, 0.764964, -0.410392> + 3010: <-0.490534, 0.747688, -0.447593> + 3011: <-0.528478, 0.724109, -0.443145> + 3012: <-0.496395, 0.764964, -0.410392> + 3013: <-0.456900, 0.787421, -0.413777> + 3014: <-0.452290, 0.768679, -0.452290> + 3015: <-0.490534, 0.747688, -0.447593> + 3016: <-0.456900, 0.787421, -0.413777> + 3017: <-0.417202, 0.807394, -0.417202> + 3018: <-0.413777, 0.787421, -0.456900> + 3019: <-0.452290, 0.768679, -0.452290> + 3020: <-0.417202, 0.807394, -0.417202> + 3021: <-0.377345, 0.825100, -0.420500> + 3022: <-0.374961, 0.804154, -0.461239> + 3023: <-0.413777, 0.787421, -0.456900> + 3024: <-0.377345, 0.825100, -0.420500> + 3025: <-0.337391, 0.840684, -0.423577> + 3026: <-0.335801, 0.819039, -0.465202> + 3027: <-0.374961, 0.804154, -0.461239> + 3028: <-0.337391, 0.840684, -0.423577> + 3029: <-0.297287, 0.854324, -0.426323> + 3030: <-0.296339, 0.832128, -0.468770> + 3031: <-0.335801, 0.819039, -0.465202> + 3032: <-0.297287, 0.854324, -0.426323> + 3033: <-0.256999, 0.866124, -0.428698> + 3034: <-0.256606, 0.843490, -0.471888> + 3035: <-0.296339, 0.832128, -0.468770> + 3036: <-0.256999, 0.866124, -0.428698> + 3037: <-0.216320, 0.876208, -0.430657> + 3038: <-0.216413, 0.853230, -0.474515> + 3039: <-0.256606, 0.843490, -0.471888> + 3040: <-0.216320, 0.876208, -0.430657> + 3041: <-0.175026, 0.884654, -0.432149> + 3042: <-0.175453, 0.861426, -0.476614> + 3043: <-0.216413, 0.853230, -0.474515> + 3044: <-0.175026, 0.884654, -0.432149> + 3045: <-0.132911, 0.891405, -0.433281> + 3046: <-0.133553, 0.868033, -0.478208> + 3047: <-0.175453, 0.861426, -0.476614> + 3048: <-0.132911, 0.891405, -0.433281> + 3049: <-0.089787, 0.896437, -0.433981> + 3050: <-0.090429, 0.872976, -0.479307> + 3051: <-0.133553, 0.868033, -0.478208> + 3052: <-0.089787, 0.896437, -0.433981> + 3053: <-0.045443, 0.899583, -0.434379> + 3054: <-0.045871, 0.876095, -0.479951> + 3055: <-0.090429, 0.872976, -0.479307> + 3056: <-0.045443, 0.899583, -0.434379> + 3057: < 0.000000, 0.900655, -0.434534> + 3058: < 0.000000, 0.877182, -0.480158> + 3059: <-0.045871, 0.876095, -0.479951> + 3060: < 0.000000, 0.900655, -0.434534> + 3061: < 0.045443, 0.899583, -0.434379> + 3062: < 0.045871, 0.876095, -0.479951> + 3063: < 0.000000, 0.877182, -0.480158> + 3064: < 0.045443, 0.899583, -0.434379> + 3065: < 0.089787, 0.896437, -0.433981> + 3066: < 0.090429, 0.872976, -0.479307> + 3067: < 0.045871, 0.876095, -0.479951> + 3068: < 0.089787, 0.896437, -0.433981> + 3069: < 0.132911, 0.891405, -0.433281> + 3070: < 0.133553, 0.868033, -0.478208> + 3071: < 0.090429, 0.872976, -0.479307> + 3072: < 0.132911, 0.891405, -0.433281> + 3073: < 0.175026, 0.884654, -0.432149> + 3074: < 0.175453, 0.861426, -0.476614> + 3075: < 0.133553, 0.868033, -0.478208> + 3076: < 0.175026, 0.884654, -0.432149> + 3077: < 0.216320, 0.876208, -0.430657> + 3078: < 0.216413, 0.853230, -0.474515> + 3079: < 0.175453, 0.861426, -0.476614> + 3080: < 0.216320, 0.876208, -0.430657> + 3081: < 0.256999, 0.866124, -0.428698> + 3082: < 0.256606, 0.843490, -0.471888> + 3083: < 0.216413, 0.853230, -0.474515> + 3084: < 0.256999, 0.866124, -0.428698> + 3085: < 0.297287, 0.854324, -0.426323> + 3086: < 0.296339, 0.832128, -0.468770> + 3087: < 0.256606, 0.843490, -0.471888> + 3088: < 0.297287, 0.854324, -0.426323> + 3089: < 0.337391, 0.840684, -0.423577> + 3090: < 0.335801, 0.819039, -0.465202> + 3091: < 0.296339, 0.832128, -0.468770> + 3092: < 0.337391, 0.840684, -0.423577> + 3093: < 0.377345, 0.825100, -0.420500> + 3094: < 0.374961, 0.804154, -0.461239> + 3095: < 0.335801, 0.819039, -0.465202> + 3096: < 0.377345, 0.825100, -0.420500> + 3097: < 0.417202, 0.807394, -0.417202> + 3098: < 0.413777, 0.787421, -0.456900> + 3099: < 0.374961, 0.804154, -0.461239> + 3100: < 0.417202, 0.807394, -0.417202> + 3101: < 0.456900, 0.787421, -0.413777> + 3102: < 0.452290, 0.768679, -0.452290> + 3103: < 0.413777, 0.787421, -0.456900> + 3104: < 0.456900, 0.787421, -0.413777> + 3105: < 0.496395, 0.764964, -0.410392> + 3106: < 0.490534, 0.747688, -0.447593> + 3107: < 0.452290, 0.768679, -0.452290> + 3108: < 0.496395, 0.764964, -0.410392> + 3109: < 0.535518, 0.739812, -0.407307> + 3110: < 0.528478, 0.724109, -0.443145> + 3111: < 0.490534, 0.747688, -0.447593> + 3112: < 0.535518, 0.739812, -0.407307> + 3113: < 0.574008, 0.711772, -0.404839> + 3114: < 0.565794, 0.697667, -0.439475> + 3115: < 0.528478, 0.724109, -0.443145> + 3116: < 0.574008, 0.711772, -0.404839> + 3117: < 0.611427, 0.680859, -0.403223> + 3118: < 0.601963, 0.668312, -0.437036> + 3119: < 0.565794, 0.697667, -0.439475> + 3120: <-0.601963, 0.668312, -0.437036> + 3121: <-0.565794, 0.697667, -0.439475> + 3122: <-0.557037, 0.682532, -0.473139> + 3123: <-0.591920, 0.655217, -0.469385> + 3124: <-0.565794, 0.697667, -0.439475> + 3125: <-0.528478, 0.724109, -0.443145> + 3126: <-0.520969, 0.706895, -0.478425> + 3127: <-0.557037, 0.682532, -0.473139> + 3128: <-0.528478, 0.724109, -0.443145> + 3129: <-0.490534, 0.747688, -0.447593> + 3130: <-0.484430, 0.728461, -0.484430> + 3131: <-0.520969, 0.706895, -0.478425> + 3132: <-0.490534, 0.747688, -0.447593> + 3133: <-0.452290, 0.768679, -0.452290> + 3134: <-0.447593, 0.747688, -0.490534> + 3135: <-0.484430, 0.728461, -0.484430> + 3136: <-0.452290, 0.768679, -0.452290> + 3137: <-0.413777, 0.787421, -0.456900> + 3138: <-0.410398, 0.764976, -0.496372> + 3139: <-0.447593, 0.747688, -0.490534> + 3140: <-0.413777, 0.787421, -0.456900> + 3141: <-0.374961, 0.804154, -0.461239> + 3142: <-0.372705, 0.780568, -0.501802> + 3143: <-0.410398, 0.764976, -0.496372> + 3144: <-0.374961, 0.804154, -0.461239> + 3145: <-0.335801, 0.819039, -0.465202> + 3146: <-0.334337, 0.794627, -0.506740> + 3147: <-0.372705, 0.780568, -0.501802> + 3148: <-0.335801, 0.819039, -0.465202> + 3149: <-0.296339, 0.832128, -0.468770> + 3150: <-0.295457, 0.807082, -0.511198> + 3151: <-0.334337, 0.794627, -0.506740> + 3152: <-0.296339, 0.832128, -0.468770> + 3153: <-0.256606, 0.843490, -0.471888> + 3154: <-0.256243, 0.817925, -0.515110> + 3155: <-0.295457, 0.807082, -0.511198> + 3156: <-0.256606, 0.843490, -0.471888> + 3157: <-0.216413, 0.853230, -0.474515> + 3158: <-0.216475, 0.827263, -0.518435> + 3159: <-0.256243, 0.817925, -0.515110> + 3160: <-0.216413, 0.853230, -0.474515> + 3161: <-0.175453, 0.861426, -0.476614> + 3162: <-0.175853, 0.835133, -0.521180> + 3163: <-0.216475, 0.827263, -0.518435> + 3164: <-0.175453, 0.861426, -0.476614> + 3165: <-0.133553, 0.868033, -0.478208> + 3166: <-0.134100, 0.841527, -0.523307> + 3167: <-0.175853, 0.835133, -0.521180> + 3168: <-0.133553, 0.868033, -0.478208> + 3169: <-0.090429, 0.872976, -0.479307> + 3170: <-0.091008, 0.846324, -0.524836> + 3171: <-0.134100, 0.841527, -0.523307> + 3172: <-0.090429, 0.872976, -0.479307> + 3173: <-0.045871, 0.876095, -0.479951> + 3174: <-0.046267, 0.849378, -0.525753> + 3175: <-0.091008, 0.846324, -0.524836> + 3176: <-0.045871, 0.876095, -0.479951> + 3177: < 0.000000, 0.877182, -0.480158> + 3178: < 0.000000, 0.850434, -0.526081> + 3179: <-0.046267, 0.849378, -0.525753> + 3180: < 0.000000, 0.877182, -0.480158> + 3181: < 0.045871, 0.876095, -0.479951> + 3182: < 0.046267, 0.849378, -0.525753> + 3183: < 0.000000, 0.850434, -0.526081> + 3184: < 0.045871, 0.876095, -0.479951> + 3185: < 0.090429, 0.872976, -0.479307> + 3186: < 0.091008, 0.846324, -0.524836> + 3187: < 0.046267, 0.849378, -0.525753> + 3188: < 0.090429, 0.872976, -0.479307> + 3189: < 0.133553, 0.868033, -0.478208> + 3190: < 0.134100, 0.841527, -0.523307> + 3191: < 0.091008, 0.846324, -0.524836> + 3192: < 0.133553, 0.868033, -0.478208> + 3193: < 0.175453, 0.861426, -0.476614> + 3194: < 0.175853, 0.835133, -0.521180> + 3195: < 0.134100, 0.841527, -0.523307> + 3196: < 0.175453, 0.861426, -0.476614> + 3197: < 0.216413, 0.853230, -0.474515> + 3198: < 0.216475, 0.827263, -0.518435> + 3199: < 0.175853, 0.835133, -0.521180> + 3200: < 0.216413, 0.853230, -0.474515> + 3201: < 0.256606, 0.843490, -0.471888> + 3202: < 0.256243, 0.817925, -0.515110> + 3203: < 0.216475, 0.827263, -0.518435> + 3204: < 0.256606, 0.843490, -0.471888> + 3205: < 0.296339, 0.832128, -0.468770> + 3206: < 0.295457, 0.807082, -0.511198> + 3207: < 0.256243, 0.817925, -0.515110> + 3208: < 0.296339, 0.832128, -0.468770> + 3209: < 0.335801, 0.819039, -0.465202> + 3210: < 0.334337, 0.794627, -0.506740> + 3211: < 0.295457, 0.807082, -0.511198> + 3212: < 0.335801, 0.819039, -0.465202> + 3213: < 0.374961, 0.804154, -0.461239> + 3214: < 0.372705, 0.780568, -0.501802> + 3215: < 0.334337, 0.794627, -0.506740> + 3216: < 0.374961, 0.804154, -0.461239> + 3217: < 0.413777, 0.787421, -0.456900> + 3218: < 0.410392, 0.764964, -0.496395> + 3219: < 0.372705, 0.780568, -0.501802> + 3220: < 0.413777, 0.787421, -0.456900> + 3221: < 0.452290, 0.768679, -0.452290> + 3222: < 0.447593, 0.747688, -0.490534> + 3223: < 0.410392, 0.764964, -0.496395> + 3224: < 0.452290, 0.768679, -0.452290> + 3225: < 0.490534, 0.747688, -0.447593> + 3226: < 0.484430, 0.728461, -0.484430> + 3227: < 0.447593, 0.747688, -0.490534> + 3228: < 0.490534, 0.747688, -0.447593> + 3229: < 0.528478, 0.724109, -0.443145> + 3230: < 0.520969, 0.706895, -0.478425> + 3231: < 0.484430, 0.728461, -0.484430> + 3232: < 0.528478, 0.724109, -0.443145> + 3233: < 0.565794, 0.697667, -0.439475> + 3234: < 0.557037, 0.682532, -0.473139> + 3235: < 0.520969, 0.706895, -0.478425> + 3236: < 0.565794, 0.697667, -0.439475> + 3237: < 0.601963, 0.668312, -0.437036> + 3238: < 0.591920, 0.655217, -0.469385> + 3239: < 0.557037, 0.682532, -0.473139> + 3240: <-0.591920, 0.655217, -0.469385> + 3241: <-0.557037, 0.682532, -0.473139> + 3242: <-0.547882, 0.666144, -0.506040> + 3243: <-0.581456, 0.641397, -0.500519> + 3244: <-0.557037, 0.682532, -0.473139> + 3245: <-0.520969, 0.706895, -0.478425> + 3246: <-0.513252, 0.687856, -0.513252> + 3247: <-0.547882, 0.666144, -0.506040> + 3248: <-0.520969, 0.706895, -0.478425> + 3249: <-0.484430, 0.728461, -0.484430> + 3250: <-0.478425, 0.706895, -0.520969> + 3251: <-0.513252, 0.687856, -0.513252> + 3252: <-0.484430, 0.728461, -0.484430> + 3253: <-0.447593, 0.747688, -0.490534> + 3254: <-0.443145, 0.724109, -0.528478> + 3255: <-0.478425, 0.706895, -0.520969> + 3256: <-0.447593, 0.747688, -0.490534> + 3257: <-0.410398, 0.764976, -0.496372> + 3258: <-0.407307, 0.739812, -0.535518> + 3259: <-0.443145, 0.724109, -0.528478> + 3260: <-0.410398, 0.764976, -0.496372> + 3261: <-0.372705, 0.780568, -0.501802> + 3262: <-0.370721, 0.754169, -0.542028> + 3263: <-0.407307, 0.739812, -0.535518> + 3264: <-0.372705, 0.780568, -0.501802> + 3265: <-0.334337, 0.794627, -0.506740> + 3266: <-0.333090, 0.767292, -0.548009> + 3267: <-0.370721, 0.754169, -0.542028> + 3268: <-0.334337, 0.794627, -0.506740> + 3269: <-0.295457, 0.807082, -0.511198> + 3270: <-0.294729, 0.779017, -0.553415> + 3271: <-0.333090, 0.767292, -0.548009> + 3272: <-0.295457, 0.807082, -0.511198> + 3273: <-0.256243, 0.817925, -0.515110> + 3274: <-0.255937, 0.789266, -0.558172> + 3275: <-0.294729, 0.779017, -0.553415> + 3276: <-0.256243, 0.817925, -0.515110> + 3277: <-0.216475, 0.827263, -0.518435> + 3278: <-0.216534, 0.798110, -0.562257> + 3279: <-0.255937, 0.789266, -0.558172> + 3280: <-0.216475, 0.827263, -0.518435> + 3281: <-0.175853, 0.835133, -0.521180> + 3282: <-0.176188, 0.805587, -0.565675> + 3283: <-0.216534, 0.798110, -0.562257> + 3284: <-0.175853, 0.835133, -0.521180> + 3285: <-0.134100, 0.841527, -0.523307> + 3286: <-0.134618, 0.811677, -0.568382> + 3287: <-0.176188, 0.805587, -0.565675> + 3288: <-0.134100, 0.841527, -0.523307> + 3289: <-0.091008, 0.846324, -0.524836> + 3290: <-0.091497, 0.816271, -0.570377> + 3291: <-0.134618, 0.811677, -0.568382> + 3292: <-0.091008, 0.846324, -0.524836> + 3293: <-0.046267, 0.849378, -0.525753> + 3294: <-0.046573, 0.819208, -0.571602> + 3295: <-0.091497, 0.816271, -0.570377> + 3296: <-0.046267, 0.849378, -0.525753> + 3297: < 0.000000, 0.850434, -0.526081> + 3298: < 0.000000, 0.820237, -0.572024> + 3299: <-0.046573, 0.819208, -0.571602> + 3300: < 0.000000, 0.850434, -0.526081> + 3301: < 0.046267, 0.849378, -0.525753> + 3302: < 0.046573, 0.819208, -0.571602> + 3303: < 0.000000, 0.820237, -0.572024> + 3304: < 0.046267, 0.849378, -0.525753> + 3305: < 0.091008, 0.846324, -0.524836> + 3306: < 0.091497, 0.816271, -0.570377> + 3307: < 0.046573, 0.819208, -0.571602> + 3308: < 0.091008, 0.846324, -0.524836> + 3309: < 0.134100, 0.841527, -0.523307> + 3310: < 0.134618, 0.811677, -0.568382> + 3311: < 0.091497, 0.816271, -0.570377> + 3312: < 0.134100, 0.841527, -0.523307> + 3313: < 0.175853, 0.835133, -0.521180> + 3314: < 0.176188, 0.805587, -0.565675> + 3315: < 0.134618, 0.811677, -0.568382> + 3316: < 0.175853, 0.835133, -0.521180> + 3317: < 0.216475, 0.827263, -0.518435> + 3318: < 0.216534, 0.798110, -0.562257> + 3319: < 0.176188, 0.805587, -0.565675> + 3320: < 0.216475, 0.827263, -0.518435> + 3321: < 0.256243, 0.817925, -0.515110> + 3322: < 0.255937, 0.789266, -0.558172> + 3323: < 0.216534, 0.798110, -0.562257> + 3324: < 0.256243, 0.817925, -0.515110> + 3325: < 0.295457, 0.807082, -0.511198> + 3326: < 0.294729, 0.779017, -0.553415> + 3327: < 0.255937, 0.789266, -0.558172> + 3328: < 0.295457, 0.807082, -0.511198> + 3329: < 0.334337, 0.794627, -0.506740> + 3330: < 0.333090, 0.767292, -0.548009> + 3331: < 0.294729, 0.779017, -0.553415> + 3332: < 0.334337, 0.794627, -0.506740> + 3333: < 0.372705, 0.780568, -0.501802> + 3334: < 0.370721, 0.754169, -0.542028> + 3335: < 0.333090, 0.767292, -0.548009> + 3336: < 0.372705, 0.780568, -0.501802> + 3337: < 0.410392, 0.764964, -0.496395> + 3338: < 0.407307, 0.739812, -0.535518> + 3339: < 0.370721, 0.754169, -0.542028> + 3340: < 0.410392, 0.764964, -0.496395> + 3341: < 0.447593, 0.747688, -0.490534> + 3342: < 0.443145, 0.724109, -0.528478> + 3343: < 0.407307, 0.739812, -0.535518> + 3344: < 0.447593, 0.747688, -0.490534> + 3345: < 0.484430, 0.728461, -0.484430> + 3346: < 0.478425, 0.706895, -0.520969> + 3347: < 0.443145, 0.724109, -0.528478> + 3348: < 0.484430, 0.728461, -0.484430> + 3349: < 0.520969, 0.706895, -0.478425> + 3350: < 0.513252, 0.687856, -0.513252> + 3351: < 0.478425, 0.706895, -0.520969> + 3352: < 0.520969, 0.706895, -0.478425> + 3353: < 0.557037, 0.682532, -0.473139> + 3354: < 0.547882, 0.666144, -0.506040> + 3355: < 0.513252, 0.687856, -0.513252> + 3356: < 0.557037, 0.682532, -0.473139> + 3357: < 0.591920, 0.655217, -0.469385> + 3358: < 0.581456, 0.641397, -0.500519> + 3359: < 0.547882, 0.666144, -0.506040> + 3360: <-0.581456, 0.641397, -0.500519> + 3361: <-0.547882, 0.666144, -0.506040> + 3362: <-0.538962, 0.647334, -0.538962> + 3363: <-0.571076, 0.625584, -0.531523> + 3364: <-0.547882, 0.666144, -0.506040> + 3365: <-0.513252, 0.687856, -0.513252> + 3366: <-0.506040, 0.666144, -0.547882> + 3367: <-0.538962, 0.647334, -0.538962> + 3368: <-0.513252, 0.687856, -0.513252> + 3369: <-0.478425, 0.706895, -0.520969> + 3370: <-0.473139, 0.682532, -0.557037> + 3371: <-0.506040, 0.666144, -0.547882> + 3372: <-0.478425, 0.706895, -0.520969> + 3373: <-0.443145, 0.724109, -0.528478> + 3374: <-0.439475, 0.697667, -0.565794> + 3375: <-0.473139, 0.682532, -0.557037> + 3376: <-0.443145, 0.724109, -0.528478> + 3377: <-0.407307, 0.739812, -0.535518> + 3378: <-0.404839, 0.711772, -0.574008> + 3379: <-0.439475, 0.697667, -0.565794> + 3380: <-0.407307, 0.739812, -0.535518> + 3381: <-0.370721, 0.754169, -0.542028> + 3382: <-0.369188, 0.724825, -0.581661> + 3383: <-0.404839, 0.711772, -0.574008> + 3384: <-0.370721, 0.754169, -0.542028> + 3385: <-0.333090, 0.767292, -0.548009> + 3386: <-0.332197, 0.736907, -0.588738> + 3387: <-0.369188, 0.724825, -0.581661> + 3388: <-0.333090, 0.767292, -0.548009> + 3389: <-0.294729, 0.779017, -0.553415> + 3390: <-0.294207, 0.747816, -0.595158> + 3391: <-0.332197, 0.736907, -0.588738> + 3392: <-0.294729, 0.779017, -0.553415> + 3393: <-0.255937, 0.789266, -0.558172> + 3394: <-0.255750, 0.757361, -0.600829> + 3395: <-0.294207, 0.747816, -0.595158> + 3396: <-0.255937, 0.789266, -0.558172> + 3397: <-0.216534, 0.798110, -0.562257> + 3398: <-0.216596, 0.765608, -0.605748> + 3399: <-0.255750, 0.757361, -0.600829> + 3400: <-0.216534, 0.798110, -0.562257> + 3401: <-0.176188, 0.805587, -0.565675> + 3402: <-0.176461, 0.772589, -0.609892> + 3403: <-0.216596, 0.765608, -0.605748> + 3404: <-0.176188, 0.805587, -0.565675> + 3405: <-0.134618, 0.811677, -0.568382> + 3406: <-0.135018, 0.778306, -0.613196> + 3407: <-0.176461, 0.772589, -0.609892> + 3408: <-0.134618, 0.811677, -0.568382> + 3409: <-0.091497, 0.816271, -0.570377> + 3410: <-0.091894, 0.782607, -0.615697> + 3411: <-0.135018, 0.778306, -0.613196> + 3412: <-0.091497, 0.816271, -0.570377> + 3413: <-0.046573, 0.819208, -0.571602> + 3414: <-0.046847, 0.785375, -0.617246> + 3415: <-0.091894, 0.782607, -0.615697> + 3416: <-0.046573, 0.819208, -0.571602> + 3417: < 0.000000, 0.820237, -0.572024> + 3418: < 0.000000, 0.786344, -0.617789> + 3419: <-0.046847, 0.785375, -0.617246> + 3420: < 0.000000, 0.820237, -0.572024> + 3421: < 0.046573, 0.819208, -0.571602> + 3422: < 0.046847, 0.785375, -0.617246> + 3423: < 0.000000, 0.786344, -0.617789> + 3424: < 0.046573, 0.819208, -0.571602> + 3425: < 0.091497, 0.816271, -0.570377> + 3426: < 0.091894, 0.782607, -0.615697> + 3427: < 0.046847, 0.785375, -0.617246> + 3428: < 0.091497, 0.816271, -0.570377> + 3429: < 0.134618, 0.811677, -0.568382> + 3430: < 0.134985, 0.778295, -0.613218> + 3431: < 0.091894, 0.782607, -0.615697> + 3432: < 0.134618, 0.811677, -0.568382> + 3433: < 0.176188, 0.805587, -0.565675> + 3434: < 0.176461, 0.772589, -0.609892> + 3435: < 0.134985, 0.778295, -0.613218> + 3436: < 0.176188, 0.805587, -0.565675> + 3437: < 0.216534, 0.798110, -0.562257> + 3438: < 0.216596, 0.765608, -0.605748> + 3439: < 0.176461, 0.772589, -0.609892> + 3440: < 0.216534, 0.798110, -0.562257> + 3441: < 0.255937, 0.789266, -0.558172> + 3442: < 0.255750, 0.757361, -0.600829> + 3443: < 0.216596, 0.765608, -0.605748> + 3444: < 0.255937, 0.789266, -0.558172> + 3445: < 0.294729, 0.779017, -0.553415> + 3446: < 0.294207, 0.747816, -0.595158> + 3447: < 0.255750, 0.757361, -0.600829> + 3448: < 0.294729, 0.779017, -0.553415> + 3449: < 0.333090, 0.767292, -0.548009> + 3450: < 0.332170, 0.736915, -0.588744> + 3451: < 0.294207, 0.747816, -0.595158> + 3452: < 0.333090, 0.767292, -0.548009> + 3453: < 0.370721, 0.754169, -0.542028> + 3454: < 0.369188, 0.724825, -0.581661> + 3455: < 0.332170, 0.736915, -0.588744> + 3456: < 0.370721, 0.754169, -0.542028> + 3457: < 0.407307, 0.739812, -0.535518> + 3458: < 0.404839, 0.711772, -0.574008> + 3459: < 0.369188, 0.724825, -0.581661> + 3460: < 0.407307, 0.739812, -0.535518> + 3461: < 0.443145, 0.724109, -0.528478> + 3462: < 0.439475, 0.697667, -0.565794> + 3463: < 0.404839, 0.711772, -0.574008> + 3464: < 0.443145, 0.724109, -0.528478> + 3465: < 0.478425, 0.706895, -0.520969> + 3466: < 0.473139, 0.682532, -0.557037> + 3467: < 0.439475, 0.697667, -0.565794> + 3468: < 0.478425, 0.706895, -0.520969> + 3469: < 0.513252, 0.687856, -0.513252> + 3470: < 0.506040, 0.666144, -0.547882> + 3471: < 0.473139, 0.682532, -0.557037> + 3472: < 0.513252, 0.687856, -0.513252> + 3473: < 0.547882, 0.666144, -0.506040> + 3474: < 0.538962, 0.647334, -0.538962> + 3475: < 0.506040, 0.666144, -0.547882> + 3476: < 0.547882, 0.666144, -0.506040> + 3477: < 0.581456, 0.641397, -0.500519> + 3478: < 0.571076, 0.625584, -0.531523> + 3479: < 0.538962, 0.647334, -0.538962> + 3480: <-0.571076, 0.625584, -0.531523> + 3481: <-0.538962, 0.647334, -0.538962> + 3482: <-0.531523, 0.625584, -0.571076> + 3483: <-0.561516, 0.607783, -0.561516> + 3484: <-0.538962, 0.647334, -0.538962> + 3485: <-0.506040, 0.666144, -0.547882> + 3486: <-0.500519, 0.641397, -0.581456> + 3487: <-0.531523, 0.625584, -0.571076> + 3488: <-0.506040, 0.666144, -0.547882> + 3489: <-0.473139, 0.682532, -0.557037> + 3490: <-0.469385, 0.655217, -0.591920> + 3491: <-0.500519, 0.641397, -0.581456> + 3492: <-0.473139, 0.682532, -0.557037> + 3493: <-0.439475, 0.697667, -0.565794> + 3494: <-0.437036, 0.668312, -0.601963> + 3495: <-0.469385, 0.655217, -0.591920> + 3496: <-0.439475, 0.697667, -0.565794> + 3497: <-0.404839, 0.711772, -0.574008> + 3498: <-0.403223, 0.680859, -0.611427> + 3499: <-0.437036, 0.668312, -0.601963> + 3500: <-0.404839, 0.711772, -0.574008> + 3501: <-0.369188, 0.724825, -0.581661> + 3502: <-0.368246, 0.692544, -0.620305> + 3503: <-0.403223, 0.680859, -0.611427> + 3504: <-0.369188, 0.724825, -0.581661> + 3505: <-0.332197, 0.736907, -0.588738> + 3506: <-0.331652, 0.703467, -0.628603> + 3507: <-0.368246, 0.692544, -0.620305> + 3508: <-0.332197, 0.736907, -0.588738> + 3509: <-0.294207, 0.747816, -0.595158> + 3510: <-0.293904, 0.713396, -0.636150> + 3511: <-0.331652, 0.703467, -0.628603> + 3512: <-0.294207, 0.747816, -0.595158> + 3513: <-0.255750, 0.757361, -0.600829> + 3514: <-0.255632, 0.722093, -0.642833> + 3515: <-0.293904, 0.713396, -0.636150> + 3516: <-0.255750, 0.757361, -0.600829> + 3517: <-0.216596, 0.765608, -0.605748> + 3518: <-0.216660, 0.729636, -0.648606> + 3519: <-0.255632, 0.722093, -0.642833> + 3520: <-0.216596, 0.765608, -0.605748> + 3521: <-0.176461, 0.772589, -0.609892> + 3522: <-0.176644, 0.736025, -0.653502> + 3523: <-0.216660, 0.729636, -0.648606> + 3524: <-0.176461, 0.772589, -0.609892> + 3525: <-0.135018, 0.778306, -0.613196> + 3526: <-0.135260, 0.741243, -0.657468> + 3527: <-0.176644, 0.736025, -0.653502> + 3528: <-0.135018, 0.778306, -0.613196> + 3529: <-0.091894, 0.782607, -0.615697> + 3530: <-0.092137, 0.745184, -0.660463> + 3531: <-0.135260, 0.741243, -0.657468> + 3532: <-0.091894, 0.782607, -0.615697> + 3533: <-0.046847, 0.785375, -0.617246> + 3534: <-0.046999, 0.747715, -0.662354> + 3535: <-0.092137, 0.745184, -0.660463> + 3536: <-0.046847, 0.785375, -0.617246> + 3537: < 0.000000, 0.786344, -0.617789> + 3538: < 0.000000, 0.748599, -0.663024> + 3539: <-0.046999, 0.747715, -0.662354> + 3540: < 0.000000, 0.786344, -0.617789> + 3541: < 0.046847, 0.785375, -0.617246> + 3542: < 0.046999, 0.747715, -0.662354> + 3543: < 0.000000, 0.748599, -0.663024> + 3544: < 0.046847, 0.785375, -0.617246> + 3545: < 0.091894, 0.782607, -0.615697> + 3546: < 0.092137, 0.745184, -0.660463> + 3547: < 0.046999, 0.747715, -0.662354> + 3548: < 0.091894, 0.782607, -0.615697> + 3549: < 0.134985, 0.778295, -0.613218> + 3550: < 0.135260, 0.741243, -0.657468> + 3551: < 0.092137, 0.745184, -0.660463> + 3552: < 0.134985, 0.778295, -0.613218> + 3553: < 0.176461, 0.772589, -0.609892> + 3554: < 0.176644, 0.736025, -0.653502> + 3555: < 0.135260, 0.741243, -0.657468> + 3556: < 0.176461, 0.772589, -0.609892> + 3557: < 0.216596, 0.765608, -0.605748> + 3558: < 0.216660, 0.729636, -0.648606> + 3559: < 0.176644, 0.736025, -0.653502> + 3560: < 0.216596, 0.765608, -0.605748> + 3561: < 0.255750, 0.757361, -0.600829> + 3562: < 0.255632, 0.722093, -0.642833> + 3563: < 0.216660, 0.729636, -0.648606> + 3564: < 0.255750, 0.757361, -0.600829> + 3565: < 0.294207, 0.747816, -0.595158> + 3566: < 0.293904, 0.713396, -0.636150> + 3567: < 0.255632, 0.722093, -0.642833> + 3568: < 0.294207, 0.747816, -0.595158> + 3569: < 0.332170, 0.736915, -0.588744> + 3570: < 0.331652, 0.703467, -0.628603> + 3571: < 0.293904, 0.713396, -0.636150> + 3572: < 0.332170, 0.736915, -0.588744> + 3573: < 0.369188, 0.724825, -0.581661> + 3574: < 0.368246, 0.692544, -0.620305> + 3575: < 0.331652, 0.703467, -0.628603> + 3576: < 0.369188, 0.724825, -0.581661> + 3577: < 0.404839, 0.711772, -0.574008> + 3578: < 0.403223, 0.680859, -0.611427> + 3579: < 0.368246, 0.692544, -0.620305> + 3580: < 0.404839, 0.711772, -0.574008> + 3581: < 0.439475, 0.697667, -0.565794> + 3582: < 0.437036, 0.668312, -0.601963> + 3583: < 0.403223, 0.680859, -0.611427> + 3584: < 0.439475, 0.697667, -0.565794> + 3585: < 0.473139, 0.682532, -0.557037> + 3586: < 0.469385, 0.655217, -0.591920> + 3587: < 0.437036, 0.668312, -0.601963> + 3588: < 0.473139, 0.682532, -0.557037> + 3589: < 0.506040, 0.666144, -0.547882> + 3590: < 0.500519, 0.641397, -0.581456> + 3591: < 0.469385, 0.655217, -0.591920> + 3592: < 0.506040, 0.666144, -0.547882> + 3593: < 0.538962, 0.647334, -0.538962> + 3594: < 0.531523, 0.625584, -0.571076> + 3595: < 0.500519, 0.641397, -0.581456> + 3596: < 0.538962, 0.647334, -0.538962> + 3597: < 0.571076, 0.625584, -0.531523> + 3598: < 0.561516, 0.607783, -0.561516> + 3599: < 0.531523, 0.625584, -0.571076> + 3600: <-0.577350, 0.577350, 0.577350> + 3601: <-0.554296, 0.588539, 0.588539> + 3602: <-0.561516, 0.607783, 0.561516> + 3603: <-0.588539, 0.588539, 0.554296> + 3604: <-0.554296, 0.588539, 0.588539> + 3605: <-0.526447, 0.601188, 0.601188> + 3606: <-0.531523, 0.625584, 0.571076> + 3607: <-0.561516, 0.607783, 0.561516> + 3608: <-0.526447, 0.601188, 0.601188> + 3609: <-0.497527, 0.613379, 0.613379> + 3610: <-0.500519, 0.641397, 0.581456> + 3611: <-0.531523, 0.625584, 0.571076> + 3612: <-0.497527, 0.613379, 0.613379> + 3613: <-0.467950, 0.624909, 0.624909> + 3614: <-0.469385, 0.655217, 0.591920> + 3615: <-0.500519, 0.641397, 0.581456> + 3616: <-0.467950, 0.624909, 0.624909> + 3617: <-0.436181, 0.636296, 0.636296> + 3618: <-0.437036, 0.668312, 0.601963> + 3619: <-0.469385, 0.655217, 0.591920> + 3620: <-0.436181, 0.636296, 0.636296> + 3621: <-0.402668, 0.647247, 0.647247> + 3622: <-0.403223, 0.680859, 0.611427> + 3623: <-0.437036, 0.668312, 0.601963> + 3624: <-0.402668, 0.647247, 0.647247> + 3625: <-0.367912, 0.657511, 0.657511> + 3626: <-0.368246, 0.692544, 0.620305> + 3627: <-0.403223, 0.680859, 0.611427> + 3628: <-0.367912, 0.657511, 0.657511> + 3629: <-0.331474, 0.667130, 0.667130> + 3630: <-0.331652, 0.703467, 0.628603> + 3631: <-0.368246, 0.692544, 0.620305> + 3632: <-0.331474, 0.667130, 0.667130> + 3633: <-0.293804, 0.675899, 0.675899> + 3634: <-0.293904, 0.713396, 0.636150> + 3635: <-0.331652, 0.703467, 0.628603> + 3636: <-0.293804, 0.675899, 0.675899> + 3637: <-0.255594, 0.683620, 0.683620> + 3638: <-0.255632, 0.722093, 0.642833> + 3639: <-0.293904, 0.713396, 0.636150> + 3640: <-0.255594, 0.683620, 0.683620> + 3641: <-0.216684, 0.690307, 0.690307> + 3642: <-0.216660, 0.729636, 0.648606> + 3643: <-0.255632, 0.722093, 0.642833> + 3644: <-0.216684, 0.690307, 0.690307> + 3645: <-0.176733, 0.695976, 0.695976> + 3646: <-0.176644, 0.736025, 0.653502> + 3647: <-0.216660, 0.729636, 0.648606> + 3648: <-0.176733, 0.695976, 0.695976> + 3649: <-0.135353, 0.700600, 0.700600> + 3650: <-0.135260, 0.741243, 0.657468> + 3651: <-0.176644, 0.736025, 0.653502> + 3652: <-0.135353, 0.700600, 0.700600> + 3653: <-0.092231, 0.704093, 0.704093> + 3654: <-0.092137, 0.745184, 0.660463> + 3655: <-0.135260, 0.741243, 0.657468> + 3656: <-0.092231, 0.704093, 0.704093> + 3657: <-0.047060, 0.706323, 0.706323> + 3658: <-0.046999, 0.747715, 0.662354> + 3659: <-0.092137, 0.745184, 0.660463> + 3660: <-0.047060, 0.706323, 0.706323> + 3661: < 0.000000, 0.707107, 0.707107> + 3662: < 0.000000, 0.748599, 0.663024> + 3663: <-0.046999, 0.747715, 0.662354> + 3664: < 0.000000, 0.707107, 0.707107> + 3665: < 0.047060, 0.706323, 0.706323> + 3666: < 0.046999, 0.747715, 0.662354> + 3667: < 0.000000, 0.748599, 0.663024> + 3668: < 0.047060, 0.706323, 0.706323> + 3669: < 0.092231, 0.704093, 0.704093> + 3670: < 0.092137, 0.745184, 0.660463> + 3671: < 0.046999, 0.747715, 0.662354> + 3672: < 0.092231, 0.704093, 0.704093> + 3673: < 0.135353, 0.700600, 0.700600> + 3674: < 0.135260, 0.741243, 0.657468> + 3675: < 0.092137, 0.745184, 0.660463> + 3676: < 0.135353, 0.700600, 0.700600> + 3677: < 0.176733, 0.695976, 0.695976> + 3678: < 0.176644, 0.736025, 0.653502> + 3679: < 0.135260, 0.741243, 0.657468> + 3680: < 0.176733, 0.695976, 0.695976> + 3681: < 0.216684, 0.690307, 0.690307> + 3682: < 0.216660, 0.729636, 0.648606> + 3683: < 0.176644, 0.736025, 0.653502> + 3684: < 0.216684, 0.690307, 0.690307> + 3685: < 0.255594, 0.683620, 0.683620> + 3686: < 0.255632, 0.722093, 0.642833> + 3687: < 0.216660, 0.729636, 0.648606> + 3688: < 0.255594, 0.683620, 0.683620> + 3689: < 0.293804, 0.675899, 0.675899> + 3690: < 0.293904, 0.713396, 0.636150> + 3691: < 0.255632, 0.722093, 0.642833> + 3692: < 0.293804, 0.675899, 0.675899> + 3693: < 0.331474, 0.667130, 0.667130> + 3694: < 0.331652, 0.703467, 0.628603> + 3695: < 0.293904, 0.713396, 0.636150> + 3696: < 0.331474, 0.667130, 0.667130> + 3697: < 0.367912, 0.657511, 0.657511> + 3698: < 0.368246, 0.692544, 0.620305> + 3699: < 0.331652, 0.703467, 0.628603> + 3700: < 0.367912, 0.657511, 0.657511> + 3701: < 0.402668, 0.647247, 0.647247> + 3702: < 0.403223, 0.680859, 0.611427> + 3703: < 0.368246, 0.692544, 0.620305> + 3704: < 0.402668, 0.647247, 0.647247> + 3705: < 0.436181, 0.636296, 0.636296> + 3706: < 0.437036, 0.668312, 0.601963> + 3707: < 0.403223, 0.680859, 0.611427> + 3708: < 0.436181, 0.636296, 0.636296> + 3709: < 0.467950, 0.624909, 0.624909> + 3710: < 0.469385, 0.655217, 0.591920> + 3711: < 0.437036, 0.668312, 0.601963> + 3712: < 0.467950, 0.624909, 0.624909> + 3713: < 0.497527, 0.613379, 0.613379> + 3714: < 0.500496, 0.641406, 0.581465> + 3715: < 0.469385, 0.655217, 0.591920> + 3716: < 0.497527, 0.613379, 0.613379> + 3717: < 0.526447, 0.601188, 0.601188> + 3718: < 0.531523, 0.625584, 0.571076> + 3719: < 0.500496, 0.641406, 0.581465> + 3720: < 0.526447, 0.601188, 0.601188> + 3721: < 0.554296, 0.588539, 0.588539> + 3722: < 0.561516, 0.607783, 0.561516> + 3723: < 0.531523, 0.625584, 0.571076> + 3724: < 0.554296, 0.588539, 0.588539> + 3725: < 0.577330, 0.577360, 0.577360> + 3726: < 0.588539, 0.588539, 0.554296> + 3727: < 0.561516, 0.607783, 0.561516> + 3728: < 0.561516, 0.607783, 0.561516> + 3729: < 0.588539, 0.588539, 0.554296> + 3730: < 0.601188, 0.601188, 0.526447> + 3731: < 0.571076, 0.625584, 0.531523> + 3732: < 0.571076, 0.625584, 0.531523> + 3733: < 0.601188, 0.601188, 0.526447> + 3734: < 0.613379, 0.613379, 0.497527> + 3735: < 0.581456, 0.641397, 0.500519> + 3736: < 0.581456, 0.641397, 0.500519> + 3737: < 0.613379, 0.613379, 0.497527> + 3738: < 0.624909, 0.624909, 0.467950> + 3739: < 0.591920, 0.655217, 0.469385> + 3740: < 0.591920, 0.655217, 0.469385> + 3741: < 0.624909, 0.624909, 0.467950> + 3742: < 0.636296, 0.636296, 0.436181> + 3743: < 0.601963, 0.668312, 0.437036> + 3744: < 0.601963, 0.668312, 0.437036> + 3745: < 0.636296, 0.636296, 0.436181> + 3746: < 0.647247, 0.647247, 0.402668> + 3747: < 0.611427, 0.680859, 0.403223> + 3748: < 0.611427, 0.680859, 0.403223> + 3749: < 0.647247, 0.647247, 0.402668> + 3750: < 0.657511, 0.657511, 0.367912> + 3751: < 0.620305, 0.692544, 0.368246> + 3752: < 0.620305, 0.692544, 0.368246> + 3753: < 0.657511, 0.657511, 0.367912> + 3754: < 0.667130, 0.667130, 0.331474> + 3755: < 0.628603, 0.703467, 0.331652> + 3756: < 0.628603, 0.703467, 0.331652> + 3757: < 0.667130, 0.667130, 0.331474> + 3758: < 0.675899, 0.675899, 0.293804> + 3759: < 0.636150, 0.713396, 0.293904> + 3760: < 0.636150, 0.713396, 0.293904> + 3761: < 0.675899, 0.675899, 0.293804> + 3762: < 0.683620, 0.683620, 0.255594> + 3763: < 0.642833, 0.722093, 0.255632> + 3764: < 0.642833, 0.722093, 0.255632> + 3765: < 0.683620, 0.683620, 0.255594> + 3766: < 0.690307, 0.690307, 0.216684> + 3767: < 0.648606, 0.729636, 0.216660> + 3768: < 0.648606, 0.729636, 0.216660> + 3769: < 0.690307, 0.690307, 0.216684> + 3770: < 0.695976, 0.695976, 0.176733> + 3771: < 0.653502, 0.736025, 0.176644> + 3772: < 0.653502, 0.736025, 0.176644> + 3773: < 0.695976, 0.695976, 0.176733> + 3774: < 0.700600, 0.700600, 0.135353> + 3775: < 0.657468, 0.741243, 0.135260> + 3776: < 0.657468, 0.741243, 0.135260> + 3777: < 0.700600, 0.700600, 0.135353> + 3778: < 0.704093, 0.704093, 0.092231> + 3779: < 0.660463, 0.745184, 0.092137> + 3780: < 0.660463, 0.745184, 0.092137> + 3781: < 0.704093, 0.704093, 0.092231> + 3782: < 0.706323, 0.706323, 0.047060> + 3783: < 0.662354, 0.747715, 0.046999> + 3784: < 0.662354, 0.747715, 0.046999> + 3785: < 0.706323, 0.706323, 0.047060> + 3786: < 0.707107, 0.707107, 0.000000> + 3787: < 0.663024, 0.748599, 0.000000> + 3788: < 0.663024, 0.748599, 0.000000> + 3789: < 0.707107, 0.707107, 0.000000> + 3790: < 0.706323, 0.706323, -0.047060> + 3791: < 0.662354, 0.747715, -0.046999> + 3792: < 0.662354, 0.747715, -0.046999> + 3793: < 0.706323, 0.706323, -0.047060> + 3794: < 0.704093, 0.704093, -0.092231> + 3795: < 0.660463, 0.745184, -0.092137> + 3796: < 0.660463, 0.745184, -0.092137> + 3797: < 0.704093, 0.704093, -0.092231> + 3798: < 0.700600, 0.700600, -0.135353> + 3799: < 0.657468, 0.741243, -0.135260> + 3800: < 0.657468, 0.741243, -0.135260> + 3801: < 0.700600, 0.700600, -0.135353> + 3802: < 0.695976, 0.695976, -0.176733> + 3803: < 0.653502, 0.736025, -0.176644> + 3804: < 0.653502, 0.736025, -0.176644> + 3805: < 0.695976, 0.695976, -0.176733> + 3806: < 0.690307, 0.690307, -0.216684> + 3807: < 0.648606, 0.729636, -0.216660> + 3808: < 0.648606, 0.729636, -0.216660> + 3809: < 0.690307, 0.690307, -0.216684> + 3810: < 0.683620, 0.683620, -0.255594> + 3811: < 0.642833, 0.722093, -0.255632> + 3812: < 0.642833, 0.722093, -0.255632> + 3813: < 0.683620, 0.683620, -0.255594> + 3814: < 0.675899, 0.675899, -0.293804> + 3815: < 0.636150, 0.713396, -0.293904> + 3816: < 0.636150, 0.713396, -0.293904> + 3817: < 0.675899, 0.675899, -0.293804> + 3818: < 0.667130, 0.667130, -0.331474> + 3819: < 0.628603, 0.703467, -0.331652> + 3820: < 0.628603, 0.703467, -0.331652> + 3821: < 0.667130, 0.667130, -0.331474> + 3822: < 0.657511, 0.657511, -0.367912> + 3823: < 0.620305, 0.692544, -0.368246> + 3824: < 0.620305, 0.692544, -0.368246> + 3825: < 0.657511, 0.657511, -0.367912> + 3826: < 0.647247, 0.647247, -0.402668> + 3827: < 0.611427, 0.680859, -0.403223> + 3828: < 0.611427, 0.680859, -0.403223> + 3829: < 0.647247, 0.647247, -0.402668> + 3830: < 0.636296, 0.636296, -0.436181> + 3831: < 0.601963, 0.668312, -0.437036> + 3832: < 0.601963, 0.668312, -0.437036> + 3833: < 0.636296, 0.636296, -0.436181> + 3834: < 0.624909, 0.624909, -0.467950> + 3835: < 0.591920, 0.655217, -0.469385> + 3836: < 0.591920, 0.655217, -0.469385> + 3837: < 0.624909, 0.624909, -0.467950> + 3838: < 0.613379, 0.613379, -0.497527> + 3839: < 0.581456, 0.641397, -0.500519> + 3840: < 0.581456, 0.641397, -0.500519> + 3841: < 0.613379, 0.613379, -0.497527> + 3842: < 0.601168, 0.601199, -0.526457> + 3843: < 0.571076, 0.625584, -0.531523> + 3844: < 0.571076, 0.625584, -0.531523> + 3845: < 0.601168, 0.601199, -0.526457> + 3846: < 0.588539, 0.588539, -0.554296> + 3847: < 0.561516, 0.607783, -0.561516> + 3848: < 0.561516, 0.607783, -0.561516> + 3849: < 0.588539, 0.588539, -0.554296> + 3850: < 0.577350, 0.577350, -0.577350> + 3851: < 0.554296, 0.588539, -0.588539> + 3852: < 0.531523, 0.625584, -0.571076> + 3853: < 0.561516, 0.607783, -0.561516> + 3854: < 0.554296, 0.588539, -0.588539> + 3855: < 0.526467, 0.601179, -0.601179> + 3856: < 0.500519, 0.641397, -0.581456> + 3857: < 0.531523, 0.625584, -0.571076> + 3858: < 0.526467, 0.601179, -0.601179> + 3859: < 0.497527, 0.613379, -0.613379> + 3860: < 0.469385, 0.655217, -0.591920> + 3861: < 0.500519, 0.641397, -0.581456> + 3862: < 0.497527, 0.613379, -0.613379> + 3863: < 0.467950, 0.624909, -0.624909> + 3864: < 0.437036, 0.668312, -0.601963> + 3865: < 0.469385, 0.655217, -0.591920> + 3866: < 0.467950, 0.624909, -0.624909> + 3867: < 0.436181, 0.636296, -0.636296> + 3868: < 0.403223, 0.680859, -0.611427> + 3869: < 0.437036, 0.668312, -0.601963> + 3870: < 0.436181, 0.636296, -0.636296> + 3871: < 0.402668, 0.647247, -0.647247> + 3872: < 0.368246, 0.692544, -0.620305> + 3873: < 0.403223, 0.680859, -0.611427> + 3874: < 0.402668, 0.647247, -0.647247> + 3875: < 0.367912, 0.657511, -0.657511> + 3876: < 0.331652, 0.703467, -0.628603> + 3877: < 0.368246, 0.692544, -0.620305> + 3878: < 0.367912, 0.657511, -0.657511> + 3879: < 0.331474, 0.667130, -0.667130> + 3880: < 0.293904, 0.713396, -0.636150> + 3881: < 0.331652, 0.703467, -0.628603> + 3882: < 0.331474, 0.667130, -0.667130> + 3883: < 0.293804, 0.675899, -0.675899> + 3884: < 0.255632, 0.722093, -0.642833> + 3885: < 0.293904, 0.713396, -0.636150> + 3886: < 0.293804, 0.675899, -0.675899> + 3887: < 0.255594, 0.683620, -0.683620> + 3888: < 0.216660, 0.729636, -0.648606> + 3889: < 0.255632, 0.722093, -0.642833> + 3890: < 0.255594, 0.683620, -0.683620> + 3891: < 0.216684, 0.690307, -0.690307> + 3892: < 0.176644, 0.736025, -0.653502> + 3893: < 0.216660, 0.729636, -0.648606> + 3894: < 0.216684, 0.690307, -0.690307> + 3895: < 0.176733, 0.695976, -0.695976> + 3896: < 0.135260, 0.741243, -0.657468> + 3897: < 0.176644, 0.736025, -0.653502> + 3898: < 0.176733, 0.695976, -0.695976> + 3899: < 0.135353, 0.700600, -0.700600> + 3900: < 0.092137, 0.745184, -0.660463> + 3901: < 0.135260, 0.741243, -0.657468> + 3902: < 0.135353, 0.700600, -0.700600> + 3903: < 0.092231, 0.704093, -0.704093> + 3904: < 0.046999, 0.747715, -0.662354> + 3905: < 0.092137, 0.745184, -0.660463> + 3906: < 0.092231, 0.704093, -0.704093> + 3907: < 0.047060, 0.706323, -0.706323> + 3908: < 0.000000, 0.748599, -0.663024> + 3909: < 0.046999, 0.747715, -0.662354> + 3910: < 0.047060, 0.706323, -0.706323> + 3911: < 0.000000, 0.707107, -0.707107> + 3912: <-0.046999, 0.747715, -0.662354> + 3913: < 0.000000, 0.748599, -0.663024> + 3914: < 0.000000, 0.707107, -0.707107> + 3915: <-0.047060, 0.706323, -0.706323> + 3916: <-0.092137, 0.745184, -0.660463> + 3917: <-0.046999, 0.747715, -0.662354> + 3918: <-0.047060, 0.706323, -0.706323> + 3919: <-0.092231, 0.704093, -0.704093> + 3920: <-0.135260, 0.741243, -0.657468> + 3921: <-0.092137, 0.745184, -0.660463> + 3922: <-0.092231, 0.704093, -0.704093> + 3923: <-0.135353, 0.700600, -0.700600> + 3924: <-0.176644, 0.736025, -0.653502> + 3925: <-0.135260, 0.741243, -0.657468> + 3926: <-0.135353, 0.700600, -0.700600> + 3927: <-0.176733, 0.695976, -0.695976> + 3928: <-0.216660, 0.729636, -0.648606> + 3929: <-0.176644, 0.736025, -0.653502> + 3930: <-0.176733, 0.695976, -0.695976> + 3931: <-0.216684, 0.690307, -0.690307> + 3932: <-0.255632, 0.722093, -0.642833> + 3933: <-0.216660, 0.729636, -0.648606> + 3934: <-0.216684, 0.690307, -0.690307> + 3935: <-0.255594, 0.683620, -0.683620> + 3936: <-0.293904, 0.713396, -0.636150> + 3937: <-0.255632, 0.722093, -0.642833> + 3938: <-0.255594, 0.683620, -0.683620> + 3939: <-0.293804, 0.675899, -0.675899> + 3940: <-0.331652, 0.703467, -0.628603> + 3941: <-0.293904, 0.713396, -0.636150> + 3942: <-0.293804, 0.675899, -0.675899> + 3943: <-0.331474, 0.667130, -0.667130> + 3944: <-0.368246, 0.692544, -0.620305> + 3945: <-0.331652, 0.703467, -0.628603> + 3946: <-0.331474, 0.667130, -0.667130> + 3947: <-0.367912, 0.657511, -0.657511> + 3948: <-0.403223, 0.680859, -0.611427> + 3949: <-0.368246, 0.692544, -0.620305> + 3950: <-0.367912, 0.657511, -0.657511> + 3951: <-0.402668, 0.647247, -0.647247> + 3952: <-0.437036, 0.668312, -0.601963> + 3953: <-0.403223, 0.680859, -0.611427> + 3954: <-0.402668, 0.647247, -0.647247> + 3955: <-0.436181, 0.636296, -0.636296> + 3956: <-0.469385, 0.655217, -0.591920> + 3957: <-0.437036, 0.668312, -0.601963> + 3958: <-0.436181, 0.636296, -0.636296> + 3959: <-0.467950, 0.624909, -0.624909> + 3960: <-0.500519, 0.641397, -0.581456> + 3961: <-0.469385, 0.655217, -0.591920> + 3962: <-0.467950, 0.624909, -0.624909> + 3963: <-0.497527, 0.613379, -0.613379> + 3964: <-0.531523, 0.625584, -0.571076> + 3965: <-0.500519, 0.641397, -0.581456> + 3966: <-0.497527, 0.613379, -0.613379> + 3967: <-0.526447, 0.601188, -0.601188> + 3968: <-0.561516, 0.607783, -0.561516> + 3969: <-0.531523, 0.625584, -0.571076> + 3970: <-0.526447, 0.601188, -0.601188> + 3971: <-0.554296, 0.588539, -0.588539> + 3972: <-0.588539, 0.588539, -0.554296> + 3973: <-0.561516, 0.607783, -0.561516> + 3974: <-0.554296, 0.588539, -0.588539> + 3975: <-0.577350, 0.577350, -0.577350> + 3976: <-0.601168, 0.601199, -0.526457> + 3977: <-0.571076, 0.625584, -0.531523> + 3978: <-0.561516, 0.607783, -0.561516> + 3979: <-0.588539, 0.588539, -0.554296> + 3980: <-0.613379, 0.613379, -0.497527> + 3981: <-0.581456, 0.641397, -0.500519> + 3982: <-0.571076, 0.625584, -0.531523> + 3983: <-0.601168, 0.601199, -0.526457> + 3984: <-0.624909, 0.624909, -0.467950> + 3985: <-0.591920, 0.655217, -0.469385> + 3986: <-0.581456, 0.641397, -0.500519> + 3987: <-0.613379, 0.613379, -0.497527> + 3988: <-0.636296, 0.636296, -0.436181> + 3989: <-0.601963, 0.668312, -0.437036> + 3990: <-0.591920, 0.655217, -0.469385> + 3991: <-0.624909, 0.624909, -0.467950> + 3992: <-0.647247, 0.647247, -0.402668> + 3993: <-0.611427, 0.680859, -0.403223> + 3994: <-0.601963, 0.668312, -0.437036> + 3995: <-0.636296, 0.636296, -0.436181> + 3996: <-0.657511, 0.657511, -0.367912> + 3997: <-0.620305, 0.692544, -0.368246> + 3998: <-0.611427, 0.680859, -0.403223> + 3999: <-0.647247, 0.647247, -0.402668> + 4000: <-0.667130, 0.667130, -0.331474> + 4001: <-0.628603, 0.703467, -0.331652> + 4002: <-0.620305, 0.692544, -0.368246> + 4003: <-0.657511, 0.657511, -0.367912> + 4004: <-0.675899, 0.675899, -0.293804> + 4005: <-0.636150, 0.713396, -0.293904> + 4006: <-0.628603, 0.703467, -0.331652> + 4007: <-0.667130, 0.667130, -0.331474> + 4008: <-0.683620, 0.683620, -0.255594> + 4009: <-0.642833, 0.722093, -0.255632> + 4010: <-0.636150, 0.713396, -0.293904> + 4011: <-0.675899, 0.675899, -0.293804> + 4012: <-0.690307, 0.690307, -0.216684> + 4013: <-0.648606, 0.729636, -0.216660> + 4014: <-0.642833, 0.722093, -0.255632> + 4015: <-0.683620, 0.683620, -0.255594> + 4016: <-0.695976, 0.695976, -0.176733> + 4017: <-0.653502, 0.736025, -0.176644> + 4018: <-0.648606, 0.729636, -0.216660> + 4019: <-0.690307, 0.690307, -0.216684> + 4020: <-0.700600, 0.700600, -0.135353> + 4021: <-0.657468, 0.741243, -0.135260> + 4022: <-0.653502, 0.736025, -0.176644> + 4023: <-0.695976, 0.695976, -0.176733> + 4024: <-0.704093, 0.704093, -0.092231> + 4025: <-0.660463, 0.745184, -0.092137> + 4026: <-0.657468, 0.741243, -0.135260> + 4027: <-0.700600, 0.700600, -0.135353> + 4028: <-0.706323, 0.706323, -0.047060> + 4029: <-0.662354, 0.747715, -0.046999> + 4030: <-0.660463, 0.745184, -0.092137> + 4031: <-0.704093, 0.704093, -0.092231> + 4032: <-0.707107, 0.707107, 0.000000> + 4033: <-0.663024, 0.748599, 0.000000> + 4034: <-0.662354, 0.747715, -0.046999> + 4035: <-0.706323, 0.706323, -0.047060> + 4036: <-0.706323, 0.706323, 0.047060> + 4037: <-0.662354, 0.747715, 0.046999> + 4038: <-0.663024, 0.748599, 0.000000> + 4039: <-0.707107, 0.707107, 0.000000> + 4040: <-0.704093, 0.704093, 0.092231> + 4041: <-0.660463, 0.745184, 0.092137> + 4042: <-0.662354, 0.747715, 0.046999> + 4043: <-0.706323, 0.706323, 0.047060> + 4044: <-0.700600, 0.700600, 0.135353> + 4045: <-0.657468, 0.741243, 0.135260> + 4046: <-0.660463, 0.745184, 0.092137> + 4047: <-0.704093, 0.704093, 0.092231> + 4048: <-0.695976, 0.695976, 0.176733> + 4049: <-0.653502, 0.736025, 0.176644> + 4050: <-0.657468, 0.741243, 0.135260> + 4051: <-0.700600, 0.700600, 0.135353> + 4052: <-0.690307, 0.690307, 0.216684> + 4053: <-0.648606, 0.729636, 0.216660> + 4054: <-0.653502, 0.736025, 0.176644> + 4055: <-0.695976, 0.695976, 0.176733> + 4056: <-0.683620, 0.683620, 0.255594> + 4057: <-0.642833, 0.722093, 0.255632> + 4058: <-0.648606, 0.729636, 0.216660> + 4059: <-0.690307, 0.690307, 0.216684> + 4060: <-0.675899, 0.675899, 0.293804> + 4061: <-0.636150, 0.713396, 0.293904> + 4062: <-0.642833, 0.722093, 0.255632> + 4063: <-0.683620, 0.683620, 0.255594> + 4064: <-0.667130, 0.667130, 0.331474> + 4065: <-0.628603, 0.703467, 0.331652> + 4066: <-0.636150, 0.713396, 0.293904> + 4067: <-0.675899, 0.675899, 0.293804> + 4068: <-0.657511, 0.657511, 0.367912> + 4069: <-0.620305, 0.692544, 0.368246> + 4070: <-0.628603, 0.703467, 0.331652> + 4071: <-0.667130, 0.667130, 0.331474> + 4072: <-0.647247, 0.647247, 0.402668> + 4073: <-0.611427, 0.680859, 0.403223> + 4074: <-0.620305, 0.692544, 0.368246> + 4075: <-0.657511, 0.657511, 0.367912> + 4076: <-0.636296, 0.636296, 0.436181> + 4077: <-0.601963, 0.668312, 0.437036> + 4078: <-0.611427, 0.680859, 0.403223> + 4079: <-0.647247, 0.647247, 0.402668> + 4080: <-0.624909, 0.624909, 0.467950> + 4081: <-0.591920, 0.655217, 0.469385> + 4082: <-0.601963, 0.668312, 0.437036> + 4083: <-0.636296, 0.636296, 0.436181> + 4084: <-0.613379, 0.613379, 0.497527> + 4085: <-0.581456, 0.641397, 0.500519> + 4086: <-0.591920, 0.655217, 0.469385> + 4087: <-0.624909, 0.624909, 0.467950> + 4088: <-0.601188, 0.601188, 0.526447> + 4089: <-0.571076, 0.625584, 0.531523> + 4090: <-0.581456, 0.641397, 0.500519> + 4091: <-0.613379, 0.613379, 0.497527> + 4092: <-0.588539, 0.588539, 0.554296> + 4093: <-0.561516, 0.607783, 0.561516> + 4094: <-0.571076, 0.625584, 0.531523> + 4095: <-0.601188, 0.601188, 0.526447> + 4096: <-0.561516, -0.561516, -0.607783> + 4097: <-0.571076, -0.531523, -0.625584> + 4098: <-0.538962, -0.538962, -0.647334> + 4099: <-0.531523, -0.571076, -0.625584> + 4100: <-0.571076, -0.531523, -0.625584> + 4101: <-0.581456, -0.500519, -0.641396> + 4102: <-0.547882, -0.506040, -0.666144> + 4103: <-0.538962, -0.538962, -0.647334> + 4104: <-0.581456, -0.500519, -0.641396> + 4105: <-0.591920, -0.469385, -0.655217> + 4106: <-0.557037, -0.473139, -0.682532> + 4107: <-0.547882, -0.506040, -0.666144> + 4108: <-0.591920, -0.469385, -0.655217> + 4109: <-0.601963, -0.437036, -0.668312> + 4110: <-0.565794, -0.439475, -0.697667> + 4111: <-0.557037, -0.473139, -0.682532> + 4112: <-0.601963, -0.437036, -0.668312> + 4113: <-0.611427, -0.403223, -0.680859> + 4114: <-0.574008, -0.404839, -0.711772> + 4115: <-0.565794, -0.439475, -0.697667> + 4116: <-0.611427, -0.403223, -0.680859> + 4117: <-0.620305, -0.368246, -0.692544> + 4118: <-0.581661, -0.369188, -0.724825> + 4119: <-0.574008, -0.404839, -0.711772> + 4120: <-0.620305, -0.368246, -0.692544> + 4121: <-0.628603, -0.331652, -0.703467> + 4122: <-0.588738, -0.332197, -0.736907> + 4123: <-0.581661, -0.369188, -0.724825> + 4124: <-0.628603, -0.331652, -0.703467> + 4125: <-0.636150, -0.293904, -0.713396> + 4126: <-0.595158, -0.294207, -0.747816> + 4127: <-0.588738, -0.332197, -0.736907> + 4128: <-0.636150, -0.293904, -0.713396> + 4129: <-0.642833, -0.255632, -0.722093> + 4130: <-0.600829, -0.255750, -0.757361> + 4131: <-0.595158, -0.294207, -0.747816> + 4132: <-0.642833, -0.255632, -0.722093> + 4133: <-0.648606, -0.216660, -0.729636> + 4134: <-0.605748, -0.216596, -0.765608> + 4135: <-0.600829, -0.255750, -0.757361> + 4136: <-0.648606, -0.216660, -0.729636> + 4137: <-0.653502, -0.176644, -0.736025> + 4138: <-0.609892, -0.176461, -0.772589> + 4139: <-0.605748, -0.216596, -0.765608> + 4140: <-0.653502, -0.176644, -0.736025> + 4141: <-0.657468, -0.135260, -0.741243> + 4142: <-0.613215, -0.135015, -0.778292> + 4143: <-0.609892, -0.176461, -0.772589> + 4144: <-0.657468, -0.135260, -0.741243> + 4145: <-0.660463, -0.092137, -0.745184> + 4146: <-0.615697, -0.091894, -0.782607> + 4147: <-0.613215, -0.135015, -0.778292> + 4148: <-0.660463, -0.092137, -0.745184> + 4149: <-0.662354, -0.046999, -0.747715> + 4150: <-0.617246, -0.046847, -0.785375> + 4151: <-0.615697, -0.091894, -0.782607> + 4152: <-0.662354, -0.046999, -0.747715> + 4153: <-0.663024, 0.000000, -0.748599> + 4154: <-0.617789, 0.000000, -0.786344> + 4155: <-0.617246, -0.046847, -0.785375> + 4156: <-0.663024, 0.000000, -0.748599> + 4157: <-0.662354, 0.046999, -0.747715> + 4158: <-0.617246, 0.046847, -0.785375> + 4159: <-0.617789, 0.000000, -0.786344> + 4160: <-0.662354, 0.046999, -0.747715> + 4161: <-0.660463, 0.092137, -0.745184> + 4162: <-0.615697, 0.091894, -0.782607> + 4163: <-0.617246, 0.046847, -0.785375> + 4164: <-0.660463, 0.092137, -0.745184> + 4165: <-0.657468, 0.135260, -0.741243> + 4166: <-0.613199, 0.134988, -0.778309> + 4167: <-0.615697, 0.091894, -0.782607> + 4168: <-0.657468, 0.135260, -0.741243> + 4169: <-0.653502, 0.176644, -0.736025> + 4170: <-0.609892, 0.176461, -0.772589> + 4171: <-0.613199, 0.134988, -0.778309> + 4172: <-0.653502, 0.176644, -0.736025> + 4173: <-0.648606, 0.216660, -0.729636> + 4174: <-0.605748, 0.216596, -0.765608> + 4175: <-0.609892, 0.176461, -0.772589> + 4176: <-0.648606, 0.216660, -0.729636> + 4177: <-0.642833, 0.255632, -0.722093> + 4178: <-0.600829, 0.255750, -0.757361> + 4179: <-0.605748, 0.216596, -0.765608> + 4180: <-0.642833, 0.255632, -0.722093> + 4181: <-0.636150, 0.293904, -0.713396> + 4182: <-0.595158, 0.294207, -0.747816> + 4183: <-0.600829, 0.255750, -0.757361> + 4184: <-0.636150, 0.293904, -0.713396> + 4185: <-0.628603, 0.331652, -0.703467> + 4186: <-0.588744, 0.332170, -0.736915> + 4187: <-0.595158, 0.294207, -0.747816> + 4188: <-0.628603, 0.331652, -0.703467> + 4189: <-0.620305, 0.368246, -0.692544> + 4190: <-0.581661, 0.369188, -0.724825> + 4191: <-0.588744, 0.332170, -0.736915> + 4192: <-0.620305, 0.368246, -0.692544> + 4193: <-0.611427, 0.403223, -0.680859> + 4194: <-0.574008, 0.404839, -0.711772> + 4195: <-0.581661, 0.369188, -0.724825> + 4196: <-0.611427, 0.403223, -0.680859> + 4197: <-0.601963, 0.437036, -0.668312> + 4198: <-0.565794, 0.439475, -0.697667> + 4199: <-0.574008, 0.404839, -0.711772> + 4200: <-0.601963, 0.437036, -0.668312> + 4201: <-0.591920, 0.469385, -0.655217> + 4202: <-0.557037, 0.473139, -0.682532> + 4203: <-0.565794, 0.439475, -0.697667> + 4204: <-0.591920, 0.469385, -0.655217> + 4205: <-0.581465, 0.500496, -0.641406> + 4206: <-0.547882, 0.506040, -0.666144> + 4207: <-0.557037, 0.473139, -0.682532> + 4208: <-0.581465, 0.500496, -0.641406> + 4209: <-0.571076, 0.531523, -0.625584> + 4210: <-0.538962, 0.538962, -0.647334> + 4211: <-0.547882, 0.506040, -0.666144> + 4212: <-0.571076, 0.531523, -0.625584> + 4213: <-0.561516, 0.561516, -0.607783> + 4214: <-0.531523, 0.571076, -0.625584> + 4215: <-0.538962, 0.538962, -0.647334> + 4216: <-0.531523, -0.571076, -0.625584> + 4217: <-0.538962, -0.538962, -0.647334> + 4218: <-0.506040, -0.547882, -0.666144> + 4219: <-0.500519, -0.581456, -0.641396> + 4220: <-0.538962, -0.538962, -0.647334> + 4221: <-0.547882, -0.506040, -0.666144> + 4222: <-0.513252, -0.513252, -0.687856> + 4223: <-0.506040, -0.547882, -0.666144> + 4224: <-0.547882, -0.506040, -0.666144> + 4225: <-0.557037, -0.473139, -0.682532> + 4226: <-0.520969, -0.478425, -0.706895> + 4227: <-0.513252, -0.513252, -0.687856> + 4228: <-0.557037, -0.473139, -0.682532> + 4229: <-0.565794, -0.439475, -0.697667> + 4230: <-0.528466, -0.443135, -0.724123> + 4231: <-0.520969, -0.478425, -0.706895> + 4232: <-0.565794, -0.439475, -0.697667> + 4233: <-0.574008, -0.404839, -0.711772> + 4234: <-0.535518, -0.407307, -0.739812> + 4235: <-0.528466, -0.443135, -0.724123> + 4236: <-0.574008, -0.404839, -0.711772> + 4237: <-0.581661, -0.369188, -0.724825> + 4238: <-0.542028, -0.370721, -0.754169> + 4239: <-0.535518, -0.407307, -0.739812> + 4240: <-0.581661, -0.369188, -0.724825> + 4241: <-0.588738, -0.332197, -0.736907> + 4242: <-0.548009, -0.333090, -0.767292> + 4243: <-0.542028, -0.370721, -0.754169> + 4244: <-0.588738, -0.332197, -0.736907> + 4245: <-0.595158, -0.294207, -0.747816> + 4246: <-0.553415, -0.294729, -0.779017> + 4247: <-0.548009, -0.333090, -0.767292> + 4248: <-0.595158, -0.294207, -0.747816> + 4249: <-0.600829, -0.255750, -0.757361> + 4250: <-0.558172, -0.255937, -0.789266> + 4251: <-0.553415, -0.294729, -0.779017> + 4252: <-0.600829, -0.255750, -0.757361> + 4253: <-0.605748, -0.216596, -0.765608> + 4254: <-0.562257, -0.216534, -0.798110> + 4255: <-0.558172, -0.255937, -0.789266> + 4256: <-0.605748, -0.216596, -0.765608> + 4257: <-0.609892, -0.176461, -0.772589> + 4258: <-0.565675, -0.176188, -0.805587> + 4259: <-0.562257, -0.216534, -0.798110> + 4260: <-0.609892, -0.176461, -0.772589> + 4261: <-0.613215, -0.135015, -0.778292> + 4262: <-0.568382, -0.134618, -0.811677> + 4263: <-0.565675, -0.176188, -0.805587> + 4264: <-0.613215, -0.135015, -0.778292> + 4265: <-0.615697, -0.091894, -0.782607> + 4266: <-0.570377, -0.091497, -0.816271> + 4267: <-0.568382, -0.134618, -0.811677> + 4268: <-0.615697, -0.091894, -0.782607> + 4269: <-0.617246, -0.046847, -0.785375> + 4270: <-0.571602, -0.046573, -0.819208> + 4271: <-0.570377, -0.091497, -0.816271> + 4272: <-0.617246, -0.046847, -0.785375> + 4273: <-0.617789, 0.000000, -0.786344> + 4274: <-0.572024, 0.000000, -0.820237> + 4275: <-0.571602, -0.046573, -0.819208> + 4276: <-0.617789, 0.000000, -0.786344> + 4277: <-0.617246, 0.046847, -0.785375> + 4278: <-0.571602, 0.046573, -0.819208> + 4279: <-0.572024, 0.000000, -0.820237> + 4280: <-0.617246, 0.046847, -0.785375> + 4281: <-0.615697, 0.091894, -0.782607> + 4282: <-0.570377, 0.091497, -0.816271> + 4283: <-0.571602, 0.046573, -0.819208> + 4284: <-0.615697, 0.091894, -0.782607> + 4285: <-0.613199, 0.134988, -0.778309> + 4286: <-0.568382, 0.134618, -0.811677> + 4287: <-0.570377, 0.091497, -0.816271> + 4288: <-0.613199, 0.134988, -0.778309> + 4289: <-0.609892, 0.176461, -0.772589> + 4290: <-0.565675, 0.176188, -0.805587> + 4291: <-0.568382, 0.134618, -0.811677> + 4292: <-0.609892, 0.176461, -0.772589> + 4293: <-0.605748, 0.216596, -0.765608> + 4294: <-0.562257, 0.216534, -0.798110> + 4295: <-0.565675, 0.176188, -0.805587> + 4296: <-0.605748, 0.216596, -0.765608> + 4297: <-0.600829, 0.255750, -0.757361> + 4298: <-0.558172, 0.255937, -0.789266> + 4299: <-0.562257, 0.216534, -0.798110> + 4300: <-0.600829, 0.255750, -0.757361> + 4301: <-0.595158, 0.294207, -0.747816> + 4302: <-0.553415, 0.294729, -0.779017> + 4303: <-0.558172, 0.255937, -0.789266> + 4304: <-0.595158, 0.294207, -0.747816> + 4305: <-0.588744, 0.332170, -0.736915> + 4306: <-0.548009, 0.333090, -0.767292> + 4307: <-0.553415, 0.294729, -0.779017> + 4308: <-0.588744, 0.332170, -0.736915> + 4309: <-0.581661, 0.369188, -0.724825> + 4310: <-0.542028, 0.370721, -0.754169> + 4311: <-0.548009, 0.333090, -0.767292> + 4312: <-0.581661, 0.369188, -0.724825> + 4313: <-0.574008, 0.404839, -0.711772> + 4314: <-0.535518, 0.407307, -0.739812> + 4315: <-0.542028, 0.370721, -0.754169> + 4316: <-0.574008, 0.404839, -0.711772> + 4317: <-0.565794, 0.439475, -0.697667> + 4318: <-0.528478, 0.443145, -0.724109> + 4319: <-0.535518, 0.407307, -0.739812> + 4320: <-0.565794, 0.439475, -0.697667> + 4321: <-0.557037, 0.473139, -0.682532> + 4322: <-0.520969, 0.478425, -0.706895> + 4323: <-0.528478, 0.443145, -0.724109> + 4324: <-0.557037, 0.473139, -0.682532> + 4325: <-0.547882, 0.506040, -0.666144> + 4326: <-0.513252, 0.513252, -0.687856> + 4327: <-0.520969, 0.478425, -0.706895> + 4328: <-0.547882, 0.506040, -0.666144> + 4329: <-0.538962, 0.538962, -0.647334> + 4330: <-0.506040, 0.547882, -0.666144> + 4331: <-0.513252, 0.513252, -0.687856> + 4332: <-0.538962, 0.538962, -0.647334> + 4333: <-0.531523, 0.571076, -0.625584> + 4334: <-0.500519, 0.581456, -0.641396> + 4335: <-0.506040, 0.547882, -0.666144> + 4336: <-0.500519, -0.581456, -0.641396> + 4337: <-0.506040, -0.547882, -0.666144> + 4338: <-0.473139, -0.557037, -0.682532> + 4339: <-0.469385, -0.591920, -0.655217> + 4340: <-0.506040, -0.547882, -0.666144> + 4341: <-0.513252, -0.513252, -0.687856> + 4342: <-0.478425, -0.520969, -0.706895> + 4343: <-0.473139, -0.557037, -0.682532> + 4344: <-0.513252, -0.513252, -0.687856> + 4345: <-0.520969, -0.478425, -0.706895> + 4346: <-0.484430, -0.484430, -0.728461> + 4347: <-0.478425, -0.520969, -0.706895> + 4348: <-0.520969, -0.478425, -0.706895> + 4349: <-0.528466, -0.443135, -0.724123> + 4350: <-0.490534, -0.447593, -0.747688> + 4351: <-0.484430, -0.484430, -0.728461> + 4352: <-0.528466, -0.443135, -0.724123> + 4353: <-0.535518, -0.407307, -0.739812> + 4354: <-0.496395, -0.410392, -0.764964> + 4355: <-0.490534, -0.447593, -0.747688> + 4356: <-0.535518, -0.407307, -0.739812> + 4357: <-0.542028, -0.370721, -0.754169> + 4358: <-0.501802, -0.372705, -0.780568> + 4359: <-0.496395, -0.410392, -0.764964> + 4360: <-0.542028, -0.370721, -0.754169> + 4361: <-0.548009, -0.333090, -0.767292> + 4362: <-0.506740, -0.334337, -0.794627> + 4363: <-0.501802, -0.372705, -0.780568> + 4364: <-0.548009, -0.333090, -0.767292> + 4365: <-0.553415, -0.294729, -0.779017> + 4366: <-0.511198, -0.295457, -0.807082> + 4367: <-0.506740, -0.334337, -0.794627> + 4368: <-0.553415, -0.294729, -0.779017> + 4369: <-0.558172, -0.255937, -0.789266> + 4370: <-0.515110, -0.256243, -0.817925> + 4371: <-0.511198, -0.295457, -0.807082> + 4372: <-0.558172, -0.255937, -0.789266> + 4373: <-0.562257, -0.216534, -0.798110> + 4374: <-0.518435, -0.216475, -0.827263> + 4375: <-0.515110, -0.256243, -0.817925> + 4376: <-0.562257, -0.216534, -0.798110> + 4377: <-0.565675, -0.176188, -0.805587> + 4378: <-0.521180, -0.175853, -0.835133> + 4379: <-0.518435, -0.216475, -0.827263> + 4380: <-0.565675, -0.176188, -0.805587> + 4381: <-0.568382, -0.134618, -0.811677> + 4382: <-0.523307, -0.134100, -0.841527> + 4383: <-0.521180, -0.175853, -0.835133> + 4384: <-0.568382, -0.134618, -0.811677> + 4385: <-0.570377, -0.091497, -0.816271> + 4386: <-0.524836, -0.091008, -0.846324> + 4387: <-0.523307, -0.134100, -0.841527> + 4388: <-0.570377, -0.091497, -0.816271> + 4389: <-0.571602, -0.046573, -0.819208> + 4390: <-0.525753, -0.046267, -0.849378> + 4391: <-0.524836, -0.091008, -0.846324> + 4392: <-0.571602, -0.046573, -0.819208> + 4393: <-0.572024, 0.000000, -0.820237> + 4394: <-0.526081, 0.000000, -0.850434> + 4395: <-0.525753, -0.046267, -0.849378> + 4396: <-0.572024, 0.000000, -0.820237> + 4397: <-0.571602, 0.046573, -0.819208> + 4398: <-0.525753, 0.046267, -0.849378> + 4399: <-0.526081, 0.000000, -0.850434> + 4400: <-0.571602, 0.046573, -0.819208> + 4401: <-0.570377, 0.091497, -0.816271> + 4402: <-0.524836, 0.091008, -0.846324> + 4403: <-0.525753, 0.046267, -0.849378> + 4404: <-0.570377, 0.091497, -0.816271> + 4405: <-0.568382, 0.134618, -0.811677> + 4406: <-0.523307, 0.134100, -0.841527> + 4407: <-0.524836, 0.091008, -0.846324> + 4408: <-0.568382, 0.134618, -0.811677> + 4409: <-0.565675, 0.176188, -0.805587> + 4410: <-0.521180, 0.175853, -0.835133> + 4411: <-0.523307, 0.134100, -0.841527> + 4412: <-0.565675, 0.176188, -0.805587> + 4413: <-0.562257, 0.216534, -0.798110> + 4414: <-0.518435, 0.216475, -0.827263> + 4415: <-0.521180, 0.175853, -0.835133> + 4416: <-0.562257, 0.216534, -0.798110> + 4417: <-0.558172, 0.255937, -0.789266> + 4418: <-0.515110, 0.256243, -0.817925> + 4419: <-0.518435, 0.216475, -0.827263> + 4420: <-0.558172, 0.255937, -0.789266> + 4421: <-0.553415, 0.294729, -0.779017> + 4422: <-0.511198, 0.295457, -0.807082> + 4423: <-0.515110, 0.256243, -0.817925> + 4424: <-0.553415, 0.294729, -0.779017> + 4425: <-0.548009, 0.333090, -0.767292> + 4426: <-0.506740, 0.334337, -0.794627> + 4427: <-0.511198, 0.295457, -0.807082> + 4428: <-0.548009, 0.333090, -0.767292> + 4429: <-0.542028, 0.370721, -0.754169> + 4430: <-0.501802, 0.372705, -0.780568> + 4431: <-0.506740, 0.334337, -0.794627> + 4432: <-0.542028, 0.370721, -0.754169> + 4433: <-0.535518, 0.407307, -0.739812> + 4434: <-0.496395, 0.410392, -0.764964> + 4435: <-0.501802, 0.372705, -0.780568> + 4436: <-0.535518, 0.407307, -0.739812> + 4437: <-0.528478, 0.443145, -0.724109> + 4438: <-0.490534, 0.447593, -0.747688> + 4439: <-0.496395, 0.410392, -0.764964> + 4440: <-0.528478, 0.443145, -0.724109> + 4441: <-0.520969, 0.478425, -0.706895> + 4442: <-0.484430, 0.484430, -0.728461> + 4443: <-0.490534, 0.447593, -0.747688> + 4444: <-0.520969, 0.478425, -0.706895> + 4445: <-0.513252, 0.513252, -0.687856> + 4446: <-0.478425, 0.520969, -0.706895> + 4447: <-0.484430, 0.484430, -0.728461> + 4448: <-0.513252, 0.513252, -0.687856> + 4449: <-0.506040, 0.547882, -0.666144> + 4450: <-0.473139, 0.557037, -0.682532> + 4451: <-0.478425, 0.520969, -0.706895> + 4452: <-0.506040, 0.547882, -0.666144> + 4453: <-0.500519, 0.581456, -0.641396> + 4454: <-0.469385, 0.591920, -0.655217> + 4455: <-0.473139, 0.557037, -0.682532> + 4456: <-0.469385, -0.591920, -0.655217> + 4457: <-0.473139, -0.557037, -0.682532> + 4458: <-0.439475, -0.565794, -0.697667> + 4459: <-0.437036, -0.601963, -0.668312> + 4460: <-0.473139, -0.557037, -0.682532> + 4461: <-0.478425, -0.520969, -0.706895> + 4462: <-0.443145, -0.528478, -0.724109> + 4463: <-0.439475, -0.565794, -0.697667> + 4464: <-0.478425, -0.520969, -0.706895> + 4465: <-0.484430, -0.484430, -0.728461> + 4466: <-0.447593, -0.490534, -0.747688> + 4467: <-0.443145, -0.528478, -0.724109> + 4468: <-0.484430, -0.484430, -0.728461> + 4469: <-0.490534, -0.447593, -0.747688> + 4470: <-0.452290, -0.452290, -0.768679> + 4471: <-0.447593, -0.490534, -0.747688> + 4472: <-0.490534, -0.447593, -0.747688> + 4473: <-0.496395, -0.410392, -0.764964> + 4474: <-0.456900, -0.413777, -0.787421> + 4475: <-0.452290, -0.452290, -0.768679> + 4476: <-0.496395, -0.410392, -0.764964> + 4477: <-0.501802, -0.372705, -0.780568> + 4478: <-0.461239, -0.374961, -0.804154> + 4479: <-0.456900, -0.413777, -0.787421> + 4480: <-0.501802, -0.372705, -0.780568> + 4481: <-0.506740, -0.334337, -0.794627> + 4482: <-0.465202, -0.335801, -0.819039> + 4483: <-0.461239, -0.374961, -0.804154> + 4484: <-0.506740, -0.334337, -0.794627> + 4485: <-0.511198, -0.295457, -0.807082> + 4486: <-0.468770, -0.296339, -0.832128> + 4487: <-0.465202, -0.335801, -0.819039> + 4488: <-0.511198, -0.295457, -0.807082> + 4489: <-0.515110, -0.256243, -0.817925> + 4490: <-0.471888, -0.256606, -0.843490> + 4491: <-0.468770, -0.296339, -0.832128> + 4492: <-0.515110, -0.256243, -0.817925> + 4493: <-0.518435, -0.216475, -0.827263> + 4494: <-0.474515, -0.216413, -0.853230> + 4495: <-0.471888, -0.256606, -0.843490> + 4496: <-0.518435, -0.216475, -0.827263> + 4497: <-0.521180, -0.175853, -0.835133> + 4498: <-0.476614, -0.175453, -0.861426> + 4499: <-0.474515, -0.216413, -0.853230> + 4500: <-0.521180, -0.175853, -0.835133> + 4501: <-0.523307, -0.134100, -0.841527> + 4502: <-0.478208, -0.133553, -0.868033> + 4503: <-0.476614, -0.175453, -0.861426> + 4504: <-0.523307, -0.134100, -0.841527> + 4505: <-0.524836, -0.091008, -0.846324> + 4506: <-0.479307, -0.090429, -0.872976> + 4507: <-0.478208, -0.133553, -0.868033> + 4508: <-0.524836, -0.091008, -0.846324> + 4509: <-0.525753, -0.046267, -0.849378> + 4510: <-0.479951, -0.045871, -0.876095> + 4511: <-0.479307, -0.090429, -0.872976> + 4512: <-0.525753, -0.046267, -0.849378> + 4513: <-0.526081, 0.000000, -0.850434> + 4514: <-0.480182, 0.000000, -0.877169> + 4515: <-0.479951, -0.045871, -0.876095> + 4516: <-0.526081, 0.000000, -0.850434> + 4517: <-0.525753, 0.046267, -0.849378> + 4518: <-0.479951, 0.045871, -0.876095> + 4519: <-0.480182, 0.000000, -0.877169> + 4520: <-0.525753, 0.046267, -0.849378> + 4521: <-0.524836, 0.091008, -0.846324> + 4522: <-0.479307, 0.090429, -0.872976> + 4523: <-0.479951, 0.045871, -0.876095> + 4524: <-0.524836, 0.091008, -0.846324> + 4525: <-0.523307, 0.134100, -0.841527> + 4526: <-0.478208, 0.133553, -0.868033> + 4527: <-0.479307, 0.090429, -0.872976> + 4528: <-0.523307, 0.134100, -0.841527> + 4529: <-0.521180, 0.175853, -0.835133> + 4530: <-0.476614, 0.175453, -0.861426> + 4531: <-0.478208, 0.133553, -0.868033> + 4532: <-0.521180, 0.175853, -0.835133> + 4533: <-0.518435, 0.216475, -0.827263> + 4534: <-0.474515, 0.216413, -0.853230> + 4535: <-0.476614, 0.175453, -0.861426> + 4536: <-0.518435, 0.216475, -0.827263> + 4537: <-0.515110, 0.256243, -0.817925> + 4538: <-0.471888, 0.256606, -0.843490> + 4539: <-0.474515, 0.216413, -0.853230> + 4540: <-0.515110, 0.256243, -0.817925> + 4541: <-0.511198, 0.295457, -0.807082> + 4542: <-0.468770, 0.296339, -0.832128> + 4543: <-0.471888, 0.256606, -0.843490> + 4544: <-0.511198, 0.295457, -0.807082> + 4545: <-0.506740, 0.334337, -0.794627> + 4546: <-0.465202, 0.335801, -0.819039> + 4547: <-0.468770, 0.296339, -0.832128> + 4548: <-0.506740, 0.334337, -0.794627> + 4549: <-0.501802, 0.372705, -0.780568> + 4550: <-0.461239, 0.374961, -0.804154> + 4551: <-0.465202, 0.335801, -0.819039> + 4552: <-0.501802, 0.372705, -0.780568> + 4553: <-0.496395, 0.410392, -0.764964> + 4554: <-0.456900, 0.413777, -0.787421> + 4555: <-0.461239, 0.374961, -0.804154> + 4556: <-0.496395, 0.410392, -0.764964> + 4557: <-0.490534, 0.447593, -0.747688> + 4558: <-0.452290, 0.452290, -0.768679> + 4559: <-0.456900, 0.413777, -0.787421> + 4560: <-0.490534, 0.447593, -0.747688> + 4561: <-0.484430, 0.484430, -0.728461> + 4562: <-0.447593, 0.490534, -0.747688> + 4563: <-0.452290, 0.452290, -0.768679> + 4564: <-0.484430, 0.484430, -0.728461> + 4565: <-0.478425, 0.520969, -0.706895> + 4566: <-0.443145, 0.528478, -0.724109> + 4567: <-0.447593, 0.490534, -0.747688> + 4568: <-0.478425, 0.520969, -0.706895> + 4569: <-0.473139, 0.557037, -0.682532> + 4570: <-0.439475, 0.565794, -0.697667> + 4571: <-0.443145, 0.528478, -0.724109> + 4572: <-0.473139, 0.557037, -0.682532> + 4573: <-0.469385, 0.591920, -0.655217> + 4574: <-0.437036, 0.601963, -0.668312> + 4575: <-0.439475, 0.565794, -0.697667> + 4576: <-0.437036, -0.601963, -0.668312> + 4577: <-0.439475, -0.565794, -0.697667> + 4578: <-0.404839, -0.574008, -0.711772> + 4579: <-0.403223, -0.611427, -0.680859> + 4580: <-0.439475, -0.565794, -0.697667> + 4581: <-0.443145, -0.528478, -0.724109> + 4582: <-0.407307, -0.535518, -0.739812> + 4583: <-0.404839, -0.574008, -0.711772> + 4584: <-0.443145, -0.528478, -0.724109> + 4585: <-0.447593, -0.490534, -0.747688> + 4586: <-0.410392, -0.496395, -0.764964> + 4587: <-0.407307, -0.535518, -0.739812> + 4588: <-0.447593, -0.490534, -0.747688> + 4589: <-0.452290, -0.452290, -0.768679> + 4590: <-0.413777, -0.456900, -0.787421> + 4591: <-0.410392, -0.496395, -0.764964> + 4592: <-0.452290, -0.452290, -0.768679> + 4593: <-0.456900, -0.413777, -0.787421> + 4594: <-0.417202, -0.417202, -0.807394> + 4595: <-0.413777, -0.456900, -0.787421> + 4596: <-0.456900, -0.413777, -0.787421> + 4597: <-0.461239, -0.374961, -0.804154> + 4598: <-0.420500, -0.377345, -0.825100> + 4599: <-0.417202, -0.417202, -0.807394> + 4600: <-0.461239, -0.374961, -0.804154> + 4601: <-0.465202, -0.335801, -0.819039> + 4602: <-0.423577, -0.337391, -0.840684> + 4603: <-0.420500, -0.377345, -0.825100> + 4604: <-0.465202, -0.335801, -0.819039> + 4605: <-0.468770, -0.296339, -0.832128> + 4606: <-0.426323, -0.297287, -0.854324> + 4607: <-0.423577, -0.337391, -0.840684> + 4608: <-0.468770, -0.296339, -0.832128> + 4609: <-0.471888, -0.256606, -0.843490> + 4610: <-0.428698, -0.256999, -0.866124> + 4611: <-0.426323, -0.297287, -0.854324> + 4612: <-0.471888, -0.256606, -0.843490> + 4613: <-0.474515, -0.216413, -0.853230> + 4614: <-0.430657, -0.216320, -0.876208> + 4615: <-0.428698, -0.256999, -0.866124> + 4616: <-0.474515, -0.216413, -0.853230> + 4617: <-0.476614, -0.175453, -0.861426> + 4618: <-0.432149, -0.175026, -0.884654> + 4619: <-0.430657, -0.216320, -0.876208> + 4620: <-0.476614, -0.175453, -0.861426> + 4621: <-0.478208, -0.133553, -0.868033> + 4622: <-0.433281, -0.132911, -0.891405> + 4623: <-0.432149, -0.175026, -0.884654> + 4624: <-0.478208, -0.133553, -0.868033> + 4625: <-0.479307, -0.090429, -0.872976> + 4626: <-0.433981, -0.089787, -0.896437> + 4627: <-0.433281, -0.132911, -0.891405> + 4628: <-0.479307, -0.090429, -0.872976> + 4629: <-0.479951, -0.045871, -0.876095> + 4630: <-0.434379, -0.045443, -0.899583> + 4631: <-0.433981, -0.089787, -0.896437> + 4632: <-0.479951, -0.045871, -0.876095> + 4633: <-0.480182, 0.000000, -0.877169> + 4634: <-0.434509, 0.000000, -0.900667> + 4635: <-0.434379, -0.045443, -0.899583> + 4636: <-0.480182, 0.000000, -0.877169> + 4637: <-0.479951, 0.045871, -0.876095> + 4638: <-0.434379, 0.045443, -0.899583> + 4639: <-0.434509, 0.000000, -0.900667> + 4640: <-0.479951, 0.045871, -0.876095> + 4641: <-0.479307, 0.090429, -0.872976> + 4642: <-0.433981, 0.089787, -0.896437> + 4643: <-0.434379, 0.045443, -0.899583> + 4644: <-0.479307, 0.090429, -0.872976> + 4645: <-0.478208, 0.133553, -0.868033> + 4646: <-0.433281, 0.132911, -0.891405> + 4647: <-0.433981, 0.089787, -0.896437> + 4648: <-0.478208, 0.133553, -0.868033> + 4649: <-0.476614, 0.175453, -0.861426> + 4650: <-0.432149, 0.175026, -0.884654> + 4651: <-0.433281, 0.132911, -0.891405> + 4652: <-0.476614, 0.175453, -0.861426> + 4653: <-0.474515, 0.216413, -0.853230> + 4654: <-0.430657, 0.216320, -0.876208> + 4655: <-0.432149, 0.175026, -0.884654> + 4656: <-0.474515, 0.216413, -0.853230> + 4657: <-0.471888, 0.256606, -0.843490> + 4658: <-0.428698, 0.256999, -0.866124> + 4659: <-0.430657, 0.216320, -0.876208> + 4660: <-0.471888, 0.256606, -0.843490> + 4661: <-0.468770, 0.296339, -0.832128> + 4662: <-0.426323, 0.297287, -0.854324> + 4663: <-0.428698, 0.256999, -0.866124> + 4664: <-0.468770, 0.296339, -0.832128> + 4665: <-0.465202, 0.335801, -0.819039> + 4666: <-0.423577, 0.337391, -0.840684> + 4667: <-0.426323, 0.297287, -0.854324> + 4668: <-0.465202, 0.335801, -0.819039> + 4669: <-0.461239, 0.374961, -0.804154> + 4670: <-0.420500, 0.377345, -0.825100> + 4671: <-0.423577, 0.337391, -0.840684> + 4672: <-0.461239, 0.374961, -0.804154> + 4673: <-0.456900, 0.413777, -0.787421> + 4674: <-0.417202, 0.417202, -0.807394> + 4675: <-0.420500, 0.377345, -0.825100> + 4676: <-0.456900, 0.413777, -0.787421> + 4677: <-0.452290, 0.452290, -0.768679> + 4678: <-0.413777, 0.456900, -0.787421> + 4679: <-0.417202, 0.417202, -0.807394> + 4680: <-0.452290, 0.452290, -0.768679> + 4681: <-0.447593, 0.490534, -0.747688> + 4682: <-0.410398, 0.496372, -0.764976> + 4683: <-0.413777, 0.456900, -0.787421> + 4684: <-0.447593, 0.490534, -0.747688> + 4685: <-0.443145, 0.528478, -0.724109> + 4686: <-0.407307, 0.535518, -0.739812> + 4687: <-0.410398, 0.496372, -0.764976> + 4688: <-0.443145, 0.528478, -0.724109> + 4689: <-0.439475, 0.565794, -0.697667> + 4690: <-0.404839, 0.574008, -0.711772> + 4691: <-0.407307, 0.535518, -0.739812> + 4692: <-0.439475, 0.565794, -0.697667> + 4693: <-0.437036, 0.601963, -0.668312> + 4694: <-0.403223, 0.611427, -0.680859> + 4695: <-0.404839, 0.574008, -0.711772> + 4696: <-0.403223, -0.611427, -0.680859> + 4697: <-0.404839, -0.574008, -0.711772> + 4698: <-0.369188, -0.581661, -0.724825> + 4699: <-0.368246, -0.620305, -0.692544> + 4700: <-0.404839, -0.574008, -0.711772> + 4701: <-0.407307, -0.535518, -0.739812> + 4702: <-0.370721, -0.542028, -0.754169> + 4703: <-0.369188, -0.581661, -0.724825> + 4704: <-0.407307, -0.535518, -0.739812> + 4705: <-0.410392, -0.496395, -0.764964> + 4706: <-0.372705, -0.501802, -0.780568> + 4707: <-0.370721, -0.542028, -0.754169> + 4708: <-0.410392, -0.496395, -0.764964> + 4709: <-0.413777, -0.456900, -0.787421> + 4710: <-0.374961, -0.461239, -0.804154> + 4711: <-0.372705, -0.501802, -0.780568> + 4712: <-0.413777, -0.456900, -0.787421> + 4713: <-0.417202, -0.417202, -0.807394> + 4714: <-0.377345, -0.420500, -0.825100> + 4715: <-0.374961, -0.461239, -0.804154> + 4716: <-0.417202, -0.417202, -0.807394> + 4717: <-0.420500, -0.377345, -0.825100> + 4718: <-0.379751, -0.379751, -0.843551> + 4719: <-0.377345, -0.420500, -0.825100> + 4720: <-0.420500, -0.377345, -0.825100> + 4721: <-0.423577, -0.337391, -0.840684> + 4722: <-0.381976, -0.339005, -0.859750> + 4723: <-0.379751, -0.379751, -0.843551> + 4724: <-0.423577, -0.337391, -0.840684> + 4725: <-0.426323, -0.297287, -0.854324> + 4726: <-0.383986, -0.298259, -0.873840> + 4727: <-0.381976, -0.339005, -0.859750> + 4728: <-0.426323, -0.297287, -0.854324> + 4729: <-0.428698, -0.256999, -0.866124> + 4730: <-0.385664, -0.257364, -0.886018> + 4731: <-0.383986, -0.298259, -0.873840> + 4732: <-0.428698, -0.256999, -0.866124> + 4733: <-0.430657, -0.216320, -0.876208> + 4734: <-0.386985, -0.216199, -0.896382> + 4735: <-0.385664, -0.257364, -0.886018> + 4736: <-0.430657, -0.216320, -0.876208> + 4737: <-0.432149, -0.175026, -0.884654> + 4738: <-0.387965, -0.174541, -0.904997> + 4739: <-0.386985, -0.216199, -0.896382> + 4740: <-0.432149, -0.175026, -0.884654> + 4741: <-0.433281, -0.132911, -0.891405> + 4742: <-0.388632, -0.132240, -0.911854> + 4743: <-0.387965, -0.174541, -0.904997> + 4744: <-0.433281, -0.132911, -0.891405> + 4745: <-0.433981, -0.089787, -0.896437> + 4746: <-0.388998, -0.089116, -0.916918> + 4747: <-0.388632, -0.132240, -0.911854> + 4748: <-0.433981, -0.089787, -0.896437> + 4749: <-0.434379, -0.045443, -0.899583> + 4750: <-0.389180, -0.045016, -0.920061> + 4751: <-0.388998, -0.089116, -0.916918> + 4752: <-0.434379, -0.045443, -0.899583> + 4753: <-0.434509, 0.000000, -0.900667> + 4754: <-0.389244, 0.000000, -0.921135> + 4755: <-0.389180, -0.045016, -0.920061> + 4756: <-0.434509, 0.000000, -0.900667> + 4757: <-0.434379, 0.045443, -0.899583> + 4758: <-0.389180, 0.045016, -0.920061> + 4759: <-0.389244, 0.000000, -0.921135> + 4760: <-0.434379, 0.045443, -0.899583> + 4761: <-0.433981, 0.089787, -0.896437> + 4762: <-0.388998, 0.089116, -0.916918> + 4763: <-0.389180, 0.045016, -0.920061> + 4764: <-0.433981, 0.089787, -0.896437> + 4765: <-0.433281, 0.132911, -0.891405> + 4766: <-0.388632, 0.132240, -0.911854> + 4767: <-0.388998, 0.089116, -0.916918> + 4768: <-0.433281, 0.132911, -0.891405> + 4769: <-0.432149, 0.175026, -0.884654> + 4770: <-0.387965, 0.174541, -0.904997> + 4771: <-0.388632, 0.132240, -0.911854> + 4772: <-0.432149, 0.175026, -0.884654> + 4773: <-0.430657, 0.216320, -0.876208> + 4774: <-0.386985, 0.216199, -0.896382> + 4775: <-0.387965, 0.174541, -0.904997> + 4776: <-0.430657, 0.216320, -0.876208> + 4777: <-0.428698, 0.256999, -0.866124> + 4778: <-0.385664, 0.257364, -0.886018> + 4779: <-0.386985, 0.216199, -0.896382> + 4780: <-0.428698, 0.256999, -0.866124> + 4781: <-0.426323, 0.297287, -0.854324> + 4782: <-0.383986, 0.298259, -0.873840> + 4783: <-0.385664, 0.257364, -0.886018> + 4784: <-0.426323, 0.297287, -0.854324> + 4785: <-0.423577, 0.337391, -0.840684> + 4786: <-0.381976, 0.339005, -0.859750> + 4787: <-0.383986, 0.298259, -0.873840> + 4788: <-0.423577, 0.337391, -0.840684> + 4789: <-0.420500, 0.377345, -0.825100> + 4790: <-0.379751, 0.379751, -0.843551> + 4791: <-0.381976, 0.339005, -0.859750> + 4792: <-0.420500, 0.377345, -0.825100> + 4793: <-0.417202, 0.417202, -0.807394> + 4794: <-0.377345, 0.420500, -0.825100> + 4795: <-0.379751, 0.379751, -0.843551> + 4796: <-0.417202, 0.417202, -0.807394> + 4797: <-0.413777, 0.456900, -0.787421> + 4798: <-0.374961, 0.461239, -0.804154> + 4799: <-0.377345, 0.420500, -0.825100> + 4800: <-0.413777, 0.456900, -0.787421> + 4801: <-0.410398, 0.496372, -0.764976> + 4802: <-0.372705, 0.501802, -0.780568> + 4803: <-0.374961, 0.461239, -0.804154> + 4804: <-0.410398, 0.496372, -0.764976> + 4805: <-0.407307, 0.535518, -0.739812> + 4806: <-0.370721, 0.542028, -0.754169> + 4807: <-0.372705, 0.501802, -0.780568> + 4808: <-0.407307, 0.535518, -0.739812> + 4809: <-0.404839, 0.574008, -0.711772> + 4810: <-0.369188, 0.581661, -0.724825> + 4811: <-0.370721, 0.542028, -0.754169> + 4812: <-0.404839, 0.574008, -0.711772> + 4813: <-0.403223, 0.611427, -0.680859> + 4814: <-0.368246, 0.620305, -0.692544> + 4815: <-0.369188, 0.581661, -0.724825> + 4816: <-0.368246, -0.620305, -0.692544> + 4817: <-0.369188, -0.581661, -0.724825> + 4818: <-0.332170, -0.588744, -0.736915> + 4819: <-0.331652, -0.628603, -0.703467> + 4820: <-0.369188, -0.581661, -0.724825> + 4821: <-0.370721, -0.542028, -0.754169> + 4822: <-0.333090, -0.548009, -0.767292> + 4823: <-0.332170, -0.588744, -0.736915> + 4824: <-0.370721, -0.542028, -0.754169> + 4825: <-0.372705, -0.501802, -0.780568> + 4826: <-0.334310, -0.506745, -0.794636> + 4827: <-0.333090, -0.548009, -0.767292> + 4828: <-0.372705, -0.501802, -0.780568> + 4829: <-0.374961, -0.461239, -0.804154> + 4830: <-0.335801, -0.465202, -0.819039> + 4831: <-0.334310, -0.506745, -0.794636> + 4832: <-0.374961, -0.461239, -0.804154> + 4833: <-0.377345, -0.420500, -0.825100> + 4834: <-0.337391, -0.423577, -0.840684> + 4835: <-0.335801, -0.465202, -0.819039> + 4836: <-0.377345, -0.420500, -0.825100> + 4837: <-0.379751, -0.379751, -0.843551> + 4838: <-0.339005, -0.381976, -0.859750> + 4839: <-0.337391, -0.423577, -0.840684> + 4840: <-0.379751, -0.379751, -0.843551> + 4841: <-0.381976, -0.339005, -0.859750> + 4842: <-0.340503, -0.340503, -0.876422> + 4843: <-0.339005, -0.381976, -0.859750> + 4844: <-0.381976, -0.339005, -0.859750> + 4845: <-0.383986, -0.298259, -0.873840> + 4846: <-0.341811, -0.299085, -0.890906> + 4847: <-0.340503, -0.340503, -0.876422> + 4848: <-0.383986, -0.298259, -0.873840> + 4849: <-0.385664, -0.257364, -0.886018> + 4850: <-0.342852, -0.257643, -0.903367> + 4851: <-0.341811, -0.299085, -0.890906> + 4852: <-0.385664, -0.257364, -0.886018> + 4853: <-0.386985, -0.216199, -0.896382> + 4854: <-0.343582, -0.215982, -0.913949> + 4855: <-0.342852, -0.257643, -0.903367> + 4856: <-0.386985, -0.216199, -0.896382> + 4857: <-0.387965, -0.174541, -0.904997> + 4858: <-0.344072, -0.173989, -0.922682> + 4859: <-0.343582, -0.215982, -0.913949> + 4860: <-0.387965, -0.174541, -0.904997> + 4861: <-0.388632, -0.132240, -0.911854> + 4862: <-0.344322, -0.131509, -0.929596> + 4863: <-0.344072, -0.173989, -0.922682> + 4864: <-0.388632, -0.132240, -0.911854> + 4865: <-0.388998, -0.089116, -0.916918> + 4866: <-0.344408, -0.088414, -0.934648> + 4867: <-0.344322, -0.131509, -0.929596> + 4868: <-0.388998, -0.089116, -0.916918> + 4869: <-0.389180, -0.045016, -0.920061> + 4870: <-0.344409, -0.044558, -0.937762> + 4871: <-0.344408, -0.088414, -0.934648> + 4872: <-0.389180, -0.045016, -0.920061> + 4873: <-0.389244, 0.000000, -0.921135> + 4874: <-0.344405, 0.000000, -0.938821> + 4875: <-0.344409, -0.044558, -0.937762> + 4876: <-0.389244, 0.000000, -0.921135> + 4877: <-0.389180, 0.045016, -0.920061> + 4878: <-0.344409, 0.044558, -0.937762> + 4879: <-0.344405, 0.000000, -0.938821> + 4880: <-0.389180, 0.045016, -0.920061> + 4881: <-0.388998, 0.089116, -0.916918> + 4882: <-0.344408, 0.088414, -0.934648> + 4883: <-0.344409, 0.044558, -0.937762> + 4884: <-0.388998, 0.089116, -0.916918> + 4885: <-0.388632, 0.132240, -0.911854> + 4886: <-0.344322, 0.131509, -0.929596> + 4887: <-0.344408, 0.088414, -0.934648> + 4888: <-0.388632, 0.132240, -0.911854> + 4889: <-0.387965, 0.174541, -0.904997> + 4890: <-0.344072, 0.173989, -0.922682> + 4891: <-0.344322, 0.131509, -0.929596> + 4892: <-0.387965, 0.174541, -0.904997> + 4893: <-0.386985, 0.216199, -0.896382> + 4894: <-0.343582, 0.215982, -0.913949> + 4895: <-0.344072, 0.173989, -0.922682> + 4896: <-0.386985, 0.216199, -0.896382> + 4897: <-0.385664, 0.257364, -0.886018> + 4898: <-0.342852, 0.257643, -0.903367> + 4899: <-0.343582, 0.215982, -0.913949> + 4900: <-0.385664, 0.257364, -0.886018> + 4901: <-0.383986, 0.298259, -0.873840> + 4902: <-0.341811, 0.299085, -0.890906> + 4903: <-0.342852, 0.257643, -0.903367> + 4904: <-0.383986, 0.298259, -0.873840> + 4905: <-0.381976, 0.339005, -0.859750> + 4906: <-0.340503, 0.340503, -0.876422> + 4907: <-0.341811, 0.299085, -0.890906> + 4908: <-0.381976, 0.339005, -0.859750> + 4909: <-0.379751, 0.379751, -0.843551> + 4910: <-0.339005, 0.381976, -0.859750> + 4911: <-0.340503, 0.340503, -0.876422> + 4912: <-0.379751, 0.379751, -0.843551> + 4913: <-0.377345, 0.420500, -0.825100> + 4914: <-0.337391, 0.423577, -0.840684> + 4915: <-0.339005, 0.381976, -0.859750> + 4916: <-0.377345, 0.420500, -0.825100> + 4917: <-0.374961, 0.461239, -0.804154> + 4918: <-0.335801, 0.465202, -0.819039> + 4919: <-0.337391, 0.423577, -0.840684> + 4920: <-0.374961, 0.461239, -0.804154> + 4921: <-0.372705, 0.501802, -0.780568> + 4922: <-0.334337, 0.506740, -0.794627> + 4923: <-0.335801, 0.465202, -0.819039> + 4924: <-0.372705, 0.501802, -0.780568> + 4925: <-0.370721, 0.542028, -0.754169> + 4926: <-0.333090, 0.548009, -0.767292> + 4927: <-0.334337, 0.506740, -0.794627> + 4928: <-0.370721, 0.542028, -0.754169> + 4929: <-0.369188, 0.581661, -0.724825> + 4930: <-0.332170, 0.588744, -0.736915> + 4931: <-0.333090, 0.548009, -0.767292> + 4932: <-0.369188, 0.581661, -0.724825> + 4933: <-0.368246, 0.620305, -0.692544> + 4934: <-0.331652, 0.628603, -0.703467> + 4935: <-0.332170, 0.588744, -0.736915> + 4936: <-0.331652, -0.628603, -0.703467> + 4937: <-0.332170, -0.588744, -0.736915> + 4938: <-0.294207, -0.595158, -0.747816> + 4939: <-0.293904, -0.636150, -0.713396> + 4940: <-0.332170, -0.588744, -0.736915> + 4941: <-0.333090, -0.548009, -0.767292> + 4942: <-0.294729, -0.553415, -0.779017> + 4943: <-0.294207, -0.595158, -0.747816> + 4944: <-0.333090, -0.548009, -0.767292> + 4945: <-0.334310, -0.506745, -0.794636> + 4946: <-0.295457, -0.511198, -0.807082> + 4947: <-0.294729, -0.553415, -0.779017> + 4948: <-0.334310, -0.506745, -0.794636> + 4949: <-0.335801, -0.465202, -0.819039> + 4950: <-0.296339, -0.468770, -0.832128> + 4951: <-0.295457, -0.511198, -0.807082> + 4952: <-0.335801, -0.465202, -0.819039> + 4953: <-0.337391, -0.423577, -0.840684> + 4954: <-0.297287, -0.426323, -0.854324> + 4955: <-0.296339, -0.468770, -0.832128> + 4956: <-0.337391, -0.423577, -0.840684> + 4957: <-0.339005, -0.381976, -0.859750> + 4958: <-0.298234, -0.383963, -0.873859> + 4959: <-0.297287, -0.426323, -0.854324> + 4960: <-0.339005, -0.381976, -0.859750> + 4961: <-0.340503, -0.340503, -0.876422> + 4962: <-0.299085, -0.341811, -0.890906> + 4963: <-0.298234, -0.383963, -0.873859> + 4964: <-0.340503, -0.340503, -0.876422> + 4965: <-0.341811, -0.299085, -0.890906> + 4966: <-0.299762, -0.299762, -0.905696> + 4967: <-0.299085, -0.341811, -0.890906> + 4968: <-0.341811, -0.299085, -0.890906> + 4969: <-0.342852, -0.257643, -0.903367> + 4970: <-0.300219, -0.257736, -0.918390> + 4971: <-0.299762, -0.299762, -0.905696> + 4972: <-0.342852, -0.257643, -0.903367> + 4973: <-0.343582, -0.215982, -0.913949> + 4974: <-0.300461, -0.215649, -0.929096> + 4975: <-0.300219, -0.257736, -0.918390> + 4976: <-0.343582, -0.215982, -0.913949> + 4977: <-0.344072, -0.173989, -0.922682> + 4978: <-0.300496, -0.173351, -0.937897> + 4979: <-0.300461, -0.215649, -0.929096> + 4980: <-0.344072, -0.173989, -0.922682> + 4981: <-0.344322, -0.131509, -0.929596> + 4982: <-0.300427, -0.130743, -0.944802> + 4983: <-0.300496, -0.173351, -0.937897> + 4984: <-0.344322, -0.131509, -0.929596> + 4985: <-0.344408, -0.088414, -0.934648> + 4986: <-0.300248, -0.087712, -0.949820> + 4987: <-0.300427, -0.130743, -0.944802> + 4988: <-0.344408, -0.088414, -0.934648> + 4989: <-0.344409, -0.044558, -0.937762> + 4990: <-0.300092, -0.044130, -0.952889> + 4991: <-0.300248, -0.087712, -0.949820> + 4992: <-0.344409, -0.044558, -0.937762> + 4993: <-0.344405, 0.000000, -0.938821> + 4994: <-0.300059, 0.000000, -0.953921> + 4995: <-0.300092, -0.044130, -0.952889> + 4996: <-0.344405, 0.000000, -0.938821> + 4997: <-0.344409, 0.044558, -0.937762> + 4998: <-0.300092, 0.044130, -0.952889> + 4999: <-0.300059, 0.000000, -0.953921> + 5000: <-0.344409, 0.044558, -0.937762> + 5001: <-0.344408, 0.088414, -0.934648> + 5002: <-0.300248, 0.087712, -0.949820> + 5003: <-0.300092, 0.044130, -0.952889> + 5004: <-0.344408, 0.088414, -0.934648> + 5005: <-0.344322, 0.131509, -0.929596> + 5006: <-0.300427, 0.130743, -0.944802> + 5007: <-0.300248, 0.087712, -0.949820> + 5008: <-0.344322, 0.131509, -0.929596> + 5009: <-0.344072, 0.173989, -0.922682> + 5010: <-0.300496, 0.173351, -0.937897> + 5011: <-0.300427, 0.130743, -0.944802> + 5012: <-0.344072, 0.173989, -0.922682> + 5013: <-0.343582, 0.215982, -0.913949> + 5014: <-0.300461, 0.215649, -0.929096> + 5015: <-0.300496, 0.173351, -0.937897> + 5016: <-0.343582, 0.215982, -0.913949> + 5017: <-0.342852, 0.257643, -0.903367> + 5018: <-0.300219, 0.257736, -0.918390> + 5019: <-0.300461, 0.215649, -0.929096> + 5020: <-0.342852, 0.257643, -0.903367> + 5021: <-0.341811, 0.299085, -0.890906> + 5022: <-0.299762, 0.299762, -0.905696> + 5023: <-0.300219, 0.257736, -0.918390> + 5024: <-0.341811, 0.299085, -0.890906> + 5025: <-0.340503, 0.340503, -0.876422> + 5026: <-0.299085, 0.341811, -0.890906> + 5027: <-0.299762, 0.299762, -0.905696> + 5028: <-0.340503, 0.340503, -0.876422> + 5029: <-0.339005, 0.381976, -0.859750> + 5030: <-0.298259, 0.383986, -0.873840> + 5031: <-0.299085, 0.341811, -0.890906> + 5032: <-0.339005, 0.381976, -0.859750> + 5033: <-0.337391, 0.423577, -0.840684> + 5034: <-0.297287, 0.426323, -0.854324> + 5035: <-0.298259, 0.383986, -0.873840> + 5036: <-0.337391, 0.423577, -0.840684> + 5037: <-0.335801, 0.465202, -0.819039> + 5038: <-0.296339, 0.468770, -0.832128> + 5039: <-0.297287, 0.426323, -0.854324> + 5040: <-0.335801, 0.465202, -0.819039> + 5041: <-0.334337, 0.506740, -0.794627> + 5042: <-0.295457, 0.511198, -0.807082> + 5043: <-0.296339, 0.468770, -0.832128> + 5044: <-0.334337, 0.506740, -0.794627> + 5045: <-0.333090, 0.548009, -0.767292> + 5046: <-0.294729, 0.553415, -0.779017> + 5047: <-0.295457, 0.511198, -0.807082> + 5048: <-0.333090, 0.548009, -0.767292> + 5049: <-0.332170, 0.588744, -0.736915> + 5050: <-0.294207, 0.595158, -0.747816> + 5051: <-0.294729, 0.553415, -0.779017> + 5052: <-0.332170, 0.588744, -0.736915> + 5053: <-0.331652, 0.628603, -0.703467> + 5054: <-0.293904, 0.636150, -0.713396> + 5055: <-0.294207, 0.595158, -0.747816> + 5056: <-0.293904, -0.636150, -0.713396> + 5057: <-0.294207, -0.595158, -0.747816> + 5058: <-0.255750, -0.600829, -0.757361> + 5059: <-0.255632, -0.642833, -0.722093> + 5060: <-0.294207, -0.595158, -0.747816> + 5061: <-0.294729, -0.553415, -0.779017> + 5062: <-0.255937, -0.558172, -0.789266> + 5063: <-0.255750, -0.600829, -0.757361> + 5064: <-0.294729, -0.553415, -0.779017> + 5065: <-0.295457, -0.511198, -0.807082> + 5066: <-0.256243, -0.515110, -0.817925> + 5067: <-0.255937, -0.558172, -0.789266> + 5068: <-0.295457, -0.511198, -0.807082> + 5069: <-0.296339, -0.468770, -0.832128> + 5070: <-0.256606, -0.471888, -0.843490> + 5071: <-0.256243, -0.515110, -0.817925> + 5072: <-0.296339, -0.468770, -0.832128> + 5073: <-0.297287, -0.426323, -0.854324> + 5074: <-0.256999, -0.428698, -0.866124> + 5075: <-0.256606, -0.471888, -0.843490> + 5076: <-0.297287, -0.426323, -0.854324> + 5077: <-0.298234, -0.383963, -0.873859> + 5078: <-0.257364, -0.385664, -0.886018> + 5079: <-0.256999, -0.428698, -0.866124> + 5080: <-0.298234, -0.383963, -0.873859> + 5081: <-0.299085, -0.341811, -0.890906> + 5082: <-0.257643, -0.342852, -0.903367> + 5083: <-0.257364, -0.385664, -0.886018> + 5084: <-0.299085, -0.341811, -0.890906> + 5085: <-0.299762, -0.299762, -0.905696> + 5086: <-0.257736, -0.300219, -0.918390> + 5087: <-0.257643, -0.342852, -0.903367> + 5088: <-0.299762, -0.299762, -0.905696> + 5089: <-0.300219, -0.257736, -0.918390> + 5090: <-0.257702, -0.257702, -0.931225> + 5091: <-0.257736, -0.300219, -0.918390> + 5092: <-0.300219, -0.257736, -0.918390> + 5093: <-0.300461, -0.215649, -0.929096> + 5094: <-0.257519, -0.215220, -0.942000> + 5095: <-0.257702, -0.257702, -0.931225> + 5096: <-0.300461, -0.215649, -0.929096> + 5097: <-0.300496, -0.173351, -0.937897> + 5098: <-0.257217, -0.172679, -0.950800> + 5099: <-0.257519, -0.215220, -0.942000> + 5100: <-0.300496, -0.173351, -0.937897> + 5101: <-0.300427, -0.130743, -0.944802> + 5102: <-0.256880, -0.129981, -0.957663> + 5103: <-0.257217, -0.172679, -0.950800> + 5104: <-0.300427, -0.130743, -0.944802> + 5105: <-0.300248, -0.087712, -0.949820> + 5106: <-0.256544, -0.087041, -0.962605> + 5107: <-0.256880, -0.129981, -0.957663> + 5108: <-0.300248, -0.087712, -0.949820> + 5109: <-0.300092, -0.044130, -0.952889> + 5110: <-0.256267, -0.043703, -0.965618> + 5111: <-0.256544, -0.087041, -0.962605> + 5112: <-0.300092, -0.044130, -0.952889> + 5113: <-0.300059, 0.000000, -0.953921> + 5114: <-0.256177, 0.000000, -0.966630> + 5115: <-0.256267, -0.043703, -0.965618> + 5116: <-0.300059, 0.000000, -0.953921> + 5117: <-0.300092, 0.044130, -0.952889> + 5118: <-0.256267, 0.043703, -0.965618> + 5119: <-0.256177, 0.000000, -0.966630> + 5120: <-0.300092, 0.044130, -0.952889> + 5121: <-0.300248, 0.087712, -0.949820> + 5122: <-0.256544, 0.087041, -0.962605> + 5123: <-0.256267, 0.043703, -0.965618> + 5124: <-0.300248, 0.087712, -0.949820> + 5125: <-0.300427, 0.130743, -0.944802> + 5126: <-0.256880, 0.129981, -0.957663> + 5127: <-0.256544, 0.087041, -0.962605> + 5128: <-0.300427, 0.130743, -0.944802> + 5129: <-0.300496, 0.173351, -0.937897> + 5130: <-0.257217, 0.172679, -0.950800> + 5131: <-0.256880, 0.129981, -0.957663> + 5132: <-0.300496, 0.173351, -0.937897> + 5133: <-0.300461, 0.215649, -0.929096> + 5134: <-0.257519, 0.215220, -0.942000> + 5135: <-0.257217, 0.172679, -0.950800> + 5136: <-0.300461, 0.215649, -0.929096> + 5137: <-0.300219, 0.257736, -0.918390> + 5138: <-0.257702, 0.257702, -0.931225> + 5139: <-0.257519, 0.215220, -0.942000> + 5140: <-0.300219, 0.257736, -0.918390> + 5141: <-0.299762, 0.299762, -0.905696> + 5142: <-0.257736, 0.300219, -0.918390> + 5143: <-0.257702, 0.257702, -0.931225> + 5144: <-0.299762, 0.299762, -0.905696> + 5145: <-0.299085, 0.341811, -0.890906> + 5146: <-0.257643, 0.342852, -0.903367> + 5147: <-0.257736, 0.300219, -0.918390> + 5148: <-0.299085, 0.341811, -0.890906> + 5149: <-0.298259, 0.383986, -0.873840> + 5150: <-0.257364, 0.385664, -0.886018> + 5151: <-0.257643, 0.342852, -0.903367> + 5152: <-0.298259, 0.383986, -0.873840> + 5153: <-0.297287, 0.426323, -0.854324> + 5154: <-0.256999, 0.428698, -0.866124> + 5155: <-0.257364, 0.385664, -0.886018> + 5156: <-0.297287, 0.426323, -0.854324> + 5157: <-0.296339, 0.468770, -0.832128> + 5158: <-0.256606, 0.471888, -0.843490> + 5159: <-0.256999, 0.428698, -0.866124> + 5160: <-0.296339, 0.468770, -0.832128> + 5161: <-0.295457, 0.511198, -0.807082> + 5162: <-0.256243, 0.515110, -0.817925> + 5163: <-0.256606, 0.471888, -0.843490> + 5164: <-0.295457, 0.511198, -0.807082> + 5165: <-0.294729, 0.553415, -0.779017> + 5166: <-0.255937, 0.558172, -0.789266> + 5167: <-0.256243, 0.515110, -0.817925> + 5168: <-0.294729, 0.553415, -0.779017> + 5169: <-0.294207, 0.595158, -0.747816> + 5170: <-0.255750, 0.600829, -0.757361> + 5171: <-0.255937, 0.558172, -0.789266> + 5172: <-0.294207, 0.595158, -0.747816> + 5173: <-0.293904, 0.636150, -0.713396> + 5174: <-0.255632, 0.642833, -0.722093> + 5175: <-0.255750, 0.600829, -0.757361> + 5176: <-0.255632, -0.642833, -0.722093> + 5177: <-0.255750, -0.600829, -0.757361> + 5178: <-0.216596, -0.605748, -0.765608> + 5179: <-0.216660, -0.648606, -0.729636> + 5180: <-0.255750, -0.600829, -0.757361> + 5181: <-0.255937, -0.558172, -0.789266> + 5182: <-0.216534, -0.562257, -0.798110> + 5183: <-0.216596, -0.605748, -0.765608> + 5184: <-0.255937, -0.558172, -0.789266> + 5185: <-0.256243, -0.515110, -0.817925> + 5186: <-0.216475, -0.518435, -0.827263> + 5187: <-0.216534, -0.562257, -0.798110> + 5188: <-0.256243, -0.515110, -0.817925> + 5189: <-0.256606, -0.471888, -0.843490> + 5190: <-0.216413, -0.474515, -0.853230> + 5191: <-0.216475, -0.518435, -0.827263> + 5192: <-0.256606, -0.471888, -0.843490> + 5193: <-0.256999, -0.428698, -0.866124> + 5194: <-0.216320, -0.430657, -0.876208> + 5195: <-0.216413, -0.474515, -0.853230> + 5196: <-0.256999, -0.428698, -0.866124> + 5197: <-0.257364, -0.385664, -0.886018> + 5198: <-0.216199, -0.386985, -0.896382> + 5199: <-0.216320, -0.430657, -0.876208> + 5200: <-0.257364, -0.385664, -0.886018> + 5201: <-0.257643, -0.342852, -0.903367> + 5202: <-0.215982, -0.343582, -0.913949> + 5203: <-0.216199, -0.386985, -0.896382> + 5204: <-0.257643, -0.342852, -0.903367> + 5205: <-0.257736, -0.300219, -0.918390> + 5206: <-0.215649, -0.300461, -0.929096> + 5207: <-0.215982, -0.343582, -0.913949> + 5208: <-0.257736, -0.300219, -0.918390> + 5209: <-0.257702, -0.257702, -0.931225> + 5210: <-0.215220, -0.257519, -0.942000> + 5211: <-0.215649, -0.300461, -0.929096> + 5212: <-0.257702, -0.257702, -0.931225> + 5213: <-0.257519, -0.215220, -0.942000> + 5214: <-0.214732, -0.214732, -0.952775> + 5215: <-0.215220, -0.257519, -0.942000> + 5216: <-0.257519, -0.215220, -0.942000> + 5217: <-0.257217, -0.172679, -0.950800> + 5218: <-0.214182, -0.172005, -0.961530> + 5219: <-0.214732, -0.214732, -0.952775> + 5220: <-0.257217, -0.172679, -0.950800> + 5221: <-0.256880, -0.129981, -0.957663> + 5222: <-0.213666, -0.129250, -0.968319> + 5223: <-0.214182, -0.172005, -0.961530> + 5224: <-0.256880, -0.129981, -0.957663> + 5225: <-0.256544, -0.087041, -0.962605> + 5226: <-0.213204, -0.086398, -0.973180> + 5227: <-0.213666, -0.129250, -0.968319> + 5228: <-0.256544, -0.087041, -0.962605> + 5229: <-0.256267, -0.043703, -0.965618> + 5230: <-0.212870, -0.043306, -0.976120> + 5231: <-0.213204, -0.086398, -0.973180> + 5232: <-0.256267, -0.043703, -0.965618> + 5233: <-0.256177, 0.000000, -0.966630> + 5234: <-0.212750, 0.000000, -0.977107> + 5235: <-0.212870, -0.043306, -0.976120> + 5236: <-0.256177, 0.000000, -0.966630> + 5237: <-0.256267, 0.043703, -0.965618> + 5238: <-0.212870, 0.043306, -0.976120> + 5239: <-0.212750, 0.000000, -0.977107> + 5240: <-0.256267, 0.043703, -0.965618> + 5241: <-0.256544, 0.087041, -0.962605> + 5242: <-0.213204, 0.086398, -0.973180> + 5243: <-0.212870, 0.043306, -0.976120> + 5244: <-0.256544, 0.087041, -0.962605> + 5245: <-0.256880, 0.129981, -0.957663> + 5246: <-0.213666, 0.129250, -0.968319> + 5247: <-0.213204, 0.086398, -0.973180> + 5248: <-0.256880, 0.129981, -0.957663> + 5249: <-0.257217, 0.172679, -0.950800> + 5250: <-0.214182, 0.172005, -0.961530> + 5251: <-0.213666, 0.129250, -0.968319> + 5252: <-0.257217, 0.172679, -0.950800> + 5253: <-0.257519, 0.215220, -0.942000> + 5254: <-0.214732, 0.214732, -0.952775> + 5255: <-0.214182, 0.172005, -0.961530> + 5256: <-0.257519, 0.215220, -0.942000> + 5257: <-0.257702, 0.257702, -0.931225> + 5258: <-0.215220, 0.257519, -0.942000> + 5259: <-0.214732, 0.214732, -0.952775> + 5260: <-0.257702, 0.257702, -0.931225> + 5261: <-0.257736, 0.300219, -0.918390> + 5262: <-0.215649, 0.300461, -0.929096> + 5263: <-0.215220, 0.257519, -0.942000> + 5264: <-0.257736, 0.300219, -0.918390> + 5265: <-0.257643, 0.342852, -0.903367> + 5266: <-0.215982, 0.343582, -0.913949> + 5267: <-0.215649, 0.300461, -0.929096> + 5268: <-0.257643, 0.342852, -0.903367> + 5269: <-0.257364, 0.385664, -0.886018> + 5270: <-0.216199, 0.386985, -0.896382> + 5271: <-0.215982, 0.343582, -0.913949> + 5272: <-0.257364, 0.385664, -0.886018> + 5273: <-0.256999, 0.428698, -0.866124> + 5274: <-0.216320, 0.430657, -0.876208> + 5275: <-0.216199, 0.386985, -0.896382> + 5276: <-0.256999, 0.428698, -0.866124> + 5277: <-0.256606, 0.471888, -0.843490> + 5278: <-0.216413, 0.474515, -0.853230> + 5279: <-0.216320, 0.430657, -0.876208> + 5280: <-0.256606, 0.471888, -0.843490> + 5281: <-0.256243, 0.515110, -0.817925> + 5282: <-0.216475, 0.518435, -0.827263> + 5283: <-0.216413, 0.474515, -0.853230> + 5284: <-0.256243, 0.515110, -0.817925> + 5285: <-0.255937, 0.558172, -0.789266> + 5286: <-0.216534, 0.562257, -0.798110> + 5287: <-0.216475, 0.518435, -0.827263> + 5288: <-0.255937, 0.558172, -0.789266> + 5289: <-0.255750, 0.600829, -0.757361> + 5290: <-0.216596, 0.605748, -0.765608> + 5291: <-0.216534, 0.562257, -0.798110> + 5292: <-0.255750, 0.600829, -0.757361> + 5293: <-0.255632, 0.642833, -0.722093> + 5294: <-0.216660, 0.648606, -0.729636> + 5295: <-0.216596, 0.605748, -0.765608> + 5296: <-0.216660, -0.648606, -0.729636> + 5297: <-0.216596, -0.605748, -0.765608> + 5298: <-0.176461, -0.609892, -0.772589> + 5299: <-0.176644, -0.653502, -0.736025> + 5300: <-0.216596, -0.605748, -0.765608> + 5301: <-0.216534, -0.562257, -0.798110> + 5302: <-0.176188, -0.565675, -0.805587> + 5303: <-0.176461, -0.609892, -0.772589> + 5304: <-0.216534, -0.562257, -0.798110> + 5305: <-0.216475, -0.518435, -0.827263> + 5306: <-0.175853, -0.521180, -0.835133> + 5307: <-0.176188, -0.565675, -0.805587> + 5308: <-0.216475, -0.518435, -0.827263> + 5309: <-0.216413, -0.474515, -0.853230> + 5310: <-0.175453, -0.476614, -0.861426> + 5311: <-0.175853, -0.521180, -0.835133> + 5312: <-0.216413, -0.474515, -0.853230> + 5313: <-0.216320, -0.430657, -0.876208> + 5314: <-0.175026, -0.432149, -0.884654> + 5315: <-0.175453, -0.476614, -0.861426> + 5316: <-0.216320, -0.430657, -0.876208> + 5317: <-0.216199, -0.386985, -0.896382> + 5318: <-0.174541, -0.387965, -0.904997> + 5319: <-0.175026, -0.432149, -0.884654> + 5320: <-0.216199, -0.386985, -0.896382> + 5321: <-0.215982, -0.343582, -0.913949> + 5322: <-0.173989, -0.344072, -0.922682> + 5323: <-0.174541, -0.387965, -0.904997> + 5324: <-0.215982, -0.343582, -0.913949> + 5325: <-0.215649, -0.300461, -0.929096> + 5326: <-0.173351, -0.300496, -0.937897> + 5327: <-0.173989, -0.344072, -0.922682> + 5328: <-0.215649, -0.300461, -0.929096> + 5329: <-0.215220, -0.257519, -0.942000> + 5330: <-0.172679, -0.257217, -0.950800> + 5331: <-0.173351, -0.300496, -0.937897> + 5332: <-0.215220, -0.257519, -0.942000> + 5333: <-0.214732, -0.214732, -0.952775> + 5334: <-0.172005, -0.214182, -0.961530> + 5335: <-0.172679, -0.257217, -0.950800> + 5336: <-0.214732, -0.214732, -0.952775> + 5337: <-0.214182, -0.172005, -0.961530> + 5338: <-0.171305, -0.171305, -0.970211> + 5339: <-0.172005, -0.214182, -0.961530> + 5340: <-0.214182, -0.172005, -0.961530> + 5341: <-0.213666, -0.129250, -0.968319> + 5342: <-0.170691, -0.128545, -0.976904> + 5343: <-0.171305, -0.171305, -0.970211> + 5344: <-0.213666, -0.129250, -0.968319> + 5345: <-0.213204, -0.086398, -0.973180> + 5346: <-0.170203, -0.085788, -0.981668> + 5347: <-0.170691, -0.128545, -0.976904> + 5348: <-0.213204, -0.086398, -0.973180> + 5349: <-0.212870, -0.043306, -0.976120> + 5350: <-0.169837, -0.042970, -0.984535> + 5351: <-0.170203, -0.085788, -0.981668> + 5352: <-0.212870, -0.043306, -0.976120> + 5353: <-0.212750, 0.000000, -0.977107> + 5354: <-0.169746, 0.000000, -0.985488> + 5355: <-0.169837, -0.042970, -0.984535> + 5356: <-0.212750, 0.000000, -0.977107> + 5357: <-0.212870, 0.043306, -0.976120> + 5358: <-0.169866, 0.042970, -0.984530> + 5359: <-0.169746, 0.000000, -0.985488> + 5360: <-0.212870, 0.043306, -0.976120> + 5361: <-0.213204, 0.086398, -0.973180> + 5362: <-0.170203, 0.085788, -0.981668> + 5363: <-0.169866, 0.042970, -0.984530> + 5364: <-0.213204, 0.086398, -0.973180> + 5365: <-0.213666, 0.129250, -0.968319> + 5366: <-0.170691, 0.128545, -0.976904> + 5367: <-0.170203, 0.085788, -0.981668> + 5368: <-0.213666, 0.129250, -0.968319> + 5369: <-0.214182, 0.172005, -0.961530> + 5370: <-0.171305, 0.171305, -0.970211> + 5371: <-0.170691, 0.128545, -0.976904> + 5372: <-0.214182, 0.172005, -0.961530> + 5373: <-0.214732, 0.214732, -0.952775> + 5374: <-0.172005, 0.214182, -0.961530> + 5375: <-0.171305, 0.171305, -0.970211> + 5376: <-0.214732, 0.214732, -0.952775> + 5377: <-0.215220, 0.257519, -0.942000> + 5378: <-0.172679, 0.257217, -0.950800> + 5379: <-0.172005, 0.214182, -0.961530> + 5380: <-0.215220, 0.257519, -0.942000> + 5381: <-0.215649, 0.300461, -0.929096> + 5382: <-0.173351, 0.300496, -0.937897> + 5383: <-0.172679, 0.257217, -0.950800> + 5384: <-0.215649, 0.300461, -0.929096> + 5385: <-0.215982, 0.343582, -0.913949> + 5386: <-0.173989, 0.344072, -0.922682> + 5387: <-0.173351, 0.300496, -0.937897> + 5388: <-0.215982, 0.343582, -0.913949> + 5389: <-0.216199, 0.386985, -0.896382> + 5390: <-0.174541, 0.387965, -0.904997> + 5391: <-0.173989, 0.344072, -0.922682> + 5392: <-0.216199, 0.386985, -0.896382> + 5393: <-0.216320, 0.430657, -0.876208> + 5394: <-0.175026, 0.432149, -0.884654> + 5395: <-0.174541, 0.387965, -0.904997> + 5396: <-0.216320, 0.430657, -0.876208> + 5397: <-0.216413, 0.474515, -0.853230> + 5398: <-0.175453, 0.476614, -0.861426> + 5399: <-0.175026, 0.432149, -0.884654> + 5400: <-0.216413, 0.474515, -0.853230> + 5401: <-0.216475, 0.518435, -0.827263> + 5402: <-0.175853, 0.521180, -0.835133> + 5403: <-0.175453, 0.476614, -0.861426> + 5404: <-0.216475, 0.518435, -0.827263> + 5405: <-0.216534, 0.562257, -0.798110> + 5406: <-0.176188, 0.565675, -0.805587> + 5407: <-0.175853, 0.521180, -0.835133> + 5408: <-0.216534, 0.562257, -0.798110> + 5409: <-0.216596, 0.605748, -0.765608> + 5410: <-0.176461, 0.609892, -0.772589> + 5411: <-0.176188, 0.565675, -0.805587> + 5412: <-0.216596, 0.605748, -0.765608> + 5413: <-0.216660, 0.648606, -0.729636> + 5414: <-0.176644, 0.653502, -0.736025> + 5415: <-0.176461, 0.609892, -0.772589> + 5416: <-0.176644, -0.653502, -0.736025> + 5417: <-0.176461, -0.609892, -0.772589> + 5418: <-0.135015, -0.613215, -0.778292> + 5419: <-0.135260, -0.657468, -0.741243> + 5420: <-0.176461, -0.609892, -0.772589> + 5421: <-0.176188, -0.565675, -0.805587> + 5422: <-0.134618, -0.568382, -0.811677> + 5423: <-0.135015, -0.613215, -0.778292> + 5424: <-0.176188, -0.565675, -0.805587> + 5425: <-0.175853, -0.521180, -0.835133> + 5426: <-0.134100, -0.523307, -0.841527> + 5427: <-0.134618, -0.568382, -0.811677> + 5428: <-0.175853, -0.521180, -0.835133> + 5429: <-0.175453, -0.476614, -0.861426> + 5430: <-0.133553, -0.478208, -0.868033> + 5431: <-0.134100, -0.523307, -0.841527> + 5432: <-0.175453, -0.476614, -0.861426> + 5433: <-0.175026, -0.432149, -0.884654> + 5434: <-0.132911, -0.433281, -0.891405> + 5435: <-0.133553, -0.478208, -0.868033> + 5436: <-0.175026, -0.432149, -0.884654> + 5437: <-0.174541, -0.387965, -0.904997> + 5438: <-0.132240, -0.388632, -0.911854> + 5439: <-0.132911, -0.433281, -0.891405> + 5440: <-0.174541, -0.387965, -0.904997> + 5441: <-0.173989, -0.344072, -0.922682> + 5442: <-0.131509, -0.344322, -0.929596> + 5443: <-0.132240, -0.388632, -0.911854> + 5444: <-0.173989, -0.344072, -0.922682> + 5445: <-0.173351, -0.300496, -0.937897> + 5446: <-0.130743, -0.300427, -0.944802> + 5447: <-0.131509, -0.344322, -0.929596> + 5448: <-0.173351, -0.300496, -0.937897> + 5449: <-0.172679, -0.257217, -0.950800> + 5450: <-0.129981, -0.256880, -0.957663> + 5451: <-0.130743, -0.300427, -0.944802> + 5452: <-0.172679, -0.257217, -0.950800> + 5453: <-0.172005, -0.214182, -0.961530> + 5454: <-0.129250, -0.213666, -0.968319> + 5455: <-0.129981, -0.256880, -0.957663> + 5456: <-0.172005, -0.214182, -0.961530> + 5457: <-0.171305, -0.171305, -0.970211> + 5458: <-0.128545, -0.170691, -0.976904> + 5459: <-0.129250, -0.213666, -0.968319> + 5460: <-0.171305, -0.171305, -0.970211> + 5461: <-0.170691, -0.128545, -0.976904> + 5462: <-0.127935, -0.127935, -0.983497> + 5463: <-0.128545, -0.170691, -0.976904> + 5464: <-0.170691, -0.128545, -0.976904> + 5465: <-0.170203, -0.085788, -0.981668> + 5466: <-0.127447, -0.085300, -0.988171> + 5467: <-0.127935, -0.127935, -0.983497> + 5468: <-0.170203, -0.085788, -0.981668> + 5469: <-0.169837, -0.042970, -0.984535> + 5470: <-0.127144, -0.042666, -0.990966> + 5471: <-0.127447, -0.085300, -0.988171> + 5472: <-0.169837, -0.042970, -0.984535> + 5473: <-0.169746, 0.000000, -0.985488> + 5474: <-0.127020, 0.000000, -0.991900> + 5475: <-0.127144, -0.042666, -0.990966> + 5476: <-0.169746, 0.000000, -0.985488> + 5477: <-0.169866, 0.042970, -0.984530> + 5478: <-0.127144, 0.042666, -0.990966> + 5479: <-0.127020, 0.000000, -0.991900> + 5480: <-0.169866, 0.042970, -0.984530> + 5481: <-0.170203, 0.085788, -0.981668> + 5482: <-0.127447, 0.085300, -0.988171> + 5483: <-0.127144, 0.042666, -0.990966> + 5484: <-0.170203, 0.085788, -0.981668> + 5485: <-0.170691, 0.128545, -0.976904> + 5486: <-0.127935, 0.127935, -0.983497> + 5487: <-0.127447, 0.085300, -0.988171> + 5488: <-0.170691, 0.128545, -0.976904> + 5489: <-0.171305, 0.171305, -0.970211> + 5490: <-0.128545, 0.170691, -0.976904> + 5491: <-0.127935, 0.127935, -0.983497> + 5492: <-0.171305, 0.171305, -0.970211> + 5493: <-0.172005, 0.214182, -0.961530> + 5494: <-0.129250, 0.213666, -0.968319> + 5495: <-0.128545, 0.170691, -0.976904> + 5496: <-0.172005, 0.214182, -0.961530> + 5497: <-0.172679, 0.257217, -0.950800> + 5498: <-0.129981, 0.256880, -0.957663> + 5499: <-0.129250, 0.213666, -0.968319> + 5500: <-0.172679, 0.257217, -0.950800> + 5501: <-0.173351, 0.300496, -0.937897> + 5502: <-0.130743, 0.300427, -0.944802> + 5503: <-0.129981, 0.256880, -0.957663> + 5504: <-0.173351, 0.300496, -0.937897> + 5505: <-0.173989, 0.344072, -0.922682> + 5506: <-0.131509, 0.344322, -0.929596> + 5507: <-0.130743, 0.300427, -0.944802> + 5508: <-0.173989, 0.344072, -0.922682> + 5509: <-0.174541, 0.387965, -0.904997> + 5510: <-0.132240, 0.388632, -0.911854> + 5511: <-0.131509, 0.344322, -0.929596> + 5512: <-0.174541, 0.387965, -0.904997> + 5513: <-0.175026, 0.432149, -0.884654> + 5514: <-0.132911, 0.433281, -0.891405> + 5515: <-0.132240, 0.388632, -0.911854> + 5516: <-0.175026, 0.432149, -0.884654> + 5517: <-0.175453, 0.476614, -0.861426> + 5518: <-0.133553, 0.478208, -0.868033> + 5519: <-0.132911, 0.433281, -0.891405> + 5520: <-0.175453, 0.476614, -0.861426> + 5521: <-0.175853, 0.521180, -0.835133> + 5522: <-0.134100, 0.523307, -0.841527> + 5523: <-0.133553, 0.478208, -0.868033> + 5524: <-0.175853, 0.521180, -0.835133> + 5525: <-0.176188, 0.565675, -0.805587> + 5526: <-0.134618, 0.568382, -0.811677> + 5527: <-0.134100, 0.523307, -0.841527> + 5528: <-0.176188, 0.565675, -0.805587> + 5529: <-0.176461, 0.609892, -0.772589> + 5530: <-0.134985, 0.613218, -0.778295> + 5531: <-0.134618, 0.568382, -0.811677> + 5532: <-0.176461, 0.609892, -0.772589> + 5533: <-0.176644, 0.653502, -0.736025> + 5534: <-0.135260, 0.657468, -0.741243> + 5535: <-0.134985, 0.613218, -0.778295> + 5536: <-0.135260, -0.657468, -0.741243> + 5537: <-0.135015, -0.613215, -0.778292> + 5538: <-0.091894, -0.615697, -0.782607> + 5539: <-0.092137, -0.660463, -0.745184> + 5540: <-0.135015, -0.613215, -0.778292> + 5541: <-0.134618, -0.568382, -0.811677> + 5542: <-0.091497, -0.570377, -0.816271> + 5543: <-0.091894, -0.615697, -0.782607> + 5544: <-0.134618, -0.568382, -0.811677> + 5545: <-0.134100, -0.523307, -0.841527> + 5546: <-0.091008, -0.524836, -0.846324> + 5547: <-0.091497, -0.570377, -0.816271> + 5548: <-0.134100, -0.523307, -0.841527> + 5549: <-0.133553, -0.478208, -0.868033> + 5550: <-0.090429, -0.479307, -0.872976> + 5551: <-0.091008, -0.524836, -0.846324> + 5552: <-0.133553, -0.478208, -0.868033> + 5553: <-0.132911, -0.433281, -0.891405> + 5554: <-0.089787, -0.433981, -0.896437> + 5555: <-0.090429, -0.479307, -0.872976> + 5556: <-0.132911, -0.433281, -0.891405> + 5557: <-0.132240, -0.388632, -0.911854> + 5558: <-0.089116, -0.388998, -0.916918> + 5559: <-0.089787, -0.433981, -0.896437> + 5560: <-0.132240, -0.388632, -0.911854> + 5561: <-0.131509, -0.344322, -0.929596> + 5562: <-0.088414, -0.344408, -0.934648> + 5563: <-0.089116, -0.388998, -0.916918> + 5564: <-0.131509, -0.344322, -0.929596> + 5565: <-0.130743, -0.300427, -0.944802> + 5566: <-0.087712, -0.300248, -0.949820> + 5567: <-0.088414, -0.344408, -0.934648> + 5568: <-0.130743, -0.300427, -0.944802> + 5569: <-0.129981, -0.256880, -0.957663> + 5570: <-0.087041, -0.256544, -0.962605> + 5571: <-0.087712, -0.300248, -0.949820> + 5572: <-0.129981, -0.256880, -0.957663> + 5573: <-0.129250, -0.213666, -0.968319> + 5574: <-0.086398, -0.213204, -0.973180> + 5575: <-0.087041, -0.256544, -0.962605> + 5576: <-0.129250, -0.213666, -0.968319> + 5577: <-0.128545, -0.170691, -0.976904> + 5578: <-0.085788, -0.170203, -0.981668> + 5579: <-0.086398, -0.213204, -0.973180> + 5580: <-0.128545, -0.170691, -0.976904> + 5581: <-0.127935, -0.127935, -0.983497> + 5582: <-0.085300, -0.127447, -0.988171> + 5583: <-0.085788, -0.170203, -0.981668> + 5584: <-0.127935, -0.127935, -0.983497> + 5585: <-0.127447, -0.085300, -0.988171> + 5586: <-0.084905, -0.084905, -0.992765> + 5587: <-0.085300, -0.127447, -0.988171> + 5588: <-0.127447, -0.085300, -0.988171> + 5589: <-0.127144, -0.042666, -0.990966> + 5590: <-0.084660, -0.042452, -0.995505> + 5591: <-0.084905, -0.084905, -0.992765> + 5592: <-0.127144, -0.042666, -0.990966> + 5593: <-0.127020, 0.000000, -0.991900> + 5594: <-0.084568, 0.000000, -0.996418> + 5595: <-0.084660, -0.042452, -0.995505> + 5596: <-0.127020, 0.000000, -0.991900> + 5597: <-0.127144, 0.042666, -0.990966> + 5598: <-0.084660, 0.042452, -0.995505> + 5599: <-0.084568, 0.000000, -0.996418> + 5600: <-0.127144, 0.042666, -0.990966> + 5601: <-0.127447, 0.085300, -0.988171> + 5602: <-0.084905, 0.084905, -0.992765> + 5603: <-0.084660, 0.042452, -0.995505> + 5604: <-0.127447, 0.085300, -0.988171> + 5605: <-0.127935, 0.127935, -0.983497> + 5606: <-0.085300, 0.127447, -0.988171> + 5607: <-0.084905, 0.084905, -0.992765> + 5608: <-0.127935, 0.127935, -0.983497> + 5609: <-0.128545, 0.170691, -0.976904> + 5610: <-0.085788, 0.170203, -0.981668> + 5611: <-0.085300, 0.127447, -0.988171> + 5612: <-0.128545, 0.170691, -0.976904> + 5613: <-0.129250, 0.213666, -0.968319> + 5614: <-0.086398, 0.213204, -0.973180> + 5615: <-0.085788, 0.170203, -0.981668> + 5616: <-0.129250, 0.213666, -0.968319> + 5617: <-0.129981, 0.256880, -0.957663> + 5618: <-0.087041, 0.256544, -0.962605> + 5619: <-0.086398, 0.213204, -0.973180> + 5620: <-0.129981, 0.256880, -0.957663> + 5621: <-0.130743, 0.300427, -0.944802> + 5622: <-0.087712, 0.300248, -0.949820> + 5623: <-0.087041, 0.256544, -0.962605> + 5624: <-0.130743, 0.300427, -0.944802> + 5625: <-0.131509, 0.344322, -0.929596> + 5626: <-0.088414, 0.344408, -0.934648> + 5627: <-0.087712, 0.300248, -0.949820> + 5628: <-0.131509, 0.344322, -0.929596> + 5629: <-0.132240, 0.388632, -0.911854> + 5630: <-0.089116, 0.388998, -0.916918> + 5631: <-0.088414, 0.344408, -0.934648> + 5632: <-0.132240, 0.388632, -0.911854> + 5633: <-0.132911, 0.433281, -0.891405> + 5634: <-0.089787, 0.433981, -0.896437> + 5635: <-0.089116, 0.388998, -0.916918> + 5636: <-0.132911, 0.433281, -0.891405> + 5637: <-0.133553, 0.478208, -0.868033> + 5638: <-0.090429, 0.479307, -0.872976> + 5639: <-0.089787, 0.433981, -0.896437> + 5640: <-0.133553, 0.478208, -0.868033> + 5641: <-0.134100, 0.523307, -0.841527> + 5642: <-0.091008, 0.524836, -0.846324> + 5643: <-0.090429, 0.479307, -0.872976> + 5644: <-0.134100, 0.523307, -0.841527> + 5645: <-0.134618, 0.568382, -0.811677> + 5646: <-0.091497, 0.570377, -0.816271> + 5647: <-0.091008, 0.524836, -0.846324> + 5648: <-0.134618, 0.568382, -0.811677> + 5649: <-0.134985, 0.613218, -0.778295> + 5650: <-0.091894, 0.615697, -0.782607> + 5651: <-0.091497, 0.570377, -0.816271> + 5652: <-0.134985, 0.613218, -0.778295> + 5653: <-0.135260, 0.657468, -0.741243> + 5654: <-0.092137, 0.660463, -0.745184> + 5655: <-0.091894, 0.615697, -0.782607> + 5656: <-0.092137, -0.660463, -0.745184> + 5657: <-0.091894, -0.615697, -0.782607> + 5658: <-0.046847, -0.617246, -0.785375> + 5659: <-0.046999, -0.662354, -0.747715> + 5660: <-0.091894, -0.615697, -0.782607> + 5661: <-0.091497, -0.570377, -0.816271> + 5662: <-0.046573, -0.571602, -0.819208> + 5663: <-0.046847, -0.617246, -0.785375> + 5664: <-0.091497, -0.570377, -0.816271> + 5665: <-0.091008, -0.524836, -0.846324> + 5666: <-0.046267, -0.525753, -0.849378> + 5667: <-0.046573, -0.571602, -0.819208> + 5668: <-0.091008, -0.524836, -0.846324> + 5669: <-0.090429, -0.479307, -0.872976> + 5670: <-0.045871, -0.479951, -0.876095> + 5671: <-0.046267, -0.525753, -0.849378> + 5672: <-0.090429, -0.479307, -0.872976> + 5673: <-0.089787, -0.433981, -0.896437> + 5674: <-0.045443, -0.434379, -0.899583> + 5675: <-0.045871, -0.479951, -0.876095> + 5676: <-0.089787, -0.433981, -0.896437> + 5677: <-0.089116, -0.388998, -0.916918> + 5678: <-0.045016, -0.389180, -0.920061> + 5679: <-0.045443, -0.434379, -0.899583> + 5680: <-0.089116, -0.388998, -0.916918> + 5681: <-0.088414, -0.344408, -0.934648> + 5682: <-0.044558, -0.344409, -0.937762> + 5683: <-0.045016, -0.389180, -0.920061> + 5684: <-0.088414, -0.344408, -0.934648> + 5685: <-0.087712, -0.300248, -0.949820> + 5686: <-0.044130, -0.300092, -0.952889> + 5687: <-0.044558, -0.344409, -0.937762> + 5688: <-0.087712, -0.300248, -0.949820> + 5689: <-0.087041, -0.256544, -0.962605> + 5690: <-0.043703, -0.256267, -0.965618> + 5691: <-0.044130, -0.300092, -0.952889> + 5692: <-0.087041, -0.256544, -0.962605> + 5693: <-0.086398, -0.213204, -0.973180> + 5694: <-0.043306, -0.212870, -0.976120> + 5695: <-0.043703, -0.256267, -0.965618> + 5696: <-0.086398, -0.213204, -0.973180> + 5697: <-0.085788, -0.170203, -0.981668> + 5698: <-0.042970, -0.169837, -0.984535> + 5699: <-0.043306, -0.212870, -0.976120> + 5700: <-0.085788, -0.170203, -0.981668> + 5701: <-0.085300, -0.127447, -0.988171> + 5702: <-0.042666, -0.127144, -0.990966> + 5703: <-0.042970, -0.169837, -0.984535> + 5704: <-0.085300, -0.127447, -0.988171> + 5705: <-0.084905, -0.084905, -0.992765> + 5706: <-0.042452, -0.084660, -0.995505> + 5707: <-0.042666, -0.127144, -0.990966> + 5708: <-0.084905, -0.084905, -0.992765> + 5709: <-0.084660, -0.042452, -0.995505> + 5710: <-0.042299, -0.042299, -0.998209> + 5711: <-0.042452, -0.084660, -0.995505> + 5712: <-0.084660, -0.042452, -0.995505> + 5713: <-0.084568, 0.000000, -0.996418> + 5714: <-0.042239, 0.000000, -0.999108> + 5715: <-0.042299, -0.042299, -0.998209> + 5716: <-0.084568, 0.000000, -0.996418> + 5717: <-0.084660, 0.042452, -0.995505> + 5718: <-0.042299, 0.042299, -0.998209> + 5719: <-0.042239, 0.000000, -0.999108> + 5720: <-0.084660, 0.042452, -0.995505> + 5721: <-0.084905, 0.084905, -0.992765> + 5722: <-0.042452, 0.084660, -0.995505> + 5723: <-0.042299, 0.042299, -0.998209> + 5724: <-0.084905, 0.084905, -0.992765> + 5725: <-0.085300, 0.127447, -0.988171> + 5726: <-0.042666, 0.127144, -0.990966> + 5727: <-0.042452, 0.084660, -0.995505> + 5728: <-0.085300, 0.127447, -0.988171> + 5729: <-0.085788, 0.170203, -0.981668> + 5730: <-0.042970, 0.169837, -0.984535> + 5731: <-0.042666, 0.127144, -0.990966> + 5732: <-0.085788, 0.170203, -0.981668> + 5733: <-0.086398, 0.213204, -0.973180> + 5734: <-0.043306, 0.212870, -0.976120> + 5735: <-0.042970, 0.169837, -0.984535> + 5736: <-0.086398, 0.213204, -0.973180> + 5737: <-0.087041, 0.256544, -0.962605> + 5738: <-0.043703, 0.256267, -0.965618> + 5739: <-0.043306, 0.212870, -0.976120> + 5740: <-0.087041, 0.256544, -0.962605> + 5741: <-0.087712, 0.300248, -0.949820> + 5742: <-0.044130, 0.300092, -0.952889> + 5743: <-0.043703, 0.256267, -0.965618> + 5744: <-0.087712, 0.300248, -0.949820> + 5745: <-0.088414, 0.344408, -0.934648> + 5746: <-0.044558, 0.344409, -0.937762> + 5747: <-0.044130, 0.300092, -0.952889> + 5748: <-0.088414, 0.344408, -0.934648> + 5749: <-0.089116, 0.388998, -0.916918> + 5750: <-0.045016, 0.389180, -0.920061> + 5751: <-0.044558, 0.344409, -0.937762> + 5752: <-0.089116, 0.388998, -0.916918> + 5753: <-0.089787, 0.433981, -0.896437> + 5754: <-0.045443, 0.434379, -0.899583> + 5755: <-0.045016, 0.389180, -0.920061> + 5756: <-0.089787, 0.433981, -0.896437> + 5757: <-0.090429, 0.479307, -0.872976> + 5758: <-0.045871, 0.479951, -0.876095> + 5759: <-0.045443, 0.434379, -0.899583> + 5760: <-0.090429, 0.479307, -0.872976> + 5761: <-0.091008, 0.524836, -0.846324> + 5762: <-0.046267, 0.525753, -0.849378> + 5763: <-0.045871, 0.479951, -0.876095> + 5764: <-0.091008, 0.524836, -0.846324> + 5765: <-0.091497, 0.570377, -0.816271> + 5766: <-0.046573, 0.571602, -0.819208> + 5767: <-0.046267, 0.525753, -0.849378> + 5768: <-0.091497, 0.570377, -0.816271> + 5769: <-0.091894, 0.615697, -0.782607> + 5770: <-0.046847, 0.617246, -0.785375> + 5771: <-0.046573, 0.571602, -0.819208> + 5772: <-0.091894, 0.615697, -0.782607> + 5773: <-0.092137, 0.660463, -0.745184> + 5774: <-0.046999, 0.662354, -0.747715> + 5775: <-0.046847, 0.617246, -0.785375> + 5776: <-0.046999, -0.662354, -0.747715> + 5777: <-0.046847, -0.617246, -0.785375> + 5778: < 0.000000, -0.617789, -0.786344> + 5779: < 0.000000, -0.663024, -0.748599> + 5780: <-0.046847, -0.617246, -0.785375> + 5781: <-0.046573, -0.571602, -0.819208> + 5782: < 0.000000, -0.572024, -0.820237> + 5783: < 0.000000, -0.617789, -0.786344> + 5784: <-0.046573, -0.571602, -0.819208> + 5785: <-0.046267, -0.525753, -0.849378> + 5786: < 0.000000, -0.526081, -0.850434> + 5787: < 0.000000, -0.572024, -0.820237> + 5788: <-0.046267, -0.525753, -0.849378> + 5789: <-0.045871, -0.479951, -0.876095> + 5790: < 0.000000, -0.480158, -0.877182> + 5791: < 0.000000, -0.526081, -0.850434> + 5792: <-0.045871, -0.479951, -0.876095> + 5793: <-0.045443, -0.434379, -0.899583> + 5794: < 0.000000, -0.434534, -0.900655> + 5795: < 0.000000, -0.480158, -0.877182> + 5796: <-0.045443, -0.434379, -0.899583> + 5797: <-0.045016, -0.389180, -0.920061> + 5798: < 0.000000, -0.389244, -0.921135> + 5799: < 0.000000, -0.434534, -0.900655> + 5800: <-0.045016, -0.389180, -0.920061> + 5801: <-0.044558, -0.344409, -0.937762> + 5802: < 0.000000, -0.344405, -0.938821> + 5803: < 0.000000, -0.389244, -0.921135> + 5804: <-0.044558, -0.344409, -0.937762> + 5805: <-0.044130, -0.300092, -0.952889> + 5806: < 0.000000, -0.300059, -0.953921> + 5807: < 0.000000, -0.344405, -0.938821> + 5808: <-0.044130, -0.300092, -0.952889> + 5809: <-0.043703, -0.256267, -0.965618> + 5810: < 0.000000, -0.256177, -0.966630> + 5811: < 0.000000, -0.300059, -0.953921> + 5812: <-0.043703, -0.256267, -0.965618> + 5813: <-0.043306, -0.212870, -0.976120> + 5814: < 0.000000, -0.212750, -0.977107> + 5815: < 0.000000, -0.256177, -0.966630> + 5816: <-0.043306, -0.212870, -0.976120> + 5817: <-0.042970, -0.169837, -0.984535> + 5818: < 0.000000, -0.169746, -0.985488> + 5819: < 0.000000, -0.212750, -0.977107> + 5820: <-0.042970, -0.169837, -0.984535> + 5821: <-0.042666, -0.127144, -0.990966> + 5822: < 0.000000, -0.127020, -0.991900> + 5823: < 0.000000, -0.169746, -0.985488> + 5824: <-0.042666, -0.127144, -0.990966> + 5825: <-0.042452, -0.084660, -0.995505> + 5826: < 0.000000, -0.084568, -0.996418> + 5827: < 0.000000, -0.127020, -0.991900> + 5828: <-0.042452, -0.084660, -0.995505> + 5829: <-0.042299, -0.042299, -0.998209> + 5830: < 0.000000, -0.042239, -0.999108> + 5831: < 0.000000, -0.084568, -0.996418> + 5832: <-0.042299, -0.042299, -0.998209> + 5833: <-0.042239, 0.000000, -0.999108> + 5834: < 0.000000, 0.000000, -1.000000> + 5835: < 0.000000, -0.042239, -0.999108> + 5836: <-0.042239, 0.000000, -0.999108> + 5837: <-0.042299, 0.042299, -0.998209> + 5838: < 0.000000, 0.042239, -0.999108> + 5839: < 0.000000, 0.000000, -1.000000> + 5840: <-0.042299, 0.042299, -0.998209> + 5841: <-0.042452, 0.084660, -0.995505> + 5842: < 0.000000, 0.084568, -0.996418> + 5843: < 0.000000, 0.042239, -0.999108> + 5844: <-0.042452, 0.084660, -0.995505> + 5845: <-0.042666, 0.127144, -0.990966> + 5846: < 0.000000, 0.127020, -0.991900> + 5847: < 0.000000, 0.084568, -0.996418> + 5848: <-0.042666, 0.127144, -0.990966> + 5849: <-0.042970, 0.169837, -0.984535> + 5850: < 0.000000, 0.169746, -0.985488> + 5851: < 0.000000, 0.127020, -0.991900> + 5852: <-0.042970, 0.169837, -0.984535> + 5853: <-0.043306, 0.212870, -0.976120> + 5854: < 0.000000, 0.212750, -0.977107> + 5855: < 0.000000, 0.169746, -0.985488> + 5856: <-0.043306, 0.212870, -0.976120> + 5857: <-0.043703, 0.256267, -0.965618> + 5858: < 0.000000, 0.256177, -0.966630> + 5859: < 0.000000, 0.212750, -0.977107> + 5860: <-0.043703, 0.256267, -0.965618> + 5861: <-0.044130, 0.300092, -0.952889> + 5862: < 0.000000, 0.300059, -0.953921> + 5863: < 0.000000, 0.256177, -0.966630> + 5864: <-0.044130, 0.300092, -0.952889> + 5865: <-0.044558, 0.344409, -0.937762> + 5866: < 0.000000, 0.344405, -0.938821> + 5867: < 0.000000, 0.300059, -0.953921> + 5868: <-0.044558, 0.344409, -0.937762> + 5869: <-0.045016, 0.389180, -0.920061> + 5870: < 0.000000, 0.389244, -0.921135> + 5871: < 0.000000, 0.344405, -0.938821> + 5872: <-0.045016, 0.389180, -0.920061> + 5873: <-0.045443, 0.434379, -0.899583> + 5874: < 0.000000, 0.434534, -0.900655> + 5875: < 0.000000, 0.389244, -0.921135> + 5876: <-0.045443, 0.434379, -0.899583> + 5877: <-0.045871, 0.479951, -0.876095> + 5878: < 0.000000, 0.480158, -0.877182> + 5879: < 0.000000, 0.434534, -0.900655> + 5880: <-0.045871, 0.479951, -0.876095> + 5881: <-0.046267, 0.525753, -0.849378> + 5882: < 0.000000, 0.526081, -0.850434> + 5883: < 0.000000, 0.480158, -0.877182> + 5884: <-0.046267, 0.525753, -0.849378> + 5885: <-0.046573, 0.571602, -0.819208> + 5886: < 0.000000, 0.572024, -0.820237> + 5887: < 0.000000, 0.526081, -0.850434> + 5888: <-0.046573, 0.571602, -0.819208> + 5889: <-0.046847, 0.617246, -0.785375> + 5890: < 0.000000, 0.617789, -0.786344> + 5891: < 0.000000, 0.572024, -0.820237> + 5892: <-0.046847, 0.617246, -0.785375> + 5893: <-0.046999, 0.662354, -0.747715> + 5894: < 0.000000, 0.663024, -0.748599> + 5895: < 0.000000, 0.617789, -0.786344> + 5896: < 0.000000, -0.663024, -0.748599> + 5897: < 0.000000, -0.617789, -0.786344> + 5898: < 0.046847, -0.617246, -0.785375> + 5899: < 0.046999, -0.662354, -0.747715> + 5900: < 0.000000, -0.617789, -0.786344> + 5901: < 0.000000, -0.572024, -0.820237> + 5902: < 0.046573, -0.571602, -0.819208> + 5903: < 0.046847, -0.617246, -0.785375> + 5904: < 0.000000, -0.572024, -0.820237> + 5905: < 0.000000, -0.526081, -0.850434> + 5906: < 0.046267, -0.525753, -0.849378> + 5907: < 0.046573, -0.571602, -0.819208> + 5908: < 0.000000, -0.526081, -0.850434> + 5909: < 0.000000, -0.480158, -0.877182> + 5910: < 0.045871, -0.479951, -0.876095> + 5911: < 0.046267, -0.525753, -0.849378> + 5912: < 0.000000, -0.480158, -0.877182> + 5913: < 0.000000, -0.434534, -0.900655> + 5914: < 0.045443, -0.434379, -0.899583> + 5915: < 0.045871, -0.479951, -0.876095> + 5916: < 0.000000, -0.434534, -0.900655> + 5917: < 0.000000, -0.389244, -0.921135> + 5918: < 0.045016, -0.389180, -0.920061> + 5919: < 0.045443, -0.434379, -0.899583> + 5920: < 0.000000, -0.389244, -0.921135> + 5921: < 0.000000, -0.344405, -0.938821> + 5922: < 0.044558, -0.344409, -0.937762> + 5923: < 0.045016, -0.389180, -0.920061> + 5924: < 0.000000, -0.344405, -0.938821> + 5925: < 0.000000, -0.300059, -0.953921> + 5926: < 0.044130, -0.300092, -0.952889> + 5927: < 0.044558, -0.344409, -0.937762> + 5928: < 0.000000, -0.300059, -0.953921> + 5929: < 0.000000, -0.256177, -0.966630> + 5930: < 0.043703, -0.256267, -0.965618> + 5931: < 0.044130, -0.300092, -0.952889> + 5932: < 0.000000, -0.256177, -0.966630> + 5933: < 0.000000, -0.212750, -0.977107> + 5934: < 0.043306, -0.212870, -0.976120> + 5935: < 0.043703, -0.256267, -0.965618> + 5936: < 0.000000, -0.212750, -0.977107> + 5937: < 0.000000, -0.169746, -0.985488> + 5938: < 0.042970, -0.169866, -0.984530> + 5939: < 0.043306, -0.212870, -0.976120> + 5940: < 0.000000, -0.169746, -0.985488> + 5941: < 0.000000, -0.127020, -0.991900> + 5942: < 0.042666, -0.127144, -0.990966> + 5943: < 0.042970, -0.169866, -0.984530> + 5944: < 0.000000, -0.127020, -0.991900> + 5945: < 0.000000, -0.084568, -0.996418> + 5946: < 0.042452, -0.084660, -0.995505> + 5947: < 0.042666, -0.127144, -0.990966> + 5948: < 0.000000, -0.084568, -0.996418> + 5949: < 0.000000, -0.042239, -0.999108> + 5950: < 0.042299, -0.042299, -0.998209> + 5951: < 0.042452, -0.084660, -0.995505> + 5952: < 0.000000, -0.042239, -0.999108> + 5953: < 0.000000, 0.000000, -1.000000> + 5954: < 0.042239, 0.000000, -0.999108> + 5955: < 0.042299, -0.042299, -0.998209> + 5956: < 0.000000, 0.000000, -1.000000> + 5957: < 0.000000, 0.042239, -0.999108> + 5958: < 0.042299, 0.042299, -0.998209> + 5959: < 0.042239, 0.000000, -0.999108> + 5960: < 0.000000, 0.042239, -0.999108> + 5961: < 0.000000, 0.084568, -0.996418> + 5962: < 0.042452, 0.084660, -0.995505> + 5963: < 0.042299, 0.042299, -0.998209> + 5964: < 0.000000, 0.084568, -0.996418> + 5965: < 0.000000, 0.127020, -0.991900> + 5966: < 0.042666, 0.127144, -0.990966> + 5967: < 0.042452, 0.084660, -0.995505> + 5968: < 0.000000, 0.127020, -0.991900> + 5969: < 0.000000, 0.169746, -0.985488> + 5970: < 0.042970, 0.169866, -0.984530> + 5971: < 0.042666, 0.127144, -0.990966> + 5972: < 0.000000, 0.169746, -0.985488> + 5973: < 0.000000, 0.212750, -0.977107> + 5974: < 0.043306, 0.212870, -0.976120> + 5975: < 0.042970, 0.169866, -0.984530> + 5976: < 0.000000, 0.212750, -0.977107> + 5977: < 0.000000, 0.256177, -0.966630> + 5978: < 0.043703, 0.256267, -0.965618> + 5979: < 0.043306, 0.212870, -0.976120> + 5980: < 0.000000, 0.256177, -0.966630> + 5981: < 0.000000, 0.300059, -0.953921> + 5982: < 0.044130, 0.300092, -0.952889> + 5983: < 0.043703, 0.256267, -0.965618> + 5984: < 0.000000, 0.300059, -0.953921> + 5985: < 0.000000, 0.344405, -0.938821> + 5986: < 0.044558, 0.344409, -0.937762> + 5987: < 0.044130, 0.300092, -0.952889> + 5988: < 0.000000, 0.344405, -0.938821> + 5989: < 0.000000, 0.389244, -0.921135> + 5990: < 0.045016, 0.389180, -0.920061> + 5991: < 0.044558, 0.344409, -0.937762> + 5992: < 0.000000, 0.389244, -0.921135> + 5993: < 0.000000, 0.434534, -0.900655> + 5994: < 0.045443, 0.434379, -0.899583> + 5995: < 0.045016, 0.389180, -0.920061> + 5996: < 0.000000, 0.434534, -0.900655> + 5997: < 0.000000, 0.480158, -0.877182> + 5998: < 0.045871, 0.479951, -0.876095> + 5999: < 0.045443, 0.434379, -0.899583> + 6000: < 0.000000, 0.480158, -0.877182> + 6001: < 0.000000, 0.526081, -0.850434> + 6002: < 0.046267, 0.525753, -0.849378> + 6003: < 0.045871, 0.479951, -0.876095> + 6004: < 0.000000, 0.526081, -0.850434> + 6005: < 0.000000, 0.572024, -0.820237> + 6006: < 0.046573, 0.571602, -0.819208> + 6007: < 0.046267, 0.525753, -0.849378> + 6008: < 0.000000, 0.572024, -0.820237> + 6009: < 0.000000, 0.617789, -0.786344> + 6010: < 0.046847, 0.617246, -0.785375> + 6011: < 0.046573, 0.571602, -0.819208> + 6012: < 0.000000, 0.617789, -0.786344> + 6013: < 0.000000, 0.663024, -0.748599> + 6014: < 0.046999, 0.662354, -0.747715> + 6015: < 0.046847, 0.617246, -0.785375> + 6016: < 0.046999, -0.662354, -0.747715> + 6017: < 0.046847, -0.617246, -0.785375> + 6018: < 0.091894, -0.615697, -0.782607> + 6019: < 0.092137, -0.660463, -0.745184> + 6020: < 0.046847, -0.617246, -0.785375> + 6021: < 0.046573, -0.571602, -0.819208> + 6022: < 0.091497, -0.570377, -0.816271> + 6023: < 0.091894, -0.615697, -0.782607> + 6024: < 0.046573, -0.571602, -0.819208> + 6025: < 0.046267, -0.525753, -0.849378> + 6026: < 0.091008, -0.524836, -0.846324> + 6027: < 0.091497, -0.570377, -0.816271> + 6028: < 0.046267, -0.525753, -0.849378> + 6029: < 0.045871, -0.479951, -0.876095> + 6030: < 0.090429, -0.479307, -0.872976> + 6031: < 0.091008, -0.524836, -0.846324> + 6032: < 0.045871, -0.479951, -0.876095> + 6033: < 0.045443, -0.434379, -0.899583> + 6034: < 0.089787, -0.433981, -0.896437> + 6035: < 0.090429, -0.479307, -0.872976> + 6036: < 0.045443, -0.434379, -0.899583> + 6037: < 0.045016, -0.389180, -0.920061> + 6038: < 0.089116, -0.388998, -0.916918> + 6039: < 0.089787, -0.433981, -0.896437> + 6040: < 0.045016, -0.389180, -0.920061> + 6041: < 0.044558, -0.344409, -0.937762> + 6042: < 0.088414, -0.344408, -0.934648> + 6043: < 0.089116, -0.388998, -0.916918> + 6044: < 0.044558, -0.344409, -0.937762> + 6045: < 0.044130, -0.300092, -0.952889> + 6046: < 0.087712, -0.300248, -0.949820> + 6047: < 0.088414, -0.344408, -0.934648> + 6048: < 0.044130, -0.300092, -0.952889> + 6049: < 0.043703, -0.256267, -0.965618> + 6050: < 0.087041, -0.256544, -0.962605> + 6051: < 0.087712, -0.300248, -0.949820> + 6052: < 0.043703, -0.256267, -0.965618> + 6053: < 0.043306, -0.212870, -0.976120> + 6054: < 0.086398, -0.213204, -0.973180> + 6055: < 0.087041, -0.256544, -0.962605> + 6056: < 0.043306, -0.212870, -0.976120> + 6057: < 0.042970, -0.169866, -0.984530> + 6058: < 0.085788, -0.170203, -0.981668> + 6059: < 0.086398, -0.213204, -0.973180> + 6060: < 0.042970, -0.169866, -0.984530> + 6061: < 0.042666, -0.127144, -0.990966> + 6062: < 0.085300, -0.127447, -0.988171> + 6063: < 0.085788, -0.170203, -0.981668> + 6064: < 0.042666, -0.127144, -0.990966> + 6065: < 0.042452, -0.084660, -0.995505> + 6066: < 0.084905, -0.084905, -0.992765> + 6067: < 0.085300, -0.127447, -0.988171> + 6068: < 0.042452, -0.084660, -0.995505> + 6069: < 0.042299, -0.042299, -0.998209> + 6070: < 0.084660, -0.042452, -0.995505> + 6071: < 0.084905, -0.084905, -0.992765> + 6072: < 0.042299, -0.042299, -0.998209> + 6073: < 0.042239, 0.000000, -0.999108> + 6074: < 0.084568, 0.000000, -0.996418> + 6075: < 0.084660, -0.042452, -0.995505> + 6076: < 0.042239, 0.000000, -0.999108> + 6077: < 0.042299, 0.042299, -0.998209> + 6078: < 0.084660, 0.042452, -0.995505> + 6079: < 0.084568, 0.000000, -0.996418> + 6080: < 0.042299, 0.042299, -0.998209> + 6081: < 0.042452, 0.084660, -0.995505> + 6082: < 0.084905, 0.084905, -0.992765> + 6083: < 0.084660, 0.042452, -0.995505> + 6084: < 0.042452, 0.084660, -0.995505> + 6085: < 0.042666, 0.127144, -0.990966> + 6086: < 0.085300, 0.127447, -0.988171> + 6087: < 0.084905, 0.084905, -0.992765> + 6088: < 0.042666, 0.127144, -0.990966> + 6089: < 0.042970, 0.169866, -0.984530> + 6090: < 0.085788, 0.170203, -0.981668> + 6091: < 0.085300, 0.127447, -0.988171> + 6092: < 0.042970, 0.169866, -0.984530> + 6093: < 0.043306, 0.212870, -0.976120> + 6094: < 0.086398, 0.213204, -0.973180> + 6095: < 0.085788, 0.170203, -0.981668> + 6096: < 0.043306, 0.212870, -0.976120> + 6097: < 0.043703, 0.256267, -0.965618> + 6098: < 0.087041, 0.256544, -0.962605> + 6099: < 0.086398, 0.213204, -0.973180> + 6100: < 0.043703, 0.256267, -0.965618> + 6101: < 0.044130, 0.300092, -0.952889> + 6102: < 0.087712, 0.300248, -0.949820> + 6103: < 0.087041, 0.256544, -0.962605> + 6104: < 0.044130, 0.300092, -0.952889> + 6105: < 0.044558, 0.344409, -0.937762> + 6106: < 0.088414, 0.344408, -0.934648> + 6107: < 0.087712, 0.300248, -0.949820> + 6108: < 0.044558, 0.344409, -0.937762> + 6109: < 0.045016, 0.389180, -0.920061> + 6110: < 0.089116, 0.388998, -0.916918> + 6111: < 0.088414, 0.344408, -0.934648> + 6112: < 0.045016, 0.389180, -0.920061> + 6113: < 0.045443, 0.434379, -0.899583> + 6114: < 0.089787, 0.433981, -0.896437> + 6115: < 0.089116, 0.388998, -0.916918> + 6116: < 0.045443, 0.434379, -0.899583> + 6117: < 0.045871, 0.479951, -0.876095> + 6118: < 0.090429, 0.479307, -0.872976> + 6119: < 0.089787, 0.433981, -0.896437> + 6120: < 0.045871, 0.479951, -0.876095> + 6121: < 0.046267, 0.525753, -0.849378> + 6122: < 0.091008, 0.524836, -0.846324> + 6123: < 0.090429, 0.479307, -0.872976> + 6124: < 0.046267, 0.525753, -0.849378> + 6125: < 0.046573, 0.571602, -0.819208> + 6126: < 0.091497, 0.570377, -0.816271> + 6127: < 0.091008, 0.524836, -0.846324> + 6128: < 0.046573, 0.571602, -0.819208> + 6129: < 0.046847, 0.617246, -0.785375> + 6130: < 0.091894, 0.615697, -0.782607> + 6131: < 0.091497, 0.570377, -0.816271> + 6132: < 0.046847, 0.617246, -0.785375> + 6133: < 0.046999, 0.662354, -0.747715> + 6134: < 0.092137, 0.660463, -0.745184> + 6135: < 0.091894, 0.615697, -0.782607> + 6136: < 0.092137, -0.660463, -0.745184> + 6137: < 0.091894, -0.615697, -0.782607> + 6138: < 0.134985, -0.613218, -0.778295> + 6139: < 0.135260, -0.657468, -0.741243> + 6140: < 0.091894, -0.615697, -0.782607> + 6141: < 0.091497, -0.570377, -0.816271> + 6142: < 0.134618, -0.568382, -0.811677> + 6143: < 0.134985, -0.613218, -0.778295> + 6144: < 0.091497, -0.570377, -0.816271> + 6145: < 0.091008, -0.524836, -0.846324> + 6146: < 0.134100, -0.523307, -0.841527> + 6147: < 0.134618, -0.568382, -0.811677> + 6148: < 0.091008, -0.524836, -0.846324> + 6149: < 0.090429, -0.479307, -0.872976> + 6150: < 0.133553, -0.478208, -0.868033> + 6151: < 0.134100, -0.523307, -0.841527> + 6152: < 0.090429, -0.479307, -0.872976> + 6153: < 0.089787, -0.433981, -0.896437> + 6154: < 0.132911, -0.433281, -0.891405> + 6155: < 0.133553, -0.478208, -0.868033> + 6156: < 0.089787, -0.433981, -0.896437> + 6157: < 0.089116, -0.388998, -0.916918> + 6158: < 0.132240, -0.388632, -0.911854> + 6159: < 0.132911, -0.433281, -0.891405> + 6160: < 0.089116, -0.388998, -0.916918> + 6161: < 0.088414, -0.344408, -0.934648> + 6162: < 0.131509, -0.344322, -0.929596> + 6163: < 0.132240, -0.388632, -0.911854> + 6164: < 0.088414, -0.344408, -0.934648> + 6165: < 0.087712, -0.300248, -0.949820> + 6166: < 0.130743, -0.300427, -0.944802> + 6167: < 0.131509, -0.344322, -0.929596> + 6168: < 0.087712, -0.300248, -0.949820> + 6169: < 0.087041, -0.256544, -0.962605> + 6170: < 0.129981, -0.256880, -0.957663> + 6171: < 0.130743, -0.300427, -0.944802> + 6172: < 0.087041, -0.256544, -0.962605> + 6173: < 0.086398, -0.213204, -0.973180> + 6174: < 0.129250, -0.213666, -0.968319> + 6175: < 0.129981, -0.256880, -0.957663> + 6176: < 0.086398, -0.213204, -0.973180> + 6177: < 0.085788, -0.170203, -0.981668> + 6178: < 0.128545, -0.170691, -0.976904> + 6179: < 0.129250, -0.213666, -0.968319> + 6180: < 0.085788, -0.170203, -0.981668> + 6181: < 0.085300, -0.127447, -0.988171> + 6182: < 0.127935, -0.127935, -0.983497> + 6183: < 0.128545, -0.170691, -0.976904> + 6184: < 0.085300, -0.127447, -0.988171> + 6185: < 0.084905, -0.084905, -0.992765> + 6186: < 0.127447, -0.085300, -0.988171> + 6187: < 0.127935, -0.127935, -0.983497> + 6188: < 0.084905, -0.084905, -0.992765> + 6189: < 0.084660, -0.042452, -0.995505> + 6190: < 0.127144, -0.042666, -0.990966> + 6191: < 0.127447, -0.085300, -0.988171> + 6192: < 0.084660, -0.042452, -0.995505> + 6193: < 0.084568, 0.000000, -0.996418> + 6194: < 0.127020, 0.000000, -0.991900> + 6195: < 0.127144, -0.042666, -0.990966> + 6196: < 0.084568, 0.000000, -0.996418> + 6197: < 0.084660, 0.042452, -0.995505> + 6198: < 0.127144, 0.042666, -0.990966> + 6199: < 0.127020, 0.000000, -0.991900> + 6200: < 0.084660, 0.042452, -0.995505> + 6201: < 0.084905, 0.084905, -0.992765> + 6202: < 0.127447, 0.085300, -0.988171> + 6203: < 0.127144, 0.042666, -0.990966> + 6204: < 0.084905, 0.084905, -0.992765> + 6205: < 0.085300, 0.127447, -0.988171> + 6206: < 0.127935, 0.127935, -0.983497> + 6207: < 0.127447, 0.085300, -0.988171> + 6208: < 0.085300, 0.127447, -0.988171> + 6209: < 0.085788, 0.170203, -0.981668> + 6210: < 0.128545, 0.170691, -0.976904> + 6211: < 0.127935, 0.127935, -0.983497> + 6212: < 0.085788, 0.170203, -0.981668> + 6213: < 0.086398, 0.213204, -0.973180> + 6214: < 0.129250, 0.213666, -0.968319> + 6215: < 0.128545, 0.170691, -0.976904> + 6216: < 0.086398, 0.213204, -0.973180> + 6217: < 0.087041, 0.256544, -0.962605> + 6218: < 0.129981, 0.256880, -0.957663> + 6219: < 0.129250, 0.213666, -0.968319> + 6220: < 0.087041, 0.256544, -0.962605> + 6221: < 0.087712, 0.300248, -0.949820> + 6222: < 0.130743, 0.300427, -0.944802> + 6223: < 0.129981, 0.256880, -0.957663> + 6224: < 0.087712, 0.300248, -0.949820> + 6225: < 0.088414, 0.344408, -0.934648> + 6226: < 0.131509, 0.344322, -0.929596> + 6227: < 0.130743, 0.300427, -0.944802> + 6228: < 0.088414, 0.344408, -0.934648> + 6229: < 0.089116, 0.388998, -0.916918> + 6230: < 0.132240, 0.388632, -0.911854> + 6231: < 0.131509, 0.344322, -0.929596> + 6232: < 0.089116, 0.388998, -0.916918> + 6233: < 0.089787, 0.433981, -0.896437> + 6234: < 0.132911, 0.433281, -0.891405> + 6235: < 0.132240, 0.388632, -0.911854> + 6236: < 0.089787, 0.433981, -0.896437> + 6237: < 0.090429, 0.479307, -0.872976> + 6238: < 0.133553, 0.478208, -0.868033> + 6239: < 0.132911, 0.433281, -0.891405> + 6240: < 0.090429, 0.479307, -0.872976> + 6241: < 0.091008, 0.524836, -0.846324> + 6242: < 0.134100, 0.523307, -0.841527> + 6243: < 0.133553, 0.478208, -0.868033> + 6244: < 0.091008, 0.524836, -0.846324> + 6245: < 0.091497, 0.570377, -0.816271> + 6246: < 0.134618, 0.568382, -0.811677> + 6247: < 0.134100, 0.523307, -0.841527> + 6248: < 0.091497, 0.570377, -0.816271> + 6249: < 0.091894, 0.615697, -0.782607> + 6250: < 0.135015, 0.613215, -0.778292> + 6251: < 0.134618, 0.568382, -0.811677> + 6252: < 0.091894, 0.615697, -0.782607> + 6253: < 0.092137, 0.660463, -0.745184> + 6254: < 0.135260, 0.657468, -0.741243> + 6255: < 0.135015, 0.613215, -0.778292> + 6256: < 0.135260, -0.657468, -0.741243> + 6257: < 0.134985, -0.613218, -0.778295> + 6258: < 0.176461, -0.609892, -0.772589> + 6259: < 0.176644, -0.653502, -0.736025> + 6260: < 0.134985, -0.613218, -0.778295> + 6261: < 0.134618, -0.568382, -0.811677> + 6262: < 0.176188, -0.565675, -0.805587> + 6263: < 0.176461, -0.609892, -0.772589> + 6264: < 0.134618, -0.568382, -0.811677> + 6265: < 0.134100, -0.523307, -0.841527> + 6266: < 0.175853, -0.521180, -0.835133> + 6267: < 0.176188, -0.565675, -0.805587> + 6268: < 0.134100, -0.523307, -0.841527> + 6269: < 0.133553, -0.478208, -0.868033> + 6270: < 0.175453, -0.476614, -0.861426> + 6271: < 0.175853, -0.521180, -0.835133> + 6272: < 0.133553, -0.478208, -0.868033> + 6273: < 0.132911, -0.433281, -0.891405> + 6274: < 0.175026, -0.432149, -0.884654> + 6275: < 0.175453, -0.476614, -0.861426> + 6276: < 0.132911, -0.433281, -0.891405> + 6277: < 0.132240, -0.388632, -0.911854> + 6278: < 0.174541, -0.387965, -0.904997> + 6279: < 0.175026, -0.432149, -0.884654> + 6280: < 0.132240, -0.388632, -0.911854> + 6281: < 0.131509, -0.344322, -0.929596> + 6282: < 0.173989, -0.344072, -0.922682> + 6283: < 0.174541, -0.387965, -0.904997> + 6284: < 0.131509, -0.344322, -0.929596> + 6285: < 0.130743, -0.300427, -0.944802> + 6286: < 0.173351, -0.300496, -0.937897> + 6287: < 0.173989, -0.344072, -0.922682> + 6288: < 0.130743, -0.300427, -0.944802> + 6289: < 0.129981, -0.256880, -0.957663> + 6290: < 0.172679, -0.257217, -0.950800> + 6291: < 0.173351, -0.300496, -0.937897> + 6292: < 0.129981, -0.256880, -0.957663> + 6293: < 0.129250, -0.213666, -0.968319> + 6294: < 0.172005, -0.214182, -0.961530> + 6295: < 0.172679, -0.257217, -0.950800> + 6296: < 0.129250, -0.213666, -0.968319> + 6297: < 0.128545, -0.170691, -0.976904> + 6298: < 0.171305, -0.171305, -0.970211> + 6299: < 0.172005, -0.214182, -0.961530> + 6300: < 0.128545, -0.170691, -0.976904> + 6301: < 0.127935, -0.127935, -0.983497> + 6302: < 0.170691, -0.128545, -0.976904> + 6303: < 0.171305, -0.171305, -0.970211> + 6304: < 0.127935, -0.127935, -0.983497> + 6305: < 0.127447, -0.085300, -0.988171> + 6306: < 0.170203, -0.085788, -0.981668> + 6307: < 0.170691, -0.128545, -0.976904> + 6308: < 0.127447, -0.085300, -0.988171> + 6309: < 0.127144, -0.042666, -0.990966> + 6310: < 0.169837, -0.042970, -0.984535> + 6311: < 0.170203, -0.085788, -0.981668> + 6312: < 0.127144, -0.042666, -0.990966> + 6313: < 0.127020, 0.000000, -0.991900> + 6314: < 0.169746, 0.000000, -0.985488> + 6315: < 0.169837, -0.042970, -0.984535> + 6316: < 0.127020, 0.000000, -0.991900> + 6317: < 0.127144, 0.042666, -0.990966> + 6318: < 0.169866, 0.042970, -0.984530> + 6319: < 0.169746, 0.000000, -0.985488> + 6320: < 0.127144, 0.042666, -0.990966> + 6321: < 0.127447, 0.085300, -0.988171> + 6322: < 0.170203, 0.085788, -0.981668> + 6323: < 0.169866, 0.042970, -0.984530> + 6324: < 0.127447, 0.085300, -0.988171> + 6325: < 0.127935, 0.127935, -0.983497> + 6326: < 0.170691, 0.128545, -0.976904> + 6327: < 0.170203, 0.085788, -0.981668> + 6328: < 0.127935, 0.127935, -0.983497> + 6329: < 0.128545, 0.170691, -0.976904> + 6330: < 0.171305, 0.171305, -0.970211> + 6331: < 0.170691, 0.128545, -0.976904> + 6332: < 0.128545, 0.170691, -0.976904> + 6333: < 0.129250, 0.213666, -0.968319> + 6334: < 0.172005, 0.214182, -0.961530> + 6335: < 0.171305, 0.171305, -0.970211> + 6336: < 0.129250, 0.213666, -0.968319> + 6337: < 0.129981, 0.256880, -0.957663> + 6338: < 0.172679, 0.257217, -0.950800> + 6339: < 0.172005, 0.214182, -0.961530> + 6340: < 0.129981, 0.256880, -0.957663> + 6341: < 0.130743, 0.300427, -0.944802> + 6342: < 0.173351, 0.300496, -0.937897> + 6343: < 0.172679, 0.257217, -0.950800> + 6344: < 0.130743, 0.300427, -0.944802> + 6345: < 0.131509, 0.344322, -0.929596> + 6346: < 0.173989, 0.344072, -0.922682> + 6347: < 0.173351, 0.300496, -0.937897> + 6348: < 0.131509, 0.344322, -0.929596> + 6349: < 0.132240, 0.388632, -0.911854> + 6350: < 0.174541, 0.387965, -0.904997> + 6351: < 0.173989, 0.344072, -0.922682> + 6352: < 0.132240, 0.388632, -0.911854> + 6353: < 0.132911, 0.433281, -0.891405> + 6354: < 0.175026, 0.432149, -0.884654> + 6355: < 0.174541, 0.387965, -0.904997> + 6356: < 0.132911, 0.433281, -0.891405> + 6357: < 0.133553, 0.478208, -0.868033> + 6358: < 0.175453, 0.476614, -0.861426> + 6359: < 0.175026, 0.432149, -0.884654> + 6360: < 0.133553, 0.478208, -0.868033> + 6361: < 0.134100, 0.523307, -0.841527> + 6362: < 0.175853, 0.521180, -0.835133> + 6363: < 0.175453, 0.476614, -0.861426> + 6364: < 0.134100, 0.523307, -0.841527> + 6365: < 0.134618, 0.568382, -0.811677> + 6366: < 0.176188, 0.565675, -0.805587> + 6367: < 0.175853, 0.521180, -0.835133> + 6368: < 0.134618, 0.568382, -0.811677> + 6369: < 0.135015, 0.613215, -0.778292> + 6370: < 0.176461, 0.609892, -0.772589> + 6371: < 0.176188, 0.565675, -0.805587> + 6372: < 0.135015, 0.613215, -0.778292> + 6373: < 0.135260, 0.657468, -0.741243> + 6374: < 0.176644, 0.653502, -0.736025> + 6375: < 0.176461, 0.609892, -0.772589> + 6376: < 0.176644, -0.653502, -0.736025> + 6377: < 0.176461, -0.609892, -0.772589> + 6378: < 0.216596, -0.605748, -0.765608> + 6379: < 0.216660, -0.648606, -0.729636> + 6380: < 0.176461, -0.609892, -0.772589> + 6381: < 0.176188, -0.565675, -0.805587> + 6382: < 0.216534, -0.562257, -0.798110> + 6383: < 0.216596, -0.605748, -0.765608> + 6384: < 0.176188, -0.565675, -0.805587> + 6385: < 0.175853, -0.521180, -0.835133> + 6386: < 0.216475, -0.518435, -0.827263> + 6387: < 0.216534, -0.562257, -0.798110> + 6388: < 0.175853, -0.521180, -0.835133> + 6389: < 0.175453, -0.476614, -0.861426> + 6390: < 0.216413, -0.474515, -0.853230> + 6391: < 0.216475, -0.518435, -0.827263> + 6392: < 0.175453, -0.476614, -0.861426> + 6393: < 0.175026, -0.432149, -0.884654> + 6394: < 0.216320, -0.430657, -0.876208> + 6395: < 0.216413, -0.474515, -0.853230> + 6396: < 0.175026, -0.432149, -0.884654> + 6397: < 0.174541, -0.387965, -0.904997> + 6398: < 0.216199, -0.386985, -0.896382> + 6399: < 0.216320, -0.430657, -0.876208> + 6400: < 0.174541, -0.387965, -0.904997> + 6401: < 0.173989, -0.344072, -0.922682> + 6402: < 0.215982, -0.343582, -0.913949> + 6403: < 0.216199, -0.386985, -0.896382> + 6404: < 0.173989, -0.344072, -0.922682> + 6405: < 0.173351, -0.300496, -0.937897> + 6406: < 0.215649, -0.300461, -0.929096> + 6407: < 0.215982, -0.343582, -0.913949> + 6408: < 0.173351, -0.300496, -0.937897> + 6409: < 0.172679, -0.257217, -0.950800> + 6410: < 0.215220, -0.257519, -0.942000> + 6411: < 0.215649, -0.300461, -0.929096> + 6412: < 0.172679, -0.257217, -0.950800> + 6413: < 0.172005, -0.214182, -0.961530> + 6414: < 0.214732, -0.214732, -0.952775> + 6415: < 0.215220, -0.257519, -0.942000> + 6416: < 0.172005, -0.214182, -0.961530> + 6417: < 0.171305, -0.171305, -0.970211> + 6418: < 0.214182, -0.172005, -0.961530> + 6419: < 0.214732, -0.214732, -0.952775> + 6420: < 0.171305, -0.171305, -0.970211> + 6421: < 0.170691, -0.128545, -0.976904> + 6422: < 0.213666, -0.129250, -0.968319> + 6423: < 0.214182, -0.172005, -0.961530> + 6424: < 0.170691, -0.128545, -0.976904> + 6425: < 0.170203, -0.085788, -0.981668> + 6426: < 0.213204, -0.086398, -0.973180> + 6427: < 0.213666, -0.129250, -0.968319> + 6428: < 0.170203, -0.085788, -0.981668> + 6429: < 0.169837, -0.042970, -0.984535> + 6430: < 0.212870, -0.043306, -0.976120> + 6431: < 0.213204, -0.086398, -0.973180> + 6432: < 0.169837, -0.042970, -0.984535> + 6433: < 0.169746, 0.000000, -0.985488> + 6434: < 0.212750, 0.000000, -0.977107> + 6435: < 0.212870, -0.043306, -0.976120> + 6436: < 0.169746, 0.000000, -0.985488> + 6437: < 0.169866, 0.042970, -0.984530> + 6438: < 0.212870, 0.043306, -0.976120> + 6439: < 0.212750, 0.000000, -0.977107> + 6440: < 0.169866, 0.042970, -0.984530> + 6441: < 0.170203, 0.085788, -0.981668> + 6442: < 0.213204, 0.086398, -0.973180> + 6443: < 0.212870, 0.043306, -0.976120> + 6444: < 0.170203, 0.085788, -0.981668> + 6445: < 0.170691, 0.128545, -0.976904> + 6446: < 0.213666, 0.129250, -0.968319> + 6447: < 0.213204, 0.086398, -0.973180> + 6448: < 0.170691, 0.128545, -0.976904> + 6449: < 0.171305, 0.171305, -0.970211> + 6450: < 0.214182, 0.172005, -0.961530> + 6451: < 0.213666, 0.129250, -0.968319> + 6452: < 0.171305, 0.171305, -0.970211> + 6453: < 0.172005, 0.214182, -0.961530> + 6454: < 0.214732, 0.214732, -0.952775> + 6455: < 0.214182, 0.172005, -0.961530> + 6456: < 0.172005, 0.214182, -0.961530> + 6457: < 0.172679, 0.257217, -0.950800> + 6458: < 0.215220, 0.257519, -0.942000> + 6459: < 0.214732, 0.214732, -0.952775> + 6460: < 0.172679, 0.257217, -0.950800> + 6461: < 0.173351, 0.300496, -0.937897> + 6462: < 0.215649, 0.300461, -0.929096> + 6463: < 0.215220, 0.257519, -0.942000> + 6464: < 0.173351, 0.300496, -0.937897> + 6465: < 0.173989, 0.344072, -0.922682> + 6466: < 0.215982, 0.343582, -0.913949> + 6467: < 0.215649, 0.300461, -0.929096> + 6468: < 0.173989, 0.344072, -0.922682> + 6469: < 0.174541, 0.387965, -0.904997> + 6470: < 0.216199, 0.386985, -0.896382> + 6471: < 0.215982, 0.343582, -0.913949> + 6472: < 0.174541, 0.387965, -0.904997> + 6473: < 0.175026, 0.432149, -0.884654> + 6474: < 0.216320, 0.430657, -0.876208> + 6475: < 0.216199, 0.386985, -0.896382> + 6476: < 0.175026, 0.432149, -0.884654> + 6477: < 0.175453, 0.476614, -0.861426> + 6478: < 0.216413, 0.474515, -0.853230> + 6479: < 0.216320, 0.430657, -0.876208> + 6480: < 0.175453, 0.476614, -0.861426> + 6481: < 0.175853, 0.521180, -0.835133> + 6482: < 0.216475, 0.518435, -0.827263> + 6483: < 0.216413, 0.474515, -0.853230> + 6484: < 0.175853, 0.521180, -0.835133> + 6485: < 0.176188, 0.565675, -0.805587> + 6486: < 0.216534, 0.562257, -0.798110> + 6487: < 0.216475, 0.518435, -0.827263> + 6488: < 0.176188, 0.565675, -0.805587> + 6489: < 0.176461, 0.609892, -0.772589> + 6490: < 0.216596, 0.605748, -0.765608> + 6491: < 0.216534, 0.562257, -0.798110> + 6492: < 0.176461, 0.609892, -0.772589> + 6493: < 0.176644, 0.653502, -0.736025> + 6494: < 0.216660, 0.648606, -0.729636> + 6495: < 0.216596, 0.605748, -0.765608> + 6496: < 0.216660, -0.648606, -0.729636> + 6497: < 0.216596, -0.605748, -0.765608> + 6498: < 0.255750, -0.600829, -0.757361> + 6499: < 0.255632, -0.642833, -0.722093> + 6500: < 0.216596, -0.605748, -0.765608> + 6501: < 0.216534, -0.562257, -0.798110> + 6502: < 0.255937, -0.558172, -0.789266> + 6503: < 0.255750, -0.600829, -0.757361> + 6504: < 0.216534, -0.562257, -0.798110> + 6505: < 0.216475, -0.518435, -0.827263> + 6506: < 0.256243, -0.515110, -0.817925> + 6507: < 0.255937, -0.558172, -0.789266> + 6508: < 0.216475, -0.518435, -0.827263> + 6509: < 0.216413, -0.474515, -0.853230> + 6510: < 0.256606, -0.471888, -0.843490> + 6511: < 0.256243, -0.515110, -0.817925> + 6512: < 0.216413, -0.474515, -0.853230> + 6513: < 0.216320, -0.430657, -0.876208> + 6514: < 0.256999, -0.428698, -0.866124> + 6515: < 0.256606, -0.471888, -0.843490> + 6516: < 0.216320, -0.430657, -0.876208> + 6517: < 0.216199, -0.386985, -0.896382> + 6518: < 0.257364, -0.385664, -0.886018> + 6519: < 0.256999, -0.428698, -0.866124> + 6520: < 0.216199, -0.386985, -0.896382> + 6521: < 0.215982, -0.343582, -0.913949> + 6522: < 0.257643, -0.342852, -0.903367> + 6523: < 0.257364, -0.385664, -0.886018> + 6524: < 0.215982, -0.343582, -0.913949> + 6525: < 0.215649, -0.300461, -0.929096> + 6526: < 0.257736, -0.300219, -0.918390> + 6527: < 0.257643, -0.342852, -0.903367> + 6528: < 0.215649, -0.300461, -0.929096> + 6529: < 0.215220, -0.257519, -0.942000> + 6530: < 0.257702, -0.257702, -0.931225> + 6531: < 0.257736, -0.300219, -0.918390> + 6532: < 0.215220, -0.257519, -0.942000> + 6533: < 0.214732, -0.214732, -0.952775> + 6534: < 0.257519, -0.215220, -0.942000> + 6535: < 0.257702, -0.257702, -0.931225> + 6536: < 0.214732, -0.214732, -0.952775> + 6537: < 0.214182, -0.172005, -0.961530> + 6538: < 0.257217, -0.172679, -0.950800> + 6539: < 0.257519, -0.215220, -0.942000> + 6540: < 0.214182, -0.172005, -0.961530> + 6541: < 0.213666, -0.129250, -0.968319> + 6542: < 0.256880, -0.129981, -0.957663> + 6543: < 0.257217, -0.172679, -0.950800> + 6544: < 0.213666, -0.129250, -0.968319> + 6545: < 0.213204, -0.086398, -0.973180> + 6546: < 0.256544, -0.087041, -0.962605> + 6547: < 0.256880, -0.129981, -0.957663> + 6548: < 0.213204, -0.086398, -0.973180> + 6549: < 0.212870, -0.043306, -0.976120> + 6550: < 0.256267, -0.043703, -0.965618> + 6551: < 0.256544, -0.087041, -0.962605> + 6552: < 0.212870, -0.043306, -0.976120> + 6553: < 0.212750, 0.000000, -0.977107> + 6554: < 0.256177, 0.000000, -0.966630> + 6555: < 0.256267, -0.043703, -0.965618> + 6556: < 0.212750, 0.000000, -0.977107> + 6557: < 0.212870, 0.043306, -0.976120> + 6558: < 0.256267, 0.043703, -0.965618> + 6559: < 0.256177, 0.000000, -0.966630> + 6560: < 0.212870, 0.043306, -0.976120> + 6561: < 0.213204, 0.086398, -0.973180> + 6562: < 0.256544, 0.087041, -0.962605> + 6563: < 0.256267, 0.043703, -0.965618> + 6564: < 0.213204, 0.086398, -0.973180> + 6565: < 0.213666, 0.129250, -0.968319> + 6566: < 0.256880, 0.129981, -0.957663> + 6567: < 0.256544, 0.087041, -0.962605> + 6568: < 0.213666, 0.129250, -0.968319> + 6569: < 0.214182, 0.172005, -0.961530> + 6570: < 0.257217, 0.172679, -0.950800> + 6571: < 0.256880, 0.129981, -0.957663> + 6572: < 0.214182, 0.172005, -0.961530> + 6573: < 0.214732, 0.214732, -0.952775> + 6574: < 0.257519, 0.215220, -0.942000> + 6575: < 0.257217, 0.172679, -0.950800> + 6576: < 0.214732, 0.214732, -0.952775> + 6577: < 0.215220, 0.257519, -0.942000> + 6578: < 0.257702, 0.257702, -0.931225> + 6579: < 0.257519, 0.215220, -0.942000> + 6580: < 0.215220, 0.257519, -0.942000> + 6581: < 0.215649, 0.300461, -0.929096> + 6582: < 0.257736, 0.300219, -0.918390> + 6583: < 0.257702, 0.257702, -0.931225> + 6584: < 0.215649, 0.300461, -0.929096> + 6585: < 0.215982, 0.343582, -0.913949> + 6586: < 0.257643, 0.342852, -0.903367> + 6587: < 0.257736, 0.300219, -0.918390> + 6588: < 0.215982, 0.343582, -0.913949> + 6589: < 0.216199, 0.386985, -0.896382> + 6590: < 0.257367, 0.385638, -0.886028> + 6591: < 0.257643, 0.342852, -0.903367> + 6592: < 0.216199, 0.386985, -0.896382> + 6593: < 0.216320, 0.430657, -0.876208> + 6594: < 0.256999, 0.428698, -0.866124> + 6595: < 0.257367, 0.385638, -0.886028> + 6596: < 0.216320, 0.430657, -0.876208> + 6597: < 0.216413, 0.474515, -0.853230> + 6598: < 0.256606, 0.471888, -0.843490> + 6599: < 0.256999, 0.428698, -0.866124> + 6600: < 0.216413, 0.474515, -0.853230> + 6601: < 0.216475, 0.518435, -0.827263> + 6602: < 0.256243, 0.515110, -0.817925> + 6603: < 0.256606, 0.471888, -0.843490> + 6604: < 0.216475, 0.518435, -0.827263> + 6605: < 0.216534, 0.562257, -0.798110> + 6606: < 0.255937, 0.558172, -0.789266> + 6607: < 0.256243, 0.515110, -0.817925> + 6608: < 0.216534, 0.562257, -0.798110> + 6609: < 0.216596, 0.605748, -0.765608> + 6610: < 0.255750, 0.600829, -0.757361> + 6611: < 0.255937, 0.558172, -0.789266> + 6612: < 0.216596, 0.605748, -0.765608> + 6613: < 0.216660, 0.648606, -0.729636> + 6614: < 0.255632, 0.642833, -0.722093> + 6615: < 0.255750, 0.600829, -0.757361> + 6616: < 0.255632, -0.642833, -0.722093> + 6617: < 0.255750, -0.600829, -0.757361> + 6618: < 0.294207, -0.595158, -0.747816> + 6619: < 0.293904, -0.636150, -0.713396> + 6620: < 0.255750, -0.600829, -0.757361> + 6621: < 0.255937, -0.558172, -0.789266> + 6622: < 0.294729, -0.553415, -0.779017> + 6623: < 0.294207, -0.595158, -0.747816> + 6624: < 0.255937, -0.558172, -0.789266> + 6625: < 0.256243, -0.515110, -0.817925> + 6626: < 0.295457, -0.511198, -0.807082> + 6627: < 0.294729, -0.553415, -0.779017> + 6628: < 0.256243, -0.515110, -0.817925> + 6629: < 0.256606, -0.471888, -0.843490> + 6630: < 0.296339, -0.468770, -0.832128> + 6631: < 0.295457, -0.511198, -0.807082> + 6632: < 0.256606, -0.471888, -0.843490> + 6633: < 0.256999, -0.428698, -0.866124> + 6634: < 0.297287, -0.426323, -0.854324> + 6635: < 0.296339, -0.468770, -0.832128> + 6636: < 0.256999, -0.428698, -0.866124> + 6637: < 0.257364, -0.385664, -0.886018> + 6638: < 0.298259, -0.383986, -0.873840> + 6639: < 0.297287, -0.426323, -0.854324> + 6640: < 0.257364, -0.385664, -0.886018> + 6641: < 0.257643, -0.342852, -0.903367> + 6642: < 0.299085, -0.341811, -0.890906> + 6643: < 0.298259, -0.383986, -0.873840> + 6644: < 0.257643, -0.342852, -0.903367> + 6645: < 0.257736, -0.300219, -0.918390> + 6646: < 0.299762, -0.299762, -0.905696> + 6647: < 0.299085, -0.341811, -0.890906> + 6648: < 0.257736, -0.300219, -0.918390> + 6649: < 0.257702, -0.257702, -0.931225> + 6650: < 0.300219, -0.257736, -0.918390> + 6651: < 0.299762, -0.299762, -0.905696> + 6652: < 0.257702, -0.257702, -0.931225> + 6653: < 0.257519, -0.215220, -0.942000> + 6654: < 0.300461, -0.215649, -0.929096> + 6655: < 0.300219, -0.257736, -0.918390> + 6656: < 0.257519, -0.215220, -0.942000> + 6657: < 0.257217, -0.172679, -0.950800> + 6658: < 0.300496, -0.173351, -0.937897> + 6659: < 0.300461, -0.215649, -0.929096> + 6660: < 0.257217, -0.172679, -0.950800> + 6661: < 0.256880, -0.129981, -0.957663> + 6662: < 0.300427, -0.130743, -0.944802> + 6663: < 0.300496, -0.173351, -0.937897> + 6664: < 0.256880, -0.129981, -0.957663> + 6665: < 0.256544, -0.087041, -0.962605> + 6666: < 0.300248, -0.087712, -0.949820> + 6667: < 0.300427, -0.130743, -0.944802> + 6668: < 0.256544, -0.087041, -0.962605> + 6669: < 0.256267, -0.043703, -0.965618> + 6670: < 0.300092, -0.044130, -0.952889> + 6671: < 0.300248, -0.087712, -0.949820> + 6672: < 0.256267, -0.043703, -0.965618> + 6673: < 0.256177, 0.000000, -0.966630> + 6674: < 0.300059, 0.000000, -0.953921> + 6675: < 0.300092, -0.044130, -0.952889> + 6676: < 0.256177, 0.000000, -0.966630> + 6677: < 0.256267, 0.043703, -0.965618> + 6678: < 0.300092, 0.044130, -0.952889> + 6679: < 0.300059, 0.000000, -0.953921> + 6680: < 0.256267, 0.043703, -0.965618> + 6681: < 0.256544, 0.087041, -0.962605> + 6682: < 0.300248, 0.087712, -0.949820> + 6683: < 0.300092, 0.044130, -0.952889> + 6684: < 0.256544, 0.087041, -0.962605> + 6685: < 0.256880, 0.129981, -0.957663> + 6686: < 0.300427, 0.130743, -0.944802> + 6687: < 0.300248, 0.087712, -0.949820> + 6688: < 0.256880, 0.129981, -0.957663> + 6689: < 0.257217, 0.172679, -0.950800> + 6690: < 0.300496, 0.173351, -0.937897> + 6691: < 0.300427, 0.130743, -0.944802> + 6692: < 0.257217, 0.172679, -0.950800> + 6693: < 0.257519, 0.215220, -0.942000> + 6694: < 0.300461, 0.215649, -0.929096> + 6695: < 0.300496, 0.173351, -0.937897> + 6696: < 0.257519, 0.215220, -0.942000> + 6697: < 0.257702, 0.257702, -0.931225> + 6698: < 0.300219, 0.257736, -0.918390> + 6699: < 0.300461, 0.215649, -0.929096> + 6700: < 0.257702, 0.257702, -0.931225> + 6701: < 0.257736, 0.300219, -0.918390> + 6702: < 0.299762, 0.299762, -0.905696> + 6703: < 0.300219, 0.257736, -0.918390> + 6704: < 0.257736, 0.300219, -0.918390> + 6705: < 0.257643, 0.342852, -0.903367> + 6706: < 0.299085, 0.341811, -0.890906> + 6707: < 0.299762, 0.299762, -0.905696> + 6708: < 0.257643, 0.342852, -0.903367> + 6709: < 0.257367, 0.385638, -0.886028> + 6710: < 0.298262, 0.383960, -0.873851> + 6711: < 0.299085, 0.341811, -0.890906> + 6712: < 0.257367, 0.385638, -0.886028> + 6713: < 0.256999, 0.428698, -0.866124> + 6714: < 0.297287, 0.426323, -0.854324> + 6715: < 0.298262, 0.383960, -0.873851> + 6716: < 0.256999, 0.428698, -0.866124> + 6717: < 0.256606, 0.471888, -0.843490> + 6718: < 0.296339, 0.468770, -0.832128> + 6719: < 0.297287, 0.426323, -0.854324> + 6720: < 0.256606, 0.471888, -0.843490> + 6721: < 0.256243, 0.515110, -0.817925> + 6722: < 0.295457, 0.511198, -0.807082> + 6723: < 0.296339, 0.468770, -0.832128> + 6724: < 0.256243, 0.515110, -0.817925> + 6725: < 0.255937, 0.558172, -0.789266> + 6726: < 0.294729, 0.553415, -0.779017> + 6727: < 0.295457, 0.511198, -0.807082> + 6728: < 0.255937, 0.558172, -0.789266> + 6729: < 0.255750, 0.600829, -0.757361> + 6730: < 0.294207, 0.595158, -0.747816> + 6731: < 0.294729, 0.553415, -0.779017> + 6732: < 0.255750, 0.600829, -0.757361> + 6733: < 0.255632, 0.642833, -0.722093> + 6734: < 0.293904, 0.636150, -0.713396> + 6735: < 0.294207, 0.595158, -0.747816> + 6736: < 0.293904, -0.636150, -0.713396> + 6737: < 0.294207, -0.595158, -0.747816> + 6738: < 0.332170, -0.588744, -0.736915> + 6739: < 0.331652, -0.628603, -0.703467> + 6740: < 0.294207, -0.595158, -0.747816> + 6741: < 0.294729, -0.553415, -0.779017> + 6742: < 0.333090, -0.548009, -0.767292> + 6743: < 0.332170, -0.588744, -0.736915> + 6744: < 0.294729, -0.553415, -0.779017> + 6745: < 0.295457, -0.511198, -0.807082> + 6746: < 0.334337, -0.506740, -0.794627> + 6747: < 0.333090, -0.548009, -0.767292> + 6748: < 0.295457, -0.511198, -0.807082> + 6749: < 0.296339, -0.468770, -0.832128> + 6750: < 0.335801, -0.465202, -0.819039> + 6751: < 0.334337, -0.506740, -0.794627> + 6752: < 0.296339, -0.468770, -0.832128> + 6753: < 0.297287, -0.426323, -0.854324> + 6754: < 0.337391, -0.423577, -0.840684> + 6755: < 0.335801, -0.465202, -0.819039> + 6756: < 0.297287, -0.426323, -0.854324> + 6757: < 0.298259, -0.383986, -0.873840> + 6758: < 0.339005, -0.381976, -0.859750> + 6759: < 0.337391, -0.423577, -0.840684> + 6760: < 0.298259, -0.383986, -0.873840> + 6761: < 0.299085, -0.341811, -0.890906> + 6762: < 0.340503, -0.340503, -0.876422> + 6763: < 0.339005, -0.381976, -0.859750> + 6764: < 0.299085, -0.341811, -0.890906> + 6765: < 0.299762, -0.299762, -0.905696> + 6766: < 0.341811, -0.299085, -0.890906> + 6767: < 0.340503, -0.340503, -0.876422> + 6768: < 0.299762, -0.299762, -0.905696> + 6769: < 0.300219, -0.257736, -0.918390> + 6770: < 0.342852, -0.257643, -0.903367> + 6771: < 0.341811, -0.299085, -0.890906> + 6772: < 0.300219, -0.257736, -0.918390> + 6773: < 0.300461, -0.215649, -0.929096> + 6774: < 0.343582, -0.215982, -0.913949> + 6775: < 0.342852, -0.257643, -0.903367> + 6776: < 0.300461, -0.215649, -0.929096> + 6777: < 0.300496, -0.173351, -0.937897> + 6778: < 0.344072, -0.173989, -0.922682> + 6779: < 0.343582, -0.215982, -0.913949> + 6780: < 0.300496, -0.173351, -0.937897> + 6781: < 0.300427, -0.130743, -0.944802> + 6782: < 0.344322, -0.131509, -0.929596> + 6783: < 0.344072, -0.173989, -0.922682> + 6784: < 0.300427, -0.130743, -0.944802> + 6785: < 0.300248, -0.087712, -0.949820> + 6786: < 0.344408, -0.088414, -0.934648> + 6787: < 0.344322, -0.131509, -0.929596> + 6788: < 0.300248, -0.087712, -0.949820> + 6789: < 0.300092, -0.044130, -0.952889> + 6790: < 0.344409, -0.044558, -0.937762> + 6791: < 0.344408, -0.088414, -0.934648> + 6792: < 0.300092, -0.044130, -0.952889> + 6793: < 0.300059, 0.000000, -0.953921> + 6794: < 0.344405, 0.000000, -0.938821> + 6795: < 0.344409, -0.044558, -0.937762> + 6796: < 0.300059, 0.000000, -0.953921> + 6797: < 0.300092, 0.044130, -0.952889> + 6798: < 0.344409, 0.044558, -0.937762> + 6799: < 0.344405, 0.000000, -0.938821> + 6800: < 0.300092, 0.044130, -0.952889> + 6801: < 0.300248, 0.087712, -0.949820> + 6802: < 0.344408, 0.088414, -0.934648> + 6803: < 0.344409, 0.044558, -0.937762> + 6804: < 0.300248, 0.087712, -0.949820> + 6805: < 0.300427, 0.130743, -0.944802> + 6806: < 0.344322, 0.131509, -0.929596> + 6807: < 0.344408, 0.088414, -0.934648> + 6808: < 0.300427, 0.130743, -0.944802> + 6809: < 0.300496, 0.173351, -0.937897> + 6810: < 0.344072, 0.173989, -0.922682> + 6811: < 0.344322, 0.131509, -0.929596> + 6812: < 0.300496, 0.173351, -0.937897> + 6813: < 0.300461, 0.215649, -0.929096> + 6814: < 0.343582, 0.215982, -0.913949> + 6815: < 0.344072, 0.173989, -0.922682> + 6816: < 0.300461, 0.215649, -0.929096> + 6817: < 0.300219, 0.257736, -0.918390> + 6818: < 0.342852, 0.257643, -0.903367> + 6819: < 0.343582, 0.215982, -0.913949> + 6820: < 0.300219, 0.257736, -0.918390> + 6821: < 0.299762, 0.299762, -0.905696> + 6822: < 0.341811, 0.299085, -0.890906> + 6823: < 0.342852, 0.257643, -0.903367> + 6824: < 0.299762, 0.299762, -0.905696> + 6825: < 0.299085, 0.341811, -0.890906> + 6826: < 0.340503, 0.340503, -0.876422> + 6827: < 0.341811, 0.299085, -0.890906> + 6828: < 0.299085, 0.341811, -0.890906> + 6829: < 0.298262, 0.383960, -0.873851> + 6830: < 0.339005, 0.381976, -0.859750> + 6831: < 0.340503, 0.340503, -0.876422> + 6832: < 0.298262, 0.383960, -0.873851> + 6833: < 0.297287, 0.426323, -0.854324> + 6834: < 0.337391, 0.423577, -0.840684> + 6835: < 0.339005, 0.381976, -0.859750> + 6836: < 0.297287, 0.426323, -0.854324> + 6837: < 0.296339, 0.468770, -0.832128> + 6838: < 0.335801, 0.465202, -0.819039> + 6839: < 0.337391, 0.423577, -0.840684> + 6840: < 0.296339, 0.468770, -0.832128> + 6841: < 0.295457, 0.511198, -0.807082> + 6842: < 0.334310, 0.506745, -0.794636> + 6843: < 0.335801, 0.465202, -0.819039> + 6844: < 0.295457, 0.511198, -0.807082> + 6845: < 0.294729, 0.553415, -0.779017> + 6846: < 0.333090, 0.548009, -0.767292> + 6847: < 0.334310, 0.506745, -0.794636> + 6848: < 0.294729, 0.553415, -0.779017> + 6849: < 0.294207, 0.595158, -0.747816> + 6850: < 0.332170, 0.588744, -0.736915> + 6851: < 0.333090, 0.548009, -0.767292> + 6852: < 0.294207, 0.595158, -0.747816> + 6853: < 0.293904, 0.636150, -0.713396> + 6854: < 0.331652, 0.628603, -0.703467> + 6855: < 0.332170, 0.588744, -0.736915> + 6856: < 0.331652, -0.628603, -0.703467> + 6857: < 0.332170, -0.588744, -0.736915> + 6858: < 0.369188, -0.581661, -0.724825> + 6859: < 0.368246, -0.620305, -0.692544> + 6860: < 0.332170, -0.588744, -0.736915> + 6861: < 0.333090, -0.548009, -0.767292> + 6862: < 0.370721, -0.542028, -0.754169> + 6863: < 0.369188, -0.581661, -0.724825> + 6864: < 0.333090, -0.548009, -0.767292> + 6865: < 0.334337, -0.506740, -0.794627> + 6866: < 0.372705, -0.501802, -0.780568> + 6867: < 0.370721, -0.542028, -0.754169> + 6868: < 0.334337, -0.506740, -0.794627> + 6869: < 0.335801, -0.465202, -0.819039> + 6870: < 0.374961, -0.461239, -0.804154> + 6871: < 0.372705, -0.501802, -0.780568> + 6872: < 0.335801, -0.465202, -0.819039> + 6873: < 0.337391, -0.423577, -0.840684> + 6874: < 0.377345, -0.420500, -0.825100> + 6875: < 0.374961, -0.461239, -0.804154> + 6876: < 0.337391, -0.423577, -0.840684> + 6877: < 0.339005, -0.381976, -0.859750> + 6878: < 0.379751, -0.379751, -0.843551> + 6879: < 0.377345, -0.420500, -0.825100> + 6880: < 0.339005, -0.381976, -0.859750> + 6881: < 0.340503, -0.340503, -0.876422> + 6882: < 0.381976, -0.339005, -0.859750> + 6883: < 0.379751, -0.379751, -0.843551> + 6884: < 0.340503, -0.340503, -0.876422> + 6885: < 0.341811, -0.299085, -0.890906> + 6886: < 0.383960, -0.298262, -0.873851> + 6887: < 0.381976, -0.339005, -0.859750> + 6888: < 0.341811, -0.299085, -0.890906> + 6889: < 0.342852, -0.257643, -0.903367> + 6890: < 0.385638, -0.257367, -0.886028> + 6891: < 0.383960, -0.298262, -0.873851> + 6892: < 0.342852, -0.257643, -0.903367> + 6893: < 0.343582, -0.215982, -0.913949> + 6894: < 0.386985, -0.216199, -0.896382> + 6895: < 0.385638, -0.257367, -0.886028> + 6896: < 0.343582, -0.215982, -0.913949> + 6897: < 0.344072, -0.173989, -0.922682> + 6898: < 0.387965, -0.174541, -0.904997> + 6899: < 0.386985, -0.216199, -0.896382> + 6900: < 0.344072, -0.173989, -0.922682> + 6901: < 0.344322, -0.131509, -0.929596> + 6902: < 0.388632, -0.132240, -0.911854> + 6903: < 0.387965, -0.174541, -0.904997> + 6904: < 0.344322, -0.131509, -0.929596> + 6905: < 0.344408, -0.088414, -0.934648> + 6906: < 0.388998, -0.089116, -0.916918> + 6907: < 0.388632, -0.132240, -0.911854> + 6908: < 0.344408, -0.088414, -0.934648> + 6909: < 0.344409, -0.044558, -0.937762> + 6910: < 0.389180, -0.045016, -0.920061> + 6911: < 0.388998, -0.089116, -0.916918> + 6912: < 0.344409, -0.044558, -0.937762> + 6913: < 0.344405, 0.000000, -0.938821> + 6914: < 0.389244, 0.000000, -0.921135> + 6915: < 0.389180, -0.045016, -0.920061> + 6916: < 0.344405, 0.000000, -0.938821> + 6917: < 0.344409, 0.044558, -0.937762> + 6918: < 0.389180, 0.045016, -0.920061> + 6919: < 0.389244, 0.000000, -0.921135> + 6920: < 0.344409, 0.044558, -0.937762> + 6921: < 0.344408, 0.088414, -0.934648> + 6922: < 0.388998, 0.089116, -0.916918> + 6923: < 0.389180, 0.045016, -0.920061> + 6924: < 0.344408, 0.088414, -0.934648> + 6925: < 0.344322, 0.131509, -0.929596> + 6926: < 0.388632, 0.132240, -0.911854> + 6927: < 0.388998, 0.089116, -0.916918> + 6928: < 0.344322, 0.131509, -0.929596> + 6929: < 0.344072, 0.173989, -0.922682> + 6930: < 0.387965, 0.174541, -0.904997> + 6931: < 0.388632, 0.132240, -0.911854> + 6932: < 0.344072, 0.173989, -0.922682> + 6933: < 0.343582, 0.215982, -0.913949> + 6934: < 0.386985, 0.216199, -0.896382> + 6935: < 0.387965, 0.174541, -0.904997> + 6936: < 0.343582, 0.215982, -0.913949> + 6937: < 0.342852, 0.257643, -0.903367> + 6938: < 0.385664, 0.257364, -0.886018> + 6939: < 0.386985, 0.216199, -0.896382> + 6940: < 0.342852, 0.257643, -0.903367> + 6941: < 0.341811, 0.299085, -0.890906> + 6942: < 0.383960, 0.298262, -0.873851> + 6943: < 0.385664, 0.257364, -0.886018> + 6944: < 0.341811, 0.299085, -0.890906> + 6945: < 0.340503, 0.340503, -0.876422> + 6946: < 0.381976, 0.339005, -0.859750> + 6947: < 0.383960, 0.298262, -0.873851> + 6948: < 0.340503, 0.340503, -0.876422> + 6949: < 0.339005, 0.381976, -0.859750> + 6950: < 0.379751, 0.379751, -0.843551> + 6951: < 0.381976, 0.339005, -0.859750> + 6952: < 0.339005, 0.381976, -0.859750> + 6953: < 0.337391, 0.423577, -0.840684> + 6954: < 0.377345, 0.420500, -0.825100> + 6955: < 0.379751, 0.379751, -0.843551> + 6956: < 0.337391, 0.423577, -0.840684> + 6957: < 0.335801, 0.465202, -0.819039> + 6958: < 0.374961, 0.461239, -0.804154> + 6959: < 0.377345, 0.420500, -0.825100> + 6960: < 0.335801, 0.465202, -0.819039> + 6961: < 0.334310, 0.506745, -0.794636> + 6962: < 0.372705, 0.501802, -0.780568> + 6963: < 0.374961, 0.461239, -0.804154> + 6964: < 0.334310, 0.506745, -0.794636> + 6965: < 0.333090, 0.548009, -0.767292> + 6966: < 0.370721, 0.542028, -0.754169> + 6967: < 0.372705, 0.501802, -0.780568> + 6968: < 0.333090, 0.548009, -0.767292> + 6969: < 0.332170, 0.588744, -0.736915> + 6970: < 0.369188, 0.581661, -0.724825> + 6971: < 0.370721, 0.542028, -0.754169> + 6972: < 0.332170, 0.588744, -0.736915> + 6973: < 0.331652, 0.628603, -0.703467> + 6974: < 0.368246, 0.620305, -0.692544> + 6975: < 0.369188, 0.581661, -0.724825> + 6976: < 0.368246, -0.620305, -0.692544> + 6977: < 0.369188, -0.581661, -0.724825> + 6978: < 0.404839, -0.574008, -0.711772> + 6979: < 0.403223, -0.611427, -0.680859> + 6980: < 0.369188, -0.581661, -0.724825> + 6981: < 0.370721, -0.542028, -0.754169> + 6982: < 0.407307, -0.535518, -0.739812> + 6983: < 0.404839, -0.574008, -0.711772> + 6984: < 0.370721, -0.542028, -0.754169> + 6985: < 0.372705, -0.501802, -0.780568> + 6986: < 0.410392, -0.496395, -0.764964> + 6987: < 0.407307, -0.535518, -0.739812> + 6988: < 0.372705, -0.501802, -0.780568> + 6989: < 0.374961, -0.461239, -0.804154> + 6990: < 0.413777, -0.456900, -0.787421> + 6991: < 0.410392, -0.496395, -0.764964> + 6992: < 0.374961, -0.461239, -0.804154> + 6993: < 0.377345, -0.420500, -0.825100> + 6994: < 0.417202, -0.417202, -0.807394> + 6995: < 0.413777, -0.456900, -0.787421> + 6996: < 0.377345, -0.420500, -0.825100> + 6997: < 0.379751, -0.379751, -0.843551> + 6998: < 0.420500, -0.377345, -0.825100> + 6999: < 0.417202, -0.417202, -0.807394> + 7000: < 0.379751, -0.379751, -0.843551> + 7001: < 0.381976, -0.339005, -0.859750> + 7002: < 0.423577, -0.337391, -0.840684> + 7003: < 0.420500, -0.377345, -0.825100> + 7004: < 0.381976, -0.339005, -0.859750> + 7005: < 0.383960, -0.298262, -0.873851> + 7006: < 0.426323, -0.297287, -0.854324> + 7007: < 0.423577, -0.337391, -0.840684> + 7008: < 0.383960, -0.298262, -0.873851> + 7009: < 0.385638, -0.257367, -0.886028> + 7010: < 0.428698, -0.256999, -0.866124> + 7011: < 0.426323, -0.297287, -0.854324> + 7012: < 0.385638, -0.257367, -0.886028> + 7013: < 0.386985, -0.216199, -0.896382> + 7014: < 0.430657, -0.216320, -0.876208> + 7015: < 0.428698, -0.256999, -0.866124> + 7016: < 0.386985, -0.216199, -0.896382> + 7017: < 0.387965, -0.174541, -0.904997> + 7018: < 0.432149, -0.175026, -0.884654> + 7019: < 0.430657, -0.216320, -0.876208> + 7020: < 0.387965, -0.174541, -0.904997> + 7021: < 0.388632, -0.132240, -0.911854> + 7022: < 0.433281, -0.132911, -0.891405> + 7023: < 0.432149, -0.175026, -0.884654> + 7024: < 0.388632, -0.132240, -0.911854> + 7025: < 0.388998, -0.089116, -0.916918> + 7026: < 0.433981, -0.089787, -0.896437> + 7027: < 0.433281, -0.132911, -0.891405> + 7028: < 0.388998, -0.089116, -0.916918> + 7029: < 0.389180, -0.045016, -0.920061> + 7030: < 0.434379, -0.045443, -0.899583> + 7031: < 0.433981, -0.089787, -0.896437> + 7032: < 0.389180, -0.045016, -0.920061> + 7033: < 0.389244, 0.000000, -0.921135> + 7034: < 0.434534, 0.000000, -0.900655> + 7035: < 0.434379, -0.045443, -0.899583> + 7036: < 0.389244, 0.000000, -0.921135> + 7037: < 0.389180, 0.045016, -0.920061> + 7038: < 0.434379, 0.045443, -0.899583> + 7039: < 0.434534, 0.000000, -0.900655> + 7040: < 0.389180, 0.045016, -0.920061> + 7041: < 0.388998, 0.089116, -0.916918> + 7042: < 0.433981, 0.089787, -0.896437> + 7043: < 0.434379, 0.045443, -0.899583> + 7044: < 0.388998, 0.089116, -0.916918> + 7045: < 0.388632, 0.132240, -0.911854> + 7046: < 0.433281, 0.132911, -0.891405> + 7047: < 0.433981, 0.089787, -0.896437> + 7048: < 0.388632, 0.132240, -0.911854> + 7049: < 0.387965, 0.174541, -0.904997> + 7050: < 0.432149, 0.175026, -0.884654> + 7051: < 0.433281, 0.132911, -0.891405> + 7052: < 0.387965, 0.174541, -0.904997> + 7053: < 0.386985, 0.216199, -0.896382> + 7054: < 0.430657, 0.216320, -0.876208> + 7055: < 0.432149, 0.175026, -0.884654> + 7056: < 0.386985, 0.216199, -0.896382> + 7057: < 0.385664, 0.257364, -0.886018> + 7058: < 0.428698, 0.256999, -0.866124> + 7059: < 0.430657, 0.216320, -0.876208> + 7060: < 0.385664, 0.257364, -0.886018> + 7061: < 0.383960, 0.298262, -0.873851> + 7062: < 0.426323, 0.297287, -0.854324> + 7063: < 0.428698, 0.256999, -0.866124> + 7064: < 0.383960, 0.298262, -0.873851> + 7065: < 0.381976, 0.339005, -0.859750> + 7066: < 0.423577, 0.337391, -0.840684> + 7067: < 0.426323, 0.297287, -0.854324> + 7068: < 0.381976, 0.339005, -0.859750> + 7069: < 0.379751, 0.379751, -0.843551> + 7070: < 0.420500, 0.377345, -0.825100> + 7071: < 0.423577, 0.337391, -0.840684> + 7072: < 0.379751, 0.379751, -0.843551> + 7073: < 0.377345, 0.420500, -0.825100> + 7074: < 0.417202, 0.417202, -0.807394> + 7075: < 0.420500, 0.377345, -0.825100> + 7076: < 0.377345, 0.420500, -0.825100> + 7077: < 0.374961, 0.461239, -0.804154> + 7078: < 0.413777, 0.456900, -0.787421> + 7079: < 0.417202, 0.417202, -0.807394> + 7080: < 0.374961, 0.461239, -0.804154> + 7081: < 0.372705, 0.501802, -0.780568> + 7082: < 0.410392, 0.496395, -0.764964> + 7083: < 0.413777, 0.456900, -0.787421> + 7084: < 0.372705, 0.501802, -0.780568> + 7085: < 0.370721, 0.542028, -0.754169> + 7086: < 0.407307, 0.535518, -0.739812> + 7087: < 0.410392, 0.496395, -0.764964> + 7088: < 0.370721, 0.542028, -0.754169> + 7089: < 0.369188, 0.581661, -0.724825> + 7090: < 0.404839, 0.574008, -0.711772> + 7091: < 0.407307, 0.535518, -0.739812> + 7092: < 0.369188, 0.581661, -0.724825> + 7093: < 0.368246, 0.620305, -0.692544> + 7094: < 0.403223, 0.611427, -0.680859> + 7095: < 0.404839, 0.574008, -0.711772> + 7096: < 0.403223, -0.611427, -0.680859> + 7097: < 0.404839, -0.574008, -0.711772> + 7098: < 0.439475, -0.565794, -0.697667> + 7099: < 0.437036, -0.601963, -0.668312> + 7100: < 0.404839, -0.574008, -0.711772> + 7101: < 0.407307, -0.535518, -0.739812> + 7102: < 0.443145, -0.528478, -0.724109> + 7103: < 0.439475, -0.565794, -0.697667> + 7104: < 0.407307, -0.535518, -0.739812> + 7105: < 0.410392, -0.496395, -0.764964> + 7106: < 0.447593, -0.490534, -0.747688> + 7107: < 0.443145, -0.528478, -0.724109> + 7108: < 0.410392, -0.496395, -0.764964> + 7109: < 0.413777, -0.456900, -0.787421> + 7110: < 0.452290, -0.452290, -0.768679> + 7111: < 0.447593, -0.490534, -0.747688> + 7112: < 0.413777, -0.456900, -0.787421> + 7113: < 0.417202, -0.417202, -0.807394> + 7114: < 0.456900, -0.413777, -0.787421> + 7115: < 0.452290, -0.452290, -0.768679> + 7116: < 0.417202, -0.417202, -0.807394> + 7117: < 0.420500, -0.377345, -0.825100> + 7118: < 0.461239, -0.374961, -0.804154> + 7119: < 0.456900, -0.413777, -0.787421> + 7120: < 0.420500, -0.377345, -0.825100> + 7121: < 0.423577, -0.337391, -0.840684> + 7122: < 0.465202, -0.335801, -0.819039> + 7123: < 0.461239, -0.374961, -0.804154> + 7124: < 0.423577, -0.337391, -0.840684> + 7125: < 0.426323, -0.297287, -0.854324> + 7126: < 0.468770, -0.296339, -0.832128> + 7127: < 0.465202, -0.335801, -0.819039> + 7128: < 0.426323, -0.297287, -0.854324> + 7129: < 0.428698, -0.256999, -0.866124> + 7130: < 0.471888, -0.256606, -0.843490> + 7131: < 0.468770, -0.296339, -0.832128> + 7132: < 0.428698, -0.256999, -0.866124> + 7133: < 0.430657, -0.216320, -0.876208> + 7134: < 0.474515, -0.216413, -0.853230> + 7135: < 0.471888, -0.256606, -0.843490> + 7136: < 0.430657, -0.216320, -0.876208> + 7137: < 0.432149, -0.175026, -0.884654> + 7138: < 0.476614, -0.175453, -0.861426> + 7139: < 0.474515, -0.216413, -0.853230> + 7140: < 0.432149, -0.175026, -0.884654> + 7141: < 0.433281, -0.132911, -0.891405> + 7142: < 0.478208, -0.133553, -0.868033> + 7143: < 0.476614, -0.175453, -0.861426> + 7144: < 0.433281, -0.132911, -0.891405> + 7145: < 0.433981, -0.089787, -0.896437> + 7146: < 0.479307, -0.090429, -0.872976> + 7147: < 0.478208, -0.133553, -0.868033> + 7148: < 0.433981, -0.089787, -0.896437> + 7149: < 0.434379, -0.045443, -0.899583> + 7150: < 0.479951, -0.045871, -0.876095> + 7151: < 0.479307, -0.090429, -0.872976> + 7152: < 0.434379, -0.045443, -0.899583> + 7153: < 0.434534, 0.000000, -0.900655> + 7154: < 0.480158, 0.000000, -0.877182> + 7155: < 0.479951, -0.045871, -0.876095> + 7156: < 0.434534, 0.000000, -0.900655> + 7157: < 0.434379, 0.045443, -0.899583> + 7158: < 0.479951, 0.045871, -0.876095> + 7159: < 0.480158, 0.000000, -0.877182> + 7160: < 0.434379, 0.045443, -0.899583> + 7161: < 0.433981, 0.089787, -0.896437> + 7162: < 0.479307, 0.090429, -0.872976> + 7163: < 0.479951, 0.045871, -0.876095> + 7164: < 0.433981, 0.089787, -0.896437> + 7165: < 0.433281, 0.132911, -0.891405> + 7166: < 0.478208, 0.133553, -0.868033> + 7167: < 0.479307, 0.090429, -0.872976> + 7168: < 0.433281, 0.132911, -0.891405> + 7169: < 0.432149, 0.175026, -0.884654> + 7170: < 0.476614, 0.175453, -0.861426> + 7171: < 0.478208, 0.133553, -0.868033> + 7172: < 0.432149, 0.175026, -0.884654> + 7173: < 0.430657, 0.216320, -0.876208> + 7174: < 0.474515, 0.216413, -0.853230> + 7175: < 0.476614, 0.175453, -0.861426> + 7176: < 0.430657, 0.216320, -0.876208> + 7177: < 0.428698, 0.256999, -0.866124> + 7178: < 0.471888, 0.256606, -0.843490> + 7179: < 0.474515, 0.216413, -0.853230> + 7180: < 0.428698, 0.256999, -0.866124> + 7181: < 0.426323, 0.297287, -0.854324> + 7182: < 0.468770, 0.296339, -0.832128> + 7183: < 0.471888, 0.256606, -0.843490> + 7184: < 0.426323, 0.297287, -0.854324> + 7185: < 0.423577, 0.337391, -0.840684> + 7186: < 0.465202, 0.335801, -0.819039> + 7187: < 0.468770, 0.296339, -0.832128> + 7188: < 0.423577, 0.337391, -0.840684> + 7189: < 0.420500, 0.377345, -0.825100> + 7190: < 0.461239, 0.374961, -0.804154> + 7191: < 0.465202, 0.335801, -0.819039> + 7192: < 0.420500, 0.377345, -0.825100> + 7193: < 0.417202, 0.417202, -0.807394> + 7194: < 0.456900, 0.413777, -0.787421> + 7195: < 0.461239, 0.374961, -0.804154> + 7196: < 0.417202, 0.417202, -0.807394> + 7197: < 0.413777, 0.456900, -0.787421> + 7198: < 0.452290, 0.452290, -0.768679> + 7199: < 0.456900, 0.413777, -0.787421> + 7200: < 0.413777, 0.456900, -0.787421> + 7201: < 0.410392, 0.496395, -0.764964> + 7202: < 0.447593, 0.490534, -0.747688> + 7203: < 0.452290, 0.452290, -0.768679> + 7204: < 0.410392, 0.496395, -0.764964> + 7205: < 0.407307, 0.535518, -0.739812> + 7206: < 0.443145, 0.528478, -0.724109> + 7207: < 0.447593, 0.490534, -0.747688> + 7208: < 0.407307, 0.535518, -0.739812> + 7209: < 0.404839, 0.574008, -0.711772> + 7210: < 0.439475, 0.565794, -0.697667> + 7211: < 0.443145, 0.528478, -0.724109> + 7212: < 0.404839, 0.574008, -0.711772> + 7213: < 0.403223, 0.611427, -0.680859> + 7214: < 0.437036, 0.601963, -0.668312> + 7215: < 0.439475, 0.565794, -0.697667> + 7216: < 0.437036, -0.601963, -0.668312> + 7217: < 0.439475, -0.565794, -0.697667> + 7218: < 0.473139, -0.557037, -0.682532> + 7219: < 0.469385, -0.591920, -0.655217> + 7220: < 0.439475, -0.565794, -0.697667> + 7221: < 0.443145, -0.528478, -0.724109> + 7222: < 0.478425, -0.520969, -0.706895> + 7223: < 0.473139, -0.557037, -0.682532> + 7224: < 0.443145, -0.528478, -0.724109> + 7225: < 0.447593, -0.490534, -0.747688> + 7226: < 0.484430, -0.484430, -0.728461> + 7227: < 0.478425, -0.520969, -0.706895> + 7228: < 0.447593, -0.490534, -0.747688> + 7229: < 0.452290, -0.452290, -0.768679> + 7230: < 0.490534, -0.447593, -0.747688> + 7231: < 0.484430, -0.484430, -0.728461> + 7232: < 0.452290, -0.452290, -0.768679> + 7233: < 0.456900, -0.413777, -0.787421> + 7234: < 0.496395, -0.410392, -0.764964> + 7235: < 0.490534, -0.447593, -0.747688> + 7236: < 0.456900, -0.413777, -0.787421> + 7237: < 0.461239, -0.374961, -0.804154> + 7238: < 0.501802, -0.372705, -0.780568> + 7239: < 0.496395, -0.410392, -0.764964> + 7240: < 0.461239, -0.374961, -0.804154> + 7241: < 0.465202, -0.335801, -0.819039> + 7242: < 0.506745, -0.334310, -0.794636> + 7243: < 0.501802, -0.372705, -0.780568> + 7244: < 0.465202, -0.335801, -0.819039> + 7245: < 0.468770, -0.296339, -0.832128> + 7246: < 0.511198, -0.295457, -0.807082> + 7247: < 0.506745, -0.334310, -0.794636> + 7248: < 0.468770, -0.296339, -0.832128> + 7249: < 0.471888, -0.256606, -0.843490> + 7250: < 0.515110, -0.256243, -0.817925> + 7251: < 0.511198, -0.295457, -0.807082> + 7252: < 0.471888, -0.256606, -0.843490> + 7253: < 0.474515, -0.216413, -0.853230> + 7254: < 0.518435, -0.216475, -0.827263> + 7255: < 0.515110, -0.256243, -0.817925> + 7256: < 0.474515, -0.216413, -0.853230> + 7257: < 0.476614, -0.175453, -0.861426> + 7258: < 0.521180, -0.175853, -0.835133> + 7259: < 0.518435, -0.216475, -0.827263> + 7260: < 0.476614, -0.175453, -0.861426> + 7261: < 0.478208, -0.133553, -0.868033> + 7262: < 0.523307, -0.134100, -0.841527> + 7263: < 0.521180, -0.175853, -0.835133> + 7264: < 0.478208, -0.133553, -0.868033> + 7265: < 0.479307, -0.090429, -0.872976> + 7266: < 0.524836, -0.091008, -0.846324> + 7267: < 0.523307, -0.134100, -0.841527> + 7268: < 0.479307, -0.090429, -0.872976> + 7269: < 0.479951, -0.045871, -0.876095> + 7270: < 0.525753, -0.046267, -0.849378> + 7271: < 0.524836, -0.091008, -0.846324> + 7272: < 0.479951, -0.045871, -0.876095> + 7273: < 0.480158, 0.000000, -0.877182> + 7274: < 0.526081, 0.000000, -0.850434> + 7275: < 0.525753, -0.046267, -0.849378> + 7276: < 0.480158, 0.000000, -0.877182> + 7277: < 0.479951, 0.045871, -0.876095> + 7278: < 0.525753, 0.046267, -0.849378> + 7279: < 0.526081, 0.000000, -0.850434> + 7280: < 0.479951, 0.045871, -0.876095> + 7281: < 0.479307, 0.090429, -0.872976> + 7282: < 0.524836, 0.091008, -0.846324> + 7283: < 0.525753, 0.046267, -0.849378> + 7284: < 0.479307, 0.090429, -0.872976> + 7285: < 0.478208, 0.133553, -0.868033> + 7286: < 0.523307, 0.134100, -0.841527> + 7287: < 0.524836, 0.091008, -0.846324> + 7288: < 0.478208, 0.133553, -0.868033> + 7289: < 0.476614, 0.175453, -0.861426> + 7290: < 0.521180, 0.175853, -0.835133> + 7291: < 0.523307, 0.134100, -0.841527> + 7292: < 0.476614, 0.175453, -0.861426> + 7293: < 0.474515, 0.216413, -0.853230> + 7294: < 0.518435, 0.216475, -0.827263> + 7295: < 0.521180, 0.175853, -0.835133> + 7296: < 0.474515, 0.216413, -0.853230> + 7297: < 0.471888, 0.256606, -0.843490> + 7298: < 0.515110, 0.256243, -0.817925> + 7299: < 0.518435, 0.216475, -0.827263> + 7300: < 0.471888, 0.256606, -0.843490> + 7301: < 0.468770, 0.296339, -0.832128> + 7302: < 0.511198, 0.295457, -0.807082> + 7303: < 0.515110, 0.256243, -0.817925> + 7304: < 0.468770, 0.296339, -0.832128> + 7305: < 0.465202, 0.335801, -0.819039> + 7306: < 0.506740, 0.334337, -0.794627> + 7307: < 0.511198, 0.295457, -0.807082> + 7308: < 0.465202, 0.335801, -0.819039> + 7309: < 0.461239, 0.374961, -0.804154> + 7310: < 0.501802, 0.372705, -0.780568> + 7311: < 0.506740, 0.334337, -0.794627> + 7312: < 0.461239, 0.374961, -0.804154> + 7313: < 0.456900, 0.413777, -0.787421> + 7314: < 0.496395, 0.410392, -0.764964> + 7315: < 0.501802, 0.372705, -0.780568> + 7316: < 0.456900, 0.413777, -0.787421> + 7317: < 0.452290, 0.452290, -0.768679> + 7318: < 0.490534, 0.447593, -0.747688> + 7319: < 0.496395, 0.410392, -0.764964> + 7320: < 0.452290, 0.452290, -0.768679> + 7321: < 0.447593, 0.490534, -0.747688> + 7322: < 0.484430, 0.484430, -0.728461> + 7323: < 0.490534, 0.447593, -0.747688> + 7324: < 0.447593, 0.490534, -0.747688> + 7325: < 0.443145, 0.528478, -0.724109> + 7326: < 0.478425, 0.520969, -0.706895> + 7327: < 0.484430, 0.484430, -0.728461> + 7328: < 0.443145, 0.528478, -0.724109> + 7329: < 0.439475, 0.565794, -0.697667> + 7330: < 0.473139, 0.557037, -0.682532> + 7331: < 0.478425, 0.520969, -0.706895> + 7332: < 0.439475, 0.565794, -0.697667> + 7333: < 0.437036, 0.601963, -0.668312> + 7334: < 0.469385, 0.591920, -0.655217> + 7335: < 0.473139, 0.557037, -0.682532> + 7336: < 0.469385, -0.591920, -0.655217> + 7337: < 0.473139, -0.557037, -0.682532> + 7338: < 0.506040, -0.547882, -0.666144> + 7339: < 0.500519, -0.581456, -0.641396> + 7340: < 0.473139, -0.557037, -0.682532> + 7341: < 0.478425, -0.520969, -0.706895> + 7342: < 0.513252, -0.513252, -0.687856> + 7343: < 0.506040, -0.547882, -0.666144> + 7344: < 0.478425, -0.520969, -0.706895> + 7345: < 0.484430, -0.484430, -0.728461> + 7346: < 0.520969, -0.478425, -0.706895> + 7347: < 0.513252, -0.513252, -0.687856> + 7348: < 0.484430, -0.484430, -0.728461> + 7349: < 0.490534, -0.447593, -0.747688> + 7350: < 0.528478, -0.443145, -0.724109> + 7351: < 0.520969, -0.478425, -0.706895> + 7352: < 0.490534, -0.447593, -0.747688> + 7353: < 0.496395, -0.410392, -0.764964> + 7354: < 0.535518, -0.407307, -0.739812> + 7355: < 0.528478, -0.443145, -0.724109> + 7356: < 0.496395, -0.410392, -0.764964> + 7357: < 0.501802, -0.372705, -0.780568> + 7358: < 0.542028, -0.370721, -0.754169> + 7359: < 0.535518, -0.407307, -0.739812> + 7360: < 0.501802, -0.372705, -0.780568> + 7361: < 0.506745, -0.334310, -0.794636> + 7362: < 0.548009, -0.333090, -0.767292> + 7363: < 0.542028, -0.370721, -0.754169> + 7364: < 0.506745, -0.334310, -0.794636> + 7365: < 0.511198, -0.295457, -0.807082> + 7366: < 0.553415, -0.294729, -0.779017> + 7367: < 0.548009, -0.333090, -0.767292> + 7368: < 0.511198, -0.295457, -0.807082> + 7369: < 0.515110, -0.256243, -0.817925> + 7370: < 0.558172, -0.255937, -0.789266> + 7371: < 0.553415, -0.294729, -0.779017> + 7372: < 0.515110, -0.256243, -0.817925> + 7373: < 0.518435, -0.216475, -0.827263> + 7374: < 0.562257, -0.216534, -0.798110> + 7375: < 0.558172, -0.255937, -0.789266> + 7376: < 0.518435, -0.216475, -0.827263> + 7377: < 0.521180, -0.175853, -0.835133> + 7378: < 0.565675, -0.176188, -0.805587> + 7379: < 0.562257, -0.216534, -0.798110> + 7380: < 0.521180, -0.175853, -0.835133> + 7381: < 0.523307, -0.134100, -0.841527> + 7382: < 0.568382, -0.134618, -0.811677> + 7383: < 0.565675, -0.176188, -0.805587> + 7384: < 0.523307, -0.134100, -0.841527> + 7385: < 0.524836, -0.091008, -0.846324> + 7386: < 0.570377, -0.091497, -0.816271> + 7387: < 0.568382, -0.134618, -0.811677> + 7388: < 0.524836, -0.091008, -0.846324> + 7389: < 0.525753, -0.046267, -0.849378> + 7390: < 0.571602, -0.046573, -0.819208> + 7391: < 0.570377, -0.091497, -0.816271> + 7392: < 0.525753, -0.046267, -0.849378> + 7393: < 0.526081, 0.000000, -0.850434> + 7394: < 0.572024, 0.000000, -0.820237> + 7395: < 0.571602, -0.046573, -0.819208> + 7396: < 0.526081, 0.000000, -0.850434> + 7397: < 0.525753, 0.046267, -0.849378> + 7398: < 0.571602, 0.046573, -0.819208> + 7399: < 0.572024, 0.000000, -0.820237> + 7400: < 0.525753, 0.046267, -0.849378> + 7401: < 0.524836, 0.091008, -0.846324> + 7402: < 0.570377, 0.091497, -0.816271> + 7403: < 0.571602, 0.046573, -0.819208> + 7404: < 0.524836, 0.091008, -0.846324> + 7405: < 0.523307, 0.134100, -0.841527> + 7406: < 0.568382, 0.134618, -0.811677> + 7407: < 0.570377, 0.091497, -0.816271> + 7408: < 0.523307, 0.134100, -0.841527> + 7409: < 0.521180, 0.175853, -0.835133> + 7410: < 0.565675, 0.176188, -0.805587> + 7411: < 0.568382, 0.134618, -0.811677> + 7412: < 0.521180, 0.175853, -0.835133> + 7413: < 0.518435, 0.216475, -0.827263> + 7414: < 0.562257, 0.216534, -0.798110> + 7415: < 0.565675, 0.176188, -0.805587> + 7416: < 0.518435, 0.216475, -0.827263> + 7417: < 0.515110, 0.256243, -0.817925> + 7418: < 0.558172, 0.255937, -0.789266> + 7419: < 0.562257, 0.216534, -0.798110> + 7420: < 0.515110, 0.256243, -0.817925> + 7421: < 0.511198, 0.295457, -0.807082> + 7422: < 0.553415, 0.294729, -0.779017> + 7423: < 0.558172, 0.255937, -0.789266> + 7424: < 0.511198, 0.295457, -0.807082> + 7425: < 0.506740, 0.334337, -0.794627> + 7426: < 0.548009, 0.333090, -0.767292> + 7427: < 0.553415, 0.294729, -0.779017> + 7428: < 0.506740, 0.334337, -0.794627> + 7429: < 0.501802, 0.372705, -0.780568> + 7430: < 0.542028, 0.370721, -0.754169> + 7431: < 0.548009, 0.333090, -0.767292> + 7432: < 0.501802, 0.372705, -0.780568> + 7433: < 0.496395, 0.410392, -0.764964> + 7434: < 0.535518, 0.407307, -0.739812> + 7435: < 0.542028, 0.370721, -0.754169> + 7436: < 0.496395, 0.410392, -0.764964> + 7437: < 0.490534, 0.447593, -0.747688> + 7438: < 0.528478, 0.443145, -0.724109> + 7439: < 0.535518, 0.407307, -0.739812> + 7440: < 0.490534, 0.447593, -0.747688> + 7441: < 0.484430, 0.484430, -0.728461> + 7442: < 0.520969, 0.478425, -0.706895> + 7443: < 0.528478, 0.443145, -0.724109> + 7444: < 0.484430, 0.484430, -0.728461> + 7445: < 0.478425, 0.520969, -0.706895> + 7446: < 0.513252, 0.513252, -0.687856> + 7447: < 0.520969, 0.478425, -0.706895> + 7448: < 0.478425, 0.520969, -0.706895> + 7449: < 0.473139, 0.557037, -0.682532> + 7450: < 0.506040, 0.547882, -0.666144> + 7451: < 0.513252, 0.513252, -0.687856> + 7452: < 0.473139, 0.557037, -0.682532> + 7453: < 0.469385, 0.591920, -0.655217> + 7454: < 0.500519, 0.581456, -0.641396> + 7455: < 0.506040, 0.547882, -0.666144> + 7456: < 0.500519, -0.581456, -0.641396> + 7457: < 0.506040, -0.547882, -0.666144> + 7458: < 0.538962, -0.538962, -0.647334> + 7459: < 0.531523, -0.571076, -0.625584> + 7460: < 0.506040, -0.547882, -0.666144> + 7461: < 0.513252, -0.513252, -0.687856> + 7462: < 0.547882, -0.506040, -0.666144> + 7463: < 0.538962, -0.538962, -0.647334> + 7464: < 0.513252, -0.513252, -0.687856> + 7465: < 0.520969, -0.478425, -0.706895> + 7466: < 0.557037, -0.473139, -0.682532> + 7467: < 0.547882, -0.506040, -0.666144> + 7468: < 0.520969, -0.478425, -0.706895> + 7469: < 0.528478, -0.443145, -0.724109> + 7470: < 0.565794, -0.439475, -0.697667> + 7471: < 0.557037, -0.473139, -0.682532> + 7472: < 0.528478, -0.443145, -0.724109> + 7473: < 0.535518, -0.407307, -0.739812> + 7474: < 0.574008, -0.404839, -0.711772> + 7475: < 0.565794, -0.439475, -0.697667> + 7476: < 0.535518, -0.407307, -0.739812> + 7477: < 0.542028, -0.370721, -0.754169> + 7478: < 0.581661, -0.369188, -0.724825> + 7479: < 0.574008, -0.404839, -0.711772> + 7480: < 0.542028, -0.370721, -0.754169> + 7481: < 0.548009, -0.333090, -0.767292> + 7482: < 0.588744, -0.332170, -0.736915> + 7483: < 0.581661, -0.369188, -0.724825> + 7484: < 0.548009, -0.333090, -0.767292> + 7485: < 0.553415, -0.294729, -0.779017> + 7486: < 0.595158, -0.294207, -0.747816> + 7487: < 0.588744, -0.332170, -0.736915> + 7488: < 0.553415, -0.294729, -0.779017> + 7489: < 0.558172, -0.255937, -0.789266> + 7490: < 0.600829, -0.255750, -0.757361> + 7491: < 0.595158, -0.294207, -0.747816> + 7492: < 0.558172, -0.255937, -0.789266> + 7493: < 0.562257, -0.216534, -0.798110> + 7494: < 0.605748, -0.216596, -0.765608> + 7495: < 0.600829, -0.255750, -0.757361> + 7496: < 0.562257, -0.216534, -0.798110> + 7497: < 0.565675, -0.176188, -0.805587> + 7498: < 0.609892, -0.176461, -0.772589> + 7499: < 0.605748, -0.216596, -0.765608> + 7500: < 0.565675, -0.176188, -0.805587> + 7501: < 0.568382, -0.134618, -0.811677> + 7502: < 0.613215, -0.135015, -0.778292> + 7503: < 0.609892, -0.176461, -0.772589> + 7504: < 0.568382, -0.134618, -0.811677> + 7505: < 0.570377, -0.091497, -0.816271> + 7506: < 0.615697, -0.091894, -0.782607> + 7507: < 0.613215, -0.135015, -0.778292> + 7508: < 0.570377, -0.091497, -0.816271> + 7509: < 0.571602, -0.046573, -0.819208> + 7510: < 0.617246, -0.046847, -0.785375> + 7511: < 0.615697, -0.091894, -0.782607> + 7512: < 0.571602, -0.046573, -0.819208> + 7513: < 0.572024, 0.000000, -0.820237> + 7514: < 0.617789, 0.000000, -0.786344> + 7515: < 0.617246, -0.046847, -0.785375> + 7516: < 0.572024, 0.000000, -0.820237> + 7517: < 0.571602, 0.046573, -0.819208> + 7518: < 0.617246, 0.046847, -0.785375> + 7519: < 0.617789, 0.000000, -0.786344> + 7520: < 0.571602, 0.046573, -0.819208> + 7521: < 0.570377, 0.091497, -0.816271> + 7522: < 0.615697, 0.091894, -0.782607> + 7523: < 0.617246, 0.046847, -0.785375> + 7524: < 0.570377, 0.091497, -0.816271> + 7525: < 0.568382, 0.134618, -0.811677> + 7526: < 0.613199, 0.134988, -0.778309> + 7527: < 0.615697, 0.091894, -0.782607> + 7528: < 0.568382, 0.134618, -0.811677> + 7529: < 0.565675, 0.176188, -0.805587> + 7530: < 0.609892, 0.176461, -0.772589> + 7531: < 0.613199, 0.134988, -0.778309> + 7532: < 0.565675, 0.176188, -0.805587> + 7533: < 0.562257, 0.216534, -0.798110> + 7534: < 0.605748, 0.216596, -0.765608> + 7535: < 0.609892, 0.176461, -0.772589> + 7536: < 0.562257, 0.216534, -0.798110> + 7537: < 0.558172, 0.255937, -0.789266> + 7538: < 0.600829, 0.255750, -0.757361> + 7539: < 0.605748, 0.216596, -0.765608> + 7540: < 0.558172, 0.255937, -0.789266> + 7541: < 0.553415, 0.294729, -0.779017> + 7542: < 0.595158, 0.294207, -0.747816> + 7543: < 0.600829, 0.255750, -0.757361> + 7544: < 0.553415, 0.294729, -0.779017> + 7545: < 0.548009, 0.333090, -0.767292> + 7546: < 0.588744, 0.332170, -0.736915> + 7547: < 0.595158, 0.294207, -0.747816> + 7548: < 0.548009, 0.333090, -0.767292> + 7549: < 0.542028, 0.370721, -0.754169> + 7550: < 0.581661, 0.369188, -0.724825> + 7551: < 0.588744, 0.332170, -0.736915> + 7552: < 0.542028, 0.370721, -0.754169> + 7553: < 0.535518, 0.407307, -0.739812> + 7554: < 0.574008, 0.404839, -0.711772> + 7555: < 0.581661, 0.369188, -0.724825> + 7556: < 0.535518, 0.407307, -0.739812> + 7557: < 0.528478, 0.443145, -0.724109> + 7558: < 0.565794, 0.439475, -0.697667> + 7559: < 0.574008, 0.404839, -0.711772> + 7560: < 0.528478, 0.443145, -0.724109> + 7561: < 0.520969, 0.478425, -0.706895> + 7562: < 0.557037, 0.473139, -0.682532> + 7563: < 0.565794, 0.439475, -0.697667> + 7564: < 0.520969, 0.478425, -0.706895> + 7565: < 0.513252, 0.513252, -0.687856> + 7566: < 0.547882, 0.506040, -0.666144> + 7567: < 0.557037, 0.473139, -0.682532> + 7568: < 0.513252, 0.513252, -0.687856> + 7569: < 0.506040, 0.547882, -0.666144> + 7570: < 0.538962, 0.538962, -0.647334> + 7571: < 0.547882, 0.506040, -0.666144> + 7572: < 0.506040, 0.547882, -0.666144> + 7573: < 0.500519, 0.581456, -0.641396> + 7574: < 0.531523, 0.571076, -0.625584> + 7575: < 0.538962, 0.538962, -0.647334> + 7576: < 0.531523, -0.571076, -0.625584> + 7577: < 0.538962, -0.538962, -0.647334> + 7578: < 0.571076, -0.531523, -0.625584> + 7579: < 0.561516, -0.561516, -0.607783> + 7580: < 0.538962, -0.538962, -0.647334> + 7581: < 0.547882, -0.506040, -0.666144> + 7582: < 0.581456, -0.500519, -0.641396> + 7583: < 0.571076, -0.531523, -0.625584> + 7584: < 0.547882, -0.506040, -0.666144> + 7585: < 0.557037, -0.473139, -0.682532> + 7586: < 0.591920, -0.469385, -0.655217> + 7587: < 0.581456, -0.500519, -0.641396> + 7588: < 0.557037, -0.473139, -0.682532> + 7589: < 0.565794, -0.439475, -0.697667> + 7590: < 0.601963, -0.437036, -0.668312> + 7591: < 0.591920, -0.469385, -0.655217> + 7592: < 0.565794, -0.439475, -0.697667> + 7593: < 0.574008, -0.404839, -0.711772> + 7594: < 0.611427, -0.403223, -0.680859> + 7595: < 0.601963, -0.437036, -0.668312> + 7596: < 0.574008, -0.404839, -0.711772> + 7597: < 0.581661, -0.369188, -0.724825> + 7598: < 0.620305, -0.368246, -0.692544> + 7599: < 0.611427, -0.403223, -0.680859> + 7600: < 0.581661, -0.369188, -0.724825> + 7601: < 0.588744, -0.332170, -0.736915> + 7602: < 0.628603, -0.331652, -0.703467> + 7603: < 0.620305, -0.368246, -0.692544> + 7604: < 0.588744, -0.332170, -0.736915> + 7605: < 0.595158, -0.294207, -0.747816> + 7606: < 0.636150, -0.293904, -0.713396> + 7607: < 0.628603, -0.331652, -0.703467> + 7608: < 0.595158, -0.294207, -0.747816> + 7609: < 0.600829, -0.255750, -0.757361> + 7610: < 0.642833, -0.255632, -0.722093> + 7611: < 0.636150, -0.293904, -0.713396> + 7612: < 0.600829, -0.255750, -0.757361> + 7613: < 0.605748, -0.216596, -0.765608> + 7614: < 0.648624, -0.216656, -0.729622> + 7615: < 0.642833, -0.255632, -0.722093> + 7616: < 0.605748, -0.216596, -0.765608> + 7617: < 0.609892, -0.176461, -0.772589> + 7618: < 0.653502, -0.176644, -0.736025> + 7619: < 0.648624, -0.216656, -0.729622> + 7620: < 0.609892, -0.176461, -0.772589> + 7621: < 0.613215, -0.135015, -0.778292> + 7622: < 0.657468, -0.135260, -0.741243> + 7623: < 0.653502, -0.176644, -0.736025> + 7624: < 0.613215, -0.135015, -0.778292> + 7625: < 0.615697, -0.091894, -0.782607> + 7626: < 0.660463, -0.092137, -0.745184> + 7627: < 0.657468, -0.135260, -0.741243> + 7628: < 0.615697, -0.091894, -0.782607> + 7629: < 0.617246, -0.046847, -0.785375> + 7630: < 0.662354, -0.046999, -0.747715> + 7631: < 0.660463, -0.092137, -0.745184> + 7632: < 0.617246, -0.046847, -0.785375> + 7633: < 0.617789, 0.000000, -0.786344> + 7634: < 0.663024, 0.000000, -0.748599> + 7635: < 0.662354, -0.046999, -0.747715> + 7636: < 0.617789, 0.000000, -0.786344> + 7637: < 0.617246, 0.046847, -0.785375> + 7638: < 0.662354, 0.046999, -0.747715> + 7639: < 0.663024, 0.000000, -0.748599> + 7640: < 0.617246, 0.046847, -0.785375> + 7641: < 0.615697, 0.091894, -0.782607> + 7642: < 0.660463, 0.092137, -0.745184> + 7643: < 0.662354, 0.046999, -0.747715> + 7644: < 0.615697, 0.091894, -0.782607> + 7645: < 0.613199, 0.134988, -0.778309> + 7646: < 0.657468, 0.135260, -0.741243> + 7647: < 0.660463, 0.092137, -0.745184> + 7648: < 0.613199, 0.134988, -0.778309> + 7649: < 0.609892, 0.176461, -0.772589> + 7650: < 0.653502, 0.176644, -0.736025> + 7651: < 0.657468, 0.135260, -0.741243> + 7652: < 0.609892, 0.176461, -0.772589> + 7653: < 0.605748, 0.216596, -0.765608> + 7654: < 0.648606, 0.216660, -0.729636> + 7655: < 0.653502, 0.176644, -0.736025> + 7656: < 0.605748, 0.216596, -0.765608> + 7657: < 0.600829, 0.255750, -0.757361> + 7658: < 0.642833, 0.255632, -0.722093> + 7659: < 0.648606, 0.216660, -0.729636> + 7660: < 0.600829, 0.255750, -0.757361> + 7661: < 0.595158, 0.294207, -0.747816> + 7662: < 0.636150, 0.293904, -0.713396> + 7663: < 0.642833, 0.255632, -0.722093> + 7664: < 0.595158, 0.294207, -0.747816> + 7665: < 0.588744, 0.332170, -0.736915> + 7666: < 0.628603, 0.331652, -0.703467> + 7667: < 0.636150, 0.293904, -0.713396> + 7668: < 0.588744, 0.332170, -0.736915> + 7669: < 0.581661, 0.369188, -0.724825> + 7670: < 0.620305, 0.368246, -0.692544> + 7671: < 0.628603, 0.331652, -0.703467> + 7672: < 0.581661, 0.369188, -0.724825> + 7673: < 0.574008, 0.404839, -0.711772> + 7674: < 0.611427, 0.403223, -0.680859> + 7675: < 0.620305, 0.368246, -0.692544> + 7676: < 0.574008, 0.404839, -0.711772> + 7677: < 0.565794, 0.439475, -0.697667> + 7678: < 0.601963, 0.437036, -0.668312> + 7679: < 0.611427, 0.403223, -0.680859> + 7680: < 0.565794, 0.439475, -0.697667> + 7681: < 0.557037, 0.473139, -0.682532> + 7682: < 0.591920, 0.469385, -0.655217> + 7683: < 0.601963, 0.437036, -0.668312> + 7684: < 0.557037, 0.473139, -0.682532> + 7685: < 0.547882, 0.506040, -0.666144> + 7686: < 0.581456, 0.500519, -0.641396> + 7687: < 0.591920, 0.469385, -0.655217> + 7688: < 0.547882, 0.506040, -0.666144> + 7689: < 0.538962, 0.538962, -0.647334> + 7690: < 0.571076, 0.531523, -0.625584> + 7691: < 0.581456, 0.500519, -0.641396> + 7692: < 0.538962, 0.538962, -0.647334> + 7693: < 0.531523, 0.571076, -0.625584> + 7694: < 0.561516, 0.561516, -0.607783> + 7695: < 0.571076, 0.531523, -0.625584> + 7696: <-0.577360, -0.577330, -0.577360> + 7697: <-0.588539, -0.554296, -0.588539> + 7698: <-0.561516, -0.561516, -0.607783> + 7699: <-0.554296, -0.588539, -0.588539> + 7700: <-0.588539, -0.554296, -0.588539> + 7701: <-0.601199, -0.526457, -0.601168> + 7702: <-0.571076, -0.531523, -0.625584> + 7703: <-0.561516, -0.561516, -0.607783> + 7704: <-0.601199, -0.526457, -0.601168> + 7705: <-0.613379, -0.497527, -0.613379> + 7706: <-0.581456, -0.500519, -0.641396> + 7707: <-0.571076, -0.531523, -0.625584> + 7708: <-0.613379, -0.497527, -0.613379> + 7709: <-0.624909, -0.467950, -0.624909> + 7710: <-0.591920, -0.469385, -0.655217> + 7711: <-0.581456, -0.500519, -0.641396> + 7712: <-0.624909, -0.467950, -0.624909> + 7713: <-0.636296, -0.436181, -0.636296> + 7714: <-0.601963, -0.437036, -0.668312> + 7715: <-0.591920, -0.469385, -0.655217> + 7716: <-0.636296, -0.436181, -0.636296> + 7717: <-0.647247, -0.402668, -0.647247> + 7718: <-0.611427, -0.403223, -0.680859> + 7719: <-0.601963, -0.437036, -0.668312> + 7720: <-0.647247, -0.402668, -0.647247> + 7721: <-0.657511, -0.367912, -0.657511> + 7722: <-0.620305, -0.368246, -0.692544> + 7723: <-0.611427, -0.403223, -0.680859> + 7724: <-0.657511, -0.367912, -0.657511> + 7725: <-0.667130, -0.331474, -0.667130> + 7726: <-0.628603, -0.331652, -0.703467> + 7727: <-0.620305, -0.368246, -0.692544> + 7728: <-0.667130, -0.331474, -0.667130> + 7729: <-0.675899, -0.293804, -0.675899> + 7730: <-0.636150, -0.293904, -0.713396> + 7731: <-0.628603, -0.331652, -0.703467> + 7732: <-0.675899, -0.293804, -0.675899> + 7733: <-0.683620, -0.255594, -0.683620> + 7734: <-0.642833, -0.255632, -0.722093> + 7735: <-0.636150, -0.293904, -0.713396> + 7736: <-0.683620, -0.255594, -0.683620> + 7737: <-0.690307, -0.216684, -0.690307> + 7738: <-0.648606, -0.216660, -0.729636> + 7739: <-0.642833, -0.255632, -0.722093> + 7740: <-0.690307, -0.216684, -0.690307> + 7741: <-0.695976, -0.176733, -0.695976> + 7742: <-0.653502, -0.176644, -0.736025> + 7743: <-0.648606, -0.216660, -0.729636> + 7744: <-0.695976, -0.176733, -0.695976> + 7745: <-0.700600, -0.135353, -0.700600> + 7746: <-0.657468, -0.135260, -0.741243> + 7747: <-0.653502, -0.176644, -0.736025> + 7748: <-0.700600, -0.135353, -0.700600> + 7749: <-0.704093, -0.092231, -0.704093> + 7750: <-0.660463, -0.092137, -0.745184> + 7751: <-0.657468, -0.135260, -0.741243> + 7752: <-0.704093, -0.092231, -0.704093> + 7753: <-0.706323, -0.047060, -0.706323> + 7754: <-0.662354, -0.046999, -0.747715> + 7755: <-0.660463, -0.092137, -0.745184> + 7756: <-0.706323, -0.047060, -0.706323> + 7757: <-0.707107, 0.000000, -0.707107> + 7758: <-0.663024, 0.000000, -0.748599> + 7759: <-0.662354, -0.046999, -0.747715> + 7760: <-0.707107, 0.000000, -0.707107> + 7761: <-0.706323, 0.047060, -0.706323> + 7762: <-0.662354, 0.046999, -0.747715> + 7763: <-0.663024, 0.000000, -0.748599> + 7764: <-0.706323, 0.047060, -0.706323> + 7765: <-0.704093, 0.092231, -0.704093> + 7766: <-0.660463, 0.092137, -0.745184> + 7767: <-0.662354, 0.046999, -0.747715> + 7768: <-0.704093, 0.092231, -0.704093> + 7769: <-0.700600, 0.135353, -0.700600> + 7770: <-0.657468, 0.135260, -0.741243> + 7771: <-0.660463, 0.092137, -0.745184> + 7772: <-0.700600, 0.135353, -0.700600> + 7773: <-0.695976, 0.176733, -0.695976> + 7774: <-0.653502, 0.176644, -0.736025> + 7775: <-0.657468, 0.135260, -0.741243> + 7776: <-0.695976, 0.176733, -0.695976> + 7777: <-0.690307, 0.216684, -0.690307> + 7778: <-0.648606, 0.216660, -0.729636> + 7779: <-0.653502, 0.176644, -0.736025> + 7780: <-0.690307, 0.216684, -0.690307> + 7781: <-0.683620, 0.255594, -0.683620> + 7782: <-0.642833, 0.255632, -0.722093> + 7783: <-0.648606, 0.216660, -0.729636> + 7784: <-0.683620, 0.255594, -0.683620> + 7785: <-0.675899, 0.293804, -0.675899> + 7786: <-0.636150, 0.293904, -0.713396> + 7787: <-0.642833, 0.255632, -0.722093> + 7788: <-0.675899, 0.293804, -0.675899> + 7789: <-0.667130, 0.331474, -0.667130> + 7790: <-0.628603, 0.331652, -0.703467> + 7791: <-0.636150, 0.293904, -0.713396> + 7792: <-0.667130, 0.331474, -0.667130> + 7793: <-0.657511, 0.367912, -0.657511> + 7794: <-0.620305, 0.368246, -0.692544> + 7795: <-0.628603, 0.331652, -0.703467> + 7796: <-0.657511, 0.367912, -0.657511> + 7797: <-0.647247, 0.402668, -0.647247> + 7798: <-0.611427, 0.403223, -0.680859> + 7799: <-0.620305, 0.368246, -0.692544> + 7800: <-0.647247, 0.402668, -0.647247> + 7801: <-0.636296, 0.436181, -0.636296> + 7802: <-0.601963, 0.437036, -0.668312> + 7803: <-0.611427, 0.403223, -0.680859> + 7804: <-0.636296, 0.436181, -0.636296> + 7805: <-0.624909, 0.467950, -0.624909> + 7806: <-0.591920, 0.469385, -0.655217> + 7807: <-0.601963, 0.437036, -0.668312> + 7808: <-0.624909, 0.467950, -0.624909> + 7809: <-0.613379, 0.497527, -0.613379> + 7810: <-0.581465, 0.500496, -0.641406> + 7811: <-0.591920, 0.469385, -0.655217> + 7812: <-0.613379, 0.497527, -0.613379> + 7813: <-0.601188, 0.526447, -0.601188> + 7814: <-0.571076, 0.531523, -0.625584> + 7815: <-0.581465, 0.500496, -0.641406> + 7816: <-0.601188, 0.526447, -0.601188> + 7817: <-0.588539, 0.554296, -0.588539> + 7818: <-0.561516, 0.561516, -0.607783> + 7819: <-0.571076, 0.531523, -0.625584> + 7820: <-0.588539, 0.554296, -0.588539> + 7821: <-0.577350, 0.577350, -0.577350> + 7822: <-0.554296, 0.588539, -0.588539> + 7823: <-0.561516, 0.561516, -0.607783> + 7824: <-0.561516, 0.561516, -0.607783> + 7825: <-0.554296, 0.588539, -0.588539> + 7826: <-0.526447, 0.601188, -0.601188> + 7827: <-0.531523, 0.571076, -0.625584> + 7828: <-0.531523, 0.571076, -0.625584> + 7829: <-0.526447, 0.601188, -0.601188> + 7830: <-0.497527, 0.613379, -0.613379> + 7831: <-0.500519, 0.581456, -0.641396> + 7832: <-0.500519, 0.581456, -0.641396> + 7833: <-0.497527, 0.613379, -0.613379> + 7834: <-0.467950, 0.624909, -0.624909> + 7835: <-0.469385, 0.591920, -0.655217> + 7836: <-0.469385, 0.591920, -0.655217> + 7837: <-0.467950, 0.624909, -0.624909> + 7838: <-0.436181, 0.636296, -0.636296> + 7839: <-0.437036, 0.601963, -0.668312> + 7840: <-0.437036, 0.601963, -0.668312> + 7841: <-0.436181, 0.636296, -0.636296> + 7842: <-0.402668, 0.647247, -0.647247> + 7843: <-0.403223, 0.611427, -0.680859> + 7844: <-0.403223, 0.611427, -0.680859> + 7845: <-0.402668, 0.647247, -0.647247> + 7846: <-0.367912, 0.657511, -0.657511> + 7847: <-0.368246, 0.620305, -0.692544> + 7848: <-0.368246, 0.620305, -0.692544> + 7849: <-0.367912, 0.657511, -0.657511> + 7850: <-0.331474, 0.667130, -0.667130> + 7851: <-0.331652, 0.628603, -0.703467> + 7852: <-0.331652, 0.628603, -0.703467> + 7853: <-0.331474, 0.667130, -0.667130> + 7854: <-0.293804, 0.675899, -0.675899> + 7855: <-0.293904, 0.636150, -0.713396> + 7856: <-0.293904, 0.636150, -0.713396> + 7857: <-0.293804, 0.675899, -0.675899> + 7858: <-0.255594, 0.683620, -0.683620> + 7859: <-0.255632, 0.642833, -0.722093> + 7860: <-0.255632, 0.642833, -0.722093> + 7861: <-0.255594, 0.683620, -0.683620> + 7862: <-0.216684, 0.690307, -0.690307> + 7863: <-0.216660, 0.648606, -0.729636> + 7864: <-0.216660, 0.648606, -0.729636> + 7865: <-0.216684, 0.690307, -0.690307> + 7866: <-0.176733, 0.695976, -0.695976> + 7867: <-0.176644, 0.653502, -0.736025> + 7868: <-0.176644, 0.653502, -0.736025> + 7869: <-0.176733, 0.695976, -0.695976> + 7870: <-0.135353, 0.700600, -0.700600> + 7871: <-0.135260, 0.657468, -0.741243> + 7872: <-0.135260, 0.657468, -0.741243> + 7873: <-0.135353, 0.700600, -0.700600> + 7874: <-0.092231, 0.704093, -0.704093> + 7875: <-0.092137, 0.660463, -0.745184> + 7876: <-0.092137, 0.660463, -0.745184> + 7877: <-0.092231, 0.704093, -0.704093> + 7878: <-0.047060, 0.706323, -0.706323> + 7879: <-0.046999, 0.662354, -0.747715> + 7880: <-0.046999, 0.662354, -0.747715> + 7881: <-0.047060, 0.706323, -0.706323> + 7882: < 0.000000, 0.707107, -0.707107> + 7883: < 0.000000, 0.663024, -0.748599> + 7884: < 0.000000, 0.663024, -0.748599> + 7885: < 0.000000, 0.707107, -0.707107> + 7886: < 0.047060, 0.706323, -0.706323> + 7887: < 0.046999, 0.662354, -0.747715> + 7888: < 0.046999, 0.662354, -0.747715> + 7889: < 0.047060, 0.706323, -0.706323> + 7890: < 0.092231, 0.704093, -0.704093> + 7891: < 0.092137, 0.660463, -0.745184> + 7892: < 0.092137, 0.660463, -0.745184> + 7893: < 0.092231, 0.704093, -0.704093> + 7894: < 0.135353, 0.700600, -0.700600> + 7895: < 0.135260, 0.657468, -0.741243> + 7896: < 0.135260, 0.657468, -0.741243> + 7897: < 0.135353, 0.700600, -0.700600> + 7898: < 0.176733, 0.695976, -0.695976> + 7899: < 0.176644, 0.653502, -0.736025> + 7900: < 0.176644, 0.653502, -0.736025> + 7901: < 0.176733, 0.695976, -0.695976> + 7902: < 0.216684, 0.690307, -0.690307> + 7903: < 0.216660, 0.648606, -0.729636> + 7904: < 0.216660, 0.648606, -0.729636> + 7905: < 0.216684, 0.690307, -0.690307> + 7906: < 0.255594, 0.683620, -0.683620> + 7907: < 0.255632, 0.642833, -0.722093> + 7908: < 0.255632, 0.642833, -0.722093> + 7909: < 0.255594, 0.683620, -0.683620> + 7910: < 0.293804, 0.675899, -0.675899> + 7911: < 0.293904, 0.636150, -0.713396> + 7912: < 0.293904, 0.636150, -0.713396> + 7913: < 0.293804, 0.675899, -0.675899> + 7914: < 0.331474, 0.667130, -0.667130> + 7915: < 0.331652, 0.628603, -0.703467> + 7916: < 0.331652, 0.628603, -0.703467> + 7917: < 0.331474, 0.667130, -0.667130> + 7918: < 0.367912, 0.657511, -0.657511> + 7919: < 0.368246, 0.620305, -0.692544> + 7920: < 0.368246, 0.620305, -0.692544> + 7921: < 0.367912, 0.657511, -0.657511> + 7922: < 0.402668, 0.647247, -0.647247> + 7923: < 0.403223, 0.611427, -0.680859> + 7924: < 0.403223, 0.611427, -0.680859> + 7925: < 0.402668, 0.647247, -0.647247> + 7926: < 0.436181, 0.636296, -0.636296> + 7927: < 0.437036, 0.601963, -0.668312> + 7928: < 0.437036, 0.601963, -0.668312> + 7929: < 0.436181, 0.636296, -0.636296> + 7930: < 0.467950, 0.624909, -0.624909> + 7931: < 0.469385, 0.591920, -0.655217> + 7932: < 0.469385, 0.591920, -0.655217> + 7933: < 0.467950, 0.624909, -0.624909> + 7934: < 0.497527, 0.613379, -0.613379> + 7935: < 0.500519, 0.581456, -0.641396> + 7936: < 0.500519, 0.581456, -0.641396> + 7937: < 0.497527, 0.613379, -0.613379> + 7938: < 0.526467, 0.601179, -0.601179> + 7939: < 0.531523, 0.571076, -0.625584> + 7940: < 0.531523, 0.571076, -0.625584> + 7941: < 0.526467, 0.601179, -0.601179> + 7942: < 0.554296, 0.588539, -0.588539> + 7943: < 0.561516, 0.561516, -0.607783> + 7944: < 0.561516, 0.561516, -0.607783> + 7945: < 0.554296, 0.588539, -0.588539> + 7946: < 0.577350, 0.577350, -0.577350> + 7947: < 0.588539, 0.554296, -0.588539> + 7948: < 0.571076, 0.531523, -0.625584> + 7949: < 0.561516, 0.561516, -0.607783> + 7950: < 0.588539, 0.554296, -0.588539> + 7951: < 0.601168, 0.526457, -0.601199> + 7952: < 0.581456, 0.500519, -0.641396> + 7953: < 0.571076, 0.531523, -0.625584> + 7954: < 0.601168, 0.526457, -0.601199> + 7955: < 0.613379, 0.497527, -0.613379> + 7956: < 0.591920, 0.469385, -0.655217> + 7957: < 0.581456, 0.500519, -0.641396> + 7958: < 0.613379, 0.497527, -0.613379> + 7959: < 0.624909, 0.467950, -0.624909> + 7960: < 0.601963, 0.437036, -0.668312> + 7961: < 0.591920, 0.469385, -0.655217> + 7962: < 0.624909, 0.467950, -0.624909> + 7963: < 0.636296, 0.436181, -0.636296> + 7964: < 0.611427, 0.403223, -0.680859> + 7965: < 0.601963, 0.437036, -0.668312> + 7966: < 0.636296, 0.436181, -0.636296> + 7967: < 0.647247, 0.402668, -0.647247> + 7968: < 0.620305, 0.368246, -0.692544> + 7969: < 0.611427, 0.403223, -0.680859> + 7970: < 0.647247, 0.402668, -0.647247> + 7971: < 0.657511, 0.367912, -0.657511> + 7972: < 0.628603, 0.331652, -0.703467> + 7973: < 0.620305, 0.368246, -0.692544> + 7974: < 0.657511, 0.367912, -0.657511> + 7975: < 0.667130, 0.331474, -0.667130> + 7976: < 0.636150, 0.293904, -0.713396> + 7977: < 0.628603, 0.331652, -0.703467> + 7978: < 0.667130, 0.331474, -0.667130> + 7979: < 0.675899, 0.293804, -0.675899> + 7980: < 0.642833, 0.255632, -0.722093> + 7981: < 0.636150, 0.293904, -0.713396> + 7982: < 0.675899, 0.293804, -0.675899> + 7983: < 0.683620, 0.255594, -0.683620> + 7984: < 0.648606, 0.216660, -0.729636> + 7985: < 0.642833, 0.255632, -0.722093> + 7986: < 0.683620, 0.255594, -0.683620> + 7987: < 0.690307, 0.216684, -0.690307> + 7988: < 0.653502, 0.176644, -0.736025> + 7989: < 0.648606, 0.216660, -0.729636> + 7990: < 0.690307, 0.216684, -0.690307> + 7991: < 0.695976, 0.176733, -0.695976> + 7992: < 0.657468, 0.135260, -0.741243> + 7993: < 0.653502, 0.176644, -0.736025> + 7994: < 0.695976, 0.176733, -0.695976> + 7995: < 0.700600, 0.135353, -0.700600> + 7996: < 0.660463, 0.092137, -0.745184> + 7997: < 0.657468, 0.135260, -0.741243> + 7998: < 0.700600, 0.135353, -0.700600> + 7999: < 0.704093, 0.092231, -0.704093> + 8000: < 0.662354, 0.046999, -0.747715> + 8001: < 0.660463, 0.092137, -0.745184> + 8002: < 0.704093, 0.092231, -0.704093> + 8003: < 0.706323, 0.047060, -0.706323> + 8004: < 0.663024, 0.000000, -0.748599> + 8005: < 0.662354, 0.046999, -0.747715> + 8006: < 0.706323, 0.047060, -0.706323> + 8007: < 0.707107, 0.000000, -0.707107> + 8008: < 0.662354, -0.046999, -0.747715> + 8009: < 0.663024, 0.000000, -0.748599> + 8010: < 0.707107, 0.000000, -0.707107> + 8011: < 0.706323, -0.047060, -0.706323> + 8012: < 0.660463, -0.092137, -0.745184> + 8013: < 0.662354, -0.046999, -0.747715> + 8014: < 0.706323, -0.047060, -0.706323> + 8015: < 0.704093, -0.092231, -0.704093> + 8016: < 0.657468, -0.135260, -0.741243> + 8017: < 0.660463, -0.092137, -0.745184> + 8018: < 0.704093, -0.092231, -0.704093> + 8019: < 0.700600, -0.135353, -0.700600> + 8020: < 0.653502, -0.176644, -0.736025> + 8021: < 0.657468, -0.135260, -0.741243> + 8022: < 0.700600, -0.135353, -0.700600> + 8023: < 0.695976, -0.176733, -0.695976> + 8024: < 0.648624, -0.216656, -0.729622> + 8025: < 0.653502, -0.176644, -0.736025> + 8026: < 0.695976, -0.176733, -0.695976> + 8027: < 0.690307, -0.216684, -0.690307> + 8028: < 0.642833, -0.255632, -0.722093> + 8029: < 0.648624, -0.216656, -0.729622> + 8030: < 0.690307, -0.216684, -0.690307> + 8031: < 0.683620, -0.255594, -0.683620> + 8032: < 0.636150, -0.293904, -0.713396> + 8033: < 0.642833, -0.255632, -0.722093> + 8034: < 0.683620, -0.255594, -0.683620> + 8035: < 0.675899, -0.293804, -0.675899> + 8036: < 0.628603, -0.331652, -0.703467> + 8037: < 0.636150, -0.293904, -0.713396> + 8038: < 0.675899, -0.293804, -0.675899> + 8039: < 0.667130, -0.331474, -0.667130> + 8040: < 0.620305, -0.368246, -0.692544> + 8041: < 0.628603, -0.331652, -0.703467> + 8042: < 0.667130, -0.331474, -0.667130> + 8043: < 0.657511, -0.367912, -0.657511> + 8044: < 0.611427, -0.403223, -0.680859> + 8045: < 0.620305, -0.368246, -0.692544> + 8046: < 0.657511, -0.367912, -0.657511> + 8047: < 0.647247, -0.402668, -0.647247> + 8048: < 0.601963, -0.437036, -0.668312> + 8049: < 0.611427, -0.403223, -0.680859> + 8050: < 0.647247, -0.402668, -0.647247> + 8051: < 0.636296, -0.436181, -0.636296> + 8052: < 0.591920, -0.469385, -0.655217> + 8053: < 0.601963, -0.437036, -0.668312> + 8054: < 0.636296, -0.436181, -0.636296> + 8055: < 0.624909, -0.467950, -0.624909> + 8056: < 0.581456, -0.500519, -0.641396> + 8057: < 0.591920, -0.469385, -0.655217> + 8058: < 0.624909, -0.467950, -0.624909> + 8059: < 0.613379, -0.497527, -0.613379> + 8060: < 0.571076, -0.531523, -0.625584> + 8061: < 0.581456, -0.500519, -0.641396> + 8062: < 0.613379, -0.497527, -0.613379> + 8063: < 0.601168, -0.526457, -0.601199> + 8064: < 0.561516, -0.561516, -0.607783> + 8065: < 0.571076, -0.531523, -0.625584> + 8066: < 0.601168, -0.526457, -0.601199> + 8067: < 0.588539, -0.554296, -0.588539> + 8068: < 0.554296, -0.588539, -0.588539> + 8069: < 0.561516, -0.561516, -0.607783> + 8070: < 0.588539, -0.554296, -0.588539> + 8071: < 0.577350, -0.577350, -0.577350> + 8072: < 0.526457, -0.601168, -0.601199> + 8073: < 0.531523, -0.571076, -0.625584> + 8074: < 0.561516, -0.561516, -0.607783> + 8075: < 0.554296, -0.588539, -0.588539> + 8076: < 0.497527, -0.613379, -0.613379> + 8077: < 0.500519, -0.581456, -0.641396> + 8078: < 0.531523, -0.571076, -0.625584> + 8079: < 0.526457, -0.601168, -0.601199> + 8080: < 0.467950, -0.624909, -0.624909> + 8081: < 0.469385, -0.591920, -0.655217> + 8082: < 0.500519, -0.581456, -0.641396> + 8083: < 0.497527, -0.613379, -0.613379> + 8084: < 0.436181, -0.636296, -0.636296> + 8085: < 0.437036, -0.601963, -0.668312> + 8086: < 0.469385, -0.591920, -0.655217> + 8087: < 0.467950, -0.624909, -0.624909> + 8088: < 0.402668, -0.647247, -0.647247> + 8089: < 0.403223, -0.611427, -0.680859> + 8090: < 0.437036, -0.601963, -0.668312> + 8091: < 0.436181, -0.636296, -0.636296> + 8092: < 0.367912, -0.657511, -0.657511> + 8093: < 0.368246, -0.620305, -0.692544> + 8094: < 0.403223, -0.611427, -0.680859> + 8095: < 0.402668, -0.647247, -0.647247> + 8096: < 0.331474, -0.667130, -0.667130> + 8097: < 0.331652, -0.628603, -0.703467> + 8098: < 0.368246, -0.620305, -0.692544> + 8099: < 0.367912, -0.657511, -0.657511> + 8100: < 0.293804, -0.675899, -0.675899> + 8101: < 0.293904, -0.636150, -0.713396> + 8102: < 0.331652, -0.628603, -0.703467> + 8103: < 0.331474, -0.667130, -0.667130> + 8104: < 0.255594, -0.683620, -0.683620> + 8105: < 0.255632, -0.642833, -0.722093> + 8106: < 0.293904, -0.636150, -0.713396> + 8107: < 0.293804, -0.675899, -0.675899> + 8108: < 0.216684, -0.690307, -0.690307> + 8109: < 0.216660, -0.648606, -0.729636> + 8110: < 0.255632, -0.642833, -0.722093> + 8111: < 0.255594, -0.683620, -0.683620> + 8112: < 0.176733, -0.695976, -0.695976> + 8113: < 0.176644, -0.653502, -0.736025> + 8114: < 0.216660, -0.648606, -0.729636> + 8115: < 0.216684, -0.690307, -0.690307> + 8116: < 0.135353, -0.700600, -0.700600> + 8117: < 0.135260, -0.657468, -0.741243> + 8118: < 0.176644, -0.653502, -0.736025> + 8119: < 0.176733, -0.695976, -0.695976> + 8120: < 0.092231, -0.704093, -0.704093> + 8121: < 0.092137, -0.660463, -0.745184> + 8122: < 0.135260, -0.657468, -0.741243> + 8123: < 0.135353, -0.700600, -0.700600> + 8124: < 0.047060, -0.706323, -0.706323> + 8125: < 0.046999, -0.662354, -0.747715> + 8126: < 0.092137, -0.660463, -0.745184> + 8127: < 0.092231, -0.704093, -0.704093> + 8128: < 0.000000, -0.707107, -0.707107> + 8129: < 0.000000, -0.663024, -0.748599> + 8130: < 0.046999, -0.662354, -0.747715> + 8131: < 0.047060, -0.706323, -0.706323> + 8132: <-0.047060, -0.706323, -0.706323> + 8133: <-0.046999, -0.662354, -0.747715> + 8134: < 0.000000, -0.663024, -0.748599> + 8135: < 0.000000, -0.707107, -0.707107> + 8136: <-0.092231, -0.704093, -0.704093> + 8137: <-0.092137, -0.660463, -0.745184> + 8138: <-0.046999, -0.662354, -0.747715> + 8139: <-0.047060, -0.706323, -0.706323> + 8140: <-0.135353, -0.700600, -0.700600> + 8141: <-0.135260, -0.657468, -0.741243> + 8142: <-0.092137, -0.660463, -0.745184> + 8143: <-0.092231, -0.704093, -0.704093> + 8144: <-0.176733, -0.695976, -0.695976> + 8145: <-0.176644, -0.653502, -0.736025> + 8146: <-0.135260, -0.657468, -0.741243> + 8147: <-0.135353, -0.700600, -0.700600> + 8148: <-0.216684, -0.690307, -0.690307> + 8149: <-0.216660, -0.648606, -0.729636> + 8150: <-0.176644, -0.653502, -0.736025> + 8151: <-0.176733, -0.695976, -0.695976> + 8152: <-0.255594, -0.683620, -0.683620> + 8153: <-0.255632, -0.642833, -0.722093> + 8154: <-0.216660, -0.648606, -0.729636> + 8155: <-0.216684, -0.690307, -0.690307> + 8156: <-0.293804, -0.675899, -0.675899> + 8157: <-0.293904, -0.636150, -0.713396> + 8158: <-0.255632, -0.642833, -0.722093> + 8159: <-0.255594, -0.683620, -0.683620> + 8160: <-0.331474, -0.667130, -0.667130> + 8161: <-0.331652, -0.628603, -0.703467> + 8162: <-0.293904, -0.636150, -0.713396> + 8163: <-0.293804, -0.675899, -0.675899> + 8164: <-0.367912, -0.657511, -0.657511> + 8165: <-0.368246, -0.620305, -0.692544> + 8166: <-0.331652, -0.628603, -0.703467> + 8167: <-0.331474, -0.667130, -0.667130> + 8168: <-0.402668, -0.647247, -0.647247> + 8169: <-0.403223, -0.611427, -0.680859> + 8170: <-0.368246, -0.620305, -0.692544> + 8171: <-0.367912, -0.657511, -0.657511> + 8172: <-0.436181, -0.636296, -0.636296> + 8173: <-0.437036, -0.601963, -0.668312> + 8174: <-0.403223, -0.611427, -0.680859> + 8175: <-0.402668, -0.647247, -0.647247> + 8176: <-0.467950, -0.624909, -0.624909> + 8177: <-0.469385, -0.591920, -0.655217> + 8178: <-0.437036, -0.601963, -0.668312> + 8179: <-0.436181, -0.636296, -0.636296> + 8180: <-0.497527, -0.613379, -0.613379> + 8181: <-0.500519, -0.581456, -0.641396> + 8182: <-0.469385, -0.591920, -0.655217> + 8183: <-0.467950, -0.624909, -0.624909> + 8184: <-0.526447, -0.601188, -0.601188> + 8185: <-0.531523, -0.571076, -0.625584> + 8186: <-0.500519, -0.581456, -0.641396> + 8187: <-0.497527, -0.613379, -0.613379> + 8188: <-0.554296, -0.588539, -0.588539> + 8189: <-0.561516, -0.561516, -0.607783> + 8190: <-0.531523, -0.571076, -0.625584> + 8191: <-0.526447, -0.601188, -0.601188> + 8192: < 0.607783, -0.561516, -0.561516> + 8193: < 0.625584, -0.531523, -0.571076> + 8194: < 0.647334, -0.538962, -0.538962> + 8195: < 0.625584, -0.571076, -0.531523> + 8196: < 0.625584, -0.531523, -0.571076> + 8197: < 0.641397, -0.500519, -0.581456> + 8198: < 0.666144, -0.506040, -0.547882> + 8199: < 0.647334, -0.538962, -0.538962> + 8200: < 0.641397, -0.500519, -0.581456> + 8201: < 0.655217, -0.469385, -0.591920> + 8202: < 0.682532, -0.473139, -0.557037> + 8203: < 0.666144, -0.506040, -0.547882> + 8204: < 0.655217, -0.469385, -0.591920> + 8205: < 0.668312, -0.437036, -0.601963> + 8206: < 0.697667, -0.439475, -0.565794> + 8207: < 0.682532, -0.473139, -0.557037> + 8208: < 0.668312, -0.437036, -0.601963> + 8209: < 0.680859, -0.403223, -0.611427> + 8210: < 0.711772, -0.404839, -0.574008> + 8211: < 0.697667, -0.439475, -0.565794> + 8212: < 0.680859, -0.403223, -0.611427> + 8213: < 0.692544, -0.368246, -0.620305> + 8214: < 0.724825, -0.369188, -0.581661> + 8215: < 0.711772, -0.404839, -0.574008> + 8216: < 0.692544, -0.368246, -0.620305> + 8217: < 0.703467, -0.331652, -0.628603> + 8218: < 0.736915, -0.332170, -0.588744> + 8219: < 0.724825, -0.369188, -0.581661> + 8220: < 0.703467, -0.331652, -0.628603> + 8221: < 0.713396, -0.293904, -0.636150> + 8222: < 0.747816, -0.294207, -0.595158> + 8223: < 0.736915, -0.332170, -0.588744> + 8224: < 0.713396, -0.293904, -0.636150> + 8225: < 0.722093, -0.255632, -0.642833> + 8226: < 0.757361, -0.255750, -0.600829> + 8227: < 0.747816, -0.294207, -0.595158> + 8228: < 0.722093, -0.255632, -0.642833> + 8229: < 0.729636, -0.216660, -0.648606> + 8230: < 0.765608, -0.216596, -0.605748> + 8231: < 0.757361, -0.255750, -0.600829> + 8232: < 0.729636, -0.216660, -0.648606> + 8233: < 0.736025, -0.176644, -0.653502> + 8234: < 0.772589, -0.176461, -0.609892> + 8235: < 0.765608, -0.216596, -0.605748> + 8236: < 0.736025, -0.176644, -0.653502> + 8237: < 0.741243, -0.135260, -0.657468> + 8238: < 0.778292, -0.135015, -0.613215> + 8239: < 0.772589, -0.176461, -0.609892> + 8240: < 0.741243, -0.135260, -0.657468> + 8241: < 0.745184, -0.092137, -0.660463> + 8242: < 0.782607, -0.091894, -0.615697> + 8243: < 0.778292, -0.135015, -0.613215> + 8244: < 0.745184, -0.092137, -0.660463> + 8245: < 0.747715, -0.046999, -0.662354> + 8246: < 0.785375, -0.046847, -0.617246> + 8247: < 0.782607, -0.091894, -0.615697> + 8248: < 0.747715, -0.046999, -0.662354> + 8249: < 0.748599, 0.000000, -0.663024> + 8250: < 0.786344, 0.000000, -0.617789> + 8251: < 0.785375, -0.046847, -0.617246> + 8252: < 0.748599, 0.000000, -0.663024> + 8253: < 0.747715, 0.046999, -0.662354> + 8254: < 0.785375, 0.046847, -0.617246> + 8255: < 0.786344, 0.000000, -0.617789> + 8256: < 0.747715, 0.046999, -0.662354> + 8257: < 0.745184, 0.092137, -0.660463> + 8258: < 0.782607, 0.091894, -0.615697> + 8259: < 0.785375, 0.046847, -0.617246> + 8260: < 0.745184, 0.092137, -0.660463> + 8261: < 0.741243, 0.135260, -0.657468> + 8262: < 0.778309, 0.134988, -0.613199> + 8263: < 0.782607, 0.091894, -0.615697> + 8264: < 0.741243, 0.135260, -0.657468> + 8265: < 0.736025, 0.176644, -0.653502> + 8266: < 0.772589, 0.176461, -0.609892> + 8267: < 0.778309, 0.134988, -0.613199> + 8268: < 0.736025, 0.176644, -0.653502> + 8269: < 0.729636, 0.216660, -0.648606> + 8270: < 0.765608, 0.216596, -0.605748> + 8271: < 0.772589, 0.176461, -0.609892> + 8272: < 0.729636, 0.216660, -0.648606> + 8273: < 0.722093, 0.255632, -0.642833> + 8274: < 0.757361, 0.255750, -0.600829> + 8275: < 0.765608, 0.216596, -0.605748> + 8276: < 0.722093, 0.255632, -0.642833> + 8277: < 0.713396, 0.293904, -0.636150> + 8278: < 0.747816, 0.294207, -0.595158> + 8279: < 0.757361, 0.255750, -0.600829> + 8280: < 0.713396, 0.293904, -0.636150> + 8281: < 0.703467, 0.331652, -0.628603> + 8282: < 0.736915, 0.332170, -0.588744> + 8283: < 0.747816, 0.294207, -0.595158> + 8284: < 0.703467, 0.331652, -0.628603> + 8285: < 0.692544, 0.368246, -0.620305> + 8286: < 0.724825, 0.369188, -0.581661> + 8287: < 0.736915, 0.332170, -0.588744> + 8288: < 0.692544, 0.368246, -0.620305> + 8289: < 0.680859, 0.403223, -0.611427> + 8290: < 0.711772, 0.404839, -0.574008> + 8291: < 0.724825, 0.369188, -0.581661> + 8292: < 0.680859, 0.403223, -0.611427> + 8293: < 0.668312, 0.437036, -0.601963> + 8294: < 0.697667, 0.439475, -0.565794> + 8295: < 0.711772, 0.404839, -0.574008> + 8296: < 0.668312, 0.437036, -0.601963> + 8297: < 0.655217, 0.469385, -0.591920> + 8298: < 0.682532, 0.473139, -0.557037> + 8299: < 0.697667, 0.439475, -0.565794> + 8300: < 0.655217, 0.469385, -0.591920> + 8301: < 0.641397, 0.500519, -0.581456> + 8302: < 0.666144, 0.506040, -0.547882> + 8303: < 0.682532, 0.473139, -0.557037> + 8304: < 0.641397, 0.500519, -0.581456> + 8305: < 0.625584, 0.531523, -0.571076> + 8306: < 0.647334, 0.538962, -0.538962> + 8307: < 0.666144, 0.506040, -0.547882> + 8308: < 0.625584, 0.531523, -0.571076> + 8309: < 0.607783, 0.561516, -0.561516> + 8310: < 0.625584, 0.571076, -0.531523> + 8311: < 0.647334, 0.538962, -0.538962> + 8312: < 0.625584, -0.571076, -0.531523> + 8313: < 0.647334, -0.538962, -0.538962> + 8314: < 0.666144, -0.547882, -0.506040> + 8315: < 0.641397, -0.581456, -0.500519> + 8316: < 0.647334, -0.538962, -0.538962> + 8317: < 0.666144, -0.506040, -0.547882> + 8318: < 0.687856, -0.513252, -0.513252> + 8319: < 0.666144, -0.547882, -0.506040> + 8320: < 0.666144, -0.506040, -0.547882> + 8321: < 0.682532, -0.473139, -0.557037> + 8322: < 0.706895, -0.478425, -0.520969> + 8323: < 0.687856, -0.513252, -0.513252> + 8324: < 0.682532, -0.473139, -0.557037> + 8325: < 0.697667, -0.439475, -0.565794> + 8326: < 0.724109, -0.443145, -0.528478> + 8327: < 0.706895, -0.478425, -0.520969> + 8328: < 0.697667, -0.439475, -0.565794> + 8329: < 0.711772, -0.404839, -0.574008> + 8330: < 0.739812, -0.407307, -0.535518> + 8331: < 0.724109, -0.443145, -0.528478> + 8332: < 0.711772, -0.404839, -0.574008> + 8333: < 0.724825, -0.369188, -0.581661> + 8334: < 0.754169, -0.370721, -0.542028> + 8335: < 0.739812, -0.407307, -0.535518> + 8336: < 0.724825, -0.369188, -0.581661> + 8337: < 0.736915, -0.332170, -0.588744> + 8338: < 0.767292, -0.333090, -0.548009> + 8339: < 0.754169, -0.370721, -0.542028> + 8340: < 0.736915, -0.332170, -0.588744> + 8341: < 0.747816, -0.294207, -0.595158> + 8342: < 0.779017, -0.294729, -0.553415> + 8343: < 0.767292, -0.333090, -0.548009> + 8344: < 0.747816, -0.294207, -0.595158> + 8345: < 0.757361, -0.255750, -0.600829> + 8346: < 0.789266, -0.255937, -0.558172> + 8347: < 0.779017, -0.294729, -0.553415> + 8348: < 0.757361, -0.255750, -0.600829> + 8349: < 0.765608, -0.216596, -0.605748> + 8350: < 0.798110, -0.216534, -0.562257> + 8351: < 0.789266, -0.255937, -0.558172> + 8352: < 0.765608, -0.216596, -0.605748> + 8353: < 0.772589, -0.176461, -0.609892> + 8354: < 0.805587, -0.176188, -0.565675> + 8355: < 0.798110, -0.216534, -0.562257> + 8356: < 0.772589, -0.176461, -0.609892> + 8357: < 0.778292, -0.135015, -0.613215> + 8358: < 0.811677, -0.134618, -0.568382> + 8359: < 0.805587, -0.176188, -0.565675> + 8360: < 0.778292, -0.135015, -0.613215> + 8361: < 0.782607, -0.091894, -0.615697> + 8362: < 0.816271, -0.091497, -0.570377> + 8363: < 0.811677, -0.134618, -0.568382> + 8364: < 0.782607, -0.091894, -0.615697> + 8365: < 0.785375, -0.046847, -0.617246> + 8366: < 0.819208, -0.046573, -0.571602> + 8367: < 0.816271, -0.091497, -0.570377> + 8368: < 0.785375, -0.046847, -0.617246> + 8369: < 0.786344, 0.000000, -0.617789> + 8370: < 0.820237, 0.000000, -0.572024> + 8371: < 0.819208, -0.046573, -0.571602> + 8372: < 0.786344, 0.000000, -0.617789> + 8373: < 0.785375, 0.046847, -0.617246> + 8374: < 0.819208, 0.046573, -0.571602> + 8375: < 0.820237, 0.000000, -0.572024> + 8376: < 0.785375, 0.046847, -0.617246> + 8377: < 0.782607, 0.091894, -0.615697> + 8378: < 0.816271, 0.091497, -0.570377> + 8379: < 0.819208, 0.046573, -0.571602> + 8380: < 0.782607, 0.091894, -0.615697> + 8381: < 0.778309, 0.134988, -0.613199> + 8382: < 0.811677, 0.134618, -0.568382> + 8383: < 0.816271, 0.091497, -0.570377> + 8384: < 0.778309, 0.134988, -0.613199> + 8385: < 0.772589, 0.176461, -0.609892> + 8386: < 0.805587, 0.176188, -0.565675> + 8387: < 0.811677, 0.134618, -0.568382> + 8388: < 0.772589, 0.176461, -0.609892> + 8389: < 0.765608, 0.216596, -0.605748> + 8390: < 0.798110, 0.216534, -0.562257> + 8391: < 0.805587, 0.176188, -0.565675> + 8392: < 0.765608, 0.216596, -0.605748> + 8393: < 0.757361, 0.255750, -0.600829> + 8394: < 0.789266, 0.255937, -0.558172> + 8395: < 0.798110, 0.216534, -0.562257> + 8396: < 0.757361, 0.255750, -0.600829> + 8397: < 0.747816, 0.294207, -0.595158> + 8398: < 0.779017, 0.294729, -0.553415> + 8399: < 0.789266, 0.255937, -0.558172> + 8400: < 0.747816, 0.294207, -0.595158> + 8401: < 0.736915, 0.332170, -0.588744> + 8402: < 0.767292, 0.333090, -0.548009> + 8403: < 0.779017, 0.294729, -0.553415> + 8404: < 0.736915, 0.332170, -0.588744> + 8405: < 0.724825, 0.369188, -0.581661> + 8406: < 0.754169, 0.370721, -0.542028> + 8407: < 0.767292, 0.333090, -0.548009> + 8408: < 0.724825, 0.369188, -0.581661> + 8409: < 0.711772, 0.404839, -0.574008> + 8410: < 0.739812, 0.407307, -0.535518> + 8411: < 0.754169, 0.370721, -0.542028> + 8412: < 0.711772, 0.404839, -0.574008> + 8413: < 0.697667, 0.439475, -0.565794> + 8414: < 0.724109, 0.443145, -0.528478> + 8415: < 0.739812, 0.407307, -0.535518> + 8416: < 0.697667, 0.439475, -0.565794> + 8417: < 0.682532, 0.473139, -0.557037> + 8418: < 0.706895, 0.478425, -0.520969> + 8419: < 0.724109, 0.443145, -0.528478> + 8420: < 0.682532, 0.473139, -0.557037> + 8421: < 0.666144, 0.506040, -0.547882> + 8422: < 0.687856, 0.513252, -0.513252> + 8423: < 0.706895, 0.478425, -0.520969> + 8424: < 0.666144, 0.506040, -0.547882> + 8425: < 0.647334, 0.538962, -0.538962> + 8426: < 0.666144, 0.547882, -0.506040> + 8427: < 0.687856, 0.513252, -0.513252> + 8428: < 0.647334, 0.538962, -0.538962> + 8429: < 0.625584, 0.571076, -0.531523> + 8430: < 0.641397, 0.581456, -0.500519> + 8431: < 0.666144, 0.547882, -0.506040> + 8432: < 0.641397, -0.581456, -0.500519> + 8433: < 0.666144, -0.547882, -0.506040> + 8434: < 0.682532, -0.557037, -0.473139> + 8435: < 0.655217, -0.591920, -0.469385> + 8436: < 0.666144, -0.547882, -0.506040> + 8437: < 0.687856, -0.513252, -0.513252> + 8438: < 0.706895, -0.520969, -0.478425> + 8439: < 0.682532, -0.557037, -0.473139> + 8440: < 0.687856, -0.513252, -0.513252> + 8441: < 0.706895, -0.478425, -0.520969> + 8442: < 0.728461, -0.484430, -0.484430> + 8443: < 0.706895, -0.520969, -0.478425> + 8444: < 0.706895, -0.478425, -0.520969> + 8445: < 0.724109, -0.443145, -0.528478> + 8446: < 0.747688, -0.447593, -0.490534> + 8447: < 0.728461, -0.484430, -0.484430> + 8448: < 0.724109, -0.443145, -0.528478> + 8449: < 0.739812, -0.407307, -0.535518> + 8450: < 0.764964, -0.410392, -0.496395> + 8451: < 0.747688, -0.447593, -0.490534> + 8452: < 0.739812, -0.407307, -0.535518> + 8453: < 0.754169, -0.370721, -0.542028> + 8454: < 0.780568, -0.372705, -0.501802> + 8455: < 0.764964, -0.410392, -0.496395> + 8456: < 0.754169, -0.370721, -0.542028> + 8457: < 0.767292, -0.333090, -0.548009> + 8458: < 0.794627, -0.334337, -0.506740> + 8459: < 0.780568, -0.372705, -0.501802> + 8460: < 0.767292, -0.333090, -0.548009> + 8461: < 0.779017, -0.294729, -0.553415> + 8462: < 0.807082, -0.295457, -0.511198> + 8463: < 0.794627, -0.334337, -0.506740> + 8464: < 0.779017, -0.294729, -0.553415> + 8465: < 0.789266, -0.255937, -0.558172> + 8466: < 0.817925, -0.256243, -0.515110> + 8467: < 0.807082, -0.295457, -0.511198> + 8468: < 0.789266, -0.255937, -0.558172> + 8469: < 0.798110, -0.216534, -0.562257> + 8470: < 0.827263, -0.216475, -0.518435> + 8471: < 0.817925, -0.256243, -0.515110> + 8472: < 0.798110, -0.216534, -0.562257> + 8473: < 0.805587, -0.176188, -0.565675> + 8474: < 0.835133, -0.175853, -0.521180> + 8475: < 0.827263, -0.216475, -0.518435> + 8476: < 0.805587, -0.176188, -0.565675> + 8477: < 0.811677, -0.134618, -0.568382> + 8478: < 0.841527, -0.134100, -0.523307> + 8479: < 0.835133, -0.175853, -0.521180> + 8480: < 0.811677, -0.134618, -0.568382> + 8481: < 0.816271, -0.091497, -0.570377> + 8482: < 0.846324, -0.091008, -0.524836> + 8483: < 0.841527, -0.134100, -0.523307> + 8484: < 0.816271, -0.091497, -0.570377> + 8485: < 0.819208, -0.046573, -0.571602> + 8486: < 0.849378, -0.046267, -0.525753> + 8487: < 0.846324, -0.091008, -0.524836> + 8488: < 0.819208, -0.046573, -0.571602> + 8489: < 0.820237, 0.000000, -0.572024> + 8490: < 0.850434, 0.000000, -0.526081> + 8491: < 0.849378, -0.046267, -0.525753> + 8492: < 0.820237, 0.000000, -0.572024> + 8493: < 0.819208, 0.046573, -0.571602> + 8494: < 0.849378, 0.046267, -0.525753> + 8495: < 0.850434, 0.000000, -0.526081> + 8496: < 0.819208, 0.046573, -0.571602> + 8497: < 0.816271, 0.091497, -0.570377> + 8498: < 0.846324, 0.091008, -0.524836> + 8499: < 0.849378, 0.046267, -0.525753> + 8500: < 0.816271, 0.091497, -0.570377> + 8501: < 0.811677, 0.134618, -0.568382> + 8502: < 0.841527, 0.134100, -0.523307> + 8503: < 0.846324, 0.091008, -0.524836> + 8504: < 0.811677, 0.134618, -0.568382> + 8505: < 0.805587, 0.176188, -0.565675> + 8506: < 0.835133, 0.175853, -0.521180> + 8507: < 0.841527, 0.134100, -0.523307> + 8508: < 0.805587, 0.176188, -0.565675> + 8509: < 0.798110, 0.216534, -0.562257> + 8510: < 0.827263, 0.216475, -0.518435> + 8511: < 0.835133, 0.175853, -0.521180> + 8512: < 0.798110, 0.216534, -0.562257> + 8513: < 0.789266, 0.255937, -0.558172> + 8514: < 0.817925, 0.256243, -0.515110> + 8515: < 0.827263, 0.216475, -0.518435> + 8516: < 0.789266, 0.255937, -0.558172> + 8517: < 0.779017, 0.294729, -0.553415> + 8518: < 0.807082, 0.295457, -0.511198> + 8519: < 0.817925, 0.256243, -0.515110> + 8520: < 0.779017, 0.294729, -0.553415> + 8521: < 0.767292, 0.333090, -0.548009> + 8522: < 0.794636, 0.334310, -0.506745> + 8523: < 0.807082, 0.295457, -0.511198> + 8524: < 0.767292, 0.333090, -0.548009> + 8525: < 0.754169, 0.370721, -0.542028> + 8526: < 0.780568, 0.372705, -0.501802> + 8527: < 0.794636, 0.334310, -0.506745> + 8528: < 0.754169, 0.370721, -0.542028> + 8529: < 0.739812, 0.407307, -0.535518> + 8530: < 0.764964, 0.410392, -0.496395> + 8531: < 0.780568, 0.372705, -0.501802> + 8532: < 0.739812, 0.407307, -0.535518> + 8533: < 0.724109, 0.443145, -0.528478> + 8534: < 0.747688, 0.447593, -0.490534> + 8535: < 0.764964, 0.410392, -0.496395> + 8536: < 0.724109, 0.443145, -0.528478> + 8537: < 0.706895, 0.478425, -0.520969> + 8538: < 0.728461, 0.484430, -0.484430> + 8539: < 0.747688, 0.447593, -0.490534> + 8540: < 0.706895, 0.478425, -0.520969> + 8541: < 0.687856, 0.513252, -0.513252> + 8542: < 0.706895, 0.520969, -0.478425> + 8543: < 0.728461, 0.484430, -0.484430> + 8544: < 0.687856, 0.513252, -0.513252> + 8545: < 0.666144, 0.547882, -0.506040> + 8546: < 0.682532, 0.557037, -0.473139> + 8547: < 0.706895, 0.520969, -0.478425> + 8548: < 0.666144, 0.547882, -0.506040> + 8549: < 0.641397, 0.581456, -0.500519> + 8550: < 0.655217, 0.591920, -0.469385> + 8551: < 0.682532, 0.557037, -0.473139> + 8552: < 0.655217, -0.591920, -0.469385> + 8553: < 0.682532, -0.557037, -0.473139> + 8554: < 0.697667, -0.565794, -0.439475> + 8555: < 0.668312, -0.601963, -0.437036> + 8556: < 0.682532, -0.557037, -0.473139> + 8557: < 0.706895, -0.520969, -0.478425> + 8558: < 0.724109, -0.528478, -0.443145> + 8559: < 0.697667, -0.565794, -0.439475> + 8560: < 0.706895, -0.520969, -0.478425> + 8561: < 0.728461, -0.484430, -0.484430> + 8562: < 0.747688, -0.490534, -0.447593> + 8563: < 0.724109, -0.528478, -0.443145> + 8564: < 0.728461, -0.484430, -0.484430> + 8565: < 0.747688, -0.447593, -0.490534> + 8566: < 0.768679, -0.452290, -0.452290> + 8567: < 0.747688, -0.490534, -0.447593> + 8568: < 0.747688, -0.447593, -0.490534> + 8569: < 0.764964, -0.410392, -0.496395> + 8570: < 0.787421, -0.413777, -0.456900> + 8571: < 0.768679, -0.452290, -0.452290> + 8572: < 0.764964, -0.410392, -0.496395> + 8573: < 0.780568, -0.372705, -0.501802> + 8574: < 0.804154, -0.374961, -0.461239> + 8575: < 0.787421, -0.413777, -0.456900> + 8576: < 0.780568, -0.372705, -0.501802> + 8577: < 0.794627, -0.334337, -0.506740> + 8578: < 0.819039, -0.335801, -0.465202> + 8579: < 0.804154, -0.374961, -0.461239> + 8580: < 0.794627, -0.334337, -0.506740> + 8581: < 0.807082, -0.295457, -0.511198> + 8582: < 0.832128, -0.296339, -0.468770> + 8583: < 0.819039, -0.335801, -0.465202> + 8584: < 0.807082, -0.295457, -0.511198> + 8585: < 0.817925, -0.256243, -0.515110> + 8586: < 0.843490, -0.256606, -0.471888> + 8587: < 0.832128, -0.296339, -0.468770> + 8588: < 0.817925, -0.256243, -0.515110> + 8589: < 0.827263, -0.216475, -0.518435> + 8590: < 0.853230, -0.216413, -0.474515> + 8591: < 0.843490, -0.256606, -0.471888> + 8592: < 0.827263, -0.216475, -0.518435> + 8593: < 0.835133, -0.175853, -0.521180> + 8594: < 0.861426, -0.175453, -0.476614> + 8595: < 0.853230, -0.216413, -0.474515> + 8596: < 0.835133, -0.175853, -0.521180> + 8597: < 0.841527, -0.134100, -0.523307> + 8598: < 0.868033, -0.133553, -0.478208> + 8599: < 0.861426, -0.175453, -0.476614> + 8600: < 0.841527, -0.134100, -0.523307> + 8601: < 0.846324, -0.091008, -0.524836> + 8602: < 0.872976, -0.090429, -0.479307> + 8603: < 0.868033, -0.133553, -0.478208> + 8604: < 0.846324, -0.091008, -0.524836> + 8605: < 0.849378, -0.046267, -0.525753> + 8606: < 0.876095, -0.045871, -0.479951> + 8607: < 0.872976, -0.090429, -0.479307> + 8608: < 0.849378, -0.046267, -0.525753> + 8609: < 0.850434, 0.000000, -0.526081> + 8610: < 0.877169, 0.000000, -0.480182> + 8611: < 0.876095, -0.045871, -0.479951> + 8612: < 0.850434, 0.000000, -0.526081> + 8613: < 0.849378, 0.046267, -0.525753> + 8614: < 0.876095, 0.045871, -0.479951> + 8615: < 0.877169, 0.000000, -0.480182> + 8616: < 0.849378, 0.046267, -0.525753> + 8617: < 0.846324, 0.091008, -0.524836> + 8618: < 0.872976, 0.090429, -0.479307> + 8619: < 0.876095, 0.045871, -0.479951> + 8620: < 0.846324, 0.091008, -0.524836> + 8621: < 0.841527, 0.134100, -0.523307> + 8622: < 0.868033, 0.133553, -0.478208> + 8623: < 0.872976, 0.090429, -0.479307> + 8624: < 0.841527, 0.134100, -0.523307> + 8625: < 0.835133, 0.175853, -0.521180> + 8626: < 0.861426, 0.175453, -0.476614> + 8627: < 0.868033, 0.133553, -0.478208> + 8628: < 0.835133, 0.175853, -0.521180> + 8629: < 0.827263, 0.216475, -0.518435> + 8630: < 0.853230, 0.216413, -0.474515> + 8631: < 0.861426, 0.175453, -0.476614> + 8632: < 0.827263, 0.216475, -0.518435> + 8633: < 0.817925, 0.256243, -0.515110> + 8634: < 0.843490, 0.256606, -0.471888> + 8635: < 0.853230, 0.216413, -0.474515> + 8636: < 0.817925, 0.256243, -0.515110> + 8637: < 0.807082, 0.295457, -0.511198> + 8638: < 0.832128, 0.296339, -0.468770> + 8639: < 0.843490, 0.256606, -0.471888> + 8640: < 0.807082, 0.295457, -0.511198> + 8641: < 0.794636, 0.334310, -0.506745> + 8642: < 0.819039, 0.335801, -0.465202> + 8643: < 0.832128, 0.296339, -0.468770> + 8644: < 0.794636, 0.334310, -0.506745> + 8645: < 0.780568, 0.372705, -0.501802> + 8646: < 0.804154, 0.374961, -0.461239> + 8647: < 0.819039, 0.335801, -0.465202> + 8648: < 0.780568, 0.372705, -0.501802> + 8649: < 0.764964, 0.410392, -0.496395> + 8650: < 0.787421, 0.413777, -0.456900> + 8651: < 0.804154, 0.374961, -0.461239> + 8652: < 0.764964, 0.410392, -0.496395> + 8653: < 0.747688, 0.447593, -0.490534> + 8654: < 0.768679, 0.452290, -0.452290> + 8655: < 0.787421, 0.413777, -0.456900> + 8656: < 0.747688, 0.447593, -0.490534> + 8657: < 0.728461, 0.484430, -0.484430> + 8658: < 0.747688, 0.490534, -0.447593> + 8659: < 0.768679, 0.452290, -0.452290> + 8660: < 0.728461, 0.484430, -0.484430> + 8661: < 0.706895, 0.520969, -0.478425> + 8662: < 0.724109, 0.528478, -0.443145> + 8663: < 0.747688, 0.490534, -0.447593> + 8664: < 0.706895, 0.520969, -0.478425> + 8665: < 0.682532, 0.557037, -0.473139> + 8666: < 0.697667, 0.565794, -0.439475> + 8667: < 0.724109, 0.528478, -0.443145> + 8668: < 0.682532, 0.557037, -0.473139> + 8669: < 0.655217, 0.591920, -0.469385> + 8670: < 0.668312, 0.601963, -0.437036> + 8671: < 0.697667, 0.565794, -0.439475> + 8672: < 0.668312, -0.601963, -0.437036> + 8673: < 0.697667, -0.565794, -0.439475> + 8674: < 0.711772, -0.574008, -0.404839> + 8675: < 0.680859, -0.611427, -0.403223> + 8676: < 0.697667, -0.565794, -0.439475> + 8677: < 0.724109, -0.528478, -0.443145> + 8678: < 0.739812, -0.535518, -0.407307> + 8679: < 0.711772, -0.574008, -0.404839> + 8680: < 0.724109, -0.528478, -0.443145> + 8681: < 0.747688, -0.490534, -0.447593> + 8682: < 0.764964, -0.496395, -0.410392> + 8683: < 0.739812, -0.535518, -0.407307> + 8684: < 0.747688, -0.490534, -0.447593> + 8685: < 0.768679, -0.452290, -0.452290> + 8686: < 0.787421, -0.456900, -0.413777> + 8687: < 0.764964, -0.496395, -0.410392> + 8688: < 0.768679, -0.452290, -0.452290> + 8689: < 0.787421, -0.413777, -0.456900> + 8690: < 0.807394, -0.417202, -0.417202> + 8691: < 0.787421, -0.456900, -0.413777> + 8692: < 0.787421, -0.413777, -0.456900> + 8693: < 0.804154, -0.374961, -0.461239> + 8694: < 0.825100, -0.377345, -0.420500> + 8695: < 0.807394, -0.417202, -0.417202> + 8696: < 0.804154, -0.374961, -0.461239> + 8697: < 0.819039, -0.335801, -0.465202> + 8698: < 0.840684, -0.337391, -0.423577> + 8699: < 0.825100, -0.377345, -0.420500> + 8700: < 0.819039, -0.335801, -0.465202> + 8701: < 0.832128, -0.296339, -0.468770> + 8702: < 0.854324, -0.297287, -0.426323> + 8703: < 0.840684, -0.337391, -0.423577> + 8704: < 0.832128, -0.296339, -0.468770> + 8705: < 0.843490, -0.256606, -0.471888> + 8706: < 0.866124, -0.256999, -0.428698> + 8707: < 0.854324, -0.297287, -0.426323> + 8708: < 0.843490, -0.256606, -0.471888> + 8709: < 0.853230, -0.216413, -0.474515> + 8710: < 0.876208, -0.216320, -0.430657> + 8711: < 0.866124, -0.256999, -0.428698> + 8712: < 0.853230, -0.216413, -0.474515> + 8713: < 0.861426, -0.175453, -0.476614> + 8714: < 0.884654, -0.175026, -0.432149> + 8715: < 0.876208, -0.216320, -0.430657> + 8716: < 0.861426, -0.175453, -0.476614> + 8717: < 0.868033, -0.133553, -0.478208> + 8718: < 0.891416, -0.132913, -0.433256> + 8719: < 0.884654, -0.175026, -0.432149> + 8720: < 0.868033, -0.133553, -0.478208> + 8721: < 0.872976, -0.090429, -0.479307> + 8722: < 0.896437, -0.089787, -0.433981> + 8723: < 0.891416, -0.132913, -0.433256> + 8724: < 0.872976, -0.090429, -0.479307> + 8725: < 0.876095, -0.045871, -0.479951> + 8726: < 0.899583, -0.045443, -0.434379> + 8727: < 0.896437, -0.089787, -0.433981> + 8728: < 0.876095, -0.045871, -0.479951> + 8729: < 0.877169, 0.000000, -0.480182> + 8730: < 0.900655, 0.000000, -0.434534> + 8731: < 0.899583, -0.045443, -0.434379> + 8732: < 0.877169, 0.000000, -0.480182> + 8733: < 0.876095, 0.045871, -0.479951> + 8734: < 0.899583, 0.045443, -0.434379> + 8735: < 0.900655, 0.000000, -0.434534> + 8736: < 0.876095, 0.045871, -0.479951> + 8737: < 0.872976, 0.090429, -0.479307> + 8738: < 0.896437, 0.089787, -0.433981> + 8739: < 0.899583, 0.045443, -0.434379> + 8740: < 0.872976, 0.090429, -0.479307> + 8741: < 0.868033, 0.133553, -0.478208> + 8742: < 0.891405, 0.132911, -0.433281> + 8743: < 0.896437, 0.089787, -0.433981> + 8744: < 0.868033, 0.133553, -0.478208> + 8745: < 0.861426, 0.175453, -0.476614> + 8746: < 0.884654, 0.175026, -0.432149> + 8747: < 0.891405, 0.132911, -0.433281> + 8748: < 0.861426, 0.175453, -0.476614> + 8749: < 0.853230, 0.216413, -0.474515> + 8750: < 0.876208, 0.216320, -0.430657> + 8751: < 0.884654, 0.175026, -0.432149> + 8752: < 0.853230, 0.216413, -0.474515> + 8753: < 0.843490, 0.256606, -0.471888> + 8754: < 0.866124, 0.256999, -0.428698> + 8755: < 0.876208, 0.216320, -0.430657> + 8756: < 0.843490, 0.256606, -0.471888> + 8757: < 0.832128, 0.296339, -0.468770> + 8758: < 0.854324, 0.297287, -0.426323> + 8759: < 0.866124, 0.256999, -0.428698> + 8760: < 0.832128, 0.296339, -0.468770> + 8761: < 0.819039, 0.335801, -0.465202> + 8762: < 0.840684, 0.337391, -0.423577> + 8763: < 0.854324, 0.297287, -0.426323> + 8764: < 0.819039, 0.335801, -0.465202> + 8765: < 0.804154, 0.374961, -0.461239> + 8766: < 0.825100, 0.377345, -0.420500> + 8767: < 0.840684, 0.337391, -0.423577> + 8768: < 0.804154, 0.374961, -0.461239> + 8769: < 0.787421, 0.413777, -0.456900> + 8770: < 0.807394, 0.417202, -0.417202> + 8771: < 0.825100, 0.377345, -0.420500> + 8772: < 0.787421, 0.413777, -0.456900> + 8773: < 0.768679, 0.452290, -0.452290> + 8774: < 0.787421, 0.456900, -0.413777> + 8775: < 0.807394, 0.417202, -0.417202> + 8776: < 0.768679, 0.452290, -0.452290> + 8777: < 0.747688, 0.490534, -0.447593> + 8778: < 0.764976, 0.496372, -0.410398> + 8779: < 0.787421, 0.456900, -0.413777> + 8780: < 0.747688, 0.490534, -0.447593> + 8781: < 0.724109, 0.528478, -0.443145> + 8782: < 0.739812, 0.535518, -0.407307> + 8783: < 0.764976, 0.496372, -0.410398> + 8784: < 0.724109, 0.528478, -0.443145> + 8785: < 0.697667, 0.565794, -0.439475> + 8786: < 0.711772, 0.574008, -0.404839> + 8787: < 0.739812, 0.535518, -0.407307> + 8788: < 0.697667, 0.565794, -0.439475> + 8789: < 0.668312, 0.601963, -0.437036> + 8790: < 0.680859, 0.611427, -0.403223> + 8791: < 0.711772, 0.574008, -0.404839> + 8792: < 0.680859, -0.611427, -0.403223> + 8793: < 0.711772, -0.574008, -0.404839> + 8794: < 0.724825, -0.581661, -0.369188> + 8795: < 0.692544, -0.620305, -0.368246> + 8796: < 0.711772, -0.574008, -0.404839> + 8797: < 0.739812, -0.535518, -0.407307> + 8798: < 0.754169, -0.542028, -0.370721> + 8799: < 0.724825, -0.581661, -0.369188> + 8800: < 0.739812, -0.535518, -0.407307> + 8801: < 0.764964, -0.496395, -0.410392> + 8802: < 0.780568, -0.501802, -0.372705> + 8803: < 0.754169, -0.542028, -0.370721> + 8804: < 0.764964, -0.496395, -0.410392> + 8805: < 0.787421, -0.456900, -0.413777> + 8806: < 0.804154, -0.461239, -0.374961> + 8807: < 0.780568, -0.501802, -0.372705> + 8808: < 0.787421, -0.456900, -0.413777> + 8809: < 0.807394, -0.417202, -0.417202> + 8810: < 0.825100, -0.420500, -0.377345> + 8811: < 0.804154, -0.461239, -0.374961> + 8812: < 0.807394, -0.417202, -0.417202> + 8813: < 0.825100, -0.377345, -0.420500> + 8814: < 0.843551, -0.379751, -0.379751> + 8815: < 0.825100, -0.420500, -0.377345> + 8816: < 0.825100, -0.377345, -0.420500> + 8817: < 0.840684, -0.337391, -0.423577> + 8818: < 0.859750, -0.339005, -0.381976> + 8819: < 0.843551, -0.379751, -0.379751> + 8820: < 0.840684, -0.337391, -0.423577> + 8821: < 0.854324, -0.297287, -0.426323> + 8822: < 0.873840, -0.298259, -0.383986> + 8823: < 0.859750, -0.339005, -0.381976> + 8824: < 0.854324, -0.297287, -0.426323> + 8825: < 0.866124, -0.256999, -0.428698> + 8826: < 0.886018, -0.257364, -0.385664> + 8827: < 0.873840, -0.298259, -0.383986> + 8828: < 0.866124, -0.256999, -0.428698> + 8829: < 0.876208, -0.216320, -0.430657> + 8830: < 0.896382, -0.216199, -0.386985> + 8831: < 0.886018, -0.257364, -0.385664> + 8832: < 0.876208, -0.216320, -0.430657> + 8833: < 0.884654, -0.175026, -0.432149> + 8834: < 0.904997, -0.174541, -0.387965> + 8835: < 0.896382, -0.216199, -0.386985> + 8836: < 0.884654, -0.175026, -0.432149> + 8837: < 0.891416, -0.132913, -0.433256> + 8838: < 0.911854, -0.132240, -0.388632> + 8839: < 0.904997, -0.174541, -0.387965> + 8840: < 0.891416, -0.132913, -0.433256> + 8841: < 0.896437, -0.089787, -0.433981> + 8842: < 0.916918, -0.089116, -0.388998> + 8843: < 0.911854, -0.132240, -0.388632> + 8844: < 0.896437, -0.089787, -0.433981> + 8845: < 0.899583, -0.045443, -0.434379> + 8846: < 0.920061, -0.045016, -0.389180> + 8847: < 0.916918, -0.089116, -0.388998> + 8848: < 0.899583, -0.045443, -0.434379> + 8849: < 0.900655, 0.000000, -0.434534> + 8850: < 0.921135, 0.000000, -0.389244> + 8851: < 0.920061, -0.045016, -0.389180> + 8852: < 0.900655, 0.000000, -0.434534> + 8853: < 0.899583, 0.045443, -0.434379> + 8854: < 0.920061, 0.045016, -0.389180> + 8855: < 0.921135, 0.000000, -0.389244> + 8856: < 0.899583, 0.045443, -0.434379> + 8857: < 0.896437, 0.089787, -0.433981> + 8858: < 0.916918, 0.089116, -0.388998> + 8859: < 0.920061, 0.045016, -0.389180> + 8860: < 0.896437, 0.089787, -0.433981> + 8861: < 0.891405, 0.132911, -0.433281> + 8862: < 0.911854, 0.132240, -0.388632> + 8863: < 0.916918, 0.089116, -0.388998> + 8864: < 0.891405, 0.132911, -0.433281> + 8865: < 0.884654, 0.175026, -0.432149> + 8866: < 0.904997, 0.174541, -0.387965> + 8867: < 0.911854, 0.132240, -0.388632> + 8868: < 0.884654, 0.175026, -0.432149> + 8869: < 0.876208, 0.216320, -0.430657> + 8870: < 0.896382, 0.216199, -0.386985> + 8871: < 0.904997, 0.174541, -0.387965> + 8872: < 0.876208, 0.216320, -0.430657> + 8873: < 0.866124, 0.256999, -0.428698> + 8874: < 0.886018, 0.257364, -0.385664> + 8875: < 0.896382, 0.216199, -0.386985> + 8876: < 0.866124, 0.256999, -0.428698> + 8877: < 0.854324, 0.297287, -0.426323> + 8878: < 0.873848, 0.298231, -0.383989> + 8879: < 0.886018, 0.257364, -0.385664> + 8880: < 0.854324, 0.297287, -0.426323> + 8881: < 0.840684, 0.337391, -0.423577> + 8882: < 0.859750, 0.339005, -0.381976> + 8883: < 0.873848, 0.298231, -0.383989> + 8884: < 0.840684, 0.337391, -0.423577> + 8885: < 0.825100, 0.377345, -0.420500> + 8886: < 0.843551, 0.379751, -0.379751> + 8887: < 0.859750, 0.339005, -0.381976> + 8888: < 0.825100, 0.377345, -0.420500> + 8889: < 0.807394, 0.417202, -0.417202> + 8890: < 0.825100, 0.420500, -0.377345> + 8891: < 0.843551, 0.379751, -0.379751> + 8892: < 0.807394, 0.417202, -0.417202> + 8893: < 0.787421, 0.456900, -0.413777> + 8894: < 0.804154, 0.461239, -0.374961> + 8895: < 0.825100, 0.420500, -0.377345> + 8896: < 0.787421, 0.456900, -0.413777> + 8897: < 0.764976, 0.496372, -0.410398> + 8898: < 0.780568, 0.501802, -0.372705> + 8899: < 0.804154, 0.461239, -0.374961> + 8900: < 0.764976, 0.496372, -0.410398> + 8901: < 0.739812, 0.535518, -0.407307> + 8902: < 0.754169, 0.542028, -0.370721> + 8903: < 0.780568, 0.501802, -0.372705> + 8904: < 0.739812, 0.535518, -0.407307> + 8905: < 0.711772, 0.574008, -0.404839> + 8906: < 0.724825, 0.581661, -0.369188> + 8907: < 0.754169, 0.542028, -0.370721> + 8908: < 0.711772, 0.574008, -0.404839> + 8909: < 0.680859, 0.611427, -0.403223> + 8910: < 0.692544, 0.620305, -0.368246> + 8911: < 0.724825, 0.581661, -0.369188> + 8912: < 0.692544, -0.620305, -0.368246> + 8913: < 0.724825, -0.581661, -0.369188> + 8914: < 0.736915, -0.588744, -0.332170> + 8915: < 0.703467, -0.628603, -0.331652> + 8916: < 0.724825, -0.581661, -0.369188> + 8917: < 0.754169, -0.542028, -0.370721> + 8918: < 0.767292, -0.548009, -0.333090> + 8919: < 0.736915, -0.588744, -0.332170> + 8920: < 0.754169, -0.542028, -0.370721> + 8921: < 0.780568, -0.501802, -0.372705> + 8922: < 0.794636, -0.506745, -0.334310> + 8923: < 0.767292, -0.548009, -0.333090> + 8924: < 0.780568, -0.501802, -0.372705> + 8925: < 0.804154, -0.461239, -0.374961> + 8926: < 0.819039, -0.465202, -0.335801> + 8927: < 0.794636, -0.506745, -0.334310> + 8928: < 0.804154, -0.461239, -0.374961> + 8929: < 0.825100, -0.420500, -0.377345> + 8930: < 0.840684, -0.423577, -0.337391> + 8931: < 0.819039, -0.465202, -0.335801> + 8932: < 0.825100, -0.420500, -0.377345> + 8933: < 0.843551, -0.379751, -0.379751> + 8934: < 0.859750, -0.381976, -0.339005> + 8935: < 0.840684, -0.423577, -0.337391> + 8936: < 0.843551, -0.379751, -0.379751> + 8937: < 0.859750, -0.339005, -0.381976> + 8938: < 0.876422, -0.340503, -0.340503> + 8939: < 0.859750, -0.381976, -0.339005> + 8940: < 0.859750, -0.339005, -0.381976> + 8941: < 0.873840, -0.298259, -0.383986> + 8942: < 0.890906, -0.299085, -0.341811> + 8943: < 0.876422, -0.340503, -0.340503> + 8944: < 0.873840, -0.298259, -0.383986> + 8945: < 0.886018, -0.257364, -0.385664> + 8946: < 0.903367, -0.257643, -0.342852> + 8947: < 0.890906, -0.299085, -0.341811> + 8948: < 0.886018, -0.257364, -0.385664> + 8949: < 0.896382, -0.216199, -0.386985> + 8950: < 0.913949, -0.215982, -0.343582> + 8951: < 0.903367, -0.257643, -0.342852> + 8952: < 0.896382, -0.216199, -0.386985> + 8953: < 0.904997, -0.174541, -0.387965> + 8954: < 0.922682, -0.173989, -0.344072> + 8955: < 0.913949, -0.215982, -0.343582> + 8956: < 0.904997, -0.174541, -0.387965> + 8957: < 0.911854, -0.132240, -0.388632> + 8958: < 0.929596, -0.131509, -0.344322> + 8959: < 0.922682, -0.173989, -0.344072> + 8960: < 0.911854, -0.132240, -0.388632> + 8961: < 0.916918, -0.089116, -0.388998> + 8962: < 0.934648, -0.088414, -0.344408> + 8963: < 0.929596, -0.131509, -0.344322> + 8964: < 0.916918, -0.089116, -0.388998> + 8965: < 0.920061, -0.045016, -0.389180> + 8966: < 0.937762, -0.044558, -0.344409> + 8967: < 0.934648, -0.088414, -0.344408> + 8968: < 0.920061, -0.045016, -0.389180> + 8969: < 0.921135, 0.000000, -0.389244> + 8970: < 0.938821, 0.000000, -0.344405> + 8971: < 0.937762, -0.044558, -0.344409> + 8972: < 0.921135, 0.000000, -0.389244> + 8973: < 0.920061, 0.045016, -0.389180> + 8974: < 0.937762, 0.044558, -0.344409> + 8975: < 0.938821, 0.000000, -0.344405> + 8976: < 0.920061, 0.045016, -0.389180> + 8977: < 0.916918, 0.089116, -0.388998> + 8978: < 0.934648, 0.088414, -0.344408> + 8979: < 0.937762, 0.044558, -0.344409> + 8980: < 0.916918, 0.089116, -0.388998> + 8981: < 0.911854, 0.132240, -0.388632> + 8982: < 0.929596, 0.131509, -0.344322> + 8983: < 0.934648, 0.088414, -0.344408> + 8984: < 0.911854, 0.132240, -0.388632> + 8985: < 0.904997, 0.174541, -0.387965> + 8986: < 0.922682, 0.173989, -0.344072> + 8987: < 0.929596, 0.131509, -0.344322> + 8988: < 0.904997, 0.174541, -0.387965> + 8989: < 0.896382, 0.216199, -0.386985> + 8990: < 0.913949, 0.215982, -0.343582> + 8991: < 0.922682, 0.173989, -0.344072> + 8992: < 0.896382, 0.216199, -0.386985> + 8993: < 0.886018, 0.257364, -0.385664> + 8994: < 0.903367, 0.257643, -0.342852> + 8995: < 0.913949, 0.215982, -0.343582> + 8996: < 0.886018, 0.257364, -0.385664> + 8997: < 0.873848, 0.298231, -0.383989> + 8998: < 0.890906, 0.299085, -0.341811> + 8999: < 0.903367, 0.257643, -0.342852> + 9000: < 0.873848, 0.298231, -0.383989> + 9001: < 0.859750, 0.339005, -0.381976> + 9002: < 0.876422, 0.340503, -0.340503> + 9003: < 0.890906, 0.299085, -0.341811> + 9004: < 0.859750, 0.339005, -0.381976> + 9005: < 0.843551, 0.379751, -0.379751> + 9006: < 0.859750, 0.381976, -0.339005> + 9007: < 0.876422, 0.340503, -0.340503> + 9008: < 0.843551, 0.379751, -0.379751> + 9009: < 0.825100, 0.420500, -0.377345> + 9010: < 0.840684, 0.423577, -0.337391> + 9011: < 0.859750, 0.381976, -0.339005> + 9012: < 0.825100, 0.420500, -0.377345> + 9013: < 0.804154, 0.461239, -0.374961> + 9014: < 0.819039, 0.465202, -0.335801> + 9015: < 0.840684, 0.423577, -0.337391> + 9016: < 0.804154, 0.461239, -0.374961> + 9017: < 0.780568, 0.501802, -0.372705> + 9018: < 0.794636, 0.506745, -0.334310> + 9019: < 0.819039, 0.465202, -0.335801> + 9020: < 0.780568, 0.501802, -0.372705> + 9021: < 0.754169, 0.542028, -0.370721> + 9022: < 0.767292, 0.548009, -0.333090> + 9023: < 0.794636, 0.506745, -0.334310> + 9024: < 0.754169, 0.542028, -0.370721> + 9025: < 0.724825, 0.581661, -0.369188> + 9026: < 0.736915, 0.588744, -0.332170> + 9027: < 0.767292, 0.548009, -0.333090> + 9028: < 0.724825, 0.581661, -0.369188> + 9029: < 0.692544, 0.620305, -0.368246> + 9030: < 0.703467, 0.628603, -0.331652> + 9031: < 0.736915, 0.588744, -0.332170> + 9032: < 0.703467, -0.628603, -0.331652> + 9033: < 0.736915, -0.588744, -0.332170> + 9034: < 0.747816, -0.595158, -0.294207> + 9035: < 0.713382, -0.636169, -0.293898> + 9036: < 0.736915, -0.588744, -0.332170> + 9037: < 0.767292, -0.548009, -0.333090> + 9038: < 0.779017, -0.553415, -0.294729> + 9039: < 0.747816, -0.595158, -0.294207> + 9040: < 0.767292, -0.548009, -0.333090> + 9041: < 0.794636, -0.506745, -0.334310> + 9042: < 0.807082, -0.511198, -0.295457> + 9043: < 0.779017, -0.553415, -0.294729> + 9044: < 0.794636, -0.506745, -0.334310> + 9045: < 0.819039, -0.465202, -0.335801> + 9046: < 0.832128, -0.468770, -0.296339> + 9047: < 0.807082, -0.511198, -0.295457> + 9048: < 0.819039, -0.465202, -0.335801> + 9049: < 0.840684, -0.423577, -0.337391> + 9050: < 0.854324, -0.426323, -0.297287> + 9051: < 0.832128, -0.468770, -0.296339> + 9052: < 0.840684, -0.423577, -0.337391> + 9053: < 0.859750, -0.381976, -0.339005> + 9054: < 0.873848, -0.383989, -0.298231> + 9055: < 0.854324, -0.426323, -0.297287> + 9056: < 0.859750, -0.381976, -0.339005> + 9057: < 0.876422, -0.340503, -0.340503> + 9058: < 0.890906, -0.341811, -0.299085> + 9059: < 0.873848, -0.383989, -0.298231> + 9060: < 0.876422, -0.340503, -0.340503> + 9061: < 0.890906, -0.299085, -0.341811> + 9062: < 0.905696, -0.299762, -0.299762> + 9063: < 0.890906, -0.341811, -0.299085> + 9064: < 0.890906, -0.299085, -0.341811> + 9065: < 0.903367, -0.257643, -0.342852> + 9066: < 0.918390, -0.257736, -0.300219> + 9067: < 0.905696, -0.299762, -0.299762> + 9068: < 0.903367, -0.257643, -0.342852> + 9069: < 0.913949, -0.215982, -0.343582> + 9070: < 0.929096, -0.215649, -0.300461> + 9071: < 0.918390, -0.257736, -0.300219> + 9072: < 0.913949, -0.215982, -0.343582> + 9073: < 0.922682, -0.173989, -0.344072> + 9074: < 0.937897, -0.173351, -0.300496> + 9075: < 0.929096, -0.215649, -0.300461> + 9076: < 0.922682, -0.173989, -0.344072> + 9077: < 0.929596, -0.131509, -0.344322> + 9078: < 0.944802, -0.130743, -0.300427> + 9079: < 0.937897, -0.173351, -0.300496> + 9080: < 0.929596, -0.131509, -0.344322> + 9081: < 0.934648, -0.088414, -0.344408> + 9082: < 0.949820, -0.087712, -0.300248> + 9083: < 0.944802, -0.130743, -0.300427> + 9084: < 0.934648, -0.088414, -0.344408> + 9085: < 0.937762, -0.044558, -0.344409> + 9086: < 0.952889, -0.044130, -0.300092> + 9087: < 0.949820, -0.087712, -0.300248> + 9088: < 0.937762, -0.044558, -0.344409> + 9089: < 0.938821, 0.000000, -0.344405> + 9090: < 0.953921, 0.000000, -0.300059> + 9091: < 0.952889, -0.044130, -0.300092> + 9092: < 0.938821, 0.000000, -0.344405> + 9093: < 0.937762, 0.044558, -0.344409> + 9094: < 0.952889, 0.044130, -0.300092> + 9095: < 0.953921, 0.000000, -0.300059> + 9096: < 0.937762, 0.044558, -0.344409> + 9097: < 0.934648, 0.088414, -0.344408> + 9098: < 0.949820, 0.087712, -0.300248> + 9099: < 0.952889, 0.044130, -0.300092> + 9100: < 0.934648, 0.088414, -0.344408> + 9101: < 0.929596, 0.131509, -0.344322> + 9102: < 0.944802, 0.130743, -0.300427> + 9103: < 0.949820, 0.087712, -0.300248> + 9104: < 0.929596, 0.131509, -0.344322> + 9105: < 0.922682, 0.173989, -0.344072> + 9106: < 0.937897, 0.173351, -0.300496> + 9107: < 0.944802, 0.130743, -0.300427> + 9108: < 0.922682, 0.173989, -0.344072> + 9109: < 0.913949, 0.215982, -0.343582> + 9110: < 0.929096, 0.215649, -0.300461> + 9111: < 0.937897, 0.173351, -0.300496> + 9112: < 0.913949, 0.215982, -0.343582> + 9113: < 0.903367, 0.257643, -0.342852> + 9114: < 0.918390, 0.257736, -0.300219> + 9115: < 0.929096, 0.215649, -0.300461> + 9116: < 0.903367, 0.257643, -0.342852> + 9117: < 0.890906, 0.299085, -0.341811> + 9118: < 0.905696, 0.299762, -0.299762> + 9119: < 0.918390, 0.257736, -0.300219> + 9120: < 0.890906, 0.299085, -0.341811> + 9121: < 0.876422, 0.340503, -0.340503> + 9122: < 0.890906, 0.341811, -0.299085> + 9123: < 0.905696, 0.299762, -0.299762> + 9124: < 0.876422, 0.340503, -0.340503> + 9125: < 0.859750, 0.381976, -0.339005> + 9126: < 0.873851, 0.383960, -0.298262> + 9127: < 0.890906, 0.341811, -0.299085> + 9128: < 0.859750, 0.381976, -0.339005> + 9129: < 0.840684, 0.423577, -0.337391> + 9130: < 0.854324, 0.426323, -0.297287> + 9131: < 0.873851, 0.383960, -0.298262> + 9132: < 0.840684, 0.423577, -0.337391> + 9133: < 0.819039, 0.465202, -0.335801> + 9134: < 0.832128, 0.468770, -0.296339> + 9135: < 0.854324, 0.426323, -0.297287> + 9136: < 0.819039, 0.465202, -0.335801> + 9137: < 0.794636, 0.506745, -0.334310> + 9138: < 0.807082, 0.511198, -0.295457> + 9139: < 0.832128, 0.468770, -0.296339> + 9140: < 0.794636, 0.506745, -0.334310> + 9141: < 0.767292, 0.548009, -0.333090> + 9142: < 0.779017, 0.553415, -0.294729> + 9143: < 0.807082, 0.511198, -0.295457> + 9144: < 0.767292, 0.548009, -0.333090> + 9145: < 0.736915, 0.588744, -0.332170> + 9146: < 0.747816, 0.595158, -0.294207> + 9147: < 0.779017, 0.553415, -0.294729> + 9148: < 0.736915, 0.588744, -0.332170> + 9149: < 0.703467, 0.628603, -0.331652> + 9150: < 0.713396, 0.636150, -0.293904> + 9151: < 0.747816, 0.595158, -0.294207> + 9152: < 0.713382, -0.636169, -0.293898> + 9153: < 0.747816, -0.595158, -0.294207> + 9154: < 0.757361, -0.600829, -0.255750> + 9155: < 0.722093, -0.642833, -0.255632> + 9156: < 0.747816, -0.595158, -0.294207> + 9157: < 0.779017, -0.553415, -0.294729> + 9158: < 0.789266, -0.558172, -0.255937> + 9159: < 0.757361, -0.600829, -0.255750> + 9160: < 0.779017, -0.553415, -0.294729> + 9161: < 0.807082, -0.511198, -0.295457> + 9162: < 0.817925, -0.515110, -0.256243> + 9163: < 0.789266, -0.558172, -0.255937> + 9164: < 0.807082, -0.511198, -0.295457> + 9165: < 0.832128, -0.468770, -0.296339> + 9166: < 0.843490, -0.471888, -0.256606> + 9167: < 0.817925, -0.515110, -0.256243> + 9168: < 0.832128, -0.468770, -0.296339> + 9169: < 0.854324, -0.426323, -0.297287> + 9170: < 0.866124, -0.428698, -0.256999> + 9171: < 0.843490, -0.471888, -0.256606> + 9172: < 0.854324, -0.426323, -0.297287> + 9173: < 0.873848, -0.383989, -0.298231> + 9174: < 0.886018, -0.385664, -0.257364> + 9175: < 0.866124, -0.428698, -0.256999> + 9176: < 0.873848, -0.383989, -0.298231> + 9177: < 0.890906, -0.341811, -0.299085> + 9178: < 0.903367, -0.342852, -0.257643> + 9179: < 0.886018, -0.385664, -0.257364> + 9180: < 0.890906, -0.341811, -0.299085> + 9181: < 0.905696, -0.299762, -0.299762> + 9182: < 0.918390, -0.300219, -0.257736> + 9183: < 0.903367, -0.342852, -0.257643> + 9184: < 0.905696, -0.299762, -0.299762> + 9185: < 0.918390, -0.257736, -0.300219> + 9186: < 0.931225, -0.257702, -0.257702> + 9187: < 0.918390, -0.300219, -0.257736> + 9188: < 0.918390, -0.257736, -0.300219> + 9189: < 0.929096, -0.215649, -0.300461> + 9190: < 0.942000, -0.215220, -0.257519> + 9191: < 0.931225, -0.257702, -0.257702> + 9192: < 0.929096, -0.215649, -0.300461> + 9193: < 0.937897, -0.173351, -0.300496> + 9194: < 0.950800, -0.172679, -0.257217> + 9195: < 0.942000, -0.215220, -0.257519> + 9196: < 0.937897, -0.173351, -0.300496> + 9197: < 0.944802, -0.130743, -0.300427> + 9198: < 0.957663, -0.129981, -0.256880> + 9199: < 0.950800, -0.172679, -0.257217> + 9200: < 0.944802, -0.130743, -0.300427> + 9201: < 0.949820, -0.087712, -0.300248> + 9202: < 0.962605, -0.087041, -0.256544> + 9203: < 0.957663, -0.129981, -0.256880> + 9204: < 0.949820, -0.087712, -0.300248> + 9205: < 0.952889, -0.044130, -0.300092> + 9206: < 0.965618, -0.043703, -0.256267> + 9207: < 0.962605, -0.087041, -0.256544> + 9208: < 0.952889, -0.044130, -0.300092> + 9209: < 0.953921, 0.000000, -0.300059> + 9210: < 0.966630, 0.000000, -0.256177> + 9211: < 0.965618, -0.043703, -0.256267> + 9212: < 0.953921, 0.000000, -0.300059> + 9213: < 0.952889, 0.044130, -0.300092> + 9214: < 0.965618, 0.043703, -0.256267> + 9215: < 0.966630, 0.000000, -0.256177> + 9216: < 0.952889, 0.044130, -0.300092> + 9217: < 0.949820, 0.087712, -0.300248> + 9218: < 0.962605, 0.087041, -0.256544> + 9219: < 0.965618, 0.043703, -0.256267> + 9220: < 0.949820, 0.087712, -0.300248> + 9221: < 0.944802, 0.130743, -0.300427> + 9222: < 0.957663, 0.129981, -0.256880> + 9223: < 0.962605, 0.087041, -0.256544> + 9224: < 0.944802, 0.130743, -0.300427> + 9225: < 0.937897, 0.173351, -0.300496> + 9226: < 0.950800, 0.172679, -0.257217> + 9227: < 0.957663, 0.129981, -0.256880> + 9228: < 0.937897, 0.173351, -0.300496> + 9229: < 0.929096, 0.215649, -0.300461> + 9230: < 0.942000, 0.215220, -0.257519> + 9231: < 0.950800, 0.172679, -0.257217> + 9232: < 0.929096, 0.215649, -0.300461> + 9233: < 0.918390, 0.257736, -0.300219> + 9234: < 0.931225, 0.257702, -0.257702> + 9235: < 0.942000, 0.215220, -0.257519> + 9236: < 0.918390, 0.257736, -0.300219> + 9237: < 0.905696, 0.299762, -0.299762> + 9238: < 0.918390, 0.300219, -0.257736> + 9239: < 0.931225, 0.257702, -0.257702> + 9240: < 0.905696, 0.299762, -0.299762> + 9241: < 0.890906, 0.341811, -0.299085> + 9242: < 0.903367, 0.342852, -0.257643> + 9243: < 0.918390, 0.300219, -0.257736> + 9244: < 0.890906, 0.341811, -0.299085> + 9245: < 0.873851, 0.383960, -0.298262> + 9246: < 0.886018, 0.385664, -0.257364> + 9247: < 0.903367, 0.342852, -0.257643> + 9248: < 0.873851, 0.383960, -0.298262> + 9249: < 0.854324, 0.426323, -0.297287> + 9250: < 0.866124, 0.428698, -0.256999> + 9251: < 0.886018, 0.385664, -0.257364> + 9252: < 0.854324, 0.426323, -0.297287> + 9253: < 0.832128, 0.468770, -0.296339> + 9254: < 0.843490, 0.471888, -0.256606> + 9255: < 0.866124, 0.428698, -0.256999> + 9256: < 0.832128, 0.468770, -0.296339> + 9257: < 0.807082, 0.511198, -0.295457> + 9258: < 0.817925, 0.515110, -0.256243> + 9259: < 0.843490, 0.471888, -0.256606> + 9260: < 0.807082, 0.511198, -0.295457> + 9261: < 0.779017, 0.553415, -0.294729> + 9262: < 0.789266, 0.558172, -0.255937> + 9263: < 0.817925, 0.515110, -0.256243> + 9264: < 0.779017, 0.553415, -0.294729> + 9265: < 0.747816, 0.595158, -0.294207> + 9266: < 0.757361, 0.600829, -0.255750> + 9267: < 0.789266, 0.558172, -0.255937> + 9268: < 0.747816, 0.595158, -0.294207> + 9269: < 0.713396, 0.636150, -0.293904> + 9270: < 0.722093, 0.642833, -0.255632> + 9271: < 0.757361, 0.600829, -0.255750> + 9272: < 0.722093, -0.642833, -0.255632> + 9273: < 0.757361, -0.600829, -0.255750> + 9274: < 0.765608, -0.605748, -0.216596> + 9275: < 0.729636, -0.648606, -0.216660> + 9276: < 0.757361, -0.600829, -0.255750> + 9277: < 0.789266, -0.558172, -0.255937> + 9278: < 0.798110, -0.562257, -0.216534> + 9279: < 0.765608, -0.605748, -0.216596> + 9280: < 0.789266, -0.558172, -0.255937> + 9281: < 0.817925, -0.515110, -0.256243> + 9282: < 0.827263, -0.518435, -0.216475> + 9283: < 0.798110, -0.562257, -0.216534> + 9284: < 0.817925, -0.515110, -0.256243> + 9285: < 0.843490, -0.471888, -0.256606> + 9286: < 0.853230, -0.474515, -0.216413> + 9287: < 0.827263, -0.518435, -0.216475> + 9288: < 0.843490, -0.471888, -0.256606> + 9289: < 0.866124, -0.428698, -0.256999> + 9290: < 0.876208, -0.430657, -0.216320> + 9291: < 0.853230, -0.474515, -0.216413> + 9292: < 0.866124, -0.428698, -0.256999> + 9293: < 0.886018, -0.385664, -0.257364> + 9294: < 0.896382, -0.386985, -0.216199> + 9295: < 0.876208, -0.430657, -0.216320> + 9296: < 0.886018, -0.385664, -0.257364> + 9297: < 0.903367, -0.342852, -0.257643> + 9298: < 0.913949, -0.343582, -0.215982> + 9299: < 0.896382, -0.386985, -0.216199> + 9300: < 0.903367, -0.342852, -0.257643> + 9301: < 0.918390, -0.300219, -0.257736> + 9302: < 0.929096, -0.300461, -0.215649> + 9303: < 0.913949, -0.343582, -0.215982> + 9304: < 0.918390, -0.300219, -0.257736> + 9305: < 0.931225, -0.257702, -0.257702> + 9306: < 0.942000, -0.257519, -0.215220> + 9307: < 0.929096, -0.300461, -0.215649> + 9308: < 0.931225, -0.257702, -0.257702> + 9309: < 0.942000, -0.215220, -0.257519> + 9310: < 0.952775, -0.214732, -0.214732> + 9311: < 0.942000, -0.257519, -0.215220> + 9312: < 0.942000, -0.215220, -0.257519> + 9313: < 0.950800, -0.172679, -0.257217> + 9314: < 0.961530, -0.172005, -0.214182> + 9315: < 0.952775, -0.214732, -0.214732> + 9316: < 0.950800, -0.172679, -0.257217> + 9317: < 0.957663, -0.129981, -0.256880> + 9318: < 0.968319, -0.129250, -0.213666> + 9319: < 0.961530, -0.172005, -0.214182> + 9320: < 0.957663, -0.129981, -0.256880> + 9321: < 0.962605, -0.087041, -0.256544> + 9322: < 0.973180, -0.086398, -0.213204> + 9323: < 0.968319, -0.129250, -0.213666> + 9324: < 0.962605, -0.087041, -0.256544> + 9325: < 0.965618, -0.043703, -0.256267> + 9326: < 0.976120, -0.043306, -0.212870> + 9327: < 0.973180, -0.086398, -0.213204> + 9328: < 0.965618, -0.043703, -0.256267> + 9329: < 0.966630, 0.000000, -0.256177> + 9330: < 0.977107, 0.000000, -0.212750> + 9331: < 0.976120, -0.043306, -0.212870> + 9332: < 0.966630, 0.000000, -0.256177> + 9333: < 0.965618, 0.043703, -0.256267> + 9334: < 0.976120, 0.043306, -0.212870> + 9335: < 0.977107, 0.000000, -0.212750> + 9336: < 0.965618, 0.043703, -0.256267> + 9337: < 0.962605, 0.087041, -0.256544> + 9338: < 0.973180, 0.086398, -0.213204> + 9339: < 0.976120, 0.043306, -0.212870> + 9340: < 0.962605, 0.087041, -0.256544> + 9341: < 0.957663, 0.129981, -0.256880> + 9342: < 0.968319, 0.129250, -0.213666> + 9343: < 0.973180, 0.086398, -0.213204> + 9344: < 0.957663, 0.129981, -0.256880> + 9345: < 0.950800, 0.172679, -0.257217> + 9346: < 0.961530, 0.172005, -0.214182> + 9347: < 0.968319, 0.129250, -0.213666> + 9348: < 0.950800, 0.172679, -0.257217> + 9349: < 0.942000, 0.215220, -0.257519> + 9350: < 0.952775, 0.214732, -0.214732> + 9351: < 0.961530, 0.172005, -0.214182> + 9352: < 0.942000, 0.215220, -0.257519> + 9353: < 0.931225, 0.257702, -0.257702> + 9354: < 0.942000, 0.257519, -0.215220> + 9355: < 0.952775, 0.214732, -0.214732> + 9356: < 0.931225, 0.257702, -0.257702> + 9357: < 0.918390, 0.300219, -0.257736> + 9358: < 0.929096, 0.300461, -0.215649> + 9359: < 0.942000, 0.257519, -0.215220> + 9360: < 0.918390, 0.300219, -0.257736> + 9361: < 0.903367, 0.342852, -0.257643> + 9362: < 0.913949, 0.343582, -0.215982> + 9363: < 0.929096, 0.300461, -0.215649> + 9364: < 0.903367, 0.342852, -0.257643> + 9365: < 0.886018, 0.385664, -0.257364> + 9366: < 0.896382, 0.386985, -0.216199> + 9367: < 0.913949, 0.343582, -0.215982> + 9368: < 0.886018, 0.385664, -0.257364> + 9369: < 0.866124, 0.428698, -0.256999> + 9370: < 0.876208, 0.430657, -0.216320> + 9371: < 0.896382, 0.386985, -0.216199> + 9372: < 0.866124, 0.428698, -0.256999> + 9373: < 0.843490, 0.471888, -0.256606> + 9374: < 0.853230, 0.474515, -0.216413> + 9375: < 0.876208, 0.430657, -0.216320> + 9376: < 0.843490, 0.471888, -0.256606> + 9377: < 0.817925, 0.515110, -0.256243> + 9378: < 0.827263, 0.518435, -0.216475> + 9379: < 0.853230, 0.474515, -0.216413> + 9380: < 0.817925, 0.515110, -0.256243> + 9381: < 0.789266, 0.558172, -0.255937> + 9382: < 0.798110, 0.562257, -0.216534> + 9383: < 0.827263, 0.518435, -0.216475> + 9384: < 0.789266, 0.558172, -0.255937> + 9385: < 0.757361, 0.600829, -0.255750> + 9386: < 0.765608, 0.605748, -0.216596> + 9387: < 0.798110, 0.562257, -0.216534> + 9388: < 0.757361, 0.600829, -0.255750> + 9389: < 0.722093, 0.642833, -0.255632> + 9390: < 0.729636, 0.648606, -0.216660> + 9391: < 0.765608, 0.605748, -0.216596> + 9392: < 0.729636, -0.648606, -0.216660> + 9393: < 0.765608, -0.605748, -0.216596> + 9394: < 0.772589, -0.609892, -0.176461> + 9395: < 0.736025, -0.653502, -0.176644> + 9396: < 0.765608, -0.605748, -0.216596> + 9397: < 0.798110, -0.562257, -0.216534> + 9398: < 0.805587, -0.565675, -0.176188> + 9399: < 0.772589, -0.609892, -0.176461> + 9400: < 0.798110, -0.562257, -0.216534> + 9401: < 0.827263, -0.518435, -0.216475> + 9402: < 0.835133, -0.521180, -0.175853> + 9403: < 0.805587, -0.565675, -0.176188> + 9404: < 0.827263, -0.518435, -0.216475> + 9405: < 0.853230, -0.474515, -0.216413> + 9406: < 0.861427, -0.476614, -0.175453> + 9407: < 0.835133, -0.521180, -0.175853> + 9408: < 0.853230, -0.474515, -0.216413> + 9409: < 0.876208, -0.430657, -0.216320> + 9410: < 0.884654, -0.432149, -0.175026> + 9411: < 0.861427, -0.476614, -0.175453> + 9412: < 0.876208, -0.430657, -0.216320> + 9413: < 0.896382, -0.386985, -0.216199> + 9414: < 0.904997, -0.387965, -0.174541> + 9415: < 0.884654, -0.432149, -0.175026> + 9416: < 0.896382, -0.386985, -0.216199> + 9417: < 0.913949, -0.343582, -0.215982> + 9418: < 0.922682, -0.344072, -0.173989> + 9419: < 0.904997, -0.387965, -0.174541> + 9420: < 0.913949, -0.343582, -0.215982> + 9421: < 0.929096, -0.300461, -0.215649> + 9422: < 0.937897, -0.300496, -0.173351> + 9423: < 0.922682, -0.344072, -0.173989> + 9424: < 0.929096, -0.300461, -0.215649> + 9425: < 0.942000, -0.257519, -0.215220> + 9426: < 0.950800, -0.257217, -0.172679> + 9427: < 0.937897, -0.300496, -0.173351> + 9428: < 0.942000, -0.257519, -0.215220> + 9429: < 0.952775, -0.214732, -0.214732> + 9430: < 0.961530, -0.214182, -0.172005> + 9431: < 0.950800, -0.257217, -0.172679> + 9432: < 0.952775, -0.214732, -0.214732> + 9433: < 0.961530, -0.172005, -0.214182> + 9434: < 0.970211, -0.171305, -0.171305> + 9435: < 0.961530, -0.214182, -0.172005> + 9436: < 0.961530, -0.172005, -0.214182> + 9437: < 0.968319, -0.129250, -0.213666> + 9438: < 0.976904, -0.128545, -0.170691> + 9439: < 0.970211, -0.171305, -0.171305> + 9440: < 0.968319, -0.129250, -0.213666> + 9441: < 0.973180, -0.086398, -0.213204> + 9442: < 0.981668, -0.085788, -0.170203> + 9443: < 0.976904, -0.128545, -0.170691> + 9444: < 0.973180, -0.086398, -0.213204> + 9445: < 0.976120, -0.043306, -0.212870> + 9446: < 0.984535, -0.042970, -0.169837> + 9447: < 0.981668, -0.085788, -0.170203> + 9448: < 0.976120, -0.043306, -0.212870> + 9449: < 0.977107, 0.000000, -0.212750> + 9450: < 0.985488, 0.000000, -0.169746> + 9451: < 0.984535, -0.042970, -0.169837> + 9452: < 0.977107, 0.000000, -0.212750> + 9453: < 0.976120, 0.043306, -0.212870> + 9454: < 0.984535, 0.042970, -0.169837> + 9455: < 0.985488, 0.000000, -0.169746> + 9456: < 0.976120, 0.043306, -0.212870> + 9457: < 0.973180, 0.086398, -0.213204> + 9458: < 0.981668, 0.085788, -0.170203> + 9459: < 0.984535, 0.042970, -0.169837> + 9460: < 0.973180, 0.086398, -0.213204> + 9461: < 0.968319, 0.129250, -0.213666> + 9462: < 0.976904, 0.128545, -0.170691> + 9463: < 0.981668, 0.085788, -0.170203> + 9464: < 0.968319, 0.129250, -0.213666> + 9465: < 0.961530, 0.172005, -0.214182> + 9466: < 0.970211, 0.171305, -0.171305> + 9467: < 0.976904, 0.128545, -0.170691> + 9468: < 0.961530, 0.172005, -0.214182> + 9469: < 0.952775, 0.214732, -0.214732> + 9470: < 0.961530, 0.214182, -0.172005> + 9471: < 0.970211, 0.171305, -0.171305> + 9472: < 0.952775, 0.214732, -0.214732> + 9473: < 0.942000, 0.257519, -0.215220> + 9474: < 0.950800, 0.257217, -0.172679> + 9475: < 0.961530, 0.214182, -0.172005> + 9476: < 0.942000, 0.257519, -0.215220> + 9477: < 0.929096, 0.300461, -0.215649> + 9478: < 0.937897, 0.300496, -0.173351> + 9479: < 0.950800, 0.257217, -0.172679> + 9480: < 0.929096, 0.300461, -0.215649> + 9481: < 0.913949, 0.343582, -0.215982> + 9482: < 0.922682, 0.344072, -0.173989> + 9483: < 0.937897, 0.300496, -0.173351> + 9484: < 0.913949, 0.343582, -0.215982> + 9485: < 0.896382, 0.386985, -0.216199> + 9486: < 0.904997, 0.387965, -0.174541> + 9487: < 0.922682, 0.344072, -0.173989> + 9488: < 0.896382, 0.386985, -0.216199> + 9489: < 0.876208, 0.430657, -0.216320> + 9490: < 0.884654, 0.432149, -0.175026> + 9491: < 0.904997, 0.387965, -0.174541> + 9492: < 0.876208, 0.430657, -0.216320> + 9493: < 0.853230, 0.474515, -0.216413> + 9494: < 0.861427, 0.476614, -0.175453> + 9495: < 0.884654, 0.432149, -0.175026> + 9496: < 0.853230, 0.474515, -0.216413> + 9497: < 0.827263, 0.518435, -0.216475> + 9498: < 0.835133, 0.521180, -0.175853> + 9499: < 0.861427, 0.476614, -0.175453> + 9500: < 0.827263, 0.518435, -0.216475> + 9501: < 0.798110, 0.562257, -0.216534> + 9502: < 0.805587, 0.565675, -0.176188> + 9503: < 0.835133, 0.521180, -0.175853> + 9504: < 0.798110, 0.562257, -0.216534> + 9505: < 0.765608, 0.605748, -0.216596> + 9506: < 0.772589, 0.609892, -0.176461> + 9507: < 0.805587, 0.565675, -0.176188> + 9508: < 0.765608, 0.605748, -0.216596> + 9509: < 0.729636, 0.648606, -0.216660> + 9510: < 0.736025, 0.653502, -0.176644> + 9511: < 0.772589, 0.609892, -0.176461> + 9512: < 0.736025, -0.653502, -0.176644> + 9513: < 0.772589, -0.609892, -0.176461> + 9514: < 0.778292, -0.613215, -0.135015> + 9515: < 0.741243, -0.657468, -0.135260> + 9516: < 0.772589, -0.609892, -0.176461> + 9517: < 0.805587, -0.565675, -0.176188> + 9518: < 0.811677, -0.568382, -0.134618> + 9519: < 0.778292, -0.613215, -0.135015> + 9520: < 0.805587, -0.565675, -0.176188> + 9521: < 0.835133, -0.521180, -0.175853> + 9522: < 0.841527, -0.523307, -0.134100> + 9523: < 0.811677, -0.568382, -0.134618> + 9524: < 0.835133, -0.521180, -0.175853> + 9525: < 0.861427, -0.476614, -0.175453> + 9526: < 0.868033, -0.478208, -0.133553> + 9527: < 0.841527, -0.523307, -0.134100> + 9528: < 0.861427, -0.476614, -0.175453> + 9529: < 0.884654, -0.432149, -0.175026> + 9530: < 0.891416, -0.433256, -0.132913> + 9531: < 0.868033, -0.478208, -0.133553> + 9532: < 0.884654, -0.432149, -0.175026> + 9533: < 0.904997, -0.387965, -0.174541> + 9534: < 0.911854, -0.388632, -0.132240> + 9535: < 0.891416, -0.433256, -0.132913> + 9536: < 0.904997, -0.387965, -0.174541> + 9537: < 0.922682, -0.344072, -0.173989> + 9538: < 0.929596, -0.344322, -0.131509> + 9539: < 0.911854, -0.388632, -0.132240> + 9540: < 0.922682, -0.344072, -0.173989> + 9541: < 0.937897, -0.300496, -0.173351> + 9542: < 0.944802, -0.300427, -0.130743> + 9543: < 0.929596, -0.344322, -0.131509> + 9544: < 0.937897, -0.300496, -0.173351> + 9545: < 0.950800, -0.257217, -0.172679> + 9546: < 0.957663, -0.256880, -0.129981> + 9547: < 0.944802, -0.300427, -0.130743> + 9548: < 0.950800, -0.257217, -0.172679> + 9549: < 0.961530, -0.214182, -0.172005> + 9550: < 0.968319, -0.213666, -0.129250> + 9551: < 0.957663, -0.256880, -0.129981> + 9552: < 0.961530, -0.214182, -0.172005> + 9553: < 0.970211, -0.171305, -0.171305> + 9554: < 0.976904, -0.170691, -0.128545> + 9555: < 0.968319, -0.213666, -0.129250> + 9556: < 0.970211, -0.171305, -0.171305> + 9557: < 0.976904, -0.128545, -0.170691> + 9558: < 0.983497, -0.127935, -0.127935> + 9559: < 0.976904, -0.170691, -0.128545> + 9560: < 0.976904, -0.128545, -0.170691> + 9561: < 0.981668, -0.085788, -0.170203> + 9562: < 0.988171, -0.085300, -0.127447> + 9563: < 0.983497, -0.127935, -0.127935> + 9564: < 0.981668, -0.085788, -0.170203> + 9565: < 0.984535, -0.042970, -0.169837> + 9566: < 0.990966, -0.042666, -0.127144> + 9567: < 0.988171, -0.085300, -0.127447> + 9568: < 0.984535, -0.042970, -0.169837> + 9569: < 0.985488, 0.000000, -0.169746> + 9570: < 0.991900, 0.000000, -0.127020> + 9571: < 0.990966, -0.042666, -0.127144> + 9572: < 0.985488, 0.000000, -0.169746> + 9573: < 0.984535, 0.042970, -0.169837> + 9574: < 0.990966, 0.042666, -0.127144> + 9575: < 0.991900, 0.000000, -0.127020> + 9576: < 0.984535, 0.042970, -0.169837> + 9577: < 0.981668, 0.085788, -0.170203> + 9578: < 0.988171, 0.085300, -0.127447> + 9579: < 0.990966, 0.042666, -0.127144> + 9580: < 0.981668, 0.085788, -0.170203> + 9581: < 0.976904, 0.128545, -0.170691> + 9582: < 0.983497, 0.127935, -0.127935> + 9583: < 0.988171, 0.085300, -0.127447> + 9584: < 0.976904, 0.128545, -0.170691> + 9585: < 0.970211, 0.171305, -0.171305> + 9586: < 0.976904, 0.170691, -0.128545> + 9587: < 0.983497, 0.127935, -0.127935> + 9588: < 0.970211, 0.171305, -0.171305> + 9589: < 0.961530, 0.214182, -0.172005> + 9590: < 0.968319, 0.213666, -0.129250> + 9591: < 0.976904, 0.170691, -0.128545> + 9592: < 0.961530, 0.214182, -0.172005> + 9593: < 0.950800, 0.257217, -0.172679> + 9594: < 0.957663, 0.256880, -0.129981> + 9595: < 0.968319, 0.213666, -0.129250> + 9596: < 0.950800, 0.257217, -0.172679> + 9597: < 0.937897, 0.300496, -0.173351> + 9598: < 0.944802, 0.300427, -0.130743> + 9599: < 0.957663, 0.256880, -0.129981> + 9600: < 0.937897, 0.300496, -0.173351> + 9601: < 0.922682, 0.344072, -0.173989> + 9602: < 0.929596, 0.344322, -0.131509> + 9603: < 0.944802, 0.300427, -0.130743> + 9604: < 0.922682, 0.344072, -0.173989> + 9605: < 0.904997, 0.387965, -0.174541> + 9606: < 0.911854, 0.388632, -0.132240> + 9607: < 0.929596, 0.344322, -0.131509> + 9608: < 0.904997, 0.387965, -0.174541> + 9609: < 0.884654, 0.432149, -0.175026> + 9610: < 0.891405, 0.433281, -0.132911> + 9611: < 0.911854, 0.388632, -0.132240> + 9612: < 0.884654, 0.432149, -0.175026> + 9613: < 0.861427, 0.476614, -0.175453> + 9614: < 0.868033, 0.478208, -0.133553> + 9615: < 0.891405, 0.433281, -0.132911> + 9616: < 0.861427, 0.476614, -0.175453> + 9617: < 0.835133, 0.521180, -0.175853> + 9618: < 0.841527, 0.523307, -0.134100> + 9619: < 0.868033, 0.478208, -0.133553> + 9620: < 0.835133, 0.521180, -0.175853> + 9621: < 0.805587, 0.565675, -0.176188> + 9622: < 0.811677, 0.568382, -0.134618> + 9623: < 0.841527, 0.523307, -0.134100> + 9624: < 0.805587, 0.565675, -0.176188> + 9625: < 0.772589, 0.609892, -0.176461> + 9626: < 0.778306, 0.613196, -0.135018> + 9627: < 0.811677, 0.568382, -0.134618> + 9628: < 0.772589, 0.609892, -0.176461> + 9629: < 0.736025, 0.653502, -0.176644> + 9630: < 0.741243, 0.657468, -0.135260> + 9631: < 0.778306, 0.613196, -0.135018> + 9632: < 0.741243, -0.657468, -0.135260> + 9633: < 0.778292, -0.613215, -0.135015> + 9634: < 0.782607, -0.615697, -0.091894> + 9635: < 0.745184, -0.660463, -0.092137> + 9636: < 0.778292, -0.613215, -0.135015> + 9637: < 0.811677, -0.568382, -0.134618> + 9638: < 0.816271, -0.570377, -0.091497> + 9639: < 0.782607, -0.615697, -0.091894> + 9640: < 0.811677, -0.568382, -0.134618> + 9641: < 0.841527, -0.523307, -0.134100> + 9642: < 0.846324, -0.524836, -0.091008> + 9643: < 0.816271, -0.570377, -0.091497> + 9644: < 0.841527, -0.523307, -0.134100> + 9645: < 0.868033, -0.478208, -0.133553> + 9646: < 0.872976, -0.479307, -0.090429> + 9647: < 0.846324, -0.524836, -0.091008> + 9648: < 0.868033, -0.478208, -0.133553> + 9649: < 0.891416, -0.433256, -0.132913> + 9650: < 0.896437, -0.433981, -0.089787> + 9651: < 0.872976, -0.479307, -0.090429> + 9652: < 0.891416, -0.433256, -0.132913> + 9653: < 0.911854, -0.388632, -0.132240> + 9654: < 0.916918, -0.388998, -0.089116> + 9655: < 0.896437, -0.433981, -0.089787> + 9656: < 0.911854, -0.388632, -0.132240> + 9657: < 0.929596, -0.344322, -0.131509> + 9658: < 0.934648, -0.344408, -0.088414> + 9659: < 0.916918, -0.388998, -0.089116> + 9660: < 0.929596, -0.344322, -0.131509> + 9661: < 0.944802, -0.300427, -0.130743> + 9662: < 0.949820, -0.300248, -0.087712> + 9663: < 0.934648, -0.344408, -0.088414> + 9664: < 0.944802, -0.300427, -0.130743> + 9665: < 0.957663, -0.256880, -0.129981> + 9666: < 0.962605, -0.256544, -0.087041> + 9667: < 0.949820, -0.300248, -0.087712> + 9668: < 0.957663, -0.256880, -0.129981> + 9669: < 0.968319, -0.213666, -0.129250> + 9670: < 0.973180, -0.213204, -0.086398> + 9671: < 0.962605, -0.256544, -0.087041> + 9672: < 0.968319, -0.213666, -0.129250> + 9673: < 0.976904, -0.170691, -0.128545> + 9674: < 0.981668, -0.170203, -0.085788> + 9675: < 0.973180, -0.213204, -0.086398> + 9676: < 0.976904, -0.170691, -0.128545> + 9677: < 0.983497, -0.127935, -0.127935> + 9678: < 0.988171, -0.127447, -0.085300> + 9679: < 0.981668, -0.170203, -0.085788> + 9680: < 0.983497, -0.127935, -0.127935> + 9681: < 0.988171, -0.085300, -0.127447> + 9682: < 0.992765, -0.084905, -0.084905> + 9683: < 0.988171, -0.127447, -0.085300> + 9684: < 0.988171, -0.085300, -0.127447> + 9685: < 0.990966, -0.042666, -0.127144> + 9686: < 0.995505, -0.042452, -0.084660> + 9687: < 0.992765, -0.084905, -0.084905> + 9688: < 0.990966, -0.042666, -0.127144> + 9689: < 0.991900, 0.000000, -0.127020> + 9690: < 0.996418, 0.000000, -0.084568> + 9691: < 0.995505, -0.042452, -0.084660> + 9692: < 0.991900, 0.000000, -0.127020> + 9693: < 0.990966, 0.042666, -0.127144> + 9694: < 0.995505, 0.042452, -0.084660> + 9695: < 0.996418, 0.000000, -0.084568> + 9696: < 0.990966, 0.042666, -0.127144> + 9697: < 0.988171, 0.085300, -0.127447> + 9698: < 0.992765, 0.084905, -0.084905> + 9699: < 0.995505, 0.042452, -0.084660> + 9700: < 0.988171, 0.085300, -0.127447> + 9701: < 0.983497, 0.127935, -0.127935> + 9702: < 0.988171, 0.127447, -0.085300> + 9703: < 0.992765, 0.084905, -0.084905> + 9704: < 0.983497, 0.127935, -0.127935> + 9705: < 0.976904, 0.170691, -0.128545> + 9706: < 0.981668, 0.170203, -0.085788> + 9707: < 0.988171, 0.127447, -0.085300> + 9708: < 0.976904, 0.170691, -0.128545> + 9709: < 0.968319, 0.213666, -0.129250> + 9710: < 0.973180, 0.213204, -0.086398> + 9711: < 0.981668, 0.170203, -0.085788> + 9712: < 0.968319, 0.213666, -0.129250> + 9713: < 0.957663, 0.256880, -0.129981> + 9714: < 0.962605, 0.256544, -0.087041> + 9715: < 0.973180, 0.213204, -0.086398> + 9716: < 0.957663, 0.256880, -0.129981> + 9717: < 0.944802, 0.300427, -0.130743> + 9718: < 0.949820, 0.300248, -0.087712> + 9719: < 0.962605, 0.256544, -0.087041> + 9720: < 0.944802, 0.300427, -0.130743> + 9721: < 0.929596, 0.344322, -0.131509> + 9722: < 0.934648, 0.344408, -0.088414> + 9723: < 0.949820, 0.300248, -0.087712> + 9724: < 0.929596, 0.344322, -0.131509> + 9725: < 0.911854, 0.388632, -0.132240> + 9726: < 0.916918, 0.388998, -0.089116> + 9727: < 0.934648, 0.344408, -0.088414> + 9728: < 0.911854, 0.388632, -0.132240> + 9729: < 0.891405, 0.433281, -0.132911> + 9730: < 0.896437, 0.433981, -0.089787> + 9731: < 0.916918, 0.388998, -0.089116> + 9732: < 0.891405, 0.433281, -0.132911> + 9733: < 0.868033, 0.478208, -0.133553> + 9734: < 0.872976, 0.479307, -0.090429> + 9735: < 0.896437, 0.433981, -0.089787> + 9736: < 0.868033, 0.478208, -0.133553> + 9737: < 0.841527, 0.523307, -0.134100> + 9738: < 0.846324, 0.524836, -0.091008> + 9739: < 0.872976, 0.479307, -0.090429> + 9740: < 0.841527, 0.523307, -0.134100> + 9741: < 0.811677, 0.568382, -0.134618> + 9742: < 0.816271, 0.570377, -0.091497> + 9743: < 0.846324, 0.524836, -0.091008> + 9744: < 0.811677, 0.568382, -0.134618> + 9745: < 0.778306, 0.613196, -0.135018> + 9746: < 0.782607, 0.615697, -0.091894> + 9747: < 0.816271, 0.570377, -0.091497> + 9748: < 0.778306, 0.613196, -0.135018> + 9749: < 0.741243, 0.657468, -0.135260> + 9750: < 0.745184, 0.660463, -0.092137> + 9751: < 0.782607, 0.615697, -0.091894> + 9752: < 0.745184, -0.660463, -0.092137> + 9753: < 0.782607, -0.615697, -0.091894> + 9754: < 0.785375, -0.617246, -0.046847> + 9755: < 0.747715, -0.662354, -0.046999> + 9756: < 0.782607, -0.615697, -0.091894> + 9757: < 0.816271, -0.570377, -0.091497> + 9758: < 0.819208, -0.571602, -0.046573> + 9759: < 0.785375, -0.617246, -0.046847> + 9760: < 0.816271, -0.570377, -0.091497> + 9761: < 0.846324, -0.524836, -0.091008> + 9762: < 0.849378, -0.525753, -0.046267> + 9763: < 0.819208, -0.571602, -0.046573> + 9764: < 0.846324, -0.524836, -0.091008> + 9765: < 0.872976, -0.479307, -0.090429> + 9766: < 0.876095, -0.479951, -0.045871> + 9767: < 0.849378, -0.525753, -0.046267> + 9768: < 0.872976, -0.479307, -0.090429> + 9769: < 0.896437, -0.433981, -0.089787> + 9770: < 0.899583, -0.434379, -0.045443> + 9771: < 0.876095, -0.479951, -0.045871> + 9772: < 0.896437, -0.433981, -0.089787> + 9773: < 0.916918, -0.388998, -0.089116> + 9774: < 0.920061, -0.389180, -0.045016> + 9775: < 0.899583, -0.434379, -0.045443> + 9776: < 0.916918, -0.388998, -0.089116> + 9777: < 0.934648, -0.344408, -0.088414> + 9778: < 0.937762, -0.344409, -0.044558> + 9779: < 0.920061, -0.389180, -0.045016> + 9780: < 0.934648, -0.344408, -0.088414> + 9781: < 0.949820, -0.300248, -0.087712> + 9782: < 0.952889, -0.300092, -0.044130> + 9783: < 0.937762, -0.344409, -0.044558> + 9784: < 0.949820, -0.300248, -0.087712> + 9785: < 0.962605, -0.256544, -0.087041> + 9786: < 0.965618, -0.256267, -0.043703> + 9787: < 0.952889, -0.300092, -0.044130> + 9788: < 0.962605, -0.256544, -0.087041> + 9789: < 0.973180, -0.213204, -0.086398> + 9790: < 0.976120, -0.212870, -0.043306> + 9791: < 0.965618, -0.256267, -0.043703> + 9792: < 0.973180, -0.213204, -0.086398> + 9793: < 0.981668, -0.170203, -0.085788> + 9794: < 0.984535, -0.169837, -0.042970> + 9795: < 0.976120, -0.212870, -0.043306> + 9796: < 0.981668, -0.170203, -0.085788> + 9797: < 0.988171, -0.127447, -0.085300> + 9798: < 0.990966, -0.127144, -0.042666> + 9799: < 0.984535, -0.169837, -0.042970> + 9800: < 0.988171, -0.127447, -0.085300> + 9801: < 0.992765, -0.084905, -0.084905> + 9802: < 0.995505, -0.084660, -0.042452> + 9803: < 0.990966, -0.127144, -0.042666> + 9804: < 0.992765, -0.084905, -0.084905> + 9805: < 0.995505, -0.042452, -0.084660> + 9806: < 0.998209, -0.042299, -0.042299> + 9807: < 0.995505, -0.084660, -0.042452> + 9808: < 0.995505, -0.042452, -0.084660> + 9809: < 0.996418, 0.000000, -0.084568> + 9810: < 0.999108, 0.000000, -0.042239> + 9811: < 0.998209, -0.042299, -0.042299> + 9812: < 0.996418, 0.000000, -0.084568> + 9813: < 0.995505, 0.042452, -0.084660> + 9814: < 0.998209, 0.042299, -0.042299> + 9815: < 0.999108, 0.000000, -0.042239> + 9816: < 0.995505, 0.042452, -0.084660> + 9817: < 0.992765, 0.084905, -0.084905> + 9818: < 0.995505, 0.084660, -0.042452> + 9819: < 0.998209, 0.042299, -0.042299> + 9820: < 0.992765, 0.084905, -0.084905> + 9821: < 0.988171, 0.127447, -0.085300> + 9822: < 0.990966, 0.127144, -0.042666> + 9823: < 0.995505, 0.084660, -0.042452> + 9824: < 0.988171, 0.127447, -0.085300> + 9825: < 0.981668, 0.170203, -0.085788> + 9826: < 0.984535, 0.169837, -0.042970> + 9827: < 0.990966, 0.127144, -0.042666> + 9828: < 0.981668, 0.170203, -0.085788> + 9829: < 0.973180, 0.213204, -0.086398> + 9830: < 0.976120, 0.212870, -0.043306> + 9831: < 0.984535, 0.169837, -0.042970> + 9832: < 0.973180, 0.213204, -0.086398> + 9833: < 0.962605, 0.256544, -0.087041> + 9834: < 0.965618, 0.256267, -0.043703> + 9835: < 0.976120, 0.212870, -0.043306> + 9836: < 0.962605, 0.256544, -0.087041> + 9837: < 0.949820, 0.300248, -0.087712> + 9838: < 0.952889, 0.300092, -0.044130> + 9839: < 0.965618, 0.256267, -0.043703> + 9840: < 0.949820, 0.300248, -0.087712> + 9841: < 0.934648, 0.344408, -0.088414> + 9842: < 0.937762, 0.344409, -0.044558> + 9843: < 0.952889, 0.300092, -0.044130> + 9844: < 0.934648, 0.344408, -0.088414> + 9845: < 0.916918, 0.388998, -0.089116> + 9846: < 0.920061, 0.389180, -0.045016> + 9847: < 0.937762, 0.344409, -0.044558> + 9848: < 0.916918, 0.388998, -0.089116> + 9849: < 0.896437, 0.433981, -0.089787> + 9850: < 0.899583, 0.434379, -0.045443> + 9851: < 0.920061, 0.389180, -0.045016> + 9852: < 0.896437, 0.433981, -0.089787> + 9853: < 0.872976, 0.479307, -0.090429> + 9854: < 0.876095, 0.479951, -0.045871> + 9855: < 0.899583, 0.434379, -0.045443> + 9856: < 0.872976, 0.479307, -0.090429> + 9857: < 0.846324, 0.524836, -0.091008> + 9858: < 0.849378, 0.525753, -0.046267> + 9859: < 0.876095, 0.479951, -0.045871> + 9860: < 0.846324, 0.524836, -0.091008> + 9861: < 0.816271, 0.570377, -0.091497> + 9862: < 0.819208, 0.571602, -0.046573> + 9863: < 0.849378, 0.525753, -0.046267> + 9864: < 0.816271, 0.570377, -0.091497> + 9865: < 0.782607, 0.615697, -0.091894> + 9866: < 0.785375, 0.617246, -0.046847> + 9867: < 0.819208, 0.571602, -0.046573> + 9868: < 0.782607, 0.615697, -0.091894> + 9869: < 0.745184, 0.660463, -0.092137> + 9870: < 0.747715, 0.662354, -0.046999> + 9871: < 0.785375, 0.617246, -0.046847> + 9872: < 0.747715, -0.662354, -0.046999> + 9873: < 0.785375, -0.617246, -0.046847> + 9874: < 0.786344, -0.617789, 0.000000> + 9875: < 0.748599, -0.663024, 0.000000> + 9876: < 0.785375, -0.617246, -0.046847> + 9877: < 0.819208, -0.571602, -0.046573> + 9878: < 0.820237, -0.572024, 0.000000> + 9879: < 0.786344, -0.617789, 0.000000> + 9880: < 0.819208, -0.571602, -0.046573> + 9881: < 0.849378, -0.525753, -0.046267> + 9882: < 0.850434, -0.526081, 0.000000> + 9883: < 0.820237, -0.572024, 0.000000> + 9884: < 0.849378, -0.525753, -0.046267> + 9885: < 0.876095, -0.479951, -0.045871> + 9886: < 0.877182, -0.480158, 0.000000> + 9887: < 0.850434, -0.526081, 0.000000> + 9888: < 0.876095, -0.479951, -0.045871> + 9889: < 0.899583, -0.434379, -0.045443> + 9890: < 0.900655, -0.434534, 0.000000> + 9891: < 0.877182, -0.480158, 0.000000> + 9892: < 0.899583, -0.434379, -0.045443> + 9893: < 0.920061, -0.389180, -0.045016> + 9894: < 0.921135, -0.389244, 0.000000> + 9895: < 0.900655, -0.434534, 0.000000> + 9896: < 0.920061, -0.389180, -0.045016> + 9897: < 0.937762, -0.344409, -0.044558> + 9898: < 0.938821, -0.344405, 0.000000> + 9899: < 0.921135, -0.389244, 0.000000> + 9900: < 0.937762, -0.344409, -0.044558> + 9901: < 0.952889, -0.300092, -0.044130> + 9902: < 0.953921, -0.300059, 0.000000> + 9903: < 0.938821, -0.344405, 0.000000> + 9904: < 0.952889, -0.300092, -0.044130> + 9905: < 0.965618, -0.256267, -0.043703> + 9906: < 0.966630, -0.256177, 0.000000> + 9907: < 0.953921, -0.300059, 0.000000> + 9908: < 0.965618, -0.256267, -0.043703> + 9909: < 0.976120, -0.212870, -0.043306> + 9910: < 0.977107, -0.212750, 0.000000> + 9911: < 0.966630, -0.256177, 0.000000> + 9912: < 0.976120, -0.212870, -0.043306> + 9913: < 0.984535, -0.169837, -0.042970> + 9914: < 0.985488, -0.169746, 0.000000> + 9915: < 0.977107, -0.212750, 0.000000> + 9916: < 0.984535, -0.169837, -0.042970> + 9917: < 0.990966, -0.127144, -0.042666> + 9918: < 0.991900, -0.127020, 0.000000> + 9919: < 0.985488, -0.169746, 0.000000> + 9920: < 0.990966, -0.127144, -0.042666> + 9921: < 0.995505, -0.084660, -0.042452> + 9922: < 0.996418, -0.084568, 0.000000> + 9923: < 0.991900, -0.127020, 0.000000> + 9924: < 0.995505, -0.084660, -0.042452> + 9925: < 0.998209, -0.042299, -0.042299> + 9926: < 0.999108, -0.042239, 0.000000> + 9927: < 0.996418, -0.084568, 0.000000> + 9928: < 0.998209, -0.042299, -0.042299> + 9929: < 0.999108, 0.000000, -0.042239> + 9930: < 1.000000, 0.000000, 0.000000> + 9931: < 0.999108, -0.042239, 0.000000> + 9932: < 0.999108, 0.000000, -0.042239> + 9933: < 0.998209, 0.042299, -0.042299> + 9934: < 0.999108, 0.042239, 0.000000> + 9935: < 1.000000, 0.000000, 0.000000> + 9936: < 0.998209, 0.042299, -0.042299> + 9937: < 0.995505, 0.084660, -0.042452> + 9938: < 0.996418, 0.084568, 0.000000> + 9939: < 0.999108, 0.042239, 0.000000> + 9940: < 0.995505, 0.084660, -0.042452> + 9941: < 0.990966, 0.127144, -0.042666> + 9942: < 0.991900, 0.127020, 0.000000> + 9943: < 0.996418, 0.084568, 0.000000> + 9944: < 0.990966, 0.127144, -0.042666> + 9945: < 0.984535, 0.169837, -0.042970> + 9946: < 0.985488, 0.169746, 0.000000> + 9947: < 0.991900, 0.127020, 0.000000> + 9948: < 0.984535, 0.169837, -0.042970> + 9949: < 0.976120, 0.212870, -0.043306> + 9950: < 0.977107, 0.212750, 0.000000> + 9951: < 0.985488, 0.169746, 0.000000> + 9952: < 0.976120, 0.212870, -0.043306> + 9953: < 0.965618, 0.256267, -0.043703> + 9954: < 0.966630, 0.256177, 0.000000> + 9955: < 0.977107, 0.212750, 0.000000> + 9956: < 0.965618, 0.256267, -0.043703> + 9957: < 0.952889, 0.300092, -0.044130> + 9958: < 0.953921, 0.300059, 0.000000> + 9959: < 0.966630, 0.256177, 0.000000> + 9960: < 0.952889, 0.300092, -0.044130> + 9961: < 0.937762, 0.344409, -0.044558> + 9962: < 0.938821, 0.344405, 0.000000> + 9963: < 0.953921, 0.300059, 0.000000> + 9964: < 0.937762, 0.344409, -0.044558> + 9965: < 0.920061, 0.389180, -0.045016> + 9966: < 0.921135, 0.389244, 0.000000> + 9967: < 0.938821, 0.344405, 0.000000> + 9968: < 0.920061, 0.389180, -0.045016> + 9969: < 0.899583, 0.434379, -0.045443> + 9970: < 0.900655, 0.434534, 0.000000> + 9971: < 0.921135, 0.389244, 0.000000> + 9972: < 0.899583, 0.434379, -0.045443> + 9973: < 0.876095, 0.479951, -0.045871> + 9974: < 0.877169, 0.480182, 0.000000> + 9975: < 0.900655, 0.434534, 0.000000> + 9976: < 0.876095, 0.479951, -0.045871> + 9977: < 0.849378, 0.525753, -0.046267> + 9978: < 0.850434, 0.526081, 0.000000> + 9979: < 0.877169, 0.480182, 0.000000> + 9980: < 0.849378, 0.525753, -0.046267> + 9981: < 0.819208, 0.571602, -0.046573> + 9982: < 0.820237, 0.572024, 0.000000> + 9983: < 0.850434, 0.526081, 0.000000> + 9984: < 0.819208, 0.571602, -0.046573> + 9985: < 0.785375, 0.617246, -0.046847> + 9986: < 0.786344, 0.617789, 0.000000> + 9987: < 0.820237, 0.572024, 0.000000> + 9988: < 0.785375, 0.617246, -0.046847> + 9989: < 0.747715, 0.662354, -0.046999> + 9990: < 0.748599, 0.663024, 0.000000> + 9991: < 0.786344, 0.617789, 0.000000> + 9992: < 0.748599, -0.663024, 0.000000> + 9993: < 0.786344, -0.617789, 0.000000> + 9994: < 0.785375, -0.617246, 0.046847> + 9995: < 0.747715, -0.662354, 0.046999> + 9996: < 0.786344, -0.617789, 0.000000> + 9997: < 0.820237, -0.572024, 0.000000> + 9998: < 0.819208, -0.571602, 0.046573> + 9999: < 0.785375, -0.617246, 0.046847> + 10000: < 0.820237, -0.572024, 0.000000> + 10001: < 0.850434, -0.526081, 0.000000> + 10002: < 0.849378, -0.525753, 0.046267> + 10003: < 0.819208, -0.571602, 0.046573> + 10004: < 0.850434, -0.526081, 0.000000> + 10005: < 0.877182, -0.480158, 0.000000> + 10006: < 0.876095, -0.479951, 0.045871> + 10007: < 0.849378, -0.525753, 0.046267> + 10008: < 0.877182, -0.480158, 0.000000> + 10009: < 0.900655, -0.434534, 0.000000> + 10010: < 0.899583, -0.434379, 0.045443> + 10011: < 0.876095, -0.479951, 0.045871> + 10012: < 0.900655, -0.434534, 0.000000> + 10013: < 0.921135, -0.389244, 0.000000> + 10014: < 0.920061, -0.389180, 0.045016> + 10015: < 0.899583, -0.434379, 0.045443> + 10016: < 0.921135, -0.389244, 0.000000> + 10017: < 0.938821, -0.344405, 0.000000> + 10018: < 0.937762, -0.344409, 0.044558> + 10019: < 0.920061, -0.389180, 0.045016> + 10020: < 0.938821, -0.344405, 0.000000> + 10021: < 0.953921, -0.300059, 0.000000> + 10022: < 0.952889, -0.300092, 0.044130> + 10023: < 0.937762, -0.344409, 0.044558> + 10024: < 0.953921, -0.300059, 0.000000> + 10025: < 0.966630, -0.256177, 0.000000> + 10026: < 0.965618, -0.256267, 0.043703> + 10027: < 0.952889, -0.300092, 0.044130> + 10028: < 0.966630, -0.256177, 0.000000> + 10029: < 0.977107, -0.212750, 0.000000> + 10030: < 0.976120, -0.212870, 0.043306> + 10031: < 0.965618, -0.256267, 0.043703> + 10032: < 0.977107, -0.212750, 0.000000> + 10033: < 0.985488, -0.169746, 0.000000> + 10034: < 0.984535, -0.169837, 0.042970> + 10035: < 0.976120, -0.212870, 0.043306> + 10036: < 0.985488, -0.169746, 0.000000> + 10037: < 0.991900, -0.127020, 0.000000> + 10038: < 0.990966, -0.127144, 0.042666> + 10039: < 0.984535, -0.169837, 0.042970> + 10040: < 0.991900, -0.127020, 0.000000> + 10041: < 0.996418, -0.084568, 0.000000> + 10042: < 0.995505, -0.084660, 0.042452> + 10043: < 0.990966, -0.127144, 0.042666> + 10044: < 0.996418, -0.084568, 0.000000> + 10045: < 0.999108, -0.042239, 0.000000> + 10046: < 0.998209, -0.042299, 0.042299> + 10047: < 0.995505, -0.084660, 0.042452> + 10048: < 0.999108, -0.042239, 0.000000> + 10049: < 1.000000, 0.000000, 0.000000> + 10050: < 0.999108, 0.000000, 0.042239> + 10051: < 0.998209, -0.042299, 0.042299> + 10052: < 1.000000, 0.000000, 0.000000> + 10053: < 0.999108, 0.042239, 0.000000> + 10054: < 0.998209, 0.042299, 0.042299> + 10055: < 0.999108, 0.000000, 0.042239> + 10056: < 0.999108, 0.042239, 0.000000> + 10057: < 0.996418, 0.084568, 0.000000> + 10058: < 0.995505, 0.084660, 0.042452> + 10059: < 0.998209, 0.042299, 0.042299> + 10060: < 0.996418, 0.084568, 0.000000> + 10061: < 0.991900, 0.127020, 0.000000> + 10062: < 0.990966, 0.127144, 0.042666> + 10063: < 0.995505, 0.084660, 0.042452> + 10064: < 0.991900, 0.127020, 0.000000> + 10065: < 0.985488, 0.169746, 0.000000> + 10066: < 0.984530, 0.169866, 0.042970> + 10067: < 0.990966, 0.127144, 0.042666> + 10068: < 0.985488, 0.169746, 0.000000> + 10069: < 0.977107, 0.212750, 0.000000> + 10070: < 0.976120, 0.212870, 0.043306> + 10071: < 0.984530, 0.169866, 0.042970> + 10072: < 0.977107, 0.212750, 0.000000> + 10073: < 0.966630, 0.256177, 0.000000> + 10074: < 0.965618, 0.256267, 0.043703> + 10075: < 0.976120, 0.212870, 0.043306> + 10076: < 0.966630, 0.256177, 0.000000> + 10077: < 0.953921, 0.300059, 0.000000> + 10078: < 0.952889, 0.300092, 0.044130> + 10079: < 0.965618, 0.256267, 0.043703> + 10080: < 0.953921, 0.300059, 0.000000> + 10081: < 0.938821, 0.344405, 0.000000> + 10082: < 0.937762, 0.344409, 0.044558> + 10083: < 0.952889, 0.300092, 0.044130> + 10084: < 0.938821, 0.344405, 0.000000> + 10085: < 0.921135, 0.389244, 0.000000> + 10086: < 0.920061, 0.389180, 0.045016> + 10087: < 0.937762, 0.344409, 0.044558> + 10088: < 0.921135, 0.389244, 0.000000> + 10089: < 0.900655, 0.434534, 0.000000> + 10090: < 0.899583, 0.434379, 0.045443> + 10091: < 0.920061, 0.389180, 0.045016> + 10092: < 0.900655, 0.434534, 0.000000> + 10093: < 0.877169, 0.480182, 0.000000> + 10094: < 0.876095, 0.479951, 0.045871> + 10095: < 0.899583, 0.434379, 0.045443> + 10096: < 0.877169, 0.480182, 0.000000> + 10097: < 0.850434, 0.526081, 0.000000> + 10098: < 0.849378, 0.525753, 0.046267> + 10099: < 0.876095, 0.479951, 0.045871> + 10100: < 0.850434, 0.526081, 0.000000> + 10101: < 0.820237, 0.572024, 0.000000> + 10102: < 0.819208, 0.571602, 0.046573> + 10103: < 0.849378, 0.525753, 0.046267> + 10104: < 0.820237, 0.572024, 0.000000> + 10105: < 0.786344, 0.617789, 0.000000> + 10106: < 0.785375, 0.617246, 0.046847> + 10107: < 0.819208, 0.571602, 0.046573> + 10108: < 0.786344, 0.617789, 0.000000> + 10109: < 0.748599, 0.663024, 0.000000> + 10110: < 0.747715, 0.662354, 0.046999> + 10111: < 0.785375, 0.617246, 0.046847> + 10112: < 0.747715, -0.662354, 0.046999> + 10113: < 0.785375, -0.617246, 0.046847> + 10114: < 0.782607, -0.615697, 0.091894> + 10115: < 0.745184, -0.660463, 0.092137> + 10116: < 0.785375, -0.617246, 0.046847> + 10117: < 0.819208, -0.571602, 0.046573> + 10118: < 0.816271, -0.570377, 0.091497> + 10119: < 0.782607, -0.615697, 0.091894> + 10120: < 0.819208, -0.571602, 0.046573> + 10121: < 0.849378, -0.525753, 0.046267> + 10122: < 0.846324, -0.524836, 0.091008> + 10123: < 0.816271, -0.570377, 0.091497> + 10124: < 0.849378, -0.525753, 0.046267> + 10125: < 0.876095, -0.479951, 0.045871> + 10126: < 0.872976, -0.479307, 0.090429> + 10127: < 0.846324, -0.524836, 0.091008> + 10128: < 0.876095, -0.479951, 0.045871> + 10129: < 0.899583, -0.434379, 0.045443> + 10130: < 0.896437, -0.433981, 0.089787> + 10131: < 0.872976, -0.479307, 0.090429> + 10132: < 0.899583, -0.434379, 0.045443> + 10133: < 0.920061, -0.389180, 0.045016> + 10134: < 0.916918, -0.388998, 0.089116> + 10135: < 0.896437, -0.433981, 0.089787> + 10136: < 0.920061, -0.389180, 0.045016> + 10137: < 0.937762, -0.344409, 0.044558> + 10138: < 0.934648, -0.344408, 0.088414> + 10139: < 0.916918, -0.388998, 0.089116> + 10140: < 0.937762, -0.344409, 0.044558> + 10141: < 0.952889, -0.300092, 0.044130> + 10142: < 0.949820, -0.300248, 0.087712> + 10143: < 0.934648, -0.344408, 0.088414> + 10144: < 0.952889, -0.300092, 0.044130> + 10145: < 0.965618, -0.256267, 0.043703> + 10146: < 0.962605, -0.256544, 0.087041> + 10147: < 0.949820, -0.300248, 0.087712> + 10148: < 0.965618, -0.256267, 0.043703> + 10149: < 0.976120, -0.212870, 0.043306> + 10150: < 0.973180, -0.213204, 0.086398> + 10151: < 0.962605, -0.256544, 0.087041> + 10152: < 0.976120, -0.212870, 0.043306> + 10153: < 0.984535, -0.169837, 0.042970> + 10154: < 0.981668, -0.170203, 0.085788> + 10155: < 0.973180, -0.213204, 0.086398> + 10156: < 0.984535, -0.169837, 0.042970> + 10157: < 0.990966, -0.127144, 0.042666> + 10158: < 0.988171, -0.127447, 0.085300> + 10159: < 0.981668, -0.170203, 0.085788> + 10160: < 0.990966, -0.127144, 0.042666> + 10161: < 0.995505, -0.084660, 0.042452> + 10162: < 0.992765, -0.084905, 0.084905> + 10163: < 0.988171, -0.127447, 0.085300> + 10164: < 0.995505, -0.084660, 0.042452> + 10165: < 0.998209, -0.042299, 0.042299> + 10166: < 0.995505, -0.042452, 0.084660> + 10167: < 0.992765, -0.084905, 0.084905> + 10168: < 0.998209, -0.042299, 0.042299> + 10169: < 0.999108, 0.000000, 0.042239> + 10170: < 0.996418, 0.000000, 0.084568> + 10171: < 0.995505, -0.042452, 0.084660> + 10172: < 0.999108, 0.000000, 0.042239> + 10173: < 0.998209, 0.042299, 0.042299> + 10174: < 0.995505, 0.042452, 0.084660> + 10175: < 0.996418, 0.000000, 0.084568> + 10176: < 0.998209, 0.042299, 0.042299> + 10177: < 0.995505, 0.084660, 0.042452> + 10178: < 0.992765, 0.084905, 0.084905> + 10179: < 0.995505, 0.042452, 0.084660> + 10180: < 0.995505, 0.084660, 0.042452> + 10181: < 0.990966, 0.127144, 0.042666> + 10182: < 0.988171, 0.127447, 0.085300> + 10183: < 0.992765, 0.084905, 0.084905> + 10184: < 0.990966, 0.127144, 0.042666> + 10185: < 0.984530, 0.169866, 0.042970> + 10186: < 0.981668, 0.170203, 0.085788> + 10187: < 0.988171, 0.127447, 0.085300> + 10188: < 0.984530, 0.169866, 0.042970> + 10189: < 0.976120, 0.212870, 0.043306> + 10190: < 0.973180, 0.213204, 0.086398> + 10191: < 0.981668, 0.170203, 0.085788> + 10192: < 0.976120, 0.212870, 0.043306> + 10193: < 0.965618, 0.256267, 0.043703> + 10194: < 0.962605, 0.256544, 0.087041> + 10195: < 0.973180, 0.213204, 0.086398> + 10196: < 0.965618, 0.256267, 0.043703> + 10197: < 0.952889, 0.300092, 0.044130> + 10198: < 0.949820, 0.300248, 0.087712> + 10199: < 0.962605, 0.256544, 0.087041> + 10200: < 0.952889, 0.300092, 0.044130> + 10201: < 0.937762, 0.344409, 0.044558> + 10202: < 0.934648, 0.344408, 0.088414> + 10203: < 0.949820, 0.300248, 0.087712> + 10204: < 0.937762, 0.344409, 0.044558> + 10205: < 0.920061, 0.389180, 0.045016> + 10206: < 0.916918, 0.388998, 0.089116> + 10207: < 0.934648, 0.344408, 0.088414> + 10208: < 0.920061, 0.389180, 0.045016> + 10209: < 0.899583, 0.434379, 0.045443> + 10210: < 0.896437, 0.433981, 0.089787> + 10211: < 0.916918, 0.388998, 0.089116> + 10212: < 0.899583, 0.434379, 0.045443> + 10213: < 0.876095, 0.479951, 0.045871> + 10214: < 0.872976, 0.479307, 0.090429> + 10215: < 0.896437, 0.433981, 0.089787> + 10216: < 0.876095, 0.479951, 0.045871> + 10217: < 0.849378, 0.525753, 0.046267> + 10218: < 0.846324, 0.524836, 0.091008> + 10219: < 0.872976, 0.479307, 0.090429> + 10220: < 0.849378, 0.525753, 0.046267> + 10221: < 0.819208, 0.571602, 0.046573> + 10222: < 0.816271, 0.570377, 0.091497> + 10223: < 0.846324, 0.524836, 0.091008> + 10224: < 0.819208, 0.571602, 0.046573> + 10225: < 0.785375, 0.617246, 0.046847> + 10226: < 0.782607, 0.615697, 0.091894> + 10227: < 0.816271, 0.570377, 0.091497> + 10228: < 0.785375, 0.617246, 0.046847> + 10229: < 0.747715, 0.662354, 0.046999> + 10230: < 0.745184, 0.660463, 0.092137> + 10231: < 0.782607, 0.615697, 0.091894> + 10232: < 0.745184, -0.660463, 0.092137> + 10233: < 0.782607, -0.615697, 0.091894> + 10234: < 0.778309, -0.613199, 0.134988> + 10235: < 0.741243, -0.657468, 0.135260> + 10236: < 0.782607, -0.615697, 0.091894> + 10237: < 0.816271, -0.570377, 0.091497> + 10238: < 0.811677, -0.568382, 0.134618> + 10239: < 0.778309, -0.613199, 0.134988> + 10240: < 0.816271, -0.570377, 0.091497> + 10241: < 0.846324, -0.524836, 0.091008> + 10242: < 0.841527, -0.523307, 0.134100> + 10243: < 0.811677, -0.568382, 0.134618> + 10244: < 0.846324, -0.524836, 0.091008> + 10245: < 0.872976, -0.479307, 0.090429> + 10246: < 0.868033, -0.478208, 0.133553> + 10247: < 0.841527, -0.523307, 0.134100> + 10248: < 0.872976, -0.479307, 0.090429> + 10249: < 0.896437, -0.433981, 0.089787> + 10250: < 0.891405, -0.433281, 0.132911> + 10251: < 0.868033, -0.478208, 0.133553> + 10252: < 0.896437, -0.433981, 0.089787> + 10253: < 0.916918, -0.388998, 0.089116> + 10254: < 0.911854, -0.388632, 0.132240> + 10255: < 0.891405, -0.433281, 0.132911> + 10256: < 0.916918, -0.388998, 0.089116> + 10257: < 0.934648, -0.344408, 0.088414> + 10258: < 0.929596, -0.344322, 0.131509> + 10259: < 0.911854, -0.388632, 0.132240> + 10260: < 0.934648, -0.344408, 0.088414> + 10261: < 0.949820, -0.300248, 0.087712> + 10262: < 0.944802, -0.300427, 0.130743> + 10263: < 0.929596, -0.344322, 0.131509> + 10264: < 0.949820, -0.300248, 0.087712> + 10265: < 0.962605, -0.256544, 0.087041> + 10266: < 0.957663, -0.256880, 0.129981> + 10267: < 0.944802, -0.300427, 0.130743> + 10268: < 0.962605, -0.256544, 0.087041> + 10269: < 0.973180, -0.213204, 0.086398> + 10270: < 0.968319, -0.213666, 0.129250> + 10271: < 0.957663, -0.256880, 0.129981> + 10272: < 0.973180, -0.213204, 0.086398> + 10273: < 0.981668, -0.170203, 0.085788> + 10274: < 0.976904, -0.170691, 0.128545> + 10275: < 0.968319, -0.213666, 0.129250> + 10276: < 0.981668, -0.170203, 0.085788> + 10277: < 0.988171, -0.127447, 0.085300> + 10278: < 0.983497, -0.127935, 0.127935> + 10279: < 0.976904, -0.170691, 0.128545> + 10280: < 0.988171, -0.127447, 0.085300> + 10281: < 0.992765, -0.084905, 0.084905> + 10282: < 0.988171, -0.085300, 0.127447> + 10283: < 0.983497, -0.127935, 0.127935> + 10284: < 0.992765, -0.084905, 0.084905> + 10285: < 0.995505, -0.042452, 0.084660> + 10286: < 0.990966, -0.042666, 0.127144> + 10287: < 0.988171, -0.085300, 0.127447> + 10288: < 0.995505, -0.042452, 0.084660> + 10289: < 0.996418, 0.000000, 0.084568> + 10290: < 0.991900, 0.000000, 0.127020> + 10291: < 0.990966, -0.042666, 0.127144> + 10292: < 0.996418, 0.000000, 0.084568> + 10293: < 0.995505, 0.042452, 0.084660> + 10294: < 0.990966, 0.042666, 0.127144> + 10295: < 0.991900, 0.000000, 0.127020> + 10296: < 0.995505, 0.042452, 0.084660> + 10297: < 0.992765, 0.084905, 0.084905> + 10298: < 0.988171, 0.085300, 0.127447> + 10299: < 0.990966, 0.042666, 0.127144> + 10300: < 0.992765, 0.084905, 0.084905> + 10301: < 0.988171, 0.127447, 0.085300> + 10302: < 0.983497, 0.127935, 0.127935> + 10303: < 0.988171, 0.085300, 0.127447> + 10304: < 0.988171, 0.127447, 0.085300> + 10305: < 0.981668, 0.170203, 0.085788> + 10306: < 0.976904, 0.170691, 0.128545> + 10307: < 0.983497, 0.127935, 0.127935> + 10308: < 0.981668, 0.170203, 0.085788> + 10309: < 0.973180, 0.213204, 0.086398> + 10310: < 0.968319, 0.213666, 0.129250> + 10311: < 0.976904, 0.170691, 0.128545> + 10312: < 0.973180, 0.213204, 0.086398> + 10313: < 0.962605, 0.256544, 0.087041> + 10314: < 0.957663, 0.256880, 0.129981> + 10315: < 0.968319, 0.213666, 0.129250> + 10316: < 0.962605, 0.256544, 0.087041> + 10317: < 0.949820, 0.300248, 0.087712> + 10318: < 0.944802, 0.300427, 0.130743> + 10319: < 0.957663, 0.256880, 0.129981> + 10320: < 0.949820, 0.300248, 0.087712> + 10321: < 0.934648, 0.344408, 0.088414> + 10322: < 0.929596, 0.344322, 0.131509> + 10323: < 0.944802, 0.300427, 0.130743> + 10324: < 0.934648, 0.344408, 0.088414> + 10325: < 0.916918, 0.388998, 0.089116> + 10326: < 0.911854, 0.388632, 0.132240> + 10327: < 0.929596, 0.344322, 0.131509> + 10328: < 0.916918, 0.388998, 0.089116> + 10329: < 0.896437, 0.433981, 0.089787> + 10330: < 0.891405, 0.433281, 0.132911> + 10331: < 0.911854, 0.388632, 0.132240> + 10332: < 0.896437, 0.433981, 0.089787> + 10333: < 0.872976, 0.479307, 0.090429> + 10334: < 0.868033, 0.478208, 0.133553> + 10335: < 0.891405, 0.433281, 0.132911> + 10336: < 0.872976, 0.479307, 0.090429> + 10337: < 0.846324, 0.524836, 0.091008> + 10338: < 0.841527, 0.523307, 0.134100> + 10339: < 0.868033, 0.478208, 0.133553> + 10340: < 0.846324, 0.524836, 0.091008> + 10341: < 0.816271, 0.570377, 0.091497> + 10342: < 0.811677, 0.568382, 0.134618> + 10343: < 0.841527, 0.523307, 0.134100> + 10344: < 0.816271, 0.570377, 0.091497> + 10345: < 0.782607, 0.615697, 0.091894> + 10346: < 0.778309, 0.613199, 0.134988> + 10347: < 0.811677, 0.568382, 0.134618> + 10348: < 0.782607, 0.615697, 0.091894> + 10349: < 0.745184, 0.660463, 0.092137> + 10350: < 0.741243, 0.657468, 0.135260> + 10351: < 0.778309, 0.613199, 0.134988> + 10352: < 0.741243, -0.657468, 0.135260> + 10353: < 0.778309, -0.613199, 0.134988> + 10354: < 0.772589, -0.609892, 0.176461> + 10355: < 0.736025, -0.653502, 0.176644> + 10356: < 0.778309, -0.613199, 0.134988> + 10357: < 0.811677, -0.568382, 0.134618> + 10358: < 0.805587, -0.565675, 0.176188> + 10359: < 0.772589, -0.609892, 0.176461> + 10360: < 0.811677, -0.568382, 0.134618> + 10361: < 0.841527, -0.523307, 0.134100> + 10362: < 0.835133, -0.521180, 0.175853> + 10363: < 0.805587, -0.565675, 0.176188> + 10364: < 0.841527, -0.523307, 0.134100> + 10365: < 0.868033, -0.478208, 0.133553> + 10366: < 0.861427, -0.476614, 0.175453> + 10367: < 0.835133, -0.521180, 0.175853> + 10368: < 0.868033, -0.478208, 0.133553> + 10369: < 0.891405, -0.433281, 0.132911> + 10370: < 0.884654, -0.432149, 0.175026> + 10371: < 0.861427, -0.476614, 0.175453> + 10372: < 0.891405, -0.433281, 0.132911> + 10373: < 0.911854, -0.388632, 0.132240> + 10374: < 0.904997, -0.387965, 0.174541> + 10375: < 0.884654, -0.432149, 0.175026> + 10376: < 0.911854, -0.388632, 0.132240> + 10377: < 0.929596, -0.344322, 0.131509> + 10378: < 0.922682, -0.344072, 0.173989> + 10379: < 0.904997, -0.387965, 0.174541> + 10380: < 0.929596, -0.344322, 0.131509> + 10381: < 0.944802, -0.300427, 0.130743> + 10382: < 0.937897, -0.300496, 0.173351> + 10383: < 0.922682, -0.344072, 0.173989> + 10384: < 0.944802, -0.300427, 0.130743> + 10385: < 0.957663, -0.256880, 0.129981> + 10386: < 0.950800, -0.257217, 0.172679> + 10387: < 0.937897, -0.300496, 0.173351> + 10388: < 0.957663, -0.256880, 0.129981> + 10389: < 0.968319, -0.213666, 0.129250> + 10390: < 0.961530, -0.214182, 0.172005> + 10391: < 0.950800, -0.257217, 0.172679> + 10392: < 0.968319, -0.213666, 0.129250> + 10393: < 0.976904, -0.170691, 0.128545> + 10394: < 0.970211, -0.171305, 0.171305> + 10395: < 0.961530, -0.214182, 0.172005> + 10396: < 0.976904, -0.170691, 0.128545> + 10397: < 0.983497, -0.127935, 0.127935> + 10398: < 0.976904, -0.128545, 0.170691> + 10399: < 0.970211, -0.171305, 0.171305> + 10400: < 0.983497, -0.127935, 0.127935> + 10401: < 0.988171, -0.085300, 0.127447> + 10402: < 0.981668, -0.085788, 0.170203> + 10403: < 0.976904, -0.128545, 0.170691> + 10404: < 0.988171, -0.085300, 0.127447> + 10405: < 0.990966, -0.042666, 0.127144> + 10406: < 0.984535, -0.042970, 0.169837> + 10407: < 0.981668, -0.085788, 0.170203> + 10408: < 0.990966, -0.042666, 0.127144> + 10409: < 0.991900, 0.000000, 0.127020> + 10410: < 0.985488, 0.000000, 0.169746> + 10411: < 0.984535, -0.042970, 0.169837> + 10412: < 0.991900, 0.000000, 0.127020> + 10413: < 0.990966, 0.042666, 0.127144> + 10414: < 0.984530, 0.042970, 0.169866> + 10415: < 0.985488, 0.000000, 0.169746> + 10416: < 0.990966, 0.042666, 0.127144> + 10417: < 0.988171, 0.085300, 0.127447> + 10418: < 0.981668, 0.085788, 0.170203> + 10419: < 0.984530, 0.042970, 0.169866> + 10420: < 0.988171, 0.085300, 0.127447> + 10421: < 0.983497, 0.127935, 0.127935> + 10422: < 0.976904, 0.128545, 0.170691> + 10423: < 0.981668, 0.085788, 0.170203> + 10424: < 0.983497, 0.127935, 0.127935> + 10425: < 0.976904, 0.170691, 0.128545> + 10426: < 0.970211, 0.171305, 0.171305> + 10427: < 0.976904, 0.128545, 0.170691> + 10428: < 0.976904, 0.170691, 0.128545> + 10429: < 0.968319, 0.213666, 0.129250> + 10430: < 0.961530, 0.214182, 0.172005> + 10431: < 0.970211, 0.171305, 0.171305> + 10432: < 0.968319, 0.213666, 0.129250> + 10433: < 0.957663, 0.256880, 0.129981> + 10434: < 0.950800, 0.257217, 0.172679> + 10435: < 0.961530, 0.214182, 0.172005> + 10436: < 0.957663, 0.256880, 0.129981> + 10437: < 0.944802, 0.300427, 0.130743> + 10438: < 0.937897, 0.300496, 0.173351> + 10439: < 0.950800, 0.257217, 0.172679> + 10440: < 0.944802, 0.300427, 0.130743> + 10441: < 0.929596, 0.344322, 0.131509> + 10442: < 0.922682, 0.344072, 0.173989> + 10443: < 0.937897, 0.300496, 0.173351> + 10444: < 0.929596, 0.344322, 0.131509> + 10445: < 0.911854, 0.388632, 0.132240> + 10446: < 0.904997, 0.387965, 0.174541> + 10447: < 0.922682, 0.344072, 0.173989> + 10448: < 0.911854, 0.388632, 0.132240> + 10449: < 0.891405, 0.433281, 0.132911> + 10450: < 0.884654, 0.432149, 0.175026> + 10451: < 0.904997, 0.387965, 0.174541> + 10452: < 0.891405, 0.433281, 0.132911> + 10453: < 0.868033, 0.478208, 0.133553> + 10454: < 0.861427, 0.476614, 0.175453> + 10455: < 0.884654, 0.432149, 0.175026> + 10456: < 0.868033, 0.478208, 0.133553> + 10457: < 0.841527, 0.523307, 0.134100> + 10458: < 0.835133, 0.521180, 0.175853> + 10459: < 0.861427, 0.476614, 0.175453> + 10460: < 0.841527, 0.523307, 0.134100> + 10461: < 0.811677, 0.568382, 0.134618> + 10462: < 0.805587, 0.565675, 0.176188> + 10463: < 0.835133, 0.521180, 0.175853> + 10464: < 0.811677, 0.568382, 0.134618> + 10465: < 0.778309, 0.613199, 0.134988> + 10466: < 0.772589, 0.609892, 0.176461> + 10467: < 0.805587, 0.565675, 0.176188> + 10468: < 0.778309, 0.613199, 0.134988> + 10469: < 0.741243, 0.657468, 0.135260> + 10470: < 0.736025, 0.653502, 0.176644> + 10471: < 0.772589, 0.609892, 0.176461> + 10472: < 0.736025, -0.653502, 0.176644> + 10473: < 0.772589, -0.609892, 0.176461> + 10474: < 0.765608, -0.605748, 0.216596> + 10475: < 0.729636, -0.648606, 0.216660> + 10476: < 0.772589, -0.609892, 0.176461> + 10477: < 0.805587, -0.565675, 0.176188> + 10478: < 0.798110, -0.562257, 0.216534> + 10479: < 0.765608, -0.605748, 0.216596> + 10480: < 0.805587, -0.565675, 0.176188> + 10481: < 0.835133, -0.521180, 0.175853> + 10482: < 0.827263, -0.518435, 0.216475> + 10483: < 0.798110, -0.562257, 0.216534> + 10484: < 0.835133, -0.521180, 0.175853> + 10485: < 0.861427, -0.476614, 0.175453> + 10486: < 0.853230, -0.474515, 0.216413> + 10487: < 0.827263, -0.518435, 0.216475> + 10488: < 0.861427, -0.476614, 0.175453> + 10489: < 0.884654, -0.432149, 0.175026> + 10490: < 0.876208, -0.430657, 0.216320> + 10491: < 0.853230, -0.474515, 0.216413> + 10492: < 0.884654, -0.432149, 0.175026> + 10493: < 0.904997, -0.387965, 0.174541> + 10494: < 0.896382, -0.386985, 0.216199> + 10495: < 0.876208, -0.430657, 0.216320> + 10496: < 0.904997, -0.387965, 0.174541> + 10497: < 0.922682, -0.344072, 0.173989> + 10498: < 0.913949, -0.343582, 0.215982> + 10499: < 0.896382, -0.386985, 0.216199> + 10500: < 0.922682, -0.344072, 0.173989> + 10501: < 0.937897, -0.300496, 0.173351> + 10502: < 0.929096, -0.300461, 0.215649> + 10503: < 0.913949, -0.343582, 0.215982> + 10504: < 0.937897, -0.300496, 0.173351> + 10505: < 0.950800, -0.257217, 0.172679> + 10506: < 0.942000, -0.257519, 0.215220> + 10507: < 0.929096, -0.300461, 0.215649> + 10508: < 0.950800, -0.257217, 0.172679> + 10509: < 0.961530, -0.214182, 0.172005> + 10510: < 0.952775, -0.214732, 0.214732> + 10511: < 0.942000, -0.257519, 0.215220> + 10512: < 0.961530, -0.214182, 0.172005> + 10513: < 0.970211, -0.171305, 0.171305> + 10514: < 0.961530, -0.172005, 0.214182> + 10515: < 0.952775, -0.214732, 0.214732> + 10516: < 0.970211, -0.171305, 0.171305> + 10517: < 0.976904, -0.128545, 0.170691> + 10518: < 0.968319, -0.129250, 0.213666> + 10519: < 0.961530, -0.172005, 0.214182> + 10520: < 0.976904, -0.128545, 0.170691> + 10521: < 0.981668, -0.085788, 0.170203> + 10522: < 0.973180, -0.086398, 0.213204> + 10523: < 0.968319, -0.129250, 0.213666> + 10524: < 0.981668, -0.085788, 0.170203> + 10525: < 0.984535, -0.042970, 0.169837> + 10526: < 0.976120, -0.043306, 0.212870> + 10527: < 0.973180, -0.086398, 0.213204> + 10528: < 0.984535, -0.042970, 0.169837> + 10529: < 0.985488, 0.000000, 0.169746> + 10530: < 0.977107, 0.000000, 0.212750> + 10531: < 0.976120, -0.043306, 0.212870> + 10532: < 0.985488, 0.000000, 0.169746> + 10533: < 0.984530, 0.042970, 0.169866> + 10534: < 0.976120, 0.043306, 0.212870> + 10535: < 0.977107, 0.000000, 0.212750> + 10536: < 0.984530, 0.042970, 0.169866> + 10537: < 0.981668, 0.085788, 0.170203> + 10538: < 0.973180, 0.086398, 0.213204> + 10539: < 0.976120, 0.043306, 0.212870> + 10540: < 0.981668, 0.085788, 0.170203> + 10541: < 0.976904, 0.128545, 0.170691> + 10542: < 0.968319, 0.129250, 0.213666> + 10543: < 0.973180, 0.086398, 0.213204> + 10544: < 0.976904, 0.128545, 0.170691> + 10545: < 0.970211, 0.171305, 0.171305> + 10546: < 0.961530, 0.172005, 0.214182> + 10547: < 0.968319, 0.129250, 0.213666> + 10548: < 0.970211, 0.171305, 0.171305> + 10549: < 0.961530, 0.214182, 0.172005> + 10550: < 0.952775, 0.214732, 0.214732> + 10551: < 0.961530, 0.172005, 0.214182> + 10552: < 0.961530, 0.214182, 0.172005> + 10553: < 0.950800, 0.257217, 0.172679> + 10554: < 0.942000, 0.257519, 0.215220> + 10555: < 0.952775, 0.214732, 0.214732> + 10556: < 0.950800, 0.257217, 0.172679> + 10557: < 0.937897, 0.300496, 0.173351> + 10558: < 0.929096, 0.300461, 0.215649> + 10559: < 0.942000, 0.257519, 0.215220> + 10560: < 0.937897, 0.300496, 0.173351> + 10561: < 0.922682, 0.344072, 0.173989> + 10562: < 0.913949, 0.343582, 0.215982> + 10563: < 0.929096, 0.300461, 0.215649> + 10564: < 0.922682, 0.344072, 0.173989> + 10565: < 0.904997, 0.387965, 0.174541> + 10566: < 0.896382, 0.386985, 0.216199> + 10567: < 0.913949, 0.343582, 0.215982> + 10568: < 0.904997, 0.387965, 0.174541> + 10569: < 0.884654, 0.432149, 0.175026> + 10570: < 0.876208, 0.430657, 0.216320> + 10571: < 0.896382, 0.386985, 0.216199> + 10572: < 0.884654, 0.432149, 0.175026> + 10573: < 0.861427, 0.476614, 0.175453> + 10574: < 0.853230, 0.474515, 0.216413> + 10575: < 0.876208, 0.430657, 0.216320> + 10576: < 0.861427, 0.476614, 0.175453> + 10577: < 0.835133, 0.521180, 0.175853> + 10578: < 0.827263, 0.518435, 0.216475> + 10579: < 0.853230, 0.474515, 0.216413> + 10580: < 0.835133, 0.521180, 0.175853> + 10581: < 0.805587, 0.565675, 0.176188> + 10582: < 0.798110, 0.562257, 0.216534> + 10583: < 0.827263, 0.518435, 0.216475> + 10584: < 0.805587, 0.565675, 0.176188> + 10585: < 0.772589, 0.609892, 0.176461> + 10586: < 0.765608, 0.605748, 0.216596> + 10587: < 0.798110, 0.562257, 0.216534> + 10588: < 0.772589, 0.609892, 0.176461> + 10589: < 0.736025, 0.653502, 0.176644> + 10590: < 0.729636, 0.648606, 0.216660> + 10591: < 0.765608, 0.605748, 0.216596> + 10592: < 0.729636, -0.648606, 0.216660> + 10593: < 0.765608, -0.605748, 0.216596> + 10594: < 0.757361, -0.600829, 0.255750> + 10595: < 0.722093, -0.642833, 0.255632> + 10596: < 0.765608, -0.605748, 0.216596> + 10597: < 0.798110, -0.562257, 0.216534> + 10598: < 0.789266, -0.558172, 0.255937> + 10599: < 0.757361, -0.600829, 0.255750> + 10600: < 0.798110, -0.562257, 0.216534> + 10601: < 0.827263, -0.518435, 0.216475> + 10602: < 0.817925, -0.515110, 0.256243> + 10603: < 0.789266, -0.558172, 0.255937> + 10604: < 0.827263, -0.518435, 0.216475> + 10605: < 0.853230, -0.474515, 0.216413> + 10606: < 0.843490, -0.471888, 0.256606> + 10607: < 0.817925, -0.515110, 0.256243> + 10608: < 0.853230, -0.474515, 0.216413> + 10609: < 0.876208, -0.430657, 0.216320> + 10610: < 0.866124, -0.428698, 0.256999> + 10611: < 0.843490, -0.471888, 0.256606> + 10612: < 0.876208, -0.430657, 0.216320> + 10613: < 0.896382, -0.386985, 0.216199> + 10614: < 0.886018, -0.385664, 0.257364> + 10615: < 0.866124, -0.428698, 0.256999> + 10616: < 0.896382, -0.386985, 0.216199> + 10617: < 0.913949, -0.343582, 0.215982> + 10618: < 0.903367, -0.342852, 0.257643> + 10619: < 0.886018, -0.385664, 0.257364> + 10620: < 0.913949, -0.343582, 0.215982> + 10621: < 0.929096, -0.300461, 0.215649> + 10622: < 0.918390, -0.300219, 0.257736> + 10623: < 0.903367, -0.342852, 0.257643> + 10624: < 0.929096, -0.300461, 0.215649> + 10625: < 0.942000, -0.257519, 0.215220> + 10626: < 0.931225, -0.257702, 0.257702> + 10627: < 0.918390, -0.300219, 0.257736> + 10628: < 0.942000, -0.257519, 0.215220> + 10629: < 0.952775, -0.214732, 0.214732> + 10630: < 0.942000, -0.215220, 0.257519> + 10631: < 0.931225, -0.257702, 0.257702> + 10632: < 0.952775, -0.214732, 0.214732> + 10633: < 0.961530, -0.172005, 0.214182> + 10634: < 0.950800, -0.172679, 0.257217> + 10635: < 0.942000, -0.215220, 0.257519> + 10636: < 0.961530, -0.172005, 0.214182> + 10637: < 0.968319, -0.129250, 0.213666> + 10638: < 0.957663, -0.129981, 0.256880> + 10639: < 0.950800, -0.172679, 0.257217> + 10640: < 0.968319, -0.129250, 0.213666> + 10641: < 0.973180, -0.086398, 0.213204> + 10642: < 0.962605, -0.087041, 0.256544> + 10643: < 0.957663, -0.129981, 0.256880> + 10644: < 0.973180, -0.086398, 0.213204> + 10645: < 0.976120, -0.043306, 0.212870> + 10646: < 0.965618, -0.043703, 0.256267> + 10647: < 0.962605, -0.087041, 0.256544> + 10648: < 0.976120, -0.043306, 0.212870> + 10649: < 0.977107, 0.000000, 0.212750> + 10650: < 0.966630, 0.000000, 0.256177> + 10651: < 0.965618, -0.043703, 0.256267> + 10652: < 0.977107, 0.000000, 0.212750> + 10653: < 0.976120, 0.043306, 0.212870> + 10654: < 0.965618, 0.043703, 0.256267> + 10655: < 0.966630, 0.000000, 0.256177> + 10656: < 0.976120, 0.043306, 0.212870> + 10657: < 0.973180, 0.086398, 0.213204> + 10658: < 0.962605, 0.087041, 0.256544> + 10659: < 0.965618, 0.043703, 0.256267> + 10660: < 0.973180, 0.086398, 0.213204> + 10661: < 0.968319, 0.129250, 0.213666> + 10662: < 0.957663, 0.129981, 0.256880> + 10663: < 0.962605, 0.087041, 0.256544> + 10664: < 0.968319, 0.129250, 0.213666> + 10665: < 0.961530, 0.172005, 0.214182> + 10666: < 0.950800, 0.172679, 0.257217> + 10667: < 0.957663, 0.129981, 0.256880> + 10668: < 0.961530, 0.172005, 0.214182> + 10669: < 0.952775, 0.214732, 0.214732> + 10670: < 0.942000, 0.215220, 0.257519> + 10671: < 0.950800, 0.172679, 0.257217> + 10672: < 0.952775, 0.214732, 0.214732> + 10673: < 0.942000, 0.257519, 0.215220> + 10674: < 0.931225, 0.257702, 0.257702> + 10675: < 0.942000, 0.215220, 0.257519> + 10676: < 0.942000, 0.257519, 0.215220> + 10677: < 0.929096, 0.300461, 0.215649> + 10678: < 0.918390, 0.300219, 0.257736> + 10679: < 0.931225, 0.257702, 0.257702> + 10680: < 0.929096, 0.300461, 0.215649> + 10681: < 0.913949, 0.343582, 0.215982> + 10682: < 0.903367, 0.342852, 0.257643> + 10683: < 0.918390, 0.300219, 0.257736> + 10684: < 0.913949, 0.343582, 0.215982> + 10685: < 0.896382, 0.386985, 0.216199> + 10686: < 0.886018, 0.385664, 0.257364> + 10687: < 0.903367, 0.342852, 0.257643> + 10688: < 0.896382, 0.386985, 0.216199> + 10689: < 0.876208, 0.430657, 0.216320> + 10690: < 0.866124, 0.428698, 0.256999> + 10691: < 0.886018, 0.385664, 0.257364> + 10692: < 0.876208, 0.430657, 0.216320> + 10693: < 0.853230, 0.474515, 0.216413> + 10694: < 0.843490, 0.471888, 0.256606> + 10695: < 0.866124, 0.428698, 0.256999> + 10696: < 0.853230, 0.474515, 0.216413> + 10697: < 0.827263, 0.518435, 0.216475> + 10698: < 0.817925, 0.515110, 0.256243> + 10699: < 0.843490, 0.471888, 0.256606> + 10700: < 0.827263, 0.518435, 0.216475> + 10701: < 0.798110, 0.562257, 0.216534> + 10702: < 0.789266, 0.558172, 0.255937> + 10703: < 0.817925, 0.515110, 0.256243> + 10704: < 0.798110, 0.562257, 0.216534> + 10705: < 0.765608, 0.605748, 0.216596> + 10706: < 0.757361, 0.600829, 0.255750> + 10707: < 0.789266, 0.558172, 0.255937> + 10708: < 0.765608, 0.605748, 0.216596> + 10709: < 0.729636, 0.648606, 0.216660> + 10710: < 0.722093, 0.642833, 0.255632> + 10711: < 0.757361, 0.600829, 0.255750> + 10712: < 0.722093, -0.642833, 0.255632> + 10713: < 0.757361, -0.600829, 0.255750> + 10714: < 0.747816, -0.595158, 0.294207> + 10715: < 0.713396, -0.636150, 0.293904> + 10716: < 0.757361, -0.600829, 0.255750> + 10717: < 0.789266, -0.558172, 0.255937> + 10718: < 0.779017, -0.553415, 0.294729> + 10719: < 0.747816, -0.595158, 0.294207> + 10720: < 0.789266, -0.558172, 0.255937> + 10721: < 0.817925, -0.515110, 0.256243> + 10722: < 0.807082, -0.511198, 0.295457> + 10723: < 0.779017, -0.553415, 0.294729> + 10724: < 0.817925, -0.515110, 0.256243> + 10725: < 0.843490, -0.471888, 0.256606> + 10726: < 0.832128, -0.468770, 0.296339> + 10727: < 0.807082, -0.511198, 0.295457> + 10728: < 0.843490, -0.471888, 0.256606> + 10729: < 0.866124, -0.428698, 0.256999> + 10730: < 0.854324, -0.426323, 0.297287> + 10731: < 0.832128, -0.468770, 0.296339> + 10732: < 0.866124, -0.428698, 0.256999> + 10733: < 0.886018, -0.385664, 0.257364> + 10734: < 0.873840, -0.383986, 0.298259> + 10735: < 0.854324, -0.426323, 0.297287> + 10736: < 0.886018, -0.385664, 0.257364> + 10737: < 0.903367, -0.342852, 0.257643> + 10738: < 0.890906, -0.341811, 0.299085> + 10739: < 0.873840, -0.383986, 0.298259> + 10740: < 0.903367, -0.342852, 0.257643> + 10741: < 0.918390, -0.300219, 0.257736> + 10742: < 0.905696, -0.299762, 0.299762> + 10743: < 0.890906, -0.341811, 0.299085> + 10744: < 0.918390, -0.300219, 0.257736> + 10745: < 0.931225, -0.257702, 0.257702> + 10746: < 0.918390, -0.257736, 0.300219> + 10747: < 0.905696, -0.299762, 0.299762> + 10748: < 0.931225, -0.257702, 0.257702> + 10749: < 0.942000, -0.215220, 0.257519> + 10750: < 0.929096, -0.215649, 0.300461> + 10751: < 0.918390, -0.257736, 0.300219> + 10752: < 0.942000, -0.215220, 0.257519> + 10753: < 0.950800, -0.172679, 0.257217> + 10754: < 0.937897, -0.173351, 0.300496> + 10755: < 0.929096, -0.215649, 0.300461> + 10756: < 0.950800, -0.172679, 0.257217> + 10757: < 0.957663, -0.129981, 0.256880> + 10758: < 0.944802, -0.130743, 0.300427> + 10759: < 0.937897, -0.173351, 0.300496> + 10760: < 0.957663, -0.129981, 0.256880> + 10761: < 0.962605, -0.087041, 0.256544> + 10762: < 0.949820, -0.087712, 0.300248> + 10763: < 0.944802, -0.130743, 0.300427> + 10764: < 0.962605, -0.087041, 0.256544> + 10765: < 0.965618, -0.043703, 0.256267> + 10766: < 0.952889, -0.044130, 0.300092> + 10767: < 0.949820, -0.087712, 0.300248> + 10768: < 0.965618, -0.043703, 0.256267> + 10769: < 0.966630, 0.000000, 0.256177> + 10770: < 0.953929, 0.000000, 0.300031> + 10771: < 0.952889, -0.044130, 0.300092> + 10772: < 0.966630, 0.000000, 0.256177> + 10773: < 0.965618, 0.043703, 0.256267> + 10774: < 0.952889, 0.044130, 0.300092> + 10775: < 0.953929, 0.000000, 0.300031> + 10776: < 0.965618, 0.043703, 0.256267> + 10777: < 0.962605, 0.087041, 0.256544> + 10778: < 0.949820, 0.087712, 0.300248> + 10779: < 0.952889, 0.044130, 0.300092> + 10780: < 0.962605, 0.087041, 0.256544> + 10781: < 0.957663, 0.129981, 0.256880> + 10782: < 0.944802, 0.130743, 0.300427> + 10783: < 0.949820, 0.087712, 0.300248> + 10784: < 0.957663, 0.129981, 0.256880> + 10785: < 0.950800, 0.172679, 0.257217> + 10786: < 0.937897, 0.173351, 0.300496> + 10787: < 0.944802, 0.130743, 0.300427> + 10788: < 0.950800, 0.172679, 0.257217> + 10789: < 0.942000, 0.215220, 0.257519> + 10790: < 0.929096, 0.215649, 0.300461> + 10791: < 0.937897, 0.173351, 0.300496> + 10792: < 0.942000, 0.215220, 0.257519> + 10793: < 0.931225, 0.257702, 0.257702> + 10794: < 0.918390, 0.257736, 0.300219> + 10795: < 0.929096, 0.215649, 0.300461> + 10796: < 0.931225, 0.257702, 0.257702> + 10797: < 0.918390, 0.300219, 0.257736> + 10798: < 0.905696, 0.299762, 0.299762> + 10799: < 0.918390, 0.257736, 0.300219> + 10800: < 0.918390, 0.300219, 0.257736> + 10801: < 0.903367, 0.342852, 0.257643> + 10802: < 0.890906, 0.341811, 0.299085> + 10803: < 0.905696, 0.299762, 0.299762> + 10804: < 0.903367, 0.342852, 0.257643> + 10805: < 0.886018, 0.385664, 0.257364> + 10806: < 0.873840, 0.383986, 0.298259> + 10807: < 0.890906, 0.341811, 0.299085> + 10808: < 0.886018, 0.385664, 0.257364> + 10809: < 0.866124, 0.428698, 0.256999> + 10810: < 0.854324, 0.426323, 0.297287> + 10811: < 0.873840, 0.383986, 0.298259> + 10812: < 0.866124, 0.428698, 0.256999> + 10813: < 0.843490, 0.471888, 0.256606> + 10814: < 0.832128, 0.468770, 0.296339> + 10815: < 0.854324, 0.426323, 0.297287> + 10816: < 0.843490, 0.471888, 0.256606> + 10817: < 0.817925, 0.515110, 0.256243> + 10818: < 0.807082, 0.511198, 0.295457> + 10819: < 0.832128, 0.468770, 0.296339> + 10820: < 0.817925, 0.515110, 0.256243> + 10821: < 0.789266, 0.558172, 0.255937> + 10822: < 0.779017, 0.553415, 0.294729> + 10823: < 0.807082, 0.511198, 0.295457> + 10824: < 0.789266, 0.558172, 0.255937> + 10825: < 0.757361, 0.600829, 0.255750> + 10826: < 0.747816, 0.595158, 0.294207> + 10827: < 0.779017, 0.553415, 0.294729> + 10828: < 0.757361, 0.600829, 0.255750> + 10829: < 0.722093, 0.642833, 0.255632> + 10830: < 0.713396, 0.636150, 0.293904> + 10831: < 0.747816, 0.595158, 0.294207> + 10832: < 0.713396, -0.636150, 0.293904> + 10833: < 0.747816, -0.595158, 0.294207> + 10834: < 0.736907, -0.588738, 0.332197> + 10835: < 0.703467, -0.628603, 0.331652> + 10836: < 0.747816, -0.595158, 0.294207> + 10837: < 0.779017, -0.553415, 0.294729> + 10838: < 0.767292, -0.548009, 0.333090> + 10839: < 0.736907, -0.588738, 0.332197> + 10840: < 0.779017, -0.553415, 0.294729> + 10841: < 0.807082, -0.511198, 0.295457> + 10842: < 0.794627, -0.506740, 0.334337> + 10843: < 0.767292, -0.548009, 0.333090> + 10844: < 0.807082, -0.511198, 0.295457> + 10845: < 0.832128, -0.468770, 0.296339> + 10846: < 0.819039, -0.465202, 0.335801> + 10847: < 0.794627, -0.506740, 0.334337> + 10848: < 0.832128, -0.468770, 0.296339> + 10849: < 0.854324, -0.426323, 0.297287> + 10850: < 0.840684, -0.423577, 0.337391> + 10851: < 0.819039, -0.465202, 0.335801> + 10852: < 0.854324, -0.426323, 0.297287> + 10853: < 0.873840, -0.383986, 0.298259> + 10854: < 0.859750, -0.381976, 0.339005> + 10855: < 0.840684, -0.423577, 0.337391> + 10856: < 0.873840, -0.383986, 0.298259> + 10857: < 0.890906, -0.341811, 0.299085> + 10858: < 0.876422, -0.340503, 0.340503> + 10859: < 0.859750, -0.381976, 0.339005> + 10860: < 0.890906, -0.341811, 0.299085> + 10861: < 0.905696, -0.299762, 0.299762> + 10862: < 0.890906, -0.299085, 0.341811> + 10863: < 0.876422, -0.340503, 0.340503> + 10864: < 0.905696, -0.299762, 0.299762> + 10865: < 0.918390, -0.257736, 0.300219> + 10866: < 0.903367, -0.257643, 0.342852> + 10867: < 0.890906, -0.299085, 0.341811> + 10868: < 0.918390, -0.257736, 0.300219> + 10869: < 0.929096, -0.215649, 0.300461> + 10870: < 0.913949, -0.215982, 0.343582> + 10871: < 0.903367, -0.257643, 0.342852> + 10872: < 0.929096, -0.215649, 0.300461> + 10873: < 0.937897, -0.173351, 0.300496> + 10874: < 0.922682, -0.173989, 0.344072> + 10875: < 0.913949, -0.215982, 0.343582> + 10876: < 0.937897, -0.173351, 0.300496> + 10877: < 0.944802, -0.130743, 0.300427> + 10878: < 0.929596, -0.131509, 0.344322> + 10879: < 0.922682, -0.173989, 0.344072> + 10880: < 0.944802, -0.130743, 0.300427> + 10881: < 0.949820, -0.087712, 0.300248> + 10882: < 0.934648, -0.088414, 0.344408> + 10883: < 0.929596, -0.131509, 0.344322> + 10884: < 0.949820, -0.087712, 0.300248> + 10885: < 0.952889, -0.044130, 0.300092> + 10886: < 0.937762, -0.044558, 0.344409> + 10887: < 0.934648, -0.088414, 0.344408> + 10888: < 0.952889, -0.044130, 0.300092> + 10889: < 0.953929, 0.000000, 0.300031> + 10890: < 0.938821, 0.000000, 0.344405> + 10891: < 0.937762, -0.044558, 0.344409> + 10892: < 0.953929, 0.000000, 0.300031> + 10893: < 0.952889, 0.044130, 0.300092> + 10894: < 0.937762, 0.044558, 0.344409> + 10895: < 0.938821, 0.000000, 0.344405> + 10896: < 0.952889, 0.044130, 0.300092> + 10897: < 0.949820, 0.087712, 0.300248> + 10898: < 0.934648, 0.088414, 0.344408> + 10899: < 0.937762, 0.044558, 0.344409> + 10900: < 0.949820, 0.087712, 0.300248> + 10901: < 0.944802, 0.130743, 0.300427> + 10902: < 0.929596, 0.131509, 0.344322> + 10903: < 0.934648, 0.088414, 0.344408> + 10904: < 0.944802, 0.130743, 0.300427> + 10905: < 0.937897, 0.173351, 0.300496> + 10906: < 0.922682, 0.173989, 0.344072> + 10907: < 0.929596, 0.131509, 0.344322> + 10908: < 0.937897, 0.173351, 0.300496> + 10909: < 0.929096, 0.215649, 0.300461> + 10910: < 0.913949, 0.215982, 0.343582> + 10911: < 0.922682, 0.173989, 0.344072> + 10912: < 0.929096, 0.215649, 0.300461> + 10913: < 0.918390, 0.257736, 0.300219> + 10914: < 0.903367, 0.257643, 0.342852> + 10915: < 0.913949, 0.215982, 0.343582> + 10916: < 0.918390, 0.257736, 0.300219> + 10917: < 0.905696, 0.299762, 0.299762> + 10918: < 0.890906, 0.299085, 0.341811> + 10919: < 0.903367, 0.257643, 0.342852> + 10920: < 0.905696, 0.299762, 0.299762> + 10921: < 0.890906, 0.341811, 0.299085> + 10922: < 0.876422, 0.340503, 0.340503> + 10923: < 0.890906, 0.299085, 0.341811> + 10924: < 0.890906, 0.341811, 0.299085> + 10925: < 0.873840, 0.383986, 0.298259> + 10926: < 0.859750, 0.381976, 0.339005> + 10927: < 0.876422, 0.340503, 0.340503> + 10928: < 0.873840, 0.383986, 0.298259> + 10929: < 0.854324, 0.426323, 0.297287> + 10930: < 0.840684, 0.423577, 0.337391> + 10931: < 0.859750, 0.381976, 0.339005> + 10932: < 0.854324, 0.426323, 0.297287> + 10933: < 0.832128, 0.468770, 0.296339> + 10934: < 0.819039, 0.465202, 0.335801> + 10935: < 0.840684, 0.423577, 0.337391> + 10936: < 0.832128, 0.468770, 0.296339> + 10937: < 0.807082, 0.511198, 0.295457> + 10938: < 0.794636, 0.506745, 0.334310> + 10939: < 0.819039, 0.465202, 0.335801> + 10940: < 0.807082, 0.511198, 0.295457> + 10941: < 0.779017, 0.553415, 0.294729> + 10942: < 0.767292, 0.548009, 0.333090> + 10943: < 0.794636, 0.506745, 0.334310> + 10944: < 0.779017, 0.553415, 0.294729> + 10945: < 0.747816, 0.595158, 0.294207> + 10946: < 0.736915, 0.588744, 0.332170> + 10947: < 0.767292, 0.548009, 0.333090> + 10948: < 0.747816, 0.595158, 0.294207> + 10949: < 0.713396, 0.636150, 0.293904> + 10950: < 0.703467, 0.628603, 0.331652> + 10951: < 0.736915, 0.588744, 0.332170> + 10952: < 0.703467, -0.628603, 0.331652> + 10953: < 0.736907, -0.588738, 0.332197> + 10954: < 0.724825, -0.581661, 0.369188> + 10955: < 0.692544, -0.620305, 0.368246> + 10956: < 0.736907, -0.588738, 0.332197> + 10957: < 0.767292, -0.548009, 0.333090> + 10958: < 0.754169, -0.542028, 0.370721> + 10959: < 0.724825, -0.581661, 0.369188> + 10960: < 0.767292, -0.548009, 0.333090> + 10961: < 0.794627, -0.506740, 0.334337> + 10962: < 0.780568, -0.501802, 0.372705> + 10963: < 0.754169, -0.542028, 0.370721> + 10964: < 0.794627, -0.506740, 0.334337> + 10965: < 0.819039, -0.465202, 0.335801> + 10966: < 0.804154, -0.461239, 0.374961> + 10967: < 0.780568, -0.501802, 0.372705> + 10968: < 0.819039, -0.465202, 0.335801> + 10969: < 0.840684, -0.423577, 0.337391> + 10970: < 0.825100, -0.420500, 0.377345> + 10971: < 0.804154, -0.461239, 0.374961> + 10972: < 0.840684, -0.423577, 0.337391> + 10973: < 0.859750, -0.381976, 0.339005> + 10974: < 0.843551, -0.379751, 0.379751> + 10975: < 0.825100, -0.420500, 0.377345> + 10976: < 0.859750, -0.381976, 0.339005> + 10977: < 0.876422, -0.340503, 0.340503> + 10978: < 0.859750, -0.339005, 0.381976> + 10979: < 0.843551, -0.379751, 0.379751> + 10980: < 0.876422, -0.340503, 0.340503> + 10981: < 0.890906, -0.299085, 0.341811> + 10982: < 0.873851, -0.298262, 0.383960> + 10983: < 0.859750, -0.339005, 0.381976> + 10984: < 0.890906, -0.299085, 0.341811> + 10985: < 0.903367, -0.257643, 0.342852> + 10986: < 0.886028, -0.257367, 0.385638> + 10987: < 0.873851, -0.298262, 0.383960> + 10988: < 0.903367, -0.257643, 0.342852> + 10989: < 0.913949, -0.215982, 0.343582> + 10990: < 0.896382, -0.216199, 0.386985> + 10991: < 0.886028, -0.257367, 0.385638> + 10992: < 0.913949, -0.215982, 0.343582> + 10993: < 0.922682, -0.173989, 0.344072> + 10994: < 0.904997, -0.174541, 0.387965> + 10995: < 0.896382, -0.216199, 0.386985> + 10996: < 0.922682, -0.173989, 0.344072> + 10997: < 0.929596, -0.131509, 0.344322> + 10998: < 0.911854, -0.132240, 0.388632> + 10999: < 0.904997, -0.174541, 0.387965> + 11000: < 0.929596, -0.131509, 0.344322> + 11001: < 0.934648, -0.088414, 0.344408> + 11002: < 0.916918, -0.089116, 0.388998> + 11003: < 0.911854, -0.132240, 0.388632> + 11004: < 0.934648, -0.088414, 0.344408> + 11005: < 0.937762, -0.044558, 0.344409> + 11006: < 0.920061, -0.045016, 0.389180> + 11007: < 0.916918, -0.089116, 0.388998> + 11008: < 0.937762, -0.044558, 0.344409> + 11009: < 0.938821, 0.000000, 0.344405> + 11010: < 0.921135, 0.000000, 0.389244> + 11011: < 0.920061, -0.045016, 0.389180> + 11012: < 0.938821, 0.000000, 0.344405> + 11013: < 0.937762, 0.044558, 0.344409> + 11014: < 0.920061, 0.045016, 0.389180> + 11015: < 0.921135, 0.000000, 0.389244> + 11016: < 0.937762, 0.044558, 0.344409> + 11017: < 0.934648, 0.088414, 0.344408> + 11018: < 0.916918, 0.089116, 0.388998> + 11019: < 0.920061, 0.045016, 0.389180> + 11020: < 0.934648, 0.088414, 0.344408> + 11021: < 0.929596, 0.131509, 0.344322> + 11022: < 0.911854, 0.132240, 0.388632> + 11023: < 0.916918, 0.089116, 0.388998> + 11024: < 0.929596, 0.131509, 0.344322> + 11025: < 0.922682, 0.173989, 0.344072> + 11026: < 0.904997, 0.174541, 0.387965> + 11027: < 0.911854, 0.132240, 0.388632> + 11028: < 0.922682, 0.173989, 0.344072> + 11029: < 0.913949, 0.215982, 0.343582> + 11030: < 0.896382, 0.216199, 0.386985> + 11031: < 0.904997, 0.174541, 0.387965> + 11032: < 0.913949, 0.215982, 0.343582> + 11033: < 0.903367, 0.257643, 0.342852> + 11034: < 0.886018, 0.257364, 0.385664> + 11035: < 0.896382, 0.216199, 0.386985> + 11036: < 0.903367, 0.257643, 0.342852> + 11037: < 0.890906, 0.299085, 0.341811> + 11038: < 0.873840, 0.298259, 0.383986> + 11039: < 0.886018, 0.257364, 0.385664> + 11040: < 0.890906, 0.299085, 0.341811> + 11041: < 0.876422, 0.340503, 0.340503> + 11042: < 0.859750, 0.339005, 0.381976> + 11043: < 0.873840, 0.298259, 0.383986> + 11044: < 0.876422, 0.340503, 0.340503> + 11045: < 0.859750, 0.381976, 0.339005> + 11046: < 0.843551, 0.379751, 0.379751> + 11047: < 0.859750, 0.339005, 0.381976> + 11048: < 0.859750, 0.381976, 0.339005> + 11049: < 0.840684, 0.423577, 0.337391> + 11050: < 0.825100, 0.420500, 0.377345> + 11051: < 0.843551, 0.379751, 0.379751> + 11052: < 0.840684, 0.423577, 0.337391> + 11053: < 0.819039, 0.465202, 0.335801> + 11054: < 0.804154, 0.461239, 0.374961> + 11055: < 0.825100, 0.420500, 0.377345> + 11056: < 0.819039, 0.465202, 0.335801> + 11057: < 0.794636, 0.506745, 0.334310> + 11058: < 0.780568, 0.501802, 0.372705> + 11059: < 0.804154, 0.461239, 0.374961> + 11060: < 0.794636, 0.506745, 0.334310> + 11061: < 0.767292, 0.548009, 0.333090> + 11062: < 0.754169, 0.542028, 0.370721> + 11063: < 0.780568, 0.501802, 0.372705> + 11064: < 0.767292, 0.548009, 0.333090> + 11065: < 0.736915, 0.588744, 0.332170> + 11066: < 0.724825, 0.581661, 0.369188> + 11067: < 0.754169, 0.542028, 0.370721> + 11068: < 0.736915, 0.588744, 0.332170> + 11069: < 0.703467, 0.628603, 0.331652> + 11070: < 0.692544, 0.620305, 0.368246> + 11071: < 0.724825, 0.581661, 0.369188> + 11072: < 0.692544, -0.620305, 0.368246> + 11073: < 0.724825, -0.581661, 0.369188> + 11074: < 0.711772, -0.574008, 0.404839> + 11075: < 0.680859, -0.611427, 0.403223> + 11076: < 0.724825, -0.581661, 0.369188> + 11077: < 0.754169, -0.542028, 0.370721> + 11078: < 0.739812, -0.535518, 0.407307> + 11079: < 0.711772, -0.574008, 0.404839> + 11080: < 0.754169, -0.542028, 0.370721> + 11081: < 0.780568, -0.501802, 0.372705> + 11082: < 0.764964, -0.496395, 0.410392> + 11083: < 0.739812, -0.535518, 0.407307> + 11084: < 0.780568, -0.501802, 0.372705> + 11085: < 0.804154, -0.461239, 0.374961> + 11086: < 0.787421, -0.456900, 0.413777> + 11087: < 0.764964, -0.496395, 0.410392> + 11088: < 0.804154, -0.461239, 0.374961> + 11089: < 0.825100, -0.420500, 0.377345> + 11090: < 0.807394, -0.417202, 0.417202> + 11091: < 0.787421, -0.456900, 0.413777> + 11092: < 0.825100, -0.420500, 0.377345> + 11093: < 0.843551, -0.379751, 0.379751> + 11094: < 0.825100, -0.377345, 0.420500> + 11095: < 0.807394, -0.417202, 0.417202> + 11096: < 0.843551, -0.379751, 0.379751> + 11097: < 0.859750, -0.339005, 0.381976> + 11098: < 0.840684, -0.337391, 0.423577> + 11099: < 0.825100, -0.377345, 0.420500> + 11100: < 0.859750, -0.339005, 0.381976> + 11101: < 0.873851, -0.298262, 0.383960> + 11102: < 0.854324, -0.297287, 0.426323> + 11103: < 0.840684, -0.337391, 0.423577> + 11104: < 0.873851, -0.298262, 0.383960> + 11105: < 0.886028, -0.257367, 0.385638> + 11106: < 0.866124, -0.256999, 0.428698> + 11107: < 0.854324, -0.297287, 0.426323> + 11108: < 0.886028, -0.257367, 0.385638> + 11109: < 0.896382, -0.216199, 0.386985> + 11110: < 0.876208, -0.216320, 0.430657> + 11111: < 0.866124, -0.256999, 0.428698> + 11112: < 0.896382, -0.216199, 0.386985> + 11113: < 0.904997, -0.174541, 0.387965> + 11114: < 0.884654, -0.175026, 0.432149> + 11115: < 0.876208, -0.216320, 0.430657> + 11116: < 0.904997, -0.174541, 0.387965> + 11117: < 0.911854, -0.132240, 0.388632> + 11118: < 0.891405, -0.132911, 0.433281> + 11119: < 0.884654, -0.175026, 0.432149> + 11120: < 0.911854, -0.132240, 0.388632> + 11121: < 0.916918, -0.089116, 0.388998> + 11122: < 0.896437, -0.089787, 0.433981> + 11123: < 0.891405, -0.132911, 0.433281> + 11124: < 0.916918, -0.089116, 0.388998> + 11125: < 0.920061, -0.045016, 0.389180> + 11126: < 0.899583, -0.045443, 0.434379> + 11127: < 0.896437, -0.089787, 0.433981> + 11128: < 0.920061, -0.045016, 0.389180> + 11129: < 0.921135, 0.000000, 0.389244> + 11130: < 0.900655, 0.000000, 0.434534> + 11131: < 0.899583, -0.045443, 0.434379> + 11132: < 0.921135, 0.000000, 0.389244> + 11133: < 0.920061, 0.045016, 0.389180> + 11134: < 0.899583, 0.045443, 0.434379> + 11135: < 0.900655, 0.000000, 0.434534> + 11136: < 0.920061, 0.045016, 0.389180> + 11137: < 0.916918, 0.089116, 0.388998> + 11138: < 0.896437, 0.089787, 0.433981> + 11139: < 0.899583, 0.045443, 0.434379> + 11140: < 0.916918, 0.089116, 0.388998> + 11141: < 0.911854, 0.132240, 0.388632> + 11142: < 0.891405, 0.132911, 0.433281> + 11143: < 0.896437, 0.089787, 0.433981> + 11144: < 0.911854, 0.132240, 0.388632> + 11145: < 0.904997, 0.174541, 0.387965> + 11146: < 0.884654, 0.175026, 0.432149> + 11147: < 0.891405, 0.132911, 0.433281> + 11148: < 0.904997, 0.174541, 0.387965> + 11149: < 0.896382, 0.216199, 0.386985> + 11150: < 0.876208, 0.216320, 0.430657> + 11151: < 0.884654, 0.175026, 0.432149> + 11152: < 0.896382, 0.216199, 0.386985> + 11153: < 0.886018, 0.257364, 0.385664> + 11154: < 0.866124, 0.256999, 0.428698> + 11155: < 0.876208, 0.216320, 0.430657> + 11156: < 0.886018, 0.257364, 0.385664> + 11157: < 0.873840, 0.298259, 0.383986> + 11158: < 0.854324, 0.297287, 0.426323> + 11159: < 0.866124, 0.256999, 0.428698> + 11160: < 0.873840, 0.298259, 0.383986> + 11161: < 0.859750, 0.339005, 0.381976> + 11162: < 0.840684, 0.337391, 0.423577> + 11163: < 0.854324, 0.297287, 0.426323> + 11164: < 0.859750, 0.339005, 0.381976> + 11165: < 0.843551, 0.379751, 0.379751> + 11166: < 0.825100, 0.377345, 0.420500> + 11167: < 0.840684, 0.337391, 0.423577> + 11168: < 0.843551, 0.379751, 0.379751> + 11169: < 0.825100, 0.420500, 0.377345> + 11170: < 0.807394, 0.417202, 0.417202> + 11171: < 0.825100, 0.377345, 0.420500> + 11172: < 0.825100, 0.420500, 0.377345> + 11173: < 0.804154, 0.461239, 0.374961> + 11174: < 0.787421, 0.456900, 0.413777> + 11175: < 0.807394, 0.417202, 0.417202> + 11176: < 0.804154, 0.461239, 0.374961> + 11177: < 0.780568, 0.501802, 0.372705> + 11178: < 0.764964, 0.496395, 0.410392> + 11179: < 0.787421, 0.456900, 0.413777> + 11180: < 0.780568, 0.501802, 0.372705> + 11181: < 0.754169, 0.542028, 0.370721> + 11182: < 0.739812, 0.535518, 0.407307> + 11183: < 0.764964, 0.496395, 0.410392> + 11184: < 0.754169, 0.542028, 0.370721> + 11185: < 0.724825, 0.581661, 0.369188> + 11186: < 0.711772, 0.574008, 0.404839> + 11187: < 0.739812, 0.535518, 0.407307> + 11188: < 0.724825, 0.581661, 0.369188> + 11189: < 0.692544, 0.620305, 0.368246> + 11190: < 0.680859, 0.611427, 0.403223> + 11191: < 0.711772, 0.574008, 0.404839> + 11192: < 0.680859, -0.611427, 0.403223> + 11193: < 0.711772, -0.574008, 0.404839> + 11194: < 0.697667, -0.565794, 0.439475> + 11195: < 0.668312, -0.601963, 0.437036> + 11196: < 0.711772, -0.574008, 0.404839> + 11197: < 0.739812, -0.535518, 0.407307> + 11198: < 0.724109, -0.528478, 0.443145> + 11199: < 0.697667, -0.565794, 0.439475> + 11200: < 0.739812, -0.535518, 0.407307> + 11201: < 0.764964, -0.496395, 0.410392> + 11202: < 0.747688, -0.490534, 0.447593> + 11203: < 0.724109, -0.528478, 0.443145> + 11204: < 0.764964, -0.496395, 0.410392> + 11205: < 0.787421, -0.456900, 0.413777> + 11206: < 0.768679, -0.452290, 0.452290> + 11207: < 0.747688, -0.490534, 0.447593> + 11208: < 0.787421, -0.456900, 0.413777> + 11209: < 0.807394, -0.417202, 0.417202> + 11210: < 0.787421, -0.413777, 0.456900> + 11211: < 0.768679, -0.452290, 0.452290> + 11212: < 0.807394, -0.417202, 0.417202> + 11213: < 0.825100, -0.377345, 0.420500> + 11214: < 0.804154, -0.374961, 0.461239> + 11215: < 0.787421, -0.413777, 0.456900> + 11216: < 0.825100, -0.377345, 0.420500> + 11217: < 0.840684, -0.337391, 0.423577> + 11218: < 0.819039, -0.335801, 0.465202> + 11219: < 0.804154, -0.374961, 0.461239> + 11220: < 0.840684, -0.337391, 0.423577> + 11221: < 0.854324, -0.297287, 0.426323> + 11222: < 0.832128, -0.296339, 0.468770> + 11223: < 0.819039, -0.335801, 0.465202> + 11224: < 0.854324, -0.297287, 0.426323> + 11225: < 0.866124, -0.256999, 0.428698> + 11226: < 0.843490, -0.256606, 0.471888> + 11227: < 0.832128, -0.296339, 0.468770> + 11228: < 0.866124, -0.256999, 0.428698> + 11229: < 0.876208, -0.216320, 0.430657> + 11230: < 0.853230, -0.216413, 0.474515> + 11231: < 0.843490, -0.256606, 0.471888> + 11232: < 0.876208, -0.216320, 0.430657> + 11233: < 0.884654, -0.175026, 0.432149> + 11234: < 0.861426, -0.175453, 0.476614> + 11235: < 0.853230, -0.216413, 0.474515> + 11236: < 0.884654, -0.175026, 0.432149> + 11237: < 0.891405, -0.132911, 0.433281> + 11238: < 0.868033, -0.133553, 0.478208> + 11239: < 0.861426, -0.175453, 0.476614> + 11240: < 0.891405, -0.132911, 0.433281> + 11241: < 0.896437, -0.089787, 0.433981> + 11242: < 0.872976, -0.090429, 0.479307> + 11243: < 0.868033, -0.133553, 0.478208> + 11244: < 0.896437, -0.089787, 0.433981> + 11245: < 0.899583, -0.045443, 0.434379> + 11246: < 0.876095, -0.045871, 0.479951> + 11247: < 0.872976, -0.090429, 0.479307> + 11248: < 0.899583, -0.045443, 0.434379> + 11249: < 0.900655, 0.000000, 0.434534> + 11250: < 0.877182, 0.000000, 0.480158> + 11251: < 0.876095, -0.045871, 0.479951> + 11252: < 0.900655, 0.000000, 0.434534> + 11253: < 0.899583, 0.045443, 0.434379> + 11254: < 0.876095, 0.045871, 0.479951> + 11255: < 0.877182, 0.000000, 0.480158> + 11256: < 0.899583, 0.045443, 0.434379> + 11257: < 0.896437, 0.089787, 0.433981> + 11258: < 0.872976, 0.090429, 0.479307> + 11259: < 0.876095, 0.045871, 0.479951> + 11260: < 0.896437, 0.089787, 0.433981> + 11261: < 0.891405, 0.132911, 0.433281> + 11262: < 0.868033, 0.133553, 0.478208> + 11263: < 0.872976, 0.090429, 0.479307> + 11264: < 0.891405, 0.132911, 0.433281> + 11265: < 0.884654, 0.175026, 0.432149> + 11266: < 0.861426, 0.175453, 0.476614> + 11267: < 0.868033, 0.133553, 0.478208> + 11268: < 0.884654, 0.175026, 0.432149> + 11269: < 0.876208, 0.216320, 0.430657> + 11270: < 0.853230, 0.216413, 0.474515> + 11271: < 0.861426, 0.175453, 0.476614> + 11272: < 0.876208, 0.216320, 0.430657> + 11273: < 0.866124, 0.256999, 0.428698> + 11274: < 0.843490, 0.256606, 0.471888> + 11275: < 0.853230, 0.216413, 0.474515> + 11276: < 0.866124, 0.256999, 0.428698> + 11277: < 0.854324, 0.297287, 0.426323> + 11278: < 0.832128, 0.296339, 0.468770> + 11279: < 0.843490, 0.256606, 0.471888> + 11280: < 0.854324, 0.297287, 0.426323> + 11281: < 0.840684, 0.337391, 0.423577> + 11282: < 0.819039, 0.335801, 0.465202> + 11283: < 0.832128, 0.296339, 0.468770> + 11284: < 0.840684, 0.337391, 0.423577> + 11285: < 0.825100, 0.377345, 0.420500> + 11286: < 0.804154, 0.374961, 0.461239> + 11287: < 0.819039, 0.335801, 0.465202> + 11288: < 0.825100, 0.377345, 0.420500> + 11289: < 0.807394, 0.417202, 0.417202> + 11290: < 0.787421, 0.413777, 0.456900> + 11291: < 0.804154, 0.374961, 0.461239> + 11292: < 0.807394, 0.417202, 0.417202> + 11293: < 0.787421, 0.456900, 0.413777> + 11294: < 0.768679, 0.452290, 0.452290> + 11295: < 0.787421, 0.413777, 0.456900> + 11296: < 0.787421, 0.456900, 0.413777> + 11297: < 0.764964, 0.496395, 0.410392> + 11298: < 0.747688, 0.490534, 0.447593> + 11299: < 0.768679, 0.452290, 0.452290> + 11300: < 0.764964, 0.496395, 0.410392> + 11301: < 0.739812, 0.535518, 0.407307> + 11302: < 0.724109, 0.528478, 0.443145> + 11303: < 0.747688, 0.490534, 0.447593> + 11304: < 0.739812, 0.535518, 0.407307> + 11305: < 0.711772, 0.574008, 0.404839> + 11306: < 0.697667, 0.565794, 0.439475> + 11307: < 0.724109, 0.528478, 0.443145> + 11308: < 0.711772, 0.574008, 0.404839> + 11309: < 0.680859, 0.611427, 0.403223> + 11310: < 0.668312, 0.601963, 0.437036> + 11311: < 0.697667, 0.565794, 0.439475> + 11312: < 0.668312, -0.601963, 0.437036> + 11313: < 0.697667, -0.565794, 0.439475> + 11314: < 0.682532, -0.557037, 0.473139> + 11315: < 0.655217, -0.591920, 0.469385> + 11316: < 0.697667, -0.565794, 0.439475> + 11317: < 0.724109, -0.528478, 0.443145> + 11318: < 0.706895, -0.520969, 0.478425> + 11319: < 0.682532, -0.557037, 0.473139> + 11320: < 0.724109, -0.528478, 0.443145> + 11321: < 0.747688, -0.490534, 0.447593> + 11322: < 0.728461, -0.484430, 0.484430> + 11323: < 0.706895, -0.520969, 0.478425> + 11324: < 0.747688, -0.490534, 0.447593> + 11325: < 0.768679, -0.452290, 0.452290> + 11326: < 0.747688, -0.447593, 0.490534> + 11327: < 0.728461, -0.484430, 0.484430> + 11328: < 0.768679, -0.452290, 0.452290> + 11329: < 0.787421, -0.413777, 0.456900> + 11330: < 0.764976, -0.410398, 0.496372> + 11331: < 0.747688, -0.447593, 0.490534> + 11332: < 0.787421, -0.413777, 0.456900> + 11333: < 0.804154, -0.374961, 0.461239> + 11334: < 0.780568, -0.372705, 0.501802> + 11335: < 0.764976, -0.410398, 0.496372> + 11336: < 0.804154, -0.374961, 0.461239> + 11337: < 0.819039, -0.335801, 0.465202> + 11338: < 0.794636, -0.334310, 0.506745> + 11339: < 0.780568, -0.372705, 0.501802> + 11340: < 0.819039, -0.335801, 0.465202> + 11341: < 0.832128, -0.296339, 0.468770> + 11342: < 0.807082, -0.295457, 0.511198> + 11343: < 0.794636, -0.334310, 0.506745> + 11344: < 0.832128, -0.296339, 0.468770> + 11345: < 0.843490, -0.256606, 0.471888> + 11346: < 0.817925, -0.256243, 0.515110> + 11347: < 0.807082, -0.295457, 0.511198> + 11348: < 0.843490, -0.256606, 0.471888> + 11349: < 0.853230, -0.216413, 0.474515> + 11350: < 0.827263, -0.216475, 0.518435> + 11351: < 0.817925, -0.256243, 0.515110> + 11352: < 0.853230, -0.216413, 0.474515> + 11353: < 0.861426, -0.175453, 0.476614> + 11354: < 0.835133, -0.175853, 0.521180> + 11355: < 0.827263, -0.216475, 0.518435> + 11356: < 0.861426, -0.175453, 0.476614> + 11357: < 0.868033, -0.133553, 0.478208> + 11358: < 0.841527, -0.134100, 0.523307> + 11359: < 0.835133, -0.175853, 0.521180> + 11360: < 0.868033, -0.133553, 0.478208> + 11361: < 0.872976, -0.090429, 0.479307> + 11362: < 0.846324, -0.091008, 0.524836> + 11363: < 0.841527, -0.134100, 0.523307> + 11364: < 0.872976, -0.090429, 0.479307> + 11365: < 0.876095, -0.045871, 0.479951> + 11366: < 0.849378, -0.046267, 0.525753> + 11367: < 0.846324, -0.091008, 0.524836> + 11368: < 0.876095, -0.045871, 0.479951> + 11369: < 0.877182, 0.000000, 0.480158> + 11370: < 0.850434, 0.000000, 0.526081> + 11371: < 0.849378, -0.046267, 0.525753> + 11372: < 0.877182, 0.000000, 0.480158> + 11373: < 0.876095, 0.045871, 0.479951> + 11374: < 0.849378, 0.046267, 0.525753> + 11375: < 0.850434, 0.000000, 0.526081> + 11376: < 0.876095, 0.045871, 0.479951> + 11377: < 0.872976, 0.090429, 0.479307> + 11378: < 0.846324, 0.091008, 0.524836> + 11379: < 0.849378, 0.046267, 0.525753> + 11380: < 0.872976, 0.090429, 0.479307> + 11381: < 0.868033, 0.133553, 0.478208> + 11382: < 0.841527, 0.134100, 0.523307> + 11383: < 0.846324, 0.091008, 0.524836> + 11384: < 0.868033, 0.133553, 0.478208> + 11385: < 0.861426, 0.175453, 0.476614> + 11386: < 0.835133, 0.175853, 0.521180> + 11387: < 0.841527, 0.134100, 0.523307> + 11388: < 0.861426, 0.175453, 0.476614> + 11389: < 0.853230, 0.216413, 0.474515> + 11390: < 0.827263, 0.216475, 0.518435> + 11391: < 0.835133, 0.175853, 0.521180> + 11392: < 0.853230, 0.216413, 0.474515> + 11393: < 0.843490, 0.256606, 0.471888> + 11394: < 0.817925, 0.256243, 0.515110> + 11395: < 0.827263, 0.216475, 0.518435> + 11396: < 0.843490, 0.256606, 0.471888> + 11397: < 0.832128, 0.296339, 0.468770> + 11398: < 0.807082, 0.295457, 0.511198> + 11399: < 0.817925, 0.256243, 0.515110> + 11400: < 0.832128, 0.296339, 0.468770> + 11401: < 0.819039, 0.335801, 0.465202> + 11402: < 0.794627, 0.334337, 0.506740> + 11403: < 0.807082, 0.295457, 0.511198> + 11404: < 0.819039, 0.335801, 0.465202> + 11405: < 0.804154, 0.374961, 0.461239> + 11406: < 0.780568, 0.372705, 0.501802> + 11407: < 0.794627, 0.334337, 0.506740> + 11408: < 0.804154, 0.374961, 0.461239> + 11409: < 0.787421, 0.413777, 0.456900> + 11410: < 0.764964, 0.410392, 0.496395> + 11411: < 0.780568, 0.372705, 0.501802> + 11412: < 0.787421, 0.413777, 0.456900> + 11413: < 0.768679, 0.452290, 0.452290> + 11414: < 0.747688, 0.447593, 0.490534> + 11415: < 0.764964, 0.410392, 0.496395> + 11416: < 0.768679, 0.452290, 0.452290> + 11417: < 0.747688, 0.490534, 0.447593> + 11418: < 0.728461, 0.484430, 0.484430> + 11419: < 0.747688, 0.447593, 0.490534> + 11420: < 0.747688, 0.490534, 0.447593> + 11421: < 0.724109, 0.528478, 0.443145> + 11422: < 0.706895, 0.520969, 0.478425> + 11423: < 0.728461, 0.484430, 0.484430> + 11424: < 0.724109, 0.528478, 0.443145> + 11425: < 0.697667, 0.565794, 0.439475> + 11426: < 0.682532, 0.557037, 0.473139> + 11427: < 0.706895, 0.520969, 0.478425> + 11428: < 0.697667, 0.565794, 0.439475> + 11429: < 0.668312, 0.601963, 0.437036> + 11430: < 0.655217, 0.591920, 0.469385> + 11431: < 0.682532, 0.557037, 0.473139> + 11432: < 0.655217, -0.591920, 0.469385> + 11433: < 0.682532, -0.557037, 0.473139> + 11434: < 0.666144, -0.547882, 0.506040> + 11435: < 0.641397, -0.581456, 0.500519> + 11436: < 0.682532, -0.557037, 0.473139> + 11437: < 0.706895, -0.520969, 0.478425> + 11438: < 0.687856, -0.513252, 0.513252> + 11439: < 0.666144, -0.547882, 0.506040> + 11440: < 0.706895, -0.520969, 0.478425> + 11441: < 0.728461, -0.484430, 0.484430> + 11442: < 0.706895, -0.478425, 0.520969> + 11443: < 0.687856, -0.513252, 0.513252> + 11444: < 0.728461, -0.484430, 0.484430> + 11445: < 0.747688, -0.447593, 0.490534> + 11446: < 0.724109, -0.443145, 0.528478> + 11447: < 0.706895, -0.478425, 0.520969> + 11448: < 0.747688, -0.447593, 0.490534> + 11449: < 0.764976, -0.410398, 0.496372> + 11450: < 0.739812, -0.407307, 0.535518> + 11451: < 0.724109, -0.443145, 0.528478> + 11452: < 0.764976, -0.410398, 0.496372> + 11453: < 0.780568, -0.372705, 0.501802> + 11454: < 0.754169, -0.370721, 0.542028> + 11455: < 0.739812, -0.407307, 0.535518> + 11456: < 0.780568, -0.372705, 0.501802> + 11457: < 0.794636, -0.334310, 0.506745> + 11458: < 0.767292, -0.333090, 0.548009> + 11459: < 0.754169, -0.370721, 0.542028> + 11460: < 0.794636, -0.334310, 0.506745> + 11461: < 0.807082, -0.295457, 0.511198> + 11462: < 0.779017, -0.294729, 0.553415> + 11463: < 0.767292, -0.333090, 0.548009> + 11464: < 0.807082, -0.295457, 0.511198> + 11465: < 0.817925, -0.256243, 0.515110> + 11466: < 0.789266, -0.255937, 0.558172> + 11467: < 0.779017, -0.294729, 0.553415> + 11468: < 0.817925, -0.256243, 0.515110> + 11469: < 0.827263, -0.216475, 0.518435> + 11470: < 0.798110, -0.216534, 0.562257> + 11471: < 0.789266, -0.255937, 0.558172> + 11472: < 0.827263, -0.216475, 0.518435> + 11473: < 0.835133, -0.175853, 0.521180> + 11474: < 0.805587, -0.176188, 0.565675> + 11475: < 0.798110, -0.216534, 0.562257> + 11476: < 0.835133, -0.175853, 0.521180> + 11477: < 0.841527, -0.134100, 0.523307> + 11478: < 0.811677, -0.134618, 0.568382> + 11479: < 0.805587, -0.176188, 0.565675> + 11480: < 0.841527, -0.134100, 0.523307> + 11481: < 0.846324, -0.091008, 0.524836> + 11482: < 0.816271, -0.091497, 0.570377> + 11483: < 0.811677, -0.134618, 0.568382> + 11484: < 0.846324, -0.091008, 0.524836> + 11485: < 0.849378, -0.046267, 0.525753> + 11486: < 0.819208, -0.046573, 0.571602> + 11487: < 0.816271, -0.091497, 0.570377> + 11488: < 0.849378, -0.046267, 0.525753> + 11489: < 0.850434, 0.000000, 0.526081> + 11490: < 0.820237, 0.000000, 0.572024> + 11491: < 0.819208, -0.046573, 0.571602> + 11492: < 0.850434, 0.000000, 0.526081> + 11493: < 0.849378, 0.046267, 0.525753> + 11494: < 0.819208, 0.046573, 0.571602> + 11495: < 0.820237, 0.000000, 0.572024> + 11496: < 0.849378, 0.046267, 0.525753> + 11497: < 0.846324, 0.091008, 0.524836> + 11498: < 0.816271, 0.091497, 0.570377> + 11499: < 0.819208, 0.046573, 0.571602> + 11500: < 0.846324, 0.091008, 0.524836> + 11501: < 0.841527, 0.134100, 0.523307> + 11502: < 0.811677, 0.134618, 0.568382> + 11503: < 0.816271, 0.091497, 0.570377> + 11504: < 0.841527, 0.134100, 0.523307> + 11505: < 0.835133, 0.175853, 0.521180> + 11506: < 0.805587, 0.176188, 0.565675> + 11507: < 0.811677, 0.134618, 0.568382> + 11508: < 0.835133, 0.175853, 0.521180> + 11509: < 0.827263, 0.216475, 0.518435> + 11510: < 0.798110, 0.216534, 0.562257> + 11511: < 0.805587, 0.176188, 0.565675> + 11512: < 0.827263, 0.216475, 0.518435> + 11513: < 0.817925, 0.256243, 0.515110> + 11514: < 0.789266, 0.255937, 0.558172> + 11515: < 0.798110, 0.216534, 0.562257> + 11516: < 0.817925, 0.256243, 0.515110> + 11517: < 0.807082, 0.295457, 0.511198> + 11518: < 0.779017, 0.294729, 0.553415> + 11519: < 0.789266, 0.255937, 0.558172> + 11520: < 0.807082, 0.295457, 0.511198> + 11521: < 0.794627, 0.334337, 0.506740> + 11522: < 0.767292, 0.333090, 0.548009> + 11523: < 0.779017, 0.294729, 0.553415> + 11524: < 0.794627, 0.334337, 0.506740> + 11525: < 0.780568, 0.372705, 0.501802> + 11526: < 0.754169, 0.370721, 0.542028> + 11527: < 0.767292, 0.333090, 0.548009> + 11528: < 0.780568, 0.372705, 0.501802> + 11529: < 0.764964, 0.410392, 0.496395> + 11530: < 0.739812, 0.407307, 0.535518> + 11531: < 0.754169, 0.370721, 0.542028> + 11532: < 0.764964, 0.410392, 0.496395> + 11533: < 0.747688, 0.447593, 0.490534> + 11534: < 0.724109, 0.443145, 0.528478> + 11535: < 0.739812, 0.407307, 0.535518> + 11536: < 0.747688, 0.447593, 0.490534> + 11537: < 0.728461, 0.484430, 0.484430> + 11538: < 0.706895, 0.478425, 0.520969> + 11539: < 0.724109, 0.443145, 0.528478> + 11540: < 0.728461, 0.484430, 0.484430> + 11541: < 0.706895, 0.520969, 0.478425> + 11542: < 0.687856, 0.513252, 0.513252> + 11543: < 0.706895, 0.478425, 0.520969> + 11544: < 0.706895, 0.520969, 0.478425> + 11545: < 0.682532, 0.557037, 0.473139> + 11546: < 0.666144, 0.547882, 0.506040> + 11547: < 0.687856, 0.513252, 0.513252> + 11548: < 0.682532, 0.557037, 0.473139> + 11549: < 0.655217, 0.591920, 0.469385> + 11550: < 0.641397, 0.581456, 0.500519> + 11551: < 0.666144, 0.547882, 0.506040> + 11552: < 0.641397, -0.581456, 0.500519> + 11553: < 0.666144, -0.547882, 0.506040> + 11554: < 0.647334, -0.538962, 0.538962> + 11555: < 0.625584, -0.571076, 0.531523> + 11556: < 0.666144, -0.547882, 0.506040> + 11557: < 0.687856, -0.513252, 0.513252> + 11558: < 0.666144, -0.506040, 0.547882> + 11559: < 0.647334, -0.538962, 0.538962> + 11560: < 0.687856, -0.513252, 0.513252> + 11561: < 0.706895, -0.478425, 0.520969> + 11562: < 0.682532, -0.473139, 0.557037> + 11563: < 0.666144, -0.506040, 0.547882> + 11564: < 0.706895, -0.478425, 0.520969> + 11565: < 0.724109, -0.443145, 0.528478> + 11566: < 0.697667, -0.439475, 0.565794> + 11567: < 0.682532, -0.473139, 0.557037> + 11568: < 0.724109, -0.443145, 0.528478> + 11569: < 0.739812, -0.407307, 0.535518> + 11570: < 0.711772, -0.404839, 0.574008> + 11571: < 0.697667, -0.439475, 0.565794> + 11572: < 0.739812, -0.407307, 0.535518> + 11573: < 0.754169, -0.370721, 0.542028> + 11574: < 0.724825, -0.369188, 0.581661> + 11575: < 0.711772, -0.404839, 0.574008> + 11576: < 0.754169, -0.370721, 0.542028> + 11577: < 0.767292, -0.333090, 0.548009> + 11578: < 0.736915, -0.332170, 0.588744> + 11579: < 0.724825, -0.369188, 0.581661> + 11580: < 0.767292, -0.333090, 0.548009> + 11581: < 0.779017, -0.294729, 0.553415> + 11582: < 0.747816, -0.294207, 0.595158> + 11583: < 0.736915, -0.332170, 0.588744> + 11584: < 0.779017, -0.294729, 0.553415> + 11585: < 0.789266, -0.255937, 0.558172> + 11586: < 0.757361, -0.255750, 0.600829> + 11587: < 0.747816, -0.294207, 0.595158> + 11588: < 0.789266, -0.255937, 0.558172> + 11589: < 0.798110, -0.216534, 0.562257> + 11590: < 0.765608, -0.216596, 0.605748> + 11591: < 0.757361, -0.255750, 0.600829> + 11592: < 0.798110, -0.216534, 0.562257> + 11593: < 0.805587, -0.176188, 0.565675> + 11594: < 0.772589, -0.176461, 0.609892> + 11595: < 0.765608, -0.216596, 0.605748> + 11596: < 0.805587, -0.176188, 0.565675> + 11597: < 0.811677, -0.134618, 0.568382> + 11598: < 0.778306, -0.135018, 0.613196> + 11599: < 0.772589, -0.176461, 0.609892> + 11600: < 0.811677, -0.134618, 0.568382> + 11601: < 0.816271, -0.091497, 0.570377> + 11602: < 0.782607, -0.091894, 0.615697> + 11603: < 0.778306, -0.135018, 0.613196> + 11604: < 0.816271, -0.091497, 0.570377> + 11605: < 0.819208, -0.046573, 0.571602> + 11606: < 0.785375, -0.046847, 0.617246> + 11607: < 0.782607, -0.091894, 0.615697> + 11608: < 0.819208, -0.046573, 0.571602> + 11609: < 0.820237, 0.000000, 0.572024> + 11610: < 0.786344, 0.000000, 0.617789> + 11611: < 0.785375, -0.046847, 0.617246> + 11612: < 0.820237, 0.000000, 0.572024> + 11613: < 0.819208, 0.046573, 0.571602> + 11614: < 0.785375, 0.046847, 0.617246> + 11615: < 0.786344, 0.000000, 0.617789> + 11616: < 0.819208, 0.046573, 0.571602> + 11617: < 0.816271, 0.091497, 0.570377> + 11618: < 0.782607, 0.091894, 0.615697> + 11619: < 0.785375, 0.046847, 0.617246> + 11620: < 0.816271, 0.091497, 0.570377> + 11621: < 0.811677, 0.134618, 0.568382> + 11622: < 0.778292, 0.135015, 0.613215> + 11623: < 0.782607, 0.091894, 0.615697> + 11624: < 0.811677, 0.134618, 0.568382> + 11625: < 0.805587, 0.176188, 0.565675> + 11626: < 0.772589, 0.176461, 0.609892> + 11627: < 0.778292, 0.135015, 0.613215> + 11628: < 0.805587, 0.176188, 0.565675> + 11629: < 0.798110, 0.216534, 0.562257> + 11630: < 0.765608, 0.216596, 0.605748> + 11631: < 0.772589, 0.176461, 0.609892> + 11632: < 0.798110, 0.216534, 0.562257> + 11633: < 0.789266, 0.255937, 0.558172> + 11634: < 0.757361, 0.255750, 0.600829> + 11635: < 0.765608, 0.216596, 0.605748> + 11636: < 0.789266, 0.255937, 0.558172> + 11637: < 0.779017, 0.294729, 0.553415> + 11638: < 0.747816, 0.294207, 0.595158> + 11639: < 0.757361, 0.255750, 0.600829> + 11640: < 0.779017, 0.294729, 0.553415> + 11641: < 0.767292, 0.333090, 0.548009> + 11642: < 0.736915, 0.332170, 0.588744> + 11643: < 0.747816, 0.294207, 0.595158> + 11644: < 0.767292, 0.333090, 0.548009> + 11645: < 0.754169, 0.370721, 0.542028> + 11646: < 0.724825, 0.369188, 0.581661> + 11647: < 0.736915, 0.332170, 0.588744> + 11648: < 0.754169, 0.370721, 0.542028> + 11649: < 0.739812, 0.407307, 0.535518> + 11650: < 0.711772, 0.404839, 0.574008> + 11651: < 0.724825, 0.369188, 0.581661> + 11652: < 0.739812, 0.407307, 0.535518> + 11653: < 0.724109, 0.443145, 0.528478> + 11654: < 0.697667, 0.439475, 0.565794> + 11655: < 0.711772, 0.404839, 0.574008> + 11656: < 0.724109, 0.443145, 0.528478> + 11657: < 0.706895, 0.478425, 0.520969> + 11658: < 0.682532, 0.473139, 0.557037> + 11659: < 0.697667, 0.439475, 0.565794> + 11660: < 0.706895, 0.478425, 0.520969> + 11661: < 0.687856, 0.513252, 0.513252> + 11662: < 0.666144, 0.506040, 0.547882> + 11663: < 0.682532, 0.473139, 0.557037> + 11664: < 0.687856, 0.513252, 0.513252> + 11665: < 0.666144, 0.547882, 0.506040> + 11666: < 0.647334, 0.538962, 0.538962> + 11667: < 0.666144, 0.506040, 0.547882> + 11668: < 0.666144, 0.547882, 0.506040> + 11669: < 0.641397, 0.581456, 0.500519> + 11670: < 0.625584, 0.571076, 0.531523> + 11671: < 0.647334, 0.538962, 0.538962> + 11672: < 0.625584, -0.571076, 0.531523> + 11673: < 0.647334, -0.538962, 0.538962> + 11674: < 0.625584, -0.531523, 0.571076> + 11675: < 0.607783, -0.561516, 0.561516> + 11676: < 0.647334, -0.538962, 0.538962> + 11677: < 0.666144, -0.506040, 0.547882> + 11678: < 0.641397, -0.500519, 0.581456> + 11679: < 0.625584, -0.531523, 0.571076> + 11680: < 0.666144, -0.506040, 0.547882> + 11681: < 0.682532, -0.473139, 0.557037> + 11682: < 0.655217, -0.469385, 0.591920> + 11683: < 0.641397, -0.500519, 0.581456> + 11684: < 0.682532, -0.473139, 0.557037> + 11685: < 0.697667, -0.439475, 0.565794> + 11686: < 0.668312, -0.437036, 0.601963> + 11687: < 0.655217, -0.469385, 0.591920> + 11688: < 0.697667, -0.439475, 0.565794> + 11689: < 0.711772, -0.404839, 0.574008> + 11690: < 0.680859, -0.403223, 0.611427> + 11691: < 0.668312, -0.437036, 0.601963> + 11692: < 0.711772, -0.404839, 0.574008> + 11693: < 0.724825, -0.369188, 0.581661> + 11694: < 0.692544, -0.368246, 0.620305> + 11695: < 0.680859, -0.403223, 0.611427> + 11696: < 0.724825, -0.369188, 0.581661> + 11697: < 0.736915, -0.332170, 0.588744> + 11698: < 0.703467, -0.331652, 0.628603> + 11699: < 0.692544, -0.368246, 0.620305> + 11700: < 0.736915, -0.332170, 0.588744> + 11701: < 0.747816, -0.294207, 0.595158> + 11702: < 0.713396, -0.293904, 0.636150> + 11703: < 0.703467, -0.331652, 0.628603> + 11704: < 0.747816, -0.294207, 0.595158> + 11705: < 0.757361, -0.255750, 0.600829> + 11706: < 0.722093, -0.255632, 0.642833> + 11707: < 0.713396, -0.293904, 0.636150> + 11708: < 0.757361, -0.255750, 0.600829> + 11709: < 0.765608, -0.216596, 0.605748> + 11710: < 0.729622, -0.216656, 0.648624> + 11711: < 0.722093, -0.255632, 0.642833> + 11712: < 0.765608, -0.216596, 0.605748> + 11713: < 0.772589, -0.176461, 0.609892> + 11714: < 0.736025, -0.176644, 0.653502> + 11715: < 0.729622, -0.216656, 0.648624> + 11716: < 0.772589, -0.176461, 0.609892> + 11717: < 0.778306, -0.135018, 0.613196> + 11718: < 0.741243, -0.135260, 0.657468> + 11719: < 0.736025, -0.176644, 0.653502> + 11720: < 0.778306, -0.135018, 0.613196> + 11721: < 0.782607, -0.091894, 0.615697> + 11722: < 0.745184, -0.092137, 0.660463> + 11723: < 0.741243, -0.135260, 0.657468> + 11724: < 0.782607, -0.091894, 0.615697> + 11725: < 0.785375, -0.046847, 0.617246> + 11726: < 0.747715, -0.046999, 0.662354> + 11727: < 0.745184, -0.092137, 0.660463> + 11728: < 0.785375, -0.046847, 0.617246> + 11729: < 0.786344, 0.000000, 0.617789> + 11730: < 0.748599, 0.000000, 0.663024> + 11731: < 0.747715, -0.046999, 0.662354> + 11732: < 0.786344, 0.000000, 0.617789> + 11733: < 0.785375, 0.046847, 0.617246> + 11734: < 0.747715, 0.046999, 0.662354> + 11735: < 0.748599, 0.000000, 0.663024> + 11736: < 0.785375, 0.046847, 0.617246> + 11737: < 0.782607, 0.091894, 0.615697> + 11738: < 0.745184, 0.092137, 0.660463> + 11739: < 0.747715, 0.046999, 0.662354> + 11740: < 0.782607, 0.091894, 0.615697> + 11741: < 0.778292, 0.135015, 0.613215> + 11742: < 0.741243, 0.135260, 0.657468> + 11743: < 0.745184, 0.092137, 0.660463> + 11744: < 0.778292, 0.135015, 0.613215> + 11745: < 0.772589, 0.176461, 0.609892> + 11746: < 0.736025, 0.176644, 0.653502> + 11747: < 0.741243, 0.135260, 0.657468> + 11748: < 0.772589, 0.176461, 0.609892> + 11749: < 0.765608, 0.216596, 0.605748> + 11750: < 0.729636, 0.216660, 0.648606> + 11751: < 0.736025, 0.176644, 0.653502> + 11752: < 0.765608, 0.216596, 0.605748> + 11753: < 0.757361, 0.255750, 0.600829> + 11754: < 0.722093, 0.255632, 0.642833> + 11755: < 0.729636, 0.216660, 0.648606> + 11756: < 0.757361, 0.255750, 0.600829> + 11757: < 0.747816, 0.294207, 0.595158> + 11758: < 0.713396, 0.293904, 0.636150> + 11759: < 0.722093, 0.255632, 0.642833> + 11760: < 0.747816, 0.294207, 0.595158> + 11761: < 0.736915, 0.332170, 0.588744> + 11762: < 0.703467, 0.331652, 0.628603> + 11763: < 0.713396, 0.293904, 0.636150> + 11764: < 0.736915, 0.332170, 0.588744> + 11765: < 0.724825, 0.369188, 0.581661> + 11766: < 0.692544, 0.368246, 0.620305> + 11767: < 0.703467, 0.331652, 0.628603> + 11768: < 0.724825, 0.369188, 0.581661> + 11769: < 0.711772, 0.404839, 0.574008> + 11770: < 0.680859, 0.403223, 0.611427> + 11771: < 0.692544, 0.368246, 0.620305> + 11772: < 0.711772, 0.404839, 0.574008> + 11773: < 0.697667, 0.439475, 0.565794> + 11774: < 0.668312, 0.437036, 0.601963> + 11775: < 0.680859, 0.403223, 0.611427> + 11776: < 0.697667, 0.439475, 0.565794> + 11777: < 0.682532, 0.473139, 0.557037> + 11778: < 0.655217, 0.469385, 0.591920> + 11779: < 0.668312, 0.437036, 0.601963> + 11780: < 0.682532, 0.473139, 0.557037> + 11781: < 0.666144, 0.506040, 0.547882> + 11782: < 0.641397, 0.500519, 0.581456> + 11783: < 0.655217, 0.469385, 0.591920> + 11784: < 0.666144, 0.506040, 0.547882> + 11785: < 0.647334, 0.538962, 0.538962> + 11786: < 0.625584, 0.531523, 0.571076> + 11787: < 0.641397, 0.500519, 0.581456> + 11788: < 0.647334, 0.538962, 0.538962> + 11789: < 0.625584, 0.571076, 0.531523> + 11790: < 0.607783, 0.561516, 0.561516> + 11791: < 0.625584, 0.531523, 0.571076> + 11792: < 0.577350, -0.577350, -0.577350> + 11793: < 0.588539, -0.554296, -0.588539> + 11794: < 0.607783, -0.561516, -0.561516> + 11795: < 0.588539, -0.588539, -0.554296> + 11796: < 0.588539, -0.554296, -0.588539> + 11797: < 0.601168, -0.526457, -0.601199> + 11798: < 0.625584, -0.531523, -0.571076> + 11799: < 0.607783, -0.561516, -0.561516> + 11800: < 0.601168, -0.526457, -0.601199> + 11801: < 0.613379, -0.497527, -0.613379> + 11802: < 0.641397, -0.500519, -0.581456> + 11803: < 0.625584, -0.531523, -0.571076> + 11804: < 0.613379, -0.497527, -0.613379> + 11805: < 0.624909, -0.467950, -0.624909> + 11806: < 0.655217, -0.469385, -0.591920> + 11807: < 0.641397, -0.500519, -0.581456> + 11808: < 0.624909, -0.467950, -0.624909> + 11809: < 0.636296, -0.436181, -0.636296> + 11810: < 0.668312, -0.437036, -0.601963> + 11811: < 0.655217, -0.469385, -0.591920> + 11812: < 0.636296, -0.436181, -0.636296> + 11813: < 0.647247, -0.402668, -0.647247> + 11814: < 0.680859, -0.403223, -0.611427> + 11815: < 0.668312, -0.437036, -0.601963> + 11816: < 0.647247, -0.402668, -0.647247> + 11817: < 0.657511, -0.367912, -0.657511> + 11818: < 0.692544, -0.368246, -0.620305> + 11819: < 0.680859, -0.403223, -0.611427> + 11820: < 0.657511, -0.367912, -0.657511> + 11821: < 0.667130, -0.331474, -0.667130> + 11822: < 0.703467, -0.331652, -0.628603> + 11823: < 0.692544, -0.368246, -0.620305> + 11824: < 0.667130, -0.331474, -0.667130> + 11825: < 0.675899, -0.293804, -0.675899> + 11826: < 0.713396, -0.293904, -0.636150> + 11827: < 0.703467, -0.331652, -0.628603> + 11828: < 0.675899, -0.293804, -0.675899> + 11829: < 0.683620, -0.255594, -0.683620> + 11830: < 0.722093, -0.255632, -0.642833> + 11831: < 0.713396, -0.293904, -0.636150> + 11832: < 0.683620, -0.255594, -0.683620> + 11833: < 0.690307, -0.216684, -0.690307> + 11834: < 0.729636, -0.216660, -0.648606> + 11835: < 0.722093, -0.255632, -0.642833> + 11836: < 0.690307, -0.216684, -0.690307> + 11837: < 0.695976, -0.176733, -0.695976> + 11838: < 0.736025, -0.176644, -0.653502> + 11839: < 0.729636, -0.216660, -0.648606> + 11840: < 0.695976, -0.176733, -0.695976> + 11841: < 0.700600, -0.135353, -0.700600> + 11842: < 0.741243, -0.135260, -0.657468> + 11843: < 0.736025, -0.176644, -0.653502> + 11844: < 0.700600, -0.135353, -0.700600> + 11845: < 0.704093, -0.092231, -0.704093> + 11846: < 0.745184, -0.092137, -0.660463> + 11847: < 0.741243, -0.135260, -0.657468> + 11848: < 0.704093, -0.092231, -0.704093> + 11849: < 0.706323, -0.047060, -0.706323> + 11850: < 0.747715, -0.046999, -0.662354> + 11851: < 0.745184, -0.092137, -0.660463> + 11852: < 0.706323, -0.047060, -0.706323> + 11853: < 0.707107, 0.000000, -0.707107> + 11854: < 0.748599, 0.000000, -0.663024> + 11855: < 0.747715, -0.046999, -0.662354> + 11856: < 0.707107, 0.000000, -0.707107> + 11857: < 0.706323, 0.047060, -0.706323> + 11858: < 0.747715, 0.046999, -0.662354> + 11859: < 0.748599, 0.000000, -0.663024> + 11860: < 0.706323, 0.047060, -0.706323> + 11861: < 0.704093, 0.092231, -0.704093> + 11862: < 0.745184, 0.092137, -0.660463> + 11863: < 0.747715, 0.046999, -0.662354> + 11864: < 0.704093, 0.092231, -0.704093> + 11865: < 0.700600, 0.135353, -0.700600> + 11866: < 0.741243, 0.135260, -0.657468> + 11867: < 0.745184, 0.092137, -0.660463> + 11868: < 0.700600, 0.135353, -0.700600> + 11869: < 0.695976, 0.176733, -0.695976> + 11870: < 0.736025, 0.176644, -0.653502> + 11871: < 0.741243, 0.135260, -0.657468> + 11872: < 0.695976, 0.176733, -0.695976> + 11873: < 0.690307, 0.216684, -0.690307> + 11874: < 0.729636, 0.216660, -0.648606> + 11875: < 0.736025, 0.176644, -0.653502> + 11876: < 0.690307, 0.216684, -0.690307> + 11877: < 0.683620, 0.255594, -0.683620> + 11878: < 0.722093, 0.255632, -0.642833> + 11879: < 0.729636, 0.216660, -0.648606> + 11880: < 0.683620, 0.255594, -0.683620> + 11881: < 0.675899, 0.293804, -0.675899> + 11882: < 0.713396, 0.293904, -0.636150> + 11883: < 0.722093, 0.255632, -0.642833> + 11884: < 0.675899, 0.293804, -0.675899> + 11885: < 0.667130, 0.331474, -0.667130> + 11886: < 0.703467, 0.331652, -0.628603> + 11887: < 0.713396, 0.293904, -0.636150> + 11888: < 0.667130, 0.331474, -0.667130> + 11889: < 0.657511, 0.367912, -0.657511> + 11890: < 0.692544, 0.368246, -0.620305> + 11891: < 0.703467, 0.331652, -0.628603> + 11892: < 0.657511, 0.367912, -0.657511> + 11893: < 0.647247, 0.402668, -0.647247> + 11894: < 0.680859, 0.403223, -0.611427> + 11895: < 0.692544, 0.368246, -0.620305> + 11896: < 0.647247, 0.402668, -0.647247> + 11897: < 0.636296, 0.436181, -0.636296> + 11898: < 0.668312, 0.437036, -0.601963> + 11899: < 0.680859, 0.403223, -0.611427> + 11900: < 0.636296, 0.436181, -0.636296> + 11901: < 0.624909, 0.467950, -0.624909> + 11902: < 0.655217, 0.469385, -0.591920> + 11903: < 0.668312, 0.437036, -0.601963> + 11904: < 0.624909, 0.467950, -0.624909> + 11905: < 0.613379, 0.497527, -0.613379> + 11906: < 0.641397, 0.500519, -0.581456> + 11907: < 0.655217, 0.469385, -0.591920> + 11908: < 0.613379, 0.497527, -0.613379> + 11909: < 0.601168, 0.526457, -0.601199> + 11910: < 0.625584, 0.531523, -0.571076> + 11911: < 0.641397, 0.500519, -0.581456> + 11912: < 0.601168, 0.526457, -0.601199> + 11913: < 0.588539, 0.554296, -0.588539> + 11914: < 0.607783, 0.561516, -0.561516> + 11915: < 0.625584, 0.531523, -0.571076> + 11916: < 0.588539, 0.554296, -0.588539> + 11917: < 0.577350, 0.577350, -0.577350> + 11918: < 0.588539, 0.588539, -0.554296> + 11919: < 0.607783, 0.561516, -0.561516> + 11920: < 0.607783, 0.561516, -0.561516> + 11921: < 0.588539, 0.588539, -0.554296> + 11922: < 0.601168, 0.601199, -0.526457> + 11923: < 0.625584, 0.571076, -0.531523> + 11924: < 0.625584, 0.571076, -0.531523> + 11925: < 0.601168, 0.601199, -0.526457> + 11926: < 0.613379, 0.613379, -0.497527> + 11927: < 0.641397, 0.581456, -0.500519> + 11928: < 0.641397, 0.581456, -0.500519> + 11929: < 0.613379, 0.613379, -0.497527> + 11930: < 0.624909, 0.624909, -0.467950> + 11931: < 0.655217, 0.591920, -0.469385> + 11932: < 0.655217, 0.591920, -0.469385> + 11933: < 0.624909, 0.624909, -0.467950> + 11934: < 0.636296, 0.636296, -0.436181> + 11935: < 0.668312, 0.601963, -0.437036> + 11936: < 0.668312, 0.601963, -0.437036> + 11937: < 0.636296, 0.636296, -0.436181> + 11938: < 0.647247, 0.647247, -0.402668> + 11939: < 0.680859, 0.611427, -0.403223> + 11940: < 0.680859, 0.611427, -0.403223> + 11941: < 0.647247, 0.647247, -0.402668> + 11942: < 0.657511, 0.657511, -0.367912> + 11943: < 0.692544, 0.620305, -0.368246> + 11944: < 0.692544, 0.620305, -0.368246> + 11945: < 0.657511, 0.657511, -0.367912> + 11946: < 0.667130, 0.667130, -0.331474> + 11947: < 0.703467, 0.628603, -0.331652> + 11948: < 0.703467, 0.628603, -0.331652> + 11949: < 0.667130, 0.667130, -0.331474> + 11950: < 0.675899, 0.675899, -0.293804> + 11951: < 0.713396, 0.636150, -0.293904> + 11952: < 0.713396, 0.636150, -0.293904> + 11953: < 0.675899, 0.675899, -0.293804> + 11954: < 0.683620, 0.683620, -0.255594> + 11955: < 0.722093, 0.642833, -0.255632> + 11956: < 0.722093, 0.642833, -0.255632> + 11957: < 0.683620, 0.683620, -0.255594> + 11958: < 0.690307, 0.690307, -0.216684> + 11959: < 0.729636, 0.648606, -0.216660> + 11960: < 0.729636, 0.648606, -0.216660> + 11961: < 0.690307, 0.690307, -0.216684> + 11962: < 0.695976, 0.695976, -0.176733> + 11963: < 0.736025, 0.653502, -0.176644> + 11964: < 0.736025, 0.653502, -0.176644> + 11965: < 0.695976, 0.695976, -0.176733> + 11966: < 0.700600, 0.700600, -0.135353> + 11967: < 0.741243, 0.657468, -0.135260> + 11968: < 0.741243, 0.657468, -0.135260> + 11969: < 0.700600, 0.700600, -0.135353> + 11970: < 0.704093, 0.704093, -0.092231> + 11971: < 0.745184, 0.660463, -0.092137> + 11972: < 0.745184, 0.660463, -0.092137> + 11973: < 0.704093, 0.704093, -0.092231> + 11974: < 0.706323, 0.706323, -0.047060> + 11975: < 0.747715, 0.662354, -0.046999> + 11976: < 0.747715, 0.662354, -0.046999> + 11977: < 0.706323, 0.706323, -0.047060> + 11978: < 0.707107, 0.707107, 0.000000> + 11979: < 0.748599, 0.663024, 0.000000> + 11980: < 0.748599, 0.663024, 0.000000> + 11981: < 0.707107, 0.707107, 0.000000> + 11982: < 0.706323, 0.706323, 0.047060> + 11983: < 0.747715, 0.662354, 0.046999> + 11984: < 0.747715, 0.662354, 0.046999> + 11985: < 0.706323, 0.706323, 0.047060> + 11986: < 0.704093, 0.704093, 0.092231> + 11987: < 0.745184, 0.660463, 0.092137> + 11988: < 0.745184, 0.660463, 0.092137> + 11989: < 0.704093, 0.704093, 0.092231> + 11990: < 0.700600, 0.700600, 0.135353> + 11991: < 0.741243, 0.657468, 0.135260> + 11992: < 0.741243, 0.657468, 0.135260> + 11993: < 0.700600, 0.700600, 0.135353> + 11994: < 0.695976, 0.695976, 0.176733> + 11995: < 0.736025, 0.653502, 0.176644> + 11996: < 0.736025, 0.653502, 0.176644> + 11997: < 0.695976, 0.695976, 0.176733> + 11998: < 0.690307, 0.690307, 0.216684> + 11999: < 0.729636, 0.648606, 0.216660> + 12000: < 0.729636, 0.648606, 0.216660> + 12001: < 0.690307, 0.690307, 0.216684> + 12002: < 0.683620, 0.683620, 0.255594> + 12003: < 0.722093, 0.642833, 0.255632> + 12004: < 0.722093, 0.642833, 0.255632> + 12005: < 0.683620, 0.683620, 0.255594> + 12006: < 0.675899, 0.675899, 0.293804> + 12007: < 0.713396, 0.636150, 0.293904> + 12008: < 0.713396, 0.636150, 0.293904> + 12009: < 0.675899, 0.675899, 0.293804> + 12010: < 0.667130, 0.667130, 0.331474> + 12011: < 0.703467, 0.628603, 0.331652> + 12012: < 0.703467, 0.628603, 0.331652> + 12013: < 0.667130, 0.667130, 0.331474> + 12014: < 0.657511, 0.657511, 0.367912> + 12015: < 0.692544, 0.620305, 0.368246> + 12016: < 0.692544, 0.620305, 0.368246> + 12017: < 0.657511, 0.657511, 0.367912> + 12018: < 0.647247, 0.647247, 0.402668> + 12019: < 0.680859, 0.611427, 0.403223> + 12020: < 0.680859, 0.611427, 0.403223> + 12021: < 0.647247, 0.647247, 0.402668> + 12022: < 0.636296, 0.636296, 0.436181> + 12023: < 0.668312, 0.601963, 0.437036> + 12024: < 0.668312, 0.601963, 0.437036> + 12025: < 0.636296, 0.636296, 0.436181> + 12026: < 0.624909, 0.624909, 0.467950> + 12027: < 0.655217, 0.591920, 0.469385> + 12028: < 0.655217, 0.591920, 0.469385> + 12029: < 0.624909, 0.624909, 0.467950> + 12030: < 0.613379, 0.613379, 0.497527> + 12031: < 0.641397, 0.581456, 0.500519> + 12032: < 0.641397, 0.581456, 0.500519> + 12033: < 0.613379, 0.613379, 0.497527> + 12034: < 0.601188, 0.601188, 0.526447> + 12035: < 0.625584, 0.571076, 0.531523> + 12036: < 0.625584, 0.571076, 0.531523> + 12037: < 0.601188, 0.601188, 0.526447> + 12038: < 0.588539, 0.588539, 0.554296> + 12039: < 0.607783, 0.561516, 0.561516> + 12040: < 0.607783, 0.561516, 0.561516> + 12041: < 0.588539, 0.588539, 0.554296> + 12042: < 0.577330, 0.577360, 0.577360> + 12043: < 0.588539, 0.554296, 0.588539> + 12044: < 0.625584, 0.531523, 0.571076> + 12045: < 0.607783, 0.561516, 0.561516> + 12046: < 0.588539, 0.554296, 0.588539> + 12047: < 0.601199, 0.526457, 0.601168> + 12048: < 0.641397, 0.500519, 0.581456> + 12049: < 0.625584, 0.531523, 0.571076> + 12050: < 0.601199, 0.526457, 0.601168> + 12051: < 0.613379, 0.497527, 0.613379> + 12052: < 0.655217, 0.469385, 0.591920> + 12053: < 0.641397, 0.500519, 0.581456> + 12054: < 0.613379, 0.497527, 0.613379> + 12055: < 0.624909, 0.467950, 0.624909> + 12056: < 0.668312, 0.437036, 0.601963> + 12057: < 0.655217, 0.469385, 0.591920> + 12058: < 0.624909, 0.467950, 0.624909> + 12059: < 0.636296, 0.436181, 0.636296> + 12060: < 0.680859, 0.403223, 0.611427> + 12061: < 0.668312, 0.437036, 0.601963> + 12062: < 0.636296, 0.436181, 0.636296> + 12063: < 0.647247, 0.402668, 0.647247> + 12064: < 0.692544, 0.368246, 0.620305> + 12065: < 0.680859, 0.403223, 0.611427> + 12066: < 0.647247, 0.402668, 0.647247> + 12067: < 0.657511, 0.367912, 0.657511> + 12068: < 0.703467, 0.331652, 0.628603> + 12069: < 0.692544, 0.368246, 0.620305> + 12070: < 0.657511, 0.367912, 0.657511> + 12071: < 0.667130, 0.331474, 0.667130> + 12072: < 0.713396, 0.293904, 0.636150> + 12073: < 0.703467, 0.331652, 0.628603> + 12074: < 0.667130, 0.331474, 0.667130> + 12075: < 0.675899, 0.293804, 0.675899> + 12076: < 0.722093, 0.255632, 0.642833> + 12077: < 0.713396, 0.293904, 0.636150> + 12078: < 0.675899, 0.293804, 0.675899> + 12079: < 0.683620, 0.255594, 0.683620> + 12080: < 0.729636, 0.216660, 0.648606> + 12081: < 0.722093, 0.255632, 0.642833> + 12082: < 0.683620, 0.255594, 0.683620> + 12083: < 0.690307, 0.216684, 0.690307> + 12084: < 0.736025, 0.176644, 0.653502> + 12085: < 0.729636, 0.216660, 0.648606> + 12086: < 0.690307, 0.216684, 0.690307> + 12087: < 0.695976, 0.176733, 0.695976> + 12088: < 0.741243, 0.135260, 0.657468> + 12089: < 0.736025, 0.176644, 0.653502> + 12090: < 0.695976, 0.176733, 0.695976> + 12091: < 0.700600, 0.135353, 0.700600> + 12092: < 0.745184, 0.092137, 0.660463> + 12093: < 0.741243, 0.135260, 0.657468> + 12094: < 0.700600, 0.135353, 0.700600> + 12095: < 0.704093, 0.092231, 0.704093> + 12096: < 0.747715, 0.046999, 0.662354> + 12097: < 0.745184, 0.092137, 0.660463> + 12098: < 0.704093, 0.092231, 0.704093> + 12099: < 0.706323, 0.047060, 0.706323> + 12100: < 0.748599, 0.000000, 0.663024> + 12101: < 0.747715, 0.046999, 0.662354> + 12102: < 0.706323, 0.047060, 0.706323> + 12103: < 0.707107, 0.000000, 0.707107> + 12104: < 0.747715, -0.046999, 0.662354> + 12105: < 0.748599, 0.000000, 0.663024> + 12106: < 0.707107, 0.000000, 0.707107> + 12107: < 0.706323, -0.047060, 0.706323> + 12108: < 0.745184, -0.092137, 0.660463> + 12109: < 0.747715, -0.046999, 0.662354> + 12110: < 0.706323, -0.047060, 0.706323> + 12111: < 0.704093, -0.092231, 0.704093> + 12112: < 0.741243, -0.135260, 0.657468> + 12113: < 0.745184, -0.092137, 0.660463> + 12114: < 0.704093, -0.092231, 0.704093> + 12115: < 0.700600, -0.135353, 0.700600> + 12116: < 0.736025, -0.176644, 0.653502> + 12117: < 0.741243, -0.135260, 0.657468> + 12118: < 0.700600, -0.135353, 0.700600> + 12119: < 0.695976, -0.176733, 0.695976> + 12120: < 0.729622, -0.216656, 0.648624> + 12121: < 0.736025, -0.176644, 0.653502> + 12122: < 0.695976, -0.176733, 0.695976> + 12123: < 0.690307, -0.216684, 0.690307> + 12124: < 0.722093, -0.255632, 0.642833> + 12125: < 0.729622, -0.216656, 0.648624> + 12126: < 0.690307, -0.216684, 0.690307> + 12127: < 0.683620, -0.255594, 0.683620> + 12128: < 0.713396, -0.293904, 0.636150> + 12129: < 0.722093, -0.255632, 0.642833> + 12130: < 0.683620, -0.255594, 0.683620> + 12131: < 0.675899, -0.293804, 0.675899> + 12132: < 0.703467, -0.331652, 0.628603> + 12133: < 0.713396, -0.293904, 0.636150> + 12134: < 0.675899, -0.293804, 0.675899> + 12135: < 0.667130, -0.331474, 0.667130> + 12136: < 0.692544, -0.368246, 0.620305> + 12137: < 0.703467, -0.331652, 0.628603> + 12138: < 0.667130, -0.331474, 0.667130> + 12139: < 0.657511, -0.367912, 0.657511> + 12140: < 0.680859, -0.403223, 0.611427> + 12141: < 0.692544, -0.368246, 0.620305> + 12142: < 0.657511, -0.367912, 0.657511> + 12143: < 0.647247, -0.402668, 0.647247> + 12144: < 0.668312, -0.437036, 0.601963> + 12145: < 0.680859, -0.403223, 0.611427> + 12146: < 0.647247, -0.402668, 0.647247> + 12147: < 0.636296, -0.436181, 0.636296> + 12148: < 0.655217, -0.469385, 0.591920> + 12149: < 0.668312, -0.437036, 0.601963> + 12150: < 0.636296, -0.436181, 0.636296> + 12151: < 0.624909, -0.467950, 0.624909> + 12152: < 0.641397, -0.500519, 0.581456> + 12153: < 0.655217, -0.469385, 0.591920> + 12154: < 0.624909, -0.467950, 0.624909> + 12155: < 0.613379, -0.497527, 0.613379> + 12156: < 0.625584, -0.531523, 0.571076> + 12157: < 0.641397, -0.500519, 0.581456> + 12158: < 0.613379, -0.497527, 0.613379> + 12159: < 0.601199, -0.526457, 0.601168> + 12160: < 0.607783, -0.561516, 0.561516> + 12161: < 0.625584, -0.531523, 0.571076> + 12162: < 0.601199, -0.526457, 0.601168> + 12163: < 0.588539, -0.554296, 0.588539> + 12164: < 0.588539, -0.588539, 0.554296> + 12165: < 0.607783, -0.561516, 0.561516> + 12166: < 0.588539, -0.554296, 0.588539> + 12167: < 0.577360, -0.577330, 0.577360> + 12168: < 0.601188, -0.601188, 0.526447> + 12169: < 0.625584, -0.571076, 0.531523> + 12170: < 0.607783, -0.561516, 0.561516> + 12171: < 0.588539, -0.588539, 0.554296> + 12172: < 0.613379, -0.613379, 0.497527> + 12173: < 0.641397, -0.581456, 0.500519> + 12174: < 0.625584, -0.571076, 0.531523> + 12175: < 0.601188, -0.601188, 0.526447> + 12176: < 0.624909, -0.624909, 0.467950> + 12177: < 0.655217, -0.591920, 0.469385> + 12178: < 0.641397, -0.581456, 0.500519> + 12179: < 0.613379, -0.613379, 0.497527> + 12180: < 0.636296, -0.636296, 0.436181> + 12181: < 0.668312, -0.601963, 0.437036> + 12182: < 0.655217, -0.591920, 0.469385> + 12183: < 0.624909, -0.624909, 0.467950> + 12184: < 0.647247, -0.647247, 0.402668> + 12185: < 0.680859, -0.611427, 0.403223> + 12186: < 0.668312, -0.601963, 0.437036> + 12187: < 0.636296, -0.636296, 0.436181> + 12188: < 0.657511, -0.657511, 0.367912> + 12189: < 0.692544, -0.620305, 0.368246> + 12190: < 0.680859, -0.611427, 0.403223> + 12191: < 0.647247, -0.647247, 0.402668> + 12192: < 0.667130, -0.667130, 0.331474> + 12193: < 0.703467, -0.628603, 0.331652> + 12194: < 0.692544, -0.620305, 0.368246> + 12195: < 0.657511, -0.657511, 0.367912> + 12196: < 0.675899, -0.675899, 0.293804> + 12197: < 0.713396, -0.636150, 0.293904> + 12198: < 0.703467, -0.628603, 0.331652> + 12199: < 0.667130, -0.667130, 0.331474> + 12200: < 0.683620, -0.683620, 0.255594> + 12201: < 0.722093, -0.642833, 0.255632> + 12202: < 0.713396, -0.636150, 0.293904> + 12203: < 0.675899, -0.675899, 0.293804> + 12204: < 0.690307, -0.690307, 0.216684> + 12205: < 0.729636, -0.648606, 0.216660> + 12206: < 0.722093, -0.642833, 0.255632> + 12207: < 0.683620, -0.683620, 0.255594> + 12208: < 0.695976, -0.695976, 0.176733> + 12209: < 0.736025, -0.653502, 0.176644> + 12210: < 0.729636, -0.648606, 0.216660> + 12211: < 0.690307, -0.690307, 0.216684> + 12212: < 0.700600, -0.700600, 0.135353> + 12213: < 0.741243, -0.657468, 0.135260> + 12214: < 0.736025, -0.653502, 0.176644> + 12215: < 0.695976, -0.695976, 0.176733> + 12216: < 0.704093, -0.704093, 0.092231> + 12217: < 0.745184, -0.660463, 0.092137> + 12218: < 0.741243, -0.657468, 0.135260> + 12219: < 0.700600, -0.700600, 0.135353> + 12220: < 0.706323, -0.706323, 0.047060> + 12221: < 0.747715, -0.662354, 0.046999> + 12222: < 0.745184, -0.660463, 0.092137> + 12223: < 0.704093, -0.704093, 0.092231> + 12224: < 0.707107, -0.707107, 0.000000> + 12225: < 0.748599, -0.663024, 0.000000> + 12226: < 0.747715, -0.662354, 0.046999> + 12227: < 0.706323, -0.706323, 0.047060> + 12228: < 0.706323, -0.706323, -0.047060> + 12229: < 0.747715, -0.662354, -0.046999> + 12230: < 0.748599, -0.663024, 0.000000> + 12231: < 0.707107, -0.707107, 0.000000> + 12232: < 0.704093, -0.704093, -0.092231> + 12233: < 0.745184, -0.660463, -0.092137> + 12234: < 0.747715, -0.662354, -0.046999> + 12235: < 0.706323, -0.706323, -0.047060> + 12236: < 0.700600, -0.700600, -0.135353> + 12237: < 0.741243, -0.657468, -0.135260> + 12238: < 0.745184, -0.660463, -0.092137> + 12239: < 0.704093, -0.704093, -0.092231> + 12240: < 0.695976, -0.695976, -0.176733> + 12241: < 0.736025, -0.653502, -0.176644> + 12242: < 0.741243, -0.657468, -0.135260> + 12243: < 0.700600, -0.700600, -0.135353> + 12244: < 0.690307, -0.690307, -0.216684> + 12245: < 0.729636, -0.648606, -0.216660> + 12246: < 0.736025, -0.653502, -0.176644> + 12247: < 0.695976, -0.695976, -0.176733> + 12248: < 0.683620, -0.683620, -0.255594> + 12249: < 0.722093, -0.642833, -0.255632> + 12250: < 0.729636, -0.648606, -0.216660> + 12251: < 0.690307, -0.690307, -0.216684> + 12252: < 0.675899, -0.675899, -0.293804> + 12253: < 0.713382, -0.636169, -0.293898> + 12254: < 0.722093, -0.642833, -0.255632> + 12255: < 0.683620, -0.683620, -0.255594> + 12256: < 0.667130, -0.667130, -0.331474> + 12257: < 0.703467, -0.628603, -0.331652> + 12258: < 0.713382, -0.636169, -0.293898> + 12259: < 0.675899, -0.675899, -0.293804> + 12260: < 0.657511, -0.657511, -0.367912> + 12261: < 0.692544, -0.620305, -0.368246> + 12262: < 0.703467, -0.628603, -0.331652> + 12263: < 0.667130, -0.667130, -0.331474> + 12264: < 0.647247, -0.647247, -0.402668> + 12265: < 0.680859, -0.611427, -0.403223> + 12266: < 0.692544, -0.620305, -0.368246> + 12267: < 0.657511, -0.657511, -0.367912> + 12268: < 0.636296, -0.636296, -0.436181> + 12269: < 0.668312, -0.601963, -0.437036> + 12270: < 0.680859, -0.611427, -0.403223> + 12271: < 0.647247, -0.647247, -0.402668> + 12272: < 0.624909, -0.624909, -0.467950> + 12273: < 0.655217, -0.591920, -0.469385> + 12274: < 0.668312, -0.601963, -0.437036> + 12275: < 0.636296, -0.636296, -0.436181> + 12276: < 0.613379, -0.613379, -0.497527> + 12277: < 0.641397, -0.581456, -0.500519> + 12278: < 0.655217, -0.591920, -0.469385> + 12279: < 0.624909, -0.624909, -0.467950> + 12280: < 0.601188, -0.601188, -0.526447> + 12281: < 0.625584, -0.571076, -0.531523> + 12282: < 0.641397, -0.581456, -0.500519> + 12283: < 0.613379, -0.613379, -0.497527> + 12284: < 0.588539, -0.588539, -0.554296> + 12285: < 0.607783, -0.561516, -0.561516> + 12286: < 0.625584, -0.571076, -0.531523> + 12287: < 0.601188, -0.601188, -0.526447> + 12288: < 0.561516, -0.607783, 0.561516> + 12289: < 0.531523, -0.625584, 0.571076> + 12290: < 0.538962, -0.647334, 0.538962> + 12291: < 0.571076, -0.625584, 0.531523> + 12292: < 0.531523, -0.625584, 0.571076> + 12293: < 0.500519, -0.641397, 0.581456> + 12294: < 0.506040, -0.666144, 0.547882> + 12295: < 0.538962, -0.647334, 0.538962> + 12296: < 0.500519, -0.641397, 0.581456> + 12297: < 0.469385, -0.655217, 0.591920> + 12298: < 0.473139, -0.682532, 0.557037> + 12299: < 0.506040, -0.666144, 0.547882> + 12300: < 0.469385, -0.655217, 0.591920> + 12301: < 0.437036, -0.668312, 0.601963> + 12302: < 0.439475, -0.697667, 0.565794> + 12303: < 0.473139, -0.682532, 0.557037> + 12304: < 0.437036, -0.668312, 0.601963> + 12305: < 0.403223, -0.680859, 0.611427> + 12306: < 0.404839, -0.711772, 0.574008> + 12307: < 0.439475, -0.697667, 0.565794> + 12308: < 0.403223, -0.680859, 0.611427> + 12309: < 0.368246, -0.692544, 0.620305> + 12310: < 0.369188, -0.724825, 0.581661> + 12311: < 0.404839, -0.711772, 0.574008> + 12312: < 0.368246, -0.692544, 0.620305> + 12313: < 0.331652, -0.703467, 0.628603> + 12314: < 0.332197, -0.736907, 0.588738> + 12315: < 0.369188, -0.724825, 0.581661> + 12316: < 0.331652, -0.703467, 0.628603> + 12317: < 0.293904, -0.713396, 0.636150> + 12318: < 0.294207, -0.747816, 0.595158> + 12319: < 0.332197, -0.736907, 0.588738> + 12320: < 0.293904, -0.713396, 0.636150> + 12321: < 0.255632, -0.722093, 0.642833> + 12322: < 0.255750, -0.757361, 0.600829> + 12323: < 0.294207, -0.747816, 0.595158> + 12324: < 0.255632, -0.722093, 0.642833> + 12325: < 0.216660, -0.729636, 0.648606> + 12326: < 0.216596, -0.765608, 0.605748> + 12327: < 0.255750, -0.757361, 0.600829> + 12328: < 0.216660, -0.729636, 0.648606> + 12329: < 0.176644, -0.736025, 0.653502> + 12330: < 0.176461, -0.772589, 0.609892> + 12331: < 0.216596, -0.765608, 0.605748> + 12332: < 0.176644, -0.736025, 0.653502> + 12333: < 0.135260, -0.741243, 0.657468> + 12334: < 0.135015, -0.778292, 0.613215> + 12335: < 0.176461, -0.772589, 0.609892> + 12336: < 0.135260, -0.741243, 0.657468> + 12337: < 0.092137, -0.745184, 0.660463> + 12338: < 0.091894, -0.782607, 0.615697> + 12339: < 0.135015, -0.778292, 0.613215> + 12340: < 0.092137, -0.745184, 0.660463> + 12341: < 0.046999, -0.747715, 0.662354> + 12342: < 0.046847, -0.785375, 0.617246> + 12343: < 0.091894, -0.782607, 0.615697> + 12344: < 0.046999, -0.747715, 0.662354> + 12345: < 0.000000, -0.748599, 0.663024> + 12346: < 0.000000, -0.786344, 0.617789> + 12347: < 0.046847, -0.785375, 0.617246> + 12348: < 0.000000, -0.748599, 0.663024> + 12349: <-0.046999, -0.747715, 0.662354> + 12350: <-0.046847, -0.785375, 0.617246> + 12351: < 0.000000, -0.786344, 0.617789> + 12352: <-0.046999, -0.747715, 0.662354> + 12353: <-0.092137, -0.745184, 0.660463> + 12354: <-0.091894, -0.782607, 0.615697> + 12355: <-0.046847, -0.785375, 0.617246> + 12356: <-0.092137, -0.745184, 0.660463> + 12357: <-0.135260, -0.741243, 0.657468> + 12358: <-0.134988, -0.778309, 0.613199> + 12359: <-0.091894, -0.782607, 0.615697> + 12360: <-0.135260, -0.741243, 0.657468> + 12361: <-0.176644, -0.736025, 0.653502> + 12362: <-0.176461, -0.772589, 0.609892> + 12363: <-0.134988, -0.778309, 0.613199> + 12364: <-0.176644, -0.736025, 0.653502> + 12365: <-0.216660, -0.729636, 0.648606> + 12366: <-0.216596, -0.765608, 0.605748> + 12367: <-0.176461, -0.772589, 0.609892> + 12368: <-0.216660, -0.729636, 0.648606> + 12369: <-0.255632, -0.722093, 0.642833> + 12370: <-0.255750, -0.757361, 0.600829> + 12371: <-0.216596, -0.765608, 0.605748> + 12372: <-0.255632, -0.722093, 0.642833> + 12373: <-0.293904, -0.713396, 0.636150> + 12374: <-0.294207, -0.747816, 0.595158> + 12375: <-0.255750, -0.757361, 0.600829> + 12376: <-0.293904, -0.713396, 0.636150> + 12377: <-0.331652, -0.703467, 0.628603> + 12378: <-0.332170, -0.736915, 0.588744> + 12379: <-0.294207, -0.747816, 0.595158> + 12380: <-0.331652, -0.703467, 0.628603> + 12381: <-0.368246, -0.692544, 0.620305> + 12382: <-0.369188, -0.724825, 0.581661> + 12383: <-0.332170, -0.736915, 0.588744> + 12384: <-0.368246, -0.692544, 0.620305> + 12385: <-0.403223, -0.680859, 0.611427> + 12386: <-0.404839, -0.711772, 0.574008> + 12387: <-0.369188, -0.724825, 0.581661> + 12388: <-0.403223, -0.680859, 0.611427> + 12389: <-0.437036, -0.668312, 0.601963> + 12390: <-0.439475, -0.697667, 0.565794> + 12391: <-0.404839, -0.711772, 0.574008> + 12392: <-0.437036, -0.668312, 0.601963> + 12393: <-0.469385, -0.655217, 0.591920> + 12394: <-0.473139, -0.682532, 0.557037> + 12395: <-0.439475, -0.697667, 0.565794> + 12396: <-0.469385, -0.655217, 0.591920> + 12397: <-0.500496, -0.641406, 0.581465> + 12398: <-0.506040, -0.666144, 0.547882> + 12399: <-0.473139, -0.682532, 0.557037> + 12400: <-0.500496, -0.641406, 0.581465> + 12401: <-0.531523, -0.625584, 0.571076> + 12402: <-0.538962, -0.647334, 0.538962> + 12403: <-0.506040, -0.666144, 0.547882> + 12404: <-0.531523, -0.625584, 0.571076> + 12405: <-0.561516, -0.607783, 0.561516> + 12406: <-0.571076, -0.625584, 0.531523> + 12407: <-0.538962, -0.647334, 0.538962> + 12408: < 0.571076, -0.625584, 0.531523> + 12409: < 0.538962, -0.647334, 0.538962> + 12410: < 0.547882, -0.666144, 0.506040> + 12411: < 0.581456, -0.641397, 0.500519> + 12412: < 0.538962, -0.647334, 0.538962> + 12413: < 0.506040, -0.666144, 0.547882> + 12414: < 0.513252, -0.687856, 0.513252> + 12415: < 0.547882, -0.666144, 0.506040> + 12416: < 0.506040, -0.666144, 0.547882> + 12417: < 0.473139, -0.682532, 0.557037> + 12418: < 0.478425, -0.706895, 0.520969> + 12419: < 0.513252, -0.687856, 0.513252> + 12420: < 0.473139, -0.682532, 0.557037> + 12421: < 0.439475, -0.697667, 0.565794> + 12422: < 0.443145, -0.724109, 0.528478> + 12423: < 0.478425, -0.706895, 0.520969> + 12424: < 0.439475, -0.697667, 0.565794> + 12425: < 0.404839, -0.711772, 0.574008> + 12426: < 0.407307, -0.739812, 0.535518> + 12427: < 0.443145, -0.724109, 0.528478> + 12428: < 0.404839, -0.711772, 0.574008> + 12429: < 0.369188, -0.724825, 0.581661> + 12430: < 0.370721, -0.754169, 0.542028> + 12431: < 0.407307, -0.739812, 0.535518> + 12432: < 0.369188, -0.724825, 0.581661> + 12433: < 0.332197, -0.736907, 0.588738> + 12434: < 0.333090, -0.767292, 0.548009> + 12435: < 0.370721, -0.754169, 0.542028> + 12436: < 0.332197, -0.736907, 0.588738> + 12437: < 0.294207, -0.747816, 0.595158> + 12438: < 0.294729, -0.779017, 0.553415> + 12439: < 0.333090, -0.767292, 0.548009> + 12440: < 0.294207, -0.747816, 0.595158> + 12441: < 0.255750, -0.757361, 0.600829> + 12442: < 0.255937, -0.789266, 0.558172> + 12443: < 0.294729, -0.779017, 0.553415> + 12444: < 0.255750, -0.757361, 0.600829> + 12445: < 0.216596, -0.765608, 0.605748> + 12446: < 0.216534, -0.798110, 0.562257> + 12447: < 0.255937, -0.789266, 0.558172> + 12448: < 0.216596, -0.765608, 0.605748> + 12449: < 0.176461, -0.772589, 0.609892> + 12450: < 0.176188, -0.805587, 0.565675> + 12451: < 0.216534, -0.798110, 0.562257> + 12452: < 0.176461, -0.772589, 0.609892> + 12453: < 0.135015, -0.778292, 0.613215> + 12454: < 0.134618, -0.811677, 0.568382> + 12455: < 0.176188, -0.805587, 0.565675> + 12456: < 0.135015, -0.778292, 0.613215> + 12457: < 0.091894, -0.782607, 0.615697> + 12458: < 0.091497, -0.816271, 0.570377> + 12459: < 0.134618, -0.811677, 0.568382> + 12460: < 0.091894, -0.782607, 0.615697> + 12461: < 0.046847, -0.785375, 0.617246> + 12462: < 0.046573, -0.819208, 0.571602> + 12463: < 0.091497, -0.816271, 0.570377> + 12464: < 0.046847, -0.785375, 0.617246> + 12465: < 0.000000, -0.786344, 0.617789> + 12466: < 0.000000, -0.820237, 0.572024> + 12467: < 0.046573, -0.819208, 0.571602> + 12468: < 0.000000, -0.786344, 0.617789> + 12469: <-0.046847, -0.785375, 0.617246> + 12470: <-0.046573, -0.819208, 0.571602> + 12471: < 0.000000, -0.820237, 0.572024> + 12472: <-0.046847, -0.785375, 0.617246> + 12473: <-0.091894, -0.782607, 0.615697> + 12474: <-0.091497, -0.816271, 0.570377> + 12475: <-0.046573, -0.819208, 0.571602> + 12476: <-0.091894, -0.782607, 0.615697> + 12477: <-0.134988, -0.778309, 0.613199> + 12478: <-0.134618, -0.811677, 0.568382> + 12479: <-0.091497, -0.816271, 0.570377> + 12480: <-0.134988, -0.778309, 0.613199> + 12481: <-0.176461, -0.772589, 0.609892> + 12482: <-0.176188, -0.805587, 0.565675> + 12483: <-0.134618, -0.811677, 0.568382> + 12484: <-0.176461, -0.772589, 0.609892> + 12485: <-0.216596, -0.765608, 0.605748> + 12486: <-0.216534, -0.798110, 0.562257> + 12487: <-0.176188, -0.805587, 0.565675> + 12488: <-0.216596, -0.765608, 0.605748> + 12489: <-0.255750, -0.757361, 0.600829> + 12490: <-0.255937, -0.789266, 0.558172> + 12491: <-0.216534, -0.798110, 0.562257> + 12492: <-0.255750, -0.757361, 0.600829> + 12493: <-0.294207, -0.747816, 0.595158> + 12494: <-0.294729, -0.779017, 0.553415> + 12495: <-0.255937, -0.789266, 0.558172> + 12496: <-0.294207, -0.747816, 0.595158> + 12497: <-0.332170, -0.736915, 0.588744> + 12498: <-0.333090, -0.767292, 0.548009> + 12499: <-0.294729, -0.779017, 0.553415> + 12500: <-0.332170, -0.736915, 0.588744> + 12501: <-0.369188, -0.724825, 0.581661> + 12502: <-0.370721, -0.754169, 0.542028> + 12503: <-0.333090, -0.767292, 0.548009> + 12504: <-0.369188, -0.724825, 0.581661> + 12505: <-0.404839, -0.711772, 0.574008> + 12506: <-0.407307, -0.739812, 0.535518> + 12507: <-0.370721, -0.754169, 0.542028> + 12508: <-0.404839, -0.711772, 0.574008> + 12509: <-0.439475, -0.697667, 0.565794> + 12510: <-0.443145, -0.724109, 0.528478> + 12511: <-0.407307, -0.739812, 0.535518> + 12512: <-0.439475, -0.697667, 0.565794> + 12513: <-0.473139, -0.682532, 0.557037> + 12514: <-0.478425, -0.706895, 0.520969> + 12515: <-0.443145, -0.724109, 0.528478> + 12516: <-0.473139, -0.682532, 0.557037> + 12517: <-0.506040, -0.666144, 0.547882> + 12518: <-0.513252, -0.687856, 0.513252> + 12519: <-0.478425, -0.706895, 0.520969> + 12520: <-0.506040, -0.666144, 0.547882> + 12521: <-0.538962, -0.647334, 0.538962> + 12522: <-0.547882, -0.666144, 0.506040> + 12523: <-0.513252, -0.687856, 0.513252> + 12524: <-0.538962, -0.647334, 0.538962> + 12525: <-0.571076, -0.625584, 0.531523> + 12526: <-0.581456, -0.641397, 0.500519> + 12527: <-0.547882, -0.666144, 0.506040> + 12528: < 0.581456, -0.641397, 0.500519> + 12529: < 0.547882, -0.666144, 0.506040> + 12530: < 0.557037, -0.682532, 0.473139> + 12531: < 0.591920, -0.655217, 0.469385> + 12532: < 0.547882, -0.666144, 0.506040> + 12533: < 0.513252, -0.687856, 0.513252> + 12534: < 0.520969, -0.706895, 0.478425> + 12535: < 0.557037, -0.682532, 0.473139> + 12536: < 0.513252, -0.687856, 0.513252> + 12537: < 0.478425, -0.706895, 0.520969> + 12538: < 0.484430, -0.728461, 0.484430> + 12539: < 0.520969, -0.706895, 0.478425> + 12540: < 0.478425, -0.706895, 0.520969> + 12541: < 0.443145, -0.724109, 0.528478> + 12542: < 0.447593, -0.747688, 0.490534> + 12543: < 0.484430, -0.728461, 0.484430> + 12544: < 0.443145, -0.724109, 0.528478> + 12545: < 0.407307, -0.739812, 0.535518> + 12546: < 0.410392, -0.764964, 0.496395> + 12547: < 0.447593, -0.747688, 0.490534> + 12548: < 0.407307, -0.739812, 0.535518> + 12549: < 0.370721, -0.754169, 0.542028> + 12550: < 0.372705, -0.780568, 0.501802> + 12551: < 0.410392, -0.764964, 0.496395> + 12552: < 0.370721, -0.754169, 0.542028> + 12553: < 0.333090, -0.767292, 0.548009> + 12554: < 0.334337, -0.794627, 0.506740> + 12555: < 0.372705, -0.780568, 0.501802> + 12556: < 0.333090, -0.767292, 0.548009> + 12557: < 0.294729, -0.779017, 0.553415> + 12558: < 0.295457, -0.807082, 0.511198> + 12559: < 0.334337, -0.794627, 0.506740> + 12560: < 0.294729, -0.779017, 0.553415> + 12561: < 0.255937, -0.789266, 0.558172> + 12562: < 0.256243, -0.817925, 0.515110> + 12563: < 0.295457, -0.807082, 0.511198> + 12564: < 0.255937, -0.789266, 0.558172> + 12565: < 0.216534, -0.798110, 0.562257> + 12566: < 0.216475, -0.827263, 0.518435> + 12567: < 0.256243, -0.817925, 0.515110> + 12568: < 0.216534, -0.798110, 0.562257> + 12569: < 0.176188, -0.805587, 0.565675> + 12570: < 0.175853, -0.835133, 0.521180> + 12571: < 0.216475, -0.827263, 0.518435> + 12572: < 0.176188, -0.805587, 0.565675> + 12573: < 0.134618, -0.811677, 0.568382> + 12574: < 0.134100, -0.841527, 0.523307> + 12575: < 0.175853, -0.835133, 0.521180> + 12576: < 0.134618, -0.811677, 0.568382> + 12577: < 0.091497, -0.816271, 0.570377> + 12578: < 0.091008, -0.846324, 0.524836> + 12579: < 0.134100, -0.841527, 0.523307> + 12580: < 0.091497, -0.816271, 0.570377> + 12581: < 0.046573, -0.819208, 0.571602> + 12582: < 0.046267, -0.849378, 0.525753> + 12583: < 0.091008, -0.846324, 0.524836> + 12584: < 0.046573, -0.819208, 0.571602> + 12585: < 0.000000, -0.820237, 0.572024> + 12586: < 0.000000, -0.850434, 0.526081> + 12587: < 0.046267, -0.849378, 0.525753> + 12588: < 0.000000, -0.820237, 0.572024> + 12589: <-0.046573, -0.819208, 0.571602> + 12590: <-0.046267, -0.849378, 0.525753> + 12591: < 0.000000, -0.850434, 0.526081> + 12592: <-0.046573, -0.819208, 0.571602> + 12593: <-0.091497, -0.816271, 0.570377> + 12594: <-0.091008, -0.846324, 0.524836> + 12595: <-0.046267, -0.849378, 0.525753> + 12596: <-0.091497, -0.816271, 0.570377> + 12597: <-0.134618, -0.811677, 0.568382> + 12598: <-0.134100, -0.841527, 0.523307> + 12599: <-0.091008, -0.846324, 0.524836> + 12600: <-0.134618, -0.811677, 0.568382> + 12601: <-0.176188, -0.805587, 0.565675> + 12602: <-0.175853, -0.835133, 0.521180> + 12603: <-0.134100, -0.841527, 0.523307> + 12604: <-0.176188, -0.805587, 0.565675> + 12605: <-0.216534, -0.798110, 0.562257> + 12606: <-0.216475, -0.827263, 0.518435> + 12607: <-0.175853, -0.835133, 0.521180> + 12608: <-0.216534, -0.798110, 0.562257> + 12609: <-0.255937, -0.789266, 0.558172> + 12610: <-0.256243, -0.817925, 0.515110> + 12611: <-0.216475, -0.827263, 0.518435> + 12612: <-0.255937, -0.789266, 0.558172> + 12613: <-0.294729, -0.779017, 0.553415> + 12614: <-0.295457, -0.807082, 0.511198> + 12615: <-0.256243, -0.817925, 0.515110> + 12616: <-0.294729, -0.779017, 0.553415> + 12617: <-0.333090, -0.767292, 0.548009> + 12618: <-0.334337, -0.794627, 0.506740> + 12619: <-0.295457, -0.807082, 0.511198> + 12620: <-0.333090, -0.767292, 0.548009> + 12621: <-0.370721, -0.754169, 0.542028> + 12622: <-0.372705, -0.780568, 0.501802> + 12623: <-0.334337, -0.794627, 0.506740> + 12624: <-0.370721, -0.754169, 0.542028> + 12625: <-0.407307, -0.739812, 0.535518> + 12626: <-0.410392, -0.764964, 0.496395> + 12627: <-0.372705, -0.780568, 0.501802> + 12628: <-0.407307, -0.739812, 0.535518> + 12629: <-0.443145, -0.724109, 0.528478> + 12630: <-0.447593, -0.747688, 0.490534> + 12631: <-0.410392, -0.764964, 0.496395> + 12632: <-0.443145, -0.724109, 0.528478> + 12633: <-0.478425, -0.706895, 0.520969> + 12634: <-0.484430, -0.728461, 0.484430> + 12635: <-0.447593, -0.747688, 0.490534> + 12636: <-0.478425, -0.706895, 0.520969> + 12637: <-0.513252, -0.687856, 0.513252> + 12638: <-0.520969, -0.706895, 0.478425> + 12639: <-0.484430, -0.728461, 0.484430> + 12640: <-0.513252, -0.687856, 0.513252> + 12641: <-0.547882, -0.666144, 0.506040> + 12642: <-0.557037, -0.682532, 0.473139> + 12643: <-0.520969, -0.706895, 0.478425> + 12644: <-0.547882, -0.666144, 0.506040> + 12645: <-0.581456, -0.641397, 0.500519> + 12646: <-0.591920, -0.655217, 0.469385> + 12647: <-0.557037, -0.682532, 0.473139> + 12648: < 0.591920, -0.655217, 0.469385> + 12649: < 0.557037, -0.682532, 0.473139> + 12650: < 0.565794, -0.697667, 0.439475> + 12651: < 0.601963, -0.668312, 0.437036> + 12652: < 0.557037, -0.682532, 0.473139> + 12653: < 0.520969, -0.706895, 0.478425> + 12654: < 0.528478, -0.724109, 0.443145> + 12655: < 0.565794, -0.697667, 0.439475> + 12656: < 0.520969, -0.706895, 0.478425> + 12657: < 0.484430, -0.728461, 0.484430> + 12658: < 0.490534, -0.747688, 0.447593> + 12659: < 0.528478, -0.724109, 0.443145> + 12660: < 0.484430, -0.728461, 0.484430> + 12661: < 0.447593, -0.747688, 0.490534> + 12662: < 0.452290, -0.768679, 0.452290> + 12663: < 0.490534, -0.747688, 0.447593> + 12664: < 0.447593, -0.747688, 0.490534> + 12665: < 0.410392, -0.764964, 0.496395> + 12666: < 0.413777, -0.787421, 0.456900> + 12667: < 0.452290, -0.768679, 0.452290> + 12668: < 0.410392, -0.764964, 0.496395> + 12669: < 0.372705, -0.780568, 0.501802> + 12670: < 0.374961, -0.804154, 0.461239> + 12671: < 0.413777, -0.787421, 0.456900> + 12672: < 0.372705, -0.780568, 0.501802> + 12673: < 0.334337, -0.794627, 0.506740> + 12674: < 0.335801, -0.819039, 0.465202> + 12675: < 0.374961, -0.804154, 0.461239> + 12676: < 0.334337, -0.794627, 0.506740> + 12677: < 0.295457, -0.807082, 0.511198> + 12678: < 0.296339, -0.832128, 0.468770> + 12679: < 0.335801, -0.819039, 0.465202> + 12680: < 0.295457, -0.807082, 0.511198> + 12681: < 0.256243, -0.817925, 0.515110> + 12682: < 0.256606, -0.843490, 0.471888> + 12683: < 0.296339, -0.832128, 0.468770> + 12684: < 0.256243, -0.817925, 0.515110> + 12685: < 0.216475, -0.827263, 0.518435> + 12686: < 0.216413, -0.853230, 0.474515> + 12687: < 0.256606, -0.843490, 0.471888> + 12688: < 0.216475, -0.827263, 0.518435> + 12689: < 0.175853, -0.835133, 0.521180> + 12690: < 0.175453, -0.861426, 0.476614> + 12691: < 0.216413, -0.853230, 0.474515> + 12692: < 0.175853, -0.835133, 0.521180> + 12693: < 0.134100, -0.841527, 0.523307> + 12694: < 0.133553, -0.868033, 0.478208> + 12695: < 0.175453, -0.861426, 0.476614> + 12696: < 0.134100, -0.841527, 0.523307> + 12697: < 0.091008, -0.846324, 0.524836> + 12698: < 0.090429, -0.872976, 0.479307> + 12699: < 0.133553, -0.868033, 0.478208> + 12700: < 0.091008, -0.846324, 0.524836> + 12701: < 0.046267, -0.849378, 0.525753> + 12702: < 0.045871, -0.876095, 0.479951> + 12703: < 0.090429, -0.872976, 0.479307> + 12704: < 0.046267, -0.849378, 0.525753> + 12705: < 0.000000, -0.850434, 0.526081> + 12706: < 0.000000, -0.877169, 0.480182> + 12707: < 0.045871, -0.876095, 0.479951> + 12708: < 0.000000, -0.850434, 0.526081> + 12709: <-0.046267, -0.849378, 0.525753> + 12710: <-0.045871, -0.876095, 0.479951> + 12711: < 0.000000, -0.877169, 0.480182> + 12712: <-0.046267, -0.849378, 0.525753> + 12713: <-0.091008, -0.846324, 0.524836> + 12714: <-0.090429, -0.872976, 0.479307> + 12715: <-0.045871, -0.876095, 0.479951> + 12716: <-0.091008, -0.846324, 0.524836> + 12717: <-0.134100, -0.841527, 0.523307> + 12718: <-0.133553, -0.868033, 0.478208> + 12719: <-0.090429, -0.872976, 0.479307> + 12720: <-0.134100, -0.841527, 0.523307> + 12721: <-0.175853, -0.835133, 0.521180> + 12722: <-0.175453, -0.861426, 0.476614> + 12723: <-0.133553, -0.868033, 0.478208> + 12724: <-0.175853, -0.835133, 0.521180> + 12725: <-0.216475, -0.827263, 0.518435> + 12726: <-0.216413, -0.853230, 0.474515> + 12727: <-0.175453, -0.861426, 0.476614> + 12728: <-0.216475, -0.827263, 0.518435> + 12729: <-0.256243, -0.817925, 0.515110> + 12730: <-0.256606, -0.843490, 0.471888> + 12731: <-0.216413, -0.853230, 0.474515> + 12732: <-0.256243, -0.817925, 0.515110> + 12733: <-0.295457, -0.807082, 0.511198> + 12734: <-0.296339, -0.832128, 0.468770> + 12735: <-0.256606, -0.843490, 0.471888> + 12736: <-0.295457, -0.807082, 0.511198> + 12737: <-0.334337, -0.794627, 0.506740> + 12738: <-0.335801, -0.819039, 0.465202> + 12739: <-0.296339, -0.832128, 0.468770> + 12740: <-0.334337, -0.794627, 0.506740> + 12741: <-0.372705, -0.780568, 0.501802> + 12742: <-0.374961, -0.804154, 0.461239> + 12743: <-0.335801, -0.819039, 0.465202> + 12744: <-0.372705, -0.780568, 0.501802> + 12745: <-0.410392, -0.764964, 0.496395> + 12746: <-0.413777, -0.787421, 0.456900> + 12747: <-0.374961, -0.804154, 0.461239> + 12748: <-0.410392, -0.764964, 0.496395> + 12749: <-0.447593, -0.747688, 0.490534> + 12750: <-0.452290, -0.768679, 0.452290> + 12751: <-0.413777, -0.787421, 0.456900> + 12752: <-0.447593, -0.747688, 0.490534> + 12753: <-0.484430, -0.728461, 0.484430> + 12754: <-0.490534, -0.747688, 0.447593> + 12755: <-0.452290, -0.768679, 0.452290> + 12756: <-0.484430, -0.728461, 0.484430> + 12757: <-0.520969, -0.706895, 0.478425> + 12758: <-0.528478, -0.724109, 0.443145> + 12759: <-0.490534, -0.747688, 0.447593> + 12760: <-0.520969, -0.706895, 0.478425> + 12761: <-0.557037, -0.682532, 0.473139> + 12762: <-0.565794, -0.697667, 0.439475> + 12763: <-0.528478, -0.724109, 0.443145> + 12764: <-0.557037, -0.682532, 0.473139> + 12765: <-0.591920, -0.655217, 0.469385> + 12766: <-0.601963, -0.668312, 0.437036> + 12767: <-0.565794, -0.697667, 0.439475> + 12768: < 0.601963, -0.668312, 0.437036> + 12769: < 0.565794, -0.697667, 0.439475> + 12770: < 0.574008, -0.711772, 0.404839> + 12771: < 0.611427, -0.680859, 0.403223> + 12772: < 0.565794, -0.697667, 0.439475> + 12773: < 0.528478, -0.724109, 0.443145> + 12774: < 0.535518, -0.739812, 0.407307> + 12775: < 0.574008, -0.711772, 0.404839> + 12776: < 0.528478, -0.724109, 0.443145> + 12777: < 0.490534, -0.747688, 0.447593> + 12778: < 0.496395, -0.764964, 0.410392> + 12779: < 0.535518, -0.739812, 0.407307> + 12780: < 0.490534, -0.747688, 0.447593> + 12781: < 0.452290, -0.768679, 0.452290> + 12782: < 0.456900, -0.787421, 0.413777> + 12783: < 0.496395, -0.764964, 0.410392> + 12784: < 0.452290, -0.768679, 0.452290> + 12785: < 0.413777, -0.787421, 0.456900> + 12786: < 0.417202, -0.807394, 0.417202> + 12787: < 0.456900, -0.787421, 0.413777> + 12788: < 0.413777, -0.787421, 0.456900> + 12789: < 0.374961, -0.804154, 0.461239> + 12790: < 0.377345, -0.825100, 0.420500> + 12791: < 0.417202, -0.807394, 0.417202> + 12792: < 0.374961, -0.804154, 0.461239> + 12793: < 0.335801, -0.819039, 0.465202> + 12794: < 0.337391, -0.840684, 0.423577> + 12795: < 0.377345, -0.825100, 0.420500> + 12796: < 0.335801, -0.819039, 0.465202> + 12797: < 0.296339, -0.832128, 0.468770> + 12798: < 0.297287, -0.854324, 0.426323> + 12799: < 0.337391, -0.840684, 0.423577> + 12800: < 0.296339, -0.832128, 0.468770> + 12801: < 0.256606, -0.843490, 0.471888> + 12802: < 0.256999, -0.866124, 0.428698> + 12803: < 0.297287, -0.854324, 0.426323> + 12804: < 0.256606, -0.843490, 0.471888> + 12805: < 0.216413, -0.853230, 0.474515> + 12806: < 0.216320, -0.876208, 0.430657> + 12807: < 0.256999, -0.866124, 0.428698> + 12808: < 0.216413, -0.853230, 0.474515> + 12809: < 0.175453, -0.861426, 0.476614> + 12810: < 0.175026, -0.884654, 0.432149> + 12811: < 0.216320, -0.876208, 0.430657> + 12812: < 0.175453, -0.861426, 0.476614> + 12813: < 0.133553, -0.868033, 0.478208> + 12814: < 0.132911, -0.891405, 0.433281> + 12815: < 0.175026, -0.884654, 0.432149> + 12816: < 0.133553, -0.868033, 0.478208> + 12817: < 0.090429, -0.872976, 0.479307> + 12818: < 0.089787, -0.896437, 0.433981> + 12819: < 0.132911, -0.891405, 0.433281> + 12820: < 0.090429, -0.872976, 0.479307> + 12821: < 0.045871, -0.876095, 0.479951> + 12822: < 0.045443, -0.899583, 0.434379> + 12823: < 0.089787, -0.896437, 0.433981> + 12824: < 0.045871, -0.876095, 0.479951> + 12825: < 0.000000, -0.877169, 0.480182> + 12826: < 0.000000, -0.900667, 0.434509> + 12827: < 0.045443, -0.899583, 0.434379> + 12828: < 0.000000, -0.877169, 0.480182> + 12829: <-0.045871, -0.876095, 0.479951> + 12830: <-0.045443, -0.899583, 0.434379> + 12831: < 0.000000, -0.900667, 0.434509> + 12832: <-0.045871, -0.876095, 0.479951> + 12833: <-0.090429, -0.872976, 0.479307> + 12834: <-0.089787, -0.896437, 0.433981> + 12835: <-0.045443, -0.899583, 0.434379> + 12836: <-0.090429, -0.872976, 0.479307> + 12837: <-0.133553, -0.868033, 0.478208> + 12838: <-0.132911, -0.891405, 0.433281> + 12839: <-0.089787, -0.896437, 0.433981> + 12840: <-0.133553, -0.868033, 0.478208> + 12841: <-0.175453, -0.861426, 0.476614> + 12842: <-0.175026, -0.884654, 0.432149> + 12843: <-0.132911, -0.891405, 0.433281> + 12844: <-0.175453, -0.861426, 0.476614> + 12845: <-0.216413, -0.853230, 0.474515> + 12846: <-0.216320, -0.876208, 0.430657> + 12847: <-0.175026, -0.884654, 0.432149> + 12848: <-0.216413, -0.853230, 0.474515> + 12849: <-0.256606, -0.843490, 0.471888> + 12850: <-0.256999, -0.866124, 0.428698> + 12851: <-0.216320, -0.876208, 0.430657> + 12852: <-0.256606, -0.843490, 0.471888> + 12853: <-0.296339, -0.832128, 0.468770> + 12854: <-0.297287, -0.854324, 0.426323> + 12855: <-0.256999, -0.866124, 0.428698> + 12856: <-0.296339, -0.832128, 0.468770> + 12857: <-0.335801, -0.819039, 0.465202> + 12858: <-0.337391, -0.840684, 0.423577> + 12859: <-0.297287, -0.854324, 0.426323> + 12860: <-0.335801, -0.819039, 0.465202> + 12861: <-0.374961, -0.804154, 0.461239> + 12862: <-0.377345, -0.825100, 0.420500> + 12863: <-0.337391, -0.840684, 0.423577> + 12864: <-0.374961, -0.804154, 0.461239> + 12865: <-0.413777, -0.787421, 0.456900> + 12866: <-0.417202, -0.807394, 0.417202> + 12867: <-0.377345, -0.825100, 0.420500> + 12868: <-0.413777, -0.787421, 0.456900> + 12869: <-0.452290, -0.768679, 0.452290> + 12870: <-0.456900, -0.787421, 0.413777> + 12871: <-0.417202, -0.807394, 0.417202> + 12872: <-0.452290, -0.768679, 0.452290> + 12873: <-0.490534, -0.747688, 0.447593> + 12874: <-0.496372, -0.764976, 0.410398> + 12875: <-0.456900, -0.787421, 0.413777> + 12876: <-0.490534, -0.747688, 0.447593> + 12877: <-0.528478, -0.724109, 0.443145> + 12878: <-0.535518, -0.739812, 0.407307> + 12879: <-0.496372, -0.764976, 0.410398> + 12880: <-0.528478, -0.724109, 0.443145> + 12881: <-0.565794, -0.697667, 0.439475> + 12882: <-0.574008, -0.711772, 0.404839> + 12883: <-0.535518, -0.739812, 0.407307> + 12884: <-0.565794, -0.697667, 0.439475> + 12885: <-0.601963, -0.668312, 0.437036> + 12886: <-0.611427, -0.680859, 0.403223> + 12887: <-0.574008, -0.711772, 0.404839> + 12888: < 0.611427, -0.680859, 0.403223> + 12889: < 0.574008, -0.711772, 0.404839> + 12890: < 0.581661, -0.724825, 0.369188> + 12891: < 0.620305, -0.692544, 0.368246> + 12892: < 0.574008, -0.711772, 0.404839> + 12893: < 0.535518, -0.739812, 0.407307> + 12894: < 0.542028, -0.754169, 0.370721> + 12895: < 0.581661, -0.724825, 0.369188> + 12896: < 0.535518, -0.739812, 0.407307> + 12897: < 0.496395, -0.764964, 0.410392> + 12898: < 0.501802, -0.780568, 0.372705> + 12899: < 0.542028, -0.754169, 0.370721> + 12900: < 0.496395, -0.764964, 0.410392> + 12901: < 0.456900, -0.787421, 0.413777> + 12902: < 0.461239, -0.804154, 0.374961> + 12903: < 0.501802, -0.780568, 0.372705> + 12904: < 0.456900, -0.787421, 0.413777> + 12905: < 0.417202, -0.807394, 0.417202> + 12906: < 0.420500, -0.825100, 0.377345> + 12907: < 0.461239, -0.804154, 0.374961> + 12908: < 0.417202, -0.807394, 0.417202> + 12909: < 0.377345, -0.825100, 0.420500> + 12910: < 0.379751, -0.843551, 0.379751> + 12911: < 0.420500, -0.825100, 0.377345> + 12912: < 0.377345, -0.825100, 0.420500> + 12913: < 0.337391, -0.840684, 0.423577> + 12914: < 0.339005, -0.859750, 0.381976> + 12915: < 0.379751, -0.843551, 0.379751> + 12916: < 0.337391, -0.840684, 0.423577> + 12917: < 0.297287, -0.854324, 0.426323> + 12918: < 0.298259, -0.873840, 0.383986> + 12919: < 0.339005, -0.859750, 0.381976> + 12920: < 0.297287, -0.854324, 0.426323> + 12921: < 0.256999, -0.866124, 0.428698> + 12922: < 0.257364, -0.886018, 0.385664> + 12923: < 0.298259, -0.873840, 0.383986> + 12924: < 0.256999, -0.866124, 0.428698> + 12925: < 0.216320, -0.876208, 0.430657> + 12926: < 0.216199, -0.896382, 0.386985> + 12927: < 0.257364, -0.886018, 0.385664> + 12928: < 0.216320, -0.876208, 0.430657> + 12929: < 0.175026, -0.884654, 0.432149> + 12930: < 0.174541, -0.904997, 0.387965> + 12931: < 0.216199, -0.896382, 0.386985> + 12932: < 0.175026, -0.884654, 0.432149> + 12933: < 0.132911, -0.891405, 0.433281> + 12934: < 0.132240, -0.911854, 0.388632> + 12935: < 0.174541, -0.904997, 0.387965> + 12936: < 0.132911, -0.891405, 0.433281> + 12937: < 0.089787, -0.896437, 0.433981> + 12938: < 0.089116, -0.916918, 0.388998> + 12939: < 0.132240, -0.911854, 0.388632> + 12940: < 0.089787, -0.896437, 0.433981> + 12941: < 0.045443, -0.899583, 0.434379> + 12942: < 0.045016, -0.920061, 0.389180> + 12943: < 0.089116, -0.916918, 0.388998> + 12944: < 0.045443, -0.899583, 0.434379> + 12945: < 0.000000, -0.900667, 0.434509> + 12946: < 0.000000, -0.921135, 0.389244> + 12947: < 0.045016, -0.920061, 0.389180> + 12948: < 0.000000, -0.900667, 0.434509> + 12949: <-0.045443, -0.899583, 0.434379> + 12950: <-0.045016, -0.920061, 0.389180> + 12951: < 0.000000, -0.921135, 0.389244> + 12952: <-0.045443, -0.899583, 0.434379> + 12953: <-0.089787, -0.896437, 0.433981> + 12954: <-0.089116, -0.916918, 0.388998> + 12955: <-0.045016, -0.920061, 0.389180> + 12956: <-0.089787, -0.896437, 0.433981> + 12957: <-0.132911, -0.891405, 0.433281> + 12958: <-0.132240, -0.911854, 0.388632> + 12959: <-0.089116, -0.916918, 0.388998> + 12960: <-0.132911, -0.891405, 0.433281> + 12961: <-0.175026, -0.884654, 0.432149> + 12962: <-0.174541, -0.904997, 0.387965> + 12963: <-0.132240, -0.911854, 0.388632> + 12964: <-0.175026, -0.884654, 0.432149> + 12965: <-0.216320, -0.876208, 0.430657> + 12966: <-0.216199, -0.896382, 0.386985> + 12967: <-0.174541, -0.904997, 0.387965> + 12968: <-0.216320, -0.876208, 0.430657> + 12969: <-0.256999, -0.866124, 0.428698> + 12970: <-0.257364, -0.886018, 0.385664> + 12971: <-0.216199, -0.896382, 0.386985> + 12972: <-0.256999, -0.866124, 0.428698> + 12973: <-0.297287, -0.854324, 0.426323> + 12974: <-0.298259, -0.873840, 0.383986> + 12975: <-0.257364, -0.886018, 0.385664> + 12976: <-0.297287, -0.854324, 0.426323> + 12977: <-0.337391, -0.840684, 0.423577> + 12978: <-0.339005, -0.859750, 0.381976> + 12979: <-0.298259, -0.873840, 0.383986> + 12980: <-0.337391, -0.840684, 0.423577> + 12981: <-0.377345, -0.825100, 0.420500> + 12982: <-0.379751, -0.843551, 0.379751> + 12983: <-0.339005, -0.859750, 0.381976> + 12984: <-0.377345, -0.825100, 0.420500> + 12985: <-0.417202, -0.807394, 0.417202> + 12986: <-0.420500, -0.825100, 0.377345> + 12987: <-0.379751, -0.843551, 0.379751> + 12988: <-0.417202, -0.807394, 0.417202> + 12989: <-0.456900, -0.787421, 0.413777> + 12990: <-0.461239, -0.804154, 0.374961> + 12991: <-0.420500, -0.825100, 0.377345> + 12992: <-0.456900, -0.787421, 0.413777> + 12993: <-0.496372, -0.764976, 0.410398> + 12994: <-0.501802, -0.780568, 0.372705> + 12995: <-0.461239, -0.804154, 0.374961> + 12996: <-0.496372, -0.764976, 0.410398> + 12997: <-0.535518, -0.739812, 0.407307> + 12998: <-0.542028, -0.754169, 0.370721> + 12999: <-0.501802, -0.780568, 0.372705> + 13000: <-0.535518, -0.739812, 0.407307> + 13001: <-0.574008, -0.711772, 0.404839> + 13002: <-0.581661, -0.724825, 0.369188> + 13003: <-0.542028, -0.754169, 0.370721> + 13004: <-0.574008, -0.711772, 0.404839> + 13005: <-0.611427, -0.680859, 0.403223> + 13006: <-0.620305, -0.692544, 0.368246> + 13007: <-0.581661, -0.724825, 0.369188> + 13008: < 0.620305, -0.692544, 0.368246> + 13009: < 0.581661, -0.724825, 0.369188> + 13010: < 0.588744, -0.736915, 0.332170> + 13011: < 0.628603, -0.703467, 0.331652> + 13012: < 0.581661, -0.724825, 0.369188> + 13013: < 0.542028, -0.754169, 0.370721> + 13014: < 0.548009, -0.767292, 0.333090> + 13015: < 0.588744, -0.736915, 0.332170> + 13016: < 0.542028, -0.754169, 0.370721> + 13017: < 0.501802, -0.780568, 0.372705> + 13018: < 0.506745, -0.794636, 0.334310> + 13019: < 0.548009, -0.767292, 0.333090> + 13020: < 0.501802, -0.780568, 0.372705> + 13021: < 0.461239, -0.804154, 0.374961> + 13022: < 0.465202, -0.819039, 0.335801> + 13023: < 0.506745, -0.794636, 0.334310> + 13024: < 0.461239, -0.804154, 0.374961> + 13025: < 0.420500, -0.825100, 0.377345> + 13026: < 0.423577, -0.840684, 0.337391> + 13027: < 0.465202, -0.819039, 0.335801> + 13028: < 0.420500, -0.825100, 0.377345> + 13029: < 0.379751, -0.843551, 0.379751> + 13030: < 0.381976, -0.859750, 0.339005> + 13031: < 0.423577, -0.840684, 0.337391> + 13032: < 0.379751, -0.843551, 0.379751> + 13033: < 0.339005, -0.859750, 0.381976> + 13034: < 0.340503, -0.876422, 0.340503> + 13035: < 0.381976, -0.859750, 0.339005> + 13036: < 0.339005, -0.859750, 0.381976> + 13037: < 0.298259, -0.873840, 0.383986> + 13038: < 0.299085, -0.890906, 0.341811> + 13039: < 0.340503, -0.876422, 0.340503> + 13040: < 0.298259, -0.873840, 0.383986> + 13041: < 0.257364, -0.886018, 0.385664> + 13042: < 0.257643, -0.903367, 0.342852> + 13043: < 0.299085, -0.890906, 0.341811> + 13044: < 0.257364, -0.886018, 0.385664> + 13045: < 0.216199, -0.896382, 0.386985> + 13046: < 0.215982, -0.913949, 0.343582> + 13047: < 0.257643, -0.903367, 0.342852> + 13048: < 0.216199, -0.896382, 0.386985> + 13049: < 0.174541, -0.904997, 0.387965> + 13050: < 0.173989, -0.922682, 0.344072> + 13051: < 0.215982, -0.913949, 0.343582> + 13052: < 0.174541, -0.904997, 0.387965> + 13053: < 0.132240, -0.911854, 0.388632> + 13054: < 0.131509, -0.929596, 0.344322> + 13055: < 0.173989, -0.922682, 0.344072> + 13056: < 0.132240, -0.911854, 0.388632> + 13057: < 0.089116, -0.916918, 0.388998> + 13058: < 0.088414, -0.934648, 0.344408> + 13059: < 0.131509, -0.929596, 0.344322> + 13060: < 0.089116, -0.916918, 0.388998> + 13061: < 0.045016, -0.920061, 0.389180> + 13062: < 0.044558, -0.937762, 0.344409> + 13063: < 0.088414, -0.934648, 0.344408> + 13064: < 0.045016, -0.920061, 0.389180> + 13065: < 0.000000, -0.921135, 0.389244> + 13066: < 0.000000, -0.938821, 0.344405> + 13067: < 0.044558, -0.937762, 0.344409> + 13068: < 0.000000, -0.921135, 0.389244> + 13069: <-0.045016, -0.920061, 0.389180> + 13070: <-0.044558, -0.937762, 0.344409> + 13071: < 0.000000, -0.938821, 0.344405> + 13072: <-0.045016, -0.920061, 0.389180> + 13073: <-0.089116, -0.916918, 0.388998> + 13074: <-0.088414, -0.934648, 0.344408> + 13075: <-0.044558, -0.937762, 0.344409> + 13076: <-0.089116, -0.916918, 0.388998> + 13077: <-0.132240, -0.911854, 0.388632> + 13078: <-0.131509, -0.929596, 0.344322> + 13079: <-0.088414, -0.934648, 0.344408> + 13080: <-0.132240, -0.911854, 0.388632> + 13081: <-0.174541, -0.904997, 0.387965> + 13082: <-0.173989, -0.922682, 0.344072> + 13083: <-0.131509, -0.929596, 0.344322> + 13084: <-0.174541, -0.904997, 0.387965> + 13085: <-0.216199, -0.896382, 0.386985> + 13086: <-0.215982, -0.913949, 0.343582> + 13087: <-0.173989, -0.922682, 0.344072> + 13088: <-0.216199, -0.896382, 0.386985> + 13089: <-0.257364, -0.886018, 0.385664> + 13090: <-0.257643, -0.903367, 0.342852> + 13091: <-0.215982, -0.913949, 0.343582> + 13092: <-0.257364, -0.886018, 0.385664> + 13093: <-0.298259, -0.873840, 0.383986> + 13094: <-0.299085, -0.890906, 0.341811> + 13095: <-0.257643, -0.903367, 0.342852> + 13096: <-0.298259, -0.873840, 0.383986> + 13097: <-0.339005, -0.859750, 0.381976> + 13098: <-0.340503, -0.876422, 0.340503> + 13099: <-0.299085, -0.890906, 0.341811> + 13100: <-0.339005, -0.859750, 0.381976> + 13101: <-0.379751, -0.843551, 0.379751> + 13102: <-0.381976, -0.859750, 0.339005> + 13103: <-0.340503, -0.876422, 0.340503> + 13104: <-0.379751, -0.843551, 0.379751> + 13105: <-0.420500, -0.825100, 0.377345> + 13106: <-0.423577, -0.840684, 0.337391> + 13107: <-0.381976, -0.859750, 0.339005> + 13108: <-0.420500, -0.825100, 0.377345> + 13109: <-0.461239, -0.804154, 0.374961> + 13110: <-0.465202, -0.819039, 0.335801> + 13111: <-0.423577, -0.840684, 0.337391> + 13112: <-0.461239, -0.804154, 0.374961> + 13113: <-0.501802, -0.780568, 0.372705> + 13114: <-0.506740, -0.794627, 0.334337> + 13115: <-0.465202, -0.819039, 0.335801> + 13116: <-0.501802, -0.780568, 0.372705> + 13117: <-0.542028, -0.754169, 0.370721> + 13118: <-0.548009, -0.767292, 0.333090> + 13119: <-0.506740, -0.794627, 0.334337> + 13120: <-0.542028, -0.754169, 0.370721> + 13121: <-0.581661, -0.724825, 0.369188> + 13122: <-0.588744, -0.736915, 0.332170> + 13123: <-0.548009, -0.767292, 0.333090> + 13124: <-0.581661, -0.724825, 0.369188> + 13125: <-0.620305, -0.692544, 0.368246> + 13126: <-0.628603, -0.703467, 0.331652> + 13127: <-0.588744, -0.736915, 0.332170> + 13128: < 0.628603, -0.703467, 0.331652> + 13129: < 0.588744, -0.736915, 0.332170> + 13130: < 0.595158, -0.747816, 0.294207> + 13131: < 0.636150, -0.713396, 0.293904> + 13132: < 0.588744, -0.736915, 0.332170> + 13133: < 0.548009, -0.767292, 0.333090> + 13134: < 0.553415, -0.779017, 0.294729> + 13135: < 0.595158, -0.747816, 0.294207> + 13136: < 0.548009, -0.767292, 0.333090> + 13137: < 0.506745, -0.794636, 0.334310> + 13138: < 0.511198, -0.807082, 0.295457> + 13139: < 0.553415, -0.779017, 0.294729> + 13140: < 0.506745, -0.794636, 0.334310> + 13141: < 0.465202, -0.819039, 0.335801> + 13142: < 0.468770, -0.832128, 0.296339> + 13143: < 0.511198, -0.807082, 0.295457> + 13144: < 0.465202, -0.819039, 0.335801> + 13145: < 0.423577, -0.840684, 0.337391> + 13146: < 0.426323, -0.854324, 0.297287> + 13147: < 0.468770, -0.832128, 0.296339> + 13148: < 0.423577, -0.840684, 0.337391> + 13149: < 0.381976, -0.859750, 0.339005> + 13150: < 0.383989, -0.873848, 0.298231> + 13151: < 0.426323, -0.854324, 0.297287> + 13152: < 0.381976, -0.859750, 0.339005> + 13153: < 0.340503, -0.876422, 0.340503> + 13154: < 0.341811, -0.890906, 0.299085> + 13155: < 0.383989, -0.873848, 0.298231> + 13156: < 0.340503, -0.876422, 0.340503> + 13157: < 0.299085, -0.890906, 0.341811> + 13158: < 0.299762, -0.905696, 0.299762> + 13159: < 0.341811, -0.890906, 0.299085> + 13160: < 0.299085, -0.890906, 0.341811> + 13161: < 0.257643, -0.903367, 0.342852> + 13162: < 0.257736, -0.918390, 0.300219> + 13163: < 0.299762, -0.905696, 0.299762> + 13164: < 0.257643, -0.903367, 0.342852> + 13165: < 0.215982, -0.913949, 0.343582> + 13166: < 0.215649, -0.929096, 0.300461> + 13167: < 0.257736, -0.918390, 0.300219> + 13168: < 0.215982, -0.913949, 0.343582> + 13169: < 0.173989, -0.922682, 0.344072> + 13170: < 0.173351, -0.937897, 0.300496> + 13171: < 0.215649, -0.929096, 0.300461> + 13172: < 0.173989, -0.922682, 0.344072> + 13173: < 0.131509, -0.929596, 0.344322> + 13174: < 0.130743, -0.944802, 0.300427> + 13175: < 0.173351, -0.937897, 0.300496> + 13176: < 0.131509, -0.929596, 0.344322> + 13177: < 0.088414, -0.934648, 0.344408> + 13178: < 0.087712, -0.949820, 0.300248> + 13179: < 0.130743, -0.944802, 0.300427> + 13180: < 0.088414, -0.934648, 0.344408> + 13181: < 0.044558, -0.937762, 0.344409> + 13182: < 0.044130, -0.952889, 0.300092> + 13183: < 0.087712, -0.949820, 0.300248> + 13184: < 0.044558, -0.937762, 0.344409> + 13185: < 0.000000, -0.938821, 0.344405> + 13186: < 0.000000, -0.953921, 0.300059> + 13187: < 0.044130, -0.952889, 0.300092> + 13188: < 0.000000, -0.938821, 0.344405> + 13189: <-0.044558, -0.937762, 0.344409> + 13190: <-0.044130, -0.952889, 0.300092> + 13191: < 0.000000, -0.953921, 0.300059> + 13192: <-0.044558, -0.937762, 0.344409> + 13193: <-0.088414, -0.934648, 0.344408> + 13194: <-0.087712, -0.949820, 0.300248> + 13195: <-0.044130, -0.952889, 0.300092> + 13196: <-0.088414, -0.934648, 0.344408> + 13197: <-0.131509, -0.929596, 0.344322> + 13198: <-0.130743, -0.944802, 0.300427> + 13199: <-0.087712, -0.949820, 0.300248> + 13200: <-0.131509, -0.929596, 0.344322> + 13201: <-0.173989, -0.922682, 0.344072> + 13202: <-0.173351, -0.937897, 0.300496> + 13203: <-0.130743, -0.944802, 0.300427> + 13204: <-0.173989, -0.922682, 0.344072> + 13205: <-0.215982, -0.913949, 0.343582> + 13206: <-0.215649, -0.929096, 0.300461> + 13207: <-0.173351, -0.937897, 0.300496> + 13208: <-0.215982, -0.913949, 0.343582> + 13209: <-0.257643, -0.903367, 0.342852> + 13210: <-0.257736, -0.918390, 0.300219> + 13211: <-0.215649, -0.929096, 0.300461> + 13212: <-0.257643, -0.903367, 0.342852> + 13213: <-0.299085, -0.890906, 0.341811> + 13214: <-0.299762, -0.905696, 0.299762> + 13215: <-0.257736, -0.918390, 0.300219> + 13216: <-0.299085, -0.890906, 0.341811> + 13217: <-0.340503, -0.876422, 0.340503> + 13218: <-0.341811, -0.890906, 0.299085> + 13219: <-0.299762, -0.905696, 0.299762> + 13220: <-0.340503, -0.876422, 0.340503> + 13221: <-0.381976, -0.859750, 0.339005> + 13222: <-0.383986, -0.873840, 0.298259> + 13223: <-0.341811, -0.890906, 0.299085> + 13224: <-0.381976, -0.859750, 0.339005> + 13225: <-0.423577, -0.840684, 0.337391> + 13226: <-0.426323, -0.854324, 0.297287> + 13227: <-0.383986, -0.873840, 0.298259> + 13228: <-0.423577, -0.840684, 0.337391> + 13229: <-0.465202, -0.819039, 0.335801> + 13230: <-0.468770, -0.832128, 0.296339> + 13231: <-0.426323, -0.854324, 0.297287> + 13232: <-0.465202, -0.819039, 0.335801> + 13233: <-0.506740, -0.794627, 0.334337> + 13234: <-0.511198, -0.807082, 0.295457> + 13235: <-0.468770, -0.832128, 0.296339> + 13236: <-0.506740, -0.794627, 0.334337> + 13237: <-0.548009, -0.767292, 0.333090> + 13238: <-0.553415, -0.779017, 0.294729> + 13239: <-0.511198, -0.807082, 0.295457> + 13240: <-0.548009, -0.767292, 0.333090> + 13241: <-0.588744, -0.736915, 0.332170> + 13242: <-0.595158, -0.747816, 0.294207> + 13243: <-0.553415, -0.779017, 0.294729> + 13244: <-0.588744, -0.736915, 0.332170> + 13245: <-0.628603, -0.703467, 0.331652> + 13246: <-0.636150, -0.713396, 0.293904> + 13247: <-0.595158, -0.747816, 0.294207> + 13248: < 0.636150, -0.713396, 0.293904> + 13249: < 0.595158, -0.747816, 0.294207> + 13250: < 0.600829, -0.757361, 0.255750> + 13251: < 0.642833, -0.722093, 0.255632> + 13252: < 0.595158, -0.747816, 0.294207> + 13253: < 0.553415, -0.779017, 0.294729> + 13254: < 0.558172, -0.789266, 0.255937> + 13255: < 0.600829, -0.757361, 0.255750> + 13256: < 0.553415, -0.779017, 0.294729> + 13257: < 0.511198, -0.807082, 0.295457> + 13258: < 0.515110, -0.817925, 0.256243> + 13259: < 0.558172, -0.789266, 0.255937> + 13260: < 0.511198, -0.807082, 0.295457> + 13261: < 0.468770, -0.832128, 0.296339> + 13262: < 0.471888, -0.843490, 0.256606> + 13263: < 0.515110, -0.817925, 0.256243> + 13264: < 0.468770, -0.832128, 0.296339> + 13265: < 0.426323, -0.854324, 0.297287> + 13266: < 0.428698, -0.866124, 0.256999> + 13267: < 0.471888, -0.843490, 0.256606> + 13268: < 0.426323, -0.854324, 0.297287> + 13269: < 0.383989, -0.873848, 0.298231> + 13270: < 0.385664, -0.886018, 0.257364> + 13271: < 0.428698, -0.866124, 0.256999> + 13272: < 0.383989, -0.873848, 0.298231> + 13273: < 0.341811, -0.890906, 0.299085> + 13274: < 0.342852, -0.903367, 0.257643> + 13275: < 0.385664, -0.886018, 0.257364> + 13276: < 0.341811, -0.890906, 0.299085> + 13277: < 0.299762, -0.905696, 0.299762> + 13278: < 0.300219, -0.918390, 0.257736> + 13279: < 0.342852, -0.903367, 0.257643> + 13280: < 0.299762, -0.905696, 0.299762> + 13281: < 0.257736, -0.918390, 0.300219> + 13282: < 0.257702, -0.931225, 0.257702> + 13283: < 0.300219, -0.918390, 0.257736> + 13284: < 0.257736, -0.918390, 0.300219> + 13285: < 0.215649, -0.929096, 0.300461> + 13286: < 0.215220, -0.942000, 0.257519> + 13287: < 0.257702, -0.931225, 0.257702> + 13288: < 0.215649, -0.929096, 0.300461> + 13289: < 0.173351, -0.937897, 0.300496> + 13290: < 0.172679, -0.950800, 0.257217> + 13291: < 0.215220, -0.942000, 0.257519> + 13292: < 0.173351, -0.937897, 0.300496> + 13293: < 0.130743, -0.944802, 0.300427> + 13294: < 0.129981, -0.957663, 0.256880> + 13295: < 0.172679, -0.950800, 0.257217> + 13296: < 0.130743, -0.944802, 0.300427> + 13297: < 0.087712, -0.949820, 0.300248> + 13298: < 0.087041, -0.962605, 0.256544> + 13299: < 0.129981, -0.957663, 0.256880> + 13300: < 0.087712, -0.949820, 0.300248> + 13301: < 0.044130, -0.952889, 0.300092> + 13302: < 0.043703, -0.965618, 0.256267> + 13303: < 0.087041, -0.962605, 0.256544> + 13304: < 0.044130, -0.952889, 0.300092> + 13305: < 0.000000, -0.953921, 0.300059> + 13306: < 0.000000, -0.966630, 0.256177> + 13307: < 0.043703, -0.965618, 0.256267> + 13308: < 0.000000, -0.953921, 0.300059> + 13309: <-0.044130, -0.952889, 0.300092> + 13310: <-0.043703, -0.965618, 0.256267> + 13311: < 0.000000, -0.966630, 0.256177> + 13312: <-0.044130, -0.952889, 0.300092> + 13313: <-0.087712, -0.949820, 0.300248> + 13314: <-0.087041, -0.962605, 0.256544> + 13315: <-0.043703, -0.965618, 0.256267> + 13316: <-0.087712, -0.949820, 0.300248> + 13317: <-0.130743, -0.944802, 0.300427> + 13318: <-0.129981, -0.957663, 0.256880> + 13319: <-0.087041, -0.962605, 0.256544> + 13320: <-0.130743, -0.944802, 0.300427> + 13321: <-0.173351, -0.937897, 0.300496> + 13322: <-0.172679, -0.950800, 0.257217> + 13323: <-0.129981, -0.957663, 0.256880> + 13324: <-0.173351, -0.937897, 0.300496> + 13325: <-0.215649, -0.929096, 0.300461> + 13326: <-0.215220, -0.942000, 0.257519> + 13327: <-0.172679, -0.950800, 0.257217> + 13328: <-0.215649, -0.929096, 0.300461> + 13329: <-0.257736, -0.918390, 0.300219> + 13330: <-0.257702, -0.931225, 0.257702> + 13331: <-0.215220, -0.942000, 0.257519> + 13332: <-0.257736, -0.918390, 0.300219> + 13333: <-0.299762, -0.905696, 0.299762> + 13334: <-0.300219, -0.918390, 0.257736> + 13335: <-0.257702, -0.931225, 0.257702> + 13336: <-0.299762, -0.905696, 0.299762> + 13337: <-0.341811, -0.890906, 0.299085> + 13338: <-0.342852, -0.903367, 0.257643> + 13339: <-0.300219, -0.918390, 0.257736> + 13340: <-0.341811, -0.890906, 0.299085> + 13341: <-0.383986, -0.873840, 0.298259> + 13342: <-0.385664, -0.886018, 0.257364> + 13343: <-0.342852, -0.903367, 0.257643> + 13344: <-0.383986, -0.873840, 0.298259> + 13345: <-0.426323, -0.854324, 0.297287> + 13346: <-0.428698, -0.866124, 0.256999> + 13347: <-0.385664, -0.886018, 0.257364> + 13348: <-0.426323, -0.854324, 0.297287> + 13349: <-0.468770, -0.832128, 0.296339> + 13350: <-0.471888, -0.843490, 0.256606> + 13351: <-0.428698, -0.866124, 0.256999> + 13352: <-0.468770, -0.832128, 0.296339> + 13353: <-0.511198, -0.807082, 0.295457> + 13354: <-0.515110, -0.817925, 0.256243> + 13355: <-0.471888, -0.843490, 0.256606> + 13356: <-0.511198, -0.807082, 0.295457> + 13357: <-0.553415, -0.779017, 0.294729> + 13358: <-0.558172, -0.789266, 0.255937> + 13359: <-0.515110, -0.817925, 0.256243> + 13360: <-0.553415, -0.779017, 0.294729> + 13361: <-0.595158, -0.747816, 0.294207> + 13362: <-0.600829, -0.757361, 0.255750> + 13363: <-0.558172, -0.789266, 0.255937> + 13364: <-0.595158, -0.747816, 0.294207> + 13365: <-0.636150, -0.713396, 0.293904> + 13366: <-0.642833, -0.722093, 0.255632> + 13367: <-0.600829, -0.757361, 0.255750> + 13368: < 0.642833, -0.722093, 0.255632> + 13369: < 0.600829, -0.757361, 0.255750> + 13370: < 0.605748, -0.765608, 0.216596> + 13371: < 0.648606, -0.729636, 0.216660> + 13372: < 0.600829, -0.757361, 0.255750> + 13373: < 0.558172, -0.789266, 0.255937> + 13374: < 0.562257, -0.798110, 0.216534> + 13375: < 0.605748, -0.765608, 0.216596> + 13376: < 0.558172, -0.789266, 0.255937> + 13377: < 0.515110, -0.817925, 0.256243> + 13378: < 0.518435, -0.827263, 0.216475> + 13379: < 0.562257, -0.798110, 0.216534> + 13380: < 0.515110, -0.817925, 0.256243> + 13381: < 0.471888, -0.843490, 0.256606> + 13382: < 0.474515, -0.853230, 0.216413> + 13383: < 0.518435, -0.827263, 0.216475> + 13384: < 0.471888, -0.843490, 0.256606> + 13385: < 0.428698, -0.866124, 0.256999> + 13386: < 0.430657, -0.876208, 0.216320> + 13387: < 0.474515, -0.853230, 0.216413> + 13388: < 0.428698, -0.866124, 0.256999> + 13389: < 0.385664, -0.886018, 0.257364> + 13390: < 0.386985, -0.896382, 0.216199> + 13391: < 0.430657, -0.876208, 0.216320> + 13392: < 0.385664, -0.886018, 0.257364> + 13393: < 0.342852, -0.903367, 0.257643> + 13394: < 0.343582, -0.913949, 0.215982> + 13395: < 0.386985, -0.896382, 0.216199> + 13396: < 0.342852, -0.903367, 0.257643> + 13397: < 0.300219, -0.918390, 0.257736> + 13398: < 0.300461, -0.929096, 0.215649> + 13399: < 0.343582, -0.913949, 0.215982> + 13400: < 0.300219, -0.918390, 0.257736> + 13401: < 0.257702, -0.931225, 0.257702> + 13402: < 0.257519, -0.942000, 0.215220> + 13403: < 0.300461, -0.929096, 0.215649> + 13404: < 0.257702, -0.931225, 0.257702> + 13405: < 0.215220, -0.942000, 0.257519> + 13406: < 0.214732, -0.952775, 0.214732> + 13407: < 0.257519, -0.942000, 0.215220> + 13408: < 0.215220, -0.942000, 0.257519> + 13409: < 0.172679, -0.950800, 0.257217> + 13410: < 0.172005, -0.961530, 0.214182> + 13411: < 0.214732, -0.952775, 0.214732> + 13412: < 0.172679, -0.950800, 0.257217> + 13413: < 0.129981, -0.957663, 0.256880> + 13414: < 0.129250, -0.968319, 0.213666> + 13415: < 0.172005, -0.961530, 0.214182> + 13416: < 0.129981, -0.957663, 0.256880> + 13417: < 0.087041, -0.962605, 0.256544> + 13418: < 0.086398, -0.973180, 0.213204> + 13419: < 0.129250, -0.968319, 0.213666> + 13420: < 0.087041, -0.962605, 0.256544> + 13421: < 0.043703, -0.965618, 0.256267> + 13422: < 0.043306, -0.976120, 0.212870> + 13423: < 0.086398, -0.973180, 0.213204> + 13424: < 0.043703, -0.965618, 0.256267> + 13425: < 0.000000, -0.966630, 0.256177> + 13426: < 0.000000, -0.977107, 0.212750> + 13427: < 0.043306, -0.976120, 0.212870> + 13428: < 0.000000, -0.966630, 0.256177> + 13429: <-0.043703, -0.965618, 0.256267> + 13430: <-0.043306, -0.976120, 0.212870> + 13431: < 0.000000, -0.977107, 0.212750> + 13432: <-0.043703, -0.965618, 0.256267> + 13433: <-0.087041, -0.962605, 0.256544> + 13434: <-0.086398, -0.973180, 0.213204> + 13435: <-0.043306, -0.976120, 0.212870> + 13436: <-0.087041, -0.962605, 0.256544> + 13437: <-0.129981, -0.957663, 0.256880> + 13438: <-0.129250, -0.968319, 0.213666> + 13439: <-0.086398, -0.973180, 0.213204> + 13440: <-0.129981, -0.957663, 0.256880> + 13441: <-0.172679, -0.950800, 0.257217> + 13442: <-0.172005, -0.961530, 0.214182> + 13443: <-0.129250, -0.968319, 0.213666> + 13444: <-0.172679, -0.950800, 0.257217> + 13445: <-0.215220, -0.942000, 0.257519> + 13446: <-0.214732, -0.952775, 0.214732> + 13447: <-0.172005, -0.961530, 0.214182> + 13448: <-0.215220, -0.942000, 0.257519> + 13449: <-0.257702, -0.931225, 0.257702> + 13450: <-0.257519, -0.942000, 0.215220> + 13451: <-0.214732, -0.952775, 0.214732> + 13452: <-0.257702, -0.931225, 0.257702> + 13453: <-0.300219, -0.918390, 0.257736> + 13454: <-0.300461, -0.929096, 0.215649> + 13455: <-0.257519, -0.942000, 0.215220> + 13456: <-0.300219, -0.918390, 0.257736> + 13457: <-0.342852, -0.903367, 0.257643> + 13458: <-0.343582, -0.913949, 0.215982> + 13459: <-0.300461, -0.929096, 0.215649> + 13460: <-0.342852, -0.903367, 0.257643> + 13461: <-0.385664, -0.886018, 0.257364> + 13462: <-0.386985, -0.896382, 0.216199> + 13463: <-0.343582, -0.913949, 0.215982> + 13464: <-0.385664, -0.886018, 0.257364> + 13465: <-0.428698, -0.866124, 0.256999> + 13466: <-0.430657, -0.876208, 0.216320> + 13467: <-0.386985, -0.896382, 0.216199> + 13468: <-0.428698, -0.866124, 0.256999> + 13469: <-0.471888, -0.843490, 0.256606> + 13470: <-0.474515, -0.853230, 0.216413> + 13471: <-0.430657, -0.876208, 0.216320> + 13472: <-0.471888, -0.843490, 0.256606> + 13473: <-0.515110, -0.817925, 0.256243> + 13474: <-0.518435, -0.827263, 0.216475> + 13475: <-0.474515, -0.853230, 0.216413> + 13476: <-0.515110, -0.817925, 0.256243> + 13477: <-0.558172, -0.789266, 0.255937> + 13478: <-0.562257, -0.798110, 0.216534> + 13479: <-0.518435, -0.827263, 0.216475> + 13480: <-0.558172, -0.789266, 0.255937> + 13481: <-0.600829, -0.757361, 0.255750> + 13482: <-0.605748, -0.765608, 0.216596> + 13483: <-0.562257, -0.798110, 0.216534> + 13484: <-0.600829, -0.757361, 0.255750> + 13485: <-0.642833, -0.722093, 0.255632> + 13486: <-0.648606, -0.729636, 0.216660> + 13487: <-0.605748, -0.765608, 0.216596> + 13488: < 0.648606, -0.729636, 0.216660> + 13489: < 0.605748, -0.765608, 0.216596> + 13490: < 0.609892, -0.772589, 0.176461> + 13491: < 0.653502, -0.736025, 0.176644> + 13492: < 0.605748, -0.765608, 0.216596> + 13493: < 0.562257, -0.798110, 0.216534> + 13494: < 0.565675, -0.805587, 0.176188> + 13495: < 0.609892, -0.772589, 0.176461> + 13496: < 0.562257, -0.798110, 0.216534> + 13497: < 0.518435, -0.827263, 0.216475> + 13498: < 0.521180, -0.835133, 0.175853> + 13499: < 0.565675, -0.805587, 0.176188> + 13500: < 0.518435, -0.827263, 0.216475> + 13501: < 0.474515, -0.853230, 0.216413> + 13502: < 0.476614, -0.861427, 0.175453> + 13503: < 0.521180, -0.835133, 0.175853> + 13504: < 0.474515, -0.853230, 0.216413> + 13505: < 0.430657, -0.876208, 0.216320> + 13506: < 0.432149, -0.884654, 0.175026> + 13507: < 0.476614, -0.861427, 0.175453> + 13508: < 0.430657, -0.876208, 0.216320> + 13509: < 0.386985, -0.896382, 0.216199> + 13510: < 0.387965, -0.904997, 0.174541> + 13511: < 0.432149, -0.884654, 0.175026> + 13512: < 0.386985, -0.896382, 0.216199> + 13513: < 0.343582, -0.913949, 0.215982> + 13514: < 0.344072, -0.922682, 0.173989> + 13515: < 0.387965, -0.904997, 0.174541> + 13516: < 0.343582, -0.913949, 0.215982> + 13517: < 0.300461, -0.929096, 0.215649> + 13518: < 0.300496, -0.937897, 0.173351> + 13519: < 0.344072, -0.922682, 0.173989> + 13520: < 0.300461, -0.929096, 0.215649> + 13521: < 0.257519, -0.942000, 0.215220> + 13522: < 0.257217, -0.950800, 0.172679> + 13523: < 0.300496, -0.937897, 0.173351> + 13524: < 0.257519, -0.942000, 0.215220> + 13525: < 0.214732, -0.952775, 0.214732> + 13526: < 0.214182, -0.961530, 0.172005> + 13527: < 0.257217, -0.950800, 0.172679> + 13528: < 0.214732, -0.952775, 0.214732> + 13529: < 0.172005, -0.961530, 0.214182> + 13530: < 0.171305, -0.970211, 0.171305> + 13531: < 0.214182, -0.961530, 0.172005> + 13532: < 0.172005, -0.961530, 0.214182> + 13533: < 0.129250, -0.968319, 0.213666> + 13534: < 0.128545, -0.976904, 0.170691> + 13535: < 0.171305, -0.970211, 0.171305> + 13536: < 0.129250, -0.968319, 0.213666> + 13537: < 0.086398, -0.973180, 0.213204> + 13538: < 0.085788, -0.981668, 0.170203> + 13539: < 0.128545, -0.976904, 0.170691> + 13540: < 0.086398, -0.973180, 0.213204> + 13541: < 0.043306, -0.976120, 0.212870> + 13542: < 0.042970, -0.984530, 0.169866> + 13543: < 0.085788, -0.981668, 0.170203> + 13544: < 0.043306, -0.976120, 0.212870> + 13545: < 0.000000, -0.977107, 0.212750> + 13546: < 0.000000, -0.985488, 0.169746> + 13547: < 0.042970, -0.984530, 0.169866> + 13548: < 0.000000, -0.977107, 0.212750> + 13549: <-0.043306, -0.976120, 0.212870> + 13550: <-0.042970, -0.984530, 0.169866> + 13551: < 0.000000, -0.985488, 0.169746> + 13552: <-0.043306, -0.976120, 0.212870> + 13553: <-0.086398, -0.973180, 0.213204> + 13554: <-0.085788, -0.981668, 0.170203> + 13555: <-0.042970, -0.984530, 0.169866> + 13556: <-0.086398, -0.973180, 0.213204> + 13557: <-0.129250, -0.968319, 0.213666> + 13558: <-0.128545, -0.976904, 0.170691> + 13559: <-0.085788, -0.981668, 0.170203> + 13560: <-0.129250, -0.968319, 0.213666> + 13561: <-0.172005, -0.961530, 0.214182> + 13562: <-0.171305, -0.970211, 0.171305> + 13563: <-0.128545, -0.976904, 0.170691> + 13564: <-0.172005, -0.961530, 0.214182> + 13565: <-0.214732, -0.952775, 0.214732> + 13566: <-0.214182, -0.961530, 0.172005> + 13567: <-0.171305, -0.970211, 0.171305> + 13568: <-0.214732, -0.952775, 0.214732> + 13569: <-0.257519, -0.942000, 0.215220> + 13570: <-0.257217, -0.950800, 0.172679> + 13571: <-0.214182, -0.961530, 0.172005> + 13572: <-0.257519, -0.942000, 0.215220> + 13573: <-0.300461, -0.929096, 0.215649> + 13574: <-0.300496, -0.937897, 0.173351> + 13575: <-0.257217, -0.950800, 0.172679> + 13576: <-0.300461, -0.929096, 0.215649> + 13577: <-0.343582, -0.913949, 0.215982> + 13578: <-0.344072, -0.922682, 0.173989> + 13579: <-0.300496, -0.937897, 0.173351> + 13580: <-0.343582, -0.913949, 0.215982> + 13581: <-0.386985, -0.896382, 0.216199> + 13582: <-0.387965, -0.904997, 0.174541> + 13583: <-0.344072, -0.922682, 0.173989> + 13584: <-0.386985, -0.896382, 0.216199> + 13585: <-0.430657, -0.876208, 0.216320> + 13586: <-0.432149, -0.884654, 0.175026> + 13587: <-0.387965, -0.904997, 0.174541> + 13588: <-0.430657, -0.876208, 0.216320> + 13589: <-0.474515, -0.853230, 0.216413> + 13590: <-0.476614, -0.861427, 0.175453> + 13591: <-0.432149, -0.884654, 0.175026> + 13592: <-0.474515, -0.853230, 0.216413> + 13593: <-0.518435, -0.827263, 0.216475> + 13594: <-0.521180, -0.835133, 0.175853> + 13595: <-0.476614, -0.861427, 0.175453> + 13596: <-0.518435, -0.827263, 0.216475> + 13597: <-0.562257, -0.798110, 0.216534> + 13598: <-0.565675, -0.805587, 0.176188> + 13599: <-0.521180, -0.835133, 0.175853> + 13600: <-0.562257, -0.798110, 0.216534> + 13601: <-0.605748, -0.765608, 0.216596> + 13602: <-0.609892, -0.772589, 0.176461> + 13603: <-0.565675, -0.805587, 0.176188> + 13604: <-0.605748, -0.765608, 0.216596> + 13605: <-0.648606, -0.729636, 0.216660> + 13606: <-0.653502, -0.736025, 0.176644> + 13607: <-0.609892, -0.772589, 0.176461> + 13608: < 0.653502, -0.736025, 0.176644> + 13609: < 0.609892, -0.772589, 0.176461> + 13610: < 0.613218, -0.778295, 0.134985> + 13611: < 0.657468, -0.741243, 0.135260> + 13612: < 0.609892, -0.772589, 0.176461> + 13613: < 0.565675, -0.805587, 0.176188> + 13614: < 0.568382, -0.811677, 0.134618> + 13615: < 0.613218, -0.778295, 0.134985> + 13616: < 0.565675, -0.805587, 0.176188> + 13617: < 0.521180, -0.835133, 0.175853> + 13618: < 0.523307, -0.841527, 0.134100> + 13619: < 0.568382, -0.811677, 0.134618> + 13620: < 0.521180, -0.835133, 0.175853> + 13621: < 0.476614, -0.861427, 0.175453> + 13622: < 0.478208, -0.868033, 0.133553> + 13623: < 0.523307, -0.841527, 0.134100> + 13624: < 0.476614, -0.861427, 0.175453> + 13625: < 0.432149, -0.884654, 0.175026> + 13626: < 0.433281, -0.891405, 0.132911> + 13627: < 0.478208, -0.868033, 0.133553> + 13628: < 0.432149, -0.884654, 0.175026> + 13629: < 0.387965, -0.904997, 0.174541> + 13630: < 0.388632, -0.911854, 0.132240> + 13631: < 0.433281, -0.891405, 0.132911> + 13632: < 0.387965, -0.904997, 0.174541> + 13633: < 0.344072, -0.922682, 0.173989> + 13634: < 0.344322, -0.929596, 0.131509> + 13635: < 0.388632, -0.911854, 0.132240> + 13636: < 0.344072, -0.922682, 0.173989> + 13637: < 0.300496, -0.937897, 0.173351> + 13638: < 0.300427, -0.944802, 0.130743> + 13639: < 0.344322, -0.929596, 0.131509> + 13640: < 0.300496, -0.937897, 0.173351> + 13641: < 0.257217, -0.950800, 0.172679> + 13642: < 0.256880, -0.957663, 0.129981> + 13643: < 0.300427, -0.944802, 0.130743> + 13644: < 0.257217, -0.950800, 0.172679> + 13645: < 0.214182, -0.961530, 0.172005> + 13646: < 0.213666, -0.968319, 0.129250> + 13647: < 0.256880, -0.957663, 0.129981> + 13648: < 0.214182, -0.961530, 0.172005> + 13649: < 0.171305, -0.970211, 0.171305> + 13650: < 0.170691, -0.976904, 0.128545> + 13651: < 0.213666, -0.968319, 0.129250> + 13652: < 0.171305, -0.970211, 0.171305> + 13653: < 0.128545, -0.976904, 0.170691> + 13654: < 0.127935, -0.983497, 0.127935> + 13655: < 0.170691, -0.976904, 0.128545> + 13656: < 0.128545, -0.976904, 0.170691> + 13657: < 0.085788, -0.981668, 0.170203> + 13658: < 0.085300, -0.988171, 0.127447> + 13659: < 0.127935, -0.983497, 0.127935> + 13660: < 0.085788, -0.981668, 0.170203> + 13661: < 0.042970, -0.984530, 0.169866> + 13662: < 0.042666, -0.990966, 0.127144> + 13663: < 0.085300, -0.988171, 0.127447> + 13664: < 0.042970, -0.984530, 0.169866> + 13665: < 0.000000, -0.985488, 0.169746> + 13666: < 0.000000, -0.991900, 0.127020> + 13667: < 0.042666, -0.990966, 0.127144> + 13668: < 0.000000, -0.985488, 0.169746> + 13669: <-0.042970, -0.984530, 0.169866> + 13670: <-0.042666, -0.990966, 0.127144> + 13671: < 0.000000, -0.991900, 0.127020> + 13672: <-0.042970, -0.984530, 0.169866> + 13673: <-0.085788, -0.981668, 0.170203> + 13674: <-0.085300, -0.988171, 0.127447> + 13675: <-0.042666, -0.990966, 0.127144> + 13676: <-0.085788, -0.981668, 0.170203> + 13677: <-0.128545, -0.976904, 0.170691> + 13678: <-0.127935, -0.983497, 0.127935> + 13679: <-0.085300, -0.988171, 0.127447> + 13680: <-0.128545, -0.976904, 0.170691> + 13681: <-0.171305, -0.970211, 0.171305> + 13682: <-0.170691, -0.976904, 0.128545> + 13683: <-0.127935, -0.983497, 0.127935> + 13684: <-0.171305, -0.970211, 0.171305> + 13685: <-0.214182, -0.961530, 0.172005> + 13686: <-0.213666, -0.968319, 0.129250> + 13687: <-0.170691, -0.976904, 0.128545> + 13688: <-0.214182, -0.961530, 0.172005> + 13689: <-0.257217, -0.950800, 0.172679> + 13690: <-0.256880, -0.957663, 0.129981> + 13691: <-0.213666, -0.968319, 0.129250> + 13692: <-0.257217, -0.950800, 0.172679> + 13693: <-0.300496, -0.937897, 0.173351> + 13694: <-0.300427, -0.944802, 0.130743> + 13695: <-0.256880, -0.957663, 0.129981> + 13696: <-0.300496, -0.937897, 0.173351> + 13697: <-0.344072, -0.922682, 0.173989> + 13698: <-0.344322, -0.929596, 0.131509> + 13699: <-0.300427, -0.944802, 0.130743> + 13700: <-0.344072, -0.922682, 0.173989> + 13701: <-0.387965, -0.904997, 0.174541> + 13702: <-0.388632, -0.911854, 0.132240> + 13703: <-0.344322, -0.929596, 0.131509> + 13704: <-0.387965, -0.904997, 0.174541> + 13705: <-0.432149, -0.884654, 0.175026> + 13706: <-0.433256, -0.891416, 0.132913> + 13707: <-0.388632, -0.911854, 0.132240> + 13708: <-0.432149, -0.884654, 0.175026> + 13709: <-0.476614, -0.861427, 0.175453> + 13710: <-0.478208, -0.868033, 0.133553> + 13711: <-0.433256, -0.891416, 0.132913> + 13712: <-0.476614, -0.861427, 0.175453> + 13713: <-0.521180, -0.835133, 0.175853> + 13714: <-0.523307, -0.841527, 0.134100> + 13715: <-0.478208, -0.868033, 0.133553> + 13716: <-0.521180, -0.835133, 0.175853> + 13717: <-0.565675, -0.805587, 0.176188> + 13718: <-0.568382, -0.811677, 0.134618> + 13719: <-0.523307, -0.841527, 0.134100> + 13720: <-0.565675, -0.805587, 0.176188> + 13721: <-0.609892, -0.772589, 0.176461> + 13722: <-0.613215, -0.778292, 0.135015> + 13723: <-0.568382, -0.811677, 0.134618> + 13724: <-0.609892, -0.772589, 0.176461> + 13725: <-0.653502, -0.736025, 0.176644> + 13726: <-0.657468, -0.741243, 0.135260> + 13727: <-0.613215, -0.778292, 0.135015> + 13728: < 0.657468, -0.741243, 0.135260> + 13729: < 0.613218, -0.778295, 0.134985> + 13730: < 0.615697, -0.782607, 0.091894> + 13731: < 0.660463, -0.745184, 0.092137> + 13732: < 0.613218, -0.778295, 0.134985> + 13733: < 0.568382, -0.811677, 0.134618> + 13734: < 0.570377, -0.816271, 0.091497> + 13735: < 0.615697, -0.782607, 0.091894> + 13736: < 0.568382, -0.811677, 0.134618> + 13737: < 0.523307, -0.841527, 0.134100> + 13738: < 0.524836, -0.846324, 0.091008> + 13739: < 0.570377, -0.816271, 0.091497> + 13740: < 0.523307, -0.841527, 0.134100> + 13741: < 0.478208, -0.868033, 0.133553> + 13742: < 0.479307, -0.872976, 0.090429> + 13743: < 0.524836, -0.846324, 0.091008> + 13744: < 0.478208, -0.868033, 0.133553> + 13745: < 0.433281, -0.891405, 0.132911> + 13746: < 0.433981, -0.896437, 0.089787> + 13747: < 0.479307, -0.872976, 0.090429> + 13748: < 0.433281, -0.891405, 0.132911> + 13749: < 0.388632, -0.911854, 0.132240> + 13750: < 0.388998, -0.916918, 0.089116> + 13751: < 0.433981, -0.896437, 0.089787> + 13752: < 0.388632, -0.911854, 0.132240> + 13753: < 0.344322, -0.929596, 0.131509> + 13754: < 0.344408, -0.934648, 0.088414> + 13755: < 0.388998, -0.916918, 0.089116> + 13756: < 0.344322, -0.929596, 0.131509> + 13757: < 0.300427, -0.944802, 0.130743> + 13758: < 0.300248, -0.949820, 0.087712> + 13759: < 0.344408, -0.934648, 0.088414> + 13760: < 0.300427, -0.944802, 0.130743> + 13761: < 0.256880, -0.957663, 0.129981> + 13762: < 0.256544, -0.962605, 0.087041> + 13763: < 0.300248, -0.949820, 0.087712> + 13764: < 0.256880, -0.957663, 0.129981> + 13765: < 0.213666, -0.968319, 0.129250> + 13766: < 0.213204, -0.973180, 0.086398> + 13767: < 0.256544, -0.962605, 0.087041> + 13768: < 0.213666, -0.968319, 0.129250> + 13769: < 0.170691, -0.976904, 0.128545> + 13770: < 0.170203, -0.981668, 0.085788> + 13771: < 0.213204, -0.973180, 0.086398> + 13772: < 0.170691, -0.976904, 0.128545> + 13773: < 0.127935, -0.983497, 0.127935> + 13774: < 0.127447, -0.988171, 0.085300> + 13775: < 0.170203, -0.981668, 0.085788> + 13776: < 0.127935, -0.983497, 0.127935> + 13777: < 0.085300, -0.988171, 0.127447> + 13778: < 0.084905, -0.992765, 0.084905> + 13779: < 0.127447, -0.988171, 0.085300> + 13780: < 0.085300, -0.988171, 0.127447> + 13781: < 0.042666, -0.990966, 0.127144> + 13782: < 0.042452, -0.995505, 0.084660> + 13783: < 0.084905, -0.992765, 0.084905> + 13784: < 0.042666, -0.990966, 0.127144> + 13785: < 0.000000, -0.991900, 0.127020> + 13786: < 0.000000, -0.996418, 0.084568> + 13787: < 0.042452, -0.995505, 0.084660> + 13788: < 0.000000, -0.991900, 0.127020> + 13789: <-0.042666, -0.990966, 0.127144> + 13790: <-0.042452, -0.995505, 0.084660> + 13791: < 0.000000, -0.996418, 0.084568> + 13792: <-0.042666, -0.990966, 0.127144> + 13793: <-0.085300, -0.988171, 0.127447> + 13794: <-0.084905, -0.992765, 0.084905> + 13795: <-0.042452, -0.995505, 0.084660> + 13796: <-0.085300, -0.988171, 0.127447> + 13797: <-0.127935, -0.983497, 0.127935> + 13798: <-0.127447, -0.988171, 0.085300> + 13799: <-0.084905, -0.992765, 0.084905> + 13800: <-0.127935, -0.983497, 0.127935> + 13801: <-0.170691, -0.976904, 0.128545> + 13802: <-0.170203, -0.981668, 0.085788> + 13803: <-0.127447, -0.988171, 0.085300> + 13804: <-0.170691, -0.976904, 0.128545> + 13805: <-0.213666, -0.968319, 0.129250> + 13806: <-0.213204, -0.973180, 0.086398> + 13807: <-0.170203, -0.981668, 0.085788> + 13808: <-0.213666, -0.968319, 0.129250> + 13809: <-0.256880, -0.957663, 0.129981> + 13810: <-0.256544, -0.962605, 0.087041> + 13811: <-0.213204, -0.973180, 0.086398> + 13812: <-0.256880, -0.957663, 0.129981> + 13813: <-0.300427, -0.944802, 0.130743> + 13814: <-0.300248, -0.949820, 0.087712> + 13815: <-0.256544, -0.962605, 0.087041> + 13816: <-0.300427, -0.944802, 0.130743> + 13817: <-0.344322, -0.929596, 0.131509> + 13818: <-0.344408, -0.934648, 0.088414> + 13819: <-0.300248, -0.949820, 0.087712> + 13820: <-0.344322, -0.929596, 0.131509> + 13821: <-0.388632, -0.911854, 0.132240> + 13822: <-0.388998, -0.916918, 0.089116> + 13823: <-0.344408, -0.934648, 0.088414> + 13824: <-0.388632, -0.911854, 0.132240> + 13825: <-0.433256, -0.891416, 0.132913> + 13826: <-0.433981, -0.896437, 0.089787> + 13827: <-0.388998, -0.916918, 0.089116> + 13828: <-0.433256, -0.891416, 0.132913> + 13829: <-0.478208, -0.868033, 0.133553> + 13830: <-0.479307, -0.872976, 0.090429> + 13831: <-0.433981, -0.896437, 0.089787> + 13832: <-0.478208, -0.868033, 0.133553> + 13833: <-0.523307, -0.841527, 0.134100> + 13834: <-0.524836, -0.846324, 0.091008> + 13835: <-0.479307, -0.872976, 0.090429> + 13836: <-0.523307, -0.841527, 0.134100> + 13837: <-0.568382, -0.811677, 0.134618> + 13838: <-0.570377, -0.816271, 0.091497> + 13839: <-0.524836, -0.846324, 0.091008> + 13840: <-0.568382, -0.811677, 0.134618> + 13841: <-0.613215, -0.778292, 0.135015> + 13842: <-0.615697, -0.782607, 0.091894> + 13843: <-0.570377, -0.816271, 0.091497> + 13844: <-0.613215, -0.778292, 0.135015> + 13845: <-0.657468, -0.741243, 0.135260> + 13846: <-0.660463, -0.745184, 0.092137> + 13847: <-0.615697, -0.782607, 0.091894> + 13848: < 0.660463, -0.745184, 0.092137> + 13849: < 0.615697, -0.782607, 0.091894> + 13850: < 0.617246, -0.785375, 0.046847> + 13851: < 0.662354, -0.747715, 0.046999> + 13852: < 0.615697, -0.782607, 0.091894> + 13853: < 0.570377, -0.816271, 0.091497> + 13854: < 0.571602, -0.819208, 0.046573> + 13855: < 0.617246, -0.785375, 0.046847> + 13856: < 0.570377, -0.816271, 0.091497> + 13857: < 0.524836, -0.846324, 0.091008> + 13858: < 0.525753, -0.849378, 0.046267> + 13859: < 0.571602, -0.819208, 0.046573> + 13860: < 0.524836, -0.846324, 0.091008> + 13861: < 0.479307, -0.872976, 0.090429> + 13862: < 0.479951, -0.876095, 0.045871> + 13863: < 0.525753, -0.849378, 0.046267> + 13864: < 0.479307, -0.872976, 0.090429> + 13865: < 0.433981, -0.896437, 0.089787> + 13866: < 0.434379, -0.899583, 0.045443> + 13867: < 0.479951, -0.876095, 0.045871> + 13868: < 0.433981, -0.896437, 0.089787> + 13869: < 0.388998, -0.916918, 0.089116> + 13870: < 0.389180, -0.920061, 0.045016> + 13871: < 0.434379, -0.899583, 0.045443> + 13872: < 0.388998, -0.916918, 0.089116> + 13873: < 0.344408, -0.934648, 0.088414> + 13874: < 0.344409, -0.937762, 0.044558> + 13875: < 0.389180, -0.920061, 0.045016> + 13876: < 0.344408, -0.934648, 0.088414> + 13877: < 0.300248, -0.949820, 0.087712> + 13878: < 0.300092, -0.952889, 0.044130> + 13879: < 0.344409, -0.937762, 0.044558> + 13880: < 0.300248, -0.949820, 0.087712> + 13881: < 0.256544, -0.962605, 0.087041> + 13882: < 0.256267, -0.965618, 0.043703> + 13883: < 0.300092, -0.952889, 0.044130> + 13884: < 0.256544, -0.962605, 0.087041> + 13885: < 0.213204, -0.973180, 0.086398> + 13886: < 0.212870, -0.976120, 0.043306> + 13887: < 0.256267, -0.965618, 0.043703> + 13888: < 0.213204, -0.973180, 0.086398> + 13889: < 0.170203, -0.981668, 0.085788> + 13890: < 0.169866, -0.984530, 0.042970> + 13891: < 0.212870, -0.976120, 0.043306> + 13892: < 0.170203, -0.981668, 0.085788> + 13893: < 0.127447, -0.988171, 0.085300> + 13894: < 0.127144, -0.990966, 0.042666> + 13895: < 0.169866, -0.984530, 0.042970> + 13896: < 0.127447, -0.988171, 0.085300> + 13897: < 0.084905, -0.992765, 0.084905> + 13898: < 0.084660, -0.995505, 0.042452> + 13899: < 0.127144, -0.990966, 0.042666> + 13900: < 0.084905, -0.992765, 0.084905> + 13901: < 0.042452, -0.995505, 0.084660> + 13902: < 0.042299, -0.998209, 0.042299> + 13903: < 0.084660, -0.995505, 0.042452> + 13904: < 0.042452, -0.995505, 0.084660> + 13905: < 0.000000, -0.996418, 0.084568> + 13906: < 0.000000, -0.999108, 0.042239> + 13907: < 0.042299, -0.998209, 0.042299> + 13908: < 0.000000, -0.996418, 0.084568> + 13909: <-0.042452, -0.995505, 0.084660> + 13910: <-0.042299, -0.998209, 0.042299> + 13911: < 0.000000, -0.999108, 0.042239> + 13912: <-0.042452, -0.995505, 0.084660> + 13913: <-0.084905, -0.992765, 0.084905> + 13914: <-0.084660, -0.995505, 0.042452> + 13915: <-0.042299, -0.998209, 0.042299> + 13916: <-0.084905, -0.992765, 0.084905> + 13917: <-0.127447, -0.988171, 0.085300> + 13918: <-0.127144, -0.990966, 0.042666> + 13919: <-0.084660, -0.995505, 0.042452> + 13920: <-0.127447, -0.988171, 0.085300> + 13921: <-0.170203, -0.981668, 0.085788> + 13922: <-0.169837, -0.984535, 0.042970> + 13923: <-0.127144, -0.990966, 0.042666> + 13924: <-0.170203, -0.981668, 0.085788> + 13925: <-0.213204, -0.973180, 0.086398> + 13926: <-0.212870, -0.976120, 0.043306> + 13927: <-0.169837, -0.984535, 0.042970> + 13928: <-0.213204, -0.973180, 0.086398> + 13929: <-0.256544, -0.962605, 0.087041> + 13930: <-0.256267, -0.965618, 0.043703> + 13931: <-0.212870, -0.976120, 0.043306> + 13932: <-0.256544, -0.962605, 0.087041> + 13933: <-0.300248, -0.949820, 0.087712> + 13934: <-0.300092, -0.952889, 0.044130> + 13935: <-0.256267, -0.965618, 0.043703> + 13936: <-0.300248, -0.949820, 0.087712> + 13937: <-0.344408, -0.934648, 0.088414> + 13938: <-0.344409, -0.937762, 0.044558> + 13939: <-0.300092, -0.952889, 0.044130> + 13940: <-0.344408, -0.934648, 0.088414> + 13941: <-0.388998, -0.916918, 0.089116> + 13942: <-0.389180, -0.920061, 0.045016> + 13943: <-0.344409, -0.937762, 0.044558> + 13944: <-0.388998, -0.916918, 0.089116> + 13945: <-0.433981, -0.896437, 0.089787> + 13946: <-0.434379, -0.899583, 0.045443> + 13947: <-0.389180, -0.920061, 0.045016> + 13948: <-0.433981, -0.896437, 0.089787> + 13949: <-0.479307, -0.872976, 0.090429> + 13950: <-0.479951, -0.876095, 0.045871> + 13951: <-0.434379, -0.899583, 0.045443> + 13952: <-0.479307, -0.872976, 0.090429> + 13953: <-0.524836, -0.846324, 0.091008> + 13954: <-0.525753, -0.849378, 0.046267> + 13955: <-0.479951, -0.876095, 0.045871> + 13956: <-0.524836, -0.846324, 0.091008> + 13957: <-0.570377, -0.816271, 0.091497> + 13958: <-0.571602, -0.819208, 0.046573> + 13959: <-0.525753, -0.849378, 0.046267> + 13960: <-0.570377, -0.816271, 0.091497> + 13961: <-0.615697, -0.782607, 0.091894> + 13962: <-0.617246, -0.785375, 0.046847> + 13963: <-0.571602, -0.819208, 0.046573> + 13964: <-0.615697, -0.782607, 0.091894> + 13965: <-0.660463, -0.745184, 0.092137> + 13966: <-0.662354, -0.747715, 0.046999> + 13967: <-0.617246, -0.785375, 0.046847> + 13968: < 0.662354, -0.747715, 0.046999> + 13969: < 0.617246, -0.785375, 0.046847> + 13970: < 0.617789, -0.786344, 0.000000> + 13971: < 0.663024, -0.748599, 0.000000> + 13972: < 0.617246, -0.785375, 0.046847> + 13973: < 0.571602, -0.819208, 0.046573> + 13974: < 0.572024, -0.820237, 0.000000> + 13975: < 0.617789, -0.786344, 0.000000> + 13976: < 0.571602, -0.819208, 0.046573> + 13977: < 0.525753, -0.849378, 0.046267> + 13978: < 0.526081, -0.850434, 0.000000> + 13979: < 0.572024, -0.820237, 0.000000> + 13980: < 0.525753, -0.849378, 0.046267> + 13981: < 0.479951, -0.876095, 0.045871> + 13982: < 0.480182, -0.877169, 0.000000> + 13983: < 0.526081, -0.850434, 0.000000> + 13984: < 0.479951, -0.876095, 0.045871> + 13985: < 0.434379, -0.899583, 0.045443> + 13986: < 0.434534, -0.900655, 0.000000> + 13987: < 0.480182, -0.877169, 0.000000> + 13988: < 0.434379, -0.899583, 0.045443> + 13989: < 0.389180, -0.920061, 0.045016> + 13990: < 0.389244, -0.921135, 0.000000> + 13991: < 0.434534, -0.900655, 0.000000> + 13992: < 0.389180, -0.920061, 0.045016> + 13993: < 0.344409, -0.937762, 0.044558> + 13994: < 0.344405, -0.938821, 0.000000> + 13995: < 0.389244, -0.921135, 0.000000> + 13996: < 0.344409, -0.937762, 0.044558> + 13997: < 0.300092, -0.952889, 0.044130> + 13998: < 0.300059, -0.953921, 0.000000> + 13999: < 0.344405, -0.938821, 0.000000> + 14000: < 0.300092, -0.952889, 0.044130> + 14001: < 0.256267, -0.965618, 0.043703> + 14002: < 0.256177, -0.966630, 0.000000> + 14003: < 0.300059, -0.953921, 0.000000> + 14004: < 0.256267, -0.965618, 0.043703> + 14005: < 0.212870, -0.976120, 0.043306> + 14006: < 0.212750, -0.977107, 0.000000> + 14007: < 0.256177, -0.966630, 0.000000> + 14008: < 0.212870, -0.976120, 0.043306> + 14009: < 0.169866, -0.984530, 0.042970> + 14010: < 0.169746, -0.985488, 0.000000> + 14011: < 0.212750, -0.977107, 0.000000> + 14012: < 0.169866, -0.984530, 0.042970> + 14013: < 0.127144, -0.990966, 0.042666> + 14014: < 0.127020, -0.991900, 0.000000> + 14015: < 0.169746, -0.985488, 0.000000> + 14016: < 0.127144, -0.990966, 0.042666> + 14017: < 0.084660, -0.995505, 0.042452> + 14018: < 0.084568, -0.996418, 0.000000> + 14019: < 0.127020, -0.991900, 0.000000> + 14020: < 0.084660, -0.995505, 0.042452> + 14021: < 0.042299, -0.998209, 0.042299> + 14022: < 0.042239, -0.999108, 0.000000> + 14023: < 0.084568, -0.996418, 0.000000> + 14024: < 0.042299, -0.998209, 0.042299> + 14025: < 0.000000, -0.999108, 0.042239> + 14026: < 0.000000, -1.000000, 0.000000> + 14027: < 0.042239, -0.999108, 0.000000> + 14028: < 0.000000, -0.999108, 0.042239> + 14029: <-0.042299, -0.998209, 0.042299> + 14030: <-0.042239, -0.999108, 0.000000> + 14031: < 0.000000, -1.000000, 0.000000> + 14032: <-0.042299, -0.998209, 0.042299> + 14033: <-0.084660, -0.995505, 0.042452> + 14034: <-0.084568, -0.996418, 0.000000> + 14035: <-0.042239, -0.999108, 0.000000> + 14036: <-0.084660, -0.995505, 0.042452> + 14037: <-0.127144, -0.990966, 0.042666> + 14038: <-0.127020, -0.991900, 0.000000> + 14039: <-0.084568, -0.996418, 0.000000> + 14040: <-0.127144, -0.990966, 0.042666> + 14041: <-0.169837, -0.984535, 0.042970> + 14042: <-0.169746, -0.985488, 0.000000> + 14043: <-0.127020, -0.991900, 0.000000> + 14044: <-0.169837, -0.984535, 0.042970> + 14045: <-0.212870, -0.976120, 0.043306> + 14046: <-0.212750, -0.977107, 0.000000> + 14047: <-0.169746, -0.985488, 0.000000> + 14048: <-0.212870, -0.976120, 0.043306> + 14049: <-0.256267, -0.965618, 0.043703> + 14050: <-0.256177, -0.966630, 0.000000> + 14051: <-0.212750, -0.977107, 0.000000> + 14052: <-0.256267, -0.965618, 0.043703> + 14053: <-0.300092, -0.952889, 0.044130> + 14054: <-0.300059, -0.953921, 0.000000> + 14055: <-0.256177, -0.966630, 0.000000> + 14056: <-0.300092, -0.952889, 0.044130> + 14057: <-0.344409, -0.937762, 0.044558> + 14058: <-0.344405, -0.938821, 0.000000> + 14059: <-0.300059, -0.953921, 0.000000> + 14060: <-0.344409, -0.937762, 0.044558> + 14061: <-0.389180, -0.920061, 0.045016> + 14062: <-0.389244, -0.921135, 0.000000> + 14063: <-0.344405, -0.938821, 0.000000> + 14064: <-0.389180, -0.920061, 0.045016> + 14065: <-0.434379, -0.899583, 0.045443> + 14066: <-0.434534, -0.900655, 0.000000> + 14067: <-0.389244, -0.921135, 0.000000> + 14068: <-0.434379, -0.899583, 0.045443> + 14069: <-0.479951, -0.876095, 0.045871> + 14070: <-0.480182, -0.877169, 0.000000> + 14071: <-0.434534, -0.900655, 0.000000> + 14072: <-0.479951, -0.876095, 0.045871> + 14073: <-0.525753, -0.849378, 0.046267> + 14074: <-0.526081, -0.850434, 0.000000> + 14075: <-0.480182, -0.877169, 0.000000> + 14076: <-0.525753, -0.849378, 0.046267> + 14077: <-0.571602, -0.819208, 0.046573> + 14078: <-0.572024, -0.820237, 0.000000> + 14079: <-0.526081, -0.850434, 0.000000> + 14080: <-0.571602, -0.819208, 0.046573> + 14081: <-0.617246, -0.785375, 0.046847> + 14082: <-0.617789, -0.786344, 0.000000> + 14083: <-0.572024, -0.820237, 0.000000> + 14084: <-0.617246, -0.785375, 0.046847> + 14085: <-0.662354, -0.747715, 0.046999> + 14086: <-0.663024, -0.748599, 0.000000> + 14087: <-0.617789, -0.786344, 0.000000> + 14088: < 0.663024, -0.748599, 0.000000> + 14089: < 0.617789, -0.786344, 0.000000> + 14090: < 0.617246, -0.785375, -0.046847> + 14091: < 0.662354, -0.747715, -0.046999> + 14092: < 0.617789, -0.786344, 0.000000> + 14093: < 0.572024, -0.820237, 0.000000> + 14094: < 0.571602, -0.819208, -0.046573> + 14095: < 0.617246, -0.785375, -0.046847> + 14096: < 0.572024, -0.820237, 0.000000> + 14097: < 0.526081, -0.850434, 0.000000> + 14098: < 0.525753, -0.849378, -0.046267> + 14099: < 0.571602, -0.819208, -0.046573> + 14100: < 0.526081, -0.850434, 0.000000> + 14101: < 0.480182, -0.877169, 0.000000> + 14102: < 0.479951, -0.876095, -0.045871> + 14103: < 0.525753, -0.849378, -0.046267> + 14104: < 0.480182, -0.877169, 0.000000> + 14105: < 0.434534, -0.900655, 0.000000> + 14106: < 0.434379, -0.899583, -0.045443> + 14107: < 0.479951, -0.876095, -0.045871> + 14108: < 0.434534, -0.900655, 0.000000> + 14109: < 0.389244, -0.921135, 0.000000> + 14110: < 0.389180, -0.920061, -0.045016> + 14111: < 0.434379, -0.899583, -0.045443> + 14112: < 0.389244, -0.921135, 0.000000> + 14113: < 0.344405, -0.938821, 0.000000> + 14114: < 0.344409, -0.937762, -0.044558> + 14115: < 0.389180, -0.920061, -0.045016> + 14116: < 0.344405, -0.938821, 0.000000> + 14117: < 0.300059, -0.953921, 0.000000> + 14118: < 0.300092, -0.952889, -0.044130> + 14119: < 0.344409, -0.937762, -0.044558> + 14120: < 0.300059, -0.953921, 0.000000> + 14121: < 0.256177, -0.966630, 0.000000> + 14122: < 0.256267, -0.965618, -0.043703> + 14123: < 0.300092, -0.952889, -0.044130> + 14124: < 0.256177, -0.966630, 0.000000> + 14125: < 0.212750, -0.977107, 0.000000> + 14126: < 0.212870, -0.976120, -0.043306> + 14127: < 0.256267, -0.965618, -0.043703> + 14128: < 0.212750, -0.977107, 0.000000> + 14129: < 0.169746, -0.985488, 0.000000> + 14130: < 0.169866, -0.984530, -0.042970> + 14131: < 0.212870, -0.976120, -0.043306> + 14132: < 0.169746, -0.985488, 0.000000> + 14133: < 0.127020, -0.991900, 0.000000> + 14134: < 0.127144, -0.990966, -0.042666> + 14135: < 0.169866, -0.984530, -0.042970> + 14136: < 0.127020, -0.991900, 0.000000> + 14137: < 0.084568, -0.996418, 0.000000> + 14138: < 0.084660, -0.995505, -0.042452> + 14139: < 0.127144, -0.990966, -0.042666> + 14140: < 0.084568, -0.996418, 0.000000> + 14141: < 0.042239, -0.999108, 0.000000> + 14142: < 0.042299, -0.998209, -0.042299> + 14143: < 0.084660, -0.995505, -0.042452> + 14144: < 0.042239, -0.999108, 0.000000> + 14145: < 0.000000, -1.000000, 0.000000> + 14146: < 0.000000, -0.999108, -0.042239> + 14147: < 0.042299, -0.998209, -0.042299> + 14148: < 0.000000, -1.000000, 0.000000> + 14149: <-0.042239, -0.999108, 0.000000> + 14150: <-0.042299, -0.998209, -0.042299> + 14151: < 0.000000, -0.999108, -0.042239> + 14152: <-0.042239, -0.999108, 0.000000> + 14153: <-0.084568, -0.996418, 0.000000> + 14154: <-0.084660, -0.995505, -0.042452> + 14155: <-0.042299, -0.998209, -0.042299> + 14156: <-0.084568, -0.996418, 0.000000> + 14157: <-0.127020, -0.991900, 0.000000> + 14158: <-0.127144, -0.990966, -0.042666> + 14159: <-0.084660, -0.995505, -0.042452> + 14160: <-0.127020, -0.991900, 0.000000> + 14161: <-0.169746, -0.985488, 0.000000> + 14162: <-0.169866, -0.984530, -0.042970> + 14163: <-0.127144, -0.990966, -0.042666> + 14164: <-0.169746, -0.985488, 0.000000> + 14165: <-0.212750, -0.977107, 0.000000> + 14166: <-0.212870, -0.976120, -0.043306> + 14167: <-0.169866, -0.984530, -0.042970> + 14168: <-0.212750, -0.977107, 0.000000> + 14169: <-0.256177, -0.966630, 0.000000> + 14170: <-0.256267, -0.965618, -0.043703> + 14171: <-0.212870, -0.976120, -0.043306> + 14172: <-0.256177, -0.966630, 0.000000> + 14173: <-0.300059, -0.953921, 0.000000> + 14174: <-0.300092, -0.952889, -0.044130> + 14175: <-0.256267, -0.965618, -0.043703> + 14176: <-0.300059, -0.953921, 0.000000> + 14177: <-0.344405, -0.938821, 0.000000> + 14178: <-0.344409, -0.937762, -0.044558> + 14179: <-0.300092, -0.952889, -0.044130> + 14180: <-0.344405, -0.938821, 0.000000> + 14181: <-0.389244, -0.921135, 0.000000> + 14182: <-0.389180, -0.920061, -0.045016> + 14183: <-0.344409, -0.937762, -0.044558> + 14184: <-0.389244, -0.921135, 0.000000> + 14185: <-0.434534, -0.900655, 0.000000> + 14186: <-0.434379, -0.899583, -0.045443> + 14187: <-0.389180, -0.920061, -0.045016> + 14188: <-0.434534, -0.900655, 0.000000> + 14189: <-0.480182, -0.877169, 0.000000> + 14190: <-0.479951, -0.876095, -0.045871> + 14191: <-0.434379, -0.899583, -0.045443> + 14192: <-0.480182, -0.877169, 0.000000> + 14193: <-0.526081, -0.850434, 0.000000> + 14194: <-0.525753, -0.849378, -0.046267> + 14195: <-0.479951, -0.876095, -0.045871> + 14196: <-0.526081, -0.850434, 0.000000> + 14197: <-0.572024, -0.820237, 0.000000> + 14198: <-0.571602, -0.819208, -0.046573> + 14199: <-0.525753, -0.849378, -0.046267> + 14200: <-0.572024, -0.820237, 0.000000> + 14201: <-0.617789, -0.786344, 0.000000> + 14202: <-0.617246, -0.785375, -0.046847> + 14203: <-0.571602, -0.819208, -0.046573> + 14204: <-0.617789, -0.786344, 0.000000> + 14205: <-0.663024, -0.748599, 0.000000> + 14206: <-0.662354, -0.747715, -0.046999> + 14207: <-0.617246, -0.785375, -0.046847> + 14208: < 0.662354, -0.747715, -0.046999> + 14209: < 0.617246, -0.785375, -0.046847> + 14210: < 0.615697, -0.782607, -0.091894> + 14211: < 0.660463, -0.745184, -0.092137> + 14212: < 0.617246, -0.785375, -0.046847> + 14213: < 0.571602, -0.819208, -0.046573> + 14214: < 0.570377, -0.816271, -0.091497> + 14215: < 0.615697, -0.782607, -0.091894> + 14216: < 0.571602, -0.819208, -0.046573> + 14217: < 0.525753, -0.849378, -0.046267> + 14218: < 0.524836, -0.846324, -0.091008> + 14219: < 0.570377, -0.816271, -0.091497> + 14220: < 0.525753, -0.849378, -0.046267> + 14221: < 0.479951, -0.876095, -0.045871> + 14222: < 0.479307, -0.872976, -0.090429> + 14223: < 0.524836, -0.846324, -0.091008> + 14224: < 0.479951, -0.876095, -0.045871> + 14225: < 0.434379, -0.899583, -0.045443> + 14226: < 0.433981, -0.896437, -0.089787> + 14227: < 0.479307, -0.872976, -0.090429> + 14228: < 0.434379, -0.899583, -0.045443> + 14229: < 0.389180, -0.920061, -0.045016> + 14230: < 0.388998, -0.916918, -0.089116> + 14231: < 0.433981, -0.896437, -0.089787> + 14232: < 0.389180, -0.920061, -0.045016> + 14233: < 0.344409, -0.937762, -0.044558> + 14234: < 0.344408, -0.934648, -0.088414> + 14235: < 0.388998, -0.916918, -0.089116> + 14236: < 0.344409, -0.937762, -0.044558> + 14237: < 0.300092, -0.952889, -0.044130> + 14238: < 0.300248, -0.949820, -0.087712> + 14239: < 0.344408, -0.934648, -0.088414> + 14240: < 0.300092, -0.952889, -0.044130> + 14241: < 0.256267, -0.965618, -0.043703> + 14242: < 0.256544, -0.962605, -0.087041> + 14243: < 0.300248, -0.949820, -0.087712> + 14244: < 0.256267, -0.965618, -0.043703> + 14245: < 0.212870, -0.976120, -0.043306> + 14246: < 0.213204, -0.973180, -0.086398> + 14247: < 0.256544, -0.962605, -0.087041> + 14248: < 0.212870, -0.976120, -0.043306> + 14249: < 0.169866, -0.984530, -0.042970> + 14250: < 0.170203, -0.981668, -0.085788> + 14251: < 0.213204, -0.973180, -0.086398> + 14252: < 0.169866, -0.984530, -0.042970> + 14253: < 0.127144, -0.990966, -0.042666> + 14254: < 0.127447, -0.988171, -0.085300> + 14255: < 0.170203, -0.981668, -0.085788> + 14256: < 0.127144, -0.990966, -0.042666> + 14257: < 0.084660, -0.995505, -0.042452> + 14258: < 0.084905, -0.992765, -0.084905> + 14259: < 0.127447, -0.988171, -0.085300> + 14260: < 0.084660, -0.995505, -0.042452> + 14261: < 0.042299, -0.998209, -0.042299> + 14262: < 0.042452, -0.995505, -0.084660> + 14263: < 0.084905, -0.992765, -0.084905> + 14264: < 0.042299, -0.998209, -0.042299> + 14265: < 0.000000, -0.999108, -0.042239> + 14266: < 0.000000, -0.996418, -0.084568> + 14267: < 0.042452, -0.995505, -0.084660> + 14268: < 0.000000, -0.999108, -0.042239> + 14269: <-0.042299, -0.998209, -0.042299> + 14270: <-0.042452, -0.995505, -0.084660> + 14271: < 0.000000, -0.996418, -0.084568> + 14272: <-0.042299, -0.998209, -0.042299> + 14273: <-0.084660, -0.995505, -0.042452> + 14274: <-0.084905, -0.992765, -0.084905> + 14275: <-0.042452, -0.995505, -0.084660> + 14276: <-0.084660, -0.995505, -0.042452> + 14277: <-0.127144, -0.990966, -0.042666> + 14278: <-0.127447, -0.988171, -0.085300> + 14279: <-0.084905, -0.992765, -0.084905> + 14280: <-0.127144, -0.990966, -0.042666> + 14281: <-0.169866, -0.984530, -0.042970> + 14282: <-0.170203, -0.981668, -0.085788> + 14283: <-0.127447, -0.988171, -0.085300> + 14284: <-0.169866, -0.984530, -0.042970> + 14285: <-0.212870, -0.976120, -0.043306> + 14286: <-0.213204, -0.973180, -0.086398> + 14287: <-0.170203, -0.981668, -0.085788> + 14288: <-0.212870, -0.976120, -0.043306> + 14289: <-0.256267, -0.965618, -0.043703> + 14290: <-0.256544, -0.962605, -0.087041> + 14291: <-0.213204, -0.973180, -0.086398> + 14292: <-0.256267, -0.965618, -0.043703> + 14293: <-0.300092, -0.952889, -0.044130> + 14294: <-0.300248, -0.949820, -0.087712> + 14295: <-0.256544, -0.962605, -0.087041> + 14296: <-0.300092, -0.952889, -0.044130> + 14297: <-0.344409, -0.937762, -0.044558> + 14298: <-0.344408, -0.934648, -0.088414> + 14299: <-0.300248, -0.949820, -0.087712> + 14300: <-0.344409, -0.937762, -0.044558> + 14301: <-0.389180, -0.920061, -0.045016> + 14302: <-0.388998, -0.916918, -0.089116> + 14303: <-0.344408, -0.934648, -0.088414> + 14304: <-0.389180, -0.920061, -0.045016> + 14305: <-0.434379, -0.899583, -0.045443> + 14306: <-0.433981, -0.896437, -0.089787> + 14307: <-0.388998, -0.916918, -0.089116> + 14308: <-0.434379, -0.899583, -0.045443> + 14309: <-0.479951, -0.876095, -0.045871> + 14310: <-0.479307, -0.872976, -0.090429> + 14311: <-0.433981, -0.896437, -0.089787> + 14312: <-0.479951, -0.876095, -0.045871> + 14313: <-0.525753, -0.849378, -0.046267> + 14314: <-0.524836, -0.846324, -0.091008> + 14315: <-0.479307, -0.872976, -0.090429> + 14316: <-0.525753, -0.849378, -0.046267> + 14317: <-0.571602, -0.819208, -0.046573> + 14318: <-0.570377, -0.816271, -0.091497> + 14319: <-0.524836, -0.846324, -0.091008> + 14320: <-0.571602, -0.819208, -0.046573> + 14321: <-0.617246, -0.785375, -0.046847> + 14322: <-0.615697, -0.782607, -0.091894> + 14323: <-0.570377, -0.816271, -0.091497> + 14324: <-0.617246, -0.785375, -0.046847> + 14325: <-0.662354, -0.747715, -0.046999> + 14326: <-0.660463, -0.745184, -0.092137> + 14327: <-0.615697, -0.782607, -0.091894> + 14328: < 0.660463, -0.745184, -0.092137> + 14329: < 0.615697, -0.782607, -0.091894> + 14330: < 0.613196, -0.778306, -0.135018> + 14331: < 0.657468, -0.741243, -0.135260> + 14332: < 0.615697, -0.782607, -0.091894> + 14333: < 0.570377, -0.816271, -0.091497> + 14334: < 0.568382, -0.811677, -0.134618> + 14335: < 0.613196, -0.778306, -0.135018> + 14336: < 0.570377, -0.816271, -0.091497> + 14337: < 0.524836, -0.846324, -0.091008> + 14338: < 0.523307, -0.841527, -0.134100> + 14339: < 0.568382, -0.811677, -0.134618> + 14340: < 0.524836, -0.846324, -0.091008> + 14341: < 0.479307, -0.872976, -0.090429> + 14342: < 0.478208, -0.868033, -0.133553> + 14343: < 0.523307, -0.841527, -0.134100> + 14344: < 0.479307, -0.872976, -0.090429> + 14345: < 0.433981, -0.896437, -0.089787> + 14346: < 0.433281, -0.891405, -0.132911> + 14347: < 0.478208, -0.868033, -0.133553> + 14348: < 0.433981, -0.896437, -0.089787> + 14349: < 0.388998, -0.916918, -0.089116> + 14350: < 0.388632, -0.911854, -0.132240> + 14351: < 0.433281, -0.891405, -0.132911> + 14352: < 0.388998, -0.916918, -0.089116> + 14353: < 0.344408, -0.934648, -0.088414> + 14354: < 0.344322, -0.929596, -0.131509> + 14355: < 0.388632, -0.911854, -0.132240> + 14356: < 0.344408, -0.934648, -0.088414> + 14357: < 0.300248, -0.949820, -0.087712> + 14358: < 0.300427, -0.944802, -0.130743> + 14359: < 0.344322, -0.929596, -0.131509> + 14360: < 0.300248, -0.949820, -0.087712> + 14361: < 0.256544, -0.962605, -0.087041> + 14362: < 0.256880, -0.957663, -0.129981> + 14363: < 0.300427, -0.944802, -0.130743> + 14364: < 0.256544, -0.962605, -0.087041> + 14365: < 0.213204, -0.973180, -0.086398> + 14366: < 0.213666, -0.968319, -0.129250> + 14367: < 0.256880, -0.957663, -0.129981> + 14368: < 0.213204, -0.973180, -0.086398> + 14369: < 0.170203, -0.981668, -0.085788> + 14370: < 0.170691, -0.976904, -0.128545> + 14371: < 0.213666, -0.968319, -0.129250> + 14372: < 0.170203, -0.981668, -0.085788> + 14373: < 0.127447, -0.988171, -0.085300> + 14374: < 0.127935, -0.983497, -0.127935> + 14375: < 0.170691, -0.976904, -0.128545> + 14376: < 0.127447, -0.988171, -0.085300> + 14377: < 0.084905, -0.992765, -0.084905> + 14378: < 0.085300, -0.988171, -0.127447> + 14379: < 0.127935, -0.983497, -0.127935> + 14380: < 0.084905, -0.992765, -0.084905> + 14381: < 0.042452, -0.995505, -0.084660> + 14382: < 0.042666, -0.990966, -0.127144> + 14383: < 0.085300, -0.988171, -0.127447> + 14384: < 0.042452, -0.995505, -0.084660> + 14385: < 0.000000, -0.996418, -0.084568> + 14386: < 0.000000, -0.991900, -0.127020> + 14387: < 0.042666, -0.990966, -0.127144> + 14388: < 0.000000, -0.996418, -0.084568> + 14389: <-0.042452, -0.995505, -0.084660> + 14390: <-0.042666, -0.990966, -0.127144> + 14391: < 0.000000, -0.991900, -0.127020> + 14392: <-0.042452, -0.995505, -0.084660> + 14393: <-0.084905, -0.992765, -0.084905> + 14394: <-0.085300, -0.988171, -0.127447> + 14395: <-0.042666, -0.990966, -0.127144> + 14396: <-0.084905, -0.992765, -0.084905> + 14397: <-0.127447, -0.988171, -0.085300> + 14398: <-0.127935, -0.983497, -0.127935> + 14399: <-0.085300, -0.988171, -0.127447> + 14400: <-0.127447, -0.988171, -0.085300> + 14401: <-0.170203, -0.981668, -0.085788> + 14402: <-0.170691, -0.976904, -0.128545> + 14403: <-0.127935, -0.983497, -0.127935> + 14404: <-0.170203, -0.981668, -0.085788> + 14405: <-0.213204, -0.973180, -0.086398> + 14406: <-0.213666, -0.968319, -0.129250> + 14407: <-0.170691, -0.976904, -0.128545> + 14408: <-0.213204, -0.973180, -0.086398> + 14409: <-0.256544, -0.962605, -0.087041> + 14410: <-0.256880, -0.957663, -0.129981> + 14411: <-0.213666, -0.968319, -0.129250> + 14412: <-0.256544, -0.962605, -0.087041> + 14413: <-0.300248, -0.949820, -0.087712> + 14414: <-0.300427, -0.944802, -0.130743> + 14415: <-0.256880, -0.957663, -0.129981> + 14416: <-0.300248, -0.949820, -0.087712> + 14417: <-0.344408, -0.934648, -0.088414> + 14418: <-0.344322, -0.929596, -0.131509> + 14419: <-0.300427, -0.944802, -0.130743> + 14420: <-0.344408, -0.934648, -0.088414> + 14421: <-0.388998, -0.916918, -0.089116> + 14422: <-0.388632, -0.911854, -0.132240> + 14423: <-0.344322, -0.929596, -0.131509> + 14424: <-0.388998, -0.916918, -0.089116> + 14425: <-0.433981, -0.896437, -0.089787> + 14426: <-0.433281, -0.891405, -0.132911> + 14427: <-0.388632, -0.911854, -0.132240> + 14428: <-0.433981, -0.896437, -0.089787> + 14429: <-0.479307, -0.872976, -0.090429> + 14430: <-0.478208, -0.868033, -0.133553> + 14431: <-0.433281, -0.891405, -0.132911> + 14432: <-0.479307, -0.872976, -0.090429> + 14433: <-0.524836, -0.846324, -0.091008> + 14434: <-0.523307, -0.841527, -0.134100> + 14435: <-0.478208, -0.868033, -0.133553> + 14436: <-0.524836, -0.846324, -0.091008> + 14437: <-0.570377, -0.816271, -0.091497> + 14438: <-0.568382, -0.811677, -0.134618> + 14439: <-0.523307, -0.841527, -0.134100> + 14440: <-0.570377, -0.816271, -0.091497> + 14441: <-0.615697, -0.782607, -0.091894> + 14442: <-0.613218, -0.778295, -0.134985> + 14443: <-0.568382, -0.811677, -0.134618> + 14444: <-0.615697, -0.782607, -0.091894> + 14445: <-0.660463, -0.745184, -0.092137> + 14446: <-0.657468, -0.741243, -0.135260> + 14447: <-0.613218, -0.778295, -0.134985> + 14448: < 0.657468, -0.741243, -0.135260> + 14449: < 0.613196, -0.778306, -0.135018> + 14450: < 0.609892, -0.772589, -0.176461> + 14451: < 0.653502, -0.736025, -0.176644> + 14452: < 0.613196, -0.778306, -0.135018> + 14453: < 0.568382, -0.811677, -0.134618> + 14454: < 0.565675, -0.805587, -0.176188> + 14455: < 0.609892, -0.772589, -0.176461> + 14456: < 0.568382, -0.811677, -0.134618> + 14457: < 0.523307, -0.841527, -0.134100> + 14458: < 0.521180, -0.835133, -0.175853> + 14459: < 0.565675, -0.805587, -0.176188> + 14460: < 0.523307, -0.841527, -0.134100> + 14461: < 0.478208, -0.868033, -0.133553> + 14462: < 0.476614, -0.861427, -0.175453> + 14463: < 0.521180, -0.835133, -0.175853> + 14464: < 0.478208, -0.868033, -0.133553> + 14465: < 0.433281, -0.891405, -0.132911> + 14466: < 0.432149, -0.884654, -0.175026> + 14467: < 0.476614, -0.861427, -0.175453> + 14468: < 0.433281, -0.891405, -0.132911> + 14469: < 0.388632, -0.911854, -0.132240> + 14470: < 0.387965, -0.904997, -0.174541> + 14471: < 0.432149, -0.884654, -0.175026> + 14472: < 0.388632, -0.911854, -0.132240> + 14473: < 0.344322, -0.929596, -0.131509> + 14474: < 0.344072, -0.922682, -0.173989> + 14475: < 0.387965, -0.904997, -0.174541> + 14476: < 0.344322, -0.929596, -0.131509> + 14477: < 0.300427, -0.944802, -0.130743> + 14478: < 0.300496, -0.937897, -0.173351> + 14479: < 0.344072, -0.922682, -0.173989> + 14480: < 0.300427, -0.944802, -0.130743> + 14481: < 0.256880, -0.957663, -0.129981> + 14482: < 0.257217, -0.950800, -0.172679> + 14483: < 0.300496, -0.937897, -0.173351> + 14484: < 0.256880, -0.957663, -0.129981> + 14485: < 0.213666, -0.968319, -0.129250> + 14486: < 0.214182, -0.961530, -0.172005> + 14487: < 0.257217, -0.950800, -0.172679> + 14488: < 0.213666, -0.968319, -0.129250> + 14489: < 0.170691, -0.976904, -0.128545> + 14490: < 0.171305, -0.970211, -0.171305> + 14491: < 0.214182, -0.961530, -0.172005> + 14492: < 0.170691, -0.976904, -0.128545> + 14493: < 0.127935, -0.983497, -0.127935> + 14494: < 0.128545, -0.976904, -0.170691> + 14495: < 0.171305, -0.970211, -0.171305> + 14496: < 0.127935, -0.983497, -0.127935> + 14497: < 0.085300, -0.988171, -0.127447> + 14498: < 0.085788, -0.981668, -0.170203> + 14499: < 0.128545, -0.976904, -0.170691> + 14500: < 0.085300, -0.988171, -0.127447> + 14501: < 0.042666, -0.990966, -0.127144> + 14502: < 0.042970, -0.984530, -0.169866> + 14503: < 0.085788, -0.981668, -0.170203> + 14504: < 0.042666, -0.990966, -0.127144> + 14505: < 0.000000, -0.991900, -0.127020> + 14506: < 0.000000, -0.985488, -0.169746> + 14507: < 0.042970, -0.984530, -0.169866> + 14508: < 0.000000, -0.991900, -0.127020> + 14509: <-0.042666, -0.990966, -0.127144> + 14510: <-0.042970, -0.984530, -0.169866> + 14511: < 0.000000, -0.985488, -0.169746> + 14512: <-0.042666, -0.990966, -0.127144> + 14513: <-0.085300, -0.988171, -0.127447> + 14514: <-0.085788, -0.981668, -0.170203> + 14515: <-0.042970, -0.984530, -0.169866> + 14516: <-0.085300, -0.988171, -0.127447> + 14517: <-0.127935, -0.983497, -0.127935> + 14518: <-0.128545, -0.976904, -0.170691> + 14519: <-0.085788, -0.981668, -0.170203> + 14520: <-0.127935, -0.983497, -0.127935> + 14521: <-0.170691, -0.976904, -0.128545> + 14522: <-0.171305, -0.970211, -0.171305> + 14523: <-0.128545, -0.976904, -0.170691> + 14524: <-0.170691, -0.976904, -0.128545> + 14525: <-0.213666, -0.968319, -0.129250> + 14526: <-0.214182, -0.961530, -0.172005> + 14527: <-0.171305, -0.970211, -0.171305> + 14528: <-0.213666, -0.968319, -0.129250> + 14529: <-0.256880, -0.957663, -0.129981> + 14530: <-0.257217, -0.950800, -0.172679> + 14531: <-0.214182, -0.961530, -0.172005> + 14532: <-0.256880, -0.957663, -0.129981> + 14533: <-0.300427, -0.944802, -0.130743> + 14534: <-0.300496, -0.937897, -0.173351> + 14535: <-0.257217, -0.950800, -0.172679> + 14536: <-0.300427, -0.944802, -0.130743> + 14537: <-0.344322, -0.929596, -0.131509> + 14538: <-0.344072, -0.922682, -0.173989> + 14539: <-0.300496, -0.937897, -0.173351> + 14540: <-0.344322, -0.929596, -0.131509> + 14541: <-0.388632, -0.911854, -0.132240> + 14542: <-0.387965, -0.904997, -0.174541> + 14543: <-0.344072, -0.922682, -0.173989> + 14544: <-0.388632, -0.911854, -0.132240> + 14545: <-0.433281, -0.891405, -0.132911> + 14546: <-0.432149, -0.884654, -0.175026> + 14547: <-0.387965, -0.904997, -0.174541> + 14548: <-0.433281, -0.891405, -0.132911> + 14549: <-0.478208, -0.868033, -0.133553> + 14550: <-0.476614, -0.861427, -0.175453> + 14551: <-0.432149, -0.884654, -0.175026> + 14552: <-0.478208, -0.868033, -0.133553> + 14553: <-0.523307, -0.841527, -0.134100> + 14554: <-0.521180, -0.835133, -0.175853> + 14555: <-0.476614, -0.861427, -0.175453> + 14556: <-0.523307, -0.841527, -0.134100> + 14557: <-0.568382, -0.811677, -0.134618> + 14558: <-0.565675, -0.805587, -0.176188> + 14559: <-0.521180, -0.835133, -0.175853> + 14560: <-0.568382, -0.811677, -0.134618> + 14561: <-0.613218, -0.778295, -0.134985> + 14562: <-0.609892, -0.772589, -0.176461> + 14563: <-0.565675, -0.805587, -0.176188> + 14564: <-0.613218, -0.778295, -0.134985> + 14565: <-0.657468, -0.741243, -0.135260> + 14566: <-0.653502, -0.736025, -0.176644> + 14567: <-0.609892, -0.772589, -0.176461> + 14568: < 0.653502, -0.736025, -0.176644> + 14569: < 0.609892, -0.772589, -0.176461> + 14570: < 0.605748, -0.765608, -0.216596> + 14571: < 0.648606, -0.729636, -0.216660> + 14572: < 0.609892, -0.772589, -0.176461> + 14573: < 0.565675, -0.805587, -0.176188> + 14574: < 0.562257, -0.798110, -0.216534> + 14575: < 0.605748, -0.765608, -0.216596> + 14576: < 0.565675, -0.805587, -0.176188> + 14577: < 0.521180, -0.835133, -0.175853> + 14578: < 0.518435, -0.827263, -0.216475> + 14579: < 0.562257, -0.798110, -0.216534> + 14580: < 0.521180, -0.835133, -0.175853> + 14581: < 0.476614, -0.861427, -0.175453> + 14582: < 0.474515, -0.853230, -0.216413> + 14583: < 0.518435, -0.827263, -0.216475> + 14584: < 0.476614, -0.861427, -0.175453> + 14585: < 0.432149, -0.884654, -0.175026> + 14586: < 0.430657, -0.876208, -0.216320> + 14587: < 0.474515, -0.853230, -0.216413> + 14588: < 0.432149, -0.884654, -0.175026> + 14589: < 0.387965, -0.904997, -0.174541> + 14590: < 0.386985, -0.896382, -0.216199> + 14591: < 0.430657, -0.876208, -0.216320> + 14592: < 0.387965, -0.904997, -0.174541> + 14593: < 0.344072, -0.922682, -0.173989> + 14594: < 0.343582, -0.913949, -0.215982> + 14595: < 0.386985, -0.896382, -0.216199> + 14596: < 0.344072, -0.922682, -0.173989> + 14597: < 0.300496, -0.937897, -0.173351> + 14598: < 0.300461, -0.929096, -0.215649> + 14599: < 0.343582, -0.913949, -0.215982> + 14600: < 0.300496, -0.937897, -0.173351> + 14601: < 0.257217, -0.950800, -0.172679> + 14602: < 0.257519, -0.942000, -0.215220> + 14603: < 0.300461, -0.929096, -0.215649> + 14604: < 0.257217, -0.950800, -0.172679> + 14605: < 0.214182, -0.961530, -0.172005> + 14606: < 0.214732, -0.952775, -0.214732> + 14607: < 0.257519, -0.942000, -0.215220> + 14608: < 0.214182, -0.961530, -0.172005> + 14609: < 0.171305, -0.970211, -0.171305> + 14610: < 0.172005, -0.961530, -0.214182> + 14611: < 0.214732, -0.952775, -0.214732> + 14612: < 0.171305, -0.970211, -0.171305> + 14613: < 0.128545, -0.976904, -0.170691> + 14614: < 0.129250, -0.968319, -0.213666> + 14615: < 0.172005, -0.961530, -0.214182> + 14616: < 0.128545, -0.976904, -0.170691> + 14617: < 0.085788, -0.981668, -0.170203> + 14618: < 0.086398, -0.973180, -0.213204> + 14619: < 0.129250, -0.968319, -0.213666> + 14620: < 0.085788, -0.981668, -0.170203> + 14621: < 0.042970, -0.984530, -0.169866> + 14622: < 0.043306, -0.976120, -0.212870> + 14623: < 0.086398, -0.973180, -0.213204> + 14624: < 0.042970, -0.984530, -0.169866> + 14625: < 0.000000, -0.985488, -0.169746> + 14626: < 0.000000, -0.977107, -0.212750> + 14627: < 0.043306, -0.976120, -0.212870> + 14628: < 0.000000, -0.985488, -0.169746> + 14629: <-0.042970, -0.984530, -0.169866> + 14630: <-0.043306, -0.976120, -0.212870> + 14631: < 0.000000, -0.977107, -0.212750> + 14632: <-0.042970, -0.984530, -0.169866> + 14633: <-0.085788, -0.981668, -0.170203> + 14634: <-0.086398, -0.973180, -0.213204> + 14635: <-0.043306, -0.976120, -0.212870> + 14636: <-0.085788, -0.981668, -0.170203> + 14637: <-0.128545, -0.976904, -0.170691> + 14638: <-0.129250, -0.968319, -0.213666> + 14639: <-0.086398, -0.973180, -0.213204> + 14640: <-0.128545, -0.976904, -0.170691> + 14641: <-0.171305, -0.970211, -0.171305> + 14642: <-0.172005, -0.961530, -0.214182> + 14643: <-0.129250, -0.968319, -0.213666> + 14644: <-0.171305, -0.970211, -0.171305> + 14645: <-0.214182, -0.961530, -0.172005> + 14646: <-0.214732, -0.952775, -0.214732> + 14647: <-0.172005, -0.961530, -0.214182> + 14648: <-0.214182, -0.961530, -0.172005> + 14649: <-0.257217, -0.950800, -0.172679> + 14650: <-0.257519, -0.942000, -0.215220> + 14651: <-0.214732, -0.952775, -0.214732> + 14652: <-0.257217, -0.950800, -0.172679> + 14653: <-0.300496, -0.937897, -0.173351> + 14654: <-0.300461, -0.929096, -0.215649> + 14655: <-0.257519, -0.942000, -0.215220> + 14656: <-0.300496, -0.937897, -0.173351> + 14657: <-0.344072, -0.922682, -0.173989> + 14658: <-0.343582, -0.913949, -0.215982> + 14659: <-0.300461, -0.929096, -0.215649> + 14660: <-0.344072, -0.922682, -0.173989> + 14661: <-0.387965, -0.904997, -0.174541> + 14662: <-0.386985, -0.896382, -0.216199> + 14663: <-0.343582, -0.913949, -0.215982> + 14664: <-0.387965, -0.904997, -0.174541> + 14665: <-0.432149, -0.884654, -0.175026> + 14666: <-0.430657, -0.876208, -0.216320> + 14667: <-0.386985, -0.896382, -0.216199> + 14668: <-0.432149, -0.884654, -0.175026> + 14669: <-0.476614, -0.861427, -0.175453> + 14670: <-0.474515, -0.853230, -0.216413> + 14671: <-0.430657, -0.876208, -0.216320> + 14672: <-0.476614, -0.861427, -0.175453> + 14673: <-0.521180, -0.835133, -0.175853> + 14674: <-0.518435, -0.827263, -0.216475> + 14675: <-0.474515, -0.853230, -0.216413> + 14676: <-0.521180, -0.835133, -0.175853> + 14677: <-0.565675, -0.805587, -0.176188> + 14678: <-0.562257, -0.798110, -0.216534> + 14679: <-0.518435, -0.827263, -0.216475> + 14680: <-0.565675, -0.805587, -0.176188> + 14681: <-0.609892, -0.772589, -0.176461> + 14682: <-0.605748, -0.765608, -0.216596> + 14683: <-0.562257, -0.798110, -0.216534> + 14684: <-0.609892, -0.772589, -0.176461> + 14685: <-0.653502, -0.736025, -0.176644> + 14686: <-0.648606, -0.729636, -0.216660> + 14687: <-0.605748, -0.765608, -0.216596> + 14688: < 0.648606, -0.729636, -0.216660> + 14689: < 0.605748, -0.765608, -0.216596> + 14690: < 0.600829, -0.757361, -0.255750> + 14691: < 0.642833, -0.722093, -0.255632> + 14692: < 0.605748, -0.765608, -0.216596> + 14693: < 0.562257, -0.798110, -0.216534> + 14694: < 0.558172, -0.789266, -0.255937> + 14695: < 0.600829, -0.757361, -0.255750> + 14696: < 0.562257, -0.798110, -0.216534> + 14697: < 0.518435, -0.827263, -0.216475> + 14698: < 0.515110, -0.817925, -0.256243> + 14699: < 0.558172, -0.789266, -0.255937> + 14700: < 0.518435, -0.827263, -0.216475> + 14701: < 0.474515, -0.853230, -0.216413> + 14702: < 0.471888, -0.843490, -0.256606> + 14703: < 0.515110, -0.817925, -0.256243> + 14704: < 0.474515, -0.853230, -0.216413> + 14705: < 0.430657, -0.876208, -0.216320> + 14706: < 0.428698, -0.866124, -0.256999> + 14707: < 0.471888, -0.843490, -0.256606> + 14708: < 0.430657, -0.876208, -0.216320> + 14709: < 0.386985, -0.896382, -0.216199> + 14710: < 0.385664, -0.886018, -0.257364> + 14711: < 0.428698, -0.866124, -0.256999> + 14712: < 0.386985, -0.896382, -0.216199> + 14713: < 0.343582, -0.913949, -0.215982> + 14714: < 0.342825, -0.903377, -0.257646> + 14715: < 0.385664, -0.886018, -0.257364> + 14716: < 0.343582, -0.913949, -0.215982> + 14717: < 0.300461, -0.929096, -0.215649> + 14718: < 0.300219, -0.918390, -0.257736> + 14719: < 0.342825, -0.903377, -0.257646> + 14720: < 0.300461, -0.929096, -0.215649> + 14721: < 0.257519, -0.942000, -0.215220> + 14722: < 0.257702, -0.931225, -0.257702> + 14723: < 0.300219, -0.918390, -0.257736> + 14724: < 0.257519, -0.942000, -0.215220> + 14725: < 0.214732, -0.952775, -0.214732> + 14726: < 0.215220, -0.942000, -0.257519> + 14727: < 0.257702, -0.931225, -0.257702> + 14728: < 0.214732, -0.952775, -0.214732> + 14729: < 0.172005, -0.961530, -0.214182> + 14730: < 0.172679, -0.950800, -0.257217> + 14731: < 0.215220, -0.942000, -0.257519> + 14732: < 0.172005, -0.961530, -0.214182> + 14733: < 0.129250, -0.968319, -0.213666> + 14734: < 0.129981, -0.957663, -0.256880> + 14735: < 0.172679, -0.950800, -0.257217> + 14736: < 0.129250, -0.968319, -0.213666> + 14737: < 0.086398, -0.973180, -0.213204> + 14738: < 0.087041, -0.962605, -0.256544> + 14739: < 0.129981, -0.957663, -0.256880> + 14740: < 0.086398, -0.973180, -0.213204> + 14741: < 0.043306, -0.976120, -0.212870> + 14742: < 0.043703, -0.965618, -0.256267> + 14743: < 0.087041, -0.962605, -0.256544> + 14744: < 0.043306, -0.976120, -0.212870> + 14745: < 0.000000, -0.977107, -0.212750> + 14746: < 0.000000, -0.966630, -0.256177> + 14747: < 0.043703, -0.965618, -0.256267> + 14748: < 0.000000, -0.977107, -0.212750> + 14749: <-0.043306, -0.976120, -0.212870> + 14750: <-0.043703, -0.965618, -0.256267> + 14751: < 0.000000, -0.966630, -0.256177> + 14752: <-0.043306, -0.976120, -0.212870> + 14753: <-0.086398, -0.973180, -0.213204> + 14754: <-0.087041, -0.962605, -0.256544> + 14755: <-0.043703, -0.965618, -0.256267> + 14756: <-0.086398, -0.973180, -0.213204> + 14757: <-0.129250, -0.968319, -0.213666> + 14758: <-0.129981, -0.957663, -0.256880> + 14759: <-0.087041, -0.962605, -0.256544> + 14760: <-0.129250, -0.968319, -0.213666> + 14761: <-0.172005, -0.961530, -0.214182> + 14762: <-0.172679, -0.950800, -0.257217> + 14763: <-0.129981, -0.957663, -0.256880> + 14764: <-0.172005, -0.961530, -0.214182> + 14765: <-0.214732, -0.952775, -0.214732> + 14766: <-0.215220, -0.942000, -0.257519> + 14767: <-0.172679, -0.950800, -0.257217> + 14768: <-0.214732, -0.952775, -0.214732> + 14769: <-0.257519, -0.942000, -0.215220> + 14770: <-0.257702, -0.931225, -0.257702> + 14771: <-0.215220, -0.942000, -0.257519> + 14772: <-0.257519, -0.942000, -0.215220> + 14773: <-0.300461, -0.929096, -0.215649> + 14774: <-0.300219, -0.918390, -0.257736> + 14775: <-0.257702, -0.931225, -0.257702> + 14776: <-0.300461, -0.929096, -0.215649> + 14777: <-0.343582, -0.913949, -0.215982> + 14778: <-0.342852, -0.903367, -0.257643> + 14779: <-0.300219, -0.918390, -0.257736> + 14780: <-0.343582, -0.913949, -0.215982> + 14781: <-0.386985, -0.896382, -0.216199> + 14782: <-0.385664, -0.886018, -0.257364> + 14783: <-0.342852, -0.903367, -0.257643> + 14784: <-0.386985, -0.896382, -0.216199> + 14785: <-0.430657, -0.876208, -0.216320> + 14786: <-0.428698, -0.866124, -0.256999> + 14787: <-0.385664, -0.886018, -0.257364> + 14788: <-0.430657, -0.876208, -0.216320> + 14789: <-0.474515, -0.853230, -0.216413> + 14790: <-0.471888, -0.843490, -0.256606> + 14791: <-0.428698, -0.866124, -0.256999> + 14792: <-0.474515, -0.853230, -0.216413> + 14793: <-0.518435, -0.827263, -0.216475> + 14794: <-0.515110, -0.817925, -0.256243> + 14795: <-0.471888, -0.843490, -0.256606> + 14796: <-0.518435, -0.827263, -0.216475> + 14797: <-0.562257, -0.798110, -0.216534> + 14798: <-0.558172, -0.789266, -0.255937> + 14799: <-0.515110, -0.817925, -0.256243> + 14800: <-0.562257, -0.798110, -0.216534> + 14801: <-0.605748, -0.765608, -0.216596> + 14802: <-0.600829, -0.757361, -0.255750> + 14803: <-0.558172, -0.789266, -0.255937> + 14804: <-0.605748, -0.765608, -0.216596> + 14805: <-0.648606, -0.729636, -0.216660> + 14806: <-0.642833, -0.722093, -0.255632> + 14807: <-0.600829, -0.757361, -0.255750> + 14808: < 0.642833, -0.722093, -0.255632> + 14809: < 0.600829, -0.757361, -0.255750> + 14810: < 0.595158, -0.747816, -0.294207> + 14811: < 0.636150, -0.713396, -0.293904> + 14812: < 0.600829, -0.757361, -0.255750> + 14813: < 0.558172, -0.789266, -0.255937> + 14814: < 0.553415, -0.779017, -0.294729> + 14815: < 0.595158, -0.747816, -0.294207> + 14816: < 0.558172, -0.789266, -0.255937> + 14817: < 0.515110, -0.817925, -0.256243> + 14818: < 0.511198, -0.807082, -0.295457> + 14819: < 0.553415, -0.779017, -0.294729> + 14820: < 0.515110, -0.817925, -0.256243> + 14821: < 0.471888, -0.843490, -0.256606> + 14822: < 0.468770, -0.832128, -0.296339> + 14823: < 0.511198, -0.807082, -0.295457> + 14824: < 0.471888, -0.843490, -0.256606> + 14825: < 0.428698, -0.866124, -0.256999> + 14826: < 0.426323, -0.854324, -0.297287> + 14827: < 0.468770, -0.832128, -0.296339> + 14828: < 0.428698, -0.866124, -0.256999> + 14829: < 0.385664, -0.886018, -0.257364> + 14830: < 0.383986, -0.873840, -0.298259> + 14831: < 0.426323, -0.854324, -0.297287> + 14832: < 0.385664, -0.886018, -0.257364> + 14833: < 0.342825, -0.903377, -0.257646> + 14834: < 0.341811, -0.890906, -0.299085> + 14835: < 0.383986, -0.873840, -0.298259> + 14836: < 0.342825, -0.903377, -0.257646> + 14837: < 0.300219, -0.918390, -0.257736> + 14838: < 0.299762, -0.905696, -0.299762> + 14839: < 0.341811, -0.890906, -0.299085> + 14840: < 0.300219, -0.918390, -0.257736> + 14841: < 0.257702, -0.931225, -0.257702> + 14842: < 0.257736, -0.918390, -0.300219> + 14843: < 0.299762, -0.905696, -0.299762> + 14844: < 0.257702, -0.931225, -0.257702> + 14845: < 0.215220, -0.942000, -0.257519> + 14846: < 0.215649, -0.929096, -0.300461> + 14847: < 0.257736, -0.918390, -0.300219> + 14848: < 0.215220, -0.942000, -0.257519> + 14849: < 0.172679, -0.950800, -0.257217> + 14850: < 0.173351, -0.937897, -0.300496> + 14851: < 0.215649, -0.929096, -0.300461> + 14852: < 0.172679, -0.950800, -0.257217> + 14853: < 0.129981, -0.957663, -0.256880> + 14854: < 0.130743, -0.944802, -0.300427> + 14855: < 0.173351, -0.937897, -0.300496> + 14856: < 0.129981, -0.957663, -0.256880> + 14857: < 0.087041, -0.962605, -0.256544> + 14858: < 0.087712, -0.949820, -0.300248> + 14859: < 0.130743, -0.944802, -0.300427> + 14860: < 0.087041, -0.962605, -0.256544> + 14861: < 0.043703, -0.965618, -0.256267> + 14862: < 0.044130, -0.952889, -0.300092> + 14863: < 0.087712, -0.949820, -0.300248> + 14864: < 0.043703, -0.965618, -0.256267> + 14865: < 0.000000, -0.966630, -0.256177> + 14866: < 0.000000, -0.953921, -0.300059> + 14867: < 0.044130, -0.952889, -0.300092> + 14868: < 0.000000, -0.966630, -0.256177> + 14869: <-0.043703, -0.965618, -0.256267> + 14870: <-0.044130, -0.952889, -0.300092> + 14871: < 0.000000, -0.953921, -0.300059> + 14872: <-0.043703, -0.965618, -0.256267> + 14873: <-0.087041, -0.962605, -0.256544> + 14874: <-0.087712, -0.949820, -0.300248> + 14875: <-0.044130, -0.952889, -0.300092> + 14876: <-0.087041, -0.962605, -0.256544> + 14877: <-0.129981, -0.957663, -0.256880> + 14878: <-0.130743, -0.944802, -0.300427> + 14879: <-0.087712, -0.949820, -0.300248> + 14880: <-0.129981, -0.957663, -0.256880> + 14881: <-0.172679, -0.950800, -0.257217> + 14882: <-0.173351, -0.937897, -0.300496> + 14883: <-0.130743, -0.944802, -0.300427> + 14884: <-0.172679, -0.950800, -0.257217> + 14885: <-0.215220, -0.942000, -0.257519> + 14886: <-0.215649, -0.929096, -0.300461> + 14887: <-0.173351, -0.937897, -0.300496> + 14888: <-0.215220, -0.942000, -0.257519> + 14889: <-0.257702, -0.931225, -0.257702> + 14890: <-0.257736, -0.918390, -0.300219> + 14891: <-0.215649, -0.929096, -0.300461> + 14892: <-0.257702, -0.931225, -0.257702> + 14893: <-0.300219, -0.918390, -0.257736> + 14894: <-0.299762, -0.905696, -0.299762> + 14895: <-0.257736, -0.918390, -0.300219> + 14896: <-0.300219, -0.918390, -0.257736> + 14897: <-0.342852, -0.903367, -0.257643> + 14898: <-0.341811, -0.890906, -0.299085> + 14899: <-0.299762, -0.905696, -0.299762> + 14900: <-0.342852, -0.903367, -0.257643> + 14901: <-0.385664, -0.886018, -0.257364> + 14902: <-0.383960, -0.873851, -0.298262> + 14903: <-0.341811, -0.890906, -0.299085> + 14904: <-0.385664, -0.886018, -0.257364> + 14905: <-0.428698, -0.866124, -0.256999> + 14906: <-0.426323, -0.854324, -0.297287> + 14907: <-0.383960, -0.873851, -0.298262> + 14908: <-0.428698, -0.866124, -0.256999> + 14909: <-0.471888, -0.843490, -0.256606> + 14910: <-0.468770, -0.832128, -0.296339> + 14911: <-0.426323, -0.854324, -0.297287> + 14912: <-0.471888, -0.843490, -0.256606> + 14913: <-0.515110, -0.817925, -0.256243> + 14914: <-0.511198, -0.807082, -0.295457> + 14915: <-0.468770, -0.832128, -0.296339> + 14916: <-0.515110, -0.817925, -0.256243> + 14917: <-0.558172, -0.789266, -0.255937> + 14918: <-0.553415, -0.779017, -0.294729> + 14919: <-0.511198, -0.807082, -0.295457> + 14920: <-0.558172, -0.789266, -0.255937> + 14921: <-0.600829, -0.757361, -0.255750> + 14922: <-0.595158, -0.747816, -0.294207> + 14923: <-0.553415, -0.779017, -0.294729> + 14924: <-0.600829, -0.757361, -0.255750> + 14925: <-0.642833, -0.722093, -0.255632> + 14926: <-0.636150, -0.713396, -0.293904> + 14927: <-0.595158, -0.747816, -0.294207> + 14928: < 0.636150, -0.713396, -0.293904> + 14929: < 0.595158, -0.747816, -0.294207> + 14930: < 0.588744, -0.736915, -0.332170> + 14931: < 0.628603, -0.703467, -0.331652> + 14932: < 0.595158, -0.747816, -0.294207> + 14933: < 0.553415, -0.779017, -0.294729> + 14934: < 0.548009, -0.767292, -0.333090> + 14935: < 0.588744, -0.736915, -0.332170> + 14936: < 0.553415, -0.779017, -0.294729> + 14937: < 0.511198, -0.807082, -0.295457> + 14938: < 0.506740, -0.794627, -0.334337> + 14939: < 0.548009, -0.767292, -0.333090> + 14940: < 0.511198, -0.807082, -0.295457> + 14941: < 0.468770, -0.832128, -0.296339> + 14942: < 0.465202, -0.819039, -0.335801> + 14943: < 0.506740, -0.794627, -0.334337> + 14944: < 0.468770, -0.832128, -0.296339> + 14945: < 0.426323, -0.854324, -0.297287> + 14946: < 0.423577, -0.840684, -0.337391> + 14947: < 0.465202, -0.819039, -0.335801> + 14948: < 0.426323, -0.854324, -0.297287> + 14949: < 0.383986, -0.873840, -0.298259> + 14950: < 0.381976, -0.859750, -0.339005> + 14951: < 0.423577, -0.840684, -0.337391> + 14952: < 0.383986, -0.873840, -0.298259> + 14953: < 0.341811, -0.890906, -0.299085> + 14954: < 0.340503, -0.876422, -0.340503> + 14955: < 0.381976, -0.859750, -0.339005> + 14956: < 0.341811, -0.890906, -0.299085> + 14957: < 0.299762, -0.905696, -0.299762> + 14958: < 0.299085, -0.890906, -0.341811> + 14959: < 0.340503, -0.876422, -0.340503> + 14960: < 0.299762, -0.905696, -0.299762> + 14961: < 0.257736, -0.918390, -0.300219> + 14962: < 0.257643, -0.903367, -0.342852> + 14963: < 0.299085, -0.890906, -0.341811> + 14964: < 0.257736, -0.918390, -0.300219> + 14965: < 0.215649, -0.929096, -0.300461> + 14966: < 0.215982, -0.913949, -0.343582> + 14967: < 0.257643, -0.903367, -0.342852> + 14968: < 0.215649, -0.929096, -0.300461> + 14969: < 0.173351, -0.937897, -0.300496> + 14970: < 0.173989, -0.922682, -0.344072> + 14971: < 0.215982, -0.913949, -0.343582> + 14972: < 0.173351, -0.937897, -0.300496> + 14973: < 0.130743, -0.944802, -0.300427> + 14974: < 0.131509, -0.929596, -0.344322> + 14975: < 0.173989, -0.922682, -0.344072> + 14976: < 0.130743, -0.944802, -0.300427> + 14977: < 0.087712, -0.949820, -0.300248> + 14978: < 0.088414, -0.934648, -0.344408> + 14979: < 0.131509, -0.929596, -0.344322> + 14980: < 0.087712, -0.949820, -0.300248> + 14981: < 0.044130, -0.952889, -0.300092> + 14982: < 0.044558, -0.937762, -0.344409> + 14983: < 0.088414, -0.934648, -0.344408> + 14984: < 0.044130, -0.952889, -0.300092> + 14985: < 0.000000, -0.953921, -0.300059> + 14986: < 0.000000, -0.938821, -0.344405> + 14987: < 0.044558, -0.937762, -0.344409> + 14988: < 0.000000, -0.953921, -0.300059> + 14989: <-0.044130, -0.952889, -0.300092> + 14990: <-0.044558, -0.937762, -0.344409> + 14991: < 0.000000, -0.938821, -0.344405> + 14992: <-0.044130, -0.952889, -0.300092> + 14993: <-0.087712, -0.949820, -0.300248> + 14994: <-0.088414, -0.934648, -0.344408> + 14995: <-0.044558, -0.937762, -0.344409> + 14996: <-0.087712, -0.949820, -0.300248> + 14997: <-0.130743, -0.944802, -0.300427> + 14998: <-0.131509, -0.929596, -0.344322> + 14999: <-0.088414, -0.934648, -0.344408> + 15000: <-0.130743, -0.944802, -0.300427> + 15001: <-0.173351, -0.937897, -0.300496> + 15002: <-0.173989, -0.922682, -0.344072> + 15003: <-0.131509, -0.929596, -0.344322> + 15004: <-0.173351, -0.937897, -0.300496> + 15005: <-0.215649, -0.929096, -0.300461> + 15006: <-0.215982, -0.913949, -0.343582> + 15007: <-0.173989, -0.922682, -0.344072> + 15008: <-0.215649, -0.929096, -0.300461> + 15009: <-0.257736, -0.918390, -0.300219> + 15010: <-0.257643, -0.903367, -0.342852> + 15011: <-0.215982, -0.913949, -0.343582> + 15012: <-0.257736, -0.918390, -0.300219> + 15013: <-0.299762, -0.905696, -0.299762> + 15014: <-0.299085, -0.890906, -0.341811> + 15015: <-0.257643, -0.903367, -0.342852> + 15016: <-0.299762, -0.905696, -0.299762> + 15017: <-0.341811, -0.890906, -0.299085> + 15018: <-0.340503, -0.876422, -0.340503> + 15019: <-0.299085, -0.890906, -0.341811> + 15020: <-0.341811, -0.890906, -0.299085> + 15021: <-0.383960, -0.873851, -0.298262> + 15022: <-0.381976, -0.859750, -0.339005> + 15023: <-0.340503, -0.876422, -0.340503> + 15024: <-0.383960, -0.873851, -0.298262> + 15025: <-0.426323, -0.854324, -0.297287> + 15026: <-0.423577, -0.840684, -0.337391> + 15027: <-0.381976, -0.859750, -0.339005> + 15028: <-0.426323, -0.854324, -0.297287> + 15029: <-0.468770, -0.832128, -0.296339> + 15030: <-0.465202, -0.819039, -0.335801> + 15031: <-0.423577, -0.840684, -0.337391> + 15032: <-0.468770, -0.832128, -0.296339> + 15033: <-0.511198, -0.807082, -0.295457> + 15034: <-0.506745, -0.794636, -0.334310> + 15035: <-0.465202, -0.819039, -0.335801> + 15036: <-0.511198, -0.807082, -0.295457> + 15037: <-0.553415, -0.779017, -0.294729> + 15038: <-0.548009, -0.767292, -0.333090> + 15039: <-0.506745, -0.794636, -0.334310> + 15040: <-0.553415, -0.779017, -0.294729> + 15041: <-0.595158, -0.747816, -0.294207> + 15042: <-0.588744, -0.736915, -0.332170> + 15043: <-0.548009, -0.767292, -0.333090> + 15044: <-0.595158, -0.747816, -0.294207> + 15045: <-0.636150, -0.713396, -0.293904> + 15046: <-0.628603, -0.703467, -0.331652> + 15047: <-0.588744, -0.736915, -0.332170> + 15048: < 0.628603, -0.703467, -0.331652> + 15049: < 0.588744, -0.736915, -0.332170> + 15050: < 0.581661, -0.724825, -0.369188> + 15051: < 0.620305, -0.692544, -0.368246> + 15052: < 0.588744, -0.736915, -0.332170> + 15053: < 0.548009, -0.767292, -0.333090> + 15054: < 0.542028, -0.754169, -0.370721> + 15055: < 0.581661, -0.724825, -0.369188> + 15056: < 0.548009, -0.767292, -0.333090> + 15057: < 0.506740, -0.794627, -0.334337> + 15058: < 0.501802, -0.780568, -0.372705> + 15059: < 0.542028, -0.754169, -0.370721> + 15060: < 0.506740, -0.794627, -0.334337> + 15061: < 0.465202, -0.819039, -0.335801> + 15062: < 0.461239, -0.804154, -0.374961> + 15063: < 0.501802, -0.780568, -0.372705> + 15064: < 0.465202, -0.819039, -0.335801> + 15065: < 0.423577, -0.840684, -0.337391> + 15066: < 0.420500, -0.825100, -0.377345> + 15067: < 0.461239, -0.804154, -0.374961> + 15068: < 0.423577, -0.840684, -0.337391> + 15069: < 0.381976, -0.859750, -0.339005> + 15070: < 0.379751, -0.843551, -0.379751> + 15071: < 0.420500, -0.825100, -0.377345> + 15072: < 0.381976, -0.859750, -0.339005> + 15073: < 0.340503, -0.876422, -0.340503> + 15074: < 0.339005, -0.859750, -0.381976> + 15075: < 0.379751, -0.843551, -0.379751> + 15076: < 0.340503, -0.876422, -0.340503> + 15077: < 0.299085, -0.890906, -0.341811> + 15078: < 0.298262, -0.873851, -0.383960> + 15079: < 0.339005, -0.859750, -0.381976> + 15080: < 0.299085, -0.890906, -0.341811> + 15081: < 0.257643, -0.903367, -0.342852> + 15082: < 0.257367, -0.886028, -0.385638> + 15083: < 0.298262, -0.873851, -0.383960> + 15084: < 0.257643, -0.903367, -0.342852> + 15085: < 0.215982, -0.913949, -0.343582> + 15086: < 0.216199, -0.896382, -0.386985> + 15087: < 0.257367, -0.886028, -0.385638> + 15088: < 0.215982, -0.913949, -0.343582> + 15089: < 0.173989, -0.922682, -0.344072> + 15090: < 0.174541, -0.904997, -0.387965> + 15091: < 0.216199, -0.896382, -0.386985> + 15092: < 0.173989, -0.922682, -0.344072> + 15093: < 0.131509, -0.929596, -0.344322> + 15094: < 0.132240, -0.911854, -0.388632> + 15095: < 0.174541, -0.904997, -0.387965> + 15096: < 0.131509, -0.929596, -0.344322> + 15097: < 0.088414, -0.934648, -0.344408> + 15098: < 0.089116, -0.916918, -0.388998> + 15099: < 0.132240, -0.911854, -0.388632> + 15100: < 0.088414, -0.934648, -0.344408> + 15101: < 0.044558, -0.937762, -0.344409> + 15102: < 0.045016, -0.920061, -0.389180> + 15103: < 0.089116, -0.916918, -0.388998> + 15104: < 0.044558, -0.937762, -0.344409> + 15105: < 0.000000, -0.938821, -0.344405> + 15106: < 0.000000, -0.921135, -0.389244> + 15107: < 0.045016, -0.920061, -0.389180> + 15108: < 0.000000, -0.938821, -0.344405> + 15109: <-0.044558, -0.937762, -0.344409> + 15110: <-0.045016, -0.920061, -0.389180> + 15111: < 0.000000, -0.921135, -0.389244> + 15112: <-0.044558, -0.937762, -0.344409> + 15113: <-0.088414, -0.934648, -0.344408> + 15114: <-0.089116, -0.916918, -0.388998> + 15115: <-0.045016, -0.920061, -0.389180> + 15116: <-0.088414, -0.934648, -0.344408> + 15117: <-0.131509, -0.929596, -0.344322> + 15118: <-0.132240, -0.911854, -0.388632> + 15119: <-0.089116, -0.916918, -0.388998> + 15120: <-0.131509, -0.929596, -0.344322> + 15121: <-0.173989, -0.922682, -0.344072> + 15122: <-0.174541, -0.904997, -0.387965> + 15123: <-0.132240, -0.911854, -0.388632> + 15124: <-0.173989, -0.922682, -0.344072> + 15125: <-0.215982, -0.913949, -0.343582> + 15126: <-0.216199, -0.896382, -0.386985> + 15127: <-0.174541, -0.904997, -0.387965> + 15128: <-0.215982, -0.913949, -0.343582> + 15129: <-0.257643, -0.903367, -0.342852> + 15130: <-0.257364, -0.886018, -0.385664> + 15131: <-0.216199, -0.896382, -0.386985> + 15132: <-0.257643, -0.903367, -0.342852> + 15133: <-0.299085, -0.890906, -0.341811> + 15134: <-0.298262, -0.873851, -0.383960> + 15135: <-0.257364, -0.886018, -0.385664> + 15136: <-0.299085, -0.890906, -0.341811> + 15137: <-0.340503, -0.876422, -0.340503> + 15138: <-0.339005, -0.859750, -0.381976> + 15139: <-0.298262, -0.873851, -0.383960> + 15140: <-0.340503, -0.876422, -0.340503> + 15141: <-0.381976, -0.859750, -0.339005> + 15142: <-0.379751, -0.843551, -0.379751> + 15143: <-0.339005, -0.859750, -0.381976> + 15144: <-0.381976, -0.859750, -0.339005> + 15145: <-0.423577, -0.840684, -0.337391> + 15146: <-0.420500, -0.825100, -0.377345> + 15147: <-0.379751, -0.843551, -0.379751> + 15148: <-0.423577, -0.840684, -0.337391> + 15149: <-0.465202, -0.819039, -0.335801> + 15150: <-0.461239, -0.804154, -0.374961> + 15151: <-0.420500, -0.825100, -0.377345> + 15152: <-0.465202, -0.819039, -0.335801> + 15153: <-0.506745, -0.794636, -0.334310> + 15154: <-0.501802, -0.780568, -0.372705> + 15155: <-0.461239, -0.804154, -0.374961> + 15156: <-0.506745, -0.794636, -0.334310> + 15157: <-0.548009, -0.767292, -0.333090> + 15158: <-0.542028, -0.754169, -0.370721> + 15159: <-0.501802, -0.780568, -0.372705> + 15160: <-0.548009, -0.767292, -0.333090> + 15161: <-0.588744, -0.736915, -0.332170> + 15162: <-0.581661, -0.724825, -0.369188> + 15163: <-0.542028, -0.754169, -0.370721> + 15164: <-0.588744, -0.736915, -0.332170> + 15165: <-0.628603, -0.703467, -0.331652> + 15166: <-0.620305, -0.692544, -0.368246> + 15167: <-0.581661, -0.724825, -0.369188> + 15168: < 0.620305, -0.692544, -0.368246> + 15169: < 0.581661, -0.724825, -0.369188> + 15170: < 0.574008, -0.711772, -0.404839> + 15171: < 0.611427, -0.680859, -0.403223> + 15172: < 0.581661, -0.724825, -0.369188> + 15173: < 0.542028, -0.754169, -0.370721> + 15174: < 0.535518, -0.739812, -0.407307> + 15175: < 0.574008, -0.711772, -0.404839> + 15176: < 0.542028, -0.754169, -0.370721> + 15177: < 0.501802, -0.780568, -0.372705> + 15178: < 0.496372, -0.764976, -0.410398> + 15179: < 0.535518, -0.739812, -0.407307> + 15180: < 0.501802, -0.780568, -0.372705> + 15181: < 0.461239, -0.804154, -0.374961> + 15182: < 0.456900, -0.787421, -0.413777> + 15183: < 0.496372, -0.764976, -0.410398> + 15184: < 0.461239, -0.804154, -0.374961> + 15185: < 0.420500, -0.825100, -0.377345> + 15186: < 0.417202, -0.807394, -0.417202> + 15187: < 0.456900, -0.787421, -0.413777> + 15188: < 0.420500, -0.825100, -0.377345> + 15189: < 0.379751, -0.843551, -0.379751> + 15190: < 0.377345, -0.825100, -0.420500> + 15191: < 0.417202, -0.807394, -0.417202> + 15192: < 0.379751, -0.843551, -0.379751> + 15193: < 0.339005, -0.859750, -0.381976> + 15194: < 0.337391, -0.840684, -0.423577> + 15195: < 0.377345, -0.825100, -0.420500> + 15196: < 0.339005, -0.859750, -0.381976> + 15197: < 0.298262, -0.873851, -0.383960> + 15198: < 0.297287, -0.854324, -0.426323> + 15199: < 0.337391, -0.840684, -0.423577> + 15200: < 0.298262, -0.873851, -0.383960> + 15201: < 0.257367, -0.886028, -0.385638> + 15202: < 0.256999, -0.866124, -0.428698> + 15203: < 0.297287, -0.854324, -0.426323> + 15204: < 0.257367, -0.886028, -0.385638> + 15205: < 0.216199, -0.896382, -0.386985> + 15206: < 0.216320, -0.876208, -0.430657> + 15207: < 0.256999, -0.866124, -0.428698> + 15208: < 0.216199, -0.896382, -0.386985> + 15209: < 0.174541, -0.904997, -0.387965> + 15210: < 0.175026, -0.884654, -0.432149> + 15211: < 0.216320, -0.876208, -0.430657> + 15212: < 0.174541, -0.904997, -0.387965> + 15213: < 0.132240, -0.911854, -0.388632> + 15214: < 0.132911, -0.891405, -0.433281> + 15215: < 0.175026, -0.884654, -0.432149> + 15216: < 0.132240, -0.911854, -0.388632> + 15217: < 0.089116, -0.916918, -0.388998> + 15218: < 0.089787, -0.896437, -0.433981> + 15219: < 0.132911, -0.891405, -0.433281> + 15220: < 0.089116, -0.916918, -0.388998> + 15221: < 0.045016, -0.920061, -0.389180> + 15222: < 0.045443, -0.899583, -0.434379> + 15223: < 0.089787, -0.896437, -0.433981> + 15224: < 0.045016, -0.920061, -0.389180> + 15225: < 0.000000, -0.921135, -0.389244> + 15226: < 0.000000, -0.900655, -0.434534> + 15227: < 0.045443, -0.899583, -0.434379> + 15228: < 0.000000, -0.921135, -0.389244> + 15229: <-0.045016, -0.920061, -0.389180> + 15230: <-0.045443, -0.899583, -0.434379> + 15231: < 0.000000, -0.900655, -0.434534> + 15232: <-0.045016, -0.920061, -0.389180> + 15233: <-0.089116, -0.916918, -0.388998> + 15234: <-0.089787, -0.896437, -0.433981> + 15235: <-0.045443, -0.899583, -0.434379> + 15236: <-0.089116, -0.916918, -0.388998> + 15237: <-0.132240, -0.911854, -0.388632> + 15238: <-0.132911, -0.891405, -0.433281> + 15239: <-0.089787, -0.896437, -0.433981> + 15240: <-0.132240, -0.911854, -0.388632> + 15241: <-0.174541, -0.904997, -0.387965> + 15242: <-0.175026, -0.884654, -0.432149> + 15243: <-0.132911, -0.891405, -0.433281> + 15244: <-0.174541, -0.904997, -0.387965> + 15245: <-0.216199, -0.896382, -0.386985> + 15246: <-0.216320, -0.876208, -0.430657> + 15247: <-0.175026, -0.884654, -0.432149> + 15248: <-0.216199, -0.896382, -0.386985> + 15249: <-0.257364, -0.886018, -0.385664> + 15250: <-0.256999, -0.866124, -0.428698> + 15251: <-0.216320, -0.876208, -0.430657> + 15252: <-0.257364, -0.886018, -0.385664> + 15253: <-0.298262, -0.873851, -0.383960> + 15254: <-0.297287, -0.854324, -0.426323> + 15255: <-0.256999, -0.866124, -0.428698> + 15256: <-0.298262, -0.873851, -0.383960> + 15257: <-0.339005, -0.859750, -0.381976> + 15258: <-0.337391, -0.840684, -0.423577> + 15259: <-0.297287, -0.854324, -0.426323> + 15260: <-0.339005, -0.859750, -0.381976> + 15261: <-0.379751, -0.843551, -0.379751> + 15262: <-0.377345, -0.825100, -0.420500> + 15263: <-0.337391, -0.840684, -0.423577> + 15264: <-0.379751, -0.843551, -0.379751> + 15265: <-0.420500, -0.825100, -0.377345> + 15266: <-0.417202, -0.807394, -0.417202> + 15267: <-0.377345, -0.825100, -0.420500> + 15268: <-0.420500, -0.825100, -0.377345> + 15269: <-0.461239, -0.804154, -0.374961> + 15270: <-0.456900, -0.787421, -0.413777> + 15271: <-0.417202, -0.807394, -0.417202> + 15272: <-0.461239, -0.804154, -0.374961> + 15273: <-0.501802, -0.780568, -0.372705> + 15274: <-0.496395, -0.764964, -0.410392> + 15275: <-0.456900, -0.787421, -0.413777> + 15276: <-0.501802, -0.780568, -0.372705> + 15277: <-0.542028, -0.754169, -0.370721> + 15278: <-0.535518, -0.739812, -0.407307> + 15279: <-0.496395, -0.764964, -0.410392> + 15280: <-0.542028, -0.754169, -0.370721> + 15281: <-0.581661, -0.724825, -0.369188> + 15282: <-0.574008, -0.711772, -0.404839> + 15283: <-0.535518, -0.739812, -0.407307> + 15284: <-0.581661, -0.724825, -0.369188> + 15285: <-0.620305, -0.692544, -0.368246> + 15286: <-0.611427, -0.680859, -0.403223> + 15287: <-0.574008, -0.711772, -0.404839> + 15288: < 0.611427, -0.680859, -0.403223> + 15289: < 0.574008, -0.711772, -0.404839> + 15290: < 0.565794, -0.697667, -0.439475> + 15291: < 0.601963, -0.668312, -0.437036> + 15292: < 0.574008, -0.711772, -0.404839> + 15293: < 0.535518, -0.739812, -0.407307> + 15294: < 0.528478, -0.724109, -0.443145> + 15295: < 0.565794, -0.697667, -0.439475> + 15296: < 0.535518, -0.739812, -0.407307> + 15297: < 0.496372, -0.764976, -0.410398> + 15298: < 0.490534, -0.747688, -0.447593> + 15299: < 0.528478, -0.724109, -0.443145> + 15300: < 0.496372, -0.764976, -0.410398> + 15301: < 0.456900, -0.787421, -0.413777> + 15302: < 0.452290, -0.768679, -0.452290> + 15303: < 0.490534, -0.747688, -0.447593> + 15304: < 0.456900, -0.787421, -0.413777> + 15305: < 0.417202, -0.807394, -0.417202> + 15306: < 0.413777, -0.787421, -0.456900> + 15307: < 0.452290, -0.768679, -0.452290> + 15308: < 0.417202, -0.807394, -0.417202> + 15309: < 0.377345, -0.825100, -0.420500> + 15310: < 0.374961, -0.804154, -0.461239> + 15311: < 0.413777, -0.787421, -0.456900> + 15312: < 0.377345, -0.825100, -0.420500> + 15313: < 0.337391, -0.840684, -0.423577> + 15314: < 0.335801, -0.819039, -0.465202> + 15315: < 0.374961, -0.804154, -0.461239> + 15316: < 0.337391, -0.840684, -0.423577> + 15317: < 0.297287, -0.854324, -0.426323> + 15318: < 0.296339, -0.832128, -0.468770> + 15319: < 0.335801, -0.819039, -0.465202> + 15320: < 0.297287, -0.854324, -0.426323> + 15321: < 0.256999, -0.866124, -0.428698> + 15322: < 0.256606, -0.843490, -0.471888> + 15323: < 0.296339, -0.832128, -0.468770> + 15324: < 0.256999, -0.866124, -0.428698> + 15325: < 0.216320, -0.876208, -0.430657> + 15326: < 0.216413, -0.853230, -0.474515> + 15327: < 0.256606, -0.843490, -0.471888> + 15328: < 0.216320, -0.876208, -0.430657> + 15329: < 0.175026, -0.884654, -0.432149> + 15330: < 0.175453, -0.861426, -0.476614> + 15331: < 0.216413, -0.853230, -0.474515> + 15332: < 0.175026, -0.884654, -0.432149> + 15333: < 0.132911, -0.891405, -0.433281> + 15334: < 0.133553, -0.868033, -0.478208> + 15335: < 0.175453, -0.861426, -0.476614> + 15336: < 0.132911, -0.891405, -0.433281> + 15337: < 0.089787, -0.896437, -0.433981> + 15338: < 0.090429, -0.872976, -0.479307> + 15339: < 0.133553, -0.868033, -0.478208> + 15340: < 0.089787, -0.896437, -0.433981> + 15341: < 0.045443, -0.899583, -0.434379> + 15342: < 0.045871, -0.876095, -0.479951> + 15343: < 0.090429, -0.872976, -0.479307> + 15344: < 0.045443, -0.899583, -0.434379> + 15345: < 0.000000, -0.900655, -0.434534> + 15346: < 0.000000, -0.877182, -0.480158> + 15347: < 0.045871, -0.876095, -0.479951> + 15348: < 0.000000, -0.900655, -0.434534> + 15349: <-0.045443, -0.899583, -0.434379> + 15350: <-0.045871, -0.876095, -0.479951> + 15351: < 0.000000, -0.877182, -0.480158> + 15352: <-0.045443, -0.899583, -0.434379> + 15353: <-0.089787, -0.896437, -0.433981> + 15354: <-0.090429, -0.872976, -0.479307> + 15355: <-0.045871, -0.876095, -0.479951> + 15356: <-0.089787, -0.896437, -0.433981> + 15357: <-0.132911, -0.891405, -0.433281> + 15358: <-0.133553, -0.868033, -0.478208> + 15359: <-0.090429, -0.872976, -0.479307> + 15360: <-0.132911, -0.891405, -0.433281> + 15361: <-0.175026, -0.884654, -0.432149> + 15362: <-0.175453, -0.861426, -0.476614> + 15363: <-0.133553, -0.868033, -0.478208> + 15364: <-0.175026, -0.884654, -0.432149> + 15365: <-0.216320, -0.876208, -0.430657> + 15366: <-0.216413, -0.853230, -0.474515> + 15367: <-0.175453, -0.861426, -0.476614> + 15368: <-0.216320, -0.876208, -0.430657> + 15369: <-0.256999, -0.866124, -0.428698> + 15370: <-0.256606, -0.843490, -0.471888> + 15371: <-0.216413, -0.853230, -0.474515> + 15372: <-0.256999, -0.866124, -0.428698> + 15373: <-0.297287, -0.854324, -0.426323> + 15374: <-0.296339, -0.832128, -0.468770> + 15375: <-0.256606, -0.843490, -0.471888> + 15376: <-0.297287, -0.854324, -0.426323> + 15377: <-0.337391, -0.840684, -0.423577> + 15378: <-0.335801, -0.819039, -0.465202> + 15379: <-0.296339, -0.832128, -0.468770> + 15380: <-0.337391, -0.840684, -0.423577> + 15381: <-0.377345, -0.825100, -0.420500> + 15382: <-0.374961, -0.804154, -0.461239> + 15383: <-0.335801, -0.819039, -0.465202> + 15384: <-0.377345, -0.825100, -0.420500> + 15385: <-0.417202, -0.807394, -0.417202> + 15386: <-0.413777, -0.787421, -0.456900> + 15387: <-0.374961, -0.804154, -0.461239> + 15388: <-0.417202, -0.807394, -0.417202> + 15389: <-0.456900, -0.787421, -0.413777> + 15390: <-0.452290, -0.768679, -0.452290> + 15391: <-0.413777, -0.787421, -0.456900> + 15392: <-0.456900, -0.787421, -0.413777> + 15393: <-0.496395, -0.764964, -0.410392> + 15394: <-0.490534, -0.747688, -0.447593> + 15395: <-0.452290, -0.768679, -0.452290> + 15396: <-0.496395, -0.764964, -0.410392> + 15397: <-0.535518, -0.739812, -0.407307> + 15398: <-0.528478, -0.724109, -0.443145> + 15399: <-0.490534, -0.747688, -0.447593> + 15400: <-0.535518, -0.739812, -0.407307> + 15401: <-0.574008, -0.711772, -0.404839> + 15402: <-0.565794, -0.697667, -0.439475> + 15403: <-0.528478, -0.724109, -0.443145> + 15404: <-0.574008, -0.711772, -0.404839> + 15405: <-0.611427, -0.680859, -0.403223> + 15406: <-0.601963, -0.668312, -0.437036> + 15407: <-0.565794, -0.697667, -0.439475> + 15408: < 0.601963, -0.668312, -0.437036> + 15409: < 0.565794, -0.697667, -0.439475> + 15410: < 0.557037, -0.682532, -0.473139> + 15411: < 0.591920, -0.655217, -0.469385> + 15412: < 0.565794, -0.697667, -0.439475> + 15413: < 0.528478, -0.724109, -0.443145> + 15414: < 0.520969, -0.706895, -0.478425> + 15415: < 0.557037, -0.682532, -0.473139> + 15416: < 0.528478, -0.724109, -0.443145> + 15417: < 0.490534, -0.747688, -0.447593> + 15418: < 0.484430, -0.728461, -0.484430> + 15419: < 0.520969, -0.706895, -0.478425> + 15420: < 0.490534, -0.747688, -0.447593> + 15421: < 0.452290, -0.768679, -0.452290> + 15422: < 0.447593, -0.747688, -0.490534> + 15423: < 0.484430, -0.728461, -0.484430> + 15424: < 0.452290, -0.768679, -0.452290> + 15425: < 0.413777, -0.787421, -0.456900> + 15426: < 0.410398, -0.764976, -0.496372> + 15427: < 0.447593, -0.747688, -0.490534> + 15428: < 0.413777, -0.787421, -0.456900> + 15429: < 0.374961, -0.804154, -0.461239> + 15430: < 0.372705, -0.780568, -0.501802> + 15431: < 0.410398, -0.764976, -0.496372> + 15432: < 0.374961, -0.804154, -0.461239> + 15433: < 0.335801, -0.819039, -0.465202> + 15434: < 0.334310, -0.794636, -0.506745> + 15435: < 0.372705, -0.780568, -0.501802> + 15436: < 0.335801, -0.819039, -0.465202> + 15437: < 0.296339, -0.832128, -0.468770> + 15438: < 0.295457, -0.807082, -0.511198> + 15439: < 0.334310, -0.794636, -0.506745> + 15440: < 0.296339, -0.832128, -0.468770> + 15441: < 0.256606, -0.843490, -0.471888> + 15442: < 0.256243, -0.817925, -0.515110> + 15443: < 0.295457, -0.807082, -0.511198> + 15444: < 0.256606, -0.843490, -0.471888> + 15445: < 0.216413, -0.853230, -0.474515> + 15446: < 0.216475, -0.827263, -0.518435> + 15447: < 0.256243, -0.817925, -0.515110> + 15448: < 0.216413, -0.853230, -0.474515> + 15449: < 0.175453, -0.861426, -0.476614> + 15450: < 0.175853, -0.835133, -0.521180> + 15451: < 0.216475, -0.827263, -0.518435> + 15452: < 0.175453, -0.861426, -0.476614> + 15453: < 0.133553, -0.868033, -0.478208> + 15454: < 0.134100, -0.841527, -0.523307> + 15455: < 0.175853, -0.835133, -0.521180> + 15456: < 0.133553, -0.868033, -0.478208> + 15457: < 0.090429, -0.872976, -0.479307> + 15458: < 0.091008, -0.846324, -0.524836> + 15459: < 0.134100, -0.841527, -0.523307> + 15460: < 0.090429, -0.872976, -0.479307> + 15461: < 0.045871, -0.876095, -0.479951> + 15462: < 0.046267, -0.849378, -0.525753> + 15463: < 0.091008, -0.846324, -0.524836> + 15464: < 0.045871, -0.876095, -0.479951> + 15465: < 0.000000, -0.877182, -0.480158> + 15466: < 0.000000, -0.850434, -0.526081> + 15467: < 0.046267, -0.849378, -0.525753> + 15468: < 0.000000, -0.877182, -0.480158> + 15469: <-0.045871, -0.876095, -0.479951> + 15470: <-0.046267, -0.849378, -0.525753> + 15471: < 0.000000, -0.850434, -0.526081> + 15472: <-0.045871, -0.876095, -0.479951> + 15473: <-0.090429, -0.872976, -0.479307> + 15474: <-0.091008, -0.846324, -0.524836> + 15475: <-0.046267, -0.849378, -0.525753> + 15476: <-0.090429, -0.872976, -0.479307> + 15477: <-0.133553, -0.868033, -0.478208> + 15478: <-0.134100, -0.841527, -0.523307> + 15479: <-0.091008, -0.846324, -0.524836> + 15480: <-0.133553, -0.868033, -0.478208> + 15481: <-0.175453, -0.861426, -0.476614> + 15482: <-0.175853, -0.835133, -0.521180> + 15483: <-0.134100, -0.841527, -0.523307> + 15484: <-0.175453, -0.861426, -0.476614> + 15485: <-0.216413, -0.853230, -0.474515> + 15486: <-0.216475, -0.827263, -0.518435> + 15487: <-0.175853, -0.835133, -0.521180> + 15488: <-0.216413, -0.853230, -0.474515> + 15489: <-0.256606, -0.843490, -0.471888> + 15490: <-0.256243, -0.817925, -0.515110> + 15491: <-0.216475, -0.827263, -0.518435> + 15492: <-0.256606, -0.843490, -0.471888> + 15493: <-0.296339, -0.832128, -0.468770> + 15494: <-0.295457, -0.807082, -0.511198> + 15495: <-0.256243, -0.817925, -0.515110> + 15496: <-0.296339, -0.832128, -0.468770> + 15497: <-0.335801, -0.819039, -0.465202> + 15498: <-0.334337, -0.794627, -0.506740> + 15499: <-0.295457, -0.807082, -0.511198> + 15500: <-0.335801, -0.819039, -0.465202> + 15501: <-0.374961, -0.804154, -0.461239> + 15502: <-0.372705, -0.780568, -0.501802> + 15503: <-0.334337, -0.794627, -0.506740> + 15504: <-0.374961, -0.804154, -0.461239> + 15505: <-0.413777, -0.787421, -0.456900> + 15506: <-0.410392, -0.764964, -0.496395> + 15507: <-0.372705, -0.780568, -0.501802> + 15508: <-0.413777, -0.787421, -0.456900> + 15509: <-0.452290, -0.768679, -0.452290> + 15510: <-0.447593, -0.747688, -0.490534> + 15511: <-0.410392, -0.764964, -0.496395> + 15512: <-0.452290, -0.768679, -0.452290> + 15513: <-0.490534, -0.747688, -0.447593> + 15514: <-0.484430, -0.728461, -0.484430> + 15515: <-0.447593, -0.747688, -0.490534> + 15516: <-0.490534, -0.747688, -0.447593> + 15517: <-0.528478, -0.724109, -0.443145> + 15518: <-0.520969, -0.706895, -0.478425> + 15519: <-0.484430, -0.728461, -0.484430> + 15520: <-0.528478, -0.724109, -0.443145> + 15521: <-0.565794, -0.697667, -0.439475> + 15522: <-0.557037, -0.682532, -0.473139> + 15523: <-0.520969, -0.706895, -0.478425> + 15524: <-0.565794, -0.697667, -0.439475> + 15525: <-0.601963, -0.668312, -0.437036> + 15526: <-0.591920, -0.655217, -0.469385> + 15527: <-0.557037, -0.682532, -0.473139> + 15528: < 0.591920, -0.655217, -0.469385> + 15529: < 0.557037, -0.682532, -0.473139> + 15530: < 0.547882, -0.666144, -0.506040> + 15531: < 0.581456, -0.641397, -0.500519> + 15532: < 0.557037, -0.682532, -0.473139> + 15533: < 0.520969, -0.706895, -0.478425> + 15534: < 0.513252, -0.687856, -0.513252> + 15535: < 0.547882, -0.666144, -0.506040> + 15536: < 0.520969, -0.706895, -0.478425> + 15537: < 0.484430, -0.728461, -0.484430> + 15538: < 0.478425, -0.706895, -0.520969> + 15539: < 0.513252, -0.687856, -0.513252> + 15540: < 0.484430, -0.728461, -0.484430> + 15541: < 0.447593, -0.747688, -0.490534> + 15542: < 0.443145, -0.724109, -0.528478> + 15543: < 0.478425, -0.706895, -0.520969> + 15544: < 0.447593, -0.747688, -0.490534> + 15545: < 0.410398, -0.764976, -0.496372> + 15546: < 0.407307, -0.739812, -0.535518> + 15547: < 0.443145, -0.724109, -0.528478> + 15548: < 0.410398, -0.764976, -0.496372> + 15549: < 0.372705, -0.780568, -0.501802> + 15550: < 0.370721, -0.754169, -0.542028> + 15551: < 0.407307, -0.739812, -0.535518> + 15552: < 0.372705, -0.780568, -0.501802> + 15553: < 0.334310, -0.794636, -0.506745> + 15554: < 0.333090, -0.767292, -0.548009> + 15555: < 0.370721, -0.754169, -0.542028> + 15556: < 0.334310, -0.794636, -0.506745> + 15557: < 0.295457, -0.807082, -0.511198> + 15558: < 0.294729, -0.779017, -0.553415> + 15559: < 0.333090, -0.767292, -0.548009> + 15560: < 0.295457, -0.807082, -0.511198> + 15561: < 0.256243, -0.817925, -0.515110> + 15562: < 0.255937, -0.789266, -0.558172> + 15563: < 0.294729, -0.779017, -0.553415> + 15564: < 0.256243, -0.817925, -0.515110> + 15565: < 0.216475, -0.827263, -0.518435> + 15566: < 0.216534, -0.798110, -0.562257> + 15567: < 0.255937, -0.789266, -0.558172> + 15568: < 0.216475, -0.827263, -0.518435> + 15569: < 0.175853, -0.835133, -0.521180> + 15570: < 0.176188, -0.805587, -0.565675> + 15571: < 0.216534, -0.798110, -0.562257> + 15572: < 0.175853, -0.835133, -0.521180> + 15573: < 0.134100, -0.841527, -0.523307> + 15574: < 0.134618, -0.811677, -0.568382> + 15575: < 0.176188, -0.805587, -0.565675> + 15576: < 0.134100, -0.841527, -0.523307> + 15577: < 0.091008, -0.846324, -0.524836> + 15578: < 0.091497, -0.816271, -0.570377> + 15579: < 0.134618, -0.811677, -0.568382> + 15580: < 0.091008, -0.846324, -0.524836> + 15581: < 0.046267, -0.849378, -0.525753> + 15582: < 0.046573, -0.819208, -0.571602> + 15583: < 0.091497, -0.816271, -0.570377> + 15584: < 0.046267, -0.849378, -0.525753> + 15585: < 0.000000, -0.850434, -0.526081> + 15586: < 0.000000, -0.820237, -0.572024> + 15587: < 0.046573, -0.819208, -0.571602> + 15588: < 0.000000, -0.850434, -0.526081> + 15589: <-0.046267, -0.849378, -0.525753> + 15590: <-0.046573, -0.819208, -0.571602> + 15591: < 0.000000, -0.820237, -0.572024> + 15592: <-0.046267, -0.849378, -0.525753> + 15593: <-0.091008, -0.846324, -0.524836> + 15594: <-0.091497, -0.816271, -0.570377> + 15595: <-0.046573, -0.819208, -0.571602> + 15596: <-0.091008, -0.846324, -0.524836> + 15597: <-0.134100, -0.841527, -0.523307> + 15598: <-0.134618, -0.811677, -0.568382> + 15599: <-0.091497, -0.816271, -0.570377> + 15600: <-0.134100, -0.841527, -0.523307> + 15601: <-0.175853, -0.835133, -0.521180> + 15602: <-0.176188, -0.805587, -0.565675> + 15603: <-0.134618, -0.811677, -0.568382> + 15604: <-0.175853, -0.835133, -0.521180> + 15605: <-0.216475, -0.827263, -0.518435> + 15606: <-0.216534, -0.798110, -0.562257> + 15607: <-0.176188, -0.805587, -0.565675> + 15608: <-0.216475, -0.827263, -0.518435> + 15609: <-0.256243, -0.817925, -0.515110> + 15610: <-0.255937, -0.789266, -0.558172> + 15611: <-0.216534, -0.798110, -0.562257> + 15612: <-0.256243, -0.817925, -0.515110> + 15613: <-0.295457, -0.807082, -0.511198> + 15614: <-0.294729, -0.779017, -0.553415> + 15615: <-0.255937, -0.789266, -0.558172> + 15616: <-0.295457, -0.807082, -0.511198> + 15617: <-0.334337, -0.794627, -0.506740> + 15618: <-0.333090, -0.767292, -0.548009> + 15619: <-0.294729, -0.779017, -0.553415> + 15620: <-0.334337, -0.794627, -0.506740> + 15621: <-0.372705, -0.780568, -0.501802> + 15622: <-0.370721, -0.754169, -0.542028> + 15623: <-0.333090, -0.767292, -0.548009> + 15624: <-0.372705, -0.780568, -0.501802> + 15625: <-0.410392, -0.764964, -0.496395> + 15626: <-0.407307, -0.739812, -0.535518> + 15627: <-0.370721, -0.754169, -0.542028> + 15628: <-0.410392, -0.764964, -0.496395> + 15629: <-0.447593, -0.747688, -0.490534> + 15630: <-0.443145, -0.724109, -0.528478> + 15631: <-0.407307, -0.739812, -0.535518> + 15632: <-0.447593, -0.747688, -0.490534> + 15633: <-0.484430, -0.728461, -0.484430> + 15634: <-0.478425, -0.706895, -0.520969> + 15635: <-0.443145, -0.724109, -0.528478> + 15636: <-0.484430, -0.728461, -0.484430> + 15637: <-0.520969, -0.706895, -0.478425> + 15638: <-0.513252, -0.687856, -0.513252> + 15639: <-0.478425, -0.706895, -0.520969> + 15640: <-0.520969, -0.706895, -0.478425> + 15641: <-0.557037, -0.682532, -0.473139> + 15642: <-0.547882, -0.666144, -0.506040> + 15643: <-0.513252, -0.687856, -0.513252> + 15644: <-0.557037, -0.682532, -0.473139> + 15645: <-0.591920, -0.655217, -0.469385> + 15646: <-0.581456, -0.641397, -0.500519> + 15647: <-0.547882, -0.666144, -0.506040> + 15648: < 0.581456, -0.641397, -0.500519> + 15649: < 0.547882, -0.666144, -0.506040> + 15650: < 0.538962, -0.647334, -0.538962> + 15651: < 0.571076, -0.625584, -0.531523> + 15652: < 0.547882, -0.666144, -0.506040> + 15653: < 0.513252, -0.687856, -0.513252> + 15654: < 0.506040, -0.666144, -0.547882> + 15655: < 0.538962, -0.647334, -0.538962> + 15656: < 0.513252, -0.687856, -0.513252> + 15657: < 0.478425, -0.706895, -0.520969> + 15658: < 0.473139, -0.682532, -0.557037> + 15659: < 0.506040, -0.666144, -0.547882> + 15660: < 0.478425, -0.706895, -0.520969> + 15661: < 0.443145, -0.724109, -0.528478> + 15662: < 0.439475, -0.697667, -0.565794> + 15663: < 0.473139, -0.682532, -0.557037> + 15664: < 0.443145, -0.724109, -0.528478> + 15665: < 0.407307, -0.739812, -0.535518> + 15666: < 0.404839, -0.711772, -0.574008> + 15667: < 0.439475, -0.697667, -0.565794> + 15668: < 0.407307, -0.739812, -0.535518> + 15669: < 0.370721, -0.754169, -0.542028> + 15670: < 0.369188, -0.724825, -0.581661> + 15671: < 0.404839, -0.711772, -0.574008> + 15672: < 0.370721, -0.754169, -0.542028> + 15673: < 0.333090, -0.767292, -0.548009> + 15674: < 0.332170, -0.736915, -0.588744> + 15675: < 0.369188, -0.724825, -0.581661> + 15676: < 0.333090, -0.767292, -0.548009> + 15677: < 0.294729, -0.779017, -0.553415> + 15678: < 0.294207, -0.747816, -0.595158> + 15679: < 0.332170, -0.736915, -0.588744> + 15680: < 0.294729, -0.779017, -0.553415> + 15681: < 0.255937, -0.789266, -0.558172> + 15682: < 0.255750, -0.757361, -0.600829> + 15683: < 0.294207, -0.747816, -0.595158> + 15684: < 0.255937, -0.789266, -0.558172> + 15685: < 0.216534, -0.798110, -0.562257> + 15686: < 0.216596, -0.765608, -0.605748> + 15687: < 0.255750, -0.757361, -0.600829> + 15688: < 0.216534, -0.798110, -0.562257> + 15689: < 0.176188, -0.805587, -0.565675> + 15690: < 0.176461, -0.772589, -0.609892> + 15691: < 0.216596, -0.765608, -0.605748> + 15692: < 0.176188, -0.805587, -0.565675> + 15693: < 0.134618, -0.811677, -0.568382> + 15694: < 0.135018, -0.778306, -0.613196> + 15695: < 0.176461, -0.772589, -0.609892> + 15696: < 0.134618, -0.811677, -0.568382> + 15697: < 0.091497, -0.816271, -0.570377> + 15698: < 0.091894, -0.782607, -0.615697> + 15699: < 0.135018, -0.778306, -0.613196> + 15700: < 0.091497, -0.816271, -0.570377> + 15701: < 0.046573, -0.819208, -0.571602> + 15702: < 0.046847, -0.785375, -0.617246> + 15703: < 0.091894, -0.782607, -0.615697> + 15704: < 0.046573, -0.819208, -0.571602> + 15705: < 0.000000, -0.820237, -0.572024> + 15706: < 0.000000, -0.786344, -0.617789> + 15707: < 0.046847, -0.785375, -0.617246> + 15708: < 0.000000, -0.820237, -0.572024> + 15709: <-0.046573, -0.819208, -0.571602> + 15710: <-0.046847, -0.785375, -0.617246> + 15711: < 0.000000, -0.786344, -0.617789> + 15712: <-0.046573, -0.819208, -0.571602> + 15713: <-0.091497, -0.816271, -0.570377> + 15714: <-0.091894, -0.782607, -0.615697> + 15715: <-0.046847, -0.785375, -0.617246> + 15716: <-0.091497, -0.816271, -0.570377> + 15717: <-0.134618, -0.811677, -0.568382> + 15718: <-0.134988, -0.778309, -0.613199> + 15719: <-0.091894, -0.782607, -0.615697> + 15720: <-0.134618, -0.811677, -0.568382> + 15721: <-0.176188, -0.805587, -0.565675> + 15722: <-0.176461, -0.772589, -0.609892> + 15723: <-0.134988, -0.778309, -0.613199> + 15724: <-0.176188, -0.805587, -0.565675> + 15725: <-0.216534, -0.798110, -0.562257> + 15726: <-0.216596, -0.765608, -0.605748> + 15727: <-0.176461, -0.772589, -0.609892> + 15728: <-0.216534, -0.798110, -0.562257> + 15729: <-0.255937, -0.789266, -0.558172> + 15730: <-0.255750, -0.757361, -0.600829> + 15731: <-0.216596, -0.765608, -0.605748> + 15732: <-0.255937, -0.789266, -0.558172> + 15733: <-0.294729, -0.779017, -0.553415> + 15734: <-0.294207, -0.747816, -0.595158> + 15735: <-0.255750, -0.757361, -0.600829> + 15736: <-0.294729, -0.779017, -0.553415> + 15737: <-0.333090, -0.767292, -0.548009> + 15738: <-0.332170, -0.736915, -0.588744> + 15739: <-0.294207, -0.747816, -0.595158> + 15740: <-0.333090, -0.767292, -0.548009> + 15741: <-0.370721, -0.754169, -0.542028> + 15742: <-0.369188, -0.724825, -0.581661> + 15743: <-0.332170, -0.736915, -0.588744> + 15744: <-0.370721, -0.754169, -0.542028> + 15745: <-0.407307, -0.739812, -0.535518> + 15746: <-0.404839, -0.711772, -0.574008> + 15747: <-0.369188, -0.724825, -0.581661> + 15748: <-0.407307, -0.739812, -0.535518> + 15749: <-0.443145, -0.724109, -0.528478> + 15750: <-0.439475, -0.697667, -0.565794> + 15751: <-0.404839, -0.711772, -0.574008> + 15752: <-0.443145, -0.724109, -0.528478> + 15753: <-0.478425, -0.706895, -0.520969> + 15754: <-0.473139, -0.682532, -0.557037> + 15755: <-0.439475, -0.697667, -0.565794> + 15756: <-0.478425, -0.706895, -0.520969> + 15757: <-0.513252, -0.687856, -0.513252> + 15758: <-0.506040, -0.666144, -0.547882> + 15759: <-0.473139, -0.682532, -0.557037> + 15760: <-0.513252, -0.687856, -0.513252> + 15761: <-0.547882, -0.666144, -0.506040> + 15762: <-0.538962, -0.647334, -0.538962> + 15763: <-0.506040, -0.666144, -0.547882> + 15764: <-0.547882, -0.666144, -0.506040> + 15765: <-0.581456, -0.641397, -0.500519> + 15766: <-0.571076, -0.625584, -0.531523> + 15767: <-0.538962, -0.647334, -0.538962> + 15768: < 0.571076, -0.625584, -0.531523> + 15769: < 0.538962, -0.647334, -0.538962> + 15770: < 0.531523, -0.625584, -0.571076> + 15771: < 0.561516, -0.607783, -0.561516> + 15772: < 0.538962, -0.647334, -0.538962> + 15773: < 0.506040, -0.666144, -0.547882> + 15774: < 0.500519, -0.641397, -0.581456> + 15775: < 0.531523, -0.625584, -0.571076> + 15776: < 0.506040, -0.666144, -0.547882> + 15777: < 0.473139, -0.682532, -0.557037> + 15778: < 0.469385, -0.655217, -0.591920> + 15779: < 0.500519, -0.641397, -0.581456> + 15780: < 0.473139, -0.682532, -0.557037> + 15781: < 0.439475, -0.697667, -0.565794> + 15782: < 0.437036, -0.668312, -0.601963> + 15783: < 0.469385, -0.655217, -0.591920> + 15784: < 0.439475, -0.697667, -0.565794> + 15785: < 0.404839, -0.711772, -0.574008> + 15786: < 0.403223, -0.680859, -0.611427> + 15787: < 0.437036, -0.668312, -0.601963> + 15788: < 0.404839, -0.711772, -0.574008> + 15789: < 0.369188, -0.724825, -0.581661> + 15790: < 0.368246, -0.692544, -0.620305> + 15791: < 0.403223, -0.680859, -0.611427> + 15792: < 0.369188, -0.724825, -0.581661> + 15793: < 0.332170, -0.736915, -0.588744> + 15794: < 0.331652, -0.703467, -0.628603> + 15795: < 0.368246, -0.692544, -0.620305> + 15796: < 0.332170, -0.736915, -0.588744> + 15797: < 0.294207, -0.747816, -0.595158> + 15798: < 0.293904, -0.713396, -0.636150> + 15799: < 0.331652, -0.703467, -0.628603> + 15800: < 0.294207, -0.747816, -0.595158> + 15801: < 0.255750, -0.757361, -0.600829> + 15802: < 0.255632, -0.722093, -0.642833> + 15803: < 0.293904, -0.713396, -0.636150> + 15804: < 0.255750, -0.757361, -0.600829> + 15805: < 0.216596, -0.765608, -0.605748> + 15806: < 0.216660, -0.729636, -0.648606> + 15807: < 0.255632, -0.722093, -0.642833> + 15808: < 0.216596, -0.765608, -0.605748> + 15809: < 0.176461, -0.772589, -0.609892> + 15810: < 0.176644, -0.736025, -0.653502> + 15811: < 0.216660, -0.729636, -0.648606> + 15812: < 0.176461, -0.772589, -0.609892> + 15813: < 0.135018, -0.778306, -0.613196> + 15814: < 0.135260, -0.741243, -0.657468> + 15815: < 0.176644, -0.736025, -0.653502> + 15816: < 0.135018, -0.778306, -0.613196> + 15817: < 0.091894, -0.782607, -0.615697> + 15818: < 0.092137, -0.745184, -0.660463> + 15819: < 0.135260, -0.741243, -0.657468> + 15820: < 0.091894, -0.782607, -0.615697> + 15821: < 0.046847, -0.785375, -0.617246> + 15822: < 0.046999, -0.747715, -0.662354> + 15823: < 0.092137, -0.745184, -0.660463> + 15824: < 0.046847, -0.785375, -0.617246> + 15825: < 0.000000, -0.786344, -0.617789> + 15826: < 0.000000, -0.748599, -0.663024> + 15827: < 0.046999, -0.747715, -0.662354> + 15828: < 0.000000, -0.786344, -0.617789> + 15829: <-0.046847, -0.785375, -0.617246> + 15830: <-0.046999, -0.747715, -0.662354> + 15831: < 0.000000, -0.748599, -0.663024> + 15832: <-0.046847, -0.785375, -0.617246> + 15833: <-0.091894, -0.782607, -0.615697> + 15834: <-0.092137, -0.745184, -0.660463> + 15835: <-0.046999, -0.747715, -0.662354> + 15836: <-0.091894, -0.782607, -0.615697> + 15837: <-0.134988, -0.778309, -0.613199> + 15838: <-0.135260, -0.741243, -0.657468> + 15839: <-0.092137, -0.745184, -0.660463> + 15840: <-0.134988, -0.778309, -0.613199> + 15841: <-0.176461, -0.772589, -0.609892> + 15842: <-0.176644, -0.736025, -0.653502> + 15843: <-0.135260, -0.741243, -0.657468> + 15844: <-0.176461, -0.772589, -0.609892> + 15845: <-0.216596, -0.765608, -0.605748> + 15846: <-0.216660, -0.729636, -0.648606> + 15847: <-0.176644, -0.736025, -0.653502> + 15848: <-0.216596, -0.765608, -0.605748> + 15849: <-0.255750, -0.757361, -0.600829> + 15850: <-0.255632, -0.722093, -0.642833> + 15851: <-0.216660, -0.729636, -0.648606> + 15852: <-0.255750, -0.757361, -0.600829> + 15853: <-0.294207, -0.747816, -0.595158> + 15854: <-0.293904, -0.713396, -0.636150> + 15855: <-0.255632, -0.722093, -0.642833> + 15856: <-0.294207, -0.747816, -0.595158> + 15857: <-0.332170, -0.736915, -0.588744> + 15858: <-0.331652, -0.703467, -0.628603> + 15859: <-0.293904, -0.713396, -0.636150> + 15860: <-0.332170, -0.736915, -0.588744> + 15861: <-0.369188, -0.724825, -0.581661> + 15862: <-0.368246, -0.692544, -0.620305> + 15863: <-0.331652, -0.703467, -0.628603> + 15864: <-0.369188, -0.724825, -0.581661> + 15865: <-0.404839, -0.711772, -0.574008> + 15866: <-0.403223, -0.680859, -0.611427> + 15867: <-0.368246, -0.692544, -0.620305> + 15868: <-0.404839, -0.711772, -0.574008> + 15869: <-0.439475, -0.697667, -0.565794> + 15870: <-0.437036, -0.668312, -0.601963> + 15871: <-0.403223, -0.680859, -0.611427> + 15872: <-0.439475, -0.697667, -0.565794> + 15873: <-0.473139, -0.682532, -0.557037> + 15874: <-0.469385, -0.655217, -0.591920> + 15875: <-0.437036, -0.668312, -0.601963> + 15876: <-0.473139, -0.682532, -0.557037> + 15877: <-0.506040, -0.666144, -0.547882> + 15878: <-0.500519, -0.641397, -0.581456> + 15879: <-0.469385, -0.655217, -0.591920> + 15880: <-0.506040, -0.666144, -0.547882> + 15881: <-0.538962, -0.647334, -0.538962> + 15882: <-0.531523, -0.625584, -0.571076> + 15883: <-0.500519, -0.641397, -0.581456> + 15884: <-0.538962, -0.647334, -0.538962> + 15885: <-0.571076, -0.625584, -0.531523> + 15886: <-0.561516, -0.607783, -0.561516> + 15887: <-0.531523, -0.625584, -0.571076> + 15888: < 0.577360, -0.577330, 0.577360> + 15889: < 0.554296, -0.588539, 0.588539> + 15890: < 0.561516, -0.607783, 0.561516> + 15891: < 0.588539, -0.588539, 0.554296> + 15892: < 0.554296, -0.588539, 0.588539> + 15893: < 0.526447, -0.601188, 0.601188> + 15894: < 0.531523, -0.625584, 0.571076> + 15895: < 0.561516, -0.607783, 0.561516> + 15896: < 0.526447, -0.601188, 0.601188> + 15897: < 0.497527, -0.613379, 0.613379> + 15898: < 0.500519, -0.641397, 0.581456> + 15899: < 0.531523, -0.625584, 0.571076> + 15900: < 0.497527, -0.613379, 0.613379> + 15901: < 0.467950, -0.624909, 0.624909> + 15902: < 0.469385, -0.655217, 0.591920> + 15903: < 0.500519, -0.641397, 0.581456> + 15904: < 0.467950, -0.624909, 0.624909> + 15905: < 0.436181, -0.636296, 0.636296> + 15906: < 0.437036, -0.668312, 0.601963> + 15907: < 0.469385, -0.655217, 0.591920> + 15908: < 0.436181, -0.636296, 0.636296> + 15909: < 0.402668, -0.647247, 0.647247> + 15910: < 0.403223, -0.680859, 0.611427> + 15911: < 0.437036, -0.668312, 0.601963> + 15912: < 0.402668, -0.647247, 0.647247> + 15913: < 0.367912, -0.657511, 0.657511> + 15914: < 0.368246, -0.692544, 0.620305> + 15915: < 0.403223, -0.680859, 0.611427> + 15916: < 0.367912, -0.657511, 0.657511> + 15917: < 0.331474, -0.667130, 0.667130> + 15918: < 0.331652, -0.703467, 0.628603> + 15919: < 0.368246, -0.692544, 0.620305> + 15920: < 0.331474, -0.667130, 0.667130> + 15921: < 0.293804, -0.675899, 0.675899> + 15922: < 0.293904, -0.713396, 0.636150> + 15923: < 0.331652, -0.703467, 0.628603> + 15924: < 0.293804, -0.675899, 0.675899> + 15925: < 0.255594, -0.683620, 0.683620> + 15926: < 0.255632, -0.722093, 0.642833> + 15927: < 0.293904, -0.713396, 0.636150> + 15928: < 0.255594, -0.683620, 0.683620> + 15929: < 0.216684, -0.690307, 0.690307> + 15930: < 0.216660, -0.729636, 0.648606> + 15931: < 0.255632, -0.722093, 0.642833> + 15932: < 0.216684, -0.690307, 0.690307> + 15933: < 0.176733, -0.695976, 0.695976> + 15934: < 0.176644, -0.736025, 0.653502> + 15935: < 0.216660, -0.729636, 0.648606> + 15936: < 0.176733, -0.695976, 0.695976> + 15937: < 0.135353, -0.700600, 0.700600> + 15938: < 0.135260, -0.741243, 0.657468> + 15939: < 0.176644, -0.736025, 0.653502> + 15940: < 0.135353, -0.700600, 0.700600> + 15941: < 0.092231, -0.704093, 0.704093> + 15942: < 0.092137, -0.745184, 0.660463> + 15943: < 0.135260, -0.741243, 0.657468> + 15944: < 0.092231, -0.704093, 0.704093> + 15945: < 0.047060, -0.706323, 0.706323> + 15946: < 0.046999, -0.747715, 0.662354> + 15947: < 0.092137, -0.745184, 0.660463> + 15948: < 0.047060, -0.706323, 0.706323> + 15949: < 0.000000, -0.707107, 0.707107> + 15950: < 0.000000, -0.748599, 0.663024> + 15951: < 0.046999, -0.747715, 0.662354> + 15952: < 0.000000, -0.707107, 0.707107> + 15953: <-0.047060, -0.706323, 0.706323> + 15954: <-0.046999, -0.747715, 0.662354> + 15955: < 0.000000, -0.748599, 0.663024> + 15956: <-0.047060, -0.706323, 0.706323> + 15957: <-0.092229, -0.704078, 0.704108> + 15958: <-0.092137, -0.745184, 0.660463> + 15959: <-0.046999, -0.747715, 0.662354> + 15960: <-0.092229, -0.704078, 0.704108> + 15961: <-0.135353, -0.700600, 0.700600> + 15962: <-0.135260, -0.741243, 0.657468> + 15963: <-0.092137, -0.745184, 0.660463> + 15964: <-0.135353, -0.700600, 0.700600> + 15965: <-0.176733, -0.695976, 0.695976> + 15966: <-0.176644, -0.736025, 0.653502> + 15967: <-0.135260, -0.741243, 0.657468> + 15968: <-0.176733, -0.695976, 0.695976> + 15969: <-0.216684, -0.690307, 0.690307> + 15970: <-0.216660, -0.729636, 0.648606> + 15971: <-0.176644, -0.736025, 0.653502> + 15972: <-0.216684, -0.690307, 0.690307> + 15973: <-0.255594, -0.683620, 0.683620> + 15974: <-0.255632, -0.722093, 0.642833> + 15975: <-0.216660, -0.729636, 0.648606> + 15976: <-0.255594, -0.683620, 0.683620> + 15977: <-0.293804, -0.675899, 0.675899> + 15978: <-0.293904, -0.713396, 0.636150> + 15979: <-0.255632, -0.722093, 0.642833> + 15980: <-0.293804, -0.675899, 0.675899> + 15981: <-0.331474, -0.667130, 0.667130> + 15982: <-0.331652, -0.703467, 0.628603> + 15983: <-0.293904, -0.713396, 0.636150> + 15984: <-0.331474, -0.667130, 0.667130> + 15985: <-0.367912, -0.657511, 0.657511> + 15986: <-0.368246, -0.692544, 0.620305> + 15987: <-0.331652, -0.703467, 0.628603> + 15988: <-0.367912, -0.657511, 0.657511> + 15989: <-0.402668, -0.647247, 0.647247> + 15990: <-0.403223, -0.680859, 0.611427> + 15991: <-0.368246, -0.692544, 0.620305> + 15992: <-0.402668, -0.647247, 0.647247> + 15993: <-0.436181, -0.636296, 0.636296> + 15994: <-0.437036, -0.668312, 0.601963> + 15995: <-0.403223, -0.680859, 0.611427> + 15996: <-0.436181, -0.636296, 0.636296> + 15997: <-0.467950, -0.624909, 0.624909> + 15998: <-0.469385, -0.655217, 0.591920> + 15999: <-0.437036, -0.668312, 0.601963> + 16000: <-0.467950, -0.624909, 0.624909> + 16001: <-0.497527, -0.613379, 0.613379> + 16002: <-0.500496, -0.641406, 0.581465> + 16003: <-0.469385, -0.655217, 0.591920> + 16004: <-0.497527, -0.613379, 0.613379> + 16005: <-0.526457, -0.601168, 0.601199> + 16006: <-0.531523, -0.625584, 0.571076> + 16007: <-0.500496, -0.641406, 0.581465> + 16008: <-0.526457, -0.601168, 0.601199> + 16009: <-0.554296, -0.588539, 0.588539> + 16010: <-0.561516, -0.607783, 0.561516> + 16011: <-0.531523, -0.625584, 0.571076> + 16012: <-0.554296, -0.588539, 0.588539> + 16013: <-0.577330, -0.577360, 0.577360> + 16014: <-0.588539, -0.588539, 0.554296> + 16015: <-0.561516, -0.607783, 0.561516> + 16016: <-0.561516, -0.607783, 0.561516> + 16017: <-0.588539, -0.588539, 0.554296> + 16018: <-0.601199, -0.601168, 0.526457> + 16019: <-0.571076, -0.625584, 0.531523> + 16020: <-0.571076, -0.625584, 0.531523> + 16021: <-0.601199, -0.601168, 0.526457> + 16022: <-0.613379, -0.613379, 0.497527> + 16023: <-0.581456, -0.641397, 0.500519> + 16024: <-0.581456, -0.641397, 0.500519> + 16025: <-0.613379, -0.613379, 0.497527> + 16026: <-0.624909, -0.624909, 0.467950> + 16027: <-0.591920, -0.655217, 0.469385> + 16028: <-0.591920, -0.655217, 0.469385> + 16029: <-0.624909, -0.624909, 0.467950> + 16030: <-0.636296, -0.636296, 0.436181> + 16031: <-0.601963, -0.668312, 0.437036> + 16032: <-0.601963, -0.668312, 0.437036> + 16033: <-0.636296, -0.636296, 0.436181> + 16034: <-0.647247, -0.647247, 0.402668> + 16035: <-0.611427, -0.680859, 0.403223> + 16036: <-0.611427, -0.680859, 0.403223> + 16037: <-0.647247, -0.647247, 0.402668> + 16038: <-0.657511, -0.657511, 0.367912> + 16039: <-0.620305, -0.692544, 0.368246> + 16040: <-0.620305, -0.692544, 0.368246> + 16041: <-0.657511, -0.657511, 0.367912> + 16042: <-0.667130, -0.667130, 0.331474> + 16043: <-0.628603, -0.703467, 0.331652> + 16044: <-0.628603, -0.703467, 0.331652> + 16045: <-0.667130, -0.667130, 0.331474> + 16046: <-0.675899, -0.675899, 0.293804> + 16047: <-0.636150, -0.713396, 0.293904> + 16048: <-0.636150, -0.713396, 0.293904> + 16049: <-0.675899, -0.675899, 0.293804> + 16050: <-0.683620, -0.683620, 0.255594> + 16051: <-0.642833, -0.722093, 0.255632> + 16052: <-0.642833, -0.722093, 0.255632> + 16053: <-0.683620, -0.683620, 0.255594> + 16054: <-0.690307, -0.690307, 0.216684> + 16055: <-0.648606, -0.729636, 0.216660> + 16056: <-0.648606, -0.729636, 0.216660> + 16057: <-0.690307, -0.690307, 0.216684> + 16058: <-0.695976, -0.695976, 0.176733> + 16059: <-0.653502, -0.736025, 0.176644> + 16060: <-0.653502, -0.736025, 0.176644> + 16061: <-0.695976, -0.695976, 0.176733> + 16062: <-0.700600, -0.700600, 0.135353> + 16063: <-0.657468, -0.741243, 0.135260> + 16064: <-0.657468, -0.741243, 0.135260> + 16065: <-0.700600, -0.700600, 0.135353> + 16066: <-0.704093, -0.704093, 0.092231> + 16067: <-0.660463, -0.745184, 0.092137> + 16068: <-0.660463, -0.745184, 0.092137> + 16069: <-0.704093, -0.704093, 0.092231> + 16070: <-0.706323, -0.706323, 0.047060> + 16071: <-0.662354, -0.747715, 0.046999> + 16072: <-0.662354, -0.747715, 0.046999> + 16073: <-0.706323, -0.706323, 0.047060> + 16074: <-0.707107, -0.707107, 0.000000> + 16075: <-0.663024, -0.748599, 0.000000> + 16076: <-0.663024, -0.748599, 0.000000> + 16077: <-0.707107, -0.707107, 0.000000> + 16078: <-0.706323, -0.706323, -0.047060> + 16079: <-0.662354, -0.747715, -0.046999> + 16080: <-0.662354, -0.747715, -0.046999> + 16081: <-0.706323, -0.706323, -0.047060> + 16082: <-0.704093, -0.704093, -0.092231> + 16083: <-0.660463, -0.745184, -0.092137> + 16084: <-0.660463, -0.745184, -0.092137> + 16085: <-0.704093, -0.704093, -0.092231> + 16086: <-0.700600, -0.700600, -0.135353> + 16087: <-0.657468, -0.741243, -0.135260> + 16088: <-0.657468, -0.741243, -0.135260> + 16089: <-0.700600, -0.700600, -0.135353> + 16090: <-0.695976, -0.695976, -0.176733> + 16091: <-0.653502, -0.736025, -0.176644> + 16092: <-0.653502, -0.736025, -0.176644> + 16093: <-0.695976, -0.695976, -0.176733> + 16094: <-0.690307, -0.690307, -0.216684> + 16095: <-0.648606, -0.729636, -0.216660> + 16096: <-0.648606, -0.729636, -0.216660> + 16097: <-0.690307, -0.690307, -0.216684> + 16098: <-0.683620, -0.683620, -0.255594> + 16099: <-0.642833, -0.722093, -0.255632> + 16100: <-0.642833, -0.722093, -0.255632> + 16101: <-0.683620, -0.683620, -0.255594> + 16102: <-0.675899, -0.675899, -0.293804> + 16103: <-0.636150, -0.713396, -0.293904> + 16104: <-0.636150, -0.713396, -0.293904> + 16105: <-0.675899, -0.675899, -0.293804> + 16106: <-0.667130, -0.667130, -0.331474> + 16107: <-0.628603, -0.703467, -0.331652> + 16108: <-0.628603, -0.703467, -0.331652> + 16109: <-0.667130, -0.667130, -0.331474> + 16110: <-0.657511, -0.657511, -0.367912> + 16111: <-0.620305, -0.692544, -0.368246> + 16112: <-0.620305, -0.692544, -0.368246> + 16113: <-0.657511, -0.657511, -0.367912> + 16114: <-0.647247, -0.647247, -0.402668> + 16115: <-0.611427, -0.680859, -0.403223> + 16116: <-0.611427, -0.680859, -0.403223> + 16117: <-0.647247, -0.647247, -0.402668> + 16118: <-0.636296, -0.636296, -0.436181> + 16119: <-0.601963, -0.668312, -0.437036> + 16120: <-0.601963, -0.668312, -0.437036> + 16121: <-0.636296, -0.636296, -0.436181> + 16122: <-0.624909, -0.624909, -0.467950> + 16123: <-0.591920, -0.655217, -0.469385> + 16124: <-0.591920, -0.655217, -0.469385> + 16125: <-0.624909, -0.624909, -0.467950> + 16126: <-0.613379, -0.613379, -0.497527> + 16127: <-0.581456, -0.641397, -0.500519> + 16128: <-0.581456, -0.641397, -0.500519> + 16129: <-0.613379, -0.613379, -0.497527> + 16130: <-0.601188, -0.601188, -0.526447> + 16131: <-0.571076, -0.625584, -0.531523> + 16132: <-0.571076, -0.625584, -0.531523> + 16133: <-0.601188, -0.601188, -0.526447> + 16134: <-0.588539, -0.588539, -0.554296> + 16135: <-0.561516, -0.607783, -0.561516> + 16136: <-0.561516, -0.607783, -0.561516> + 16137: <-0.588539, -0.588539, -0.554296> + 16138: <-0.577360, -0.577330, -0.577360> + 16139: <-0.554296, -0.588539, -0.588539> + 16140: <-0.531523, -0.625584, -0.571076> + 16141: <-0.561516, -0.607783, -0.561516> + 16142: <-0.554296, -0.588539, -0.588539> + 16143: <-0.526447, -0.601188, -0.601188> + 16144: <-0.500519, -0.641397, -0.581456> + 16145: <-0.531523, -0.625584, -0.571076> + 16146: <-0.526447, -0.601188, -0.601188> + 16147: <-0.497527, -0.613379, -0.613379> + 16148: <-0.469385, -0.655217, -0.591920> + 16149: <-0.500519, -0.641397, -0.581456> + 16150: <-0.497527, -0.613379, -0.613379> + 16151: <-0.467950, -0.624909, -0.624909> + 16152: <-0.437036, -0.668312, -0.601963> + 16153: <-0.469385, -0.655217, -0.591920> + 16154: <-0.467950, -0.624909, -0.624909> + 16155: <-0.436181, -0.636296, -0.636296> + 16156: <-0.403223, -0.680859, -0.611427> + 16157: <-0.437036, -0.668312, -0.601963> + 16158: <-0.436181, -0.636296, -0.636296> + 16159: <-0.402668, -0.647247, -0.647247> + 16160: <-0.368246, -0.692544, -0.620305> + 16161: <-0.403223, -0.680859, -0.611427> + 16162: <-0.402668, -0.647247, -0.647247> + 16163: <-0.367912, -0.657511, -0.657511> + 16164: <-0.331652, -0.703467, -0.628603> + 16165: <-0.368246, -0.692544, -0.620305> + 16166: <-0.367912, -0.657511, -0.657511> + 16167: <-0.331474, -0.667130, -0.667130> + 16168: <-0.293904, -0.713396, -0.636150> + 16169: <-0.331652, -0.703467, -0.628603> + 16170: <-0.331474, -0.667130, -0.667130> + 16171: <-0.293804, -0.675899, -0.675899> + 16172: <-0.255632, -0.722093, -0.642833> + 16173: <-0.293904, -0.713396, -0.636150> + 16174: <-0.293804, -0.675899, -0.675899> + 16175: <-0.255594, -0.683620, -0.683620> + 16176: <-0.216660, -0.729636, -0.648606> + 16177: <-0.255632, -0.722093, -0.642833> + 16178: <-0.255594, -0.683620, -0.683620> + 16179: <-0.216684, -0.690307, -0.690307> + 16180: <-0.176644, -0.736025, -0.653502> + 16181: <-0.216660, -0.729636, -0.648606> + 16182: <-0.216684, -0.690307, -0.690307> + 16183: <-0.176733, -0.695976, -0.695976> + 16184: <-0.135260, -0.741243, -0.657468> + 16185: <-0.176644, -0.736025, -0.653502> + 16186: <-0.176733, -0.695976, -0.695976> + 16187: <-0.135353, -0.700600, -0.700600> + 16188: <-0.092137, -0.745184, -0.660463> + 16189: <-0.135260, -0.741243, -0.657468> + 16190: <-0.135353, -0.700600, -0.700600> + 16191: <-0.092231, -0.704093, -0.704093> + 16192: <-0.046999, -0.747715, -0.662354> + 16193: <-0.092137, -0.745184, -0.660463> + 16194: <-0.092231, -0.704093, -0.704093> + 16195: <-0.047060, -0.706323, -0.706323> + 16196: < 0.000000, -0.748599, -0.663024> + 16197: <-0.046999, -0.747715, -0.662354> + 16198: <-0.047060, -0.706323, -0.706323> + 16199: < 0.000000, -0.707107, -0.707107> + 16200: < 0.046999, -0.747715, -0.662354> + 16201: < 0.000000, -0.748599, -0.663024> + 16202: < 0.000000, -0.707107, -0.707107> + 16203: < 0.047060, -0.706323, -0.706323> + 16204: < 0.092137, -0.745184, -0.660463> + 16205: < 0.046999, -0.747715, -0.662354> + 16206: < 0.047060, -0.706323, -0.706323> + 16207: < 0.092231, -0.704093, -0.704093> + 16208: < 0.135260, -0.741243, -0.657468> + 16209: < 0.092137, -0.745184, -0.660463> + 16210: < 0.092231, -0.704093, -0.704093> + 16211: < 0.135353, -0.700600, -0.700600> + 16212: < 0.176644, -0.736025, -0.653502> + 16213: < 0.135260, -0.741243, -0.657468> + 16214: < 0.135353, -0.700600, -0.700600> + 16215: < 0.176733, -0.695976, -0.695976> + 16216: < 0.216660, -0.729636, -0.648606> + 16217: < 0.176644, -0.736025, -0.653502> + 16218: < 0.176733, -0.695976, -0.695976> + 16219: < 0.216684, -0.690307, -0.690307> + 16220: < 0.255632, -0.722093, -0.642833> + 16221: < 0.216660, -0.729636, -0.648606> + 16222: < 0.216684, -0.690307, -0.690307> + 16223: < 0.255594, -0.683620, -0.683620> + 16224: < 0.293904, -0.713396, -0.636150> + 16225: < 0.255632, -0.722093, -0.642833> + 16226: < 0.255594, -0.683620, -0.683620> + 16227: < 0.293804, -0.675899, -0.675899> + 16228: < 0.331652, -0.703467, -0.628603> + 16229: < 0.293904, -0.713396, -0.636150> + 16230: < 0.293804, -0.675899, -0.675899> + 16231: < 0.331474, -0.667130, -0.667130> + 16232: < 0.368246, -0.692544, -0.620305> + 16233: < 0.331652, -0.703467, -0.628603> + 16234: < 0.331474, -0.667130, -0.667130> + 16235: < 0.367912, -0.657511, -0.657511> + 16236: < 0.403223, -0.680859, -0.611427> + 16237: < 0.368246, -0.692544, -0.620305> + 16238: < 0.367912, -0.657511, -0.657511> + 16239: < 0.402668, -0.647247, -0.647247> + 16240: < 0.437036, -0.668312, -0.601963> + 16241: < 0.403223, -0.680859, -0.611427> + 16242: < 0.402668, -0.647247, -0.647247> + 16243: < 0.436181, -0.636296, -0.636296> + 16244: < 0.469385, -0.655217, -0.591920> + 16245: < 0.437036, -0.668312, -0.601963> + 16246: < 0.436181, -0.636296, -0.636296> + 16247: < 0.467950, -0.624909, -0.624909> + 16248: < 0.500519, -0.641397, -0.581456> + 16249: < 0.469385, -0.655217, -0.591920> + 16250: < 0.467950, -0.624909, -0.624909> + 16251: < 0.497527, -0.613379, -0.613379> + 16252: < 0.531523, -0.625584, -0.571076> + 16253: < 0.500519, -0.641397, -0.581456> + 16254: < 0.497527, -0.613379, -0.613379> + 16255: < 0.526457, -0.601168, -0.601199> + 16256: < 0.561516, -0.607783, -0.561516> + 16257: < 0.531523, -0.625584, -0.571076> + 16258: < 0.526457, -0.601168, -0.601199> + 16259: < 0.554296, -0.588539, -0.588539> + 16260: < 0.588539, -0.588539, -0.554296> + 16261: < 0.561516, -0.607783, -0.561516> + 16262: < 0.554296, -0.588539, -0.588539> + 16263: < 0.577350, -0.577350, -0.577350> + 16264: < 0.601188, -0.601188, -0.526447> + 16265: < 0.571076, -0.625584, -0.531523> + 16266: < 0.561516, -0.607783, -0.561516> + 16267: < 0.588539, -0.588539, -0.554296> + 16268: < 0.613379, -0.613379, -0.497527> + 16269: < 0.581456, -0.641397, -0.500519> + 16270: < 0.571076, -0.625584, -0.531523> + 16271: < 0.601188, -0.601188, -0.526447> + 16272: < 0.624909, -0.624909, -0.467950> + 16273: < 0.591920, -0.655217, -0.469385> + 16274: < 0.581456, -0.641397, -0.500519> + 16275: < 0.613379, -0.613379, -0.497527> + 16276: < 0.636296, -0.636296, -0.436181> + 16277: < 0.601963, -0.668312, -0.437036> + 16278: < 0.591920, -0.655217, -0.469385> + 16279: < 0.624909, -0.624909, -0.467950> + 16280: < 0.647247, -0.647247, -0.402668> + 16281: < 0.611427, -0.680859, -0.403223> + 16282: < 0.601963, -0.668312, -0.437036> + 16283: < 0.636296, -0.636296, -0.436181> + 16284: < 0.657511, -0.657511, -0.367912> + 16285: < 0.620305, -0.692544, -0.368246> + 16286: < 0.611427, -0.680859, -0.403223> + 16287: < 0.647247, -0.647247, -0.402668> + 16288: < 0.667130, -0.667130, -0.331474> + 16289: < 0.628603, -0.703467, -0.331652> + 16290: < 0.620305, -0.692544, -0.368246> + 16291: < 0.657511, -0.657511, -0.367912> + 16292: < 0.675899, -0.675899, -0.293804> + 16293: < 0.636150, -0.713396, -0.293904> + 16294: < 0.628603, -0.703467, -0.331652> + 16295: < 0.667130, -0.667130, -0.331474> + 16296: < 0.683620, -0.683620, -0.255594> + 16297: < 0.642833, -0.722093, -0.255632> + 16298: < 0.636150, -0.713396, -0.293904> + 16299: < 0.675899, -0.675899, -0.293804> + 16300: < 0.690307, -0.690307, -0.216684> + 16301: < 0.648606, -0.729636, -0.216660> + 16302: < 0.642833, -0.722093, -0.255632> + 16303: < 0.683620, -0.683620, -0.255594> + 16304: < 0.695976, -0.695976, -0.176733> + 16305: < 0.653502, -0.736025, -0.176644> + 16306: < 0.648606, -0.729636, -0.216660> + 16307: < 0.690307, -0.690307, -0.216684> + 16308: < 0.700600, -0.700600, -0.135353> + 16309: < 0.657468, -0.741243, -0.135260> + 16310: < 0.653502, -0.736025, -0.176644> + 16311: < 0.695976, -0.695976, -0.176733> + 16312: < 0.704093, -0.704093, -0.092231> + 16313: < 0.660463, -0.745184, -0.092137> + 16314: < 0.657468, -0.741243, -0.135260> + 16315: < 0.700600, -0.700600, -0.135353> + 16316: < 0.706323, -0.706323, -0.047060> + 16317: < 0.662354, -0.747715, -0.046999> + 16318: < 0.660463, -0.745184, -0.092137> + 16319: < 0.704093, -0.704093, -0.092231> + 16320: < 0.707107, -0.707107, 0.000000> + 16321: < 0.663024, -0.748599, 0.000000> + 16322: < 0.662354, -0.747715, -0.046999> + 16323: < 0.706323, -0.706323, -0.047060> + 16324: < 0.706323, -0.706323, 0.047060> + 16325: < 0.662354, -0.747715, 0.046999> + 16326: < 0.663024, -0.748599, 0.000000> + 16327: < 0.707107, -0.707107, 0.000000> + 16328: < 0.704093, -0.704093, 0.092231> + 16329: < 0.660463, -0.745184, 0.092137> + 16330: < 0.662354, -0.747715, 0.046999> + 16331: < 0.706323, -0.706323, 0.047060> + 16332: < 0.700600, -0.700600, 0.135353> + 16333: < 0.657468, -0.741243, 0.135260> + 16334: < 0.660463, -0.745184, 0.092137> + 16335: < 0.704093, -0.704093, 0.092231> + 16336: < 0.695976, -0.695976, 0.176733> + 16337: < 0.653502, -0.736025, 0.176644> + 16338: < 0.657468, -0.741243, 0.135260> + 16339: < 0.700600, -0.700600, 0.135353> + 16340: < 0.690307, -0.690307, 0.216684> + 16341: < 0.648606, -0.729636, 0.216660> + 16342: < 0.653502, -0.736025, 0.176644> + 16343: < 0.695976, -0.695976, 0.176733> + 16344: < 0.683620, -0.683620, 0.255594> + 16345: < 0.642833, -0.722093, 0.255632> + 16346: < 0.648606, -0.729636, 0.216660> + 16347: < 0.690307, -0.690307, 0.216684> + 16348: < 0.675899, -0.675899, 0.293804> + 16349: < 0.636150, -0.713396, 0.293904> + 16350: < 0.642833, -0.722093, 0.255632> + 16351: < 0.683620, -0.683620, 0.255594> + 16352: < 0.667130, -0.667130, 0.331474> + 16353: < 0.628603, -0.703467, 0.331652> + 16354: < 0.636150, -0.713396, 0.293904> + 16355: < 0.675899, -0.675899, 0.293804> + 16356: < 0.657511, -0.657511, 0.367912> + 16357: < 0.620305, -0.692544, 0.368246> + 16358: < 0.628603, -0.703467, 0.331652> + 16359: < 0.667130, -0.667130, 0.331474> + 16360: < 0.647247, -0.647247, 0.402668> + 16361: < 0.611427, -0.680859, 0.403223> + 16362: < 0.620305, -0.692544, 0.368246> + 16363: < 0.657511, -0.657511, 0.367912> + 16364: < 0.636296, -0.636296, 0.436181> + 16365: < 0.601963, -0.668312, 0.437036> + 16366: < 0.611427, -0.680859, 0.403223> + 16367: < 0.647247, -0.647247, 0.402668> + 16368: < 0.624909, -0.624909, 0.467950> + 16369: < 0.591920, -0.655217, 0.469385> + 16370: < 0.601963, -0.668312, 0.437036> + 16371: < 0.636296, -0.636296, 0.436181> + 16372: < 0.613379, -0.613379, 0.497527> + 16373: < 0.581456, -0.641397, 0.500519> + 16374: < 0.591920, -0.655217, 0.469385> + 16375: < 0.624909, -0.624909, 0.467950> + 16376: < 0.601188, -0.601188, 0.526447> + 16377: < 0.571076, -0.625584, 0.531523> + 16378: < 0.581456, -0.641397, 0.500519> + 16379: < 0.613379, -0.613379, 0.497527> + 16380: < 0.588539, -0.588539, 0.554296> + 16381: < 0.561516, -0.607783, 0.561516> + 16382: < 0.571076, -0.625584, 0.531523> + 16383: < 0.601188, -0.601188, 0.526447> + 16384: <-0.607783, -0.561516, 0.561516> + 16385: <-0.625584, -0.531523, 0.571076> + 16386: <-0.647334, -0.538962, 0.538962> + 16387: <-0.625584, -0.571076, 0.531523> + 16388: <-0.625584, -0.531523, 0.571076> + 16389: <-0.641397, -0.500519, 0.581456> + 16390: <-0.666144, -0.506040, 0.547882> + 16391: <-0.647334, -0.538962, 0.538962> + 16392: <-0.641397, -0.500519, 0.581456> + 16393: <-0.655217, -0.469385, 0.591920> + 16394: <-0.682532, -0.473139, 0.557037> + 16395: <-0.666144, -0.506040, 0.547882> + 16396: <-0.655217, -0.469385, 0.591920> + 16397: <-0.668312, -0.437036, 0.601963> + 16398: <-0.697667, -0.439475, 0.565794> + 16399: <-0.682532, -0.473139, 0.557037> + 16400: <-0.668312, -0.437036, 0.601963> + 16401: <-0.680859, -0.403223, 0.611427> + 16402: <-0.711772, -0.404839, 0.574008> + 16403: <-0.697667, -0.439475, 0.565794> + 16404: <-0.680859, -0.403223, 0.611427> + 16405: <-0.692544, -0.368246, 0.620305> + 16406: <-0.724825, -0.369188, 0.581661> + 16407: <-0.711772, -0.404839, 0.574008> + 16408: <-0.692544, -0.368246, 0.620305> + 16409: <-0.703467, -0.331652, 0.628603> + 16410: <-0.736907, -0.332197, 0.588738> + 16411: <-0.724825, -0.369188, 0.581661> + 16412: <-0.703467, -0.331652, 0.628603> + 16413: <-0.713396, -0.293904, 0.636150> + 16414: <-0.747816, -0.294207, 0.595158> + 16415: <-0.736907, -0.332197, 0.588738> + 16416: <-0.713396, -0.293904, 0.636150> + 16417: <-0.722093, -0.255632, 0.642833> + 16418: <-0.757361, -0.255750, 0.600829> + 16419: <-0.747816, -0.294207, 0.595158> + 16420: <-0.722093, -0.255632, 0.642833> + 16421: <-0.729636, -0.216660, 0.648606> + 16422: <-0.765608, -0.216596, 0.605748> + 16423: <-0.757361, -0.255750, 0.600829> + 16424: <-0.729636, -0.216660, 0.648606> + 16425: <-0.736025, -0.176644, 0.653502> + 16426: <-0.772589, -0.176461, 0.609892> + 16427: <-0.765608, -0.216596, 0.605748> + 16428: <-0.736025, -0.176644, 0.653502> + 16429: <-0.741243, -0.135260, 0.657468> + 16430: <-0.778292, -0.135015, 0.613215> + 16431: <-0.772589, -0.176461, 0.609892> + 16432: <-0.741243, -0.135260, 0.657468> + 16433: <-0.745184, -0.092137, 0.660463> + 16434: <-0.782607, -0.091894, 0.615697> + 16435: <-0.778292, -0.135015, 0.613215> + 16436: <-0.745184, -0.092137, 0.660463> + 16437: <-0.747715, -0.046999, 0.662354> + 16438: <-0.785375, -0.046847, 0.617246> + 16439: <-0.782607, -0.091894, 0.615697> + 16440: <-0.747715, -0.046999, 0.662354> + 16441: <-0.748599, 0.000000, 0.663024> + 16442: <-0.786344, 0.000000, 0.617789> + 16443: <-0.785375, -0.046847, 0.617246> + 16444: <-0.748599, 0.000000, 0.663024> + 16445: <-0.747715, 0.046999, 0.662354> + 16446: <-0.785375, 0.046847, 0.617246> + 16447: <-0.786344, 0.000000, 0.617789> + 16448: <-0.747715, 0.046999, 0.662354> + 16449: <-0.745184, 0.092137, 0.660463> + 16450: <-0.782607, 0.091894, 0.615697> + 16451: <-0.785375, 0.046847, 0.617246> + 16452: <-0.745184, 0.092137, 0.660463> + 16453: <-0.741243, 0.135260, 0.657468> + 16454: <-0.778309, 0.134988, 0.613199> + 16455: <-0.782607, 0.091894, 0.615697> + 16456: <-0.741243, 0.135260, 0.657468> + 16457: <-0.736025, 0.176644, 0.653502> + 16458: <-0.772589, 0.176461, 0.609892> + 16459: <-0.778309, 0.134988, 0.613199> + 16460: <-0.736025, 0.176644, 0.653502> + 16461: <-0.729636, 0.216660, 0.648606> + 16462: <-0.765608, 0.216596, 0.605748> + 16463: <-0.772589, 0.176461, 0.609892> + 16464: <-0.729636, 0.216660, 0.648606> + 16465: <-0.722093, 0.255632, 0.642833> + 16466: <-0.757361, 0.255750, 0.600829> + 16467: <-0.765608, 0.216596, 0.605748> + 16468: <-0.722093, 0.255632, 0.642833> + 16469: <-0.713396, 0.293904, 0.636150> + 16470: <-0.747816, 0.294207, 0.595158> + 16471: <-0.757361, 0.255750, 0.600829> + 16472: <-0.713396, 0.293904, 0.636150> + 16473: <-0.703467, 0.331652, 0.628603> + 16474: <-0.736915, 0.332170, 0.588744> + 16475: <-0.747816, 0.294207, 0.595158> + 16476: <-0.703467, 0.331652, 0.628603> + 16477: <-0.692544, 0.368246, 0.620305> + 16478: <-0.724825, 0.369188, 0.581661> + 16479: <-0.736915, 0.332170, 0.588744> + 16480: <-0.692544, 0.368246, 0.620305> + 16481: <-0.680859, 0.403223, 0.611427> + 16482: <-0.711772, 0.404839, 0.574008> + 16483: <-0.724825, 0.369188, 0.581661> + 16484: <-0.680859, 0.403223, 0.611427> + 16485: <-0.668312, 0.437036, 0.601963> + 16486: <-0.697667, 0.439475, 0.565794> + 16487: <-0.711772, 0.404839, 0.574008> + 16488: <-0.668312, 0.437036, 0.601963> + 16489: <-0.655217, 0.469385, 0.591920> + 16490: <-0.682532, 0.473139, 0.557037> + 16491: <-0.697667, 0.439475, 0.565794> + 16492: <-0.655217, 0.469385, 0.591920> + 16493: <-0.641406, 0.500496, 0.581465> + 16494: <-0.666144, 0.506040, 0.547882> + 16495: <-0.682532, 0.473139, 0.557037> + 16496: <-0.641406, 0.500496, 0.581465> + 16497: <-0.625584, 0.531523, 0.571076> + 16498: <-0.647334, 0.538962, 0.538962> + 16499: <-0.666144, 0.506040, 0.547882> + 16500: <-0.625584, 0.531523, 0.571076> + 16501: <-0.607783, 0.561516, 0.561516> + 16502: <-0.625584, 0.571076, 0.531523> + 16503: <-0.647334, 0.538962, 0.538962> + 16504: <-0.625584, -0.571076, 0.531523> + 16505: <-0.647334, -0.538962, 0.538962> + 16506: <-0.666144, -0.547882, 0.506040> + 16507: <-0.641397, -0.581456, 0.500519> + 16508: <-0.647334, -0.538962, 0.538962> + 16509: <-0.666144, -0.506040, 0.547882> + 16510: <-0.687856, -0.513252, 0.513252> + 16511: <-0.666144, -0.547882, 0.506040> + 16512: <-0.666144, -0.506040, 0.547882> + 16513: <-0.682532, -0.473139, 0.557037> + 16514: <-0.706895, -0.478425, 0.520969> + 16515: <-0.687856, -0.513252, 0.513252> + 16516: <-0.682532, -0.473139, 0.557037> + 16517: <-0.697667, -0.439475, 0.565794> + 16518: <-0.724109, -0.443145, 0.528478> + 16519: <-0.706895, -0.478425, 0.520969> + 16520: <-0.697667, -0.439475, 0.565794> + 16521: <-0.711772, -0.404839, 0.574008> + 16522: <-0.739812, -0.407307, 0.535518> + 16523: <-0.724109, -0.443145, 0.528478> + 16524: <-0.711772, -0.404839, 0.574008> + 16525: <-0.724825, -0.369188, 0.581661> + 16526: <-0.754169, -0.370721, 0.542028> + 16527: <-0.739812, -0.407307, 0.535518> + 16528: <-0.724825, -0.369188, 0.581661> + 16529: <-0.736907, -0.332197, 0.588738> + 16530: <-0.767292, -0.333090, 0.548009> + 16531: <-0.754169, -0.370721, 0.542028> + 16532: <-0.736907, -0.332197, 0.588738> + 16533: <-0.747816, -0.294207, 0.595158> + 16534: <-0.779017, -0.294729, 0.553415> + 16535: <-0.767292, -0.333090, 0.548009> + 16536: <-0.747816, -0.294207, 0.595158> + 16537: <-0.757361, -0.255750, 0.600829> + 16538: <-0.789266, -0.255937, 0.558172> + 16539: <-0.779017, -0.294729, 0.553415> + 16540: <-0.757361, -0.255750, 0.600829> + 16541: <-0.765608, -0.216596, 0.605748> + 16542: <-0.798110, -0.216534, 0.562257> + 16543: <-0.789266, -0.255937, 0.558172> + 16544: <-0.765608, -0.216596, 0.605748> + 16545: <-0.772589, -0.176461, 0.609892> + 16546: <-0.805587, -0.176188, 0.565675> + 16547: <-0.798110, -0.216534, 0.562257> + 16548: <-0.772589, -0.176461, 0.609892> + 16549: <-0.778292, -0.135015, 0.613215> + 16550: <-0.811677, -0.134618, 0.568382> + 16551: <-0.805587, -0.176188, 0.565675> + 16552: <-0.778292, -0.135015, 0.613215> + 16553: <-0.782607, -0.091894, 0.615697> + 16554: <-0.816271, -0.091497, 0.570377> + 16555: <-0.811677, -0.134618, 0.568382> + 16556: <-0.782607, -0.091894, 0.615697> + 16557: <-0.785375, -0.046847, 0.617246> + 16558: <-0.819208, -0.046573, 0.571602> + 16559: <-0.816271, -0.091497, 0.570377> + 16560: <-0.785375, -0.046847, 0.617246> + 16561: <-0.786344, 0.000000, 0.617789> + 16562: <-0.820237, 0.000000, 0.572024> + 16563: <-0.819208, -0.046573, 0.571602> + 16564: <-0.786344, 0.000000, 0.617789> + 16565: <-0.785375, 0.046847, 0.617246> + 16566: <-0.819208, 0.046573, 0.571602> + 16567: <-0.820237, 0.000000, 0.572024> + 16568: <-0.785375, 0.046847, 0.617246> + 16569: <-0.782607, 0.091894, 0.615697> + 16570: <-0.816271, 0.091497, 0.570377> + 16571: <-0.819208, 0.046573, 0.571602> + 16572: <-0.782607, 0.091894, 0.615697> + 16573: <-0.778309, 0.134988, 0.613199> + 16574: <-0.811677, 0.134618, 0.568382> + 16575: <-0.816271, 0.091497, 0.570377> + 16576: <-0.778309, 0.134988, 0.613199> + 16577: <-0.772589, 0.176461, 0.609892> + 16578: <-0.805587, 0.176188, 0.565675> + 16579: <-0.811677, 0.134618, 0.568382> + 16580: <-0.772589, 0.176461, 0.609892> + 16581: <-0.765608, 0.216596, 0.605748> + 16582: <-0.798110, 0.216534, 0.562257> + 16583: <-0.805587, 0.176188, 0.565675> + 16584: <-0.765608, 0.216596, 0.605748> + 16585: <-0.757361, 0.255750, 0.600829> + 16586: <-0.789266, 0.255937, 0.558172> + 16587: <-0.798110, 0.216534, 0.562257> + 16588: <-0.757361, 0.255750, 0.600829> + 16589: <-0.747816, 0.294207, 0.595158> + 16590: <-0.779017, 0.294729, 0.553415> + 16591: <-0.789266, 0.255937, 0.558172> + 16592: <-0.747816, 0.294207, 0.595158> + 16593: <-0.736915, 0.332170, 0.588744> + 16594: <-0.767292, 0.333090, 0.548009> + 16595: <-0.779017, 0.294729, 0.553415> + 16596: <-0.736915, 0.332170, 0.588744> + 16597: <-0.724825, 0.369188, 0.581661> + 16598: <-0.754169, 0.370721, 0.542028> + 16599: <-0.767292, 0.333090, 0.548009> + 16600: <-0.724825, 0.369188, 0.581661> + 16601: <-0.711772, 0.404839, 0.574008> + 16602: <-0.739812, 0.407307, 0.535518> + 16603: <-0.754169, 0.370721, 0.542028> + 16604: <-0.711772, 0.404839, 0.574008> + 16605: <-0.697667, 0.439475, 0.565794> + 16606: <-0.724109, 0.443145, 0.528478> + 16607: <-0.739812, 0.407307, 0.535518> + 16608: <-0.697667, 0.439475, 0.565794> + 16609: <-0.682532, 0.473139, 0.557037> + 16610: <-0.706895, 0.478425, 0.520969> + 16611: <-0.724109, 0.443145, 0.528478> + 16612: <-0.682532, 0.473139, 0.557037> + 16613: <-0.666144, 0.506040, 0.547882> + 16614: <-0.687856, 0.513252, 0.513252> + 16615: <-0.706895, 0.478425, 0.520969> + 16616: <-0.666144, 0.506040, 0.547882> + 16617: <-0.647334, 0.538962, 0.538962> + 16618: <-0.666144, 0.547882, 0.506040> + 16619: <-0.687856, 0.513252, 0.513252> + 16620: <-0.647334, 0.538962, 0.538962> + 16621: <-0.625584, 0.571076, 0.531523> + 16622: <-0.641397, 0.581456, 0.500519> + 16623: <-0.666144, 0.547882, 0.506040> + 16624: <-0.641397, -0.581456, 0.500519> + 16625: <-0.666144, -0.547882, 0.506040> + 16626: <-0.682532, -0.557037, 0.473139> + 16627: <-0.655217, -0.591920, 0.469385> + 16628: <-0.666144, -0.547882, 0.506040> + 16629: <-0.687856, -0.513252, 0.513252> + 16630: <-0.706895, -0.520969, 0.478425> + 16631: <-0.682532, -0.557037, 0.473139> + 16632: <-0.687856, -0.513252, 0.513252> + 16633: <-0.706895, -0.478425, 0.520969> + 16634: <-0.728461, -0.484430, 0.484430> + 16635: <-0.706895, -0.520969, 0.478425> + 16636: <-0.706895, -0.478425, 0.520969> + 16637: <-0.724109, -0.443145, 0.528478> + 16638: <-0.747688, -0.447593, 0.490534> + 16639: <-0.728461, -0.484430, 0.484430> + 16640: <-0.724109, -0.443145, 0.528478> + 16641: <-0.739812, -0.407307, 0.535518> + 16642: <-0.764964, -0.410392, 0.496395> + 16643: <-0.747688, -0.447593, 0.490534> + 16644: <-0.739812, -0.407307, 0.535518> + 16645: <-0.754169, -0.370721, 0.542028> + 16646: <-0.780568, -0.372705, 0.501802> + 16647: <-0.764964, -0.410392, 0.496395> + 16648: <-0.754169, -0.370721, 0.542028> + 16649: <-0.767292, -0.333090, 0.548009> + 16650: <-0.794627, -0.334337, 0.506740> + 16651: <-0.780568, -0.372705, 0.501802> + 16652: <-0.767292, -0.333090, 0.548009> + 16653: <-0.779017, -0.294729, 0.553415> + 16654: <-0.807082, -0.295457, 0.511198> + 16655: <-0.794627, -0.334337, 0.506740> + 16656: <-0.779017, -0.294729, 0.553415> + 16657: <-0.789266, -0.255937, 0.558172> + 16658: <-0.817925, -0.256243, 0.515110> + 16659: <-0.807082, -0.295457, 0.511198> + 16660: <-0.789266, -0.255937, 0.558172> + 16661: <-0.798110, -0.216534, 0.562257> + 16662: <-0.827263, -0.216475, 0.518435> + 16663: <-0.817925, -0.256243, 0.515110> + 16664: <-0.798110, -0.216534, 0.562257> + 16665: <-0.805587, -0.176188, 0.565675> + 16666: <-0.835133, -0.175853, 0.521180> + 16667: <-0.827263, -0.216475, 0.518435> + 16668: <-0.805587, -0.176188, 0.565675> + 16669: <-0.811677, -0.134618, 0.568382> + 16670: <-0.841527, -0.134100, 0.523307> + 16671: <-0.835133, -0.175853, 0.521180> + 16672: <-0.811677, -0.134618, 0.568382> + 16673: <-0.816271, -0.091497, 0.570377> + 16674: <-0.846324, -0.091008, 0.524836> + 16675: <-0.841527, -0.134100, 0.523307> + 16676: <-0.816271, -0.091497, 0.570377> + 16677: <-0.819208, -0.046573, 0.571602> + 16678: <-0.849378, -0.046267, 0.525753> + 16679: <-0.846324, -0.091008, 0.524836> + 16680: <-0.819208, -0.046573, 0.571602> + 16681: <-0.820237, 0.000000, 0.572024> + 16682: <-0.850434, 0.000000, 0.526081> + 16683: <-0.849378, -0.046267, 0.525753> + 16684: <-0.820237, 0.000000, 0.572024> + 16685: <-0.819208, 0.046573, 0.571602> + 16686: <-0.849378, 0.046267, 0.525753> + 16687: <-0.850434, 0.000000, 0.526081> + 16688: <-0.819208, 0.046573, 0.571602> + 16689: <-0.816271, 0.091497, 0.570377> + 16690: <-0.846324, 0.091008, 0.524836> + 16691: <-0.849378, 0.046267, 0.525753> + 16692: <-0.816271, 0.091497, 0.570377> + 16693: <-0.811677, 0.134618, 0.568382> + 16694: <-0.841527, 0.134100, 0.523307> + 16695: <-0.846324, 0.091008, 0.524836> + 16696: <-0.811677, 0.134618, 0.568382> + 16697: <-0.805587, 0.176188, 0.565675> + 16698: <-0.835133, 0.175853, 0.521180> + 16699: <-0.841527, 0.134100, 0.523307> + 16700: <-0.805587, 0.176188, 0.565675> + 16701: <-0.798110, 0.216534, 0.562257> + 16702: <-0.827263, 0.216475, 0.518435> + 16703: <-0.835133, 0.175853, 0.521180> + 16704: <-0.798110, 0.216534, 0.562257> + 16705: <-0.789266, 0.255937, 0.558172> + 16706: <-0.817925, 0.256243, 0.515110> + 16707: <-0.827263, 0.216475, 0.518435> + 16708: <-0.789266, 0.255937, 0.558172> + 16709: <-0.779017, 0.294729, 0.553415> + 16710: <-0.807082, 0.295457, 0.511198> + 16711: <-0.817925, 0.256243, 0.515110> + 16712: <-0.779017, 0.294729, 0.553415> + 16713: <-0.767292, 0.333090, 0.548009> + 16714: <-0.794627, 0.334337, 0.506740> + 16715: <-0.807082, 0.295457, 0.511198> + 16716: <-0.767292, 0.333090, 0.548009> + 16717: <-0.754169, 0.370721, 0.542028> + 16718: <-0.780568, 0.372705, 0.501802> + 16719: <-0.794627, 0.334337, 0.506740> + 16720: <-0.754169, 0.370721, 0.542028> + 16721: <-0.739812, 0.407307, 0.535518> + 16722: <-0.764964, 0.410392, 0.496395> + 16723: <-0.780568, 0.372705, 0.501802> + 16724: <-0.739812, 0.407307, 0.535518> + 16725: <-0.724109, 0.443145, 0.528478> + 16726: <-0.747688, 0.447593, 0.490534> + 16727: <-0.764964, 0.410392, 0.496395> + 16728: <-0.724109, 0.443145, 0.528478> + 16729: <-0.706895, 0.478425, 0.520969> + 16730: <-0.728461, 0.484430, 0.484430> + 16731: <-0.747688, 0.447593, 0.490534> + 16732: <-0.706895, 0.478425, 0.520969> + 16733: <-0.687856, 0.513252, 0.513252> + 16734: <-0.706895, 0.520969, 0.478425> + 16735: <-0.728461, 0.484430, 0.484430> + 16736: <-0.687856, 0.513252, 0.513252> + 16737: <-0.666144, 0.547882, 0.506040> + 16738: <-0.682532, 0.557037, 0.473139> + 16739: <-0.706895, 0.520969, 0.478425> + 16740: <-0.666144, 0.547882, 0.506040> + 16741: <-0.641397, 0.581456, 0.500519> + 16742: <-0.655217, 0.591920, 0.469385> + 16743: <-0.682532, 0.557037, 0.473139> + 16744: <-0.655217, -0.591920, 0.469385> + 16745: <-0.682532, -0.557037, 0.473139> + 16746: <-0.697667, -0.565794, 0.439475> + 16747: <-0.668312, -0.601963, 0.437036> + 16748: <-0.682532, -0.557037, 0.473139> + 16749: <-0.706895, -0.520969, 0.478425> + 16750: <-0.724109, -0.528478, 0.443145> + 16751: <-0.697667, -0.565794, 0.439475> + 16752: <-0.706895, -0.520969, 0.478425> + 16753: <-0.728461, -0.484430, 0.484430> + 16754: <-0.747688, -0.490534, 0.447593> + 16755: <-0.724109, -0.528478, 0.443145> + 16756: <-0.728461, -0.484430, 0.484430> + 16757: <-0.747688, -0.447593, 0.490534> + 16758: <-0.768679, -0.452290, 0.452290> + 16759: <-0.747688, -0.490534, 0.447593> + 16760: <-0.747688, -0.447593, 0.490534> + 16761: <-0.764964, -0.410392, 0.496395> + 16762: <-0.787421, -0.413777, 0.456900> + 16763: <-0.768679, -0.452290, 0.452290> + 16764: <-0.764964, -0.410392, 0.496395> + 16765: <-0.780568, -0.372705, 0.501802> + 16766: <-0.804154, -0.374961, 0.461239> + 16767: <-0.787421, -0.413777, 0.456900> + 16768: <-0.780568, -0.372705, 0.501802> + 16769: <-0.794627, -0.334337, 0.506740> + 16770: <-0.819039, -0.335801, 0.465202> + 16771: <-0.804154, -0.374961, 0.461239> + 16772: <-0.794627, -0.334337, 0.506740> + 16773: <-0.807082, -0.295457, 0.511198> + 16774: <-0.832128, -0.296339, 0.468770> + 16775: <-0.819039, -0.335801, 0.465202> + 16776: <-0.807082, -0.295457, 0.511198> + 16777: <-0.817925, -0.256243, 0.515110> + 16778: <-0.843490, -0.256606, 0.471888> + 16779: <-0.832128, -0.296339, 0.468770> + 16780: <-0.817925, -0.256243, 0.515110> + 16781: <-0.827263, -0.216475, 0.518435> + 16782: <-0.853230, -0.216413, 0.474515> + 16783: <-0.843490, -0.256606, 0.471888> + 16784: <-0.827263, -0.216475, 0.518435> + 16785: <-0.835133, -0.175853, 0.521180> + 16786: <-0.861426, -0.175453, 0.476614> + 16787: <-0.853230, -0.216413, 0.474515> + 16788: <-0.835133, -0.175853, 0.521180> + 16789: <-0.841527, -0.134100, 0.523307> + 16790: <-0.868033, -0.133553, 0.478208> + 16791: <-0.861426, -0.175453, 0.476614> + 16792: <-0.841527, -0.134100, 0.523307> + 16793: <-0.846324, -0.091008, 0.524836> + 16794: <-0.872976, -0.090429, 0.479307> + 16795: <-0.868033, -0.133553, 0.478208> + 16796: <-0.846324, -0.091008, 0.524836> + 16797: <-0.849378, -0.046267, 0.525753> + 16798: <-0.876095, -0.045871, 0.479951> + 16799: <-0.872976, -0.090429, 0.479307> + 16800: <-0.849378, -0.046267, 0.525753> + 16801: <-0.850434, 0.000000, 0.526081> + 16802: <-0.877169, 0.000000, 0.480182> + 16803: <-0.876095, -0.045871, 0.479951> + 16804: <-0.850434, 0.000000, 0.526081> + 16805: <-0.849378, 0.046267, 0.525753> + 16806: <-0.876095, 0.045871, 0.479951> + 16807: <-0.877169, 0.000000, 0.480182> + 16808: <-0.849378, 0.046267, 0.525753> + 16809: <-0.846324, 0.091008, 0.524836> + 16810: <-0.872976, 0.090429, 0.479307> + 16811: <-0.876095, 0.045871, 0.479951> + 16812: <-0.846324, 0.091008, 0.524836> + 16813: <-0.841527, 0.134100, 0.523307> + 16814: <-0.868033, 0.133553, 0.478208> + 16815: <-0.872976, 0.090429, 0.479307> + 16816: <-0.841527, 0.134100, 0.523307> + 16817: <-0.835133, 0.175853, 0.521180> + 16818: <-0.861426, 0.175453, 0.476614> + 16819: <-0.868033, 0.133553, 0.478208> + 16820: <-0.835133, 0.175853, 0.521180> + 16821: <-0.827263, 0.216475, 0.518435> + 16822: <-0.853230, 0.216413, 0.474515> + 16823: <-0.861426, 0.175453, 0.476614> + 16824: <-0.827263, 0.216475, 0.518435> + 16825: <-0.817925, 0.256243, 0.515110> + 16826: <-0.843490, 0.256606, 0.471888> + 16827: <-0.853230, 0.216413, 0.474515> + 16828: <-0.817925, 0.256243, 0.515110> + 16829: <-0.807082, 0.295457, 0.511198> + 16830: <-0.832128, 0.296339, 0.468770> + 16831: <-0.843490, 0.256606, 0.471888> + 16832: <-0.807082, 0.295457, 0.511198> + 16833: <-0.794627, 0.334337, 0.506740> + 16834: <-0.819039, 0.335801, 0.465202> + 16835: <-0.832128, 0.296339, 0.468770> + 16836: <-0.794627, 0.334337, 0.506740> + 16837: <-0.780568, 0.372705, 0.501802> + 16838: <-0.804154, 0.374961, 0.461239> + 16839: <-0.819039, 0.335801, 0.465202> + 16840: <-0.780568, 0.372705, 0.501802> + 16841: <-0.764964, 0.410392, 0.496395> + 16842: <-0.787421, 0.413777, 0.456900> + 16843: <-0.804154, 0.374961, 0.461239> + 16844: <-0.764964, 0.410392, 0.496395> + 16845: <-0.747688, 0.447593, 0.490534> + 16846: <-0.768679, 0.452290, 0.452290> + 16847: <-0.787421, 0.413777, 0.456900> + 16848: <-0.747688, 0.447593, 0.490534> + 16849: <-0.728461, 0.484430, 0.484430> + 16850: <-0.747688, 0.490534, 0.447593> + 16851: <-0.768679, 0.452290, 0.452290> + 16852: <-0.728461, 0.484430, 0.484430> + 16853: <-0.706895, 0.520969, 0.478425> + 16854: <-0.724109, 0.528478, 0.443145> + 16855: <-0.747688, 0.490534, 0.447593> + 16856: <-0.706895, 0.520969, 0.478425> + 16857: <-0.682532, 0.557037, 0.473139> + 16858: <-0.697667, 0.565794, 0.439475> + 16859: <-0.724109, 0.528478, 0.443145> + 16860: <-0.682532, 0.557037, 0.473139> + 16861: <-0.655217, 0.591920, 0.469385> + 16862: <-0.668312, 0.601963, 0.437036> + 16863: <-0.697667, 0.565794, 0.439475> + 16864: <-0.668312, -0.601963, 0.437036> + 16865: <-0.697667, -0.565794, 0.439475> + 16866: <-0.711772, -0.574008, 0.404839> + 16867: <-0.680859, -0.611427, 0.403223> + 16868: <-0.697667, -0.565794, 0.439475> + 16869: <-0.724109, -0.528478, 0.443145> + 16870: <-0.739812, -0.535518, 0.407307> + 16871: <-0.711772, -0.574008, 0.404839> + 16872: <-0.724109, -0.528478, 0.443145> + 16873: <-0.747688, -0.490534, 0.447593> + 16874: <-0.764976, -0.496372, 0.410398> + 16875: <-0.739812, -0.535518, 0.407307> + 16876: <-0.747688, -0.490534, 0.447593> + 16877: <-0.768679, -0.452290, 0.452290> + 16878: <-0.787421, -0.456900, 0.413777> + 16879: <-0.764976, -0.496372, 0.410398> + 16880: <-0.768679, -0.452290, 0.452290> + 16881: <-0.787421, -0.413777, 0.456900> + 16882: <-0.807394, -0.417202, 0.417202> + 16883: <-0.787421, -0.456900, 0.413777> + 16884: <-0.787421, -0.413777, 0.456900> + 16885: <-0.804154, -0.374961, 0.461239> + 16886: <-0.825100, -0.377345, 0.420500> + 16887: <-0.807394, -0.417202, 0.417202> + 16888: <-0.804154, -0.374961, 0.461239> + 16889: <-0.819039, -0.335801, 0.465202> + 16890: <-0.840684, -0.337391, 0.423577> + 16891: <-0.825100, -0.377345, 0.420500> + 16892: <-0.819039, -0.335801, 0.465202> + 16893: <-0.832128, -0.296339, 0.468770> + 16894: <-0.854324, -0.297287, 0.426323> + 16895: <-0.840684, -0.337391, 0.423577> + 16896: <-0.832128, -0.296339, 0.468770> + 16897: <-0.843490, -0.256606, 0.471888> + 16898: <-0.866124, -0.256999, 0.428698> + 16899: <-0.854324, -0.297287, 0.426323> + 16900: <-0.843490, -0.256606, 0.471888> + 16901: <-0.853230, -0.216413, 0.474515> + 16902: <-0.876208, -0.216320, 0.430657> + 16903: <-0.866124, -0.256999, 0.428698> + 16904: <-0.853230, -0.216413, 0.474515> + 16905: <-0.861426, -0.175453, 0.476614> + 16906: <-0.884654, -0.175026, 0.432149> + 16907: <-0.876208, -0.216320, 0.430657> + 16908: <-0.861426, -0.175453, 0.476614> + 16909: <-0.868033, -0.133553, 0.478208> + 16910: <-0.891405, -0.132911, 0.433281> + 16911: <-0.884654, -0.175026, 0.432149> + 16912: <-0.868033, -0.133553, 0.478208> + 16913: <-0.872976, -0.090429, 0.479307> + 16914: <-0.896437, -0.089787, 0.433981> + 16915: <-0.891405, -0.132911, 0.433281> + 16916: <-0.872976, -0.090429, 0.479307> + 16917: <-0.876095, -0.045871, 0.479951> + 16918: <-0.899583, -0.045443, 0.434379> + 16919: <-0.896437, -0.089787, 0.433981> + 16920: <-0.876095, -0.045871, 0.479951> + 16921: <-0.877169, 0.000000, 0.480182> + 16922: <-0.900655, 0.000000, 0.434534> + 16923: <-0.899583, -0.045443, 0.434379> + 16924: <-0.877169, 0.000000, 0.480182> + 16925: <-0.876095, 0.045871, 0.479951> + 16926: <-0.899583, 0.045443, 0.434379> + 16927: <-0.900655, 0.000000, 0.434534> + 16928: <-0.876095, 0.045871, 0.479951> + 16929: <-0.872976, 0.090429, 0.479307> + 16930: <-0.896437, 0.089787, 0.433981> + 16931: <-0.899583, 0.045443, 0.434379> + 16932: <-0.872976, 0.090429, 0.479307> + 16933: <-0.868033, 0.133553, 0.478208> + 16934: <-0.891405, 0.132911, 0.433281> + 16935: <-0.896437, 0.089787, 0.433981> + 16936: <-0.868033, 0.133553, 0.478208> + 16937: <-0.861426, 0.175453, 0.476614> + 16938: <-0.884654, 0.175026, 0.432149> + 16939: <-0.891405, 0.132911, 0.433281> + 16940: <-0.861426, 0.175453, 0.476614> + 16941: <-0.853230, 0.216413, 0.474515> + 16942: <-0.876208, 0.216320, 0.430657> + 16943: <-0.884654, 0.175026, 0.432149> + 16944: <-0.853230, 0.216413, 0.474515> + 16945: <-0.843490, 0.256606, 0.471888> + 16946: <-0.866124, 0.256999, 0.428698> + 16947: <-0.876208, 0.216320, 0.430657> + 16948: <-0.843490, 0.256606, 0.471888> + 16949: <-0.832128, 0.296339, 0.468770> + 16950: <-0.854324, 0.297287, 0.426323> + 16951: <-0.866124, 0.256999, 0.428698> + 16952: <-0.832128, 0.296339, 0.468770> + 16953: <-0.819039, 0.335801, 0.465202> + 16954: <-0.840684, 0.337391, 0.423577> + 16955: <-0.854324, 0.297287, 0.426323> + 16956: <-0.819039, 0.335801, 0.465202> + 16957: <-0.804154, 0.374961, 0.461239> + 16958: <-0.825100, 0.377345, 0.420500> + 16959: <-0.840684, 0.337391, 0.423577> + 16960: <-0.804154, 0.374961, 0.461239> + 16961: <-0.787421, 0.413777, 0.456900> + 16962: <-0.807394, 0.417202, 0.417202> + 16963: <-0.825100, 0.377345, 0.420500> + 16964: <-0.787421, 0.413777, 0.456900> + 16965: <-0.768679, 0.452290, 0.452290> + 16966: <-0.787421, 0.456900, 0.413777> + 16967: <-0.807394, 0.417202, 0.417202> + 16968: <-0.768679, 0.452290, 0.452290> + 16969: <-0.747688, 0.490534, 0.447593> + 16970: <-0.764976, 0.496372, 0.410398> + 16971: <-0.787421, 0.456900, 0.413777> + 16972: <-0.747688, 0.490534, 0.447593> + 16973: <-0.724109, 0.528478, 0.443145> + 16974: <-0.739812, 0.535518, 0.407307> + 16975: <-0.764976, 0.496372, 0.410398> + 16976: <-0.724109, 0.528478, 0.443145> + 16977: <-0.697667, 0.565794, 0.439475> + 16978: <-0.711772, 0.574008, 0.404839> + 16979: <-0.739812, 0.535518, 0.407307> + 16980: <-0.697667, 0.565794, 0.439475> + 16981: <-0.668312, 0.601963, 0.437036> + 16982: <-0.680859, 0.611427, 0.403223> + 16983: <-0.711772, 0.574008, 0.404839> + 16984: <-0.680859, -0.611427, 0.403223> + 16985: <-0.711772, -0.574008, 0.404839> + 16986: <-0.724825, -0.581661, 0.369188> + 16987: <-0.692544, -0.620305, 0.368246> + 16988: <-0.711772, -0.574008, 0.404839> + 16989: <-0.739812, -0.535518, 0.407307> + 16990: <-0.754169, -0.542028, 0.370721> + 16991: <-0.724825, -0.581661, 0.369188> + 16992: <-0.739812, -0.535518, 0.407307> + 16993: <-0.764976, -0.496372, 0.410398> + 16994: <-0.780568, -0.501802, 0.372705> + 16995: <-0.754169, -0.542028, 0.370721> + 16996: <-0.764976, -0.496372, 0.410398> + 16997: <-0.787421, -0.456900, 0.413777> + 16998: <-0.804154, -0.461239, 0.374961> + 16999: <-0.780568, -0.501802, 0.372705> + 17000: <-0.787421, -0.456900, 0.413777> + 17001: <-0.807394, -0.417202, 0.417202> + 17002: <-0.825100, -0.420500, 0.377345> + 17003: <-0.804154, -0.461239, 0.374961> + 17004: <-0.807394, -0.417202, 0.417202> + 17005: <-0.825100, -0.377345, 0.420500> + 17006: <-0.843551, -0.379751, 0.379751> + 17007: <-0.825100, -0.420500, 0.377345> + 17008: <-0.825100, -0.377345, 0.420500> + 17009: <-0.840684, -0.337391, 0.423577> + 17010: <-0.859750, -0.339005, 0.381976> + 17011: <-0.843551, -0.379751, 0.379751> + 17012: <-0.840684, -0.337391, 0.423577> + 17013: <-0.854324, -0.297287, 0.426323> + 17014: <-0.873848, -0.298231, 0.383989> + 17015: <-0.859750, -0.339005, 0.381976> + 17016: <-0.854324, -0.297287, 0.426323> + 17017: <-0.866124, -0.256999, 0.428698> + 17018: <-0.886018, -0.257364, 0.385664> + 17019: <-0.873848, -0.298231, 0.383989> + 17020: <-0.866124, -0.256999, 0.428698> + 17021: <-0.876208, -0.216320, 0.430657> + 17022: <-0.896382, -0.216199, 0.386985> + 17023: <-0.886018, -0.257364, 0.385664> + 17024: <-0.876208, -0.216320, 0.430657> + 17025: <-0.884654, -0.175026, 0.432149> + 17026: <-0.904997, -0.174541, 0.387965> + 17027: <-0.896382, -0.216199, 0.386985> + 17028: <-0.884654, -0.175026, 0.432149> + 17029: <-0.891405, -0.132911, 0.433281> + 17030: <-0.911854, -0.132240, 0.388632> + 17031: <-0.904997, -0.174541, 0.387965> + 17032: <-0.891405, -0.132911, 0.433281> + 17033: <-0.896437, -0.089787, 0.433981> + 17034: <-0.916918, -0.089116, 0.388998> + 17035: <-0.911854, -0.132240, 0.388632> + 17036: <-0.896437, -0.089787, 0.433981> + 17037: <-0.899583, -0.045443, 0.434379> + 17038: <-0.920061, -0.045016, 0.389180> + 17039: <-0.916918, -0.089116, 0.388998> + 17040: <-0.899583, -0.045443, 0.434379> + 17041: <-0.900655, 0.000000, 0.434534> + 17042: <-0.921135, 0.000000, 0.389244> + 17043: <-0.920061, -0.045016, 0.389180> + 17044: <-0.900655, 0.000000, 0.434534> + 17045: <-0.899583, 0.045443, 0.434379> + 17046: <-0.920061, 0.045016, 0.389180> + 17047: <-0.921135, 0.000000, 0.389244> + 17048: <-0.899583, 0.045443, 0.434379> + 17049: <-0.896437, 0.089787, 0.433981> + 17050: <-0.916918, 0.089116, 0.388998> + 17051: <-0.920061, 0.045016, 0.389180> + 17052: <-0.896437, 0.089787, 0.433981> + 17053: <-0.891405, 0.132911, 0.433281> + 17054: <-0.911854, 0.132240, 0.388632> + 17055: <-0.916918, 0.089116, 0.388998> + 17056: <-0.891405, 0.132911, 0.433281> + 17057: <-0.884654, 0.175026, 0.432149> + 17058: <-0.904997, 0.174541, 0.387965> + 17059: <-0.911854, 0.132240, 0.388632> + 17060: <-0.884654, 0.175026, 0.432149> + 17061: <-0.876208, 0.216320, 0.430657> + 17062: <-0.896382, 0.216199, 0.386985> + 17063: <-0.904997, 0.174541, 0.387965> + 17064: <-0.876208, 0.216320, 0.430657> + 17065: <-0.866124, 0.256999, 0.428698> + 17066: <-0.886018, 0.257364, 0.385664> + 17067: <-0.896382, 0.216199, 0.386985> + 17068: <-0.866124, 0.256999, 0.428698> + 17069: <-0.854324, 0.297287, 0.426323> + 17070: <-0.873840, 0.298259, 0.383986> + 17071: <-0.886018, 0.257364, 0.385664> + 17072: <-0.854324, 0.297287, 0.426323> + 17073: <-0.840684, 0.337391, 0.423577> + 17074: <-0.859750, 0.339005, 0.381976> + 17075: <-0.873840, 0.298259, 0.383986> + 17076: <-0.840684, 0.337391, 0.423577> + 17077: <-0.825100, 0.377345, 0.420500> + 17078: <-0.843551, 0.379751, 0.379751> + 17079: <-0.859750, 0.339005, 0.381976> + 17080: <-0.825100, 0.377345, 0.420500> + 17081: <-0.807394, 0.417202, 0.417202> + 17082: <-0.825100, 0.420500, 0.377345> + 17083: <-0.843551, 0.379751, 0.379751> + 17084: <-0.807394, 0.417202, 0.417202> + 17085: <-0.787421, 0.456900, 0.413777> + 17086: <-0.804154, 0.461239, 0.374961> + 17087: <-0.825100, 0.420500, 0.377345> + 17088: <-0.787421, 0.456900, 0.413777> + 17089: <-0.764976, 0.496372, 0.410398> + 17090: <-0.780568, 0.501802, 0.372705> + 17091: <-0.804154, 0.461239, 0.374961> + 17092: <-0.764976, 0.496372, 0.410398> + 17093: <-0.739812, 0.535518, 0.407307> + 17094: <-0.754169, 0.542028, 0.370721> + 17095: <-0.780568, 0.501802, 0.372705> + 17096: <-0.739812, 0.535518, 0.407307> + 17097: <-0.711772, 0.574008, 0.404839> + 17098: <-0.724825, 0.581661, 0.369188> + 17099: <-0.754169, 0.542028, 0.370721> + 17100: <-0.711772, 0.574008, 0.404839> + 17101: <-0.680859, 0.611427, 0.403223> + 17102: <-0.692544, 0.620305, 0.368246> + 17103: <-0.724825, 0.581661, 0.369188> + 17104: <-0.692544, -0.620305, 0.368246> + 17105: <-0.724825, -0.581661, 0.369188> + 17106: <-0.736915, -0.588744, 0.332170> + 17107: <-0.703467, -0.628603, 0.331652> + 17108: <-0.724825, -0.581661, 0.369188> + 17109: <-0.754169, -0.542028, 0.370721> + 17110: <-0.767292, -0.548009, 0.333090> + 17111: <-0.736915, -0.588744, 0.332170> + 17112: <-0.754169, -0.542028, 0.370721> + 17113: <-0.780568, -0.501802, 0.372705> + 17114: <-0.794627, -0.506740, 0.334337> + 17115: <-0.767292, -0.548009, 0.333090> + 17116: <-0.780568, -0.501802, 0.372705> + 17117: <-0.804154, -0.461239, 0.374961> + 17118: <-0.819039, -0.465202, 0.335801> + 17119: <-0.794627, -0.506740, 0.334337> + 17120: <-0.804154, -0.461239, 0.374961> + 17121: <-0.825100, -0.420500, 0.377345> + 17122: <-0.840684, -0.423577, 0.337391> + 17123: <-0.819039, -0.465202, 0.335801> + 17124: <-0.825100, -0.420500, 0.377345> + 17125: <-0.843551, -0.379751, 0.379751> + 17126: <-0.859750, -0.381976, 0.339005> + 17127: <-0.840684, -0.423577, 0.337391> + 17128: <-0.843551, -0.379751, 0.379751> + 17129: <-0.859750, -0.339005, 0.381976> + 17130: <-0.876422, -0.340503, 0.340503> + 17131: <-0.859750, -0.381976, 0.339005> + 17132: <-0.859750, -0.339005, 0.381976> + 17133: <-0.873848, -0.298231, 0.383989> + 17134: <-0.890906, -0.299085, 0.341811> + 17135: <-0.876422, -0.340503, 0.340503> + 17136: <-0.873848, -0.298231, 0.383989> + 17137: <-0.886018, -0.257364, 0.385664> + 17138: <-0.903367, -0.257643, 0.342852> + 17139: <-0.890906, -0.299085, 0.341811> + 17140: <-0.886018, -0.257364, 0.385664> + 17141: <-0.896382, -0.216199, 0.386985> + 17142: <-0.913949, -0.215982, 0.343582> + 17143: <-0.903367, -0.257643, 0.342852> + 17144: <-0.896382, -0.216199, 0.386985> + 17145: <-0.904997, -0.174541, 0.387965> + 17146: <-0.922682, -0.173989, 0.344072> + 17147: <-0.913949, -0.215982, 0.343582> + 17148: <-0.904997, -0.174541, 0.387965> + 17149: <-0.911854, -0.132240, 0.388632> + 17150: <-0.929596, -0.131509, 0.344322> + 17151: <-0.922682, -0.173989, 0.344072> + 17152: <-0.911854, -0.132240, 0.388632> + 17153: <-0.916918, -0.089116, 0.388998> + 17154: <-0.934648, -0.088414, 0.344408> + 17155: <-0.929596, -0.131509, 0.344322> + 17156: <-0.916918, -0.089116, 0.388998> + 17157: <-0.920061, -0.045016, 0.389180> + 17158: <-0.937762, -0.044558, 0.344409> + 17159: <-0.934648, -0.088414, 0.344408> + 17160: <-0.920061, -0.045016, 0.389180> + 17161: <-0.921135, 0.000000, 0.389244> + 17162: <-0.938821, 0.000000, 0.344405> + 17163: <-0.937762, -0.044558, 0.344409> + 17164: <-0.921135, 0.000000, 0.389244> + 17165: <-0.920061, 0.045016, 0.389180> + 17166: <-0.937762, 0.044558, 0.344409> + 17167: <-0.938821, 0.000000, 0.344405> + 17168: <-0.920061, 0.045016, 0.389180> + 17169: <-0.916918, 0.089116, 0.388998> + 17170: <-0.934648, 0.088414, 0.344408> + 17171: <-0.937762, 0.044558, 0.344409> + 17172: <-0.916918, 0.089116, 0.388998> + 17173: <-0.911854, 0.132240, 0.388632> + 17174: <-0.929596, 0.131509, 0.344322> + 17175: <-0.934648, 0.088414, 0.344408> + 17176: <-0.911854, 0.132240, 0.388632> + 17177: <-0.904997, 0.174541, 0.387965> + 17178: <-0.922682, 0.173989, 0.344072> + 17179: <-0.929596, 0.131509, 0.344322> + 17180: <-0.904997, 0.174541, 0.387965> + 17181: <-0.896382, 0.216199, 0.386985> + 17182: <-0.913949, 0.215982, 0.343582> + 17183: <-0.922682, 0.173989, 0.344072> + 17184: <-0.896382, 0.216199, 0.386985> + 17185: <-0.886018, 0.257364, 0.385664> + 17186: <-0.903367, 0.257643, 0.342852> + 17187: <-0.913949, 0.215982, 0.343582> + 17188: <-0.886018, 0.257364, 0.385664> + 17189: <-0.873840, 0.298259, 0.383986> + 17190: <-0.890906, 0.299085, 0.341811> + 17191: <-0.903367, 0.257643, 0.342852> + 17192: <-0.873840, 0.298259, 0.383986> + 17193: <-0.859750, 0.339005, 0.381976> + 17194: <-0.876422, 0.340503, 0.340503> + 17195: <-0.890906, 0.299085, 0.341811> + 17196: <-0.859750, 0.339005, 0.381976> + 17197: <-0.843551, 0.379751, 0.379751> + 17198: <-0.859750, 0.381976, 0.339005> + 17199: <-0.876422, 0.340503, 0.340503> + 17200: <-0.843551, 0.379751, 0.379751> + 17201: <-0.825100, 0.420500, 0.377345> + 17202: <-0.840684, 0.423577, 0.337391> + 17203: <-0.859750, 0.381976, 0.339005> + 17204: <-0.825100, 0.420500, 0.377345> + 17205: <-0.804154, 0.461239, 0.374961> + 17206: <-0.819039, 0.465202, 0.335801> + 17207: <-0.840684, 0.423577, 0.337391> + 17208: <-0.804154, 0.461239, 0.374961> + 17209: <-0.780568, 0.501802, 0.372705> + 17210: <-0.794627, 0.506740, 0.334337> + 17211: <-0.819039, 0.465202, 0.335801> + 17212: <-0.780568, 0.501802, 0.372705> + 17213: <-0.754169, 0.542028, 0.370721> + 17214: <-0.767292, 0.548009, 0.333090> + 17215: <-0.794627, 0.506740, 0.334337> + 17216: <-0.754169, 0.542028, 0.370721> + 17217: <-0.724825, 0.581661, 0.369188> + 17218: <-0.736915, 0.588744, 0.332170> + 17219: <-0.767292, 0.548009, 0.333090> + 17220: <-0.724825, 0.581661, 0.369188> + 17221: <-0.692544, 0.620305, 0.368246> + 17222: <-0.703467, 0.628603, 0.331652> + 17223: <-0.736915, 0.588744, 0.332170> + 17224: <-0.703467, -0.628603, 0.331652> + 17225: <-0.736915, -0.588744, 0.332170> + 17226: <-0.747816, -0.595158, 0.294207> + 17227: <-0.713396, -0.636150, 0.293904> + 17228: <-0.736915, -0.588744, 0.332170> + 17229: <-0.767292, -0.548009, 0.333090> + 17230: <-0.779017, -0.553415, 0.294729> + 17231: <-0.747816, -0.595158, 0.294207> + 17232: <-0.767292, -0.548009, 0.333090> + 17233: <-0.794627, -0.506740, 0.334337> + 17234: <-0.807082, -0.511198, 0.295457> + 17235: <-0.779017, -0.553415, 0.294729> + 17236: <-0.794627, -0.506740, 0.334337> + 17237: <-0.819039, -0.465202, 0.335801> + 17238: <-0.832128, -0.468770, 0.296339> + 17239: <-0.807082, -0.511198, 0.295457> + 17240: <-0.819039, -0.465202, 0.335801> + 17241: <-0.840684, -0.423577, 0.337391> + 17242: <-0.854324, -0.426323, 0.297287> + 17243: <-0.832128, -0.468770, 0.296339> + 17244: <-0.840684, -0.423577, 0.337391> + 17245: <-0.859750, -0.381976, 0.339005> + 17246: <-0.873840, -0.383986, 0.298259> + 17247: <-0.854324, -0.426323, 0.297287> + 17248: <-0.859750, -0.381976, 0.339005> + 17249: <-0.876422, -0.340503, 0.340503> + 17250: <-0.890906, -0.341811, 0.299085> + 17251: <-0.873840, -0.383986, 0.298259> + 17252: <-0.876422, -0.340503, 0.340503> + 17253: <-0.890906, -0.299085, 0.341811> + 17254: <-0.905696, -0.299762, 0.299762> + 17255: <-0.890906, -0.341811, 0.299085> + 17256: <-0.890906, -0.299085, 0.341811> + 17257: <-0.903367, -0.257643, 0.342852> + 17258: <-0.918390, -0.257736, 0.300219> + 17259: <-0.905696, -0.299762, 0.299762> + 17260: <-0.903367, -0.257643, 0.342852> + 17261: <-0.913949, -0.215982, 0.343582> + 17262: <-0.929096, -0.215649, 0.300461> + 17263: <-0.918390, -0.257736, 0.300219> + 17264: <-0.913949, -0.215982, 0.343582> + 17265: <-0.922682, -0.173989, 0.344072> + 17266: <-0.937897, -0.173351, 0.300496> + 17267: <-0.929096, -0.215649, 0.300461> + 17268: <-0.922682, -0.173989, 0.344072> + 17269: <-0.929596, -0.131509, 0.344322> + 17270: <-0.944802, -0.130743, 0.300427> + 17271: <-0.937897, -0.173351, 0.300496> + 17272: <-0.929596, -0.131509, 0.344322> + 17273: <-0.934648, -0.088414, 0.344408> + 17274: <-0.949820, -0.087712, 0.300248> + 17275: <-0.944802, -0.130743, 0.300427> + 17276: <-0.934648, -0.088414, 0.344408> + 17277: <-0.937762, -0.044558, 0.344409> + 17278: <-0.952889, -0.044130, 0.300092> + 17279: <-0.949820, -0.087712, 0.300248> + 17280: <-0.937762, -0.044558, 0.344409> + 17281: <-0.938821, 0.000000, 0.344405> + 17282: <-0.953929, 0.000000, 0.300031> + 17283: <-0.952889, -0.044130, 0.300092> + 17284: <-0.938821, 0.000000, 0.344405> + 17285: <-0.937762, 0.044558, 0.344409> + 17286: <-0.952889, 0.044130, 0.300092> + 17287: <-0.953929, 0.000000, 0.300031> + 17288: <-0.937762, 0.044558, 0.344409> + 17289: <-0.934648, 0.088414, 0.344408> + 17290: <-0.949820, 0.087712, 0.300248> + 17291: <-0.952889, 0.044130, 0.300092> + 17292: <-0.934648, 0.088414, 0.344408> + 17293: <-0.929596, 0.131509, 0.344322> + 17294: <-0.944802, 0.130743, 0.300427> + 17295: <-0.949820, 0.087712, 0.300248> + 17296: <-0.929596, 0.131509, 0.344322> + 17297: <-0.922682, 0.173989, 0.344072> + 17298: <-0.937897, 0.173351, 0.300496> + 17299: <-0.944802, 0.130743, 0.300427> + 17300: <-0.922682, 0.173989, 0.344072> + 17301: <-0.913949, 0.215982, 0.343582> + 17302: <-0.929096, 0.215649, 0.300461> + 17303: <-0.937897, 0.173351, 0.300496> + 17304: <-0.913949, 0.215982, 0.343582> + 17305: <-0.903367, 0.257643, 0.342852> + 17306: <-0.918390, 0.257736, 0.300219> + 17307: <-0.929096, 0.215649, 0.300461> + 17308: <-0.903367, 0.257643, 0.342852> + 17309: <-0.890906, 0.299085, 0.341811> + 17310: <-0.905696, 0.299762, 0.299762> + 17311: <-0.918390, 0.257736, 0.300219> + 17312: <-0.890906, 0.299085, 0.341811> + 17313: <-0.876422, 0.340503, 0.340503> + 17314: <-0.890906, 0.341811, 0.299085> + 17315: <-0.905696, 0.299762, 0.299762> + 17316: <-0.876422, 0.340503, 0.340503> + 17317: <-0.859750, 0.381976, 0.339005> + 17318: <-0.873840, 0.383986, 0.298259> + 17319: <-0.890906, 0.341811, 0.299085> + 17320: <-0.859750, 0.381976, 0.339005> + 17321: <-0.840684, 0.423577, 0.337391> + 17322: <-0.854324, 0.426323, 0.297287> + 17323: <-0.873840, 0.383986, 0.298259> + 17324: <-0.840684, 0.423577, 0.337391> + 17325: <-0.819039, 0.465202, 0.335801> + 17326: <-0.832128, 0.468770, 0.296339> + 17327: <-0.854324, 0.426323, 0.297287> + 17328: <-0.819039, 0.465202, 0.335801> + 17329: <-0.794627, 0.506740, 0.334337> + 17330: <-0.807082, 0.511198, 0.295457> + 17331: <-0.832128, 0.468770, 0.296339> + 17332: <-0.794627, 0.506740, 0.334337> + 17333: <-0.767292, 0.548009, 0.333090> + 17334: <-0.779017, 0.553415, 0.294729> + 17335: <-0.807082, 0.511198, 0.295457> + 17336: <-0.767292, 0.548009, 0.333090> + 17337: <-0.736915, 0.588744, 0.332170> + 17338: <-0.747816, 0.595158, 0.294207> + 17339: <-0.779017, 0.553415, 0.294729> + 17340: <-0.736915, 0.588744, 0.332170> + 17341: <-0.703467, 0.628603, 0.331652> + 17342: <-0.713396, 0.636150, 0.293904> + 17343: <-0.747816, 0.595158, 0.294207> + 17344: <-0.713396, -0.636150, 0.293904> + 17345: <-0.747816, -0.595158, 0.294207> + 17346: <-0.757361, -0.600829, 0.255750> + 17347: <-0.722093, -0.642833, 0.255632> + 17348: <-0.747816, -0.595158, 0.294207> + 17349: <-0.779017, -0.553415, 0.294729> + 17350: <-0.789266, -0.558172, 0.255937> + 17351: <-0.757361, -0.600829, 0.255750> + 17352: <-0.779017, -0.553415, 0.294729> + 17353: <-0.807082, -0.511198, 0.295457> + 17354: <-0.817925, -0.515110, 0.256243> + 17355: <-0.789266, -0.558172, 0.255937> + 17356: <-0.807082, -0.511198, 0.295457> + 17357: <-0.832128, -0.468770, 0.296339> + 17358: <-0.843490, -0.471888, 0.256606> + 17359: <-0.817925, -0.515110, 0.256243> + 17360: <-0.832128, -0.468770, 0.296339> + 17361: <-0.854324, -0.426323, 0.297287> + 17362: <-0.866124, -0.428698, 0.256999> + 17363: <-0.843490, -0.471888, 0.256606> + 17364: <-0.854324, -0.426323, 0.297287> + 17365: <-0.873840, -0.383986, 0.298259> + 17366: <-0.886018, -0.385664, 0.257364> + 17367: <-0.866124, -0.428698, 0.256999> + 17368: <-0.873840, -0.383986, 0.298259> + 17369: <-0.890906, -0.341811, 0.299085> + 17370: <-0.903367, -0.342852, 0.257643> + 17371: <-0.886018, -0.385664, 0.257364> + 17372: <-0.890906, -0.341811, 0.299085> + 17373: <-0.905696, -0.299762, 0.299762> + 17374: <-0.918390, -0.300219, 0.257736> + 17375: <-0.903367, -0.342852, 0.257643> + 17376: <-0.905696, -0.299762, 0.299762> + 17377: <-0.918390, -0.257736, 0.300219> + 17378: <-0.931225, -0.257702, 0.257702> + 17379: <-0.918390, -0.300219, 0.257736> + 17380: <-0.918390, -0.257736, 0.300219> + 17381: <-0.929096, -0.215649, 0.300461> + 17382: <-0.942000, -0.215220, 0.257519> + 17383: <-0.931225, -0.257702, 0.257702> + 17384: <-0.929096, -0.215649, 0.300461> + 17385: <-0.937897, -0.173351, 0.300496> + 17386: <-0.950800, -0.172679, 0.257217> + 17387: <-0.942000, -0.215220, 0.257519> + 17388: <-0.937897, -0.173351, 0.300496> + 17389: <-0.944802, -0.130743, 0.300427> + 17390: <-0.957663, -0.129981, 0.256880> + 17391: <-0.950800, -0.172679, 0.257217> + 17392: <-0.944802, -0.130743, 0.300427> + 17393: <-0.949820, -0.087712, 0.300248> + 17394: <-0.962605, -0.087041, 0.256544> + 17395: <-0.957663, -0.129981, 0.256880> + 17396: <-0.949820, -0.087712, 0.300248> + 17397: <-0.952889, -0.044130, 0.300092> + 17398: <-0.965618, -0.043703, 0.256267> + 17399: <-0.962605, -0.087041, 0.256544> + 17400: <-0.952889, -0.044130, 0.300092> + 17401: <-0.953929, 0.000000, 0.300031> + 17402: <-0.966630, 0.000000, 0.256177> + 17403: <-0.965618, -0.043703, 0.256267> + 17404: <-0.953929, 0.000000, 0.300031> + 17405: <-0.952889, 0.044130, 0.300092> + 17406: <-0.965618, 0.043703, 0.256267> + 17407: <-0.966630, 0.000000, 0.256177> + 17408: <-0.952889, 0.044130, 0.300092> + 17409: <-0.949820, 0.087712, 0.300248> + 17410: <-0.962605, 0.087041, 0.256544> + 17411: <-0.965618, 0.043703, 0.256267> + 17412: <-0.949820, 0.087712, 0.300248> + 17413: <-0.944802, 0.130743, 0.300427> + 17414: <-0.957663, 0.129981, 0.256880> + 17415: <-0.962605, 0.087041, 0.256544> + 17416: <-0.944802, 0.130743, 0.300427> + 17417: <-0.937897, 0.173351, 0.300496> + 17418: <-0.950800, 0.172679, 0.257217> + 17419: <-0.957663, 0.129981, 0.256880> + 17420: <-0.937897, 0.173351, 0.300496> + 17421: <-0.929096, 0.215649, 0.300461> + 17422: <-0.942000, 0.215220, 0.257519> + 17423: <-0.950800, 0.172679, 0.257217> + 17424: <-0.929096, 0.215649, 0.300461> + 17425: <-0.918390, 0.257736, 0.300219> + 17426: <-0.931225, 0.257702, 0.257702> + 17427: <-0.942000, 0.215220, 0.257519> + 17428: <-0.918390, 0.257736, 0.300219> + 17429: <-0.905696, 0.299762, 0.299762> + 17430: <-0.918390, 0.300219, 0.257736> + 17431: <-0.931225, 0.257702, 0.257702> + 17432: <-0.905696, 0.299762, 0.299762> + 17433: <-0.890906, 0.341811, 0.299085> + 17434: <-0.903367, 0.342852, 0.257643> + 17435: <-0.918390, 0.300219, 0.257736> + 17436: <-0.890906, 0.341811, 0.299085> + 17437: <-0.873840, 0.383986, 0.298259> + 17438: <-0.886018, 0.385664, 0.257364> + 17439: <-0.903367, 0.342852, 0.257643> + 17440: <-0.873840, 0.383986, 0.298259> + 17441: <-0.854324, 0.426323, 0.297287> + 17442: <-0.866124, 0.428698, 0.256999> + 17443: <-0.886018, 0.385664, 0.257364> + 17444: <-0.854324, 0.426323, 0.297287> + 17445: <-0.832128, 0.468770, 0.296339> + 17446: <-0.843490, 0.471888, 0.256606> + 17447: <-0.866124, 0.428698, 0.256999> + 17448: <-0.832128, 0.468770, 0.296339> + 17449: <-0.807082, 0.511198, 0.295457> + 17450: <-0.817925, 0.515110, 0.256243> + 17451: <-0.843490, 0.471888, 0.256606> + 17452: <-0.807082, 0.511198, 0.295457> + 17453: <-0.779017, 0.553415, 0.294729> + 17454: <-0.789266, 0.558172, 0.255937> + 17455: <-0.817925, 0.515110, 0.256243> + 17456: <-0.779017, 0.553415, 0.294729> + 17457: <-0.747816, 0.595158, 0.294207> + 17458: <-0.757361, 0.600829, 0.255750> + 17459: <-0.789266, 0.558172, 0.255937> + 17460: <-0.747816, 0.595158, 0.294207> + 17461: <-0.713396, 0.636150, 0.293904> + 17462: <-0.722093, 0.642833, 0.255632> + 17463: <-0.757361, 0.600829, 0.255750> + 17464: <-0.722093, -0.642833, 0.255632> + 17465: <-0.757361, -0.600829, 0.255750> + 17466: <-0.765608, -0.605748, 0.216596> + 17467: <-0.729622, -0.648624, 0.216656> + 17468: <-0.757361, -0.600829, 0.255750> + 17469: <-0.789266, -0.558172, 0.255937> + 17470: <-0.798110, -0.562257, 0.216534> + 17471: <-0.765608, -0.605748, 0.216596> + 17472: <-0.789266, -0.558172, 0.255937> + 17473: <-0.817925, -0.515110, 0.256243> + 17474: <-0.827263, -0.518435, 0.216475> + 17475: <-0.798110, -0.562257, 0.216534> + 17476: <-0.817925, -0.515110, 0.256243> + 17477: <-0.843490, -0.471888, 0.256606> + 17478: <-0.853230, -0.474515, 0.216413> + 17479: <-0.827263, -0.518435, 0.216475> + 17480: <-0.843490, -0.471888, 0.256606> + 17481: <-0.866124, -0.428698, 0.256999> + 17482: <-0.876208, -0.430657, 0.216320> + 17483: <-0.853230, -0.474515, 0.216413> + 17484: <-0.866124, -0.428698, 0.256999> + 17485: <-0.886018, -0.385664, 0.257364> + 17486: <-0.896382, -0.386985, 0.216199> + 17487: <-0.876208, -0.430657, 0.216320> + 17488: <-0.886018, -0.385664, 0.257364> + 17489: <-0.903367, -0.342852, 0.257643> + 17490: <-0.913949, -0.343582, 0.215982> + 17491: <-0.896382, -0.386985, 0.216199> + 17492: <-0.903367, -0.342852, 0.257643> + 17493: <-0.918390, -0.300219, 0.257736> + 17494: <-0.929096, -0.300461, 0.215649> + 17495: <-0.913949, -0.343582, 0.215982> + 17496: <-0.918390, -0.300219, 0.257736> + 17497: <-0.931225, -0.257702, 0.257702> + 17498: <-0.942000, -0.257519, 0.215220> + 17499: <-0.929096, -0.300461, 0.215649> + 17500: <-0.931225, -0.257702, 0.257702> + 17501: <-0.942000, -0.215220, 0.257519> + 17502: <-0.952775, -0.214732, 0.214732> + 17503: <-0.942000, -0.257519, 0.215220> + 17504: <-0.942000, -0.215220, 0.257519> + 17505: <-0.950800, -0.172679, 0.257217> + 17506: <-0.961530, -0.172005, 0.214182> + 17507: <-0.952775, -0.214732, 0.214732> + 17508: <-0.950800, -0.172679, 0.257217> + 17509: <-0.957663, -0.129981, 0.256880> + 17510: <-0.968319, -0.129250, 0.213666> + 17511: <-0.961530, -0.172005, 0.214182> + 17512: <-0.957663, -0.129981, 0.256880> + 17513: <-0.962605, -0.087041, 0.256544> + 17514: <-0.973180, -0.086398, 0.213204> + 17515: <-0.968319, -0.129250, 0.213666> + 17516: <-0.962605, -0.087041, 0.256544> + 17517: <-0.965618, -0.043703, 0.256267> + 17518: <-0.976120, -0.043306, 0.212870> + 17519: <-0.973180, -0.086398, 0.213204> + 17520: <-0.965618, -0.043703, 0.256267> + 17521: <-0.966630, 0.000000, 0.256177> + 17522: <-0.977107, 0.000000, 0.212750> + 17523: <-0.976120, -0.043306, 0.212870> + 17524: <-0.966630, 0.000000, 0.256177> + 17525: <-0.965618, 0.043703, 0.256267> + 17526: <-0.976120, 0.043306, 0.212870> + 17527: <-0.977107, 0.000000, 0.212750> + 17528: <-0.965618, 0.043703, 0.256267> + 17529: <-0.962605, 0.087041, 0.256544> + 17530: <-0.973180, 0.086398, 0.213204> + 17531: <-0.976120, 0.043306, 0.212870> + 17532: <-0.962605, 0.087041, 0.256544> + 17533: <-0.957663, 0.129981, 0.256880> + 17534: <-0.968319, 0.129250, 0.213666> + 17535: <-0.973180, 0.086398, 0.213204> + 17536: <-0.957663, 0.129981, 0.256880> + 17537: <-0.950800, 0.172679, 0.257217> + 17538: <-0.961530, 0.172005, 0.214182> + 17539: <-0.968319, 0.129250, 0.213666> + 17540: <-0.950800, 0.172679, 0.257217> + 17541: <-0.942000, 0.215220, 0.257519> + 17542: <-0.952775, 0.214732, 0.214732> + 17543: <-0.961530, 0.172005, 0.214182> + 17544: <-0.942000, 0.215220, 0.257519> + 17545: <-0.931225, 0.257702, 0.257702> + 17546: <-0.942000, 0.257519, 0.215220> + 17547: <-0.952775, 0.214732, 0.214732> + 17548: <-0.931225, 0.257702, 0.257702> + 17549: <-0.918390, 0.300219, 0.257736> + 17550: <-0.929096, 0.300461, 0.215649> + 17551: <-0.942000, 0.257519, 0.215220> + 17552: <-0.918390, 0.300219, 0.257736> + 17553: <-0.903367, 0.342852, 0.257643> + 17554: <-0.913949, 0.343582, 0.215982> + 17555: <-0.929096, 0.300461, 0.215649> + 17556: <-0.903367, 0.342852, 0.257643> + 17557: <-0.886018, 0.385664, 0.257364> + 17558: <-0.896382, 0.386985, 0.216199> + 17559: <-0.913949, 0.343582, 0.215982> + 17560: <-0.886018, 0.385664, 0.257364> + 17561: <-0.866124, 0.428698, 0.256999> + 17562: <-0.876208, 0.430657, 0.216320> + 17563: <-0.896382, 0.386985, 0.216199> + 17564: <-0.866124, 0.428698, 0.256999> + 17565: <-0.843490, 0.471888, 0.256606> + 17566: <-0.853230, 0.474515, 0.216413> + 17567: <-0.876208, 0.430657, 0.216320> + 17568: <-0.843490, 0.471888, 0.256606> + 17569: <-0.817925, 0.515110, 0.256243> + 17570: <-0.827263, 0.518435, 0.216475> + 17571: <-0.853230, 0.474515, 0.216413> + 17572: <-0.817925, 0.515110, 0.256243> + 17573: <-0.789266, 0.558172, 0.255937> + 17574: <-0.798110, 0.562257, 0.216534> + 17575: <-0.827263, 0.518435, 0.216475> + 17576: <-0.789266, 0.558172, 0.255937> + 17577: <-0.757361, 0.600829, 0.255750> + 17578: <-0.765608, 0.605748, 0.216596> + 17579: <-0.798110, 0.562257, 0.216534> + 17580: <-0.757361, 0.600829, 0.255750> + 17581: <-0.722093, 0.642833, 0.255632> + 17582: <-0.729636, 0.648606, 0.216660> + 17583: <-0.765608, 0.605748, 0.216596> + 17584: <-0.729622, -0.648624, 0.216656> + 17585: <-0.765608, -0.605748, 0.216596> + 17586: <-0.772589, -0.609892, 0.176461> + 17587: <-0.736025, -0.653502, 0.176644> + 17588: <-0.765608, -0.605748, 0.216596> + 17589: <-0.798110, -0.562257, 0.216534> + 17590: <-0.805587, -0.565675, 0.176188> + 17591: <-0.772589, -0.609892, 0.176461> + 17592: <-0.798110, -0.562257, 0.216534> + 17593: <-0.827263, -0.518435, 0.216475> + 17594: <-0.835133, -0.521180, 0.175853> + 17595: <-0.805587, -0.565675, 0.176188> + 17596: <-0.827263, -0.518435, 0.216475> + 17597: <-0.853230, -0.474515, 0.216413> + 17598: <-0.861427, -0.476614, 0.175453> + 17599: <-0.835133, -0.521180, 0.175853> + 17600: <-0.853230, -0.474515, 0.216413> + 17601: <-0.876208, -0.430657, 0.216320> + 17602: <-0.884654, -0.432149, 0.175026> + 17603: <-0.861427, -0.476614, 0.175453> + 17604: <-0.876208, -0.430657, 0.216320> + 17605: <-0.896382, -0.386985, 0.216199> + 17606: <-0.904997, -0.387965, 0.174541> + 17607: <-0.884654, -0.432149, 0.175026> + 17608: <-0.896382, -0.386985, 0.216199> + 17609: <-0.913949, -0.343582, 0.215982> + 17610: <-0.922682, -0.344072, 0.173989> + 17611: <-0.904997, -0.387965, 0.174541> + 17612: <-0.913949, -0.343582, 0.215982> + 17613: <-0.929096, -0.300461, 0.215649> + 17614: <-0.937897, -0.300496, 0.173351> + 17615: <-0.922682, -0.344072, 0.173989> + 17616: <-0.929096, -0.300461, 0.215649> + 17617: <-0.942000, -0.257519, 0.215220> + 17618: <-0.950800, -0.257217, 0.172679> + 17619: <-0.937897, -0.300496, 0.173351> + 17620: <-0.942000, -0.257519, 0.215220> + 17621: <-0.952775, -0.214732, 0.214732> + 17622: <-0.961530, -0.214182, 0.172005> + 17623: <-0.950800, -0.257217, 0.172679> + 17624: <-0.952775, -0.214732, 0.214732> + 17625: <-0.961530, -0.172005, 0.214182> + 17626: <-0.970211, -0.171305, 0.171305> + 17627: <-0.961530, -0.214182, 0.172005> + 17628: <-0.961530, -0.172005, 0.214182> + 17629: <-0.968319, -0.129250, 0.213666> + 17630: <-0.976904, -0.128545, 0.170691> + 17631: <-0.970211, -0.171305, 0.171305> + 17632: <-0.968319, -0.129250, 0.213666> + 17633: <-0.973180, -0.086398, 0.213204> + 17634: <-0.981668, -0.085788, 0.170203> + 17635: <-0.976904, -0.128545, 0.170691> + 17636: <-0.973180, -0.086398, 0.213204> + 17637: <-0.976120, -0.043306, 0.212870> + 17638: <-0.984530, -0.042970, 0.169866> + 17639: <-0.981668, -0.085788, 0.170203> + 17640: <-0.976120, -0.043306, 0.212870> + 17641: <-0.977107, 0.000000, 0.212750> + 17642: <-0.985488, 0.000000, 0.169746> + 17643: <-0.984530, -0.042970, 0.169866> + 17644: <-0.977107, 0.000000, 0.212750> + 17645: <-0.976120, 0.043306, 0.212870> + 17646: <-0.984535, 0.042970, 0.169837> + 17647: <-0.985488, 0.000000, 0.169746> + 17648: <-0.976120, 0.043306, 0.212870> + 17649: <-0.973180, 0.086398, 0.213204> + 17650: <-0.981668, 0.085788, 0.170203> + 17651: <-0.984535, 0.042970, 0.169837> + 17652: <-0.973180, 0.086398, 0.213204> + 17653: <-0.968319, 0.129250, 0.213666> + 17654: <-0.976904, 0.128545, 0.170691> + 17655: <-0.981668, 0.085788, 0.170203> + 17656: <-0.968319, 0.129250, 0.213666> + 17657: <-0.961530, 0.172005, 0.214182> + 17658: <-0.970211, 0.171305, 0.171305> + 17659: <-0.976904, 0.128545, 0.170691> + 17660: <-0.961530, 0.172005, 0.214182> + 17661: <-0.952775, 0.214732, 0.214732> + 17662: <-0.961530, 0.214182, 0.172005> + 17663: <-0.970211, 0.171305, 0.171305> + 17664: <-0.952775, 0.214732, 0.214732> + 17665: <-0.942000, 0.257519, 0.215220> + 17666: <-0.950800, 0.257217, 0.172679> + 17667: <-0.961530, 0.214182, 0.172005> + 17668: <-0.942000, 0.257519, 0.215220> + 17669: <-0.929096, 0.300461, 0.215649> + 17670: <-0.937897, 0.300496, 0.173351> + 17671: <-0.950800, 0.257217, 0.172679> + 17672: <-0.929096, 0.300461, 0.215649> + 17673: <-0.913949, 0.343582, 0.215982> + 17674: <-0.922682, 0.344072, 0.173989> + 17675: <-0.937897, 0.300496, 0.173351> + 17676: <-0.913949, 0.343582, 0.215982> + 17677: <-0.896382, 0.386985, 0.216199> + 17678: <-0.904997, 0.387965, 0.174541> + 17679: <-0.922682, 0.344072, 0.173989> + 17680: <-0.896382, 0.386985, 0.216199> + 17681: <-0.876208, 0.430657, 0.216320> + 17682: <-0.884654, 0.432149, 0.175026> + 17683: <-0.904997, 0.387965, 0.174541> + 17684: <-0.876208, 0.430657, 0.216320> + 17685: <-0.853230, 0.474515, 0.216413> + 17686: <-0.861427, 0.476614, 0.175453> + 17687: <-0.884654, 0.432149, 0.175026> + 17688: <-0.853230, 0.474515, 0.216413> + 17689: <-0.827263, 0.518435, 0.216475> + 17690: <-0.835133, 0.521180, 0.175853> + 17691: <-0.861427, 0.476614, 0.175453> + 17692: <-0.827263, 0.518435, 0.216475> + 17693: <-0.798110, 0.562257, 0.216534> + 17694: <-0.805587, 0.565675, 0.176188> + 17695: <-0.835133, 0.521180, 0.175853> + 17696: <-0.798110, 0.562257, 0.216534> + 17697: <-0.765608, 0.605748, 0.216596> + 17698: <-0.772589, 0.609892, 0.176461> + 17699: <-0.805587, 0.565675, 0.176188> + 17700: <-0.765608, 0.605748, 0.216596> + 17701: <-0.729636, 0.648606, 0.216660> + 17702: <-0.736025, 0.653502, 0.176644> + 17703: <-0.772589, 0.609892, 0.176461> + 17704: <-0.736025, -0.653502, 0.176644> + 17705: <-0.772589, -0.609892, 0.176461> + 17706: <-0.778306, -0.613196, 0.135018> + 17707: <-0.741243, -0.657468, 0.135260> + 17708: <-0.772589, -0.609892, 0.176461> + 17709: <-0.805587, -0.565675, 0.176188> + 17710: <-0.811677, -0.568382, 0.134618> + 17711: <-0.778306, -0.613196, 0.135018> + 17712: <-0.805587, -0.565675, 0.176188> + 17713: <-0.835133, -0.521180, 0.175853> + 17714: <-0.841527, -0.523307, 0.134100> + 17715: <-0.811677, -0.568382, 0.134618> + 17716: <-0.835133, -0.521180, 0.175853> + 17717: <-0.861427, -0.476614, 0.175453> + 17718: <-0.868033, -0.478208, 0.133553> + 17719: <-0.841527, -0.523307, 0.134100> + 17720: <-0.861427, -0.476614, 0.175453> + 17721: <-0.884654, -0.432149, 0.175026> + 17722: <-0.891416, -0.433256, 0.132913> + 17723: <-0.868033, -0.478208, 0.133553> + 17724: <-0.884654, -0.432149, 0.175026> + 17725: <-0.904997, -0.387965, 0.174541> + 17726: <-0.911854, -0.388632, 0.132240> + 17727: <-0.891416, -0.433256, 0.132913> + 17728: <-0.904997, -0.387965, 0.174541> + 17729: <-0.922682, -0.344072, 0.173989> + 17730: <-0.929596, -0.344322, 0.131509> + 17731: <-0.911854, -0.388632, 0.132240> + 17732: <-0.922682, -0.344072, 0.173989> + 17733: <-0.937897, -0.300496, 0.173351> + 17734: <-0.944802, -0.300427, 0.130743> + 17735: <-0.929596, -0.344322, 0.131509> + 17736: <-0.937897, -0.300496, 0.173351> + 17737: <-0.950800, -0.257217, 0.172679> + 17738: <-0.957663, -0.256880, 0.129981> + 17739: <-0.944802, -0.300427, 0.130743> + 17740: <-0.950800, -0.257217, 0.172679> + 17741: <-0.961530, -0.214182, 0.172005> + 17742: <-0.968319, -0.213666, 0.129250> + 17743: <-0.957663, -0.256880, 0.129981> + 17744: <-0.961530, -0.214182, 0.172005> + 17745: <-0.970211, -0.171305, 0.171305> + 17746: <-0.976904, -0.170691, 0.128545> + 17747: <-0.968319, -0.213666, 0.129250> + 17748: <-0.970211, -0.171305, 0.171305> + 17749: <-0.976904, -0.128545, 0.170691> + 17750: <-0.983497, -0.127935, 0.127935> + 17751: <-0.976904, -0.170691, 0.128545> + 17752: <-0.976904, -0.128545, 0.170691> + 17753: <-0.981668, -0.085788, 0.170203> + 17754: <-0.988171, -0.085300, 0.127447> + 17755: <-0.983497, -0.127935, 0.127935> + 17756: <-0.981668, -0.085788, 0.170203> + 17757: <-0.984530, -0.042970, 0.169866> + 17758: <-0.990966, -0.042666, 0.127144> + 17759: <-0.988171, -0.085300, 0.127447> + 17760: <-0.984530, -0.042970, 0.169866> + 17761: <-0.985488, 0.000000, 0.169746> + 17762: <-0.991900, 0.000000, 0.127020> + 17763: <-0.990966, -0.042666, 0.127144> + 17764: <-0.985488, 0.000000, 0.169746> + 17765: <-0.984535, 0.042970, 0.169837> + 17766: <-0.990966, 0.042666, 0.127144> + 17767: <-0.991900, 0.000000, 0.127020> + 17768: <-0.984535, 0.042970, 0.169837> + 17769: <-0.981668, 0.085788, 0.170203> + 17770: <-0.988171, 0.085300, 0.127447> + 17771: <-0.990966, 0.042666, 0.127144> + 17772: <-0.981668, 0.085788, 0.170203> + 17773: <-0.976904, 0.128545, 0.170691> + 17774: <-0.983497, 0.127935, 0.127935> + 17775: <-0.988171, 0.085300, 0.127447> + 17776: <-0.976904, 0.128545, 0.170691> + 17777: <-0.970211, 0.171305, 0.171305> + 17778: <-0.976904, 0.170691, 0.128545> + 17779: <-0.983497, 0.127935, 0.127935> + 17780: <-0.970211, 0.171305, 0.171305> + 17781: <-0.961530, 0.214182, 0.172005> + 17782: <-0.968319, 0.213666, 0.129250> + 17783: <-0.976904, 0.170691, 0.128545> + 17784: <-0.961530, 0.214182, 0.172005> + 17785: <-0.950800, 0.257217, 0.172679> + 17786: <-0.957663, 0.256880, 0.129981> + 17787: <-0.968319, 0.213666, 0.129250> + 17788: <-0.950800, 0.257217, 0.172679> + 17789: <-0.937897, 0.300496, 0.173351> + 17790: <-0.944802, 0.300427, 0.130743> + 17791: <-0.957663, 0.256880, 0.129981> + 17792: <-0.937897, 0.300496, 0.173351> + 17793: <-0.922682, 0.344072, 0.173989> + 17794: <-0.929596, 0.344322, 0.131509> + 17795: <-0.944802, 0.300427, 0.130743> + 17796: <-0.922682, 0.344072, 0.173989> + 17797: <-0.904997, 0.387965, 0.174541> + 17798: <-0.911854, 0.388632, 0.132240> + 17799: <-0.929596, 0.344322, 0.131509> + 17800: <-0.904997, 0.387965, 0.174541> + 17801: <-0.884654, 0.432149, 0.175026> + 17802: <-0.891405, 0.433281, 0.132911> + 17803: <-0.911854, 0.388632, 0.132240> + 17804: <-0.884654, 0.432149, 0.175026> + 17805: <-0.861427, 0.476614, 0.175453> + 17806: <-0.868033, 0.478208, 0.133553> + 17807: <-0.891405, 0.433281, 0.132911> + 17808: <-0.861427, 0.476614, 0.175453> + 17809: <-0.835133, 0.521180, 0.175853> + 17810: <-0.841527, 0.523307, 0.134100> + 17811: <-0.868033, 0.478208, 0.133553> + 17812: <-0.835133, 0.521180, 0.175853> + 17813: <-0.805587, 0.565675, 0.176188> + 17814: <-0.811677, 0.568382, 0.134618> + 17815: <-0.841527, 0.523307, 0.134100> + 17816: <-0.805587, 0.565675, 0.176188> + 17817: <-0.772589, 0.609892, 0.176461> + 17818: <-0.778292, 0.613215, 0.135015> + 17819: <-0.811677, 0.568382, 0.134618> + 17820: <-0.772589, 0.609892, 0.176461> + 17821: <-0.736025, 0.653502, 0.176644> + 17822: <-0.741243, 0.657468, 0.135260> + 17823: <-0.778292, 0.613215, 0.135015> + 17824: <-0.741243, -0.657468, 0.135260> + 17825: <-0.778306, -0.613196, 0.135018> + 17826: <-0.782607, -0.615697, 0.091894> + 17827: <-0.745184, -0.660463, 0.092137> + 17828: <-0.778306, -0.613196, 0.135018> + 17829: <-0.811677, -0.568382, 0.134618> + 17830: <-0.816271, -0.570377, 0.091497> + 17831: <-0.782607, -0.615697, 0.091894> + 17832: <-0.811677, -0.568382, 0.134618> + 17833: <-0.841527, -0.523307, 0.134100> + 17834: <-0.846324, -0.524836, 0.091008> + 17835: <-0.816271, -0.570377, 0.091497> + 17836: <-0.841527, -0.523307, 0.134100> + 17837: <-0.868033, -0.478208, 0.133553> + 17838: <-0.872976, -0.479307, 0.090429> + 17839: <-0.846324, -0.524836, 0.091008> + 17840: <-0.868033, -0.478208, 0.133553> + 17841: <-0.891416, -0.433256, 0.132913> + 17842: <-0.896437, -0.433981, 0.089787> + 17843: <-0.872976, -0.479307, 0.090429> + 17844: <-0.891416, -0.433256, 0.132913> + 17845: <-0.911854, -0.388632, 0.132240> + 17846: <-0.916918, -0.388998, 0.089116> + 17847: <-0.896437, -0.433981, 0.089787> + 17848: <-0.911854, -0.388632, 0.132240> + 17849: <-0.929596, -0.344322, 0.131509> + 17850: <-0.934648, -0.344408, 0.088414> + 17851: <-0.916918, -0.388998, 0.089116> + 17852: <-0.929596, -0.344322, 0.131509> + 17853: <-0.944802, -0.300427, 0.130743> + 17854: <-0.949820, -0.300248, 0.087712> + 17855: <-0.934648, -0.344408, 0.088414> + 17856: <-0.944802, -0.300427, 0.130743> + 17857: <-0.957663, -0.256880, 0.129981> + 17858: <-0.962605, -0.256544, 0.087041> + 17859: <-0.949820, -0.300248, 0.087712> + 17860: <-0.957663, -0.256880, 0.129981> + 17861: <-0.968319, -0.213666, 0.129250> + 17862: <-0.973180, -0.213204, 0.086398> + 17863: <-0.962605, -0.256544, 0.087041> + 17864: <-0.968319, -0.213666, 0.129250> + 17865: <-0.976904, -0.170691, 0.128545> + 17866: <-0.981668, -0.170203, 0.085788> + 17867: <-0.973180, -0.213204, 0.086398> + 17868: <-0.976904, -0.170691, 0.128545> + 17869: <-0.983497, -0.127935, 0.127935> + 17870: <-0.988171, -0.127447, 0.085300> + 17871: <-0.981668, -0.170203, 0.085788> + 17872: <-0.983497, -0.127935, 0.127935> + 17873: <-0.988171, -0.085300, 0.127447> + 17874: <-0.992765, -0.084905, 0.084905> + 17875: <-0.988171, -0.127447, 0.085300> + 17876: <-0.988171, -0.085300, 0.127447> + 17877: <-0.990966, -0.042666, 0.127144> + 17878: <-0.995505, -0.042452, 0.084660> + 17879: <-0.992765, -0.084905, 0.084905> + 17880: <-0.990966, -0.042666, 0.127144> + 17881: <-0.991900, 0.000000, 0.127020> + 17882: <-0.996418, 0.000000, 0.084568> + 17883: <-0.995505, -0.042452, 0.084660> + 17884: <-0.991900, 0.000000, 0.127020> + 17885: <-0.990966, 0.042666, 0.127144> + 17886: <-0.995505, 0.042452, 0.084660> + 17887: <-0.996418, 0.000000, 0.084568> + 17888: <-0.990966, 0.042666, 0.127144> + 17889: <-0.988171, 0.085300, 0.127447> + 17890: <-0.992765, 0.084905, 0.084905> + 17891: <-0.995505, 0.042452, 0.084660> + 17892: <-0.988171, 0.085300, 0.127447> + 17893: <-0.983497, 0.127935, 0.127935> + 17894: <-0.988171, 0.127447, 0.085300> + 17895: <-0.992765, 0.084905, 0.084905> + 17896: <-0.983497, 0.127935, 0.127935> + 17897: <-0.976904, 0.170691, 0.128545> + 17898: <-0.981668, 0.170203, 0.085788> + 17899: <-0.988171, 0.127447, 0.085300> + 17900: <-0.976904, 0.170691, 0.128545> + 17901: <-0.968319, 0.213666, 0.129250> + 17902: <-0.973180, 0.213204, 0.086398> + 17903: <-0.981668, 0.170203, 0.085788> + 17904: <-0.968319, 0.213666, 0.129250> + 17905: <-0.957663, 0.256880, 0.129981> + 17906: <-0.962605, 0.256544, 0.087041> + 17907: <-0.973180, 0.213204, 0.086398> + 17908: <-0.957663, 0.256880, 0.129981> + 17909: <-0.944802, 0.300427, 0.130743> + 17910: <-0.949820, 0.300248, 0.087712> + 17911: <-0.962605, 0.256544, 0.087041> + 17912: <-0.944802, 0.300427, 0.130743> + 17913: <-0.929596, 0.344322, 0.131509> + 17914: <-0.934648, 0.344408, 0.088414> + 17915: <-0.949820, 0.300248, 0.087712> + 17916: <-0.929596, 0.344322, 0.131509> + 17917: <-0.911854, 0.388632, 0.132240> + 17918: <-0.916918, 0.388998, 0.089116> + 17919: <-0.934648, 0.344408, 0.088414> + 17920: <-0.911854, 0.388632, 0.132240> + 17921: <-0.891405, 0.433281, 0.132911> + 17922: <-0.896437, 0.433981, 0.089787> + 17923: <-0.916918, 0.388998, 0.089116> + 17924: <-0.891405, 0.433281, 0.132911> + 17925: <-0.868033, 0.478208, 0.133553> + 17926: <-0.872976, 0.479307, 0.090429> + 17927: <-0.896437, 0.433981, 0.089787> + 17928: <-0.868033, 0.478208, 0.133553> + 17929: <-0.841527, 0.523307, 0.134100> + 17930: <-0.846324, 0.524836, 0.091008> + 17931: <-0.872976, 0.479307, 0.090429> + 17932: <-0.841527, 0.523307, 0.134100> + 17933: <-0.811677, 0.568382, 0.134618> + 17934: <-0.816271, 0.570377, 0.091497> + 17935: <-0.846324, 0.524836, 0.091008> + 17936: <-0.811677, 0.568382, 0.134618> + 17937: <-0.778292, 0.613215, 0.135015> + 17938: <-0.782607, 0.615697, 0.091894> + 17939: <-0.816271, 0.570377, 0.091497> + 17940: <-0.778292, 0.613215, 0.135015> + 17941: <-0.741243, 0.657468, 0.135260> + 17942: <-0.745184, 0.660463, 0.092137> + 17943: <-0.782607, 0.615697, 0.091894> + 17944: <-0.745184, -0.660463, 0.092137> + 17945: <-0.782607, -0.615697, 0.091894> + 17946: <-0.785375, -0.617246, 0.046847> + 17947: <-0.747715, -0.662354, 0.046999> + 17948: <-0.782607, -0.615697, 0.091894> + 17949: <-0.816271, -0.570377, 0.091497> + 17950: <-0.819208, -0.571602, 0.046573> + 17951: <-0.785375, -0.617246, 0.046847> + 17952: <-0.816271, -0.570377, 0.091497> + 17953: <-0.846324, -0.524836, 0.091008> + 17954: <-0.849378, -0.525753, 0.046267> + 17955: <-0.819208, -0.571602, 0.046573> + 17956: <-0.846324, -0.524836, 0.091008> + 17957: <-0.872976, -0.479307, 0.090429> + 17958: <-0.876095, -0.479951, 0.045871> + 17959: <-0.849378, -0.525753, 0.046267> + 17960: <-0.872976, -0.479307, 0.090429> + 17961: <-0.896437, -0.433981, 0.089787> + 17962: <-0.899583, -0.434379, 0.045443> + 17963: <-0.876095, -0.479951, 0.045871> + 17964: <-0.896437, -0.433981, 0.089787> + 17965: <-0.916918, -0.388998, 0.089116> + 17966: <-0.920061, -0.389180, 0.045016> + 17967: <-0.899583, -0.434379, 0.045443> + 17968: <-0.916918, -0.388998, 0.089116> + 17969: <-0.934648, -0.344408, 0.088414> + 17970: <-0.937762, -0.344409, 0.044558> + 17971: <-0.920061, -0.389180, 0.045016> + 17972: <-0.934648, -0.344408, 0.088414> + 17973: <-0.949820, -0.300248, 0.087712> + 17974: <-0.952889, -0.300092, 0.044130> + 17975: <-0.937762, -0.344409, 0.044558> + 17976: <-0.949820, -0.300248, 0.087712> + 17977: <-0.962605, -0.256544, 0.087041> + 17978: <-0.965618, -0.256267, 0.043703> + 17979: <-0.952889, -0.300092, 0.044130> + 17980: <-0.962605, -0.256544, 0.087041> + 17981: <-0.973180, -0.213204, 0.086398> + 17982: <-0.976120, -0.212870, 0.043306> + 17983: <-0.965618, -0.256267, 0.043703> + 17984: <-0.973180, -0.213204, 0.086398> + 17985: <-0.981668, -0.170203, 0.085788> + 17986: <-0.984535, -0.169837, 0.042970> + 17987: <-0.976120, -0.212870, 0.043306> + 17988: <-0.981668, -0.170203, 0.085788> + 17989: <-0.988171, -0.127447, 0.085300> + 17990: <-0.990966, -0.127144, 0.042666> + 17991: <-0.984535, -0.169837, 0.042970> + 17992: <-0.988171, -0.127447, 0.085300> + 17993: <-0.992765, -0.084905, 0.084905> + 17994: <-0.995505, -0.084660, 0.042452> + 17995: <-0.990966, -0.127144, 0.042666> + 17996: <-0.992765, -0.084905, 0.084905> + 17997: <-0.995505, -0.042452, 0.084660> + 17998: <-0.998209, -0.042299, 0.042299> + 17999: <-0.995505, -0.084660, 0.042452> + 18000: <-0.995505, -0.042452, 0.084660> + 18001: <-0.996418, 0.000000, 0.084568> + 18002: <-0.999108, 0.000000, 0.042239> + 18003: <-0.998209, -0.042299, 0.042299> + 18004: <-0.996418, 0.000000, 0.084568> + 18005: <-0.995505, 0.042452, 0.084660> + 18006: <-0.998209, 0.042299, 0.042299> + 18007: <-0.999108, 0.000000, 0.042239> + 18008: <-0.995505, 0.042452, 0.084660> + 18009: <-0.992765, 0.084905, 0.084905> + 18010: <-0.995505, 0.084660, 0.042452> + 18011: <-0.998209, 0.042299, 0.042299> + 18012: <-0.992765, 0.084905, 0.084905> + 18013: <-0.988171, 0.127447, 0.085300> + 18014: <-0.990966, 0.127144, 0.042666> + 18015: <-0.995505, 0.084660, 0.042452> + 18016: <-0.988171, 0.127447, 0.085300> + 18017: <-0.981668, 0.170203, 0.085788> + 18018: <-0.984535, 0.169837, 0.042970> + 18019: <-0.990966, 0.127144, 0.042666> + 18020: <-0.981668, 0.170203, 0.085788> + 18021: <-0.973180, 0.213204, 0.086398> + 18022: <-0.976120, 0.212870, 0.043306> + 18023: <-0.984535, 0.169837, 0.042970> + 18024: <-0.973180, 0.213204, 0.086398> + 18025: <-0.962605, 0.256544, 0.087041> + 18026: <-0.965618, 0.256267, 0.043703> + 18027: <-0.976120, 0.212870, 0.043306> + 18028: <-0.962605, 0.256544, 0.087041> + 18029: <-0.949820, 0.300248, 0.087712> + 18030: <-0.952889, 0.300092, 0.044130> + 18031: <-0.965618, 0.256267, 0.043703> + 18032: <-0.949820, 0.300248, 0.087712> + 18033: <-0.934648, 0.344408, 0.088414> + 18034: <-0.937762, 0.344409, 0.044558> + 18035: <-0.952889, 0.300092, 0.044130> + 18036: <-0.934648, 0.344408, 0.088414> + 18037: <-0.916918, 0.388998, 0.089116> + 18038: <-0.920061, 0.389180, 0.045016> + 18039: <-0.937762, 0.344409, 0.044558> + 18040: <-0.916918, 0.388998, 0.089116> + 18041: <-0.896437, 0.433981, 0.089787> + 18042: <-0.899583, 0.434379, 0.045443> + 18043: <-0.920061, 0.389180, 0.045016> + 18044: <-0.896437, 0.433981, 0.089787> + 18045: <-0.872976, 0.479307, 0.090429> + 18046: <-0.876095, 0.479951, 0.045871> + 18047: <-0.899583, 0.434379, 0.045443> + 18048: <-0.872976, 0.479307, 0.090429> + 18049: <-0.846324, 0.524836, 0.091008> + 18050: <-0.849378, 0.525753, 0.046267> + 18051: <-0.876095, 0.479951, 0.045871> + 18052: <-0.846324, 0.524836, 0.091008> + 18053: <-0.816271, 0.570377, 0.091497> + 18054: <-0.819208, 0.571602, 0.046573> + 18055: <-0.849378, 0.525753, 0.046267> + 18056: <-0.816271, 0.570377, 0.091497> + 18057: <-0.782607, 0.615697, 0.091894> + 18058: <-0.785375, 0.617246, 0.046847> + 18059: <-0.819208, 0.571602, 0.046573> + 18060: <-0.782607, 0.615697, 0.091894> + 18061: <-0.745184, 0.660463, 0.092137> + 18062: <-0.747715, 0.662354, 0.046999> + 18063: <-0.785375, 0.617246, 0.046847> + 18064: <-0.747715, -0.662354, 0.046999> + 18065: <-0.785375, -0.617246, 0.046847> + 18066: <-0.786344, -0.617789, 0.000000> + 18067: <-0.748599, -0.663024, 0.000000> + 18068: <-0.785375, -0.617246, 0.046847> + 18069: <-0.819208, -0.571602, 0.046573> + 18070: <-0.820237, -0.572024, 0.000000> + 18071: <-0.786344, -0.617789, 0.000000> + 18072: <-0.819208, -0.571602, 0.046573> + 18073: <-0.849378, -0.525753, 0.046267> + 18074: <-0.850434, -0.526081, 0.000000> + 18075: <-0.820237, -0.572024, 0.000000> + 18076: <-0.849378, -0.525753, 0.046267> + 18077: <-0.876095, -0.479951, 0.045871> + 18078: <-0.877169, -0.480182, 0.000000> + 18079: <-0.850434, -0.526081, 0.000000> + 18080: <-0.876095, -0.479951, 0.045871> + 18081: <-0.899583, -0.434379, 0.045443> + 18082: <-0.900655, -0.434534, 0.000000> + 18083: <-0.877169, -0.480182, 0.000000> + 18084: <-0.899583, -0.434379, 0.045443> + 18085: <-0.920061, -0.389180, 0.045016> + 18086: <-0.921135, -0.389244, 0.000000> + 18087: <-0.900655, -0.434534, 0.000000> + 18088: <-0.920061, -0.389180, 0.045016> + 18089: <-0.937762, -0.344409, 0.044558> + 18090: <-0.938821, -0.344405, 0.000000> + 18091: <-0.921135, -0.389244, 0.000000> + 18092: <-0.937762, -0.344409, 0.044558> + 18093: <-0.952889, -0.300092, 0.044130> + 18094: <-0.953929, -0.300031, 0.000000> + 18095: <-0.938821, -0.344405, 0.000000> + 18096: <-0.952889, -0.300092, 0.044130> + 18097: <-0.965618, -0.256267, 0.043703> + 18098: <-0.966630, -0.256177, 0.000000> + 18099: <-0.953929, -0.300031, 0.000000> + 18100: <-0.965618, -0.256267, 0.043703> + 18101: <-0.976120, -0.212870, 0.043306> + 18102: <-0.977107, -0.212750, 0.000000> + 18103: <-0.966630, -0.256177, 0.000000> + 18104: <-0.976120, -0.212870, 0.043306> + 18105: <-0.984535, -0.169837, 0.042970> + 18106: <-0.985488, -0.169746, 0.000000> + 18107: <-0.977107, -0.212750, 0.000000> + 18108: <-0.984535, -0.169837, 0.042970> + 18109: <-0.990966, -0.127144, 0.042666> + 18110: <-0.991900, -0.127020, 0.000000> + 18111: <-0.985488, -0.169746, 0.000000> + 18112: <-0.990966, -0.127144, 0.042666> + 18113: <-0.995505, -0.084660, 0.042452> + 18114: <-0.996418, -0.084568, 0.000000> + 18115: <-0.991900, -0.127020, 0.000000> + 18116: <-0.995505, -0.084660, 0.042452> + 18117: <-0.998209, -0.042299, 0.042299> + 18118: <-0.999108, -0.042239, 0.000000> + 18119: <-0.996418, -0.084568, 0.000000> + 18120: <-0.998209, -0.042299, 0.042299> + 18121: <-0.999108, 0.000000, 0.042239> + 18122: <-1.000000, 0.000000, 0.000000> + 18123: <-0.999108, -0.042239, 0.000000> + 18124: <-0.999108, 0.000000, 0.042239> + 18125: <-0.998209, 0.042299, 0.042299> + 18126: <-0.999108, 0.042239, 0.000000> + 18127: <-1.000000, 0.000000, 0.000000> + 18128: <-0.998209, 0.042299, 0.042299> + 18129: <-0.995505, 0.084660, 0.042452> + 18130: <-0.996418, 0.084568, 0.000000> + 18131: <-0.999108, 0.042239, 0.000000> + 18132: <-0.995505, 0.084660, 0.042452> + 18133: <-0.990966, 0.127144, 0.042666> + 18134: <-0.991900, 0.127020, 0.000000> + 18135: <-0.996418, 0.084568, 0.000000> + 18136: <-0.990966, 0.127144, 0.042666> + 18137: <-0.984535, 0.169837, 0.042970> + 18138: <-0.985488, 0.169746, 0.000000> + 18139: <-0.991900, 0.127020, 0.000000> + 18140: <-0.984535, 0.169837, 0.042970> + 18141: <-0.976120, 0.212870, 0.043306> + 18142: <-0.977107, 0.212750, 0.000000> + 18143: <-0.985488, 0.169746, 0.000000> + 18144: <-0.976120, 0.212870, 0.043306> + 18145: <-0.965618, 0.256267, 0.043703> + 18146: <-0.966630, 0.256177, 0.000000> + 18147: <-0.977107, 0.212750, 0.000000> + 18148: <-0.965618, 0.256267, 0.043703> + 18149: <-0.952889, 0.300092, 0.044130> + 18150: <-0.953921, 0.300059, 0.000000> + 18151: <-0.966630, 0.256177, 0.000000> + 18152: <-0.952889, 0.300092, 0.044130> + 18153: <-0.937762, 0.344409, 0.044558> + 18154: <-0.938821, 0.344405, 0.000000> + 18155: <-0.953921, 0.300059, 0.000000> + 18156: <-0.937762, 0.344409, 0.044558> + 18157: <-0.920061, 0.389180, 0.045016> + 18158: <-0.921135, 0.389244, 0.000000> + 18159: <-0.938821, 0.344405, 0.000000> + 18160: <-0.920061, 0.389180, 0.045016> + 18161: <-0.899583, 0.434379, 0.045443> + 18162: <-0.900655, 0.434534, 0.000000> + 18163: <-0.921135, 0.389244, 0.000000> + 18164: <-0.899583, 0.434379, 0.045443> + 18165: <-0.876095, 0.479951, 0.045871> + 18166: <-0.877169, 0.480182, 0.000000> + 18167: <-0.900655, 0.434534, 0.000000> + 18168: <-0.876095, 0.479951, 0.045871> + 18169: <-0.849378, 0.525753, 0.046267> + 18170: <-0.850434, 0.526081, 0.000000> + 18171: <-0.877169, 0.480182, 0.000000> + 18172: <-0.849378, 0.525753, 0.046267> + 18173: <-0.819208, 0.571602, 0.046573> + 18174: <-0.820237, 0.572024, 0.000000> + 18175: <-0.850434, 0.526081, 0.000000> + 18176: <-0.819208, 0.571602, 0.046573> + 18177: <-0.785375, 0.617246, 0.046847> + 18178: <-0.786344, 0.617789, 0.000000> + 18179: <-0.820237, 0.572024, 0.000000> + 18180: <-0.785375, 0.617246, 0.046847> + 18181: <-0.747715, 0.662354, 0.046999> + 18182: <-0.748599, 0.663024, 0.000000> + 18183: <-0.786344, 0.617789, 0.000000> + 18184: <-0.748599, -0.663024, 0.000000> + 18185: <-0.786344, -0.617789, 0.000000> + 18186: <-0.785375, -0.617246, -0.046847> + 18187: <-0.747715, -0.662354, -0.046999> + 18188: <-0.786344, -0.617789, 0.000000> + 18189: <-0.820237, -0.572024, 0.000000> + 18190: <-0.819208, -0.571602, -0.046573> + 18191: <-0.785375, -0.617246, -0.046847> + 18192: <-0.820237, -0.572024, 0.000000> + 18193: <-0.850434, -0.526081, 0.000000> + 18194: <-0.849378, -0.525753, -0.046267> + 18195: <-0.819208, -0.571602, -0.046573> + 18196: <-0.850434, -0.526081, 0.000000> + 18197: <-0.877169, -0.480182, 0.000000> + 18198: <-0.876095, -0.479951, -0.045871> + 18199: <-0.849378, -0.525753, -0.046267> + 18200: <-0.877169, -0.480182, 0.000000> + 18201: <-0.900655, -0.434534, 0.000000> + 18202: <-0.899583, -0.434379, -0.045443> + 18203: <-0.876095, -0.479951, -0.045871> + 18204: <-0.900655, -0.434534, 0.000000> + 18205: <-0.921135, -0.389244, 0.000000> + 18206: <-0.920061, -0.389180, -0.045016> + 18207: <-0.899583, -0.434379, -0.045443> + 18208: <-0.921135, -0.389244, 0.000000> + 18209: <-0.938821, -0.344405, 0.000000> + 18210: <-0.937762, -0.344409, -0.044558> + 18211: <-0.920061, -0.389180, -0.045016> + 18212: <-0.938821, -0.344405, 0.000000> + 18213: <-0.953929, -0.300031, 0.000000> + 18214: <-0.952889, -0.300092, -0.044130> + 18215: <-0.937762, -0.344409, -0.044558> + 18216: <-0.953929, -0.300031, 0.000000> + 18217: <-0.966630, -0.256177, 0.000000> + 18218: <-0.965618, -0.256267, -0.043703> + 18219: <-0.952889, -0.300092, -0.044130> + 18220: <-0.966630, -0.256177, 0.000000> + 18221: <-0.977107, -0.212750, 0.000000> + 18222: <-0.976120, -0.212870, -0.043306> + 18223: <-0.965618, -0.256267, -0.043703> + 18224: <-0.977107, -0.212750, 0.000000> + 18225: <-0.985488, -0.169746, 0.000000> + 18226: <-0.984535, -0.169837, -0.042970> + 18227: <-0.976120, -0.212870, -0.043306> + 18228: <-0.985488, -0.169746, 0.000000> + 18229: <-0.991900, -0.127020, 0.000000> + 18230: <-0.990966, -0.127144, -0.042666> + 18231: <-0.984535, -0.169837, -0.042970> + 18232: <-0.991900, -0.127020, 0.000000> + 18233: <-0.996418, -0.084568, 0.000000> + 18234: <-0.995505, -0.084660, -0.042452> + 18235: <-0.990966, -0.127144, -0.042666> + 18236: <-0.996418, -0.084568, 0.000000> + 18237: <-0.999108, -0.042239, 0.000000> + 18238: <-0.998209, -0.042299, -0.042299> + 18239: <-0.995505, -0.084660, -0.042452> + 18240: <-0.999108, -0.042239, 0.000000> + 18241: <-1.000000, 0.000000, 0.000000> + 18242: <-0.999108, 0.000000, -0.042239> + 18243: <-0.998209, -0.042299, -0.042299> + 18244: <-1.000000, 0.000000, 0.000000> + 18245: <-0.999108, 0.042239, 0.000000> + 18246: <-0.998209, 0.042299, -0.042299> + 18247: <-0.999108, 0.000000, -0.042239> + 18248: <-0.999108, 0.042239, 0.000000> + 18249: <-0.996418, 0.084568, 0.000000> + 18250: <-0.995505, 0.084660, -0.042452> + 18251: <-0.998209, 0.042299, -0.042299> + 18252: <-0.996418, 0.084568, 0.000000> + 18253: <-0.991900, 0.127020, 0.000000> + 18254: <-0.990966, 0.127144, -0.042666> + 18255: <-0.995505, 0.084660, -0.042452> + 18256: <-0.991900, 0.127020, 0.000000> + 18257: <-0.985488, 0.169746, 0.000000> + 18258: <-0.984530, 0.169866, -0.042970> + 18259: <-0.990966, 0.127144, -0.042666> + 18260: <-0.985488, 0.169746, 0.000000> + 18261: <-0.977107, 0.212750, 0.000000> + 18262: <-0.976120, 0.212870, -0.043306> + 18263: <-0.984530, 0.169866, -0.042970> + 18264: <-0.977107, 0.212750, 0.000000> + 18265: <-0.966630, 0.256177, 0.000000> + 18266: <-0.965618, 0.256267, -0.043703> + 18267: <-0.976120, 0.212870, -0.043306> + 18268: <-0.966630, 0.256177, 0.000000> + 18269: <-0.953921, 0.300059, 0.000000> + 18270: <-0.952889, 0.300092, -0.044130> + 18271: <-0.965618, 0.256267, -0.043703> + 18272: <-0.953921, 0.300059, 0.000000> + 18273: <-0.938821, 0.344405, 0.000000> + 18274: <-0.937762, 0.344409, -0.044558> + 18275: <-0.952889, 0.300092, -0.044130> + 18276: <-0.938821, 0.344405, 0.000000> + 18277: <-0.921135, 0.389244, 0.000000> + 18278: <-0.920061, 0.389180, -0.045016> + 18279: <-0.937762, 0.344409, -0.044558> + 18280: <-0.921135, 0.389244, 0.000000> + 18281: <-0.900655, 0.434534, 0.000000> + 18282: <-0.899583, 0.434379, -0.045443> + 18283: <-0.920061, 0.389180, -0.045016> + 18284: <-0.900655, 0.434534, 0.000000> + 18285: <-0.877169, 0.480182, 0.000000> + 18286: <-0.876095, 0.479951, -0.045871> + 18287: <-0.899583, 0.434379, -0.045443> + 18288: <-0.877169, 0.480182, 0.000000> + 18289: <-0.850434, 0.526081, 0.000000> + 18290: <-0.849378, 0.525753, -0.046267> + 18291: <-0.876095, 0.479951, -0.045871> + 18292: <-0.850434, 0.526081, 0.000000> + 18293: <-0.820237, 0.572024, 0.000000> + 18294: <-0.819208, 0.571602, -0.046573> + 18295: <-0.849378, 0.525753, -0.046267> + 18296: <-0.820237, 0.572024, 0.000000> + 18297: <-0.786344, 0.617789, 0.000000> + 18298: <-0.785375, 0.617246, -0.046847> + 18299: <-0.819208, 0.571602, -0.046573> + 18300: <-0.786344, 0.617789, 0.000000> + 18301: <-0.748599, 0.663024, 0.000000> + 18302: <-0.747715, 0.662354, -0.046999> + 18303: <-0.785375, 0.617246, -0.046847> + 18304: <-0.747715, -0.662354, -0.046999> + 18305: <-0.785375, -0.617246, -0.046847> + 18306: <-0.782607, -0.615697, -0.091894> + 18307: <-0.745184, -0.660463, -0.092137> + 18308: <-0.785375, -0.617246, -0.046847> + 18309: <-0.819208, -0.571602, -0.046573> + 18310: <-0.816271, -0.570377, -0.091497> + 18311: <-0.782607, -0.615697, -0.091894> + 18312: <-0.819208, -0.571602, -0.046573> + 18313: <-0.849378, -0.525753, -0.046267> + 18314: <-0.846324, -0.524836, -0.091008> + 18315: <-0.816271, -0.570377, -0.091497> + 18316: <-0.849378, -0.525753, -0.046267> + 18317: <-0.876095, -0.479951, -0.045871> + 18318: <-0.872976, -0.479307, -0.090429> + 18319: <-0.846324, -0.524836, -0.091008> + 18320: <-0.876095, -0.479951, -0.045871> + 18321: <-0.899583, -0.434379, -0.045443> + 18322: <-0.896437, -0.433981, -0.089787> + 18323: <-0.872976, -0.479307, -0.090429> + 18324: <-0.899583, -0.434379, -0.045443> + 18325: <-0.920061, -0.389180, -0.045016> + 18326: <-0.916918, -0.388998, -0.089116> + 18327: <-0.896437, -0.433981, -0.089787> + 18328: <-0.920061, -0.389180, -0.045016> + 18329: <-0.937762, -0.344409, -0.044558> + 18330: <-0.934648, -0.344408, -0.088414> + 18331: <-0.916918, -0.388998, -0.089116> + 18332: <-0.937762, -0.344409, -0.044558> + 18333: <-0.952889, -0.300092, -0.044130> + 18334: <-0.949820, -0.300248, -0.087712> + 18335: <-0.934648, -0.344408, -0.088414> + 18336: <-0.952889, -0.300092, -0.044130> + 18337: <-0.965618, -0.256267, -0.043703> + 18338: <-0.962605, -0.256544, -0.087041> + 18339: <-0.949820, -0.300248, -0.087712> + 18340: <-0.965618, -0.256267, -0.043703> + 18341: <-0.976120, -0.212870, -0.043306> + 18342: <-0.973180, -0.213204, -0.086398> + 18343: <-0.962605, -0.256544, -0.087041> + 18344: <-0.976120, -0.212870, -0.043306> + 18345: <-0.984535, -0.169837, -0.042970> + 18346: <-0.981668, -0.170203, -0.085788> + 18347: <-0.973180, -0.213204, -0.086398> + 18348: <-0.984535, -0.169837, -0.042970> + 18349: <-0.990966, -0.127144, -0.042666> + 18350: <-0.988171, -0.127447, -0.085300> + 18351: <-0.981668, -0.170203, -0.085788> + 18352: <-0.990966, -0.127144, -0.042666> + 18353: <-0.995505, -0.084660, -0.042452> + 18354: <-0.992765, -0.084905, -0.084905> + 18355: <-0.988171, -0.127447, -0.085300> + 18356: <-0.995505, -0.084660, -0.042452> + 18357: <-0.998209, -0.042299, -0.042299> + 18358: <-0.995505, -0.042452, -0.084660> + 18359: <-0.992765, -0.084905, -0.084905> + 18360: <-0.998209, -0.042299, -0.042299> + 18361: <-0.999108, 0.000000, -0.042239> + 18362: <-0.996418, 0.000000, -0.084568> + 18363: <-0.995505, -0.042452, -0.084660> + 18364: <-0.999108, 0.000000, -0.042239> + 18365: <-0.998209, 0.042299, -0.042299> + 18366: <-0.995505, 0.042452, -0.084660> + 18367: <-0.996418, 0.000000, -0.084568> + 18368: <-0.998209, 0.042299, -0.042299> + 18369: <-0.995505, 0.084660, -0.042452> + 18370: <-0.992765, 0.084905, -0.084905> + 18371: <-0.995505, 0.042452, -0.084660> + 18372: <-0.995505, 0.084660, -0.042452> + 18373: <-0.990966, 0.127144, -0.042666> + 18374: <-0.988171, 0.127447, -0.085300> + 18375: <-0.992765, 0.084905, -0.084905> + 18376: <-0.990966, 0.127144, -0.042666> + 18377: <-0.984530, 0.169866, -0.042970> + 18378: <-0.981668, 0.170203, -0.085788> + 18379: <-0.988171, 0.127447, -0.085300> + 18380: <-0.984530, 0.169866, -0.042970> + 18381: <-0.976120, 0.212870, -0.043306> + 18382: <-0.973180, 0.213204, -0.086398> + 18383: <-0.981668, 0.170203, -0.085788> + 18384: <-0.976120, 0.212870, -0.043306> + 18385: <-0.965618, 0.256267, -0.043703> + 18386: <-0.962605, 0.256544, -0.087041> + 18387: <-0.973180, 0.213204, -0.086398> + 18388: <-0.965618, 0.256267, -0.043703> + 18389: <-0.952889, 0.300092, -0.044130> + 18390: <-0.949820, 0.300248, -0.087712> + 18391: <-0.962605, 0.256544, -0.087041> + 18392: <-0.952889, 0.300092, -0.044130> + 18393: <-0.937762, 0.344409, -0.044558> + 18394: <-0.934648, 0.344408, -0.088414> + 18395: <-0.949820, 0.300248, -0.087712> + 18396: <-0.937762, 0.344409, -0.044558> + 18397: <-0.920061, 0.389180, -0.045016> + 18398: <-0.916918, 0.388998, -0.089116> + 18399: <-0.934648, 0.344408, -0.088414> + 18400: <-0.920061, 0.389180, -0.045016> + 18401: <-0.899583, 0.434379, -0.045443> + 18402: <-0.896437, 0.433981, -0.089787> + 18403: <-0.916918, 0.388998, -0.089116> + 18404: <-0.899583, 0.434379, -0.045443> + 18405: <-0.876095, 0.479951, -0.045871> + 18406: <-0.872976, 0.479307, -0.090429> + 18407: <-0.896437, 0.433981, -0.089787> + 18408: <-0.876095, 0.479951, -0.045871> + 18409: <-0.849378, 0.525753, -0.046267> + 18410: <-0.846324, 0.524836, -0.091008> + 18411: <-0.872976, 0.479307, -0.090429> + 18412: <-0.849378, 0.525753, -0.046267> + 18413: <-0.819208, 0.571602, -0.046573> + 18414: <-0.816271, 0.570377, -0.091497> + 18415: <-0.846324, 0.524836, -0.091008> + 18416: <-0.819208, 0.571602, -0.046573> + 18417: <-0.785375, 0.617246, -0.046847> + 18418: <-0.782607, 0.615697, -0.091894> + 18419: <-0.816271, 0.570377, -0.091497> + 18420: <-0.785375, 0.617246, -0.046847> + 18421: <-0.747715, 0.662354, -0.046999> + 18422: <-0.745184, 0.660463, -0.092137> + 18423: <-0.782607, 0.615697, -0.091894> + 18424: <-0.745184, -0.660463, -0.092137> + 18425: <-0.782607, -0.615697, -0.091894> + 18426: <-0.778309, -0.613199, -0.134988> + 18427: <-0.741243, -0.657468, -0.135260> + 18428: <-0.782607, -0.615697, -0.091894> + 18429: <-0.816271, -0.570377, -0.091497> + 18430: <-0.811677, -0.568382, -0.134618> + 18431: <-0.778309, -0.613199, -0.134988> + 18432: <-0.816271, -0.570377, -0.091497> + 18433: <-0.846324, -0.524836, -0.091008> + 18434: <-0.841527, -0.523307, -0.134100> + 18435: <-0.811677, -0.568382, -0.134618> + 18436: <-0.846324, -0.524836, -0.091008> + 18437: <-0.872976, -0.479307, -0.090429> + 18438: <-0.868033, -0.478208, -0.133553> + 18439: <-0.841527, -0.523307, -0.134100> + 18440: <-0.872976, -0.479307, -0.090429> + 18441: <-0.896437, -0.433981, -0.089787> + 18442: <-0.891405, -0.433281, -0.132911> + 18443: <-0.868033, -0.478208, -0.133553> + 18444: <-0.896437, -0.433981, -0.089787> + 18445: <-0.916918, -0.388998, -0.089116> + 18446: <-0.911854, -0.388632, -0.132240> + 18447: <-0.891405, -0.433281, -0.132911> + 18448: <-0.916918, -0.388998, -0.089116> + 18449: <-0.934648, -0.344408, -0.088414> + 18450: <-0.929596, -0.344322, -0.131509> + 18451: <-0.911854, -0.388632, -0.132240> + 18452: <-0.934648, -0.344408, -0.088414> + 18453: <-0.949820, -0.300248, -0.087712> + 18454: <-0.944802, -0.300427, -0.130743> + 18455: <-0.929596, -0.344322, -0.131509> + 18456: <-0.949820, -0.300248, -0.087712> + 18457: <-0.962605, -0.256544, -0.087041> + 18458: <-0.957663, -0.256880, -0.129981> + 18459: <-0.944802, -0.300427, -0.130743> + 18460: <-0.962605, -0.256544, -0.087041> + 18461: <-0.973180, -0.213204, -0.086398> + 18462: <-0.968319, -0.213666, -0.129250> + 18463: <-0.957663, -0.256880, -0.129981> + 18464: <-0.973180, -0.213204, -0.086398> + 18465: <-0.981668, -0.170203, -0.085788> + 18466: <-0.976904, -0.170691, -0.128545> + 18467: <-0.968319, -0.213666, -0.129250> + 18468: <-0.981668, -0.170203, -0.085788> + 18469: <-0.988171, -0.127447, -0.085300> + 18470: <-0.983497, -0.127935, -0.127935> + 18471: <-0.976904, -0.170691, -0.128545> + 18472: <-0.988171, -0.127447, -0.085300> + 18473: <-0.992765, -0.084905, -0.084905> + 18474: <-0.988171, -0.085300, -0.127447> + 18475: <-0.983497, -0.127935, -0.127935> + 18476: <-0.992765, -0.084905, -0.084905> + 18477: <-0.995505, -0.042452, -0.084660> + 18478: <-0.990966, -0.042666, -0.127144> + 18479: <-0.988171, -0.085300, -0.127447> + 18480: <-0.995505, -0.042452, -0.084660> + 18481: <-0.996418, 0.000000, -0.084568> + 18482: <-0.991900, 0.000000, -0.127020> + 18483: <-0.990966, -0.042666, -0.127144> + 18484: <-0.996418, 0.000000, -0.084568> + 18485: <-0.995505, 0.042452, -0.084660> + 18486: <-0.990966, 0.042666, -0.127144> + 18487: <-0.991900, 0.000000, -0.127020> + 18488: <-0.995505, 0.042452, -0.084660> + 18489: <-0.992765, 0.084905, -0.084905> + 18490: <-0.988171, 0.085300, -0.127447> + 18491: <-0.990966, 0.042666, -0.127144> + 18492: <-0.992765, 0.084905, -0.084905> + 18493: <-0.988171, 0.127447, -0.085300> + 18494: <-0.983497, 0.127935, -0.127935> + 18495: <-0.988171, 0.085300, -0.127447> + 18496: <-0.988171, 0.127447, -0.085300> + 18497: <-0.981668, 0.170203, -0.085788> + 18498: <-0.976904, 0.170691, -0.128545> + 18499: <-0.983497, 0.127935, -0.127935> + 18500: <-0.981668, 0.170203, -0.085788> + 18501: <-0.973180, 0.213204, -0.086398> + 18502: <-0.968319, 0.213666, -0.129250> + 18503: <-0.976904, 0.170691, -0.128545> + 18504: <-0.973180, 0.213204, -0.086398> + 18505: <-0.962605, 0.256544, -0.087041> + 18506: <-0.957663, 0.256880, -0.129981> + 18507: <-0.968319, 0.213666, -0.129250> + 18508: <-0.962605, 0.256544, -0.087041> + 18509: <-0.949820, 0.300248, -0.087712> + 18510: <-0.944802, 0.300427, -0.130743> + 18511: <-0.957663, 0.256880, -0.129981> + 18512: <-0.949820, 0.300248, -0.087712> + 18513: <-0.934648, 0.344408, -0.088414> + 18514: <-0.929596, 0.344322, -0.131509> + 18515: <-0.944802, 0.300427, -0.130743> + 18516: <-0.934648, 0.344408, -0.088414> + 18517: <-0.916918, 0.388998, -0.089116> + 18518: <-0.911854, 0.388632, -0.132240> + 18519: <-0.929596, 0.344322, -0.131509> + 18520: <-0.916918, 0.388998, -0.089116> + 18521: <-0.896437, 0.433981, -0.089787> + 18522: <-0.891405, 0.433281, -0.132911> + 18523: <-0.911854, 0.388632, -0.132240> + 18524: <-0.896437, 0.433981, -0.089787> + 18525: <-0.872976, 0.479307, -0.090429> + 18526: <-0.868033, 0.478208, -0.133553> + 18527: <-0.891405, 0.433281, -0.132911> + 18528: <-0.872976, 0.479307, -0.090429> + 18529: <-0.846324, 0.524836, -0.091008> + 18530: <-0.841527, 0.523307, -0.134100> + 18531: <-0.868033, 0.478208, -0.133553> + 18532: <-0.846324, 0.524836, -0.091008> + 18533: <-0.816271, 0.570377, -0.091497> + 18534: <-0.811677, 0.568382, -0.134618> + 18535: <-0.841527, 0.523307, -0.134100> + 18536: <-0.816271, 0.570377, -0.091497> + 18537: <-0.782607, 0.615697, -0.091894> + 18538: <-0.778309, 0.613199, -0.134988> + 18539: <-0.811677, 0.568382, -0.134618> + 18540: <-0.782607, 0.615697, -0.091894> + 18541: <-0.745184, 0.660463, -0.092137> + 18542: <-0.741243, 0.657468, -0.135260> + 18543: <-0.778309, 0.613199, -0.134988> + 18544: <-0.741243, -0.657468, -0.135260> + 18545: <-0.778309, -0.613199, -0.134988> + 18546: <-0.772589, -0.609892, -0.176461> + 18547: <-0.736025, -0.653502, -0.176644> + 18548: <-0.778309, -0.613199, -0.134988> + 18549: <-0.811677, -0.568382, -0.134618> + 18550: <-0.805587, -0.565675, -0.176188> + 18551: <-0.772589, -0.609892, -0.176461> + 18552: <-0.811677, -0.568382, -0.134618> + 18553: <-0.841527, -0.523307, -0.134100> + 18554: <-0.835133, -0.521180, -0.175853> + 18555: <-0.805587, -0.565675, -0.176188> + 18556: <-0.841527, -0.523307, -0.134100> + 18557: <-0.868033, -0.478208, -0.133553> + 18558: <-0.861427, -0.476614, -0.175453> + 18559: <-0.835133, -0.521180, -0.175853> + 18560: <-0.868033, -0.478208, -0.133553> + 18561: <-0.891405, -0.433281, -0.132911> + 18562: <-0.884654, -0.432149, -0.175026> + 18563: <-0.861427, -0.476614, -0.175453> + 18564: <-0.891405, -0.433281, -0.132911> + 18565: <-0.911854, -0.388632, -0.132240> + 18566: <-0.904997, -0.387965, -0.174541> + 18567: <-0.884654, -0.432149, -0.175026> + 18568: <-0.911854, -0.388632, -0.132240> + 18569: <-0.929596, -0.344322, -0.131509> + 18570: <-0.922682, -0.344072, -0.173989> + 18571: <-0.904997, -0.387965, -0.174541> + 18572: <-0.929596, -0.344322, -0.131509> + 18573: <-0.944802, -0.300427, -0.130743> + 18574: <-0.937897, -0.300496, -0.173351> + 18575: <-0.922682, -0.344072, -0.173989> + 18576: <-0.944802, -0.300427, -0.130743> + 18577: <-0.957663, -0.256880, -0.129981> + 18578: <-0.950800, -0.257217, -0.172679> + 18579: <-0.937897, -0.300496, -0.173351> + 18580: <-0.957663, -0.256880, -0.129981> + 18581: <-0.968319, -0.213666, -0.129250> + 18582: <-0.961530, -0.214182, -0.172005> + 18583: <-0.950800, -0.257217, -0.172679> + 18584: <-0.968319, -0.213666, -0.129250> + 18585: <-0.976904, -0.170691, -0.128545> + 18586: <-0.970211, -0.171305, -0.171305> + 18587: <-0.961530, -0.214182, -0.172005> + 18588: <-0.976904, -0.170691, -0.128545> + 18589: <-0.983497, -0.127935, -0.127935> + 18590: <-0.976904, -0.128545, -0.170691> + 18591: <-0.970211, -0.171305, -0.171305> + 18592: <-0.983497, -0.127935, -0.127935> + 18593: <-0.988171, -0.085300, -0.127447> + 18594: <-0.981668, -0.085788, -0.170203> + 18595: <-0.976904, -0.128545, -0.170691> + 18596: <-0.988171, -0.085300, -0.127447> + 18597: <-0.990966, -0.042666, -0.127144> + 18598: <-0.984535, -0.042970, -0.169837> + 18599: <-0.981668, -0.085788, -0.170203> + 18600: <-0.990966, -0.042666, -0.127144> + 18601: <-0.991900, 0.000000, -0.127020> + 18602: <-0.985488, 0.000000, -0.169746> + 18603: <-0.984535, -0.042970, -0.169837> + 18604: <-0.991900, 0.000000, -0.127020> + 18605: <-0.990966, 0.042666, -0.127144> + 18606: <-0.984530, 0.042970, -0.169866> + 18607: <-0.985488, 0.000000, -0.169746> + 18608: <-0.990966, 0.042666, -0.127144> + 18609: <-0.988171, 0.085300, -0.127447> + 18610: <-0.981668, 0.085788, -0.170203> + 18611: <-0.984530, 0.042970, -0.169866> + 18612: <-0.988171, 0.085300, -0.127447> + 18613: <-0.983497, 0.127935, -0.127935> + 18614: <-0.976904, 0.128545, -0.170691> + 18615: <-0.981668, 0.085788, -0.170203> + 18616: <-0.983497, 0.127935, -0.127935> + 18617: <-0.976904, 0.170691, -0.128545> + 18618: <-0.970211, 0.171305, -0.171305> + 18619: <-0.976904, 0.128545, -0.170691> + 18620: <-0.976904, 0.170691, -0.128545> + 18621: <-0.968319, 0.213666, -0.129250> + 18622: <-0.961530, 0.214182, -0.172005> + 18623: <-0.970211, 0.171305, -0.171305> + 18624: <-0.968319, 0.213666, -0.129250> + 18625: <-0.957663, 0.256880, -0.129981> + 18626: <-0.950800, 0.257217, -0.172679> + 18627: <-0.961530, 0.214182, -0.172005> + 18628: <-0.957663, 0.256880, -0.129981> + 18629: <-0.944802, 0.300427, -0.130743> + 18630: <-0.937897, 0.300496, -0.173351> + 18631: <-0.950800, 0.257217, -0.172679> + 18632: <-0.944802, 0.300427, -0.130743> + 18633: <-0.929596, 0.344322, -0.131509> + 18634: <-0.922682, 0.344072, -0.173989> + 18635: <-0.937897, 0.300496, -0.173351> + 18636: <-0.929596, 0.344322, -0.131509> + 18637: <-0.911854, 0.388632, -0.132240> + 18638: <-0.904997, 0.387965, -0.174541> + 18639: <-0.922682, 0.344072, -0.173989> + 18640: <-0.911854, 0.388632, -0.132240> + 18641: <-0.891405, 0.433281, -0.132911> + 18642: <-0.884654, 0.432149, -0.175026> + 18643: <-0.904997, 0.387965, -0.174541> + 18644: <-0.891405, 0.433281, -0.132911> + 18645: <-0.868033, 0.478208, -0.133553> + 18646: <-0.861427, 0.476614, -0.175453> + 18647: <-0.884654, 0.432149, -0.175026> + 18648: <-0.868033, 0.478208, -0.133553> + 18649: <-0.841527, 0.523307, -0.134100> + 18650: <-0.835133, 0.521180, -0.175853> + 18651: <-0.861427, 0.476614, -0.175453> + 18652: <-0.841527, 0.523307, -0.134100> + 18653: <-0.811677, 0.568382, -0.134618> + 18654: <-0.805587, 0.565675, -0.176188> + 18655: <-0.835133, 0.521180, -0.175853> + 18656: <-0.811677, 0.568382, -0.134618> + 18657: <-0.778309, 0.613199, -0.134988> + 18658: <-0.772589, 0.609892, -0.176461> + 18659: <-0.805587, 0.565675, -0.176188> + 18660: <-0.778309, 0.613199, -0.134988> + 18661: <-0.741243, 0.657468, -0.135260> + 18662: <-0.736025, 0.653502, -0.176644> + 18663: <-0.772589, 0.609892, -0.176461> + 18664: <-0.736025, -0.653502, -0.176644> + 18665: <-0.772589, -0.609892, -0.176461> + 18666: <-0.765608, -0.605748, -0.216596> + 18667: <-0.729636, -0.648606, -0.216660> + 18668: <-0.772589, -0.609892, -0.176461> + 18669: <-0.805587, -0.565675, -0.176188> + 18670: <-0.798110, -0.562257, -0.216534> + 18671: <-0.765608, -0.605748, -0.216596> + 18672: <-0.805587, -0.565675, -0.176188> + 18673: <-0.835133, -0.521180, -0.175853> + 18674: <-0.827263, -0.518435, -0.216475> + 18675: <-0.798110, -0.562257, -0.216534> + 18676: <-0.835133, -0.521180, -0.175853> + 18677: <-0.861427, -0.476614, -0.175453> + 18678: <-0.853230, -0.474515, -0.216413> + 18679: <-0.827263, -0.518435, -0.216475> + 18680: <-0.861427, -0.476614, -0.175453> + 18681: <-0.884654, -0.432149, -0.175026> + 18682: <-0.876208, -0.430657, -0.216320> + 18683: <-0.853230, -0.474515, -0.216413> + 18684: <-0.884654, -0.432149, -0.175026> + 18685: <-0.904997, -0.387965, -0.174541> + 18686: <-0.896382, -0.386985, -0.216199> + 18687: <-0.876208, -0.430657, -0.216320> + 18688: <-0.904997, -0.387965, -0.174541> + 18689: <-0.922682, -0.344072, -0.173989> + 18690: <-0.913949, -0.343582, -0.215982> + 18691: <-0.896382, -0.386985, -0.216199> + 18692: <-0.922682, -0.344072, -0.173989> + 18693: <-0.937897, -0.300496, -0.173351> + 18694: <-0.929096, -0.300461, -0.215649> + 18695: <-0.913949, -0.343582, -0.215982> + 18696: <-0.937897, -0.300496, -0.173351> + 18697: <-0.950800, -0.257217, -0.172679> + 18698: <-0.942000, -0.257519, -0.215220> + 18699: <-0.929096, -0.300461, -0.215649> + 18700: <-0.950800, -0.257217, -0.172679> + 18701: <-0.961530, -0.214182, -0.172005> + 18702: <-0.952775, -0.214732, -0.214732> + 18703: <-0.942000, -0.257519, -0.215220> + 18704: <-0.961530, -0.214182, -0.172005> + 18705: <-0.970211, -0.171305, -0.171305> + 18706: <-0.961530, -0.172005, -0.214182> + 18707: <-0.952775, -0.214732, -0.214732> + 18708: <-0.970211, -0.171305, -0.171305> + 18709: <-0.976904, -0.128545, -0.170691> + 18710: <-0.968319, -0.129250, -0.213666> + 18711: <-0.961530, -0.172005, -0.214182> + 18712: <-0.976904, -0.128545, -0.170691> + 18713: <-0.981668, -0.085788, -0.170203> + 18714: <-0.973180, -0.086398, -0.213204> + 18715: <-0.968319, -0.129250, -0.213666> + 18716: <-0.981668, -0.085788, -0.170203> + 18717: <-0.984535, -0.042970, -0.169837> + 18718: <-0.976120, -0.043306, -0.212870> + 18719: <-0.973180, -0.086398, -0.213204> + 18720: <-0.984535, -0.042970, -0.169837> + 18721: <-0.985488, 0.000000, -0.169746> + 18722: <-0.977107, 0.000000, -0.212750> + 18723: <-0.976120, -0.043306, -0.212870> + 18724: <-0.985488, 0.000000, -0.169746> + 18725: <-0.984530, 0.042970, -0.169866> + 18726: <-0.976120, 0.043306, -0.212870> + 18727: <-0.977107, 0.000000, -0.212750> + 18728: <-0.984530, 0.042970, -0.169866> + 18729: <-0.981668, 0.085788, -0.170203> + 18730: <-0.973180, 0.086398, -0.213204> + 18731: <-0.976120, 0.043306, -0.212870> + 18732: <-0.981668, 0.085788, -0.170203> + 18733: <-0.976904, 0.128545, -0.170691> + 18734: <-0.968319, 0.129250, -0.213666> + 18735: <-0.973180, 0.086398, -0.213204> + 18736: <-0.976904, 0.128545, -0.170691> + 18737: <-0.970211, 0.171305, -0.171305> + 18738: <-0.961530, 0.172005, -0.214182> + 18739: <-0.968319, 0.129250, -0.213666> + 18740: <-0.970211, 0.171305, -0.171305> + 18741: <-0.961530, 0.214182, -0.172005> + 18742: <-0.952775, 0.214732, -0.214732> + 18743: <-0.961530, 0.172005, -0.214182> + 18744: <-0.961530, 0.214182, -0.172005> + 18745: <-0.950800, 0.257217, -0.172679> + 18746: <-0.942000, 0.257519, -0.215220> + 18747: <-0.952775, 0.214732, -0.214732> + 18748: <-0.950800, 0.257217, -0.172679> + 18749: <-0.937897, 0.300496, -0.173351> + 18750: <-0.929096, 0.300461, -0.215649> + 18751: <-0.942000, 0.257519, -0.215220> + 18752: <-0.937897, 0.300496, -0.173351> + 18753: <-0.922682, 0.344072, -0.173989> + 18754: <-0.913949, 0.343582, -0.215982> + 18755: <-0.929096, 0.300461, -0.215649> + 18756: <-0.922682, 0.344072, -0.173989> + 18757: <-0.904997, 0.387965, -0.174541> + 18758: <-0.896382, 0.386985, -0.216199> + 18759: <-0.913949, 0.343582, -0.215982> + 18760: <-0.904997, 0.387965, -0.174541> + 18761: <-0.884654, 0.432149, -0.175026> + 18762: <-0.876208, 0.430657, -0.216320> + 18763: <-0.896382, 0.386985, -0.216199> + 18764: <-0.884654, 0.432149, -0.175026> + 18765: <-0.861427, 0.476614, -0.175453> + 18766: <-0.853230, 0.474515, -0.216413> + 18767: <-0.876208, 0.430657, -0.216320> + 18768: <-0.861427, 0.476614, -0.175453> + 18769: <-0.835133, 0.521180, -0.175853> + 18770: <-0.827263, 0.518435, -0.216475> + 18771: <-0.853230, 0.474515, -0.216413> + 18772: <-0.835133, 0.521180, -0.175853> + 18773: <-0.805587, 0.565675, -0.176188> + 18774: <-0.798110, 0.562257, -0.216534> + 18775: <-0.827263, 0.518435, -0.216475> + 18776: <-0.805587, 0.565675, -0.176188> + 18777: <-0.772589, 0.609892, -0.176461> + 18778: <-0.765608, 0.605748, -0.216596> + 18779: <-0.798110, 0.562257, -0.216534> + 18780: <-0.772589, 0.609892, -0.176461> + 18781: <-0.736025, 0.653502, -0.176644> + 18782: <-0.729636, 0.648606, -0.216660> + 18783: <-0.765608, 0.605748, -0.216596> + 18784: <-0.729636, -0.648606, -0.216660> + 18785: <-0.765608, -0.605748, -0.216596> + 18786: <-0.757361, -0.600829, -0.255750> + 18787: <-0.722093, -0.642833, -0.255632> + 18788: <-0.765608, -0.605748, -0.216596> + 18789: <-0.798110, -0.562257, -0.216534> + 18790: <-0.789266, -0.558172, -0.255937> + 18791: <-0.757361, -0.600829, -0.255750> + 18792: <-0.798110, -0.562257, -0.216534> + 18793: <-0.827263, -0.518435, -0.216475> + 18794: <-0.817925, -0.515110, -0.256243> + 18795: <-0.789266, -0.558172, -0.255937> + 18796: <-0.827263, -0.518435, -0.216475> + 18797: <-0.853230, -0.474515, -0.216413> + 18798: <-0.843490, -0.471888, -0.256606> + 18799: <-0.817925, -0.515110, -0.256243> + 18800: <-0.853230, -0.474515, -0.216413> + 18801: <-0.876208, -0.430657, -0.216320> + 18802: <-0.866124, -0.428698, -0.256999> + 18803: <-0.843490, -0.471888, -0.256606> + 18804: <-0.876208, -0.430657, -0.216320> + 18805: <-0.896382, -0.386985, -0.216199> + 18806: <-0.886018, -0.385664, -0.257364> + 18807: <-0.866124, -0.428698, -0.256999> + 18808: <-0.896382, -0.386985, -0.216199> + 18809: <-0.913949, -0.343582, -0.215982> + 18810: <-0.903367, -0.342852, -0.257643> + 18811: <-0.886018, -0.385664, -0.257364> + 18812: <-0.913949, -0.343582, -0.215982> + 18813: <-0.929096, -0.300461, -0.215649> + 18814: <-0.918390, -0.300219, -0.257736> + 18815: <-0.903367, -0.342852, -0.257643> + 18816: <-0.929096, -0.300461, -0.215649> + 18817: <-0.942000, -0.257519, -0.215220> + 18818: <-0.931225, -0.257702, -0.257702> + 18819: <-0.918390, -0.300219, -0.257736> + 18820: <-0.942000, -0.257519, -0.215220> + 18821: <-0.952775, -0.214732, -0.214732> + 18822: <-0.942000, -0.215220, -0.257519> + 18823: <-0.931225, -0.257702, -0.257702> + 18824: <-0.952775, -0.214732, -0.214732> + 18825: <-0.961530, -0.172005, -0.214182> + 18826: <-0.950800, -0.172679, -0.257217> + 18827: <-0.942000, -0.215220, -0.257519> + 18828: <-0.961530, -0.172005, -0.214182> + 18829: <-0.968319, -0.129250, -0.213666> + 18830: <-0.957663, -0.129981, -0.256880> + 18831: <-0.950800, -0.172679, -0.257217> + 18832: <-0.968319, -0.129250, -0.213666> + 18833: <-0.973180, -0.086398, -0.213204> + 18834: <-0.962605, -0.087041, -0.256544> + 18835: <-0.957663, -0.129981, -0.256880> + 18836: <-0.973180, -0.086398, -0.213204> + 18837: <-0.976120, -0.043306, -0.212870> + 18838: <-0.965618, -0.043703, -0.256267> + 18839: <-0.962605, -0.087041, -0.256544> + 18840: <-0.976120, -0.043306, -0.212870> + 18841: <-0.977107, 0.000000, -0.212750> + 18842: <-0.966630, 0.000000, -0.256177> + 18843: <-0.965618, -0.043703, -0.256267> + 18844: <-0.977107, 0.000000, -0.212750> + 18845: <-0.976120, 0.043306, -0.212870> + 18846: <-0.965618, 0.043703, -0.256267> + 18847: <-0.966630, 0.000000, -0.256177> + 18848: <-0.976120, 0.043306, -0.212870> + 18849: <-0.973180, 0.086398, -0.213204> + 18850: <-0.962605, 0.087041, -0.256544> + 18851: <-0.965618, 0.043703, -0.256267> + 18852: <-0.973180, 0.086398, -0.213204> + 18853: <-0.968319, 0.129250, -0.213666> + 18854: <-0.957663, 0.129981, -0.256880> + 18855: <-0.962605, 0.087041, -0.256544> + 18856: <-0.968319, 0.129250, -0.213666> + 18857: <-0.961530, 0.172005, -0.214182> + 18858: <-0.950800, 0.172679, -0.257217> + 18859: <-0.957663, 0.129981, -0.256880> + 18860: <-0.961530, 0.172005, -0.214182> + 18861: <-0.952775, 0.214732, -0.214732> + 18862: <-0.942000, 0.215220, -0.257519> + 18863: <-0.950800, 0.172679, -0.257217> + 18864: <-0.952775, 0.214732, -0.214732> + 18865: <-0.942000, 0.257519, -0.215220> + 18866: <-0.931225, 0.257702, -0.257702> + 18867: <-0.942000, 0.215220, -0.257519> + 18868: <-0.942000, 0.257519, -0.215220> + 18869: <-0.929096, 0.300461, -0.215649> + 18870: <-0.918390, 0.300219, -0.257736> + 18871: <-0.931225, 0.257702, -0.257702> + 18872: <-0.929096, 0.300461, -0.215649> + 18873: <-0.913949, 0.343582, -0.215982> + 18874: <-0.903367, 0.342852, -0.257643> + 18875: <-0.918390, 0.300219, -0.257736> + 18876: <-0.913949, 0.343582, -0.215982> + 18877: <-0.896382, 0.386985, -0.216199> + 18878: <-0.886018, 0.385664, -0.257364> + 18879: <-0.903367, 0.342852, -0.257643> + 18880: <-0.896382, 0.386985, -0.216199> + 18881: <-0.876208, 0.430657, -0.216320> + 18882: <-0.866124, 0.428698, -0.256999> + 18883: <-0.886018, 0.385664, -0.257364> + 18884: <-0.876208, 0.430657, -0.216320> + 18885: <-0.853230, 0.474515, -0.216413> + 18886: <-0.843490, 0.471888, -0.256606> + 18887: <-0.866124, 0.428698, -0.256999> + 18888: <-0.853230, 0.474515, -0.216413> + 18889: <-0.827263, 0.518435, -0.216475> + 18890: <-0.817925, 0.515110, -0.256243> + 18891: <-0.843490, 0.471888, -0.256606> + 18892: <-0.827263, 0.518435, -0.216475> + 18893: <-0.798110, 0.562257, -0.216534> + 18894: <-0.789266, 0.558172, -0.255937> + 18895: <-0.817925, 0.515110, -0.256243> + 18896: <-0.798110, 0.562257, -0.216534> + 18897: <-0.765608, 0.605748, -0.216596> + 18898: <-0.757361, 0.600829, -0.255750> + 18899: <-0.789266, 0.558172, -0.255937> + 18900: <-0.765608, 0.605748, -0.216596> + 18901: <-0.729636, 0.648606, -0.216660> + 18902: <-0.722093, 0.642833, -0.255632> + 18903: <-0.757361, 0.600829, -0.255750> + 18904: <-0.722093, -0.642833, -0.255632> + 18905: <-0.757361, -0.600829, -0.255750> + 18906: <-0.747816, -0.595158, -0.294207> + 18907: <-0.713396, -0.636150, -0.293904> + 18908: <-0.757361, -0.600829, -0.255750> + 18909: <-0.789266, -0.558172, -0.255937> + 18910: <-0.779017, -0.553415, -0.294729> + 18911: <-0.747816, -0.595158, -0.294207> + 18912: <-0.789266, -0.558172, -0.255937> + 18913: <-0.817925, -0.515110, -0.256243> + 18914: <-0.807082, -0.511198, -0.295457> + 18915: <-0.779017, -0.553415, -0.294729> + 18916: <-0.817925, -0.515110, -0.256243> + 18917: <-0.843490, -0.471888, -0.256606> + 18918: <-0.832128, -0.468770, -0.296339> + 18919: <-0.807082, -0.511198, -0.295457> + 18920: <-0.843490, -0.471888, -0.256606> + 18921: <-0.866124, -0.428698, -0.256999> + 18922: <-0.854324, -0.426323, -0.297287> + 18923: <-0.832128, -0.468770, -0.296339> + 18924: <-0.866124, -0.428698, -0.256999> + 18925: <-0.886018, -0.385664, -0.257364> + 18926: <-0.873840, -0.383986, -0.298259> + 18927: <-0.854324, -0.426323, -0.297287> + 18928: <-0.886018, -0.385664, -0.257364> + 18929: <-0.903367, -0.342852, -0.257643> + 18930: <-0.890906, -0.341811, -0.299085> + 18931: <-0.873840, -0.383986, -0.298259> + 18932: <-0.903367, -0.342852, -0.257643> + 18933: <-0.918390, -0.300219, -0.257736> + 18934: <-0.905696, -0.299762, -0.299762> + 18935: <-0.890906, -0.341811, -0.299085> + 18936: <-0.918390, -0.300219, -0.257736> + 18937: <-0.931225, -0.257702, -0.257702> + 18938: <-0.918390, -0.257736, -0.300219> + 18939: <-0.905696, -0.299762, -0.299762> + 18940: <-0.931225, -0.257702, -0.257702> + 18941: <-0.942000, -0.215220, -0.257519> + 18942: <-0.929096, -0.215649, -0.300461> + 18943: <-0.918390, -0.257736, -0.300219> + 18944: <-0.942000, -0.215220, -0.257519> + 18945: <-0.950800, -0.172679, -0.257217> + 18946: <-0.937897, -0.173351, -0.300496> + 18947: <-0.929096, -0.215649, -0.300461> + 18948: <-0.950800, -0.172679, -0.257217> + 18949: <-0.957663, -0.129981, -0.256880> + 18950: <-0.944802, -0.130743, -0.300427> + 18951: <-0.937897, -0.173351, -0.300496> + 18952: <-0.957663, -0.129981, -0.256880> + 18953: <-0.962605, -0.087041, -0.256544> + 18954: <-0.949820, -0.087712, -0.300248> + 18955: <-0.944802, -0.130743, -0.300427> + 18956: <-0.962605, -0.087041, -0.256544> + 18957: <-0.965618, -0.043703, -0.256267> + 18958: <-0.952889, -0.044130, -0.300092> + 18959: <-0.949820, -0.087712, -0.300248> + 18960: <-0.965618, -0.043703, -0.256267> + 18961: <-0.966630, 0.000000, -0.256177> + 18962: <-0.953921, 0.000000, -0.300059> + 18963: <-0.952889, -0.044130, -0.300092> + 18964: <-0.966630, 0.000000, -0.256177> + 18965: <-0.965618, 0.043703, -0.256267> + 18966: <-0.952889, 0.044130, -0.300092> + 18967: <-0.953921, 0.000000, -0.300059> + 18968: <-0.965618, 0.043703, -0.256267> + 18969: <-0.962605, 0.087041, -0.256544> + 18970: <-0.949820, 0.087712, -0.300248> + 18971: <-0.952889, 0.044130, -0.300092> + 18972: <-0.962605, 0.087041, -0.256544> + 18973: <-0.957663, 0.129981, -0.256880> + 18974: <-0.944802, 0.130743, -0.300427> + 18975: <-0.949820, 0.087712, -0.300248> + 18976: <-0.957663, 0.129981, -0.256880> + 18977: <-0.950800, 0.172679, -0.257217> + 18978: <-0.937897, 0.173351, -0.300496> + 18979: <-0.944802, 0.130743, -0.300427> + 18980: <-0.950800, 0.172679, -0.257217> + 18981: <-0.942000, 0.215220, -0.257519> + 18982: <-0.929096, 0.215649, -0.300461> + 18983: <-0.937897, 0.173351, -0.300496> + 18984: <-0.942000, 0.215220, -0.257519> + 18985: <-0.931225, 0.257702, -0.257702> + 18986: <-0.918390, 0.257736, -0.300219> + 18987: <-0.929096, 0.215649, -0.300461> + 18988: <-0.931225, 0.257702, -0.257702> + 18989: <-0.918390, 0.300219, -0.257736> + 18990: <-0.905696, 0.299762, -0.299762> + 18991: <-0.918390, 0.257736, -0.300219> + 18992: <-0.918390, 0.300219, -0.257736> + 18993: <-0.903367, 0.342852, -0.257643> + 18994: <-0.890906, 0.341811, -0.299085> + 18995: <-0.905696, 0.299762, -0.299762> + 18996: <-0.903367, 0.342852, -0.257643> + 18997: <-0.886018, 0.385664, -0.257364> + 18998: <-0.873840, 0.383986, -0.298259> + 18999: <-0.890906, 0.341811, -0.299085> + 19000: <-0.886018, 0.385664, -0.257364> + 19001: <-0.866124, 0.428698, -0.256999> + 19002: <-0.854324, 0.426323, -0.297287> + 19003: <-0.873840, 0.383986, -0.298259> + 19004: <-0.866124, 0.428698, -0.256999> + 19005: <-0.843490, 0.471888, -0.256606> + 19006: <-0.832128, 0.468770, -0.296339> + 19007: <-0.854324, 0.426323, -0.297287> + 19008: <-0.843490, 0.471888, -0.256606> + 19009: <-0.817925, 0.515110, -0.256243> + 19010: <-0.807082, 0.511198, -0.295457> + 19011: <-0.832128, 0.468770, -0.296339> + 19012: <-0.817925, 0.515110, -0.256243> + 19013: <-0.789266, 0.558172, -0.255937> + 19014: <-0.779017, 0.553415, -0.294729> + 19015: <-0.807082, 0.511198, -0.295457> + 19016: <-0.789266, 0.558172, -0.255937> + 19017: <-0.757361, 0.600829, -0.255750> + 19018: <-0.747816, 0.595158, -0.294207> + 19019: <-0.779017, 0.553415, -0.294729> + 19020: <-0.757361, 0.600829, -0.255750> + 19021: <-0.722093, 0.642833, -0.255632> + 19022: <-0.713396, 0.636150, -0.293904> + 19023: <-0.747816, 0.595158, -0.294207> + 19024: <-0.713396, -0.636150, -0.293904> + 19025: <-0.747816, -0.595158, -0.294207> + 19026: <-0.736915, -0.588744, -0.332170> + 19027: <-0.703467, -0.628603, -0.331652> + 19028: <-0.747816, -0.595158, -0.294207> + 19029: <-0.779017, -0.553415, -0.294729> + 19030: <-0.767292, -0.548009, -0.333090> + 19031: <-0.736915, -0.588744, -0.332170> + 19032: <-0.779017, -0.553415, -0.294729> + 19033: <-0.807082, -0.511198, -0.295457> + 19034: <-0.794627, -0.506740, -0.334337> + 19035: <-0.767292, -0.548009, -0.333090> + 19036: <-0.807082, -0.511198, -0.295457> + 19037: <-0.832128, -0.468770, -0.296339> + 19038: <-0.819039, -0.465202, -0.335801> + 19039: <-0.794627, -0.506740, -0.334337> + 19040: <-0.832128, -0.468770, -0.296339> + 19041: <-0.854324, -0.426323, -0.297287> + 19042: <-0.840684, -0.423577, -0.337391> + 19043: <-0.819039, -0.465202, -0.335801> + 19044: <-0.854324, -0.426323, -0.297287> + 19045: <-0.873840, -0.383986, -0.298259> + 19046: <-0.859750, -0.381976, -0.339005> + 19047: <-0.840684, -0.423577, -0.337391> + 19048: <-0.873840, -0.383986, -0.298259> + 19049: <-0.890906, -0.341811, -0.299085> + 19050: <-0.876422, -0.340503, -0.340503> + 19051: <-0.859750, -0.381976, -0.339005> + 19052: <-0.890906, -0.341811, -0.299085> + 19053: <-0.905696, -0.299762, -0.299762> + 19054: <-0.890906, -0.299085, -0.341811> + 19055: <-0.876422, -0.340503, -0.340503> + 19056: <-0.905696, -0.299762, -0.299762> + 19057: <-0.918390, -0.257736, -0.300219> + 19058: <-0.903367, -0.257643, -0.342852> + 19059: <-0.890906, -0.299085, -0.341811> + 19060: <-0.918390, -0.257736, -0.300219> + 19061: <-0.929096, -0.215649, -0.300461> + 19062: <-0.913949, -0.215982, -0.343582> + 19063: <-0.903367, -0.257643, -0.342852> + 19064: <-0.929096, -0.215649, -0.300461> + 19065: <-0.937897, -0.173351, -0.300496> + 19066: <-0.922682, -0.173989, -0.344072> + 19067: <-0.913949, -0.215982, -0.343582> + 19068: <-0.937897, -0.173351, -0.300496> + 19069: <-0.944802, -0.130743, -0.300427> + 19070: <-0.929596, -0.131509, -0.344322> + 19071: <-0.922682, -0.173989, -0.344072> + 19072: <-0.944802, -0.130743, -0.300427> + 19073: <-0.949820, -0.087712, -0.300248> + 19074: <-0.934648, -0.088414, -0.344408> + 19075: <-0.929596, -0.131509, -0.344322> + 19076: <-0.949820, -0.087712, -0.300248> + 19077: <-0.952889, -0.044130, -0.300092> + 19078: <-0.937762, -0.044558, -0.344409> + 19079: <-0.934648, -0.088414, -0.344408> + 19080: <-0.952889, -0.044130, -0.300092> + 19081: <-0.953921, 0.000000, -0.300059> + 19082: <-0.938821, 0.000000, -0.344405> + 19083: <-0.937762, -0.044558, -0.344409> + 19084: <-0.953921, 0.000000, -0.300059> + 19085: <-0.952889, 0.044130, -0.300092> + 19086: <-0.937762, 0.044558, -0.344409> + 19087: <-0.938821, 0.000000, -0.344405> + 19088: <-0.952889, 0.044130, -0.300092> + 19089: <-0.949820, 0.087712, -0.300248> + 19090: <-0.934648, 0.088414, -0.344408> + 19091: <-0.937762, 0.044558, -0.344409> + 19092: <-0.949820, 0.087712, -0.300248> + 19093: <-0.944802, 0.130743, -0.300427> + 19094: <-0.929596, 0.131509, -0.344322> + 19095: <-0.934648, 0.088414, -0.344408> + 19096: <-0.944802, 0.130743, -0.300427> + 19097: <-0.937897, 0.173351, -0.300496> + 19098: <-0.922682, 0.173989, -0.344072> + 19099: <-0.929596, 0.131509, -0.344322> + 19100: <-0.937897, 0.173351, -0.300496> + 19101: <-0.929096, 0.215649, -0.300461> + 19102: <-0.913949, 0.215982, -0.343582> + 19103: <-0.922682, 0.173989, -0.344072> + 19104: <-0.929096, 0.215649, -0.300461> + 19105: <-0.918390, 0.257736, -0.300219> + 19106: <-0.903367, 0.257643, -0.342852> + 19107: <-0.913949, 0.215982, -0.343582> + 19108: <-0.918390, 0.257736, -0.300219> + 19109: <-0.905696, 0.299762, -0.299762> + 19110: <-0.890906, 0.299085, -0.341811> + 19111: <-0.903367, 0.257643, -0.342852> + 19112: <-0.905696, 0.299762, -0.299762> + 19113: <-0.890906, 0.341811, -0.299085> + 19114: <-0.876422, 0.340503, -0.340503> + 19115: <-0.890906, 0.299085, -0.341811> + 19116: <-0.890906, 0.341811, -0.299085> + 19117: <-0.873840, 0.383986, -0.298259> + 19118: <-0.859750, 0.381976, -0.339005> + 19119: <-0.876422, 0.340503, -0.340503> + 19120: <-0.873840, 0.383986, -0.298259> + 19121: <-0.854324, 0.426323, -0.297287> + 19122: <-0.840684, 0.423577, -0.337391> + 19123: <-0.859750, 0.381976, -0.339005> + 19124: <-0.854324, 0.426323, -0.297287> + 19125: <-0.832128, 0.468770, -0.296339> + 19126: <-0.819039, 0.465202, -0.335801> + 19127: <-0.840684, 0.423577, -0.337391> + 19128: <-0.832128, 0.468770, -0.296339> + 19129: <-0.807082, 0.511198, -0.295457> + 19130: <-0.794636, 0.506745, -0.334310> + 19131: <-0.819039, 0.465202, -0.335801> + 19132: <-0.807082, 0.511198, -0.295457> + 19133: <-0.779017, 0.553415, -0.294729> + 19134: <-0.767292, 0.548009, -0.333090> + 19135: <-0.794636, 0.506745, -0.334310> + 19136: <-0.779017, 0.553415, -0.294729> + 19137: <-0.747816, 0.595158, -0.294207> + 19138: <-0.736915, 0.588744, -0.332170> + 19139: <-0.767292, 0.548009, -0.333090> + 19140: <-0.747816, 0.595158, -0.294207> + 19141: <-0.713396, 0.636150, -0.293904> + 19142: <-0.703467, 0.628603, -0.331652> + 19143: <-0.736915, 0.588744, -0.332170> + 19144: <-0.703467, -0.628603, -0.331652> + 19145: <-0.736915, -0.588744, -0.332170> + 19146: <-0.724825, -0.581661, -0.369188> + 19147: <-0.692544, -0.620305, -0.368246> + 19148: <-0.736915, -0.588744, -0.332170> + 19149: <-0.767292, -0.548009, -0.333090> + 19150: <-0.754169, -0.542028, -0.370721> + 19151: <-0.724825, -0.581661, -0.369188> + 19152: <-0.767292, -0.548009, -0.333090> + 19153: <-0.794627, -0.506740, -0.334337> + 19154: <-0.780568, -0.501802, -0.372705> + 19155: <-0.754169, -0.542028, -0.370721> + 19156: <-0.794627, -0.506740, -0.334337> + 19157: <-0.819039, -0.465202, -0.335801> + 19158: <-0.804154, -0.461239, -0.374961> + 19159: <-0.780568, -0.501802, -0.372705> + 19160: <-0.819039, -0.465202, -0.335801> + 19161: <-0.840684, -0.423577, -0.337391> + 19162: <-0.825100, -0.420500, -0.377345> + 19163: <-0.804154, -0.461239, -0.374961> + 19164: <-0.840684, -0.423577, -0.337391> + 19165: <-0.859750, -0.381976, -0.339005> + 19166: <-0.843551, -0.379751, -0.379751> + 19167: <-0.825100, -0.420500, -0.377345> + 19168: <-0.859750, -0.381976, -0.339005> + 19169: <-0.876422, -0.340503, -0.340503> + 19170: <-0.859750, -0.339005, -0.381976> + 19171: <-0.843551, -0.379751, -0.379751> + 19172: <-0.876422, -0.340503, -0.340503> + 19173: <-0.890906, -0.299085, -0.341811> + 19174: <-0.873851, -0.298262, -0.383960> + 19175: <-0.859750, -0.339005, -0.381976> + 19176: <-0.890906, -0.299085, -0.341811> + 19177: <-0.903367, -0.257643, -0.342852> + 19178: <-0.886028, -0.257367, -0.385638> + 19179: <-0.873851, -0.298262, -0.383960> + 19180: <-0.903367, -0.257643, -0.342852> + 19181: <-0.913949, -0.215982, -0.343582> + 19182: <-0.896382, -0.216199, -0.386985> + 19183: <-0.886028, -0.257367, -0.385638> + 19184: <-0.913949, -0.215982, -0.343582> + 19185: <-0.922682, -0.173989, -0.344072> + 19186: <-0.904997, -0.174541, -0.387965> + 19187: <-0.896382, -0.216199, -0.386985> + 19188: <-0.922682, -0.173989, -0.344072> + 19189: <-0.929596, -0.131509, -0.344322> + 19190: <-0.911854, -0.132240, -0.388632> + 19191: <-0.904997, -0.174541, -0.387965> + 19192: <-0.929596, -0.131509, -0.344322> + 19193: <-0.934648, -0.088414, -0.344408> + 19194: <-0.916918, -0.089116, -0.388998> + 19195: <-0.911854, -0.132240, -0.388632> + 19196: <-0.934648, -0.088414, -0.344408> + 19197: <-0.937762, -0.044558, -0.344409> + 19198: <-0.920061, -0.045016, -0.389180> + 19199: <-0.916918, -0.089116, -0.388998> + 19200: <-0.937762, -0.044558, -0.344409> + 19201: <-0.938821, 0.000000, -0.344405> + 19202: <-0.921135, 0.000000, -0.389244> + 19203: <-0.920061, -0.045016, -0.389180> + 19204: <-0.938821, 0.000000, -0.344405> + 19205: <-0.937762, 0.044558, -0.344409> + 19206: <-0.920061, 0.045016, -0.389180> + 19207: <-0.921135, 0.000000, -0.389244> + 19208: <-0.937762, 0.044558, -0.344409> + 19209: <-0.934648, 0.088414, -0.344408> + 19210: <-0.916918, 0.089116, -0.388998> + 19211: <-0.920061, 0.045016, -0.389180> + 19212: <-0.934648, 0.088414, -0.344408> + 19213: <-0.929596, 0.131509, -0.344322> + 19214: <-0.911854, 0.132240, -0.388632> + 19215: <-0.916918, 0.089116, -0.388998> + 19216: <-0.929596, 0.131509, -0.344322> + 19217: <-0.922682, 0.173989, -0.344072> + 19218: <-0.904997, 0.174541, -0.387965> + 19219: <-0.911854, 0.132240, -0.388632> + 19220: <-0.922682, 0.173989, -0.344072> + 19221: <-0.913949, 0.215982, -0.343582> + 19222: <-0.896382, 0.216199, -0.386985> + 19223: <-0.904997, 0.174541, -0.387965> + 19224: <-0.913949, 0.215982, -0.343582> + 19225: <-0.903367, 0.257643, -0.342852> + 19226: <-0.886018, 0.257364, -0.385664> + 19227: <-0.896382, 0.216199, -0.386985> + 19228: <-0.903367, 0.257643, -0.342852> + 19229: <-0.890906, 0.299085, -0.341811> + 19230: <-0.873840, 0.298259, -0.383986> + 19231: <-0.886018, 0.257364, -0.385664> + 19232: <-0.890906, 0.299085, -0.341811> + 19233: <-0.876422, 0.340503, -0.340503> + 19234: <-0.859750, 0.339005, -0.381976> + 19235: <-0.873840, 0.298259, -0.383986> + 19236: <-0.876422, 0.340503, -0.340503> + 19237: <-0.859750, 0.381976, -0.339005> + 19238: <-0.843551, 0.379751, -0.379751> + 19239: <-0.859750, 0.339005, -0.381976> + 19240: <-0.859750, 0.381976, -0.339005> + 19241: <-0.840684, 0.423577, -0.337391> + 19242: <-0.825100, 0.420500, -0.377345> + 19243: <-0.843551, 0.379751, -0.379751> + 19244: <-0.840684, 0.423577, -0.337391> + 19245: <-0.819039, 0.465202, -0.335801> + 19246: <-0.804154, 0.461239, -0.374961> + 19247: <-0.825100, 0.420500, -0.377345> + 19248: <-0.819039, 0.465202, -0.335801> + 19249: <-0.794636, 0.506745, -0.334310> + 19250: <-0.780568, 0.501802, -0.372705> + 19251: <-0.804154, 0.461239, -0.374961> + 19252: <-0.794636, 0.506745, -0.334310> + 19253: <-0.767292, 0.548009, -0.333090> + 19254: <-0.754169, 0.542028, -0.370721> + 19255: <-0.780568, 0.501802, -0.372705> + 19256: <-0.767292, 0.548009, -0.333090> + 19257: <-0.736915, 0.588744, -0.332170> + 19258: <-0.724825, 0.581661, -0.369188> + 19259: <-0.754169, 0.542028, -0.370721> + 19260: <-0.736915, 0.588744, -0.332170> + 19261: <-0.703467, 0.628603, -0.331652> + 19262: <-0.692544, 0.620305, -0.368246> + 19263: <-0.724825, 0.581661, -0.369188> + 19264: <-0.692544, -0.620305, -0.368246> + 19265: <-0.724825, -0.581661, -0.369188> + 19266: <-0.711772, -0.574008, -0.404839> + 19267: <-0.680859, -0.611427, -0.403223> + 19268: <-0.724825, -0.581661, -0.369188> + 19269: <-0.754169, -0.542028, -0.370721> + 19270: <-0.739812, -0.535518, -0.407307> + 19271: <-0.711772, -0.574008, -0.404839> + 19272: <-0.754169, -0.542028, -0.370721> + 19273: <-0.780568, -0.501802, -0.372705> + 19274: <-0.764964, -0.496395, -0.410392> + 19275: <-0.739812, -0.535518, -0.407307> + 19276: <-0.780568, -0.501802, -0.372705> + 19277: <-0.804154, -0.461239, -0.374961> + 19278: <-0.787421, -0.456900, -0.413777> + 19279: <-0.764964, -0.496395, -0.410392> + 19280: <-0.804154, -0.461239, -0.374961> + 19281: <-0.825100, -0.420500, -0.377345> + 19282: <-0.807394, -0.417202, -0.417202> + 19283: <-0.787421, -0.456900, -0.413777> + 19284: <-0.825100, -0.420500, -0.377345> + 19285: <-0.843551, -0.379751, -0.379751> + 19286: <-0.825100, -0.377345, -0.420500> + 19287: <-0.807394, -0.417202, -0.417202> + 19288: <-0.843551, -0.379751, -0.379751> + 19289: <-0.859750, -0.339005, -0.381976> + 19290: <-0.840684, -0.337391, -0.423577> + 19291: <-0.825100, -0.377345, -0.420500> + 19292: <-0.859750, -0.339005, -0.381976> + 19293: <-0.873851, -0.298262, -0.383960> + 19294: <-0.854324, -0.297287, -0.426323> + 19295: <-0.840684, -0.337391, -0.423577> + 19296: <-0.873851, -0.298262, -0.383960> + 19297: <-0.886028, -0.257367, -0.385638> + 19298: <-0.866124, -0.256999, -0.428698> + 19299: <-0.854324, -0.297287, -0.426323> + 19300: <-0.886028, -0.257367, -0.385638> + 19301: <-0.896382, -0.216199, -0.386985> + 19302: <-0.876208, -0.216320, -0.430657> + 19303: <-0.866124, -0.256999, -0.428698> + 19304: <-0.896382, -0.216199, -0.386985> + 19305: <-0.904997, -0.174541, -0.387965> + 19306: <-0.884654, -0.175026, -0.432149> + 19307: <-0.876208, -0.216320, -0.430657> + 19308: <-0.904997, -0.174541, -0.387965> + 19309: <-0.911854, -0.132240, -0.388632> + 19310: <-0.891405, -0.132911, -0.433281> + 19311: <-0.884654, -0.175026, -0.432149> + 19312: <-0.911854, -0.132240, -0.388632> + 19313: <-0.916918, -0.089116, -0.388998> + 19314: <-0.896437, -0.089787, -0.433981> + 19315: <-0.891405, -0.132911, -0.433281> + 19316: <-0.916918, -0.089116, -0.388998> + 19317: <-0.920061, -0.045016, -0.389180> + 19318: <-0.899583, -0.045443, -0.434379> + 19319: <-0.896437, -0.089787, -0.433981> + 19320: <-0.920061, -0.045016, -0.389180> + 19321: <-0.921135, 0.000000, -0.389244> + 19322: <-0.900655, 0.000000, -0.434534> + 19323: <-0.899583, -0.045443, -0.434379> + 19324: <-0.921135, 0.000000, -0.389244> + 19325: <-0.920061, 0.045016, -0.389180> + 19326: <-0.899583, 0.045443, -0.434379> + 19327: <-0.900655, 0.000000, -0.434534> + 19328: <-0.920061, 0.045016, -0.389180> + 19329: <-0.916918, 0.089116, -0.388998> + 19330: <-0.896437, 0.089787, -0.433981> + 19331: <-0.899583, 0.045443, -0.434379> + 19332: <-0.916918, 0.089116, -0.388998> + 19333: <-0.911854, 0.132240, -0.388632> + 19334: <-0.891416, 0.132913, -0.433256> + 19335: <-0.896437, 0.089787, -0.433981> + 19336: <-0.911854, 0.132240, -0.388632> + 19337: <-0.904997, 0.174541, -0.387965> + 19338: <-0.884654, 0.175026, -0.432149> + 19339: <-0.891416, 0.132913, -0.433256> + 19340: <-0.904997, 0.174541, -0.387965> + 19341: <-0.896382, 0.216199, -0.386985> + 19342: <-0.876208, 0.216320, -0.430657> + 19343: <-0.884654, 0.175026, -0.432149> + 19344: <-0.896382, 0.216199, -0.386985> + 19345: <-0.886018, 0.257364, -0.385664> + 19346: <-0.866124, 0.256999, -0.428698> + 19347: <-0.876208, 0.216320, -0.430657> + 19348: <-0.886018, 0.257364, -0.385664> + 19349: <-0.873840, 0.298259, -0.383986> + 19350: <-0.854324, 0.297287, -0.426323> + 19351: <-0.866124, 0.256999, -0.428698> + 19352: <-0.873840, 0.298259, -0.383986> + 19353: <-0.859750, 0.339005, -0.381976> + 19354: <-0.840684, 0.337391, -0.423577> + 19355: <-0.854324, 0.297287, -0.426323> + 19356: <-0.859750, 0.339005, -0.381976> + 19357: <-0.843551, 0.379751, -0.379751> + 19358: <-0.825100, 0.377345, -0.420500> + 19359: <-0.840684, 0.337391, -0.423577> + 19360: <-0.843551, 0.379751, -0.379751> + 19361: <-0.825100, 0.420500, -0.377345> + 19362: <-0.807394, 0.417202, -0.417202> + 19363: <-0.825100, 0.377345, -0.420500> + 19364: <-0.825100, 0.420500, -0.377345> + 19365: <-0.804154, 0.461239, -0.374961> + 19366: <-0.787421, 0.456900, -0.413777> + 19367: <-0.807394, 0.417202, -0.417202> + 19368: <-0.804154, 0.461239, -0.374961> + 19369: <-0.780568, 0.501802, -0.372705> + 19370: <-0.764964, 0.496395, -0.410392> + 19371: <-0.787421, 0.456900, -0.413777> + 19372: <-0.780568, 0.501802, -0.372705> + 19373: <-0.754169, 0.542028, -0.370721> + 19374: <-0.739812, 0.535518, -0.407307> + 19375: <-0.764964, 0.496395, -0.410392> + 19376: <-0.754169, 0.542028, -0.370721> + 19377: <-0.724825, 0.581661, -0.369188> + 19378: <-0.711772, 0.574008, -0.404839> + 19379: <-0.739812, 0.535518, -0.407307> + 19380: <-0.724825, 0.581661, -0.369188> + 19381: <-0.692544, 0.620305, -0.368246> + 19382: <-0.680859, 0.611427, -0.403223> + 19383: <-0.711772, 0.574008, -0.404839> + 19384: <-0.680859, -0.611427, -0.403223> + 19385: <-0.711772, -0.574008, -0.404839> + 19386: <-0.697667, -0.565794, -0.439475> + 19387: <-0.668312, -0.601963, -0.437036> + 19388: <-0.711772, -0.574008, -0.404839> + 19389: <-0.739812, -0.535518, -0.407307> + 19390: <-0.724109, -0.528478, -0.443145> + 19391: <-0.697667, -0.565794, -0.439475> + 19392: <-0.739812, -0.535518, -0.407307> + 19393: <-0.764964, -0.496395, -0.410392> + 19394: <-0.747688, -0.490534, -0.447593> + 19395: <-0.724109, -0.528478, -0.443145> + 19396: <-0.764964, -0.496395, -0.410392> + 19397: <-0.787421, -0.456900, -0.413777> + 19398: <-0.768679, -0.452290, -0.452290> + 19399: <-0.747688, -0.490534, -0.447593> + 19400: <-0.787421, -0.456900, -0.413777> + 19401: <-0.807394, -0.417202, -0.417202> + 19402: <-0.787421, -0.413777, -0.456900> + 19403: <-0.768679, -0.452290, -0.452290> + 19404: <-0.807394, -0.417202, -0.417202> + 19405: <-0.825100, -0.377345, -0.420500> + 19406: <-0.804154, -0.374961, -0.461239> + 19407: <-0.787421, -0.413777, -0.456900> + 19408: <-0.825100, -0.377345, -0.420500> + 19409: <-0.840684, -0.337391, -0.423577> + 19410: <-0.819039, -0.335801, -0.465202> + 19411: <-0.804154, -0.374961, -0.461239> + 19412: <-0.840684, -0.337391, -0.423577> + 19413: <-0.854324, -0.297287, -0.426323> + 19414: <-0.832128, -0.296339, -0.468770> + 19415: <-0.819039, -0.335801, -0.465202> + 19416: <-0.854324, -0.297287, -0.426323> + 19417: <-0.866124, -0.256999, -0.428698> + 19418: <-0.843490, -0.256606, -0.471888> + 19419: <-0.832128, -0.296339, -0.468770> + 19420: <-0.866124, -0.256999, -0.428698> + 19421: <-0.876208, -0.216320, -0.430657> + 19422: <-0.853230, -0.216413, -0.474515> + 19423: <-0.843490, -0.256606, -0.471888> + 19424: <-0.876208, -0.216320, -0.430657> + 19425: <-0.884654, -0.175026, -0.432149> + 19426: <-0.861426, -0.175453, -0.476614> + 19427: <-0.853230, -0.216413, -0.474515> + 19428: <-0.884654, -0.175026, -0.432149> + 19429: <-0.891405, -0.132911, -0.433281> + 19430: <-0.868033, -0.133553, -0.478208> + 19431: <-0.861426, -0.175453, -0.476614> + 19432: <-0.891405, -0.132911, -0.433281> + 19433: <-0.896437, -0.089787, -0.433981> + 19434: <-0.872976, -0.090429, -0.479307> + 19435: <-0.868033, -0.133553, -0.478208> + 19436: <-0.896437, -0.089787, -0.433981> + 19437: <-0.899583, -0.045443, -0.434379> + 19438: <-0.876095, -0.045871, -0.479951> + 19439: <-0.872976, -0.090429, -0.479307> + 19440: <-0.899583, -0.045443, -0.434379> + 19441: <-0.900655, 0.000000, -0.434534> + 19442: <-0.877182, 0.000000, -0.480158> + 19443: <-0.876095, -0.045871, -0.479951> + 19444: <-0.900655, 0.000000, -0.434534> + 19445: <-0.899583, 0.045443, -0.434379> + 19446: <-0.876095, 0.045871, -0.479951> + 19447: <-0.877182, 0.000000, -0.480158> + 19448: <-0.899583, 0.045443, -0.434379> + 19449: <-0.896437, 0.089787, -0.433981> + 19450: <-0.872976, 0.090429, -0.479307> + 19451: <-0.876095, 0.045871, -0.479951> + 19452: <-0.896437, 0.089787, -0.433981> + 19453: <-0.891416, 0.132913, -0.433256> + 19454: <-0.868033, 0.133553, -0.478208> + 19455: <-0.872976, 0.090429, -0.479307> + 19456: <-0.891416, 0.132913, -0.433256> + 19457: <-0.884654, 0.175026, -0.432149> + 19458: <-0.861426, 0.175453, -0.476614> + 19459: <-0.868033, 0.133553, -0.478208> + 19460: <-0.884654, 0.175026, -0.432149> + 19461: <-0.876208, 0.216320, -0.430657> + 19462: <-0.853230, 0.216413, -0.474515> + 19463: <-0.861426, 0.175453, -0.476614> + 19464: <-0.876208, 0.216320, -0.430657> + 19465: <-0.866124, 0.256999, -0.428698> + 19466: <-0.843490, 0.256606, -0.471888> + 19467: <-0.853230, 0.216413, -0.474515> + 19468: <-0.866124, 0.256999, -0.428698> + 19469: <-0.854324, 0.297287, -0.426323> + 19470: <-0.832128, 0.296339, -0.468770> + 19471: <-0.843490, 0.256606, -0.471888> + 19472: <-0.854324, 0.297287, -0.426323> + 19473: <-0.840684, 0.337391, -0.423577> + 19474: <-0.819039, 0.335801, -0.465202> + 19475: <-0.832128, 0.296339, -0.468770> + 19476: <-0.840684, 0.337391, -0.423577> + 19477: <-0.825100, 0.377345, -0.420500> + 19478: <-0.804154, 0.374961, -0.461239> + 19479: <-0.819039, 0.335801, -0.465202> + 19480: <-0.825100, 0.377345, -0.420500> + 19481: <-0.807394, 0.417202, -0.417202> + 19482: <-0.787421, 0.413777, -0.456900> + 19483: <-0.804154, 0.374961, -0.461239> + 19484: <-0.807394, 0.417202, -0.417202> + 19485: <-0.787421, 0.456900, -0.413777> + 19486: <-0.768679, 0.452290, -0.452290> + 19487: <-0.787421, 0.413777, -0.456900> + 19488: <-0.787421, 0.456900, -0.413777> + 19489: <-0.764964, 0.496395, -0.410392> + 19490: <-0.747688, 0.490534, -0.447593> + 19491: <-0.768679, 0.452290, -0.452290> + 19492: <-0.764964, 0.496395, -0.410392> + 19493: <-0.739812, 0.535518, -0.407307> + 19494: <-0.724109, 0.528478, -0.443145> + 19495: <-0.747688, 0.490534, -0.447593> + 19496: <-0.739812, 0.535518, -0.407307> + 19497: <-0.711772, 0.574008, -0.404839> + 19498: <-0.697667, 0.565794, -0.439475> + 19499: <-0.724109, 0.528478, -0.443145> + 19500: <-0.711772, 0.574008, -0.404839> + 19501: <-0.680859, 0.611427, -0.403223> + 19502: <-0.668312, 0.601963, -0.437036> + 19503: <-0.697667, 0.565794, -0.439475> + 19504: <-0.668312, -0.601963, -0.437036> + 19505: <-0.697667, -0.565794, -0.439475> + 19506: <-0.682532, -0.557037, -0.473139> + 19507: <-0.655217, -0.591920, -0.469385> + 19508: <-0.697667, -0.565794, -0.439475> + 19509: <-0.724109, -0.528478, -0.443145> + 19510: <-0.706895, -0.520969, -0.478425> + 19511: <-0.682532, -0.557037, -0.473139> + 19512: <-0.724109, -0.528478, -0.443145> + 19513: <-0.747688, -0.490534, -0.447593> + 19514: <-0.728461, -0.484430, -0.484430> + 19515: <-0.706895, -0.520969, -0.478425> + 19516: <-0.747688, -0.490534, -0.447593> + 19517: <-0.768679, -0.452290, -0.452290> + 19518: <-0.747688, -0.447593, -0.490534> + 19519: <-0.728461, -0.484430, -0.484430> + 19520: <-0.768679, -0.452290, -0.452290> + 19521: <-0.787421, -0.413777, -0.456900> + 19522: <-0.764964, -0.410392, -0.496395> + 19523: <-0.747688, -0.447593, -0.490534> + 19524: <-0.787421, -0.413777, -0.456900> + 19525: <-0.804154, -0.374961, -0.461239> + 19526: <-0.780568, -0.372705, -0.501802> + 19527: <-0.764964, -0.410392, -0.496395> + 19528: <-0.804154, -0.374961, -0.461239> + 19529: <-0.819039, -0.335801, -0.465202> + 19530: <-0.794636, -0.334310, -0.506745> + 19531: <-0.780568, -0.372705, -0.501802> + 19532: <-0.819039, -0.335801, -0.465202> + 19533: <-0.832128, -0.296339, -0.468770> + 19534: <-0.807082, -0.295457, -0.511198> + 19535: <-0.794636, -0.334310, -0.506745> + 19536: <-0.832128, -0.296339, -0.468770> + 19537: <-0.843490, -0.256606, -0.471888> + 19538: <-0.817925, -0.256243, -0.515110> + 19539: <-0.807082, -0.295457, -0.511198> + 19540: <-0.843490, -0.256606, -0.471888> + 19541: <-0.853230, -0.216413, -0.474515> + 19542: <-0.827263, -0.216475, -0.518435> + 19543: <-0.817925, -0.256243, -0.515110> + 19544: <-0.853230, -0.216413, -0.474515> + 19545: <-0.861426, -0.175453, -0.476614> + 19546: <-0.835133, -0.175853, -0.521180> + 19547: <-0.827263, -0.216475, -0.518435> + 19548: <-0.861426, -0.175453, -0.476614> + 19549: <-0.868033, -0.133553, -0.478208> + 19550: <-0.841527, -0.134100, -0.523307> + 19551: <-0.835133, -0.175853, -0.521180> + 19552: <-0.868033, -0.133553, -0.478208> + 19553: <-0.872976, -0.090429, -0.479307> + 19554: <-0.846324, -0.091008, -0.524836> + 19555: <-0.841527, -0.134100, -0.523307> + 19556: <-0.872976, -0.090429, -0.479307> + 19557: <-0.876095, -0.045871, -0.479951> + 19558: <-0.849378, -0.046267, -0.525753> + 19559: <-0.846324, -0.091008, -0.524836> + 19560: <-0.876095, -0.045871, -0.479951> + 19561: <-0.877182, 0.000000, -0.480158> + 19562: <-0.850434, 0.000000, -0.526081> + 19563: <-0.849378, -0.046267, -0.525753> + 19564: <-0.877182, 0.000000, -0.480158> + 19565: <-0.876095, 0.045871, -0.479951> + 19566: <-0.849378, 0.046267, -0.525753> + 19567: <-0.850434, 0.000000, -0.526081> + 19568: <-0.876095, 0.045871, -0.479951> + 19569: <-0.872976, 0.090429, -0.479307> + 19570: <-0.846324, 0.091008, -0.524836> + 19571: <-0.849378, 0.046267, -0.525753> + 19572: <-0.872976, 0.090429, -0.479307> + 19573: <-0.868033, 0.133553, -0.478208> + 19574: <-0.841527, 0.134100, -0.523307> + 19575: <-0.846324, 0.091008, -0.524836> + 19576: <-0.868033, 0.133553, -0.478208> + 19577: <-0.861426, 0.175453, -0.476614> + 19578: <-0.835133, 0.175853, -0.521180> + 19579: <-0.841527, 0.134100, -0.523307> + 19580: <-0.861426, 0.175453, -0.476614> + 19581: <-0.853230, 0.216413, -0.474515> + 19582: <-0.827263, 0.216475, -0.518435> + 19583: <-0.835133, 0.175853, -0.521180> + 19584: <-0.853230, 0.216413, -0.474515> + 19585: <-0.843490, 0.256606, -0.471888> + 19586: <-0.817925, 0.256243, -0.515110> + 19587: <-0.827263, 0.216475, -0.518435> + 19588: <-0.843490, 0.256606, -0.471888> + 19589: <-0.832128, 0.296339, -0.468770> + 19590: <-0.807082, 0.295457, -0.511198> + 19591: <-0.817925, 0.256243, -0.515110> + 19592: <-0.832128, 0.296339, -0.468770> + 19593: <-0.819039, 0.335801, -0.465202> + 19594: <-0.794627, 0.334337, -0.506740> + 19595: <-0.807082, 0.295457, -0.511198> + 19596: <-0.819039, 0.335801, -0.465202> + 19597: <-0.804154, 0.374961, -0.461239> + 19598: <-0.780568, 0.372705, -0.501802> + 19599: <-0.794627, 0.334337, -0.506740> + 19600: <-0.804154, 0.374961, -0.461239> + 19601: <-0.787421, 0.413777, -0.456900> + 19602: <-0.764964, 0.410392, -0.496395> + 19603: <-0.780568, 0.372705, -0.501802> + 19604: <-0.787421, 0.413777, -0.456900> + 19605: <-0.768679, 0.452290, -0.452290> + 19606: <-0.747688, 0.447593, -0.490534> + 19607: <-0.764964, 0.410392, -0.496395> + 19608: <-0.768679, 0.452290, -0.452290> + 19609: <-0.747688, 0.490534, -0.447593> + 19610: <-0.728461, 0.484430, -0.484430> + 19611: <-0.747688, 0.447593, -0.490534> + 19612: <-0.747688, 0.490534, -0.447593> + 19613: <-0.724109, 0.528478, -0.443145> + 19614: <-0.706895, 0.520969, -0.478425> + 19615: <-0.728461, 0.484430, -0.484430> + 19616: <-0.724109, 0.528478, -0.443145> + 19617: <-0.697667, 0.565794, -0.439475> + 19618: <-0.682532, 0.557037, -0.473139> + 19619: <-0.706895, 0.520969, -0.478425> + 19620: <-0.697667, 0.565794, -0.439475> + 19621: <-0.668312, 0.601963, -0.437036> + 19622: <-0.655217, 0.591920, -0.469385> + 19623: <-0.682532, 0.557037, -0.473139> + 19624: <-0.655217, -0.591920, -0.469385> + 19625: <-0.682532, -0.557037, -0.473139> + 19626: <-0.666144, -0.547882, -0.506040> + 19627: <-0.641397, -0.581456, -0.500519> + 19628: <-0.682532, -0.557037, -0.473139> + 19629: <-0.706895, -0.520969, -0.478425> + 19630: <-0.687856, -0.513252, -0.513252> + 19631: <-0.666144, -0.547882, -0.506040> + 19632: <-0.706895, -0.520969, -0.478425> + 19633: <-0.728461, -0.484430, -0.484430> + 19634: <-0.706895, -0.478425, -0.520969> + 19635: <-0.687856, -0.513252, -0.513252> + 19636: <-0.728461, -0.484430, -0.484430> + 19637: <-0.747688, -0.447593, -0.490534> + 19638: <-0.724109, -0.443145, -0.528478> + 19639: <-0.706895, -0.478425, -0.520969> + 19640: <-0.747688, -0.447593, -0.490534> + 19641: <-0.764964, -0.410392, -0.496395> + 19642: <-0.739812, -0.407307, -0.535518> + 19643: <-0.724109, -0.443145, -0.528478> + 19644: <-0.764964, -0.410392, -0.496395> + 19645: <-0.780568, -0.372705, -0.501802> + 19646: <-0.754169, -0.370721, -0.542028> + 19647: <-0.739812, -0.407307, -0.535518> + 19648: <-0.780568, -0.372705, -0.501802> + 19649: <-0.794636, -0.334310, -0.506745> + 19650: <-0.767292, -0.333090, -0.548009> + 19651: <-0.754169, -0.370721, -0.542028> + 19652: <-0.794636, -0.334310, -0.506745> + 19653: <-0.807082, -0.295457, -0.511198> + 19654: <-0.779017, -0.294729, -0.553415> + 19655: <-0.767292, -0.333090, -0.548009> + 19656: <-0.807082, -0.295457, -0.511198> + 19657: <-0.817925, -0.256243, -0.515110> + 19658: <-0.789266, -0.255937, -0.558172> + 19659: <-0.779017, -0.294729, -0.553415> + 19660: <-0.817925, -0.256243, -0.515110> + 19661: <-0.827263, -0.216475, -0.518435> + 19662: <-0.798110, -0.216534, -0.562257> + 19663: <-0.789266, -0.255937, -0.558172> + 19664: <-0.827263, -0.216475, -0.518435> + 19665: <-0.835133, -0.175853, -0.521180> + 19666: <-0.805587, -0.176188, -0.565675> + 19667: <-0.798110, -0.216534, -0.562257> + 19668: <-0.835133, -0.175853, -0.521180> + 19669: <-0.841527, -0.134100, -0.523307> + 19670: <-0.811677, -0.134618, -0.568382> + 19671: <-0.805587, -0.176188, -0.565675> + 19672: <-0.841527, -0.134100, -0.523307> + 19673: <-0.846324, -0.091008, -0.524836> + 19674: <-0.816271, -0.091497, -0.570377> + 19675: <-0.811677, -0.134618, -0.568382> + 19676: <-0.846324, -0.091008, -0.524836> + 19677: <-0.849378, -0.046267, -0.525753> + 19678: <-0.819208, -0.046573, -0.571602> + 19679: <-0.816271, -0.091497, -0.570377> + 19680: <-0.849378, -0.046267, -0.525753> + 19681: <-0.850434, 0.000000, -0.526081> + 19682: <-0.820237, 0.000000, -0.572024> + 19683: <-0.819208, -0.046573, -0.571602> + 19684: <-0.850434, 0.000000, -0.526081> + 19685: <-0.849378, 0.046267, -0.525753> + 19686: <-0.819208, 0.046573, -0.571602> + 19687: <-0.820237, 0.000000, -0.572024> + 19688: <-0.849378, 0.046267, -0.525753> + 19689: <-0.846324, 0.091008, -0.524836> + 19690: <-0.816271, 0.091497, -0.570377> + 19691: <-0.819208, 0.046573, -0.571602> + 19692: <-0.846324, 0.091008, -0.524836> + 19693: <-0.841527, 0.134100, -0.523307> + 19694: <-0.811677, 0.134618, -0.568382> + 19695: <-0.816271, 0.091497, -0.570377> + 19696: <-0.841527, 0.134100, -0.523307> + 19697: <-0.835133, 0.175853, -0.521180> + 19698: <-0.805587, 0.176188, -0.565675> + 19699: <-0.811677, 0.134618, -0.568382> + 19700: <-0.835133, 0.175853, -0.521180> + 19701: <-0.827263, 0.216475, -0.518435> + 19702: <-0.798110, 0.216534, -0.562257> + 19703: <-0.805587, 0.176188, -0.565675> + 19704: <-0.827263, 0.216475, -0.518435> + 19705: <-0.817925, 0.256243, -0.515110> + 19706: <-0.789266, 0.255937, -0.558172> + 19707: <-0.798110, 0.216534, -0.562257> + 19708: <-0.817925, 0.256243, -0.515110> + 19709: <-0.807082, 0.295457, -0.511198> + 19710: <-0.779017, 0.294729, -0.553415> + 19711: <-0.789266, 0.255937, -0.558172> + 19712: <-0.807082, 0.295457, -0.511198> + 19713: <-0.794627, 0.334337, -0.506740> + 19714: <-0.767292, 0.333090, -0.548009> + 19715: <-0.779017, 0.294729, -0.553415> + 19716: <-0.794627, 0.334337, -0.506740> + 19717: <-0.780568, 0.372705, -0.501802> + 19718: <-0.754169, 0.370721, -0.542028> + 19719: <-0.767292, 0.333090, -0.548009> + 19720: <-0.780568, 0.372705, -0.501802> + 19721: <-0.764964, 0.410392, -0.496395> + 19722: <-0.739812, 0.407307, -0.535518> + 19723: <-0.754169, 0.370721, -0.542028> + 19724: <-0.764964, 0.410392, -0.496395> + 19725: <-0.747688, 0.447593, -0.490534> + 19726: <-0.724109, 0.443145, -0.528478> + 19727: <-0.739812, 0.407307, -0.535518> + 19728: <-0.747688, 0.447593, -0.490534> + 19729: <-0.728461, 0.484430, -0.484430> + 19730: <-0.706895, 0.478425, -0.520969> + 19731: <-0.724109, 0.443145, -0.528478> + 19732: <-0.728461, 0.484430, -0.484430> + 19733: <-0.706895, 0.520969, -0.478425> + 19734: <-0.687856, 0.513252, -0.513252> + 19735: <-0.706895, 0.478425, -0.520969> + 19736: <-0.706895, 0.520969, -0.478425> + 19737: <-0.682532, 0.557037, -0.473139> + 19738: <-0.666144, 0.547882, -0.506040> + 19739: <-0.687856, 0.513252, -0.513252> + 19740: <-0.682532, 0.557037, -0.473139> + 19741: <-0.655217, 0.591920, -0.469385> + 19742: <-0.641397, 0.581456, -0.500519> + 19743: <-0.666144, 0.547882, -0.506040> + 19744: <-0.641397, -0.581456, -0.500519> + 19745: <-0.666144, -0.547882, -0.506040> + 19746: <-0.647334, -0.538962, -0.538962> + 19747: <-0.625584, -0.571076, -0.531523> + 19748: <-0.666144, -0.547882, -0.506040> + 19749: <-0.687856, -0.513252, -0.513252> + 19750: <-0.666144, -0.506040, -0.547882> + 19751: <-0.647334, -0.538962, -0.538962> + 19752: <-0.687856, -0.513252, -0.513252> + 19753: <-0.706895, -0.478425, -0.520969> + 19754: <-0.682532, -0.473139, -0.557037> + 19755: <-0.666144, -0.506040, -0.547882> + 19756: <-0.706895, -0.478425, -0.520969> + 19757: <-0.724109, -0.443145, -0.528478> + 19758: <-0.697667, -0.439475, -0.565794> + 19759: <-0.682532, -0.473139, -0.557037> + 19760: <-0.724109, -0.443145, -0.528478> + 19761: <-0.739812, -0.407307, -0.535518> + 19762: <-0.711772, -0.404839, -0.574008> + 19763: <-0.697667, -0.439475, -0.565794> + 19764: <-0.739812, -0.407307, -0.535518> + 19765: <-0.754169, -0.370721, -0.542028> + 19766: <-0.724825, -0.369188, -0.581661> + 19767: <-0.711772, -0.404839, -0.574008> + 19768: <-0.754169, -0.370721, -0.542028> + 19769: <-0.767292, -0.333090, -0.548009> + 19770: <-0.736915, -0.332170, -0.588744> + 19771: <-0.724825, -0.369188, -0.581661> + 19772: <-0.767292, -0.333090, -0.548009> + 19773: <-0.779017, -0.294729, -0.553415> + 19774: <-0.747816, -0.294207, -0.595158> + 19775: <-0.736915, -0.332170, -0.588744> + 19776: <-0.779017, -0.294729, -0.553415> + 19777: <-0.789266, -0.255937, -0.558172> + 19778: <-0.757361, -0.255750, -0.600829> + 19779: <-0.747816, -0.294207, -0.595158> + 19780: <-0.789266, -0.255937, -0.558172> + 19781: <-0.798110, -0.216534, -0.562257> + 19782: <-0.765608, -0.216596, -0.605748> + 19783: <-0.757361, -0.255750, -0.600829> + 19784: <-0.798110, -0.216534, -0.562257> + 19785: <-0.805587, -0.176188, -0.565675> + 19786: <-0.772589, -0.176461, -0.609892> + 19787: <-0.765608, -0.216596, -0.605748> + 19788: <-0.805587, -0.176188, -0.565675> + 19789: <-0.811677, -0.134618, -0.568382> + 19790: <-0.778292, -0.135015, -0.613215> + 19791: <-0.772589, -0.176461, -0.609892> + 19792: <-0.811677, -0.134618, -0.568382> + 19793: <-0.816271, -0.091497, -0.570377> + 19794: <-0.782607, -0.091894, -0.615697> + 19795: <-0.778292, -0.135015, -0.613215> + 19796: <-0.816271, -0.091497, -0.570377> + 19797: <-0.819208, -0.046573, -0.571602> + 19798: <-0.785375, -0.046847, -0.617246> + 19799: <-0.782607, -0.091894, -0.615697> + 19800: <-0.819208, -0.046573, -0.571602> + 19801: <-0.820237, 0.000000, -0.572024> + 19802: <-0.786344, 0.000000, -0.617789> + 19803: <-0.785375, -0.046847, -0.617246> + 19804: <-0.820237, 0.000000, -0.572024> + 19805: <-0.819208, 0.046573, -0.571602> + 19806: <-0.785375, 0.046847, -0.617246> + 19807: <-0.786344, 0.000000, -0.617789> + 19808: <-0.819208, 0.046573, -0.571602> + 19809: <-0.816271, 0.091497, -0.570377> + 19810: <-0.782607, 0.091894, -0.615697> + 19811: <-0.785375, 0.046847, -0.617246> + 19812: <-0.816271, 0.091497, -0.570377> + 19813: <-0.811677, 0.134618, -0.568382> + 19814: <-0.778295, 0.134985, -0.613218> + 19815: <-0.782607, 0.091894, -0.615697> + 19816: <-0.811677, 0.134618, -0.568382> + 19817: <-0.805587, 0.176188, -0.565675> + 19818: <-0.772589, 0.176461, -0.609892> + 19819: <-0.778295, 0.134985, -0.613218> + 19820: <-0.805587, 0.176188, -0.565675> + 19821: <-0.798110, 0.216534, -0.562257> + 19822: <-0.765608, 0.216596, -0.605748> + 19823: <-0.772589, 0.176461, -0.609892> + 19824: <-0.798110, 0.216534, -0.562257> + 19825: <-0.789266, 0.255937, -0.558172> + 19826: <-0.757361, 0.255750, -0.600829> + 19827: <-0.765608, 0.216596, -0.605748> + 19828: <-0.789266, 0.255937, -0.558172> + 19829: <-0.779017, 0.294729, -0.553415> + 19830: <-0.747816, 0.294207, -0.595158> + 19831: <-0.757361, 0.255750, -0.600829> + 19832: <-0.779017, 0.294729, -0.553415> + 19833: <-0.767292, 0.333090, -0.548009> + 19834: <-0.736915, 0.332170, -0.588744> + 19835: <-0.747816, 0.294207, -0.595158> + 19836: <-0.767292, 0.333090, -0.548009> + 19837: <-0.754169, 0.370721, -0.542028> + 19838: <-0.724825, 0.369188, -0.581661> + 19839: <-0.736915, 0.332170, -0.588744> + 19840: <-0.754169, 0.370721, -0.542028> + 19841: <-0.739812, 0.407307, -0.535518> + 19842: <-0.711772, 0.404839, -0.574008> + 19843: <-0.724825, 0.369188, -0.581661> + 19844: <-0.739812, 0.407307, -0.535518> + 19845: <-0.724109, 0.443145, -0.528478> + 19846: <-0.697667, 0.439475, -0.565794> + 19847: <-0.711772, 0.404839, -0.574008> + 19848: <-0.724109, 0.443145, -0.528478> + 19849: <-0.706895, 0.478425, -0.520969> + 19850: <-0.682532, 0.473139, -0.557037> + 19851: <-0.697667, 0.439475, -0.565794> + 19852: <-0.706895, 0.478425, -0.520969> + 19853: <-0.687856, 0.513252, -0.513252> + 19854: <-0.666144, 0.506040, -0.547882> + 19855: <-0.682532, 0.473139, -0.557037> + 19856: <-0.687856, 0.513252, -0.513252> + 19857: <-0.666144, 0.547882, -0.506040> + 19858: <-0.647334, 0.538962, -0.538962> + 19859: <-0.666144, 0.506040, -0.547882> + 19860: <-0.666144, 0.547882, -0.506040> + 19861: <-0.641397, 0.581456, -0.500519> + 19862: <-0.625584, 0.571076, -0.531523> + 19863: <-0.647334, 0.538962, -0.538962> + 19864: <-0.625584, -0.571076, -0.531523> + 19865: <-0.647334, -0.538962, -0.538962> + 19866: <-0.625584, -0.531523, -0.571076> + 19867: <-0.607783, -0.561516, -0.561516> + 19868: <-0.647334, -0.538962, -0.538962> + 19869: <-0.666144, -0.506040, -0.547882> + 19870: <-0.641397, -0.500519, -0.581456> + 19871: <-0.625584, -0.531523, -0.571076> + 19872: <-0.666144, -0.506040, -0.547882> + 19873: <-0.682532, -0.473139, -0.557037> + 19874: <-0.655217, -0.469385, -0.591920> + 19875: <-0.641397, -0.500519, -0.581456> + 19876: <-0.682532, -0.473139, -0.557037> + 19877: <-0.697667, -0.439475, -0.565794> + 19878: <-0.668312, -0.437036, -0.601963> + 19879: <-0.655217, -0.469385, -0.591920> + 19880: <-0.697667, -0.439475, -0.565794> + 19881: <-0.711772, -0.404839, -0.574008> + 19882: <-0.680859, -0.403223, -0.611427> + 19883: <-0.668312, -0.437036, -0.601963> + 19884: <-0.711772, -0.404839, -0.574008> + 19885: <-0.724825, -0.369188, -0.581661> + 19886: <-0.692544, -0.368246, -0.620305> + 19887: <-0.680859, -0.403223, -0.611427> + 19888: <-0.724825, -0.369188, -0.581661> + 19889: <-0.736915, -0.332170, -0.588744> + 19890: <-0.703467, -0.331652, -0.628603> + 19891: <-0.692544, -0.368246, -0.620305> + 19892: <-0.736915, -0.332170, -0.588744> + 19893: <-0.747816, -0.294207, -0.595158> + 19894: <-0.713396, -0.293904, -0.636150> + 19895: <-0.703467, -0.331652, -0.628603> + 19896: <-0.747816, -0.294207, -0.595158> + 19897: <-0.757361, -0.255750, -0.600829> + 19898: <-0.722093, -0.255632, -0.642833> + 19899: <-0.713396, -0.293904, -0.636150> + 19900: <-0.757361, -0.255750, -0.600829> + 19901: <-0.765608, -0.216596, -0.605748> + 19902: <-0.729636, -0.216660, -0.648606> + 19903: <-0.722093, -0.255632, -0.642833> + 19904: <-0.765608, -0.216596, -0.605748> + 19905: <-0.772589, -0.176461, -0.609892> + 19906: <-0.736025, -0.176644, -0.653502> + 19907: <-0.729636, -0.216660, -0.648606> + 19908: <-0.772589, -0.176461, -0.609892> + 19909: <-0.778292, -0.135015, -0.613215> + 19910: <-0.741243, -0.135260, -0.657468> + 19911: <-0.736025, -0.176644, -0.653502> + 19912: <-0.778292, -0.135015, -0.613215> + 19913: <-0.782607, -0.091894, -0.615697> + 19914: <-0.745184, -0.092137, -0.660463> + 19915: <-0.741243, -0.135260, -0.657468> + 19916: <-0.782607, -0.091894, -0.615697> + 19917: <-0.785375, -0.046847, -0.617246> + 19918: <-0.747715, -0.046999, -0.662354> + 19919: <-0.745184, -0.092137, -0.660463> + 19920: <-0.785375, -0.046847, -0.617246> + 19921: <-0.786344, 0.000000, -0.617789> + 19922: <-0.748599, 0.000000, -0.663024> + 19923: <-0.747715, -0.046999, -0.662354> + 19924: <-0.786344, 0.000000, -0.617789> + 19925: <-0.785375, 0.046847, -0.617246> + 19926: <-0.747715, 0.046999, -0.662354> + 19927: <-0.748599, 0.000000, -0.663024> + 19928: <-0.785375, 0.046847, -0.617246> + 19929: <-0.782607, 0.091894, -0.615697> + 19930: <-0.745184, 0.092137, -0.660463> + 19931: <-0.747715, 0.046999, -0.662354> + 19932: <-0.782607, 0.091894, -0.615697> + 19933: <-0.778295, 0.134985, -0.613218> + 19934: <-0.741243, 0.135260, -0.657468> + 19935: <-0.745184, 0.092137, -0.660463> + 19936: <-0.778295, 0.134985, -0.613218> + 19937: <-0.772589, 0.176461, -0.609892> + 19938: <-0.736025, 0.176644, -0.653502> + 19939: <-0.741243, 0.135260, -0.657468> + 19940: <-0.772589, 0.176461, -0.609892> + 19941: <-0.765608, 0.216596, -0.605748> + 19942: <-0.729636, 0.216660, -0.648606> + 19943: <-0.736025, 0.176644, -0.653502> + 19944: <-0.765608, 0.216596, -0.605748> + 19945: <-0.757361, 0.255750, -0.600829> + 19946: <-0.722093, 0.255632, -0.642833> + 19947: <-0.729636, 0.216660, -0.648606> + 19948: <-0.757361, 0.255750, -0.600829> + 19949: <-0.747816, 0.294207, -0.595158> + 19950: <-0.713396, 0.293904, -0.636150> + 19951: <-0.722093, 0.255632, -0.642833> + 19952: <-0.747816, 0.294207, -0.595158> + 19953: <-0.736915, 0.332170, -0.588744> + 19954: <-0.703467, 0.331652, -0.628603> + 19955: <-0.713396, 0.293904, -0.636150> + 19956: <-0.736915, 0.332170, -0.588744> + 19957: <-0.724825, 0.369188, -0.581661> + 19958: <-0.692544, 0.368246, -0.620305> + 19959: <-0.703467, 0.331652, -0.628603> + 19960: <-0.724825, 0.369188, -0.581661> + 19961: <-0.711772, 0.404839, -0.574008> + 19962: <-0.680859, 0.403223, -0.611427> + 19963: <-0.692544, 0.368246, -0.620305> + 19964: <-0.711772, 0.404839, -0.574008> + 19965: <-0.697667, 0.439475, -0.565794> + 19966: <-0.668312, 0.437036, -0.601963> + 19967: <-0.680859, 0.403223, -0.611427> + 19968: <-0.697667, 0.439475, -0.565794> + 19969: <-0.682532, 0.473139, -0.557037> + 19970: <-0.655217, 0.469385, -0.591920> + 19971: <-0.668312, 0.437036, -0.601963> + 19972: <-0.682532, 0.473139, -0.557037> + 19973: <-0.666144, 0.506040, -0.547882> + 19974: <-0.641397, 0.500519, -0.581456> + 19975: <-0.655217, 0.469385, -0.591920> + 19976: <-0.666144, 0.506040, -0.547882> + 19977: <-0.647334, 0.538962, -0.538962> + 19978: <-0.625584, 0.531523, -0.571076> + 19979: <-0.641397, 0.500519, -0.581456> + 19980: <-0.647334, 0.538962, -0.538962> + 19981: <-0.625584, 0.571076, -0.531523> + 19982: <-0.607783, 0.561516, -0.561516> + 19983: <-0.625584, 0.531523, -0.571076> + 19984: <-0.577330, -0.577360, 0.577360> + 19985: <-0.588539, -0.554296, 0.588539> + 19986: <-0.607783, -0.561516, 0.561516> + 19987: <-0.588539, -0.588539, 0.554296> + 19988: <-0.588539, -0.554296, 0.588539> + 19989: <-0.601188, -0.526447, 0.601188> + 19990: <-0.625584, -0.531523, 0.571076> + 19991: <-0.607783, -0.561516, 0.561516> + 19992: <-0.601188, -0.526447, 0.601188> + 19993: <-0.613379, -0.497527, 0.613379> + 19994: <-0.641397, -0.500519, 0.581456> + 19995: <-0.625584, -0.531523, 0.571076> + 19996: <-0.613379, -0.497527, 0.613379> + 19997: <-0.624909, -0.467950, 0.624909> + 19998: <-0.655217, -0.469385, 0.591920> + 19999: <-0.641397, -0.500519, 0.581456> + 20000: <-0.624909, -0.467950, 0.624909> + 20001: <-0.636296, -0.436181, 0.636296> + 20002: <-0.668312, -0.437036, 0.601963> + 20003: <-0.655217, -0.469385, 0.591920> + 20004: <-0.636296, -0.436181, 0.636296> + 20005: <-0.647247, -0.402668, 0.647247> + 20006: <-0.680859, -0.403223, 0.611427> + 20007: <-0.668312, -0.437036, 0.601963> + 20008: <-0.647247, -0.402668, 0.647247> + 20009: <-0.657511, -0.367912, 0.657511> + 20010: <-0.692544, -0.368246, 0.620305> + 20011: <-0.680859, -0.403223, 0.611427> + 20012: <-0.657511, -0.367912, 0.657511> + 20013: <-0.667130, -0.331474, 0.667130> + 20014: <-0.703467, -0.331652, 0.628603> + 20015: <-0.692544, -0.368246, 0.620305> + 20016: <-0.667130, -0.331474, 0.667130> + 20017: <-0.675899, -0.293804, 0.675899> + 20018: <-0.713396, -0.293904, 0.636150> + 20019: <-0.703467, -0.331652, 0.628603> + 20020: <-0.675899, -0.293804, 0.675899> + 20021: <-0.683620, -0.255594, 0.683620> + 20022: <-0.722093, -0.255632, 0.642833> + 20023: <-0.713396, -0.293904, 0.636150> + 20024: <-0.683620, -0.255594, 0.683620> + 20025: <-0.690307, -0.216684, 0.690307> + 20026: <-0.729636, -0.216660, 0.648606> + 20027: <-0.722093, -0.255632, 0.642833> + 20028: <-0.690307, -0.216684, 0.690307> + 20029: <-0.695976, -0.176733, 0.695976> + 20030: <-0.736025, -0.176644, 0.653502> + 20031: <-0.729636, -0.216660, 0.648606> + 20032: <-0.695976, -0.176733, 0.695976> + 20033: <-0.700600, -0.135353, 0.700600> + 20034: <-0.741243, -0.135260, 0.657468> + 20035: <-0.736025, -0.176644, 0.653502> + 20036: <-0.700600, -0.135353, 0.700600> + 20037: <-0.704093, -0.092231, 0.704093> + 20038: <-0.745184, -0.092137, 0.660463> + 20039: <-0.741243, -0.135260, 0.657468> + 20040: <-0.704093, -0.092231, 0.704093> + 20041: <-0.706323, -0.047060, 0.706323> + 20042: <-0.747715, -0.046999, 0.662354> + 20043: <-0.745184, -0.092137, 0.660463> + 20044: <-0.706323, -0.047060, 0.706323> + 20045: <-0.707107, 0.000000, 0.707107> + 20046: <-0.748599, 0.000000, 0.663024> + 20047: <-0.747715, -0.046999, 0.662354> + 20048: <-0.707107, 0.000000, 0.707107> + 20049: <-0.706323, 0.047060, 0.706323> + 20050: <-0.747715, 0.046999, 0.662354> + 20051: <-0.748599, 0.000000, 0.663024> + 20052: <-0.706323, 0.047060, 0.706323> + 20053: <-0.704093, 0.092231, 0.704093> + 20054: <-0.745184, 0.092137, 0.660463> + 20055: <-0.747715, 0.046999, 0.662354> + 20056: <-0.704093, 0.092231, 0.704093> + 20057: <-0.700600, 0.135353, 0.700600> + 20058: <-0.741243, 0.135260, 0.657468> + 20059: <-0.745184, 0.092137, 0.660463> + 20060: <-0.700600, 0.135353, 0.700600> + 20061: <-0.695976, 0.176733, 0.695976> + 20062: <-0.736025, 0.176644, 0.653502> + 20063: <-0.741243, 0.135260, 0.657468> + 20064: <-0.695976, 0.176733, 0.695976> + 20065: <-0.690307, 0.216684, 0.690307> + 20066: <-0.729636, 0.216660, 0.648606> + 20067: <-0.736025, 0.176644, 0.653502> + 20068: <-0.690307, 0.216684, 0.690307> + 20069: <-0.683620, 0.255594, 0.683620> + 20070: <-0.722093, 0.255632, 0.642833> + 20071: <-0.729636, 0.216660, 0.648606> + 20072: <-0.683620, 0.255594, 0.683620> + 20073: <-0.675899, 0.293804, 0.675899> + 20074: <-0.713396, 0.293904, 0.636150> + 20075: <-0.722093, 0.255632, 0.642833> + 20076: <-0.675899, 0.293804, 0.675899> + 20077: <-0.667130, 0.331474, 0.667130> + 20078: <-0.703467, 0.331652, 0.628603> + 20079: <-0.713396, 0.293904, 0.636150> + 20080: <-0.667130, 0.331474, 0.667130> + 20081: <-0.657511, 0.367912, 0.657511> + 20082: <-0.692544, 0.368246, 0.620305> + 20083: <-0.703467, 0.331652, 0.628603> + 20084: <-0.657511, 0.367912, 0.657511> + 20085: <-0.647247, 0.402668, 0.647247> + 20086: <-0.680859, 0.403223, 0.611427> + 20087: <-0.692544, 0.368246, 0.620305> + 20088: <-0.647247, 0.402668, 0.647247> + 20089: <-0.636296, 0.436181, 0.636296> + 20090: <-0.668312, 0.437036, 0.601963> + 20091: <-0.680859, 0.403223, 0.611427> + 20092: <-0.636296, 0.436181, 0.636296> + 20093: <-0.624909, 0.467950, 0.624909> + 20094: <-0.655217, 0.469385, 0.591920> + 20095: <-0.668312, 0.437036, 0.601963> + 20096: <-0.624909, 0.467950, 0.624909> + 20097: <-0.613379, 0.497527, 0.613379> + 20098: <-0.641406, 0.500496, 0.581465> + 20099: <-0.655217, 0.469385, 0.591920> + 20100: <-0.613379, 0.497527, 0.613379> + 20101: <-0.601188, 0.526447, 0.601188> + 20102: <-0.625584, 0.531523, 0.571076> + 20103: <-0.641406, 0.500496, 0.581465> + 20104: <-0.601188, 0.526447, 0.601188> + 20105: <-0.588539, 0.554296, 0.588539> + 20106: <-0.607783, 0.561516, 0.561516> + 20107: <-0.625584, 0.531523, 0.571076> + 20108: <-0.588539, 0.554296, 0.588539> + 20109: <-0.577350, 0.577350, 0.577350> + 20110: <-0.588539, 0.588539, 0.554296> + 20111: <-0.607783, 0.561516, 0.561516> + 20112: <-0.607783, 0.561516, 0.561516> + 20113: <-0.588539, 0.588539, 0.554296> + 20114: <-0.601188, 0.601188, 0.526447> + 20115: <-0.625584, 0.571076, 0.531523> + 20116: <-0.625584, 0.571076, 0.531523> + 20117: <-0.601188, 0.601188, 0.526447> + 20118: <-0.613379, 0.613379, 0.497527> + 20119: <-0.641397, 0.581456, 0.500519> + 20120: <-0.641397, 0.581456, 0.500519> + 20121: <-0.613379, 0.613379, 0.497527> + 20122: <-0.624909, 0.624909, 0.467950> + 20123: <-0.655217, 0.591920, 0.469385> + 20124: <-0.655217, 0.591920, 0.469385> + 20125: <-0.624909, 0.624909, 0.467950> + 20126: <-0.636296, 0.636296, 0.436181> + 20127: <-0.668312, 0.601963, 0.437036> + 20128: <-0.668312, 0.601963, 0.437036> + 20129: <-0.636296, 0.636296, 0.436181> + 20130: <-0.647247, 0.647247, 0.402668> + 20131: <-0.680859, 0.611427, 0.403223> + 20132: <-0.680859, 0.611427, 0.403223> + 20133: <-0.647247, 0.647247, 0.402668> + 20134: <-0.657511, 0.657511, 0.367912> + 20135: <-0.692544, 0.620305, 0.368246> + 20136: <-0.692544, 0.620305, 0.368246> + 20137: <-0.657511, 0.657511, 0.367912> + 20138: <-0.667130, 0.667130, 0.331474> + 20139: <-0.703467, 0.628603, 0.331652> + 20140: <-0.703467, 0.628603, 0.331652> + 20141: <-0.667130, 0.667130, 0.331474> + 20142: <-0.675899, 0.675899, 0.293804> + 20143: <-0.713396, 0.636150, 0.293904> + 20144: <-0.713396, 0.636150, 0.293904> + 20145: <-0.675899, 0.675899, 0.293804> + 20146: <-0.683620, 0.683620, 0.255594> + 20147: <-0.722093, 0.642833, 0.255632> + 20148: <-0.722093, 0.642833, 0.255632> + 20149: <-0.683620, 0.683620, 0.255594> + 20150: <-0.690307, 0.690307, 0.216684> + 20151: <-0.729636, 0.648606, 0.216660> + 20152: <-0.729636, 0.648606, 0.216660> + 20153: <-0.690307, 0.690307, 0.216684> + 20154: <-0.695976, 0.695976, 0.176733> + 20155: <-0.736025, 0.653502, 0.176644> + 20156: <-0.736025, 0.653502, 0.176644> + 20157: <-0.695976, 0.695976, 0.176733> + 20158: <-0.700600, 0.700600, 0.135353> + 20159: <-0.741243, 0.657468, 0.135260> + 20160: <-0.741243, 0.657468, 0.135260> + 20161: <-0.700600, 0.700600, 0.135353> + 20162: <-0.704093, 0.704093, 0.092231> + 20163: <-0.745184, 0.660463, 0.092137> + 20164: <-0.745184, 0.660463, 0.092137> + 20165: <-0.704093, 0.704093, 0.092231> + 20166: <-0.706323, 0.706323, 0.047060> + 20167: <-0.747715, 0.662354, 0.046999> + 20168: <-0.747715, 0.662354, 0.046999> + 20169: <-0.706323, 0.706323, 0.047060> + 20170: <-0.707107, 0.707107, 0.000000> + 20171: <-0.748599, 0.663024, 0.000000> + 20172: <-0.748599, 0.663024, 0.000000> + 20173: <-0.707107, 0.707107, 0.000000> + 20174: <-0.706323, 0.706323, -0.047060> + 20175: <-0.747715, 0.662354, -0.046999> + 20176: <-0.747715, 0.662354, -0.046999> + 20177: <-0.706323, 0.706323, -0.047060> + 20178: <-0.704093, 0.704093, -0.092231> + 20179: <-0.745184, 0.660463, -0.092137> + 20180: <-0.745184, 0.660463, -0.092137> + 20181: <-0.704093, 0.704093, -0.092231> + 20182: <-0.700600, 0.700600, -0.135353> + 20183: <-0.741243, 0.657468, -0.135260> + 20184: <-0.741243, 0.657468, -0.135260> + 20185: <-0.700600, 0.700600, -0.135353> + 20186: <-0.695976, 0.695976, -0.176733> + 20187: <-0.736025, 0.653502, -0.176644> + 20188: <-0.736025, 0.653502, -0.176644> + 20189: <-0.695976, 0.695976, -0.176733> + 20190: <-0.690307, 0.690307, -0.216684> + 20191: <-0.729636, 0.648606, -0.216660> + 20192: <-0.729636, 0.648606, -0.216660> + 20193: <-0.690307, 0.690307, -0.216684> + 20194: <-0.683620, 0.683620, -0.255594> + 20195: <-0.722093, 0.642833, -0.255632> + 20196: <-0.722093, 0.642833, -0.255632> + 20197: <-0.683620, 0.683620, -0.255594> + 20198: <-0.675899, 0.675899, -0.293804> + 20199: <-0.713396, 0.636150, -0.293904> + 20200: <-0.713396, 0.636150, -0.293904> + 20201: <-0.675899, 0.675899, -0.293804> + 20202: <-0.667130, 0.667130, -0.331474> + 20203: <-0.703467, 0.628603, -0.331652> + 20204: <-0.703467, 0.628603, -0.331652> + 20205: <-0.667130, 0.667130, -0.331474> + 20206: <-0.657511, 0.657511, -0.367912> + 20207: <-0.692544, 0.620305, -0.368246> + 20208: <-0.692544, 0.620305, -0.368246> + 20209: <-0.657511, 0.657511, -0.367912> + 20210: <-0.647247, 0.647247, -0.402668> + 20211: <-0.680859, 0.611427, -0.403223> + 20212: <-0.680859, 0.611427, -0.403223> + 20213: <-0.647247, 0.647247, -0.402668> + 20214: <-0.636296, 0.636296, -0.436181> + 20215: <-0.668312, 0.601963, -0.437036> + 20216: <-0.668312, 0.601963, -0.437036> + 20217: <-0.636296, 0.636296, -0.436181> + 20218: <-0.624909, 0.624909, -0.467950> + 20219: <-0.655217, 0.591920, -0.469385> + 20220: <-0.655217, 0.591920, -0.469385> + 20221: <-0.624909, 0.624909, -0.467950> + 20222: <-0.613379, 0.613379, -0.497527> + 20223: <-0.641397, 0.581456, -0.500519> + 20224: <-0.641397, 0.581456, -0.500519> + 20225: <-0.613379, 0.613379, -0.497527> + 20226: <-0.601168, 0.601199, -0.526457> + 20227: <-0.625584, 0.571076, -0.531523> + 20228: <-0.625584, 0.571076, -0.531523> + 20229: <-0.601168, 0.601199, -0.526457> + 20230: <-0.588539, 0.588539, -0.554296> + 20231: <-0.607783, 0.561516, -0.561516> + 20232: <-0.607783, 0.561516, -0.561516> + 20233: <-0.588539, 0.588539, -0.554296> + 20234: <-0.577350, 0.577350, -0.577350> + 20235: <-0.588539, 0.554296, -0.588539> + 20236: <-0.625584, 0.531523, -0.571076> + 20237: <-0.607783, 0.561516, -0.561516> + 20238: <-0.588539, 0.554296, -0.588539> + 20239: <-0.601188, 0.526447, -0.601188> + 20240: <-0.641397, 0.500519, -0.581456> + 20241: <-0.625584, 0.531523, -0.571076> + 20242: <-0.601188, 0.526447, -0.601188> + 20243: <-0.613379, 0.497527, -0.613379> + 20244: <-0.655217, 0.469385, -0.591920> + 20245: <-0.641397, 0.500519, -0.581456> + 20246: <-0.613379, 0.497527, -0.613379> + 20247: <-0.624909, 0.467950, -0.624909> + 20248: <-0.668312, 0.437036, -0.601963> + 20249: <-0.655217, 0.469385, -0.591920> + 20250: <-0.624909, 0.467950, -0.624909> + 20251: <-0.636296, 0.436181, -0.636296> + 20252: <-0.680859, 0.403223, -0.611427> + 20253: <-0.668312, 0.437036, -0.601963> + 20254: <-0.636296, 0.436181, -0.636296> + 20255: <-0.647247, 0.402668, -0.647247> + 20256: <-0.692544, 0.368246, -0.620305> + 20257: <-0.680859, 0.403223, -0.611427> + 20258: <-0.647247, 0.402668, -0.647247> + 20259: <-0.657511, 0.367912, -0.657511> + 20260: <-0.703467, 0.331652, -0.628603> + 20261: <-0.692544, 0.368246, -0.620305> + 20262: <-0.657511, 0.367912, -0.657511> + 20263: <-0.667130, 0.331474, -0.667130> + 20264: <-0.713396, 0.293904, -0.636150> + 20265: <-0.703467, 0.331652, -0.628603> + 20266: <-0.667130, 0.331474, -0.667130> + 20267: <-0.675899, 0.293804, -0.675899> + 20268: <-0.722093, 0.255632, -0.642833> + 20269: <-0.713396, 0.293904, -0.636150> + 20270: <-0.675899, 0.293804, -0.675899> + 20271: <-0.683620, 0.255594, -0.683620> + 20272: <-0.729636, 0.216660, -0.648606> + 20273: <-0.722093, 0.255632, -0.642833> + 20274: <-0.683620, 0.255594, -0.683620> + 20275: <-0.690307, 0.216684, -0.690307> + 20276: <-0.736025, 0.176644, -0.653502> + 20277: <-0.729636, 0.216660, -0.648606> + 20278: <-0.690307, 0.216684, -0.690307> + 20279: <-0.695976, 0.176733, -0.695976> + 20280: <-0.741243, 0.135260, -0.657468> + 20281: <-0.736025, 0.176644, -0.653502> + 20282: <-0.695976, 0.176733, -0.695976> + 20283: <-0.700600, 0.135353, -0.700600> + 20284: <-0.745184, 0.092137, -0.660463> + 20285: <-0.741243, 0.135260, -0.657468> + 20286: <-0.700600, 0.135353, -0.700600> + 20287: <-0.704093, 0.092231, -0.704093> + 20288: <-0.747715, 0.046999, -0.662354> + 20289: <-0.745184, 0.092137, -0.660463> + 20290: <-0.704093, 0.092231, -0.704093> + 20291: <-0.706323, 0.047060, -0.706323> + 20292: <-0.748599, 0.000000, -0.663024> + 20293: <-0.747715, 0.046999, -0.662354> + 20294: <-0.706323, 0.047060, -0.706323> + 20295: <-0.707107, 0.000000, -0.707107> + 20296: <-0.747715, -0.046999, -0.662354> + 20297: <-0.748599, 0.000000, -0.663024> + 20298: <-0.707107, 0.000000, -0.707107> + 20299: <-0.706323, -0.047060, -0.706323> + 20300: <-0.745184, -0.092137, -0.660463> + 20301: <-0.747715, -0.046999, -0.662354> + 20302: <-0.706323, -0.047060, -0.706323> + 20303: <-0.704093, -0.092231, -0.704093> + 20304: <-0.741243, -0.135260, -0.657468> + 20305: <-0.745184, -0.092137, -0.660463> + 20306: <-0.704093, -0.092231, -0.704093> + 20307: <-0.700600, -0.135353, -0.700600> + 20308: <-0.736025, -0.176644, -0.653502> + 20309: <-0.741243, -0.135260, -0.657468> + 20310: <-0.700600, -0.135353, -0.700600> + 20311: <-0.695976, -0.176733, -0.695976> + 20312: <-0.729636, -0.216660, -0.648606> + 20313: <-0.736025, -0.176644, -0.653502> + 20314: <-0.695976, -0.176733, -0.695976> + 20315: <-0.690307, -0.216684, -0.690307> + 20316: <-0.722093, -0.255632, -0.642833> + 20317: <-0.729636, -0.216660, -0.648606> + 20318: <-0.690307, -0.216684, -0.690307> + 20319: <-0.683620, -0.255594, -0.683620> + 20320: <-0.713396, -0.293904, -0.636150> + 20321: <-0.722093, -0.255632, -0.642833> + 20322: <-0.683620, -0.255594, -0.683620> + 20323: <-0.675899, -0.293804, -0.675899> + 20324: <-0.703467, -0.331652, -0.628603> + 20325: <-0.713396, -0.293904, -0.636150> + 20326: <-0.675899, -0.293804, -0.675899> + 20327: <-0.667130, -0.331474, -0.667130> + 20328: <-0.692544, -0.368246, -0.620305> + 20329: <-0.703467, -0.331652, -0.628603> + 20330: <-0.667130, -0.331474, -0.667130> + 20331: <-0.657511, -0.367912, -0.657511> + 20332: <-0.680859, -0.403223, -0.611427> + 20333: <-0.692544, -0.368246, -0.620305> + 20334: <-0.657511, -0.367912, -0.657511> + 20335: <-0.647247, -0.402668, -0.647247> + 20336: <-0.668312, -0.437036, -0.601963> + 20337: <-0.680859, -0.403223, -0.611427> + 20338: <-0.647247, -0.402668, -0.647247> + 20339: <-0.636296, -0.436181, -0.636296> + 20340: <-0.655217, -0.469385, -0.591920> + 20341: <-0.668312, -0.437036, -0.601963> + 20342: <-0.636296, -0.436181, -0.636296> + 20343: <-0.624909, -0.467950, -0.624909> + 20344: <-0.641397, -0.500519, -0.581456> + 20345: <-0.655217, -0.469385, -0.591920> + 20346: <-0.624909, -0.467950, -0.624909> + 20347: <-0.613379, -0.497527, -0.613379> + 20348: <-0.625584, -0.531523, -0.571076> + 20349: <-0.641397, -0.500519, -0.581456> + 20350: <-0.613379, -0.497527, -0.613379> + 20351: <-0.601199, -0.526457, -0.601168> + 20352: <-0.607783, -0.561516, -0.561516> + 20353: <-0.625584, -0.531523, -0.571076> + 20354: <-0.601199, -0.526457, -0.601168> + 20355: <-0.588539, -0.554296, -0.588539> + 20356: <-0.588539, -0.588539, -0.554296> + 20357: <-0.607783, -0.561516, -0.561516> + 20358: <-0.588539, -0.554296, -0.588539> + 20359: <-0.577360, -0.577330, -0.577360> + 20360: <-0.601188, -0.601188, -0.526447> + 20361: <-0.625584, -0.571076, -0.531523> + 20362: <-0.607783, -0.561516, -0.561516> + 20363: <-0.588539, -0.588539, -0.554296> + 20364: <-0.613379, -0.613379, -0.497527> + 20365: <-0.641397, -0.581456, -0.500519> + 20366: <-0.625584, -0.571076, -0.531523> + 20367: <-0.601188, -0.601188, -0.526447> + 20368: <-0.624909, -0.624909, -0.467950> + 20369: <-0.655217, -0.591920, -0.469385> + 20370: <-0.641397, -0.581456, -0.500519> + 20371: <-0.613379, -0.613379, -0.497527> + 20372: <-0.636296, -0.636296, -0.436181> + 20373: <-0.668312, -0.601963, -0.437036> + 20374: <-0.655217, -0.591920, -0.469385> + 20375: <-0.624909, -0.624909, -0.467950> + 20376: <-0.647247, -0.647247, -0.402668> + 20377: <-0.680859, -0.611427, -0.403223> + 20378: <-0.668312, -0.601963, -0.437036> + 20379: <-0.636296, -0.636296, -0.436181> + 20380: <-0.657511, -0.657511, -0.367912> + 20381: <-0.692544, -0.620305, -0.368246> + 20382: <-0.680859, -0.611427, -0.403223> + 20383: <-0.647247, -0.647247, -0.402668> + 20384: <-0.667130, -0.667130, -0.331474> + 20385: <-0.703467, -0.628603, -0.331652> + 20386: <-0.692544, -0.620305, -0.368246> + 20387: <-0.657511, -0.657511, -0.367912> + 20388: <-0.675899, -0.675899, -0.293804> + 20389: <-0.713396, -0.636150, -0.293904> + 20390: <-0.703467, -0.628603, -0.331652> + 20391: <-0.667130, -0.667130, -0.331474> + 20392: <-0.683620, -0.683620, -0.255594> + 20393: <-0.722093, -0.642833, -0.255632> + 20394: <-0.713396, -0.636150, -0.293904> + 20395: <-0.675899, -0.675899, -0.293804> + 20396: <-0.690307, -0.690307, -0.216684> + 20397: <-0.729636, -0.648606, -0.216660> + 20398: <-0.722093, -0.642833, -0.255632> + 20399: <-0.683620, -0.683620, -0.255594> + 20400: <-0.695976, -0.695976, -0.176733> + 20401: <-0.736025, -0.653502, -0.176644> + 20402: <-0.729636, -0.648606, -0.216660> + 20403: <-0.690307, -0.690307, -0.216684> + 20404: <-0.700600, -0.700600, -0.135353> + 20405: <-0.741243, -0.657468, -0.135260> + 20406: <-0.736025, -0.653502, -0.176644> + 20407: <-0.695976, -0.695976, -0.176733> + 20408: <-0.704093, -0.704093, -0.092231> + 20409: <-0.745184, -0.660463, -0.092137> + 20410: <-0.741243, -0.657468, -0.135260> + 20411: <-0.700600, -0.700600, -0.135353> + 20412: <-0.706323, -0.706323, -0.047060> + 20413: <-0.747715, -0.662354, -0.046999> + 20414: <-0.745184, -0.660463, -0.092137> + 20415: <-0.704093, -0.704093, -0.092231> + 20416: <-0.707107, -0.707107, 0.000000> + 20417: <-0.748599, -0.663024, 0.000000> + 20418: <-0.747715, -0.662354, -0.046999> + 20419: <-0.706323, -0.706323, -0.047060> + 20420: <-0.706323, -0.706323, 0.047060> + 20421: <-0.747715, -0.662354, 0.046999> + 20422: <-0.748599, -0.663024, 0.000000> + 20423: <-0.707107, -0.707107, 0.000000> + 20424: <-0.704093, -0.704093, 0.092231> + 20425: <-0.745184, -0.660463, 0.092137> + 20426: <-0.747715, -0.662354, 0.046999> + 20427: <-0.706323, -0.706323, 0.047060> + 20428: <-0.700600, -0.700600, 0.135353> + 20429: <-0.741243, -0.657468, 0.135260> + 20430: <-0.745184, -0.660463, 0.092137> + 20431: <-0.704093, -0.704093, 0.092231> + 20432: <-0.695976, -0.695976, 0.176733> + 20433: <-0.736025, -0.653502, 0.176644> + 20434: <-0.741243, -0.657468, 0.135260> + 20435: <-0.700600, -0.700600, 0.135353> + 20436: <-0.690307, -0.690307, 0.216684> + 20437: <-0.729622, -0.648624, 0.216656> + 20438: <-0.736025, -0.653502, 0.176644> + 20439: <-0.695976, -0.695976, 0.176733> + 20440: <-0.683620, -0.683620, 0.255594> + 20441: <-0.722093, -0.642833, 0.255632> + 20442: <-0.729622, -0.648624, 0.216656> + 20443: <-0.690307, -0.690307, 0.216684> + 20444: <-0.675899, -0.675899, 0.293804> + 20445: <-0.713396, -0.636150, 0.293904> + 20446: <-0.722093, -0.642833, 0.255632> + 20447: <-0.683620, -0.683620, 0.255594> + 20448: <-0.667130, -0.667130, 0.331474> + 20449: <-0.703467, -0.628603, 0.331652> + 20450: <-0.713396, -0.636150, 0.293904> + 20451: <-0.675899, -0.675899, 0.293804> + 20452: <-0.657511, -0.657511, 0.367912> + 20453: <-0.692544, -0.620305, 0.368246> + 20454: <-0.703467, -0.628603, 0.331652> + 20455: <-0.667130, -0.667130, 0.331474> + 20456: <-0.647247, -0.647247, 0.402668> + 20457: <-0.680859, -0.611427, 0.403223> + 20458: <-0.692544, -0.620305, 0.368246> + 20459: <-0.657511, -0.657511, 0.367912> + 20460: <-0.636296, -0.636296, 0.436181> + 20461: <-0.668312, -0.601963, 0.437036> + 20462: <-0.680859, -0.611427, 0.403223> + 20463: <-0.647247, -0.647247, 0.402668> + 20464: <-0.624909, -0.624909, 0.467950> + 20465: <-0.655217, -0.591920, 0.469385> + 20466: <-0.668312, -0.601963, 0.437036> + 20467: <-0.636296, -0.636296, 0.436181> + 20468: <-0.613379, -0.613379, 0.497527> + 20469: <-0.641397, -0.581456, 0.500519> + 20470: <-0.655217, -0.591920, 0.469385> + 20471: <-0.624909, -0.624909, 0.467950> + 20472: <-0.601199, -0.601168, 0.526457> + 20473: <-0.625584, -0.571076, 0.531523> + 20474: <-0.641397, -0.581456, 0.500519> + 20475: <-0.613379, -0.613379, 0.497527> + 20476: <-0.588539, -0.588539, 0.554296> + 20477: <-0.607783, -0.561516, 0.561516> + 20478: <-0.625584, -0.571076, 0.531523> + 20479: <-0.601199, -0.601168, 0.526457> + 20480: < 0.561516, -0.561516, 0.607783> + 20481: < 0.571076, -0.531523, 0.625584> + 20482: < 0.538962, -0.538962, 0.647334> + 20483: < 0.531523, -0.571076, 0.625584> + 20484: < 0.571076, -0.531523, 0.625584> + 20485: < 0.581456, -0.500519, 0.641396> + 20486: < 0.547882, -0.506040, 0.666144> + 20487: < 0.538962, -0.538962, 0.647334> + 20488: < 0.581456, -0.500519, 0.641396> + 20489: < 0.591920, -0.469385, 0.655217> + 20490: < 0.557037, -0.473139, 0.682532> + 20491: < 0.547882, -0.506040, 0.666144> + 20492: < 0.591920, -0.469385, 0.655217> + 20493: < 0.601963, -0.437036, 0.668312> + 20494: < 0.565794, -0.439475, 0.697667> + 20495: < 0.557037, -0.473139, 0.682532> + 20496: < 0.601963, -0.437036, 0.668312> + 20497: < 0.611427, -0.403223, 0.680859> + 20498: < 0.574008, -0.404839, 0.711772> + 20499: < 0.565794, -0.439475, 0.697667> + 20500: < 0.611427, -0.403223, 0.680859> + 20501: < 0.620305, -0.368246, 0.692544> + 20502: < 0.581661, -0.369188, 0.724825> + 20503: < 0.574008, -0.404839, 0.711772> + 20504: < 0.620305, -0.368246, 0.692544> + 20505: < 0.628603, -0.331652, 0.703467> + 20506: < 0.588738, -0.332197, 0.736907> + 20507: < 0.581661, -0.369188, 0.724825> + 20508: < 0.628603, -0.331652, 0.703467> + 20509: < 0.636150, -0.293904, 0.713396> + 20510: < 0.595158, -0.294207, 0.747816> + 20511: < 0.588738, -0.332197, 0.736907> + 20512: < 0.636150, -0.293904, 0.713396> + 20513: < 0.642833, -0.255632, 0.722093> + 20514: < 0.600829, -0.255750, 0.757361> + 20515: < 0.595158, -0.294207, 0.747816> + 20516: < 0.642833, -0.255632, 0.722093> + 20517: < 0.648606, -0.216660, 0.729636> + 20518: < 0.605748, -0.216596, 0.765608> + 20519: < 0.600829, -0.255750, 0.757361> + 20520: < 0.648606, -0.216660, 0.729636> + 20521: < 0.653502, -0.176644, 0.736025> + 20522: < 0.609892, -0.176461, 0.772589> + 20523: < 0.605748, -0.216596, 0.765608> + 20524: < 0.653502, -0.176644, 0.736025> + 20525: < 0.657468, -0.135260, 0.741243> + 20526: < 0.613196, -0.135018, 0.778306> + 20527: < 0.609892, -0.176461, 0.772589> + 20528: < 0.657468, -0.135260, 0.741243> + 20529: < 0.660463, -0.092137, 0.745184> + 20530: < 0.615697, -0.091894, 0.782607> + 20531: < 0.613196, -0.135018, 0.778306> + 20532: < 0.660463, -0.092137, 0.745184> + 20533: < 0.662354, -0.046999, 0.747715> + 20534: < 0.617246, -0.046847, 0.785375> + 20535: < 0.615697, -0.091894, 0.782607> + 20536: < 0.662354, -0.046999, 0.747715> + 20537: < 0.663024, 0.000000, 0.748599> + 20538: < 0.617789, 0.000000, 0.786344> + 20539: < 0.617246, -0.046847, 0.785375> + 20540: < 0.663024, 0.000000, 0.748599> + 20541: < 0.662354, 0.046999, 0.747715> + 20542: < 0.617246, 0.046847, 0.785375> + 20543: < 0.617789, 0.000000, 0.786344> + 20544: < 0.662354, 0.046999, 0.747715> + 20545: < 0.660463, 0.092137, 0.745184> + 20546: < 0.615697, 0.091894, 0.782607> + 20547: < 0.617246, 0.046847, 0.785375> + 20548: < 0.660463, 0.092137, 0.745184> + 20549: < 0.657468, 0.135260, 0.741243> + 20550: < 0.613196, 0.135018, 0.778306> + 20551: < 0.615697, 0.091894, 0.782607> + 20552: < 0.657468, 0.135260, 0.741243> + 20553: < 0.653502, 0.176644, 0.736025> + 20554: < 0.609892, 0.176461, 0.772589> + 20555: < 0.613196, 0.135018, 0.778306> + 20556: < 0.653502, 0.176644, 0.736025> + 20557: < 0.648606, 0.216660, 0.729636> + 20558: < 0.605748, 0.216596, 0.765608> + 20559: < 0.609892, 0.176461, 0.772589> + 20560: < 0.648606, 0.216660, 0.729636> + 20561: < 0.642833, 0.255632, 0.722093> + 20562: < 0.600829, 0.255750, 0.757361> + 20563: < 0.605748, 0.216596, 0.765608> + 20564: < 0.642833, 0.255632, 0.722093> + 20565: < 0.636150, 0.293904, 0.713396> + 20566: < 0.595158, 0.294207, 0.747816> + 20567: < 0.600829, 0.255750, 0.757361> + 20568: < 0.636150, 0.293904, 0.713396> + 20569: < 0.628603, 0.331652, 0.703467> + 20570: < 0.588744, 0.332170, 0.736915> + 20571: < 0.595158, 0.294207, 0.747816> + 20572: < 0.628603, 0.331652, 0.703467> + 20573: < 0.620305, 0.368246, 0.692544> + 20574: < 0.581661, 0.369188, 0.724825> + 20575: < 0.588744, 0.332170, 0.736915> + 20576: < 0.620305, 0.368246, 0.692544> + 20577: < 0.611427, 0.403223, 0.680859> + 20578: < 0.574008, 0.404839, 0.711772> + 20579: < 0.581661, 0.369188, 0.724825> + 20580: < 0.611427, 0.403223, 0.680859> + 20581: < 0.601963, 0.437036, 0.668312> + 20582: < 0.565794, 0.439475, 0.697667> + 20583: < 0.574008, 0.404839, 0.711772> + 20584: < 0.601963, 0.437036, 0.668312> + 20585: < 0.591920, 0.469385, 0.655217> + 20586: < 0.557037, 0.473139, 0.682532> + 20587: < 0.565794, 0.439475, 0.697667> + 20588: < 0.591920, 0.469385, 0.655217> + 20589: < 0.581456, 0.500519, 0.641396> + 20590: < 0.547882, 0.506040, 0.666144> + 20591: < 0.557037, 0.473139, 0.682532> + 20592: < 0.581456, 0.500519, 0.641396> + 20593: < 0.571076, 0.531523, 0.625584> + 20594: < 0.538962, 0.538962, 0.647334> + 20595: < 0.547882, 0.506040, 0.666144> + 20596: < 0.571076, 0.531523, 0.625584> + 20597: < 0.561516, 0.561516, 0.607783> + 20598: < 0.531523, 0.571076, 0.625584> + 20599: < 0.538962, 0.538962, 0.647334> + 20600: < 0.531523, -0.571076, 0.625584> + 20601: < 0.538962, -0.538962, 0.647334> + 20602: < 0.506040, -0.547882, 0.666144> + 20603: < 0.500519, -0.581456, 0.641396> + 20604: < 0.538962, -0.538962, 0.647334> + 20605: < 0.547882, -0.506040, 0.666144> + 20606: < 0.513252, -0.513252, 0.687856> + 20607: < 0.506040, -0.547882, 0.666144> + 20608: < 0.547882, -0.506040, 0.666144> + 20609: < 0.557037, -0.473139, 0.682532> + 20610: < 0.520969, -0.478425, 0.706895> + 20611: < 0.513252, -0.513252, 0.687856> + 20612: < 0.557037, -0.473139, 0.682532> + 20613: < 0.565794, -0.439475, 0.697667> + 20614: < 0.528478, -0.443145, 0.724109> + 20615: < 0.520969, -0.478425, 0.706895> + 20616: < 0.565794, -0.439475, 0.697667> + 20617: < 0.574008, -0.404839, 0.711772> + 20618: < 0.535518, -0.407307, 0.739812> + 20619: < 0.528478, -0.443145, 0.724109> + 20620: < 0.574008, -0.404839, 0.711772> + 20621: < 0.581661, -0.369188, 0.724825> + 20622: < 0.542028, -0.370721, 0.754169> + 20623: < 0.535518, -0.407307, 0.739812> + 20624: < 0.581661, -0.369188, 0.724825> + 20625: < 0.588738, -0.332197, 0.736907> + 20626: < 0.548009, -0.333090, 0.767292> + 20627: < 0.542028, -0.370721, 0.754169> + 20628: < 0.588738, -0.332197, 0.736907> + 20629: < 0.595158, -0.294207, 0.747816> + 20630: < 0.553415, -0.294729, 0.779017> + 20631: < 0.548009, -0.333090, 0.767292> + 20632: < 0.595158, -0.294207, 0.747816> + 20633: < 0.600829, -0.255750, 0.757361> + 20634: < 0.558172, -0.255937, 0.789266> + 20635: < 0.553415, -0.294729, 0.779017> + 20636: < 0.600829, -0.255750, 0.757361> + 20637: < 0.605748, -0.216596, 0.765608> + 20638: < 0.562257, -0.216534, 0.798110> + 20639: < 0.558172, -0.255937, 0.789266> + 20640: < 0.605748, -0.216596, 0.765608> + 20641: < 0.609892, -0.176461, 0.772589> + 20642: < 0.565675, -0.176188, 0.805587> + 20643: < 0.562257, -0.216534, 0.798110> + 20644: < 0.609892, -0.176461, 0.772589> + 20645: < 0.613196, -0.135018, 0.778306> + 20646: < 0.568382, -0.134618, 0.811677> + 20647: < 0.565675, -0.176188, 0.805587> + 20648: < 0.613196, -0.135018, 0.778306> + 20649: < 0.615697, -0.091894, 0.782607> + 20650: < 0.570377, -0.091497, 0.816271> + 20651: < 0.568382, -0.134618, 0.811677> + 20652: < 0.615697, -0.091894, 0.782607> + 20653: < 0.617246, -0.046847, 0.785375> + 20654: < 0.571602, -0.046573, 0.819208> + 20655: < 0.570377, -0.091497, 0.816271> + 20656: < 0.617246, -0.046847, 0.785375> + 20657: < 0.617789, 0.000000, 0.786344> + 20658: < 0.572024, 0.000000, 0.820237> + 20659: < 0.571602, -0.046573, 0.819208> + 20660: < 0.617789, 0.000000, 0.786344> + 20661: < 0.617246, 0.046847, 0.785375> + 20662: < 0.571602, 0.046573, 0.819208> + 20663: < 0.572024, 0.000000, 0.820237> + 20664: < 0.617246, 0.046847, 0.785375> + 20665: < 0.615697, 0.091894, 0.782607> + 20666: < 0.570377, 0.091497, 0.816271> + 20667: < 0.571602, 0.046573, 0.819208> + 20668: < 0.615697, 0.091894, 0.782607> + 20669: < 0.613196, 0.135018, 0.778306> + 20670: < 0.568382, 0.134618, 0.811677> + 20671: < 0.570377, 0.091497, 0.816271> + 20672: < 0.613196, 0.135018, 0.778306> + 20673: < 0.609892, 0.176461, 0.772589> + 20674: < 0.565675, 0.176188, 0.805587> + 20675: < 0.568382, 0.134618, 0.811677> + 20676: < 0.609892, 0.176461, 0.772589> + 20677: < 0.605748, 0.216596, 0.765608> + 20678: < 0.562257, 0.216534, 0.798110> + 20679: < 0.565675, 0.176188, 0.805587> + 20680: < 0.605748, 0.216596, 0.765608> + 20681: < 0.600829, 0.255750, 0.757361> + 20682: < 0.558172, 0.255937, 0.789266> + 20683: < 0.562257, 0.216534, 0.798110> + 20684: < 0.600829, 0.255750, 0.757361> + 20685: < 0.595158, 0.294207, 0.747816> + 20686: < 0.553415, 0.294729, 0.779017> + 20687: < 0.558172, 0.255937, 0.789266> + 20688: < 0.595158, 0.294207, 0.747816> + 20689: < 0.588744, 0.332170, 0.736915> + 20690: < 0.548009, 0.333090, 0.767292> + 20691: < 0.553415, 0.294729, 0.779017> + 20692: < 0.588744, 0.332170, 0.736915> + 20693: < 0.581661, 0.369188, 0.724825> + 20694: < 0.542028, 0.370721, 0.754169> + 20695: < 0.548009, 0.333090, 0.767292> + 20696: < 0.581661, 0.369188, 0.724825> + 20697: < 0.574008, 0.404839, 0.711772> + 20698: < 0.535518, 0.407307, 0.739812> + 20699: < 0.542028, 0.370721, 0.754169> + 20700: < 0.574008, 0.404839, 0.711772> + 20701: < 0.565794, 0.439475, 0.697667> + 20702: < 0.528478, 0.443145, 0.724109> + 20703: < 0.535518, 0.407307, 0.739812> + 20704: < 0.565794, 0.439475, 0.697667> + 20705: < 0.557037, 0.473139, 0.682532> + 20706: < 0.520969, 0.478425, 0.706895> + 20707: < 0.528478, 0.443145, 0.724109> + 20708: < 0.557037, 0.473139, 0.682532> + 20709: < 0.547882, 0.506040, 0.666144> + 20710: < 0.513252, 0.513252, 0.687856> + 20711: < 0.520969, 0.478425, 0.706895> + 20712: < 0.547882, 0.506040, 0.666144> + 20713: < 0.538962, 0.538962, 0.647334> + 20714: < 0.506040, 0.547882, 0.666144> + 20715: < 0.513252, 0.513252, 0.687856> + 20716: < 0.538962, 0.538962, 0.647334> + 20717: < 0.531523, 0.571076, 0.625584> + 20718: < 0.500519, 0.581456, 0.641396> + 20719: < 0.506040, 0.547882, 0.666144> + 20720: < 0.500519, -0.581456, 0.641396> + 20721: < 0.506040, -0.547882, 0.666144> + 20722: < 0.473139, -0.557037, 0.682532> + 20723: < 0.469385, -0.591920, 0.655217> + 20724: < 0.506040, -0.547882, 0.666144> + 20725: < 0.513252, -0.513252, 0.687856> + 20726: < 0.478425, -0.520969, 0.706895> + 20727: < 0.473139, -0.557037, 0.682532> + 20728: < 0.513252, -0.513252, 0.687856> + 20729: < 0.520969, -0.478425, 0.706895> + 20730: < 0.484430, -0.484430, 0.728461> + 20731: < 0.478425, -0.520969, 0.706895> + 20732: < 0.520969, -0.478425, 0.706895> + 20733: < 0.528478, -0.443145, 0.724109> + 20734: < 0.490534, -0.447593, 0.747688> + 20735: < 0.484430, -0.484430, 0.728461> + 20736: < 0.528478, -0.443145, 0.724109> + 20737: < 0.535518, -0.407307, 0.739812> + 20738: < 0.496395, -0.410392, 0.764964> + 20739: < 0.490534, -0.447593, 0.747688> + 20740: < 0.535518, -0.407307, 0.739812> + 20741: < 0.542028, -0.370721, 0.754169> + 20742: < 0.501802, -0.372705, 0.780568> + 20743: < 0.496395, -0.410392, 0.764964> + 20744: < 0.542028, -0.370721, 0.754169> + 20745: < 0.548009, -0.333090, 0.767292> + 20746: < 0.506740, -0.334337, 0.794627> + 20747: < 0.501802, -0.372705, 0.780568> + 20748: < 0.548009, -0.333090, 0.767292> + 20749: < 0.553415, -0.294729, 0.779017> + 20750: < 0.511198, -0.295457, 0.807082> + 20751: < 0.506740, -0.334337, 0.794627> + 20752: < 0.553415, -0.294729, 0.779017> + 20753: < 0.558172, -0.255937, 0.789266> + 20754: < 0.515110, -0.256243, 0.817925> + 20755: < 0.511198, -0.295457, 0.807082> + 20756: < 0.558172, -0.255937, 0.789266> + 20757: < 0.562257, -0.216534, 0.798110> + 20758: < 0.518435, -0.216475, 0.827263> + 20759: < 0.515110, -0.256243, 0.817925> + 20760: < 0.562257, -0.216534, 0.798110> + 20761: < 0.565675, -0.176188, 0.805587> + 20762: < 0.521180, -0.175853, 0.835133> + 20763: < 0.518435, -0.216475, 0.827263> + 20764: < 0.565675, -0.176188, 0.805587> + 20765: < 0.568382, -0.134618, 0.811677> + 20766: < 0.523307, -0.134100, 0.841527> + 20767: < 0.521180, -0.175853, 0.835133> + 20768: < 0.568382, -0.134618, 0.811677> + 20769: < 0.570377, -0.091497, 0.816271> + 20770: < 0.524836, -0.091008, 0.846324> + 20771: < 0.523307, -0.134100, 0.841527> + 20772: < 0.570377, -0.091497, 0.816271> + 20773: < 0.571602, -0.046573, 0.819208> + 20774: < 0.525753, -0.046267, 0.849378> + 20775: < 0.524836, -0.091008, 0.846324> + 20776: < 0.571602, -0.046573, 0.819208> + 20777: < 0.572024, 0.000000, 0.820237> + 20778: < 0.526081, 0.000000, 0.850434> + 20779: < 0.525753, -0.046267, 0.849378> + 20780: < 0.572024, 0.000000, 0.820237> + 20781: < 0.571602, 0.046573, 0.819208> + 20782: < 0.525753, 0.046267, 0.849378> + 20783: < 0.526081, 0.000000, 0.850434> + 20784: < 0.571602, 0.046573, 0.819208> + 20785: < 0.570377, 0.091497, 0.816271> + 20786: < 0.524836, 0.091008, 0.846324> + 20787: < 0.525753, 0.046267, 0.849378> + 20788: < 0.570377, 0.091497, 0.816271> + 20789: < 0.568382, 0.134618, 0.811677> + 20790: < 0.523307, 0.134100, 0.841527> + 20791: < 0.524836, 0.091008, 0.846324> + 20792: < 0.568382, 0.134618, 0.811677> + 20793: < 0.565675, 0.176188, 0.805587> + 20794: < 0.521180, 0.175853, 0.835133> + 20795: < 0.523307, 0.134100, 0.841527> + 20796: < 0.565675, 0.176188, 0.805587> + 20797: < 0.562257, 0.216534, 0.798110> + 20798: < 0.518435, 0.216475, 0.827263> + 20799: < 0.521180, 0.175853, 0.835133> + 20800: < 0.562257, 0.216534, 0.798110> + 20801: < 0.558172, 0.255937, 0.789266> + 20802: < 0.515110, 0.256243, 0.817925> + 20803: < 0.518435, 0.216475, 0.827263> + 20804: < 0.558172, 0.255937, 0.789266> + 20805: < 0.553415, 0.294729, 0.779017> + 20806: < 0.511198, 0.295457, 0.807082> + 20807: < 0.515110, 0.256243, 0.817925> + 20808: < 0.553415, 0.294729, 0.779017> + 20809: < 0.548009, 0.333090, 0.767292> + 20810: < 0.506740, 0.334337, 0.794627> + 20811: < 0.511198, 0.295457, 0.807082> + 20812: < 0.548009, 0.333090, 0.767292> + 20813: < 0.542028, 0.370721, 0.754169> + 20814: < 0.501802, 0.372705, 0.780568> + 20815: < 0.506740, 0.334337, 0.794627> + 20816: < 0.542028, 0.370721, 0.754169> + 20817: < 0.535518, 0.407307, 0.739812> + 20818: < 0.496395, 0.410392, 0.764964> + 20819: < 0.501802, 0.372705, 0.780568> + 20820: < 0.535518, 0.407307, 0.739812> + 20821: < 0.528478, 0.443145, 0.724109> + 20822: < 0.490534, 0.447593, 0.747688> + 20823: < 0.496395, 0.410392, 0.764964> + 20824: < 0.528478, 0.443145, 0.724109> + 20825: < 0.520969, 0.478425, 0.706895> + 20826: < 0.484430, 0.484430, 0.728461> + 20827: < 0.490534, 0.447593, 0.747688> + 20828: < 0.520969, 0.478425, 0.706895> + 20829: < 0.513252, 0.513252, 0.687856> + 20830: < 0.478425, 0.520969, 0.706895> + 20831: < 0.484430, 0.484430, 0.728461> + 20832: < 0.513252, 0.513252, 0.687856> + 20833: < 0.506040, 0.547882, 0.666144> + 20834: < 0.473139, 0.557037, 0.682532> + 20835: < 0.478425, 0.520969, 0.706895> + 20836: < 0.506040, 0.547882, 0.666144> + 20837: < 0.500519, 0.581456, 0.641396> + 20838: < 0.469385, 0.591920, 0.655217> + 20839: < 0.473139, 0.557037, 0.682532> + 20840: < 0.469385, -0.591920, 0.655217> + 20841: < 0.473139, -0.557037, 0.682532> + 20842: < 0.439475, -0.565794, 0.697667> + 20843: < 0.437036, -0.601963, 0.668312> + 20844: < 0.473139, -0.557037, 0.682532> + 20845: < 0.478425, -0.520969, 0.706895> + 20846: < 0.443145, -0.528478, 0.724109> + 20847: < 0.439475, -0.565794, 0.697667> + 20848: < 0.478425, -0.520969, 0.706895> + 20849: < 0.484430, -0.484430, 0.728461> + 20850: < 0.447593, -0.490534, 0.747688> + 20851: < 0.443145, -0.528478, 0.724109> + 20852: < 0.484430, -0.484430, 0.728461> + 20853: < 0.490534, -0.447593, 0.747688> + 20854: < 0.452290, -0.452290, 0.768679> + 20855: < 0.447593, -0.490534, 0.747688> + 20856: < 0.490534, -0.447593, 0.747688> + 20857: < 0.496395, -0.410392, 0.764964> + 20858: < 0.456900, -0.413777, 0.787421> + 20859: < 0.452290, -0.452290, 0.768679> + 20860: < 0.496395, -0.410392, 0.764964> + 20861: < 0.501802, -0.372705, 0.780568> + 20862: < 0.461239, -0.374961, 0.804154> + 20863: < 0.456900, -0.413777, 0.787421> + 20864: < 0.501802, -0.372705, 0.780568> + 20865: < 0.506740, -0.334337, 0.794627> + 20866: < 0.465202, -0.335801, 0.819039> + 20867: < 0.461239, -0.374961, 0.804154> + 20868: < 0.506740, -0.334337, 0.794627> + 20869: < 0.511198, -0.295457, 0.807082> + 20870: < 0.468770, -0.296339, 0.832128> + 20871: < 0.465202, -0.335801, 0.819039> + 20872: < 0.511198, -0.295457, 0.807082> + 20873: < 0.515110, -0.256243, 0.817925> + 20874: < 0.471888, -0.256606, 0.843490> + 20875: < 0.468770, -0.296339, 0.832128> + 20876: < 0.515110, -0.256243, 0.817925> + 20877: < 0.518435, -0.216475, 0.827263> + 20878: < 0.474515, -0.216413, 0.853230> + 20879: < 0.471888, -0.256606, 0.843490> + 20880: < 0.518435, -0.216475, 0.827263> + 20881: < 0.521180, -0.175853, 0.835133> + 20882: < 0.476614, -0.175453, 0.861426> + 20883: < 0.474515, -0.216413, 0.853230> + 20884: < 0.521180, -0.175853, 0.835133> + 20885: < 0.523307, -0.134100, 0.841527> + 20886: < 0.478208, -0.133553, 0.868033> + 20887: < 0.476614, -0.175453, 0.861426> + 20888: < 0.523307, -0.134100, 0.841527> + 20889: < 0.524836, -0.091008, 0.846324> + 20890: < 0.479307, -0.090429, 0.872976> + 20891: < 0.478208, -0.133553, 0.868033> + 20892: < 0.524836, -0.091008, 0.846324> + 20893: < 0.525753, -0.046267, 0.849378> + 20894: < 0.479951, -0.045871, 0.876095> + 20895: < 0.479307, -0.090429, 0.872976> + 20896: < 0.525753, -0.046267, 0.849378> + 20897: < 0.526081, 0.000000, 0.850434> + 20898: < 0.480182, 0.000000, 0.877169> + 20899: < 0.479951, -0.045871, 0.876095> + 20900: < 0.526081, 0.000000, 0.850434> + 20901: < 0.525753, 0.046267, 0.849378> + 20902: < 0.479951, 0.045871, 0.876095> + 20903: < 0.480182, 0.000000, 0.877169> + 20904: < 0.525753, 0.046267, 0.849378> + 20905: < 0.524836, 0.091008, 0.846324> + 20906: < 0.479307, 0.090429, 0.872976> + 20907: < 0.479951, 0.045871, 0.876095> + 20908: < 0.524836, 0.091008, 0.846324> + 20909: < 0.523307, 0.134100, 0.841527> + 20910: < 0.478208, 0.133553, 0.868033> + 20911: < 0.479307, 0.090429, 0.872976> + 20912: < 0.523307, 0.134100, 0.841527> + 20913: < 0.521180, 0.175853, 0.835133> + 20914: < 0.476614, 0.175453, 0.861426> + 20915: < 0.478208, 0.133553, 0.868033> + 20916: < 0.521180, 0.175853, 0.835133> + 20917: < 0.518435, 0.216475, 0.827263> + 20918: < 0.474515, 0.216413, 0.853230> + 20919: < 0.476614, 0.175453, 0.861426> + 20920: < 0.518435, 0.216475, 0.827263> + 20921: < 0.515110, 0.256243, 0.817925> + 20922: < 0.471888, 0.256606, 0.843490> + 20923: < 0.474515, 0.216413, 0.853230> + 20924: < 0.515110, 0.256243, 0.817925> + 20925: < 0.511198, 0.295457, 0.807082> + 20926: < 0.468770, 0.296339, 0.832128> + 20927: < 0.471888, 0.256606, 0.843490> + 20928: < 0.511198, 0.295457, 0.807082> + 20929: < 0.506740, 0.334337, 0.794627> + 20930: < 0.465202, 0.335801, 0.819039> + 20931: < 0.468770, 0.296339, 0.832128> + 20932: < 0.506740, 0.334337, 0.794627> + 20933: < 0.501802, 0.372705, 0.780568> + 20934: < 0.461239, 0.374961, 0.804154> + 20935: < 0.465202, 0.335801, 0.819039> + 20936: < 0.501802, 0.372705, 0.780568> + 20937: < 0.496395, 0.410392, 0.764964> + 20938: < 0.456900, 0.413777, 0.787421> + 20939: < 0.461239, 0.374961, 0.804154> + 20940: < 0.496395, 0.410392, 0.764964> + 20941: < 0.490534, 0.447593, 0.747688> + 20942: < 0.452290, 0.452290, 0.768679> + 20943: < 0.456900, 0.413777, 0.787421> + 20944: < 0.490534, 0.447593, 0.747688> + 20945: < 0.484430, 0.484430, 0.728461> + 20946: < 0.447593, 0.490534, 0.747688> + 20947: < 0.452290, 0.452290, 0.768679> + 20948: < 0.484430, 0.484430, 0.728461> + 20949: < 0.478425, 0.520969, 0.706895> + 20950: < 0.443145, 0.528478, 0.724109> + 20951: < 0.447593, 0.490534, 0.747688> + 20952: < 0.478425, 0.520969, 0.706895> + 20953: < 0.473139, 0.557037, 0.682532> + 20954: < 0.439475, 0.565794, 0.697667> + 20955: < 0.443145, 0.528478, 0.724109> + 20956: < 0.473139, 0.557037, 0.682532> + 20957: < 0.469385, 0.591920, 0.655217> + 20958: < 0.437036, 0.601963, 0.668312> + 20959: < 0.439475, 0.565794, 0.697667> + 20960: < 0.437036, -0.601963, 0.668312> + 20961: < 0.439475, -0.565794, 0.697667> + 20962: < 0.404839, -0.574008, 0.711772> + 20963: < 0.403223, -0.611427, 0.680859> + 20964: < 0.439475, -0.565794, 0.697667> + 20965: < 0.443145, -0.528478, 0.724109> + 20966: < 0.407307, -0.535518, 0.739812> + 20967: < 0.404839, -0.574008, 0.711772> + 20968: < 0.443145, -0.528478, 0.724109> + 20969: < 0.447593, -0.490534, 0.747688> + 20970: < 0.410392, -0.496395, 0.764964> + 20971: < 0.407307, -0.535518, 0.739812> + 20972: < 0.447593, -0.490534, 0.747688> + 20973: < 0.452290, -0.452290, 0.768679> + 20974: < 0.413777, -0.456900, 0.787421> + 20975: < 0.410392, -0.496395, 0.764964> + 20976: < 0.452290, -0.452290, 0.768679> + 20977: < 0.456900, -0.413777, 0.787421> + 20978: < 0.417202, -0.417202, 0.807394> + 20979: < 0.413777, -0.456900, 0.787421> + 20980: < 0.456900, -0.413777, 0.787421> + 20981: < 0.461239, -0.374961, 0.804154> + 20982: < 0.420500, -0.377345, 0.825100> + 20983: < 0.417202, -0.417202, 0.807394> + 20984: < 0.461239, -0.374961, 0.804154> + 20985: < 0.465202, -0.335801, 0.819039> + 20986: < 0.423577, -0.337391, 0.840684> + 20987: < 0.420500, -0.377345, 0.825100> + 20988: < 0.465202, -0.335801, 0.819039> + 20989: < 0.468770, -0.296339, 0.832128> + 20990: < 0.426323, -0.297287, 0.854324> + 20991: < 0.423577, -0.337391, 0.840684> + 20992: < 0.468770, -0.296339, 0.832128> + 20993: < 0.471888, -0.256606, 0.843490> + 20994: < 0.428698, -0.256999, 0.866124> + 20995: < 0.426323, -0.297287, 0.854324> + 20996: < 0.471888, -0.256606, 0.843490> + 20997: < 0.474515, -0.216413, 0.853230> + 20998: < 0.430657, -0.216320, 0.876208> + 20999: < 0.428698, -0.256999, 0.866124> + 21000: < 0.474515, -0.216413, 0.853230> + 21001: < 0.476614, -0.175453, 0.861426> + 21002: < 0.432149, -0.175026, 0.884654> + 21003: < 0.430657, -0.216320, 0.876208> + 21004: < 0.476614, -0.175453, 0.861426> + 21005: < 0.478208, -0.133553, 0.868033> + 21006: < 0.433281, -0.132911, 0.891405> + 21007: < 0.432149, -0.175026, 0.884654> + 21008: < 0.478208, -0.133553, 0.868033> + 21009: < 0.479307, -0.090429, 0.872976> + 21010: < 0.433981, -0.089787, 0.896437> + 21011: < 0.433281, -0.132911, 0.891405> + 21012: < 0.479307, -0.090429, 0.872976> + 21013: < 0.479951, -0.045871, 0.876095> + 21014: < 0.434379, -0.045443, 0.899583> + 21015: < 0.433981, -0.089787, 0.896437> + 21016: < 0.479951, -0.045871, 0.876095> + 21017: < 0.480182, 0.000000, 0.877169> + 21018: < 0.434509, 0.000000, 0.900667> + 21019: < 0.434379, -0.045443, 0.899583> + 21020: < 0.480182, 0.000000, 0.877169> + 21021: < 0.479951, 0.045871, 0.876095> + 21022: < 0.434379, 0.045443, 0.899583> + 21023: < 0.434509, 0.000000, 0.900667> + 21024: < 0.479951, 0.045871, 0.876095> + 21025: < 0.479307, 0.090429, 0.872976> + 21026: < 0.433981, 0.089787, 0.896437> + 21027: < 0.434379, 0.045443, 0.899583> + 21028: < 0.479307, 0.090429, 0.872976> + 21029: < 0.478208, 0.133553, 0.868033> + 21030: < 0.433281, 0.132911, 0.891405> + 21031: < 0.433981, 0.089787, 0.896437> + 21032: < 0.478208, 0.133553, 0.868033> + 21033: < 0.476614, 0.175453, 0.861426> + 21034: < 0.432149, 0.175026, 0.884654> + 21035: < 0.433281, 0.132911, 0.891405> + 21036: < 0.476614, 0.175453, 0.861426> + 21037: < 0.474515, 0.216413, 0.853230> + 21038: < 0.430657, 0.216320, 0.876208> + 21039: < 0.432149, 0.175026, 0.884654> + 21040: < 0.474515, 0.216413, 0.853230> + 21041: < 0.471888, 0.256606, 0.843490> + 21042: < 0.428698, 0.256999, 0.866124> + 21043: < 0.430657, 0.216320, 0.876208> + 21044: < 0.471888, 0.256606, 0.843490> + 21045: < 0.468770, 0.296339, 0.832128> + 21046: < 0.426323, 0.297287, 0.854324> + 21047: < 0.428698, 0.256999, 0.866124> + 21048: < 0.468770, 0.296339, 0.832128> + 21049: < 0.465202, 0.335801, 0.819039> + 21050: < 0.423577, 0.337391, 0.840684> + 21051: < 0.426323, 0.297287, 0.854324> + 21052: < 0.465202, 0.335801, 0.819039> + 21053: < 0.461239, 0.374961, 0.804154> + 21054: < 0.420500, 0.377345, 0.825100> + 21055: < 0.423577, 0.337391, 0.840684> + 21056: < 0.461239, 0.374961, 0.804154> + 21057: < 0.456900, 0.413777, 0.787421> + 21058: < 0.417202, 0.417202, 0.807394> + 21059: < 0.420500, 0.377345, 0.825100> + 21060: < 0.456900, 0.413777, 0.787421> + 21061: < 0.452290, 0.452290, 0.768679> + 21062: < 0.413777, 0.456900, 0.787421> + 21063: < 0.417202, 0.417202, 0.807394> + 21064: < 0.452290, 0.452290, 0.768679> + 21065: < 0.447593, 0.490534, 0.747688> + 21066: < 0.410392, 0.496395, 0.764964> + 21067: < 0.413777, 0.456900, 0.787421> + 21068: < 0.447593, 0.490534, 0.747688> + 21069: < 0.443145, 0.528478, 0.724109> + 21070: < 0.407307, 0.535518, 0.739812> + 21071: < 0.410392, 0.496395, 0.764964> + 21072: < 0.443145, 0.528478, 0.724109> + 21073: < 0.439475, 0.565794, 0.697667> + 21074: < 0.404839, 0.574008, 0.711772> + 21075: < 0.407307, 0.535518, 0.739812> + 21076: < 0.439475, 0.565794, 0.697667> + 21077: < 0.437036, 0.601963, 0.668312> + 21078: < 0.403223, 0.611427, 0.680859> + 21079: < 0.404839, 0.574008, 0.711772> + 21080: < 0.403223, -0.611427, 0.680859> + 21081: < 0.404839, -0.574008, 0.711772> + 21082: < 0.369188, -0.581661, 0.724825> + 21083: < 0.368246, -0.620305, 0.692544> + 21084: < 0.404839, -0.574008, 0.711772> + 21085: < 0.407307, -0.535518, 0.739812> + 21086: < 0.370721, -0.542028, 0.754169> + 21087: < 0.369188, -0.581661, 0.724825> + 21088: < 0.407307, -0.535518, 0.739812> + 21089: < 0.410392, -0.496395, 0.764964> + 21090: < 0.372705, -0.501802, 0.780568> + 21091: < 0.370721, -0.542028, 0.754169> + 21092: < 0.410392, -0.496395, 0.764964> + 21093: < 0.413777, -0.456900, 0.787421> + 21094: < 0.374961, -0.461239, 0.804154> + 21095: < 0.372705, -0.501802, 0.780568> + 21096: < 0.413777, -0.456900, 0.787421> + 21097: < 0.417202, -0.417202, 0.807394> + 21098: < 0.377345, -0.420500, 0.825100> + 21099: < 0.374961, -0.461239, 0.804154> + 21100: < 0.417202, -0.417202, 0.807394> + 21101: < 0.420500, -0.377345, 0.825100> + 21102: < 0.379751, -0.379751, 0.843551> + 21103: < 0.377345, -0.420500, 0.825100> + 21104: < 0.420500, -0.377345, 0.825100> + 21105: < 0.423577, -0.337391, 0.840684> + 21106: < 0.381976, -0.339005, 0.859750> + 21107: < 0.379751, -0.379751, 0.843551> + 21108: < 0.423577, -0.337391, 0.840684> + 21109: < 0.426323, -0.297287, 0.854324> + 21110: < 0.383986, -0.298259, 0.873840> + 21111: < 0.381976, -0.339005, 0.859750> + 21112: < 0.426323, -0.297287, 0.854324> + 21113: < 0.428698, -0.256999, 0.866124> + 21114: < 0.385664, -0.257364, 0.886018> + 21115: < 0.383986, -0.298259, 0.873840> + 21116: < 0.428698, -0.256999, 0.866124> + 21117: < 0.430657, -0.216320, 0.876208> + 21118: < 0.386985, -0.216199, 0.896382> + 21119: < 0.385664, -0.257364, 0.886018> + 21120: < 0.430657, -0.216320, 0.876208> + 21121: < 0.432149, -0.175026, 0.884654> + 21122: < 0.387965, -0.174541, 0.904997> + 21123: < 0.386985, -0.216199, 0.896382> + 21124: < 0.432149, -0.175026, 0.884654> + 21125: < 0.433281, -0.132911, 0.891405> + 21126: < 0.388632, -0.132240, 0.911854> + 21127: < 0.387965, -0.174541, 0.904997> + 21128: < 0.433281, -0.132911, 0.891405> + 21129: < 0.433981, -0.089787, 0.896437> + 21130: < 0.388998, -0.089116, 0.916918> + 21131: < 0.388632, -0.132240, 0.911854> + 21132: < 0.433981, -0.089787, 0.896437> + 21133: < 0.434379, -0.045443, 0.899583> + 21134: < 0.389180, -0.045016, 0.920061> + 21135: < 0.388998, -0.089116, 0.916918> + 21136: < 0.434379, -0.045443, 0.899583> + 21137: < 0.434509, 0.000000, 0.900667> + 21138: < 0.389244, 0.000000, 0.921135> + 21139: < 0.389180, -0.045016, 0.920061> + 21140: < 0.434509, 0.000000, 0.900667> + 21141: < 0.434379, 0.045443, 0.899583> + 21142: < 0.389180, 0.045016, 0.920061> + 21143: < 0.389244, 0.000000, 0.921135> + 21144: < 0.434379, 0.045443, 0.899583> + 21145: < 0.433981, 0.089787, 0.896437> + 21146: < 0.388998, 0.089116, 0.916918> + 21147: < 0.389180, 0.045016, 0.920061> + 21148: < 0.433981, 0.089787, 0.896437> + 21149: < 0.433281, 0.132911, 0.891405> + 21150: < 0.388632, 0.132240, 0.911854> + 21151: < 0.388998, 0.089116, 0.916918> + 21152: < 0.433281, 0.132911, 0.891405> + 21153: < 0.432149, 0.175026, 0.884654> + 21154: < 0.387965, 0.174541, 0.904997> + 21155: < 0.388632, 0.132240, 0.911854> + 21156: < 0.432149, 0.175026, 0.884654> + 21157: < 0.430657, 0.216320, 0.876208> + 21158: < 0.386985, 0.216199, 0.896382> + 21159: < 0.387965, 0.174541, 0.904997> + 21160: < 0.430657, 0.216320, 0.876208> + 21161: < 0.428698, 0.256999, 0.866124> + 21162: < 0.385664, 0.257364, 0.886018> + 21163: < 0.386985, 0.216199, 0.896382> + 21164: < 0.428698, 0.256999, 0.866124> + 21165: < 0.426323, 0.297287, 0.854324> + 21166: < 0.383989, 0.298231, 0.873848> + 21167: < 0.385664, 0.257364, 0.886018> + 21168: < 0.426323, 0.297287, 0.854324> + 21169: < 0.423577, 0.337391, 0.840684> + 21170: < 0.381976, 0.339005, 0.859750> + 21171: < 0.383989, 0.298231, 0.873848> + 21172: < 0.423577, 0.337391, 0.840684> + 21173: < 0.420500, 0.377345, 0.825100> + 21174: < 0.379751, 0.379751, 0.843551> + 21175: < 0.381976, 0.339005, 0.859750> + 21176: < 0.420500, 0.377345, 0.825100> + 21177: < 0.417202, 0.417202, 0.807394> + 21178: < 0.377345, 0.420500, 0.825100> + 21179: < 0.379751, 0.379751, 0.843551> + 21180: < 0.417202, 0.417202, 0.807394> + 21181: < 0.413777, 0.456900, 0.787421> + 21182: < 0.374961, 0.461239, 0.804154> + 21183: < 0.377345, 0.420500, 0.825100> + 21184: < 0.413777, 0.456900, 0.787421> + 21185: < 0.410392, 0.496395, 0.764964> + 21186: < 0.372705, 0.501802, 0.780568> + 21187: < 0.374961, 0.461239, 0.804154> + 21188: < 0.410392, 0.496395, 0.764964> + 21189: < 0.407307, 0.535518, 0.739812> + 21190: < 0.370721, 0.542028, 0.754169> + 21191: < 0.372705, 0.501802, 0.780568> + 21192: < 0.407307, 0.535518, 0.739812> + 21193: < 0.404839, 0.574008, 0.711772> + 21194: < 0.369188, 0.581661, 0.724825> + 21195: < 0.370721, 0.542028, 0.754169> + 21196: < 0.404839, 0.574008, 0.711772> + 21197: < 0.403223, 0.611427, 0.680859> + 21198: < 0.368246, 0.620305, 0.692544> + 21199: < 0.369188, 0.581661, 0.724825> + 21200: < 0.368246, -0.620305, 0.692544> + 21201: < 0.369188, -0.581661, 0.724825> + 21202: < 0.332170, -0.588744, 0.736915> + 21203: < 0.331652, -0.628603, 0.703467> + 21204: < 0.369188, -0.581661, 0.724825> + 21205: < 0.370721, -0.542028, 0.754169> + 21206: < 0.333090, -0.548009, 0.767292> + 21207: < 0.332170, -0.588744, 0.736915> + 21208: < 0.370721, -0.542028, 0.754169> + 21209: < 0.372705, -0.501802, 0.780568> + 21210: < 0.334310, -0.506745, 0.794636> + 21211: < 0.333090, -0.548009, 0.767292> + 21212: < 0.372705, -0.501802, 0.780568> + 21213: < 0.374961, -0.461239, 0.804154> + 21214: < 0.335801, -0.465202, 0.819039> + 21215: < 0.334310, -0.506745, 0.794636> + 21216: < 0.374961, -0.461239, 0.804154> + 21217: < 0.377345, -0.420500, 0.825100> + 21218: < 0.337391, -0.423577, 0.840684> + 21219: < 0.335801, -0.465202, 0.819039> + 21220: < 0.377345, -0.420500, 0.825100> + 21221: < 0.379751, -0.379751, 0.843551> + 21222: < 0.339005, -0.381976, 0.859750> + 21223: < 0.337391, -0.423577, 0.840684> + 21224: < 0.379751, -0.379751, 0.843551> + 21225: < 0.381976, -0.339005, 0.859750> + 21226: < 0.340503, -0.340503, 0.876422> + 21227: < 0.339005, -0.381976, 0.859750> + 21228: < 0.381976, -0.339005, 0.859750> + 21229: < 0.383986, -0.298259, 0.873840> + 21230: < 0.341811, -0.299085, 0.890906> + 21231: < 0.340503, -0.340503, 0.876422> + 21232: < 0.383986, -0.298259, 0.873840> + 21233: < 0.385664, -0.257364, 0.886018> + 21234: < 0.342852, -0.257643, 0.903367> + 21235: < 0.341811, -0.299085, 0.890906> + 21236: < 0.385664, -0.257364, 0.886018> + 21237: < 0.386985, -0.216199, 0.896382> + 21238: < 0.343582, -0.215982, 0.913949> + 21239: < 0.342852, -0.257643, 0.903367> + 21240: < 0.386985, -0.216199, 0.896382> + 21241: < 0.387965, -0.174541, 0.904997> + 21242: < 0.344072, -0.173989, 0.922682> + 21243: < 0.343582, -0.215982, 0.913949> + 21244: < 0.387965, -0.174541, 0.904997> + 21245: < 0.388632, -0.132240, 0.911854> + 21246: < 0.344322, -0.131509, 0.929596> + 21247: < 0.344072, -0.173989, 0.922682> + 21248: < 0.388632, -0.132240, 0.911854> + 21249: < 0.388998, -0.089116, 0.916918> + 21250: < 0.344408, -0.088414, 0.934648> + 21251: < 0.344322, -0.131509, 0.929596> + 21252: < 0.388998, -0.089116, 0.916918> + 21253: < 0.389180, -0.045016, 0.920061> + 21254: < 0.344409, -0.044558, 0.937762> + 21255: < 0.344408, -0.088414, 0.934648> + 21256: < 0.389180, -0.045016, 0.920061> + 21257: < 0.389244, 0.000000, 0.921135> + 21258: < 0.344405, 0.000000, 0.938821> + 21259: < 0.344409, -0.044558, 0.937762> + 21260: < 0.389244, 0.000000, 0.921135> + 21261: < 0.389180, 0.045016, 0.920061> + 21262: < 0.344409, 0.044558, 0.937762> + 21263: < 0.344405, 0.000000, 0.938821> + 21264: < 0.389180, 0.045016, 0.920061> + 21265: < 0.388998, 0.089116, 0.916918> + 21266: < 0.344408, 0.088414, 0.934648> + 21267: < 0.344409, 0.044558, 0.937762> + 21268: < 0.388998, 0.089116, 0.916918> + 21269: < 0.388632, 0.132240, 0.911854> + 21270: < 0.344322, 0.131509, 0.929596> + 21271: < 0.344408, 0.088414, 0.934648> + 21272: < 0.388632, 0.132240, 0.911854> + 21273: < 0.387965, 0.174541, 0.904997> + 21274: < 0.344072, 0.173989, 0.922682> + 21275: < 0.344322, 0.131509, 0.929596> + 21276: < 0.387965, 0.174541, 0.904997> + 21277: < 0.386985, 0.216199, 0.896382> + 21278: < 0.343582, 0.215982, 0.913949> + 21279: < 0.344072, 0.173989, 0.922682> + 21280: < 0.386985, 0.216199, 0.896382> + 21281: < 0.385664, 0.257364, 0.886018> + 21282: < 0.342852, 0.257643, 0.903367> + 21283: < 0.343582, 0.215982, 0.913949> + 21284: < 0.385664, 0.257364, 0.886018> + 21285: < 0.383989, 0.298231, 0.873848> + 21286: < 0.341811, 0.299085, 0.890906> + 21287: < 0.342852, 0.257643, 0.903367> + 21288: < 0.383989, 0.298231, 0.873848> + 21289: < 0.381976, 0.339005, 0.859750> + 21290: < 0.340503, 0.340503, 0.876422> + 21291: < 0.341811, 0.299085, 0.890906> + 21292: < 0.381976, 0.339005, 0.859750> + 21293: < 0.379751, 0.379751, 0.843551> + 21294: < 0.339005, 0.381976, 0.859750> + 21295: < 0.340503, 0.340503, 0.876422> + 21296: < 0.379751, 0.379751, 0.843551> + 21297: < 0.377345, 0.420500, 0.825100> + 21298: < 0.337391, 0.423577, 0.840684> + 21299: < 0.339005, 0.381976, 0.859750> + 21300: < 0.377345, 0.420500, 0.825100> + 21301: < 0.374961, 0.461239, 0.804154> + 21302: < 0.335801, 0.465202, 0.819039> + 21303: < 0.337391, 0.423577, 0.840684> + 21304: < 0.374961, 0.461239, 0.804154> + 21305: < 0.372705, 0.501802, 0.780568> + 21306: < 0.334337, 0.506740, 0.794627> + 21307: < 0.335801, 0.465202, 0.819039> + 21308: < 0.372705, 0.501802, 0.780568> + 21309: < 0.370721, 0.542028, 0.754169> + 21310: < 0.333090, 0.548009, 0.767292> + 21311: < 0.334337, 0.506740, 0.794627> + 21312: < 0.370721, 0.542028, 0.754169> + 21313: < 0.369188, 0.581661, 0.724825> + 21314: < 0.332170, 0.588744, 0.736915> + 21315: < 0.333090, 0.548009, 0.767292> + 21316: < 0.369188, 0.581661, 0.724825> + 21317: < 0.368246, 0.620305, 0.692544> + 21318: < 0.331652, 0.628603, 0.703467> + 21319: < 0.332170, 0.588744, 0.736915> + 21320: < 0.331652, -0.628603, 0.703467> + 21321: < 0.332170, -0.588744, 0.736915> + 21322: < 0.294207, -0.595158, 0.747816> + 21323: < 0.293904, -0.636150, 0.713396> + 21324: < 0.332170, -0.588744, 0.736915> + 21325: < 0.333090, -0.548009, 0.767292> + 21326: < 0.294729, -0.553415, 0.779017> + 21327: < 0.294207, -0.595158, 0.747816> + 21328: < 0.333090, -0.548009, 0.767292> + 21329: < 0.334310, -0.506745, 0.794636> + 21330: < 0.295457, -0.511198, 0.807082> + 21331: < 0.294729, -0.553415, 0.779017> + 21332: < 0.334310, -0.506745, 0.794636> + 21333: < 0.335801, -0.465202, 0.819039> + 21334: < 0.296339, -0.468770, 0.832128> + 21335: < 0.295457, -0.511198, 0.807082> + 21336: < 0.335801, -0.465202, 0.819039> + 21337: < 0.337391, -0.423577, 0.840684> + 21338: < 0.297287, -0.426323, 0.854324> + 21339: < 0.296339, -0.468770, 0.832128> + 21340: < 0.337391, -0.423577, 0.840684> + 21341: < 0.339005, -0.381976, 0.859750> + 21342: < 0.298231, -0.383989, 0.873848> + 21343: < 0.297287, -0.426323, 0.854324> + 21344: < 0.339005, -0.381976, 0.859750> + 21345: < 0.340503, -0.340503, 0.876422> + 21346: < 0.299085, -0.341811, 0.890906> + 21347: < 0.298231, -0.383989, 0.873848> + 21348: < 0.340503, -0.340503, 0.876422> + 21349: < 0.341811, -0.299085, 0.890906> + 21350: < 0.299762, -0.299762, 0.905696> + 21351: < 0.299085, -0.341811, 0.890906> + 21352: < 0.341811, -0.299085, 0.890906> + 21353: < 0.342852, -0.257643, 0.903367> + 21354: < 0.300219, -0.257736, 0.918390> + 21355: < 0.299762, -0.299762, 0.905696> + 21356: < 0.342852, -0.257643, 0.903367> + 21357: < 0.343582, -0.215982, 0.913949> + 21358: < 0.300461, -0.215649, 0.929096> + 21359: < 0.300219, -0.257736, 0.918390> + 21360: < 0.343582, -0.215982, 0.913949> + 21361: < 0.344072, -0.173989, 0.922682> + 21362: < 0.300496, -0.173351, 0.937897> + 21363: < 0.300461, -0.215649, 0.929096> + 21364: < 0.344072, -0.173989, 0.922682> + 21365: < 0.344322, -0.131509, 0.929596> + 21366: < 0.300427, -0.130743, 0.944802> + 21367: < 0.300496, -0.173351, 0.937897> + 21368: < 0.344322, -0.131509, 0.929596> + 21369: < 0.344408, -0.088414, 0.934648> + 21370: < 0.300248, -0.087712, 0.949820> + 21371: < 0.300427, -0.130743, 0.944802> + 21372: < 0.344408, -0.088414, 0.934648> + 21373: < 0.344409, -0.044558, 0.937762> + 21374: < 0.300092, -0.044130, 0.952889> + 21375: < 0.300248, -0.087712, 0.949820> + 21376: < 0.344409, -0.044558, 0.937762> + 21377: < 0.344405, 0.000000, 0.938821> + 21378: < 0.300059, 0.000000, 0.953921> + 21379: < 0.300092, -0.044130, 0.952889> + 21380: < 0.344405, 0.000000, 0.938821> + 21381: < 0.344409, 0.044558, 0.937762> + 21382: < 0.300092, 0.044130, 0.952889> + 21383: < 0.300059, 0.000000, 0.953921> + 21384: < 0.344409, 0.044558, 0.937762> + 21385: < 0.344408, 0.088414, 0.934648> + 21386: < 0.300248, 0.087712, 0.949820> + 21387: < 0.300092, 0.044130, 0.952889> + 21388: < 0.344408, 0.088414, 0.934648> + 21389: < 0.344322, 0.131509, 0.929596> + 21390: < 0.300427, 0.130743, 0.944802> + 21391: < 0.300248, 0.087712, 0.949820> + 21392: < 0.344322, 0.131509, 0.929596> + 21393: < 0.344072, 0.173989, 0.922682> + 21394: < 0.300496, 0.173351, 0.937897> + 21395: < 0.300427, 0.130743, 0.944802> + 21396: < 0.344072, 0.173989, 0.922682> + 21397: < 0.343582, 0.215982, 0.913949> + 21398: < 0.300461, 0.215649, 0.929096> + 21399: < 0.300496, 0.173351, 0.937897> + 21400: < 0.343582, 0.215982, 0.913949> + 21401: < 0.342852, 0.257643, 0.903367> + 21402: < 0.300219, 0.257736, 0.918390> + 21403: < 0.300461, 0.215649, 0.929096> + 21404: < 0.342852, 0.257643, 0.903367> + 21405: < 0.341811, 0.299085, 0.890906> + 21406: < 0.299762, 0.299762, 0.905696> + 21407: < 0.300219, 0.257736, 0.918390> + 21408: < 0.341811, 0.299085, 0.890906> + 21409: < 0.340503, 0.340503, 0.876422> + 21410: < 0.299085, 0.341811, 0.890906> + 21411: < 0.299762, 0.299762, 0.905696> + 21412: < 0.340503, 0.340503, 0.876422> + 21413: < 0.339005, 0.381976, 0.859750> + 21414: < 0.298259, 0.383986, 0.873840> + 21415: < 0.299085, 0.341811, 0.890906> + 21416: < 0.339005, 0.381976, 0.859750> + 21417: < 0.337391, 0.423577, 0.840684> + 21418: < 0.297287, 0.426323, 0.854324> + 21419: < 0.298259, 0.383986, 0.873840> + 21420: < 0.337391, 0.423577, 0.840684> + 21421: < 0.335801, 0.465202, 0.819039> + 21422: < 0.296339, 0.468770, 0.832128> + 21423: < 0.297287, 0.426323, 0.854324> + 21424: < 0.335801, 0.465202, 0.819039> + 21425: < 0.334337, 0.506740, 0.794627> + 21426: < 0.295457, 0.511198, 0.807082> + 21427: < 0.296339, 0.468770, 0.832128> + 21428: < 0.334337, 0.506740, 0.794627> + 21429: < 0.333090, 0.548009, 0.767292> + 21430: < 0.294729, 0.553415, 0.779017> + 21431: < 0.295457, 0.511198, 0.807082> + 21432: < 0.333090, 0.548009, 0.767292> + 21433: < 0.332170, 0.588744, 0.736915> + 21434: < 0.294207, 0.595158, 0.747816> + 21435: < 0.294729, 0.553415, 0.779017> + 21436: < 0.332170, 0.588744, 0.736915> + 21437: < 0.331652, 0.628603, 0.703467> + 21438: < 0.293904, 0.636150, 0.713396> + 21439: < 0.294207, 0.595158, 0.747816> + 21440: < 0.293904, -0.636150, 0.713396> + 21441: < 0.294207, -0.595158, 0.747816> + 21442: < 0.255750, -0.600829, 0.757361> + 21443: < 0.255632, -0.642833, 0.722093> + 21444: < 0.294207, -0.595158, 0.747816> + 21445: < 0.294729, -0.553415, 0.779017> + 21446: < 0.255937, -0.558172, 0.789266> + 21447: < 0.255750, -0.600829, 0.757361> + 21448: < 0.294729, -0.553415, 0.779017> + 21449: < 0.295457, -0.511198, 0.807082> + 21450: < 0.256243, -0.515110, 0.817925> + 21451: < 0.255937, -0.558172, 0.789266> + 21452: < 0.295457, -0.511198, 0.807082> + 21453: < 0.296339, -0.468770, 0.832128> + 21454: < 0.256606, -0.471888, 0.843490> + 21455: < 0.256243, -0.515110, 0.817925> + 21456: < 0.296339, -0.468770, 0.832128> + 21457: < 0.297287, -0.426323, 0.854324> + 21458: < 0.256999, -0.428698, 0.866124> + 21459: < 0.256606, -0.471888, 0.843490> + 21460: < 0.297287, -0.426323, 0.854324> + 21461: < 0.298231, -0.383989, 0.873848> + 21462: < 0.257364, -0.385664, 0.886018> + 21463: < 0.256999, -0.428698, 0.866124> + 21464: < 0.298231, -0.383989, 0.873848> + 21465: < 0.299085, -0.341811, 0.890906> + 21466: < 0.257643, -0.342852, 0.903367> + 21467: < 0.257364, -0.385664, 0.886018> + 21468: < 0.299085, -0.341811, 0.890906> + 21469: < 0.299762, -0.299762, 0.905696> + 21470: < 0.257736, -0.300219, 0.918390> + 21471: < 0.257643, -0.342852, 0.903367> + 21472: < 0.299762, -0.299762, 0.905696> + 21473: < 0.300219, -0.257736, 0.918390> + 21474: < 0.257702, -0.257702, 0.931225> + 21475: < 0.257736, -0.300219, 0.918390> + 21476: < 0.300219, -0.257736, 0.918390> + 21477: < 0.300461, -0.215649, 0.929096> + 21478: < 0.257519, -0.215220, 0.942000> + 21479: < 0.257702, -0.257702, 0.931225> + 21480: < 0.300461, -0.215649, 0.929096> + 21481: < 0.300496, -0.173351, 0.937897> + 21482: < 0.257217, -0.172679, 0.950800> + 21483: < 0.257519, -0.215220, 0.942000> + 21484: < 0.300496, -0.173351, 0.937897> + 21485: < 0.300427, -0.130743, 0.944802> + 21486: < 0.256880, -0.129981, 0.957663> + 21487: < 0.257217, -0.172679, 0.950800> + 21488: < 0.300427, -0.130743, 0.944802> + 21489: < 0.300248, -0.087712, 0.949820> + 21490: < 0.256544, -0.087041, 0.962605> + 21491: < 0.256880, -0.129981, 0.957663> + 21492: < 0.300248, -0.087712, 0.949820> + 21493: < 0.300092, -0.044130, 0.952889> + 21494: < 0.256267, -0.043703, 0.965618> + 21495: < 0.256544, -0.087041, 0.962605> + 21496: < 0.300092, -0.044130, 0.952889> + 21497: < 0.300059, 0.000000, 0.953921> + 21498: < 0.256177, 0.000000, 0.966630> + 21499: < 0.256267, -0.043703, 0.965618> + 21500: < 0.300059, 0.000000, 0.953921> + 21501: < 0.300092, 0.044130, 0.952889> + 21502: < 0.256267, 0.043703, 0.965618> + 21503: < 0.256177, 0.000000, 0.966630> + 21504: < 0.300092, 0.044130, 0.952889> + 21505: < 0.300248, 0.087712, 0.949820> + 21506: < 0.256544, 0.087041, 0.962605> + 21507: < 0.256267, 0.043703, 0.965618> + 21508: < 0.300248, 0.087712, 0.949820> + 21509: < 0.300427, 0.130743, 0.944802> + 21510: < 0.256880, 0.129981, 0.957663> + 21511: < 0.256544, 0.087041, 0.962605> + 21512: < 0.300427, 0.130743, 0.944802> + 21513: < 0.300496, 0.173351, 0.937897> + 21514: < 0.257217, 0.172679, 0.950800> + 21515: < 0.256880, 0.129981, 0.957663> + 21516: < 0.300496, 0.173351, 0.937897> + 21517: < 0.300461, 0.215649, 0.929096> + 21518: < 0.257519, 0.215220, 0.942000> + 21519: < 0.257217, 0.172679, 0.950800> + 21520: < 0.300461, 0.215649, 0.929096> + 21521: < 0.300219, 0.257736, 0.918390> + 21522: < 0.257702, 0.257702, 0.931225> + 21523: < 0.257519, 0.215220, 0.942000> + 21524: < 0.300219, 0.257736, 0.918390> + 21525: < 0.299762, 0.299762, 0.905696> + 21526: < 0.257736, 0.300219, 0.918390> + 21527: < 0.257702, 0.257702, 0.931225> + 21528: < 0.299762, 0.299762, 0.905696> + 21529: < 0.299085, 0.341811, 0.890906> + 21530: < 0.257643, 0.342852, 0.903367> + 21531: < 0.257736, 0.300219, 0.918390> + 21532: < 0.299085, 0.341811, 0.890906> + 21533: < 0.298259, 0.383986, 0.873840> + 21534: < 0.257364, 0.385664, 0.886018> + 21535: < 0.257643, 0.342852, 0.903367> + 21536: < 0.298259, 0.383986, 0.873840> + 21537: < 0.297287, 0.426323, 0.854324> + 21538: < 0.256999, 0.428698, 0.866124> + 21539: < 0.257364, 0.385664, 0.886018> + 21540: < 0.297287, 0.426323, 0.854324> + 21541: < 0.296339, 0.468770, 0.832128> + 21542: < 0.256606, 0.471888, 0.843490> + 21543: < 0.256999, 0.428698, 0.866124> + 21544: < 0.296339, 0.468770, 0.832128> + 21545: < 0.295457, 0.511198, 0.807082> + 21546: < 0.256243, 0.515110, 0.817925> + 21547: < 0.256606, 0.471888, 0.843490> + 21548: < 0.295457, 0.511198, 0.807082> + 21549: < 0.294729, 0.553415, 0.779017> + 21550: < 0.255937, 0.558172, 0.789266> + 21551: < 0.256243, 0.515110, 0.817925> + 21552: < 0.294729, 0.553415, 0.779017> + 21553: < 0.294207, 0.595158, 0.747816> + 21554: < 0.255750, 0.600829, 0.757361> + 21555: < 0.255937, 0.558172, 0.789266> + 21556: < 0.294207, 0.595158, 0.747816> + 21557: < 0.293904, 0.636150, 0.713396> + 21558: < 0.255632, 0.642833, 0.722093> + 21559: < 0.255750, 0.600829, 0.757361> + 21560: < 0.255632, -0.642833, 0.722093> + 21561: < 0.255750, -0.600829, 0.757361> + 21562: < 0.216596, -0.605748, 0.765608> + 21563: < 0.216656, -0.648624, 0.729622> + 21564: < 0.255750, -0.600829, 0.757361> + 21565: < 0.255937, -0.558172, 0.789266> + 21566: < 0.216534, -0.562257, 0.798110> + 21567: < 0.216596, -0.605748, 0.765608> + 21568: < 0.255937, -0.558172, 0.789266> + 21569: < 0.256243, -0.515110, 0.817925> + 21570: < 0.216475, -0.518435, 0.827263> + 21571: < 0.216534, -0.562257, 0.798110> + 21572: < 0.256243, -0.515110, 0.817925> + 21573: < 0.256606, -0.471888, 0.843490> + 21574: < 0.216413, -0.474515, 0.853230> + 21575: < 0.216475, -0.518435, 0.827263> + 21576: < 0.256606, -0.471888, 0.843490> + 21577: < 0.256999, -0.428698, 0.866124> + 21578: < 0.216320, -0.430657, 0.876208> + 21579: < 0.216413, -0.474515, 0.853230> + 21580: < 0.256999, -0.428698, 0.866124> + 21581: < 0.257364, -0.385664, 0.886018> + 21582: < 0.216199, -0.386985, 0.896382> + 21583: < 0.216320, -0.430657, 0.876208> + 21584: < 0.257364, -0.385664, 0.886018> + 21585: < 0.257643, -0.342852, 0.903367> + 21586: < 0.215982, -0.343582, 0.913949> + 21587: < 0.216199, -0.386985, 0.896382> + 21588: < 0.257643, -0.342852, 0.903367> + 21589: < 0.257736, -0.300219, 0.918390> + 21590: < 0.215649, -0.300461, 0.929096> + 21591: < 0.215982, -0.343582, 0.913949> + 21592: < 0.257736, -0.300219, 0.918390> + 21593: < 0.257702, -0.257702, 0.931225> + 21594: < 0.215220, -0.257519, 0.942000> + 21595: < 0.215649, -0.300461, 0.929096> + 21596: < 0.257702, -0.257702, 0.931225> + 21597: < 0.257519, -0.215220, 0.942000> + 21598: < 0.214732, -0.214732, 0.952775> + 21599: < 0.215220, -0.257519, 0.942000> + 21600: < 0.257519, -0.215220, 0.942000> + 21601: < 0.257217, -0.172679, 0.950800> + 21602: < 0.214182, -0.172005, 0.961530> + 21603: < 0.214732, -0.214732, 0.952775> + 21604: < 0.257217, -0.172679, 0.950800> + 21605: < 0.256880, -0.129981, 0.957663> + 21606: < 0.213666, -0.129250, 0.968319> + 21607: < 0.214182, -0.172005, 0.961530> + 21608: < 0.256880, -0.129981, 0.957663> + 21609: < 0.256544, -0.087041, 0.962605> + 21610: < 0.213204, -0.086398, 0.973180> + 21611: < 0.213666, -0.129250, 0.968319> + 21612: < 0.256544, -0.087041, 0.962605> + 21613: < 0.256267, -0.043703, 0.965618> + 21614: < 0.212870, -0.043306, 0.976120> + 21615: < 0.213204, -0.086398, 0.973180> + 21616: < 0.256267, -0.043703, 0.965618> + 21617: < 0.256177, 0.000000, 0.966630> + 21618: < 0.212750, 0.000000, 0.977107> + 21619: < 0.212870, -0.043306, 0.976120> + 21620: < 0.256177, 0.000000, 0.966630> + 21621: < 0.256267, 0.043703, 0.965618> + 21622: < 0.212870, 0.043306, 0.976120> + 21623: < 0.212750, 0.000000, 0.977107> + 21624: < 0.256267, 0.043703, 0.965618> + 21625: < 0.256544, 0.087041, 0.962605> + 21626: < 0.213204, 0.086398, 0.973180> + 21627: < 0.212870, 0.043306, 0.976120> + 21628: < 0.256544, 0.087041, 0.962605> + 21629: < 0.256880, 0.129981, 0.957663> + 21630: < 0.213666, 0.129250, 0.968319> + 21631: < 0.213204, 0.086398, 0.973180> + 21632: < 0.256880, 0.129981, 0.957663> + 21633: < 0.257217, 0.172679, 0.950800> + 21634: < 0.214182, 0.172005, 0.961530> + 21635: < 0.213666, 0.129250, 0.968319> + 21636: < 0.257217, 0.172679, 0.950800> + 21637: < 0.257519, 0.215220, 0.942000> + 21638: < 0.214732, 0.214732, 0.952775> + 21639: < 0.214182, 0.172005, 0.961530> + 21640: < 0.257519, 0.215220, 0.942000> + 21641: < 0.257702, 0.257702, 0.931225> + 21642: < 0.215220, 0.257519, 0.942000> + 21643: < 0.214732, 0.214732, 0.952775> + 21644: < 0.257702, 0.257702, 0.931225> + 21645: < 0.257736, 0.300219, 0.918390> + 21646: < 0.215649, 0.300461, 0.929096> + 21647: < 0.215220, 0.257519, 0.942000> + 21648: < 0.257736, 0.300219, 0.918390> + 21649: < 0.257643, 0.342852, 0.903367> + 21650: < 0.215982, 0.343582, 0.913949> + 21651: < 0.215649, 0.300461, 0.929096> + 21652: < 0.257643, 0.342852, 0.903367> + 21653: < 0.257364, 0.385664, 0.886018> + 21654: < 0.216199, 0.386985, 0.896382> + 21655: < 0.215982, 0.343582, 0.913949> + 21656: < 0.257364, 0.385664, 0.886018> + 21657: < 0.256999, 0.428698, 0.866124> + 21658: < 0.216320, 0.430657, 0.876208> + 21659: < 0.216199, 0.386985, 0.896382> + 21660: < 0.256999, 0.428698, 0.866124> + 21661: < 0.256606, 0.471888, 0.843490> + 21662: < 0.216413, 0.474515, 0.853230> + 21663: < 0.216320, 0.430657, 0.876208> + 21664: < 0.256606, 0.471888, 0.843490> + 21665: < 0.256243, 0.515110, 0.817925> + 21666: < 0.216475, 0.518435, 0.827263> + 21667: < 0.216413, 0.474515, 0.853230> + 21668: < 0.256243, 0.515110, 0.817925> + 21669: < 0.255937, 0.558172, 0.789266> + 21670: < 0.216534, 0.562257, 0.798110> + 21671: < 0.216475, 0.518435, 0.827263> + 21672: < 0.255937, 0.558172, 0.789266> + 21673: < 0.255750, 0.600829, 0.757361> + 21674: < 0.216596, 0.605748, 0.765608> + 21675: < 0.216534, 0.562257, 0.798110> + 21676: < 0.255750, 0.600829, 0.757361> + 21677: < 0.255632, 0.642833, 0.722093> + 21678: < 0.216660, 0.648606, 0.729636> + 21679: < 0.216596, 0.605748, 0.765608> + 21680: < 0.216656, -0.648624, 0.729622> + 21681: < 0.216596, -0.605748, 0.765608> + 21682: < 0.176461, -0.609892, 0.772589> + 21683: < 0.176644, -0.653502, 0.736025> + 21684: < 0.216596, -0.605748, 0.765608> + 21685: < 0.216534, -0.562257, 0.798110> + 21686: < 0.176188, -0.565675, 0.805587> + 21687: < 0.176461, -0.609892, 0.772589> + 21688: < 0.216534, -0.562257, 0.798110> + 21689: < 0.216475, -0.518435, 0.827263> + 21690: < 0.175853, -0.521180, 0.835133> + 21691: < 0.176188, -0.565675, 0.805587> + 21692: < 0.216475, -0.518435, 0.827263> + 21693: < 0.216413, -0.474515, 0.853230> + 21694: < 0.175453, -0.476614, 0.861426> + 21695: < 0.175853, -0.521180, 0.835133> + 21696: < 0.216413, -0.474515, 0.853230> + 21697: < 0.216320, -0.430657, 0.876208> + 21698: < 0.175026, -0.432149, 0.884654> + 21699: < 0.175453, -0.476614, 0.861426> + 21700: < 0.216320, -0.430657, 0.876208> + 21701: < 0.216199, -0.386985, 0.896382> + 21702: < 0.174541, -0.387965, 0.904997> + 21703: < 0.175026, -0.432149, 0.884654> + 21704: < 0.216199, -0.386985, 0.896382> + 21705: < 0.215982, -0.343582, 0.913949> + 21706: < 0.173989, -0.344072, 0.922682> + 21707: < 0.174541, -0.387965, 0.904997> + 21708: < 0.215982, -0.343582, 0.913949> + 21709: < 0.215649, -0.300461, 0.929096> + 21710: < 0.173351, -0.300496, 0.937897> + 21711: < 0.173989, -0.344072, 0.922682> + 21712: < 0.215649, -0.300461, 0.929096> + 21713: < 0.215220, -0.257519, 0.942000> + 21714: < 0.172679, -0.257217, 0.950800> + 21715: < 0.173351, -0.300496, 0.937897> + 21716: < 0.215220, -0.257519, 0.942000> + 21717: < 0.214732, -0.214732, 0.952775> + 21718: < 0.172005, -0.214182, 0.961530> + 21719: < 0.172679, -0.257217, 0.950800> + 21720: < 0.214732, -0.214732, 0.952775> + 21721: < 0.214182, -0.172005, 0.961530> + 21722: < 0.171305, -0.171305, 0.970211> + 21723: < 0.172005, -0.214182, 0.961530> + 21724: < 0.214182, -0.172005, 0.961530> + 21725: < 0.213666, -0.129250, 0.968319> + 21726: < 0.170691, -0.128545, 0.976904> + 21727: < 0.171305, -0.171305, 0.970211> + 21728: < 0.213666, -0.129250, 0.968319> + 21729: < 0.213204, -0.086398, 0.973180> + 21730: < 0.170203, -0.085788, 0.981668> + 21731: < 0.170691, -0.128545, 0.976904> + 21732: < 0.213204, -0.086398, 0.973180> + 21733: < 0.212870, -0.043306, 0.976120> + 21734: < 0.169837, -0.042970, 0.984535> + 21735: < 0.170203, -0.085788, 0.981668> + 21736: < 0.212870, -0.043306, 0.976120> + 21737: < 0.212750, 0.000000, 0.977107> + 21738: < 0.169746, 0.000000, 0.985488> + 21739: < 0.169837, -0.042970, 0.984535> + 21740: < 0.212750, 0.000000, 0.977107> + 21741: < 0.212870, 0.043306, 0.976120> + 21742: < 0.169837, 0.042970, 0.984535> + 21743: < 0.169746, 0.000000, 0.985488> + 21744: < 0.212870, 0.043306, 0.976120> + 21745: < 0.213204, 0.086398, 0.973180> + 21746: < 0.170203, 0.085788, 0.981668> + 21747: < 0.169837, 0.042970, 0.984535> + 21748: < 0.213204, 0.086398, 0.973180> + 21749: < 0.213666, 0.129250, 0.968319> + 21750: < 0.170691, 0.128545, 0.976904> + 21751: < 0.170203, 0.085788, 0.981668> + 21752: < 0.213666, 0.129250, 0.968319> + 21753: < 0.214182, 0.172005, 0.961530> + 21754: < 0.171305, 0.171305, 0.970211> + 21755: < 0.170691, 0.128545, 0.976904> + 21756: < 0.214182, 0.172005, 0.961530> + 21757: < 0.214732, 0.214732, 0.952775> + 21758: < 0.172005, 0.214182, 0.961530> + 21759: < 0.171305, 0.171305, 0.970211> + 21760: < 0.214732, 0.214732, 0.952775> + 21761: < 0.215220, 0.257519, 0.942000> + 21762: < 0.172679, 0.257217, 0.950800> + 21763: < 0.172005, 0.214182, 0.961530> + 21764: < 0.215220, 0.257519, 0.942000> + 21765: < 0.215649, 0.300461, 0.929096> + 21766: < 0.173351, 0.300496, 0.937897> + 21767: < 0.172679, 0.257217, 0.950800> + 21768: < 0.215649, 0.300461, 0.929096> + 21769: < 0.215982, 0.343582, 0.913949> + 21770: < 0.173989, 0.344072, 0.922682> + 21771: < 0.173351, 0.300496, 0.937897> + 21772: < 0.215982, 0.343582, 0.913949> + 21773: < 0.216199, 0.386985, 0.896382> + 21774: < 0.174541, 0.387965, 0.904997> + 21775: < 0.173989, 0.344072, 0.922682> + 21776: < 0.216199, 0.386985, 0.896382> + 21777: < 0.216320, 0.430657, 0.876208> + 21778: < 0.175026, 0.432149, 0.884654> + 21779: < 0.174541, 0.387965, 0.904997> + 21780: < 0.216320, 0.430657, 0.876208> + 21781: < 0.216413, 0.474515, 0.853230> + 21782: < 0.175453, 0.476614, 0.861426> + 21783: < 0.175026, 0.432149, 0.884654> + 21784: < 0.216413, 0.474515, 0.853230> + 21785: < 0.216475, 0.518435, 0.827263> + 21786: < 0.175853, 0.521180, 0.835133> + 21787: < 0.175453, 0.476614, 0.861426> + 21788: < 0.216475, 0.518435, 0.827263> + 21789: < 0.216534, 0.562257, 0.798110> + 21790: < 0.176188, 0.565675, 0.805587> + 21791: < 0.175853, 0.521180, 0.835133> + 21792: < 0.216534, 0.562257, 0.798110> + 21793: < 0.216596, 0.605748, 0.765608> + 21794: < 0.176461, 0.609892, 0.772589> + 21795: < 0.176188, 0.565675, 0.805587> + 21796: < 0.216596, 0.605748, 0.765608> + 21797: < 0.216660, 0.648606, 0.729636> + 21798: < 0.176644, 0.653502, 0.736025> + 21799: < 0.176461, 0.609892, 0.772589> + 21800: < 0.176644, -0.653502, 0.736025> + 21801: < 0.176461, -0.609892, 0.772589> + 21802: < 0.134985, -0.613218, 0.778295> + 21803: < 0.135260, -0.657468, 0.741243> + 21804: < 0.176461, -0.609892, 0.772589> + 21805: < 0.176188, -0.565675, 0.805587> + 21806: < 0.134618, -0.568382, 0.811677> + 21807: < 0.134985, -0.613218, 0.778295> + 21808: < 0.176188, -0.565675, 0.805587> + 21809: < 0.175853, -0.521180, 0.835133> + 21810: < 0.134100, -0.523307, 0.841527> + 21811: < 0.134618, -0.568382, 0.811677> + 21812: < 0.175853, -0.521180, 0.835133> + 21813: < 0.175453, -0.476614, 0.861426> + 21814: < 0.133553, -0.478208, 0.868033> + 21815: < 0.134100, -0.523307, 0.841527> + 21816: < 0.175453, -0.476614, 0.861426> + 21817: < 0.175026, -0.432149, 0.884654> + 21818: < 0.132911, -0.433281, 0.891405> + 21819: < 0.133553, -0.478208, 0.868033> + 21820: < 0.175026, -0.432149, 0.884654> + 21821: < 0.174541, -0.387965, 0.904997> + 21822: < 0.132240, -0.388632, 0.911854> + 21823: < 0.132911, -0.433281, 0.891405> + 21824: < 0.174541, -0.387965, 0.904997> + 21825: < 0.173989, -0.344072, 0.922682> + 21826: < 0.131509, -0.344322, 0.929596> + 21827: < 0.132240, -0.388632, 0.911854> + 21828: < 0.173989, -0.344072, 0.922682> + 21829: < 0.173351, -0.300496, 0.937897> + 21830: < 0.130743, -0.300427, 0.944802> + 21831: < 0.131509, -0.344322, 0.929596> + 21832: < 0.173351, -0.300496, 0.937897> + 21833: < 0.172679, -0.257217, 0.950800> + 21834: < 0.129981, -0.256880, 0.957663> + 21835: < 0.130743, -0.300427, 0.944802> + 21836: < 0.172679, -0.257217, 0.950800> + 21837: < 0.172005, -0.214182, 0.961530> + 21838: < 0.129250, -0.213666, 0.968319> + 21839: < 0.129981, -0.256880, 0.957663> + 21840: < 0.172005, -0.214182, 0.961530> + 21841: < 0.171305, -0.171305, 0.970211> + 21842: < 0.128545, -0.170691, 0.976904> + 21843: < 0.129250, -0.213666, 0.968319> + 21844: < 0.171305, -0.171305, 0.970211> + 21845: < 0.170691, -0.128545, 0.976904> + 21846: < 0.127935, -0.127935, 0.983497> + 21847: < 0.128545, -0.170691, 0.976904> + 21848: < 0.170691, -0.128545, 0.976904> + 21849: < 0.170203, -0.085788, 0.981668> + 21850: < 0.127447, -0.085300, 0.988171> + 21851: < 0.127935, -0.127935, 0.983497> + 21852: < 0.170203, -0.085788, 0.981668> + 21853: < 0.169837, -0.042970, 0.984535> + 21854: < 0.127144, -0.042666, 0.990966> + 21855: < 0.127447, -0.085300, 0.988171> + 21856: < 0.169837, -0.042970, 0.984535> + 21857: < 0.169746, 0.000000, 0.985488> + 21858: < 0.127020, 0.000000, 0.991900> + 21859: < 0.127144, -0.042666, 0.990966> + 21860: < 0.169746, 0.000000, 0.985488> + 21861: < 0.169837, 0.042970, 0.984535> + 21862: < 0.127144, 0.042666, 0.990966> + 21863: < 0.127020, 0.000000, 0.991900> + 21864: < 0.169837, 0.042970, 0.984535> + 21865: < 0.170203, 0.085788, 0.981668> + 21866: < 0.127447, 0.085300, 0.988171> + 21867: < 0.127144, 0.042666, 0.990966> + 21868: < 0.170203, 0.085788, 0.981668> + 21869: < 0.170691, 0.128545, 0.976904> + 21870: < 0.127935, 0.127935, 0.983497> + 21871: < 0.127447, 0.085300, 0.988171> + 21872: < 0.170691, 0.128545, 0.976904> + 21873: < 0.171305, 0.171305, 0.970211> + 21874: < 0.128545, 0.170691, 0.976904> + 21875: < 0.127935, 0.127935, 0.983497> + 21876: < 0.171305, 0.171305, 0.970211> + 21877: < 0.172005, 0.214182, 0.961530> + 21878: < 0.129250, 0.213666, 0.968319> + 21879: < 0.128545, 0.170691, 0.976904> + 21880: < 0.172005, 0.214182, 0.961530> + 21881: < 0.172679, 0.257217, 0.950800> + 21882: < 0.129981, 0.256880, 0.957663> + 21883: < 0.129250, 0.213666, 0.968319> + 21884: < 0.172679, 0.257217, 0.950800> + 21885: < 0.173351, 0.300496, 0.937897> + 21886: < 0.130743, 0.300427, 0.944802> + 21887: < 0.129981, 0.256880, 0.957663> + 21888: < 0.173351, 0.300496, 0.937897> + 21889: < 0.173989, 0.344072, 0.922682> + 21890: < 0.131509, 0.344322, 0.929596> + 21891: < 0.130743, 0.300427, 0.944802> + 21892: < 0.173989, 0.344072, 0.922682> + 21893: < 0.174541, 0.387965, 0.904997> + 21894: < 0.132240, 0.388632, 0.911854> + 21895: < 0.131509, 0.344322, 0.929596> + 21896: < 0.174541, 0.387965, 0.904997> + 21897: < 0.175026, 0.432149, 0.884654> + 21898: < 0.132913, 0.433256, 0.891416> + 21899: < 0.132240, 0.388632, 0.911854> + 21900: < 0.175026, 0.432149, 0.884654> + 21901: < 0.175453, 0.476614, 0.861426> + 21902: < 0.133553, 0.478208, 0.868033> + 21903: < 0.132913, 0.433256, 0.891416> + 21904: < 0.175453, 0.476614, 0.861426> + 21905: < 0.175853, 0.521180, 0.835133> + 21906: < 0.134100, 0.523307, 0.841527> + 21907: < 0.133553, 0.478208, 0.868033> + 21908: < 0.175853, 0.521180, 0.835133> + 21909: < 0.176188, 0.565675, 0.805587> + 21910: < 0.134618, 0.568382, 0.811677> + 21911: < 0.134100, 0.523307, 0.841527> + 21912: < 0.176188, 0.565675, 0.805587> + 21913: < 0.176461, 0.609892, 0.772589> + 21914: < 0.135018, 0.613196, 0.778306> + 21915: < 0.134618, 0.568382, 0.811677> + 21916: < 0.176461, 0.609892, 0.772589> + 21917: < 0.176644, 0.653502, 0.736025> + 21918: < 0.135260, 0.657468, 0.741243> + 21919: < 0.135018, 0.613196, 0.778306> + 21920: < 0.135260, -0.657468, 0.741243> + 21921: < 0.134985, -0.613218, 0.778295> + 21922: < 0.091894, -0.615697, 0.782607> + 21923: < 0.092137, -0.660463, 0.745184> + 21924: < 0.134985, -0.613218, 0.778295> + 21925: < 0.134618, -0.568382, 0.811677> + 21926: < 0.091497, -0.570377, 0.816271> + 21927: < 0.091894, -0.615697, 0.782607> + 21928: < 0.134618, -0.568382, 0.811677> + 21929: < 0.134100, -0.523307, 0.841527> + 21930: < 0.091008, -0.524836, 0.846324> + 21931: < 0.091497, -0.570377, 0.816271> + 21932: < 0.134100, -0.523307, 0.841527> + 21933: < 0.133553, -0.478208, 0.868033> + 21934: < 0.090429, -0.479307, 0.872976> + 21935: < 0.091008, -0.524836, 0.846324> + 21936: < 0.133553, -0.478208, 0.868033> + 21937: < 0.132911, -0.433281, 0.891405> + 21938: < 0.089787, -0.433981, 0.896437> + 21939: < 0.090429, -0.479307, 0.872976> + 21940: < 0.132911, -0.433281, 0.891405> + 21941: < 0.132240, -0.388632, 0.911854> + 21942: < 0.089116, -0.388998, 0.916918> + 21943: < 0.089787, -0.433981, 0.896437> + 21944: < 0.132240, -0.388632, 0.911854> + 21945: < 0.131509, -0.344322, 0.929596> + 21946: < 0.088414, -0.344408, 0.934648> + 21947: < 0.089116, -0.388998, 0.916918> + 21948: < 0.131509, -0.344322, 0.929596> + 21949: < 0.130743, -0.300427, 0.944802> + 21950: < 0.087712, -0.300248, 0.949820> + 21951: < 0.088414, -0.344408, 0.934648> + 21952: < 0.130743, -0.300427, 0.944802> + 21953: < 0.129981, -0.256880, 0.957663> + 21954: < 0.087041, -0.256544, 0.962605> + 21955: < 0.087712, -0.300248, 0.949820> + 21956: < 0.129981, -0.256880, 0.957663> + 21957: < 0.129250, -0.213666, 0.968319> + 21958: < 0.086398, -0.213204, 0.973180> + 21959: < 0.087041, -0.256544, 0.962605> + 21960: < 0.129250, -0.213666, 0.968319> + 21961: < 0.128545, -0.170691, 0.976904> + 21962: < 0.085788, -0.170203, 0.981668> + 21963: < 0.086398, -0.213204, 0.973180> + 21964: < 0.128545, -0.170691, 0.976904> + 21965: < 0.127935, -0.127935, 0.983497> + 21966: < 0.085300, -0.127447, 0.988171> + 21967: < 0.085788, -0.170203, 0.981668> + 21968: < 0.127935, -0.127935, 0.983497> + 21969: < 0.127447, -0.085300, 0.988171> + 21970: < 0.084905, -0.084905, 0.992765> + 21971: < 0.085300, -0.127447, 0.988171> + 21972: < 0.127447, -0.085300, 0.988171> + 21973: < 0.127144, -0.042666, 0.990966> + 21974: < 0.084660, -0.042452, 0.995505> + 21975: < 0.084905, -0.084905, 0.992765> + 21976: < 0.127144, -0.042666, 0.990966> + 21977: < 0.127020, 0.000000, 0.991900> + 21978: < 0.084568, 0.000000, 0.996418> + 21979: < 0.084660, -0.042452, 0.995505> + 21980: < 0.127020, 0.000000, 0.991900> + 21981: < 0.127144, 0.042666, 0.990966> + 21982: < 0.084660, 0.042452, 0.995505> + 21983: < 0.084568, 0.000000, 0.996418> + 21984: < 0.127144, 0.042666, 0.990966> + 21985: < 0.127447, 0.085300, 0.988171> + 21986: < 0.084905, 0.084905, 0.992765> + 21987: < 0.084660, 0.042452, 0.995505> + 21988: < 0.127447, 0.085300, 0.988171> + 21989: < 0.127935, 0.127935, 0.983497> + 21990: < 0.085300, 0.127447, 0.988171> + 21991: < 0.084905, 0.084905, 0.992765> + 21992: < 0.127935, 0.127935, 0.983497> + 21993: < 0.128545, 0.170691, 0.976904> + 21994: < 0.085788, 0.170203, 0.981668> + 21995: < 0.085300, 0.127447, 0.988171> + 21996: < 0.128545, 0.170691, 0.976904> + 21997: < 0.129250, 0.213666, 0.968319> + 21998: < 0.086398, 0.213204, 0.973180> + 21999: < 0.085788, 0.170203, 0.981668> + 22000: < 0.129250, 0.213666, 0.968319> + 22001: < 0.129981, 0.256880, 0.957663> + 22002: < 0.087041, 0.256544, 0.962605> + 22003: < 0.086398, 0.213204, 0.973180> + 22004: < 0.129981, 0.256880, 0.957663> + 22005: < 0.130743, 0.300427, 0.944802> + 22006: < 0.087712, 0.300248, 0.949820> + 22007: < 0.087041, 0.256544, 0.962605> + 22008: < 0.130743, 0.300427, 0.944802> + 22009: < 0.131509, 0.344322, 0.929596> + 22010: < 0.088414, 0.344408, 0.934648> + 22011: < 0.087712, 0.300248, 0.949820> + 22012: < 0.131509, 0.344322, 0.929596> + 22013: < 0.132240, 0.388632, 0.911854> + 22014: < 0.089116, 0.388998, 0.916918> + 22015: < 0.088414, 0.344408, 0.934648> + 22016: < 0.132240, 0.388632, 0.911854> + 22017: < 0.132913, 0.433256, 0.891416> + 22018: < 0.089787, 0.433981, 0.896437> + 22019: < 0.089116, 0.388998, 0.916918> + 22020: < 0.132913, 0.433256, 0.891416> + 22021: < 0.133553, 0.478208, 0.868033> + 22022: < 0.090429, 0.479307, 0.872976> + 22023: < 0.089787, 0.433981, 0.896437> + 22024: < 0.133553, 0.478208, 0.868033> + 22025: < 0.134100, 0.523307, 0.841527> + 22026: < 0.091008, 0.524836, 0.846324> + 22027: < 0.090429, 0.479307, 0.872976> + 22028: < 0.134100, 0.523307, 0.841527> + 22029: < 0.134618, 0.568382, 0.811677> + 22030: < 0.091497, 0.570377, 0.816271> + 22031: < 0.091008, 0.524836, 0.846324> + 22032: < 0.134618, 0.568382, 0.811677> + 22033: < 0.135018, 0.613196, 0.778306> + 22034: < 0.091894, 0.615697, 0.782607> + 22035: < 0.091497, 0.570377, 0.816271> + 22036: < 0.135018, 0.613196, 0.778306> + 22037: < 0.135260, 0.657468, 0.741243> + 22038: < 0.092137, 0.660463, 0.745184> + 22039: < 0.091894, 0.615697, 0.782607> + 22040: < 0.092137, -0.660463, 0.745184> + 22041: < 0.091894, -0.615697, 0.782607> + 22042: < 0.046847, -0.617246, 0.785375> + 22043: < 0.046999, -0.662354, 0.747715> + 22044: < 0.091894, -0.615697, 0.782607> + 22045: < 0.091497, -0.570377, 0.816271> + 22046: < 0.046573, -0.571602, 0.819208> + 22047: < 0.046847, -0.617246, 0.785375> + 22048: < 0.091497, -0.570377, 0.816271> + 22049: < 0.091008, -0.524836, 0.846324> + 22050: < 0.046267, -0.525753, 0.849378> + 22051: < 0.046573, -0.571602, 0.819208> + 22052: < 0.091008, -0.524836, 0.846324> + 22053: < 0.090429, -0.479307, 0.872976> + 22054: < 0.045871, -0.479951, 0.876095> + 22055: < 0.046267, -0.525753, 0.849378> + 22056: < 0.090429, -0.479307, 0.872976> + 22057: < 0.089787, -0.433981, 0.896437> + 22058: < 0.045443, -0.434379, 0.899583> + 22059: < 0.045871, -0.479951, 0.876095> + 22060: < 0.089787, -0.433981, 0.896437> + 22061: < 0.089116, -0.388998, 0.916918> + 22062: < 0.045016, -0.389180, 0.920061> + 22063: < 0.045443, -0.434379, 0.899583> + 22064: < 0.089116, -0.388998, 0.916918> + 22065: < 0.088414, -0.344408, 0.934648> + 22066: < 0.044558, -0.344409, 0.937762> + 22067: < 0.045016, -0.389180, 0.920061> + 22068: < 0.088414, -0.344408, 0.934648> + 22069: < 0.087712, -0.300248, 0.949820> + 22070: < 0.044130, -0.300092, 0.952889> + 22071: < 0.044558, -0.344409, 0.937762> + 22072: < 0.087712, -0.300248, 0.949820> + 22073: < 0.087041, -0.256544, 0.962605> + 22074: < 0.043703, -0.256267, 0.965618> + 22075: < 0.044130, -0.300092, 0.952889> + 22076: < 0.087041, -0.256544, 0.962605> + 22077: < 0.086398, -0.213204, 0.973180> + 22078: < 0.043306, -0.212870, 0.976120> + 22079: < 0.043703, -0.256267, 0.965618> + 22080: < 0.086398, -0.213204, 0.973180> + 22081: < 0.085788, -0.170203, 0.981668> + 22082: < 0.042970, -0.169866, 0.984530> + 22083: < 0.043306, -0.212870, 0.976120> + 22084: < 0.085788, -0.170203, 0.981668> + 22085: < 0.085300, -0.127447, 0.988171> + 22086: < 0.042666, -0.127144, 0.990966> + 22087: < 0.042970, -0.169866, 0.984530> + 22088: < 0.085300, -0.127447, 0.988171> + 22089: < 0.084905, -0.084905, 0.992765> + 22090: < 0.042452, -0.084660, 0.995505> + 22091: < 0.042666, -0.127144, 0.990966> + 22092: < 0.084905, -0.084905, 0.992765> + 22093: < 0.084660, -0.042452, 0.995505> + 22094: < 0.042299, -0.042299, 0.998209> + 22095: < 0.042452, -0.084660, 0.995505> + 22096: < 0.084660, -0.042452, 0.995505> + 22097: < 0.084568, 0.000000, 0.996418> + 22098: < 0.042239, 0.000000, 0.999108> + 22099: < 0.042299, -0.042299, 0.998209> + 22100: < 0.084568, 0.000000, 0.996418> + 22101: < 0.084660, 0.042452, 0.995505> + 22102: < 0.042299, 0.042299, 0.998209> + 22103: < 0.042239, 0.000000, 0.999108> + 22104: < 0.084660, 0.042452, 0.995505> + 22105: < 0.084905, 0.084905, 0.992765> + 22106: < 0.042452, 0.084660, 0.995505> + 22107: < 0.042299, 0.042299, 0.998209> + 22108: < 0.084905, 0.084905, 0.992765> + 22109: < 0.085300, 0.127447, 0.988171> + 22110: < 0.042666, 0.127144, 0.990966> + 22111: < 0.042452, 0.084660, 0.995505> + 22112: < 0.085300, 0.127447, 0.988171> + 22113: < 0.085788, 0.170203, 0.981668> + 22114: < 0.042970, 0.169837, 0.984535> + 22115: < 0.042666, 0.127144, 0.990966> + 22116: < 0.085788, 0.170203, 0.981668> + 22117: < 0.086398, 0.213204, 0.973180> + 22118: < 0.043306, 0.212870, 0.976120> + 22119: < 0.042970, 0.169837, 0.984535> + 22120: < 0.086398, 0.213204, 0.973180> + 22121: < 0.087041, 0.256544, 0.962605> + 22122: < 0.043703, 0.256267, 0.965618> + 22123: < 0.043306, 0.212870, 0.976120> + 22124: < 0.087041, 0.256544, 0.962605> + 22125: < 0.087712, 0.300248, 0.949820> + 22126: < 0.044130, 0.300092, 0.952889> + 22127: < 0.043703, 0.256267, 0.965618> + 22128: < 0.087712, 0.300248, 0.949820> + 22129: < 0.088414, 0.344408, 0.934648> + 22130: < 0.044558, 0.344409, 0.937762> + 22131: < 0.044130, 0.300092, 0.952889> + 22132: < 0.088414, 0.344408, 0.934648> + 22133: < 0.089116, 0.388998, 0.916918> + 22134: < 0.045016, 0.389180, 0.920061> + 22135: < 0.044558, 0.344409, 0.937762> + 22136: < 0.089116, 0.388998, 0.916918> + 22137: < 0.089787, 0.433981, 0.896437> + 22138: < 0.045443, 0.434379, 0.899583> + 22139: < 0.045016, 0.389180, 0.920061> + 22140: < 0.089787, 0.433981, 0.896437> + 22141: < 0.090429, 0.479307, 0.872976> + 22142: < 0.045871, 0.479951, 0.876095> + 22143: < 0.045443, 0.434379, 0.899583> + 22144: < 0.090429, 0.479307, 0.872976> + 22145: < 0.091008, 0.524836, 0.846324> + 22146: < 0.046267, 0.525753, 0.849378> + 22147: < 0.045871, 0.479951, 0.876095> + 22148: < 0.091008, 0.524836, 0.846324> + 22149: < 0.091497, 0.570377, 0.816271> + 22150: < 0.046573, 0.571602, 0.819208> + 22151: < 0.046267, 0.525753, 0.849378> + 22152: < 0.091497, 0.570377, 0.816271> + 22153: < 0.091894, 0.615697, 0.782607> + 22154: < 0.046847, 0.617246, 0.785375> + 22155: < 0.046573, 0.571602, 0.819208> + 22156: < 0.091894, 0.615697, 0.782607> + 22157: < 0.092137, 0.660463, 0.745184> + 22158: < 0.046999, 0.662354, 0.747715> + 22159: < 0.046847, 0.617246, 0.785375> + 22160: < 0.046999, -0.662354, 0.747715> + 22161: < 0.046847, -0.617246, 0.785375> + 22162: < 0.000000, -0.617789, 0.786344> + 22163: < 0.000000, -0.663024, 0.748599> + 22164: < 0.046847, -0.617246, 0.785375> + 22165: < 0.046573, -0.571602, 0.819208> + 22166: < 0.000000, -0.572024, 0.820237> + 22167: < 0.000000, -0.617789, 0.786344> + 22168: < 0.046573, -0.571602, 0.819208> + 22169: < 0.046267, -0.525753, 0.849378> + 22170: < 0.000000, -0.526081, 0.850434> + 22171: < 0.000000, -0.572024, 0.820237> + 22172: < 0.046267, -0.525753, 0.849378> + 22173: < 0.045871, -0.479951, 0.876095> + 22174: < 0.000000, -0.480182, 0.877169> + 22175: < 0.000000, -0.526081, 0.850434> + 22176: < 0.045871, -0.479951, 0.876095> + 22177: < 0.045443, -0.434379, 0.899583> + 22178: < 0.000000, -0.434534, 0.900655> + 22179: < 0.000000, -0.480182, 0.877169> + 22180: < 0.045443, -0.434379, 0.899583> + 22181: < 0.045016, -0.389180, 0.920061> + 22182: < 0.000000, -0.389244, 0.921135> + 22183: < 0.000000, -0.434534, 0.900655> + 22184: < 0.045016, -0.389180, 0.920061> + 22185: < 0.044558, -0.344409, 0.937762> + 22186: < 0.000000, -0.344405, 0.938821> + 22187: < 0.000000, -0.389244, 0.921135> + 22188: < 0.044558, -0.344409, 0.937762> + 22189: < 0.044130, -0.300092, 0.952889> + 22190: < 0.000000, -0.300059, 0.953921> + 22191: < 0.000000, -0.344405, 0.938821> + 22192: < 0.044130, -0.300092, 0.952889> + 22193: < 0.043703, -0.256267, 0.965618> + 22194: < 0.000000, -0.256177, 0.966630> + 22195: < 0.000000, -0.300059, 0.953921> + 22196: < 0.043703, -0.256267, 0.965618> + 22197: < 0.043306, -0.212870, 0.976120> + 22198: < 0.000000, -0.212750, 0.977107> + 22199: < 0.000000, -0.256177, 0.966630> + 22200: < 0.043306, -0.212870, 0.976120> + 22201: < 0.042970, -0.169866, 0.984530> + 22202: < 0.000000, -0.169746, 0.985488> + 22203: < 0.000000, -0.212750, 0.977107> + 22204: < 0.042970, -0.169866, 0.984530> + 22205: < 0.042666, -0.127144, 0.990966> + 22206: < 0.000000, -0.127020, 0.991900> + 22207: < 0.000000, -0.169746, 0.985488> + 22208: < 0.042666, -0.127144, 0.990966> + 22209: < 0.042452, -0.084660, 0.995505> + 22210: < 0.000000, -0.084568, 0.996418> + 22211: < 0.000000, -0.127020, 0.991900> + 22212: < 0.042452, -0.084660, 0.995505> + 22213: < 0.042299, -0.042299, 0.998209> + 22214: < 0.000000, -0.042239, 0.999108> + 22215: < 0.000000, -0.084568, 0.996418> + 22216: < 0.042299, -0.042299, 0.998209> + 22217: < 0.042239, 0.000000, 0.999108> + 22218: < 0.000000, 0.000000, 1.000000> + 22219: < 0.000000, -0.042239, 0.999108> + 22220: < 0.042239, 0.000000, 0.999108> + 22221: < 0.042299, 0.042299, 0.998209> + 22222: < 0.000000, 0.042239, 0.999108> + 22223: < 0.000000, 0.000000, 1.000000> + 22224: < 0.042299, 0.042299, 0.998209> + 22225: < 0.042452, 0.084660, 0.995505> + 22226: < 0.000000, 0.084568, 0.996418> + 22227: < 0.000000, 0.042239, 0.999108> + 22228: < 0.042452, 0.084660, 0.995505> + 22229: < 0.042666, 0.127144, 0.990966> + 22230: < 0.000000, 0.127020, 0.991900> + 22231: < 0.000000, 0.084568, 0.996418> + 22232: < 0.042666, 0.127144, 0.990966> + 22233: < 0.042970, 0.169837, 0.984535> + 22234: < 0.000000, 0.169746, 0.985488> + 22235: < 0.000000, 0.127020, 0.991900> + 22236: < 0.042970, 0.169837, 0.984535> + 22237: < 0.043306, 0.212870, 0.976120> + 22238: < 0.000000, 0.212750, 0.977107> + 22239: < 0.000000, 0.169746, 0.985488> + 22240: < 0.043306, 0.212870, 0.976120> + 22241: < 0.043703, 0.256267, 0.965618> + 22242: < 0.000000, 0.256177, 0.966630> + 22243: < 0.000000, 0.212750, 0.977107> + 22244: < 0.043703, 0.256267, 0.965618> + 22245: < 0.044130, 0.300092, 0.952889> + 22246: < 0.000000, 0.300059, 0.953921> + 22247: < 0.000000, 0.256177, 0.966630> + 22248: < 0.044130, 0.300092, 0.952889> + 22249: < 0.044558, 0.344409, 0.937762> + 22250: < 0.000000, 0.344405, 0.938821> + 22251: < 0.000000, 0.300059, 0.953921> + 22252: < 0.044558, 0.344409, 0.937762> + 22253: < 0.045016, 0.389180, 0.920061> + 22254: < 0.000000, 0.389244, 0.921135> + 22255: < 0.000000, 0.344405, 0.938821> + 22256: < 0.045016, 0.389180, 0.920061> + 22257: < 0.045443, 0.434379, 0.899583> + 22258: < 0.000000, 0.434534, 0.900655> + 22259: < 0.000000, 0.389244, 0.921135> + 22260: < 0.045443, 0.434379, 0.899583> + 22261: < 0.045871, 0.479951, 0.876095> + 22262: < 0.000000, 0.480182, 0.877169> + 22263: < 0.000000, 0.434534, 0.900655> + 22264: < 0.045871, 0.479951, 0.876095> + 22265: < 0.046267, 0.525753, 0.849378> + 22266: < 0.000000, 0.526081, 0.850434> + 22267: < 0.000000, 0.480182, 0.877169> + 22268: < 0.046267, 0.525753, 0.849378> + 22269: < 0.046573, 0.571602, 0.819208> + 22270: < 0.000000, 0.572024, 0.820237> + 22271: < 0.000000, 0.526081, 0.850434> + 22272: < 0.046573, 0.571602, 0.819208> + 22273: < 0.046847, 0.617246, 0.785375> + 22274: < 0.000000, 0.617789, 0.786344> + 22275: < 0.000000, 0.572024, 0.820237> + 22276: < 0.046847, 0.617246, 0.785375> + 22277: < 0.046999, 0.662354, 0.747715> + 22278: < 0.000000, 0.663024, 0.748599> + 22279: < 0.000000, 0.617789, 0.786344> + 22280: < 0.000000, -0.663024, 0.748599> + 22281: < 0.000000, -0.617789, 0.786344> + 22282: <-0.046847, -0.617246, 0.785375> + 22283: <-0.046999, -0.662354, 0.747715> + 22284: < 0.000000, -0.617789, 0.786344> + 22285: < 0.000000, -0.572024, 0.820237> + 22286: <-0.046573, -0.571602, 0.819208> + 22287: <-0.046847, -0.617246, 0.785375> + 22288: < 0.000000, -0.572024, 0.820237> + 22289: < 0.000000, -0.526081, 0.850434> + 22290: <-0.046267, -0.525753, 0.849378> + 22291: <-0.046573, -0.571602, 0.819208> + 22292: < 0.000000, -0.526081, 0.850434> + 22293: < 0.000000, -0.480182, 0.877169> + 22294: <-0.045871, -0.479951, 0.876095> + 22295: <-0.046267, -0.525753, 0.849378> + 22296: < 0.000000, -0.480182, 0.877169> + 22297: < 0.000000, -0.434534, 0.900655> + 22298: <-0.045443, -0.434379, 0.899583> + 22299: <-0.045871, -0.479951, 0.876095> + 22300: < 0.000000, -0.434534, 0.900655> + 22301: < 0.000000, -0.389244, 0.921135> + 22302: <-0.045016, -0.389180, 0.920061> + 22303: <-0.045443, -0.434379, 0.899583> + 22304: < 0.000000, -0.389244, 0.921135> + 22305: < 0.000000, -0.344405, 0.938821> + 22306: <-0.044558, -0.344409, 0.937762> + 22307: <-0.045016, -0.389180, 0.920061> + 22308: < 0.000000, -0.344405, 0.938821> + 22309: < 0.000000, -0.300059, 0.953921> + 22310: <-0.044130, -0.300119, 0.952880> + 22311: <-0.044558, -0.344409, 0.937762> + 22312: < 0.000000, -0.300059, 0.953921> + 22313: < 0.000000, -0.256177, 0.966630> + 22314: <-0.043703, -0.256267, 0.965618> + 22315: <-0.044130, -0.300119, 0.952880> + 22316: < 0.000000, -0.256177, 0.966630> + 22317: < 0.000000, -0.212750, 0.977107> + 22318: <-0.043306, -0.212870, 0.976120> + 22319: <-0.043703, -0.256267, 0.965618> + 22320: < 0.000000, -0.212750, 0.977107> + 22321: < 0.000000, -0.169746, 0.985488> + 22322: <-0.042970, -0.169837, 0.984535> + 22323: <-0.043306, -0.212870, 0.976120> + 22324: < 0.000000, -0.169746, 0.985488> + 22325: < 0.000000, -0.127020, 0.991900> + 22326: <-0.042666, -0.127144, 0.990966> + 22327: <-0.042970, -0.169837, 0.984535> + 22328: < 0.000000, -0.127020, 0.991900> + 22329: < 0.000000, -0.084568, 0.996418> + 22330: <-0.042452, -0.084660, 0.995505> + 22331: <-0.042666, -0.127144, 0.990966> + 22332: < 0.000000, -0.084568, 0.996418> + 22333: < 0.000000, -0.042239, 0.999108> + 22334: <-0.042299, -0.042299, 0.998209> + 22335: <-0.042452, -0.084660, 0.995505> + 22336: < 0.000000, -0.042239, 0.999108> + 22337: < 0.000000, 0.000000, 1.000000> + 22338: <-0.042239, 0.000000, 0.999108> + 22339: <-0.042299, -0.042299, 0.998209> + 22340: < 0.000000, 0.000000, 1.000000> + 22341: < 0.000000, 0.042239, 0.999108> + 22342: <-0.042299, 0.042299, 0.998209> + 22343: <-0.042239, 0.000000, 0.999108> + 22344: < 0.000000, 0.042239, 0.999108> + 22345: < 0.000000, 0.084568, 0.996418> + 22346: <-0.042452, 0.084660, 0.995505> + 22347: <-0.042299, 0.042299, 0.998209> + 22348: < 0.000000, 0.084568, 0.996418> + 22349: < 0.000000, 0.127020, 0.991900> + 22350: <-0.042666, 0.127144, 0.990966> + 22351: <-0.042452, 0.084660, 0.995505> + 22352: < 0.000000, 0.127020, 0.991900> + 22353: < 0.000000, 0.169746, 0.985488> + 22354: <-0.042970, 0.169866, 0.984530> + 22355: <-0.042666, 0.127144, 0.990966> + 22356: < 0.000000, 0.169746, 0.985488> + 22357: < 0.000000, 0.212750, 0.977107> + 22358: <-0.043306, 0.212870, 0.976120> + 22359: <-0.042970, 0.169866, 0.984530> + 22360: < 0.000000, 0.212750, 0.977107> + 22361: < 0.000000, 0.256177, 0.966630> + 22362: <-0.043703, 0.256267, 0.965618> + 22363: <-0.043306, 0.212870, 0.976120> + 22364: < 0.000000, 0.256177, 0.966630> + 22365: < 0.000000, 0.300059, 0.953921> + 22366: <-0.044130, 0.300092, 0.952889> + 22367: <-0.043703, 0.256267, 0.965618> + 22368: < 0.000000, 0.300059, 0.953921> + 22369: < 0.000000, 0.344405, 0.938821> + 22370: <-0.044558, 0.344409, 0.937762> + 22371: <-0.044130, 0.300092, 0.952889> + 22372: < 0.000000, 0.344405, 0.938821> + 22373: < 0.000000, 0.389244, 0.921135> + 22374: <-0.045016, 0.389180, 0.920061> + 22375: <-0.044558, 0.344409, 0.937762> + 22376: < 0.000000, 0.389244, 0.921135> + 22377: < 0.000000, 0.434534, 0.900655> + 22378: <-0.045443, 0.434379, 0.899583> + 22379: <-0.045016, 0.389180, 0.920061> + 22380: < 0.000000, 0.434534, 0.900655> + 22381: < 0.000000, 0.480182, 0.877169> + 22382: <-0.045871, 0.479951, 0.876095> + 22383: <-0.045443, 0.434379, 0.899583> + 22384: < 0.000000, 0.480182, 0.877169> + 22385: < 0.000000, 0.526081, 0.850434> + 22386: <-0.046267, 0.525753, 0.849378> + 22387: <-0.045871, 0.479951, 0.876095> + 22388: < 0.000000, 0.526081, 0.850434> + 22389: < 0.000000, 0.572024, 0.820237> + 22390: <-0.046573, 0.571602, 0.819208> + 22391: <-0.046267, 0.525753, 0.849378> + 22392: < 0.000000, 0.572024, 0.820237> + 22393: < 0.000000, 0.617789, 0.786344> + 22394: <-0.046847, 0.617246, 0.785375> + 22395: <-0.046573, 0.571602, 0.819208> + 22396: < 0.000000, 0.617789, 0.786344> + 22397: < 0.000000, 0.663024, 0.748599> + 22398: <-0.046999, 0.662354, 0.747715> + 22399: <-0.046847, 0.617246, 0.785375> + 22400: <-0.046999, -0.662354, 0.747715> + 22401: <-0.046847, -0.617246, 0.785375> + 22402: <-0.091894, -0.615697, 0.782607> + 22403: <-0.092137, -0.660463, 0.745184> + 22404: <-0.046847, -0.617246, 0.785375> + 22405: <-0.046573, -0.571602, 0.819208> + 22406: <-0.091497, -0.570377, 0.816271> + 22407: <-0.091894, -0.615697, 0.782607> + 22408: <-0.046573, -0.571602, 0.819208> + 22409: <-0.046267, -0.525753, 0.849378> + 22410: <-0.091008, -0.524836, 0.846324> + 22411: <-0.091497, -0.570377, 0.816271> + 22412: <-0.046267, -0.525753, 0.849378> + 22413: <-0.045871, -0.479951, 0.876095> + 22414: <-0.090429, -0.479307, 0.872976> + 22415: <-0.091008, -0.524836, 0.846324> + 22416: <-0.045871, -0.479951, 0.876095> + 22417: <-0.045443, -0.434379, 0.899583> + 22418: <-0.089787, -0.433981, 0.896437> + 22419: <-0.090429, -0.479307, 0.872976> + 22420: <-0.045443, -0.434379, 0.899583> + 22421: <-0.045016, -0.389180, 0.920061> + 22422: <-0.089116, -0.388998, 0.916918> + 22423: <-0.089787, -0.433981, 0.896437> + 22424: <-0.045016, -0.389180, 0.920061> + 22425: <-0.044558, -0.344409, 0.937762> + 22426: <-0.088414, -0.344408, 0.934648> + 22427: <-0.089116, -0.388998, 0.916918> + 22428: <-0.044558, -0.344409, 0.937762> + 22429: <-0.044130, -0.300119, 0.952880> + 22430: <-0.087712, -0.300248, 0.949820> + 22431: <-0.088414, -0.344408, 0.934648> + 22432: <-0.044130, -0.300119, 0.952880> + 22433: <-0.043703, -0.256267, 0.965618> + 22434: <-0.087041, -0.256544, 0.962605> + 22435: <-0.087712, -0.300248, 0.949820> + 22436: <-0.043703, -0.256267, 0.965618> + 22437: <-0.043306, -0.212870, 0.976120> + 22438: <-0.086398, -0.213204, 0.973180> + 22439: <-0.087041, -0.256544, 0.962605> + 22440: <-0.043306, -0.212870, 0.976120> + 22441: <-0.042970, -0.169837, 0.984535> + 22442: <-0.085788, -0.170203, 0.981668> + 22443: <-0.086398, -0.213204, 0.973180> + 22444: <-0.042970, -0.169837, 0.984535> + 22445: <-0.042666, -0.127144, 0.990966> + 22446: <-0.085300, -0.127447, 0.988171> + 22447: <-0.085788, -0.170203, 0.981668> + 22448: <-0.042666, -0.127144, 0.990966> + 22449: <-0.042452, -0.084660, 0.995505> + 22450: <-0.084905, -0.084905, 0.992765> + 22451: <-0.085300, -0.127447, 0.988171> + 22452: <-0.042452, -0.084660, 0.995505> + 22453: <-0.042299, -0.042299, 0.998209> + 22454: <-0.084660, -0.042452, 0.995505> + 22455: <-0.084905, -0.084905, 0.992765> + 22456: <-0.042299, -0.042299, 0.998209> + 22457: <-0.042239, 0.000000, 0.999108> + 22458: <-0.084568, 0.000000, 0.996418> + 22459: <-0.084660, -0.042452, 0.995505> + 22460: <-0.042239, 0.000000, 0.999108> + 22461: <-0.042299, 0.042299, 0.998209> + 22462: <-0.084660, 0.042452, 0.995505> + 22463: <-0.084568, 0.000000, 0.996418> + 22464: <-0.042299, 0.042299, 0.998209> + 22465: <-0.042452, 0.084660, 0.995505> + 22466: <-0.084905, 0.084905, 0.992765> + 22467: <-0.084660, 0.042452, 0.995505> + 22468: <-0.042452, 0.084660, 0.995505> + 22469: <-0.042666, 0.127144, 0.990966> + 22470: <-0.085300, 0.127447, 0.988171> + 22471: <-0.084905, 0.084905, 0.992765> + 22472: <-0.042666, 0.127144, 0.990966> + 22473: <-0.042970, 0.169866, 0.984530> + 22474: <-0.085788, 0.170203, 0.981668> + 22475: <-0.085300, 0.127447, 0.988171> + 22476: <-0.042970, 0.169866, 0.984530> + 22477: <-0.043306, 0.212870, 0.976120> + 22478: <-0.086398, 0.213204, 0.973180> + 22479: <-0.085788, 0.170203, 0.981668> + 22480: <-0.043306, 0.212870, 0.976120> + 22481: <-0.043703, 0.256267, 0.965618> + 22482: <-0.087041, 0.256544, 0.962605> + 22483: <-0.086398, 0.213204, 0.973180> + 22484: <-0.043703, 0.256267, 0.965618> + 22485: <-0.044130, 0.300092, 0.952889> + 22486: <-0.087712, 0.300248, 0.949820> + 22487: <-0.087041, 0.256544, 0.962605> + 22488: <-0.044130, 0.300092, 0.952889> + 22489: <-0.044558, 0.344409, 0.937762> + 22490: <-0.088414, 0.344408, 0.934648> + 22491: <-0.087712, 0.300248, 0.949820> + 22492: <-0.044558, 0.344409, 0.937762> + 22493: <-0.045016, 0.389180, 0.920061> + 22494: <-0.089116, 0.388998, 0.916918> + 22495: <-0.088414, 0.344408, 0.934648> + 22496: <-0.045016, 0.389180, 0.920061> + 22497: <-0.045443, 0.434379, 0.899583> + 22498: <-0.089787, 0.433981, 0.896437> + 22499: <-0.089116, 0.388998, 0.916918> + 22500: <-0.045443, 0.434379, 0.899583> + 22501: <-0.045871, 0.479951, 0.876095> + 22502: <-0.090429, 0.479307, 0.872976> + 22503: <-0.089787, 0.433981, 0.896437> + 22504: <-0.045871, 0.479951, 0.876095> + 22505: <-0.046267, 0.525753, 0.849378> + 22506: <-0.091008, 0.524836, 0.846324> + 22507: <-0.090429, 0.479307, 0.872976> + 22508: <-0.046267, 0.525753, 0.849378> + 22509: <-0.046573, 0.571602, 0.819208> + 22510: <-0.091497, 0.570377, 0.816271> + 22511: <-0.091008, 0.524836, 0.846324> + 22512: <-0.046573, 0.571602, 0.819208> + 22513: <-0.046847, 0.617246, 0.785375> + 22514: <-0.091894, 0.615697, 0.782607> + 22515: <-0.091497, 0.570377, 0.816271> + 22516: <-0.046847, 0.617246, 0.785375> + 22517: <-0.046999, 0.662354, 0.747715> + 22518: <-0.092137, 0.660463, 0.745184> + 22519: <-0.091894, 0.615697, 0.782607> + 22520: <-0.092137, -0.660463, 0.745184> + 22521: <-0.091894, -0.615697, 0.782607> + 22522: <-0.134985, -0.613218, 0.778295> + 22523: <-0.135260, -0.657468, 0.741243> + 22524: <-0.091894, -0.615697, 0.782607> + 22525: <-0.091497, -0.570377, 0.816271> + 22526: <-0.134618, -0.568382, 0.811677> + 22527: <-0.134985, -0.613218, 0.778295> + 22528: <-0.091497, -0.570377, 0.816271> + 22529: <-0.091008, -0.524836, 0.846324> + 22530: <-0.134100, -0.523307, 0.841527> + 22531: <-0.134618, -0.568382, 0.811677> + 22532: <-0.091008, -0.524836, 0.846324> + 22533: <-0.090429, -0.479307, 0.872976> + 22534: <-0.133553, -0.478208, 0.868033> + 22535: <-0.134100, -0.523307, 0.841527> + 22536: <-0.090429, -0.479307, 0.872976> + 22537: <-0.089787, -0.433981, 0.896437> + 22538: <-0.132911, -0.433281, 0.891405> + 22539: <-0.133553, -0.478208, 0.868033> + 22540: <-0.089787, -0.433981, 0.896437> + 22541: <-0.089116, -0.388998, 0.916918> + 22542: <-0.132240, -0.388632, 0.911854> + 22543: <-0.132911, -0.433281, 0.891405> + 22544: <-0.089116, -0.388998, 0.916918> + 22545: <-0.088414, -0.344408, 0.934648> + 22546: <-0.131509, -0.344322, 0.929596> + 22547: <-0.132240, -0.388632, 0.911854> + 22548: <-0.088414, -0.344408, 0.934648> + 22549: <-0.087712, -0.300248, 0.949820> + 22550: <-0.130743, -0.300427, 0.944802> + 22551: <-0.131509, -0.344322, 0.929596> + 22552: <-0.087712, -0.300248, 0.949820> + 22553: <-0.087041, -0.256544, 0.962605> + 22554: <-0.129981, -0.256880, 0.957663> + 22555: <-0.130743, -0.300427, 0.944802> + 22556: <-0.087041, -0.256544, 0.962605> + 22557: <-0.086398, -0.213204, 0.973180> + 22558: <-0.129250, -0.213666, 0.968319> + 22559: <-0.129981, -0.256880, 0.957663> + 22560: <-0.086398, -0.213204, 0.973180> + 22561: <-0.085788, -0.170203, 0.981668> + 22562: <-0.128545, -0.170691, 0.976904> + 22563: <-0.129250, -0.213666, 0.968319> + 22564: <-0.085788, -0.170203, 0.981668> + 22565: <-0.085300, -0.127447, 0.988171> + 22566: <-0.127935, -0.127935, 0.983497> + 22567: <-0.128545, -0.170691, 0.976904> + 22568: <-0.085300, -0.127447, 0.988171> + 22569: <-0.084905, -0.084905, 0.992765> + 22570: <-0.127447, -0.085300, 0.988171> + 22571: <-0.127935, -0.127935, 0.983497> + 22572: <-0.084905, -0.084905, 0.992765> + 22573: <-0.084660, -0.042452, 0.995505> + 22574: <-0.127144, -0.042666, 0.990966> + 22575: <-0.127447, -0.085300, 0.988171> + 22576: <-0.084660, -0.042452, 0.995505> + 22577: <-0.084568, 0.000000, 0.996418> + 22578: <-0.127020, 0.000000, 0.991900> + 22579: <-0.127144, -0.042666, 0.990966> + 22580: <-0.084568, 0.000000, 0.996418> + 22581: <-0.084660, 0.042452, 0.995505> + 22582: <-0.127144, 0.042666, 0.990966> + 22583: <-0.127020, 0.000000, 0.991900> + 22584: <-0.084660, 0.042452, 0.995505> + 22585: <-0.084905, 0.084905, 0.992765> + 22586: <-0.127447, 0.085300, 0.988171> + 22587: <-0.127144, 0.042666, 0.990966> + 22588: <-0.084905, 0.084905, 0.992765> + 22589: <-0.085300, 0.127447, 0.988171> + 22590: <-0.127935, 0.127935, 0.983497> + 22591: <-0.127447, 0.085300, 0.988171> + 22592: <-0.085300, 0.127447, 0.988171> + 22593: <-0.085788, 0.170203, 0.981668> + 22594: <-0.128545, 0.170691, 0.976904> + 22595: <-0.127935, 0.127935, 0.983497> + 22596: <-0.085788, 0.170203, 0.981668> + 22597: <-0.086398, 0.213204, 0.973180> + 22598: <-0.129250, 0.213666, 0.968319> + 22599: <-0.128545, 0.170691, 0.976904> + 22600: <-0.086398, 0.213204, 0.973180> + 22601: <-0.087041, 0.256544, 0.962605> + 22602: <-0.129981, 0.256880, 0.957663> + 22603: <-0.129250, 0.213666, 0.968319> + 22604: <-0.087041, 0.256544, 0.962605> + 22605: <-0.087712, 0.300248, 0.949820> + 22606: <-0.130743, 0.300427, 0.944802> + 22607: <-0.129981, 0.256880, 0.957663> + 22608: <-0.087712, 0.300248, 0.949820> + 22609: <-0.088414, 0.344408, 0.934648> + 22610: <-0.131509, 0.344322, 0.929596> + 22611: <-0.130743, 0.300427, 0.944802> + 22612: <-0.088414, 0.344408, 0.934648> + 22613: <-0.089116, 0.388998, 0.916918> + 22614: <-0.132240, 0.388632, 0.911854> + 22615: <-0.131509, 0.344322, 0.929596> + 22616: <-0.089116, 0.388998, 0.916918> + 22617: <-0.089787, 0.433981, 0.896437> + 22618: <-0.132913, 0.433256, 0.891416> + 22619: <-0.132240, 0.388632, 0.911854> + 22620: <-0.089787, 0.433981, 0.896437> + 22621: <-0.090429, 0.479307, 0.872976> + 22622: <-0.133553, 0.478208, 0.868033> + 22623: <-0.132913, 0.433256, 0.891416> + 22624: <-0.090429, 0.479307, 0.872976> + 22625: <-0.091008, 0.524836, 0.846324> + 22626: <-0.134100, 0.523307, 0.841527> + 22627: <-0.133553, 0.478208, 0.868033> + 22628: <-0.091008, 0.524836, 0.846324> + 22629: <-0.091497, 0.570377, 0.816271> + 22630: <-0.134618, 0.568382, 0.811677> + 22631: <-0.134100, 0.523307, 0.841527> + 22632: <-0.091497, 0.570377, 0.816271> + 22633: <-0.091894, 0.615697, 0.782607> + 22634: <-0.134985, 0.613218, 0.778295> + 22635: <-0.134618, 0.568382, 0.811677> + 22636: <-0.091894, 0.615697, 0.782607> + 22637: <-0.092137, 0.660463, 0.745184> + 22638: <-0.135260, 0.657468, 0.741243> + 22639: <-0.134985, 0.613218, 0.778295> + 22640: <-0.135260, -0.657468, 0.741243> + 22641: <-0.134985, -0.613218, 0.778295> + 22642: <-0.176461, -0.609892, 0.772589> + 22643: <-0.176644, -0.653502, 0.736025> + 22644: <-0.134985, -0.613218, 0.778295> + 22645: <-0.134618, -0.568382, 0.811677> + 22646: <-0.176188, -0.565675, 0.805587> + 22647: <-0.176461, -0.609892, 0.772589> + 22648: <-0.134618, -0.568382, 0.811677> + 22649: <-0.134100, -0.523307, 0.841527> + 22650: <-0.175853, -0.521180, 0.835133> + 22651: <-0.176188, -0.565675, 0.805587> + 22652: <-0.134100, -0.523307, 0.841527> + 22653: <-0.133553, -0.478208, 0.868033> + 22654: <-0.175453, -0.476614, 0.861426> + 22655: <-0.175853, -0.521180, 0.835133> + 22656: <-0.133553, -0.478208, 0.868033> + 22657: <-0.132911, -0.433281, 0.891405> + 22658: <-0.175026, -0.432149, 0.884654> + 22659: <-0.175453, -0.476614, 0.861426> + 22660: <-0.132911, -0.433281, 0.891405> + 22661: <-0.132240, -0.388632, 0.911854> + 22662: <-0.174541, -0.387965, 0.904997> + 22663: <-0.175026, -0.432149, 0.884654> + 22664: <-0.132240, -0.388632, 0.911854> + 22665: <-0.131509, -0.344322, 0.929596> + 22666: <-0.173989, -0.344072, 0.922682> + 22667: <-0.174541, -0.387965, 0.904997> + 22668: <-0.131509, -0.344322, 0.929596> + 22669: <-0.130743, -0.300427, 0.944802> + 22670: <-0.173351, -0.300496, 0.937897> + 22671: <-0.173989, -0.344072, 0.922682> + 22672: <-0.130743, -0.300427, 0.944802> + 22673: <-0.129981, -0.256880, 0.957663> + 22674: <-0.172679, -0.257217, 0.950800> + 22675: <-0.173351, -0.300496, 0.937897> + 22676: <-0.129981, -0.256880, 0.957663> + 22677: <-0.129250, -0.213666, 0.968319> + 22678: <-0.172005, -0.214182, 0.961530> + 22679: <-0.172679, -0.257217, 0.950800> + 22680: <-0.129250, -0.213666, 0.968319> + 22681: <-0.128545, -0.170691, 0.976904> + 22682: <-0.171305, -0.171305, 0.970211> + 22683: <-0.172005, -0.214182, 0.961530> + 22684: <-0.128545, -0.170691, 0.976904> + 22685: <-0.127935, -0.127935, 0.983497> + 22686: <-0.170691, -0.128545, 0.976904> + 22687: <-0.171305, -0.171305, 0.970211> + 22688: <-0.127935, -0.127935, 0.983497> + 22689: <-0.127447, -0.085300, 0.988171> + 22690: <-0.170203, -0.085788, 0.981668> + 22691: <-0.170691, -0.128545, 0.976904> + 22692: <-0.127447, -0.085300, 0.988171> + 22693: <-0.127144, -0.042666, 0.990966> + 22694: <-0.169866, -0.042970, 0.984530> + 22695: <-0.170203, -0.085788, 0.981668> + 22696: <-0.127144, -0.042666, 0.990966> + 22697: <-0.127020, 0.000000, 0.991900> + 22698: <-0.169746, 0.000000, 0.985488> + 22699: <-0.169866, -0.042970, 0.984530> + 22700: <-0.127020, 0.000000, 0.991900> + 22701: <-0.127144, 0.042666, 0.990966> + 22702: <-0.169866, 0.042970, 0.984530> + 22703: <-0.169746, 0.000000, 0.985488> + 22704: <-0.127144, 0.042666, 0.990966> + 22705: <-0.127447, 0.085300, 0.988171> + 22706: <-0.170203, 0.085788, 0.981668> + 22707: <-0.169866, 0.042970, 0.984530> + 22708: <-0.127447, 0.085300, 0.988171> + 22709: <-0.127935, 0.127935, 0.983497> + 22710: <-0.170691, 0.128545, 0.976904> + 22711: <-0.170203, 0.085788, 0.981668> + 22712: <-0.127935, 0.127935, 0.983497> + 22713: <-0.128545, 0.170691, 0.976904> + 22714: <-0.171305, 0.171305, 0.970211> + 22715: <-0.170691, 0.128545, 0.976904> + 22716: <-0.128545, 0.170691, 0.976904> + 22717: <-0.129250, 0.213666, 0.968319> + 22718: <-0.172005, 0.214182, 0.961530> + 22719: <-0.171305, 0.171305, 0.970211> + 22720: <-0.129250, 0.213666, 0.968319> + 22721: <-0.129981, 0.256880, 0.957663> + 22722: <-0.172679, 0.257217, 0.950800> + 22723: <-0.172005, 0.214182, 0.961530> + 22724: <-0.129981, 0.256880, 0.957663> + 22725: <-0.130743, 0.300427, 0.944802> + 22726: <-0.173351, 0.300496, 0.937897> + 22727: <-0.172679, 0.257217, 0.950800> + 22728: <-0.130743, 0.300427, 0.944802> + 22729: <-0.131509, 0.344322, 0.929596> + 22730: <-0.173989, 0.344072, 0.922682> + 22731: <-0.173351, 0.300496, 0.937897> + 22732: <-0.131509, 0.344322, 0.929596> + 22733: <-0.132240, 0.388632, 0.911854> + 22734: <-0.174541, 0.387965, 0.904997> + 22735: <-0.173989, 0.344072, 0.922682> + 22736: <-0.132240, 0.388632, 0.911854> + 22737: <-0.132913, 0.433256, 0.891416> + 22738: <-0.175026, 0.432149, 0.884654> + 22739: <-0.174541, 0.387965, 0.904997> + 22740: <-0.132913, 0.433256, 0.891416> + 22741: <-0.133553, 0.478208, 0.868033> + 22742: <-0.175453, 0.476614, 0.861426> + 22743: <-0.175026, 0.432149, 0.884654> + 22744: <-0.133553, 0.478208, 0.868033> + 22745: <-0.134100, 0.523307, 0.841527> + 22746: <-0.175853, 0.521180, 0.835133> + 22747: <-0.175453, 0.476614, 0.861426> + 22748: <-0.134100, 0.523307, 0.841527> + 22749: <-0.134618, 0.568382, 0.811677> + 22750: <-0.176188, 0.565675, 0.805587> + 22751: <-0.175853, 0.521180, 0.835133> + 22752: <-0.134618, 0.568382, 0.811677> + 22753: <-0.134985, 0.613218, 0.778295> + 22754: <-0.176461, 0.609892, 0.772589> + 22755: <-0.176188, 0.565675, 0.805587> + 22756: <-0.134985, 0.613218, 0.778295> + 22757: <-0.135260, 0.657468, 0.741243> + 22758: <-0.176644, 0.653502, 0.736025> + 22759: <-0.176461, 0.609892, 0.772589> + 22760: <-0.176644, -0.653502, 0.736025> + 22761: <-0.176461, -0.609892, 0.772589> + 22762: <-0.216596, -0.605748, 0.765608> + 22763: <-0.216660, -0.648606, 0.729636> + 22764: <-0.176461, -0.609892, 0.772589> + 22765: <-0.176188, -0.565675, 0.805587> + 22766: <-0.216534, -0.562257, 0.798110> + 22767: <-0.216596, -0.605748, 0.765608> + 22768: <-0.176188, -0.565675, 0.805587> + 22769: <-0.175853, -0.521180, 0.835133> + 22770: <-0.216475, -0.518435, 0.827263> + 22771: <-0.216534, -0.562257, 0.798110> + 22772: <-0.175853, -0.521180, 0.835133> + 22773: <-0.175453, -0.476614, 0.861426> + 22774: <-0.216413, -0.474515, 0.853230> + 22775: <-0.216475, -0.518435, 0.827263> + 22776: <-0.175453, -0.476614, 0.861426> + 22777: <-0.175026, -0.432149, 0.884654> + 22778: <-0.216320, -0.430657, 0.876208> + 22779: <-0.216413, -0.474515, 0.853230> + 22780: <-0.175026, -0.432149, 0.884654> + 22781: <-0.174541, -0.387965, 0.904997> + 22782: <-0.216199, -0.386985, 0.896382> + 22783: <-0.216320, -0.430657, 0.876208> + 22784: <-0.174541, -0.387965, 0.904997> + 22785: <-0.173989, -0.344072, 0.922682> + 22786: <-0.215982, -0.343582, 0.913949> + 22787: <-0.216199, -0.386985, 0.896382> + 22788: <-0.173989, -0.344072, 0.922682> + 22789: <-0.173351, -0.300496, 0.937897> + 22790: <-0.215649, -0.300461, 0.929096> + 22791: <-0.215982, -0.343582, 0.913949> + 22792: <-0.173351, -0.300496, 0.937897> + 22793: <-0.172679, -0.257217, 0.950800> + 22794: <-0.215220, -0.257519, 0.942000> + 22795: <-0.215649, -0.300461, 0.929096> + 22796: <-0.172679, -0.257217, 0.950800> + 22797: <-0.172005, -0.214182, 0.961530> + 22798: <-0.214732, -0.214732, 0.952775> + 22799: <-0.215220, -0.257519, 0.942000> + 22800: <-0.172005, -0.214182, 0.961530> + 22801: <-0.171305, -0.171305, 0.970211> + 22802: <-0.214182, -0.172005, 0.961530> + 22803: <-0.214732, -0.214732, 0.952775> + 22804: <-0.171305, -0.171305, 0.970211> + 22805: <-0.170691, -0.128545, 0.976904> + 22806: <-0.213666, -0.129250, 0.968319> + 22807: <-0.214182, -0.172005, 0.961530> + 22808: <-0.170691, -0.128545, 0.976904> + 22809: <-0.170203, -0.085788, 0.981668> + 22810: <-0.213204, -0.086398, 0.973180> + 22811: <-0.213666, -0.129250, 0.968319> + 22812: <-0.170203, -0.085788, 0.981668> + 22813: <-0.169866, -0.042970, 0.984530> + 22814: <-0.212870, -0.043306, 0.976120> + 22815: <-0.213204, -0.086398, 0.973180> + 22816: <-0.169866, -0.042970, 0.984530> + 22817: <-0.169746, 0.000000, 0.985488> + 22818: <-0.212750, 0.000000, 0.977107> + 22819: <-0.212870, -0.043306, 0.976120> + 22820: <-0.169746, 0.000000, 0.985488> + 22821: <-0.169866, 0.042970, 0.984530> + 22822: <-0.212870, 0.043306, 0.976120> + 22823: <-0.212750, 0.000000, 0.977107> + 22824: <-0.169866, 0.042970, 0.984530> + 22825: <-0.170203, 0.085788, 0.981668> + 22826: <-0.213204, 0.086398, 0.973180> + 22827: <-0.212870, 0.043306, 0.976120> + 22828: <-0.170203, 0.085788, 0.981668> + 22829: <-0.170691, 0.128545, 0.976904> + 22830: <-0.213666, 0.129250, 0.968319> + 22831: <-0.213204, 0.086398, 0.973180> + 22832: <-0.170691, 0.128545, 0.976904> + 22833: <-0.171305, 0.171305, 0.970211> + 22834: <-0.214182, 0.172005, 0.961530> + 22835: <-0.213666, 0.129250, 0.968319> + 22836: <-0.171305, 0.171305, 0.970211> + 22837: <-0.172005, 0.214182, 0.961530> + 22838: <-0.214732, 0.214732, 0.952775> + 22839: <-0.214182, 0.172005, 0.961530> + 22840: <-0.172005, 0.214182, 0.961530> + 22841: <-0.172679, 0.257217, 0.950800> + 22842: <-0.215220, 0.257519, 0.942000> + 22843: <-0.214732, 0.214732, 0.952775> + 22844: <-0.172679, 0.257217, 0.950800> + 22845: <-0.173351, 0.300496, 0.937897> + 22846: <-0.215649, 0.300461, 0.929096> + 22847: <-0.215220, 0.257519, 0.942000> + 22848: <-0.173351, 0.300496, 0.937897> + 22849: <-0.173989, 0.344072, 0.922682> + 22850: <-0.215982, 0.343582, 0.913949> + 22851: <-0.215649, 0.300461, 0.929096> + 22852: <-0.173989, 0.344072, 0.922682> + 22853: <-0.174541, 0.387965, 0.904997> + 22854: <-0.216199, 0.386985, 0.896382> + 22855: <-0.215982, 0.343582, 0.913949> + 22856: <-0.174541, 0.387965, 0.904997> + 22857: <-0.175026, 0.432149, 0.884654> + 22858: <-0.216320, 0.430657, 0.876208> + 22859: <-0.216199, 0.386985, 0.896382> + 22860: <-0.175026, 0.432149, 0.884654> + 22861: <-0.175453, 0.476614, 0.861426> + 22862: <-0.216413, 0.474515, 0.853230> + 22863: <-0.216320, 0.430657, 0.876208> + 22864: <-0.175453, 0.476614, 0.861426> + 22865: <-0.175853, 0.521180, 0.835133> + 22866: <-0.216475, 0.518435, 0.827263> + 22867: <-0.216413, 0.474515, 0.853230> + 22868: <-0.175853, 0.521180, 0.835133> + 22869: <-0.176188, 0.565675, 0.805587> + 22870: <-0.216534, 0.562257, 0.798110> + 22871: <-0.216475, 0.518435, 0.827263> + 22872: <-0.176188, 0.565675, 0.805587> + 22873: <-0.176461, 0.609892, 0.772589> + 22874: <-0.216596, 0.605748, 0.765608> + 22875: <-0.216534, 0.562257, 0.798110> + 22876: <-0.176461, 0.609892, 0.772589> + 22877: <-0.176644, 0.653502, 0.736025> + 22878: <-0.216660, 0.648606, 0.729636> + 22879: <-0.216596, 0.605748, 0.765608> + 22880: <-0.216660, -0.648606, 0.729636> + 22881: <-0.216596, -0.605748, 0.765608> + 22882: <-0.255750, -0.600829, 0.757361> + 22883: <-0.255632, -0.642833, 0.722093> + 22884: <-0.216596, -0.605748, 0.765608> + 22885: <-0.216534, -0.562257, 0.798110> + 22886: <-0.255937, -0.558172, 0.789266> + 22887: <-0.255750, -0.600829, 0.757361> + 22888: <-0.216534, -0.562257, 0.798110> + 22889: <-0.216475, -0.518435, 0.827263> + 22890: <-0.256243, -0.515110, 0.817925> + 22891: <-0.255937, -0.558172, 0.789266> + 22892: <-0.216475, -0.518435, 0.827263> + 22893: <-0.216413, -0.474515, 0.853230> + 22894: <-0.256606, -0.471888, 0.843490> + 22895: <-0.256243, -0.515110, 0.817925> + 22896: <-0.216413, -0.474515, 0.853230> + 22897: <-0.216320, -0.430657, 0.876208> + 22898: <-0.256999, -0.428698, 0.866124> + 22899: <-0.256606, -0.471888, 0.843490> + 22900: <-0.216320, -0.430657, 0.876208> + 22901: <-0.216199, -0.386985, 0.896382> + 22902: <-0.257364, -0.385664, 0.886018> + 22903: <-0.256999, -0.428698, 0.866124> + 22904: <-0.216199, -0.386985, 0.896382> + 22905: <-0.215982, -0.343582, 0.913949> + 22906: <-0.257643, -0.342852, 0.903367> + 22907: <-0.257364, -0.385664, 0.886018> + 22908: <-0.215982, -0.343582, 0.913949> + 22909: <-0.215649, -0.300461, 0.929096> + 22910: <-0.257736, -0.300219, 0.918390> + 22911: <-0.257643, -0.342852, 0.903367> + 22912: <-0.215649, -0.300461, 0.929096> + 22913: <-0.215220, -0.257519, 0.942000> + 22914: <-0.257702, -0.257702, 0.931225> + 22915: <-0.257736, -0.300219, 0.918390> + 22916: <-0.215220, -0.257519, 0.942000> + 22917: <-0.214732, -0.214732, 0.952775> + 22918: <-0.257519, -0.215220, 0.942000> + 22919: <-0.257702, -0.257702, 0.931225> + 22920: <-0.214732, -0.214732, 0.952775> + 22921: <-0.214182, -0.172005, 0.961530> + 22922: <-0.257217, -0.172679, 0.950800> + 22923: <-0.257519, -0.215220, 0.942000> + 22924: <-0.214182, -0.172005, 0.961530> + 22925: <-0.213666, -0.129250, 0.968319> + 22926: <-0.256880, -0.129981, 0.957663> + 22927: <-0.257217, -0.172679, 0.950800> + 22928: <-0.213666, -0.129250, 0.968319> + 22929: <-0.213204, -0.086398, 0.973180> + 22930: <-0.256544, -0.087041, 0.962605> + 22931: <-0.256880, -0.129981, 0.957663> + 22932: <-0.213204, -0.086398, 0.973180> + 22933: <-0.212870, -0.043306, 0.976120> + 22934: <-0.256267, -0.043703, 0.965618> + 22935: <-0.256544, -0.087041, 0.962605> + 22936: <-0.212870, -0.043306, 0.976120> + 22937: <-0.212750, 0.000000, 0.977107> + 22938: <-0.256177, 0.000000, 0.966630> + 22939: <-0.256267, -0.043703, 0.965618> + 22940: <-0.212750, 0.000000, 0.977107> + 22941: <-0.212870, 0.043306, 0.976120> + 22942: <-0.256267, 0.043703, 0.965618> + 22943: <-0.256177, 0.000000, 0.966630> + 22944: <-0.212870, 0.043306, 0.976120> + 22945: <-0.213204, 0.086398, 0.973180> + 22946: <-0.256544, 0.087041, 0.962605> + 22947: <-0.256267, 0.043703, 0.965618> + 22948: <-0.213204, 0.086398, 0.973180> + 22949: <-0.213666, 0.129250, 0.968319> + 22950: <-0.256880, 0.129981, 0.957663> + 22951: <-0.256544, 0.087041, 0.962605> + 22952: <-0.213666, 0.129250, 0.968319> + 22953: <-0.214182, 0.172005, 0.961530> + 22954: <-0.257217, 0.172679, 0.950800> + 22955: <-0.256880, 0.129981, 0.957663> + 22956: <-0.214182, 0.172005, 0.961530> + 22957: <-0.214732, 0.214732, 0.952775> + 22958: <-0.257519, 0.215220, 0.942000> + 22959: <-0.257217, 0.172679, 0.950800> + 22960: <-0.214732, 0.214732, 0.952775> + 22961: <-0.215220, 0.257519, 0.942000> + 22962: <-0.257702, 0.257702, 0.931225> + 22963: <-0.257519, 0.215220, 0.942000> + 22964: <-0.215220, 0.257519, 0.942000> + 22965: <-0.215649, 0.300461, 0.929096> + 22966: <-0.257736, 0.300219, 0.918390> + 22967: <-0.257702, 0.257702, 0.931225> + 22968: <-0.215649, 0.300461, 0.929096> + 22969: <-0.215982, 0.343582, 0.913949> + 22970: <-0.257643, 0.342852, 0.903367> + 22971: <-0.257736, 0.300219, 0.918390> + 22972: <-0.215982, 0.343582, 0.913949> + 22973: <-0.216199, 0.386985, 0.896382> + 22974: <-0.257364, 0.385664, 0.886018> + 22975: <-0.257643, 0.342852, 0.903367> + 22976: <-0.216199, 0.386985, 0.896382> + 22977: <-0.216320, 0.430657, 0.876208> + 22978: <-0.256999, 0.428698, 0.866124> + 22979: <-0.257364, 0.385664, 0.886018> + 22980: <-0.216320, 0.430657, 0.876208> + 22981: <-0.216413, 0.474515, 0.853230> + 22982: <-0.256606, 0.471888, 0.843490> + 22983: <-0.256999, 0.428698, 0.866124> + 22984: <-0.216413, 0.474515, 0.853230> + 22985: <-0.216475, 0.518435, 0.827263> + 22986: <-0.256243, 0.515110, 0.817925> + 22987: <-0.256606, 0.471888, 0.843490> + 22988: <-0.216475, 0.518435, 0.827263> + 22989: <-0.216534, 0.562257, 0.798110> + 22990: <-0.255937, 0.558172, 0.789266> + 22991: <-0.256243, 0.515110, 0.817925> + 22992: <-0.216534, 0.562257, 0.798110> + 22993: <-0.216596, 0.605748, 0.765608> + 22994: <-0.255750, 0.600829, 0.757361> + 22995: <-0.255937, 0.558172, 0.789266> + 22996: <-0.216596, 0.605748, 0.765608> + 22997: <-0.216660, 0.648606, 0.729636> + 22998: <-0.255632, 0.642833, 0.722093> + 22999: <-0.255750, 0.600829, 0.757361> + 23000: <-0.255632, -0.642833, 0.722093> + 23001: <-0.255750, -0.600829, 0.757361> + 23002: <-0.294207, -0.595158, 0.747816> + 23003: <-0.293904, -0.636150, 0.713396> + 23004: <-0.255750, -0.600829, 0.757361> + 23005: <-0.255937, -0.558172, 0.789266> + 23006: <-0.294729, -0.553415, 0.779017> + 23007: <-0.294207, -0.595158, 0.747816> + 23008: <-0.255937, -0.558172, 0.789266> + 23009: <-0.256243, -0.515110, 0.817925> + 23010: <-0.295457, -0.511198, 0.807082> + 23011: <-0.294729, -0.553415, 0.779017> + 23012: <-0.256243, -0.515110, 0.817925> + 23013: <-0.256606, -0.471888, 0.843490> + 23014: <-0.296339, -0.468770, 0.832128> + 23015: <-0.295457, -0.511198, 0.807082> + 23016: <-0.256606, -0.471888, 0.843490> + 23017: <-0.256999, -0.428698, 0.866124> + 23018: <-0.297287, -0.426323, 0.854324> + 23019: <-0.296339, -0.468770, 0.832128> + 23020: <-0.256999, -0.428698, 0.866124> + 23021: <-0.257364, -0.385664, 0.886018> + 23022: <-0.298259, -0.383986, 0.873840> + 23023: <-0.297287, -0.426323, 0.854324> + 23024: <-0.257364, -0.385664, 0.886018> + 23025: <-0.257643, -0.342852, 0.903367> + 23026: <-0.299085, -0.341811, 0.890906> + 23027: <-0.298259, -0.383986, 0.873840> + 23028: <-0.257643, -0.342852, 0.903367> + 23029: <-0.257736, -0.300219, 0.918390> + 23030: <-0.299762, -0.299762, 0.905696> + 23031: <-0.299085, -0.341811, 0.890906> + 23032: <-0.257736, -0.300219, 0.918390> + 23033: <-0.257702, -0.257702, 0.931225> + 23034: <-0.300219, -0.257736, 0.918390> + 23035: <-0.299762, -0.299762, 0.905696> + 23036: <-0.257702, -0.257702, 0.931225> + 23037: <-0.257519, -0.215220, 0.942000> + 23038: <-0.300461, -0.215649, 0.929096> + 23039: <-0.300219, -0.257736, 0.918390> + 23040: <-0.257519, -0.215220, 0.942000> + 23041: <-0.257217, -0.172679, 0.950800> + 23042: <-0.300496, -0.173351, 0.937897> + 23043: <-0.300461, -0.215649, 0.929096> + 23044: <-0.257217, -0.172679, 0.950800> + 23045: <-0.256880, -0.129981, 0.957663> + 23046: <-0.300427, -0.130743, 0.944802> + 23047: <-0.300496, -0.173351, 0.937897> + 23048: <-0.256880, -0.129981, 0.957663> + 23049: <-0.256544, -0.087041, 0.962605> + 23050: <-0.300248, -0.087712, 0.949820> + 23051: <-0.300427, -0.130743, 0.944802> + 23052: <-0.256544, -0.087041, 0.962605> + 23053: <-0.256267, -0.043703, 0.965618> + 23054: <-0.300092, -0.044130, 0.952889> + 23055: <-0.300248, -0.087712, 0.949820> + 23056: <-0.256267, -0.043703, 0.965618> + 23057: <-0.256177, 0.000000, 0.966630> + 23058: <-0.300059, 0.000000, 0.953921> + 23059: <-0.300092, -0.044130, 0.952889> + 23060: <-0.256177, 0.000000, 0.966630> + 23061: <-0.256267, 0.043703, 0.965618> + 23062: <-0.300092, 0.044130, 0.952889> + 23063: <-0.300059, 0.000000, 0.953921> + 23064: <-0.256267, 0.043703, 0.965618> + 23065: <-0.256544, 0.087041, 0.962605> + 23066: <-0.300248, 0.087712, 0.949820> + 23067: <-0.300092, 0.044130, 0.952889> + 23068: <-0.256544, 0.087041, 0.962605> + 23069: <-0.256880, 0.129981, 0.957663> + 23070: <-0.300427, 0.130743, 0.944802> + 23071: <-0.300248, 0.087712, 0.949820> + 23072: <-0.256880, 0.129981, 0.957663> + 23073: <-0.257217, 0.172679, 0.950800> + 23074: <-0.300496, 0.173351, 0.937897> + 23075: <-0.300427, 0.130743, 0.944802> + 23076: <-0.257217, 0.172679, 0.950800> + 23077: <-0.257519, 0.215220, 0.942000> + 23078: <-0.300461, 0.215649, 0.929096> + 23079: <-0.300496, 0.173351, 0.937897> + 23080: <-0.257519, 0.215220, 0.942000> + 23081: <-0.257702, 0.257702, 0.931225> + 23082: <-0.300219, 0.257736, 0.918390> + 23083: <-0.300461, 0.215649, 0.929096> + 23084: <-0.257702, 0.257702, 0.931225> + 23085: <-0.257736, 0.300219, 0.918390> + 23086: <-0.299762, 0.299762, 0.905696> + 23087: <-0.300219, 0.257736, 0.918390> + 23088: <-0.257736, 0.300219, 0.918390> + 23089: <-0.257643, 0.342852, 0.903367> + 23090: <-0.299085, 0.341811, 0.890906> + 23091: <-0.299762, 0.299762, 0.905696> + 23092: <-0.257643, 0.342852, 0.903367> + 23093: <-0.257364, 0.385664, 0.886018> + 23094: <-0.298262, 0.383960, 0.873851> + 23095: <-0.299085, 0.341811, 0.890906> + 23096: <-0.257364, 0.385664, 0.886018> + 23097: <-0.256999, 0.428698, 0.866124> + 23098: <-0.297287, 0.426323, 0.854324> + 23099: <-0.298262, 0.383960, 0.873851> + 23100: <-0.256999, 0.428698, 0.866124> + 23101: <-0.256606, 0.471888, 0.843490> + 23102: <-0.296339, 0.468770, 0.832128> + 23103: <-0.297287, 0.426323, 0.854324> + 23104: <-0.256606, 0.471888, 0.843490> + 23105: <-0.256243, 0.515110, 0.817925> + 23106: <-0.295457, 0.511198, 0.807082> + 23107: <-0.296339, 0.468770, 0.832128> + 23108: <-0.256243, 0.515110, 0.817925> + 23109: <-0.255937, 0.558172, 0.789266> + 23110: <-0.294729, 0.553415, 0.779017> + 23111: <-0.295457, 0.511198, 0.807082> + 23112: <-0.255937, 0.558172, 0.789266> + 23113: <-0.255750, 0.600829, 0.757361> + 23114: <-0.294207, 0.595158, 0.747816> + 23115: <-0.294729, 0.553415, 0.779017> + 23116: <-0.255750, 0.600829, 0.757361> + 23117: <-0.255632, 0.642833, 0.722093> + 23118: <-0.293904, 0.636150, 0.713396> + 23119: <-0.294207, 0.595158, 0.747816> + 23120: <-0.293904, -0.636150, 0.713396> + 23121: <-0.294207, -0.595158, 0.747816> + 23122: <-0.332170, -0.588744, 0.736915> + 23123: <-0.331652, -0.628603, 0.703467> + 23124: <-0.294207, -0.595158, 0.747816> + 23125: <-0.294729, -0.553415, 0.779017> + 23126: <-0.333090, -0.548009, 0.767292> + 23127: <-0.332170, -0.588744, 0.736915> + 23128: <-0.294729, -0.553415, 0.779017> + 23129: <-0.295457, -0.511198, 0.807082> + 23130: <-0.334337, -0.506740, 0.794627> + 23131: <-0.333090, -0.548009, 0.767292> + 23132: <-0.295457, -0.511198, 0.807082> + 23133: <-0.296339, -0.468770, 0.832128> + 23134: <-0.335801, -0.465202, 0.819039> + 23135: <-0.334337, -0.506740, 0.794627> + 23136: <-0.296339, -0.468770, 0.832128> + 23137: <-0.297287, -0.426323, 0.854324> + 23138: <-0.337391, -0.423577, 0.840684> + 23139: <-0.335801, -0.465202, 0.819039> + 23140: <-0.297287, -0.426323, 0.854324> + 23141: <-0.298259, -0.383986, 0.873840> + 23142: <-0.339005, -0.381976, 0.859750> + 23143: <-0.337391, -0.423577, 0.840684> + 23144: <-0.298259, -0.383986, 0.873840> + 23145: <-0.299085, -0.341811, 0.890906> + 23146: <-0.340503, -0.340503, 0.876422> + 23147: <-0.339005, -0.381976, 0.859750> + 23148: <-0.299085, -0.341811, 0.890906> + 23149: <-0.299762, -0.299762, 0.905696> + 23150: <-0.341811, -0.299085, 0.890906> + 23151: <-0.340503, -0.340503, 0.876422> + 23152: <-0.299762, -0.299762, 0.905696> + 23153: <-0.300219, -0.257736, 0.918390> + 23154: <-0.342852, -0.257643, 0.903367> + 23155: <-0.341811, -0.299085, 0.890906> + 23156: <-0.300219, -0.257736, 0.918390> + 23157: <-0.300461, -0.215649, 0.929096> + 23158: <-0.343582, -0.215982, 0.913949> + 23159: <-0.342852, -0.257643, 0.903367> + 23160: <-0.300461, -0.215649, 0.929096> + 23161: <-0.300496, -0.173351, 0.937897> + 23162: <-0.344072, -0.173989, 0.922682> + 23163: <-0.343582, -0.215982, 0.913949> + 23164: <-0.300496, -0.173351, 0.937897> + 23165: <-0.300427, -0.130743, 0.944802> + 23166: <-0.344322, -0.131509, 0.929596> + 23167: <-0.344072, -0.173989, 0.922682> + 23168: <-0.300427, -0.130743, 0.944802> + 23169: <-0.300248, -0.087712, 0.949820> + 23170: <-0.344408, -0.088414, 0.934648> + 23171: <-0.344322, -0.131509, 0.929596> + 23172: <-0.300248, -0.087712, 0.949820> + 23173: <-0.300092, -0.044130, 0.952889> + 23174: <-0.344409, -0.044558, 0.937762> + 23175: <-0.344408, -0.088414, 0.934648> + 23176: <-0.300092, -0.044130, 0.952889> + 23177: <-0.300059, 0.000000, 0.953921> + 23178: <-0.344405, 0.000000, 0.938821> + 23179: <-0.344409, -0.044558, 0.937762> + 23180: <-0.300059, 0.000000, 0.953921> + 23181: <-0.300092, 0.044130, 0.952889> + 23182: <-0.344409, 0.044558, 0.937762> + 23183: <-0.344405, 0.000000, 0.938821> + 23184: <-0.300092, 0.044130, 0.952889> + 23185: <-0.300248, 0.087712, 0.949820> + 23186: <-0.344408, 0.088414, 0.934648> + 23187: <-0.344409, 0.044558, 0.937762> + 23188: <-0.300248, 0.087712, 0.949820> + 23189: <-0.300427, 0.130743, 0.944802> + 23190: <-0.344322, 0.131509, 0.929596> + 23191: <-0.344408, 0.088414, 0.934648> + 23192: <-0.300427, 0.130743, 0.944802> + 23193: <-0.300496, 0.173351, 0.937897> + 23194: <-0.344072, 0.173989, 0.922682> + 23195: <-0.344322, 0.131509, 0.929596> + 23196: <-0.300496, 0.173351, 0.937897> + 23197: <-0.300461, 0.215649, 0.929096> + 23198: <-0.343582, 0.215982, 0.913949> + 23199: <-0.344072, 0.173989, 0.922682> + 23200: <-0.300461, 0.215649, 0.929096> + 23201: <-0.300219, 0.257736, 0.918390> + 23202: <-0.342852, 0.257643, 0.903367> + 23203: <-0.343582, 0.215982, 0.913949> + 23204: <-0.300219, 0.257736, 0.918390> + 23205: <-0.299762, 0.299762, 0.905696> + 23206: <-0.341811, 0.299085, 0.890906> + 23207: <-0.342852, 0.257643, 0.903367> + 23208: <-0.299762, 0.299762, 0.905696> + 23209: <-0.299085, 0.341811, 0.890906> + 23210: <-0.340503, 0.340503, 0.876422> + 23211: <-0.341811, 0.299085, 0.890906> + 23212: <-0.299085, 0.341811, 0.890906> + 23213: <-0.298262, 0.383960, 0.873851> + 23214: <-0.339005, 0.381976, 0.859750> + 23215: <-0.340503, 0.340503, 0.876422> + 23216: <-0.298262, 0.383960, 0.873851> + 23217: <-0.297287, 0.426323, 0.854324> + 23218: <-0.337391, 0.423577, 0.840684> + 23219: <-0.339005, 0.381976, 0.859750> + 23220: <-0.297287, 0.426323, 0.854324> + 23221: <-0.296339, 0.468770, 0.832128> + 23222: <-0.335801, 0.465202, 0.819039> + 23223: <-0.337391, 0.423577, 0.840684> + 23224: <-0.296339, 0.468770, 0.832128> + 23225: <-0.295457, 0.511198, 0.807082> + 23226: <-0.334310, 0.506745, 0.794636> + 23227: <-0.335801, 0.465202, 0.819039> + 23228: <-0.295457, 0.511198, 0.807082> + 23229: <-0.294729, 0.553415, 0.779017> + 23230: <-0.333090, 0.548009, 0.767292> + 23231: <-0.334310, 0.506745, 0.794636> + 23232: <-0.294729, 0.553415, 0.779017> + 23233: <-0.294207, 0.595158, 0.747816> + 23234: <-0.332170, 0.588744, 0.736915> + 23235: <-0.333090, 0.548009, 0.767292> + 23236: <-0.294207, 0.595158, 0.747816> + 23237: <-0.293904, 0.636150, 0.713396> + 23238: <-0.331652, 0.628603, 0.703467> + 23239: <-0.332170, 0.588744, 0.736915> + 23240: <-0.331652, -0.628603, 0.703467> + 23241: <-0.332170, -0.588744, 0.736915> + 23242: <-0.369188, -0.581661, 0.724825> + 23243: <-0.368246, -0.620305, 0.692544> + 23244: <-0.332170, -0.588744, 0.736915> + 23245: <-0.333090, -0.548009, 0.767292> + 23246: <-0.370721, -0.542028, 0.754169> + 23247: <-0.369188, -0.581661, 0.724825> + 23248: <-0.333090, -0.548009, 0.767292> + 23249: <-0.334337, -0.506740, 0.794627> + 23250: <-0.372705, -0.501802, 0.780568> + 23251: <-0.370721, -0.542028, 0.754169> + 23252: <-0.334337, -0.506740, 0.794627> + 23253: <-0.335801, -0.465202, 0.819039> + 23254: <-0.374961, -0.461239, 0.804154> + 23255: <-0.372705, -0.501802, 0.780568> + 23256: <-0.335801, -0.465202, 0.819039> + 23257: <-0.337391, -0.423577, 0.840684> + 23258: <-0.377345, -0.420500, 0.825100> + 23259: <-0.374961, -0.461239, 0.804154> + 23260: <-0.337391, -0.423577, 0.840684> + 23261: <-0.339005, -0.381976, 0.859750> + 23262: <-0.379751, -0.379751, 0.843551> + 23263: <-0.377345, -0.420500, 0.825100> + 23264: <-0.339005, -0.381976, 0.859750> + 23265: <-0.340503, -0.340503, 0.876422> + 23266: <-0.381976, -0.339005, 0.859750> + 23267: <-0.379751, -0.379751, 0.843551> + 23268: <-0.340503, -0.340503, 0.876422> + 23269: <-0.341811, -0.299085, 0.890906> + 23270: <-0.383960, -0.298262, 0.873851> + 23271: <-0.381976, -0.339005, 0.859750> + 23272: <-0.341811, -0.299085, 0.890906> + 23273: <-0.342852, -0.257643, 0.903367> + 23274: <-0.385638, -0.257367, 0.886028> + 23275: <-0.383960, -0.298262, 0.873851> + 23276: <-0.342852, -0.257643, 0.903367> + 23277: <-0.343582, -0.215982, 0.913949> + 23278: <-0.386985, -0.216199, 0.896382> + 23279: <-0.385638, -0.257367, 0.886028> + 23280: <-0.343582, -0.215982, 0.913949> + 23281: <-0.344072, -0.173989, 0.922682> + 23282: <-0.387965, -0.174541, 0.904997> + 23283: <-0.386985, -0.216199, 0.896382> + 23284: <-0.344072, -0.173989, 0.922682> + 23285: <-0.344322, -0.131509, 0.929596> + 23286: <-0.388632, -0.132240, 0.911854> + 23287: <-0.387965, -0.174541, 0.904997> + 23288: <-0.344322, -0.131509, 0.929596> + 23289: <-0.344408, -0.088414, 0.934648> + 23290: <-0.388998, -0.089116, 0.916918> + 23291: <-0.388632, -0.132240, 0.911854> + 23292: <-0.344408, -0.088414, 0.934648> + 23293: <-0.344409, -0.044558, 0.937762> + 23294: <-0.389180, -0.045016, 0.920061> + 23295: <-0.388998, -0.089116, 0.916918> + 23296: <-0.344409, -0.044558, 0.937762> + 23297: <-0.344405, 0.000000, 0.938821> + 23298: <-0.389244, 0.000000, 0.921135> + 23299: <-0.389180, -0.045016, 0.920061> + 23300: <-0.344405, 0.000000, 0.938821> + 23301: <-0.344409, 0.044558, 0.937762> + 23302: <-0.389180, 0.045016, 0.920061> + 23303: <-0.389244, 0.000000, 0.921135> + 23304: <-0.344409, 0.044558, 0.937762> + 23305: <-0.344408, 0.088414, 0.934648> + 23306: <-0.388998, 0.089116, 0.916918> + 23307: <-0.389180, 0.045016, 0.920061> + 23308: <-0.344408, 0.088414, 0.934648> + 23309: <-0.344322, 0.131509, 0.929596> + 23310: <-0.388632, 0.132240, 0.911854> + 23311: <-0.388998, 0.089116, 0.916918> + 23312: <-0.344322, 0.131509, 0.929596> + 23313: <-0.344072, 0.173989, 0.922682> + 23314: <-0.387965, 0.174541, 0.904997> + 23315: <-0.388632, 0.132240, 0.911854> + 23316: <-0.344072, 0.173989, 0.922682> + 23317: <-0.343582, 0.215982, 0.913949> + 23318: <-0.386985, 0.216199, 0.896382> + 23319: <-0.387965, 0.174541, 0.904997> + 23320: <-0.343582, 0.215982, 0.913949> + 23321: <-0.342852, 0.257643, 0.903367> + 23322: <-0.385664, 0.257364, 0.886018> + 23323: <-0.386985, 0.216199, 0.896382> + 23324: <-0.342852, 0.257643, 0.903367> + 23325: <-0.341811, 0.299085, 0.890906> + 23326: <-0.383960, 0.298262, 0.873851> + 23327: <-0.385664, 0.257364, 0.886018> + 23328: <-0.341811, 0.299085, 0.890906> + 23329: <-0.340503, 0.340503, 0.876422> + 23330: <-0.381976, 0.339005, 0.859750> + 23331: <-0.383960, 0.298262, 0.873851> + 23332: <-0.340503, 0.340503, 0.876422> + 23333: <-0.339005, 0.381976, 0.859750> + 23334: <-0.379751, 0.379751, 0.843551> + 23335: <-0.381976, 0.339005, 0.859750> + 23336: <-0.339005, 0.381976, 0.859750> + 23337: <-0.337391, 0.423577, 0.840684> + 23338: <-0.377345, 0.420500, 0.825100> + 23339: <-0.379751, 0.379751, 0.843551> + 23340: <-0.337391, 0.423577, 0.840684> + 23341: <-0.335801, 0.465202, 0.819039> + 23342: <-0.374961, 0.461239, 0.804154> + 23343: <-0.377345, 0.420500, 0.825100> + 23344: <-0.335801, 0.465202, 0.819039> + 23345: <-0.334310, 0.506745, 0.794636> + 23346: <-0.372705, 0.501802, 0.780568> + 23347: <-0.374961, 0.461239, 0.804154> + 23348: <-0.334310, 0.506745, 0.794636> + 23349: <-0.333090, 0.548009, 0.767292> + 23350: <-0.370721, 0.542028, 0.754169> + 23351: <-0.372705, 0.501802, 0.780568> + 23352: <-0.333090, 0.548009, 0.767292> + 23353: <-0.332170, 0.588744, 0.736915> + 23354: <-0.369188, 0.581661, 0.724825> + 23355: <-0.370721, 0.542028, 0.754169> + 23356: <-0.332170, 0.588744, 0.736915> + 23357: <-0.331652, 0.628603, 0.703467> + 23358: <-0.368246, 0.620305, 0.692544> + 23359: <-0.369188, 0.581661, 0.724825> + 23360: <-0.368246, -0.620305, 0.692544> + 23361: <-0.369188, -0.581661, 0.724825> + 23362: <-0.404839, -0.574008, 0.711772> + 23363: <-0.403223, -0.611427, 0.680859> + 23364: <-0.369188, -0.581661, 0.724825> + 23365: <-0.370721, -0.542028, 0.754169> + 23366: <-0.407307, -0.535518, 0.739812> + 23367: <-0.404839, -0.574008, 0.711772> + 23368: <-0.370721, -0.542028, 0.754169> + 23369: <-0.372705, -0.501802, 0.780568> + 23370: <-0.410398, -0.496372, 0.764976> + 23371: <-0.407307, -0.535518, 0.739812> + 23372: <-0.372705, -0.501802, 0.780568> + 23373: <-0.374961, -0.461239, 0.804154> + 23374: <-0.413777, -0.456900, 0.787421> + 23375: <-0.410398, -0.496372, 0.764976> + 23376: <-0.374961, -0.461239, 0.804154> + 23377: <-0.377345, -0.420500, 0.825100> + 23378: <-0.417202, -0.417202, 0.807394> + 23379: <-0.413777, -0.456900, 0.787421> + 23380: <-0.377345, -0.420500, 0.825100> + 23381: <-0.379751, -0.379751, 0.843551> + 23382: <-0.420500, -0.377345, 0.825100> + 23383: <-0.417202, -0.417202, 0.807394> + 23384: <-0.379751, -0.379751, 0.843551> + 23385: <-0.381976, -0.339005, 0.859750> + 23386: <-0.423577, -0.337391, 0.840684> + 23387: <-0.420500, -0.377345, 0.825100> + 23388: <-0.381976, -0.339005, 0.859750> + 23389: <-0.383960, -0.298262, 0.873851> + 23390: <-0.426323, -0.297287, 0.854324> + 23391: <-0.423577, -0.337391, 0.840684> + 23392: <-0.383960, -0.298262, 0.873851> + 23393: <-0.385638, -0.257367, 0.886028> + 23394: <-0.428698, -0.256999, 0.866124> + 23395: <-0.426323, -0.297287, 0.854324> + 23396: <-0.385638, -0.257367, 0.886028> + 23397: <-0.386985, -0.216199, 0.896382> + 23398: <-0.430657, -0.216320, 0.876208> + 23399: <-0.428698, -0.256999, 0.866124> + 23400: <-0.386985, -0.216199, 0.896382> + 23401: <-0.387965, -0.174541, 0.904997> + 23402: <-0.432149, -0.175026, 0.884654> + 23403: <-0.430657, -0.216320, 0.876208> + 23404: <-0.387965, -0.174541, 0.904997> + 23405: <-0.388632, -0.132240, 0.911854> + 23406: <-0.433281, -0.132911, 0.891405> + 23407: <-0.432149, -0.175026, 0.884654> + 23408: <-0.388632, -0.132240, 0.911854> + 23409: <-0.388998, -0.089116, 0.916918> + 23410: <-0.433981, -0.089787, 0.896437> + 23411: <-0.433281, -0.132911, 0.891405> + 23412: <-0.388998, -0.089116, 0.916918> + 23413: <-0.389180, -0.045016, 0.920061> + 23414: <-0.434379, -0.045443, 0.899583> + 23415: <-0.433981, -0.089787, 0.896437> + 23416: <-0.389180, -0.045016, 0.920061> + 23417: <-0.389244, 0.000000, 0.921135> + 23418: <-0.434534, 0.000000, 0.900655> + 23419: <-0.434379, -0.045443, 0.899583> + 23420: <-0.389244, 0.000000, 0.921135> + 23421: <-0.389180, 0.045016, 0.920061> + 23422: <-0.434379, 0.045443, 0.899583> + 23423: <-0.434534, 0.000000, 0.900655> + 23424: <-0.389180, 0.045016, 0.920061> + 23425: <-0.388998, 0.089116, 0.916918> + 23426: <-0.433981, 0.089787, 0.896437> + 23427: <-0.434379, 0.045443, 0.899583> + 23428: <-0.388998, 0.089116, 0.916918> + 23429: <-0.388632, 0.132240, 0.911854> + 23430: <-0.433281, 0.132911, 0.891405> + 23431: <-0.433981, 0.089787, 0.896437> + 23432: <-0.388632, 0.132240, 0.911854> + 23433: <-0.387965, 0.174541, 0.904997> + 23434: <-0.432149, 0.175026, 0.884654> + 23435: <-0.433281, 0.132911, 0.891405> + 23436: <-0.387965, 0.174541, 0.904997> + 23437: <-0.386985, 0.216199, 0.896382> + 23438: <-0.430657, 0.216320, 0.876208> + 23439: <-0.432149, 0.175026, 0.884654> + 23440: <-0.386985, 0.216199, 0.896382> + 23441: <-0.385664, 0.257364, 0.886018> + 23442: <-0.428698, 0.256999, 0.866124> + 23443: <-0.430657, 0.216320, 0.876208> + 23444: <-0.385664, 0.257364, 0.886018> + 23445: <-0.383960, 0.298262, 0.873851> + 23446: <-0.426323, 0.297287, 0.854324> + 23447: <-0.428698, 0.256999, 0.866124> + 23448: <-0.383960, 0.298262, 0.873851> + 23449: <-0.381976, 0.339005, 0.859750> + 23450: <-0.423577, 0.337391, 0.840684> + 23451: <-0.426323, 0.297287, 0.854324> + 23452: <-0.381976, 0.339005, 0.859750> + 23453: <-0.379751, 0.379751, 0.843551> + 23454: <-0.420500, 0.377345, 0.825100> + 23455: <-0.423577, 0.337391, 0.840684> + 23456: <-0.379751, 0.379751, 0.843551> + 23457: <-0.377345, 0.420500, 0.825100> + 23458: <-0.417202, 0.417202, 0.807394> + 23459: <-0.420500, 0.377345, 0.825100> + 23460: <-0.377345, 0.420500, 0.825100> + 23461: <-0.374961, 0.461239, 0.804154> + 23462: <-0.413777, 0.456900, 0.787421> + 23463: <-0.417202, 0.417202, 0.807394> + 23464: <-0.374961, 0.461239, 0.804154> + 23465: <-0.372705, 0.501802, 0.780568> + 23466: <-0.410392, 0.496395, 0.764964> + 23467: <-0.413777, 0.456900, 0.787421> + 23468: <-0.372705, 0.501802, 0.780568> + 23469: <-0.370721, 0.542028, 0.754169> + 23470: <-0.407307, 0.535518, 0.739812> + 23471: <-0.410392, 0.496395, 0.764964> + 23472: <-0.370721, 0.542028, 0.754169> + 23473: <-0.369188, 0.581661, 0.724825> + 23474: <-0.404839, 0.574008, 0.711772> + 23475: <-0.407307, 0.535518, 0.739812> + 23476: <-0.369188, 0.581661, 0.724825> + 23477: <-0.368246, 0.620305, 0.692544> + 23478: <-0.403223, 0.611427, 0.680859> + 23479: <-0.404839, 0.574008, 0.711772> + 23480: <-0.403223, -0.611427, 0.680859> + 23481: <-0.404839, -0.574008, 0.711772> + 23482: <-0.439475, -0.565794, 0.697667> + 23483: <-0.437036, -0.601963, 0.668312> + 23484: <-0.404839, -0.574008, 0.711772> + 23485: <-0.407307, -0.535518, 0.739812> + 23486: <-0.443145, -0.528478, 0.724109> + 23487: <-0.439475, -0.565794, 0.697667> + 23488: <-0.407307, -0.535518, 0.739812> + 23489: <-0.410398, -0.496372, 0.764976> + 23490: <-0.447593, -0.490534, 0.747688> + 23491: <-0.443145, -0.528478, 0.724109> + 23492: <-0.410398, -0.496372, 0.764976> + 23493: <-0.413777, -0.456900, 0.787421> + 23494: <-0.452290, -0.452290, 0.768679> + 23495: <-0.447593, -0.490534, 0.747688> + 23496: <-0.413777, -0.456900, 0.787421> + 23497: <-0.417202, -0.417202, 0.807394> + 23498: <-0.456900, -0.413777, 0.787421> + 23499: <-0.452290, -0.452290, 0.768679> + 23500: <-0.417202, -0.417202, 0.807394> + 23501: <-0.420500, -0.377345, 0.825100> + 23502: <-0.461239, -0.374961, 0.804154> + 23503: <-0.456900, -0.413777, 0.787421> + 23504: <-0.420500, -0.377345, 0.825100> + 23505: <-0.423577, -0.337391, 0.840684> + 23506: <-0.465202, -0.335801, 0.819039> + 23507: <-0.461239, -0.374961, 0.804154> + 23508: <-0.423577, -0.337391, 0.840684> + 23509: <-0.426323, -0.297287, 0.854324> + 23510: <-0.468770, -0.296339, 0.832128> + 23511: <-0.465202, -0.335801, 0.819039> + 23512: <-0.426323, -0.297287, 0.854324> + 23513: <-0.428698, -0.256999, 0.866124> + 23514: <-0.471888, -0.256606, 0.843490> + 23515: <-0.468770, -0.296339, 0.832128> + 23516: <-0.428698, -0.256999, 0.866124> + 23517: <-0.430657, -0.216320, 0.876208> + 23518: <-0.474515, -0.216413, 0.853230> + 23519: <-0.471888, -0.256606, 0.843490> + 23520: <-0.430657, -0.216320, 0.876208> + 23521: <-0.432149, -0.175026, 0.884654> + 23522: <-0.476614, -0.175453, 0.861426> + 23523: <-0.474515, -0.216413, 0.853230> + 23524: <-0.432149, -0.175026, 0.884654> + 23525: <-0.433281, -0.132911, 0.891405> + 23526: <-0.478208, -0.133553, 0.868033> + 23527: <-0.476614, -0.175453, 0.861426> + 23528: <-0.433281, -0.132911, 0.891405> + 23529: <-0.433981, -0.089787, 0.896437> + 23530: <-0.479307, -0.090429, 0.872976> + 23531: <-0.478208, -0.133553, 0.868033> + 23532: <-0.433981, -0.089787, 0.896437> + 23533: <-0.434379, -0.045443, 0.899583> + 23534: <-0.479951, -0.045871, 0.876095> + 23535: <-0.479307, -0.090429, 0.872976> + 23536: <-0.434379, -0.045443, 0.899583> + 23537: <-0.434534, 0.000000, 0.900655> + 23538: <-0.480158, 0.000000, 0.877182> + 23539: <-0.479951, -0.045871, 0.876095> + 23540: <-0.434534, 0.000000, 0.900655> + 23541: <-0.434379, 0.045443, 0.899583> + 23542: <-0.479951, 0.045871, 0.876095> + 23543: <-0.480158, 0.000000, 0.877182> + 23544: <-0.434379, 0.045443, 0.899583> + 23545: <-0.433981, 0.089787, 0.896437> + 23546: <-0.479307, 0.090429, 0.872976> + 23547: <-0.479951, 0.045871, 0.876095> + 23548: <-0.433981, 0.089787, 0.896437> + 23549: <-0.433281, 0.132911, 0.891405> + 23550: <-0.478208, 0.133553, 0.868033> + 23551: <-0.479307, 0.090429, 0.872976> + 23552: <-0.433281, 0.132911, 0.891405> + 23553: <-0.432149, 0.175026, 0.884654> + 23554: <-0.476614, 0.175453, 0.861426> + 23555: <-0.478208, 0.133553, 0.868033> + 23556: <-0.432149, 0.175026, 0.884654> + 23557: <-0.430657, 0.216320, 0.876208> + 23558: <-0.474515, 0.216413, 0.853230> + 23559: <-0.476614, 0.175453, 0.861426> + 23560: <-0.430657, 0.216320, 0.876208> + 23561: <-0.428698, 0.256999, 0.866124> + 23562: <-0.471888, 0.256606, 0.843490> + 23563: <-0.474515, 0.216413, 0.853230> + 23564: <-0.428698, 0.256999, 0.866124> + 23565: <-0.426323, 0.297287, 0.854324> + 23566: <-0.468770, 0.296339, 0.832128> + 23567: <-0.471888, 0.256606, 0.843490> + 23568: <-0.426323, 0.297287, 0.854324> + 23569: <-0.423577, 0.337391, 0.840684> + 23570: <-0.465202, 0.335801, 0.819039> + 23571: <-0.468770, 0.296339, 0.832128> + 23572: <-0.423577, 0.337391, 0.840684> + 23573: <-0.420500, 0.377345, 0.825100> + 23574: <-0.461239, 0.374961, 0.804154> + 23575: <-0.465202, 0.335801, 0.819039> + 23576: <-0.420500, 0.377345, 0.825100> + 23577: <-0.417202, 0.417202, 0.807394> + 23578: <-0.456900, 0.413777, 0.787421> + 23579: <-0.461239, 0.374961, 0.804154> + 23580: <-0.417202, 0.417202, 0.807394> + 23581: <-0.413777, 0.456900, 0.787421> + 23582: <-0.452290, 0.452290, 0.768679> + 23583: <-0.456900, 0.413777, 0.787421> + 23584: <-0.413777, 0.456900, 0.787421> + 23585: <-0.410392, 0.496395, 0.764964> + 23586: <-0.447593, 0.490534, 0.747688> + 23587: <-0.452290, 0.452290, 0.768679> + 23588: <-0.410392, 0.496395, 0.764964> + 23589: <-0.407307, 0.535518, 0.739812> + 23590: <-0.443145, 0.528478, 0.724109> + 23591: <-0.447593, 0.490534, 0.747688> + 23592: <-0.407307, 0.535518, 0.739812> + 23593: <-0.404839, 0.574008, 0.711772> + 23594: <-0.439475, 0.565794, 0.697667> + 23595: <-0.443145, 0.528478, 0.724109> + 23596: <-0.404839, 0.574008, 0.711772> + 23597: <-0.403223, 0.611427, 0.680859> + 23598: <-0.437036, 0.601963, 0.668312> + 23599: <-0.439475, 0.565794, 0.697667> + 23600: <-0.437036, -0.601963, 0.668312> + 23601: <-0.439475, -0.565794, 0.697667> + 23602: <-0.473139, -0.557037, 0.682532> + 23603: <-0.469385, -0.591920, 0.655217> + 23604: <-0.439475, -0.565794, 0.697667> + 23605: <-0.443145, -0.528478, 0.724109> + 23606: <-0.478425, -0.520969, 0.706895> + 23607: <-0.473139, -0.557037, 0.682532> + 23608: <-0.443145, -0.528478, 0.724109> + 23609: <-0.447593, -0.490534, 0.747688> + 23610: <-0.484430, -0.484430, 0.728461> + 23611: <-0.478425, -0.520969, 0.706895> + 23612: <-0.447593, -0.490534, 0.747688> + 23613: <-0.452290, -0.452290, 0.768679> + 23614: <-0.490534, -0.447593, 0.747688> + 23615: <-0.484430, -0.484430, 0.728461> + 23616: <-0.452290, -0.452290, 0.768679> + 23617: <-0.456900, -0.413777, 0.787421> + 23618: <-0.496395, -0.410392, 0.764964> + 23619: <-0.490534, -0.447593, 0.747688> + 23620: <-0.456900, -0.413777, 0.787421> + 23621: <-0.461239, -0.374961, 0.804154> + 23622: <-0.501802, -0.372705, 0.780568> + 23623: <-0.496395, -0.410392, 0.764964> + 23624: <-0.461239, -0.374961, 0.804154> + 23625: <-0.465202, -0.335801, 0.819039> + 23626: <-0.506745, -0.334310, 0.794636> + 23627: <-0.501802, -0.372705, 0.780568> + 23628: <-0.465202, -0.335801, 0.819039> + 23629: <-0.468770, -0.296339, 0.832128> + 23630: <-0.511198, -0.295457, 0.807082> + 23631: <-0.506745, -0.334310, 0.794636> + 23632: <-0.468770, -0.296339, 0.832128> + 23633: <-0.471888, -0.256606, 0.843490> + 23634: <-0.515110, -0.256243, 0.817925> + 23635: <-0.511198, -0.295457, 0.807082> + 23636: <-0.471888, -0.256606, 0.843490> + 23637: <-0.474515, -0.216413, 0.853230> + 23638: <-0.518435, -0.216475, 0.827263> + 23639: <-0.515110, -0.256243, 0.817925> + 23640: <-0.474515, -0.216413, 0.853230> + 23641: <-0.476614, -0.175453, 0.861426> + 23642: <-0.521180, -0.175853, 0.835133> + 23643: <-0.518435, -0.216475, 0.827263> + 23644: <-0.476614, -0.175453, 0.861426> + 23645: <-0.478208, -0.133553, 0.868033> + 23646: <-0.523307, -0.134100, 0.841527> + 23647: <-0.521180, -0.175853, 0.835133> + 23648: <-0.478208, -0.133553, 0.868033> + 23649: <-0.479307, -0.090429, 0.872976> + 23650: <-0.524836, -0.091008, 0.846324> + 23651: <-0.523307, -0.134100, 0.841527> + 23652: <-0.479307, -0.090429, 0.872976> + 23653: <-0.479951, -0.045871, 0.876095> + 23654: <-0.525753, -0.046267, 0.849378> + 23655: <-0.524836, -0.091008, 0.846324> + 23656: <-0.479951, -0.045871, 0.876095> + 23657: <-0.480158, 0.000000, 0.877182> + 23658: <-0.526081, 0.000000, 0.850434> + 23659: <-0.525753, -0.046267, 0.849378> + 23660: <-0.480158, 0.000000, 0.877182> + 23661: <-0.479951, 0.045871, 0.876095> + 23662: <-0.525753, 0.046267, 0.849378> + 23663: <-0.526081, 0.000000, 0.850434> + 23664: <-0.479951, 0.045871, 0.876095> + 23665: <-0.479307, 0.090429, 0.872976> + 23666: <-0.524836, 0.091008, 0.846324> + 23667: <-0.525753, 0.046267, 0.849378> + 23668: <-0.479307, 0.090429, 0.872976> + 23669: <-0.478208, 0.133553, 0.868033> + 23670: <-0.523307, 0.134100, 0.841527> + 23671: <-0.524836, 0.091008, 0.846324> + 23672: <-0.478208, 0.133553, 0.868033> + 23673: <-0.476614, 0.175453, 0.861426> + 23674: <-0.521180, 0.175853, 0.835133> + 23675: <-0.523307, 0.134100, 0.841527> + 23676: <-0.476614, 0.175453, 0.861426> + 23677: <-0.474515, 0.216413, 0.853230> + 23678: <-0.518435, 0.216475, 0.827263> + 23679: <-0.521180, 0.175853, 0.835133> + 23680: <-0.474515, 0.216413, 0.853230> + 23681: <-0.471888, 0.256606, 0.843490> + 23682: <-0.515110, 0.256243, 0.817925> + 23683: <-0.518435, 0.216475, 0.827263> + 23684: <-0.471888, 0.256606, 0.843490> + 23685: <-0.468770, 0.296339, 0.832128> + 23686: <-0.511198, 0.295457, 0.807082> + 23687: <-0.515110, 0.256243, 0.817925> + 23688: <-0.468770, 0.296339, 0.832128> + 23689: <-0.465202, 0.335801, 0.819039> + 23690: <-0.506740, 0.334337, 0.794627> + 23691: <-0.511198, 0.295457, 0.807082> + 23692: <-0.465202, 0.335801, 0.819039> + 23693: <-0.461239, 0.374961, 0.804154> + 23694: <-0.501802, 0.372705, 0.780568> + 23695: <-0.506740, 0.334337, 0.794627> + 23696: <-0.461239, 0.374961, 0.804154> + 23697: <-0.456900, 0.413777, 0.787421> + 23698: <-0.496395, 0.410392, 0.764964> + 23699: <-0.501802, 0.372705, 0.780568> + 23700: <-0.456900, 0.413777, 0.787421> + 23701: <-0.452290, 0.452290, 0.768679> + 23702: <-0.490534, 0.447593, 0.747688> + 23703: <-0.496395, 0.410392, 0.764964> + 23704: <-0.452290, 0.452290, 0.768679> + 23705: <-0.447593, 0.490534, 0.747688> + 23706: <-0.484430, 0.484430, 0.728461> + 23707: <-0.490534, 0.447593, 0.747688> + 23708: <-0.447593, 0.490534, 0.747688> + 23709: <-0.443145, 0.528478, 0.724109> + 23710: <-0.478425, 0.520969, 0.706895> + 23711: <-0.484430, 0.484430, 0.728461> + 23712: <-0.443145, 0.528478, 0.724109> + 23713: <-0.439475, 0.565794, 0.697667> + 23714: <-0.473139, 0.557037, 0.682532> + 23715: <-0.478425, 0.520969, 0.706895> + 23716: <-0.439475, 0.565794, 0.697667> + 23717: <-0.437036, 0.601963, 0.668312> + 23718: <-0.469385, 0.591920, 0.655217> + 23719: <-0.473139, 0.557037, 0.682532> + 23720: <-0.469385, -0.591920, 0.655217> + 23721: <-0.473139, -0.557037, 0.682532> + 23722: <-0.506040, -0.547882, 0.666144> + 23723: <-0.500496, -0.581465, 0.641406> + 23724: <-0.473139, -0.557037, 0.682532> + 23725: <-0.478425, -0.520969, 0.706895> + 23726: <-0.513252, -0.513252, 0.687856> + 23727: <-0.506040, -0.547882, 0.666144> + 23728: <-0.478425, -0.520969, 0.706895> + 23729: <-0.484430, -0.484430, 0.728461> + 23730: <-0.520969, -0.478425, 0.706895> + 23731: <-0.513252, -0.513252, 0.687856> + 23732: <-0.484430, -0.484430, 0.728461> + 23733: <-0.490534, -0.447593, 0.747688> + 23734: <-0.528478, -0.443145, 0.724109> + 23735: <-0.520969, -0.478425, 0.706895> + 23736: <-0.490534, -0.447593, 0.747688> + 23737: <-0.496395, -0.410392, 0.764964> + 23738: <-0.535518, -0.407307, 0.739812> + 23739: <-0.528478, -0.443145, 0.724109> + 23740: <-0.496395, -0.410392, 0.764964> + 23741: <-0.501802, -0.372705, 0.780568> + 23742: <-0.542028, -0.370721, 0.754169> + 23743: <-0.535518, -0.407307, 0.739812> + 23744: <-0.501802, -0.372705, 0.780568> + 23745: <-0.506745, -0.334310, 0.794636> + 23746: <-0.548009, -0.333090, 0.767292> + 23747: <-0.542028, -0.370721, 0.754169> + 23748: <-0.506745, -0.334310, 0.794636> + 23749: <-0.511198, -0.295457, 0.807082> + 23750: <-0.553415, -0.294729, 0.779017> + 23751: <-0.548009, -0.333090, 0.767292> + 23752: <-0.511198, -0.295457, 0.807082> + 23753: <-0.515110, -0.256243, 0.817925> + 23754: <-0.558172, -0.255937, 0.789266> + 23755: <-0.553415, -0.294729, 0.779017> + 23756: <-0.515110, -0.256243, 0.817925> + 23757: <-0.518435, -0.216475, 0.827263> + 23758: <-0.562257, -0.216534, 0.798110> + 23759: <-0.558172, -0.255937, 0.789266> + 23760: <-0.518435, -0.216475, 0.827263> + 23761: <-0.521180, -0.175853, 0.835133> + 23762: <-0.565675, -0.176188, 0.805587> + 23763: <-0.562257, -0.216534, 0.798110> + 23764: <-0.521180, -0.175853, 0.835133> + 23765: <-0.523307, -0.134100, 0.841527> + 23766: <-0.568382, -0.134618, 0.811677> + 23767: <-0.565675, -0.176188, 0.805587> + 23768: <-0.523307, -0.134100, 0.841527> + 23769: <-0.524836, -0.091008, 0.846324> + 23770: <-0.570377, -0.091497, 0.816271> + 23771: <-0.568382, -0.134618, 0.811677> + 23772: <-0.524836, -0.091008, 0.846324> + 23773: <-0.525753, -0.046267, 0.849378> + 23774: <-0.571602, -0.046573, 0.819208> + 23775: <-0.570377, -0.091497, 0.816271> + 23776: <-0.525753, -0.046267, 0.849378> + 23777: <-0.526081, 0.000000, 0.850434> + 23778: <-0.572024, 0.000000, 0.820237> + 23779: <-0.571602, -0.046573, 0.819208> + 23780: <-0.526081, 0.000000, 0.850434> + 23781: <-0.525753, 0.046267, 0.849378> + 23782: <-0.571602, 0.046573, 0.819208> + 23783: <-0.572024, 0.000000, 0.820237> + 23784: <-0.525753, 0.046267, 0.849378> + 23785: <-0.524836, 0.091008, 0.846324> + 23786: <-0.570377, 0.091497, 0.816271> + 23787: <-0.571602, 0.046573, 0.819208> + 23788: <-0.524836, 0.091008, 0.846324> + 23789: <-0.523307, 0.134100, 0.841527> + 23790: <-0.568382, 0.134618, 0.811677> + 23791: <-0.570377, 0.091497, 0.816271> + 23792: <-0.523307, 0.134100, 0.841527> + 23793: <-0.521180, 0.175853, 0.835133> + 23794: <-0.565675, 0.176188, 0.805587> + 23795: <-0.568382, 0.134618, 0.811677> + 23796: <-0.521180, 0.175853, 0.835133> + 23797: <-0.518435, 0.216475, 0.827263> + 23798: <-0.562257, 0.216534, 0.798110> + 23799: <-0.565675, 0.176188, 0.805587> + 23800: <-0.518435, 0.216475, 0.827263> + 23801: <-0.515110, 0.256243, 0.817925> + 23802: <-0.558172, 0.255937, 0.789266> + 23803: <-0.562257, 0.216534, 0.798110> + 23804: <-0.515110, 0.256243, 0.817925> + 23805: <-0.511198, 0.295457, 0.807082> + 23806: <-0.553415, 0.294729, 0.779017> + 23807: <-0.558172, 0.255937, 0.789266> + 23808: <-0.511198, 0.295457, 0.807082> + 23809: <-0.506740, 0.334337, 0.794627> + 23810: <-0.548009, 0.333090, 0.767292> + 23811: <-0.553415, 0.294729, 0.779017> + 23812: <-0.506740, 0.334337, 0.794627> + 23813: <-0.501802, 0.372705, 0.780568> + 23814: <-0.542028, 0.370721, 0.754169> + 23815: <-0.548009, 0.333090, 0.767292> + 23816: <-0.501802, 0.372705, 0.780568> + 23817: <-0.496395, 0.410392, 0.764964> + 23818: <-0.535518, 0.407307, 0.739812> + 23819: <-0.542028, 0.370721, 0.754169> + 23820: <-0.496395, 0.410392, 0.764964> + 23821: <-0.490534, 0.447593, 0.747688> + 23822: <-0.528478, 0.443145, 0.724109> + 23823: <-0.535518, 0.407307, 0.739812> + 23824: <-0.490534, 0.447593, 0.747688> + 23825: <-0.484430, 0.484430, 0.728461> + 23826: <-0.520969, 0.478425, 0.706895> + 23827: <-0.528478, 0.443145, 0.724109> + 23828: <-0.484430, 0.484430, 0.728461> + 23829: <-0.478425, 0.520969, 0.706895> + 23830: <-0.513252, 0.513252, 0.687856> + 23831: <-0.520969, 0.478425, 0.706895> + 23832: <-0.478425, 0.520969, 0.706895> + 23833: <-0.473139, 0.557037, 0.682532> + 23834: <-0.506040, 0.547882, 0.666144> + 23835: <-0.513252, 0.513252, 0.687856> + 23836: <-0.473139, 0.557037, 0.682532> + 23837: <-0.469385, 0.591920, 0.655217> + 23838: <-0.500519, 0.581456, 0.641396> + 23839: <-0.506040, 0.547882, 0.666144> + 23840: <-0.500496, -0.581465, 0.641406> + 23841: <-0.506040, -0.547882, 0.666144> + 23842: <-0.538962, -0.538962, 0.647334> + 23843: <-0.531523, -0.571076, 0.625584> + 23844: <-0.506040, -0.547882, 0.666144> + 23845: <-0.513252, -0.513252, 0.687856> + 23846: <-0.547882, -0.506040, 0.666144> + 23847: <-0.538962, -0.538962, 0.647334> + 23848: <-0.513252, -0.513252, 0.687856> + 23849: <-0.520969, -0.478425, 0.706895> + 23850: <-0.557037, -0.473139, 0.682532> + 23851: <-0.547882, -0.506040, 0.666144> + 23852: <-0.520969, -0.478425, 0.706895> + 23853: <-0.528478, -0.443145, 0.724109> + 23854: <-0.565794, -0.439475, 0.697667> + 23855: <-0.557037, -0.473139, 0.682532> + 23856: <-0.528478, -0.443145, 0.724109> + 23857: <-0.535518, -0.407307, 0.739812> + 23858: <-0.574008, -0.404839, 0.711772> + 23859: <-0.565794, -0.439475, 0.697667> + 23860: <-0.535518, -0.407307, 0.739812> + 23861: <-0.542028, -0.370721, 0.754169> + 23862: <-0.581661, -0.369188, 0.724825> + 23863: <-0.574008, -0.404839, 0.711772> + 23864: <-0.542028, -0.370721, 0.754169> + 23865: <-0.548009, -0.333090, 0.767292> + 23866: <-0.588744, -0.332170, 0.736915> + 23867: <-0.581661, -0.369188, 0.724825> + 23868: <-0.548009, -0.333090, 0.767292> + 23869: <-0.553415, -0.294729, 0.779017> + 23870: <-0.595158, -0.294207, 0.747816> + 23871: <-0.588744, -0.332170, 0.736915> + 23872: <-0.553415, -0.294729, 0.779017> + 23873: <-0.558172, -0.255937, 0.789266> + 23874: <-0.600829, -0.255750, 0.757361> + 23875: <-0.595158, -0.294207, 0.747816> + 23876: <-0.558172, -0.255937, 0.789266> + 23877: <-0.562257, -0.216534, 0.798110> + 23878: <-0.605748, -0.216596, 0.765608> + 23879: <-0.600829, -0.255750, 0.757361> + 23880: <-0.562257, -0.216534, 0.798110> + 23881: <-0.565675, -0.176188, 0.805587> + 23882: <-0.609892, -0.176461, 0.772589> + 23883: <-0.605748, -0.216596, 0.765608> + 23884: <-0.565675, -0.176188, 0.805587> + 23885: <-0.568382, -0.134618, 0.811677> + 23886: <-0.613196, -0.135018, 0.778306> + 23887: <-0.609892, -0.176461, 0.772589> + 23888: <-0.568382, -0.134618, 0.811677> + 23889: <-0.570377, -0.091497, 0.816271> + 23890: <-0.615697, -0.091894, 0.782607> + 23891: <-0.613196, -0.135018, 0.778306> + 23892: <-0.570377, -0.091497, 0.816271> + 23893: <-0.571602, -0.046573, 0.819208> + 23894: <-0.617246, -0.046847, 0.785375> + 23895: <-0.615697, -0.091894, 0.782607> + 23896: <-0.571602, -0.046573, 0.819208> + 23897: <-0.572024, 0.000000, 0.820237> + 23898: <-0.617789, 0.000000, 0.786344> + 23899: <-0.617246, -0.046847, 0.785375> + 23900: <-0.572024, 0.000000, 0.820237> + 23901: <-0.571602, 0.046573, 0.819208> + 23902: <-0.617246, 0.046847, 0.785375> + 23903: <-0.617789, 0.000000, 0.786344> + 23904: <-0.571602, 0.046573, 0.819208> + 23905: <-0.570377, 0.091497, 0.816271> + 23906: <-0.615697, 0.091894, 0.782607> + 23907: <-0.617246, 0.046847, 0.785375> + 23908: <-0.570377, 0.091497, 0.816271> + 23909: <-0.568382, 0.134618, 0.811677> + 23910: <-0.613199, 0.134988, 0.778309> + 23911: <-0.615697, 0.091894, 0.782607> + 23912: <-0.568382, 0.134618, 0.811677> + 23913: <-0.565675, 0.176188, 0.805587> + 23914: <-0.609892, 0.176461, 0.772589> + 23915: <-0.613199, 0.134988, 0.778309> + 23916: <-0.565675, 0.176188, 0.805587> + 23917: <-0.562257, 0.216534, 0.798110> + 23918: <-0.605748, 0.216596, 0.765608> + 23919: <-0.609892, 0.176461, 0.772589> + 23920: <-0.562257, 0.216534, 0.798110> + 23921: <-0.558172, 0.255937, 0.789266> + 23922: <-0.600829, 0.255750, 0.757361> + 23923: <-0.605748, 0.216596, 0.765608> + 23924: <-0.558172, 0.255937, 0.789266> + 23925: <-0.553415, 0.294729, 0.779017> + 23926: <-0.595158, 0.294207, 0.747816> + 23927: <-0.600829, 0.255750, 0.757361> + 23928: <-0.553415, 0.294729, 0.779017> + 23929: <-0.548009, 0.333090, 0.767292> + 23930: <-0.588744, 0.332170, 0.736915> + 23931: <-0.595158, 0.294207, 0.747816> + 23932: <-0.548009, 0.333090, 0.767292> + 23933: <-0.542028, 0.370721, 0.754169> + 23934: <-0.581661, 0.369188, 0.724825> + 23935: <-0.588744, 0.332170, 0.736915> + 23936: <-0.542028, 0.370721, 0.754169> + 23937: <-0.535518, 0.407307, 0.739812> + 23938: <-0.574008, 0.404839, 0.711772> + 23939: <-0.581661, 0.369188, 0.724825> + 23940: <-0.535518, 0.407307, 0.739812> + 23941: <-0.528478, 0.443145, 0.724109> + 23942: <-0.565794, 0.439475, 0.697667> + 23943: <-0.574008, 0.404839, 0.711772> + 23944: <-0.528478, 0.443145, 0.724109> + 23945: <-0.520969, 0.478425, 0.706895> + 23946: <-0.557037, 0.473139, 0.682532> + 23947: <-0.565794, 0.439475, 0.697667> + 23948: <-0.520969, 0.478425, 0.706895> + 23949: <-0.513252, 0.513252, 0.687856> + 23950: <-0.547882, 0.506040, 0.666144> + 23951: <-0.557037, 0.473139, 0.682532> + 23952: <-0.513252, 0.513252, 0.687856> + 23953: <-0.506040, 0.547882, 0.666144> + 23954: <-0.538962, 0.538962, 0.647334> + 23955: <-0.547882, 0.506040, 0.666144> + 23956: <-0.506040, 0.547882, 0.666144> + 23957: <-0.500519, 0.581456, 0.641396> + 23958: <-0.531523, 0.571076, 0.625584> + 23959: <-0.538962, 0.538962, 0.647334> + 23960: <-0.531523, -0.571076, 0.625584> + 23961: <-0.538962, -0.538962, 0.647334> + 23962: <-0.571076, -0.531523, 0.625584> + 23963: <-0.561516, -0.561516, 0.607783> + 23964: <-0.538962, -0.538962, 0.647334> + 23965: <-0.547882, -0.506040, 0.666144> + 23966: <-0.581456, -0.500519, 0.641396> + 23967: <-0.571076, -0.531523, 0.625584> + 23968: <-0.547882, -0.506040, 0.666144> + 23969: <-0.557037, -0.473139, 0.682532> + 23970: <-0.591920, -0.469385, 0.655217> + 23971: <-0.581456, -0.500519, 0.641396> + 23972: <-0.557037, -0.473139, 0.682532> + 23973: <-0.565794, -0.439475, 0.697667> + 23974: <-0.601963, -0.437036, 0.668312> + 23975: <-0.591920, -0.469385, 0.655217> + 23976: <-0.565794, -0.439475, 0.697667> + 23977: <-0.574008, -0.404839, 0.711772> + 23978: <-0.611427, -0.403223, 0.680859> + 23979: <-0.601963, -0.437036, 0.668312> + 23980: <-0.574008, -0.404839, 0.711772> + 23981: <-0.581661, -0.369188, 0.724825> + 23982: <-0.620305, -0.368246, 0.692544> + 23983: <-0.611427, -0.403223, 0.680859> + 23984: <-0.581661, -0.369188, 0.724825> + 23985: <-0.588744, -0.332170, 0.736915> + 23986: <-0.628603, -0.331652, 0.703467> + 23987: <-0.620305, -0.368246, 0.692544> + 23988: <-0.588744, -0.332170, 0.736915> + 23989: <-0.595158, -0.294207, 0.747816> + 23990: <-0.636150, -0.293904, 0.713396> + 23991: <-0.628603, -0.331652, 0.703467> + 23992: <-0.595158, -0.294207, 0.747816> + 23993: <-0.600829, -0.255750, 0.757361> + 23994: <-0.642833, -0.255632, 0.722093> + 23995: <-0.636150, -0.293904, 0.713396> + 23996: <-0.600829, -0.255750, 0.757361> + 23997: <-0.605748, -0.216596, 0.765608> + 23998: <-0.648606, -0.216660, 0.729636> + 23999: <-0.642833, -0.255632, 0.722093> + 24000: <-0.605748, -0.216596, 0.765608> + 24001: <-0.609892, -0.176461, 0.772589> + 24002: <-0.653502, -0.176644, 0.736025> + 24003: <-0.648606, -0.216660, 0.729636> + 24004: <-0.609892, -0.176461, 0.772589> + 24005: <-0.613196, -0.135018, 0.778306> + 24006: <-0.657468, -0.135260, 0.741243> + 24007: <-0.653502, -0.176644, 0.736025> + 24008: <-0.613196, -0.135018, 0.778306> + 24009: <-0.615697, -0.091894, 0.782607> + 24010: <-0.660463, -0.092137, 0.745184> + 24011: <-0.657468, -0.135260, 0.741243> + 24012: <-0.615697, -0.091894, 0.782607> + 24013: <-0.617246, -0.046847, 0.785375> + 24014: <-0.662354, -0.046999, 0.747715> + 24015: <-0.660463, -0.092137, 0.745184> + 24016: <-0.617246, -0.046847, 0.785375> + 24017: <-0.617789, 0.000000, 0.786344> + 24018: <-0.663024, 0.000000, 0.748599> + 24019: <-0.662354, -0.046999, 0.747715> + 24020: <-0.617789, 0.000000, 0.786344> + 24021: <-0.617246, 0.046847, 0.785375> + 24022: <-0.662354, 0.046999, 0.747715> + 24023: <-0.663024, 0.000000, 0.748599> + 24024: <-0.617246, 0.046847, 0.785375> + 24025: <-0.615697, 0.091894, 0.782607> + 24026: <-0.660463, 0.092137, 0.745184> + 24027: <-0.662354, 0.046999, 0.747715> + 24028: <-0.615697, 0.091894, 0.782607> + 24029: <-0.613199, 0.134988, 0.778309> + 24030: <-0.657468, 0.135260, 0.741243> + 24031: <-0.660463, 0.092137, 0.745184> + 24032: <-0.613199, 0.134988, 0.778309> + 24033: <-0.609892, 0.176461, 0.772589> + 24034: <-0.653502, 0.176644, 0.736025> + 24035: <-0.657468, 0.135260, 0.741243> + 24036: <-0.609892, 0.176461, 0.772589> + 24037: <-0.605748, 0.216596, 0.765608> + 24038: <-0.648606, 0.216660, 0.729636> + 24039: <-0.653502, 0.176644, 0.736025> + 24040: <-0.605748, 0.216596, 0.765608> + 24041: <-0.600829, 0.255750, 0.757361> + 24042: <-0.642833, 0.255632, 0.722093> + 24043: <-0.648606, 0.216660, 0.729636> + 24044: <-0.600829, 0.255750, 0.757361> + 24045: <-0.595158, 0.294207, 0.747816> + 24046: <-0.636150, 0.293904, 0.713396> + 24047: <-0.642833, 0.255632, 0.722093> + 24048: <-0.595158, 0.294207, 0.747816> + 24049: <-0.588744, 0.332170, 0.736915> + 24050: <-0.628603, 0.331652, 0.703467> + 24051: <-0.636150, 0.293904, 0.713396> + 24052: <-0.588744, 0.332170, 0.736915> + 24053: <-0.581661, 0.369188, 0.724825> + 24054: <-0.620305, 0.368246, 0.692544> + 24055: <-0.628603, 0.331652, 0.703467> + 24056: <-0.581661, 0.369188, 0.724825> + 24057: <-0.574008, 0.404839, 0.711772> + 24058: <-0.611427, 0.403223, 0.680859> + 24059: <-0.620305, 0.368246, 0.692544> + 24060: <-0.574008, 0.404839, 0.711772> + 24061: <-0.565794, 0.439475, 0.697667> + 24062: <-0.601963, 0.437036, 0.668312> + 24063: <-0.611427, 0.403223, 0.680859> + 24064: <-0.565794, 0.439475, 0.697667> + 24065: <-0.557037, 0.473139, 0.682532> + 24066: <-0.591920, 0.469385, 0.655217> + 24067: <-0.601963, 0.437036, 0.668312> + 24068: <-0.557037, 0.473139, 0.682532> + 24069: <-0.547882, 0.506040, 0.666144> + 24070: <-0.581465, 0.500496, 0.641406> + 24071: <-0.591920, 0.469385, 0.655217> + 24072: <-0.547882, 0.506040, 0.666144> + 24073: <-0.538962, 0.538962, 0.647334> + 24074: <-0.571076, 0.531523, 0.625584> + 24075: <-0.581465, 0.500496, 0.641406> + 24076: <-0.538962, 0.538962, 0.647334> + 24077: <-0.531523, 0.571076, 0.625584> + 24078: <-0.561516, 0.561516, 0.607783> + 24079: <-0.571076, 0.531523, 0.625584> + 24080: < 0.577360, -0.577330, 0.577360> + 24081: < 0.588539, -0.554296, 0.588539> + 24082: < 0.561516, -0.561516, 0.607783> + 24083: < 0.554296, -0.588539, 0.588539> + 24084: < 0.588539, -0.554296, 0.588539> + 24085: < 0.601199, -0.526457, 0.601168> + 24086: < 0.571076, -0.531523, 0.625584> + 24087: < 0.561516, -0.561516, 0.607783> + 24088: < 0.601199, -0.526457, 0.601168> + 24089: < 0.613379, -0.497527, 0.613379> + 24090: < 0.581456, -0.500519, 0.641396> + 24091: < 0.571076, -0.531523, 0.625584> + 24092: < 0.613379, -0.497527, 0.613379> + 24093: < 0.624909, -0.467950, 0.624909> + 24094: < 0.591920, -0.469385, 0.655217> + 24095: < 0.581456, -0.500519, 0.641396> + 24096: < 0.624909, -0.467950, 0.624909> + 24097: < 0.636296, -0.436181, 0.636296> + 24098: < 0.601963, -0.437036, 0.668312> + 24099: < 0.591920, -0.469385, 0.655217> + 24100: < 0.636296, -0.436181, 0.636296> + 24101: < 0.647247, -0.402668, 0.647247> + 24102: < 0.611427, -0.403223, 0.680859> + 24103: < 0.601963, -0.437036, 0.668312> + 24104: < 0.647247, -0.402668, 0.647247> + 24105: < 0.657511, -0.367912, 0.657511> + 24106: < 0.620305, -0.368246, 0.692544> + 24107: < 0.611427, -0.403223, 0.680859> + 24108: < 0.657511, -0.367912, 0.657511> + 24109: < 0.667130, -0.331474, 0.667130> + 24110: < 0.628603, -0.331652, 0.703467> + 24111: < 0.620305, -0.368246, 0.692544> + 24112: < 0.667130, -0.331474, 0.667130> + 24113: < 0.675899, -0.293804, 0.675899> + 24114: < 0.636150, -0.293904, 0.713396> + 24115: < 0.628603, -0.331652, 0.703467> + 24116: < 0.675899, -0.293804, 0.675899> + 24117: < 0.683620, -0.255594, 0.683620> + 24118: < 0.642833, -0.255632, 0.722093> + 24119: < 0.636150, -0.293904, 0.713396> + 24120: < 0.683620, -0.255594, 0.683620> + 24121: < 0.690307, -0.216684, 0.690307> + 24122: < 0.648606, -0.216660, 0.729636> + 24123: < 0.642833, -0.255632, 0.722093> + 24124: < 0.690307, -0.216684, 0.690307> + 24125: < 0.695976, -0.176733, 0.695976> + 24126: < 0.653502, -0.176644, 0.736025> + 24127: < 0.648606, -0.216660, 0.729636> + 24128: < 0.695976, -0.176733, 0.695976> + 24129: < 0.700600, -0.135353, 0.700600> + 24130: < 0.657468, -0.135260, 0.741243> + 24131: < 0.653502, -0.176644, 0.736025> + 24132: < 0.700600, -0.135353, 0.700600> + 24133: < 0.704093, -0.092231, 0.704093> + 24134: < 0.660463, -0.092137, 0.745184> + 24135: < 0.657468, -0.135260, 0.741243> + 24136: < 0.704093, -0.092231, 0.704093> + 24137: < 0.706323, -0.047060, 0.706323> + 24138: < 0.662354, -0.046999, 0.747715> + 24139: < 0.660463, -0.092137, 0.745184> + 24140: < 0.706323, -0.047060, 0.706323> + 24141: < 0.707107, 0.000000, 0.707107> + 24142: < 0.663024, 0.000000, 0.748599> + 24143: < 0.662354, -0.046999, 0.747715> + 24144: < 0.707107, 0.000000, 0.707107> + 24145: < 0.706323, 0.047060, 0.706323> + 24146: < 0.662354, 0.046999, 0.747715> + 24147: < 0.663024, 0.000000, 0.748599> + 24148: < 0.706323, 0.047060, 0.706323> + 24149: < 0.704093, 0.092231, 0.704093> + 24150: < 0.660463, 0.092137, 0.745184> + 24151: < 0.662354, 0.046999, 0.747715> + 24152: < 0.704093, 0.092231, 0.704093> + 24153: < 0.700600, 0.135353, 0.700600> + 24154: < 0.657468, 0.135260, 0.741243> + 24155: < 0.660463, 0.092137, 0.745184> + 24156: < 0.700600, 0.135353, 0.700600> + 24157: < 0.695976, 0.176733, 0.695976> + 24158: < 0.653502, 0.176644, 0.736025> + 24159: < 0.657468, 0.135260, 0.741243> + 24160: < 0.695976, 0.176733, 0.695976> + 24161: < 0.690307, 0.216684, 0.690307> + 24162: < 0.648606, 0.216660, 0.729636> + 24163: < 0.653502, 0.176644, 0.736025> + 24164: < 0.690307, 0.216684, 0.690307> + 24165: < 0.683620, 0.255594, 0.683620> + 24166: < 0.642833, 0.255632, 0.722093> + 24167: < 0.648606, 0.216660, 0.729636> + 24168: < 0.683620, 0.255594, 0.683620> + 24169: < 0.675899, 0.293804, 0.675899> + 24170: < 0.636150, 0.293904, 0.713396> + 24171: < 0.642833, 0.255632, 0.722093> + 24172: < 0.675899, 0.293804, 0.675899> + 24173: < 0.667130, 0.331474, 0.667130> + 24174: < 0.628603, 0.331652, 0.703467> + 24175: < 0.636150, 0.293904, 0.713396> + 24176: < 0.667130, 0.331474, 0.667130> + 24177: < 0.657511, 0.367912, 0.657511> + 24178: < 0.620305, 0.368246, 0.692544> + 24179: < 0.628603, 0.331652, 0.703467> + 24180: < 0.657511, 0.367912, 0.657511> + 24181: < 0.647247, 0.402668, 0.647247> + 24182: < 0.611427, 0.403223, 0.680859> + 24183: < 0.620305, 0.368246, 0.692544> + 24184: < 0.647247, 0.402668, 0.647247> + 24185: < 0.636296, 0.436181, 0.636296> + 24186: < 0.601963, 0.437036, 0.668312> + 24187: < 0.611427, 0.403223, 0.680859> + 24188: < 0.636296, 0.436181, 0.636296> + 24189: < 0.624909, 0.467950, 0.624909> + 24190: < 0.591920, 0.469385, 0.655217> + 24191: < 0.601963, 0.437036, 0.668312> + 24192: < 0.624909, 0.467950, 0.624909> + 24193: < 0.613379, 0.497527, 0.613379> + 24194: < 0.581456, 0.500519, 0.641396> + 24195: < 0.591920, 0.469385, 0.655217> + 24196: < 0.613379, 0.497527, 0.613379> + 24197: < 0.601199, 0.526457, 0.601168> + 24198: < 0.571076, 0.531523, 0.625584> + 24199: < 0.581456, 0.500519, 0.641396> + 24200: < 0.601199, 0.526457, 0.601168> + 24201: < 0.588539, 0.554296, 0.588539> + 24202: < 0.561516, 0.561516, 0.607783> + 24203: < 0.571076, 0.531523, 0.625584> + 24204: < 0.588539, 0.554296, 0.588539> + 24205: < 0.577330, 0.577360, 0.577360> + 24206: < 0.554296, 0.588539, 0.588539> + 24207: < 0.561516, 0.561516, 0.607783> + 24208: < 0.561516, 0.561516, 0.607783> + 24209: < 0.554296, 0.588539, 0.588539> + 24210: < 0.526447, 0.601188, 0.601188> + 24211: < 0.531523, 0.571076, 0.625584> + 24212: < 0.531523, 0.571076, 0.625584> + 24213: < 0.526447, 0.601188, 0.601188> + 24214: < 0.497527, 0.613379, 0.613379> + 24215: < 0.500519, 0.581456, 0.641396> + 24216: < 0.500519, 0.581456, 0.641396> + 24217: < 0.497527, 0.613379, 0.613379> + 24218: < 0.467950, 0.624909, 0.624909> + 24219: < 0.469385, 0.591920, 0.655217> + 24220: < 0.469385, 0.591920, 0.655217> + 24221: < 0.467950, 0.624909, 0.624909> + 24222: < 0.436181, 0.636296, 0.636296> + 24223: < 0.437036, 0.601963, 0.668312> + 24224: < 0.437036, 0.601963, 0.668312> + 24225: < 0.436181, 0.636296, 0.636296> + 24226: < 0.402668, 0.647247, 0.647247> + 24227: < 0.403223, 0.611427, 0.680859> + 24228: < 0.403223, 0.611427, 0.680859> + 24229: < 0.402668, 0.647247, 0.647247> + 24230: < 0.367912, 0.657511, 0.657511> + 24231: < 0.368246, 0.620305, 0.692544> + 24232: < 0.368246, 0.620305, 0.692544> + 24233: < 0.367912, 0.657511, 0.657511> + 24234: < 0.331474, 0.667130, 0.667130> + 24235: < 0.331652, 0.628603, 0.703467> + 24236: < 0.331652, 0.628603, 0.703467> + 24237: < 0.331474, 0.667130, 0.667130> + 24238: < 0.293804, 0.675899, 0.675899> + 24239: < 0.293904, 0.636150, 0.713396> + 24240: < 0.293904, 0.636150, 0.713396> + 24241: < 0.293804, 0.675899, 0.675899> + 24242: < 0.255594, 0.683620, 0.683620> + 24243: < 0.255632, 0.642833, 0.722093> + 24244: < 0.255632, 0.642833, 0.722093> + 24245: < 0.255594, 0.683620, 0.683620> + 24246: < 0.216684, 0.690307, 0.690307> + 24247: < 0.216660, 0.648606, 0.729636> + 24248: < 0.216660, 0.648606, 0.729636> + 24249: < 0.216684, 0.690307, 0.690307> + 24250: < 0.176733, 0.695976, 0.695976> + 24251: < 0.176644, 0.653502, 0.736025> + 24252: < 0.176644, 0.653502, 0.736025> + 24253: < 0.176733, 0.695976, 0.695976> + 24254: < 0.135353, 0.700600, 0.700600> + 24255: < 0.135260, 0.657468, 0.741243> + 24256: < 0.135260, 0.657468, 0.741243> + 24257: < 0.135353, 0.700600, 0.700600> + 24258: < 0.092231, 0.704093, 0.704093> + 24259: < 0.092137, 0.660463, 0.745184> + 24260: < 0.092137, 0.660463, 0.745184> + 24261: < 0.092231, 0.704093, 0.704093> + 24262: < 0.047060, 0.706323, 0.706323> + 24263: < 0.046999, 0.662354, 0.747715> + 24264: < 0.046999, 0.662354, 0.747715> + 24265: < 0.047060, 0.706323, 0.706323> + 24266: < 0.000000, 0.707107, 0.707107> + 24267: < 0.000000, 0.663024, 0.748599> + 24268: < 0.000000, 0.663024, 0.748599> + 24269: < 0.000000, 0.707107, 0.707107> + 24270: <-0.047060, 0.706323, 0.706323> + 24271: <-0.046999, 0.662354, 0.747715> + 24272: <-0.046999, 0.662354, 0.747715> + 24273: <-0.047060, 0.706323, 0.706323> + 24274: <-0.092231, 0.704093, 0.704093> + 24275: <-0.092137, 0.660463, 0.745184> + 24276: <-0.092137, 0.660463, 0.745184> + 24277: <-0.092231, 0.704093, 0.704093> + 24278: <-0.135353, 0.700600, 0.700600> + 24279: <-0.135260, 0.657468, 0.741243> + 24280: <-0.135260, 0.657468, 0.741243> + 24281: <-0.135353, 0.700600, 0.700600> + 24282: <-0.176733, 0.695976, 0.695976> + 24283: <-0.176644, 0.653502, 0.736025> + 24284: <-0.176644, 0.653502, 0.736025> + 24285: <-0.176733, 0.695976, 0.695976> + 24286: <-0.216684, 0.690307, 0.690307> + 24287: <-0.216660, 0.648606, 0.729636> + 24288: <-0.216660, 0.648606, 0.729636> + 24289: <-0.216684, 0.690307, 0.690307> + 24290: <-0.255594, 0.683620, 0.683620> + 24291: <-0.255632, 0.642833, 0.722093> + 24292: <-0.255632, 0.642833, 0.722093> + 24293: <-0.255594, 0.683620, 0.683620> + 24294: <-0.293804, 0.675899, 0.675899> + 24295: <-0.293904, 0.636150, 0.713396> + 24296: <-0.293904, 0.636150, 0.713396> + 24297: <-0.293804, 0.675899, 0.675899> + 24298: <-0.331474, 0.667130, 0.667130> + 24299: <-0.331652, 0.628603, 0.703467> + 24300: <-0.331652, 0.628603, 0.703467> + 24301: <-0.331474, 0.667130, 0.667130> + 24302: <-0.367912, 0.657511, 0.657511> + 24303: <-0.368246, 0.620305, 0.692544> + 24304: <-0.368246, 0.620305, 0.692544> + 24305: <-0.367912, 0.657511, 0.657511> + 24306: <-0.402668, 0.647247, 0.647247> + 24307: <-0.403223, 0.611427, 0.680859> + 24308: <-0.403223, 0.611427, 0.680859> + 24309: <-0.402668, 0.647247, 0.647247> + 24310: <-0.436181, 0.636296, 0.636296> + 24311: <-0.437036, 0.601963, 0.668312> + 24312: <-0.437036, 0.601963, 0.668312> + 24313: <-0.436181, 0.636296, 0.636296> + 24314: <-0.467950, 0.624909, 0.624909> + 24315: <-0.469385, 0.591920, 0.655217> + 24316: <-0.469385, 0.591920, 0.655217> + 24317: <-0.467950, 0.624909, 0.624909> + 24318: <-0.497527, 0.613379, 0.613379> + 24319: <-0.500519, 0.581456, 0.641396> + 24320: <-0.500519, 0.581456, 0.641396> + 24321: <-0.497527, 0.613379, 0.613379> + 24322: <-0.526447, 0.601188, 0.601188> + 24323: <-0.531523, 0.571076, 0.625584> + 24324: <-0.531523, 0.571076, 0.625584> + 24325: <-0.526447, 0.601188, 0.601188> + 24326: <-0.554296, 0.588539, 0.588539> + 24327: <-0.561516, 0.561516, 0.607783> + 24328: <-0.561516, 0.561516, 0.607783> + 24329: <-0.554296, 0.588539, 0.588539> + 24330: <-0.577350, 0.577350, 0.577350> + 24331: <-0.588539, 0.554296, 0.588539> + 24332: <-0.571076, 0.531523, 0.625584> + 24333: <-0.561516, 0.561516, 0.607783> + 24334: <-0.588539, 0.554296, 0.588539> + 24335: <-0.601188, 0.526447, 0.601188> + 24336: <-0.581465, 0.500496, 0.641406> + 24337: <-0.571076, 0.531523, 0.625584> + 24338: <-0.601188, 0.526447, 0.601188> + 24339: <-0.613379, 0.497527, 0.613379> + 24340: <-0.591920, 0.469385, 0.655217> + 24341: <-0.581465, 0.500496, 0.641406> + 24342: <-0.613379, 0.497527, 0.613379> + 24343: <-0.624909, 0.467950, 0.624909> + 24344: <-0.601963, 0.437036, 0.668312> + 24345: <-0.591920, 0.469385, 0.655217> + 24346: <-0.624909, 0.467950, 0.624909> + 24347: <-0.636296, 0.436181, 0.636296> + 24348: <-0.611427, 0.403223, 0.680859> + 24349: <-0.601963, 0.437036, 0.668312> + 24350: <-0.636296, 0.436181, 0.636296> + 24351: <-0.647247, 0.402668, 0.647247> + 24352: <-0.620305, 0.368246, 0.692544> + 24353: <-0.611427, 0.403223, 0.680859> + 24354: <-0.647247, 0.402668, 0.647247> + 24355: <-0.657511, 0.367912, 0.657511> + 24356: <-0.628603, 0.331652, 0.703467> + 24357: <-0.620305, 0.368246, 0.692544> + 24358: <-0.657511, 0.367912, 0.657511> + 24359: <-0.667130, 0.331474, 0.667130> + 24360: <-0.636150, 0.293904, 0.713396> + 24361: <-0.628603, 0.331652, 0.703467> + 24362: <-0.667130, 0.331474, 0.667130> + 24363: <-0.675899, 0.293804, 0.675899> + 24364: <-0.642833, 0.255632, 0.722093> + 24365: <-0.636150, 0.293904, 0.713396> + 24366: <-0.675899, 0.293804, 0.675899> + 24367: <-0.683620, 0.255594, 0.683620> + 24368: <-0.648606, 0.216660, 0.729636> + 24369: <-0.642833, 0.255632, 0.722093> + 24370: <-0.683620, 0.255594, 0.683620> + 24371: <-0.690307, 0.216684, 0.690307> + 24372: <-0.653502, 0.176644, 0.736025> + 24373: <-0.648606, 0.216660, 0.729636> + 24374: <-0.690307, 0.216684, 0.690307> + 24375: <-0.695976, 0.176733, 0.695976> + 24376: <-0.657468, 0.135260, 0.741243> + 24377: <-0.653502, 0.176644, 0.736025> + 24378: <-0.695976, 0.176733, 0.695976> + 24379: <-0.700600, 0.135353, 0.700600> + 24380: <-0.660463, 0.092137, 0.745184> + 24381: <-0.657468, 0.135260, 0.741243> + 24382: <-0.700600, 0.135353, 0.700600> + 24383: <-0.704093, 0.092231, 0.704093> + 24384: <-0.662354, 0.046999, 0.747715> + 24385: <-0.660463, 0.092137, 0.745184> + 24386: <-0.704093, 0.092231, 0.704093> + 24387: <-0.706323, 0.047060, 0.706323> + 24388: <-0.663024, 0.000000, 0.748599> + 24389: <-0.662354, 0.046999, 0.747715> + 24390: <-0.706323, 0.047060, 0.706323> + 24391: <-0.707107, 0.000000, 0.707107> + 24392: <-0.662354, -0.046999, 0.747715> + 24393: <-0.663024, 0.000000, 0.748599> + 24394: <-0.707107, 0.000000, 0.707107> + 24395: <-0.706323, -0.047060, 0.706323> + 24396: <-0.660463, -0.092137, 0.745184> + 24397: <-0.662354, -0.046999, 0.747715> + 24398: <-0.706323, -0.047060, 0.706323> + 24399: <-0.704093, -0.092231, 0.704093> + 24400: <-0.657468, -0.135260, 0.741243> + 24401: <-0.660463, -0.092137, 0.745184> + 24402: <-0.704093, -0.092231, 0.704093> + 24403: <-0.700600, -0.135353, 0.700600> + 24404: <-0.653502, -0.176644, 0.736025> + 24405: <-0.657468, -0.135260, 0.741243> + 24406: <-0.700600, -0.135353, 0.700600> + 24407: <-0.695976, -0.176733, 0.695976> + 24408: <-0.648606, -0.216660, 0.729636> + 24409: <-0.653502, -0.176644, 0.736025> + 24410: <-0.695976, -0.176733, 0.695976> + 24411: <-0.690307, -0.216684, 0.690307> + 24412: <-0.642833, -0.255632, 0.722093> + 24413: <-0.648606, -0.216660, 0.729636> + 24414: <-0.690307, -0.216684, 0.690307> + 24415: <-0.683620, -0.255594, 0.683620> + 24416: <-0.636150, -0.293904, 0.713396> + 24417: <-0.642833, -0.255632, 0.722093> + 24418: <-0.683620, -0.255594, 0.683620> + 24419: <-0.675899, -0.293804, 0.675899> + 24420: <-0.628603, -0.331652, 0.703467> + 24421: <-0.636150, -0.293904, 0.713396> + 24422: <-0.675899, -0.293804, 0.675899> + 24423: <-0.667130, -0.331474, 0.667130> + 24424: <-0.620305, -0.368246, 0.692544> + 24425: <-0.628603, -0.331652, 0.703467> + 24426: <-0.667130, -0.331474, 0.667130> + 24427: <-0.657511, -0.367912, 0.657511> + 24428: <-0.611427, -0.403223, 0.680859> + 24429: <-0.620305, -0.368246, 0.692544> + 24430: <-0.657511, -0.367912, 0.657511> + 24431: <-0.647247, -0.402668, 0.647247> + 24432: <-0.601963, -0.437036, 0.668312> + 24433: <-0.611427, -0.403223, 0.680859> + 24434: <-0.647247, -0.402668, 0.647247> + 24435: <-0.636296, -0.436181, 0.636296> + 24436: <-0.591920, -0.469385, 0.655217> + 24437: <-0.601963, -0.437036, 0.668312> + 24438: <-0.636296, -0.436181, 0.636296> + 24439: <-0.624909, -0.467950, 0.624909> + 24440: <-0.581456, -0.500519, 0.641396> + 24441: <-0.591920, -0.469385, 0.655217> + 24442: <-0.624909, -0.467950, 0.624909> + 24443: <-0.613379, -0.497527, 0.613379> + 24444: <-0.571076, -0.531523, 0.625584> + 24445: <-0.581456, -0.500519, 0.641396> + 24446: <-0.613379, -0.497527, 0.613379> + 24447: <-0.601188, -0.526447, 0.601188> + 24448: <-0.561516, -0.561516, 0.607783> + 24449: <-0.571076, -0.531523, 0.625584> + 24450: <-0.601188, -0.526447, 0.601188> + 24451: <-0.588539, -0.554296, 0.588539> + 24452: <-0.554296, -0.588539, 0.588539> + 24453: <-0.561516, -0.561516, 0.607783> + 24454: <-0.588539, -0.554296, 0.588539> + 24455: <-0.577330, -0.577360, 0.577360> + 24456: <-0.526457, -0.601168, 0.601199> + 24457: <-0.531523, -0.571076, 0.625584> + 24458: <-0.561516, -0.561516, 0.607783> + 24459: <-0.554296, -0.588539, 0.588539> + 24460: <-0.497527, -0.613379, 0.613379> + 24461: <-0.500496, -0.581465, 0.641406> + 24462: <-0.531523, -0.571076, 0.625584> + 24463: <-0.526457, -0.601168, 0.601199> + 24464: <-0.467950, -0.624909, 0.624909> + 24465: <-0.469385, -0.591920, 0.655217> + 24466: <-0.500496, -0.581465, 0.641406> + 24467: <-0.497527, -0.613379, 0.613379> + 24468: <-0.436181, -0.636296, 0.636296> + 24469: <-0.437036, -0.601963, 0.668312> + 24470: <-0.469385, -0.591920, 0.655217> + 24471: <-0.467950, -0.624909, 0.624909> + 24472: <-0.402668, -0.647247, 0.647247> + 24473: <-0.403223, -0.611427, 0.680859> + 24474: <-0.437036, -0.601963, 0.668312> + 24475: <-0.436181, -0.636296, 0.636296> + 24476: <-0.367912, -0.657511, 0.657511> + 24477: <-0.368246, -0.620305, 0.692544> + 24478: <-0.403223, -0.611427, 0.680859> + 24479: <-0.402668, -0.647247, 0.647247> + 24480: <-0.331474, -0.667130, 0.667130> + 24481: <-0.331652, -0.628603, 0.703467> + 24482: <-0.368246, -0.620305, 0.692544> + 24483: <-0.367912, -0.657511, 0.657511> + 24484: <-0.293804, -0.675899, 0.675899> + 24485: <-0.293904, -0.636150, 0.713396> + 24486: <-0.331652, -0.628603, 0.703467> + 24487: <-0.331474, -0.667130, 0.667130> + 24488: <-0.255594, -0.683620, 0.683620> + 24489: <-0.255632, -0.642833, 0.722093> + 24490: <-0.293904, -0.636150, 0.713396> + 24491: <-0.293804, -0.675899, 0.675899> + 24492: <-0.216684, -0.690307, 0.690307> + 24493: <-0.216660, -0.648606, 0.729636> + 24494: <-0.255632, -0.642833, 0.722093> + 24495: <-0.255594, -0.683620, 0.683620> + 24496: <-0.176733, -0.695976, 0.695976> + 24497: <-0.176644, -0.653502, 0.736025> + 24498: <-0.216660, -0.648606, 0.729636> + 24499: <-0.216684, -0.690307, 0.690307> + 24500: <-0.135353, -0.700600, 0.700600> + 24501: <-0.135260, -0.657468, 0.741243> + 24502: <-0.176644, -0.653502, 0.736025> + 24503: <-0.176733, -0.695976, 0.695976> + 24504: <-0.092229, -0.704078, 0.704108> + 24505: <-0.092137, -0.660463, 0.745184> + 24506: <-0.135260, -0.657468, 0.741243> + 24507: <-0.135353, -0.700600, 0.700600> + 24508: <-0.047060, -0.706323, 0.706323> + 24509: <-0.046999, -0.662354, 0.747715> + 24510: <-0.092137, -0.660463, 0.745184> + 24511: <-0.092229, -0.704078, 0.704108> + 24512: < 0.000000, -0.707107, 0.707107> + 24513: < 0.000000, -0.663024, 0.748599> + 24514: <-0.046999, -0.662354, 0.747715> + 24515: <-0.047060, -0.706323, 0.706323> + 24516: < 0.047060, -0.706323, 0.706323> + 24517: < 0.046999, -0.662354, 0.747715> + 24518: < 0.000000, -0.663024, 0.748599> + 24519: < 0.000000, -0.707107, 0.707107> + 24520: < 0.092231, -0.704093, 0.704093> + 24521: < 0.092137, -0.660463, 0.745184> + 24522: < 0.046999, -0.662354, 0.747715> + 24523: < 0.047060, -0.706323, 0.706323> + 24524: < 0.135353, -0.700600, 0.700600> + 24525: < 0.135260, -0.657468, 0.741243> + 24526: < 0.092137, -0.660463, 0.745184> + 24527: < 0.092231, -0.704093, 0.704093> + 24528: < 0.176733, -0.695976, 0.695976> + 24529: < 0.176644, -0.653502, 0.736025> + 24530: < 0.135260, -0.657468, 0.741243> + 24531: < 0.135353, -0.700600, 0.700600> + 24532: < 0.216684, -0.690307, 0.690307> + 24533: < 0.216656, -0.648624, 0.729622> + 24534: < 0.176644, -0.653502, 0.736025> + 24535: < 0.176733, -0.695976, 0.695976> + 24536: < 0.255594, -0.683620, 0.683620> + 24537: < 0.255632, -0.642833, 0.722093> + 24538: < 0.216656, -0.648624, 0.729622> + 24539: < 0.216684, -0.690307, 0.690307> + 24540: < 0.293804, -0.675899, 0.675899> + 24541: < 0.293904, -0.636150, 0.713396> + 24542: < 0.255632, -0.642833, 0.722093> + 24543: < 0.255594, -0.683620, 0.683620> + 24544: < 0.331474, -0.667130, 0.667130> + 24545: < 0.331652, -0.628603, 0.703467> + 24546: < 0.293904, -0.636150, 0.713396> + 24547: < 0.293804, -0.675899, 0.675899> + 24548: < 0.367912, -0.657511, 0.657511> + 24549: < 0.368246, -0.620305, 0.692544> + 24550: < 0.331652, -0.628603, 0.703467> + 24551: < 0.331474, -0.667130, 0.667130> + 24552: < 0.402668, -0.647247, 0.647247> + 24553: < 0.403223, -0.611427, 0.680859> + 24554: < 0.368246, -0.620305, 0.692544> + 24555: < 0.367912, -0.657511, 0.657511> + 24556: < 0.436181, -0.636296, 0.636296> + 24557: < 0.437036, -0.601963, 0.668312> + 24558: < 0.403223, -0.611427, 0.680859> + 24559: < 0.402668, -0.647247, 0.647247> + 24560: < 0.467950, -0.624909, 0.624909> + 24561: < 0.469385, -0.591920, 0.655217> + 24562: < 0.437036, -0.601963, 0.668312> + 24563: < 0.436181, -0.636296, 0.636296> + 24564: < 0.497527, -0.613379, 0.613379> + 24565: < 0.500519, -0.581456, 0.641396> + 24566: < 0.469385, -0.591920, 0.655217> + 24567: < 0.467950, -0.624909, 0.624909> + 24568: < 0.526447, -0.601188, 0.601188> + 24569: < 0.531523, -0.571076, 0.625584> + 24570: < 0.500519, -0.581456, 0.641396> + 24571: < 0.497527, -0.613379, 0.613379> + 24572: < 0.554296, -0.588539, 0.588539> + 24573: < 0.561516, -0.561516, 0.607783> + 24574: < 0.531523, -0.571076, 0.625584> + 24575: < 0.526447, -0.601188, 0.601188> + FaceList: Count 12288. Hash: 13183441914179219962 + 0: 0, 1, 2, + 1: 0, 2, 3, + 2: 4, 5, 6, + 3: 4, 6, 7, + 4: 8, 9, 10, + 5: 8, 10, 11, + 6: 12, 13, 14, + 7: 12, 14, 15, + 8: 16, 17, 18, + 9: 16, 18, 19, + 10: 20, 21, 22, + 11: 20, 22, 23, + 12: 24, 25, 26, + 13: 24, 26, 27, + 14: 28, 29, 30, + 15: 28, 30, 31, + 16: 32, 33, 34, + 17: 32, 34, 35, + 18: 36, 37, 38, + 19: 36, 38, 39, + 20: 40, 41, 42, + 21: 40, 42, 43, + 22: 44, 45, 46, + 23: 44, 46, 47, + 24: 48, 49, 50, + 25: 48, 50, 51, + 26: 52, 53, 54, + 27: 52, 54, 55, + 28: 56, 57, 58, + 29: 56, 58, 59, + 30: 60, 61, 62, + 31: 60, 62, 63, + 32: 64, 65, 66, + 33: 64, 66, 67, + 34: 68, 69, 70, + 35: 68, 70, 71, + 36: 72, 73, 74, + 37: 72, 74, 75, + 38: 76, 77, 78, + 39: 76, 78, 79, + 40: 80, 81, 82, + 41: 80, 82, 83, + 42: 84, 85, 86, + 43: 84, 86, 87, + 44: 88, 89, 90, + 45: 88, 90, 91, + 46: 92, 93, 94, + 47: 92, 94, 95, + 48: 96, 97, 98, + 49: 96, 98, 99, + 50: 100, 101, 102, + 51: 100, 102, 103, + 52: 104, 105, 106, + 53: 104, 106, 107, + 54: 108, 109, 110, + 55: 108, 110, 111, + 56: 112, 113, 114, + 57: 112, 114, 115, + 58: 116, 117, 118, + 59: 116, 118, 119, + 60: 120, 121, 122, + 61: 120, 122, 123, + 62: 124, 125, 126, + 63: 124, 126, 127, + 64: 128, 129, 130, + 65: 128, 130, 131, + 66: 132, 133, 134, + 67: 132, 134, 135, + 68: 136, 137, 138, + 69: 136, 138, 139, + 70: 140, 141, 142, + 71: 140, 142, 143, + 72: 144, 145, 146, + 73: 144, 146, 147, + 74: 148, 149, 150, + 75: 148, 150, 151, + 76: 152, 153, 154, + 77: 152, 154, 155, + 78: 156, 157, 158, + 79: 156, 158, 159, + 80: 160, 161, 162, + 81: 160, 162, 163, + 82: 164, 165, 166, + 83: 164, 166, 167, + 84: 168, 169, 170, + 85: 168, 170, 171, + 86: 172, 173, 174, + 87: 172, 174, 175, + 88: 176, 177, 178, + 89: 176, 178, 179, + 90: 180, 181, 182, + 91: 180, 182, 183, + 92: 184, 185, 186, + 93: 184, 186, 187, + 94: 188, 189, 190, + 95: 188, 190, 191, + 96: 192, 193, 194, + 97: 192, 194, 195, + 98: 196, 197, 198, + 99: 196, 198, 199, + 100: 200, 201, 202, + 101: 200, 202, 203, + 102: 204, 205, 206, + 103: 204, 206, 207, + 104: 208, 209, 210, + 105: 208, 210, 211, + 106: 212, 213, 214, + 107: 212, 214, 215, + 108: 216, 217, 218, + 109: 216, 218, 219, + 110: 220, 221, 222, + 111: 220, 222, 223, + 112: 224, 225, 226, + 113: 224, 226, 227, + 114: 228, 229, 230, + 115: 228, 230, 231, + 116: 232, 233, 234, + 117: 232, 234, 235, + 118: 236, 237, 238, + 119: 236, 238, 239, + 120: 240, 241, 242, + 121: 240, 242, 243, + 122: 244, 245, 246, + 123: 244, 246, 247, + 124: 248, 249, 250, + 125: 248, 250, 251, + 126: 252, 253, 254, + 127: 252, 254, 255, + 128: 256, 257, 258, + 129: 256, 258, 259, + 130: 260, 261, 262, + 131: 260, 262, 263, + 132: 264, 265, 266, + 133: 264, 266, 267, + 134: 268, 269, 270, + 135: 268, 270, 271, + 136: 272, 273, 274, + 137: 272, 274, 275, + 138: 276, 277, 278, + 139: 276, 278, 279, + 140: 280, 281, 282, + 141: 280, 282, 283, + 142: 284, 285, 286, + 143: 284, 286, 287, + 144: 288, 289, 290, + 145: 288, 290, 291, + 146: 292, 293, 294, + 147: 292, 294, 295, + 148: 296, 297, 298, + 149: 296, 298, 299, + 150: 300, 301, 302, + 151: 300, 302, 303, + 152: 304, 305, 306, + 153: 304, 306, 307, + 154: 308, 309, 310, + 155: 308, 310, 311, + 156: 312, 313, 314, + 157: 312, 314, 315, + 158: 316, 317, 318, + 159: 316, 318, 319, + 160: 320, 321, 322, + 161: 320, 322, 323, + 162: 324, 325, 326, + 163: 324, 326, 327, + 164: 328, 329, 330, + 165: 328, 330, 331, + 166: 332, 333, 334, + 167: 332, 334, 335, + 168: 336, 337, 338, + 169: 336, 338, 339, + 170: 340, 341, 342, + 171: 340, 342, 343, + 172: 344, 345, 346, + 173: 344, 346, 347, + 174: 348, 349, 350, + 175: 348, 350, 351, + 176: 352, 353, 354, + 177: 352, 354, 355, + 178: 356, 357, 358, + 179: 356, 358, 359, + 180: 360, 361, 362, + 181: 360, 362, 363, + 182: 364, 365, 366, + 183: 364, 366, 367, + 184: 368, 369, 370, + 185: 368, 370, 371, + 186: 372, 373, 374, + 187: 372, 374, 375, + 188: 376, 377, 378, + 189: 376, 378, 379, + 190: 380, 381, 382, + 191: 380, 382, 383, + 192: 384, 385, 386, + 193: 384, 386, 387, + 194: 388, 389, 390, + 195: 388, 390, 391, + 196: 392, 393, 394, + 197: 392, 394, 395, + 198: 396, 397, 398, + 199: 396, 398, 399, + 200: 400, 401, 402, + 201: 400, 402, 403, + 202: 404, 405, 406, + 203: 404, 406, 407, + 204: 408, 409, 410, + 205: 408, 410, 411, + 206: 412, 413, 414, + 207: 412, 414, 415, + 208: 416, 417, 418, + 209: 416, 418, 419, + 210: 420, 421, 422, + 211: 420, 422, 423, + 212: 424, 425, 426, + 213: 424, 426, 427, + 214: 428, 429, 430, + 215: 428, 430, 431, + 216: 432, 433, 434, + 217: 432, 434, 435, + 218: 436, 437, 438, + 219: 436, 438, 439, + 220: 440, 441, 442, + 221: 440, 442, 443, + 222: 444, 445, 446, + 223: 444, 446, 447, + 224: 448, 449, 450, + 225: 448, 450, 451, + 226: 452, 453, 454, + 227: 452, 454, 455, + 228: 456, 457, 458, + 229: 456, 458, 459, + 230: 460, 461, 462, + 231: 460, 462, 463, + 232: 464, 465, 466, + 233: 464, 466, 467, + 234: 468, 469, 470, + 235: 468, 470, 471, + 236: 472, 473, 474, + 237: 472, 474, 475, + 238: 476, 477, 478, + 239: 476, 478, 479, + 240: 480, 481, 482, + 241: 480, 482, 483, + 242: 484, 485, 486, + 243: 484, 486, 487, + 244: 488, 489, 490, + 245: 488, 490, 491, + 246: 492, 493, 494, + 247: 492, 494, 495, + 248: 496, 497, 498, + 249: 496, 498, 499, + 250: 500, 501, 502, + 251: 500, 502, 503, + 252: 504, 505, 506, + 253: 504, 506, 507, + 254: 508, 509, 510, + 255: 508, 510, 511, + 256: 512, 513, 514, + 257: 512, 514, 515, + 258: 516, 517, 518, + 259: 516, 518, 519, + 260: 520, 521, 522, + 261: 520, 522, 523, + 262: 524, 525, 526, + 263: 524, 526, 527, + 264: 528, 529, 530, + 265: 528, 530, 531, + 266: 532, 533, 534, + 267: 532, 534, 535, + 268: 536, 537, 538, + 269: 536, 538, 539, + 270: 540, 541, 542, + 271: 540, 542, 543, + 272: 544, 545, 546, + 273: 544, 546, 547, + 274: 548, 549, 550, + 275: 548, 550, 551, + 276: 552, 553, 554, + 277: 552, 554, 555, + 278: 556, 557, 558, + 279: 556, 558, 559, + 280: 560, 561, 562, + 281: 560, 562, 563, + 282: 564, 565, 566, + 283: 564, 566, 567, + 284: 568, 569, 570, + 285: 568, 570, 571, + 286: 572, 573, 574, + 287: 572, 574, 575, + 288: 576, 577, 578, + 289: 576, 578, 579, + 290: 580, 581, 582, + 291: 580, 582, 583, + 292: 584, 585, 586, + 293: 584, 586, 587, + 294: 588, 589, 590, + 295: 588, 590, 591, + 296: 592, 593, 594, + 297: 592, 594, 595, + 298: 596, 597, 598, + 299: 596, 598, 599, + 300: 600, 601, 602, + 301: 600, 602, 603, + 302: 604, 605, 606, + 303: 604, 606, 607, + 304: 608, 609, 610, + 305: 608, 610, 611, + 306: 612, 613, 614, + 307: 612, 614, 615, + 308: 616, 617, 618, + 309: 616, 618, 619, + 310: 620, 621, 622, + 311: 620, 622, 623, + 312: 624, 625, 626, + 313: 624, 626, 627, + 314: 628, 629, 630, + 315: 628, 630, 631, + 316: 632, 633, 634, + 317: 632, 634, 635, + 318: 636, 637, 638, + 319: 636, 638, 639, + 320: 640, 641, 642, + 321: 640, 642, 643, + 322: 644, 645, 646, + 323: 644, 646, 647, + 324: 648, 649, 650, + 325: 648, 650, 651, + 326: 652, 653, 654, + 327: 652, 654, 655, + 328: 656, 657, 658, + 329: 656, 658, 659, + 330: 660, 661, 662, + 331: 660, 662, 663, + 332: 664, 665, 666, + 333: 664, 666, 667, + 334: 668, 669, 670, + 335: 668, 670, 671, + 336: 672, 673, 674, + 337: 672, 674, 675, + 338: 676, 677, 678, + 339: 676, 678, 679, + 340: 680, 681, 682, + 341: 680, 682, 683, + 342: 684, 685, 686, + 343: 684, 686, 687, + 344: 688, 689, 690, + 345: 688, 690, 691, + 346: 692, 693, 694, + 347: 692, 694, 695, + 348: 696, 697, 698, + 349: 696, 698, 699, + 350: 700, 701, 702, + 351: 700, 702, 703, + 352: 704, 705, 706, + 353: 704, 706, 707, + 354: 708, 709, 710, + 355: 708, 710, 711, + 356: 712, 713, 714, + 357: 712, 714, 715, + 358: 716, 717, 718, + 359: 716, 718, 719, + 360: 720, 721, 722, + 361: 720, 722, 723, + 362: 724, 725, 726, + 363: 724, 726, 727, + 364: 728, 729, 730, + 365: 728, 730, 731, + 366: 732, 733, 734, + 367: 732, 734, 735, + 368: 736, 737, 738, + 369: 736, 738, 739, + 370: 740, 741, 742, + 371: 740, 742, 743, + 372: 744, 745, 746, + 373: 744, 746, 747, + 374: 748, 749, 750, + 375: 748, 750, 751, + 376: 752, 753, 754, + 377: 752, 754, 755, + 378: 756, 757, 758, + 379: 756, 758, 759, + 380: 760, 761, 762, + 381: 760, 762, 763, + 382: 764, 765, 766, + 383: 764, 766, 767, + 384: 768, 769, 770, + 385: 768, 770, 771, + 386: 772, 773, 774, + 387: 772, 774, 775, + 388: 776, 777, 778, + 389: 776, 778, 779, + 390: 780, 781, 782, + 391: 780, 782, 783, + 392: 784, 785, 786, + 393: 784, 786, 787, + 394: 788, 789, 790, + 395: 788, 790, 791, + 396: 792, 793, 794, + 397: 792, 794, 795, + 398: 796, 797, 798, + 399: 796, 798, 799, + 400: 800, 801, 802, + 401: 800, 802, 803, + 402: 804, 805, 806, + 403: 804, 806, 807, + 404: 808, 809, 810, + 405: 808, 810, 811, + 406: 812, 813, 814, + 407: 812, 814, 815, + 408: 816, 817, 818, + 409: 816, 818, 819, + 410: 820, 821, 822, + 411: 820, 822, 823, + 412: 824, 825, 826, + 413: 824, 826, 827, + 414: 828, 829, 830, + 415: 828, 830, 831, + 416: 832, 833, 834, + 417: 832, 834, 835, + 418: 836, 837, 838, + 419: 836, 838, 839, + 420: 840, 841, 842, + 421: 840, 842, 843, + 422: 844, 845, 846, + 423: 844, 846, 847, + 424: 848, 849, 850, + 425: 848, 850, 851, + 426: 852, 853, 854, + 427: 852, 854, 855, + 428: 856, 857, 858, + 429: 856, 858, 859, + 430: 860, 861, 862, + 431: 860, 862, 863, + 432: 864, 865, 866, + 433: 864, 866, 867, + 434: 868, 869, 870, + 435: 868, 870, 871, + 436: 872, 873, 874, + 437: 872, 874, 875, + 438: 876, 877, 878, + 439: 876, 878, 879, + 440: 880, 881, 882, + 441: 880, 882, 883, + 442: 884, 885, 886, + 443: 884, 886, 887, + 444: 888, 889, 890, + 445: 888, 890, 891, + 446: 892, 893, 894, + 447: 892, 894, 895, + 448: 896, 897, 898, + 449: 896, 898, 899, + 450: 900, 901, 902, + 451: 900, 902, 903, + 452: 904, 905, 906, + 453: 904, 906, 907, + 454: 908, 909, 910, + 455: 908, 910, 911, + 456: 912, 913, 914, + 457: 912, 914, 915, + 458: 916, 917, 918, + 459: 916, 918, 919, + 460: 920, 921, 922, + 461: 920, 922, 923, + 462: 924, 925, 926, + 463: 924, 926, 927, + 464: 928, 929, 930, + 465: 928, 930, 931, + 466: 932, 933, 934, + 467: 932, 934, 935, + 468: 936, 937, 938, + 469: 936, 938, 939, + 470: 940, 941, 942, + 471: 940, 942, 943, + 472: 944, 945, 946, + 473: 944, 946, 947, + 474: 948, 949, 950, + 475: 948, 950, 951, + 476: 952, 953, 954, + 477: 952, 954, 955, + 478: 956, 957, 958, + 479: 956, 958, 959, + 480: 960, 961, 962, + 481: 960, 962, 963, + 482: 964, 965, 966, + 483: 964, 966, 967, + 484: 968, 969, 970, + 485: 968, 970, 971, + 486: 972, 973, 974, + 487: 972, 974, 975, + 488: 976, 977, 978, + 489: 976, 978, 979, + 490: 980, 981, 982, + 491: 980, 982, 983, + 492: 984, 985, 986, + 493: 984, 986, 987, + 494: 988, 989, 990, + 495: 988, 990, 991, + 496: 992, 993, 994, + 497: 992, 994, 995, + 498: 996, 997, 998, + 499: 996, 998, 999, + 500: 1000, 1001, 1002, + 501: 1000, 1002, 1003, + 502: 1004, 1005, 1006, + 503: 1004, 1006, 1007, + 504: 1008, 1009, 1010, + 505: 1008, 1010, 1011, + 506: 1012, 1013, 1014, + 507: 1012, 1014, 1015, + 508: 1016, 1017, 1018, + 509: 1016, 1018, 1019, + 510: 1020, 1021, 1022, + 511: 1020, 1022, 1023, + 512: 1024, 1025, 1026, + 513: 1024, 1026, 1027, + 514: 1028, 1029, 1030, + 515: 1028, 1030, 1031, + 516: 1032, 1033, 1034, + 517: 1032, 1034, 1035, + 518: 1036, 1037, 1038, + 519: 1036, 1038, 1039, + 520: 1040, 1041, 1042, + 521: 1040, 1042, 1043, + 522: 1044, 1045, 1046, + 523: 1044, 1046, 1047, + 524: 1048, 1049, 1050, + 525: 1048, 1050, 1051, + 526: 1052, 1053, 1054, + 527: 1052, 1054, 1055, + 528: 1056, 1057, 1058, + 529: 1056, 1058, 1059, + 530: 1060, 1061, 1062, + 531: 1060, 1062, 1063, + 532: 1064, 1065, 1066, + 533: 1064, 1066, 1067, + 534: 1068, 1069, 1070, + 535: 1068, 1070, 1071, + 536: 1072, 1073, 1074, + 537: 1072, 1074, 1075, + 538: 1076, 1077, 1078, + 539: 1076, 1078, 1079, + 540: 1080, 1081, 1082, + 541: 1080, 1082, 1083, + 542: 1084, 1085, 1086, + 543: 1084, 1086, 1087, + 544: 1088, 1089, 1090, + 545: 1088, 1090, 1091, + 546: 1092, 1093, 1094, + 547: 1092, 1094, 1095, + 548: 1096, 1097, 1098, + 549: 1096, 1098, 1099, + 550: 1100, 1101, 1102, + 551: 1100, 1102, 1103, + 552: 1104, 1105, 1106, + 553: 1104, 1106, 1107, + 554: 1108, 1109, 1110, + 555: 1108, 1110, 1111, + 556: 1112, 1113, 1114, + 557: 1112, 1114, 1115, + 558: 1116, 1117, 1118, + 559: 1116, 1118, 1119, + 560: 1120, 1121, 1122, + 561: 1120, 1122, 1123, + 562: 1124, 1125, 1126, + 563: 1124, 1126, 1127, + 564: 1128, 1129, 1130, + 565: 1128, 1130, 1131, + 566: 1132, 1133, 1134, + 567: 1132, 1134, 1135, + 568: 1136, 1137, 1138, + 569: 1136, 1138, 1139, + 570: 1140, 1141, 1142, + 571: 1140, 1142, 1143, + 572: 1144, 1145, 1146, + 573: 1144, 1146, 1147, + 574: 1148, 1149, 1150, + 575: 1148, 1150, 1151, + 576: 1152, 1153, 1154, + 577: 1152, 1154, 1155, + 578: 1156, 1157, 1158, + 579: 1156, 1158, 1159, + 580: 1160, 1161, 1162, + 581: 1160, 1162, 1163, + 582: 1164, 1165, 1166, + 583: 1164, 1166, 1167, + 584: 1168, 1169, 1170, + 585: 1168, 1170, 1171, + 586: 1172, 1173, 1174, + 587: 1172, 1174, 1175, + 588: 1176, 1177, 1178, + 589: 1176, 1178, 1179, + 590: 1180, 1181, 1182, + 591: 1180, 1182, 1183, + 592: 1184, 1185, 1186, + 593: 1184, 1186, 1187, + 594: 1188, 1189, 1190, + 595: 1188, 1190, 1191, + 596: 1192, 1193, 1194, + 597: 1192, 1194, 1195, + 598: 1196, 1197, 1198, + 599: 1196, 1198, 1199, + 600: 1200, 1201, 1202, + 601: 1200, 1202, 1203, + 602: 1204, 1205, 1206, + 603: 1204, 1206, 1207, + 604: 1208, 1209, 1210, + 605: 1208, 1210, 1211, + 606: 1212, 1213, 1214, + 607: 1212, 1214, 1215, + 608: 1216, 1217, 1218, + 609: 1216, 1218, 1219, + 610: 1220, 1221, 1222, + 611: 1220, 1222, 1223, + 612: 1224, 1225, 1226, + 613: 1224, 1226, 1227, + 614: 1228, 1229, 1230, + 615: 1228, 1230, 1231, + 616: 1232, 1233, 1234, + 617: 1232, 1234, 1235, + 618: 1236, 1237, 1238, + 619: 1236, 1238, 1239, + 620: 1240, 1241, 1242, + 621: 1240, 1242, 1243, + 622: 1244, 1245, 1246, + 623: 1244, 1246, 1247, + 624: 1248, 1249, 1250, + 625: 1248, 1250, 1251, + 626: 1252, 1253, 1254, + 627: 1252, 1254, 1255, + 628: 1256, 1257, 1258, + 629: 1256, 1258, 1259, + 630: 1260, 1261, 1262, + 631: 1260, 1262, 1263, + 632: 1264, 1265, 1266, + 633: 1264, 1266, 1267, + 634: 1268, 1269, 1270, + 635: 1268, 1270, 1271, + 636: 1272, 1273, 1274, + 637: 1272, 1274, 1275, + 638: 1276, 1277, 1278, + 639: 1276, 1278, 1279, + 640: 1280, 1281, 1282, + 641: 1280, 1282, 1283, + 642: 1284, 1285, 1286, + 643: 1284, 1286, 1287, + 644: 1288, 1289, 1290, + 645: 1288, 1290, 1291, + 646: 1292, 1293, 1294, + 647: 1292, 1294, 1295, + 648: 1296, 1297, 1298, + 649: 1296, 1298, 1299, + 650: 1300, 1301, 1302, + 651: 1300, 1302, 1303, + 652: 1304, 1305, 1306, + 653: 1304, 1306, 1307, + 654: 1308, 1309, 1310, + 655: 1308, 1310, 1311, + 656: 1312, 1313, 1314, + 657: 1312, 1314, 1315, + 658: 1316, 1317, 1318, + 659: 1316, 1318, 1319, + 660: 1320, 1321, 1322, + 661: 1320, 1322, 1323, + 662: 1324, 1325, 1326, + 663: 1324, 1326, 1327, + 664: 1328, 1329, 1330, + 665: 1328, 1330, 1331, + 666: 1332, 1333, 1334, + 667: 1332, 1334, 1335, + 668: 1336, 1337, 1338, + 669: 1336, 1338, 1339, + 670: 1340, 1341, 1342, + 671: 1340, 1342, 1343, + 672: 1344, 1345, 1346, + 673: 1344, 1346, 1347, + 674: 1348, 1349, 1350, + 675: 1348, 1350, 1351, + 676: 1352, 1353, 1354, + 677: 1352, 1354, 1355, + 678: 1356, 1357, 1358, + 679: 1356, 1358, 1359, + 680: 1360, 1361, 1362, + 681: 1360, 1362, 1363, + 682: 1364, 1365, 1366, + 683: 1364, 1366, 1367, + 684: 1368, 1369, 1370, + 685: 1368, 1370, 1371, + 686: 1372, 1373, 1374, + 687: 1372, 1374, 1375, + 688: 1376, 1377, 1378, + 689: 1376, 1378, 1379, + 690: 1380, 1381, 1382, + 691: 1380, 1382, 1383, + 692: 1384, 1385, 1386, + 693: 1384, 1386, 1387, + 694: 1388, 1389, 1390, + 695: 1388, 1390, 1391, + 696: 1392, 1393, 1394, + 697: 1392, 1394, 1395, + 698: 1396, 1397, 1398, + 699: 1396, 1398, 1399, + 700: 1400, 1401, 1402, + 701: 1400, 1402, 1403, + 702: 1404, 1405, 1406, + 703: 1404, 1406, 1407, + 704: 1408, 1409, 1410, + 705: 1408, 1410, 1411, + 706: 1412, 1413, 1414, + 707: 1412, 1414, 1415, + 708: 1416, 1417, 1418, + 709: 1416, 1418, 1419, + 710: 1420, 1421, 1422, + 711: 1420, 1422, 1423, + 712: 1424, 1425, 1426, + 713: 1424, 1426, 1427, + 714: 1428, 1429, 1430, + 715: 1428, 1430, 1431, + 716: 1432, 1433, 1434, + 717: 1432, 1434, 1435, + 718: 1436, 1437, 1438, + 719: 1436, 1438, 1439, + 720: 1440, 1441, 1442, + 721: 1440, 1442, 1443, + 722: 1444, 1445, 1446, + 723: 1444, 1446, 1447, + 724: 1448, 1449, 1450, + 725: 1448, 1450, 1451, + 726: 1452, 1453, 1454, + 727: 1452, 1454, 1455, + 728: 1456, 1457, 1458, + 729: 1456, 1458, 1459, + 730: 1460, 1461, 1462, + 731: 1460, 1462, 1463, + 732: 1464, 1465, 1466, + 733: 1464, 1466, 1467, + 734: 1468, 1469, 1470, + 735: 1468, 1470, 1471, + 736: 1472, 1473, 1474, + 737: 1472, 1474, 1475, + 738: 1476, 1477, 1478, + 739: 1476, 1478, 1479, + 740: 1480, 1481, 1482, + 741: 1480, 1482, 1483, + 742: 1484, 1485, 1486, + 743: 1484, 1486, 1487, + 744: 1488, 1489, 1490, + 745: 1488, 1490, 1491, + 746: 1492, 1493, 1494, + 747: 1492, 1494, 1495, + 748: 1496, 1497, 1498, + 749: 1496, 1498, 1499, + 750: 1500, 1501, 1502, + 751: 1500, 1502, 1503, + 752: 1504, 1505, 1506, + 753: 1504, 1506, 1507, + 754: 1508, 1509, 1510, + 755: 1508, 1510, 1511, + 756: 1512, 1513, 1514, + 757: 1512, 1514, 1515, + 758: 1516, 1517, 1518, + 759: 1516, 1518, 1519, + 760: 1520, 1521, 1522, + 761: 1520, 1522, 1523, + 762: 1524, 1525, 1526, + 763: 1524, 1526, 1527, + 764: 1528, 1529, 1530, + 765: 1528, 1530, 1531, + 766: 1532, 1533, 1534, + 767: 1532, 1534, 1535, + 768: 1536, 1537, 1538, + 769: 1536, 1538, 1539, + 770: 1540, 1541, 1542, + 771: 1540, 1542, 1543, + 772: 1544, 1545, 1546, + 773: 1544, 1546, 1547, + 774: 1548, 1549, 1550, + 775: 1548, 1550, 1551, + 776: 1552, 1553, 1554, + 777: 1552, 1554, 1555, + 778: 1556, 1557, 1558, + 779: 1556, 1558, 1559, + 780: 1560, 1561, 1562, + 781: 1560, 1562, 1563, + 782: 1564, 1565, 1566, + 783: 1564, 1566, 1567, + 784: 1568, 1569, 1570, + 785: 1568, 1570, 1571, + 786: 1572, 1573, 1574, + 787: 1572, 1574, 1575, + 788: 1576, 1577, 1578, + 789: 1576, 1578, 1579, + 790: 1580, 1581, 1582, + 791: 1580, 1582, 1583, + 792: 1584, 1585, 1586, + 793: 1584, 1586, 1587, + 794: 1588, 1589, 1590, + 795: 1588, 1590, 1591, + 796: 1592, 1593, 1594, + 797: 1592, 1594, 1595, + 798: 1596, 1597, 1598, + 799: 1596, 1598, 1599, + 800: 1600, 1601, 1602, + 801: 1600, 1602, 1603, + 802: 1604, 1605, 1606, + 803: 1604, 1606, 1607, + 804: 1608, 1609, 1610, + 805: 1608, 1610, 1611, + 806: 1612, 1613, 1614, + 807: 1612, 1614, 1615, + 808: 1616, 1617, 1618, + 809: 1616, 1618, 1619, + 810: 1620, 1621, 1622, + 811: 1620, 1622, 1623, + 812: 1624, 1625, 1626, + 813: 1624, 1626, 1627, + 814: 1628, 1629, 1630, + 815: 1628, 1630, 1631, + 816: 1632, 1633, 1634, + 817: 1632, 1634, 1635, + 818: 1636, 1637, 1638, + 819: 1636, 1638, 1639, + 820: 1640, 1641, 1642, + 821: 1640, 1642, 1643, + 822: 1644, 1645, 1646, + 823: 1644, 1646, 1647, + 824: 1648, 1649, 1650, + 825: 1648, 1650, 1651, + 826: 1652, 1653, 1654, + 827: 1652, 1654, 1655, + 828: 1656, 1657, 1658, + 829: 1656, 1658, 1659, + 830: 1660, 1661, 1662, + 831: 1660, 1662, 1663, + 832: 1664, 1665, 1666, + 833: 1664, 1666, 1667, + 834: 1668, 1669, 1670, + 835: 1668, 1670, 1671, + 836: 1672, 1673, 1674, + 837: 1672, 1674, 1675, + 838: 1676, 1677, 1678, + 839: 1676, 1678, 1679, + 840: 1680, 1681, 1682, + 841: 1680, 1682, 1683, + 842: 1684, 1685, 1686, + 843: 1684, 1686, 1687, + 844: 1688, 1689, 1690, + 845: 1688, 1690, 1691, + 846: 1692, 1693, 1694, + 847: 1692, 1694, 1695, + 848: 1696, 1697, 1698, + 849: 1696, 1698, 1699, + 850: 1700, 1701, 1702, + 851: 1700, 1702, 1703, + 852: 1704, 1705, 1706, + 853: 1704, 1706, 1707, + 854: 1708, 1709, 1710, + 855: 1708, 1710, 1711, + 856: 1712, 1713, 1714, + 857: 1712, 1714, 1715, + 858: 1716, 1717, 1718, + 859: 1716, 1718, 1719, + 860: 1720, 1721, 1722, + 861: 1720, 1722, 1723, + 862: 1724, 1725, 1726, + 863: 1724, 1726, 1727, + 864: 1728, 1729, 1730, + 865: 1728, 1730, 1731, + 866: 1732, 1733, 1734, + 867: 1732, 1734, 1735, + 868: 1736, 1737, 1738, + 869: 1736, 1738, 1739, + 870: 1740, 1741, 1742, + 871: 1740, 1742, 1743, + 872: 1744, 1745, 1746, + 873: 1744, 1746, 1747, + 874: 1748, 1749, 1750, + 875: 1748, 1750, 1751, + 876: 1752, 1753, 1754, + 877: 1752, 1754, 1755, + 878: 1756, 1757, 1758, + 879: 1756, 1758, 1759, + 880: 1760, 1761, 1762, + 881: 1760, 1762, 1763, + 882: 1764, 1765, 1766, + 883: 1764, 1766, 1767, + 884: 1768, 1769, 1770, + 885: 1768, 1770, 1771, + 886: 1772, 1773, 1774, + 887: 1772, 1774, 1775, + 888: 1776, 1777, 1778, + 889: 1776, 1778, 1779, + 890: 1780, 1781, 1782, + 891: 1780, 1782, 1783, + 892: 1784, 1785, 1786, + 893: 1784, 1786, 1787, + 894: 1788, 1789, 1790, + 895: 1788, 1790, 1791, + 896: 1792, 1793, 1794, + 897: 1792, 1794, 1795, + 898: 1796, 1797, 1798, + 899: 1796, 1798, 1799, + 900: 1800, 1801, 1802, + 901: 1800, 1802, 1803, + 902: 1804, 1805, 1806, + 903: 1804, 1806, 1807, + 904: 1808, 1809, 1810, + 905: 1808, 1810, 1811, + 906: 1812, 1813, 1814, + 907: 1812, 1814, 1815, + 908: 1816, 1817, 1818, + 909: 1816, 1818, 1819, + 910: 1820, 1821, 1822, + 911: 1820, 1822, 1823, + 912: 1824, 1825, 1826, + 913: 1824, 1826, 1827, + 914: 1828, 1829, 1830, + 915: 1828, 1830, 1831, + 916: 1832, 1833, 1834, + 917: 1832, 1834, 1835, + 918: 1836, 1837, 1838, + 919: 1836, 1838, 1839, + 920: 1840, 1841, 1842, + 921: 1840, 1842, 1843, + 922: 1844, 1845, 1846, + 923: 1844, 1846, 1847, + 924: 1848, 1849, 1850, + 925: 1848, 1850, 1851, + 926: 1852, 1853, 1854, + 927: 1852, 1854, 1855, + 928: 1856, 1857, 1858, + 929: 1856, 1858, 1859, + 930: 1860, 1861, 1862, + 931: 1860, 1862, 1863, + 932: 1864, 1865, 1866, + 933: 1864, 1866, 1867, + 934: 1868, 1869, 1870, + 935: 1868, 1870, 1871, + 936: 1872, 1873, 1874, + 937: 1872, 1874, 1875, + 938: 1876, 1877, 1878, + 939: 1876, 1878, 1879, + 940: 1880, 1881, 1882, + 941: 1880, 1882, 1883, + 942: 1884, 1885, 1886, + 943: 1884, 1886, 1887, + 944: 1888, 1889, 1890, + 945: 1888, 1890, 1891, + 946: 1892, 1893, 1894, + 947: 1892, 1894, 1895, + 948: 1896, 1897, 1898, + 949: 1896, 1898, 1899, + 950: 1900, 1901, 1902, + 951: 1900, 1902, 1903, + 952: 1904, 1905, 1906, + 953: 1904, 1906, 1907, + 954: 1908, 1909, 1910, + 955: 1908, 1910, 1911, + 956: 1912, 1913, 1914, + 957: 1912, 1914, 1915, + 958: 1916, 1917, 1918, + 959: 1916, 1918, 1919, + 960: 1920, 1921, 1922, + 961: 1920, 1922, 1923, + 962: 1924, 1925, 1926, + 963: 1924, 1926, 1927, + 964: 1928, 1929, 1930, + 965: 1928, 1930, 1931, + 966: 1932, 1933, 1934, + 967: 1932, 1934, 1935, + 968: 1936, 1937, 1938, + 969: 1936, 1938, 1939, + 970: 1940, 1941, 1942, + 971: 1940, 1942, 1943, + 972: 1944, 1945, 1946, + 973: 1944, 1946, 1947, + 974: 1948, 1949, 1950, + 975: 1948, 1950, 1951, + 976: 1952, 1953, 1954, + 977: 1952, 1954, 1955, + 978: 1956, 1957, 1958, + 979: 1956, 1958, 1959, + 980: 1960, 1961, 1962, + 981: 1960, 1962, 1963, + 982: 1964, 1965, 1966, + 983: 1964, 1966, 1967, + 984: 1968, 1969, 1970, + 985: 1968, 1970, 1971, + 986: 1972, 1973, 1974, + 987: 1972, 1974, 1975, + 988: 1976, 1977, 1978, + 989: 1976, 1978, 1979, + 990: 1980, 1981, 1982, + 991: 1980, 1982, 1983, + 992: 1984, 1985, 1986, + 993: 1984, 1986, 1987, + 994: 1988, 1989, 1990, + 995: 1988, 1990, 1991, + 996: 1992, 1993, 1994, + 997: 1992, 1994, 1995, + 998: 1996, 1997, 1998, + 999: 1996, 1998, 1999, + 1000: 2000, 2001, 2002, + 1001: 2000, 2002, 2003, + 1002: 2004, 2005, 2006, + 1003: 2004, 2006, 2007, + 1004: 2008, 2009, 2010, + 1005: 2008, 2010, 2011, + 1006: 2012, 2013, 2014, + 1007: 2012, 2014, 2015, + 1008: 2016, 2017, 2018, + 1009: 2016, 2018, 2019, + 1010: 2020, 2021, 2022, + 1011: 2020, 2022, 2023, + 1012: 2024, 2025, 2026, + 1013: 2024, 2026, 2027, + 1014: 2028, 2029, 2030, + 1015: 2028, 2030, 2031, + 1016: 2032, 2033, 2034, + 1017: 2032, 2034, 2035, + 1018: 2036, 2037, 2038, + 1019: 2036, 2038, 2039, + 1020: 2040, 2041, 2042, + 1021: 2040, 2042, 2043, + 1022: 2044, 2045, 2046, + 1023: 2044, 2046, 2047, + 1024: 2048, 2049, 2050, + 1025: 2048, 2050, 2051, + 1026: 2052, 2053, 2054, + 1027: 2052, 2054, 2055, + 1028: 2056, 2057, 2058, + 1029: 2056, 2058, 2059, + 1030: 2060, 2061, 2062, + 1031: 2060, 2062, 2063, + 1032: 2064, 2065, 2066, + 1033: 2064, 2066, 2067, + 1034: 2068, 2069, 2070, + 1035: 2068, 2070, 2071, + 1036: 2072, 2073, 2074, + 1037: 2072, 2074, 2075, + 1038: 2076, 2077, 2078, + 1039: 2076, 2078, 2079, + 1040: 2080, 2081, 2082, + 1041: 2080, 2082, 2083, + 1042: 2084, 2085, 2086, + 1043: 2084, 2086, 2087, + 1044: 2088, 2089, 2090, + 1045: 2088, 2090, 2091, + 1046: 2092, 2093, 2094, + 1047: 2092, 2094, 2095, + 1048: 2096, 2097, 2098, + 1049: 2096, 2098, 2099, + 1050: 2100, 2101, 2102, + 1051: 2100, 2102, 2103, + 1052: 2104, 2105, 2106, + 1053: 2104, 2106, 2107, + 1054: 2108, 2109, 2110, + 1055: 2108, 2110, 2111, + 1056: 2112, 2113, 2114, + 1057: 2112, 2114, 2115, + 1058: 2116, 2117, 2118, + 1059: 2116, 2118, 2119, + 1060: 2120, 2121, 2122, + 1061: 2120, 2122, 2123, + 1062: 2124, 2125, 2126, + 1063: 2124, 2126, 2127, + 1064: 2128, 2129, 2130, + 1065: 2128, 2130, 2131, + 1066: 2132, 2133, 2134, + 1067: 2132, 2134, 2135, + 1068: 2136, 2137, 2138, + 1069: 2136, 2138, 2139, + 1070: 2140, 2141, 2142, + 1071: 2140, 2142, 2143, + 1072: 2144, 2145, 2146, + 1073: 2144, 2146, 2147, + 1074: 2148, 2149, 2150, + 1075: 2148, 2150, 2151, + 1076: 2152, 2153, 2154, + 1077: 2152, 2154, 2155, + 1078: 2156, 2157, 2158, + 1079: 2156, 2158, 2159, + 1080: 2160, 2161, 2162, + 1081: 2160, 2162, 2163, + 1082: 2164, 2165, 2166, + 1083: 2164, 2166, 2167, + 1084: 2168, 2169, 2170, + 1085: 2168, 2170, 2171, + 1086: 2172, 2173, 2174, + 1087: 2172, 2174, 2175, + 1088: 2176, 2177, 2178, + 1089: 2176, 2178, 2179, + 1090: 2180, 2181, 2182, + 1091: 2180, 2182, 2183, + 1092: 2184, 2185, 2186, + 1093: 2184, 2186, 2187, + 1094: 2188, 2189, 2190, + 1095: 2188, 2190, 2191, + 1096: 2192, 2193, 2194, + 1097: 2192, 2194, 2195, + 1098: 2196, 2197, 2198, + 1099: 2196, 2198, 2199, + 1100: 2200, 2201, 2202, + 1101: 2200, 2202, 2203, + 1102: 2204, 2205, 2206, + 1103: 2204, 2206, 2207, + 1104: 2208, 2209, 2210, + 1105: 2208, 2210, 2211, + 1106: 2212, 2213, 2214, + 1107: 2212, 2214, 2215, + 1108: 2216, 2217, 2218, + 1109: 2216, 2218, 2219, + 1110: 2220, 2221, 2222, + 1111: 2220, 2222, 2223, + 1112: 2224, 2225, 2226, + 1113: 2224, 2226, 2227, + 1114: 2228, 2229, 2230, + 1115: 2228, 2230, 2231, + 1116: 2232, 2233, 2234, + 1117: 2232, 2234, 2235, + 1118: 2236, 2237, 2238, + 1119: 2236, 2238, 2239, + 1120: 2240, 2241, 2242, + 1121: 2240, 2242, 2243, + 1122: 2244, 2245, 2246, + 1123: 2244, 2246, 2247, + 1124: 2248, 2249, 2250, + 1125: 2248, 2250, 2251, + 1126: 2252, 2253, 2254, + 1127: 2252, 2254, 2255, + 1128: 2256, 2257, 2258, + 1129: 2256, 2258, 2259, + 1130: 2260, 2261, 2262, + 1131: 2260, 2262, 2263, + 1132: 2264, 2265, 2266, + 1133: 2264, 2266, 2267, + 1134: 2268, 2269, 2270, + 1135: 2268, 2270, 2271, + 1136: 2272, 2273, 2274, + 1137: 2272, 2274, 2275, + 1138: 2276, 2277, 2278, + 1139: 2276, 2278, 2279, + 1140: 2280, 2281, 2282, + 1141: 2280, 2282, 2283, + 1142: 2284, 2285, 2286, + 1143: 2284, 2286, 2287, + 1144: 2288, 2289, 2290, + 1145: 2288, 2290, 2291, + 1146: 2292, 2293, 2294, + 1147: 2292, 2294, 2295, + 1148: 2296, 2297, 2298, + 1149: 2296, 2298, 2299, + 1150: 2300, 2301, 2302, + 1151: 2300, 2302, 2303, + 1152: 2304, 2305, 2306, + 1153: 2304, 2306, 2307, + 1154: 2308, 2309, 2310, + 1155: 2308, 2310, 2311, + 1156: 2312, 2313, 2314, + 1157: 2312, 2314, 2315, + 1158: 2316, 2317, 2318, + 1159: 2316, 2318, 2319, + 1160: 2320, 2321, 2322, + 1161: 2320, 2322, 2323, + 1162: 2324, 2325, 2326, + 1163: 2324, 2326, 2327, + 1164: 2328, 2329, 2330, + 1165: 2328, 2330, 2331, + 1166: 2332, 2333, 2334, + 1167: 2332, 2334, 2335, + 1168: 2336, 2337, 2338, + 1169: 2336, 2338, 2339, + 1170: 2340, 2341, 2342, + 1171: 2340, 2342, 2343, + 1172: 2344, 2345, 2346, + 1173: 2344, 2346, 2347, + 1174: 2348, 2349, 2350, + 1175: 2348, 2350, 2351, + 1176: 2352, 2353, 2354, + 1177: 2352, 2354, 2355, + 1178: 2356, 2357, 2358, + 1179: 2356, 2358, 2359, + 1180: 2360, 2361, 2362, + 1181: 2360, 2362, 2363, + 1182: 2364, 2365, 2366, + 1183: 2364, 2366, 2367, + 1184: 2368, 2369, 2370, + 1185: 2368, 2370, 2371, + 1186: 2372, 2373, 2374, + 1187: 2372, 2374, 2375, + 1188: 2376, 2377, 2378, + 1189: 2376, 2378, 2379, + 1190: 2380, 2381, 2382, + 1191: 2380, 2382, 2383, + 1192: 2384, 2385, 2386, + 1193: 2384, 2386, 2387, + 1194: 2388, 2389, 2390, + 1195: 2388, 2390, 2391, + 1196: 2392, 2393, 2394, + 1197: 2392, 2394, 2395, + 1198: 2396, 2397, 2398, + 1199: 2396, 2398, 2399, + 1200: 2400, 2401, 2402, + 1201: 2400, 2402, 2403, + 1202: 2404, 2405, 2406, + 1203: 2404, 2406, 2407, + 1204: 2408, 2409, 2410, + 1205: 2408, 2410, 2411, + 1206: 2412, 2413, 2414, + 1207: 2412, 2414, 2415, + 1208: 2416, 2417, 2418, + 1209: 2416, 2418, 2419, + 1210: 2420, 2421, 2422, + 1211: 2420, 2422, 2423, + 1212: 2424, 2425, 2426, + 1213: 2424, 2426, 2427, + 1214: 2428, 2429, 2430, + 1215: 2428, 2430, 2431, + 1216: 2432, 2433, 2434, + 1217: 2432, 2434, 2435, + 1218: 2436, 2437, 2438, + 1219: 2436, 2438, 2439, + 1220: 2440, 2441, 2442, + 1221: 2440, 2442, 2443, + 1222: 2444, 2445, 2446, + 1223: 2444, 2446, 2447, + 1224: 2448, 2449, 2450, + 1225: 2448, 2450, 2451, + 1226: 2452, 2453, 2454, + 1227: 2452, 2454, 2455, + 1228: 2456, 2457, 2458, + 1229: 2456, 2458, 2459, + 1230: 2460, 2461, 2462, + 1231: 2460, 2462, 2463, + 1232: 2464, 2465, 2466, + 1233: 2464, 2466, 2467, + 1234: 2468, 2469, 2470, + 1235: 2468, 2470, 2471, + 1236: 2472, 2473, 2474, + 1237: 2472, 2474, 2475, + 1238: 2476, 2477, 2478, + 1239: 2476, 2478, 2479, + 1240: 2480, 2481, 2482, + 1241: 2480, 2482, 2483, + 1242: 2484, 2485, 2486, + 1243: 2484, 2486, 2487, + 1244: 2488, 2489, 2490, + 1245: 2488, 2490, 2491, + 1246: 2492, 2493, 2494, + 1247: 2492, 2494, 2495, + 1248: 2496, 2497, 2498, + 1249: 2496, 2498, 2499, + 1250: 2500, 2501, 2502, + 1251: 2500, 2502, 2503, + 1252: 2504, 2505, 2506, + 1253: 2504, 2506, 2507, + 1254: 2508, 2509, 2510, + 1255: 2508, 2510, 2511, + 1256: 2512, 2513, 2514, + 1257: 2512, 2514, 2515, + 1258: 2516, 2517, 2518, + 1259: 2516, 2518, 2519, + 1260: 2520, 2521, 2522, + 1261: 2520, 2522, 2523, + 1262: 2524, 2525, 2526, + 1263: 2524, 2526, 2527, + 1264: 2528, 2529, 2530, + 1265: 2528, 2530, 2531, + 1266: 2532, 2533, 2534, + 1267: 2532, 2534, 2535, + 1268: 2536, 2537, 2538, + 1269: 2536, 2538, 2539, + 1270: 2540, 2541, 2542, + 1271: 2540, 2542, 2543, + 1272: 2544, 2545, 2546, + 1273: 2544, 2546, 2547, + 1274: 2548, 2549, 2550, + 1275: 2548, 2550, 2551, + 1276: 2552, 2553, 2554, + 1277: 2552, 2554, 2555, + 1278: 2556, 2557, 2558, + 1279: 2556, 2558, 2559, + 1280: 2560, 2561, 2562, + 1281: 2560, 2562, 2563, + 1282: 2564, 2565, 2566, + 1283: 2564, 2566, 2567, + 1284: 2568, 2569, 2570, + 1285: 2568, 2570, 2571, + 1286: 2572, 2573, 2574, + 1287: 2572, 2574, 2575, + 1288: 2576, 2577, 2578, + 1289: 2576, 2578, 2579, + 1290: 2580, 2581, 2582, + 1291: 2580, 2582, 2583, + 1292: 2584, 2585, 2586, + 1293: 2584, 2586, 2587, + 1294: 2588, 2589, 2590, + 1295: 2588, 2590, 2591, + 1296: 2592, 2593, 2594, + 1297: 2592, 2594, 2595, + 1298: 2596, 2597, 2598, + 1299: 2596, 2598, 2599, + 1300: 2600, 2601, 2602, + 1301: 2600, 2602, 2603, + 1302: 2604, 2605, 2606, + 1303: 2604, 2606, 2607, + 1304: 2608, 2609, 2610, + 1305: 2608, 2610, 2611, + 1306: 2612, 2613, 2614, + 1307: 2612, 2614, 2615, + 1308: 2616, 2617, 2618, + 1309: 2616, 2618, 2619, + 1310: 2620, 2621, 2622, + 1311: 2620, 2622, 2623, + 1312: 2624, 2625, 2626, + 1313: 2624, 2626, 2627, + 1314: 2628, 2629, 2630, + 1315: 2628, 2630, 2631, + 1316: 2632, 2633, 2634, + 1317: 2632, 2634, 2635, + 1318: 2636, 2637, 2638, + 1319: 2636, 2638, 2639, + 1320: 2640, 2641, 2642, + 1321: 2640, 2642, 2643, + 1322: 2644, 2645, 2646, + 1323: 2644, 2646, 2647, + 1324: 2648, 2649, 2650, + 1325: 2648, 2650, 2651, + 1326: 2652, 2653, 2654, + 1327: 2652, 2654, 2655, + 1328: 2656, 2657, 2658, + 1329: 2656, 2658, 2659, + 1330: 2660, 2661, 2662, + 1331: 2660, 2662, 2663, + 1332: 2664, 2665, 2666, + 1333: 2664, 2666, 2667, + 1334: 2668, 2669, 2670, + 1335: 2668, 2670, 2671, + 1336: 2672, 2673, 2674, + 1337: 2672, 2674, 2675, + 1338: 2676, 2677, 2678, + 1339: 2676, 2678, 2679, + 1340: 2680, 2681, 2682, + 1341: 2680, 2682, 2683, + 1342: 2684, 2685, 2686, + 1343: 2684, 2686, 2687, + 1344: 2688, 2689, 2690, + 1345: 2688, 2690, 2691, + 1346: 2692, 2693, 2694, + 1347: 2692, 2694, 2695, + 1348: 2696, 2697, 2698, + 1349: 2696, 2698, 2699, + 1350: 2700, 2701, 2702, + 1351: 2700, 2702, 2703, + 1352: 2704, 2705, 2706, + 1353: 2704, 2706, 2707, + 1354: 2708, 2709, 2710, + 1355: 2708, 2710, 2711, + 1356: 2712, 2713, 2714, + 1357: 2712, 2714, 2715, + 1358: 2716, 2717, 2718, + 1359: 2716, 2718, 2719, + 1360: 2720, 2721, 2722, + 1361: 2720, 2722, 2723, + 1362: 2724, 2725, 2726, + 1363: 2724, 2726, 2727, + 1364: 2728, 2729, 2730, + 1365: 2728, 2730, 2731, + 1366: 2732, 2733, 2734, + 1367: 2732, 2734, 2735, + 1368: 2736, 2737, 2738, + 1369: 2736, 2738, 2739, + 1370: 2740, 2741, 2742, + 1371: 2740, 2742, 2743, + 1372: 2744, 2745, 2746, + 1373: 2744, 2746, 2747, + 1374: 2748, 2749, 2750, + 1375: 2748, 2750, 2751, + 1376: 2752, 2753, 2754, + 1377: 2752, 2754, 2755, + 1378: 2756, 2757, 2758, + 1379: 2756, 2758, 2759, + 1380: 2760, 2761, 2762, + 1381: 2760, 2762, 2763, + 1382: 2764, 2765, 2766, + 1383: 2764, 2766, 2767, + 1384: 2768, 2769, 2770, + 1385: 2768, 2770, 2771, + 1386: 2772, 2773, 2774, + 1387: 2772, 2774, 2775, + 1388: 2776, 2777, 2778, + 1389: 2776, 2778, 2779, + 1390: 2780, 2781, 2782, + 1391: 2780, 2782, 2783, + 1392: 2784, 2785, 2786, + 1393: 2784, 2786, 2787, + 1394: 2788, 2789, 2790, + 1395: 2788, 2790, 2791, + 1396: 2792, 2793, 2794, + 1397: 2792, 2794, 2795, + 1398: 2796, 2797, 2798, + 1399: 2796, 2798, 2799, + 1400: 2800, 2801, 2802, + 1401: 2800, 2802, 2803, + 1402: 2804, 2805, 2806, + 1403: 2804, 2806, 2807, + 1404: 2808, 2809, 2810, + 1405: 2808, 2810, 2811, + 1406: 2812, 2813, 2814, + 1407: 2812, 2814, 2815, + 1408: 2816, 2817, 2818, + 1409: 2816, 2818, 2819, + 1410: 2820, 2821, 2822, + 1411: 2820, 2822, 2823, + 1412: 2824, 2825, 2826, + 1413: 2824, 2826, 2827, + 1414: 2828, 2829, 2830, + 1415: 2828, 2830, 2831, + 1416: 2832, 2833, 2834, + 1417: 2832, 2834, 2835, + 1418: 2836, 2837, 2838, + 1419: 2836, 2838, 2839, + 1420: 2840, 2841, 2842, + 1421: 2840, 2842, 2843, + 1422: 2844, 2845, 2846, + 1423: 2844, 2846, 2847, + 1424: 2848, 2849, 2850, + 1425: 2848, 2850, 2851, + 1426: 2852, 2853, 2854, + 1427: 2852, 2854, 2855, + 1428: 2856, 2857, 2858, + 1429: 2856, 2858, 2859, + 1430: 2860, 2861, 2862, + 1431: 2860, 2862, 2863, + 1432: 2864, 2865, 2866, + 1433: 2864, 2866, 2867, + 1434: 2868, 2869, 2870, + 1435: 2868, 2870, 2871, + 1436: 2872, 2873, 2874, + 1437: 2872, 2874, 2875, + 1438: 2876, 2877, 2878, + 1439: 2876, 2878, 2879, + 1440: 2880, 2881, 2882, + 1441: 2880, 2882, 2883, + 1442: 2884, 2885, 2886, + 1443: 2884, 2886, 2887, + 1444: 2888, 2889, 2890, + 1445: 2888, 2890, 2891, + 1446: 2892, 2893, 2894, + 1447: 2892, 2894, 2895, + 1448: 2896, 2897, 2898, + 1449: 2896, 2898, 2899, + 1450: 2900, 2901, 2902, + 1451: 2900, 2902, 2903, + 1452: 2904, 2905, 2906, + 1453: 2904, 2906, 2907, + 1454: 2908, 2909, 2910, + 1455: 2908, 2910, 2911, + 1456: 2912, 2913, 2914, + 1457: 2912, 2914, 2915, + 1458: 2916, 2917, 2918, + 1459: 2916, 2918, 2919, + 1460: 2920, 2921, 2922, + 1461: 2920, 2922, 2923, + 1462: 2924, 2925, 2926, + 1463: 2924, 2926, 2927, + 1464: 2928, 2929, 2930, + 1465: 2928, 2930, 2931, + 1466: 2932, 2933, 2934, + 1467: 2932, 2934, 2935, + 1468: 2936, 2937, 2938, + 1469: 2936, 2938, 2939, + 1470: 2940, 2941, 2942, + 1471: 2940, 2942, 2943, + 1472: 2944, 2945, 2946, + 1473: 2944, 2946, 2947, + 1474: 2948, 2949, 2950, + 1475: 2948, 2950, 2951, + 1476: 2952, 2953, 2954, + 1477: 2952, 2954, 2955, + 1478: 2956, 2957, 2958, + 1479: 2956, 2958, 2959, + 1480: 2960, 2961, 2962, + 1481: 2960, 2962, 2963, + 1482: 2964, 2965, 2966, + 1483: 2964, 2966, 2967, + 1484: 2968, 2969, 2970, + 1485: 2968, 2970, 2971, + 1486: 2972, 2973, 2974, + 1487: 2972, 2974, 2975, + 1488: 2976, 2977, 2978, + 1489: 2976, 2978, 2979, + 1490: 2980, 2981, 2982, + 1491: 2980, 2982, 2983, + 1492: 2984, 2985, 2986, + 1493: 2984, 2986, 2987, + 1494: 2988, 2989, 2990, + 1495: 2988, 2990, 2991, + 1496: 2992, 2993, 2994, + 1497: 2992, 2994, 2995, + 1498: 2996, 2997, 2998, + 1499: 2996, 2998, 2999, + 1500: 3000, 3001, 3002, + 1501: 3000, 3002, 3003, + 1502: 3004, 3005, 3006, + 1503: 3004, 3006, 3007, + 1504: 3008, 3009, 3010, + 1505: 3008, 3010, 3011, + 1506: 3012, 3013, 3014, + 1507: 3012, 3014, 3015, + 1508: 3016, 3017, 3018, + 1509: 3016, 3018, 3019, + 1510: 3020, 3021, 3022, + 1511: 3020, 3022, 3023, + 1512: 3024, 3025, 3026, + 1513: 3024, 3026, 3027, + 1514: 3028, 3029, 3030, + 1515: 3028, 3030, 3031, + 1516: 3032, 3033, 3034, + 1517: 3032, 3034, 3035, + 1518: 3036, 3037, 3038, + 1519: 3036, 3038, 3039, + 1520: 3040, 3041, 3042, + 1521: 3040, 3042, 3043, + 1522: 3044, 3045, 3046, + 1523: 3044, 3046, 3047, + 1524: 3048, 3049, 3050, + 1525: 3048, 3050, 3051, + 1526: 3052, 3053, 3054, + 1527: 3052, 3054, 3055, + 1528: 3056, 3057, 3058, + 1529: 3056, 3058, 3059, + 1530: 3060, 3061, 3062, + 1531: 3060, 3062, 3063, + 1532: 3064, 3065, 3066, + 1533: 3064, 3066, 3067, + 1534: 3068, 3069, 3070, + 1535: 3068, 3070, 3071, + 1536: 3072, 3073, 3074, + 1537: 3072, 3074, 3075, + 1538: 3076, 3077, 3078, + 1539: 3076, 3078, 3079, + 1540: 3080, 3081, 3082, + 1541: 3080, 3082, 3083, + 1542: 3084, 3085, 3086, + 1543: 3084, 3086, 3087, + 1544: 3088, 3089, 3090, + 1545: 3088, 3090, 3091, + 1546: 3092, 3093, 3094, + 1547: 3092, 3094, 3095, + 1548: 3096, 3097, 3098, + 1549: 3096, 3098, 3099, + 1550: 3100, 3101, 3102, + 1551: 3100, 3102, 3103, + 1552: 3104, 3105, 3106, + 1553: 3104, 3106, 3107, + 1554: 3108, 3109, 3110, + 1555: 3108, 3110, 3111, + 1556: 3112, 3113, 3114, + 1557: 3112, 3114, 3115, + 1558: 3116, 3117, 3118, + 1559: 3116, 3118, 3119, + 1560: 3120, 3121, 3122, + 1561: 3120, 3122, 3123, + 1562: 3124, 3125, 3126, + 1563: 3124, 3126, 3127, + 1564: 3128, 3129, 3130, + 1565: 3128, 3130, 3131, + 1566: 3132, 3133, 3134, + 1567: 3132, 3134, 3135, + 1568: 3136, 3137, 3138, + 1569: 3136, 3138, 3139, + 1570: 3140, 3141, 3142, + 1571: 3140, 3142, 3143, + 1572: 3144, 3145, 3146, + 1573: 3144, 3146, 3147, + 1574: 3148, 3149, 3150, + 1575: 3148, 3150, 3151, + 1576: 3152, 3153, 3154, + 1577: 3152, 3154, 3155, + 1578: 3156, 3157, 3158, + 1579: 3156, 3158, 3159, + 1580: 3160, 3161, 3162, + 1581: 3160, 3162, 3163, + 1582: 3164, 3165, 3166, + 1583: 3164, 3166, 3167, + 1584: 3168, 3169, 3170, + 1585: 3168, 3170, 3171, + 1586: 3172, 3173, 3174, + 1587: 3172, 3174, 3175, + 1588: 3176, 3177, 3178, + 1589: 3176, 3178, 3179, + 1590: 3180, 3181, 3182, + 1591: 3180, 3182, 3183, + 1592: 3184, 3185, 3186, + 1593: 3184, 3186, 3187, + 1594: 3188, 3189, 3190, + 1595: 3188, 3190, 3191, + 1596: 3192, 3193, 3194, + 1597: 3192, 3194, 3195, + 1598: 3196, 3197, 3198, + 1599: 3196, 3198, 3199, + 1600: 3200, 3201, 3202, + 1601: 3200, 3202, 3203, + 1602: 3204, 3205, 3206, + 1603: 3204, 3206, 3207, + 1604: 3208, 3209, 3210, + 1605: 3208, 3210, 3211, + 1606: 3212, 3213, 3214, + 1607: 3212, 3214, 3215, + 1608: 3216, 3217, 3218, + 1609: 3216, 3218, 3219, + 1610: 3220, 3221, 3222, + 1611: 3220, 3222, 3223, + 1612: 3224, 3225, 3226, + 1613: 3224, 3226, 3227, + 1614: 3228, 3229, 3230, + 1615: 3228, 3230, 3231, + 1616: 3232, 3233, 3234, + 1617: 3232, 3234, 3235, + 1618: 3236, 3237, 3238, + 1619: 3236, 3238, 3239, + 1620: 3240, 3241, 3242, + 1621: 3240, 3242, 3243, + 1622: 3244, 3245, 3246, + 1623: 3244, 3246, 3247, + 1624: 3248, 3249, 3250, + 1625: 3248, 3250, 3251, + 1626: 3252, 3253, 3254, + 1627: 3252, 3254, 3255, + 1628: 3256, 3257, 3258, + 1629: 3256, 3258, 3259, + 1630: 3260, 3261, 3262, + 1631: 3260, 3262, 3263, + 1632: 3264, 3265, 3266, + 1633: 3264, 3266, 3267, + 1634: 3268, 3269, 3270, + 1635: 3268, 3270, 3271, + 1636: 3272, 3273, 3274, + 1637: 3272, 3274, 3275, + 1638: 3276, 3277, 3278, + 1639: 3276, 3278, 3279, + 1640: 3280, 3281, 3282, + 1641: 3280, 3282, 3283, + 1642: 3284, 3285, 3286, + 1643: 3284, 3286, 3287, + 1644: 3288, 3289, 3290, + 1645: 3288, 3290, 3291, + 1646: 3292, 3293, 3294, + 1647: 3292, 3294, 3295, + 1648: 3296, 3297, 3298, + 1649: 3296, 3298, 3299, + 1650: 3300, 3301, 3302, + 1651: 3300, 3302, 3303, + 1652: 3304, 3305, 3306, + 1653: 3304, 3306, 3307, + 1654: 3308, 3309, 3310, + 1655: 3308, 3310, 3311, + 1656: 3312, 3313, 3314, + 1657: 3312, 3314, 3315, + 1658: 3316, 3317, 3318, + 1659: 3316, 3318, 3319, + 1660: 3320, 3321, 3322, + 1661: 3320, 3322, 3323, + 1662: 3324, 3325, 3326, + 1663: 3324, 3326, 3327, + 1664: 3328, 3329, 3330, + 1665: 3328, 3330, 3331, + 1666: 3332, 3333, 3334, + 1667: 3332, 3334, 3335, + 1668: 3336, 3337, 3338, + 1669: 3336, 3338, 3339, + 1670: 3340, 3341, 3342, + 1671: 3340, 3342, 3343, + 1672: 3344, 3345, 3346, + 1673: 3344, 3346, 3347, + 1674: 3348, 3349, 3350, + 1675: 3348, 3350, 3351, + 1676: 3352, 3353, 3354, + 1677: 3352, 3354, 3355, + 1678: 3356, 3357, 3358, + 1679: 3356, 3358, 3359, + 1680: 3360, 3361, 3362, + 1681: 3360, 3362, 3363, + 1682: 3364, 3365, 3366, + 1683: 3364, 3366, 3367, + 1684: 3368, 3369, 3370, + 1685: 3368, 3370, 3371, + 1686: 3372, 3373, 3374, + 1687: 3372, 3374, 3375, + 1688: 3376, 3377, 3378, + 1689: 3376, 3378, 3379, + 1690: 3380, 3381, 3382, + 1691: 3380, 3382, 3383, + 1692: 3384, 3385, 3386, + 1693: 3384, 3386, 3387, + 1694: 3388, 3389, 3390, + 1695: 3388, 3390, 3391, + 1696: 3392, 3393, 3394, + 1697: 3392, 3394, 3395, + 1698: 3396, 3397, 3398, + 1699: 3396, 3398, 3399, + 1700: 3400, 3401, 3402, + 1701: 3400, 3402, 3403, + 1702: 3404, 3405, 3406, + 1703: 3404, 3406, 3407, + 1704: 3408, 3409, 3410, + 1705: 3408, 3410, 3411, + 1706: 3412, 3413, 3414, + 1707: 3412, 3414, 3415, + 1708: 3416, 3417, 3418, + 1709: 3416, 3418, 3419, + 1710: 3420, 3421, 3422, + 1711: 3420, 3422, 3423, + 1712: 3424, 3425, 3426, + 1713: 3424, 3426, 3427, + 1714: 3428, 3429, 3430, + 1715: 3428, 3430, 3431, + 1716: 3432, 3433, 3434, + 1717: 3432, 3434, 3435, + 1718: 3436, 3437, 3438, + 1719: 3436, 3438, 3439, + 1720: 3440, 3441, 3442, + 1721: 3440, 3442, 3443, + 1722: 3444, 3445, 3446, + 1723: 3444, 3446, 3447, + 1724: 3448, 3449, 3450, + 1725: 3448, 3450, 3451, + 1726: 3452, 3453, 3454, + 1727: 3452, 3454, 3455, + 1728: 3456, 3457, 3458, + 1729: 3456, 3458, 3459, + 1730: 3460, 3461, 3462, + 1731: 3460, 3462, 3463, + 1732: 3464, 3465, 3466, + 1733: 3464, 3466, 3467, + 1734: 3468, 3469, 3470, + 1735: 3468, 3470, 3471, + 1736: 3472, 3473, 3474, + 1737: 3472, 3474, 3475, + 1738: 3476, 3477, 3478, + 1739: 3476, 3478, 3479, + 1740: 3480, 3481, 3482, + 1741: 3480, 3482, 3483, + 1742: 3484, 3485, 3486, + 1743: 3484, 3486, 3487, + 1744: 3488, 3489, 3490, + 1745: 3488, 3490, 3491, + 1746: 3492, 3493, 3494, + 1747: 3492, 3494, 3495, + 1748: 3496, 3497, 3498, + 1749: 3496, 3498, 3499, + 1750: 3500, 3501, 3502, + 1751: 3500, 3502, 3503, + 1752: 3504, 3505, 3506, + 1753: 3504, 3506, 3507, + 1754: 3508, 3509, 3510, + 1755: 3508, 3510, 3511, + 1756: 3512, 3513, 3514, + 1757: 3512, 3514, 3515, + 1758: 3516, 3517, 3518, + 1759: 3516, 3518, 3519, + 1760: 3520, 3521, 3522, + 1761: 3520, 3522, 3523, + 1762: 3524, 3525, 3526, + 1763: 3524, 3526, 3527, + 1764: 3528, 3529, 3530, + 1765: 3528, 3530, 3531, + 1766: 3532, 3533, 3534, + 1767: 3532, 3534, 3535, + 1768: 3536, 3537, 3538, + 1769: 3536, 3538, 3539, + 1770: 3540, 3541, 3542, + 1771: 3540, 3542, 3543, + 1772: 3544, 3545, 3546, + 1773: 3544, 3546, 3547, + 1774: 3548, 3549, 3550, + 1775: 3548, 3550, 3551, + 1776: 3552, 3553, 3554, + 1777: 3552, 3554, 3555, + 1778: 3556, 3557, 3558, + 1779: 3556, 3558, 3559, + 1780: 3560, 3561, 3562, + 1781: 3560, 3562, 3563, + 1782: 3564, 3565, 3566, + 1783: 3564, 3566, 3567, + 1784: 3568, 3569, 3570, + 1785: 3568, 3570, 3571, + 1786: 3572, 3573, 3574, + 1787: 3572, 3574, 3575, + 1788: 3576, 3577, 3578, + 1789: 3576, 3578, 3579, + 1790: 3580, 3581, 3582, + 1791: 3580, 3582, 3583, + 1792: 3584, 3585, 3586, + 1793: 3584, 3586, 3587, + 1794: 3588, 3589, 3590, + 1795: 3588, 3590, 3591, + 1796: 3592, 3593, 3594, + 1797: 3592, 3594, 3595, + 1798: 3596, 3597, 3598, + 1799: 3596, 3598, 3599, + 1800: 3600, 3601, 3602, + 1801: 3600, 3602, 3603, + 1802: 3604, 3605, 3606, + 1803: 3604, 3606, 3607, + 1804: 3608, 3609, 3610, + 1805: 3608, 3610, 3611, + 1806: 3612, 3613, 3614, + 1807: 3612, 3614, 3615, + 1808: 3616, 3617, 3618, + 1809: 3616, 3618, 3619, + 1810: 3620, 3621, 3622, + 1811: 3620, 3622, 3623, + 1812: 3624, 3625, 3626, + 1813: 3624, 3626, 3627, + 1814: 3628, 3629, 3630, + 1815: 3628, 3630, 3631, + 1816: 3632, 3633, 3634, + 1817: 3632, 3634, 3635, + 1818: 3636, 3637, 3638, + 1819: 3636, 3638, 3639, + 1820: 3640, 3641, 3642, + 1821: 3640, 3642, 3643, + 1822: 3644, 3645, 3646, + 1823: 3644, 3646, 3647, + 1824: 3648, 3649, 3650, + 1825: 3648, 3650, 3651, + 1826: 3652, 3653, 3654, + 1827: 3652, 3654, 3655, + 1828: 3656, 3657, 3658, + 1829: 3656, 3658, 3659, + 1830: 3660, 3661, 3662, + 1831: 3660, 3662, 3663, + 1832: 3664, 3665, 3666, + 1833: 3664, 3666, 3667, + 1834: 3668, 3669, 3670, + 1835: 3668, 3670, 3671, + 1836: 3672, 3673, 3674, + 1837: 3672, 3674, 3675, + 1838: 3676, 3677, 3678, + 1839: 3676, 3678, 3679, + 1840: 3680, 3681, 3682, + 1841: 3680, 3682, 3683, + 1842: 3684, 3685, 3686, + 1843: 3684, 3686, 3687, + 1844: 3688, 3689, 3690, + 1845: 3688, 3690, 3691, + 1846: 3692, 3693, 3694, + 1847: 3692, 3694, 3695, + 1848: 3696, 3697, 3698, + 1849: 3696, 3698, 3699, + 1850: 3700, 3701, 3702, + 1851: 3700, 3702, 3703, + 1852: 3704, 3705, 3706, + 1853: 3704, 3706, 3707, + 1854: 3708, 3709, 3710, + 1855: 3708, 3710, 3711, + 1856: 3712, 3713, 3714, + 1857: 3712, 3714, 3715, + 1858: 3716, 3717, 3718, + 1859: 3716, 3718, 3719, + 1860: 3720, 3721, 3722, + 1861: 3720, 3722, 3723, + 1862: 3724, 3725, 3726, + 1863: 3724, 3726, 3727, + 1864: 3728, 3729, 3730, + 1865: 3728, 3730, 3731, + 1866: 3732, 3733, 3734, + 1867: 3732, 3734, 3735, + 1868: 3736, 3737, 3738, + 1869: 3736, 3738, 3739, + 1870: 3740, 3741, 3742, + 1871: 3740, 3742, 3743, + 1872: 3744, 3745, 3746, + 1873: 3744, 3746, 3747, + 1874: 3748, 3749, 3750, + 1875: 3748, 3750, 3751, + 1876: 3752, 3753, 3754, + 1877: 3752, 3754, 3755, + 1878: 3756, 3757, 3758, + 1879: 3756, 3758, 3759, + 1880: 3760, 3761, 3762, + 1881: 3760, 3762, 3763, + 1882: 3764, 3765, 3766, + 1883: 3764, 3766, 3767, + 1884: 3768, 3769, 3770, + 1885: 3768, 3770, 3771, + 1886: 3772, 3773, 3774, + 1887: 3772, 3774, 3775, + 1888: 3776, 3777, 3778, + 1889: 3776, 3778, 3779, + 1890: 3780, 3781, 3782, + 1891: 3780, 3782, 3783, + 1892: 3784, 3785, 3786, + 1893: 3784, 3786, 3787, + 1894: 3788, 3789, 3790, + 1895: 3788, 3790, 3791, + 1896: 3792, 3793, 3794, + 1897: 3792, 3794, 3795, + 1898: 3796, 3797, 3798, + 1899: 3796, 3798, 3799, + 1900: 3800, 3801, 3802, + 1901: 3800, 3802, 3803, + 1902: 3804, 3805, 3806, + 1903: 3804, 3806, 3807, + 1904: 3808, 3809, 3810, + 1905: 3808, 3810, 3811, + 1906: 3812, 3813, 3814, + 1907: 3812, 3814, 3815, + 1908: 3816, 3817, 3818, + 1909: 3816, 3818, 3819, + 1910: 3820, 3821, 3822, + 1911: 3820, 3822, 3823, + 1912: 3824, 3825, 3826, + 1913: 3824, 3826, 3827, + 1914: 3828, 3829, 3830, + 1915: 3828, 3830, 3831, + 1916: 3832, 3833, 3834, + 1917: 3832, 3834, 3835, + 1918: 3836, 3837, 3838, + 1919: 3836, 3838, 3839, + 1920: 3840, 3841, 3842, + 1921: 3840, 3842, 3843, + 1922: 3844, 3845, 3846, + 1923: 3844, 3846, 3847, + 1924: 3848, 3849, 3850, + 1925: 3848, 3850, 3851, + 1926: 3852, 3853, 3854, + 1927: 3852, 3854, 3855, + 1928: 3856, 3857, 3858, + 1929: 3856, 3858, 3859, + 1930: 3860, 3861, 3862, + 1931: 3860, 3862, 3863, + 1932: 3864, 3865, 3866, + 1933: 3864, 3866, 3867, + 1934: 3868, 3869, 3870, + 1935: 3868, 3870, 3871, + 1936: 3872, 3873, 3874, + 1937: 3872, 3874, 3875, + 1938: 3876, 3877, 3878, + 1939: 3876, 3878, 3879, + 1940: 3880, 3881, 3882, + 1941: 3880, 3882, 3883, + 1942: 3884, 3885, 3886, + 1943: 3884, 3886, 3887, + 1944: 3888, 3889, 3890, + 1945: 3888, 3890, 3891, + 1946: 3892, 3893, 3894, + 1947: 3892, 3894, 3895, + 1948: 3896, 3897, 3898, + 1949: 3896, 3898, 3899, + 1950: 3900, 3901, 3902, + 1951: 3900, 3902, 3903, + 1952: 3904, 3905, 3906, + 1953: 3904, 3906, 3907, + 1954: 3908, 3909, 3910, + 1955: 3908, 3910, 3911, + 1956: 3912, 3913, 3914, + 1957: 3912, 3914, 3915, + 1958: 3916, 3917, 3918, + 1959: 3916, 3918, 3919, + 1960: 3920, 3921, 3922, + 1961: 3920, 3922, 3923, + 1962: 3924, 3925, 3926, + 1963: 3924, 3926, 3927, + 1964: 3928, 3929, 3930, + 1965: 3928, 3930, 3931, + 1966: 3932, 3933, 3934, + 1967: 3932, 3934, 3935, + 1968: 3936, 3937, 3938, + 1969: 3936, 3938, 3939, + 1970: 3940, 3941, 3942, + 1971: 3940, 3942, 3943, + 1972: 3944, 3945, 3946, + 1973: 3944, 3946, 3947, + 1974: 3948, 3949, 3950, + 1975: 3948, 3950, 3951, + 1976: 3952, 3953, 3954, + 1977: 3952, 3954, 3955, + 1978: 3956, 3957, 3958, + 1979: 3956, 3958, 3959, + 1980: 3960, 3961, 3962, + 1981: 3960, 3962, 3963, + 1982: 3964, 3965, 3966, + 1983: 3964, 3966, 3967, + 1984: 3968, 3969, 3970, + 1985: 3968, 3970, 3971, + 1986: 3972, 3973, 3974, + 1987: 3972, 3974, 3975, + 1988: 3976, 3977, 3978, + 1989: 3976, 3978, 3979, + 1990: 3980, 3981, 3982, + 1991: 3980, 3982, 3983, + 1992: 3984, 3985, 3986, + 1993: 3984, 3986, 3987, + 1994: 3988, 3989, 3990, + 1995: 3988, 3990, 3991, + 1996: 3992, 3993, 3994, + 1997: 3992, 3994, 3995, + 1998: 3996, 3997, 3998, + 1999: 3996, 3998, 3999, + 2000: 4000, 4001, 4002, + 2001: 4000, 4002, 4003, + 2002: 4004, 4005, 4006, + 2003: 4004, 4006, 4007, + 2004: 4008, 4009, 4010, + 2005: 4008, 4010, 4011, + 2006: 4012, 4013, 4014, + 2007: 4012, 4014, 4015, + 2008: 4016, 4017, 4018, + 2009: 4016, 4018, 4019, + 2010: 4020, 4021, 4022, + 2011: 4020, 4022, 4023, + 2012: 4024, 4025, 4026, + 2013: 4024, 4026, 4027, + 2014: 4028, 4029, 4030, + 2015: 4028, 4030, 4031, + 2016: 4032, 4033, 4034, + 2017: 4032, 4034, 4035, + 2018: 4036, 4037, 4038, + 2019: 4036, 4038, 4039, + 2020: 4040, 4041, 4042, + 2021: 4040, 4042, 4043, + 2022: 4044, 4045, 4046, + 2023: 4044, 4046, 4047, + 2024: 4048, 4049, 4050, + 2025: 4048, 4050, 4051, + 2026: 4052, 4053, 4054, + 2027: 4052, 4054, 4055, + 2028: 4056, 4057, 4058, + 2029: 4056, 4058, 4059, + 2030: 4060, 4061, 4062, + 2031: 4060, 4062, 4063, + 2032: 4064, 4065, 4066, + 2033: 4064, 4066, 4067, + 2034: 4068, 4069, 4070, + 2035: 4068, 4070, 4071, + 2036: 4072, 4073, 4074, + 2037: 4072, 4074, 4075, + 2038: 4076, 4077, 4078, + 2039: 4076, 4078, 4079, + 2040: 4080, 4081, 4082, + 2041: 4080, 4082, 4083, + 2042: 4084, 4085, 4086, + 2043: 4084, 4086, 4087, + 2044: 4088, 4089, 4090, + 2045: 4088, 4090, 4091, + 2046: 4092, 4093, 4094, + 2047: 4092, 4094, 4095, + 2048: 4096, 4097, 4098, + 2049: 4096, 4098, 4099, + 2050: 4100, 4101, 4102, + 2051: 4100, 4102, 4103, + 2052: 4104, 4105, 4106, + 2053: 4104, 4106, 4107, + 2054: 4108, 4109, 4110, + 2055: 4108, 4110, 4111, + 2056: 4112, 4113, 4114, + 2057: 4112, 4114, 4115, + 2058: 4116, 4117, 4118, + 2059: 4116, 4118, 4119, + 2060: 4120, 4121, 4122, + 2061: 4120, 4122, 4123, + 2062: 4124, 4125, 4126, + 2063: 4124, 4126, 4127, + 2064: 4128, 4129, 4130, + 2065: 4128, 4130, 4131, + 2066: 4132, 4133, 4134, + 2067: 4132, 4134, 4135, + 2068: 4136, 4137, 4138, + 2069: 4136, 4138, 4139, + 2070: 4140, 4141, 4142, + 2071: 4140, 4142, 4143, + 2072: 4144, 4145, 4146, + 2073: 4144, 4146, 4147, + 2074: 4148, 4149, 4150, + 2075: 4148, 4150, 4151, + 2076: 4152, 4153, 4154, + 2077: 4152, 4154, 4155, + 2078: 4156, 4157, 4158, + 2079: 4156, 4158, 4159, + 2080: 4160, 4161, 4162, + 2081: 4160, 4162, 4163, + 2082: 4164, 4165, 4166, + 2083: 4164, 4166, 4167, + 2084: 4168, 4169, 4170, + 2085: 4168, 4170, 4171, + 2086: 4172, 4173, 4174, + 2087: 4172, 4174, 4175, + 2088: 4176, 4177, 4178, + 2089: 4176, 4178, 4179, + 2090: 4180, 4181, 4182, + 2091: 4180, 4182, 4183, + 2092: 4184, 4185, 4186, + 2093: 4184, 4186, 4187, + 2094: 4188, 4189, 4190, + 2095: 4188, 4190, 4191, + 2096: 4192, 4193, 4194, + 2097: 4192, 4194, 4195, + 2098: 4196, 4197, 4198, + 2099: 4196, 4198, 4199, + 2100: 4200, 4201, 4202, + 2101: 4200, 4202, 4203, + 2102: 4204, 4205, 4206, + 2103: 4204, 4206, 4207, + 2104: 4208, 4209, 4210, + 2105: 4208, 4210, 4211, + 2106: 4212, 4213, 4214, + 2107: 4212, 4214, 4215, + 2108: 4216, 4217, 4218, + 2109: 4216, 4218, 4219, + 2110: 4220, 4221, 4222, + 2111: 4220, 4222, 4223, + 2112: 4224, 4225, 4226, + 2113: 4224, 4226, 4227, + 2114: 4228, 4229, 4230, + 2115: 4228, 4230, 4231, + 2116: 4232, 4233, 4234, + 2117: 4232, 4234, 4235, + 2118: 4236, 4237, 4238, + 2119: 4236, 4238, 4239, + 2120: 4240, 4241, 4242, + 2121: 4240, 4242, 4243, + 2122: 4244, 4245, 4246, + 2123: 4244, 4246, 4247, + 2124: 4248, 4249, 4250, + 2125: 4248, 4250, 4251, + 2126: 4252, 4253, 4254, + 2127: 4252, 4254, 4255, + 2128: 4256, 4257, 4258, + 2129: 4256, 4258, 4259, + 2130: 4260, 4261, 4262, + 2131: 4260, 4262, 4263, + 2132: 4264, 4265, 4266, + 2133: 4264, 4266, 4267, + 2134: 4268, 4269, 4270, + 2135: 4268, 4270, 4271, + 2136: 4272, 4273, 4274, + 2137: 4272, 4274, 4275, + 2138: 4276, 4277, 4278, + 2139: 4276, 4278, 4279, + 2140: 4280, 4281, 4282, + 2141: 4280, 4282, 4283, + 2142: 4284, 4285, 4286, + 2143: 4284, 4286, 4287, + 2144: 4288, 4289, 4290, + 2145: 4288, 4290, 4291, + 2146: 4292, 4293, 4294, + 2147: 4292, 4294, 4295, + 2148: 4296, 4297, 4298, + 2149: 4296, 4298, 4299, + 2150: 4300, 4301, 4302, + 2151: 4300, 4302, 4303, + 2152: 4304, 4305, 4306, + 2153: 4304, 4306, 4307, + 2154: 4308, 4309, 4310, + 2155: 4308, 4310, 4311, + 2156: 4312, 4313, 4314, + 2157: 4312, 4314, 4315, + 2158: 4316, 4317, 4318, + 2159: 4316, 4318, 4319, + 2160: 4320, 4321, 4322, + 2161: 4320, 4322, 4323, + 2162: 4324, 4325, 4326, + 2163: 4324, 4326, 4327, + 2164: 4328, 4329, 4330, + 2165: 4328, 4330, 4331, + 2166: 4332, 4333, 4334, + 2167: 4332, 4334, 4335, + 2168: 4336, 4337, 4338, + 2169: 4336, 4338, 4339, + 2170: 4340, 4341, 4342, + 2171: 4340, 4342, 4343, + 2172: 4344, 4345, 4346, + 2173: 4344, 4346, 4347, + 2174: 4348, 4349, 4350, + 2175: 4348, 4350, 4351, + 2176: 4352, 4353, 4354, + 2177: 4352, 4354, 4355, + 2178: 4356, 4357, 4358, + 2179: 4356, 4358, 4359, + 2180: 4360, 4361, 4362, + 2181: 4360, 4362, 4363, + 2182: 4364, 4365, 4366, + 2183: 4364, 4366, 4367, + 2184: 4368, 4369, 4370, + 2185: 4368, 4370, 4371, + 2186: 4372, 4373, 4374, + 2187: 4372, 4374, 4375, + 2188: 4376, 4377, 4378, + 2189: 4376, 4378, 4379, + 2190: 4380, 4381, 4382, + 2191: 4380, 4382, 4383, + 2192: 4384, 4385, 4386, + 2193: 4384, 4386, 4387, + 2194: 4388, 4389, 4390, + 2195: 4388, 4390, 4391, + 2196: 4392, 4393, 4394, + 2197: 4392, 4394, 4395, + 2198: 4396, 4397, 4398, + 2199: 4396, 4398, 4399, + 2200: 4400, 4401, 4402, + 2201: 4400, 4402, 4403, + 2202: 4404, 4405, 4406, + 2203: 4404, 4406, 4407, + 2204: 4408, 4409, 4410, + 2205: 4408, 4410, 4411, + 2206: 4412, 4413, 4414, + 2207: 4412, 4414, 4415, + 2208: 4416, 4417, 4418, + 2209: 4416, 4418, 4419, + 2210: 4420, 4421, 4422, + 2211: 4420, 4422, 4423, + 2212: 4424, 4425, 4426, + 2213: 4424, 4426, 4427, + 2214: 4428, 4429, 4430, + 2215: 4428, 4430, 4431, + 2216: 4432, 4433, 4434, + 2217: 4432, 4434, 4435, + 2218: 4436, 4437, 4438, + 2219: 4436, 4438, 4439, + 2220: 4440, 4441, 4442, + 2221: 4440, 4442, 4443, + 2222: 4444, 4445, 4446, + 2223: 4444, 4446, 4447, + 2224: 4448, 4449, 4450, + 2225: 4448, 4450, 4451, + 2226: 4452, 4453, 4454, + 2227: 4452, 4454, 4455, + 2228: 4456, 4457, 4458, + 2229: 4456, 4458, 4459, + 2230: 4460, 4461, 4462, + 2231: 4460, 4462, 4463, + 2232: 4464, 4465, 4466, + 2233: 4464, 4466, 4467, + 2234: 4468, 4469, 4470, + 2235: 4468, 4470, 4471, + 2236: 4472, 4473, 4474, + 2237: 4472, 4474, 4475, + 2238: 4476, 4477, 4478, + 2239: 4476, 4478, 4479, + 2240: 4480, 4481, 4482, + 2241: 4480, 4482, 4483, + 2242: 4484, 4485, 4486, + 2243: 4484, 4486, 4487, + 2244: 4488, 4489, 4490, + 2245: 4488, 4490, 4491, + 2246: 4492, 4493, 4494, + 2247: 4492, 4494, 4495, + 2248: 4496, 4497, 4498, + 2249: 4496, 4498, 4499, + 2250: 4500, 4501, 4502, + 2251: 4500, 4502, 4503, + 2252: 4504, 4505, 4506, + 2253: 4504, 4506, 4507, + 2254: 4508, 4509, 4510, + 2255: 4508, 4510, 4511, + 2256: 4512, 4513, 4514, + 2257: 4512, 4514, 4515, + 2258: 4516, 4517, 4518, + 2259: 4516, 4518, 4519, + 2260: 4520, 4521, 4522, + 2261: 4520, 4522, 4523, + 2262: 4524, 4525, 4526, + 2263: 4524, 4526, 4527, + 2264: 4528, 4529, 4530, + 2265: 4528, 4530, 4531, + 2266: 4532, 4533, 4534, + 2267: 4532, 4534, 4535, + 2268: 4536, 4537, 4538, + 2269: 4536, 4538, 4539, + 2270: 4540, 4541, 4542, + 2271: 4540, 4542, 4543, + 2272: 4544, 4545, 4546, + 2273: 4544, 4546, 4547, + 2274: 4548, 4549, 4550, + 2275: 4548, 4550, 4551, + 2276: 4552, 4553, 4554, + 2277: 4552, 4554, 4555, + 2278: 4556, 4557, 4558, + 2279: 4556, 4558, 4559, + 2280: 4560, 4561, 4562, + 2281: 4560, 4562, 4563, + 2282: 4564, 4565, 4566, + 2283: 4564, 4566, 4567, + 2284: 4568, 4569, 4570, + 2285: 4568, 4570, 4571, + 2286: 4572, 4573, 4574, + 2287: 4572, 4574, 4575, + 2288: 4576, 4577, 4578, + 2289: 4576, 4578, 4579, + 2290: 4580, 4581, 4582, + 2291: 4580, 4582, 4583, + 2292: 4584, 4585, 4586, + 2293: 4584, 4586, 4587, + 2294: 4588, 4589, 4590, + 2295: 4588, 4590, 4591, + 2296: 4592, 4593, 4594, + 2297: 4592, 4594, 4595, + 2298: 4596, 4597, 4598, + 2299: 4596, 4598, 4599, + 2300: 4600, 4601, 4602, + 2301: 4600, 4602, 4603, + 2302: 4604, 4605, 4606, + 2303: 4604, 4606, 4607, + 2304: 4608, 4609, 4610, + 2305: 4608, 4610, 4611, + 2306: 4612, 4613, 4614, + 2307: 4612, 4614, 4615, + 2308: 4616, 4617, 4618, + 2309: 4616, 4618, 4619, + 2310: 4620, 4621, 4622, + 2311: 4620, 4622, 4623, + 2312: 4624, 4625, 4626, + 2313: 4624, 4626, 4627, + 2314: 4628, 4629, 4630, + 2315: 4628, 4630, 4631, + 2316: 4632, 4633, 4634, + 2317: 4632, 4634, 4635, + 2318: 4636, 4637, 4638, + 2319: 4636, 4638, 4639, + 2320: 4640, 4641, 4642, + 2321: 4640, 4642, 4643, + 2322: 4644, 4645, 4646, + 2323: 4644, 4646, 4647, + 2324: 4648, 4649, 4650, + 2325: 4648, 4650, 4651, + 2326: 4652, 4653, 4654, + 2327: 4652, 4654, 4655, + 2328: 4656, 4657, 4658, + 2329: 4656, 4658, 4659, + 2330: 4660, 4661, 4662, + 2331: 4660, 4662, 4663, + 2332: 4664, 4665, 4666, + 2333: 4664, 4666, 4667, + 2334: 4668, 4669, 4670, + 2335: 4668, 4670, 4671, + 2336: 4672, 4673, 4674, + 2337: 4672, 4674, 4675, + 2338: 4676, 4677, 4678, + 2339: 4676, 4678, 4679, + 2340: 4680, 4681, 4682, + 2341: 4680, 4682, 4683, + 2342: 4684, 4685, 4686, + 2343: 4684, 4686, 4687, + 2344: 4688, 4689, 4690, + 2345: 4688, 4690, 4691, + 2346: 4692, 4693, 4694, + 2347: 4692, 4694, 4695, + 2348: 4696, 4697, 4698, + 2349: 4696, 4698, 4699, + 2350: 4700, 4701, 4702, + 2351: 4700, 4702, 4703, + 2352: 4704, 4705, 4706, + 2353: 4704, 4706, 4707, + 2354: 4708, 4709, 4710, + 2355: 4708, 4710, 4711, + 2356: 4712, 4713, 4714, + 2357: 4712, 4714, 4715, + 2358: 4716, 4717, 4718, + 2359: 4716, 4718, 4719, + 2360: 4720, 4721, 4722, + 2361: 4720, 4722, 4723, + 2362: 4724, 4725, 4726, + 2363: 4724, 4726, 4727, + 2364: 4728, 4729, 4730, + 2365: 4728, 4730, 4731, + 2366: 4732, 4733, 4734, + 2367: 4732, 4734, 4735, + 2368: 4736, 4737, 4738, + 2369: 4736, 4738, 4739, + 2370: 4740, 4741, 4742, + 2371: 4740, 4742, 4743, + 2372: 4744, 4745, 4746, + 2373: 4744, 4746, 4747, + 2374: 4748, 4749, 4750, + 2375: 4748, 4750, 4751, + 2376: 4752, 4753, 4754, + 2377: 4752, 4754, 4755, + 2378: 4756, 4757, 4758, + 2379: 4756, 4758, 4759, + 2380: 4760, 4761, 4762, + 2381: 4760, 4762, 4763, + 2382: 4764, 4765, 4766, + 2383: 4764, 4766, 4767, + 2384: 4768, 4769, 4770, + 2385: 4768, 4770, 4771, + 2386: 4772, 4773, 4774, + 2387: 4772, 4774, 4775, + 2388: 4776, 4777, 4778, + 2389: 4776, 4778, 4779, + 2390: 4780, 4781, 4782, + 2391: 4780, 4782, 4783, + 2392: 4784, 4785, 4786, + 2393: 4784, 4786, 4787, + 2394: 4788, 4789, 4790, + 2395: 4788, 4790, 4791, + 2396: 4792, 4793, 4794, + 2397: 4792, 4794, 4795, + 2398: 4796, 4797, 4798, + 2399: 4796, 4798, 4799, + 2400: 4800, 4801, 4802, + 2401: 4800, 4802, 4803, + 2402: 4804, 4805, 4806, + 2403: 4804, 4806, 4807, + 2404: 4808, 4809, 4810, + 2405: 4808, 4810, 4811, + 2406: 4812, 4813, 4814, + 2407: 4812, 4814, 4815, + 2408: 4816, 4817, 4818, + 2409: 4816, 4818, 4819, + 2410: 4820, 4821, 4822, + 2411: 4820, 4822, 4823, + 2412: 4824, 4825, 4826, + 2413: 4824, 4826, 4827, + 2414: 4828, 4829, 4830, + 2415: 4828, 4830, 4831, + 2416: 4832, 4833, 4834, + 2417: 4832, 4834, 4835, + 2418: 4836, 4837, 4838, + 2419: 4836, 4838, 4839, + 2420: 4840, 4841, 4842, + 2421: 4840, 4842, 4843, + 2422: 4844, 4845, 4846, + 2423: 4844, 4846, 4847, + 2424: 4848, 4849, 4850, + 2425: 4848, 4850, 4851, + 2426: 4852, 4853, 4854, + 2427: 4852, 4854, 4855, + 2428: 4856, 4857, 4858, + 2429: 4856, 4858, 4859, + 2430: 4860, 4861, 4862, + 2431: 4860, 4862, 4863, + 2432: 4864, 4865, 4866, + 2433: 4864, 4866, 4867, + 2434: 4868, 4869, 4870, + 2435: 4868, 4870, 4871, + 2436: 4872, 4873, 4874, + 2437: 4872, 4874, 4875, + 2438: 4876, 4877, 4878, + 2439: 4876, 4878, 4879, + 2440: 4880, 4881, 4882, + 2441: 4880, 4882, 4883, + 2442: 4884, 4885, 4886, + 2443: 4884, 4886, 4887, + 2444: 4888, 4889, 4890, + 2445: 4888, 4890, 4891, + 2446: 4892, 4893, 4894, + 2447: 4892, 4894, 4895, + 2448: 4896, 4897, 4898, + 2449: 4896, 4898, 4899, + 2450: 4900, 4901, 4902, + 2451: 4900, 4902, 4903, + 2452: 4904, 4905, 4906, + 2453: 4904, 4906, 4907, + 2454: 4908, 4909, 4910, + 2455: 4908, 4910, 4911, + 2456: 4912, 4913, 4914, + 2457: 4912, 4914, 4915, + 2458: 4916, 4917, 4918, + 2459: 4916, 4918, 4919, + 2460: 4920, 4921, 4922, + 2461: 4920, 4922, 4923, + 2462: 4924, 4925, 4926, + 2463: 4924, 4926, 4927, + 2464: 4928, 4929, 4930, + 2465: 4928, 4930, 4931, + 2466: 4932, 4933, 4934, + 2467: 4932, 4934, 4935, + 2468: 4936, 4937, 4938, + 2469: 4936, 4938, 4939, + 2470: 4940, 4941, 4942, + 2471: 4940, 4942, 4943, + 2472: 4944, 4945, 4946, + 2473: 4944, 4946, 4947, + 2474: 4948, 4949, 4950, + 2475: 4948, 4950, 4951, + 2476: 4952, 4953, 4954, + 2477: 4952, 4954, 4955, + 2478: 4956, 4957, 4958, + 2479: 4956, 4958, 4959, + 2480: 4960, 4961, 4962, + 2481: 4960, 4962, 4963, + 2482: 4964, 4965, 4966, + 2483: 4964, 4966, 4967, + 2484: 4968, 4969, 4970, + 2485: 4968, 4970, 4971, + 2486: 4972, 4973, 4974, + 2487: 4972, 4974, 4975, + 2488: 4976, 4977, 4978, + 2489: 4976, 4978, 4979, + 2490: 4980, 4981, 4982, + 2491: 4980, 4982, 4983, + 2492: 4984, 4985, 4986, + 2493: 4984, 4986, 4987, + 2494: 4988, 4989, 4990, + 2495: 4988, 4990, 4991, + 2496: 4992, 4993, 4994, + 2497: 4992, 4994, 4995, + 2498: 4996, 4997, 4998, + 2499: 4996, 4998, 4999, + 2500: 5000, 5001, 5002, + 2501: 5000, 5002, 5003, + 2502: 5004, 5005, 5006, + 2503: 5004, 5006, 5007, + 2504: 5008, 5009, 5010, + 2505: 5008, 5010, 5011, + 2506: 5012, 5013, 5014, + 2507: 5012, 5014, 5015, + 2508: 5016, 5017, 5018, + 2509: 5016, 5018, 5019, + 2510: 5020, 5021, 5022, + 2511: 5020, 5022, 5023, + 2512: 5024, 5025, 5026, + 2513: 5024, 5026, 5027, + 2514: 5028, 5029, 5030, + 2515: 5028, 5030, 5031, + 2516: 5032, 5033, 5034, + 2517: 5032, 5034, 5035, + 2518: 5036, 5037, 5038, + 2519: 5036, 5038, 5039, + 2520: 5040, 5041, 5042, + 2521: 5040, 5042, 5043, + 2522: 5044, 5045, 5046, + 2523: 5044, 5046, 5047, + 2524: 5048, 5049, 5050, + 2525: 5048, 5050, 5051, + 2526: 5052, 5053, 5054, + 2527: 5052, 5054, 5055, + 2528: 5056, 5057, 5058, + 2529: 5056, 5058, 5059, + 2530: 5060, 5061, 5062, + 2531: 5060, 5062, 5063, + 2532: 5064, 5065, 5066, + 2533: 5064, 5066, 5067, + 2534: 5068, 5069, 5070, + 2535: 5068, 5070, 5071, + 2536: 5072, 5073, 5074, + 2537: 5072, 5074, 5075, + 2538: 5076, 5077, 5078, + 2539: 5076, 5078, 5079, + 2540: 5080, 5081, 5082, + 2541: 5080, 5082, 5083, + 2542: 5084, 5085, 5086, + 2543: 5084, 5086, 5087, + 2544: 5088, 5089, 5090, + 2545: 5088, 5090, 5091, + 2546: 5092, 5093, 5094, + 2547: 5092, 5094, 5095, + 2548: 5096, 5097, 5098, + 2549: 5096, 5098, 5099, + 2550: 5100, 5101, 5102, + 2551: 5100, 5102, 5103, + 2552: 5104, 5105, 5106, + 2553: 5104, 5106, 5107, + 2554: 5108, 5109, 5110, + 2555: 5108, 5110, 5111, + 2556: 5112, 5113, 5114, + 2557: 5112, 5114, 5115, + 2558: 5116, 5117, 5118, + 2559: 5116, 5118, 5119, + 2560: 5120, 5121, 5122, + 2561: 5120, 5122, 5123, + 2562: 5124, 5125, 5126, + 2563: 5124, 5126, 5127, + 2564: 5128, 5129, 5130, + 2565: 5128, 5130, 5131, + 2566: 5132, 5133, 5134, + 2567: 5132, 5134, 5135, + 2568: 5136, 5137, 5138, + 2569: 5136, 5138, 5139, + 2570: 5140, 5141, 5142, + 2571: 5140, 5142, 5143, + 2572: 5144, 5145, 5146, + 2573: 5144, 5146, 5147, + 2574: 5148, 5149, 5150, + 2575: 5148, 5150, 5151, + 2576: 5152, 5153, 5154, + 2577: 5152, 5154, 5155, + 2578: 5156, 5157, 5158, + 2579: 5156, 5158, 5159, + 2580: 5160, 5161, 5162, + 2581: 5160, 5162, 5163, + 2582: 5164, 5165, 5166, + 2583: 5164, 5166, 5167, + 2584: 5168, 5169, 5170, + 2585: 5168, 5170, 5171, + 2586: 5172, 5173, 5174, + 2587: 5172, 5174, 5175, + 2588: 5176, 5177, 5178, + 2589: 5176, 5178, 5179, + 2590: 5180, 5181, 5182, + 2591: 5180, 5182, 5183, + 2592: 5184, 5185, 5186, + 2593: 5184, 5186, 5187, + 2594: 5188, 5189, 5190, + 2595: 5188, 5190, 5191, + 2596: 5192, 5193, 5194, + 2597: 5192, 5194, 5195, + 2598: 5196, 5197, 5198, + 2599: 5196, 5198, 5199, + 2600: 5200, 5201, 5202, + 2601: 5200, 5202, 5203, + 2602: 5204, 5205, 5206, + 2603: 5204, 5206, 5207, + 2604: 5208, 5209, 5210, + 2605: 5208, 5210, 5211, + 2606: 5212, 5213, 5214, + 2607: 5212, 5214, 5215, + 2608: 5216, 5217, 5218, + 2609: 5216, 5218, 5219, + 2610: 5220, 5221, 5222, + 2611: 5220, 5222, 5223, + 2612: 5224, 5225, 5226, + 2613: 5224, 5226, 5227, + 2614: 5228, 5229, 5230, + 2615: 5228, 5230, 5231, + 2616: 5232, 5233, 5234, + 2617: 5232, 5234, 5235, + 2618: 5236, 5237, 5238, + 2619: 5236, 5238, 5239, + 2620: 5240, 5241, 5242, + 2621: 5240, 5242, 5243, + 2622: 5244, 5245, 5246, + 2623: 5244, 5246, 5247, + 2624: 5248, 5249, 5250, + 2625: 5248, 5250, 5251, + 2626: 5252, 5253, 5254, + 2627: 5252, 5254, 5255, + 2628: 5256, 5257, 5258, + 2629: 5256, 5258, 5259, + 2630: 5260, 5261, 5262, + 2631: 5260, 5262, 5263, + 2632: 5264, 5265, 5266, + 2633: 5264, 5266, 5267, + 2634: 5268, 5269, 5270, + 2635: 5268, 5270, 5271, + 2636: 5272, 5273, 5274, + 2637: 5272, 5274, 5275, + 2638: 5276, 5277, 5278, + 2639: 5276, 5278, 5279, + 2640: 5280, 5281, 5282, + 2641: 5280, 5282, 5283, + 2642: 5284, 5285, 5286, + 2643: 5284, 5286, 5287, + 2644: 5288, 5289, 5290, + 2645: 5288, 5290, 5291, + 2646: 5292, 5293, 5294, + 2647: 5292, 5294, 5295, + 2648: 5296, 5297, 5298, + 2649: 5296, 5298, 5299, + 2650: 5300, 5301, 5302, + 2651: 5300, 5302, 5303, + 2652: 5304, 5305, 5306, + 2653: 5304, 5306, 5307, + 2654: 5308, 5309, 5310, + 2655: 5308, 5310, 5311, + 2656: 5312, 5313, 5314, + 2657: 5312, 5314, 5315, + 2658: 5316, 5317, 5318, + 2659: 5316, 5318, 5319, + 2660: 5320, 5321, 5322, + 2661: 5320, 5322, 5323, + 2662: 5324, 5325, 5326, + 2663: 5324, 5326, 5327, + 2664: 5328, 5329, 5330, + 2665: 5328, 5330, 5331, + 2666: 5332, 5333, 5334, + 2667: 5332, 5334, 5335, + 2668: 5336, 5337, 5338, + 2669: 5336, 5338, 5339, + 2670: 5340, 5341, 5342, + 2671: 5340, 5342, 5343, + 2672: 5344, 5345, 5346, + 2673: 5344, 5346, 5347, + 2674: 5348, 5349, 5350, + 2675: 5348, 5350, 5351, + 2676: 5352, 5353, 5354, + 2677: 5352, 5354, 5355, + 2678: 5356, 5357, 5358, + 2679: 5356, 5358, 5359, + 2680: 5360, 5361, 5362, + 2681: 5360, 5362, 5363, + 2682: 5364, 5365, 5366, + 2683: 5364, 5366, 5367, + 2684: 5368, 5369, 5370, + 2685: 5368, 5370, 5371, + 2686: 5372, 5373, 5374, + 2687: 5372, 5374, 5375, + 2688: 5376, 5377, 5378, + 2689: 5376, 5378, 5379, + 2690: 5380, 5381, 5382, + 2691: 5380, 5382, 5383, + 2692: 5384, 5385, 5386, + 2693: 5384, 5386, 5387, + 2694: 5388, 5389, 5390, + 2695: 5388, 5390, 5391, + 2696: 5392, 5393, 5394, + 2697: 5392, 5394, 5395, + 2698: 5396, 5397, 5398, + 2699: 5396, 5398, 5399, + 2700: 5400, 5401, 5402, + 2701: 5400, 5402, 5403, + 2702: 5404, 5405, 5406, + 2703: 5404, 5406, 5407, + 2704: 5408, 5409, 5410, + 2705: 5408, 5410, 5411, + 2706: 5412, 5413, 5414, + 2707: 5412, 5414, 5415, + 2708: 5416, 5417, 5418, + 2709: 5416, 5418, 5419, + 2710: 5420, 5421, 5422, + 2711: 5420, 5422, 5423, + 2712: 5424, 5425, 5426, + 2713: 5424, 5426, 5427, + 2714: 5428, 5429, 5430, + 2715: 5428, 5430, 5431, + 2716: 5432, 5433, 5434, + 2717: 5432, 5434, 5435, + 2718: 5436, 5437, 5438, + 2719: 5436, 5438, 5439, + 2720: 5440, 5441, 5442, + 2721: 5440, 5442, 5443, + 2722: 5444, 5445, 5446, + 2723: 5444, 5446, 5447, + 2724: 5448, 5449, 5450, + 2725: 5448, 5450, 5451, + 2726: 5452, 5453, 5454, + 2727: 5452, 5454, 5455, + 2728: 5456, 5457, 5458, + 2729: 5456, 5458, 5459, + 2730: 5460, 5461, 5462, + 2731: 5460, 5462, 5463, + 2732: 5464, 5465, 5466, + 2733: 5464, 5466, 5467, + 2734: 5468, 5469, 5470, + 2735: 5468, 5470, 5471, + 2736: 5472, 5473, 5474, + 2737: 5472, 5474, 5475, + 2738: 5476, 5477, 5478, + 2739: 5476, 5478, 5479, + 2740: 5480, 5481, 5482, + 2741: 5480, 5482, 5483, + 2742: 5484, 5485, 5486, + 2743: 5484, 5486, 5487, + 2744: 5488, 5489, 5490, + 2745: 5488, 5490, 5491, + 2746: 5492, 5493, 5494, + 2747: 5492, 5494, 5495, + 2748: 5496, 5497, 5498, + 2749: 5496, 5498, 5499, + 2750: 5500, 5501, 5502, + 2751: 5500, 5502, 5503, + 2752: 5504, 5505, 5506, + 2753: 5504, 5506, 5507, + 2754: 5508, 5509, 5510, + 2755: 5508, 5510, 5511, + 2756: 5512, 5513, 5514, + 2757: 5512, 5514, 5515, + 2758: 5516, 5517, 5518, + 2759: 5516, 5518, 5519, + 2760: 5520, 5521, 5522, + 2761: 5520, 5522, 5523, + 2762: 5524, 5525, 5526, + 2763: 5524, 5526, 5527, + 2764: 5528, 5529, 5530, + 2765: 5528, 5530, 5531, + 2766: 5532, 5533, 5534, + 2767: 5532, 5534, 5535, + 2768: 5536, 5537, 5538, + 2769: 5536, 5538, 5539, + 2770: 5540, 5541, 5542, + 2771: 5540, 5542, 5543, + 2772: 5544, 5545, 5546, + 2773: 5544, 5546, 5547, + 2774: 5548, 5549, 5550, + 2775: 5548, 5550, 5551, + 2776: 5552, 5553, 5554, + 2777: 5552, 5554, 5555, + 2778: 5556, 5557, 5558, + 2779: 5556, 5558, 5559, + 2780: 5560, 5561, 5562, + 2781: 5560, 5562, 5563, + 2782: 5564, 5565, 5566, + 2783: 5564, 5566, 5567, + 2784: 5568, 5569, 5570, + 2785: 5568, 5570, 5571, + 2786: 5572, 5573, 5574, + 2787: 5572, 5574, 5575, + 2788: 5576, 5577, 5578, + 2789: 5576, 5578, 5579, + 2790: 5580, 5581, 5582, + 2791: 5580, 5582, 5583, + 2792: 5584, 5585, 5586, + 2793: 5584, 5586, 5587, + 2794: 5588, 5589, 5590, + 2795: 5588, 5590, 5591, + 2796: 5592, 5593, 5594, + 2797: 5592, 5594, 5595, + 2798: 5596, 5597, 5598, + 2799: 5596, 5598, 5599, + 2800: 5600, 5601, 5602, + 2801: 5600, 5602, 5603, + 2802: 5604, 5605, 5606, + 2803: 5604, 5606, 5607, + 2804: 5608, 5609, 5610, + 2805: 5608, 5610, 5611, + 2806: 5612, 5613, 5614, + 2807: 5612, 5614, 5615, + 2808: 5616, 5617, 5618, + 2809: 5616, 5618, 5619, + 2810: 5620, 5621, 5622, + 2811: 5620, 5622, 5623, + 2812: 5624, 5625, 5626, + 2813: 5624, 5626, 5627, + 2814: 5628, 5629, 5630, + 2815: 5628, 5630, 5631, + 2816: 5632, 5633, 5634, + 2817: 5632, 5634, 5635, + 2818: 5636, 5637, 5638, + 2819: 5636, 5638, 5639, + 2820: 5640, 5641, 5642, + 2821: 5640, 5642, 5643, + 2822: 5644, 5645, 5646, + 2823: 5644, 5646, 5647, + 2824: 5648, 5649, 5650, + 2825: 5648, 5650, 5651, + 2826: 5652, 5653, 5654, + 2827: 5652, 5654, 5655, + 2828: 5656, 5657, 5658, + 2829: 5656, 5658, 5659, + 2830: 5660, 5661, 5662, + 2831: 5660, 5662, 5663, + 2832: 5664, 5665, 5666, + 2833: 5664, 5666, 5667, + 2834: 5668, 5669, 5670, + 2835: 5668, 5670, 5671, + 2836: 5672, 5673, 5674, + 2837: 5672, 5674, 5675, + 2838: 5676, 5677, 5678, + 2839: 5676, 5678, 5679, + 2840: 5680, 5681, 5682, + 2841: 5680, 5682, 5683, + 2842: 5684, 5685, 5686, + 2843: 5684, 5686, 5687, + 2844: 5688, 5689, 5690, + 2845: 5688, 5690, 5691, + 2846: 5692, 5693, 5694, + 2847: 5692, 5694, 5695, + 2848: 5696, 5697, 5698, + 2849: 5696, 5698, 5699, + 2850: 5700, 5701, 5702, + 2851: 5700, 5702, 5703, + 2852: 5704, 5705, 5706, + 2853: 5704, 5706, 5707, + 2854: 5708, 5709, 5710, + 2855: 5708, 5710, 5711, + 2856: 5712, 5713, 5714, + 2857: 5712, 5714, 5715, + 2858: 5716, 5717, 5718, + 2859: 5716, 5718, 5719, + 2860: 5720, 5721, 5722, + 2861: 5720, 5722, 5723, + 2862: 5724, 5725, 5726, + 2863: 5724, 5726, 5727, + 2864: 5728, 5729, 5730, + 2865: 5728, 5730, 5731, + 2866: 5732, 5733, 5734, + 2867: 5732, 5734, 5735, + 2868: 5736, 5737, 5738, + 2869: 5736, 5738, 5739, + 2870: 5740, 5741, 5742, + 2871: 5740, 5742, 5743, + 2872: 5744, 5745, 5746, + 2873: 5744, 5746, 5747, + 2874: 5748, 5749, 5750, + 2875: 5748, 5750, 5751, + 2876: 5752, 5753, 5754, + 2877: 5752, 5754, 5755, + 2878: 5756, 5757, 5758, + 2879: 5756, 5758, 5759, + 2880: 5760, 5761, 5762, + 2881: 5760, 5762, 5763, + 2882: 5764, 5765, 5766, + 2883: 5764, 5766, 5767, + 2884: 5768, 5769, 5770, + 2885: 5768, 5770, 5771, + 2886: 5772, 5773, 5774, + 2887: 5772, 5774, 5775, + 2888: 5776, 5777, 5778, + 2889: 5776, 5778, 5779, + 2890: 5780, 5781, 5782, + 2891: 5780, 5782, 5783, + 2892: 5784, 5785, 5786, + 2893: 5784, 5786, 5787, + 2894: 5788, 5789, 5790, + 2895: 5788, 5790, 5791, + 2896: 5792, 5793, 5794, + 2897: 5792, 5794, 5795, + 2898: 5796, 5797, 5798, + 2899: 5796, 5798, 5799, + 2900: 5800, 5801, 5802, + 2901: 5800, 5802, 5803, + 2902: 5804, 5805, 5806, + 2903: 5804, 5806, 5807, + 2904: 5808, 5809, 5810, + 2905: 5808, 5810, 5811, + 2906: 5812, 5813, 5814, + 2907: 5812, 5814, 5815, + 2908: 5816, 5817, 5818, + 2909: 5816, 5818, 5819, + 2910: 5820, 5821, 5822, + 2911: 5820, 5822, 5823, + 2912: 5824, 5825, 5826, + 2913: 5824, 5826, 5827, + 2914: 5828, 5829, 5830, + 2915: 5828, 5830, 5831, + 2916: 5832, 5833, 5834, + 2917: 5832, 5834, 5835, + 2918: 5836, 5837, 5838, + 2919: 5836, 5838, 5839, + 2920: 5840, 5841, 5842, + 2921: 5840, 5842, 5843, + 2922: 5844, 5845, 5846, + 2923: 5844, 5846, 5847, + 2924: 5848, 5849, 5850, + 2925: 5848, 5850, 5851, + 2926: 5852, 5853, 5854, + 2927: 5852, 5854, 5855, + 2928: 5856, 5857, 5858, + 2929: 5856, 5858, 5859, + 2930: 5860, 5861, 5862, + 2931: 5860, 5862, 5863, + 2932: 5864, 5865, 5866, + 2933: 5864, 5866, 5867, + 2934: 5868, 5869, 5870, + 2935: 5868, 5870, 5871, + 2936: 5872, 5873, 5874, + 2937: 5872, 5874, 5875, + 2938: 5876, 5877, 5878, + 2939: 5876, 5878, 5879, + 2940: 5880, 5881, 5882, + 2941: 5880, 5882, 5883, + 2942: 5884, 5885, 5886, + 2943: 5884, 5886, 5887, + 2944: 5888, 5889, 5890, + 2945: 5888, 5890, 5891, + 2946: 5892, 5893, 5894, + 2947: 5892, 5894, 5895, + 2948: 5896, 5897, 5898, + 2949: 5896, 5898, 5899, + 2950: 5900, 5901, 5902, + 2951: 5900, 5902, 5903, + 2952: 5904, 5905, 5906, + 2953: 5904, 5906, 5907, + 2954: 5908, 5909, 5910, + 2955: 5908, 5910, 5911, + 2956: 5912, 5913, 5914, + 2957: 5912, 5914, 5915, + 2958: 5916, 5917, 5918, + 2959: 5916, 5918, 5919, + 2960: 5920, 5921, 5922, + 2961: 5920, 5922, 5923, + 2962: 5924, 5925, 5926, + 2963: 5924, 5926, 5927, + 2964: 5928, 5929, 5930, + 2965: 5928, 5930, 5931, + 2966: 5932, 5933, 5934, + 2967: 5932, 5934, 5935, + 2968: 5936, 5937, 5938, + 2969: 5936, 5938, 5939, + 2970: 5940, 5941, 5942, + 2971: 5940, 5942, 5943, + 2972: 5944, 5945, 5946, + 2973: 5944, 5946, 5947, + 2974: 5948, 5949, 5950, + 2975: 5948, 5950, 5951, + 2976: 5952, 5953, 5954, + 2977: 5952, 5954, 5955, + 2978: 5956, 5957, 5958, + 2979: 5956, 5958, 5959, + 2980: 5960, 5961, 5962, + 2981: 5960, 5962, 5963, + 2982: 5964, 5965, 5966, + 2983: 5964, 5966, 5967, + 2984: 5968, 5969, 5970, + 2985: 5968, 5970, 5971, + 2986: 5972, 5973, 5974, + 2987: 5972, 5974, 5975, + 2988: 5976, 5977, 5978, + 2989: 5976, 5978, 5979, + 2990: 5980, 5981, 5982, + 2991: 5980, 5982, 5983, + 2992: 5984, 5985, 5986, + 2993: 5984, 5986, 5987, + 2994: 5988, 5989, 5990, + 2995: 5988, 5990, 5991, + 2996: 5992, 5993, 5994, + 2997: 5992, 5994, 5995, + 2998: 5996, 5997, 5998, + 2999: 5996, 5998, 5999, + 3000: 6000, 6001, 6002, + 3001: 6000, 6002, 6003, + 3002: 6004, 6005, 6006, + 3003: 6004, 6006, 6007, + 3004: 6008, 6009, 6010, + 3005: 6008, 6010, 6011, + 3006: 6012, 6013, 6014, + 3007: 6012, 6014, 6015, + 3008: 6016, 6017, 6018, + 3009: 6016, 6018, 6019, + 3010: 6020, 6021, 6022, + 3011: 6020, 6022, 6023, + 3012: 6024, 6025, 6026, + 3013: 6024, 6026, 6027, + 3014: 6028, 6029, 6030, + 3015: 6028, 6030, 6031, + 3016: 6032, 6033, 6034, + 3017: 6032, 6034, 6035, + 3018: 6036, 6037, 6038, + 3019: 6036, 6038, 6039, + 3020: 6040, 6041, 6042, + 3021: 6040, 6042, 6043, + 3022: 6044, 6045, 6046, + 3023: 6044, 6046, 6047, + 3024: 6048, 6049, 6050, + 3025: 6048, 6050, 6051, + 3026: 6052, 6053, 6054, + 3027: 6052, 6054, 6055, + 3028: 6056, 6057, 6058, + 3029: 6056, 6058, 6059, + 3030: 6060, 6061, 6062, + 3031: 6060, 6062, 6063, + 3032: 6064, 6065, 6066, + 3033: 6064, 6066, 6067, + 3034: 6068, 6069, 6070, + 3035: 6068, 6070, 6071, + 3036: 6072, 6073, 6074, + 3037: 6072, 6074, 6075, + 3038: 6076, 6077, 6078, + 3039: 6076, 6078, 6079, + 3040: 6080, 6081, 6082, + 3041: 6080, 6082, 6083, + 3042: 6084, 6085, 6086, + 3043: 6084, 6086, 6087, + 3044: 6088, 6089, 6090, + 3045: 6088, 6090, 6091, + 3046: 6092, 6093, 6094, + 3047: 6092, 6094, 6095, + 3048: 6096, 6097, 6098, + 3049: 6096, 6098, 6099, + 3050: 6100, 6101, 6102, + 3051: 6100, 6102, 6103, + 3052: 6104, 6105, 6106, + 3053: 6104, 6106, 6107, + 3054: 6108, 6109, 6110, + 3055: 6108, 6110, 6111, + 3056: 6112, 6113, 6114, + 3057: 6112, 6114, 6115, + 3058: 6116, 6117, 6118, + 3059: 6116, 6118, 6119, + 3060: 6120, 6121, 6122, + 3061: 6120, 6122, 6123, + 3062: 6124, 6125, 6126, + 3063: 6124, 6126, 6127, + 3064: 6128, 6129, 6130, + 3065: 6128, 6130, 6131, + 3066: 6132, 6133, 6134, + 3067: 6132, 6134, 6135, + 3068: 6136, 6137, 6138, + 3069: 6136, 6138, 6139, + 3070: 6140, 6141, 6142, + 3071: 6140, 6142, 6143, + 3072: 6144, 6145, 6146, + 3073: 6144, 6146, 6147, + 3074: 6148, 6149, 6150, + 3075: 6148, 6150, 6151, + 3076: 6152, 6153, 6154, + 3077: 6152, 6154, 6155, + 3078: 6156, 6157, 6158, + 3079: 6156, 6158, 6159, + 3080: 6160, 6161, 6162, + 3081: 6160, 6162, 6163, + 3082: 6164, 6165, 6166, + 3083: 6164, 6166, 6167, + 3084: 6168, 6169, 6170, + 3085: 6168, 6170, 6171, + 3086: 6172, 6173, 6174, + 3087: 6172, 6174, 6175, + 3088: 6176, 6177, 6178, + 3089: 6176, 6178, 6179, + 3090: 6180, 6181, 6182, + 3091: 6180, 6182, 6183, + 3092: 6184, 6185, 6186, + 3093: 6184, 6186, 6187, + 3094: 6188, 6189, 6190, + 3095: 6188, 6190, 6191, + 3096: 6192, 6193, 6194, + 3097: 6192, 6194, 6195, + 3098: 6196, 6197, 6198, + 3099: 6196, 6198, 6199, + 3100: 6200, 6201, 6202, + 3101: 6200, 6202, 6203, + 3102: 6204, 6205, 6206, + 3103: 6204, 6206, 6207, + 3104: 6208, 6209, 6210, + 3105: 6208, 6210, 6211, + 3106: 6212, 6213, 6214, + 3107: 6212, 6214, 6215, + 3108: 6216, 6217, 6218, + 3109: 6216, 6218, 6219, + 3110: 6220, 6221, 6222, + 3111: 6220, 6222, 6223, + 3112: 6224, 6225, 6226, + 3113: 6224, 6226, 6227, + 3114: 6228, 6229, 6230, + 3115: 6228, 6230, 6231, + 3116: 6232, 6233, 6234, + 3117: 6232, 6234, 6235, + 3118: 6236, 6237, 6238, + 3119: 6236, 6238, 6239, + 3120: 6240, 6241, 6242, + 3121: 6240, 6242, 6243, + 3122: 6244, 6245, 6246, + 3123: 6244, 6246, 6247, + 3124: 6248, 6249, 6250, + 3125: 6248, 6250, 6251, + 3126: 6252, 6253, 6254, + 3127: 6252, 6254, 6255, + 3128: 6256, 6257, 6258, + 3129: 6256, 6258, 6259, + 3130: 6260, 6261, 6262, + 3131: 6260, 6262, 6263, + 3132: 6264, 6265, 6266, + 3133: 6264, 6266, 6267, + 3134: 6268, 6269, 6270, + 3135: 6268, 6270, 6271, + 3136: 6272, 6273, 6274, + 3137: 6272, 6274, 6275, + 3138: 6276, 6277, 6278, + 3139: 6276, 6278, 6279, + 3140: 6280, 6281, 6282, + 3141: 6280, 6282, 6283, + 3142: 6284, 6285, 6286, + 3143: 6284, 6286, 6287, + 3144: 6288, 6289, 6290, + 3145: 6288, 6290, 6291, + 3146: 6292, 6293, 6294, + 3147: 6292, 6294, 6295, + 3148: 6296, 6297, 6298, + 3149: 6296, 6298, 6299, + 3150: 6300, 6301, 6302, + 3151: 6300, 6302, 6303, + 3152: 6304, 6305, 6306, + 3153: 6304, 6306, 6307, + 3154: 6308, 6309, 6310, + 3155: 6308, 6310, 6311, + 3156: 6312, 6313, 6314, + 3157: 6312, 6314, 6315, + 3158: 6316, 6317, 6318, + 3159: 6316, 6318, 6319, + 3160: 6320, 6321, 6322, + 3161: 6320, 6322, 6323, + 3162: 6324, 6325, 6326, + 3163: 6324, 6326, 6327, + 3164: 6328, 6329, 6330, + 3165: 6328, 6330, 6331, + 3166: 6332, 6333, 6334, + 3167: 6332, 6334, 6335, + 3168: 6336, 6337, 6338, + 3169: 6336, 6338, 6339, + 3170: 6340, 6341, 6342, + 3171: 6340, 6342, 6343, + 3172: 6344, 6345, 6346, + 3173: 6344, 6346, 6347, + 3174: 6348, 6349, 6350, + 3175: 6348, 6350, 6351, + 3176: 6352, 6353, 6354, + 3177: 6352, 6354, 6355, + 3178: 6356, 6357, 6358, + 3179: 6356, 6358, 6359, + 3180: 6360, 6361, 6362, + 3181: 6360, 6362, 6363, + 3182: 6364, 6365, 6366, + 3183: 6364, 6366, 6367, + 3184: 6368, 6369, 6370, + 3185: 6368, 6370, 6371, + 3186: 6372, 6373, 6374, + 3187: 6372, 6374, 6375, + 3188: 6376, 6377, 6378, + 3189: 6376, 6378, 6379, + 3190: 6380, 6381, 6382, + 3191: 6380, 6382, 6383, + 3192: 6384, 6385, 6386, + 3193: 6384, 6386, 6387, + 3194: 6388, 6389, 6390, + 3195: 6388, 6390, 6391, + 3196: 6392, 6393, 6394, + 3197: 6392, 6394, 6395, + 3198: 6396, 6397, 6398, + 3199: 6396, 6398, 6399, + 3200: 6400, 6401, 6402, + 3201: 6400, 6402, 6403, + 3202: 6404, 6405, 6406, + 3203: 6404, 6406, 6407, + 3204: 6408, 6409, 6410, + 3205: 6408, 6410, 6411, + 3206: 6412, 6413, 6414, + 3207: 6412, 6414, 6415, + 3208: 6416, 6417, 6418, + 3209: 6416, 6418, 6419, + 3210: 6420, 6421, 6422, + 3211: 6420, 6422, 6423, + 3212: 6424, 6425, 6426, + 3213: 6424, 6426, 6427, + 3214: 6428, 6429, 6430, + 3215: 6428, 6430, 6431, + 3216: 6432, 6433, 6434, + 3217: 6432, 6434, 6435, + 3218: 6436, 6437, 6438, + 3219: 6436, 6438, 6439, + 3220: 6440, 6441, 6442, + 3221: 6440, 6442, 6443, + 3222: 6444, 6445, 6446, + 3223: 6444, 6446, 6447, + 3224: 6448, 6449, 6450, + 3225: 6448, 6450, 6451, + 3226: 6452, 6453, 6454, + 3227: 6452, 6454, 6455, + 3228: 6456, 6457, 6458, + 3229: 6456, 6458, 6459, + 3230: 6460, 6461, 6462, + 3231: 6460, 6462, 6463, + 3232: 6464, 6465, 6466, + 3233: 6464, 6466, 6467, + 3234: 6468, 6469, 6470, + 3235: 6468, 6470, 6471, + 3236: 6472, 6473, 6474, + 3237: 6472, 6474, 6475, + 3238: 6476, 6477, 6478, + 3239: 6476, 6478, 6479, + 3240: 6480, 6481, 6482, + 3241: 6480, 6482, 6483, + 3242: 6484, 6485, 6486, + 3243: 6484, 6486, 6487, + 3244: 6488, 6489, 6490, + 3245: 6488, 6490, 6491, + 3246: 6492, 6493, 6494, + 3247: 6492, 6494, 6495, + 3248: 6496, 6497, 6498, + 3249: 6496, 6498, 6499, + 3250: 6500, 6501, 6502, + 3251: 6500, 6502, 6503, + 3252: 6504, 6505, 6506, + 3253: 6504, 6506, 6507, + 3254: 6508, 6509, 6510, + 3255: 6508, 6510, 6511, + 3256: 6512, 6513, 6514, + 3257: 6512, 6514, 6515, + 3258: 6516, 6517, 6518, + 3259: 6516, 6518, 6519, + 3260: 6520, 6521, 6522, + 3261: 6520, 6522, 6523, + 3262: 6524, 6525, 6526, + 3263: 6524, 6526, 6527, + 3264: 6528, 6529, 6530, + 3265: 6528, 6530, 6531, + 3266: 6532, 6533, 6534, + 3267: 6532, 6534, 6535, + 3268: 6536, 6537, 6538, + 3269: 6536, 6538, 6539, + 3270: 6540, 6541, 6542, + 3271: 6540, 6542, 6543, + 3272: 6544, 6545, 6546, + 3273: 6544, 6546, 6547, + 3274: 6548, 6549, 6550, + 3275: 6548, 6550, 6551, + 3276: 6552, 6553, 6554, + 3277: 6552, 6554, 6555, + 3278: 6556, 6557, 6558, + 3279: 6556, 6558, 6559, + 3280: 6560, 6561, 6562, + 3281: 6560, 6562, 6563, + 3282: 6564, 6565, 6566, + 3283: 6564, 6566, 6567, + 3284: 6568, 6569, 6570, + 3285: 6568, 6570, 6571, + 3286: 6572, 6573, 6574, + 3287: 6572, 6574, 6575, + 3288: 6576, 6577, 6578, + 3289: 6576, 6578, 6579, + 3290: 6580, 6581, 6582, + 3291: 6580, 6582, 6583, + 3292: 6584, 6585, 6586, + 3293: 6584, 6586, 6587, + 3294: 6588, 6589, 6590, + 3295: 6588, 6590, 6591, + 3296: 6592, 6593, 6594, + 3297: 6592, 6594, 6595, + 3298: 6596, 6597, 6598, + 3299: 6596, 6598, 6599, + 3300: 6600, 6601, 6602, + 3301: 6600, 6602, 6603, + 3302: 6604, 6605, 6606, + 3303: 6604, 6606, 6607, + 3304: 6608, 6609, 6610, + 3305: 6608, 6610, 6611, + 3306: 6612, 6613, 6614, + 3307: 6612, 6614, 6615, + 3308: 6616, 6617, 6618, + 3309: 6616, 6618, 6619, + 3310: 6620, 6621, 6622, + 3311: 6620, 6622, 6623, + 3312: 6624, 6625, 6626, + 3313: 6624, 6626, 6627, + 3314: 6628, 6629, 6630, + 3315: 6628, 6630, 6631, + 3316: 6632, 6633, 6634, + 3317: 6632, 6634, 6635, + 3318: 6636, 6637, 6638, + 3319: 6636, 6638, 6639, + 3320: 6640, 6641, 6642, + 3321: 6640, 6642, 6643, + 3322: 6644, 6645, 6646, + 3323: 6644, 6646, 6647, + 3324: 6648, 6649, 6650, + 3325: 6648, 6650, 6651, + 3326: 6652, 6653, 6654, + 3327: 6652, 6654, 6655, + 3328: 6656, 6657, 6658, + 3329: 6656, 6658, 6659, + 3330: 6660, 6661, 6662, + 3331: 6660, 6662, 6663, + 3332: 6664, 6665, 6666, + 3333: 6664, 6666, 6667, + 3334: 6668, 6669, 6670, + 3335: 6668, 6670, 6671, + 3336: 6672, 6673, 6674, + 3337: 6672, 6674, 6675, + 3338: 6676, 6677, 6678, + 3339: 6676, 6678, 6679, + 3340: 6680, 6681, 6682, + 3341: 6680, 6682, 6683, + 3342: 6684, 6685, 6686, + 3343: 6684, 6686, 6687, + 3344: 6688, 6689, 6690, + 3345: 6688, 6690, 6691, + 3346: 6692, 6693, 6694, + 3347: 6692, 6694, 6695, + 3348: 6696, 6697, 6698, + 3349: 6696, 6698, 6699, + 3350: 6700, 6701, 6702, + 3351: 6700, 6702, 6703, + 3352: 6704, 6705, 6706, + 3353: 6704, 6706, 6707, + 3354: 6708, 6709, 6710, + 3355: 6708, 6710, 6711, + 3356: 6712, 6713, 6714, + 3357: 6712, 6714, 6715, + 3358: 6716, 6717, 6718, + 3359: 6716, 6718, 6719, + 3360: 6720, 6721, 6722, + 3361: 6720, 6722, 6723, + 3362: 6724, 6725, 6726, + 3363: 6724, 6726, 6727, + 3364: 6728, 6729, 6730, + 3365: 6728, 6730, 6731, + 3366: 6732, 6733, 6734, + 3367: 6732, 6734, 6735, + 3368: 6736, 6737, 6738, + 3369: 6736, 6738, 6739, + 3370: 6740, 6741, 6742, + 3371: 6740, 6742, 6743, + 3372: 6744, 6745, 6746, + 3373: 6744, 6746, 6747, + 3374: 6748, 6749, 6750, + 3375: 6748, 6750, 6751, + 3376: 6752, 6753, 6754, + 3377: 6752, 6754, 6755, + 3378: 6756, 6757, 6758, + 3379: 6756, 6758, 6759, + 3380: 6760, 6761, 6762, + 3381: 6760, 6762, 6763, + 3382: 6764, 6765, 6766, + 3383: 6764, 6766, 6767, + 3384: 6768, 6769, 6770, + 3385: 6768, 6770, 6771, + 3386: 6772, 6773, 6774, + 3387: 6772, 6774, 6775, + 3388: 6776, 6777, 6778, + 3389: 6776, 6778, 6779, + 3390: 6780, 6781, 6782, + 3391: 6780, 6782, 6783, + 3392: 6784, 6785, 6786, + 3393: 6784, 6786, 6787, + 3394: 6788, 6789, 6790, + 3395: 6788, 6790, 6791, + 3396: 6792, 6793, 6794, + 3397: 6792, 6794, 6795, + 3398: 6796, 6797, 6798, + 3399: 6796, 6798, 6799, + 3400: 6800, 6801, 6802, + 3401: 6800, 6802, 6803, + 3402: 6804, 6805, 6806, + 3403: 6804, 6806, 6807, + 3404: 6808, 6809, 6810, + 3405: 6808, 6810, 6811, + 3406: 6812, 6813, 6814, + 3407: 6812, 6814, 6815, + 3408: 6816, 6817, 6818, + 3409: 6816, 6818, 6819, + 3410: 6820, 6821, 6822, + 3411: 6820, 6822, 6823, + 3412: 6824, 6825, 6826, + 3413: 6824, 6826, 6827, + 3414: 6828, 6829, 6830, + 3415: 6828, 6830, 6831, + 3416: 6832, 6833, 6834, + 3417: 6832, 6834, 6835, + 3418: 6836, 6837, 6838, + 3419: 6836, 6838, 6839, + 3420: 6840, 6841, 6842, + 3421: 6840, 6842, 6843, + 3422: 6844, 6845, 6846, + 3423: 6844, 6846, 6847, + 3424: 6848, 6849, 6850, + 3425: 6848, 6850, 6851, + 3426: 6852, 6853, 6854, + 3427: 6852, 6854, 6855, + 3428: 6856, 6857, 6858, + 3429: 6856, 6858, 6859, + 3430: 6860, 6861, 6862, + 3431: 6860, 6862, 6863, + 3432: 6864, 6865, 6866, + 3433: 6864, 6866, 6867, + 3434: 6868, 6869, 6870, + 3435: 6868, 6870, 6871, + 3436: 6872, 6873, 6874, + 3437: 6872, 6874, 6875, + 3438: 6876, 6877, 6878, + 3439: 6876, 6878, 6879, + 3440: 6880, 6881, 6882, + 3441: 6880, 6882, 6883, + 3442: 6884, 6885, 6886, + 3443: 6884, 6886, 6887, + 3444: 6888, 6889, 6890, + 3445: 6888, 6890, 6891, + 3446: 6892, 6893, 6894, + 3447: 6892, 6894, 6895, + 3448: 6896, 6897, 6898, + 3449: 6896, 6898, 6899, + 3450: 6900, 6901, 6902, + 3451: 6900, 6902, 6903, + 3452: 6904, 6905, 6906, + 3453: 6904, 6906, 6907, + 3454: 6908, 6909, 6910, + 3455: 6908, 6910, 6911, + 3456: 6912, 6913, 6914, + 3457: 6912, 6914, 6915, + 3458: 6916, 6917, 6918, + 3459: 6916, 6918, 6919, + 3460: 6920, 6921, 6922, + 3461: 6920, 6922, 6923, + 3462: 6924, 6925, 6926, + 3463: 6924, 6926, 6927, + 3464: 6928, 6929, 6930, + 3465: 6928, 6930, 6931, + 3466: 6932, 6933, 6934, + 3467: 6932, 6934, 6935, + 3468: 6936, 6937, 6938, + 3469: 6936, 6938, 6939, + 3470: 6940, 6941, 6942, + 3471: 6940, 6942, 6943, + 3472: 6944, 6945, 6946, + 3473: 6944, 6946, 6947, + 3474: 6948, 6949, 6950, + 3475: 6948, 6950, 6951, + 3476: 6952, 6953, 6954, + 3477: 6952, 6954, 6955, + 3478: 6956, 6957, 6958, + 3479: 6956, 6958, 6959, + 3480: 6960, 6961, 6962, + 3481: 6960, 6962, 6963, + 3482: 6964, 6965, 6966, + 3483: 6964, 6966, 6967, + 3484: 6968, 6969, 6970, + 3485: 6968, 6970, 6971, + 3486: 6972, 6973, 6974, + 3487: 6972, 6974, 6975, + 3488: 6976, 6977, 6978, + 3489: 6976, 6978, 6979, + 3490: 6980, 6981, 6982, + 3491: 6980, 6982, 6983, + 3492: 6984, 6985, 6986, + 3493: 6984, 6986, 6987, + 3494: 6988, 6989, 6990, + 3495: 6988, 6990, 6991, + 3496: 6992, 6993, 6994, + 3497: 6992, 6994, 6995, + 3498: 6996, 6997, 6998, + 3499: 6996, 6998, 6999, + 3500: 7000, 7001, 7002, + 3501: 7000, 7002, 7003, + 3502: 7004, 7005, 7006, + 3503: 7004, 7006, 7007, + 3504: 7008, 7009, 7010, + 3505: 7008, 7010, 7011, + 3506: 7012, 7013, 7014, + 3507: 7012, 7014, 7015, + 3508: 7016, 7017, 7018, + 3509: 7016, 7018, 7019, + 3510: 7020, 7021, 7022, + 3511: 7020, 7022, 7023, + 3512: 7024, 7025, 7026, + 3513: 7024, 7026, 7027, + 3514: 7028, 7029, 7030, + 3515: 7028, 7030, 7031, + 3516: 7032, 7033, 7034, + 3517: 7032, 7034, 7035, + 3518: 7036, 7037, 7038, + 3519: 7036, 7038, 7039, + 3520: 7040, 7041, 7042, + 3521: 7040, 7042, 7043, + 3522: 7044, 7045, 7046, + 3523: 7044, 7046, 7047, + 3524: 7048, 7049, 7050, + 3525: 7048, 7050, 7051, + 3526: 7052, 7053, 7054, + 3527: 7052, 7054, 7055, + 3528: 7056, 7057, 7058, + 3529: 7056, 7058, 7059, + 3530: 7060, 7061, 7062, + 3531: 7060, 7062, 7063, + 3532: 7064, 7065, 7066, + 3533: 7064, 7066, 7067, + 3534: 7068, 7069, 7070, + 3535: 7068, 7070, 7071, + 3536: 7072, 7073, 7074, + 3537: 7072, 7074, 7075, + 3538: 7076, 7077, 7078, + 3539: 7076, 7078, 7079, + 3540: 7080, 7081, 7082, + 3541: 7080, 7082, 7083, + 3542: 7084, 7085, 7086, + 3543: 7084, 7086, 7087, + 3544: 7088, 7089, 7090, + 3545: 7088, 7090, 7091, + 3546: 7092, 7093, 7094, + 3547: 7092, 7094, 7095, + 3548: 7096, 7097, 7098, + 3549: 7096, 7098, 7099, + 3550: 7100, 7101, 7102, + 3551: 7100, 7102, 7103, + 3552: 7104, 7105, 7106, + 3553: 7104, 7106, 7107, + 3554: 7108, 7109, 7110, + 3555: 7108, 7110, 7111, + 3556: 7112, 7113, 7114, + 3557: 7112, 7114, 7115, + 3558: 7116, 7117, 7118, + 3559: 7116, 7118, 7119, + 3560: 7120, 7121, 7122, + 3561: 7120, 7122, 7123, + 3562: 7124, 7125, 7126, + 3563: 7124, 7126, 7127, + 3564: 7128, 7129, 7130, + 3565: 7128, 7130, 7131, + 3566: 7132, 7133, 7134, + 3567: 7132, 7134, 7135, + 3568: 7136, 7137, 7138, + 3569: 7136, 7138, 7139, + 3570: 7140, 7141, 7142, + 3571: 7140, 7142, 7143, + 3572: 7144, 7145, 7146, + 3573: 7144, 7146, 7147, + 3574: 7148, 7149, 7150, + 3575: 7148, 7150, 7151, + 3576: 7152, 7153, 7154, + 3577: 7152, 7154, 7155, + 3578: 7156, 7157, 7158, + 3579: 7156, 7158, 7159, + 3580: 7160, 7161, 7162, + 3581: 7160, 7162, 7163, + 3582: 7164, 7165, 7166, + 3583: 7164, 7166, 7167, + 3584: 7168, 7169, 7170, + 3585: 7168, 7170, 7171, + 3586: 7172, 7173, 7174, + 3587: 7172, 7174, 7175, + 3588: 7176, 7177, 7178, + 3589: 7176, 7178, 7179, + 3590: 7180, 7181, 7182, + 3591: 7180, 7182, 7183, + 3592: 7184, 7185, 7186, + 3593: 7184, 7186, 7187, + 3594: 7188, 7189, 7190, + 3595: 7188, 7190, 7191, + 3596: 7192, 7193, 7194, + 3597: 7192, 7194, 7195, + 3598: 7196, 7197, 7198, + 3599: 7196, 7198, 7199, + 3600: 7200, 7201, 7202, + 3601: 7200, 7202, 7203, + 3602: 7204, 7205, 7206, + 3603: 7204, 7206, 7207, + 3604: 7208, 7209, 7210, + 3605: 7208, 7210, 7211, + 3606: 7212, 7213, 7214, + 3607: 7212, 7214, 7215, + 3608: 7216, 7217, 7218, + 3609: 7216, 7218, 7219, + 3610: 7220, 7221, 7222, + 3611: 7220, 7222, 7223, + 3612: 7224, 7225, 7226, + 3613: 7224, 7226, 7227, + 3614: 7228, 7229, 7230, + 3615: 7228, 7230, 7231, + 3616: 7232, 7233, 7234, + 3617: 7232, 7234, 7235, + 3618: 7236, 7237, 7238, + 3619: 7236, 7238, 7239, + 3620: 7240, 7241, 7242, + 3621: 7240, 7242, 7243, + 3622: 7244, 7245, 7246, + 3623: 7244, 7246, 7247, + 3624: 7248, 7249, 7250, + 3625: 7248, 7250, 7251, + 3626: 7252, 7253, 7254, + 3627: 7252, 7254, 7255, + 3628: 7256, 7257, 7258, + 3629: 7256, 7258, 7259, + 3630: 7260, 7261, 7262, + 3631: 7260, 7262, 7263, + 3632: 7264, 7265, 7266, + 3633: 7264, 7266, 7267, + 3634: 7268, 7269, 7270, + 3635: 7268, 7270, 7271, + 3636: 7272, 7273, 7274, + 3637: 7272, 7274, 7275, + 3638: 7276, 7277, 7278, + 3639: 7276, 7278, 7279, + 3640: 7280, 7281, 7282, + 3641: 7280, 7282, 7283, + 3642: 7284, 7285, 7286, + 3643: 7284, 7286, 7287, + 3644: 7288, 7289, 7290, + 3645: 7288, 7290, 7291, + 3646: 7292, 7293, 7294, + 3647: 7292, 7294, 7295, + 3648: 7296, 7297, 7298, + 3649: 7296, 7298, 7299, + 3650: 7300, 7301, 7302, + 3651: 7300, 7302, 7303, + 3652: 7304, 7305, 7306, + 3653: 7304, 7306, 7307, + 3654: 7308, 7309, 7310, + 3655: 7308, 7310, 7311, + 3656: 7312, 7313, 7314, + 3657: 7312, 7314, 7315, + 3658: 7316, 7317, 7318, + 3659: 7316, 7318, 7319, + 3660: 7320, 7321, 7322, + 3661: 7320, 7322, 7323, + 3662: 7324, 7325, 7326, + 3663: 7324, 7326, 7327, + 3664: 7328, 7329, 7330, + 3665: 7328, 7330, 7331, + 3666: 7332, 7333, 7334, + 3667: 7332, 7334, 7335, + 3668: 7336, 7337, 7338, + 3669: 7336, 7338, 7339, + 3670: 7340, 7341, 7342, + 3671: 7340, 7342, 7343, + 3672: 7344, 7345, 7346, + 3673: 7344, 7346, 7347, + 3674: 7348, 7349, 7350, + 3675: 7348, 7350, 7351, + 3676: 7352, 7353, 7354, + 3677: 7352, 7354, 7355, + 3678: 7356, 7357, 7358, + 3679: 7356, 7358, 7359, + 3680: 7360, 7361, 7362, + 3681: 7360, 7362, 7363, + 3682: 7364, 7365, 7366, + 3683: 7364, 7366, 7367, + 3684: 7368, 7369, 7370, + 3685: 7368, 7370, 7371, + 3686: 7372, 7373, 7374, + 3687: 7372, 7374, 7375, + 3688: 7376, 7377, 7378, + 3689: 7376, 7378, 7379, + 3690: 7380, 7381, 7382, + 3691: 7380, 7382, 7383, + 3692: 7384, 7385, 7386, + 3693: 7384, 7386, 7387, + 3694: 7388, 7389, 7390, + 3695: 7388, 7390, 7391, + 3696: 7392, 7393, 7394, + 3697: 7392, 7394, 7395, + 3698: 7396, 7397, 7398, + 3699: 7396, 7398, 7399, + 3700: 7400, 7401, 7402, + 3701: 7400, 7402, 7403, + 3702: 7404, 7405, 7406, + 3703: 7404, 7406, 7407, + 3704: 7408, 7409, 7410, + 3705: 7408, 7410, 7411, + 3706: 7412, 7413, 7414, + 3707: 7412, 7414, 7415, + 3708: 7416, 7417, 7418, + 3709: 7416, 7418, 7419, + 3710: 7420, 7421, 7422, + 3711: 7420, 7422, 7423, + 3712: 7424, 7425, 7426, + 3713: 7424, 7426, 7427, + 3714: 7428, 7429, 7430, + 3715: 7428, 7430, 7431, + 3716: 7432, 7433, 7434, + 3717: 7432, 7434, 7435, + 3718: 7436, 7437, 7438, + 3719: 7436, 7438, 7439, + 3720: 7440, 7441, 7442, + 3721: 7440, 7442, 7443, + 3722: 7444, 7445, 7446, + 3723: 7444, 7446, 7447, + 3724: 7448, 7449, 7450, + 3725: 7448, 7450, 7451, + 3726: 7452, 7453, 7454, + 3727: 7452, 7454, 7455, + 3728: 7456, 7457, 7458, + 3729: 7456, 7458, 7459, + 3730: 7460, 7461, 7462, + 3731: 7460, 7462, 7463, + 3732: 7464, 7465, 7466, + 3733: 7464, 7466, 7467, + 3734: 7468, 7469, 7470, + 3735: 7468, 7470, 7471, + 3736: 7472, 7473, 7474, + 3737: 7472, 7474, 7475, + 3738: 7476, 7477, 7478, + 3739: 7476, 7478, 7479, + 3740: 7480, 7481, 7482, + 3741: 7480, 7482, 7483, + 3742: 7484, 7485, 7486, + 3743: 7484, 7486, 7487, + 3744: 7488, 7489, 7490, + 3745: 7488, 7490, 7491, + 3746: 7492, 7493, 7494, + 3747: 7492, 7494, 7495, + 3748: 7496, 7497, 7498, + 3749: 7496, 7498, 7499, + 3750: 7500, 7501, 7502, + 3751: 7500, 7502, 7503, + 3752: 7504, 7505, 7506, + 3753: 7504, 7506, 7507, + 3754: 7508, 7509, 7510, + 3755: 7508, 7510, 7511, + 3756: 7512, 7513, 7514, + 3757: 7512, 7514, 7515, + 3758: 7516, 7517, 7518, + 3759: 7516, 7518, 7519, + 3760: 7520, 7521, 7522, + 3761: 7520, 7522, 7523, + 3762: 7524, 7525, 7526, + 3763: 7524, 7526, 7527, + 3764: 7528, 7529, 7530, + 3765: 7528, 7530, 7531, + 3766: 7532, 7533, 7534, + 3767: 7532, 7534, 7535, + 3768: 7536, 7537, 7538, + 3769: 7536, 7538, 7539, + 3770: 7540, 7541, 7542, + 3771: 7540, 7542, 7543, + 3772: 7544, 7545, 7546, + 3773: 7544, 7546, 7547, + 3774: 7548, 7549, 7550, + 3775: 7548, 7550, 7551, + 3776: 7552, 7553, 7554, + 3777: 7552, 7554, 7555, + 3778: 7556, 7557, 7558, + 3779: 7556, 7558, 7559, + 3780: 7560, 7561, 7562, + 3781: 7560, 7562, 7563, + 3782: 7564, 7565, 7566, + 3783: 7564, 7566, 7567, + 3784: 7568, 7569, 7570, + 3785: 7568, 7570, 7571, + 3786: 7572, 7573, 7574, + 3787: 7572, 7574, 7575, + 3788: 7576, 7577, 7578, + 3789: 7576, 7578, 7579, + 3790: 7580, 7581, 7582, + 3791: 7580, 7582, 7583, + 3792: 7584, 7585, 7586, + 3793: 7584, 7586, 7587, + 3794: 7588, 7589, 7590, + 3795: 7588, 7590, 7591, + 3796: 7592, 7593, 7594, + 3797: 7592, 7594, 7595, + 3798: 7596, 7597, 7598, + 3799: 7596, 7598, 7599, + 3800: 7600, 7601, 7602, + 3801: 7600, 7602, 7603, + 3802: 7604, 7605, 7606, + 3803: 7604, 7606, 7607, + 3804: 7608, 7609, 7610, + 3805: 7608, 7610, 7611, + 3806: 7612, 7613, 7614, + 3807: 7612, 7614, 7615, + 3808: 7616, 7617, 7618, + 3809: 7616, 7618, 7619, + 3810: 7620, 7621, 7622, + 3811: 7620, 7622, 7623, + 3812: 7624, 7625, 7626, + 3813: 7624, 7626, 7627, + 3814: 7628, 7629, 7630, + 3815: 7628, 7630, 7631, + 3816: 7632, 7633, 7634, + 3817: 7632, 7634, 7635, + 3818: 7636, 7637, 7638, + 3819: 7636, 7638, 7639, + 3820: 7640, 7641, 7642, + 3821: 7640, 7642, 7643, + 3822: 7644, 7645, 7646, + 3823: 7644, 7646, 7647, + 3824: 7648, 7649, 7650, + 3825: 7648, 7650, 7651, + 3826: 7652, 7653, 7654, + 3827: 7652, 7654, 7655, + 3828: 7656, 7657, 7658, + 3829: 7656, 7658, 7659, + 3830: 7660, 7661, 7662, + 3831: 7660, 7662, 7663, + 3832: 7664, 7665, 7666, + 3833: 7664, 7666, 7667, + 3834: 7668, 7669, 7670, + 3835: 7668, 7670, 7671, + 3836: 7672, 7673, 7674, + 3837: 7672, 7674, 7675, + 3838: 7676, 7677, 7678, + 3839: 7676, 7678, 7679, + 3840: 7680, 7681, 7682, + 3841: 7680, 7682, 7683, + 3842: 7684, 7685, 7686, + 3843: 7684, 7686, 7687, + 3844: 7688, 7689, 7690, + 3845: 7688, 7690, 7691, + 3846: 7692, 7693, 7694, + 3847: 7692, 7694, 7695, + 3848: 7696, 7697, 7698, + 3849: 7696, 7698, 7699, + 3850: 7700, 7701, 7702, + 3851: 7700, 7702, 7703, + 3852: 7704, 7705, 7706, + 3853: 7704, 7706, 7707, + 3854: 7708, 7709, 7710, + 3855: 7708, 7710, 7711, + 3856: 7712, 7713, 7714, + 3857: 7712, 7714, 7715, + 3858: 7716, 7717, 7718, + 3859: 7716, 7718, 7719, + 3860: 7720, 7721, 7722, + 3861: 7720, 7722, 7723, + 3862: 7724, 7725, 7726, + 3863: 7724, 7726, 7727, + 3864: 7728, 7729, 7730, + 3865: 7728, 7730, 7731, + 3866: 7732, 7733, 7734, + 3867: 7732, 7734, 7735, + 3868: 7736, 7737, 7738, + 3869: 7736, 7738, 7739, + 3870: 7740, 7741, 7742, + 3871: 7740, 7742, 7743, + 3872: 7744, 7745, 7746, + 3873: 7744, 7746, 7747, + 3874: 7748, 7749, 7750, + 3875: 7748, 7750, 7751, + 3876: 7752, 7753, 7754, + 3877: 7752, 7754, 7755, + 3878: 7756, 7757, 7758, + 3879: 7756, 7758, 7759, + 3880: 7760, 7761, 7762, + 3881: 7760, 7762, 7763, + 3882: 7764, 7765, 7766, + 3883: 7764, 7766, 7767, + 3884: 7768, 7769, 7770, + 3885: 7768, 7770, 7771, + 3886: 7772, 7773, 7774, + 3887: 7772, 7774, 7775, + 3888: 7776, 7777, 7778, + 3889: 7776, 7778, 7779, + 3890: 7780, 7781, 7782, + 3891: 7780, 7782, 7783, + 3892: 7784, 7785, 7786, + 3893: 7784, 7786, 7787, + 3894: 7788, 7789, 7790, + 3895: 7788, 7790, 7791, + 3896: 7792, 7793, 7794, + 3897: 7792, 7794, 7795, + 3898: 7796, 7797, 7798, + 3899: 7796, 7798, 7799, + 3900: 7800, 7801, 7802, + 3901: 7800, 7802, 7803, + 3902: 7804, 7805, 7806, + 3903: 7804, 7806, 7807, + 3904: 7808, 7809, 7810, + 3905: 7808, 7810, 7811, + 3906: 7812, 7813, 7814, + 3907: 7812, 7814, 7815, + 3908: 7816, 7817, 7818, + 3909: 7816, 7818, 7819, + 3910: 7820, 7821, 7822, + 3911: 7820, 7822, 7823, + 3912: 7824, 7825, 7826, + 3913: 7824, 7826, 7827, + 3914: 7828, 7829, 7830, + 3915: 7828, 7830, 7831, + 3916: 7832, 7833, 7834, + 3917: 7832, 7834, 7835, + 3918: 7836, 7837, 7838, + 3919: 7836, 7838, 7839, + 3920: 7840, 7841, 7842, + 3921: 7840, 7842, 7843, + 3922: 7844, 7845, 7846, + 3923: 7844, 7846, 7847, + 3924: 7848, 7849, 7850, + 3925: 7848, 7850, 7851, + 3926: 7852, 7853, 7854, + 3927: 7852, 7854, 7855, + 3928: 7856, 7857, 7858, + 3929: 7856, 7858, 7859, + 3930: 7860, 7861, 7862, + 3931: 7860, 7862, 7863, + 3932: 7864, 7865, 7866, + 3933: 7864, 7866, 7867, + 3934: 7868, 7869, 7870, + 3935: 7868, 7870, 7871, + 3936: 7872, 7873, 7874, + 3937: 7872, 7874, 7875, + 3938: 7876, 7877, 7878, + 3939: 7876, 7878, 7879, + 3940: 7880, 7881, 7882, + 3941: 7880, 7882, 7883, + 3942: 7884, 7885, 7886, + 3943: 7884, 7886, 7887, + 3944: 7888, 7889, 7890, + 3945: 7888, 7890, 7891, + 3946: 7892, 7893, 7894, + 3947: 7892, 7894, 7895, + 3948: 7896, 7897, 7898, + 3949: 7896, 7898, 7899, + 3950: 7900, 7901, 7902, + 3951: 7900, 7902, 7903, + 3952: 7904, 7905, 7906, + 3953: 7904, 7906, 7907, + 3954: 7908, 7909, 7910, + 3955: 7908, 7910, 7911, + 3956: 7912, 7913, 7914, + 3957: 7912, 7914, 7915, + 3958: 7916, 7917, 7918, + 3959: 7916, 7918, 7919, + 3960: 7920, 7921, 7922, + 3961: 7920, 7922, 7923, + 3962: 7924, 7925, 7926, + 3963: 7924, 7926, 7927, + 3964: 7928, 7929, 7930, + 3965: 7928, 7930, 7931, + 3966: 7932, 7933, 7934, + 3967: 7932, 7934, 7935, + 3968: 7936, 7937, 7938, + 3969: 7936, 7938, 7939, + 3970: 7940, 7941, 7942, + 3971: 7940, 7942, 7943, + 3972: 7944, 7945, 7946, + 3973: 7944, 7946, 7947, + 3974: 7948, 7949, 7950, + 3975: 7948, 7950, 7951, + 3976: 7952, 7953, 7954, + 3977: 7952, 7954, 7955, + 3978: 7956, 7957, 7958, + 3979: 7956, 7958, 7959, + 3980: 7960, 7961, 7962, + 3981: 7960, 7962, 7963, + 3982: 7964, 7965, 7966, + 3983: 7964, 7966, 7967, + 3984: 7968, 7969, 7970, + 3985: 7968, 7970, 7971, + 3986: 7972, 7973, 7974, + 3987: 7972, 7974, 7975, + 3988: 7976, 7977, 7978, + 3989: 7976, 7978, 7979, + 3990: 7980, 7981, 7982, + 3991: 7980, 7982, 7983, + 3992: 7984, 7985, 7986, + 3993: 7984, 7986, 7987, + 3994: 7988, 7989, 7990, + 3995: 7988, 7990, 7991, + 3996: 7992, 7993, 7994, + 3997: 7992, 7994, 7995, + 3998: 7996, 7997, 7998, + 3999: 7996, 7998, 7999, + 4000: 8000, 8001, 8002, + 4001: 8000, 8002, 8003, + 4002: 8004, 8005, 8006, + 4003: 8004, 8006, 8007, + 4004: 8008, 8009, 8010, + 4005: 8008, 8010, 8011, + 4006: 8012, 8013, 8014, + 4007: 8012, 8014, 8015, + 4008: 8016, 8017, 8018, + 4009: 8016, 8018, 8019, + 4010: 8020, 8021, 8022, + 4011: 8020, 8022, 8023, + 4012: 8024, 8025, 8026, + 4013: 8024, 8026, 8027, + 4014: 8028, 8029, 8030, + 4015: 8028, 8030, 8031, + 4016: 8032, 8033, 8034, + 4017: 8032, 8034, 8035, + 4018: 8036, 8037, 8038, + 4019: 8036, 8038, 8039, + 4020: 8040, 8041, 8042, + 4021: 8040, 8042, 8043, + 4022: 8044, 8045, 8046, + 4023: 8044, 8046, 8047, + 4024: 8048, 8049, 8050, + 4025: 8048, 8050, 8051, + 4026: 8052, 8053, 8054, + 4027: 8052, 8054, 8055, + 4028: 8056, 8057, 8058, + 4029: 8056, 8058, 8059, + 4030: 8060, 8061, 8062, + 4031: 8060, 8062, 8063, + 4032: 8064, 8065, 8066, + 4033: 8064, 8066, 8067, + 4034: 8068, 8069, 8070, + 4035: 8068, 8070, 8071, + 4036: 8072, 8073, 8074, + 4037: 8072, 8074, 8075, + 4038: 8076, 8077, 8078, + 4039: 8076, 8078, 8079, + 4040: 8080, 8081, 8082, + 4041: 8080, 8082, 8083, + 4042: 8084, 8085, 8086, + 4043: 8084, 8086, 8087, + 4044: 8088, 8089, 8090, + 4045: 8088, 8090, 8091, + 4046: 8092, 8093, 8094, + 4047: 8092, 8094, 8095, + 4048: 8096, 8097, 8098, + 4049: 8096, 8098, 8099, + 4050: 8100, 8101, 8102, + 4051: 8100, 8102, 8103, + 4052: 8104, 8105, 8106, + 4053: 8104, 8106, 8107, + 4054: 8108, 8109, 8110, + 4055: 8108, 8110, 8111, + 4056: 8112, 8113, 8114, + 4057: 8112, 8114, 8115, + 4058: 8116, 8117, 8118, + 4059: 8116, 8118, 8119, + 4060: 8120, 8121, 8122, + 4061: 8120, 8122, 8123, + 4062: 8124, 8125, 8126, + 4063: 8124, 8126, 8127, + 4064: 8128, 8129, 8130, + 4065: 8128, 8130, 8131, + 4066: 8132, 8133, 8134, + 4067: 8132, 8134, 8135, + 4068: 8136, 8137, 8138, + 4069: 8136, 8138, 8139, + 4070: 8140, 8141, 8142, + 4071: 8140, 8142, 8143, + 4072: 8144, 8145, 8146, + 4073: 8144, 8146, 8147, + 4074: 8148, 8149, 8150, + 4075: 8148, 8150, 8151, + 4076: 8152, 8153, 8154, + 4077: 8152, 8154, 8155, + 4078: 8156, 8157, 8158, + 4079: 8156, 8158, 8159, + 4080: 8160, 8161, 8162, + 4081: 8160, 8162, 8163, + 4082: 8164, 8165, 8166, + 4083: 8164, 8166, 8167, + 4084: 8168, 8169, 8170, + 4085: 8168, 8170, 8171, + 4086: 8172, 8173, 8174, + 4087: 8172, 8174, 8175, + 4088: 8176, 8177, 8178, + 4089: 8176, 8178, 8179, + 4090: 8180, 8181, 8182, + 4091: 8180, 8182, 8183, + 4092: 8184, 8185, 8186, + 4093: 8184, 8186, 8187, + 4094: 8188, 8189, 8190, + 4095: 8188, 8190, 8191, + 4096: 8192, 8193, 8194, + 4097: 8192, 8194, 8195, + 4098: 8196, 8197, 8198, + 4099: 8196, 8198, 8199, + 4100: 8200, 8201, 8202, + 4101: 8200, 8202, 8203, + 4102: 8204, 8205, 8206, + 4103: 8204, 8206, 8207, + 4104: 8208, 8209, 8210, + 4105: 8208, 8210, 8211, + 4106: 8212, 8213, 8214, + 4107: 8212, 8214, 8215, + 4108: 8216, 8217, 8218, + 4109: 8216, 8218, 8219, + 4110: 8220, 8221, 8222, + 4111: 8220, 8222, 8223, + 4112: 8224, 8225, 8226, + 4113: 8224, 8226, 8227, + 4114: 8228, 8229, 8230, + 4115: 8228, 8230, 8231, + 4116: 8232, 8233, 8234, + 4117: 8232, 8234, 8235, + 4118: 8236, 8237, 8238, + 4119: 8236, 8238, 8239, + 4120: 8240, 8241, 8242, + 4121: 8240, 8242, 8243, + 4122: 8244, 8245, 8246, + 4123: 8244, 8246, 8247, + 4124: 8248, 8249, 8250, + 4125: 8248, 8250, 8251, + 4126: 8252, 8253, 8254, + 4127: 8252, 8254, 8255, + 4128: 8256, 8257, 8258, + 4129: 8256, 8258, 8259, + 4130: 8260, 8261, 8262, + 4131: 8260, 8262, 8263, + 4132: 8264, 8265, 8266, + 4133: 8264, 8266, 8267, + 4134: 8268, 8269, 8270, + 4135: 8268, 8270, 8271, + 4136: 8272, 8273, 8274, + 4137: 8272, 8274, 8275, + 4138: 8276, 8277, 8278, + 4139: 8276, 8278, 8279, + 4140: 8280, 8281, 8282, + 4141: 8280, 8282, 8283, + 4142: 8284, 8285, 8286, + 4143: 8284, 8286, 8287, + 4144: 8288, 8289, 8290, + 4145: 8288, 8290, 8291, + 4146: 8292, 8293, 8294, + 4147: 8292, 8294, 8295, + 4148: 8296, 8297, 8298, + 4149: 8296, 8298, 8299, + 4150: 8300, 8301, 8302, + 4151: 8300, 8302, 8303, + 4152: 8304, 8305, 8306, + 4153: 8304, 8306, 8307, + 4154: 8308, 8309, 8310, + 4155: 8308, 8310, 8311, + 4156: 8312, 8313, 8314, + 4157: 8312, 8314, 8315, + 4158: 8316, 8317, 8318, + 4159: 8316, 8318, 8319, + 4160: 8320, 8321, 8322, + 4161: 8320, 8322, 8323, + 4162: 8324, 8325, 8326, + 4163: 8324, 8326, 8327, + 4164: 8328, 8329, 8330, + 4165: 8328, 8330, 8331, + 4166: 8332, 8333, 8334, + 4167: 8332, 8334, 8335, + 4168: 8336, 8337, 8338, + 4169: 8336, 8338, 8339, + 4170: 8340, 8341, 8342, + 4171: 8340, 8342, 8343, + 4172: 8344, 8345, 8346, + 4173: 8344, 8346, 8347, + 4174: 8348, 8349, 8350, + 4175: 8348, 8350, 8351, + 4176: 8352, 8353, 8354, + 4177: 8352, 8354, 8355, + 4178: 8356, 8357, 8358, + 4179: 8356, 8358, 8359, + 4180: 8360, 8361, 8362, + 4181: 8360, 8362, 8363, + 4182: 8364, 8365, 8366, + 4183: 8364, 8366, 8367, + 4184: 8368, 8369, 8370, + 4185: 8368, 8370, 8371, + 4186: 8372, 8373, 8374, + 4187: 8372, 8374, 8375, + 4188: 8376, 8377, 8378, + 4189: 8376, 8378, 8379, + 4190: 8380, 8381, 8382, + 4191: 8380, 8382, 8383, + 4192: 8384, 8385, 8386, + 4193: 8384, 8386, 8387, + 4194: 8388, 8389, 8390, + 4195: 8388, 8390, 8391, + 4196: 8392, 8393, 8394, + 4197: 8392, 8394, 8395, + 4198: 8396, 8397, 8398, + 4199: 8396, 8398, 8399, + 4200: 8400, 8401, 8402, + 4201: 8400, 8402, 8403, + 4202: 8404, 8405, 8406, + 4203: 8404, 8406, 8407, + 4204: 8408, 8409, 8410, + 4205: 8408, 8410, 8411, + 4206: 8412, 8413, 8414, + 4207: 8412, 8414, 8415, + 4208: 8416, 8417, 8418, + 4209: 8416, 8418, 8419, + 4210: 8420, 8421, 8422, + 4211: 8420, 8422, 8423, + 4212: 8424, 8425, 8426, + 4213: 8424, 8426, 8427, + 4214: 8428, 8429, 8430, + 4215: 8428, 8430, 8431, + 4216: 8432, 8433, 8434, + 4217: 8432, 8434, 8435, + 4218: 8436, 8437, 8438, + 4219: 8436, 8438, 8439, + 4220: 8440, 8441, 8442, + 4221: 8440, 8442, 8443, + 4222: 8444, 8445, 8446, + 4223: 8444, 8446, 8447, + 4224: 8448, 8449, 8450, + 4225: 8448, 8450, 8451, + 4226: 8452, 8453, 8454, + 4227: 8452, 8454, 8455, + 4228: 8456, 8457, 8458, + 4229: 8456, 8458, 8459, + 4230: 8460, 8461, 8462, + 4231: 8460, 8462, 8463, + 4232: 8464, 8465, 8466, + 4233: 8464, 8466, 8467, + 4234: 8468, 8469, 8470, + 4235: 8468, 8470, 8471, + 4236: 8472, 8473, 8474, + 4237: 8472, 8474, 8475, + 4238: 8476, 8477, 8478, + 4239: 8476, 8478, 8479, + 4240: 8480, 8481, 8482, + 4241: 8480, 8482, 8483, + 4242: 8484, 8485, 8486, + 4243: 8484, 8486, 8487, + 4244: 8488, 8489, 8490, + 4245: 8488, 8490, 8491, + 4246: 8492, 8493, 8494, + 4247: 8492, 8494, 8495, + 4248: 8496, 8497, 8498, + 4249: 8496, 8498, 8499, + 4250: 8500, 8501, 8502, + 4251: 8500, 8502, 8503, + 4252: 8504, 8505, 8506, + 4253: 8504, 8506, 8507, + 4254: 8508, 8509, 8510, + 4255: 8508, 8510, 8511, + 4256: 8512, 8513, 8514, + 4257: 8512, 8514, 8515, + 4258: 8516, 8517, 8518, + 4259: 8516, 8518, 8519, + 4260: 8520, 8521, 8522, + 4261: 8520, 8522, 8523, + 4262: 8524, 8525, 8526, + 4263: 8524, 8526, 8527, + 4264: 8528, 8529, 8530, + 4265: 8528, 8530, 8531, + 4266: 8532, 8533, 8534, + 4267: 8532, 8534, 8535, + 4268: 8536, 8537, 8538, + 4269: 8536, 8538, 8539, + 4270: 8540, 8541, 8542, + 4271: 8540, 8542, 8543, + 4272: 8544, 8545, 8546, + 4273: 8544, 8546, 8547, + 4274: 8548, 8549, 8550, + 4275: 8548, 8550, 8551, + 4276: 8552, 8553, 8554, + 4277: 8552, 8554, 8555, + 4278: 8556, 8557, 8558, + 4279: 8556, 8558, 8559, + 4280: 8560, 8561, 8562, + 4281: 8560, 8562, 8563, + 4282: 8564, 8565, 8566, + 4283: 8564, 8566, 8567, + 4284: 8568, 8569, 8570, + 4285: 8568, 8570, 8571, + 4286: 8572, 8573, 8574, + 4287: 8572, 8574, 8575, + 4288: 8576, 8577, 8578, + 4289: 8576, 8578, 8579, + 4290: 8580, 8581, 8582, + 4291: 8580, 8582, 8583, + 4292: 8584, 8585, 8586, + 4293: 8584, 8586, 8587, + 4294: 8588, 8589, 8590, + 4295: 8588, 8590, 8591, + 4296: 8592, 8593, 8594, + 4297: 8592, 8594, 8595, + 4298: 8596, 8597, 8598, + 4299: 8596, 8598, 8599, + 4300: 8600, 8601, 8602, + 4301: 8600, 8602, 8603, + 4302: 8604, 8605, 8606, + 4303: 8604, 8606, 8607, + 4304: 8608, 8609, 8610, + 4305: 8608, 8610, 8611, + 4306: 8612, 8613, 8614, + 4307: 8612, 8614, 8615, + 4308: 8616, 8617, 8618, + 4309: 8616, 8618, 8619, + 4310: 8620, 8621, 8622, + 4311: 8620, 8622, 8623, + 4312: 8624, 8625, 8626, + 4313: 8624, 8626, 8627, + 4314: 8628, 8629, 8630, + 4315: 8628, 8630, 8631, + 4316: 8632, 8633, 8634, + 4317: 8632, 8634, 8635, + 4318: 8636, 8637, 8638, + 4319: 8636, 8638, 8639, + 4320: 8640, 8641, 8642, + 4321: 8640, 8642, 8643, + 4322: 8644, 8645, 8646, + 4323: 8644, 8646, 8647, + 4324: 8648, 8649, 8650, + 4325: 8648, 8650, 8651, + 4326: 8652, 8653, 8654, + 4327: 8652, 8654, 8655, + 4328: 8656, 8657, 8658, + 4329: 8656, 8658, 8659, + 4330: 8660, 8661, 8662, + 4331: 8660, 8662, 8663, + 4332: 8664, 8665, 8666, + 4333: 8664, 8666, 8667, + 4334: 8668, 8669, 8670, + 4335: 8668, 8670, 8671, + 4336: 8672, 8673, 8674, + 4337: 8672, 8674, 8675, + 4338: 8676, 8677, 8678, + 4339: 8676, 8678, 8679, + 4340: 8680, 8681, 8682, + 4341: 8680, 8682, 8683, + 4342: 8684, 8685, 8686, + 4343: 8684, 8686, 8687, + 4344: 8688, 8689, 8690, + 4345: 8688, 8690, 8691, + 4346: 8692, 8693, 8694, + 4347: 8692, 8694, 8695, + 4348: 8696, 8697, 8698, + 4349: 8696, 8698, 8699, + 4350: 8700, 8701, 8702, + 4351: 8700, 8702, 8703, + 4352: 8704, 8705, 8706, + 4353: 8704, 8706, 8707, + 4354: 8708, 8709, 8710, + 4355: 8708, 8710, 8711, + 4356: 8712, 8713, 8714, + 4357: 8712, 8714, 8715, + 4358: 8716, 8717, 8718, + 4359: 8716, 8718, 8719, + 4360: 8720, 8721, 8722, + 4361: 8720, 8722, 8723, + 4362: 8724, 8725, 8726, + 4363: 8724, 8726, 8727, + 4364: 8728, 8729, 8730, + 4365: 8728, 8730, 8731, + 4366: 8732, 8733, 8734, + 4367: 8732, 8734, 8735, + 4368: 8736, 8737, 8738, + 4369: 8736, 8738, 8739, + 4370: 8740, 8741, 8742, + 4371: 8740, 8742, 8743, + 4372: 8744, 8745, 8746, + 4373: 8744, 8746, 8747, + 4374: 8748, 8749, 8750, + 4375: 8748, 8750, 8751, + 4376: 8752, 8753, 8754, + 4377: 8752, 8754, 8755, + 4378: 8756, 8757, 8758, + 4379: 8756, 8758, 8759, + 4380: 8760, 8761, 8762, + 4381: 8760, 8762, 8763, + 4382: 8764, 8765, 8766, + 4383: 8764, 8766, 8767, + 4384: 8768, 8769, 8770, + 4385: 8768, 8770, 8771, + 4386: 8772, 8773, 8774, + 4387: 8772, 8774, 8775, + 4388: 8776, 8777, 8778, + 4389: 8776, 8778, 8779, + 4390: 8780, 8781, 8782, + 4391: 8780, 8782, 8783, + 4392: 8784, 8785, 8786, + 4393: 8784, 8786, 8787, + 4394: 8788, 8789, 8790, + 4395: 8788, 8790, 8791, + 4396: 8792, 8793, 8794, + 4397: 8792, 8794, 8795, + 4398: 8796, 8797, 8798, + 4399: 8796, 8798, 8799, + 4400: 8800, 8801, 8802, + 4401: 8800, 8802, 8803, + 4402: 8804, 8805, 8806, + 4403: 8804, 8806, 8807, + 4404: 8808, 8809, 8810, + 4405: 8808, 8810, 8811, + 4406: 8812, 8813, 8814, + 4407: 8812, 8814, 8815, + 4408: 8816, 8817, 8818, + 4409: 8816, 8818, 8819, + 4410: 8820, 8821, 8822, + 4411: 8820, 8822, 8823, + 4412: 8824, 8825, 8826, + 4413: 8824, 8826, 8827, + 4414: 8828, 8829, 8830, + 4415: 8828, 8830, 8831, + 4416: 8832, 8833, 8834, + 4417: 8832, 8834, 8835, + 4418: 8836, 8837, 8838, + 4419: 8836, 8838, 8839, + 4420: 8840, 8841, 8842, + 4421: 8840, 8842, 8843, + 4422: 8844, 8845, 8846, + 4423: 8844, 8846, 8847, + 4424: 8848, 8849, 8850, + 4425: 8848, 8850, 8851, + 4426: 8852, 8853, 8854, + 4427: 8852, 8854, 8855, + 4428: 8856, 8857, 8858, + 4429: 8856, 8858, 8859, + 4430: 8860, 8861, 8862, + 4431: 8860, 8862, 8863, + 4432: 8864, 8865, 8866, + 4433: 8864, 8866, 8867, + 4434: 8868, 8869, 8870, + 4435: 8868, 8870, 8871, + 4436: 8872, 8873, 8874, + 4437: 8872, 8874, 8875, + 4438: 8876, 8877, 8878, + 4439: 8876, 8878, 8879, + 4440: 8880, 8881, 8882, + 4441: 8880, 8882, 8883, + 4442: 8884, 8885, 8886, + 4443: 8884, 8886, 8887, + 4444: 8888, 8889, 8890, + 4445: 8888, 8890, 8891, + 4446: 8892, 8893, 8894, + 4447: 8892, 8894, 8895, + 4448: 8896, 8897, 8898, + 4449: 8896, 8898, 8899, + 4450: 8900, 8901, 8902, + 4451: 8900, 8902, 8903, + 4452: 8904, 8905, 8906, + 4453: 8904, 8906, 8907, + 4454: 8908, 8909, 8910, + 4455: 8908, 8910, 8911, + 4456: 8912, 8913, 8914, + 4457: 8912, 8914, 8915, + 4458: 8916, 8917, 8918, + 4459: 8916, 8918, 8919, + 4460: 8920, 8921, 8922, + 4461: 8920, 8922, 8923, + 4462: 8924, 8925, 8926, + 4463: 8924, 8926, 8927, + 4464: 8928, 8929, 8930, + 4465: 8928, 8930, 8931, + 4466: 8932, 8933, 8934, + 4467: 8932, 8934, 8935, + 4468: 8936, 8937, 8938, + 4469: 8936, 8938, 8939, + 4470: 8940, 8941, 8942, + 4471: 8940, 8942, 8943, + 4472: 8944, 8945, 8946, + 4473: 8944, 8946, 8947, + 4474: 8948, 8949, 8950, + 4475: 8948, 8950, 8951, + 4476: 8952, 8953, 8954, + 4477: 8952, 8954, 8955, + 4478: 8956, 8957, 8958, + 4479: 8956, 8958, 8959, + 4480: 8960, 8961, 8962, + 4481: 8960, 8962, 8963, + 4482: 8964, 8965, 8966, + 4483: 8964, 8966, 8967, + 4484: 8968, 8969, 8970, + 4485: 8968, 8970, 8971, + 4486: 8972, 8973, 8974, + 4487: 8972, 8974, 8975, + 4488: 8976, 8977, 8978, + 4489: 8976, 8978, 8979, + 4490: 8980, 8981, 8982, + 4491: 8980, 8982, 8983, + 4492: 8984, 8985, 8986, + 4493: 8984, 8986, 8987, + 4494: 8988, 8989, 8990, + 4495: 8988, 8990, 8991, + 4496: 8992, 8993, 8994, + 4497: 8992, 8994, 8995, + 4498: 8996, 8997, 8998, + 4499: 8996, 8998, 8999, + 4500: 9000, 9001, 9002, + 4501: 9000, 9002, 9003, + 4502: 9004, 9005, 9006, + 4503: 9004, 9006, 9007, + 4504: 9008, 9009, 9010, + 4505: 9008, 9010, 9011, + 4506: 9012, 9013, 9014, + 4507: 9012, 9014, 9015, + 4508: 9016, 9017, 9018, + 4509: 9016, 9018, 9019, + 4510: 9020, 9021, 9022, + 4511: 9020, 9022, 9023, + 4512: 9024, 9025, 9026, + 4513: 9024, 9026, 9027, + 4514: 9028, 9029, 9030, + 4515: 9028, 9030, 9031, + 4516: 9032, 9033, 9034, + 4517: 9032, 9034, 9035, + 4518: 9036, 9037, 9038, + 4519: 9036, 9038, 9039, + 4520: 9040, 9041, 9042, + 4521: 9040, 9042, 9043, + 4522: 9044, 9045, 9046, + 4523: 9044, 9046, 9047, + 4524: 9048, 9049, 9050, + 4525: 9048, 9050, 9051, + 4526: 9052, 9053, 9054, + 4527: 9052, 9054, 9055, + 4528: 9056, 9057, 9058, + 4529: 9056, 9058, 9059, + 4530: 9060, 9061, 9062, + 4531: 9060, 9062, 9063, + 4532: 9064, 9065, 9066, + 4533: 9064, 9066, 9067, + 4534: 9068, 9069, 9070, + 4535: 9068, 9070, 9071, + 4536: 9072, 9073, 9074, + 4537: 9072, 9074, 9075, + 4538: 9076, 9077, 9078, + 4539: 9076, 9078, 9079, + 4540: 9080, 9081, 9082, + 4541: 9080, 9082, 9083, + 4542: 9084, 9085, 9086, + 4543: 9084, 9086, 9087, + 4544: 9088, 9089, 9090, + 4545: 9088, 9090, 9091, + 4546: 9092, 9093, 9094, + 4547: 9092, 9094, 9095, + 4548: 9096, 9097, 9098, + 4549: 9096, 9098, 9099, + 4550: 9100, 9101, 9102, + 4551: 9100, 9102, 9103, + 4552: 9104, 9105, 9106, + 4553: 9104, 9106, 9107, + 4554: 9108, 9109, 9110, + 4555: 9108, 9110, 9111, + 4556: 9112, 9113, 9114, + 4557: 9112, 9114, 9115, + 4558: 9116, 9117, 9118, + 4559: 9116, 9118, 9119, + 4560: 9120, 9121, 9122, + 4561: 9120, 9122, 9123, + 4562: 9124, 9125, 9126, + 4563: 9124, 9126, 9127, + 4564: 9128, 9129, 9130, + 4565: 9128, 9130, 9131, + 4566: 9132, 9133, 9134, + 4567: 9132, 9134, 9135, + 4568: 9136, 9137, 9138, + 4569: 9136, 9138, 9139, + 4570: 9140, 9141, 9142, + 4571: 9140, 9142, 9143, + 4572: 9144, 9145, 9146, + 4573: 9144, 9146, 9147, + 4574: 9148, 9149, 9150, + 4575: 9148, 9150, 9151, + 4576: 9152, 9153, 9154, + 4577: 9152, 9154, 9155, + 4578: 9156, 9157, 9158, + 4579: 9156, 9158, 9159, + 4580: 9160, 9161, 9162, + 4581: 9160, 9162, 9163, + 4582: 9164, 9165, 9166, + 4583: 9164, 9166, 9167, + 4584: 9168, 9169, 9170, + 4585: 9168, 9170, 9171, + 4586: 9172, 9173, 9174, + 4587: 9172, 9174, 9175, + 4588: 9176, 9177, 9178, + 4589: 9176, 9178, 9179, + 4590: 9180, 9181, 9182, + 4591: 9180, 9182, 9183, + 4592: 9184, 9185, 9186, + 4593: 9184, 9186, 9187, + 4594: 9188, 9189, 9190, + 4595: 9188, 9190, 9191, + 4596: 9192, 9193, 9194, + 4597: 9192, 9194, 9195, + 4598: 9196, 9197, 9198, + 4599: 9196, 9198, 9199, + 4600: 9200, 9201, 9202, + 4601: 9200, 9202, 9203, + 4602: 9204, 9205, 9206, + 4603: 9204, 9206, 9207, + 4604: 9208, 9209, 9210, + 4605: 9208, 9210, 9211, + 4606: 9212, 9213, 9214, + 4607: 9212, 9214, 9215, + 4608: 9216, 9217, 9218, + 4609: 9216, 9218, 9219, + 4610: 9220, 9221, 9222, + 4611: 9220, 9222, 9223, + 4612: 9224, 9225, 9226, + 4613: 9224, 9226, 9227, + 4614: 9228, 9229, 9230, + 4615: 9228, 9230, 9231, + 4616: 9232, 9233, 9234, + 4617: 9232, 9234, 9235, + 4618: 9236, 9237, 9238, + 4619: 9236, 9238, 9239, + 4620: 9240, 9241, 9242, + 4621: 9240, 9242, 9243, + 4622: 9244, 9245, 9246, + 4623: 9244, 9246, 9247, + 4624: 9248, 9249, 9250, + 4625: 9248, 9250, 9251, + 4626: 9252, 9253, 9254, + 4627: 9252, 9254, 9255, + 4628: 9256, 9257, 9258, + 4629: 9256, 9258, 9259, + 4630: 9260, 9261, 9262, + 4631: 9260, 9262, 9263, + 4632: 9264, 9265, 9266, + 4633: 9264, 9266, 9267, + 4634: 9268, 9269, 9270, + 4635: 9268, 9270, 9271, + 4636: 9272, 9273, 9274, + 4637: 9272, 9274, 9275, + 4638: 9276, 9277, 9278, + 4639: 9276, 9278, 9279, + 4640: 9280, 9281, 9282, + 4641: 9280, 9282, 9283, + 4642: 9284, 9285, 9286, + 4643: 9284, 9286, 9287, + 4644: 9288, 9289, 9290, + 4645: 9288, 9290, 9291, + 4646: 9292, 9293, 9294, + 4647: 9292, 9294, 9295, + 4648: 9296, 9297, 9298, + 4649: 9296, 9298, 9299, + 4650: 9300, 9301, 9302, + 4651: 9300, 9302, 9303, + 4652: 9304, 9305, 9306, + 4653: 9304, 9306, 9307, + 4654: 9308, 9309, 9310, + 4655: 9308, 9310, 9311, + 4656: 9312, 9313, 9314, + 4657: 9312, 9314, 9315, + 4658: 9316, 9317, 9318, + 4659: 9316, 9318, 9319, + 4660: 9320, 9321, 9322, + 4661: 9320, 9322, 9323, + 4662: 9324, 9325, 9326, + 4663: 9324, 9326, 9327, + 4664: 9328, 9329, 9330, + 4665: 9328, 9330, 9331, + 4666: 9332, 9333, 9334, + 4667: 9332, 9334, 9335, + 4668: 9336, 9337, 9338, + 4669: 9336, 9338, 9339, + 4670: 9340, 9341, 9342, + 4671: 9340, 9342, 9343, + 4672: 9344, 9345, 9346, + 4673: 9344, 9346, 9347, + 4674: 9348, 9349, 9350, + 4675: 9348, 9350, 9351, + 4676: 9352, 9353, 9354, + 4677: 9352, 9354, 9355, + 4678: 9356, 9357, 9358, + 4679: 9356, 9358, 9359, + 4680: 9360, 9361, 9362, + 4681: 9360, 9362, 9363, + 4682: 9364, 9365, 9366, + 4683: 9364, 9366, 9367, + 4684: 9368, 9369, 9370, + 4685: 9368, 9370, 9371, + 4686: 9372, 9373, 9374, + 4687: 9372, 9374, 9375, + 4688: 9376, 9377, 9378, + 4689: 9376, 9378, 9379, + 4690: 9380, 9381, 9382, + 4691: 9380, 9382, 9383, + 4692: 9384, 9385, 9386, + 4693: 9384, 9386, 9387, + 4694: 9388, 9389, 9390, + 4695: 9388, 9390, 9391, + 4696: 9392, 9393, 9394, + 4697: 9392, 9394, 9395, + 4698: 9396, 9397, 9398, + 4699: 9396, 9398, 9399, + 4700: 9400, 9401, 9402, + 4701: 9400, 9402, 9403, + 4702: 9404, 9405, 9406, + 4703: 9404, 9406, 9407, + 4704: 9408, 9409, 9410, + 4705: 9408, 9410, 9411, + 4706: 9412, 9413, 9414, + 4707: 9412, 9414, 9415, + 4708: 9416, 9417, 9418, + 4709: 9416, 9418, 9419, + 4710: 9420, 9421, 9422, + 4711: 9420, 9422, 9423, + 4712: 9424, 9425, 9426, + 4713: 9424, 9426, 9427, + 4714: 9428, 9429, 9430, + 4715: 9428, 9430, 9431, + 4716: 9432, 9433, 9434, + 4717: 9432, 9434, 9435, + 4718: 9436, 9437, 9438, + 4719: 9436, 9438, 9439, + 4720: 9440, 9441, 9442, + 4721: 9440, 9442, 9443, + 4722: 9444, 9445, 9446, + 4723: 9444, 9446, 9447, + 4724: 9448, 9449, 9450, + 4725: 9448, 9450, 9451, + 4726: 9452, 9453, 9454, + 4727: 9452, 9454, 9455, + 4728: 9456, 9457, 9458, + 4729: 9456, 9458, 9459, + 4730: 9460, 9461, 9462, + 4731: 9460, 9462, 9463, + 4732: 9464, 9465, 9466, + 4733: 9464, 9466, 9467, + 4734: 9468, 9469, 9470, + 4735: 9468, 9470, 9471, + 4736: 9472, 9473, 9474, + 4737: 9472, 9474, 9475, + 4738: 9476, 9477, 9478, + 4739: 9476, 9478, 9479, + 4740: 9480, 9481, 9482, + 4741: 9480, 9482, 9483, + 4742: 9484, 9485, 9486, + 4743: 9484, 9486, 9487, + 4744: 9488, 9489, 9490, + 4745: 9488, 9490, 9491, + 4746: 9492, 9493, 9494, + 4747: 9492, 9494, 9495, + 4748: 9496, 9497, 9498, + 4749: 9496, 9498, 9499, + 4750: 9500, 9501, 9502, + 4751: 9500, 9502, 9503, + 4752: 9504, 9505, 9506, + 4753: 9504, 9506, 9507, + 4754: 9508, 9509, 9510, + 4755: 9508, 9510, 9511, + 4756: 9512, 9513, 9514, + 4757: 9512, 9514, 9515, + 4758: 9516, 9517, 9518, + 4759: 9516, 9518, 9519, + 4760: 9520, 9521, 9522, + 4761: 9520, 9522, 9523, + 4762: 9524, 9525, 9526, + 4763: 9524, 9526, 9527, + 4764: 9528, 9529, 9530, + 4765: 9528, 9530, 9531, + 4766: 9532, 9533, 9534, + 4767: 9532, 9534, 9535, + 4768: 9536, 9537, 9538, + 4769: 9536, 9538, 9539, + 4770: 9540, 9541, 9542, + 4771: 9540, 9542, 9543, + 4772: 9544, 9545, 9546, + 4773: 9544, 9546, 9547, + 4774: 9548, 9549, 9550, + 4775: 9548, 9550, 9551, + 4776: 9552, 9553, 9554, + 4777: 9552, 9554, 9555, + 4778: 9556, 9557, 9558, + 4779: 9556, 9558, 9559, + 4780: 9560, 9561, 9562, + 4781: 9560, 9562, 9563, + 4782: 9564, 9565, 9566, + 4783: 9564, 9566, 9567, + 4784: 9568, 9569, 9570, + 4785: 9568, 9570, 9571, + 4786: 9572, 9573, 9574, + 4787: 9572, 9574, 9575, + 4788: 9576, 9577, 9578, + 4789: 9576, 9578, 9579, + 4790: 9580, 9581, 9582, + 4791: 9580, 9582, 9583, + 4792: 9584, 9585, 9586, + 4793: 9584, 9586, 9587, + 4794: 9588, 9589, 9590, + 4795: 9588, 9590, 9591, + 4796: 9592, 9593, 9594, + 4797: 9592, 9594, 9595, + 4798: 9596, 9597, 9598, + 4799: 9596, 9598, 9599, + 4800: 9600, 9601, 9602, + 4801: 9600, 9602, 9603, + 4802: 9604, 9605, 9606, + 4803: 9604, 9606, 9607, + 4804: 9608, 9609, 9610, + 4805: 9608, 9610, 9611, + 4806: 9612, 9613, 9614, + 4807: 9612, 9614, 9615, + 4808: 9616, 9617, 9618, + 4809: 9616, 9618, 9619, + 4810: 9620, 9621, 9622, + 4811: 9620, 9622, 9623, + 4812: 9624, 9625, 9626, + 4813: 9624, 9626, 9627, + 4814: 9628, 9629, 9630, + 4815: 9628, 9630, 9631, + 4816: 9632, 9633, 9634, + 4817: 9632, 9634, 9635, + 4818: 9636, 9637, 9638, + 4819: 9636, 9638, 9639, + 4820: 9640, 9641, 9642, + 4821: 9640, 9642, 9643, + 4822: 9644, 9645, 9646, + 4823: 9644, 9646, 9647, + 4824: 9648, 9649, 9650, + 4825: 9648, 9650, 9651, + 4826: 9652, 9653, 9654, + 4827: 9652, 9654, 9655, + 4828: 9656, 9657, 9658, + 4829: 9656, 9658, 9659, + 4830: 9660, 9661, 9662, + 4831: 9660, 9662, 9663, + 4832: 9664, 9665, 9666, + 4833: 9664, 9666, 9667, + 4834: 9668, 9669, 9670, + 4835: 9668, 9670, 9671, + 4836: 9672, 9673, 9674, + 4837: 9672, 9674, 9675, + 4838: 9676, 9677, 9678, + 4839: 9676, 9678, 9679, + 4840: 9680, 9681, 9682, + 4841: 9680, 9682, 9683, + 4842: 9684, 9685, 9686, + 4843: 9684, 9686, 9687, + 4844: 9688, 9689, 9690, + 4845: 9688, 9690, 9691, + 4846: 9692, 9693, 9694, + 4847: 9692, 9694, 9695, + 4848: 9696, 9697, 9698, + 4849: 9696, 9698, 9699, + 4850: 9700, 9701, 9702, + 4851: 9700, 9702, 9703, + 4852: 9704, 9705, 9706, + 4853: 9704, 9706, 9707, + 4854: 9708, 9709, 9710, + 4855: 9708, 9710, 9711, + 4856: 9712, 9713, 9714, + 4857: 9712, 9714, 9715, + 4858: 9716, 9717, 9718, + 4859: 9716, 9718, 9719, + 4860: 9720, 9721, 9722, + 4861: 9720, 9722, 9723, + 4862: 9724, 9725, 9726, + 4863: 9724, 9726, 9727, + 4864: 9728, 9729, 9730, + 4865: 9728, 9730, 9731, + 4866: 9732, 9733, 9734, + 4867: 9732, 9734, 9735, + 4868: 9736, 9737, 9738, + 4869: 9736, 9738, 9739, + 4870: 9740, 9741, 9742, + 4871: 9740, 9742, 9743, + 4872: 9744, 9745, 9746, + 4873: 9744, 9746, 9747, + 4874: 9748, 9749, 9750, + 4875: 9748, 9750, 9751, + 4876: 9752, 9753, 9754, + 4877: 9752, 9754, 9755, + 4878: 9756, 9757, 9758, + 4879: 9756, 9758, 9759, + 4880: 9760, 9761, 9762, + 4881: 9760, 9762, 9763, + 4882: 9764, 9765, 9766, + 4883: 9764, 9766, 9767, + 4884: 9768, 9769, 9770, + 4885: 9768, 9770, 9771, + 4886: 9772, 9773, 9774, + 4887: 9772, 9774, 9775, + 4888: 9776, 9777, 9778, + 4889: 9776, 9778, 9779, + 4890: 9780, 9781, 9782, + 4891: 9780, 9782, 9783, + 4892: 9784, 9785, 9786, + 4893: 9784, 9786, 9787, + 4894: 9788, 9789, 9790, + 4895: 9788, 9790, 9791, + 4896: 9792, 9793, 9794, + 4897: 9792, 9794, 9795, + 4898: 9796, 9797, 9798, + 4899: 9796, 9798, 9799, + 4900: 9800, 9801, 9802, + 4901: 9800, 9802, 9803, + 4902: 9804, 9805, 9806, + 4903: 9804, 9806, 9807, + 4904: 9808, 9809, 9810, + 4905: 9808, 9810, 9811, + 4906: 9812, 9813, 9814, + 4907: 9812, 9814, 9815, + 4908: 9816, 9817, 9818, + 4909: 9816, 9818, 9819, + 4910: 9820, 9821, 9822, + 4911: 9820, 9822, 9823, + 4912: 9824, 9825, 9826, + 4913: 9824, 9826, 9827, + 4914: 9828, 9829, 9830, + 4915: 9828, 9830, 9831, + 4916: 9832, 9833, 9834, + 4917: 9832, 9834, 9835, + 4918: 9836, 9837, 9838, + 4919: 9836, 9838, 9839, + 4920: 9840, 9841, 9842, + 4921: 9840, 9842, 9843, + 4922: 9844, 9845, 9846, + 4923: 9844, 9846, 9847, + 4924: 9848, 9849, 9850, + 4925: 9848, 9850, 9851, + 4926: 9852, 9853, 9854, + 4927: 9852, 9854, 9855, + 4928: 9856, 9857, 9858, + 4929: 9856, 9858, 9859, + 4930: 9860, 9861, 9862, + 4931: 9860, 9862, 9863, + 4932: 9864, 9865, 9866, + 4933: 9864, 9866, 9867, + 4934: 9868, 9869, 9870, + 4935: 9868, 9870, 9871, + 4936: 9872, 9873, 9874, + 4937: 9872, 9874, 9875, + 4938: 9876, 9877, 9878, + 4939: 9876, 9878, 9879, + 4940: 9880, 9881, 9882, + 4941: 9880, 9882, 9883, + 4942: 9884, 9885, 9886, + 4943: 9884, 9886, 9887, + 4944: 9888, 9889, 9890, + 4945: 9888, 9890, 9891, + 4946: 9892, 9893, 9894, + 4947: 9892, 9894, 9895, + 4948: 9896, 9897, 9898, + 4949: 9896, 9898, 9899, + 4950: 9900, 9901, 9902, + 4951: 9900, 9902, 9903, + 4952: 9904, 9905, 9906, + 4953: 9904, 9906, 9907, + 4954: 9908, 9909, 9910, + 4955: 9908, 9910, 9911, + 4956: 9912, 9913, 9914, + 4957: 9912, 9914, 9915, + 4958: 9916, 9917, 9918, + 4959: 9916, 9918, 9919, + 4960: 9920, 9921, 9922, + 4961: 9920, 9922, 9923, + 4962: 9924, 9925, 9926, + 4963: 9924, 9926, 9927, + 4964: 9928, 9929, 9930, + 4965: 9928, 9930, 9931, + 4966: 9932, 9933, 9934, + 4967: 9932, 9934, 9935, + 4968: 9936, 9937, 9938, + 4969: 9936, 9938, 9939, + 4970: 9940, 9941, 9942, + 4971: 9940, 9942, 9943, + 4972: 9944, 9945, 9946, + 4973: 9944, 9946, 9947, + 4974: 9948, 9949, 9950, + 4975: 9948, 9950, 9951, + 4976: 9952, 9953, 9954, + 4977: 9952, 9954, 9955, + 4978: 9956, 9957, 9958, + 4979: 9956, 9958, 9959, + 4980: 9960, 9961, 9962, + 4981: 9960, 9962, 9963, + 4982: 9964, 9965, 9966, + 4983: 9964, 9966, 9967, + 4984: 9968, 9969, 9970, + 4985: 9968, 9970, 9971, + 4986: 9972, 9973, 9974, + 4987: 9972, 9974, 9975, + 4988: 9976, 9977, 9978, + 4989: 9976, 9978, 9979, + 4990: 9980, 9981, 9982, + 4991: 9980, 9982, 9983, + 4992: 9984, 9985, 9986, + 4993: 9984, 9986, 9987, + 4994: 9988, 9989, 9990, + 4995: 9988, 9990, 9991, + 4996: 9992, 9993, 9994, + 4997: 9992, 9994, 9995, + 4998: 9996, 9997, 9998, + 4999: 9996, 9998, 9999, + 5000: 10000, 10001, 10002, + 5001: 10000, 10002, 10003, + 5002: 10004, 10005, 10006, + 5003: 10004, 10006, 10007, + 5004: 10008, 10009, 10010, + 5005: 10008, 10010, 10011, + 5006: 10012, 10013, 10014, + 5007: 10012, 10014, 10015, + 5008: 10016, 10017, 10018, + 5009: 10016, 10018, 10019, + 5010: 10020, 10021, 10022, + 5011: 10020, 10022, 10023, + 5012: 10024, 10025, 10026, + 5013: 10024, 10026, 10027, + 5014: 10028, 10029, 10030, + 5015: 10028, 10030, 10031, + 5016: 10032, 10033, 10034, + 5017: 10032, 10034, 10035, + 5018: 10036, 10037, 10038, + 5019: 10036, 10038, 10039, + 5020: 10040, 10041, 10042, + 5021: 10040, 10042, 10043, + 5022: 10044, 10045, 10046, + 5023: 10044, 10046, 10047, + 5024: 10048, 10049, 10050, + 5025: 10048, 10050, 10051, + 5026: 10052, 10053, 10054, + 5027: 10052, 10054, 10055, + 5028: 10056, 10057, 10058, + 5029: 10056, 10058, 10059, + 5030: 10060, 10061, 10062, + 5031: 10060, 10062, 10063, + 5032: 10064, 10065, 10066, + 5033: 10064, 10066, 10067, + 5034: 10068, 10069, 10070, + 5035: 10068, 10070, 10071, + 5036: 10072, 10073, 10074, + 5037: 10072, 10074, 10075, + 5038: 10076, 10077, 10078, + 5039: 10076, 10078, 10079, + 5040: 10080, 10081, 10082, + 5041: 10080, 10082, 10083, + 5042: 10084, 10085, 10086, + 5043: 10084, 10086, 10087, + 5044: 10088, 10089, 10090, + 5045: 10088, 10090, 10091, + 5046: 10092, 10093, 10094, + 5047: 10092, 10094, 10095, + 5048: 10096, 10097, 10098, + 5049: 10096, 10098, 10099, + 5050: 10100, 10101, 10102, + 5051: 10100, 10102, 10103, + 5052: 10104, 10105, 10106, + 5053: 10104, 10106, 10107, + 5054: 10108, 10109, 10110, + 5055: 10108, 10110, 10111, + 5056: 10112, 10113, 10114, + 5057: 10112, 10114, 10115, + 5058: 10116, 10117, 10118, + 5059: 10116, 10118, 10119, + 5060: 10120, 10121, 10122, + 5061: 10120, 10122, 10123, + 5062: 10124, 10125, 10126, + 5063: 10124, 10126, 10127, + 5064: 10128, 10129, 10130, + 5065: 10128, 10130, 10131, + 5066: 10132, 10133, 10134, + 5067: 10132, 10134, 10135, + 5068: 10136, 10137, 10138, + 5069: 10136, 10138, 10139, + 5070: 10140, 10141, 10142, + 5071: 10140, 10142, 10143, + 5072: 10144, 10145, 10146, + 5073: 10144, 10146, 10147, + 5074: 10148, 10149, 10150, + 5075: 10148, 10150, 10151, + 5076: 10152, 10153, 10154, + 5077: 10152, 10154, 10155, + 5078: 10156, 10157, 10158, + 5079: 10156, 10158, 10159, + 5080: 10160, 10161, 10162, + 5081: 10160, 10162, 10163, + 5082: 10164, 10165, 10166, + 5083: 10164, 10166, 10167, + 5084: 10168, 10169, 10170, + 5085: 10168, 10170, 10171, + 5086: 10172, 10173, 10174, + 5087: 10172, 10174, 10175, + 5088: 10176, 10177, 10178, + 5089: 10176, 10178, 10179, + 5090: 10180, 10181, 10182, + 5091: 10180, 10182, 10183, + 5092: 10184, 10185, 10186, + 5093: 10184, 10186, 10187, + 5094: 10188, 10189, 10190, + 5095: 10188, 10190, 10191, + 5096: 10192, 10193, 10194, + 5097: 10192, 10194, 10195, + 5098: 10196, 10197, 10198, + 5099: 10196, 10198, 10199, + 5100: 10200, 10201, 10202, + 5101: 10200, 10202, 10203, + 5102: 10204, 10205, 10206, + 5103: 10204, 10206, 10207, + 5104: 10208, 10209, 10210, + 5105: 10208, 10210, 10211, + 5106: 10212, 10213, 10214, + 5107: 10212, 10214, 10215, + 5108: 10216, 10217, 10218, + 5109: 10216, 10218, 10219, + 5110: 10220, 10221, 10222, + 5111: 10220, 10222, 10223, + 5112: 10224, 10225, 10226, + 5113: 10224, 10226, 10227, + 5114: 10228, 10229, 10230, + 5115: 10228, 10230, 10231, + 5116: 10232, 10233, 10234, + 5117: 10232, 10234, 10235, + 5118: 10236, 10237, 10238, + 5119: 10236, 10238, 10239, + 5120: 10240, 10241, 10242, + 5121: 10240, 10242, 10243, + 5122: 10244, 10245, 10246, + 5123: 10244, 10246, 10247, + 5124: 10248, 10249, 10250, + 5125: 10248, 10250, 10251, + 5126: 10252, 10253, 10254, + 5127: 10252, 10254, 10255, + 5128: 10256, 10257, 10258, + 5129: 10256, 10258, 10259, + 5130: 10260, 10261, 10262, + 5131: 10260, 10262, 10263, + 5132: 10264, 10265, 10266, + 5133: 10264, 10266, 10267, + 5134: 10268, 10269, 10270, + 5135: 10268, 10270, 10271, + 5136: 10272, 10273, 10274, + 5137: 10272, 10274, 10275, + 5138: 10276, 10277, 10278, + 5139: 10276, 10278, 10279, + 5140: 10280, 10281, 10282, + 5141: 10280, 10282, 10283, + 5142: 10284, 10285, 10286, + 5143: 10284, 10286, 10287, + 5144: 10288, 10289, 10290, + 5145: 10288, 10290, 10291, + 5146: 10292, 10293, 10294, + 5147: 10292, 10294, 10295, + 5148: 10296, 10297, 10298, + 5149: 10296, 10298, 10299, + 5150: 10300, 10301, 10302, + 5151: 10300, 10302, 10303, + 5152: 10304, 10305, 10306, + 5153: 10304, 10306, 10307, + 5154: 10308, 10309, 10310, + 5155: 10308, 10310, 10311, + 5156: 10312, 10313, 10314, + 5157: 10312, 10314, 10315, + 5158: 10316, 10317, 10318, + 5159: 10316, 10318, 10319, + 5160: 10320, 10321, 10322, + 5161: 10320, 10322, 10323, + 5162: 10324, 10325, 10326, + 5163: 10324, 10326, 10327, + 5164: 10328, 10329, 10330, + 5165: 10328, 10330, 10331, + 5166: 10332, 10333, 10334, + 5167: 10332, 10334, 10335, + 5168: 10336, 10337, 10338, + 5169: 10336, 10338, 10339, + 5170: 10340, 10341, 10342, + 5171: 10340, 10342, 10343, + 5172: 10344, 10345, 10346, + 5173: 10344, 10346, 10347, + 5174: 10348, 10349, 10350, + 5175: 10348, 10350, 10351, + 5176: 10352, 10353, 10354, + 5177: 10352, 10354, 10355, + 5178: 10356, 10357, 10358, + 5179: 10356, 10358, 10359, + 5180: 10360, 10361, 10362, + 5181: 10360, 10362, 10363, + 5182: 10364, 10365, 10366, + 5183: 10364, 10366, 10367, + 5184: 10368, 10369, 10370, + 5185: 10368, 10370, 10371, + 5186: 10372, 10373, 10374, + 5187: 10372, 10374, 10375, + 5188: 10376, 10377, 10378, + 5189: 10376, 10378, 10379, + 5190: 10380, 10381, 10382, + 5191: 10380, 10382, 10383, + 5192: 10384, 10385, 10386, + 5193: 10384, 10386, 10387, + 5194: 10388, 10389, 10390, + 5195: 10388, 10390, 10391, + 5196: 10392, 10393, 10394, + 5197: 10392, 10394, 10395, + 5198: 10396, 10397, 10398, + 5199: 10396, 10398, 10399, + 5200: 10400, 10401, 10402, + 5201: 10400, 10402, 10403, + 5202: 10404, 10405, 10406, + 5203: 10404, 10406, 10407, + 5204: 10408, 10409, 10410, + 5205: 10408, 10410, 10411, + 5206: 10412, 10413, 10414, + 5207: 10412, 10414, 10415, + 5208: 10416, 10417, 10418, + 5209: 10416, 10418, 10419, + 5210: 10420, 10421, 10422, + 5211: 10420, 10422, 10423, + 5212: 10424, 10425, 10426, + 5213: 10424, 10426, 10427, + 5214: 10428, 10429, 10430, + 5215: 10428, 10430, 10431, + 5216: 10432, 10433, 10434, + 5217: 10432, 10434, 10435, + 5218: 10436, 10437, 10438, + 5219: 10436, 10438, 10439, + 5220: 10440, 10441, 10442, + 5221: 10440, 10442, 10443, + 5222: 10444, 10445, 10446, + 5223: 10444, 10446, 10447, + 5224: 10448, 10449, 10450, + 5225: 10448, 10450, 10451, + 5226: 10452, 10453, 10454, + 5227: 10452, 10454, 10455, + 5228: 10456, 10457, 10458, + 5229: 10456, 10458, 10459, + 5230: 10460, 10461, 10462, + 5231: 10460, 10462, 10463, + 5232: 10464, 10465, 10466, + 5233: 10464, 10466, 10467, + 5234: 10468, 10469, 10470, + 5235: 10468, 10470, 10471, + 5236: 10472, 10473, 10474, + 5237: 10472, 10474, 10475, + 5238: 10476, 10477, 10478, + 5239: 10476, 10478, 10479, + 5240: 10480, 10481, 10482, + 5241: 10480, 10482, 10483, + 5242: 10484, 10485, 10486, + 5243: 10484, 10486, 10487, + 5244: 10488, 10489, 10490, + 5245: 10488, 10490, 10491, + 5246: 10492, 10493, 10494, + 5247: 10492, 10494, 10495, + 5248: 10496, 10497, 10498, + 5249: 10496, 10498, 10499, + 5250: 10500, 10501, 10502, + 5251: 10500, 10502, 10503, + 5252: 10504, 10505, 10506, + 5253: 10504, 10506, 10507, + 5254: 10508, 10509, 10510, + 5255: 10508, 10510, 10511, + 5256: 10512, 10513, 10514, + 5257: 10512, 10514, 10515, + 5258: 10516, 10517, 10518, + 5259: 10516, 10518, 10519, + 5260: 10520, 10521, 10522, + 5261: 10520, 10522, 10523, + 5262: 10524, 10525, 10526, + 5263: 10524, 10526, 10527, + 5264: 10528, 10529, 10530, + 5265: 10528, 10530, 10531, + 5266: 10532, 10533, 10534, + 5267: 10532, 10534, 10535, + 5268: 10536, 10537, 10538, + 5269: 10536, 10538, 10539, + 5270: 10540, 10541, 10542, + 5271: 10540, 10542, 10543, + 5272: 10544, 10545, 10546, + 5273: 10544, 10546, 10547, + 5274: 10548, 10549, 10550, + 5275: 10548, 10550, 10551, + 5276: 10552, 10553, 10554, + 5277: 10552, 10554, 10555, + 5278: 10556, 10557, 10558, + 5279: 10556, 10558, 10559, + 5280: 10560, 10561, 10562, + 5281: 10560, 10562, 10563, + 5282: 10564, 10565, 10566, + 5283: 10564, 10566, 10567, + 5284: 10568, 10569, 10570, + 5285: 10568, 10570, 10571, + 5286: 10572, 10573, 10574, + 5287: 10572, 10574, 10575, + 5288: 10576, 10577, 10578, + 5289: 10576, 10578, 10579, + 5290: 10580, 10581, 10582, + 5291: 10580, 10582, 10583, + 5292: 10584, 10585, 10586, + 5293: 10584, 10586, 10587, + 5294: 10588, 10589, 10590, + 5295: 10588, 10590, 10591, + 5296: 10592, 10593, 10594, + 5297: 10592, 10594, 10595, + 5298: 10596, 10597, 10598, + 5299: 10596, 10598, 10599, + 5300: 10600, 10601, 10602, + 5301: 10600, 10602, 10603, + 5302: 10604, 10605, 10606, + 5303: 10604, 10606, 10607, + 5304: 10608, 10609, 10610, + 5305: 10608, 10610, 10611, + 5306: 10612, 10613, 10614, + 5307: 10612, 10614, 10615, + 5308: 10616, 10617, 10618, + 5309: 10616, 10618, 10619, + 5310: 10620, 10621, 10622, + 5311: 10620, 10622, 10623, + 5312: 10624, 10625, 10626, + 5313: 10624, 10626, 10627, + 5314: 10628, 10629, 10630, + 5315: 10628, 10630, 10631, + 5316: 10632, 10633, 10634, + 5317: 10632, 10634, 10635, + 5318: 10636, 10637, 10638, + 5319: 10636, 10638, 10639, + 5320: 10640, 10641, 10642, + 5321: 10640, 10642, 10643, + 5322: 10644, 10645, 10646, + 5323: 10644, 10646, 10647, + 5324: 10648, 10649, 10650, + 5325: 10648, 10650, 10651, + 5326: 10652, 10653, 10654, + 5327: 10652, 10654, 10655, + 5328: 10656, 10657, 10658, + 5329: 10656, 10658, 10659, + 5330: 10660, 10661, 10662, + 5331: 10660, 10662, 10663, + 5332: 10664, 10665, 10666, + 5333: 10664, 10666, 10667, + 5334: 10668, 10669, 10670, + 5335: 10668, 10670, 10671, + 5336: 10672, 10673, 10674, + 5337: 10672, 10674, 10675, + 5338: 10676, 10677, 10678, + 5339: 10676, 10678, 10679, + 5340: 10680, 10681, 10682, + 5341: 10680, 10682, 10683, + 5342: 10684, 10685, 10686, + 5343: 10684, 10686, 10687, + 5344: 10688, 10689, 10690, + 5345: 10688, 10690, 10691, + 5346: 10692, 10693, 10694, + 5347: 10692, 10694, 10695, + 5348: 10696, 10697, 10698, + 5349: 10696, 10698, 10699, + 5350: 10700, 10701, 10702, + 5351: 10700, 10702, 10703, + 5352: 10704, 10705, 10706, + 5353: 10704, 10706, 10707, + 5354: 10708, 10709, 10710, + 5355: 10708, 10710, 10711, + 5356: 10712, 10713, 10714, + 5357: 10712, 10714, 10715, + 5358: 10716, 10717, 10718, + 5359: 10716, 10718, 10719, + 5360: 10720, 10721, 10722, + 5361: 10720, 10722, 10723, + 5362: 10724, 10725, 10726, + 5363: 10724, 10726, 10727, + 5364: 10728, 10729, 10730, + 5365: 10728, 10730, 10731, + 5366: 10732, 10733, 10734, + 5367: 10732, 10734, 10735, + 5368: 10736, 10737, 10738, + 5369: 10736, 10738, 10739, + 5370: 10740, 10741, 10742, + 5371: 10740, 10742, 10743, + 5372: 10744, 10745, 10746, + 5373: 10744, 10746, 10747, + 5374: 10748, 10749, 10750, + 5375: 10748, 10750, 10751, + 5376: 10752, 10753, 10754, + 5377: 10752, 10754, 10755, + 5378: 10756, 10757, 10758, + 5379: 10756, 10758, 10759, + 5380: 10760, 10761, 10762, + 5381: 10760, 10762, 10763, + 5382: 10764, 10765, 10766, + 5383: 10764, 10766, 10767, + 5384: 10768, 10769, 10770, + 5385: 10768, 10770, 10771, + 5386: 10772, 10773, 10774, + 5387: 10772, 10774, 10775, + 5388: 10776, 10777, 10778, + 5389: 10776, 10778, 10779, + 5390: 10780, 10781, 10782, + 5391: 10780, 10782, 10783, + 5392: 10784, 10785, 10786, + 5393: 10784, 10786, 10787, + 5394: 10788, 10789, 10790, + 5395: 10788, 10790, 10791, + 5396: 10792, 10793, 10794, + 5397: 10792, 10794, 10795, + 5398: 10796, 10797, 10798, + 5399: 10796, 10798, 10799, + 5400: 10800, 10801, 10802, + 5401: 10800, 10802, 10803, + 5402: 10804, 10805, 10806, + 5403: 10804, 10806, 10807, + 5404: 10808, 10809, 10810, + 5405: 10808, 10810, 10811, + 5406: 10812, 10813, 10814, + 5407: 10812, 10814, 10815, + 5408: 10816, 10817, 10818, + 5409: 10816, 10818, 10819, + 5410: 10820, 10821, 10822, + 5411: 10820, 10822, 10823, + 5412: 10824, 10825, 10826, + 5413: 10824, 10826, 10827, + 5414: 10828, 10829, 10830, + 5415: 10828, 10830, 10831, + 5416: 10832, 10833, 10834, + 5417: 10832, 10834, 10835, + 5418: 10836, 10837, 10838, + 5419: 10836, 10838, 10839, + 5420: 10840, 10841, 10842, + 5421: 10840, 10842, 10843, + 5422: 10844, 10845, 10846, + 5423: 10844, 10846, 10847, + 5424: 10848, 10849, 10850, + 5425: 10848, 10850, 10851, + 5426: 10852, 10853, 10854, + 5427: 10852, 10854, 10855, + 5428: 10856, 10857, 10858, + 5429: 10856, 10858, 10859, + 5430: 10860, 10861, 10862, + 5431: 10860, 10862, 10863, + 5432: 10864, 10865, 10866, + 5433: 10864, 10866, 10867, + 5434: 10868, 10869, 10870, + 5435: 10868, 10870, 10871, + 5436: 10872, 10873, 10874, + 5437: 10872, 10874, 10875, + 5438: 10876, 10877, 10878, + 5439: 10876, 10878, 10879, + 5440: 10880, 10881, 10882, + 5441: 10880, 10882, 10883, + 5442: 10884, 10885, 10886, + 5443: 10884, 10886, 10887, + 5444: 10888, 10889, 10890, + 5445: 10888, 10890, 10891, + 5446: 10892, 10893, 10894, + 5447: 10892, 10894, 10895, + 5448: 10896, 10897, 10898, + 5449: 10896, 10898, 10899, + 5450: 10900, 10901, 10902, + 5451: 10900, 10902, 10903, + 5452: 10904, 10905, 10906, + 5453: 10904, 10906, 10907, + 5454: 10908, 10909, 10910, + 5455: 10908, 10910, 10911, + 5456: 10912, 10913, 10914, + 5457: 10912, 10914, 10915, + 5458: 10916, 10917, 10918, + 5459: 10916, 10918, 10919, + 5460: 10920, 10921, 10922, + 5461: 10920, 10922, 10923, + 5462: 10924, 10925, 10926, + 5463: 10924, 10926, 10927, + 5464: 10928, 10929, 10930, + 5465: 10928, 10930, 10931, + 5466: 10932, 10933, 10934, + 5467: 10932, 10934, 10935, + 5468: 10936, 10937, 10938, + 5469: 10936, 10938, 10939, + 5470: 10940, 10941, 10942, + 5471: 10940, 10942, 10943, + 5472: 10944, 10945, 10946, + 5473: 10944, 10946, 10947, + 5474: 10948, 10949, 10950, + 5475: 10948, 10950, 10951, + 5476: 10952, 10953, 10954, + 5477: 10952, 10954, 10955, + 5478: 10956, 10957, 10958, + 5479: 10956, 10958, 10959, + 5480: 10960, 10961, 10962, + 5481: 10960, 10962, 10963, + 5482: 10964, 10965, 10966, + 5483: 10964, 10966, 10967, + 5484: 10968, 10969, 10970, + 5485: 10968, 10970, 10971, + 5486: 10972, 10973, 10974, + 5487: 10972, 10974, 10975, + 5488: 10976, 10977, 10978, + 5489: 10976, 10978, 10979, + 5490: 10980, 10981, 10982, + 5491: 10980, 10982, 10983, + 5492: 10984, 10985, 10986, + 5493: 10984, 10986, 10987, + 5494: 10988, 10989, 10990, + 5495: 10988, 10990, 10991, + 5496: 10992, 10993, 10994, + 5497: 10992, 10994, 10995, + 5498: 10996, 10997, 10998, + 5499: 10996, 10998, 10999, + 5500: 11000, 11001, 11002, + 5501: 11000, 11002, 11003, + 5502: 11004, 11005, 11006, + 5503: 11004, 11006, 11007, + 5504: 11008, 11009, 11010, + 5505: 11008, 11010, 11011, + 5506: 11012, 11013, 11014, + 5507: 11012, 11014, 11015, + 5508: 11016, 11017, 11018, + 5509: 11016, 11018, 11019, + 5510: 11020, 11021, 11022, + 5511: 11020, 11022, 11023, + 5512: 11024, 11025, 11026, + 5513: 11024, 11026, 11027, + 5514: 11028, 11029, 11030, + 5515: 11028, 11030, 11031, + 5516: 11032, 11033, 11034, + 5517: 11032, 11034, 11035, + 5518: 11036, 11037, 11038, + 5519: 11036, 11038, 11039, + 5520: 11040, 11041, 11042, + 5521: 11040, 11042, 11043, + 5522: 11044, 11045, 11046, + 5523: 11044, 11046, 11047, + 5524: 11048, 11049, 11050, + 5525: 11048, 11050, 11051, + 5526: 11052, 11053, 11054, + 5527: 11052, 11054, 11055, + 5528: 11056, 11057, 11058, + 5529: 11056, 11058, 11059, + 5530: 11060, 11061, 11062, + 5531: 11060, 11062, 11063, + 5532: 11064, 11065, 11066, + 5533: 11064, 11066, 11067, + 5534: 11068, 11069, 11070, + 5535: 11068, 11070, 11071, + 5536: 11072, 11073, 11074, + 5537: 11072, 11074, 11075, + 5538: 11076, 11077, 11078, + 5539: 11076, 11078, 11079, + 5540: 11080, 11081, 11082, + 5541: 11080, 11082, 11083, + 5542: 11084, 11085, 11086, + 5543: 11084, 11086, 11087, + 5544: 11088, 11089, 11090, + 5545: 11088, 11090, 11091, + 5546: 11092, 11093, 11094, + 5547: 11092, 11094, 11095, + 5548: 11096, 11097, 11098, + 5549: 11096, 11098, 11099, + 5550: 11100, 11101, 11102, + 5551: 11100, 11102, 11103, + 5552: 11104, 11105, 11106, + 5553: 11104, 11106, 11107, + 5554: 11108, 11109, 11110, + 5555: 11108, 11110, 11111, + 5556: 11112, 11113, 11114, + 5557: 11112, 11114, 11115, + 5558: 11116, 11117, 11118, + 5559: 11116, 11118, 11119, + 5560: 11120, 11121, 11122, + 5561: 11120, 11122, 11123, + 5562: 11124, 11125, 11126, + 5563: 11124, 11126, 11127, + 5564: 11128, 11129, 11130, + 5565: 11128, 11130, 11131, + 5566: 11132, 11133, 11134, + 5567: 11132, 11134, 11135, + 5568: 11136, 11137, 11138, + 5569: 11136, 11138, 11139, + 5570: 11140, 11141, 11142, + 5571: 11140, 11142, 11143, + 5572: 11144, 11145, 11146, + 5573: 11144, 11146, 11147, + 5574: 11148, 11149, 11150, + 5575: 11148, 11150, 11151, + 5576: 11152, 11153, 11154, + 5577: 11152, 11154, 11155, + 5578: 11156, 11157, 11158, + 5579: 11156, 11158, 11159, + 5580: 11160, 11161, 11162, + 5581: 11160, 11162, 11163, + 5582: 11164, 11165, 11166, + 5583: 11164, 11166, 11167, + 5584: 11168, 11169, 11170, + 5585: 11168, 11170, 11171, + 5586: 11172, 11173, 11174, + 5587: 11172, 11174, 11175, + 5588: 11176, 11177, 11178, + 5589: 11176, 11178, 11179, + 5590: 11180, 11181, 11182, + 5591: 11180, 11182, 11183, + 5592: 11184, 11185, 11186, + 5593: 11184, 11186, 11187, + 5594: 11188, 11189, 11190, + 5595: 11188, 11190, 11191, + 5596: 11192, 11193, 11194, + 5597: 11192, 11194, 11195, + 5598: 11196, 11197, 11198, + 5599: 11196, 11198, 11199, + 5600: 11200, 11201, 11202, + 5601: 11200, 11202, 11203, + 5602: 11204, 11205, 11206, + 5603: 11204, 11206, 11207, + 5604: 11208, 11209, 11210, + 5605: 11208, 11210, 11211, + 5606: 11212, 11213, 11214, + 5607: 11212, 11214, 11215, + 5608: 11216, 11217, 11218, + 5609: 11216, 11218, 11219, + 5610: 11220, 11221, 11222, + 5611: 11220, 11222, 11223, + 5612: 11224, 11225, 11226, + 5613: 11224, 11226, 11227, + 5614: 11228, 11229, 11230, + 5615: 11228, 11230, 11231, + 5616: 11232, 11233, 11234, + 5617: 11232, 11234, 11235, + 5618: 11236, 11237, 11238, + 5619: 11236, 11238, 11239, + 5620: 11240, 11241, 11242, + 5621: 11240, 11242, 11243, + 5622: 11244, 11245, 11246, + 5623: 11244, 11246, 11247, + 5624: 11248, 11249, 11250, + 5625: 11248, 11250, 11251, + 5626: 11252, 11253, 11254, + 5627: 11252, 11254, 11255, + 5628: 11256, 11257, 11258, + 5629: 11256, 11258, 11259, + 5630: 11260, 11261, 11262, + 5631: 11260, 11262, 11263, + 5632: 11264, 11265, 11266, + 5633: 11264, 11266, 11267, + 5634: 11268, 11269, 11270, + 5635: 11268, 11270, 11271, + 5636: 11272, 11273, 11274, + 5637: 11272, 11274, 11275, + 5638: 11276, 11277, 11278, + 5639: 11276, 11278, 11279, + 5640: 11280, 11281, 11282, + 5641: 11280, 11282, 11283, + 5642: 11284, 11285, 11286, + 5643: 11284, 11286, 11287, + 5644: 11288, 11289, 11290, + 5645: 11288, 11290, 11291, + 5646: 11292, 11293, 11294, + 5647: 11292, 11294, 11295, + 5648: 11296, 11297, 11298, + 5649: 11296, 11298, 11299, + 5650: 11300, 11301, 11302, + 5651: 11300, 11302, 11303, + 5652: 11304, 11305, 11306, + 5653: 11304, 11306, 11307, + 5654: 11308, 11309, 11310, + 5655: 11308, 11310, 11311, + 5656: 11312, 11313, 11314, + 5657: 11312, 11314, 11315, + 5658: 11316, 11317, 11318, + 5659: 11316, 11318, 11319, + 5660: 11320, 11321, 11322, + 5661: 11320, 11322, 11323, + 5662: 11324, 11325, 11326, + 5663: 11324, 11326, 11327, + 5664: 11328, 11329, 11330, + 5665: 11328, 11330, 11331, + 5666: 11332, 11333, 11334, + 5667: 11332, 11334, 11335, + 5668: 11336, 11337, 11338, + 5669: 11336, 11338, 11339, + 5670: 11340, 11341, 11342, + 5671: 11340, 11342, 11343, + 5672: 11344, 11345, 11346, + 5673: 11344, 11346, 11347, + 5674: 11348, 11349, 11350, + 5675: 11348, 11350, 11351, + 5676: 11352, 11353, 11354, + 5677: 11352, 11354, 11355, + 5678: 11356, 11357, 11358, + 5679: 11356, 11358, 11359, + 5680: 11360, 11361, 11362, + 5681: 11360, 11362, 11363, + 5682: 11364, 11365, 11366, + 5683: 11364, 11366, 11367, + 5684: 11368, 11369, 11370, + 5685: 11368, 11370, 11371, + 5686: 11372, 11373, 11374, + 5687: 11372, 11374, 11375, + 5688: 11376, 11377, 11378, + 5689: 11376, 11378, 11379, + 5690: 11380, 11381, 11382, + 5691: 11380, 11382, 11383, + 5692: 11384, 11385, 11386, + 5693: 11384, 11386, 11387, + 5694: 11388, 11389, 11390, + 5695: 11388, 11390, 11391, + 5696: 11392, 11393, 11394, + 5697: 11392, 11394, 11395, + 5698: 11396, 11397, 11398, + 5699: 11396, 11398, 11399, + 5700: 11400, 11401, 11402, + 5701: 11400, 11402, 11403, + 5702: 11404, 11405, 11406, + 5703: 11404, 11406, 11407, + 5704: 11408, 11409, 11410, + 5705: 11408, 11410, 11411, + 5706: 11412, 11413, 11414, + 5707: 11412, 11414, 11415, + 5708: 11416, 11417, 11418, + 5709: 11416, 11418, 11419, + 5710: 11420, 11421, 11422, + 5711: 11420, 11422, 11423, + 5712: 11424, 11425, 11426, + 5713: 11424, 11426, 11427, + 5714: 11428, 11429, 11430, + 5715: 11428, 11430, 11431, + 5716: 11432, 11433, 11434, + 5717: 11432, 11434, 11435, + 5718: 11436, 11437, 11438, + 5719: 11436, 11438, 11439, + 5720: 11440, 11441, 11442, + 5721: 11440, 11442, 11443, + 5722: 11444, 11445, 11446, + 5723: 11444, 11446, 11447, + 5724: 11448, 11449, 11450, + 5725: 11448, 11450, 11451, + 5726: 11452, 11453, 11454, + 5727: 11452, 11454, 11455, + 5728: 11456, 11457, 11458, + 5729: 11456, 11458, 11459, + 5730: 11460, 11461, 11462, + 5731: 11460, 11462, 11463, + 5732: 11464, 11465, 11466, + 5733: 11464, 11466, 11467, + 5734: 11468, 11469, 11470, + 5735: 11468, 11470, 11471, + 5736: 11472, 11473, 11474, + 5737: 11472, 11474, 11475, + 5738: 11476, 11477, 11478, + 5739: 11476, 11478, 11479, + 5740: 11480, 11481, 11482, + 5741: 11480, 11482, 11483, + 5742: 11484, 11485, 11486, + 5743: 11484, 11486, 11487, + 5744: 11488, 11489, 11490, + 5745: 11488, 11490, 11491, + 5746: 11492, 11493, 11494, + 5747: 11492, 11494, 11495, + 5748: 11496, 11497, 11498, + 5749: 11496, 11498, 11499, + 5750: 11500, 11501, 11502, + 5751: 11500, 11502, 11503, + 5752: 11504, 11505, 11506, + 5753: 11504, 11506, 11507, + 5754: 11508, 11509, 11510, + 5755: 11508, 11510, 11511, + 5756: 11512, 11513, 11514, + 5757: 11512, 11514, 11515, + 5758: 11516, 11517, 11518, + 5759: 11516, 11518, 11519, + 5760: 11520, 11521, 11522, + 5761: 11520, 11522, 11523, + 5762: 11524, 11525, 11526, + 5763: 11524, 11526, 11527, + 5764: 11528, 11529, 11530, + 5765: 11528, 11530, 11531, + 5766: 11532, 11533, 11534, + 5767: 11532, 11534, 11535, + 5768: 11536, 11537, 11538, + 5769: 11536, 11538, 11539, + 5770: 11540, 11541, 11542, + 5771: 11540, 11542, 11543, + 5772: 11544, 11545, 11546, + 5773: 11544, 11546, 11547, + 5774: 11548, 11549, 11550, + 5775: 11548, 11550, 11551, + 5776: 11552, 11553, 11554, + 5777: 11552, 11554, 11555, + 5778: 11556, 11557, 11558, + 5779: 11556, 11558, 11559, + 5780: 11560, 11561, 11562, + 5781: 11560, 11562, 11563, + 5782: 11564, 11565, 11566, + 5783: 11564, 11566, 11567, + 5784: 11568, 11569, 11570, + 5785: 11568, 11570, 11571, + 5786: 11572, 11573, 11574, + 5787: 11572, 11574, 11575, + 5788: 11576, 11577, 11578, + 5789: 11576, 11578, 11579, + 5790: 11580, 11581, 11582, + 5791: 11580, 11582, 11583, + 5792: 11584, 11585, 11586, + 5793: 11584, 11586, 11587, + 5794: 11588, 11589, 11590, + 5795: 11588, 11590, 11591, + 5796: 11592, 11593, 11594, + 5797: 11592, 11594, 11595, + 5798: 11596, 11597, 11598, + 5799: 11596, 11598, 11599, + 5800: 11600, 11601, 11602, + 5801: 11600, 11602, 11603, + 5802: 11604, 11605, 11606, + 5803: 11604, 11606, 11607, + 5804: 11608, 11609, 11610, + 5805: 11608, 11610, 11611, + 5806: 11612, 11613, 11614, + 5807: 11612, 11614, 11615, + 5808: 11616, 11617, 11618, + 5809: 11616, 11618, 11619, + 5810: 11620, 11621, 11622, + 5811: 11620, 11622, 11623, + 5812: 11624, 11625, 11626, + 5813: 11624, 11626, 11627, + 5814: 11628, 11629, 11630, + 5815: 11628, 11630, 11631, + 5816: 11632, 11633, 11634, + 5817: 11632, 11634, 11635, + 5818: 11636, 11637, 11638, + 5819: 11636, 11638, 11639, + 5820: 11640, 11641, 11642, + 5821: 11640, 11642, 11643, + 5822: 11644, 11645, 11646, + 5823: 11644, 11646, 11647, + 5824: 11648, 11649, 11650, + 5825: 11648, 11650, 11651, + 5826: 11652, 11653, 11654, + 5827: 11652, 11654, 11655, + 5828: 11656, 11657, 11658, + 5829: 11656, 11658, 11659, + 5830: 11660, 11661, 11662, + 5831: 11660, 11662, 11663, + 5832: 11664, 11665, 11666, + 5833: 11664, 11666, 11667, + 5834: 11668, 11669, 11670, + 5835: 11668, 11670, 11671, + 5836: 11672, 11673, 11674, + 5837: 11672, 11674, 11675, + 5838: 11676, 11677, 11678, + 5839: 11676, 11678, 11679, + 5840: 11680, 11681, 11682, + 5841: 11680, 11682, 11683, + 5842: 11684, 11685, 11686, + 5843: 11684, 11686, 11687, + 5844: 11688, 11689, 11690, + 5845: 11688, 11690, 11691, + 5846: 11692, 11693, 11694, + 5847: 11692, 11694, 11695, + 5848: 11696, 11697, 11698, + 5849: 11696, 11698, 11699, + 5850: 11700, 11701, 11702, + 5851: 11700, 11702, 11703, + 5852: 11704, 11705, 11706, + 5853: 11704, 11706, 11707, + 5854: 11708, 11709, 11710, + 5855: 11708, 11710, 11711, + 5856: 11712, 11713, 11714, + 5857: 11712, 11714, 11715, + 5858: 11716, 11717, 11718, + 5859: 11716, 11718, 11719, + 5860: 11720, 11721, 11722, + 5861: 11720, 11722, 11723, + 5862: 11724, 11725, 11726, + 5863: 11724, 11726, 11727, + 5864: 11728, 11729, 11730, + 5865: 11728, 11730, 11731, + 5866: 11732, 11733, 11734, + 5867: 11732, 11734, 11735, + 5868: 11736, 11737, 11738, + 5869: 11736, 11738, 11739, + 5870: 11740, 11741, 11742, + 5871: 11740, 11742, 11743, + 5872: 11744, 11745, 11746, + 5873: 11744, 11746, 11747, + 5874: 11748, 11749, 11750, + 5875: 11748, 11750, 11751, + 5876: 11752, 11753, 11754, + 5877: 11752, 11754, 11755, + 5878: 11756, 11757, 11758, + 5879: 11756, 11758, 11759, + 5880: 11760, 11761, 11762, + 5881: 11760, 11762, 11763, + 5882: 11764, 11765, 11766, + 5883: 11764, 11766, 11767, + 5884: 11768, 11769, 11770, + 5885: 11768, 11770, 11771, + 5886: 11772, 11773, 11774, + 5887: 11772, 11774, 11775, + 5888: 11776, 11777, 11778, + 5889: 11776, 11778, 11779, + 5890: 11780, 11781, 11782, + 5891: 11780, 11782, 11783, + 5892: 11784, 11785, 11786, + 5893: 11784, 11786, 11787, + 5894: 11788, 11789, 11790, + 5895: 11788, 11790, 11791, + 5896: 11792, 11793, 11794, + 5897: 11792, 11794, 11795, + 5898: 11796, 11797, 11798, + 5899: 11796, 11798, 11799, + 5900: 11800, 11801, 11802, + 5901: 11800, 11802, 11803, + 5902: 11804, 11805, 11806, + 5903: 11804, 11806, 11807, + 5904: 11808, 11809, 11810, + 5905: 11808, 11810, 11811, + 5906: 11812, 11813, 11814, + 5907: 11812, 11814, 11815, + 5908: 11816, 11817, 11818, + 5909: 11816, 11818, 11819, + 5910: 11820, 11821, 11822, + 5911: 11820, 11822, 11823, + 5912: 11824, 11825, 11826, + 5913: 11824, 11826, 11827, + 5914: 11828, 11829, 11830, + 5915: 11828, 11830, 11831, + 5916: 11832, 11833, 11834, + 5917: 11832, 11834, 11835, + 5918: 11836, 11837, 11838, + 5919: 11836, 11838, 11839, + 5920: 11840, 11841, 11842, + 5921: 11840, 11842, 11843, + 5922: 11844, 11845, 11846, + 5923: 11844, 11846, 11847, + 5924: 11848, 11849, 11850, + 5925: 11848, 11850, 11851, + 5926: 11852, 11853, 11854, + 5927: 11852, 11854, 11855, + 5928: 11856, 11857, 11858, + 5929: 11856, 11858, 11859, + 5930: 11860, 11861, 11862, + 5931: 11860, 11862, 11863, + 5932: 11864, 11865, 11866, + 5933: 11864, 11866, 11867, + 5934: 11868, 11869, 11870, + 5935: 11868, 11870, 11871, + 5936: 11872, 11873, 11874, + 5937: 11872, 11874, 11875, + 5938: 11876, 11877, 11878, + 5939: 11876, 11878, 11879, + 5940: 11880, 11881, 11882, + 5941: 11880, 11882, 11883, + 5942: 11884, 11885, 11886, + 5943: 11884, 11886, 11887, + 5944: 11888, 11889, 11890, + 5945: 11888, 11890, 11891, + 5946: 11892, 11893, 11894, + 5947: 11892, 11894, 11895, + 5948: 11896, 11897, 11898, + 5949: 11896, 11898, 11899, + 5950: 11900, 11901, 11902, + 5951: 11900, 11902, 11903, + 5952: 11904, 11905, 11906, + 5953: 11904, 11906, 11907, + 5954: 11908, 11909, 11910, + 5955: 11908, 11910, 11911, + 5956: 11912, 11913, 11914, + 5957: 11912, 11914, 11915, + 5958: 11916, 11917, 11918, + 5959: 11916, 11918, 11919, + 5960: 11920, 11921, 11922, + 5961: 11920, 11922, 11923, + 5962: 11924, 11925, 11926, + 5963: 11924, 11926, 11927, + 5964: 11928, 11929, 11930, + 5965: 11928, 11930, 11931, + 5966: 11932, 11933, 11934, + 5967: 11932, 11934, 11935, + 5968: 11936, 11937, 11938, + 5969: 11936, 11938, 11939, + 5970: 11940, 11941, 11942, + 5971: 11940, 11942, 11943, + 5972: 11944, 11945, 11946, + 5973: 11944, 11946, 11947, + 5974: 11948, 11949, 11950, + 5975: 11948, 11950, 11951, + 5976: 11952, 11953, 11954, + 5977: 11952, 11954, 11955, + 5978: 11956, 11957, 11958, + 5979: 11956, 11958, 11959, + 5980: 11960, 11961, 11962, + 5981: 11960, 11962, 11963, + 5982: 11964, 11965, 11966, + 5983: 11964, 11966, 11967, + 5984: 11968, 11969, 11970, + 5985: 11968, 11970, 11971, + 5986: 11972, 11973, 11974, + 5987: 11972, 11974, 11975, + 5988: 11976, 11977, 11978, + 5989: 11976, 11978, 11979, + 5990: 11980, 11981, 11982, + 5991: 11980, 11982, 11983, + 5992: 11984, 11985, 11986, + 5993: 11984, 11986, 11987, + 5994: 11988, 11989, 11990, + 5995: 11988, 11990, 11991, + 5996: 11992, 11993, 11994, + 5997: 11992, 11994, 11995, + 5998: 11996, 11997, 11998, + 5999: 11996, 11998, 11999, + 6000: 12000, 12001, 12002, + 6001: 12000, 12002, 12003, + 6002: 12004, 12005, 12006, + 6003: 12004, 12006, 12007, + 6004: 12008, 12009, 12010, + 6005: 12008, 12010, 12011, + 6006: 12012, 12013, 12014, + 6007: 12012, 12014, 12015, + 6008: 12016, 12017, 12018, + 6009: 12016, 12018, 12019, + 6010: 12020, 12021, 12022, + 6011: 12020, 12022, 12023, + 6012: 12024, 12025, 12026, + 6013: 12024, 12026, 12027, + 6014: 12028, 12029, 12030, + 6015: 12028, 12030, 12031, + 6016: 12032, 12033, 12034, + 6017: 12032, 12034, 12035, + 6018: 12036, 12037, 12038, + 6019: 12036, 12038, 12039, + 6020: 12040, 12041, 12042, + 6021: 12040, 12042, 12043, + 6022: 12044, 12045, 12046, + 6023: 12044, 12046, 12047, + 6024: 12048, 12049, 12050, + 6025: 12048, 12050, 12051, + 6026: 12052, 12053, 12054, + 6027: 12052, 12054, 12055, + 6028: 12056, 12057, 12058, + 6029: 12056, 12058, 12059, + 6030: 12060, 12061, 12062, + 6031: 12060, 12062, 12063, + 6032: 12064, 12065, 12066, + 6033: 12064, 12066, 12067, + 6034: 12068, 12069, 12070, + 6035: 12068, 12070, 12071, + 6036: 12072, 12073, 12074, + 6037: 12072, 12074, 12075, + 6038: 12076, 12077, 12078, + 6039: 12076, 12078, 12079, + 6040: 12080, 12081, 12082, + 6041: 12080, 12082, 12083, + 6042: 12084, 12085, 12086, + 6043: 12084, 12086, 12087, + 6044: 12088, 12089, 12090, + 6045: 12088, 12090, 12091, + 6046: 12092, 12093, 12094, + 6047: 12092, 12094, 12095, + 6048: 12096, 12097, 12098, + 6049: 12096, 12098, 12099, + 6050: 12100, 12101, 12102, + 6051: 12100, 12102, 12103, + 6052: 12104, 12105, 12106, + 6053: 12104, 12106, 12107, + 6054: 12108, 12109, 12110, + 6055: 12108, 12110, 12111, + 6056: 12112, 12113, 12114, + 6057: 12112, 12114, 12115, + 6058: 12116, 12117, 12118, + 6059: 12116, 12118, 12119, + 6060: 12120, 12121, 12122, + 6061: 12120, 12122, 12123, + 6062: 12124, 12125, 12126, + 6063: 12124, 12126, 12127, + 6064: 12128, 12129, 12130, + 6065: 12128, 12130, 12131, + 6066: 12132, 12133, 12134, + 6067: 12132, 12134, 12135, + 6068: 12136, 12137, 12138, + 6069: 12136, 12138, 12139, + 6070: 12140, 12141, 12142, + 6071: 12140, 12142, 12143, + 6072: 12144, 12145, 12146, + 6073: 12144, 12146, 12147, + 6074: 12148, 12149, 12150, + 6075: 12148, 12150, 12151, + 6076: 12152, 12153, 12154, + 6077: 12152, 12154, 12155, + 6078: 12156, 12157, 12158, + 6079: 12156, 12158, 12159, + 6080: 12160, 12161, 12162, + 6081: 12160, 12162, 12163, + 6082: 12164, 12165, 12166, + 6083: 12164, 12166, 12167, + 6084: 12168, 12169, 12170, + 6085: 12168, 12170, 12171, + 6086: 12172, 12173, 12174, + 6087: 12172, 12174, 12175, + 6088: 12176, 12177, 12178, + 6089: 12176, 12178, 12179, + 6090: 12180, 12181, 12182, + 6091: 12180, 12182, 12183, + 6092: 12184, 12185, 12186, + 6093: 12184, 12186, 12187, + 6094: 12188, 12189, 12190, + 6095: 12188, 12190, 12191, + 6096: 12192, 12193, 12194, + 6097: 12192, 12194, 12195, + 6098: 12196, 12197, 12198, + 6099: 12196, 12198, 12199, + 6100: 12200, 12201, 12202, + 6101: 12200, 12202, 12203, + 6102: 12204, 12205, 12206, + 6103: 12204, 12206, 12207, + 6104: 12208, 12209, 12210, + 6105: 12208, 12210, 12211, + 6106: 12212, 12213, 12214, + 6107: 12212, 12214, 12215, + 6108: 12216, 12217, 12218, + 6109: 12216, 12218, 12219, + 6110: 12220, 12221, 12222, + 6111: 12220, 12222, 12223, + 6112: 12224, 12225, 12226, + 6113: 12224, 12226, 12227, + 6114: 12228, 12229, 12230, + 6115: 12228, 12230, 12231, + 6116: 12232, 12233, 12234, + 6117: 12232, 12234, 12235, + 6118: 12236, 12237, 12238, + 6119: 12236, 12238, 12239, + 6120: 12240, 12241, 12242, + 6121: 12240, 12242, 12243, + 6122: 12244, 12245, 12246, + 6123: 12244, 12246, 12247, + 6124: 12248, 12249, 12250, + 6125: 12248, 12250, 12251, + 6126: 12252, 12253, 12254, + 6127: 12252, 12254, 12255, + 6128: 12256, 12257, 12258, + 6129: 12256, 12258, 12259, + 6130: 12260, 12261, 12262, + 6131: 12260, 12262, 12263, + 6132: 12264, 12265, 12266, + 6133: 12264, 12266, 12267, + 6134: 12268, 12269, 12270, + 6135: 12268, 12270, 12271, + 6136: 12272, 12273, 12274, + 6137: 12272, 12274, 12275, + 6138: 12276, 12277, 12278, + 6139: 12276, 12278, 12279, + 6140: 12280, 12281, 12282, + 6141: 12280, 12282, 12283, + 6142: 12284, 12285, 12286, + 6143: 12284, 12286, 12287, + 6144: 12288, 12289, 12290, + 6145: 12288, 12290, 12291, + 6146: 12292, 12293, 12294, + 6147: 12292, 12294, 12295, + 6148: 12296, 12297, 12298, + 6149: 12296, 12298, 12299, + 6150: 12300, 12301, 12302, + 6151: 12300, 12302, 12303, + 6152: 12304, 12305, 12306, + 6153: 12304, 12306, 12307, + 6154: 12308, 12309, 12310, + 6155: 12308, 12310, 12311, + 6156: 12312, 12313, 12314, + 6157: 12312, 12314, 12315, + 6158: 12316, 12317, 12318, + 6159: 12316, 12318, 12319, + 6160: 12320, 12321, 12322, + 6161: 12320, 12322, 12323, + 6162: 12324, 12325, 12326, + 6163: 12324, 12326, 12327, + 6164: 12328, 12329, 12330, + 6165: 12328, 12330, 12331, + 6166: 12332, 12333, 12334, + 6167: 12332, 12334, 12335, + 6168: 12336, 12337, 12338, + 6169: 12336, 12338, 12339, + 6170: 12340, 12341, 12342, + 6171: 12340, 12342, 12343, + 6172: 12344, 12345, 12346, + 6173: 12344, 12346, 12347, + 6174: 12348, 12349, 12350, + 6175: 12348, 12350, 12351, + 6176: 12352, 12353, 12354, + 6177: 12352, 12354, 12355, + 6178: 12356, 12357, 12358, + 6179: 12356, 12358, 12359, + 6180: 12360, 12361, 12362, + 6181: 12360, 12362, 12363, + 6182: 12364, 12365, 12366, + 6183: 12364, 12366, 12367, + 6184: 12368, 12369, 12370, + 6185: 12368, 12370, 12371, + 6186: 12372, 12373, 12374, + 6187: 12372, 12374, 12375, + 6188: 12376, 12377, 12378, + 6189: 12376, 12378, 12379, + 6190: 12380, 12381, 12382, + 6191: 12380, 12382, 12383, + 6192: 12384, 12385, 12386, + 6193: 12384, 12386, 12387, + 6194: 12388, 12389, 12390, + 6195: 12388, 12390, 12391, + 6196: 12392, 12393, 12394, + 6197: 12392, 12394, 12395, + 6198: 12396, 12397, 12398, + 6199: 12396, 12398, 12399, + 6200: 12400, 12401, 12402, + 6201: 12400, 12402, 12403, + 6202: 12404, 12405, 12406, + 6203: 12404, 12406, 12407, + 6204: 12408, 12409, 12410, + 6205: 12408, 12410, 12411, + 6206: 12412, 12413, 12414, + 6207: 12412, 12414, 12415, + 6208: 12416, 12417, 12418, + 6209: 12416, 12418, 12419, + 6210: 12420, 12421, 12422, + 6211: 12420, 12422, 12423, + 6212: 12424, 12425, 12426, + 6213: 12424, 12426, 12427, + 6214: 12428, 12429, 12430, + 6215: 12428, 12430, 12431, + 6216: 12432, 12433, 12434, + 6217: 12432, 12434, 12435, + 6218: 12436, 12437, 12438, + 6219: 12436, 12438, 12439, + 6220: 12440, 12441, 12442, + 6221: 12440, 12442, 12443, + 6222: 12444, 12445, 12446, + 6223: 12444, 12446, 12447, + 6224: 12448, 12449, 12450, + 6225: 12448, 12450, 12451, + 6226: 12452, 12453, 12454, + 6227: 12452, 12454, 12455, + 6228: 12456, 12457, 12458, + 6229: 12456, 12458, 12459, + 6230: 12460, 12461, 12462, + 6231: 12460, 12462, 12463, + 6232: 12464, 12465, 12466, + 6233: 12464, 12466, 12467, + 6234: 12468, 12469, 12470, + 6235: 12468, 12470, 12471, + 6236: 12472, 12473, 12474, + 6237: 12472, 12474, 12475, + 6238: 12476, 12477, 12478, + 6239: 12476, 12478, 12479, + 6240: 12480, 12481, 12482, + 6241: 12480, 12482, 12483, + 6242: 12484, 12485, 12486, + 6243: 12484, 12486, 12487, + 6244: 12488, 12489, 12490, + 6245: 12488, 12490, 12491, + 6246: 12492, 12493, 12494, + 6247: 12492, 12494, 12495, + 6248: 12496, 12497, 12498, + 6249: 12496, 12498, 12499, + 6250: 12500, 12501, 12502, + 6251: 12500, 12502, 12503, + 6252: 12504, 12505, 12506, + 6253: 12504, 12506, 12507, + 6254: 12508, 12509, 12510, + 6255: 12508, 12510, 12511, + 6256: 12512, 12513, 12514, + 6257: 12512, 12514, 12515, + 6258: 12516, 12517, 12518, + 6259: 12516, 12518, 12519, + 6260: 12520, 12521, 12522, + 6261: 12520, 12522, 12523, + 6262: 12524, 12525, 12526, + 6263: 12524, 12526, 12527, + 6264: 12528, 12529, 12530, + 6265: 12528, 12530, 12531, + 6266: 12532, 12533, 12534, + 6267: 12532, 12534, 12535, + 6268: 12536, 12537, 12538, + 6269: 12536, 12538, 12539, + 6270: 12540, 12541, 12542, + 6271: 12540, 12542, 12543, + 6272: 12544, 12545, 12546, + 6273: 12544, 12546, 12547, + 6274: 12548, 12549, 12550, + 6275: 12548, 12550, 12551, + 6276: 12552, 12553, 12554, + 6277: 12552, 12554, 12555, + 6278: 12556, 12557, 12558, + 6279: 12556, 12558, 12559, + 6280: 12560, 12561, 12562, + 6281: 12560, 12562, 12563, + 6282: 12564, 12565, 12566, + 6283: 12564, 12566, 12567, + 6284: 12568, 12569, 12570, + 6285: 12568, 12570, 12571, + 6286: 12572, 12573, 12574, + 6287: 12572, 12574, 12575, + 6288: 12576, 12577, 12578, + 6289: 12576, 12578, 12579, + 6290: 12580, 12581, 12582, + 6291: 12580, 12582, 12583, + 6292: 12584, 12585, 12586, + 6293: 12584, 12586, 12587, + 6294: 12588, 12589, 12590, + 6295: 12588, 12590, 12591, + 6296: 12592, 12593, 12594, + 6297: 12592, 12594, 12595, + 6298: 12596, 12597, 12598, + 6299: 12596, 12598, 12599, + 6300: 12600, 12601, 12602, + 6301: 12600, 12602, 12603, + 6302: 12604, 12605, 12606, + 6303: 12604, 12606, 12607, + 6304: 12608, 12609, 12610, + 6305: 12608, 12610, 12611, + 6306: 12612, 12613, 12614, + 6307: 12612, 12614, 12615, + 6308: 12616, 12617, 12618, + 6309: 12616, 12618, 12619, + 6310: 12620, 12621, 12622, + 6311: 12620, 12622, 12623, + 6312: 12624, 12625, 12626, + 6313: 12624, 12626, 12627, + 6314: 12628, 12629, 12630, + 6315: 12628, 12630, 12631, + 6316: 12632, 12633, 12634, + 6317: 12632, 12634, 12635, + 6318: 12636, 12637, 12638, + 6319: 12636, 12638, 12639, + 6320: 12640, 12641, 12642, + 6321: 12640, 12642, 12643, + 6322: 12644, 12645, 12646, + 6323: 12644, 12646, 12647, + 6324: 12648, 12649, 12650, + 6325: 12648, 12650, 12651, + 6326: 12652, 12653, 12654, + 6327: 12652, 12654, 12655, + 6328: 12656, 12657, 12658, + 6329: 12656, 12658, 12659, + 6330: 12660, 12661, 12662, + 6331: 12660, 12662, 12663, + 6332: 12664, 12665, 12666, + 6333: 12664, 12666, 12667, + 6334: 12668, 12669, 12670, + 6335: 12668, 12670, 12671, + 6336: 12672, 12673, 12674, + 6337: 12672, 12674, 12675, + 6338: 12676, 12677, 12678, + 6339: 12676, 12678, 12679, + 6340: 12680, 12681, 12682, + 6341: 12680, 12682, 12683, + 6342: 12684, 12685, 12686, + 6343: 12684, 12686, 12687, + 6344: 12688, 12689, 12690, + 6345: 12688, 12690, 12691, + 6346: 12692, 12693, 12694, + 6347: 12692, 12694, 12695, + 6348: 12696, 12697, 12698, + 6349: 12696, 12698, 12699, + 6350: 12700, 12701, 12702, + 6351: 12700, 12702, 12703, + 6352: 12704, 12705, 12706, + 6353: 12704, 12706, 12707, + 6354: 12708, 12709, 12710, + 6355: 12708, 12710, 12711, + 6356: 12712, 12713, 12714, + 6357: 12712, 12714, 12715, + 6358: 12716, 12717, 12718, + 6359: 12716, 12718, 12719, + 6360: 12720, 12721, 12722, + 6361: 12720, 12722, 12723, + 6362: 12724, 12725, 12726, + 6363: 12724, 12726, 12727, + 6364: 12728, 12729, 12730, + 6365: 12728, 12730, 12731, + 6366: 12732, 12733, 12734, + 6367: 12732, 12734, 12735, + 6368: 12736, 12737, 12738, + 6369: 12736, 12738, 12739, + 6370: 12740, 12741, 12742, + 6371: 12740, 12742, 12743, + 6372: 12744, 12745, 12746, + 6373: 12744, 12746, 12747, + 6374: 12748, 12749, 12750, + 6375: 12748, 12750, 12751, + 6376: 12752, 12753, 12754, + 6377: 12752, 12754, 12755, + 6378: 12756, 12757, 12758, + 6379: 12756, 12758, 12759, + 6380: 12760, 12761, 12762, + 6381: 12760, 12762, 12763, + 6382: 12764, 12765, 12766, + 6383: 12764, 12766, 12767, + 6384: 12768, 12769, 12770, + 6385: 12768, 12770, 12771, + 6386: 12772, 12773, 12774, + 6387: 12772, 12774, 12775, + 6388: 12776, 12777, 12778, + 6389: 12776, 12778, 12779, + 6390: 12780, 12781, 12782, + 6391: 12780, 12782, 12783, + 6392: 12784, 12785, 12786, + 6393: 12784, 12786, 12787, + 6394: 12788, 12789, 12790, + 6395: 12788, 12790, 12791, + 6396: 12792, 12793, 12794, + 6397: 12792, 12794, 12795, + 6398: 12796, 12797, 12798, + 6399: 12796, 12798, 12799, + 6400: 12800, 12801, 12802, + 6401: 12800, 12802, 12803, + 6402: 12804, 12805, 12806, + 6403: 12804, 12806, 12807, + 6404: 12808, 12809, 12810, + 6405: 12808, 12810, 12811, + 6406: 12812, 12813, 12814, + 6407: 12812, 12814, 12815, + 6408: 12816, 12817, 12818, + 6409: 12816, 12818, 12819, + 6410: 12820, 12821, 12822, + 6411: 12820, 12822, 12823, + 6412: 12824, 12825, 12826, + 6413: 12824, 12826, 12827, + 6414: 12828, 12829, 12830, + 6415: 12828, 12830, 12831, + 6416: 12832, 12833, 12834, + 6417: 12832, 12834, 12835, + 6418: 12836, 12837, 12838, + 6419: 12836, 12838, 12839, + 6420: 12840, 12841, 12842, + 6421: 12840, 12842, 12843, + 6422: 12844, 12845, 12846, + 6423: 12844, 12846, 12847, + 6424: 12848, 12849, 12850, + 6425: 12848, 12850, 12851, + 6426: 12852, 12853, 12854, + 6427: 12852, 12854, 12855, + 6428: 12856, 12857, 12858, + 6429: 12856, 12858, 12859, + 6430: 12860, 12861, 12862, + 6431: 12860, 12862, 12863, + 6432: 12864, 12865, 12866, + 6433: 12864, 12866, 12867, + 6434: 12868, 12869, 12870, + 6435: 12868, 12870, 12871, + 6436: 12872, 12873, 12874, + 6437: 12872, 12874, 12875, + 6438: 12876, 12877, 12878, + 6439: 12876, 12878, 12879, + 6440: 12880, 12881, 12882, + 6441: 12880, 12882, 12883, + 6442: 12884, 12885, 12886, + 6443: 12884, 12886, 12887, + 6444: 12888, 12889, 12890, + 6445: 12888, 12890, 12891, + 6446: 12892, 12893, 12894, + 6447: 12892, 12894, 12895, + 6448: 12896, 12897, 12898, + 6449: 12896, 12898, 12899, + 6450: 12900, 12901, 12902, + 6451: 12900, 12902, 12903, + 6452: 12904, 12905, 12906, + 6453: 12904, 12906, 12907, + 6454: 12908, 12909, 12910, + 6455: 12908, 12910, 12911, + 6456: 12912, 12913, 12914, + 6457: 12912, 12914, 12915, + 6458: 12916, 12917, 12918, + 6459: 12916, 12918, 12919, + 6460: 12920, 12921, 12922, + 6461: 12920, 12922, 12923, + 6462: 12924, 12925, 12926, + 6463: 12924, 12926, 12927, + 6464: 12928, 12929, 12930, + 6465: 12928, 12930, 12931, + 6466: 12932, 12933, 12934, + 6467: 12932, 12934, 12935, + 6468: 12936, 12937, 12938, + 6469: 12936, 12938, 12939, + 6470: 12940, 12941, 12942, + 6471: 12940, 12942, 12943, + 6472: 12944, 12945, 12946, + 6473: 12944, 12946, 12947, + 6474: 12948, 12949, 12950, + 6475: 12948, 12950, 12951, + 6476: 12952, 12953, 12954, + 6477: 12952, 12954, 12955, + 6478: 12956, 12957, 12958, + 6479: 12956, 12958, 12959, + 6480: 12960, 12961, 12962, + 6481: 12960, 12962, 12963, + 6482: 12964, 12965, 12966, + 6483: 12964, 12966, 12967, + 6484: 12968, 12969, 12970, + 6485: 12968, 12970, 12971, + 6486: 12972, 12973, 12974, + 6487: 12972, 12974, 12975, + 6488: 12976, 12977, 12978, + 6489: 12976, 12978, 12979, + 6490: 12980, 12981, 12982, + 6491: 12980, 12982, 12983, + 6492: 12984, 12985, 12986, + 6493: 12984, 12986, 12987, + 6494: 12988, 12989, 12990, + 6495: 12988, 12990, 12991, + 6496: 12992, 12993, 12994, + 6497: 12992, 12994, 12995, + 6498: 12996, 12997, 12998, + 6499: 12996, 12998, 12999, + 6500: 13000, 13001, 13002, + 6501: 13000, 13002, 13003, + 6502: 13004, 13005, 13006, + 6503: 13004, 13006, 13007, + 6504: 13008, 13009, 13010, + 6505: 13008, 13010, 13011, + 6506: 13012, 13013, 13014, + 6507: 13012, 13014, 13015, + 6508: 13016, 13017, 13018, + 6509: 13016, 13018, 13019, + 6510: 13020, 13021, 13022, + 6511: 13020, 13022, 13023, + 6512: 13024, 13025, 13026, + 6513: 13024, 13026, 13027, + 6514: 13028, 13029, 13030, + 6515: 13028, 13030, 13031, + 6516: 13032, 13033, 13034, + 6517: 13032, 13034, 13035, + 6518: 13036, 13037, 13038, + 6519: 13036, 13038, 13039, + 6520: 13040, 13041, 13042, + 6521: 13040, 13042, 13043, + 6522: 13044, 13045, 13046, + 6523: 13044, 13046, 13047, + 6524: 13048, 13049, 13050, + 6525: 13048, 13050, 13051, + 6526: 13052, 13053, 13054, + 6527: 13052, 13054, 13055, + 6528: 13056, 13057, 13058, + 6529: 13056, 13058, 13059, + 6530: 13060, 13061, 13062, + 6531: 13060, 13062, 13063, + 6532: 13064, 13065, 13066, + 6533: 13064, 13066, 13067, + 6534: 13068, 13069, 13070, + 6535: 13068, 13070, 13071, + 6536: 13072, 13073, 13074, + 6537: 13072, 13074, 13075, + 6538: 13076, 13077, 13078, + 6539: 13076, 13078, 13079, + 6540: 13080, 13081, 13082, + 6541: 13080, 13082, 13083, + 6542: 13084, 13085, 13086, + 6543: 13084, 13086, 13087, + 6544: 13088, 13089, 13090, + 6545: 13088, 13090, 13091, + 6546: 13092, 13093, 13094, + 6547: 13092, 13094, 13095, + 6548: 13096, 13097, 13098, + 6549: 13096, 13098, 13099, + 6550: 13100, 13101, 13102, + 6551: 13100, 13102, 13103, + 6552: 13104, 13105, 13106, + 6553: 13104, 13106, 13107, + 6554: 13108, 13109, 13110, + 6555: 13108, 13110, 13111, + 6556: 13112, 13113, 13114, + 6557: 13112, 13114, 13115, + 6558: 13116, 13117, 13118, + 6559: 13116, 13118, 13119, + 6560: 13120, 13121, 13122, + 6561: 13120, 13122, 13123, + 6562: 13124, 13125, 13126, + 6563: 13124, 13126, 13127, + 6564: 13128, 13129, 13130, + 6565: 13128, 13130, 13131, + 6566: 13132, 13133, 13134, + 6567: 13132, 13134, 13135, + 6568: 13136, 13137, 13138, + 6569: 13136, 13138, 13139, + 6570: 13140, 13141, 13142, + 6571: 13140, 13142, 13143, + 6572: 13144, 13145, 13146, + 6573: 13144, 13146, 13147, + 6574: 13148, 13149, 13150, + 6575: 13148, 13150, 13151, + 6576: 13152, 13153, 13154, + 6577: 13152, 13154, 13155, + 6578: 13156, 13157, 13158, + 6579: 13156, 13158, 13159, + 6580: 13160, 13161, 13162, + 6581: 13160, 13162, 13163, + 6582: 13164, 13165, 13166, + 6583: 13164, 13166, 13167, + 6584: 13168, 13169, 13170, + 6585: 13168, 13170, 13171, + 6586: 13172, 13173, 13174, + 6587: 13172, 13174, 13175, + 6588: 13176, 13177, 13178, + 6589: 13176, 13178, 13179, + 6590: 13180, 13181, 13182, + 6591: 13180, 13182, 13183, + 6592: 13184, 13185, 13186, + 6593: 13184, 13186, 13187, + 6594: 13188, 13189, 13190, + 6595: 13188, 13190, 13191, + 6596: 13192, 13193, 13194, + 6597: 13192, 13194, 13195, + 6598: 13196, 13197, 13198, + 6599: 13196, 13198, 13199, + 6600: 13200, 13201, 13202, + 6601: 13200, 13202, 13203, + 6602: 13204, 13205, 13206, + 6603: 13204, 13206, 13207, + 6604: 13208, 13209, 13210, + 6605: 13208, 13210, 13211, + 6606: 13212, 13213, 13214, + 6607: 13212, 13214, 13215, + 6608: 13216, 13217, 13218, + 6609: 13216, 13218, 13219, + 6610: 13220, 13221, 13222, + 6611: 13220, 13222, 13223, + 6612: 13224, 13225, 13226, + 6613: 13224, 13226, 13227, + 6614: 13228, 13229, 13230, + 6615: 13228, 13230, 13231, + 6616: 13232, 13233, 13234, + 6617: 13232, 13234, 13235, + 6618: 13236, 13237, 13238, + 6619: 13236, 13238, 13239, + 6620: 13240, 13241, 13242, + 6621: 13240, 13242, 13243, + 6622: 13244, 13245, 13246, + 6623: 13244, 13246, 13247, + 6624: 13248, 13249, 13250, + 6625: 13248, 13250, 13251, + 6626: 13252, 13253, 13254, + 6627: 13252, 13254, 13255, + 6628: 13256, 13257, 13258, + 6629: 13256, 13258, 13259, + 6630: 13260, 13261, 13262, + 6631: 13260, 13262, 13263, + 6632: 13264, 13265, 13266, + 6633: 13264, 13266, 13267, + 6634: 13268, 13269, 13270, + 6635: 13268, 13270, 13271, + 6636: 13272, 13273, 13274, + 6637: 13272, 13274, 13275, + 6638: 13276, 13277, 13278, + 6639: 13276, 13278, 13279, + 6640: 13280, 13281, 13282, + 6641: 13280, 13282, 13283, + 6642: 13284, 13285, 13286, + 6643: 13284, 13286, 13287, + 6644: 13288, 13289, 13290, + 6645: 13288, 13290, 13291, + 6646: 13292, 13293, 13294, + 6647: 13292, 13294, 13295, + 6648: 13296, 13297, 13298, + 6649: 13296, 13298, 13299, + 6650: 13300, 13301, 13302, + 6651: 13300, 13302, 13303, + 6652: 13304, 13305, 13306, + 6653: 13304, 13306, 13307, + 6654: 13308, 13309, 13310, + 6655: 13308, 13310, 13311, + 6656: 13312, 13313, 13314, + 6657: 13312, 13314, 13315, + 6658: 13316, 13317, 13318, + 6659: 13316, 13318, 13319, + 6660: 13320, 13321, 13322, + 6661: 13320, 13322, 13323, + 6662: 13324, 13325, 13326, + 6663: 13324, 13326, 13327, + 6664: 13328, 13329, 13330, + 6665: 13328, 13330, 13331, + 6666: 13332, 13333, 13334, + 6667: 13332, 13334, 13335, + 6668: 13336, 13337, 13338, + 6669: 13336, 13338, 13339, + 6670: 13340, 13341, 13342, + 6671: 13340, 13342, 13343, + 6672: 13344, 13345, 13346, + 6673: 13344, 13346, 13347, + 6674: 13348, 13349, 13350, + 6675: 13348, 13350, 13351, + 6676: 13352, 13353, 13354, + 6677: 13352, 13354, 13355, + 6678: 13356, 13357, 13358, + 6679: 13356, 13358, 13359, + 6680: 13360, 13361, 13362, + 6681: 13360, 13362, 13363, + 6682: 13364, 13365, 13366, + 6683: 13364, 13366, 13367, + 6684: 13368, 13369, 13370, + 6685: 13368, 13370, 13371, + 6686: 13372, 13373, 13374, + 6687: 13372, 13374, 13375, + 6688: 13376, 13377, 13378, + 6689: 13376, 13378, 13379, + 6690: 13380, 13381, 13382, + 6691: 13380, 13382, 13383, + 6692: 13384, 13385, 13386, + 6693: 13384, 13386, 13387, + 6694: 13388, 13389, 13390, + 6695: 13388, 13390, 13391, + 6696: 13392, 13393, 13394, + 6697: 13392, 13394, 13395, + 6698: 13396, 13397, 13398, + 6699: 13396, 13398, 13399, + 6700: 13400, 13401, 13402, + 6701: 13400, 13402, 13403, + 6702: 13404, 13405, 13406, + 6703: 13404, 13406, 13407, + 6704: 13408, 13409, 13410, + 6705: 13408, 13410, 13411, + 6706: 13412, 13413, 13414, + 6707: 13412, 13414, 13415, + 6708: 13416, 13417, 13418, + 6709: 13416, 13418, 13419, + 6710: 13420, 13421, 13422, + 6711: 13420, 13422, 13423, + 6712: 13424, 13425, 13426, + 6713: 13424, 13426, 13427, + 6714: 13428, 13429, 13430, + 6715: 13428, 13430, 13431, + 6716: 13432, 13433, 13434, + 6717: 13432, 13434, 13435, + 6718: 13436, 13437, 13438, + 6719: 13436, 13438, 13439, + 6720: 13440, 13441, 13442, + 6721: 13440, 13442, 13443, + 6722: 13444, 13445, 13446, + 6723: 13444, 13446, 13447, + 6724: 13448, 13449, 13450, + 6725: 13448, 13450, 13451, + 6726: 13452, 13453, 13454, + 6727: 13452, 13454, 13455, + 6728: 13456, 13457, 13458, + 6729: 13456, 13458, 13459, + 6730: 13460, 13461, 13462, + 6731: 13460, 13462, 13463, + 6732: 13464, 13465, 13466, + 6733: 13464, 13466, 13467, + 6734: 13468, 13469, 13470, + 6735: 13468, 13470, 13471, + 6736: 13472, 13473, 13474, + 6737: 13472, 13474, 13475, + 6738: 13476, 13477, 13478, + 6739: 13476, 13478, 13479, + 6740: 13480, 13481, 13482, + 6741: 13480, 13482, 13483, + 6742: 13484, 13485, 13486, + 6743: 13484, 13486, 13487, + 6744: 13488, 13489, 13490, + 6745: 13488, 13490, 13491, + 6746: 13492, 13493, 13494, + 6747: 13492, 13494, 13495, + 6748: 13496, 13497, 13498, + 6749: 13496, 13498, 13499, + 6750: 13500, 13501, 13502, + 6751: 13500, 13502, 13503, + 6752: 13504, 13505, 13506, + 6753: 13504, 13506, 13507, + 6754: 13508, 13509, 13510, + 6755: 13508, 13510, 13511, + 6756: 13512, 13513, 13514, + 6757: 13512, 13514, 13515, + 6758: 13516, 13517, 13518, + 6759: 13516, 13518, 13519, + 6760: 13520, 13521, 13522, + 6761: 13520, 13522, 13523, + 6762: 13524, 13525, 13526, + 6763: 13524, 13526, 13527, + 6764: 13528, 13529, 13530, + 6765: 13528, 13530, 13531, + 6766: 13532, 13533, 13534, + 6767: 13532, 13534, 13535, + 6768: 13536, 13537, 13538, + 6769: 13536, 13538, 13539, + 6770: 13540, 13541, 13542, + 6771: 13540, 13542, 13543, + 6772: 13544, 13545, 13546, + 6773: 13544, 13546, 13547, + 6774: 13548, 13549, 13550, + 6775: 13548, 13550, 13551, + 6776: 13552, 13553, 13554, + 6777: 13552, 13554, 13555, + 6778: 13556, 13557, 13558, + 6779: 13556, 13558, 13559, + 6780: 13560, 13561, 13562, + 6781: 13560, 13562, 13563, + 6782: 13564, 13565, 13566, + 6783: 13564, 13566, 13567, + 6784: 13568, 13569, 13570, + 6785: 13568, 13570, 13571, + 6786: 13572, 13573, 13574, + 6787: 13572, 13574, 13575, + 6788: 13576, 13577, 13578, + 6789: 13576, 13578, 13579, + 6790: 13580, 13581, 13582, + 6791: 13580, 13582, 13583, + 6792: 13584, 13585, 13586, + 6793: 13584, 13586, 13587, + 6794: 13588, 13589, 13590, + 6795: 13588, 13590, 13591, + 6796: 13592, 13593, 13594, + 6797: 13592, 13594, 13595, + 6798: 13596, 13597, 13598, + 6799: 13596, 13598, 13599, + 6800: 13600, 13601, 13602, + 6801: 13600, 13602, 13603, + 6802: 13604, 13605, 13606, + 6803: 13604, 13606, 13607, + 6804: 13608, 13609, 13610, + 6805: 13608, 13610, 13611, + 6806: 13612, 13613, 13614, + 6807: 13612, 13614, 13615, + 6808: 13616, 13617, 13618, + 6809: 13616, 13618, 13619, + 6810: 13620, 13621, 13622, + 6811: 13620, 13622, 13623, + 6812: 13624, 13625, 13626, + 6813: 13624, 13626, 13627, + 6814: 13628, 13629, 13630, + 6815: 13628, 13630, 13631, + 6816: 13632, 13633, 13634, + 6817: 13632, 13634, 13635, + 6818: 13636, 13637, 13638, + 6819: 13636, 13638, 13639, + 6820: 13640, 13641, 13642, + 6821: 13640, 13642, 13643, + 6822: 13644, 13645, 13646, + 6823: 13644, 13646, 13647, + 6824: 13648, 13649, 13650, + 6825: 13648, 13650, 13651, + 6826: 13652, 13653, 13654, + 6827: 13652, 13654, 13655, + 6828: 13656, 13657, 13658, + 6829: 13656, 13658, 13659, + 6830: 13660, 13661, 13662, + 6831: 13660, 13662, 13663, + 6832: 13664, 13665, 13666, + 6833: 13664, 13666, 13667, + 6834: 13668, 13669, 13670, + 6835: 13668, 13670, 13671, + 6836: 13672, 13673, 13674, + 6837: 13672, 13674, 13675, + 6838: 13676, 13677, 13678, + 6839: 13676, 13678, 13679, + 6840: 13680, 13681, 13682, + 6841: 13680, 13682, 13683, + 6842: 13684, 13685, 13686, + 6843: 13684, 13686, 13687, + 6844: 13688, 13689, 13690, + 6845: 13688, 13690, 13691, + 6846: 13692, 13693, 13694, + 6847: 13692, 13694, 13695, + 6848: 13696, 13697, 13698, + 6849: 13696, 13698, 13699, + 6850: 13700, 13701, 13702, + 6851: 13700, 13702, 13703, + 6852: 13704, 13705, 13706, + 6853: 13704, 13706, 13707, + 6854: 13708, 13709, 13710, + 6855: 13708, 13710, 13711, + 6856: 13712, 13713, 13714, + 6857: 13712, 13714, 13715, + 6858: 13716, 13717, 13718, + 6859: 13716, 13718, 13719, + 6860: 13720, 13721, 13722, + 6861: 13720, 13722, 13723, + 6862: 13724, 13725, 13726, + 6863: 13724, 13726, 13727, + 6864: 13728, 13729, 13730, + 6865: 13728, 13730, 13731, + 6866: 13732, 13733, 13734, + 6867: 13732, 13734, 13735, + 6868: 13736, 13737, 13738, + 6869: 13736, 13738, 13739, + 6870: 13740, 13741, 13742, + 6871: 13740, 13742, 13743, + 6872: 13744, 13745, 13746, + 6873: 13744, 13746, 13747, + 6874: 13748, 13749, 13750, + 6875: 13748, 13750, 13751, + 6876: 13752, 13753, 13754, + 6877: 13752, 13754, 13755, + 6878: 13756, 13757, 13758, + 6879: 13756, 13758, 13759, + 6880: 13760, 13761, 13762, + 6881: 13760, 13762, 13763, + 6882: 13764, 13765, 13766, + 6883: 13764, 13766, 13767, + 6884: 13768, 13769, 13770, + 6885: 13768, 13770, 13771, + 6886: 13772, 13773, 13774, + 6887: 13772, 13774, 13775, + 6888: 13776, 13777, 13778, + 6889: 13776, 13778, 13779, + 6890: 13780, 13781, 13782, + 6891: 13780, 13782, 13783, + 6892: 13784, 13785, 13786, + 6893: 13784, 13786, 13787, + 6894: 13788, 13789, 13790, + 6895: 13788, 13790, 13791, + 6896: 13792, 13793, 13794, + 6897: 13792, 13794, 13795, + 6898: 13796, 13797, 13798, + 6899: 13796, 13798, 13799, + 6900: 13800, 13801, 13802, + 6901: 13800, 13802, 13803, + 6902: 13804, 13805, 13806, + 6903: 13804, 13806, 13807, + 6904: 13808, 13809, 13810, + 6905: 13808, 13810, 13811, + 6906: 13812, 13813, 13814, + 6907: 13812, 13814, 13815, + 6908: 13816, 13817, 13818, + 6909: 13816, 13818, 13819, + 6910: 13820, 13821, 13822, + 6911: 13820, 13822, 13823, + 6912: 13824, 13825, 13826, + 6913: 13824, 13826, 13827, + 6914: 13828, 13829, 13830, + 6915: 13828, 13830, 13831, + 6916: 13832, 13833, 13834, + 6917: 13832, 13834, 13835, + 6918: 13836, 13837, 13838, + 6919: 13836, 13838, 13839, + 6920: 13840, 13841, 13842, + 6921: 13840, 13842, 13843, + 6922: 13844, 13845, 13846, + 6923: 13844, 13846, 13847, + 6924: 13848, 13849, 13850, + 6925: 13848, 13850, 13851, + 6926: 13852, 13853, 13854, + 6927: 13852, 13854, 13855, + 6928: 13856, 13857, 13858, + 6929: 13856, 13858, 13859, + 6930: 13860, 13861, 13862, + 6931: 13860, 13862, 13863, + 6932: 13864, 13865, 13866, + 6933: 13864, 13866, 13867, + 6934: 13868, 13869, 13870, + 6935: 13868, 13870, 13871, + 6936: 13872, 13873, 13874, + 6937: 13872, 13874, 13875, + 6938: 13876, 13877, 13878, + 6939: 13876, 13878, 13879, + 6940: 13880, 13881, 13882, + 6941: 13880, 13882, 13883, + 6942: 13884, 13885, 13886, + 6943: 13884, 13886, 13887, + 6944: 13888, 13889, 13890, + 6945: 13888, 13890, 13891, + 6946: 13892, 13893, 13894, + 6947: 13892, 13894, 13895, + 6948: 13896, 13897, 13898, + 6949: 13896, 13898, 13899, + 6950: 13900, 13901, 13902, + 6951: 13900, 13902, 13903, + 6952: 13904, 13905, 13906, + 6953: 13904, 13906, 13907, + 6954: 13908, 13909, 13910, + 6955: 13908, 13910, 13911, + 6956: 13912, 13913, 13914, + 6957: 13912, 13914, 13915, + 6958: 13916, 13917, 13918, + 6959: 13916, 13918, 13919, + 6960: 13920, 13921, 13922, + 6961: 13920, 13922, 13923, + 6962: 13924, 13925, 13926, + 6963: 13924, 13926, 13927, + 6964: 13928, 13929, 13930, + 6965: 13928, 13930, 13931, + 6966: 13932, 13933, 13934, + 6967: 13932, 13934, 13935, + 6968: 13936, 13937, 13938, + 6969: 13936, 13938, 13939, + 6970: 13940, 13941, 13942, + 6971: 13940, 13942, 13943, + 6972: 13944, 13945, 13946, + 6973: 13944, 13946, 13947, + 6974: 13948, 13949, 13950, + 6975: 13948, 13950, 13951, + 6976: 13952, 13953, 13954, + 6977: 13952, 13954, 13955, + 6978: 13956, 13957, 13958, + 6979: 13956, 13958, 13959, + 6980: 13960, 13961, 13962, + 6981: 13960, 13962, 13963, + 6982: 13964, 13965, 13966, + 6983: 13964, 13966, 13967, + 6984: 13968, 13969, 13970, + 6985: 13968, 13970, 13971, + 6986: 13972, 13973, 13974, + 6987: 13972, 13974, 13975, + 6988: 13976, 13977, 13978, + 6989: 13976, 13978, 13979, + 6990: 13980, 13981, 13982, + 6991: 13980, 13982, 13983, + 6992: 13984, 13985, 13986, + 6993: 13984, 13986, 13987, + 6994: 13988, 13989, 13990, + 6995: 13988, 13990, 13991, + 6996: 13992, 13993, 13994, + 6997: 13992, 13994, 13995, + 6998: 13996, 13997, 13998, + 6999: 13996, 13998, 13999, + 7000: 14000, 14001, 14002, + 7001: 14000, 14002, 14003, + 7002: 14004, 14005, 14006, + 7003: 14004, 14006, 14007, + 7004: 14008, 14009, 14010, + 7005: 14008, 14010, 14011, + 7006: 14012, 14013, 14014, + 7007: 14012, 14014, 14015, + 7008: 14016, 14017, 14018, + 7009: 14016, 14018, 14019, + 7010: 14020, 14021, 14022, + 7011: 14020, 14022, 14023, + 7012: 14024, 14025, 14026, + 7013: 14024, 14026, 14027, + 7014: 14028, 14029, 14030, + 7015: 14028, 14030, 14031, + 7016: 14032, 14033, 14034, + 7017: 14032, 14034, 14035, + 7018: 14036, 14037, 14038, + 7019: 14036, 14038, 14039, + 7020: 14040, 14041, 14042, + 7021: 14040, 14042, 14043, + 7022: 14044, 14045, 14046, + 7023: 14044, 14046, 14047, + 7024: 14048, 14049, 14050, + 7025: 14048, 14050, 14051, + 7026: 14052, 14053, 14054, + 7027: 14052, 14054, 14055, + 7028: 14056, 14057, 14058, + 7029: 14056, 14058, 14059, + 7030: 14060, 14061, 14062, + 7031: 14060, 14062, 14063, + 7032: 14064, 14065, 14066, + 7033: 14064, 14066, 14067, + 7034: 14068, 14069, 14070, + 7035: 14068, 14070, 14071, + 7036: 14072, 14073, 14074, + 7037: 14072, 14074, 14075, + 7038: 14076, 14077, 14078, + 7039: 14076, 14078, 14079, + 7040: 14080, 14081, 14082, + 7041: 14080, 14082, 14083, + 7042: 14084, 14085, 14086, + 7043: 14084, 14086, 14087, + 7044: 14088, 14089, 14090, + 7045: 14088, 14090, 14091, + 7046: 14092, 14093, 14094, + 7047: 14092, 14094, 14095, + 7048: 14096, 14097, 14098, + 7049: 14096, 14098, 14099, + 7050: 14100, 14101, 14102, + 7051: 14100, 14102, 14103, + 7052: 14104, 14105, 14106, + 7053: 14104, 14106, 14107, + 7054: 14108, 14109, 14110, + 7055: 14108, 14110, 14111, + 7056: 14112, 14113, 14114, + 7057: 14112, 14114, 14115, + 7058: 14116, 14117, 14118, + 7059: 14116, 14118, 14119, + 7060: 14120, 14121, 14122, + 7061: 14120, 14122, 14123, + 7062: 14124, 14125, 14126, + 7063: 14124, 14126, 14127, + 7064: 14128, 14129, 14130, + 7065: 14128, 14130, 14131, + 7066: 14132, 14133, 14134, + 7067: 14132, 14134, 14135, + 7068: 14136, 14137, 14138, + 7069: 14136, 14138, 14139, + 7070: 14140, 14141, 14142, + 7071: 14140, 14142, 14143, + 7072: 14144, 14145, 14146, + 7073: 14144, 14146, 14147, + 7074: 14148, 14149, 14150, + 7075: 14148, 14150, 14151, + 7076: 14152, 14153, 14154, + 7077: 14152, 14154, 14155, + 7078: 14156, 14157, 14158, + 7079: 14156, 14158, 14159, + 7080: 14160, 14161, 14162, + 7081: 14160, 14162, 14163, + 7082: 14164, 14165, 14166, + 7083: 14164, 14166, 14167, + 7084: 14168, 14169, 14170, + 7085: 14168, 14170, 14171, + 7086: 14172, 14173, 14174, + 7087: 14172, 14174, 14175, + 7088: 14176, 14177, 14178, + 7089: 14176, 14178, 14179, + 7090: 14180, 14181, 14182, + 7091: 14180, 14182, 14183, + 7092: 14184, 14185, 14186, + 7093: 14184, 14186, 14187, + 7094: 14188, 14189, 14190, + 7095: 14188, 14190, 14191, + 7096: 14192, 14193, 14194, + 7097: 14192, 14194, 14195, + 7098: 14196, 14197, 14198, + 7099: 14196, 14198, 14199, + 7100: 14200, 14201, 14202, + 7101: 14200, 14202, 14203, + 7102: 14204, 14205, 14206, + 7103: 14204, 14206, 14207, + 7104: 14208, 14209, 14210, + 7105: 14208, 14210, 14211, + 7106: 14212, 14213, 14214, + 7107: 14212, 14214, 14215, + 7108: 14216, 14217, 14218, + 7109: 14216, 14218, 14219, + 7110: 14220, 14221, 14222, + 7111: 14220, 14222, 14223, + 7112: 14224, 14225, 14226, + 7113: 14224, 14226, 14227, + 7114: 14228, 14229, 14230, + 7115: 14228, 14230, 14231, + 7116: 14232, 14233, 14234, + 7117: 14232, 14234, 14235, + 7118: 14236, 14237, 14238, + 7119: 14236, 14238, 14239, + 7120: 14240, 14241, 14242, + 7121: 14240, 14242, 14243, + 7122: 14244, 14245, 14246, + 7123: 14244, 14246, 14247, + 7124: 14248, 14249, 14250, + 7125: 14248, 14250, 14251, + 7126: 14252, 14253, 14254, + 7127: 14252, 14254, 14255, + 7128: 14256, 14257, 14258, + 7129: 14256, 14258, 14259, + 7130: 14260, 14261, 14262, + 7131: 14260, 14262, 14263, + 7132: 14264, 14265, 14266, + 7133: 14264, 14266, 14267, + 7134: 14268, 14269, 14270, + 7135: 14268, 14270, 14271, + 7136: 14272, 14273, 14274, + 7137: 14272, 14274, 14275, + 7138: 14276, 14277, 14278, + 7139: 14276, 14278, 14279, + 7140: 14280, 14281, 14282, + 7141: 14280, 14282, 14283, + 7142: 14284, 14285, 14286, + 7143: 14284, 14286, 14287, + 7144: 14288, 14289, 14290, + 7145: 14288, 14290, 14291, + 7146: 14292, 14293, 14294, + 7147: 14292, 14294, 14295, + 7148: 14296, 14297, 14298, + 7149: 14296, 14298, 14299, + 7150: 14300, 14301, 14302, + 7151: 14300, 14302, 14303, + 7152: 14304, 14305, 14306, + 7153: 14304, 14306, 14307, + 7154: 14308, 14309, 14310, + 7155: 14308, 14310, 14311, + 7156: 14312, 14313, 14314, + 7157: 14312, 14314, 14315, + 7158: 14316, 14317, 14318, + 7159: 14316, 14318, 14319, + 7160: 14320, 14321, 14322, + 7161: 14320, 14322, 14323, + 7162: 14324, 14325, 14326, + 7163: 14324, 14326, 14327, + 7164: 14328, 14329, 14330, + 7165: 14328, 14330, 14331, + 7166: 14332, 14333, 14334, + 7167: 14332, 14334, 14335, + 7168: 14336, 14337, 14338, + 7169: 14336, 14338, 14339, + 7170: 14340, 14341, 14342, + 7171: 14340, 14342, 14343, + 7172: 14344, 14345, 14346, + 7173: 14344, 14346, 14347, + 7174: 14348, 14349, 14350, + 7175: 14348, 14350, 14351, + 7176: 14352, 14353, 14354, + 7177: 14352, 14354, 14355, + 7178: 14356, 14357, 14358, + 7179: 14356, 14358, 14359, + 7180: 14360, 14361, 14362, + 7181: 14360, 14362, 14363, + 7182: 14364, 14365, 14366, + 7183: 14364, 14366, 14367, + 7184: 14368, 14369, 14370, + 7185: 14368, 14370, 14371, + 7186: 14372, 14373, 14374, + 7187: 14372, 14374, 14375, + 7188: 14376, 14377, 14378, + 7189: 14376, 14378, 14379, + 7190: 14380, 14381, 14382, + 7191: 14380, 14382, 14383, + 7192: 14384, 14385, 14386, + 7193: 14384, 14386, 14387, + 7194: 14388, 14389, 14390, + 7195: 14388, 14390, 14391, + 7196: 14392, 14393, 14394, + 7197: 14392, 14394, 14395, + 7198: 14396, 14397, 14398, + 7199: 14396, 14398, 14399, + 7200: 14400, 14401, 14402, + 7201: 14400, 14402, 14403, + 7202: 14404, 14405, 14406, + 7203: 14404, 14406, 14407, + 7204: 14408, 14409, 14410, + 7205: 14408, 14410, 14411, + 7206: 14412, 14413, 14414, + 7207: 14412, 14414, 14415, + 7208: 14416, 14417, 14418, + 7209: 14416, 14418, 14419, + 7210: 14420, 14421, 14422, + 7211: 14420, 14422, 14423, + 7212: 14424, 14425, 14426, + 7213: 14424, 14426, 14427, + 7214: 14428, 14429, 14430, + 7215: 14428, 14430, 14431, + 7216: 14432, 14433, 14434, + 7217: 14432, 14434, 14435, + 7218: 14436, 14437, 14438, + 7219: 14436, 14438, 14439, + 7220: 14440, 14441, 14442, + 7221: 14440, 14442, 14443, + 7222: 14444, 14445, 14446, + 7223: 14444, 14446, 14447, + 7224: 14448, 14449, 14450, + 7225: 14448, 14450, 14451, + 7226: 14452, 14453, 14454, + 7227: 14452, 14454, 14455, + 7228: 14456, 14457, 14458, + 7229: 14456, 14458, 14459, + 7230: 14460, 14461, 14462, + 7231: 14460, 14462, 14463, + 7232: 14464, 14465, 14466, + 7233: 14464, 14466, 14467, + 7234: 14468, 14469, 14470, + 7235: 14468, 14470, 14471, + 7236: 14472, 14473, 14474, + 7237: 14472, 14474, 14475, + 7238: 14476, 14477, 14478, + 7239: 14476, 14478, 14479, + 7240: 14480, 14481, 14482, + 7241: 14480, 14482, 14483, + 7242: 14484, 14485, 14486, + 7243: 14484, 14486, 14487, + 7244: 14488, 14489, 14490, + 7245: 14488, 14490, 14491, + 7246: 14492, 14493, 14494, + 7247: 14492, 14494, 14495, + 7248: 14496, 14497, 14498, + 7249: 14496, 14498, 14499, + 7250: 14500, 14501, 14502, + 7251: 14500, 14502, 14503, + 7252: 14504, 14505, 14506, + 7253: 14504, 14506, 14507, + 7254: 14508, 14509, 14510, + 7255: 14508, 14510, 14511, + 7256: 14512, 14513, 14514, + 7257: 14512, 14514, 14515, + 7258: 14516, 14517, 14518, + 7259: 14516, 14518, 14519, + 7260: 14520, 14521, 14522, + 7261: 14520, 14522, 14523, + 7262: 14524, 14525, 14526, + 7263: 14524, 14526, 14527, + 7264: 14528, 14529, 14530, + 7265: 14528, 14530, 14531, + 7266: 14532, 14533, 14534, + 7267: 14532, 14534, 14535, + 7268: 14536, 14537, 14538, + 7269: 14536, 14538, 14539, + 7270: 14540, 14541, 14542, + 7271: 14540, 14542, 14543, + 7272: 14544, 14545, 14546, + 7273: 14544, 14546, 14547, + 7274: 14548, 14549, 14550, + 7275: 14548, 14550, 14551, + 7276: 14552, 14553, 14554, + 7277: 14552, 14554, 14555, + 7278: 14556, 14557, 14558, + 7279: 14556, 14558, 14559, + 7280: 14560, 14561, 14562, + 7281: 14560, 14562, 14563, + 7282: 14564, 14565, 14566, + 7283: 14564, 14566, 14567, + 7284: 14568, 14569, 14570, + 7285: 14568, 14570, 14571, + 7286: 14572, 14573, 14574, + 7287: 14572, 14574, 14575, + 7288: 14576, 14577, 14578, + 7289: 14576, 14578, 14579, + 7290: 14580, 14581, 14582, + 7291: 14580, 14582, 14583, + 7292: 14584, 14585, 14586, + 7293: 14584, 14586, 14587, + 7294: 14588, 14589, 14590, + 7295: 14588, 14590, 14591, + 7296: 14592, 14593, 14594, + 7297: 14592, 14594, 14595, + 7298: 14596, 14597, 14598, + 7299: 14596, 14598, 14599, + 7300: 14600, 14601, 14602, + 7301: 14600, 14602, 14603, + 7302: 14604, 14605, 14606, + 7303: 14604, 14606, 14607, + 7304: 14608, 14609, 14610, + 7305: 14608, 14610, 14611, + 7306: 14612, 14613, 14614, + 7307: 14612, 14614, 14615, + 7308: 14616, 14617, 14618, + 7309: 14616, 14618, 14619, + 7310: 14620, 14621, 14622, + 7311: 14620, 14622, 14623, + 7312: 14624, 14625, 14626, + 7313: 14624, 14626, 14627, + 7314: 14628, 14629, 14630, + 7315: 14628, 14630, 14631, + 7316: 14632, 14633, 14634, + 7317: 14632, 14634, 14635, + 7318: 14636, 14637, 14638, + 7319: 14636, 14638, 14639, + 7320: 14640, 14641, 14642, + 7321: 14640, 14642, 14643, + 7322: 14644, 14645, 14646, + 7323: 14644, 14646, 14647, + 7324: 14648, 14649, 14650, + 7325: 14648, 14650, 14651, + 7326: 14652, 14653, 14654, + 7327: 14652, 14654, 14655, + 7328: 14656, 14657, 14658, + 7329: 14656, 14658, 14659, + 7330: 14660, 14661, 14662, + 7331: 14660, 14662, 14663, + 7332: 14664, 14665, 14666, + 7333: 14664, 14666, 14667, + 7334: 14668, 14669, 14670, + 7335: 14668, 14670, 14671, + 7336: 14672, 14673, 14674, + 7337: 14672, 14674, 14675, + 7338: 14676, 14677, 14678, + 7339: 14676, 14678, 14679, + 7340: 14680, 14681, 14682, + 7341: 14680, 14682, 14683, + 7342: 14684, 14685, 14686, + 7343: 14684, 14686, 14687, + 7344: 14688, 14689, 14690, + 7345: 14688, 14690, 14691, + 7346: 14692, 14693, 14694, + 7347: 14692, 14694, 14695, + 7348: 14696, 14697, 14698, + 7349: 14696, 14698, 14699, + 7350: 14700, 14701, 14702, + 7351: 14700, 14702, 14703, + 7352: 14704, 14705, 14706, + 7353: 14704, 14706, 14707, + 7354: 14708, 14709, 14710, + 7355: 14708, 14710, 14711, + 7356: 14712, 14713, 14714, + 7357: 14712, 14714, 14715, + 7358: 14716, 14717, 14718, + 7359: 14716, 14718, 14719, + 7360: 14720, 14721, 14722, + 7361: 14720, 14722, 14723, + 7362: 14724, 14725, 14726, + 7363: 14724, 14726, 14727, + 7364: 14728, 14729, 14730, + 7365: 14728, 14730, 14731, + 7366: 14732, 14733, 14734, + 7367: 14732, 14734, 14735, + 7368: 14736, 14737, 14738, + 7369: 14736, 14738, 14739, + 7370: 14740, 14741, 14742, + 7371: 14740, 14742, 14743, + 7372: 14744, 14745, 14746, + 7373: 14744, 14746, 14747, + 7374: 14748, 14749, 14750, + 7375: 14748, 14750, 14751, + 7376: 14752, 14753, 14754, + 7377: 14752, 14754, 14755, + 7378: 14756, 14757, 14758, + 7379: 14756, 14758, 14759, + 7380: 14760, 14761, 14762, + 7381: 14760, 14762, 14763, + 7382: 14764, 14765, 14766, + 7383: 14764, 14766, 14767, + 7384: 14768, 14769, 14770, + 7385: 14768, 14770, 14771, + 7386: 14772, 14773, 14774, + 7387: 14772, 14774, 14775, + 7388: 14776, 14777, 14778, + 7389: 14776, 14778, 14779, + 7390: 14780, 14781, 14782, + 7391: 14780, 14782, 14783, + 7392: 14784, 14785, 14786, + 7393: 14784, 14786, 14787, + 7394: 14788, 14789, 14790, + 7395: 14788, 14790, 14791, + 7396: 14792, 14793, 14794, + 7397: 14792, 14794, 14795, + 7398: 14796, 14797, 14798, + 7399: 14796, 14798, 14799, + 7400: 14800, 14801, 14802, + 7401: 14800, 14802, 14803, + 7402: 14804, 14805, 14806, + 7403: 14804, 14806, 14807, + 7404: 14808, 14809, 14810, + 7405: 14808, 14810, 14811, + 7406: 14812, 14813, 14814, + 7407: 14812, 14814, 14815, + 7408: 14816, 14817, 14818, + 7409: 14816, 14818, 14819, + 7410: 14820, 14821, 14822, + 7411: 14820, 14822, 14823, + 7412: 14824, 14825, 14826, + 7413: 14824, 14826, 14827, + 7414: 14828, 14829, 14830, + 7415: 14828, 14830, 14831, + 7416: 14832, 14833, 14834, + 7417: 14832, 14834, 14835, + 7418: 14836, 14837, 14838, + 7419: 14836, 14838, 14839, + 7420: 14840, 14841, 14842, + 7421: 14840, 14842, 14843, + 7422: 14844, 14845, 14846, + 7423: 14844, 14846, 14847, + 7424: 14848, 14849, 14850, + 7425: 14848, 14850, 14851, + 7426: 14852, 14853, 14854, + 7427: 14852, 14854, 14855, + 7428: 14856, 14857, 14858, + 7429: 14856, 14858, 14859, + 7430: 14860, 14861, 14862, + 7431: 14860, 14862, 14863, + 7432: 14864, 14865, 14866, + 7433: 14864, 14866, 14867, + 7434: 14868, 14869, 14870, + 7435: 14868, 14870, 14871, + 7436: 14872, 14873, 14874, + 7437: 14872, 14874, 14875, + 7438: 14876, 14877, 14878, + 7439: 14876, 14878, 14879, + 7440: 14880, 14881, 14882, + 7441: 14880, 14882, 14883, + 7442: 14884, 14885, 14886, + 7443: 14884, 14886, 14887, + 7444: 14888, 14889, 14890, + 7445: 14888, 14890, 14891, + 7446: 14892, 14893, 14894, + 7447: 14892, 14894, 14895, + 7448: 14896, 14897, 14898, + 7449: 14896, 14898, 14899, + 7450: 14900, 14901, 14902, + 7451: 14900, 14902, 14903, + 7452: 14904, 14905, 14906, + 7453: 14904, 14906, 14907, + 7454: 14908, 14909, 14910, + 7455: 14908, 14910, 14911, + 7456: 14912, 14913, 14914, + 7457: 14912, 14914, 14915, + 7458: 14916, 14917, 14918, + 7459: 14916, 14918, 14919, + 7460: 14920, 14921, 14922, + 7461: 14920, 14922, 14923, + 7462: 14924, 14925, 14926, + 7463: 14924, 14926, 14927, + 7464: 14928, 14929, 14930, + 7465: 14928, 14930, 14931, + 7466: 14932, 14933, 14934, + 7467: 14932, 14934, 14935, + 7468: 14936, 14937, 14938, + 7469: 14936, 14938, 14939, + 7470: 14940, 14941, 14942, + 7471: 14940, 14942, 14943, + 7472: 14944, 14945, 14946, + 7473: 14944, 14946, 14947, + 7474: 14948, 14949, 14950, + 7475: 14948, 14950, 14951, + 7476: 14952, 14953, 14954, + 7477: 14952, 14954, 14955, + 7478: 14956, 14957, 14958, + 7479: 14956, 14958, 14959, + 7480: 14960, 14961, 14962, + 7481: 14960, 14962, 14963, + 7482: 14964, 14965, 14966, + 7483: 14964, 14966, 14967, + 7484: 14968, 14969, 14970, + 7485: 14968, 14970, 14971, + 7486: 14972, 14973, 14974, + 7487: 14972, 14974, 14975, + 7488: 14976, 14977, 14978, + 7489: 14976, 14978, 14979, + 7490: 14980, 14981, 14982, + 7491: 14980, 14982, 14983, + 7492: 14984, 14985, 14986, + 7493: 14984, 14986, 14987, + 7494: 14988, 14989, 14990, + 7495: 14988, 14990, 14991, + 7496: 14992, 14993, 14994, + 7497: 14992, 14994, 14995, + 7498: 14996, 14997, 14998, + 7499: 14996, 14998, 14999, + 7500: 15000, 15001, 15002, + 7501: 15000, 15002, 15003, + 7502: 15004, 15005, 15006, + 7503: 15004, 15006, 15007, + 7504: 15008, 15009, 15010, + 7505: 15008, 15010, 15011, + 7506: 15012, 15013, 15014, + 7507: 15012, 15014, 15015, + 7508: 15016, 15017, 15018, + 7509: 15016, 15018, 15019, + 7510: 15020, 15021, 15022, + 7511: 15020, 15022, 15023, + 7512: 15024, 15025, 15026, + 7513: 15024, 15026, 15027, + 7514: 15028, 15029, 15030, + 7515: 15028, 15030, 15031, + 7516: 15032, 15033, 15034, + 7517: 15032, 15034, 15035, + 7518: 15036, 15037, 15038, + 7519: 15036, 15038, 15039, + 7520: 15040, 15041, 15042, + 7521: 15040, 15042, 15043, + 7522: 15044, 15045, 15046, + 7523: 15044, 15046, 15047, + 7524: 15048, 15049, 15050, + 7525: 15048, 15050, 15051, + 7526: 15052, 15053, 15054, + 7527: 15052, 15054, 15055, + 7528: 15056, 15057, 15058, + 7529: 15056, 15058, 15059, + 7530: 15060, 15061, 15062, + 7531: 15060, 15062, 15063, + 7532: 15064, 15065, 15066, + 7533: 15064, 15066, 15067, + 7534: 15068, 15069, 15070, + 7535: 15068, 15070, 15071, + 7536: 15072, 15073, 15074, + 7537: 15072, 15074, 15075, + 7538: 15076, 15077, 15078, + 7539: 15076, 15078, 15079, + 7540: 15080, 15081, 15082, + 7541: 15080, 15082, 15083, + 7542: 15084, 15085, 15086, + 7543: 15084, 15086, 15087, + 7544: 15088, 15089, 15090, + 7545: 15088, 15090, 15091, + 7546: 15092, 15093, 15094, + 7547: 15092, 15094, 15095, + 7548: 15096, 15097, 15098, + 7549: 15096, 15098, 15099, + 7550: 15100, 15101, 15102, + 7551: 15100, 15102, 15103, + 7552: 15104, 15105, 15106, + 7553: 15104, 15106, 15107, + 7554: 15108, 15109, 15110, + 7555: 15108, 15110, 15111, + 7556: 15112, 15113, 15114, + 7557: 15112, 15114, 15115, + 7558: 15116, 15117, 15118, + 7559: 15116, 15118, 15119, + 7560: 15120, 15121, 15122, + 7561: 15120, 15122, 15123, + 7562: 15124, 15125, 15126, + 7563: 15124, 15126, 15127, + 7564: 15128, 15129, 15130, + 7565: 15128, 15130, 15131, + 7566: 15132, 15133, 15134, + 7567: 15132, 15134, 15135, + 7568: 15136, 15137, 15138, + 7569: 15136, 15138, 15139, + 7570: 15140, 15141, 15142, + 7571: 15140, 15142, 15143, + 7572: 15144, 15145, 15146, + 7573: 15144, 15146, 15147, + 7574: 15148, 15149, 15150, + 7575: 15148, 15150, 15151, + 7576: 15152, 15153, 15154, + 7577: 15152, 15154, 15155, + 7578: 15156, 15157, 15158, + 7579: 15156, 15158, 15159, + 7580: 15160, 15161, 15162, + 7581: 15160, 15162, 15163, + 7582: 15164, 15165, 15166, + 7583: 15164, 15166, 15167, + 7584: 15168, 15169, 15170, + 7585: 15168, 15170, 15171, + 7586: 15172, 15173, 15174, + 7587: 15172, 15174, 15175, + 7588: 15176, 15177, 15178, + 7589: 15176, 15178, 15179, + 7590: 15180, 15181, 15182, + 7591: 15180, 15182, 15183, + 7592: 15184, 15185, 15186, + 7593: 15184, 15186, 15187, + 7594: 15188, 15189, 15190, + 7595: 15188, 15190, 15191, + 7596: 15192, 15193, 15194, + 7597: 15192, 15194, 15195, + 7598: 15196, 15197, 15198, + 7599: 15196, 15198, 15199, + 7600: 15200, 15201, 15202, + 7601: 15200, 15202, 15203, + 7602: 15204, 15205, 15206, + 7603: 15204, 15206, 15207, + 7604: 15208, 15209, 15210, + 7605: 15208, 15210, 15211, + 7606: 15212, 15213, 15214, + 7607: 15212, 15214, 15215, + 7608: 15216, 15217, 15218, + 7609: 15216, 15218, 15219, + 7610: 15220, 15221, 15222, + 7611: 15220, 15222, 15223, + 7612: 15224, 15225, 15226, + 7613: 15224, 15226, 15227, + 7614: 15228, 15229, 15230, + 7615: 15228, 15230, 15231, + 7616: 15232, 15233, 15234, + 7617: 15232, 15234, 15235, + 7618: 15236, 15237, 15238, + 7619: 15236, 15238, 15239, + 7620: 15240, 15241, 15242, + 7621: 15240, 15242, 15243, + 7622: 15244, 15245, 15246, + 7623: 15244, 15246, 15247, + 7624: 15248, 15249, 15250, + 7625: 15248, 15250, 15251, + 7626: 15252, 15253, 15254, + 7627: 15252, 15254, 15255, + 7628: 15256, 15257, 15258, + 7629: 15256, 15258, 15259, + 7630: 15260, 15261, 15262, + 7631: 15260, 15262, 15263, + 7632: 15264, 15265, 15266, + 7633: 15264, 15266, 15267, + 7634: 15268, 15269, 15270, + 7635: 15268, 15270, 15271, + 7636: 15272, 15273, 15274, + 7637: 15272, 15274, 15275, + 7638: 15276, 15277, 15278, + 7639: 15276, 15278, 15279, + 7640: 15280, 15281, 15282, + 7641: 15280, 15282, 15283, + 7642: 15284, 15285, 15286, + 7643: 15284, 15286, 15287, + 7644: 15288, 15289, 15290, + 7645: 15288, 15290, 15291, + 7646: 15292, 15293, 15294, + 7647: 15292, 15294, 15295, + 7648: 15296, 15297, 15298, + 7649: 15296, 15298, 15299, + 7650: 15300, 15301, 15302, + 7651: 15300, 15302, 15303, + 7652: 15304, 15305, 15306, + 7653: 15304, 15306, 15307, + 7654: 15308, 15309, 15310, + 7655: 15308, 15310, 15311, + 7656: 15312, 15313, 15314, + 7657: 15312, 15314, 15315, + 7658: 15316, 15317, 15318, + 7659: 15316, 15318, 15319, + 7660: 15320, 15321, 15322, + 7661: 15320, 15322, 15323, + 7662: 15324, 15325, 15326, + 7663: 15324, 15326, 15327, + 7664: 15328, 15329, 15330, + 7665: 15328, 15330, 15331, + 7666: 15332, 15333, 15334, + 7667: 15332, 15334, 15335, + 7668: 15336, 15337, 15338, + 7669: 15336, 15338, 15339, + 7670: 15340, 15341, 15342, + 7671: 15340, 15342, 15343, + 7672: 15344, 15345, 15346, + 7673: 15344, 15346, 15347, + 7674: 15348, 15349, 15350, + 7675: 15348, 15350, 15351, + 7676: 15352, 15353, 15354, + 7677: 15352, 15354, 15355, + 7678: 15356, 15357, 15358, + 7679: 15356, 15358, 15359, + 7680: 15360, 15361, 15362, + 7681: 15360, 15362, 15363, + 7682: 15364, 15365, 15366, + 7683: 15364, 15366, 15367, + 7684: 15368, 15369, 15370, + 7685: 15368, 15370, 15371, + 7686: 15372, 15373, 15374, + 7687: 15372, 15374, 15375, + 7688: 15376, 15377, 15378, + 7689: 15376, 15378, 15379, + 7690: 15380, 15381, 15382, + 7691: 15380, 15382, 15383, + 7692: 15384, 15385, 15386, + 7693: 15384, 15386, 15387, + 7694: 15388, 15389, 15390, + 7695: 15388, 15390, 15391, + 7696: 15392, 15393, 15394, + 7697: 15392, 15394, 15395, + 7698: 15396, 15397, 15398, + 7699: 15396, 15398, 15399, + 7700: 15400, 15401, 15402, + 7701: 15400, 15402, 15403, + 7702: 15404, 15405, 15406, + 7703: 15404, 15406, 15407, + 7704: 15408, 15409, 15410, + 7705: 15408, 15410, 15411, + 7706: 15412, 15413, 15414, + 7707: 15412, 15414, 15415, + 7708: 15416, 15417, 15418, + 7709: 15416, 15418, 15419, + 7710: 15420, 15421, 15422, + 7711: 15420, 15422, 15423, + 7712: 15424, 15425, 15426, + 7713: 15424, 15426, 15427, + 7714: 15428, 15429, 15430, + 7715: 15428, 15430, 15431, + 7716: 15432, 15433, 15434, + 7717: 15432, 15434, 15435, + 7718: 15436, 15437, 15438, + 7719: 15436, 15438, 15439, + 7720: 15440, 15441, 15442, + 7721: 15440, 15442, 15443, + 7722: 15444, 15445, 15446, + 7723: 15444, 15446, 15447, + 7724: 15448, 15449, 15450, + 7725: 15448, 15450, 15451, + 7726: 15452, 15453, 15454, + 7727: 15452, 15454, 15455, + 7728: 15456, 15457, 15458, + 7729: 15456, 15458, 15459, + 7730: 15460, 15461, 15462, + 7731: 15460, 15462, 15463, + 7732: 15464, 15465, 15466, + 7733: 15464, 15466, 15467, + 7734: 15468, 15469, 15470, + 7735: 15468, 15470, 15471, + 7736: 15472, 15473, 15474, + 7737: 15472, 15474, 15475, + 7738: 15476, 15477, 15478, + 7739: 15476, 15478, 15479, + 7740: 15480, 15481, 15482, + 7741: 15480, 15482, 15483, + 7742: 15484, 15485, 15486, + 7743: 15484, 15486, 15487, + 7744: 15488, 15489, 15490, + 7745: 15488, 15490, 15491, + 7746: 15492, 15493, 15494, + 7747: 15492, 15494, 15495, + 7748: 15496, 15497, 15498, + 7749: 15496, 15498, 15499, + 7750: 15500, 15501, 15502, + 7751: 15500, 15502, 15503, + 7752: 15504, 15505, 15506, + 7753: 15504, 15506, 15507, + 7754: 15508, 15509, 15510, + 7755: 15508, 15510, 15511, + 7756: 15512, 15513, 15514, + 7757: 15512, 15514, 15515, + 7758: 15516, 15517, 15518, + 7759: 15516, 15518, 15519, + 7760: 15520, 15521, 15522, + 7761: 15520, 15522, 15523, + 7762: 15524, 15525, 15526, + 7763: 15524, 15526, 15527, + 7764: 15528, 15529, 15530, + 7765: 15528, 15530, 15531, + 7766: 15532, 15533, 15534, + 7767: 15532, 15534, 15535, + 7768: 15536, 15537, 15538, + 7769: 15536, 15538, 15539, + 7770: 15540, 15541, 15542, + 7771: 15540, 15542, 15543, + 7772: 15544, 15545, 15546, + 7773: 15544, 15546, 15547, + 7774: 15548, 15549, 15550, + 7775: 15548, 15550, 15551, + 7776: 15552, 15553, 15554, + 7777: 15552, 15554, 15555, + 7778: 15556, 15557, 15558, + 7779: 15556, 15558, 15559, + 7780: 15560, 15561, 15562, + 7781: 15560, 15562, 15563, + 7782: 15564, 15565, 15566, + 7783: 15564, 15566, 15567, + 7784: 15568, 15569, 15570, + 7785: 15568, 15570, 15571, + 7786: 15572, 15573, 15574, + 7787: 15572, 15574, 15575, + 7788: 15576, 15577, 15578, + 7789: 15576, 15578, 15579, + 7790: 15580, 15581, 15582, + 7791: 15580, 15582, 15583, + 7792: 15584, 15585, 15586, + 7793: 15584, 15586, 15587, + 7794: 15588, 15589, 15590, + 7795: 15588, 15590, 15591, + 7796: 15592, 15593, 15594, + 7797: 15592, 15594, 15595, + 7798: 15596, 15597, 15598, + 7799: 15596, 15598, 15599, + 7800: 15600, 15601, 15602, + 7801: 15600, 15602, 15603, + 7802: 15604, 15605, 15606, + 7803: 15604, 15606, 15607, + 7804: 15608, 15609, 15610, + 7805: 15608, 15610, 15611, + 7806: 15612, 15613, 15614, + 7807: 15612, 15614, 15615, + 7808: 15616, 15617, 15618, + 7809: 15616, 15618, 15619, + 7810: 15620, 15621, 15622, + 7811: 15620, 15622, 15623, + 7812: 15624, 15625, 15626, + 7813: 15624, 15626, 15627, + 7814: 15628, 15629, 15630, + 7815: 15628, 15630, 15631, + 7816: 15632, 15633, 15634, + 7817: 15632, 15634, 15635, + 7818: 15636, 15637, 15638, + 7819: 15636, 15638, 15639, + 7820: 15640, 15641, 15642, + 7821: 15640, 15642, 15643, + 7822: 15644, 15645, 15646, + 7823: 15644, 15646, 15647, + 7824: 15648, 15649, 15650, + 7825: 15648, 15650, 15651, + 7826: 15652, 15653, 15654, + 7827: 15652, 15654, 15655, + 7828: 15656, 15657, 15658, + 7829: 15656, 15658, 15659, + 7830: 15660, 15661, 15662, + 7831: 15660, 15662, 15663, + 7832: 15664, 15665, 15666, + 7833: 15664, 15666, 15667, + 7834: 15668, 15669, 15670, + 7835: 15668, 15670, 15671, + 7836: 15672, 15673, 15674, + 7837: 15672, 15674, 15675, + 7838: 15676, 15677, 15678, + 7839: 15676, 15678, 15679, + 7840: 15680, 15681, 15682, + 7841: 15680, 15682, 15683, + 7842: 15684, 15685, 15686, + 7843: 15684, 15686, 15687, + 7844: 15688, 15689, 15690, + 7845: 15688, 15690, 15691, + 7846: 15692, 15693, 15694, + 7847: 15692, 15694, 15695, + 7848: 15696, 15697, 15698, + 7849: 15696, 15698, 15699, + 7850: 15700, 15701, 15702, + 7851: 15700, 15702, 15703, + 7852: 15704, 15705, 15706, + 7853: 15704, 15706, 15707, + 7854: 15708, 15709, 15710, + 7855: 15708, 15710, 15711, + 7856: 15712, 15713, 15714, + 7857: 15712, 15714, 15715, + 7858: 15716, 15717, 15718, + 7859: 15716, 15718, 15719, + 7860: 15720, 15721, 15722, + 7861: 15720, 15722, 15723, + 7862: 15724, 15725, 15726, + 7863: 15724, 15726, 15727, + 7864: 15728, 15729, 15730, + 7865: 15728, 15730, 15731, + 7866: 15732, 15733, 15734, + 7867: 15732, 15734, 15735, + 7868: 15736, 15737, 15738, + 7869: 15736, 15738, 15739, + 7870: 15740, 15741, 15742, + 7871: 15740, 15742, 15743, + 7872: 15744, 15745, 15746, + 7873: 15744, 15746, 15747, + 7874: 15748, 15749, 15750, + 7875: 15748, 15750, 15751, + 7876: 15752, 15753, 15754, + 7877: 15752, 15754, 15755, + 7878: 15756, 15757, 15758, + 7879: 15756, 15758, 15759, + 7880: 15760, 15761, 15762, + 7881: 15760, 15762, 15763, + 7882: 15764, 15765, 15766, + 7883: 15764, 15766, 15767, + 7884: 15768, 15769, 15770, + 7885: 15768, 15770, 15771, + 7886: 15772, 15773, 15774, + 7887: 15772, 15774, 15775, + 7888: 15776, 15777, 15778, + 7889: 15776, 15778, 15779, + 7890: 15780, 15781, 15782, + 7891: 15780, 15782, 15783, + 7892: 15784, 15785, 15786, + 7893: 15784, 15786, 15787, + 7894: 15788, 15789, 15790, + 7895: 15788, 15790, 15791, + 7896: 15792, 15793, 15794, + 7897: 15792, 15794, 15795, + 7898: 15796, 15797, 15798, + 7899: 15796, 15798, 15799, + 7900: 15800, 15801, 15802, + 7901: 15800, 15802, 15803, + 7902: 15804, 15805, 15806, + 7903: 15804, 15806, 15807, + 7904: 15808, 15809, 15810, + 7905: 15808, 15810, 15811, + 7906: 15812, 15813, 15814, + 7907: 15812, 15814, 15815, + 7908: 15816, 15817, 15818, + 7909: 15816, 15818, 15819, + 7910: 15820, 15821, 15822, + 7911: 15820, 15822, 15823, + 7912: 15824, 15825, 15826, + 7913: 15824, 15826, 15827, + 7914: 15828, 15829, 15830, + 7915: 15828, 15830, 15831, + 7916: 15832, 15833, 15834, + 7917: 15832, 15834, 15835, + 7918: 15836, 15837, 15838, + 7919: 15836, 15838, 15839, + 7920: 15840, 15841, 15842, + 7921: 15840, 15842, 15843, + 7922: 15844, 15845, 15846, + 7923: 15844, 15846, 15847, + 7924: 15848, 15849, 15850, + 7925: 15848, 15850, 15851, + 7926: 15852, 15853, 15854, + 7927: 15852, 15854, 15855, + 7928: 15856, 15857, 15858, + 7929: 15856, 15858, 15859, + 7930: 15860, 15861, 15862, + 7931: 15860, 15862, 15863, + 7932: 15864, 15865, 15866, + 7933: 15864, 15866, 15867, + 7934: 15868, 15869, 15870, + 7935: 15868, 15870, 15871, + 7936: 15872, 15873, 15874, + 7937: 15872, 15874, 15875, + 7938: 15876, 15877, 15878, + 7939: 15876, 15878, 15879, + 7940: 15880, 15881, 15882, + 7941: 15880, 15882, 15883, + 7942: 15884, 15885, 15886, + 7943: 15884, 15886, 15887, + 7944: 15888, 15889, 15890, + 7945: 15888, 15890, 15891, + 7946: 15892, 15893, 15894, + 7947: 15892, 15894, 15895, + 7948: 15896, 15897, 15898, + 7949: 15896, 15898, 15899, + 7950: 15900, 15901, 15902, + 7951: 15900, 15902, 15903, + 7952: 15904, 15905, 15906, + 7953: 15904, 15906, 15907, + 7954: 15908, 15909, 15910, + 7955: 15908, 15910, 15911, + 7956: 15912, 15913, 15914, + 7957: 15912, 15914, 15915, + 7958: 15916, 15917, 15918, + 7959: 15916, 15918, 15919, + 7960: 15920, 15921, 15922, + 7961: 15920, 15922, 15923, + 7962: 15924, 15925, 15926, + 7963: 15924, 15926, 15927, + 7964: 15928, 15929, 15930, + 7965: 15928, 15930, 15931, + 7966: 15932, 15933, 15934, + 7967: 15932, 15934, 15935, + 7968: 15936, 15937, 15938, + 7969: 15936, 15938, 15939, + 7970: 15940, 15941, 15942, + 7971: 15940, 15942, 15943, + 7972: 15944, 15945, 15946, + 7973: 15944, 15946, 15947, + 7974: 15948, 15949, 15950, + 7975: 15948, 15950, 15951, + 7976: 15952, 15953, 15954, + 7977: 15952, 15954, 15955, + 7978: 15956, 15957, 15958, + 7979: 15956, 15958, 15959, + 7980: 15960, 15961, 15962, + 7981: 15960, 15962, 15963, + 7982: 15964, 15965, 15966, + 7983: 15964, 15966, 15967, + 7984: 15968, 15969, 15970, + 7985: 15968, 15970, 15971, + 7986: 15972, 15973, 15974, + 7987: 15972, 15974, 15975, + 7988: 15976, 15977, 15978, + 7989: 15976, 15978, 15979, + 7990: 15980, 15981, 15982, + 7991: 15980, 15982, 15983, + 7992: 15984, 15985, 15986, + 7993: 15984, 15986, 15987, + 7994: 15988, 15989, 15990, + 7995: 15988, 15990, 15991, + 7996: 15992, 15993, 15994, + 7997: 15992, 15994, 15995, + 7998: 15996, 15997, 15998, + 7999: 15996, 15998, 15999, + 8000: 16000, 16001, 16002, + 8001: 16000, 16002, 16003, + 8002: 16004, 16005, 16006, + 8003: 16004, 16006, 16007, + 8004: 16008, 16009, 16010, + 8005: 16008, 16010, 16011, + 8006: 16012, 16013, 16014, + 8007: 16012, 16014, 16015, + 8008: 16016, 16017, 16018, + 8009: 16016, 16018, 16019, + 8010: 16020, 16021, 16022, + 8011: 16020, 16022, 16023, + 8012: 16024, 16025, 16026, + 8013: 16024, 16026, 16027, + 8014: 16028, 16029, 16030, + 8015: 16028, 16030, 16031, + 8016: 16032, 16033, 16034, + 8017: 16032, 16034, 16035, + 8018: 16036, 16037, 16038, + 8019: 16036, 16038, 16039, + 8020: 16040, 16041, 16042, + 8021: 16040, 16042, 16043, + 8022: 16044, 16045, 16046, + 8023: 16044, 16046, 16047, + 8024: 16048, 16049, 16050, + 8025: 16048, 16050, 16051, + 8026: 16052, 16053, 16054, + 8027: 16052, 16054, 16055, + 8028: 16056, 16057, 16058, + 8029: 16056, 16058, 16059, + 8030: 16060, 16061, 16062, + 8031: 16060, 16062, 16063, + 8032: 16064, 16065, 16066, + 8033: 16064, 16066, 16067, + 8034: 16068, 16069, 16070, + 8035: 16068, 16070, 16071, + 8036: 16072, 16073, 16074, + 8037: 16072, 16074, 16075, + 8038: 16076, 16077, 16078, + 8039: 16076, 16078, 16079, + 8040: 16080, 16081, 16082, + 8041: 16080, 16082, 16083, + 8042: 16084, 16085, 16086, + 8043: 16084, 16086, 16087, + 8044: 16088, 16089, 16090, + 8045: 16088, 16090, 16091, + 8046: 16092, 16093, 16094, + 8047: 16092, 16094, 16095, + 8048: 16096, 16097, 16098, + 8049: 16096, 16098, 16099, + 8050: 16100, 16101, 16102, + 8051: 16100, 16102, 16103, + 8052: 16104, 16105, 16106, + 8053: 16104, 16106, 16107, + 8054: 16108, 16109, 16110, + 8055: 16108, 16110, 16111, + 8056: 16112, 16113, 16114, + 8057: 16112, 16114, 16115, + 8058: 16116, 16117, 16118, + 8059: 16116, 16118, 16119, + 8060: 16120, 16121, 16122, + 8061: 16120, 16122, 16123, + 8062: 16124, 16125, 16126, + 8063: 16124, 16126, 16127, + 8064: 16128, 16129, 16130, + 8065: 16128, 16130, 16131, + 8066: 16132, 16133, 16134, + 8067: 16132, 16134, 16135, + 8068: 16136, 16137, 16138, + 8069: 16136, 16138, 16139, + 8070: 16140, 16141, 16142, + 8071: 16140, 16142, 16143, + 8072: 16144, 16145, 16146, + 8073: 16144, 16146, 16147, + 8074: 16148, 16149, 16150, + 8075: 16148, 16150, 16151, + 8076: 16152, 16153, 16154, + 8077: 16152, 16154, 16155, + 8078: 16156, 16157, 16158, + 8079: 16156, 16158, 16159, + 8080: 16160, 16161, 16162, + 8081: 16160, 16162, 16163, + 8082: 16164, 16165, 16166, + 8083: 16164, 16166, 16167, + 8084: 16168, 16169, 16170, + 8085: 16168, 16170, 16171, + 8086: 16172, 16173, 16174, + 8087: 16172, 16174, 16175, + 8088: 16176, 16177, 16178, + 8089: 16176, 16178, 16179, + 8090: 16180, 16181, 16182, + 8091: 16180, 16182, 16183, + 8092: 16184, 16185, 16186, + 8093: 16184, 16186, 16187, + 8094: 16188, 16189, 16190, + 8095: 16188, 16190, 16191, + 8096: 16192, 16193, 16194, + 8097: 16192, 16194, 16195, + 8098: 16196, 16197, 16198, + 8099: 16196, 16198, 16199, + 8100: 16200, 16201, 16202, + 8101: 16200, 16202, 16203, + 8102: 16204, 16205, 16206, + 8103: 16204, 16206, 16207, + 8104: 16208, 16209, 16210, + 8105: 16208, 16210, 16211, + 8106: 16212, 16213, 16214, + 8107: 16212, 16214, 16215, + 8108: 16216, 16217, 16218, + 8109: 16216, 16218, 16219, + 8110: 16220, 16221, 16222, + 8111: 16220, 16222, 16223, + 8112: 16224, 16225, 16226, + 8113: 16224, 16226, 16227, + 8114: 16228, 16229, 16230, + 8115: 16228, 16230, 16231, + 8116: 16232, 16233, 16234, + 8117: 16232, 16234, 16235, + 8118: 16236, 16237, 16238, + 8119: 16236, 16238, 16239, + 8120: 16240, 16241, 16242, + 8121: 16240, 16242, 16243, + 8122: 16244, 16245, 16246, + 8123: 16244, 16246, 16247, + 8124: 16248, 16249, 16250, + 8125: 16248, 16250, 16251, + 8126: 16252, 16253, 16254, + 8127: 16252, 16254, 16255, + 8128: 16256, 16257, 16258, + 8129: 16256, 16258, 16259, + 8130: 16260, 16261, 16262, + 8131: 16260, 16262, 16263, + 8132: 16264, 16265, 16266, + 8133: 16264, 16266, 16267, + 8134: 16268, 16269, 16270, + 8135: 16268, 16270, 16271, + 8136: 16272, 16273, 16274, + 8137: 16272, 16274, 16275, + 8138: 16276, 16277, 16278, + 8139: 16276, 16278, 16279, + 8140: 16280, 16281, 16282, + 8141: 16280, 16282, 16283, + 8142: 16284, 16285, 16286, + 8143: 16284, 16286, 16287, + 8144: 16288, 16289, 16290, + 8145: 16288, 16290, 16291, + 8146: 16292, 16293, 16294, + 8147: 16292, 16294, 16295, + 8148: 16296, 16297, 16298, + 8149: 16296, 16298, 16299, + 8150: 16300, 16301, 16302, + 8151: 16300, 16302, 16303, + 8152: 16304, 16305, 16306, + 8153: 16304, 16306, 16307, + 8154: 16308, 16309, 16310, + 8155: 16308, 16310, 16311, + 8156: 16312, 16313, 16314, + 8157: 16312, 16314, 16315, + 8158: 16316, 16317, 16318, + 8159: 16316, 16318, 16319, + 8160: 16320, 16321, 16322, + 8161: 16320, 16322, 16323, + 8162: 16324, 16325, 16326, + 8163: 16324, 16326, 16327, + 8164: 16328, 16329, 16330, + 8165: 16328, 16330, 16331, + 8166: 16332, 16333, 16334, + 8167: 16332, 16334, 16335, + 8168: 16336, 16337, 16338, + 8169: 16336, 16338, 16339, + 8170: 16340, 16341, 16342, + 8171: 16340, 16342, 16343, + 8172: 16344, 16345, 16346, + 8173: 16344, 16346, 16347, + 8174: 16348, 16349, 16350, + 8175: 16348, 16350, 16351, + 8176: 16352, 16353, 16354, + 8177: 16352, 16354, 16355, + 8178: 16356, 16357, 16358, + 8179: 16356, 16358, 16359, + 8180: 16360, 16361, 16362, + 8181: 16360, 16362, 16363, + 8182: 16364, 16365, 16366, + 8183: 16364, 16366, 16367, + 8184: 16368, 16369, 16370, + 8185: 16368, 16370, 16371, + 8186: 16372, 16373, 16374, + 8187: 16372, 16374, 16375, + 8188: 16376, 16377, 16378, + 8189: 16376, 16378, 16379, + 8190: 16380, 16381, 16382, + 8191: 16380, 16382, 16383, + 8192: 16384, 16385, 16386, + 8193: 16384, 16386, 16387, + 8194: 16388, 16389, 16390, + 8195: 16388, 16390, 16391, + 8196: 16392, 16393, 16394, + 8197: 16392, 16394, 16395, + 8198: 16396, 16397, 16398, + 8199: 16396, 16398, 16399, + 8200: 16400, 16401, 16402, + 8201: 16400, 16402, 16403, + 8202: 16404, 16405, 16406, + 8203: 16404, 16406, 16407, + 8204: 16408, 16409, 16410, + 8205: 16408, 16410, 16411, + 8206: 16412, 16413, 16414, + 8207: 16412, 16414, 16415, + 8208: 16416, 16417, 16418, + 8209: 16416, 16418, 16419, + 8210: 16420, 16421, 16422, + 8211: 16420, 16422, 16423, + 8212: 16424, 16425, 16426, + 8213: 16424, 16426, 16427, + 8214: 16428, 16429, 16430, + 8215: 16428, 16430, 16431, + 8216: 16432, 16433, 16434, + 8217: 16432, 16434, 16435, + 8218: 16436, 16437, 16438, + 8219: 16436, 16438, 16439, + 8220: 16440, 16441, 16442, + 8221: 16440, 16442, 16443, + 8222: 16444, 16445, 16446, + 8223: 16444, 16446, 16447, + 8224: 16448, 16449, 16450, + 8225: 16448, 16450, 16451, + 8226: 16452, 16453, 16454, + 8227: 16452, 16454, 16455, + 8228: 16456, 16457, 16458, + 8229: 16456, 16458, 16459, + 8230: 16460, 16461, 16462, + 8231: 16460, 16462, 16463, + 8232: 16464, 16465, 16466, + 8233: 16464, 16466, 16467, + 8234: 16468, 16469, 16470, + 8235: 16468, 16470, 16471, + 8236: 16472, 16473, 16474, + 8237: 16472, 16474, 16475, + 8238: 16476, 16477, 16478, + 8239: 16476, 16478, 16479, + 8240: 16480, 16481, 16482, + 8241: 16480, 16482, 16483, + 8242: 16484, 16485, 16486, + 8243: 16484, 16486, 16487, + 8244: 16488, 16489, 16490, + 8245: 16488, 16490, 16491, + 8246: 16492, 16493, 16494, + 8247: 16492, 16494, 16495, + 8248: 16496, 16497, 16498, + 8249: 16496, 16498, 16499, + 8250: 16500, 16501, 16502, + 8251: 16500, 16502, 16503, + 8252: 16504, 16505, 16506, + 8253: 16504, 16506, 16507, + 8254: 16508, 16509, 16510, + 8255: 16508, 16510, 16511, + 8256: 16512, 16513, 16514, + 8257: 16512, 16514, 16515, + 8258: 16516, 16517, 16518, + 8259: 16516, 16518, 16519, + 8260: 16520, 16521, 16522, + 8261: 16520, 16522, 16523, + 8262: 16524, 16525, 16526, + 8263: 16524, 16526, 16527, + 8264: 16528, 16529, 16530, + 8265: 16528, 16530, 16531, + 8266: 16532, 16533, 16534, + 8267: 16532, 16534, 16535, + 8268: 16536, 16537, 16538, + 8269: 16536, 16538, 16539, + 8270: 16540, 16541, 16542, + 8271: 16540, 16542, 16543, + 8272: 16544, 16545, 16546, + 8273: 16544, 16546, 16547, + 8274: 16548, 16549, 16550, + 8275: 16548, 16550, 16551, + 8276: 16552, 16553, 16554, + 8277: 16552, 16554, 16555, + 8278: 16556, 16557, 16558, + 8279: 16556, 16558, 16559, + 8280: 16560, 16561, 16562, + 8281: 16560, 16562, 16563, + 8282: 16564, 16565, 16566, + 8283: 16564, 16566, 16567, + 8284: 16568, 16569, 16570, + 8285: 16568, 16570, 16571, + 8286: 16572, 16573, 16574, + 8287: 16572, 16574, 16575, + 8288: 16576, 16577, 16578, + 8289: 16576, 16578, 16579, + 8290: 16580, 16581, 16582, + 8291: 16580, 16582, 16583, + 8292: 16584, 16585, 16586, + 8293: 16584, 16586, 16587, + 8294: 16588, 16589, 16590, + 8295: 16588, 16590, 16591, + 8296: 16592, 16593, 16594, + 8297: 16592, 16594, 16595, + 8298: 16596, 16597, 16598, + 8299: 16596, 16598, 16599, + 8300: 16600, 16601, 16602, + 8301: 16600, 16602, 16603, + 8302: 16604, 16605, 16606, + 8303: 16604, 16606, 16607, + 8304: 16608, 16609, 16610, + 8305: 16608, 16610, 16611, + 8306: 16612, 16613, 16614, + 8307: 16612, 16614, 16615, + 8308: 16616, 16617, 16618, + 8309: 16616, 16618, 16619, + 8310: 16620, 16621, 16622, + 8311: 16620, 16622, 16623, + 8312: 16624, 16625, 16626, + 8313: 16624, 16626, 16627, + 8314: 16628, 16629, 16630, + 8315: 16628, 16630, 16631, + 8316: 16632, 16633, 16634, + 8317: 16632, 16634, 16635, + 8318: 16636, 16637, 16638, + 8319: 16636, 16638, 16639, + 8320: 16640, 16641, 16642, + 8321: 16640, 16642, 16643, + 8322: 16644, 16645, 16646, + 8323: 16644, 16646, 16647, + 8324: 16648, 16649, 16650, + 8325: 16648, 16650, 16651, + 8326: 16652, 16653, 16654, + 8327: 16652, 16654, 16655, + 8328: 16656, 16657, 16658, + 8329: 16656, 16658, 16659, + 8330: 16660, 16661, 16662, + 8331: 16660, 16662, 16663, + 8332: 16664, 16665, 16666, + 8333: 16664, 16666, 16667, + 8334: 16668, 16669, 16670, + 8335: 16668, 16670, 16671, + 8336: 16672, 16673, 16674, + 8337: 16672, 16674, 16675, + 8338: 16676, 16677, 16678, + 8339: 16676, 16678, 16679, + 8340: 16680, 16681, 16682, + 8341: 16680, 16682, 16683, + 8342: 16684, 16685, 16686, + 8343: 16684, 16686, 16687, + 8344: 16688, 16689, 16690, + 8345: 16688, 16690, 16691, + 8346: 16692, 16693, 16694, + 8347: 16692, 16694, 16695, + 8348: 16696, 16697, 16698, + 8349: 16696, 16698, 16699, + 8350: 16700, 16701, 16702, + 8351: 16700, 16702, 16703, + 8352: 16704, 16705, 16706, + 8353: 16704, 16706, 16707, + 8354: 16708, 16709, 16710, + 8355: 16708, 16710, 16711, + 8356: 16712, 16713, 16714, + 8357: 16712, 16714, 16715, + 8358: 16716, 16717, 16718, + 8359: 16716, 16718, 16719, + 8360: 16720, 16721, 16722, + 8361: 16720, 16722, 16723, + 8362: 16724, 16725, 16726, + 8363: 16724, 16726, 16727, + 8364: 16728, 16729, 16730, + 8365: 16728, 16730, 16731, + 8366: 16732, 16733, 16734, + 8367: 16732, 16734, 16735, + 8368: 16736, 16737, 16738, + 8369: 16736, 16738, 16739, + 8370: 16740, 16741, 16742, + 8371: 16740, 16742, 16743, + 8372: 16744, 16745, 16746, + 8373: 16744, 16746, 16747, + 8374: 16748, 16749, 16750, + 8375: 16748, 16750, 16751, + 8376: 16752, 16753, 16754, + 8377: 16752, 16754, 16755, + 8378: 16756, 16757, 16758, + 8379: 16756, 16758, 16759, + 8380: 16760, 16761, 16762, + 8381: 16760, 16762, 16763, + 8382: 16764, 16765, 16766, + 8383: 16764, 16766, 16767, + 8384: 16768, 16769, 16770, + 8385: 16768, 16770, 16771, + 8386: 16772, 16773, 16774, + 8387: 16772, 16774, 16775, + 8388: 16776, 16777, 16778, + 8389: 16776, 16778, 16779, + 8390: 16780, 16781, 16782, + 8391: 16780, 16782, 16783, + 8392: 16784, 16785, 16786, + 8393: 16784, 16786, 16787, + 8394: 16788, 16789, 16790, + 8395: 16788, 16790, 16791, + 8396: 16792, 16793, 16794, + 8397: 16792, 16794, 16795, + 8398: 16796, 16797, 16798, + 8399: 16796, 16798, 16799, + 8400: 16800, 16801, 16802, + 8401: 16800, 16802, 16803, + 8402: 16804, 16805, 16806, + 8403: 16804, 16806, 16807, + 8404: 16808, 16809, 16810, + 8405: 16808, 16810, 16811, + 8406: 16812, 16813, 16814, + 8407: 16812, 16814, 16815, + 8408: 16816, 16817, 16818, + 8409: 16816, 16818, 16819, + 8410: 16820, 16821, 16822, + 8411: 16820, 16822, 16823, + 8412: 16824, 16825, 16826, + 8413: 16824, 16826, 16827, + 8414: 16828, 16829, 16830, + 8415: 16828, 16830, 16831, + 8416: 16832, 16833, 16834, + 8417: 16832, 16834, 16835, + 8418: 16836, 16837, 16838, + 8419: 16836, 16838, 16839, + 8420: 16840, 16841, 16842, + 8421: 16840, 16842, 16843, + 8422: 16844, 16845, 16846, + 8423: 16844, 16846, 16847, + 8424: 16848, 16849, 16850, + 8425: 16848, 16850, 16851, + 8426: 16852, 16853, 16854, + 8427: 16852, 16854, 16855, + 8428: 16856, 16857, 16858, + 8429: 16856, 16858, 16859, + 8430: 16860, 16861, 16862, + 8431: 16860, 16862, 16863, + 8432: 16864, 16865, 16866, + 8433: 16864, 16866, 16867, + 8434: 16868, 16869, 16870, + 8435: 16868, 16870, 16871, + 8436: 16872, 16873, 16874, + 8437: 16872, 16874, 16875, + 8438: 16876, 16877, 16878, + 8439: 16876, 16878, 16879, + 8440: 16880, 16881, 16882, + 8441: 16880, 16882, 16883, + 8442: 16884, 16885, 16886, + 8443: 16884, 16886, 16887, + 8444: 16888, 16889, 16890, + 8445: 16888, 16890, 16891, + 8446: 16892, 16893, 16894, + 8447: 16892, 16894, 16895, + 8448: 16896, 16897, 16898, + 8449: 16896, 16898, 16899, + 8450: 16900, 16901, 16902, + 8451: 16900, 16902, 16903, + 8452: 16904, 16905, 16906, + 8453: 16904, 16906, 16907, + 8454: 16908, 16909, 16910, + 8455: 16908, 16910, 16911, + 8456: 16912, 16913, 16914, + 8457: 16912, 16914, 16915, + 8458: 16916, 16917, 16918, + 8459: 16916, 16918, 16919, + 8460: 16920, 16921, 16922, + 8461: 16920, 16922, 16923, + 8462: 16924, 16925, 16926, + 8463: 16924, 16926, 16927, + 8464: 16928, 16929, 16930, + 8465: 16928, 16930, 16931, + 8466: 16932, 16933, 16934, + 8467: 16932, 16934, 16935, + 8468: 16936, 16937, 16938, + 8469: 16936, 16938, 16939, + 8470: 16940, 16941, 16942, + 8471: 16940, 16942, 16943, + 8472: 16944, 16945, 16946, + 8473: 16944, 16946, 16947, + 8474: 16948, 16949, 16950, + 8475: 16948, 16950, 16951, + 8476: 16952, 16953, 16954, + 8477: 16952, 16954, 16955, + 8478: 16956, 16957, 16958, + 8479: 16956, 16958, 16959, + 8480: 16960, 16961, 16962, + 8481: 16960, 16962, 16963, + 8482: 16964, 16965, 16966, + 8483: 16964, 16966, 16967, + 8484: 16968, 16969, 16970, + 8485: 16968, 16970, 16971, + 8486: 16972, 16973, 16974, + 8487: 16972, 16974, 16975, + 8488: 16976, 16977, 16978, + 8489: 16976, 16978, 16979, + 8490: 16980, 16981, 16982, + 8491: 16980, 16982, 16983, + 8492: 16984, 16985, 16986, + 8493: 16984, 16986, 16987, + 8494: 16988, 16989, 16990, + 8495: 16988, 16990, 16991, + 8496: 16992, 16993, 16994, + 8497: 16992, 16994, 16995, + 8498: 16996, 16997, 16998, + 8499: 16996, 16998, 16999, + 8500: 17000, 17001, 17002, + 8501: 17000, 17002, 17003, + 8502: 17004, 17005, 17006, + 8503: 17004, 17006, 17007, + 8504: 17008, 17009, 17010, + 8505: 17008, 17010, 17011, + 8506: 17012, 17013, 17014, + 8507: 17012, 17014, 17015, + 8508: 17016, 17017, 17018, + 8509: 17016, 17018, 17019, + 8510: 17020, 17021, 17022, + 8511: 17020, 17022, 17023, + 8512: 17024, 17025, 17026, + 8513: 17024, 17026, 17027, + 8514: 17028, 17029, 17030, + 8515: 17028, 17030, 17031, + 8516: 17032, 17033, 17034, + 8517: 17032, 17034, 17035, + 8518: 17036, 17037, 17038, + 8519: 17036, 17038, 17039, + 8520: 17040, 17041, 17042, + 8521: 17040, 17042, 17043, + 8522: 17044, 17045, 17046, + 8523: 17044, 17046, 17047, + 8524: 17048, 17049, 17050, + 8525: 17048, 17050, 17051, + 8526: 17052, 17053, 17054, + 8527: 17052, 17054, 17055, + 8528: 17056, 17057, 17058, + 8529: 17056, 17058, 17059, + 8530: 17060, 17061, 17062, + 8531: 17060, 17062, 17063, + 8532: 17064, 17065, 17066, + 8533: 17064, 17066, 17067, + 8534: 17068, 17069, 17070, + 8535: 17068, 17070, 17071, + 8536: 17072, 17073, 17074, + 8537: 17072, 17074, 17075, + 8538: 17076, 17077, 17078, + 8539: 17076, 17078, 17079, + 8540: 17080, 17081, 17082, + 8541: 17080, 17082, 17083, + 8542: 17084, 17085, 17086, + 8543: 17084, 17086, 17087, + 8544: 17088, 17089, 17090, + 8545: 17088, 17090, 17091, + 8546: 17092, 17093, 17094, + 8547: 17092, 17094, 17095, + 8548: 17096, 17097, 17098, + 8549: 17096, 17098, 17099, + 8550: 17100, 17101, 17102, + 8551: 17100, 17102, 17103, + 8552: 17104, 17105, 17106, + 8553: 17104, 17106, 17107, + 8554: 17108, 17109, 17110, + 8555: 17108, 17110, 17111, + 8556: 17112, 17113, 17114, + 8557: 17112, 17114, 17115, + 8558: 17116, 17117, 17118, + 8559: 17116, 17118, 17119, + 8560: 17120, 17121, 17122, + 8561: 17120, 17122, 17123, + 8562: 17124, 17125, 17126, + 8563: 17124, 17126, 17127, + 8564: 17128, 17129, 17130, + 8565: 17128, 17130, 17131, + 8566: 17132, 17133, 17134, + 8567: 17132, 17134, 17135, + 8568: 17136, 17137, 17138, + 8569: 17136, 17138, 17139, + 8570: 17140, 17141, 17142, + 8571: 17140, 17142, 17143, + 8572: 17144, 17145, 17146, + 8573: 17144, 17146, 17147, + 8574: 17148, 17149, 17150, + 8575: 17148, 17150, 17151, + 8576: 17152, 17153, 17154, + 8577: 17152, 17154, 17155, + 8578: 17156, 17157, 17158, + 8579: 17156, 17158, 17159, + 8580: 17160, 17161, 17162, + 8581: 17160, 17162, 17163, + 8582: 17164, 17165, 17166, + 8583: 17164, 17166, 17167, + 8584: 17168, 17169, 17170, + 8585: 17168, 17170, 17171, + 8586: 17172, 17173, 17174, + 8587: 17172, 17174, 17175, + 8588: 17176, 17177, 17178, + 8589: 17176, 17178, 17179, + 8590: 17180, 17181, 17182, + 8591: 17180, 17182, 17183, + 8592: 17184, 17185, 17186, + 8593: 17184, 17186, 17187, + 8594: 17188, 17189, 17190, + 8595: 17188, 17190, 17191, + 8596: 17192, 17193, 17194, + 8597: 17192, 17194, 17195, + 8598: 17196, 17197, 17198, + 8599: 17196, 17198, 17199, + 8600: 17200, 17201, 17202, + 8601: 17200, 17202, 17203, + 8602: 17204, 17205, 17206, + 8603: 17204, 17206, 17207, + 8604: 17208, 17209, 17210, + 8605: 17208, 17210, 17211, + 8606: 17212, 17213, 17214, + 8607: 17212, 17214, 17215, + 8608: 17216, 17217, 17218, + 8609: 17216, 17218, 17219, + 8610: 17220, 17221, 17222, + 8611: 17220, 17222, 17223, + 8612: 17224, 17225, 17226, + 8613: 17224, 17226, 17227, + 8614: 17228, 17229, 17230, + 8615: 17228, 17230, 17231, + 8616: 17232, 17233, 17234, + 8617: 17232, 17234, 17235, + 8618: 17236, 17237, 17238, + 8619: 17236, 17238, 17239, + 8620: 17240, 17241, 17242, + 8621: 17240, 17242, 17243, + 8622: 17244, 17245, 17246, + 8623: 17244, 17246, 17247, + 8624: 17248, 17249, 17250, + 8625: 17248, 17250, 17251, + 8626: 17252, 17253, 17254, + 8627: 17252, 17254, 17255, + 8628: 17256, 17257, 17258, + 8629: 17256, 17258, 17259, + 8630: 17260, 17261, 17262, + 8631: 17260, 17262, 17263, + 8632: 17264, 17265, 17266, + 8633: 17264, 17266, 17267, + 8634: 17268, 17269, 17270, + 8635: 17268, 17270, 17271, + 8636: 17272, 17273, 17274, + 8637: 17272, 17274, 17275, + 8638: 17276, 17277, 17278, + 8639: 17276, 17278, 17279, + 8640: 17280, 17281, 17282, + 8641: 17280, 17282, 17283, + 8642: 17284, 17285, 17286, + 8643: 17284, 17286, 17287, + 8644: 17288, 17289, 17290, + 8645: 17288, 17290, 17291, + 8646: 17292, 17293, 17294, + 8647: 17292, 17294, 17295, + 8648: 17296, 17297, 17298, + 8649: 17296, 17298, 17299, + 8650: 17300, 17301, 17302, + 8651: 17300, 17302, 17303, + 8652: 17304, 17305, 17306, + 8653: 17304, 17306, 17307, + 8654: 17308, 17309, 17310, + 8655: 17308, 17310, 17311, + 8656: 17312, 17313, 17314, + 8657: 17312, 17314, 17315, + 8658: 17316, 17317, 17318, + 8659: 17316, 17318, 17319, + 8660: 17320, 17321, 17322, + 8661: 17320, 17322, 17323, + 8662: 17324, 17325, 17326, + 8663: 17324, 17326, 17327, + 8664: 17328, 17329, 17330, + 8665: 17328, 17330, 17331, + 8666: 17332, 17333, 17334, + 8667: 17332, 17334, 17335, + 8668: 17336, 17337, 17338, + 8669: 17336, 17338, 17339, + 8670: 17340, 17341, 17342, + 8671: 17340, 17342, 17343, + 8672: 17344, 17345, 17346, + 8673: 17344, 17346, 17347, + 8674: 17348, 17349, 17350, + 8675: 17348, 17350, 17351, + 8676: 17352, 17353, 17354, + 8677: 17352, 17354, 17355, + 8678: 17356, 17357, 17358, + 8679: 17356, 17358, 17359, + 8680: 17360, 17361, 17362, + 8681: 17360, 17362, 17363, + 8682: 17364, 17365, 17366, + 8683: 17364, 17366, 17367, + 8684: 17368, 17369, 17370, + 8685: 17368, 17370, 17371, + 8686: 17372, 17373, 17374, + 8687: 17372, 17374, 17375, + 8688: 17376, 17377, 17378, + 8689: 17376, 17378, 17379, + 8690: 17380, 17381, 17382, + 8691: 17380, 17382, 17383, + 8692: 17384, 17385, 17386, + 8693: 17384, 17386, 17387, + 8694: 17388, 17389, 17390, + 8695: 17388, 17390, 17391, + 8696: 17392, 17393, 17394, + 8697: 17392, 17394, 17395, + 8698: 17396, 17397, 17398, + 8699: 17396, 17398, 17399, + 8700: 17400, 17401, 17402, + 8701: 17400, 17402, 17403, + 8702: 17404, 17405, 17406, + 8703: 17404, 17406, 17407, + 8704: 17408, 17409, 17410, + 8705: 17408, 17410, 17411, + 8706: 17412, 17413, 17414, + 8707: 17412, 17414, 17415, + 8708: 17416, 17417, 17418, + 8709: 17416, 17418, 17419, + 8710: 17420, 17421, 17422, + 8711: 17420, 17422, 17423, + 8712: 17424, 17425, 17426, + 8713: 17424, 17426, 17427, + 8714: 17428, 17429, 17430, + 8715: 17428, 17430, 17431, + 8716: 17432, 17433, 17434, + 8717: 17432, 17434, 17435, + 8718: 17436, 17437, 17438, + 8719: 17436, 17438, 17439, + 8720: 17440, 17441, 17442, + 8721: 17440, 17442, 17443, + 8722: 17444, 17445, 17446, + 8723: 17444, 17446, 17447, + 8724: 17448, 17449, 17450, + 8725: 17448, 17450, 17451, + 8726: 17452, 17453, 17454, + 8727: 17452, 17454, 17455, + 8728: 17456, 17457, 17458, + 8729: 17456, 17458, 17459, + 8730: 17460, 17461, 17462, + 8731: 17460, 17462, 17463, + 8732: 17464, 17465, 17466, + 8733: 17464, 17466, 17467, + 8734: 17468, 17469, 17470, + 8735: 17468, 17470, 17471, + 8736: 17472, 17473, 17474, + 8737: 17472, 17474, 17475, + 8738: 17476, 17477, 17478, + 8739: 17476, 17478, 17479, + 8740: 17480, 17481, 17482, + 8741: 17480, 17482, 17483, + 8742: 17484, 17485, 17486, + 8743: 17484, 17486, 17487, + 8744: 17488, 17489, 17490, + 8745: 17488, 17490, 17491, + 8746: 17492, 17493, 17494, + 8747: 17492, 17494, 17495, + 8748: 17496, 17497, 17498, + 8749: 17496, 17498, 17499, + 8750: 17500, 17501, 17502, + 8751: 17500, 17502, 17503, + 8752: 17504, 17505, 17506, + 8753: 17504, 17506, 17507, + 8754: 17508, 17509, 17510, + 8755: 17508, 17510, 17511, + 8756: 17512, 17513, 17514, + 8757: 17512, 17514, 17515, + 8758: 17516, 17517, 17518, + 8759: 17516, 17518, 17519, + 8760: 17520, 17521, 17522, + 8761: 17520, 17522, 17523, + 8762: 17524, 17525, 17526, + 8763: 17524, 17526, 17527, + 8764: 17528, 17529, 17530, + 8765: 17528, 17530, 17531, + 8766: 17532, 17533, 17534, + 8767: 17532, 17534, 17535, + 8768: 17536, 17537, 17538, + 8769: 17536, 17538, 17539, + 8770: 17540, 17541, 17542, + 8771: 17540, 17542, 17543, + 8772: 17544, 17545, 17546, + 8773: 17544, 17546, 17547, + 8774: 17548, 17549, 17550, + 8775: 17548, 17550, 17551, + 8776: 17552, 17553, 17554, + 8777: 17552, 17554, 17555, + 8778: 17556, 17557, 17558, + 8779: 17556, 17558, 17559, + 8780: 17560, 17561, 17562, + 8781: 17560, 17562, 17563, + 8782: 17564, 17565, 17566, + 8783: 17564, 17566, 17567, + 8784: 17568, 17569, 17570, + 8785: 17568, 17570, 17571, + 8786: 17572, 17573, 17574, + 8787: 17572, 17574, 17575, + 8788: 17576, 17577, 17578, + 8789: 17576, 17578, 17579, + 8790: 17580, 17581, 17582, + 8791: 17580, 17582, 17583, + 8792: 17584, 17585, 17586, + 8793: 17584, 17586, 17587, + 8794: 17588, 17589, 17590, + 8795: 17588, 17590, 17591, + 8796: 17592, 17593, 17594, + 8797: 17592, 17594, 17595, + 8798: 17596, 17597, 17598, + 8799: 17596, 17598, 17599, + 8800: 17600, 17601, 17602, + 8801: 17600, 17602, 17603, + 8802: 17604, 17605, 17606, + 8803: 17604, 17606, 17607, + 8804: 17608, 17609, 17610, + 8805: 17608, 17610, 17611, + 8806: 17612, 17613, 17614, + 8807: 17612, 17614, 17615, + 8808: 17616, 17617, 17618, + 8809: 17616, 17618, 17619, + 8810: 17620, 17621, 17622, + 8811: 17620, 17622, 17623, + 8812: 17624, 17625, 17626, + 8813: 17624, 17626, 17627, + 8814: 17628, 17629, 17630, + 8815: 17628, 17630, 17631, + 8816: 17632, 17633, 17634, + 8817: 17632, 17634, 17635, + 8818: 17636, 17637, 17638, + 8819: 17636, 17638, 17639, + 8820: 17640, 17641, 17642, + 8821: 17640, 17642, 17643, + 8822: 17644, 17645, 17646, + 8823: 17644, 17646, 17647, + 8824: 17648, 17649, 17650, + 8825: 17648, 17650, 17651, + 8826: 17652, 17653, 17654, + 8827: 17652, 17654, 17655, + 8828: 17656, 17657, 17658, + 8829: 17656, 17658, 17659, + 8830: 17660, 17661, 17662, + 8831: 17660, 17662, 17663, + 8832: 17664, 17665, 17666, + 8833: 17664, 17666, 17667, + 8834: 17668, 17669, 17670, + 8835: 17668, 17670, 17671, + 8836: 17672, 17673, 17674, + 8837: 17672, 17674, 17675, + 8838: 17676, 17677, 17678, + 8839: 17676, 17678, 17679, + 8840: 17680, 17681, 17682, + 8841: 17680, 17682, 17683, + 8842: 17684, 17685, 17686, + 8843: 17684, 17686, 17687, + 8844: 17688, 17689, 17690, + 8845: 17688, 17690, 17691, + 8846: 17692, 17693, 17694, + 8847: 17692, 17694, 17695, + 8848: 17696, 17697, 17698, + 8849: 17696, 17698, 17699, + 8850: 17700, 17701, 17702, + 8851: 17700, 17702, 17703, + 8852: 17704, 17705, 17706, + 8853: 17704, 17706, 17707, + 8854: 17708, 17709, 17710, + 8855: 17708, 17710, 17711, + 8856: 17712, 17713, 17714, + 8857: 17712, 17714, 17715, + 8858: 17716, 17717, 17718, + 8859: 17716, 17718, 17719, + 8860: 17720, 17721, 17722, + 8861: 17720, 17722, 17723, + 8862: 17724, 17725, 17726, + 8863: 17724, 17726, 17727, + 8864: 17728, 17729, 17730, + 8865: 17728, 17730, 17731, + 8866: 17732, 17733, 17734, + 8867: 17732, 17734, 17735, + 8868: 17736, 17737, 17738, + 8869: 17736, 17738, 17739, + 8870: 17740, 17741, 17742, + 8871: 17740, 17742, 17743, + 8872: 17744, 17745, 17746, + 8873: 17744, 17746, 17747, + 8874: 17748, 17749, 17750, + 8875: 17748, 17750, 17751, + 8876: 17752, 17753, 17754, + 8877: 17752, 17754, 17755, + 8878: 17756, 17757, 17758, + 8879: 17756, 17758, 17759, + 8880: 17760, 17761, 17762, + 8881: 17760, 17762, 17763, + 8882: 17764, 17765, 17766, + 8883: 17764, 17766, 17767, + 8884: 17768, 17769, 17770, + 8885: 17768, 17770, 17771, + 8886: 17772, 17773, 17774, + 8887: 17772, 17774, 17775, + 8888: 17776, 17777, 17778, + 8889: 17776, 17778, 17779, + 8890: 17780, 17781, 17782, + 8891: 17780, 17782, 17783, + 8892: 17784, 17785, 17786, + 8893: 17784, 17786, 17787, + 8894: 17788, 17789, 17790, + 8895: 17788, 17790, 17791, + 8896: 17792, 17793, 17794, + 8897: 17792, 17794, 17795, + 8898: 17796, 17797, 17798, + 8899: 17796, 17798, 17799, + 8900: 17800, 17801, 17802, + 8901: 17800, 17802, 17803, + 8902: 17804, 17805, 17806, + 8903: 17804, 17806, 17807, + 8904: 17808, 17809, 17810, + 8905: 17808, 17810, 17811, + 8906: 17812, 17813, 17814, + 8907: 17812, 17814, 17815, + 8908: 17816, 17817, 17818, + 8909: 17816, 17818, 17819, + 8910: 17820, 17821, 17822, + 8911: 17820, 17822, 17823, + 8912: 17824, 17825, 17826, + 8913: 17824, 17826, 17827, + 8914: 17828, 17829, 17830, + 8915: 17828, 17830, 17831, + 8916: 17832, 17833, 17834, + 8917: 17832, 17834, 17835, + 8918: 17836, 17837, 17838, + 8919: 17836, 17838, 17839, + 8920: 17840, 17841, 17842, + 8921: 17840, 17842, 17843, + 8922: 17844, 17845, 17846, + 8923: 17844, 17846, 17847, + 8924: 17848, 17849, 17850, + 8925: 17848, 17850, 17851, + 8926: 17852, 17853, 17854, + 8927: 17852, 17854, 17855, + 8928: 17856, 17857, 17858, + 8929: 17856, 17858, 17859, + 8930: 17860, 17861, 17862, + 8931: 17860, 17862, 17863, + 8932: 17864, 17865, 17866, + 8933: 17864, 17866, 17867, + 8934: 17868, 17869, 17870, + 8935: 17868, 17870, 17871, + 8936: 17872, 17873, 17874, + 8937: 17872, 17874, 17875, + 8938: 17876, 17877, 17878, + 8939: 17876, 17878, 17879, + 8940: 17880, 17881, 17882, + 8941: 17880, 17882, 17883, + 8942: 17884, 17885, 17886, + 8943: 17884, 17886, 17887, + 8944: 17888, 17889, 17890, + 8945: 17888, 17890, 17891, + 8946: 17892, 17893, 17894, + 8947: 17892, 17894, 17895, + 8948: 17896, 17897, 17898, + 8949: 17896, 17898, 17899, + 8950: 17900, 17901, 17902, + 8951: 17900, 17902, 17903, + 8952: 17904, 17905, 17906, + 8953: 17904, 17906, 17907, + 8954: 17908, 17909, 17910, + 8955: 17908, 17910, 17911, + 8956: 17912, 17913, 17914, + 8957: 17912, 17914, 17915, + 8958: 17916, 17917, 17918, + 8959: 17916, 17918, 17919, + 8960: 17920, 17921, 17922, + 8961: 17920, 17922, 17923, + 8962: 17924, 17925, 17926, + 8963: 17924, 17926, 17927, + 8964: 17928, 17929, 17930, + 8965: 17928, 17930, 17931, + 8966: 17932, 17933, 17934, + 8967: 17932, 17934, 17935, + 8968: 17936, 17937, 17938, + 8969: 17936, 17938, 17939, + 8970: 17940, 17941, 17942, + 8971: 17940, 17942, 17943, + 8972: 17944, 17945, 17946, + 8973: 17944, 17946, 17947, + 8974: 17948, 17949, 17950, + 8975: 17948, 17950, 17951, + 8976: 17952, 17953, 17954, + 8977: 17952, 17954, 17955, + 8978: 17956, 17957, 17958, + 8979: 17956, 17958, 17959, + 8980: 17960, 17961, 17962, + 8981: 17960, 17962, 17963, + 8982: 17964, 17965, 17966, + 8983: 17964, 17966, 17967, + 8984: 17968, 17969, 17970, + 8985: 17968, 17970, 17971, + 8986: 17972, 17973, 17974, + 8987: 17972, 17974, 17975, + 8988: 17976, 17977, 17978, + 8989: 17976, 17978, 17979, + 8990: 17980, 17981, 17982, + 8991: 17980, 17982, 17983, + 8992: 17984, 17985, 17986, + 8993: 17984, 17986, 17987, + 8994: 17988, 17989, 17990, + 8995: 17988, 17990, 17991, + 8996: 17992, 17993, 17994, + 8997: 17992, 17994, 17995, + 8998: 17996, 17997, 17998, + 8999: 17996, 17998, 17999, + 9000: 18000, 18001, 18002, + 9001: 18000, 18002, 18003, + 9002: 18004, 18005, 18006, + 9003: 18004, 18006, 18007, + 9004: 18008, 18009, 18010, + 9005: 18008, 18010, 18011, + 9006: 18012, 18013, 18014, + 9007: 18012, 18014, 18015, + 9008: 18016, 18017, 18018, + 9009: 18016, 18018, 18019, + 9010: 18020, 18021, 18022, + 9011: 18020, 18022, 18023, + 9012: 18024, 18025, 18026, + 9013: 18024, 18026, 18027, + 9014: 18028, 18029, 18030, + 9015: 18028, 18030, 18031, + 9016: 18032, 18033, 18034, + 9017: 18032, 18034, 18035, + 9018: 18036, 18037, 18038, + 9019: 18036, 18038, 18039, + 9020: 18040, 18041, 18042, + 9021: 18040, 18042, 18043, + 9022: 18044, 18045, 18046, + 9023: 18044, 18046, 18047, + 9024: 18048, 18049, 18050, + 9025: 18048, 18050, 18051, + 9026: 18052, 18053, 18054, + 9027: 18052, 18054, 18055, + 9028: 18056, 18057, 18058, + 9029: 18056, 18058, 18059, + 9030: 18060, 18061, 18062, + 9031: 18060, 18062, 18063, + 9032: 18064, 18065, 18066, + 9033: 18064, 18066, 18067, + 9034: 18068, 18069, 18070, + 9035: 18068, 18070, 18071, + 9036: 18072, 18073, 18074, + 9037: 18072, 18074, 18075, + 9038: 18076, 18077, 18078, + 9039: 18076, 18078, 18079, + 9040: 18080, 18081, 18082, + 9041: 18080, 18082, 18083, + 9042: 18084, 18085, 18086, + 9043: 18084, 18086, 18087, + 9044: 18088, 18089, 18090, + 9045: 18088, 18090, 18091, + 9046: 18092, 18093, 18094, + 9047: 18092, 18094, 18095, + 9048: 18096, 18097, 18098, + 9049: 18096, 18098, 18099, + 9050: 18100, 18101, 18102, + 9051: 18100, 18102, 18103, + 9052: 18104, 18105, 18106, + 9053: 18104, 18106, 18107, + 9054: 18108, 18109, 18110, + 9055: 18108, 18110, 18111, + 9056: 18112, 18113, 18114, + 9057: 18112, 18114, 18115, + 9058: 18116, 18117, 18118, + 9059: 18116, 18118, 18119, + 9060: 18120, 18121, 18122, + 9061: 18120, 18122, 18123, + 9062: 18124, 18125, 18126, + 9063: 18124, 18126, 18127, + 9064: 18128, 18129, 18130, + 9065: 18128, 18130, 18131, + 9066: 18132, 18133, 18134, + 9067: 18132, 18134, 18135, + 9068: 18136, 18137, 18138, + 9069: 18136, 18138, 18139, + 9070: 18140, 18141, 18142, + 9071: 18140, 18142, 18143, + 9072: 18144, 18145, 18146, + 9073: 18144, 18146, 18147, + 9074: 18148, 18149, 18150, + 9075: 18148, 18150, 18151, + 9076: 18152, 18153, 18154, + 9077: 18152, 18154, 18155, + 9078: 18156, 18157, 18158, + 9079: 18156, 18158, 18159, + 9080: 18160, 18161, 18162, + 9081: 18160, 18162, 18163, + 9082: 18164, 18165, 18166, + 9083: 18164, 18166, 18167, + 9084: 18168, 18169, 18170, + 9085: 18168, 18170, 18171, + 9086: 18172, 18173, 18174, + 9087: 18172, 18174, 18175, + 9088: 18176, 18177, 18178, + 9089: 18176, 18178, 18179, + 9090: 18180, 18181, 18182, + 9091: 18180, 18182, 18183, + 9092: 18184, 18185, 18186, + 9093: 18184, 18186, 18187, + 9094: 18188, 18189, 18190, + 9095: 18188, 18190, 18191, + 9096: 18192, 18193, 18194, + 9097: 18192, 18194, 18195, + 9098: 18196, 18197, 18198, + 9099: 18196, 18198, 18199, + 9100: 18200, 18201, 18202, + 9101: 18200, 18202, 18203, + 9102: 18204, 18205, 18206, + 9103: 18204, 18206, 18207, + 9104: 18208, 18209, 18210, + 9105: 18208, 18210, 18211, + 9106: 18212, 18213, 18214, + 9107: 18212, 18214, 18215, + 9108: 18216, 18217, 18218, + 9109: 18216, 18218, 18219, + 9110: 18220, 18221, 18222, + 9111: 18220, 18222, 18223, + 9112: 18224, 18225, 18226, + 9113: 18224, 18226, 18227, + 9114: 18228, 18229, 18230, + 9115: 18228, 18230, 18231, + 9116: 18232, 18233, 18234, + 9117: 18232, 18234, 18235, + 9118: 18236, 18237, 18238, + 9119: 18236, 18238, 18239, + 9120: 18240, 18241, 18242, + 9121: 18240, 18242, 18243, + 9122: 18244, 18245, 18246, + 9123: 18244, 18246, 18247, + 9124: 18248, 18249, 18250, + 9125: 18248, 18250, 18251, + 9126: 18252, 18253, 18254, + 9127: 18252, 18254, 18255, + 9128: 18256, 18257, 18258, + 9129: 18256, 18258, 18259, + 9130: 18260, 18261, 18262, + 9131: 18260, 18262, 18263, + 9132: 18264, 18265, 18266, + 9133: 18264, 18266, 18267, + 9134: 18268, 18269, 18270, + 9135: 18268, 18270, 18271, + 9136: 18272, 18273, 18274, + 9137: 18272, 18274, 18275, + 9138: 18276, 18277, 18278, + 9139: 18276, 18278, 18279, + 9140: 18280, 18281, 18282, + 9141: 18280, 18282, 18283, + 9142: 18284, 18285, 18286, + 9143: 18284, 18286, 18287, + 9144: 18288, 18289, 18290, + 9145: 18288, 18290, 18291, + 9146: 18292, 18293, 18294, + 9147: 18292, 18294, 18295, + 9148: 18296, 18297, 18298, + 9149: 18296, 18298, 18299, + 9150: 18300, 18301, 18302, + 9151: 18300, 18302, 18303, + 9152: 18304, 18305, 18306, + 9153: 18304, 18306, 18307, + 9154: 18308, 18309, 18310, + 9155: 18308, 18310, 18311, + 9156: 18312, 18313, 18314, + 9157: 18312, 18314, 18315, + 9158: 18316, 18317, 18318, + 9159: 18316, 18318, 18319, + 9160: 18320, 18321, 18322, + 9161: 18320, 18322, 18323, + 9162: 18324, 18325, 18326, + 9163: 18324, 18326, 18327, + 9164: 18328, 18329, 18330, + 9165: 18328, 18330, 18331, + 9166: 18332, 18333, 18334, + 9167: 18332, 18334, 18335, + 9168: 18336, 18337, 18338, + 9169: 18336, 18338, 18339, + 9170: 18340, 18341, 18342, + 9171: 18340, 18342, 18343, + 9172: 18344, 18345, 18346, + 9173: 18344, 18346, 18347, + 9174: 18348, 18349, 18350, + 9175: 18348, 18350, 18351, + 9176: 18352, 18353, 18354, + 9177: 18352, 18354, 18355, + 9178: 18356, 18357, 18358, + 9179: 18356, 18358, 18359, + 9180: 18360, 18361, 18362, + 9181: 18360, 18362, 18363, + 9182: 18364, 18365, 18366, + 9183: 18364, 18366, 18367, + 9184: 18368, 18369, 18370, + 9185: 18368, 18370, 18371, + 9186: 18372, 18373, 18374, + 9187: 18372, 18374, 18375, + 9188: 18376, 18377, 18378, + 9189: 18376, 18378, 18379, + 9190: 18380, 18381, 18382, + 9191: 18380, 18382, 18383, + 9192: 18384, 18385, 18386, + 9193: 18384, 18386, 18387, + 9194: 18388, 18389, 18390, + 9195: 18388, 18390, 18391, + 9196: 18392, 18393, 18394, + 9197: 18392, 18394, 18395, + 9198: 18396, 18397, 18398, + 9199: 18396, 18398, 18399, + 9200: 18400, 18401, 18402, + 9201: 18400, 18402, 18403, + 9202: 18404, 18405, 18406, + 9203: 18404, 18406, 18407, + 9204: 18408, 18409, 18410, + 9205: 18408, 18410, 18411, + 9206: 18412, 18413, 18414, + 9207: 18412, 18414, 18415, + 9208: 18416, 18417, 18418, + 9209: 18416, 18418, 18419, + 9210: 18420, 18421, 18422, + 9211: 18420, 18422, 18423, + 9212: 18424, 18425, 18426, + 9213: 18424, 18426, 18427, + 9214: 18428, 18429, 18430, + 9215: 18428, 18430, 18431, + 9216: 18432, 18433, 18434, + 9217: 18432, 18434, 18435, + 9218: 18436, 18437, 18438, + 9219: 18436, 18438, 18439, + 9220: 18440, 18441, 18442, + 9221: 18440, 18442, 18443, + 9222: 18444, 18445, 18446, + 9223: 18444, 18446, 18447, + 9224: 18448, 18449, 18450, + 9225: 18448, 18450, 18451, + 9226: 18452, 18453, 18454, + 9227: 18452, 18454, 18455, + 9228: 18456, 18457, 18458, + 9229: 18456, 18458, 18459, + 9230: 18460, 18461, 18462, + 9231: 18460, 18462, 18463, + 9232: 18464, 18465, 18466, + 9233: 18464, 18466, 18467, + 9234: 18468, 18469, 18470, + 9235: 18468, 18470, 18471, + 9236: 18472, 18473, 18474, + 9237: 18472, 18474, 18475, + 9238: 18476, 18477, 18478, + 9239: 18476, 18478, 18479, + 9240: 18480, 18481, 18482, + 9241: 18480, 18482, 18483, + 9242: 18484, 18485, 18486, + 9243: 18484, 18486, 18487, + 9244: 18488, 18489, 18490, + 9245: 18488, 18490, 18491, + 9246: 18492, 18493, 18494, + 9247: 18492, 18494, 18495, + 9248: 18496, 18497, 18498, + 9249: 18496, 18498, 18499, + 9250: 18500, 18501, 18502, + 9251: 18500, 18502, 18503, + 9252: 18504, 18505, 18506, + 9253: 18504, 18506, 18507, + 9254: 18508, 18509, 18510, + 9255: 18508, 18510, 18511, + 9256: 18512, 18513, 18514, + 9257: 18512, 18514, 18515, + 9258: 18516, 18517, 18518, + 9259: 18516, 18518, 18519, + 9260: 18520, 18521, 18522, + 9261: 18520, 18522, 18523, + 9262: 18524, 18525, 18526, + 9263: 18524, 18526, 18527, + 9264: 18528, 18529, 18530, + 9265: 18528, 18530, 18531, + 9266: 18532, 18533, 18534, + 9267: 18532, 18534, 18535, + 9268: 18536, 18537, 18538, + 9269: 18536, 18538, 18539, + 9270: 18540, 18541, 18542, + 9271: 18540, 18542, 18543, + 9272: 18544, 18545, 18546, + 9273: 18544, 18546, 18547, + 9274: 18548, 18549, 18550, + 9275: 18548, 18550, 18551, + 9276: 18552, 18553, 18554, + 9277: 18552, 18554, 18555, + 9278: 18556, 18557, 18558, + 9279: 18556, 18558, 18559, + 9280: 18560, 18561, 18562, + 9281: 18560, 18562, 18563, + 9282: 18564, 18565, 18566, + 9283: 18564, 18566, 18567, + 9284: 18568, 18569, 18570, + 9285: 18568, 18570, 18571, + 9286: 18572, 18573, 18574, + 9287: 18572, 18574, 18575, + 9288: 18576, 18577, 18578, + 9289: 18576, 18578, 18579, + 9290: 18580, 18581, 18582, + 9291: 18580, 18582, 18583, + 9292: 18584, 18585, 18586, + 9293: 18584, 18586, 18587, + 9294: 18588, 18589, 18590, + 9295: 18588, 18590, 18591, + 9296: 18592, 18593, 18594, + 9297: 18592, 18594, 18595, + 9298: 18596, 18597, 18598, + 9299: 18596, 18598, 18599, + 9300: 18600, 18601, 18602, + 9301: 18600, 18602, 18603, + 9302: 18604, 18605, 18606, + 9303: 18604, 18606, 18607, + 9304: 18608, 18609, 18610, + 9305: 18608, 18610, 18611, + 9306: 18612, 18613, 18614, + 9307: 18612, 18614, 18615, + 9308: 18616, 18617, 18618, + 9309: 18616, 18618, 18619, + 9310: 18620, 18621, 18622, + 9311: 18620, 18622, 18623, + 9312: 18624, 18625, 18626, + 9313: 18624, 18626, 18627, + 9314: 18628, 18629, 18630, + 9315: 18628, 18630, 18631, + 9316: 18632, 18633, 18634, + 9317: 18632, 18634, 18635, + 9318: 18636, 18637, 18638, + 9319: 18636, 18638, 18639, + 9320: 18640, 18641, 18642, + 9321: 18640, 18642, 18643, + 9322: 18644, 18645, 18646, + 9323: 18644, 18646, 18647, + 9324: 18648, 18649, 18650, + 9325: 18648, 18650, 18651, + 9326: 18652, 18653, 18654, + 9327: 18652, 18654, 18655, + 9328: 18656, 18657, 18658, + 9329: 18656, 18658, 18659, + 9330: 18660, 18661, 18662, + 9331: 18660, 18662, 18663, + 9332: 18664, 18665, 18666, + 9333: 18664, 18666, 18667, + 9334: 18668, 18669, 18670, + 9335: 18668, 18670, 18671, + 9336: 18672, 18673, 18674, + 9337: 18672, 18674, 18675, + 9338: 18676, 18677, 18678, + 9339: 18676, 18678, 18679, + 9340: 18680, 18681, 18682, + 9341: 18680, 18682, 18683, + 9342: 18684, 18685, 18686, + 9343: 18684, 18686, 18687, + 9344: 18688, 18689, 18690, + 9345: 18688, 18690, 18691, + 9346: 18692, 18693, 18694, + 9347: 18692, 18694, 18695, + 9348: 18696, 18697, 18698, + 9349: 18696, 18698, 18699, + 9350: 18700, 18701, 18702, + 9351: 18700, 18702, 18703, + 9352: 18704, 18705, 18706, + 9353: 18704, 18706, 18707, + 9354: 18708, 18709, 18710, + 9355: 18708, 18710, 18711, + 9356: 18712, 18713, 18714, + 9357: 18712, 18714, 18715, + 9358: 18716, 18717, 18718, + 9359: 18716, 18718, 18719, + 9360: 18720, 18721, 18722, + 9361: 18720, 18722, 18723, + 9362: 18724, 18725, 18726, + 9363: 18724, 18726, 18727, + 9364: 18728, 18729, 18730, + 9365: 18728, 18730, 18731, + 9366: 18732, 18733, 18734, + 9367: 18732, 18734, 18735, + 9368: 18736, 18737, 18738, + 9369: 18736, 18738, 18739, + 9370: 18740, 18741, 18742, + 9371: 18740, 18742, 18743, + 9372: 18744, 18745, 18746, + 9373: 18744, 18746, 18747, + 9374: 18748, 18749, 18750, + 9375: 18748, 18750, 18751, + 9376: 18752, 18753, 18754, + 9377: 18752, 18754, 18755, + 9378: 18756, 18757, 18758, + 9379: 18756, 18758, 18759, + 9380: 18760, 18761, 18762, + 9381: 18760, 18762, 18763, + 9382: 18764, 18765, 18766, + 9383: 18764, 18766, 18767, + 9384: 18768, 18769, 18770, + 9385: 18768, 18770, 18771, + 9386: 18772, 18773, 18774, + 9387: 18772, 18774, 18775, + 9388: 18776, 18777, 18778, + 9389: 18776, 18778, 18779, + 9390: 18780, 18781, 18782, + 9391: 18780, 18782, 18783, + 9392: 18784, 18785, 18786, + 9393: 18784, 18786, 18787, + 9394: 18788, 18789, 18790, + 9395: 18788, 18790, 18791, + 9396: 18792, 18793, 18794, + 9397: 18792, 18794, 18795, + 9398: 18796, 18797, 18798, + 9399: 18796, 18798, 18799, + 9400: 18800, 18801, 18802, + 9401: 18800, 18802, 18803, + 9402: 18804, 18805, 18806, + 9403: 18804, 18806, 18807, + 9404: 18808, 18809, 18810, + 9405: 18808, 18810, 18811, + 9406: 18812, 18813, 18814, + 9407: 18812, 18814, 18815, + 9408: 18816, 18817, 18818, + 9409: 18816, 18818, 18819, + 9410: 18820, 18821, 18822, + 9411: 18820, 18822, 18823, + 9412: 18824, 18825, 18826, + 9413: 18824, 18826, 18827, + 9414: 18828, 18829, 18830, + 9415: 18828, 18830, 18831, + 9416: 18832, 18833, 18834, + 9417: 18832, 18834, 18835, + 9418: 18836, 18837, 18838, + 9419: 18836, 18838, 18839, + 9420: 18840, 18841, 18842, + 9421: 18840, 18842, 18843, + 9422: 18844, 18845, 18846, + 9423: 18844, 18846, 18847, + 9424: 18848, 18849, 18850, + 9425: 18848, 18850, 18851, + 9426: 18852, 18853, 18854, + 9427: 18852, 18854, 18855, + 9428: 18856, 18857, 18858, + 9429: 18856, 18858, 18859, + 9430: 18860, 18861, 18862, + 9431: 18860, 18862, 18863, + 9432: 18864, 18865, 18866, + 9433: 18864, 18866, 18867, + 9434: 18868, 18869, 18870, + 9435: 18868, 18870, 18871, + 9436: 18872, 18873, 18874, + 9437: 18872, 18874, 18875, + 9438: 18876, 18877, 18878, + 9439: 18876, 18878, 18879, + 9440: 18880, 18881, 18882, + 9441: 18880, 18882, 18883, + 9442: 18884, 18885, 18886, + 9443: 18884, 18886, 18887, + 9444: 18888, 18889, 18890, + 9445: 18888, 18890, 18891, + 9446: 18892, 18893, 18894, + 9447: 18892, 18894, 18895, + 9448: 18896, 18897, 18898, + 9449: 18896, 18898, 18899, + 9450: 18900, 18901, 18902, + 9451: 18900, 18902, 18903, + 9452: 18904, 18905, 18906, + 9453: 18904, 18906, 18907, + 9454: 18908, 18909, 18910, + 9455: 18908, 18910, 18911, + 9456: 18912, 18913, 18914, + 9457: 18912, 18914, 18915, + 9458: 18916, 18917, 18918, + 9459: 18916, 18918, 18919, + 9460: 18920, 18921, 18922, + 9461: 18920, 18922, 18923, + 9462: 18924, 18925, 18926, + 9463: 18924, 18926, 18927, + 9464: 18928, 18929, 18930, + 9465: 18928, 18930, 18931, + 9466: 18932, 18933, 18934, + 9467: 18932, 18934, 18935, + 9468: 18936, 18937, 18938, + 9469: 18936, 18938, 18939, + 9470: 18940, 18941, 18942, + 9471: 18940, 18942, 18943, + 9472: 18944, 18945, 18946, + 9473: 18944, 18946, 18947, + 9474: 18948, 18949, 18950, + 9475: 18948, 18950, 18951, + 9476: 18952, 18953, 18954, + 9477: 18952, 18954, 18955, + 9478: 18956, 18957, 18958, + 9479: 18956, 18958, 18959, + 9480: 18960, 18961, 18962, + 9481: 18960, 18962, 18963, + 9482: 18964, 18965, 18966, + 9483: 18964, 18966, 18967, + 9484: 18968, 18969, 18970, + 9485: 18968, 18970, 18971, + 9486: 18972, 18973, 18974, + 9487: 18972, 18974, 18975, + 9488: 18976, 18977, 18978, + 9489: 18976, 18978, 18979, + 9490: 18980, 18981, 18982, + 9491: 18980, 18982, 18983, + 9492: 18984, 18985, 18986, + 9493: 18984, 18986, 18987, + 9494: 18988, 18989, 18990, + 9495: 18988, 18990, 18991, + 9496: 18992, 18993, 18994, + 9497: 18992, 18994, 18995, + 9498: 18996, 18997, 18998, + 9499: 18996, 18998, 18999, + 9500: 19000, 19001, 19002, + 9501: 19000, 19002, 19003, + 9502: 19004, 19005, 19006, + 9503: 19004, 19006, 19007, + 9504: 19008, 19009, 19010, + 9505: 19008, 19010, 19011, + 9506: 19012, 19013, 19014, + 9507: 19012, 19014, 19015, + 9508: 19016, 19017, 19018, + 9509: 19016, 19018, 19019, + 9510: 19020, 19021, 19022, + 9511: 19020, 19022, 19023, + 9512: 19024, 19025, 19026, + 9513: 19024, 19026, 19027, + 9514: 19028, 19029, 19030, + 9515: 19028, 19030, 19031, + 9516: 19032, 19033, 19034, + 9517: 19032, 19034, 19035, + 9518: 19036, 19037, 19038, + 9519: 19036, 19038, 19039, + 9520: 19040, 19041, 19042, + 9521: 19040, 19042, 19043, + 9522: 19044, 19045, 19046, + 9523: 19044, 19046, 19047, + 9524: 19048, 19049, 19050, + 9525: 19048, 19050, 19051, + 9526: 19052, 19053, 19054, + 9527: 19052, 19054, 19055, + 9528: 19056, 19057, 19058, + 9529: 19056, 19058, 19059, + 9530: 19060, 19061, 19062, + 9531: 19060, 19062, 19063, + 9532: 19064, 19065, 19066, + 9533: 19064, 19066, 19067, + 9534: 19068, 19069, 19070, + 9535: 19068, 19070, 19071, + 9536: 19072, 19073, 19074, + 9537: 19072, 19074, 19075, + 9538: 19076, 19077, 19078, + 9539: 19076, 19078, 19079, + 9540: 19080, 19081, 19082, + 9541: 19080, 19082, 19083, + 9542: 19084, 19085, 19086, + 9543: 19084, 19086, 19087, + 9544: 19088, 19089, 19090, + 9545: 19088, 19090, 19091, + 9546: 19092, 19093, 19094, + 9547: 19092, 19094, 19095, + 9548: 19096, 19097, 19098, + 9549: 19096, 19098, 19099, + 9550: 19100, 19101, 19102, + 9551: 19100, 19102, 19103, + 9552: 19104, 19105, 19106, + 9553: 19104, 19106, 19107, + 9554: 19108, 19109, 19110, + 9555: 19108, 19110, 19111, + 9556: 19112, 19113, 19114, + 9557: 19112, 19114, 19115, + 9558: 19116, 19117, 19118, + 9559: 19116, 19118, 19119, + 9560: 19120, 19121, 19122, + 9561: 19120, 19122, 19123, + 9562: 19124, 19125, 19126, + 9563: 19124, 19126, 19127, + 9564: 19128, 19129, 19130, + 9565: 19128, 19130, 19131, + 9566: 19132, 19133, 19134, + 9567: 19132, 19134, 19135, + 9568: 19136, 19137, 19138, + 9569: 19136, 19138, 19139, + 9570: 19140, 19141, 19142, + 9571: 19140, 19142, 19143, + 9572: 19144, 19145, 19146, + 9573: 19144, 19146, 19147, + 9574: 19148, 19149, 19150, + 9575: 19148, 19150, 19151, + 9576: 19152, 19153, 19154, + 9577: 19152, 19154, 19155, + 9578: 19156, 19157, 19158, + 9579: 19156, 19158, 19159, + 9580: 19160, 19161, 19162, + 9581: 19160, 19162, 19163, + 9582: 19164, 19165, 19166, + 9583: 19164, 19166, 19167, + 9584: 19168, 19169, 19170, + 9585: 19168, 19170, 19171, + 9586: 19172, 19173, 19174, + 9587: 19172, 19174, 19175, + 9588: 19176, 19177, 19178, + 9589: 19176, 19178, 19179, + 9590: 19180, 19181, 19182, + 9591: 19180, 19182, 19183, + 9592: 19184, 19185, 19186, + 9593: 19184, 19186, 19187, + 9594: 19188, 19189, 19190, + 9595: 19188, 19190, 19191, + 9596: 19192, 19193, 19194, + 9597: 19192, 19194, 19195, + 9598: 19196, 19197, 19198, + 9599: 19196, 19198, 19199, + 9600: 19200, 19201, 19202, + 9601: 19200, 19202, 19203, + 9602: 19204, 19205, 19206, + 9603: 19204, 19206, 19207, + 9604: 19208, 19209, 19210, + 9605: 19208, 19210, 19211, + 9606: 19212, 19213, 19214, + 9607: 19212, 19214, 19215, + 9608: 19216, 19217, 19218, + 9609: 19216, 19218, 19219, + 9610: 19220, 19221, 19222, + 9611: 19220, 19222, 19223, + 9612: 19224, 19225, 19226, + 9613: 19224, 19226, 19227, + 9614: 19228, 19229, 19230, + 9615: 19228, 19230, 19231, + 9616: 19232, 19233, 19234, + 9617: 19232, 19234, 19235, + 9618: 19236, 19237, 19238, + 9619: 19236, 19238, 19239, + 9620: 19240, 19241, 19242, + 9621: 19240, 19242, 19243, + 9622: 19244, 19245, 19246, + 9623: 19244, 19246, 19247, + 9624: 19248, 19249, 19250, + 9625: 19248, 19250, 19251, + 9626: 19252, 19253, 19254, + 9627: 19252, 19254, 19255, + 9628: 19256, 19257, 19258, + 9629: 19256, 19258, 19259, + 9630: 19260, 19261, 19262, + 9631: 19260, 19262, 19263, + 9632: 19264, 19265, 19266, + 9633: 19264, 19266, 19267, + 9634: 19268, 19269, 19270, + 9635: 19268, 19270, 19271, + 9636: 19272, 19273, 19274, + 9637: 19272, 19274, 19275, + 9638: 19276, 19277, 19278, + 9639: 19276, 19278, 19279, + 9640: 19280, 19281, 19282, + 9641: 19280, 19282, 19283, + 9642: 19284, 19285, 19286, + 9643: 19284, 19286, 19287, + 9644: 19288, 19289, 19290, + 9645: 19288, 19290, 19291, + 9646: 19292, 19293, 19294, + 9647: 19292, 19294, 19295, + 9648: 19296, 19297, 19298, + 9649: 19296, 19298, 19299, + 9650: 19300, 19301, 19302, + 9651: 19300, 19302, 19303, + 9652: 19304, 19305, 19306, + 9653: 19304, 19306, 19307, + 9654: 19308, 19309, 19310, + 9655: 19308, 19310, 19311, + 9656: 19312, 19313, 19314, + 9657: 19312, 19314, 19315, + 9658: 19316, 19317, 19318, + 9659: 19316, 19318, 19319, + 9660: 19320, 19321, 19322, + 9661: 19320, 19322, 19323, + 9662: 19324, 19325, 19326, + 9663: 19324, 19326, 19327, + 9664: 19328, 19329, 19330, + 9665: 19328, 19330, 19331, + 9666: 19332, 19333, 19334, + 9667: 19332, 19334, 19335, + 9668: 19336, 19337, 19338, + 9669: 19336, 19338, 19339, + 9670: 19340, 19341, 19342, + 9671: 19340, 19342, 19343, + 9672: 19344, 19345, 19346, + 9673: 19344, 19346, 19347, + 9674: 19348, 19349, 19350, + 9675: 19348, 19350, 19351, + 9676: 19352, 19353, 19354, + 9677: 19352, 19354, 19355, + 9678: 19356, 19357, 19358, + 9679: 19356, 19358, 19359, + 9680: 19360, 19361, 19362, + 9681: 19360, 19362, 19363, + 9682: 19364, 19365, 19366, + 9683: 19364, 19366, 19367, + 9684: 19368, 19369, 19370, + 9685: 19368, 19370, 19371, + 9686: 19372, 19373, 19374, + 9687: 19372, 19374, 19375, + 9688: 19376, 19377, 19378, + 9689: 19376, 19378, 19379, + 9690: 19380, 19381, 19382, + 9691: 19380, 19382, 19383, + 9692: 19384, 19385, 19386, + 9693: 19384, 19386, 19387, + 9694: 19388, 19389, 19390, + 9695: 19388, 19390, 19391, + 9696: 19392, 19393, 19394, + 9697: 19392, 19394, 19395, + 9698: 19396, 19397, 19398, + 9699: 19396, 19398, 19399, + 9700: 19400, 19401, 19402, + 9701: 19400, 19402, 19403, + 9702: 19404, 19405, 19406, + 9703: 19404, 19406, 19407, + 9704: 19408, 19409, 19410, + 9705: 19408, 19410, 19411, + 9706: 19412, 19413, 19414, + 9707: 19412, 19414, 19415, + 9708: 19416, 19417, 19418, + 9709: 19416, 19418, 19419, + 9710: 19420, 19421, 19422, + 9711: 19420, 19422, 19423, + 9712: 19424, 19425, 19426, + 9713: 19424, 19426, 19427, + 9714: 19428, 19429, 19430, + 9715: 19428, 19430, 19431, + 9716: 19432, 19433, 19434, + 9717: 19432, 19434, 19435, + 9718: 19436, 19437, 19438, + 9719: 19436, 19438, 19439, + 9720: 19440, 19441, 19442, + 9721: 19440, 19442, 19443, + 9722: 19444, 19445, 19446, + 9723: 19444, 19446, 19447, + 9724: 19448, 19449, 19450, + 9725: 19448, 19450, 19451, + 9726: 19452, 19453, 19454, + 9727: 19452, 19454, 19455, + 9728: 19456, 19457, 19458, + 9729: 19456, 19458, 19459, + 9730: 19460, 19461, 19462, + 9731: 19460, 19462, 19463, + 9732: 19464, 19465, 19466, + 9733: 19464, 19466, 19467, + 9734: 19468, 19469, 19470, + 9735: 19468, 19470, 19471, + 9736: 19472, 19473, 19474, + 9737: 19472, 19474, 19475, + 9738: 19476, 19477, 19478, + 9739: 19476, 19478, 19479, + 9740: 19480, 19481, 19482, + 9741: 19480, 19482, 19483, + 9742: 19484, 19485, 19486, + 9743: 19484, 19486, 19487, + 9744: 19488, 19489, 19490, + 9745: 19488, 19490, 19491, + 9746: 19492, 19493, 19494, + 9747: 19492, 19494, 19495, + 9748: 19496, 19497, 19498, + 9749: 19496, 19498, 19499, + 9750: 19500, 19501, 19502, + 9751: 19500, 19502, 19503, + 9752: 19504, 19505, 19506, + 9753: 19504, 19506, 19507, + 9754: 19508, 19509, 19510, + 9755: 19508, 19510, 19511, + 9756: 19512, 19513, 19514, + 9757: 19512, 19514, 19515, + 9758: 19516, 19517, 19518, + 9759: 19516, 19518, 19519, + 9760: 19520, 19521, 19522, + 9761: 19520, 19522, 19523, + 9762: 19524, 19525, 19526, + 9763: 19524, 19526, 19527, + 9764: 19528, 19529, 19530, + 9765: 19528, 19530, 19531, + 9766: 19532, 19533, 19534, + 9767: 19532, 19534, 19535, + 9768: 19536, 19537, 19538, + 9769: 19536, 19538, 19539, + 9770: 19540, 19541, 19542, + 9771: 19540, 19542, 19543, + 9772: 19544, 19545, 19546, + 9773: 19544, 19546, 19547, + 9774: 19548, 19549, 19550, + 9775: 19548, 19550, 19551, + 9776: 19552, 19553, 19554, + 9777: 19552, 19554, 19555, + 9778: 19556, 19557, 19558, + 9779: 19556, 19558, 19559, + 9780: 19560, 19561, 19562, + 9781: 19560, 19562, 19563, + 9782: 19564, 19565, 19566, + 9783: 19564, 19566, 19567, + 9784: 19568, 19569, 19570, + 9785: 19568, 19570, 19571, + 9786: 19572, 19573, 19574, + 9787: 19572, 19574, 19575, + 9788: 19576, 19577, 19578, + 9789: 19576, 19578, 19579, + 9790: 19580, 19581, 19582, + 9791: 19580, 19582, 19583, + 9792: 19584, 19585, 19586, + 9793: 19584, 19586, 19587, + 9794: 19588, 19589, 19590, + 9795: 19588, 19590, 19591, + 9796: 19592, 19593, 19594, + 9797: 19592, 19594, 19595, + 9798: 19596, 19597, 19598, + 9799: 19596, 19598, 19599, + 9800: 19600, 19601, 19602, + 9801: 19600, 19602, 19603, + 9802: 19604, 19605, 19606, + 9803: 19604, 19606, 19607, + 9804: 19608, 19609, 19610, + 9805: 19608, 19610, 19611, + 9806: 19612, 19613, 19614, + 9807: 19612, 19614, 19615, + 9808: 19616, 19617, 19618, + 9809: 19616, 19618, 19619, + 9810: 19620, 19621, 19622, + 9811: 19620, 19622, 19623, + 9812: 19624, 19625, 19626, + 9813: 19624, 19626, 19627, + 9814: 19628, 19629, 19630, + 9815: 19628, 19630, 19631, + 9816: 19632, 19633, 19634, + 9817: 19632, 19634, 19635, + 9818: 19636, 19637, 19638, + 9819: 19636, 19638, 19639, + 9820: 19640, 19641, 19642, + 9821: 19640, 19642, 19643, + 9822: 19644, 19645, 19646, + 9823: 19644, 19646, 19647, + 9824: 19648, 19649, 19650, + 9825: 19648, 19650, 19651, + 9826: 19652, 19653, 19654, + 9827: 19652, 19654, 19655, + 9828: 19656, 19657, 19658, + 9829: 19656, 19658, 19659, + 9830: 19660, 19661, 19662, + 9831: 19660, 19662, 19663, + 9832: 19664, 19665, 19666, + 9833: 19664, 19666, 19667, + 9834: 19668, 19669, 19670, + 9835: 19668, 19670, 19671, + 9836: 19672, 19673, 19674, + 9837: 19672, 19674, 19675, + 9838: 19676, 19677, 19678, + 9839: 19676, 19678, 19679, + 9840: 19680, 19681, 19682, + 9841: 19680, 19682, 19683, + 9842: 19684, 19685, 19686, + 9843: 19684, 19686, 19687, + 9844: 19688, 19689, 19690, + 9845: 19688, 19690, 19691, + 9846: 19692, 19693, 19694, + 9847: 19692, 19694, 19695, + 9848: 19696, 19697, 19698, + 9849: 19696, 19698, 19699, + 9850: 19700, 19701, 19702, + 9851: 19700, 19702, 19703, + 9852: 19704, 19705, 19706, + 9853: 19704, 19706, 19707, + 9854: 19708, 19709, 19710, + 9855: 19708, 19710, 19711, + 9856: 19712, 19713, 19714, + 9857: 19712, 19714, 19715, + 9858: 19716, 19717, 19718, + 9859: 19716, 19718, 19719, + 9860: 19720, 19721, 19722, + 9861: 19720, 19722, 19723, + 9862: 19724, 19725, 19726, + 9863: 19724, 19726, 19727, + 9864: 19728, 19729, 19730, + 9865: 19728, 19730, 19731, + 9866: 19732, 19733, 19734, + 9867: 19732, 19734, 19735, + 9868: 19736, 19737, 19738, + 9869: 19736, 19738, 19739, + 9870: 19740, 19741, 19742, + 9871: 19740, 19742, 19743, + 9872: 19744, 19745, 19746, + 9873: 19744, 19746, 19747, + 9874: 19748, 19749, 19750, + 9875: 19748, 19750, 19751, + 9876: 19752, 19753, 19754, + 9877: 19752, 19754, 19755, + 9878: 19756, 19757, 19758, + 9879: 19756, 19758, 19759, + 9880: 19760, 19761, 19762, + 9881: 19760, 19762, 19763, + 9882: 19764, 19765, 19766, + 9883: 19764, 19766, 19767, + 9884: 19768, 19769, 19770, + 9885: 19768, 19770, 19771, + 9886: 19772, 19773, 19774, + 9887: 19772, 19774, 19775, + 9888: 19776, 19777, 19778, + 9889: 19776, 19778, 19779, + 9890: 19780, 19781, 19782, + 9891: 19780, 19782, 19783, + 9892: 19784, 19785, 19786, + 9893: 19784, 19786, 19787, + 9894: 19788, 19789, 19790, + 9895: 19788, 19790, 19791, + 9896: 19792, 19793, 19794, + 9897: 19792, 19794, 19795, + 9898: 19796, 19797, 19798, + 9899: 19796, 19798, 19799, + 9900: 19800, 19801, 19802, + 9901: 19800, 19802, 19803, + 9902: 19804, 19805, 19806, + 9903: 19804, 19806, 19807, + 9904: 19808, 19809, 19810, + 9905: 19808, 19810, 19811, + 9906: 19812, 19813, 19814, + 9907: 19812, 19814, 19815, + 9908: 19816, 19817, 19818, + 9909: 19816, 19818, 19819, + 9910: 19820, 19821, 19822, + 9911: 19820, 19822, 19823, + 9912: 19824, 19825, 19826, + 9913: 19824, 19826, 19827, + 9914: 19828, 19829, 19830, + 9915: 19828, 19830, 19831, + 9916: 19832, 19833, 19834, + 9917: 19832, 19834, 19835, + 9918: 19836, 19837, 19838, + 9919: 19836, 19838, 19839, + 9920: 19840, 19841, 19842, + 9921: 19840, 19842, 19843, + 9922: 19844, 19845, 19846, + 9923: 19844, 19846, 19847, + 9924: 19848, 19849, 19850, + 9925: 19848, 19850, 19851, + 9926: 19852, 19853, 19854, + 9927: 19852, 19854, 19855, + 9928: 19856, 19857, 19858, + 9929: 19856, 19858, 19859, + 9930: 19860, 19861, 19862, + 9931: 19860, 19862, 19863, + 9932: 19864, 19865, 19866, + 9933: 19864, 19866, 19867, + 9934: 19868, 19869, 19870, + 9935: 19868, 19870, 19871, + 9936: 19872, 19873, 19874, + 9937: 19872, 19874, 19875, + 9938: 19876, 19877, 19878, + 9939: 19876, 19878, 19879, + 9940: 19880, 19881, 19882, + 9941: 19880, 19882, 19883, + 9942: 19884, 19885, 19886, + 9943: 19884, 19886, 19887, + 9944: 19888, 19889, 19890, + 9945: 19888, 19890, 19891, + 9946: 19892, 19893, 19894, + 9947: 19892, 19894, 19895, + 9948: 19896, 19897, 19898, + 9949: 19896, 19898, 19899, + 9950: 19900, 19901, 19902, + 9951: 19900, 19902, 19903, + 9952: 19904, 19905, 19906, + 9953: 19904, 19906, 19907, + 9954: 19908, 19909, 19910, + 9955: 19908, 19910, 19911, + 9956: 19912, 19913, 19914, + 9957: 19912, 19914, 19915, + 9958: 19916, 19917, 19918, + 9959: 19916, 19918, 19919, + 9960: 19920, 19921, 19922, + 9961: 19920, 19922, 19923, + 9962: 19924, 19925, 19926, + 9963: 19924, 19926, 19927, + 9964: 19928, 19929, 19930, + 9965: 19928, 19930, 19931, + 9966: 19932, 19933, 19934, + 9967: 19932, 19934, 19935, + 9968: 19936, 19937, 19938, + 9969: 19936, 19938, 19939, + 9970: 19940, 19941, 19942, + 9971: 19940, 19942, 19943, + 9972: 19944, 19945, 19946, + 9973: 19944, 19946, 19947, + 9974: 19948, 19949, 19950, + 9975: 19948, 19950, 19951, + 9976: 19952, 19953, 19954, + 9977: 19952, 19954, 19955, + 9978: 19956, 19957, 19958, + 9979: 19956, 19958, 19959, + 9980: 19960, 19961, 19962, + 9981: 19960, 19962, 19963, + 9982: 19964, 19965, 19966, + 9983: 19964, 19966, 19967, + 9984: 19968, 19969, 19970, + 9985: 19968, 19970, 19971, + 9986: 19972, 19973, 19974, + 9987: 19972, 19974, 19975, + 9988: 19976, 19977, 19978, + 9989: 19976, 19978, 19979, + 9990: 19980, 19981, 19982, + 9991: 19980, 19982, 19983, + 9992: 19984, 19985, 19986, + 9993: 19984, 19986, 19987, + 9994: 19988, 19989, 19990, + 9995: 19988, 19990, 19991, + 9996: 19992, 19993, 19994, + 9997: 19992, 19994, 19995, + 9998: 19996, 19997, 19998, + 9999: 19996, 19998, 19999, + 10000: 20000, 20001, 20002, + 10001: 20000, 20002, 20003, + 10002: 20004, 20005, 20006, + 10003: 20004, 20006, 20007, + 10004: 20008, 20009, 20010, + 10005: 20008, 20010, 20011, + 10006: 20012, 20013, 20014, + 10007: 20012, 20014, 20015, + 10008: 20016, 20017, 20018, + 10009: 20016, 20018, 20019, + 10010: 20020, 20021, 20022, + 10011: 20020, 20022, 20023, + 10012: 20024, 20025, 20026, + 10013: 20024, 20026, 20027, + 10014: 20028, 20029, 20030, + 10015: 20028, 20030, 20031, + 10016: 20032, 20033, 20034, + 10017: 20032, 20034, 20035, + 10018: 20036, 20037, 20038, + 10019: 20036, 20038, 20039, + 10020: 20040, 20041, 20042, + 10021: 20040, 20042, 20043, + 10022: 20044, 20045, 20046, + 10023: 20044, 20046, 20047, + 10024: 20048, 20049, 20050, + 10025: 20048, 20050, 20051, + 10026: 20052, 20053, 20054, + 10027: 20052, 20054, 20055, + 10028: 20056, 20057, 20058, + 10029: 20056, 20058, 20059, + 10030: 20060, 20061, 20062, + 10031: 20060, 20062, 20063, + 10032: 20064, 20065, 20066, + 10033: 20064, 20066, 20067, + 10034: 20068, 20069, 20070, + 10035: 20068, 20070, 20071, + 10036: 20072, 20073, 20074, + 10037: 20072, 20074, 20075, + 10038: 20076, 20077, 20078, + 10039: 20076, 20078, 20079, + 10040: 20080, 20081, 20082, + 10041: 20080, 20082, 20083, + 10042: 20084, 20085, 20086, + 10043: 20084, 20086, 20087, + 10044: 20088, 20089, 20090, + 10045: 20088, 20090, 20091, + 10046: 20092, 20093, 20094, + 10047: 20092, 20094, 20095, + 10048: 20096, 20097, 20098, + 10049: 20096, 20098, 20099, + 10050: 20100, 20101, 20102, + 10051: 20100, 20102, 20103, + 10052: 20104, 20105, 20106, + 10053: 20104, 20106, 20107, + 10054: 20108, 20109, 20110, + 10055: 20108, 20110, 20111, + 10056: 20112, 20113, 20114, + 10057: 20112, 20114, 20115, + 10058: 20116, 20117, 20118, + 10059: 20116, 20118, 20119, + 10060: 20120, 20121, 20122, + 10061: 20120, 20122, 20123, + 10062: 20124, 20125, 20126, + 10063: 20124, 20126, 20127, + 10064: 20128, 20129, 20130, + 10065: 20128, 20130, 20131, + 10066: 20132, 20133, 20134, + 10067: 20132, 20134, 20135, + 10068: 20136, 20137, 20138, + 10069: 20136, 20138, 20139, + 10070: 20140, 20141, 20142, + 10071: 20140, 20142, 20143, + 10072: 20144, 20145, 20146, + 10073: 20144, 20146, 20147, + 10074: 20148, 20149, 20150, + 10075: 20148, 20150, 20151, + 10076: 20152, 20153, 20154, + 10077: 20152, 20154, 20155, + 10078: 20156, 20157, 20158, + 10079: 20156, 20158, 20159, + 10080: 20160, 20161, 20162, + 10081: 20160, 20162, 20163, + 10082: 20164, 20165, 20166, + 10083: 20164, 20166, 20167, + 10084: 20168, 20169, 20170, + 10085: 20168, 20170, 20171, + 10086: 20172, 20173, 20174, + 10087: 20172, 20174, 20175, + 10088: 20176, 20177, 20178, + 10089: 20176, 20178, 20179, + 10090: 20180, 20181, 20182, + 10091: 20180, 20182, 20183, + 10092: 20184, 20185, 20186, + 10093: 20184, 20186, 20187, + 10094: 20188, 20189, 20190, + 10095: 20188, 20190, 20191, + 10096: 20192, 20193, 20194, + 10097: 20192, 20194, 20195, + 10098: 20196, 20197, 20198, + 10099: 20196, 20198, 20199, + 10100: 20200, 20201, 20202, + 10101: 20200, 20202, 20203, + 10102: 20204, 20205, 20206, + 10103: 20204, 20206, 20207, + 10104: 20208, 20209, 20210, + 10105: 20208, 20210, 20211, + 10106: 20212, 20213, 20214, + 10107: 20212, 20214, 20215, + 10108: 20216, 20217, 20218, + 10109: 20216, 20218, 20219, + 10110: 20220, 20221, 20222, + 10111: 20220, 20222, 20223, + 10112: 20224, 20225, 20226, + 10113: 20224, 20226, 20227, + 10114: 20228, 20229, 20230, + 10115: 20228, 20230, 20231, + 10116: 20232, 20233, 20234, + 10117: 20232, 20234, 20235, + 10118: 20236, 20237, 20238, + 10119: 20236, 20238, 20239, + 10120: 20240, 20241, 20242, + 10121: 20240, 20242, 20243, + 10122: 20244, 20245, 20246, + 10123: 20244, 20246, 20247, + 10124: 20248, 20249, 20250, + 10125: 20248, 20250, 20251, + 10126: 20252, 20253, 20254, + 10127: 20252, 20254, 20255, + 10128: 20256, 20257, 20258, + 10129: 20256, 20258, 20259, + 10130: 20260, 20261, 20262, + 10131: 20260, 20262, 20263, + 10132: 20264, 20265, 20266, + 10133: 20264, 20266, 20267, + 10134: 20268, 20269, 20270, + 10135: 20268, 20270, 20271, + 10136: 20272, 20273, 20274, + 10137: 20272, 20274, 20275, + 10138: 20276, 20277, 20278, + 10139: 20276, 20278, 20279, + 10140: 20280, 20281, 20282, + 10141: 20280, 20282, 20283, + 10142: 20284, 20285, 20286, + 10143: 20284, 20286, 20287, + 10144: 20288, 20289, 20290, + 10145: 20288, 20290, 20291, + 10146: 20292, 20293, 20294, + 10147: 20292, 20294, 20295, + 10148: 20296, 20297, 20298, + 10149: 20296, 20298, 20299, + 10150: 20300, 20301, 20302, + 10151: 20300, 20302, 20303, + 10152: 20304, 20305, 20306, + 10153: 20304, 20306, 20307, + 10154: 20308, 20309, 20310, + 10155: 20308, 20310, 20311, + 10156: 20312, 20313, 20314, + 10157: 20312, 20314, 20315, + 10158: 20316, 20317, 20318, + 10159: 20316, 20318, 20319, + 10160: 20320, 20321, 20322, + 10161: 20320, 20322, 20323, + 10162: 20324, 20325, 20326, + 10163: 20324, 20326, 20327, + 10164: 20328, 20329, 20330, + 10165: 20328, 20330, 20331, + 10166: 20332, 20333, 20334, + 10167: 20332, 20334, 20335, + 10168: 20336, 20337, 20338, + 10169: 20336, 20338, 20339, + 10170: 20340, 20341, 20342, + 10171: 20340, 20342, 20343, + 10172: 20344, 20345, 20346, + 10173: 20344, 20346, 20347, + 10174: 20348, 20349, 20350, + 10175: 20348, 20350, 20351, + 10176: 20352, 20353, 20354, + 10177: 20352, 20354, 20355, + 10178: 20356, 20357, 20358, + 10179: 20356, 20358, 20359, + 10180: 20360, 20361, 20362, + 10181: 20360, 20362, 20363, + 10182: 20364, 20365, 20366, + 10183: 20364, 20366, 20367, + 10184: 20368, 20369, 20370, + 10185: 20368, 20370, 20371, + 10186: 20372, 20373, 20374, + 10187: 20372, 20374, 20375, + 10188: 20376, 20377, 20378, + 10189: 20376, 20378, 20379, + 10190: 20380, 20381, 20382, + 10191: 20380, 20382, 20383, + 10192: 20384, 20385, 20386, + 10193: 20384, 20386, 20387, + 10194: 20388, 20389, 20390, + 10195: 20388, 20390, 20391, + 10196: 20392, 20393, 20394, + 10197: 20392, 20394, 20395, + 10198: 20396, 20397, 20398, + 10199: 20396, 20398, 20399, + 10200: 20400, 20401, 20402, + 10201: 20400, 20402, 20403, + 10202: 20404, 20405, 20406, + 10203: 20404, 20406, 20407, + 10204: 20408, 20409, 20410, + 10205: 20408, 20410, 20411, + 10206: 20412, 20413, 20414, + 10207: 20412, 20414, 20415, + 10208: 20416, 20417, 20418, + 10209: 20416, 20418, 20419, + 10210: 20420, 20421, 20422, + 10211: 20420, 20422, 20423, + 10212: 20424, 20425, 20426, + 10213: 20424, 20426, 20427, + 10214: 20428, 20429, 20430, + 10215: 20428, 20430, 20431, + 10216: 20432, 20433, 20434, + 10217: 20432, 20434, 20435, + 10218: 20436, 20437, 20438, + 10219: 20436, 20438, 20439, + 10220: 20440, 20441, 20442, + 10221: 20440, 20442, 20443, + 10222: 20444, 20445, 20446, + 10223: 20444, 20446, 20447, + 10224: 20448, 20449, 20450, + 10225: 20448, 20450, 20451, + 10226: 20452, 20453, 20454, + 10227: 20452, 20454, 20455, + 10228: 20456, 20457, 20458, + 10229: 20456, 20458, 20459, + 10230: 20460, 20461, 20462, + 10231: 20460, 20462, 20463, + 10232: 20464, 20465, 20466, + 10233: 20464, 20466, 20467, + 10234: 20468, 20469, 20470, + 10235: 20468, 20470, 20471, + 10236: 20472, 20473, 20474, + 10237: 20472, 20474, 20475, + 10238: 20476, 20477, 20478, + 10239: 20476, 20478, 20479, + 10240: 20480, 20481, 20482, + 10241: 20480, 20482, 20483, + 10242: 20484, 20485, 20486, + 10243: 20484, 20486, 20487, + 10244: 20488, 20489, 20490, + 10245: 20488, 20490, 20491, + 10246: 20492, 20493, 20494, + 10247: 20492, 20494, 20495, + 10248: 20496, 20497, 20498, + 10249: 20496, 20498, 20499, + 10250: 20500, 20501, 20502, + 10251: 20500, 20502, 20503, + 10252: 20504, 20505, 20506, + 10253: 20504, 20506, 20507, + 10254: 20508, 20509, 20510, + 10255: 20508, 20510, 20511, + 10256: 20512, 20513, 20514, + 10257: 20512, 20514, 20515, + 10258: 20516, 20517, 20518, + 10259: 20516, 20518, 20519, + 10260: 20520, 20521, 20522, + 10261: 20520, 20522, 20523, + 10262: 20524, 20525, 20526, + 10263: 20524, 20526, 20527, + 10264: 20528, 20529, 20530, + 10265: 20528, 20530, 20531, + 10266: 20532, 20533, 20534, + 10267: 20532, 20534, 20535, + 10268: 20536, 20537, 20538, + 10269: 20536, 20538, 20539, + 10270: 20540, 20541, 20542, + 10271: 20540, 20542, 20543, + 10272: 20544, 20545, 20546, + 10273: 20544, 20546, 20547, + 10274: 20548, 20549, 20550, + 10275: 20548, 20550, 20551, + 10276: 20552, 20553, 20554, + 10277: 20552, 20554, 20555, + 10278: 20556, 20557, 20558, + 10279: 20556, 20558, 20559, + 10280: 20560, 20561, 20562, + 10281: 20560, 20562, 20563, + 10282: 20564, 20565, 20566, + 10283: 20564, 20566, 20567, + 10284: 20568, 20569, 20570, + 10285: 20568, 20570, 20571, + 10286: 20572, 20573, 20574, + 10287: 20572, 20574, 20575, + 10288: 20576, 20577, 20578, + 10289: 20576, 20578, 20579, + 10290: 20580, 20581, 20582, + 10291: 20580, 20582, 20583, + 10292: 20584, 20585, 20586, + 10293: 20584, 20586, 20587, + 10294: 20588, 20589, 20590, + 10295: 20588, 20590, 20591, + 10296: 20592, 20593, 20594, + 10297: 20592, 20594, 20595, + 10298: 20596, 20597, 20598, + 10299: 20596, 20598, 20599, + 10300: 20600, 20601, 20602, + 10301: 20600, 20602, 20603, + 10302: 20604, 20605, 20606, + 10303: 20604, 20606, 20607, + 10304: 20608, 20609, 20610, + 10305: 20608, 20610, 20611, + 10306: 20612, 20613, 20614, + 10307: 20612, 20614, 20615, + 10308: 20616, 20617, 20618, + 10309: 20616, 20618, 20619, + 10310: 20620, 20621, 20622, + 10311: 20620, 20622, 20623, + 10312: 20624, 20625, 20626, + 10313: 20624, 20626, 20627, + 10314: 20628, 20629, 20630, + 10315: 20628, 20630, 20631, + 10316: 20632, 20633, 20634, + 10317: 20632, 20634, 20635, + 10318: 20636, 20637, 20638, + 10319: 20636, 20638, 20639, + 10320: 20640, 20641, 20642, + 10321: 20640, 20642, 20643, + 10322: 20644, 20645, 20646, + 10323: 20644, 20646, 20647, + 10324: 20648, 20649, 20650, + 10325: 20648, 20650, 20651, + 10326: 20652, 20653, 20654, + 10327: 20652, 20654, 20655, + 10328: 20656, 20657, 20658, + 10329: 20656, 20658, 20659, + 10330: 20660, 20661, 20662, + 10331: 20660, 20662, 20663, + 10332: 20664, 20665, 20666, + 10333: 20664, 20666, 20667, + 10334: 20668, 20669, 20670, + 10335: 20668, 20670, 20671, + 10336: 20672, 20673, 20674, + 10337: 20672, 20674, 20675, + 10338: 20676, 20677, 20678, + 10339: 20676, 20678, 20679, + 10340: 20680, 20681, 20682, + 10341: 20680, 20682, 20683, + 10342: 20684, 20685, 20686, + 10343: 20684, 20686, 20687, + 10344: 20688, 20689, 20690, + 10345: 20688, 20690, 20691, + 10346: 20692, 20693, 20694, + 10347: 20692, 20694, 20695, + 10348: 20696, 20697, 20698, + 10349: 20696, 20698, 20699, + 10350: 20700, 20701, 20702, + 10351: 20700, 20702, 20703, + 10352: 20704, 20705, 20706, + 10353: 20704, 20706, 20707, + 10354: 20708, 20709, 20710, + 10355: 20708, 20710, 20711, + 10356: 20712, 20713, 20714, + 10357: 20712, 20714, 20715, + 10358: 20716, 20717, 20718, + 10359: 20716, 20718, 20719, + 10360: 20720, 20721, 20722, + 10361: 20720, 20722, 20723, + 10362: 20724, 20725, 20726, + 10363: 20724, 20726, 20727, + 10364: 20728, 20729, 20730, + 10365: 20728, 20730, 20731, + 10366: 20732, 20733, 20734, + 10367: 20732, 20734, 20735, + 10368: 20736, 20737, 20738, + 10369: 20736, 20738, 20739, + 10370: 20740, 20741, 20742, + 10371: 20740, 20742, 20743, + 10372: 20744, 20745, 20746, + 10373: 20744, 20746, 20747, + 10374: 20748, 20749, 20750, + 10375: 20748, 20750, 20751, + 10376: 20752, 20753, 20754, + 10377: 20752, 20754, 20755, + 10378: 20756, 20757, 20758, + 10379: 20756, 20758, 20759, + 10380: 20760, 20761, 20762, + 10381: 20760, 20762, 20763, + 10382: 20764, 20765, 20766, + 10383: 20764, 20766, 20767, + 10384: 20768, 20769, 20770, + 10385: 20768, 20770, 20771, + 10386: 20772, 20773, 20774, + 10387: 20772, 20774, 20775, + 10388: 20776, 20777, 20778, + 10389: 20776, 20778, 20779, + 10390: 20780, 20781, 20782, + 10391: 20780, 20782, 20783, + 10392: 20784, 20785, 20786, + 10393: 20784, 20786, 20787, + 10394: 20788, 20789, 20790, + 10395: 20788, 20790, 20791, + 10396: 20792, 20793, 20794, + 10397: 20792, 20794, 20795, + 10398: 20796, 20797, 20798, + 10399: 20796, 20798, 20799, + 10400: 20800, 20801, 20802, + 10401: 20800, 20802, 20803, + 10402: 20804, 20805, 20806, + 10403: 20804, 20806, 20807, + 10404: 20808, 20809, 20810, + 10405: 20808, 20810, 20811, + 10406: 20812, 20813, 20814, + 10407: 20812, 20814, 20815, + 10408: 20816, 20817, 20818, + 10409: 20816, 20818, 20819, + 10410: 20820, 20821, 20822, + 10411: 20820, 20822, 20823, + 10412: 20824, 20825, 20826, + 10413: 20824, 20826, 20827, + 10414: 20828, 20829, 20830, + 10415: 20828, 20830, 20831, + 10416: 20832, 20833, 20834, + 10417: 20832, 20834, 20835, + 10418: 20836, 20837, 20838, + 10419: 20836, 20838, 20839, + 10420: 20840, 20841, 20842, + 10421: 20840, 20842, 20843, + 10422: 20844, 20845, 20846, + 10423: 20844, 20846, 20847, + 10424: 20848, 20849, 20850, + 10425: 20848, 20850, 20851, + 10426: 20852, 20853, 20854, + 10427: 20852, 20854, 20855, + 10428: 20856, 20857, 20858, + 10429: 20856, 20858, 20859, + 10430: 20860, 20861, 20862, + 10431: 20860, 20862, 20863, + 10432: 20864, 20865, 20866, + 10433: 20864, 20866, 20867, + 10434: 20868, 20869, 20870, + 10435: 20868, 20870, 20871, + 10436: 20872, 20873, 20874, + 10437: 20872, 20874, 20875, + 10438: 20876, 20877, 20878, + 10439: 20876, 20878, 20879, + 10440: 20880, 20881, 20882, + 10441: 20880, 20882, 20883, + 10442: 20884, 20885, 20886, + 10443: 20884, 20886, 20887, + 10444: 20888, 20889, 20890, + 10445: 20888, 20890, 20891, + 10446: 20892, 20893, 20894, + 10447: 20892, 20894, 20895, + 10448: 20896, 20897, 20898, + 10449: 20896, 20898, 20899, + 10450: 20900, 20901, 20902, + 10451: 20900, 20902, 20903, + 10452: 20904, 20905, 20906, + 10453: 20904, 20906, 20907, + 10454: 20908, 20909, 20910, + 10455: 20908, 20910, 20911, + 10456: 20912, 20913, 20914, + 10457: 20912, 20914, 20915, + 10458: 20916, 20917, 20918, + 10459: 20916, 20918, 20919, + 10460: 20920, 20921, 20922, + 10461: 20920, 20922, 20923, + 10462: 20924, 20925, 20926, + 10463: 20924, 20926, 20927, + 10464: 20928, 20929, 20930, + 10465: 20928, 20930, 20931, + 10466: 20932, 20933, 20934, + 10467: 20932, 20934, 20935, + 10468: 20936, 20937, 20938, + 10469: 20936, 20938, 20939, + 10470: 20940, 20941, 20942, + 10471: 20940, 20942, 20943, + 10472: 20944, 20945, 20946, + 10473: 20944, 20946, 20947, + 10474: 20948, 20949, 20950, + 10475: 20948, 20950, 20951, + 10476: 20952, 20953, 20954, + 10477: 20952, 20954, 20955, + 10478: 20956, 20957, 20958, + 10479: 20956, 20958, 20959, + 10480: 20960, 20961, 20962, + 10481: 20960, 20962, 20963, + 10482: 20964, 20965, 20966, + 10483: 20964, 20966, 20967, + 10484: 20968, 20969, 20970, + 10485: 20968, 20970, 20971, + 10486: 20972, 20973, 20974, + 10487: 20972, 20974, 20975, + 10488: 20976, 20977, 20978, + 10489: 20976, 20978, 20979, + 10490: 20980, 20981, 20982, + 10491: 20980, 20982, 20983, + 10492: 20984, 20985, 20986, + 10493: 20984, 20986, 20987, + 10494: 20988, 20989, 20990, + 10495: 20988, 20990, 20991, + 10496: 20992, 20993, 20994, + 10497: 20992, 20994, 20995, + 10498: 20996, 20997, 20998, + 10499: 20996, 20998, 20999, + 10500: 21000, 21001, 21002, + 10501: 21000, 21002, 21003, + 10502: 21004, 21005, 21006, + 10503: 21004, 21006, 21007, + 10504: 21008, 21009, 21010, + 10505: 21008, 21010, 21011, + 10506: 21012, 21013, 21014, + 10507: 21012, 21014, 21015, + 10508: 21016, 21017, 21018, + 10509: 21016, 21018, 21019, + 10510: 21020, 21021, 21022, + 10511: 21020, 21022, 21023, + 10512: 21024, 21025, 21026, + 10513: 21024, 21026, 21027, + 10514: 21028, 21029, 21030, + 10515: 21028, 21030, 21031, + 10516: 21032, 21033, 21034, + 10517: 21032, 21034, 21035, + 10518: 21036, 21037, 21038, + 10519: 21036, 21038, 21039, + 10520: 21040, 21041, 21042, + 10521: 21040, 21042, 21043, + 10522: 21044, 21045, 21046, + 10523: 21044, 21046, 21047, + 10524: 21048, 21049, 21050, + 10525: 21048, 21050, 21051, + 10526: 21052, 21053, 21054, + 10527: 21052, 21054, 21055, + 10528: 21056, 21057, 21058, + 10529: 21056, 21058, 21059, + 10530: 21060, 21061, 21062, + 10531: 21060, 21062, 21063, + 10532: 21064, 21065, 21066, + 10533: 21064, 21066, 21067, + 10534: 21068, 21069, 21070, + 10535: 21068, 21070, 21071, + 10536: 21072, 21073, 21074, + 10537: 21072, 21074, 21075, + 10538: 21076, 21077, 21078, + 10539: 21076, 21078, 21079, + 10540: 21080, 21081, 21082, + 10541: 21080, 21082, 21083, + 10542: 21084, 21085, 21086, + 10543: 21084, 21086, 21087, + 10544: 21088, 21089, 21090, + 10545: 21088, 21090, 21091, + 10546: 21092, 21093, 21094, + 10547: 21092, 21094, 21095, + 10548: 21096, 21097, 21098, + 10549: 21096, 21098, 21099, + 10550: 21100, 21101, 21102, + 10551: 21100, 21102, 21103, + 10552: 21104, 21105, 21106, + 10553: 21104, 21106, 21107, + 10554: 21108, 21109, 21110, + 10555: 21108, 21110, 21111, + 10556: 21112, 21113, 21114, + 10557: 21112, 21114, 21115, + 10558: 21116, 21117, 21118, + 10559: 21116, 21118, 21119, + 10560: 21120, 21121, 21122, + 10561: 21120, 21122, 21123, + 10562: 21124, 21125, 21126, + 10563: 21124, 21126, 21127, + 10564: 21128, 21129, 21130, + 10565: 21128, 21130, 21131, + 10566: 21132, 21133, 21134, + 10567: 21132, 21134, 21135, + 10568: 21136, 21137, 21138, + 10569: 21136, 21138, 21139, + 10570: 21140, 21141, 21142, + 10571: 21140, 21142, 21143, + 10572: 21144, 21145, 21146, + 10573: 21144, 21146, 21147, + 10574: 21148, 21149, 21150, + 10575: 21148, 21150, 21151, + 10576: 21152, 21153, 21154, + 10577: 21152, 21154, 21155, + 10578: 21156, 21157, 21158, + 10579: 21156, 21158, 21159, + 10580: 21160, 21161, 21162, + 10581: 21160, 21162, 21163, + 10582: 21164, 21165, 21166, + 10583: 21164, 21166, 21167, + 10584: 21168, 21169, 21170, + 10585: 21168, 21170, 21171, + 10586: 21172, 21173, 21174, + 10587: 21172, 21174, 21175, + 10588: 21176, 21177, 21178, + 10589: 21176, 21178, 21179, + 10590: 21180, 21181, 21182, + 10591: 21180, 21182, 21183, + 10592: 21184, 21185, 21186, + 10593: 21184, 21186, 21187, + 10594: 21188, 21189, 21190, + 10595: 21188, 21190, 21191, + 10596: 21192, 21193, 21194, + 10597: 21192, 21194, 21195, + 10598: 21196, 21197, 21198, + 10599: 21196, 21198, 21199, + 10600: 21200, 21201, 21202, + 10601: 21200, 21202, 21203, + 10602: 21204, 21205, 21206, + 10603: 21204, 21206, 21207, + 10604: 21208, 21209, 21210, + 10605: 21208, 21210, 21211, + 10606: 21212, 21213, 21214, + 10607: 21212, 21214, 21215, + 10608: 21216, 21217, 21218, + 10609: 21216, 21218, 21219, + 10610: 21220, 21221, 21222, + 10611: 21220, 21222, 21223, + 10612: 21224, 21225, 21226, + 10613: 21224, 21226, 21227, + 10614: 21228, 21229, 21230, + 10615: 21228, 21230, 21231, + 10616: 21232, 21233, 21234, + 10617: 21232, 21234, 21235, + 10618: 21236, 21237, 21238, + 10619: 21236, 21238, 21239, + 10620: 21240, 21241, 21242, + 10621: 21240, 21242, 21243, + 10622: 21244, 21245, 21246, + 10623: 21244, 21246, 21247, + 10624: 21248, 21249, 21250, + 10625: 21248, 21250, 21251, + 10626: 21252, 21253, 21254, + 10627: 21252, 21254, 21255, + 10628: 21256, 21257, 21258, + 10629: 21256, 21258, 21259, + 10630: 21260, 21261, 21262, + 10631: 21260, 21262, 21263, + 10632: 21264, 21265, 21266, + 10633: 21264, 21266, 21267, + 10634: 21268, 21269, 21270, + 10635: 21268, 21270, 21271, + 10636: 21272, 21273, 21274, + 10637: 21272, 21274, 21275, + 10638: 21276, 21277, 21278, + 10639: 21276, 21278, 21279, + 10640: 21280, 21281, 21282, + 10641: 21280, 21282, 21283, + 10642: 21284, 21285, 21286, + 10643: 21284, 21286, 21287, + 10644: 21288, 21289, 21290, + 10645: 21288, 21290, 21291, + 10646: 21292, 21293, 21294, + 10647: 21292, 21294, 21295, + 10648: 21296, 21297, 21298, + 10649: 21296, 21298, 21299, + 10650: 21300, 21301, 21302, + 10651: 21300, 21302, 21303, + 10652: 21304, 21305, 21306, + 10653: 21304, 21306, 21307, + 10654: 21308, 21309, 21310, + 10655: 21308, 21310, 21311, + 10656: 21312, 21313, 21314, + 10657: 21312, 21314, 21315, + 10658: 21316, 21317, 21318, + 10659: 21316, 21318, 21319, + 10660: 21320, 21321, 21322, + 10661: 21320, 21322, 21323, + 10662: 21324, 21325, 21326, + 10663: 21324, 21326, 21327, + 10664: 21328, 21329, 21330, + 10665: 21328, 21330, 21331, + 10666: 21332, 21333, 21334, + 10667: 21332, 21334, 21335, + 10668: 21336, 21337, 21338, + 10669: 21336, 21338, 21339, + 10670: 21340, 21341, 21342, + 10671: 21340, 21342, 21343, + 10672: 21344, 21345, 21346, + 10673: 21344, 21346, 21347, + 10674: 21348, 21349, 21350, + 10675: 21348, 21350, 21351, + 10676: 21352, 21353, 21354, + 10677: 21352, 21354, 21355, + 10678: 21356, 21357, 21358, + 10679: 21356, 21358, 21359, + 10680: 21360, 21361, 21362, + 10681: 21360, 21362, 21363, + 10682: 21364, 21365, 21366, + 10683: 21364, 21366, 21367, + 10684: 21368, 21369, 21370, + 10685: 21368, 21370, 21371, + 10686: 21372, 21373, 21374, + 10687: 21372, 21374, 21375, + 10688: 21376, 21377, 21378, + 10689: 21376, 21378, 21379, + 10690: 21380, 21381, 21382, + 10691: 21380, 21382, 21383, + 10692: 21384, 21385, 21386, + 10693: 21384, 21386, 21387, + 10694: 21388, 21389, 21390, + 10695: 21388, 21390, 21391, + 10696: 21392, 21393, 21394, + 10697: 21392, 21394, 21395, + 10698: 21396, 21397, 21398, + 10699: 21396, 21398, 21399, + 10700: 21400, 21401, 21402, + 10701: 21400, 21402, 21403, + 10702: 21404, 21405, 21406, + 10703: 21404, 21406, 21407, + 10704: 21408, 21409, 21410, + 10705: 21408, 21410, 21411, + 10706: 21412, 21413, 21414, + 10707: 21412, 21414, 21415, + 10708: 21416, 21417, 21418, + 10709: 21416, 21418, 21419, + 10710: 21420, 21421, 21422, + 10711: 21420, 21422, 21423, + 10712: 21424, 21425, 21426, + 10713: 21424, 21426, 21427, + 10714: 21428, 21429, 21430, + 10715: 21428, 21430, 21431, + 10716: 21432, 21433, 21434, + 10717: 21432, 21434, 21435, + 10718: 21436, 21437, 21438, + 10719: 21436, 21438, 21439, + 10720: 21440, 21441, 21442, + 10721: 21440, 21442, 21443, + 10722: 21444, 21445, 21446, + 10723: 21444, 21446, 21447, + 10724: 21448, 21449, 21450, + 10725: 21448, 21450, 21451, + 10726: 21452, 21453, 21454, + 10727: 21452, 21454, 21455, + 10728: 21456, 21457, 21458, + 10729: 21456, 21458, 21459, + 10730: 21460, 21461, 21462, + 10731: 21460, 21462, 21463, + 10732: 21464, 21465, 21466, + 10733: 21464, 21466, 21467, + 10734: 21468, 21469, 21470, + 10735: 21468, 21470, 21471, + 10736: 21472, 21473, 21474, + 10737: 21472, 21474, 21475, + 10738: 21476, 21477, 21478, + 10739: 21476, 21478, 21479, + 10740: 21480, 21481, 21482, + 10741: 21480, 21482, 21483, + 10742: 21484, 21485, 21486, + 10743: 21484, 21486, 21487, + 10744: 21488, 21489, 21490, + 10745: 21488, 21490, 21491, + 10746: 21492, 21493, 21494, + 10747: 21492, 21494, 21495, + 10748: 21496, 21497, 21498, + 10749: 21496, 21498, 21499, + 10750: 21500, 21501, 21502, + 10751: 21500, 21502, 21503, + 10752: 21504, 21505, 21506, + 10753: 21504, 21506, 21507, + 10754: 21508, 21509, 21510, + 10755: 21508, 21510, 21511, + 10756: 21512, 21513, 21514, + 10757: 21512, 21514, 21515, + 10758: 21516, 21517, 21518, + 10759: 21516, 21518, 21519, + 10760: 21520, 21521, 21522, + 10761: 21520, 21522, 21523, + 10762: 21524, 21525, 21526, + 10763: 21524, 21526, 21527, + 10764: 21528, 21529, 21530, + 10765: 21528, 21530, 21531, + 10766: 21532, 21533, 21534, + 10767: 21532, 21534, 21535, + 10768: 21536, 21537, 21538, + 10769: 21536, 21538, 21539, + 10770: 21540, 21541, 21542, + 10771: 21540, 21542, 21543, + 10772: 21544, 21545, 21546, + 10773: 21544, 21546, 21547, + 10774: 21548, 21549, 21550, + 10775: 21548, 21550, 21551, + 10776: 21552, 21553, 21554, + 10777: 21552, 21554, 21555, + 10778: 21556, 21557, 21558, + 10779: 21556, 21558, 21559, + 10780: 21560, 21561, 21562, + 10781: 21560, 21562, 21563, + 10782: 21564, 21565, 21566, + 10783: 21564, 21566, 21567, + 10784: 21568, 21569, 21570, + 10785: 21568, 21570, 21571, + 10786: 21572, 21573, 21574, + 10787: 21572, 21574, 21575, + 10788: 21576, 21577, 21578, + 10789: 21576, 21578, 21579, + 10790: 21580, 21581, 21582, + 10791: 21580, 21582, 21583, + 10792: 21584, 21585, 21586, + 10793: 21584, 21586, 21587, + 10794: 21588, 21589, 21590, + 10795: 21588, 21590, 21591, + 10796: 21592, 21593, 21594, + 10797: 21592, 21594, 21595, + 10798: 21596, 21597, 21598, + 10799: 21596, 21598, 21599, + 10800: 21600, 21601, 21602, + 10801: 21600, 21602, 21603, + 10802: 21604, 21605, 21606, + 10803: 21604, 21606, 21607, + 10804: 21608, 21609, 21610, + 10805: 21608, 21610, 21611, + 10806: 21612, 21613, 21614, + 10807: 21612, 21614, 21615, + 10808: 21616, 21617, 21618, + 10809: 21616, 21618, 21619, + 10810: 21620, 21621, 21622, + 10811: 21620, 21622, 21623, + 10812: 21624, 21625, 21626, + 10813: 21624, 21626, 21627, + 10814: 21628, 21629, 21630, + 10815: 21628, 21630, 21631, + 10816: 21632, 21633, 21634, + 10817: 21632, 21634, 21635, + 10818: 21636, 21637, 21638, + 10819: 21636, 21638, 21639, + 10820: 21640, 21641, 21642, + 10821: 21640, 21642, 21643, + 10822: 21644, 21645, 21646, + 10823: 21644, 21646, 21647, + 10824: 21648, 21649, 21650, + 10825: 21648, 21650, 21651, + 10826: 21652, 21653, 21654, + 10827: 21652, 21654, 21655, + 10828: 21656, 21657, 21658, + 10829: 21656, 21658, 21659, + 10830: 21660, 21661, 21662, + 10831: 21660, 21662, 21663, + 10832: 21664, 21665, 21666, + 10833: 21664, 21666, 21667, + 10834: 21668, 21669, 21670, + 10835: 21668, 21670, 21671, + 10836: 21672, 21673, 21674, + 10837: 21672, 21674, 21675, + 10838: 21676, 21677, 21678, + 10839: 21676, 21678, 21679, + 10840: 21680, 21681, 21682, + 10841: 21680, 21682, 21683, + 10842: 21684, 21685, 21686, + 10843: 21684, 21686, 21687, + 10844: 21688, 21689, 21690, + 10845: 21688, 21690, 21691, + 10846: 21692, 21693, 21694, + 10847: 21692, 21694, 21695, + 10848: 21696, 21697, 21698, + 10849: 21696, 21698, 21699, + 10850: 21700, 21701, 21702, + 10851: 21700, 21702, 21703, + 10852: 21704, 21705, 21706, + 10853: 21704, 21706, 21707, + 10854: 21708, 21709, 21710, + 10855: 21708, 21710, 21711, + 10856: 21712, 21713, 21714, + 10857: 21712, 21714, 21715, + 10858: 21716, 21717, 21718, + 10859: 21716, 21718, 21719, + 10860: 21720, 21721, 21722, + 10861: 21720, 21722, 21723, + 10862: 21724, 21725, 21726, + 10863: 21724, 21726, 21727, + 10864: 21728, 21729, 21730, + 10865: 21728, 21730, 21731, + 10866: 21732, 21733, 21734, + 10867: 21732, 21734, 21735, + 10868: 21736, 21737, 21738, + 10869: 21736, 21738, 21739, + 10870: 21740, 21741, 21742, + 10871: 21740, 21742, 21743, + 10872: 21744, 21745, 21746, + 10873: 21744, 21746, 21747, + 10874: 21748, 21749, 21750, + 10875: 21748, 21750, 21751, + 10876: 21752, 21753, 21754, + 10877: 21752, 21754, 21755, + 10878: 21756, 21757, 21758, + 10879: 21756, 21758, 21759, + 10880: 21760, 21761, 21762, + 10881: 21760, 21762, 21763, + 10882: 21764, 21765, 21766, + 10883: 21764, 21766, 21767, + 10884: 21768, 21769, 21770, + 10885: 21768, 21770, 21771, + 10886: 21772, 21773, 21774, + 10887: 21772, 21774, 21775, + 10888: 21776, 21777, 21778, + 10889: 21776, 21778, 21779, + 10890: 21780, 21781, 21782, + 10891: 21780, 21782, 21783, + 10892: 21784, 21785, 21786, + 10893: 21784, 21786, 21787, + 10894: 21788, 21789, 21790, + 10895: 21788, 21790, 21791, + 10896: 21792, 21793, 21794, + 10897: 21792, 21794, 21795, + 10898: 21796, 21797, 21798, + 10899: 21796, 21798, 21799, + 10900: 21800, 21801, 21802, + 10901: 21800, 21802, 21803, + 10902: 21804, 21805, 21806, + 10903: 21804, 21806, 21807, + 10904: 21808, 21809, 21810, + 10905: 21808, 21810, 21811, + 10906: 21812, 21813, 21814, + 10907: 21812, 21814, 21815, + 10908: 21816, 21817, 21818, + 10909: 21816, 21818, 21819, + 10910: 21820, 21821, 21822, + 10911: 21820, 21822, 21823, + 10912: 21824, 21825, 21826, + 10913: 21824, 21826, 21827, + 10914: 21828, 21829, 21830, + 10915: 21828, 21830, 21831, + 10916: 21832, 21833, 21834, + 10917: 21832, 21834, 21835, + 10918: 21836, 21837, 21838, + 10919: 21836, 21838, 21839, + 10920: 21840, 21841, 21842, + 10921: 21840, 21842, 21843, + 10922: 21844, 21845, 21846, + 10923: 21844, 21846, 21847, + 10924: 21848, 21849, 21850, + 10925: 21848, 21850, 21851, + 10926: 21852, 21853, 21854, + 10927: 21852, 21854, 21855, + 10928: 21856, 21857, 21858, + 10929: 21856, 21858, 21859, + 10930: 21860, 21861, 21862, + 10931: 21860, 21862, 21863, + 10932: 21864, 21865, 21866, + 10933: 21864, 21866, 21867, + 10934: 21868, 21869, 21870, + 10935: 21868, 21870, 21871, + 10936: 21872, 21873, 21874, + 10937: 21872, 21874, 21875, + 10938: 21876, 21877, 21878, + 10939: 21876, 21878, 21879, + 10940: 21880, 21881, 21882, + 10941: 21880, 21882, 21883, + 10942: 21884, 21885, 21886, + 10943: 21884, 21886, 21887, + 10944: 21888, 21889, 21890, + 10945: 21888, 21890, 21891, + 10946: 21892, 21893, 21894, + 10947: 21892, 21894, 21895, + 10948: 21896, 21897, 21898, + 10949: 21896, 21898, 21899, + 10950: 21900, 21901, 21902, + 10951: 21900, 21902, 21903, + 10952: 21904, 21905, 21906, + 10953: 21904, 21906, 21907, + 10954: 21908, 21909, 21910, + 10955: 21908, 21910, 21911, + 10956: 21912, 21913, 21914, + 10957: 21912, 21914, 21915, + 10958: 21916, 21917, 21918, + 10959: 21916, 21918, 21919, + 10960: 21920, 21921, 21922, + 10961: 21920, 21922, 21923, + 10962: 21924, 21925, 21926, + 10963: 21924, 21926, 21927, + 10964: 21928, 21929, 21930, + 10965: 21928, 21930, 21931, + 10966: 21932, 21933, 21934, + 10967: 21932, 21934, 21935, + 10968: 21936, 21937, 21938, + 10969: 21936, 21938, 21939, + 10970: 21940, 21941, 21942, + 10971: 21940, 21942, 21943, + 10972: 21944, 21945, 21946, + 10973: 21944, 21946, 21947, + 10974: 21948, 21949, 21950, + 10975: 21948, 21950, 21951, + 10976: 21952, 21953, 21954, + 10977: 21952, 21954, 21955, + 10978: 21956, 21957, 21958, + 10979: 21956, 21958, 21959, + 10980: 21960, 21961, 21962, + 10981: 21960, 21962, 21963, + 10982: 21964, 21965, 21966, + 10983: 21964, 21966, 21967, + 10984: 21968, 21969, 21970, + 10985: 21968, 21970, 21971, + 10986: 21972, 21973, 21974, + 10987: 21972, 21974, 21975, + 10988: 21976, 21977, 21978, + 10989: 21976, 21978, 21979, + 10990: 21980, 21981, 21982, + 10991: 21980, 21982, 21983, + 10992: 21984, 21985, 21986, + 10993: 21984, 21986, 21987, + 10994: 21988, 21989, 21990, + 10995: 21988, 21990, 21991, + 10996: 21992, 21993, 21994, + 10997: 21992, 21994, 21995, + 10998: 21996, 21997, 21998, + 10999: 21996, 21998, 21999, + 11000: 22000, 22001, 22002, + 11001: 22000, 22002, 22003, + 11002: 22004, 22005, 22006, + 11003: 22004, 22006, 22007, + 11004: 22008, 22009, 22010, + 11005: 22008, 22010, 22011, + 11006: 22012, 22013, 22014, + 11007: 22012, 22014, 22015, + 11008: 22016, 22017, 22018, + 11009: 22016, 22018, 22019, + 11010: 22020, 22021, 22022, + 11011: 22020, 22022, 22023, + 11012: 22024, 22025, 22026, + 11013: 22024, 22026, 22027, + 11014: 22028, 22029, 22030, + 11015: 22028, 22030, 22031, + 11016: 22032, 22033, 22034, + 11017: 22032, 22034, 22035, + 11018: 22036, 22037, 22038, + 11019: 22036, 22038, 22039, + 11020: 22040, 22041, 22042, + 11021: 22040, 22042, 22043, + 11022: 22044, 22045, 22046, + 11023: 22044, 22046, 22047, + 11024: 22048, 22049, 22050, + 11025: 22048, 22050, 22051, + 11026: 22052, 22053, 22054, + 11027: 22052, 22054, 22055, + 11028: 22056, 22057, 22058, + 11029: 22056, 22058, 22059, + 11030: 22060, 22061, 22062, + 11031: 22060, 22062, 22063, + 11032: 22064, 22065, 22066, + 11033: 22064, 22066, 22067, + 11034: 22068, 22069, 22070, + 11035: 22068, 22070, 22071, + 11036: 22072, 22073, 22074, + 11037: 22072, 22074, 22075, + 11038: 22076, 22077, 22078, + 11039: 22076, 22078, 22079, + 11040: 22080, 22081, 22082, + 11041: 22080, 22082, 22083, + 11042: 22084, 22085, 22086, + 11043: 22084, 22086, 22087, + 11044: 22088, 22089, 22090, + 11045: 22088, 22090, 22091, + 11046: 22092, 22093, 22094, + 11047: 22092, 22094, 22095, + 11048: 22096, 22097, 22098, + 11049: 22096, 22098, 22099, + 11050: 22100, 22101, 22102, + 11051: 22100, 22102, 22103, + 11052: 22104, 22105, 22106, + 11053: 22104, 22106, 22107, + 11054: 22108, 22109, 22110, + 11055: 22108, 22110, 22111, + 11056: 22112, 22113, 22114, + 11057: 22112, 22114, 22115, + 11058: 22116, 22117, 22118, + 11059: 22116, 22118, 22119, + 11060: 22120, 22121, 22122, + 11061: 22120, 22122, 22123, + 11062: 22124, 22125, 22126, + 11063: 22124, 22126, 22127, + 11064: 22128, 22129, 22130, + 11065: 22128, 22130, 22131, + 11066: 22132, 22133, 22134, + 11067: 22132, 22134, 22135, + 11068: 22136, 22137, 22138, + 11069: 22136, 22138, 22139, + 11070: 22140, 22141, 22142, + 11071: 22140, 22142, 22143, + 11072: 22144, 22145, 22146, + 11073: 22144, 22146, 22147, + 11074: 22148, 22149, 22150, + 11075: 22148, 22150, 22151, + 11076: 22152, 22153, 22154, + 11077: 22152, 22154, 22155, + 11078: 22156, 22157, 22158, + 11079: 22156, 22158, 22159, + 11080: 22160, 22161, 22162, + 11081: 22160, 22162, 22163, + 11082: 22164, 22165, 22166, + 11083: 22164, 22166, 22167, + 11084: 22168, 22169, 22170, + 11085: 22168, 22170, 22171, + 11086: 22172, 22173, 22174, + 11087: 22172, 22174, 22175, + 11088: 22176, 22177, 22178, + 11089: 22176, 22178, 22179, + 11090: 22180, 22181, 22182, + 11091: 22180, 22182, 22183, + 11092: 22184, 22185, 22186, + 11093: 22184, 22186, 22187, + 11094: 22188, 22189, 22190, + 11095: 22188, 22190, 22191, + 11096: 22192, 22193, 22194, + 11097: 22192, 22194, 22195, + 11098: 22196, 22197, 22198, + 11099: 22196, 22198, 22199, + 11100: 22200, 22201, 22202, + 11101: 22200, 22202, 22203, + 11102: 22204, 22205, 22206, + 11103: 22204, 22206, 22207, + 11104: 22208, 22209, 22210, + 11105: 22208, 22210, 22211, + 11106: 22212, 22213, 22214, + 11107: 22212, 22214, 22215, + 11108: 22216, 22217, 22218, + 11109: 22216, 22218, 22219, + 11110: 22220, 22221, 22222, + 11111: 22220, 22222, 22223, + 11112: 22224, 22225, 22226, + 11113: 22224, 22226, 22227, + 11114: 22228, 22229, 22230, + 11115: 22228, 22230, 22231, + 11116: 22232, 22233, 22234, + 11117: 22232, 22234, 22235, + 11118: 22236, 22237, 22238, + 11119: 22236, 22238, 22239, + 11120: 22240, 22241, 22242, + 11121: 22240, 22242, 22243, + 11122: 22244, 22245, 22246, + 11123: 22244, 22246, 22247, + 11124: 22248, 22249, 22250, + 11125: 22248, 22250, 22251, + 11126: 22252, 22253, 22254, + 11127: 22252, 22254, 22255, + 11128: 22256, 22257, 22258, + 11129: 22256, 22258, 22259, + 11130: 22260, 22261, 22262, + 11131: 22260, 22262, 22263, + 11132: 22264, 22265, 22266, + 11133: 22264, 22266, 22267, + 11134: 22268, 22269, 22270, + 11135: 22268, 22270, 22271, + 11136: 22272, 22273, 22274, + 11137: 22272, 22274, 22275, + 11138: 22276, 22277, 22278, + 11139: 22276, 22278, 22279, + 11140: 22280, 22281, 22282, + 11141: 22280, 22282, 22283, + 11142: 22284, 22285, 22286, + 11143: 22284, 22286, 22287, + 11144: 22288, 22289, 22290, + 11145: 22288, 22290, 22291, + 11146: 22292, 22293, 22294, + 11147: 22292, 22294, 22295, + 11148: 22296, 22297, 22298, + 11149: 22296, 22298, 22299, + 11150: 22300, 22301, 22302, + 11151: 22300, 22302, 22303, + 11152: 22304, 22305, 22306, + 11153: 22304, 22306, 22307, + 11154: 22308, 22309, 22310, + 11155: 22308, 22310, 22311, + 11156: 22312, 22313, 22314, + 11157: 22312, 22314, 22315, + 11158: 22316, 22317, 22318, + 11159: 22316, 22318, 22319, + 11160: 22320, 22321, 22322, + 11161: 22320, 22322, 22323, + 11162: 22324, 22325, 22326, + 11163: 22324, 22326, 22327, + 11164: 22328, 22329, 22330, + 11165: 22328, 22330, 22331, + 11166: 22332, 22333, 22334, + 11167: 22332, 22334, 22335, + 11168: 22336, 22337, 22338, + 11169: 22336, 22338, 22339, + 11170: 22340, 22341, 22342, + 11171: 22340, 22342, 22343, + 11172: 22344, 22345, 22346, + 11173: 22344, 22346, 22347, + 11174: 22348, 22349, 22350, + 11175: 22348, 22350, 22351, + 11176: 22352, 22353, 22354, + 11177: 22352, 22354, 22355, + 11178: 22356, 22357, 22358, + 11179: 22356, 22358, 22359, + 11180: 22360, 22361, 22362, + 11181: 22360, 22362, 22363, + 11182: 22364, 22365, 22366, + 11183: 22364, 22366, 22367, + 11184: 22368, 22369, 22370, + 11185: 22368, 22370, 22371, + 11186: 22372, 22373, 22374, + 11187: 22372, 22374, 22375, + 11188: 22376, 22377, 22378, + 11189: 22376, 22378, 22379, + 11190: 22380, 22381, 22382, + 11191: 22380, 22382, 22383, + 11192: 22384, 22385, 22386, + 11193: 22384, 22386, 22387, + 11194: 22388, 22389, 22390, + 11195: 22388, 22390, 22391, + 11196: 22392, 22393, 22394, + 11197: 22392, 22394, 22395, + 11198: 22396, 22397, 22398, + 11199: 22396, 22398, 22399, + 11200: 22400, 22401, 22402, + 11201: 22400, 22402, 22403, + 11202: 22404, 22405, 22406, + 11203: 22404, 22406, 22407, + 11204: 22408, 22409, 22410, + 11205: 22408, 22410, 22411, + 11206: 22412, 22413, 22414, + 11207: 22412, 22414, 22415, + 11208: 22416, 22417, 22418, + 11209: 22416, 22418, 22419, + 11210: 22420, 22421, 22422, + 11211: 22420, 22422, 22423, + 11212: 22424, 22425, 22426, + 11213: 22424, 22426, 22427, + 11214: 22428, 22429, 22430, + 11215: 22428, 22430, 22431, + 11216: 22432, 22433, 22434, + 11217: 22432, 22434, 22435, + 11218: 22436, 22437, 22438, + 11219: 22436, 22438, 22439, + 11220: 22440, 22441, 22442, + 11221: 22440, 22442, 22443, + 11222: 22444, 22445, 22446, + 11223: 22444, 22446, 22447, + 11224: 22448, 22449, 22450, + 11225: 22448, 22450, 22451, + 11226: 22452, 22453, 22454, + 11227: 22452, 22454, 22455, + 11228: 22456, 22457, 22458, + 11229: 22456, 22458, 22459, + 11230: 22460, 22461, 22462, + 11231: 22460, 22462, 22463, + 11232: 22464, 22465, 22466, + 11233: 22464, 22466, 22467, + 11234: 22468, 22469, 22470, + 11235: 22468, 22470, 22471, + 11236: 22472, 22473, 22474, + 11237: 22472, 22474, 22475, + 11238: 22476, 22477, 22478, + 11239: 22476, 22478, 22479, + 11240: 22480, 22481, 22482, + 11241: 22480, 22482, 22483, + 11242: 22484, 22485, 22486, + 11243: 22484, 22486, 22487, + 11244: 22488, 22489, 22490, + 11245: 22488, 22490, 22491, + 11246: 22492, 22493, 22494, + 11247: 22492, 22494, 22495, + 11248: 22496, 22497, 22498, + 11249: 22496, 22498, 22499, + 11250: 22500, 22501, 22502, + 11251: 22500, 22502, 22503, + 11252: 22504, 22505, 22506, + 11253: 22504, 22506, 22507, + 11254: 22508, 22509, 22510, + 11255: 22508, 22510, 22511, + 11256: 22512, 22513, 22514, + 11257: 22512, 22514, 22515, + 11258: 22516, 22517, 22518, + 11259: 22516, 22518, 22519, + 11260: 22520, 22521, 22522, + 11261: 22520, 22522, 22523, + 11262: 22524, 22525, 22526, + 11263: 22524, 22526, 22527, + 11264: 22528, 22529, 22530, + 11265: 22528, 22530, 22531, + 11266: 22532, 22533, 22534, + 11267: 22532, 22534, 22535, + 11268: 22536, 22537, 22538, + 11269: 22536, 22538, 22539, + 11270: 22540, 22541, 22542, + 11271: 22540, 22542, 22543, + 11272: 22544, 22545, 22546, + 11273: 22544, 22546, 22547, + 11274: 22548, 22549, 22550, + 11275: 22548, 22550, 22551, + 11276: 22552, 22553, 22554, + 11277: 22552, 22554, 22555, + 11278: 22556, 22557, 22558, + 11279: 22556, 22558, 22559, + 11280: 22560, 22561, 22562, + 11281: 22560, 22562, 22563, + 11282: 22564, 22565, 22566, + 11283: 22564, 22566, 22567, + 11284: 22568, 22569, 22570, + 11285: 22568, 22570, 22571, + 11286: 22572, 22573, 22574, + 11287: 22572, 22574, 22575, + 11288: 22576, 22577, 22578, + 11289: 22576, 22578, 22579, + 11290: 22580, 22581, 22582, + 11291: 22580, 22582, 22583, + 11292: 22584, 22585, 22586, + 11293: 22584, 22586, 22587, + 11294: 22588, 22589, 22590, + 11295: 22588, 22590, 22591, + 11296: 22592, 22593, 22594, + 11297: 22592, 22594, 22595, + 11298: 22596, 22597, 22598, + 11299: 22596, 22598, 22599, + 11300: 22600, 22601, 22602, + 11301: 22600, 22602, 22603, + 11302: 22604, 22605, 22606, + 11303: 22604, 22606, 22607, + 11304: 22608, 22609, 22610, + 11305: 22608, 22610, 22611, + 11306: 22612, 22613, 22614, + 11307: 22612, 22614, 22615, + 11308: 22616, 22617, 22618, + 11309: 22616, 22618, 22619, + 11310: 22620, 22621, 22622, + 11311: 22620, 22622, 22623, + 11312: 22624, 22625, 22626, + 11313: 22624, 22626, 22627, + 11314: 22628, 22629, 22630, + 11315: 22628, 22630, 22631, + 11316: 22632, 22633, 22634, + 11317: 22632, 22634, 22635, + 11318: 22636, 22637, 22638, + 11319: 22636, 22638, 22639, + 11320: 22640, 22641, 22642, + 11321: 22640, 22642, 22643, + 11322: 22644, 22645, 22646, + 11323: 22644, 22646, 22647, + 11324: 22648, 22649, 22650, + 11325: 22648, 22650, 22651, + 11326: 22652, 22653, 22654, + 11327: 22652, 22654, 22655, + 11328: 22656, 22657, 22658, + 11329: 22656, 22658, 22659, + 11330: 22660, 22661, 22662, + 11331: 22660, 22662, 22663, + 11332: 22664, 22665, 22666, + 11333: 22664, 22666, 22667, + 11334: 22668, 22669, 22670, + 11335: 22668, 22670, 22671, + 11336: 22672, 22673, 22674, + 11337: 22672, 22674, 22675, + 11338: 22676, 22677, 22678, + 11339: 22676, 22678, 22679, + 11340: 22680, 22681, 22682, + 11341: 22680, 22682, 22683, + 11342: 22684, 22685, 22686, + 11343: 22684, 22686, 22687, + 11344: 22688, 22689, 22690, + 11345: 22688, 22690, 22691, + 11346: 22692, 22693, 22694, + 11347: 22692, 22694, 22695, + 11348: 22696, 22697, 22698, + 11349: 22696, 22698, 22699, + 11350: 22700, 22701, 22702, + 11351: 22700, 22702, 22703, + 11352: 22704, 22705, 22706, + 11353: 22704, 22706, 22707, + 11354: 22708, 22709, 22710, + 11355: 22708, 22710, 22711, + 11356: 22712, 22713, 22714, + 11357: 22712, 22714, 22715, + 11358: 22716, 22717, 22718, + 11359: 22716, 22718, 22719, + 11360: 22720, 22721, 22722, + 11361: 22720, 22722, 22723, + 11362: 22724, 22725, 22726, + 11363: 22724, 22726, 22727, + 11364: 22728, 22729, 22730, + 11365: 22728, 22730, 22731, + 11366: 22732, 22733, 22734, + 11367: 22732, 22734, 22735, + 11368: 22736, 22737, 22738, + 11369: 22736, 22738, 22739, + 11370: 22740, 22741, 22742, + 11371: 22740, 22742, 22743, + 11372: 22744, 22745, 22746, + 11373: 22744, 22746, 22747, + 11374: 22748, 22749, 22750, + 11375: 22748, 22750, 22751, + 11376: 22752, 22753, 22754, + 11377: 22752, 22754, 22755, + 11378: 22756, 22757, 22758, + 11379: 22756, 22758, 22759, + 11380: 22760, 22761, 22762, + 11381: 22760, 22762, 22763, + 11382: 22764, 22765, 22766, + 11383: 22764, 22766, 22767, + 11384: 22768, 22769, 22770, + 11385: 22768, 22770, 22771, + 11386: 22772, 22773, 22774, + 11387: 22772, 22774, 22775, + 11388: 22776, 22777, 22778, + 11389: 22776, 22778, 22779, + 11390: 22780, 22781, 22782, + 11391: 22780, 22782, 22783, + 11392: 22784, 22785, 22786, + 11393: 22784, 22786, 22787, + 11394: 22788, 22789, 22790, + 11395: 22788, 22790, 22791, + 11396: 22792, 22793, 22794, + 11397: 22792, 22794, 22795, + 11398: 22796, 22797, 22798, + 11399: 22796, 22798, 22799, + 11400: 22800, 22801, 22802, + 11401: 22800, 22802, 22803, + 11402: 22804, 22805, 22806, + 11403: 22804, 22806, 22807, + 11404: 22808, 22809, 22810, + 11405: 22808, 22810, 22811, + 11406: 22812, 22813, 22814, + 11407: 22812, 22814, 22815, + 11408: 22816, 22817, 22818, + 11409: 22816, 22818, 22819, + 11410: 22820, 22821, 22822, + 11411: 22820, 22822, 22823, + 11412: 22824, 22825, 22826, + 11413: 22824, 22826, 22827, + 11414: 22828, 22829, 22830, + 11415: 22828, 22830, 22831, + 11416: 22832, 22833, 22834, + 11417: 22832, 22834, 22835, + 11418: 22836, 22837, 22838, + 11419: 22836, 22838, 22839, + 11420: 22840, 22841, 22842, + 11421: 22840, 22842, 22843, + 11422: 22844, 22845, 22846, + 11423: 22844, 22846, 22847, + 11424: 22848, 22849, 22850, + 11425: 22848, 22850, 22851, + 11426: 22852, 22853, 22854, + 11427: 22852, 22854, 22855, + 11428: 22856, 22857, 22858, + 11429: 22856, 22858, 22859, + 11430: 22860, 22861, 22862, + 11431: 22860, 22862, 22863, + 11432: 22864, 22865, 22866, + 11433: 22864, 22866, 22867, + 11434: 22868, 22869, 22870, + 11435: 22868, 22870, 22871, + 11436: 22872, 22873, 22874, + 11437: 22872, 22874, 22875, + 11438: 22876, 22877, 22878, + 11439: 22876, 22878, 22879, + 11440: 22880, 22881, 22882, + 11441: 22880, 22882, 22883, + 11442: 22884, 22885, 22886, + 11443: 22884, 22886, 22887, + 11444: 22888, 22889, 22890, + 11445: 22888, 22890, 22891, + 11446: 22892, 22893, 22894, + 11447: 22892, 22894, 22895, + 11448: 22896, 22897, 22898, + 11449: 22896, 22898, 22899, + 11450: 22900, 22901, 22902, + 11451: 22900, 22902, 22903, + 11452: 22904, 22905, 22906, + 11453: 22904, 22906, 22907, + 11454: 22908, 22909, 22910, + 11455: 22908, 22910, 22911, + 11456: 22912, 22913, 22914, + 11457: 22912, 22914, 22915, + 11458: 22916, 22917, 22918, + 11459: 22916, 22918, 22919, + 11460: 22920, 22921, 22922, + 11461: 22920, 22922, 22923, + 11462: 22924, 22925, 22926, + 11463: 22924, 22926, 22927, + 11464: 22928, 22929, 22930, + 11465: 22928, 22930, 22931, + 11466: 22932, 22933, 22934, + 11467: 22932, 22934, 22935, + 11468: 22936, 22937, 22938, + 11469: 22936, 22938, 22939, + 11470: 22940, 22941, 22942, + 11471: 22940, 22942, 22943, + 11472: 22944, 22945, 22946, + 11473: 22944, 22946, 22947, + 11474: 22948, 22949, 22950, + 11475: 22948, 22950, 22951, + 11476: 22952, 22953, 22954, + 11477: 22952, 22954, 22955, + 11478: 22956, 22957, 22958, + 11479: 22956, 22958, 22959, + 11480: 22960, 22961, 22962, + 11481: 22960, 22962, 22963, + 11482: 22964, 22965, 22966, + 11483: 22964, 22966, 22967, + 11484: 22968, 22969, 22970, + 11485: 22968, 22970, 22971, + 11486: 22972, 22973, 22974, + 11487: 22972, 22974, 22975, + 11488: 22976, 22977, 22978, + 11489: 22976, 22978, 22979, + 11490: 22980, 22981, 22982, + 11491: 22980, 22982, 22983, + 11492: 22984, 22985, 22986, + 11493: 22984, 22986, 22987, + 11494: 22988, 22989, 22990, + 11495: 22988, 22990, 22991, + 11496: 22992, 22993, 22994, + 11497: 22992, 22994, 22995, + 11498: 22996, 22997, 22998, + 11499: 22996, 22998, 22999, + 11500: 23000, 23001, 23002, + 11501: 23000, 23002, 23003, + 11502: 23004, 23005, 23006, + 11503: 23004, 23006, 23007, + 11504: 23008, 23009, 23010, + 11505: 23008, 23010, 23011, + 11506: 23012, 23013, 23014, + 11507: 23012, 23014, 23015, + 11508: 23016, 23017, 23018, + 11509: 23016, 23018, 23019, + 11510: 23020, 23021, 23022, + 11511: 23020, 23022, 23023, + 11512: 23024, 23025, 23026, + 11513: 23024, 23026, 23027, + 11514: 23028, 23029, 23030, + 11515: 23028, 23030, 23031, + 11516: 23032, 23033, 23034, + 11517: 23032, 23034, 23035, + 11518: 23036, 23037, 23038, + 11519: 23036, 23038, 23039, + 11520: 23040, 23041, 23042, + 11521: 23040, 23042, 23043, + 11522: 23044, 23045, 23046, + 11523: 23044, 23046, 23047, + 11524: 23048, 23049, 23050, + 11525: 23048, 23050, 23051, + 11526: 23052, 23053, 23054, + 11527: 23052, 23054, 23055, + 11528: 23056, 23057, 23058, + 11529: 23056, 23058, 23059, + 11530: 23060, 23061, 23062, + 11531: 23060, 23062, 23063, + 11532: 23064, 23065, 23066, + 11533: 23064, 23066, 23067, + 11534: 23068, 23069, 23070, + 11535: 23068, 23070, 23071, + 11536: 23072, 23073, 23074, + 11537: 23072, 23074, 23075, + 11538: 23076, 23077, 23078, + 11539: 23076, 23078, 23079, + 11540: 23080, 23081, 23082, + 11541: 23080, 23082, 23083, + 11542: 23084, 23085, 23086, + 11543: 23084, 23086, 23087, + 11544: 23088, 23089, 23090, + 11545: 23088, 23090, 23091, + 11546: 23092, 23093, 23094, + 11547: 23092, 23094, 23095, + 11548: 23096, 23097, 23098, + 11549: 23096, 23098, 23099, + 11550: 23100, 23101, 23102, + 11551: 23100, 23102, 23103, + 11552: 23104, 23105, 23106, + 11553: 23104, 23106, 23107, + 11554: 23108, 23109, 23110, + 11555: 23108, 23110, 23111, + 11556: 23112, 23113, 23114, + 11557: 23112, 23114, 23115, + 11558: 23116, 23117, 23118, + 11559: 23116, 23118, 23119, + 11560: 23120, 23121, 23122, + 11561: 23120, 23122, 23123, + 11562: 23124, 23125, 23126, + 11563: 23124, 23126, 23127, + 11564: 23128, 23129, 23130, + 11565: 23128, 23130, 23131, + 11566: 23132, 23133, 23134, + 11567: 23132, 23134, 23135, + 11568: 23136, 23137, 23138, + 11569: 23136, 23138, 23139, + 11570: 23140, 23141, 23142, + 11571: 23140, 23142, 23143, + 11572: 23144, 23145, 23146, + 11573: 23144, 23146, 23147, + 11574: 23148, 23149, 23150, + 11575: 23148, 23150, 23151, + 11576: 23152, 23153, 23154, + 11577: 23152, 23154, 23155, + 11578: 23156, 23157, 23158, + 11579: 23156, 23158, 23159, + 11580: 23160, 23161, 23162, + 11581: 23160, 23162, 23163, + 11582: 23164, 23165, 23166, + 11583: 23164, 23166, 23167, + 11584: 23168, 23169, 23170, + 11585: 23168, 23170, 23171, + 11586: 23172, 23173, 23174, + 11587: 23172, 23174, 23175, + 11588: 23176, 23177, 23178, + 11589: 23176, 23178, 23179, + 11590: 23180, 23181, 23182, + 11591: 23180, 23182, 23183, + 11592: 23184, 23185, 23186, + 11593: 23184, 23186, 23187, + 11594: 23188, 23189, 23190, + 11595: 23188, 23190, 23191, + 11596: 23192, 23193, 23194, + 11597: 23192, 23194, 23195, + 11598: 23196, 23197, 23198, + 11599: 23196, 23198, 23199, + 11600: 23200, 23201, 23202, + 11601: 23200, 23202, 23203, + 11602: 23204, 23205, 23206, + 11603: 23204, 23206, 23207, + 11604: 23208, 23209, 23210, + 11605: 23208, 23210, 23211, + 11606: 23212, 23213, 23214, + 11607: 23212, 23214, 23215, + 11608: 23216, 23217, 23218, + 11609: 23216, 23218, 23219, + 11610: 23220, 23221, 23222, + 11611: 23220, 23222, 23223, + 11612: 23224, 23225, 23226, + 11613: 23224, 23226, 23227, + 11614: 23228, 23229, 23230, + 11615: 23228, 23230, 23231, + 11616: 23232, 23233, 23234, + 11617: 23232, 23234, 23235, + 11618: 23236, 23237, 23238, + 11619: 23236, 23238, 23239, + 11620: 23240, 23241, 23242, + 11621: 23240, 23242, 23243, + 11622: 23244, 23245, 23246, + 11623: 23244, 23246, 23247, + 11624: 23248, 23249, 23250, + 11625: 23248, 23250, 23251, + 11626: 23252, 23253, 23254, + 11627: 23252, 23254, 23255, + 11628: 23256, 23257, 23258, + 11629: 23256, 23258, 23259, + 11630: 23260, 23261, 23262, + 11631: 23260, 23262, 23263, + 11632: 23264, 23265, 23266, + 11633: 23264, 23266, 23267, + 11634: 23268, 23269, 23270, + 11635: 23268, 23270, 23271, + 11636: 23272, 23273, 23274, + 11637: 23272, 23274, 23275, + 11638: 23276, 23277, 23278, + 11639: 23276, 23278, 23279, + 11640: 23280, 23281, 23282, + 11641: 23280, 23282, 23283, + 11642: 23284, 23285, 23286, + 11643: 23284, 23286, 23287, + 11644: 23288, 23289, 23290, + 11645: 23288, 23290, 23291, + 11646: 23292, 23293, 23294, + 11647: 23292, 23294, 23295, + 11648: 23296, 23297, 23298, + 11649: 23296, 23298, 23299, + 11650: 23300, 23301, 23302, + 11651: 23300, 23302, 23303, + 11652: 23304, 23305, 23306, + 11653: 23304, 23306, 23307, + 11654: 23308, 23309, 23310, + 11655: 23308, 23310, 23311, + 11656: 23312, 23313, 23314, + 11657: 23312, 23314, 23315, + 11658: 23316, 23317, 23318, + 11659: 23316, 23318, 23319, + 11660: 23320, 23321, 23322, + 11661: 23320, 23322, 23323, + 11662: 23324, 23325, 23326, + 11663: 23324, 23326, 23327, + 11664: 23328, 23329, 23330, + 11665: 23328, 23330, 23331, + 11666: 23332, 23333, 23334, + 11667: 23332, 23334, 23335, + 11668: 23336, 23337, 23338, + 11669: 23336, 23338, 23339, + 11670: 23340, 23341, 23342, + 11671: 23340, 23342, 23343, + 11672: 23344, 23345, 23346, + 11673: 23344, 23346, 23347, + 11674: 23348, 23349, 23350, + 11675: 23348, 23350, 23351, + 11676: 23352, 23353, 23354, + 11677: 23352, 23354, 23355, + 11678: 23356, 23357, 23358, + 11679: 23356, 23358, 23359, + 11680: 23360, 23361, 23362, + 11681: 23360, 23362, 23363, + 11682: 23364, 23365, 23366, + 11683: 23364, 23366, 23367, + 11684: 23368, 23369, 23370, + 11685: 23368, 23370, 23371, + 11686: 23372, 23373, 23374, + 11687: 23372, 23374, 23375, + 11688: 23376, 23377, 23378, + 11689: 23376, 23378, 23379, + 11690: 23380, 23381, 23382, + 11691: 23380, 23382, 23383, + 11692: 23384, 23385, 23386, + 11693: 23384, 23386, 23387, + 11694: 23388, 23389, 23390, + 11695: 23388, 23390, 23391, + 11696: 23392, 23393, 23394, + 11697: 23392, 23394, 23395, + 11698: 23396, 23397, 23398, + 11699: 23396, 23398, 23399, + 11700: 23400, 23401, 23402, + 11701: 23400, 23402, 23403, + 11702: 23404, 23405, 23406, + 11703: 23404, 23406, 23407, + 11704: 23408, 23409, 23410, + 11705: 23408, 23410, 23411, + 11706: 23412, 23413, 23414, + 11707: 23412, 23414, 23415, + 11708: 23416, 23417, 23418, + 11709: 23416, 23418, 23419, + 11710: 23420, 23421, 23422, + 11711: 23420, 23422, 23423, + 11712: 23424, 23425, 23426, + 11713: 23424, 23426, 23427, + 11714: 23428, 23429, 23430, + 11715: 23428, 23430, 23431, + 11716: 23432, 23433, 23434, + 11717: 23432, 23434, 23435, + 11718: 23436, 23437, 23438, + 11719: 23436, 23438, 23439, + 11720: 23440, 23441, 23442, + 11721: 23440, 23442, 23443, + 11722: 23444, 23445, 23446, + 11723: 23444, 23446, 23447, + 11724: 23448, 23449, 23450, + 11725: 23448, 23450, 23451, + 11726: 23452, 23453, 23454, + 11727: 23452, 23454, 23455, + 11728: 23456, 23457, 23458, + 11729: 23456, 23458, 23459, + 11730: 23460, 23461, 23462, + 11731: 23460, 23462, 23463, + 11732: 23464, 23465, 23466, + 11733: 23464, 23466, 23467, + 11734: 23468, 23469, 23470, + 11735: 23468, 23470, 23471, + 11736: 23472, 23473, 23474, + 11737: 23472, 23474, 23475, + 11738: 23476, 23477, 23478, + 11739: 23476, 23478, 23479, + 11740: 23480, 23481, 23482, + 11741: 23480, 23482, 23483, + 11742: 23484, 23485, 23486, + 11743: 23484, 23486, 23487, + 11744: 23488, 23489, 23490, + 11745: 23488, 23490, 23491, + 11746: 23492, 23493, 23494, + 11747: 23492, 23494, 23495, + 11748: 23496, 23497, 23498, + 11749: 23496, 23498, 23499, + 11750: 23500, 23501, 23502, + 11751: 23500, 23502, 23503, + 11752: 23504, 23505, 23506, + 11753: 23504, 23506, 23507, + 11754: 23508, 23509, 23510, + 11755: 23508, 23510, 23511, + 11756: 23512, 23513, 23514, + 11757: 23512, 23514, 23515, + 11758: 23516, 23517, 23518, + 11759: 23516, 23518, 23519, + 11760: 23520, 23521, 23522, + 11761: 23520, 23522, 23523, + 11762: 23524, 23525, 23526, + 11763: 23524, 23526, 23527, + 11764: 23528, 23529, 23530, + 11765: 23528, 23530, 23531, + 11766: 23532, 23533, 23534, + 11767: 23532, 23534, 23535, + 11768: 23536, 23537, 23538, + 11769: 23536, 23538, 23539, + 11770: 23540, 23541, 23542, + 11771: 23540, 23542, 23543, + 11772: 23544, 23545, 23546, + 11773: 23544, 23546, 23547, + 11774: 23548, 23549, 23550, + 11775: 23548, 23550, 23551, + 11776: 23552, 23553, 23554, + 11777: 23552, 23554, 23555, + 11778: 23556, 23557, 23558, + 11779: 23556, 23558, 23559, + 11780: 23560, 23561, 23562, + 11781: 23560, 23562, 23563, + 11782: 23564, 23565, 23566, + 11783: 23564, 23566, 23567, + 11784: 23568, 23569, 23570, + 11785: 23568, 23570, 23571, + 11786: 23572, 23573, 23574, + 11787: 23572, 23574, 23575, + 11788: 23576, 23577, 23578, + 11789: 23576, 23578, 23579, + 11790: 23580, 23581, 23582, + 11791: 23580, 23582, 23583, + 11792: 23584, 23585, 23586, + 11793: 23584, 23586, 23587, + 11794: 23588, 23589, 23590, + 11795: 23588, 23590, 23591, + 11796: 23592, 23593, 23594, + 11797: 23592, 23594, 23595, + 11798: 23596, 23597, 23598, + 11799: 23596, 23598, 23599, + 11800: 23600, 23601, 23602, + 11801: 23600, 23602, 23603, + 11802: 23604, 23605, 23606, + 11803: 23604, 23606, 23607, + 11804: 23608, 23609, 23610, + 11805: 23608, 23610, 23611, + 11806: 23612, 23613, 23614, + 11807: 23612, 23614, 23615, + 11808: 23616, 23617, 23618, + 11809: 23616, 23618, 23619, + 11810: 23620, 23621, 23622, + 11811: 23620, 23622, 23623, + 11812: 23624, 23625, 23626, + 11813: 23624, 23626, 23627, + 11814: 23628, 23629, 23630, + 11815: 23628, 23630, 23631, + 11816: 23632, 23633, 23634, + 11817: 23632, 23634, 23635, + 11818: 23636, 23637, 23638, + 11819: 23636, 23638, 23639, + 11820: 23640, 23641, 23642, + 11821: 23640, 23642, 23643, + 11822: 23644, 23645, 23646, + 11823: 23644, 23646, 23647, + 11824: 23648, 23649, 23650, + 11825: 23648, 23650, 23651, + 11826: 23652, 23653, 23654, + 11827: 23652, 23654, 23655, + 11828: 23656, 23657, 23658, + 11829: 23656, 23658, 23659, + 11830: 23660, 23661, 23662, + 11831: 23660, 23662, 23663, + 11832: 23664, 23665, 23666, + 11833: 23664, 23666, 23667, + 11834: 23668, 23669, 23670, + 11835: 23668, 23670, 23671, + 11836: 23672, 23673, 23674, + 11837: 23672, 23674, 23675, + 11838: 23676, 23677, 23678, + 11839: 23676, 23678, 23679, + 11840: 23680, 23681, 23682, + 11841: 23680, 23682, 23683, + 11842: 23684, 23685, 23686, + 11843: 23684, 23686, 23687, + 11844: 23688, 23689, 23690, + 11845: 23688, 23690, 23691, + 11846: 23692, 23693, 23694, + 11847: 23692, 23694, 23695, + 11848: 23696, 23697, 23698, + 11849: 23696, 23698, 23699, + 11850: 23700, 23701, 23702, + 11851: 23700, 23702, 23703, + 11852: 23704, 23705, 23706, + 11853: 23704, 23706, 23707, + 11854: 23708, 23709, 23710, + 11855: 23708, 23710, 23711, + 11856: 23712, 23713, 23714, + 11857: 23712, 23714, 23715, + 11858: 23716, 23717, 23718, + 11859: 23716, 23718, 23719, + 11860: 23720, 23721, 23722, + 11861: 23720, 23722, 23723, + 11862: 23724, 23725, 23726, + 11863: 23724, 23726, 23727, + 11864: 23728, 23729, 23730, + 11865: 23728, 23730, 23731, + 11866: 23732, 23733, 23734, + 11867: 23732, 23734, 23735, + 11868: 23736, 23737, 23738, + 11869: 23736, 23738, 23739, + 11870: 23740, 23741, 23742, + 11871: 23740, 23742, 23743, + 11872: 23744, 23745, 23746, + 11873: 23744, 23746, 23747, + 11874: 23748, 23749, 23750, + 11875: 23748, 23750, 23751, + 11876: 23752, 23753, 23754, + 11877: 23752, 23754, 23755, + 11878: 23756, 23757, 23758, + 11879: 23756, 23758, 23759, + 11880: 23760, 23761, 23762, + 11881: 23760, 23762, 23763, + 11882: 23764, 23765, 23766, + 11883: 23764, 23766, 23767, + 11884: 23768, 23769, 23770, + 11885: 23768, 23770, 23771, + 11886: 23772, 23773, 23774, + 11887: 23772, 23774, 23775, + 11888: 23776, 23777, 23778, + 11889: 23776, 23778, 23779, + 11890: 23780, 23781, 23782, + 11891: 23780, 23782, 23783, + 11892: 23784, 23785, 23786, + 11893: 23784, 23786, 23787, + 11894: 23788, 23789, 23790, + 11895: 23788, 23790, 23791, + 11896: 23792, 23793, 23794, + 11897: 23792, 23794, 23795, + 11898: 23796, 23797, 23798, + 11899: 23796, 23798, 23799, + 11900: 23800, 23801, 23802, + 11901: 23800, 23802, 23803, + 11902: 23804, 23805, 23806, + 11903: 23804, 23806, 23807, + 11904: 23808, 23809, 23810, + 11905: 23808, 23810, 23811, + 11906: 23812, 23813, 23814, + 11907: 23812, 23814, 23815, + 11908: 23816, 23817, 23818, + 11909: 23816, 23818, 23819, + 11910: 23820, 23821, 23822, + 11911: 23820, 23822, 23823, + 11912: 23824, 23825, 23826, + 11913: 23824, 23826, 23827, + 11914: 23828, 23829, 23830, + 11915: 23828, 23830, 23831, + 11916: 23832, 23833, 23834, + 11917: 23832, 23834, 23835, + 11918: 23836, 23837, 23838, + 11919: 23836, 23838, 23839, + 11920: 23840, 23841, 23842, + 11921: 23840, 23842, 23843, + 11922: 23844, 23845, 23846, + 11923: 23844, 23846, 23847, + 11924: 23848, 23849, 23850, + 11925: 23848, 23850, 23851, + 11926: 23852, 23853, 23854, + 11927: 23852, 23854, 23855, + 11928: 23856, 23857, 23858, + 11929: 23856, 23858, 23859, + 11930: 23860, 23861, 23862, + 11931: 23860, 23862, 23863, + 11932: 23864, 23865, 23866, + 11933: 23864, 23866, 23867, + 11934: 23868, 23869, 23870, + 11935: 23868, 23870, 23871, + 11936: 23872, 23873, 23874, + 11937: 23872, 23874, 23875, + 11938: 23876, 23877, 23878, + 11939: 23876, 23878, 23879, + 11940: 23880, 23881, 23882, + 11941: 23880, 23882, 23883, + 11942: 23884, 23885, 23886, + 11943: 23884, 23886, 23887, + 11944: 23888, 23889, 23890, + 11945: 23888, 23890, 23891, + 11946: 23892, 23893, 23894, + 11947: 23892, 23894, 23895, + 11948: 23896, 23897, 23898, + 11949: 23896, 23898, 23899, + 11950: 23900, 23901, 23902, + 11951: 23900, 23902, 23903, + 11952: 23904, 23905, 23906, + 11953: 23904, 23906, 23907, + 11954: 23908, 23909, 23910, + 11955: 23908, 23910, 23911, + 11956: 23912, 23913, 23914, + 11957: 23912, 23914, 23915, + 11958: 23916, 23917, 23918, + 11959: 23916, 23918, 23919, + 11960: 23920, 23921, 23922, + 11961: 23920, 23922, 23923, + 11962: 23924, 23925, 23926, + 11963: 23924, 23926, 23927, + 11964: 23928, 23929, 23930, + 11965: 23928, 23930, 23931, + 11966: 23932, 23933, 23934, + 11967: 23932, 23934, 23935, + 11968: 23936, 23937, 23938, + 11969: 23936, 23938, 23939, + 11970: 23940, 23941, 23942, + 11971: 23940, 23942, 23943, + 11972: 23944, 23945, 23946, + 11973: 23944, 23946, 23947, + 11974: 23948, 23949, 23950, + 11975: 23948, 23950, 23951, + 11976: 23952, 23953, 23954, + 11977: 23952, 23954, 23955, + 11978: 23956, 23957, 23958, + 11979: 23956, 23958, 23959, + 11980: 23960, 23961, 23962, + 11981: 23960, 23962, 23963, + 11982: 23964, 23965, 23966, + 11983: 23964, 23966, 23967, + 11984: 23968, 23969, 23970, + 11985: 23968, 23970, 23971, + 11986: 23972, 23973, 23974, + 11987: 23972, 23974, 23975, + 11988: 23976, 23977, 23978, + 11989: 23976, 23978, 23979, + 11990: 23980, 23981, 23982, + 11991: 23980, 23982, 23983, + 11992: 23984, 23985, 23986, + 11993: 23984, 23986, 23987, + 11994: 23988, 23989, 23990, + 11995: 23988, 23990, 23991, + 11996: 23992, 23993, 23994, + 11997: 23992, 23994, 23995, + 11998: 23996, 23997, 23998, + 11999: 23996, 23998, 23999, + 12000: 24000, 24001, 24002, + 12001: 24000, 24002, 24003, + 12002: 24004, 24005, 24006, + 12003: 24004, 24006, 24007, + 12004: 24008, 24009, 24010, + 12005: 24008, 24010, 24011, + 12006: 24012, 24013, 24014, + 12007: 24012, 24014, 24015, + 12008: 24016, 24017, 24018, + 12009: 24016, 24018, 24019, + 12010: 24020, 24021, 24022, + 12011: 24020, 24022, 24023, + 12012: 24024, 24025, 24026, + 12013: 24024, 24026, 24027, + 12014: 24028, 24029, 24030, + 12015: 24028, 24030, 24031, + 12016: 24032, 24033, 24034, + 12017: 24032, 24034, 24035, + 12018: 24036, 24037, 24038, + 12019: 24036, 24038, 24039, + 12020: 24040, 24041, 24042, + 12021: 24040, 24042, 24043, + 12022: 24044, 24045, 24046, + 12023: 24044, 24046, 24047, + 12024: 24048, 24049, 24050, + 12025: 24048, 24050, 24051, + 12026: 24052, 24053, 24054, + 12027: 24052, 24054, 24055, + 12028: 24056, 24057, 24058, + 12029: 24056, 24058, 24059, + 12030: 24060, 24061, 24062, + 12031: 24060, 24062, 24063, + 12032: 24064, 24065, 24066, + 12033: 24064, 24066, 24067, + 12034: 24068, 24069, 24070, + 12035: 24068, 24070, 24071, + 12036: 24072, 24073, 24074, + 12037: 24072, 24074, 24075, + 12038: 24076, 24077, 24078, + 12039: 24076, 24078, 24079, + 12040: 24080, 24081, 24082, + 12041: 24080, 24082, 24083, + 12042: 24084, 24085, 24086, + 12043: 24084, 24086, 24087, + 12044: 24088, 24089, 24090, + 12045: 24088, 24090, 24091, + 12046: 24092, 24093, 24094, + 12047: 24092, 24094, 24095, + 12048: 24096, 24097, 24098, + 12049: 24096, 24098, 24099, + 12050: 24100, 24101, 24102, + 12051: 24100, 24102, 24103, + 12052: 24104, 24105, 24106, + 12053: 24104, 24106, 24107, + 12054: 24108, 24109, 24110, + 12055: 24108, 24110, 24111, + 12056: 24112, 24113, 24114, + 12057: 24112, 24114, 24115, + 12058: 24116, 24117, 24118, + 12059: 24116, 24118, 24119, + 12060: 24120, 24121, 24122, + 12061: 24120, 24122, 24123, + 12062: 24124, 24125, 24126, + 12063: 24124, 24126, 24127, + 12064: 24128, 24129, 24130, + 12065: 24128, 24130, 24131, + 12066: 24132, 24133, 24134, + 12067: 24132, 24134, 24135, + 12068: 24136, 24137, 24138, + 12069: 24136, 24138, 24139, + 12070: 24140, 24141, 24142, + 12071: 24140, 24142, 24143, + 12072: 24144, 24145, 24146, + 12073: 24144, 24146, 24147, + 12074: 24148, 24149, 24150, + 12075: 24148, 24150, 24151, + 12076: 24152, 24153, 24154, + 12077: 24152, 24154, 24155, + 12078: 24156, 24157, 24158, + 12079: 24156, 24158, 24159, + 12080: 24160, 24161, 24162, + 12081: 24160, 24162, 24163, + 12082: 24164, 24165, 24166, + 12083: 24164, 24166, 24167, + 12084: 24168, 24169, 24170, + 12085: 24168, 24170, 24171, + 12086: 24172, 24173, 24174, + 12087: 24172, 24174, 24175, + 12088: 24176, 24177, 24178, + 12089: 24176, 24178, 24179, + 12090: 24180, 24181, 24182, + 12091: 24180, 24182, 24183, + 12092: 24184, 24185, 24186, + 12093: 24184, 24186, 24187, + 12094: 24188, 24189, 24190, + 12095: 24188, 24190, 24191, + 12096: 24192, 24193, 24194, + 12097: 24192, 24194, 24195, + 12098: 24196, 24197, 24198, + 12099: 24196, 24198, 24199, + 12100: 24200, 24201, 24202, + 12101: 24200, 24202, 24203, + 12102: 24204, 24205, 24206, + 12103: 24204, 24206, 24207, + 12104: 24208, 24209, 24210, + 12105: 24208, 24210, 24211, + 12106: 24212, 24213, 24214, + 12107: 24212, 24214, 24215, + 12108: 24216, 24217, 24218, + 12109: 24216, 24218, 24219, + 12110: 24220, 24221, 24222, + 12111: 24220, 24222, 24223, + 12112: 24224, 24225, 24226, + 12113: 24224, 24226, 24227, + 12114: 24228, 24229, 24230, + 12115: 24228, 24230, 24231, + 12116: 24232, 24233, 24234, + 12117: 24232, 24234, 24235, + 12118: 24236, 24237, 24238, + 12119: 24236, 24238, 24239, + 12120: 24240, 24241, 24242, + 12121: 24240, 24242, 24243, + 12122: 24244, 24245, 24246, + 12123: 24244, 24246, 24247, + 12124: 24248, 24249, 24250, + 12125: 24248, 24250, 24251, + 12126: 24252, 24253, 24254, + 12127: 24252, 24254, 24255, + 12128: 24256, 24257, 24258, + 12129: 24256, 24258, 24259, + 12130: 24260, 24261, 24262, + 12131: 24260, 24262, 24263, + 12132: 24264, 24265, 24266, + 12133: 24264, 24266, 24267, + 12134: 24268, 24269, 24270, + 12135: 24268, 24270, 24271, + 12136: 24272, 24273, 24274, + 12137: 24272, 24274, 24275, + 12138: 24276, 24277, 24278, + 12139: 24276, 24278, 24279, + 12140: 24280, 24281, 24282, + 12141: 24280, 24282, 24283, + 12142: 24284, 24285, 24286, + 12143: 24284, 24286, 24287, + 12144: 24288, 24289, 24290, + 12145: 24288, 24290, 24291, + 12146: 24292, 24293, 24294, + 12147: 24292, 24294, 24295, + 12148: 24296, 24297, 24298, + 12149: 24296, 24298, 24299, + 12150: 24300, 24301, 24302, + 12151: 24300, 24302, 24303, + 12152: 24304, 24305, 24306, + 12153: 24304, 24306, 24307, + 12154: 24308, 24309, 24310, + 12155: 24308, 24310, 24311, + 12156: 24312, 24313, 24314, + 12157: 24312, 24314, 24315, + 12158: 24316, 24317, 24318, + 12159: 24316, 24318, 24319, + 12160: 24320, 24321, 24322, + 12161: 24320, 24322, 24323, + 12162: 24324, 24325, 24326, + 12163: 24324, 24326, 24327, + 12164: 24328, 24329, 24330, + 12165: 24328, 24330, 24331, + 12166: 24332, 24333, 24334, + 12167: 24332, 24334, 24335, + 12168: 24336, 24337, 24338, + 12169: 24336, 24338, 24339, + 12170: 24340, 24341, 24342, + 12171: 24340, 24342, 24343, + 12172: 24344, 24345, 24346, + 12173: 24344, 24346, 24347, + 12174: 24348, 24349, 24350, + 12175: 24348, 24350, 24351, + 12176: 24352, 24353, 24354, + 12177: 24352, 24354, 24355, + 12178: 24356, 24357, 24358, + 12179: 24356, 24358, 24359, + 12180: 24360, 24361, 24362, + 12181: 24360, 24362, 24363, + 12182: 24364, 24365, 24366, + 12183: 24364, 24366, 24367, + 12184: 24368, 24369, 24370, + 12185: 24368, 24370, 24371, + 12186: 24372, 24373, 24374, + 12187: 24372, 24374, 24375, + 12188: 24376, 24377, 24378, + 12189: 24376, 24378, 24379, + 12190: 24380, 24381, 24382, + 12191: 24380, 24382, 24383, + 12192: 24384, 24385, 24386, + 12193: 24384, 24386, 24387, + 12194: 24388, 24389, 24390, + 12195: 24388, 24390, 24391, + 12196: 24392, 24393, 24394, + 12197: 24392, 24394, 24395, + 12198: 24396, 24397, 24398, + 12199: 24396, 24398, 24399, + 12200: 24400, 24401, 24402, + 12201: 24400, 24402, 24403, + 12202: 24404, 24405, 24406, + 12203: 24404, 24406, 24407, + 12204: 24408, 24409, 24410, + 12205: 24408, 24410, 24411, + 12206: 24412, 24413, 24414, + 12207: 24412, 24414, 24415, + 12208: 24416, 24417, 24418, + 12209: 24416, 24418, 24419, + 12210: 24420, 24421, 24422, + 12211: 24420, 24422, 24423, + 12212: 24424, 24425, 24426, + 12213: 24424, 24426, 24427, + 12214: 24428, 24429, 24430, + 12215: 24428, 24430, 24431, + 12216: 24432, 24433, 24434, + 12217: 24432, 24434, 24435, + 12218: 24436, 24437, 24438, + 12219: 24436, 24438, 24439, + 12220: 24440, 24441, 24442, + 12221: 24440, 24442, 24443, + 12222: 24444, 24445, 24446, + 12223: 24444, 24446, 24447, + 12224: 24448, 24449, 24450, + 12225: 24448, 24450, 24451, + 12226: 24452, 24453, 24454, + 12227: 24452, 24454, 24455, + 12228: 24456, 24457, 24458, + 12229: 24456, 24458, 24459, + 12230: 24460, 24461, 24462, + 12231: 24460, 24462, 24463, + 12232: 24464, 24465, 24466, + 12233: 24464, 24466, 24467, + 12234: 24468, 24469, 24470, + 12235: 24468, 24470, 24471, + 12236: 24472, 24473, 24474, + 12237: 24472, 24474, 24475, + 12238: 24476, 24477, 24478, + 12239: 24476, 24478, 24479, + 12240: 24480, 24481, 24482, + 12241: 24480, 24482, 24483, + 12242: 24484, 24485, 24486, + 12243: 24484, 24486, 24487, + 12244: 24488, 24489, 24490, + 12245: 24488, 24490, 24491, + 12246: 24492, 24493, 24494, + 12247: 24492, 24494, 24495, + 12248: 24496, 24497, 24498, + 12249: 24496, 24498, 24499, + 12250: 24500, 24501, 24502, + 12251: 24500, 24502, 24503, + 12252: 24504, 24505, 24506, + 12253: 24504, 24506, 24507, + 12254: 24508, 24509, 24510, + 12255: 24508, 24510, 24511, + 12256: 24512, 24513, 24514, + 12257: 24512, 24514, 24515, + 12258: 24516, 24517, 24518, + 12259: 24516, 24518, 24519, + 12260: 24520, 24521, 24522, + 12261: 24520, 24522, 24523, + 12262: 24524, 24525, 24526, + 12263: 24524, 24526, 24527, + 12264: 24528, 24529, 24530, + 12265: 24528, 24530, 24531, + 12266: 24532, 24533, 24534, + 12267: 24532, 24534, 24535, + 12268: 24536, 24537, 24538, + 12269: 24536, 24538, 24539, + 12270: 24540, 24541, 24542, + 12271: 24540, 24542, 24543, + 12272: 24544, 24545, 24546, + 12273: 24544, 24546, 24547, + 12274: 24548, 24549, 24550, + 12275: 24548, 24550, 24551, + 12276: 24552, 24553, 24554, + 12277: 24552, 24554, 24555, + 12278: 24556, 24557, 24558, + 12279: 24556, 24558, 24559, + 12280: 24560, 24561, 24562, + 12281: 24560, 24562, 24563, + 12282: 24564, 24565, 24566, + 12283: 24564, 24566, 24567, + 12284: 24568, 24569, 24570, + 12285: 24568, 24570, 24571, + 12286: 24572, 24573, 24574, + 12287: 24572, 24574, 24575, + FaceMaterialIds: Count 12288. Hash: 12545154121625736090 -Node Path: RootNode.Suzanne.transform +Node Name: Cube_optimized +Node Path: RootNode.Cube_optimized +Node Type: MeshData + Positions: Count 24576. Hash: 7031773714680283213 + 0: <-0.004894, 0.005206, 0.004894> + 1: <-0.004691, 0.005326, 0.004959> + 2: <-0.004738, 0.005479, 0.004738> + 3: <-0.004959, 0.005326, 0.004691> + 4: <-0.004691, 0.005326, 0.004959> + 5: <-0.004460, 0.005446, 0.005034> + 6: <-0.004494, 0.005623, 0.004798> + 7: <-0.004738, 0.005479, 0.004738> + 8: <-0.004460, 0.005446, 0.005034> + 9: <-0.004199, 0.005564, 0.005120> + 10: <-0.004226, 0.005760, 0.004870> + 11: <-0.004494, 0.005623, 0.004798> + 12: <-0.004199, 0.005564, 0.005120> + 13: <-0.003918, 0.005678, 0.005207> + 14: <-0.003941, 0.005887, 0.004946> + 15: <-0.004226, 0.005760, 0.004870> + 16: <-0.003918, 0.005678, 0.005207> + 17: <-0.003619, 0.005786, 0.005294> + 18: <-0.003637, 0.006006, 0.005023> + 19: <-0.003941, 0.005887, 0.004946> + 20: <-0.003619, 0.005786, 0.005294> + 21: <-0.003302, 0.005888, 0.005379> + 22: <-0.003318, 0.006117, 0.005099> + 23: <-0.003637, 0.006006, 0.005023> + 24: <-0.003302, 0.005888, 0.005379> + 25: <-0.002971, 0.005983, 0.005459> + 26: <-0.002984, 0.006219, 0.005172> + 27: <-0.003318, 0.006117, 0.005099> + 28: <-0.002971, 0.005983, 0.005459> + 29: <-0.002627, 0.006069, 0.005533> + 30: <-0.002638, 0.006311, 0.005240> + 31: <-0.002984, 0.006219, 0.005172> + 32: <-0.002627, 0.006069, 0.005533> + 33: <-0.002272, 0.006146, 0.005599> + 34: <-0.002281, 0.006393, 0.005301> + 35: <-0.002638, 0.006311, 0.005240> + 36: <-0.002272, 0.006146, 0.005599> + 37: <-0.001908, 0.006212, 0.005657> + 38: <-0.001915, 0.006464, 0.005355> + 39: <-0.002281, 0.006393, 0.005301> + 40: <-0.001908, 0.006212, 0.005657> + 41: <-0.001536, 0.006269, 0.005707> + 42: <-0.001541, 0.006523, 0.005401> + 43: <-0.001915, 0.006464, 0.005355> + 44: <-0.001536, 0.006269, 0.005707> + 45: <-0.001157, 0.006313, 0.005747> + 46: <-0.001161, 0.006570, 0.005438> + 47: <-0.001541, 0.006523, 0.005401> + 48: <-0.001157, 0.006313, 0.005747> + 49: <-0.000774, 0.006346, 0.005776> + 50: <-0.000777, 0.006605, 0.005466> + 51: <-0.001161, 0.006570, 0.005438> + 52: <-0.000774, 0.006346, 0.005776> + 53: <-0.000388, 0.006366, 0.005794> + 54: <-0.000389, 0.006626, 0.005483> + 55: <-0.000777, 0.006605, 0.005466> + 56: <-0.000388, 0.006366, 0.005794> + 57: < 0.000000, 0.006373, 0.005801> + 58: < 0.000000, 0.006633, 0.005489> + 59: <-0.000389, 0.006626, 0.005483> + 60: < 0.000000, 0.006373, 0.005801> + 61: < 0.000388, 0.006366, 0.005794> + 62: < 0.000389, 0.006626, 0.005483> + 63: < 0.000000, 0.006633, 0.005489> + 64: < 0.000388, 0.006366, 0.005794> + 65: < 0.000774, 0.006346, 0.005776> + 66: < 0.000777, 0.006605, 0.005466> + 67: < 0.000389, 0.006626, 0.005483> + 68: < 0.000774, 0.006346, 0.005776> + 69: < 0.001157, 0.006313, 0.005747> + 70: < 0.001161, 0.006570, 0.005438> + 71: < 0.000777, 0.006605, 0.005466> + 72: < 0.001157, 0.006313, 0.005747> + 73: < 0.001536, 0.006269, 0.005707> + 74: < 0.001541, 0.006523, 0.005401> + 75: < 0.001161, 0.006570, 0.005438> + 76: < 0.001536, 0.006269, 0.005707> + 77: < 0.001908, 0.006212, 0.005657> + 78: < 0.001915, 0.006464, 0.005355> + 79: < 0.001541, 0.006523, 0.005401> + 80: < 0.001908, 0.006212, 0.005657> + 81: < 0.002272, 0.006146, 0.005599> + 82: < 0.002281, 0.006393, 0.005301> + 83: < 0.001915, 0.006464, 0.005355> + 84: < 0.002272, 0.006146, 0.005599> + 85: < 0.002627, 0.006069, 0.005533> + 86: < 0.002638, 0.006311, 0.005240> + 87: < 0.002281, 0.006393, 0.005301> + 88: < 0.002627, 0.006069, 0.005533> + 89: < 0.002971, 0.005983, 0.005459> + 90: < 0.002984, 0.006219, 0.005172> + 91: < 0.002638, 0.006311, 0.005240> + 92: < 0.002971, 0.005983, 0.005459> + 93: < 0.003302, 0.005888, 0.005379> + 94: < 0.003318, 0.006117, 0.005099> + 95: < 0.002984, 0.006219, 0.005172> + 96: < 0.003302, 0.005888, 0.005379> + 97: < 0.003619, 0.005786, 0.005294> + 98: < 0.003637, 0.006006, 0.005023> + 99: < 0.003318, 0.006117, 0.005099> + 100: < 0.003619, 0.005786, 0.005294> + 101: < 0.003918, 0.005678, 0.005207> + 102: < 0.003941, 0.005887, 0.004946> + 103: < 0.003637, 0.006006, 0.005023> + 104: < 0.003918, 0.005678, 0.005207> + 105: < 0.004199, 0.005564, 0.005120> + 106: < 0.004226, 0.005760, 0.004870> + 107: < 0.003941, 0.005887, 0.004946> + 108: < 0.004199, 0.005564, 0.005120> + 109: < 0.004460, 0.005446, 0.005034> + 110: < 0.004494, 0.005623, 0.004798> + 111: < 0.004226, 0.005760, 0.004870> + 112: < 0.004460, 0.005446, 0.005034> + 113: < 0.004691, 0.005326, 0.004959> + 114: < 0.004738, 0.005479, 0.004738> + 115: < 0.004494, 0.005623, 0.004798> + 116: < 0.004691, 0.005326, 0.004959> + 117: < 0.004894, 0.005206, 0.004894> + 118: < 0.004959, 0.005326, 0.004691> + 119: < 0.004738, 0.005479, 0.004738> + 120: <-0.004959, 0.005326, 0.004691> + 121: <-0.004738, 0.005479, 0.004738> + 122: <-0.004798, 0.005623, 0.004494> + 123: <-0.005034, 0.005446, 0.004460> + 124: <-0.004738, 0.005479, 0.004738> + 125: <-0.004494, 0.005623, 0.004798> + 126: <-0.004542, 0.005788, 0.004542> + 127: <-0.004798, 0.005623, 0.004494> + 128: <-0.004494, 0.005623, 0.004798> + 129: <-0.004226, 0.005760, 0.004870> + 130: <-0.004267, 0.005939, 0.004602> + 131: <-0.004542, 0.005788, 0.004542> + 132: <-0.004226, 0.005760, 0.004870> + 133: <-0.003941, 0.005887, 0.004946> + 134: <-0.003975, 0.006080, 0.004668> + 135: <-0.004267, 0.005939, 0.004602> + 136: <-0.003941, 0.005887, 0.004946> + 137: <-0.003637, 0.006006, 0.005023> + 138: <-0.003666, 0.006210, 0.004736> + 139: <-0.003975, 0.006080, 0.004668> + 140: <-0.003637, 0.006006, 0.005023> + 141: <-0.003318, 0.006117, 0.005099> + 142: <-0.003342, 0.006329, 0.004804> + 143: <-0.003666, 0.006210, 0.004736> + 144: <-0.003318, 0.006117, 0.005099> + 145: <-0.002984, 0.006219, 0.005172> + 146: <-0.003004, 0.006439, 0.004870> + 147: <-0.003342, 0.006329, 0.004804> + 148: <-0.002984, 0.006219, 0.005172> + 149: <-0.002638, 0.006311, 0.005240> + 150: <-0.002655, 0.006537, 0.004931> + 151: <-0.003004, 0.006439, 0.004870> + 152: <-0.002638, 0.006311, 0.005240> + 153: <-0.002281, 0.006393, 0.005301> + 154: <-0.002295, 0.006623, 0.004987> + 155: <-0.002655, 0.006537, 0.004931> + 156: <-0.002281, 0.006393, 0.005301> + 157: <-0.001915, 0.006464, 0.005355> + 158: <-0.001926, 0.006698, 0.005037> + 159: <-0.002295, 0.006623, 0.004987> + 160: <-0.001915, 0.006464, 0.005355> + 161: <-0.001541, 0.006523, 0.005401> + 162: <-0.001550, 0.006761, 0.005080> + 163: <-0.001926, 0.006698, 0.005037> + 164: <-0.001541, 0.006523, 0.005401> + 165: <-0.001161, 0.006570, 0.005438> + 166: <-0.001168, 0.006810, 0.005114> + 167: <-0.001550, 0.006761, 0.005080> + 168: <-0.001161, 0.006570, 0.005438> + 169: <-0.000777, 0.006605, 0.005466> + 170: <-0.000781, 0.006846, 0.005140> + 171: <-0.001168, 0.006810, 0.005114> + 172: <-0.000777, 0.006605, 0.005466> + 173: <-0.000389, 0.006626, 0.005483> + 174: <-0.000391, 0.006868, 0.005156> + 175: <-0.000781, 0.006846, 0.005140> + 176: <-0.000389, 0.006626, 0.005483> + 177: < 0.000000, 0.006633, 0.005489> + 178: <-0.000000, 0.006875, 0.005162> + 179: <-0.000391, 0.006868, 0.005156> + 180: < 0.000000, 0.006633, 0.005489> + 181: < 0.000389, 0.006626, 0.005483> + 182: < 0.000391, 0.006868, 0.005156> + 183: <-0.000000, 0.006875, 0.005162> + 184: < 0.000389, 0.006626, 0.005483> + 185: < 0.000777, 0.006605, 0.005466> + 186: < 0.000781, 0.006846, 0.005140> + 187: < 0.000391, 0.006868, 0.005156> + 188: < 0.000777, 0.006605, 0.005466> + 189: < 0.001161, 0.006570, 0.005438> + 190: < 0.001168, 0.006810, 0.005114> + 191: < 0.000781, 0.006846, 0.005140> + 192: < 0.001161, 0.006570, 0.005438> + 193: < 0.001541, 0.006523, 0.005401> + 194: < 0.001550, 0.006761, 0.005080> + 195: < 0.001168, 0.006810, 0.005114> + 196: < 0.001541, 0.006523, 0.005401> + 197: < 0.001915, 0.006464, 0.005355> + 198: < 0.001926, 0.006698, 0.005037> + 199: < 0.001550, 0.006761, 0.005080> + 200: < 0.001915, 0.006464, 0.005355> + 201: < 0.002281, 0.006393, 0.005301> + 202: < 0.002295, 0.006623, 0.004987> + 203: < 0.001926, 0.006698, 0.005037> + 204: < 0.002281, 0.006393, 0.005301> + 205: < 0.002638, 0.006311, 0.005240> + 206: < 0.002655, 0.006537, 0.004931> + 207: < 0.002295, 0.006623, 0.004987> + 208: < 0.002638, 0.006311, 0.005240> + 209: < 0.002984, 0.006219, 0.005172> + 210: < 0.003004, 0.006439, 0.004870> + 211: < 0.002655, 0.006537, 0.004931> + 212: < 0.002984, 0.006219, 0.005172> + 213: < 0.003318, 0.006117, 0.005099> + 214: < 0.003342, 0.006329, 0.004804> + 215: < 0.003004, 0.006439, 0.004870> + 216: < 0.003318, 0.006117, 0.005099> + 217: < 0.003637, 0.006006, 0.005023> + 218: < 0.003666, 0.006210, 0.004736> + 219: < 0.003342, 0.006329, 0.004804> + 220: < 0.003637, 0.006006, 0.005023> + 221: < 0.003941, 0.005887, 0.004946> + 222: < 0.003975, 0.006080, 0.004668> + 223: < 0.003666, 0.006210, 0.004736> + 224: < 0.003941, 0.005887, 0.004946> + 225: < 0.004226, 0.005760, 0.004870> + 226: < 0.004267, 0.005939, 0.004602> + 227: < 0.003975, 0.006080, 0.004668> + 228: < 0.004226, 0.005760, 0.004870> + 229: < 0.004494, 0.005623, 0.004798> + 230: < 0.004542, 0.005788, 0.004542> + 231: < 0.004267, 0.005939, 0.004602> + 232: < 0.004494, 0.005623, 0.004798> + 233: < 0.004738, 0.005479, 0.004738> + 234: < 0.004798, 0.005623, 0.004494> + 235: < 0.004542, 0.005788, 0.004542> + 236: < 0.004738, 0.005479, 0.004738> + 237: < 0.004959, 0.005326, 0.004691> + 238: < 0.005034, 0.005446, 0.004460> + 239: < 0.004798, 0.005623, 0.004494> + 240: <-0.005034, 0.005446, 0.004460> + 241: <-0.004798, 0.005623, 0.004494> + 242: <-0.004870, 0.005760, 0.004226> + 243: <-0.005120, 0.005564, 0.004199> + 244: <-0.004798, 0.005623, 0.004494> + 245: <-0.004542, 0.005788, 0.004542> + 246: <-0.004602, 0.005939, 0.004267> + 247: <-0.004870, 0.005760, 0.004226> + 248: <-0.004542, 0.005788, 0.004542> + 249: <-0.004267, 0.005939, 0.004602> + 250: <-0.004318, 0.006105, 0.004318> + 251: <-0.004602, 0.005939, 0.004267> + 252: <-0.004267, 0.005939, 0.004602> + 253: <-0.003975, 0.006080, 0.004668> + 254: <-0.004017, 0.006257, 0.004374> + 255: <-0.004318, 0.006105, 0.004318> + 256: <-0.003975, 0.006080, 0.004668> + 257: <-0.003666, 0.006210, 0.004736> + 258: <-0.003701, 0.006397, 0.004434> + 259: <-0.004017, 0.006257, 0.004374> + 260: <-0.003666, 0.006210, 0.004736> + 261: <-0.003342, 0.006329, 0.004804> + 262: <-0.003372, 0.006525, 0.004494> + 263: <-0.003701, 0.006397, 0.004434> + 264: <-0.003342, 0.006329, 0.004804> + 265: <-0.003004, 0.006439, 0.004870> + 266: <-0.003030, 0.006641, 0.004553> + 267: <-0.003372, 0.006525, 0.004494> + 268: <-0.003004, 0.006439, 0.004870> + 269: <-0.002655, 0.006537, 0.004931> + 270: <-0.002676, 0.006745, 0.004609> + 271: <-0.003030, 0.006641, 0.004553> + 272: <-0.002655, 0.006537, 0.004931> + 273: <-0.002295, 0.006623, 0.004987> + 274: <-0.002313, 0.006836, 0.004659> + 275: <-0.002676, 0.006745, 0.004609> + 276: <-0.002295, 0.006623, 0.004987> + 277: <-0.001926, 0.006698, 0.005037> + 278: <-0.001940, 0.006915, 0.004705> + 279: <-0.002313, 0.006836, 0.004659> + 280: <-0.001926, 0.006698, 0.005037> + 281: <-0.001550, 0.006761, 0.005080> + 282: <-0.001561, 0.006980, 0.004744> + 283: <-0.001940, 0.006915, 0.004705> + 284: <-0.001550, 0.006761, 0.005080> + 285: <-0.001168, 0.006810, 0.005114> + 286: <-0.001176, 0.007032, 0.004776> + 287: <-0.001561, 0.006980, 0.004744> + 288: <-0.001168, 0.006810, 0.005114> + 289: <-0.000781, 0.006846, 0.005140> + 290: <-0.000786, 0.007069, 0.004800> + 291: <-0.001176, 0.007032, 0.004776> + 292: <-0.000781, 0.006846, 0.005140> + 293: <-0.000391, 0.006868, 0.005156> + 294: <-0.000394, 0.007092, 0.004815> + 295: <-0.000786, 0.007069, 0.004800> + 296: <-0.000391, 0.006868, 0.005156> + 297: <-0.000000, 0.006875, 0.005162> + 298: <-0.000000, 0.007099, 0.004820> + 299: <-0.000394, 0.007092, 0.004815> + 300: <-0.000000, 0.006875, 0.005162> + 301: < 0.000391, 0.006868, 0.005156> + 302: < 0.000394, 0.007092, 0.004815> + 303: <-0.000000, 0.007099, 0.004820> + 304: < 0.000391, 0.006868, 0.005156> + 305: < 0.000781, 0.006846, 0.005140> + 306: < 0.000786, 0.007069, 0.004800> + 307: < 0.000394, 0.007092, 0.004815> + 308: < 0.000781, 0.006846, 0.005140> + 309: < 0.001168, 0.006810, 0.005114> + 310: < 0.001176, 0.007032, 0.004776> + 311: < 0.000786, 0.007069, 0.004800> + 312: < 0.001168, 0.006810, 0.005114> + 313: < 0.001550, 0.006761, 0.005080> + 314: < 0.001561, 0.006980, 0.004744> + 315: < 0.001176, 0.007032, 0.004776> + 316: < 0.001550, 0.006761, 0.005080> + 317: < 0.001926, 0.006698, 0.005037> + 318: < 0.001940, 0.006915, 0.004705> + 319: < 0.001561, 0.006980, 0.004744> + 320: < 0.001926, 0.006698, 0.005037> + 321: < 0.002295, 0.006623, 0.004987> + 322: < 0.002313, 0.006836, 0.004659> + 323: < 0.001940, 0.006915, 0.004705> + 324: < 0.002295, 0.006623, 0.004987> + 325: < 0.002655, 0.006537, 0.004931> + 326: < 0.002676, 0.006745, 0.004609> + 327: < 0.002313, 0.006836, 0.004659> + 328: < 0.002655, 0.006537, 0.004931> + 329: < 0.003004, 0.006439, 0.004870> + 330: < 0.003030, 0.006641, 0.004553> + 331: < 0.002676, 0.006745, 0.004609> + 332: < 0.003004, 0.006439, 0.004870> + 333: < 0.003342, 0.006329, 0.004804> + 334: < 0.003372, 0.006525, 0.004494> + 335: < 0.003030, 0.006641, 0.004553> + 336: < 0.003342, 0.006329, 0.004804> + 337: < 0.003666, 0.006210, 0.004736> + 338: < 0.003701, 0.006397, 0.004434> + 339: < 0.003372, 0.006525, 0.004494> + 340: < 0.003666, 0.006210, 0.004736> + 341: < 0.003975, 0.006080, 0.004668> + 342: < 0.004017, 0.006257, 0.004374> + 343: < 0.003701, 0.006397, 0.004434> + 344: < 0.003975, 0.006080, 0.004668> + 345: < 0.004267, 0.005939, 0.004602> + 346: < 0.004318, 0.006105, 0.004318> + 347: < 0.004017, 0.006257, 0.004374> + 348: < 0.004267, 0.005939, 0.004602> + 349: < 0.004542, 0.005788, 0.004542> + 350: < 0.004602, 0.005939, 0.004267> + 351: < 0.004318, 0.006105, 0.004318> + 352: < 0.004542, 0.005788, 0.004542> + 353: < 0.004798, 0.005623, 0.004494> + 354: < 0.004870, 0.005760, 0.004226> + 355: < 0.004602, 0.005939, 0.004267> + 356: < 0.004798, 0.005623, 0.004494> + 357: < 0.005034, 0.005446, 0.004460> + 358: < 0.005120, 0.005564, 0.004199> + 359: < 0.004870, 0.005760, 0.004226> + 360: <-0.005120, 0.005564, 0.004199> + 361: <-0.004870, 0.005760, 0.004226> + 362: <-0.004946, 0.005887, 0.003941> + 363: <-0.005207, 0.005678, 0.003918> + 364: <-0.004870, 0.005760, 0.004226> + 365: <-0.004602, 0.005939, 0.004267> + 366: <-0.004668, 0.006080, 0.003975> + 367: <-0.004946, 0.005887, 0.003941> + 368: <-0.004602, 0.005939, 0.004267> + 369: <-0.004318, 0.006105, 0.004318> + 370: <-0.004374, 0.006257, 0.004017> + 371: <-0.004668, 0.006080, 0.003975> + 372: <-0.004318, 0.006105, 0.004318> + 373: <-0.004017, 0.006257, 0.004374> + 374: <-0.004065, 0.006421, 0.004065> + 375: <-0.004374, 0.006257, 0.004017> + 376: <-0.004017, 0.006257, 0.004374> + 377: <-0.003701, 0.006397, 0.004434> + 378: <-0.003743, 0.006570, 0.004117> + 379: <-0.004065, 0.006421, 0.004065> + 380: <-0.003701, 0.006397, 0.004434> + 381: <-0.003372, 0.006525, 0.004494> + 382: <-0.003407, 0.006705, 0.004170> + 383: <-0.003743, 0.006570, 0.004117> + 384: <-0.003372, 0.006525, 0.004494> + 385: <-0.003030, 0.006641, 0.004553> + 386: <-0.003060, 0.006828, 0.004223> + 387: <-0.003407, 0.006705, 0.004170> + 388: <-0.003030, 0.006641, 0.004553> + 389: <-0.002676, 0.006745, 0.004609> + 390: <-0.002701, 0.006937, 0.004273> + 391: <-0.003060, 0.006828, 0.004223> + 392: <-0.002676, 0.006745, 0.004609> + 393: <-0.002313, 0.006836, 0.004659> + 394: <-0.002333, 0.007033, 0.004318> + 395: <-0.002701, 0.006937, 0.004273> + 396: <-0.002313, 0.006836, 0.004659> + 397: <-0.001940, 0.006915, 0.004705> + 398: <-0.001957, 0.007115, 0.004360> + 399: <-0.002333, 0.007033, 0.004318> + 400: <-0.001940, 0.006915, 0.004705> + 401: <-0.001561, 0.006980, 0.004744> + 402: <-0.001574, 0.007183, 0.004395> + 403: <-0.001957, 0.007115, 0.004360> + 404: <-0.001561, 0.006980, 0.004744> + 405: <-0.001176, 0.007032, 0.004776> + 406: <-0.001185, 0.007236, 0.004424> + 407: <-0.001574, 0.007183, 0.004395> + 408: <-0.001176, 0.007032, 0.004776> + 409: <-0.000786, 0.007069, 0.004800> + 410: <-0.000792, 0.007275, 0.004446> + 411: <-0.001185, 0.007236, 0.004424> + 412: <-0.000786, 0.007069, 0.004800> + 413: <-0.000394, 0.007092, 0.004815> + 414: <-0.000397, 0.007298, 0.004460> + 415: <-0.000792, 0.007275, 0.004446> + 416: <-0.000394, 0.007092, 0.004815> + 417: <-0.000000, 0.007099, 0.004820> + 418: <-0.000000, 0.007306, 0.004465> + 419: <-0.000397, 0.007298, 0.004460> + 420: <-0.000000, 0.007099, 0.004820> + 421: < 0.000394, 0.007092, 0.004815> + 422: < 0.000397, 0.007298, 0.004460> + 423: <-0.000000, 0.007306, 0.004465> + 424: < 0.000394, 0.007092, 0.004815> + 425: < 0.000786, 0.007069, 0.004800> + 426: < 0.000792, 0.007275, 0.004446> + 427: < 0.000397, 0.007298, 0.004460> + 428: < 0.000786, 0.007069, 0.004800> + 429: < 0.001176, 0.007032, 0.004776> + 430: < 0.001185, 0.007236, 0.004424> + 431: < 0.000792, 0.007275, 0.004446> + 432: < 0.001176, 0.007032, 0.004776> + 433: < 0.001561, 0.006980, 0.004744> + 434: < 0.001574, 0.007183, 0.004395> + 435: < 0.001185, 0.007236, 0.004424> + 436: < 0.001561, 0.006980, 0.004744> + 437: < 0.001940, 0.006915, 0.004705> + 438: < 0.001957, 0.007115, 0.004360> + 439: < 0.001574, 0.007183, 0.004395> + 440: < 0.001940, 0.006915, 0.004705> + 441: < 0.002313, 0.006836, 0.004659> + 442: < 0.002333, 0.007033, 0.004318> + 443: < 0.001957, 0.007115, 0.004360> + 444: < 0.002313, 0.006836, 0.004659> + 445: < 0.002676, 0.006745, 0.004609> + 446: < 0.002701, 0.006937, 0.004273> + 447: < 0.002333, 0.007033, 0.004318> + 448: < 0.002676, 0.006745, 0.004609> + 449: < 0.003030, 0.006641, 0.004553> + 450: < 0.003060, 0.006828, 0.004223> + 451: < 0.002701, 0.006937, 0.004273> + 452: < 0.003030, 0.006641, 0.004553> + 453: < 0.003372, 0.006525, 0.004494> + 454: < 0.003407, 0.006705, 0.004170> + 455: < 0.003060, 0.006828, 0.004223> + 456: < 0.003372, 0.006525, 0.004494> + 457: < 0.003701, 0.006397, 0.004434> + 458: < 0.003743, 0.006570, 0.004117> + 459: < 0.003407, 0.006705, 0.004170> + 460: < 0.003701, 0.006397, 0.004434> + 461: < 0.004017, 0.006257, 0.004374> + 462: < 0.004065, 0.006421, 0.004065> + 463: < 0.003743, 0.006570, 0.004117> + 464: < 0.004017, 0.006257, 0.004374> + 465: < 0.004318, 0.006105, 0.004318> + 466: < 0.004374, 0.006257, 0.004017> + 467: < 0.004065, 0.006421, 0.004065> + 468: < 0.004318, 0.006105, 0.004318> + 469: < 0.004602, 0.005939, 0.004267> + 470: < 0.004668, 0.006080, 0.003975> + 471: < 0.004374, 0.006257, 0.004017> + 472: < 0.004602, 0.005939, 0.004267> + 473: < 0.004870, 0.005760, 0.004226> + 474: < 0.004946, 0.005887, 0.003941> + 475: < 0.004668, 0.006080, 0.003975> + 476: < 0.004870, 0.005760, 0.004226> + 477: < 0.005120, 0.005564, 0.004199> + 478: < 0.005207, 0.005678, 0.003918> + 479: < 0.004946, 0.005887, 0.003941> + 480: <-0.005207, 0.005678, 0.003918> + 481: <-0.004946, 0.005887, 0.003941> + 482: <-0.005023, 0.006006, 0.003637> + 483: <-0.005294, 0.005786, 0.003619> + 484: <-0.004946, 0.005887, 0.003941> + 485: <-0.004668, 0.006080, 0.003975> + 486: <-0.004736, 0.006210, 0.003666> + 487: <-0.005023, 0.006006, 0.003637> + 488: <-0.004668, 0.006080, 0.003975> + 489: <-0.004374, 0.006257, 0.004017> + 490: <-0.004434, 0.006397, 0.003701> + 491: <-0.004736, 0.006210, 0.003666> + 492: <-0.004374, 0.006257, 0.004017> + 493: <-0.004065, 0.006421, 0.004065> + 494: <-0.004117, 0.006570, 0.003743> + 495: <-0.004434, 0.006397, 0.003701> + 496: <-0.004065, 0.006421, 0.004065> + 497: <-0.003743, 0.006570, 0.004117> + 498: <-0.003788, 0.006727, 0.003788> + 499: <-0.004117, 0.006570, 0.003743> + 500: <-0.003743, 0.006570, 0.004117> + 501: <-0.003407, 0.006705, 0.004170> + 502: <-0.003446, 0.006870, 0.003834> + 503: <-0.003788, 0.006727, 0.003788> + 504: <-0.003407, 0.006705, 0.004170> + 505: <-0.003060, 0.006828, 0.004223> + 506: <-0.003093, 0.006998, 0.003880> + 507: <-0.003446, 0.006870, 0.003834> + 508: <-0.003060, 0.006828, 0.004223> + 509: <-0.002701, 0.006937, 0.004273> + 510: <-0.002729, 0.007112, 0.003924> + 511: <-0.003093, 0.006998, 0.003880> + 512: <-0.002701, 0.006937, 0.004273> + 513: <-0.002333, 0.007033, 0.004318> + 514: <-0.002356, 0.007212, 0.003965> + 515: <-0.002729, 0.007112, 0.003924> + 516: <-0.002333, 0.007033, 0.004318> + 517: <-0.001957, 0.007115, 0.004360> + 518: <-0.001975, 0.007297, 0.004002> + 519: <-0.002356, 0.007212, 0.003965> + 520: <-0.001957, 0.007115, 0.004360> + 521: <-0.001574, 0.007183, 0.004395> + 522: <-0.001588, 0.007367, 0.004034> + 523: <-0.001975, 0.007297, 0.004002> + 524: <-0.001574, 0.007183, 0.004395> + 525: <-0.001185, 0.007236, 0.004424> + 526: <-0.001196, 0.007423, 0.004061> + 527: <-0.001588, 0.007367, 0.004034> + 528: <-0.001185, 0.007236, 0.004424> + 529: <-0.000792, 0.007275, 0.004446> + 530: <-0.000799, 0.007462, 0.004081> + 531: <-0.001196, 0.007423, 0.004061> + 532: <-0.000792, 0.007275, 0.004446> + 533: <-0.000397, 0.007298, 0.004460> + 534: <-0.000400, 0.007487, 0.004093> + 535: <-0.000799, 0.007462, 0.004081> + 536: <-0.000397, 0.007298, 0.004460> + 537: <-0.000000, 0.007306, 0.004465> + 538: <-0.000000, 0.007495, 0.004098> + 539: <-0.000400, 0.007487, 0.004093> + 540: <-0.000000, 0.007306, 0.004465> + 541: < 0.000397, 0.007298, 0.004460> + 542: < 0.000400, 0.007487, 0.004093> + 543: <-0.000000, 0.007495, 0.004098> + 544: < 0.000397, 0.007298, 0.004460> + 545: < 0.000792, 0.007275, 0.004446> + 546: < 0.000799, 0.007462, 0.004081> + 547: < 0.000400, 0.007487, 0.004093> + 548: < 0.000792, 0.007275, 0.004446> + 549: < 0.001185, 0.007236, 0.004424> + 550: < 0.001196, 0.007423, 0.004061> + 551: < 0.000799, 0.007462, 0.004081> + 552: < 0.001185, 0.007236, 0.004424> + 553: < 0.001574, 0.007183, 0.004395> + 554: < 0.001588, 0.007367, 0.004034> + 555: < 0.001196, 0.007423, 0.004061> + 556: < 0.001574, 0.007183, 0.004395> + 557: < 0.001957, 0.007115, 0.004360> + 558: < 0.001975, 0.007297, 0.004002> + 559: < 0.001588, 0.007367, 0.004034> + 560: < 0.001957, 0.007115, 0.004360> + 561: < 0.002333, 0.007033, 0.004318> + 562: < 0.002356, 0.007212, 0.003965> + 563: < 0.001975, 0.007297, 0.004002> + 564: < 0.002333, 0.007033, 0.004318> + 565: < 0.002701, 0.006937, 0.004273> + 566: < 0.002729, 0.007112, 0.003924> + 567: < 0.002356, 0.007212, 0.003965> + 568: < 0.002701, 0.006937, 0.004273> + 569: < 0.003060, 0.006828, 0.004223> + 570: < 0.003093, 0.006998, 0.003880> + 571: < 0.002729, 0.007112, 0.003924> + 572: < 0.003060, 0.006828, 0.004223> + 573: < 0.003407, 0.006705, 0.004170> + 574: < 0.003446, 0.006870, 0.003834> + 575: < 0.003093, 0.006998, 0.003880> + 576: < 0.003407, 0.006705, 0.004170> + 577: < 0.003743, 0.006570, 0.004117> + 578: < 0.003788, 0.006727, 0.003788> + 579: < 0.003446, 0.006870, 0.003834> + 580: < 0.003743, 0.006570, 0.004117> + 581: < 0.004065, 0.006421, 0.004065> + 582: < 0.004117, 0.006570, 0.003743> + 583: < 0.003788, 0.006727, 0.003788> + 584: < 0.004065, 0.006421, 0.004065> + 585: < 0.004374, 0.006257, 0.004017> + 586: < 0.004434, 0.006397, 0.003701> + 587: < 0.004117, 0.006570, 0.003743> + 588: < 0.004374, 0.006257, 0.004017> + 589: < 0.004668, 0.006080, 0.003975> + 590: < 0.004736, 0.006210, 0.003666> + 591: < 0.004434, 0.006397, 0.003701> + 592: < 0.004668, 0.006080, 0.003975> + 593: < 0.004946, 0.005887, 0.003941> + 594: < 0.005023, 0.006006, 0.003637> + 595: < 0.004736, 0.006210, 0.003666> + 596: < 0.004946, 0.005887, 0.003941> + 597: < 0.005207, 0.005678, 0.003918> + 598: < 0.005294, 0.005786, 0.003619> + 599: < 0.005023, 0.006006, 0.003637> + 600: <-0.005294, 0.005786, 0.003619> + 601: <-0.005023, 0.006006, 0.003637> + 602: <-0.005099, 0.006117, 0.003318> + 603: <-0.005379, 0.005888, 0.003302> + 604: <-0.005023, 0.006006, 0.003637> + 605: <-0.004736, 0.006210, 0.003666> + 606: <-0.004804, 0.006329, 0.003342> + 607: <-0.005099, 0.006117, 0.003318> + 608: <-0.004736, 0.006210, 0.003666> + 609: <-0.004434, 0.006397, 0.003701> + 610: <-0.004494, 0.006525, 0.003372> + 611: <-0.004804, 0.006329, 0.003342> + 612: <-0.004434, 0.006397, 0.003701> + 613: <-0.004117, 0.006570, 0.003743> + 614: <-0.004170, 0.006705, 0.003407> + 615: <-0.004494, 0.006525, 0.003372> + 616: <-0.004117, 0.006570, 0.003743> + 617: <-0.003788, 0.006727, 0.003788> + 618: <-0.003834, 0.006870, 0.003446> + 619: <-0.004170, 0.006705, 0.003407> + 620: <-0.003788, 0.006727, 0.003788> + 621: <-0.003446, 0.006870, 0.003834> + 622: <-0.003486, 0.007018, 0.003486> + 623: <-0.003834, 0.006870, 0.003446> + 624: <-0.003446, 0.006870, 0.003834> + 625: <-0.003093, 0.006998, 0.003880> + 626: <-0.003127, 0.007152, 0.003526> + 627: <-0.003486, 0.007018, 0.003486> + 628: <-0.003093, 0.006998, 0.003880> + 629: <-0.002729, 0.007112, 0.003924> + 630: <-0.002758, 0.007270, 0.003565> + 631: <-0.003127, 0.007152, 0.003526> + 632: <-0.002729, 0.007112, 0.003924> + 633: <-0.002356, 0.007212, 0.003965> + 634: <-0.002380, 0.007374, 0.003601> + 635: <-0.002758, 0.007270, 0.003565> + 636: <-0.002356, 0.007212, 0.003965> + 637: <-0.001975, 0.007297, 0.004002> + 638: <-0.001995, 0.007462, 0.003634> + 639: <-0.002380, 0.007374, 0.003601> + 640: <-0.001975, 0.007297, 0.004002> + 641: <-0.001588, 0.007367, 0.004034> + 642: <-0.001603, 0.007535, 0.003663> + 643: <-0.001995, 0.007462, 0.003634> + 644: <-0.001588, 0.007367, 0.004034> + 645: <-0.001196, 0.007423, 0.004061> + 646: <-0.001207, 0.007591, 0.003686> + 647: <-0.001603, 0.007535, 0.003663> + 648: <-0.001196, 0.007423, 0.004061> + 649: <-0.000799, 0.007462, 0.004081> + 650: <-0.000807, 0.007632, 0.003704> + 651: <-0.001207, 0.007591, 0.003686> + 652: <-0.000799, 0.007462, 0.004081> + 653: <-0.000400, 0.007487, 0.004093> + 654: <-0.000404, 0.007657, 0.003716> + 655: <-0.000807, 0.007632, 0.003704> + 656: <-0.000400, 0.007487, 0.004093> + 657: <-0.000000, 0.007495, 0.004098> + 658: <-0.000000, 0.007665, 0.003720> + 659: <-0.000404, 0.007657, 0.003716> + 660: <-0.000000, 0.007495, 0.004098> + 661: < 0.000400, 0.007487, 0.004093> + 662: < 0.000404, 0.007657, 0.003716> + 663: <-0.000000, 0.007665, 0.003720> + 664: < 0.000400, 0.007487, 0.004093> + 665: < 0.000799, 0.007462, 0.004081> + 666: < 0.000807, 0.007632, 0.003704> + 667: < 0.000404, 0.007657, 0.003716> + 668: < 0.000799, 0.007462, 0.004081> + 669: < 0.001196, 0.007423, 0.004061> + 670: < 0.001207, 0.007591, 0.003686> + 671: < 0.000807, 0.007632, 0.003704> + 672: < 0.001196, 0.007423, 0.004061> + 673: < 0.001588, 0.007367, 0.004034> + 674: < 0.001603, 0.007535, 0.003663> + 675: < 0.001207, 0.007591, 0.003686> + 676: < 0.001588, 0.007367, 0.004034> + 677: < 0.001975, 0.007297, 0.004002> + 678: < 0.001995, 0.007462, 0.003634> + 679: < 0.001603, 0.007535, 0.003663> + 680: < 0.001975, 0.007297, 0.004002> + 681: < 0.002356, 0.007212, 0.003965> + 682: < 0.002380, 0.007374, 0.003601> + 683: < 0.001995, 0.007462, 0.003634> + 684: < 0.002356, 0.007212, 0.003965> + 685: < 0.002729, 0.007112, 0.003924> + 686: < 0.002758, 0.007270, 0.003565> + 687: < 0.002380, 0.007374, 0.003601> + 688: < 0.002729, 0.007112, 0.003924> + 689: < 0.003093, 0.006998, 0.003880> + 690: < 0.003127, 0.007152, 0.003526> + 691: < 0.002758, 0.007270, 0.003565> + 692: < 0.003093, 0.006998, 0.003880> + 693: < 0.003446, 0.006870, 0.003834> + 694: < 0.003486, 0.007018, 0.003486> + 695: < 0.003127, 0.007152, 0.003526> + 696: < 0.003446, 0.006870, 0.003834> + 697: < 0.003788, 0.006727, 0.003788> + 698: < 0.003834, 0.006870, 0.003446> + 699: < 0.003486, 0.007018, 0.003486> + 700: < 0.003788, 0.006727, 0.003788> + 701: < 0.004117, 0.006570, 0.003743> + 702: < 0.004170, 0.006705, 0.003407> + 703: < 0.003834, 0.006870, 0.003446> + 704: < 0.004117, 0.006570, 0.003743> + 705: < 0.004434, 0.006397, 0.003701> + 706: < 0.004494, 0.006525, 0.003372> + 707: < 0.004170, 0.006705, 0.003407> + 708: < 0.004434, 0.006397, 0.003701> + 709: < 0.004736, 0.006210, 0.003666> + 710: < 0.004804, 0.006329, 0.003342> + 711: < 0.004494, 0.006525, 0.003372> + 712: < 0.004736, 0.006210, 0.003666> + 713: < 0.005023, 0.006006, 0.003637> + 714: < 0.005099, 0.006117, 0.003318> + 715: < 0.004804, 0.006329, 0.003342> + 716: < 0.005023, 0.006006, 0.003637> + 717: < 0.005294, 0.005786, 0.003619> + 718: < 0.005379, 0.005888, 0.003302> + 719: < 0.005099, 0.006117, 0.003318> + 720: <-0.005379, 0.005888, 0.003302> + 721: <-0.005099, 0.006117, 0.003318> + 722: <-0.005172, 0.006219, 0.002984> + 723: <-0.005459, 0.005983, 0.002971> + 724: <-0.005099, 0.006117, 0.003318> + 725: <-0.004804, 0.006329, 0.003342> + 726: <-0.004870, 0.006439, 0.003004> + 727: <-0.005172, 0.006219, 0.002984> + 728: <-0.004804, 0.006329, 0.003342> + 729: <-0.004494, 0.006525, 0.003372> + 730: <-0.004553, 0.006641, 0.003030> + 731: <-0.004870, 0.006439, 0.003004> + 732: <-0.004494, 0.006525, 0.003372> + 733: <-0.004170, 0.006705, 0.003407> + 734: <-0.004223, 0.006828, 0.003060> + 735: <-0.004553, 0.006641, 0.003030> + 736: <-0.004170, 0.006705, 0.003407> + 737: <-0.003834, 0.006870, 0.003446> + 738: <-0.003880, 0.006998, 0.003093> + 739: <-0.004223, 0.006828, 0.003060> + 740: <-0.003834, 0.006870, 0.003446> + 741: <-0.003486, 0.007018, 0.003486> + 742: <-0.003526, 0.007152, 0.003127> + 743: <-0.003880, 0.006998, 0.003093> + 744: <-0.003486, 0.007018, 0.003486> + 745: <-0.003127, 0.007152, 0.003526> + 746: <-0.003162, 0.007290, 0.003162> + 747: <-0.003526, 0.007152, 0.003127> + 748: <-0.003127, 0.007152, 0.003526> + 749: <-0.002758, 0.007270, 0.003565> + 750: <-0.002787, 0.007412, 0.003195> + 751: <-0.003162, 0.007290, 0.003162> + 752: <-0.002758, 0.007270, 0.003565> + 753: <-0.002380, 0.007374, 0.003601> + 754: <-0.002405, 0.007519, 0.003227> + 755: <-0.002787, 0.007412, 0.003195> + 756: <-0.002380, 0.007374, 0.003601> + 757: <-0.001995, 0.007462, 0.003634> + 758: <-0.002015, 0.007610, 0.003255> + 759: <-0.002405, 0.007519, 0.003227> + 760: <-0.001995, 0.007462, 0.003634> + 761: <-0.001603, 0.007535, 0.003663> + 762: <-0.001619, 0.007684, 0.003281> + 763: <-0.002015, 0.007610, 0.003255> + 764: <-0.001603, 0.007535, 0.003663> + 765: <-0.001207, 0.007591, 0.003686> + 766: <-0.001219, 0.007743, 0.003302> + 767: <-0.001619, 0.007684, 0.003281> + 768: <-0.001207, 0.007591, 0.003686> + 769: <-0.000807, 0.007632, 0.003704> + 770: <-0.000814, 0.007785, 0.003318> + 771: <-0.001219, 0.007743, 0.003302> + 772: <-0.000807, 0.007632, 0.003704> + 773: <-0.000404, 0.007657, 0.003716> + 774: <-0.000408, 0.007810, 0.003328> + 775: <-0.000814, 0.007785, 0.003318> + 776: <-0.000404, 0.007657, 0.003716> + 777: <-0.000000, 0.007665, 0.003720> + 778: <-0.000000, 0.007818, 0.003331> + 779: <-0.000408, 0.007810, 0.003328> + 780: <-0.000000, 0.007665, 0.003720> + 781: < 0.000404, 0.007657, 0.003716> + 782: < 0.000408, 0.007810, 0.003328> + 783: <-0.000000, 0.007818, 0.003331> + 784: < 0.000404, 0.007657, 0.003716> + 785: < 0.000807, 0.007632, 0.003704> + 786: < 0.000814, 0.007785, 0.003318> + 787: < 0.000408, 0.007810, 0.003328> + 788: < 0.000807, 0.007632, 0.003704> + 789: < 0.001207, 0.007591, 0.003686> + 790: < 0.001219, 0.007743, 0.003302> + 791: < 0.000814, 0.007785, 0.003318> + 792: < 0.001207, 0.007591, 0.003686> + 793: < 0.001603, 0.007535, 0.003663> + 794: < 0.001619, 0.007684, 0.003281> + 795: < 0.001219, 0.007743, 0.003302> + 796: < 0.001603, 0.007535, 0.003663> + 797: < 0.001995, 0.007462, 0.003634> + 798: < 0.002015, 0.007610, 0.003255> + 799: < 0.001619, 0.007684, 0.003281> + 800: < 0.001995, 0.007462, 0.003634> + 801: < 0.002380, 0.007374, 0.003601> + 802: < 0.002405, 0.007519, 0.003227> + 803: < 0.002015, 0.007610, 0.003255> + 804: < 0.002380, 0.007374, 0.003601> + 805: < 0.002758, 0.007270, 0.003565> + 806: < 0.002787, 0.007412, 0.003195> + 807: < 0.002405, 0.007519, 0.003227> + 808: < 0.002758, 0.007270, 0.003565> + 809: < 0.003127, 0.007152, 0.003526> + 810: < 0.003162, 0.007290, 0.003162> + 811: < 0.002787, 0.007412, 0.003195> + 812: < 0.003127, 0.007152, 0.003526> + 813: < 0.003486, 0.007018, 0.003486> + 814: < 0.003526, 0.007152, 0.003127> + 815: < 0.003162, 0.007290, 0.003162> + 816: < 0.003486, 0.007018, 0.003486> + 817: < 0.003834, 0.006870, 0.003446> + 818: < 0.003880, 0.006998, 0.003093> + 819: < 0.003526, 0.007152, 0.003127> + 820: < 0.003834, 0.006870, 0.003446> + 821: < 0.004170, 0.006705, 0.003407> + 822: < 0.004223, 0.006828, 0.003060> + 823: < 0.003880, 0.006998, 0.003093> + 824: < 0.004170, 0.006705, 0.003407> + 825: < 0.004494, 0.006525, 0.003372> + 826: < 0.004553, 0.006641, 0.003030> + 827: < 0.004223, 0.006828, 0.003060> + 828: < 0.004494, 0.006525, 0.003372> + 829: < 0.004804, 0.006329, 0.003342> + 830: < 0.004870, 0.006439, 0.003004> + 831: < 0.004553, 0.006641, 0.003030> + 832: < 0.004804, 0.006329, 0.003342> + 833: < 0.005099, 0.006117, 0.003318> + 834: < 0.005172, 0.006219, 0.002984> + 835: < 0.004870, 0.006439, 0.003004> + 836: < 0.005099, 0.006117, 0.003318> + 837: < 0.005379, 0.005888, 0.003302> + 838: < 0.005459, 0.005983, 0.002971> + 839: < 0.005172, 0.006219, 0.002984> + 840: <-0.005459, 0.005983, 0.002971> + 841: <-0.005172, 0.006219, 0.002984> + 842: <-0.005240, 0.006311, 0.002638> + 843: <-0.005533, 0.006069, 0.002627> + 844: <-0.005172, 0.006219, 0.002984> + 845: <-0.004870, 0.006439, 0.003004> + 846: <-0.004931, 0.006537, 0.002655> + 847: <-0.005240, 0.006311, 0.002638> + 848: <-0.004870, 0.006439, 0.003004> + 849: <-0.004553, 0.006641, 0.003030> + 850: <-0.004609, 0.006745, 0.002676> + 851: <-0.004931, 0.006537, 0.002655> + 852: <-0.004553, 0.006641, 0.003030> + 853: <-0.004223, 0.006828, 0.003060> + 854: <-0.004273, 0.006937, 0.002701> + 855: <-0.004609, 0.006745, 0.002676> + 856: <-0.004223, 0.006828, 0.003060> + 857: <-0.003880, 0.006998, 0.003093> + 858: <-0.003924, 0.007112, 0.002729> + 859: <-0.004273, 0.006937, 0.002701> + 860: <-0.003880, 0.006998, 0.003093> + 861: <-0.003526, 0.007152, 0.003127> + 862: <-0.003565, 0.007270, 0.002758> + 863: <-0.003924, 0.007112, 0.002729> + 864: <-0.003526, 0.007152, 0.003127> + 865: <-0.003162, 0.007290, 0.003162> + 866: <-0.003195, 0.007412, 0.002787> + 867: <-0.003565, 0.007270, 0.002758> + 868: <-0.003162, 0.007290, 0.003162> + 869: <-0.002787, 0.007412, 0.003195> + 870: <-0.002816, 0.007538, 0.002816> + 871: <-0.003195, 0.007412, 0.002787> + 872: <-0.002787, 0.007412, 0.003195> + 873: <-0.002405, 0.007519, 0.003227> + 874: <-0.002429, 0.007648, 0.002843> + 875: <-0.002816, 0.007538, 0.002816> + 876: <-0.002405, 0.007519, 0.003227> + 877: <-0.002015, 0.007610, 0.003255> + 878: <-0.002035, 0.007740, 0.002868> + 879: <-0.002429, 0.007648, 0.002843> + 880: <-0.002015, 0.007610, 0.003255> + 881: <-0.001619, 0.007684, 0.003281> + 882: <-0.001635, 0.007817, 0.002890> + 883: <-0.002035, 0.007740, 0.002868> + 884: <-0.001619, 0.007684, 0.003281> + 885: <-0.001219, 0.007743, 0.003302> + 886: <-0.001230, 0.007876, 0.002908> + 887: <-0.001635, 0.007817, 0.002890> + 888: <-0.001219, 0.007743, 0.003302> + 889: <-0.000814, 0.007785, 0.003318> + 890: <-0.000822, 0.007919, 0.002922> + 891: <-0.001230, 0.007876, 0.002908> + 892: <-0.000814, 0.007785, 0.003318> + 893: <-0.000408, 0.007810, 0.003328> + 894: <-0.000412, 0.007945, 0.002931> + 895: <-0.000822, 0.007919, 0.002922> + 896: <-0.000408, 0.007810, 0.003328> + 897: <-0.000000, 0.007818, 0.003331> + 898: <-0.000000, 0.007953, 0.002934> + 899: <-0.000412, 0.007945, 0.002931> + 900: <-0.000000, 0.007818, 0.003331> + 901: < 0.000408, 0.007810, 0.003328> + 902: < 0.000412, 0.007945, 0.002931> + 903: <-0.000000, 0.007953, 0.002934> + 904: < 0.000408, 0.007810, 0.003328> + 905: < 0.000814, 0.007785, 0.003318> + 906: < 0.000822, 0.007919, 0.002922> + 907: < 0.000412, 0.007945, 0.002931> + 908: < 0.000814, 0.007785, 0.003318> + 909: < 0.001219, 0.007743, 0.003302> + 910: < 0.001230, 0.007876, 0.002908> + 911: < 0.000822, 0.007919, 0.002922> + 912: < 0.001219, 0.007743, 0.003302> + 913: < 0.001619, 0.007684, 0.003281> + 914: < 0.001635, 0.007817, 0.002890> + 915: < 0.001230, 0.007876, 0.002908> + 916: < 0.001619, 0.007684, 0.003281> + 917: < 0.002015, 0.007610, 0.003255> + 918: < 0.002035, 0.007740, 0.002868> + 919: < 0.001635, 0.007817, 0.002890> + 920: < 0.002015, 0.007610, 0.003255> + 921: < 0.002405, 0.007519, 0.003227> + 922: < 0.002429, 0.007648, 0.002843> + 923: < 0.002035, 0.007740, 0.002868> + 924: < 0.002405, 0.007519, 0.003227> + 925: < 0.002787, 0.007412, 0.003195> + 926: < 0.002816, 0.007538, 0.002816> + 927: < 0.002429, 0.007648, 0.002843> + 928: < 0.002787, 0.007412, 0.003195> + 929: < 0.003162, 0.007290, 0.003162> + 930: < 0.003195, 0.007412, 0.002787> + 931: < 0.002816, 0.007538, 0.002816> + 932: < 0.003162, 0.007290, 0.003162> + 933: < 0.003526, 0.007152, 0.003127> + 934: < 0.003565, 0.007270, 0.002758> + 935: < 0.003195, 0.007412, 0.002787> + 936: < 0.003526, 0.007152, 0.003127> + 937: < 0.003880, 0.006998, 0.003093> + 938: < 0.003924, 0.007112, 0.002729> + 939: < 0.003565, 0.007270, 0.002758> + 940: < 0.003880, 0.006998, 0.003093> + 941: < 0.004223, 0.006828, 0.003060> + 942: < 0.004273, 0.006937, 0.002701> + 943: < 0.003924, 0.007112, 0.002729> + 944: < 0.004223, 0.006828, 0.003060> + 945: < 0.004553, 0.006641, 0.003030> + 946: < 0.004609, 0.006745, 0.002676> + 947: < 0.004273, 0.006937, 0.002701> + 948: < 0.004553, 0.006641, 0.003030> + 949: < 0.004870, 0.006439, 0.003004> + 950: < 0.004931, 0.006537, 0.002655> + 951: < 0.004609, 0.006745, 0.002676> + 952: < 0.004870, 0.006439, 0.003004> + 953: < 0.005172, 0.006219, 0.002984> + 954: < 0.005240, 0.006311, 0.002638> + 955: < 0.004931, 0.006537, 0.002655> + 956: < 0.005172, 0.006219, 0.002984> + 957: < 0.005459, 0.005983, 0.002971> + 958: < 0.005533, 0.006069, 0.002627> + 959: < 0.005240, 0.006311, 0.002638> + 960: <-0.005533, 0.006069, 0.002627> + 961: <-0.005240, 0.006311, 0.002638> + 962: <-0.005301, 0.006393, 0.002281> + 963: <-0.005599, 0.006146, 0.002272> + 964: <-0.005240, 0.006311, 0.002638> + 965: <-0.004931, 0.006537, 0.002655> + 966: <-0.004987, 0.006623, 0.002295> + 967: <-0.005301, 0.006393, 0.002281> + 968: <-0.004931, 0.006537, 0.002655> + 969: <-0.004609, 0.006745, 0.002676> + 970: <-0.004659, 0.006836, 0.002313> + 971: <-0.004987, 0.006623, 0.002295> + 972: <-0.004609, 0.006745, 0.002676> + 973: <-0.004273, 0.006937, 0.002701> + 974: <-0.004318, 0.007033, 0.002333> + 975: <-0.004659, 0.006836, 0.002313> + 976: <-0.004273, 0.006937, 0.002701> + 977: <-0.003924, 0.007112, 0.002729> + 978: <-0.003965, 0.007212, 0.002356> + 979: <-0.004318, 0.007033, 0.002333> + 980: <-0.003924, 0.007112, 0.002729> + 981: <-0.003565, 0.007270, 0.002758> + 982: <-0.003601, 0.007374, 0.002380> + 983: <-0.003965, 0.007212, 0.002356> + 984: <-0.003565, 0.007270, 0.002758> + 985: <-0.003195, 0.007412, 0.002787> + 986: <-0.003227, 0.007519, 0.002405> + 987: <-0.003601, 0.007374, 0.002380> + 988: <-0.003195, 0.007412, 0.002787> + 989: <-0.002816, 0.007538, 0.002816> + 990: <-0.002843, 0.007648, 0.002429> + 991: <-0.003227, 0.007519, 0.002405> + 992: <-0.002816, 0.007538, 0.002816> + 993: <-0.002429, 0.007648, 0.002843> + 994: <-0.002452, 0.007759, 0.002452> + 995: <-0.002843, 0.007648, 0.002429> + 996: <-0.002429, 0.007648, 0.002843> + 997: <-0.002035, 0.007740, 0.002868> + 998: <-0.002053, 0.007854, 0.002473> + 999: <-0.002452, 0.007759, 0.002452> + 1000: <-0.002035, 0.007740, 0.002868> + 1001: <-0.001635, 0.007817, 0.002890> + 1002: <-0.001650, 0.007932, 0.002492> + 1003: <-0.002053, 0.007854, 0.002473> + 1004: <-0.001635, 0.007817, 0.002890> + 1005: <-0.001230, 0.007876, 0.002908> + 1006: <-0.001241, 0.007992, 0.002507> + 1007: <-0.001650, 0.007932, 0.002492> + 1008: <-0.001230, 0.007876, 0.002908> + 1009: <-0.000822, 0.007919, 0.002922> + 1010: <-0.000829, 0.008036, 0.002519> + 1011: <-0.001241, 0.007992, 0.002507> + 1012: <-0.000822, 0.007919, 0.002922> + 1013: <-0.000412, 0.007945, 0.002931> + 1014: <-0.000415, 0.008062, 0.002527> + 1015: <-0.000829, 0.008036, 0.002519> + 1016: <-0.000412, 0.007945, 0.002931> + 1017: <-0.000000, 0.007953, 0.002934> + 1018: <-0.000000, 0.008070, 0.002530> + 1019: <-0.000415, 0.008062, 0.002527> + 1020: <-0.000000, 0.007953, 0.002934> + 1021: < 0.000412, 0.007945, 0.002931> + 1022: < 0.000415, 0.008062, 0.002527> + 1023: <-0.000000, 0.008070, 0.002530> + 1024: < 0.000412, 0.007945, 0.002931> + 1025: < 0.000822, 0.007919, 0.002922> + 1026: < 0.000829, 0.008036, 0.002519> + 1027: < 0.000415, 0.008062, 0.002527> + 1028: < 0.000822, 0.007919, 0.002922> + 1029: < 0.001230, 0.007876, 0.002908> + 1030: < 0.001241, 0.007992, 0.002507> + 1031: < 0.000829, 0.008036, 0.002519> + 1032: < 0.001230, 0.007876, 0.002908> + 1033: < 0.001635, 0.007817, 0.002890> + 1034: < 0.001650, 0.007932, 0.002492> + 1035: < 0.001241, 0.007992, 0.002507> + 1036: < 0.001635, 0.007817, 0.002890> + 1037: < 0.002035, 0.007740, 0.002868> + 1038: < 0.002053, 0.007854, 0.002473> + 1039: < 0.001650, 0.007932, 0.002492> + 1040: < 0.002035, 0.007740, 0.002868> + 1041: < 0.002429, 0.007648, 0.002843> + 1042: < 0.002452, 0.007759, 0.002452> + 1043: < 0.002053, 0.007854, 0.002473> + 1044: < 0.002429, 0.007648, 0.002843> + 1045: < 0.002816, 0.007538, 0.002816> + 1046: < 0.002843, 0.007648, 0.002429> + 1047: < 0.002452, 0.007759, 0.002452> + 1048: < 0.002816, 0.007538, 0.002816> + 1049: < 0.003195, 0.007412, 0.002787> + 1050: < 0.003227, 0.007519, 0.002405> + 1051: < 0.002843, 0.007648, 0.002429> + 1052: < 0.003195, 0.007412, 0.002787> + 1053: < 0.003565, 0.007270, 0.002758> + 1054: < 0.003601, 0.007374, 0.002380> + 1055: < 0.003227, 0.007519, 0.002405> + 1056: < 0.003565, 0.007270, 0.002758> + 1057: < 0.003924, 0.007112, 0.002729> + 1058: < 0.003965, 0.007212, 0.002356> + 1059: < 0.003601, 0.007374, 0.002380> + 1060: < 0.003924, 0.007112, 0.002729> + 1061: < 0.004273, 0.006937, 0.002701> + 1062: < 0.004318, 0.007033, 0.002333> + 1063: < 0.003965, 0.007212, 0.002356> + 1064: < 0.004273, 0.006937, 0.002701> + 1065: < 0.004609, 0.006745, 0.002676> + 1066: < 0.004659, 0.006836, 0.002313> + 1067: < 0.004318, 0.007033, 0.002333> + 1068: < 0.004609, 0.006745, 0.002676> + 1069: < 0.004931, 0.006537, 0.002655> + 1070: < 0.004987, 0.006623, 0.002295> + 1071: < 0.004659, 0.006836, 0.002313> + 1072: < 0.004931, 0.006537, 0.002655> + 1073: < 0.005240, 0.006311, 0.002638> + 1074: < 0.005301, 0.006393, 0.002281> + 1075: < 0.004987, 0.006623, 0.002295> + 1076: < 0.005240, 0.006311, 0.002638> + 1077: < 0.005533, 0.006069, 0.002627> + 1078: < 0.005599, 0.006146, 0.002272> + 1079: < 0.005301, 0.006393, 0.002281> + 1080: <-0.005599, 0.006146, 0.002272> + 1081: <-0.005301, 0.006393, 0.002281> + 1082: <-0.005355, 0.006464, 0.001915> + 1083: <-0.005657, 0.006212, 0.001908> + 1084: <-0.005301, 0.006393, 0.002281> + 1085: <-0.004987, 0.006623, 0.002295> + 1086: <-0.005037, 0.006698, 0.001926> + 1087: <-0.005355, 0.006464, 0.001915> + 1088: <-0.004987, 0.006623, 0.002295> + 1089: <-0.004659, 0.006836, 0.002313> + 1090: <-0.004705, 0.006915, 0.001940> + 1091: <-0.005037, 0.006698, 0.001926> + 1092: <-0.004659, 0.006836, 0.002313> + 1093: <-0.004318, 0.007033, 0.002333> + 1094: <-0.004360, 0.007115, 0.001957> + 1095: <-0.004705, 0.006915, 0.001940> + 1096: <-0.004318, 0.007033, 0.002333> + 1097: <-0.003965, 0.007212, 0.002356> + 1098: <-0.004002, 0.007297, 0.001975> + 1099: <-0.004360, 0.007115, 0.001957> + 1100: <-0.003965, 0.007212, 0.002356> + 1101: <-0.003601, 0.007374, 0.002380> + 1102: <-0.003634, 0.007462, 0.001995> + 1103: <-0.004002, 0.007297, 0.001975> + 1104: <-0.003601, 0.007374, 0.002380> + 1105: <-0.003227, 0.007519, 0.002405> + 1106: <-0.003255, 0.007610, 0.002015> + 1107: <-0.003634, 0.007462, 0.001995> + 1108: <-0.003227, 0.007519, 0.002405> + 1109: <-0.002843, 0.007648, 0.002429> + 1110: <-0.002868, 0.007740, 0.002035> + 1111: <-0.003255, 0.007610, 0.002015> + 1112: <-0.002843, 0.007648, 0.002429> + 1113: <-0.002452, 0.007759, 0.002452> + 1114: <-0.002473, 0.007854, 0.002053> + 1115: <-0.002868, 0.007740, 0.002035> + 1116: <-0.002452, 0.007759, 0.002452> + 1117: <-0.002053, 0.007854, 0.002473> + 1118: <-0.002071, 0.007950, 0.002071> + 1119: <-0.002473, 0.007854, 0.002053> + 1120: <-0.002053, 0.007854, 0.002473> + 1121: <-0.001650, 0.007932, 0.002492> + 1122: <-0.001663, 0.008029, 0.002086> + 1123: <-0.002071, 0.007950, 0.002071> + 1124: <-0.001650, 0.007932, 0.002492> + 1125: <-0.001241, 0.007992, 0.002507> + 1126: <-0.001252, 0.008090, 0.002099> + 1127: <-0.001663, 0.008029, 0.002086> + 1128: <-0.001241, 0.007992, 0.002507> + 1129: <-0.000829, 0.008036, 0.002519> + 1130: <-0.000836, 0.008134, 0.002109> + 1131: <-0.001252, 0.008090, 0.002099> + 1132: <-0.000829, 0.008036, 0.002519> + 1133: <-0.000415, 0.008062, 0.002527> + 1134: <-0.000419, 0.008161, 0.002116> + 1135: <-0.000836, 0.008134, 0.002109> + 1136: <-0.000415, 0.008062, 0.002527> + 1137: <-0.000000, 0.008070, 0.002530> + 1138: <-0.000000, 0.008169, 0.002118> + 1139: <-0.000419, 0.008161, 0.002116> + 1140: <-0.000000, 0.008070, 0.002530> + 1141: < 0.000415, 0.008062, 0.002527> + 1142: < 0.000419, 0.008161, 0.002116> + 1143: <-0.000000, 0.008169, 0.002118> + 1144: < 0.000415, 0.008062, 0.002527> + 1145: < 0.000829, 0.008036, 0.002519> + 1146: < 0.000836, 0.008134, 0.002109> + 1147: < 0.000419, 0.008161, 0.002116> + 1148: < 0.000829, 0.008036, 0.002519> + 1149: < 0.001241, 0.007992, 0.002507> + 1150: < 0.001252, 0.008090, 0.002099> + 1151: < 0.000836, 0.008134, 0.002109> + 1152: < 0.001241, 0.007992, 0.002507> + 1153: < 0.001650, 0.007932, 0.002492> + 1154: < 0.001663, 0.008029, 0.002086> + 1155: < 0.001252, 0.008090, 0.002099> + 1156: < 0.001650, 0.007932, 0.002492> + 1157: < 0.002053, 0.007854, 0.002473> + 1158: < 0.002071, 0.007950, 0.002071> + 1159: < 0.001663, 0.008029, 0.002086> + 1160: < 0.002053, 0.007854, 0.002473> + 1161: < 0.002452, 0.007759, 0.002452> + 1162: < 0.002473, 0.007854, 0.002053> + 1163: < 0.002071, 0.007950, 0.002071> + 1164: < 0.002452, 0.007759, 0.002452> + 1165: < 0.002843, 0.007648, 0.002429> + 1166: < 0.002868, 0.007740, 0.002035> + 1167: < 0.002473, 0.007854, 0.002053> + 1168: < 0.002843, 0.007648, 0.002429> + 1169: < 0.003227, 0.007519, 0.002405> + 1170: < 0.003255, 0.007610, 0.002015> + 1171: < 0.002868, 0.007740, 0.002035> + 1172: < 0.003227, 0.007519, 0.002405> + 1173: < 0.003601, 0.007374, 0.002380> + 1174: < 0.003634, 0.007462, 0.001995> + 1175: < 0.003255, 0.007610, 0.002015> + 1176: < 0.003601, 0.007374, 0.002380> + 1177: < 0.003965, 0.007212, 0.002356> + 1178: < 0.004002, 0.007297, 0.001975> + 1179: < 0.003634, 0.007462, 0.001995> + 1180: < 0.003965, 0.007212, 0.002356> + 1181: < 0.004318, 0.007033, 0.002333> + 1182: < 0.004360, 0.007115, 0.001957> + 1183: < 0.004002, 0.007297, 0.001975> + 1184: < 0.004318, 0.007033, 0.002333> + 1185: < 0.004659, 0.006836, 0.002313> + 1186: < 0.004705, 0.006915, 0.001940> + 1187: < 0.004360, 0.007115, 0.001957> + 1188: < 0.004659, 0.006836, 0.002313> + 1189: < 0.004987, 0.006623, 0.002295> + 1190: < 0.005037, 0.006698, 0.001926> + 1191: < 0.004705, 0.006915, 0.001940> + 1192: < 0.004987, 0.006623, 0.002295> + 1193: < 0.005301, 0.006393, 0.002281> + 1194: < 0.005355, 0.006464, 0.001915> + 1195: < 0.005037, 0.006698, 0.001926> + 1196: < 0.005301, 0.006393, 0.002281> + 1197: < 0.005599, 0.006146, 0.002272> + 1198: < 0.005657, 0.006212, 0.001908> + 1199: < 0.005355, 0.006464, 0.001915> + 1200: <-0.005657, 0.006212, 0.001908> + 1201: <-0.005355, 0.006464, 0.001915> + 1202: <-0.005401, 0.006523, 0.001541> + 1203: <-0.005707, 0.006269, 0.001536> + 1204: <-0.005355, 0.006464, 0.001915> + 1205: <-0.005037, 0.006698, 0.001926> + 1206: <-0.005080, 0.006761, 0.001550> + 1207: <-0.005401, 0.006523, 0.001541> + 1208: <-0.005037, 0.006698, 0.001926> + 1209: <-0.004705, 0.006915, 0.001940> + 1210: <-0.004744, 0.006980, 0.001561> + 1211: <-0.005080, 0.006761, 0.001550> + 1212: <-0.004705, 0.006915, 0.001940> + 1213: <-0.004360, 0.007115, 0.001957> + 1214: <-0.004395, 0.007183, 0.001574> + 1215: <-0.004744, 0.006980, 0.001561> + 1216: <-0.004360, 0.007115, 0.001957> + 1217: <-0.004002, 0.007297, 0.001975> + 1218: <-0.004034, 0.007367, 0.001588> + 1219: <-0.004395, 0.007183, 0.001574> + 1220: <-0.004002, 0.007297, 0.001975> + 1221: <-0.003634, 0.007462, 0.001995> + 1222: <-0.003663, 0.007535, 0.001603> + 1223: <-0.004034, 0.007367, 0.001588> + 1224: <-0.003634, 0.007462, 0.001995> + 1225: <-0.003255, 0.007610, 0.002015> + 1226: <-0.003281, 0.007684, 0.001619> + 1227: <-0.003663, 0.007535, 0.001603> + 1228: <-0.003255, 0.007610, 0.002015> + 1229: <-0.002868, 0.007740, 0.002035> + 1230: <-0.002890, 0.007817, 0.001635> + 1231: <-0.003281, 0.007684, 0.001619> + 1232: <-0.002868, 0.007740, 0.002035> + 1233: <-0.002473, 0.007854, 0.002053> + 1234: <-0.002492, 0.007932, 0.001650> + 1235: <-0.002890, 0.007817, 0.001635> + 1236: <-0.002473, 0.007854, 0.002053> + 1237: <-0.002071, 0.007950, 0.002071> + 1238: <-0.002086, 0.008029, 0.001663> + 1239: <-0.002492, 0.007932, 0.001650> + 1240: <-0.002071, 0.007950, 0.002071> + 1241: <-0.001663, 0.008029, 0.002086> + 1242: <-0.001676, 0.008109, 0.001676> + 1243: <-0.002086, 0.008029, 0.001663> + 1244: <-0.001663, 0.008029, 0.002086> + 1245: <-0.001252, 0.008090, 0.002099> + 1246: <-0.001261, 0.008171, 0.001686> + 1247: <-0.001676, 0.008109, 0.001676> + 1248: <-0.001252, 0.008090, 0.002099> + 1249: <-0.000836, 0.008134, 0.002109> + 1250: <-0.000842, 0.008215, 0.001694> + 1251: <-0.001261, 0.008171, 0.001686> + 1252: <-0.000836, 0.008134, 0.002109> + 1253: <-0.000419, 0.008161, 0.002116> + 1254: <-0.000422, 0.008242, 0.001699> + 1255: <-0.000842, 0.008215, 0.001694> + 1256: <-0.000419, 0.008161, 0.002116> + 1257: <-0.000000, 0.008169, 0.002118> + 1258: < 0.000000, 0.008251, 0.001701> + 1259: <-0.000422, 0.008242, 0.001699> + 1260: <-0.000000, 0.008169, 0.002118> + 1261: < 0.000419, 0.008161, 0.002116> + 1262: < 0.000422, 0.008242, 0.001699> + 1263: < 0.000000, 0.008251, 0.001701> + 1264: < 0.000419, 0.008161, 0.002116> + 1265: < 0.000836, 0.008134, 0.002109> + 1266: < 0.000842, 0.008215, 0.001694> + 1267: < 0.000422, 0.008242, 0.001699> + 1268: < 0.000836, 0.008134, 0.002109> + 1269: < 0.001252, 0.008090, 0.002099> + 1270: < 0.001261, 0.008171, 0.001686> + 1271: < 0.000842, 0.008215, 0.001694> + 1272: < 0.001252, 0.008090, 0.002099> + 1273: < 0.001663, 0.008029, 0.002086> + 1274: < 0.001676, 0.008109, 0.001676> + 1275: < 0.001261, 0.008171, 0.001686> + 1276: < 0.001663, 0.008029, 0.002086> + 1277: < 0.002071, 0.007950, 0.002071> + 1278: < 0.002086, 0.008029, 0.001663> + 1279: < 0.001676, 0.008109, 0.001676> + 1280: < 0.002071, 0.007950, 0.002071> + 1281: < 0.002473, 0.007854, 0.002053> + 1282: < 0.002492, 0.007932, 0.001650> + 1283: < 0.002086, 0.008029, 0.001663> + 1284: < 0.002473, 0.007854, 0.002053> + 1285: < 0.002868, 0.007740, 0.002035> + 1286: < 0.002890, 0.007817, 0.001635> + 1287: < 0.002492, 0.007932, 0.001650> + 1288: < 0.002868, 0.007740, 0.002035> + 1289: < 0.003255, 0.007610, 0.002015> + 1290: < 0.003281, 0.007684, 0.001619> + 1291: < 0.002890, 0.007817, 0.001635> + 1292: < 0.003255, 0.007610, 0.002015> + 1293: < 0.003634, 0.007462, 0.001995> + 1294: < 0.003663, 0.007535, 0.001603> + 1295: < 0.003281, 0.007684, 0.001619> + 1296: < 0.003634, 0.007462, 0.001995> + 1297: < 0.004002, 0.007297, 0.001975> + 1298: < 0.004034, 0.007367, 0.001588> + 1299: < 0.003663, 0.007535, 0.001603> + 1300: < 0.004002, 0.007297, 0.001975> + 1301: < 0.004360, 0.007115, 0.001957> + 1302: < 0.004395, 0.007183, 0.001574> + 1303: < 0.004034, 0.007367, 0.001588> + 1304: < 0.004360, 0.007115, 0.001957> + 1305: < 0.004705, 0.006915, 0.001940> + 1306: < 0.004744, 0.006980, 0.001561> + 1307: < 0.004395, 0.007183, 0.001574> + 1308: < 0.004705, 0.006915, 0.001940> + 1309: < 0.005037, 0.006698, 0.001926> + 1310: < 0.005080, 0.006761, 0.001550> + 1311: < 0.004744, 0.006980, 0.001561> + 1312: < 0.005037, 0.006698, 0.001926> + 1313: < 0.005355, 0.006464, 0.001915> + 1314: < 0.005401, 0.006523, 0.001541> + 1315: < 0.005080, 0.006761, 0.001550> + 1316: < 0.005355, 0.006464, 0.001915> + 1317: < 0.005657, 0.006212, 0.001908> + 1318: < 0.005707, 0.006269, 0.001536> + 1319: < 0.005401, 0.006523, 0.001541> + 1320: <-0.005707, 0.006269, 0.001536> + 1321: <-0.005401, 0.006523, 0.001541> + 1322: <-0.005438, 0.006570, 0.001161> + 1323: <-0.005747, 0.006313, 0.001157> + 1324: <-0.005401, 0.006523, 0.001541> + 1325: <-0.005080, 0.006761, 0.001550> + 1326: <-0.005114, 0.006810, 0.001168> + 1327: <-0.005438, 0.006570, 0.001161> + 1328: <-0.005080, 0.006761, 0.001550> + 1329: <-0.004744, 0.006980, 0.001561> + 1330: <-0.004776, 0.007032, 0.001176> + 1331: <-0.005114, 0.006810, 0.001168> + 1332: <-0.004744, 0.006980, 0.001561> + 1333: <-0.004395, 0.007183, 0.001574> + 1334: <-0.004424, 0.007236, 0.001185> + 1335: <-0.004776, 0.007032, 0.001176> + 1336: <-0.004395, 0.007183, 0.001574> + 1337: <-0.004034, 0.007367, 0.001588> + 1338: <-0.004061, 0.007423, 0.001196> + 1339: <-0.004424, 0.007236, 0.001185> + 1340: <-0.004034, 0.007367, 0.001588> + 1341: <-0.003663, 0.007535, 0.001603> + 1342: <-0.003686, 0.007591, 0.001207> + 1343: <-0.004061, 0.007423, 0.001196> + 1344: <-0.003663, 0.007535, 0.001603> + 1345: <-0.003281, 0.007684, 0.001619> + 1346: <-0.003302, 0.007743, 0.001219> + 1347: <-0.003686, 0.007591, 0.001207> + 1348: <-0.003281, 0.007684, 0.001619> + 1349: <-0.002890, 0.007817, 0.001635> + 1350: <-0.002908, 0.007876, 0.001230> + 1351: <-0.003302, 0.007743, 0.001219> + 1352: <-0.002890, 0.007817, 0.001635> + 1353: <-0.002492, 0.007932, 0.001650> + 1354: <-0.002507, 0.007992, 0.001241> + 1355: <-0.002908, 0.007876, 0.001230> + 1356: <-0.002492, 0.007932, 0.001650> + 1357: <-0.002086, 0.008029, 0.001663> + 1358: <-0.002099, 0.008090, 0.001252> + 1359: <-0.002507, 0.007992, 0.001241> + 1360: <-0.002086, 0.008029, 0.001663> + 1361: <-0.001676, 0.008109, 0.001676> + 1362: <-0.001686, 0.008171, 0.001261> + 1363: <-0.002099, 0.008090, 0.001252> + 1364: <-0.001676, 0.008109, 0.001676> + 1365: <-0.001261, 0.008171, 0.001686> + 1366: <-0.001269, 0.008233, 0.001269> + 1367: <-0.001686, 0.008171, 0.001261> + 1368: <-0.001261, 0.008171, 0.001686> + 1369: <-0.000842, 0.008215, 0.001694> + 1370: <-0.000848, 0.008278, 0.001275> + 1371: <-0.001269, 0.008233, 0.001269> + 1372: <-0.000842, 0.008215, 0.001694> + 1373: <-0.000422, 0.008242, 0.001699> + 1374: <-0.000424, 0.008305, 0.001278> + 1375: <-0.000848, 0.008278, 0.001275> + 1376: <-0.000422, 0.008242, 0.001699> + 1377: < 0.000000, 0.008251, 0.001701> + 1378: < 0.000000, 0.008314, 0.001280> + 1379: <-0.000424, 0.008305, 0.001278> + 1380: < 0.000000, 0.008251, 0.001701> + 1381: < 0.000422, 0.008242, 0.001699> + 1382: < 0.000424, 0.008305, 0.001278> + 1383: < 0.000000, 0.008314, 0.001280> + 1384: < 0.000422, 0.008242, 0.001699> + 1385: < 0.000842, 0.008215, 0.001694> + 1386: < 0.000848, 0.008278, 0.001275> + 1387: < 0.000424, 0.008305, 0.001278> + 1388: < 0.000842, 0.008215, 0.001694> + 1389: < 0.001261, 0.008171, 0.001686> + 1390: < 0.001269, 0.008233, 0.001269> + 1391: < 0.000848, 0.008278, 0.001275> + 1392: < 0.001261, 0.008171, 0.001686> + 1393: < 0.001676, 0.008109, 0.001676> + 1394: < 0.001686, 0.008171, 0.001261> + 1395: < 0.001269, 0.008233, 0.001269> + 1396: < 0.001676, 0.008109, 0.001676> + 1397: < 0.002086, 0.008029, 0.001663> + 1398: < 0.002099, 0.008090, 0.001252> + 1399: < 0.001686, 0.008171, 0.001261> + 1400: < 0.002086, 0.008029, 0.001663> + 1401: < 0.002492, 0.007932, 0.001650> + 1402: < 0.002507, 0.007992, 0.001241> + 1403: < 0.002099, 0.008090, 0.001252> + 1404: < 0.002492, 0.007932, 0.001650> + 1405: < 0.002890, 0.007817, 0.001635> + 1406: < 0.002908, 0.007876, 0.001230> + 1407: < 0.002507, 0.007992, 0.001241> + 1408: < 0.002890, 0.007817, 0.001635> + 1409: < 0.003281, 0.007684, 0.001619> + 1410: < 0.003302, 0.007743, 0.001219> + 1411: < 0.002908, 0.007876, 0.001230> + 1412: < 0.003281, 0.007684, 0.001619> + 1413: < 0.003663, 0.007535, 0.001603> + 1414: < 0.003686, 0.007591, 0.001207> + 1415: < 0.003302, 0.007743, 0.001219> + 1416: < 0.003663, 0.007535, 0.001603> + 1417: < 0.004034, 0.007367, 0.001588> + 1418: < 0.004061, 0.007423, 0.001196> + 1419: < 0.003686, 0.007591, 0.001207> + 1420: < 0.004034, 0.007367, 0.001588> + 1421: < 0.004395, 0.007183, 0.001574> + 1422: < 0.004424, 0.007236, 0.001185> + 1423: < 0.004061, 0.007423, 0.001196> + 1424: < 0.004395, 0.007183, 0.001574> + 1425: < 0.004744, 0.006980, 0.001561> + 1426: < 0.004776, 0.007032, 0.001176> + 1427: < 0.004424, 0.007236, 0.001185> + 1428: < 0.004744, 0.006980, 0.001561> + 1429: < 0.005080, 0.006761, 0.001550> + 1430: < 0.005114, 0.006810, 0.001168> + 1431: < 0.004776, 0.007032, 0.001176> + 1432: < 0.005080, 0.006761, 0.001550> + 1433: < 0.005401, 0.006523, 0.001541> + 1434: < 0.005438, 0.006570, 0.001161> + 1435: < 0.005114, 0.006810, 0.001168> + 1436: < 0.005401, 0.006523, 0.001541> + 1437: < 0.005707, 0.006269, 0.001536> + 1438: < 0.005747, 0.006313, 0.001157> + 1439: < 0.005438, 0.006570, 0.001161> + 1440: <-0.005747, 0.006313, 0.001157> + 1441: <-0.005438, 0.006570, 0.001161> + 1442: <-0.005466, 0.006605, 0.000777> + 1443: <-0.005776, 0.006346, 0.000774> + 1444: <-0.005438, 0.006570, 0.001161> + 1445: <-0.005114, 0.006810, 0.001168> + 1446: <-0.005140, 0.006846, 0.000781> + 1447: <-0.005466, 0.006605, 0.000777> + 1448: <-0.005114, 0.006810, 0.001168> + 1449: <-0.004776, 0.007032, 0.001176> + 1450: <-0.004800, 0.007069, 0.000786> + 1451: <-0.005140, 0.006846, 0.000781> + 1452: <-0.004776, 0.007032, 0.001176> + 1453: <-0.004424, 0.007236, 0.001185> + 1454: <-0.004446, 0.007275, 0.000792> + 1455: <-0.004800, 0.007069, 0.000786> + 1456: <-0.004424, 0.007236, 0.001185> + 1457: <-0.004061, 0.007423, 0.001196> + 1458: <-0.004081, 0.007462, 0.000799> + 1459: <-0.004446, 0.007275, 0.000792> + 1460: <-0.004061, 0.007423, 0.001196> + 1461: <-0.003686, 0.007591, 0.001207> + 1462: <-0.003704, 0.007632, 0.000807> + 1463: <-0.004081, 0.007462, 0.000799> + 1464: <-0.003686, 0.007591, 0.001207> + 1465: <-0.003302, 0.007743, 0.001219> + 1466: <-0.003318, 0.007785, 0.000814> + 1467: <-0.003704, 0.007632, 0.000807> + 1468: <-0.003302, 0.007743, 0.001219> + 1469: <-0.002908, 0.007876, 0.001230> + 1470: <-0.002922, 0.007919, 0.000822> + 1471: <-0.003318, 0.007785, 0.000814> + 1472: <-0.002908, 0.007876, 0.001230> + 1473: <-0.002507, 0.007992, 0.001241> + 1474: <-0.002519, 0.008036, 0.000829> + 1475: <-0.002922, 0.007919, 0.000822> + 1476: <-0.002507, 0.007992, 0.001241> + 1477: <-0.002099, 0.008090, 0.001252> + 1478: <-0.002109, 0.008134, 0.000836> + 1479: <-0.002519, 0.008036, 0.000829> + 1480: <-0.002099, 0.008090, 0.001252> + 1481: <-0.001686, 0.008171, 0.001261> + 1482: <-0.001694, 0.008215, 0.000842> + 1483: <-0.002109, 0.008134, 0.000836> + 1484: <-0.001686, 0.008171, 0.001261> + 1485: <-0.001269, 0.008233, 0.001269> + 1486: <-0.001275, 0.008278, 0.000848> + 1487: <-0.001694, 0.008215, 0.000842> + 1488: <-0.001269, 0.008233, 0.001269> + 1489: <-0.000848, 0.008278, 0.001275> + 1490: <-0.000852, 0.008323, 0.000852> + 1491: <-0.001275, 0.008278, 0.000848> + 1492: <-0.000848, 0.008278, 0.001275> + 1493: <-0.000424, 0.008305, 0.001278> + 1494: <-0.000426, 0.008350, 0.000854> + 1495: <-0.000852, 0.008323, 0.000852> + 1496: <-0.000424, 0.008305, 0.001278> + 1497: < 0.000000, 0.008314, 0.001280> + 1498: < 0.000000, 0.008359, 0.000855> + 1499: <-0.000426, 0.008350, 0.000854> + 1500: < 0.000000, 0.008314, 0.001280> + 1501: < 0.000424, 0.008305, 0.001278> + 1502: < 0.000426, 0.008350, 0.000854> + 1503: < 0.000000, 0.008359, 0.000855> + 1504: < 0.000424, 0.008305, 0.001278> + 1505: < 0.000848, 0.008278, 0.001275> + 1506: < 0.000852, 0.008323, 0.000852> + 1507: < 0.000426, 0.008350, 0.000854> + 1508: < 0.000848, 0.008278, 0.001275> + 1509: < 0.001269, 0.008233, 0.001269> + 1510: < 0.001275, 0.008278, 0.000848> + 1511: < 0.000852, 0.008323, 0.000852> + 1512: < 0.001269, 0.008233, 0.001269> + 1513: < 0.001686, 0.008171, 0.001261> + 1514: < 0.001694, 0.008215, 0.000842> + 1515: < 0.001275, 0.008278, 0.000848> + 1516: < 0.001686, 0.008171, 0.001261> + 1517: < 0.002099, 0.008090, 0.001252> + 1518: < 0.002109, 0.008134, 0.000836> + 1519: < 0.001694, 0.008215, 0.000842> + 1520: < 0.002099, 0.008090, 0.001252> + 1521: < 0.002507, 0.007992, 0.001241> + 1522: < 0.002519, 0.008036, 0.000829> + 1523: < 0.002109, 0.008134, 0.000836> + 1524: < 0.002507, 0.007992, 0.001241> + 1525: < 0.002908, 0.007876, 0.001230> + 1526: < 0.002922, 0.007919, 0.000822> + 1527: < 0.002519, 0.008036, 0.000829> + 1528: < 0.002908, 0.007876, 0.001230> + 1529: < 0.003302, 0.007743, 0.001219> + 1530: < 0.003318, 0.007785, 0.000814> + 1531: < 0.002922, 0.007919, 0.000822> + 1532: < 0.003302, 0.007743, 0.001219> + 1533: < 0.003686, 0.007591, 0.001207> + 1534: < 0.003704, 0.007632, 0.000807> + 1535: < 0.003318, 0.007785, 0.000814> + 1536: < 0.003686, 0.007591, 0.001207> + 1537: < 0.004061, 0.007423, 0.001196> + 1538: < 0.004081, 0.007462, 0.000799> + 1539: < 0.003704, 0.007632, 0.000807> + 1540: < 0.004061, 0.007423, 0.001196> + 1541: < 0.004424, 0.007236, 0.001185> + 1542: < 0.004446, 0.007275, 0.000792> + 1543: < 0.004081, 0.007462, 0.000799> + 1544: < 0.004424, 0.007236, 0.001185> + 1545: < 0.004776, 0.007032, 0.001176> + 1546: < 0.004800, 0.007069, 0.000786> + 1547: < 0.004446, 0.007275, 0.000792> + 1548: < 0.004776, 0.007032, 0.001176> + 1549: < 0.005114, 0.006810, 0.001168> + 1550: < 0.005140, 0.006846, 0.000781> + 1551: < 0.004800, 0.007069, 0.000786> + 1552: < 0.005114, 0.006810, 0.001168> + 1553: < 0.005438, 0.006570, 0.001161> + 1554: < 0.005466, 0.006605, 0.000777> + 1555: < 0.005140, 0.006846, 0.000781> + 1556: < 0.005438, 0.006570, 0.001161> + 1557: < 0.005747, 0.006313, 0.001157> + 1558: < 0.005776, 0.006346, 0.000774> + 1559: < 0.005466, 0.006605, 0.000777> + 1560: <-0.005776, 0.006346, 0.000774> + 1561: <-0.005466, 0.006605, 0.000777> + 1562: <-0.005483, 0.006626, 0.000389> + 1563: <-0.005794, 0.006366, 0.000388> + 1564: <-0.005466, 0.006605, 0.000777> + 1565: <-0.005140, 0.006846, 0.000781> + 1566: <-0.005156, 0.006868, 0.000391> + 1567: <-0.005483, 0.006626, 0.000389> + 1568: <-0.005140, 0.006846, 0.000781> + 1569: <-0.004800, 0.007069, 0.000786> + 1570: <-0.004815, 0.007092, 0.000394> + 1571: <-0.005156, 0.006868, 0.000391> + 1572: <-0.004800, 0.007069, 0.000786> + 1573: <-0.004446, 0.007275, 0.000792> + 1574: <-0.004460, 0.007298, 0.000397> + 1575: <-0.004815, 0.007092, 0.000394> + 1576: <-0.004446, 0.007275, 0.000792> + 1577: <-0.004081, 0.007462, 0.000799> + 1578: <-0.004093, 0.007487, 0.000400> + 1579: <-0.004460, 0.007298, 0.000397> + 1580: <-0.004081, 0.007462, 0.000799> + 1581: <-0.003704, 0.007632, 0.000807> + 1582: <-0.003716, 0.007657, 0.000404> + 1583: <-0.004093, 0.007487, 0.000400> + 1584: <-0.003704, 0.007632, 0.000807> + 1585: <-0.003318, 0.007785, 0.000814> + 1586: <-0.003328, 0.007810, 0.000408> + 1587: <-0.003716, 0.007657, 0.000404> + 1588: <-0.003318, 0.007785, 0.000814> + 1589: <-0.002922, 0.007919, 0.000822> + 1590: <-0.002931, 0.007945, 0.000412> + 1591: <-0.003328, 0.007810, 0.000408> + 1592: <-0.002922, 0.007919, 0.000822> + 1593: <-0.002519, 0.008036, 0.000829> + 1594: <-0.002527, 0.008062, 0.000415> + 1595: <-0.002931, 0.007945, 0.000412> + 1596: <-0.002519, 0.008036, 0.000829> + 1597: <-0.002109, 0.008134, 0.000836> + 1598: <-0.002116, 0.008161, 0.000419> + 1599: <-0.002527, 0.008062, 0.000415> + 1600: <-0.002109, 0.008134, 0.000836> + 1601: <-0.001694, 0.008215, 0.000842> + 1602: <-0.001699, 0.008242, 0.000422> + 1603: <-0.002116, 0.008161, 0.000419> + 1604: <-0.001694, 0.008215, 0.000842> + 1605: <-0.001275, 0.008278, 0.000848> + 1606: <-0.001278, 0.008305, 0.000424> + 1607: <-0.001699, 0.008242, 0.000422> + 1608: <-0.001275, 0.008278, 0.000848> + 1609: <-0.000852, 0.008323, 0.000852> + 1610: <-0.000854, 0.008350, 0.000426> + 1611: <-0.001278, 0.008305, 0.000424> + 1612: <-0.000852, 0.008323, 0.000852> + 1613: <-0.000426, 0.008350, 0.000854> + 1614: <-0.000428, 0.008377, 0.000428> + 1615: <-0.000854, 0.008350, 0.000426> + 1616: <-0.000426, 0.008350, 0.000854> + 1617: < 0.000000, 0.008359, 0.000855> + 1618: < 0.000000, 0.008386, 0.000428> + 1619: <-0.000428, 0.008377, 0.000428> + 1620: < 0.000000, 0.008359, 0.000855> + 1621: < 0.000426, 0.008350, 0.000854> + 1622: < 0.000428, 0.008377, 0.000428> + 1623: < 0.000000, 0.008386, 0.000428> + 1624: < 0.000426, 0.008350, 0.000854> + 1625: < 0.000852, 0.008323, 0.000852> + 1626: < 0.000854, 0.008350, 0.000426> + 1627: < 0.000428, 0.008377, 0.000428> + 1628: < 0.000852, 0.008323, 0.000852> + 1629: < 0.001275, 0.008278, 0.000848> + 1630: < 0.001278, 0.008305, 0.000424> + 1631: < 0.000854, 0.008350, 0.000426> + 1632: < 0.001275, 0.008278, 0.000848> + 1633: < 0.001694, 0.008215, 0.000842> + 1634: < 0.001699, 0.008242, 0.000422> + 1635: < 0.001278, 0.008305, 0.000424> + 1636: < 0.001694, 0.008215, 0.000842> + 1637: < 0.002109, 0.008134, 0.000836> + 1638: < 0.002116, 0.008161, 0.000419> + 1639: < 0.001699, 0.008242, 0.000422> + 1640: < 0.002109, 0.008134, 0.000836> + 1641: < 0.002519, 0.008036, 0.000829> + 1642: < 0.002527, 0.008062, 0.000415> + 1643: < 0.002116, 0.008161, 0.000419> + 1644: < 0.002519, 0.008036, 0.000829> + 1645: < 0.002922, 0.007919, 0.000822> + 1646: < 0.002931, 0.007945, 0.000412> + 1647: < 0.002527, 0.008062, 0.000415> + 1648: < 0.002922, 0.007919, 0.000822> + 1649: < 0.003318, 0.007785, 0.000814> + 1650: < 0.003328, 0.007810, 0.000408> + 1651: < 0.002931, 0.007945, 0.000412> + 1652: < 0.003318, 0.007785, 0.000814> + 1653: < 0.003704, 0.007632, 0.000807> + 1654: < 0.003716, 0.007657, 0.000404> + 1655: < 0.003328, 0.007810, 0.000408> + 1656: < 0.003704, 0.007632, 0.000807> + 1657: < 0.004081, 0.007462, 0.000799> + 1658: < 0.004093, 0.007487, 0.000400> + 1659: < 0.003716, 0.007657, 0.000404> + 1660: < 0.004081, 0.007462, 0.000799> + 1661: < 0.004446, 0.007275, 0.000792> + 1662: < 0.004460, 0.007298, 0.000397> + 1663: < 0.004093, 0.007487, 0.000400> + 1664: < 0.004446, 0.007275, 0.000792> + 1665: < 0.004800, 0.007069, 0.000786> + 1666: < 0.004815, 0.007092, 0.000394> + 1667: < 0.004460, 0.007298, 0.000397> + 1668: < 0.004800, 0.007069, 0.000786> + 1669: < 0.005140, 0.006846, 0.000781> + 1670: < 0.005156, 0.006868, 0.000391> + 1671: < 0.004815, 0.007092, 0.000394> + 1672: < 0.005140, 0.006846, 0.000781> + 1673: < 0.005466, 0.006605, 0.000777> + 1674: < 0.005483, 0.006626, 0.000389> + 1675: < 0.005156, 0.006868, 0.000391> + 1676: < 0.005466, 0.006605, 0.000777> + 1677: < 0.005776, 0.006346, 0.000774> + 1678: < 0.005794, 0.006366, 0.000388> + 1679: < 0.005483, 0.006626, 0.000389> + 1680: <-0.005794, 0.006366, 0.000388> + 1681: <-0.005483, 0.006626, 0.000389> + 1682: <-0.005489, 0.006633, -0.000000> + 1683: <-0.005801, 0.006373, -0.000000> + 1684: <-0.005483, 0.006626, 0.000389> + 1685: <-0.005156, 0.006868, 0.000391> + 1686: <-0.005162, 0.006875, -0.000000> + 1687: <-0.005489, 0.006633, -0.000000> + 1688: <-0.005156, 0.006868, 0.000391> + 1689: <-0.004815, 0.007092, 0.000394> + 1690: <-0.004820, 0.007099, -0.000000> + 1691: <-0.005162, 0.006875, -0.000000> + 1692: <-0.004815, 0.007092, 0.000394> + 1693: <-0.004460, 0.007298, 0.000397> + 1694: <-0.004465, 0.007306, -0.000000> + 1695: <-0.004820, 0.007099, -0.000000> + 1696: <-0.004460, 0.007298, 0.000397> + 1697: <-0.004093, 0.007487, 0.000400> + 1698: <-0.004098, 0.007495, -0.000000> + 1699: <-0.004465, 0.007306, -0.000000> + 1700: <-0.004093, 0.007487, 0.000400> + 1701: <-0.003716, 0.007657, 0.000404> + 1702: <-0.003720, 0.007665, -0.000000> + 1703: <-0.004098, 0.007495, -0.000000> + 1704: <-0.003716, 0.007657, 0.000404> + 1705: <-0.003328, 0.007810, 0.000408> + 1706: <-0.003331, 0.007818, -0.000000> + 1707: <-0.003720, 0.007665, -0.000000> + 1708: <-0.003328, 0.007810, 0.000408> + 1709: <-0.002931, 0.007945, 0.000412> + 1710: <-0.002934, 0.007953, -0.000000> + 1711: <-0.003331, 0.007818, -0.000000> + 1712: <-0.002931, 0.007945, 0.000412> + 1713: <-0.002527, 0.008062, 0.000415> + 1714: <-0.002530, 0.008070, 0.000000> + 1715: <-0.002934, 0.007953, -0.000000> + 1716: <-0.002527, 0.008062, 0.000415> + 1717: <-0.002116, 0.008161, 0.000419> + 1718: <-0.002118, 0.008169, -0.000000> + 1719: <-0.002530, 0.008070, 0.000000> + 1720: <-0.002116, 0.008161, 0.000419> + 1721: <-0.001699, 0.008242, 0.000422> + 1722: <-0.001701, 0.008251, 0.000000> + 1723: <-0.002118, 0.008169, -0.000000> + 1724: <-0.001699, 0.008242, 0.000422> + 1725: <-0.001278, 0.008305, 0.000424> + 1726: <-0.001280, 0.008314, 0.000000> + 1727: <-0.001701, 0.008251, 0.000000> + 1728: <-0.001278, 0.008305, 0.000424> + 1729: <-0.000854, 0.008350, 0.000426> + 1730: <-0.000855, 0.008359, 0.000000> + 1731: <-0.001280, 0.008314, 0.000000> + 1732: <-0.000854, 0.008350, 0.000426> + 1733: <-0.000428, 0.008377, 0.000428> + 1734: <-0.000428, 0.008386, 0.000000> + 1735: <-0.000855, 0.008359, 0.000000> + 1736: <-0.000428, 0.008377, 0.000428> + 1737: < 0.000000, 0.008386, 0.000428> + 1738: < 0.000000, 0.008395, 0.000000> + 1739: <-0.000428, 0.008386, 0.000000> + 1740: < 0.000000, 0.008386, 0.000428> + 1741: < 0.000428, 0.008377, 0.000428> + 1742: < 0.000428, 0.008386, 0.000000> + 1743: < 0.000000, 0.008395, 0.000000> + 1744: < 0.000428, 0.008377, 0.000428> + 1745: < 0.000854, 0.008350, 0.000426> + 1746: < 0.000855, 0.008359, 0.000000> + 1747: < 0.000428, 0.008386, 0.000000> + 1748: < 0.000854, 0.008350, 0.000426> + 1749: < 0.001278, 0.008305, 0.000424> + 1750: < 0.001280, 0.008314, 0.000000> + 1751: < 0.000855, 0.008359, 0.000000> + 1752: < 0.001278, 0.008305, 0.000424> + 1753: < 0.001699, 0.008242, 0.000422> + 1754: < 0.001701, 0.008251, 0.000000> + 1755: < 0.001280, 0.008314, 0.000000> + 1756: < 0.001699, 0.008242, 0.000422> + 1757: < 0.002116, 0.008161, 0.000419> + 1758: < 0.002118, 0.008169, 0.000000> + 1759: < 0.001701, 0.008251, 0.000000> + 1760: < 0.002116, 0.008161, 0.000419> + 1761: < 0.002527, 0.008062, 0.000415> + 1762: < 0.002530, 0.008070, 0.000000> + 1763: < 0.002118, 0.008169, 0.000000> + 1764: < 0.002527, 0.008062, 0.000415> + 1765: < 0.002931, 0.007945, 0.000412> + 1766: < 0.002934, 0.007953, 0.000000> + 1767: < 0.002530, 0.008070, 0.000000> + 1768: < 0.002931, 0.007945, 0.000412> + 1769: < 0.003328, 0.007810, 0.000408> + 1770: < 0.003331, 0.007818, 0.000000> + 1771: < 0.002934, 0.007953, 0.000000> + 1772: < 0.003328, 0.007810, 0.000408> + 1773: < 0.003716, 0.007657, 0.000404> + 1774: < 0.003720, 0.007665, 0.000000> + 1775: < 0.003331, 0.007818, 0.000000> + 1776: < 0.003716, 0.007657, 0.000404> + 1777: < 0.004093, 0.007487, 0.000400> + 1778: < 0.004098, 0.007495, 0.000000> + 1779: < 0.003720, 0.007665, 0.000000> + 1780: < 0.004093, 0.007487, 0.000400> + 1781: < 0.004460, 0.007298, 0.000397> + 1782: < 0.004465, 0.007306, -0.000000> + 1783: < 0.004098, 0.007495, 0.000000> + 1784: < 0.004460, 0.007298, 0.000397> + 1785: < 0.004815, 0.007092, 0.000394> + 1786: < 0.004820, 0.007099, 0.000000> + 1787: < 0.004465, 0.007306, -0.000000> + 1788: < 0.004815, 0.007092, 0.000394> + 1789: < 0.005156, 0.006868, 0.000391> + 1790: < 0.005162, 0.006875, 0.000000> + 1791: < 0.004820, 0.007099, 0.000000> + 1792: < 0.005156, 0.006868, 0.000391> + 1793: < 0.005483, 0.006626, 0.000389> + 1794: < 0.005489, 0.006633, 0.000000> + 1795: < 0.005162, 0.006875, 0.000000> + 1796: < 0.005483, 0.006626, 0.000389> + 1797: < 0.005794, 0.006366, 0.000388> + 1798: < 0.005801, 0.006373, 0.000000> + 1799: < 0.005489, 0.006633, 0.000000> + 1800: <-0.005801, 0.006373, -0.000000> + 1801: <-0.005489, 0.006633, -0.000000> + 1802: <-0.005483, 0.006626, -0.000389> + 1803: <-0.005794, 0.006366, -0.000388> + 1804: <-0.005489, 0.006633, -0.000000> + 1805: <-0.005162, 0.006875, -0.000000> + 1806: <-0.005156, 0.006868, -0.000391> + 1807: <-0.005483, 0.006626, -0.000389> + 1808: <-0.005162, 0.006875, -0.000000> + 1809: <-0.004820, 0.007099, -0.000000> + 1810: <-0.004815, 0.007092, -0.000394> + 1811: <-0.005156, 0.006868, -0.000391> + 1812: <-0.004820, 0.007099, -0.000000> + 1813: <-0.004465, 0.007306, -0.000000> + 1814: <-0.004460, 0.007298, -0.000397> + 1815: <-0.004815, 0.007092, -0.000394> + 1816: <-0.004465, 0.007306, -0.000000> + 1817: <-0.004098, 0.007495, -0.000000> + 1818: <-0.004093, 0.007487, -0.000400> + 1819: <-0.004460, 0.007298, -0.000397> + 1820: <-0.004098, 0.007495, -0.000000> + 1821: <-0.003720, 0.007665, -0.000000> + 1822: <-0.003716, 0.007657, -0.000404> + 1823: <-0.004093, 0.007487, -0.000400> + 1824: <-0.003720, 0.007665, -0.000000> + 1825: <-0.003331, 0.007818, -0.000000> + 1826: <-0.003328, 0.007810, -0.000408> + 1827: <-0.003716, 0.007657, -0.000404> + 1828: <-0.003331, 0.007818, -0.000000> + 1829: <-0.002934, 0.007953, -0.000000> + 1830: <-0.002931, 0.007945, -0.000412> + 1831: <-0.003328, 0.007810, -0.000408> + 1832: <-0.002934, 0.007953, -0.000000> + 1833: <-0.002530, 0.008070, 0.000000> + 1834: <-0.002527, 0.008062, -0.000415> + 1835: <-0.002931, 0.007945, -0.000412> + 1836: <-0.002530, 0.008070, 0.000000> + 1837: <-0.002118, 0.008169, -0.000000> + 1838: <-0.002116, 0.008161, -0.000419> + 1839: <-0.002527, 0.008062, -0.000415> + 1840: <-0.002118, 0.008169, -0.000000> + 1841: <-0.001701, 0.008251, 0.000000> + 1842: <-0.001699, 0.008242, -0.000422> + 1843: <-0.002116, 0.008161, -0.000419> + 1844: <-0.001701, 0.008251, 0.000000> + 1845: <-0.001280, 0.008314, 0.000000> + 1846: <-0.001278, 0.008305, -0.000424> + 1847: <-0.001699, 0.008242, -0.000422> + 1848: <-0.001280, 0.008314, 0.000000> + 1849: <-0.000855, 0.008359, 0.000000> + 1850: <-0.000854, 0.008350, -0.000426> + 1851: <-0.001278, 0.008305, -0.000424> + 1852: <-0.000855, 0.008359, 0.000000> + 1853: <-0.000428, 0.008386, 0.000000> + 1854: <-0.000428, 0.008377, -0.000428> + 1855: <-0.000854, 0.008350, -0.000426> + 1856: <-0.000428, 0.008386, 0.000000> + 1857: < 0.000000, 0.008395, 0.000000> + 1858: < 0.000000, 0.008386, -0.000428> + 1859: <-0.000428, 0.008377, -0.000428> + 1860: < 0.000000, 0.008395, 0.000000> + 1861: < 0.000428, 0.008386, 0.000000> + 1862: < 0.000428, 0.008377, -0.000428> + 1863: < 0.000000, 0.008386, -0.000428> + 1864: < 0.000428, 0.008386, 0.000000> + 1865: < 0.000855, 0.008359, 0.000000> + 1866: < 0.000854, 0.008350, -0.000426> + 1867: < 0.000428, 0.008377, -0.000428> + 1868: < 0.000855, 0.008359, 0.000000> + 1869: < 0.001280, 0.008314, 0.000000> + 1870: < 0.001278, 0.008305, -0.000424> + 1871: < 0.000854, 0.008350, -0.000426> + 1872: < 0.001280, 0.008314, 0.000000> + 1873: < 0.001701, 0.008251, 0.000000> + 1874: < 0.001699, 0.008242, -0.000422> + 1875: < 0.001278, 0.008305, -0.000424> + 1876: < 0.001701, 0.008251, 0.000000> + 1877: < 0.002118, 0.008169, 0.000000> + 1878: < 0.002116, 0.008161, -0.000419> + 1879: < 0.001699, 0.008242, -0.000422> + 1880: < 0.002118, 0.008169, 0.000000> + 1881: < 0.002530, 0.008070, 0.000000> + 1882: < 0.002527, 0.008062, -0.000415> + 1883: < 0.002116, 0.008161, -0.000419> + 1884: < 0.002530, 0.008070, 0.000000> + 1885: < 0.002934, 0.007953, 0.000000> + 1886: < 0.002931, 0.007945, -0.000412> + 1887: < 0.002527, 0.008062, -0.000415> + 1888: < 0.002934, 0.007953, 0.000000> + 1889: < 0.003331, 0.007818, 0.000000> + 1890: < 0.003328, 0.007810, -0.000408> + 1891: < 0.002931, 0.007945, -0.000412> + 1892: < 0.003331, 0.007818, 0.000000> + 1893: < 0.003720, 0.007665, 0.000000> + 1894: < 0.003716, 0.007657, -0.000404> + 1895: < 0.003328, 0.007810, -0.000408> + 1896: < 0.003720, 0.007665, 0.000000> + 1897: < 0.004098, 0.007495, 0.000000> + 1898: < 0.004093, 0.007487, -0.000400> + 1899: < 0.003716, 0.007657, -0.000404> + 1900: < 0.004098, 0.007495, 0.000000> + 1901: < 0.004465, 0.007306, -0.000000> + 1902: < 0.004460, 0.007298, -0.000397> + 1903: < 0.004093, 0.007487, -0.000400> + 1904: < 0.004465, 0.007306, -0.000000> + 1905: < 0.004820, 0.007099, 0.000000> + 1906: < 0.004815, 0.007092, -0.000394> + 1907: < 0.004460, 0.007298, -0.000397> + 1908: < 0.004820, 0.007099, 0.000000> + 1909: < 0.005162, 0.006875, 0.000000> + 1910: < 0.005156, 0.006868, -0.000391> + 1911: < 0.004815, 0.007092, -0.000394> + 1912: < 0.005162, 0.006875, 0.000000> + 1913: < 0.005489, 0.006633, 0.000000> + 1914: < 0.005483, 0.006626, -0.000389> + 1915: < 0.005156, 0.006868, -0.000391> + 1916: < 0.005489, 0.006633, 0.000000> + 1917: < 0.005801, 0.006373, 0.000000> + 1918: < 0.005794, 0.006366, -0.000388> + 1919: < 0.005483, 0.006626, -0.000389> + 1920: <-0.005794, 0.006366, -0.000388> + 1921: <-0.005483, 0.006626, -0.000389> + 1922: <-0.005466, 0.006605, -0.000777> + 1923: <-0.005776, 0.006346, -0.000774> + 1924: <-0.005483, 0.006626, -0.000389> + 1925: <-0.005156, 0.006868, -0.000391> + 1926: <-0.005140, 0.006846, -0.000781> + 1927: <-0.005466, 0.006605, -0.000777> + 1928: <-0.005156, 0.006868, -0.000391> + 1929: <-0.004815, 0.007092, -0.000394> + 1930: <-0.004800, 0.007069, -0.000786> + 1931: <-0.005140, 0.006846, -0.000781> + 1932: <-0.004815, 0.007092, -0.000394> + 1933: <-0.004460, 0.007298, -0.000397> + 1934: <-0.004446, 0.007275, -0.000792> + 1935: <-0.004800, 0.007069, -0.000786> + 1936: <-0.004460, 0.007298, -0.000397> + 1937: <-0.004093, 0.007487, -0.000400> + 1938: <-0.004081, 0.007462, -0.000799> + 1939: <-0.004446, 0.007275, -0.000792> + 1940: <-0.004093, 0.007487, -0.000400> + 1941: <-0.003716, 0.007657, -0.000404> + 1942: <-0.003704, 0.007632, -0.000807> + 1943: <-0.004081, 0.007462, -0.000799> + 1944: <-0.003716, 0.007657, -0.000404> + 1945: <-0.003328, 0.007810, -0.000408> + 1946: <-0.003318, 0.007785, -0.000814> + 1947: <-0.003704, 0.007632, -0.000807> + 1948: <-0.003328, 0.007810, -0.000408> + 1949: <-0.002931, 0.007945, -0.000412> + 1950: <-0.002922, 0.007919, -0.000822> + 1951: <-0.003318, 0.007785, -0.000814> + 1952: <-0.002931, 0.007945, -0.000412> + 1953: <-0.002527, 0.008062, -0.000415> + 1954: <-0.002519, 0.008036, -0.000829> + 1955: <-0.002922, 0.007919, -0.000822> + 1956: <-0.002527, 0.008062, -0.000415> + 1957: <-0.002116, 0.008161, -0.000419> + 1958: <-0.002109, 0.008134, -0.000836> + 1959: <-0.002519, 0.008036, -0.000829> + 1960: <-0.002116, 0.008161, -0.000419> + 1961: <-0.001699, 0.008242, -0.000422> + 1962: <-0.001694, 0.008215, -0.000842> + 1963: <-0.002109, 0.008134, -0.000836> + 1964: <-0.001699, 0.008242, -0.000422> + 1965: <-0.001278, 0.008305, -0.000424> + 1966: <-0.001275, 0.008278, -0.000848> + 1967: <-0.001694, 0.008215, -0.000842> + 1968: <-0.001278, 0.008305, -0.000424> + 1969: <-0.000854, 0.008350, -0.000426> + 1970: <-0.000852, 0.008323, -0.000852> + 1971: <-0.001275, 0.008278, -0.000848> + 1972: <-0.000854, 0.008350, -0.000426> + 1973: <-0.000428, 0.008377, -0.000428> + 1974: <-0.000426, 0.008350, -0.000854> + 1975: <-0.000852, 0.008323, -0.000852> + 1976: <-0.000428, 0.008377, -0.000428> + 1977: < 0.000000, 0.008386, -0.000428> + 1978: < 0.000000, 0.008359, -0.000855> + 1979: <-0.000426, 0.008350, -0.000854> + 1980: < 0.000000, 0.008386, -0.000428> + 1981: < 0.000428, 0.008377, -0.000428> + 1982: < 0.000426, 0.008350, -0.000854> + 1983: < 0.000000, 0.008359, -0.000855> + 1984: < 0.000428, 0.008377, -0.000428> + 1985: < 0.000854, 0.008350, -0.000426> + 1986: < 0.000852, 0.008323, -0.000852> + 1987: < 0.000426, 0.008350, -0.000854> + 1988: < 0.000854, 0.008350, -0.000426> + 1989: < 0.001278, 0.008305, -0.000424> + 1990: < 0.001275, 0.008278, -0.000848> + 1991: < 0.000852, 0.008323, -0.000852> + 1992: < 0.001278, 0.008305, -0.000424> + 1993: < 0.001699, 0.008242, -0.000422> + 1994: < 0.001694, 0.008215, -0.000842> + 1995: < 0.001275, 0.008278, -0.000848> + 1996: < 0.001699, 0.008242, -0.000422> + 1997: < 0.002116, 0.008161, -0.000419> + 1998: < 0.002109, 0.008134, -0.000836> + 1999: < 0.001694, 0.008215, -0.000842> + 2000: < 0.002116, 0.008161, -0.000419> + 2001: < 0.002527, 0.008062, -0.000415> + 2002: < 0.002519, 0.008036, -0.000829> + 2003: < 0.002109, 0.008134, -0.000836> + 2004: < 0.002527, 0.008062, -0.000415> + 2005: < 0.002931, 0.007945, -0.000412> + 2006: < 0.002922, 0.007919, -0.000822> + 2007: < 0.002519, 0.008036, -0.000829> + 2008: < 0.002931, 0.007945, -0.000412> + 2009: < 0.003328, 0.007810, -0.000408> + 2010: < 0.003318, 0.007785, -0.000814> + 2011: < 0.002922, 0.007919, -0.000822> + 2012: < 0.003328, 0.007810, -0.000408> + 2013: < 0.003716, 0.007657, -0.000404> + 2014: < 0.003704, 0.007632, -0.000807> + 2015: < 0.003318, 0.007785, -0.000814> + 2016: < 0.003716, 0.007657, -0.000404> + 2017: < 0.004093, 0.007487, -0.000400> + 2018: < 0.004081, 0.007462, -0.000799> + 2019: < 0.003704, 0.007632, -0.000807> + 2020: < 0.004093, 0.007487, -0.000400> + 2021: < 0.004460, 0.007298, -0.000397> + 2022: < 0.004446, 0.007275, -0.000792> + 2023: < 0.004081, 0.007462, -0.000799> + 2024: < 0.004460, 0.007298, -0.000397> + 2025: < 0.004815, 0.007092, -0.000394> + 2026: < 0.004800, 0.007069, -0.000786> + 2027: < 0.004446, 0.007275, -0.000792> + 2028: < 0.004815, 0.007092, -0.000394> + 2029: < 0.005156, 0.006868, -0.000391> + 2030: < 0.005140, 0.006846, -0.000781> + 2031: < 0.004800, 0.007069, -0.000786> + 2032: < 0.005156, 0.006868, -0.000391> + 2033: < 0.005483, 0.006626, -0.000389> + 2034: < 0.005466, 0.006605, -0.000777> + 2035: < 0.005140, 0.006846, -0.000781> + 2036: < 0.005483, 0.006626, -0.000389> + 2037: < 0.005794, 0.006366, -0.000388> + 2038: < 0.005776, 0.006346, -0.000774> + 2039: < 0.005466, 0.006605, -0.000777> + 2040: <-0.005776, 0.006346, -0.000774> + 2041: <-0.005466, 0.006605, -0.000777> + 2042: <-0.005438, 0.006570, -0.001161> + 2043: <-0.005747, 0.006313, -0.001157> + 2044: <-0.005466, 0.006605, -0.000777> + 2045: <-0.005140, 0.006846, -0.000781> + 2046: <-0.005114, 0.006810, -0.001168> + 2047: <-0.005438, 0.006570, -0.001161> + 2048: <-0.005140, 0.006846, -0.000781> + 2049: <-0.004800, 0.007069, -0.000786> + 2050: <-0.004776, 0.007032, -0.001176> + 2051: <-0.005114, 0.006810, -0.001168> + 2052: <-0.004800, 0.007069, -0.000786> + 2053: <-0.004446, 0.007275, -0.000792> + 2054: <-0.004424, 0.007236, -0.001185> + 2055: <-0.004776, 0.007032, -0.001176> + 2056: <-0.004446, 0.007275, -0.000792> + 2057: <-0.004081, 0.007462, -0.000799> + 2058: <-0.004061, 0.007423, -0.001196> + 2059: <-0.004424, 0.007236, -0.001185> + 2060: <-0.004081, 0.007462, -0.000799> + 2061: <-0.003704, 0.007632, -0.000807> + 2062: <-0.003686, 0.007591, -0.001207> + 2063: <-0.004061, 0.007423, -0.001196> + 2064: <-0.003704, 0.007632, -0.000807> + 2065: <-0.003318, 0.007785, -0.000814> + 2066: <-0.003302, 0.007743, -0.001219> + 2067: <-0.003686, 0.007591, -0.001207> + 2068: <-0.003318, 0.007785, -0.000814> + 2069: <-0.002922, 0.007919, -0.000822> + 2070: <-0.002908, 0.007876, -0.001230> + 2071: <-0.003302, 0.007743, -0.001219> + 2072: <-0.002922, 0.007919, -0.000822> + 2073: <-0.002519, 0.008036, -0.000829> + 2074: <-0.002507, 0.007992, -0.001241> + 2075: <-0.002908, 0.007876, -0.001230> + 2076: <-0.002519, 0.008036, -0.000829> + 2077: <-0.002109, 0.008134, -0.000836> + 2078: <-0.002099, 0.008090, -0.001252> + 2079: <-0.002507, 0.007992, -0.001241> + 2080: <-0.002109, 0.008134, -0.000836> + 2081: <-0.001694, 0.008215, -0.000842> + 2082: <-0.001686, 0.008171, -0.001261> + 2083: <-0.002099, 0.008090, -0.001252> + 2084: <-0.001694, 0.008215, -0.000842> + 2085: <-0.001275, 0.008278, -0.000848> + 2086: <-0.001269, 0.008233, -0.001269> + 2087: <-0.001686, 0.008171, -0.001261> + 2088: <-0.001275, 0.008278, -0.000848> + 2089: <-0.000852, 0.008323, -0.000852> + 2090: <-0.000848, 0.008278, -0.001275> + 2091: <-0.001269, 0.008233, -0.001269> + 2092: <-0.000852, 0.008323, -0.000852> + 2093: <-0.000426, 0.008350, -0.000854> + 2094: <-0.000424, 0.008305, -0.001278> + 2095: <-0.000848, 0.008278, -0.001275> + 2096: <-0.000426, 0.008350, -0.000854> + 2097: < 0.000000, 0.008359, -0.000855> + 2098: < 0.000000, 0.008314, -0.001280> + 2099: <-0.000424, 0.008305, -0.001278> + 2100: < 0.000000, 0.008359, -0.000855> + 2101: < 0.000426, 0.008350, -0.000854> + 2102: < 0.000424, 0.008305, -0.001278> + 2103: < 0.000000, 0.008314, -0.001280> + 2104: < 0.000426, 0.008350, -0.000854> + 2105: < 0.000852, 0.008323, -0.000852> + 2106: < 0.000848, 0.008278, -0.001275> + 2107: < 0.000424, 0.008305, -0.001278> + 2108: < 0.000852, 0.008323, -0.000852> + 2109: < 0.001275, 0.008278, -0.000848> + 2110: < 0.001269, 0.008233, -0.001269> + 2111: < 0.000848, 0.008278, -0.001275> + 2112: < 0.001275, 0.008278, -0.000848> + 2113: < 0.001694, 0.008215, -0.000842> + 2114: < 0.001686, 0.008171, -0.001261> + 2115: < 0.001269, 0.008233, -0.001269> + 2116: < 0.001694, 0.008215, -0.000842> + 2117: < 0.002109, 0.008134, -0.000836> + 2118: < 0.002099, 0.008090, -0.001252> + 2119: < 0.001686, 0.008171, -0.001261> + 2120: < 0.002109, 0.008134, -0.000836> + 2121: < 0.002519, 0.008036, -0.000829> + 2122: < 0.002507, 0.007992, -0.001241> + 2123: < 0.002099, 0.008090, -0.001252> + 2124: < 0.002519, 0.008036, -0.000829> + 2125: < 0.002922, 0.007919, -0.000822> + 2126: < 0.002908, 0.007876, -0.001230> + 2127: < 0.002507, 0.007992, -0.001241> + 2128: < 0.002922, 0.007919, -0.000822> + 2129: < 0.003318, 0.007785, -0.000814> + 2130: < 0.003302, 0.007743, -0.001219> + 2131: < 0.002908, 0.007876, -0.001230> + 2132: < 0.003318, 0.007785, -0.000814> + 2133: < 0.003704, 0.007632, -0.000807> + 2134: < 0.003686, 0.007591, -0.001207> + 2135: < 0.003302, 0.007743, -0.001219> + 2136: < 0.003704, 0.007632, -0.000807> + 2137: < 0.004081, 0.007462, -0.000799> + 2138: < 0.004061, 0.007423, -0.001196> + 2139: < 0.003686, 0.007591, -0.001207> + 2140: < 0.004081, 0.007462, -0.000799> + 2141: < 0.004446, 0.007275, -0.000792> + 2142: < 0.004424, 0.007236, -0.001185> + 2143: < 0.004061, 0.007423, -0.001196> + 2144: < 0.004446, 0.007275, -0.000792> + 2145: < 0.004800, 0.007069, -0.000786> + 2146: < 0.004776, 0.007032, -0.001176> + 2147: < 0.004424, 0.007236, -0.001185> + 2148: < 0.004800, 0.007069, -0.000786> + 2149: < 0.005140, 0.006846, -0.000781> + 2150: < 0.005114, 0.006810, -0.001168> + 2151: < 0.004776, 0.007032, -0.001176> + 2152: < 0.005140, 0.006846, -0.000781> + 2153: < 0.005466, 0.006605, -0.000777> + 2154: < 0.005438, 0.006570, -0.001161> + 2155: < 0.005114, 0.006810, -0.001168> + 2156: < 0.005466, 0.006605, -0.000777> + 2157: < 0.005776, 0.006346, -0.000774> + 2158: < 0.005747, 0.006313, -0.001157> + 2159: < 0.005438, 0.006570, -0.001161> + 2160: <-0.005747, 0.006313, -0.001157> + 2161: <-0.005438, 0.006570, -0.001161> + 2162: <-0.005401, 0.006523, -0.001541> + 2163: <-0.005707, 0.006269, -0.001536> + 2164: <-0.005438, 0.006570, -0.001161> + 2165: <-0.005114, 0.006810, -0.001168> + 2166: <-0.005080, 0.006761, -0.001550> + 2167: <-0.005401, 0.006523, -0.001541> + 2168: <-0.005114, 0.006810, -0.001168> + 2169: <-0.004776, 0.007032, -0.001176> + 2170: <-0.004744, 0.006980, -0.001561> + 2171: <-0.005080, 0.006761, -0.001550> + 2172: <-0.004776, 0.007032, -0.001176> + 2173: <-0.004424, 0.007236, -0.001185> + 2174: <-0.004395, 0.007183, -0.001574> + 2175: <-0.004744, 0.006980, -0.001561> + 2176: <-0.004424, 0.007236, -0.001185> + 2177: <-0.004061, 0.007423, -0.001196> + 2178: <-0.004034, 0.007367, -0.001588> + 2179: <-0.004395, 0.007183, -0.001574> + 2180: <-0.004061, 0.007423, -0.001196> + 2181: <-0.003686, 0.007591, -0.001207> + 2182: <-0.003663, 0.007535, -0.001603> + 2183: <-0.004034, 0.007367, -0.001588> + 2184: <-0.003686, 0.007591, -0.001207> + 2185: <-0.003302, 0.007743, -0.001219> + 2186: <-0.003281, 0.007684, -0.001619> + 2187: <-0.003663, 0.007535, -0.001603> + 2188: <-0.003302, 0.007743, -0.001219> + 2189: <-0.002908, 0.007876, -0.001230> + 2190: <-0.002890, 0.007817, -0.001635> + 2191: <-0.003281, 0.007684, -0.001619> + 2192: <-0.002908, 0.007876, -0.001230> + 2193: <-0.002507, 0.007992, -0.001241> + 2194: <-0.002492, 0.007932, -0.001650> + 2195: <-0.002890, 0.007817, -0.001635> + 2196: <-0.002507, 0.007992, -0.001241> + 2197: <-0.002099, 0.008090, -0.001252> + 2198: <-0.002086, 0.008029, -0.001663> + 2199: <-0.002492, 0.007932, -0.001650> + 2200: <-0.002099, 0.008090, -0.001252> + 2201: <-0.001686, 0.008171, -0.001261> + 2202: <-0.001676, 0.008109, -0.001676> + 2203: <-0.002086, 0.008029, -0.001663> + 2204: <-0.001686, 0.008171, -0.001261> + 2205: <-0.001269, 0.008233, -0.001269> + 2206: <-0.001261, 0.008171, -0.001686> + 2207: <-0.001676, 0.008109, -0.001676> + 2208: <-0.001269, 0.008233, -0.001269> + 2209: <-0.000848, 0.008278, -0.001275> + 2210: <-0.000842, 0.008215, -0.001694> + 2211: <-0.001261, 0.008171, -0.001686> + 2212: <-0.000848, 0.008278, -0.001275> + 2213: <-0.000424, 0.008305, -0.001278> + 2214: <-0.000422, 0.008242, -0.001699> + 2215: <-0.000842, 0.008215, -0.001694> + 2216: <-0.000424, 0.008305, -0.001278> + 2217: < 0.000000, 0.008314, -0.001280> + 2218: < 0.000000, 0.008251, -0.001701> + 2219: <-0.000422, 0.008242, -0.001699> + 2220: < 0.000000, 0.008314, -0.001280> + 2221: < 0.000424, 0.008305, -0.001278> + 2222: < 0.000422, 0.008242, -0.001699> + 2223: < 0.000000, 0.008251, -0.001701> + 2224: < 0.000424, 0.008305, -0.001278> + 2225: < 0.000848, 0.008278, -0.001275> + 2226: < 0.000842, 0.008215, -0.001694> + 2227: < 0.000422, 0.008242, -0.001699> + 2228: < 0.000848, 0.008278, -0.001275> + 2229: < 0.001269, 0.008233, -0.001269> + 2230: < 0.001261, 0.008171, -0.001686> + 2231: < 0.000842, 0.008215, -0.001694> + 2232: < 0.001269, 0.008233, -0.001269> + 2233: < 0.001686, 0.008171, -0.001261> + 2234: < 0.001676, 0.008109, -0.001676> + 2235: < 0.001261, 0.008171, -0.001686> + 2236: < 0.001686, 0.008171, -0.001261> + 2237: < 0.002099, 0.008090, -0.001252> + 2238: < 0.002086, 0.008029, -0.001663> + 2239: < 0.001676, 0.008109, -0.001676> + 2240: < 0.002099, 0.008090, -0.001252> + 2241: < 0.002507, 0.007992, -0.001241> + 2242: < 0.002492, 0.007932, -0.001650> + 2243: < 0.002086, 0.008029, -0.001663> + 2244: < 0.002507, 0.007992, -0.001241> + 2245: < 0.002908, 0.007876, -0.001230> + 2246: < 0.002890, 0.007817, -0.001635> + 2247: < 0.002492, 0.007932, -0.001650> + 2248: < 0.002908, 0.007876, -0.001230> + 2249: < 0.003302, 0.007743, -0.001219> + 2250: < 0.003281, 0.007684, -0.001619> + 2251: < 0.002890, 0.007817, -0.001635> + 2252: < 0.003302, 0.007743, -0.001219> + 2253: < 0.003686, 0.007591, -0.001207> + 2254: < 0.003663, 0.007535, -0.001603> + 2255: < 0.003281, 0.007684, -0.001619> + 2256: < 0.003686, 0.007591, -0.001207> + 2257: < 0.004061, 0.007423, -0.001196> + 2258: < 0.004034, 0.007367, -0.001588> + 2259: < 0.003663, 0.007535, -0.001603> + 2260: < 0.004061, 0.007423, -0.001196> + 2261: < 0.004424, 0.007236, -0.001185> + 2262: < 0.004395, 0.007183, -0.001574> + 2263: < 0.004034, 0.007367, -0.001588> + 2264: < 0.004424, 0.007236, -0.001185> + 2265: < 0.004776, 0.007032, -0.001176> + 2266: < 0.004744, 0.006980, -0.001561> + 2267: < 0.004395, 0.007183, -0.001574> + 2268: < 0.004776, 0.007032, -0.001176> + 2269: < 0.005114, 0.006810, -0.001168> + 2270: < 0.005080, 0.006761, -0.001550> + 2271: < 0.004744, 0.006980, -0.001561> + 2272: < 0.005114, 0.006810, -0.001168> + 2273: < 0.005438, 0.006570, -0.001161> + 2274: < 0.005401, 0.006523, -0.001541> + 2275: < 0.005080, 0.006761, -0.001550> + 2276: < 0.005438, 0.006570, -0.001161> + 2277: < 0.005747, 0.006313, -0.001157> + 2278: < 0.005707, 0.006269, -0.001536> + 2279: < 0.005401, 0.006523, -0.001541> + 2280: <-0.005707, 0.006269, -0.001536> + 2281: <-0.005401, 0.006523, -0.001541> + 2282: <-0.005355, 0.006464, -0.001915> + 2283: <-0.005657, 0.006212, -0.001908> + 2284: <-0.005401, 0.006523, -0.001541> + 2285: <-0.005080, 0.006761, -0.001550> + 2286: <-0.005037, 0.006698, -0.001926> + 2287: <-0.005355, 0.006464, -0.001915> + 2288: <-0.005080, 0.006761, -0.001550> + 2289: <-0.004744, 0.006980, -0.001561> + 2290: <-0.004705, 0.006915, -0.001940> + 2291: <-0.005037, 0.006698, -0.001926> + 2292: <-0.004744, 0.006980, -0.001561> + 2293: <-0.004395, 0.007183, -0.001574> + 2294: <-0.004360, 0.007115, -0.001957> + 2295: <-0.004705, 0.006915, -0.001940> + 2296: <-0.004395, 0.007183, -0.001574> + 2297: <-0.004034, 0.007367, -0.001588> + 2298: <-0.004002, 0.007297, -0.001975> + 2299: <-0.004360, 0.007115, -0.001957> + 2300: <-0.004034, 0.007367, -0.001588> + 2301: <-0.003663, 0.007535, -0.001603> + 2302: <-0.003634, 0.007462, -0.001995> + 2303: <-0.004002, 0.007297, -0.001975> + 2304: <-0.003663, 0.007535, -0.001603> + 2305: <-0.003281, 0.007684, -0.001619> + 2306: <-0.003255, 0.007610, -0.002015> + 2307: <-0.003634, 0.007462, -0.001995> + 2308: <-0.003281, 0.007684, -0.001619> + 2309: <-0.002890, 0.007817, -0.001635> + 2310: <-0.002868, 0.007740, -0.002035> + 2311: <-0.003255, 0.007610, -0.002015> + 2312: <-0.002890, 0.007817, -0.001635> + 2313: <-0.002492, 0.007932, -0.001650> + 2314: <-0.002473, 0.007854, -0.002053> + 2315: <-0.002868, 0.007740, -0.002035> + 2316: <-0.002492, 0.007932, -0.001650> + 2317: <-0.002086, 0.008029, -0.001663> + 2318: <-0.002071, 0.007950, -0.002071> + 2319: <-0.002473, 0.007854, -0.002053> + 2320: <-0.002086, 0.008029, -0.001663> + 2321: <-0.001676, 0.008109, -0.001676> + 2322: <-0.001663, 0.008029, -0.002086> + 2323: <-0.002071, 0.007950, -0.002071> + 2324: <-0.001676, 0.008109, -0.001676> + 2325: <-0.001261, 0.008171, -0.001686> + 2326: <-0.001252, 0.008090, -0.002099> + 2327: <-0.001663, 0.008029, -0.002086> + 2328: <-0.001261, 0.008171, -0.001686> + 2329: <-0.000842, 0.008215, -0.001694> + 2330: <-0.000836, 0.008134, -0.002109> + 2331: <-0.001252, 0.008090, -0.002099> + 2332: <-0.000842, 0.008215, -0.001694> + 2333: <-0.000422, 0.008242, -0.001699> + 2334: <-0.000419, 0.008161, -0.002116> + 2335: <-0.000836, 0.008134, -0.002109> + 2336: <-0.000422, 0.008242, -0.001699> + 2337: < 0.000000, 0.008251, -0.001701> + 2338: < 0.000000, 0.008169, -0.002118> + 2339: <-0.000419, 0.008161, -0.002116> + 2340: < 0.000000, 0.008251, -0.001701> + 2341: < 0.000422, 0.008242, -0.001699> + 2342: < 0.000419, 0.008161, -0.002116> + 2343: < 0.000000, 0.008169, -0.002118> + 2344: < 0.000422, 0.008242, -0.001699> + 2345: < 0.000842, 0.008215, -0.001694> + 2346: < 0.000836, 0.008134, -0.002109> + 2347: < 0.000419, 0.008161, -0.002116> + 2348: < 0.000842, 0.008215, -0.001694> + 2349: < 0.001261, 0.008171, -0.001686> + 2350: < 0.001252, 0.008090, -0.002099> + 2351: < 0.000836, 0.008134, -0.002109> + 2352: < 0.001261, 0.008171, -0.001686> + 2353: < 0.001676, 0.008109, -0.001676> + 2354: < 0.001663, 0.008029, -0.002086> + 2355: < 0.001252, 0.008090, -0.002099> + 2356: < 0.001676, 0.008109, -0.001676> + 2357: < 0.002086, 0.008029, -0.001663> + 2358: < 0.002071, 0.007950, -0.002071> + 2359: < 0.001663, 0.008029, -0.002086> + 2360: < 0.002086, 0.008029, -0.001663> + 2361: < 0.002492, 0.007932, -0.001650> + 2362: < 0.002473, 0.007854, -0.002053> + 2363: < 0.002071, 0.007950, -0.002071> + 2364: < 0.002492, 0.007932, -0.001650> + 2365: < 0.002890, 0.007817, -0.001635> + 2366: < 0.002868, 0.007740, -0.002035> + 2367: < 0.002473, 0.007854, -0.002053> + 2368: < 0.002890, 0.007817, -0.001635> + 2369: < 0.003281, 0.007684, -0.001619> + 2370: < 0.003255, 0.007610, -0.002015> + 2371: < 0.002868, 0.007740, -0.002035> + 2372: < 0.003281, 0.007684, -0.001619> + 2373: < 0.003663, 0.007535, -0.001603> + 2374: < 0.003634, 0.007462, -0.001995> + 2375: < 0.003255, 0.007610, -0.002015> + 2376: < 0.003663, 0.007535, -0.001603> + 2377: < 0.004034, 0.007367, -0.001588> + 2378: < 0.004002, 0.007297, -0.001975> + 2379: < 0.003634, 0.007462, -0.001995> + 2380: < 0.004034, 0.007367, -0.001588> + 2381: < 0.004395, 0.007183, -0.001574> + 2382: < 0.004360, 0.007115, -0.001957> + 2383: < 0.004002, 0.007297, -0.001975> + 2384: < 0.004395, 0.007183, -0.001574> + 2385: < 0.004744, 0.006980, -0.001561> + 2386: < 0.004705, 0.006915, -0.001940> + 2387: < 0.004360, 0.007115, -0.001957> + 2388: < 0.004744, 0.006980, -0.001561> + 2389: < 0.005080, 0.006761, -0.001550> + 2390: < 0.005037, 0.006698, -0.001926> + 2391: < 0.004705, 0.006915, -0.001940> + 2392: < 0.005080, 0.006761, -0.001550> + 2393: < 0.005401, 0.006523, -0.001541> + 2394: < 0.005355, 0.006464, -0.001915> + 2395: < 0.005037, 0.006698, -0.001926> + 2396: < 0.005401, 0.006523, -0.001541> + 2397: < 0.005707, 0.006269, -0.001536> + 2398: < 0.005657, 0.006212, -0.001908> + 2399: < 0.005355, 0.006464, -0.001915> + 2400: <-0.005657, 0.006212, -0.001908> + 2401: <-0.005355, 0.006464, -0.001915> + 2402: <-0.005301, 0.006393, -0.002281> + 2403: <-0.005599, 0.006146, -0.002272> + 2404: <-0.005355, 0.006464, -0.001915> + 2405: <-0.005037, 0.006698, -0.001926> + 2406: <-0.004987, 0.006623, -0.002295> + 2407: <-0.005301, 0.006393, -0.002281> + 2408: <-0.005037, 0.006698, -0.001926> + 2409: <-0.004705, 0.006915, -0.001940> + 2410: <-0.004659, 0.006836, -0.002313> + 2411: <-0.004987, 0.006623, -0.002295> + 2412: <-0.004705, 0.006915, -0.001940> + 2413: <-0.004360, 0.007115, -0.001957> + 2414: <-0.004318, 0.007033, -0.002333> + 2415: <-0.004659, 0.006836, -0.002313> + 2416: <-0.004360, 0.007115, -0.001957> + 2417: <-0.004002, 0.007297, -0.001975> + 2418: <-0.003965, 0.007212, -0.002356> + 2419: <-0.004318, 0.007033, -0.002333> + 2420: <-0.004002, 0.007297, -0.001975> + 2421: <-0.003634, 0.007462, -0.001995> + 2422: <-0.003601, 0.007374, -0.002380> + 2423: <-0.003965, 0.007212, -0.002356> + 2424: <-0.003634, 0.007462, -0.001995> + 2425: <-0.003255, 0.007610, -0.002015> + 2426: <-0.003227, 0.007519, -0.002405> + 2427: <-0.003601, 0.007374, -0.002380> + 2428: <-0.003255, 0.007610, -0.002015> + 2429: <-0.002868, 0.007740, -0.002035> + 2430: <-0.002843, 0.007648, -0.002429> + 2431: <-0.003227, 0.007519, -0.002405> + 2432: <-0.002868, 0.007740, -0.002035> + 2433: <-0.002473, 0.007854, -0.002053> + 2434: <-0.002452, 0.007759, -0.002452> + 2435: <-0.002843, 0.007648, -0.002429> + 2436: <-0.002473, 0.007854, -0.002053> + 2437: <-0.002071, 0.007950, -0.002071> + 2438: <-0.002053, 0.007854, -0.002473> + 2439: <-0.002452, 0.007759, -0.002452> + 2440: <-0.002071, 0.007950, -0.002071> + 2441: <-0.001663, 0.008029, -0.002086> + 2442: <-0.001650, 0.007932, -0.002492> + 2443: <-0.002053, 0.007854, -0.002473> + 2444: <-0.001663, 0.008029, -0.002086> + 2445: <-0.001252, 0.008090, -0.002099> + 2446: <-0.001241, 0.007992, -0.002507> + 2447: <-0.001650, 0.007932, -0.002492> + 2448: <-0.001252, 0.008090, -0.002099> + 2449: <-0.000836, 0.008134, -0.002109> + 2450: <-0.000829, 0.008036, -0.002519> + 2451: <-0.001241, 0.007992, -0.002507> + 2452: <-0.000836, 0.008134, -0.002109> + 2453: <-0.000419, 0.008161, -0.002116> + 2454: <-0.000415, 0.008062, -0.002527> + 2455: <-0.000829, 0.008036, -0.002519> + 2456: <-0.000419, 0.008161, -0.002116> + 2457: < 0.000000, 0.008169, -0.002118> + 2458: < 0.000000, 0.008070, -0.002530> + 2459: <-0.000415, 0.008062, -0.002527> + 2460: < 0.000000, 0.008169, -0.002118> + 2461: < 0.000419, 0.008161, -0.002116> + 2462: < 0.000415, 0.008062, -0.002527> + 2463: < 0.000000, 0.008070, -0.002530> + 2464: < 0.000419, 0.008161, -0.002116> + 2465: < 0.000836, 0.008134, -0.002109> + 2466: < 0.000829, 0.008036, -0.002519> + 2467: < 0.000415, 0.008062, -0.002527> + 2468: < 0.000836, 0.008134, -0.002109> + 2469: < 0.001252, 0.008090, -0.002099> + 2470: < 0.001241, 0.007992, -0.002507> + 2471: < 0.000829, 0.008036, -0.002519> + 2472: < 0.001252, 0.008090, -0.002099> + 2473: < 0.001663, 0.008029, -0.002086> + 2474: < 0.001650, 0.007932, -0.002492> + 2475: < 0.001241, 0.007992, -0.002507> + 2476: < 0.001663, 0.008029, -0.002086> + 2477: < 0.002071, 0.007950, -0.002071> + 2478: < 0.002053, 0.007854, -0.002473> + 2479: < 0.001650, 0.007932, -0.002492> + 2480: < 0.002071, 0.007950, -0.002071> + 2481: < 0.002473, 0.007854, -0.002053> + 2482: < 0.002452, 0.007759, -0.002452> + 2483: < 0.002053, 0.007854, -0.002473> + 2484: < 0.002473, 0.007854, -0.002053> + 2485: < 0.002868, 0.007740, -0.002035> + 2486: < 0.002843, 0.007648, -0.002429> + 2487: < 0.002452, 0.007759, -0.002452> + 2488: < 0.002868, 0.007740, -0.002035> + 2489: < 0.003255, 0.007610, -0.002015> + 2490: < 0.003227, 0.007519, -0.002405> + 2491: < 0.002843, 0.007648, -0.002429> + 2492: < 0.003255, 0.007610, -0.002015> + 2493: < 0.003634, 0.007462, -0.001995> + 2494: < 0.003601, 0.007374, -0.002380> + 2495: < 0.003227, 0.007519, -0.002405> + 2496: < 0.003634, 0.007462, -0.001995> + 2497: < 0.004002, 0.007297, -0.001975> + 2498: < 0.003965, 0.007212, -0.002356> + 2499: < 0.003601, 0.007374, -0.002380> + 2500: < 0.004002, 0.007297, -0.001975> + 2501: < 0.004360, 0.007115, -0.001957> + 2502: < 0.004318, 0.007033, -0.002333> + 2503: < 0.003965, 0.007212, -0.002356> + 2504: < 0.004360, 0.007115, -0.001957> + 2505: < 0.004705, 0.006915, -0.001940> + 2506: < 0.004659, 0.006836, -0.002313> + 2507: < 0.004318, 0.007033, -0.002333> + 2508: < 0.004705, 0.006915, -0.001940> + 2509: < 0.005037, 0.006698, -0.001926> + 2510: < 0.004987, 0.006623, -0.002295> + 2511: < 0.004659, 0.006836, -0.002313> + 2512: < 0.005037, 0.006698, -0.001926> + 2513: < 0.005355, 0.006464, -0.001915> + 2514: < 0.005301, 0.006393, -0.002281> + 2515: < 0.004987, 0.006623, -0.002295> + 2516: < 0.005355, 0.006464, -0.001915> + 2517: < 0.005657, 0.006212, -0.001908> + 2518: < 0.005599, 0.006146, -0.002272> + 2519: < 0.005301, 0.006393, -0.002281> + 2520: <-0.005599, 0.006146, -0.002272> + 2521: <-0.005301, 0.006393, -0.002281> + 2522: <-0.005240, 0.006311, -0.002638> + 2523: <-0.005533, 0.006069, -0.002627> + 2524: <-0.005301, 0.006393, -0.002281> + 2525: <-0.004987, 0.006623, -0.002295> + 2526: <-0.004931, 0.006537, -0.002655> + 2527: <-0.005240, 0.006311, -0.002638> + 2528: <-0.004987, 0.006623, -0.002295> + 2529: <-0.004659, 0.006836, -0.002313> + 2530: <-0.004609, 0.006745, -0.002676> + 2531: <-0.004931, 0.006537, -0.002655> + 2532: <-0.004659, 0.006836, -0.002313> + 2533: <-0.004318, 0.007033, -0.002333> + 2534: <-0.004273, 0.006937, -0.002701> + 2535: <-0.004609, 0.006745, -0.002676> + 2536: <-0.004318, 0.007033, -0.002333> + 2537: <-0.003965, 0.007212, -0.002356> + 2538: <-0.003924, 0.007112, -0.002729> + 2539: <-0.004273, 0.006937, -0.002701> + 2540: <-0.003965, 0.007212, -0.002356> + 2541: <-0.003601, 0.007374, -0.002380> + 2542: <-0.003565, 0.007270, -0.002758> + 2543: <-0.003924, 0.007112, -0.002729> + 2544: <-0.003601, 0.007374, -0.002380> + 2545: <-0.003227, 0.007519, -0.002405> + 2546: <-0.003195, 0.007412, -0.002787> + 2547: <-0.003565, 0.007270, -0.002758> + 2548: <-0.003227, 0.007519, -0.002405> + 2549: <-0.002843, 0.007648, -0.002429> + 2550: <-0.002816, 0.007538, -0.002816> + 2551: <-0.003195, 0.007412, -0.002787> + 2552: <-0.002843, 0.007648, -0.002429> + 2553: <-0.002452, 0.007759, -0.002452> + 2554: <-0.002429, 0.007648, -0.002843> + 2555: <-0.002816, 0.007538, -0.002816> + 2556: <-0.002452, 0.007759, -0.002452> + 2557: <-0.002053, 0.007854, -0.002473> + 2558: <-0.002035, 0.007740, -0.002868> + 2559: <-0.002429, 0.007648, -0.002843> + 2560: <-0.002053, 0.007854, -0.002473> + 2561: <-0.001650, 0.007932, -0.002492> + 2562: <-0.001635, 0.007817, -0.002890> + 2563: <-0.002035, 0.007740, -0.002868> + 2564: <-0.001650, 0.007932, -0.002492> + 2565: <-0.001241, 0.007992, -0.002507> + 2566: <-0.001230, 0.007876, -0.002908> + 2567: <-0.001635, 0.007817, -0.002890> + 2568: <-0.001241, 0.007992, -0.002507> + 2569: <-0.000829, 0.008036, -0.002519> + 2570: <-0.000822, 0.007919, -0.002922> + 2571: <-0.001230, 0.007876, -0.002908> + 2572: <-0.000829, 0.008036, -0.002519> + 2573: <-0.000415, 0.008062, -0.002527> + 2574: <-0.000412, 0.007945, -0.002931> + 2575: <-0.000822, 0.007919, -0.002922> + 2576: <-0.000415, 0.008062, -0.002527> + 2577: < 0.000000, 0.008070, -0.002530> + 2578: < 0.000000, 0.007953, -0.002934> + 2579: <-0.000412, 0.007945, -0.002931> + 2580: < 0.000000, 0.008070, -0.002530> + 2581: < 0.000415, 0.008062, -0.002527> + 2582: < 0.000412, 0.007945, -0.002931> + 2583: < 0.000000, 0.007953, -0.002934> + 2584: < 0.000415, 0.008062, -0.002527> + 2585: < 0.000829, 0.008036, -0.002519> + 2586: < 0.000822, 0.007919, -0.002922> + 2587: < 0.000412, 0.007945, -0.002931> + 2588: < 0.000829, 0.008036, -0.002519> + 2589: < 0.001241, 0.007992, -0.002507> + 2590: < 0.001230, 0.007876, -0.002908> + 2591: < 0.000822, 0.007919, -0.002922> + 2592: < 0.001241, 0.007992, -0.002507> + 2593: < 0.001650, 0.007932, -0.002492> + 2594: < 0.001635, 0.007817, -0.002890> + 2595: < 0.001230, 0.007876, -0.002908> + 2596: < 0.001650, 0.007932, -0.002492> + 2597: < 0.002053, 0.007854, -0.002473> + 2598: < 0.002035, 0.007740, -0.002868> + 2599: < 0.001635, 0.007817, -0.002890> + 2600: < 0.002053, 0.007854, -0.002473> + 2601: < 0.002452, 0.007759, -0.002452> + 2602: < 0.002429, 0.007648, -0.002843> + 2603: < 0.002035, 0.007740, -0.002868> + 2604: < 0.002452, 0.007759, -0.002452> + 2605: < 0.002843, 0.007648, -0.002429> + 2606: < 0.002816, 0.007538, -0.002816> + 2607: < 0.002429, 0.007648, -0.002843> + 2608: < 0.002843, 0.007648, -0.002429> + 2609: < 0.003227, 0.007519, -0.002405> + 2610: < 0.003195, 0.007412, -0.002787> + 2611: < 0.002816, 0.007538, -0.002816> + 2612: < 0.003227, 0.007519, -0.002405> + 2613: < 0.003601, 0.007374, -0.002380> + 2614: < 0.003565, 0.007270, -0.002758> + 2615: < 0.003195, 0.007412, -0.002787> + 2616: < 0.003601, 0.007374, -0.002380> + 2617: < 0.003965, 0.007212, -0.002356> + 2618: < 0.003924, 0.007112, -0.002729> + 2619: < 0.003565, 0.007270, -0.002758> + 2620: < 0.003965, 0.007212, -0.002356> + 2621: < 0.004318, 0.007033, -0.002333> + 2622: < 0.004273, 0.006937, -0.002701> + 2623: < 0.003924, 0.007112, -0.002729> + 2624: < 0.004318, 0.007033, -0.002333> + 2625: < 0.004659, 0.006836, -0.002313> + 2626: < 0.004609, 0.006745, -0.002676> + 2627: < 0.004273, 0.006937, -0.002701> + 2628: < 0.004659, 0.006836, -0.002313> + 2629: < 0.004987, 0.006623, -0.002295> + 2630: < 0.004931, 0.006537, -0.002655> + 2631: < 0.004609, 0.006745, -0.002676> + 2632: < 0.004987, 0.006623, -0.002295> + 2633: < 0.005301, 0.006393, -0.002281> + 2634: < 0.005240, 0.006311, -0.002638> + 2635: < 0.004931, 0.006537, -0.002655> + 2636: < 0.005301, 0.006393, -0.002281> + 2637: < 0.005599, 0.006146, -0.002272> + 2638: < 0.005533, 0.006069, -0.002627> + 2639: < 0.005240, 0.006311, -0.002638> + 2640: <-0.005533, 0.006069, -0.002627> + 2641: <-0.005240, 0.006311, -0.002638> + 2642: <-0.005172, 0.006219, -0.002984> + 2643: <-0.005459, 0.005983, -0.002971> + 2644: <-0.005240, 0.006311, -0.002638> + 2645: <-0.004931, 0.006537, -0.002655> + 2646: <-0.004870, 0.006439, -0.003004> + 2647: <-0.005172, 0.006219, -0.002984> + 2648: <-0.004931, 0.006537, -0.002655> + 2649: <-0.004609, 0.006745, -0.002676> + 2650: <-0.004553, 0.006641, -0.003030> + 2651: <-0.004870, 0.006439, -0.003004> + 2652: <-0.004609, 0.006745, -0.002676> + 2653: <-0.004273, 0.006937, -0.002701> + 2654: <-0.004223, 0.006828, -0.003060> + 2655: <-0.004553, 0.006641, -0.003030> + 2656: <-0.004273, 0.006937, -0.002701> + 2657: <-0.003924, 0.007112, -0.002729> + 2658: <-0.003880, 0.006998, -0.003093> + 2659: <-0.004223, 0.006828, -0.003060> + 2660: <-0.003924, 0.007112, -0.002729> + 2661: <-0.003565, 0.007270, -0.002758> + 2662: <-0.003526, 0.007152, -0.003127> + 2663: <-0.003880, 0.006998, -0.003093> + 2664: <-0.003565, 0.007270, -0.002758> + 2665: <-0.003195, 0.007412, -0.002787> + 2666: <-0.003162, 0.007290, -0.003162> + 2667: <-0.003526, 0.007152, -0.003127> + 2668: <-0.003195, 0.007412, -0.002787> + 2669: <-0.002816, 0.007538, -0.002816> + 2670: <-0.002787, 0.007412, -0.003195> + 2671: <-0.003162, 0.007290, -0.003162> + 2672: <-0.002816, 0.007538, -0.002816> + 2673: <-0.002429, 0.007648, -0.002843> + 2674: <-0.002405, 0.007519, -0.003227> + 2675: <-0.002787, 0.007412, -0.003195> + 2676: <-0.002429, 0.007648, -0.002843> + 2677: <-0.002035, 0.007740, -0.002868> + 2678: <-0.002015, 0.007610, -0.003255> + 2679: <-0.002405, 0.007519, -0.003227> + 2680: <-0.002035, 0.007740, -0.002868> + 2681: <-0.001635, 0.007817, -0.002890> + 2682: <-0.001619, 0.007684, -0.003281> + 2683: <-0.002015, 0.007610, -0.003255> + 2684: <-0.001635, 0.007817, -0.002890> + 2685: <-0.001230, 0.007876, -0.002908> + 2686: <-0.001219, 0.007743, -0.003302> + 2687: <-0.001619, 0.007684, -0.003281> + 2688: <-0.001230, 0.007876, -0.002908> + 2689: <-0.000822, 0.007919, -0.002922> + 2690: <-0.000814, 0.007785, -0.003318> + 2691: <-0.001219, 0.007743, -0.003302> + 2692: <-0.000822, 0.007919, -0.002922> + 2693: <-0.000412, 0.007945, -0.002931> + 2694: <-0.000408, 0.007810, -0.003328> + 2695: <-0.000814, 0.007785, -0.003318> + 2696: <-0.000412, 0.007945, -0.002931> + 2697: < 0.000000, 0.007953, -0.002934> + 2698: < 0.000000, 0.007818, -0.003331> + 2699: <-0.000408, 0.007810, -0.003328> + 2700: < 0.000000, 0.007953, -0.002934> + 2701: < 0.000412, 0.007945, -0.002931> + 2702: < 0.000408, 0.007810, -0.003328> + 2703: < 0.000000, 0.007818, -0.003331> + 2704: < 0.000412, 0.007945, -0.002931> + 2705: < 0.000822, 0.007919, -0.002922> + 2706: < 0.000814, 0.007785, -0.003318> + 2707: < 0.000408, 0.007810, -0.003328> + 2708: < 0.000822, 0.007919, -0.002922> + 2709: < 0.001230, 0.007876, -0.002908> + 2710: < 0.001219, 0.007743, -0.003302> + 2711: < 0.000814, 0.007785, -0.003318> + 2712: < 0.001230, 0.007876, -0.002908> + 2713: < 0.001635, 0.007817, -0.002890> + 2714: < 0.001619, 0.007684, -0.003281> + 2715: < 0.001219, 0.007743, -0.003302> + 2716: < 0.001635, 0.007817, -0.002890> + 2717: < 0.002035, 0.007740, -0.002868> + 2718: < 0.002015, 0.007610, -0.003255> + 2719: < 0.001619, 0.007684, -0.003281> + 2720: < 0.002035, 0.007740, -0.002868> + 2721: < 0.002429, 0.007648, -0.002843> + 2722: < 0.002405, 0.007519, -0.003227> + 2723: < 0.002015, 0.007610, -0.003255> + 2724: < 0.002429, 0.007648, -0.002843> + 2725: < 0.002816, 0.007538, -0.002816> + 2726: < 0.002787, 0.007412, -0.003195> + 2727: < 0.002405, 0.007519, -0.003227> + 2728: < 0.002816, 0.007538, -0.002816> + 2729: < 0.003195, 0.007412, -0.002787> + 2730: < 0.003162, 0.007290, -0.003162> + 2731: < 0.002787, 0.007412, -0.003195> + 2732: < 0.003195, 0.007412, -0.002787> + 2733: < 0.003565, 0.007270, -0.002758> + 2734: < 0.003526, 0.007152, -0.003127> + 2735: < 0.003162, 0.007290, -0.003162> + 2736: < 0.003565, 0.007270, -0.002758> + 2737: < 0.003924, 0.007112, -0.002729> + 2738: < 0.003880, 0.006998, -0.003093> + 2739: < 0.003526, 0.007152, -0.003127> + 2740: < 0.003924, 0.007112, -0.002729> + 2741: < 0.004273, 0.006937, -0.002701> + 2742: < 0.004223, 0.006828, -0.003060> + 2743: < 0.003880, 0.006998, -0.003093> + 2744: < 0.004273, 0.006937, -0.002701> + 2745: < 0.004609, 0.006745, -0.002676> + 2746: < 0.004553, 0.006641, -0.003030> + 2747: < 0.004223, 0.006828, -0.003060> + 2748: < 0.004609, 0.006745, -0.002676> + 2749: < 0.004931, 0.006537, -0.002655> + 2750: < 0.004870, 0.006439, -0.003004> + 2751: < 0.004553, 0.006641, -0.003030> + 2752: < 0.004931, 0.006537, -0.002655> + 2753: < 0.005240, 0.006311, -0.002638> + 2754: < 0.005172, 0.006219, -0.002984> + 2755: < 0.004870, 0.006439, -0.003004> + 2756: < 0.005240, 0.006311, -0.002638> + 2757: < 0.005533, 0.006069, -0.002627> + 2758: < 0.005459, 0.005983, -0.002971> + 2759: < 0.005172, 0.006219, -0.002984> + 2760: <-0.005459, 0.005983, -0.002971> + 2761: <-0.005172, 0.006219, -0.002984> + 2762: <-0.005099, 0.006117, -0.003318> + 2763: <-0.005379, 0.005888, -0.003302> + 2764: <-0.005172, 0.006219, -0.002984> + 2765: <-0.004870, 0.006439, -0.003004> + 2766: <-0.004804, 0.006329, -0.003342> + 2767: <-0.005099, 0.006117, -0.003318> + 2768: <-0.004870, 0.006439, -0.003004> + 2769: <-0.004553, 0.006641, -0.003030> + 2770: <-0.004494, 0.006525, -0.003372> + 2771: <-0.004804, 0.006329, -0.003342> + 2772: <-0.004553, 0.006641, -0.003030> + 2773: <-0.004223, 0.006828, -0.003060> + 2774: <-0.004170, 0.006705, -0.003407> + 2775: <-0.004494, 0.006525, -0.003372> + 2776: <-0.004223, 0.006828, -0.003060> + 2777: <-0.003880, 0.006998, -0.003093> + 2778: <-0.003834, 0.006870, -0.003446> + 2779: <-0.004170, 0.006705, -0.003407> + 2780: <-0.003880, 0.006998, -0.003093> + 2781: <-0.003526, 0.007152, -0.003127> + 2782: <-0.003486, 0.007018, -0.003486> + 2783: <-0.003834, 0.006870, -0.003446> + 2784: <-0.003526, 0.007152, -0.003127> + 2785: <-0.003162, 0.007290, -0.003162> + 2786: <-0.003127, 0.007152, -0.003526> + 2787: <-0.003486, 0.007018, -0.003486> + 2788: <-0.003162, 0.007290, -0.003162> + 2789: <-0.002787, 0.007412, -0.003195> + 2790: <-0.002758, 0.007270, -0.003565> + 2791: <-0.003127, 0.007152, -0.003526> + 2792: <-0.002787, 0.007412, -0.003195> + 2793: <-0.002405, 0.007519, -0.003227> + 2794: <-0.002380, 0.007374, -0.003601> + 2795: <-0.002758, 0.007270, -0.003565> + 2796: <-0.002405, 0.007519, -0.003227> + 2797: <-0.002015, 0.007610, -0.003255> + 2798: <-0.001995, 0.007462, -0.003634> + 2799: <-0.002380, 0.007374, -0.003601> + 2800: <-0.002015, 0.007610, -0.003255> + 2801: <-0.001619, 0.007684, -0.003281> + 2802: <-0.001603, 0.007535, -0.003663> + 2803: <-0.001995, 0.007462, -0.003634> + 2804: <-0.001619, 0.007684, -0.003281> + 2805: <-0.001219, 0.007743, -0.003302> + 2806: <-0.001207, 0.007591, -0.003686> + 2807: <-0.001603, 0.007535, -0.003663> + 2808: <-0.001219, 0.007743, -0.003302> + 2809: <-0.000814, 0.007785, -0.003318> + 2810: <-0.000807, 0.007632, -0.003704> + 2811: <-0.001207, 0.007591, -0.003686> + 2812: <-0.000814, 0.007785, -0.003318> + 2813: <-0.000408, 0.007810, -0.003328> + 2814: <-0.000404, 0.007657, -0.003716> + 2815: <-0.000807, 0.007632, -0.003704> + 2816: <-0.000408, 0.007810, -0.003328> + 2817: < 0.000000, 0.007818, -0.003331> + 2818: < 0.000000, 0.007665, -0.003720> + 2819: <-0.000404, 0.007657, -0.003716> + 2820: < 0.000000, 0.007818, -0.003331> + 2821: < 0.000408, 0.007810, -0.003328> + 2822: < 0.000404, 0.007657, -0.003716> + 2823: < 0.000000, 0.007665, -0.003720> + 2824: < 0.000408, 0.007810, -0.003328> + 2825: < 0.000814, 0.007785, -0.003318> + 2826: < 0.000807, 0.007632, -0.003704> + 2827: < 0.000404, 0.007657, -0.003716> + 2828: < 0.000814, 0.007785, -0.003318> + 2829: < 0.001219, 0.007743, -0.003302> + 2830: < 0.001207, 0.007591, -0.003686> + 2831: < 0.000807, 0.007632, -0.003704> + 2832: < 0.001219, 0.007743, -0.003302> + 2833: < 0.001619, 0.007684, -0.003281> + 2834: < 0.001603, 0.007535, -0.003663> + 2835: < 0.001207, 0.007591, -0.003686> + 2836: < 0.001619, 0.007684, -0.003281> + 2837: < 0.002015, 0.007610, -0.003255> + 2838: < 0.001995, 0.007462, -0.003634> + 2839: < 0.001603, 0.007535, -0.003663> + 2840: < 0.002015, 0.007610, -0.003255> + 2841: < 0.002405, 0.007519, -0.003227> + 2842: < 0.002380, 0.007374, -0.003601> + 2843: < 0.001995, 0.007462, -0.003634> + 2844: < 0.002405, 0.007519, -0.003227> + 2845: < 0.002787, 0.007412, -0.003195> + 2846: < 0.002758, 0.007270, -0.003565> + 2847: < 0.002380, 0.007374, -0.003601> + 2848: < 0.002787, 0.007412, -0.003195> + 2849: < 0.003162, 0.007290, -0.003162> + 2850: < 0.003127, 0.007152, -0.003526> + 2851: < 0.002758, 0.007270, -0.003565> + 2852: < 0.003162, 0.007290, -0.003162> + 2853: < 0.003526, 0.007152, -0.003127> + 2854: < 0.003486, 0.007018, -0.003486> + 2855: < 0.003127, 0.007152, -0.003526> + 2856: < 0.003526, 0.007152, -0.003127> + 2857: < 0.003880, 0.006998, -0.003093> + 2858: < 0.003834, 0.006870, -0.003446> + 2859: < 0.003486, 0.007018, -0.003486> + 2860: < 0.003880, 0.006998, -0.003093> + 2861: < 0.004223, 0.006828, -0.003060> + 2862: < 0.004170, 0.006705, -0.003407> + 2863: < 0.003834, 0.006870, -0.003446> + 2864: < 0.004223, 0.006828, -0.003060> + 2865: < 0.004553, 0.006641, -0.003030> + 2866: < 0.004494, 0.006525, -0.003372> + 2867: < 0.004170, 0.006705, -0.003407> + 2868: < 0.004553, 0.006641, -0.003030> + 2869: < 0.004870, 0.006439, -0.003004> + 2870: < 0.004804, 0.006329, -0.003342> + 2871: < 0.004494, 0.006525, -0.003372> + 2872: < 0.004870, 0.006439, -0.003004> + 2873: < 0.005172, 0.006219, -0.002984> + 2874: < 0.005099, 0.006117, -0.003318> + 2875: < 0.004804, 0.006329, -0.003342> + 2876: < 0.005172, 0.006219, -0.002984> + 2877: < 0.005459, 0.005983, -0.002971> + 2878: < 0.005379, 0.005888, -0.003302> + 2879: < 0.005099, 0.006117, -0.003318> + 2880: <-0.005379, 0.005888, -0.003302> + 2881: <-0.005099, 0.006117, -0.003318> + 2882: <-0.005023, 0.006006, -0.003637> + 2883: <-0.005294, 0.005786, -0.003619> + 2884: <-0.005099, 0.006117, -0.003318> + 2885: <-0.004804, 0.006329, -0.003342> + 2886: <-0.004736, 0.006210, -0.003666> + 2887: <-0.005023, 0.006006, -0.003637> + 2888: <-0.004804, 0.006329, -0.003342> + 2889: <-0.004494, 0.006525, -0.003372> + 2890: <-0.004434, 0.006397, -0.003701> + 2891: <-0.004736, 0.006210, -0.003666> + 2892: <-0.004494, 0.006525, -0.003372> + 2893: <-0.004170, 0.006705, -0.003407> + 2894: <-0.004117, 0.006570, -0.003743> + 2895: <-0.004434, 0.006397, -0.003701> + 2896: <-0.004170, 0.006705, -0.003407> + 2897: <-0.003834, 0.006870, -0.003446> + 2898: <-0.003788, 0.006727, -0.003788> + 2899: <-0.004117, 0.006570, -0.003743> + 2900: <-0.003834, 0.006870, -0.003446> + 2901: <-0.003486, 0.007018, -0.003486> + 2902: <-0.003446, 0.006870, -0.003834> + 2903: <-0.003788, 0.006727, -0.003788> + 2904: <-0.003486, 0.007018, -0.003486> + 2905: <-0.003127, 0.007152, -0.003526> + 2906: <-0.003093, 0.006998, -0.003880> + 2907: <-0.003446, 0.006870, -0.003834> + 2908: <-0.003127, 0.007152, -0.003526> + 2909: <-0.002758, 0.007270, -0.003565> + 2910: <-0.002729, 0.007112, -0.003924> + 2911: <-0.003093, 0.006998, -0.003880> + 2912: <-0.002758, 0.007270, -0.003565> + 2913: <-0.002380, 0.007374, -0.003601> + 2914: <-0.002356, 0.007212, -0.003965> + 2915: <-0.002729, 0.007112, -0.003924> + 2916: <-0.002380, 0.007374, -0.003601> + 2917: <-0.001995, 0.007462, -0.003634> + 2918: <-0.001975, 0.007297, -0.004002> + 2919: <-0.002356, 0.007212, -0.003965> + 2920: <-0.001995, 0.007462, -0.003634> + 2921: <-0.001603, 0.007535, -0.003663> + 2922: <-0.001588, 0.007367, -0.004034> + 2923: <-0.001975, 0.007297, -0.004002> + 2924: <-0.001603, 0.007535, -0.003663> + 2925: <-0.001207, 0.007591, -0.003686> + 2926: <-0.001196, 0.007423, -0.004061> + 2927: <-0.001588, 0.007367, -0.004034> + 2928: <-0.001207, 0.007591, -0.003686> + 2929: <-0.000807, 0.007632, -0.003704> + 2930: <-0.000799, 0.007462, -0.004081> + 2931: <-0.001196, 0.007423, -0.004061> + 2932: <-0.000807, 0.007632, -0.003704> + 2933: <-0.000404, 0.007657, -0.003716> + 2934: <-0.000400, 0.007487, -0.004093> + 2935: <-0.000799, 0.007462, -0.004081> + 2936: <-0.000404, 0.007657, -0.003716> + 2937: < 0.000000, 0.007665, -0.003720> + 2938: < 0.000000, 0.007495, -0.004098> + 2939: <-0.000400, 0.007487, -0.004093> + 2940: < 0.000000, 0.007665, -0.003720> + 2941: < 0.000404, 0.007657, -0.003716> + 2942: < 0.000400, 0.007487, -0.004093> + 2943: < 0.000000, 0.007495, -0.004098> + 2944: < 0.000404, 0.007657, -0.003716> + 2945: < 0.000807, 0.007632, -0.003704> + 2946: < 0.000799, 0.007462, -0.004081> + 2947: < 0.000400, 0.007487, -0.004093> + 2948: < 0.000807, 0.007632, -0.003704> + 2949: < 0.001207, 0.007591, -0.003686> + 2950: < 0.001196, 0.007423, -0.004061> + 2951: < 0.000799, 0.007462, -0.004081> + 2952: < 0.001207, 0.007591, -0.003686> + 2953: < 0.001603, 0.007535, -0.003663> + 2954: < 0.001588, 0.007367, -0.004034> + 2955: < 0.001196, 0.007423, -0.004061> + 2956: < 0.001603, 0.007535, -0.003663> + 2957: < 0.001995, 0.007462, -0.003634> + 2958: < 0.001975, 0.007297, -0.004002> + 2959: < 0.001588, 0.007367, -0.004034> + 2960: < 0.001995, 0.007462, -0.003634> + 2961: < 0.002380, 0.007374, -0.003601> + 2962: < 0.002356, 0.007212, -0.003965> + 2963: < 0.001975, 0.007297, -0.004002> + 2964: < 0.002380, 0.007374, -0.003601> + 2965: < 0.002758, 0.007270, -0.003565> + 2966: < 0.002729, 0.007112, -0.003924> + 2967: < 0.002356, 0.007212, -0.003965> + 2968: < 0.002758, 0.007270, -0.003565> + 2969: < 0.003127, 0.007152, -0.003526> + 2970: < 0.003093, 0.006998, -0.003880> + 2971: < 0.002729, 0.007112, -0.003924> + 2972: < 0.003127, 0.007152, -0.003526> + 2973: < 0.003486, 0.007018, -0.003486> + 2974: < 0.003446, 0.006870, -0.003834> + 2975: < 0.003093, 0.006998, -0.003880> + 2976: < 0.003486, 0.007018, -0.003486> + 2977: < 0.003834, 0.006870, -0.003446> + 2978: < 0.003788, 0.006727, -0.003788> + 2979: < 0.003446, 0.006870, -0.003834> + 2980: < 0.003834, 0.006870, -0.003446> + 2981: < 0.004170, 0.006705, -0.003407> + 2982: < 0.004117, 0.006570, -0.003743> + 2983: < 0.003788, 0.006727, -0.003788> + 2984: < 0.004170, 0.006705, -0.003407> + 2985: < 0.004494, 0.006525, -0.003372> + 2986: < 0.004434, 0.006397, -0.003701> + 2987: < 0.004117, 0.006570, -0.003743> + 2988: < 0.004494, 0.006525, -0.003372> + 2989: < 0.004804, 0.006329, -0.003342> + 2990: < 0.004736, 0.006210, -0.003666> + 2991: < 0.004434, 0.006397, -0.003701> + 2992: < 0.004804, 0.006329, -0.003342> + 2993: < 0.005099, 0.006117, -0.003318> + 2994: < 0.005023, 0.006006, -0.003637> + 2995: < 0.004736, 0.006210, -0.003666> + 2996: < 0.005099, 0.006117, -0.003318> + 2997: < 0.005379, 0.005888, -0.003302> + 2998: < 0.005294, 0.005786, -0.003619> + 2999: < 0.005023, 0.006006, -0.003637> + 3000: <-0.005294, 0.005786, -0.003619> + 3001: <-0.005023, 0.006006, -0.003637> + 3002: <-0.004946, 0.005887, -0.003941> + 3003: <-0.005207, 0.005678, -0.003918> + 3004: <-0.005023, 0.006006, -0.003637> + 3005: <-0.004736, 0.006210, -0.003666> + 3006: <-0.004668, 0.006080, -0.003975> + 3007: <-0.004946, 0.005887, -0.003941> + 3008: <-0.004736, 0.006210, -0.003666> + 3009: <-0.004434, 0.006397, -0.003701> + 3010: <-0.004374, 0.006257, -0.004017> + 3011: <-0.004668, 0.006080, -0.003975> + 3012: <-0.004434, 0.006397, -0.003701> + 3013: <-0.004117, 0.006570, -0.003743> + 3014: <-0.004065, 0.006421, -0.004065> + 3015: <-0.004374, 0.006257, -0.004017> + 3016: <-0.004117, 0.006570, -0.003743> + 3017: <-0.003788, 0.006727, -0.003788> + 3018: <-0.003743, 0.006570, -0.004117> + 3019: <-0.004065, 0.006421, -0.004065> + 3020: <-0.003788, 0.006727, -0.003788> + 3021: <-0.003446, 0.006870, -0.003834> + 3022: <-0.003407, 0.006705, -0.004170> + 3023: <-0.003743, 0.006570, -0.004117> + 3024: <-0.003446, 0.006870, -0.003834> + 3025: <-0.003093, 0.006998, -0.003880> + 3026: <-0.003060, 0.006828, -0.004223> + 3027: <-0.003407, 0.006705, -0.004170> + 3028: <-0.003093, 0.006998, -0.003880> + 3029: <-0.002729, 0.007112, -0.003924> + 3030: <-0.002701, 0.006937, -0.004273> + 3031: <-0.003060, 0.006828, -0.004223> + 3032: <-0.002729, 0.007112, -0.003924> + 3033: <-0.002356, 0.007212, -0.003965> + 3034: <-0.002333, 0.007033, -0.004318> + 3035: <-0.002701, 0.006937, -0.004273> + 3036: <-0.002356, 0.007212, -0.003965> + 3037: <-0.001975, 0.007297, -0.004002> + 3038: <-0.001957, 0.007115, -0.004360> + 3039: <-0.002333, 0.007033, -0.004318> + 3040: <-0.001975, 0.007297, -0.004002> + 3041: <-0.001588, 0.007367, -0.004034> + 3042: <-0.001574, 0.007183, -0.004395> + 3043: <-0.001957, 0.007115, -0.004360> + 3044: <-0.001588, 0.007367, -0.004034> + 3045: <-0.001196, 0.007423, -0.004061> + 3046: <-0.001185, 0.007236, -0.004424> + 3047: <-0.001574, 0.007183, -0.004395> + 3048: <-0.001196, 0.007423, -0.004061> + 3049: <-0.000799, 0.007462, -0.004081> + 3050: <-0.000792, 0.007275, -0.004446> + 3051: <-0.001185, 0.007236, -0.004424> + 3052: <-0.000799, 0.007462, -0.004081> + 3053: <-0.000400, 0.007487, -0.004093> + 3054: <-0.000397, 0.007298, -0.004460> + 3055: <-0.000792, 0.007275, -0.004446> + 3056: <-0.000400, 0.007487, -0.004093> + 3057: < 0.000000, 0.007495, -0.004098> + 3058: < 0.000000, 0.007306, -0.004465> + 3059: <-0.000397, 0.007298, -0.004460> + 3060: < 0.000000, 0.007495, -0.004098> + 3061: < 0.000400, 0.007487, -0.004093> + 3062: < 0.000397, 0.007298, -0.004460> + 3063: < 0.000000, 0.007306, -0.004465> + 3064: < 0.000400, 0.007487, -0.004093> + 3065: < 0.000799, 0.007462, -0.004081> + 3066: < 0.000792, 0.007275, -0.004446> + 3067: < 0.000397, 0.007298, -0.004460> + 3068: < 0.000799, 0.007462, -0.004081> + 3069: < 0.001196, 0.007423, -0.004061> + 3070: < 0.001185, 0.007236, -0.004424> + 3071: < 0.000792, 0.007275, -0.004446> + 3072: < 0.001196, 0.007423, -0.004061> + 3073: < 0.001588, 0.007367, -0.004034> + 3074: < 0.001574, 0.007183, -0.004395> + 3075: < 0.001185, 0.007236, -0.004424> + 3076: < 0.001588, 0.007367, -0.004034> + 3077: < 0.001975, 0.007297, -0.004002> + 3078: < 0.001957, 0.007115, -0.004360> + 3079: < 0.001574, 0.007183, -0.004395> + 3080: < 0.001975, 0.007297, -0.004002> + 3081: < 0.002356, 0.007212, -0.003965> + 3082: < 0.002333, 0.007033, -0.004318> + 3083: < 0.001957, 0.007115, -0.004360> + 3084: < 0.002356, 0.007212, -0.003965> + 3085: < 0.002729, 0.007112, -0.003924> + 3086: < 0.002701, 0.006937, -0.004273> + 3087: < 0.002333, 0.007033, -0.004318> + 3088: < 0.002729, 0.007112, -0.003924> + 3089: < 0.003093, 0.006998, -0.003880> + 3090: < 0.003060, 0.006828, -0.004223> + 3091: < 0.002701, 0.006937, -0.004273> + 3092: < 0.003093, 0.006998, -0.003880> + 3093: < 0.003446, 0.006870, -0.003834> + 3094: < 0.003407, 0.006705, -0.004170> + 3095: < 0.003060, 0.006828, -0.004223> + 3096: < 0.003446, 0.006870, -0.003834> + 3097: < 0.003788, 0.006727, -0.003788> + 3098: < 0.003743, 0.006570, -0.004117> + 3099: < 0.003407, 0.006705, -0.004170> + 3100: < 0.003788, 0.006727, -0.003788> + 3101: < 0.004117, 0.006570, -0.003743> + 3102: < 0.004065, 0.006421, -0.004065> + 3103: < 0.003743, 0.006570, -0.004117> + 3104: < 0.004117, 0.006570, -0.003743> + 3105: < 0.004434, 0.006397, -0.003701> + 3106: < 0.004374, 0.006257, -0.004017> + 3107: < 0.004065, 0.006421, -0.004065> + 3108: < 0.004434, 0.006397, -0.003701> + 3109: < 0.004736, 0.006210, -0.003666> + 3110: < 0.004668, 0.006080, -0.003975> + 3111: < 0.004374, 0.006257, -0.004017> + 3112: < 0.004736, 0.006210, -0.003666> + 3113: < 0.005023, 0.006006, -0.003637> + 3114: < 0.004946, 0.005887, -0.003941> + 3115: < 0.004668, 0.006080, -0.003975> + 3116: < 0.005023, 0.006006, -0.003637> + 3117: < 0.005294, 0.005786, -0.003619> + 3118: < 0.005207, 0.005678, -0.003918> + 3119: < 0.004946, 0.005887, -0.003941> + 3120: <-0.005207, 0.005678, -0.003918> + 3121: <-0.004946, 0.005887, -0.003941> + 3122: <-0.004870, 0.005760, -0.004226> + 3123: <-0.005120, 0.005564, -0.004199> + 3124: <-0.004946, 0.005887, -0.003941> + 3125: <-0.004668, 0.006080, -0.003975> + 3126: <-0.004602, 0.005939, -0.004267> + 3127: <-0.004870, 0.005760, -0.004226> + 3128: <-0.004668, 0.006080, -0.003975> + 3129: <-0.004374, 0.006257, -0.004017> + 3130: <-0.004318, 0.006105, -0.004318> + 3131: <-0.004602, 0.005939, -0.004267> + 3132: <-0.004374, 0.006257, -0.004017> + 3133: <-0.004065, 0.006421, -0.004065> + 3134: <-0.004017, 0.006257, -0.004374> + 3135: <-0.004318, 0.006105, -0.004318> + 3136: <-0.004065, 0.006421, -0.004065> + 3137: <-0.003743, 0.006570, -0.004117> + 3138: <-0.003701, 0.006397, -0.004434> + 3139: <-0.004017, 0.006257, -0.004374> + 3140: <-0.003743, 0.006570, -0.004117> + 3141: <-0.003407, 0.006705, -0.004170> + 3142: <-0.003372, 0.006525, -0.004494> + 3143: <-0.003701, 0.006397, -0.004434> + 3144: <-0.003407, 0.006705, -0.004170> + 3145: <-0.003060, 0.006828, -0.004223> + 3146: <-0.003030, 0.006641, -0.004553> + 3147: <-0.003372, 0.006525, -0.004494> + 3148: <-0.003060, 0.006828, -0.004223> + 3149: <-0.002701, 0.006937, -0.004273> + 3150: <-0.002676, 0.006745, -0.004609> + 3151: <-0.003030, 0.006641, -0.004553> + 3152: <-0.002701, 0.006937, -0.004273> + 3153: <-0.002333, 0.007033, -0.004318> + 3154: <-0.002313, 0.006836, -0.004659> + 3155: <-0.002676, 0.006745, -0.004609> + 3156: <-0.002333, 0.007033, -0.004318> + 3157: <-0.001957, 0.007115, -0.004360> + 3158: <-0.001940, 0.006915, -0.004705> + 3159: <-0.002313, 0.006836, -0.004659> + 3160: <-0.001957, 0.007115, -0.004360> + 3161: <-0.001574, 0.007183, -0.004395> + 3162: <-0.001561, 0.006980, -0.004744> + 3163: <-0.001940, 0.006915, -0.004705> + 3164: <-0.001574, 0.007183, -0.004395> + 3165: <-0.001185, 0.007236, -0.004424> + 3166: <-0.001176, 0.007032, -0.004776> + 3167: <-0.001561, 0.006980, -0.004744> + 3168: <-0.001185, 0.007236, -0.004424> + 3169: <-0.000792, 0.007275, -0.004446> + 3170: <-0.000786, 0.007069, -0.004800> + 3171: <-0.001176, 0.007032, -0.004776> + 3172: <-0.000792, 0.007275, -0.004446> + 3173: <-0.000397, 0.007298, -0.004460> + 3174: <-0.000394, 0.007092, -0.004815> + 3175: <-0.000786, 0.007069, -0.004800> + 3176: <-0.000397, 0.007298, -0.004460> + 3177: < 0.000000, 0.007306, -0.004465> + 3178: < 0.000000, 0.007099, -0.004820> + 3179: <-0.000394, 0.007092, -0.004815> + 3180: < 0.000000, 0.007306, -0.004465> + 3181: < 0.000397, 0.007298, -0.004460> + 3182: < 0.000394, 0.007092, -0.004815> + 3183: < 0.000000, 0.007099, -0.004820> + 3184: < 0.000397, 0.007298, -0.004460> + 3185: < 0.000792, 0.007275, -0.004446> + 3186: < 0.000786, 0.007069, -0.004800> + 3187: < 0.000394, 0.007092, -0.004815> + 3188: < 0.000792, 0.007275, -0.004446> + 3189: < 0.001185, 0.007236, -0.004424> + 3190: < 0.001176, 0.007032, -0.004776> + 3191: < 0.000786, 0.007069, -0.004800> + 3192: < 0.001185, 0.007236, -0.004424> + 3193: < 0.001574, 0.007183, -0.004395> + 3194: < 0.001561, 0.006980, -0.004744> + 3195: < 0.001176, 0.007032, -0.004776> + 3196: < 0.001574, 0.007183, -0.004395> + 3197: < 0.001957, 0.007115, -0.004360> + 3198: < 0.001940, 0.006915, -0.004705> + 3199: < 0.001561, 0.006980, -0.004744> + 3200: < 0.001957, 0.007115, -0.004360> + 3201: < 0.002333, 0.007033, -0.004318> + 3202: < 0.002313, 0.006836, -0.004659> + 3203: < 0.001940, 0.006915, -0.004705> + 3204: < 0.002333, 0.007033, -0.004318> + 3205: < 0.002701, 0.006937, -0.004273> + 3206: < 0.002676, 0.006745, -0.004609> + 3207: < 0.002313, 0.006836, -0.004659> + 3208: < 0.002701, 0.006937, -0.004273> + 3209: < 0.003060, 0.006828, -0.004223> + 3210: < 0.003030, 0.006641, -0.004553> + 3211: < 0.002676, 0.006745, -0.004609> + 3212: < 0.003060, 0.006828, -0.004223> + 3213: < 0.003407, 0.006705, -0.004170> + 3214: < 0.003372, 0.006525, -0.004494> + 3215: < 0.003030, 0.006641, -0.004553> + 3216: < 0.003407, 0.006705, -0.004170> + 3217: < 0.003743, 0.006570, -0.004117> + 3218: < 0.003701, 0.006397, -0.004434> + 3219: < 0.003372, 0.006525, -0.004494> + 3220: < 0.003743, 0.006570, -0.004117> + 3221: < 0.004065, 0.006421, -0.004065> + 3222: < 0.004017, 0.006257, -0.004374> + 3223: < 0.003701, 0.006397, -0.004434> + 3224: < 0.004065, 0.006421, -0.004065> + 3225: < 0.004374, 0.006257, -0.004017> + 3226: < 0.004318, 0.006105, -0.004318> + 3227: < 0.004017, 0.006257, -0.004374> + 3228: < 0.004374, 0.006257, -0.004017> + 3229: < 0.004668, 0.006080, -0.003975> + 3230: < 0.004602, 0.005939, -0.004267> + 3231: < 0.004318, 0.006105, -0.004318> + 3232: < 0.004668, 0.006080, -0.003975> + 3233: < 0.004946, 0.005887, -0.003941> + 3234: < 0.004870, 0.005760, -0.004226> + 3235: < 0.004602, 0.005939, -0.004267> + 3236: < 0.004946, 0.005887, -0.003941> + 3237: < 0.005207, 0.005678, -0.003918> + 3238: < 0.005120, 0.005564, -0.004199> + 3239: < 0.004870, 0.005760, -0.004226> + 3240: <-0.005120, 0.005564, -0.004199> + 3241: <-0.004870, 0.005760, -0.004226> + 3242: <-0.004798, 0.005623, -0.004494> + 3243: <-0.005034, 0.005446, -0.004460> + 3244: <-0.004870, 0.005760, -0.004226> + 3245: <-0.004602, 0.005939, -0.004267> + 3246: <-0.004542, 0.005788, -0.004542> + 3247: <-0.004798, 0.005623, -0.004494> + 3248: <-0.004602, 0.005939, -0.004267> + 3249: <-0.004318, 0.006105, -0.004318> + 3250: <-0.004267, 0.005939, -0.004602> + 3251: <-0.004542, 0.005788, -0.004542> + 3252: <-0.004318, 0.006105, -0.004318> + 3253: <-0.004017, 0.006257, -0.004374> + 3254: <-0.003975, 0.006080, -0.004668> + 3255: <-0.004267, 0.005939, -0.004602> + 3256: <-0.004017, 0.006257, -0.004374> + 3257: <-0.003701, 0.006397, -0.004434> + 3258: <-0.003666, 0.006210, -0.004736> + 3259: <-0.003975, 0.006080, -0.004668> + 3260: <-0.003701, 0.006397, -0.004434> + 3261: <-0.003372, 0.006525, -0.004494> + 3262: <-0.003342, 0.006329, -0.004804> + 3263: <-0.003666, 0.006210, -0.004736> + 3264: <-0.003372, 0.006525, -0.004494> + 3265: <-0.003030, 0.006641, -0.004553> + 3266: <-0.003004, 0.006439, -0.004870> + 3267: <-0.003342, 0.006329, -0.004804> + 3268: <-0.003030, 0.006641, -0.004553> + 3269: <-0.002676, 0.006745, -0.004609> + 3270: <-0.002655, 0.006537, -0.004931> + 3271: <-0.003004, 0.006439, -0.004870> + 3272: <-0.002676, 0.006745, -0.004609> + 3273: <-0.002313, 0.006836, -0.004659> + 3274: <-0.002295, 0.006623, -0.004987> + 3275: <-0.002655, 0.006537, -0.004931> + 3276: <-0.002313, 0.006836, -0.004659> + 3277: <-0.001940, 0.006915, -0.004705> + 3278: <-0.001926, 0.006698, -0.005037> + 3279: <-0.002295, 0.006623, -0.004987> + 3280: <-0.001940, 0.006915, -0.004705> + 3281: <-0.001561, 0.006980, -0.004744> + 3282: <-0.001550, 0.006761, -0.005080> + 3283: <-0.001926, 0.006698, -0.005037> + 3284: <-0.001561, 0.006980, -0.004744> + 3285: <-0.001176, 0.007032, -0.004776> + 3286: <-0.001168, 0.006810, -0.005114> + 3287: <-0.001550, 0.006761, -0.005080> + 3288: <-0.001176, 0.007032, -0.004776> + 3289: <-0.000786, 0.007069, -0.004800> + 3290: <-0.000781, 0.006846, -0.005140> + 3291: <-0.001168, 0.006810, -0.005114> + 3292: <-0.000786, 0.007069, -0.004800> + 3293: <-0.000394, 0.007092, -0.004815> + 3294: <-0.000391, 0.006868, -0.005156> + 3295: <-0.000781, 0.006846, -0.005140> + 3296: <-0.000394, 0.007092, -0.004815> + 3297: < 0.000000, 0.007099, -0.004820> + 3298: < 0.000000, 0.006875, -0.005162> + 3299: <-0.000391, 0.006868, -0.005156> + 3300: < 0.000000, 0.007099, -0.004820> + 3301: < 0.000394, 0.007092, -0.004815> + 3302: < 0.000391, 0.006868, -0.005156> + 3303: < 0.000000, 0.006875, -0.005162> + 3304: < 0.000394, 0.007092, -0.004815> + 3305: < 0.000786, 0.007069, -0.004800> + 3306: < 0.000781, 0.006846, -0.005140> + 3307: < 0.000391, 0.006868, -0.005156> + 3308: < 0.000786, 0.007069, -0.004800> + 3309: < 0.001176, 0.007032, -0.004776> + 3310: < 0.001168, 0.006810, -0.005114> + 3311: < 0.000781, 0.006846, -0.005140> + 3312: < 0.001176, 0.007032, -0.004776> + 3313: < 0.001561, 0.006980, -0.004744> + 3314: < 0.001550, 0.006761, -0.005080> + 3315: < 0.001168, 0.006810, -0.005114> + 3316: < 0.001561, 0.006980, -0.004744> + 3317: < 0.001940, 0.006915, -0.004705> + 3318: < 0.001926, 0.006698, -0.005037> + 3319: < 0.001550, 0.006761, -0.005080> + 3320: < 0.001940, 0.006915, -0.004705> + 3321: < 0.002313, 0.006836, -0.004659> + 3322: < 0.002295, 0.006623, -0.004987> + 3323: < 0.001926, 0.006698, -0.005037> + 3324: < 0.002313, 0.006836, -0.004659> + 3325: < 0.002676, 0.006745, -0.004609> + 3326: < 0.002655, 0.006537, -0.004931> + 3327: < 0.002295, 0.006623, -0.004987> + 3328: < 0.002676, 0.006745, -0.004609> + 3329: < 0.003030, 0.006641, -0.004553> + 3330: < 0.003004, 0.006439, -0.004870> + 3331: < 0.002655, 0.006537, -0.004931> + 3332: < 0.003030, 0.006641, -0.004553> + 3333: < 0.003372, 0.006525, -0.004494> + 3334: < 0.003342, 0.006329, -0.004804> + 3335: < 0.003004, 0.006439, -0.004870> + 3336: < 0.003372, 0.006525, -0.004494> + 3337: < 0.003701, 0.006397, -0.004434> + 3338: < 0.003666, 0.006210, -0.004736> + 3339: < 0.003342, 0.006329, -0.004804> + 3340: < 0.003701, 0.006397, -0.004434> + 3341: < 0.004017, 0.006257, -0.004374> + 3342: < 0.003975, 0.006080, -0.004668> + 3343: < 0.003666, 0.006210, -0.004736> + 3344: < 0.004017, 0.006257, -0.004374> + 3345: < 0.004318, 0.006105, -0.004318> + 3346: < 0.004267, 0.005939, -0.004602> + 3347: < 0.003975, 0.006080, -0.004668> + 3348: < 0.004318, 0.006105, -0.004318> + 3349: < 0.004602, 0.005939, -0.004267> + 3350: < 0.004542, 0.005788, -0.004542> + 3351: < 0.004267, 0.005939, -0.004602> + 3352: < 0.004602, 0.005939, -0.004267> + 3353: < 0.004870, 0.005760, -0.004226> + 3354: < 0.004798, 0.005623, -0.004494> + 3355: < 0.004542, 0.005788, -0.004542> + 3356: < 0.004870, 0.005760, -0.004226> + 3357: < 0.005120, 0.005564, -0.004199> + 3358: < 0.005034, 0.005446, -0.004460> + 3359: < 0.004798, 0.005623, -0.004494> + 3360: <-0.005034, 0.005446, -0.004460> + 3361: <-0.004798, 0.005623, -0.004494> + 3362: <-0.004738, 0.005479, -0.004738> + 3363: <-0.004959, 0.005326, -0.004691> + 3364: <-0.004798, 0.005623, -0.004494> + 3365: <-0.004542, 0.005788, -0.004542> + 3366: <-0.004494, 0.005623, -0.004798> + 3367: <-0.004738, 0.005479, -0.004738> + 3368: <-0.004542, 0.005788, -0.004542> + 3369: <-0.004267, 0.005939, -0.004602> + 3370: <-0.004226, 0.005760, -0.004870> + 3371: <-0.004494, 0.005623, -0.004798> + 3372: <-0.004267, 0.005939, -0.004602> + 3373: <-0.003975, 0.006080, -0.004668> + 3374: <-0.003941, 0.005887, -0.004946> + 3375: <-0.004226, 0.005760, -0.004870> + 3376: <-0.003975, 0.006080, -0.004668> + 3377: <-0.003666, 0.006210, -0.004736> + 3378: <-0.003637, 0.006006, -0.005023> + 3379: <-0.003941, 0.005887, -0.004946> + 3380: <-0.003666, 0.006210, -0.004736> + 3381: <-0.003342, 0.006329, -0.004804> + 3382: <-0.003318, 0.006117, -0.005099> + 3383: <-0.003637, 0.006006, -0.005023> + 3384: <-0.003342, 0.006329, -0.004804> + 3385: <-0.003004, 0.006439, -0.004870> + 3386: <-0.002984, 0.006219, -0.005172> + 3387: <-0.003318, 0.006117, -0.005099> + 3388: <-0.003004, 0.006439, -0.004870> + 3389: <-0.002655, 0.006537, -0.004931> + 3390: <-0.002638, 0.006311, -0.005240> + 3391: <-0.002984, 0.006219, -0.005172> + 3392: <-0.002655, 0.006537, -0.004931> + 3393: <-0.002295, 0.006623, -0.004987> + 3394: <-0.002281, 0.006393, -0.005301> + 3395: <-0.002638, 0.006311, -0.005240> + 3396: <-0.002295, 0.006623, -0.004987> + 3397: <-0.001926, 0.006698, -0.005037> + 3398: <-0.001915, 0.006464, -0.005355> + 3399: <-0.002281, 0.006393, -0.005301> + 3400: <-0.001926, 0.006698, -0.005037> + 3401: <-0.001550, 0.006761, -0.005080> + 3402: <-0.001541, 0.006523, -0.005401> + 3403: <-0.001915, 0.006464, -0.005355> + 3404: <-0.001550, 0.006761, -0.005080> + 3405: <-0.001168, 0.006810, -0.005114> + 3406: <-0.001161, 0.006570, -0.005438> + 3407: <-0.001541, 0.006523, -0.005401> + 3408: <-0.001168, 0.006810, -0.005114> + 3409: <-0.000781, 0.006846, -0.005140> + 3410: <-0.000777, 0.006605, -0.005466> + 3411: <-0.001161, 0.006570, -0.005438> + 3412: <-0.000781, 0.006846, -0.005140> + 3413: <-0.000391, 0.006868, -0.005156> + 3414: <-0.000389, 0.006626, -0.005483> + 3415: <-0.000777, 0.006605, -0.005466> + 3416: <-0.000391, 0.006868, -0.005156> + 3417: < 0.000000, 0.006875, -0.005162> + 3418: < 0.000000, 0.006633, -0.005489> + 3419: <-0.000389, 0.006626, -0.005483> + 3420: < 0.000000, 0.006875, -0.005162> + 3421: < 0.000391, 0.006868, -0.005156> + 3422: < 0.000389, 0.006626, -0.005483> + 3423: < 0.000000, 0.006633, -0.005489> + 3424: < 0.000391, 0.006868, -0.005156> + 3425: < 0.000781, 0.006846, -0.005140> + 3426: < 0.000777, 0.006605, -0.005466> + 3427: < 0.000389, 0.006626, -0.005483> + 3428: < 0.000781, 0.006846, -0.005140> + 3429: < 0.001168, 0.006810, -0.005114> + 3430: < 0.001161, 0.006570, -0.005438> + 3431: < 0.000777, 0.006605, -0.005466> + 3432: < 0.001168, 0.006810, -0.005114> + 3433: < 0.001550, 0.006761, -0.005080> + 3434: < 0.001541, 0.006523, -0.005401> + 3435: < 0.001161, 0.006570, -0.005438> + 3436: < 0.001550, 0.006761, -0.005080> + 3437: < 0.001926, 0.006698, -0.005037> + 3438: < 0.001915, 0.006464, -0.005355> + 3439: < 0.001541, 0.006523, -0.005401> + 3440: < 0.001926, 0.006698, -0.005037> + 3441: < 0.002295, 0.006623, -0.004987> + 3442: < 0.002281, 0.006393, -0.005301> + 3443: < 0.001915, 0.006464, -0.005355> + 3444: < 0.002295, 0.006623, -0.004987> + 3445: < 0.002655, 0.006537, -0.004931> + 3446: < 0.002638, 0.006311, -0.005240> + 3447: < 0.002281, 0.006393, -0.005301> + 3448: < 0.002655, 0.006537, -0.004931> + 3449: < 0.003004, 0.006439, -0.004870> + 3450: < 0.002984, 0.006219, -0.005172> + 3451: < 0.002638, 0.006311, -0.005240> + 3452: < 0.003004, 0.006439, -0.004870> + 3453: < 0.003342, 0.006329, -0.004804> + 3454: < 0.003318, 0.006117, -0.005099> + 3455: < 0.002984, 0.006219, -0.005172> + 3456: < 0.003342, 0.006329, -0.004804> + 3457: < 0.003666, 0.006210, -0.004736> + 3458: < 0.003637, 0.006006, -0.005023> + 3459: < 0.003318, 0.006117, -0.005099> + 3460: < 0.003666, 0.006210, -0.004736> + 3461: < 0.003975, 0.006080, -0.004668> + 3462: < 0.003941, 0.005887, -0.004946> + 3463: < 0.003637, 0.006006, -0.005023> + 3464: < 0.003975, 0.006080, -0.004668> + 3465: < 0.004267, 0.005939, -0.004602> + 3466: < 0.004226, 0.005760, -0.004870> + 3467: < 0.003941, 0.005887, -0.004946> + 3468: < 0.004267, 0.005939, -0.004602> + 3469: < 0.004542, 0.005788, -0.004542> + 3470: < 0.004494, 0.005623, -0.004798> + 3471: < 0.004226, 0.005760, -0.004870> + 3472: < 0.004542, 0.005788, -0.004542> + 3473: < 0.004798, 0.005623, -0.004494> + 3474: < 0.004738, 0.005479, -0.004738> + 3475: < 0.004494, 0.005623, -0.004798> + 3476: < 0.004798, 0.005623, -0.004494> + 3477: < 0.005034, 0.005446, -0.004460> + 3478: < 0.004959, 0.005326, -0.004691> + 3479: < 0.004738, 0.005479, -0.004738> + 3480: <-0.004959, 0.005326, -0.004691> + 3481: <-0.004738, 0.005479, -0.004738> + 3482: <-0.004691, 0.005326, -0.004959> + 3483: <-0.004894, 0.005206, -0.004894> + 3484: <-0.004738, 0.005479, -0.004738> + 3485: <-0.004494, 0.005623, -0.004798> + 3486: <-0.004460, 0.005446, -0.005034> + 3487: <-0.004691, 0.005326, -0.004959> + 3488: <-0.004494, 0.005623, -0.004798> + 3489: <-0.004226, 0.005760, -0.004870> + 3490: <-0.004199, 0.005564, -0.005120> + 3491: <-0.004460, 0.005446, -0.005034> + 3492: <-0.004226, 0.005760, -0.004870> + 3493: <-0.003941, 0.005887, -0.004946> + 3494: <-0.003918, 0.005678, -0.005207> + 3495: <-0.004199, 0.005564, -0.005120> + 3496: <-0.003941, 0.005887, -0.004946> + 3497: <-0.003637, 0.006006, -0.005023> + 3498: <-0.003619, 0.005786, -0.005294> + 3499: <-0.003918, 0.005678, -0.005207> + 3500: <-0.003637, 0.006006, -0.005023> + 3501: <-0.003318, 0.006117, -0.005099> + 3502: <-0.003302, 0.005888, -0.005379> + 3503: <-0.003619, 0.005786, -0.005294> + 3504: <-0.003318, 0.006117, -0.005099> + 3505: <-0.002984, 0.006219, -0.005172> + 3506: <-0.002971, 0.005983, -0.005459> + 3507: <-0.003302, 0.005888, -0.005379> + 3508: <-0.002984, 0.006219, -0.005172> + 3509: <-0.002638, 0.006311, -0.005240> + 3510: <-0.002627, 0.006069, -0.005533> + 3511: <-0.002971, 0.005983, -0.005459> + 3512: <-0.002638, 0.006311, -0.005240> + 3513: <-0.002281, 0.006393, -0.005301> + 3514: <-0.002272, 0.006146, -0.005599> + 3515: <-0.002627, 0.006069, -0.005533> + 3516: <-0.002281, 0.006393, -0.005301> + 3517: <-0.001915, 0.006464, -0.005355> + 3518: <-0.001908, 0.006212, -0.005657> + 3519: <-0.002272, 0.006146, -0.005599> + 3520: <-0.001915, 0.006464, -0.005355> + 3521: <-0.001541, 0.006523, -0.005401> + 3522: <-0.001536, 0.006269, -0.005707> + 3523: <-0.001908, 0.006212, -0.005657> + 3524: <-0.001541, 0.006523, -0.005401> + 3525: <-0.001161, 0.006570, -0.005438> + 3526: <-0.001157, 0.006313, -0.005747> + 3527: <-0.001536, 0.006269, -0.005707> + 3528: <-0.001161, 0.006570, -0.005438> + 3529: <-0.000777, 0.006605, -0.005466> + 3530: <-0.000774, 0.006346, -0.005776> + 3531: <-0.001157, 0.006313, -0.005747> + 3532: <-0.000777, 0.006605, -0.005466> + 3533: <-0.000389, 0.006626, -0.005483> + 3534: <-0.000388, 0.006366, -0.005794> + 3535: <-0.000774, 0.006346, -0.005776> + 3536: <-0.000389, 0.006626, -0.005483> + 3537: < 0.000000, 0.006633, -0.005489> + 3538: <-0.000000, 0.006373, -0.005801> + 3539: <-0.000388, 0.006366, -0.005794> + 3540: < 0.000000, 0.006633, -0.005489> + 3541: < 0.000389, 0.006626, -0.005483> + 3542: < 0.000388, 0.006366, -0.005794> + 3543: <-0.000000, 0.006373, -0.005801> + 3544: < 0.000389, 0.006626, -0.005483> + 3545: < 0.000777, 0.006605, -0.005466> + 3546: < 0.000774, 0.006346, -0.005776> + 3547: < 0.000388, 0.006366, -0.005794> + 3548: < 0.000777, 0.006605, -0.005466> + 3549: < 0.001161, 0.006570, -0.005438> + 3550: < 0.001157, 0.006313, -0.005747> + 3551: < 0.000774, 0.006346, -0.005776> + 3552: < 0.001161, 0.006570, -0.005438> + 3553: < 0.001541, 0.006523, -0.005401> + 3554: < 0.001536, 0.006269, -0.005707> + 3555: < 0.001157, 0.006313, -0.005747> + 3556: < 0.001541, 0.006523, -0.005401> + 3557: < 0.001915, 0.006464, -0.005355> + 3558: < 0.001908, 0.006212, -0.005657> + 3559: < 0.001536, 0.006269, -0.005707> + 3560: < 0.001915, 0.006464, -0.005355> + 3561: < 0.002281, 0.006393, -0.005301> + 3562: < 0.002272, 0.006146, -0.005599> + 3563: < 0.001908, 0.006212, -0.005657> + 3564: < 0.002281, 0.006393, -0.005301> + 3565: < 0.002638, 0.006311, -0.005240> + 3566: < 0.002627, 0.006069, -0.005533> + 3567: < 0.002272, 0.006146, -0.005599> + 3568: < 0.002638, 0.006311, -0.005240> + 3569: < 0.002984, 0.006219, -0.005172> + 3570: < 0.002971, 0.005983, -0.005459> + 3571: < 0.002627, 0.006069, -0.005533> + 3572: < 0.002984, 0.006219, -0.005172> + 3573: < 0.003318, 0.006117, -0.005099> + 3574: < 0.003302, 0.005888, -0.005379> + 3575: < 0.002971, 0.005983, -0.005459> + 3576: < 0.003318, 0.006117, -0.005099> + 3577: < 0.003637, 0.006006, -0.005023> + 3578: < 0.003619, 0.005786, -0.005294> + 3579: < 0.003302, 0.005888, -0.005379> + 3580: < 0.003637, 0.006006, -0.005023> + 3581: < 0.003941, 0.005887, -0.004946> + 3582: < 0.003918, 0.005678, -0.005207> + 3583: < 0.003619, 0.005786, -0.005294> + 3584: < 0.003941, 0.005887, -0.004946> + 3585: < 0.004226, 0.005760, -0.004870> + 3586: < 0.004199, 0.005564, -0.005120> + 3587: < 0.003918, 0.005678, -0.005207> + 3588: < 0.004226, 0.005760, -0.004870> + 3589: < 0.004494, 0.005623, -0.004798> + 3590: < 0.004460, 0.005446, -0.005034> + 3591: < 0.004199, 0.005564, -0.005120> + 3592: < 0.004494, 0.005623, -0.004798> + 3593: < 0.004738, 0.005479, -0.004738> + 3594: < 0.004691, 0.005326, -0.004959> + 3595: < 0.004460, 0.005446, -0.005034> + 3596: < 0.004738, 0.005479, -0.004738> + 3597: < 0.004959, 0.005326, -0.004691> + 3598: < 0.004894, 0.005206, -0.004894> + 3599: < 0.004691, 0.005326, -0.004959> + 3600: <-0.005000, 0.005000, 0.005000> + 3601: <-0.004833, 0.005081, 0.005081> + 3602: <-0.004894, 0.005206, 0.004894> + 3603: <-0.005081, 0.005081, 0.004833> + 3604: <-0.004833, 0.005081, 0.005081> + 3605: <-0.004647, 0.005166, 0.005166> + 3606: <-0.004691, 0.005326, 0.004959> + 3607: <-0.004894, 0.005206, 0.004894> + 3608: <-0.004647, 0.005166, 0.005166> + 3609: <-0.004436, 0.005255, 0.005255> + 3610: <-0.004460, 0.005446, 0.005034> + 3611: <-0.004691, 0.005326, 0.004959> + 3612: <-0.004436, 0.005255, 0.005255> + 3613: <-0.004188, 0.005351, 0.005351> + 3614: <-0.004199, 0.005564, 0.005120> + 3615: <-0.004460, 0.005446, 0.005034> + 3616: <-0.004188, 0.005351, 0.005351> + 3617: <-0.003910, 0.005451, 0.005451> + 3618: <-0.003918, 0.005678, 0.005207> + 3619: <-0.004199, 0.005564, 0.005120> + 3620: <-0.003910, 0.005451, 0.005451> + 3621: <-0.003612, 0.005549, 0.005549> + 3622: <-0.003619, 0.005786, 0.005294> + 3623: <-0.003918, 0.005678, 0.005207> + 3624: <-0.003612, 0.005549, 0.005549> + 3625: <-0.003297, 0.005642, 0.005642> + 3626: <-0.003302, 0.005888, 0.005379> + 3627: <-0.003619, 0.005786, 0.005294> + 3628: <-0.003297, 0.005642, 0.005642> + 3629: <-0.002966, 0.005729, 0.005729> + 3630: <-0.002971, 0.005983, 0.005459> + 3631: <-0.003302, 0.005888, 0.005379> + 3632: <-0.002966, 0.005729, 0.005729> + 3633: <-0.002623, 0.005809, 0.005809> + 3634: <-0.002627, 0.006069, 0.005533> + 3635: <-0.002971, 0.005983, 0.005459> + 3636: <-0.002623, 0.005809, 0.005809> + 3637: <-0.002269, 0.005881, 0.005881> + 3638: <-0.002272, 0.006146, 0.005599> + 3639: <-0.002627, 0.006069, 0.005533> + 3640: <-0.002269, 0.005881, 0.005881> + 3641: <-0.001906, 0.005944, 0.005944> + 3642: <-0.001908, 0.006212, 0.005657> + 3643: <-0.002272, 0.006146, 0.005599> + 3644: <-0.001906, 0.005944, 0.005944> + 3645: <-0.001534, 0.005996, 0.005996> + 3646: <-0.001536, 0.006269, 0.005707> + 3647: <-0.001908, 0.006212, 0.005657> + 3648: <-0.001534, 0.005996, 0.005996> + 3649: <-0.001156, 0.006039, 0.006039> + 3650: <-0.001157, 0.006313, 0.005747> + 3651: <-0.001536, 0.006269, 0.005707> + 3652: <-0.001156, 0.006039, 0.006039> + 3653: <-0.000773, 0.006070, 0.006070> + 3654: <-0.000774, 0.006346, 0.005776> + 3655: <-0.001157, 0.006313, 0.005747> + 3656: <-0.000773, 0.006070, 0.006070> + 3657: <-0.000387, 0.006089, 0.006089> + 3658: <-0.000388, 0.006366, 0.005794> + 3659: <-0.000774, 0.006346, 0.005776> + 3660: <-0.000387, 0.006089, 0.006089> + 3661: <-0.000000, 0.006096, 0.006096> + 3662: < 0.000000, 0.006373, 0.005801> + 3663: <-0.000388, 0.006366, 0.005794> + 3664: <-0.000000, 0.006096, 0.006096> + 3665: < 0.000387, 0.006089, 0.006089> + 3666: < 0.000388, 0.006366, 0.005794> + 3667: < 0.000000, 0.006373, 0.005801> + 3668: < 0.000387, 0.006089, 0.006089> + 3669: < 0.000773, 0.006070, 0.006070> + 3670: < 0.000774, 0.006346, 0.005776> + 3671: < 0.000388, 0.006366, 0.005794> + 3672: < 0.000773, 0.006070, 0.006070> + 3673: < 0.001156, 0.006039, 0.006039> + 3674: < 0.001157, 0.006313, 0.005747> + 3675: < 0.000774, 0.006346, 0.005776> + 3676: < 0.001156, 0.006039, 0.006039> + 3677: < 0.001534, 0.005996, 0.005996> + 3678: < 0.001536, 0.006269, 0.005707> + 3679: < 0.001157, 0.006313, 0.005747> + 3680: < 0.001534, 0.005996, 0.005996> + 3681: < 0.001906, 0.005944, 0.005944> + 3682: < 0.001908, 0.006212, 0.005657> + 3683: < 0.001536, 0.006269, 0.005707> + 3684: < 0.001906, 0.005944, 0.005944> + 3685: < 0.002269, 0.005881, 0.005881> + 3686: < 0.002272, 0.006146, 0.005599> + 3687: < 0.001908, 0.006212, 0.005657> + 3688: < 0.002269, 0.005881, 0.005881> + 3689: < 0.002623, 0.005809, 0.005809> + 3690: < 0.002627, 0.006069, 0.005533> + 3691: < 0.002272, 0.006146, 0.005599> + 3692: < 0.002623, 0.005809, 0.005809> + 3693: < 0.002966, 0.005729, 0.005729> + 3694: < 0.002971, 0.005983, 0.005459> + 3695: < 0.002627, 0.006069, 0.005533> + 3696: < 0.002966, 0.005729, 0.005729> + 3697: < 0.003297, 0.005642, 0.005642> + 3698: < 0.003302, 0.005888, 0.005379> + 3699: < 0.002971, 0.005983, 0.005459> + 3700: < 0.003297, 0.005642, 0.005642> + 3701: < 0.003612, 0.005549, 0.005549> + 3702: < 0.003619, 0.005786, 0.005294> + 3703: < 0.003302, 0.005888, 0.005379> + 3704: < 0.003612, 0.005549, 0.005549> + 3705: < 0.003910, 0.005451, 0.005451> + 3706: < 0.003918, 0.005678, 0.005207> + 3707: < 0.003619, 0.005786, 0.005294> + 3708: < 0.003910, 0.005451, 0.005451> + 3709: < 0.004188, 0.005351, 0.005351> + 3710: < 0.004199, 0.005564, 0.005120> + 3711: < 0.003918, 0.005678, 0.005207> + 3712: < 0.004188, 0.005351, 0.005351> + 3713: < 0.004436, 0.005255, 0.005255> + 3714: < 0.004460, 0.005446, 0.005034> + 3715: < 0.004199, 0.005564, 0.005120> + 3716: < 0.004436, 0.005255, 0.005255> + 3717: < 0.004647, 0.005166, 0.005166> + 3718: < 0.004691, 0.005326, 0.004959> + 3719: < 0.004460, 0.005446, 0.005034> + 3720: < 0.004647, 0.005166, 0.005166> + 3721: < 0.004833, 0.005081, 0.005081> + 3722: < 0.004894, 0.005206, 0.004894> + 3723: < 0.004691, 0.005326, 0.004959> + 3724: < 0.004833, 0.005081, 0.005081> + 3725: < 0.005000, 0.005000, 0.005000> + 3726: < 0.005081, 0.005081, 0.004833> + 3727: < 0.004894, 0.005206, 0.004894> + 3728: < 0.004894, 0.005206, 0.004894> + 3729: < 0.005081, 0.005081, 0.004833> + 3730: < 0.005166, 0.005166, 0.004647> + 3731: < 0.004959, 0.005326, 0.004691> + 3732: < 0.004959, 0.005326, 0.004691> + 3733: < 0.005166, 0.005166, 0.004647> + 3734: < 0.005255, 0.005255, 0.004436> + 3735: < 0.005034, 0.005446, 0.004460> + 3736: < 0.005034, 0.005446, 0.004460> + 3737: < 0.005255, 0.005255, 0.004436> + 3738: < 0.005351, 0.005351, 0.004188> + 3739: < 0.005120, 0.005564, 0.004199> + 3740: < 0.005120, 0.005564, 0.004199> + 3741: < 0.005351, 0.005351, 0.004188> + 3742: < 0.005451, 0.005451, 0.003910> + 3743: < 0.005207, 0.005678, 0.003918> + 3744: < 0.005207, 0.005678, 0.003918> + 3745: < 0.005451, 0.005451, 0.003910> + 3746: < 0.005549, 0.005549, 0.003612> + 3747: < 0.005294, 0.005786, 0.003619> + 3748: < 0.005294, 0.005786, 0.003619> + 3749: < 0.005549, 0.005549, 0.003612> + 3750: < 0.005642, 0.005642, 0.003297> + 3751: < 0.005379, 0.005888, 0.003302> + 3752: < 0.005379, 0.005888, 0.003302> + 3753: < 0.005642, 0.005642, 0.003297> + 3754: < 0.005729, 0.005729, 0.002966> + 3755: < 0.005459, 0.005983, 0.002971> + 3756: < 0.005459, 0.005983, 0.002971> + 3757: < 0.005729, 0.005729, 0.002966> + 3758: < 0.005809, 0.005809, 0.002623> + 3759: < 0.005533, 0.006069, 0.002627> + 3760: < 0.005533, 0.006069, 0.002627> + 3761: < 0.005809, 0.005809, 0.002623> + 3762: < 0.005881, 0.005881, 0.002269> + 3763: < 0.005599, 0.006146, 0.002272> + 3764: < 0.005599, 0.006146, 0.002272> + 3765: < 0.005881, 0.005881, 0.002269> + 3766: < 0.005944, 0.005944, 0.001906> + 3767: < 0.005657, 0.006212, 0.001908> + 3768: < 0.005657, 0.006212, 0.001908> + 3769: < 0.005944, 0.005944, 0.001906> + 3770: < 0.005996, 0.005996, 0.001534> + 3771: < 0.005707, 0.006269, 0.001536> + 3772: < 0.005707, 0.006269, 0.001536> + 3773: < 0.005996, 0.005996, 0.001534> + 3774: < 0.006039, 0.006039, 0.001156> + 3775: < 0.005747, 0.006313, 0.001157> + 3776: < 0.005747, 0.006313, 0.001157> + 3777: < 0.006039, 0.006039, 0.001156> + 3778: < 0.006070, 0.006070, 0.000773> + 3779: < 0.005776, 0.006346, 0.000774> + 3780: < 0.005776, 0.006346, 0.000774> + 3781: < 0.006070, 0.006070, 0.000773> + 3782: < 0.006089, 0.006089, 0.000387> + 3783: < 0.005794, 0.006366, 0.000388> + 3784: < 0.005794, 0.006366, 0.000388> + 3785: < 0.006089, 0.006089, 0.000387> + 3786: < 0.006096, 0.006096, 0.000000> + 3787: < 0.005801, 0.006373, 0.000000> + 3788: < 0.005801, 0.006373, 0.000000> + 3789: < 0.006096, 0.006096, 0.000000> + 3790: < 0.006089, 0.006089, -0.000387> + 3791: < 0.005794, 0.006366, -0.000388> + 3792: < 0.005794, 0.006366, -0.000388> + 3793: < 0.006089, 0.006089, -0.000387> + 3794: < 0.006070, 0.006070, -0.000773> + 3795: < 0.005776, 0.006346, -0.000774> + 3796: < 0.005776, 0.006346, -0.000774> + 3797: < 0.006070, 0.006070, -0.000773> + 3798: < 0.006039, 0.006039, -0.001156> + 3799: < 0.005747, 0.006313, -0.001157> + 3800: < 0.005747, 0.006313, -0.001157> + 3801: < 0.006039, 0.006039, -0.001156> + 3802: < 0.005996, 0.005996, -0.001534> + 3803: < 0.005707, 0.006269, -0.001536> + 3804: < 0.005707, 0.006269, -0.001536> + 3805: < 0.005996, 0.005996, -0.001534> + 3806: < 0.005944, 0.005944, -0.001906> + 3807: < 0.005657, 0.006212, -0.001908> + 3808: < 0.005657, 0.006212, -0.001908> + 3809: < 0.005944, 0.005944, -0.001906> + 3810: < 0.005881, 0.005881, -0.002269> + 3811: < 0.005599, 0.006146, -0.002272> + 3812: < 0.005599, 0.006146, -0.002272> + 3813: < 0.005881, 0.005881, -0.002269> + 3814: < 0.005809, 0.005809, -0.002623> + 3815: < 0.005533, 0.006069, -0.002627> + 3816: < 0.005533, 0.006069, -0.002627> + 3817: < 0.005809, 0.005809, -0.002623> + 3818: < 0.005729, 0.005729, -0.002966> + 3819: < 0.005459, 0.005983, -0.002971> + 3820: < 0.005459, 0.005983, -0.002971> + 3821: < 0.005729, 0.005729, -0.002966> + 3822: < 0.005642, 0.005642, -0.003297> + 3823: < 0.005379, 0.005888, -0.003302> + 3824: < 0.005379, 0.005888, -0.003302> + 3825: < 0.005642, 0.005642, -0.003297> + 3826: < 0.005549, 0.005549, -0.003612> + 3827: < 0.005294, 0.005786, -0.003619> + 3828: < 0.005294, 0.005786, -0.003619> + 3829: < 0.005549, 0.005549, -0.003612> + 3830: < 0.005451, 0.005451, -0.003910> + 3831: < 0.005207, 0.005678, -0.003918> + 3832: < 0.005207, 0.005678, -0.003918> + 3833: < 0.005451, 0.005451, -0.003910> + 3834: < 0.005351, 0.005351, -0.004188> + 3835: < 0.005120, 0.005564, -0.004199> + 3836: < 0.005120, 0.005564, -0.004199> + 3837: < 0.005351, 0.005351, -0.004188> + 3838: < 0.005255, 0.005255, -0.004436> + 3839: < 0.005034, 0.005446, -0.004460> + 3840: < 0.005034, 0.005446, -0.004460> + 3841: < 0.005255, 0.005255, -0.004436> + 3842: < 0.005166, 0.005166, -0.004647> + 3843: < 0.004959, 0.005326, -0.004691> + 3844: < 0.004959, 0.005326, -0.004691> + 3845: < 0.005166, 0.005166, -0.004647> + 3846: < 0.005081, 0.005081, -0.004833> + 3847: < 0.004894, 0.005206, -0.004894> + 3848: < 0.004894, 0.005206, -0.004894> + 3849: < 0.005081, 0.005081, -0.004833> + 3850: < 0.005000, 0.005000, -0.005000> + 3851: < 0.004833, 0.005081, -0.005081> + 3852: < 0.004691, 0.005326, -0.004959> + 3853: < 0.004894, 0.005206, -0.004894> + 3854: < 0.004833, 0.005081, -0.005081> + 3855: < 0.004647, 0.005166, -0.005166> + 3856: < 0.004460, 0.005446, -0.005034> + 3857: < 0.004691, 0.005326, -0.004959> + 3858: < 0.004647, 0.005166, -0.005166> + 3859: < 0.004436, 0.005255, -0.005255> + 3860: < 0.004199, 0.005564, -0.005120> + 3861: < 0.004460, 0.005446, -0.005034> + 3862: < 0.004436, 0.005255, -0.005255> + 3863: < 0.004188, 0.005351, -0.005351> + 3864: < 0.003918, 0.005678, -0.005207> + 3865: < 0.004199, 0.005564, -0.005120> + 3866: < 0.004188, 0.005351, -0.005351> + 3867: < 0.003910, 0.005451, -0.005451> + 3868: < 0.003619, 0.005786, -0.005294> + 3869: < 0.003918, 0.005678, -0.005207> + 3870: < 0.003910, 0.005451, -0.005451> + 3871: < 0.003612, 0.005549, -0.005549> + 3872: < 0.003302, 0.005888, -0.005379> + 3873: < 0.003619, 0.005786, -0.005294> + 3874: < 0.003612, 0.005549, -0.005549> + 3875: < 0.003297, 0.005642, -0.005642> + 3876: < 0.002971, 0.005983, -0.005459> + 3877: < 0.003302, 0.005888, -0.005379> + 3878: < 0.003297, 0.005642, -0.005642> + 3879: < 0.002966, 0.005729, -0.005729> + 3880: < 0.002627, 0.006069, -0.005533> + 3881: < 0.002971, 0.005983, -0.005459> + 3882: < 0.002966, 0.005729, -0.005729> + 3883: < 0.002623, 0.005809, -0.005809> + 3884: < 0.002272, 0.006146, -0.005599> + 3885: < 0.002627, 0.006069, -0.005533> + 3886: < 0.002623, 0.005809, -0.005809> + 3887: < 0.002269, 0.005881, -0.005881> + 3888: < 0.001908, 0.006212, -0.005657> + 3889: < 0.002272, 0.006146, -0.005599> + 3890: < 0.002269, 0.005881, -0.005881> + 3891: < 0.001906, 0.005944, -0.005944> + 3892: < 0.001536, 0.006269, -0.005707> + 3893: < 0.001908, 0.006212, -0.005657> + 3894: < 0.001906, 0.005944, -0.005944> + 3895: < 0.001534, 0.005996, -0.005996> + 3896: < 0.001157, 0.006313, -0.005747> + 3897: < 0.001536, 0.006269, -0.005707> + 3898: < 0.001534, 0.005996, -0.005996> + 3899: < 0.001156, 0.006039, -0.006039> + 3900: < 0.000774, 0.006346, -0.005776> + 3901: < 0.001157, 0.006313, -0.005747> + 3902: < 0.001156, 0.006039, -0.006039> + 3903: < 0.000773, 0.006070, -0.006070> + 3904: < 0.000388, 0.006366, -0.005794> + 3905: < 0.000774, 0.006346, -0.005776> + 3906: < 0.000773, 0.006070, -0.006070> + 3907: < 0.000387, 0.006089, -0.006089> + 3908: <-0.000000, 0.006373, -0.005801> + 3909: < 0.000388, 0.006366, -0.005794> + 3910: < 0.000387, 0.006089, -0.006089> + 3911: < 0.000000, 0.006096, -0.006096> + 3912: <-0.000388, 0.006366, -0.005794> + 3913: <-0.000000, 0.006373, -0.005801> + 3914: < 0.000000, 0.006096, -0.006096> + 3915: <-0.000387, 0.006089, -0.006089> + 3916: <-0.000774, 0.006346, -0.005776> + 3917: <-0.000388, 0.006366, -0.005794> + 3918: <-0.000387, 0.006089, -0.006089> + 3919: <-0.000773, 0.006070, -0.006070> + 3920: <-0.001157, 0.006313, -0.005747> + 3921: <-0.000774, 0.006346, -0.005776> + 3922: <-0.000773, 0.006070, -0.006070> + 3923: <-0.001156, 0.006039, -0.006039> + 3924: <-0.001536, 0.006269, -0.005707> + 3925: <-0.001157, 0.006313, -0.005747> + 3926: <-0.001156, 0.006039, -0.006039> + 3927: <-0.001534, 0.005996, -0.005996> + 3928: <-0.001908, 0.006212, -0.005657> + 3929: <-0.001536, 0.006269, -0.005707> + 3930: <-0.001534, 0.005996, -0.005996> + 3931: <-0.001906, 0.005944, -0.005944> + 3932: <-0.002272, 0.006146, -0.005599> + 3933: <-0.001908, 0.006212, -0.005657> + 3934: <-0.001906, 0.005944, -0.005944> + 3935: <-0.002269, 0.005881, -0.005881> + 3936: <-0.002627, 0.006069, -0.005533> + 3937: <-0.002272, 0.006146, -0.005599> + 3938: <-0.002269, 0.005881, -0.005881> + 3939: <-0.002623, 0.005809, -0.005809> + 3940: <-0.002971, 0.005983, -0.005459> + 3941: <-0.002627, 0.006069, -0.005533> + 3942: <-0.002623, 0.005809, -0.005809> + 3943: <-0.002966, 0.005729, -0.005729> + 3944: <-0.003302, 0.005888, -0.005379> + 3945: <-0.002971, 0.005983, -0.005459> + 3946: <-0.002966, 0.005729, -0.005729> + 3947: <-0.003297, 0.005642, -0.005642> + 3948: <-0.003619, 0.005786, -0.005294> + 3949: <-0.003302, 0.005888, -0.005379> + 3950: <-0.003297, 0.005642, -0.005642> + 3951: <-0.003612, 0.005549, -0.005549> + 3952: <-0.003918, 0.005678, -0.005207> + 3953: <-0.003619, 0.005786, -0.005294> + 3954: <-0.003612, 0.005549, -0.005549> + 3955: <-0.003910, 0.005451, -0.005451> + 3956: <-0.004199, 0.005564, -0.005120> + 3957: <-0.003918, 0.005678, -0.005207> + 3958: <-0.003910, 0.005451, -0.005451> + 3959: <-0.004188, 0.005351, -0.005351> + 3960: <-0.004460, 0.005446, -0.005034> + 3961: <-0.004199, 0.005564, -0.005120> + 3962: <-0.004188, 0.005351, -0.005351> + 3963: <-0.004436, 0.005255, -0.005255> + 3964: <-0.004691, 0.005326, -0.004959> + 3965: <-0.004460, 0.005446, -0.005034> + 3966: <-0.004436, 0.005255, -0.005255> + 3967: <-0.004647, 0.005166, -0.005166> + 3968: <-0.004894, 0.005206, -0.004894> + 3969: <-0.004691, 0.005326, -0.004959> + 3970: <-0.004647, 0.005166, -0.005166> + 3971: <-0.004833, 0.005081, -0.005081> + 3972: <-0.005081, 0.005081, -0.004833> + 3973: <-0.004894, 0.005206, -0.004894> + 3974: <-0.004833, 0.005081, -0.005081> + 3975: <-0.005000, 0.005000, -0.005000> + 3976: <-0.005166, 0.005166, -0.004647> + 3977: <-0.004959, 0.005326, -0.004691> + 3978: <-0.004894, 0.005206, -0.004894> + 3979: <-0.005081, 0.005081, -0.004833> + 3980: <-0.005255, 0.005255, -0.004436> + 3981: <-0.005034, 0.005446, -0.004460> + 3982: <-0.004959, 0.005326, -0.004691> + 3983: <-0.005166, 0.005166, -0.004647> + 3984: <-0.005351, 0.005351, -0.004188> + 3985: <-0.005120, 0.005564, -0.004199> + 3986: <-0.005034, 0.005446, -0.004460> + 3987: <-0.005255, 0.005255, -0.004436> + 3988: <-0.005451, 0.005451, -0.003910> + 3989: <-0.005207, 0.005678, -0.003918> + 3990: <-0.005120, 0.005564, -0.004199> + 3991: <-0.005351, 0.005351, -0.004188> + 3992: <-0.005549, 0.005549, -0.003612> + 3993: <-0.005294, 0.005786, -0.003619> + 3994: <-0.005207, 0.005678, -0.003918> + 3995: <-0.005451, 0.005451, -0.003910> + 3996: <-0.005642, 0.005642, -0.003297> + 3997: <-0.005379, 0.005888, -0.003302> + 3998: <-0.005294, 0.005786, -0.003619> + 3999: <-0.005549, 0.005549, -0.003612> + 4000: <-0.005729, 0.005729, -0.002966> + 4001: <-0.005459, 0.005983, -0.002971> + 4002: <-0.005379, 0.005888, -0.003302> + 4003: <-0.005642, 0.005642, -0.003297> + 4004: <-0.005809, 0.005809, -0.002623> + 4005: <-0.005533, 0.006069, -0.002627> + 4006: <-0.005459, 0.005983, -0.002971> + 4007: <-0.005729, 0.005729, -0.002966> + 4008: <-0.005881, 0.005881, -0.002269> + 4009: <-0.005599, 0.006146, -0.002272> + 4010: <-0.005533, 0.006069, -0.002627> + 4011: <-0.005809, 0.005809, -0.002623> + 4012: <-0.005944, 0.005944, -0.001906> + 4013: <-0.005657, 0.006212, -0.001908> + 4014: <-0.005599, 0.006146, -0.002272> + 4015: <-0.005881, 0.005881, -0.002269> + 4016: <-0.005996, 0.005996, -0.001534> + 4017: <-0.005707, 0.006269, -0.001536> + 4018: <-0.005657, 0.006212, -0.001908> + 4019: <-0.005944, 0.005944, -0.001906> + 4020: <-0.006039, 0.006039, -0.001156> + 4021: <-0.005747, 0.006313, -0.001157> + 4022: <-0.005707, 0.006269, -0.001536> + 4023: <-0.005996, 0.005996, -0.001534> + 4024: <-0.006070, 0.006070, -0.000773> + 4025: <-0.005776, 0.006346, -0.000774> + 4026: <-0.005747, 0.006313, -0.001157> + 4027: <-0.006039, 0.006039, -0.001156> + 4028: <-0.006089, 0.006089, -0.000387> + 4029: <-0.005794, 0.006366, -0.000388> + 4030: <-0.005776, 0.006346, -0.000774> + 4031: <-0.006070, 0.006070, -0.000773> + 4032: <-0.006096, 0.006096, -0.000000> + 4033: <-0.005801, 0.006373, -0.000000> + 4034: <-0.005794, 0.006366, -0.000388> + 4035: <-0.006089, 0.006089, -0.000387> + 4036: <-0.006089, 0.006089, 0.000387> + 4037: <-0.005794, 0.006366, 0.000388> + 4038: <-0.005801, 0.006373, -0.000000> + 4039: <-0.006096, 0.006096, -0.000000> + 4040: <-0.006070, 0.006070, 0.000773> + 4041: <-0.005776, 0.006346, 0.000774> + 4042: <-0.005794, 0.006366, 0.000388> + 4043: <-0.006089, 0.006089, 0.000387> + 4044: <-0.006039, 0.006039, 0.001156> + 4045: <-0.005747, 0.006313, 0.001157> + 4046: <-0.005776, 0.006346, 0.000774> + 4047: <-0.006070, 0.006070, 0.000773> + 4048: <-0.005996, 0.005996, 0.001534> + 4049: <-0.005707, 0.006269, 0.001536> + 4050: <-0.005747, 0.006313, 0.001157> + 4051: <-0.006039, 0.006039, 0.001156> + 4052: <-0.005944, 0.005944, 0.001906> + 4053: <-0.005657, 0.006212, 0.001908> + 4054: <-0.005707, 0.006269, 0.001536> + 4055: <-0.005996, 0.005996, 0.001534> + 4056: <-0.005881, 0.005881, 0.002269> + 4057: <-0.005599, 0.006146, 0.002272> + 4058: <-0.005657, 0.006212, 0.001908> + 4059: <-0.005944, 0.005944, 0.001906> + 4060: <-0.005809, 0.005809, 0.002623> + 4061: <-0.005533, 0.006069, 0.002627> + 4062: <-0.005599, 0.006146, 0.002272> + 4063: <-0.005881, 0.005881, 0.002269> + 4064: <-0.005729, 0.005729, 0.002966> + 4065: <-0.005459, 0.005983, 0.002971> + 4066: <-0.005533, 0.006069, 0.002627> + 4067: <-0.005809, 0.005809, 0.002623> + 4068: <-0.005642, 0.005642, 0.003297> + 4069: <-0.005379, 0.005888, 0.003302> + 4070: <-0.005459, 0.005983, 0.002971> + 4071: <-0.005729, 0.005729, 0.002966> + 4072: <-0.005549, 0.005549, 0.003612> + 4073: <-0.005294, 0.005786, 0.003619> + 4074: <-0.005379, 0.005888, 0.003302> + 4075: <-0.005642, 0.005642, 0.003297> + 4076: <-0.005451, 0.005451, 0.003910> + 4077: <-0.005207, 0.005678, 0.003918> + 4078: <-0.005294, 0.005786, 0.003619> + 4079: <-0.005549, 0.005549, 0.003612> + 4080: <-0.005351, 0.005351, 0.004188> + 4081: <-0.005120, 0.005564, 0.004199> + 4082: <-0.005207, 0.005678, 0.003918> + 4083: <-0.005451, 0.005451, 0.003910> + 4084: <-0.005255, 0.005255, 0.004436> + 4085: <-0.005034, 0.005446, 0.004460> + 4086: <-0.005120, 0.005564, 0.004199> + 4087: <-0.005351, 0.005351, 0.004188> + 4088: <-0.005166, 0.005166, 0.004647> + 4089: <-0.004959, 0.005326, 0.004691> + 4090: <-0.005034, 0.005446, 0.004460> + 4091: <-0.005255, 0.005255, 0.004436> + 4092: <-0.005081, 0.005081, 0.004833> + 4093: <-0.004894, 0.005206, 0.004894> + 4094: <-0.004959, 0.005326, 0.004691> + 4095: <-0.005166, 0.005166, 0.004647> + 4096: <-0.004894, -0.004894, -0.005206> + 4097: <-0.004959, -0.004691, -0.005326> + 4098: <-0.004738, -0.004738, -0.005479> + 4099: <-0.004691, -0.004959, -0.005326> + 4100: <-0.004959, -0.004691, -0.005326> + 4101: <-0.005034, -0.004460, -0.005446> + 4102: <-0.004798, -0.004494, -0.005623> + 4103: <-0.004738, -0.004738, -0.005479> + 4104: <-0.005034, -0.004460, -0.005446> + 4105: <-0.005120, -0.004199, -0.005564> + 4106: <-0.004870, -0.004226, -0.005760> + 4107: <-0.004798, -0.004494, -0.005623> + 4108: <-0.005120, -0.004199, -0.005564> + 4109: <-0.005207, -0.003918, -0.005678> + 4110: <-0.004946, -0.003941, -0.005887> + 4111: <-0.004870, -0.004226, -0.005760> + 4112: <-0.005207, -0.003918, -0.005678> + 4113: <-0.005294, -0.003619, -0.005786> + 4114: <-0.005023, -0.003637, -0.006006> + 4115: <-0.004946, -0.003941, -0.005887> + 4116: <-0.005294, -0.003619, -0.005786> + 4117: <-0.005379, -0.003302, -0.005888> + 4118: <-0.005099, -0.003318, -0.006117> + 4119: <-0.005023, -0.003637, -0.006006> + 4120: <-0.005379, -0.003302, -0.005888> + 4121: <-0.005459, -0.002971, -0.005983> + 4122: <-0.005172, -0.002984, -0.006219> + 4123: <-0.005099, -0.003318, -0.006117> + 4124: <-0.005459, -0.002971, -0.005983> + 4125: <-0.005533, -0.002627, -0.006069> + 4126: <-0.005240, -0.002638, -0.006311> + 4127: <-0.005172, -0.002984, -0.006219> + 4128: <-0.005533, -0.002627, -0.006069> + 4129: <-0.005599, -0.002272, -0.006146> + 4130: <-0.005301, -0.002281, -0.006393> + 4131: <-0.005240, -0.002638, -0.006311> + 4132: <-0.005599, -0.002272, -0.006146> + 4133: <-0.005657, -0.001908, -0.006212> + 4134: <-0.005355, -0.001915, -0.006464> + 4135: <-0.005301, -0.002281, -0.006393> + 4136: <-0.005657, -0.001908, -0.006212> + 4137: <-0.005707, -0.001536, -0.006269> + 4138: <-0.005401, -0.001541, -0.006523> + 4139: <-0.005355, -0.001915, -0.006464> + 4140: <-0.005707, -0.001536, -0.006269> + 4141: <-0.005747, -0.001157, -0.006313> + 4142: <-0.005438, -0.001161, -0.006570> + 4143: <-0.005401, -0.001541, -0.006523> + 4144: <-0.005747, -0.001157, -0.006313> + 4145: <-0.005776, -0.000774, -0.006346> + 4146: <-0.005466, -0.000777, -0.006605> + 4147: <-0.005438, -0.001161, -0.006570> + 4148: <-0.005776, -0.000774, -0.006346> + 4149: <-0.005794, -0.000388, -0.006366> + 4150: <-0.005483, -0.000389, -0.006626> + 4151: <-0.005466, -0.000777, -0.006605> + 4152: <-0.005794, -0.000388, -0.006366> + 4153: <-0.005801, 0.000000, -0.006373> + 4154: <-0.005489, -0.000000, -0.006633> + 4155: <-0.005483, -0.000389, -0.006626> + 4156: <-0.005801, 0.000000, -0.006373> + 4157: <-0.005794, 0.000388, -0.006366> + 4158: <-0.005483, 0.000389, -0.006626> + 4159: <-0.005489, -0.000000, -0.006633> + 4160: <-0.005794, 0.000388, -0.006366> + 4161: <-0.005776, 0.000774, -0.006346> + 4162: <-0.005466, 0.000777, -0.006605> + 4163: <-0.005483, 0.000389, -0.006626> + 4164: <-0.005776, 0.000774, -0.006346> + 4165: <-0.005747, 0.001157, -0.006313> + 4166: <-0.005438, 0.001161, -0.006570> + 4167: <-0.005466, 0.000777, -0.006605> + 4168: <-0.005747, 0.001157, -0.006313> + 4169: <-0.005707, 0.001536, -0.006269> + 4170: <-0.005401, 0.001541, -0.006523> + 4171: <-0.005438, 0.001161, -0.006570> + 4172: <-0.005707, 0.001536, -0.006269> + 4173: <-0.005657, 0.001908, -0.006212> + 4174: <-0.005355, 0.001915, -0.006464> + 4175: <-0.005401, 0.001541, -0.006523> + 4176: <-0.005657, 0.001908, -0.006212> + 4177: <-0.005599, 0.002272, -0.006146> + 4178: <-0.005301, 0.002281, -0.006393> + 4179: <-0.005355, 0.001915, -0.006464> + 4180: <-0.005599, 0.002272, -0.006146> + 4181: <-0.005533, 0.002627, -0.006069> + 4182: <-0.005240, 0.002638, -0.006311> + 4183: <-0.005301, 0.002281, -0.006393> + 4184: <-0.005533, 0.002627, -0.006069> + 4185: <-0.005459, 0.002971, -0.005983> + 4186: <-0.005172, 0.002984, -0.006219> + 4187: <-0.005240, 0.002638, -0.006311> + 4188: <-0.005459, 0.002971, -0.005983> + 4189: <-0.005379, 0.003302, -0.005888> + 4190: <-0.005099, 0.003318, -0.006117> + 4191: <-0.005172, 0.002984, -0.006219> + 4192: <-0.005379, 0.003302, -0.005888> + 4193: <-0.005294, 0.003619, -0.005786> + 4194: <-0.005023, 0.003637, -0.006006> + 4195: <-0.005099, 0.003318, -0.006117> + 4196: <-0.005294, 0.003619, -0.005786> + 4197: <-0.005207, 0.003918, -0.005678> + 4198: <-0.004946, 0.003941, -0.005887> + 4199: <-0.005023, 0.003637, -0.006006> + 4200: <-0.005207, 0.003918, -0.005678> + 4201: <-0.005120, 0.004199, -0.005564> + 4202: <-0.004870, 0.004226, -0.005760> + 4203: <-0.004946, 0.003941, -0.005887> + 4204: <-0.005120, 0.004199, -0.005564> + 4205: <-0.005034, 0.004460, -0.005446> + 4206: <-0.004798, 0.004494, -0.005623> + 4207: <-0.004870, 0.004226, -0.005760> + 4208: <-0.005034, 0.004460, -0.005446> + 4209: <-0.004959, 0.004691, -0.005326> + 4210: <-0.004738, 0.004738, -0.005479> + 4211: <-0.004798, 0.004494, -0.005623> + 4212: <-0.004959, 0.004691, -0.005326> + 4213: <-0.004894, 0.004894, -0.005206> + 4214: <-0.004691, 0.004959, -0.005326> + 4215: <-0.004738, 0.004738, -0.005479> + 4216: <-0.004691, -0.004959, -0.005326> + 4217: <-0.004738, -0.004738, -0.005479> + 4218: <-0.004494, -0.004798, -0.005623> + 4219: <-0.004460, -0.005034, -0.005446> + 4220: <-0.004738, -0.004738, -0.005479> + 4221: <-0.004798, -0.004494, -0.005623> + 4222: <-0.004542, -0.004542, -0.005788> + 4223: <-0.004494, -0.004798, -0.005623> + 4224: <-0.004798, -0.004494, -0.005623> + 4225: <-0.004870, -0.004226, -0.005760> + 4226: <-0.004602, -0.004267, -0.005939> + 4227: <-0.004542, -0.004542, -0.005788> + 4228: <-0.004870, -0.004226, -0.005760> + 4229: <-0.004946, -0.003941, -0.005887> + 4230: <-0.004668, -0.003975, -0.006080> + 4231: <-0.004602, -0.004267, -0.005939> + 4232: <-0.004946, -0.003941, -0.005887> + 4233: <-0.005023, -0.003637, -0.006006> + 4234: <-0.004736, -0.003666, -0.006210> + 4235: <-0.004668, -0.003975, -0.006080> + 4236: <-0.005023, -0.003637, -0.006006> + 4237: <-0.005099, -0.003318, -0.006117> + 4238: <-0.004804, -0.003342, -0.006329> + 4239: <-0.004736, -0.003666, -0.006210> + 4240: <-0.005099, -0.003318, -0.006117> + 4241: <-0.005172, -0.002984, -0.006219> + 4242: <-0.004870, -0.003004, -0.006439> + 4243: <-0.004804, -0.003342, -0.006329> + 4244: <-0.005172, -0.002984, -0.006219> + 4245: <-0.005240, -0.002638, -0.006311> + 4246: <-0.004931, -0.002655, -0.006537> + 4247: <-0.004870, -0.003004, -0.006439> + 4248: <-0.005240, -0.002638, -0.006311> + 4249: <-0.005301, -0.002281, -0.006393> + 4250: <-0.004987, -0.002295, -0.006623> + 4251: <-0.004931, -0.002655, -0.006537> + 4252: <-0.005301, -0.002281, -0.006393> + 4253: <-0.005355, -0.001915, -0.006464> + 4254: <-0.005037, -0.001926, -0.006698> + 4255: <-0.004987, -0.002295, -0.006623> + 4256: <-0.005355, -0.001915, -0.006464> + 4257: <-0.005401, -0.001541, -0.006523> + 4258: <-0.005080, -0.001550, -0.006761> + 4259: <-0.005037, -0.001926, -0.006698> + 4260: <-0.005401, -0.001541, -0.006523> + 4261: <-0.005438, -0.001161, -0.006570> + 4262: <-0.005114, -0.001168, -0.006810> + 4263: <-0.005080, -0.001550, -0.006761> + 4264: <-0.005438, -0.001161, -0.006570> + 4265: <-0.005466, -0.000777, -0.006605> + 4266: <-0.005140, -0.000781, -0.006846> + 4267: <-0.005114, -0.001168, -0.006810> + 4268: <-0.005466, -0.000777, -0.006605> + 4269: <-0.005483, -0.000389, -0.006626> + 4270: <-0.005156, -0.000391, -0.006868> + 4271: <-0.005140, -0.000781, -0.006846> + 4272: <-0.005483, -0.000389, -0.006626> + 4273: <-0.005489, -0.000000, -0.006633> + 4274: <-0.005162, -0.000000, -0.006875> + 4275: <-0.005156, -0.000391, -0.006868> + 4276: <-0.005489, -0.000000, -0.006633> + 4277: <-0.005483, 0.000389, -0.006626> + 4278: <-0.005156, 0.000391, -0.006868> + 4279: <-0.005162, -0.000000, -0.006875> + 4280: <-0.005483, 0.000389, -0.006626> + 4281: <-0.005466, 0.000777, -0.006605> + 4282: <-0.005140, 0.000781, -0.006846> + 4283: <-0.005156, 0.000391, -0.006868> + 4284: <-0.005466, 0.000777, -0.006605> + 4285: <-0.005438, 0.001161, -0.006570> + 4286: <-0.005114, 0.001168, -0.006810> + 4287: <-0.005140, 0.000781, -0.006846> + 4288: <-0.005438, 0.001161, -0.006570> + 4289: <-0.005401, 0.001541, -0.006523> + 4290: <-0.005080, 0.001550, -0.006761> + 4291: <-0.005114, 0.001168, -0.006810> + 4292: <-0.005401, 0.001541, -0.006523> + 4293: <-0.005355, 0.001915, -0.006464> + 4294: <-0.005037, 0.001926, -0.006698> + 4295: <-0.005080, 0.001550, -0.006761> + 4296: <-0.005355, 0.001915, -0.006464> + 4297: <-0.005301, 0.002281, -0.006393> + 4298: <-0.004987, 0.002295, -0.006623> + 4299: <-0.005037, 0.001926, -0.006698> + 4300: <-0.005301, 0.002281, -0.006393> + 4301: <-0.005240, 0.002638, -0.006311> + 4302: <-0.004931, 0.002655, -0.006537> + 4303: <-0.004987, 0.002295, -0.006623> + 4304: <-0.005240, 0.002638, -0.006311> + 4305: <-0.005172, 0.002984, -0.006219> + 4306: <-0.004870, 0.003004, -0.006439> + 4307: <-0.004931, 0.002655, -0.006537> + 4308: <-0.005172, 0.002984, -0.006219> + 4309: <-0.005099, 0.003318, -0.006117> + 4310: <-0.004804, 0.003342, -0.006329> + 4311: <-0.004870, 0.003004, -0.006439> + 4312: <-0.005099, 0.003318, -0.006117> + 4313: <-0.005023, 0.003637, -0.006006> + 4314: <-0.004736, 0.003666, -0.006210> + 4315: <-0.004804, 0.003342, -0.006329> + 4316: <-0.005023, 0.003637, -0.006006> + 4317: <-0.004946, 0.003941, -0.005887> + 4318: <-0.004668, 0.003975, -0.006080> + 4319: <-0.004736, 0.003666, -0.006210> + 4320: <-0.004946, 0.003941, -0.005887> + 4321: <-0.004870, 0.004226, -0.005760> + 4322: <-0.004602, 0.004267, -0.005939> + 4323: <-0.004668, 0.003975, -0.006080> + 4324: <-0.004870, 0.004226, -0.005760> + 4325: <-0.004798, 0.004494, -0.005623> + 4326: <-0.004542, 0.004542, -0.005788> + 4327: <-0.004602, 0.004267, -0.005939> + 4328: <-0.004798, 0.004494, -0.005623> + 4329: <-0.004738, 0.004738, -0.005479> + 4330: <-0.004494, 0.004798, -0.005623> + 4331: <-0.004542, 0.004542, -0.005788> + 4332: <-0.004738, 0.004738, -0.005479> + 4333: <-0.004691, 0.004959, -0.005326> + 4334: <-0.004460, 0.005034, -0.005446> + 4335: <-0.004494, 0.004798, -0.005623> + 4336: <-0.004460, -0.005034, -0.005446> + 4337: <-0.004494, -0.004798, -0.005623> + 4338: <-0.004226, -0.004870, -0.005760> + 4339: <-0.004199, -0.005120, -0.005564> + 4340: <-0.004494, -0.004798, -0.005623> + 4341: <-0.004542, -0.004542, -0.005788> + 4342: <-0.004267, -0.004602, -0.005939> + 4343: <-0.004226, -0.004870, -0.005760> + 4344: <-0.004542, -0.004542, -0.005788> + 4345: <-0.004602, -0.004267, -0.005939> + 4346: <-0.004318, -0.004318, -0.006105> + 4347: <-0.004267, -0.004602, -0.005939> + 4348: <-0.004602, -0.004267, -0.005939> + 4349: <-0.004668, -0.003975, -0.006080> + 4350: <-0.004374, -0.004017, -0.006257> + 4351: <-0.004318, -0.004318, -0.006105> + 4352: <-0.004668, -0.003975, -0.006080> + 4353: <-0.004736, -0.003666, -0.006210> + 4354: <-0.004434, -0.003701, -0.006397> + 4355: <-0.004374, -0.004017, -0.006257> + 4356: <-0.004736, -0.003666, -0.006210> + 4357: <-0.004804, -0.003342, -0.006329> + 4358: <-0.004494, -0.003372, -0.006525> + 4359: <-0.004434, -0.003701, -0.006397> + 4360: <-0.004804, -0.003342, -0.006329> + 4361: <-0.004870, -0.003004, -0.006439> + 4362: <-0.004553, -0.003030, -0.006641> + 4363: <-0.004494, -0.003372, -0.006525> + 4364: <-0.004870, -0.003004, -0.006439> + 4365: <-0.004931, -0.002655, -0.006537> + 4366: <-0.004609, -0.002676, -0.006745> + 4367: <-0.004553, -0.003030, -0.006641> + 4368: <-0.004931, -0.002655, -0.006537> + 4369: <-0.004987, -0.002295, -0.006623> + 4370: <-0.004659, -0.002313, -0.006836> + 4371: <-0.004609, -0.002676, -0.006745> + 4372: <-0.004987, -0.002295, -0.006623> + 4373: <-0.005037, -0.001926, -0.006698> + 4374: <-0.004705, -0.001940, -0.006915> + 4375: <-0.004659, -0.002313, -0.006836> + 4376: <-0.005037, -0.001926, -0.006698> + 4377: <-0.005080, -0.001550, -0.006761> + 4378: <-0.004744, -0.001561, -0.006980> + 4379: <-0.004705, -0.001940, -0.006915> + 4380: <-0.005080, -0.001550, -0.006761> + 4381: <-0.005114, -0.001168, -0.006810> + 4382: <-0.004776, -0.001176, -0.007032> + 4383: <-0.004744, -0.001561, -0.006980> + 4384: <-0.005114, -0.001168, -0.006810> + 4385: <-0.005140, -0.000781, -0.006846> + 4386: <-0.004800, -0.000786, -0.007069> + 4387: <-0.004776, -0.001176, -0.007032> + 4388: <-0.005140, -0.000781, -0.006846> + 4389: <-0.005156, -0.000391, -0.006868> + 4390: <-0.004815, -0.000394, -0.007092> + 4391: <-0.004800, -0.000786, -0.007069> + 4392: <-0.005156, -0.000391, -0.006868> + 4393: <-0.005162, -0.000000, -0.006875> + 4394: <-0.004820, -0.000000, -0.007099> + 4395: <-0.004815, -0.000394, -0.007092> + 4396: <-0.005162, -0.000000, -0.006875> + 4397: <-0.005156, 0.000391, -0.006868> + 4398: <-0.004815, 0.000394, -0.007092> + 4399: <-0.004820, -0.000000, -0.007099> + 4400: <-0.005156, 0.000391, -0.006868> + 4401: <-0.005140, 0.000781, -0.006846> + 4402: <-0.004800, 0.000786, -0.007069> + 4403: <-0.004815, 0.000394, -0.007092> + 4404: <-0.005140, 0.000781, -0.006846> + 4405: <-0.005114, 0.001168, -0.006810> + 4406: <-0.004776, 0.001176, -0.007032> + 4407: <-0.004800, 0.000786, -0.007069> + 4408: <-0.005114, 0.001168, -0.006810> + 4409: <-0.005080, 0.001550, -0.006761> + 4410: <-0.004744, 0.001561, -0.006980> + 4411: <-0.004776, 0.001176, -0.007032> + 4412: <-0.005080, 0.001550, -0.006761> + 4413: <-0.005037, 0.001926, -0.006698> + 4414: <-0.004705, 0.001940, -0.006915> + 4415: <-0.004744, 0.001561, -0.006980> + 4416: <-0.005037, 0.001926, -0.006698> + 4417: <-0.004987, 0.002295, -0.006623> + 4418: <-0.004659, 0.002313, -0.006836> + 4419: <-0.004705, 0.001940, -0.006915> + 4420: <-0.004987, 0.002295, -0.006623> + 4421: <-0.004931, 0.002655, -0.006537> + 4422: <-0.004609, 0.002676, -0.006745> + 4423: <-0.004659, 0.002313, -0.006836> + 4424: <-0.004931, 0.002655, -0.006537> + 4425: <-0.004870, 0.003004, -0.006439> + 4426: <-0.004553, 0.003030, -0.006641> + 4427: <-0.004609, 0.002676, -0.006745> + 4428: <-0.004870, 0.003004, -0.006439> + 4429: <-0.004804, 0.003342, -0.006329> + 4430: <-0.004494, 0.003372, -0.006525> + 4431: <-0.004553, 0.003030, -0.006641> + 4432: <-0.004804, 0.003342, -0.006329> + 4433: <-0.004736, 0.003666, -0.006210> + 4434: <-0.004434, 0.003701, -0.006397> + 4435: <-0.004494, 0.003372, -0.006525> + 4436: <-0.004736, 0.003666, -0.006210> + 4437: <-0.004668, 0.003975, -0.006080> + 4438: <-0.004374, 0.004017, -0.006257> + 4439: <-0.004434, 0.003701, -0.006397> + 4440: <-0.004668, 0.003975, -0.006080> + 4441: <-0.004602, 0.004267, -0.005939> + 4442: <-0.004318, 0.004318, -0.006105> + 4443: <-0.004374, 0.004017, -0.006257> + 4444: <-0.004602, 0.004267, -0.005939> + 4445: <-0.004542, 0.004542, -0.005788> + 4446: <-0.004267, 0.004602, -0.005939> + 4447: <-0.004318, 0.004318, -0.006105> + 4448: <-0.004542, 0.004542, -0.005788> + 4449: <-0.004494, 0.004798, -0.005623> + 4450: <-0.004226, 0.004870, -0.005760> + 4451: <-0.004267, 0.004602, -0.005939> + 4452: <-0.004494, 0.004798, -0.005623> + 4453: <-0.004460, 0.005034, -0.005446> + 4454: <-0.004199, 0.005120, -0.005564> + 4455: <-0.004226, 0.004870, -0.005760> + 4456: <-0.004199, -0.005120, -0.005564> + 4457: <-0.004226, -0.004870, -0.005760> + 4458: <-0.003941, -0.004946, -0.005887> + 4459: <-0.003918, -0.005207, -0.005678> + 4460: <-0.004226, -0.004870, -0.005760> + 4461: <-0.004267, -0.004602, -0.005939> + 4462: <-0.003975, -0.004668, -0.006080> + 4463: <-0.003941, -0.004946, -0.005887> + 4464: <-0.004267, -0.004602, -0.005939> + 4465: <-0.004318, -0.004318, -0.006105> + 4466: <-0.004017, -0.004374, -0.006257> + 4467: <-0.003975, -0.004668, -0.006080> + 4468: <-0.004318, -0.004318, -0.006105> + 4469: <-0.004374, -0.004017, -0.006257> + 4470: <-0.004065, -0.004065, -0.006421> + 4471: <-0.004017, -0.004374, -0.006257> + 4472: <-0.004374, -0.004017, -0.006257> + 4473: <-0.004434, -0.003701, -0.006397> + 4474: <-0.004117, -0.003743, -0.006570> + 4475: <-0.004065, -0.004065, -0.006421> + 4476: <-0.004434, -0.003701, -0.006397> + 4477: <-0.004494, -0.003372, -0.006525> + 4478: <-0.004170, -0.003407, -0.006705> + 4479: <-0.004117, -0.003743, -0.006570> + 4480: <-0.004494, -0.003372, -0.006525> + 4481: <-0.004553, -0.003030, -0.006641> + 4482: <-0.004223, -0.003060, -0.006828> + 4483: <-0.004170, -0.003407, -0.006705> + 4484: <-0.004553, -0.003030, -0.006641> + 4485: <-0.004609, -0.002676, -0.006745> + 4486: <-0.004273, -0.002701, -0.006937> + 4487: <-0.004223, -0.003060, -0.006828> + 4488: <-0.004609, -0.002676, -0.006745> + 4489: <-0.004659, -0.002313, -0.006836> + 4490: <-0.004318, -0.002333, -0.007033> + 4491: <-0.004273, -0.002701, -0.006937> + 4492: <-0.004659, -0.002313, -0.006836> + 4493: <-0.004705, -0.001940, -0.006915> + 4494: <-0.004360, -0.001957, -0.007115> + 4495: <-0.004318, -0.002333, -0.007033> + 4496: <-0.004705, -0.001940, -0.006915> + 4497: <-0.004744, -0.001561, -0.006980> + 4498: <-0.004395, -0.001574, -0.007183> + 4499: <-0.004360, -0.001957, -0.007115> + 4500: <-0.004744, -0.001561, -0.006980> + 4501: <-0.004776, -0.001176, -0.007032> + 4502: <-0.004424, -0.001185, -0.007236> + 4503: <-0.004395, -0.001574, -0.007183> + 4504: <-0.004776, -0.001176, -0.007032> + 4505: <-0.004800, -0.000786, -0.007069> + 4506: <-0.004446, -0.000792, -0.007275> + 4507: <-0.004424, -0.001185, -0.007236> + 4508: <-0.004800, -0.000786, -0.007069> + 4509: <-0.004815, -0.000394, -0.007092> + 4510: <-0.004460, -0.000397, -0.007298> + 4511: <-0.004446, -0.000792, -0.007275> + 4512: <-0.004815, -0.000394, -0.007092> + 4513: <-0.004820, -0.000000, -0.007099> + 4514: <-0.004465, -0.000000, -0.007306> + 4515: <-0.004460, -0.000397, -0.007298> + 4516: <-0.004820, -0.000000, -0.007099> + 4517: <-0.004815, 0.000394, -0.007092> + 4518: <-0.004460, 0.000397, -0.007298> + 4519: <-0.004465, -0.000000, -0.007306> + 4520: <-0.004815, 0.000394, -0.007092> + 4521: <-0.004800, 0.000786, -0.007069> + 4522: <-0.004446, 0.000792, -0.007275> + 4523: <-0.004460, 0.000397, -0.007298> + 4524: <-0.004800, 0.000786, -0.007069> + 4525: <-0.004776, 0.001176, -0.007032> + 4526: <-0.004424, 0.001185, -0.007236> + 4527: <-0.004446, 0.000792, -0.007275> + 4528: <-0.004776, 0.001176, -0.007032> + 4529: <-0.004744, 0.001561, -0.006980> + 4530: <-0.004395, 0.001574, -0.007183> + 4531: <-0.004424, 0.001185, -0.007236> + 4532: <-0.004744, 0.001561, -0.006980> + 4533: <-0.004705, 0.001940, -0.006915> + 4534: <-0.004360, 0.001957, -0.007115> + 4535: <-0.004395, 0.001574, -0.007183> + 4536: <-0.004705, 0.001940, -0.006915> + 4537: <-0.004659, 0.002313, -0.006836> + 4538: <-0.004318, 0.002333, -0.007033> + 4539: <-0.004360, 0.001957, -0.007115> + 4540: <-0.004659, 0.002313, -0.006836> + 4541: <-0.004609, 0.002676, -0.006745> + 4542: <-0.004273, 0.002701, -0.006937> + 4543: <-0.004318, 0.002333, -0.007033> + 4544: <-0.004609, 0.002676, -0.006745> + 4545: <-0.004553, 0.003030, -0.006641> + 4546: <-0.004223, 0.003060, -0.006828> + 4547: <-0.004273, 0.002701, -0.006937> + 4548: <-0.004553, 0.003030, -0.006641> + 4549: <-0.004494, 0.003372, -0.006525> + 4550: <-0.004170, 0.003407, -0.006705> + 4551: <-0.004223, 0.003060, -0.006828> + 4552: <-0.004494, 0.003372, -0.006525> + 4553: <-0.004434, 0.003701, -0.006397> + 4554: <-0.004117, 0.003743, -0.006570> + 4555: <-0.004170, 0.003407, -0.006705> + 4556: <-0.004434, 0.003701, -0.006397> + 4557: <-0.004374, 0.004017, -0.006257> + 4558: <-0.004065, 0.004065, -0.006421> + 4559: <-0.004117, 0.003743, -0.006570> + 4560: <-0.004374, 0.004017, -0.006257> + 4561: <-0.004318, 0.004318, -0.006105> + 4562: <-0.004017, 0.004374, -0.006257> + 4563: <-0.004065, 0.004065, -0.006421> + 4564: <-0.004318, 0.004318, -0.006105> + 4565: <-0.004267, 0.004602, -0.005939> + 4566: <-0.003975, 0.004668, -0.006080> + 4567: <-0.004017, 0.004374, -0.006257> + 4568: <-0.004267, 0.004602, -0.005939> + 4569: <-0.004226, 0.004870, -0.005760> + 4570: <-0.003941, 0.004946, -0.005887> + 4571: <-0.003975, 0.004668, -0.006080> + 4572: <-0.004226, 0.004870, -0.005760> + 4573: <-0.004199, 0.005120, -0.005564> + 4574: <-0.003918, 0.005207, -0.005678> + 4575: <-0.003941, 0.004946, -0.005887> + 4576: <-0.003918, -0.005207, -0.005678> + 4577: <-0.003941, -0.004946, -0.005887> + 4578: <-0.003637, -0.005023, -0.006006> + 4579: <-0.003619, -0.005294, -0.005786> + 4580: <-0.003941, -0.004946, -0.005887> + 4581: <-0.003975, -0.004668, -0.006080> + 4582: <-0.003666, -0.004736, -0.006210> + 4583: <-0.003637, -0.005023, -0.006006> + 4584: <-0.003975, -0.004668, -0.006080> + 4585: <-0.004017, -0.004374, -0.006257> + 4586: <-0.003701, -0.004434, -0.006397> + 4587: <-0.003666, -0.004736, -0.006210> + 4588: <-0.004017, -0.004374, -0.006257> + 4589: <-0.004065, -0.004065, -0.006421> + 4590: <-0.003743, -0.004117, -0.006570> + 4591: <-0.003701, -0.004434, -0.006397> + 4592: <-0.004065, -0.004065, -0.006421> + 4593: <-0.004117, -0.003743, -0.006570> + 4594: <-0.003788, -0.003788, -0.006727> + 4595: <-0.003743, -0.004117, -0.006570> + 4596: <-0.004117, -0.003743, -0.006570> + 4597: <-0.004170, -0.003407, -0.006705> + 4598: <-0.003834, -0.003446, -0.006870> + 4599: <-0.003788, -0.003788, -0.006727> + 4600: <-0.004170, -0.003407, -0.006705> + 4601: <-0.004223, -0.003060, -0.006828> + 4602: <-0.003880, -0.003093, -0.006998> + 4603: <-0.003834, -0.003446, -0.006870> + 4604: <-0.004223, -0.003060, -0.006828> + 4605: <-0.004273, -0.002701, -0.006937> + 4606: <-0.003924, -0.002729, -0.007112> + 4607: <-0.003880, -0.003093, -0.006998> + 4608: <-0.004273, -0.002701, -0.006937> + 4609: <-0.004318, -0.002333, -0.007033> + 4610: <-0.003965, -0.002356, -0.007212> + 4611: <-0.003924, -0.002729, -0.007112> + 4612: <-0.004318, -0.002333, -0.007033> + 4613: <-0.004360, -0.001957, -0.007115> + 4614: <-0.004002, -0.001975, -0.007297> + 4615: <-0.003965, -0.002356, -0.007212> + 4616: <-0.004360, -0.001957, -0.007115> + 4617: <-0.004395, -0.001574, -0.007183> + 4618: <-0.004034, -0.001588, -0.007367> + 4619: <-0.004002, -0.001975, -0.007297> + 4620: <-0.004395, -0.001574, -0.007183> + 4621: <-0.004424, -0.001185, -0.007236> + 4622: <-0.004061, -0.001196, -0.007423> + 4623: <-0.004034, -0.001588, -0.007367> + 4624: <-0.004424, -0.001185, -0.007236> + 4625: <-0.004446, -0.000792, -0.007275> + 4626: <-0.004081, -0.000799, -0.007462> + 4627: <-0.004061, -0.001196, -0.007423> + 4628: <-0.004446, -0.000792, -0.007275> + 4629: <-0.004460, -0.000397, -0.007298> + 4630: <-0.004093, -0.000400, -0.007487> + 4631: <-0.004081, -0.000799, -0.007462> + 4632: <-0.004460, -0.000397, -0.007298> + 4633: <-0.004465, -0.000000, -0.007306> + 4634: <-0.004098, -0.000000, -0.007495> + 4635: <-0.004093, -0.000400, -0.007487> + 4636: <-0.004465, -0.000000, -0.007306> + 4637: <-0.004460, 0.000397, -0.007298> + 4638: <-0.004093, 0.000400, -0.007487> + 4639: <-0.004098, -0.000000, -0.007495> + 4640: <-0.004460, 0.000397, -0.007298> + 4641: <-0.004446, 0.000792, -0.007275> + 4642: <-0.004081, 0.000799, -0.007462> + 4643: <-0.004093, 0.000400, -0.007487> + 4644: <-0.004446, 0.000792, -0.007275> + 4645: <-0.004424, 0.001185, -0.007236> + 4646: <-0.004061, 0.001196, -0.007423> + 4647: <-0.004081, 0.000799, -0.007462> + 4648: <-0.004424, 0.001185, -0.007236> + 4649: <-0.004395, 0.001574, -0.007183> + 4650: <-0.004034, 0.001588, -0.007367> + 4651: <-0.004061, 0.001196, -0.007423> + 4652: <-0.004395, 0.001574, -0.007183> + 4653: <-0.004360, 0.001957, -0.007115> + 4654: <-0.004002, 0.001975, -0.007297> + 4655: <-0.004034, 0.001588, -0.007367> + 4656: <-0.004360, 0.001957, -0.007115> + 4657: <-0.004318, 0.002333, -0.007033> + 4658: <-0.003965, 0.002356, -0.007212> + 4659: <-0.004002, 0.001975, -0.007297> + 4660: <-0.004318, 0.002333, -0.007033> + 4661: <-0.004273, 0.002701, -0.006937> + 4662: <-0.003924, 0.002729, -0.007112> + 4663: <-0.003965, 0.002356, -0.007212> + 4664: <-0.004273, 0.002701, -0.006937> + 4665: <-0.004223, 0.003060, -0.006828> + 4666: <-0.003880, 0.003093, -0.006998> + 4667: <-0.003924, 0.002729, -0.007112> + 4668: <-0.004223, 0.003060, -0.006828> + 4669: <-0.004170, 0.003407, -0.006705> + 4670: <-0.003834, 0.003446, -0.006870> + 4671: <-0.003880, 0.003093, -0.006998> + 4672: <-0.004170, 0.003407, -0.006705> + 4673: <-0.004117, 0.003743, -0.006570> + 4674: <-0.003788, 0.003788, -0.006727> + 4675: <-0.003834, 0.003446, -0.006870> + 4676: <-0.004117, 0.003743, -0.006570> + 4677: <-0.004065, 0.004065, -0.006421> + 4678: <-0.003743, 0.004117, -0.006570> + 4679: <-0.003788, 0.003788, -0.006727> + 4680: <-0.004065, 0.004065, -0.006421> + 4681: <-0.004017, 0.004374, -0.006257> + 4682: <-0.003701, 0.004434, -0.006397> + 4683: <-0.003743, 0.004117, -0.006570> + 4684: <-0.004017, 0.004374, -0.006257> + 4685: <-0.003975, 0.004668, -0.006080> + 4686: <-0.003666, 0.004736, -0.006210> + 4687: <-0.003701, 0.004434, -0.006397> + 4688: <-0.003975, 0.004668, -0.006080> + 4689: <-0.003941, 0.004946, -0.005887> + 4690: <-0.003637, 0.005023, -0.006006> + 4691: <-0.003666, 0.004736, -0.006210> + 4692: <-0.003941, 0.004946, -0.005887> + 4693: <-0.003918, 0.005207, -0.005678> + 4694: <-0.003619, 0.005294, -0.005786> + 4695: <-0.003637, 0.005023, -0.006006> + 4696: <-0.003619, -0.005294, -0.005786> + 4697: <-0.003637, -0.005023, -0.006006> + 4698: <-0.003318, -0.005099, -0.006117> + 4699: <-0.003302, -0.005379, -0.005888> + 4700: <-0.003637, -0.005023, -0.006006> + 4701: <-0.003666, -0.004736, -0.006210> + 4702: <-0.003342, -0.004804, -0.006329> + 4703: <-0.003318, -0.005099, -0.006117> + 4704: <-0.003666, -0.004736, -0.006210> + 4705: <-0.003701, -0.004434, -0.006397> + 4706: <-0.003372, -0.004494, -0.006525> + 4707: <-0.003342, -0.004804, -0.006329> + 4708: <-0.003701, -0.004434, -0.006397> + 4709: <-0.003743, -0.004117, -0.006570> + 4710: <-0.003407, -0.004170, -0.006705> + 4711: <-0.003372, -0.004494, -0.006525> + 4712: <-0.003743, -0.004117, -0.006570> + 4713: <-0.003788, -0.003788, -0.006727> + 4714: <-0.003446, -0.003834, -0.006870> + 4715: <-0.003407, -0.004170, -0.006705> + 4716: <-0.003788, -0.003788, -0.006727> + 4717: <-0.003834, -0.003446, -0.006870> + 4718: <-0.003486, -0.003486, -0.007018> + 4719: <-0.003446, -0.003834, -0.006870> + 4720: <-0.003834, -0.003446, -0.006870> + 4721: <-0.003880, -0.003093, -0.006998> + 4722: <-0.003526, -0.003127, -0.007152> + 4723: <-0.003486, -0.003486, -0.007018> + 4724: <-0.003880, -0.003093, -0.006998> + 4725: <-0.003924, -0.002729, -0.007112> + 4726: <-0.003565, -0.002758, -0.007270> + 4727: <-0.003526, -0.003127, -0.007152> + 4728: <-0.003924, -0.002729, -0.007112> + 4729: <-0.003965, -0.002356, -0.007212> + 4730: <-0.003601, -0.002380, -0.007374> + 4731: <-0.003565, -0.002758, -0.007270> + 4732: <-0.003965, -0.002356, -0.007212> + 4733: <-0.004002, -0.001975, -0.007297> + 4734: <-0.003634, -0.001995, -0.007462> + 4735: <-0.003601, -0.002380, -0.007374> + 4736: <-0.004002, -0.001975, -0.007297> + 4737: <-0.004034, -0.001588, -0.007367> + 4738: <-0.003663, -0.001603, -0.007535> + 4739: <-0.003634, -0.001995, -0.007462> + 4740: <-0.004034, -0.001588, -0.007367> + 4741: <-0.004061, -0.001196, -0.007423> + 4742: <-0.003686, -0.001207, -0.007591> + 4743: <-0.003663, -0.001603, -0.007535> + 4744: <-0.004061, -0.001196, -0.007423> + 4745: <-0.004081, -0.000799, -0.007462> + 4746: <-0.003704, -0.000807, -0.007632> + 4747: <-0.003686, -0.001207, -0.007591> + 4748: <-0.004081, -0.000799, -0.007462> + 4749: <-0.004093, -0.000400, -0.007487> + 4750: <-0.003716, -0.000404, -0.007657> + 4751: <-0.003704, -0.000807, -0.007632> + 4752: <-0.004093, -0.000400, -0.007487> + 4753: <-0.004098, -0.000000, -0.007495> + 4754: <-0.003720, -0.000000, -0.007665> + 4755: <-0.003716, -0.000404, -0.007657> + 4756: <-0.004098, -0.000000, -0.007495> + 4757: <-0.004093, 0.000400, -0.007487> + 4758: <-0.003716, 0.000404, -0.007657> + 4759: <-0.003720, -0.000000, -0.007665> + 4760: <-0.004093, 0.000400, -0.007487> + 4761: <-0.004081, 0.000799, -0.007462> + 4762: <-0.003704, 0.000807, -0.007632> + 4763: <-0.003716, 0.000404, -0.007657> + 4764: <-0.004081, 0.000799, -0.007462> + 4765: <-0.004061, 0.001196, -0.007423> + 4766: <-0.003686, 0.001207, -0.007591> + 4767: <-0.003704, 0.000807, -0.007632> + 4768: <-0.004061, 0.001196, -0.007423> + 4769: <-0.004034, 0.001588, -0.007367> + 4770: <-0.003663, 0.001603, -0.007535> + 4771: <-0.003686, 0.001207, -0.007591> + 4772: <-0.004034, 0.001588, -0.007367> + 4773: <-0.004002, 0.001975, -0.007297> + 4774: <-0.003634, 0.001995, -0.007462> + 4775: <-0.003663, 0.001603, -0.007535> + 4776: <-0.004002, 0.001975, -0.007297> + 4777: <-0.003965, 0.002356, -0.007212> + 4778: <-0.003601, 0.002380, -0.007374> + 4779: <-0.003634, 0.001995, -0.007462> + 4780: <-0.003965, 0.002356, -0.007212> + 4781: <-0.003924, 0.002729, -0.007112> + 4782: <-0.003565, 0.002758, -0.007270> + 4783: <-0.003601, 0.002380, -0.007374> + 4784: <-0.003924, 0.002729, -0.007112> + 4785: <-0.003880, 0.003093, -0.006998> + 4786: <-0.003526, 0.003127, -0.007152> + 4787: <-0.003565, 0.002758, -0.007270> + 4788: <-0.003880, 0.003093, -0.006998> + 4789: <-0.003834, 0.003446, -0.006870> + 4790: <-0.003486, 0.003486, -0.007018> + 4791: <-0.003526, 0.003127, -0.007152> + 4792: <-0.003834, 0.003446, -0.006870> + 4793: <-0.003788, 0.003788, -0.006727> + 4794: <-0.003446, 0.003834, -0.006870> + 4795: <-0.003486, 0.003486, -0.007018> + 4796: <-0.003788, 0.003788, -0.006727> + 4797: <-0.003743, 0.004117, -0.006570> + 4798: <-0.003407, 0.004170, -0.006705> + 4799: <-0.003446, 0.003834, -0.006870> + 4800: <-0.003743, 0.004117, -0.006570> + 4801: <-0.003701, 0.004434, -0.006397> + 4802: <-0.003372, 0.004494, -0.006525> + 4803: <-0.003407, 0.004170, -0.006705> + 4804: <-0.003701, 0.004434, -0.006397> + 4805: <-0.003666, 0.004736, -0.006210> + 4806: <-0.003342, 0.004804, -0.006329> + 4807: <-0.003372, 0.004494, -0.006525> + 4808: <-0.003666, 0.004736, -0.006210> + 4809: <-0.003637, 0.005023, -0.006006> + 4810: <-0.003318, 0.005099, -0.006117> + 4811: <-0.003342, 0.004804, -0.006329> + 4812: <-0.003637, 0.005023, -0.006006> + 4813: <-0.003619, 0.005294, -0.005786> + 4814: <-0.003302, 0.005379, -0.005888> + 4815: <-0.003318, 0.005099, -0.006117> + 4816: <-0.003302, -0.005379, -0.005888> + 4817: <-0.003318, -0.005099, -0.006117> + 4818: <-0.002984, -0.005172, -0.006219> + 4819: <-0.002971, -0.005459, -0.005983> + 4820: <-0.003318, -0.005099, -0.006117> + 4821: <-0.003342, -0.004804, -0.006329> + 4822: <-0.003004, -0.004870, -0.006439> + 4823: <-0.002984, -0.005172, -0.006219> + 4824: <-0.003342, -0.004804, -0.006329> + 4825: <-0.003372, -0.004494, -0.006525> + 4826: <-0.003030, -0.004553, -0.006641> + 4827: <-0.003004, -0.004870, -0.006439> + 4828: <-0.003372, -0.004494, -0.006525> + 4829: <-0.003407, -0.004170, -0.006705> + 4830: <-0.003060, -0.004223, -0.006828> + 4831: <-0.003030, -0.004553, -0.006641> + 4832: <-0.003407, -0.004170, -0.006705> + 4833: <-0.003446, -0.003834, -0.006870> + 4834: <-0.003093, -0.003880, -0.006998> + 4835: <-0.003060, -0.004223, -0.006828> + 4836: <-0.003446, -0.003834, -0.006870> + 4837: <-0.003486, -0.003486, -0.007018> + 4838: <-0.003127, -0.003526, -0.007152> + 4839: <-0.003093, -0.003880, -0.006998> + 4840: <-0.003486, -0.003486, -0.007018> + 4841: <-0.003526, -0.003127, -0.007152> + 4842: <-0.003162, -0.003162, -0.007290> + 4843: <-0.003127, -0.003526, -0.007152> + 4844: <-0.003526, -0.003127, -0.007152> + 4845: <-0.003565, -0.002758, -0.007270> + 4846: <-0.003195, -0.002787, -0.007412> + 4847: <-0.003162, -0.003162, -0.007290> + 4848: <-0.003565, -0.002758, -0.007270> + 4849: <-0.003601, -0.002380, -0.007374> + 4850: <-0.003227, -0.002405, -0.007519> + 4851: <-0.003195, -0.002787, -0.007412> + 4852: <-0.003601, -0.002380, -0.007374> + 4853: <-0.003634, -0.001995, -0.007462> + 4854: <-0.003255, -0.002015, -0.007610> + 4855: <-0.003227, -0.002405, -0.007519> + 4856: <-0.003634, -0.001995, -0.007462> + 4857: <-0.003663, -0.001603, -0.007535> + 4858: <-0.003281, -0.001619, -0.007684> + 4859: <-0.003255, -0.002015, -0.007610> + 4860: <-0.003663, -0.001603, -0.007535> + 4861: <-0.003686, -0.001207, -0.007591> + 4862: <-0.003302, -0.001219, -0.007743> + 4863: <-0.003281, -0.001619, -0.007684> + 4864: <-0.003686, -0.001207, -0.007591> + 4865: <-0.003704, -0.000807, -0.007632> + 4866: <-0.003318, -0.000814, -0.007785> + 4867: <-0.003302, -0.001219, -0.007743> + 4868: <-0.003704, -0.000807, -0.007632> + 4869: <-0.003716, -0.000404, -0.007657> + 4870: <-0.003328, -0.000408, -0.007810> + 4871: <-0.003318, -0.000814, -0.007785> + 4872: <-0.003716, -0.000404, -0.007657> + 4873: <-0.003720, -0.000000, -0.007665> + 4874: <-0.003331, -0.000000, -0.007818> + 4875: <-0.003328, -0.000408, -0.007810> + 4876: <-0.003720, -0.000000, -0.007665> + 4877: <-0.003716, 0.000404, -0.007657> + 4878: <-0.003328, 0.000408, -0.007810> + 4879: <-0.003331, -0.000000, -0.007818> + 4880: <-0.003716, 0.000404, -0.007657> + 4881: <-0.003704, 0.000807, -0.007632> + 4882: <-0.003318, 0.000814, -0.007785> + 4883: <-0.003328, 0.000408, -0.007810> + 4884: <-0.003704, 0.000807, -0.007632> + 4885: <-0.003686, 0.001207, -0.007591> + 4886: <-0.003302, 0.001219, -0.007743> + 4887: <-0.003318, 0.000814, -0.007785> + 4888: <-0.003686, 0.001207, -0.007591> + 4889: <-0.003663, 0.001603, -0.007535> + 4890: <-0.003281, 0.001619, -0.007684> + 4891: <-0.003302, 0.001219, -0.007743> + 4892: <-0.003663, 0.001603, -0.007535> + 4893: <-0.003634, 0.001995, -0.007462> + 4894: <-0.003255, 0.002015, -0.007610> + 4895: <-0.003281, 0.001619, -0.007684> + 4896: <-0.003634, 0.001995, -0.007462> + 4897: <-0.003601, 0.002380, -0.007374> + 4898: <-0.003227, 0.002405, -0.007519> + 4899: <-0.003255, 0.002015, -0.007610> + 4900: <-0.003601, 0.002380, -0.007374> + 4901: <-0.003565, 0.002758, -0.007270> + 4902: <-0.003195, 0.002787, -0.007412> + 4903: <-0.003227, 0.002405, -0.007519> + 4904: <-0.003565, 0.002758, -0.007270> + 4905: <-0.003526, 0.003127, -0.007152> + 4906: <-0.003162, 0.003162, -0.007290> + 4907: <-0.003195, 0.002787, -0.007412> + 4908: <-0.003526, 0.003127, -0.007152> + 4909: <-0.003486, 0.003486, -0.007018> + 4910: <-0.003127, 0.003526, -0.007152> + 4911: <-0.003162, 0.003162, -0.007290> + 4912: <-0.003486, 0.003486, -0.007018> + 4913: <-0.003446, 0.003834, -0.006870> + 4914: <-0.003093, 0.003880, -0.006998> + 4915: <-0.003127, 0.003526, -0.007152> + 4916: <-0.003446, 0.003834, -0.006870> + 4917: <-0.003407, 0.004170, -0.006705> + 4918: <-0.003060, 0.004223, -0.006828> + 4919: <-0.003093, 0.003880, -0.006998> + 4920: <-0.003407, 0.004170, -0.006705> + 4921: <-0.003372, 0.004494, -0.006525> + 4922: <-0.003030, 0.004553, -0.006641> + 4923: <-0.003060, 0.004223, -0.006828> + 4924: <-0.003372, 0.004494, -0.006525> + 4925: <-0.003342, 0.004804, -0.006329> + 4926: <-0.003004, 0.004870, -0.006439> + 4927: <-0.003030, 0.004553, -0.006641> + 4928: <-0.003342, 0.004804, -0.006329> + 4929: <-0.003318, 0.005099, -0.006117> + 4930: <-0.002984, 0.005172, -0.006219> + 4931: <-0.003004, 0.004870, -0.006439> + 4932: <-0.003318, 0.005099, -0.006117> + 4933: <-0.003302, 0.005379, -0.005888> + 4934: <-0.002971, 0.005459, -0.005983> + 4935: <-0.002984, 0.005172, -0.006219> + 4936: <-0.002971, -0.005459, -0.005983> + 4937: <-0.002984, -0.005172, -0.006219> + 4938: <-0.002638, -0.005240, -0.006311> + 4939: <-0.002627, -0.005533, -0.006069> + 4940: <-0.002984, -0.005172, -0.006219> + 4941: <-0.003004, -0.004870, -0.006439> + 4942: <-0.002655, -0.004931, -0.006537> + 4943: <-0.002638, -0.005240, -0.006311> + 4944: <-0.003004, -0.004870, -0.006439> + 4945: <-0.003030, -0.004553, -0.006641> + 4946: <-0.002676, -0.004609, -0.006745> + 4947: <-0.002655, -0.004931, -0.006537> + 4948: <-0.003030, -0.004553, -0.006641> + 4949: <-0.003060, -0.004223, -0.006828> + 4950: <-0.002701, -0.004273, -0.006937> + 4951: <-0.002676, -0.004609, -0.006745> + 4952: <-0.003060, -0.004223, -0.006828> + 4953: <-0.003093, -0.003880, -0.006998> + 4954: <-0.002729, -0.003924, -0.007112> + 4955: <-0.002701, -0.004273, -0.006937> + 4956: <-0.003093, -0.003880, -0.006998> + 4957: <-0.003127, -0.003526, -0.007152> + 4958: <-0.002758, -0.003565, -0.007270> + 4959: <-0.002729, -0.003924, -0.007112> + 4960: <-0.003127, -0.003526, -0.007152> + 4961: <-0.003162, -0.003162, -0.007290> + 4962: <-0.002787, -0.003195, -0.007412> + 4963: <-0.002758, -0.003565, -0.007270> + 4964: <-0.003162, -0.003162, -0.007290> + 4965: <-0.003195, -0.002787, -0.007412> + 4966: <-0.002816, -0.002816, -0.007538> + 4967: <-0.002787, -0.003195, -0.007412> + 4968: <-0.003195, -0.002787, -0.007412> + 4969: <-0.003227, -0.002405, -0.007519> + 4970: <-0.002843, -0.002429, -0.007648> + 4971: <-0.002816, -0.002816, -0.007538> + 4972: <-0.003227, -0.002405, -0.007519> + 4973: <-0.003255, -0.002015, -0.007610> + 4974: <-0.002868, -0.002035, -0.007740> + 4975: <-0.002843, -0.002429, -0.007648> + 4976: <-0.003255, -0.002015, -0.007610> + 4977: <-0.003281, -0.001619, -0.007684> + 4978: <-0.002890, -0.001635, -0.007817> + 4979: <-0.002868, -0.002035, -0.007740> + 4980: <-0.003281, -0.001619, -0.007684> + 4981: <-0.003302, -0.001219, -0.007743> + 4982: <-0.002908, -0.001230, -0.007876> + 4983: <-0.002890, -0.001635, -0.007817> + 4984: <-0.003302, -0.001219, -0.007743> + 4985: <-0.003318, -0.000814, -0.007785> + 4986: <-0.002922, -0.000822, -0.007919> + 4987: <-0.002908, -0.001230, -0.007876> + 4988: <-0.003318, -0.000814, -0.007785> + 4989: <-0.003328, -0.000408, -0.007810> + 4990: <-0.002931, -0.000412, -0.007945> + 4991: <-0.002922, -0.000822, -0.007919> + 4992: <-0.003328, -0.000408, -0.007810> + 4993: <-0.003331, -0.000000, -0.007818> + 4994: <-0.002934, -0.000000, -0.007953> + 4995: <-0.002931, -0.000412, -0.007945> + 4996: <-0.003331, -0.000000, -0.007818> + 4997: <-0.003328, 0.000408, -0.007810> + 4998: <-0.002931, 0.000412, -0.007945> + 4999: <-0.002934, -0.000000, -0.007953> + 5000: <-0.003328, 0.000408, -0.007810> + 5001: <-0.003318, 0.000814, -0.007785> + 5002: <-0.002922, 0.000822, -0.007919> + 5003: <-0.002931, 0.000412, -0.007945> + 5004: <-0.003318, 0.000814, -0.007785> + 5005: <-0.003302, 0.001219, -0.007743> + 5006: <-0.002908, 0.001230, -0.007876> + 5007: <-0.002922, 0.000822, -0.007919> + 5008: <-0.003302, 0.001219, -0.007743> + 5009: <-0.003281, 0.001619, -0.007684> + 5010: <-0.002890, 0.001635, -0.007817> + 5011: <-0.002908, 0.001230, -0.007876> + 5012: <-0.003281, 0.001619, -0.007684> + 5013: <-0.003255, 0.002015, -0.007610> + 5014: <-0.002868, 0.002035, -0.007740> + 5015: <-0.002890, 0.001635, -0.007817> + 5016: <-0.003255, 0.002015, -0.007610> + 5017: <-0.003227, 0.002405, -0.007519> + 5018: <-0.002843, 0.002429, -0.007648> + 5019: <-0.002868, 0.002035, -0.007740> + 5020: <-0.003227, 0.002405, -0.007519> + 5021: <-0.003195, 0.002787, -0.007412> + 5022: <-0.002816, 0.002816, -0.007538> + 5023: <-0.002843, 0.002429, -0.007648> + 5024: <-0.003195, 0.002787, -0.007412> + 5025: <-0.003162, 0.003162, -0.007290> + 5026: <-0.002787, 0.003195, -0.007412> + 5027: <-0.002816, 0.002816, -0.007538> + 5028: <-0.003162, 0.003162, -0.007290> + 5029: <-0.003127, 0.003526, -0.007152> + 5030: <-0.002758, 0.003565, -0.007270> + 5031: <-0.002787, 0.003195, -0.007412> + 5032: <-0.003127, 0.003526, -0.007152> + 5033: <-0.003093, 0.003880, -0.006998> + 5034: <-0.002729, 0.003924, -0.007112> + 5035: <-0.002758, 0.003565, -0.007270> + 5036: <-0.003093, 0.003880, -0.006998> + 5037: <-0.003060, 0.004223, -0.006828> + 5038: <-0.002701, 0.004273, -0.006937> + 5039: <-0.002729, 0.003924, -0.007112> + 5040: <-0.003060, 0.004223, -0.006828> + 5041: <-0.003030, 0.004553, -0.006641> + 5042: <-0.002676, 0.004609, -0.006745> + 5043: <-0.002701, 0.004273, -0.006937> + 5044: <-0.003030, 0.004553, -0.006641> + 5045: <-0.003004, 0.004870, -0.006439> + 5046: <-0.002655, 0.004931, -0.006537> + 5047: <-0.002676, 0.004609, -0.006745> + 5048: <-0.003004, 0.004870, -0.006439> + 5049: <-0.002984, 0.005172, -0.006219> + 5050: <-0.002638, 0.005240, -0.006311> + 5051: <-0.002655, 0.004931, -0.006537> + 5052: <-0.002984, 0.005172, -0.006219> + 5053: <-0.002971, 0.005459, -0.005983> + 5054: <-0.002627, 0.005533, -0.006069> + 5055: <-0.002638, 0.005240, -0.006311> + 5056: <-0.002627, -0.005533, -0.006069> + 5057: <-0.002638, -0.005240, -0.006311> + 5058: <-0.002281, -0.005301, -0.006393> + 5059: <-0.002272, -0.005599, -0.006146> + 5060: <-0.002638, -0.005240, -0.006311> + 5061: <-0.002655, -0.004931, -0.006537> + 5062: <-0.002295, -0.004987, -0.006623> + 5063: <-0.002281, -0.005301, -0.006393> + 5064: <-0.002655, -0.004931, -0.006537> + 5065: <-0.002676, -0.004609, -0.006745> + 5066: <-0.002313, -0.004659, -0.006836> + 5067: <-0.002295, -0.004987, -0.006623> + 5068: <-0.002676, -0.004609, -0.006745> + 5069: <-0.002701, -0.004273, -0.006937> + 5070: <-0.002333, -0.004318, -0.007033> + 5071: <-0.002313, -0.004659, -0.006836> + 5072: <-0.002701, -0.004273, -0.006937> + 5073: <-0.002729, -0.003924, -0.007112> + 5074: <-0.002356, -0.003965, -0.007212> + 5075: <-0.002333, -0.004318, -0.007033> + 5076: <-0.002729, -0.003924, -0.007112> + 5077: <-0.002758, -0.003565, -0.007270> + 5078: <-0.002380, -0.003601, -0.007374> + 5079: <-0.002356, -0.003965, -0.007212> + 5080: <-0.002758, -0.003565, -0.007270> + 5081: <-0.002787, -0.003195, -0.007412> + 5082: <-0.002405, -0.003227, -0.007519> + 5083: <-0.002380, -0.003601, -0.007374> + 5084: <-0.002787, -0.003195, -0.007412> + 5085: <-0.002816, -0.002816, -0.007538> + 5086: <-0.002429, -0.002843, -0.007648> + 5087: <-0.002405, -0.003227, -0.007519> + 5088: <-0.002816, -0.002816, -0.007538> + 5089: <-0.002843, -0.002429, -0.007648> + 5090: <-0.002452, -0.002452, -0.007759> + 5091: <-0.002429, -0.002843, -0.007648> + 5092: <-0.002843, -0.002429, -0.007648> + 5093: <-0.002868, -0.002035, -0.007740> + 5094: <-0.002473, -0.002053, -0.007854> + 5095: <-0.002452, -0.002452, -0.007759> + 5096: <-0.002868, -0.002035, -0.007740> + 5097: <-0.002890, -0.001635, -0.007817> + 5098: <-0.002492, -0.001650, -0.007932> + 5099: <-0.002473, -0.002053, -0.007854> + 5100: <-0.002890, -0.001635, -0.007817> + 5101: <-0.002908, -0.001230, -0.007876> + 5102: <-0.002507, -0.001241, -0.007992> + 5103: <-0.002492, -0.001650, -0.007932> + 5104: <-0.002908, -0.001230, -0.007876> + 5105: <-0.002922, -0.000822, -0.007919> + 5106: <-0.002519, -0.000829, -0.008036> + 5107: <-0.002507, -0.001241, -0.007992> + 5108: <-0.002922, -0.000822, -0.007919> + 5109: <-0.002931, -0.000412, -0.007945> + 5110: <-0.002527, -0.000415, -0.008062> + 5111: <-0.002519, -0.000829, -0.008036> + 5112: <-0.002931, -0.000412, -0.007945> + 5113: <-0.002934, -0.000000, -0.007953> + 5114: <-0.002530, -0.000000, -0.008070> + 5115: <-0.002527, -0.000415, -0.008062> + 5116: <-0.002934, -0.000000, -0.007953> + 5117: <-0.002931, 0.000412, -0.007945> + 5118: <-0.002527, 0.000415, -0.008062> + 5119: <-0.002530, -0.000000, -0.008070> + 5120: <-0.002931, 0.000412, -0.007945> + 5121: <-0.002922, 0.000822, -0.007919> + 5122: <-0.002519, 0.000829, -0.008036> + 5123: <-0.002527, 0.000415, -0.008062> + 5124: <-0.002922, 0.000822, -0.007919> + 5125: <-0.002908, 0.001230, -0.007876> + 5126: <-0.002507, 0.001241, -0.007992> + 5127: <-0.002519, 0.000829, -0.008036> + 5128: <-0.002908, 0.001230, -0.007876> + 5129: <-0.002890, 0.001635, -0.007817> + 5130: <-0.002492, 0.001650, -0.007932> + 5131: <-0.002507, 0.001241, -0.007992> + 5132: <-0.002890, 0.001635, -0.007817> + 5133: <-0.002868, 0.002035, -0.007740> + 5134: <-0.002473, 0.002053, -0.007854> + 5135: <-0.002492, 0.001650, -0.007932> + 5136: <-0.002868, 0.002035, -0.007740> + 5137: <-0.002843, 0.002429, -0.007648> + 5138: <-0.002452, 0.002452, -0.007759> + 5139: <-0.002473, 0.002053, -0.007854> + 5140: <-0.002843, 0.002429, -0.007648> + 5141: <-0.002816, 0.002816, -0.007538> + 5142: <-0.002429, 0.002843, -0.007648> + 5143: <-0.002452, 0.002452, -0.007759> + 5144: <-0.002816, 0.002816, -0.007538> + 5145: <-0.002787, 0.003195, -0.007412> + 5146: <-0.002405, 0.003227, -0.007519> + 5147: <-0.002429, 0.002843, -0.007648> + 5148: <-0.002787, 0.003195, -0.007412> + 5149: <-0.002758, 0.003565, -0.007270> + 5150: <-0.002380, 0.003601, -0.007374> + 5151: <-0.002405, 0.003227, -0.007519> + 5152: <-0.002758, 0.003565, -0.007270> + 5153: <-0.002729, 0.003924, -0.007112> + 5154: <-0.002356, 0.003965, -0.007212> + 5155: <-0.002380, 0.003601, -0.007374> + 5156: <-0.002729, 0.003924, -0.007112> + 5157: <-0.002701, 0.004273, -0.006937> + 5158: <-0.002333, 0.004318, -0.007033> + 5159: <-0.002356, 0.003965, -0.007212> + 5160: <-0.002701, 0.004273, -0.006937> + 5161: <-0.002676, 0.004609, -0.006745> + 5162: <-0.002313, 0.004659, -0.006836> + 5163: <-0.002333, 0.004318, -0.007033> + 5164: <-0.002676, 0.004609, -0.006745> + 5165: <-0.002655, 0.004931, -0.006537> + 5166: <-0.002295, 0.004987, -0.006623> + 5167: <-0.002313, 0.004659, -0.006836> + 5168: <-0.002655, 0.004931, -0.006537> + 5169: <-0.002638, 0.005240, -0.006311> + 5170: <-0.002281, 0.005301, -0.006393> + 5171: <-0.002295, 0.004987, -0.006623> + 5172: <-0.002638, 0.005240, -0.006311> + 5173: <-0.002627, 0.005533, -0.006069> + 5174: <-0.002272, 0.005599, -0.006146> + 5175: <-0.002281, 0.005301, -0.006393> + 5176: <-0.002272, -0.005599, -0.006146> + 5177: <-0.002281, -0.005301, -0.006393> + 5178: <-0.001915, -0.005355, -0.006464> + 5179: <-0.001908, -0.005657, -0.006212> + 5180: <-0.002281, -0.005301, -0.006393> + 5181: <-0.002295, -0.004987, -0.006623> + 5182: <-0.001926, -0.005037, -0.006698> + 5183: <-0.001915, -0.005355, -0.006464> + 5184: <-0.002295, -0.004987, -0.006623> + 5185: <-0.002313, -0.004659, -0.006836> + 5186: <-0.001940, -0.004705, -0.006915> + 5187: <-0.001926, -0.005037, -0.006698> + 5188: <-0.002313, -0.004659, -0.006836> + 5189: <-0.002333, -0.004318, -0.007033> + 5190: <-0.001957, -0.004360, -0.007115> + 5191: <-0.001940, -0.004705, -0.006915> + 5192: <-0.002333, -0.004318, -0.007033> + 5193: <-0.002356, -0.003965, -0.007212> + 5194: <-0.001975, -0.004002, -0.007297> + 5195: <-0.001957, -0.004360, -0.007115> + 5196: <-0.002356, -0.003965, -0.007212> + 5197: <-0.002380, -0.003601, -0.007374> + 5198: <-0.001995, -0.003634, -0.007462> + 5199: <-0.001975, -0.004002, -0.007297> + 5200: <-0.002380, -0.003601, -0.007374> + 5201: <-0.002405, -0.003227, -0.007519> + 5202: <-0.002015, -0.003255, -0.007610> + 5203: <-0.001995, -0.003634, -0.007462> + 5204: <-0.002405, -0.003227, -0.007519> + 5205: <-0.002429, -0.002843, -0.007648> + 5206: <-0.002035, -0.002868, -0.007740> + 5207: <-0.002015, -0.003255, -0.007610> + 5208: <-0.002429, -0.002843, -0.007648> + 5209: <-0.002452, -0.002452, -0.007759> + 5210: <-0.002053, -0.002473, -0.007854> + 5211: <-0.002035, -0.002868, -0.007740> + 5212: <-0.002452, -0.002452, -0.007759> + 5213: <-0.002473, -0.002053, -0.007854> + 5214: <-0.002071, -0.002071, -0.007950> + 5215: <-0.002053, -0.002473, -0.007854> + 5216: <-0.002473, -0.002053, -0.007854> + 5217: <-0.002492, -0.001650, -0.007932> + 5218: <-0.002086, -0.001663, -0.008029> + 5219: <-0.002071, -0.002071, -0.007950> + 5220: <-0.002492, -0.001650, -0.007932> + 5221: <-0.002507, -0.001241, -0.007992> + 5222: <-0.002099, -0.001252, -0.008090> + 5223: <-0.002086, -0.001663, -0.008029> + 5224: <-0.002507, -0.001241, -0.007992> + 5225: <-0.002519, -0.000829, -0.008036> + 5226: <-0.002109, -0.000836, -0.008134> + 5227: <-0.002099, -0.001252, -0.008090> + 5228: <-0.002519, -0.000829, -0.008036> + 5229: <-0.002527, -0.000415, -0.008062> + 5230: <-0.002116, -0.000419, -0.008161> + 5231: <-0.002109, -0.000836, -0.008134> + 5232: <-0.002527, -0.000415, -0.008062> + 5233: <-0.002530, -0.000000, -0.008070> + 5234: <-0.002118, -0.000000, -0.008169> + 5235: <-0.002116, -0.000419, -0.008161> + 5236: <-0.002530, -0.000000, -0.008070> + 5237: <-0.002527, 0.000415, -0.008062> + 5238: <-0.002116, 0.000419, -0.008161> + 5239: <-0.002118, -0.000000, -0.008169> + 5240: <-0.002527, 0.000415, -0.008062> + 5241: <-0.002519, 0.000829, -0.008036> + 5242: <-0.002109, 0.000836, -0.008134> + 5243: <-0.002116, 0.000419, -0.008161> + 5244: <-0.002519, 0.000829, -0.008036> + 5245: <-0.002507, 0.001241, -0.007992> + 5246: <-0.002099, 0.001252, -0.008090> + 5247: <-0.002109, 0.000836, -0.008134> + 5248: <-0.002507, 0.001241, -0.007992> + 5249: <-0.002492, 0.001650, -0.007932> + 5250: <-0.002086, 0.001663, -0.008029> + 5251: <-0.002099, 0.001252, -0.008090> + 5252: <-0.002492, 0.001650, -0.007932> + 5253: <-0.002473, 0.002053, -0.007854> + 5254: <-0.002071, 0.002071, -0.007950> + 5255: <-0.002086, 0.001663, -0.008029> + 5256: <-0.002473, 0.002053, -0.007854> + 5257: <-0.002452, 0.002452, -0.007759> + 5258: <-0.002053, 0.002473, -0.007854> + 5259: <-0.002071, 0.002071, -0.007950> + 5260: <-0.002452, 0.002452, -0.007759> + 5261: <-0.002429, 0.002843, -0.007648> + 5262: <-0.002035, 0.002868, -0.007740> + 5263: <-0.002053, 0.002473, -0.007854> + 5264: <-0.002429, 0.002843, -0.007648> + 5265: <-0.002405, 0.003227, -0.007519> + 5266: <-0.002015, 0.003255, -0.007610> + 5267: <-0.002035, 0.002868, -0.007740> + 5268: <-0.002405, 0.003227, -0.007519> + 5269: <-0.002380, 0.003601, -0.007374> + 5270: <-0.001995, 0.003634, -0.007462> + 5271: <-0.002015, 0.003255, -0.007610> + 5272: <-0.002380, 0.003601, -0.007374> + 5273: <-0.002356, 0.003965, -0.007212> + 5274: <-0.001975, 0.004002, -0.007297> + 5275: <-0.001995, 0.003634, -0.007462> + 5276: <-0.002356, 0.003965, -0.007212> + 5277: <-0.002333, 0.004318, -0.007033> + 5278: <-0.001957, 0.004360, -0.007115> + 5279: <-0.001975, 0.004002, -0.007297> + 5280: <-0.002333, 0.004318, -0.007033> + 5281: <-0.002313, 0.004659, -0.006836> + 5282: <-0.001940, 0.004705, -0.006915> + 5283: <-0.001957, 0.004360, -0.007115> + 5284: <-0.002313, 0.004659, -0.006836> + 5285: <-0.002295, 0.004987, -0.006623> + 5286: <-0.001926, 0.005037, -0.006698> + 5287: <-0.001940, 0.004705, -0.006915> + 5288: <-0.002295, 0.004987, -0.006623> + 5289: <-0.002281, 0.005301, -0.006393> + 5290: <-0.001915, 0.005355, -0.006464> + 5291: <-0.001926, 0.005037, -0.006698> + 5292: <-0.002281, 0.005301, -0.006393> + 5293: <-0.002272, 0.005599, -0.006146> + 5294: <-0.001908, 0.005657, -0.006212> + 5295: <-0.001915, 0.005355, -0.006464> + 5296: <-0.001908, -0.005657, -0.006212> + 5297: <-0.001915, -0.005355, -0.006464> + 5298: <-0.001541, -0.005401, -0.006523> + 5299: <-0.001536, -0.005707, -0.006269> + 5300: <-0.001915, -0.005355, -0.006464> + 5301: <-0.001926, -0.005037, -0.006698> + 5302: <-0.001550, -0.005080, -0.006761> + 5303: <-0.001541, -0.005401, -0.006523> + 5304: <-0.001926, -0.005037, -0.006698> + 5305: <-0.001940, -0.004705, -0.006915> + 5306: <-0.001561, -0.004744, -0.006980> + 5307: <-0.001550, -0.005080, -0.006761> + 5308: <-0.001940, -0.004705, -0.006915> + 5309: <-0.001957, -0.004360, -0.007115> + 5310: <-0.001574, -0.004395, -0.007183> + 5311: <-0.001561, -0.004744, -0.006980> + 5312: <-0.001957, -0.004360, -0.007115> + 5313: <-0.001975, -0.004002, -0.007297> + 5314: <-0.001588, -0.004034, -0.007367> + 5315: <-0.001574, -0.004395, -0.007183> + 5316: <-0.001975, -0.004002, -0.007297> + 5317: <-0.001995, -0.003634, -0.007462> + 5318: <-0.001603, -0.003663, -0.007535> + 5319: <-0.001588, -0.004034, -0.007367> + 5320: <-0.001995, -0.003634, -0.007462> + 5321: <-0.002015, -0.003255, -0.007610> + 5322: <-0.001619, -0.003281, -0.007684> + 5323: <-0.001603, -0.003663, -0.007535> + 5324: <-0.002015, -0.003255, -0.007610> + 5325: <-0.002035, -0.002868, -0.007740> + 5326: <-0.001635, -0.002890, -0.007817> + 5327: <-0.001619, -0.003281, -0.007684> + 5328: <-0.002035, -0.002868, -0.007740> + 5329: <-0.002053, -0.002473, -0.007854> + 5330: <-0.001650, -0.002492, -0.007932> + 5331: <-0.001635, -0.002890, -0.007817> + 5332: <-0.002053, -0.002473, -0.007854> + 5333: <-0.002071, -0.002071, -0.007950> + 5334: <-0.001663, -0.002086, -0.008029> + 5335: <-0.001650, -0.002492, -0.007932> + 5336: <-0.002071, -0.002071, -0.007950> + 5337: <-0.002086, -0.001663, -0.008029> + 5338: <-0.001676, -0.001676, -0.008109> + 5339: <-0.001663, -0.002086, -0.008029> + 5340: <-0.002086, -0.001663, -0.008029> + 5341: <-0.002099, -0.001252, -0.008090> + 5342: <-0.001686, -0.001261, -0.008171> + 5343: <-0.001676, -0.001676, -0.008109> + 5344: <-0.002099, -0.001252, -0.008090> + 5345: <-0.002109, -0.000836, -0.008134> + 5346: <-0.001694, -0.000842, -0.008215> + 5347: <-0.001686, -0.001261, -0.008171> + 5348: <-0.002109, -0.000836, -0.008134> + 5349: <-0.002116, -0.000419, -0.008161> + 5350: <-0.001699, -0.000422, -0.008242> + 5351: <-0.001694, -0.000842, -0.008215> + 5352: <-0.002116, -0.000419, -0.008161> + 5353: <-0.002118, -0.000000, -0.008169> + 5354: <-0.001701, 0.000000, -0.008251> + 5355: <-0.001699, -0.000422, -0.008242> + 5356: <-0.002118, -0.000000, -0.008169> + 5357: <-0.002116, 0.000419, -0.008161> + 5358: <-0.001699, 0.000422, -0.008242> + 5359: <-0.001701, 0.000000, -0.008251> + 5360: <-0.002116, 0.000419, -0.008161> + 5361: <-0.002109, 0.000836, -0.008134> + 5362: <-0.001694, 0.000842, -0.008215> + 5363: <-0.001699, 0.000422, -0.008242> + 5364: <-0.002109, 0.000836, -0.008134> + 5365: <-0.002099, 0.001252, -0.008090> + 5366: <-0.001686, 0.001261, -0.008171> + 5367: <-0.001694, 0.000842, -0.008215> + 5368: <-0.002099, 0.001252, -0.008090> + 5369: <-0.002086, 0.001663, -0.008029> + 5370: <-0.001676, 0.001676, -0.008109> + 5371: <-0.001686, 0.001261, -0.008171> + 5372: <-0.002086, 0.001663, -0.008029> + 5373: <-0.002071, 0.002071, -0.007950> + 5374: <-0.001663, 0.002086, -0.008029> + 5375: <-0.001676, 0.001676, -0.008109> + 5376: <-0.002071, 0.002071, -0.007950> + 5377: <-0.002053, 0.002473, -0.007854> + 5378: <-0.001650, 0.002492, -0.007932> + 5379: <-0.001663, 0.002086, -0.008029> + 5380: <-0.002053, 0.002473, -0.007854> + 5381: <-0.002035, 0.002868, -0.007740> + 5382: <-0.001635, 0.002890, -0.007817> + 5383: <-0.001650, 0.002492, -0.007932> + 5384: <-0.002035, 0.002868, -0.007740> + 5385: <-0.002015, 0.003255, -0.007610> + 5386: <-0.001619, 0.003281, -0.007684> + 5387: <-0.001635, 0.002890, -0.007817> + 5388: <-0.002015, 0.003255, -0.007610> + 5389: <-0.001995, 0.003634, -0.007462> + 5390: <-0.001603, 0.003663, -0.007535> + 5391: <-0.001619, 0.003281, -0.007684> + 5392: <-0.001995, 0.003634, -0.007462> + 5393: <-0.001975, 0.004002, -0.007297> + 5394: <-0.001588, 0.004034, -0.007367> + 5395: <-0.001603, 0.003663, -0.007535> + 5396: <-0.001975, 0.004002, -0.007297> + 5397: <-0.001957, 0.004360, -0.007115> + 5398: <-0.001574, 0.004395, -0.007183> + 5399: <-0.001588, 0.004034, -0.007367> + 5400: <-0.001957, 0.004360, -0.007115> + 5401: <-0.001940, 0.004705, -0.006915> + 5402: <-0.001561, 0.004744, -0.006980> + 5403: <-0.001574, 0.004395, -0.007183> + 5404: <-0.001940, 0.004705, -0.006915> + 5405: <-0.001926, 0.005037, -0.006698> + 5406: <-0.001550, 0.005080, -0.006761> + 5407: <-0.001561, 0.004744, -0.006980> + 5408: <-0.001926, 0.005037, -0.006698> + 5409: <-0.001915, 0.005355, -0.006464> + 5410: <-0.001541, 0.005401, -0.006523> + 5411: <-0.001550, 0.005080, -0.006761> + 5412: <-0.001915, 0.005355, -0.006464> + 5413: <-0.001908, 0.005657, -0.006212> + 5414: <-0.001536, 0.005707, -0.006269> + 5415: <-0.001541, 0.005401, -0.006523> + 5416: <-0.001536, -0.005707, -0.006269> + 5417: <-0.001541, -0.005401, -0.006523> + 5418: <-0.001161, -0.005438, -0.006570> + 5419: <-0.001157, -0.005747, -0.006313> + 5420: <-0.001541, -0.005401, -0.006523> + 5421: <-0.001550, -0.005080, -0.006761> + 5422: <-0.001168, -0.005114, -0.006810> + 5423: <-0.001161, -0.005438, -0.006570> + 5424: <-0.001550, -0.005080, -0.006761> + 5425: <-0.001561, -0.004744, -0.006980> + 5426: <-0.001176, -0.004776, -0.007032> + 5427: <-0.001168, -0.005114, -0.006810> + 5428: <-0.001561, -0.004744, -0.006980> + 5429: <-0.001574, -0.004395, -0.007183> + 5430: <-0.001185, -0.004424, -0.007236> + 5431: <-0.001176, -0.004776, -0.007032> + 5432: <-0.001574, -0.004395, -0.007183> + 5433: <-0.001588, -0.004034, -0.007367> + 5434: <-0.001196, -0.004061, -0.007423> + 5435: <-0.001185, -0.004424, -0.007236> + 5436: <-0.001588, -0.004034, -0.007367> + 5437: <-0.001603, -0.003663, -0.007535> + 5438: <-0.001207, -0.003686, -0.007591> + 5439: <-0.001196, -0.004061, -0.007423> + 5440: <-0.001603, -0.003663, -0.007535> + 5441: <-0.001619, -0.003281, -0.007684> + 5442: <-0.001219, -0.003302, -0.007743> + 5443: <-0.001207, -0.003686, -0.007591> + 5444: <-0.001619, -0.003281, -0.007684> + 5445: <-0.001635, -0.002890, -0.007817> + 5446: <-0.001230, -0.002908, -0.007876> + 5447: <-0.001219, -0.003302, -0.007743> + 5448: <-0.001635, -0.002890, -0.007817> + 5449: <-0.001650, -0.002492, -0.007932> + 5450: <-0.001241, -0.002507, -0.007992> + 5451: <-0.001230, -0.002908, -0.007876> + 5452: <-0.001650, -0.002492, -0.007932> + 5453: <-0.001663, -0.002086, -0.008029> + 5454: <-0.001252, -0.002099, -0.008090> + 5455: <-0.001241, -0.002507, -0.007992> + 5456: <-0.001663, -0.002086, -0.008029> + 5457: <-0.001676, -0.001676, -0.008109> + 5458: <-0.001261, -0.001686, -0.008171> + 5459: <-0.001252, -0.002099, -0.008090> + 5460: <-0.001676, -0.001676, -0.008109> + 5461: <-0.001686, -0.001261, -0.008171> + 5462: <-0.001269, -0.001269, -0.008233> + 5463: <-0.001261, -0.001686, -0.008171> + 5464: <-0.001686, -0.001261, -0.008171> + 5465: <-0.001694, -0.000842, -0.008215> + 5466: <-0.001275, -0.000848, -0.008278> + 5467: <-0.001269, -0.001269, -0.008233> + 5468: <-0.001694, -0.000842, -0.008215> + 5469: <-0.001699, -0.000422, -0.008242> + 5470: <-0.001278, -0.000424, -0.008305> + 5471: <-0.001275, -0.000848, -0.008278> + 5472: <-0.001699, -0.000422, -0.008242> + 5473: <-0.001701, 0.000000, -0.008251> + 5474: <-0.001280, 0.000000, -0.008314> + 5475: <-0.001278, -0.000424, -0.008305> + 5476: <-0.001701, 0.000000, -0.008251> + 5477: <-0.001699, 0.000422, -0.008242> + 5478: <-0.001278, 0.000424, -0.008305> + 5479: <-0.001280, 0.000000, -0.008314> + 5480: <-0.001699, 0.000422, -0.008242> + 5481: <-0.001694, 0.000842, -0.008215> + 5482: <-0.001275, 0.000848, -0.008278> + 5483: <-0.001278, 0.000424, -0.008305> + 5484: <-0.001694, 0.000842, -0.008215> + 5485: <-0.001686, 0.001261, -0.008171> + 5486: <-0.001269, 0.001269, -0.008233> + 5487: <-0.001275, 0.000848, -0.008278> + 5488: <-0.001686, 0.001261, -0.008171> + 5489: <-0.001676, 0.001676, -0.008109> + 5490: <-0.001261, 0.001686, -0.008171> + 5491: <-0.001269, 0.001269, -0.008233> + 5492: <-0.001676, 0.001676, -0.008109> + 5493: <-0.001663, 0.002086, -0.008029> + 5494: <-0.001252, 0.002099, -0.008090> + 5495: <-0.001261, 0.001686, -0.008171> + 5496: <-0.001663, 0.002086, -0.008029> + 5497: <-0.001650, 0.002492, -0.007932> + 5498: <-0.001241, 0.002507, -0.007992> + 5499: <-0.001252, 0.002099, -0.008090> + 5500: <-0.001650, 0.002492, -0.007932> + 5501: <-0.001635, 0.002890, -0.007817> + 5502: <-0.001230, 0.002908, -0.007876> + 5503: <-0.001241, 0.002507, -0.007992> + 5504: <-0.001635, 0.002890, -0.007817> + 5505: <-0.001619, 0.003281, -0.007684> + 5506: <-0.001219, 0.003302, -0.007743> + 5507: <-0.001230, 0.002908, -0.007876> + 5508: <-0.001619, 0.003281, -0.007684> + 5509: <-0.001603, 0.003663, -0.007535> + 5510: <-0.001207, 0.003686, -0.007591> + 5511: <-0.001219, 0.003302, -0.007743> + 5512: <-0.001603, 0.003663, -0.007535> + 5513: <-0.001588, 0.004034, -0.007367> + 5514: <-0.001196, 0.004061, -0.007423> + 5515: <-0.001207, 0.003686, -0.007591> + 5516: <-0.001588, 0.004034, -0.007367> + 5517: <-0.001574, 0.004395, -0.007183> + 5518: <-0.001185, 0.004424, -0.007236> + 5519: <-0.001196, 0.004061, -0.007423> + 5520: <-0.001574, 0.004395, -0.007183> + 5521: <-0.001561, 0.004744, -0.006980> + 5522: <-0.001176, 0.004776, -0.007032> + 5523: <-0.001185, 0.004424, -0.007236> + 5524: <-0.001561, 0.004744, -0.006980> + 5525: <-0.001550, 0.005080, -0.006761> + 5526: <-0.001168, 0.005114, -0.006810> + 5527: <-0.001176, 0.004776, -0.007032> + 5528: <-0.001550, 0.005080, -0.006761> + 5529: <-0.001541, 0.005401, -0.006523> + 5530: <-0.001161, 0.005438, -0.006570> + 5531: <-0.001168, 0.005114, -0.006810> + 5532: <-0.001541, 0.005401, -0.006523> + 5533: <-0.001536, 0.005707, -0.006269> + 5534: <-0.001157, 0.005747, -0.006313> + 5535: <-0.001161, 0.005438, -0.006570> + 5536: <-0.001157, -0.005747, -0.006313> + 5537: <-0.001161, -0.005438, -0.006570> + 5538: <-0.000777, -0.005466, -0.006605> + 5539: <-0.000774, -0.005776, -0.006346> + 5540: <-0.001161, -0.005438, -0.006570> + 5541: <-0.001168, -0.005114, -0.006810> + 5542: <-0.000781, -0.005140, -0.006846> + 5543: <-0.000777, -0.005466, -0.006605> + 5544: <-0.001168, -0.005114, -0.006810> + 5545: <-0.001176, -0.004776, -0.007032> + 5546: <-0.000786, -0.004800, -0.007069> + 5547: <-0.000781, -0.005140, -0.006846> + 5548: <-0.001176, -0.004776, -0.007032> + 5549: <-0.001185, -0.004424, -0.007236> + 5550: <-0.000792, -0.004446, -0.007275> + 5551: <-0.000786, -0.004800, -0.007069> + 5552: <-0.001185, -0.004424, -0.007236> + 5553: <-0.001196, -0.004061, -0.007423> + 5554: <-0.000799, -0.004081, -0.007462> + 5555: <-0.000792, -0.004446, -0.007275> + 5556: <-0.001196, -0.004061, -0.007423> + 5557: <-0.001207, -0.003686, -0.007591> + 5558: <-0.000807, -0.003704, -0.007632> + 5559: <-0.000799, -0.004081, -0.007462> + 5560: <-0.001207, -0.003686, -0.007591> + 5561: <-0.001219, -0.003302, -0.007743> + 5562: <-0.000814, -0.003318, -0.007785> + 5563: <-0.000807, -0.003704, -0.007632> + 5564: <-0.001219, -0.003302, -0.007743> + 5565: <-0.001230, -0.002908, -0.007876> + 5566: <-0.000822, -0.002922, -0.007919> + 5567: <-0.000814, -0.003318, -0.007785> + 5568: <-0.001230, -0.002908, -0.007876> + 5569: <-0.001241, -0.002507, -0.007992> + 5570: <-0.000829, -0.002519, -0.008036> + 5571: <-0.000822, -0.002922, -0.007919> + 5572: <-0.001241, -0.002507, -0.007992> + 5573: <-0.001252, -0.002099, -0.008090> + 5574: <-0.000836, -0.002109, -0.008134> + 5575: <-0.000829, -0.002519, -0.008036> + 5576: <-0.001252, -0.002099, -0.008090> + 5577: <-0.001261, -0.001686, -0.008171> + 5578: <-0.000842, -0.001694, -0.008215> + 5579: <-0.000836, -0.002109, -0.008134> + 5580: <-0.001261, -0.001686, -0.008171> + 5581: <-0.001269, -0.001269, -0.008233> + 5582: <-0.000848, -0.001275, -0.008278> + 5583: <-0.000842, -0.001694, -0.008215> + 5584: <-0.001269, -0.001269, -0.008233> + 5585: <-0.001275, -0.000848, -0.008278> + 5586: <-0.000852, -0.000852, -0.008323> + 5587: <-0.000848, -0.001275, -0.008278> + 5588: <-0.001275, -0.000848, -0.008278> + 5589: <-0.001278, -0.000424, -0.008305> + 5590: <-0.000854, -0.000426, -0.008350> + 5591: <-0.000852, -0.000852, -0.008323> + 5592: <-0.001278, -0.000424, -0.008305> + 5593: <-0.001280, 0.000000, -0.008314> + 5594: <-0.000855, 0.000000, -0.008359> + 5595: <-0.000854, -0.000426, -0.008350> + 5596: <-0.001280, 0.000000, -0.008314> + 5597: <-0.001278, 0.000424, -0.008305> + 5598: <-0.000854, 0.000426, -0.008350> + 5599: <-0.000855, 0.000000, -0.008359> + 5600: <-0.001278, 0.000424, -0.008305> + 5601: <-0.001275, 0.000848, -0.008278> + 5602: <-0.000852, 0.000852, -0.008323> + 5603: <-0.000854, 0.000426, -0.008350> + 5604: <-0.001275, 0.000848, -0.008278> + 5605: <-0.001269, 0.001269, -0.008233> + 5606: <-0.000848, 0.001275, -0.008278> + 5607: <-0.000852, 0.000852, -0.008323> + 5608: <-0.001269, 0.001269, -0.008233> + 5609: <-0.001261, 0.001686, -0.008171> + 5610: <-0.000842, 0.001694, -0.008215> + 5611: <-0.000848, 0.001275, -0.008278> + 5612: <-0.001261, 0.001686, -0.008171> + 5613: <-0.001252, 0.002099, -0.008090> + 5614: <-0.000836, 0.002109, -0.008134> + 5615: <-0.000842, 0.001694, -0.008215> + 5616: <-0.001252, 0.002099, -0.008090> + 5617: <-0.001241, 0.002507, -0.007992> + 5618: <-0.000829, 0.002519, -0.008036> + 5619: <-0.000836, 0.002109, -0.008134> + 5620: <-0.001241, 0.002507, -0.007992> + 5621: <-0.001230, 0.002908, -0.007876> + 5622: <-0.000822, 0.002922, -0.007919> + 5623: <-0.000829, 0.002519, -0.008036> + 5624: <-0.001230, 0.002908, -0.007876> + 5625: <-0.001219, 0.003302, -0.007743> + 5626: <-0.000814, 0.003318, -0.007785> + 5627: <-0.000822, 0.002922, -0.007919> + 5628: <-0.001219, 0.003302, -0.007743> + 5629: <-0.001207, 0.003686, -0.007591> + 5630: <-0.000807, 0.003704, -0.007632> + 5631: <-0.000814, 0.003318, -0.007785> + 5632: <-0.001207, 0.003686, -0.007591> + 5633: <-0.001196, 0.004061, -0.007423> + 5634: <-0.000799, 0.004081, -0.007462> + 5635: <-0.000807, 0.003704, -0.007632> + 5636: <-0.001196, 0.004061, -0.007423> + 5637: <-0.001185, 0.004424, -0.007236> + 5638: <-0.000792, 0.004446, -0.007275> + 5639: <-0.000799, 0.004081, -0.007462> + 5640: <-0.001185, 0.004424, -0.007236> + 5641: <-0.001176, 0.004776, -0.007032> + 5642: <-0.000786, 0.004800, -0.007069> + 5643: <-0.000792, 0.004446, -0.007275> + 5644: <-0.001176, 0.004776, -0.007032> + 5645: <-0.001168, 0.005114, -0.006810> + 5646: <-0.000781, 0.005140, -0.006846> + 5647: <-0.000786, 0.004800, -0.007069> + 5648: <-0.001168, 0.005114, -0.006810> + 5649: <-0.001161, 0.005438, -0.006570> + 5650: <-0.000777, 0.005466, -0.006605> + 5651: <-0.000781, 0.005140, -0.006846> + 5652: <-0.001161, 0.005438, -0.006570> + 5653: <-0.001157, 0.005747, -0.006313> + 5654: <-0.000774, 0.005776, -0.006346> + 5655: <-0.000777, 0.005466, -0.006605> + 5656: <-0.000774, -0.005776, -0.006346> + 5657: <-0.000777, -0.005466, -0.006605> + 5658: <-0.000389, -0.005483, -0.006626> + 5659: <-0.000388, -0.005794, -0.006366> + 5660: <-0.000777, -0.005466, -0.006605> + 5661: <-0.000781, -0.005140, -0.006846> + 5662: <-0.000391, -0.005156, -0.006868> + 5663: <-0.000389, -0.005483, -0.006626> + 5664: <-0.000781, -0.005140, -0.006846> + 5665: <-0.000786, -0.004800, -0.007069> + 5666: <-0.000394, -0.004815, -0.007092> + 5667: <-0.000391, -0.005156, -0.006868> + 5668: <-0.000786, -0.004800, -0.007069> + 5669: <-0.000792, -0.004446, -0.007275> + 5670: <-0.000397, -0.004460, -0.007298> + 5671: <-0.000394, -0.004815, -0.007092> + 5672: <-0.000792, -0.004446, -0.007275> + 5673: <-0.000799, -0.004081, -0.007462> + 5674: <-0.000400, -0.004093, -0.007487> + 5675: <-0.000397, -0.004460, -0.007298> + 5676: <-0.000799, -0.004081, -0.007462> + 5677: <-0.000807, -0.003704, -0.007632> + 5678: <-0.000404, -0.003716, -0.007657> + 5679: <-0.000400, -0.004093, -0.007487> + 5680: <-0.000807, -0.003704, -0.007632> + 5681: <-0.000814, -0.003318, -0.007785> + 5682: <-0.000408, -0.003328, -0.007810> + 5683: <-0.000404, -0.003716, -0.007657> + 5684: <-0.000814, -0.003318, -0.007785> + 5685: <-0.000822, -0.002922, -0.007919> + 5686: <-0.000412, -0.002931, -0.007945> + 5687: <-0.000408, -0.003328, -0.007810> + 5688: <-0.000822, -0.002922, -0.007919> + 5689: <-0.000829, -0.002519, -0.008036> + 5690: <-0.000415, -0.002527, -0.008062> + 5691: <-0.000412, -0.002931, -0.007945> + 5692: <-0.000829, -0.002519, -0.008036> + 5693: <-0.000836, -0.002109, -0.008134> + 5694: <-0.000419, -0.002116, -0.008161> + 5695: <-0.000415, -0.002527, -0.008062> + 5696: <-0.000836, -0.002109, -0.008134> + 5697: <-0.000842, -0.001694, -0.008215> + 5698: <-0.000422, -0.001699, -0.008242> + 5699: <-0.000419, -0.002116, -0.008161> + 5700: <-0.000842, -0.001694, -0.008215> + 5701: <-0.000848, -0.001275, -0.008278> + 5702: <-0.000424, -0.001278, -0.008305> + 5703: <-0.000422, -0.001699, -0.008242> + 5704: <-0.000848, -0.001275, -0.008278> + 5705: <-0.000852, -0.000852, -0.008323> + 5706: <-0.000426, -0.000854, -0.008350> + 5707: <-0.000424, -0.001278, -0.008305> + 5708: <-0.000852, -0.000852, -0.008323> + 5709: <-0.000854, -0.000426, -0.008350> + 5710: <-0.000428, -0.000428, -0.008377> + 5711: <-0.000426, -0.000854, -0.008350> + 5712: <-0.000854, -0.000426, -0.008350> + 5713: <-0.000855, 0.000000, -0.008359> + 5714: <-0.000428, 0.000000, -0.008386> + 5715: <-0.000428, -0.000428, -0.008377> + 5716: <-0.000855, 0.000000, -0.008359> + 5717: <-0.000854, 0.000426, -0.008350> + 5718: <-0.000428, 0.000428, -0.008377> + 5719: <-0.000428, 0.000000, -0.008386> + 5720: <-0.000854, 0.000426, -0.008350> + 5721: <-0.000852, 0.000852, -0.008323> + 5722: <-0.000426, 0.000854, -0.008350> + 5723: <-0.000428, 0.000428, -0.008377> + 5724: <-0.000852, 0.000852, -0.008323> + 5725: <-0.000848, 0.001275, -0.008278> + 5726: <-0.000424, 0.001278, -0.008305> + 5727: <-0.000426, 0.000854, -0.008350> + 5728: <-0.000848, 0.001275, -0.008278> + 5729: <-0.000842, 0.001694, -0.008215> + 5730: <-0.000422, 0.001699, -0.008242> + 5731: <-0.000424, 0.001278, -0.008305> + 5732: <-0.000842, 0.001694, -0.008215> + 5733: <-0.000836, 0.002109, -0.008134> + 5734: <-0.000419, 0.002116, -0.008161> + 5735: <-0.000422, 0.001699, -0.008242> + 5736: <-0.000836, 0.002109, -0.008134> + 5737: <-0.000829, 0.002519, -0.008036> + 5738: <-0.000415, 0.002527, -0.008062> + 5739: <-0.000419, 0.002116, -0.008161> + 5740: <-0.000829, 0.002519, -0.008036> + 5741: <-0.000822, 0.002922, -0.007919> + 5742: <-0.000412, 0.002931, -0.007945> + 5743: <-0.000415, 0.002527, -0.008062> + 5744: <-0.000822, 0.002922, -0.007919> + 5745: <-0.000814, 0.003318, -0.007785> + 5746: <-0.000408, 0.003328, -0.007810> + 5747: <-0.000412, 0.002931, -0.007945> + 5748: <-0.000814, 0.003318, -0.007785> + 5749: <-0.000807, 0.003704, -0.007632> + 5750: <-0.000404, 0.003716, -0.007657> + 5751: <-0.000408, 0.003328, -0.007810> + 5752: <-0.000807, 0.003704, -0.007632> + 5753: <-0.000799, 0.004081, -0.007462> + 5754: <-0.000400, 0.004093, -0.007487> + 5755: <-0.000404, 0.003716, -0.007657> + 5756: <-0.000799, 0.004081, -0.007462> + 5757: <-0.000792, 0.004446, -0.007275> + 5758: <-0.000397, 0.004460, -0.007298> + 5759: <-0.000400, 0.004093, -0.007487> + 5760: <-0.000792, 0.004446, -0.007275> + 5761: <-0.000786, 0.004800, -0.007069> + 5762: <-0.000394, 0.004815, -0.007092> + 5763: <-0.000397, 0.004460, -0.007298> + 5764: <-0.000786, 0.004800, -0.007069> + 5765: <-0.000781, 0.005140, -0.006846> + 5766: <-0.000391, 0.005156, -0.006868> + 5767: <-0.000394, 0.004815, -0.007092> + 5768: <-0.000781, 0.005140, -0.006846> + 5769: <-0.000777, 0.005466, -0.006605> + 5770: <-0.000389, 0.005483, -0.006626> + 5771: <-0.000391, 0.005156, -0.006868> + 5772: <-0.000777, 0.005466, -0.006605> + 5773: <-0.000774, 0.005776, -0.006346> + 5774: <-0.000388, 0.005794, -0.006366> + 5775: <-0.000389, 0.005483, -0.006626> + 5776: <-0.000388, -0.005794, -0.006366> + 5777: <-0.000389, -0.005483, -0.006626> + 5778: < 0.000000, -0.005489, -0.006633> + 5779: <-0.000000, -0.005801, -0.006373> + 5780: <-0.000389, -0.005483, -0.006626> + 5781: <-0.000391, -0.005156, -0.006868> + 5782: < 0.000000, -0.005162, -0.006875> + 5783: < 0.000000, -0.005489, -0.006633> + 5784: <-0.000391, -0.005156, -0.006868> + 5785: <-0.000394, -0.004815, -0.007092> + 5786: < 0.000000, -0.004820, -0.007099> + 5787: < 0.000000, -0.005162, -0.006875> + 5788: <-0.000394, -0.004815, -0.007092> + 5789: <-0.000397, -0.004460, -0.007298> + 5790: < 0.000000, -0.004465, -0.007306> + 5791: < 0.000000, -0.004820, -0.007099> + 5792: <-0.000397, -0.004460, -0.007298> + 5793: <-0.000400, -0.004093, -0.007487> + 5794: < 0.000000, -0.004098, -0.007495> + 5795: < 0.000000, -0.004465, -0.007306> + 5796: <-0.000400, -0.004093, -0.007487> + 5797: <-0.000404, -0.003716, -0.007657> + 5798: < 0.000000, -0.003720, -0.007665> + 5799: < 0.000000, -0.004098, -0.007495> + 5800: <-0.000404, -0.003716, -0.007657> + 5801: <-0.000408, -0.003328, -0.007810> + 5802: < 0.000000, -0.003331, -0.007818> + 5803: < 0.000000, -0.003720, -0.007665> + 5804: <-0.000408, -0.003328, -0.007810> + 5805: <-0.000412, -0.002931, -0.007945> + 5806: < 0.000000, -0.002934, -0.007953> + 5807: < 0.000000, -0.003331, -0.007818> + 5808: <-0.000412, -0.002931, -0.007945> + 5809: <-0.000415, -0.002527, -0.008062> + 5810: < 0.000000, -0.002530, -0.008070> + 5811: < 0.000000, -0.002934, -0.007953> + 5812: <-0.000415, -0.002527, -0.008062> + 5813: <-0.000419, -0.002116, -0.008161> + 5814: < 0.000000, -0.002118, -0.008169> + 5815: < 0.000000, -0.002530, -0.008070> + 5816: <-0.000419, -0.002116, -0.008161> + 5817: <-0.000422, -0.001699, -0.008242> + 5818: <-0.000000, -0.001701, -0.008251> + 5819: < 0.000000, -0.002118, -0.008169> + 5820: <-0.000422, -0.001699, -0.008242> + 5821: <-0.000424, -0.001278, -0.008305> + 5822: <-0.000000, -0.001280, -0.008314> + 5823: <-0.000000, -0.001701, -0.008251> + 5824: <-0.000424, -0.001278, -0.008305> + 5825: <-0.000426, -0.000854, -0.008350> + 5826: <-0.000000, -0.000855, -0.008359> + 5827: <-0.000000, -0.001280, -0.008314> + 5828: <-0.000426, -0.000854, -0.008350> + 5829: <-0.000428, -0.000428, -0.008377> + 5830: <-0.000000, -0.000428, -0.008386> + 5831: <-0.000000, -0.000855, -0.008359> + 5832: <-0.000428, -0.000428, -0.008377> + 5833: <-0.000428, 0.000000, -0.008386> + 5834: <-0.000000, 0.000000, -0.008395> + 5835: <-0.000000, -0.000428, -0.008386> + 5836: <-0.000428, 0.000000, -0.008386> + 5837: <-0.000428, 0.000428, -0.008377> + 5838: <-0.000000, 0.000428, -0.008386> + 5839: <-0.000000, 0.000000, -0.008395> + 5840: <-0.000428, 0.000428, -0.008377> + 5841: <-0.000426, 0.000854, -0.008350> + 5842: <-0.000000, 0.000855, -0.008359> + 5843: <-0.000000, 0.000428, -0.008386> + 5844: <-0.000426, 0.000854, -0.008350> + 5845: <-0.000424, 0.001278, -0.008305> + 5846: <-0.000000, 0.001280, -0.008314> + 5847: <-0.000000, 0.000855, -0.008359> + 5848: <-0.000424, 0.001278, -0.008305> + 5849: <-0.000422, 0.001699, -0.008242> + 5850: <-0.000000, 0.001701, -0.008251> + 5851: <-0.000000, 0.001280, -0.008314> + 5852: <-0.000422, 0.001699, -0.008242> + 5853: <-0.000419, 0.002116, -0.008161> + 5854: <-0.000000, 0.002118, -0.008169> + 5855: <-0.000000, 0.001701, -0.008251> + 5856: <-0.000419, 0.002116, -0.008161> + 5857: <-0.000415, 0.002527, -0.008062> + 5858: <-0.000000, 0.002530, -0.008070> + 5859: <-0.000000, 0.002118, -0.008169> + 5860: <-0.000415, 0.002527, -0.008062> + 5861: <-0.000412, 0.002931, -0.007945> + 5862: <-0.000000, 0.002934, -0.007953> + 5863: <-0.000000, 0.002530, -0.008070> + 5864: <-0.000412, 0.002931, -0.007945> + 5865: <-0.000408, 0.003328, -0.007810> + 5866: <-0.000000, 0.003331, -0.007818> + 5867: <-0.000000, 0.002934, -0.007953> + 5868: <-0.000408, 0.003328, -0.007810> + 5869: <-0.000404, 0.003716, -0.007657> + 5870: <-0.000000, 0.003720, -0.007665> + 5871: <-0.000000, 0.003331, -0.007818> + 5872: <-0.000404, 0.003716, -0.007657> + 5873: <-0.000400, 0.004093, -0.007487> + 5874: <-0.000000, 0.004098, -0.007495> + 5875: <-0.000000, 0.003720, -0.007665> + 5876: <-0.000400, 0.004093, -0.007487> + 5877: <-0.000397, 0.004460, -0.007298> + 5878: <-0.000000, 0.004465, -0.007306> + 5879: <-0.000000, 0.004098, -0.007495> + 5880: <-0.000397, 0.004460, -0.007298> + 5881: <-0.000394, 0.004815, -0.007092> + 5882: <-0.000000, 0.004820, -0.007099> + 5883: <-0.000000, 0.004465, -0.007306> + 5884: <-0.000394, 0.004815, -0.007092> + 5885: <-0.000391, 0.005156, -0.006868> + 5886: <-0.000000, 0.005162, -0.006875> + 5887: <-0.000000, 0.004820, -0.007099> + 5888: <-0.000391, 0.005156, -0.006868> + 5889: <-0.000389, 0.005483, -0.006626> + 5890: <-0.000000, 0.005489, -0.006633> + 5891: <-0.000000, 0.005162, -0.006875> + 5892: <-0.000389, 0.005483, -0.006626> + 5893: <-0.000388, 0.005794, -0.006366> + 5894: <-0.000000, 0.005801, -0.006373> + 5895: <-0.000000, 0.005489, -0.006633> + 5896: <-0.000000, -0.005801, -0.006373> + 5897: < 0.000000, -0.005489, -0.006633> + 5898: < 0.000389, -0.005483, -0.006626> + 5899: < 0.000388, -0.005794, -0.006366> + 5900: < 0.000000, -0.005489, -0.006633> + 5901: < 0.000000, -0.005162, -0.006875> + 5902: < 0.000391, -0.005156, -0.006868> + 5903: < 0.000389, -0.005483, -0.006626> + 5904: < 0.000000, -0.005162, -0.006875> + 5905: < 0.000000, -0.004820, -0.007099> + 5906: < 0.000394, -0.004815, -0.007092> + 5907: < 0.000391, -0.005156, -0.006868> + 5908: < 0.000000, -0.004820, -0.007099> + 5909: < 0.000000, -0.004465, -0.007306> + 5910: < 0.000397, -0.004460, -0.007298> + 5911: < 0.000394, -0.004815, -0.007092> + 5912: < 0.000000, -0.004465, -0.007306> + 5913: < 0.000000, -0.004098, -0.007495> + 5914: < 0.000400, -0.004093, -0.007487> + 5915: < 0.000397, -0.004460, -0.007298> + 5916: < 0.000000, -0.004098, -0.007495> + 5917: < 0.000000, -0.003720, -0.007665> + 5918: < 0.000404, -0.003716, -0.007657> + 5919: < 0.000400, -0.004093, -0.007487> + 5920: < 0.000000, -0.003720, -0.007665> + 5921: < 0.000000, -0.003331, -0.007818> + 5922: < 0.000408, -0.003328, -0.007810> + 5923: < 0.000404, -0.003716, -0.007657> + 5924: < 0.000000, -0.003331, -0.007818> + 5925: < 0.000000, -0.002934, -0.007953> + 5926: < 0.000412, -0.002931, -0.007945> + 5927: < 0.000408, -0.003328, -0.007810> + 5928: < 0.000000, -0.002934, -0.007953> + 5929: < 0.000000, -0.002530, -0.008070> + 5930: < 0.000415, -0.002527, -0.008062> + 5931: < 0.000412, -0.002931, -0.007945> + 5932: < 0.000000, -0.002530, -0.008070> + 5933: < 0.000000, -0.002118, -0.008169> + 5934: < 0.000419, -0.002116, -0.008161> + 5935: < 0.000415, -0.002527, -0.008062> + 5936: < 0.000000, -0.002118, -0.008169> + 5937: <-0.000000, -0.001701, -0.008251> + 5938: < 0.000422, -0.001699, -0.008242> + 5939: < 0.000419, -0.002116, -0.008161> + 5940: <-0.000000, -0.001701, -0.008251> + 5941: <-0.000000, -0.001280, -0.008314> + 5942: < 0.000424, -0.001278, -0.008305> + 5943: < 0.000422, -0.001699, -0.008242> + 5944: <-0.000000, -0.001280, -0.008314> + 5945: <-0.000000, -0.000855, -0.008359> + 5946: < 0.000426, -0.000854, -0.008350> + 5947: < 0.000424, -0.001278, -0.008305> + 5948: <-0.000000, -0.000855, -0.008359> + 5949: <-0.000000, -0.000428, -0.008386> + 5950: < 0.000428, -0.000428, -0.008377> + 5951: < 0.000426, -0.000854, -0.008350> + 5952: <-0.000000, -0.000428, -0.008386> + 5953: <-0.000000, 0.000000, -0.008395> + 5954: < 0.000428, 0.000000, -0.008386> + 5955: < 0.000428, -0.000428, -0.008377> + 5956: <-0.000000, 0.000000, -0.008395> + 5957: <-0.000000, 0.000428, -0.008386> + 5958: < 0.000428, 0.000428, -0.008377> + 5959: < 0.000428, 0.000000, -0.008386> + 5960: <-0.000000, 0.000428, -0.008386> + 5961: <-0.000000, 0.000855, -0.008359> + 5962: < 0.000426, 0.000854, -0.008350> + 5963: < 0.000428, 0.000428, -0.008377> + 5964: <-0.000000, 0.000855, -0.008359> + 5965: <-0.000000, 0.001280, -0.008314> + 5966: < 0.000424, 0.001278, -0.008305> + 5967: < 0.000426, 0.000854, -0.008350> + 5968: <-0.000000, 0.001280, -0.008314> + 5969: <-0.000000, 0.001701, -0.008251> + 5970: < 0.000422, 0.001699, -0.008242> + 5971: < 0.000424, 0.001278, -0.008305> + 5972: <-0.000000, 0.001701, -0.008251> + 5973: <-0.000000, 0.002118, -0.008169> + 5974: < 0.000419, 0.002116, -0.008161> + 5975: < 0.000422, 0.001699, -0.008242> + 5976: <-0.000000, 0.002118, -0.008169> + 5977: <-0.000000, 0.002530, -0.008070> + 5978: < 0.000415, 0.002527, -0.008062> + 5979: < 0.000419, 0.002116, -0.008161> + 5980: <-0.000000, 0.002530, -0.008070> + 5981: <-0.000000, 0.002934, -0.007953> + 5982: < 0.000412, 0.002931, -0.007945> + 5983: < 0.000415, 0.002527, -0.008062> + 5984: <-0.000000, 0.002934, -0.007953> + 5985: <-0.000000, 0.003331, -0.007818> + 5986: < 0.000408, 0.003328, -0.007810> + 5987: < 0.000412, 0.002931, -0.007945> + 5988: <-0.000000, 0.003331, -0.007818> + 5989: <-0.000000, 0.003720, -0.007665> + 5990: < 0.000404, 0.003716, -0.007657> + 5991: < 0.000408, 0.003328, -0.007810> + 5992: <-0.000000, 0.003720, -0.007665> + 5993: <-0.000000, 0.004098, -0.007495> + 5994: < 0.000400, 0.004093, -0.007487> + 5995: < 0.000404, 0.003716, -0.007657> + 5996: <-0.000000, 0.004098, -0.007495> + 5997: <-0.000000, 0.004465, -0.007306> + 5998: < 0.000397, 0.004460, -0.007298> + 5999: < 0.000400, 0.004093, -0.007487> + 6000: <-0.000000, 0.004465, -0.007306> + 6001: <-0.000000, 0.004820, -0.007099> + 6002: < 0.000394, 0.004815, -0.007092> + 6003: < 0.000397, 0.004460, -0.007298> + 6004: <-0.000000, 0.004820, -0.007099> + 6005: <-0.000000, 0.005162, -0.006875> + 6006: < 0.000391, 0.005156, -0.006868> + 6007: < 0.000394, 0.004815, -0.007092> + 6008: <-0.000000, 0.005162, -0.006875> + 6009: <-0.000000, 0.005489, -0.006633> + 6010: < 0.000389, 0.005483, -0.006626> + 6011: < 0.000391, 0.005156, -0.006868> + 6012: <-0.000000, 0.005489, -0.006633> + 6013: <-0.000000, 0.005801, -0.006373> + 6014: < 0.000388, 0.005794, -0.006366> + 6015: < 0.000389, 0.005483, -0.006626> + 6016: < 0.000388, -0.005794, -0.006366> + 6017: < 0.000389, -0.005483, -0.006626> + 6018: < 0.000777, -0.005466, -0.006605> + 6019: < 0.000774, -0.005776, -0.006346> + 6020: < 0.000389, -0.005483, -0.006626> + 6021: < 0.000391, -0.005156, -0.006868> + 6022: < 0.000781, -0.005140, -0.006846> + 6023: < 0.000777, -0.005466, -0.006605> + 6024: < 0.000391, -0.005156, -0.006868> + 6025: < 0.000394, -0.004815, -0.007092> + 6026: < 0.000786, -0.004800, -0.007069> + 6027: < 0.000781, -0.005140, -0.006846> + 6028: < 0.000394, -0.004815, -0.007092> + 6029: < 0.000397, -0.004460, -0.007298> + 6030: < 0.000792, -0.004446, -0.007275> + 6031: < 0.000786, -0.004800, -0.007069> + 6032: < 0.000397, -0.004460, -0.007298> + 6033: < 0.000400, -0.004093, -0.007487> + 6034: < 0.000799, -0.004081, -0.007462> + 6035: < 0.000792, -0.004446, -0.007275> + 6036: < 0.000400, -0.004093, -0.007487> + 6037: < 0.000404, -0.003716, -0.007657> + 6038: < 0.000807, -0.003704, -0.007632> + 6039: < 0.000799, -0.004081, -0.007462> + 6040: < 0.000404, -0.003716, -0.007657> + 6041: < 0.000408, -0.003328, -0.007810> + 6042: < 0.000814, -0.003318, -0.007785> + 6043: < 0.000807, -0.003704, -0.007632> + 6044: < 0.000408, -0.003328, -0.007810> + 6045: < 0.000412, -0.002931, -0.007945> + 6046: < 0.000822, -0.002922, -0.007919> + 6047: < 0.000814, -0.003318, -0.007785> + 6048: < 0.000412, -0.002931, -0.007945> + 6049: < 0.000415, -0.002527, -0.008062> + 6050: < 0.000829, -0.002519, -0.008036> + 6051: < 0.000822, -0.002922, -0.007919> + 6052: < 0.000415, -0.002527, -0.008062> + 6053: < 0.000419, -0.002116, -0.008161> + 6054: < 0.000836, -0.002109, -0.008134> + 6055: < 0.000829, -0.002519, -0.008036> + 6056: < 0.000419, -0.002116, -0.008161> + 6057: < 0.000422, -0.001699, -0.008242> + 6058: < 0.000842, -0.001694, -0.008215> + 6059: < 0.000836, -0.002109, -0.008134> + 6060: < 0.000422, -0.001699, -0.008242> + 6061: < 0.000424, -0.001278, -0.008305> + 6062: < 0.000848, -0.001275, -0.008278> + 6063: < 0.000842, -0.001694, -0.008215> + 6064: < 0.000424, -0.001278, -0.008305> + 6065: < 0.000426, -0.000854, -0.008350> + 6066: < 0.000852, -0.000852, -0.008323> + 6067: < 0.000848, -0.001275, -0.008278> + 6068: < 0.000426, -0.000854, -0.008350> + 6069: < 0.000428, -0.000428, -0.008377> + 6070: < 0.000854, -0.000426, -0.008350> + 6071: < 0.000852, -0.000852, -0.008323> + 6072: < 0.000428, -0.000428, -0.008377> + 6073: < 0.000428, 0.000000, -0.008386> + 6074: < 0.000855, 0.000000, -0.008359> + 6075: < 0.000854, -0.000426, -0.008350> + 6076: < 0.000428, 0.000000, -0.008386> + 6077: < 0.000428, 0.000428, -0.008377> + 6078: < 0.000854, 0.000426, -0.008350> + 6079: < 0.000855, 0.000000, -0.008359> + 6080: < 0.000428, 0.000428, -0.008377> + 6081: < 0.000426, 0.000854, -0.008350> + 6082: < 0.000852, 0.000852, -0.008323> + 6083: < 0.000854, 0.000426, -0.008350> + 6084: < 0.000426, 0.000854, -0.008350> + 6085: < 0.000424, 0.001278, -0.008305> + 6086: < 0.000848, 0.001275, -0.008278> + 6087: < 0.000852, 0.000852, -0.008323> + 6088: < 0.000424, 0.001278, -0.008305> + 6089: < 0.000422, 0.001699, -0.008242> + 6090: < 0.000842, 0.001694, -0.008215> + 6091: < 0.000848, 0.001275, -0.008278> + 6092: < 0.000422, 0.001699, -0.008242> + 6093: < 0.000419, 0.002116, -0.008161> + 6094: < 0.000836, 0.002109, -0.008134> + 6095: < 0.000842, 0.001694, -0.008215> + 6096: < 0.000419, 0.002116, -0.008161> + 6097: < 0.000415, 0.002527, -0.008062> + 6098: < 0.000829, 0.002519, -0.008036> + 6099: < 0.000836, 0.002109, -0.008134> + 6100: < 0.000415, 0.002527, -0.008062> + 6101: < 0.000412, 0.002931, -0.007945> + 6102: < 0.000822, 0.002922, -0.007919> + 6103: < 0.000829, 0.002519, -0.008036> + 6104: < 0.000412, 0.002931, -0.007945> + 6105: < 0.000408, 0.003328, -0.007810> + 6106: < 0.000814, 0.003318, -0.007785> + 6107: < 0.000822, 0.002922, -0.007919> + 6108: < 0.000408, 0.003328, -0.007810> + 6109: < 0.000404, 0.003716, -0.007657> + 6110: < 0.000807, 0.003704, -0.007632> + 6111: < 0.000814, 0.003318, -0.007785> + 6112: < 0.000404, 0.003716, -0.007657> + 6113: < 0.000400, 0.004093, -0.007487> + 6114: < 0.000799, 0.004081, -0.007462> + 6115: < 0.000807, 0.003704, -0.007632> + 6116: < 0.000400, 0.004093, -0.007487> + 6117: < 0.000397, 0.004460, -0.007298> + 6118: < 0.000792, 0.004446, -0.007275> + 6119: < 0.000799, 0.004081, -0.007462> + 6120: < 0.000397, 0.004460, -0.007298> + 6121: < 0.000394, 0.004815, -0.007092> + 6122: < 0.000786, 0.004800, -0.007069> + 6123: < 0.000792, 0.004446, -0.007275> + 6124: < 0.000394, 0.004815, -0.007092> + 6125: < 0.000391, 0.005156, -0.006868> + 6126: < 0.000781, 0.005140, -0.006846> + 6127: < 0.000786, 0.004800, -0.007069> + 6128: < 0.000391, 0.005156, -0.006868> + 6129: < 0.000389, 0.005483, -0.006626> + 6130: < 0.000777, 0.005466, -0.006605> + 6131: < 0.000781, 0.005140, -0.006846> + 6132: < 0.000389, 0.005483, -0.006626> + 6133: < 0.000388, 0.005794, -0.006366> + 6134: < 0.000774, 0.005776, -0.006346> + 6135: < 0.000777, 0.005466, -0.006605> + 6136: < 0.000774, -0.005776, -0.006346> + 6137: < 0.000777, -0.005466, -0.006605> + 6138: < 0.001161, -0.005438, -0.006570> + 6139: < 0.001157, -0.005747, -0.006313> + 6140: < 0.000777, -0.005466, -0.006605> + 6141: < 0.000781, -0.005140, -0.006846> + 6142: < 0.001168, -0.005114, -0.006810> + 6143: < 0.001161, -0.005438, -0.006570> + 6144: < 0.000781, -0.005140, -0.006846> + 6145: < 0.000786, -0.004800, -0.007069> + 6146: < 0.001176, -0.004776, -0.007032> + 6147: < 0.001168, -0.005114, -0.006810> + 6148: < 0.000786, -0.004800, -0.007069> + 6149: < 0.000792, -0.004446, -0.007275> + 6150: < 0.001185, -0.004424, -0.007236> + 6151: < 0.001176, -0.004776, -0.007032> + 6152: < 0.000792, -0.004446, -0.007275> + 6153: < 0.000799, -0.004081, -0.007462> + 6154: < 0.001196, -0.004061, -0.007423> + 6155: < 0.001185, -0.004424, -0.007236> + 6156: < 0.000799, -0.004081, -0.007462> + 6157: < 0.000807, -0.003704, -0.007632> + 6158: < 0.001207, -0.003686, -0.007591> + 6159: < 0.001196, -0.004061, -0.007423> + 6160: < 0.000807, -0.003704, -0.007632> + 6161: < 0.000814, -0.003318, -0.007785> + 6162: < 0.001219, -0.003302, -0.007743> + 6163: < 0.001207, -0.003686, -0.007591> + 6164: < 0.000814, -0.003318, -0.007785> + 6165: < 0.000822, -0.002922, -0.007919> + 6166: < 0.001230, -0.002908, -0.007876> + 6167: < 0.001219, -0.003302, -0.007743> + 6168: < 0.000822, -0.002922, -0.007919> + 6169: < 0.000829, -0.002519, -0.008036> + 6170: < 0.001241, -0.002507, -0.007992> + 6171: < 0.001230, -0.002908, -0.007876> + 6172: < 0.000829, -0.002519, -0.008036> + 6173: < 0.000836, -0.002109, -0.008134> + 6174: < 0.001252, -0.002099, -0.008090> + 6175: < 0.001241, -0.002507, -0.007992> + 6176: < 0.000836, -0.002109, -0.008134> + 6177: < 0.000842, -0.001694, -0.008215> + 6178: < 0.001261, -0.001686, -0.008171> + 6179: < 0.001252, -0.002099, -0.008090> + 6180: < 0.000842, -0.001694, -0.008215> + 6181: < 0.000848, -0.001275, -0.008278> + 6182: < 0.001269, -0.001269, -0.008233> + 6183: < 0.001261, -0.001686, -0.008171> + 6184: < 0.000848, -0.001275, -0.008278> + 6185: < 0.000852, -0.000852, -0.008323> + 6186: < 0.001275, -0.000848, -0.008278> + 6187: < 0.001269, -0.001269, -0.008233> + 6188: < 0.000852, -0.000852, -0.008323> + 6189: < 0.000854, -0.000426, -0.008350> + 6190: < 0.001278, -0.000424, -0.008305> + 6191: < 0.001275, -0.000848, -0.008278> + 6192: < 0.000854, -0.000426, -0.008350> + 6193: < 0.000855, 0.000000, -0.008359> + 6194: < 0.001280, 0.000000, -0.008314> + 6195: < 0.001278, -0.000424, -0.008305> + 6196: < 0.000855, 0.000000, -0.008359> + 6197: < 0.000854, 0.000426, -0.008350> + 6198: < 0.001278, 0.000424, -0.008305> + 6199: < 0.001280, 0.000000, -0.008314> + 6200: < 0.000854, 0.000426, -0.008350> + 6201: < 0.000852, 0.000852, -0.008323> + 6202: < 0.001275, 0.000848, -0.008278> + 6203: < 0.001278, 0.000424, -0.008305> + 6204: < 0.000852, 0.000852, -0.008323> + 6205: < 0.000848, 0.001275, -0.008278> + 6206: < 0.001269, 0.001269, -0.008233> + 6207: < 0.001275, 0.000848, -0.008278> + 6208: < 0.000848, 0.001275, -0.008278> + 6209: < 0.000842, 0.001694, -0.008215> + 6210: < 0.001261, 0.001686, -0.008171> + 6211: < 0.001269, 0.001269, -0.008233> + 6212: < 0.000842, 0.001694, -0.008215> + 6213: < 0.000836, 0.002109, -0.008134> + 6214: < 0.001252, 0.002099, -0.008090> + 6215: < 0.001261, 0.001686, -0.008171> + 6216: < 0.000836, 0.002109, -0.008134> + 6217: < 0.000829, 0.002519, -0.008036> + 6218: < 0.001241, 0.002507, -0.007992> + 6219: < 0.001252, 0.002099, -0.008090> + 6220: < 0.000829, 0.002519, -0.008036> + 6221: < 0.000822, 0.002922, -0.007919> + 6222: < 0.001230, 0.002908, -0.007876> + 6223: < 0.001241, 0.002507, -0.007992> + 6224: < 0.000822, 0.002922, -0.007919> + 6225: < 0.000814, 0.003318, -0.007785> + 6226: < 0.001219, 0.003302, -0.007743> + 6227: < 0.001230, 0.002908, -0.007876> + 6228: < 0.000814, 0.003318, -0.007785> + 6229: < 0.000807, 0.003704, -0.007632> + 6230: < 0.001207, 0.003686, -0.007591> + 6231: < 0.001219, 0.003302, -0.007743> + 6232: < 0.000807, 0.003704, -0.007632> + 6233: < 0.000799, 0.004081, -0.007462> + 6234: < 0.001196, 0.004061, -0.007423> + 6235: < 0.001207, 0.003686, -0.007591> + 6236: < 0.000799, 0.004081, -0.007462> + 6237: < 0.000792, 0.004446, -0.007275> + 6238: < 0.001185, 0.004424, -0.007236> + 6239: < 0.001196, 0.004061, -0.007423> + 6240: < 0.000792, 0.004446, -0.007275> + 6241: < 0.000786, 0.004800, -0.007069> + 6242: < 0.001176, 0.004776, -0.007032> + 6243: < 0.001185, 0.004424, -0.007236> + 6244: < 0.000786, 0.004800, -0.007069> + 6245: < 0.000781, 0.005140, -0.006846> + 6246: < 0.001168, 0.005114, -0.006810> + 6247: < 0.001176, 0.004776, -0.007032> + 6248: < 0.000781, 0.005140, -0.006846> + 6249: < 0.000777, 0.005466, -0.006605> + 6250: < 0.001161, 0.005438, -0.006570> + 6251: < 0.001168, 0.005114, -0.006810> + 6252: < 0.000777, 0.005466, -0.006605> + 6253: < 0.000774, 0.005776, -0.006346> + 6254: < 0.001157, 0.005747, -0.006313> + 6255: < 0.001161, 0.005438, -0.006570> + 6256: < 0.001157, -0.005747, -0.006313> + 6257: < 0.001161, -0.005438, -0.006570> + 6258: < 0.001541, -0.005401, -0.006523> + 6259: < 0.001536, -0.005707, -0.006269> + 6260: < 0.001161, -0.005438, -0.006570> + 6261: < 0.001168, -0.005114, -0.006810> + 6262: < 0.001550, -0.005080, -0.006761> + 6263: < 0.001541, -0.005401, -0.006523> + 6264: < 0.001168, -0.005114, -0.006810> + 6265: < 0.001176, -0.004776, -0.007032> + 6266: < 0.001561, -0.004744, -0.006980> + 6267: < 0.001550, -0.005080, -0.006761> + 6268: < 0.001176, -0.004776, -0.007032> + 6269: < 0.001185, -0.004424, -0.007236> + 6270: < 0.001574, -0.004395, -0.007183> + 6271: < 0.001561, -0.004744, -0.006980> + 6272: < 0.001185, -0.004424, -0.007236> + 6273: < 0.001196, -0.004061, -0.007423> + 6274: < 0.001588, -0.004034, -0.007367> + 6275: < 0.001574, -0.004395, -0.007183> + 6276: < 0.001196, -0.004061, -0.007423> + 6277: < 0.001207, -0.003686, -0.007591> + 6278: < 0.001603, -0.003663, -0.007535> + 6279: < 0.001588, -0.004034, -0.007367> + 6280: < 0.001207, -0.003686, -0.007591> + 6281: < 0.001219, -0.003302, -0.007743> + 6282: < 0.001619, -0.003281, -0.007684> + 6283: < 0.001603, -0.003663, -0.007535> + 6284: < 0.001219, -0.003302, -0.007743> + 6285: < 0.001230, -0.002908, -0.007876> + 6286: < 0.001635, -0.002890, -0.007817> + 6287: < 0.001619, -0.003281, -0.007684> + 6288: < 0.001230, -0.002908, -0.007876> + 6289: < 0.001241, -0.002507, -0.007992> + 6290: < 0.001650, -0.002492, -0.007932> + 6291: < 0.001635, -0.002890, -0.007817> + 6292: < 0.001241, -0.002507, -0.007992> + 6293: < 0.001252, -0.002099, -0.008090> + 6294: < 0.001663, -0.002086, -0.008029> + 6295: < 0.001650, -0.002492, -0.007932> + 6296: < 0.001252, -0.002099, -0.008090> + 6297: < 0.001261, -0.001686, -0.008171> + 6298: < 0.001676, -0.001676, -0.008109> + 6299: < 0.001663, -0.002086, -0.008029> + 6300: < 0.001261, -0.001686, -0.008171> + 6301: < 0.001269, -0.001269, -0.008233> + 6302: < 0.001686, -0.001261, -0.008171> + 6303: < 0.001676, -0.001676, -0.008109> + 6304: < 0.001269, -0.001269, -0.008233> + 6305: < 0.001275, -0.000848, -0.008278> + 6306: < 0.001694, -0.000842, -0.008215> + 6307: < 0.001686, -0.001261, -0.008171> + 6308: < 0.001275, -0.000848, -0.008278> + 6309: < 0.001278, -0.000424, -0.008305> + 6310: < 0.001699, -0.000422, -0.008242> + 6311: < 0.001694, -0.000842, -0.008215> + 6312: < 0.001278, -0.000424, -0.008305> + 6313: < 0.001280, 0.000000, -0.008314> + 6314: < 0.001701, 0.000000, -0.008251> + 6315: < 0.001699, -0.000422, -0.008242> + 6316: < 0.001280, 0.000000, -0.008314> + 6317: < 0.001278, 0.000424, -0.008305> + 6318: < 0.001699, 0.000422, -0.008242> + 6319: < 0.001701, 0.000000, -0.008251> + 6320: < 0.001278, 0.000424, -0.008305> + 6321: < 0.001275, 0.000848, -0.008278> + 6322: < 0.001694, 0.000842, -0.008215> + 6323: < 0.001699, 0.000422, -0.008242> + 6324: < 0.001275, 0.000848, -0.008278> + 6325: < 0.001269, 0.001269, -0.008233> + 6326: < 0.001686, 0.001261, -0.008171> + 6327: < 0.001694, 0.000842, -0.008215> + 6328: < 0.001269, 0.001269, -0.008233> + 6329: < 0.001261, 0.001686, -0.008171> + 6330: < 0.001676, 0.001676, -0.008109> + 6331: < 0.001686, 0.001261, -0.008171> + 6332: < 0.001261, 0.001686, -0.008171> + 6333: < 0.001252, 0.002099, -0.008090> + 6334: < 0.001663, 0.002086, -0.008029> + 6335: < 0.001676, 0.001676, -0.008109> + 6336: < 0.001252, 0.002099, -0.008090> + 6337: < 0.001241, 0.002507, -0.007992> + 6338: < 0.001650, 0.002492, -0.007932> + 6339: < 0.001663, 0.002086, -0.008029> + 6340: < 0.001241, 0.002507, -0.007992> + 6341: < 0.001230, 0.002908, -0.007876> + 6342: < 0.001635, 0.002890, -0.007817> + 6343: < 0.001650, 0.002492, -0.007932> + 6344: < 0.001230, 0.002908, -0.007876> + 6345: < 0.001219, 0.003302, -0.007743> + 6346: < 0.001619, 0.003281, -0.007684> + 6347: < 0.001635, 0.002890, -0.007817> + 6348: < 0.001219, 0.003302, -0.007743> + 6349: < 0.001207, 0.003686, -0.007591> + 6350: < 0.001603, 0.003663, -0.007535> + 6351: < 0.001619, 0.003281, -0.007684> + 6352: < 0.001207, 0.003686, -0.007591> + 6353: < 0.001196, 0.004061, -0.007423> + 6354: < 0.001588, 0.004034, -0.007367> + 6355: < 0.001603, 0.003663, -0.007535> + 6356: < 0.001196, 0.004061, -0.007423> + 6357: < 0.001185, 0.004424, -0.007236> + 6358: < 0.001574, 0.004395, -0.007183> + 6359: < 0.001588, 0.004034, -0.007367> + 6360: < 0.001185, 0.004424, -0.007236> + 6361: < 0.001176, 0.004776, -0.007032> + 6362: < 0.001561, 0.004744, -0.006980> + 6363: < 0.001574, 0.004395, -0.007183> + 6364: < 0.001176, 0.004776, -0.007032> + 6365: < 0.001168, 0.005114, -0.006810> + 6366: < 0.001550, 0.005080, -0.006761> + 6367: < 0.001561, 0.004744, -0.006980> + 6368: < 0.001168, 0.005114, -0.006810> + 6369: < 0.001161, 0.005438, -0.006570> + 6370: < 0.001541, 0.005401, -0.006523> + 6371: < 0.001550, 0.005080, -0.006761> + 6372: < 0.001161, 0.005438, -0.006570> + 6373: < 0.001157, 0.005747, -0.006313> + 6374: < 0.001536, 0.005707, -0.006269> + 6375: < 0.001541, 0.005401, -0.006523> + 6376: < 0.001536, -0.005707, -0.006269> + 6377: < 0.001541, -0.005401, -0.006523> + 6378: < 0.001915, -0.005355, -0.006464> + 6379: < 0.001908, -0.005657, -0.006212> + 6380: < 0.001541, -0.005401, -0.006523> + 6381: < 0.001550, -0.005080, -0.006761> + 6382: < 0.001926, -0.005037, -0.006698> + 6383: < 0.001915, -0.005355, -0.006464> + 6384: < 0.001550, -0.005080, -0.006761> + 6385: < 0.001561, -0.004744, -0.006980> + 6386: < 0.001940, -0.004705, -0.006915> + 6387: < 0.001926, -0.005037, -0.006698> + 6388: < 0.001561, -0.004744, -0.006980> + 6389: < 0.001574, -0.004395, -0.007183> + 6390: < 0.001957, -0.004360, -0.007115> + 6391: < 0.001940, -0.004705, -0.006915> + 6392: < 0.001574, -0.004395, -0.007183> + 6393: < 0.001588, -0.004034, -0.007367> + 6394: < 0.001975, -0.004002, -0.007297> + 6395: < 0.001957, -0.004360, -0.007115> + 6396: < 0.001588, -0.004034, -0.007367> + 6397: < 0.001603, -0.003663, -0.007535> + 6398: < 0.001995, -0.003634, -0.007462> + 6399: < 0.001975, -0.004002, -0.007297> + 6400: < 0.001603, -0.003663, -0.007535> + 6401: < 0.001619, -0.003281, -0.007684> + 6402: < 0.002015, -0.003255, -0.007610> + 6403: < 0.001995, -0.003634, -0.007462> + 6404: < 0.001619, -0.003281, -0.007684> + 6405: < 0.001635, -0.002890, -0.007817> + 6406: < 0.002035, -0.002868, -0.007740> + 6407: < 0.002015, -0.003255, -0.007610> + 6408: < 0.001635, -0.002890, -0.007817> + 6409: < 0.001650, -0.002492, -0.007932> + 6410: < 0.002053, -0.002473, -0.007854> + 6411: < 0.002035, -0.002868, -0.007740> + 6412: < 0.001650, -0.002492, -0.007932> + 6413: < 0.001663, -0.002086, -0.008029> + 6414: < 0.002071, -0.002071, -0.007950> + 6415: < 0.002053, -0.002473, -0.007854> + 6416: < 0.001663, -0.002086, -0.008029> + 6417: < 0.001676, -0.001676, -0.008109> + 6418: < 0.002086, -0.001663, -0.008029> + 6419: < 0.002071, -0.002071, -0.007950> + 6420: < 0.001676, -0.001676, -0.008109> + 6421: < 0.001686, -0.001261, -0.008171> + 6422: < 0.002099, -0.001252, -0.008090> + 6423: < 0.002086, -0.001663, -0.008029> + 6424: < 0.001686, -0.001261, -0.008171> + 6425: < 0.001694, -0.000842, -0.008215> + 6426: < 0.002109, -0.000836, -0.008134> + 6427: < 0.002099, -0.001252, -0.008090> + 6428: < 0.001694, -0.000842, -0.008215> + 6429: < 0.001699, -0.000422, -0.008242> + 6430: < 0.002116, -0.000419, -0.008161> + 6431: < 0.002109, -0.000836, -0.008134> + 6432: < 0.001699, -0.000422, -0.008242> + 6433: < 0.001701, 0.000000, -0.008251> + 6434: < 0.002118, 0.000000, -0.008169> + 6435: < 0.002116, -0.000419, -0.008161> + 6436: < 0.001701, 0.000000, -0.008251> + 6437: < 0.001699, 0.000422, -0.008242> + 6438: < 0.002116, 0.000419, -0.008161> + 6439: < 0.002118, 0.000000, -0.008169> + 6440: < 0.001699, 0.000422, -0.008242> + 6441: < 0.001694, 0.000842, -0.008215> + 6442: < 0.002109, 0.000836, -0.008134> + 6443: < 0.002116, 0.000419, -0.008161> + 6444: < 0.001694, 0.000842, -0.008215> + 6445: < 0.001686, 0.001261, -0.008171> + 6446: < 0.002099, 0.001252, -0.008090> + 6447: < 0.002109, 0.000836, -0.008134> + 6448: < 0.001686, 0.001261, -0.008171> + 6449: < 0.001676, 0.001676, -0.008109> + 6450: < 0.002086, 0.001663, -0.008029> + 6451: < 0.002099, 0.001252, -0.008090> + 6452: < 0.001676, 0.001676, -0.008109> + 6453: < 0.001663, 0.002086, -0.008029> + 6454: < 0.002071, 0.002071, -0.007950> + 6455: < 0.002086, 0.001663, -0.008029> + 6456: < 0.001663, 0.002086, -0.008029> + 6457: < 0.001650, 0.002492, -0.007932> + 6458: < 0.002053, 0.002473, -0.007854> + 6459: < 0.002071, 0.002071, -0.007950> + 6460: < 0.001650, 0.002492, -0.007932> + 6461: < 0.001635, 0.002890, -0.007817> + 6462: < 0.002035, 0.002868, -0.007740> + 6463: < 0.002053, 0.002473, -0.007854> + 6464: < 0.001635, 0.002890, -0.007817> + 6465: < 0.001619, 0.003281, -0.007684> + 6466: < 0.002015, 0.003255, -0.007610> + 6467: < 0.002035, 0.002868, -0.007740> + 6468: < 0.001619, 0.003281, -0.007684> + 6469: < 0.001603, 0.003663, -0.007535> + 6470: < 0.001995, 0.003634, -0.007462> + 6471: < 0.002015, 0.003255, -0.007610> + 6472: < 0.001603, 0.003663, -0.007535> + 6473: < 0.001588, 0.004034, -0.007367> + 6474: < 0.001975, 0.004002, -0.007297> + 6475: < 0.001995, 0.003634, -0.007462> + 6476: < 0.001588, 0.004034, -0.007367> + 6477: < 0.001574, 0.004395, -0.007183> + 6478: < 0.001957, 0.004360, -0.007115> + 6479: < 0.001975, 0.004002, -0.007297> + 6480: < 0.001574, 0.004395, -0.007183> + 6481: < 0.001561, 0.004744, -0.006980> + 6482: < 0.001940, 0.004705, -0.006915> + 6483: < 0.001957, 0.004360, -0.007115> + 6484: < 0.001561, 0.004744, -0.006980> + 6485: < 0.001550, 0.005080, -0.006761> + 6486: < 0.001926, 0.005037, -0.006698> + 6487: < 0.001940, 0.004705, -0.006915> + 6488: < 0.001550, 0.005080, -0.006761> + 6489: < 0.001541, 0.005401, -0.006523> + 6490: < 0.001915, 0.005355, -0.006464> + 6491: < 0.001926, 0.005037, -0.006698> + 6492: < 0.001541, 0.005401, -0.006523> + 6493: < 0.001536, 0.005707, -0.006269> + 6494: < 0.001908, 0.005657, -0.006212> + 6495: < 0.001915, 0.005355, -0.006464> + 6496: < 0.001908, -0.005657, -0.006212> + 6497: < 0.001915, -0.005355, -0.006464> + 6498: < 0.002281, -0.005301, -0.006393> + 6499: < 0.002272, -0.005599, -0.006146> + 6500: < 0.001915, -0.005355, -0.006464> + 6501: < 0.001926, -0.005037, -0.006698> + 6502: < 0.002295, -0.004987, -0.006623> + 6503: < 0.002281, -0.005301, -0.006393> + 6504: < 0.001926, -0.005037, -0.006698> + 6505: < 0.001940, -0.004705, -0.006915> + 6506: < 0.002313, -0.004659, -0.006836> + 6507: < 0.002295, -0.004987, -0.006623> + 6508: < 0.001940, -0.004705, -0.006915> + 6509: < 0.001957, -0.004360, -0.007115> + 6510: < 0.002333, -0.004318, -0.007033> + 6511: < 0.002313, -0.004659, -0.006836> + 6512: < 0.001957, -0.004360, -0.007115> + 6513: < 0.001975, -0.004002, -0.007297> + 6514: < 0.002356, -0.003965, -0.007212> + 6515: < 0.002333, -0.004318, -0.007033> + 6516: < 0.001975, -0.004002, -0.007297> + 6517: < 0.001995, -0.003634, -0.007462> + 6518: < 0.002380, -0.003601, -0.007374> + 6519: < 0.002356, -0.003965, -0.007212> + 6520: < 0.001995, -0.003634, -0.007462> + 6521: < 0.002015, -0.003255, -0.007610> + 6522: < 0.002405, -0.003227, -0.007519> + 6523: < 0.002380, -0.003601, -0.007374> + 6524: < 0.002015, -0.003255, -0.007610> + 6525: < 0.002035, -0.002868, -0.007740> + 6526: < 0.002429, -0.002843, -0.007648> + 6527: < 0.002405, -0.003227, -0.007519> + 6528: < 0.002035, -0.002868, -0.007740> + 6529: < 0.002053, -0.002473, -0.007854> + 6530: < 0.002452, -0.002452, -0.007759> + 6531: < 0.002429, -0.002843, -0.007648> + 6532: < 0.002053, -0.002473, -0.007854> + 6533: < 0.002071, -0.002071, -0.007950> + 6534: < 0.002473, -0.002053, -0.007854> + 6535: < 0.002452, -0.002452, -0.007759> + 6536: < 0.002071, -0.002071, -0.007950> + 6537: < 0.002086, -0.001663, -0.008029> + 6538: < 0.002492, -0.001650, -0.007932> + 6539: < 0.002473, -0.002053, -0.007854> + 6540: < 0.002086, -0.001663, -0.008029> + 6541: < 0.002099, -0.001252, -0.008090> + 6542: < 0.002507, -0.001241, -0.007992> + 6543: < 0.002492, -0.001650, -0.007932> + 6544: < 0.002099, -0.001252, -0.008090> + 6545: < 0.002109, -0.000836, -0.008134> + 6546: < 0.002519, -0.000829, -0.008036> + 6547: < 0.002507, -0.001241, -0.007992> + 6548: < 0.002109, -0.000836, -0.008134> + 6549: < 0.002116, -0.000419, -0.008161> + 6550: < 0.002527, -0.000415, -0.008062> + 6551: < 0.002519, -0.000829, -0.008036> + 6552: < 0.002116, -0.000419, -0.008161> + 6553: < 0.002118, 0.000000, -0.008169> + 6554: < 0.002530, 0.000000, -0.008070> + 6555: < 0.002527, -0.000415, -0.008062> + 6556: < 0.002118, 0.000000, -0.008169> + 6557: < 0.002116, 0.000419, -0.008161> + 6558: < 0.002527, 0.000415, -0.008062> + 6559: < 0.002530, 0.000000, -0.008070> + 6560: < 0.002116, 0.000419, -0.008161> + 6561: < 0.002109, 0.000836, -0.008134> + 6562: < 0.002519, 0.000829, -0.008036> + 6563: < 0.002527, 0.000415, -0.008062> + 6564: < 0.002109, 0.000836, -0.008134> + 6565: < 0.002099, 0.001252, -0.008090> + 6566: < 0.002507, 0.001241, -0.007992> + 6567: < 0.002519, 0.000829, -0.008036> + 6568: < 0.002099, 0.001252, -0.008090> + 6569: < 0.002086, 0.001663, -0.008029> + 6570: < 0.002492, 0.001650, -0.007932> + 6571: < 0.002507, 0.001241, -0.007992> + 6572: < 0.002086, 0.001663, -0.008029> + 6573: < 0.002071, 0.002071, -0.007950> + 6574: < 0.002473, 0.002053, -0.007854> + 6575: < 0.002492, 0.001650, -0.007932> + 6576: < 0.002071, 0.002071, -0.007950> + 6577: < 0.002053, 0.002473, -0.007854> + 6578: < 0.002452, 0.002452, -0.007759> + 6579: < 0.002473, 0.002053, -0.007854> + 6580: < 0.002053, 0.002473, -0.007854> + 6581: < 0.002035, 0.002868, -0.007740> + 6582: < 0.002429, 0.002843, -0.007648> + 6583: < 0.002452, 0.002452, -0.007759> + 6584: < 0.002035, 0.002868, -0.007740> + 6585: < 0.002015, 0.003255, -0.007610> + 6586: < 0.002405, 0.003227, -0.007519> + 6587: < 0.002429, 0.002843, -0.007648> + 6588: < 0.002015, 0.003255, -0.007610> + 6589: < 0.001995, 0.003634, -0.007462> + 6590: < 0.002380, 0.003601, -0.007374> + 6591: < 0.002405, 0.003227, -0.007519> + 6592: < 0.001995, 0.003634, -0.007462> + 6593: < 0.001975, 0.004002, -0.007297> + 6594: < 0.002356, 0.003965, -0.007212> + 6595: < 0.002380, 0.003601, -0.007374> + 6596: < 0.001975, 0.004002, -0.007297> + 6597: < 0.001957, 0.004360, -0.007115> + 6598: < 0.002333, 0.004318, -0.007033> + 6599: < 0.002356, 0.003965, -0.007212> + 6600: < 0.001957, 0.004360, -0.007115> + 6601: < 0.001940, 0.004705, -0.006915> + 6602: < 0.002313, 0.004659, -0.006836> + 6603: < 0.002333, 0.004318, -0.007033> + 6604: < 0.001940, 0.004705, -0.006915> + 6605: < 0.001926, 0.005037, -0.006698> + 6606: < 0.002295, 0.004987, -0.006623> + 6607: < 0.002313, 0.004659, -0.006836> + 6608: < 0.001926, 0.005037, -0.006698> + 6609: < 0.001915, 0.005355, -0.006464> + 6610: < 0.002281, 0.005301, -0.006393> + 6611: < 0.002295, 0.004987, -0.006623> + 6612: < 0.001915, 0.005355, -0.006464> + 6613: < 0.001908, 0.005657, -0.006212> + 6614: < 0.002272, 0.005599, -0.006146> + 6615: < 0.002281, 0.005301, -0.006393> + 6616: < 0.002272, -0.005599, -0.006146> + 6617: < 0.002281, -0.005301, -0.006393> + 6618: < 0.002638, -0.005240, -0.006311> + 6619: < 0.002627, -0.005533, -0.006069> + 6620: < 0.002281, -0.005301, -0.006393> + 6621: < 0.002295, -0.004987, -0.006623> + 6622: < 0.002655, -0.004931, -0.006537> + 6623: < 0.002638, -0.005240, -0.006311> + 6624: < 0.002295, -0.004987, -0.006623> + 6625: < 0.002313, -0.004659, -0.006836> + 6626: < 0.002676, -0.004609, -0.006745> + 6627: < 0.002655, -0.004931, -0.006537> + 6628: < 0.002313, -0.004659, -0.006836> + 6629: < 0.002333, -0.004318, -0.007033> + 6630: < 0.002701, -0.004273, -0.006937> + 6631: < 0.002676, -0.004609, -0.006745> + 6632: < 0.002333, -0.004318, -0.007033> + 6633: < 0.002356, -0.003965, -0.007212> + 6634: < 0.002729, -0.003924, -0.007112> + 6635: < 0.002701, -0.004273, -0.006937> + 6636: < 0.002356, -0.003965, -0.007212> + 6637: < 0.002380, -0.003601, -0.007374> + 6638: < 0.002758, -0.003565, -0.007270> + 6639: < 0.002729, -0.003924, -0.007112> + 6640: < 0.002380, -0.003601, -0.007374> + 6641: < 0.002405, -0.003227, -0.007519> + 6642: < 0.002787, -0.003195, -0.007412> + 6643: < 0.002758, -0.003565, -0.007270> + 6644: < 0.002405, -0.003227, -0.007519> + 6645: < 0.002429, -0.002843, -0.007648> + 6646: < 0.002816, -0.002816, -0.007538> + 6647: < 0.002787, -0.003195, -0.007412> + 6648: < 0.002429, -0.002843, -0.007648> + 6649: < 0.002452, -0.002452, -0.007759> + 6650: < 0.002843, -0.002429, -0.007648> + 6651: < 0.002816, -0.002816, -0.007538> + 6652: < 0.002452, -0.002452, -0.007759> + 6653: < 0.002473, -0.002053, -0.007854> + 6654: < 0.002868, -0.002035, -0.007740> + 6655: < 0.002843, -0.002429, -0.007648> + 6656: < 0.002473, -0.002053, -0.007854> + 6657: < 0.002492, -0.001650, -0.007932> + 6658: < 0.002890, -0.001635, -0.007817> + 6659: < 0.002868, -0.002035, -0.007740> + 6660: < 0.002492, -0.001650, -0.007932> + 6661: < 0.002507, -0.001241, -0.007992> + 6662: < 0.002908, -0.001230, -0.007876> + 6663: < 0.002890, -0.001635, -0.007817> + 6664: < 0.002507, -0.001241, -0.007992> + 6665: < 0.002519, -0.000829, -0.008036> + 6666: < 0.002922, -0.000822, -0.007919> + 6667: < 0.002908, -0.001230, -0.007876> + 6668: < 0.002519, -0.000829, -0.008036> + 6669: < 0.002527, -0.000415, -0.008062> + 6670: < 0.002931, -0.000412, -0.007945> + 6671: < 0.002922, -0.000822, -0.007919> + 6672: < 0.002527, -0.000415, -0.008062> + 6673: < 0.002530, 0.000000, -0.008070> + 6674: < 0.002934, 0.000000, -0.007953> + 6675: < 0.002931, -0.000412, -0.007945> + 6676: < 0.002530, 0.000000, -0.008070> + 6677: < 0.002527, 0.000415, -0.008062> + 6678: < 0.002931, 0.000412, -0.007945> + 6679: < 0.002934, 0.000000, -0.007953> + 6680: < 0.002527, 0.000415, -0.008062> + 6681: < 0.002519, 0.000829, -0.008036> + 6682: < 0.002922, 0.000822, -0.007919> + 6683: < 0.002931, 0.000412, -0.007945> + 6684: < 0.002519, 0.000829, -0.008036> + 6685: < 0.002507, 0.001241, -0.007992> + 6686: < 0.002908, 0.001230, -0.007876> + 6687: < 0.002922, 0.000822, -0.007919> + 6688: < 0.002507, 0.001241, -0.007992> + 6689: < 0.002492, 0.001650, -0.007932> + 6690: < 0.002890, 0.001635, -0.007817> + 6691: < 0.002908, 0.001230, -0.007876> + 6692: < 0.002492, 0.001650, -0.007932> + 6693: < 0.002473, 0.002053, -0.007854> + 6694: < 0.002868, 0.002035, -0.007740> + 6695: < 0.002890, 0.001635, -0.007817> + 6696: < 0.002473, 0.002053, -0.007854> + 6697: < 0.002452, 0.002452, -0.007759> + 6698: < 0.002843, 0.002429, -0.007648> + 6699: < 0.002868, 0.002035, -0.007740> + 6700: < 0.002452, 0.002452, -0.007759> + 6701: < 0.002429, 0.002843, -0.007648> + 6702: < 0.002816, 0.002816, -0.007538> + 6703: < 0.002843, 0.002429, -0.007648> + 6704: < 0.002429, 0.002843, -0.007648> + 6705: < 0.002405, 0.003227, -0.007519> + 6706: < 0.002787, 0.003195, -0.007412> + 6707: < 0.002816, 0.002816, -0.007538> + 6708: < 0.002405, 0.003227, -0.007519> + 6709: < 0.002380, 0.003601, -0.007374> + 6710: < 0.002758, 0.003565, -0.007270> + 6711: < 0.002787, 0.003195, -0.007412> + 6712: < 0.002380, 0.003601, -0.007374> + 6713: < 0.002356, 0.003965, -0.007212> + 6714: < 0.002729, 0.003924, -0.007112> + 6715: < 0.002758, 0.003565, -0.007270> + 6716: < 0.002356, 0.003965, -0.007212> + 6717: < 0.002333, 0.004318, -0.007033> + 6718: < 0.002701, 0.004273, -0.006937> + 6719: < 0.002729, 0.003924, -0.007112> + 6720: < 0.002333, 0.004318, -0.007033> + 6721: < 0.002313, 0.004659, -0.006836> + 6722: < 0.002676, 0.004609, -0.006745> + 6723: < 0.002701, 0.004273, -0.006937> + 6724: < 0.002313, 0.004659, -0.006836> + 6725: < 0.002295, 0.004987, -0.006623> + 6726: < 0.002655, 0.004931, -0.006537> + 6727: < 0.002676, 0.004609, -0.006745> + 6728: < 0.002295, 0.004987, -0.006623> + 6729: < 0.002281, 0.005301, -0.006393> + 6730: < 0.002638, 0.005240, -0.006311> + 6731: < 0.002655, 0.004931, -0.006537> + 6732: < 0.002281, 0.005301, -0.006393> + 6733: < 0.002272, 0.005599, -0.006146> + 6734: < 0.002627, 0.005533, -0.006069> + 6735: < 0.002638, 0.005240, -0.006311> + 6736: < 0.002627, -0.005533, -0.006069> + 6737: < 0.002638, -0.005240, -0.006311> + 6738: < 0.002984, -0.005172, -0.006219> + 6739: < 0.002971, -0.005459, -0.005983> + 6740: < 0.002638, -0.005240, -0.006311> + 6741: < 0.002655, -0.004931, -0.006537> + 6742: < 0.003004, -0.004870, -0.006439> + 6743: < 0.002984, -0.005172, -0.006219> + 6744: < 0.002655, -0.004931, -0.006537> + 6745: < 0.002676, -0.004609, -0.006745> + 6746: < 0.003030, -0.004553, -0.006641> + 6747: < 0.003004, -0.004870, -0.006439> + 6748: < 0.002676, -0.004609, -0.006745> + 6749: < 0.002701, -0.004273, -0.006937> + 6750: < 0.003060, -0.004223, -0.006828> + 6751: < 0.003030, -0.004553, -0.006641> + 6752: < 0.002701, -0.004273, -0.006937> + 6753: < 0.002729, -0.003924, -0.007112> + 6754: < 0.003093, -0.003880, -0.006998> + 6755: < 0.003060, -0.004223, -0.006828> + 6756: < 0.002729, -0.003924, -0.007112> + 6757: < 0.002758, -0.003565, -0.007270> + 6758: < 0.003127, -0.003526, -0.007152> + 6759: < 0.003093, -0.003880, -0.006998> + 6760: < 0.002758, -0.003565, -0.007270> + 6761: < 0.002787, -0.003195, -0.007412> + 6762: < 0.003162, -0.003162, -0.007290> + 6763: < 0.003127, -0.003526, -0.007152> + 6764: < 0.002787, -0.003195, -0.007412> + 6765: < 0.002816, -0.002816, -0.007538> + 6766: < 0.003195, -0.002787, -0.007412> + 6767: < 0.003162, -0.003162, -0.007290> + 6768: < 0.002816, -0.002816, -0.007538> + 6769: < 0.002843, -0.002429, -0.007648> + 6770: < 0.003227, -0.002405, -0.007519> + 6771: < 0.003195, -0.002787, -0.007412> + 6772: < 0.002843, -0.002429, -0.007648> + 6773: < 0.002868, -0.002035, -0.007740> + 6774: < 0.003255, -0.002015, -0.007610> + 6775: < 0.003227, -0.002405, -0.007519> + 6776: < 0.002868, -0.002035, -0.007740> + 6777: < 0.002890, -0.001635, -0.007817> + 6778: < 0.003281, -0.001619, -0.007684> + 6779: < 0.003255, -0.002015, -0.007610> + 6780: < 0.002890, -0.001635, -0.007817> + 6781: < 0.002908, -0.001230, -0.007876> + 6782: < 0.003302, -0.001219, -0.007743> + 6783: < 0.003281, -0.001619, -0.007684> + 6784: < 0.002908, -0.001230, -0.007876> + 6785: < 0.002922, -0.000822, -0.007919> + 6786: < 0.003318, -0.000814, -0.007785> + 6787: < 0.003302, -0.001219, -0.007743> + 6788: < 0.002922, -0.000822, -0.007919> + 6789: < 0.002931, -0.000412, -0.007945> + 6790: < 0.003328, -0.000408, -0.007810> + 6791: < 0.003318, -0.000814, -0.007785> + 6792: < 0.002931, -0.000412, -0.007945> + 6793: < 0.002934, 0.000000, -0.007953> + 6794: < 0.003331, 0.000000, -0.007818> + 6795: < 0.003328, -0.000408, -0.007810> + 6796: < 0.002934, 0.000000, -0.007953> + 6797: < 0.002931, 0.000412, -0.007945> + 6798: < 0.003328, 0.000408, -0.007810> + 6799: < 0.003331, 0.000000, -0.007818> + 6800: < 0.002931, 0.000412, -0.007945> + 6801: < 0.002922, 0.000822, -0.007919> + 6802: < 0.003318, 0.000814, -0.007785> + 6803: < 0.003328, 0.000408, -0.007810> + 6804: < 0.002922, 0.000822, -0.007919> + 6805: < 0.002908, 0.001230, -0.007876> + 6806: < 0.003302, 0.001219, -0.007743> + 6807: < 0.003318, 0.000814, -0.007785> + 6808: < 0.002908, 0.001230, -0.007876> + 6809: < 0.002890, 0.001635, -0.007817> + 6810: < 0.003281, 0.001619, -0.007684> + 6811: < 0.003302, 0.001219, -0.007743> + 6812: < 0.002890, 0.001635, -0.007817> + 6813: < 0.002868, 0.002035, -0.007740> + 6814: < 0.003255, 0.002015, -0.007610> + 6815: < 0.003281, 0.001619, -0.007684> + 6816: < 0.002868, 0.002035, -0.007740> + 6817: < 0.002843, 0.002429, -0.007648> + 6818: < 0.003227, 0.002405, -0.007519> + 6819: < 0.003255, 0.002015, -0.007610> + 6820: < 0.002843, 0.002429, -0.007648> + 6821: < 0.002816, 0.002816, -0.007538> + 6822: < 0.003195, 0.002787, -0.007412> + 6823: < 0.003227, 0.002405, -0.007519> + 6824: < 0.002816, 0.002816, -0.007538> + 6825: < 0.002787, 0.003195, -0.007412> + 6826: < 0.003162, 0.003162, -0.007290> + 6827: < 0.003195, 0.002787, -0.007412> + 6828: < 0.002787, 0.003195, -0.007412> + 6829: < 0.002758, 0.003565, -0.007270> + 6830: < 0.003127, 0.003526, -0.007152> + 6831: < 0.003162, 0.003162, -0.007290> + 6832: < 0.002758, 0.003565, -0.007270> + 6833: < 0.002729, 0.003924, -0.007112> + 6834: < 0.003093, 0.003880, -0.006998> + 6835: < 0.003127, 0.003526, -0.007152> + 6836: < 0.002729, 0.003924, -0.007112> + 6837: < 0.002701, 0.004273, -0.006937> + 6838: < 0.003060, 0.004223, -0.006828> + 6839: < 0.003093, 0.003880, -0.006998> + 6840: < 0.002701, 0.004273, -0.006937> + 6841: < 0.002676, 0.004609, -0.006745> + 6842: < 0.003030, 0.004553, -0.006641> + 6843: < 0.003060, 0.004223, -0.006828> + 6844: < 0.002676, 0.004609, -0.006745> + 6845: < 0.002655, 0.004931, -0.006537> + 6846: < 0.003004, 0.004870, -0.006439> + 6847: < 0.003030, 0.004553, -0.006641> + 6848: < 0.002655, 0.004931, -0.006537> + 6849: < 0.002638, 0.005240, -0.006311> + 6850: < 0.002984, 0.005172, -0.006219> + 6851: < 0.003004, 0.004870, -0.006439> + 6852: < 0.002638, 0.005240, -0.006311> + 6853: < 0.002627, 0.005533, -0.006069> + 6854: < 0.002971, 0.005459, -0.005983> + 6855: < 0.002984, 0.005172, -0.006219> + 6856: < 0.002971, -0.005459, -0.005983> + 6857: < 0.002984, -0.005172, -0.006219> + 6858: < 0.003318, -0.005099, -0.006117> + 6859: < 0.003302, -0.005379, -0.005888> + 6860: < 0.002984, -0.005172, -0.006219> + 6861: < 0.003004, -0.004870, -0.006439> + 6862: < 0.003342, -0.004804, -0.006329> + 6863: < 0.003318, -0.005099, -0.006117> + 6864: < 0.003004, -0.004870, -0.006439> + 6865: < 0.003030, -0.004553, -0.006641> + 6866: < 0.003372, -0.004494, -0.006525> + 6867: < 0.003342, -0.004804, -0.006329> + 6868: < 0.003030, -0.004553, -0.006641> + 6869: < 0.003060, -0.004223, -0.006828> + 6870: < 0.003407, -0.004170, -0.006705> + 6871: < 0.003372, -0.004494, -0.006525> + 6872: < 0.003060, -0.004223, -0.006828> + 6873: < 0.003093, -0.003880, -0.006998> + 6874: < 0.003446, -0.003834, -0.006870> + 6875: < 0.003407, -0.004170, -0.006705> + 6876: < 0.003093, -0.003880, -0.006998> + 6877: < 0.003127, -0.003526, -0.007152> + 6878: < 0.003486, -0.003486, -0.007018> + 6879: < 0.003446, -0.003834, -0.006870> + 6880: < 0.003127, -0.003526, -0.007152> + 6881: < 0.003162, -0.003162, -0.007290> + 6882: < 0.003526, -0.003127, -0.007152> + 6883: < 0.003486, -0.003486, -0.007018> + 6884: < 0.003162, -0.003162, -0.007290> + 6885: < 0.003195, -0.002787, -0.007412> + 6886: < 0.003565, -0.002758, -0.007270> + 6887: < 0.003526, -0.003127, -0.007152> + 6888: < 0.003195, -0.002787, -0.007412> + 6889: < 0.003227, -0.002405, -0.007519> + 6890: < 0.003601, -0.002380, -0.007374> + 6891: < 0.003565, -0.002758, -0.007270> + 6892: < 0.003227, -0.002405, -0.007519> + 6893: < 0.003255, -0.002015, -0.007610> + 6894: < 0.003634, -0.001995, -0.007462> + 6895: < 0.003601, -0.002380, -0.007374> + 6896: < 0.003255, -0.002015, -0.007610> + 6897: < 0.003281, -0.001619, -0.007684> + 6898: < 0.003663, -0.001603, -0.007535> + 6899: < 0.003634, -0.001995, -0.007462> + 6900: < 0.003281, -0.001619, -0.007684> + 6901: < 0.003302, -0.001219, -0.007743> + 6902: < 0.003686, -0.001207, -0.007591> + 6903: < 0.003663, -0.001603, -0.007535> + 6904: < 0.003302, -0.001219, -0.007743> + 6905: < 0.003318, -0.000814, -0.007785> + 6906: < 0.003704, -0.000807, -0.007632> + 6907: < 0.003686, -0.001207, -0.007591> + 6908: < 0.003318, -0.000814, -0.007785> + 6909: < 0.003328, -0.000408, -0.007810> + 6910: < 0.003716, -0.000404, -0.007657> + 6911: < 0.003704, -0.000807, -0.007632> + 6912: < 0.003328, -0.000408, -0.007810> + 6913: < 0.003331, 0.000000, -0.007818> + 6914: < 0.003720, 0.000000, -0.007665> + 6915: < 0.003716, -0.000404, -0.007657> + 6916: < 0.003331, 0.000000, -0.007818> + 6917: < 0.003328, 0.000408, -0.007810> + 6918: < 0.003716, 0.000404, -0.007657> + 6919: < 0.003720, 0.000000, -0.007665> + 6920: < 0.003328, 0.000408, -0.007810> + 6921: < 0.003318, 0.000814, -0.007785> + 6922: < 0.003704, 0.000807, -0.007632> + 6923: < 0.003716, 0.000404, -0.007657> + 6924: < 0.003318, 0.000814, -0.007785> + 6925: < 0.003302, 0.001219, -0.007743> + 6926: < 0.003686, 0.001207, -0.007591> + 6927: < 0.003704, 0.000807, -0.007632> + 6928: < 0.003302, 0.001219, -0.007743> + 6929: < 0.003281, 0.001619, -0.007684> + 6930: < 0.003663, 0.001603, -0.007535> + 6931: < 0.003686, 0.001207, -0.007591> + 6932: < 0.003281, 0.001619, -0.007684> + 6933: < 0.003255, 0.002015, -0.007610> + 6934: < 0.003634, 0.001995, -0.007462> + 6935: < 0.003663, 0.001603, -0.007535> + 6936: < 0.003255, 0.002015, -0.007610> + 6937: < 0.003227, 0.002405, -0.007519> + 6938: < 0.003601, 0.002380, -0.007374> + 6939: < 0.003634, 0.001995, -0.007462> + 6940: < 0.003227, 0.002405, -0.007519> + 6941: < 0.003195, 0.002787, -0.007412> + 6942: < 0.003565, 0.002758, -0.007270> + 6943: < 0.003601, 0.002380, -0.007374> + 6944: < 0.003195, 0.002787, -0.007412> + 6945: < 0.003162, 0.003162, -0.007290> + 6946: < 0.003526, 0.003127, -0.007152> + 6947: < 0.003565, 0.002758, -0.007270> + 6948: < 0.003162, 0.003162, -0.007290> + 6949: < 0.003127, 0.003526, -0.007152> + 6950: < 0.003486, 0.003486, -0.007018> + 6951: < 0.003526, 0.003127, -0.007152> + 6952: < 0.003127, 0.003526, -0.007152> + 6953: < 0.003093, 0.003880, -0.006998> + 6954: < 0.003446, 0.003834, -0.006870> + 6955: < 0.003486, 0.003486, -0.007018> + 6956: < 0.003093, 0.003880, -0.006998> + 6957: < 0.003060, 0.004223, -0.006828> + 6958: < 0.003407, 0.004170, -0.006705> + 6959: < 0.003446, 0.003834, -0.006870> + 6960: < 0.003060, 0.004223, -0.006828> + 6961: < 0.003030, 0.004553, -0.006641> + 6962: < 0.003372, 0.004494, -0.006525> + 6963: < 0.003407, 0.004170, -0.006705> + 6964: < 0.003030, 0.004553, -0.006641> + 6965: < 0.003004, 0.004870, -0.006439> + 6966: < 0.003342, 0.004804, -0.006329> + 6967: < 0.003372, 0.004494, -0.006525> + 6968: < 0.003004, 0.004870, -0.006439> + 6969: < 0.002984, 0.005172, -0.006219> + 6970: < 0.003318, 0.005099, -0.006117> + 6971: < 0.003342, 0.004804, -0.006329> + 6972: < 0.002984, 0.005172, -0.006219> + 6973: < 0.002971, 0.005459, -0.005983> + 6974: < 0.003302, 0.005379, -0.005888> + 6975: < 0.003318, 0.005099, -0.006117> + 6976: < 0.003302, -0.005379, -0.005888> + 6977: < 0.003318, -0.005099, -0.006117> + 6978: < 0.003637, -0.005023, -0.006006> + 6979: < 0.003619, -0.005294, -0.005786> + 6980: < 0.003318, -0.005099, -0.006117> + 6981: < 0.003342, -0.004804, -0.006329> + 6982: < 0.003666, -0.004736, -0.006210> + 6983: < 0.003637, -0.005023, -0.006006> + 6984: < 0.003342, -0.004804, -0.006329> + 6985: < 0.003372, -0.004494, -0.006525> + 6986: < 0.003701, -0.004434, -0.006397> + 6987: < 0.003666, -0.004736, -0.006210> + 6988: < 0.003372, -0.004494, -0.006525> + 6989: < 0.003407, -0.004170, -0.006705> + 6990: < 0.003743, -0.004117, -0.006570> + 6991: < 0.003701, -0.004434, -0.006397> + 6992: < 0.003407, -0.004170, -0.006705> + 6993: < 0.003446, -0.003834, -0.006870> + 6994: < 0.003788, -0.003788, -0.006727> + 6995: < 0.003743, -0.004117, -0.006570> + 6996: < 0.003446, -0.003834, -0.006870> + 6997: < 0.003486, -0.003486, -0.007018> + 6998: < 0.003834, -0.003446, -0.006870> + 6999: < 0.003788, -0.003788, -0.006727> + 7000: < 0.003486, -0.003486, -0.007018> + 7001: < 0.003526, -0.003127, -0.007152> + 7002: < 0.003880, -0.003093, -0.006998> + 7003: < 0.003834, -0.003446, -0.006870> + 7004: < 0.003526, -0.003127, -0.007152> + 7005: < 0.003565, -0.002758, -0.007270> + 7006: < 0.003924, -0.002729, -0.007112> + 7007: < 0.003880, -0.003093, -0.006998> + 7008: < 0.003565, -0.002758, -0.007270> + 7009: < 0.003601, -0.002380, -0.007374> + 7010: < 0.003965, -0.002356, -0.007212> + 7011: < 0.003924, -0.002729, -0.007112> + 7012: < 0.003601, -0.002380, -0.007374> + 7013: < 0.003634, -0.001995, -0.007462> + 7014: < 0.004002, -0.001975, -0.007297> + 7015: < 0.003965, -0.002356, -0.007212> + 7016: < 0.003634, -0.001995, -0.007462> + 7017: < 0.003663, -0.001603, -0.007535> + 7018: < 0.004034, -0.001588, -0.007367> + 7019: < 0.004002, -0.001975, -0.007297> + 7020: < 0.003663, -0.001603, -0.007535> + 7021: < 0.003686, -0.001207, -0.007591> + 7022: < 0.004061, -0.001196, -0.007423> + 7023: < 0.004034, -0.001588, -0.007367> + 7024: < 0.003686, -0.001207, -0.007591> + 7025: < 0.003704, -0.000807, -0.007632> + 7026: < 0.004081, -0.000799, -0.007462> + 7027: < 0.004061, -0.001196, -0.007423> + 7028: < 0.003704, -0.000807, -0.007632> + 7029: < 0.003716, -0.000404, -0.007657> + 7030: < 0.004093, -0.000400, -0.007487> + 7031: < 0.004081, -0.000799, -0.007462> + 7032: < 0.003716, -0.000404, -0.007657> + 7033: < 0.003720, 0.000000, -0.007665> + 7034: < 0.004098, -0.000000, -0.007495> + 7035: < 0.004093, -0.000400, -0.007487> + 7036: < 0.003720, 0.000000, -0.007665> + 7037: < 0.003716, 0.000404, -0.007657> + 7038: < 0.004093, 0.000400, -0.007487> + 7039: < 0.004098, -0.000000, -0.007495> + 7040: < 0.003716, 0.000404, -0.007657> + 7041: < 0.003704, 0.000807, -0.007632> + 7042: < 0.004081, 0.000799, -0.007462> + 7043: < 0.004093, 0.000400, -0.007487> + 7044: < 0.003704, 0.000807, -0.007632> + 7045: < 0.003686, 0.001207, -0.007591> + 7046: < 0.004061, 0.001196, -0.007423> + 7047: < 0.004081, 0.000799, -0.007462> + 7048: < 0.003686, 0.001207, -0.007591> + 7049: < 0.003663, 0.001603, -0.007535> + 7050: < 0.004034, 0.001588, -0.007367> + 7051: < 0.004061, 0.001196, -0.007423> + 7052: < 0.003663, 0.001603, -0.007535> + 7053: < 0.003634, 0.001995, -0.007462> + 7054: < 0.004002, 0.001975, -0.007297> + 7055: < 0.004034, 0.001588, -0.007367> + 7056: < 0.003634, 0.001995, -0.007462> + 7057: < 0.003601, 0.002380, -0.007374> + 7058: < 0.003965, 0.002356, -0.007212> + 7059: < 0.004002, 0.001975, -0.007297> + 7060: < 0.003601, 0.002380, -0.007374> + 7061: < 0.003565, 0.002758, -0.007270> + 7062: < 0.003924, 0.002729, -0.007112> + 7063: < 0.003965, 0.002356, -0.007212> + 7064: < 0.003565, 0.002758, -0.007270> + 7065: < 0.003526, 0.003127, -0.007152> + 7066: < 0.003880, 0.003093, -0.006998> + 7067: < 0.003924, 0.002729, -0.007112> + 7068: < 0.003526, 0.003127, -0.007152> + 7069: < 0.003486, 0.003486, -0.007018> + 7070: < 0.003834, 0.003446, -0.006870> + 7071: < 0.003880, 0.003093, -0.006998> + 7072: < 0.003486, 0.003486, -0.007018> + 7073: < 0.003446, 0.003834, -0.006870> + 7074: < 0.003788, 0.003788, -0.006727> + 7075: < 0.003834, 0.003446, -0.006870> + 7076: < 0.003446, 0.003834, -0.006870> + 7077: < 0.003407, 0.004170, -0.006705> + 7078: < 0.003743, 0.004117, -0.006570> + 7079: < 0.003788, 0.003788, -0.006727> + 7080: < 0.003407, 0.004170, -0.006705> + 7081: < 0.003372, 0.004494, -0.006525> + 7082: < 0.003701, 0.004434, -0.006397> + 7083: < 0.003743, 0.004117, -0.006570> + 7084: < 0.003372, 0.004494, -0.006525> + 7085: < 0.003342, 0.004804, -0.006329> + 7086: < 0.003666, 0.004736, -0.006210> + 7087: < 0.003701, 0.004434, -0.006397> + 7088: < 0.003342, 0.004804, -0.006329> + 7089: < 0.003318, 0.005099, -0.006117> + 7090: < 0.003637, 0.005023, -0.006006> + 7091: < 0.003666, 0.004736, -0.006210> + 7092: < 0.003318, 0.005099, -0.006117> + 7093: < 0.003302, 0.005379, -0.005888> + 7094: < 0.003619, 0.005294, -0.005786> + 7095: < 0.003637, 0.005023, -0.006006> + 7096: < 0.003619, -0.005294, -0.005786> + 7097: < 0.003637, -0.005023, -0.006006> + 7098: < 0.003941, -0.004946, -0.005887> + 7099: < 0.003918, -0.005207, -0.005678> + 7100: < 0.003637, -0.005023, -0.006006> + 7101: < 0.003666, -0.004736, -0.006210> + 7102: < 0.003975, -0.004668, -0.006080> + 7103: < 0.003941, -0.004946, -0.005887> + 7104: < 0.003666, -0.004736, -0.006210> + 7105: < 0.003701, -0.004434, -0.006397> + 7106: < 0.004017, -0.004374, -0.006257> + 7107: < 0.003975, -0.004668, -0.006080> + 7108: < 0.003701, -0.004434, -0.006397> + 7109: < 0.003743, -0.004117, -0.006570> + 7110: < 0.004065, -0.004065, -0.006421> + 7111: < 0.004017, -0.004374, -0.006257> + 7112: < 0.003743, -0.004117, -0.006570> + 7113: < 0.003788, -0.003788, -0.006727> + 7114: < 0.004117, -0.003743, -0.006570> + 7115: < 0.004065, -0.004065, -0.006421> + 7116: < 0.003788, -0.003788, -0.006727> + 7117: < 0.003834, -0.003446, -0.006870> + 7118: < 0.004170, -0.003407, -0.006705> + 7119: < 0.004117, -0.003743, -0.006570> + 7120: < 0.003834, -0.003446, -0.006870> + 7121: < 0.003880, -0.003093, -0.006998> + 7122: < 0.004223, -0.003060, -0.006828> + 7123: < 0.004170, -0.003407, -0.006705> + 7124: < 0.003880, -0.003093, -0.006998> + 7125: < 0.003924, -0.002729, -0.007112> + 7126: < 0.004273, -0.002701, -0.006937> + 7127: < 0.004223, -0.003060, -0.006828> + 7128: < 0.003924, -0.002729, -0.007112> + 7129: < 0.003965, -0.002356, -0.007212> + 7130: < 0.004318, -0.002333, -0.007033> + 7131: < 0.004273, -0.002701, -0.006937> + 7132: < 0.003965, -0.002356, -0.007212> + 7133: < 0.004002, -0.001975, -0.007297> + 7134: < 0.004360, -0.001957, -0.007115> + 7135: < 0.004318, -0.002333, -0.007033> + 7136: < 0.004002, -0.001975, -0.007297> + 7137: < 0.004034, -0.001588, -0.007367> + 7138: < 0.004395, -0.001574, -0.007183> + 7139: < 0.004360, -0.001957, -0.007115> + 7140: < 0.004034, -0.001588, -0.007367> + 7141: < 0.004061, -0.001196, -0.007423> + 7142: < 0.004424, -0.001185, -0.007236> + 7143: < 0.004395, -0.001574, -0.007183> + 7144: < 0.004061, -0.001196, -0.007423> + 7145: < 0.004081, -0.000799, -0.007462> + 7146: < 0.004446, -0.000792, -0.007275> + 7147: < 0.004424, -0.001185, -0.007236> + 7148: < 0.004081, -0.000799, -0.007462> + 7149: < 0.004093, -0.000400, -0.007487> + 7150: < 0.004460, -0.000397, -0.007298> + 7151: < 0.004446, -0.000792, -0.007275> + 7152: < 0.004093, -0.000400, -0.007487> + 7153: < 0.004098, -0.000000, -0.007495> + 7154: < 0.004465, 0.000000, -0.007306> + 7155: < 0.004460, -0.000397, -0.007298> + 7156: < 0.004098, -0.000000, -0.007495> + 7157: < 0.004093, 0.000400, -0.007487> + 7158: < 0.004460, 0.000397, -0.007298> + 7159: < 0.004465, 0.000000, -0.007306> + 7160: < 0.004093, 0.000400, -0.007487> + 7161: < 0.004081, 0.000799, -0.007462> + 7162: < 0.004446, 0.000792, -0.007275> + 7163: < 0.004460, 0.000397, -0.007298> + 7164: < 0.004081, 0.000799, -0.007462> + 7165: < 0.004061, 0.001196, -0.007423> + 7166: < 0.004424, 0.001185, -0.007236> + 7167: < 0.004446, 0.000792, -0.007275> + 7168: < 0.004061, 0.001196, -0.007423> + 7169: < 0.004034, 0.001588, -0.007367> + 7170: < 0.004395, 0.001574, -0.007183> + 7171: < 0.004424, 0.001185, -0.007236> + 7172: < 0.004034, 0.001588, -0.007367> + 7173: < 0.004002, 0.001975, -0.007297> + 7174: < 0.004360, 0.001957, -0.007115> + 7175: < 0.004395, 0.001574, -0.007183> + 7176: < 0.004002, 0.001975, -0.007297> + 7177: < 0.003965, 0.002356, -0.007212> + 7178: < 0.004318, 0.002333, -0.007033> + 7179: < 0.004360, 0.001957, -0.007115> + 7180: < 0.003965, 0.002356, -0.007212> + 7181: < 0.003924, 0.002729, -0.007112> + 7182: < 0.004273, 0.002701, -0.006937> + 7183: < 0.004318, 0.002333, -0.007033> + 7184: < 0.003924, 0.002729, -0.007112> + 7185: < 0.003880, 0.003093, -0.006998> + 7186: < 0.004223, 0.003060, -0.006828> + 7187: < 0.004273, 0.002701, -0.006937> + 7188: < 0.003880, 0.003093, -0.006998> + 7189: < 0.003834, 0.003446, -0.006870> + 7190: < 0.004170, 0.003407, -0.006705> + 7191: < 0.004223, 0.003060, -0.006828> + 7192: < 0.003834, 0.003446, -0.006870> + 7193: < 0.003788, 0.003788, -0.006727> + 7194: < 0.004117, 0.003743, -0.006570> + 7195: < 0.004170, 0.003407, -0.006705> + 7196: < 0.003788, 0.003788, -0.006727> + 7197: < 0.003743, 0.004117, -0.006570> + 7198: < 0.004065, 0.004065, -0.006421> + 7199: < 0.004117, 0.003743, -0.006570> + 7200: < 0.003743, 0.004117, -0.006570> + 7201: < 0.003701, 0.004434, -0.006397> + 7202: < 0.004017, 0.004374, -0.006257> + 7203: < 0.004065, 0.004065, -0.006421> + 7204: < 0.003701, 0.004434, -0.006397> + 7205: < 0.003666, 0.004736, -0.006210> + 7206: < 0.003975, 0.004668, -0.006080> + 7207: < 0.004017, 0.004374, -0.006257> + 7208: < 0.003666, 0.004736, -0.006210> + 7209: < 0.003637, 0.005023, -0.006006> + 7210: < 0.003941, 0.004946, -0.005887> + 7211: < 0.003975, 0.004668, -0.006080> + 7212: < 0.003637, 0.005023, -0.006006> + 7213: < 0.003619, 0.005294, -0.005786> + 7214: < 0.003918, 0.005207, -0.005678> + 7215: < 0.003941, 0.004946, -0.005887> + 7216: < 0.003918, -0.005207, -0.005678> + 7217: < 0.003941, -0.004946, -0.005887> + 7218: < 0.004226, -0.004870, -0.005760> + 7219: < 0.004199, -0.005120, -0.005564> + 7220: < 0.003941, -0.004946, -0.005887> + 7221: < 0.003975, -0.004668, -0.006080> + 7222: < 0.004267, -0.004602, -0.005939> + 7223: < 0.004226, -0.004870, -0.005760> + 7224: < 0.003975, -0.004668, -0.006080> + 7225: < 0.004017, -0.004374, -0.006257> + 7226: < 0.004318, -0.004318, -0.006105> + 7227: < 0.004267, -0.004602, -0.005939> + 7228: < 0.004017, -0.004374, -0.006257> + 7229: < 0.004065, -0.004065, -0.006421> + 7230: < 0.004374, -0.004017, -0.006257> + 7231: < 0.004318, -0.004318, -0.006105> + 7232: < 0.004065, -0.004065, -0.006421> + 7233: < 0.004117, -0.003743, -0.006570> + 7234: < 0.004434, -0.003701, -0.006397> + 7235: < 0.004374, -0.004017, -0.006257> + 7236: < 0.004117, -0.003743, -0.006570> + 7237: < 0.004170, -0.003407, -0.006705> + 7238: < 0.004494, -0.003372, -0.006525> + 7239: < 0.004434, -0.003701, -0.006397> + 7240: < 0.004170, -0.003407, -0.006705> + 7241: < 0.004223, -0.003060, -0.006828> + 7242: < 0.004553, -0.003030, -0.006641> + 7243: < 0.004494, -0.003372, -0.006525> + 7244: < 0.004223, -0.003060, -0.006828> + 7245: < 0.004273, -0.002701, -0.006937> + 7246: < 0.004609, -0.002676, -0.006745> + 7247: < 0.004553, -0.003030, -0.006641> + 7248: < 0.004273, -0.002701, -0.006937> + 7249: < 0.004318, -0.002333, -0.007033> + 7250: < 0.004659, -0.002313, -0.006836> + 7251: < 0.004609, -0.002676, -0.006745> + 7252: < 0.004318, -0.002333, -0.007033> + 7253: < 0.004360, -0.001957, -0.007115> + 7254: < 0.004705, -0.001940, -0.006915> + 7255: < 0.004659, -0.002313, -0.006836> + 7256: < 0.004360, -0.001957, -0.007115> + 7257: < 0.004395, -0.001574, -0.007183> + 7258: < 0.004744, -0.001561, -0.006980> + 7259: < 0.004705, -0.001940, -0.006915> + 7260: < 0.004395, -0.001574, -0.007183> + 7261: < 0.004424, -0.001185, -0.007236> + 7262: < 0.004776, -0.001176, -0.007032> + 7263: < 0.004744, -0.001561, -0.006980> + 7264: < 0.004424, -0.001185, -0.007236> + 7265: < 0.004446, -0.000792, -0.007275> + 7266: < 0.004800, -0.000786, -0.007069> + 7267: < 0.004776, -0.001176, -0.007032> + 7268: < 0.004446, -0.000792, -0.007275> + 7269: < 0.004460, -0.000397, -0.007298> + 7270: < 0.004815, -0.000394, -0.007092> + 7271: < 0.004800, -0.000786, -0.007069> + 7272: < 0.004460, -0.000397, -0.007298> + 7273: < 0.004465, 0.000000, -0.007306> + 7274: < 0.004820, 0.000000, -0.007099> + 7275: < 0.004815, -0.000394, -0.007092> + 7276: < 0.004465, 0.000000, -0.007306> + 7277: < 0.004460, 0.000397, -0.007298> + 7278: < 0.004815, 0.000394, -0.007092> + 7279: < 0.004820, 0.000000, -0.007099> + 7280: < 0.004460, 0.000397, -0.007298> + 7281: < 0.004446, 0.000792, -0.007275> + 7282: < 0.004800, 0.000786, -0.007069> + 7283: < 0.004815, 0.000394, -0.007092> + 7284: < 0.004446, 0.000792, -0.007275> + 7285: < 0.004424, 0.001185, -0.007236> + 7286: < 0.004776, 0.001176, -0.007032> + 7287: < 0.004800, 0.000786, -0.007069> + 7288: < 0.004424, 0.001185, -0.007236> + 7289: < 0.004395, 0.001574, -0.007183> + 7290: < 0.004744, 0.001561, -0.006980> + 7291: < 0.004776, 0.001176, -0.007032> + 7292: < 0.004395, 0.001574, -0.007183> + 7293: < 0.004360, 0.001957, -0.007115> + 7294: < 0.004705, 0.001940, -0.006915> + 7295: < 0.004744, 0.001561, -0.006980> + 7296: < 0.004360, 0.001957, -0.007115> + 7297: < 0.004318, 0.002333, -0.007033> + 7298: < 0.004659, 0.002313, -0.006836> + 7299: < 0.004705, 0.001940, -0.006915> + 7300: < 0.004318, 0.002333, -0.007033> + 7301: < 0.004273, 0.002701, -0.006937> + 7302: < 0.004609, 0.002676, -0.006745> + 7303: < 0.004659, 0.002313, -0.006836> + 7304: < 0.004273, 0.002701, -0.006937> + 7305: < 0.004223, 0.003060, -0.006828> + 7306: < 0.004553, 0.003030, -0.006641> + 7307: < 0.004609, 0.002676, -0.006745> + 7308: < 0.004223, 0.003060, -0.006828> + 7309: < 0.004170, 0.003407, -0.006705> + 7310: < 0.004494, 0.003372, -0.006525> + 7311: < 0.004553, 0.003030, -0.006641> + 7312: < 0.004170, 0.003407, -0.006705> + 7313: < 0.004117, 0.003743, -0.006570> + 7314: < 0.004434, 0.003701, -0.006397> + 7315: < 0.004494, 0.003372, -0.006525> + 7316: < 0.004117, 0.003743, -0.006570> + 7317: < 0.004065, 0.004065, -0.006421> + 7318: < 0.004374, 0.004017, -0.006257> + 7319: < 0.004434, 0.003701, -0.006397> + 7320: < 0.004065, 0.004065, -0.006421> + 7321: < 0.004017, 0.004374, -0.006257> + 7322: < 0.004318, 0.004318, -0.006105> + 7323: < 0.004374, 0.004017, -0.006257> + 7324: < 0.004017, 0.004374, -0.006257> + 7325: < 0.003975, 0.004668, -0.006080> + 7326: < 0.004267, 0.004602, -0.005939> + 7327: < 0.004318, 0.004318, -0.006105> + 7328: < 0.003975, 0.004668, -0.006080> + 7329: < 0.003941, 0.004946, -0.005887> + 7330: < 0.004226, 0.004870, -0.005760> + 7331: < 0.004267, 0.004602, -0.005939> + 7332: < 0.003941, 0.004946, -0.005887> + 7333: < 0.003918, 0.005207, -0.005678> + 7334: < 0.004199, 0.005120, -0.005564> + 7335: < 0.004226, 0.004870, -0.005760> + 7336: < 0.004199, -0.005120, -0.005564> + 7337: < 0.004226, -0.004870, -0.005760> + 7338: < 0.004494, -0.004798, -0.005623> + 7339: < 0.004460, -0.005034, -0.005446> + 7340: < 0.004226, -0.004870, -0.005760> + 7341: < 0.004267, -0.004602, -0.005939> + 7342: < 0.004542, -0.004542, -0.005788> + 7343: < 0.004494, -0.004798, -0.005623> + 7344: < 0.004267, -0.004602, -0.005939> + 7345: < 0.004318, -0.004318, -0.006105> + 7346: < 0.004602, -0.004267, -0.005939> + 7347: < 0.004542, -0.004542, -0.005788> + 7348: < 0.004318, -0.004318, -0.006105> + 7349: < 0.004374, -0.004017, -0.006257> + 7350: < 0.004668, -0.003975, -0.006080> + 7351: < 0.004602, -0.004267, -0.005939> + 7352: < 0.004374, -0.004017, -0.006257> + 7353: < 0.004434, -0.003701, -0.006397> + 7354: < 0.004736, -0.003666, -0.006210> + 7355: < 0.004668, -0.003975, -0.006080> + 7356: < 0.004434, -0.003701, -0.006397> + 7357: < 0.004494, -0.003372, -0.006525> + 7358: < 0.004804, -0.003342, -0.006329> + 7359: < 0.004736, -0.003666, -0.006210> + 7360: < 0.004494, -0.003372, -0.006525> + 7361: < 0.004553, -0.003030, -0.006641> + 7362: < 0.004870, -0.003004, -0.006439> + 7363: < 0.004804, -0.003342, -0.006329> + 7364: < 0.004553, -0.003030, -0.006641> + 7365: < 0.004609, -0.002676, -0.006745> + 7366: < 0.004931, -0.002655, -0.006537> + 7367: < 0.004870, -0.003004, -0.006439> + 7368: < 0.004609, -0.002676, -0.006745> + 7369: < 0.004659, -0.002313, -0.006836> + 7370: < 0.004987, -0.002295, -0.006623> + 7371: < 0.004931, -0.002655, -0.006537> + 7372: < 0.004659, -0.002313, -0.006836> + 7373: < 0.004705, -0.001940, -0.006915> + 7374: < 0.005037, -0.001926, -0.006698> + 7375: < 0.004987, -0.002295, -0.006623> + 7376: < 0.004705, -0.001940, -0.006915> + 7377: < 0.004744, -0.001561, -0.006980> + 7378: < 0.005080, -0.001550, -0.006761> + 7379: < 0.005037, -0.001926, -0.006698> + 7380: < 0.004744, -0.001561, -0.006980> + 7381: < 0.004776, -0.001176, -0.007032> + 7382: < 0.005114, -0.001168, -0.006810> + 7383: < 0.005080, -0.001550, -0.006761> + 7384: < 0.004776, -0.001176, -0.007032> + 7385: < 0.004800, -0.000786, -0.007069> + 7386: < 0.005140, -0.000781, -0.006846> + 7387: < 0.005114, -0.001168, -0.006810> + 7388: < 0.004800, -0.000786, -0.007069> + 7389: < 0.004815, -0.000394, -0.007092> + 7390: < 0.005156, -0.000391, -0.006868> + 7391: < 0.005140, -0.000781, -0.006846> + 7392: < 0.004815, -0.000394, -0.007092> + 7393: < 0.004820, 0.000000, -0.007099> + 7394: < 0.005162, 0.000000, -0.006875> + 7395: < 0.005156, -0.000391, -0.006868> + 7396: < 0.004820, 0.000000, -0.007099> + 7397: < 0.004815, 0.000394, -0.007092> + 7398: < 0.005156, 0.000391, -0.006868> + 7399: < 0.005162, 0.000000, -0.006875> + 7400: < 0.004815, 0.000394, -0.007092> + 7401: < 0.004800, 0.000786, -0.007069> + 7402: < 0.005140, 0.000781, -0.006846> + 7403: < 0.005156, 0.000391, -0.006868> + 7404: < 0.004800, 0.000786, -0.007069> + 7405: < 0.004776, 0.001176, -0.007032> + 7406: < 0.005114, 0.001168, -0.006810> + 7407: < 0.005140, 0.000781, -0.006846> + 7408: < 0.004776, 0.001176, -0.007032> + 7409: < 0.004744, 0.001561, -0.006980> + 7410: < 0.005080, 0.001550, -0.006761> + 7411: < 0.005114, 0.001168, -0.006810> + 7412: < 0.004744, 0.001561, -0.006980> + 7413: < 0.004705, 0.001940, -0.006915> + 7414: < 0.005037, 0.001926, -0.006698> + 7415: < 0.005080, 0.001550, -0.006761> + 7416: < 0.004705, 0.001940, -0.006915> + 7417: < 0.004659, 0.002313, -0.006836> + 7418: < 0.004987, 0.002295, -0.006623> + 7419: < 0.005037, 0.001926, -0.006698> + 7420: < 0.004659, 0.002313, -0.006836> + 7421: < 0.004609, 0.002676, -0.006745> + 7422: < 0.004931, 0.002655, -0.006537> + 7423: < 0.004987, 0.002295, -0.006623> + 7424: < 0.004609, 0.002676, -0.006745> + 7425: < 0.004553, 0.003030, -0.006641> + 7426: < 0.004870, 0.003004, -0.006439> + 7427: < 0.004931, 0.002655, -0.006537> + 7428: < 0.004553, 0.003030, -0.006641> + 7429: < 0.004494, 0.003372, -0.006525> + 7430: < 0.004804, 0.003342, -0.006329> + 7431: < 0.004870, 0.003004, -0.006439> + 7432: < 0.004494, 0.003372, -0.006525> + 7433: < 0.004434, 0.003701, -0.006397> + 7434: < 0.004736, 0.003666, -0.006210> + 7435: < 0.004804, 0.003342, -0.006329> + 7436: < 0.004434, 0.003701, -0.006397> + 7437: < 0.004374, 0.004017, -0.006257> + 7438: < 0.004668, 0.003975, -0.006080> + 7439: < 0.004736, 0.003666, -0.006210> + 7440: < 0.004374, 0.004017, -0.006257> + 7441: < 0.004318, 0.004318, -0.006105> + 7442: < 0.004602, 0.004267, -0.005939> + 7443: < 0.004668, 0.003975, -0.006080> + 7444: < 0.004318, 0.004318, -0.006105> + 7445: < 0.004267, 0.004602, -0.005939> + 7446: < 0.004542, 0.004542, -0.005788> + 7447: < 0.004602, 0.004267, -0.005939> + 7448: < 0.004267, 0.004602, -0.005939> + 7449: < 0.004226, 0.004870, -0.005760> + 7450: < 0.004494, 0.004798, -0.005623> + 7451: < 0.004542, 0.004542, -0.005788> + 7452: < 0.004226, 0.004870, -0.005760> + 7453: < 0.004199, 0.005120, -0.005564> + 7454: < 0.004460, 0.005034, -0.005446> + 7455: < 0.004494, 0.004798, -0.005623> + 7456: < 0.004460, -0.005034, -0.005446> + 7457: < 0.004494, -0.004798, -0.005623> + 7458: < 0.004738, -0.004738, -0.005479> + 7459: < 0.004691, -0.004959, -0.005326> + 7460: < 0.004494, -0.004798, -0.005623> + 7461: < 0.004542, -0.004542, -0.005788> + 7462: < 0.004798, -0.004494, -0.005623> + 7463: < 0.004738, -0.004738, -0.005479> + 7464: < 0.004542, -0.004542, -0.005788> + 7465: < 0.004602, -0.004267, -0.005939> + 7466: < 0.004870, -0.004226, -0.005760> + 7467: < 0.004798, -0.004494, -0.005623> + 7468: < 0.004602, -0.004267, -0.005939> + 7469: < 0.004668, -0.003975, -0.006080> + 7470: < 0.004946, -0.003941, -0.005887> + 7471: < 0.004870, -0.004226, -0.005760> + 7472: < 0.004668, -0.003975, -0.006080> + 7473: < 0.004736, -0.003666, -0.006210> + 7474: < 0.005023, -0.003637, -0.006006> + 7475: < 0.004946, -0.003941, -0.005887> + 7476: < 0.004736, -0.003666, -0.006210> + 7477: < 0.004804, -0.003342, -0.006329> + 7478: < 0.005099, -0.003318, -0.006117> + 7479: < 0.005023, -0.003637, -0.006006> + 7480: < 0.004804, -0.003342, -0.006329> + 7481: < 0.004870, -0.003004, -0.006439> + 7482: < 0.005172, -0.002984, -0.006219> + 7483: < 0.005099, -0.003318, -0.006117> + 7484: < 0.004870, -0.003004, -0.006439> + 7485: < 0.004931, -0.002655, -0.006537> + 7486: < 0.005240, -0.002638, -0.006311> + 7487: < 0.005172, -0.002984, -0.006219> + 7488: < 0.004931, -0.002655, -0.006537> + 7489: < 0.004987, -0.002295, -0.006623> + 7490: < 0.005301, -0.002281, -0.006393> + 7491: < 0.005240, -0.002638, -0.006311> + 7492: < 0.004987, -0.002295, -0.006623> + 7493: < 0.005037, -0.001926, -0.006698> + 7494: < 0.005355, -0.001915, -0.006464> + 7495: < 0.005301, -0.002281, -0.006393> + 7496: < 0.005037, -0.001926, -0.006698> + 7497: < 0.005080, -0.001550, -0.006761> + 7498: < 0.005401, -0.001541, -0.006523> + 7499: < 0.005355, -0.001915, -0.006464> + 7500: < 0.005080, -0.001550, -0.006761> + 7501: < 0.005114, -0.001168, -0.006810> + 7502: < 0.005438, -0.001161, -0.006570> + 7503: < 0.005401, -0.001541, -0.006523> + 7504: < 0.005114, -0.001168, -0.006810> + 7505: < 0.005140, -0.000781, -0.006846> + 7506: < 0.005466, -0.000777, -0.006605> + 7507: < 0.005438, -0.001161, -0.006570> + 7508: < 0.005140, -0.000781, -0.006846> + 7509: < 0.005156, -0.000391, -0.006868> + 7510: < 0.005483, -0.000389, -0.006626> + 7511: < 0.005466, -0.000777, -0.006605> + 7512: < 0.005156, -0.000391, -0.006868> + 7513: < 0.005162, 0.000000, -0.006875> + 7514: < 0.005489, 0.000000, -0.006633> + 7515: < 0.005483, -0.000389, -0.006626> + 7516: < 0.005162, 0.000000, -0.006875> + 7517: < 0.005156, 0.000391, -0.006868> + 7518: < 0.005483, 0.000389, -0.006626> + 7519: < 0.005489, 0.000000, -0.006633> + 7520: < 0.005156, 0.000391, -0.006868> + 7521: < 0.005140, 0.000781, -0.006846> + 7522: < 0.005466, 0.000777, -0.006605> + 7523: < 0.005483, 0.000389, -0.006626> + 7524: < 0.005140, 0.000781, -0.006846> + 7525: < 0.005114, 0.001168, -0.006810> + 7526: < 0.005438, 0.001161, -0.006570> + 7527: < 0.005466, 0.000777, -0.006605> + 7528: < 0.005114, 0.001168, -0.006810> + 7529: < 0.005080, 0.001550, -0.006761> + 7530: < 0.005401, 0.001541, -0.006523> + 7531: < 0.005438, 0.001161, -0.006570> + 7532: < 0.005080, 0.001550, -0.006761> + 7533: < 0.005037, 0.001926, -0.006698> + 7534: < 0.005355, 0.001915, -0.006464> + 7535: < 0.005401, 0.001541, -0.006523> + 7536: < 0.005037, 0.001926, -0.006698> + 7537: < 0.004987, 0.002295, -0.006623> + 7538: < 0.005301, 0.002281, -0.006393> + 7539: < 0.005355, 0.001915, -0.006464> + 7540: < 0.004987, 0.002295, -0.006623> + 7541: < 0.004931, 0.002655, -0.006537> + 7542: < 0.005240, 0.002638, -0.006311> + 7543: < 0.005301, 0.002281, -0.006393> + 7544: < 0.004931, 0.002655, -0.006537> + 7545: < 0.004870, 0.003004, -0.006439> + 7546: < 0.005172, 0.002984, -0.006219> + 7547: < 0.005240, 0.002638, -0.006311> + 7548: < 0.004870, 0.003004, -0.006439> + 7549: < 0.004804, 0.003342, -0.006329> + 7550: < 0.005099, 0.003318, -0.006117> + 7551: < 0.005172, 0.002984, -0.006219> + 7552: < 0.004804, 0.003342, -0.006329> + 7553: < 0.004736, 0.003666, -0.006210> + 7554: < 0.005023, 0.003637, -0.006006> + 7555: < 0.005099, 0.003318, -0.006117> + 7556: < 0.004736, 0.003666, -0.006210> + 7557: < 0.004668, 0.003975, -0.006080> + 7558: < 0.004946, 0.003941, -0.005887> + 7559: < 0.005023, 0.003637, -0.006006> + 7560: < 0.004668, 0.003975, -0.006080> + 7561: < 0.004602, 0.004267, -0.005939> + 7562: < 0.004870, 0.004226, -0.005760> + 7563: < 0.004946, 0.003941, -0.005887> + 7564: < 0.004602, 0.004267, -0.005939> + 7565: < 0.004542, 0.004542, -0.005788> + 7566: < 0.004798, 0.004494, -0.005623> + 7567: < 0.004870, 0.004226, -0.005760> + 7568: < 0.004542, 0.004542, -0.005788> + 7569: < 0.004494, 0.004798, -0.005623> + 7570: < 0.004738, 0.004738, -0.005479> + 7571: < 0.004798, 0.004494, -0.005623> + 7572: < 0.004494, 0.004798, -0.005623> + 7573: < 0.004460, 0.005034, -0.005446> + 7574: < 0.004691, 0.004959, -0.005326> + 7575: < 0.004738, 0.004738, -0.005479> + 7576: < 0.004691, -0.004959, -0.005326> + 7577: < 0.004738, -0.004738, -0.005479> + 7578: < 0.004959, -0.004691, -0.005326> + 7579: < 0.004894, -0.004894, -0.005206> + 7580: < 0.004738, -0.004738, -0.005479> + 7581: < 0.004798, -0.004494, -0.005623> + 7582: < 0.005034, -0.004460, -0.005446> + 7583: < 0.004959, -0.004691, -0.005326> + 7584: < 0.004798, -0.004494, -0.005623> + 7585: < 0.004870, -0.004226, -0.005760> + 7586: < 0.005120, -0.004199, -0.005564> + 7587: < 0.005034, -0.004460, -0.005446> + 7588: < 0.004870, -0.004226, -0.005760> + 7589: < 0.004946, -0.003941, -0.005887> + 7590: < 0.005207, -0.003918, -0.005678> + 7591: < 0.005120, -0.004199, -0.005564> + 7592: < 0.004946, -0.003941, -0.005887> + 7593: < 0.005023, -0.003637, -0.006006> + 7594: < 0.005294, -0.003619, -0.005786> + 7595: < 0.005207, -0.003918, -0.005678> + 7596: < 0.005023, -0.003637, -0.006006> + 7597: < 0.005099, -0.003318, -0.006117> + 7598: < 0.005379, -0.003302, -0.005888> + 7599: < 0.005294, -0.003619, -0.005786> + 7600: < 0.005099, -0.003318, -0.006117> + 7601: < 0.005172, -0.002984, -0.006219> + 7602: < 0.005459, -0.002971, -0.005983> + 7603: < 0.005379, -0.003302, -0.005888> + 7604: < 0.005172, -0.002984, -0.006219> + 7605: < 0.005240, -0.002638, -0.006311> + 7606: < 0.005533, -0.002627, -0.006069> + 7607: < 0.005459, -0.002971, -0.005983> + 7608: < 0.005240, -0.002638, -0.006311> + 7609: < 0.005301, -0.002281, -0.006393> + 7610: < 0.005599, -0.002272, -0.006146> + 7611: < 0.005533, -0.002627, -0.006069> + 7612: < 0.005301, -0.002281, -0.006393> + 7613: < 0.005355, -0.001915, -0.006464> + 7614: < 0.005657, -0.001908, -0.006212> + 7615: < 0.005599, -0.002272, -0.006146> + 7616: < 0.005355, -0.001915, -0.006464> + 7617: < 0.005401, -0.001541, -0.006523> + 7618: < 0.005707, -0.001536, -0.006269> + 7619: < 0.005657, -0.001908, -0.006212> + 7620: < 0.005401, -0.001541, -0.006523> + 7621: < 0.005438, -0.001161, -0.006570> + 7622: < 0.005747, -0.001157, -0.006313> + 7623: < 0.005707, -0.001536, -0.006269> + 7624: < 0.005438, -0.001161, -0.006570> + 7625: < 0.005466, -0.000777, -0.006605> + 7626: < 0.005776, -0.000774, -0.006346> + 7627: < 0.005747, -0.001157, -0.006313> + 7628: < 0.005466, -0.000777, -0.006605> + 7629: < 0.005483, -0.000389, -0.006626> + 7630: < 0.005794, -0.000388, -0.006366> + 7631: < 0.005776, -0.000774, -0.006346> + 7632: < 0.005483, -0.000389, -0.006626> + 7633: < 0.005489, 0.000000, -0.006633> + 7634: < 0.005801, -0.000000, -0.006373> + 7635: < 0.005794, -0.000388, -0.006366> + 7636: < 0.005489, 0.000000, -0.006633> + 7637: < 0.005483, 0.000389, -0.006626> + 7638: < 0.005794, 0.000388, -0.006366> + 7639: < 0.005801, -0.000000, -0.006373> + 7640: < 0.005483, 0.000389, -0.006626> + 7641: < 0.005466, 0.000777, -0.006605> + 7642: < 0.005776, 0.000774, -0.006346> + 7643: < 0.005794, 0.000388, -0.006366> + 7644: < 0.005466, 0.000777, -0.006605> + 7645: < 0.005438, 0.001161, -0.006570> + 7646: < 0.005747, 0.001157, -0.006313> + 7647: < 0.005776, 0.000774, -0.006346> + 7648: < 0.005438, 0.001161, -0.006570> + 7649: < 0.005401, 0.001541, -0.006523> + 7650: < 0.005707, 0.001536, -0.006269> + 7651: < 0.005747, 0.001157, -0.006313> + 7652: < 0.005401, 0.001541, -0.006523> + 7653: < 0.005355, 0.001915, -0.006464> + 7654: < 0.005657, 0.001908, -0.006212> + 7655: < 0.005707, 0.001536, -0.006269> + 7656: < 0.005355, 0.001915, -0.006464> + 7657: < 0.005301, 0.002281, -0.006393> + 7658: < 0.005599, 0.002272, -0.006146> + 7659: < 0.005657, 0.001908, -0.006212> + 7660: < 0.005301, 0.002281, -0.006393> + 7661: < 0.005240, 0.002638, -0.006311> + 7662: < 0.005533, 0.002627, -0.006069> + 7663: < 0.005599, 0.002272, -0.006146> + 7664: < 0.005240, 0.002638, -0.006311> + 7665: < 0.005172, 0.002984, -0.006219> + 7666: < 0.005459, 0.002971, -0.005983> + 7667: < 0.005533, 0.002627, -0.006069> + 7668: < 0.005172, 0.002984, -0.006219> + 7669: < 0.005099, 0.003318, -0.006117> + 7670: < 0.005379, 0.003302, -0.005888> + 7671: < 0.005459, 0.002971, -0.005983> + 7672: < 0.005099, 0.003318, -0.006117> + 7673: < 0.005023, 0.003637, -0.006006> + 7674: < 0.005294, 0.003619, -0.005786> + 7675: < 0.005379, 0.003302, -0.005888> + 7676: < 0.005023, 0.003637, -0.006006> + 7677: < 0.004946, 0.003941, -0.005887> + 7678: < 0.005207, 0.003918, -0.005678> + 7679: < 0.005294, 0.003619, -0.005786> + 7680: < 0.004946, 0.003941, -0.005887> + 7681: < 0.004870, 0.004226, -0.005760> + 7682: < 0.005120, 0.004199, -0.005564> + 7683: < 0.005207, 0.003918, -0.005678> + 7684: < 0.004870, 0.004226, -0.005760> + 7685: < 0.004798, 0.004494, -0.005623> + 7686: < 0.005034, 0.004460, -0.005446> + 7687: < 0.005120, 0.004199, -0.005564> + 7688: < 0.004798, 0.004494, -0.005623> + 7689: < 0.004738, 0.004738, -0.005479> + 7690: < 0.004959, 0.004691, -0.005326> + 7691: < 0.005034, 0.004460, -0.005446> + 7692: < 0.004738, 0.004738, -0.005479> + 7693: < 0.004691, 0.004959, -0.005326> + 7694: < 0.004894, 0.004894, -0.005206> + 7695: < 0.004959, 0.004691, -0.005326> + 7696: <-0.005000, -0.005000, -0.005000> + 7697: <-0.005081, -0.004833, -0.005081> + 7698: <-0.004894, -0.004894, -0.005206> + 7699: <-0.004833, -0.005081, -0.005081> + 7700: <-0.005081, -0.004833, -0.005081> + 7701: <-0.005166, -0.004647, -0.005166> + 7702: <-0.004959, -0.004691, -0.005326> + 7703: <-0.004894, -0.004894, -0.005206> + 7704: <-0.005166, -0.004647, -0.005166> + 7705: <-0.005255, -0.004436, -0.005255> + 7706: <-0.005034, -0.004460, -0.005446> + 7707: <-0.004959, -0.004691, -0.005326> + 7708: <-0.005255, -0.004436, -0.005255> + 7709: <-0.005351, -0.004188, -0.005351> + 7710: <-0.005120, -0.004199, -0.005564> + 7711: <-0.005034, -0.004460, -0.005446> + 7712: <-0.005351, -0.004188, -0.005351> + 7713: <-0.005451, -0.003910, -0.005451> + 7714: <-0.005207, -0.003918, -0.005678> + 7715: <-0.005120, -0.004199, -0.005564> + 7716: <-0.005451, -0.003910, -0.005451> + 7717: <-0.005549, -0.003612, -0.005549> + 7718: <-0.005294, -0.003619, -0.005786> + 7719: <-0.005207, -0.003918, -0.005678> + 7720: <-0.005549, -0.003612, -0.005549> + 7721: <-0.005642, -0.003297, -0.005642> + 7722: <-0.005379, -0.003302, -0.005888> + 7723: <-0.005294, -0.003619, -0.005786> + 7724: <-0.005642, -0.003297, -0.005642> + 7725: <-0.005729, -0.002966, -0.005729> + 7726: <-0.005459, -0.002971, -0.005983> + 7727: <-0.005379, -0.003302, -0.005888> + 7728: <-0.005729, -0.002966, -0.005729> + 7729: <-0.005809, -0.002623, -0.005809> + 7730: <-0.005533, -0.002627, -0.006069> + 7731: <-0.005459, -0.002971, -0.005983> + 7732: <-0.005809, -0.002623, -0.005809> + 7733: <-0.005881, -0.002269, -0.005881> + 7734: <-0.005599, -0.002272, -0.006146> + 7735: <-0.005533, -0.002627, -0.006069> + 7736: <-0.005881, -0.002269, -0.005881> + 7737: <-0.005944, -0.001906, -0.005944> + 7738: <-0.005657, -0.001908, -0.006212> + 7739: <-0.005599, -0.002272, -0.006146> + 7740: <-0.005944, -0.001906, -0.005944> + 7741: <-0.005996, -0.001534, -0.005996> + 7742: <-0.005707, -0.001536, -0.006269> + 7743: <-0.005657, -0.001908, -0.006212> + 7744: <-0.005996, -0.001534, -0.005996> + 7745: <-0.006039, -0.001156, -0.006039> + 7746: <-0.005747, -0.001157, -0.006313> + 7747: <-0.005707, -0.001536, -0.006269> + 7748: <-0.006039, -0.001156, -0.006039> + 7749: <-0.006070, -0.000773, -0.006070> + 7750: <-0.005776, -0.000774, -0.006346> + 7751: <-0.005747, -0.001157, -0.006313> + 7752: <-0.006070, -0.000773, -0.006070> + 7753: <-0.006089, -0.000387, -0.006089> + 7754: <-0.005794, -0.000388, -0.006366> + 7755: <-0.005776, -0.000774, -0.006346> + 7756: <-0.006089, -0.000387, -0.006089> + 7757: <-0.006096, 0.000000, -0.006096> + 7758: <-0.005801, 0.000000, -0.006373> + 7759: <-0.005794, -0.000388, -0.006366> + 7760: <-0.006096, 0.000000, -0.006096> + 7761: <-0.006089, 0.000387, -0.006089> + 7762: <-0.005794, 0.000388, -0.006366> + 7763: <-0.005801, 0.000000, -0.006373> + 7764: <-0.006089, 0.000387, -0.006089> + 7765: <-0.006070, 0.000773, -0.006070> + 7766: <-0.005776, 0.000774, -0.006346> + 7767: <-0.005794, 0.000388, -0.006366> + 7768: <-0.006070, 0.000773, -0.006070> + 7769: <-0.006039, 0.001156, -0.006039> + 7770: <-0.005747, 0.001157, -0.006313> + 7771: <-0.005776, 0.000774, -0.006346> + 7772: <-0.006039, 0.001156, -0.006039> + 7773: <-0.005996, 0.001534, -0.005996> + 7774: <-0.005707, 0.001536, -0.006269> + 7775: <-0.005747, 0.001157, -0.006313> + 7776: <-0.005996, 0.001534, -0.005996> + 7777: <-0.005944, 0.001906, -0.005944> + 7778: <-0.005657, 0.001908, -0.006212> + 7779: <-0.005707, 0.001536, -0.006269> + 7780: <-0.005944, 0.001906, -0.005944> + 7781: <-0.005881, 0.002269, -0.005881> + 7782: <-0.005599, 0.002272, -0.006146> + 7783: <-0.005657, 0.001908, -0.006212> + 7784: <-0.005881, 0.002269, -0.005881> + 7785: <-0.005809, 0.002623, -0.005809> + 7786: <-0.005533, 0.002627, -0.006069> + 7787: <-0.005599, 0.002272, -0.006146> + 7788: <-0.005809, 0.002623, -0.005809> + 7789: <-0.005729, 0.002966, -0.005729> + 7790: <-0.005459, 0.002971, -0.005983> + 7791: <-0.005533, 0.002627, -0.006069> + 7792: <-0.005729, 0.002966, -0.005729> + 7793: <-0.005642, 0.003297, -0.005642> + 7794: <-0.005379, 0.003302, -0.005888> + 7795: <-0.005459, 0.002971, -0.005983> + 7796: <-0.005642, 0.003297, -0.005642> + 7797: <-0.005549, 0.003612, -0.005549> + 7798: <-0.005294, 0.003619, -0.005786> + 7799: <-0.005379, 0.003302, -0.005888> + 7800: <-0.005549, 0.003612, -0.005549> + 7801: <-0.005451, 0.003910, -0.005451> + 7802: <-0.005207, 0.003918, -0.005678> + 7803: <-0.005294, 0.003619, -0.005786> + 7804: <-0.005451, 0.003910, -0.005451> + 7805: <-0.005351, 0.004188, -0.005351> + 7806: <-0.005120, 0.004199, -0.005564> + 7807: <-0.005207, 0.003918, -0.005678> + 7808: <-0.005351, 0.004188, -0.005351> + 7809: <-0.005255, 0.004436, -0.005255> + 7810: <-0.005034, 0.004460, -0.005446> + 7811: <-0.005120, 0.004199, -0.005564> + 7812: <-0.005255, 0.004436, -0.005255> + 7813: <-0.005166, 0.004647, -0.005166> + 7814: <-0.004959, 0.004691, -0.005326> + 7815: <-0.005034, 0.004460, -0.005446> + 7816: <-0.005166, 0.004647, -0.005166> + 7817: <-0.005081, 0.004833, -0.005081> + 7818: <-0.004894, 0.004894, -0.005206> + 7819: <-0.004959, 0.004691, -0.005326> + 7820: <-0.005081, 0.004833, -0.005081> + 7821: <-0.005000, 0.005000, -0.005000> + 7822: <-0.004833, 0.005081, -0.005081> + 7823: <-0.004894, 0.004894, -0.005206> + 7824: <-0.004894, 0.004894, -0.005206> + 7825: <-0.004833, 0.005081, -0.005081> + 7826: <-0.004647, 0.005166, -0.005166> + 7827: <-0.004691, 0.004959, -0.005326> + 7828: <-0.004691, 0.004959, -0.005326> + 7829: <-0.004647, 0.005166, -0.005166> + 7830: <-0.004436, 0.005255, -0.005255> + 7831: <-0.004460, 0.005034, -0.005446> + 7832: <-0.004460, 0.005034, -0.005446> + 7833: <-0.004436, 0.005255, -0.005255> + 7834: <-0.004188, 0.005351, -0.005351> + 7835: <-0.004199, 0.005120, -0.005564> + 7836: <-0.004199, 0.005120, -0.005564> + 7837: <-0.004188, 0.005351, -0.005351> + 7838: <-0.003910, 0.005451, -0.005451> + 7839: <-0.003918, 0.005207, -0.005678> + 7840: <-0.003918, 0.005207, -0.005678> + 7841: <-0.003910, 0.005451, -0.005451> + 7842: <-0.003612, 0.005549, -0.005549> + 7843: <-0.003619, 0.005294, -0.005786> + 7844: <-0.003619, 0.005294, -0.005786> + 7845: <-0.003612, 0.005549, -0.005549> + 7846: <-0.003297, 0.005642, -0.005642> + 7847: <-0.003302, 0.005379, -0.005888> + 7848: <-0.003302, 0.005379, -0.005888> + 7849: <-0.003297, 0.005642, -0.005642> + 7850: <-0.002966, 0.005729, -0.005729> + 7851: <-0.002971, 0.005459, -0.005983> + 7852: <-0.002971, 0.005459, -0.005983> + 7853: <-0.002966, 0.005729, -0.005729> + 7854: <-0.002623, 0.005809, -0.005809> + 7855: <-0.002627, 0.005533, -0.006069> + 7856: <-0.002627, 0.005533, -0.006069> + 7857: <-0.002623, 0.005809, -0.005809> + 7858: <-0.002269, 0.005881, -0.005881> + 7859: <-0.002272, 0.005599, -0.006146> + 7860: <-0.002272, 0.005599, -0.006146> + 7861: <-0.002269, 0.005881, -0.005881> + 7862: <-0.001906, 0.005944, -0.005944> + 7863: <-0.001908, 0.005657, -0.006212> + 7864: <-0.001908, 0.005657, -0.006212> + 7865: <-0.001906, 0.005944, -0.005944> + 7866: <-0.001534, 0.005996, -0.005996> + 7867: <-0.001536, 0.005707, -0.006269> + 7868: <-0.001536, 0.005707, -0.006269> + 7869: <-0.001534, 0.005996, -0.005996> + 7870: <-0.001156, 0.006039, -0.006039> + 7871: <-0.001157, 0.005747, -0.006313> + 7872: <-0.001157, 0.005747, -0.006313> + 7873: <-0.001156, 0.006039, -0.006039> + 7874: <-0.000773, 0.006070, -0.006070> + 7875: <-0.000774, 0.005776, -0.006346> + 7876: <-0.000774, 0.005776, -0.006346> + 7877: <-0.000773, 0.006070, -0.006070> + 7878: <-0.000387, 0.006089, -0.006089> + 7879: <-0.000388, 0.005794, -0.006366> + 7880: <-0.000388, 0.005794, -0.006366> + 7881: <-0.000387, 0.006089, -0.006089> + 7882: < 0.000000, 0.006096, -0.006096> + 7883: <-0.000000, 0.005801, -0.006373> + 7884: <-0.000000, 0.005801, -0.006373> + 7885: < 0.000000, 0.006096, -0.006096> + 7886: < 0.000387, 0.006089, -0.006089> + 7887: < 0.000388, 0.005794, -0.006366> + 7888: < 0.000388, 0.005794, -0.006366> + 7889: < 0.000387, 0.006089, -0.006089> + 7890: < 0.000773, 0.006070, -0.006070> + 7891: < 0.000774, 0.005776, -0.006346> + 7892: < 0.000774, 0.005776, -0.006346> + 7893: < 0.000773, 0.006070, -0.006070> + 7894: < 0.001156, 0.006039, -0.006039> + 7895: < 0.001157, 0.005747, -0.006313> + 7896: < 0.001157, 0.005747, -0.006313> + 7897: < 0.001156, 0.006039, -0.006039> + 7898: < 0.001534, 0.005996, -0.005996> + 7899: < 0.001536, 0.005707, -0.006269> + 7900: < 0.001536, 0.005707, -0.006269> + 7901: < 0.001534, 0.005996, -0.005996> + 7902: < 0.001906, 0.005944, -0.005944> + 7903: < 0.001908, 0.005657, -0.006212> + 7904: < 0.001908, 0.005657, -0.006212> + 7905: < 0.001906, 0.005944, -0.005944> + 7906: < 0.002269, 0.005881, -0.005881> + 7907: < 0.002272, 0.005599, -0.006146> + 7908: < 0.002272, 0.005599, -0.006146> + 7909: < 0.002269, 0.005881, -0.005881> + 7910: < 0.002623, 0.005809, -0.005809> + 7911: < 0.002627, 0.005533, -0.006069> + 7912: < 0.002627, 0.005533, -0.006069> + 7913: < 0.002623, 0.005809, -0.005809> + 7914: < 0.002966, 0.005729, -0.005729> + 7915: < 0.002971, 0.005459, -0.005983> + 7916: < 0.002971, 0.005459, -0.005983> + 7917: < 0.002966, 0.005729, -0.005729> + 7918: < 0.003297, 0.005642, -0.005642> + 7919: < 0.003302, 0.005379, -0.005888> + 7920: < 0.003302, 0.005379, -0.005888> + 7921: < 0.003297, 0.005642, -0.005642> + 7922: < 0.003612, 0.005549, -0.005549> + 7923: < 0.003619, 0.005294, -0.005786> + 7924: < 0.003619, 0.005294, -0.005786> + 7925: < 0.003612, 0.005549, -0.005549> + 7926: < 0.003910, 0.005451, -0.005451> + 7927: < 0.003918, 0.005207, -0.005678> + 7928: < 0.003918, 0.005207, -0.005678> + 7929: < 0.003910, 0.005451, -0.005451> + 7930: < 0.004188, 0.005351, -0.005351> + 7931: < 0.004199, 0.005120, -0.005564> + 7932: < 0.004199, 0.005120, -0.005564> + 7933: < 0.004188, 0.005351, -0.005351> + 7934: < 0.004436, 0.005255, -0.005255> + 7935: < 0.004460, 0.005034, -0.005446> + 7936: < 0.004460, 0.005034, -0.005446> + 7937: < 0.004436, 0.005255, -0.005255> + 7938: < 0.004647, 0.005166, -0.005166> + 7939: < 0.004691, 0.004959, -0.005326> + 7940: < 0.004691, 0.004959, -0.005326> + 7941: < 0.004647, 0.005166, -0.005166> + 7942: < 0.004833, 0.005081, -0.005081> + 7943: < 0.004894, 0.004894, -0.005206> + 7944: < 0.004894, 0.004894, -0.005206> + 7945: < 0.004833, 0.005081, -0.005081> + 7946: < 0.005000, 0.005000, -0.005000> + 7947: < 0.005081, 0.004833, -0.005081> + 7948: < 0.004959, 0.004691, -0.005326> + 7949: < 0.004894, 0.004894, -0.005206> + 7950: < 0.005081, 0.004833, -0.005081> + 7951: < 0.005166, 0.004647, -0.005166> + 7952: < 0.005034, 0.004460, -0.005446> + 7953: < 0.004959, 0.004691, -0.005326> + 7954: < 0.005166, 0.004647, -0.005166> + 7955: < 0.005255, 0.004436, -0.005255> + 7956: < 0.005120, 0.004199, -0.005564> + 7957: < 0.005034, 0.004460, -0.005446> + 7958: < 0.005255, 0.004436, -0.005255> + 7959: < 0.005351, 0.004188, -0.005351> + 7960: < 0.005207, 0.003918, -0.005678> + 7961: < 0.005120, 0.004199, -0.005564> + 7962: < 0.005351, 0.004188, -0.005351> + 7963: < 0.005451, 0.003910, -0.005451> + 7964: < 0.005294, 0.003619, -0.005786> + 7965: < 0.005207, 0.003918, -0.005678> + 7966: < 0.005451, 0.003910, -0.005451> + 7967: < 0.005549, 0.003612, -0.005549> + 7968: < 0.005379, 0.003302, -0.005888> + 7969: < 0.005294, 0.003619, -0.005786> + 7970: < 0.005549, 0.003612, -0.005549> + 7971: < 0.005642, 0.003297, -0.005642> + 7972: < 0.005459, 0.002971, -0.005983> + 7973: < 0.005379, 0.003302, -0.005888> + 7974: < 0.005642, 0.003297, -0.005642> + 7975: < 0.005729, 0.002966, -0.005729> + 7976: < 0.005533, 0.002627, -0.006069> + 7977: < 0.005459, 0.002971, -0.005983> + 7978: < 0.005729, 0.002966, -0.005729> + 7979: < 0.005809, 0.002623, -0.005809> + 7980: < 0.005599, 0.002272, -0.006146> + 7981: < 0.005533, 0.002627, -0.006069> + 7982: < 0.005809, 0.002623, -0.005809> + 7983: < 0.005881, 0.002269, -0.005881> + 7984: < 0.005657, 0.001908, -0.006212> + 7985: < 0.005599, 0.002272, -0.006146> + 7986: < 0.005881, 0.002269, -0.005881> + 7987: < 0.005944, 0.001906, -0.005944> + 7988: < 0.005707, 0.001536, -0.006269> + 7989: < 0.005657, 0.001908, -0.006212> + 7990: < 0.005944, 0.001906, -0.005944> + 7991: < 0.005996, 0.001534, -0.005996> + 7992: < 0.005747, 0.001157, -0.006313> + 7993: < 0.005707, 0.001536, -0.006269> + 7994: < 0.005996, 0.001534, -0.005996> + 7995: < 0.006039, 0.001156, -0.006039> + 7996: < 0.005776, 0.000774, -0.006346> + 7997: < 0.005747, 0.001157, -0.006313> + 7998: < 0.006039, 0.001156, -0.006039> + 7999: < 0.006070, 0.000773, -0.006070> + 8000: < 0.005794, 0.000388, -0.006366> + 8001: < 0.005776, 0.000774, -0.006346> + 8002: < 0.006070, 0.000773, -0.006070> + 8003: < 0.006089, 0.000387, -0.006089> + 8004: < 0.005801, -0.000000, -0.006373> + 8005: < 0.005794, 0.000388, -0.006366> + 8006: < 0.006089, 0.000387, -0.006089> + 8007: < 0.006096, -0.000000, -0.006096> + 8008: < 0.005794, -0.000388, -0.006366> + 8009: < 0.005801, -0.000000, -0.006373> + 8010: < 0.006096, -0.000000, -0.006096> + 8011: < 0.006089, -0.000387, -0.006089> + 8012: < 0.005776, -0.000774, -0.006346> + 8013: < 0.005794, -0.000388, -0.006366> + 8014: < 0.006089, -0.000387, -0.006089> + 8015: < 0.006070, -0.000773, -0.006070> + 8016: < 0.005747, -0.001157, -0.006313> + 8017: < 0.005776, -0.000774, -0.006346> + 8018: < 0.006070, -0.000773, -0.006070> + 8019: < 0.006039, -0.001156, -0.006039> + 8020: < 0.005707, -0.001536, -0.006269> + 8021: < 0.005747, -0.001157, -0.006313> + 8022: < 0.006039, -0.001156, -0.006039> + 8023: < 0.005996, -0.001534, -0.005996> + 8024: < 0.005657, -0.001908, -0.006212> + 8025: < 0.005707, -0.001536, -0.006269> + 8026: < 0.005996, -0.001534, -0.005996> + 8027: < 0.005944, -0.001906, -0.005944> + 8028: < 0.005599, -0.002272, -0.006146> + 8029: < 0.005657, -0.001908, -0.006212> + 8030: < 0.005944, -0.001906, -0.005944> + 8031: < 0.005881, -0.002269, -0.005881> + 8032: < 0.005533, -0.002627, -0.006069> + 8033: < 0.005599, -0.002272, -0.006146> + 8034: < 0.005881, -0.002269, -0.005881> + 8035: < 0.005809, -0.002623, -0.005809> + 8036: < 0.005459, -0.002971, -0.005983> + 8037: < 0.005533, -0.002627, -0.006069> + 8038: < 0.005809, -0.002623, -0.005809> + 8039: < 0.005729, -0.002966, -0.005729> + 8040: < 0.005379, -0.003302, -0.005888> + 8041: < 0.005459, -0.002971, -0.005983> + 8042: < 0.005729, -0.002966, -0.005729> + 8043: < 0.005642, -0.003297, -0.005642> + 8044: < 0.005294, -0.003619, -0.005786> + 8045: < 0.005379, -0.003302, -0.005888> + 8046: < 0.005642, -0.003297, -0.005642> + 8047: < 0.005549, -0.003612, -0.005549> + 8048: < 0.005207, -0.003918, -0.005678> + 8049: < 0.005294, -0.003619, -0.005786> + 8050: < 0.005549, -0.003612, -0.005549> + 8051: < 0.005451, -0.003910, -0.005451> + 8052: < 0.005120, -0.004199, -0.005564> + 8053: < 0.005207, -0.003918, -0.005678> + 8054: < 0.005451, -0.003910, -0.005451> + 8055: < 0.005351, -0.004188, -0.005351> + 8056: < 0.005034, -0.004460, -0.005446> + 8057: < 0.005120, -0.004199, -0.005564> + 8058: < 0.005351, -0.004188, -0.005351> + 8059: < 0.005255, -0.004436, -0.005255> + 8060: < 0.004959, -0.004691, -0.005326> + 8061: < 0.005034, -0.004460, -0.005446> + 8062: < 0.005255, -0.004436, -0.005255> + 8063: < 0.005166, -0.004647, -0.005166> + 8064: < 0.004894, -0.004894, -0.005206> + 8065: < 0.004959, -0.004691, -0.005326> + 8066: < 0.005166, -0.004647, -0.005166> + 8067: < 0.005081, -0.004833, -0.005081> + 8068: < 0.004833, -0.005081, -0.005081> + 8069: < 0.004894, -0.004894, -0.005206> + 8070: < 0.005081, -0.004833, -0.005081> + 8071: < 0.005000, -0.005000, -0.005000> + 8072: < 0.004647, -0.005166, -0.005166> + 8073: < 0.004691, -0.004959, -0.005326> + 8074: < 0.004894, -0.004894, -0.005206> + 8075: < 0.004833, -0.005081, -0.005081> + 8076: < 0.004436, -0.005255, -0.005255> + 8077: < 0.004460, -0.005034, -0.005446> + 8078: < 0.004691, -0.004959, -0.005326> + 8079: < 0.004647, -0.005166, -0.005166> + 8080: < 0.004188, -0.005351, -0.005351> + 8081: < 0.004199, -0.005120, -0.005564> + 8082: < 0.004460, -0.005034, -0.005446> + 8083: < 0.004436, -0.005255, -0.005255> + 8084: < 0.003910, -0.005451, -0.005451> + 8085: < 0.003918, -0.005207, -0.005678> + 8086: < 0.004199, -0.005120, -0.005564> + 8087: < 0.004188, -0.005351, -0.005351> + 8088: < 0.003612, -0.005549, -0.005549> + 8089: < 0.003619, -0.005294, -0.005786> + 8090: < 0.003918, -0.005207, -0.005678> + 8091: < 0.003910, -0.005451, -0.005451> + 8092: < 0.003297, -0.005642, -0.005642> + 8093: < 0.003302, -0.005379, -0.005888> + 8094: < 0.003619, -0.005294, -0.005786> + 8095: < 0.003612, -0.005549, -0.005549> + 8096: < 0.002966, -0.005729, -0.005729> + 8097: < 0.002971, -0.005459, -0.005983> + 8098: < 0.003302, -0.005379, -0.005888> + 8099: < 0.003297, -0.005642, -0.005642> + 8100: < 0.002623, -0.005809, -0.005809> + 8101: < 0.002627, -0.005533, -0.006069> + 8102: < 0.002971, -0.005459, -0.005983> + 8103: < 0.002966, -0.005729, -0.005729> + 8104: < 0.002269, -0.005881, -0.005881> + 8105: < 0.002272, -0.005599, -0.006146> + 8106: < 0.002627, -0.005533, -0.006069> + 8107: < 0.002623, -0.005809, -0.005809> + 8108: < 0.001906, -0.005944, -0.005944> + 8109: < 0.001908, -0.005657, -0.006212> + 8110: < 0.002272, -0.005599, -0.006146> + 8111: < 0.002269, -0.005881, -0.005881> + 8112: < 0.001534, -0.005996, -0.005996> + 8113: < 0.001536, -0.005707, -0.006269> + 8114: < 0.001908, -0.005657, -0.006212> + 8115: < 0.001906, -0.005944, -0.005944> + 8116: < 0.001156, -0.006039, -0.006039> + 8117: < 0.001157, -0.005747, -0.006313> + 8118: < 0.001536, -0.005707, -0.006269> + 8119: < 0.001534, -0.005996, -0.005996> + 8120: < 0.000773, -0.006070, -0.006070> + 8121: < 0.000774, -0.005776, -0.006346> + 8122: < 0.001157, -0.005747, -0.006313> + 8123: < 0.001156, -0.006039, -0.006039> + 8124: < 0.000387, -0.006089, -0.006089> + 8125: < 0.000388, -0.005794, -0.006366> + 8126: < 0.000774, -0.005776, -0.006346> + 8127: < 0.000773, -0.006070, -0.006070> + 8128: < 0.000000, -0.006096, -0.006096> + 8129: <-0.000000, -0.005801, -0.006373> + 8130: < 0.000388, -0.005794, -0.006366> + 8131: < 0.000387, -0.006089, -0.006089> + 8132: <-0.000387, -0.006089, -0.006089> + 8133: <-0.000388, -0.005794, -0.006366> + 8134: <-0.000000, -0.005801, -0.006373> + 8135: < 0.000000, -0.006096, -0.006096> + 8136: <-0.000773, -0.006070, -0.006070> + 8137: <-0.000774, -0.005776, -0.006346> + 8138: <-0.000388, -0.005794, -0.006366> + 8139: <-0.000387, -0.006089, -0.006089> + 8140: <-0.001156, -0.006039, -0.006039> + 8141: <-0.001157, -0.005747, -0.006313> + 8142: <-0.000774, -0.005776, -0.006346> + 8143: <-0.000773, -0.006070, -0.006070> + 8144: <-0.001534, -0.005996, -0.005996> + 8145: <-0.001536, -0.005707, -0.006269> + 8146: <-0.001157, -0.005747, -0.006313> + 8147: <-0.001156, -0.006039, -0.006039> + 8148: <-0.001906, -0.005944, -0.005944> + 8149: <-0.001908, -0.005657, -0.006212> + 8150: <-0.001536, -0.005707, -0.006269> + 8151: <-0.001534, -0.005996, -0.005996> + 8152: <-0.002269, -0.005881, -0.005881> + 8153: <-0.002272, -0.005599, -0.006146> + 8154: <-0.001908, -0.005657, -0.006212> + 8155: <-0.001906, -0.005944, -0.005944> + 8156: <-0.002623, -0.005809, -0.005809> + 8157: <-0.002627, -0.005533, -0.006069> + 8158: <-0.002272, -0.005599, -0.006146> + 8159: <-0.002269, -0.005881, -0.005881> + 8160: <-0.002966, -0.005729, -0.005729> + 8161: <-0.002971, -0.005459, -0.005983> + 8162: <-0.002627, -0.005533, -0.006069> + 8163: <-0.002623, -0.005809, -0.005809> + 8164: <-0.003297, -0.005642, -0.005642> + 8165: <-0.003302, -0.005379, -0.005888> + 8166: <-0.002971, -0.005459, -0.005983> + 8167: <-0.002966, -0.005729, -0.005729> + 8168: <-0.003612, -0.005549, -0.005549> + 8169: <-0.003619, -0.005294, -0.005786> + 8170: <-0.003302, -0.005379, -0.005888> + 8171: <-0.003297, -0.005642, -0.005642> + 8172: <-0.003910, -0.005451, -0.005451> + 8173: <-0.003918, -0.005207, -0.005678> + 8174: <-0.003619, -0.005294, -0.005786> + 8175: <-0.003612, -0.005549, -0.005549> + 8176: <-0.004188, -0.005351, -0.005351> + 8177: <-0.004199, -0.005120, -0.005564> + 8178: <-0.003918, -0.005207, -0.005678> + 8179: <-0.003910, -0.005451, -0.005451> + 8180: <-0.004436, -0.005255, -0.005255> + 8181: <-0.004460, -0.005034, -0.005446> + 8182: <-0.004199, -0.005120, -0.005564> + 8183: <-0.004188, -0.005351, -0.005351> + 8184: <-0.004647, -0.005166, -0.005166> + 8185: <-0.004691, -0.004959, -0.005326> + 8186: <-0.004460, -0.005034, -0.005446> + 8187: <-0.004436, -0.005255, -0.005255> + 8188: <-0.004833, -0.005081, -0.005081> + 8189: <-0.004894, -0.004894, -0.005206> + 8190: <-0.004691, -0.004959, -0.005326> + 8191: <-0.004647, -0.005166, -0.005166> + 8192: < 0.005206, -0.004894, -0.004894> + 8193: < 0.005326, -0.004691, -0.004959> + 8194: < 0.005479, -0.004738, -0.004738> + 8195: < 0.005326, -0.004959, -0.004691> + 8196: < 0.005326, -0.004691, -0.004959> + 8197: < 0.005446, -0.004460, -0.005034> + 8198: < 0.005623, -0.004494, -0.004798> + 8199: < 0.005479, -0.004738, -0.004738> + 8200: < 0.005446, -0.004460, -0.005034> + 8201: < 0.005564, -0.004199, -0.005120> + 8202: < 0.005760, -0.004226, -0.004870> + 8203: < 0.005623, -0.004494, -0.004798> + 8204: < 0.005564, -0.004199, -0.005120> + 8205: < 0.005678, -0.003918, -0.005207> + 8206: < 0.005887, -0.003941, -0.004946> + 8207: < 0.005760, -0.004226, -0.004870> + 8208: < 0.005678, -0.003918, -0.005207> + 8209: < 0.005786, -0.003619, -0.005294> + 8210: < 0.006006, -0.003637, -0.005023> + 8211: < 0.005887, -0.003941, -0.004946> + 8212: < 0.005786, -0.003619, -0.005294> + 8213: < 0.005888, -0.003302, -0.005379> + 8214: < 0.006117, -0.003318, -0.005099> + 8215: < 0.006006, -0.003637, -0.005023> + 8216: < 0.005888, -0.003302, -0.005379> + 8217: < 0.005983, -0.002971, -0.005459> + 8218: < 0.006219, -0.002984, -0.005172> + 8219: < 0.006117, -0.003318, -0.005099> + 8220: < 0.005983, -0.002971, -0.005459> + 8221: < 0.006069, -0.002627, -0.005533> + 8222: < 0.006311, -0.002638, -0.005240> + 8223: < 0.006219, -0.002984, -0.005172> + 8224: < 0.006069, -0.002627, -0.005533> + 8225: < 0.006146, -0.002272, -0.005599> + 8226: < 0.006393, -0.002281, -0.005301> + 8227: < 0.006311, -0.002638, -0.005240> + 8228: < 0.006146, -0.002272, -0.005599> + 8229: < 0.006212, -0.001908, -0.005657> + 8230: < 0.006464, -0.001915, -0.005355> + 8231: < 0.006393, -0.002281, -0.005301> + 8232: < 0.006212, -0.001908, -0.005657> + 8233: < 0.006269, -0.001536, -0.005707> + 8234: < 0.006523, -0.001541, -0.005401> + 8235: < 0.006464, -0.001915, -0.005355> + 8236: < 0.006269, -0.001536, -0.005707> + 8237: < 0.006313, -0.001157, -0.005747> + 8238: < 0.006570, -0.001161, -0.005438> + 8239: < 0.006523, -0.001541, -0.005401> + 8240: < 0.006313, -0.001157, -0.005747> + 8241: < 0.006346, -0.000774, -0.005776> + 8242: < 0.006605, -0.000777, -0.005466> + 8243: < 0.006570, -0.001161, -0.005438> + 8244: < 0.006346, -0.000774, -0.005776> + 8245: < 0.006366, -0.000388, -0.005794> + 8246: < 0.006626, -0.000389, -0.005483> + 8247: < 0.006605, -0.000777, -0.005466> + 8248: < 0.006366, -0.000388, -0.005794> + 8249: < 0.006373, -0.000000, -0.005801> + 8250: < 0.006633, -0.000000, -0.005489> + 8251: < 0.006626, -0.000389, -0.005483> + 8252: < 0.006373, -0.000000, -0.005801> + 8253: < 0.006366, 0.000388, -0.005794> + 8254: < 0.006626, 0.000389, -0.005483> + 8255: < 0.006633, -0.000000, -0.005489> + 8256: < 0.006366, 0.000388, -0.005794> + 8257: < 0.006346, 0.000774, -0.005776> + 8258: < 0.006605, 0.000777, -0.005466> + 8259: < 0.006626, 0.000389, -0.005483> + 8260: < 0.006346, 0.000774, -0.005776> + 8261: < 0.006313, 0.001157, -0.005747> + 8262: < 0.006570, 0.001161, -0.005438> + 8263: < 0.006605, 0.000777, -0.005466> + 8264: < 0.006313, 0.001157, -0.005747> + 8265: < 0.006269, 0.001536, -0.005707> + 8266: < 0.006523, 0.001541, -0.005401> + 8267: < 0.006570, 0.001161, -0.005438> + 8268: < 0.006269, 0.001536, -0.005707> + 8269: < 0.006212, 0.001908, -0.005657> + 8270: < 0.006464, 0.001915, -0.005355> + 8271: < 0.006523, 0.001541, -0.005401> + 8272: < 0.006212, 0.001908, -0.005657> + 8273: < 0.006146, 0.002272, -0.005599> + 8274: < 0.006393, 0.002281, -0.005301> + 8275: < 0.006464, 0.001915, -0.005355> + 8276: < 0.006146, 0.002272, -0.005599> + 8277: < 0.006069, 0.002627, -0.005533> + 8278: < 0.006311, 0.002638, -0.005240> + 8279: < 0.006393, 0.002281, -0.005301> + 8280: < 0.006069, 0.002627, -0.005533> + 8281: < 0.005983, 0.002971, -0.005459> + 8282: < 0.006219, 0.002984, -0.005172> + 8283: < 0.006311, 0.002638, -0.005240> + 8284: < 0.005983, 0.002971, -0.005459> + 8285: < 0.005888, 0.003302, -0.005379> + 8286: < 0.006117, 0.003318, -0.005099> + 8287: < 0.006219, 0.002984, -0.005172> + 8288: < 0.005888, 0.003302, -0.005379> + 8289: < 0.005786, 0.003619, -0.005294> + 8290: < 0.006006, 0.003637, -0.005023> + 8291: < 0.006117, 0.003318, -0.005099> + 8292: < 0.005786, 0.003619, -0.005294> + 8293: < 0.005678, 0.003918, -0.005207> + 8294: < 0.005887, 0.003941, -0.004946> + 8295: < 0.006006, 0.003637, -0.005023> + 8296: < 0.005678, 0.003918, -0.005207> + 8297: < 0.005564, 0.004199, -0.005120> + 8298: < 0.005760, 0.004226, -0.004870> + 8299: < 0.005887, 0.003941, -0.004946> + 8300: < 0.005564, 0.004199, -0.005120> + 8301: < 0.005446, 0.004460, -0.005034> + 8302: < 0.005623, 0.004494, -0.004798> + 8303: < 0.005760, 0.004226, -0.004870> + 8304: < 0.005446, 0.004460, -0.005034> + 8305: < 0.005326, 0.004691, -0.004959> + 8306: < 0.005479, 0.004738, -0.004738> + 8307: < 0.005623, 0.004494, -0.004798> + 8308: < 0.005326, 0.004691, -0.004959> + 8309: < 0.005206, 0.004894, -0.004894> + 8310: < 0.005326, 0.004959, -0.004691> + 8311: < 0.005479, 0.004738, -0.004738> + 8312: < 0.005326, -0.004959, -0.004691> + 8313: < 0.005479, -0.004738, -0.004738> + 8314: < 0.005623, -0.004798, -0.004494> + 8315: < 0.005446, -0.005034, -0.004460> + 8316: < 0.005479, -0.004738, -0.004738> + 8317: < 0.005623, -0.004494, -0.004798> + 8318: < 0.005788, -0.004542, -0.004542> + 8319: < 0.005623, -0.004798, -0.004494> + 8320: < 0.005623, -0.004494, -0.004798> + 8321: < 0.005760, -0.004226, -0.004870> + 8322: < 0.005939, -0.004267, -0.004602> + 8323: < 0.005788, -0.004542, -0.004542> + 8324: < 0.005760, -0.004226, -0.004870> + 8325: < 0.005887, -0.003941, -0.004946> + 8326: < 0.006080, -0.003975, -0.004668> + 8327: < 0.005939, -0.004267, -0.004602> + 8328: < 0.005887, -0.003941, -0.004946> + 8329: < 0.006006, -0.003637, -0.005023> + 8330: < 0.006210, -0.003666, -0.004736> + 8331: < 0.006080, -0.003975, -0.004668> + 8332: < 0.006006, -0.003637, -0.005023> + 8333: < 0.006117, -0.003318, -0.005099> + 8334: < 0.006329, -0.003342, -0.004804> + 8335: < 0.006210, -0.003666, -0.004736> + 8336: < 0.006117, -0.003318, -0.005099> + 8337: < 0.006219, -0.002984, -0.005172> + 8338: < 0.006439, -0.003004, -0.004870> + 8339: < 0.006329, -0.003342, -0.004804> + 8340: < 0.006219, -0.002984, -0.005172> + 8341: < 0.006311, -0.002638, -0.005240> + 8342: < 0.006537, -0.002655, -0.004931> + 8343: < 0.006439, -0.003004, -0.004870> + 8344: < 0.006311, -0.002638, -0.005240> + 8345: < 0.006393, -0.002281, -0.005301> + 8346: < 0.006623, -0.002295, -0.004987> + 8347: < 0.006537, -0.002655, -0.004931> + 8348: < 0.006393, -0.002281, -0.005301> + 8349: < 0.006464, -0.001915, -0.005355> + 8350: < 0.006698, -0.001926, -0.005037> + 8351: < 0.006623, -0.002295, -0.004987> + 8352: < 0.006464, -0.001915, -0.005355> + 8353: < 0.006523, -0.001541, -0.005401> + 8354: < 0.006761, -0.001550, -0.005080> + 8355: < 0.006698, -0.001926, -0.005037> + 8356: < 0.006523, -0.001541, -0.005401> + 8357: < 0.006570, -0.001161, -0.005438> + 8358: < 0.006810, -0.001168, -0.005114> + 8359: < 0.006761, -0.001550, -0.005080> + 8360: < 0.006570, -0.001161, -0.005438> + 8361: < 0.006605, -0.000777, -0.005466> + 8362: < 0.006846, -0.000781, -0.005140> + 8363: < 0.006810, -0.001168, -0.005114> + 8364: < 0.006605, -0.000777, -0.005466> + 8365: < 0.006626, -0.000389, -0.005483> + 8366: < 0.006868, -0.000391, -0.005156> + 8367: < 0.006846, -0.000781, -0.005140> + 8368: < 0.006626, -0.000389, -0.005483> + 8369: < 0.006633, -0.000000, -0.005489> + 8370: < 0.006875, -0.000000, -0.005162> + 8371: < 0.006868, -0.000391, -0.005156> + 8372: < 0.006633, -0.000000, -0.005489> + 8373: < 0.006626, 0.000389, -0.005483> + 8374: < 0.006868, 0.000391, -0.005156> + 8375: < 0.006875, -0.000000, -0.005162> + 8376: < 0.006626, 0.000389, -0.005483> + 8377: < 0.006605, 0.000777, -0.005466> + 8378: < 0.006846, 0.000781, -0.005140> + 8379: < 0.006868, 0.000391, -0.005156> + 8380: < 0.006605, 0.000777, -0.005466> + 8381: < 0.006570, 0.001161, -0.005438> + 8382: < 0.006810, 0.001168, -0.005114> + 8383: < 0.006846, 0.000781, -0.005140> + 8384: < 0.006570, 0.001161, -0.005438> + 8385: < 0.006523, 0.001541, -0.005401> + 8386: < 0.006761, 0.001550, -0.005080> + 8387: < 0.006810, 0.001168, -0.005114> + 8388: < 0.006523, 0.001541, -0.005401> + 8389: < 0.006464, 0.001915, -0.005355> + 8390: < 0.006698, 0.001926, -0.005037> + 8391: < 0.006761, 0.001550, -0.005080> + 8392: < 0.006464, 0.001915, -0.005355> + 8393: < 0.006393, 0.002281, -0.005301> + 8394: < 0.006623, 0.002295, -0.004987> + 8395: < 0.006698, 0.001926, -0.005037> + 8396: < 0.006393, 0.002281, -0.005301> + 8397: < 0.006311, 0.002638, -0.005240> + 8398: < 0.006537, 0.002655, -0.004931> + 8399: < 0.006623, 0.002295, -0.004987> + 8400: < 0.006311, 0.002638, -0.005240> + 8401: < 0.006219, 0.002984, -0.005172> + 8402: < 0.006439, 0.003004, -0.004870> + 8403: < 0.006537, 0.002655, -0.004931> + 8404: < 0.006219, 0.002984, -0.005172> + 8405: < 0.006117, 0.003318, -0.005099> + 8406: < 0.006329, 0.003342, -0.004804> + 8407: < 0.006439, 0.003004, -0.004870> + 8408: < 0.006117, 0.003318, -0.005099> + 8409: < 0.006006, 0.003637, -0.005023> + 8410: < 0.006210, 0.003666, -0.004736> + 8411: < 0.006329, 0.003342, -0.004804> + 8412: < 0.006006, 0.003637, -0.005023> + 8413: < 0.005887, 0.003941, -0.004946> + 8414: < 0.006080, 0.003975, -0.004668> + 8415: < 0.006210, 0.003666, -0.004736> + 8416: < 0.005887, 0.003941, -0.004946> + 8417: < 0.005760, 0.004226, -0.004870> + 8418: < 0.005939, 0.004267, -0.004602> + 8419: < 0.006080, 0.003975, -0.004668> + 8420: < 0.005760, 0.004226, -0.004870> + 8421: < 0.005623, 0.004494, -0.004798> + 8422: < 0.005788, 0.004542, -0.004542> + 8423: < 0.005939, 0.004267, -0.004602> + 8424: < 0.005623, 0.004494, -0.004798> + 8425: < 0.005479, 0.004738, -0.004738> + 8426: < 0.005623, 0.004798, -0.004494> + 8427: < 0.005788, 0.004542, -0.004542> + 8428: < 0.005479, 0.004738, -0.004738> + 8429: < 0.005326, 0.004959, -0.004691> + 8430: < 0.005446, 0.005034, -0.004460> + 8431: < 0.005623, 0.004798, -0.004494> + 8432: < 0.005446, -0.005034, -0.004460> + 8433: < 0.005623, -0.004798, -0.004494> + 8434: < 0.005760, -0.004870, -0.004226> + 8435: < 0.005564, -0.005120, -0.004199> + 8436: < 0.005623, -0.004798, -0.004494> + 8437: < 0.005788, -0.004542, -0.004542> + 8438: < 0.005939, -0.004602, -0.004267> + 8439: < 0.005760, -0.004870, -0.004226> + 8440: < 0.005788, -0.004542, -0.004542> + 8441: < 0.005939, -0.004267, -0.004602> + 8442: < 0.006105, -0.004318, -0.004318> + 8443: < 0.005939, -0.004602, -0.004267> + 8444: < 0.005939, -0.004267, -0.004602> + 8445: < 0.006080, -0.003975, -0.004668> + 8446: < 0.006257, -0.004017, -0.004374> + 8447: < 0.006105, -0.004318, -0.004318> + 8448: < 0.006080, -0.003975, -0.004668> + 8449: < 0.006210, -0.003666, -0.004736> + 8450: < 0.006397, -0.003701, -0.004434> + 8451: < 0.006257, -0.004017, -0.004374> + 8452: < 0.006210, -0.003666, -0.004736> + 8453: < 0.006329, -0.003342, -0.004804> + 8454: < 0.006525, -0.003372, -0.004494> + 8455: < 0.006397, -0.003701, -0.004434> + 8456: < 0.006329, -0.003342, -0.004804> + 8457: < 0.006439, -0.003004, -0.004870> + 8458: < 0.006641, -0.003030, -0.004553> + 8459: < 0.006525, -0.003372, -0.004494> + 8460: < 0.006439, -0.003004, -0.004870> + 8461: < 0.006537, -0.002655, -0.004931> + 8462: < 0.006745, -0.002676, -0.004609> + 8463: < 0.006641, -0.003030, -0.004553> + 8464: < 0.006537, -0.002655, -0.004931> + 8465: < 0.006623, -0.002295, -0.004987> + 8466: < 0.006836, -0.002313, -0.004659> + 8467: < 0.006745, -0.002676, -0.004609> + 8468: < 0.006623, -0.002295, -0.004987> + 8469: < 0.006698, -0.001926, -0.005037> + 8470: < 0.006915, -0.001940, -0.004705> + 8471: < 0.006836, -0.002313, -0.004659> + 8472: < 0.006698, -0.001926, -0.005037> + 8473: < 0.006761, -0.001550, -0.005080> + 8474: < 0.006980, -0.001561, -0.004744> + 8475: < 0.006915, -0.001940, -0.004705> + 8476: < 0.006761, -0.001550, -0.005080> + 8477: < 0.006810, -0.001168, -0.005114> + 8478: < 0.007032, -0.001176, -0.004776> + 8479: < 0.006980, -0.001561, -0.004744> + 8480: < 0.006810, -0.001168, -0.005114> + 8481: < 0.006846, -0.000781, -0.005140> + 8482: < 0.007069, -0.000786, -0.004800> + 8483: < 0.007032, -0.001176, -0.004776> + 8484: < 0.006846, -0.000781, -0.005140> + 8485: < 0.006868, -0.000391, -0.005156> + 8486: < 0.007092, -0.000394, -0.004815> + 8487: < 0.007069, -0.000786, -0.004800> + 8488: < 0.006868, -0.000391, -0.005156> + 8489: < 0.006875, -0.000000, -0.005162> + 8490: < 0.007099, -0.000000, -0.004820> + 8491: < 0.007092, -0.000394, -0.004815> + 8492: < 0.006875, -0.000000, -0.005162> + 8493: < 0.006868, 0.000391, -0.005156> + 8494: < 0.007092, 0.000394, -0.004815> + 8495: < 0.007099, -0.000000, -0.004820> + 8496: < 0.006868, 0.000391, -0.005156> + 8497: < 0.006846, 0.000781, -0.005140> + 8498: < 0.007069, 0.000786, -0.004800> + 8499: < 0.007092, 0.000394, -0.004815> + 8500: < 0.006846, 0.000781, -0.005140> + 8501: < 0.006810, 0.001168, -0.005114> + 8502: < 0.007032, 0.001176, -0.004776> + 8503: < 0.007069, 0.000786, -0.004800> + 8504: < 0.006810, 0.001168, -0.005114> + 8505: < 0.006761, 0.001550, -0.005080> + 8506: < 0.006980, 0.001561, -0.004744> + 8507: < 0.007032, 0.001176, -0.004776> + 8508: < 0.006761, 0.001550, -0.005080> + 8509: < 0.006698, 0.001926, -0.005037> + 8510: < 0.006915, 0.001940, -0.004705> + 8511: < 0.006980, 0.001561, -0.004744> + 8512: < 0.006698, 0.001926, -0.005037> + 8513: < 0.006623, 0.002295, -0.004987> + 8514: < 0.006836, 0.002313, -0.004659> + 8515: < 0.006915, 0.001940, -0.004705> + 8516: < 0.006623, 0.002295, -0.004987> + 8517: < 0.006537, 0.002655, -0.004931> + 8518: < 0.006745, 0.002676, -0.004609> + 8519: < 0.006836, 0.002313, -0.004659> + 8520: < 0.006537, 0.002655, -0.004931> + 8521: < 0.006439, 0.003004, -0.004870> + 8522: < 0.006641, 0.003030, -0.004553> + 8523: < 0.006745, 0.002676, -0.004609> + 8524: < 0.006439, 0.003004, -0.004870> + 8525: < 0.006329, 0.003342, -0.004804> + 8526: < 0.006525, 0.003372, -0.004494> + 8527: < 0.006641, 0.003030, -0.004553> + 8528: < 0.006329, 0.003342, -0.004804> + 8529: < 0.006210, 0.003666, -0.004736> + 8530: < 0.006397, 0.003701, -0.004434> + 8531: < 0.006525, 0.003372, -0.004494> + 8532: < 0.006210, 0.003666, -0.004736> + 8533: < 0.006080, 0.003975, -0.004668> + 8534: < 0.006257, 0.004017, -0.004374> + 8535: < 0.006397, 0.003701, -0.004434> + 8536: < 0.006080, 0.003975, -0.004668> + 8537: < 0.005939, 0.004267, -0.004602> + 8538: < 0.006105, 0.004318, -0.004318> + 8539: < 0.006257, 0.004017, -0.004374> + 8540: < 0.005939, 0.004267, -0.004602> + 8541: < 0.005788, 0.004542, -0.004542> + 8542: < 0.005939, 0.004602, -0.004267> + 8543: < 0.006105, 0.004318, -0.004318> + 8544: < 0.005788, 0.004542, -0.004542> + 8545: < 0.005623, 0.004798, -0.004494> + 8546: < 0.005760, 0.004870, -0.004226> + 8547: < 0.005939, 0.004602, -0.004267> + 8548: < 0.005623, 0.004798, -0.004494> + 8549: < 0.005446, 0.005034, -0.004460> + 8550: < 0.005564, 0.005120, -0.004199> + 8551: < 0.005760, 0.004870, -0.004226> + 8552: < 0.005564, -0.005120, -0.004199> + 8553: < 0.005760, -0.004870, -0.004226> + 8554: < 0.005887, -0.004946, -0.003941> + 8555: < 0.005678, -0.005207, -0.003918> + 8556: < 0.005760, -0.004870, -0.004226> + 8557: < 0.005939, -0.004602, -0.004267> + 8558: < 0.006080, -0.004668, -0.003975> + 8559: < 0.005887, -0.004946, -0.003941> + 8560: < 0.005939, -0.004602, -0.004267> + 8561: < 0.006105, -0.004318, -0.004318> + 8562: < 0.006257, -0.004374, -0.004017> + 8563: < 0.006080, -0.004668, -0.003975> + 8564: < 0.006105, -0.004318, -0.004318> + 8565: < 0.006257, -0.004017, -0.004374> + 8566: < 0.006421, -0.004065, -0.004065> + 8567: < 0.006257, -0.004374, -0.004017> + 8568: < 0.006257, -0.004017, -0.004374> + 8569: < 0.006397, -0.003701, -0.004434> + 8570: < 0.006570, -0.003743, -0.004117> + 8571: < 0.006421, -0.004065, -0.004065> + 8572: < 0.006397, -0.003701, -0.004434> + 8573: < 0.006525, -0.003372, -0.004494> + 8574: < 0.006705, -0.003407, -0.004170> + 8575: < 0.006570, -0.003743, -0.004117> + 8576: < 0.006525, -0.003372, -0.004494> + 8577: < 0.006641, -0.003030, -0.004553> + 8578: < 0.006828, -0.003060, -0.004223> + 8579: < 0.006705, -0.003407, -0.004170> + 8580: < 0.006641, -0.003030, -0.004553> + 8581: < 0.006745, -0.002676, -0.004609> + 8582: < 0.006937, -0.002701, -0.004273> + 8583: < 0.006828, -0.003060, -0.004223> + 8584: < 0.006745, -0.002676, -0.004609> + 8585: < 0.006836, -0.002313, -0.004659> + 8586: < 0.007033, -0.002333, -0.004318> + 8587: < 0.006937, -0.002701, -0.004273> + 8588: < 0.006836, -0.002313, -0.004659> + 8589: < 0.006915, -0.001940, -0.004705> + 8590: < 0.007115, -0.001957, -0.004360> + 8591: < 0.007033, -0.002333, -0.004318> + 8592: < 0.006915, -0.001940, -0.004705> + 8593: < 0.006980, -0.001561, -0.004744> + 8594: < 0.007183, -0.001574, -0.004395> + 8595: < 0.007115, -0.001957, -0.004360> + 8596: < 0.006980, -0.001561, -0.004744> + 8597: < 0.007032, -0.001176, -0.004776> + 8598: < 0.007236, -0.001185, -0.004424> + 8599: < 0.007183, -0.001574, -0.004395> + 8600: < 0.007032, -0.001176, -0.004776> + 8601: < 0.007069, -0.000786, -0.004800> + 8602: < 0.007275, -0.000792, -0.004446> + 8603: < 0.007236, -0.001185, -0.004424> + 8604: < 0.007069, -0.000786, -0.004800> + 8605: < 0.007092, -0.000394, -0.004815> + 8606: < 0.007298, -0.000397, -0.004460> + 8607: < 0.007275, -0.000792, -0.004446> + 8608: < 0.007092, -0.000394, -0.004815> + 8609: < 0.007099, -0.000000, -0.004820> + 8610: < 0.007306, -0.000000, -0.004465> + 8611: < 0.007298, -0.000397, -0.004460> + 8612: < 0.007099, -0.000000, -0.004820> + 8613: < 0.007092, 0.000394, -0.004815> + 8614: < 0.007298, 0.000397, -0.004460> + 8615: < 0.007306, -0.000000, -0.004465> + 8616: < 0.007092, 0.000394, -0.004815> + 8617: < 0.007069, 0.000786, -0.004800> + 8618: < 0.007275, 0.000792, -0.004446> + 8619: < 0.007298, 0.000397, -0.004460> + 8620: < 0.007069, 0.000786, -0.004800> + 8621: < 0.007032, 0.001176, -0.004776> + 8622: < 0.007236, 0.001185, -0.004424> + 8623: < 0.007275, 0.000792, -0.004446> + 8624: < 0.007032, 0.001176, -0.004776> + 8625: < 0.006980, 0.001561, -0.004744> + 8626: < 0.007183, 0.001574, -0.004395> + 8627: < 0.007236, 0.001185, -0.004424> + 8628: < 0.006980, 0.001561, -0.004744> + 8629: < 0.006915, 0.001940, -0.004705> + 8630: < 0.007115, 0.001957, -0.004360> + 8631: < 0.007183, 0.001574, -0.004395> + 8632: < 0.006915, 0.001940, -0.004705> + 8633: < 0.006836, 0.002313, -0.004659> + 8634: < 0.007033, 0.002333, -0.004318> + 8635: < 0.007115, 0.001957, -0.004360> + 8636: < 0.006836, 0.002313, -0.004659> + 8637: < 0.006745, 0.002676, -0.004609> + 8638: < 0.006937, 0.002701, -0.004273> + 8639: < 0.007033, 0.002333, -0.004318> + 8640: < 0.006745, 0.002676, -0.004609> + 8641: < 0.006641, 0.003030, -0.004553> + 8642: < 0.006828, 0.003060, -0.004223> + 8643: < 0.006937, 0.002701, -0.004273> + 8644: < 0.006641, 0.003030, -0.004553> + 8645: < 0.006525, 0.003372, -0.004494> + 8646: < 0.006705, 0.003407, -0.004170> + 8647: < 0.006828, 0.003060, -0.004223> + 8648: < 0.006525, 0.003372, -0.004494> + 8649: < 0.006397, 0.003701, -0.004434> + 8650: < 0.006570, 0.003743, -0.004117> + 8651: < 0.006705, 0.003407, -0.004170> + 8652: < 0.006397, 0.003701, -0.004434> + 8653: < 0.006257, 0.004017, -0.004374> + 8654: < 0.006421, 0.004065, -0.004065> + 8655: < 0.006570, 0.003743, -0.004117> + 8656: < 0.006257, 0.004017, -0.004374> + 8657: < 0.006105, 0.004318, -0.004318> + 8658: < 0.006257, 0.004374, -0.004017> + 8659: < 0.006421, 0.004065, -0.004065> + 8660: < 0.006105, 0.004318, -0.004318> + 8661: < 0.005939, 0.004602, -0.004267> + 8662: < 0.006080, 0.004668, -0.003975> + 8663: < 0.006257, 0.004374, -0.004017> + 8664: < 0.005939, 0.004602, -0.004267> + 8665: < 0.005760, 0.004870, -0.004226> + 8666: < 0.005887, 0.004946, -0.003941> + 8667: < 0.006080, 0.004668, -0.003975> + 8668: < 0.005760, 0.004870, -0.004226> + 8669: < 0.005564, 0.005120, -0.004199> + 8670: < 0.005678, 0.005207, -0.003918> + 8671: < 0.005887, 0.004946, -0.003941> + 8672: < 0.005678, -0.005207, -0.003918> + 8673: < 0.005887, -0.004946, -0.003941> + 8674: < 0.006006, -0.005023, -0.003637> + 8675: < 0.005786, -0.005294, -0.003619> + 8676: < 0.005887, -0.004946, -0.003941> + 8677: < 0.006080, -0.004668, -0.003975> + 8678: < 0.006210, -0.004736, -0.003666> + 8679: < 0.006006, -0.005023, -0.003637> + 8680: < 0.006080, -0.004668, -0.003975> + 8681: < 0.006257, -0.004374, -0.004017> + 8682: < 0.006397, -0.004434, -0.003701> + 8683: < 0.006210, -0.004736, -0.003666> + 8684: < 0.006257, -0.004374, -0.004017> + 8685: < 0.006421, -0.004065, -0.004065> + 8686: < 0.006570, -0.004117, -0.003743> + 8687: < 0.006397, -0.004434, -0.003701> + 8688: < 0.006421, -0.004065, -0.004065> + 8689: < 0.006570, -0.003743, -0.004117> + 8690: < 0.006727, -0.003788, -0.003788> + 8691: < 0.006570, -0.004117, -0.003743> + 8692: < 0.006570, -0.003743, -0.004117> + 8693: < 0.006705, -0.003407, -0.004170> + 8694: < 0.006870, -0.003446, -0.003834> + 8695: < 0.006727, -0.003788, -0.003788> + 8696: < 0.006705, -0.003407, -0.004170> + 8697: < 0.006828, -0.003060, -0.004223> + 8698: < 0.006998, -0.003093, -0.003880> + 8699: < 0.006870, -0.003446, -0.003834> + 8700: < 0.006828, -0.003060, -0.004223> + 8701: < 0.006937, -0.002701, -0.004273> + 8702: < 0.007112, -0.002729, -0.003924> + 8703: < 0.006998, -0.003093, -0.003880> + 8704: < 0.006937, -0.002701, -0.004273> + 8705: < 0.007033, -0.002333, -0.004318> + 8706: < 0.007212, -0.002356, -0.003965> + 8707: < 0.007112, -0.002729, -0.003924> + 8708: < 0.007033, -0.002333, -0.004318> + 8709: < 0.007115, -0.001957, -0.004360> + 8710: < 0.007297, -0.001975, -0.004002> + 8711: < 0.007212, -0.002356, -0.003965> + 8712: < 0.007115, -0.001957, -0.004360> + 8713: < 0.007183, -0.001574, -0.004395> + 8714: < 0.007367, -0.001588, -0.004034> + 8715: < 0.007297, -0.001975, -0.004002> + 8716: < 0.007183, -0.001574, -0.004395> + 8717: < 0.007236, -0.001185, -0.004424> + 8718: < 0.007423, -0.001196, -0.004061> + 8719: < 0.007367, -0.001588, -0.004034> + 8720: < 0.007236, -0.001185, -0.004424> + 8721: < 0.007275, -0.000792, -0.004446> + 8722: < 0.007462, -0.000799, -0.004081> + 8723: < 0.007423, -0.001196, -0.004061> + 8724: < 0.007275, -0.000792, -0.004446> + 8725: < 0.007298, -0.000397, -0.004460> + 8726: < 0.007487, -0.000400, -0.004093> + 8727: < 0.007462, -0.000799, -0.004081> + 8728: < 0.007298, -0.000397, -0.004460> + 8729: < 0.007306, -0.000000, -0.004465> + 8730: < 0.007495, -0.000000, -0.004098> + 8731: < 0.007487, -0.000400, -0.004093> + 8732: < 0.007306, -0.000000, -0.004465> + 8733: < 0.007298, 0.000397, -0.004460> + 8734: < 0.007487, 0.000400, -0.004093> + 8735: < 0.007495, -0.000000, -0.004098> + 8736: < 0.007298, 0.000397, -0.004460> + 8737: < 0.007275, 0.000792, -0.004446> + 8738: < 0.007462, 0.000799, -0.004081> + 8739: < 0.007487, 0.000400, -0.004093> + 8740: < 0.007275, 0.000792, -0.004446> + 8741: < 0.007236, 0.001185, -0.004424> + 8742: < 0.007423, 0.001196, -0.004061> + 8743: < 0.007462, 0.000799, -0.004081> + 8744: < 0.007236, 0.001185, -0.004424> + 8745: < 0.007183, 0.001574, -0.004395> + 8746: < 0.007367, 0.001588, -0.004034> + 8747: < 0.007423, 0.001196, -0.004061> + 8748: < 0.007183, 0.001574, -0.004395> + 8749: < 0.007115, 0.001957, -0.004360> + 8750: < 0.007297, 0.001975, -0.004002> + 8751: < 0.007367, 0.001588, -0.004034> + 8752: < 0.007115, 0.001957, -0.004360> + 8753: < 0.007033, 0.002333, -0.004318> + 8754: < 0.007212, 0.002356, -0.003965> + 8755: < 0.007297, 0.001975, -0.004002> + 8756: < 0.007033, 0.002333, -0.004318> + 8757: < 0.006937, 0.002701, -0.004273> + 8758: < 0.007112, 0.002729, -0.003924> + 8759: < 0.007212, 0.002356, -0.003965> + 8760: < 0.006937, 0.002701, -0.004273> + 8761: < 0.006828, 0.003060, -0.004223> + 8762: < 0.006998, 0.003093, -0.003880> + 8763: < 0.007112, 0.002729, -0.003924> + 8764: < 0.006828, 0.003060, -0.004223> + 8765: < 0.006705, 0.003407, -0.004170> + 8766: < 0.006870, 0.003446, -0.003834> + 8767: < 0.006998, 0.003093, -0.003880> + 8768: < 0.006705, 0.003407, -0.004170> + 8769: < 0.006570, 0.003743, -0.004117> + 8770: < 0.006727, 0.003788, -0.003788> + 8771: < 0.006870, 0.003446, -0.003834> + 8772: < 0.006570, 0.003743, -0.004117> + 8773: < 0.006421, 0.004065, -0.004065> + 8774: < 0.006570, 0.004117, -0.003743> + 8775: < 0.006727, 0.003788, -0.003788> + 8776: < 0.006421, 0.004065, -0.004065> + 8777: < 0.006257, 0.004374, -0.004017> + 8778: < 0.006397, 0.004434, -0.003701> + 8779: < 0.006570, 0.004117, -0.003743> + 8780: < 0.006257, 0.004374, -0.004017> + 8781: < 0.006080, 0.004668, -0.003975> + 8782: < 0.006210, 0.004736, -0.003666> + 8783: < 0.006397, 0.004434, -0.003701> + 8784: < 0.006080, 0.004668, -0.003975> + 8785: < 0.005887, 0.004946, -0.003941> + 8786: < 0.006006, 0.005023, -0.003637> + 8787: < 0.006210, 0.004736, -0.003666> + 8788: < 0.005887, 0.004946, -0.003941> + 8789: < 0.005678, 0.005207, -0.003918> + 8790: < 0.005786, 0.005294, -0.003619> + 8791: < 0.006006, 0.005023, -0.003637> + 8792: < 0.005786, -0.005294, -0.003619> + 8793: < 0.006006, -0.005023, -0.003637> + 8794: < 0.006117, -0.005099, -0.003318> + 8795: < 0.005888, -0.005379, -0.003302> + 8796: < 0.006006, -0.005023, -0.003637> + 8797: < 0.006210, -0.004736, -0.003666> + 8798: < 0.006329, -0.004804, -0.003342> + 8799: < 0.006117, -0.005099, -0.003318> + 8800: < 0.006210, -0.004736, -0.003666> + 8801: < 0.006397, -0.004434, -0.003701> + 8802: < 0.006525, -0.004494, -0.003372> + 8803: < 0.006329, -0.004804, -0.003342> + 8804: < 0.006397, -0.004434, -0.003701> + 8805: < 0.006570, -0.004117, -0.003743> + 8806: < 0.006705, -0.004170, -0.003407> + 8807: < 0.006525, -0.004494, -0.003372> + 8808: < 0.006570, -0.004117, -0.003743> + 8809: < 0.006727, -0.003788, -0.003788> + 8810: < 0.006870, -0.003834, -0.003446> + 8811: < 0.006705, -0.004170, -0.003407> + 8812: < 0.006727, -0.003788, -0.003788> + 8813: < 0.006870, -0.003446, -0.003834> + 8814: < 0.007018, -0.003486, -0.003486> + 8815: < 0.006870, -0.003834, -0.003446> + 8816: < 0.006870, -0.003446, -0.003834> + 8817: < 0.006998, -0.003093, -0.003880> + 8818: < 0.007152, -0.003127, -0.003526> + 8819: < 0.007018, -0.003486, -0.003486> + 8820: < 0.006998, -0.003093, -0.003880> + 8821: < 0.007112, -0.002729, -0.003924> + 8822: < 0.007270, -0.002758, -0.003565> + 8823: < 0.007152, -0.003127, -0.003526> + 8824: < 0.007112, -0.002729, -0.003924> + 8825: < 0.007212, -0.002356, -0.003965> + 8826: < 0.007374, -0.002380, -0.003601> + 8827: < 0.007270, -0.002758, -0.003565> + 8828: < 0.007212, -0.002356, -0.003965> + 8829: < 0.007297, -0.001975, -0.004002> + 8830: < 0.007462, -0.001995, -0.003634> + 8831: < 0.007374, -0.002380, -0.003601> + 8832: < 0.007297, -0.001975, -0.004002> + 8833: < 0.007367, -0.001588, -0.004034> + 8834: < 0.007535, -0.001603, -0.003663> + 8835: < 0.007462, -0.001995, -0.003634> + 8836: < 0.007367, -0.001588, -0.004034> + 8837: < 0.007423, -0.001196, -0.004061> + 8838: < 0.007591, -0.001207, -0.003686> + 8839: < 0.007535, -0.001603, -0.003663> + 8840: < 0.007423, -0.001196, -0.004061> + 8841: < 0.007462, -0.000799, -0.004081> + 8842: < 0.007632, -0.000807, -0.003704> + 8843: < 0.007591, -0.001207, -0.003686> + 8844: < 0.007462, -0.000799, -0.004081> + 8845: < 0.007487, -0.000400, -0.004093> + 8846: < 0.007657, -0.000404, -0.003716> + 8847: < 0.007632, -0.000807, -0.003704> + 8848: < 0.007487, -0.000400, -0.004093> + 8849: < 0.007495, -0.000000, -0.004098> + 8850: < 0.007665, -0.000000, -0.003720> + 8851: < 0.007657, -0.000404, -0.003716> + 8852: < 0.007495, -0.000000, -0.004098> + 8853: < 0.007487, 0.000400, -0.004093> + 8854: < 0.007657, 0.000404, -0.003716> + 8855: < 0.007665, -0.000000, -0.003720> + 8856: < 0.007487, 0.000400, -0.004093> + 8857: < 0.007462, 0.000799, -0.004081> + 8858: < 0.007632, 0.000807, -0.003704> + 8859: < 0.007657, 0.000404, -0.003716> + 8860: < 0.007462, 0.000799, -0.004081> + 8861: < 0.007423, 0.001196, -0.004061> + 8862: < 0.007591, 0.001207, -0.003686> + 8863: < 0.007632, 0.000807, -0.003704> + 8864: < 0.007423, 0.001196, -0.004061> + 8865: < 0.007367, 0.001588, -0.004034> + 8866: < 0.007535, 0.001603, -0.003663> + 8867: < 0.007591, 0.001207, -0.003686> + 8868: < 0.007367, 0.001588, -0.004034> + 8869: < 0.007297, 0.001975, -0.004002> + 8870: < 0.007462, 0.001995, -0.003634> + 8871: < 0.007535, 0.001603, -0.003663> + 8872: < 0.007297, 0.001975, -0.004002> + 8873: < 0.007212, 0.002356, -0.003965> + 8874: < 0.007374, 0.002380, -0.003601> + 8875: < 0.007462, 0.001995, -0.003634> + 8876: < 0.007212, 0.002356, -0.003965> + 8877: < 0.007112, 0.002729, -0.003924> + 8878: < 0.007270, 0.002758, -0.003565> + 8879: < 0.007374, 0.002380, -0.003601> + 8880: < 0.007112, 0.002729, -0.003924> + 8881: < 0.006998, 0.003093, -0.003880> + 8882: < 0.007152, 0.003127, -0.003526> + 8883: < 0.007270, 0.002758, -0.003565> + 8884: < 0.006998, 0.003093, -0.003880> + 8885: < 0.006870, 0.003446, -0.003834> + 8886: < 0.007018, 0.003486, -0.003486> + 8887: < 0.007152, 0.003127, -0.003526> + 8888: < 0.006870, 0.003446, -0.003834> + 8889: < 0.006727, 0.003788, -0.003788> + 8890: < 0.006870, 0.003834, -0.003446> + 8891: < 0.007018, 0.003486, -0.003486> + 8892: < 0.006727, 0.003788, -0.003788> + 8893: < 0.006570, 0.004117, -0.003743> + 8894: < 0.006705, 0.004170, -0.003407> + 8895: < 0.006870, 0.003834, -0.003446> + 8896: < 0.006570, 0.004117, -0.003743> + 8897: < 0.006397, 0.004434, -0.003701> + 8898: < 0.006525, 0.004494, -0.003372> + 8899: < 0.006705, 0.004170, -0.003407> + 8900: < 0.006397, 0.004434, -0.003701> + 8901: < 0.006210, 0.004736, -0.003666> + 8902: < 0.006329, 0.004804, -0.003342> + 8903: < 0.006525, 0.004494, -0.003372> + 8904: < 0.006210, 0.004736, -0.003666> + 8905: < 0.006006, 0.005023, -0.003637> + 8906: < 0.006117, 0.005099, -0.003318> + 8907: < 0.006329, 0.004804, -0.003342> + 8908: < 0.006006, 0.005023, -0.003637> + 8909: < 0.005786, 0.005294, -0.003619> + 8910: < 0.005888, 0.005379, -0.003302> + 8911: < 0.006117, 0.005099, -0.003318> + 8912: < 0.005888, -0.005379, -0.003302> + 8913: < 0.006117, -0.005099, -0.003318> + 8914: < 0.006219, -0.005172, -0.002984> + 8915: < 0.005983, -0.005459, -0.002971> + 8916: < 0.006117, -0.005099, -0.003318> + 8917: < 0.006329, -0.004804, -0.003342> + 8918: < 0.006439, -0.004870, -0.003004> + 8919: < 0.006219, -0.005172, -0.002984> + 8920: < 0.006329, -0.004804, -0.003342> + 8921: < 0.006525, -0.004494, -0.003372> + 8922: < 0.006641, -0.004553, -0.003030> + 8923: < 0.006439, -0.004870, -0.003004> + 8924: < 0.006525, -0.004494, -0.003372> + 8925: < 0.006705, -0.004170, -0.003407> + 8926: < 0.006828, -0.004223, -0.003060> + 8927: < 0.006641, -0.004553, -0.003030> + 8928: < 0.006705, -0.004170, -0.003407> + 8929: < 0.006870, -0.003834, -0.003446> + 8930: < 0.006998, -0.003880, -0.003093> + 8931: < 0.006828, -0.004223, -0.003060> + 8932: < 0.006870, -0.003834, -0.003446> + 8933: < 0.007018, -0.003486, -0.003486> + 8934: < 0.007152, -0.003526, -0.003127> + 8935: < 0.006998, -0.003880, -0.003093> + 8936: < 0.007018, -0.003486, -0.003486> + 8937: < 0.007152, -0.003127, -0.003526> + 8938: < 0.007290, -0.003162, -0.003162> + 8939: < 0.007152, -0.003526, -0.003127> + 8940: < 0.007152, -0.003127, -0.003526> + 8941: < 0.007270, -0.002758, -0.003565> + 8942: < 0.007412, -0.002787, -0.003195> + 8943: < 0.007290, -0.003162, -0.003162> + 8944: < 0.007270, -0.002758, -0.003565> + 8945: < 0.007374, -0.002380, -0.003601> + 8946: < 0.007519, -0.002405, -0.003227> + 8947: < 0.007412, -0.002787, -0.003195> + 8948: < 0.007374, -0.002380, -0.003601> + 8949: < 0.007462, -0.001995, -0.003634> + 8950: < 0.007610, -0.002015, -0.003255> + 8951: < 0.007519, -0.002405, -0.003227> + 8952: < 0.007462, -0.001995, -0.003634> + 8953: < 0.007535, -0.001603, -0.003663> + 8954: < 0.007684, -0.001619, -0.003281> + 8955: < 0.007610, -0.002015, -0.003255> + 8956: < 0.007535, -0.001603, -0.003663> + 8957: < 0.007591, -0.001207, -0.003686> + 8958: < 0.007743, -0.001219, -0.003302> + 8959: < 0.007684, -0.001619, -0.003281> + 8960: < 0.007591, -0.001207, -0.003686> + 8961: < 0.007632, -0.000807, -0.003704> + 8962: < 0.007785, -0.000814, -0.003318> + 8963: < 0.007743, -0.001219, -0.003302> + 8964: < 0.007632, -0.000807, -0.003704> + 8965: < 0.007657, -0.000404, -0.003716> + 8966: < 0.007810, -0.000408, -0.003328> + 8967: < 0.007785, -0.000814, -0.003318> + 8968: < 0.007657, -0.000404, -0.003716> + 8969: < 0.007665, -0.000000, -0.003720> + 8970: < 0.007818, -0.000000, -0.003331> + 8971: < 0.007810, -0.000408, -0.003328> + 8972: < 0.007665, -0.000000, -0.003720> + 8973: < 0.007657, 0.000404, -0.003716> + 8974: < 0.007810, 0.000408, -0.003328> + 8975: < 0.007818, -0.000000, -0.003331> + 8976: < 0.007657, 0.000404, -0.003716> + 8977: < 0.007632, 0.000807, -0.003704> + 8978: < 0.007785, 0.000814, -0.003318> + 8979: < 0.007810, 0.000408, -0.003328> + 8980: < 0.007632, 0.000807, -0.003704> + 8981: < 0.007591, 0.001207, -0.003686> + 8982: < 0.007743, 0.001219, -0.003302> + 8983: < 0.007785, 0.000814, -0.003318> + 8984: < 0.007591, 0.001207, -0.003686> + 8985: < 0.007535, 0.001603, -0.003663> + 8986: < 0.007684, 0.001619, -0.003281> + 8987: < 0.007743, 0.001219, -0.003302> + 8988: < 0.007535, 0.001603, -0.003663> + 8989: < 0.007462, 0.001995, -0.003634> + 8990: < 0.007610, 0.002015, -0.003255> + 8991: < 0.007684, 0.001619, -0.003281> + 8992: < 0.007462, 0.001995, -0.003634> + 8993: < 0.007374, 0.002380, -0.003601> + 8994: < 0.007519, 0.002405, -0.003227> + 8995: < 0.007610, 0.002015, -0.003255> + 8996: < 0.007374, 0.002380, -0.003601> + 8997: < 0.007270, 0.002758, -0.003565> + 8998: < 0.007412, 0.002787, -0.003195> + 8999: < 0.007519, 0.002405, -0.003227> + 9000: < 0.007270, 0.002758, -0.003565> + 9001: < 0.007152, 0.003127, -0.003526> + 9002: < 0.007290, 0.003162, -0.003162> + 9003: < 0.007412, 0.002787, -0.003195> + 9004: < 0.007152, 0.003127, -0.003526> + 9005: < 0.007018, 0.003486, -0.003486> + 9006: < 0.007152, 0.003526, -0.003127> + 9007: < 0.007290, 0.003162, -0.003162> + 9008: < 0.007018, 0.003486, -0.003486> + 9009: < 0.006870, 0.003834, -0.003446> + 9010: < 0.006998, 0.003880, -0.003093> + 9011: < 0.007152, 0.003526, -0.003127> + 9012: < 0.006870, 0.003834, -0.003446> + 9013: < 0.006705, 0.004170, -0.003407> + 9014: < 0.006828, 0.004223, -0.003060> + 9015: < 0.006998, 0.003880, -0.003093> + 9016: < 0.006705, 0.004170, -0.003407> + 9017: < 0.006525, 0.004494, -0.003372> + 9018: < 0.006641, 0.004553, -0.003030> + 9019: < 0.006828, 0.004223, -0.003060> + 9020: < 0.006525, 0.004494, -0.003372> + 9021: < 0.006329, 0.004804, -0.003342> + 9022: < 0.006439, 0.004870, -0.003004> + 9023: < 0.006641, 0.004553, -0.003030> + 9024: < 0.006329, 0.004804, -0.003342> + 9025: < 0.006117, 0.005099, -0.003318> + 9026: < 0.006219, 0.005172, -0.002984> + 9027: < 0.006439, 0.004870, -0.003004> + 9028: < 0.006117, 0.005099, -0.003318> + 9029: < 0.005888, 0.005379, -0.003302> + 9030: < 0.005983, 0.005459, -0.002971> + 9031: < 0.006219, 0.005172, -0.002984> + 9032: < 0.005983, -0.005459, -0.002971> + 9033: < 0.006219, -0.005172, -0.002984> + 9034: < 0.006311, -0.005240, -0.002638> + 9035: < 0.006069, -0.005533, -0.002627> + 9036: < 0.006219, -0.005172, -0.002984> + 9037: < 0.006439, -0.004870, -0.003004> + 9038: < 0.006537, -0.004931, -0.002655> + 9039: < 0.006311, -0.005240, -0.002638> + 9040: < 0.006439, -0.004870, -0.003004> + 9041: < 0.006641, -0.004553, -0.003030> + 9042: < 0.006745, -0.004609, -0.002676> + 9043: < 0.006537, -0.004931, -0.002655> + 9044: < 0.006641, -0.004553, -0.003030> + 9045: < 0.006828, -0.004223, -0.003060> + 9046: < 0.006937, -0.004273, -0.002701> + 9047: < 0.006745, -0.004609, -0.002676> + 9048: < 0.006828, -0.004223, -0.003060> + 9049: < 0.006998, -0.003880, -0.003093> + 9050: < 0.007112, -0.003924, -0.002729> + 9051: < 0.006937, -0.004273, -0.002701> + 9052: < 0.006998, -0.003880, -0.003093> + 9053: < 0.007152, -0.003526, -0.003127> + 9054: < 0.007270, -0.003565, -0.002758> + 9055: < 0.007112, -0.003924, -0.002729> + 9056: < 0.007152, -0.003526, -0.003127> + 9057: < 0.007290, -0.003162, -0.003162> + 9058: < 0.007412, -0.003195, -0.002787> + 9059: < 0.007270, -0.003565, -0.002758> + 9060: < 0.007290, -0.003162, -0.003162> + 9061: < 0.007412, -0.002787, -0.003195> + 9062: < 0.007538, -0.002816, -0.002816> + 9063: < 0.007412, -0.003195, -0.002787> + 9064: < 0.007412, -0.002787, -0.003195> + 9065: < 0.007519, -0.002405, -0.003227> + 9066: < 0.007648, -0.002429, -0.002843> + 9067: < 0.007538, -0.002816, -0.002816> + 9068: < 0.007519, -0.002405, -0.003227> + 9069: < 0.007610, -0.002015, -0.003255> + 9070: < 0.007740, -0.002035, -0.002868> + 9071: < 0.007648, -0.002429, -0.002843> + 9072: < 0.007610, -0.002015, -0.003255> + 9073: < 0.007684, -0.001619, -0.003281> + 9074: < 0.007817, -0.001635, -0.002890> + 9075: < 0.007740, -0.002035, -0.002868> + 9076: < 0.007684, -0.001619, -0.003281> + 9077: < 0.007743, -0.001219, -0.003302> + 9078: < 0.007876, -0.001230, -0.002908> + 9079: < 0.007817, -0.001635, -0.002890> + 9080: < 0.007743, -0.001219, -0.003302> + 9081: < 0.007785, -0.000814, -0.003318> + 9082: < 0.007919, -0.000822, -0.002922> + 9083: < 0.007876, -0.001230, -0.002908> + 9084: < 0.007785, -0.000814, -0.003318> + 9085: < 0.007810, -0.000408, -0.003328> + 9086: < 0.007945, -0.000412, -0.002931> + 9087: < 0.007919, -0.000822, -0.002922> + 9088: < 0.007810, -0.000408, -0.003328> + 9089: < 0.007818, -0.000000, -0.003331> + 9090: < 0.007953, -0.000000, -0.002934> + 9091: < 0.007945, -0.000412, -0.002931> + 9092: < 0.007818, -0.000000, -0.003331> + 9093: < 0.007810, 0.000408, -0.003328> + 9094: < 0.007945, 0.000412, -0.002931> + 9095: < 0.007953, -0.000000, -0.002934> + 9096: < 0.007810, 0.000408, -0.003328> + 9097: < 0.007785, 0.000814, -0.003318> + 9098: < 0.007919, 0.000822, -0.002922> + 9099: < 0.007945, 0.000412, -0.002931> + 9100: < 0.007785, 0.000814, -0.003318> + 9101: < 0.007743, 0.001219, -0.003302> + 9102: < 0.007876, 0.001230, -0.002908> + 9103: < 0.007919, 0.000822, -0.002922> + 9104: < 0.007743, 0.001219, -0.003302> + 9105: < 0.007684, 0.001619, -0.003281> + 9106: < 0.007817, 0.001635, -0.002890> + 9107: < 0.007876, 0.001230, -0.002908> + 9108: < 0.007684, 0.001619, -0.003281> + 9109: < 0.007610, 0.002015, -0.003255> + 9110: < 0.007740, 0.002035, -0.002868> + 9111: < 0.007817, 0.001635, -0.002890> + 9112: < 0.007610, 0.002015, -0.003255> + 9113: < 0.007519, 0.002405, -0.003227> + 9114: < 0.007648, 0.002429, -0.002843> + 9115: < 0.007740, 0.002035, -0.002868> + 9116: < 0.007519, 0.002405, -0.003227> + 9117: < 0.007412, 0.002787, -0.003195> + 9118: < 0.007538, 0.002816, -0.002816> + 9119: < 0.007648, 0.002429, -0.002843> + 9120: < 0.007412, 0.002787, -0.003195> + 9121: < 0.007290, 0.003162, -0.003162> + 9122: < 0.007412, 0.003195, -0.002787> + 9123: < 0.007538, 0.002816, -0.002816> + 9124: < 0.007290, 0.003162, -0.003162> + 9125: < 0.007152, 0.003526, -0.003127> + 9126: < 0.007270, 0.003565, -0.002758> + 9127: < 0.007412, 0.003195, -0.002787> + 9128: < 0.007152, 0.003526, -0.003127> + 9129: < 0.006998, 0.003880, -0.003093> + 9130: < 0.007112, 0.003924, -0.002729> + 9131: < 0.007270, 0.003565, -0.002758> + 9132: < 0.006998, 0.003880, -0.003093> + 9133: < 0.006828, 0.004223, -0.003060> + 9134: < 0.006937, 0.004273, -0.002701> + 9135: < 0.007112, 0.003924, -0.002729> + 9136: < 0.006828, 0.004223, -0.003060> + 9137: < 0.006641, 0.004553, -0.003030> + 9138: < 0.006745, 0.004609, -0.002676> + 9139: < 0.006937, 0.004273, -0.002701> + 9140: < 0.006641, 0.004553, -0.003030> + 9141: < 0.006439, 0.004870, -0.003004> + 9142: < 0.006537, 0.004931, -0.002655> + 9143: < 0.006745, 0.004609, -0.002676> + 9144: < 0.006439, 0.004870, -0.003004> + 9145: < 0.006219, 0.005172, -0.002984> + 9146: < 0.006311, 0.005240, -0.002638> + 9147: < 0.006537, 0.004931, -0.002655> + 9148: < 0.006219, 0.005172, -0.002984> + 9149: < 0.005983, 0.005459, -0.002971> + 9150: < 0.006069, 0.005533, -0.002627> + 9151: < 0.006311, 0.005240, -0.002638> + 9152: < 0.006069, -0.005533, -0.002627> + 9153: < 0.006311, -0.005240, -0.002638> + 9154: < 0.006393, -0.005301, -0.002281> + 9155: < 0.006146, -0.005599, -0.002272> + 9156: < 0.006311, -0.005240, -0.002638> + 9157: < 0.006537, -0.004931, -0.002655> + 9158: < 0.006623, -0.004987, -0.002295> + 9159: < 0.006393, -0.005301, -0.002281> + 9160: < 0.006537, -0.004931, -0.002655> + 9161: < 0.006745, -0.004609, -0.002676> + 9162: < 0.006836, -0.004659, -0.002313> + 9163: < 0.006623, -0.004987, -0.002295> + 9164: < 0.006745, -0.004609, -0.002676> + 9165: < 0.006937, -0.004273, -0.002701> + 9166: < 0.007033, -0.004318, -0.002333> + 9167: < 0.006836, -0.004659, -0.002313> + 9168: < 0.006937, -0.004273, -0.002701> + 9169: < 0.007112, -0.003924, -0.002729> + 9170: < 0.007212, -0.003965, -0.002356> + 9171: < 0.007033, -0.004318, -0.002333> + 9172: < 0.007112, -0.003924, -0.002729> + 9173: < 0.007270, -0.003565, -0.002758> + 9174: < 0.007374, -0.003601, -0.002380> + 9175: < 0.007212, -0.003965, -0.002356> + 9176: < 0.007270, -0.003565, -0.002758> + 9177: < 0.007412, -0.003195, -0.002787> + 9178: < 0.007519, -0.003227, -0.002405> + 9179: < 0.007374, -0.003601, -0.002380> + 9180: < 0.007412, -0.003195, -0.002787> + 9181: < 0.007538, -0.002816, -0.002816> + 9182: < 0.007648, -0.002843, -0.002429> + 9183: < 0.007519, -0.003227, -0.002405> + 9184: < 0.007538, -0.002816, -0.002816> + 9185: < 0.007648, -0.002429, -0.002843> + 9186: < 0.007759, -0.002452, -0.002452> + 9187: < 0.007648, -0.002843, -0.002429> + 9188: < 0.007648, -0.002429, -0.002843> + 9189: < 0.007740, -0.002035, -0.002868> + 9190: < 0.007854, -0.002053, -0.002473> + 9191: < 0.007759, -0.002452, -0.002452> + 9192: < 0.007740, -0.002035, -0.002868> + 9193: < 0.007817, -0.001635, -0.002890> + 9194: < 0.007932, -0.001650, -0.002492> + 9195: < 0.007854, -0.002053, -0.002473> + 9196: < 0.007817, -0.001635, -0.002890> + 9197: < 0.007876, -0.001230, -0.002908> + 9198: < 0.007992, -0.001241, -0.002507> + 9199: < 0.007932, -0.001650, -0.002492> + 9200: < 0.007876, -0.001230, -0.002908> + 9201: < 0.007919, -0.000822, -0.002922> + 9202: < 0.008036, -0.000829, -0.002519> + 9203: < 0.007992, -0.001241, -0.002507> + 9204: < 0.007919, -0.000822, -0.002922> + 9205: < 0.007945, -0.000412, -0.002931> + 9206: < 0.008062, -0.000415, -0.002527> + 9207: < 0.008036, -0.000829, -0.002519> + 9208: < 0.007945, -0.000412, -0.002931> + 9209: < 0.007953, -0.000000, -0.002934> + 9210: < 0.008070, -0.000000, -0.002530> + 9211: < 0.008062, -0.000415, -0.002527> + 9212: < 0.007953, -0.000000, -0.002934> + 9213: < 0.007945, 0.000412, -0.002931> + 9214: < 0.008062, 0.000415, -0.002527> + 9215: < 0.008070, -0.000000, -0.002530> + 9216: < 0.007945, 0.000412, -0.002931> + 9217: < 0.007919, 0.000822, -0.002922> + 9218: < 0.008036, 0.000829, -0.002519> + 9219: < 0.008062, 0.000415, -0.002527> + 9220: < 0.007919, 0.000822, -0.002922> + 9221: < 0.007876, 0.001230, -0.002908> + 9222: < 0.007992, 0.001241, -0.002507> + 9223: < 0.008036, 0.000829, -0.002519> + 9224: < 0.007876, 0.001230, -0.002908> + 9225: < 0.007817, 0.001635, -0.002890> + 9226: < 0.007932, 0.001650, -0.002492> + 9227: < 0.007992, 0.001241, -0.002507> + 9228: < 0.007817, 0.001635, -0.002890> + 9229: < 0.007740, 0.002035, -0.002868> + 9230: < 0.007854, 0.002053, -0.002473> + 9231: < 0.007932, 0.001650, -0.002492> + 9232: < 0.007740, 0.002035, -0.002868> + 9233: < 0.007648, 0.002429, -0.002843> + 9234: < 0.007759, 0.002452, -0.002452> + 9235: < 0.007854, 0.002053, -0.002473> + 9236: < 0.007648, 0.002429, -0.002843> + 9237: < 0.007538, 0.002816, -0.002816> + 9238: < 0.007648, 0.002843, -0.002429> + 9239: < 0.007759, 0.002452, -0.002452> + 9240: < 0.007538, 0.002816, -0.002816> + 9241: < 0.007412, 0.003195, -0.002787> + 9242: < 0.007519, 0.003227, -0.002405> + 9243: < 0.007648, 0.002843, -0.002429> + 9244: < 0.007412, 0.003195, -0.002787> + 9245: < 0.007270, 0.003565, -0.002758> + 9246: < 0.007374, 0.003601, -0.002380> + 9247: < 0.007519, 0.003227, -0.002405> + 9248: < 0.007270, 0.003565, -0.002758> + 9249: < 0.007112, 0.003924, -0.002729> + 9250: < 0.007212, 0.003965, -0.002356> + 9251: < 0.007374, 0.003601, -0.002380> + 9252: < 0.007112, 0.003924, -0.002729> + 9253: < 0.006937, 0.004273, -0.002701> + 9254: < 0.007033, 0.004318, -0.002333> + 9255: < 0.007212, 0.003965, -0.002356> + 9256: < 0.006937, 0.004273, -0.002701> + 9257: < 0.006745, 0.004609, -0.002676> + 9258: < 0.006836, 0.004659, -0.002313> + 9259: < 0.007033, 0.004318, -0.002333> + 9260: < 0.006745, 0.004609, -0.002676> + 9261: < 0.006537, 0.004931, -0.002655> + 9262: < 0.006623, 0.004987, -0.002295> + 9263: < 0.006836, 0.004659, -0.002313> + 9264: < 0.006537, 0.004931, -0.002655> + 9265: < 0.006311, 0.005240, -0.002638> + 9266: < 0.006393, 0.005301, -0.002281> + 9267: < 0.006623, 0.004987, -0.002295> + 9268: < 0.006311, 0.005240, -0.002638> + 9269: < 0.006069, 0.005533, -0.002627> + 9270: < 0.006146, 0.005599, -0.002272> + 9271: < 0.006393, 0.005301, -0.002281> + 9272: < 0.006146, -0.005599, -0.002272> + 9273: < 0.006393, -0.005301, -0.002281> + 9274: < 0.006464, -0.005355, -0.001915> + 9275: < 0.006212, -0.005657, -0.001908> + 9276: < 0.006393, -0.005301, -0.002281> + 9277: < 0.006623, -0.004987, -0.002295> + 9278: < 0.006698, -0.005037, -0.001926> + 9279: < 0.006464, -0.005355, -0.001915> + 9280: < 0.006623, -0.004987, -0.002295> + 9281: < 0.006836, -0.004659, -0.002313> + 9282: < 0.006915, -0.004705, -0.001940> + 9283: < 0.006698, -0.005037, -0.001926> + 9284: < 0.006836, -0.004659, -0.002313> + 9285: < 0.007033, -0.004318, -0.002333> + 9286: < 0.007115, -0.004360, -0.001957> + 9287: < 0.006915, -0.004705, -0.001940> + 9288: < 0.007033, -0.004318, -0.002333> + 9289: < 0.007212, -0.003965, -0.002356> + 9290: < 0.007297, -0.004002, -0.001975> + 9291: < 0.007115, -0.004360, -0.001957> + 9292: < 0.007212, -0.003965, -0.002356> + 9293: < 0.007374, -0.003601, -0.002380> + 9294: < 0.007462, -0.003634, -0.001995> + 9295: < 0.007297, -0.004002, -0.001975> + 9296: < 0.007374, -0.003601, -0.002380> + 9297: < 0.007519, -0.003227, -0.002405> + 9298: < 0.007610, -0.003255, -0.002015> + 9299: < 0.007462, -0.003634, -0.001995> + 9300: < 0.007519, -0.003227, -0.002405> + 9301: < 0.007648, -0.002843, -0.002429> + 9302: < 0.007740, -0.002868, -0.002035> + 9303: < 0.007610, -0.003255, -0.002015> + 9304: < 0.007648, -0.002843, -0.002429> + 9305: < 0.007759, -0.002452, -0.002452> + 9306: < 0.007854, -0.002473, -0.002053> + 9307: < 0.007740, -0.002868, -0.002035> + 9308: < 0.007759, -0.002452, -0.002452> + 9309: < 0.007854, -0.002053, -0.002473> + 9310: < 0.007950, -0.002071, -0.002071> + 9311: < 0.007854, -0.002473, -0.002053> + 9312: < 0.007854, -0.002053, -0.002473> + 9313: < 0.007932, -0.001650, -0.002492> + 9314: < 0.008029, -0.001663, -0.002086> + 9315: < 0.007950, -0.002071, -0.002071> + 9316: < 0.007932, -0.001650, -0.002492> + 9317: < 0.007992, -0.001241, -0.002507> + 9318: < 0.008090, -0.001252, -0.002099> + 9319: < 0.008029, -0.001663, -0.002086> + 9320: < 0.007992, -0.001241, -0.002507> + 9321: < 0.008036, -0.000829, -0.002519> + 9322: < 0.008134, -0.000836, -0.002109> + 9323: < 0.008090, -0.001252, -0.002099> + 9324: < 0.008036, -0.000829, -0.002519> + 9325: < 0.008062, -0.000415, -0.002527> + 9326: < 0.008161, -0.000419, -0.002116> + 9327: < 0.008134, -0.000836, -0.002109> + 9328: < 0.008062, -0.000415, -0.002527> + 9329: < 0.008070, -0.000000, -0.002530> + 9330: < 0.008169, -0.000000, -0.002118> + 9331: < 0.008161, -0.000419, -0.002116> + 9332: < 0.008070, -0.000000, -0.002530> + 9333: < 0.008062, 0.000415, -0.002527> + 9334: < 0.008161, 0.000419, -0.002116> + 9335: < 0.008169, -0.000000, -0.002118> + 9336: < 0.008062, 0.000415, -0.002527> + 9337: < 0.008036, 0.000829, -0.002519> + 9338: < 0.008134, 0.000836, -0.002109> + 9339: < 0.008161, 0.000419, -0.002116> + 9340: < 0.008036, 0.000829, -0.002519> + 9341: < 0.007992, 0.001241, -0.002507> + 9342: < 0.008090, 0.001252, -0.002099> + 9343: < 0.008134, 0.000836, -0.002109> + 9344: < 0.007992, 0.001241, -0.002507> + 9345: < 0.007932, 0.001650, -0.002492> + 9346: < 0.008029, 0.001663, -0.002086> + 9347: < 0.008090, 0.001252, -0.002099> + 9348: < 0.007932, 0.001650, -0.002492> + 9349: < 0.007854, 0.002053, -0.002473> + 9350: < 0.007950, 0.002071, -0.002071> + 9351: < 0.008029, 0.001663, -0.002086> + 9352: < 0.007854, 0.002053, -0.002473> + 9353: < 0.007759, 0.002452, -0.002452> + 9354: < 0.007854, 0.002473, -0.002053> + 9355: < 0.007950, 0.002071, -0.002071> + 9356: < 0.007759, 0.002452, -0.002452> + 9357: < 0.007648, 0.002843, -0.002429> + 9358: < 0.007740, 0.002868, -0.002035> + 9359: < 0.007854, 0.002473, -0.002053> + 9360: < 0.007648, 0.002843, -0.002429> + 9361: < 0.007519, 0.003227, -0.002405> + 9362: < 0.007610, 0.003255, -0.002015> + 9363: < 0.007740, 0.002868, -0.002035> + 9364: < 0.007519, 0.003227, -0.002405> + 9365: < 0.007374, 0.003601, -0.002380> + 9366: < 0.007462, 0.003634, -0.001995> + 9367: < 0.007610, 0.003255, -0.002015> + 9368: < 0.007374, 0.003601, -0.002380> + 9369: < 0.007212, 0.003965, -0.002356> + 9370: < 0.007297, 0.004002, -0.001975> + 9371: < 0.007462, 0.003634, -0.001995> + 9372: < 0.007212, 0.003965, -0.002356> + 9373: < 0.007033, 0.004318, -0.002333> + 9374: < 0.007115, 0.004360, -0.001957> + 9375: < 0.007297, 0.004002, -0.001975> + 9376: < 0.007033, 0.004318, -0.002333> + 9377: < 0.006836, 0.004659, -0.002313> + 9378: < 0.006915, 0.004705, -0.001940> + 9379: < 0.007115, 0.004360, -0.001957> + 9380: < 0.006836, 0.004659, -0.002313> + 9381: < 0.006623, 0.004987, -0.002295> + 9382: < 0.006698, 0.005037, -0.001926> + 9383: < 0.006915, 0.004705, -0.001940> + 9384: < 0.006623, 0.004987, -0.002295> + 9385: < 0.006393, 0.005301, -0.002281> + 9386: < 0.006464, 0.005355, -0.001915> + 9387: < 0.006698, 0.005037, -0.001926> + 9388: < 0.006393, 0.005301, -0.002281> + 9389: < 0.006146, 0.005599, -0.002272> + 9390: < 0.006212, 0.005657, -0.001908> + 9391: < 0.006464, 0.005355, -0.001915> + 9392: < 0.006212, -0.005657, -0.001908> + 9393: < 0.006464, -0.005355, -0.001915> + 9394: < 0.006523, -0.005401, -0.001541> + 9395: < 0.006269, -0.005707, -0.001536> + 9396: < 0.006464, -0.005355, -0.001915> + 9397: < 0.006698, -0.005037, -0.001926> + 9398: < 0.006761, -0.005080, -0.001550> + 9399: < 0.006523, -0.005401, -0.001541> + 9400: < 0.006698, -0.005037, -0.001926> + 9401: < 0.006915, -0.004705, -0.001940> + 9402: < 0.006980, -0.004744, -0.001561> + 9403: < 0.006761, -0.005080, -0.001550> + 9404: < 0.006915, -0.004705, -0.001940> + 9405: < 0.007115, -0.004360, -0.001957> + 9406: < 0.007183, -0.004395, -0.001574> + 9407: < 0.006980, -0.004744, -0.001561> + 9408: < 0.007115, -0.004360, -0.001957> + 9409: < 0.007297, -0.004002, -0.001975> + 9410: < 0.007367, -0.004034, -0.001588> + 9411: < 0.007183, -0.004395, -0.001574> + 9412: < 0.007297, -0.004002, -0.001975> + 9413: < 0.007462, -0.003634, -0.001995> + 9414: < 0.007535, -0.003663, -0.001603> + 9415: < 0.007367, -0.004034, -0.001588> + 9416: < 0.007462, -0.003634, -0.001995> + 9417: < 0.007610, -0.003255, -0.002015> + 9418: < 0.007684, -0.003281, -0.001619> + 9419: < 0.007535, -0.003663, -0.001603> + 9420: < 0.007610, -0.003255, -0.002015> + 9421: < 0.007740, -0.002868, -0.002035> + 9422: < 0.007817, -0.002890, -0.001635> + 9423: < 0.007684, -0.003281, -0.001619> + 9424: < 0.007740, -0.002868, -0.002035> + 9425: < 0.007854, -0.002473, -0.002053> + 9426: < 0.007932, -0.002492, -0.001650> + 9427: < 0.007817, -0.002890, -0.001635> + 9428: < 0.007854, -0.002473, -0.002053> + 9429: < 0.007950, -0.002071, -0.002071> + 9430: < 0.008029, -0.002086, -0.001663> + 9431: < 0.007932, -0.002492, -0.001650> + 9432: < 0.007950, -0.002071, -0.002071> + 9433: < 0.008029, -0.001663, -0.002086> + 9434: < 0.008109, -0.001676, -0.001676> + 9435: < 0.008029, -0.002086, -0.001663> + 9436: < 0.008029, -0.001663, -0.002086> + 9437: < 0.008090, -0.001252, -0.002099> + 9438: < 0.008171, -0.001261, -0.001686> + 9439: < 0.008109, -0.001676, -0.001676> + 9440: < 0.008090, -0.001252, -0.002099> + 9441: < 0.008134, -0.000836, -0.002109> + 9442: < 0.008215, -0.000842, -0.001694> + 9443: < 0.008171, -0.001261, -0.001686> + 9444: < 0.008134, -0.000836, -0.002109> + 9445: < 0.008161, -0.000419, -0.002116> + 9446: < 0.008242, -0.000422, -0.001699> + 9447: < 0.008215, -0.000842, -0.001694> + 9448: < 0.008161, -0.000419, -0.002116> + 9449: < 0.008169, -0.000000, -0.002118> + 9450: < 0.008251, -0.000000, -0.001701> + 9451: < 0.008242, -0.000422, -0.001699> + 9452: < 0.008169, -0.000000, -0.002118> + 9453: < 0.008161, 0.000419, -0.002116> + 9454: < 0.008242, 0.000422, -0.001699> + 9455: < 0.008251, -0.000000, -0.001701> + 9456: < 0.008161, 0.000419, -0.002116> + 9457: < 0.008134, 0.000836, -0.002109> + 9458: < 0.008215, 0.000842, -0.001694> + 9459: < 0.008242, 0.000422, -0.001699> + 9460: < 0.008134, 0.000836, -0.002109> + 9461: < 0.008090, 0.001252, -0.002099> + 9462: < 0.008171, 0.001261, -0.001686> + 9463: < 0.008215, 0.000842, -0.001694> + 9464: < 0.008090, 0.001252, -0.002099> + 9465: < 0.008029, 0.001663, -0.002086> + 9466: < 0.008109, 0.001676, -0.001676> + 9467: < 0.008171, 0.001261, -0.001686> + 9468: < 0.008029, 0.001663, -0.002086> + 9469: < 0.007950, 0.002071, -0.002071> + 9470: < 0.008029, 0.002086, -0.001663> + 9471: < 0.008109, 0.001676, -0.001676> + 9472: < 0.007950, 0.002071, -0.002071> + 9473: < 0.007854, 0.002473, -0.002053> + 9474: < 0.007932, 0.002492, -0.001650> + 9475: < 0.008029, 0.002086, -0.001663> + 9476: < 0.007854, 0.002473, -0.002053> + 9477: < 0.007740, 0.002868, -0.002035> + 9478: < 0.007817, 0.002890, -0.001635> + 9479: < 0.007932, 0.002492, -0.001650> + 9480: < 0.007740, 0.002868, -0.002035> + 9481: < 0.007610, 0.003255, -0.002015> + 9482: < 0.007684, 0.003281, -0.001619> + 9483: < 0.007817, 0.002890, -0.001635> + 9484: < 0.007610, 0.003255, -0.002015> + 9485: < 0.007462, 0.003634, -0.001995> + 9486: < 0.007535, 0.003663, -0.001603> + 9487: < 0.007684, 0.003281, -0.001619> + 9488: < 0.007462, 0.003634, -0.001995> + 9489: < 0.007297, 0.004002, -0.001975> + 9490: < 0.007367, 0.004034, -0.001588> + 9491: < 0.007535, 0.003663, -0.001603> + 9492: < 0.007297, 0.004002, -0.001975> + 9493: < 0.007115, 0.004360, -0.001957> + 9494: < 0.007183, 0.004395, -0.001574> + 9495: < 0.007367, 0.004034, -0.001588> + 9496: < 0.007115, 0.004360, -0.001957> + 9497: < 0.006915, 0.004705, -0.001940> + 9498: < 0.006980, 0.004744, -0.001561> + 9499: < 0.007183, 0.004395, -0.001574> + 9500: < 0.006915, 0.004705, -0.001940> + 9501: < 0.006698, 0.005037, -0.001926> + 9502: < 0.006761, 0.005080, -0.001550> + 9503: < 0.006980, 0.004744, -0.001561> + 9504: < 0.006698, 0.005037, -0.001926> + 9505: < 0.006464, 0.005355, -0.001915> + 9506: < 0.006523, 0.005401, -0.001541> + 9507: < 0.006761, 0.005080, -0.001550> + 9508: < 0.006464, 0.005355, -0.001915> + 9509: < 0.006212, 0.005657, -0.001908> + 9510: < 0.006269, 0.005707, -0.001536> + 9511: < 0.006523, 0.005401, -0.001541> + 9512: < 0.006269, -0.005707, -0.001536> + 9513: < 0.006523, -0.005401, -0.001541> + 9514: < 0.006570, -0.005438, -0.001161> + 9515: < 0.006313, -0.005747, -0.001157> + 9516: < 0.006523, -0.005401, -0.001541> + 9517: < 0.006761, -0.005080, -0.001550> + 9518: < 0.006810, -0.005114, -0.001168> + 9519: < 0.006570, -0.005438, -0.001161> + 9520: < 0.006761, -0.005080, -0.001550> + 9521: < 0.006980, -0.004744, -0.001561> + 9522: < 0.007032, -0.004776, -0.001176> + 9523: < 0.006810, -0.005114, -0.001168> + 9524: < 0.006980, -0.004744, -0.001561> + 9525: < 0.007183, -0.004395, -0.001574> + 9526: < 0.007236, -0.004424, -0.001185> + 9527: < 0.007032, -0.004776, -0.001176> + 9528: < 0.007183, -0.004395, -0.001574> + 9529: < 0.007367, -0.004034, -0.001588> + 9530: < 0.007423, -0.004061, -0.001196> + 9531: < 0.007236, -0.004424, -0.001185> + 9532: < 0.007367, -0.004034, -0.001588> + 9533: < 0.007535, -0.003663, -0.001603> + 9534: < 0.007591, -0.003686, -0.001207> + 9535: < 0.007423, -0.004061, -0.001196> + 9536: < 0.007535, -0.003663, -0.001603> + 9537: < 0.007684, -0.003281, -0.001619> + 9538: < 0.007743, -0.003302, -0.001219> + 9539: < 0.007591, -0.003686, -0.001207> + 9540: < 0.007684, -0.003281, -0.001619> + 9541: < 0.007817, -0.002890, -0.001635> + 9542: < 0.007876, -0.002908, -0.001230> + 9543: < 0.007743, -0.003302, -0.001219> + 9544: < 0.007817, -0.002890, -0.001635> + 9545: < 0.007932, -0.002492, -0.001650> + 9546: < 0.007992, -0.002507, -0.001241> + 9547: < 0.007876, -0.002908, -0.001230> + 9548: < 0.007932, -0.002492, -0.001650> + 9549: < 0.008029, -0.002086, -0.001663> + 9550: < 0.008090, -0.002099, -0.001252> + 9551: < 0.007992, -0.002507, -0.001241> + 9552: < 0.008029, -0.002086, -0.001663> + 9553: < 0.008109, -0.001676, -0.001676> + 9554: < 0.008171, -0.001686, -0.001261> + 9555: < 0.008090, -0.002099, -0.001252> + 9556: < 0.008109, -0.001676, -0.001676> + 9557: < 0.008171, -0.001261, -0.001686> + 9558: < 0.008233, -0.001269, -0.001269> + 9559: < 0.008171, -0.001686, -0.001261> + 9560: < 0.008171, -0.001261, -0.001686> + 9561: < 0.008215, -0.000842, -0.001694> + 9562: < 0.008278, -0.000848, -0.001275> + 9563: < 0.008233, -0.001269, -0.001269> + 9564: < 0.008215, -0.000842, -0.001694> + 9565: < 0.008242, -0.000422, -0.001699> + 9566: < 0.008305, -0.000424, -0.001278> + 9567: < 0.008278, -0.000848, -0.001275> + 9568: < 0.008242, -0.000422, -0.001699> + 9569: < 0.008251, -0.000000, -0.001701> + 9570: < 0.008314, 0.000000, -0.001280> + 9571: < 0.008305, -0.000424, -0.001278> + 9572: < 0.008251, -0.000000, -0.001701> + 9573: < 0.008242, 0.000422, -0.001699> + 9574: < 0.008305, 0.000424, -0.001278> + 9575: < 0.008314, 0.000000, -0.001280> + 9576: < 0.008242, 0.000422, -0.001699> + 9577: < 0.008215, 0.000842, -0.001694> + 9578: < 0.008278, 0.000848, -0.001275> + 9579: < 0.008305, 0.000424, -0.001278> + 9580: < 0.008215, 0.000842, -0.001694> + 9581: < 0.008171, 0.001261, -0.001686> + 9582: < 0.008233, 0.001269, -0.001269> + 9583: < 0.008278, 0.000848, -0.001275> + 9584: < 0.008171, 0.001261, -0.001686> + 9585: < 0.008109, 0.001676, -0.001676> + 9586: < 0.008171, 0.001686, -0.001261> + 9587: < 0.008233, 0.001269, -0.001269> + 9588: < 0.008109, 0.001676, -0.001676> + 9589: < 0.008029, 0.002086, -0.001663> + 9590: < 0.008090, 0.002099, -0.001252> + 9591: < 0.008171, 0.001686, -0.001261> + 9592: < 0.008029, 0.002086, -0.001663> + 9593: < 0.007932, 0.002492, -0.001650> + 9594: < 0.007992, 0.002507, -0.001241> + 9595: < 0.008090, 0.002099, -0.001252> + 9596: < 0.007932, 0.002492, -0.001650> + 9597: < 0.007817, 0.002890, -0.001635> + 9598: < 0.007876, 0.002908, -0.001230> + 9599: < 0.007992, 0.002507, -0.001241> + 9600: < 0.007817, 0.002890, -0.001635> + 9601: < 0.007684, 0.003281, -0.001619> + 9602: < 0.007743, 0.003302, -0.001219> + 9603: < 0.007876, 0.002908, -0.001230> + 9604: < 0.007684, 0.003281, -0.001619> + 9605: < 0.007535, 0.003663, -0.001603> + 9606: < 0.007591, 0.003686, -0.001207> + 9607: < 0.007743, 0.003302, -0.001219> + 9608: < 0.007535, 0.003663, -0.001603> + 9609: < 0.007367, 0.004034, -0.001588> + 9610: < 0.007423, 0.004061, -0.001196> + 9611: < 0.007591, 0.003686, -0.001207> + 9612: < 0.007367, 0.004034, -0.001588> + 9613: < 0.007183, 0.004395, -0.001574> + 9614: < 0.007236, 0.004424, -0.001185> + 9615: < 0.007423, 0.004061, -0.001196> + 9616: < 0.007183, 0.004395, -0.001574> + 9617: < 0.006980, 0.004744, -0.001561> + 9618: < 0.007032, 0.004776, -0.001176> + 9619: < 0.007236, 0.004424, -0.001185> + 9620: < 0.006980, 0.004744, -0.001561> + 9621: < 0.006761, 0.005080, -0.001550> + 9622: < 0.006810, 0.005114, -0.001168> + 9623: < 0.007032, 0.004776, -0.001176> + 9624: < 0.006761, 0.005080, -0.001550> + 9625: < 0.006523, 0.005401, -0.001541> + 9626: < 0.006570, 0.005438, -0.001161> + 9627: < 0.006810, 0.005114, -0.001168> + 9628: < 0.006523, 0.005401, -0.001541> + 9629: < 0.006269, 0.005707, -0.001536> + 9630: < 0.006313, 0.005747, -0.001157> + 9631: < 0.006570, 0.005438, -0.001161> + 9632: < 0.006313, -0.005747, -0.001157> + 9633: < 0.006570, -0.005438, -0.001161> + 9634: < 0.006605, -0.005466, -0.000777> + 9635: < 0.006346, -0.005776, -0.000774> + 9636: < 0.006570, -0.005438, -0.001161> + 9637: < 0.006810, -0.005114, -0.001168> + 9638: < 0.006846, -0.005140, -0.000781> + 9639: < 0.006605, -0.005466, -0.000777> + 9640: < 0.006810, -0.005114, -0.001168> + 9641: < 0.007032, -0.004776, -0.001176> + 9642: < 0.007069, -0.004800, -0.000786> + 9643: < 0.006846, -0.005140, -0.000781> + 9644: < 0.007032, -0.004776, -0.001176> + 9645: < 0.007236, -0.004424, -0.001185> + 9646: < 0.007275, -0.004446, -0.000792> + 9647: < 0.007069, -0.004800, -0.000786> + 9648: < 0.007236, -0.004424, -0.001185> + 9649: < 0.007423, -0.004061, -0.001196> + 9650: < 0.007462, -0.004081, -0.000799> + 9651: < 0.007275, -0.004446, -0.000792> + 9652: < 0.007423, -0.004061, -0.001196> + 9653: < 0.007591, -0.003686, -0.001207> + 9654: < 0.007632, -0.003704, -0.000807> + 9655: < 0.007462, -0.004081, -0.000799> + 9656: < 0.007591, -0.003686, -0.001207> + 9657: < 0.007743, -0.003302, -0.001219> + 9658: < 0.007785, -0.003318, -0.000814> + 9659: < 0.007632, -0.003704, -0.000807> + 9660: < 0.007743, -0.003302, -0.001219> + 9661: < 0.007876, -0.002908, -0.001230> + 9662: < 0.007919, -0.002922, -0.000822> + 9663: < 0.007785, -0.003318, -0.000814> + 9664: < 0.007876, -0.002908, -0.001230> + 9665: < 0.007992, -0.002507, -0.001241> + 9666: < 0.008036, -0.002519, -0.000829> + 9667: < 0.007919, -0.002922, -0.000822> + 9668: < 0.007992, -0.002507, -0.001241> + 9669: < 0.008090, -0.002099, -0.001252> + 9670: < 0.008134, -0.002109, -0.000836> + 9671: < 0.008036, -0.002519, -0.000829> + 9672: < 0.008090, -0.002099, -0.001252> + 9673: < 0.008171, -0.001686, -0.001261> + 9674: < 0.008215, -0.001694, -0.000842> + 9675: < 0.008134, -0.002109, -0.000836> + 9676: < 0.008171, -0.001686, -0.001261> + 9677: < 0.008233, -0.001269, -0.001269> + 9678: < 0.008278, -0.001275, -0.000848> + 9679: < 0.008215, -0.001694, -0.000842> + 9680: < 0.008233, -0.001269, -0.001269> + 9681: < 0.008278, -0.000848, -0.001275> + 9682: < 0.008323, -0.000852, -0.000852> + 9683: < 0.008278, -0.001275, -0.000848> + 9684: < 0.008278, -0.000848, -0.001275> + 9685: < 0.008305, -0.000424, -0.001278> + 9686: < 0.008350, -0.000426, -0.000854> + 9687: < 0.008323, -0.000852, -0.000852> + 9688: < 0.008305, -0.000424, -0.001278> + 9689: < 0.008314, 0.000000, -0.001280> + 9690: < 0.008359, 0.000000, -0.000855> + 9691: < 0.008350, -0.000426, -0.000854> + 9692: < 0.008314, 0.000000, -0.001280> + 9693: < 0.008305, 0.000424, -0.001278> + 9694: < 0.008350, 0.000426, -0.000854> + 9695: < 0.008359, 0.000000, -0.000855> + 9696: < 0.008305, 0.000424, -0.001278> + 9697: < 0.008278, 0.000848, -0.001275> + 9698: < 0.008323, 0.000852, -0.000852> + 9699: < 0.008350, 0.000426, -0.000854> + 9700: < 0.008278, 0.000848, -0.001275> + 9701: < 0.008233, 0.001269, -0.001269> + 9702: < 0.008278, 0.001275, -0.000848> + 9703: < 0.008323, 0.000852, -0.000852> + 9704: < 0.008233, 0.001269, -0.001269> + 9705: < 0.008171, 0.001686, -0.001261> + 9706: < 0.008215, 0.001694, -0.000842> + 9707: < 0.008278, 0.001275, -0.000848> + 9708: < 0.008171, 0.001686, -0.001261> + 9709: < 0.008090, 0.002099, -0.001252> + 9710: < 0.008134, 0.002109, -0.000836> + 9711: < 0.008215, 0.001694, -0.000842> + 9712: < 0.008090, 0.002099, -0.001252> + 9713: < 0.007992, 0.002507, -0.001241> + 9714: < 0.008036, 0.002519, -0.000829> + 9715: < 0.008134, 0.002109, -0.000836> + 9716: < 0.007992, 0.002507, -0.001241> + 9717: < 0.007876, 0.002908, -0.001230> + 9718: < 0.007919, 0.002922, -0.000822> + 9719: < 0.008036, 0.002519, -0.000829> + 9720: < 0.007876, 0.002908, -0.001230> + 9721: < 0.007743, 0.003302, -0.001219> + 9722: < 0.007785, 0.003318, -0.000814> + 9723: < 0.007919, 0.002922, -0.000822> + 9724: < 0.007743, 0.003302, -0.001219> + 9725: < 0.007591, 0.003686, -0.001207> + 9726: < 0.007632, 0.003704, -0.000807> + 9727: < 0.007785, 0.003318, -0.000814> + 9728: < 0.007591, 0.003686, -0.001207> + 9729: < 0.007423, 0.004061, -0.001196> + 9730: < 0.007462, 0.004081, -0.000799> + 9731: < 0.007632, 0.003704, -0.000807> + 9732: < 0.007423, 0.004061, -0.001196> + 9733: < 0.007236, 0.004424, -0.001185> + 9734: < 0.007275, 0.004446, -0.000792> + 9735: < 0.007462, 0.004081, -0.000799> + 9736: < 0.007236, 0.004424, -0.001185> + 9737: < 0.007032, 0.004776, -0.001176> + 9738: < 0.007069, 0.004800, -0.000786> + 9739: < 0.007275, 0.004446, -0.000792> + 9740: < 0.007032, 0.004776, -0.001176> + 9741: < 0.006810, 0.005114, -0.001168> + 9742: < 0.006846, 0.005140, -0.000781> + 9743: < 0.007069, 0.004800, -0.000786> + 9744: < 0.006810, 0.005114, -0.001168> + 9745: < 0.006570, 0.005438, -0.001161> + 9746: < 0.006605, 0.005466, -0.000777> + 9747: < 0.006846, 0.005140, -0.000781> + 9748: < 0.006570, 0.005438, -0.001161> + 9749: < 0.006313, 0.005747, -0.001157> + 9750: < 0.006346, 0.005776, -0.000774> + 9751: < 0.006605, 0.005466, -0.000777> + 9752: < 0.006346, -0.005776, -0.000774> + 9753: < 0.006605, -0.005466, -0.000777> + 9754: < 0.006626, -0.005483, -0.000389> + 9755: < 0.006366, -0.005794, -0.000388> + 9756: < 0.006605, -0.005466, -0.000777> + 9757: < 0.006846, -0.005140, -0.000781> + 9758: < 0.006868, -0.005156, -0.000391> + 9759: < 0.006626, -0.005483, -0.000389> + 9760: < 0.006846, -0.005140, -0.000781> + 9761: < 0.007069, -0.004800, -0.000786> + 9762: < 0.007092, -0.004815, -0.000394> + 9763: < 0.006868, -0.005156, -0.000391> + 9764: < 0.007069, -0.004800, -0.000786> + 9765: < 0.007275, -0.004446, -0.000792> + 9766: < 0.007298, -0.004460, -0.000397> + 9767: < 0.007092, -0.004815, -0.000394> + 9768: < 0.007275, -0.004446, -0.000792> + 9769: < 0.007462, -0.004081, -0.000799> + 9770: < 0.007487, -0.004093, -0.000400> + 9771: < 0.007298, -0.004460, -0.000397> + 9772: < 0.007462, -0.004081, -0.000799> + 9773: < 0.007632, -0.003704, -0.000807> + 9774: < 0.007657, -0.003716, -0.000404> + 9775: < 0.007487, -0.004093, -0.000400> + 9776: < 0.007632, -0.003704, -0.000807> + 9777: < 0.007785, -0.003318, -0.000814> + 9778: < 0.007810, -0.003328, -0.000408> + 9779: < 0.007657, -0.003716, -0.000404> + 9780: < 0.007785, -0.003318, -0.000814> + 9781: < 0.007919, -0.002922, -0.000822> + 9782: < 0.007945, -0.002931, -0.000412> + 9783: < 0.007810, -0.003328, -0.000408> + 9784: < 0.007919, -0.002922, -0.000822> + 9785: < 0.008036, -0.002519, -0.000829> + 9786: < 0.008062, -0.002527, -0.000415> + 9787: < 0.007945, -0.002931, -0.000412> + 9788: < 0.008036, -0.002519, -0.000829> + 9789: < 0.008134, -0.002109, -0.000836> + 9790: < 0.008161, -0.002116, -0.000419> + 9791: < 0.008062, -0.002527, -0.000415> + 9792: < 0.008134, -0.002109, -0.000836> + 9793: < 0.008215, -0.001694, -0.000842> + 9794: < 0.008242, -0.001699, -0.000422> + 9795: < 0.008161, -0.002116, -0.000419> + 9796: < 0.008215, -0.001694, -0.000842> + 9797: < 0.008278, -0.001275, -0.000848> + 9798: < 0.008305, -0.001278, -0.000424> + 9799: < 0.008242, -0.001699, -0.000422> + 9800: < 0.008278, -0.001275, -0.000848> + 9801: < 0.008323, -0.000852, -0.000852> + 9802: < 0.008350, -0.000854, -0.000426> + 9803: < 0.008305, -0.001278, -0.000424> + 9804: < 0.008323, -0.000852, -0.000852> + 9805: < 0.008350, -0.000426, -0.000854> + 9806: < 0.008377, -0.000428, -0.000428> + 9807: < 0.008350, -0.000854, -0.000426> + 9808: < 0.008350, -0.000426, -0.000854> + 9809: < 0.008359, 0.000000, -0.000855> + 9810: < 0.008386, 0.000000, -0.000428> + 9811: < 0.008377, -0.000428, -0.000428> + 9812: < 0.008359, 0.000000, -0.000855> + 9813: < 0.008350, 0.000426, -0.000854> + 9814: < 0.008377, 0.000428, -0.000428> + 9815: < 0.008386, 0.000000, -0.000428> + 9816: < 0.008350, 0.000426, -0.000854> + 9817: < 0.008323, 0.000852, -0.000852> + 9818: < 0.008350, 0.000854, -0.000426> + 9819: < 0.008377, 0.000428, -0.000428> + 9820: < 0.008323, 0.000852, -0.000852> + 9821: < 0.008278, 0.001275, -0.000848> + 9822: < 0.008305, 0.001278, -0.000424> + 9823: < 0.008350, 0.000854, -0.000426> + 9824: < 0.008278, 0.001275, -0.000848> + 9825: < 0.008215, 0.001694, -0.000842> + 9826: < 0.008242, 0.001699, -0.000422> + 9827: < 0.008305, 0.001278, -0.000424> + 9828: < 0.008215, 0.001694, -0.000842> + 9829: < 0.008134, 0.002109, -0.000836> + 9830: < 0.008161, 0.002116, -0.000419> + 9831: < 0.008242, 0.001699, -0.000422> + 9832: < 0.008134, 0.002109, -0.000836> + 9833: < 0.008036, 0.002519, -0.000829> + 9834: < 0.008062, 0.002527, -0.000415> + 9835: < 0.008161, 0.002116, -0.000419> + 9836: < 0.008036, 0.002519, -0.000829> + 9837: < 0.007919, 0.002922, -0.000822> + 9838: < 0.007945, 0.002931, -0.000412> + 9839: < 0.008062, 0.002527, -0.000415> + 9840: < 0.007919, 0.002922, -0.000822> + 9841: < 0.007785, 0.003318, -0.000814> + 9842: < 0.007810, 0.003328, -0.000408> + 9843: < 0.007945, 0.002931, -0.000412> + 9844: < 0.007785, 0.003318, -0.000814> + 9845: < 0.007632, 0.003704, -0.000807> + 9846: < 0.007657, 0.003716, -0.000404> + 9847: < 0.007810, 0.003328, -0.000408> + 9848: < 0.007632, 0.003704, -0.000807> + 9849: < 0.007462, 0.004081, -0.000799> + 9850: < 0.007487, 0.004093, -0.000400> + 9851: < 0.007657, 0.003716, -0.000404> + 9852: < 0.007462, 0.004081, -0.000799> + 9853: < 0.007275, 0.004446, -0.000792> + 9854: < 0.007298, 0.004460, -0.000397> + 9855: < 0.007487, 0.004093, -0.000400> + 9856: < 0.007275, 0.004446, -0.000792> + 9857: < 0.007069, 0.004800, -0.000786> + 9858: < 0.007092, 0.004815, -0.000394> + 9859: < 0.007298, 0.004460, -0.000397> + 9860: < 0.007069, 0.004800, -0.000786> + 9861: < 0.006846, 0.005140, -0.000781> + 9862: < 0.006868, 0.005156, -0.000391> + 9863: < 0.007092, 0.004815, -0.000394> + 9864: < 0.006846, 0.005140, -0.000781> + 9865: < 0.006605, 0.005466, -0.000777> + 9866: < 0.006626, 0.005483, -0.000389> + 9867: < 0.006868, 0.005156, -0.000391> + 9868: < 0.006605, 0.005466, -0.000777> + 9869: < 0.006346, 0.005776, -0.000774> + 9870: < 0.006366, 0.005794, -0.000388> + 9871: < 0.006626, 0.005483, -0.000389> + 9872: < 0.006366, -0.005794, -0.000388> + 9873: < 0.006626, -0.005483, -0.000389> + 9874: < 0.006633, -0.005489, 0.000000> + 9875: < 0.006373, -0.005801, 0.000000> + 9876: < 0.006626, -0.005483, -0.000389> + 9877: < 0.006868, -0.005156, -0.000391> + 9878: < 0.006875, -0.005162, 0.000000> + 9879: < 0.006633, -0.005489, 0.000000> + 9880: < 0.006868, -0.005156, -0.000391> + 9881: < 0.007092, -0.004815, -0.000394> + 9882: < 0.007099, -0.004820, 0.000000> + 9883: < 0.006875, -0.005162, 0.000000> + 9884: < 0.007092, -0.004815, -0.000394> + 9885: < 0.007298, -0.004460, -0.000397> + 9886: < 0.007306, -0.004465, 0.000000> + 9887: < 0.007099, -0.004820, 0.000000> + 9888: < 0.007298, -0.004460, -0.000397> + 9889: < 0.007487, -0.004093, -0.000400> + 9890: < 0.007495, -0.004098, 0.000000> + 9891: < 0.007306, -0.004465, 0.000000> + 9892: < 0.007487, -0.004093, -0.000400> + 9893: < 0.007657, -0.003716, -0.000404> + 9894: < 0.007665, -0.003720, 0.000000> + 9895: < 0.007495, -0.004098, 0.000000> + 9896: < 0.007657, -0.003716, -0.000404> + 9897: < 0.007810, -0.003328, -0.000408> + 9898: < 0.007818, -0.003331, 0.000000> + 9899: < 0.007665, -0.003720, 0.000000> + 9900: < 0.007810, -0.003328, -0.000408> + 9901: < 0.007945, -0.002931, -0.000412> + 9902: < 0.007953, -0.002934, 0.000000> + 9903: < 0.007818, -0.003331, 0.000000> + 9904: < 0.007945, -0.002931, -0.000412> + 9905: < 0.008062, -0.002527, -0.000415> + 9906: < 0.008070, -0.002530, 0.000000> + 9907: < 0.007953, -0.002934, 0.000000> + 9908: < 0.008062, -0.002527, -0.000415> + 9909: < 0.008161, -0.002116, -0.000419> + 9910: < 0.008169, -0.002118, 0.000000> + 9911: < 0.008070, -0.002530, 0.000000> + 9912: < 0.008161, -0.002116, -0.000419> + 9913: < 0.008242, -0.001699, -0.000422> + 9914: < 0.008251, -0.001701, 0.000000> + 9915: < 0.008169, -0.002118, 0.000000> + 9916: < 0.008242, -0.001699, -0.000422> + 9917: < 0.008305, -0.001278, -0.000424> + 9918: < 0.008314, -0.001280, 0.000000> + 9919: < 0.008251, -0.001701, 0.000000> + 9920: < 0.008305, -0.001278, -0.000424> + 9921: < 0.008350, -0.000854, -0.000426> + 9922: < 0.008359, -0.000855, 0.000000> + 9923: < 0.008314, -0.001280, 0.000000> + 9924: < 0.008350, -0.000854, -0.000426> + 9925: < 0.008377, -0.000428, -0.000428> + 9926: < 0.008386, -0.000428, 0.000000> + 9927: < 0.008359, -0.000855, 0.000000> + 9928: < 0.008377, -0.000428, -0.000428> + 9929: < 0.008386, 0.000000, -0.000428> + 9930: < 0.008395, 0.000000, 0.000000> + 9931: < 0.008386, -0.000428, 0.000000> + 9932: < 0.008386, 0.000000, -0.000428> + 9933: < 0.008377, 0.000428, -0.000428> + 9934: < 0.008386, 0.000428, 0.000000> + 9935: < 0.008395, 0.000000, 0.000000> + 9936: < 0.008377, 0.000428, -0.000428> + 9937: < 0.008350, 0.000854, -0.000426> + 9938: < 0.008359, 0.000855, 0.000000> + 9939: < 0.008386, 0.000428, 0.000000> + 9940: < 0.008350, 0.000854, -0.000426> + 9941: < 0.008305, 0.001278, -0.000424> + 9942: < 0.008314, 0.001280, 0.000000> + 9943: < 0.008359, 0.000855, 0.000000> + 9944: < 0.008305, 0.001278, -0.000424> + 9945: < 0.008242, 0.001699, -0.000422> + 9946: < 0.008251, 0.001701, 0.000000> + 9947: < 0.008314, 0.001280, 0.000000> + 9948: < 0.008242, 0.001699, -0.000422> + 9949: < 0.008161, 0.002116, -0.000419> + 9950: < 0.008169, 0.002118, 0.000000> + 9951: < 0.008251, 0.001701, 0.000000> + 9952: < 0.008161, 0.002116, -0.000419> + 9953: < 0.008062, 0.002527, -0.000415> + 9954: < 0.008070, 0.002530, 0.000000> + 9955: < 0.008169, 0.002118, 0.000000> + 9956: < 0.008062, 0.002527, -0.000415> + 9957: < 0.007945, 0.002931, -0.000412> + 9958: < 0.007953, 0.002934, 0.000000> + 9959: < 0.008070, 0.002530, 0.000000> + 9960: < 0.007945, 0.002931, -0.000412> + 9961: < 0.007810, 0.003328, -0.000408> + 9962: < 0.007818, 0.003331, -0.000000> + 9963: < 0.007953, 0.002934, 0.000000> + 9964: < 0.007810, 0.003328, -0.000408> + 9965: < 0.007657, 0.003716, -0.000404> + 9966: < 0.007665, 0.003720, 0.000000> + 9967: < 0.007818, 0.003331, -0.000000> + 9968: < 0.007657, 0.003716, -0.000404> + 9969: < 0.007487, 0.004093, -0.000400> + 9970: < 0.007495, 0.004098, 0.000000> + 9971: < 0.007665, 0.003720, 0.000000> + 9972: < 0.007487, 0.004093, -0.000400> + 9973: < 0.007298, 0.004460, -0.000397> + 9974: < 0.007306, 0.004465, 0.000000> + 9975: < 0.007495, 0.004098, 0.000000> + 9976: < 0.007298, 0.004460, -0.000397> + 9977: < 0.007092, 0.004815, -0.000394> + 9978: < 0.007099, 0.004820, 0.000000> + 9979: < 0.007306, 0.004465, 0.000000> + 9980: < 0.007092, 0.004815, -0.000394> + 9981: < 0.006868, 0.005156, -0.000391> + 9982: < 0.006875, 0.005162, 0.000000> + 9983: < 0.007099, 0.004820, 0.000000> + 9984: < 0.006868, 0.005156, -0.000391> + 9985: < 0.006626, 0.005483, -0.000389> + 9986: < 0.006633, 0.005489, 0.000000> + 9987: < 0.006875, 0.005162, 0.000000> + 9988: < 0.006626, 0.005483, -0.000389> + 9989: < 0.006366, 0.005794, -0.000388> + 9990: < 0.006373, 0.005801, 0.000000> + 9991: < 0.006633, 0.005489, 0.000000> + 9992: < 0.006373, -0.005801, 0.000000> + 9993: < 0.006633, -0.005489, 0.000000> + 9994: < 0.006626, -0.005483, 0.000389> + 9995: < 0.006366, -0.005794, 0.000388> + 9996: < 0.006633, -0.005489, 0.000000> + 9997: < 0.006875, -0.005162, 0.000000> + 9998: < 0.006868, -0.005156, 0.000391> + 9999: < 0.006626, -0.005483, 0.000389> + 10000: < 0.006875, -0.005162, 0.000000> + 10001: < 0.007099, -0.004820, 0.000000> + 10002: < 0.007092, -0.004815, 0.000394> + 10003: < 0.006868, -0.005156, 0.000391> + 10004: < 0.007099, -0.004820, 0.000000> + 10005: < 0.007306, -0.004465, 0.000000> + 10006: < 0.007298, -0.004460, 0.000397> + 10007: < 0.007092, -0.004815, 0.000394> + 10008: < 0.007306, -0.004465, 0.000000> + 10009: < 0.007495, -0.004098, 0.000000> + 10010: < 0.007487, -0.004093, 0.000400> + 10011: < 0.007298, -0.004460, 0.000397> + 10012: < 0.007495, -0.004098, 0.000000> + 10013: < 0.007665, -0.003720, 0.000000> + 10014: < 0.007657, -0.003716, 0.000404> + 10015: < 0.007487, -0.004093, 0.000400> + 10016: < 0.007665, -0.003720, 0.000000> + 10017: < 0.007818, -0.003331, 0.000000> + 10018: < 0.007810, -0.003328, 0.000408> + 10019: < 0.007657, -0.003716, 0.000404> + 10020: < 0.007818, -0.003331, 0.000000> + 10021: < 0.007953, -0.002934, 0.000000> + 10022: < 0.007945, -0.002931, 0.000412> + 10023: < 0.007810, -0.003328, 0.000408> + 10024: < 0.007953, -0.002934, 0.000000> + 10025: < 0.008070, -0.002530, 0.000000> + 10026: < 0.008062, -0.002527, 0.000415> + 10027: < 0.007945, -0.002931, 0.000412> + 10028: < 0.008070, -0.002530, 0.000000> + 10029: < 0.008169, -0.002118, 0.000000> + 10030: < 0.008161, -0.002116, 0.000419> + 10031: < 0.008062, -0.002527, 0.000415> + 10032: < 0.008169, -0.002118, 0.000000> + 10033: < 0.008251, -0.001701, 0.000000> + 10034: < 0.008242, -0.001699, 0.000422> + 10035: < 0.008161, -0.002116, 0.000419> + 10036: < 0.008251, -0.001701, 0.000000> + 10037: < 0.008314, -0.001280, 0.000000> + 10038: < 0.008305, -0.001278, 0.000424> + 10039: < 0.008242, -0.001699, 0.000422> + 10040: < 0.008314, -0.001280, 0.000000> + 10041: < 0.008359, -0.000855, 0.000000> + 10042: < 0.008350, -0.000854, 0.000426> + 10043: < 0.008305, -0.001278, 0.000424> + 10044: < 0.008359, -0.000855, 0.000000> + 10045: < 0.008386, -0.000428, 0.000000> + 10046: < 0.008377, -0.000428, 0.000428> + 10047: < 0.008350, -0.000854, 0.000426> + 10048: < 0.008386, -0.000428, 0.000000> + 10049: < 0.008395, 0.000000, 0.000000> + 10050: < 0.008386, 0.000000, 0.000428> + 10051: < 0.008377, -0.000428, 0.000428> + 10052: < 0.008395, 0.000000, 0.000000> + 10053: < 0.008386, 0.000428, 0.000000> + 10054: < 0.008377, 0.000428, 0.000428> + 10055: < 0.008386, 0.000000, 0.000428> + 10056: < 0.008386, 0.000428, 0.000000> + 10057: < 0.008359, 0.000855, 0.000000> + 10058: < 0.008350, 0.000854, 0.000426> + 10059: < 0.008377, 0.000428, 0.000428> + 10060: < 0.008359, 0.000855, 0.000000> + 10061: < 0.008314, 0.001280, 0.000000> + 10062: < 0.008305, 0.001278, 0.000424> + 10063: < 0.008350, 0.000854, 0.000426> + 10064: < 0.008314, 0.001280, 0.000000> + 10065: < 0.008251, 0.001701, 0.000000> + 10066: < 0.008242, 0.001699, 0.000422> + 10067: < 0.008305, 0.001278, 0.000424> + 10068: < 0.008251, 0.001701, 0.000000> + 10069: < 0.008169, 0.002118, 0.000000> + 10070: < 0.008161, 0.002116, 0.000419> + 10071: < 0.008242, 0.001699, 0.000422> + 10072: < 0.008169, 0.002118, 0.000000> + 10073: < 0.008070, 0.002530, 0.000000> + 10074: < 0.008062, 0.002527, 0.000415> + 10075: < 0.008161, 0.002116, 0.000419> + 10076: < 0.008070, 0.002530, 0.000000> + 10077: < 0.007953, 0.002934, 0.000000> + 10078: < 0.007945, 0.002931, 0.000412> + 10079: < 0.008062, 0.002527, 0.000415> + 10080: < 0.007953, 0.002934, 0.000000> + 10081: < 0.007818, 0.003331, -0.000000> + 10082: < 0.007810, 0.003328, 0.000408> + 10083: < 0.007945, 0.002931, 0.000412> + 10084: < 0.007818, 0.003331, -0.000000> + 10085: < 0.007665, 0.003720, 0.000000> + 10086: < 0.007657, 0.003716, 0.000404> + 10087: < 0.007810, 0.003328, 0.000408> + 10088: < 0.007665, 0.003720, 0.000000> + 10089: < 0.007495, 0.004098, 0.000000> + 10090: < 0.007487, 0.004093, 0.000400> + 10091: < 0.007657, 0.003716, 0.000404> + 10092: < 0.007495, 0.004098, 0.000000> + 10093: < 0.007306, 0.004465, 0.000000> + 10094: < 0.007298, 0.004460, 0.000397> + 10095: < 0.007487, 0.004093, 0.000400> + 10096: < 0.007306, 0.004465, 0.000000> + 10097: < 0.007099, 0.004820, 0.000000> + 10098: < 0.007092, 0.004815, 0.000394> + 10099: < 0.007298, 0.004460, 0.000397> + 10100: < 0.007099, 0.004820, 0.000000> + 10101: < 0.006875, 0.005162, 0.000000> + 10102: < 0.006868, 0.005156, 0.000391> + 10103: < 0.007092, 0.004815, 0.000394> + 10104: < 0.006875, 0.005162, 0.000000> + 10105: < 0.006633, 0.005489, 0.000000> + 10106: < 0.006626, 0.005483, 0.000389> + 10107: < 0.006868, 0.005156, 0.000391> + 10108: < 0.006633, 0.005489, 0.000000> + 10109: < 0.006373, 0.005801, 0.000000> + 10110: < 0.006366, 0.005794, 0.000388> + 10111: < 0.006626, 0.005483, 0.000389> + 10112: < 0.006366, -0.005794, 0.000388> + 10113: < 0.006626, -0.005483, 0.000389> + 10114: < 0.006605, -0.005466, 0.000777> + 10115: < 0.006346, -0.005776, 0.000774> + 10116: < 0.006626, -0.005483, 0.000389> + 10117: < 0.006868, -0.005156, 0.000391> + 10118: < 0.006846, -0.005140, 0.000781> + 10119: < 0.006605, -0.005466, 0.000777> + 10120: < 0.006868, -0.005156, 0.000391> + 10121: < 0.007092, -0.004815, 0.000394> + 10122: < 0.007069, -0.004800, 0.000786> + 10123: < 0.006846, -0.005140, 0.000781> + 10124: < 0.007092, -0.004815, 0.000394> + 10125: < 0.007298, -0.004460, 0.000397> + 10126: < 0.007275, -0.004446, 0.000792> + 10127: < 0.007069, -0.004800, 0.000786> + 10128: < 0.007298, -0.004460, 0.000397> + 10129: < 0.007487, -0.004093, 0.000400> + 10130: < 0.007462, -0.004081, 0.000799> + 10131: < 0.007275, -0.004446, 0.000792> + 10132: < 0.007487, -0.004093, 0.000400> + 10133: < 0.007657, -0.003716, 0.000404> + 10134: < 0.007632, -0.003704, 0.000807> + 10135: < 0.007462, -0.004081, 0.000799> + 10136: < 0.007657, -0.003716, 0.000404> + 10137: < 0.007810, -0.003328, 0.000408> + 10138: < 0.007785, -0.003318, 0.000814> + 10139: < 0.007632, -0.003704, 0.000807> + 10140: < 0.007810, -0.003328, 0.000408> + 10141: < 0.007945, -0.002931, 0.000412> + 10142: < 0.007919, -0.002922, 0.000822> + 10143: < 0.007785, -0.003318, 0.000814> + 10144: < 0.007945, -0.002931, 0.000412> + 10145: < 0.008062, -0.002527, 0.000415> + 10146: < 0.008036, -0.002519, 0.000829> + 10147: < 0.007919, -0.002922, 0.000822> + 10148: < 0.008062, -0.002527, 0.000415> + 10149: < 0.008161, -0.002116, 0.000419> + 10150: < 0.008134, -0.002109, 0.000836> + 10151: < 0.008036, -0.002519, 0.000829> + 10152: < 0.008161, -0.002116, 0.000419> + 10153: < 0.008242, -0.001699, 0.000422> + 10154: < 0.008215, -0.001694, 0.000842> + 10155: < 0.008134, -0.002109, 0.000836> + 10156: < 0.008242, -0.001699, 0.000422> + 10157: < 0.008305, -0.001278, 0.000424> + 10158: < 0.008278, -0.001275, 0.000848> + 10159: < 0.008215, -0.001694, 0.000842> + 10160: < 0.008305, -0.001278, 0.000424> + 10161: < 0.008350, -0.000854, 0.000426> + 10162: < 0.008323, -0.000852, 0.000852> + 10163: < 0.008278, -0.001275, 0.000848> + 10164: < 0.008350, -0.000854, 0.000426> + 10165: < 0.008377, -0.000428, 0.000428> + 10166: < 0.008350, -0.000426, 0.000854> + 10167: < 0.008323, -0.000852, 0.000852> + 10168: < 0.008377, -0.000428, 0.000428> + 10169: < 0.008386, 0.000000, 0.000428> + 10170: < 0.008359, 0.000000, 0.000855> + 10171: < 0.008350, -0.000426, 0.000854> + 10172: < 0.008386, 0.000000, 0.000428> + 10173: < 0.008377, 0.000428, 0.000428> + 10174: < 0.008350, 0.000426, 0.000854> + 10175: < 0.008359, 0.000000, 0.000855> + 10176: < 0.008377, 0.000428, 0.000428> + 10177: < 0.008350, 0.000854, 0.000426> + 10178: < 0.008323, 0.000852, 0.000852> + 10179: < 0.008350, 0.000426, 0.000854> + 10180: < 0.008350, 0.000854, 0.000426> + 10181: < 0.008305, 0.001278, 0.000424> + 10182: < 0.008278, 0.001275, 0.000848> + 10183: < 0.008323, 0.000852, 0.000852> + 10184: < 0.008305, 0.001278, 0.000424> + 10185: < 0.008242, 0.001699, 0.000422> + 10186: < 0.008215, 0.001694, 0.000842> + 10187: < 0.008278, 0.001275, 0.000848> + 10188: < 0.008242, 0.001699, 0.000422> + 10189: < 0.008161, 0.002116, 0.000419> + 10190: < 0.008134, 0.002109, 0.000836> + 10191: < 0.008215, 0.001694, 0.000842> + 10192: < 0.008161, 0.002116, 0.000419> + 10193: < 0.008062, 0.002527, 0.000415> + 10194: < 0.008036, 0.002519, 0.000829> + 10195: < 0.008134, 0.002109, 0.000836> + 10196: < 0.008062, 0.002527, 0.000415> + 10197: < 0.007945, 0.002931, 0.000412> + 10198: < 0.007919, 0.002922, 0.000822> + 10199: < 0.008036, 0.002519, 0.000829> + 10200: < 0.007945, 0.002931, 0.000412> + 10201: < 0.007810, 0.003328, 0.000408> + 10202: < 0.007785, 0.003318, 0.000814> + 10203: < 0.007919, 0.002922, 0.000822> + 10204: < 0.007810, 0.003328, 0.000408> + 10205: < 0.007657, 0.003716, 0.000404> + 10206: < 0.007632, 0.003704, 0.000807> + 10207: < 0.007785, 0.003318, 0.000814> + 10208: < 0.007657, 0.003716, 0.000404> + 10209: < 0.007487, 0.004093, 0.000400> + 10210: < 0.007462, 0.004081, 0.000799> + 10211: < 0.007632, 0.003704, 0.000807> + 10212: < 0.007487, 0.004093, 0.000400> + 10213: < 0.007298, 0.004460, 0.000397> + 10214: < 0.007275, 0.004446, 0.000792> + 10215: < 0.007462, 0.004081, 0.000799> + 10216: < 0.007298, 0.004460, 0.000397> + 10217: < 0.007092, 0.004815, 0.000394> + 10218: < 0.007069, 0.004800, 0.000786> + 10219: < 0.007275, 0.004446, 0.000792> + 10220: < 0.007092, 0.004815, 0.000394> + 10221: < 0.006868, 0.005156, 0.000391> + 10222: < 0.006846, 0.005140, 0.000781> + 10223: < 0.007069, 0.004800, 0.000786> + 10224: < 0.006868, 0.005156, 0.000391> + 10225: < 0.006626, 0.005483, 0.000389> + 10226: < 0.006605, 0.005466, 0.000777> + 10227: < 0.006846, 0.005140, 0.000781> + 10228: < 0.006626, 0.005483, 0.000389> + 10229: < 0.006366, 0.005794, 0.000388> + 10230: < 0.006346, 0.005776, 0.000774> + 10231: < 0.006605, 0.005466, 0.000777> + 10232: < 0.006346, -0.005776, 0.000774> + 10233: < 0.006605, -0.005466, 0.000777> + 10234: < 0.006570, -0.005438, 0.001161> + 10235: < 0.006313, -0.005747, 0.001157> + 10236: < 0.006605, -0.005466, 0.000777> + 10237: < 0.006846, -0.005140, 0.000781> + 10238: < 0.006810, -0.005114, 0.001168> + 10239: < 0.006570, -0.005438, 0.001161> + 10240: < 0.006846, -0.005140, 0.000781> + 10241: < 0.007069, -0.004800, 0.000786> + 10242: < 0.007032, -0.004776, 0.001176> + 10243: < 0.006810, -0.005114, 0.001168> + 10244: < 0.007069, -0.004800, 0.000786> + 10245: < 0.007275, -0.004446, 0.000792> + 10246: < 0.007236, -0.004424, 0.001185> + 10247: < 0.007032, -0.004776, 0.001176> + 10248: < 0.007275, -0.004446, 0.000792> + 10249: < 0.007462, -0.004081, 0.000799> + 10250: < 0.007423, -0.004061, 0.001196> + 10251: < 0.007236, -0.004424, 0.001185> + 10252: < 0.007462, -0.004081, 0.000799> + 10253: < 0.007632, -0.003704, 0.000807> + 10254: < 0.007591, -0.003686, 0.001207> + 10255: < 0.007423, -0.004061, 0.001196> + 10256: < 0.007632, -0.003704, 0.000807> + 10257: < 0.007785, -0.003318, 0.000814> + 10258: < 0.007743, -0.003302, 0.001219> + 10259: < 0.007591, -0.003686, 0.001207> + 10260: < 0.007785, -0.003318, 0.000814> + 10261: < 0.007919, -0.002922, 0.000822> + 10262: < 0.007876, -0.002908, 0.001230> + 10263: < 0.007743, -0.003302, 0.001219> + 10264: < 0.007919, -0.002922, 0.000822> + 10265: < 0.008036, -0.002519, 0.000829> + 10266: < 0.007992, -0.002507, 0.001241> + 10267: < 0.007876, -0.002908, 0.001230> + 10268: < 0.008036, -0.002519, 0.000829> + 10269: < 0.008134, -0.002109, 0.000836> + 10270: < 0.008090, -0.002099, 0.001252> + 10271: < 0.007992, -0.002507, 0.001241> + 10272: < 0.008134, -0.002109, 0.000836> + 10273: < 0.008215, -0.001694, 0.000842> + 10274: < 0.008171, -0.001686, 0.001261> + 10275: < 0.008090, -0.002099, 0.001252> + 10276: < 0.008215, -0.001694, 0.000842> + 10277: < 0.008278, -0.001275, 0.000848> + 10278: < 0.008233, -0.001269, 0.001269> + 10279: < 0.008171, -0.001686, 0.001261> + 10280: < 0.008278, -0.001275, 0.000848> + 10281: < 0.008323, -0.000852, 0.000852> + 10282: < 0.008278, -0.000848, 0.001275> + 10283: < 0.008233, -0.001269, 0.001269> + 10284: < 0.008323, -0.000852, 0.000852> + 10285: < 0.008350, -0.000426, 0.000854> + 10286: < 0.008305, -0.000424, 0.001278> + 10287: < 0.008278, -0.000848, 0.001275> + 10288: < 0.008350, -0.000426, 0.000854> + 10289: < 0.008359, 0.000000, 0.000855> + 10290: < 0.008314, 0.000000, 0.001280> + 10291: < 0.008305, -0.000424, 0.001278> + 10292: < 0.008359, 0.000000, 0.000855> + 10293: < 0.008350, 0.000426, 0.000854> + 10294: < 0.008305, 0.000424, 0.001278> + 10295: < 0.008314, 0.000000, 0.001280> + 10296: < 0.008350, 0.000426, 0.000854> + 10297: < 0.008323, 0.000852, 0.000852> + 10298: < 0.008278, 0.000848, 0.001275> + 10299: < 0.008305, 0.000424, 0.001278> + 10300: < 0.008323, 0.000852, 0.000852> + 10301: < 0.008278, 0.001275, 0.000848> + 10302: < 0.008233, 0.001269, 0.001269> + 10303: < 0.008278, 0.000848, 0.001275> + 10304: < 0.008278, 0.001275, 0.000848> + 10305: < 0.008215, 0.001694, 0.000842> + 10306: < 0.008171, 0.001686, 0.001261> + 10307: < 0.008233, 0.001269, 0.001269> + 10308: < 0.008215, 0.001694, 0.000842> + 10309: < 0.008134, 0.002109, 0.000836> + 10310: < 0.008090, 0.002099, 0.001252> + 10311: < 0.008171, 0.001686, 0.001261> + 10312: < 0.008134, 0.002109, 0.000836> + 10313: < 0.008036, 0.002519, 0.000829> + 10314: < 0.007992, 0.002507, 0.001241> + 10315: < 0.008090, 0.002099, 0.001252> + 10316: < 0.008036, 0.002519, 0.000829> + 10317: < 0.007919, 0.002922, 0.000822> + 10318: < 0.007876, 0.002908, 0.001230> + 10319: < 0.007992, 0.002507, 0.001241> + 10320: < 0.007919, 0.002922, 0.000822> + 10321: < 0.007785, 0.003318, 0.000814> + 10322: < 0.007743, 0.003302, 0.001219> + 10323: < 0.007876, 0.002908, 0.001230> + 10324: < 0.007785, 0.003318, 0.000814> + 10325: < 0.007632, 0.003704, 0.000807> + 10326: < 0.007591, 0.003686, 0.001207> + 10327: < 0.007743, 0.003302, 0.001219> + 10328: < 0.007632, 0.003704, 0.000807> + 10329: < 0.007462, 0.004081, 0.000799> + 10330: < 0.007423, 0.004061, 0.001196> + 10331: < 0.007591, 0.003686, 0.001207> + 10332: < 0.007462, 0.004081, 0.000799> + 10333: < 0.007275, 0.004446, 0.000792> + 10334: < 0.007236, 0.004424, 0.001185> + 10335: < 0.007423, 0.004061, 0.001196> + 10336: < 0.007275, 0.004446, 0.000792> + 10337: < 0.007069, 0.004800, 0.000786> + 10338: < 0.007032, 0.004776, 0.001176> + 10339: < 0.007236, 0.004424, 0.001185> + 10340: < 0.007069, 0.004800, 0.000786> + 10341: < 0.006846, 0.005140, 0.000781> + 10342: < 0.006810, 0.005114, 0.001168> + 10343: < 0.007032, 0.004776, 0.001176> + 10344: < 0.006846, 0.005140, 0.000781> + 10345: < 0.006605, 0.005466, 0.000777> + 10346: < 0.006570, 0.005438, 0.001161> + 10347: < 0.006810, 0.005114, 0.001168> + 10348: < 0.006605, 0.005466, 0.000777> + 10349: < 0.006346, 0.005776, 0.000774> + 10350: < 0.006313, 0.005747, 0.001157> + 10351: < 0.006570, 0.005438, 0.001161> + 10352: < 0.006313, -0.005747, 0.001157> + 10353: < 0.006570, -0.005438, 0.001161> + 10354: < 0.006523, -0.005401, 0.001541> + 10355: < 0.006269, -0.005707, 0.001536> + 10356: < 0.006570, -0.005438, 0.001161> + 10357: < 0.006810, -0.005114, 0.001168> + 10358: < 0.006761, -0.005080, 0.001550> + 10359: < 0.006523, -0.005401, 0.001541> + 10360: < 0.006810, -0.005114, 0.001168> + 10361: < 0.007032, -0.004776, 0.001176> + 10362: < 0.006980, -0.004744, 0.001561> + 10363: < 0.006761, -0.005080, 0.001550> + 10364: < 0.007032, -0.004776, 0.001176> + 10365: < 0.007236, -0.004424, 0.001185> + 10366: < 0.007183, -0.004395, 0.001574> + 10367: < 0.006980, -0.004744, 0.001561> + 10368: < 0.007236, -0.004424, 0.001185> + 10369: < 0.007423, -0.004061, 0.001196> + 10370: < 0.007367, -0.004034, 0.001588> + 10371: < 0.007183, -0.004395, 0.001574> + 10372: < 0.007423, -0.004061, 0.001196> + 10373: < 0.007591, -0.003686, 0.001207> + 10374: < 0.007535, -0.003663, 0.001603> + 10375: < 0.007367, -0.004034, 0.001588> + 10376: < 0.007591, -0.003686, 0.001207> + 10377: < 0.007743, -0.003302, 0.001219> + 10378: < 0.007684, -0.003281, 0.001619> + 10379: < 0.007535, -0.003663, 0.001603> + 10380: < 0.007743, -0.003302, 0.001219> + 10381: < 0.007876, -0.002908, 0.001230> + 10382: < 0.007817, -0.002890, 0.001635> + 10383: < 0.007684, -0.003281, 0.001619> + 10384: < 0.007876, -0.002908, 0.001230> + 10385: < 0.007992, -0.002507, 0.001241> + 10386: < 0.007932, -0.002492, 0.001650> + 10387: < 0.007817, -0.002890, 0.001635> + 10388: < 0.007992, -0.002507, 0.001241> + 10389: < 0.008090, -0.002099, 0.001252> + 10390: < 0.008029, -0.002086, 0.001663> + 10391: < 0.007932, -0.002492, 0.001650> + 10392: < 0.008090, -0.002099, 0.001252> + 10393: < 0.008171, -0.001686, 0.001261> + 10394: < 0.008109, -0.001676, 0.001676> + 10395: < 0.008029, -0.002086, 0.001663> + 10396: < 0.008171, -0.001686, 0.001261> + 10397: < 0.008233, -0.001269, 0.001269> + 10398: < 0.008171, -0.001261, 0.001686> + 10399: < 0.008109, -0.001676, 0.001676> + 10400: < 0.008233, -0.001269, 0.001269> + 10401: < 0.008278, -0.000848, 0.001275> + 10402: < 0.008215, -0.000842, 0.001694> + 10403: < 0.008171, -0.001261, 0.001686> + 10404: < 0.008278, -0.000848, 0.001275> + 10405: < 0.008305, -0.000424, 0.001278> + 10406: < 0.008242, -0.000422, 0.001699> + 10407: < 0.008215, -0.000842, 0.001694> + 10408: < 0.008305, -0.000424, 0.001278> + 10409: < 0.008314, 0.000000, 0.001280> + 10410: < 0.008251, 0.000000, 0.001701> + 10411: < 0.008242, -0.000422, 0.001699> + 10412: < 0.008314, 0.000000, 0.001280> + 10413: < 0.008305, 0.000424, 0.001278> + 10414: < 0.008242, 0.000422, 0.001699> + 10415: < 0.008251, 0.000000, 0.001701> + 10416: < 0.008305, 0.000424, 0.001278> + 10417: < 0.008278, 0.000848, 0.001275> + 10418: < 0.008215, 0.000842, 0.001694> + 10419: < 0.008242, 0.000422, 0.001699> + 10420: < 0.008278, 0.000848, 0.001275> + 10421: < 0.008233, 0.001269, 0.001269> + 10422: < 0.008171, 0.001261, 0.001686> + 10423: < 0.008215, 0.000842, 0.001694> + 10424: < 0.008233, 0.001269, 0.001269> + 10425: < 0.008171, 0.001686, 0.001261> + 10426: < 0.008109, 0.001676, 0.001676> + 10427: < 0.008171, 0.001261, 0.001686> + 10428: < 0.008171, 0.001686, 0.001261> + 10429: < 0.008090, 0.002099, 0.001252> + 10430: < 0.008029, 0.002086, 0.001663> + 10431: < 0.008109, 0.001676, 0.001676> + 10432: < 0.008090, 0.002099, 0.001252> + 10433: < 0.007992, 0.002507, 0.001241> + 10434: < 0.007932, 0.002492, 0.001650> + 10435: < 0.008029, 0.002086, 0.001663> + 10436: < 0.007992, 0.002507, 0.001241> + 10437: < 0.007876, 0.002908, 0.001230> + 10438: < 0.007817, 0.002890, 0.001635> + 10439: < 0.007932, 0.002492, 0.001650> + 10440: < 0.007876, 0.002908, 0.001230> + 10441: < 0.007743, 0.003302, 0.001219> + 10442: < 0.007684, 0.003281, 0.001619> + 10443: < 0.007817, 0.002890, 0.001635> + 10444: < 0.007743, 0.003302, 0.001219> + 10445: < 0.007591, 0.003686, 0.001207> + 10446: < 0.007535, 0.003663, 0.001603> + 10447: < 0.007684, 0.003281, 0.001619> + 10448: < 0.007591, 0.003686, 0.001207> + 10449: < 0.007423, 0.004061, 0.001196> + 10450: < 0.007367, 0.004034, 0.001588> + 10451: < 0.007535, 0.003663, 0.001603> + 10452: < 0.007423, 0.004061, 0.001196> + 10453: < 0.007236, 0.004424, 0.001185> + 10454: < 0.007183, 0.004395, 0.001574> + 10455: < 0.007367, 0.004034, 0.001588> + 10456: < 0.007236, 0.004424, 0.001185> + 10457: < 0.007032, 0.004776, 0.001176> + 10458: < 0.006980, 0.004744, 0.001561> + 10459: < 0.007183, 0.004395, 0.001574> + 10460: < 0.007032, 0.004776, 0.001176> + 10461: < 0.006810, 0.005114, 0.001168> + 10462: < 0.006761, 0.005080, 0.001550> + 10463: < 0.006980, 0.004744, 0.001561> + 10464: < 0.006810, 0.005114, 0.001168> + 10465: < 0.006570, 0.005438, 0.001161> + 10466: < 0.006523, 0.005401, 0.001541> + 10467: < 0.006761, 0.005080, 0.001550> + 10468: < 0.006570, 0.005438, 0.001161> + 10469: < 0.006313, 0.005747, 0.001157> + 10470: < 0.006269, 0.005707, 0.001536> + 10471: < 0.006523, 0.005401, 0.001541> + 10472: < 0.006269, -0.005707, 0.001536> + 10473: < 0.006523, -0.005401, 0.001541> + 10474: < 0.006464, -0.005355, 0.001915> + 10475: < 0.006212, -0.005657, 0.001908> + 10476: < 0.006523, -0.005401, 0.001541> + 10477: < 0.006761, -0.005080, 0.001550> + 10478: < 0.006698, -0.005037, 0.001926> + 10479: < 0.006464, -0.005355, 0.001915> + 10480: < 0.006761, -0.005080, 0.001550> + 10481: < 0.006980, -0.004744, 0.001561> + 10482: < 0.006915, -0.004705, 0.001940> + 10483: < 0.006698, -0.005037, 0.001926> + 10484: < 0.006980, -0.004744, 0.001561> + 10485: < 0.007183, -0.004395, 0.001574> + 10486: < 0.007115, -0.004360, 0.001957> + 10487: < 0.006915, -0.004705, 0.001940> + 10488: < 0.007183, -0.004395, 0.001574> + 10489: < 0.007367, -0.004034, 0.001588> + 10490: < 0.007297, -0.004002, 0.001975> + 10491: < 0.007115, -0.004360, 0.001957> + 10492: < 0.007367, -0.004034, 0.001588> + 10493: < 0.007535, -0.003663, 0.001603> + 10494: < 0.007462, -0.003634, 0.001995> + 10495: < 0.007297, -0.004002, 0.001975> + 10496: < 0.007535, -0.003663, 0.001603> + 10497: < 0.007684, -0.003281, 0.001619> + 10498: < 0.007610, -0.003255, 0.002015> + 10499: < 0.007462, -0.003634, 0.001995> + 10500: < 0.007684, -0.003281, 0.001619> + 10501: < 0.007817, -0.002890, 0.001635> + 10502: < 0.007740, -0.002868, 0.002035> + 10503: < 0.007610, -0.003255, 0.002015> + 10504: < 0.007817, -0.002890, 0.001635> + 10505: < 0.007932, -0.002492, 0.001650> + 10506: < 0.007854, -0.002473, 0.002053> + 10507: < 0.007740, -0.002868, 0.002035> + 10508: < 0.007932, -0.002492, 0.001650> + 10509: < 0.008029, -0.002086, 0.001663> + 10510: < 0.007950, -0.002071, 0.002071> + 10511: < 0.007854, -0.002473, 0.002053> + 10512: < 0.008029, -0.002086, 0.001663> + 10513: < 0.008109, -0.001676, 0.001676> + 10514: < 0.008029, -0.001663, 0.002086> + 10515: < 0.007950, -0.002071, 0.002071> + 10516: < 0.008109, -0.001676, 0.001676> + 10517: < 0.008171, -0.001261, 0.001686> + 10518: < 0.008090, -0.001252, 0.002099> + 10519: < 0.008029, -0.001663, 0.002086> + 10520: < 0.008171, -0.001261, 0.001686> + 10521: < 0.008215, -0.000842, 0.001694> + 10522: < 0.008134, -0.000836, 0.002109> + 10523: < 0.008090, -0.001252, 0.002099> + 10524: < 0.008215, -0.000842, 0.001694> + 10525: < 0.008242, -0.000422, 0.001699> + 10526: < 0.008161, -0.000419, 0.002116> + 10527: < 0.008134, -0.000836, 0.002109> + 10528: < 0.008242, -0.000422, 0.001699> + 10529: < 0.008251, 0.000000, 0.001701> + 10530: < 0.008169, 0.000000, 0.002118> + 10531: < 0.008161, -0.000419, 0.002116> + 10532: < 0.008251, 0.000000, 0.001701> + 10533: < 0.008242, 0.000422, 0.001699> + 10534: < 0.008161, 0.000419, 0.002116> + 10535: < 0.008169, 0.000000, 0.002118> + 10536: < 0.008242, 0.000422, 0.001699> + 10537: < 0.008215, 0.000842, 0.001694> + 10538: < 0.008134, 0.000836, 0.002109> + 10539: < 0.008161, 0.000419, 0.002116> + 10540: < 0.008215, 0.000842, 0.001694> + 10541: < 0.008171, 0.001261, 0.001686> + 10542: < 0.008090, 0.001252, 0.002099> + 10543: < 0.008134, 0.000836, 0.002109> + 10544: < 0.008171, 0.001261, 0.001686> + 10545: < 0.008109, 0.001676, 0.001676> + 10546: < 0.008029, 0.001663, 0.002086> + 10547: < 0.008090, 0.001252, 0.002099> + 10548: < 0.008109, 0.001676, 0.001676> + 10549: < 0.008029, 0.002086, 0.001663> + 10550: < 0.007950, 0.002071, 0.002071> + 10551: < 0.008029, 0.001663, 0.002086> + 10552: < 0.008029, 0.002086, 0.001663> + 10553: < 0.007932, 0.002492, 0.001650> + 10554: < 0.007854, 0.002473, 0.002053> + 10555: < 0.007950, 0.002071, 0.002071> + 10556: < 0.007932, 0.002492, 0.001650> + 10557: < 0.007817, 0.002890, 0.001635> + 10558: < 0.007740, 0.002868, 0.002035> + 10559: < 0.007854, 0.002473, 0.002053> + 10560: < 0.007817, 0.002890, 0.001635> + 10561: < 0.007684, 0.003281, 0.001619> + 10562: < 0.007610, 0.003255, 0.002015> + 10563: < 0.007740, 0.002868, 0.002035> + 10564: < 0.007684, 0.003281, 0.001619> + 10565: < 0.007535, 0.003663, 0.001603> + 10566: < 0.007462, 0.003634, 0.001995> + 10567: < 0.007610, 0.003255, 0.002015> + 10568: < 0.007535, 0.003663, 0.001603> + 10569: < 0.007367, 0.004034, 0.001588> + 10570: < 0.007297, 0.004002, 0.001975> + 10571: < 0.007462, 0.003634, 0.001995> + 10572: < 0.007367, 0.004034, 0.001588> + 10573: < 0.007183, 0.004395, 0.001574> + 10574: < 0.007115, 0.004360, 0.001957> + 10575: < 0.007297, 0.004002, 0.001975> + 10576: < 0.007183, 0.004395, 0.001574> + 10577: < 0.006980, 0.004744, 0.001561> + 10578: < 0.006915, 0.004705, 0.001940> + 10579: < 0.007115, 0.004360, 0.001957> + 10580: < 0.006980, 0.004744, 0.001561> + 10581: < 0.006761, 0.005080, 0.001550> + 10582: < 0.006698, 0.005037, 0.001926> + 10583: < 0.006915, 0.004705, 0.001940> + 10584: < 0.006761, 0.005080, 0.001550> + 10585: < 0.006523, 0.005401, 0.001541> + 10586: < 0.006464, 0.005355, 0.001915> + 10587: < 0.006698, 0.005037, 0.001926> + 10588: < 0.006523, 0.005401, 0.001541> + 10589: < 0.006269, 0.005707, 0.001536> + 10590: < 0.006212, 0.005657, 0.001908> + 10591: < 0.006464, 0.005355, 0.001915> + 10592: < 0.006212, -0.005657, 0.001908> + 10593: < 0.006464, -0.005355, 0.001915> + 10594: < 0.006393, -0.005301, 0.002281> + 10595: < 0.006146, -0.005599, 0.002272> + 10596: < 0.006464, -0.005355, 0.001915> + 10597: < 0.006698, -0.005037, 0.001926> + 10598: < 0.006623, -0.004987, 0.002295> + 10599: < 0.006393, -0.005301, 0.002281> + 10600: < 0.006698, -0.005037, 0.001926> + 10601: < 0.006915, -0.004705, 0.001940> + 10602: < 0.006836, -0.004659, 0.002313> + 10603: < 0.006623, -0.004987, 0.002295> + 10604: < 0.006915, -0.004705, 0.001940> + 10605: < 0.007115, -0.004360, 0.001957> + 10606: < 0.007033, -0.004318, 0.002333> + 10607: < 0.006836, -0.004659, 0.002313> + 10608: < 0.007115, -0.004360, 0.001957> + 10609: < 0.007297, -0.004002, 0.001975> + 10610: < 0.007212, -0.003965, 0.002356> + 10611: < 0.007033, -0.004318, 0.002333> + 10612: < 0.007297, -0.004002, 0.001975> + 10613: < 0.007462, -0.003634, 0.001995> + 10614: < 0.007374, -0.003601, 0.002380> + 10615: < 0.007212, -0.003965, 0.002356> + 10616: < 0.007462, -0.003634, 0.001995> + 10617: < 0.007610, -0.003255, 0.002015> + 10618: < 0.007519, -0.003227, 0.002405> + 10619: < 0.007374, -0.003601, 0.002380> + 10620: < 0.007610, -0.003255, 0.002015> + 10621: < 0.007740, -0.002868, 0.002035> + 10622: < 0.007648, -0.002843, 0.002429> + 10623: < 0.007519, -0.003227, 0.002405> + 10624: < 0.007740, -0.002868, 0.002035> + 10625: < 0.007854, -0.002473, 0.002053> + 10626: < 0.007759, -0.002452, 0.002452> + 10627: < 0.007648, -0.002843, 0.002429> + 10628: < 0.007854, -0.002473, 0.002053> + 10629: < 0.007950, -0.002071, 0.002071> + 10630: < 0.007854, -0.002053, 0.002473> + 10631: < 0.007759, -0.002452, 0.002452> + 10632: < 0.007950, -0.002071, 0.002071> + 10633: < 0.008029, -0.001663, 0.002086> + 10634: < 0.007932, -0.001650, 0.002492> + 10635: < 0.007854, -0.002053, 0.002473> + 10636: < 0.008029, -0.001663, 0.002086> + 10637: < 0.008090, -0.001252, 0.002099> + 10638: < 0.007992, -0.001241, 0.002507> + 10639: < 0.007932, -0.001650, 0.002492> + 10640: < 0.008090, -0.001252, 0.002099> + 10641: < 0.008134, -0.000836, 0.002109> + 10642: < 0.008036, -0.000829, 0.002519> + 10643: < 0.007992, -0.001241, 0.002507> + 10644: < 0.008134, -0.000836, 0.002109> + 10645: < 0.008161, -0.000419, 0.002116> + 10646: < 0.008062, -0.000415, 0.002527> + 10647: < 0.008036, -0.000829, 0.002519> + 10648: < 0.008161, -0.000419, 0.002116> + 10649: < 0.008169, 0.000000, 0.002118> + 10650: < 0.008070, 0.000000, 0.002530> + 10651: < 0.008062, -0.000415, 0.002527> + 10652: < 0.008169, 0.000000, 0.002118> + 10653: < 0.008161, 0.000419, 0.002116> + 10654: < 0.008062, 0.000415, 0.002527> + 10655: < 0.008070, 0.000000, 0.002530> + 10656: < 0.008161, 0.000419, 0.002116> + 10657: < 0.008134, 0.000836, 0.002109> + 10658: < 0.008036, 0.000829, 0.002519> + 10659: < 0.008062, 0.000415, 0.002527> + 10660: < 0.008134, 0.000836, 0.002109> + 10661: < 0.008090, 0.001252, 0.002099> + 10662: < 0.007992, 0.001241, 0.002507> + 10663: < 0.008036, 0.000829, 0.002519> + 10664: < 0.008090, 0.001252, 0.002099> + 10665: < 0.008029, 0.001663, 0.002086> + 10666: < 0.007932, 0.001650, 0.002492> + 10667: < 0.007992, 0.001241, 0.002507> + 10668: < 0.008029, 0.001663, 0.002086> + 10669: < 0.007950, 0.002071, 0.002071> + 10670: < 0.007854, 0.002053, 0.002473> + 10671: < 0.007932, 0.001650, 0.002492> + 10672: < 0.007950, 0.002071, 0.002071> + 10673: < 0.007854, 0.002473, 0.002053> + 10674: < 0.007759, 0.002452, 0.002452> + 10675: < 0.007854, 0.002053, 0.002473> + 10676: < 0.007854, 0.002473, 0.002053> + 10677: < 0.007740, 0.002868, 0.002035> + 10678: < 0.007648, 0.002843, 0.002429> + 10679: < 0.007759, 0.002452, 0.002452> + 10680: < 0.007740, 0.002868, 0.002035> + 10681: < 0.007610, 0.003255, 0.002015> + 10682: < 0.007519, 0.003227, 0.002405> + 10683: < 0.007648, 0.002843, 0.002429> + 10684: < 0.007610, 0.003255, 0.002015> + 10685: < 0.007462, 0.003634, 0.001995> + 10686: < 0.007374, 0.003601, 0.002380> + 10687: < 0.007519, 0.003227, 0.002405> + 10688: < 0.007462, 0.003634, 0.001995> + 10689: < 0.007297, 0.004002, 0.001975> + 10690: < 0.007212, 0.003965, 0.002356> + 10691: < 0.007374, 0.003601, 0.002380> + 10692: < 0.007297, 0.004002, 0.001975> + 10693: < 0.007115, 0.004360, 0.001957> + 10694: < 0.007033, 0.004318, 0.002333> + 10695: < 0.007212, 0.003965, 0.002356> + 10696: < 0.007115, 0.004360, 0.001957> + 10697: < 0.006915, 0.004705, 0.001940> + 10698: < 0.006836, 0.004659, 0.002313> + 10699: < 0.007033, 0.004318, 0.002333> + 10700: < 0.006915, 0.004705, 0.001940> + 10701: < 0.006698, 0.005037, 0.001926> + 10702: < 0.006623, 0.004987, 0.002295> + 10703: < 0.006836, 0.004659, 0.002313> + 10704: < 0.006698, 0.005037, 0.001926> + 10705: < 0.006464, 0.005355, 0.001915> + 10706: < 0.006393, 0.005301, 0.002281> + 10707: < 0.006623, 0.004987, 0.002295> + 10708: < 0.006464, 0.005355, 0.001915> + 10709: < 0.006212, 0.005657, 0.001908> + 10710: < 0.006146, 0.005599, 0.002272> + 10711: < 0.006393, 0.005301, 0.002281> + 10712: < 0.006146, -0.005599, 0.002272> + 10713: < 0.006393, -0.005301, 0.002281> + 10714: < 0.006311, -0.005240, 0.002638> + 10715: < 0.006069, -0.005533, 0.002627> + 10716: < 0.006393, -0.005301, 0.002281> + 10717: < 0.006623, -0.004987, 0.002295> + 10718: < 0.006537, -0.004931, 0.002655> + 10719: < 0.006311, -0.005240, 0.002638> + 10720: < 0.006623, -0.004987, 0.002295> + 10721: < 0.006836, -0.004659, 0.002313> + 10722: < 0.006745, -0.004609, 0.002676> + 10723: < 0.006537, -0.004931, 0.002655> + 10724: < 0.006836, -0.004659, 0.002313> + 10725: < 0.007033, -0.004318, 0.002333> + 10726: < 0.006937, -0.004273, 0.002701> + 10727: < 0.006745, -0.004609, 0.002676> + 10728: < 0.007033, -0.004318, 0.002333> + 10729: < 0.007212, -0.003965, 0.002356> + 10730: < 0.007112, -0.003924, 0.002729> + 10731: < 0.006937, -0.004273, 0.002701> + 10732: < 0.007212, -0.003965, 0.002356> + 10733: < 0.007374, -0.003601, 0.002380> + 10734: < 0.007270, -0.003565, 0.002758> + 10735: < 0.007112, -0.003924, 0.002729> + 10736: < 0.007374, -0.003601, 0.002380> + 10737: < 0.007519, -0.003227, 0.002405> + 10738: < 0.007412, -0.003195, 0.002787> + 10739: < 0.007270, -0.003565, 0.002758> + 10740: < 0.007519, -0.003227, 0.002405> + 10741: < 0.007648, -0.002843, 0.002429> + 10742: < 0.007538, -0.002816, 0.002816> + 10743: < 0.007412, -0.003195, 0.002787> + 10744: < 0.007648, -0.002843, 0.002429> + 10745: < 0.007759, -0.002452, 0.002452> + 10746: < 0.007648, -0.002429, 0.002843> + 10747: < 0.007538, -0.002816, 0.002816> + 10748: < 0.007759, -0.002452, 0.002452> + 10749: < 0.007854, -0.002053, 0.002473> + 10750: < 0.007740, -0.002035, 0.002868> + 10751: < 0.007648, -0.002429, 0.002843> + 10752: < 0.007854, -0.002053, 0.002473> + 10753: < 0.007932, -0.001650, 0.002492> + 10754: < 0.007817, -0.001635, 0.002890> + 10755: < 0.007740, -0.002035, 0.002868> + 10756: < 0.007932, -0.001650, 0.002492> + 10757: < 0.007992, -0.001241, 0.002507> + 10758: < 0.007876, -0.001230, 0.002908> + 10759: < 0.007817, -0.001635, 0.002890> + 10760: < 0.007992, -0.001241, 0.002507> + 10761: < 0.008036, -0.000829, 0.002519> + 10762: < 0.007919, -0.000822, 0.002922> + 10763: < 0.007876, -0.001230, 0.002908> + 10764: < 0.008036, -0.000829, 0.002519> + 10765: < 0.008062, -0.000415, 0.002527> + 10766: < 0.007945, -0.000412, 0.002931> + 10767: < 0.007919, -0.000822, 0.002922> + 10768: < 0.008062, -0.000415, 0.002527> + 10769: < 0.008070, 0.000000, 0.002530> + 10770: < 0.007953, 0.000000, 0.002934> + 10771: < 0.007945, -0.000412, 0.002931> + 10772: < 0.008070, 0.000000, 0.002530> + 10773: < 0.008062, 0.000415, 0.002527> + 10774: < 0.007945, 0.000412, 0.002931> + 10775: < 0.007953, 0.000000, 0.002934> + 10776: < 0.008062, 0.000415, 0.002527> + 10777: < 0.008036, 0.000829, 0.002519> + 10778: < 0.007919, 0.000822, 0.002922> + 10779: < 0.007945, 0.000412, 0.002931> + 10780: < 0.008036, 0.000829, 0.002519> + 10781: < 0.007992, 0.001241, 0.002507> + 10782: < 0.007876, 0.001230, 0.002908> + 10783: < 0.007919, 0.000822, 0.002922> + 10784: < 0.007992, 0.001241, 0.002507> + 10785: < 0.007932, 0.001650, 0.002492> + 10786: < 0.007817, 0.001635, 0.002890> + 10787: < 0.007876, 0.001230, 0.002908> + 10788: < 0.007932, 0.001650, 0.002492> + 10789: < 0.007854, 0.002053, 0.002473> + 10790: < 0.007740, 0.002035, 0.002868> + 10791: < 0.007817, 0.001635, 0.002890> + 10792: < 0.007854, 0.002053, 0.002473> + 10793: < 0.007759, 0.002452, 0.002452> + 10794: < 0.007648, 0.002429, 0.002843> + 10795: < 0.007740, 0.002035, 0.002868> + 10796: < 0.007759, 0.002452, 0.002452> + 10797: < 0.007648, 0.002843, 0.002429> + 10798: < 0.007538, 0.002816, 0.002816> + 10799: < 0.007648, 0.002429, 0.002843> + 10800: < 0.007648, 0.002843, 0.002429> + 10801: < 0.007519, 0.003227, 0.002405> + 10802: < 0.007412, 0.003195, 0.002787> + 10803: < 0.007538, 0.002816, 0.002816> + 10804: < 0.007519, 0.003227, 0.002405> + 10805: < 0.007374, 0.003601, 0.002380> + 10806: < 0.007270, 0.003565, 0.002758> + 10807: < 0.007412, 0.003195, 0.002787> + 10808: < 0.007374, 0.003601, 0.002380> + 10809: < 0.007212, 0.003965, 0.002356> + 10810: < 0.007112, 0.003924, 0.002729> + 10811: < 0.007270, 0.003565, 0.002758> + 10812: < 0.007212, 0.003965, 0.002356> + 10813: < 0.007033, 0.004318, 0.002333> + 10814: < 0.006937, 0.004273, 0.002701> + 10815: < 0.007112, 0.003924, 0.002729> + 10816: < 0.007033, 0.004318, 0.002333> + 10817: < 0.006836, 0.004659, 0.002313> + 10818: < 0.006745, 0.004609, 0.002676> + 10819: < 0.006937, 0.004273, 0.002701> + 10820: < 0.006836, 0.004659, 0.002313> + 10821: < 0.006623, 0.004987, 0.002295> + 10822: < 0.006537, 0.004931, 0.002655> + 10823: < 0.006745, 0.004609, 0.002676> + 10824: < 0.006623, 0.004987, 0.002295> + 10825: < 0.006393, 0.005301, 0.002281> + 10826: < 0.006311, 0.005240, 0.002638> + 10827: < 0.006537, 0.004931, 0.002655> + 10828: < 0.006393, 0.005301, 0.002281> + 10829: < 0.006146, 0.005599, 0.002272> + 10830: < 0.006069, 0.005533, 0.002627> + 10831: < 0.006311, 0.005240, 0.002638> + 10832: < 0.006069, -0.005533, 0.002627> + 10833: < 0.006311, -0.005240, 0.002638> + 10834: < 0.006219, -0.005172, 0.002984> + 10835: < 0.005983, -0.005459, 0.002971> + 10836: < 0.006311, -0.005240, 0.002638> + 10837: < 0.006537, -0.004931, 0.002655> + 10838: < 0.006439, -0.004870, 0.003004> + 10839: < 0.006219, -0.005172, 0.002984> + 10840: < 0.006537, -0.004931, 0.002655> + 10841: < 0.006745, -0.004609, 0.002676> + 10842: < 0.006641, -0.004553, 0.003030> + 10843: < 0.006439, -0.004870, 0.003004> + 10844: < 0.006745, -0.004609, 0.002676> + 10845: < 0.006937, -0.004273, 0.002701> + 10846: < 0.006828, -0.004223, 0.003060> + 10847: < 0.006641, -0.004553, 0.003030> + 10848: < 0.006937, -0.004273, 0.002701> + 10849: < 0.007112, -0.003924, 0.002729> + 10850: < 0.006998, -0.003880, 0.003093> + 10851: < 0.006828, -0.004223, 0.003060> + 10852: < 0.007112, -0.003924, 0.002729> + 10853: < 0.007270, -0.003565, 0.002758> + 10854: < 0.007152, -0.003526, 0.003127> + 10855: < 0.006998, -0.003880, 0.003093> + 10856: < 0.007270, -0.003565, 0.002758> + 10857: < 0.007412, -0.003195, 0.002787> + 10858: < 0.007290, -0.003162, 0.003162> + 10859: < 0.007152, -0.003526, 0.003127> + 10860: < 0.007412, -0.003195, 0.002787> + 10861: < 0.007538, -0.002816, 0.002816> + 10862: < 0.007412, -0.002787, 0.003195> + 10863: < 0.007290, -0.003162, 0.003162> + 10864: < 0.007538, -0.002816, 0.002816> + 10865: < 0.007648, -0.002429, 0.002843> + 10866: < 0.007519, -0.002405, 0.003227> + 10867: < 0.007412, -0.002787, 0.003195> + 10868: < 0.007648, -0.002429, 0.002843> + 10869: < 0.007740, -0.002035, 0.002868> + 10870: < 0.007610, -0.002015, 0.003255> + 10871: < 0.007519, -0.002405, 0.003227> + 10872: < 0.007740, -0.002035, 0.002868> + 10873: < 0.007817, -0.001635, 0.002890> + 10874: < 0.007684, -0.001619, 0.003281> + 10875: < 0.007610, -0.002015, 0.003255> + 10876: < 0.007817, -0.001635, 0.002890> + 10877: < 0.007876, -0.001230, 0.002908> + 10878: < 0.007743, -0.001219, 0.003302> + 10879: < 0.007684, -0.001619, 0.003281> + 10880: < 0.007876, -0.001230, 0.002908> + 10881: < 0.007919, -0.000822, 0.002922> + 10882: < 0.007785, -0.000814, 0.003318> + 10883: < 0.007743, -0.001219, 0.003302> + 10884: < 0.007919, -0.000822, 0.002922> + 10885: < 0.007945, -0.000412, 0.002931> + 10886: < 0.007810, -0.000408, 0.003328> + 10887: < 0.007785, -0.000814, 0.003318> + 10888: < 0.007945, -0.000412, 0.002931> + 10889: < 0.007953, 0.000000, 0.002934> + 10890: < 0.007818, 0.000000, 0.003331> + 10891: < 0.007810, -0.000408, 0.003328> + 10892: < 0.007953, 0.000000, 0.002934> + 10893: < 0.007945, 0.000412, 0.002931> + 10894: < 0.007810, 0.000408, 0.003328> + 10895: < 0.007818, 0.000000, 0.003331> + 10896: < 0.007945, 0.000412, 0.002931> + 10897: < 0.007919, 0.000822, 0.002922> + 10898: < 0.007785, 0.000814, 0.003318> + 10899: < 0.007810, 0.000408, 0.003328> + 10900: < 0.007919, 0.000822, 0.002922> + 10901: < 0.007876, 0.001230, 0.002908> + 10902: < 0.007743, 0.001219, 0.003302> + 10903: < 0.007785, 0.000814, 0.003318> + 10904: < 0.007876, 0.001230, 0.002908> + 10905: < 0.007817, 0.001635, 0.002890> + 10906: < 0.007684, 0.001619, 0.003281> + 10907: < 0.007743, 0.001219, 0.003302> + 10908: < 0.007817, 0.001635, 0.002890> + 10909: < 0.007740, 0.002035, 0.002868> + 10910: < 0.007610, 0.002015, 0.003255> + 10911: < 0.007684, 0.001619, 0.003281> + 10912: < 0.007740, 0.002035, 0.002868> + 10913: < 0.007648, 0.002429, 0.002843> + 10914: < 0.007519, 0.002405, 0.003227> + 10915: < 0.007610, 0.002015, 0.003255> + 10916: < 0.007648, 0.002429, 0.002843> + 10917: < 0.007538, 0.002816, 0.002816> + 10918: < 0.007412, 0.002787, 0.003195> + 10919: < 0.007519, 0.002405, 0.003227> + 10920: < 0.007538, 0.002816, 0.002816> + 10921: < 0.007412, 0.003195, 0.002787> + 10922: < 0.007290, 0.003162, 0.003162> + 10923: < 0.007412, 0.002787, 0.003195> + 10924: < 0.007412, 0.003195, 0.002787> + 10925: < 0.007270, 0.003565, 0.002758> + 10926: < 0.007152, 0.003526, 0.003127> + 10927: < 0.007290, 0.003162, 0.003162> + 10928: < 0.007270, 0.003565, 0.002758> + 10929: < 0.007112, 0.003924, 0.002729> + 10930: < 0.006998, 0.003880, 0.003093> + 10931: < 0.007152, 0.003526, 0.003127> + 10932: < 0.007112, 0.003924, 0.002729> + 10933: < 0.006937, 0.004273, 0.002701> + 10934: < 0.006828, 0.004223, 0.003060> + 10935: < 0.006998, 0.003880, 0.003093> + 10936: < 0.006937, 0.004273, 0.002701> + 10937: < 0.006745, 0.004609, 0.002676> + 10938: < 0.006641, 0.004553, 0.003030> + 10939: < 0.006828, 0.004223, 0.003060> + 10940: < 0.006745, 0.004609, 0.002676> + 10941: < 0.006537, 0.004931, 0.002655> + 10942: < 0.006439, 0.004870, 0.003004> + 10943: < 0.006641, 0.004553, 0.003030> + 10944: < 0.006537, 0.004931, 0.002655> + 10945: < 0.006311, 0.005240, 0.002638> + 10946: < 0.006219, 0.005172, 0.002984> + 10947: < 0.006439, 0.004870, 0.003004> + 10948: < 0.006311, 0.005240, 0.002638> + 10949: < 0.006069, 0.005533, 0.002627> + 10950: < 0.005983, 0.005459, 0.002971> + 10951: < 0.006219, 0.005172, 0.002984> + 10952: < 0.005983, -0.005459, 0.002971> + 10953: < 0.006219, -0.005172, 0.002984> + 10954: < 0.006117, -0.005099, 0.003318> + 10955: < 0.005888, -0.005379, 0.003302> + 10956: < 0.006219, -0.005172, 0.002984> + 10957: < 0.006439, -0.004870, 0.003004> + 10958: < 0.006329, -0.004804, 0.003342> + 10959: < 0.006117, -0.005099, 0.003318> + 10960: < 0.006439, -0.004870, 0.003004> + 10961: < 0.006641, -0.004553, 0.003030> + 10962: < 0.006525, -0.004494, 0.003372> + 10963: < 0.006329, -0.004804, 0.003342> + 10964: < 0.006641, -0.004553, 0.003030> + 10965: < 0.006828, -0.004223, 0.003060> + 10966: < 0.006705, -0.004170, 0.003407> + 10967: < 0.006525, -0.004494, 0.003372> + 10968: < 0.006828, -0.004223, 0.003060> + 10969: < 0.006998, -0.003880, 0.003093> + 10970: < 0.006870, -0.003834, 0.003446> + 10971: < 0.006705, -0.004170, 0.003407> + 10972: < 0.006998, -0.003880, 0.003093> + 10973: < 0.007152, -0.003526, 0.003127> + 10974: < 0.007018, -0.003486, 0.003486> + 10975: < 0.006870, -0.003834, 0.003446> + 10976: < 0.007152, -0.003526, 0.003127> + 10977: < 0.007290, -0.003162, 0.003162> + 10978: < 0.007152, -0.003127, 0.003526> + 10979: < 0.007018, -0.003486, 0.003486> + 10980: < 0.007290, -0.003162, 0.003162> + 10981: < 0.007412, -0.002787, 0.003195> + 10982: < 0.007270, -0.002758, 0.003565> + 10983: < 0.007152, -0.003127, 0.003526> + 10984: < 0.007412, -0.002787, 0.003195> + 10985: < 0.007519, -0.002405, 0.003227> + 10986: < 0.007374, -0.002380, 0.003601> + 10987: < 0.007270, -0.002758, 0.003565> + 10988: < 0.007519, -0.002405, 0.003227> + 10989: < 0.007610, -0.002015, 0.003255> + 10990: < 0.007462, -0.001995, 0.003634> + 10991: < 0.007374, -0.002380, 0.003601> + 10992: < 0.007610, -0.002015, 0.003255> + 10993: < 0.007684, -0.001619, 0.003281> + 10994: < 0.007535, -0.001603, 0.003663> + 10995: < 0.007462, -0.001995, 0.003634> + 10996: < 0.007684, -0.001619, 0.003281> + 10997: < 0.007743, -0.001219, 0.003302> + 10998: < 0.007591, -0.001207, 0.003686> + 10999: < 0.007535, -0.001603, 0.003663> + 11000: < 0.007743, -0.001219, 0.003302> + 11001: < 0.007785, -0.000814, 0.003318> + 11002: < 0.007632, -0.000807, 0.003704> + 11003: < 0.007591, -0.001207, 0.003686> + 11004: < 0.007785, -0.000814, 0.003318> + 11005: < 0.007810, -0.000408, 0.003328> + 11006: < 0.007657, -0.000404, 0.003716> + 11007: < 0.007632, -0.000807, 0.003704> + 11008: < 0.007810, -0.000408, 0.003328> + 11009: < 0.007818, 0.000000, 0.003331> + 11010: < 0.007665, 0.000000, 0.003720> + 11011: < 0.007657, -0.000404, 0.003716> + 11012: < 0.007818, 0.000000, 0.003331> + 11013: < 0.007810, 0.000408, 0.003328> + 11014: < 0.007657, 0.000404, 0.003716> + 11015: < 0.007665, 0.000000, 0.003720> + 11016: < 0.007810, 0.000408, 0.003328> + 11017: < 0.007785, 0.000814, 0.003318> + 11018: < 0.007632, 0.000807, 0.003704> + 11019: < 0.007657, 0.000404, 0.003716> + 11020: < 0.007785, 0.000814, 0.003318> + 11021: < 0.007743, 0.001219, 0.003302> + 11022: < 0.007591, 0.001207, 0.003686> + 11023: < 0.007632, 0.000807, 0.003704> + 11024: < 0.007743, 0.001219, 0.003302> + 11025: < 0.007684, 0.001619, 0.003281> + 11026: < 0.007535, 0.001603, 0.003663> + 11027: < 0.007591, 0.001207, 0.003686> + 11028: < 0.007684, 0.001619, 0.003281> + 11029: < 0.007610, 0.002015, 0.003255> + 11030: < 0.007462, 0.001995, 0.003634> + 11031: < 0.007535, 0.001603, 0.003663> + 11032: < 0.007610, 0.002015, 0.003255> + 11033: < 0.007519, 0.002405, 0.003227> + 11034: < 0.007374, 0.002380, 0.003601> + 11035: < 0.007462, 0.001995, 0.003634> + 11036: < 0.007519, 0.002405, 0.003227> + 11037: < 0.007412, 0.002787, 0.003195> + 11038: < 0.007270, 0.002758, 0.003565> + 11039: < 0.007374, 0.002380, 0.003601> + 11040: < 0.007412, 0.002787, 0.003195> + 11041: < 0.007290, 0.003162, 0.003162> + 11042: < 0.007152, 0.003127, 0.003526> + 11043: < 0.007270, 0.002758, 0.003565> + 11044: < 0.007290, 0.003162, 0.003162> + 11045: < 0.007152, 0.003526, 0.003127> + 11046: < 0.007018, 0.003486, 0.003486> + 11047: < 0.007152, 0.003127, 0.003526> + 11048: < 0.007152, 0.003526, 0.003127> + 11049: < 0.006998, 0.003880, 0.003093> + 11050: < 0.006870, 0.003834, 0.003446> + 11051: < 0.007018, 0.003486, 0.003486> + 11052: < 0.006998, 0.003880, 0.003093> + 11053: < 0.006828, 0.004223, 0.003060> + 11054: < 0.006705, 0.004170, 0.003407> + 11055: < 0.006870, 0.003834, 0.003446> + 11056: < 0.006828, 0.004223, 0.003060> + 11057: < 0.006641, 0.004553, 0.003030> + 11058: < 0.006525, 0.004494, 0.003372> + 11059: < 0.006705, 0.004170, 0.003407> + 11060: < 0.006641, 0.004553, 0.003030> + 11061: < 0.006439, 0.004870, 0.003004> + 11062: < 0.006329, 0.004804, 0.003342> + 11063: < 0.006525, 0.004494, 0.003372> + 11064: < 0.006439, 0.004870, 0.003004> + 11065: < 0.006219, 0.005172, 0.002984> + 11066: < 0.006117, 0.005099, 0.003318> + 11067: < 0.006329, 0.004804, 0.003342> + 11068: < 0.006219, 0.005172, 0.002984> + 11069: < 0.005983, 0.005459, 0.002971> + 11070: < 0.005888, 0.005379, 0.003302> + 11071: < 0.006117, 0.005099, 0.003318> + 11072: < 0.005888, -0.005379, 0.003302> + 11073: < 0.006117, -0.005099, 0.003318> + 11074: < 0.006006, -0.005023, 0.003637> + 11075: < 0.005786, -0.005294, 0.003619> + 11076: < 0.006117, -0.005099, 0.003318> + 11077: < 0.006329, -0.004804, 0.003342> + 11078: < 0.006210, -0.004736, 0.003666> + 11079: < 0.006006, -0.005023, 0.003637> + 11080: < 0.006329, -0.004804, 0.003342> + 11081: < 0.006525, -0.004494, 0.003372> + 11082: < 0.006397, -0.004434, 0.003701> + 11083: < 0.006210, -0.004736, 0.003666> + 11084: < 0.006525, -0.004494, 0.003372> + 11085: < 0.006705, -0.004170, 0.003407> + 11086: < 0.006570, -0.004117, 0.003743> + 11087: < 0.006397, -0.004434, 0.003701> + 11088: < 0.006705, -0.004170, 0.003407> + 11089: < 0.006870, -0.003834, 0.003446> + 11090: < 0.006727, -0.003788, 0.003788> + 11091: < 0.006570, -0.004117, 0.003743> + 11092: < 0.006870, -0.003834, 0.003446> + 11093: < 0.007018, -0.003486, 0.003486> + 11094: < 0.006870, -0.003446, 0.003834> + 11095: < 0.006727, -0.003788, 0.003788> + 11096: < 0.007018, -0.003486, 0.003486> + 11097: < 0.007152, -0.003127, 0.003526> + 11098: < 0.006998, -0.003093, 0.003880> + 11099: < 0.006870, -0.003446, 0.003834> + 11100: < 0.007152, -0.003127, 0.003526> + 11101: < 0.007270, -0.002758, 0.003565> + 11102: < 0.007112, -0.002729, 0.003924> + 11103: < 0.006998, -0.003093, 0.003880> + 11104: < 0.007270, -0.002758, 0.003565> + 11105: < 0.007374, -0.002380, 0.003601> + 11106: < 0.007212, -0.002356, 0.003965> + 11107: < 0.007112, -0.002729, 0.003924> + 11108: < 0.007374, -0.002380, 0.003601> + 11109: < 0.007462, -0.001995, 0.003634> + 11110: < 0.007297, -0.001975, 0.004002> + 11111: < 0.007212, -0.002356, 0.003965> + 11112: < 0.007462, -0.001995, 0.003634> + 11113: < 0.007535, -0.001603, 0.003663> + 11114: < 0.007367, -0.001588, 0.004034> + 11115: < 0.007297, -0.001975, 0.004002> + 11116: < 0.007535, -0.001603, 0.003663> + 11117: < 0.007591, -0.001207, 0.003686> + 11118: < 0.007423, -0.001196, 0.004061> + 11119: < 0.007367, -0.001588, 0.004034> + 11120: < 0.007591, -0.001207, 0.003686> + 11121: < 0.007632, -0.000807, 0.003704> + 11122: < 0.007462, -0.000799, 0.004081> + 11123: < 0.007423, -0.001196, 0.004061> + 11124: < 0.007632, -0.000807, 0.003704> + 11125: < 0.007657, -0.000404, 0.003716> + 11126: < 0.007487, -0.000400, 0.004093> + 11127: < 0.007462, -0.000799, 0.004081> + 11128: < 0.007657, -0.000404, 0.003716> + 11129: < 0.007665, 0.000000, 0.003720> + 11130: < 0.007495, 0.000000, 0.004098> + 11131: < 0.007487, -0.000400, 0.004093> + 11132: < 0.007665, 0.000000, 0.003720> + 11133: < 0.007657, 0.000404, 0.003716> + 11134: < 0.007487, 0.000400, 0.004093> + 11135: < 0.007495, 0.000000, 0.004098> + 11136: < 0.007657, 0.000404, 0.003716> + 11137: < 0.007632, 0.000807, 0.003704> + 11138: < 0.007462, 0.000799, 0.004081> + 11139: < 0.007487, 0.000400, 0.004093> + 11140: < 0.007632, 0.000807, 0.003704> + 11141: < 0.007591, 0.001207, 0.003686> + 11142: < 0.007423, 0.001196, 0.004061> + 11143: < 0.007462, 0.000799, 0.004081> + 11144: < 0.007591, 0.001207, 0.003686> + 11145: < 0.007535, 0.001603, 0.003663> + 11146: < 0.007367, 0.001588, 0.004034> + 11147: < 0.007423, 0.001196, 0.004061> + 11148: < 0.007535, 0.001603, 0.003663> + 11149: < 0.007462, 0.001995, 0.003634> + 11150: < 0.007297, 0.001975, 0.004002> + 11151: < 0.007367, 0.001588, 0.004034> + 11152: < 0.007462, 0.001995, 0.003634> + 11153: < 0.007374, 0.002380, 0.003601> + 11154: < 0.007212, 0.002356, 0.003965> + 11155: < 0.007297, 0.001975, 0.004002> + 11156: < 0.007374, 0.002380, 0.003601> + 11157: < 0.007270, 0.002758, 0.003565> + 11158: < 0.007112, 0.002729, 0.003924> + 11159: < 0.007212, 0.002356, 0.003965> + 11160: < 0.007270, 0.002758, 0.003565> + 11161: < 0.007152, 0.003127, 0.003526> + 11162: < 0.006998, 0.003093, 0.003880> + 11163: < 0.007112, 0.002729, 0.003924> + 11164: < 0.007152, 0.003127, 0.003526> + 11165: < 0.007018, 0.003486, 0.003486> + 11166: < 0.006870, 0.003446, 0.003834> + 11167: < 0.006998, 0.003093, 0.003880> + 11168: < 0.007018, 0.003486, 0.003486> + 11169: < 0.006870, 0.003834, 0.003446> + 11170: < 0.006727, 0.003788, 0.003788> + 11171: < 0.006870, 0.003446, 0.003834> + 11172: < 0.006870, 0.003834, 0.003446> + 11173: < 0.006705, 0.004170, 0.003407> + 11174: < 0.006570, 0.004117, 0.003743> + 11175: < 0.006727, 0.003788, 0.003788> + 11176: < 0.006705, 0.004170, 0.003407> + 11177: < 0.006525, 0.004494, 0.003372> + 11178: < 0.006397, 0.004434, 0.003701> + 11179: < 0.006570, 0.004117, 0.003743> + 11180: < 0.006525, 0.004494, 0.003372> + 11181: < 0.006329, 0.004804, 0.003342> + 11182: < 0.006210, 0.004736, 0.003666> + 11183: < 0.006397, 0.004434, 0.003701> + 11184: < 0.006329, 0.004804, 0.003342> + 11185: < 0.006117, 0.005099, 0.003318> + 11186: < 0.006006, 0.005023, 0.003637> + 11187: < 0.006210, 0.004736, 0.003666> + 11188: < 0.006117, 0.005099, 0.003318> + 11189: < 0.005888, 0.005379, 0.003302> + 11190: < 0.005786, 0.005294, 0.003619> + 11191: < 0.006006, 0.005023, 0.003637> + 11192: < 0.005786, -0.005294, 0.003619> + 11193: < 0.006006, -0.005023, 0.003637> + 11194: < 0.005887, -0.004946, 0.003941> + 11195: < 0.005678, -0.005207, 0.003918> + 11196: < 0.006006, -0.005023, 0.003637> + 11197: < 0.006210, -0.004736, 0.003666> + 11198: < 0.006080, -0.004668, 0.003975> + 11199: < 0.005887, -0.004946, 0.003941> + 11200: < 0.006210, -0.004736, 0.003666> + 11201: < 0.006397, -0.004434, 0.003701> + 11202: < 0.006257, -0.004374, 0.004017> + 11203: < 0.006080, -0.004668, 0.003975> + 11204: < 0.006397, -0.004434, 0.003701> + 11205: < 0.006570, -0.004117, 0.003743> + 11206: < 0.006421, -0.004065, 0.004065> + 11207: < 0.006257, -0.004374, 0.004017> + 11208: < 0.006570, -0.004117, 0.003743> + 11209: < 0.006727, -0.003788, 0.003788> + 11210: < 0.006570, -0.003743, 0.004117> + 11211: < 0.006421, -0.004065, 0.004065> + 11212: < 0.006727, -0.003788, 0.003788> + 11213: < 0.006870, -0.003446, 0.003834> + 11214: < 0.006705, -0.003407, 0.004170> + 11215: < 0.006570, -0.003743, 0.004117> + 11216: < 0.006870, -0.003446, 0.003834> + 11217: < 0.006998, -0.003093, 0.003880> + 11218: < 0.006828, -0.003060, 0.004223> + 11219: < 0.006705, -0.003407, 0.004170> + 11220: < 0.006998, -0.003093, 0.003880> + 11221: < 0.007112, -0.002729, 0.003924> + 11222: < 0.006937, -0.002701, 0.004273> + 11223: < 0.006828, -0.003060, 0.004223> + 11224: < 0.007112, -0.002729, 0.003924> + 11225: < 0.007212, -0.002356, 0.003965> + 11226: < 0.007033, -0.002333, 0.004318> + 11227: < 0.006937, -0.002701, 0.004273> + 11228: < 0.007212, -0.002356, 0.003965> + 11229: < 0.007297, -0.001975, 0.004002> + 11230: < 0.007115, -0.001957, 0.004360> + 11231: < 0.007033, -0.002333, 0.004318> + 11232: < 0.007297, -0.001975, 0.004002> + 11233: < 0.007367, -0.001588, 0.004034> + 11234: < 0.007183, -0.001574, 0.004395> + 11235: < 0.007115, -0.001957, 0.004360> + 11236: < 0.007367, -0.001588, 0.004034> + 11237: < 0.007423, -0.001196, 0.004061> + 11238: < 0.007236, -0.001185, 0.004424> + 11239: < 0.007183, -0.001574, 0.004395> + 11240: < 0.007423, -0.001196, 0.004061> + 11241: < 0.007462, -0.000799, 0.004081> + 11242: < 0.007275, -0.000792, 0.004446> + 11243: < 0.007236, -0.001185, 0.004424> + 11244: < 0.007462, -0.000799, 0.004081> + 11245: < 0.007487, -0.000400, 0.004093> + 11246: < 0.007298, -0.000397, 0.004460> + 11247: < 0.007275, -0.000792, 0.004446> + 11248: < 0.007487, -0.000400, 0.004093> + 11249: < 0.007495, 0.000000, 0.004098> + 11250: < 0.007306, 0.000000, 0.004465> + 11251: < 0.007298, -0.000397, 0.004460> + 11252: < 0.007495, 0.000000, 0.004098> + 11253: < 0.007487, 0.000400, 0.004093> + 11254: < 0.007298, 0.000397, 0.004460> + 11255: < 0.007306, 0.000000, 0.004465> + 11256: < 0.007487, 0.000400, 0.004093> + 11257: < 0.007462, 0.000799, 0.004081> + 11258: < 0.007275, 0.000792, 0.004446> + 11259: < 0.007298, 0.000397, 0.004460> + 11260: < 0.007462, 0.000799, 0.004081> + 11261: < 0.007423, 0.001196, 0.004061> + 11262: < 0.007236, 0.001185, 0.004424> + 11263: < 0.007275, 0.000792, 0.004446> + 11264: < 0.007423, 0.001196, 0.004061> + 11265: < 0.007367, 0.001588, 0.004034> + 11266: < 0.007183, 0.001574, 0.004395> + 11267: < 0.007236, 0.001185, 0.004424> + 11268: < 0.007367, 0.001588, 0.004034> + 11269: < 0.007297, 0.001975, 0.004002> + 11270: < 0.007115, 0.001957, 0.004360> + 11271: < 0.007183, 0.001574, 0.004395> + 11272: < 0.007297, 0.001975, 0.004002> + 11273: < 0.007212, 0.002356, 0.003965> + 11274: < 0.007033, 0.002333, 0.004318> + 11275: < 0.007115, 0.001957, 0.004360> + 11276: < 0.007212, 0.002356, 0.003965> + 11277: < 0.007112, 0.002729, 0.003924> + 11278: < 0.006937, 0.002701, 0.004273> + 11279: < 0.007033, 0.002333, 0.004318> + 11280: < 0.007112, 0.002729, 0.003924> + 11281: < 0.006998, 0.003093, 0.003880> + 11282: < 0.006828, 0.003060, 0.004223> + 11283: < 0.006937, 0.002701, 0.004273> + 11284: < 0.006998, 0.003093, 0.003880> + 11285: < 0.006870, 0.003446, 0.003834> + 11286: < 0.006705, 0.003407, 0.004170> + 11287: < 0.006828, 0.003060, 0.004223> + 11288: < 0.006870, 0.003446, 0.003834> + 11289: < 0.006727, 0.003788, 0.003788> + 11290: < 0.006570, 0.003743, 0.004117> + 11291: < 0.006705, 0.003407, 0.004170> + 11292: < 0.006727, 0.003788, 0.003788> + 11293: < 0.006570, 0.004117, 0.003743> + 11294: < 0.006421, 0.004065, 0.004065> + 11295: < 0.006570, 0.003743, 0.004117> + 11296: < 0.006570, 0.004117, 0.003743> + 11297: < 0.006397, 0.004434, 0.003701> + 11298: < 0.006257, 0.004374, 0.004017> + 11299: < 0.006421, 0.004065, 0.004065> + 11300: < 0.006397, 0.004434, 0.003701> + 11301: < 0.006210, 0.004736, 0.003666> + 11302: < 0.006080, 0.004668, 0.003975> + 11303: < 0.006257, 0.004374, 0.004017> + 11304: < 0.006210, 0.004736, 0.003666> + 11305: < 0.006006, 0.005023, 0.003637> + 11306: < 0.005887, 0.004946, 0.003941> + 11307: < 0.006080, 0.004668, 0.003975> + 11308: < 0.006006, 0.005023, 0.003637> + 11309: < 0.005786, 0.005294, 0.003619> + 11310: < 0.005678, 0.005207, 0.003918> + 11311: < 0.005887, 0.004946, 0.003941> + 11312: < 0.005678, -0.005207, 0.003918> + 11313: < 0.005887, -0.004946, 0.003941> + 11314: < 0.005760, -0.004870, 0.004226> + 11315: < 0.005564, -0.005120, 0.004199> + 11316: < 0.005887, -0.004946, 0.003941> + 11317: < 0.006080, -0.004668, 0.003975> + 11318: < 0.005939, -0.004602, 0.004267> + 11319: < 0.005760, -0.004870, 0.004226> + 11320: < 0.006080, -0.004668, 0.003975> + 11321: < 0.006257, -0.004374, 0.004017> + 11322: < 0.006105, -0.004318, 0.004318> + 11323: < 0.005939, -0.004602, 0.004267> + 11324: < 0.006257, -0.004374, 0.004017> + 11325: < 0.006421, -0.004065, 0.004065> + 11326: < 0.006257, -0.004017, 0.004374> + 11327: < 0.006105, -0.004318, 0.004318> + 11328: < 0.006421, -0.004065, 0.004065> + 11329: < 0.006570, -0.003743, 0.004117> + 11330: < 0.006397, -0.003701, 0.004434> + 11331: < 0.006257, -0.004017, 0.004374> + 11332: < 0.006570, -0.003743, 0.004117> + 11333: < 0.006705, -0.003407, 0.004170> + 11334: < 0.006525, -0.003372, 0.004494> + 11335: < 0.006397, -0.003701, 0.004434> + 11336: < 0.006705, -0.003407, 0.004170> + 11337: < 0.006828, -0.003060, 0.004223> + 11338: < 0.006641, -0.003030, 0.004553> + 11339: < 0.006525, -0.003372, 0.004494> + 11340: < 0.006828, -0.003060, 0.004223> + 11341: < 0.006937, -0.002701, 0.004273> + 11342: < 0.006745, -0.002676, 0.004609> + 11343: < 0.006641, -0.003030, 0.004553> + 11344: < 0.006937, -0.002701, 0.004273> + 11345: < 0.007033, -0.002333, 0.004318> + 11346: < 0.006836, -0.002313, 0.004659> + 11347: < 0.006745, -0.002676, 0.004609> + 11348: < 0.007033, -0.002333, 0.004318> + 11349: < 0.007115, -0.001957, 0.004360> + 11350: < 0.006915, -0.001940, 0.004705> + 11351: < 0.006836, -0.002313, 0.004659> + 11352: < 0.007115, -0.001957, 0.004360> + 11353: < 0.007183, -0.001574, 0.004395> + 11354: < 0.006980, -0.001561, 0.004744> + 11355: < 0.006915, -0.001940, 0.004705> + 11356: < 0.007183, -0.001574, 0.004395> + 11357: < 0.007236, -0.001185, 0.004424> + 11358: < 0.007032, -0.001176, 0.004776> + 11359: < 0.006980, -0.001561, 0.004744> + 11360: < 0.007236, -0.001185, 0.004424> + 11361: < 0.007275, -0.000792, 0.004446> + 11362: < 0.007069, -0.000786, 0.004800> + 11363: < 0.007032, -0.001176, 0.004776> + 11364: < 0.007275, -0.000792, 0.004446> + 11365: < 0.007298, -0.000397, 0.004460> + 11366: < 0.007092, -0.000394, 0.004815> + 11367: < 0.007069, -0.000786, 0.004800> + 11368: < 0.007298, -0.000397, 0.004460> + 11369: < 0.007306, 0.000000, 0.004465> + 11370: < 0.007099, 0.000000, 0.004820> + 11371: < 0.007092, -0.000394, 0.004815> + 11372: < 0.007306, 0.000000, 0.004465> + 11373: < 0.007298, 0.000397, 0.004460> + 11374: < 0.007092, 0.000394, 0.004815> + 11375: < 0.007099, 0.000000, 0.004820> + 11376: < 0.007298, 0.000397, 0.004460> + 11377: < 0.007275, 0.000792, 0.004446> + 11378: < 0.007069, 0.000786, 0.004800> + 11379: < 0.007092, 0.000394, 0.004815> + 11380: < 0.007275, 0.000792, 0.004446> + 11381: < 0.007236, 0.001185, 0.004424> + 11382: < 0.007032, 0.001176, 0.004776> + 11383: < 0.007069, 0.000786, 0.004800> + 11384: < 0.007236, 0.001185, 0.004424> + 11385: < 0.007183, 0.001574, 0.004395> + 11386: < 0.006980, 0.001561, 0.004744> + 11387: < 0.007032, 0.001176, 0.004776> + 11388: < 0.007183, 0.001574, 0.004395> + 11389: < 0.007115, 0.001957, 0.004360> + 11390: < 0.006915, 0.001940, 0.004705> + 11391: < 0.006980, 0.001561, 0.004744> + 11392: < 0.007115, 0.001957, 0.004360> + 11393: < 0.007033, 0.002333, 0.004318> + 11394: < 0.006836, 0.002313, 0.004659> + 11395: < 0.006915, 0.001940, 0.004705> + 11396: < 0.007033, 0.002333, 0.004318> + 11397: < 0.006937, 0.002701, 0.004273> + 11398: < 0.006745, 0.002676, 0.004609> + 11399: < 0.006836, 0.002313, 0.004659> + 11400: < 0.006937, 0.002701, 0.004273> + 11401: < 0.006828, 0.003060, 0.004223> + 11402: < 0.006641, 0.003030, 0.004553> + 11403: < 0.006745, 0.002676, 0.004609> + 11404: < 0.006828, 0.003060, 0.004223> + 11405: < 0.006705, 0.003407, 0.004170> + 11406: < 0.006525, 0.003372, 0.004494> + 11407: < 0.006641, 0.003030, 0.004553> + 11408: < 0.006705, 0.003407, 0.004170> + 11409: < 0.006570, 0.003743, 0.004117> + 11410: < 0.006397, 0.003701, 0.004434> + 11411: < 0.006525, 0.003372, 0.004494> + 11412: < 0.006570, 0.003743, 0.004117> + 11413: < 0.006421, 0.004065, 0.004065> + 11414: < 0.006257, 0.004017, 0.004374> + 11415: < 0.006397, 0.003701, 0.004434> + 11416: < 0.006421, 0.004065, 0.004065> + 11417: < 0.006257, 0.004374, 0.004017> + 11418: < 0.006105, 0.004318, 0.004318> + 11419: < 0.006257, 0.004017, 0.004374> + 11420: < 0.006257, 0.004374, 0.004017> + 11421: < 0.006080, 0.004668, 0.003975> + 11422: < 0.005939, 0.004602, 0.004267> + 11423: < 0.006105, 0.004318, 0.004318> + 11424: < 0.006080, 0.004668, 0.003975> + 11425: < 0.005887, 0.004946, 0.003941> + 11426: < 0.005760, 0.004870, 0.004226> + 11427: < 0.005939, 0.004602, 0.004267> + 11428: < 0.005887, 0.004946, 0.003941> + 11429: < 0.005678, 0.005207, 0.003918> + 11430: < 0.005564, 0.005120, 0.004199> + 11431: < 0.005760, 0.004870, 0.004226> + 11432: < 0.005564, -0.005120, 0.004199> + 11433: < 0.005760, -0.004870, 0.004226> + 11434: < 0.005623, -0.004798, 0.004494> + 11435: < 0.005446, -0.005034, 0.004460> + 11436: < 0.005760, -0.004870, 0.004226> + 11437: < 0.005939, -0.004602, 0.004267> + 11438: < 0.005788, -0.004542, 0.004542> + 11439: < 0.005623, -0.004798, 0.004494> + 11440: < 0.005939, -0.004602, 0.004267> + 11441: < 0.006105, -0.004318, 0.004318> + 11442: < 0.005939, -0.004267, 0.004602> + 11443: < 0.005788, -0.004542, 0.004542> + 11444: < 0.006105, -0.004318, 0.004318> + 11445: < 0.006257, -0.004017, 0.004374> + 11446: < 0.006080, -0.003975, 0.004668> + 11447: < 0.005939, -0.004267, 0.004602> + 11448: < 0.006257, -0.004017, 0.004374> + 11449: < 0.006397, -0.003701, 0.004434> + 11450: < 0.006210, -0.003666, 0.004736> + 11451: < 0.006080, -0.003975, 0.004668> + 11452: < 0.006397, -0.003701, 0.004434> + 11453: < 0.006525, -0.003372, 0.004494> + 11454: < 0.006329, -0.003342, 0.004804> + 11455: < 0.006210, -0.003666, 0.004736> + 11456: < 0.006525, -0.003372, 0.004494> + 11457: < 0.006641, -0.003030, 0.004553> + 11458: < 0.006439, -0.003004, 0.004870> + 11459: < 0.006329, -0.003342, 0.004804> + 11460: < 0.006641, -0.003030, 0.004553> + 11461: < 0.006745, -0.002676, 0.004609> + 11462: < 0.006537, -0.002655, 0.004931> + 11463: < 0.006439, -0.003004, 0.004870> + 11464: < 0.006745, -0.002676, 0.004609> + 11465: < 0.006836, -0.002313, 0.004659> + 11466: < 0.006623, -0.002295, 0.004987> + 11467: < 0.006537, -0.002655, 0.004931> + 11468: < 0.006836, -0.002313, 0.004659> + 11469: < 0.006915, -0.001940, 0.004705> + 11470: < 0.006698, -0.001926, 0.005037> + 11471: < 0.006623, -0.002295, 0.004987> + 11472: < 0.006915, -0.001940, 0.004705> + 11473: < 0.006980, -0.001561, 0.004744> + 11474: < 0.006761, -0.001550, 0.005080> + 11475: < 0.006698, -0.001926, 0.005037> + 11476: < 0.006980, -0.001561, 0.004744> + 11477: < 0.007032, -0.001176, 0.004776> + 11478: < 0.006810, -0.001168, 0.005114> + 11479: < 0.006761, -0.001550, 0.005080> + 11480: < 0.007032, -0.001176, 0.004776> + 11481: < 0.007069, -0.000786, 0.004800> + 11482: < 0.006846, -0.000781, 0.005140> + 11483: < 0.006810, -0.001168, 0.005114> + 11484: < 0.007069, -0.000786, 0.004800> + 11485: < 0.007092, -0.000394, 0.004815> + 11486: < 0.006868, -0.000391, 0.005156> + 11487: < 0.006846, -0.000781, 0.005140> + 11488: < 0.007092, -0.000394, 0.004815> + 11489: < 0.007099, 0.000000, 0.004820> + 11490: < 0.006875, 0.000000, 0.005162> + 11491: < 0.006868, -0.000391, 0.005156> + 11492: < 0.007099, 0.000000, 0.004820> + 11493: < 0.007092, 0.000394, 0.004815> + 11494: < 0.006868, 0.000391, 0.005156> + 11495: < 0.006875, 0.000000, 0.005162> + 11496: < 0.007092, 0.000394, 0.004815> + 11497: < 0.007069, 0.000786, 0.004800> + 11498: < 0.006846, 0.000781, 0.005140> + 11499: < 0.006868, 0.000391, 0.005156> + 11500: < 0.007069, 0.000786, 0.004800> + 11501: < 0.007032, 0.001176, 0.004776> + 11502: < 0.006810, 0.001168, 0.005114> + 11503: < 0.006846, 0.000781, 0.005140> + 11504: < 0.007032, 0.001176, 0.004776> + 11505: < 0.006980, 0.001561, 0.004744> + 11506: < 0.006761, 0.001550, 0.005080> + 11507: < 0.006810, 0.001168, 0.005114> + 11508: < 0.006980, 0.001561, 0.004744> + 11509: < 0.006915, 0.001940, 0.004705> + 11510: < 0.006698, 0.001926, 0.005037> + 11511: < 0.006761, 0.001550, 0.005080> + 11512: < 0.006915, 0.001940, 0.004705> + 11513: < 0.006836, 0.002313, 0.004659> + 11514: < 0.006623, 0.002295, 0.004987> + 11515: < 0.006698, 0.001926, 0.005037> + 11516: < 0.006836, 0.002313, 0.004659> + 11517: < 0.006745, 0.002676, 0.004609> + 11518: < 0.006537, 0.002655, 0.004931> + 11519: < 0.006623, 0.002295, 0.004987> + 11520: < 0.006745, 0.002676, 0.004609> + 11521: < 0.006641, 0.003030, 0.004553> + 11522: < 0.006439, 0.003004, 0.004870> + 11523: < 0.006537, 0.002655, 0.004931> + 11524: < 0.006641, 0.003030, 0.004553> + 11525: < 0.006525, 0.003372, 0.004494> + 11526: < 0.006329, 0.003342, 0.004804> + 11527: < 0.006439, 0.003004, 0.004870> + 11528: < 0.006525, 0.003372, 0.004494> + 11529: < 0.006397, 0.003701, 0.004434> + 11530: < 0.006210, 0.003666, 0.004736> + 11531: < 0.006329, 0.003342, 0.004804> + 11532: < 0.006397, 0.003701, 0.004434> + 11533: < 0.006257, 0.004017, 0.004374> + 11534: < 0.006080, 0.003975, 0.004668> + 11535: < 0.006210, 0.003666, 0.004736> + 11536: < 0.006257, 0.004017, 0.004374> + 11537: < 0.006105, 0.004318, 0.004318> + 11538: < 0.005939, 0.004267, 0.004602> + 11539: < 0.006080, 0.003975, 0.004668> + 11540: < 0.006105, 0.004318, 0.004318> + 11541: < 0.005939, 0.004602, 0.004267> + 11542: < 0.005788, 0.004542, 0.004542> + 11543: < 0.005939, 0.004267, 0.004602> + 11544: < 0.005939, 0.004602, 0.004267> + 11545: < 0.005760, 0.004870, 0.004226> + 11546: < 0.005623, 0.004798, 0.004494> + 11547: < 0.005788, 0.004542, 0.004542> + 11548: < 0.005760, 0.004870, 0.004226> + 11549: < 0.005564, 0.005120, 0.004199> + 11550: < 0.005446, 0.005034, 0.004460> + 11551: < 0.005623, 0.004798, 0.004494> + 11552: < 0.005446, -0.005034, 0.004460> + 11553: < 0.005623, -0.004798, 0.004494> + 11554: < 0.005479, -0.004738, 0.004738> + 11555: < 0.005326, -0.004959, 0.004691> + 11556: < 0.005623, -0.004798, 0.004494> + 11557: < 0.005788, -0.004542, 0.004542> + 11558: < 0.005623, -0.004494, 0.004798> + 11559: < 0.005479, -0.004738, 0.004738> + 11560: < 0.005788, -0.004542, 0.004542> + 11561: < 0.005939, -0.004267, 0.004602> + 11562: < 0.005760, -0.004226, 0.004870> + 11563: < 0.005623, -0.004494, 0.004798> + 11564: < 0.005939, -0.004267, 0.004602> + 11565: < 0.006080, -0.003975, 0.004668> + 11566: < 0.005887, -0.003941, 0.004946> + 11567: < 0.005760, -0.004226, 0.004870> + 11568: < 0.006080, -0.003975, 0.004668> + 11569: < 0.006210, -0.003666, 0.004736> + 11570: < 0.006006, -0.003637, 0.005023> + 11571: < 0.005887, -0.003941, 0.004946> + 11572: < 0.006210, -0.003666, 0.004736> + 11573: < 0.006329, -0.003342, 0.004804> + 11574: < 0.006117, -0.003318, 0.005099> + 11575: < 0.006006, -0.003637, 0.005023> + 11576: < 0.006329, -0.003342, 0.004804> + 11577: < 0.006439, -0.003004, 0.004870> + 11578: < 0.006219, -0.002984, 0.005172> + 11579: < 0.006117, -0.003318, 0.005099> + 11580: < 0.006439, -0.003004, 0.004870> + 11581: < 0.006537, -0.002655, 0.004931> + 11582: < 0.006311, -0.002638, 0.005240> + 11583: < 0.006219, -0.002984, 0.005172> + 11584: < 0.006537, -0.002655, 0.004931> + 11585: < 0.006623, -0.002295, 0.004987> + 11586: < 0.006393, -0.002281, 0.005301> + 11587: < 0.006311, -0.002638, 0.005240> + 11588: < 0.006623, -0.002295, 0.004987> + 11589: < 0.006698, -0.001926, 0.005037> + 11590: < 0.006464, -0.001915, 0.005355> + 11591: < 0.006393, -0.002281, 0.005301> + 11592: < 0.006698, -0.001926, 0.005037> + 11593: < 0.006761, -0.001550, 0.005080> + 11594: < 0.006523, -0.001541, 0.005401> + 11595: < 0.006464, -0.001915, 0.005355> + 11596: < 0.006761, -0.001550, 0.005080> + 11597: < 0.006810, -0.001168, 0.005114> + 11598: < 0.006570, -0.001161, 0.005438> + 11599: < 0.006523, -0.001541, 0.005401> + 11600: < 0.006810, -0.001168, 0.005114> + 11601: < 0.006846, -0.000781, 0.005140> + 11602: < 0.006605, -0.000777, 0.005466> + 11603: < 0.006570, -0.001161, 0.005438> + 11604: < 0.006846, -0.000781, 0.005140> + 11605: < 0.006868, -0.000391, 0.005156> + 11606: < 0.006626, -0.000389, 0.005483> + 11607: < 0.006605, -0.000777, 0.005466> + 11608: < 0.006868, -0.000391, 0.005156> + 11609: < 0.006875, 0.000000, 0.005162> + 11610: < 0.006633, 0.000000, 0.005489> + 11611: < 0.006626, -0.000389, 0.005483> + 11612: < 0.006875, 0.000000, 0.005162> + 11613: < 0.006868, 0.000391, 0.005156> + 11614: < 0.006626, 0.000389, 0.005483> + 11615: < 0.006633, 0.000000, 0.005489> + 11616: < 0.006868, 0.000391, 0.005156> + 11617: < 0.006846, 0.000781, 0.005140> + 11618: < 0.006605, 0.000777, 0.005466> + 11619: < 0.006626, 0.000389, 0.005483> + 11620: < 0.006846, 0.000781, 0.005140> + 11621: < 0.006810, 0.001168, 0.005114> + 11622: < 0.006570, 0.001161, 0.005438> + 11623: < 0.006605, 0.000777, 0.005466> + 11624: < 0.006810, 0.001168, 0.005114> + 11625: < 0.006761, 0.001550, 0.005080> + 11626: < 0.006523, 0.001541, 0.005401> + 11627: < 0.006570, 0.001161, 0.005438> + 11628: < 0.006761, 0.001550, 0.005080> + 11629: < 0.006698, 0.001926, 0.005037> + 11630: < 0.006464, 0.001915, 0.005355> + 11631: < 0.006523, 0.001541, 0.005401> + 11632: < 0.006698, 0.001926, 0.005037> + 11633: < 0.006623, 0.002295, 0.004987> + 11634: < 0.006393, 0.002281, 0.005301> + 11635: < 0.006464, 0.001915, 0.005355> + 11636: < 0.006623, 0.002295, 0.004987> + 11637: < 0.006537, 0.002655, 0.004931> + 11638: < 0.006311, 0.002638, 0.005240> + 11639: < 0.006393, 0.002281, 0.005301> + 11640: < 0.006537, 0.002655, 0.004931> + 11641: < 0.006439, 0.003004, 0.004870> + 11642: < 0.006219, 0.002984, 0.005172> + 11643: < 0.006311, 0.002638, 0.005240> + 11644: < 0.006439, 0.003004, 0.004870> + 11645: < 0.006329, 0.003342, 0.004804> + 11646: < 0.006117, 0.003318, 0.005099> + 11647: < 0.006219, 0.002984, 0.005172> + 11648: < 0.006329, 0.003342, 0.004804> + 11649: < 0.006210, 0.003666, 0.004736> + 11650: < 0.006006, 0.003637, 0.005023> + 11651: < 0.006117, 0.003318, 0.005099> + 11652: < 0.006210, 0.003666, 0.004736> + 11653: < 0.006080, 0.003975, 0.004668> + 11654: < 0.005887, 0.003941, 0.004946> + 11655: < 0.006006, 0.003637, 0.005023> + 11656: < 0.006080, 0.003975, 0.004668> + 11657: < 0.005939, 0.004267, 0.004602> + 11658: < 0.005760, 0.004226, 0.004870> + 11659: < 0.005887, 0.003941, 0.004946> + 11660: < 0.005939, 0.004267, 0.004602> + 11661: < 0.005788, 0.004542, 0.004542> + 11662: < 0.005623, 0.004494, 0.004798> + 11663: < 0.005760, 0.004226, 0.004870> + 11664: < 0.005788, 0.004542, 0.004542> + 11665: < 0.005623, 0.004798, 0.004494> + 11666: < 0.005479, 0.004738, 0.004738> + 11667: < 0.005623, 0.004494, 0.004798> + 11668: < 0.005623, 0.004798, 0.004494> + 11669: < 0.005446, 0.005034, 0.004460> + 11670: < 0.005326, 0.004959, 0.004691> + 11671: < 0.005479, 0.004738, 0.004738> + 11672: < 0.005326, -0.004959, 0.004691> + 11673: < 0.005479, -0.004738, 0.004738> + 11674: < 0.005326, -0.004691, 0.004959> + 11675: < 0.005206, -0.004894, 0.004894> + 11676: < 0.005479, -0.004738, 0.004738> + 11677: < 0.005623, -0.004494, 0.004798> + 11678: < 0.005446, -0.004460, 0.005034> + 11679: < 0.005326, -0.004691, 0.004959> + 11680: < 0.005623, -0.004494, 0.004798> + 11681: < 0.005760, -0.004226, 0.004870> + 11682: < 0.005564, -0.004199, 0.005120> + 11683: < 0.005446, -0.004460, 0.005034> + 11684: < 0.005760, -0.004226, 0.004870> + 11685: < 0.005887, -0.003941, 0.004946> + 11686: < 0.005678, -0.003918, 0.005207> + 11687: < 0.005564, -0.004199, 0.005120> + 11688: < 0.005887, -0.003941, 0.004946> + 11689: < 0.006006, -0.003637, 0.005023> + 11690: < 0.005786, -0.003619, 0.005294> + 11691: < 0.005678, -0.003918, 0.005207> + 11692: < 0.006006, -0.003637, 0.005023> + 11693: < 0.006117, -0.003318, 0.005099> + 11694: < 0.005888, -0.003302, 0.005379> + 11695: < 0.005786, -0.003619, 0.005294> + 11696: < 0.006117, -0.003318, 0.005099> + 11697: < 0.006219, -0.002984, 0.005172> + 11698: < 0.005983, -0.002971, 0.005459> + 11699: < 0.005888, -0.003302, 0.005379> + 11700: < 0.006219, -0.002984, 0.005172> + 11701: < 0.006311, -0.002638, 0.005240> + 11702: < 0.006069, -0.002627, 0.005533> + 11703: < 0.005983, -0.002971, 0.005459> + 11704: < 0.006311, -0.002638, 0.005240> + 11705: < 0.006393, -0.002281, 0.005301> + 11706: < 0.006146, -0.002272, 0.005599> + 11707: < 0.006069, -0.002627, 0.005533> + 11708: < 0.006393, -0.002281, 0.005301> + 11709: < 0.006464, -0.001915, 0.005355> + 11710: < 0.006212, -0.001908, 0.005657> + 11711: < 0.006146, -0.002272, 0.005599> + 11712: < 0.006464, -0.001915, 0.005355> + 11713: < 0.006523, -0.001541, 0.005401> + 11714: < 0.006269, -0.001536, 0.005707> + 11715: < 0.006212, -0.001908, 0.005657> + 11716: < 0.006523, -0.001541, 0.005401> + 11717: < 0.006570, -0.001161, 0.005438> + 11718: < 0.006313, -0.001157, 0.005747> + 11719: < 0.006269, -0.001536, 0.005707> + 11720: < 0.006570, -0.001161, 0.005438> + 11721: < 0.006605, -0.000777, 0.005466> + 11722: < 0.006346, -0.000774, 0.005776> + 11723: < 0.006313, -0.001157, 0.005747> + 11724: < 0.006605, -0.000777, 0.005466> + 11725: < 0.006626, -0.000389, 0.005483> + 11726: < 0.006366, -0.000388, 0.005794> + 11727: < 0.006346, -0.000774, 0.005776> + 11728: < 0.006626, -0.000389, 0.005483> + 11729: < 0.006633, 0.000000, 0.005489> + 11730: < 0.006373, 0.000000, 0.005801> + 11731: < 0.006366, -0.000388, 0.005794> + 11732: < 0.006633, 0.000000, 0.005489> + 11733: < 0.006626, 0.000389, 0.005483> + 11734: < 0.006366, 0.000388, 0.005794> + 11735: < 0.006373, 0.000000, 0.005801> + 11736: < 0.006626, 0.000389, 0.005483> + 11737: < 0.006605, 0.000777, 0.005466> + 11738: < 0.006346, 0.000774, 0.005776> + 11739: < 0.006366, 0.000388, 0.005794> + 11740: < 0.006605, 0.000777, 0.005466> + 11741: < 0.006570, 0.001161, 0.005438> + 11742: < 0.006313, 0.001157, 0.005747> + 11743: < 0.006346, 0.000774, 0.005776> + 11744: < 0.006570, 0.001161, 0.005438> + 11745: < 0.006523, 0.001541, 0.005401> + 11746: < 0.006269, 0.001536, 0.005707> + 11747: < 0.006313, 0.001157, 0.005747> + 11748: < 0.006523, 0.001541, 0.005401> + 11749: < 0.006464, 0.001915, 0.005355> + 11750: < 0.006212, 0.001908, 0.005657> + 11751: < 0.006269, 0.001536, 0.005707> + 11752: < 0.006464, 0.001915, 0.005355> + 11753: < 0.006393, 0.002281, 0.005301> + 11754: < 0.006146, 0.002272, 0.005599> + 11755: < 0.006212, 0.001908, 0.005657> + 11756: < 0.006393, 0.002281, 0.005301> + 11757: < 0.006311, 0.002638, 0.005240> + 11758: < 0.006069, 0.002627, 0.005533> + 11759: < 0.006146, 0.002272, 0.005599> + 11760: < 0.006311, 0.002638, 0.005240> + 11761: < 0.006219, 0.002984, 0.005172> + 11762: < 0.005983, 0.002971, 0.005459> + 11763: < 0.006069, 0.002627, 0.005533> + 11764: < 0.006219, 0.002984, 0.005172> + 11765: < 0.006117, 0.003318, 0.005099> + 11766: < 0.005888, 0.003302, 0.005379> + 11767: < 0.005983, 0.002971, 0.005459> + 11768: < 0.006117, 0.003318, 0.005099> + 11769: < 0.006006, 0.003637, 0.005023> + 11770: < 0.005786, 0.003619, 0.005294> + 11771: < 0.005888, 0.003302, 0.005379> + 11772: < 0.006006, 0.003637, 0.005023> + 11773: < 0.005887, 0.003941, 0.004946> + 11774: < 0.005678, 0.003918, 0.005207> + 11775: < 0.005786, 0.003619, 0.005294> + 11776: < 0.005887, 0.003941, 0.004946> + 11777: < 0.005760, 0.004226, 0.004870> + 11778: < 0.005564, 0.004199, 0.005120> + 11779: < 0.005678, 0.003918, 0.005207> + 11780: < 0.005760, 0.004226, 0.004870> + 11781: < 0.005623, 0.004494, 0.004798> + 11782: < 0.005446, 0.004460, 0.005034> + 11783: < 0.005564, 0.004199, 0.005120> + 11784: < 0.005623, 0.004494, 0.004798> + 11785: < 0.005479, 0.004738, 0.004738> + 11786: < 0.005326, 0.004691, 0.004959> + 11787: < 0.005446, 0.004460, 0.005034> + 11788: < 0.005479, 0.004738, 0.004738> + 11789: < 0.005326, 0.004959, 0.004691> + 11790: < 0.005206, 0.004894, 0.004894> + 11791: < 0.005326, 0.004691, 0.004959> + 11792: < 0.005000, -0.005000, -0.005000> + 11793: < 0.005081, -0.004833, -0.005081> + 11794: < 0.005206, -0.004894, -0.004894> + 11795: < 0.005081, -0.005081, -0.004833> + 11796: < 0.005081, -0.004833, -0.005081> + 11797: < 0.005166, -0.004647, -0.005166> + 11798: < 0.005326, -0.004691, -0.004959> + 11799: < 0.005206, -0.004894, -0.004894> + 11800: < 0.005166, -0.004647, -0.005166> + 11801: < 0.005255, -0.004436, -0.005255> + 11802: < 0.005446, -0.004460, -0.005034> + 11803: < 0.005326, -0.004691, -0.004959> + 11804: < 0.005255, -0.004436, -0.005255> + 11805: < 0.005351, -0.004188, -0.005351> + 11806: < 0.005564, -0.004199, -0.005120> + 11807: < 0.005446, -0.004460, -0.005034> + 11808: < 0.005351, -0.004188, -0.005351> + 11809: < 0.005451, -0.003910, -0.005451> + 11810: < 0.005678, -0.003918, -0.005207> + 11811: < 0.005564, -0.004199, -0.005120> + 11812: < 0.005451, -0.003910, -0.005451> + 11813: < 0.005549, -0.003612, -0.005549> + 11814: < 0.005786, -0.003619, -0.005294> + 11815: < 0.005678, -0.003918, -0.005207> + 11816: < 0.005549, -0.003612, -0.005549> + 11817: < 0.005642, -0.003297, -0.005642> + 11818: < 0.005888, -0.003302, -0.005379> + 11819: < 0.005786, -0.003619, -0.005294> + 11820: < 0.005642, -0.003297, -0.005642> + 11821: < 0.005729, -0.002966, -0.005729> + 11822: < 0.005983, -0.002971, -0.005459> + 11823: < 0.005888, -0.003302, -0.005379> + 11824: < 0.005729, -0.002966, -0.005729> + 11825: < 0.005809, -0.002623, -0.005809> + 11826: < 0.006069, -0.002627, -0.005533> + 11827: < 0.005983, -0.002971, -0.005459> + 11828: < 0.005809, -0.002623, -0.005809> + 11829: < 0.005881, -0.002269, -0.005881> + 11830: < 0.006146, -0.002272, -0.005599> + 11831: < 0.006069, -0.002627, -0.005533> + 11832: < 0.005881, -0.002269, -0.005881> + 11833: < 0.005944, -0.001906, -0.005944> + 11834: < 0.006212, -0.001908, -0.005657> + 11835: < 0.006146, -0.002272, -0.005599> + 11836: < 0.005944, -0.001906, -0.005944> + 11837: < 0.005996, -0.001534, -0.005996> + 11838: < 0.006269, -0.001536, -0.005707> + 11839: < 0.006212, -0.001908, -0.005657> + 11840: < 0.005996, -0.001534, -0.005996> + 11841: < 0.006039, -0.001156, -0.006039> + 11842: < 0.006313, -0.001157, -0.005747> + 11843: < 0.006269, -0.001536, -0.005707> + 11844: < 0.006039, -0.001156, -0.006039> + 11845: < 0.006070, -0.000773, -0.006070> + 11846: < 0.006346, -0.000774, -0.005776> + 11847: < 0.006313, -0.001157, -0.005747> + 11848: < 0.006070, -0.000773, -0.006070> + 11849: < 0.006089, -0.000387, -0.006089> + 11850: < 0.006366, -0.000388, -0.005794> + 11851: < 0.006346, -0.000774, -0.005776> + 11852: < 0.006089, -0.000387, -0.006089> + 11853: < 0.006096, -0.000000, -0.006096> + 11854: < 0.006373, -0.000000, -0.005801> + 11855: < 0.006366, -0.000388, -0.005794> + 11856: < 0.006096, -0.000000, -0.006096> + 11857: < 0.006089, 0.000387, -0.006089> + 11858: < 0.006366, 0.000388, -0.005794> + 11859: < 0.006373, -0.000000, -0.005801> + 11860: < 0.006089, 0.000387, -0.006089> + 11861: < 0.006070, 0.000773, -0.006070> + 11862: < 0.006346, 0.000774, -0.005776> + 11863: < 0.006366, 0.000388, -0.005794> + 11864: < 0.006070, 0.000773, -0.006070> + 11865: < 0.006039, 0.001156, -0.006039> + 11866: < 0.006313, 0.001157, -0.005747> + 11867: < 0.006346, 0.000774, -0.005776> + 11868: < 0.006039, 0.001156, -0.006039> + 11869: < 0.005996, 0.001534, -0.005996> + 11870: < 0.006269, 0.001536, -0.005707> + 11871: < 0.006313, 0.001157, -0.005747> + 11872: < 0.005996, 0.001534, -0.005996> + 11873: < 0.005944, 0.001906, -0.005944> + 11874: < 0.006212, 0.001908, -0.005657> + 11875: < 0.006269, 0.001536, -0.005707> + 11876: < 0.005944, 0.001906, -0.005944> + 11877: < 0.005881, 0.002269, -0.005881> + 11878: < 0.006146, 0.002272, -0.005599> + 11879: < 0.006212, 0.001908, -0.005657> + 11880: < 0.005881, 0.002269, -0.005881> + 11881: < 0.005809, 0.002623, -0.005809> + 11882: < 0.006069, 0.002627, -0.005533> + 11883: < 0.006146, 0.002272, -0.005599> + 11884: < 0.005809, 0.002623, -0.005809> + 11885: < 0.005729, 0.002966, -0.005729> + 11886: < 0.005983, 0.002971, -0.005459> + 11887: < 0.006069, 0.002627, -0.005533> + 11888: < 0.005729, 0.002966, -0.005729> + 11889: < 0.005642, 0.003297, -0.005642> + 11890: < 0.005888, 0.003302, -0.005379> + 11891: < 0.005983, 0.002971, -0.005459> + 11892: < 0.005642, 0.003297, -0.005642> + 11893: < 0.005549, 0.003612, -0.005549> + 11894: < 0.005786, 0.003619, -0.005294> + 11895: < 0.005888, 0.003302, -0.005379> + 11896: < 0.005549, 0.003612, -0.005549> + 11897: < 0.005451, 0.003910, -0.005451> + 11898: < 0.005678, 0.003918, -0.005207> + 11899: < 0.005786, 0.003619, -0.005294> + 11900: < 0.005451, 0.003910, -0.005451> + 11901: < 0.005351, 0.004188, -0.005351> + 11902: < 0.005564, 0.004199, -0.005120> + 11903: < 0.005678, 0.003918, -0.005207> + 11904: < 0.005351, 0.004188, -0.005351> + 11905: < 0.005255, 0.004436, -0.005255> + 11906: < 0.005446, 0.004460, -0.005034> + 11907: < 0.005564, 0.004199, -0.005120> + 11908: < 0.005255, 0.004436, -0.005255> + 11909: < 0.005166, 0.004647, -0.005166> + 11910: < 0.005326, 0.004691, -0.004959> + 11911: < 0.005446, 0.004460, -0.005034> + 11912: < 0.005166, 0.004647, -0.005166> + 11913: < 0.005081, 0.004833, -0.005081> + 11914: < 0.005206, 0.004894, -0.004894> + 11915: < 0.005326, 0.004691, -0.004959> + 11916: < 0.005081, 0.004833, -0.005081> + 11917: < 0.005000, 0.005000, -0.005000> + 11918: < 0.005081, 0.005081, -0.004833> + 11919: < 0.005206, 0.004894, -0.004894> + 11920: < 0.005206, 0.004894, -0.004894> + 11921: < 0.005081, 0.005081, -0.004833> + 11922: < 0.005166, 0.005166, -0.004647> + 11923: < 0.005326, 0.004959, -0.004691> + 11924: < 0.005326, 0.004959, -0.004691> + 11925: < 0.005166, 0.005166, -0.004647> + 11926: < 0.005255, 0.005255, -0.004436> + 11927: < 0.005446, 0.005034, -0.004460> + 11928: < 0.005446, 0.005034, -0.004460> + 11929: < 0.005255, 0.005255, -0.004436> + 11930: < 0.005351, 0.005351, -0.004188> + 11931: < 0.005564, 0.005120, -0.004199> + 11932: < 0.005564, 0.005120, -0.004199> + 11933: < 0.005351, 0.005351, -0.004188> + 11934: < 0.005451, 0.005451, -0.003910> + 11935: < 0.005678, 0.005207, -0.003918> + 11936: < 0.005678, 0.005207, -0.003918> + 11937: < 0.005451, 0.005451, -0.003910> + 11938: < 0.005549, 0.005549, -0.003612> + 11939: < 0.005786, 0.005294, -0.003619> + 11940: < 0.005786, 0.005294, -0.003619> + 11941: < 0.005549, 0.005549, -0.003612> + 11942: < 0.005642, 0.005642, -0.003297> + 11943: < 0.005888, 0.005379, -0.003302> + 11944: < 0.005888, 0.005379, -0.003302> + 11945: < 0.005642, 0.005642, -0.003297> + 11946: < 0.005729, 0.005729, -0.002966> + 11947: < 0.005983, 0.005459, -0.002971> + 11948: < 0.005983, 0.005459, -0.002971> + 11949: < 0.005729, 0.005729, -0.002966> + 11950: < 0.005809, 0.005809, -0.002623> + 11951: < 0.006069, 0.005533, -0.002627> + 11952: < 0.006069, 0.005533, -0.002627> + 11953: < 0.005809, 0.005809, -0.002623> + 11954: < 0.005881, 0.005881, -0.002269> + 11955: < 0.006146, 0.005599, -0.002272> + 11956: < 0.006146, 0.005599, -0.002272> + 11957: < 0.005881, 0.005881, -0.002269> + 11958: < 0.005944, 0.005944, -0.001906> + 11959: < 0.006212, 0.005657, -0.001908> + 11960: < 0.006212, 0.005657, -0.001908> + 11961: < 0.005944, 0.005944, -0.001906> + 11962: < 0.005996, 0.005996, -0.001534> + 11963: < 0.006269, 0.005707, -0.001536> + 11964: < 0.006269, 0.005707, -0.001536> + 11965: < 0.005996, 0.005996, -0.001534> + 11966: < 0.006039, 0.006039, -0.001156> + 11967: < 0.006313, 0.005747, -0.001157> + 11968: < 0.006313, 0.005747, -0.001157> + 11969: < 0.006039, 0.006039, -0.001156> + 11970: < 0.006070, 0.006070, -0.000773> + 11971: < 0.006346, 0.005776, -0.000774> + 11972: < 0.006346, 0.005776, -0.000774> + 11973: < 0.006070, 0.006070, -0.000773> + 11974: < 0.006089, 0.006089, -0.000387> + 11975: < 0.006366, 0.005794, -0.000388> + 11976: < 0.006366, 0.005794, -0.000388> + 11977: < 0.006089, 0.006089, -0.000387> + 11978: < 0.006096, 0.006096, 0.000000> + 11979: < 0.006373, 0.005801, 0.000000> + 11980: < 0.006373, 0.005801, 0.000000> + 11981: < 0.006096, 0.006096, 0.000000> + 11982: < 0.006089, 0.006089, 0.000387> + 11983: < 0.006366, 0.005794, 0.000388> + 11984: < 0.006366, 0.005794, 0.000388> + 11985: < 0.006089, 0.006089, 0.000387> + 11986: < 0.006070, 0.006070, 0.000773> + 11987: < 0.006346, 0.005776, 0.000774> + 11988: < 0.006346, 0.005776, 0.000774> + 11989: < 0.006070, 0.006070, 0.000773> + 11990: < 0.006039, 0.006039, 0.001156> + 11991: < 0.006313, 0.005747, 0.001157> + 11992: < 0.006313, 0.005747, 0.001157> + 11993: < 0.006039, 0.006039, 0.001156> + 11994: < 0.005996, 0.005996, 0.001534> + 11995: < 0.006269, 0.005707, 0.001536> + 11996: < 0.006269, 0.005707, 0.001536> + 11997: < 0.005996, 0.005996, 0.001534> + 11998: < 0.005944, 0.005944, 0.001906> + 11999: < 0.006212, 0.005657, 0.001908> + 12000: < 0.006212, 0.005657, 0.001908> + 12001: < 0.005944, 0.005944, 0.001906> + 12002: < 0.005881, 0.005881, 0.002269> + 12003: < 0.006146, 0.005599, 0.002272> + 12004: < 0.006146, 0.005599, 0.002272> + 12005: < 0.005881, 0.005881, 0.002269> + 12006: < 0.005809, 0.005809, 0.002623> + 12007: < 0.006069, 0.005533, 0.002627> + 12008: < 0.006069, 0.005533, 0.002627> + 12009: < 0.005809, 0.005809, 0.002623> + 12010: < 0.005729, 0.005729, 0.002966> + 12011: < 0.005983, 0.005459, 0.002971> + 12012: < 0.005983, 0.005459, 0.002971> + 12013: < 0.005729, 0.005729, 0.002966> + 12014: < 0.005642, 0.005642, 0.003297> + 12015: < 0.005888, 0.005379, 0.003302> + 12016: < 0.005888, 0.005379, 0.003302> + 12017: < 0.005642, 0.005642, 0.003297> + 12018: < 0.005549, 0.005549, 0.003612> + 12019: < 0.005786, 0.005294, 0.003619> + 12020: < 0.005786, 0.005294, 0.003619> + 12021: < 0.005549, 0.005549, 0.003612> + 12022: < 0.005451, 0.005451, 0.003910> + 12023: < 0.005678, 0.005207, 0.003918> + 12024: < 0.005678, 0.005207, 0.003918> + 12025: < 0.005451, 0.005451, 0.003910> + 12026: < 0.005351, 0.005351, 0.004188> + 12027: < 0.005564, 0.005120, 0.004199> + 12028: < 0.005564, 0.005120, 0.004199> + 12029: < 0.005351, 0.005351, 0.004188> + 12030: < 0.005255, 0.005255, 0.004436> + 12031: < 0.005446, 0.005034, 0.004460> + 12032: < 0.005446, 0.005034, 0.004460> + 12033: < 0.005255, 0.005255, 0.004436> + 12034: < 0.005166, 0.005166, 0.004647> + 12035: < 0.005326, 0.004959, 0.004691> + 12036: < 0.005326, 0.004959, 0.004691> + 12037: < 0.005166, 0.005166, 0.004647> + 12038: < 0.005081, 0.005081, 0.004833> + 12039: < 0.005206, 0.004894, 0.004894> + 12040: < 0.005206, 0.004894, 0.004894> + 12041: < 0.005081, 0.005081, 0.004833> + 12042: < 0.005000, 0.005000, 0.005000> + 12043: < 0.005081, 0.004833, 0.005081> + 12044: < 0.005326, 0.004691, 0.004959> + 12045: < 0.005206, 0.004894, 0.004894> + 12046: < 0.005081, 0.004833, 0.005081> + 12047: < 0.005166, 0.004647, 0.005166> + 12048: < 0.005446, 0.004460, 0.005034> + 12049: < 0.005326, 0.004691, 0.004959> + 12050: < 0.005166, 0.004647, 0.005166> + 12051: < 0.005255, 0.004436, 0.005255> + 12052: < 0.005564, 0.004199, 0.005120> + 12053: < 0.005446, 0.004460, 0.005034> + 12054: < 0.005255, 0.004436, 0.005255> + 12055: < 0.005351, 0.004188, 0.005351> + 12056: < 0.005678, 0.003918, 0.005207> + 12057: < 0.005564, 0.004199, 0.005120> + 12058: < 0.005351, 0.004188, 0.005351> + 12059: < 0.005451, 0.003910, 0.005451> + 12060: < 0.005786, 0.003619, 0.005294> + 12061: < 0.005678, 0.003918, 0.005207> + 12062: < 0.005451, 0.003910, 0.005451> + 12063: < 0.005549, 0.003612, 0.005549> + 12064: < 0.005888, 0.003302, 0.005379> + 12065: < 0.005786, 0.003619, 0.005294> + 12066: < 0.005549, 0.003612, 0.005549> + 12067: < 0.005642, 0.003297, 0.005642> + 12068: < 0.005983, 0.002971, 0.005459> + 12069: < 0.005888, 0.003302, 0.005379> + 12070: < 0.005642, 0.003297, 0.005642> + 12071: < 0.005729, 0.002966, 0.005729> + 12072: < 0.006069, 0.002627, 0.005533> + 12073: < 0.005983, 0.002971, 0.005459> + 12074: < 0.005729, 0.002966, 0.005729> + 12075: < 0.005809, 0.002623, 0.005809> + 12076: < 0.006146, 0.002272, 0.005599> + 12077: < 0.006069, 0.002627, 0.005533> + 12078: < 0.005809, 0.002623, 0.005809> + 12079: < 0.005881, 0.002269, 0.005881> + 12080: < 0.006212, 0.001908, 0.005657> + 12081: < 0.006146, 0.002272, 0.005599> + 12082: < 0.005881, 0.002269, 0.005881> + 12083: < 0.005944, 0.001906, 0.005944> + 12084: < 0.006269, 0.001536, 0.005707> + 12085: < 0.006212, 0.001908, 0.005657> + 12086: < 0.005944, 0.001906, 0.005944> + 12087: < 0.005996, 0.001534, 0.005996> + 12088: < 0.006313, 0.001157, 0.005747> + 12089: < 0.006269, 0.001536, 0.005707> + 12090: < 0.005996, 0.001534, 0.005996> + 12091: < 0.006039, 0.001156, 0.006039> + 12092: < 0.006346, 0.000774, 0.005776> + 12093: < 0.006313, 0.001157, 0.005747> + 12094: < 0.006039, 0.001156, 0.006039> + 12095: < 0.006070, 0.000773, 0.006070> + 12096: < 0.006366, 0.000388, 0.005794> + 12097: < 0.006346, 0.000774, 0.005776> + 12098: < 0.006070, 0.000773, 0.006070> + 12099: < 0.006089, 0.000387, 0.006089> + 12100: < 0.006373, 0.000000, 0.005801> + 12101: < 0.006366, 0.000388, 0.005794> + 12102: < 0.006089, 0.000387, 0.006089> + 12103: < 0.006096, -0.000000, 0.006096> + 12104: < 0.006366, -0.000388, 0.005794> + 12105: < 0.006373, 0.000000, 0.005801> + 12106: < 0.006096, -0.000000, 0.006096> + 12107: < 0.006089, -0.000387, 0.006089> + 12108: < 0.006346, -0.000774, 0.005776> + 12109: < 0.006366, -0.000388, 0.005794> + 12110: < 0.006089, -0.000387, 0.006089> + 12111: < 0.006070, -0.000773, 0.006070> + 12112: < 0.006313, -0.001157, 0.005747> + 12113: < 0.006346, -0.000774, 0.005776> + 12114: < 0.006070, -0.000773, 0.006070> + 12115: < 0.006039, -0.001156, 0.006039> + 12116: < 0.006269, -0.001536, 0.005707> + 12117: < 0.006313, -0.001157, 0.005747> + 12118: < 0.006039, -0.001156, 0.006039> + 12119: < 0.005996, -0.001534, 0.005996> + 12120: < 0.006212, -0.001908, 0.005657> + 12121: < 0.006269, -0.001536, 0.005707> + 12122: < 0.005996, -0.001534, 0.005996> + 12123: < 0.005944, -0.001906, 0.005944> + 12124: < 0.006146, -0.002272, 0.005599> + 12125: < 0.006212, -0.001908, 0.005657> + 12126: < 0.005944, -0.001906, 0.005944> + 12127: < 0.005881, -0.002269, 0.005881> + 12128: < 0.006069, -0.002627, 0.005533> + 12129: < 0.006146, -0.002272, 0.005599> + 12130: < 0.005881, -0.002269, 0.005881> + 12131: < 0.005809, -0.002623, 0.005809> + 12132: < 0.005983, -0.002971, 0.005459> + 12133: < 0.006069, -0.002627, 0.005533> + 12134: < 0.005809, -0.002623, 0.005809> + 12135: < 0.005729, -0.002966, 0.005729> + 12136: < 0.005888, -0.003302, 0.005379> + 12137: < 0.005983, -0.002971, 0.005459> + 12138: < 0.005729, -0.002966, 0.005729> + 12139: < 0.005642, -0.003297, 0.005642> + 12140: < 0.005786, -0.003619, 0.005294> + 12141: < 0.005888, -0.003302, 0.005379> + 12142: < 0.005642, -0.003297, 0.005642> + 12143: < 0.005549, -0.003612, 0.005549> + 12144: < 0.005678, -0.003918, 0.005207> + 12145: < 0.005786, -0.003619, 0.005294> + 12146: < 0.005549, -0.003612, 0.005549> + 12147: < 0.005451, -0.003910, 0.005451> + 12148: < 0.005564, -0.004199, 0.005120> + 12149: < 0.005678, -0.003918, 0.005207> + 12150: < 0.005451, -0.003910, 0.005451> + 12151: < 0.005351, -0.004188, 0.005351> + 12152: < 0.005446, -0.004460, 0.005034> + 12153: < 0.005564, -0.004199, 0.005120> + 12154: < 0.005351, -0.004188, 0.005351> + 12155: < 0.005255, -0.004436, 0.005255> + 12156: < 0.005326, -0.004691, 0.004959> + 12157: < 0.005446, -0.004460, 0.005034> + 12158: < 0.005255, -0.004436, 0.005255> + 12159: < 0.005166, -0.004647, 0.005166> + 12160: < 0.005206, -0.004894, 0.004894> + 12161: < 0.005326, -0.004691, 0.004959> + 12162: < 0.005166, -0.004647, 0.005166> + 12163: < 0.005081, -0.004833, 0.005081> + 12164: < 0.005081, -0.005081, 0.004833> + 12165: < 0.005206, -0.004894, 0.004894> + 12166: < 0.005081, -0.004833, 0.005081> + 12167: < 0.005000, -0.005000, 0.005000> + 12168: < 0.005166, -0.005166, 0.004647> + 12169: < 0.005326, -0.004959, 0.004691> + 12170: < 0.005206, -0.004894, 0.004894> + 12171: < 0.005081, -0.005081, 0.004833> + 12172: < 0.005255, -0.005255, 0.004436> + 12173: < 0.005446, -0.005034, 0.004460> + 12174: < 0.005326, -0.004959, 0.004691> + 12175: < 0.005166, -0.005166, 0.004647> + 12176: < 0.005351, -0.005351, 0.004188> + 12177: < 0.005564, -0.005120, 0.004199> + 12178: < 0.005446, -0.005034, 0.004460> + 12179: < 0.005255, -0.005255, 0.004436> + 12180: < 0.005451, -0.005451, 0.003910> + 12181: < 0.005678, -0.005207, 0.003918> + 12182: < 0.005564, -0.005120, 0.004199> + 12183: < 0.005351, -0.005351, 0.004188> + 12184: < 0.005549, -0.005549, 0.003612> + 12185: < 0.005786, -0.005294, 0.003619> + 12186: < 0.005678, -0.005207, 0.003918> + 12187: < 0.005451, -0.005451, 0.003910> + 12188: < 0.005642, -0.005642, 0.003297> + 12189: < 0.005888, -0.005379, 0.003302> + 12190: < 0.005786, -0.005294, 0.003619> + 12191: < 0.005549, -0.005549, 0.003612> + 12192: < 0.005729, -0.005729, 0.002966> + 12193: < 0.005983, -0.005459, 0.002971> + 12194: < 0.005888, -0.005379, 0.003302> + 12195: < 0.005642, -0.005642, 0.003297> + 12196: < 0.005809, -0.005809, 0.002623> + 12197: < 0.006069, -0.005533, 0.002627> + 12198: < 0.005983, -0.005459, 0.002971> + 12199: < 0.005729, -0.005729, 0.002966> + 12200: < 0.005881, -0.005881, 0.002269> + 12201: < 0.006146, -0.005599, 0.002272> + 12202: < 0.006069, -0.005533, 0.002627> + 12203: < 0.005809, -0.005809, 0.002623> + 12204: < 0.005944, -0.005944, 0.001906> + 12205: < 0.006212, -0.005657, 0.001908> + 12206: < 0.006146, -0.005599, 0.002272> + 12207: < 0.005881, -0.005881, 0.002269> + 12208: < 0.005996, -0.005996, 0.001534> + 12209: < 0.006269, -0.005707, 0.001536> + 12210: < 0.006212, -0.005657, 0.001908> + 12211: < 0.005944, -0.005944, 0.001906> + 12212: < 0.006039, -0.006039, 0.001156> + 12213: < 0.006313, -0.005747, 0.001157> + 12214: < 0.006269, -0.005707, 0.001536> + 12215: < 0.005996, -0.005996, 0.001534> + 12216: < 0.006070, -0.006070, 0.000773> + 12217: < 0.006346, -0.005776, 0.000774> + 12218: < 0.006313, -0.005747, 0.001157> + 12219: < 0.006039, -0.006039, 0.001156> + 12220: < 0.006089, -0.006089, 0.000387> + 12221: < 0.006366, -0.005794, 0.000388> + 12222: < 0.006346, -0.005776, 0.000774> + 12223: < 0.006070, -0.006070, 0.000773> + 12224: < 0.006096, -0.006096, 0.000000> + 12225: < 0.006373, -0.005801, 0.000000> + 12226: < 0.006366, -0.005794, 0.000388> + 12227: < 0.006089, -0.006089, 0.000387> + 12228: < 0.006089, -0.006089, -0.000387> + 12229: < 0.006366, -0.005794, -0.000388> + 12230: < 0.006373, -0.005801, 0.000000> + 12231: < 0.006096, -0.006096, 0.000000> + 12232: < 0.006070, -0.006070, -0.000773> + 12233: < 0.006346, -0.005776, -0.000774> + 12234: < 0.006366, -0.005794, -0.000388> + 12235: < 0.006089, -0.006089, -0.000387> + 12236: < 0.006039, -0.006039, -0.001156> + 12237: < 0.006313, -0.005747, -0.001157> + 12238: < 0.006346, -0.005776, -0.000774> + 12239: < 0.006070, -0.006070, -0.000773> + 12240: < 0.005996, -0.005996, -0.001534> + 12241: < 0.006269, -0.005707, -0.001536> + 12242: < 0.006313, -0.005747, -0.001157> + 12243: < 0.006039, -0.006039, -0.001156> + 12244: < 0.005944, -0.005944, -0.001906> + 12245: < 0.006212, -0.005657, -0.001908> + 12246: < 0.006269, -0.005707, -0.001536> + 12247: < 0.005996, -0.005996, -0.001534> + 12248: < 0.005881, -0.005881, -0.002269> + 12249: < 0.006146, -0.005599, -0.002272> + 12250: < 0.006212, -0.005657, -0.001908> + 12251: < 0.005944, -0.005944, -0.001906> + 12252: < 0.005809, -0.005809, -0.002623> + 12253: < 0.006069, -0.005533, -0.002627> + 12254: < 0.006146, -0.005599, -0.002272> + 12255: < 0.005881, -0.005881, -0.002269> + 12256: < 0.005729, -0.005729, -0.002966> + 12257: < 0.005983, -0.005459, -0.002971> + 12258: < 0.006069, -0.005533, -0.002627> + 12259: < 0.005809, -0.005809, -0.002623> + 12260: < 0.005642, -0.005642, -0.003297> + 12261: < 0.005888, -0.005379, -0.003302> + 12262: < 0.005983, -0.005459, -0.002971> + 12263: < 0.005729, -0.005729, -0.002966> + 12264: < 0.005549, -0.005549, -0.003612> + 12265: < 0.005786, -0.005294, -0.003619> + 12266: < 0.005888, -0.005379, -0.003302> + 12267: < 0.005642, -0.005642, -0.003297> + 12268: < 0.005451, -0.005451, -0.003910> + 12269: < 0.005678, -0.005207, -0.003918> + 12270: < 0.005786, -0.005294, -0.003619> + 12271: < 0.005549, -0.005549, -0.003612> + 12272: < 0.005351, -0.005351, -0.004188> + 12273: < 0.005564, -0.005120, -0.004199> + 12274: < 0.005678, -0.005207, -0.003918> + 12275: < 0.005451, -0.005451, -0.003910> + 12276: < 0.005255, -0.005255, -0.004436> + 12277: < 0.005446, -0.005034, -0.004460> + 12278: < 0.005564, -0.005120, -0.004199> + 12279: < 0.005351, -0.005351, -0.004188> + 12280: < 0.005166, -0.005166, -0.004647> + 12281: < 0.005326, -0.004959, -0.004691> + 12282: < 0.005446, -0.005034, -0.004460> + 12283: < 0.005255, -0.005255, -0.004436> + 12284: < 0.005081, -0.005081, -0.004833> + 12285: < 0.005206, -0.004894, -0.004894> + 12286: < 0.005326, -0.004959, -0.004691> + 12287: < 0.005166, -0.005166, -0.004647> + 12288: < 0.004894, -0.005206, 0.004894> + 12289: < 0.004691, -0.005326, 0.004959> + 12290: < 0.004738, -0.005479, 0.004738> + 12291: < 0.004959, -0.005326, 0.004691> + 12292: < 0.004691, -0.005326, 0.004959> + 12293: < 0.004460, -0.005446, 0.005034> + 12294: < 0.004494, -0.005623, 0.004798> + 12295: < 0.004738, -0.005479, 0.004738> + 12296: < 0.004460, -0.005446, 0.005034> + 12297: < 0.004199, -0.005564, 0.005120> + 12298: < 0.004226, -0.005760, 0.004870> + 12299: < 0.004494, -0.005623, 0.004798> + 12300: < 0.004199, -0.005564, 0.005120> + 12301: < 0.003918, -0.005678, 0.005207> + 12302: < 0.003941, -0.005887, 0.004946> + 12303: < 0.004226, -0.005760, 0.004870> + 12304: < 0.003918, -0.005678, 0.005207> + 12305: < 0.003619, -0.005786, 0.005294> + 12306: < 0.003637, -0.006006, 0.005023> + 12307: < 0.003941, -0.005887, 0.004946> + 12308: < 0.003619, -0.005786, 0.005294> + 12309: < 0.003302, -0.005888, 0.005379> + 12310: < 0.003318, -0.006117, 0.005099> + 12311: < 0.003637, -0.006006, 0.005023> + 12312: < 0.003302, -0.005888, 0.005379> + 12313: < 0.002971, -0.005983, 0.005459> + 12314: < 0.002984, -0.006219, 0.005172> + 12315: < 0.003318, -0.006117, 0.005099> + 12316: < 0.002971, -0.005983, 0.005459> + 12317: < 0.002627, -0.006069, 0.005533> + 12318: < 0.002638, -0.006311, 0.005240> + 12319: < 0.002984, -0.006219, 0.005172> + 12320: < 0.002627, -0.006069, 0.005533> + 12321: < 0.002272, -0.006146, 0.005599> + 12322: < 0.002281, -0.006393, 0.005301> + 12323: < 0.002638, -0.006311, 0.005240> + 12324: < 0.002272, -0.006146, 0.005599> + 12325: < 0.001908, -0.006212, 0.005657> + 12326: < 0.001915, -0.006464, 0.005355> + 12327: < 0.002281, -0.006393, 0.005301> + 12328: < 0.001908, -0.006212, 0.005657> + 12329: < 0.001536, -0.006269, 0.005707> + 12330: < 0.001541, -0.006523, 0.005401> + 12331: < 0.001915, -0.006464, 0.005355> + 12332: < 0.001536, -0.006269, 0.005707> + 12333: < 0.001157, -0.006313, 0.005747> + 12334: < 0.001161, -0.006570, 0.005438> + 12335: < 0.001541, -0.006523, 0.005401> + 12336: < 0.001157, -0.006313, 0.005747> + 12337: < 0.000774, -0.006346, 0.005776> + 12338: < 0.000777, -0.006605, 0.005466> + 12339: < 0.001161, -0.006570, 0.005438> + 12340: < 0.000774, -0.006346, 0.005776> + 12341: < 0.000388, -0.006366, 0.005794> + 12342: < 0.000389, -0.006626, 0.005483> + 12343: < 0.000777, -0.006605, 0.005466> + 12344: < 0.000388, -0.006366, 0.005794> + 12345: <-0.000000, -0.006373, 0.005801> + 12346: < 0.000000, -0.006633, 0.005489> + 12347: < 0.000389, -0.006626, 0.005483> + 12348: <-0.000000, -0.006373, 0.005801> + 12349: <-0.000388, -0.006366, 0.005794> + 12350: <-0.000389, -0.006626, 0.005483> + 12351: < 0.000000, -0.006633, 0.005489> + 12352: <-0.000388, -0.006366, 0.005794> + 12353: <-0.000774, -0.006346, 0.005776> + 12354: <-0.000777, -0.006605, 0.005466> + 12355: <-0.000389, -0.006626, 0.005483> + 12356: <-0.000774, -0.006346, 0.005776> + 12357: <-0.001157, -0.006313, 0.005747> + 12358: <-0.001161, -0.006570, 0.005438> + 12359: <-0.000777, -0.006605, 0.005466> + 12360: <-0.001157, -0.006313, 0.005747> + 12361: <-0.001536, -0.006269, 0.005707> + 12362: <-0.001541, -0.006523, 0.005401> + 12363: <-0.001161, -0.006570, 0.005438> + 12364: <-0.001536, -0.006269, 0.005707> + 12365: <-0.001908, -0.006212, 0.005657> + 12366: <-0.001915, -0.006464, 0.005355> + 12367: <-0.001541, -0.006523, 0.005401> + 12368: <-0.001908, -0.006212, 0.005657> + 12369: <-0.002272, -0.006146, 0.005599> + 12370: <-0.002281, -0.006393, 0.005301> + 12371: <-0.001915, -0.006464, 0.005355> + 12372: <-0.002272, -0.006146, 0.005599> + 12373: <-0.002627, -0.006069, 0.005533> + 12374: <-0.002638, -0.006311, 0.005240> + 12375: <-0.002281, -0.006393, 0.005301> + 12376: <-0.002627, -0.006069, 0.005533> + 12377: <-0.002971, -0.005983, 0.005459> + 12378: <-0.002984, -0.006219, 0.005172> + 12379: <-0.002638, -0.006311, 0.005240> + 12380: <-0.002971, -0.005983, 0.005459> + 12381: <-0.003302, -0.005888, 0.005379> + 12382: <-0.003318, -0.006117, 0.005099> + 12383: <-0.002984, -0.006219, 0.005172> + 12384: <-0.003302, -0.005888, 0.005379> + 12385: <-0.003619, -0.005786, 0.005294> + 12386: <-0.003637, -0.006006, 0.005023> + 12387: <-0.003318, -0.006117, 0.005099> + 12388: <-0.003619, -0.005786, 0.005294> + 12389: <-0.003918, -0.005678, 0.005207> + 12390: <-0.003941, -0.005887, 0.004946> + 12391: <-0.003637, -0.006006, 0.005023> + 12392: <-0.003918, -0.005678, 0.005207> + 12393: <-0.004199, -0.005564, 0.005120> + 12394: <-0.004226, -0.005760, 0.004870> + 12395: <-0.003941, -0.005887, 0.004946> + 12396: <-0.004199, -0.005564, 0.005120> + 12397: <-0.004460, -0.005446, 0.005034> + 12398: <-0.004494, -0.005623, 0.004798> + 12399: <-0.004226, -0.005760, 0.004870> + 12400: <-0.004460, -0.005446, 0.005034> + 12401: <-0.004691, -0.005326, 0.004959> + 12402: <-0.004738, -0.005479, 0.004738> + 12403: <-0.004494, -0.005623, 0.004798> + 12404: <-0.004691, -0.005326, 0.004959> + 12405: <-0.004894, -0.005206, 0.004894> + 12406: <-0.004959, -0.005326, 0.004691> + 12407: <-0.004738, -0.005479, 0.004738> + 12408: < 0.004959, -0.005326, 0.004691> + 12409: < 0.004738, -0.005479, 0.004738> + 12410: < 0.004798, -0.005623, 0.004494> + 12411: < 0.005034, -0.005446, 0.004460> + 12412: < 0.004738, -0.005479, 0.004738> + 12413: < 0.004494, -0.005623, 0.004798> + 12414: < 0.004542, -0.005788, 0.004542> + 12415: < 0.004798, -0.005623, 0.004494> + 12416: < 0.004494, -0.005623, 0.004798> + 12417: < 0.004226, -0.005760, 0.004870> + 12418: < 0.004267, -0.005939, 0.004602> + 12419: < 0.004542, -0.005788, 0.004542> + 12420: < 0.004226, -0.005760, 0.004870> + 12421: < 0.003941, -0.005887, 0.004946> + 12422: < 0.003975, -0.006080, 0.004668> + 12423: < 0.004267, -0.005939, 0.004602> + 12424: < 0.003941, -0.005887, 0.004946> + 12425: < 0.003637, -0.006006, 0.005023> + 12426: < 0.003666, -0.006210, 0.004736> + 12427: < 0.003975, -0.006080, 0.004668> + 12428: < 0.003637, -0.006006, 0.005023> + 12429: < 0.003318, -0.006117, 0.005099> + 12430: < 0.003342, -0.006329, 0.004804> + 12431: < 0.003666, -0.006210, 0.004736> + 12432: < 0.003318, -0.006117, 0.005099> + 12433: < 0.002984, -0.006219, 0.005172> + 12434: < 0.003004, -0.006439, 0.004870> + 12435: < 0.003342, -0.006329, 0.004804> + 12436: < 0.002984, -0.006219, 0.005172> + 12437: < 0.002638, -0.006311, 0.005240> + 12438: < 0.002655, -0.006537, 0.004931> + 12439: < 0.003004, -0.006439, 0.004870> + 12440: < 0.002638, -0.006311, 0.005240> + 12441: < 0.002281, -0.006393, 0.005301> + 12442: < 0.002295, -0.006623, 0.004987> + 12443: < 0.002655, -0.006537, 0.004931> + 12444: < 0.002281, -0.006393, 0.005301> + 12445: < 0.001915, -0.006464, 0.005355> + 12446: < 0.001926, -0.006698, 0.005037> + 12447: < 0.002295, -0.006623, 0.004987> + 12448: < 0.001915, -0.006464, 0.005355> + 12449: < 0.001541, -0.006523, 0.005401> + 12450: < 0.001550, -0.006761, 0.005080> + 12451: < 0.001926, -0.006698, 0.005037> + 12452: < 0.001541, -0.006523, 0.005401> + 12453: < 0.001161, -0.006570, 0.005438> + 12454: < 0.001168, -0.006810, 0.005114> + 12455: < 0.001550, -0.006761, 0.005080> + 12456: < 0.001161, -0.006570, 0.005438> + 12457: < 0.000777, -0.006605, 0.005466> + 12458: < 0.000781, -0.006846, 0.005140> + 12459: < 0.001168, -0.006810, 0.005114> + 12460: < 0.000777, -0.006605, 0.005466> + 12461: < 0.000389, -0.006626, 0.005483> + 12462: < 0.000391, -0.006868, 0.005156> + 12463: < 0.000781, -0.006846, 0.005140> + 12464: < 0.000389, -0.006626, 0.005483> + 12465: < 0.000000, -0.006633, 0.005489> + 12466: < 0.000000, -0.006875, 0.005162> + 12467: < 0.000391, -0.006868, 0.005156> + 12468: < 0.000000, -0.006633, 0.005489> + 12469: <-0.000389, -0.006626, 0.005483> + 12470: <-0.000391, -0.006868, 0.005156> + 12471: < 0.000000, -0.006875, 0.005162> + 12472: <-0.000389, -0.006626, 0.005483> + 12473: <-0.000777, -0.006605, 0.005466> + 12474: <-0.000781, -0.006846, 0.005140> + 12475: <-0.000391, -0.006868, 0.005156> + 12476: <-0.000777, -0.006605, 0.005466> + 12477: <-0.001161, -0.006570, 0.005438> + 12478: <-0.001168, -0.006810, 0.005114> + 12479: <-0.000781, -0.006846, 0.005140> + 12480: <-0.001161, -0.006570, 0.005438> + 12481: <-0.001541, -0.006523, 0.005401> + 12482: <-0.001550, -0.006761, 0.005080> + 12483: <-0.001168, -0.006810, 0.005114> + 12484: <-0.001541, -0.006523, 0.005401> + 12485: <-0.001915, -0.006464, 0.005355> + 12486: <-0.001926, -0.006698, 0.005037> + 12487: <-0.001550, -0.006761, 0.005080> + 12488: <-0.001915, -0.006464, 0.005355> + 12489: <-0.002281, -0.006393, 0.005301> + 12490: <-0.002295, -0.006623, 0.004987> + 12491: <-0.001926, -0.006698, 0.005037> + 12492: <-0.002281, -0.006393, 0.005301> + 12493: <-0.002638, -0.006311, 0.005240> + 12494: <-0.002655, -0.006537, 0.004931> + 12495: <-0.002295, -0.006623, 0.004987> + 12496: <-0.002638, -0.006311, 0.005240> + 12497: <-0.002984, -0.006219, 0.005172> + 12498: <-0.003004, -0.006439, 0.004870> + 12499: <-0.002655, -0.006537, 0.004931> + 12500: <-0.002984, -0.006219, 0.005172> + 12501: <-0.003318, -0.006117, 0.005099> + 12502: <-0.003342, -0.006329, 0.004804> + 12503: <-0.003004, -0.006439, 0.004870> + 12504: <-0.003318, -0.006117, 0.005099> + 12505: <-0.003637, -0.006006, 0.005023> + 12506: <-0.003666, -0.006210, 0.004736> + 12507: <-0.003342, -0.006329, 0.004804> + 12508: <-0.003637, -0.006006, 0.005023> + 12509: <-0.003941, -0.005887, 0.004946> + 12510: <-0.003975, -0.006080, 0.004668> + 12511: <-0.003666, -0.006210, 0.004736> + 12512: <-0.003941, -0.005887, 0.004946> + 12513: <-0.004226, -0.005760, 0.004870> + 12514: <-0.004267, -0.005939, 0.004602> + 12515: <-0.003975, -0.006080, 0.004668> + 12516: <-0.004226, -0.005760, 0.004870> + 12517: <-0.004494, -0.005623, 0.004798> + 12518: <-0.004542, -0.005788, 0.004542> + 12519: <-0.004267, -0.005939, 0.004602> + 12520: <-0.004494, -0.005623, 0.004798> + 12521: <-0.004738, -0.005479, 0.004738> + 12522: <-0.004798, -0.005623, 0.004494> + 12523: <-0.004542, -0.005788, 0.004542> + 12524: <-0.004738, -0.005479, 0.004738> + 12525: <-0.004959, -0.005326, 0.004691> + 12526: <-0.005034, -0.005446, 0.004460> + 12527: <-0.004798, -0.005623, 0.004494> + 12528: < 0.005034, -0.005446, 0.004460> + 12529: < 0.004798, -0.005623, 0.004494> + 12530: < 0.004870, -0.005760, 0.004226> + 12531: < 0.005120, -0.005564, 0.004199> + 12532: < 0.004798, -0.005623, 0.004494> + 12533: < 0.004542, -0.005788, 0.004542> + 12534: < 0.004602, -0.005939, 0.004267> + 12535: < 0.004870, -0.005760, 0.004226> + 12536: < 0.004542, -0.005788, 0.004542> + 12537: < 0.004267, -0.005939, 0.004602> + 12538: < 0.004318, -0.006105, 0.004318> + 12539: < 0.004602, -0.005939, 0.004267> + 12540: < 0.004267, -0.005939, 0.004602> + 12541: < 0.003975, -0.006080, 0.004668> + 12542: < 0.004017, -0.006257, 0.004374> + 12543: < 0.004318, -0.006105, 0.004318> + 12544: < 0.003975, -0.006080, 0.004668> + 12545: < 0.003666, -0.006210, 0.004736> + 12546: < 0.003701, -0.006397, 0.004434> + 12547: < 0.004017, -0.006257, 0.004374> + 12548: < 0.003666, -0.006210, 0.004736> + 12549: < 0.003342, -0.006329, 0.004804> + 12550: < 0.003372, -0.006525, 0.004494> + 12551: < 0.003701, -0.006397, 0.004434> + 12552: < 0.003342, -0.006329, 0.004804> + 12553: < 0.003004, -0.006439, 0.004870> + 12554: < 0.003030, -0.006641, 0.004553> + 12555: < 0.003372, -0.006525, 0.004494> + 12556: < 0.003004, -0.006439, 0.004870> + 12557: < 0.002655, -0.006537, 0.004931> + 12558: < 0.002676, -0.006745, 0.004609> + 12559: < 0.003030, -0.006641, 0.004553> + 12560: < 0.002655, -0.006537, 0.004931> + 12561: < 0.002295, -0.006623, 0.004987> + 12562: < 0.002313, -0.006836, 0.004659> + 12563: < 0.002676, -0.006745, 0.004609> + 12564: < 0.002295, -0.006623, 0.004987> + 12565: < 0.001926, -0.006698, 0.005037> + 12566: < 0.001940, -0.006915, 0.004705> + 12567: < 0.002313, -0.006836, 0.004659> + 12568: < 0.001926, -0.006698, 0.005037> + 12569: < 0.001550, -0.006761, 0.005080> + 12570: < 0.001561, -0.006980, 0.004744> + 12571: < 0.001940, -0.006915, 0.004705> + 12572: < 0.001550, -0.006761, 0.005080> + 12573: < 0.001168, -0.006810, 0.005114> + 12574: < 0.001176, -0.007032, 0.004776> + 12575: < 0.001561, -0.006980, 0.004744> + 12576: < 0.001168, -0.006810, 0.005114> + 12577: < 0.000781, -0.006846, 0.005140> + 12578: < 0.000786, -0.007069, 0.004800> + 12579: < 0.001176, -0.007032, 0.004776> + 12580: < 0.000781, -0.006846, 0.005140> + 12581: < 0.000391, -0.006868, 0.005156> + 12582: < 0.000394, -0.007092, 0.004815> + 12583: < 0.000786, -0.007069, 0.004800> + 12584: < 0.000391, -0.006868, 0.005156> + 12585: < 0.000000, -0.006875, 0.005162> + 12586: < 0.000000, -0.007099, 0.004820> + 12587: < 0.000394, -0.007092, 0.004815> + 12588: < 0.000000, -0.006875, 0.005162> + 12589: <-0.000391, -0.006868, 0.005156> + 12590: <-0.000394, -0.007092, 0.004815> + 12591: < 0.000000, -0.007099, 0.004820> + 12592: <-0.000391, -0.006868, 0.005156> + 12593: <-0.000781, -0.006846, 0.005140> + 12594: <-0.000786, -0.007069, 0.004800> + 12595: <-0.000394, -0.007092, 0.004815> + 12596: <-0.000781, -0.006846, 0.005140> + 12597: <-0.001168, -0.006810, 0.005114> + 12598: <-0.001176, -0.007032, 0.004776> + 12599: <-0.000786, -0.007069, 0.004800> + 12600: <-0.001168, -0.006810, 0.005114> + 12601: <-0.001550, -0.006761, 0.005080> + 12602: <-0.001561, -0.006980, 0.004744> + 12603: <-0.001176, -0.007032, 0.004776> + 12604: <-0.001550, -0.006761, 0.005080> + 12605: <-0.001926, -0.006698, 0.005037> + 12606: <-0.001940, -0.006915, 0.004705> + 12607: <-0.001561, -0.006980, 0.004744> + 12608: <-0.001926, -0.006698, 0.005037> + 12609: <-0.002295, -0.006623, 0.004987> + 12610: <-0.002313, -0.006836, 0.004659> + 12611: <-0.001940, -0.006915, 0.004705> + 12612: <-0.002295, -0.006623, 0.004987> + 12613: <-0.002655, -0.006537, 0.004931> + 12614: <-0.002676, -0.006745, 0.004609> + 12615: <-0.002313, -0.006836, 0.004659> + 12616: <-0.002655, -0.006537, 0.004931> + 12617: <-0.003004, -0.006439, 0.004870> + 12618: <-0.003030, -0.006641, 0.004553> + 12619: <-0.002676, -0.006745, 0.004609> + 12620: <-0.003004, -0.006439, 0.004870> + 12621: <-0.003342, -0.006329, 0.004804> + 12622: <-0.003372, -0.006525, 0.004494> + 12623: <-0.003030, -0.006641, 0.004553> + 12624: <-0.003342, -0.006329, 0.004804> + 12625: <-0.003666, -0.006210, 0.004736> + 12626: <-0.003701, -0.006397, 0.004434> + 12627: <-0.003372, -0.006525, 0.004494> + 12628: <-0.003666, -0.006210, 0.004736> + 12629: <-0.003975, -0.006080, 0.004668> + 12630: <-0.004017, -0.006257, 0.004374> + 12631: <-0.003701, -0.006397, 0.004434> + 12632: <-0.003975, -0.006080, 0.004668> + 12633: <-0.004267, -0.005939, 0.004602> + 12634: <-0.004318, -0.006105, 0.004318> + 12635: <-0.004017, -0.006257, 0.004374> + 12636: <-0.004267, -0.005939, 0.004602> + 12637: <-0.004542, -0.005788, 0.004542> + 12638: <-0.004602, -0.005939, 0.004267> + 12639: <-0.004318, -0.006105, 0.004318> + 12640: <-0.004542, -0.005788, 0.004542> + 12641: <-0.004798, -0.005623, 0.004494> + 12642: <-0.004870, -0.005760, 0.004226> + 12643: <-0.004602, -0.005939, 0.004267> + 12644: <-0.004798, -0.005623, 0.004494> + 12645: <-0.005034, -0.005446, 0.004460> + 12646: <-0.005120, -0.005564, 0.004199> + 12647: <-0.004870, -0.005760, 0.004226> + 12648: < 0.005120, -0.005564, 0.004199> + 12649: < 0.004870, -0.005760, 0.004226> + 12650: < 0.004946, -0.005887, 0.003941> + 12651: < 0.005207, -0.005678, 0.003918> + 12652: < 0.004870, -0.005760, 0.004226> + 12653: < 0.004602, -0.005939, 0.004267> + 12654: < 0.004668, -0.006080, 0.003975> + 12655: < 0.004946, -0.005887, 0.003941> + 12656: < 0.004602, -0.005939, 0.004267> + 12657: < 0.004318, -0.006105, 0.004318> + 12658: < 0.004374, -0.006257, 0.004017> + 12659: < 0.004668, -0.006080, 0.003975> + 12660: < 0.004318, -0.006105, 0.004318> + 12661: < 0.004017, -0.006257, 0.004374> + 12662: < 0.004065, -0.006421, 0.004065> + 12663: < 0.004374, -0.006257, 0.004017> + 12664: < 0.004017, -0.006257, 0.004374> + 12665: < 0.003701, -0.006397, 0.004434> + 12666: < 0.003743, -0.006570, 0.004117> + 12667: < 0.004065, -0.006421, 0.004065> + 12668: < 0.003701, -0.006397, 0.004434> + 12669: < 0.003372, -0.006525, 0.004494> + 12670: < 0.003407, -0.006705, 0.004170> + 12671: < 0.003743, -0.006570, 0.004117> + 12672: < 0.003372, -0.006525, 0.004494> + 12673: < 0.003030, -0.006641, 0.004553> + 12674: < 0.003060, -0.006828, 0.004223> + 12675: < 0.003407, -0.006705, 0.004170> + 12676: < 0.003030, -0.006641, 0.004553> + 12677: < 0.002676, -0.006745, 0.004609> + 12678: < 0.002701, -0.006937, 0.004273> + 12679: < 0.003060, -0.006828, 0.004223> + 12680: < 0.002676, -0.006745, 0.004609> + 12681: < 0.002313, -0.006836, 0.004659> + 12682: < 0.002333, -0.007033, 0.004318> + 12683: < 0.002701, -0.006937, 0.004273> + 12684: < 0.002313, -0.006836, 0.004659> + 12685: < 0.001940, -0.006915, 0.004705> + 12686: < 0.001957, -0.007115, 0.004360> + 12687: < 0.002333, -0.007033, 0.004318> + 12688: < 0.001940, -0.006915, 0.004705> + 12689: < 0.001561, -0.006980, 0.004744> + 12690: < 0.001574, -0.007183, 0.004395> + 12691: < 0.001957, -0.007115, 0.004360> + 12692: < 0.001561, -0.006980, 0.004744> + 12693: < 0.001176, -0.007032, 0.004776> + 12694: < 0.001185, -0.007236, 0.004424> + 12695: < 0.001574, -0.007183, 0.004395> + 12696: < 0.001176, -0.007032, 0.004776> + 12697: < 0.000786, -0.007069, 0.004800> + 12698: < 0.000792, -0.007275, 0.004446> + 12699: < 0.001185, -0.007236, 0.004424> + 12700: < 0.000786, -0.007069, 0.004800> + 12701: < 0.000394, -0.007092, 0.004815> + 12702: < 0.000397, -0.007298, 0.004460> + 12703: < 0.000792, -0.007275, 0.004446> + 12704: < 0.000394, -0.007092, 0.004815> + 12705: < 0.000000, -0.007099, 0.004820> + 12706: < 0.000000, -0.007306, 0.004465> + 12707: < 0.000397, -0.007298, 0.004460> + 12708: < 0.000000, -0.007099, 0.004820> + 12709: <-0.000394, -0.007092, 0.004815> + 12710: <-0.000397, -0.007298, 0.004460> + 12711: < 0.000000, -0.007306, 0.004465> + 12712: <-0.000394, -0.007092, 0.004815> + 12713: <-0.000786, -0.007069, 0.004800> + 12714: <-0.000792, -0.007275, 0.004446> + 12715: <-0.000397, -0.007298, 0.004460> + 12716: <-0.000786, -0.007069, 0.004800> + 12717: <-0.001176, -0.007032, 0.004776> + 12718: <-0.001185, -0.007236, 0.004424> + 12719: <-0.000792, -0.007275, 0.004446> + 12720: <-0.001176, -0.007032, 0.004776> + 12721: <-0.001561, -0.006980, 0.004744> + 12722: <-0.001574, -0.007183, 0.004395> + 12723: <-0.001185, -0.007236, 0.004424> + 12724: <-0.001561, -0.006980, 0.004744> + 12725: <-0.001940, -0.006915, 0.004705> + 12726: <-0.001957, -0.007115, 0.004360> + 12727: <-0.001574, -0.007183, 0.004395> + 12728: <-0.001940, -0.006915, 0.004705> + 12729: <-0.002313, -0.006836, 0.004659> + 12730: <-0.002333, -0.007033, 0.004318> + 12731: <-0.001957, -0.007115, 0.004360> + 12732: <-0.002313, -0.006836, 0.004659> + 12733: <-0.002676, -0.006745, 0.004609> + 12734: <-0.002701, -0.006937, 0.004273> + 12735: <-0.002333, -0.007033, 0.004318> + 12736: <-0.002676, -0.006745, 0.004609> + 12737: <-0.003030, -0.006641, 0.004553> + 12738: <-0.003060, -0.006828, 0.004223> + 12739: <-0.002701, -0.006937, 0.004273> + 12740: <-0.003030, -0.006641, 0.004553> + 12741: <-0.003372, -0.006525, 0.004494> + 12742: <-0.003407, -0.006705, 0.004170> + 12743: <-0.003060, -0.006828, 0.004223> + 12744: <-0.003372, -0.006525, 0.004494> + 12745: <-0.003701, -0.006397, 0.004434> + 12746: <-0.003743, -0.006570, 0.004117> + 12747: <-0.003407, -0.006705, 0.004170> + 12748: <-0.003701, -0.006397, 0.004434> + 12749: <-0.004017, -0.006257, 0.004374> + 12750: <-0.004065, -0.006421, 0.004065> + 12751: <-0.003743, -0.006570, 0.004117> + 12752: <-0.004017, -0.006257, 0.004374> + 12753: <-0.004318, -0.006105, 0.004318> + 12754: <-0.004374, -0.006257, 0.004017> + 12755: <-0.004065, -0.006421, 0.004065> + 12756: <-0.004318, -0.006105, 0.004318> + 12757: <-0.004602, -0.005939, 0.004267> + 12758: <-0.004668, -0.006080, 0.003975> + 12759: <-0.004374, -0.006257, 0.004017> + 12760: <-0.004602, -0.005939, 0.004267> + 12761: <-0.004870, -0.005760, 0.004226> + 12762: <-0.004946, -0.005887, 0.003941> + 12763: <-0.004668, -0.006080, 0.003975> + 12764: <-0.004870, -0.005760, 0.004226> + 12765: <-0.005120, -0.005564, 0.004199> + 12766: <-0.005207, -0.005678, 0.003918> + 12767: <-0.004946, -0.005887, 0.003941> + 12768: < 0.005207, -0.005678, 0.003918> + 12769: < 0.004946, -0.005887, 0.003941> + 12770: < 0.005023, -0.006006, 0.003637> + 12771: < 0.005294, -0.005786, 0.003619> + 12772: < 0.004946, -0.005887, 0.003941> + 12773: < 0.004668, -0.006080, 0.003975> + 12774: < 0.004736, -0.006210, 0.003666> + 12775: < 0.005023, -0.006006, 0.003637> + 12776: < 0.004668, -0.006080, 0.003975> + 12777: < 0.004374, -0.006257, 0.004017> + 12778: < 0.004434, -0.006397, 0.003701> + 12779: < 0.004736, -0.006210, 0.003666> + 12780: < 0.004374, -0.006257, 0.004017> + 12781: < 0.004065, -0.006421, 0.004065> + 12782: < 0.004117, -0.006570, 0.003743> + 12783: < 0.004434, -0.006397, 0.003701> + 12784: < 0.004065, -0.006421, 0.004065> + 12785: < 0.003743, -0.006570, 0.004117> + 12786: < 0.003788, -0.006727, 0.003788> + 12787: < 0.004117, -0.006570, 0.003743> + 12788: < 0.003743, -0.006570, 0.004117> + 12789: < 0.003407, -0.006705, 0.004170> + 12790: < 0.003446, -0.006870, 0.003834> + 12791: < 0.003788, -0.006727, 0.003788> + 12792: < 0.003407, -0.006705, 0.004170> + 12793: < 0.003060, -0.006828, 0.004223> + 12794: < 0.003093, -0.006998, 0.003880> + 12795: < 0.003446, -0.006870, 0.003834> + 12796: < 0.003060, -0.006828, 0.004223> + 12797: < 0.002701, -0.006937, 0.004273> + 12798: < 0.002729, -0.007112, 0.003924> + 12799: < 0.003093, -0.006998, 0.003880> + 12800: < 0.002701, -0.006937, 0.004273> + 12801: < 0.002333, -0.007033, 0.004318> + 12802: < 0.002356, -0.007212, 0.003965> + 12803: < 0.002729, -0.007112, 0.003924> + 12804: < 0.002333, -0.007033, 0.004318> + 12805: < 0.001957, -0.007115, 0.004360> + 12806: < 0.001975, -0.007297, 0.004002> + 12807: < 0.002356, -0.007212, 0.003965> + 12808: < 0.001957, -0.007115, 0.004360> + 12809: < 0.001574, -0.007183, 0.004395> + 12810: < 0.001588, -0.007367, 0.004034> + 12811: < 0.001975, -0.007297, 0.004002> + 12812: < 0.001574, -0.007183, 0.004395> + 12813: < 0.001185, -0.007236, 0.004424> + 12814: < 0.001196, -0.007423, 0.004061> + 12815: < 0.001588, -0.007367, 0.004034> + 12816: < 0.001185, -0.007236, 0.004424> + 12817: < 0.000792, -0.007275, 0.004446> + 12818: < 0.000799, -0.007462, 0.004081> + 12819: < 0.001196, -0.007423, 0.004061> + 12820: < 0.000792, -0.007275, 0.004446> + 12821: < 0.000397, -0.007298, 0.004460> + 12822: < 0.000400, -0.007487, 0.004093> + 12823: < 0.000799, -0.007462, 0.004081> + 12824: < 0.000397, -0.007298, 0.004460> + 12825: < 0.000000, -0.007306, 0.004465> + 12826: < 0.000000, -0.007495, 0.004098> + 12827: < 0.000400, -0.007487, 0.004093> + 12828: < 0.000000, -0.007306, 0.004465> + 12829: <-0.000397, -0.007298, 0.004460> + 12830: <-0.000400, -0.007487, 0.004093> + 12831: < 0.000000, -0.007495, 0.004098> + 12832: <-0.000397, -0.007298, 0.004460> + 12833: <-0.000792, -0.007275, 0.004446> + 12834: <-0.000799, -0.007462, 0.004081> + 12835: <-0.000400, -0.007487, 0.004093> + 12836: <-0.000792, -0.007275, 0.004446> + 12837: <-0.001185, -0.007236, 0.004424> + 12838: <-0.001196, -0.007423, 0.004061> + 12839: <-0.000799, -0.007462, 0.004081> + 12840: <-0.001185, -0.007236, 0.004424> + 12841: <-0.001574, -0.007183, 0.004395> + 12842: <-0.001588, -0.007367, 0.004034> + 12843: <-0.001196, -0.007423, 0.004061> + 12844: <-0.001574, -0.007183, 0.004395> + 12845: <-0.001957, -0.007115, 0.004360> + 12846: <-0.001975, -0.007297, 0.004002> + 12847: <-0.001588, -0.007367, 0.004034> + 12848: <-0.001957, -0.007115, 0.004360> + 12849: <-0.002333, -0.007033, 0.004318> + 12850: <-0.002356, -0.007212, 0.003965> + 12851: <-0.001975, -0.007297, 0.004002> + 12852: <-0.002333, -0.007033, 0.004318> + 12853: <-0.002701, -0.006937, 0.004273> + 12854: <-0.002729, -0.007112, 0.003924> + 12855: <-0.002356, -0.007212, 0.003965> + 12856: <-0.002701, -0.006937, 0.004273> + 12857: <-0.003060, -0.006828, 0.004223> + 12858: <-0.003093, -0.006998, 0.003880> + 12859: <-0.002729, -0.007112, 0.003924> + 12860: <-0.003060, -0.006828, 0.004223> + 12861: <-0.003407, -0.006705, 0.004170> + 12862: <-0.003446, -0.006870, 0.003834> + 12863: <-0.003093, -0.006998, 0.003880> + 12864: <-0.003407, -0.006705, 0.004170> + 12865: <-0.003743, -0.006570, 0.004117> + 12866: <-0.003788, -0.006727, 0.003788> + 12867: <-0.003446, -0.006870, 0.003834> + 12868: <-0.003743, -0.006570, 0.004117> + 12869: <-0.004065, -0.006421, 0.004065> + 12870: <-0.004117, -0.006570, 0.003743> + 12871: <-0.003788, -0.006727, 0.003788> + 12872: <-0.004065, -0.006421, 0.004065> + 12873: <-0.004374, -0.006257, 0.004017> + 12874: <-0.004434, -0.006397, 0.003701> + 12875: <-0.004117, -0.006570, 0.003743> + 12876: <-0.004374, -0.006257, 0.004017> + 12877: <-0.004668, -0.006080, 0.003975> + 12878: <-0.004736, -0.006210, 0.003666> + 12879: <-0.004434, -0.006397, 0.003701> + 12880: <-0.004668, -0.006080, 0.003975> + 12881: <-0.004946, -0.005887, 0.003941> + 12882: <-0.005023, -0.006006, 0.003637> + 12883: <-0.004736, -0.006210, 0.003666> + 12884: <-0.004946, -0.005887, 0.003941> + 12885: <-0.005207, -0.005678, 0.003918> + 12886: <-0.005294, -0.005786, 0.003619> + 12887: <-0.005023, -0.006006, 0.003637> + 12888: < 0.005294, -0.005786, 0.003619> + 12889: < 0.005023, -0.006006, 0.003637> + 12890: < 0.005099, -0.006117, 0.003318> + 12891: < 0.005379, -0.005888, 0.003302> + 12892: < 0.005023, -0.006006, 0.003637> + 12893: < 0.004736, -0.006210, 0.003666> + 12894: < 0.004804, -0.006329, 0.003342> + 12895: < 0.005099, -0.006117, 0.003318> + 12896: < 0.004736, -0.006210, 0.003666> + 12897: < 0.004434, -0.006397, 0.003701> + 12898: < 0.004494, -0.006525, 0.003372> + 12899: < 0.004804, -0.006329, 0.003342> + 12900: < 0.004434, -0.006397, 0.003701> + 12901: < 0.004117, -0.006570, 0.003743> + 12902: < 0.004170, -0.006705, 0.003407> + 12903: < 0.004494, -0.006525, 0.003372> + 12904: < 0.004117, -0.006570, 0.003743> + 12905: < 0.003788, -0.006727, 0.003788> + 12906: < 0.003834, -0.006870, 0.003446> + 12907: < 0.004170, -0.006705, 0.003407> + 12908: < 0.003788, -0.006727, 0.003788> + 12909: < 0.003446, -0.006870, 0.003834> + 12910: < 0.003486, -0.007018, 0.003486> + 12911: < 0.003834, -0.006870, 0.003446> + 12912: < 0.003446, -0.006870, 0.003834> + 12913: < 0.003093, -0.006998, 0.003880> + 12914: < 0.003127, -0.007152, 0.003526> + 12915: < 0.003486, -0.007018, 0.003486> + 12916: < 0.003093, -0.006998, 0.003880> + 12917: < 0.002729, -0.007112, 0.003924> + 12918: < 0.002758, -0.007270, 0.003565> + 12919: < 0.003127, -0.007152, 0.003526> + 12920: < 0.002729, -0.007112, 0.003924> + 12921: < 0.002356, -0.007212, 0.003965> + 12922: < 0.002380, -0.007374, 0.003601> + 12923: < 0.002758, -0.007270, 0.003565> + 12924: < 0.002356, -0.007212, 0.003965> + 12925: < 0.001975, -0.007297, 0.004002> + 12926: < 0.001995, -0.007462, 0.003634> + 12927: < 0.002380, -0.007374, 0.003601> + 12928: < 0.001975, -0.007297, 0.004002> + 12929: < 0.001588, -0.007367, 0.004034> + 12930: < 0.001603, -0.007535, 0.003663> + 12931: < 0.001995, -0.007462, 0.003634> + 12932: < 0.001588, -0.007367, 0.004034> + 12933: < 0.001196, -0.007423, 0.004061> + 12934: < 0.001207, -0.007591, 0.003686> + 12935: < 0.001603, -0.007535, 0.003663> + 12936: < 0.001196, -0.007423, 0.004061> + 12937: < 0.000799, -0.007462, 0.004081> + 12938: < 0.000807, -0.007632, 0.003704> + 12939: < 0.001207, -0.007591, 0.003686> + 12940: < 0.000799, -0.007462, 0.004081> + 12941: < 0.000400, -0.007487, 0.004093> + 12942: < 0.000404, -0.007657, 0.003716> + 12943: < 0.000807, -0.007632, 0.003704> + 12944: < 0.000400, -0.007487, 0.004093> + 12945: < 0.000000, -0.007495, 0.004098> + 12946: < 0.000000, -0.007665, 0.003720> + 12947: < 0.000404, -0.007657, 0.003716> + 12948: < 0.000000, -0.007495, 0.004098> + 12949: <-0.000400, -0.007487, 0.004093> + 12950: <-0.000404, -0.007657, 0.003716> + 12951: < 0.000000, -0.007665, 0.003720> + 12952: <-0.000400, -0.007487, 0.004093> + 12953: <-0.000799, -0.007462, 0.004081> + 12954: <-0.000807, -0.007632, 0.003704> + 12955: <-0.000404, -0.007657, 0.003716> + 12956: <-0.000799, -0.007462, 0.004081> + 12957: <-0.001196, -0.007423, 0.004061> + 12958: <-0.001207, -0.007591, 0.003686> + 12959: <-0.000807, -0.007632, 0.003704> + 12960: <-0.001196, -0.007423, 0.004061> + 12961: <-0.001588, -0.007367, 0.004034> + 12962: <-0.001603, -0.007535, 0.003663> + 12963: <-0.001207, -0.007591, 0.003686> + 12964: <-0.001588, -0.007367, 0.004034> + 12965: <-0.001975, -0.007297, 0.004002> + 12966: <-0.001995, -0.007462, 0.003634> + 12967: <-0.001603, -0.007535, 0.003663> + 12968: <-0.001975, -0.007297, 0.004002> + 12969: <-0.002356, -0.007212, 0.003965> + 12970: <-0.002380, -0.007374, 0.003601> + 12971: <-0.001995, -0.007462, 0.003634> + 12972: <-0.002356, -0.007212, 0.003965> + 12973: <-0.002729, -0.007112, 0.003924> + 12974: <-0.002758, -0.007270, 0.003565> + 12975: <-0.002380, -0.007374, 0.003601> + 12976: <-0.002729, -0.007112, 0.003924> + 12977: <-0.003093, -0.006998, 0.003880> + 12978: <-0.003127, -0.007152, 0.003526> + 12979: <-0.002758, -0.007270, 0.003565> + 12980: <-0.003093, -0.006998, 0.003880> + 12981: <-0.003446, -0.006870, 0.003834> + 12982: <-0.003486, -0.007018, 0.003486> + 12983: <-0.003127, -0.007152, 0.003526> + 12984: <-0.003446, -0.006870, 0.003834> + 12985: <-0.003788, -0.006727, 0.003788> + 12986: <-0.003834, -0.006870, 0.003446> + 12987: <-0.003486, -0.007018, 0.003486> + 12988: <-0.003788, -0.006727, 0.003788> + 12989: <-0.004117, -0.006570, 0.003743> + 12990: <-0.004170, -0.006705, 0.003407> + 12991: <-0.003834, -0.006870, 0.003446> + 12992: <-0.004117, -0.006570, 0.003743> + 12993: <-0.004434, -0.006397, 0.003701> + 12994: <-0.004494, -0.006525, 0.003372> + 12995: <-0.004170, -0.006705, 0.003407> + 12996: <-0.004434, -0.006397, 0.003701> + 12997: <-0.004736, -0.006210, 0.003666> + 12998: <-0.004804, -0.006329, 0.003342> + 12999: <-0.004494, -0.006525, 0.003372> + 13000: <-0.004736, -0.006210, 0.003666> + 13001: <-0.005023, -0.006006, 0.003637> + 13002: <-0.005099, -0.006117, 0.003318> + 13003: <-0.004804, -0.006329, 0.003342> + 13004: <-0.005023, -0.006006, 0.003637> + 13005: <-0.005294, -0.005786, 0.003619> + 13006: <-0.005379, -0.005888, 0.003302> + 13007: <-0.005099, -0.006117, 0.003318> + 13008: < 0.005379, -0.005888, 0.003302> + 13009: < 0.005099, -0.006117, 0.003318> + 13010: < 0.005172, -0.006219, 0.002984> + 13011: < 0.005459, -0.005983, 0.002971> + 13012: < 0.005099, -0.006117, 0.003318> + 13013: < 0.004804, -0.006329, 0.003342> + 13014: < 0.004870, -0.006439, 0.003004> + 13015: < 0.005172, -0.006219, 0.002984> + 13016: < 0.004804, -0.006329, 0.003342> + 13017: < 0.004494, -0.006525, 0.003372> + 13018: < 0.004553, -0.006641, 0.003030> + 13019: < 0.004870, -0.006439, 0.003004> + 13020: < 0.004494, -0.006525, 0.003372> + 13021: < 0.004170, -0.006705, 0.003407> + 13022: < 0.004223, -0.006828, 0.003060> + 13023: < 0.004553, -0.006641, 0.003030> + 13024: < 0.004170, -0.006705, 0.003407> + 13025: < 0.003834, -0.006870, 0.003446> + 13026: < 0.003880, -0.006998, 0.003093> + 13027: < 0.004223, -0.006828, 0.003060> + 13028: < 0.003834, -0.006870, 0.003446> + 13029: < 0.003486, -0.007018, 0.003486> + 13030: < 0.003526, -0.007152, 0.003127> + 13031: < 0.003880, -0.006998, 0.003093> + 13032: < 0.003486, -0.007018, 0.003486> + 13033: < 0.003127, -0.007152, 0.003526> + 13034: < 0.003162, -0.007290, 0.003162> + 13035: < 0.003526, -0.007152, 0.003127> + 13036: < 0.003127, -0.007152, 0.003526> + 13037: < 0.002758, -0.007270, 0.003565> + 13038: < 0.002787, -0.007412, 0.003195> + 13039: < 0.003162, -0.007290, 0.003162> + 13040: < 0.002758, -0.007270, 0.003565> + 13041: < 0.002380, -0.007374, 0.003601> + 13042: < 0.002405, -0.007519, 0.003227> + 13043: < 0.002787, -0.007412, 0.003195> + 13044: < 0.002380, -0.007374, 0.003601> + 13045: < 0.001995, -0.007462, 0.003634> + 13046: < 0.002015, -0.007610, 0.003255> + 13047: < 0.002405, -0.007519, 0.003227> + 13048: < 0.001995, -0.007462, 0.003634> + 13049: < 0.001603, -0.007535, 0.003663> + 13050: < 0.001619, -0.007684, 0.003281> + 13051: < 0.002015, -0.007610, 0.003255> + 13052: < 0.001603, -0.007535, 0.003663> + 13053: < 0.001207, -0.007591, 0.003686> + 13054: < 0.001219, -0.007743, 0.003302> + 13055: < 0.001619, -0.007684, 0.003281> + 13056: < 0.001207, -0.007591, 0.003686> + 13057: < 0.000807, -0.007632, 0.003704> + 13058: < 0.000814, -0.007785, 0.003318> + 13059: < 0.001219, -0.007743, 0.003302> + 13060: < 0.000807, -0.007632, 0.003704> + 13061: < 0.000404, -0.007657, 0.003716> + 13062: < 0.000408, -0.007810, 0.003328> + 13063: < 0.000814, -0.007785, 0.003318> + 13064: < 0.000404, -0.007657, 0.003716> + 13065: < 0.000000, -0.007665, 0.003720> + 13066: < 0.000000, -0.007818, 0.003331> + 13067: < 0.000408, -0.007810, 0.003328> + 13068: < 0.000000, -0.007665, 0.003720> + 13069: <-0.000404, -0.007657, 0.003716> + 13070: <-0.000408, -0.007810, 0.003328> + 13071: < 0.000000, -0.007818, 0.003331> + 13072: <-0.000404, -0.007657, 0.003716> + 13073: <-0.000807, -0.007632, 0.003704> + 13074: <-0.000814, -0.007785, 0.003318> + 13075: <-0.000408, -0.007810, 0.003328> + 13076: <-0.000807, -0.007632, 0.003704> + 13077: <-0.001207, -0.007591, 0.003686> + 13078: <-0.001219, -0.007743, 0.003302> + 13079: <-0.000814, -0.007785, 0.003318> + 13080: <-0.001207, -0.007591, 0.003686> + 13081: <-0.001603, -0.007535, 0.003663> + 13082: <-0.001619, -0.007684, 0.003281> + 13083: <-0.001219, -0.007743, 0.003302> + 13084: <-0.001603, -0.007535, 0.003663> + 13085: <-0.001995, -0.007462, 0.003634> + 13086: <-0.002015, -0.007610, 0.003255> + 13087: <-0.001619, -0.007684, 0.003281> + 13088: <-0.001995, -0.007462, 0.003634> + 13089: <-0.002380, -0.007374, 0.003601> + 13090: <-0.002405, -0.007519, 0.003227> + 13091: <-0.002015, -0.007610, 0.003255> + 13092: <-0.002380, -0.007374, 0.003601> + 13093: <-0.002758, -0.007270, 0.003565> + 13094: <-0.002787, -0.007412, 0.003195> + 13095: <-0.002405, -0.007519, 0.003227> + 13096: <-0.002758, -0.007270, 0.003565> + 13097: <-0.003127, -0.007152, 0.003526> + 13098: <-0.003162, -0.007290, 0.003162> + 13099: <-0.002787, -0.007412, 0.003195> + 13100: <-0.003127, -0.007152, 0.003526> + 13101: <-0.003486, -0.007018, 0.003486> + 13102: <-0.003526, -0.007152, 0.003127> + 13103: <-0.003162, -0.007290, 0.003162> + 13104: <-0.003486, -0.007018, 0.003486> + 13105: <-0.003834, -0.006870, 0.003446> + 13106: <-0.003880, -0.006998, 0.003093> + 13107: <-0.003526, -0.007152, 0.003127> + 13108: <-0.003834, -0.006870, 0.003446> + 13109: <-0.004170, -0.006705, 0.003407> + 13110: <-0.004223, -0.006828, 0.003060> + 13111: <-0.003880, -0.006998, 0.003093> + 13112: <-0.004170, -0.006705, 0.003407> + 13113: <-0.004494, -0.006525, 0.003372> + 13114: <-0.004553, -0.006641, 0.003030> + 13115: <-0.004223, -0.006828, 0.003060> + 13116: <-0.004494, -0.006525, 0.003372> + 13117: <-0.004804, -0.006329, 0.003342> + 13118: <-0.004870, -0.006439, 0.003004> + 13119: <-0.004553, -0.006641, 0.003030> + 13120: <-0.004804, -0.006329, 0.003342> + 13121: <-0.005099, -0.006117, 0.003318> + 13122: <-0.005172, -0.006219, 0.002984> + 13123: <-0.004870, -0.006439, 0.003004> + 13124: <-0.005099, -0.006117, 0.003318> + 13125: <-0.005379, -0.005888, 0.003302> + 13126: <-0.005459, -0.005983, 0.002971> + 13127: <-0.005172, -0.006219, 0.002984> + 13128: < 0.005459, -0.005983, 0.002971> + 13129: < 0.005172, -0.006219, 0.002984> + 13130: < 0.005240, -0.006311, 0.002638> + 13131: < 0.005533, -0.006069, 0.002627> + 13132: < 0.005172, -0.006219, 0.002984> + 13133: < 0.004870, -0.006439, 0.003004> + 13134: < 0.004931, -0.006537, 0.002655> + 13135: < 0.005240, -0.006311, 0.002638> + 13136: < 0.004870, -0.006439, 0.003004> + 13137: < 0.004553, -0.006641, 0.003030> + 13138: < 0.004609, -0.006745, 0.002676> + 13139: < 0.004931, -0.006537, 0.002655> + 13140: < 0.004553, -0.006641, 0.003030> + 13141: < 0.004223, -0.006828, 0.003060> + 13142: < 0.004273, -0.006937, 0.002701> + 13143: < 0.004609, -0.006745, 0.002676> + 13144: < 0.004223, -0.006828, 0.003060> + 13145: < 0.003880, -0.006998, 0.003093> + 13146: < 0.003924, -0.007112, 0.002729> + 13147: < 0.004273, -0.006937, 0.002701> + 13148: < 0.003880, -0.006998, 0.003093> + 13149: < 0.003526, -0.007152, 0.003127> + 13150: < 0.003565, -0.007270, 0.002758> + 13151: < 0.003924, -0.007112, 0.002729> + 13152: < 0.003526, -0.007152, 0.003127> + 13153: < 0.003162, -0.007290, 0.003162> + 13154: < 0.003195, -0.007412, 0.002787> + 13155: < 0.003565, -0.007270, 0.002758> + 13156: < 0.003162, -0.007290, 0.003162> + 13157: < 0.002787, -0.007412, 0.003195> + 13158: < 0.002816, -0.007538, 0.002816> + 13159: < 0.003195, -0.007412, 0.002787> + 13160: < 0.002787, -0.007412, 0.003195> + 13161: < 0.002405, -0.007519, 0.003227> + 13162: < 0.002429, -0.007648, 0.002843> + 13163: < 0.002816, -0.007538, 0.002816> + 13164: < 0.002405, -0.007519, 0.003227> + 13165: < 0.002015, -0.007610, 0.003255> + 13166: < 0.002035, -0.007740, 0.002868> + 13167: < 0.002429, -0.007648, 0.002843> + 13168: < 0.002015, -0.007610, 0.003255> + 13169: < 0.001619, -0.007684, 0.003281> + 13170: < 0.001635, -0.007817, 0.002890> + 13171: < 0.002035, -0.007740, 0.002868> + 13172: < 0.001619, -0.007684, 0.003281> + 13173: < 0.001219, -0.007743, 0.003302> + 13174: < 0.001230, -0.007876, 0.002908> + 13175: < 0.001635, -0.007817, 0.002890> + 13176: < 0.001219, -0.007743, 0.003302> + 13177: < 0.000814, -0.007785, 0.003318> + 13178: < 0.000822, -0.007919, 0.002922> + 13179: < 0.001230, -0.007876, 0.002908> + 13180: < 0.000814, -0.007785, 0.003318> + 13181: < 0.000408, -0.007810, 0.003328> + 13182: < 0.000412, -0.007945, 0.002931> + 13183: < 0.000822, -0.007919, 0.002922> + 13184: < 0.000408, -0.007810, 0.003328> + 13185: < 0.000000, -0.007818, 0.003331> + 13186: < 0.000000, -0.007953, 0.002934> + 13187: < 0.000412, -0.007945, 0.002931> + 13188: < 0.000000, -0.007818, 0.003331> + 13189: <-0.000408, -0.007810, 0.003328> + 13190: <-0.000412, -0.007945, 0.002931> + 13191: < 0.000000, -0.007953, 0.002934> + 13192: <-0.000408, -0.007810, 0.003328> + 13193: <-0.000814, -0.007785, 0.003318> + 13194: <-0.000822, -0.007919, 0.002922> + 13195: <-0.000412, -0.007945, 0.002931> + 13196: <-0.000814, -0.007785, 0.003318> + 13197: <-0.001219, -0.007743, 0.003302> + 13198: <-0.001230, -0.007876, 0.002908> + 13199: <-0.000822, -0.007919, 0.002922> + 13200: <-0.001219, -0.007743, 0.003302> + 13201: <-0.001619, -0.007684, 0.003281> + 13202: <-0.001635, -0.007817, 0.002890> + 13203: <-0.001230, -0.007876, 0.002908> + 13204: <-0.001619, -0.007684, 0.003281> + 13205: <-0.002015, -0.007610, 0.003255> + 13206: <-0.002035, -0.007740, 0.002868> + 13207: <-0.001635, -0.007817, 0.002890> + 13208: <-0.002015, -0.007610, 0.003255> + 13209: <-0.002405, -0.007519, 0.003227> + 13210: <-0.002429, -0.007648, 0.002843> + 13211: <-0.002035, -0.007740, 0.002868> + 13212: <-0.002405, -0.007519, 0.003227> + 13213: <-0.002787, -0.007412, 0.003195> + 13214: <-0.002816, -0.007538, 0.002816> + 13215: <-0.002429, -0.007648, 0.002843> + 13216: <-0.002787, -0.007412, 0.003195> + 13217: <-0.003162, -0.007290, 0.003162> + 13218: <-0.003195, -0.007412, 0.002787> + 13219: <-0.002816, -0.007538, 0.002816> + 13220: <-0.003162, -0.007290, 0.003162> + 13221: <-0.003526, -0.007152, 0.003127> + 13222: <-0.003565, -0.007270, 0.002758> + 13223: <-0.003195, -0.007412, 0.002787> + 13224: <-0.003526, -0.007152, 0.003127> + 13225: <-0.003880, -0.006998, 0.003093> + 13226: <-0.003924, -0.007112, 0.002729> + 13227: <-0.003565, -0.007270, 0.002758> + 13228: <-0.003880, -0.006998, 0.003093> + 13229: <-0.004223, -0.006828, 0.003060> + 13230: <-0.004273, -0.006937, 0.002701> + 13231: <-0.003924, -0.007112, 0.002729> + 13232: <-0.004223, -0.006828, 0.003060> + 13233: <-0.004553, -0.006641, 0.003030> + 13234: <-0.004609, -0.006745, 0.002676> + 13235: <-0.004273, -0.006937, 0.002701> + 13236: <-0.004553, -0.006641, 0.003030> + 13237: <-0.004870, -0.006439, 0.003004> + 13238: <-0.004931, -0.006537, 0.002655> + 13239: <-0.004609, -0.006745, 0.002676> + 13240: <-0.004870, -0.006439, 0.003004> + 13241: <-0.005172, -0.006219, 0.002984> + 13242: <-0.005240, -0.006311, 0.002638> + 13243: <-0.004931, -0.006537, 0.002655> + 13244: <-0.005172, -0.006219, 0.002984> + 13245: <-0.005459, -0.005983, 0.002971> + 13246: <-0.005533, -0.006069, 0.002627> + 13247: <-0.005240, -0.006311, 0.002638> + 13248: < 0.005533, -0.006069, 0.002627> + 13249: < 0.005240, -0.006311, 0.002638> + 13250: < 0.005301, -0.006393, 0.002281> + 13251: < 0.005599, -0.006146, 0.002272> + 13252: < 0.005240, -0.006311, 0.002638> + 13253: < 0.004931, -0.006537, 0.002655> + 13254: < 0.004987, -0.006623, 0.002295> + 13255: < 0.005301, -0.006393, 0.002281> + 13256: < 0.004931, -0.006537, 0.002655> + 13257: < 0.004609, -0.006745, 0.002676> + 13258: < 0.004659, -0.006836, 0.002313> + 13259: < 0.004987, -0.006623, 0.002295> + 13260: < 0.004609, -0.006745, 0.002676> + 13261: < 0.004273, -0.006937, 0.002701> + 13262: < 0.004318, -0.007033, 0.002333> + 13263: < 0.004659, -0.006836, 0.002313> + 13264: < 0.004273, -0.006937, 0.002701> + 13265: < 0.003924, -0.007112, 0.002729> + 13266: < 0.003965, -0.007212, 0.002356> + 13267: < 0.004318, -0.007033, 0.002333> + 13268: < 0.003924, -0.007112, 0.002729> + 13269: < 0.003565, -0.007270, 0.002758> + 13270: < 0.003601, -0.007374, 0.002380> + 13271: < 0.003965, -0.007212, 0.002356> + 13272: < 0.003565, -0.007270, 0.002758> + 13273: < 0.003195, -0.007412, 0.002787> + 13274: < 0.003227, -0.007519, 0.002405> + 13275: < 0.003601, -0.007374, 0.002380> + 13276: < 0.003195, -0.007412, 0.002787> + 13277: < 0.002816, -0.007538, 0.002816> + 13278: < 0.002843, -0.007648, 0.002429> + 13279: < 0.003227, -0.007519, 0.002405> + 13280: < 0.002816, -0.007538, 0.002816> + 13281: < 0.002429, -0.007648, 0.002843> + 13282: < 0.002452, -0.007759, 0.002452> + 13283: < 0.002843, -0.007648, 0.002429> + 13284: < 0.002429, -0.007648, 0.002843> + 13285: < 0.002035, -0.007740, 0.002868> + 13286: < 0.002053, -0.007854, 0.002473> + 13287: < 0.002452, -0.007759, 0.002452> + 13288: < 0.002035, -0.007740, 0.002868> + 13289: < 0.001635, -0.007817, 0.002890> + 13290: < 0.001650, -0.007932, 0.002492> + 13291: < 0.002053, -0.007854, 0.002473> + 13292: < 0.001635, -0.007817, 0.002890> + 13293: < 0.001230, -0.007876, 0.002908> + 13294: < 0.001241, -0.007992, 0.002507> + 13295: < 0.001650, -0.007932, 0.002492> + 13296: < 0.001230, -0.007876, 0.002908> + 13297: < 0.000822, -0.007919, 0.002922> + 13298: < 0.000829, -0.008036, 0.002519> + 13299: < 0.001241, -0.007992, 0.002507> + 13300: < 0.000822, -0.007919, 0.002922> + 13301: < 0.000412, -0.007945, 0.002931> + 13302: < 0.000415, -0.008062, 0.002527> + 13303: < 0.000829, -0.008036, 0.002519> + 13304: < 0.000412, -0.007945, 0.002931> + 13305: < 0.000000, -0.007953, 0.002934> + 13306: < 0.000000, -0.008070, 0.002530> + 13307: < 0.000415, -0.008062, 0.002527> + 13308: < 0.000000, -0.007953, 0.002934> + 13309: <-0.000412, -0.007945, 0.002931> + 13310: <-0.000415, -0.008062, 0.002527> + 13311: < 0.000000, -0.008070, 0.002530> + 13312: <-0.000412, -0.007945, 0.002931> + 13313: <-0.000822, -0.007919, 0.002922> + 13314: <-0.000829, -0.008036, 0.002519> + 13315: <-0.000415, -0.008062, 0.002527> + 13316: <-0.000822, -0.007919, 0.002922> + 13317: <-0.001230, -0.007876, 0.002908> + 13318: <-0.001241, -0.007992, 0.002507> + 13319: <-0.000829, -0.008036, 0.002519> + 13320: <-0.001230, -0.007876, 0.002908> + 13321: <-0.001635, -0.007817, 0.002890> + 13322: <-0.001650, -0.007932, 0.002492> + 13323: <-0.001241, -0.007992, 0.002507> + 13324: <-0.001635, -0.007817, 0.002890> + 13325: <-0.002035, -0.007740, 0.002868> + 13326: <-0.002053, -0.007854, 0.002473> + 13327: <-0.001650, -0.007932, 0.002492> + 13328: <-0.002035, -0.007740, 0.002868> + 13329: <-0.002429, -0.007648, 0.002843> + 13330: <-0.002452, -0.007759, 0.002452> + 13331: <-0.002053, -0.007854, 0.002473> + 13332: <-0.002429, -0.007648, 0.002843> + 13333: <-0.002816, -0.007538, 0.002816> + 13334: <-0.002843, -0.007648, 0.002429> + 13335: <-0.002452, -0.007759, 0.002452> + 13336: <-0.002816, -0.007538, 0.002816> + 13337: <-0.003195, -0.007412, 0.002787> + 13338: <-0.003227, -0.007519, 0.002405> + 13339: <-0.002843, -0.007648, 0.002429> + 13340: <-0.003195, -0.007412, 0.002787> + 13341: <-0.003565, -0.007270, 0.002758> + 13342: <-0.003601, -0.007374, 0.002380> + 13343: <-0.003227, -0.007519, 0.002405> + 13344: <-0.003565, -0.007270, 0.002758> + 13345: <-0.003924, -0.007112, 0.002729> + 13346: <-0.003965, -0.007212, 0.002356> + 13347: <-0.003601, -0.007374, 0.002380> + 13348: <-0.003924, -0.007112, 0.002729> + 13349: <-0.004273, -0.006937, 0.002701> + 13350: <-0.004318, -0.007033, 0.002333> + 13351: <-0.003965, -0.007212, 0.002356> + 13352: <-0.004273, -0.006937, 0.002701> + 13353: <-0.004609, -0.006745, 0.002676> + 13354: <-0.004659, -0.006836, 0.002313> + 13355: <-0.004318, -0.007033, 0.002333> + 13356: <-0.004609, -0.006745, 0.002676> + 13357: <-0.004931, -0.006537, 0.002655> + 13358: <-0.004987, -0.006623, 0.002295> + 13359: <-0.004659, -0.006836, 0.002313> + 13360: <-0.004931, -0.006537, 0.002655> + 13361: <-0.005240, -0.006311, 0.002638> + 13362: <-0.005301, -0.006393, 0.002281> + 13363: <-0.004987, -0.006623, 0.002295> + 13364: <-0.005240, -0.006311, 0.002638> + 13365: <-0.005533, -0.006069, 0.002627> + 13366: <-0.005599, -0.006146, 0.002272> + 13367: <-0.005301, -0.006393, 0.002281> + 13368: < 0.005599, -0.006146, 0.002272> + 13369: < 0.005301, -0.006393, 0.002281> + 13370: < 0.005355, -0.006464, 0.001915> + 13371: < 0.005657, -0.006212, 0.001908> + 13372: < 0.005301, -0.006393, 0.002281> + 13373: < 0.004987, -0.006623, 0.002295> + 13374: < 0.005037, -0.006698, 0.001926> + 13375: < 0.005355, -0.006464, 0.001915> + 13376: < 0.004987, -0.006623, 0.002295> + 13377: < 0.004659, -0.006836, 0.002313> + 13378: < 0.004705, -0.006915, 0.001940> + 13379: < 0.005037, -0.006698, 0.001926> + 13380: < 0.004659, -0.006836, 0.002313> + 13381: < 0.004318, -0.007033, 0.002333> + 13382: < 0.004360, -0.007115, 0.001957> + 13383: < 0.004705, -0.006915, 0.001940> + 13384: < 0.004318, -0.007033, 0.002333> + 13385: < 0.003965, -0.007212, 0.002356> + 13386: < 0.004002, -0.007297, 0.001975> + 13387: < 0.004360, -0.007115, 0.001957> + 13388: < 0.003965, -0.007212, 0.002356> + 13389: < 0.003601, -0.007374, 0.002380> + 13390: < 0.003634, -0.007462, 0.001995> + 13391: < 0.004002, -0.007297, 0.001975> + 13392: < 0.003601, -0.007374, 0.002380> + 13393: < 0.003227, -0.007519, 0.002405> + 13394: < 0.003255, -0.007610, 0.002015> + 13395: < 0.003634, -0.007462, 0.001995> + 13396: < 0.003227, -0.007519, 0.002405> + 13397: < 0.002843, -0.007648, 0.002429> + 13398: < 0.002868, -0.007740, 0.002035> + 13399: < 0.003255, -0.007610, 0.002015> + 13400: < 0.002843, -0.007648, 0.002429> + 13401: < 0.002452, -0.007759, 0.002452> + 13402: < 0.002473, -0.007854, 0.002053> + 13403: < 0.002868, -0.007740, 0.002035> + 13404: < 0.002452, -0.007759, 0.002452> + 13405: < 0.002053, -0.007854, 0.002473> + 13406: < 0.002071, -0.007950, 0.002071> + 13407: < 0.002473, -0.007854, 0.002053> + 13408: < 0.002053, -0.007854, 0.002473> + 13409: < 0.001650, -0.007932, 0.002492> + 13410: < 0.001663, -0.008029, 0.002086> + 13411: < 0.002071, -0.007950, 0.002071> + 13412: < 0.001650, -0.007932, 0.002492> + 13413: < 0.001241, -0.007992, 0.002507> + 13414: < 0.001252, -0.008090, 0.002099> + 13415: < 0.001663, -0.008029, 0.002086> + 13416: < 0.001241, -0.007992, 0.002507> + 13417: < 0.000829, -0.008036, 0.002519> + 13418: < 0.000836, -0.008134, 0.002109> + 13419: < 0.001252, -0.008090, 0.002099> + 13420: < 0.000829, -0.008036, 0.002519> + 13421: < 0.000415, -0.008062, 0.002527> + 13422: < 0.000419, -0.008161, 0.002116> + 13423: < 0.000836, -0.008134, 0.002109> + 13424: < 0.000415, -0.008062, 0.002527> + 13425: < 0.000000, -0.008070, 0.002530> + 13426: < 0.000000, -0.008169, 0.002118> + 13427: < 0.000419, -0.008161, 0.002116> + 13428: < 0.000000, -0.008070, 0.002530> + 13429: <-0.000415, -0.008062, 0.002527> + 13430: <-0.000419, -0.008161, 0.002116> + 13431: < 0.000000, -0.008169, 0.002118> + 13432: <-0.000415, -0.008062, 0.002527> + 13433: <-0.000829, -0.008036, 0.002519> + 13434: <-0.000836, -0.008134, 0.002109> + 13435: <-0.000419, -0.008161, 0.002116> + 13436: <-0.000829, -0.008036, 0.002519> + 13437: <-0.001241, -0.007992, 0.002507> + 13438: <-0.001252, -0.008090, 0.002099> + 13439: <-0.000836, -0.008134, 0.002109> + 13440: <-0.001241, -0.007992, 0.002507> + 13441: <-0.001650, -0.007932, 0.002492> + 13442: <-0.001663, -0.008029, 0.002086> + 13443: <-0.001252, -0.008090, 0.002099> + 13444: <-0.001650, -0.007932, 0.002492> + 13445: <-0.002053, -0.007854, 0.002473> + 13446: <-0.002071, -0.007950, 0.002071> + 13447: <-0.001663, -0.008029, 0.002086> + 13448: <-0.002053, -0.007854, 0.002473> + 13449: <-0.002452, -0.007759, 0.002452> + 13450: <-0.002473, -0.007854, 0.002053> + 13451: <-0.002071, -0.007950, 0.002071> + 13452: <-0.002452, -0.007759, 0.002452> + 13453: <-0.002843, -0.007648, 0.002429> + 13454: <-0.002868, -0.007740, 0.002035> + 13455: <-0.002473, -0.007854, 0.002053> + 13456: <-0.002843, -0.007648, 0.002429> + 13457: <-0.003227, -0.007519, 0.002405> + 13458: <-0.003255, -0.007610, 0.002015> + 13459: <-0.002868, -0.007740, 0.002035> + 13460: <-0.003227, -0.007519, 0.002405> + 13461: <-0.003601, -0.007374, 0.002380> + 13462: <-0.003634, -0.007462, 0.001995> + 13463: <-0.003255, -0.007610, 0.002015> + 13464: <-0.003601, -0.007374, 0.002380> + 13465: <-0.003965, -0.007212, 0.002356> + 13466: <-0.004002, -0.007297, 0.001975> + 13467: <-0.003634, -0.007462, 0.001995> + 13468: <-0.003965, -0.007212, 0.002356> + 13469: <-0.004318, -0.007033, 0.002333> + 13470: <-0.004360, -0.007115, 0.001957> + 13471: <-0.004002, -0.007297, 0.001975> + 13472: <-0.004318, -0.007033, 0.002333> + 13473: <-0.004659, -0.006836, 0.002313> + 13474: <-0.004705, -0.006915, 0.001940> + 13475: <-0.004360, -0.007115, 0.001957> + 13476: <-0.004659, -0.006836, 0.002313> + 13477: <-0.004987, -0.006623, 0.002295> + 13478: <-0.005037, -0.006698, 0.001926> + 13479: <-0.004705, -0.006915, 0.001940> + 13480: <-0.004987, -0.006623, 0.002295> + 13481: <-0.005301, -0.006393, 0.002281> + 13482: <-0.005355, -0.006464, 0.001915> + 13483: <-0.005037, -0.006698, 0.001926> + 13484: <-0.005301, -0.006393, 0.002281> + 13485: <-0.005599, -0.006146, 0.002272> + 13486: <-0.005657, -0.006212, 0.001908> + 13487: <-0.005355, -0.006464, 0.001915> + 13488: < 0.005657, -0.006212, 0.001908> + 13489: < 0.005355, -0.006464, 0.001915> + 13490: < 0.005401, -0.006523, 0.001541> + 13491: < 0.005707, -0.006269, 0.001536> + 13492: < 0.005355, -0.006464, 0.001915> + 13493: < 0.005037, -0.006698, 0.001926> + 13494: < 0.005080, -0.006761, 0.001550> + 13495: < 0.005401, -0.006523, 0.001541> + 13496: < 0.005037, -0.006698, 0.001926> + 13497: < 0.004705, -0.006915, 0.001940> + 13498: < 0.004744, -0.006980, 0.001561> + 13499: < 0.005080, -0.006761, 0.001550> + 13500: < 0.004705, -0.006915, 0.001940> + 13501: < 0.004360, -0.007115, 0.001957> + 13502: < 0.004395, -0.007183, 0.001574> + 13503: < 0.004744, -0.006980, 0.001561> + 13504: < 0.004360, -0.007115, 0.001957> + 13505: < 0.004002, -0.007297, 0.001975> + 13506: < 0.004034, -0.007367, 0.001588> + 13507: < 0.004395, -0.007183, 0.001574> + 13508: < 0.004002, -0.007297, 0.001975> + 13509: < 0.003634, -0.007462, 0.001995> + 13510: < 0.003663, -0.007535, 0.001603> + 13511: < 0.004034, -0.007367, 0.001588> + 13512: < 0.003634, -0.007462, 0.001995> + 13513: < 0.003255, -0.007610, 0.002015> + 13514: < 0.003281, -0.007684, 0.001619> + 13515: < 0.003663, -0.007535, 0.001603> + 13516: < 0.003255, -0.007610, 0.002015> + 13517: < 0.002868, -0.007740, 0.002035> + 13518: < 0.002890, -0.007817, 0.001635> + 13519: < 0.003281, -0.007684, 0.001619> + 13520: < 0.002868, -0.007740, 0.002035> + 13521: < 0.002473, -0.007854, 0.002053> + 13522: < 0.002492, -0.007932, 0.001650> + 13523: < 0.002890, -0.007817, 0.001635> + 13524: < 0.002473, -0.007854, 0.002053> + 13525: < 0.002071, -0.007950, 0.002071> + 13526: < 0.002086, -0.008029, 0.001663> + 13527: < 0.002492, -0.007932, 0.001650> + 13528: < 0.002071, -0.007950, 0.002071> + 13529: < 0.001663, -0.008029, 0.002086> + 13530: < 0.001676, -0.008109, 0.001676> + 13531: < 0.002086, -0.008029, 0.001663> + 13532: < 0.001663, -0.008029, 0.002086> + 13533: < 0.001252, -0.008090, 0.002099> + 13534: < 0.001261, -0.008171, 0.001686> + 13535: < 0.001676, -0.008109, 0.001676> + 13536: < 0.001252, -0.008090, 0.002099> + 13537: < 0.000836, -0.008134, 0.002109> + 13538: < 0.000842, -0.008215, 0.001694> + 13539: < 0.001261, -0.008171, 0.001686> + 13540: < 0.000836, -0.008134, 0.002109> + 13541: < 0.000419, -0.008161, 0.002116> + 13542: < 0.000422, -0.008242, 0.001699> + 13543: < 0.000842, -0.008215, 0.001694> + 13544: < 0.000419, -0.008161, 0.002116> + 13545: < 0.000000, -0.008169, 0.002118> + 13546: < 0.000000, -0.008251, 0.001701> + 13547: < 0.000422, -0.008242, 0.001699> + 13548: < 0.000000, -0.008169, 0.002118> + 13549: <-0.000419, -0.008161, 0.002116> + 13550: <-0.000422, -0.008242, 0.001699> + 13551: < 0.000000, -0.008251, 0.001701> + 13552: <-0.000419, -0.008161, 0.002116> + 13553: <-0.000836, -0.008134, 0.002109> + 13554: <-0.000842, -0.008215, 0.001694> + 13555: <-0.000422, -0.008242, 0.001699> + 13556: <-0.000836, -0.008134, 0.002109> + 13557: <-0.001252, -0.008090, 0.002099> + 13558: <-0.001261, -0.008171, 0.001686> + 13559: <-0.000842, -0.008215, 0.001694> + 13560: <-0.001252, -0.008090, 0.002099> + 13561: <-0.001663, -0.008029, 0.002086> + 13562: <-0.001676, -0.008109, 0.001676> + 13563: <-0.001261, -0.008171, 0.001686> + 13564: <-0.001663, -0.008029, 0.002086> + 13565: <-0.002071, -0.007950, 0.002071> + 13566: <-0.002086, -0.008029, 0.001663> + 13567: <-0.001676, -0.008109, 0.001676> + 13568: <-0.002071, -0.007950, 0.002071> + 13569: <-0.002473, -0.007854, 0.002053> + 13570: <-0.002492, -0.007932, 0.001650> + 13571: <-0.002086, -0.008029, 0.001663> + 13572: <-0.002473, -0.007854, 0.002053> + 13573: <-0.002868, -0.007740, 0.002035> + 13574: <-0.002890, -0.007817, 0.001635> + 13575: <-0.002492, -0.007932, 0.001650> + 13576: <-0.002868, -0.007740, 0.002035> + 13577: <-0.003255, -0.007610, 0.002015> + 13578: <-0.003281, -0.007684, 0.001619> + 13579: <-0.002890, -0.007817, 0.001635> + 13580: <-0.003255, -0.007610, 0.002015> + 13581: <-0.003634, -0.007462, 0.001995> + 13582: <-0.003663, -0.007535, 0.001603> + 13583: <-0.003281, -0.007684, 0.001619> + 13584: <-0.003634, -0.007462, 0.001995> + 13585: <-0.004002, -0.007297, 0.001975> + 13586: <-0.004034, -0.007367, 0.001588> + 13587: <-0.003663, -0.007535, 0.001603> + 13588: <-0.004002, -0.007297, 0.001975> + 13589: <-0.004360, -0.007115, 0.001957> + 13590: <-0.004395, -0.007183, 0.001574> + 13591: <-0.004034, -0.007367, 0.001588> + 13592: <-0.004360, -0.007115, 0.001957> + 13593: <-0.004705, -0.006915, 0.001940> + 13594: <-0.004744, -0.006980, 0.001561> + 13595: <-0.004395, -0.007183, 0.001574> + 13596: <-0.004705, -0.006915, 0.001940> + 13597: <-0.005037, -0.006698, 0.001926> + 13598: <-0.005080, -0.006761, 0.001550> + 13599: <-0.004744, -0.006980, 0.001561> + 13600: <-0.005037, -0.006698, 0.001926> + 13601: <-0.005355, -0.006464, 0.001915> + 13602: <-0.005401, -0.006523, 0.001541> + 13603: <-0.005080, -0.006761, 0.001550> + 13604: <-0.005355, -0.006464, 0.001915> + 13605: <-0.005657, -0.006212, 0.001908> + 13606: <-0.005707, -0.006269, 0.001536> + 13607: <-0.005401, -0.006523, 0.001541> + 13608: < 0.005707, -0.006269, 0.001536> + 13609: < 0.005401, -0.006523, 0.001541> + 13610: < 0.005438, -0.006570, 0.001161> + 13611: < 0.005747, -0.006313, 0.001157> + 13612: < 0.005401, -0.006523, 0.001541> + 13613: < 0.005080, -0.006761, 0.001550> + 13614: < 0.005114, -0.006810, 0.001168> + 13615: < 0.005438, -0.006570, 0.001161> + 13616: < 0.005080, -0.006761, 0.001550> + 13617: < 0.004744, -0.006980, 0.001561> + 13618: < 0.004776, -0.007032, 0.001176> + 13619: < 0.005114, -0.006810, 0.001168> + 13620: < 0.004744, -0.006980, 0.001561> + 13621: < 0.004395, -0.007183, 0.001574> + 13622: < 0.004424, -0.007236, 0.001185> + 13623: < 0.004776, -0.007032, 0.001176> + 13624: < 0.004395, -0.007183, 0.001574> + 13625: < 0.004034, -0.007367, 0.001588> + 13626: < 0.004061, -0.007423, 0.001196> + 13627: < 0.004424, -0.007236, 0.001185> + 13628: < 0.004034, -0.007367, 0.001588> + 13629: < 0.003663, -0.007535, 0.001603> + 13630: < 0.003686, -0.007591, 0.001207> + 13631: < 0.004061, -0.007423, 0.001196> + 13632: < 0.003663, -0.007535, 0.001603> + 13633: < 0.003281, -0.007684, 0.001619> + 13634: < 0.003302, -0.007743, 0.001219> + 13635: < 0.003686, -0.007591, 0.001207> + 13636: < 0.003281, -0.007684, 0.001619> + 13637: < 0.002890, -0.007817, 0.001635> + 13638: < 0.002908, -0.007876, 0.001230> + 13639: < 0.003302, -0.007743, 0.001219> + 13640: < 0.002890, -0.007817, 0.001635> + 13641: < 0.002492, -0.007932, 0.001650> + 13642: < 0.002507, -0.007992, 0.001241> + 13643: < 0.002908, -0.007876, 0.001230> + 13644: < 0.002492, -0.007932, 0.001650> + 13645: < 0.002086, -0.008029, 0.001663> + 13646: < 0.002099, -0.008090, 0.001252> + 13647: < 0.002507, -0.007992, 0.001241> + 13648: < 0.002086, -0.008029, 0.001663> + 13649: < 0.001676, -0.008109, 0.001676> + 13650: < 0.001686, -0.008171, 0.001261> + 13651: < 0.002099, -0.008090, 0.001252> + 13652: < 0.001676, -0.008109, 0.001676> + 13653: < 0.001261, -0.008171, 0.001686> + 13654: < 0.001269, -0.008233, 0.001269> + 13655: < 0.001686, -0.008171, 0.001261> + 13656: < 0.001261, -0.008171, 0.001686> + 13657: < 0.000842, -0.008215, 0.001694> + 13658: < 0.000848, -0.008278, 0.001275> + 13659: < 0.001269, -0.008233, 0.001269> + 13660: < 0.000842, -0.008215, 0.001694> + 13661: < 0.000422, -0.008242, 0.001699> + 13662: < 0.000424, -0.008305, 0.001278> + 13663: < 0.000848, -0.008278, 0.001275> + 13664: < 0.000422, -0.008242, 0.001699> + 13665: < 0.000000, -0.008251, 0.001701> + 13666: < 0.000000, -0.008314, 0.001280> + 13667: < 0.000424, -0.008305, 0.001278> + 13668: < 0.000000, -0.008251, 0.001701> + 13669: <-0.000422, -0.008242, 0.001699> + 13670: <-0.000424, -0.008305, 0.001278> + 13671: < 0.000000, -0.008314, 0.001280> + 13672: <-0.000422, -0.008242, 0.001699> + 13673: <-0.000842, -0.008215, 0.001694> + 13674: <-0.000848, -0.008278, 0.001275> + 13675: <-0.000424, -0.008305, 0.001278> + 13676: <-0.000842, -0.008215, 0.001694> + 13677: <-0.001261, -0.008171, 0.001686> + 13678: <-0.001269, -0.008233, 0.001269> + 13679: <-0.000848, -0.008278, 0.001275> + 13680: <-0.001261, -0.008171, 0.001686> + 13681: <-0.001676, -0.008109, 0.001676> + 13682: <-0.001686, -0.008171, 0.001261> + 13683: <-0.001269, -0.008233, 0.001269> + 13684: <-0.001676, -0.008109, 0.001676> + 13685: <-0.002086, -0.008029, 0.001663> + 13686: <-0.002099, -0.008090, 0.001252> + 13687: <-0.001686, -0.008171, 0.001261> + 13688: <-0.002086, -0.008029, 0.001663> + 13689: <-0.002492, -0.007932, 0.001650> + 13690: <-0.002507, -0.007992, 0.001241> + 13691: <-0.002099, -0.008090, 0.001252> + 13692: <-0.002492, -0.007932, 0.001650> + 13693: <-0.002890, -0.007817, 0.001635> + 13694: <-0.002908, -0.007876, 0.001230> + 13695: <-0.002507, -0.007992, 0.001241> + 13696: <-0.002890, -0.007817, 0.001635> + 13697: <-0.003281, -0.007684, 0.001619> + 13698: <-0.003302, -0.007743, 0.001219> + 13699: <-0.002908, -0.007876, 0.001230> + 13700: <-0.003281, -0.007684, 0.001619> + 13701: <-0.003663, -0.007535, 0.001603> + 13702: <-0.003686, -0.007591, 0.001207> + 13703: <-0.003302, -0.007743, 0.001219> + 13704: <-0.003663, -0.007535, 0.001603> + 13705: <-0.004034, -0.007367, 0.001588> + 13706: <-0.004061, -0.007423, 0.001196> + 13707: <-0.003686, -0.007591, 0.001207> + 13708: <-0.004034, -0.007367, 0.001588> + 13709: <-0.004395, -0.007183, 0.001574> + 13710: <-0.004424, -0.007236, 0.001185> + 13711: <-0.004061, -0.007423, 0.001196> + 13712: <-0.004395, -0.007183, 0.001574> + 13713: <-0.004744, -0.006980, 0.001561> + 13714: <-0.004776, -0.007032, 0.001176> + 13715: <-0.004424, -0.007236, 0.001185> + 13716: <-0.004744, -0.006980, 0.001561> + 13717: <-0.005080, -0.006761, 0.001550> + 13718: <-0.005114, -0.006810, 0.001168> + 13719: <-0.004776, -0.007032, 0.001176> + 13720: <-0.005080, -0.006761, 0.001550> + 13721: <-0.005401, -0.006523, 0.001541> + 13722: <-0.005438, -0.006570, 0.001161> + 13723: <-0.005114, -0.006810, 0.001168> + 13724: <-0.005401, -0.006523, 0.001541> + 13725: <-0.005707, -0.006269, 0.001536> + 13726: <-0.005747, -0.006313, 0.001157> + 13727: <-0.005438, -0.006570, 0.001161> + 13728: < 0.005747, -0.006313, 0.001157> + 13729: < 0.005438, -0.006570, 0.001161> + 13730: < 0.005466, -0.006605, 0.000777> + 13731: < 0.005776, -0.006346, 0.000774> + 13732: < 0.005438, -0.006570, 0.001161> + 13733: < 0.005114, -0.006810, 0.001168> + 13734: < 0.005140, -0.006846, 0.000781> + 13735: < 0.005466, -0.006605, 0.000777> + 13736: < 0.005114, -0.006810, 0.001168> + 13737: < 0.004776, -0.007032, 0.001176> + 13738: < 0.004800, -0.007069, 0.000786> + 13739: < 0.005140, -0.006846, 0.000781> + 13740: < 0.004776, -0.007032, 0.001176> + 13741: < 0.004424, -0.007236, 0.001185> + 13742: < 0.004446, -0.007275, 0.000792> + 13743: < 0.004800, -0.007069, 0.000786> + 13744: < 0.004424, -0.007236, 0.001185> + 13745: < 0.004061, -0.007423, 0.001196> + 13746: < 0.004081, -0.007462, 0.000799> + 13747: < 0.004446, -0.007275, 0.000792> + 13748: < 0.004061, -0.007423, 0.001196> + 13749: < 0.003686, -0.007591, 0.001207> + 13750: < 0.003704, -0.007632, 0.000807> + 13751: < 0.004081, -0.007462, 0.000799> + 13752: < 0.003686, -0.007591, 0.001207> + 13753: < 0.003302, -0.007743, 0.001219> + 13754: < 0.003318, -0.007785, 0.000814> + 13755: < 0.003704, -0.007632, 0.000807> + 13756: < 0.003302, -0.007743, 0.001219> + 13757: < 0.002908, -0.007876, 0.001230> + 13758: < 0.002922, -0.007919, 0.000822> + 13759: < 0.003318, -0.007785, 0.000814> + 13760: < 0.002908, -0.007876, 0.001230> + 13761: < 0.002507, -0.007992, 0.001241> + 13762: < 0.002519, -0.008036, 0.000829> + 13763: < 0.002922, -0.007919, 0.000822> + 13764: < 0.002507, -0.007992, 0.001241> + 13765: < 0.002099, -0.008090, 0.001252> + 13766: < 0.002109, -0.008134, 0.000836> + 13767: < 0.002519, -0.008036, 0.000829> + 13768: < 0.002099, -0.008090, 0.001252> + 13769: < 0.001686, -0.008171, 0.001261> + 13770: < 0.001694, -0.008215, 0.000842> + 13771: < 0.002109, -0.008134, 0.000836> + 13772: < 0.001686, -0.008171, 0.001261> + 13773: < 0.001269, -0.008233, 0.001269> + 13774: < 0.001275, -0.008278, 0.000848> + 13775: < 0.001694, -0.008215, 0.000842> + 13776: < 0.001269, -0.008233, 0.001269> + 13777: < 0.000848, -0.008278, 0.001275> + 13778: < 0.000852, -0.008323, 0.000852> + 13779: < 0.001275, -0.008278, 0.000848> + 13780: < 0.000848, -0.008278, 0.001275> + 13781: < 0.000424, -0.008305, 0.001278> + 13782: < 0.000426, -0.008350, 0.000854> + 13783: < 0.000852, -0.008323, 0.000852> + 13784: < 0.000424, -0.008305, 0.001278> + 13785: < 0.000000, -0.008314, 0.001280> + 13786: < 0.000000, -0.008359, 0.000855> + 13787: < 0.000426, -0.008350, 0.000854> + 13788: < 0.000000, -0.008314, 0.001280> + 13789: <-0.000424, -0.008305, 0.001278> + 13790: <-0.000426, -0.008350, 0.000854> + 13791: < 0.000000, -0.008359, 0.000855> + 13792: <-0.000424, -0.008305, 0.001278> + 13793: <-0.000848, -0.008278, 0.001275> + 13794: <-0.000852, -0.008323, 0.000852> + 13795: <-0.000426, -0.008350, 0.000854> + 13796: <-0.000848, -0.008278, 0.001275> + 13797: <-0.001269, -0.008233, 0.001269> + 13798: <-0.001275, -0.008278, 0.000848> + 13799: <-0.000852, -0.008323, 0.000852> + 13800: <-0.001269, -0.008233, 0.001269> + 13801: <-0.001686, -0.008171, 0.001261> + 13802: <-0.001694, -0.008215, 0.000842> + 13803: <-0.001275, -0.008278, 0.000848> + 13804: <-0.001686, -0.008171, 0.001261> + 13805: <-0.002099, -0.008090, 0.001252> + 13806: <-0.002109, -0.008134, 0.000836> + 13807: <-0.001694, -0.008215, 0.000842> + 13808: <-0.002099, -0.008090, 0.001252> + 13809: <-0.002507, -0.007992, 0.001241> + 13810: <-0.002519, -0.008036, 0.000829> + 13811: <-0.002109, -0.008134, 0.000836> + 13812: <-0.002507, -0.007992, 0.001241> + 13813: <-0.002908, -0.007876, 0.001230> + 13814: <-0.002922, -0.007919, 0.000822> + 13815: <-0.002519, -0.008036, 0.000829> + 13816: <-0.002908, -0.007876, 0.001230> + 13817: <-0.003302, -0.007743, 0.001219> + 13818: <-0.003318, -0.007785, 0.000814> + 13819: <-0.002922, -0.007919, 0.000822> + 13820: <-0.003302, -0.007743, 0.001219> + 13821: <-0.003686, -0.007591, 0.001207> + 13822: <-0.003704, -0.007632, 0.000807> + 13823: <-0.003318, -0.007785, 0.000814> + 13824: <-0.003686, -0.007591, 0.001207> + 13825: <-0.004061, -0.007423, 0.001196> + 13826: <-0.004081, -0.007462, 0.000799> + 13827: <-0.003704, -0.007632, 0.000807> + 13828: <-0.004061, -0.007423, 0.001196> + 13829: <-0.004424, -0.007236, 0.001185> + 13830: <-0.004446, -0.007275, 0.000792> + 13831: <-0.004081, -0.007462, 0.000799> + 13832: <-0.004424, -0.007236, 0.001185> + 13833: <-0.004776, -0.007032, 0.001176> + 13834: <-0.004800, -0.007069, 0.000786> + 13835: <-0.004446, -0.007275, 0.000792> + 13836: <-0.004776, -0.007032, 0.001176> + 13837: <-0.005114, -0.006810, 0.001168> + 13838: <-0.005140, -0.006846, 0.000781> + 13839: <-0.004800, -0.007069, 0.000786> + 13840: <-0.005114, -0.006810, 0.001168> + 13841: <-0.005438, -0.006570, 0.001161> + 13842: <-0.005466, -0.006605, 0.000777> + 13843: <-0.005140, -0.006846, 0.000781> + 13844: <-0.005438, -0.006570, 0.001161> + 13845: <-0.005747, -0.006313, 0.001157> + 13846: <-0.005776, -0.006346, 0.000774> + 13847: <-0.005466, -0.006605, 0.000777> + 13848: < 0.005776, -0.006346, 0.000774> + 13849: < 0.005466, -0.006605, 0.000777> + 13850: < 0.005483, -0.006626, 0.000389> + 13851: < 0.005794, -0.006366, 0.000388> + 13852: < 0.005466, -0.006605, 0.000777> + 13853: < 0.005140, -0.006846, 0.000781> + 13854: < 0.005156, -0.006868, 0.000391> + 13855: < 0.005483, -0.006626, 0.000389> + 13856: < 0.005140, -0.006846, 0.000781> + 13857: < 0.004800, -0.007069, 0.000786> + 13858: < 0.004815, -0.007092, 0.000394> + 13859: < 0.005156, -0.006868, 0.000391> + 13860: < 0.004800, -0.007069, 0.000786> + 13861: < 0.004446, -0.007275, 0.000792> + 13862: < 0.004460, -0.007298, 0.000397> + 13863: < 0.004815, -0.007092, 0.000394> + 13864: < 0.004446, -0.007275, 0.000792> + 13865: < 0.004081, -0.007462, 0.000799> + 13866: < 0.004093, -0.007487, 0.000400> + 13867: < 0.004460, -0.007298, 0.000397> + 13868: < 0.004081, -0.007462, 0.000799> + 13869: < 0.003704, -0.007632, 0.000807> + 13870: < 0.003716, -0.007657, 0.000404> + 13871: < 0.004093, -0.007487, 0.000400> + 13872: < 0.003704, -0.007632, 0.000807> + 13873: < 0.003318, -0.007785, 0.000814> + 13874: < 0.003328, -0.007810, 0.000408> + 13875: < 0.003716, -0.007657, 0.000404> + 13876: < 0.003318, -0.007785, 0.000814> + 13877: < 0.002922, -0.007919, 0.000822> + 13878: < 0.002931, -0.007945, 0.000412> + 13879: < 0.003328, -0.007810, 0.000408> + 13880: < 0.002922, -0.007919, 0.000822> + 13881: < 0.002519, -0.008036, 0.000829> + 13882: < 0.002527, -0.008062, 0.000415> + 13883: < 0.002931, -0.007945, 0.000412> + 13884: < 0.002519, -0.008036, 0.000829> + 13885: < 0.002109, -0.008134, 0.000836> + 13886: < 0.002116, -0.008161, 0.000419> + 13887: < 0.002527, -0.008062, 0.000415> + 13888: < 0.002109, -0.008134, 0.000836> + 13889: < 0.001694, -0.008215, 0.000842> + 13890: < 0.001699, -0.008242, 0.000422> + 13891: < 0.002116, -0.008161, 0.000419> + 13892: < 0.001694, -0.008215, 0.000842> + 13893: < 0.001275, -0.008278, 0.000848> + 13894: < 0.001278, -0.008305, 0.000424> + 13895: < 0.001699, -0.008242, 0.000422> + 13896: < 0.001275, -0.008278, 0.000848> + 13897: < 0.000852, -0.008323, 0.000852> + 13898: < 0.000854, -0.008350, 0.000426> + 13899: < 0.001278, -0.008305, 0.000424> + 13900: < 0.000852, -0.008323, 0.000852> + 13901: < 0.000426, -0.008350, 0.000854> + 13902: < 0.000428, -0.008377, 0.000428> + 13903: < 0.000854, -0.008350, 0.000426> + 13904: < 0.000426, -0.008350, 0.000854> + 13905: < 0.000000, -0.008359, 0.000855> + 13906: < 0.000000, -0.008386, 0.000428> + 13907: < 0.000428, -0.008377, 0.000428> + 13908: < 0.000000, -0.008359, 0.000855> + 13909: <-0.000426, -0.008350, 0.000854> + 13910: <-0.000428, -0.008377, 0.000428> + 13911: < 0.000000, -0.008386, 0.000428> + 13912: <-0.000426, -0.008350, 0.000854> + 13913: <-0.000852, -0.008323, 0.000852> + 13914: <-0.000854, -0.008350, 0.000426> + 13915: <-0.000428, -0.008377, 0.000428> + 13916: <-0.000852, -0.008323, 0.000852> + 13917: <-0.001275, -0.008278, 0.000848> + 13918: <-0.001278, -0.008305, 0.000424> + 13919: <-0.000854, -0.008350, 0.000426> + 13920: <-0.001275, -0.008278, 0.000848> + 13921: <-0.001694, -0.008215, 0.000842> + 13922: <-0.001699, -0.008242, 0.000422> + 13923: <-0.001278, -0.008305, 0.000424> + 13924: <-0.001694, -0.008215, 0.000842> + 13925: <-0.002109, -0.008134, 0.000836> + 13926: <-0.002116, -0.008161, 0.000419> + 13927: <-0.001699, -0.008242, 0.000422> + 13928: <-0.002109, -0.008134, 0.000836> + 13929: <-0.002519, -0.008036, 0.000829> + 13930: <-0.002527, -0.008062, 0.000415> + 13931: <-0.002116, -0.008161, 0.000419> + 13932: <-0.002519, -0.008036, 0.000829> + 13933: <-0.002922, -0.007919, 0.000822> + 13934: <-0.002931, -0.007945, 0.000412> + 13935: <-0.002527, -0.008062, 0.000415> + 13936: <-0.002922, -0.007919, 0.000822> + 13937: <-0.003318, -0.007785, 0.000814> + 13938: <-0.003328, -0.007810, 0.000408> + 13939: <-0.002931, -0.007945, 0.000412> + 13940: <-0.003318, -0.007785, 0.000814> + 13941: <-0.003704, -0.007632, 0.000807> + 13942: <-0.003716, -0.007657, 0.000404> + 13943: <-0.003328, -0.007810, 0.000408> + 13944: <-0.003704, -0.007632, 0.000807> + 13945: <-0.004081, -0.007462, 0.000799> + 13946: <-0.004093, -0.007487, 0.000400> + 13947: <-0.003716, -0.007657, 0.000404> + 13948: <-0.004081, -0.007462, 0.000799> + 13949: <-0.004446, -0.007275, 0.000792> + 13950: <-0.004460, -0.007298, 0.000397> + 13951: <-0.004093, -0.007487, 0.000400> + 13952: <-0.004446, -0.007275, 0.000792> + 13953: <-0.004800, -0.007069, 0.000786> + 13954: <-0.004815, -0.007092, 0.000394> + 13955: <-0.004460, -0.007298, 0.000397> + 13956: <-0.004800, -0.007069, 0.000786> + 13957: <-0.005140, -0.006846, 0.000781> + 13958: <-0.005156, -0.006868, 0.000391> + 13959: <-0.004815, -0.007092, 0.000394> + 13960: <-0.005140, -0.006846, 0.000781> + 13961: <-0.005466, -0.006605, 0.000777> + 13962: <-0.005483, -0.006626, 0.000389> + 13963: <-0.005156, -0.006868, 0.000391> + 13964: <-0.005466, -0.006605, 0.000777> + 13965: <-0.005776, -0.006346, 0.000774> + 13966: <-0.005794, -0.006366, 0.000388> + 13967: <-0.005483, -0.006626, 0.000389> + 13968: < 0.005794, -0.006366, 0.000388> + 13969: < 0.005483, -0.006626, 0.000389> + 13970: < 0.005489, -0.006633, 0.000000> + 13971: < 0.005801, -0.006373, 0.000000> + 13972: < 0.005483, -0.006626, 0.000389> + 13973: < 0.005156, -0.006868, 0.000391> + 13974: < 0.005162, -0.006875, 0.000000> + 13975: < 0.005489, -0.006633, 0.000000> + 13976: < 0.005156, -0.006868, 0.000391> + 13977: < 0.004815, -0.007092, 0.000394> + 13978: < 0.004820, -0.007099, 0.000000> + 13979: < 0.005162, -0.006875, 0.000000> + 13980: < 0.004815, -0.007092, 0.000394> + 13981: < 0.004460, -0.007298, 0.000397> + 13982: < 0.004465, -0.007306, 0.000000> + 13983: < 0.004820, -0.007099, 0.000000> + 13984: < 0.004460, -0.007298, 0.000397> + 13985: < 0.004093, -0.007487, 0.000400> + 13986: < 0.004098, -0.007495, -0.000000> + 13987: < 0.004465, -0.007306, 0.000000> + 13988: < 0.004093, -0.007487, 0.000400> + 13989: < 0.003716, -0.007657, 0.000404> + 13990: < 0.003720, -0.007665, -0.000000> + 13991: < 0.004098, -0.007495, -0.000000> + 13992: < 0.003716, -0.007657, 0.000404> + 13993: < 0.003328, -0.007810, 0.000408> + 13994: < 0.003331, -0.007818, -0.000000> + 13995: < 0.003720, -0.007665, -0.000000> + 13996: < 0.003328, -0.007810, 0.000408> + 13997: < 0.002931, -0.007945, 0.000412> + 13998: < 0.002934, -0.007953, -0.000000> + 13999: < 0.003331, -0.007818, -0.000000> + 14000: < 0.002931, -0.007945, 0.000412> + 14001: < 0.002527, -0.008062, 0.000415> + 14002: < 0.002530, -0.008070, -0.000000> + 14003: < 0.002934, -0.007953, -0.000000> + 14004: < 0.002527, -0.008062, 0.000415> + 14005: < 0.002116, -0.008161, 0.000419> + 14006: < 0.002118, -0.008169, -0.000000> + 14007: < 0.002530, -0.008070, -0.000000> + 14008: < 0.002116, -0.008161, 0.000419> + 14009: < 0.001699, -0.008242, 0.000422> + 14010: < 0.001701, -0.008251, -0.000000> + 14011: < 0.002118, -0.008169, -0.000000> + 14012: < 0.001699, -0.008242, 0.000422> + 14013: < 0.001278, -0.008305, 0.000424> + 14014: < 0.001280, -0.008314, -0.000000> + 14015: < 0.001701, -0.008251, -0.000000> + 14016: < 0.001278, -0.008305, 0.000424> + 14017: < 0.000854, -0.008350, 0.000426> + 14018: < 0.000855, -0.008359, -0.000000> + 14019: < 0.001280, -0.008314, -0.000000> + 14020: < 0.000854, -0.008350, 0.000426> + 14021: < 0.000428, -0.008377, 0.000428> + 14022: < 0.000428, -0.008386, -0.000000> + 14023: < 0.000855, -0.008359, -0.000000> + 14024: < 0.000428, -0.008377, 0.000428> + 14025: < 0.000000, -0.008386, 0.000428> + 14026: < 0.000000, -0.008395, -0.000000> + 14027: < 0.000428, -0.008386, -0.000000> + 14028: < 0.000000, -0.008386, 0.000428> + 14029: <-0.000428, -0.008377, 0.000428> + 14030: <-0.000428, -0.008386, -0.000000> + 14031: < 0.000000, -0.008395, -0.000000> + 14032: <-0.000428, -0.008377, 0.000428> + 14033: <-0.000854, -0.008350, 0.000426> + 14034: <-0.000855, -0.008359, 0.000000> + 14035: <-0.000428, -0.008386, -0.000000> + 14036: <-0.000854, -0.008350, 0.000426> + 14037: <-0.001278, -0.008305, 0.000424> + 14038: <-0.001280, -0.008314, 0.000000> + 14039: <-0.000855, -0.008359, 0.000000> + 14040: <-0.001278, -0.008305, 0.000424> + 14041: <-0.001699, -0.008242, 0.000422> + 14042: <-0.001701, -0.008251, 0.000000> + 14043: <-0.001280, -0.008314, 0.000000> + 14044: <-0.001699, -0.008242, 0.000422> + 14045: <-0.002116, -0.008161, 0.000419> + 14046: <-0.002118, -0.008169, 0.000000> + 14047: <-0.001701, -0.008251, 0.000000> + 14048: <-0.002116, -0.008161, 0.000419> + 14049: <-0.002527, -0.008062, 0.000415> + 14050: <-0.002530, -0.008070, 0.000000> + 14051: <-0.002118, -0.008169, 0.000000> + 14052: <-0.002527, -0.008062, 0.000415> + 14053: <-0.002931, -0.007945, 0.000412> + 14054: <-0.002934, -0.007953, 0.000000> + 14055: <-0.002530, -0.008070, 0.000000> + 14056: <-0.002931, -0.007945, 0.000412> + 14057: <-0.003328, -0.007810, 0.000408> + 14058: <-0.003331, -0.007818, 0.000000> + 14059: <-0.002934, -0.007953, 0.000000> + 14060: <-0.003328, -0.007810, 0.000408> + 14061: <-0.003716, -0.007657, 0.000404> + 14062: <-0.003720, -0.007665, 0.000000> + 14063: <-0.003331, -0.007818, 0.000000> + 14064: <-0.003716, -0.007657, 0.000404> + 14065: <-0.004093, -0.007487, 0.000400> + 14066: <-0.004098, -0.007495, 0.000000> + 14067: <-0.003720, -0.007665, 0.000000> + 14068: <-0.004093, -0.007487, 0.000400> + 14069: <-0.004460, -0.007298, 0.000397> + 14070: <-0.004465, -0.007306, 0.000000> + 14071: <-0.004098, -0.007495, 0.000000> + 14072: <-0.004460, -0.007298, 0.000397> + 14073: <-0.004815, -0.007092, 0.000394> + 14074: <-0.004820, -0.007099, 0.000000> + 14075: <-0.004465, -0.007306, 0.000000> + 14076: <-0.004815, -0.007092, 0.000394> + 14077: <-0.005156, -0.006868, 0.000391> + 14078: <-0.005162, -0.006875, 0.000000> + 14079: <-0.004820, -0.007099, 0.000000> + 14080: <-0.005156, -0.006868, 0.000391> + 14081: <-0.005483, -0.006626, 0.000389> + 14082: <-0.005489, -0.006633, 0.000000> + 14083: <-0.005162, -0.006875, 0.000000> + 14084: <-0.005483, -0.006626, 0.000389> + 14085: <-0.005794, -0.006366, 0.000388> + 14086: <-0.005801, -0.006373, 0.000000> + 14087: <-0.005489, -0.006633, 0.000000> + 14088: < 0.005801, -0.006373, 0.000000> + 14089: < 0.005489, -0.006633, 0.000000> + 14090: < 0.005483, -0.006626, -0.000389> + 14091: < 0.005794, -0.006366, -0.000388> + 14092: < 0.005489, -0.006633, 0.000000> + 14093: < 0.005162, -0.006875, 0.000000> + 14094: < 0.005156, -0.006868, -0.000391> + 14095: < 0.005483, -0.006626, -0.000389> + 14096: < 0.005162, -0.006875, 0.000000> + 14097: < 0.004820, -0.007099, 0.000000> + 14098: < 0.004815, -0.007092, -0.000394> + 14099: < 0.005156, -0.006868, -0.000391> + 14100: < 0.004820, -0.007099, 0.000000> + 14101: < 0.004465, -0.007306, 0.000000> + 14102: < 0.004460, -0.007298, -0.000397> + 14103: < 0.004815, -0.007092, -0.000394> + 14104: < 0.004465, -0.007306, 0.000000> + 14105: < 0.004098, -0.007495, -0.000000> + 14106: < 0.004093, -0.007487, -0.000400> + 14107: < 0.004460, -0.007298, -0.000397> + 14108: < 0.004098, -0.007495, -0.000000> + 14109: < 0.003720, -0.007665, -0.000000> + 14110: < 0.003716, -0.007657, -0.000404> + 14111: < 0.004093, -0.007487, -0.000400> + 14112: < 0.003720, -0.007665, -0.000000> + 14113: < 0.003331, -0.007818, -0.000000> + 14114: < 0.003328, -0.007810, -0.000408> + 14115: < 0.003716, -0.007657, -0.000404> + 14116: < 0.003331, -0.007818, -0.000000> + 14117: < 0.002934, -0.007953, -0.000000> + 14118: < 0.002931, -0.007945, -0.000412> + 14119: < 0.003328, -0.007810, -0.000408> + 14120: < 0.002934, -0.007953, -0.000000> + 14121: < 0.002530, -0.008070, -0.000000> + 14122: < 0.002527, -0.008062, -0.000415> + 14123: < 0.002931, -0.007945, -0.000412> + 14124: < 0.002530, -0.008070, -0.000000> + 14125: < 0.002118, -0.008169, -0.000000> + 14126: < 0.002116, -0.008161, -0.000419> + 14127: < 0.002527, -0.008062, -0.000415> + 14128: < 0.002118, -0.008169, -0.000000> + 14129: < 0.001701, -0.008251, -0.000000> + 14130: < 0.001699, -0.008242, -0.000422> + 14131: < 0.002116, -0.008161, -0.000419> + 14132: < 0.001701, -0.008251, -0.000000> + 14133: < 0.001280, -0.008314, -0.000000> + 14134: < 0.001278, -0.008305, -0.000424> + 14135: < 0.001699, -0.008242, -0.000422> + 14136: < 0.001280, -0.008314, -0.000000> + 14137: < 0.000855, -0.008359, -0.000000> + 14138: < 0.000854, -0.008350, -0.000426> + 14139: < 0.001278, -0.008305, -0.000424> + 14140: < 0.000855, -0.008359, -0.000000> + 14141: < 0.000428, -0.008386, -0.000000> + 14142: < 0.000428, -0.008377, -0.000428> + 14143: < 0.000854, -0.008350, -0.000426> + 14144: < 0.000428, -0.008386, -0.000000> + 14145: < 0.000000, -0.008395, -0.000000> + 14146: <-0.000000, -0.008386, -0.000428> + 14147: < 0.000428, -0.008377, -0.000428> + 14148: < 0.000000, -0.008395, -0.000000> + 14149: <-0.000428, -0.008386, -0.000000> + 14150: <-0.000428, -0.008377, -0.000428> + 14151: <-0.000000, -0.008386, -0.000428> + 14152: <-0.000428, -0.008386, -0.000000> + 14153: <-0.000855, -0.008359, 0.000000> + 14154: <-0.000854, -0.008350, -0.000426> + 14155: <-0.000428, -0.008377, -0.000428> + 14156: <-0.000855, -0.008359, 0.000000> + 14157: <-0.001280, -0.008314, 0.000000> + 14158: <-0.001278, -0.008305, -0.000424> + 14159: <-0.000854, -0.008350, -0.000426> + 14160: <-0.001280, -0.008314, 0.000000> + 14161: <-0.001701, -0.008251, 0.000000> + 14162: <-0.001699, -0.008242, -0.000422> + 14163: <-0.001278, -0.008305, -0.000424> + 14164: <-0.001701, -0.008251, 0.000000> + 14165: <-0.002118, -0.008169, 0.000000> + 14166: <-0.002116, -0.008161, -0.000419> + 14167: <-0.001699, -0.008242, -0.000422> + 14168: <-0.002118, -0.008169, 0.000000> + 14169: <-0.002530, -0.008070, 0.000000> + 14170: <-0.002527, -0.008062, -0.000415> + 14171: <-0.002116, -0.008161, -0.000419> + 14172: <-0.002530, -0.008070, 0.000000> + 14173: <-0.002934, -0.007953, 0.000000> + 14174: <-0.002931, -0.007945, -0.000412> + 14175: <-0.002527, -0.008062, -0.000415> + 14176: <-0.002934, -0.007953, 0.000000> + 14177: <-0.003331, -0.007818, 0.000000> + 14178: <-0.003328, -0.007810, -0.000408> + 14179: <-0.002931, -0.007945, -0.000412> + 14180: <-0.003331, -0.007818, 0.000000> + 14181: <-0.003720, -0.007665, 0.000000> + 14182: <-0.003716, -0.007657, -0.000404> + 14183: <-0.003328, -0.007810, -0.000408> + 14184: <-0.003720, -0.007665, 0.000000> + 14185: <-0.004098, -0.007495, 0.000000> + 14186: <-0.004093, -0.007487, -0.000400> + 14187: <-0.003716, -0.007657, -0.000404> + 14188: <-0.004098, -0.007495, 0.000000> + 14189: <-0.004465, -0.007306, 0.000000> + 14190: <-0.004460, -0.007298, -0.000397> + 14191: <-0.004093, -0.007487, -0.000400> + 14192: <-0.004465, -0.007306, 0.000000> + 14193: <-0.004820, -0.007099, 0.000000> + 14194: <-0.004815, -0.007092, -0.000394> + 14195: <-0.004460, -0.007298, -0.000397> + 14196: <-0.004820, -0.007099, 0.000000> + 14197: <-0.005162, -0.006875, 0.000000> + 14198: <-0.005156, -0.006868, -0.000391> + 14199: <-0.004815, -0.007092, -0.000394> + 14200: <-0.005162, -0.006875, 0.000000> + 14201: <-0.005489, -0.006633, 0.000000> + 14202: <-0.005483, -0.006626, -0.000389> + 14203: <-0.005156, -0.006868, -0.000391> + 14204: <-0.005489, -0.006633, 0.000000> + 14205: <-0.005801, -0.006373, 0.000000> + 14206: <-0.005794, -0.006366, -0.000388> + 14207: <-0.005483, -0.006626, -0.000389> + 14208: < 0.005794, -0.006366, -0.000388> + 14209: < 0.005483, -0.006626, -0.000389> + 14210: < 0.005466, -0.006605, -0.000777> + 14211: < 0.005776, -0.006346, -0.000774> + 14212: < 0.005483, -0.006626, -0.000389> + 14213: < 0.005156, -0.006868, -0.000391> + 14214: < 0.005140, -0.006846, -0.000781> + 14215: < 0.005466, -0.006605, -0.000777> + 14216: < 0.005156, -0.006868, -0.000391> + 14217: < 0.004815, -0.007092, -0.000394> + 14218: < 0.004800, -0.007069, -0.000786> + 14219: < 0.005140, -0.006846, -0.000781> + 14220: < 0.004815, -0.007092, -0.000394> + 14221: < 0.004460, -0.007298, -0.000397> + 14222: < 0.004446, -0.007275, -0.000792> + 14223: < 0.004800, -0.007069, -0.000786> + 14224: < 0.004460, -0.007298, -0.000397> + 14225: < 0.004093, -0.007487, -0.000400> + 14226: < 0.004081, -0.007462, -0.000799> + 14227: < 0.004446, -0.007275, -0.000792> + 14228: < 0.004093, -0.007487, -0.000400> + 14229: < 0.003716, -0.007657, -0.000404> + 14230: < 0.003704, -0.007632, -0.000807> + 14231: < 0.004081, -0.007462, -0.000799> + 14232: < 0.003716, -0.007657, -0.000404> + 14233: < 0.003328, -0.007810, -0.000408> + 14234: < 0.003318, -0.007785, -0.000814> + 14235: < 0.003704, -0.007632, -0.000807> + 14236: < 0.003328, -0.007810, -0.000408> + 14237: < 0.002931, -0.007945, -0.000412> + 14238: < 0.002922, -0.007919, -0.000822> + 14239: < 0.003318, -0.007785, -0.000814> + 14240: < 0.002931, -0.007945, -0.000412> + 14241: < 0.002527, -0.008062, -0.000415> + 14242: < 0.002519, -0.008036, -0.000829> + 14243: < 0.002922, -0.007919, -0.000822> + 14244: < 0.002527, -0.008062, -0.000415> + 14245: < 0.002116, -0.008161, -0.000419> + 14246: < 0.002109, -0.008134, -0.000836> + 14247: < 0.002519, -0.008036, -0.000829> + 14248: < 0.002116, -0.008161, -0.000419> + 14249: < 0.001699, -0.008242, -0.000422> + 14250: < 0.001694, -0.008215, -0.000842> + 14251: < 0.002109, -0.008134, -0.000836> + 14252: < 0.001699, -0.008242, -0.000422> + 14253: < 0.001278, -0.008305, -0.000424> + 14254: < 0.001275, -0.008278, -0.000848> + 14255: < 0.001694, -0.008215, -0.000842> + 14256: < 0.001278, -0.008305, -0.000424> + 14257: < 0.000854, -0.008350, -0.000426> + 14258: < 0.000852, -0.008323, -0.000852> + 14259: < 0.001275, -0.008278, -0.000848> + 14260: < 0.000854, -0.008350, -0.000426> + 14261: < 0.000428, -0.008377, -0.000428> + 14262: < 0.000426, -0.008350, -0.000854> + 14263: < 0.000852, -0.008323, -0.000852> + 14264: < 0.000428, -0.008377, -0.000428> + 14265: <-0.000000, -0.008386, -0.000428> + 14266: <-0.000000, -0.008359, -0.000855> + 14267: < 0.000426, -0.008350, -0.000854> + 14268: <-0.000000, -0.008386, -0.000428> + 14269: <-0.000428, -0.008377, -0.000428> + 14270: <-0.000426, -0.008350, -0.000854> + 14271: <-0.000000, -0.008359, -0.000855> + 14272: <-0.000428, -0.008377, -0.000428> + 14273: <-0.000854, -0.008350, -0.000426> + 14274: <-0.000852, -0.008323, -0.000852> + 14275: <-0.000426, -0.008350, -0.000854> + 14276: <-0.000854, -0.008350, -0.000426> + 14277: <-0.001278, -0.008305, -0.000424> + 14278: <-0.001275, -0.008278, -0.000848> + 14279: <-0.000852, -0.008323, -0.000852> + 14280: <-0.001278, -0.008305, -0.000424> + 14281: <-0.001699, -0.008242, -0.000422> + 14282: <-0.001694, -0.008215, -0.000842> + 14283: <-0.001275, -0.008278, -0.000848> + 14284: <-0.001699, -0.008242, -0.000422> + 14285: <-0.002116, -0.008161, -0.000419> + 14286: <-0.002109, -0.008134, -0.000836> + 14287: <-0.001694, -0.008215, -0.000842> + 14288: <-0.002116, -0.008161, -0.000419> + 14289: <-0.002527, -0.008062, -0.000415> + 14290: <-0.002519, -0.008036, -0.000829> + 14291: <-0.002109, -0.008134, -0.000836> + 14292: <-0.002527, -0.008062, -0.000415> + 14293: <-0.002931, -0.007945, -0.000412> + 14294: <-0.002922, -0.007919, -0.000822> + 14295: <-0.002519, -0.008036, -0.000829> + 14296: <-0.002931, -0.007945, -0.000412> + 14297: <-0.003328, -0.007810, -0.000408> + 14298: <-0.003318, -0.007785, -0.000814> + 14299: <-0.002922, -0.007919, -0.000822> + 14300: <-0.003328, -0.007810, -0.000408> + 14301: <-0.003716, -0.007657, -0.000404> + 14302: <-0.003704, -0.007632, -0.000807> + 14303: <-0.003318, -0.007785, -0.000814> + 14304: <-0.003716, -0.007657, -0.000404> + 14305: <-0.004093, -0.007487, -0.000400> + 14306: <-0.004081, -0.007462, -0.000799> + 14307: <-0.003704, -0.007632, -0.000807> + 14308: <-0.004093, -0.007487, -0.000400> + 14309: <-0.004460, -0.007298, -0.000397> + 14310: <-0.004446, -0.007275, -0.000792> + 14311: <-0.004081, -0.007462, -0.000799> + 14312: <-0.004460, -0.007298, -0.000397> + 14313: <-0.004815, -0.007092, -0.000394> + 14314: <-0.004800, -0.007069, -0.000786> + 14315: <-0.004446, -0.007275, -0.000792> + 14316: <-0.004815, -0.007092, -0.000394> + 14317: <-0.005156, -0.006868, -0.000391> + 14318: <-0.005140, -0.006846, -0.000781> + 14319: <-0.004800, -0.007069, -0.000786> + 14320: <-0.005156, -0.006868, -0.000391> + 14321: <-0.005483, -0.006626, -0.000389> + 14322: <-0.005466, -0.006605, -0.000777> + 14323: <-0.005140, -0.006846, -0.000781> + 14324: <-0.005483, -0.006626, -0.000389> + 14325: <-0.005794, -0.006366, -0.000388> + 14326: <-0.005776, -0.006346, -0.000774> + 14327: <-0.005466, -0.006605, -0.000777> + 14328: < 0.005776, -0.006346, -0.000774> + 14329: < 0.005466, -0.006605, -0.000777> + 14330: < 0.005438, -0.006570, -0.001161> + 14331: < 0.005747, -0.006313, -0.001157> + 14332: < 0.005466, -0.006605, -0.000777> + 14333: < 0.005140, -0.006846, -0.000781> + 14334: < 0.005114, -0.006810, -0.001168> + 14335: < 0.005438, -0.006570, -0.001161> + 14336: < 0.005140, -0.006846, -0.000781> + 14337: < 0.004800, -0.007069, -0.000786> + 14338: < 0.004776, -0.007032, -0.001176> + 14339: < 0.005114, -0.006810, -0.001168> + 14340: < 0.004800, -0.007069, -0.000786> + 14341: < 0.004446, -0.007275, -0.000792> + 14342: < 0.004424, -0.007236, -0.001185> + 14343: < 0.004776, -0.007032, -0.001176> + 14344: < 0.004446, -0.007275, -0.000792> + 14345: < 0.004081, -0.007462, -0.000799> + 14346: < 0.004061, -0.007423, -0.001196> + 14347: < 0.004424, -0.007236, -0.001185> + 14348: < 0.004081, -0.007462, -0.000799> + 14349: < 0.003704, -0.007632, -0.000807> + 14350: < 0.003686, -0.007591, -0.001207> + 14351: < 0.004061, -0.007423, -0.001196> + 14352: < 0.003704, -0.007632, -0.000807> + 14353: < 0.003318, -0.007785, -0.000814> + 14354: < 0.003302, -0.007743, -0.001219> + 14355: < 0.003686, -0.007591, -0.001207> + 14356: < 0.003318, -0.007785, -0.000814> + 14357: < 0.002922, -0.007919, -0.000822> + 14358: < 0.002908, -0.007876, -0.001230> + 14359: < 0.003302, -0.007743, -0.001219> + 14360: < 0.002922, -0.007919, -0.000822> + 14361: < 0.002519, -0.008036, -0.000829> + 14362: < 0.002507, -0.007992, -0.001241> + 14363: < 0.002908, -0.007876, -0.001230> + 14364: < 0.002519, -0.008036, -0.000829> + 14365: < 0.002109, -0.008134, -0.000836> + 14366: < 0.002099, -0.008090, -0.001252> + 14367: < 0.002507, -0.007992, -0.001241> + 14368: < 0.002109, -0.008134, -0.000836> + 14369: < 0.001694, -0.008215, -0.000842> + 14370: < 0.001686, -0.008171, -0.001261> + 14371: < 0.002099, -0.008090, -0.001252> + 14372: < 0.001694, -0.008215, -0.000842> + 14373: < 0.001275, -0.008278, -0.000848> + 14374: < 0.001269, -0.008233, -0.001269> + 14375: < 0.001686, -0.008171, -0.001261> + 14376: < 0.001275, -0.008278, -0.000848> + 14377: < 0.000852, -0.008323, -0.000852> + 14378: < 0.000848, -0.008278, -0.001275> + 14379: < 0.001269, -0.008233, -0.001269> + 14380: < 0.000852, -0.008323, -0.000852> + 14381: < 0.000426, -0.008350, -0.000854> + 14382: < 0.000424, -0.008305, -0.001278> + 14383: < 0.000848, -0.008278, -0.001275> + 14384: < 0.000426, -0.008350, -0.000854> + 14385: <-0.000000, -0.008359, -0.000855> + 14386: <-0.000000, -0.008314, -0.001280> + 14387: < 0.000424, -0.008305, -0.001278> + 14388: <-0.000000, -0.008359, -0.000855> + 14389: <-0.000426, -0.008350, -0.000854> + 14390: <-0.000424, -0.008305, -0.001278> + 14391: <-0.000000, -0.008314, -0.001280> + 14392: <-0.000426, -0.008350, -0.000854> + 14393: <-0.000852, -0.008323, -0.000852> + 14394: <-0.000848, -0.008278, -0.001275> + 14395: <-0.000424, -0.008305, -0.001278> + 14396: <-0.000852, -0.008323, -0.000852> + 14397: <-0.001275, -0.008278, -0.000848> + 14398: <-0.001269, -0.008233, -0.001269> + 14399: <-0.000848, -0.008278, -0.001275> + 14400: <-0.001275, -0.008278, -0.000848> + 14401: <-0.001694, -0.008215, -0.000842> + 14402: <-0.001686, -0.008171, -0.001261> + 14403: <-0.001269, -0.008233, -0.001269> + 14404: <-0.001694, -0.008215, -0.000842> + 14405: <-0.002109, -0.008134, -0.000836> + 14406: <-0.002099, -0.008090, -0.001252> + 14407: <-0.001686, -0.008171, -0.001261> + 14408: <-0.002109, -0.008134, -0.000836> + 14409: <-0.002519, -0.008036, -0.000829> + 14410: <-0.002507, -0.007992, -0.001241> + 14411: <-0.002099, -0.008090, -0.001252> + 14412: <-0.002519, -0.008036, -0.000829> + 14413: <-0.002922, -0.007919, -0.000822> + 14414: <-0.002908, -0.007876, -0.001230> + 14415: <-0.002507, -0.007992, -0.001241> + 14416: <-0.002922, -0.007919, -0.000822> + 14417: <-0.003318, -0.007785, -0.000814> + 14418: <-0.003302, -0.007743, -0.001219> + 14419: <-0.002908, -0.007876, -0.001230> + 14420: <-0.003318, -0.007785, -0.000814> + 14421: <-0.003704, -0.007632, -0.000807> + 14422: <-0.003686, -0.007591, -0.001207> + 14423: <-0.003302, -0.007743, -0.001219> + 14424: <-0.003704, -0.007632, -0.000807> + 14425: <-0.004081, -0.007462, -0.000799> + 14426: <-0.004061, -0.007423, -0.001196> + 14427: <-0.003686, -0.007591, -0.001207> + 14428: <-0.004081, -0.007462, -0.000799> + 14429: <-0.004446, -0.007275, -0.000792> + 14430: <-0.004424, -0.007236, -0.001185> + 14431: <-0.004061, -0.007423, -0.001196> + 14432: <-0.004446, -0.007275, -0.000792> + 14433: <-0.004800, -0.007069, -0.000786> + 14434: <-0.004776, -0.007032, -0.001176> + 14435: <-0.004424, -0.007236, -0.001185> + 14436: <-0.004800, -0.007069, -0.000786> + 14437: <-0.005140, -0.006846, -0.000781> + 14438: <-0.005114, -0.006810, -0.001168> + 14439: <-0.004776, -0.007032, -0.001176> + 14440: <-0.005140, -0.006846, -0.000781> + 14441: <-0.005466, -0.006605, -0.000777> + 14442: <-0.005438, -0.006570, -0.001161> + 14443: <-0.005114, -0.006810, -0.001168> + 14444: <-0.005466, -0.006605, -0.000777> + 14445: <-0.005776, -0.006346, -0.000774> + 14446: <-0.005747, -0.006313, -0.001157> + 14447: <-0.005438, -0.006570, -0.001161> + 14448: < 0.005747, -0.006313, -0.001157> + 14449: < 0.005438, -0.006570, -0.001161> + 14450: < 0.005401, -0.006523, -0.001541> + 14451: < 0.005707, -0.006269, -0.001536> + 14452: < 0.005438, -0.006570, -0.001161> + 14453: < 0.005114, -0.006810, -0.001168> + 14454: < 0.005080, -0.006761, -0.001550> + 14455: < 0.005401, -0.006523, -0.001541> + 14456: < 0.005114, -0.006810, -0.001168> + 14457: < 0.004776, -0.007032, -0.001176> + 14458: < 0.004744, -0.006980, -0.001561> + 14459: < 0.005080, -0.006761, -0.001550> + 14460: < 0.004776, -0.007032, -0.001176> + 14461: < 0.004424, -0.007236, -0.001185> + 14462: < 0.004395, -0.007183, -0.001574> + 14463: < 0.004744, -0.006980, -0.001561> + 14464: < 0.004424, -0.007236, -0.001185> + 14465: < 0.004061, -0.007423, -0.001196> + 14466: < 0.004034, -0.007367, -0.001588> + 14467: < 0.004395, -0.007183, -0.001574> + 14468: < 0.004061, -0.007423, -0.001196> + 14469: < 0.003686, -0.007591, -0.001207> + 14470: < 0.003663, -0.007535, -0.001603> + 14471: < 0.004034, -0.007367, -0.001588> + 14472: < 0.003686, -0.007591, -0.001207> + 14473: < 0.003302, -0.007743, -0.001219> + 14474: < 0.003281, -0.007684, -0.001619> + 14475: < 0.003663, -0.007535, -0.001603> + 14476: < 0.003302, -0.007743, -0.001219> + 14477: < 0.002908, -0.007876, -0.001230> + 14478: < 0.002890, -0.007817, -0.001635> + 14479: < 0.003281, -0.007684, -0.001619> + 14480: < 0.002908, -0.007876, -0.001230> + 14481: < 0.002507, -0.007992, -0.001241> + 14482: < 0.002492, -0.007932, -0.001650> + 14483: < 0.002890, -0.007817, -0.001635> + 14484: < 0.002507, -0.007992, -0.001241> + 14485: < 0.002099, -0.008090, -0.001252> + 14486: < 0.002086, -0.008029, -0.001663> + 14487: < 0.002492, -0.007932, -0.001650> + 14488: < 0.002099, -0.008090, -0.001252> + 14489: < 0.001686, -0.008171, -0.001261> + 14490: < 0.001676, -0.008109, -0.001676> + 14491: < 0.002086, -0.008029, -0.001663> + 14492: < 0.001686, -0.008171, -0.001261> + 14493: < 0.001269, -0.008233, -0.001269> + 14494: < 0.001261, -0.008171, -0.001686> + 14495: < 0.001676, -0.008109, -0.001676> + 14496: < 0.001269, -0.008233, -0.001269> + 14497: < 0.000848, -0.008278, -0.001275> + 14498: < 0.000842, -0.008215, -0.001694> + 14499: < 0.001261, -0.008171, -0.001686> + 14500: < 0.000848, -0.008278, -0.001275> + 14501: < 0.000424, -0.008305, -0.001278> + 14502: < 0.000422, -0.008242, -0.001699> + 14503: < 0.000842, -0.008215, -0.001694> + 14504: < 0.000424, -0.008305, -0.001278> + 14505: <-0.000000, -0.008314, -0.001280> + 14506: <-0.000000, -0.008251, -0.001701> + 14507: < 0.000422, -0.008242, -0.001699> + 14508: <-0.000000, -0.008314, -0.001280> + 14509: <-0.000424, -0.008305, -0.001278> + 14510: <-0.000422, -0.008242, -0.001699> + 14511: <-0.000000, -0.008251, -0.001701> + 14512: <-0.000424, -0.008305, -0.001278> + 14513: <-0.000848, -0.008278, -0.001275> + 14514: <-0.000842, -0.008215, -0.001694> + 14515: <-0.000422, -0.008242, -0.001699> + 14516: <-0.000848, -0.008278, -0.001275> + 14517: <-0.001269, -0.008233, -0.001269> + 14518: <-0.001261, -0.008171, -0.001686> + 14519: <-0.000842, -0.008215, -0.001694> + 14520: <-0.001269, -0.008233, -0.001269> + 14521: <-0.001686, -0.008171, -0.001261> + 14522: <-0.001676, -0.008109, -0.001676> + 14523: <-0.001261, -0.008171, -0.001686> + 14524: <-0.001686, -0.008171, -0.001261> + 14525: <-0.002099, -0.008090, -0.001252> + 14526: <-0.002086, -0.008029, -0.001663> + 14527: <-0.001676, -0.008109, -0.001676> + 14528: <-0.002099, -0.008090, -0.001252> + 14529: <-0.002507, -0.007992, -0.001241> + 14530: <-0.002492, -0.007932, -0.001650> + 14531: <-0.002086, -0.008029, -0.001663> + 14532: <-0.002507, -0.007992, -0.001241> + 14533: <-0.002908, -0.007876, -0.001230> + 14534: <-0.002890, -0.007817, -0.001635> + 14535: <-0.002492, -0.007932, -0.001650> + 14536: <-0.002908, -0.007876, -0.001230> + 14537: <-0.003302, -0.007743, -0.001219> + 14538: <-0.003281, -0.007684, -0.001619> + 14539: <-0.002890, -0.007817, -0.001635> + 14540: <-0.003302, -0.007743, -0.001219> + 14541: <-0.003686, -0.007591, -0.001207> + 14542: <-0.003663, -0.007535, -0.001603> + 14543: <-0.003281, -0.007684, -0.001619> + 14544: <-0.003686, -0.007591, -0.001207> + 14545: <-0.004061, -0.007423, -0.001196> + 14546: <-0.004034, -0.007367, -0.001588> + 14547: <-0.003663, -0.007535, -0.001603> + 14548: <-0.004061, -0.007423, -0.001196> + 14549: <-0.004424, -0.007236, -0.001185> + 14550: <-0.004395, -0.007183, -0.001574> + 14551: <-0.004034, -0.007367, -0.001588> + 14552: <-0.004424, -0.007236, -0.001185> + 14553: <-0.004776, -0.007032, -0.001176> + 14554: <-0.004744, -0.006980, -0.001561> + 14555: <-0.004395, -0.007183, -0.001574> + 14556: <-0.004776, -0.007032, -0.001176> + 14557: <-0.005114, -0.006810, -0.001168> + 14558: <-0.005080, -0.006761, -0.001550> + 14559: <-0.004744, -0.006980, -0.001561> + 14560: <-0.005114, -0.006810, -0.001168> + 14561: <-0.005438, -0.006570, -0.001161> + 14562: <-0.005401, -0.006523, -0.001541> + 14563: <-0.005080, -0.006761, -0.001550> + 14564: <-0.005438, -0.006570, -0.001161> + 14565: <-0.005747, -0.006313, -0.001157> + 14566: <-0.005707, -0.006269, -0.001536> + 14567: <-0.005401, -0.006523, -0.001541> + 14568: < 0.005707, -0.006269, -0.001536> + 14569: < 0.005401, -0.006523, -0.001541> + 14570: < 0.005355, -0.006464, -0.001915> + 14571: < 0.005657, -0.006212, -0.001908> + 14572: < 0.005401, -0.006523, -0.001541> + 14573: < 0.005080, -0.006761, -0.001550> + 14574: < 0.005037, -0.006698, -0.001926> + 14575: < 0.005355, -0.006464, -0.001915> + 14576: < 0.005080, -0.006761, -0.001550> + 14577: < 0.004744, -0.006980, -0.001561> + 14578: < 0.004705, -0.006915, -0.001940> + 14579: < 0.005037, -0.006698, -0.001926> + 14580: < 0.004744, -0.006980, -0.001561> + 14581: < 0.004395, -0.007183, -0.001574> + 14582: < 0.004360, -0.007115, -0.001957> + 14583: < 0.004705, -0.006915, -0.001940> + 14584: < 0.004395, -0.007183, -0.001574> + 14585: < 0.004034, -0.007367, -0.001588> + 14586: < 0.004002, -0.007297, -0.001975> + 14587: < 0.004360, -0.007115, -0.001957> + 14588: < 0.004034, -0.007367, -0.001588> + 14589: < 0.003663, -0.007535, -0.001603> + 14590: < 0.003634, -0.007462, -0.001995> + 14591: < 0.004002, -0.007297, -0.001975> + 14592: < 0.003663, -0.007535, -0.001603> + 14593: < 0.003281, -0.007684, -0.001619> + 14594: < 0.003255, -0.007610, -0.002015> + 14595: < 0.003634, -0.007462, -0.001995> + 14596: < 0.003281, -0.007684, -0.001619> + 14597: < 0.002890, -0.007817, -0.001635> + 14598: < 0.002868, -0.007740, -0.002035> + 14599: < 0.003255, -0.007610, -0.002015> + 14600: < 0.002890, -0.007817, -0.001635> + 14601: < 0.002492, -0.007932, -0.001650> + 14602: < 0.002473, -0.007854, -0.002053> + 14603: < 0.002868, -0.007740, -0.002035> + 14604: < 0.002492, -0.007932, -0.001650> + 14605: < 0.002086, -0.008029, -0.001663> + 14606: < 0.002071, -0.007950, -0.002071> + 14607: < 0.002473, -0.007854, -0.002053> + 14608: < 0.002086, -0.008029, -0.001663> + 14609: < 0.001676, -0.008109, -0.001676> + 14610: < 0.001663, -0.008029, -0.002086> + 14611: < 0.002071, -0.007950, -0.002071> + 14612: < 0.001676, -0.008109, -0.001676> + 14613: < 0.001261, -0.008171, -0.001686> + 14614: < 0.001252, -0.008090, -0.002099> + 14615: < 0.001663, -0.008029, -0.002086> + 14616: < 0.001261, -0.008171, -0.001686> + 14617: < 0.000842, -0.008215, -0.001694> + 14618: < 0.000836, -0.008134, -0.002109> + 14619: < 0.001252, -0.008090, -0.002099> + 14620: < 0.000842, -0.008215, -0.001694> + 14621: < 0.000422, -0.008242, -0.001699> + 14622: < 0.000419, -0.008161, -0.002116> + 14623: < 0.000836, -0.008134, -0.002109> + 14624: < 0.000422, -0.008242, -0.001699> + 14625: <-0.000000, -0.008251, -0.001701> + 14626: <-0.000000, -0.008169, -0.002118> + 14627: < 0.000419, -0.008161, -0.002116> + 14628: <-0.000000, -0.008251, -0.001701> + 14629: <-0.000422, -0.008242, -0.001699> + 14630: <-0.000419, -0.008161, -0.002116> + 14631: <-0.000000, -0.008169, -0.002118> + 14632: <-0.000422, -0.008242, -0.001699> + 14633: <-0.000842, -0.008215, -0.001694> + 14634: <-0.000836, -0.008134, -0.002109> + 14635: <-0.000419, -0.008161, -0.002116> + 14636: <-0.000842, -0.008215, -0.001694> + 14637: <-0.001261, -0.008171, -0.001686> + 14638: <-0.001252, -0.008090, -0.002099> + 14639: <-0.000836, -0.008134, -0.002109> + 14640: <-0.001261, -0.008171, -0.001686> + 14641: <-0.001676, -0.008109, -0.001676> + 14642: <-0.001663, -0.008029, -0.002086> + 14643: <-0.001252, -0.008090, -0.002099> + 14644: <-0.001676, -0.008109, -0.001676> + 14645: <-0.002086, -0.008029, -0.001663> + 14646: <-0.002071, -0.007950, -0.002071> + 14647: <-0.001663, -0.008029, -0.002086> + 14648: <-0.002086, -0.008029, -0.001663> + 14649: <-0.002492, -0.007932, -0.001650> + 14650: <-0.002473, -0.007854, -0.002053> + 14651: <-0.002071, -0.007950, -0.002071> + 14652: <-0.002492, -0.007932, -0.001650> + 14653: <-0.002890, -0.007817, -0.001635> + 14654: <-0.002868, -0.007740, -0.002035> + 14655: <-0.002473, -0.007854, -0.002053> + 14656: <-0.002890, -0.007817, -0.001635> + 14657: <-0.003281, -0.007684, -0.001619> + 14658: <-0.003255, -0.007610, -0.002015> + 14659: <-0.002868, -0.007740, -0.002035> + 14660: <-0.003281, -0.007684, -0.001619> + 14661: <-0.003663, -0.007535, -0.001603> + 14662: <-0.003634, -0.007462, -0.001995> + 14663: <-0.003255, -0.007610, -0.002015> + 14664: <-0.003663, -0.007535, -0.001603> + 14665: <-0.004034, -0.007367, -0.001588> + 14666: <-0.004002, -0.007297, -0.001975> + 14667: <-0.003634, -0.007462, -0.001995> + 14668: <-0.004034, -0.007367, -0.001588> + 14669: <-0.004395, -0.007183, -0.001574> + 14670: <-0.004360, -0.007115, -0.001957> + 14671: <-0.004002, -0.007297, -0.001975> + 14672: <-0.004395, -0.007183, -0.001574> + 14673: <-0.004744, -0.006980, -0.001561> + 14674: <-0.004705, -0.006915, -0.001940> + 14675: <-0.004360, -0.007115, -0.001957> + 14676: <-0.004744, -0.006980, -0.001561> + 14677: <-0.005080, -0.006761, -0.001550> + 14678: <-0.005037, -0.006698, -0.001926> + 14679: <-0.004705, -0.006915, -0.001940> + 14680: <-0.005080, -0.006761, -0.001550> + 14681: <-0.005401, -0.006523, -0.001541> + 14682: <-0.005355, -0.006464, -0.001915> + 14683: <-0.005037, -0.006698, -0.001926> + 14684: <-0.005401, -0.006523, -0.001541> + 14685: <-0.005707, -0.006269, -0.001536> + 14686: <-0.005657, -0.006212, -0.001908> + 14687: <-0.005355, -0.006464, -0.001915> + 14688: < 0.005657, -0.006212, -0.001908> + 14689: < 0.005355, -0.006464, -0.001915> + 14690: < 0.005301, -0.006393, -0.002281> + 14691: < 0.005599, -0.006146, -0.002272> + 14692: < 0.005355, -0.006464, -0.001915> + 14693: < 0.005037, -0.006698, -0.001926> + 14694: < 0.004987, -0.006623, -0.002295> + 14695: < 0.005301, -0.006393, -0.002281> + 14696: < 0.005037, -0.006698, -0.001926> + 14697: < 0.004705, -0.006915, -0.001940> + 14698: < 0.004659, -0.006836, -0.002313> + 14699: < 0.004987, -0.006623, -0.002295> + 14700: < 0.004705, -0.006915, -0.001940> + 14701: < 0.004360, -0.007115, -0.001957> + 14702: < 0.004318, -0.007033, -0.002333> + 14703: < 0.004659, -0.006836, -0.002313> + 14704: < 0.004360, -0.007115, -0.001957> + 14705: < 0.004002, -0.007297, -0.001975> + 14706: < 0.003965, -0.007212, -0.002356> + 14707: < 0.004318, -0.007033, -0.002333> + 14708: < 0.004002, -0.007297, -0.001975> + 14709: < 0.003634, -0.007462, -0.001995> + 14710: < 0.003601, -0.007374, -0.002380> + 14711: < 0.003965, -0.007212, -0.002356> + 14712: < 0.003634, -0.007462, -0.001995> + 14713: < 0.003255, -0.007610, -0.002015> + 14714: < 0.003227, -0.007519, -0.002405> + 14715: < 0.003601, -0.007374, -0.002380> + 14716: < 0.003255, -0.007610, -0.002015> + 14717: < 0.002868, -0.007740, -0.002035> + 14718: < 0.002843, -0.007648, -0.002429> + 14719: < 0.003227, -0.007519, -0.002405> + 14720: < 0.002868, -0.007740, -0.002035> + 14721: < 0.002473, -0.007854, -0.002053> + 14722: < 0.002452, -0.007759, -0.002452> + 14723: < 0.002843, -0.007648, -0.002429> + 14724: < 0.002473, -0.007854, -0.002053> + 14725: < 0.002071, -0.007950, -0.002071> + 14726: < 0.002053, -0.007854, -0.002473> + 14727: < 0.002452, -0.007759, -0.002452> + 14728: < 0.002071, -0.007950, -0.002071> + 14729: < 0.001663, -0.008029, -0.002086> + 14730: < 0.001650, -0.007932, -0.002492> + 14731: < 0.002053, -0.007854, -0.002473> + 14732: < 0.001663, -0.008029, -0.002086> + 14733: < 0.001252, -0.008090, -0.002099> + 14734: < 0.001241, -0.007992, -0.002507> + 14735: < 0.001650, -0.007932, -0.002492> + 14736: < 0.001252, -0.008090, -0.002099> + 14737: < 0.000836, -0.008134, -0.002109> + 14738: < 0.000829, -0.008036, -0.002519> + 14739: < 0.001241, -0.007992, -0.002507> + 14740: < 0.000836, -0.008134, -0.002109> + 14741: < 0.000419, -0.008161, -0.002116> + 14742: < 0.000415, -0.008062, -0.002527> + 14743: < 0.000829, -0.008036, -0.002519> + 14744: < 0.000419, -0.008161, -0.002116> + 14745: <-0.000000, -0.008169, -0.002118> + 14746: <-0.000000, -0.008070, -0.002530> + 14747: < 0.000415, -0.008062, -0.002527> + 14748: <-0.000000, -0.008169, -0.002118> + 14749: <-0.000419, -0.008161, -0.002116> + 14750: <-0.000415, -0.008062, -0.002527> + 14751: <-0.000000, -0.008070, -0.002530> + 14752: <-0.000419, -0.008161, -0.002116> + 14753: <-0.000836, -0.008134, -0.002109> + 14754: <-0.000829, -0.008036, -0.002519> + 14755: <-0.000415, -0.008062, -0.002527> + 14756: <-0.000836, -0.008134, -0.002109> + 14757: <-0.001252, -0.008090, -0.002099> + 14758: <-0.001241, -0.007992, -0.002507> + 14759: <-0.000829, -0.008036, -0.002519> + 14760: <-0.001252, -0.008090, -0.002099> + 14761: <-0.001663, -0.008029, -0.002086> + 14762: <-0.001650, -0.007932, -0.002492> + 14763: <-0.001241, -0.007992, -0.002507> + 14764: <-0.001663, -0.008029, -0.002086> + 14765: <-0.002071, -0.007950, -0.002071> + 14766: <-0.002053, -0.007854, -0.002473> + 14767: <-0.001650, -0.007932, -0.002492> + 14768: <-0.002071, -0.007950, -0.002071> + 14769: <-0.002473, -0.007854, -0.002053> + 14770: <-0.002452, -0.007759, -0.002452> + 14771: <-0.002053, -0.007854, -0.002473> + 14772: <-0.002473, -0.007854, -0.002053> + 14773: <-0.002868, -0.007740, -0.002035> + 14774: <-0.002843, -0.007648, -0.002429> + 14775: <-0.002452, -0.007759, -0.002452> + 14776: <-0.002868, -0.007740, -0.002035> + 14777: <-0.003255, -0.007610, -0.002015> + 14778: <-0.003227, -0.007519, -0.002405> + 14779: <-0.002843, -0.007648, -0.002429> + 14780: <-0.003255, -0.007610, -0.002015> + 14781: <-0.003634, -0.007462, -0.001995> + 14782: <-0.003601, -0.007374, -0.002380> + 14783: <-0.003227, -0.007519, -0.002405> + 14784: <-0.003634, -0.007462, -0.001995> + 14785: <-0.004002, -0.007297, -0.001975> + 14786: <-0.003965, -0.007212, -0.002356> + 14787: <-0.003601, -0.007374, -0.002380> + 14788: <-0.004002, -0.007297, -0.001975> + 14789: <-0.004360, -0.007115, -0.001957> + 14790: <-0.004318, -0.007033, -0.002333> + 14791: <-0.003965, -0.007212, -0.002356> + 14792: <-0.004360, -0.007115, -0.001957> + 14793: <-0.004705, -0.006915, -0.001940> + 14794: <-0.004659, -0.006836, -0.002313> + 14795: <-0.004318, -0.007033, -0.002333> + 14796: <-0.004705, -0.006915, -0.001940> + 14797: <-0.005037, -0.006698, -0.001926> + 14798: <-0.004987, -0.006623, -0.002295> + 14799: <-0.004659, -0.006836, -0.002313> + 14800: <-0.005037, -0.006698, -0.001926> + 14801: <-0.005355, -0.006464, -0.001915> + 14802: <-0.005301, -0.006393, -0.002281> + 14803: <-0.004987, -0.006623, -0.002295> + 14804: <-0.005355, -0.006464, -0.001915> + 14805: <-0.005657, -0.006212, -0.001908> + 14806: <-0.005599, -0.006146, -0.002272> + 14807: <-0.005301, -0.006393, -0.002281> + 14808: < 0.005599, -0.006146, -0.002272> + 14809: < 0.005301, -0.006393, -0.002281> + 14810: < 0.005240, -0.006311, -0.002638> + 14811: < 0.005533, -0.006069, -0.002627> + 14812: < 0.005301, -0.006393, -0.002281> + 14813: < 0.004987, -0.006623, -0.002295> + 14814: < 0.004931, -0.006537, -0.002655> + 14815: < 0.005240, -0.006311, -0.002638> + 14816: < 0.004987, -0.006623, -0.002295> + 14817: < 0.004659, -0.006836, -0.002313> + 14818: < 0.004609, -0.006745, -0.002676> + 14819: < 0.004931, -0.006537, -0.002655> + 14820: < 0.004659, -0.006836, -0.002313> + 14821: < 0.004318, -0.007033, -0.002333> + 14822: < 0.004273, -0.006937, -0.002701> + 14823: < 0.004609, -0.006745, -0.002676> + 14824: < 0.004318, -0.007033, -0.002333> + 14825: < 0.003965, -0.007212, -0.002356> + 14826: < 0.003924, -0.007112, -0.002729> + 14827: < 0.004273, -0.006937, -0.002701> + 14828: < 0.003965, -0.007212, -0.002356> + 14829: < 0.003601, -0.007374, -0.002380> + 14830: < 0.003565, -0.007270, -0.002758> + 14831: < 0.003924, -0.007112, -0.002729> + 14832: < 0.003601, -0.007374, -0.002380> + 14833: < 0.003227, -0.007519, -0.002405> + 14834: < 0.003195, -0.007412, -0.002787> + 14835: < 0.003565, -0.007270, -0.002758> + 14836: < 0.003227, -0.007519, -0.002405> + 14837: < 0.002843, -0.007648, -0.002429> + 14838: < 0.002816, -0.007538, -0.002816> + 14839: < 0.003195, -0.007412, -0.002787> + 14840: < 0.002843, -0.007648, -0.002429> + 14841: < 0.002452, -0.007759, -0.002452> + 14842: < 0.002429, -0.007648, -0.002843> + 14843: < 0.002816, -0.007538, -0.002816> + 14844: < 0.002452, -0.007759, -0.002452> + 14845: < 0.002053, -0.007854, -0.002473> + 14846: < 0.002035, -0.007740, -0.002868> + 14847: < 0.002429, -0.007648, -0.002843> + 14848: < 0.002053, -0.007854, -0.002473> + 14849: < 0.001650, -0.007932, -0.002492> + 14850: < 0.001635, -0.007817, -0.002890> + 14851: < 0.002035, -0.007740, -0.002868> + 14852: < 0.001650, -0.007932, -0.002492> + 14853: < 0.001241, -0.007992, -0.002507> + 14854: < 0.001230, -0.007876, -0.002908> + 14855: < 0.001635, -0.007817, -0.002890> + 14856: < 0.001241, -0.007992, -0.002507> + 14857: < 0.000829, -0.008036, -0.002519> + 14858: < 0.000822, -0.007919, -0.002922> + 14859: < 0.001230, -0.007876, -0.002908> + 14860: < 0.000829, -0.008036, -0.002519> + 14861: < 0.000415, -0.008062, -0.002527> + 14862: < 0.000412, -0.007945, -0.002931> + 14863: < 0.000822, -0.007919, -0.002922> + 14864: < 0.000415, -0.008062, -0.002527> + 14865: <-0.000000, -0.008070, -0.002530> + 14866: <-0.000000, -0.007953, -0.002934> + 14867: < 0.000412, -0.007945, -0.002931> + 14868: <-0.000000, -0.008070, -0.002530> + 14869: <-0.000415, -0.008062, -0.002527> + 14870: <-0.000412, -0.007945, -0.002931> + 14871: <-0.000000, -0.007953, -0.002934> + 14872: <-0.000415, -0.008062, -0.002527> + 14873: <-0.000829, -0.008036, -0.002519> + 14874: <-0.000822, -0.007919, -0.002922> + 14875: <-0.000412, -0.007945, -0.002931> + 14876: <-0.000829, -0.008036, -0.002519> + 14877: <-0.001241, -0.007992, -0.002507> + 14878: <-0.001230, -0.007876, -0.002908> + 14879: <-0.000822, -0.007919, -0.002922> + 14880: <-0.001241, -0.007992, -0.002507> + 14881: <-0.001650, -0.007932, -0.002492> + 14882: <-0.001635, -0.007817, -0.002890> + 14883: <-0.001230, -0.007876, -0.002908> + 14884: <-0.001650, -0.007932, -0.002492> + 14885: <-0.002053, -0.007854, -0.002473> + 14886: <-0.002035, -0.007740, -0.002868> + 14887: <-0.001635, -0.007817, -0.002890> + 14888: <-0.002053, -0.007854, -0.002473> + 14889: <-0.002452, -0.007759, -0.002452> + 14890: <-0.002429, -0.007648, -0.002843> + 14891: <-0.002035, -0.007740, -0.002868> + 14892: <-0.002452, -0.007759, -0.002452> + 14893: <-0.002843, -0.007648, -0.002429> + 14894: <-0.002816, -0.007538, -0.002816> + 14895: <-0.002429, -0.007648, -0.002843> + 14896: <-0.002843, -0.007648, -0.002429> + 14897: <-0.003227, -0.007519, -0.002405> + 14898: <-0.003195, -0.007412, -0.002787> + 14899: <-0.002816, -0.007538, -0.002816> + 14900: <-0.003227, -0.007519, -0.002405> + 14901: <-0.003601, -0.007374, -0.002380> + 14902: <-0.003565, -0.007270, -0.002758> + 14903: <-0.003195, -0.007412, -0.002787> + 14904: <-0.003601, -0.007374, -0.002380> + 14905: <-0.003965, -0.007212, -0.002356> + 14906: <-0.003924, -0.007112, -0.002729> + 14907: <-0.003565, -0.007270, -0.002758> + 14908: <-0.003965, -0.007212, -0.002356> + 14909: <-0.004318, -0.007033, -0.002333> + 14910: <-0.004273, -0.006937, -0.002701> + 14911: <-0.003924, -0.007112, -0.002729> + 14912: <-0.004318, -0.007033, -0.002333> + 14913: <-0.004659, -0.006836, -0.002313> + 14914: <-0.004609, -0.006745, -0.002676> + 14915: <-0.004273, -0.006937, -0.002701> + 14916: <-0.004659, -0.006836, -0.002313> + 14917: <-0.004987, -0.006623, -0.002295> + 14918: <-0.004931, -0.006537, -0.002655> + 14919: <-0.004609, -0.006745, -0.002676> + 14920: <-0.004987, -0.006623, -0.002295> + 14921: <-0.005301, -0.006393, -0.002281> + 14922: <-0.005240, -0.006311, -0.002638> + 14923: <-0.004931, -0.006537, -0.002655> + 14924: <-0.005301, -0.006393, -0.002281> + 14925: <-0.005599, -0.006146, -0.002272> + 14926: <-0.005533, -0.006069, -0.002627> + 14927: <-0.005240, -0.006311, -0.002638> + 14928: < 0.005533, -0.006069, -0.002627> + 14929: < 0.005240, -0.006311, -0.002638> + 14930: < 0.005172, -0.006219, -0.002984> + 14931: < 0.005459, -0.005983, -0.002971> + 14932: < 0.005240, -0.006311, -0.002638> + 14933: < 0.004931, -0.006537, -0.002655> + 14934: < 0.004870, -0.006439, -0.003004> + 14935: < 0.005172, -0.006219, -0.002984> + 14936: < 0.004931, -0.006537, -0.002655> + 14937: < 0.004609, -0.006745, -0.002676> + 14938: < 0.004553, -0.006641, -0.003030> + 14939: < 0.004870, -0.006439, -0.003004> + 14940: < 0.004609, -0.006745, -0.002676> + 14941: < 0.004273, -0.006937, -0.002701> + 14942: < 0.004223, -0.006828, -0.003060> + 14943: < 0.004553, -0.006641, -0.003030> + 14944: < 0.004273, -0.006937, -0.002701> + 14945: < 0.003924, -0.007112, -0.002729> + 14946: < 0.003880, -0.006998, -0.003093> + 14947: < 0.004223, -0.006828, -0.003060> + 14948: < 0.003924, -0.007112, -0.002729> + 14949: < 0.003565, -0.007270, -0.002758> + 14950: < 0.003526, -0.007152, -0.003127> + 14951: < 0.003880, -0.006998, -0.003093> + 14952: < 0.003565, -0.007270, -0.002758> + 14953: < 0.003195, -0.007412, -0.002787> + 14954: < 0.003162, -0.007290, -0.003162> + 14955: < 0.003526, -0.007152, -0.003127> + 14956: < 0.003195, -0.007412, -0.002787> + 14957: < 0.002816, -0.007538, -0.002816> + 14958: < 0.002787, -0.007412, -0.003195> + 14959: < 0.003162, -0.007290, -0.003162> + 14960: < 0.002816, -0.007538, -0.002816> + 14961: < 0.002429, -0.007648, -0.002843> + 14962: < 0.002405, -0.007519, -0.003227> + 14963: < 0.002787, -0.007412, -0.003195> + 14964: < 0.002429, -0.007648, -0.002843> + 14965: < 0.002035, -0.007740, -0.002868> + 14966: < 0.002015, -0.007610, -0.003255> + 14967: < 0.002405, -0.007519, -0.003227> + 14968: < 0.002035, -0.007740, -0.002868> + 14969: < 0.001635, -0.007817, -0.002890> + 14970: < 0.001619, -0.007684, -0.003281> + 14971: < 0.002015, -0.007610, -0.003255> + 14972: < 0.001635, -0.007817, -0.002890> + 14973: < 0.001230, -0.007876, -0.002908> + 14974: < 0.001219, -0.007743, -0.003302> + 14975: < 0.001619, -0.007684, -0.003281> + 14976: < 0.001230, -0.007876, -0.002908> + 14977: < 0.000822, -0.007919, -0.002922> + 14978: < 0.000814, -0.007785, -0.003318> + 14979: < 0.001219, -0.007743, -0.003302> + 14980: < 0.000822, -0.007919, -0.002922> + 14981: < 0.000412, -0.007945, -0.002931> + 14982: < 0.000408, -0.007810, -0.003328> + 14983: < 0.000814, -0.007785, -0.003318> + 14984: < 0.000412, -0.007945, -0.002931> + 14985: <-0.000000, -0.007953, -0.002934> + 14986: <-0.000000, -0.007818, -0.003331> + 14987: < 0.000408, -0.007810, -0.003328> + 14988: <-0.000000, -0.007953, -0.002934> + 14989: <-0.000412, -0.007945, -0.002931> + 14990: <-0.000408, -0.007810, -0.003328> + 14991: <-0.000000, -0.007818, -0.003331> + 14992: <-0.000412, -0.007945, -0.002931> + 14993: <-0.000822, -0.007919, -0.002922> + 14994: <-0.000814, -0.007785, -0.003318> + 14995: <-0.000408, -0.007810, -0.003328> + 14996: <-0.000822, -0.007919, -0.002922> + 14997: <-0.001230, -0.007876, -0.002908> + 14998: <-0.001219, -0.007743, -0.003302> + 14999: <-0.000814, -0.007785, -0.003318> + 15000: <-0.001230, -0.007876, -0.002908> + 15001: <-0.001635, -0.007817, -0.002890> + 15002: <-0.001619, -0.007684, -0.003281> + 15003: <-0.001219, -0.007743, -0.003302> + 15004: <-0.001635, -0.007817, -0.002890> + 15005: <-0.002035, -0.007740, -0.002868> + 15006: <-0.002015, -0.007610, -0.003255> + 15007: <-0.001619, -0.007684, -0.003281> + 15008: <-0.002035, -0.007740, -0.002868> + 15009: <-0.002429, -0.007648, -0.002843> + 15010: <-0.002405, -0.007519, -0.003227> + 15011: <-0.002015, -0.007610, -0.003255> + 15012: <-0.002429, -0.007648, -0.002843> + 15013: <-0.002816, -0.007538, -0.002816> + 15014: <-0.002787, -0.007412, -0.003195> + 15015: <-0.002405, -0.007519, -0.003227> + 15016: <-0.002816, -0.007538, -0.002816> + 15017: <-0.003195, -0.007412, -0.002787> + 15018: <-0.003162, -0.007290, -0.003162> + 15019: <-0.002787, -0.007412, -0.003195> + 15020: <-0.003195, -0.007412, -0.002787> + 15021: <-0.003565, -0.007270, -0.002758> + 15022: <-0.003526, -0.007152, -0.003127> + 15023: <-0.003162, -0.007290, -0.003162> + 15024: <-0.003565, -0.007270, -0.002758> + 15025: <-0.003924, -0.007112, -0.002729> + 15026: <-0.003880, -0.006998, -0.003093> + 15027: <-0.003526, -0.007152, -0.003127> + 15028: <-0.003924, -0.007112, -0.002729> + 15029: <-0.004273, -0.006937, -0.002701> + 15030: <-0.004223, -0.006828, -0.003060> + 15031: <-0.003880, -0.006998, -0.003093> + 15032: <-0.004273, -0.006937, -0.002701> + 15033: <-0.004609, -0.006745, -0.002676> + 15034: <-0.004553, -0.006641, -0.003030> + 15035: <-0.004223, -0.006828, -0.003060> + 15036: <-0.004609, -0.006745, -0.002676> + 15037: <-0.004931, -0.006537, -0.002655> + 15038: <-0.004870, -0.006439, -0.003004> + 15039: <-0.004553, -0.006641, -0.003030> + 15040: <-0.004931, -0.006537, -0.002655> + 15041: <-0.005240, -0.006311, -0.002638> + 15042: <-0.005172, -0.006219, -0.002984> + 15043: <-0.004870, -0.006439, -0.003004> + 15044: <-0.005240, -0.006311, -0.002638> + 15045: <-0.005533, -0.006069, -0.002627> + 15046: <-0.005459, -0.005983, -0.002971> + 15047: <-0.005172, -0.006219, -0.002984> + 15048: < 0.005459, -0.005983, -0.002971> + 15049: < 0.005172, -0.006219, -0.002984> + 15050: < 0.005099, -0.006117, -0.003318> + 15051: < 0.005379, -0.005888, -0.003302> + 15052: < 0.005172, -0.006219, -0.002984> + 15053: < 0.004870, -0.006439, -0.003004> + 15054: < 0.004804, -0.006329, -0.003342> + 15055: < 0.005099, -0.006117, -0.003318> + 15056: < 0.004870, -0.006439, -0.003004> + 15057: < 0.004553, -0.006641, -0.003030> + 15058: < 0.004494, -0.006525, -0.003372> + 15059: < 0.004804, -0.006329, -0.003342> + 15060: < 0.004553, -0.006641, -0.003030> + 15061: < 0.004223, -0.006828, -0.003060> + 15062: < 0.004170, -0.006705, -0.003407> + 15063: < 0.004494, -0.006525, -0.003372> + 15064: < 0.004223, -0.006828, -0.003060> + 15065: < 0.003880, -0.006998, -0.003093> + 15066: < 0.003834, -0.006870, -0.003446> + 15067: < 0.004170, -0.006705, -0.003407> + 15068: < 0.003880, -0.006998, -0.003093> + 15069: < 0.003526, -0.007152, -0.003127> + 15070: < 0.003486, -0.007018, -0.003486> + 15071: < 0.003834, -0.006870, -0.003446> + 15072: < 0.003526, -0.007152, -0.003127> + 15073: < 0.003162, -0.007290, -0.003162> + 15074: < 0.003127, -0.007152, -0.003526> + 15075: < 0.003486, -0.007018, -0.003486> + 15076: < 0.003162, -0.007290, -0.003162> + 15077: < 0.002787, -0.007412, -0.003195> + 15078: < 0.002758, -0.007270, -0.003565> + 15079: < 0.003127, -0.007152, -0.003526> + 15080: < 0.002787, -0.007412, -0.003195> + 15081: < 0.002405, -0.007519, -0.003227> + 15082: < 0.002380, -0.007374, -0.003601> + 15083: < 0.002758, -0.007270, -0.003565> + 15084: < 0.002405, -0.007519, -0.003227> + 15085: < 0.002015, -0.007610, -0.003255> + 15086: < 0.001995, -0.007462, -0.003634> + 15087: < 0.002380, -0.007374, -0.003601> + 15088: < 0.002015, -0.007610, -0.003255> + 15089: < 0.001619, -0.007684, -0.003281> + 15090: < 0.001603, -0.007535, -0.003663> + 15091: < 0.001995, -0.007462, -0.003634> + 15092: < 0.001619, -0.007684, -0.003281> + 15093: < 0.001219, -0.007743, -0.003302> + 15094: < 0.001207, -0.007591, -0.003686> + 15095: < 0.001603, -0.007535, -0.003663> + 15096: < 0.001219, -0.007743, -0.003302> + 15097: < 0.000814, -0.007785, -0.003318> + 15098: < 0.000807, -0.007632, -0.003704> + 15099: < 0.001207, -0.007591, -0.003686> + 15100: < 0.000814, -0.007785, -0.003318> + 15101: < 0.000408, -0.007810, -0.003328> + 15102: < 0.000404, -0.007657, -0.003716> + 15103: < 0.000807, -0.007632, -0.003704> + 15104: < 0.000408, -0.007810, -0.003328> + 15105: <-0.000000, -0.007818, -0.003331> + 15106: <-0.000000, -0.007665, -0.003720> + 15107: < 0.000404, -0.007657, -0.003716> + 15108: <-0.000000, -0.007818, -0.003331> + 15109: <-0.000408, -0.007810, -0.003328> + 15110: <-0.000404, -0.007657, -0.003716> + 15111: <-0.000000, -0.007665, -0.003720> + 15112: <-0.000408, -0.007810, -0.003328> + 15113: <-0.000814, -0.007785, -0.003318> + 15114: <-0.000807, -0.007632, -0.003704> + 15115: <-0.000404, -0.007657, -0.003716> + 15116: <-0.000814, -0.007785, -0.003318> + 15117: <-0.001219, -0.007743, -0.003302> + 15118: <-0.001207, -0.007591, -0.003686> + 15119: <-0.000807, -0.007632, -0.003704> + 15120: <-0.001219, -0.007743, -0.003302> + 15121: <-0.001619, -0.007684, -0.003281> + 15122: <-0.001603, -0.007535, -0.003663> + 15123: <-0.001207, -0.007591, -0.003686> + 15124: <-0.001619, -0.007684, -0.003281> + 15125: <-0.002015, -0.007610, -0.003255> + 15126: <-0.001995, -0.007462, -0.003634> + 15127: <-0.001603, -0.007535, -0.003663> + 15128: <-0.002015, -0.007610, -0.003255> + 15129: <-0.002405, -0.007519, -0.003227> + 15130: <-0.002380, -0.007374, -0.003601> + 15131: <-0.001995, -0.007462, -0.003634> + 15132: <-0.002405, -0.007519, -0.003227> + 15133: <-0.002787, -0.007412, -0.003195> + 15134: <-0.002758, -0.007270, -0.003565> + 15135: <-0.002380, -0.007374, -0.003601> + 15136: <-0.002787, -0.007412, -0.003195> + 15137: <-0.003162, -0.007290, -0.003162> + 15138: <-0.003127, -0.007152, -0.003526> + 15139: <-0.002758, -0.007270, -0.003565> + 15140: <-0.003162, -0.007290, -0.003162> + 15141: <-0.003526, -0.007152, -0.003127> + 15142: <-0.003486, -0.007018, -0.003486> + 15143: <-0.003127, -0.007152, -0.003526> + 15144: <-0.003526, -0.007152, -0.003127> + 15145: <-0.003880, -0.006998, -0.003093> + 15146: <-0.003834, -0.006870, -0.003446> + 15147: <-0.003486, -0.007018, -0.003486> + 15148: <-0.003880, -0.006998, -0.003093> + 15149: <-0.004223, -0.006828, -0.003060> + 15150: <-0.004170, -0.006705, -0.003407> + 15151: <-0.003834, -0.006870, -0.003446> + 15152: <-0.004223, -0.006828, -0.003060> + 15153: <-0.004553, -0.006641, -0.003030> + 15154: <-0.004494, -0.006525, -0.003372> + 15155: <-0.004170, -0.006705, -0.003407> + 15156: <-0.004553, -0.006641, -0.003030> + 15157: <-0.004870, -0.006439, -0.003004> + 15158: <-0.004804, -0.006329, -0.003342> + 15159: <-0.004494, -0.006525, -0.003372> + 15160: <-0.004870, -0.006439, -0.003004> + 15161: <-0.005172, -0.006219, -0.002984> + 15162: <-0.005099, -0.006117, -0.003318> + 15163: <-0.004804, -0.006329, -0.003342> + 15164: <-0.005172, -0.006219, -0.002984> + 15165: <-0.005459, -0.005983, -0.002971> + 15166: <-0.005379, -0.005888, -0.003302> + 15167: <-0.005099, -0.006117, -0.003318> + 15168: < 0.005379, -0.005888, -0.003302> + 15169: < 0.005099, -0.006117, -0.003318> + 15170: < 0.005023, -0.006006, -0.003637> + 15171: < 0.005294, -0.005786, -0.003619> + 15172: < 0.005099, -0.006117, -0.003318> + 15173: < 0.004804, -0.006329, -0.003342> + 15174: < 0.004736, -0.006210, -0.003666> + 15175: < 0.005023, -0.006006, -0.003637> + 15176: < 0.004804, -0.006329, -0.003342> + 15177: < 0.004494, -0.006525, -0.003372> + 15178: < 0.004434, -0.006397, -0.003701> + 15179: < 0.004736, -0.006210, -0.003666> + 15180: < 0.004494, -0.006525, -0.003372> + 15181: < 0.004170, -0.006705, -0.003407> + 15182: < 0.004117, -0.006570, -0.003743> + 15183: < 0.004434, -0.006397, -0.003701> + 15184: < 0.004170, -0.006705, -0.003407> + 15185: < 0.003834, -0.006870, -0.003446> + 15186: < 0.003788, -0.006727, -0.003788> + 15187: < 0.004117, -0.006570, -0.003743> + 15188: < 0.003834, -0.006870, -0.003446> + 15189: < 0.003486, -0.007018, -0.003486> + 15190: < 0.003446, -0.006870, -0.003834> + 15191: < 0.003788, -0.006727, -0.003788> + 15192: < 0.003486, -0.007018, -0.003486> + 15193: < 0.003127, -0.007152, -0.003526> + 15194: < 0.003093, -0.006998, -0.003880> + 15195: < 0.003446, -0.006870, -0.003834> + 15196: < 0.003127, -0.007152, -0.003526> + 15197: < 0.002758, -0.007270, -0.003565> + 15198: < 0.002729, -0.007112, -0.003924> + 15199: < 0.003093, -0.006998, -0.003880> + 15200: < 0.002758, -0.007270, -0.003565> + 15201: < 0.002380, -0.007374, -0.003601> + 15202: < 0.002356, -0.007212, -0.003965> + 15203: < 0.002729, -0.007112, -0.003924> + 15204: < 0.002380, -0.007374, -0.003601> + 15205: < 0.001995, -0.007462, -0.003634> + 15206: < 0.001975, -0.007297, -0.004002> + 15207: < 0.002356, -0.007212, -0.003965> + 15208: < 0.001995, -0.007462, -0.003634> + 15209: < 0.001603, -0.007535, -0.003663> + 15210: < 0.001588, -0.007367, -0.004034> + 15211: < 0.001975, -0.007297, -0.004002> + 15212: < 0.001603, -0.007535, -0.003663> + 15213: < 0.001207, -0.007591, -0.003686> + 15214: < 0.001196, -0.007423, -0.004061> + 15215: < 0.001588, -0.007367, -0.004034> + 15216: < 0.001207, -0.007591, -0.003686> + 15217: < 0.000807, -0.007632, -0.003704> + 15218: < 0.000799, -0.007462, -0.004081> + 15219: < 0.001196, -0.007423, -0.004061> + 15220: < 0.000807, -0.007632, -0.003704> + 15221: < 0.000404, -0.007657, -0.003716> + 15222: < 0.000400, -0.007487, -0.004093> + 15223: < 0.000799, -0.007462, -0.004081> + 15224: < 0.000404, -0.007657, -0.003716> + 15225: <-0.000000, -0.007665, -0.003720> + 15226: <-0.000000, -0.007495, -0.004098> + 15227: < 0.000400, -0.007487, -0.004093> + 15228: <-0.000000, -0.007665, -0.003720> + 15229: <-0.000404, -0.007657, -0.003716> + 15230: <-0.000400, -0.007487, -0.004093> + 15231: <-0.000000, -0.007495, -0.004098> + 15232: <-0.000404, -0.007657, -0.003716> + 15233: <-0.000807, -0.007632, -0.003704> + 15234: <-0.000799, -0.007462, -0.004081> + 15235: <-0.000400, -0.007487, -0.004093> + 15236: <-0.000807, -0.007632, -0.003704> + 15237: <-0.001207, -0.007591, -0.003686> + 15238: <-0.001196, -0.007423, -0.004061> + 15239: <-0.000799, -0.007462, -0.004081> + 15240: <-0.001207, -0.007591, -0.003686> + 15241: <-0.001603, -0.007535, -0.003663> + 15242: <-0.001588, -0.007367, -0.004034> + 15243: <-0.001196, -0.007423, -0.004061> + 15244: <-0.001603, -0.007535, -0.003663> + 15245: <-0.001995, -0.007462, -0.003634> + 15246: <-0.001975, -0.007297, -0.004002> + 15247: <-0.001588, -0.007367, -0.004034> + 15248: <-0.001995, -0.007462, -0.003634> + 15249: <-0.002380, -0.007374, -0.003601> + 15250: <-0.002356, -0.007212, -0.003965> + 15251: <-0.001975, -0.007297, -0.004002> + 15252: <-0.002380, -0.007374, -0.003601> + 15253: <-0.002758, -0.007270, -0.003565> + 15254: <-0.002729, -0.007112, -0.003924> + 15255: <-0.002356, -0.007212, -0.003965> + 15256: <-0.002758, -0.007270, -0.003565> + 15257: <-0.003127, -0.007152, -0.003526> + 15258: <-0.003093, -0.006998, -0.003880> + 15259: <-0.002729, -0.007112, -0.003924> + 15260: <-0.003127, -0.007152, -0.003526> + 15261: <-0.003486, -0.007018, -0.003486> + 15262: <-0.003446, -0.006870, -0.003834> + 15263: <-0.003093, -0.006998, -0.003880> + 15264: <-0.003486, -0.007018, -0.003486> + 15265: <-0.003834, -0.006870, -0.003446> + 15266: <-0.003788, -0.006727, -0.003788> + 15267: <-0.003446, -0.006870, -0.003834> + 15268: <-0.003834, -0.006870, -0.003446> + 15269: <-0.004170, -0.006705, -0.003407> + 15270: <-0.004117, -0.006570, -0.003743> + 15271: <-0.003788, -0.006727, -0.003788> + 15272: <-0.004170, -0.006705, -0.003407> + 15273: <-0.004494, -0.006525, -0.003372> + 15274: <-0.004434, -0.006397, -0.003701> + 15275: <-0.004117, -0.006570, -0.003743> + 15276: <-0.004494, -0.006525, -0.003372> + 15277: <-0.004804, -0.006329, -0.003342> + 15278: <-0.004736, -0.006210, -0.003666> + 15279: <-0.004434, -0.006397, -0.003701> + 15280: <-0.004804, -0.006329, -0.003342> + 15281: <-0.005099, -0.006117, -0.003318> + 15282: <-0.005023, -0.006006, -0.003637> + 15283: <-0.004736, -0.006210, -0.003666> + 15284: <-0.005099, -0.006117, -0.003318> + 15285: <-0.005379, -0.005888, -0.003302> + 15286: <-0.005294, -0.005786, -0.003619> + 15287: <-0.005023, -0.006006, -0.003637> + 15288: < 0.005294, -0.005786, -0.003619> + 15289: < 0.005023, -0.006006, -0.003637> + 15290: < 0.004946, -0.005887, -0.003941> + 15291: < 0.005207, -0.005678, -0.003918> + 15292: < 0.005023, -0.006006, -0.003637> + 15293: < 0.004736, -0.006210, -0.003666> + 15294: < 0.004668, -0.006080, -0.003975> + 15295: < 0.004946, -0.005887, -0.003941> + 15296: < 0.004736, -0.006210, -0.003666> + 15297: < 0.004434, -0.006397, -0.003701> + 15298: < 0.004374, -0.006257, -0.004017> + 15299: < 0.004668, -0.006080, -0.003975> + 15300: < 0.004434, -0.006397, -0.003701> + 15301: < 0.004117, -0.006570, -0.003743> + 15302: < 0.004065, -0.006421, -0.004065> + 15303: < 0.004374, -0.006257, -0.004017> + 15304: < 0.004117, -0.006570, -0.003743> + 15305: < 0.003788, -0.006727, -0.003788> + 15306: < 0.003743, -0.006570, -0.004117> + 15307: < 0.004065, -0.006421, -0.004065> + 15308: < 0.003788, -0.006727, -0.003788> + 15309: < 0.003446, -0.006870, -0.003834> + 15310: < 0.003407, -0.006705, -0.004170> + 15311: < 0.003743, -0.006570, -0.004117> + 15312: < 0.003446, -0.006870, -0.003834> + 15313: < 0.003093, -0.006998, -0.003880> + 15314: < 0.003060, -0.006828, -0.004223> + 15315: < 0.003407, -0.006705, -0.004170> + 15316: < 0.003093, -0.006998, -0.003880> + 15317: < 0.002729, -0.007112, -0.003924> + 15318: < 0.002701, -0.006937, -0.004273> + 15319: < 0.003060, -0.006828, -0.004223> + 15320: < 0.002729, -0.007112, -0.003924> + 15321: < 0.002356, -0.007212, -0.003965> + 15322: < 0.002333, -0.007033, -0.004318> + 15323: < 0.002701, -0.006937, -0.004273> + 15324: < 0.002356, -0.007212, -0.003965> + 15325: < 0.001975, -0.007297, -0.004002> + 15326: < 0.001957, -0.007115, -0.004360> + 15327: < 0.002333, -0.007033, -0.004318> + 15328: < 0.001975, -0.007297, -0.004002> + 15329: < 0.001588, -0.007367, -0.004034> + 15330: < 0.001574, -0.007183, -0.004395> + 15331: < 0.001957, -0.007115, -0.004360> + 15332: < 0.001588, -0.007367, -0.004034> + 15333: < 0.001196, -0.007423, -0.004061> + 15334: < 0.001185, -0.007236, -0.004424> + 15335: < 0.001574, -0.007183, -0.004395> + 15336: < 0.001196, -0.007423, -0.004061> + 15337: < 0.000799, -0.007462, -0.004081> + 15338: < 0.000792, -0.007275, -0.004446> + 15339: < 0.001185, -0.007236, -0.004424> + 15340: < 0.000799, -0.007462, -0.004081> + 15341: < 0.000400, -0.007487, -0.004093> + 15342: < 0.000397, -0.007298, -0.004460> + 15343: < 0.000792, -0.007275, -0.004446> + 15344: < 0.000400, -0.007487, -0.004093> + 15345: <-0.000000, -0.007495, -0.004098> + 15346: <-0.000000, -0.007306, -0.004465> + 15347: < 0.000397, -0.007298, -0.004460> + 15348: <-0.000000, -0.007495, -0.004098> + 15349: <-0.000400, -0.007487, -0.004093> + 15350: <-0.000397, -0.007298, -0.004460> + 15351: <-0.000000, -0.007306, -0.004465> + 15352: <-0.000400, -0.007487, -0.004093> + 15353: <-0.000799, -0.007462, -0.004081> + 15354: <-0.000792, -0.007275, -0.004446> + 15355: <-0.000397, -0.007298, -0.004460> + 15356: <-0.000799, -0.007462, -0.004081> + 15357: <-0.001196, -0.007423, -0.004061> + 15358: <-0.001185, -0.007236, -0.004424> + 15359: <-0.000792, -0.007275, -0.004446> + 15360: <-0.001196, -0.007423, -0.004061> + 15361: <-0.001588, -0.007367, -0.004034> + 15362: <-0.001574, -0.007183, -0.004395> + 15363: <-0.001185, -0.007236, -0.004424> + 15364: <-0.001588, -0.007367, -0.004034> + 15365: <-0.001975, -0.007297, -0.004002> + 15366: <-0.001957, -0.007115, -0.004360> + 15367: <-0.001574, -0.007183, -0.004395> + 15368: <-0.001975, -0.007297, -0.004002> + 15369: <-0.002356, -0.007212, -0.003965> + 15370: <-0.002333, -0.007033, -0.004318> + 15371: <-0.001957, -0.007115, -0.004360> + 15372: <-0.002356, -0.007212, -0.003965> + 15373: <-0.002729, -0.007112, -0.003924> + 15374: <-0.002701, -0.006937, -0.004273> + 15375: <-0.002333, -0.007033, -0.004318> + 15376: <-0.002729, -0.007112, -0.003924> + 15377: <-0.003093, -0.006998, -0.003880> + 15378: <-0.003060, -0.006828, -0.004223> + 15379: <-0.002701, -0.006937, -0.004273> + 15380: <-0.003093, -0.006998, -0.003880> + 15381: <-0.003446, -0.006870, -0.003834> + 15382: <-0.003407, -0.006705, -0.004170> + 15383: <-0.003060, -0.006828, -0.004223> + 15384: <-0.003446, -0.006870, -0.003834> + 15385: <-0.003788, -0.006727, -0.003788> + 15386: <-0.003743, -0.006570, -0.004117> + 15387: <-0.003407, -0.006705, -0.004170> + 15388: <-0.003788, -0.006727, -0.003788> + 15389: <-0.004117, -0.006570, -0.003743> + 15390: <-0.004065, -0.006421, -0.004065> + 15391: <-0.003743, -0.006570, -0.004117> + 15392: <-0.004117, -0.006570, -0.003743> + 15393: <-0.004434, -0.006397, -0.003701> + 15394: <-0.004374, -0.006257, -0.004017> + 15395: <-0.004065, -0.006421, -0.004065> + 15396: <-0.004434, -0.006397, -0.003701> + 15397: <-0.004736, -0.006210, -0.003666> + 15398: <-0.004668, -0.006080, -0.003975> + 15399: <-0.004374, -0.006257, -0.004017> + 15400: <-0.004736, -0.006210, -0.003666> + 15401: <-0.005023, -0.006006, -0.003637> + 15402: <-0.004946, -0.005887, -0.003941> + 15403: <-0.004668, -0.006080, -0.003975> + 15404: <-0.005023, -0.006006, -0.003637> + 15405: <-0.005294, -0.005786, -0.003619> + 15406: <-0.005207, -0.005678, -0.003918> + 15407: <-0.004946, -0.005887, -0.003941> + 15408: < 0.005207, -0.005678, -0.003918> + 15409: < 0.004946, -0.005887, -0.003941> + 15410: < 0.004870, -0.005760, -0.004226> + 15411: < 0.005120, -0.005564, -0.004199> + 15412: < 0.004946, -0.005887, -0.003941> + 15413: < 0.004668, -0.006080, -0.003975> + 15414: < 0.004602, -0.005939, -0.004267> + 15415: < 0.004870, -0.005760, -0.004226> + 15416: < 0.004668, -0.006080, -0.003975> + 15417: < 0.004374, -0.006257, -0.004017> + 15418: < 0.004318, -0.006105, -0.004318> + 15419: < 0.004602, -0.005939, -0.004267> + 15420: < 0.004374, -0.006257, -0.004017> + 15421: < 0.004065, -0.006421, -0.004065> + 15422: < 0.004017, -0.006257, -0.004374> + 15423: < 0.004318, -0.006105, -0.004318> + 15424: < 0.004065, -0.006421, -0.004065> + 15425: < 0.003743, -0.006570, -0.004117> + 15426: < 0.003701, -0.006397, -0.004434> + 15427: < 0.004017, -0.006257, -0.004374> + 15428: < 0.003743, -0.006570, -0.004117> + 15429: < 0.003407, -0.006705, -0.004170> + 15430: < 0.003372, -0.006525, -0.004494> + 15431: < 0.003701, -0.006397, -0.004434> + 15432: < 0.003407, -0.006705, -0.004170> + 15433: < 0.003060, -0.006828, -0.004223> + 15434: < 0.003030, -0.006641, -0.004553> + 15435: < 0.003372, -0.006525, -0.004494> + 15436: < 0.003060, -0.006828, -0.004223> + 15437: < 0.002701, -0.006937, -0.004273> + 15438: < 0.002676, -0.006745, -0.004609> + 15439: < 0.003030, -0.006641, -0.004553> + 15440: < 0.002701, -0.006937, -0.004273> + 15441: < 0.002333, -0.007033, -0.004318> + 15442: < 0.002313, -0.006836, -0.004659> + 15443: < 0.002676, -0.006745, -0.004609> + 15444: < 0.002333, -0.007033, -0.004318> + 15445: < 0.001957, -0.007115, -0.004360> + 15446: < 0.001940, -0.006915, -0.004705> + 15447: < 0.002313, -0.006836, -0.004659> + 15448: < 0.001957, -0.007115, -0.004360> + 15449: < 0.001574, -0.007183, -0.004395> + 15450: < 0.001561, -0.006980, -0.004744> + 15451: < 0.001940, -0.006915, -0.004705> + 15452: < 0.001574, -0.007183, -0.004395> + 15453: < 0.001185, -0.007236, -0.004424> + 15454: < 0.001176, -0.007032, -0.004776> + 15455: < 0.001561, -0.006980, -0.004744> + 15456: < 0.001185, -0.007236, -0.004424> + 15457: < 0.000792, -0.007275, -0.004446> + 15458: < 0.000786, -0.007069, -0.004800> + 15459: < 0.001176, -0.007032, -0.004776> + 15460: < 0.000792, -0.007275, -0.004446> + 15461: < 0.000397, -0.007298, -0.004460> + 15462: < 0.000394, -0.007092, -0.004815> + 15463: < 0.000786, -0.007069, -0.004800> + 15464: < 0.000397, -0.007298, -0.004460> + 15465: <-0.000000, -0.007306, -0.004465> + 15466: <-0.000000, -0.007099, -0.004820> + 15467: < 0.000394, -0.007092, -0.004815> + 15468: <-0.000000, -0.007306, -0.004465> + 15469: <-0.000397, -0.007298, -0.004460> + 15470: <-0.000394, -0.007092, -0.004815> + 15471: <-0.000000, -0.007099, -0.004820> + 15472: <-0.000397, -0.007298, -0.004460> + 15473: <-0.000792, -0.007275, -0.004446> + 15474: <-0.000786, -0.007069, -0.004800> + 15475: <-0.000394, -0.007092, -0.004815> + 15476: <-0.000792, -0.007275, -0.004446> + 15477: <-0.001185, -0.007236, -0.004424> + 15478: <-0.001176, -0.007032, -0.004776> + 15479: <-0.000786, -0.007069, -0.004800> + 15480: <-0.001185, -0.007236, -0.004424> + 15481: <-0.001574, -0.007183, -0.004395> + 15482: <-0.001561, -0.006980, -0.004744> + 15483: <-0.001176, -0.007032, -0.004776> + 15484: <-0.001574, -0.007183, -0.004395> + 15485: <-0.001957, -0.007115, -0.004360> + 15486: <-0.001940, -0.006915, -0.004705> + 15487: <-0.001561, -0.006980, -0.004744> + 15488: <-0.001957, -0.007115, -0.004360> + 15489: <-0.002333, -0.007033, -0.004318> + 15490: <-0.002313, -0.006836, -0.004659> + 15491: <-0.001940, -0.006915, -0.004705> + 15492: <-0.002333, -0.007033, -0.004318> + 15493: <-0.002701, -0.006937, -0.004273> + 15494: <-0.002676, -0.006745, -0.004609> + 15495: <-0.002313, -0.006836, -0.004659> + 15496: <-0.002701, -0.006937, -0.004273> + 15497: <-0.003060, -0.006828, -0.004223> + 15498: <-0.003030, -0.006641, -0.004553> + 15499: <-0.002676, -0.006745, -0.004609> + 15500: <-0.003060, -0.006828, -0.004223> + 15501: <-0.003407, -0.006705, -0.004170> + 15502: <-0.003372, -0.006525, -0.004494> + 15503: <-0.003030, -0.006641, -0.004553> + 15504: <-0.003407, -0.006705, -0.004170> + 15505: <-0.003743, -0.006570, -0.004117> + 15506: <-0.003701, -0.006397, -0.004434> + 15507: <-0.003372, -0.006525, -0.004494> + 15508: <-0.003743, -0.006570, -0.004117> + 15509: <-0.004065, -0.006421, -0.004065> + 15510: <-0.004017, -0.006257, -0.004374> + 15511: <-0.003701, -0.006397, -0.004434> + 15512: <-0.004065, -0.006421, -0.004065> + 15513: <-0.004374, -0.006257, -0.004017> + 15514: <-0.004318, -0.006105, -0.004318> + 15515: <-0.004017, -0.006257, -0.004374> + 15516: <-0.004374, -0.006257, -0.004017> + 15517: <-0.004668, -0.006080, -0.003975> + 15518: <-0.004602, -0.005939, -0.004267> + 15519: <-0.004318, -0.006105, -0.004318> + 15520: <-0.004668, -0.006080, -0.003975> + 15521: <-0.004946, -0.005887, -0.003941> + 15522: <-0.004870, -0.005760, -0.004226> + 15523: <-0.004602, -0.005939, -0.004267> + 15524: <-0.004946, -0.005887, -0.003941> + 15525: <-0.005207, -0.005678, -0.003918> + 15526: <-0.005120, -0.005564, -0.004199> + 15527: <-0.004870, -0.005760, -0.004226> + 15528: < 0.005120, -0.005564, -0.004199> + 15529: < 0.004870, -0.005760, -0.004226> + 15530: < 0.004798, -0.005623, -0.004494> + 15531: < 0.005034, -0.005446, -0.004460> + 15532: < 0.004870, -0.005760, -0.004226> + 15533: < 0.004602, -0.005939, -0.004267> + 15534: < 0.004542, -0.005788, -0.004542> + 15535: < 0.004798, -0.005623, -0.004494> + 15536: < 0.004602, -0.005939, -0.004267> + 15537: < 0.004318, -0.006105, -0.004318> + 15538: < 0.004267, -0.005939, -0.004602> + 15539: < 0.004542, -0.005788, -0.004542> + 15540: < 0.004318, -0.006105, -0.004318> + 15541: < 0.004017, -0.006257, -0.004374> + 15542: < 0.003975, -0.006080, -0.004668> + 15543: < 0.004267, -0.005939, -0.004602> + 15544: < 0.004017, -0.006257, -0.004374> + 15545: < 0.003701, -0.006397, -0.004434> + 15546: < 0.003666, -0.006210, -0.004736> + 15547: < 0.003975, -0.006080, -0.004668> + 15548: < 0.003701, -0.006397, -0.004434> + 15549: < 0.003372, -0.006525, -0.004494> + 15550: < 0.003342, -0.006329, -0.004804> + 15551: < 0.003666, -0.006210, -0.004736> + 15552: < 0.003372, -0.006525, -0.004494> + 15553: < 0.003030, -0.006641, -0.004553> + 15554: < 0.003004, -0.006439, -0.004870> + 15555: < 0.003342, -0.006329, -0.004804> + 15556: < 0.003030, -0.006641, -0.004553> + 15557: < 0.002676, -0.006745, -0.004609> + 15558: < 0.002655, -0.006537, -0.004931> + 15559: < 0.003004, -0.006439, -0.004870> + 15560: < 0.002676, -0.006745, -0.004609> + 15561: < 0.002313, -0.006836, -0.004659> + 15562: < 0.002295, -0.006623, -0.004987> + 15563: < 0.002655, -0.006537, -0.004931> + 15564: < 0.002313, -0.006836, -0.004659> + 15565: < 0.001940, -0.006915, -0.004705> + 15566: < 0.001926, -0.006698, -0.005037> + 15567: < 0.002295, -0.006623, -0.004987> + 15568: < 0.001940, -0.006915, -0.004705> + 15569: < 0.001561, -0.006980, -0.004744> + 15570: < 0.001550, -0.006761, -0.005080> + 15571: < 0.001926, -0.006698, -0.005037> + 15572: < 0.001561, -0.006980, -0.004744> + 15573: < 0.001176, -0.007032, -0.004776> + 15574: < 0.001168, -0.006810, -0.005114> + 15575: < 0.001550, -0.006761, -0.005080> + 15576: < 0.001176, -0.007032, -0.004776> + 15577: < 0.000786, -0.007069, -0.004800> + 15578: < 0.000781, -0.006846, -0.005140> + 15579: < 0.001168, -0.006810, -0.005114> + 15580: < 0.000786, -0.007069, -0.004800> + 15581: < 0.000394, -0.007092, -0.004815> + 15582: < 0.000391, -0.006868, -0.005156> + 15583: < 0.000781, -0.006846, -0.005140> + 15584: < 0.000394, -0.007092, -0.004815> + 15585: <-0.000000, -0.007099, -0.004820> + 15586: <-0.000000, -0.006875, -0.005162> + 15587: < 0.000391, -0.006868, -0.005156> + 15588: <-0.000000, -0.007099, -0.004820> + 15589: <-0.000394, -0.007092, -0.004815> + 15590: <-0.000391, -0.006868, -0.005156> + 15591: <-0.000000, -0.006875, -0.005162> + 15592: <-0.000394, -0.007092, -0.004815> + 15593: <-0.000786, -0.007069, -0.004800> + 15594: <-0.000781, -0.006846, -0.005140> + 15595: <-0.000391, -0.006868, -0.005156> + 15596: <-0.000786, -0.007069, -0.004800> + 15597: <-0.001176, -0.007032, -0.004776> + 15598: <-0.001168, -0.006810, -0.005114> + 15599: <-0.000781, -0.006846, -0.005140> + 15600: <-0.001176, -0.007032, -0.004776> + 15601: <-0.001561, -0.006980, -0.004744> + 15602: <-0.001550, -0.006761, -0.005080> + 15603: <-0.001168, -0.006810, -0.005114> + 15604: <-0.001561, -0.006980, -0.004744> + 15605: <-0.001940, -0.006915, -0.004705> + 15606: <-0.001926, -0.006698, -0.005037> + 15607: <-0.001550, -0.006761, -0.005080> + 15608: <-0.001940, -0.006915, -0.004705> + 15609: <-0.002313, -0.006836, -0.004659> + 15610: <-0.002295, -0.006623, -0.004987> + 15611: <-0.001926, -0.006698, -0.005037> + 15612: <-0.002313, -0.006836, -0.004659> + 15613: <-0.002676, -0.006745, -0.004609> + 15614: <-0.002655, -0.006537, -0.004931> + 15615: <-0.002295, -0.006623, -0.004987> + 15616: <-0.002676, -0.006745, -0.004609> + 15617: <-0.003030, -0.006641, -0.004553> + 15618: <-0.003004, -0.006439, -0.004870> + 15619: <-0.002655, -0.006537, -0.004931> + 15620: <-0.003030, -0.006641, -0.004553> + 15621: <-0.003372, -0.006525, -0.004494> + 15622: <-0.003342, -0.006329, -0.004804> + 15623: <-0.003004, -0.006439, -0.004870> + 15624: <-0.003372, -0.006525, -0.004494> + 15625: <-0.003701, -0.006397, -0.004434> + 15626: <-0.003666, -0.006210, -0.004736> + 15627: <-0.003342, -0.006329, -0.004804> + 15628: <-0.003701, -0.006397, -0.004434> + 15629: <-0.004017, -0.006257, -0.004374> + 15630: <-0.003975, -0.006080, -0.004668> + 15631: <-0.003666, -0.006210, -0.004736> + 15632: <-0.004017, -0.006257, -0.004374> + 15633: <-0.004318, -0.006105, -0.004318> + 15634: <-0.004267, -0.005939, -0.004602> + 15635: <-0.003975, -0.006080, -0.004668> + 15636: <-0.004318, -0.006105, -0.004318> + 15637: <-0.004602, -0.005939, -0.004267> + 15638: <-0.004542, -0.005788, -0.004542> + 15639: <-0.004267, -0.005939, -0.004602> + 15640: <-0.004602, -0.005939, -0.004267> + 15641: <-0.004870, -0.005760, -0.004226> + 15642: <-0.004798, -0.005623, -0.004494> + 15643: <-0.004542, -0.005788, -0.004542> + 15644: <-0.004870, -0.005760, -0.004226> + 15645: <-0.005120, -0.005564, -0.004199> + 15646: <-0.005034, -0.005446, -0.004460> + 15647: <-0.004798, -0.005623, -0.004494> + 15648: < 0.005034, -0.005446, -0.004460> + 15649: < 0.004798, -0.005623, -0.004494> + 15650: < 0.004738, -0.005479, -0.004738> + 15651: < 0.004959, -0.005326, -0.004691> + 15652: < 0.004798, -0.005623, -0.004494> + 15653: < 0.004542, -0.005788, -0.004542> + 15654: < 0.004494, -0.005623, -0.004798> + 15655: < 0.004738, -0.005479, -0.004738> + 15656: < 0.004542, -0.005788, -0.004542> + 15657: < 0.004267, -0.005939, -0.004602> + 15658: < 0.004226, -0.005760, -0.004870> + 15659: < 0.004494, -0.005623, -0.004798> + 15660: < 0.004267, -0.005939, -0.004602> + 15661: < 0.003975, -0.006080, -0.004668> + 15662: < 0.003941, -0.005887, -0.004946> + 15663: < 0.004226, -0.005760, -0.004870> + 15664: < 0.003975, -0.006080, -0.004668> + 15665: < 0.003666, -0.006210, -0.004736> + 15666: < 0.003637, -0.006006, -0.005023> + 15667: < 0.003941, -0.005887, -0.004946> + 15668: < 0.003666, -0.006210, -0.004736> + 15669: < 0.003342, -0.006329, -0.004804> + 15670: < 0.003318, -0.006117, -0.005099> + 15671: < 0.003637, -0.006006, -0.005023> + 15672: < 0.003342, -0.006329, -0.004804> + 15673: < 0.003004, -0.006439, -0.004870> + 15674: < 0.002984, -0.006219, -0.005172> + 15675: < 0.003318, -0.006117, -0.005099> + 15676: < 0.003004, -0.006439, -0.004870> + 15677: < 0.002655, -0.006537, -0.004931> + 15678: < 0.002638, -0.006311, -0.005240> + 15679: < 0.002984, -0.006219, -0.005172> + 15680: < 0.002655, -0.006537, -0.004931> + 15681: < 0.002295, -0.006623, -0.004987> + 15682: < 0.002281, -0.006393, -0.005301> + 15683: < 0.002638, -0.006311, -0.005240> + 15684: < 0.002295, -0.006623, -0.004987> + 15685: < 0.001926, -0.006698, -0.005037> + 15686: < 0.001915, -0.006464, -0.005355> + 15687: < 0.002281, -0.006393, -0.005301> + 15688: < 0.001926, -0.006698, -0.005037> + 15689: < 0.001550, -0.006761, -0.005080> + 15690: < 0.001541, -0.006523, -0.005401> + 15691: < 0.001915, -0.006464, -0.005355> + 15692: < 0.001550, -0.006761, -0.005080> + 15693: < 0.001168, -0.006810, -0.005114> + 15694: < 0.001161, -0.006570, -0.005438> + 15695: < 0.001541, -0.006523, -0.005401> + 15696: < 0.001168, -0.006810, -0.005114> + 15697: < 0.000781, -0.006846, -0.005140> + 15698: < 0.000777, -0.006605, -0.005466> + 15699: < 0.001161, -0.006570, -0.005438> + 15700: < 0.000781, -0.006846, -0.005140> + 15701: < 0.000391, -0.006868, -0.005156> + 15702: < 0.000389, -0.006626, -0.005483> + 15703: < 0.000777, -0.006605, -0.005466> + 15704: < 0.000391, -0.006868, -0.005156> + 15705: <-0.000000, -0.006875, -0.005162> + 15706: <-0.000000, -0.006633, -0.005489> + 15707: < 0.000389, -0.006626, -0.005483> + 15708: <-0.000000, -0.006875, -0.005162> + 15709: <-0.000391, -0.006868, -0.005156> + 15710: <-0.000389, -0.006626, -0.005483> + 15711: <-0.000000, -0.006633, -0.005489> + 15712: <-0.000391, -0.006868, -0.005156> + 15713: <-0.000781, -0.006846, -0.005140> + 15714: <-0.000777, -0.006605, -0.005466> + 15715: <-0.000389, -0.006626, -0.005483> + 15716: <-0.000781, -0.006846, -0.005140> + 15717: <-0.001168, -0.006810, -0.005114> + 15718: <-0.001161, -0.006570, -0.005438> + 15719: <-0.000777, -0.006605, -0.005466> + 15720: <-0.001168, -0.006810, -0.005114> + 15721: <-0.001550, -0.006761, -0.005080> + 15722: <-0.001541, -0.006523, -0.005401> + 15723: <-0.001161, -0.006570, -0.005438> + 15724: <-0.001550, -0.006761, -0.005080> + 15725: <-0.001926, -0.006698, -0.005037> + 15726: <-0.001915, -0.006464, -0.005355> + 15727: <-0.001541, -0.006523, -0.005401> + 15728: <-0.001926, -0.006698, -0.005037> + 15729: <-0.002295, -0.006623, -0.004987> + 15730: <-0.002281, -0.006393, -0.005301> + 15731: <-0.001915, -0.006464, -0.005355> + 15732: <-0.002295, -0.006623, -0.004987> + 15733: <-0.002655, -0.006537, -0.004931> + 15734: <-0.002638, -0.006311, -0.005240> + 15735: <-0.002281, -0.006393, -0.005301> + 15736: <-0.002655, -0.006537, -0.004931> + 15737: <-0.003004, -0.006439, -0.004870> + 15738: <-0.002984, -0.006219, -0.005172> + 15739: <-0.002638, -0.006311, -0.005240> + 15740: <-0.003004, -0.006439, -0.004870> + 15741: <-0.003342, -0.006329, -0.004804> + 15742: <-0.003318, -0.006117, -0.005099> + 15743: <-0.002984, -0.006219, -0.005172> + 15744: <-0.003342, -0.006329, -0.004804> + 15745: <-0.003666, -0.006210, -0.004736> + 15746: <-0.003637, -0.006006, -0.005023> + 15747: <-0.003318, -0.006117, -0.005099> + 15748: <-0.003666, -0.006210, -0.004736> + 15749: <-0.003975, -0.006080, -0.004668> + 15750: <-0.003941, -0.005887, -0.004946> + 15751: <-0.003637, -0.006006, -0.005023> + 15752: <-0.003975, -0.006080, -0.004668> + 15753: <-0.004267, -0.005939, -0.004602> + 15754: <-0.004226, -0.005760, -0.004870> + 15755: <-0.003941, -0.005887, -0.004946> + 15756: <-0.004267, -0.005939, -0.004602> + 15757: <-0.004542, -0.005788, -0.004542> + 15758: <-0.004494, -0.005623, -0.004798> + 15759: <-0.004226, -0.005760, -0.004870> + 15760: <-0.004542, -0.005788, -0.004542> + 15761: <-0.004798, -0.005623, -0.004494> + 15762: <-0.004738, -0.005479, -0.004738> + 15763: <-0.004494, -0.005623, -0.004798> + 15764: <-0.004798, -0.005623, -0.004494> + 15765: <-0.005034, -0.005446, -0.004460> + 15766: <-0.004959, -0.005326, -0.004691> + 15767: <-0.004738, -0.005479, -0.004738> + 15768: < 0.004959, -0.005326, -0.004691> + 15769: < 0.004738, -0.005479, -0.004738> + 15770: < 0.004691, -0.005326, -0.004959> + 15771: < 0.004894, -0.005206, -0.004894> + 15772: < 0.004738, -0.005479, -0.004738> + 15773: < 0.004494, -0.005623, -0.004798> + 15774: < 0.004460, -0.005446, -0.005034> + 15775: < 0.004691, -0.005326, -0.004959> + 15776: < 0.004494, -0.005623, -0.004798> + 15777: < 0.004226, -0.005760, -0.004870> + 15778: < 0.004199, -0.005564, -0.005120> + 15779: < 0.004460, -0.005446, -0.005034> + 15780: < 0.004226, -0.005760, -0.004870> + 15781: < 0.003941, -0.005887, -0.004946> + 15782: < 0.003918, -0.005678, -0.005207> + 15783: < 0.004199, -0.005564, -0.005120> + 15784: < 0.003941, -0.005887, -0.004946> + 15785: < 0.003637, -0.006006, -0.005023> + 15786: < 0.003619, -0.005786, -0.005294> + 15787: < 0.003918, -0.005678, -0.005207> + 15788: < 0.003637, -0.006006, -0.005023> + 15789: < 0.003318, -0.006117, -0.005099> + 15790: < 0.003302, -0.005888, -0.005379> + 15791: < 0.003619, -0.005786, -0.005294> + 15792: < 0.003318, -0.006117, -0.005099> + 15793: < 0.002984, -0.006219, -0.005172> + 15794: < 0.002971, -0.005983, -0.005459> + 15795: < 0.003302, -0.005888, -0.005379> + 15796: < 0.002984, -0.006219, -0.005172> + 15797: < 0.002638, -0.006311, -0.005240> + 15798: < 0.002627, -0.006069, -0.005533> + 15799: < 0.002971, -0.005983, -0.005459> + 15800: < 0.002638, -0.006311, -0.005240> + 15801: < 0.002281, -0.006393, -0.005301> + 15802: < 0.002272, -0.006146, -0.005599> + 15803: < 0.002627, -0.006069, -0.005533> + 15804: < 0.002281, -0.006393, -0.005301> + 15805: < 0.001915, -0.006464, -0.005355> + 15806: < 0.001908, -0.006212, -0.005657> + 15807: < 0.002272, -0.006146, -0.005599> + 15808: < 0.001915, -0.006464, -0.005355> + 15809: < 0.001541, -0.006523, -0.005401> + 15810: < 0.001536, -0.006269, -0.005707> + 15811: < 0.001908, -0.006212, -0.005657> + 15812: < 0.001541, -0.006523, -0.005401> + 15813: < 0.001161, -0.006570, -0.005438> + 15814: < 0.001157, -0.006313, -0.005747> + 15815: < 0.001536, -0.006269, -0.005707> + 15816: < 0.001161, -0.006570, -0.005438> + 15817: < 0.000777, -0.006605, -0.005466> + 15818: < 0.000774, -0.006346, -0.005776> + 15819: < 0.001157, -0.006313, -0.005747> + 15820: < 0.000777, -0.006605, -0.005466> + 15821: < 0.000389, -0.006626, -0.005483> + 15822: < 0.000388, -0.006366, -0.005794> + 15823: < 0.000774, -0.006346, -0.005776> + 15824: < 0.000389, -0.006626, -0.005483> + 15825: <-0.000000, -0.006633, -0.005489> + 15826: <-0.000000, -0.006373, -0.005801> + 15827: < 0.000388, -0.006366, -0.005794> + 15828: <-0.000000, -0.006633, -0.005489> + 15829: <-0.000389, -0.006626, -0.005483> + 15830: <-0.000388, -0.006366, -0.005794> + 15831: <-0.000000, -0.006373, -0.005801> + 15832: <-0.000389, -0.006626, -0.005483> + 15833: <-0.000777, -0.006605, -0.005466> + 15834: <-0.000774, -0.006346, -0.005776> + 15835: <-0.000388, -0.006366, -0.005794> + 15836: <-0.000777, -0.006605, -0.005466> + 15837: <-0.001161, -0.006570, -0.005438> + 15838: <-0.001157, -0.006313, -0.005747> + 15839: <-0.000774, -0.006346, -0.005776> + 15840: <-0.001161, -0.006570, -0.005438> + 15841: <-0.001541, -0.006523, -0.005401> + 15842: <-0.001536, -0.006269, -0.005707> + 15843: <-0.001157, -0.006313, -0.005747> + 15844: <-0.001541, -0.006523, -0.005401> + 15845: <-0.001915, -0.006464, -0.005355> + 15846: <-0.001908, -0.006212, -0.005657> + 15847: <-0.001536, -0.006269, -0.005707> + 15848: <-0.001915, -0.006464, -0.005355> + 15849: <-0.002281, -0.006393, -0.005301> + 15850: <-0.002272, -0.006146, -0.005599> + 15851: <-0.001908, -0.006212, -0.005657> + 15852: <-0.002281, -0.006393, -0.005301> + 15853: <-0.002638, -0.006311, -0.005240> + 15854: <-0.002627, -0.006069, -0.005533> + 15855: <-0.002272, -0.006146, -0.005599> + 15856: <-0.002638, -0.006311, -0.005240> + 15857: <-0.002984, -0.006219, -0.005172> + 15858: <-0.002971, -0.005983, -0.005459> + 15859: <-0.002627, -0.006069, -0.005533> + 15860: <-0.002984, -0.006219, -0.005172> + 15861: <-0.003318, -0.006117, -0.005099> + 15862: <-0.003302, -0.005888, -0.005379> + 15863: <-0.002971, -0.005983, -0.005459> + 15864: <-0.003318, -0.006117, -0.005099> + 15865: <-0.003637, -0.006006, -0.005023> + 15866: <-0.003619, -0.005786, -0.005294> + 15867: <-0.003302, -0.005888, -0.005379> + 15868: <-0.003637, -0.006006, -0.005023> + 15869: <-0.003941, -0.005887, -0.004946> + 15870: <-0.003918, -0.005678, -0.005207> + 15871: <-0.003619, -0.005786, -0.005294> + 15872: <-0.003941, -0.005887, -0.004946> + 15873: <-0.004226, -0.005760, -0.004870> + 15874: <-0.004199, -0.005564, -0.005120> + 15875: <-0.003918, -0.005678, -0.005207> + 15876: <-0.004226, -0.005760, -0.004870> + 15877: <-0.004494, -0.005623, -0.004798> + 15878: <-0.004460, -0.005446, -0.005034> + 15879: <-0.004199, -0.005564, -0.005120> + 15880: <-0.004494, -0.005623, -0.004798> + 15881: <-0.004738, -0.005479, -0.004738> + 15882: <-0.004691, -0.005326, -0.004959> + 15883: <-0.004460, -0.005446, -0.005034> + 15884: <-0.004738, -0.005479, -0.004738> + 15885: <-0.004959, -0.005326, -0.004691> + 15886: <-0.004894, -0.005206, -0.004894> + 15887: <-0.004691, -0.005326, -0.004959> + 15888: < 0.005000, -0.005000, 0.005000> + 15889: < 0.004833, -0.005081, 0.005081> + 15890: < 0.004894, -0.005206, 0.004894> + 15891: < 0.005081, -0.005081, 0.004833> + 15892: < 0.004833, -0.005081, 0.005081> + 15893: < 0.004647, -0.005166, 0.005166> + 15894: < 0.004691, -0.005326, 0.004959> + 15895: < 0.004894, -0.005206, 0.004894> + 15896: < 0.004647, -0.005166, 0.005166> + 15897: < 0.004436, -0.005255, 0.005255> + 15898: < 0.004460, -0.005446, 0.005034> + 15899: < 0.004691, -0.005326, 0.004959> + 15900: < 0.004436, -0.005255, 0.005255> + 15901: < 0.004188, -0.005351, 0.005351> + 15902: < 0.004199, -0.005564, 0.005120> + 15903: < 0.004460, -0.005446, 0.005034> + 15904: < 0.004188, -0.005351, 0.005351> + 15905: < 0.003910, -0.005451, 0.005451> + 15906: < 0.003918, -0.005678, 0.005207> + 15907: < 0.004199, -0.005564, 0.005120> + 15908: < 0.003910, -0.005451, 0.005451> + 15909: < 0.003612, -0.005549, 0.005549> + 15910: < 0.003619, -0.005786, 0.005294> + 15911: < 0.003918, -0.005678, 0.005207> + 15912: < 0.003612, -0.005549, 0.005549> + 15913: < 0.003297, -0.005642, 0.005642> + 15914: < 0.003302, -0.005888, 0.005379> + 15915: < 0.003619, -0.005786, 0.005294> + 15916: < 0.003297, -0.005642, 0.005642> + 15917: < 0.002966, -0.005729, 0.005729> + 15918: < 0.002971, -0.005983, 0.005459> + 15919: < 0.003302, -0.005888, 0.005379> + 15920: < 0.002966, -0.005729, 0.005729> + 15921: < 0.002623, -0.005809, 0.005809> + 15922: < 0.002627, -0.006069, 0.005533> + 15923: < 0.002971, -0.005983, 0.005459> + 15924: < 0.002623, -0.005809, 0.005809> + 15925: < 0.002269, -0.005881, 0.005881> + 15926: < 0.002272, -0.006146, 0.005599> + 15927: < 0.002627, -0.006069, 0.005533> + 15928: < 0.002269, -0.005881, 0.005881> + 15929: < 0.001906, -0.005944, 0.005944> + 15930: < 0.001908, -0.006212, 0.005657> + 15931: < 0.002272, -0.006146, 0.005599> + 15932: < 0.001906, -0.005944, 0.005944> + 15933: < 0.001534, -0.005996, 0.005996> + 15934: < 0.001536, -0.006269, 0.005707> + 15935: < 0.001908, -0.006212, 0.005657> + 15936: < 0.001534, -0.005996, 0.005996> + 15937: < 0.001156, -0.006039, 0.006039> + 15938: < 0.001157, -0.006313, 0.005747> + 15939: < 0.001536, -0.006269, 0.005707> + 15940: < 0.001156, -0.006039, 0.006039> + 15941: < 0.000773, -0.006070, 0.006070> + 15942: < 0.000774, -0.006346, 0.005776> + 15943: < 0.001157, -0.006313, 0.005747> + 15944: < 0.000773, -0.006070, 0.006070> + 15945: < 0.000387, -0.006089, 0.006089> + 15946: < 0.000388, -0.006366, 0.005794> + 15947: < 0.000774, -0.006346, 0.005776> + 15948: < 0.000387, -0.006089, 0.006089> + 15949: <-0.000000, -0.006096, 0.006096> + 15950: <-0.000000, -0.006373, 0.005801> + 15951: < 0.000388, -0.006366, 0.005794> + 15952: <-0.000000, -0.006096, 0.006096> + 15953: <-0.000387, -0.006089, 0.006089> + 15954: <-0.000388, -0.006366, 0.005794> + 15955: <-0.000000, -0.006373, 0.005801> + 15956: <-0.000387, -0.006089, 0.006089> + 15957: <-0.000773, -0.006070, 0.006070> + 15958: <-0.000774, -0.006346, 0.005776> + 15959: <-0.000388, -0.006366, 0.005794> + 15960: <-0.000773, -0.006070, 0.006070> + 15961: <-0.001156, -0.006039, 0.006039> + 15962: <-0.001157, -0.006313, 0.005747> + 15963: <-0.000774, -0.006346, 0.005776> + 15964: <-0.001156, -0.006039, 0.006039> + 15965: <-0.001534, -0.005996, 0.005996> + 15966: <-0.001536, -0.006269, 0.005707> + 15967: <-0.001157, -0.006313, 0.005747> + 15968: <-0.001534, -0.005996, 0.005996> + 15969: <-0.001906, -0.005944, 0.005944> + 15970: <-0.001908, -0.006212, 0.005657> + 15971: <-0.001536, -0.006269, 0.005707> + 15972: <-0.001906, -0.005944, 0.005944> + 15973: <-0.002269, -0.005881, 0.005881> + 15974: <-0.002272, -0.006146, 0.005599> + 15975: <-0.001908, -0.006212, 0.005657> + 15976: <-0.002269, -0.005881, 0.005881> + 15977: <-0.002623, -0.005809, 0.005809> + 15978: <-0.002627, -0.006069, 0.005533> + 15979: <-0.002272, -0.006146, 0.005599> + 15980: <-0.002623, -0.005809, 0.005809> + 15981: <-0.002966, -0.005729, 0.005729> + 15982: <-0.002971, -0.005983, 0.005459> + 15983: <-0.002627, -0.006069, 0.005533> + 15984: <-0.002966, -0.005729, 0.005729> + 15985: <-0.003297, -0.005642, 0.005642> + 15986: <-0.003302, -0.005888, 0.005379> + 15987: <-0.002971, -0.005983, 0.005459> + 15988: <-0.003297, -0.005642, 0.005642> + 15989: <-0.003612, -0.005549, 0.005549> + 15990: <-0.003619, -0.005786, 0.005294> + 15991: <-0.003302, -0.005888, 0.005379> + 15992: <-0.003612, -0.005549, 0.005549> + 15993: <-0.003910, -0.005451, 0.005451> + 15994: <-0.003918, -0.005678, 0.005207> + 15995: <-0.003619, -0.005786, 0.005294> + 15996: <-0.003910, -0.005451, 0.005451> + 15997: <-0.004188, -0.005351, 0.005351> + 15998: <-0.004199, -0.005564, 0.005120> + 15999: <-0.003918, -0.005678, 0.005207> + 16000: <-0.004188, -0.005351, 0.005351> + 16001: <-0.004436, -0.005255, 0.005255> + 16002: <-0.004460, -0.005446, 0.005034> + 16003: <-0.004199, -0.005564, 0.005120> + 16004: <-0.004436, -0.005255, 0.005255> + 16005: <-0.004647, -0.005166, 0.005166> + 16006: <-0.004691, -0.005326, 0.004959> + 16007: <-0.004460, -0.005446, 0.005034> + 16008: <-0.004647, -0.005166, 0.005166> + 16009: <-0.004833, -0.005081, 0.005081> + 16010: <-0.004894, -0.005206, 0.004894> + 16011: <-0.004691, -0.005326, 0.004959> + 16012: <-0.004833, -0.005081, 0.005081> + 16013: <-0.005000, -0.005000, 0.005000> + 16014: <-0.005081, -0.005081, 0.004833> + 16015: <-0.004894, -0.005206, 0.004894> + 16016: <-0.004894, -0.005206, 0.004894> + 16017: <-0.005081, -0.005081, 0.004833> + 16018: <-0.005166, -0.005166, 0.004647> + 16019: <-0.004959, -0.005326, 0.004691> + 16020: <-0.004959, -0.005326, 0.004691> + 16021: <-0.005166, -0.005166, 0.004647> + 16022: <-0.005255, -0.005255, 0.004436> + 16023: <-0.005034, -0.005446, 0.004460> + 16024: <-0.005034, -0.005446, 0.004460> + 16025: <-0.005255, -0.005255, 0.004436> + 16026: <-0.005351, -0.005351, 0.004188> + 16027: <-0.005120, -0.005564, 0.004199> + 16028: <-0.005120, -0.005564, 0.004199> + 16029: <-0.005351, -0.005351, 0.004188> + 16030: <-0.005451, -0.005451, 0.003910> + 16031: <-0.005207, -0.005678, 0.003918> + 16032: <-0.005207, -0.005678, 0.003918> + 16033: <-0.005451, -0.005451, 0.003910> + 16034: <-0.005549, -0.005549, 0.003612> + 16035: <-0.005294, -0.005786, 0.003619> + 16036: <-0.005294, -0.005786, 0.003619> + 16037: <-0.005549, -0.005549, 0.003612> + 16038: <-0.005642, -0.005642, 0.003297> + 16039: <-0.005379, -0.005888, 0.003302> + 16040: <-0.005379, -0.005888, 0.003302> + 16041: <-0.005642, -0.005642, 0.003297> + 16042: <-0.005729, -0.005729, 0.002966> + 16043: <-0.005459, -0.005983, 0.002971> + 16044: <-0.005459, -0.005983, 0.002971> + 16045: <-0.005729, -0.005729, 0.002966> + 16046: <-0.005809, -0.005809, 0.002623> + 16047: <-0.005533, -0.006069, 0.002627> + 16048: <-0.005533, -0.006069, 0.002627> + 16049: <-0.005809, -0.005809, 0.002623> + 16050: <-0.005881, -0.005881, 0.002269> + 16051: <-0.005599, -0.006146, 0.002272> + 16052: <-0.005599, -0.006146, 0.002272> + 16053: <-0.005881, -0.005881, 0.002269> + 16054: <-0.005944, -0.005944, 0.001906> + 16055: <-0.005657, -0.006212, 0.001908> + 16056: <-0.005657, -0.006212, 0.001908> + 16057: <-0.005944, -0.005944, 0.001906> + 16058: <-0.005996, -0.005996, 0.001534> + 16059: <-0.005707, -0.006269, 0.001536> + 16060: <-0.005707, -0.006269, 0.001536> + 16061: <-0.005996, -0.005996, 0.001534> + 16062: <-0.006039, -0.006039, 0.001156> + 16063: <-0.005747, -0.006313, 0.001157> + 16064: <-0.005747, -0.006313, 0.001157> + 16065: <-0.006039, -0.006039, 0.001156> + 16066: <-0.006070, -0.006070, 0.000773> + 16067: <-0.005776, -0.006346, 0.000774> + 16068: <-0.005776, -0.006346, 0.000774> + 16069: <-0.006070, -0.006070, 0.000773> + 16070: <-0.006089, -0.006089, 0.000387> + 16071: <-0.005794, -0.006366, 0.000388> + 16072: <-0.005794, -0.006366, 0.000388> + 16073: <-0.006089, -0.006089, 0.000387> + 16074: <-0.006096, -0.006096, -0.000000> + 16075: <-0.005801, -0.006373, 0.000000> + 16076: <-0.005801, -0.006373, 0.000000> + 16077: <-0.006096, -0.006096, -0.000000> + 16078: <-0.006089, -0.006089, -0.000387> + 16079: <-0.005794, -0.006366, -0.000388> + 16080: <-0.005794, -0.006366, -0.000388> + 16081: <-0.006089, -0.006089, -0.000387> + 16082: <-0.006070, -0.006070, -0.000773> + 16083: <-0.005776, -0.006346, -0.000774> + 16084: <-0.005776, -0.006346, -0.000774> + 16085: <-0.006070, -0.006070, -0.000773> + 16086: <-0.006039, -0.006039, -0.001156> + 16087: <-0.005747, -0.006313, -0.001157> + 16088: <-0.005747, -0.006313, -0.001157> + 16089: <-0.006039, -0.006039, -0.001156> + 16090: <-0.005996, -0.005996, -0.001534> + 16091: <-0.005707, -0.006269, -0.001536> + 16092: <-0.005707, -0.006269, -0.001536> + 16093: <-0.005996, -0.005996, -0.001534> + 16094: <-0.005944, -0.005944, -0.001906> + 16095: <-0.005657, -0.006212, -0.001908> + 16096: <-0.005657, -0.006212, -0.001908> + 16097: <-0.005944, -0.005944, -0.001906> + 16098: <-0.005881, -0.005881, -0.002269> + 16099: <-0.005599, -0.006146, -0.002272> + 16100: <-0.005599, -0.006146, -0.002272> + 16101: <-0.005881, -0.005881, -0.002269> + 16102: <-0.005809, -0.005809, -0.002623> + 16103: <-0.005533, -0.006069, -0.002627> + 16104: <-0.005533, -0.006069, -0.002627> + 16105: <-0.005809, -0.005809, -0.002623> + 16106: <-0.005729, -0.005729, -0.002966> + 16107: <-0.005459, -0.005983, -0.002971> + 16108: <-0.005459, -0.005983, -0.002971> + 16109: <-0.005729, -0.005729, -0.002966> + 16110: <-0.005642, -0.005642, -0.003297> + 16111: <-0.005379, -0.005888, -0.003302> + 16112: <-0.005379, -0.005888, -0.003302> + 16113: <-0.005642, -0.005642, -0.003297> + 16114: <-0.005549, -0.005549, -0.003612> + 16115: <-0.005294, -0.005786, -0.003619> + 16116: <-0.005294, -0.005786, -0.003619> + 16117: <-0.005549, -0.005549, -0.003612> + 16118: <-0.005451, -0.005451, -0.003910> + 16119: <-0.005207, -0.005678, -0.003918> + 16120: <-0.005207, -0.005678, -0.003918> + 16121: <-0.005451, -0.005451, -0.003910> + 16122: <-0.005351, -0.005351, -0.004188> + 16123: <-0.005120, -0.005564, -0.004199> + 16124: <-0.005120, -0.005564, -0.004199> + 16125: <-0.005351, -0.005351, -0.004188> + 16126: <-0.005255, -0.005255, -0.004436> + 16127: <-0.005034, -0.005446, -0.004460> + 16128: <-0.005034, -0.005446, -0.004460> + 16129: <-0.005255, -0.005255, -0.004436> + 16130: <-0.005166, -0.005166, -0.004647> + 16131: <-0.004959, -0.005326, -0.004691> + 16132: <-0.004959, -0.005326, -0.004691> + 16133: <-0.005166, -0.005166, -0.004647> + 16134: <-0.005081, -0.005081, -0.004833> + 16135: <-0.004894, -0.005206, -0.004894> + 16136: <-0.004894, -0.005206, -0.004894> + 16137: <-0.005081, -0.005081, -0.004833> + 16138: <-0.005000, -0.005000, -0.005000> + 16139: <-0.004833, -0.005081, -0.005081> + 16140: <-0.004691, -0.005326, -0.004959> + 16141: <-0.004894, -0.005206, -0.004894> + 16142: <-0.004833, -0.005081, -0.005081> + 16143: <-0.004647, -0.005166, -0.005166> + 16144: <-0.004460, -0.005446, -0.005034> + 16145: <-0.004691, -0.005326, -0.004959> + 16146: <-0.004647, -0.005166, -0.005166> + 16147: <-0.004436, -0.005255, -0.005255> + 16148: <-0.004199, -0.005564, -0.005120> + 16149: <-0.004460, -0.005446, -0.005034> + 16150: <-0.004436, -0.005255, -0.005255> + 16151: <-0.004188, -0.005351, -0.005351> + 16152: <-0.003918, -0.005678, -0.005207> + 16153: <-0.004199, -0.005564, -0.005120> + 16154: <-0.004188, -0.005351, -0.005351> + 16155: <-0.003910, -0.005451, -0.005451> + 16156: <-0.003619, -0.005786, -0.005294> + 16157: <-0.003918, -0.005678, -0.005207> + 16158: <-0.003910, -0.005451, -0.005451> + 16159: <-0.003612, -0.005549, -0.005549> + 16160: <-0.003302, -0.005888, -0.005379> + 16161: <-0.003619, -0.005786, -0.005294> + 16162: <-0.003612, -0.005549, -0.005549> + 16163: <-0.003297, -0.005642, -0.005642> + 16164: <-0.002971, -0.005983, -0.005459> + 16165: <-0.003302, -0.005888, -0.005379> + 16166: <-0.003297, -0.005642, -0.005642> + 16167: <-0.002966, -0.005729, -0.005729> + 16168: <-0.002627, -0.006069, -0.005533> + 16169: <-0.002971, -0.005983, -0.005459> + 16170: <-0.002966, -0.005729, -0.005729> + 16171: <-0.002623, -0.005809, -0.005809> + 16172: <-0.002272, -0.006146, -0.005599> + 16173: <-0.002627, -0.006069, -0.005533> + 16174: <-0.002623, -0.005809, -0.005809> + 16175: <-0.002269, -0.005881, -0.005881> + 16176: <-0.001908, -0.006212, -0.005657> + 16177: <-0.002272, -0.006146, -0.005599> + 16178: <-0.002269, -0.005881, -0.005881> + 16179: <-0.001906, -0.005944, -0.005944> + 16180: <-0.001536, -0.006269, -0.005707> + 16181: <-0.001908, -0.006212, -0.005657> + 16182: <-0.001906, -0.005944, -0.005944> + 16183: <-0.001534, -0.005996, -0.005996> + 16184: <-0.001157, -0.006313, -0.005747> + 16185: <-0.001536, -0.006269, -0.005707> + 16186: <-0.001534, -0.005996, -0.005996> + 16187: <-0.001156, -0.006039, -0.006039> + 16188: <-0.000774, -0.006346, -0.005776> + 16189: <-0.001157, -0.006313, -0.005747> + 16190: <-0.001156, -0.006039, -0.006039> + 16191: <-0.000773, -0.006070, -0.006070> + 16192: <-0.000388, -0.006366, -0.005794> + 16193: <-0.000774, -0.006346, -0.005776> + 16194: <-0.000773, -0.006070, -0.006070> + 16195: <-0.000387, -0.006089, -0.006089> + 16196: <-0.000000, -0.006373, -0.005801> + 16197: <-0.000388, -0.006366, -0.005794> + 16198: <-0.000387, -0.006089, -0.006089> + 16199: < 0.000000, -0.006096, -0.006096> + 16200: < 0.000388, -0.006366, -0.005794> + 16201: <-0.000000, -0.006373, -0.005801> + 16202: < 0.000000, -0.006096, -0.006096> + 16203: < 0.000387, -0.006089, -0.006089> + 16204: < 0.000774, -0.006346, -0.005776> + 16205: < 0.000388, -0.006366, -0.005794> + 16206: < 0.000387, -0.006089, -0.006089> + 16207: < 0.000773, -0.006070, -0.006070> + 16208: < 0.001157, -0.006313, -0.005747> + 16209: < 0.000774, -0.006346, -0.005776> + 16210: < 0.000773, -0.006070, -0.006070> + 16211: < 0.001156, -0.006039, -0.006039> + 16212: < 0.001536, -0.006269, -0.005707> + 16213: < 0.001157, -0.006313, -0.005747> + 16214: < 0.001156, -0.006039, -0.006039> + 16215: < 0.001534, -0.005996, -0.005996> + 16216: < 0.001908, -0.006212, -0.005657> + 16217: < 0.001536, -0.006269, -0.005707> + 16218: < 0.001534, -0.005996, -0.005996> + 16219: < 0.001906, -0.005944, -0.005944> + 16220: < 0.002272, -0.006146, -0.005599> + 16221: < 0.001908, -0.006212, -0.005657> + 16222: < 0.001906, -0.005944, -0.005944> + 16223: < 0.002269, -0.005881, -0.005881> + 16224: < 0.002627, -0.006069, -0.005533> + 16225: < 0.002272, -0.006146, -0.005599> + 16226: < 0.002269, -0.005881, -0.005881> + 16227: < 0.002623, -0.005809, -0.005809> + 16228: < 0.002971, -0.005983, -0.005459> + 16229: < 0.002627, -0.006069, -0.005533> + 16230: < 0.002623, -0.005809, -0.005809> + 16231: < 0.002966, -0.005729, -0.005729> + 16232: < 0.003302, -0.005888, -0.005379> + 16233: < 0.002971, -0.005983, -0.005459> + 16234: < 0.002966, -0.005729, -0.005729> + 16235: < 0.003297, -0.005642, -0.005642> + 16236: < 0.003619, -0.005786, -0.005294> + 16237: < 0.003302, -0.005888, -0.005379> + 16238: < 0.003297, -0.005642, -0.005642> + 16239: < 0.003612, -0.005549, -0.005549> + 16240: < 0.003918, -0.005678, -0.005207> + 16241: < 0.003619, -0.005786, -0.005294> + 16242: < 0.003612, -0.005549, -0.005549> + 16243: < 0.003910, -0.005451, -0.005451> + 16244: < 0.004199, -0.005564, -0.005120> + 16245: < 0.003918, -0.005678, -0.005207> + 16246: < 0.003910, -0.005451, -0.005451> + 16247: < 0.004188, -0.005351, -0.005351> + 16248: < 0.004460, -0.005446, -0.005034> + 16249: < 0.004199, -0.005564, -0.005120> + 16250: < 0.004188, -0.005351, -0.005351> + 16251: < 0.004436, -0.005255, -0.005255> + 16252: < 0.004691, -0.005326, -0.004959> + 16253: < 0.004460, -0.005446, -0.005034> + 16254: < 0.004436, -0.005255, -0.005255> + 16255: < 0.004647, -0.005166, -0.005166> + 16256: < 0.004894, -0.005206, -0.004894> + 16257: < 0.004691, -0.005326, -0.004959> + 16258: < 0.004647, -0.005166, -0.005166> + 16259: < 0.004833, -0.005081, -0.005081> + 16260: < 0.005081, -0.005081, -0.004833> + 16261: < 0.004894, -0.005206, -0.004894> + 16262: < 0.004833, -0.005081, -0.005081> + 16263: < 0.005000, -0.005000, -0.005000> + 16264: < 0.005166, -0.005166, -0.004647> + 16265: < 0.004959, -0.005326, -0.004691> + 16266: < 0.004894, -0.005206, -0.004894> + 16267: < 0.005081, -0.005081, -0.004833> + 16268: < 0.005255, -0.005255, -0.004436> + 16269: < 0.005034, -0.005446, -0.004460> + 16270: < 0.004959, -0.005326, -0.004691> + 16271: < 0.005166, -0.005166, -0.004647> + 16272: < 0.005351, -0.005351, -0.004188> + 16273: < 0.005120, -0.005564, -0.004199> + 16274: < 0.005034, -0.005446, -0.004460> + 16275: < 0.005255, -0.005255, -0.004436> + 16276: < 0.005451, -0.005451, -0.003910> + 16277: < 0.005207, -0.005678, -0.003918> + 16278: < 0.005120, -0.005564, -0.004199> + 16279: < 0.005351, -0.005351, -0.004188> + 16280: < 0.005549, -0.005549, -0.003612> + 16281: < 0.005294, -0.005786, -0.003619> + 16282: < 0.005207, -0.005678, -0.003918> + 16283: < 0.005451, -0.005451, -0.003910> + 16284: < 0.005642, -0.005642, -0.003297> + 16285: < 0.005379, -0.005888, -0.003302> + 16286: < 0.005294, -0.005786, -0.003619> + 16287: < 0.005549, -0.005549, -0.003612> + 16288: < 0.005729, -0.005729, -0.002966> + 16289: < 0.005459, -0.005983, -0.002971> + 16290: < 0.005379, -0.005888, -0.003302> + 16291: < 0.005642, -0.005642, -0.003297> + 16292: < 0.005809, -0.005809, -0.002623> + 16293: < 0.005533, -0.006069, -0.002627> + 16294: < 0.005459, -0.005983, -0.002971> + 16295: < 0.005729, -0.005729, -0.002966> + 16296: < 0.005881, -0.005881, -0.002269> + 16297: < 0.005599, -0.006146, -0.002272> + 16298: < 0.005533, -0.006069, -0.002627> + 16299: < 0.005809, -0.005809, -0.002623> + 16300: < 0.005944, -0.005944, -0.001906> + 16301: < 0.005657, -0.006212, -0.001908> + 16302: < 0.005599, -0.006146, -0.002272> + 16303: < 0.005881, -0.005881, -0.002269> + 16304: < 0.005996, -0.005996, -0.001534> + 16305: < 0.005707, -0.006269, -0.001536> + 16306: < 0.005657, -0.006212, -0.001908> + 16307: < 0.005944, -0.005944, -0.001906> + 16308: < 0.006039, -0.006039, -0.001156> + 16309: < 0.005747, -0.006313, -0.001157> + 16310: < 0.005707, -0.006269, -0.001536> + 16311: < 0.005996, -0.005996, -0.001534> + 16312: < 0.006070, -0.006070, -0.000773> + 16313: < 0.005776, -0.006346, -0.000774> + 16314: < 0.005747, -0.006313, -0.001157> + 16315: < 0.006039, -0.006039, -0.001156> + 16316: < 0.006089, -0.006089, -0.000387> + 16317: < 0.005794, -0.006366, -0.000388> + 16318: < 0.005776, -0.006346, -0.000774> + 16319: < 0.006070, -0.006070, -0.000773> + 16320: < 0.006096, -0.006096, 0.000000> + 16321: < 0.005801, -0.006373, 0.000000> + 16322: < 0.005794, -0.006366, -0.000388> + 16323: < 0.006089, -0.006089, -0.000387> + 16324: < 0.006089, -0.006089, 0.000387> + 16325: < 0.005794, -0.006366, 0.000388> + 16326: < 0.005801, -0.006373, 0.000000> + 16327: < 0.006096, -0.006096, 0.000000> + 16328: < 0.006070, -0.006070, 0.000773> + 16329: < 0.005776, -0.006346, 0.000774> + 16330: < 0.005794, -0.006366, 0.000388> + 16331: < 0.006089, -0.006089, 0.000387> + 16332: < 0.006039, -0.006039, 0.001156> + 16333: < 0.005747, -0.006313, 0.001157> + 16334: < 0.005776, -0.006346, 0.000774> + 16335: < 0.006070, -0.006070, 0.000773> + 16336: < 0.005996, -0.005996, 0.001534> + 16337: < 0.005707, -0.006269, 0.001536> + 16338: < 0.005747, -0.006313, 0.001157> + 16339: < 0.006039, -0.006039, 0.001156> + 16340: < 0.005944, -0.005944, 0.001906> + 16341: < 0.005657, -0.006212, 0.001908> + 16342: < 0.005707, -0.006269, 0.001536> + 16343: < 0.005996, -0.005996, 0.001534> + 16344: < 0.005881, -0.005881, 0.002269> + 16345: < 0.005599, -0.006146, 0.002272> + 16346: < 0.005657, -0.006212, 0.001908> + 16347: < 0.005944, -0.005944, 0.001906> + 16348: < 0.005809, -0.005809, 0.002623> + 16349: < 0.005533, -0.006069, 0.002627> + 16350: < 0.005599, -0.006146, 0.002272> + 16351: < 0.005881, -0.005881, 0.002269> + 16352: < 0.005729, -0.005729, 0.002966> + 16353: < 0.005459, -0.005983, 0.002971> + 16354: < 0.005533, -0.006069, 0.002627> + 16355: < 0.005809, -0.005809, 0.002623> + 16356: < 0.005642, -0.005642, 0.003297> + 16357: < 0.005379, -0.005888, 0.003302> + 16358: < 0.005459, -0.005983, 0.002971> + 16359: < 0.005729, -0.005729, 0.002966> + 16360: < 0.005549, -0.005549, 0.003612> + 16361: < 0.005294, -0.005786, 0.003619> + 16362: < 0.005379, -0.005888, 0.003302> + 16363: < 0.005642, -0.005642, 0.003297> + 16364: < 0.005451, -0.005451, 0.003910> + 16365: < 0.005207, -0.005678, 0.003918> + 16366: < 0.005294, -0.005786, 0.003619> + 16367: < 0.005549, -0.005549, 0.003612> + 16368: < 0.005351, -0.005351, 0.004188> + 16369: < 0.005120, -0.005564, 0.004199> + 16370: < 0.005207, -0.005678, 0.003918> + 16371: < 0.005451, -0.005451, 0.003910> + 16372: < 0.005255, -0.005255, 0.004436> + 16373: < 0.005034, -0.005446, 0.004460> + 16374: < 0.005120, -0.005564, 0.004199> + 16375: < 0.005351, -0.005351, 0.004188> + 16376: < 0.005166, -0.005166, 0.004647> + 16377: < 0.004959, -0.005326, 0.004691> + 16378: < 0.005034, -0.005446, 0.004460> + 16379: < 0.005255, -0.005255, 0.004436> + 16380: < 0.005081, -0.005081, 0.004833> + 16381: < 0.004894, -0.005206, 0.004894> + 16382: < 0.004959, -0.005326, 0.004691> + 16383: < 0.005166, -0.005166, 0.004647> + 16384: <-0.005206, -0.004894, 0.004894> + 16385: <-0.005326, -0.004691, 0.004959> + 16386: <-0.005479, -0.004738, 0.004738> + 16387: <-0.005326, -0.004959, 0.004691> + 16388: <-0.005326, -0.004691, 0.004959> + 16389: <-0.005446, -0.004460, 0.005034> + 16390: <-0.005623, -0.004494, 0.004798> + 16391: <-0.005479, -0.004738, 0.004738> + 16392: <-0.005446, -0.004460, 0.005034> + 16393: <-0.005564, -0.004199, 0.005120> + 16394: <-0.005760, -0.004226, 0.004870> + 16395: <-0.005623, -0.004494, 0.004798> + 16396: <-0.005564, -0.004199, 0.005120> + 16397: <-0.005678, -0.003918, 0.005207> + 16398: <-0.005887, -0.003941, 0.004946> + 16399: <-0.005760, -0.004226, 0.004870> + 16400: <-0.005678, -0.003918, 0.005207> + 16401: <-0.005786, -0.003619, 0.005294> + 16402: <-0.006006, -0.003637, 0.005023> + 16403: <-0.005887, -0.003941, 0.004946> + 16404: <-0.005786, -0.003619, 0.005294> + 16405: <-0.005888, -0.003302, 0.005379> + 16406: <-0.006117, -0.003318, 0.005099> + 16407: <-0.006006, -0.003637, 0.005023> + 16408: <-0.005888, -0.003302, 0.005379> + 16409: <-0.005983, -0.002971, 0.005459> + 16410: <-0.006219, -0.002984, 0.005172> + 16411: <-0.006117, -0.003318, 0.005099> + 16412: <-0.005983, -0.002971, 0.005459> + 16413: <-0.006069, -0.002627, 0.005533> + 16414: <-0.006311, -0.002638, 0.005240> + 16415: <-0.006219, -0.002984, 0.005172> + 16416: <-0.006069, -0.002627, 0.005533> + 16417: <-0.006146, -0.002272, 0.005599> + 16418: <-0.006393, -0.002281, 0.005301> + 16419: <-0.006311, -0.002638, 0.005240> + 16420: <-0.006146, -0.002272, 0.005599> + 16421: <-0.006212, -0.001908, 0.005657> + 16422: <-0.006464, -0.001915, 0.005355> + 16423: <-0.006393, -0.002281, 0.005301> + 16424: <-0.006212, -0.001908, 0.005657> + 16425: <-0.006269, -0.001536, 0.005707> + 16426: <-0.006523, -0.001541, 0.005401> + 16427: <-0.006464, -0.001915, 0.005355> + 16428: <-0.006269, -0.001536, 0.005707> + 16429: <-0.006313, -0.001157, 0.005747> + 16430: <-0.006570, -0.001161, 0.005438> + 16431: <-0.006523, -0.001541, 0.005401> + 16432: <-0.006313, -0.001157, 0.005747> + 16433: <-0.006346, -0.000774, 0.005776> + 16434: <-0.006605, -0.000777, 0.005466> + 16435: <-0.006570, -0.001161, 0.005438> + 16436: <-0.006346, -0.000774, 0.005776> + 16437: <-0.006366, -0.000388, 0.005794> + 16438: <-0.006626, -0.000389, 0.005483> + 16439: <-0.006605, -0.000777, 0.005466> + 16440: <-0.006366, -0.000388, 0.005794> + 16441: <-0.006373, 0.000000, 0.005801> + 16442: <-0.006633, -0.000000, 0.005489> + 16443: <-0.006626, -0.000389, 0.005483> + 16444: <-0.006373, 0.000000, 0.005801> + 16445: <-0.006366, 0.000388, 0.005794> + 16446: <-0.006626, 0.000389, 0.005483> + 16447: <-0.006633, -0.000000, 0.005489> + 16448: <-0.006366, 0.000388, 0.005794> + 16449: <-0.006346, 0.000774, 0.005776> + 16450: <-0.006605, 0.000777, 0.005466> + 16451: <-0.006626, 0.000389, 0.005483> + 16452: <-0.006346, 0.000774, 0.005776> + 16453: <-0.006313, 0.001157, 0.005747> + 16454: <-0.006570, 0.001161, 0.005438> + 16455: <-0.006605, 0.000777, 0.005466> + 16456: <-0.006313, 0.001157, 0.005747> + 16457: <-0.006269, 0.001536, 0.005707> + 16458: <-0.006523, 0.001541, 0.005401> + 16459: <-0.006570, 0.001161, 0.005438> + 16460: <-0.006269, 0.001536, 0.005707> + 16461: <-0.006212, 0.001908, 0.005657> + 16462: <-0.006464, 0.001915, 0.005355> + 16463: <-0.006523, 0.001541, 0.005401> + 16464: <-0.006212, 0.001908, 0.005657> + 16465: <-0.006146, 0.002272, 0.005599> + 16466: <-0.006393, 0.002281, 0.005301> + 16467: <-0.006464, 0.001915, 0.005355> + 16468: <-0.006146, 0.002272, 0.005599> + 16469: <-0.006069, 0.002627, 0.005533> + 16470: <-0.006311, 0.002638, 0.005240> + 16471: <-0.006393, 0.002281, 0.005301> + 16472: <-0.006069, 0.002627, 0.005533> + 16473: <-0.005983, 0.002971, 0.005459> + 16474: <-0.006219, 0.002984, 0.005172> + 16475: <-0.006311, 0.002638, 0.005240> + 16476: <-0.005983, 0.002971, 0.005459> + 16477: <-0.005888, 0.003302, 0.005379> + 16478: <-0.006117, 0.003318, 0.005099> + 16479: <-0.006219, 0.002984, 0.005172> + 16480: <-0.005888, 0.003302, 0.005379> + 16481: <-0.005786, 0.003619, 0.005294> + 16482: <-0.006006, 0.003637, 0.005023> + 16483: <-0.006117, 0.003318, 0.005099> + 16484: <-0.005786, 0.003619, 0.005294> + 16485: <-0.005678, 0.003918, 0.005207> + 16486: <-0.005887, 0.003941, 0.004946> + 16487: <-0.006006, 0.003637, 0.005023> + 16488: <-0.005678, 0.003918, 0.005207> + 16489: <-0.005564, 0.004199, 0.005120> + 16490: <-0.005760, 0.004226, 0.004870> + 16491: <-0.005887, 0.003941, 0.004946> + 16492: <-0.005564, 0.004199, 0.005120> + 16493: <-0.005446, 0.004460, 0.005034> + 16494: <-0.005623, 0.004494, 0.004798> + 16495: <-0.005760, 0.004226, 0.004870> + 16496: <-0.005446, 0.004460, 0.005034> + 16497: <-0.005326, 0.004691, 0.004959> + 16498: <-0.005479, 0.004738, 0.004738> + 16499: <-0.005623, 0.004494, 0.004798> + 16500: <-0.005326, 0.004691, 0.004959> + 16501: <-0.005206, 0.004894, 0.004894> + 16502: <-0.005326, 0.004959, 0.004691> + 16503: <-0.005479, 0.004738, 0.004738> + 16504: <-0.005326, -0.004959, 0.004691> + 16505: <-0.005479, -0.004738, 0.004738> + 16506: <-0.005623, -0.004798, 0.004494> + 16507: <-0.005446, -0.005034, 0.004460> + 16508: <-0.005479, -0.004738, 0.004738> + 16509: <-0.005623, -0.004494, 0.004798> + 16510: <-0.005788, -0.004542, 0.004542> + 16511: <-0.005623, -0.004798, 0.004494> + 16512: <-0.005623, -0.004494, 0.004798> + 16513: <-0.005760, -0.004226, 0.004870> + 16514: <-0.005939, -0.004267, 0.004602> + 16515: <-0.005788, -0.004542, 0.004542> + 16516: <-0.005760, -0.004226, 0.004870> + 16517: <-0.005887, -0.003941, 0.004946> + 16518: <-0.006080, -0.003975, 0.004668> + 16519: <-0.005939, -0.004267, 0.004602> + 16520: <-0.005887, -0.003941, 0.004946> + 16521: <-0.006006, -0.003637, 0.005023> + 16522: <-0.006210, -0.003666, 0.004736> + 16523: <-0.006080, -0.003975, 0.004668> + 16524: <-0.006006, -0.003637, 0.005023> + 16525: <-0.006117, -0.003318, 0.005099> + 16526: <-0.006329, -0.003342, 0.004804> + 16527: <-0.006210, -0.003666, 0.004736> + 16528: <-0.006117, -0.003318, 0.005099> + 16529: <-0.006219, -0.002984, 0.005172> + 16530: <-0.006439, -0.003004, 0.004870> + 16531: <-0.006329, -0.003342, 0.004804> + 16532: <-0.006219, -0.002984, 0.005172> + 16533: <-0.006311, -0.002638, 0.005240> + 16534: <-0.006537, -0.002655, 0.004931> + 16535: <-0.006439, -0.003004, 0.004870> + 16536: <-0.006311, -0.002638, 0.005240> + 16537: <-0.006393, -0.002281, 0.005301> + 16538: <-0.006623, -0.002295, 0.004987> + 16539: <-0.006537, -0.002655, 0.004931> + 16540: <-0.006393, -0.002281, 0.005301> + 16541: <-0.006464, -0.001915, 0.005355> + 16542: <-0.006698, -0.001926, 0.005037> + 16543: <-0.006623, -0.002295, 0.004987> + 16544: <-0.006464, -0.001915, 0.005355> + 16545: <-0.006523, -0.001541, 0.005401> + 16546: <-0.006761, -0.001550, 0.005080> + 16547: <-0.006698, -0.001926, 0.005037> + 16548: <-0.006523, -0.001541, 0.005401> + 16549: <-0.006570, -0.001161, 0.005438> + 16550: <-0.006810, -0.001168, 0.005114> + 16551: <-0.006761, -0.001550, 0.005080> + 16552: <-0.006570, -0.001161, 0.005438> + 16553: <-0.006605, -0.000777, 0.005466> + 16554: <-0.006846, -0.000781, 0.005140> + 16555: <-0.006810, -0.001168, 0.005114> + 16556: <-0.006605, -0.000777, 0.005466> + 16557: <-0.006626, -0.000389, 0.005483> + 16558: <-0.006868, -0.000391, 0.005156> + 16559: <-0.006846, -0.000781, 0.005140> + 16560: <-0.006626, -0.000389, 0.005483> + 16561: <-0.006633, -0.000000, 0.005489> + 16562: <-0.006875, -0.000000, 0.005162> + 16563: <-0.006868, -0.000391, 0.005156> + 16564: <-0.006633, -0.000000, 0.005489> + 16565: <-0.006626, 0.000389, 0.005483> + 16566: <-0.006868, 0.000391, 0.005156> + 16567: <-0.006875, -0.000000, 0.005162> + 16568: <-0.006626, 0.000389, 0.005483> + 16569: <-0.006605, 0.000777, 0.005466> + 16570: <-0.006846, 0.000781, 0.005140> + 16571: <-0.006868, 0.000391, 0.005156> + 16572: <-0.006605, 0.000777, 0.005466> + 16573: <-0.006570, 0.001161, 0.005438> + 16574: <-0.006810, 0.001168, 0.005114> + 16575: <-0.006846, 0.000781, 0.005140> + 16576: <-0.006570, 0.001161, 0.005438> + 16577: <-0.006523, 0.001541, 0.005401> + 16578: <-0.006761, 0.001550, 0.005080> + 16579: <-0.006810, 0.001168, 0.005114> + 16580: <-0.006523, 0.001541, 0.005401> + 16581: <-0.006464, 0.001915, 0.005355> + 16582: <-0.006698, 0.001926, 0.005037> + 16583: <-0.006761, 0.001550, 0.005080> + 16584: <-0.006464, 0.001915, 0.005355> + 16585: <-0.006393, 0.002281, 0.005301> + 16586: <-0.006623, 0.002295, 0.004987> + 16587: <-0.006698, 0.001926, 0.005037> + 16588: <-0.006393, 0.002281, 0.005301> + 16589: <-0.006311, 0.002638, 0.005240> + 16590: <-0.006537, 0.002655, 0.004931> + 16591: <-0.006623, 0.002295, 0.004987> + 16592: <-0.006311, 0.002638, 0.005240> + 16593: <-0.006219, 0.002984, 0.005172> + 16594: <-0.006439, 0.003004, 0.004870> + 16595: <-0.006537, 0.002655, 0.004931> + 16596: <-0.006219, 0.002984, 0.005172> + 16597: <-0.006117, 0.003318, 0.005099> + 16598: <-0.006329, 0.003342, 0.004804> + 16599: <-0.006439, 0.003004, 0.004870> + 16600: <-0.006117, 0.003318, 0.005099> + 16601: <-0.006006, 0.003637, 0.005023> + 16602: <-0.006210, 0.003666, 0.004736> + 16603: <-0.006329, 0.003342, 0.004804> + 16604: <-0.006006, 0.003637, 0.005023> + 16605: <-0.005887, 0.003941, 0.004946> + 16606: <-0.006080, 0.003975, 0.004668> + 16607: <-0.006210, 0.003666, 0.004736> + 16608: <-0.005887, 0.003941, 0.004946> + 16609: <-0.005760, 0.004226, 0.004870> + 16610: <-0.005939, 0.004267, 0.004602> + 16611: <-0.006080, 0.003975, 0.004668> + 16612: <-0.005760, 0.004226, 0.004870> + 16613: <-0.005623, 0.004494, 0.004798> + 16614: <-0.005788, 0.004542, 0.004542> + 16615: <-0.005939, 0.004267, 0.004602> + 16616: <-0.005623, 0.004494, 0.004798> + 16617: <-0.005479, 0.004738, 0.004738> + 16618: <-0.005623, 0.004798, 0.004494> + 16619: <-0.005788, 0.004542, 0.004542> + 16620: <-0.005479, 0.004738, 0.004738> + 16621: <-0.005326, 0.004959, 0.004691> + 16622: <-0.005446, 0.005034, 0.004460> + 16623: <-0.005623, 0.004798, 0.004494> + 16624: <-0.005446, -0.005034, 0.004460> + 16625: <-0.005623, -0.004798, 0.004494> + 16626: <-0.005760, -0.004870, 0.004226> + 16627: <-0.005564, -0.005120, 0.004199> + 16628: <-0.005623, -0.004798, 0.004494> + 16629: <-0.005788, -0.004542, 0.004542> + 16630: <-0.005939, -0.004602, 0.004267> + 16631: <-0.005760, -0.004870, 0.004226> + 16632: <-0.005788, -0.004542, 0.004542> + 16633: <-0.005939, -0.004267, 0.004602> + 16634: <-0.006105, -0.004318, 0.004318> + 16635: <-0.005939, -0.004602, 0.004267> + 16636: <-0.005939, -0.004267, 0.004602> + 16637: <-0.006080, -0.003975, 0.004668> + 16638: <-0.006257, -0.004017, 0.004374> + 16639: <-0.006105, -0.004318, 0.004318> + 16640: <-0.006080, -0.003975, 0.004668> + 16641: <-0.006210, -0.003666, 0.004736> + 16642: <-0.006397, -0.003701, 0.004434> + 16643: <-0.006257, -0.004017, 0.004374> + 16644: <-0.006210, -0.003666, 0.004736> + 16645: <-0.006329, -0.003342, 0.004804> + 16646: <-0.006525, -0.003372, 0.004494> + 16647: <-0.006397, -0.003701, 0.004434> + 16648: <-0.006329, -0.003342, 0.004804> + 16649: <-0.006439, -0.003004, 0.004870> + 16650: <-0.006641, -0.003030, 0.004553> + 16651: <-0.006525, -0.003372, 0.004494> + 16652: <-0.006439, -0.003004, 0.004870> + 16653: <-0.006537, -0.002655, 0.004931> + 16654: <-0.006745, -0.002676, 0.004609> + 16655: <-0.006641, -0.003030, 0.004553> + 16656: <-0.006537, -0.002655, 0.004931> + 16657: <-0.006623, -0.002295, 0.004987> + 16658: <-0.006836, -0.002313, 0.004659> + 16659: <-0.006745, -0.002676, 0.004609> + 16660: <-0.006623, -0.002295, 0.004987> + 16661: <-0.006698, -0.001926, 0.005037> + 16662: <-0.006915, -0.001940, 0.004705> + 16663: <-0.006836, -0.002313, 0.004659> + 16664: <-0.006698, -0.001926, 0.005037> + 16665: <-0.006761, -0.001550, 0.005080> + 16666: <-0.006980, -0.001561, 0.004744> + 16667: <-0.006915, -0.001940, 0.004705> + 16668: <-0.006761, -0.001550, 0.005080> + 16669: <-0.006810, -0.001168, 0.005114> + 16670: <-0.007032, -0.001176, 0.004776> + 16671: <-0.006980, -0.001561, 0.004744> + 16672: <-0.006810, -0.001168, 0.005114> + 16673: <-0.006846, -0.000781, 0.005140> + 16674: <-0.007069, -0.000786, 0.004800> + 16675: <-0.007032, -0.001176, 0.004776> + 16676: <-0.006846, -0.000781, 0.005140> + 16677: <-0.006868, -0.000391, 0.005156> + 16678: <-0.007092, -0.000394, 0.004815> + 16679: <-0.007069, -0.000786, 0.004800> + 16680: <-0.006868, -0.000391, 0.005156> + 16681: <-0.006875, -0.000000, 0.005162> + 16682: <-0.007099, -0.000000, 0.004820> + 16683: <-0.007092, -0.000394, 0.004815> + 16684: <-0.006875, -0.000000, 0.005162> + 16685: <-0.006868, 0.000391, 0.005156> + 16686: <-0.007092, 0.000394, 0.004815> + 16687: <-0.007099, -0.000000, 0.004820> + 16688: <-0.006868, 0.000391, 0.005156> + 16689: <-0.006846, 0.000781, 0.005140> + 16690: <-0.007069, 0.000786, 0.004800> + 16691: <-0.007092, 0.000394, 0.004815> + 16692: <-0.006846, 0.000781, 0.005140> + 16693: <-0.006810, 0.001168, 0.005114> + 16694: <-0.007032, 0.001176, 0.004776> + 16695: <-0.007069, 0.000786, 0.004800> + 16696: <-0.006810, 0.001168, 0.005114> + 16697: <-0.006761, 0.001550, 0.005080> + 16698: <-0.006980, 0.001561, 0.004744> + 16699: <-0.007032, 0.001176, 0.004776> + 16700: <-0.006761, 0.001550, 0.005080> + 16701: <-0.006698, 0.001926, 0.005037> + 16702: <-0.006915, 0.001940, 0.004705> + 16703: <-0.006980, 0.001561, 0.004744> + 16704: <-0.006698, 0.001926, 0.005037> + 16705: <-0.006623, 0.002295, 0.004987> + 16706: <-0.006836, 0.002313, 0.004659> + 16707: <-0.006915, 0.001940, 0.004705> + 16708: <-0.006623, 0.002295, 0.004987> + 16709: <-0.006537, 0.002655, 0.004931> + 16710: <-0.006745, 0.002676, 0.004609> + 16711: <-0.006836, 0.002313, 0.004659> + 16712: <-0.006537, 0.002655, 0.004931> + 16713: <-0.006439, 0.003004, 0.004870> + 16714: <-0.006641, 0.003030, 0.004553> + 16715: <-0.006745, 0.002676, 0.004609> + 16716: <-0.006439, 0.003004, 0.004870> + 16717: <-0.006329, 0.003342, 0.004804> + 16718: <-0.006525, 0.003372, 0.004494> + 16719: <-0.006641, 0.003030, 0.004553> + 16720: <-0.006329, 0.003342, 0.004804> + 16721: <-0.006210, 0.003666, 0.004736> + 16722: <-0.006397, 0.003701, 0.004434> + 16723: <-0.006525, 0.003372, 0.004494> + 16724: <-0.006210, 0.003666, 0.004736> + 16725: <-0.006080, 0.003975, 0.004668> + 16726: <-0.006257, 0.004017, 0.004374> + 16727: <-0.006397, 0.003701, 0.004434> + 16728: <-0.006080, 0.003975, 0.004668> + 16729: <-0.005939, 0.004267, 0.004602> + 16730: <-0.006105, 0.004318, 0.004318> + 16731: <-0.006257, 0.004017, 0.004374> + 16732: <-0.005939, 0.004267, 0.004602> + 16733: <-0.005788, 0.004542, 0.004542> + 16734: <-0.005939, 0.004602, 0.004267> + 16735: <-0.006105, 0.004318, 0.004318> + 16736: <-0.005788, 0.004542, 0.004542> + 16737: <-0.005623, 0.004798, 0.004494> + 16738: <-0.005760, 0.004870, 0.004226> + 16739: <-0.005939, 0.004602, 0.004267> + 16740: <-0.005623, 0.004798, 0.004494> + 16741: <-0.005446, 0.005034, 0.004460> + 16742: <-0.005564, 0.005120, 0.004199> + 16743: <-0.005760, 0.004870, 0.004226> + 16744: <-0.005564, -0.005120, 0.004199> + 16745: <-0.005760, -0.004870, 0.004226> + 16746: <-0.005887, -0.004946, 0.003941> + 16747: <-0.005678, -0.005207, 0.003918> + 16748: <-0.005760, -0.004870, 0.004226> + 16749: <-0.005939, -0.004602, 0.004267> + 16750: <-0.006080, -0.004668, 0.003975> + 16751: <-0.005887, -0.004946, 0.003941> + 16752: <-0.005939, -0.004602, 0.004267> + 16753: <-0.006105, -0.004318, 0.004318> + 16754: <-0.006257, -0.004374, 0.004017> + 16755: <-0.006080, -0.004668, 0.003975> + 16756: <-0.006105, -0.004318, 0.004318> + 16757: <-0.006257, -0.004017, 0.004374> + 16758: <-0.006421, -0.004065, 0.004065> + 16759: <-0.006257, -0.004374, 0.004017> + 16760: <-0.006257, -0.004017, 0.004374> + 16761: <-0.006397, -0.003701, 0.004434> + 16762: <-0.006570, -0.003743, 0.004117> + 16763: <-0.006421, -0.004065, 0.004065> + 16764: <-0.006397, -0.003701, 0.004434> + 16765: <-0.006525, -0.003372, 0.004494> + 16766: <-0.006705, -0.003407, 0.004170> + 16767: <-0.006570, -0.003743, 0.004117> + 16768: <-0.006525, -0.003372, 0.004494> + 16769: <-0.006641, -0.003030, 0.004553> + 16770: <-0.006828, -0.003060, 0.004223> + 16771: <-0.006705, -0.003407, 0.004170> + 16772: <-0.006641, -0.003030, 0.004553> + 16773: <-0.006745, -0.002676, 0.004609> + 16774: <-0.006937, -0.002701, 0.004273> + 16775: <-0.006828, -0.003060, 0.004223> + 16776: <-0.006745, -0.002676, 0.004609> + 16777: <-0.006836, -0.002313, 0.004659> + 16778: <-0.007033, -0.002333, 0.004318> + 16779: <-0.006937, -0.002701, 0.004273> + 16780: <-0.006836, -0.002313, 0.004659> + 16781: <-0.006915, -0.001940, 0.004705> + 16782: <-0.007115, -0.001957, 0.004360> + 16783: <-0.007033, -0.002333, 0.004318> + 16784: <-0.006915, -0.001940, 0.004705> + 16785: <-0.006980, -0.001561, 0.004744> + 16786: <-0.007183, -0.001574, 0.004395> + 16787: <-0.007115, -0.001957, 0.004360> + 16788: <-0.006980, -0.001561, 0.004744> + 16789: <-0.007032, -0.001176, 0.004776> + 16790: <-0.007236, -0.001185, 0.004424> + 16791: <-0.007183, -0.001574, 0.004395> + 16792: <-0.007032, -0.001176, 0.004776> + 16793: <-0.007069, -0.000786, 0.004800> + 16794: <-0.007275, -0.000792, 0.004446> + 16795: <-0.007236, -0.001185, 0.004424> + 16796: <-0.007069, -0.000786, 0.004800> + 16797: <-0.007092, -0.000394, 0.004815> + 16798: <-0.007298, -0.000397, 0.004460> + 16799: <-0.007275, -0.000792, 0.004446> + 16800: <-0.007092, -0.000394, 0.004815> + 16801: <-0.007099, -0.000000, 0.004820> + 16802: <-0.007306, -0.000000, 0.004465> + 16803: <-0.007298, -0.000397, 0.004460> + 16804: <-0.007099, -0.000000, 0.004820> + 16805: <-0.007092, 0.000394, 0.004815> + 16806: <-0.007298, 0.000397, 0.004460> + 16807: <-0.007306, -0.000000, 0.004465> + 16808: <-0.007092, 0.000394, 0.004815> + 16809: <-0.007069, 0.000786, 0.004800> + 16810: <-0.007275, 0.000792, 0.004446> + 16811: <-0.007298, 0.000397, 0.004460> + 16812: <-0.007069, 0.000786, 0.004800> + 16813: <-0.007032, 0.001176, 0.004776> + 16814: <-0.007236, 0.001185, 0.004424> + 16815: <-0.007275, 0.000792, 0.004446> + 16816: <-0.007032, 0.001176, 0.004776> + 16817: <-0.006980, 0.001561, 0.004744> + 16818: <-0.007183, 0.001574, 0.004395> + 16819: <-0.007236, 0.001185, 0.004424> + 16820: <-0.006980, 0.001561, 0.004744> + 16821: <-0.006915, 0.001940, 0.004705> + 16822: <-0.007115, 0.001957, 0.004360> + 16823: <-0.007183, 0.001574, 0.004395> + 16824: <-0.006915, 0.001940, 0.004705> + 16825: <-0.006836, 0.002313, 0.004659> + 16826: <-0.007033, 0.002333, 0.004318> + 16827: <-0.007115, 0.001957, 0.004360> + 16828: <-0.006836, 0.002313, 0.004659> + 16829: <-0.006745, 0.002676, 0.004609> + 16830: <-0.006937, 0.002701, 0.004273> + 16831: <-0.007033, 0.002333, 0.004318> + 16832: <-0.006745, 0.002676, 0.004609> + 16833: <-0.006641, 0.003030, 0.004553> + 16834: <-0.006828, 0.003060, 0.004223> + 16835: <-0.006937, 0.002701, 0.004273> + 16836: <-0.006641, 0.003030, 0.004553> + 16837: <-0.006525, 0.003372, 0.004494> + 16838: <-0.006705, 0.003407, 0.004170> + 16839: <-0.006828, 0.003060, 0.004223> + 16840: <-0.006525, 0.003372, 0.004494> + 16841: <-0.006397, 0.003701, 0.004434> + 16842: <-0.006570, 0.003743, 0.004117> + 16843: <-0.006705, 0.003407, 0.004170> + 16844: <-0.006397, 0.003701, 0.004434> + 16845: <-0.006257, 0.004017, 0.004374> + 16846: <-0.006421, 0.004065, 0.004065> + 16847: <-0.006570, 0.003743, 0.004117> + 16848: <-0.006257, 0.004017, 0.004374> + 16849: <-0.006105, 0.004318, 0.004318> + 16850: <-0.006257, 0.004374, 0.004017> + 16851: <-0.006421, 0.004065, 0.004065> + 16852: <-0.006105, 0.004318, 0.004318> + 16853: <-0.005939, 0.004602, 0.004267> + 16854: <-0.006080, 0.004668, 0.003975> + 16855: <-0.006257, 0.004374, 0.004017> + 16856: <-0.005939, 0.004602, 0.004267> + 16857: <-0.005760, 0.004870, 0.004226> + 16858: <-0.005887, 0.004946, 0.003941> + 16859: <-0.006080, 0.004668, 0.003975> + 16860: <-0.005760, 0.004870, 0.004226> + 16861: <-0.005564, 0.005120, 0.004199> + 16862: <-0.005678, 0.005207, 0.003918> + 16863: <-0.005887, 0.004946, 0.003941> + 16864: <-0.005678, -0.005207, 0.003918> + 16865: <-0.005887, -0.004946, 0.003941> + 16866: <-0.006006, -0.005023, 0.003637> + 16867: <-0.005786, -0.005294, 0.003619> + 16868: <-0.005887, -0.004946, 0.003941> + 16869: <-0.006080, -0.004668, 0.003975> + 16870: <-0.006210, -0.004736, 0.003666> + 16871: <-0.006006, -0.005023, 0.003637> + 16872: <-0.006080, -0.004668, 0.003975> + 16873: <-0.006257, -0.004374, 0.004017> + 16874: <-0.006397, -0.004434, 0.003701> + 16875: <-0.006210, -0.004736, 0.003666> + 16876: <-0.006257, -0.004374, 0.004017> + 16877: <-0.006421, -0.004065, 0.004065> + 16878: <-0.006570, -0.004117, 0.003743> + 16879: <-0.006397, -0.004434, 0.003701> + 16880: <-0.006421, -0.004065, 0.004065> + 16881: <-0.006570, -0.003743, 0.004117> + 16882: <-0.006727, -0.003788, 0.003788> + 16883: <-0.006570, -0.004117, 0.003743> + 16884: <-0.006570, -0.003743, 0.004117> + 16885: <-0.006705, -0.003407, 0.004170> + 16886: <-0.006870, -0.003446, 0.003834> + 16887: <-0.006727, -0.003788, 0.003788> + 16888: <-0.006705, -0.003407, 0.004170> + 16889: <-0.006828, -0.003060, 0.004223> + 16890: <-0.006998, -0.003093, 0.003880> + 16891: <-0.006870, -0.003446, 0.003834> + 16892: <-0.006828, -0.003060, 0.004223> + 16893: <-0.006937, -0.002701, 0.004273> + 16894: <-0.007112, -0.002729, 0.003924> + 16895: <-0.006998, -0.003093, 0.003880> + 16896: <-0.006937, -0.002701, 0.004273> + 16897: <-0.007033, -0.002333, 0.004318> + 16898: <-0.007212, -0.002356, 0.003965> + 16899: <-0.007112, -0.002729, 0.003924> + 16900: <-0.007033, -0.002333, 0.004318> + 16901: <-0.007115, -0.001957, 0.004360> + 16902: <-0.007297, -0.001975, 0.004002> + 16903: <-0.007212, -0.002356, 0.003965> + 16904: <-0.007115, -0.001957, 0.004360> + 16905: <-0.007183, -0.001574, 0.004395> + 16906: <-0.007367, -0.001588, 0.004034> + 16907: <-0.007297, -0.001975, 0.004002> + 16908: <-0.007183, -0.001574, 0.004395> + 16909: <-0.007236, -0.001185, 0.004424> + 16910: <-0.007423, -0.001196, 0.004061> + 16911: <-0.007367, -0.001588, 0.004034> + 16912: <-0.007236, -0.001185, 0.004424> + 16913: <-0.007275, -0.000792, 0.004446> + 16914: <-0.007462, -0.000799, 0.004081> + 16915: <-0.007423, -0.001196, 0.004061> + 16916: <-0.007275, -0.000792, 0.004446> + 16917: <-0.007298, -0.000397, 0.004460> + 16918: <-0.007487, -0.000400, 0.004093> + 16919: <-0.007462, -0.000799, 0.004081> + 16920: <-0.007298, -0.000397, 0.004460> + 16921: <-0.007306, -0.000000, 0.004465> + 16922: <-0.007495, -0.000000, 0.004098> + 16923: <-0.007487, -0.000400, 0.004093> + 16924: <-0.007306, -0.000000, 0.004465> + 16925: <-0.007298, 0.000397, 0.004460> + 16926: <-0.007487, 0.000400, 0.004093> + 16927: <-0.007495, -0.000000, 0.004098> + 16928: <-0.007298, 0.000397, 0.004460> + 16929: <-0.007275, 0.000792, 0.004446> + 16930: <-0.007462, 0.000799, 0.004081> + 16931: <-0.007487, 0.000400, 0.004093> + 16932: <-0.007275, 0.000792, 0.004446> + 16933: <-0.007236, 0.001185, 0.004424> + 16934: <-0.007423, 0.001196, 0.004061> + 16935: <-0.007462, 0.000799, 0.004081> + 16936: <-0.007236, 0.001185, 0.004424> + 16937: <-0.007183, 0.001574, 0.004395> + 16938: <-0.007367, 0.001588, 0.004034> + 16939: <-0.007423, 0.001196, 0.004061> + 16940: <-0.007183, 0.001574, 0.004395> + 16941: <-0.007115, 0.001957, 0.004360> + 16942: <-0.007297, 0.001975, 0.004002> + 16943: <-0.007367, 0.001588, 0.004034> + 16944: <-0.007115, 0.001957, 0.004360> + 16945: <-0.007033, 0.002333, 0.004318> + 16946: <-0.007212, 0.002356, 0.003965> + 16947: <-0.007297, 0.001975, 0.004002> + 16948: <-0.007033, 0.002333, 0.004318> + 16949: <-0.006937, 0.002701, 0.004273> + 16950: <-0.007112, 0.002729, 0.003924> + 16951: <-0.007212, 0.002356, 0.003965> + 16952: <-0.006937, 0.002701, 0.004273> + 16953: <-0.006828, 0.003060, 0.004223> + 16954: <-0.006998, 0.003093, 0.003880> + 16955: <-0.007112, 0.002729, 0.003924> + 16956: <-0.006828, 0.003060, 0.004223> + 16957: <-0.006705, 0.003407, 0.004170> + 16958: <-0.006870, 0.003446, 0.003834> + 16959: <-0.006998, 0.003093, 0.003880> + 16960: <-0.006705, 0.003407, 0.004170> + 16961: <-0.006570, 0.003743, 0.004117> + 16962: <-0.006727, 0.003788, 0.003788> + 16963: <-0.006870, 0.003446, 0.003834> + 16964: <-0.006570, 0.003743, 0.004117> + 16965: <-0.006421, 0.004065, 0.004065> + 16966: <-0.006570, 0.004117, 0.003743> + 16967: <-0.006727, 0.003788, 0.003788> + 16968: <-0.006421, 0.004065, 0.004065> + 16969: <-0.006257, 0.004374, 0.004017> + 16970: <-0.006397, 0.004434, 0.003701> + 16971: <-0.006570, 0.004117, 0.003743> + 16972: <-0.006257, 0.004374, 0.004017> + 16973: <-0.006080, 0.004668, 0.003975> + 16974: <-0.006210, 0.004736, 0.003666> + 16975: <-0.006397, 0.004434, 0.003701> + 16976: <-0.006080, 0.004668, 0.003975> + 16977: <-0.005887, 0.004946, 0.003941> + 16978: <-0.006006, 0.005023, 0.003637> + 16979: <-0.006210, 0.004736, 0.003666> + 16980: <-0.005887, 0.004946, 0.003941> + 16981: <-0.005678, 0.005207, 0.003918> + 16982: <-0.005786, 0.005294, 0.003619> + 16983: <-0.006006, 0.005023, 0.003637> + 16984: <-0.005786, -0.005294, 0.003619> + 16985: <-0.006006, -0.005023, 0.003637> + 16986: <-0.006117, -0.005099, 0.003318> + 16987: <-0.005888, -0.005379, 0.003302> + 16988: <-0.006006, -0.005023, 0.003637> + 16989: <-0.006210, -0.004736, 0.003666> + 16990: <-0.006329, -0.004804, 0.003342> + 16991: <-0.006117, -0.005099, 0.003318> + 16992: <-0.006210, -0.004736, 0.003666> + 16993: <-0.006397, -0.004434, 0.003701> + 16994: <-0.006525, -0.004494, 0.003372> + 16995: <-0.006329, -0.004804, 0.003342> + 16996: <-0.006397, -0.004434, 0.003701> + 16997: <-0.006570, -0.004117, 0.003743> + 16998: <-0.006705, -0.004170, 0.003407> + 16999: <-0.006525, -0.004494, 0.003372> + 17000: <-0.006570, -0.004117, 0.003743> + 17001: <-0.006727, -0.003788, 0.003788> + 17002: <-0.006870, -0.003834, 0.003446> + 17003: <-0.006705, -0.004170, 0.003407> + 17004: <-0.006727, -0.003788, 0.003788> + 17005: <-0.006870, -0.003446, 0.003834> + 17006: <-0.007018, -0.003486, 0.003486> + 17007: <-0.006870, -0.003834, 0.003446> + 17008: <-0.006870, -0.003446, 0.003834> + 17009: <-0.006998, -0.003093, 0.003880> + 17010: <-0.007152, -0.003127, 0.003526> + 17011: <-0.007018, -0.003486, 0.003486> + 17012: <-0.006998, -0.003093, 0.003880> + 17013: <-0.007112, -0.002729, 0.003924> + 17014: <-0.007270, -0.002758, 0.003565> + 17015: <-0.007152, -0.003127, 0.003526> + 17016: <-0.007112, -0.002729, 0.003924> + 17017: <-0.007212, -0.002356, 0.003965> + 17018: <-0.007374, -0.002380, 0.003601> + 17019: <-0.007270, -0.002758, 0.003565> + 17020: <-0.007212, -0.002356, 0.003965> + 17021: <-0.007297, -0.001975, 0.004002> + 17022: <-0.007462, -0.001995, 0.003634> + 17023: <-0.007374, -0.002380, 0.003601> + 17024: <-0.007297, -0.001975, 0.004002> + 17025: <-0.007367, -0.001588, 0.004034> + 17026: <-0.007535, -0.001603, 0.003663> + 17027: <-0.007462, -0.001995, 0.003634> + 17028: <-0.007367, -0.001588, 0.004034> + 17029: <-0.007423, -0.001196, 0.004061> + 17030: <-0.007591, -0.001207, 0.003686> + 17031: <-0.007535, -0.001603, 0.003663> + 17032: <-0.007423, -0.001196, 0.004061> + 17033: <-0.007462, -0.000799, 0.004081> + 17034: <-0.007632, -0.000807, 0.003704> + 17035: <-0.007591, -0.001207, 0.003686> + 17036: <-0.007462, -0.000799, 0.004081> + 17037: <-0.007487, -0.000400, 0.004093> + 17038: <-0.007657, -0.000404, 0.003716> + 17039: <-0.007632, -0.000807, 0.003704> + 17040: <-0.007487, -0.000400, 0.004093> + 17041: <-0.007495, -0.000000, 0.004098> + 17042: <-0.007665, -0.000000, 0.003720> + 17043: <-0.007657, -0.000404, 0.003716> + 17044: <-0.007495, -0.000000, 0.004098> + 17045: <-0.007487, 0.000400, 0.004093> + 17046: <-0.007657, 0.000404, 0.003716> + 17047: <-0.007665, -0.000000, 0.003720> + 17048: <-0.007487, 0.000400, 0.004093> + 17049: <-0.007462, 0.000799, 0.004081> + 17050: <-0.007632, 0.000807, 0.003704> + 17051: <-0.007657, 0.000404, 0.003716> + 17052: <-0.007462, 0.000799, 0.004081> + 17053: <-0.007423, 0.001196, 0.004061> + 17054: <-0.007591, 0.001207, 0.003686> + 17055: <-0.007632, 0.000807, 0.003704> + 17056: <-0.007423, 0.001196, 0.004061> + 17057: <-0.007367, 0.001588, 0.004034> + 17058: <-0.007535, 0.001603, 0.003663> + 17059: <-0.007591, 0.001207, 0.003686> + 17060: <-0.007367, 0.001588, 0.004034> + 17061: <-0.007297, 0.001975, 0.004002> + 17062: <-0.007462, 0.001995, 0.003634> + 17063: <-0.007535, 0.001603, 0.003663> + 17064: <-0.007297, 0.001975, 0.004002> + 17065: <-0.007212, 0.002356, 0.003965> + 17066: <-0.007374, 0.002380, 0.003601> + 17067: <-0.007462, 0.001995, 0.003634> + 17068: <-0.007212, 0.002356, 0.003965> + 17069: <-0.007112, 0.002729, 0.003924> + 17070: <-0.007270, 0.002758, 0.003565> + 17071: <-0.007374, 0.002380, 0.003601> + 17072: <-0.007112, 0.002729, 0.003924> + 17073: <-0.006998, 0.003093, 0.003880> + 17074: <-0.007152, 0.003127, 0.003526> + 17075: <-0.007270, 0.002758, 0.003565> + 17076: <-0.006998, 0.003093, 0.003880> + 17077: <-0.006870, 0.003446, 0.003834> + 17078: <-0.007018, 0.003486, 0.003486> + 17079: <-0.007152, 0.003127, 0.003526> + 17080: <-0.006870, 0.003446, 0.003834> + 17081: <-0.006727, 0.003788, 0.003788> + 17082: <-0.006870, 0.003834, 0.003446> + 17083: <-0.007018, 0.003486, 0.003486> + 17084: <-0.006727, 0.003788, 0.003788> + 17085: <-0.006570, 0.004117, 0.003743> + 17086: <-0.006705, 0.004170, 0.003407> + 17087: <-0.006870, 0.003834, 0.003446> + 17088: <-0.006570, 0.004117, 0.003743> + 17089: <-0.006397, 0.004434, 0.003701> + 17090: <-0.006525, 0.004494, 0.003372> + 17091: <-0.006705, 0.004170, 0.003407> + 17092: <-0.006397, 0.004434, 0.003701> + 17093: <-0.006210, 0.004736, 0.003666> + 17094: <-0.006329, 0.004804, 0.003342> + 17095: <-0.006525, 0.004494, 0.003372> + 17096: <-0.006210, 0.004736, 0.003666> + 17097: <-0.006006, 0.005023, 0.003637> + 17098: <-0.006117, 0.005099, 0.003318> + 17099: <-0.006329, 0.004804, 0.003342> + 17100: <-0.006006, 0.005023, 0.003637> + 17101: <-0.005786, 0.005294, 0.003619> + 17102: <-0.005888, 0.005379, 0.003302> + 17103: <-0.006117, 0.005099, 0.003318> + 17104: <-0.005888, -0.005379, 0.003302> + 17105: <-0.006117, -0.005099, 0.003318> + 17106: <-0.006219, -0.005172, 0.002984> + 17107: <-0.005983, -0.005459, 0.002971> + 17108: <-0.006117, -0.005099, 0.003318> + 17109: <-0.006329, -0.004804, 0.003342> + 17110: <-0.006439, -0.004870, 0.003004> + 17111: <-0.006219, -0.005172, 0.002984> + 17112: <-0.006329, -0.004804, 0.003342> + 17113: <-0.006525, -0.004494, 0.003372> + 17114: <-0.006641, -0.004553, 0.003030> + 17115: <-0.006439, -0.004870, 0.003004> + 17116: <-0.006525, -0.004494, 0.003372> + 17117: <-0.006705, -0.004170, 0.003407> + 17118: <-0.006828, -0.004223, 0.003060> + 17119: <-0.006641, -0.004553, 0.003030> + 17120: <-0.006705, -0.004170, 0.003407> + 17121: <-0.006870, -0.003834, 0.003446> + 17122: <-0.006998, -0.003880, 0.003093> + 17123: <-0.006828, -0.004223, 0.003060> + 17124: <-0.006870, -0.003834, 0.003446> + 17125: <-0.007018, -0.003486, 0.003486> + 17126: <-0.007152, -0.003526, 0.003127> + 17127: <-0.006998, -0.003880, 0.003093> + 17128: <-0.007018, -0.003486, 0.003486> + 17129: <-0.007152, -0.003127, 0.003526> + 17130: <-0.007290, -0.003162, 0.003162> + 17131: <-0.007152, -0.003526, 0.003127> + 17132: <-0.007152, -0.003127, 0.003526> + 17133: <-0.007270, -0.002758, 0.003565> + 17134: <-0.007412, -0.002787, 0.003195> + 17135: <-0.007290, -0.003162, 0.003162> + 17136: <-0.007270, -0.002758, 0.003565> + 17137: <-0.007374, -0.002380, 0.003601> + 17138: <-0.007519, -0.002405, 0.003227> + 17139: <-0.007412, -0.002787, 0.003195> + 17140: <-0.007374, -0.002380, 0.003601> + 17141: <-0.007462, -0.001995, 0.003634> + 17142: <-0.007610, -0.002015, 0.003255> + 17143: <-0.007519, -0.002405, 0.003227> + 17144: <-0.007462, -0.001995, 0.003634> + 17145: <-0.007535, -0.001603, 0.003663> + 17146: <-0.007684, -0.001619, 0.003281> + 17147: <-0.007610, -0.002015, 0.003255> + 17148: <-0.007535, -0.001603, 0.003663> + 17149: <-0.007591, -0.001207, 0.003686> + 17150: <-0.007743, -0.001219, 0.003302> + 17151: <-0.007684, -0.001619, 0.003281> + 17152: <-0.007591, -0.001207, 0.003686> + 17153: <-0.007632, -0.000807, 0.003704> + 17154: <-0.007785, -0.000814, 0.003318> + 17155: <-0.007743, -0.001219, 0.003302> + 17156: <-0.007632, -0.000807, 0.003704> + 17157: <-0.007657, -0.000404, 0.003716> + 17158: <-0.007810, -0.000408, 0.003328> + 17159: <-0.007785, -0.000814, 0.003318> + 17160: <-0.007657, -0.000404, 0.003716> + 17161: <-0.007665, -0.000000, 0.003720> + 17162: <-0.007818, -0.000000, 0.003331> + 17163: <-0.007810, -0.000408, 0.003328> + 17164: <-0.007665, -0.000000, 0.003720> + 17165: <-0.007657, 0.000404, 0.003716> + 17166: <-0.007810, 0.000408, 0.003328> + 17167: <-0.007818, -0.000000, 0.003331> + 17168: <-0.007657, 0.000404, 0.003716> + 17169: <-0.007632, 0.000807, 0.003704> + 17170: <-0.007785, 0.000814, 0.003318> + 17171: <-0.007810, 0.000408, 0.003328> + 17172: <-0.007632, 0.000807, 0.003704> + 17173: <-0.007591, 0.001207, 0.003686> + 17174: <-0.007743, 0.001219, 0.003302> + 17175: <-0.007785, 0.000814, 0.003318> + 17176: <-0.007591, 0.001207, 0.003686> + 17177: <-0.007535, 0.001603, 0.003663> + 17178: <-0.007684, 0.001619, 0.003281> + 17179: <-0.007743, 0.001219, 0.003302> + 17180: <-0.007535, 0.001603, 0.003663> + 17181: <-0.007462, 0.001995, 0.003634> + 17182: <-0.007610, 0.002015, 0.003255> + 17183: <-0.007684, 0.001619, 0.003281> + 17184: <-0.007462, 0.001995, 0.003634> + 17185: <-0.007374, 0.002380, 0.003601> + 17186: <-0.007519, 0.002405, 0.003227> + 17187: <-0.007610, 0.002015, 0.003255> + 17188: <-0.007374, 0.002380, 0.003601> + 17189: <-0.007270, 0.002758, 0.003565> + 17190: <-0.007412, 0.002787, 0.003195> + 17191: <-0.007519, 0.002405, 0.003227> + 17192: <-0.007270, 0.002758, 0.003565> + 17193: <-0.007152, 0.003127, 0.003526> + 17194: <-0.007290, 0.003162, 0.003162> + 17195: <-0.007412, 0.002787, 0.003195> + 17196: <-0.007152, 0.003127, 0.003526> + 17197: <-0.007018, 0.003486, 0.003486> + 17198: <-0.007152, 0.003526, 0.003127> + 17199: <-0.007290, 0.003162, 0.003162> + 17200: <-0.007018, 0.003486, 0.003486> + 17201: <-0.006870, 0.003834, 0.003446> + 17202: <-0.006998, 0.003880, 0.003093> + 17203: <-0.007152, 0.003526, 0.003127> + 17204: <-0.006870, 0.003834, 0.003446> + 17205: <-0.006705, 0.004170, 0.003407> + 17206: <-0.006828, 0.004223, 0.003060> + 17207: <-0.006998, 0.003880, 0.003093> + 17208: <-0.006705, 0.004170, 0.003407> + 17209: <-0.006525, 0.004494, 0.003372> + 17210: <-0.006641, 0.004553, 0.003030> + 17211: <-0.006828, 0.004223, 0.003060> + 17212: <-0.006525, 0.004494, 0.003372> + 17213: <-0.006329, 0.004804, 0.003342> + 17214: <-0.006439, 0.004870, 0.003004> + 17215: <-0.006641, 0.004553, 0.003030> + 17216: <-0.006329, 0.004804, 0.003342> + 17217: <-0.006117, 0.005099, 0.003318> + 17218: <-0.006219, 0.005172, 0.002984> + 17219: <-0.006439, 0.004870, 0.003004> + 17220: <-0.006117, 0.005099, 0.003318> + 17221: <-0.005888, 0.005379, 0.003302> + 17222: <-0.005983, 0.005459, 0.002971> + 17223: <-0.006219, 0.005172, 0.002984> + 17224: <-0.005983, -0.005459, 0.002971> + 17225: <-0.006219, -0.005172, 0.002984> + 17226: <-0.006311, -0.005240, 0.002638> + 17227: <-0.006069, -0.005533, 0.002627> + 17228: <-0.006219, -0.005172, 0.002984> + 17229: <-0.006439, -0.004870, 0.003004> + 17230: <-0.006537, -0.004931, 0.002655> + 17231: <-0.006311, -0.005240, 0.002638> + 17232: <-0.006439, -0.004870, 0.003004> + 17233: <-0.006641, -0.004553, 0.003030> + 17234: <-0.006745, -0.004609, 0.002676> + 17235: <-0.006537, -0.004931, 0.002655> + 17236: <-0.006641, -0.004553, 0.003030> + 17237: <-0.006828, -0.004223, 0.003060> + 17238: <-0.006937, -0.004273, 0.002701> + 17239: <-0.006745, -0.004609, 0.002676> + 17240: <-0.006828, -0.004223, 0.003060> + 17241: <-0.006998, -0.003880, 0.003093> + 17242: <-0.007112, -0.003924, 0.002729> + 17243: <-0.006937, -0.004273, 0.002701> + 17244: <-0.006998, -0.003880, 0.003093> + 17245: <-0.007152, -0.003526, 0.003127> + 17246: <-0.007270, -0.003565, 0.002758> + 17247: <-0.007112, -0.003924, 0.002729> + 17248: <-0.007152, -0.003526, 0.003127> + 17249: <-0.007290, -0.003162, 0.003162> + 17250: <-0.007412, -0.003195, 0.002787> + 17251: <-0.007270, -0.003565, 0.002758> + 17252: <-0.007290, -0.003162, 0.003162> + 17253: <-0.007412, -0.002787, 0.003195> + 17254: <-0.007538, -0.002816, 0.002816> + 17255: <-0.007412, -0.003195, 0.002787> + 17256: <-0.007412, -0.002787, 0.003195> + 17257: <-0.007519, -0.002405, 0.003227> + 17258: <-0.007648, -0.002429, 0.002843> + 17259: <-0.007538, -0.002816, 0.002816> + 17260: <-0.007519, -0.002405, 0.003227> + 17261: <-0.007610, -0.002015, 0.003255> + 17262: <-0.007740, -0.002035, 0.002868> + 17263: <-0.007648, -0.002429, 0.002843> + 17264: <-0.007610, -0.002015, 0.003255> + 17265: <-0.007684, -0.001619, 0.003281> + 17266: <-0.007817, -0.001635, 0.002890> + 17267: <-0.007740, -0.002035, 0.002868> + 17268: <-0.007684, -0.001619, 0.003281> + 17269: <-0.007743, -0.001219, 0.003302> + 17270: <-0.007876, -0.001230, 0.002908> + 17271: <-0.007817, -0.001635, 0.002890> + 17272: <-0.007743, -0.001219, 0.003302> + 17273: <-0.007785, -0.000814, 0.003318> + 17274: <-0.007919, -0.000822, 0.002922> + 17275: <-0.007876, -0.001230, 0.002908> + 17276: <-0.007785, -0.000814, 0.003318> + 17277: <-0.007810, -0.000408, 0.003328> + 17278: <-0.007945, -0.000412, 0.002931> + 17279: <-0.007919, -0.000822, 0.002922> + 17280: <-0.007810, -0.000408, 0.003328> + 17281: <-0.007818, -0.000000, 0.003331> + 17282: <-0.007953, -0.000000, 0.002934> + 17283: <-0.007945, -0.000412, 0.002931> + 17284: <-0.007818, -0.000000, 0.003331> + 17285: <-0.007810, 0.000408, 0.003328> + 17286: <-0.007945, 0.000412, 0.002931> + 17287: <-0.007953, -0.000000, 0.002934> + 17288: <-0.007810, 0.000408, 0.003328> + 17289: <-0.007785, 0.000814, 0.003318> + 17290: <-0.007919, 0.000822, 0.002922> + 17291: <-0.007945, 0.000412, 0.002931> + 17292: <-0.007785, 0.000814, 0.003318> + 17293: <-0.007743, 0.001219, 0.003302> + 17294: <-0.007876, 0.001230, 0.002908> + 17295: <-0.007919, 0.000822, 0.002922> + 17296: <-0.007743, 0.001219, 0.003302> + 17297: <-0.007684, 0.001619, 0.003281> + 17298: <-0.007817, 0.001635, 0.002890> + 17299: <-0.007876, 0.001230, 0.002908> + 17300: <-0.007684, 0.001619, 0.003281> + 17301: <-0.007610, 0.002015, 0.003255> + 17302: <-0.007740, 0.002035, 0.002868> + 17303: <-0.007817, 0.001635, 0.002890> + 17304: <-0.007610, 0.002015, 0.003255> + 17305: <-0.007519, 0.002405, 0.003227> + 17306: <-0.007648, 0.002429, 0.002843> + 17307: <-0.007740, 0.002035, 0.002868> + 17308: <-0.007519, 0.002405, 0.003227> + 17309: <-0.007412, 0.002787, 0.003195> + 17310: <-0.007538, 0.002816, 0.002816> + 17311: <-0.007648, 0.002429, 0.002843> + 17312: <-0.007412, 0.002787, 0.003195> + 17313: <-0.007290, 0.003162, 0.003162> + 17314: <-0.007412, 0.003195, 0.002787> + 17315: <-0.007538, 0.002816, 0.002816> + 17316: <-0.007290, 0.003162, 0.003162> + 17317: <-0.007152, 0.003526, 0.003127> + 17318: <-0.007270, 0.003565, 0.002758> + 17319: <-0.007412, 0.003195, 0.002787> + 17320: <-0.007152, 0.003526, 0.003127> + 17321: <-0.006998, 0.003880, 0.003093> + 17322: <-0.007112, 0.003924, 0.002729> + 17323: <-0.007270, 0.003565, 0.002758> + 17324: <-0.006998, 0.003880, 0.003093> + 17325: <-0.006828, 0.004223, 0.003060> + 17326: <-0.006937, 0.004273, 0.002701> + 17327: <-0.007112, 0.003924, 0.002729> + 17328: <-0.006828, 0.004223, 0.003060> + 17329: <-0.006641, 0.004553, 0.003030> + 17330: <-0.006745, 0.004609, 0.002676> + 17331: <-0.006937, 0.004273, 0.002701> + 17332: <-0.006641, 0.004553, 0.003030> + 17333: <-0.006439, 0.004870, 0.003004> + 17334: <-0.006537, 0.004931, 0.002655> + 17335: <-0.006745, 0.004609, 0.002676> + 17336: <-0.006439, 0.004870, 0.003004> + 17337: <-0.006219, 0.005172, 0.002984> + 17338: <-0.006311, 0.005240, 0.002638> + 17339: <-0.006537, 0.004931, 0.002655> + 17340: <-0.006219, 0.005172, 0.002984> + 17341: <-0.005983, 0.005459, 0.002971> + 17342: <-0.006069, 0.005533, 0.002627> + 17343: <-0.006311, 0.005240, 0.002638> + 17344: <-0.006069, -0.005533, 0.002627> + 17345: <-0.006311, -0.005240, 0.002638> + 17346: <-0.006393, -0.005301, 0.002281> + 17347: <-0.006146, -0.005599, 0.002272> + 17348: <-0.006311, -0.005240, 0.002638> + 17349: <-0.006537, -0.004931, 0.002655> + 17350: <-0.006623, -0.004987, 0.002295> + 17351: <-0.006393, -0.005301, 0.002281> + 17352: <-0.006537, -0.004931, 0.002655> + 17353: <-0.006745, -0.004609, 0.002676> + 17354: <-0.006836, -0.004659, 0.002313> + 17355: <-0.006623, -0.004987, 0.002295> + 17356: <-0.006745, -0.004609, 0.002676> + 17357: <-0.006937, -0.004273, 0.002701> + 17358: <-0.007033, -0.004318, 0.002333> + 17359: <-0.006836, -0.004659, 0.002313> + 17360: <-0.006937, -0.004273, 0.002701> + 17361: <-0.007112, -0.003924, 0.002729> + 17362: <-0.007212, -0.003965, 0.002356> + 17363: <-0.007033, -0.004318, 0.002333> + 17364: <-0.007112, -0.003924, 0.002729> + 17365: <-0.007270, -0.003565, 0.002758> + 17366: <-0.007374, -0.003601, 0.002380> + 17367: <-0.007212, -0.003965, 0.002356> + 17368: <-0.007270, -0.003565, 0.002758> + 17369: <-0.007412, -0.003195, 0.002787> + 17370: <-0.007519, -0.003227, 0.002405> + 17371: <-0.007374, -0.003601, 0.002380> + 17372: <-0.007412, -0.003195, 0.002787> + 17373: <-0.007538, -0.002816, 0.002816> + 17374: <-0.007648, -0.002843, 0.002429> + 17375: <-0.007519, -0.003227, 0.002405> + 17376: <-0.007538, -0.002816, 0.002816> + 17377: <-0.007648, -0.002429, 0.002843> + 17378: <-0.007759, -0.002452, 0.002452> + 17379: <-0.007648, -0.002843, 0.002429> + 17380: <-0.007648, -0.002429, 0.002843> + 17381: <-0.007740, -0.002035, 0.002868> + 17382: <-0.007854, -0.002053, 0.002473> + 17383: <-0.007759, -0.002452, 0.002452> + 17384: <-0.007740, -0.002035, 0.002868> + 17385: <-0.007817, -0.001635, 0.002890> + 17386: <-0.007932, -0.001650, 0.002492> + 17387: <-0.007854, -0.002053, 0.002473> + 17388: <-0.007817, -0.001635, 0.002890> + 17389: <-0.007876, -0.001230, 0.002908> + 17390: <-0.007992, -0.001241, 0.002507> + 17391: <-0.007932, -0.001650, 0.002492> + 17392: <-0.007876, -0.001230, 0.002908> + 17393: <-0.007919, -0.000822, 0.002922> + 17394: <-0.008036, -0.000829, 0.002519> + 17395: <-0.007992, -0.001241, 0.002507> + 17396: <-0.007919, -0.000822, 0.002922> + 17397: <-0.007945, -0.000412, 0.002931> + 17398: <-0.008062, -0.000415, 0.002527> + 17399: <-0.008036, -0.000829, 0.002519> + 17400: <-0.007945, -0.000412, 0.002931> + 17401: <-0.007953, -0.000000, 0.002934> + 17402: <-0.008070, -0.000000, 0.002530> + 17403: <-0.008062, -0.000415, 0.002527> + 17404: <-0.007953, -0.000000, 0.002934> + 17405: <-0.007945, 0.000412, 0.002931> + 17406: <-0.008062, 0.000415, 0.002527> + 17407: <-0.008070, -0.000000, 0.002530> + 17408: <-0.007945, 0.000412, 0.002931> + 17409: <-0.007919, 0.000822, 0.002922> + 17410: <-0.008036, 0.000829, 0.002519> + 17411: <-0.008062, 0.000415, 0.002527> + 17412: <-0.007919, 0.000822, 0.002922> + 17413: <-0.007876, 0.001230, 0.002908> + 17414: <-0.007992, 0.001241, 0.002507> + 17415: <-0.008036, 0.000829, 0.002519> + 17416: <-0.007876, 0.001230, 0.002908> + 17417: <-0.007817, 0.001635, 0.002890> + 17418: <-0.007932, 0.001650, 0.002492> + 17419: <-0.007992, 0.001241, 0.002507> + 17420: <-0.007817, 0.001635, 0.002890> + 17421: <-0.007740, 0.002035, 0.002868> + 17422: <-0.007854, 0.002053, 0.002473> + 17423: <-0.007932, 0.001650, 0.002492> + 17424: <-0.007740, 0.002035, 0.002868> + 17425: <-0.007648, 0.002429, 0.002843> + 17426: <-0.007759, 0.002452, 0.002452> + 17427: <-0.007854, 0.002053, 0.002473> + 17428: <-0.007648, 0.002429, 0.002843> + 17429: <-0.007538, 0.002816, 0.002816> + 17430: <-0.007648, 0.002843, 0.002429> + 17431: <-0.007759, 0.002452, 0.002452> + 17432: <-0.007538, 0.002816, 0.002816> + 17433: <-0.007412, 0.003195, 0.002787> + 17434: <-0.007519, 0.003227, 0.002405> + 17435: <-0.007648, 0.002843, 0.002429> + 17436: <-0.007412, 0.003195, 0.002787> + 17437: <-0.007270, 0.003565, 0.002758> + 17438: <-0.007374, 0.003601, 0.002380> + 17439: <-0.007519, 0.003227, 0.002405> + 17440: <-0.007270, 0.003565, 0.002758> + 17441: <-0.007112, 0.003924, 0.002729> + 17442: <-0.007212, 0.003965, 0.002356> + 17443: <-0.007374, 0.003601, 0.002380> + 17444: <-0.007112, 0.003924, 0.002729> + 17445: <-0.006937, 0.004273, 0.002701> + 17446: <-0.007033, 0.004318, 0.002333> + 17447: <-0.007212, 0.003965, 0.002356> + 17448: <-0.006937, 0.004273, 0.002701> + 17449: <-0.006745, 0.004609, 0.002676> + 17450: <-0.006836, 0.004659, 0.002313> + 17451: <-0.007033, 0.004318, 0.002333> + 17452: <-0.006745, 0.004609, 0.002676> + 17453: <-0.006537, 0.004931, 0.002655> + 17454: <-0.006623, 0.004987, 0.002295> + 17455: <-0.006836, 0.004659, 0.002313> + 17456: <-0.006537, 0.004931, 0.002655> + 17457: <-0.006311, 0.005240, 0.002638> + 17458: <-0.006393, 0.005301, 0.002281> + 17459: <-0.006623, 0.004987, 0.002295> + 17460: <-0.006311, 0.005240, 0.002638> + 17461: <-0.006069, 0.005533, 0.002627> + 17462: <-0.006146, 0.005599, 0.002272> + 17463: <-0.006393, 0.005301, 0.002281> + 17464: <-0.006146, -0.005599, 0.002272> + 17465: <-0.006393, -0.005301, 0.002281> + 17466: <-0.006464, -0.005355, 0.001915> + 17467: <-0.006212, -0.005657, 0.001908> + 17468: <-0.006393, -0.005301, 0.002281> + 17469: <-0.006623, -0.004987, 0.002295> + 17470: <-0.006698, -0.005037, 0.001926> + 17471: <-0.006464, -0.005355, 0.001915> + 17472: <-0.006623, -0.004987, 0.002295> + 17473: <-0.006836, -0.004659, 0.002313> + 17474: <-0.006915, -0.004705, 0.001940> + 17475: <-0.006698, -0.005037, 0.001926> + 17476: <-0.006836, -0.004659, 0.002313> + 17477: <-0.007033, -0.004318, 0.002333> + 17478: <-0.007115, -0.004360, 0.001957> + 17479: <-0.006915, -0.004705, 0.001940> + 17480: <-0.007033, -0.004318, 0.002333> + 17481: <-0.007212, -0.003965, 0.002356> + 17482: <-0.007297, -0.004002, 0.001975> + 17483: <-0.007115, -0.004360, 0.001957> + 17484: <-0.007212, -0.003965, 0.002356> + 17485: <-0.007374, -0.003601, 0.002380> + 17486: <-0.007462, -0.003634, 0.001995> + 17487: <-0.007297, -0.004002, 0.001975> + 17488: <-0.007374, -0.003601, 0.002380> + 17489: <-0.007519, -0.003227, 0.002405> + 17490: <-0.007610, -0.003255, 0.002015> + 17491: <-0.007462, -0.003634, 0.001995> + 17492: <-0.007519, -0.003227, 0.002405> + 17493: <-0.007648, -0.002843, 0.002429> + 17494: <-0.007740, -0.002868, 0.002035> + 17495: <-0.007610, -0.003255, 0.002015> + 17496: <-0.007648, -0.002843, 0.002429> + 17497: <-0.007759, -0.002452, 0.002452> + 17498: <-0.007854, -0.002473, 0.002053> + 17499: <-0.007740, -0.002868, 0.002035> + 17500: <-0.007759, -0.002452, 0.002452> + 17501: <-0.007854, -0.002053, 0.002473> + 17502: <-0.007950, -0.002071, 0.002071> + 17503: <-0.007854, -0.002473, 0.002053> + 17504: <-0.007854, -0.002053, 0.002473> + 17505: <-0.007932, -0.001650, 0.002492> + 17506: <-0.008029, -0.001663, 0.002086> + 17507: <-0.007950, -0.002071, 0.002071> + 17508: <-0.007932, -0.001650, 0.002492> + 17509: <-0.007992, -0.001241, 0.002507> + 17510: <-0.008090, -0.001252, 0.002099> + 17511: <-0.008029, -0.001663, 0.002086> + 17512: <-0.007992, -0.001241, 0.002507> + 17513: <-0.008036, -0.000829, 0.002519> + 17514: <-0.008134, -0.000836, 0.002109> + 17515: <-0.008090, -0.001252, 0.002099> + 17516: <-0.008036, -0.000829, 0.002519> + 17517: <-0.008062, -0.000415, 0.002527> + 17518: <-0.008161, -0.000419, 0.002116> + 17519: <-0.008134, -0.000836, 0.002109> + 17520: <-0.008062, -0.000415, 0.002527> + 17521: <-0.008070, -0.000000, 0.002530> + 17522: <-0.008169, -0.000000, 0.002118> + 17523: <-0.008161, -0.000419, 0.002116> + 17524: <-0.008070, -0.000000, 0.002530> + 17525: <-0.008062, 0.000415, 0.002527> + 17526: <-0.008161, 0.000419, 0.002116> + 17527: <-0.008169, -0.000000, 0.002118> + 17528: <-0.008062, 0.000415, 0.002527> + 17529: <-0.008036, 0.000829, 0.002519> + 17530: <-0.008134, 0.000836, 0.002109> + 17531: <-0.008161, 0.000419, 0.002116> + 17532: <-0.008036, 0.000829, 0.002519> + 17533: <-0.007992, 0.001241, 0.002507> + 17534: <-0.008090, 0.001252, 0.002099> + 17535: <-0.008134, 0.000836, 0.002109> + 17536: <-0.007992, 0.001241, 0.002507> + 17537: <-0.007932, 0.001650, 0.002492> + 17538: <-0.008029, 0.001663, 0.002086> + 17539: <-0.008090, 0.001252, 0.002099> + 17540: <-0.007932, 0.001650, 0.002492> + 17541: <-0.007854, 0.002053, 0.002473> + 17542: <-0.007950, 0.002071, 0.002071> + 17543: <-0.008029, 0.001663, 0.002086> + 17544: <-0.007854, 0.002053, 0.002473> + 17545: <-0.007759, 0.002452, 0.002452> + 17546: <-0.007854, 0.002473, 0.002053> + 17547: <-0.007950, 0.002071, 0.002071> + 17548: <-0.007759, 0.002452, 0.002452> + 17549: <-0.007648, 0.002843, 0.002429> + 17550: <-0.007740, 0.002868, 0.002035> + 17551: <-0.007854, 0.002473, 0.002053> + 17552: <-0.007648, 0.002843, 0.002429> + 17553: <-0.007519, 0.003227, 0.002405> + 17554: <-0.007610, 0.003255, 0.002015> + 17555: <-0.007740, 0.002868, 0.002035> + 17556: <-0.007519, 0.003227, 0.002405> + 17557: <-0.007374, 0.003601, 0.002380> + 17558: <-0.007462, 0.003634, 0.001995> + 17559: <-0.007610, 0.003255, 0.002015> + 17560: <-0.007374, 0.003601, 0.002380> + 17561: <-0.007212, 0.003965, 0.002356> + 17562: <-0.007297, 0.004002, 0.001975> + 17563: <-0.007462, 0.003634, 0.001995> + 17564: <-0.007212, 0.003965, 0.002356> + 17565: <-0.007033, 0.004318, 0.002333> + 17566: <-0.007115, 0.004360, 0.001957> + 17567: <-0.007297, 0.004002, 0.001975> + 17568: <-0.007033, 0.004318, 0.002333> + 17569: <-0.006836, 0.004659, 0.002313> + 17570: <-0.006915, 0.004705, 0.001940> + 17571: <-0.007115, 0.004360, 0.001957> + 17572: <-0.006836, 0.004659, 0.002313> + 17573: <-0.006623, 0.004987, 0.002295> + 17574: <-0.006698, 0.005037, 0.001926> + 17575: <-0.006915, 0.004705, 0.001940> + 17576: <-0.006623, 0.004987, 0.002295> + 17577: <-0.006393, 0.005301, 0.002281> + 17578: <-0.006464, 0.005355, 0.001915> + 17579: <-0.006698, 0.005037, 0.001926> + 17580: <-0.006393, 0.005301, 0.002281> + 17581: <-0.006146, 0.005599, 0.002272> + 17582: <-0.006212, 0.005657, 0.001908> + 17583: <-0.006464, 0.005355, 0.001915> + 17584: <-0.006212, -0.005657, 0.001908> + 17585: <-0.006464, -0.005355, 0.001915> + 17586: <-0.006523, -0.005401, 0.001541> + 17587: <-0.006269, -0.005707, 0.001536> + 17588: <-0.006464, -0.005355, 0.001915> + 17589: <-0.006698, -0.005037, 0.001926> + 17590: <-0.006761, -0.005080, 0.001550> + 17591: <-0.006523, -0.005401, 0.001541> + 17592: <-0.006698, -0.005037, 0.001926> + 17593: <-0.006915, -0.004705, 0.001940> + 17594: <-0.006980, -0.004744, 0.001561> + 17595: <-0.006761, -0.005080, 0.001550> + 17596: <-0.006915, -0.004705, 0.001940> + 17597: <-0.007115, -0.004360, 0.001957> + 17598: <-0.007183, -0.004395, 0.001574> + 17599: <-0.006980, -0.004744, 0.001561> + 17600: <-0.007115, -0.004360, 0.001957> + 17601: <-0.007297, -0.004002, 0.001975> + 17602: <-0.007367, -0.004034, 0.001588> + 17603: <-0.007183, -0.004395, 0.001574> + 17604: <-0.007297, -0.004002, 0.001975> + 17605: <-0.007462, -0.003634, 0.001995> + 17606: <-0.007535, -0.003663, 0.001603> + 17607: <-0.007367, -0.004034, 0.001588> + 17608: <-0.007462, -0.003634, 0.001995> + 17609: <-0.007610, -0.003255, 0.002015> + 17610: <-0.007684, -0.003281, 0.001619> + 17611: <-0.007535, -0.003663, 0.001603> + 17612: <-0.007610, -0.003255, 0.002015> + 17613: <-0.007740, -0.002868, 0.002035> + 17614: <-0.007817, -0.002890, 0.001635> + 17615: <-0.007684, -0.003281, 0.001619> + 17616: <-0.007740, -0.002868, 0.002035> + 17617: <-0.007854, -0.002473, 0.002053> + 17618: <-0.007932, -0.002492, 0.001650> + 17619: <-0.007817, -0.002890, 0.001635> + 17620: <-0.007854, -0.002473, 0.002053> + 17621: <-0.007950, -0.002071, 0.002071> + 17622: <-0.008029, -0.002086, 0.001663> + 17623: <-0.007932, -0.002492, 0.001650> + 17624: <-0.007950, -0.002071, 0.002071> + 17625: <-0.008029, -0.001663, 0.002086> + 17626: <-0.008109, -0.001676, 0.001676> + 17627: <-0.008029, -0.002086, 0.001663> + 17628: <-0.008029, -0.001663, 0.002086> + 17629: <-0.008090, -0.001252, 0.002099> + 17630: <-0.008171, -0.001261, 0.001686> + 17631: <-0.008109, -0.001676, 0.001676> + 17632: <-0.008090, -0.001252, 0.002099> + 17633: <-0.008134, -0.000836, 0.002109> + 17634: <-0.008215, -0.000842, 0.001694> + 17635: <-0.008171, -0.001261, 0.001686> + 17636: <-0.008134, -0.000836, 0.002109> + 17637: <-0.008161, -0.000419, 0.002116> + 17638: <-0.008242, -0.000422, 0.001699> + 17639: <-0.008215, -0.000842, 0.001694> + 17640: <-0.008161, -0.000419, 0.002116> + 17641: <-0.008169, -0.000000, 0.002118> + 17642: <-0.008251, -0.000000, 0.001701> + 17643: <-0.008242, -0.000422, 0.001699> + 17644: <-0.008169, -0.000000, 0.002118> + 17645: <-0.008161, 0.000419, 0.002116> + 17646: <-0.008242, 0.000422, 0.001699> + 17647: <-0.008251, -0.000000, 0.001701> + 17648: <-0.008161, 0.000419, 0.002116> + 17649: <-0.008134, 0.000836, 0.002109> + 17650: <-0.008215, 0.000842, 0.001694> + 17651: <-0.008242, 0.000422, 0.001699> + 17652: <-0.008134, 0.000836, 0.002109> + 17653: <-0.008090, 0.001252, 0.002099> + 17654: <-0.008171, 0.001261, 0.001686> + 17655: <-0.008215, 0.000842, 0.001694> + 17656: <-0.008090, 0.001252, 0.002099> + 17657: <-0.008029, 0.001663, 0.002086> + 17658: <-0.008109, 0.001676, 0.001676> + 17659: <-0.008171, 0.001261, 0.001686> + 17660: <-0.008029, 0.001663, 0.002086> + 17661: <-0.007950, 0.002071, 0.002071> + 17662: <-0.008029, 0.002086, 0.001663> + 17663: <-0.008109, 0.001676, 0.001676> + 17664: <-0.007950, 0.002071, 0.002071> + 17665: <-0.007854, 0.002473, 0.002053> + 17666: <-0.007932, 0.002492, 0.001650> + 17667: <-0.008029, 0.002086, 0.001663> + 17668: <-0.007854, 0.002473, 0.002053> + 17669: <-0.007740, 0.002868, 0.002035> + 17670: <-0.007817, 0.002890, 0.001635> + 17671: <-0.007932, 0.002492, 0.001650> + 17672: <-0.007740, 0.002868, 0.002035> + 17673: <-0.007610, 0.003255, 0.002015> + 17674: <-0.007684, 0.003281, 0.001619> + 17675: <-0.007817, 0.002890, 0.001635> + 17676: <-0.007610, 0.003255, 0.002015> + 17677: <-0.007462, 0.003634, 0.001995> + 17678: <-0.007535, 0.003663, 0.001603> + 17679: <-0.007684, 0.003281, 0.001619> + 17680: <-0.007462, 0.003634, 0.001995> + 17681: <-0.007297, 0.004002, 0.001975> + 17682: <-0.007367, 0.004034, 0.001588> + 17683: <-0.007535, 0.003663, 0.001603> + 17684: <-0.007297, 0.004002, 0.001975> + 17685: <-0.007115, 0.004360, 0.001957> + 17686: <-0.007183, 0.004395, 0.001574> + 17687: <-0.007367, 0.004034, 0.001588> + 17688: <-0.007115, 0.004360, 0.001957> + 17689: <-0.006915, 0.004705, 0.001940> + 17690: <-0.006980, 0.004744, 0.001561> + 17691: <-0.007183, 0.004395, 0.001574> + 17692: <-0.006915, 0.004705, 0.001940> + 17693: <-0.006698, 0.005037, 0.001926> + 17694: <-0.006761, 0.005080, 0.001550> + 17695: <-0.006980, 0.004744, 0.001561> + 17696: <-0.006698, 0.005037, 0.001926> + 17697: <-0.006464, 0.005355, 0.001915> + 17698: <-0.006523, 0.005401, 0.001541> + 17699: <-0.006761, 0.005080, 0.001550> + 17700: <-0.006464, 0.005355, 0.001915> + 17701: <-0.006212, 0.005657, 0.001908> + 17702: <-0.006269, 0.005707, 0.001536> + 17703: <-0.006523, 0.005401, 0.001541> + 17704: <-0.006269, -0.005707, 0.001536> + 17705: <-0.006523, -0.005401, 0.001541> + 17706: <-0.006570, -0.005438, 0.001161> + 17707: <-0.006313, -0.005747, 0.001157> + 17708: <-0.006523, -0.005401, 0.001541> + 17709: <-0.006761, -0.005080, 0.001550> + 17710: <-0.006810, -0.005114, 0.001168> + 17711: <-0.006570, -0.005438, 0.001161> + 17712: <-0.006761, -0.005080, 0.001550> + 17713: <-0.006980, -0.004744, 0.001561> + 17714: <-0.007032, -0.004776, 0.001176> + 17715: <-0.006810, -0.005114, 0.001168> + 17716: <-0.006980, -0.004744, 0.001561> + 17717: <-0.007183, -0.004395, 0.001574> + 17718: <-0.007236, -0.004424, 0.001185> + 17719: <-0.007032, -0.004776, 0.001176> + 17720: <-0.007183, -0.004395, 0.001574> + 17721: <-0.007367, -0.004034, 0.001588> + 17722: <-0.007423, -0.004061, 0.001196> + 17723: <-0.007236, -0.004424, 0.001185> + 17724: <-0.007367, -0.004034, 0.001588> + 17725: <-0.007535, -0.003663, 0.001603> + 17726: <-0.007591, -0.003686, 0.001207> + 17727: <-0.007423, -0.004061, 0.001196> + 17728: <-0.007535, -0.003663, 0.001603> + 17729: <-0.007684, -0.003281, 0.001619> + 17730: <-0.007743, -0.003302, 0.001219> + 17731: <-0.007591, -0.003686, 0.001207> + 17732: <-0.007684, -0.003281, 0.001619> + 17733: <-0.007817, -0.002890, 0.001635> + 17734: <-0.007876, -0.002908, 0.001230> + 17735: <-0.007743, -0.003302, 0.001219> + 17736: <-0.007817, -0.002890, 0.001635> + 17737: <-0.007932, -0.002492, 0.001650> + 17738: <-0.007992, -0.002507, 0.001241> + 17739: <-0.007876, -0.002908, 0.001230> + 17740: <-0.007932, -0.002492, 0.001650> + 17741: <-0.008029, -0.002086, 0.001663> + 17742: <-0.008090, -0.002099, 0.001252> + 17743: <-0.007992, -0.002507, 0.001241> + 17744: <-0.008029, -0.002086, 0.001663> + 17745: <-0.008109, -0.001676, 0.001676> + 17746: <-0.008171, -0.001686, 0.001261> + 17747: <-0.008090, -0.002099, 0.001252> + 17748: <-0.008109, -0.001676, 0.001676> + 17749: <-0.008171, -0.001261, 0.001686> + 17750: <-0.008233, -0.001269, 0.001269> + 17751: <-0.008171, -0.001686, 0.001261> + 17752: <-0.008171, -0.001261, 0.001686> + 17753: <-0.008215, -0.000842, 0.001694> + 17754: <-0.008278, -0.000848, 0.001275> + 17755: <-0.008233, -0.001269, 0.001269> + 17756: <-0.008215, -0.000842, 0.001694> + 17757: <-0.008242, -0.000422, 0.001699> + 17758: <-0.008305, -0.000424, 0.001278> + 17759: <-0.008278, -0.000848, 0.001275> + 17760: <-0.008242, -0.000422, 0.001699> + 17761: <-0.008251, -0.000000, 0.001701> + 17762: <-0.008314, -0.000000, 0.001280> + 17763: <-0.008305, -0.000424, 0.001278> + 17764: <-0.008251, -0.000000, 0.001701> + 17765: <-0.008242, 0.000422, 0.001699> + 17766: <-0.008305, 0.000424, 0.001278> + 17767: <-0.008314, -0.000000, 0.001280> + 17768: <-0.008242, 0.000422, 0.001699> + 17769: <-0.008215, 0.000842, 0.001694> + 17770: <-0.008278, 0.000848, 0.001275> + 17771: <-0.008305, 0.000424, 0.001278> + 17772: <-0.008215, 0.000842, 0.001694> + 17773: <-0.008171, 0.001261, 0.001686> + 17774: <-0.008233, 0.001269, 0.001269> + 17775: <-0.008278, 0.000848, 0.001275> + 17776: <-0.008171, 0.001261, 0.001686> + 17777: <-0.008109, 0.001676, 0.001676> + 17778: <-0.008171, 0.001686, 0.001261> + 17779: <-0.008233, 0.001269, 0.001269> + 17780: <-0.008109, 0.001676, 0.001676> + 17781: <-0.008029, 0.002086, 0.001663> + 17782: <-0.008090, 0.002099, 0.001252> + 17783: <-0.008171, 0.001686, 0.001261> + 17784: <-0.008029, 0.002086, 0.001663> + 17785: <-0.007932, 0.002492, 0.001650> + 17786: <-0.007992, 0.002507, 0.001241> + 17787: <-0.008090, 0.002099, 0.001252> + 17788: <-0.007932, 0.002492, 0.001650> + 17789: <-0.007817, 0.002890, 0.001635> + 17790: <-0.007876, 0.002908, 0.001230> + 17791: <-0.007992, 0.002507, 0.001241> + 17792: <-0.007817, 0.002890, 0.001635> + 17793: <-0.007684, 0.003281, 0.001619> + 17794: <-0.007743, 0.003302, 0.001219> + 17795: <-0.007876, 0.002908, 0.001230> + 17796: <-0.007684, 0.003281, 0.001619> + 17797: <-0.007535, 0.003663, 0.001603> + 17798: <-0.007591, 0.003686, 0.001207> + 17799: <-0.007743, 0.003302, 0.001219> + 17800: <-0.007535, 0.003663, 0.001603> + 17801: <-0.007367, 0.004034, 0.001588> + 17802: <-0.007423, 0.004061, 0.001196> + 17803: <-0.007591, 0.003686, 0.001207> + 17804: <-0.007367, 0.004034, 0.001588> + 17805: <-0.007183, 0.004395, 0.001574> + 17806: <-0.007236, 0.004424, 0.001185> + 17807: <-0.007423, 0.004061, 0.001196> + 17808: <-0.007183, 0.004395, 0.001574> + 17809: <-0.006980, 0.004744, 0.001561> + 17810: <-0.007032, 0.004776, 0.001176> + 17811: <-0.007236, 0.004424, 0.001185> + 17812: <-0.006980, 0.004744, 0.001561> + 17813: <-0.006761, 0.005080, 0.001550> + 17814: <-0.006810, 0.005114, 0.001168> + 17815: <-0.007032, 0.004776, 0.001176> + 17816: <-0.006761, 0.005080, 0.001550> + 17817: <-0.006523, 0.005401, 0.001541> + 17818: <-0.006570, 0.005438, 0.001161> + 17819: <-0.006810, 0.005114, 0.001168> + 17820: <-0.006523, 0.005401, 0.001541> + 17821: <-0.006269, 0.005707, 0.001536> + 17822: <-0.006313, 0.005747, 0.001157> + 17823: <-0.006570, 0.005438, 0.001161> + 17824: <-0.006313, -0.005747, 0.001157> + 17825: <-0.006570, -0.005438, 0.001161> + 17826: <-0.006605, -0.005466, 0.000777> + 17827: <-0.006346, -0.005776, 0.000774> + 17828: <-0.006570, -0.005438, 0.001161> + 17829: <-0.006810, -0.005114, 0.001168> + 17830: <-0.006846, -0.005140, 0.000781> + 17831: <-0.006605, -0.005466, 0.000777> + 17832: <-0.006810, -0.005114, 0.001168> + 17833: <-0.007032, -0.004776, 0.001176> + 17834: <-0.007069, -0.004800, 0.000786> + 17835: <-0.006846, -0.005140, 0.000781> + 17836: <-0.007032, -0.004776, 0.001176> + 17837: <-0.007236, -0.004424, 0.001185> + 17838: <-0.007275, -0.004446, 0.000792> + 17839: <-0.007069, -0.004800, 0.000786> + 17840: <-0.007236, -0.004424, 0.001185> + 17841: <-0.007423, -0.004061, 0.001196> + 17842: <-0.007462, -0.004081, 0.000799> + 17843: <-0.007275, -0.004446, 0.000792> + 17844: <-0.007423, -0.004061, 0.001196> + 17845: <-0.007591, -0.003686, 0.001207> + 17846: <-0.007632, -0.003704, 0.000807> + 17847: <-0.007462, -0.004081, 0.000799> + 17848: <-0.007591, -0.003686, 0.001207> + 17849: <-0.007743, -0.003302, 0.001219> + 17850: <-0.007785, -0.003318, 0.000814> + 17851: <-0.007632, -0.003704, 0.000807> + 17852: <-0.007743, -0.003302, 0.001219> + 17853: <-0.007876, -0.002908, 0.001230> + 17854: <-0.007919, -0.002922, 0.000822> + 17855: <-0.007785, -0.003318, 0.000814> + 17856: <-0.007876, -0.002908, 0.001230> + 17857: <-0.007992, -0.002507, 0.001241> + 17858: <-0.008036, -0.002519, 0.000829> + 17859: <-0.007919, -0.002922, 0.000822> + 17860: <-0.007992, -0.002507, 0.001241> + 17861: <-0.008090, -0.002099, 0.001252> + 17862: <-0.008134, -0.002109, 0.000836> + 17863: <-0.008036, -0.002519, 0.000829> + 17864: <-0.008090, -0.002099, 0.001252> + 17865: <-0.008171, -0.001686, 0.001261> + 17866: <-0.008215, -0.001694, 0.000842> + 17867: <-0.008134, -0.002109, 0.000836> + 17868: <-0.008171, -0.001686, 0.001261> + 17869: <-0.008233, -0.001269, 0.001269> + 17870: <-0.008278, -0.001275, 0.000848> + 17871: <-0.008215, -0.001694, 0.000842> + 17872: <-0.008233, -0.001269, 0.001269> + 17873: <-0.008278, -0.000848, 0.001275> + 17874: <-0.008323, -0.000852, 0.000852> + 17875: <-0.008278, -0.001275, 0.000848> + 17876: <-0.008278, -0.000848, 0.001275> + 17877: <-0.008305, -0.000424, 0.001278> + 17878: <-0.008350, -0.000426, 0.000854> + 17879: <-0.008323, -0.000852, 0.000852> + 17880: <-0.008305, -0.000424, 0.001278> + 17881: <-0.008314, -0.000000, 0.001280> + 17882: <-0.008359, -0.000000, 0.000855> + 17883: <-0.008350, -0.000426, 0.000854> + 17884: <-0.008314, -0.000000, 0.001280> + 17885: <-0.008305, 0.000424, 0.001278> + 17886: <-0.008350, 0.000426, 0.000854> + 17887: <-0.008359, -0.000000, 0.000855> + 17888: <-0.008305, 0.000424, 0.001278> + 17889: <-0.008278, 0.000848, 0.001275> + 17890: <-0.008323, 0.000852, 0.000852> + 17891: <-0.008350, 0.000426, 0.000854> + 17892: <-0.008278, 0.000848, 0.001275> + 17893: <-0.008233, 0.001269, 0.001269> + 17894: <-0.008278, 0.001275, 0.000848> + 17895: <-0.008323, 0.000852, 0.000852> + 17896: <-0.008233, 0.001269, 0.001269> + 17897: <-0.008171, 0.001686, 0.001261> + 17898: <-0.008215, 0.001694, 0.000842> + 17899: <-0.008278, 0.001275, 0.000848> + 17900: <-0.008171, 0.001686, 0.001261> + 17901: <-0.008090, 0.002099, 0.001252> + 17902: <-0.008134, 0.002109, 0.000836> + 17903: <-0.008215, 0.001694, 0.000842> + 17904: <-0.008090, 0.002099, 0.001252> + 17905: <-0.007992, 0.002507, 0.001241> + 17906: <-0.008036, 0.002519, 0.000829> + 17907: <-0.008134, 0.002109, 0.000836> + 17908: <-0.007992, 0.002507, 0.001241> + 17909: <-0.007876, 0.002908, 0.001230> + 17910: <-0.007919, 0.002922, 0.000822> + 17911: <-0.008036, 0.002519, 0.000829> + 17912: <-0.007876, 0.002908, 0.001230> + 17913: <-0.007743, 0.003302, 0.001219> + 17914: <-0.007785, 0.003318, 0.000814> + 17915: <-0.007919, 0.002922, 0.000822> + 17916: <-0.007743, 0.003302, 0.001219> + 17917: <-0.007591, 0.003686, 0.001207> + 17918: <-0.007632, 0.003704, 0.000807> + 17919: <-0.007785, 0.003318, 0.000814> + 17920: <-0.007591, 0.003686, 0.001207> + 17921: <-0.007423, 0.004061, 0.001196> + 17922: <-0.007462, 0.004081, 0.000799> + 17923: <-0.007632, 0.003704, 0.000807> + 17924: <-0.007423, 0.004061, 0.001196> + 17925: <-0.007236, 0.004424, 0.001185> + 17926: <-0.007275, 0.004446, 0.000792> + 17927: <-0.007462, 0.004081, 0.000799> + 17928: <-0.007236, 0.004424, 0.001185> + 17929: <-0.007032, 0.004776, 0.001176> + 17930: <-0.007069, 0.004800, 0.000786> + 17931: <-0.007275, 0.004446, 0.000792> + 17932: <-0.007032, 0.004776, 0.001176> + 17933: <-0.006810, 0.005114, 0.001168> + 17934: <-0.006846, 0.005140, 0.000781> + 17935: <-0.007069, 0.004800, 0.000786> + 17936: <-0.006810, 0.005114, 0.001168> + 17937: <-0.006570, 0.005438, 0.001161> + 17938: <-0.006605, 0.005466, 0.000777> + 17939: <-0.006846, 0.005140, 0.000781> + 17940: <-0.006570, 0.005438, 0.001161> + 17941: <-0.006313, 0.005747, 0.001157> + 17942: <-0.006346, 0.005776, 0.000774> + 17943: <-0.006605, 0.005466, 0.000777> + 17944: <-0.006346, -0.005776, 0.000774> + 17945: <-0.006605, -0.005466, 0.000777> + 17946: <-0.006626, -0.005483, 0.000389> + 17947: <-0.006366, -0.005794, 0.000388> + 17948: <-0.006605, -0.005466, 0.000777> + 17949: <-0.006846, -0.005140, 0.000781> + 17950: <-0.006868, -0.005156, 0.000391> + 17951: <-0.006626, -0.005483, 0.000389> + 17952: <-0.006846, -0.005140, 0.000781> + 17953: <-0.007069, -0.004800, 0.000786> + 17954: <-0.007092, -0.004815, 0.000394> + 17955: <-0.006868, -0.005156, 0.000391> + 17956: <-0.007069, -0.004800, 0.000786> + 17957: <-0.007275, -0.004446, 0.000792> + 17958: <-0.007298, -0.004460, 0.000397> + 17959: <-0.007092, -0.004815, 0.000394> + 17960: <-0.007275, -0.004446, 0.000792> + 17961: <-0.007462, -0.004081, 0.000799> + 17962: <-0.007487, -0.004093, 0.000400> + 17963: <-0.007298, -0.004460, 0.000397> + 17964: <-0.007462, -0.004081, 0.000799> + 17965: <-0.007632, -0.003704, 0.000807> + 17966: <-0.007657, -0.003716, 0.000404> + 17967: <-0.007487, -0.004093, 0.000400> + 17968: <-0.007632, -0.003704, 0.000807> + 17969: <-0.007785, -0.003318, 0.000814> + 17970: <-0.007810, -0.003328, 0.000408> + 17971: <-0.007657, -0.003716, 0.000404> + 17972: <-0.007785, -0.003318, 0.000814> + 17973: <-0.007919, -0.002922, 0.000822> + 17974: <-0.007945, -0.002931, 0.000412> + 17975: <-0.007810, -0.003328, 0.000408> + 17976: <-0.007919, -0.002922, 0.000822> + 17977: <-0.008036, -0.002519, 0.000829> + 17978: <-0.008062, -0.002527, 0.000415> + 17979: <-0.007945, -0.002931, 0.000412> + 17980: <-0.008036, -0.002519, 0.000829> + 17981: <-0.008134, -0.002109, 0.000836> + 17982: <-0.008161, -0.002116, 0.000419> + 17983: <-0.008062, -0.002527, 0.000415> + 17984: <-0.008134, -0.002109, 0.000836> + 17985: <-0.008215, -0.001694, 0.000842> + 17986: <-0.008242, -0.001699, 0.000422> + 17987: <-0.008161, -0.002116, 0.000419> + 17988: <-0.008215, -0.001694, 0.000842> + 17989: <-0.008278, -0.001275, 0.000848> + 17990: <-0.008305, -0.001278, 0.000424> + 17991: <-0.008242, -0.001699, 0.000422> + 17992: <-0.008278, -0.001275, 0.000848> + 17993: <-0.008323, -0.000852, 0.000852> + 17994: <-0.008350, -0.000854, 0.000426> + 17995: <-0.008305, -0.001278, 0.000424> + 17996: <-0.008323, -0.000852, 0.000852> + 17997: <-0.008350, -0.000426, 0.000854> + 17998: <-0.008377, -0.000428, 0.000428> + 17999: <-0.008350, -0.000854, 0.000426> + 18000: <-0.008350, -0.000426, 0.000854> + 18001: <-0.008359, -0.000000, 0.000855> + 18002: <-0.008386, -0.000000, 0.000428> + 18003: <-0.008377, -0.000428, 0.000428> + 18004: <-0.008359, -0.000000, 0.000855> + 18005: <-0.008350, 0.000426, 0.000854> + 18006: <-0.008377, 0.000428, 0.000428> + 18007: <-0.008386, -0.000000, 0.000428> + 18008: <-0.008350, 0.000426, 0.000854> + 18009: <-0.008323, 0.000852, 0.000852> + 18010: <-0.008350, 0.000854, 0.000426> + 18011: <-0.008377, 0.000428, 0.000428> + 18012: <-0.008323, 0.000852, 0.000852> + 18013: <-0.008278, 0.001275, 0.000848> + 18014: <-0.008305, 0.001278, 0.000424> + 18015: <-0.008350, 0.000854, 0.000426> + 18016: <-0.008278, 0.001275, 0.000848> + 18017: <-0.008215, 0.001694, 0.000842> + 18018: <-0.008242, 0.001699, 0.000422> + 18019: <-0.008305, 0.001278, 0.000424> + 18020: <-0.008215, 0.001694, 0.000842> + 18021: <-0.008134, 0.002109, 0.000836> + 18022: <-0.008161, 0.002116, 0.000419> + 18023: <-0.008242, 0.001699, 0.000422> + 18024: <-0.008134, 0.002109, 0.000836> + 18025: <-0.008036, 0.002519, 0.000829> + 18026: <-0.008062, 0.002527, 0.000415> + 18027: <-0.008161, 0.002116, 0.000419> + 18028: <-0.008036, 0.002519, 0.000829> + 18029: <-0.007919, 0.002922, 0.000822> + 18030: <-0.007945, 0.002931, 0.000412> + 18031: <-0.008062, 0.002527, 0.000415> + 18032: <-0.007919, 0.002922, 0.000822> + 18033: <-0.007785, 0.003318, 0.000814> + 18034: <-0.007810, 0.003328, 0.000408> + 18035: <-0.007945, 0.002931, 0.000412> + 18036: <-0.007785, 0.003318, 0.000814> + 18037: <-0.007632, 0.003704, 0.000807> + 18038: <-0.007657, 0.003716, 0.000404> + 18039: <-0.007810, 0.003328, 0.000408> + 18040: <-0.007632, 0.003704, 0.000807> + 18041: <-0.007462, 0.004081, 0.000799> + 18042: <-0.007487, 0.004093, 0.000400> + 18043: <-0.007657, 0.003716, 0.000404> + 18044: <-0.007462, 0.004081, 0.000799> + 18045: <-0.007275, 0.004446, 0.000792> + 18046: <-0.007298, 0.004460, 0.000397> + 18047: <-0.007487, 0.004093, 0.000400> + 18048: <-0.007275, 0.004446, 0.000792> + 18049: <-0.007069, 0.004800, 0.000786> + 18050: <-0.007092, 0.004815, 0.000394> + 18051: <-0.007298, 0.004460, 0.000397> + 18052: <-0.007069, 0.004800, 0.000786> + 18053: <-0.006846, 0.005140, 0.000781> + 18054: <-0.006868, 0.005156, 0.000391> + 18055: <-0.007092, 0.004815, 0.000394> + 18056: <-0.006846, 0.005140, 0.000781> + 18057: <-0.006605, 0.005466, 0.000777> + 18058: <-0.006626, 0.005483, 0.000389> + 18059: <-0.006868, 0.005156, 0.000391> + 18060: <-0.006605, 0.005466, 0.000777> + 18061: <-0.006346, 0.005776, 0.000774> + 18062: <-0.006366, 0.005794, 0.000388> + 18063: <-0.006626, 0.005483, 0.000389> + 18064: <-0.006366, -0.005794, 0.000388> + 18065: <-0.006626, -0.005483, 0.000389> + 18066: <-0.006633, -0.005489, 0.000000> + 18067: <-0.006373, -0.005801, 0.000000> + 18068: <-0.006626, -0.005483, 0.000389> + 18069: <-0.006868, -0.005156, 0.000391> + 18070: <-0.006875, -0.005162, 0.000000> + 18071: <-0.006633, -0.005489, 0.000000> + 18072: <-0.006868, -0.005156, 0.000391> + 18073: <-0.007092, -0.004815, 0.000394> + 18074: <-0.007099, -0.004820, -0.000000> + 18075: <-0.006875, -0.005162, 0.000000> + 18076: <-0.007092, -0.004815, 0.000394> + 18077: <-0.007298, -0.004460, 0.000397> + 18078: <-0.007306, -0.004465, -0.000000> + 18079: <-0.007099, -0.004820, -0.000000> + 18080: <-0.007298, -0.004460, 0.000397> + 18081: <-0.007487, -0.004093, 0.000400> + 18082: <-0.007495, -0.004098, -0.000000> + 18083: <-0.007306, -0.004465, -0.000000> + 18084: <-0.007487, -0.004093, 0.000400> + 18085: <-0.007657, -0.003716, 0.000404> + 18086: <-0.007665, -0.003720, -0.000000> + 18087: <-0.007495, -0.004098, -0.000000> + 18088: <-0.007657, -0.003716, 0.000404> + 18089: <-0.007810, -0.003328, 0.000408> + 18090: <-0.007818, -0.003331, -0.000000> + 18091: <-0.007665, -0.003720, -0.000000> + 18092: <-0.007810, -0.003328, 0.000408> + 18093: <-0.007945, -0.002931, 0.000412> + 18094: <-0.007953, -0.002934, -0.000000> + 18095: <-0.007818, -0.003331, -0.000000> + 18096: <-0.007945, -0.002931, 0.000412> + 18097: <-0.008062, -0.002527, 0.000415> + 18098: <-0.008070, -0.002530, -0.000000> + 18099: <-0.007953, -0.002934, -0.000000> + 18100: <-0.008062, -0.002527, 0.000415> + 18101: <-0.008161, -0.002116, 0.000419> + 18102: <-0.008169, -0.002118, -0.000000> + 18103: <-0.008070, -0.002530, -0.000000> + 18104: <-0.008161, -0.002116, 0.000419> + 18105: <-0.008242, -0.001699, 0.000422> + 18106: <-0.008251, -0.001701, 0.000000> + 18107: <-0.008169, -0.002118, -0.000000> + 18108: <-0.008242, -0.001699, 0.000422> + 18109: <-0.008305, -0.001278, 0.000424> + 18110: <-0.008314, -0.001280, 0.000000> + 18111: <-0.008251, -0.001701, 0.000000> + 18112: <-0.008305, -0.001278, 0.000424> + 18113: <-0.008350, -0.000854, 0.000426> + 18114: <-0.008359, -0.000855, 0.000000> + 18115: <-0.008314, -0.001280, 0.000000> + 18116: <-0.008350, -0.000854, 0.000426> + 18117: <-0.008377, -0.000428, 0.000428> + 18118: <-0.008386, -0.000428, 0.000000> + 18119: <-0.008359, -0.000855, 0.000000> + 18120: <-0.008377, -0.000428, 0.000428> + 18121: <-0.008386, -0.000000, 0.000428> + 18122: <-0.008395, 0.000000, 0.000000> + 18123: <-0.008386, -0.000428, 0.000000> + 18124: <-0.008386, -0.000000, 0.000428> + 18125: <-0.008377, 0.000428, 0.000428> + 18126: <-0.008386, 0.000428, 0.000000> + 18127: <-0.008395, 0.000000, 0.000000> + 18128: <-0.008377, 0.000428, 0.000428> + 18129: <-0.008350, 0.000854, 0.000426> + 18130: <-0.008359, 0.000855, 0.000000> + 18131: <-0.008386, 0.000428, 0.000000> + 18132: <-0.008350, 0.000854, 0.000426> + 18133: <-0.008305, 0.001278, 0.000424> + 18134: <-0.008314, 0.001280, 0.000000> + 18135: <-0.008359, 0.000855, 0.000000> + 18136: <-0.008305, 0.001278, 0.000424> + 18137: <-0.008242, 0.001699, 0.000422> + 18138: <-0.008251, 0.001701, 0.000000> + 18139: <-0.008314, 0.001280, 0.000000> + 18140: <-0.008242, 0.001699, 0.000422> + 18141: <-0.008161, 0.002116, 0.000419> + 18142: <-0.008169, 0.002118, 0.000000> + 18143: <-0.008251, 0.001701, 0.000000> + 18144: <-0.008161, 0.002116, 0.000419> + 18145: <-0.008062, 0.002527, 0.000415> + 18146: <-0.008070, 0.002530, 0.000000> + 18147: <-0.008169, 0.002118, 0.000000> + 18148: <-0.008062, 0.002527, 0.000415> + 18149: <-0.007945, 0.002931, 0.000412> + 18150: <-0.007953, 0.002934, 0.000000> + 18151: <-0.008070, 0.002530, 0.000000> + 18152: <-0.007945, 0.002931, 0.000412> + 18153: <-0.007810, 0.003328, 0.000408> + 18154: <-0.007818, 0.003331, 0.000000> + 18155: <-0.007953, 0.002934, 0.000000> + 18156: <-0.007810, 0.003328, 0.000408> + 18157: <-0.007657, 0.003716, 0.000404> + 18158: <-0.007665, 0.003720, 0.000000> + 18159: <-0.007818, 0.003331, 0.000000> + 18160: <-0.007657, 0.003716, 0.000404> + 18161: <-0.007487, 0.004093, 0.000400> + 18162: <-0.007495, 0.004098, 0.000000> + 18163: <-0.007665, 0.003720, 0.000000> + 18164: <-0.007487, 0.004093, 0.000400> + 18165: <-0.007298, 0.004460, 0.000397> + 18166: <-0.007306, 0.004465, 0.000000> + 18167: <-0.007495, 0.004098, 0.000000> + 18168: <-0.007298, 0.004460, 0.000397> + 18169: <-0.007092, 0.004815, 0.000394> + 18170: <-0.007099, 0.004820, 0.000000> + 18171: <-0.007306, 0.004465, 0.000000> + 18172: <-0.007092, 0.004815, 0.000394> + 18173: <-0.006868, 0.005156, 0.000391> + 18174: <-0.006875, 0.005162, 0.000000> + 18175: <-0.007099, 0.004820, 0.000000> + 18176: <-0.006868, 0.005156, 0.000391> + 18177: <-0.006626, 0.005483, 0.000389> + 18178: <-0.006633, 0.005489, 0.000000> + 18179: <-0.006875, 0.005162, 0.000000> + 18180: <-0.006626, 0.005483, 0.000389> + 18181: <-0.006366, 0.005794, 0.000388> + 18182: <-0.006373, 0.005801, 0.000000> + 18183: <-0.006633, 0.005489, 0.000000> + 18184: <-0.006373, -0.005801, 0.000000> + 18185: <-0.006633, -0.005489, 0.000000> + 18186: <-0.006626, -0.005483, -0.000389> + 18187: <-0.006366, -0.005794, -0.000388> + 18188: <-0.006633, -0.005489, 0.000000> + 18189: <-0.006875, -0.005162, 0.000000> + 18190: <-0.006868, -0.005156, -0.000391> + 18191: <-0.006626, -0.005483, -0.000389> + 18192: <-0.006875, -0.005162, 0.000000> + 18193: <-0.007099, -0.004820, -0.000000> + 18194: <-0.007092, -0.004815, -0.000394> + 18195: <-0.006868, -0.005156, -0.000391> + 18196: <-0.007099, -0.004820, -0.000000> + 18197: <-0.007306, -0.004465, -0.000000> + 18198: <-0.007298, -0.004460, -0.000397> + 18199: <-0.007092, -0.004815, -0.000394> + 18200: <-0.007306, -0.004465, -0.000000> + 18201: <-0.007495, -0.004098, -0.000000> + 18202: <-0.007487, -0.004093, -0.000400> + 18203: <-0.007298, -0.004460, -0.000397> + 18204: <-0.007495, -0.004098, -0.000000> + 18205: <-0.007665, -0.003720, -0.000000> + 18206: <-0.007657, -0.003716, -0.000404> + 18207: <-0.007487, -0.004093, -0.000400> + 18208: <-0.007665, -0.003720, -0.000000> + 18209: <-0.007818, -0.003331, -0.000000> + 18210: <-0.007810, -0.003328, -0.000408> + 18211: <-0.007657, -0.003716, -0.000404> + 18212: <-0.007818, -0.003331, -0.000000> + 18213: <-0.007953, -0.002934, -0.000000> + 18214: <-0.007945, -0.002931, -0.000412> + 18215: <-0.007810, -0.003328, -0.000408> + 18216: <-0.007953, -0.002934, -0.000000> + 18217: <-0.008070, -0.002530, -0.000000> + 18218: <-0.008062, -0.002527, -0.000415> + 18219: <-0.007945, -0.002931, -0.000412> + 18220: <-0.008070, -0.002530, -0.000000> + 18221: <-0.008169, -0.002118, -0.000000> + 18222: <-0.008161, -0.002116, -0.000419> + 18223: <-0.008062, -0.002527, -0.000415> + 18224: <-0.008169, -0.002118, -0.000000> + 18225: <-0.008251, -0.001701, 0.000000> + 18226: <-0.008242, -0.001699, -0.000422> + 18227: <-0.008161, -0.002116, -0.000419> + 18228: <-0.008251, -0.001701, 0.000000> + 18229: <-0.008314, -0.001280, 0.000000> + 18230: <-0.008305, -0.001278, -0.000424> + 18231: <-0.008242, -0.001699, -0.000422> + 18232: <-0.008314, -0.001280, 0.000000> + 18233: <-0.008359, -0.000855, 0.000000> + 18234: <-0.008350, -0.000854, -0.000426> + 18235: <-0.008305, -0.001278, -0.000424> + 18236: <-0.008359, -0.000855, 0.000000> + 18237: <-0.008386, -0.000428, 0.000000> + 18238: <-0.008377, -0.000428, -0.000428> + 18239: <-0.008350, -0.000854, -0.000426> + 18240: <-0.008386, -0.000428, 0.000000> + 18241: <-0.008395, 0.000000, 0.000000> + 18242: <-0.008386, 0.000000, -0.000428> + 18243: <-0.008377, -0.000428, -0.000428> + 18244: <-0.008395, 0.000000, 0.000000> + 18245: <-0.008386, 0.000428, 0.000000> + 18246: <-0.008377, 0.000428, -0.000428> + 18247: <-0.008386, 0.000000, -0.000428> + 18248: <-0.008386, 0.000428, 0.000000> + 18249: <-0.008359, 0.000855, 0.000000> + 18250: <-0.008350, 0.000854, -0.000426> + 18251: <-0.008377, 0.000428, -0.000428> + 18252: <-0.008359, 0.000855, 0.000000> + 18253: <-0.008314, 0.001280, 0.000000> + 18254: <-0.008305, 0.001278, -0.000424> + 18255: <-0.008350, 0.000854, -0.000426> + 18256: <-0.008314, 0.001280, 0.000000> + 18257: <-0.008251, 0.001701, 0.000000> + 18258: <-0.008242, 0.001699, -0.000422> + 18259: <-0.008305, 0.001278, -0.000424> + 18260: <-0.008251, 0.001701, 0.000000> + 18261: <-0.008169, 0.002118, 0.000000> + 18262: <-0.008161, 0.002116, -0.000419> + 18263: <-0.008242, 0.001699, -0.000422> + 18264: <-0.008169, 0.002118, 0.000000> + 18265: <-0.008070, 0.002530, 0.000000> + 18266: <-0.008062, 0.002527, -0.000415> + 18267: <-0.008161, 0.002116, -0.000419> + 18268: <-0.008070, 0.002530, 0.000000> + 18269: <-0.007953, 0.002934, 0.000000> + 18270: <-0.007945, 0.002931, -0.000412> + 18271: <-0.008062, 0.002527, -0.000415> + 18272: <-0.007953, 0.002934, 0.000000> + 18273: <-0.007818, 0.003331, 0.000000> + 18274: <-0.007810, 0.003328, -0.000408> + 18275: <-0.007945, 0.002931, -0.000412> + 18276: <-0.007818, 0.003331, 0.000000> + 18277: <-0.007665, 0.003720, 0.000000> + 18278: <-0.007657, 0.003716, -0.000404> + 18279: <-0.007810, 0.003328, -0.000408> + 18280: <-0.007665, 0.003720, 0.000000> + 18281: <-0.007495, 0.004098, 0.000000> + 18282: <-0.007487, 0.004093, -0.000400> + 18283: <-0.007657, 0.003716, -0.000404> + 18284: <-0.007495, 0.004098, 0.000000> + 18285: <-0.007306, 0.004465, 0.000000> + 18286: <-0.007298, 0.004460, -0.000397> + 18287: <-0.007487, 0.004093, -0.000400> + 18288: <-0.007306, 0.004465, 0.000000> + 18289: <-0.007099, 0.004820, 0.000000> + 18290: <-0.007092, 0.004815, -0.000394> + 18291: <-0.007298, 0.004460, -0.000397> + 18292: <-0.007099, 0.004820, 0.000000> + 18293: <-0.006875, 0.005162, 0.000000> + 18294: <-0.006868, 0.005156, -0.000391> + 18295: <-0.007092, 0.004815, -0.000394> + 18296: <-0.006875, 0.005162, 0.000000> + 18297: <-0.006633, 0.005489, 0.000000> + 18298: <-0.006626, 0.005483, -0.000389> + 18299: <-0.006868, 0.005156, -0.000391> + 18300: <-0.006633, 0.005489, 0.000000> + 18301: <-0.006373, 0.005801, 0.000000> + 18302: <-0.006366, 0.005794, -0.000388> + 18303: <-0.006626, 0.005483, -0.000389> + 18304: <-0.006366, -0.005794, -0.000388> + 18305: <-0.006626, -0.005483, -0.000389> + 18306: <-0.006605, -0.005466, -0.000777> + 18307: <-0.006346, -0.005776, -0.000774> + 18308: <-0.006626, -0.005483, -0.000389> + 18309: <-0.006868, -0.005156, -0.000391> + 18310: <-0.006846, -0.005140, -0.000781> + 18311: <-0.006605, -0.005466, -0.000777> + 18312: <-0.006868, -0.005156, -0.000391> + 18313: <-0.007092, -0.004815, -0.000394> + 18314: <-0.007069, -0.004800, -0.000786> + 18315: <-0.006846, -0.005140, -0.000781> + 18316: <-0.007092, -0.004815, -0.000394> + 18317: <-0.007298, -0.004460, -0.000397> + 18318: <-0.007275, -0.004446, -0.000792> + 18319: <-0.007069, -0.004800, -0.000786> + 18320: <-0.007298, -0.004460, -0.000397> + 18321: <-0.007487, -0.004093, -0.000400> + 18322: <-0.007462, -0.004081, -0.000799> + 18323: <-0.007275, -0.004446, -0.000792> + 18324: <-0.007487, -0.004093, -0.000400> + 18325: <-0.007657, -0.003716, -0.000404> + 18326: <-0.007632, -0.003704, -0.000807> + 18327: <-0.007462, -0.004081, -0.000799> + 18328: <-0.007657, -0.003716, -0.000404> + 18329: <-0.007810, -0.003328, -0.000408> + 18330: <-0.007785, -0.003318, -0.000814> + 18331: <-0.007632, -0.003704, -0.000807> + 18332: <-0.007810, -0.003328, -0.000408> + 18333: <-0.007945, -0.002931, -0.000412> + 18334: <-0.007919, -0.002922, -0.000822> + 18335: <-0.007785, -0.003318, -0.000814> + 18336: <-0.007945, -0.002931, -0.000412> + 18337: <-0.008062, -0.002527, -0.000415> + 18338: <-0.008036, -0.002519, -0.000829> + 18339: <-0.007919, -0.002922, -0.000822> + 18340: <-0.008062, -0.002527, -0.000415> + 18341: <-0.008161, -0.002116, -0.000419> + 18342: <-0.008134, -0.002109, -0.000836> + 18343: <-0.008036, -0.002519, -0.000829> + 18344: <-0.008161, -0.002116, -0.000419> + 18345: <-0.008242, -0.001699, -0.000422> + 18346: <-0.008215, -0.001694, -0.000842> + 18347: <-0.008134, -0.002109, -0.000836> + 18348: <-0.008242, -0.001699, -0.000422> + 18349: <-0.008305, -0.001278, -0.000424> + 18350: <-0.008278, -0.001275, -0.000848> + 18351: <-0.008215, -0.001694, -0.000842> + 18352: <-0.008305, -0.001278, -0.000424> + 18353: <-0.008350, -0.000854, -0.000426> + 18354: <-0.008323, -0.000852, -0.000852> + 18355: <-0.008278, -0.001275, -0.000848> + 18356: <-0.008350, -0.000854, -0.000426> + 18357: <-0.008377, -0.000428, -0.000428> + 18358: <-0.008350, -0.000426, -0.000854> + 18359: <-0.008323, -0.000852, -0.000852> + 18360: <-0.008377, -0.000428, -0.000428> + 18361: <-0.008386, 0.000000, -0.000428> + 18362: <-0.008359, 0.000000, -0.000855> + 18363: <-0.008350, -0.000426, -0.000854> + 18364: <-0.008386, 0.000000, -0.000428> + 18365: <-0.008377, 0.000428, -0.000428> + 18366: <-0.008350, 0.000426, -0.000854> + 18367: <-0.008359, 0.000000, -0.000855> + 18368: <-0.008377, 0.000428, -0.000428> + 18369: <-0.008350, 0.000854, -0.000426> + 18370: <-0.008323, 0.000852, -0.000852> + 18371: <-0.008350, 0.000426, -0.000854> + 18372: <-0.008350, 0.000854, -0.000426> + 18373: <-0.008305, 0.001278, -0.000424> + 18374: <-0.008278, 0.001275, -0.000848> + 18375: <-0.008323, 0.000852, -0.000852> + 18376: <-0.008305, 0.001278, -0.000424> + 18377: <-0.008242, 0.001699, -0.000422> + 18378: <-0.008215, 0.001694, -0.000842> + 18379: <-0.008278, 0.001275, -0.000848> + 18380: <-0.008242, 0.001699, -0.000422> + 18381: <-0.008161, 0.002116, -0.000419> + 18382: <-0.008134, 0.002109, -0.000836> + 18383: <-0.008215, 0.001694, -0.000842> + 18384: <-0.008161, 0.002116, -0.000419> + 18385: <-0.008062, 0.002527, -0.000415> + 18386: <-0.008036, 0.002519, -0.000829> + 18387: <-0.008134, 0.002109, -0.000836> + 18388: <-0.008062, 0.002527, -0.000415> + 18389: <-0.007945, 0.002931, -0.000412> + 18390: <-0.007919, 0.002922, -0.000822> + 18391: <-0.008036, 0.002519, -0.000829> + 18392: <-0.007945, 0.002931, -0.000412> + 18393: <-0.007810, 0.003328, -0.000408> + 18394: <-0.007785, 0.003318, -0.000814> + 18395: <-0.007919, 0.002922, -0.000822> + 18396: <-0.007810, 0.003328, -0.000408> + 18397: <-0.007657, 0.003716, -0.000404> + 18398: <-0.007632, 0.003704, -0.000807> + 18399: <-0.007785, 0.003318, -0.000814> + 18400: <-0.007657, 0.003716, -0.000404> + 18401: <-0.007487, 0.004093, -0.000400> + 18402: <-0.007462, 0.004081, -0.000799> + 18403: <-0.007632, 0.003704, -0.000807> + 18404: <-0.007487, 0.004093, -0.000400> + 18405: <-0.007298, 0.004460, -0.000397> + 18406: <-0.007275, 0.004446, -0.000792> + 18407: <-0.007462, 0.004081, -0.000799> + 18408: <-0.007298, 0.004460, -0.000397> + 18409: <-0.007092, 0.004815, -0.000394> + 18410: <-0.007069, 0.004800, -0.000786> + 18411: <-0.007275, 0.004446, -0.000792> + 18412: <-0.007092, 0.004815, -0.000394> + 18413: <-0.006868, 0.005156, -0.000391> + 18414: <-0.006846, 0.005140, -0.000781> + 18415: <-0.007069, 0.004800, -0.000786> + 18416: <-0.006868, 0.005156, -0.000391> + 18417: <-0.006626, 0.005483, -0.000389> + 18418: <-0.006605, 0.005466, -0.000777> + 18419: <-0.006846, 0.005140, -0.000781> + 18420: <-0.006626, 0.005483, -0.000389> + 18421: <-0.006366, 0.005794, -0.000388> + 18422: <-0.006346, 0.005776, -0.000774> + 18423: <-0.006605, 0.005466, -0.000777> + 18424: <-0.006346, -0.005776, -0.000774> + 18425: <-0.006605, -0.005466, -0.000777> + 18426: <-0.006570, -0.005438, -0.001161> + 18427: <-0.006313, -0.005747, -0.001157> + 18428: <-0.006605, -0.005466, -0.000777> + 18429: <-0.006846, -0.005140, -0.000781> + 18430: <-0.006810, -0.005114, -0.001168> + 18431: <-0.006570, -0.005438, -0.001161> + 18432: <-0.006846, -0.005140, -0.000781> + 18433: <-0.007069, -0.004800, -0.000786> + 18434: <-0.007032, -0.004776, -0.001176> + 18435: <-0.006810, -0.005114, -0.001168> + 18436: <-0.007069, -0.004800, -0.000786> + 18437: <-0.007275, -0.004446, -0.000792> + 18438: <-0.007236, -0.004424, -0.001185> + 18439: <-0.007032, -0.004776, -0.001176> + 18440: <-0.007275, -0.004446, -0.000792> + 18441: <-0.007462, -0.004081, -0.000799> + 18442: <-0.007423, -0.004061, -0.001196> + 18443: <-0.007236, -0.004424, -0.001185> + 18444: <-0.007462, -0.004081, -0.000799> + 18445: <-0.007632, -0.003704, -0.000807> + 18446: <-0.007591, -0.003686, -0.001207> + 18447: <-0.007423, -0.004061, -0.001196> + 18448: <-0.007632, -0.003704, -0.000807> + 18449: <-0.007785, -0.003318, -0.000814> + 18450: <-0.007743, -0.003302, -0.001219> + 18451: <-0.007591, -0.003686, -0.001207> + 18452: <-0.007785, -0.003318, -0.000814> + 18453: <-0.007919, -0.002922, -0.000822> + 18454: <-0.007876, -0.002908, -0.001230> + 18455: <-0.007743, -0.003302, -0.001219> + 18456: <-0.007919, -0.002922, -0.000822> + 18457: <-0.008036, -0.002519, -0.000829> + 18458: <-0.007992, -0.002507, -0.001241> + 18459: <-0.007876, -0.002908, -0.001230> + 18460: <-0.008036, -0.002519, -0.000829> + 18461: <-0.008134, -0.002109, -0.000836> + 18462: <-0.008090, -0.002099, -0.001252> + 18463: <-0.007992, -0.002507, -0.001241> + 18464: <-0.008134, -0.002109, -0.000836> + 18465: <-0.008215, -0.001694, -0.000842> + 18466: <-0.008171, -0.001686, -0.001261> + 18467: <-0.008090, -0.002099, -0.001252> + 18468: <-0.008215, -0.001694, -0.000842> + 18469: <-0.008278, -0.001275, -0.000848> + 18470: <-0.008233, -0.001269, -0.001269> + 18471: <-0.008171, -0.001686, -0.001261> + 18472: <-0.008278, -0.001275, -0.000848> + 18473: <-0.008323, -0.000852, -0.000852> + 18474: <-0.008278, -0.000848, -0.001275> + 18475: <-0.008233, -0.001269, -0.001269> + 18476: <-0.008323, -0.000852, -0.000852> + 18477: <-0.008350, -0.000426, -0.000854> + 18478: <-0.008305, -0.000424, -0.001278> + 18479: <-0.008278, -0.000848, -0.001275> + 18480: <-0.008350, -0.000426, -0.000854> + 18481: <-0.008359, 0.000000, -0.000855> + 18482: <-0.008314, 0.000000, -0.001280> + 18483: <-0.008305, -0.000424, -0.001278> + 18484: <-0.008359, 0.000000, -0.000855> + 18485: <-0.008350, 0.000426, -0.000854> + 18486: <-0.008305, 0.000424, -0.001278> + 18487: <-0.008314, 0.000000, -0.001280> + 18488: <-0.008350, 0.000426, -0.000854> + 18489: <-0.008323, 0.000852, -0.000852> + 18490: <-0.008278, 0.000848, -0.001275> + 18491: <-0.008305, 0.000424, -0.001278> + 18492: <-0.008323, 0.000852, -0.000852> + 18493: <-0.008278, 0.001275, -0.000848> + 18494: <-0.008233, 0.001269, -0.001269> + 18495: <-0.008278, 0.000848, -0.001275> + 18496: <-0.008278, 0.001275, -0.000848> + 18497: <-0.008215, 0.001694, -0.000842> + 18498: <-0.008171, 0.001686, -0.001261> + 18499: <-0.008233, 0.001269, -0.001269> + 18500: <-0.008215, 0.001694, -0.000842> + 18501: <-0.008134, 0.002109, -0.000836> + 18502: <-0.008090, 0.002099, -0.001252> + 18503: <-0.008171, 0.001686, -0.001261> + 18504: <-0.008134, 0.002109, -0.000836> + 18505: <-0.008036, 0.002519, -0.000829> + 18506: <-0.007992, 0.002507, -0.001241> + 18507: <-0.008090, 0.002099, -0.001252> + 18508: <-0.008036, 0.002519, -0.000829> + 18509: <-0.007919, 0.002922, -0.000822> + 18510: <-0.007876, 0.002908, -0.001230> + 18511: <-0.007992, 0.002507, -0.001241> + 18512: <-0.007919, 0.002922, -0.000822> + 18513: <-0.007785, 0.003318, -0.000814> + 18514: <-0.007743, 0.003302, -0.001219> + 18515: <-0.007876, 0.002908, -0.001230> + 18516: <-0.007785, 0.003318, -0.000814> + 18517: <-0.007632, 0.003704, -0.000807> + 18518: <-0.007591, 0.003686, -0.001207> + 18519: <-0.007743, 0.003302, -0.001219> + 18520: <-0.007632, 0.003704, -0.000807> + 18521: <-0.007462, 0.004081, -0.000799> + 18522: <-0.007423, 0.004061, -0.001196> + 18523: <-0.007591, 0.003686, -0.001207> + 18524: <-0.007462, 0.004081, -0.000799> + 18525: <-0.007275, 0.004446, -0.000792> + 18526: <-0.007236, 0.004424, -0.001185> + 18527: <-0.007423, 0.004061, -0.001196> + 18528: <-0.007275, 0.004446, -0.000792> + 18529: <-0.007069, 0.004800, -0.000786> + 18530: <-0.007032, 0.004776, -0.001176> + 18531: <-0.007236, 0.004424, -0.001185> + 18532: <-0.007069, 0.004800, -0.000786> + 18533: <-0.006846, 0.005140, -0.000781> + 18534: <-0.006810, 0.005114, -0.001168> + 18535: <-0.007032, 0.004776, -0.001176> + 18536: <-0.006846, 0.005140, -0.000781> + 18537: <-0.006605, 0.005466, -0.000777> + 18538: <-0.006570, 0.005438, -0.001161> + 18539: <-0.006810, 0.005114, -0.001168> + 18540: <-0.006605, 0.005466, -0.000777> + 18541: <-0.006346, 0.005776, -0.000774> + 18542: <-0.006313, 0.005747, -0.001157> + 18543: <-0.006570, 0.005438, -0.001161> + 18544: <-0.006313, -0.005747, -0.001157> + 18545: <-0.006570, -0.005438, -0.001161> + 18546: <-0.006523, -0.005401, -0.001541> + 18547: <-0.006269, -0.005707, -0.001536> + 18548: <-0.006570, -0.005438, -0.001161> + 18549: <-0.006810, -0.005114, -0.001168> + 18550: <-0.006761, -0.005080, -0.001550> + 18551: <-0.006523, -0.005401, -0.001541> + 18552: <-0.006810, -0.005114, -0.001168> + 18553: <-0.007032, -0.004776, -0.001176> + 18554: <-0.006980, -0.004744, -0.001561> + 18555: <-0.006761, -0.005080, -0.001550> + 18556: <-0.007032, -0.004776, -0.001176> + 18557: <-0.007236, -0.004424, -0.001185> + 18558: <-0.007183, -0.004395, -0.001574> + 18559: <-0.006980, -0.004744, -0.001561> + 18560: <-0.007236, -0.004424, -0.001185> + 18561: <-0.007423, -0.004061, -0.001196> + 18562: <-0.007367, -0.004034, -0.001588> + 18563: <-0.007183, -0.004395, -0.001574> + 18564: <-0.007423, -0.004061, -0.001196> + 18565: <-0.007591, -0.003686, -0.001207> + 18566: <-0.007535, -0.003663, -0.001603> + 18567: <-0.007367, -0.004034, -0.001588> + 18568: <-0.007591, -0.003686, -0.001207> + 18569: <-0.007743, -0.003302, -0.001219> + 18570: <-0.007684, -0.003281, -0.001619> + 18571: <-0.007535, -0.003663, -0.001603> + 18572: <-0.007743, -0.003302, -0.001219> + 18573: <-0.007876, -0.002908, -0.001230> + 18574: <-0.007817, -0.002890, -0.001635> + 18575: <-0.007684, -0.003281, -0.001619> + 18576: <-0.007876, -0.002908, -0.001230> + 18577: <-0.007992, -0.002507, -0.001241> + 18578: <-0.007932, -0.002492, -0.001650> + 18579: <-0.007817, -0.002890, -0.001635> + 18580: <-0.007992, -0.002507, -0.001241> + 18581: <-0.008090, -0.002099, -0.001252> + 18582: <-0.008029, -0.002086, -0.001663> + 18583: <-0.007932, -0.002492, -0.001650> + 18584: <-0.008090, -0.002099, -0.001252> + 18585: <-0.008171, -0.001686, -0.001261> + 18586: <-0.008109, -0.001676, -0.001676> + 18587: <-0.008029, -0.002086, -0.001663> + 18588: <-0.008171, -0.001686, -0.001261> + 18589: <-0.008233, -0.001269, -0.001269> + 18590: <-0.008171, -0.001261, -0.001686> + 18591: <-0.008109, -0.001676, -0.001676> + 18592: <-0.008233, -0.001269, -0.001269> + 18593: <-0.008278, -0.000848, -0.001275> + 18594: <-0.008215, -0.000842, -0.001694> + 18595: <-0.008171, -0.001261, -0.001686> + 18596: <-0.008278, -0.000848, -0.001275> + 18597: <-0.008305, -0.000424, -0.001278> + 18598: <-0.008242, -0.000422, -0.001699> + 18599: <-0.008215, -0.000842, -0.001694> + 18600: <-0.008305, -0.000424, -0.001278> + 18601: <-0.008314, 0.000000, -0.001280> + 18602: <-0.008251, 0.000000, -0.001701> + 18603: <-0.008242, -0.000422, -0.001699> + 18604: <-0.008314, 0.000000, -0.001280> + 18605: <-0.008305, 0.000424, -0.001278> + 18606: <-0.008242, 0.000422, -0.001699> + 18607: <-0.008251, 0.000000, -0.001701> + 18608: <-0.008305, 0.000424, -0.001278> + 18609: <-0.008278, 0.000848, -0.001275> + 18610: <-0.008215, 0.000842, -0.001694> + 18611: <-0.008242, 0.000422, -0.001699> + 18612: <-0.008278, 0.000848, -0.001275> + 18613: <-0.008233, 0.001269, -0.001269> + 18614: <-0.008171, 0.001261, -0.001686> + 18615: <-0.008215, 0.000842, -0.001694> + 18616: <-0.008233, 0.001269, -0.001269> + 18617: <-0.008171, 0.001686, -0.001261> + 18618: <-0.008109, 0.001676, -0.001676> + 18619: <-0.008171, 0.001261, -0.001686> + 18620: <-0.008171, 0.001686, -0.001261> + 18621: <-0.008090, 0.002099, -0.001252> + 18622: <-0.008029, 0.002086, -0.001663> + 18623: <-0.008109, 0.001676, -0.001676> + 18624: <-0.008090, 0.002099, -0.001252> + 18625: <-0.007992, 0.002507, -0.001241> + 18626: <-0.007932, 0.002492, -0.001650> + 18627: <-0.008029, 0.002086, -0.001663> + 18628: <-0.007992, 0.002507, -0.001241> + 18629: <-0.007876, 0.002908, -0.001230> + 18630: <-0.007817, 0.002890, -0.001635> + 18631: <-0.007932, 0.002492, -0.001650> + 18632: <-0.007876, 0.002908, -0.001230> + 18633: <-0.007743, 0.003302, -0.001219> + 18634: <-0.007684, 0.003281, -0.001619> + 18635: <-0.007817, 0.002890, -0.001635> + 18636: <-0.007743, 0.003302, -0.001219> + 18637: <-0.007591, 0.003686, -0.001207> + 18638: <-0.007535, 0.003663, -0.001603> + 18639: <-0.007684, 0.003281, -0.001619> + 18640: <-0.007591, 0.003686, -0.001207> + 18641: <-0.007423, 0.004061, -0.001196> + 18642: <-0.007367, 0.004034, -0.001588> + 18643: <-0.007535, 0.003663, -0.001603> + 18644: <-0.007423, 0.004061, -0.001196> + 18645: <-0.007236, 0.004424, -0.001185> + 18646: <-0.007183, 0.004395, -0.001574> + 18647: <-0.007367, 0.004034, -0.001588> + 18648: <-0.007236, 0.004424, -0.001185> + 18649: <-0.007032, 0.004776, -0.001176> + 18650: <-0.006980, 0.004744, -0.001561> + 18651: <-0.007183, 0.004395, -0.001574> + 18652: <-0.007032, 0.004776, -0.001176> + 18653: <-0.006810, 0.005114, -0.001168> + 18654: <-0.006761, 0.005080, -0.001550> + 18655: <-0.006980, 0.004744, -0.001561> + 18656: <-0.006810, 0.005114, -0.001168> + 18657: <-0.006570, 0.005438, -0.001161> + 18658: <-0.006523, 0.005401, -0.001541> + 18659: <-0.006761, 0.005080, -0.001550> + 18660: <-0.006570, 0.005438, -0.001161> + 18661: <-0.006313, 0.005747, -0.001157> + 18662: <-0.006269, 0.005707, -0.001536> + 18663: <-0.006523, 0.005401, -0.001541> + 18664: <-0.006269, -0.005707, -0.001536> + 18665: <-0.006523, -0.005401, -0.001541> + 18666: <-0.006464, -0.005355, -0.001915> + 18667: <-0.006212, -0.005657, -0.001908> + 18668: <-0.006523, -0.005401, -0.001541> + 18669: <-0.006761, -0.005080, -0.001550> + 18670: <-0.006698, -0.005037, -0.001926> + 18671: <-0.006464, -0.005355, -0.001915> + 18672: <-0.006761, -0.005080, -0.001550> + 18673: <-0.006980, -0.004744, -0.001561> + 18674: <-0.006915, -0.004705, -0.001940> + 18675: <-0.006698, -0.005037, -0.001926> + 18676: <-0.006980, -0.004744, -0.001561> + 18677: <-0.007183, -0.004395, -0.001574> + 18678: <-0.007115, -0.004360, -0.001957> + 18679: <-0.006915, -0.004705, -0.001940> + 18680: <-0.007183, -0.004395, -0.001574> + 18681: <-0.007367, -0.004034, -0.001588> + 18682: <-0.007297, -0.004002, -0.001975> + 18683: <-0.007115, -0.004360, -0.001957> + 18684: <-0.007367, -0.004034, -0.001588> + 18685: <-0.007535, -0.003663, -0.001603> + 18686: <-0.007462, -0.003634, -0.001995> + 18687: <-0.007297, -0.004002, -0.001975> + 18688: <-0.007535, -0.003663, -0.001603> + 18689: <-0.007684, -0.003281, -0.001619> + 18690: <-0.007610, -0.003255, -0.002015> + 18691: <-0.007462, -0.003634, -0.001995> + 18692: <-0.007684, -0.003281, -0.001619> + 18693: <-0.007817, -0.002890, -0.001635> + 18694: <-0.007740, -0.002868, -0.002035> + 18695: <-0.007610, -0.003255, -0.002015> + 18696: <-0.007817, -0.002890, -0.001635> + 18697: <-0.007932, -0.002492, -0.001650> + 18698: <-0.007854, -0.002473, -0.002053> + 18699: <-0.007740, -0.002868, -0.002035> + 18700: <-0.007932, -0.002492, -0.001650> + 18701: <-0.008029, -0.002086, -0.001663> + 18702: <-0.007950, -0.002071, -0.002071> + 18703: <-0.007854, -0.002473, -0.002053> + 18704: <-0.008029, -0.002086, -0.001663> + 18705: <-0.008109, -0.001676, -0.001676> + 18706: <-0.008029, -0.001663, -0.002086> + 18707: <-0.007950, -0.002071, -0.002071> + 18708: <-0.008109, -0.001676, -0.001676> + 18709: <-0.008171, -0.001261, -0.001686> + 18710: <-0.008090, -0.001252, -0.002099> + 18711: <-0.008029, -0.001663, -0.002086> + 18712: <-0.008171, -0.001261, -0.001686> + 18713: <-0.008215, -0.000842, -0.001694> + 18714: <-0.008134, -0.000836, -0.002109> + 18715: <-0.008090, -0.001252, -0.002099> + 18716: <-0.008215, -0.000842, -0.001694> + 18717: <-0.008242, -0.000422, -0.001699> + 18718: <-0.008161, -0.000419, -0.002116> + 18719: <-0.008134, -0.000836, -0.002109> + 18720: <-0.008242, -0.000422, -0.001699> + 18721: <-0.008251, 0.000000, -0.001701> + 18722: <-0.008169, 0.000000, -0.002118> + 18723: <-0.008161, -0.000419, -0.002116> + 18724: <-0.008251, 0.000000, -0.001701> + 18725: <-0.008242, 0.000422, -0.001699> + 18726: <-0.008161, 0.000419, -0.002116> + 18727: <-0.008169, 0.000000, -0.002118> + 18728: <-0.008242, 0.000422, -0.001699> + 18729: <-0.008215, 0.000842, -0.001694> + 18730: <-0.008134, 0.000836, -0.002109> + 18731: <-0.008161, 0.000419, -0.002116> + 18732: <-0.008215, 0.000842, -0.001694> + 18733: <-0.008171, 0.001261, -0.001686> + 18734: <-0.008090, 0.001252, -0.002099> + 18735: <-0.008134, 0.000836, -0.002109> + 18736: <-0.008171, 0.001261, -0.001686> + 18737: <-0.008109, 0.001676, -0.001676> + 18738: <-0.008029, 0.001663, -0.002086> + 18739: <-0.008090, 0.001252, -0.002099> + 18740: <-0.008109, 0.001676, -0.001676> + 18741: <-0.008029, 0.002086, -0.001663> + 18742: <-0.007950, 0.002071, -0.002071> + 18743: <-0.008029, 0.001663, -0.002086> + 18744: <-0.008029, 0.002086, -0.001663> + 18745: <-0.007932, 0.002492, -0.001650> + 18746: <-0.007854, 0.002473, -0.002053> + 18747: <-0.007950, 0.002071, -0.002071> + 18748: <-0.007932, 0.002492, -0.001650> + 18749: <-0.007817, 0.002890, -0.001635> + 18750: <-0.007740, 0.002868, -0.002035> + 18751: <-0.007854, 0.002473, -0.002053> + 18752: <-0.007817, 0.002890, -0.001635> + 18753: <-0.007684, 0.003281, -0.001619> + 18754: <-0.007610, 0.003255, -0.002015> + 18755: <-0.007740, 0.002868, -0.002035> + 18756: <-0.007684, 0.003281, -0.001619> + 18757: <-0.007535, 0.003663, -0.001603> + 18758: <-0.007462, 0.003634, -0.001995> + 18759: <-0.007610, 0.003255, -0.002015> + 18760: <-0.007535, 0.003663, -0.001603> + 18761: <-0.007367, 0.004034, -0.001588> + 18762: <-0.007297, 0.004002, -0.001975> + 18763: <-0.007462, 0.003634, -0.001995> + 18764: <-0.007367, 0.004034, -0.001588> + 18765: <-0.007183, 0.004395, -0.001574> + 18766: <-0.007115, 0.004360, -0.001957> + 18767: <-0.007297, 0.004002, -0.001975> + 18768: <-0.007183, 0.004395, -0.001574> + 18769: <-0.006980, 0.004744, -0.001561> + 18770: <-0.006915, 0.004705, -0.001940> + 18771: <-0.007115, 0.004360, -0.001957> + 18772: <-0.006980, 0.004744, -0.001561> + 18773: <-0.006761, 0.005080, -0.001550> + 18774: <-0.006698, 0.005037, -0.001926> + 18775: <-0.006915, 0.004705, -0.001940> + 18776: <-0.006761, 0.005080, -0.001550> + 18777: <-0.006523, 0.005401, -0.001541> + 18778: <-0.006464, 0.005355, -0.001915> + 18779: <-0.006698, 0.005037, -0.001926> + 18780: <-0.006523, 0.005401, -0.001541> + 18781: <-0.006269, 0.005707, -0.001536> + 18782: <-0.006212, 0.005657, -0.001908> + 18783: <-0.006464, 0.005355, -0.001915> + 18784: <-0.006212, -0.005657, -0.001908> + 18785: <-0.006464, -0.005355, -0.001915> + 18786: <-0.006393, -0.005301, -0.002281> + 18787: <-0.006146, -0.005599, -0.002272> + 18788: <-0.006464, -0.005355, -0.001915> + 18789: <-0.006698, -0.005037, -0.001926> + 18790: <-0.006623, -0.004987, -0.002295> + 18791: <-0.006393, -0.005301, -0.002281> + 18792: <-0.006698, -0.005037, -0.001926> + 18793: <-0.006915, -0.004705, -0.001940> + 18794: <-0.006836, -0.004659, -0.002313> + 18795: <-0.006623, -0.004987, -0.002295> + 18796: <-0.006915, -0.004705, -0.001940> + 18797: <-0.007115, -0.004360, -0.001957> + 18798: <-0.007033, -0.004318, -0.002333> + 18799: <-0.006836, -0.004659, -0.002313> + 18800: <-0.007115, -0.004360, -0.001957> + 18801: <-0.007297, -0.004002, -0.001975> + 18802: <-0.007212, -0.003965, -0.002356> + 18803: <-0.007033, -0.004318, -0.002333> + 18804: <-0.007297, -0.004002, -0.001975> + 18805: <-0.007462, -0.003634, -0.001995> + 18806: <-0.007374, -0.003601, -0.002380> + 18807: <-0.007212, -0.003965, -0.002356> + 18808: <-0.007462, -0.003634, -0.001995> + 18809: <-0.007610, -0.003255, -0.002015> + 18810: <-0.007519, -0.003227, -0.002405> + 18811: <-0.007374, -0.003601, -0.002380> + 18812: <-0.007610, -0.003255, -0.002015> + 18813: <-0.007740, -0.002868, -0.002035> + 18814: <-0.007648, -0.002843, -0.002429> + 18815: <-0.007519, -0.003227, -0.002405> + 18816: <-0.007740, -0.002868, -0.002035> + 18817: <-0.007854, -0.002473, -0.002053> + 18818: <-0.007759, -0.002452, -0.002452> + 18819: <-0.007648, -0.002843, -0.002429> + 18820: <-0.007854, -0.002473, -0.002053> + 18821: <-0.007950, -0.002071, -0.002071> + 18822: <-0.007854, -0.002053, -0.002473> + 18823: <-0.007759, -0.002452, -0.002452> + 18824: <-0.007950, -0.002071, -0.002071> + 18825: <-0.008029, -0.001663, -0.002086> + 18826: <-0.007932, -0.001650, -0.002492> + 18827: <-0.007854, -0.002053, -0.002473> + 18828: <-0.008029, -0.001663, -0.002086> + 18829: <-0.008090, -0.001252, -0.002099> + 18830: <-0.007992, -0.001241, -0.002507> + 18831: <-0.007932, -0.001650, -0.002492> + 18832: <-0.008090, -0.001252, -0.002099> + 18833: <-0.008134, -0.000836, -0.002109> + 18834: <-0.008036, -0.000829, -0.002519> + 18835: <-0.007992, -0.001241, -0.002507> + 18836: <-0.008134, -0.000836, -0.002109> + 18837: <-0.008161, -0.000419, -0.002116> + 18838: <-0.008062, -0.000415, -0.002527> + 18839: <-0.008036, -0.000829, -0.002519> + 18840: <-0.008161, -0.000419, -0.002116> + 18841: <-0.008169, 0.000000, -0.002118> + 18842: <-0.008070, 0.000000, -0.002530> + 18843: <-0.008062, -0.000415, -0.002527> + 18844: <-0.008169, 0.000000, -0.002118> + 18845: <-0.008161, 0.000419, -0.002116> + 18846: <-0.008062, 0.000415, -0.002527> + 18847: <-0.008070, 0.000000, -0.002530> + 18848: <-0.008161, 0.000419, -0.002116> + 18849: <-0.008134, 0.000836, -0.002109> + 18850: <-0.008036, 0.000829, -0.002519> + 18851: <-0.008062, 0.000415, -0.002527> + 18852: <-0.008134, 0.000836, -0.002109> + 18853: <-0.008090, 0.001252, -0.002099> + 18854: <-0.007992, 0.001241, -0.002507> + 18855: <-0.008036, 0.000829, -0.002519> + 18856: <-0.008090, 0.001252, -0.002099> + 18857: <-0.008029, 0.001663, -0.002086> + 18858: <-0.007932, 0.001650, -0.002492> + 18859: <-0.007992, 0.001241, -0.002507> + 18860: <-0.008029, 0.001663, -0.002086> + 18861: <-0.007950, 0.002071, -0.002071> + 18862: <-0.007854, 0.002053, -0.002473> + 18863: <-0.007932, 0.001650, -0.002492> + 18864: <-0.007950, 0.002071, -0.002071> + 18865: <-0.007854, 0.002473, -0.002053> + 18866: <-0.007759, 0.002452, -0.002452> + 18867: <-0.007854, 0.002053, -0.002473> + 18868: <-0.007854, 0.002473, -0.002053> + 18869: <-0.007740, 0.002868, -0.002035> + 18870: <-0.007648, 0.002843, -0.002429> + 18871: <-0.007759, 0.002452, -0.002452> + 18872: <-0.007740, 0.002868, -0.002035> + 18873: <-0.007610, 0.003255, -0.002015> + 18874: <-0.007519, 0.003227, -0.002405> + 18875: <-0.007648, 0.002843, -0.002429> + 18876: <-0.007610, 0.003255, -0.002015> + 18877: <-0.007462, 0.003634, -0.001995> + 18878: <-0.007374, 0.003601, -0.002380> + 18879: <-0.007519, 0.003227, -0.002405> + 18880: <-0.007462, 0.003634, -0.001995> + 18881: <-0.007297, 0.004002, -0.001975> + 18882: <-0.007212, 0.003965, -0.002356> + 18883: <-0.007374, 0.003601, -0.002380> + 18884: <-0.007297, 0.004002, -0.001975> + 18885: <-0.007115, 0.004360, -0.001957> + 18886: <-0.007033, 0.004318, -0.002333> + 18887: <-0.007212, 0.003965, -0.002356> + 18888: <-0.007115, 0.004360, -0.001957> + 18889: <-0.006915, 0.004705, -0.001940> + 18890: <-0.006836, 0.004659, -0.002313> + 18891: <-0.007033, 0.004318, -0.002333> + 18892: <-0.006915, 0.004705, -0.001940> + 18893: <-0.006698, 0.005037, -0.001926> + 18894: <-0.006623, 0.004987, -0.002295> + 18895: <-0.006836, 0.004659, -0.002313> + 18896: <-0.006698, 0.005037, -0.001926> + 18897: <-0.006464, 0.005355, -0.001915> + 18898: <-0.006393, 0.005301, -0.002281> + 18899: <-0.006623, 0.004987, -0.002295> + 18900: <-0.006464, 0.005355, -0.001915> + 18901: <-0.006212, 0.005657, -0.001908> + 18902: <-0.006146, 0.005599, -0.002272> + 18903: <-0.006393, 0.005301, -0.002281> + 18904: <-0.006146, -0.005599, -0.002272> + 18905: <-0.006393, -0.005301, -0.002281> + 18906: <-0.006311, -0.005240, -0.002638> + 18907: <-0.006069, -0.005533, -0.002627> + 18908: <-0.006393, -0.005301, -0.002281> + 18909: <-0.006623, -0.004987, -0.002295> + 18910: <-0.006537, -0.004931, -0.002655> + 18911: <-0.006311, -0.005240, -0.002638> + 18912: <-0.006623, -0.004987, -0.002295> + 18913: <-0.006836, -0.004659, -0.002313> + 18914: <-0.006745, -0.004609, -0.002676> + 18915: <-0.006537, -0.004931, -0.002655> + 18916: <-0.006836, -0.004659, -0.002313> + 18917: <-0.007033, -0.004318, -0.002333> + 18918: <-0.006937, -0.004273, -0.002701> + 18919: <-0.006745, -0.004609, -0.002676> + 18920: <-0.007033, -0.004318, -0.002333> + 18921: <-0.007212, -0.003965, -0.002356> + 18922: <-0.007112, -0.003924, -0.002729> + 18923: <-0.006937, -0.004273, -0.002701> + 18924: <-0.007212, -0.003965, -0.002356> + 18925: <-0.007374, -0.003601, -0.002380> + 18926: <-0.007270, -0.003565, -0.002758> + 18927: <-0.007112, -0.003924, -0.002729> + 18928: <-0.007374, -0.003601, -0.002380> + 18929: <-0.007519, -0.003227, -0.002405> + 18930: <-0.007412, -0.003195, -0.002787> + 18931: <-0.007270, -0.003565, -0.002758> + 18932: <-0.007519, -0.003227, -0.002405> + 18933: <-0.007648, -0.002843, -0.002429> + 18934: <-0.007538, -0.002816, -0.002816> + 18935: <-0.007412, -0.003195, -0.002787> + 18936: <-0.007648, -0.002843, -0.002429> + 18937: <-0.007759, -0.002452, -0.002452> + 18938: <-0.007648, -0.002429, -0.002843> + 18939: <-0.007538, -0.002816, -0.002816> + 18940: <-0.007759, -0.002452, -0.002452> + 18941: <-0.007854, -0.002053, -0.002473> + 18942: <-0.007740, -0.002035, -0.002868> + 18943: <-0.007648, -0.002429, -0.002843> + 18944: <-0.007854, -0.002053, -0.002473> + 18945: <-0.007932, -0.001650, -0.002492> + 18946: <-0.007817, -0.001635, -0.002890> + 18947: <-0.007740, -0.002035, -0.002868> + 18948: <-0.007932, -0.001650, -0.002492> + 18949: <-0.007992, -0.001241, -0.002507> + 18950: <-0.007876, -0.001230, -0.002908> + 18951: <-0.007817, -0.001635, -0.002890> + 18952: <-0.007992, -0.001241, -0.002507> + 18953: <-0.008036, -0.000829, -0.002519> + 18954: <-0.007919, -0.000822, -0.002922> + 18955: <-0.007876, -0.001230, -0.002908> + 18956: <-0.008036, -0.000829, -0.002519> + 18957: <-0.008062, -0.000415, -0.002527> + 18958: <-0.007945, -0.000412, -0.002931> + 18959: <-0.007919, -0.000822, -0.002922> + 18960: <-0.008062, -0.000415, -0.002527> + 18961: <-0.008070, 0.000000, -0.002530> + 18962: <-0.007953, 0.000000, -0.002934> + 18963: <-0.007945, -0.000412, -0.002931> + 18964: <-0.008070, 0.000000, -0.002530> + 18965: <-0.008062, 0.000415, -0.002527> + 18966: <-0.007945, 0.000412, -0.002931> + 18967: <-0.007953, 0.000000, -0.002934> + 18968: <-0.008062, 0.000415, -0.002527> + 18969: <-0.008036, 0.000829, -0.002519> + 18970: <-0.007919, 0.000822, -0.002922> + 18971: <-0.007945, 0.000412, -0.002931> + 18972: <-0.008036, 0.000829, -0.002519> + 18973: <-0.007992, 0.001241, -0.002507> + 18974: <-0.007876, 0.001230, -0.002908> + 18975: <-0.007919, 0.000822, -0.002922> + 18976: <-0.007992, 0.001241, -0.002507> + 18977: <-0.007932, 0.001650, -0.002492> + 18978: <-0.007817, 0.001635, -0.002890> + 18979: <-0.007876, 0.001230, -0.002908> + 18980: <-0.007932, 0.001650, -0.002492> + 18981: <-0.007854, 0.002053, -0.002473> + 18982: <-0.007740, 0.002035, -0.002868> + 18983: <-0.007817, 0.001635, -0.002890> + 18984: <-0.007854, 0.002053, -0.002473> + 18985: <-0.007759, 0.002452, -0.002452> + 18986: <-0.007648, 0.002429, -0.002843> + 18987: <-0.007740, 0.002035, -0.002868> + 18988: <-0.007759, 0.002452, -0.002452> + 18989: <-0.007648, 0.002843, -0.002429> + 18990: <-0.007538, 0.002816, -0.002816> + 18991: <-0.007648, 0.002429, -0.002843> + 18992: <-0.007648, 0.002843, -0.002429> + 18993: <-0.007519, 0.003227, -0.002405> + 18994: <-0.007412, 0.003195, -0.002787> + 18995: <-0.007538, 0.002816, -0.002816> + 18996: <-0.007519, 0.003227, -0.002405> + 18997: <-0.007374, 0.003601, -0.002380> + 18998: <-0.007270, 0.003565, -0.002758> + 18999: <-0.007412, 0.003195, -0.002787> + 19000: <-0.007374, 0.003601, -0.002380> + 19001: <-0.007212, 0.003965, -0.002356> + 19002: <-0.007112, 0.003924, -0.002729> + 19003: <-0.007270, 0.003565, -0.002758> + 19004: <-0.007212, 0.003965, -0.002356> + 19005: <-0.007033, 0.004318, -0.002333> + 19006: <-0.006937, 0.004273, -0.002701> + 19007: <-0.007112, 0.003924, -0.002729> + 19008: <-0.007033, 0.004318, -0.002333> + 19009: <-0.006836, 0.004659, -0.002313> + 19010: <-0.006745, 0.004609, -0.002676> + 19011: <-0.006937, 0.004273, -0.002701> + 19012: <-0.006836, 0.004659, -0.002313> + 19013: <-0.006623, 0.004987, -0.002295> + 19014: <-0.006537, 0.004931, -0.002655> + 19015: <-0.006745, 0.004609, -0.002676> + 19016: <-0.006623, 0.004987, -0.002295> + 19017: <-0.006393, 0.005301, -0.002281> + 19018: <-0.006311, 0.005240, -0.002638> + 19019: <-0.006537, 0.004931, -0.002655> + 19020: <-0.006393, 0.005301, -0.002281> + 19021: <-0.006146, 0.005599, -0.002272> + 19022: <-0.006069, 0.005533, -0.002627> + 19023: <-0.006311, 0.005240, -0.002638> + 19024: <-0.006069, -0.005533, -0.002627> + 19025: <-0.006311, -0.005240, -0.002638> + 19026: <-0.006219, -0.005172, -0.002984> + 19027: <-0.005983, -0.005459, -0.002971> + 19028: <-0.006311, -0.005240, -0.002638> + 19029: <-0.006537, -0.004931, -0.002655> + 19030: <-0.006439, -0.004870, -0.003004> + 19031: <-0.006219, -0.005172, -0.002984> + 19032: <-0.006537, -0.004931, -0.002655> + 19033: <-0.006745, -0.004609, -0.002676> + 19034: <-0.006641, -0.004553, -0.003030> + 19035: <-0.006439, -0.004870, -0.003004> + 19036: <-0.006745, -0.004609, -0.002676> + 19037: <-0.006937, -0.004273, -0.002701> + 19038: <-0.006828, -0.004223, -0.003060> + 19039: <-0.006641, -0.004553, -0.003030> + 19040: <-0.006937, -0.004273, -0.002701> + 19041: <-0.007112, -0.003924, -0.002729> + 19042: <-0.006998, -0.003880, -0.003093> + 19043: <-0.006828, -0.004223, -0.003060> + 19044: <-0.007112, -0.003924, -0.002729> + 19045: <-0.007270, -0.003565, -0.002758> + 19046: <-0.007152, -0.003526, -0.003127> + 19047: <-0.006998, -0.003880, -0.003093> + 19048: <-0.007270, -0.003565, -0.002758> + 19049: <-0.007412, -0.003195, -0.002787> + 19050: <-0.007290, -0.003162, -0.003162> + 19051: <-0.007152, -0.003526, -0.003127> + 19052: <-0.007412, -0.003195, -0.002787> + 19053: <-0.007538, -0.002816, -0.002816> + 19054: <-0.007412, -0.002787, -0.003195> + 19055: <-0.007290, -0.003162, -0.003162> + 19056: <-0.007538, -0.002816, -0.002816> + 19057: <-0.007648, -0.002429, -0.002843> + 19058: <-0.007519, -0.002405, -0.003227> + 19059: <-0.007412, -0.002787, -0.003195> + 19060: <-0.007648, -0.002429, -0.002843> + 19061: <-0.007740, -0.002035, -0.002868> + 19062: <-0.007610, -0.002015, -0.003255> + 19063: <-0.007519, -0.002405, -0.003227> + 19064: <-0.007740, -0.002035, -0.002868> + 19065: <-0.007817, -0.001635, -0.002890> + 19066: <-0.007684, -0.001619, -0.003281> + 19067: <-0.007610, -0.002015, -0.003255> + 19068: <-0.007817, -0.001635, -0.002890> + 19069: <-0.007876, -0.001230, -0.002908> + 19070: <-0.007743, -0.001219, -0.003302> + 19071: <-0.007684, -0.001619, -0.003281> + 19072: <-0.007876, -0.001230, -0.002908> + 19073: <-0.007919, -0.000822, -0.002922> + 19074: <-0.007785, -0.000814, -0.003318> + 19075: <-0.007743, -0.001219, -0.003302> + 19076: <-0.007919, -0.000822, -0.002922> + 19077: <-0.007945, -0.000412, -0.002931> + 19078: <-0.007810, -0.000408, -0.003328> + 19079: <-0.007785, -0.000814, -0.003318> + 19080: <-0.007945, -0.000412, -0.002931> + 19081: <-0.007953, 0.000000, -0.002934> + 19082: <-0.007818, 0.000000, -0.003331> + 19083: <-0.007810, -0.000408, -0.003328> + 19084: <-0.007953, 0.000000, -0.002934> + 19085: <-0.007945, 0.000412, -0.002931> + 19086: <-0.007810, 0.000408, -0.003328> + 19087: <-0.007818, 0.000000, -0.003331> + 19088: <-0.007945, 0.000412, -0.002931> + 19089: <-0.007919, 0.000822, -0.002922> + 19090: <-0.007785, 0.000814, -0.003318> + 19091: <-0.007810, 0.000408, -0.003328> + 19092: <-0.007919, 0.000822, -0.002922> + 19093: <-0.007876, 0.001230, -0.002908> + 19094: <-0.007743, 0.001219, -0.003302> + 19095: <-0.007785, 0.000814, -0.003318> + 19096: <-0.007876, 0.001230, -0.002908> + 19097: <-0.007817, 0.001635, -0.002890> + 19098: <-0.007684, 0.001619, -0.003281> + 19099: <-0.007743, 0.001219, -0.003302> + 19100: <-0.007817, 0.001635, -0.002890> + 19101: <-0.007740, 0.002035, -0.002868> + 19102: <-0.007610, 0.002015, -0.003255> + 19103: <-0.007684, 0.001619, -0.003281> + 19104: <-0.007740, 0.002035, -0.002868> + 19105: <-0.007648, 0.002429, -0.002843> + 19106: <-0.007519, 0.002405, -0.003227> + 19107: <-0.007610, 0.002015, -0.003255> + 19108: <-0.007648, 0.002429, -0.002843> + 19109: <-0.007538, 0.002816, -0.002816> + 19110: <-0.007412, 0.002787, -0.003195> + 19111: <-0.007519, 0.002405, -0.003227> + 19112: <-0.007538, 0.002816, -0.002816> + 19113: <-0.007412, 0.003195, -0.002787> + 19114: <-0.007290, 0.003162, -0.003162> + 19115: <-0.007412, 0.002787, -0.003195> + 19116: <-0.007412, 0.003195, -0.002787> + 19117: <-0.007270, 0.003565, -0.002758> + 19118: <-0.007152, 0.003526, -0.003127> + 19119: <-0.007290, 0.003162, -0.003162> + 19120: <-0.007270, 0.003565, -0.002758> + 19121: <-0.007112, 0.003924, -0.002729> + 19122: <-0.006998, 0.003880, -0.003093> + 19123: <-0.007152, 0.003526, -0.003127> + 19124: <-0.007112, 0.003924, -0.002729> + 19125: <-0.006937, 0.004273, -0.002701> + 19126: <-0.006828, 0.004223, -0.003060> + 19127: <-0.006998, 0.003880, -0.003093> + 19128: <-0.006937, 0.004273, -0.002701> + 19129: <-0.006745, 0.004609, -0.002676> + 19130: <-0.006641, 0.004553, -0.003030> + 19131: <-0.006828, 0.004223, -0.003060> + 19132: <-0.006745, 0.004609, -0.002676> + 19133: <-0.006537, 0.004931, -0.002655> + 19134: <-0.006439, 0.004870, -0.003004> + 19135: <-0.006641, 0.004553, -0.003030> + 19136: <-0.006537, 0.004931, -0.002655> + 19137: <-0.006311, 0.005240, -0.002638> + 19138: <-0.006219, 0.005172, -0.002984> + 19139: <-0.006439, 0.004870, -0.003004> + 19140: <-0.006311, 0.005240, -0.002638> + 19141: <-0.006069, 0.005533, -0.002627> + 19142: <-0.005983, 0.005459, -0.002971> + 19143: <-0.006219, 0.005172, -0.002984> + 19144: <-0.005983, -0.005459, -0.002971> + 19145: <-0.006219, -0.005172, -0.002984> + 19146: <-0.006117, -0.005099, -0.003318> + 19147: <-0.005888, -0.005379, -0.003302> + 19148: <-0.006219, -0.005172, -0.002984> + 19149: <-0.006439, -0.004870, -0.003004> + 19150: <-0.006329, -0.004804, -0.003342> + 19151: <-0.006117, -0.005099, -0.003318> + 19152: <-0.006439, -0.004870, -0.003004> + 19153: <-0.006641, -0.004553, -0.003030> + 19154: <-0.006525, -0.004494, -0.003372> + 19155: <-0.006329, -0.004804, -0.003342> + 19156: <-0.006641, -0.004553, -0.003030> + 19157: <-0.006828, -0.004223, -0.003060> + 19158: <-0.006705, -0.004170, -0.003407> + 19159: <-0.006525, -0.004494, -0.003372> + 19160: <-0.006828, -0.004223, -0.003060> + 19161: <-0.006998, -0.003880, -0.003093> + 19162: <-0.006870, -0.003834, -0.003446> + 19163: <-0.006705, -0.004170, -0.003407> + 19164: <-0.006998, -0.003880, -0.003093> + 19165: <-0.007152, -0.003526, -0.003127> + 19166: <-0.007018, -0.003486, -0.003486> + 19167: <-0.006870, -0.003834, -0.003446> + 19168: <-0.007152, -0.003526, -0.003127> + 19169: <-0.007290, -0.003162, -0.003162> + 19170: <-0.007152, -0.003127, -0.003526> + 19171: <-0.007018, -0.003486, -0.003486> + 19172: <-0.007290, -0.003162, -0.003162> + 19173: <-0.007412, -0.002787, -0.003195> + 19174: <-0.007270, -0.002758, -0.003565> + 19175: <-0.007152, -0.003127, -0.003526> + 19176: <-0.007412, -0.002787, -0.003195> + 19177: <-0.007519, -0.002405, -0.003227> + 19178: <-0.007374, -0.002380, -0.003601> + 19179: <-0.007270, -0.002758, -0.003565> + 19180: <-0.007519, -0.002405, -0.003227> + 19181: <-0.007610, -0.002015, -0.003255> + 19182: <-0.007462, -0.001995, -0.003634> + 19183: <-0.007374, -0.002380, -0.003601> + 19184: <-0.007610, -0.002015, -0.003255> + 19185: <-0.007684, -0.001619, -0.003281> + 19186: <-0.007535, -0.001603, -0.003663> + 19187: <-0.007462, -0.001995, -0.003634> + 19188: <-0.007684, -0.001619, -0.003281> + 19189: <-0.007743, -0.001219, -0.003302> + 19190: <-0.007591, -0.001207, -0.003686> + 19191: <-0.007535, -0.001603, -0.003663> + 19192: <-0.007743, -0.001219, -0.003302> + 19193: <-0.007785, -0.000814, -0.003318> + 19194: <-0.007632, -0.000807, -0.003704> + 19195: <-0.007591, -0.001207, -0.003686> + 19196: <-0.007785, -0.000814, -0.003318> + 19197: <-0.007810, -0.000408, -0.003328> + 19198: <-0.007657, -0.000404, -0.003716> + 19199: <-0.007632, -0.000807, -0.003704> + 19200: <-0.007810, -0.000408, -0.003328> + 19201: <-0.007818, 0.000000, -0.003331> + 19202: <-0.007665, 0.000000, -0.003720> + 19203: <-0.007657, -0.000404, -0.003716> + 19204: <-0.007818, 0.000000, -0.003331> + 19205: <-0.007810, 0.000408, -0.003328> + 19206: <-0.007657, 0.000404, -0.003716> + 19207: <-0.007665, 0.000000, -0.003720> + 19208: <-0.007810, 0.000408, -0.003328> + 19209: <-0.007785, 0.000814, -0.003318> + 19210: <-0.007632, 0.000807, -0.003704> + 19211: <-0.007657, 0.000404, -0.003716> + 19212: <-0.007785, 0.000814, -0.003318> + 19213: <-0.007743, 0.001219, -0.003302> + 19214: <-0.007591, 0.001207, -0.003686> + 19215: <-0.007632, 0.000807, -0.003704> + 19216: <-0.007743, 0.001219, -0.003302> + 19217: <-0.007684, 0.001619, -0.003281> + 19218: <-0.007535, 0.001603, -0.003663> + 19219: <-0.007591, 0.001207, -0.003686> + 19220: <-0.007684, 0.001619, -0.003281> + 19221: <-0.007610, 0.002015, -0.003255> + 19222: <-0.007462, 0.001995, -0.003634> + 19223: <-0.007535, 0.001603, -0.003663> + 19224: <-0.007610, 0.002015, -0.003255> + 19225: <-0.007519, 0.002405, -0.003227> + 19226: <-0.007374, 0.002380, -0.003601> + 19227: <-0.007462, 0.001995, -0.003634> + 19228: <-0.007519, 0.002405, -0.003227> + 19229: <-0.007412, 0.002787, -0.003195> + 19230: <-0.007270, 0.002758, -0.003565> + 19231: <-0.007374, 0.002380, -0.003601> + 19232: <-0.007412, 0.002787, -0.003195> + 19233: <-0.007290, 0.003162, -0.003162> + 19234: <-0.007152, 0.003127, -0.003526> + 19235: <-0.007270, 0.002758, -0.003565> + 19236: <-0.007290, 0.003162, -0.003162> + 19237: <-0.007152, 0.003526, -0.003127> + 19238: <-0.007018, 0.003486, -0.003486> + 19239: <-0.007152, 0.003127, -0.003526> + 19240: <-0.007152, 0.003526, -0.003127> + 19241: <-0.006998, 0.003880, -0.003093> + 19242: <-0.006870, 0.003834, -0.003446> + 19243: <-0.007018, 0.003486, -0.003486> + 19244: <-0.006998, 0.003880, -0.003093> + 19245: <-0.006828, 0.004223, -0.003060> + 19246: <-0.006705, 0.004170, -0.003407> + 19247: <-0.006870, 0.003834, -0.003446> + 19248: <-0.006828, 0.004223, -0.003060> + 19249: <-0.006641, 0.004553, -0.003030> + 19250: <-0.006525, 0.004494, -0.003372> + 19251: <-0.006705, 0.004170, -0.003407> + 19252: <-0.006641, 0.004553, -0.003030> + 19253: <-0.006439, 0.004870, -0.003004> + 19254: <-0.006329, 0.004804, -0.003342> + 19255: <-0.006525, 0.004494, -0.003372> + 19256: <-0.006439, 0.004870, -0.003004> + 19257: <-0.006219, 0.005172, -0.002984> + 19258: <-0.006117, 0.005099, -0.003318> + 19259: <-0.006329, 0.004804, -0.003342> + 19260: <-0.006219, 0.005172, -0.002984> + 19261: <-0.005983, 0.005459, -0.002971> + 19262: <-0.005888, 0.005379, -0.003302> + 19263: <-0.006117, 0.005099, -0.003318> + 19264: <-0.005888, -0.005379, -0.003302> + 19265: <-0.006117, -0.005099, -0.003318> + 19266: <-0.006006, -0.005023, -0.003637> + 19267: <-0.005786, -0.005294, -0.003619> + 19268: <-0.006117, -0.005099, -0.003318> + 19269: <-0.006329, -0.004804, -0.003342> + 19270: <-0.006210, -0.004736, -0.003666> + 19271: <-0.006006, -0.005023, -0.003637> + 19272: <-0.006329, -0.004804, -0.003342> + 19273: <-0.006525, -0.004494, -0.003372> + 19274: <-0.006397, -0.004434, -0.003701> + 19275: <-0.006210, -0.004736, -0.003666> + 19276: <-0.006525, -0.004494, -0.003372> + 19277: <-0.006705, -0.004170, -0.003407> + 19278: <-0.006570, -0.004117, -0.003743> + 19279: <-0.006397, -0.004434, -0.003701> + 19280: <-0.006705, -0.004170, -0.003407> + 19281: <-0.006870, -0.003834, -0.003446> + 19282: <-0.006727, -0.003788, -0.003788> + 19283: <-0.006570, -0.004117, -0.003743> + 19284: <-0.006870, -0.003834, -0.003446> + 19285: <-0.007018, -0.003486, -0.003486> + 19286: <-0.006870, -0.003446, -0.003834> + 19287: <-0.006727, -0.003788, -0.003788> + 19288: <-0.007018, -0.003486, -0.003486> + 19289: <-0.007152, -0.003127, -0.003526> + 19290: <-0.006998, -0.003093, -0.003880> + 19291: <-0.006870, -0.003446, -0.003834> + 19292: <-0.007152, -0.003127, -0.003526> + 19293: <-0.007270, -0.002758, -0.003565> + 19294: <-0.007112, -0.002729, -0.003924> + 19295: <-0.006998, -0.003093, -0.003880> + 19296: <-0.007270, -0.002758, -0.003565> + 19297: <-0.007374, -0.002380, -0.003601> + 19298: <-0.007212, -0.002356, -0.003965> + 19299: <-0.007112, -0.002729, -0.003924> + 19300: <-0.007374, -0.002380, -0.003601> + 19301: <-0.007462, -0.001995, -0.003634> + 19302: <-0.007297, -0.001975, -0.004002> + 19303: <-0.007212, -0.002356, -0.003965> + 19304: <-0.007462, -0.001995, -0.003634> + 19305: <-0.007535, -0.001603, -0.003663> + 19306: <-0.007367, -0.001588, -0.004034> + 19307: <-0.007297, -0.001975, -0.004002> + 19308: <-0.007535, -0.001603, -0.003663> + 19309: <-0.007591, -0.001207, -0.003686> + 19310: <-0.007423, -0.001196, -0.004061> + 19311: <-0.007367, -0.001588, -0.004034> + 19312: <-0.007591, -0.001207, -0.003686> + 19313: <-0.007632, -0.000807, -0.003704> + 19314: <-0.007462, -0.000799, -0.004081> + 19315: <-0.007423, -0.001196, -0.004061> + 19316: <-0.007632, -0.000807, -0.003704> + 19317: <-0.007657, -0.000404, -0.003716> + 19318: <-0.007487, -0.000400, -0.004093> + 19319: <-0.007462, -0.000799, -0.004081> + 19320: <-0.007657, -0.000404, -0.003716> + 19321: <-0.007665, 0.000000, -0.003720> + 19322: <-0.007495, 0.000000, -0.004098> + 19323: <-0.007487, -0.000400, -0.004093> + 19324: <-0.007665, 0.000000, -0.003720> + 19325: <-0.007657, 0.000404, -0.003716> + 19326: <-0.007487, 0.000400, -0.004093> + 19327: <-0.007495, 0.000000, -0.004098> + 19328: <-0.007657, 0.000404, -0.003716> + 19329: <-0.007632, 0.000807, -0.003704> + 19330: <-0.007462, 0.000799, -0.004081> + 19331: <-0.007487, 0.000400, -0.004093> + 19332: <-0.007632, 0.000807, -0.003704> + 19333: <-0.007591, 0.001207, -0.003686> + 19334: <-0.007423, 0.001196, -0.004061> + 19335: <-0.007462, 0.000799, -0.004081> + 19336: <-0.007591, 0.001207, -0.003686> + 19337: <-0.007535, 0.001603, -0.003663> + 19338: <-0.007367, 0.001588, -0.004034> + 19339: <-0.007423, 0.001196, -0.004061> + 19340: <-0.007535, 0.001603, -0.003663> + 19341: <-0.007462, 0.001995, -0.003634> + 19342: <-0.007297, 0.001975, -0.004002> + 19343: <-0.007367, 0.001588, -0.004034> + 19344: <-0.007462, 0.001995, -0.003634> + 19345: <-0.007374, 0.002380, -0.003601> + 19346: <-0.007212, 0.002356, -0.003965> + 19347: <-0.007297, 0.001975, -0.004002> + 19348: <-0.007374, 0.002380, -0.003601> + 19349: <-0.007270, 0.002758, -0.003565> + 19350: <-0.007112, 0.002729, -0.003924> + 19351: <-0.007212, 0.002356, -0.003965> + 19352: <-0.007270, 0.002758, -0.003565> + 19353: <-0.007152, 0.003127, -0.003526> + 19354: <-0.006998, 0.003093, -0.003880> + 19355: <-0.007112, 0.002729, -0.003924> + 19356: <-0.007152, 0.003127, -0.003526> + 19357: <-0.007018, 0.003486, -0.003486> + 19358: <-0.006870, 0.003446, -0.003834> + 19359: <-0.006998, 0.003093, -0.003880> + 19360: <-0.007018, 0.003486, -0.003486> + 19361: <-0.006870, 0.003834, -0.003446> + 19362: <-0.006727, 0.003788, -0.003788> + 19363: <-0.006870, 0.003446, -0.003834> + 19364: <-0.006870, 0.003834, -0.003446> + 19365: <-0.006705, 0.004170, -0.003407> + 19366: <-0.006570, 0.004117, -0.003743> + 19367: <-0.006727, 0.003788, -0.003788> + 19368: <-0.006705, 0.004170, -0.003407> + 19369: <-0.006525, 0.004494, -0.003372> + 19370: <-0.006397, 0.004434, -0.003701> + 19371: <-0.006570, 0.004117, -0.003743> + 19372: <-0.006525, 0.004494, -0.003372> + 19373: <-0.006329, 0.004804, -0.003342> + 19374: <-0.006210, 0.004736, -0.003666> + 19375: <-0.006397, 0.004434, -0.003701> + 19376: <-0.006329, 0.004804, -0.003342> + 19377: <-0.006117, 0.005099, -0.003318> + 19378: <-0.006006, 0.005023, -0.003637> + 19379: <-0.006210, 0.004736, -0.003666> + 19380: <-0.006117, 0.005099, -0.003318> + 19381: <-0.005888, 0.005379, -0.003302> + 19382: <-0.005786, 0.005294, -0.003619> + 19383: <-0.006006, 0.005023, -0.003637> + 19384: <-0.005786, -0.005294, -0.003619> + 19385: <-0.006006, -0.005023, -0.003637> + 19386: <-0.005887, -0.004946, -0.003941> + 19387: <-0.005678, -0.005207, -0.003918> + 19388: <-0.006006, -0.005023, -0.003637> + 19389: <-0.006210, -0.004736, -0.003666> + 19390: <-0.006080, -0.004668, -0.003975> + 19391: <-0.005887, -0.004946, -0.003941> + 19392: <-0.006210, -0.004736, -0.003666> + 19393: <-0.006397, -0.004434, -0.003701> + 19394: <-0.006257, -0.004374, -0.004017> + 19395: <-0.006080, -0.004668, -0.003975> + 19396: <-0.006397, -0.004434, -0.003701> + 19397: <-0.006570, -0.004117, -0.003743> + 19398: <-0.006421, -0.004065, -0.004065> + 19399: <-0.006257, -0.004374, -0.004017> + 19400: <-0.006570, -0.004117, -0.003743> + 19401: <-0.006727, -0.003788, -0.003788> + 19402: <-0.006570, -0.003743, -0.004117> + 19403: <-0.006421, -0.004065, -0.004065> + 19404: <-0.006727, -0.003788, -0.003788> + 19405: <-0.006870, -0.003446, -0.003834> + 19406: <-0.006705, -0.003407, -0.004170> + 19407: <-0.006570, -0.003743, -0.004117> + 19408: <-0.006870, -0.003446, -0.003834> + 19409: <-0.006998, -0.003093, -0.003880> + 19410: <-0.006828, -0.003060, -0.004223> + 19411: <-0.006705, -0.003407, -0.004170> + 19412: <-0.006998, -0.003093, -0.003880> + 19413: <-0.007112, -0.002729, -0.003924> + 19414: <-0.006937, -0.002701, -0.004273> + 19415: <-0.006828, -0.003060, -0.004223> + 19416: <-0.007112, -0.002729, -0.003924> + 19417: <-0.007212, -0.002356, -0.003965> + 19418: <-0.007033, -0.002333, -0.004318> + 19419: <-0.006937, -0.002701, -0.004273> + 19420: <-0.007212, -0.002356, -0.003965> + 19421: <-0.007297, -0.001975, -0.004002> + 19422: <-0.007115, -0.001957, -0.004360> + 19423: <-0.007033, -0.002333, -0.004318> + 19424: <-0.007297, -0.001975, -0.004002> + 19425: <-0.007367, -0.001588, -0.004034> + 19426: <-0.007183, -0.001574, -0.004395> + 19427: <-0.007115, -0.001957, -0.004360> + 19428: <-0.007367, -0.001588, -0.004034> + 19429: <-0.007423, -0.001196, -0.004061> + 19430: <-0.007236, -0.001185, -0.004424> + 19431: <-0.007183, -0.001574, -0.004395> + 19432: <-0.007423, -0.001196, -0.004061> + 19433: <-0.007462, -0.000799, -0.004081> + 19434: <-0.007275, -0.000792, -0.004446> + 19435: <-0.007236, -0.001185, -0.004424> + 19436: <-0.007462, -0.000799, -0.004081> + 19437: <-0.007487, -0.000400, -0.004093> + 19438: <-0.007298, -0.000397, -0.004460> + 19439: <-0.007275, -0.000792, -0.004446> + 19440: <-0.007487, -0.000400, -0.004093> + 19441: <-0.007495, 0.000000, -0.004098> + 19442: <-0.007306, 0.000000, -0.004465> + 19443: <-0.007298, -0.000397, -0.004460> + 19444: <-0.007495, 0.000000, -0.004098> + 19445: <-0.007487, 0.000400, -0.004093> + 19446: <-0.007298, 0.000397, -0.004460> + 19447: <-0.007306, 0.000000, -0.004465> + 19448: <-0.007487, 0.000400, -0.004093> + 19449: <-0.007462, 0.000799, -0.004081> + 19450: <-0.007275, 0.000792, -0.004446> + 19451: <-0.007298, 0.000397, -0.004460> + 19452: <-0.007462, 0.000799, -0.004081> + 19453: <-0.007423, 0.001196, -0.004061> + 19454: <-0.007236, 0.001185, -0.004424> + 19455: <-0.007275, 0.000792, -0.004446> + 19456: <-0.007423, 0.001196, -0.004061> + 19457: <-0.007367, 0.001588, -0.004034> + 19458: <-0.007183, 0.001574, -0.004395> + 19459: <-0.007236, 0.001185, -0.004424> + 19460: <-0.007367, 0.001588, -0.004034> + 19461: <-0.007297, 0.001975, -0.004002> + 19462: <-0.007115, 0.001957, -0.004360> + 19463: <-0.007183, 0.001574, -0.004395> + 19464: <-0.007297, 0.001975, -0.004002> + 19465: <-0.007212, 0.002356, -0.003965> + 19466: <-0.007033, 0.002333, -0.004318> + 19467: <-0.007115, 0.001957, -0.004360> + 19468: <-0.007212, 0.002356, -0.003965> + 19469: <-0.007112, 0.002729, -0.003924> + 19470: <-0.006937, 0.002701, -0.004273> + 19471: <-0.007033, 0.002333, -0.004318> + 19472: <-0.007112, 0.002729, -0.003924> + 19473: <-0.006998, 0.003093, -0.003880> + 19474: <-0.006828, 0.003060, -0.004223> + 19475: <-0.006937, 0.002701, -0.004273> + 19476: <-0.006998, 0.003093, -0.003880> + 19477: <-0.006870, 0.003446, -0.003834> + 19478: <-0.006705, 0.003407, -0.004170> + 19479: <-0.006828, 0.003060, -0.004223> + 19480: <-0.006870, 0.003446, -0.003834> + 19481: <-0.006727, 0.003788, -0.003788> + 19482: <-0.006570, 0.003743, -0.004117> + 19483: <-0.006705, 0.003407, -0.004170> + 19484: <-0.006727, 0.003788, -0.003788> + 19485: <-0.006570, 0.004117, -0.003743> + 19486: <-0.006421, 0.004065, -0.004065> + 19487: <-0.006570, 0.003743, -0.004117> + 19488: <-0.006570, 0.004117, -0.003743> + 19489: <-0.006397, 0.004434, -0.003701> + 19490: <-0.006257, 0.004374, -0.004017> + 19491: <-0.006421, 0.004065, -0.004065> + 19492: <-0.006397, 0.004434, -0.003701> + 19493: <-0.006210, 0.004736, -0.003666> + 19494: <-0.006080, 0.004668, -0.003975> + 19495: <-0.006257, 0.004374, -0.004017> + 19496: <-0.006210, 0.004736, -0.003666> + 19497: <-0.006006, 0.005023, -0.003637> + 19498: <-0.005887, 0.004946, -0.003941> + 19499: <-0.006080, 0.004668, -0.003975> + 19500: <-0.006006, 0.005023, -0.003637> + 19501: <-0.005786, 0.005294, -0.003619> + 19502: <-0.005678, 0.005207, -0.003918> + 19503: <-0.005887, 0.004946, -0.003941> + 19504: <-0.005678, -0.005207, -0.003918> + 19505: <-0.005887, -0.004946, -0.003941> + 19506: <-0.005760, -0.004870, -0.004226> + 19507: <-0.005564, -0.005120, -0.004199> + 19508: <-0.005887, -0.004946, -0.003941> + 19509: <-0.006080, -0.004668, -0.003975> + 19510: <-0.005939, -0.004602, -0.004267> + 19511: <-0.005760, -0.004870, -0.004226> + 19512: <-0.006080, -0.004668, -0.003975> + 19513: <-0.006257, -0.004374, -0.004017> + 19514: <-0.006105, -0.004318, -0.004318> + 19515: <-0.005939, -0.004602, -0.004267> + 19516: <-0.006257, -0.004374, -0.004017> + 19517: <-0.006421, -0.004065, -0.004065> + 19518: <-0.006257, -0.004017, -0.004374> + 19519: <-0.006105, -0.004318, -0.004318> + 19520: <-0.006421, -0.004065, -0.004065> + 19521: <-0.006570, -0.003743, -0.004117> + 19522: <-0.006397, -0.003701, -0.004434> + 19523: <-0.006257, -0.004017, -0.004374> + 19524: <-0.006570, -0.003743, -0.004117> + 19525: <-0.006705, -0.003407, -0.004170> + 19526: <-0.006525, -0.003372, -0.004494> + 19527: <-0.006397, -0.003701, -0.004434> + 19528: <-0.006705, -0.003407, -0.004170> + 19529: <-0.006828, -0.003060, -0.004223> + 19530: <-0.006641, -0.003030, -0.004553> + 19531: <-0.006525, -0.003372, -0.004494> + 19532: <-0.006828, -0.003060, -0.004223> + 19533: <-0.006937, -0.002701, -0.004273> + 19534: <-0.006745, -0.002676, -0.004609> + 19535: <-0.006641, -0.003030, -0.004553> + 19536: <-0.006937, -0.002701, -0.004273> + 19537: <-0.007033, -0.002333, -0.004318> + 19538: <-0.006836, -0.002313, -0.004659> + 19539: <-0.006745, -0.002676, -0.004609> + 19540: <-0.007033, -0.002333, -0.004318> + 19541: <-0.007115, -0.001957, -0.004360> + 19542: <-0.006915, -0.001940, -0.004705> + 19543: <-0.006836, -0.002313, -0.004659> + 19544: <-0.007115, -0.001957, -0.004360> + 19545: <-0.007183, -0.001574, -0.004395> + 19546: <-0.006980, -0.001561, -0.004744> + 19547: <-0.006915, -0.001940, -0.004705> + 19548: <-0.007183, -0.001574, -0.004395> + 19549: <-0.007236, -0.001185, -0.004424> + 19550: <-0.007032, -0.001176, -0.004776> + 19551: <-0.006980, -0.001561, -0.004744> + 19552: <-0.007236, -0.001185, -0.004424> + 19553: <-0.007275, -0.000792, -0.004446> + 19554: <-0.007069, -0.000786, -0.004800> + 19555: <-0.007032, -0.001176, -0.004776> + 19556: <-0.007275, -0.000792, -0.004446> + 19557: <-0.007298, -0.000397, -0.004460> + 19558: <-0.007092, -0.000394, -0.004815> + 19559: <-0.007069, -0.000786, -0.004800> + 19560: <-0.007298, -0.000397, -0.004460> + 19561: <-0.007306, 0.000000, -0.004465> + 19562: <-0.007099, 0.000000, -0.004820> + 19563: <-0.007092, -0.000394, -0.004815> + 19564: <-0.007306, 0.000000, -0.004465> + 19565: <-0.007298, 0.000397, -0.004460> + 19566: <-0.007092, 0.000394, -0.004815> + 19567: <-0.007099, 0.000000, -0.004820> + 19568: <-0.007298, 0.000397, -0.004460> + 19569: <-0.007275, 0.000792, -0.004446> + 19570: <-0.007069, 0.000786, -0.004800> + 19571: <-0.007092, 0.000394, -0.004815> + 19572: <-0.007275, 0.000792, -0.004446> + 19573: <-0.007236, 0.001185, -0.004424> + 19574: <-0.007032, 0.001176, -0.004776> + 19575: <-0.007069, 0.000786, -0.004800> + 19576: <-0.007236, 0.001185, -0.004424> + 19577: <-0.007183, 0.001574, -0.004395> + 19578: <-0.006980, 0.001561, -0.004744> + 19579: <-0.007032, 0.001176, -0.004776> + 19580: <-0.007183, 0.001574, -0.004395> + 19581: <-0.007115, 0.001957, -0.004360> + 19582: <-0.006915, 0.001940, -0.004705> + 19583: <-0.006980, 0.001561, -0.004744> + 19584: <-0.007115, 0.001957, -0.004360> + 19585: <-0.007033, 0.002333, -0.004318> + 19586: <-0.006836, 0.002313, -0.004659> + 19587: <-0.006915, 0.001940, -0.004705> + 19588: <-0.007033, 0.002333, -0.004318> + 19589: <-0.006937, 0.002701, -0.004273> + 19590: <-0.006745, 0.002676, -0.004609> + 19591: <-0.006836, 0.002313, -0.004659> + 19592: <-0.006937, 0.002701, -0.004273> + 19593: <-0.006828, 0.003060, -0.004223> + 19594: <-0.006641, 0.003030, -0.004553> + 19595: <-0.006745, 0.002676, -0.004609> + 19596: <-0.006828, 0.003060, -0.004223> + 19597: <-0.006705, 0.003407, -0.004170> + 19598: <-0.006525, 0.003372, -0.004494> + 19599: <-0.006641, 0.003030, -0.004553> + 19600: <-0.006705, 0.003407, -0.004170> + 19601: <-0.006570, 0.003743, -0.004117> + 19602: <-0.006397, 0.003701, -0.004434> + 19603: <-0.006525, 0.003372, -0.004494> + 19604: <-0.006570, 0.003743, -0.004117> + 19605: <-0.006421, 0.004065, -0.004065> + 19606: <-0.006257, 0.004017, -0.004374> + 19607: <-0.006397, 0.003701, -0.004434> + 19608: <-0.006421, 0.004065, -0.004065> + 19609: <-0.006257, 0.004374, -0.004017> + 19610: <-0.006105, 0.004318, -0.004318> + 19611: <-0.006257, 0.004017, -0.004374> + 19612: <-0.006257, 0.004374, -0.004017> + 19613: <-0.006080, 0.004668, -0.003975> + 19614: <-0.005939, 0.004602, -0.004267> + 19615: <-0.006105, 0.004318, -0.004318> + 19616: <-0.006080, 0.004668, -0.003975> + 19617: <-0.005887, 0.004946, -0.003941> + 19618: <-0.005760, 0.004870, -0.004226> + 19619: <-0.005939, 0.004602, -0.004267> + 19620: <-0.005887, 0.004946, -0.003941> + 19621: <-0.005678, 0.005207, -0.003918> + 19622: <-0.005564, 0.005120, -0.004199> + 19623: <-0.005760, 0.004870, -0.004226> + 19624: <-0.005564, -0.005120, -0.004199> + 19625: <-0.005760, -0.004870, -0.004226> + 19626: <-0.005623, -0.004798, -0.004494> + 19627: <-0.005446, -0.005034, -0.004460> + 19628: <-0.005760, -0.004870, -0.004226> + 19629: <-0.005939, -0.004602, -0.004267> + 19630: <-0.005788, -0.004542, -0.004542> + 19631: <-0.005623, -0.004798, -0.004494> + 19632: <-0.005939, -0.004602, -0.004267> + 19633: <-0.006105, -0.004318, -0.004318> + 19634: <-0.005939, -0.004267, -0.004602> + 19635: <-0.005788, -0.004542, -0.004542> + 19636: <-0.006105, -0.004318, -0.004318> + 19637: <-0.006257, -0.004017, -0.004374> + 19638: <-0.006080, -0.003975, -0.004668> + 19639: <-0.005939, -0.004267, -0.004602> + 19640: <-0.006257, -0.004017, -0.004374> + 19641: <-0.006397, -0.003701, -0.004434> + 19642: <-0.006210, -0.003666, -0.004736> + 19643: <-0.006080, -0.003975, -0.004668> + 19644: <-0.006397, -0.003701, -0.004434> + 19645: <-0.006525, -0.003372, -0.004494> + 19646: <-0.006329, -0.003342, -0.004804> + 19647: <-0.006210, -0.003666, -0.004736> + 19648: <-0.006525, -0.003372, -0.004494> + 19649: <-0.006641, -0.003030, -0.004553> + 19650: <-0.006439, -0.003004, -0.004870> + 19651: <-0.006329, -0.003342, -0.004804> + 19652: <-0.006641, -0.003030, -0.004553> + 19653: <-0.006745, -0.002676, -0.004609> + 19654: <-0.006537, -0.002655, -0.004931> + 19655: <-0.006439, -0.003004, -0.004870> + 19656: <-0.006745, -0.002676, -0.004609> + 19657: <-0.006836, -0.002313, -0.004659> + 19658: <-0.006623, -0.002295, -0.004987> + 19659: <-0.006537, -0.002655, -0.004931> + 19660: <-0.006836, -0.002313, -0.004659> + 19661: <-0.006915, -0.001940, -0.004705> + 19662: <-0.006698, -0.001926, -0.005037> + 19663: <-0.006623, -0.002295, -0.004987> + 19664: <-0.006915, -0.001940, -0.004705> + 19665: <-0.006980, -0.001561, -0.004744> + 19666: <-0.006761, -0.001550, -0.005080> + 19667: <-0.006698, -0.001926, -0.005037> + 19668: <-0.006980, -0.001561, -0.004744> + 19669: <-0.007032, -0.001176, -0.004776> + 19670: <-0.006810, -0.001168, -0.005114> + 19671: <-0.006761, -0.001550, -0.005080> + 19672: <-0.007032, -0.001176, -0.004776> + 19673: <-0.007069, -0.000786, -0.004800> + 19674: <-0.006846, -0.000781, -0.005140> + 19675: <-0.006810, -0.001168, -0.005114> + 19676: <-0.007069, -0.000786, -0.004800> + 19677: <-0.007092, -0.000394, -0.004815> + 19678: <-0.006868, -0.000391, -0.005156> + 19679: <-0.006846, -0.000781, -0.005140> + 19680: <-0.007092, -0.000394, -0.004815> + 19681: <-0.007099, 0.000000, -0.004820> + 19682: <-0.006875, 0.000000, -0.005162> + 19683: <-0.006868, -0.000391, -0.005156> + 19684: <-0.007099, 0.000000, -0.004820> + 19685: <-0.007092, 0.000394, -0.004815> + 19686: <-0.006868, 0.000391, -0.005156> + 19687: <-0.006875, 0.000000, -0.005162> + 19688: <-0.007092, 0.000394, -0.004815> + 19689: <-0.007069, 0.000786, -0.004800> + 19690: <-0.006846, 0.000781, -0.005140> + 19691: <-0.006868, 0.000391, -0.005156> + 19692: <-0.007069, 0.000786, -0.004800> + 19693: <-0.007032, 0.001176, -0.004776> + 19694: <-0.006810, 0.001168, -0.005114> + 19695: <-0.006846, 0.000781, -0.005140> + 19696: <-0.007032, 0.001176, -0.004776> + 19697: <-0.006980, 0.001561, -0.004744> + 19698: <-0.006761, 0.001550, -0.005080> + 19699: <-0.006810, 0.001168, -0.005114> + 19700: <-0.006980, 0.001561, -0.004744> + 19701: <-0.006915, 0.001940, -0.004705> + 19702: <-0.006698, 0.001926, -0.005037> + 19703: <-0.006761, 0.001550, -0.005080> + 19704: <-0.006915, 0.001940, -0.004705> + 19705: <-0.006836, 0.002313, -0.004659> + 19706: <-0.006623, 0.002295, -0.004987> + 19707: <-0.006698, 0.001926, -0.005037> + 19708: <-0.006836, 0.002313, -0.004659> + 19709: <-0.006745, 0.002676, -0.004609> + 19710: <-0.006537, 0.002655, -0.004931> + 19711: <-0.006623, 0.002295, -0.004987> + 19712: <-0.006745, 0.002676, -0.004609> + 19713: <-0.006641, 0.003030, -0.004553> + 19714: <-0.006439, 0.003004, -0.004870> + 19715: <-0.006537, 0.002655, -0.004931> + 19716: <-0.006641, 0.003030, -0.004553> + 19717: <-0.006525, 0.003372, -0.004494> + 19718: <-0.006329, 0.003342, -0.004804> + 19719: <-0.006439, 0.003004, -0.004870> + 19720: <-0.006525, 0.003372, -0.004494> + 19721: <-0.006397, 0.003701, -0.004434> + 19722: <-0.006210, 0.003666, -0.004736> + 19723: <-0.006329, 0.003342, -0.004804> + 19724: <-0.006397, 0.003701, -0.004434> + 19725: <-0.006257, 0.004017, -0.004374> + 19726: <-0.006080, 0.003975, -0.004668> + 19727: <-0.006210, 0.003666, -0.004736> + 19728: <-0.006257, 0.004017, -0.004374> + 19729: <-0.006105, 0.004318, -0.004318> + 19730: <-0.005939, 0.004267, -0.004602> + 19731: <-0.006080, 0.003975, -0.004668> + 19732: <-0.006105, 0.004318, -0.004318> + 19733: <-0.005939, 0.004602, -0.004267> + 19734: <-0.005788, 0.004542, -0.004542> + 19735: <-0.005939, 0.004267, -0.004602> + 19736: <-0.005939, 0.004602, -0.004267> + 19737: <-0.005760, 0.004870, -0.004226> + 19738: <-0.005623, 0.004798, -0.004494> + 19739: <-0.005788, 0.004542, -0.004542> + 19740: <-0.005760, 0.004870, -0.004226> + 19741: <-0.005564, 0.005120, -0.004199> + 19742: <-0.005446, 0.005034, -0.004460> + 19743: <-0.005623, 0.004798, -0.004494> + 19744: <-0.005446, -0.005034, -0.004460> + 19745: <-0.005623, -0.004798, -0.004494> + 19746: <-0.005479, -0.004738, -0.004738> + 19747: <-0.005326, -0.004959, -0.004691> + 19748: <-0.005623, -0.004798, -0.004494> + 19749: <-0.005788, -0.004542, -0.004542> + 19750: <-0.005623, -0.004494, -0.004798> + 19751: <-0.005479, -0.004738, -0.004738> + 19752: <-0.005788, -0.004542, -0.004542> + 19753: <-0.005939, -0.004267, -0.004602> + 19754: <-0.005760, -0.004226, -0.004870> + 19755: <-0.005623, -0.004494, -0.004798> + 19756: <-0.005939, -0.004267, -0.004602> + 19757: <-0.006080, -0.003975, -0.004668> + 19758: <-0.005887, -0.003941, -0.004946> + 19759: <-0.005760, -0.004226, -0.004870> + 19760: <-0.006080, -0.003975, -0.004668> + 19761: <-0.006210, -0.003666, -0.004736> + 19762: <-0.006006, -0.003637, -0.005023> + 19763: <-0.005887, -0.003941, -0.004946> + 19764: <-0.006210, -0.003666, -0.004736> + 19765: <-0.006329, -0.003342, -0.004804> + 19766: <-0.006117, -0.003318, -0.005099> + 19767: <-0.006006, -0.003637, -0.005023> + 19768: <-0.006329, -0.003342, -0.004804> + 19769: <-0.006439, -0.003004, -0.004870> + 19770: <-0.006219, -0.002984, -0.005172> + 19771: <-0.006117, -0.003318, -0.005099> + 19772: <-0.006439, -0.003004, -0.004870> + 19773: <-0.006537, -0.002655, -0.004931> + 19774: <-0.006311, -0.002638, -0.005240> + 19775: <-0.006219, -0.002984, -0.005172> + 19776: <-0.006537, -0.002655, -0.004931> + 19777: <-0.006623, -0.002295, -0.004987> + 19778: <-0.006393, -0.002281, -0.005301> + 19779: <-0.006311, -0.002638, -0.005240> + 19780: <-0.006623, -0.002295, -0.004987> + 19781: <-0.006698, -0.001926, -0.005037> + 19782: <-0.006464, -0.001915, -0.005355> + 19783: <-0.006393, -0.002281, -0.005301> + 19784: <-0.006698, -0.001926, -0.005037> + 19785: <-0.006761, -0.001550, -0.005080> + 19786: <-0.006523, -0.001541, -0.005401> + 19787: <-0.006464, -0.001915, -0.005355> + 19788: <-0.006761, -0.001550, -0.005080> + 19789: <-0.006810, -0.001168, -0.005114> + 19790: <-0.006570, -0.001161, -0.005438> + 19791: <-0.006523, -0.001541, -0.005401> + 19792: <-0.006810, -0.001168, -0.005114> + 19793: <-0.006846, -0.000781, -0.005140> + 19794: <-0.006605, -0.000777, -0.005466> + 19795: <-0.006570, -0.001161, -0.005438> + 19796: <-0.006846, -0.000781, -0.005140> + 19797: <-0.006868, -0.000391, -0.005156> + 19798: <-0.006626, -0.000389, -0.005483> + 19799: <-0.006605, -0.000777, -0.005466> + 19800: <-0.006868, -0.000391, -0.005156> + 19801: <-0.006875, 0.000000, -0.005162> + 19802: <-0.006633, 0.000000, -0.005489> + 19803: <-0.006626, -0.000389, -0.005483> + 19804: <-0.006875, 0.000000, -0.005162> + 19805: <-0.006868, 0.000391, -0.005156> + 19806: <-0.006626, 0.000389, -0.005483> + 19807: <-0.006633, 0.000000, -0.005489> + 19808: <-0.006868, 0.000391, -0.005156> + 19809: <-0.006846, 0.000781, -0.005140> + 19810: <-0.006605, 0.000777, -0.005466> + 19811: <-0.006626, 0.000389, -0.005483> + 19812: <-0.006846, 0.000781, -0.005140> + 19813: <-0.006810, 0.001168, -0.005114> + 19814: <-0.006570, 0.001161, -0.005438> + 19815: <-0.006605, 0.000777, -0.005466> + 19816: <-0.006810, 0.001168, -0.005114> + 19817: <-0.006761, 0.001550, -0.005080> + 19818: <-0.006523, 0.001541, -0.005401> + 19819: <-0.006570, 0.001161, -0.005438> + 19820: <-0.006761, 0.001550, -0.005080> + 19821: <-0.006698, 0.001926, -0.005037> + 19822: <-0.006464, 0.001915, -0.005355> + 19823: <-0.006523, 0.001541, -0.005401> + 19824: <-0.006698, 0.001926, -0.005037> + 19825: <-0.006623, 0.002295, -0.004987> + 19826: <-0.006393, 0.002281, -0.005301> + 19827: <-0.006464, 0.001915, -0.005355> + 19828: <-0.006623, 0.002295, -0.004987> + 19829: <-0.006537, 0.002655, -0.004931> + 19830: <-0.006311, 0.002638, -0.005240> + 19831: <-0.006393, 0.002281, -0.005301> + 19832: <-0.006537, 0.002655, -0.004931> + 19833: <-0.006439, 0.003004, -0.004870> + 19834: <-0.006219, 0.002984, -0.005172> + 19835: <-0.006311, 0.002638, -0.005240> + 19836: <-0.006439, 0.003004, -0.004870> + 19837: <-0.006329, 0.003342, -0.004804> + 19838: <-0.006117, 0.003318, -0.005099> + 19839: <-0.006219, 0.002984, -0.005172> + 19840: <-0.006329, 0.003342, -0.004804> + 19841: <-0.006210, 0.003666, -0.004736> + 19842: <-0.006006, 0.003637, -0.005023> + 19843: <-0.006117, 0.003318, -0.005099> + 19844: <-0.006210, 0.003666, -0.004736> + 19845: <-0.006080, 0.003975, -0.004668> + 19846: <-0.005887, 0.003941, -0.004946> + 19847: <-0.006006, 0.003637, -0.005023> + 19848: <-0.006080, 0.003975, -0.004668> + 19849: <-0.005939, 0.004267, -0.004602> + 19850: <-0.005760, 0.004226, -0.004870> + 19851: <-0.005887, 0.003941, -0.004946> + 19852: <-0.005939, 0.004267, -0.004602> + 19853: <-0.005788, 0.004542, -0.004542> + 19854: <-0.005623, 0.004494, -0.004798> + 19855: <-0.005760, 0.004226, -0.004870> + 19856: <-0.005788, 0.004542, -0.004542> + 19857: <-0.005623, 0.004798, -0.004494> + 19858: <-0.005479, 0.004738, -0.004738> + 19859: <-0.005623, 0.004494, -0.004798> + 19860: <-0.005623, 0.004798, -0.004494> + 19861: <-0.005446, 0.005034, -0.004460> + 19862: <-0.005326, 0.004959, -0.004691> + 19863: <-0.005479, 0.004738, -0.004738> + 19864: <-0.005326, -0.004959, -0.004691> + 19865: <-0.005479, -0.004738, -0.004738> + 19866: <-0.005326, -0.004691, -0.004959> + 19867: <-0.005206, -0.004894, -0.004894> + 19868: <-0.005479, -0.004738, -0.004738> + 19869: <-0.005623, -0.004494, -0.004798> + 19870: <-0.005446, -0.004460, -0.005034> + 19871: <-0.005326, -0.004691, -0.004959> + 19872: <-0.005623, -0.004494, -0.004798> + 19873: <-0.005760, -0.004226, -0.004870> + 19874: <-0.005564, -0.004199, -0.005120> + 19875: <-0.005446, -0.004460, -0.005034> + 19876: <-0.005760, -0.004226, -0.004870> + 19877: <-0.005887, -0.003941, -0.004946> + 19878: <-0.005678, -0.003918, -0.005207> + 19879: <-0.005564, -0.004199, -0.005120> + 19880: <-0.005887, -0.003941, -0.004946> + 19881: <-0.006006, -0.003637, -0.005023> + 19882: <-0.005786, -0.003619, -0.005294> + 19883: <-0.005678, -0.003918, -0.005207> + 19884: <-0.006006, -0.003637, -0.005023> + 19885: <-0.006117, -0.003318, -0.005099> + 19886: <-0.005888, -0.003302, -0.005379> + 19887: <-0.005786, -0.003619, -0.005294> + 19888: <-0.006117, -0.003318, -0.005099> + 19889: <-0.006219, -0.002984, -0.005172> + 19890: <-0.005983, -0.002971, -0.005459> + 19891: <-0.005888, -0.003302, -0.005379> + 19892: <-0.006219, -0.002984, -0.005172> + 19893: <-0.006311, -0.002638, -0.005240> + 19894: <-0.006069, -0.002627, -0.005533> + 19895: <-0.005983, -0.002971, -0.005459> + 19896: <-0.006311, -0.002638, -0.005240> + 19897: <-0.006393, -0.002281, -0.005301> + 19898: <-0.006146, -0.002272, -0.005599> + 19899: <-0.006069, -0.002627, -0.005533> + 19900: <-0.006393, -0.002281, -0.005301> + 19901: <-0.006464, -0.001915, -0.005355> + 19902: <-0.006212, -0.001908, -0.005657> + 19903: <-0.006146, -0.002272, -0.005599> + 19904: <-0.006464, -0.001915, -0.005355> + 19905: <-0.006523, -0.001541, -0.005401> + 19906: <-0.006269, -0.001536, -0.005707> + 19907: <-0.006212, -0.001908, -0.005657> + 19908: <-0.006523, -0.001541, -0.005401> + 19909: <-0.006570, -0.001161, -0.005438> + 19910: <-0.006313, -0.001157, -0.005747> + 19911: <-0.006269, -0.001536, -0.005707> + 19912: <-0.006570, -0.001161, -0.005438> + 19913: <-0.006605, -0.000777, -0.005466> + 19914: <-0.006346, -0.000774, -0.005776> + 19915: <-0.006313, -0.001157, -0.005747> + 19916: <-0.006605, -0.000777, -0.005466> + 19917: <-0.006626, -0.000389, -0.005483> + 19918: <-0.006366, -0.000388, -0.005794> + 19919: <-0.006346, -0.000774, -0.005776> + 19920: <-0.006626, -0.000389, -0.005483> + 19921: <-0.006633, 0.000000, -0.005489> + 19922: <-0.006373, 0.000000, -0.005801> + 19923: <-0.006366, -0.000388, -0.005794> + 19924: <-0.006633, 0.000000, -0.005489> + 19925: <-0.006626, 0.000389, -0.005483> + 19926: <-0.006366, 0.000388, -0.005794> + 19927: <-0.006373, 0.000000, -0.005801> + 19928: <-0.006626, 0.000389, -0.005483> + 19929: <-0.006605, 0.000777, -0.005466> + 19930: <-0.006346, 0.000774, -0.005776> + 19931: <-0.006366, 0.000388, -0.005794> + 19932: <-0.006605, 0.000777, -0.005466> + 19933: <-0.006570, 0.001161, -0.005438> + 19934: <-0.006313, 0.001157, -0.005747> + 19935: <-0.006346, 0.000774, -0.005776> + 19936: <-0.006570, 0.001161, -0.005438> + 19937: <-0.006523, 0.001541, -0.005401> + 19938: <-0.006269, 0.001536, -0.005707> + 19939: <-0.006313, 0.001157, -0.005747> + 19940: <-0.006523, 0.001541, -0.005401> + 19941: <-0.006464, 0.001915, -0.005355> + 19942: <-0.006212, 0.001908, -0.005657> + 19943: <-0.006269, 0.001536, -0.005707> + 19944: <-0.006464, 0.001915, -0.005355> + 19945: <-0.006393, 0.002281, -0.005301> + 19946: <-0.006146, 0.002272, -0.005599> + 19947: <-0.006212, 0.001908, -0.005657> + 19948: <-0.006393, 0.002281, -0.005301> + 19949: <-0.006311, 0.002638, -0.005240> + 19950: <-0.006069, 0.002627, -0.005533> + 19951: <-0.006146, 0.002272, -0.005599> + 19952: <-0.006311, 0.002638, -0.005240> + 19953: <-0.006219, 0.002984, -0.005172> + 19954: <-0.005983, 0.002971, -0.005459> + 19955: <-0.006069, 0.002627, -0.005533> + 19956: <-0.006219, 0.002984, -0.005172> + 19957: <-0.006117, 0.003318, -0.005099> + 19958: <-0.005888, 0.003302, -0.005379> + 19959: <-0.005983, 0.002971, -0.005459> + 19960: <-0.006117, 0.003318, -0.005099> + 19961: <-0.006006, 0.003637, -0.005023> + 19962: <-0.005786, 0.003619, -0.005294> + 19963: <-0.005888, 0.003302, -0.005379> + 19964: <-0.006006, 0.003637, -0.005023> + 19965: <-0.005887, 0.003941, -0.004946> + 19966: <-0.005678, 0.003918, -0.005207> + 19967: <-0.005786, 0.003619, -0.005294> + 19968: <-0.005887, 0.003941, -0.004946> + 19969: <-0.005760, 0.004226, -0.004870> + 19970: <-0.005564, 0.004199, -0.005120> + 19971: <-0.005678, 0.003918, -0.005207> + 19972: <-0.005760, 0.004226, -0.004870> + 19973: <-0.005623, 0.004494, -0.004798> + 19974: <-0.005446, 0.004460, -0.005034> + 19975: <-0.005564, 0.004199, -0.005120> + 19976: <-0.005623, 0.004494, -0.004798> + 19977: <-0.005479, 0.004738, -0.004738> + 19978: <-0.005326, 0.004691, -0.004959> + 19979: <-0.005446, 0.004460, -0.005034> + 19980: <-0.005479, 0.004738, -0.004738> + 19981: <-0.005326, 0.004959, -0.004691> + 19982: <-0.005206, 0.004894, -0.004894> + 19983: <-0.005326, 0.004691, -0.004959> + 19984: <-0.005000, -0.005000, 0.005000> + 19985: <-0.005081, -0.004833, 0.005081> + 19986: <-0.005206, -0.004894, 0.004894> + 19987: <-0.005081, -0.005081, 0.004833> + 19988: <-0.005081, -0.004833, 0.005081> + 19989: <-0.005166, -0.004647, 0.005166> + 19990: <-0.005326, -0.004691, 0.004959> + 19991: <-0.005206, -0.004894, 0.004894> + 19992: <-0.005166, -0.004647, 0.005166> + 19993: <-0.005255, -0.004436, 0.005255> + 19994: <-0.005446, -0.004460, 0.005034> + 19995: <-0.005326, -0.004691, 0.004959> + 19996: <-0.005255, -0.004436, 0.005255> + 19997: <-0.005351, -0.004188, 0.005351> + 19998: <-0.005564, -0.004199, 0.005120> + 19999: <-0.005446, -0.004460, 0.005034> + 20000: <-0.005351, -0.004188, 0.005351> + 20001: <-0.005451, -0.003910, 0.005451> + 20002: <-0.005678, -0.003918, 0.005207> + 20003: <-0.005564, -0.004199, 0.005120> + 20004: <-0.005451, -0.003910, 0.005451> + 20005: <-0.005549, -0.003612, 0.005549> + 20006: <-0.005786, -0.003619, 0.005294> + 20007: <-0.005678, -0.003918, 0.005207> + 20008: <-0.005549, -0.003612, 0.005549> + 20009: <-0.005642, -0.003297, 0.005642> + 20010: <-0.005888, -0.003302, 0.005379> + 20011: <-0.005786, -0.003619, 0.005294> + 20012: <-0.005642, -0.003297, 0.005642> + 20013: <-0.005729, -0.002966, 0.005729> + 20014: <-0.005983, -0.002971, 0.005459> + 20015: <-0.005888, -0.003302, 0.005379> + 20016: <-0.005729, -0.002966, 0.005729> + 20017: <-0.005809, -0.002623, 0.005809> + 20018: <-0.006069, -0.002627, 0.005533> + 20019: <-0.005983, -0.002971, 0.005459> + 20020: <-0.005809, -0.002623, 0.005809> + 20021: <-0.005881, -0.002269, 0.005881> + 20022: <-0.006146, -0.002272, 0.005599> + 20023: <-0.006069, -0.002627, 0.005533> + 20024: <-0.005881, -0.002269, 0.005881> + 20025: <-0.005944, -0.001906, 0.005944> + 20026: <-0.006212, -0.001908, 0.005657> + 20027: <-0.006146, -0.002272, 0.005599> + 20028: <-0.005944, -0.001906, 0.005944> + 20029: <-0.005996, -0.001534, 0.005996> + 20030: <-0.006269, -0.001536, 0.005707> + 20031: <-0.006212, -0.001908, 0.005657> + 20032: <-0.005996, -0.001534, 0.005996> + 20033: <-0.006039, -0.001156, 0.006039> + 20034: <-0.006313, -0.001157, 0.005747> + 20035: <-0.006269, -0.001536, 0.005707> + 20036: <-0.006039, -0.001156, 0.006039> + 20037: <-0.006070, -0.000773, 0.006070> + 20038: <-0.006346, -0.000774, 0.005776> + 20039: <-0.006313, -0.001157, 0.005747> + 20040: <-0.006070, -0.000773, 0.006070> + 20041: <-0.006089, -0.000387, 0.006089> + 20042: <-0.006366, -0.000388, 0.005794> + 20043: <-0.006346, -0.000774, 0.005776> + 20044: <-0.006089, -0.000387, 0.006089> + 20045: <-0.006096, 0.000000, 0.006096> + 20046: <-0.006373, 0.000000, 0.005801> + 20047: <-0.006366, -0.000388, 0.005794> + 20048: <-0.006096, 0.000000, 0.006096> + 20049: <-0.006089, 0.000387, 0.006089> + 20050: <-0.006366, 0.000388, 0.005794> + 20051: <-0.006373, 0.000000, 0.005801> + 20052: <-0.006089, 0.000387, 0.006089> + 20053: <-0.006070, 0.000773, 0.006070> + 20054: <-0.006346, 0.000774, 0.005776> + 20055: <-0.006366, 0.000388, 0.005794> + 20056: <-0.006070, 0.000773, 0.006070> + 20057: <-0.006039, 0.001156, 0.006039> + 20058: <-0.006313, 0.001157, 0.005747> + 20059: <-0.006346, 0.000774, 0.005776> + 20060: <-0.006039, 0.001156, 0.006039> + 20061: <-0.005996, 0.001534, 0.005996> + 20062: <-0.006269, 0.001536, 0.005707> + 20063: <-0.006313, 0.001157, 0.005747> + 20064: <-0.005996, 0.001534, 0.005996> + 20065: <-0.005944, 0.001906, 0.005944> + 20066: <-0.006212, 0.001908, 0.005657> + 20067: <-0.006269, 0.001536, 0.005707> + 20068: <-0.005944, 0.001906, 0.005944> + 20069: <-0.005881, 0.002269, 0.005881> + 20070: <-0.006146, 0.002272, 0.005599> + 20071: <-0.006212, 0.001908, 0.005657> + 20072: <-0.005881, 0.002269, 0.005881> + 20073: <-0.005809, 0.002623, 0.005809> + 20074: <-0.006069, 0.002627, 0.005533> + 20075: <-0.006146, 0.002272, 0.005599> + 20076: <-0.005809, 0.002623, 0.005809> + 20077: <-0.005729, 0.002966, 0.005729> + 20078: <-0.005983, 0.002971, 0.005459> + 20079: <-0.006069, 0.002627, 0.005533> + 20080: <-0.005729, 0.002966, 0.005729> + 20081: <-0.005642, 0.003297, 0.005642> + 20082: <-0.005888, 0.003302, 0.005379> + 20083: <-0.005983, 0.002971, 0.005459> + 20084: <-0.005642, 0.003297, 0.005642> + 20085: <-0.005549, 0.003612, 0.005549> + 20086: <-0.005786, 0.003619, 0.005294> + 20087: <-0.005888, 0.003302, 0.005379> + 20088: <-0.005549, 0.003612, 0.005549> + 20089: <-0.005451, 0.003910, 0.005451> + 20090: <-0.005678, 0.003918, 0.005207> + 20091: <-0.005786, 0.003619, 0.005294> + 20092: <-0.005451, 0.003910, 0.005451> + 20093: <-0.005351, 0.004188, 0.005351> + 20094: <-0.005564, 0.004199, 0.005120> + 20095: <-0.005678, 0.003918, 0.005207> + 20096: <-0.005351, 0.004188, 0.005351> + 20097: <-0.005255, 0.004436, 0.005255> + 20098: <-0.005446, 0.004460, 0.005034> + 20099: <-0.005564, 0.004199, 0.005120> + 20100: <-0.005255, 0.004436, 0.005255> + 20101: <-0.005166, 0.004647, 0.005166> + 20102: <-0.005326, 0.004691, 0.004959> + 20103: <-0.005446, 0.004460, 0.005034> + 20104: <-0.005166, 0.004647, 0.005166> + 20105: <-0.005081, 0.004833, 0.005081> + 20106: <-0.005206, 0.004894, 0.004894> + 20107: <-0.005326, 0.004691, 0.004959> + 20108: <-0.005081, 0.004833, 0.005081> + 20109: <-0.005000, 0.005000, 0.005000> + 20110: <-0.005081, 0.005081, 0.004833> + 20111: <-0.005206, 0.004894, 0.004894> + 20112: <-0.005206, 0.004894, 0.004894> + 20113: <-0.005081, 0.005081, 0.004833> + 20114: <-0.005166, 0.005166, 0.004647> + 20115: <-0.005326, 0.004959, 0.004691> + 20116: <-0.005326, 0.004959, 0.004691> + 20117: <-0.005166, 0.005166, 0.004647> + 20118: <-0.005255, 0.005255, 0.004436> + 20119: <-0.005446, 0.005034, 0.004460> + 20120: <-0.005446, 0.005034, 0.004460> + 20121: <-0.005255, 0.005255, 0.004436> + 20122: <-0.005351, 0.005351, 0.004188> + 20123: <-0.005564, 0.005120, 0.004199> + 20124: <-0.005564, 0.005120, 0.004199> + 20125: <-0.005351, 0.005351, 0.004188> + 20126: <-0.005451, 0.005451, 0.003910> + 20127: <-0.005678, 0.005207, 0.003918> + 20128: <-0.005678, 0.005207, 0.003918> + 20129: <-0.005451, 0.005451, 0.003910> + 20130: <-0.005549, 0.005549, 0.003612> + 20131: <-0.005786, 0.005294, 0.003619> + 20132: <-0.005786, 0.005294, 0.003619> + 20133: <-0.005549, 0.005549, 0.003612> + 20134: <-0.005642, 0.005642, 0.003297> + 20135: <-0.005888, 0.005379, 0.003302> + 20136: <-0.005888, 0.005379, 0.003302> + 20137: <-0.005642, 0.005642, 0.003297> + 20138: <-0.005729, 0.005729, 0.002966> + 20139: <-0.005983, 0.005459, 0.002971> + 20140: <-0.005983, 0.005459, 0.002971> + 20141: <-0.005729, 0.005729, 0.002966> + 20142: <-0.005809, 0.005809, 0.002623> + 20143: <-0.006069, 0.005533, 0.002627> + 20144: <-0.006069, 0.005533, 0.002627> + 20145: <-0.005809, 0.005809, 0.002623> + 20146: <-0.005881, 0.005881, 0.002269> + 20147: <-0.006146, 0.005599, 0.002272> + 20148: <-0.006146, 0.005599, 0.002272> + 20149: <-0.005881, 0.005881, 0.002269> + 20150: <-0.005944, 0.005944, 0.001906> + 20151: <-0.006212, 0.005657, 0.001908> + 20152: <-0.006212, 0.005657, 0.001908> + 20153: <-0.005944, 0.005944, 0.001906> + 20154: <-0.005996, 0.005996, 0.001534> + 20155: <-0.006269, 0.005707, 0.001536> + 20156: <-0.006269, 0.005707, 0.001536> + 20157: <-0.005996, 0.005996, 0.001534> + 20158: <-0.006039, 0.006039, 0.001156> + 20159: <-0.006313, 0.005747, 0.001157> + 20160: <-0.006313, 0.005747, 0.001157> + 20161: <-0.006039, 0.006039, 0.001156> + 20162: <-0.006070, 0.006070, 0.000773> + 20163: <-0.006346, 0.005776, 0.000774> + 20164: <-0.006346, 0.005776, 0.000774> + 20165: <-0.006070, 0.006070, 0.000773> + 20166: <-0.006089, 0.006089, 0.000387> + 20167: <-0.006366, 0.005794, 0.000388> + 20168: <-0.006366, 0.005794, 0.000388> + 20169: <-0.006089, 0.006089, 0.000387> + 20170: <-0.006096, 0.006096, -0.000000> + 20171: <-0.006373, 0.005801, 0.000000> + 20172: <-0.006373, 0.005801, 0.000000> + 20173: <-0.006096, 0.006096, -0.000000> + 20174: <-0.006089, 0.006089, -0.000387> + 20175: <-0.006366, 0.005794, -0.000388> + 20176: <-0.006366, 0.005794, -0.000388> + 20177: <-0.006089, 0.006089, -0.000387> + 20178: <-0.006070, 0.006070, -0.000773> + 20179: <-0.006346, 0.005776, -0.000774> + 20180: <-0.006346, 0.005776, -0.000774> + 20181: <-0.006070, 0.006070, -0.000773> + 20182: <-0.006039, 0.006039, -0.001156> + 20183: <-0.006313, 0.005747, -0.001157> + 20184: <-0.006313, 0.005747, -0.001157> + 20185: <-0.006039, 0.006039, -0.001156> + 20186: <-0.005996, 0.005996, -0.001534> + 20187: <-0.006269, 0.005707, -0.001536> + 20188: <-0.006269, 0.005707, -0.001536> + 20189: <-0.005996, 0.005996, -0.001534> + 20190: <-0.005944, 0.005944, -0.001906> + 20191: <-0.006212, 0.005657, -0.001908> + 20192: <-0.006212, 0.005657, -0.001908> + 20193: <-0.005944, 0.005944, -0.001906> + 20194: <-0.005881, 0.005881, -0.002269> + 20195: <-0.006146, 0.005599, -0.002272> + 20196: <-0.006146, 0.005599, -0.002272> + 20197: <-0.005881, 0.005881, -0.002269> + 20198: <-0.005809, 0.005809, -0.002623> + 20199: <-0.006069, 0.005533, -0.002627> + 20200: <-0.006069, 0.005533, -0.002627> + 20201: <-0.005809, 0.005809, -0.002623> + 20202: <-0.005729, 0.005729, -0.002966> + 20203: <-0.005983, 0.005459, -0.002971> + 20204: <-0.005983, 0.005459, -0.002971> + 20205: <-0.005729, 0.005729, -0.002966> + 20206: <-0.005642, 0.005642, -0.003297> + 20207: <-0.005888, 0.005379, -0.003302> + 20208: <-0.005888, 0.005379, -0.003302> + 20209: <-0.005642, 0.005642, -0.003297> + 20210: <-0.005549, 0.005549, -0.003612> + 20211: <-0.005786, 0.005294, -0.003619> + 20212: <-0.005786, 0.005294, -0.003619> + 20213: <-0.005549, 0.005549, -0.003612> + 20214: <-0.005451, 0.005451, -0.003910> + 20215: <-0.005678, 0.005207, -0.003918> + 20216: <-0.005678, 0.005207, -0.003918> + 20217: <-0.005451, 0.005451, -0.003910> + 20218: <-0.005351, 0.005351, -0.004188> + 20219: <-0.005564, 0.005120, -0.004199> + 20220: <-0.005564, 0.005120, -0.004199> + 20221: <-0.005351, 0.005351, -0.004188> + 20222: <-0.005255, 0.005255, -0.004436> + 20223: <-0.005446, 0.005034, -0.004460> + 20224: <-0.005446, 0.005034, -0.004460> + 20225: <-0.005255, 0.005255, -0.004436> + 20226: <-0.005166, 0.005166, -0.004647> + 20227: <-0.005326, 0.004959, -0.004691> + 20228: <-0.005326, 0.004959, -0.004691> + 20229: <-0.005166, 0.005166, -0.004647> + 20230: <-0.005081, 0.005081, -0.004833> + 20231: <-0.005206, 0.004894, -0.004894> + 20232: <-0.005206, 0.004894, -0.004894> + 20233: <-0.005081, 0.005081, -0.004833> + 20234: <-0.005000, 0.005000, -0.005000> + 20235: <-0.005081, 0.004833, -0.005081> + 20236: <-0.005326, 0.004691, -0.004959> + 20237: <-0.005206, 0.004894, -0.004894> + 20238: <-0.005081, 0.004833, -0.005081> + 20239: <-0.005166, 0.004647, -0.005166> + 20240: <-0.005446, 0.004460, -0.005034> + 20241: <-0.005326, 0.004691, -0.004959> + 20242: <-0.005166, 0.004647, -0.005166> + 20243: <-0.005255, 0.004436, -0.005255> + 20244: <-0.005564, 0.004199, -0.005120> + 20245: <-0.005446, 0.004460, -0.005034> + 20246: <-0.005255, 0.004436, -0.005255> + 20247: <-0.005351, 0.004188, -0.005351> + 20248: <-0.005678, 0.003918, -0.005207> + 20249: <-0.005564, 0.004199, -0.005120> + 20250: <-0.005351, 0.004188, -0.005351> + 20251: <-0.005451, 0.003910, -0.005451> + 20252: <-0.005786, 0.003619, -0.005294> + 20253: <-0.005678, 0.003918, -0.005207> + 20254: <-0.005451, 0.003910, -0.005451> + 20255: <-0.005549, 0.003612, -0.005549> + 20256: <-0.005888, 0.003302, -0.005379> + 20257: <-0.005786, 0.003619, -0.005294> + 20258: <-0.005549, 0.003612, -0.005549> + 20259: <-0.005642, 0.003297, -0.005642> + 20260: <-0.005983, 0.002971, -0.005459> + 20261: <-0.005888, 0.003302, -0.005379> + 20262: <-0.005642, 0.003297, -0.005642> + 20263: <-0.005729, 0.002966, -0.005729> + 20264: <-0.006069, 0.002627, -0.005533> + 20265: <-0.005983, 0.002971, -0.005459> + 20266: <-0.005729, 0.002966, -0.005729> + 20267: <-0.005809, 0.002623, -0.005809> + 20268: <-0.006146, 0.002272, -0.005599> + 20269: <-0.006069, 0.002627, -0.005533> + 20270: <-0.005809, 0.002623, -0.005809> + 20271: <-0.005881, 0.002269, -0.005881> + 20272: <-0.006212, 0.001908, -0.005657> + 20273: <-0.006146, 0.002272, -0.005599> + 20274: <-0.005881, 0.002269, -0.005881> + 20275: <-0.005944, 0.001906, -0.005944> + 20276: <-0.006269, 0.001536, -0.005707> + 20277: <-0.006212, 0.001908, -0.005657> + 20278: <-0.005944, 0.001906, -0.005944> + 20279: <-0.005996, 0.001534, -0.005996> + 20280: <-0.006313, 0.001157, -0.005747> + 20281: <-0.006269, 0.001536, -0.005707> + 20282: <-0.005996, 0.001534, -0.005996> + 20283: <-0.006039, 0.001156, -0.006039> + 20284: <-0.006346, 0.000774, -0.005776> + 20285: <-0.006313, 0.001157, -0.005747> + 20286: <-0.006039, 0.001156, -0.006039> + 20287: <-0.006070, 0.000773, -0.006070> + 20288: <-0.006366, 0.000388, -0.005794> + 20289: <-0.006346, 0.000774, -0.005776> + 20290: <-0.006070, 0.000773, -0.006070> + 20291: <-0.006089, 0.000387, -0.006089> + 20292: <-0.006373, 0.000000, -0.005801> + 20293: <-0.006366, 0.000388, -0.005794> + 20294: <-0.006089, 0.000387, -0.006089> + 20295: <-0.006096, 0.000000, -0.006096> + 20296: <-0.006366, -0.000388, -0.005794> + 20297: <-0.006373, 0.000000, -0.005801> + 20298: <-0.006096, 0.000000, -0.006096> + 20299: <-0.006089, -0.000387, -0.006089> + 20300: <-0.006346, -0.000774, -0.005776> + 20301: <-0.006366, -0.000388, -0.005794> + 20302: <-0.006089, -0.000387, -0.006089> + 20303: <-0.006070, -0.000773, -0.006070> + 20304: <-0.006313, -0.001157, -0.005747> + 20305: <-0.006346, -0.000774, -0.005776> + 20306: <-0.006070, -0.000773, -0.006070> + 20307: <-0.006039, -0.001156, -0.006039> + 20308: <-0.006269, -0.001536, -0.005707> + 20309: <-0.006313, -0.001157, -0.005747> + 20310: <-0.006039, -0.001156, -0.006039> + 20311: <-0.005996, -0.001534, -0.005996> + 20312: <-0.006212, -0.001908, -0.005657> + 20313: <-0.006269, -0.001536, -0.005707> + 20314: <-0.005996, -0.001534, -0.005996> + 20315: <-0.005944, -0.001906, -0.005944> + 20316: <-0.006146, -0.002272, -0.005599> + 20317: <-0.006212, -0.001908, -0.005657> + 20318: <-0.005944, -0.001906, -0.005944> + 20319: <-0.005881, -0.002269, -0.005881> + 20320: <-0.006069, -0.002627, -0.005533> + 20321: <-0.006146, -0.002272, -0.005599> + 20322: <-0.005881, -0.002269, -0.005881> + 20323: <-0.005809, -0.002623, -0.005809> + 20324: <-0.005983, -0.002971, -0.005459> + 20325: <-0.006069, -0.002627, -0.005533> + 20326: <-0.005809, -0.002623, -0.005809> + 20327: <-0.005729, -0.002966, -0.005729> + 20328: <-0.005888, -0.003302, -0.005379> + 20329: <-0.005983, -0.002971, -0.005459> + 20330: <-0.005729, -0.002966, -0.005729> + 20331: <-0.005642, -0.003297, -0.005642> + 20332: <-0.005786, -0.003619, -0.005294> + 20333: <-0.005888, -0.003302, -0.005379> + 20334: <-0.005642, -0.003297, -0.005642> + 20335: <-0.005549, -0.003612, -0.005549> + 20336: <-0.005678, -0.003918, -0.005207> + 20337: <-0.005786, -0.003619, -0.005294> + 20338: <-0.005549, -0.003612, -0.005549> + 20339: <-0.005451, -0.003910, -0.005451> + 20340: <-0.005564, -0.004199, -0.005120> + 20341: <-0.005678, -0.003918, -0.005207> + 20342: <-0.005451, -0.003910, -0.005451> + 20343: <-0.005351, -0.004188, -0.005351> + 20344: <-0.005446, -0.004460, -0.005034> + 20345: <-0.005564, -0.004199, -0.005120> + 20346: <-0.005351, -0.004188, -0.005351> + 20347: <-0.005255, -0.004436, -0.005255> + 20348: <-0.005326, -0.004691, -0.004959> + 20349: <-0.005446, -0.004460, -0.005034> + 20350: <-0.005255, -0.004436, -0.005255> + 20351: <-0.005166, -0.004647, -0.005166> + 20352: <-0.005206, -0.004894, -0.004894> + 20353: <-0.005326, -0.004691, -0.004959> + 20354: <-0.005166, -0.004647, -0.005166> + 20355: <-0.005081, -0.004833, -0.005081> + 20356: <-0.005081, -0.005081, -0.004833> + 20357: <-0.005206, -0.004894, -0.004894> + 20358: <-0.005081, -0.004833, -0.005081> + 20359: <-0.005000, -0.005000, -0.005000> + 20360: <-0.005166, -0.005166, -0.004647> + 20361: <-0.005326, -0.004959, -0.004691> + 20362: <-0.005206, -0.004894, -0.004894> + 20363: <-0.005081, -0.005081, -0.004833> + 20364: <-0.005255, -0.005255, -0.004436> + 20365: <-0.005446, -0.005034, -0.004460> + 20366: <-0.005326, -0.004959, -0.004691> + 20367: <-0.005166, -0.005166, -0.004647> + 20368: <-0.005351, -0.005351, -0.004188> + 20369: <-0.005564, -0.005120, -0.004199> + 20370: <-0.005446, -0.005034, -0.004460> + 20371: <-0.005255, -0.005255, -0.004436> + 20372: <-0.005451, -0.005451, -0.003910> + 20373: <-0.005678, -0.005207, -0.003918> + 20374: <-0.005564, -0.005120, -0.004199> + 20375: <-0.005351, -0.005351, -0.004188> + 20376: <-0.005549, -0.005549, -0.003612> + 20377: <-0.005786, -0.005294, -0.003619> + 20378: <-0.005678, -0.005207, -0.003918> + 20379: <-0.005451, -0.005451, -0.003910> + 20380: <-0.005642, -0.005642, -0.003297> + 20381: <-0.005888, -0.005379, -0.003302> + 20382: <-0.005786, -0.005294, -0.003619> + 20383: <-0.005549, -0.005549, -0.003612> + 20384: <-0.005729, -0.005729, -0.002966> + 20385: <-0.005983, -0.005459, -0.002971> + 20386: <-0.005888, -0.005379, -0.003302> + 20387: <-0.005642, -0.005642, -0.003297> + 20388: <-0.005809, -0.005809, -0.002623> + 20389: <-0.006069, -0.005533, -0.002627> + 20390: <-0.005983, -0.005459, -0.002971> + 20391: <-0.005729, -0.005729, -0.002966> + 20392: <-0.005881, -0.005881, -0.002269> + 20393: <-0.006146, -0.005599, -0.002272> + 20394: <-0.006069, -0.005533, -0.002627> + 20395: <-0.005809, -0.005809, -0.002623> + 20396: <-0.005944, -0.005944, -0.001906> + 20397: <-0.006212, -0.005657, -0.001908> + 20398: <-0.006146, -0.005599, -0.002272> + 20399: <-0.005881, -0.005881, -0.002269> + 20400: <-0.005996, -0.005996, -0.001534> + 20401: <-0.006269, -0.005707, -0.001536> + 20402: <-0.006212, -0.005657, -0.001908> + 20403: <-0.005944, -0.005944, -0.001906> + 20404: <-0.006039, -0.006039, -0.001156> + 20405: <-0.006313, -0.005747, -0.001157> + 20406: <-0.006269, -0.005707, -0.001536> + 20407: <-0.005996, -0.005996, -0.001534> + 20408: <-0.006070, -0.006070, -0.000773> + 20409: <-0.006346, -0.005776, -0.000774> + 20410: <-0.006313, -0.005747, -0.001157> + 20411: <-0.006039, -0.006039, -0.001156> + 20412: <-0.006089, -0.006089, -0.000387> + 20413: <-0.006366, -0.005794, -0.000388> + 20414: <-0.006346, -0.005776, -0.000774> + 20415: <-0.006070, -0.006070, -0.000773> + 20416: <-0.006096, -0.006096, -0.000000> + 20417: <-0.006373, -0.005801, 0.000000> + 20418: <-0.006366, -0.005794, -0.000388> + 20419: <-0.006089, -0.006089, -0.000387> + 20420: <-0.006089, -0.006089, 0.000387> + 20421: <-0.006366, -0.005794, 0.000388> + 20422: <-0.006373, -0.005801, 0.000000> + 20423: <-0.006096, -0.006096, -0.000000> + 20424: <-0.006070, -0.006070, 0.000773> + 20425: <-0.006346, -0.005776, 0.000774> + 20426: <-0.006366, -0.005794, 0.000388> + 20427: <-0.006089, -0.006089, 0.000387> + 20428: <-0.006039, -0.006039, 0.001156> + 20429: <-0.006313, -0.005747, 0.001157> + 20430: <-0.006346, -0.005776, 0.000774> + 20431: <-0.006070, -0.006070, 0.000773> + 20432: <-0.005996, -0.005996, 0.001534> + 20433: <-0.006269, -0.005707, 0.001536> + 20434: <-0.006313, -0.005747, 0.001157> + 20435: <-0.006039, -0.006039, 0.001156> + 20436: <-0.005944, -0.005944, 0.001906> + 20437: <-0.006212, -0.005657, 0.001908> + 20438: <-0.006269, -0.005707, 0.001536> + 20439: <-0.005996, -0.005996, 0.001534> + 20440: <-0.005881, -0.005881, 0.002269> + 20441: <-0.006146, -0.005599, 0.002272> + 20442: <-0.006212, -0.005657, 0.001908> + 20443: <-0.005944, -0.005944, 0.001906> + 20444: <-0.005809, -0.005809, 0.002623> + 20445: <-0.006069, -0.005533, 0.002627> + 20446: <-0.006146, -0.005599, 0.002272> + 20447: <-0.005881, -0.005881, 0.002269> + 20448: <-0.005729, -0.005729, 0.002966> + 20449: <-0.005983, -0.005459, 0.002971> + 20450: <-0.006069, -0.005533, 0.002627> + 20451: <-0.005809, -0.005809, 0.002623> + 20452: <-0.005642, -0.005642, 0.003297> + 20453: <-0.005888, -0.005379, 0.003302> + 20454: <-0.005983, -0.005459, 0.002971> + 20455: <-0.005729, -0.005729, 0.002966> + 20456: <-0.005549, -0.005549, 0.003612> + 20457: <-0.005786, -0.005294, 0.003619> + 20458: <-0.005888, -0.005379, 0.003302> + 20459: <-0.005642, -0.005642, 0.003297> + 20460: <-0.005451, -0.005451, 0.003910> + 20461: <-0.005678, -0.005207, 0.003918> + 20462: <-0.005786, -0.005294, 0.003619> + 20463: <-0.005549, -0.005549, 0.003612> + 20464: <-0.005351, -0.005351, 0.004188> + 20465: <-0.005564, -0.005120, 0.004199> + 20466: <-0.005678, -0.005207, 0.003918> + 20467: <-0.005451, -0.005451, 0.003910> + 20468: <-0.005255, -0.005255, 0.004436> + 20469: <-0.005446, -0.005034, 0.004460> + 20470: <-0.005564, -0.005120, 0.004199> + 20471: <-0.005351, -0.005351, 0.004188> + 20472: <-0.005166, -0.005166, 0.004647> + 20473: <-0.005326, -0.004959, 0.004691> + 20474: <-0.005446, -0.005034, 0.004460> + 20475: <-0.005255, -0.005255, 0.004436> + 20476: <-0.005081, -0.005081, 0.004833> + 20477: <-0.005206, -0.004894, 0.004894> + 20478: <-0.005326, -0.004959, 0.004691> + 20479: <-0.005166, -0.005166, 0.004647> + 20480: < 0.004894, -0.004894, 0.005206> + 20481: < 0.004959, -0.004691, 0.005326> + 20482: < 0.004738, -0.004738, 0.005479> + 20483: < 0.004691, -0.004959, 0.005326> + 20484: < 0.004959, -0.004691, 0.005326> + 20485: < 0.005034, -0.004460, 0.005446> + 20486: < 0.004798, -0.004494, 0.005623> + 20487: < 0.004738, -0.004738, 0.005479> + 20488: < 0.005034, -0.004460, 0.005446> + 20489: < 0.005120, -0.004199, 0.005564> + 20490: < 0.004870, -0.004226, 0.005760> + 20491: < 0.004798, -0.004494, 0.005623> + 20492: < 0.005120, -0.004199, 0.005564> + 20493: < 0.005207, -0.003918, 0.005678> + 20494: < 0.004946, -0.003941, 0.005887> + 20495: < 0.004870, -0.004226, 0.005760> + 20496: < 0.005207, -0.003918, 0.005678> + 20497: < 0.005294, -0.003619, 0.005786> + 20498: < 0.005023, -0.003637, 0.006006> + 20499: < 0.004946, -0.003941, 0.005887> + 20500: < 0.005294, -0.003619, 0.005786> + 20501: < 0.005379, -0.003302, 0.005888> + 20502: < 0.005099, -0.003318, 0.006117> + 20503: < 0.005023, -0.003637, 0.006006> + 20504: < 0.005379, -0.003302, 0.005888> + 20505: < 0.005459, -0.002971, 0.005983> + 20506: < 0.005172, -0.002984, 0.006219> + 20507: < 0.005099, -0.003318, 0.006117> + 20508: < 0.005459, -0.002971, 0.005983> + 20509: < 0.005533, -0.002627, 0.006069> + 20510: < 0.005240, -0.002638, 0.006311> + 20511: < 0.005172, -0.002984, 0.006219> + 20512: < 0.005533, -0.002627, 0.006069> + 20513: < 0.005599, -0.002272, 0.006146> + 20514: < 0.005301, -0.002281, 0.006393> + 20515: < 0.005240, -0.002638, 0.006311> + 20516: < 0.005599, -0.002272, 0.006146> + 20517: < 0.005657, -0.001908, 0.006212> + 20518: < 0.005355, -0.001915, 0.006464> + 20519: < 0.005301, -0.002281, 0.006393> + 20520: < 0.005657, -0.001908, 0.006212> + 20521: < 0.005707, -0.001536, 0.006269> + 20522: < 0.005401, -0.001541, 0.006523> + 20523: < 0.005355, -0.001915, 0.006464> + 20524: < 0.005707, -0.001536, 0.006269> + 20525: < 0.005747, -0.001157, 0.006313> + 20526: < 0.005438, -0.001161, 0.006570> + 20527: < 0.005401, -0.001541, 0.006523> + 20528: < 0.005747, -0.001157, 0.006313> + 20529: < 0.005776, -0.000774, 0.006346> + 20530: < 0.005466, -0.000777, 0.006605> + 20531: < 0.005438, -0.001161, 0.006570> + 20532: < 0.005776, -0.000774, 0.006346> + 20533: < 0.005794, -0.000388, 0.006366> + 20534: < 0.005483, -0.000389, 0.006626> + 20535: < 0.005466, -0.000777, 0.006605> + 20536: < 0.005794, -0.000388, 0.006366> + 20537: < 0.005801, -0.000000, 0.006373> + 20538: < 0.005489, -0.000000, 0.006633> + 20539: < 0.005483, -0.000389, 0.006626> + 20540: < 0.005801, -0.000000, 0.006373> + 20541: < 0.005794, 0.000388, 0.006366> + 20542: < 0.005483, 0.000389, 0.006626> + 20543: < 0.005489, -0.000000, 0.006633> + 20544: < 0.005794, 0.000388, 0.006366> + 20545: < 0.005776, 0.000774, 0.006346> + 20546: < 0.005466, 0.000777, 0.006605> + 20547: < 0.005483, 0.000389, 0.006626> + 20548: < 0.005776, 0.000774, 0.006346> + 20549: < 0.005747, 0.001157, 0.006313> + 20550: < 0.005438, 0.001161, 0.006570> + 20551: < 0.005466, 0.000777, 0.006605> + 20552: < 0.005747, 0.001157, 0.006313> + 20553: < 0.005707, 0.001536, 0.006269> + 20554: < 0.005401, 0.001541, 0.006523> + 20555: < 0.005438, 0.001161, 0.006570> + 20556: < 0.005707, 0.001536, 0.006269> + 20557: < 0.005657, 0.001908, 0.006212> + 20558: < 0.005355, 0.001915, 0.006464> + 20559: < 0.005401, 0.001541, 0.006523> + 20560: < 0.005657, 0.001908, 0.006212> + 20561: < 0.005599, 0.002272, 0.006146> + 20562: < 0.005301, 0.002281, 0.006393> + 20563: < 0.005355, 0.001915, 0.006464> + 20564: < 0.005599, 0.002272, 0.006146> + 20565: < 0.005533, 0.002627, 0.006069> + 20566: < 0.005240, 0.002638, 0.006311> + 20567: < 0.005301, 0.002281, 0.006393> + 20568: < 0.005533, 0.002627, 0.006069> + 20569: < 0.005459, 0.002971, 0.005983> + 20570: < 0.005172, 0.002984, 0.006219> + 20571: < 0.005240, 0.002638, 0.006311> + 20572: < 0.005459, 0.002971, 0.005983> + 20573: < 0.005379, 0.003302, 0.005888> + 20574: < 0.005099, 0.003318, 0.006117> + 20575: < 0.005172, 0.002984, 0.006219> + 20576: < 0.005379, 0.003302, 0.005888> + 20577: < 0.005294, 0.003619, 0.005786> + 20578: < 0.005023, 0.003637, 0.006006> + 20579: < 0.005099, 0.003318, 0.006117> + 20580: < 0.005294, 0.003619, 0.005786> + 20581: < 0.005207, 0.003918, 0.005678> + 20582: < 0.004946, 0.003941, 0.005887> + 20583: < 0.005023, 0.003637, 0.006006> + 20584: < 0.005207, 0.003918, 0.005678> + 20585: < 0.005120, 0.004199, 0.005564> + 20586: < 0.004870, 0.004226, 0.005760> + 20587: < 0.004946, 0.003941, 0.005887> + 20588: < 0.005120, 0.004199, 0.005564> + 20589: < 0.005034, 0.004460, 0.005446> + 20590: < 0.004798, 0.004494, 0.005623> + 20591: < 0.004870, 0.004226, 0.005760> + 20592: < 0.005034, 0.004460, 0.005446> + 20593: < 0.004959, 0.004691, 0.005326> + 20594: < 0.004738, 0.004738, 0.005479> + 20595: < 0.004798, 0.004494, 0.005623> + 20596: < 0.004959, 0.004691, 0.005326> + 20597: < 0.004894, 0.004894, 0.005206> + 20598: < 0.004691, 0.004959, 0.005326> + 20599: < 0.004738, 0.004738, 0.005479> + 20600: < 0.004691, -0.004959, 0.005326> + 20601: < 0.004738, -0.004738, 0.005479> + 20602: < 0.004494, -0.004798, 0.005623> + 20603: < 0.004460, -0.005034, 0.005446> + 20604: < 0.004738, -0.004738, 0.005479> + 20605: < 0.004798, -0.004494, 0.005623> + 20606: < 0.004542, -0.004542, 0.005788> + 20607: < 0.004494, -0.004798, 0.005623> + 20608: < 0.004798, -0.004494, 0.005623> + 20609: < 0.004870, -0.004226, 0.005760> + 20610: < 0.004602, -0.004267, 0.005939> + 20611: < 0.004542, -0.004542, 0.005788> + 20612: < 0.004870, -0.004226, 0.005760> + 20613: < 0.004946, -0.003941, 0.005887> + 20614: < 0.004668, -0.003975, 0.006080> + 20615: < 0.004602, -0.004267, 0.005939> + 20616: < 0.004946, -0.003941, 0.005887> + 20617: < 0.005023, -0.003637, 0.006006> + 20618: < 0.004736, -0.003666, 0.006210> + 20619: < 0.004668, -0.003975, 0.006080> + 20620: < 0.005023, -0.003637, 0.006006> + 20621: < 0.005099, -0.003318, 0.006117> + 20622: < 0.004804, -0.003342, 0.006329> + 20623: < 0.004736, -0.003666, 0.006210> + 20624: < 0.005099, -0.003318, 0.006117> + 20625: < 0.005172, -0.002984, 0.006219> + 20626: < 0.004870, -0.003004, 0.006439> + 20627: < 0.004804, -0.003342, 0.006329> + 20628: < 0.005172, -0.002984, 0.006219> + 20629: < 0.005240, -0.002638, 0.006311> + 20630: < 0.004931, -0.002655, 0.006537> + 20631: < 0.004870, -0.003004, 0.006439> + 20632: < 0.005240, -0.002638, 0.006311> + 20633: < 0.005301, -0.002281, 0.006393> + 20634: < 0.004987, -0.002295, 0.006623> + 20635: < 0.004931, -0.002655, 0.006537> + 20636: < 0.005301, -0.002281, 0.006393> + 20637: < 0.005355, -0.001915, 0.006464> + 20638: < 0.005037, -0.001926, 0.006698> + 20639: < 0.004987, -0.002295, 0.006623> + 20640: < 0.005355, -0.001915, 0.006464> + 20641: < 0.005401, -0.001541, 0.006523> + 20642: < 0.005080, -0.001550, 0.006761> + 20643: < 0.005037, -0.001926, 0.006698> + 20644: < 0.005401, -0.001541, 0.006523> + 20645: < 0.005438, -0.001161, 0.006570> + 20646: < 0.005114, -0.001168, 0.006810> + 20647: < 0.005080, -0.001550, 0.006761> + 20648: < 0.005438, -0.001161, 0.006570> + 20649: < 0.005466, -0.000777, 0.006605> + 20650: < 0.005140, -0.000781, 0.006846> + 20651: < 0.005114, -0.001168, 0.006810> + 20652: < 0.005466, -0.000777, 0.006605> + 20653: < 0.005483, -0.000389, 0.006626> + 20654: < 0.005156, -0.000391, 0.006868> + 20655: < 0.005140, -0.000781, 0.006846> + 20656: < 0.005483, -0.000389, 0.006626> + 20657: < 0.005489, -0.000000, 0.006633> + 20658: < 0.005162, -0.000000, 0.006875> + 20659: < 0.005156, -0.000391, 0.006868> + 20660: < 0.005489, -0.000000, 0.006633> + 20661: < 0.005483, 0.000389, 0.006626> + 20662: < 0.005156, 0.000391, 0.006868> + 20663: < 0.005162, -0.000000, 0.006875> + 20664: < 0.005483, 0.000389, 0.006626> + 20665: < 0.005466, 0.000777, 0.006605> + 20666: < 0.005140, 0.000781, 0.006846> + 20667: < 0.005156, 0.000391, 0.006868> + 20668: < 0.005466, 0.000777, 0.006605> + 20669: < 0.005438, 0.001161, 0.006570> + 20670: < 0.005114, 0.001168, 0.006810> + 20671: < 0.005140, 0.000781, 0.006846> + 20672: < 0.005438, 0.001161, 0.006570> + 20673: < 0.005401, 0.001541, 0.006523> + 20674: < 0.005080, 0.001550, 0.006761> + 20675: < 0.005114, 0.001168, 0.006810> + 20676: < 0.005401, 0.001541, 0.006523> + 20677: < 0.005355, 0.001915, 0.006464> + 20678: < 0.005037, 0.001926, 0.006698> + 20679: < 0.005080, 0.001550, 0.006761> + 20680: < 0.005355, 0.001915, 0.006464> + 20681: < 0.005301, 0.002281, 0.006393> + 20682: < 0.004987, 0.002295, 0.006623> + 20683: < 0.005037, 0.001926, 0.006698> + 20684: < 0.005301, 0.002281, 0.006393> + 20685: < 0.005240, 0.002638, 0.006311> + 20686: < 0.004931, 0.002655, 0.006537> + 20687: < 0.004987, 0.002295, 0.006623> + 20688: < 0.005240, 0.002638, 0.006311> + 20689: < 0.005172, 0.002984, 0.006219> + 20690: < 0.004870, 0.003004, 0.006439> + 20691: < 0.004931, 0.002655, 0.006537> + 20692: < 0.005172, 0.002984, 0.006219> + 20693: < 0.005099, 0.003318, 0.006117> + 20694: < 0.004804, 0.003342, 0.006329> + 20695: < 0.004870, 0.003004, 0.006439> + 20696: < 0.005099, 0.003318, 0.006117> + 20697: < 0.005023, 0.003637, 0.006006> + 20698: < 0.004736, 0.003666, 0.006210> + 20699: < 0.004804, 0.003342, 0.006329> + 20700: < 0.005023, 0.003637, 0.006006> + 20701: < 0.004946, 0.003941, 0.005887> + 20702: < 0.004668, 0.003975, 0.006080> + 20703: < 0.004736, 0.003666, 0.006210> + 20704: < 0.004946, 0.003941, 0.005887> + 20705: < 0.004870, 0.004226, 0.005760> + 20706: < 0.004602, 0.004267, 0.005939> + 20707: < 0.004668, 0.003975, 0.006080> + 20708: < 0.004870, 0.004226, 0.005760> + 20709: < 0.004798, 0.004494, 0.005623> + 20710: < 0.004542, 0.004542, 0.005788> + 20711: < 0.004602, 0.004267, 0.005939> + 20712: < 0.004798, 0.004494, 0.005623> + 20713: < 0.004738, 0.004738, 0.005479> + 20714: < 0.004494, 0.004798, 0.005623> + 20715: < 0.004542, 0.004542, 0.005788> + 20716: < 0.004738, 0.004738, 0.005479> + 20717: < 0.004691, 0.004959, 0.005326> + 20718: < 0.004460, 0.005034, 0.005446> + 20719: < 0.004494, 0.004798, 0.005623> + 20720: < 0.004460, -0.005034, 0.005446> + 20721: < 0.004494, -0.004798, 0.005623> + 20722: < 0.004226, -0.004870, 0.005760> + 20723: < 0.004199, -0.005120, 0.005564> + 20724: < 0.004494, -0.004798, 0.005623> + 20725: < 0.004542, -0.004542, 0.005788> + 20726: < 0.004267, -0.004602, 0.005939> + 20727: < 0.004226, -0.004870, 0.005760> + 20728: < 0.004542, -0.004542, 0.005788> + 20729: < 0.004602, -0.004267, 0.005939> + 20730: < 0.004318, -0.004318, 0.006105> + 20731: < 0.004267, -0.004602, 0.005939> + 20732: < 0.004602, -0.004267, 0.005939> + 20733: < 0.004668, -0.003975, 0.006080> + 20734: < 0.004374, -0.004017, 0.006257> + 20735: < 0.004318, -0.004318, 0.006105> + 20736: < 0.004668, -0.003975, 0.006080> + 20737: < 0.004736, -0.003666, 0.006210> + 20738: < 0.004434, -0.003701, 0.006397> + 20739: < 0.004374, -0.004017, 0.006257> + 20740: < 0.004736, -0.003666, 0.006210> + 20741: < 0.004804, -0.003342, 0.006329> + 20742: < 0.004494, -0.003372, 0.006525> + 20743: < 0.004434, -0.003701, 0.006397> + 20744: < 0.004804, -0.003342, 0.006329> + 20745: < 0.004870, -0.003004, 0.006439> + 20746: < 0.004553, -0.003030, 0.006641> + 20747: < 0.004494, -0.003372, 0.006525> + 20748: < 0.004870, -0.003004, 0.006439> + 20749: < 0.004931, -0.002655, 0.006537> + 20750: < 0.004609, -0.002676, 0.006745> + 20751: < 0.004553, -0.003030, 0.006641> + 20752: < 0.004931, -0.002655, 0.006537> + 20753: < 0.004987, -0.002295, 0.006623> + 20754: < 0.004659, -0.002313, 0.006836> + 20755: < 0.004609, -0.002676, 0.006745> + 20756: < 0.004987, -0.002295, 0.006623> + 20757: < 0.005037, -0.001926, 0.006698> + 20758: < 0.004705, -0.001940, 0.006915> + 20759: < 0.004659, -0.002313, 0.006836> + 20760: < 0.005037, -0.001926, 0.006698> + 20761: < 0.005080, -0.001550, 0.006761> + 20762: < 0.004744, -0.001561, 0.006980> + 20763: < 0.004705, -0.001940, 0.006915> + 20764: < 0.005080, -0.001550, 0.006761> + 20765: < 0.005114, -0.001168, 0.006810> + 20766: < 0.004776, -0.001176, 0.007032> + 20767: < 0.004744, -0.001561, 0.006980> + 20768: < 0.005114, -0.001168, 0.006810> + 20769: < 0.005140, -0.000781, 0.006846> + 20770: < 0.004800, -0.000786, 0.007069> + 20771: < 0.004776, -0.001176, 0.007032> + 20772: < 0.005140, -0.000781, 0.006846> + 20773: < 0.005156, -0.000391, 0.006868> + 20774: < 0.004815, -0.000394, 0.007092> + 20775: < 0.004800, -0.000786, 0.007069> + 20776: < 0.005156, -0.000391, 0.006868> + 20777: < 0.005162, -0.000000, 0.006875> + 20778: < 0.004820, -0.000000, 0.007099> + 20779: < 0.004815, -0.000394, 0.007092> + 20780: < 0.005162, -0.000000, 0.006875> + 20781: < 0.005156, 0.000391, 0.006868> + 20782: < 0.004815, 0.000394, 0.007092> + 20783: < 0.004820, -0.000000, 0.007099> + 20784: < 0.005156, 0.000391, 0.006868> + 20785: < 0.005140, 0.000781, 0.006846> + 20786: < 0.004800, 0.000786, 0.007069> + 20787: < 0.004815, 0.000394, 0.007092> + 20788: < 0.005140, 0.000781, 0.006846> + 20789: < 0.005114, 0.001168, 0.006810> + 20790: < 0.004776, 0.001176, 0.007032> + 20791: < 0.004800, 0.000786, 0.007069> + 20792: < 0.005114, 0.001168, 0.006810> + 20793: < 0.005080, 0.001550, 0.006761> + 20794: < 0.004744, 0.001561, 0.006980> + 20795: < 0.004776, 0.001176, 0.007032> + 20796: < 0.005080, 0.001550, 0.006761> + 20797: < 0.005037, 0.001926, 0.006698> + 20798: < 0.004705, 0.001940, 0.006915> + 20799: < 0.004744, 0.001561, 0.006980> + 20800: < 0.005037, 0.001926, 0.006698> + 20801: < 0.004987, 0.002295, 0.006623> + 20802: < 0.004659, 0.002313, 0.006836> + 20803: < 0.004705, 0.001940, 0.006915> + 20804: < 0.004987, 0.002295, 0.006623> + 20805: < 0.004931, 0.002655, 0.006537> + 20806: < 0.004609, 0.002676, 0.006745> + 20807: < 0.004659, 0.002313, 0.006836> + 20808: < 0.004931, 0.002655, 0.006537> + 20809: < 0.004870, 0.003004, 0.006439> + 20810: < 0.004553, 0.003030, 0.006641> + 20811: < 0.004609, 0.002676, 0.006745> + 20812: < 0.004870, 0.003004, 0.006439> + 20813: < 0.004804, 0.003342, 0.006329> + 20814: < 0.004494, 0.003372, 0.006525> + 20815: < 0.004553, 0.003030, 0.006641> + 20816: < 0.004804, 0.003342, 0.006329> + 20817: < 0.004736, 0.003666, 0.006210> + 20818: < 0.004434, 0.003701, 0.006397> + 20819: < 0.004494, 0.003372, 0.006525> + 20820: < 0.004736, 0.003666, 0.006210> + 20821: < 0.004668, 0.003975, 0.006080> + 20822: < 0.004374, 0.004017, 0.006257> + 20823: < 0.004434, 0.003701, 0.006397> + 20824: < 0.004668, 0.003975, 0.006080> + 20825: < 0.004602, 0.004267, 0.005939> + 20826: < 0.004318, 0.004318, 0.006105> + 20827: < 0.004374, 0.004017, 0.006257> + 20828: < 0.004602, 0.004267, 0.005939> + 20829: < 0.004542, 0.004542, 0.005788> + 20830: < 0.004267, 0.004602, 0.005939> + 20831: < 0.004318, 0.004318, 0.006105> + 20832: < 0.004542, 0.004542, 0.005788> + 20833: < 0.004494, 0.004798, 0.005623> + 20834: < 0.004226, 0.004870, 0.005760> + 20835: < 0.004267, 0.004602, 0.005939> + 20836: < 0.004494, 0.004798, 0.005623> + 20837: < 0.004460, 0.005034, 0.005446> + 20838: < 0.004199, 0.005120, 0.005564> + 20839: < 0.004226, 0.004870, 0.005760> + 20840: < 0.004199, -0.005120, 0.005564> + 20841: < 0.004226, -0.004870, 0.005760> + 20842: < 0.003941, -0.004946, 0.005887> + 20843: < 0.003918, -0.005207, 0.005678> + 20844: < 0.004226, -0.004870, 0.005760> + 20845: < 0.004267, -0.004602, 0.005939> + 20846: < 0.003975, -0.004668, 0.006080> + 20847: < 0.003941, -0.004946, 0.005887> + 20848: < 0.004267, -0.004602, 0.005939> + 20849: < 0.004318, -0.004318, 0.006105> + 20850: < 0.004017, -0.004374, 0.006257> + 20851: < 0.003975, -0.004668, 0.006080> + 20852: < 0.004318, -0.004318, 0.006105> + 20853: < 0.004374, -0.004017, 0.006257> + 20854: < 0.004065, -0.004065, 0.006421> + 20855: < 0.004017, -0.004374, 0.006257> + 20856: < 0.004374, -0.004017, 0.006257> + 20857: < 0.004434, -0.003701, 0.006397> + 20858: < 0.004117, -0.003743, 0.006570> + 20859: < 0.004065, -0.004065, 0.006421> + 20860: < 0.004434, -0.003701, 0.006397> + 20861: < 0.004494, -0.003372, 0.006525> + 20862: < 0.004170, -0.003407, 0.006705> + 20863: < 0.004117, -0.003743, 0.006570> + 20864: < 0.004494, -0.003372, 0.006525> + 20865: < 0.004553, -0.003030, 0.006641> + 20866: < 0.004223, -0.003060, 0.006828> + 20867: < 0.004170, -0.003407, 0.006705> + 20868: < 0.004553, -0.003030, 0.006641> + 20869: < 0.004609, -0.002676, 0.006745> + 20870: < 0.004273, -0.002701, 0.006937> + 20871: < 0.004223, -0.003060, 0.006828> + 20872: < 0.004609, -0.002676, 0.006745> + 20873: < 0.004659, -0.002313, 0.006836> + 20874: < 0.004318, -0.002333, 0.007033> + 20875: < 0.004273, -0.002701, 0.006937> + 20876: < 0.004659, -0.002313, 0.006836> + 20877: < 0.004705, -0.001940, 0.006915> + 20878: < 0.004360, -0.001957, 0.007115> + 20879: < 0.004318, -0.002333, 0.007033> + 20880: < 0.004705, -0.001940, 0.006915> + 20881: < 0.004744, -0.001561, 0.006980> + 20882: < 0.004395, -0.001574, 0.007183> + 20883: < 0.004360, -0.001957, 0.007115> + 20884: < 0.004744, -0.001561, 0.006980> + 20885: < 0.004776, -0.001176, 0.007032> + 20886: < 0.004424, -0.001185, 0.007236> + 20887: < 0.004395, -0.001574, 0.007183> + 20888: < 0.004776, -0.001176, 0.007032> + 20889: < 0.004800, -0.000786, 0.007069> + 20890: < 0.004446, -0.000792, 0.007275> + 20891: < 0.004424, -0.001185, 0.007236> + 20892: < 0.004800, -0.000786, 0.007069> + 20893: < 0.004815, -0.000394, 0.007092> + 20894: < 0.004460, -0.000397, 0.007298> + 20895: < 0.004446, -0.000792, 0.007275> + 20896: < 0.004815, -0.000394, 0.007092> + 20897: < 0.004820, -0.000000, 0.007099> + 20898: < 0.004465, -0.000000, 0.007306> + 20899: < 0.004460, -0.000397, 0.007298> + 20900: < 0.004820, -0.000000, 0.007099> + 20901: < 0.004815, 0.000394, 0.007092> + 20902: < 0.004460, 0.000397, 0.007298> + 20903: < 0.004465, -0.000000, 0.007306> + 20904: < 0.004815, 0.000394, 0.007092> + 20905: < 0.004800, 0.000786, 0.007069> + 20906: < 0.004446, 0.000792, 0.007275> + 20907: < 0.004460, 0.000397, 0.007298> + 20908: < 0.004800, 0.000786, 0.007069> + 20909: < 0.004776, 0.001176, 0.007032> + 20910: < 0.004424, 0.001185, 0.007236> + 20911: < 0.004446, 0.000792, 0.007275> + 20912: < 0.004776, 0.001176, 0.007032> + 20913: < 0.004744, 0.001561, 0.006980> + 20914: < 0.004395, 0.001574, 0.007183> + 20915: < 0.004424, 0.001185, 0.007236> + 20916: < 0.004744, 0.001561, 0.006980> + 20917: < 0.004705, 0.001940, 0.006915> + 20918: < 0.004360, 0.001957, 0.007115> + 20919: < 0.004395, 0.001574, 0.007183> + 20920: < 0.004705, 0.001940, 0.006915> + 20921: < 0.004659, 0.002313, 0.006836> + 20922: < 0.004318, 0.002333, 0.007033> + 20923: < 0.004360, 0.001957, 0.007115> + 20924: < 0.004659, 0.002313, 0.006836> + 20925: < 0.004609, 0.002676, 0.006745> + 20926: < 0.004273, 0.002701, 0.006937> + 20927: < 0.004318, 0.002333, 0.007033> + 20928: < 0.004609, 0.002676, 0.006745> + 20929: < 0.004553, 0.003030, 0.006641> + 20930: < 0.004223, 0.003060, 0.006828> + 20931: < 0.004273, 0.002701, 0.006937> + 20932: < 0.004553, 0.003030, 0.006641> + 20933: < 0.004494, 0.003372, 0.006525> + 20934: < 0.004170, 0.003407, 0.006705> + 20935: < 0.004223, 0.003060, 0.006828> + 20936: < 0.004494, 0.003372, 0.006525> + 20937: < 0.004434, 0.003701, 0.006397> + 20938: < 0.004117, 0.003743, 0.006570> + 20939: < 0.004170, 0.003407, 0.006705> + 20940: < 0.004434, 0.003701, 0.006397> + 20941: < 0.004374, 0.004017, 0.006257> + 20942: < 0.004065, 0.004065, 0.006421> + 20943: < 0.004117, 0.003743, 0.006570> + 20944: < 0.004374, 0.004017, 0.006257> + 20945: < 0.004318, 0.004318, 0.006105> + 20946: < 0.004017, 0.004374, 0.006257> + 20947: < 0.004065, 0.004065, 0.006421> + 20948: < 0.004318, 0.004318, 0.006105> + 20949: < 0.004267, 0.004602, 0.005939> + 20950: < 0.003975, 0.004668, 0.006080> + 20951: < 0.004017, 0.004374, 0.006257> + 20952: < 0.004267, 0.004602, 0.005939> + 20953: < 0.004226, 0.004870, 0.005760> + 20954: < 0.003941, 0.004946, 0.005887> + 20955: < 0.003975, 0.004668, 0.006080> + 20956: < 0.004226, 0.004870, 0.005760> + 20957: < 0.004199, 0.005120, 0.005564> + 20958: < 0.003918, 0.005207, 0.005678> + 20959: < 0.003941, 0.004946, 0.005887> + 20960: < 0.003918, -0.005207, 0.005678> + 20961: < 0.003941, -0.004946, 0.005887> + 20962: < 0.003637, -0.005023, 0.006006> + 20963: < 0.003619, -0.005294, 0.005786> + 20964: < 0.003941, -0.004946, 0.005887> + 20965: < 0.003975, -0.004668, 0.006080> + 20966: < 0.003666, -0.004736, 0.006210> + 20967: < 0.003637, -0.005023, 0.006006> + 20968: < 0.003975, -0.004668, 0.006080> + 20969: < 0.004017, -0.004374, 0.006257> + 20970: < 0.003701, -0.004434, 0.006397> + 20971: < 0.003666, -0.004736, 0.006210> + 20972: < 0.004017, -0.004374, 0.006257> + 20973: < 0.004065, -0.004065, 0.006421> + 20974: < 0.003743, -0.004117, 0.006570> + 20975: < 0.003701, -0.004434, 0.006397> + 20976: < 0.004065, -0.004065, 0.006421> + 20977: < 0.004117, -0.003743, 0.006570> + 20978: < 0.003788, -0.003788, 0.006727> + 20979: < 0.003743, -0.004117, 0.006570> + 20980: < 0.004117, -0.003743, 0.006570> + 20981: < 0.004170, -0.003407, 0.006705> + 20982: < 0.003834, -0.003446, 0.006870> + 20983: < 0.003788, -0.003788, 0.006727> + 20984: < 0.004170, -0.003407, 0.006705> + 20985: < 0.004223, -0.003060, 0.006828> + 20986: < 0.003880, -0.003093, 0.006998> + 20987: < 0.003834, -0.003446, 0.006870> + 20988: < 0.004223, -0.003060, 0.006828> + 20989: < 0.004273, -0.002701, 0.006937> + 20990: < 0.003924, -0.002729, 0.007112> + 20991: < 0.003880, -0.003093, 0.006998> + 20992: < 0.004273, -0.002701, 0.006937> + 20993: < 0.004318, -0.002333, 0.007033> + 20994: < 0.003965, -0.002356, 0.007212> + 20995: < 0.003924, -0.002729, 0.007112> + 20996: < 0.004318, -0.002333, 0.007033> + 20997: < 0.004360, -0.001957, 0.007115> + 20998: < 0.004002, -0.001975, 0.007297> + 20999: < 0.003965, -0.002356, 0.007212> + 21000: < 0.004360, -0.001957, 0.007115> + 21001: < 0.004395, -0.001574, 0.007183> + 21002: < 0.004034, -0.001588, 0.007367> + 21003: < 0.004002, -0.001975, 0.007297> + 21004: < 0.004395, -0.001574, 0.007183> + 21005: < 0.004424, -0.001185, 0.007236> + 21006: < 0.004061, -0.001196, 0.007423> + 21007: < 0.004034, -0.001588, 0.007367> + 21008: < 0.004424, -0.001185, 0.007236> + 21009: < 0.004446, -0.000792, 0.007275> + 21010: < 0.004081, -0.000799, 0.007462> + 21011: < 0.004061, -0.001196, 0.007423> + 21012: < 0.004446, -0.000792, 0.007275> + 21013: < 0.004460, -0.000397, 0.007298> + 21014: < 0.004093, -0.000400, 0.007487> + 21015: < 0.004081, -0.000799, 0.007462> + 21016: < 0.004460, -0.000397, 0.007298> + 21017: < 0.004465, -0.000000, 0.007306> + 21018: < 0.004098, -0.000000, 0.007495> + 21019: < 0.004093, -0.000400, 0.007487> + 21020: < 0.004465, -0.000000, 0.007306> + 21021: < 0.004460, 0.000397, 0.007298> + 21022: < 0.004093, 0.000400, 0.007487> + 21023: < 0.004098, -0.000000, 0.007495> + 21024: < 0.004460, 0.000397, 0.007298> + 21025: < 0.004446, 0.000792, 0.007275> + 21026: < 0.004081, 0.000799, 0.007462> + 21027: < 0.004093, 0.000400, 0.007487> + 21028: < 0.004446, 0.000792, 0.007275> + 21029: < 0.004424, 0.001185, 0.007236> + 21030: < 0.004061, 0.001196, 0.007423> + 21031: < 0.004081, 0.000799, 0.007462> + 21032: < 0.004424, 0.001185, 0.007236> + 21033: < 0.004395, 0.001574, 0.007183> + 21034: < 0.004034, 0.001588, 0.007367> + 21035: < 0.004061, 0.001196, 0.007423> + 21036: < 0.004395, 0.001574, 0.007183> + 21037: < 0.004360, 0.001957, 0.007115> + 21038: < 0.004002, 0.001975, 0.007297> + 21039: < 0.004034, 0.001588, 0.007367> + 21040: < 0.004360, 0.001957, 0.007115> + 21041: < 0.004318, 0.002333, 0.007033> + 21042: < 0.003965, 0.002356, 0.007212> + 21043: < 0.004002, 0.001975, 0.007297> + 21044: < 0.004318, 0.002333, 0.007033> + 21045: < 0.004273, 0.002701, 0.006937> + 21046: < 0.003924, 0.002729, 0.007112> + 21047: < 0.003965, 0.002356, 0.007212> + 21048: < 0.004273, 0.002701, 0.006937> + 21049: < 0.004223, 0.003060, 0.006828> + 21050: < 0.003880, 0.003093, 0.006998> + 21051: < 0.003924, 0.002729, 0.007112> + 21052: < 0.004223, 0.003060, 0.006828> + 21053: < 0.004170, 0.003407, 0.006705> + 21054: < 0.003834, 0.003446, 0.006870> + 21055: < 0.003880, 0.003093, 0.006998> + 21056: < 0.004170, 0.003407, 0.006705> + 21057: < 0.004117, 0.003743, 0.006570> + 21058: < 0.003788, 0.003788, 0.006727> + 21059: < 0.003834, 0.003446, 0.006870> + 21060: < 0.004117, 0.003743, 0.006570> + 21061: < 0.004065, 0.004065, 0.006421> + 21062: < 0.003743, 0.004117, 0.006570> + 21063: < 0.003788, 0.003788, 0.006727> + 21064: < 0.004065, 0.004065, 0.006421> + 21065: < 0.004017, 0.004374, 0.006257> + 21066: < 0.003701, 0.004434, 0.006397> + 21067: < 0.003743, 0.004117, 0.006570> + 21068: < 0.004017, 0.004374, 0.006257> + 21069: < 0.003975, 0.004668, 0.006080> + 21070: < 0.003666, 0.004736, 0.006210> + 21071: < 0.003701, 0.004434, 0.006397> + 21072: < 0.003975, 0.004668, 0.006080> + 21073: < 0.003941, 0.004946, 0.005887> + 21074: < 0.003637, 0.005023, 0.006006> + 21075: < 0.003666, 0.004736, 0.006210> + 21076: < 0.003941, 0.004946, 0.005887> + 21077: < 0.003918, 0.005207, 0.005678> + 21078: < 0.003619, 0.005294, 0.005786> + 21079: < 0.003637, 0.005023, 0.006006> + 21080: < 0.003619, -0.005294, 0.005786> + 21081: < 0.003637, -0.005023, 0.006006> + 21082: < 0.003318, -0.005099, 0.006117> + 21083: < 0.003302, -0.005379, 0.005888> + 21084: < 0.003637, -0.005023, 0.006006> + 21085: < 0.003666, -0.004736, 0.006210> + 21086: < 0.003342, -0.004804, 0.006329> + 21087: < 0.003318, -0.005099, 0.006117> + 21088: < 0.003666, -0.004736, 0.006210> + 21089: < 0.003701, -0.004434, 0.006397> + 21090: < 0.003372, -0.004494, 0.006525> + 21091: < 0.003342, -0.004804, 0.006329> + 21092: < 0.003701, -0.004434, 0.006397> + 21093: < 0.003743, -0.004117, 0.006570> + 21094: < 0.003407, -0.004170, 0.006705> + 21095: < 0.003372, -0.004494, 0.006525> + 21096: < 0.003743, -0.004117, 0.006570> + 21097: < 0.003788, -0.003788, 0.006727> + 21098: < 0.003446, -0.003834, 0.006870> + 21099: < 0.003407, -0.004170, 0.006705> + 21100: < 0.003788, -0.003788, 0.006727> + 21101: < 0.003834, -0.003446, 0.006870> + 21102: < 0.003486, -0.003486, 0.007018> + 21103: < 0.003446, -0.003834, 0.006870> + 21104: < 0.003834, -0.003446, 0.006870> + 21105: < 0.003880, -0.003093, 0.006998> + 21106: < 0.003526, -0.003127, 0.007152> + 21107: < 0.003486, -0.003486, 0.007018> + 21108: < 0.003880, -0.003093, 0.006998> + 21109: < 0.003924, -0.002729, 0.007112> + 21110: < 0.003565, -0.002758, 0.007270> + 21111: < 0.003526, -0.003127, 0.007152> + 21112: < 0.003924, -0.002729, 0.007112> + 21113: < 0.003965, -0.002356, 0.007212> + 21114: < 0.003601, -0.002380, 0.007374> + 21115: < 0.003565, -0.002758, 0.007270> + 21116: < 0.003965, -0.002356, 0.007212> + 21117: < 0.004002, -0.001975, 0.007297> + 21118: < 0.003634, -0.001995, 0.007462> + 21119: < 0.003601, -0.002380, 0.007374> + 21120: < 0.004002, -0.001975, 0.007297> + 21121: < 0.004034, -0.001588, 0.007367> + 21122: < 0.003663, -0.001603, 0.007535> + 21123: < 0.003634, -0.001995, 0.007462> + 21124: < 0.004034, -0.001588, 0.007367> + 21125: < 0.004061, -0.001196, 0.007423> + 21126: < 0.003686, -0.001207, 0.007591> + 21127: < 0.003663, -0.001603, 0.007535> + 21128: < 0.004061, -0.001196, 0.007423> + 21129: < 0.004081, -0.000799, 0.007462> + 21130: < 0.003704, -0.000807, 0.007632> + 21131: < 0.003686, -0.001207, 0.007591> + 21132: < 0.004081, -0.000799, 0.007462> + 21133: < 0.004093, -0.000400, 0.007487> + 21134: < 0.003716, -0.000404, 0.007657> + 21135: < 0.003704, -0.000807, 0.007632> + 21136: < 0.004093, -0.000400, 0.007487> + 21137: < 0.004098, -0.000000, 0.007495> + 21138: < 0.003720, -0.000000, 0.007665> + 21139: < 0.003716, -0.000404, 0.007657> + 21140: < 0.004098, -0.000000, 0.007495> + 21141: < 0.004093, 0.000400, 0.007487> + 21142: < 0.003716, 0.000404, 0.007657> + 21143: < 0.003720, -0.000000, 0.007665> + 21144: < 0.004093, 0.000400, 0.007487> + 21145: < 0.004081, 0.000799, 0.007462> + 21146: < 0.003704, 0.000807, 0.007632> + 21147: < 0.003716, 0.000404, 0.007657> + 21148: < 0.004081, 0.000799, 0.007462> + 21149: < 0.004061, 0.001196, 0.007423> + 21150: < 0.003686, 0.001207, 0.007591> + 21151: < 0.003704, 0.000807, 0.007632> + 21152: < 0.004061, 0.001196, 0.007423> + 21153: < 0.004034, 0.001588, 0.007367> + 21154: < 0.003663, 0.001603, 0.007535> + 21155: < 0.003686, 0.001207, 0.007591> + 21156: < 0.004034, 0.001588, 0.007367> + 21157: < 0.004002, 0.001975, 0.007297> + 21158: < 0.003634, 0.001995, 0.007462> + 21159: < 0.003663, 0.001603, 0.007535> + 21160: < 0.004002, 0.001975, 0.007297> + 21161: < 0.003965, 0.002356, 0.007212> + 21162: < 0.003601, 0.002380, 0.007374> + 21163: < 0.003634, 0.001995, 0.007462> + 21164: < 0.003965, 0.002356, 0.007212> + 21165: < 0.003924, 0.002729, 0.007112> + 21166: < 0.003565, 0.002758, 0.007270> + 21167: < 0.003601, 0.002380, 0.007374> + 21168: < 0.003924, 0.002729, 0.007112> + 21169: < 0.003880, 0.003093, 0.006998> + 21170: < 0.003526, 0.003127, 0.007152> + 21171: < 0.003565, 0.002758, 0.007270> + 21172: < 0.003880, 0.003093, 0.006998> + 21173: < 0.003834, 0.003446, 0.006870> + 21174: < 0.003486, 0.003486, 0.007018> + 21175: < 0.003526, 0.003127, 0.007152> + 21176: < 0.003834, 0.003446, 0.006870> + 21177: < 0.003788, 0.003788, 0.006727> + 21178: < 0.003446, 0.003834, 0.006870> + 21179: < 0.003486, 0.003486, 0.007018> + 21180: < 0.003788, 0.003788, 0.006727> + 21181: < 0.003743, 0.004117, 0.006570> + 21182: < 0.003407, 0.004170, 0.006705> + 21183: < 0.003446, 0.003834, 0.006870> + 21184: < 0.003743, 0.004117, 0.006570> + 21185: < 0.003701, 0.004434, 0.006397> + 21186: < 0.003372, 0.004494, 0.006525> + 21187: < 0.003407, 0.004170, 0.006705> + 21188: < 0.003701, 0.004434, 0.006397> + 21189: < 0.003666, 0.004736, 0.006210> + 21190: < 0.003342, 0.004804, 0.006329> + 21191: < 0.003372, 0.004494, 0.006525> + 21192: < 0.003666, 0.004736, 0.006210> + 21193: < 0.003637, 0.005023, 0.006006> + 21194: < 0.003318, 0.005099, 0.006117> + 21195: < 0.003342, 0.004804, 0.006329> + 21196: < 0.003637, 0.005023, 0.006006> + 21197: < 0.003619, 0.005294, 0.005786> + 21198: < 0.003302, 0.005379, 0.005888> + 21199: < 0.003318, 0.005099, 0.006117> + 21200: < 0.003302, -0.005379, 0.005888> + 21201: < 0.003318, -0.005099, 0.006117> + 21202: < 0.002984, -0.005172, 0.006219> + 21203: < 0.002971, -0.005459, 0.005983> + 21204: < 0.003318, -0.005099, 0.006117> + 21205: < 0.003342, -0.004804, 0.006329> + 21206: < 0.003004, -0.004870, 0.006439> + 21207: < 0.002984, -0.005172, 0.006219> + 21208: < 0.003342, -0.004804, 0.006329> + 21209: < 0.003372, -0.004494, 0.006525> + 21210: < 0.003030, -0.004553, 0.006641> + 21211: < 0.003004, -0.004870, 0.006439> + 21212: < 0.003372, -0.004494, 0.006525> + 21213: < 0.003407, -0.004170, 0.006705> + 21214: < 0.003060, -0.004223, 0.006828> + 21215: < 0.003030, -0.004553, 0.006641> + 21216: < 0.003407, -0.004170, 0.006705> + 21217: < 0.003446, -0.003834, 0.006870> + 21218: < 0.003093, -0.003880, 0.006998> + 21219: < 0.003060, -0.004223, 0.006828> + 21220: < 0.003446, -0.003834, 0.006870> + 21221: < 0.003486, -0.003486, 0.007018> + 21222: < 0.003127, -0.003526, 0.007152> + 21223: < 0.003093, -0.003880, 0.006998> + 21224: < 0.003486, -0.003486, 0.007018> + 21225: < 0.003526, -0.003127, 0.007152> + 21226: < 0.003162, -0.003162, 0.007290> + 21227: < 0.003127, -0.003526, 0.007152> + 21228: < 0.003526, -0.003127, 0.007152> + 21229: < 0.003565, -0.002758, 0.007270> + 21230: < 0.003195, -0.002787, 0.007412> + 21231: < 0.003162, -0.003162, 0.007290> + 21232: < 0.003565, -0.002758, 0.007270> + 21233: < 0.003601, -0.002380, 0.007374> + 21234: < 0.003227, -0.002405, 0.007519> + 21235: < 0.003195, -0.002787, 0.007412> + 21236: < 0.003601, -0.002380, 0.007374> + 21237: < 0.003634, -0.001995, 0.007462> + 21238: < 0.003255, -0.002015, 0.007610> + 21239: < 0.003227, -0.002405, 0.007519> + 21240: < 0.003634, -0.001995, 0.007462> + 21241: < 0.003663, -0.001603, 0.007535> + 21242: < 0.003281, -0.001619, 0.007684> + 21243: < 0.003255, -0.002015, 0.007610> + 21244: < 0.003663, -0.001603, 0.007535> + 21245: < 0.003686, -0.001207, 0.007591> + 21246: < 0.003302, -0.001219, 0.007743> + 21247: < 0.003281, -0.001619, 0.007684> + 21248: < 0.003686, -0.001207, 0.007591> + 21249: < 0.003704, -0.000807, 0.007632> + 21250: < 0.003318, -0.000814, 0.007785> + 21251: < 0.003302, -0.001219, 0.007743> + 21252: < 0.003704, -0.000807, 0.007632> + 21253: < 0.003716, -0.000404, 0.007657> + 21254: < 0.003328, -0.000408, 0.007810> + 21255: < 0.003318, -0.000814, 0.007785> + 21256: < 0.003716, -0.000404, 0.007657> + 21257: < 0.003720, -0.000000, 0.007665> + 21258: < 0.003331, -0.000000, 0.007818> + 21259: < 0.003328, -0.000408, 0.007810> + 21260: < 0.003720, -0.000000, 0.007665> + 21261: < 0.003716, 0.000404, 0.007657> + 21262: < 0.003328, 0.000408, 0.007810> + 21263: < 0.003331, -0.000000, 0.007818> + 21264: < 0.003716, 0.000404, 0.007657> + 21265: < 0.003704, 0.000807, 0.007632> + 21266: < 0.003318, 0.000814, 0.007785> + 21267: < 0.003328, 0.000408, 0.007810> + 21268: < 0.003704, 0.000807, 0.007632> + 21269: < 0.003686, 0.001207, 0.007591> + 21270: < 0.003302, 0.001219, 0.007743> + 21271: < 0.003318, 0.000814, 0.007785> + 21272: < 0.003686, 0.001207, 0.007591> + 21273: < 0.003663, 0.001603, 0.007535> + 21274: < 0.003281, 0.001619, 0.007684> + 21275: < 0.003302, 0.001219, 0.007743> + 21276: < 0.003663, 0.001603, 0.007535> + 21277: < 0.003634, 0.001995, 0.007462> + 21278: < 0.003255, 0.002015, 0.007610> + 21279: < 0.003281, 0.001619, 0.007684> + 21280: < 0.003634, 0.001995, 0.007462> + 21281: < 0.003601, 0.002380, 0.007374> + 21282: < 0.003227, 0.002405, 0.007519> + 21283: < 0.003255, 0.002015, 0.007610> + 21284: < 0.003601, 0.002380, 0.007374> + 21285: < 0.003565, 0.002758, 0.007270> + 21286: < 0.003195, 0.002787, 0.007412> + 21287: < 0.003227, 0.002405, 0.007519> + 21288: < 0.003565, 0.002758, 0.007270> + 21289: < 0.003526, 0.003127, 0.007152> + 21290: < 0.003162, 0.003162, 0.007290> + 21291: < 0.003195, 0.002787, 0.007412> + 21292: < 0.003526, 0.003127, 0.007152> + 21293: < 0.003486, 0.003486, 0.007018> + 21294: < 0.003127, 0.003526, 0.007152> + 21295: < 0.003162, 0.003162, 0.007290> + 21296: < 0.003486, 0.003486, 0.007018> + 21297: < 0.003446, 0.003834, 0.006870> + 21298: < 0.003093, 0.003880, 0.006998> + 21299: < 0.003127, 0.003526, 0.007152> + 21300: < 0.003446, 0.003834, 0.006870> + 21301: < 0.003407, 0.004170, 0.006705> + 21302: < 0.003060, 0.004223, 0.006828> + 21303: < 0.003093, 0.003880, 0.006998> + 21304: < 0.003407, 0.004170, 0.006705> + 21305: < 0.003372, 0.004494, 0.006525> + 21306: < 0.003030, 0.004553, 0.006641> + 21307: < 0.003060, 0.004223, 0.006828> + 21308: < 0.003372, 0.004494, 0.006525> + 21309: < 0.003342, 0.004804, 0.006329> + 21310: < 0.003004, 0.004870, 0.006439> + 21311: < 0.003030, 0.004553, 0.006641> + 21312: < 0.003342, 0.004804, 0.006329> + 21313: < 0.003318, 0.005099, 0.006117> + 21314: < 0.002984, 0.005172, 0.006219> + 21315: < 0.003004, 0.004870, 0.006439> + 21316: < 0.003318, 0.005099, 0.006117> + 21317: < 0.003302, 0.005379, 0.005888> + 21318: < 0.002971, 0.005459, 0.005983> + 21319: < 0.002984, 0.005172, 0.006219> + 21320: < 0.002971, -0.005459, 0.005983> + 21321: < 0.002984, -0.005172, 0.006219> + 21322: < 0.002638, -0.005240, 0.006311> + 21323: < 0.002627, -0.005533, 0.006069> + 21324: < 0.002984, -0.005172, 0.006219> + 21325: < 0.003004, -0.004870, 0.006439> + 21326: < 0.002655, -0.004931, 0.006537> + 21327: < 0.002638, -0.005240, 0.006311> + 21328: < 0.003004, -0.004870, 0.006439> + 21329: < 0.003030, -0.004553, 0.006641> + 21330: < 0.002676, -0.004609, 0.006745> + 21331: < 0.002655, -0.004931, 0.006537> + 21332: < 0.003030, -0.004553, 0.006641> + 21333: < 0.003060, -0.004223, 0.006828> + 21334: < 0.002701, -0.004273, 0.006937> + 21335: < 0.002676, -0.004609, 0.006745> + 21336: < 0.003060, -0.004223, 0.006828> + 21337: < 0.003093, -0.003880, 0.006998> + 21338: < 0.002729, -0.003924, 0.007112> + 21339: < 0.002701, -0.004273, 0.006937> + 21340: < 0.003093, -0.003880, 0.006998> + 21341: < 0.003127, -0.003526, 0.007152> + 21342: < 0.002758, -0.003565, 0.007270> + 21343: < 0.002729, -0.003924, 0.007112> + 21344: < 0.003127, -0.003526, 0.007152> + 21345: < 0.003162, -0.003162, 0.007290> + 21346: < 0.002787, -0.003195, 0.007412> + 21347: < 0.002758, -0.003565, 0.007270> + 21348: < 0.003162, -0.003162, 0.007290> + 21349: < 0.003195, -0.002787, 0.007412> + 21350: < 0.002816, -0.002816, 0.007538> + 21351: < 0.002787, -0.003195, 0.007412> + 21352: < 0.003195, -0.002787, 0.007412> + 21353: < 0.003227, -0.002405, 0.007519> + 21354: < 0.002843, -0.002429, 0.007648> + 21355: < 0.002816, -0.002816, 0.007538> + 21356: < 0.003227, -0.002405, 0.007519> + 21357: < 0.003255, -0.002015, 0.007610> + 21358: < 0.002868, -0.002035, 0.007740> + 21359: < 0.002843, -0.002429, 0.007648> + 21360: < 0.003255, -0.002015, 0.007610> + 21361: < 0.003281, -0.001619, 0.007684> + 21362: < 0.002890, -0.001635, 0.007817> + 21363: < 0.002868, -0.002035, 0.007740> + 21364: < 0.003281, -0.001619, 0.007684> + 21365: < 0.003302, -0.001219, 0.007743> + 21366: < 0.002908, -0.001230, 0.007876> + 21367: < 0.002890, -0.001635, 0.007817> + 21368: < 0.003302, -0.001219, 0.007743> + 21369: < 0.003318, -0.000814, 0.007785> + 21370: < 0.002922, -0.000822, 0.007919> + 21371: < 0.002908, -0.001230, 0.007876> + 21372: < 0.003318, -0.000814, 0.007785> + 21373: < 0.003328, -0.000408, 0.007810> + 21374: < 0.002931, -0.000412, 0.007945> + 21375: < 0.002922, -0.000822, 0.007919> + 21376: < 0.003328, -0.000408, 0.007810> + 21377: < 0.003331, -0.000000, 0.007818> + 21378: < 0.002934, -0.000000, 0.007953> + 21379: < 0.002931, -0.000412, 0.007945> + 21380: < 0.003331, -0.000000, 0.007818> + 21381: < 0.003328, 0.000408, 0.007810> + 21382: < 0.002931, 0.000412, 0.007945> + 21383: < 0.002934, -0.000000, 0.007953> + 21384: < 0.003328, 0.000408, 0.007810> + 21385: < 0.003318, 0.000814, 0.007785> + 21386: < 0.002922, 0.000822, 0.007919> + 21387: < 0.002931, 0.000412, 0.007945> + 21388: < 0.003318, 0.000814, 0.007785> + 21389: < 0.003302, 0.001219, 0.007743> + 21390: < 0.002908, 0.001230, 0.007876> + 21391: < 0.002922, 0.000822, 0.007919> + 21392: < 0.003302, 0.001219, 0.007743> + 21393: < 0.003281, 0.001619, 0.007684> + 21394: < 0.002890, 0.001635, 0.007817> + 21395: < 0.002908, 0.001230, 0.007876> + 21396: < 0.003281, 0.001619, 0.007684> + 21397: < 0.003255, 0.002015, 0.007610> + 21398: < 0.002868, 0.002035, 0.007740> + 21399: < 0.002890, 0.001635, 0.007817> + 21400: < 0.003255, 0.002015, 0.007610> + 21401: < 0.003227, 0.002405, 0.007519> + 21402: < 0.002843, 0.002429, 0.007648> + 21403: < 0.002868, 0.002035, 0.007740> + 21404: < 0.003227, 0.002405, 0.007519> + 21405: < 0.003195, 0.002787, 0.007412> + 21406: < 0.002816, 0.002816, 0.007538> + 21407: < 0.002843, 0.002429, 0.007648> + 21408: < 0.003195, 0.002787, 0.007412> + 21409: < 0.003162, 0.003162, 0.007290> + 21410: < 0.002787, 0.003195, 0.007412> + 21411: < 0.002816, 0.002816, 0.007538> + 21412: < 0.003162, 0.003162, 0.007290> + 21413: < 0.003127, 0.003526, 0.007152> + 21414: < 0.002758, 0.003565, 0.007270> + 21415: < 0.002787, 0.003195, 0.007412> + 21416: < 0.003127, 0.003526, 0.007152> + 21417: < 0.003093, 0.003880, 0.006998> + 21418: < 0.002729, 0.003924, 0.007112> + 21419: < 0.002758, 0.003565, 0.007270> + 21420: < 0.003093, 0.003880, 0.006998> + 21421: < 0.003060, 0.004223, 0.006828> + 21422: < 0.002701, 0.004273, 0.006937> + 21423: < 0.002729, 0.003924, 0.007112> + 21424: < 0.003060, 0.004223, 0.006828> + 21425: < 0.003030, 0.004553, 0.006641> + 21426: < 0.002676, 0.004609, 0.006745> + 21427: < 0.002701, 0.004273, 0.006937> + 21428: < 0.003030, 0.004553, 0.006641> + 21429: < 0.003004, 0.004870, 0.006439> + 21430: < 0.002655, 0.004931, 0.006537> + 21431: < 0.002676, 0.004609, 0.006745> + 21432: < 0.003004, 0.004870, 0.006439> + 21433: < 0.002984, 0.005172, 0.006219> + 21434: < 0.002638, 0.005240, 0.006311> + 21435: < 0.002655, 0.004931, 0.006537> + 21436: < 0.002984, 0.005172, 0.006219> + 21437: < 0.002971, 0.005459, 0.005983> + 21438: < 0.002627, 0.005533, 0.006069> + 21439: < 0.002638, 0.005240, 0.006311> + 21440: < 0.002627, -0.005533, 0.006069> + 21441: < 0.002638, -0.005240, 0.006311> + 21442: < 0.002281, -0.005301, 0.006393> + 21443: < 0.002272, -0.005599, 0.006146> + 21444: < 0.002638, -0.005240, 0.006311> + 21445: < 0.002655, -0.004931, 0.006537> + 21446: < 0.002295, -0.004987, 0.006623> + 21447: < 0.002281, -0.005301, 0.006393> + 21448: < 0.002655, -0.004931, 0.006537> + 21449: < 0.002676, -0.004609, 0.006745> + 21450: < 0.002313, -0.004659, 0.006836> + 21451: < 0.002295, -0.004987, 0.006623> + 21452: < 0.002676, -0.004609, 0.006745> + 21453: < 0.002701, -0.004273, 0.006937> + 21454: < 0.002333, -0.004318, 0.007033> + 21455: < 0.002313, -0.004659, 0.006836> + 21456: < 0.002701, -0.004273, 0.006937> + 21457: < 0.002729, -0.003924, 0.007112> + 21458: < 0.002356, -0.003965, 0.007212> + 21459: < 0.002333, -0.004318, 0.007033> + 21460: < 0.002729, -0.003924, 0.007112> + 21461: < 0.002758, -0.003565, 0.007270> + 21462: < 0.002380, -0.003601, 0.007374> + 21463: < 0.002356, -0.003965, 0.007212> + 21464: < 0.002758, -0.003565, 0.007270> + 21465: < 0.002787, -0.003195, 0.007412> + 21466: < 0.002405, -0.003227, 0.007519> + 21467: < 0.002380, -0.003601, 0.007374> + 21468: < 0.002787, -0.003195, 0.007412> + 21469: < 0.002816, -0.002816, 0.007538> + 21470: < 0.002429, -0.002843, 0.007648> + 21471: < 0.002405, -0.003227, 0.007519> + 21472: < 0.002816, -0.002816, 0.007538> + 21473: < 0.002843, -0.002429, 0.007648> + 21474: < 0.002452, -0.002452, 0.007759> + 21475: < 0.002429, -0.002843, 0.007648> + 21476: < 0.002843, -0.002429, 0.007648> + 21477: < 0.002868, -0.002035, 0.007740> + 21478: < 0.002473, -0.002053, 0.007854> + 21479: < 0.002452, -0.002452, 0.007759> + 21480: < 0.002868, -0.002035, 0.007740> + 21481: < 0.002890, -0.001635, 0.007817> + 21482: < 0.002492, -0.001650, 0.007932> + 21483: < 0.002473, -0.002053, 0.007854> + 21484: < 0.002890, -0.001635, 0.007817> + 21485: < 0.002908, -0.001230, 0.007876> + 21486: < 0.002507, -0.001241, 0.007992> + 21487: < 0.002492, -0.001650, 0.007932> + 21488: < 0.002908, -0.001230, 0.007876> + 21489: < 0.002922, -0.000822, 0.007919> + 21490: < 0.002519, -0.000829, 0.008036> + 21491: < 0.002507, -0.001241, 0.007992> + 21492: < 0.002922, -0.000822, 0.007919> + 21493: < 0.002931, -0.000412, 0.007945> + 21494: < 0.002527, -0.000415, 0.008062> + 21495: < 0.002519, -0.000829, 0.008036> + 21496: < 0.002931, -0.000412, 0.007945> + 21497: < 0.002934, -0.000000, 0.007953> + 21498: < 0.002530, -0.000000, 0.008070> + 21499: < 0.002527, -0.000415, 0.008062> + 21500: < 0.002934, -0.000000, 0.007953> + 21501: < 0.002931, 0.000412, 0.007945> + 21502: < 0.002527, 0.000415, 0.008062> + 21503: < 0.002530, -0.000000, 0.008070> + 21504: < 0.002931, 0.000412, 0.007945> + 21505: < 0.002922, 0.000822, 0.007919> + 21506: < 0.002519, 0.000829, 0.008036> + 21507: < 0.002527, 0.000415, 0.008062> + 21508: < 0.002922, 0.000822, 0.007919> + 21509: < 0.002908, 0.001230, 0.007876> + 21510: < 0.002507, 0.001241, 0.007992> + 21511: < 0.002519, 0.000829, 0.008036> + 21512: < 0.002908, 0.001230, 0.007876> + 21513: < 0.002890, 0.001635, 0.007817> + 21514: < 0.002492, 0.001650, 0.007932> + 21515: < 0.002507, 0.001241, 0.007992> + 21516: < 0.002890, 0.001635, 0.007817> + 21517: < 0.002868, 0.002035, 0.007740> + 21518: < 0.002473, 0.002053, 0.007854> + 21519: < 0.002492, 0.001650, 0.007932> + 21520: < 0.002868, 0.002035, 0.007740> + 21521: < 0.002843, 0.002429, 0.007648> + 21522: < 0.002452, 0.002452, 0.007759> + 21523: < 0.002473, 0.002053, 0.007854> + 21524: < 0.002843, 0.002429, 0.007648> + 21525: < 0.002816, 0.002816, 0.007538> + 21526: < 0.002429, 0.002843, 0.007648> + 21527: < 0.002452, 0.002452, 0.007759> + 21528: < 0.002816, 0.002816, 0.007538> + 21529: < 0.002787, 0.003195, 0.007412> + 21530: < 0.002405, 0.003227, 0.007519> + 21531: < 0.002429, 0.002843, 0.007648> + 21532: < 0.002787, 0.003195, 0.007412> + 21533: < 0.002758, 0.003565, 0.007270> + 21534: < 0.002380, 0.003601, 0.007374> + 21535: < 0.002405, 0.003227, 0.007519> + 21536: < 0.002758, 0.003565, 0.007270> + 21537: < 0.002729, 0.003924, 0.007112> + 21538: < 0.002356, 0.003965, 0.007212> + 21539: < 0.002380, 0.003601, 0.007374> + 21540: < 0.002729, 0.003924, 0.007112> + 21541: < 0.002701, 0.004273, 0.006937> + 21542: < 0.002333, 0.004318, 0.007033> + 21543: < 0.002356, 0.003965, 0.007212> + 21544: < 0.002701, 0.004273, 0.006937> + 21545: < 0.002676, 0.004609, 0.006745> + 21546: < 0.002313, 0.004659, 0.006836> + 21547: < 0.002333, 0.004318, 0.007033> + 21548: < 0.002676, 0.004609, 0.006745> + 21549: < 0.002655, 0.004931, 0.006537> + 21550: < 0.002295, 0.004987, 0.006623> + 21551: < 0.002313, 0.004659, 0.006836> + 21552: < 0.002655, 0.004931, 0.006537> + 21553: < 0.002638, 0.005240, 0.006311> + 21554: < 0.002281, 0.005301, 0.006393> + 21555: < 0.002295, 0.004987, 0.006623> + 21556: < 0.002638, 0.005240, 0.006311> + 21557: < 0.002627, 0.005533, 0.006069> + 21558: < 0.002272, 0.005599, 0.006146> + 21559: < 0.002281, 0.005301, 0.006393> + 21560: < 0.002272, -0.005599, 0.006146> + 21561: < 0.002281, -0.005301, 0.006393> + 21562: < 0.001915, -0.005355, 0.006464> + 21563: < 0.001908, -0.005657, 0.006212> + 21564: < 0.002281, -0.005301, 0.006393> + 21565: < 0.002295, -0.004987, 0.006623> + 21566: < 0.001926, -0.005037, 0.006698> + 21567: < 0.001915, -0.005355, 0.006464> + 21568: < 0.002295, -0.004987, 0.006623> + 21569: < 0.002313, -0.004659, 0.006836> + 21570: < 0.001940, -0.004705, 0.006915> + 21571: < 0.001926, -0.005037, 0.006698> + 21572: < 0.002313, -0.004659, 0.006836> + 21573: < 0.002333, -0.004318, 0.007033> + 21574: < 0.001957, -0.004360, 0.007115> + 21575: < 0.001940, -0.004705, 0.006915> + 21576: < 0.002333, -0.004318, 0.007033> + 21577: < 0.002356, -0.003965, 0.007212> + 21578: < 0.001975, -0.004002, 0.007297> + 21579: < 0.001957, -0.004360, 0.007115> + 21580: < 0.002356, -0.003965, 0.007212> + 21581: < 0.002380, -0.003601, 0.007374> + 21582: < 0.001995, -0.003634, 0.007462> + 21583: < 0.001975, -0.004002, 0.007297> + 21584: < 0.002380, -0.003601, 0.007374> + 21585: < 0.002405, -0.003227, 0.007519> + 21586: < 0.002015, -0.003255, 0.007610> + 21587: < 0.001995, -0.003634, 0.007462> + 21588: < 0.002405, -0.003227, 0.007519> + 21589: < 0.002429, -0.002843, 0.007648> + 21590: < 0.002035, -0.002868, 0.007740> + 21591: < 0.002015, -0.003255, 0.007610> + 21592: < 0.002429, -0.002843, 0.007648> + 21593: < 0.002452, -0.002452, 0.007759> + 21594: < 0.002053, -0.002473, 0.007854> + 21595: < 0.002035, -0.002868, 0.007740> + 21596: < 0.002452, -0.002452, 0.007759> + 21597: < 0.002473, -0.002053, 0.007854> + 21598: < 0.002071, -0.002071, 0.007950> + 21599: < 0.002053, -0.002473, 0.007854> + 21600: < 0.002473, -0.002053, 0.007854> + 21601: < 0.002492, -0.001650, 0.007932> + 21602: < 0.002086, -0.001663, 0.008029> + 21603: < 0.002071, -0.002071, 0.007950> + 21604: < 0.002492, -0.001650, 0.007932> + 21605: < 0.002507, -0.001241, 0.007992> + 21606: < 0.002099, -0.001252, 0.008090> + 21607: < 0.002086, -0.001663, 0.008029> + 21608: < 0.002507, -0.001241, 0.007992> + 21609: < 0.002519, -0.000829, 0.008036> + 21610: < 0.002109, -0.000836, 0.008134> + 21611: < 0.002099, -0.001252, 0.008090> + 21612: < 0.002519, -0.000829, 0.008036> + 21613: < 0.002527, -0.000415, 0.008062> + 21614: < 0.002116, -0.000419, 0.008161> + 21615: < 0.002109, -0.000836, 0.008134> + 21616: < 0.002527, -0.000415, 0.008062> + 21617: < 0.002530, -0.000000, 0.008070> + 21618: < 0.002118, -0.000000, 0.008169> + 21619: < 0.002116, -0.000419, 0.008161> + 21620: < 0.002530, -0.000000, 0.008070> + 21621: < 0.002527, 0.000415, 0.008062> + 21622: < 0.002116, 0.000419, 0.008161> + 21623: < 0.002118, -0.000000, 0.008169> + 21624: < 0.002527, 0.000415, 0.008062> + 21625: < 0.002519, 0.000829, 0.008036> + 21626: < 0.002109, 0.000836, 0.008134> + 21627: < 0.002116, 0.000419, 0.008161> + 21628: < 0.002519, 0.000829, 0.008036> + 21629: < 0.002507, 0.001241, 0.007992> + 21630: < 0.002099, 0.001252, 0.008090> + 21631: < 0.002109, 0.000836, 0.008134> + 21632: < 0.002507, 0.001241, 0.007992> + 21633: < 0.002492, 0.001650, 0.007932> + 21634: < 0.002086, 0.001663, 0.008029> + 21635: < 0.002099, 0.001252, 0.008090> + 21636: < 0.002492, 0.001650, 0.007932> + 21637: < 0.002473, 0.002053, 0.007854> + 21638: < 0.002071, 0.002071, 0.007950> + 21639: < 0.002086, 0.001663, 0.008029> + 21640: < 0.002473, 0.002053, 0.007854> + 21641: < 0.002452, 0.002452, 0.007759> + 21642: < 0.002053, 0.002473, 0.007854> + 21643: < 0.002071, 0.002071, 0.007950> + 21644: < 0.002452, 0.002452, 0.007759> + 21645: < 0.002429, 0.002843, 0.007648> + 21646: < 0.002035, 0.002868, 0.007740> + 21647: < 0.002053, 0.002473, 0.007854> + 21648: < 0.002429, 0.002843, 0.007648> + 21649: < 0.002405, 0.003227, 0.007519> + 21650: < 0.002015, 0.003255, 0.007610> + 21651: < 0.002035, 0.002868, 0.007740> + 21652: < 0.002405, 0.003227, 0.007519> + 21653: < 0.002380, 0.003601, 0.007374> + 21654: < 0.001995, 0.003634, 0.007462> + 21655: < 0.002015, 0.003255, 0.007610> + 21656: < 0.002380, 0.003601, 0.007374> + 21657: < 0.002356, 0.003965, 0.007212> + 21658: < 0.001975, 0.004002, 0.007297> + 21659: < 0.001995, 0.003634, 0.007462> + 21660: < 0.002356, 0.003965, 0.007212> + 21661: < 0.002333, 0.004318, 0.007033> + 21662: < 0.001957, 0.004360, 0.007115> + 21663: < 0.001975, 0.004002, 0.007297> + 21664: < 0.002333, 0.004318, 0.007033> + 21665: < 0.002313, 0.004659, 0.006836> + 21666: < 0.001940, 0.004705, 0.006915> + 21667: < 0.001957, 0.004360, 0.007115> + 21668: < 0.002313, 0.004659, 0.006836> + 21669: < 0.002295, 0.004987, 0.006623> + 21670: < 0.001926, 0.005037, 0.006698> + 21671: < 0.001940, 0.004705, 0.006915> + 21672: < 0.002295, 0.004987, 0.006623> + 21673: < 0.002281, 0.005301, 0.006393> + 21674: < 0.001915, 0.005355, 0.006464> + 21675: < 0.001926, 0.005037, 0.006698> + 21676: < 0.002281, 0.005301, 0.006393> + 21677: < 0.002272, 0.005599, 0.006146> + 21678: < 0.001908, 0.005657, 0.006212> + 21679: < 0.001915, 0.005355, 0.006464> + 21680: < 0.001908, -0.005657, 0.006212> + 21681: < 0.001915, -0.005355, 0.006464> + 21682: < 0.001541, -0.005401, 0.006523> + 21683: < 0.001536, -0.005707, 0.006269> + 21684: < 0.001915, -0.005355, 0.006464> + 21685: < 0.001926, -0.005037, 0.006698> + 21686: < 0.001550, -0.005080, 0.006761> + 21687: < 0.001541, -0.005401, 0.006523> + 21688: < 0.001926, -0.005037, 0.006698> + 21689: < 0.001940, -0.004705, 0.006915> + 21690: < 0.001561, -0.004744, 0.006980> + 21691: < 0.001550, -0.005080, 0.006761> + 21692: < 0.001940, -0.004705, 0.006915> + 21693: < 0.001957, -0.004360, 0.007115> + 21694: < 0.001574, -0.004395, 0.007183> + 21695: < 0.001561, -0.004744, 0.006980> + 21696: < 0.001957, -0.004360, 0.007115> + 21697: < 0.001975, -0.004002, 0.007297> + 21698: < 0.001588, -0.004034, 0.007367> + 21699: < 0.001574, -0.004395, 0.007183> + 21700: < 0.001975, -0.004002, 0.007297> + 21701: < 0.001995, -0.003634, 0.007462> + 21702: < 0.001603, -0.003663, 0.007535> + 21703: < 0.001588, -0.004034, 0.007367> + 21704: < 0.001995, -0.003634, 0.007462> + 21705: < 0.002015, -0.003255, 0.007610> + 21706: < 0.001619, -0.003281, 0.007684> + 21707: < 0.001603, -0.003663, 0.007535> + 21708: < 0.002015, -0.003255, 0.007610> + 21709: < 0.002035, -0.002868, 0.007740> + 21710: < 0.001635, -0.002890, 0.007817> + 21711: < 0.001619, -0.003281, 0.007684> + 21712: < 0.002035, -0.002868, 0.007740> + 21713: < 0.002053, -0.002473, 0.007854> + 21714: < 0.001650, -0.002492, 0.007932> + 21715: < 0.001635, -0.002890, 0.007817> + 21716: < 0.002053, -0.002473, 0.007854> + 21717: < 0.002071, -0.002071, 0.007950> + 21718: < 0.001663, -0.002086, 0.008029> + 21719: < 0.001650, -0.002492, 0.007932> + 21720: < 0.002071, -0.002071, 0.007950> + 21721: < 0.002086, -0.001663, 0.008029> + 21722: < 0.001676, -0.001676, 0.008109> + 21723: < 0.001663, -0.002086, 0.008029> + 21724: < 0.002086, -0.001663, 0.008029> + 21725: < 0.002099, -0.001252, 0.008090> + 21726: < 0.001686, -0.001261, 0.008171> + 21727: < 0.001676, -0.001676, 0.008109> + 21728: < 0.002099, -0.001252, 0.008090> + 21729: < 0.002109, -0.000836, 0.008134> + 21730: < 0.001694, -0.000842, 0.008215> + 21731: < 0.001686, -0.001261, 0.008171> + 21732: < 0.002109, -0.000836, 0.008134> + 21733: < 0.002116, -0.000419, 0.008161> + 21734: < 0.001699, -0.000422, 0.008242> + 21735: < 0.001694, -0.000842, 0.008215> + 21736: < 0.002116, -0.000419, 0.008161> + 21737: < 0.002118, -0.000000, 0.008169> + 21738: < 0.001701, -0.000000, 0.008251> + 21739: < 0.001699, -0.000422, 0.008242> + 21740: < 0.002118, -0.000000, 0.008169> + 21741: < 0.002116, 0.000419, 0.008161> + 21742: < 0.001699, 0.000422, 0.008242> + 21743: < 0.001701, -0.000000, 0.008251> + 21744: < 0.002116, 0.000419, 0.008161> + 21745: < 0.002109, 0.000836, 0.008134> + 21746: < 0.001694, 0.000842, 0.008215> + 21747: < 0.001699, 0.000422, 0.008242> + 21748: < 0.002109, 0.000836, 0.008134> + 21749: < 0.002099, 0.001252, 0.008090> + 21750: < 0.001686, 0.001261, 0.008171> + 21751: < 0.001694, 0.000842, 0.008215> + 21752: < 0.002099, 0.001252, 0.008090> + 21753: < 0.002086, 0.001663, 0.008029> + 21754: < 0.001676, 0.001676, 0.008109> + 21755: < 0.001686, 0.001261, 0.008171> + 21756: < 0.002086, 0.001663, 0.008029> + 21757: < 0.002071, 0.002071, 0.007950> + 21758: < 0.001663, 0.002086, 0.008029> + 21759: < 0.001676, 0.001676, 0.008109> + 21760: < 0.002071, 0.002071, 0.007950> + 21761: < 0.002053, 0.002473, 0.007854> + 21762: < 0.001650, 0.002492, 0.007932> + 21763: < 0.001663, 0.002086, 0.008029> + 21764: < 0.002053, 0.002473, 0.007854> + 21765: < 0.002035, 0.002868, 0.007740> + 21766: < 0.001635, 0.002890, 0.007817> + 21767: < 0.001650, 0.002492, 0.007932> + 21768: < 0.002035, 0.002868, 0.007740> + 21769: < 0.002015, 0.003255, 0.007610> + 21770: < 0.001619, 0.003281, 0.007684> + 21771: < 0.001635, 0.002890, 0.007817> + 21772: < 0.002015, 0.003255, 0.007610> + 21773: < 0.001995, 0.003634, 0.007462> + 21774: < 0.001603, 0.003663, 0.007535> + 21775: < 0.001619, 0.003281, 0.007684> + 21776: < 0.001995, 0.003634, 0.007462> + 21777: < 0.001975, 0.004002, 0.007297> + 21778: < 0.001588, 0.004034, 0.007367> + 21779: < 0.001603, 0.003663, 0.007535> + 21780: < 0.001975, 0.004002, 0.007297> + 21781: < 0.001957, 0.004360, 0.007115> + 21782: < 0.001574, 0.004395, 0.007183> + 21783: < 0.001588, 0.004034, 0.007367> + 21784: < 0.001957, 0.004360, 0.007115> + 21785: < 0.001940, 0.004705, 0.006915> + 21786: < 0.001561, 0.004744, 0.006980> + 21787: < 0.001574, 0.004395, 0.007183> + 21788: < 0.001940, 0.004705, 0.006915> + 21789: < 0.001926, 0.005037, 0.006698> + 21790: < 0.001550, 0.005080, 0.006761> + 21791: < 0.001561, 0.004744, 0.006980> + 21792: < 0.001926, 0.005037, 0.006698> + 21793: < 0.001915, 0.005355, 0.006464> + 21794: < 0.001541, 0.005401, 0.006523> + 21795: < 0.001550, 0.005080, 0.006761> + 21796: < 0.001915, 0.005355, 0.006464> + 21797: < 0.001908, 0.005657, 0.006212> + 21798: < 0.001536, 0.005707, 0.006269> + 21799: < 0.001541, 0.005401, 0.006523> + 21800: < 0.001536, -0.005707, 0.006269> + 21801: < 0.001541, -0.005401, 0.006523> + 21802: < 0.001161, -0.005438, 0.006570> + 21803: < 0.001157, -0.005747, 0.006313> + 21804: < 0.001541, -0.005401, 0.006523> + 21805: < 0.001550, -0.005080, 0.006761> + 21806: < 0.001168, -0.005114, 0.006810> + 21807: < 0.001161, -0.005438, 0.006570> + 21808: < 0.001550, -0.005080, 0.006761> + 21809: < 0.001561, -0.004744, 0.006980> + 21810: < 0.001176, -0.004776, 0.007032> + 21811: < 0.001168, -0.005114, 0.006810> + 21812: < 0.001561, -0.004744, 0.006980> + 21813: < 0.001574, -0.004395, 0.007183> + 21814: < 0.001185, -0.004424, 0.007236> + 21815: < 0.001176, -0.004776, 0.007032> + 21816: < 0.001574, -0.004395, 0.007183> + 21817: < 0.001588, -0.004034, 0.007367> + 21818: < 0.001196, -0.004061, 0.007423> + 21819: < 0.001185, -0.004424, 0.007236> + 21820: < 0.001588, -0.004034, 0.007367> + 21821: < 0.001603, -0.003663, 0.007535> + 21822: < 0.001207, -0.003686, 0.007591> + 21823: < 0.001196, -0.004061, 0.007423> + 21824: < 0.001603, -0.003663, 0.007535> + 21825: < 0.001619, -0.003281, 0.007684> + 21826: < 0.001219, -0.003302, 0.007743> + 21827: < 0.001207, -0.003686, 0.007591> + 21828: < 0.001619, -0.003281, 0.007684> + 21829: < 0.001635, -0.002890, 0.007817> + 21830: < 0.001230, -0.002908, 0.007876> + 21831: < 0.001219, -0.003302, 0.007743> + 21832: < 0.001635, -0.002890, 0.007817> + 21833: < 0.001650, -0.002492, 0.007932> + 21834: < 0.001241, -0.002507, 0.007992> + 21835: < 0.001230, -0.002908, 0.007876> + 21836: < 0.001650, -0.002492, 0.007932> + 21837: < 0.001663, -0.002086, 0.008029> + 21838: < 0.001252, -0.002099, 0.008090> + 21839: < 0.001241, -0.002507, 0.007992> + 21840: < 0.001663, -0.002086, 0.008029> + 21841: < 0.001676, -0.001676, 0.008109> + 21842: < 0.001261, -0.001686, 0.008171> + 21843: < 0.001252, -0.002099, 0.008090> + 21844: < 0.001676, -0.001676, 0.008109> + 21845: < 0.001686, -0.001261, 0.008171> + 21846: < 0.001269, -0.001269, 0.008233> + 21847: < 0.001261, -0.001686, 0.008171> + 21848: < 0.001686, -0.001261, 0.008171> + 21849: < 0.001694, -0.000842, 0.008215> + 21850: < 0.001275, -0.000848, 0.008278> + 21851: < 0.001269, -0.001269, 0.008233> + 21852: < 0.001694, -0.000842, 0.008215> + 21853: < 0.001699, -0.000422, 0.008242> + 21854: < 0.001278, -0.000424, 0.008305> + 21855: < 0.001275, -0.000848, 0.008278> + 21856: < 0.001699, -0.000422, 0.008242> + 21857: < 0.001701, -0.000000, 0.008251> + 21858: < 0.001280, 0.000000, 0.008314> + 21859: < 0.001278, -0.000424, 0.008305> + 21860: < 0.001701, -0.000000, 0.008251> + 21861: < 0.001699, 0.000422, 0.008242> + 21862: < 0.001278, 0.000424, 0.008305> + 21863: < 0.001280, 0.000000, 0.008314> + 21864: < 0.001699, 0.000422, 0.008242> + 21865: < 0.001694, 0.000842, 0.008215> + 21866: < 0.001275, 0.000848, 0.008278> + 21867: < 0.001278, 0.000424, 0.008305> + 21868: < 0.001694, 0.000842, 0.008215> + 21869: < 0.001686, 0.001261, 0.008171> + 21870: < 0.001269, 0.001269, 0.008233> + 21871: < 0.001275, 0.000848, 0.008278> + 21872: < 0.001686, 0.001261, 0.008171> + 21873: < 0.001676, 0.001676, 0.008109> + 21874: < 0.001261, 0.001686, 0.008171> + 21875: < 0.001269, 0.001269, 0.008233> + 21876: < 0.001676, 0.001676, 0.008109> + 21877: < 0.001663, 0.002086, 0.008029> + 21878: < 0.001252, 0.002099, 0.008090> + 21879: < 0.001261, 0.001686, 0.008171> + 21880: < 0.001663, 0.002086, 0.008029> + 21881: < 0.001650, 0.002492, 0.007932> + 21882: < 0.001241, 0.002507, 0.007992> + 21883: < 0.001252, 0.002099, 0.008090> + 21884: < 0.001650, 0.002492, 0.007932> + 21885: < 0.001635, 0.002890, 0.007817> + 21886: < 0.001230, 0.002908, 0.007876> + 21887: < 0.001241, 0.002507, 0.007992> + 21888: < 0.001635, 0.002890, 0.007817> + 21889: < 0.001619, 0.003281, 0.007684> + 21890: < 0.001219, 0.003302, 0.007743> + 21891: < 0.001230, 0.002908, 0.007876> + 21892: < 0.001619, 0.003281, 0.007684> + 21893: < 0.001603, 0.003663, 0.007535> + 21894: < 0.001207, 0.003686, 0.007591> + 21895: < 0.001219, 0.003302, 0.007743> + 21896: < 0.001603, 0.003663, 0.007535> + 21897: < 0.001588, 0.004034, 0.007367> + 21898: < 0.001196, 0.004061, 0.007423> + 21899: < 0.001207, 0.003686, 0.007591> + 21900: < 0.001588, 0.004034, 0.007367> + 21901: < 0.001574, 0.004395, 0.007183> + 21902: < 0.001185, 0.004424, 0.007236> + 21903: < 0.001196, 0.004061, 0.007423> + 21904: < 0.001574, 0.004395, 0.007183> + 21905: < 0.001561, 0.004744, 0.006980> + 21906: < 0.001176, 0.004776, 0.007032> + 21907: < 0.001185, 0.004424, 0.007236> + 21908: < 0.001561, 0.004744, 0.006980> + 21909: < 0.001550, 0.005080, 0.006761> + 21910: < 0.001168, 0.005114, 0.006810> + 21911: < 0.001176, 0.004776, 0.007032> + 21912: < 0.001550, 0.005080, 0.006761> + 21913: < 0.001541, 0.005401, 0.006523> + 21914: < 0.001161, 0.005438, 0.006570> + 21915: < 0.001168, 0.005114, 0.006810> + 21916: < 0.001541, 0.005401, 0.006523> + 21917: < 0.001536, 0.005707, 0.006269> + 21918: < 0.001157, 0.005747, 0.006313> + 21919: < 0.001161, 0.005438, 0.006570> + 21920: < 0.001157, -0.005747, 0.006313> + 21921: < 0.001161, -0.005438, 0.006570> + 21922: < 0.000777, -0.005466, 0.006605> + 21923: < 0.000774, -0.005776, 0.006346> + 21924: < 0.001161, -0.005438, 0.006570> + 21925: < 0.001168, -0.005114, 0.006810> + 21926: < 0.000781, -0.005140, 0.006846> + 21927: < 0.000777, -0.005466, 0.006605> + 21928: < 0.001168, -0.005114, 0.006810> + 21929: < 0.001176, -0.004776, 0.007032> + 21930: < 0.000786, -0.004800, 0.007069> + 21931: < 0.000781, -0.005140, 0.006846> + 21932: < 0.001176, -0.004776, 0.007032> + 21933: < 0.001185, -0.004424, 0.007236> + 21934: < 0.000792, -0.004446, 0.007275> + 21935: < 0.000786, -0.004800, 0.007069> + 21936: < 0.001185, -0.004424, 0.007236> + 21937: < 0.001196, -0.004061, 0.007423> + 21938: < 0.000799, -0.004081, 0.007462> + 21939: < 0.000792, -0.004446, 0.007275> + 21940: < 0.001196, -0.004061, 0.007423> + 21941: < 0.001207, -0.003686, 0.007591> + 21942: < 0.000807, -0.003704, 0.007632> + 21943: < 0.000799, -0.004081, 0.007462> + 21944: < 0.001207, -0.003686, 0.007591> + 21945: < 0.001219, -0.003302, 0.007743> + 21946: < 0.000814, -0.003318, 0.007785> + 21947: < 0.000807, -0.003704, 0.007632> + 21948: < 0.001219, -0.003302, 0.007743> + 21949: < 0.001230, -0.002908, 0.007876> + 21950: < 0.000822, -0.002922, 0.007919> + 21951: < 0.000814, -0.003318, 0.007785> + 21952: < 0.001230, -0.002908, 0.007876> + 21953: < 0.001241, -0.002507, 0.007992> + 21954: < 0.000829, -0.002519, 0.008036> + 21955: < 0.000822, -0.002922, 0.007919> + 21956: < 0.001241, -0.002507, 0.007992> + 21957: < 0.001252, -0.002099, 0.008090> + 21958: < 0.000836, -0.002109, 0.008134> + 21959: < 0.000829, -0.002519, 0.008036> + 21960: < 0.001252, -0.002099, 0.008090> + 21961: < 0.001261, -0.001686, 0.008171> + 21962: < 0.000842, -0.001694, 0.008215> + 21963: < 0.000836, -0.002109, 0.008134> + 21964: < 0.001261, -0.001686, 0.008171> + 21965: < 0.001269, -0.001269, 0.008233> + 21966: < 0.000848, -0.001275, 0.008278> + 21967: < 0.000842, -0.001694, 0.008215> + 21968: < 0.001269, -0.001269, 0.008233> + 21969: < 0.001275, -0.000848, 0.008278> + 21970: < 0.000852, -0.000852, 0.008323> + 21971: < 0.000848, -0.001275, 0.008278> + 21972: < 0.001275, -0.000848, 0.008278> + 21973: < 0.001278, -0.000424, 0.008305> + 21974: < 0.000854, -0.000426, 0.008350> + 21975: < 0.000852, -0.000852, 0.008323> + 21976: < 0.001278, -0.000424, 0.008305> + 21977: < 0.001280, 0.000000, 0.008314> + 21978: < 0.000855, 0.000000, 0.008359> + 21979: < 0.000854, -0.000426, 0.008350> + 21980: < 0.001280, 0.000000, 0.008314> + 21981: < 0.001278, 0.000424, 0.008305> + 21982: < 0.000854, 0.000426, 0.008350> + 21983: < 0.000855, 0.000000, 0.008359> + 21984: < 0.001278, 0.000424, 0.008305> + 21985: < 0.001275, 0.000848, 0.008278> + 21986: < 0.000852, 0.000852, 0.008323> + 21987: < 0.000854, 0.000426, 0.008350> + 21988: < 0.001275, 0.000848, 0.008278> + 21989: < 0.001269, 0.001269, 0.008233> + 21990: < 0.000848, 0.001275, 0.008278> + 21991: < 0.000852, 0.000852, 0.008323> + 21992: < 0.001269, 0.001269, 0.008233> + 21993: < 0.001261, 0.001686, 0.008171> + 21994: < 0.000842, 0.001694, 0.008215> + 21995: < 0.000848, 0.001275, 0.008278> + 21996: < 0.001261, 0.001686, 0.008171> + 21997: < 0.001252, 0.002099, 0.008090> + 21998: < 0.000836, 0.002109, 0.008134> + 21999: < 0.000842, 0.001694, 0.008215> + 22000: < 0.001252, 0.002099, 0.008090> + 22001: < 0.001241, 0.002507, 0.007992> + 22002: < 0.000829, 0.002519, 0.008036> + 22003: < 0.000836, 0.002109, 0.008134> + 22004: < 0.001241, 0.002507, 0.007992> + 22005: < 0.001230, 0.002908, 0.007876> + 22006: < 0.000822, 0.002922, 0.007919> + 22007: < 0.000829, 0.002519, 0.008036> + 22008: < 0.001230, 0.002908, 0.007876> + 22009: < 0.001219, 0.003302, 0.007743> + 22010: < 0.000814, 0.003318, 0.007785> + 22011: < 0.000822, 0.002922, 0.007919> + 22012: < 0.001219, 0.003302, 0.007743> + 22013: < 0.001207, 0.003686, 0.007591> + 22014: < 0.000807, 0.003704, 0.007632> + 22015: < 0.000814, 0.003318, 0.007785> + 22016: < 0.001207, 0.003686, 0.007591> + 22017: < 0.001196, 0.004061, 0.007423> + 22018: < 0.000799, 0.004081, 0.007462> + 22019: < 0.000807, 0.003704, 0.007632> + 22020: < 0.001196, 0.004061, 0.007423> + 22021: < 0.001185, 0.004424, 0.007236> + 22022: < 0.000792, 0.004446, 0.007275> + 22023: < 0.000799, 0.004081, 0.007462> + 22024: < 0.001185, 0.004424, 0.007236> + 22025: < 0.001176, 0.004776, 0.007032> + 22026: < 0.000786, 0.004800, 0.007069> + 22027: < 0.000792, 0.004446, 0.007275> + 22028: < 0.001176, 0.004776, 0.007032> + 22029: < 0.001168, 0.005114, 0.006810> + 22030: < 0.000781, 0.005140, 0.006846> + 22031: < 0.000786, 0.004800, 0.007069> + 22032: < 0.001168, 0.005114, 0.006810> + 22033: < 0.001161, 0.005438, 0.006570> + 22034: < 0.000777, 0.005466, 0.006605> + 22035: < 0.000781, 0.005140, 0.006846> + 22036: < 0.001161, 0.005438, 0.006570> + 22037: < 0.001157, 0.005747, 0.006313> + 22038: < 0.000774, 0.005776, 0.006346> + 22039: < 0.000777, 0.005466, 0.006605> + 22040: < 0.000774, -0.005776, 0.006346> + 22041: < 0.000777, -0.005466, 0.006605> + 22042: < 0.000389, -0.005483, 0.006626> + 22043: < 0.000388, -0.005794, 0.006366> + 22044: < 0.000777, -0.005466, 0.006605> + 22045: < 0.000781, -0.005140, 0.006846> + 22046: < 0.000391, -0.005156, 0.006868> + 22047: < 0.000389, -0.005483, 0.006626> + 22048: < 0.000781, -0.005140, 0.006846> + 22049: < 0.000786, -0.004800, 0.007069> + 22050: < 0.000394, -0.004815, 0.007092> + 22051: < 0.000391, -0.005156, 0.006868> + 22052: < 0.000786, -0.004800, 0.007069> + 22053: < 0.000792, -0.004446, 0.007275> + 22054: < 0.000397, -0.004460, 0.007298> + 22055: < 0.000394, -0.004815, 0.007092> + 22056: < 0.000792, -0.004446, 0.007275> + 22057: < 0.000799, -0.004081, 0.007462> + 22058: < 0.000400, -0.004093, 0.007487> + 22059: < 0.000397, -0.004460, 0.007298> + 22060: < 0.000799, -0.004081, 0.007462> + 22061: < 0.000807, -0.003704, 0.007632> + 22062: < 0.000404, -0.003716, 0.007657> + 22063: < 0.000400, -0.004093, 0.007487> + 22064: < 0.000807, -0.003704, 0.007632> + 22065: < 0.000814, -0.003318, 0.007785> + 22066: < 0.000408, -0.003328, 0.007810> + 22067: < 0.000404, -0.003716, 0.007657> + 22068: < 0.000814, -0.003318, 0.007785> + 22069: < 0.000822, -0.002922, 0.007919> + 22070: < 0.000412, -0.002931, 0.007945> + 22071: < 0.000408, -0.003328, 0.007810> + 22072: < 0.000822, -0.002922, 0.007919> + 22073: < 0.000829, -0.002519, 0.008036> + 22074: < 0.000415, -0.002527, 0.008062> + 22075: < 0.000412, -0.002931, 0.007945> + 22076: < 0.000829, -0.002519, 0.008036> + 22077: < 0.000836, -0.002109, 0.008134> + 22078: < 0.000419, -0.002116, 0.008161> + 22079: < 0.000415, -0.002527, 0.008062> + 22080: < 0.000836, -0.002109, 0.008134> + 22081: < 0.000842, -0.001694, 0.008215> + 22082: < 0.000422, -0.001699, 0.008242> + 22083: < 0.000419, -0.002116, 0.008161> + 22084: < 0.000842, -0.001694, 0.008215> + 22085: < 0.000848, -0.001275, 0.008278> + 22086: < 0.000424, -0.001278, 0.008305> + 22087: < 0.000422, -0.001699, 0.008242> + 22088: < 0.000848, -0.001275, 0.008278> + 22089: < 0.000852, -0.000852, 0.008323> + 22090: < 0.000426, -0.000854, 0.008350> + 22091: < 0.000424, -0.001278, 0.008305> + 22092: < 0.000852, -0.000852, 0.008323> + 22093: < 0.000854, -0.000426, 0.008350> + 22094: < 0.000428, -0.000428, 0.008377> + 22095: < 0.000426, -0.000854, 0.008350> + 22096: < 0.000854, -0.000426, 0.008350> + 22097: < 0.000855, 0.000000, 0.008359> + 22098: < 0.000428, 0.000000, 0.008386> + 22099: < 0.000428, -0.000428, 0.008377> + 22100: < 0.000855, 0.000000, 0.008359> + 22101: < 0.000854, 0.000426, 0.008350> + 22102: < 0.000428, 0.000428, 0.008377> + 22103: < 0.000428, 0.000000, 0.008386> + 22104: < 0.000854, 0.000426, 0.008350> + 22105: < 0.000852, 0.000852, 0.008323> + 22106: < 0.000426, 0.000854, 0.008350> + 22107: < 0.000428, 0.000428, 0.008377> + 22108: < 0.000852, 0.000852, 0.008323> + 22109: < 0.000848, 0.001275, 0.008278> + 22110: < 0.000424, 0.001278, 0.008305> + 22111: < 0.000426, 0.000854, 0.008350> + 22112: < 0.000848, 0.001275, 0.008278> + 22113: < 0.000842, 0.001694, 0.008215> + 22114: < 0.000422, 0.001699, 0.008242> + 22115: < 0.000424, 0.001278, 0.008305> + 22116: < 0.000842, 0.001694, 0.008215> + 22117: < 0.000836, 0.002109, 0.008134> + 22118: < 0.000419, 0.002116, 0.008161> + 22119: < 0.000422, 0.001699, 0.008242> + 22120: < 0.000836, 0.002109, 0.008134> + 22121: < 0.000829, 0.002519, 0.008036> + 22122: < 0.000415, 0.002527, 0.008062> + 22123: < 0.000419, 0.002116, 0.008161> + 22124: < 0.000829, 0.002519, 0.008036> + 22125: < 0.000822, 0.002922, 0.007919> + 22126: < 0.000412, 0.002931, 0.007945> + 22127: < 0.000415, 0.002527, 0.008062> + 22128: < 0.000822, 0.002922, 0.007919> + 22129: < 0.000814, 0.003318, 0.007785> + 22130: < 0.000408, 0.003328, 0.007810> + 22131: < 0.000412, 0.002931, 0.007945> + 22132: < 0.000814, 0.003318, 0.007785> + 22133: < 0.000807, 0.003704, 0.007632> + 22134: < 0.000404, 0.003716, 0.007657> + 22135: < 0.000408, 0.003328, 0.007810> + 22136: < 0.000807, 0.003704, 0.007632> + 22137: < 0.000799, 0.004081, 0.007462> + 22138: < 0.000400, 0.004093, 0.007487> + 22139: < 0.000404, 0.003716, 0.007657> + 22140: < 0.000799, 0.004081, 0.007462> + 22141: < 0.000792, 0.004446, 0.007275> + 22142: < 0.000397, 0.004460, 0.007298> + 22143: < 0.000400, 0.004093, 0.007487> + 22144: < 0.000792, 0.004446, 0.007275> + 22145: < 0.000786, 0.004800, 0.007069> + 22146: < 0.000394, 0.004815, 0.007092> + 22147: < 0.000397, 0.004460, 0.007298> + 22148: < 0.000786, 0.004800, 0.007069> + 22149: < 0.000781, 0.005140, 0.006846> + 22150: < 0.000391, 0.005156, 0.006868> + 22151: < 0.000394, 0.004815, 0.007092> + 22152: < 0.000781, 0.005140, 0.006846> + 22153: < 0.000777, 0.005466, 0.006605> + 22154: < 0.000389, 0.005483, 0.006626> + 22155: < 0.000391, 0.005156, 0.006868> + 22156: < 0.000777, 0.005466, 0.006605> + 22157: < 0.000774, 0.005776, 0.006346> + 22158: < 0.000388, 0.005794, 0.006366> + 22159: < 0.000389, 0.005483, 0.006626> + 22160: < 0.000388, -0.005794, 0.006366> + 22161: < 0.000389, -0.005483, 0.006626> + 22162: <-0.000000, -0.005489, 0.006633> + 22163: <-0.000000, -0.005801, 0.006373> + 22164: < 0.000389, -0.005483, 0.006626> + 22165: < 0.000391, -0.005156, 0.006868> + 22166: <-0.000000, -0.005162, 0.006875> + 22167: <-0.000000, -0.005489, 0.006633> + 22168: < 0.000391, -0.005156, 0.006868> + 22169: < 0.000394, -0.004815, 0.007092> + 22170: <-0.000000, -0.004820, 0.007099> + 22171: <-0.000000, -0.005162, 0.006875> + 22172: < 0.000394, -0.004815, 0.007092> + 22173: < 0.000397, -0.004460, 0.007298> + 22174: <-0.000000, -0.004465, 0.007306> + 22175: <-0.000000, -0.004820, 0.007099> + 22176: < 0.000397, -0.004460, 0.007298> + 22177: < 0.000400, -0.004093, 0.007487> + 22178: <-0.000000, -0.004098, 0.007495> + 22179: <-0.000000, -0.004465, 0.007306> + 22180: < 0.000400, -0.004093, 0.007487> + 22181: < 0.000404, -0.003716, 0.007657> + 22182: <-0.000000, -0.003720, 0.007665> + 22183: <-0.000000, -0.004098, 0.007495> + 22184: < 0.000404, -0.003716, 0.007657> + 22185: < 0.000408, -0.003328, 0.007810> + 22186: <-0.000000, -0.003331, 0.007818> + 22187: <-0.000000, -0.003720, 0.007665> + 22188: < 0.000408, -0.003328, 0.007810> + 22189: < 0.000412, -0.002931, 0.007945> + 22190: <-0.000000, -0.002934, 0.007953> + 22191: <-0.000000, -0.003331, 0.007818> + 22192: < 0.000412, -0.002931, 0.007945> + 22193: < 0.000415, -0.002527, 0.008062> + 22194: <-0.000000, -0.002530, 0.008070> + 22195: <-0.000000, -0.002934, 0.007953> + 22196: < 0.000415, -0.002527, 0.008062> + 22197: < 0.000419, -0.002116, 0.008161> + 22198: <-0.000000, -0.002118, 0.008169> + 22199: <-0.000000, -0.002530, 0.008070> + 22200: < 0.000419, -0.002116, 0.008161> + 22201: < 0.000422, -0.001699, 0.008242> + 22202: <-0.000000, -0.001701, 0.008251> + 22203: <-0.000000, -0.002118, 0.008169> + 22204: < 0.000422, -0.001699, 0.008242> + 22205: < 0.000424, -0.001278, 0.008305> + 22206: <-0.000000, -0.001280, 0.008314> + 22207: <-0.000000, -0.001701, 0.008251> + 22208: < 0.000424, -0.001278, 0.008305> + 22209: < 0.000426, -0.000854, 0.008350> + 22210: <-0.000000, -0.000855, 0.008359> + 22211: <-0.000000, -0.001280, 0.008314> + 22212: < 0.000426, -0.000854, 0.008350> + 22213: < 0.000428, -0.000428, 0.008377> + 22214: <-0.000000, -0.000428, 0.008386> + 22215: <-0.000000, -0.000855, 0.008359> + 22216: < 0.000428, -0.000428, 0.008377> + 22217: < 0.000428, 0.000000, 0.008386> + 22218: <-0.000000, 0.000000, 0.008395> + 22219: <-0.000000, -0.000428, 0.008386> + 22220: < 0.000428, 0.000000, 0.008386> + 22221: < 0.000428, 0.000428, 0.008377> + 22222: <-0.000000, 0.000428, 0.008386> + 22223: <-0.000000, 0.000000, 0.008395> + 22224: < 0.000428, 0.000428, 0.008377> + 22225: < 0.000426, 0.000854, 0.008350> + 22226: <-0.000000, 0.000855, 0.008359> + 22227: <-0.000000, 0.000428, 0.008386> + 22228: < 0.000426, 0.000854, 0.008350> + 22229: < 0.000424, 0.001278, 0.008305> + 22230: <-0.000000, 0.001280, 0.008314> + 22231: <-0.000000, 0.000855, 0.008359> + 22232: < 0.000424, 0.001278, 0.008305> + 22233: < 0.000422, 0.001699, 0.008242> + 22234: <-0.000000, 0.001701, 0.008251> + 22235: <-0.000000, 0.001280, 0.008314> + 22236: < 0.000422, 0.001699, 0.008242> + 22237: < 0.000419, 0.002116, 0.008161> + 22238: < 0.000000, 0.002118, 0.008169> + 22239: <-0.000000, 0.001701, 0.008251> + 22240: < 0.000419, 0.002116, 0.008161> + 22241: < 0.000415, 0.002527, 0.008062> + 22242: <-0.000000, 0.002530, 0.008070> + 22243: < 0.000000, 0.002118, 0.008169> + 22244: < 0.000415, 0.002527, 0.008062> + 22245: < 0.000412, 0.002931, 0.007945> + 22246: < 0.000000, 0.002934, 0.007953> + 22247: <-0.000000, 0.002530, 0.008070> + 22248: < 0.000412, 0.002931, 0.007945> + 22249: < 0.000408, 0.003328, 0.007810> + 22250: < 0.000000, 0.003331, 0.007818> + 22251: < 0.000000, 0.002934, 0.007953> + 22252: < 0.000408, 0.003328, 0.007810> + 22253: < 0.000404, 0.003716, 0.007657> + 22254: < 0.000000, 0.003720, 0.007665> + 22255: < 0.000000, 0.003331, 0.007818> + 22256: < 0.000404, 0.003716, 0.007657> + 22257: < 0.000400, 0.004093, 0.007487> + 22258: < 0.000000, 0.004098, 0.007495> + 22259: < 0.000000, 0.003720, 0.007665> + 22260: < 0.000400, 0.004093, 0.007487> + 22261: < 0.000397, 0.004460, 0.007298> + 22262: <-0.000000, 0.004465, 0.007306> + 22263: < 0.000000, 0.004098, 0.007495> + 22264: < 0.000397, 0.004460, 0.007298> + 22265: < 0.000394, 0.004815, 0.007092> + 22266: < 0.000000, 0.004820, 0.007099> + 22267: <-0.000000, 0.004465, 0.007306> + 22268: < 0.000394, 0.004815, 0.007092> + 22269: < 0.000391, 0.005156, 0.006868> + 22270: < 0.000000, 0.005162, 0.006875> + 22271: < 0.000000, 0.004820, 0.007099> + 22272: < 0.000391, 0.005156, 0.006868> + 22273: < 0.000389, 0.005483, 0.006626> + 22274: < 0.000000, 0.005489, 0.006633> + 22275: < 0.000000, 0.005162, 0.006875> + 22276: < 0.000389, 0.005483, 0.006626> + 22277: < 0.000388, 0.005794, 0.006366> + 22278: < 0.000000, 0.005801, 0.006373> + 22279: < 0.000000, 0.005489, 0.006633> + 22280: <-0.000000, -0.005801, 0.006373> + 22281: <-0.000000, -0.005489, 0.006633> + 22282: <-0.000389, -0.005483, 0.006626> + 22283: <-0.000388, -0.005794, 0.006366> + 22284: <-0.000000, -0.005489, 0.006633> + 22285: <-0.000000, -0.005162, 0.006875> + 22286: <-0.000391, -0.005156, 0.006868> + 22287: <-0.000389, -0.005483, 0.006626> + 22288: <-0.000000, -0.005162, 0.006875> + 22289: <-0.000000, -0.004820, 0.007099> + 22290: <-0.000394, -0.004815, 0.007092> + 22291: <-0.000391, -0.005156, 0.006868> + 22292: <-0.000000, -0.004820, 0.007099> + 22293: <-0.000000, -0.004465, 0.007306> + 22294: <-0.000397, -0.004460, 0.007298> + 22295: <-0.000394, -0.004815, 0.007092> + 22296: <-0.000000, -0.004465, 0.007306> + 22297: <-0.000000, -0.004098, 0.007495> + 22298: <-0.000400, -0.004093, 0.007487> + 22299: <-0.000397, -0.004460, 0.007298> + 22300: <-0.000000, -0.004098, 0.007495> + 22301: <-0.000000, -0.003720, 0.007665> + 22302: <-0.000404, -0.003716, 0.007657> + 22303: <-0.000400, -0.004093, 0.007487> + 22304: <-0.000000, -0.003720, 0.007665> + 22305: <-0.000000, -0.003331, 0.007818> + 22306: <-0.000408, -0.003328, 0.007810> + 22307: <-0.000404, -0.003716, 0.007657> + 22308: <-0.000000, -0.003331, 0.007818> + 22309: <-0.000000, -0.002934, 0.007953> + 22310: <-0.000412, -0.002931, 0.007945> + 22311: <-0.000408, -0.003328, 0.007810> + 22312: <-0.000000, -0.002934, 0.007953> + 22313: <-0.000000, -0.002530, 0.008070> + 22314: <-0.000415, -0.002527, 0.008062> + 22315: <-0.000412, -0.002931, 0.007945> + 22316: <-0.000000, -0.002530, 0.008070> + 22317: <-0.000000, -0.002118, 0.008169> + 22318: <-0.000419, -0.002116, 0.008161> + 22319: <-0.000415, -0.002527, 0.008062> + 22320: <-0.000000, -0.002118, 0.008169> + 22321: <-0.000000, -0.001701, 0.008251> + 22322: <-0.000422, -0.001699, 0.008242> + 22323: <-0.000419, -0.002116, 0.008161> + 22324: <-0.000000, -0.001701, 0.008251> + 22325: <-0.000000, -0.001280, 0.008314> + 22326: <-0.000424, -0.001278, 0.008305> + 22327: <-0.000422, -0.001699, 0.008242> + 22328: <-0.000000, -0.001280, 0.008314> + 22329: <-0.000000, -0.000855, 0.008359> + 22330: <-0.000426, -0.000854, 0.008350> + 22331: <-0.000424, -0.001278, 0.008305> + 22332: <-0.000000, -0.000855, 0.008359> + 22333: <-0.000000, -0.000428, 0.008386> + 22334: <-0.000428, -0.000428, 0.008377> + 22335: <-0.000426, -0.000854, 0.008350> + 22336: <-0.000000, -0.000428, 0.008386> + 22337: <-0.000000, 0.000000, 0.008395> + 22338: <-0.000428, 0.000000, 0.008386> + 22339: <-0.000428, -0.000428, 0.008377> + 22340: <-0.000000, 0.000000, 0.008395> + 22341: <-0.000000, 0.000428, 0.008386> + 22342: <-0.000428, 0.000428, 0.008377> + 22343: <-0.000428, 0.000000, 0.008386> + 22344: <-0.000000, 0.000428, 0.008386> + 22345: <-0.000000, 0.000855, 0.008359> + 22346: <-0.000426, 0.000854, 0.008350> + 22347: <-0.000428, 0.000428, 0.008377> + 22348: <-0.000000, 0.000855, 0.008359> + 22349: <-0.000000, 0.001280, 0.008314> + 22350: <-0.000424, 0.001278, 0.008305> + 22351: <-0.000426, 0.000854, 0.008350> + 22352: <-0.000000, 0.001280, 0.008314> + 22353: <-0.000000, 0.001701, 0.008251> + 22354: <-0.000422, 0.001699, 0.008242> + 22355: <-0.000424, 0.001278, 0.008305> + 22356: <-0.000000, 0.001701, 0.008251> + 22357: < 0.000000, 0.002118, 0.008169> + 22358: <-0.000419, 0.002116, 0.008161> + 22359: <-0.000422, 0.001699, 0.008242> + 22360: < 0.000000, 0.002118, 0.008169> + 22361: <-0.000000, 0.002530, 0.008070> + 22362: <-0.000415, 0.002527, 0.008062> + 22363: <-0.000419, 0.002116, 0.008161> + 22364: <-0.000000, 0.002530, 0.008070> + 22365: < 0.000000, 0.002934, 0.007953> + 22366: <-0.000412, 0.002931, 0.007945> + 22367: <-0.000415, 0.002527, 0.008062> + 22368: < 0.000000, 0.002934, 0.007953> + 22369: < 0.000000, 0.003331, 0.007818> + 22370: <-0.000408, 0.003328, 0.007810> + 22371: <-0.000412, 0.002931, 0.007945> + 22372: < 0.000000, 0.003331, 0.007818> + 22373: < 0.000000, 0.003720, 0.007665> + 22374: <-0.000404, 0.003716, 0.007657> + 22375: <-0.000408, 0.003328, 0.007810> + 22376: < 0.000000, 0.003720, 0.007665> + 22377: < 0.000000, 0.004098, 0.007495> + 22378: <-0.000400, 0.004093, 0.007487> + 22379: <-0.000404, 0.003716, 0.007657> + 22380: < 0.000000, 0.004098, 0.007495> + 22381: <-0.000000, 0.004465, 0.007306> + 22382: <-0.000397, 0.004460, 0.007298> + 22383: <-0.000400, 0.004093, 0.007487> + 22384: <-0.000000, 0.004465, 0.007306> + 22385: < 0.000000, 0.004820, 0.007099> + 22386: <-0.000394, 0.004815, 0.007092> + 22387: <-0.000397, 0.004460, 0.007298> + 22388: < 0.000000, 0.004820, 0.007099> + 22389: < 0.000000, 0.005162, 0.006875> + 22390: <-0.000391, 0.005156, 0.006868> + 22391: <-0.000394, 0.004815, 0.007092> + 22392: < 0.000000, 0.005162, 0.006875> + 22393: < 0.000000, 0.005489, 0.006633> + 22394: <-0.000389, 0.005483, 0.006626> + 22395: <-0.000391, 0.005156, 0.006868> + 22396: < 0.000000, 0.005489, 0.006633> + 22397: < 0.000000, 0.005801, 0.006373> + 22398: <-0.000388, 0.005794, 0.006366> + 22399: <-0.000389, 0.005483, 0.006626> + 22400: <-0.000388, -0.005794, 0.006366> + 22401: <-0.000389, -0.005483, 0.006626> + 22402: <-0.000777, -0.005466, 0.006605> + 22403: <-0.000774, -0.005776, 0.006346> + 22404: <-0.000389, -0.005483, 0.006626> + 22405: <-0.000391, -0.005156, 0.006868> + 22406: <-0.000781, -0.005140, 0.006846> + 22407: <-0.000777, -0.005466, 0.006605> + 22408: <-0.000391, -0.005156, 0.006868> + 22409: <-0.000394, -0.004815, 0.007092> + 22410: <-0.000786, -0.004800, 0.007069> + 22411: <-0.000781, -0.005140, 0.006846> + 22412: <-0.000394, -0.004815, 0.007092> + 22413: <-0.000397, -0.004460, 0.007298> + 22414: <-0.000792, -0.004446, 0.007275> + 22415: <-0.000786, -0.004800, 0.007069> + 22416: <-0.000397, -0.004460, 0.007298> + 22417: <-0.000400, -0.004093, 0.007487> + 22418: <-0.000799, -0.004081, 0.007462> + 22419: <-0.000792, -0.004446, 0.007275> + 22420: <-0.000400, -0.004093, 0.007487> + 22421: <-0.000404, -0.003716, 0.007657> + 22422: <-0.000807, -0.003704, 0.007632> + 22423: <-0.000799, -0.004081, 0.007462> + 22424: <-0.000404, -0.003716, 0.007657> + 22425: <-0.000408, -0.003328, 0.007810> + 22426: <-0.000814, -0.003318, 0.007785> + 22427: <-0.000807, -0.003704, 0.007632> + 22428: <-0.000408, -0.003328, 0.007810> + 22429: <-0.000412, -0.002931, 0.007945> + 22430: <-0.000822, -0.002922, 0.007919> + 22431: <-0.000814, -0.003318, 0.007785> + 22432: <-0.000412, -0.002931, 0.007945> + 22433: <-0.000415, -0.002527, 0.008062> + 22434: <-0.000829, -0.002519, 0.008036> + 22435: <-0.000822, -0.002922, 0.007919> + 22436: <-0.000415, -0.002527, 0.008062> + 22437: <-0.000419, -0.002116, 0.008161> + 22438: <-0.000836, -0.002109, 0.008134> + 22439: <-0.000829, -0.002519, 0.008036> + 22440: <-0.000419, -0.002116, 0.008161> + 22441: <-0.000422, -0.001699, 0.008242> + 22442: <-0.000842, -0.001694, 0.008215> + 22443: <-0.000836, -0.002109, 0.008134> + 22444: <-0.000422, -0.001699, 0.008242> + 22445: <-0.000424, -0.001278, 0.008305> + 22446: <-0.000848, -0.001275, 0.008278> + 22447: <-0.000842, -0.001694, 0.008215> + 22448: <-0.000424, -0.001278, 0.008305> + 22449: <-0.000426, -0.000854, 0.008350> + 22450: <-0.000852, -0.000852, 0.008323> + 22451: <-0.000848, -0.001275, 0.008278> + 22452: <-0.000426, -0.000854, 0.008350> + 22453: <-0.000428, -0.000428, 0.008377> + 22454: <-0.000854, -0.000426, 0.008350> + 22455: <-0.000852, -0.000852, 0.008323> + 22456: <-0.000428, -0.000428, 0.008377> + 22457: <-0.000428, 0.000000, 0.008386> + 22458: <-0.000855, 0.000000, 0.008359> + 22459: <-0.000854, -0.000426, 0.008350> + 22460: <-0.000428, 0.000000, 0.008386> + 22461: <-0.000428, 0.000428, 0.008377> + 22462: <-0.000854, 0.000426, 0.008350> + 22463: <-0.000855, 0.000000, 0.008359> + 22464: <-0.000428, 0.000428, 0.008377> + 22465: <-0.000426, 0.000854, 0.008350> + 22466: <-0.000852, 0.000852, 0.008323> + 22467: <-0.000854, 0.000426, 0.008350> + 22468: <-0.000426, 0.000854, 0.008350> + 22469: <-0.000424, 0.001278, 0.008305> + 22470: <-0.000848, 0.001275, 0.008278> + 22471: <-0.000852, 0.000852, 0.008323> + 22472: <-0.000424, 0.001278, 0.008305> + 22473: <-0.000422, 0.001699, 0.008242> + 22474: <-0.000842, 0.001694, 0.008215> + 22475: <-0.000848, 0.001275, 0.008278> + 22476: <-0.000422, 0.001699, 0.008242> + 22477: <-0.000419, 0.002116, 0.008161> + 22478: <-0.000836, 0.002109, 0.008134> + 22479: <-0.000842, 0.001694, 0.008215> + 22480: <-0.000419, 0.002116, 0.008161> + 22481: <-0.000415, 0.002527, 0.008062> + 22482: <-0.000829, 0.002519, 0.008036> + 22483: <-0.000836, 0.002109, 0.008134> + 22484: <-0.000415, 0.002527, 0.008062> + 22485: <-0.000412, 0.002931, 0.007945> + 22486: <-0.000822, 0.002922, 0.007919> + 22487: <-0.000829, 0.002519, 0.008036> + 22488: <-0.000412, 0.002931, 0.007945> + 22489: <-0.000408, 0.003328, 0.007810> + 22490: <-0.000814, 0.003318, 0.007785> + 22491: <-0.000822, 0.002922, 0.007919> + 22492: <-0.000408, 0.003328, 0.007810> + 22493: <-0.000404, 0.003716, 0.007657> + 22494: <-0.000807, 0.003704, 0.007632> + 22495: <-0.000814, 0.003318, 0.007785> + 22496: <-0.000404, 0.003716, 0.007657> + 22497: <-0.000400, 0.004093, 0.007487> + 22498: <-0.000799, 0.004081, 0.007462> + 22499: <-0.000807, 0.003704, 0.007632> + 22500: <-0.000400, 0.004093, 0.007487> + 22501: <-0.000397, 0.004460, 0.007298> + 22502: <-0.000792, 0.004446, 0.007275> + 22503: <-0.000799, 0.004081, 0.007462> + 22504: <-0.000397, 0.004460, 0.007298> + 22505: <-0.000394, 0.004815, 0.007092> + 22506: <-0.000786, 0.004800, 0.007069> + 22507: <-0.000792, 0.004446, 0.007275> + 22508: <-0.000394, 0.004815, 0.007092> + 22509: <-0.000391, 0.005156, 0.006868> + 22510: <-0.000781, 0.005140, 0.006846> + 22511: <-0.000786, 0.004800, 0.007069> + 22512: <-0.000391, 0.005156, 0.006868> + 22513: <-0.000389, 0.005483, 0.006626> + 22514: <-0.000777, 0.005466, 0.006605> + 22515: <-0.000781, 0.005140, 0.006846> + 22516: <-0.000389, 0.005483, 0.006626> + 22517: <-0.000388, 0.005794, 0.006366> + 22518: <-0.000774, 0.005776, 0.006346> + 22519: <-0.000777, 0.005466, 0.006605> + 22520: <-0.000774, -0.005776, 0.006346> + 22521: <-0.000777, -0.005466, 0.006605> + 22522: <-0.001161, -0.005438, 0.006570> + 22523: <-0.001157, -0.005747, 0.006313> + 22524: <-0.000777, -0.005466, 0.006605> + 22525: <-0.000781, -0.005140, 0.006846> + 22526: <-0.001168, -0.005114, 0.006810> + 22527: <-0.001161, -0.005438, 0.006570> + 22528: <-0.000781, -0.005140, 0.006846> + 22529: <-0.000786, -0.004800, 0.007069> + 22530: <-0.001176, -0.004776, 0.007032> + 22531: <-0.001168, -0.005114, 0.006810> + 22532: <-0.000786, -0.004800, 0.007069> + 22533: <-0.000792, -0.004446, 0.007275> + 22534: <-0.001185, -0.004424, 0.007236> + 22535: <-0.001176, -0.004776, 0.007032> + 22536: <-0.000792, -0.004446, 0.007275> + 22537: <-0.000799, -0.004081, 0.007462> + 22538: <-0.001196, -0.004061, 0.007423> + 22539: <-0.001185, -0.004424, 0.007236> + 22540: <-0.000799, -0.004081, 0.007462> + 22541: <-0.000807, -0.003704, 0.007632> + 22542: <-0.001207, -0.003686, 0.007591> + 22543: <-0.001196, -0.004061, 0.007423> + 22544: <-0.000807, -0.003704, 0.007632> + 22545: <-0.000814, -0.003318, 0.007785> + 22546: <-0.001219, -0.003302, 0.007743> + 22547: <-0.001207, -0.003686, 0.007591> + 22548: <-0.000814, -0.003318, 0.007785> + 22549: <-0.000822, -0.002922, 0.007919> + 22550: <-0.001230, -0.002908, 0.007876> + 22551: <-0.001219, -0.003302, 0.007743> + 22552: <-0.000822, -0.002922, 0.007919> + 22553: <-0.000829, -0.002519, 0.008036> + 22554: <-0.001241, -0.002507, 0.007992> + 22555: <-0.001230, -0.002908, 0.007876> + 22556: <-0.000829, -0.002519, 0.008036> + 22557: <-0.000836, -0.002109, 0.008134> + 22558: <-0.001252, -0.002099, 0.008090> + 22559: <-0.001241, -0.002507, 0.007992> + 22560: <-0.000836, -0.002109, 0.008134> + 22561: <-0.000842, -0.001694, 0.008215> + 22562: <-0.001261, -0.001686, 0.008171> + 22563: <-0.001252, -0.002099, 0.008090> + 22564: <-0.000842, -0.001694, 0.008215> + 22565: <-0.000848, -0.001275, 0.008278> + 22566: <-0.001269, -0.001269, 0.008233> + 22567: <-0.001261, -0.001686, 0.008171> + 22568: <-0.000848, -0.001275, 0.008278> + 22569: <-0.000852, -0.000852, 0.008323> + 22570: <-0.001275, -0.000848, 0.008278> + 22571: <-0.001269, -0.001269, 0.008233> + 22572: <-0.000852, -0.000852, 0.008323> + 22573: <-0.000854, -0.000426, 0.008350> + 22574: <-0.001278, -0.000424, 0.008305> + 22575: <-0.001275, -0.000848, 0.008278> + 22576: <-0.000854, -0.000426, 0.008350> + 22577: <-0.000855, 0.000000, 0.008359> + 22578: <-0.001280, 0.000000, 0.008314> + 22579: <-0.001278, -0.000424, 0.008305> + 22580: <-0.000855, 0.000000, 0.008359> + 22581: <-0.000854, 0.000426, 0.008350> + 22582: <-0.001278, 0.000424, 0.008305> + 22583: <-0.001280, 0.000000, 0.008314> + 22584: <-0.000854, 0.000426, 0.008350> + 22585: <-0.000852, 0.000852, 0.008323> + 22586: <-0.001275, 0.000848, 0.008278> + 22587: <-0.001278, 0.000424, 0.008305> + 22588: <-0.000852, 0.000852, 0.008323> + 22589: <-0.000848, 0.001275, 0.008278> + 22590: <-0.001269, 0.001269, 0.008233> + 22591: <-0.001275, 0.000848, 0.008278> + 22592: <-0.000848, 0.001275, 0.008278> + 22593: <-0.000842, 0.001694, 0.008215> + 22594: <-0.001261, 0.001686, 0.008171> + 22595: <-0.001269, 0.001269, 0.008233> + 22596: <-0.000842, 0.001694, 0.008215> + 22597: <-0.000836, 0.002109, 0.008134> + 22598: <-0.001252, 0.002099, 0.008090> + 22599: <-0.001261, 0.001686, 0.008171> + 22600: <-0.000836, 0.002109, 0.008134> + 22601: <-0.000829, 0.002519, 0.008036> + 22602: <-0.001241, 0.002507, 0.007992> + 22603: <-0.001252, 0.002099, 0.008090> + 22604: <-0.000829, 0.002519, 0.008036> + 22605: <-0.000822, 0.002922, 0.007919> + 22606: <-0.001230, 0.002908, 0.007876> + 22607: <-0.001241, 0.002507, 0.007992> + 22608: <-0.000822, 0.002922, 0.007919> + 22609: <-0.000814, 0.003318, 0.007785> + 22610: <-0.001219, 0.003302, 0.007743> + 22611: <-0.001230, 0.002908, 0.007876> + 22612: <-0.000814, 0.003318, 0.007785> + 22613: <-0.000807, 0.003704, 0.007632> + 22614: <-0.001207, 0.003686, 0.007591> + 22615: <-0.001219, 0.003302, 0.007743> + 22616: <-0.000807, 0.003704, 0.007632> + 22617: <-0.000799, 0.004081, 0.007462> + 22618: <-0.001196, 0.004061, 0.007423> + 22619: <-0.001207, 0.003686, 0.007591> + 22620: <-0.000799, 0.004081, 0.007462> + 22621: <-0.000792, 0.004446, 0.007275> + 22622: <-0.001185, 0.004424, 0.007236> + 22623: <-0.001196, 0.004061, 0.007423> + 22624: <-0.000792, 0.004446, 0.007275> + 22625: <-0.000786, 0.004800, 0.007069> + 22626: <-0.001176, 0.004776, 0.007032> + 22627: <-0.001185, 0.004424, 0.007236> + 22628: <-0.000786, 0.004800, 0.007069> + 22629: <-0.000781, 0.005140, 0.006846> + 22630: <-0.001168, 0.005114, 0.006810> + 22631: <-0.001176, 0.004776, 0.007032> + 22632: <-0.000781, 0.005140, 0.006846> + 22633: <-0.000777, 0.005466, 0.006605> + 22634: <-0.001161, 0.005438, 0.006570> + 22635: <-0.001168, 0.005114, 0.006810> + 22636: <-0.000777, 0.005466, 0.006605> + 22637: <-0.000774, 0.005776, 0.006346> + 22638: <-0.001157, 0.005747, 0.006313> + 22639: <-0.001161, 0.005438, 0.006570> + 22640: <-0.001157, -0.005747, 0.006313> + 22641: <-0.001161, -0.005438, 0.006570> + 22642: <-0.001541, -0.005401, 0.006523> + 22643: <-0.001536, -0.005707, 0.006269> + 22644: <-0.001161, -0.005438, 0.006570> + 22645: <-0.001168, -0.005114, 0.006810> + 22646: <-0.001550, -0.005080, 0.006761> + 22647: <-0.001541, -0.005401, 0.006523> + 22648: <-0.001168, -0.005114, 0.006810> + 22649: <-0.001176, -0.004776, 0.007032> + 22650: <-0.001561, -0.004744, 0.006980> + 22651: <-0.001550, -0.005080, 0.006761> + 22652: <-0.001176, -0.004776, 0.007032> + 22653: <-0.001185, -0.004424, 0.007236> + 22654: <-0.001574, -0.004395, 0.007183> + 22655: <-0.001561, -0.004744, 0.006980> + 22656: <-0.001185, -0.004424, 0.007236> + 22657: <-0.001196, -0.004061, 0.007423> + 22658: <-0.001588, -0.004034, 0.007367> + 22659: <-0.001574, -0.004395, 0.007183> + 22660: <-0.001196, -0.004061, 0.007423> + 22661: <-0.001207, -0.003686, 0.007591> + 22662: <-0.001603, -0.003663, 0.007535> + 22663: <-0.001588, -0.004034, 0.007367> + 22664: <-0.001207, -0.003686, 0.007591> + 22665: <-0.001219, -0.003302, 0.007743> + 22666: <-0.001619, -0.003281, 0.007684> + 22667: <-0.001603, -0.003663, 0.007535> + 22668: <-0.001219, -0.003302, 0.007743> + 22669: <-0.001230, -0.002908, 0.007876> + 22670: <-0.001635, -0.002890, 0.007817> + 22671: <-0.001619, -0.003281, 0.007684> + 22672: <-0.001230, -0.002908, 0.007876> + 22673: <-0.001241, -0.002507, 0.007992> + 22674: <-0.001650, -0.002492, 0.007932> + 22675: <-0.001635, -0.002890, 0.007817> + 22676: <-0.001241, -0.002507, 0.007992> + 22677: <-0.001252, -0.002099, 0.008090> + 22678: <-0.001663, -0.002086, 0.008029> + 22679: <-0.001650, -0.002492, 0.007932> + 22680: <-0.001252, -0.002099, 0.008090> + 22681: <-0.001261, -0.001686, 0.008171> + 22682: <-0.001676, -0.001676, 0.008109> + 22683: <-0.001663, -0.002086, 0.008029> + 22684: <-0.001261, -0.001686, 0.008171> + 22685: <-0.001269, -0.001269, 0.008233> + 22686: <-0.001686, -0.001261, 0.008171> + 22687: <-0.001676, -0.001676, 0.008109> + 22688: <-0.001269, -0.001269, 0.008233> + 22689: <-0.001275, -0.000848, 0.008278> + 22690: <-0.001694, -0.000842, 0.008215> + 22691: <-0.001686, -0.001261, 0.008171> + 22692: <-0.001275, -0.000848, 0.008278> + 22693: <-0.001278, -0.000424, 0.008305> + 22694: <-0.001699, -0.000422, 0.008242> + 22695: <-0.001694, -0.000842, 0.008215> + 22696: <-0.001278, -0.000424, 0.008305> + 22697: <-0.001280, 0.000000, 0.008314> + 22698: <-0.001701, 0.000000, 0.008251> + 22699: <-0.001699, -0.000422, 0.008242> + 22700: <-0.001280, 0.000000, 0.008314> + 22701: <-0.001278, 0.000424, 0.008305> + 22702: <-0.001699, 0.000422, 0.008242> + 22703: <-0.001701, 0.000000, 0.008251> + 22704: <-0.001278, 0.000424, 0.008305> + 22705: <-0.001275, 0.000848, 0.008278> + 22706: <-0.001694, 0.000842, 0.008215> + 22707: <-0.001699, 0.000422, 0.008242> + 22708: <-0.001275, 0.000848, 0.008278> + 22709: <-0.001269, 0.001269, 0.008233> + 22710: <-0.001686, 0.001261, 0.008171> + 22711: <-0.001694, 0.000842, 0.008215> + 22712: <-0.001269, 0.001269, 0.008233> + 22713: <-0.001261, 0.001686, 0.008171> + 22714: <-0.001676, 0.001676, 0.008109> + 22715: <-0.001686, 0.001261, 0.008171> + 22716: <-0.001261, 0.001686, 0.008171> + 22717: <-0.001252, 0.002099, 0.008090> + 22718: <-0.001663, 0.002086, 0.008029> + 22719: <-0.001676, 0.001676, 0.008109> + 22720: <-0.001252, 0.002099, 0.008090> + 22721: <-0.001241, 0.002507, 0.007992> + 22722: <-0.001650, 0.002492, 0.007932> + 22723: <-0.001663, 0.002086, 0.008029> + 22724: <-0.001241, 0.002507, 0.007992> + 22725: <-0.001230, 0.002908, 0.007876> + 22726: <-0.001635, 0.002890, 0.007817> + 22727: <-0.001650, 0.002492, 0.007932> + 22728: <-0.001230, 0.002908, 0.007876> + 22729: <-0.001219, 0.003302, 0.007743> + 22730: <-0.001619, 0.003281, 0.007684> + 22731: <-0.001635, 0.002890, 0.007817> + 22732: <-0.001219, 0.003302, 0.007743> + 22733: <-0.001207, 0.003686, 0.007591> + 22734: <-0.001603, 0.003663, 0.007535> + 22735: <-0.001619, 0.003281, 0.007684> + 22736: <-0.001207, 0.003686, 0.007591> + 22737: <-0.001196, 0.004061, 0.007423> + 22738: <-0.001588, 0.004034, 0.007367> + 22739: <-0.001603, 0.003663, 0.007535> + 22740: <-0.001196, 0.004061, 0.007423> + 22741: <-0.001185, 0.004424, 0.007236> + 22742: <-0.001574, 0.004395, 0.007183> + 22743: <-0.001588, 0.004034, 0.007367> + 22744: <-0.001185, 0.004424, 0.007236> + 22745: <-0.001176, 0.004776, 0.007032> + 22746: <-0.001561, 0.004744, 0.006980> + 22747: <-0.001574, 0.004395, 0.007183> + 22748: <-0.001176, 0.004776, 0.007032> + 22749: <-0.001168, 0.005114, 0.006810> + 22750: <-0.001550, 0.005080, 0.006761> + 22751: <-0.001561, 0.004744, 0.006980> + 22752: <-0.001168, 0.005114, 0.006810> + 22753: <-0.001161, 0.005438, 0.006570> + 22754: <-0.001541, 0.005401, 0.006523> + 22755: <-0.001550, 0.005080, 0.006761> + 22756: <-0.001161, 0.005438, 0.006570> + 22757: <-0.001157, 0.005747, 0.006313> + 22758: <-0.001536, 0.005707, 0.006269> + 22759: <-0.001541, 0.005401, 0.006523> + 22760: <-0.001536, -0.005707, 0.006269> + 22761: <-0.001541, -0.005401, 0.006523> + 22762: <-0.001915, -0.005355, 0.006464> + 22763: <-0.001908, -0.005657, 0.006212> + 22764: <-0.001541, -0.005401, 0.006523> + 22765: <-0.001550, -0.005080, 0.006761> + 22766: <-0.001926, -0.005037, 0.006698> + 22767: <-0.001915, -0.005355, 0.006464> + 22768: <-0.001550, -0.005080, 0.006761> + 22769: <-0.001561, -0.004744, 0.006980> + 22770: <-0.001940, -0.004705, 0.006915> + 22771: <-0.001926, -0.005037, 0.006698> + 22772: <-0.001561, -0.004744, 0.006980> + 22773: <-0.001574, -0.004395, 0.007183> + 22774: <-0.001957, -0.004360, 0.007115> + 22775: <-0.001940, -0.004705, 0.006915> + 22776: <-0.001574, -0.004395, 0.007183> + 22777: <-0.001588, -0.004034, 0.007367> + 22778: <-0.001975, -0.004002, 0.007297> + 22779: <-0.001957, -0.004360, 0.007115> + 22780: <-0.001588, -0.004034, 0.007367> + 22781: <-0.001603, -0.003663, 0.007535> + 22782: <-0.001995, -0.003634, 0.007462> + 22783: <-0.001975, -0.004002, 0.007297> + 22784: <-0.001603, -0.003663, 0.007535> + 22785: <-0.001619, -0.003281, 0.007684> + 22786: <-0.002015, -0.003255, 0.007610> + 22787: <-0.001995, -0.003634, 0.007462> + 22788: <-0.001619, -0.003281, 0.007684> + 22789: <-0.001635, -0.002890, 0.007817> + 22790: <-0.002035, -0.002868, 0.007740> + 22791: <-0.002015, -0.003255, 0.007610> + 22792: <-0.001635, -0.002890, 0.007817> + 22793: <-0.001650, -0.002492, 0.007932> + 22794: <-0.002053, -0.002473, 0.007854> + 22795: <-0.002035, -0.002868, 0.007740> + 22796: <-0.001650, -0.002492, 0.007932> + 22797: <-0.001663, -0.002086, 0.008029> + 22798: <-0.002071, -0.002071, 0.007950> + 22799: <-0.002053, -0.002473, 0.007854> + 22800: <-0.001663, -0.002086, 0.008029> + 22801: <-0.001676, -0.001676, 0.008109> + 22802: <-0.002086, -0.001663, 0.008029> + 22803: <-0.002071, -0.002071, 0.007950> + 22804: <-0.001676, -0.001676, 0.008109> + 22805: <-0.001686, -0.001261, 0.008171> + 22806: <-0.002099, -0.001252, 0.008090> + 22807: <-0.002086, -0.001663, 0.008029> + 22808: <-0.001686, -0.001261, 0.008171> + 22809: <-0.001694, -0.000842, 0.008215> + 22810: <-0.002109, -0.000836, 0.008134> + 22811: <-0.002099, -0.001252, 0.008090> + 22812: <-0.001694, -0.000842, 0.008215> + 22813: <-0.001699, -0.000422, 0.008242> + 22814: <-0.002116, -0.000419, 0.008161> + 22815: <-0.002109, -0.000836, 0.008134> + 22816: <-0.001699, -0.000422, 0.008242> + 22817: <-0.001701, 0.000000, 0.008251> + 22818: <-0.002118, 0.000000, 0.008169> + 22819: <-0.002116, -0.000419, 0.008161> + 22820: <-0.001701, 0.000000, 0.008251> + 22821: <-0.001699, 0.000422, 0.008242> + 22822: <-0.002116, 0.000419, 0.008161> + 22823: <-0.002118, 0.000000, 0.008169> + 22824: <-0.001699, 0.000422, 0.008242> + 22825: <-0.001694, 0.000842, 0.008215> + 22826: <-0.002109, 0.000836, 0.008134> + 22827: <-0.002116, 0.000419, 0.008161> + 22828: <-0.001694, 0.000842, 0.008215> + 22829: <-0.001686, 0.001261, 0.008171> + 22830: <-0.002099, 0.001252, 0.008090> + 22831: <-0.002109, 0.000836, 0.008134> + 22832: <-0.001686, 0.001261, 0.008171> + 22833: <-0.001676, 0.001676, 0.008109> + 22834: <-0.002086, 0.001663, 0.008029> + 22835: <-0.002099, 0.001252, 0.008090> + 22836: <-0.001676, 0.001676, 0.008109> + 22837: <-0.001663, 0.002086, 0.008029> + 22838: <-0.002071, 0.002071, 0.007950> + 22839: <-0.002086, 0.001663, 0.008029> + 22840: <-0.001663, 0.002086, 0.008029> + 22841: <-0.001650, 0.002492, 0.007932> + 22842: <-0.002053, 0.002473, 0.007854> + 22843: <-0.002071, 0.002071, 0.007950> + 22844: <-0.001650, 0.002492, 0.007932> + 22845: <-0.001635, 0.002890, 0.007817> + 22846: <-0.002035, 0.002868, 0.007740> + 22847: <-0.002053, 0.002473, 0.007854> + 22848: <-0.001635, 0.002890, 0.007817> + 22849: <-0.001619, 0.003281, 0.007684> + 22850: <-0.002015, 0.003255, 0.007610> + 22851: <-0.002035, 0.002868, 0.007740> + 22852: <-0.001619, 0.003281, 0.007684> + 22853: <-0.001603, 0.003663, 0.007535> + 22854: <-0.001995, 0.003634, 0.007462> + 22855: <-0.002015, 0.003255, 0.007610> + 22856: <-0.001603, 0.003663, 0.007535> + 22857: <-0.001588, 0.004034, 0.007367> + 22858: <-0.001975, 0.004002, 0.007297> + 22859: <-0.001995, 0.003634, 0.007462> + 22860: <-0.001588, 0.004034, 0.007367> + 22861: <-0.001574, 0.004395, 0.007183> + 22862: <-0.001957, 0.004360, 0.007115> + 22863: <-0.001975, 0.004002, 0.007297> + 22864: <-0.001574, 0.004395, 0.007183> + 22865: <-0.001561, 0.004744, 0.006980> + 22866: <-0.001940, 0.004705, 0.006915> + 22867: <-0.001957, 0.004360, 0.007115> + 22868: <-0.001561, 0.004744, 0.006980> + 22869: <-0.001550, 0.005080, 0.006761> + 22870: <-0.001926, 0.005037, 0.006698> + 22871: <-0.001940, 0.004705, 0.006915> + 22872: <-0.001550, 0.005080, 0.006761> + 22873: <-0.001541, 0.005401, 0.006523> + 22874: <-0.001915, 0.005355, 0.006464> + 22875: <-0.001926, 0.005037, 0.006698> + 22876: <-0.001541, 0.005401, 0.006523> + 22877: <-0.001536, 0.005707, 0.006269> + 22878: <-0.001908, 0.005657, 0.006212> + 22879: <-0.001915, 0.005355, 0.006464> + 22880: <-0.001908, -0.005657, 0.006212> + 22881: <-0.001915, -0.005355, 0.006464> + 22882: <-0.002281, -0.005301, 0.006393> + 22883: <-0.002272, -0.005599, 0.006146> + 22884: <-0.001915, -0.005355, 0.006464> + 22885: <-0.001926, -0.005037, 0.006698> + 22886: <-0.002295, -0.004987, 0.006623> + 22887: <-0.002281, -0.005301, 0.006393> + 22888: <-0.001926, -0.005037, 0.006698> + 22889: <-0.001940, -0.004705, 0.006915> + 22890: <-0.002313, -0.004659, 0.006836> + 22891: <-0.002295, -0.004987, 0.006623> + 22892: <-0.001940, -0.004705, 0.006915> + 22893: <-0.001957, -0.004360, 0.007115> + 22894: <-0.002333, -0.004318, 0.007033> + 22895: <-0.002313, -0.004659, 0.006836> + 22896: <-0.001957, -0.004360, 0.007115> + 22897: <-0.001975, -0.004002, 0.007297> + 22898: <-0.002356, -0.003965, 0.007212> + 22899: <-0.002333, -0.004318, 0.007033> + 22900: <-0.001975, -0.004002, 0.007297> + 22901: <-0.001995, -0.003634, 0.007462> + 22902: <-0.002380, -0.003601, 0.007374> + 22903: <-0.002356, -0.003965, 0.007212> + 22904: <-0.001995, -0.003634, 0.007462> + 22905: <-0.002015, -0.003255, 0.007610> + 22906: <-0.002405, -0.003227, 0.007519> + 22907: <-0.002380, -0.003601, 0.007374> + 22908: <-0.002015, -0.003255, 0.007610> + 22909: <-0.002035, -0.002868, 0.007740> + 22910: <-0.002429, -0.002843, 0.007648> + 22911: <-0.002405, -0.003227, 0.007519> + 22912: <-0.002035, -0.002868, 0.007740> + 22913: <-0.002053, -0.002473, 0.007854> + 22914: <-0.002452, -0.002452, 0.007759> + 22915: <-0.002429, -0.002843, 0.007648> + 22916: <-0.002053, -0.002473, 0.007854> + 22917: <-0.002071, -0.002071, 0.007950> + 22918: <-0.002473, -0.002053, 0.007854> + 22919: <-0.002452, -0.002452, 0.007759> + 22920: <-0.002071, -0.002071, 0.007950> + 22921: <-0.002086, -0.001663, 0.008029> + 22922: <-0.002492, -0.001650, 0.007932> + 22923: <-0.002473, -0.002053, 0.007854> + 22924: <-0.002086, -0.001663, 0.008029> + 22925: <-0.002099, -0.001252, 0.008090> + 22926: <-0.002507, -0.001241, 0.007992> + 22927: <-0.002492, -0.001650, 0.007932> + 22928: <-0.002099, -0.001252, 0.008090> + 22929: <-0.002109, -0.000836, 0.008134> + 22930: <-0.002519, -0.000829, 0.008036> + 22931: <-0.002507, -0.001241, 0.007992> + 22932: <-0.002109, -0.000836, 0.008134> + 22933: <-0.002116, -0.000419, 0.008161> + 22934: <-0.002527, -0.000415, 0.008062> + 22935: <-0.002519, -0.000829, 0.008036> + 22936: <-0.002116, -0.000419, 0.008161> + 22937: <-0.002118, 0.000000, 0.008169> + 22938: <-0.002530, 0.000000, 0.008070> + 22939: <-0.002527, -0.000415, 0.008062> + 22940: <-0.002118, 0.000000, 0.008169> + 22941: <-0.002116, 0.000419, 0.008161> + 22942: <-0.002527, 0.000415, 0.008062> + 22943: <-0.002530, 0.000000, 0.008070> + 22944: <-0.002116, 0.000419, 0.008161> + 22945: <-0.002109, 0.000836, 0.008134> + 22946: <-0.002519, 0.000829, 0.008036> + 22947: <-0.002527, 0.000415, 0.008062> + 22948: <-0.002109, 0.000836, 0.008134> + 22949: <-0.002099, 0.001252, 0.008090> + 22950: <-0.002507, 0.001241, 0.007992> + 22951: <-0.002519, 0.000829, 0.008036> + 22952: <-0.002099, 0.001252, 0.008090> + 22953: <-0.002086, 0.001663, 0.008029> + 22954: <-0.002492, 0.001650, 0.007932> + 22955: <-0.002507, 0.001241, 0.007992> + 22956: <-0.002086, 0.001663, 0.008029> + 22957: <-0.002071, 0.002071, 0.007950> + 22958: <-0.002473, 0.002053, 0.007854> + 22959: <-0.002492, 0.001650, 0.007932> + 22960: <-0.002071, 0.002071, 0.007950> + 22961: <-0.002053, 0.002473, 0.007854> + 22962: <-0.002452, 0.002452, 0.007759> + 22963: <-0.002473, 0.002053, 0.007854> + 22964: <-0.002053, 0.002473, 0.007854> + 22965: <-0.002035, 0.002868, 0.007740> + 22966: <-0.002429, 0.002843, 0.007648> + 22967: <-0.002452, 0.002452, 0.007759> + 22968: <-0.002035, 0.002868, 0.007740> + 22969: <-0.002015, 0.003255, 0.007610> + 22970: <-0.002405, 0.003227, 0.007519> + 22971: <-0.002429, 0.002843, 0.007648> + 22972: <-0.002015, 0.003255, 0.007610> + 22973: <-0.001995, 0.003634, 0.007462> + 22974: <-0.002380, 0.003601, 0.007374> + 22975: <-0.002405, 0.003227, 0.007519> + 22976: <-0.001995, 0.003634, 0.007462> + 22977: <-0.001975, 0.004002, 0.007297> + 22978: <-0.002356, 0.003965, 0.007212> + 22979: <-0.002380, 0.003601, 0.007374> + 22980: <-0.001975, 0.004002, 0.007297> + 22981: <-0.001957, 0.004360, 0.007115> + 22982: <-0.002333, 0.004318, 0.007033> + 22983: <-0.002356, 0.003965, 0.007212> + 22984: <-0.001957, 0.004360, 0.007115> + 22985: <-0.001940, 0.004705, 0.006915> + 22986: <-0.002313, 0.004659, 0.006836> + 22987: <-0.002333, 0.004318, 0.007033> + 22988: <-0.001940, 0.004705, 0.006915> + 22989: <-0.001926, 0.005037, 0.006698> + 22990: <-0.002295, 0.004987, 0.006623> + 22991: <-0.002313, 0.004659, 0.006836> + 22992: <-0.001926, 0.005037, 0.006698> + 22993: <-0.001915, 0.005355, 0.006464> + 22994: <-0.002281, 0.005301, 0.006393> + 22995: <-0.002295, 0.004987, 0.006623> + 22996: <-0.001915, 0.005355, 0.006464> + 22997: <-0.001908, 0.005657, 0.006212> + 22998: <-0.002272, 0.005599, 0.006146> + 22999: <-0.002281, 0.005301, 0.006393> + 23000: <-0.002272, -0.005599, 0.006146> + 23001: <-0.002281, -0.005301, 0.006393> + 23002: <-0.002638, -0.005240, 0.006311> + 23003: <-0.002627, -0.005533, 0.006069> + 23004: <-0.002281, -0.005301, 0.006393> + 23005: <-0.002295, -0.004987, 0.006623> + 23006: <-0.002655, -0.004931, 0.006537> + 23007: <-0.002638, -0.005240, 0.006311> + 23008: <-0.002295, -0.004987, 0.006623> + 23009: <-0.002313, -0.004659, 0.006836> + 23010: <-0.002676, -0.004609, 0.006745> + 23011: <-0.002655, -0.004931, 0.006537> + 23012: <-0.002313, -0.004659, 0.006836> + 23013: <-0.002333, -0.004318, 0.007033> + 23014: <-0.002701, -0.004273, 0.006937> + 23015: <-0.002676, -0.004609, 0.006745> + 23016: <-0.002333, -0.004318, 0.007033> + 23017: <-0.002356, -0.003965, 0.007212> + 23018: <-0.002729, -0.003924, 0.007112> + 23019: <-0.002701, -0.004273, 0.006937> + 23020: <-0.002356, -0.003965, 0.007212> + 23021: <-0.002380, -0.003601, 0.007374> + 23022: <-0.002758, -0.003565, 0.007270> + 23023: <-0.002729, -0.003924, 0.007112> + 23024: <-0.002380, -0.003601, 0.007374> + 23025: <-0.002405, -0.003227, 0.007519> + 23026: <-0.002787, -0.003195, 0.007412> + 23027: <-0.002758, -0.003565, 0.007270> + 23028: <-0.002405, -0.003227, 0.007519> + 23029: <-0.002429, -0.002843, 0.007648> + 23030: <-0.002816, -0.002816, 0.007538> + 23031: <-0.002787, -0.003195, 0.007412> + 23032: <-0.002429, -0.002843, 0.007648> + 23033: <-0.002452, -0.002452, 0.007759> + 23034: <-0.002843, -0.002429, 0.007648> + 23035: <-0.002816, -0.002816, 0.007538> + 23036: <-0.002452, -0.002452, 0.007759> + 23037: <-0.002473, -0.002053, 0.007854> + 23038: <-0.002868, -0.002035, 0.007740> + 23039: <-0.002843, -0.002429, 0.007648> + 23040: <-0.002473, -0.002053, 0.007854> + 23041: <-0.002492, -0.001650, 0.007932> + 23042: <-0.002890, -0.001635, 0.007817> + 23043: <-0.002868, -0.002035, 0.007740> + 23044: <-0.002492, -0.001650, 0.007932> + 23045: <-0.002507, -0.001241, 0.007992> + 23046: <-0.002908, -0.001230, 0.007876> + 23047: <-0.002890, -0.001635, 0.007817> + 23048: <-0.002507, -0.001241, 0.007992> + 23049: <-0.002519, -0.000829, 0.008036> + 23050: <-0.002922, -0.000822, 0.007919> + 23051: <-0.002908, -0.001230, 0.007876> + 23052: <-0.002519, -0.000829, 0.008036> + 23053: <-0.002527, -0.000415, 0.008062> + 23054: <-0.002931, -0.000412, 0.007945> + 23055: <-0.002922, -0.000822, 0.007919> + 23056: <-0.002527, -0.000415, 0.008062> + 23057: <-0.002530, 0.000000, 0.008070> + 23058: <-0.002934, 0.000000, 0.007953> + 23059: <-0.002931, -0.000412, 0.007945> + 23060: <-0.002530, 0.000000, 0.008070> + 23061: <-0.002527, 0.000415, 0.008062> + 23062: <-0.002931, 0.000412, 0.007945> + 23063: <-0.002934, 0.000000, 0.007953> + 23064: <-0.002527, 0.000415, 0.008062> + 23065: <-0.002519, 0.000829, 0.008036> + 23066: <-0.002922, 0.000822, 0.007919> + 23067: <-0.002931, 0.000412, 0.007945> + 23068: <-0.002519, 0.000829, 0.008036> + 23069: <-0.002507, 0.001241, 0.007992> + 23070: <-0.002908, 0.001230, 0.007876> + 23071: <-0.002922, 0.000822, 0.007919> + 23072: <-0.002507, 0.001241, 0.007992> + 23073: <-0.002492, 0.001650, 0.007932> + 23074: <-0.002890, 0.001635, 0.007817> + 23075: <-0.002908, 0.001230, 0.007876> + 23076: <-0.002492, 0.001650, 0.007932> + 23077: <-0.002473, 0.002053, 0.007854> + 23078: <-0.002868, 0.002035, 0.007740> + 23079: <-0.002890, 0.001635, 0.007817> + 23080: <-0.002473, 0.002053, 0.007854> + 23081: <-0.002452, 0.002452, 0.007759> + 23082: <-0.002843, 0.002429, 0.007648> + 23083: <-0.002868, 0.002035, 0.007740> + 23084: <-0.002452, 0.002452, 0.007759> + 23085: <-0.002429, 0.002843, 0.007648> + 23086: <-0.002816, 0.002816, 0.007538> + 23087: <-0.002843, 0.002429, 0.007648> + 23088: <-0.002429, 0.002843, 0.007648> + 23089: <-0.002405, 0.003227, 0.007519> + 23090: <-0.002787, 0.003195, 0.007412> + 23091: <-0.002816, 0.002816, 0.007538> + 23092: <-0.002405, 0.003227, 0.007519> + 23093: <-0.002380, 0.003601, 0.007374> + 23094: <-0.002758, 0.003565, 0.007270> + 23095: <-0.002787, 0.003195, 0.007412> + 23096: <-0.002380, 0.003601, 0.007374> + 23097: <-0.002356, 0.003965, 0.007212> + 23098: <-0.002729, 0.003924, 0.007112> + 23099: <-0.002758, 0.003565, 0.007270> + 23100: <-0.002356, 0.003965, 0.007212> + 23101: <-0.002333, 0.004318, 0.007033> + 23102: <-0.002701, 0.004273, 0.006937> + 23103: <-0.002729, 0.003924, 0.007112> + 23104: <-0.002333, 0.004318, 0.007033> + 23105: <-0.002313, 0.004659, 0.006836> + 23106: <-0.002676, 0.004609, 0.006745> + 23107: <-0.002701, 0.004273, 0.006937> + 23108: <-0.002313, 0.004659, 0.006836> + 23109: <-0.002295, 0.004987, 0.006623> + 23110: <-0.002655, 0.004931, 0.006537> + 23111: <-0.002676, 0.004609, 0.006745> + 23112: <-0.002295, 0.004987, 0.006623> + 23113: <-0.002281, 0.005301, 0.006393> + 23114: <-0.002638, 0.005240, 0.006311> + 23115: <-0.002655, 0.004931, 0.006537> + 23116: <-0.002281, 0.005301, 0.006393> + 23117: <-0.002272, 0.005599, 0.006146> + 23118: <-0.002627, 0.005533, 0.006069> + 23119: <-0.002638, 0.005240, 0.006311> + 23120: <-0.002627, -0.005533, 0.006069> + 23121: <-0.002638, -0.005240, 0.006311> + 23122: <-0.002984, -0.005172, 0.006219> + 23123: <-0.002971, -0.005459, 0.005983> + 23124: <-0.002638, -0.005240, 0.006311> + 23125: <-0.002655, -0.004931, 0.006537> + 23126: <-0.003004, -0.004870, 0.006439> + 23127: <-0.002984, -0.005172, 0.006219> + 23128: <-0.002655, -0.004931, 0.006537> + 23129: <-0.002676, -0.004609, 0.006745> + 23130: <-0.003030, -0.004553, 0.006641> + 23131: <-0.003004, -0.004870, 0.006439> + 23132: <-0.002676, -0.004609, 0.006745> + 23133: <-0.002701, -0.004273, 0.006937> + 23134: <-0.003060, -0.004223, 0.006828> + 23135: <-0.003030, -0.004553, 0.006641> + 23136: <-0.002701, -0.004273, 0.006937> + 23137: <-0.002729, -0.003924, 0.007112> + 23138: <-0.003093, -0.003880, 0.006998> + 23139: <-0.003060, -0.004223, 0.006828> + 23140: <-0.002729, -0.003924, 0.007112> + 23141: <-0.002758, -0.003565, 0.007270> + 23142: <-0.003127, -0.003526, 0.007152> + 23143: <-0.003093, -0.003880, 0.006998> + 23144: <-0.002758, -0.003565, 0.007270> + 23145: <-0.002787, -0.003195, 0.007412> + 23146: <-0.003162, -0.003162, 0.007290> + 23147: <-0.003127, -0.003526, 0.007152> + 23148: <-0.002787, -0.003195, 0.007412> + 23149: <-0.002816, -0.002816, 0.007538> + 23150: <-0.003195, -0.002787, 0.007412> + 23151: <-0.003162, -0.003162, 0.007290> + 23152: <-0.002816, -0.002816, 0.007538> + 23153: <-0.002843, -0.002429, 0.007648> + 23154: <-0.003227, -0.002405, 0.007519> + 23155: <-0.003195, -0.002787, 0.007412> + 23156: <-0.002843, -0.002429, 0.007648> + 23157: <-0.002868, -0.002035, 0.007740> + 23158: <-0.003255, -0.002015, 0.007610> + 23159: <-0.003227, -0.002405, 0.007519> + 23160: <-0.002868, -0.002035, 0.007740> + 23161: <-0.002890, -0.001635, 0.007817> + 23162: <-0.003281, -0.001619, 0.007684> + 23163: <-0.003255, -0.002015, 0.007610> + 23164: <-0.002890, -0.001635, 0.007817> + 23165: <-0.002908, -0.001230, 0.007876> + 23166: <-0.003302, -0.001219, 0.007743> + 23167: <-0.003281, -0.001619, 0.007684> + 23168: <-0.002908, -0.001230, 0.007876> + 23169: <-0.002922, -0.000822, 0.007919> + 23170: <-0.003318, -0.000814, 0.007785> + 23171: <-0.003302, -0.001219, 0.007743> + 23172: <-0.002922, -0.000822, 0.007919> + 23173: <-0.002931, -0.000412, 0.007945> + 23174: <-0.003328, -0.000408, 0.007810> + 23175: <-0.003318, -0.000814, 0.007785> + 23176: <-0.002931, -0.000412, 0.007945> + 23177: <-0.002934, 0.000000, 0.007953> + 23178: <-0.003331, 0.000000, 0.007818> + 23179: <-0.003328, -0.000408, 0.007810> + 23180: <-0.002934, 0.000000, 0.007953> + 23181: <-0.002931, 0.000412, 0.007945> + 23182: <-0.003328, 0.000408, 0.007810> + 23183: <-0.003331, 0.000000, 0.007818> + 23184: <-0.002931, 0.000412, 0.007945> + 23185: <-0.002922, 0.000822, 0.007919> + 23186: <-0.003318, 0.000814, 0.007785> + 23187: <-0.003328, 0.000408, 0.007810> + 23188: <-0.002922, 0.000822, 0.007919> + 23189: <-0.002908, 0.001230, 0.007876> + 23190: <-0.003302, 0.001219, 0.007743> + 23191: <-0.003318, 0.000814, 0.007785> + 23192: <-0.002908, 0.001230, 0.007876> + 23193: <-0.002890, 0.001635, 0.007817> + 23194: <-0.003281, 0.001619, 0.007684> + 23195: <-0.003302, 0.001219, 0.007743> + 23196: <-0.002890, 0.001635, 0.007817> + 23197: <-0.002868, 0.002035, 0.007740> + 23198: <-0.003255, 0.002015, 0.007610> + 23199: <-0.003281, 0.001619, 0.007684> + 23200: <-0.002868, 0.002035, 0.007740> + 23201: <-0.002843, 0.002429, 0.007648> + 23202: <-0.003227, 0.002405, 0.007519> + 23203: <-0.003255, 0.002015, 0.007610> + 23204: <-0.002843, 0.002429, 0.007648> + 23205: <-0.002816, 0.002816, 0.007538> + 23206: <-0.003195, 0.002787, 0.007412> + 23207: <-0.003227, 0.002405, 0.007519> + 23208: <-0.002816, 0.002816, 0.007538> + 23209: <-0.002787, 0.003195, 0.007412> + 23210: <-0.003162, 0.003162, 0.007290> + 23211: <-0.003195, 0.002787, 0.007412> + 23212: <-0.002787, 0.003195, 0.007412> + 23213: <-0.002758, 0.003565, 0.007270> + 23214: <-0.003127, 0.003526, 0.007152> + 23215: <-0.003162, 0.003162, 0.007290> + 23216: <-0.002758, 0.003565, 0.007270> + 23217: <-0.002729, 0.003924, 0.007112> + 23218: <-0.003093, 0.003880, 0.006998> + 23219: <-0.003127, 0.003526, 0.007152> + 23220: <-0.002729, 0.003924, 0.007112> + 23221: <-0.002701, 0.004273, 0.006937> + 23222: <-0.003060, 0.004223, 0.006828> + 23223: <-0.003093, 0.003880, 0.006998> + 23224: <-0.002701, 0.004273, 0.006937> + 23225: <-0.002676, 0.004609, 0.006745> + 23226: <-0.003030, 0.004553, 0.006641> + 23227: <-0.003060, 0.004223, 0.006828> + 23228: <-0.002676, 0.004609, 0.006745> + 23229: <-0.002655, 0.004931, 0.006537> + 23230: <-0.003004, 0.004870, 0.006439> + 23231: <-0.003030, 0.004553, 0.006641> + 23232: <-0.002655, 0.004931, 0.006537> + 23233: <-0.002638, 0.005240, 0.006311> + 23234: <-0.002984, 0.005172, 0.006219> + 23235: <-0.003004, 0.004870, 0.006439> + 23236: <-0.002638, 0.005240, 0.006311> + 23237: <-0.002627, 0.005533, 0.006069> + 23238: <-0.002971, 0.005459, 0.005983> + 23239: <-0.002984, 0.005172, 0.006219> + 23240: <-0.002971, -0.005459, 0.005983> + 23241: <-0.002984, -0.005172, 0.006219> + 23242: <-0.003318, -0.005099, 0.006117> + 23243: <-0.003302, -0.005379, 0.005888> + 23244: <-0.002984, -0.005172, 0.006219> + 23245: <-0.003004, -0.004870, 0.006439> + 23246: <-0.003342, -0.004804, 0.006329> + 23247: <-0.003318, -0.005099, 0.006117> + 23248: <-0.003004, -0.004870, 0.006439> + 23249: <-0.003030, -0.004553, 0.006641> + 23250: <-0.003372, -0.004494, 0.006525> + 23251: <-0.003342, -0.004804, 0.006329> + 23252: <-0.003030, -0.004553, 0.006641> + 23253: <-0.003060, -0.004223, 0.006828> + 23254: <-0.003407, -0.004170, 0.006705> + 23255: <-0.003372, -0.004494, 0.006525> + 23256: <-0.003060, -0.004223, 0.006828> + 23257: <-0.003093, -0.003880, 0.006998> + 23258: <-0.003446, -0.003834, 0.006870> + 23259: <-0.003407, -0.004170, 0.006705> + 23260: <-0.003093, -0.003880, 0.006998> + 23261: <-0.003127, -0.003526, 0.007152> + 23262: <-0.003486, -0.003486, 0.007018> + 23263: <-0.003446, -0.003834, 0.006870> + 23264: <-0.003127, -0.003526, 0.007152> + 23265: <-0.003162, -0.003162, 0.007290> + 23266: <-0.003526, -0.003127, 0.007152> + 23267: <-0.003486, -0.003486, 0.007018> + 23268: <-0.003162, -0.003162, 0.007290> + 23269: <-0.003195, -0.002787, 0.007412> + 23270: <-0.003565, -0.002758, 0.007270> + 23271: <-0.003526, -0.003127, 0.007152> + 23272: <-0.003195, -0.002787, 0.007412> + 23273: <-0.003227, -0.002405, 0.007519> + 23274: <-0.003601, -0.002380, 0.007374> + 23275: <-0.003565, -0.002758, 0.007270> + 23276: <-0.003227, -0.002405, 0.007519> + 23277: <-0.003255, -0.002015, 0.007610> + 23278: <-0.003634, -0.001995, 0.007462> + 23279: <-0.003601, -0.002380, 0.007374> + 23280: <-0.003255, -0.002015, 0.007610> + 23281: <-0.003281, -0.001619, 0.007684> + 23282: <-0.003663, -0.001603, 0.007535> + 23283: <-0.003634, -0.001995, 0.007462> + 23284: <-0.003281, -0.001619, 0.007684> + 23285: <-0.003302, -0.001219, 0.007743> + 23286: <-0.003686, -0.001207, 0.007591> + 23287: <-0.003663, -0.001603, 0.007535> + 23288: <-0.003302, -0.001219, 0.007743> + 23289: <-0.003318, -0.000814, 0.007785> + 23290: <-0.003704, -0.000807, 0.007632> + 23291: <-0.003686, -0.001207, 0.007591> + 23292: <-0.003318, -0.000814, 0.007785> + 23293: <-0.003328, -0.000408, 0.007810> + 23294: <-0.003716, -0.000404, 0.007657> + 23295: <-0.003704, -0.000807, 0.007632> + 23296: <-0.003328, -0.000408, 0.007810> + 23297: <-0.003331, 0.000000, 0.007818> + 23298: <-0.003720, 0.000000, 0.007665> + 23299: <-0.003716, -0.000404, 0.007657> + 23300: <-0.003331, 0.000000, 0.007818> + 23301: <-0.003328, 0.000408, 0.007810> + 23302: <-0.003716, 0.000404, 0.007657> + 23303: <-0.003720, 0.000000, 0.007665> + 23304: <-0.003328, 0.000408, 0.007810> + 23305: <-0.003318, 0.000814, 0.007785> + 23306: <-0.003704, 0.000807, 0.007632> + 23307: <-0.003716, 0.000404, 0.007657> + 23308: <-0.003318, 0.000814, 0.007785> + 23309: <-0.003302, 0.001219, 0.007743> + 23310: <-0.003686, 0.001207, 0.007591> + 23311: <-0.003704, 0.000807, 0.007632> + 23312: <-0.003302, 0.001219, 0.007743> + 23313: <-0.003281, 0.001619, 0.007684> + 23314: <-0.003663, 0.001603, 0.007535> + 23315: <-0.003686, 0.001207, 0.007591> + 23316: <-0.003281, 0.001619, 0.007684> + 23317: <-0.003255, 0.002015, 0.007610> + 23318: <-0.003634, 0.001995, 0.007462> + 23319: <-0.003663, 0.001603, 0.007535> + 23320: <-0.003255, 0.002015, 0.007610> + 23321: <-0.003227, 0.002405, 0.007519> + 23322: <-0.003601, 0.002380, 0.007374> + 23323: <-0.003634, 0.001995, 0.007462> + 23324: <-0.003227, 0.002405, 0.007519> + 23325: <-0.003195, 0.002787, 0.007412> + 23326: <-0.003565, 0.002758, 0.007270> + 23327: <-0.003601, 0.002380, 0.007374> + 23328: <-0.003195, 0.002787, 0.007412> + 23329: <-0.003162, 0.003162, 0.007290> + 23330: <-0.003526, 0.003127, 0.007152> + 23331: <-0.003565, 0.002758, 0.007270> + 23332: <-0.003162, 0.003162, 0.007290> + 23333: <-0.003127, 0.003526, 0.007152> + 23334: <-0.003486, 0.003486, 0.007018> + 23335: <-0.003526, 0.003127, 0.007152> + 23336: <-0.003127, 0.003526, 0.007152> + 23337: <-0.003093, 0.003880, 0.006998> + 23338: <-0.003446, 0.003834, 0.006870> + 23339: <-0.003486, 0.003486, 0.007018> + 23340: <-0.003093, 0.003880, 0.006998> + 23341: <-0.003060, 0.004223, 0.006828> + 23342: <-0.003407, 0.004170, 0.006705> + 23343: <-0.003446, 0.003834, 0.006870> + 23344: <-0.003060, 0.004223, 0.006828> + 23345: <-0.003030, 0.004553, 0.006641> + 23346: <-0.003372, 0.004494, 0.006525> + 23347: <-0.003407, 0.004170, 0.006705> + 23348: <-0.003030, 0.004553, 0.006641> + 23349: <-0.003004, 0.004870, 0.006439> + 23350: <-0.003342, 0.004804, 0.006329> + 23351: <-0.003372, 0.004494, 0.006525> + 23352: <-0.003004, 0.004870, 0.006439> + 23353: <-0.002984, 0.005172, 0.006219> + 23354: <-0.003318, 0.005099, 0.006117> + 23355: <-0.003342, 0.004804, 0.006329> + 23356: <-0.002984, 0.005172, 0.006219> + 23357: <-0.002971, 0.005459, 0.005983> + 23358: <-0.003302, 0.005379, 0.005888> + 23359: <-0.003318, 0.005099, 0.006117> + 23360: <-0.003302, -0.005379, 0.005888> + 23361: <-0.003318, -0.005099, 0.006117> + 23362: <-0.003637, -0.005023, 0.006006> + 23363: <-0.003619, -0.005294, 0.005786> + 23364: <-0.003318, -0.005099, 0.006117> + 23365: <-0.003342, -0.004804, 0.006329> + 23366: <-0.003666, -0.004736, 0.006210> + 23367: <-0.003637, -0.005023, 0.006006> + 23368: <-0.003342, -0.004804, 0.006329> + 23369: <-0.003372, -0.004494, 0.006525> + 23370: <-0.003701, -0.004434, 0.006397> + 23371: <-0.003666, -0.004736, 0.006210> + 23372: <-0.003372, -0.004494, 0.006525> + 23373: <-0.003407, -0.004170, 0.006705> + 23374: <-0.003743, -0.004117, 0.006570> + 23375: <-0.003701, -0.004434, 0.006397> + 23376: <-0.003407, -0.004170, 0.006705> + 23377: <-0.003446, -0.003834, 0.006870> + 23378: <-0.003788, -0.003788, 0.006727> + 23379: <-0.003743, -0.004117, 0.006570> + 23380: <-0.003446, -0.003834, 0.006870> + 23381: <-0.003486, -0.003486, 0.007018> + 23382: <-0.003834, -0.003446, 0.006870> + 23383: <-0.003788, -0.003788, 0.006727> + 23384: <-0.003486, -0.003486, 0.007018> + 23385: <-0.003526, -0.003127, 0.007152> + 23386: <-0.003880, -0.003093, 0.006998> + 23387: <-0.003834, -0.003446, 0.006870> + 23388: <-0.003526, -0.003127, 0.007152> + 23389: <-0.003565, -0.002758, 0.007270> + 23390: <-0.003924, -0.002729, 0.007112> + 23391: <-0.003880, -0.003093, 0.006998> + 23392: <-0.003565, -0.002758, 0.007270> + 23393: <-0.003601, -0.002380, 0.007374> + 23394: <-0.003965, -0.002356, 0.007212> + 23395: <-0.003924, -0.002729, 0.007112> + 23396: <-0.003601, -0.002380, 0.007374> + 23397: <-0.003634, -0.001995, 0.007462> + 23398: <-0.004002, -0.001975, 0.007297> + 23399: <-0.003965, -0.002356, 0.007212> + 23400: <-0.003634, -0.001995, 0.007462> + 23401: <-0.003663, -0.001603, 0.007535> + 23402: <-0.004034, -0.001588, 0.007367> + 23403: <-0.004002, -0.001975, 0.007297> + 23404: <-0.003663, -0.001603, 0.007535> + 23405: <-0.003686, -0.001207, 0.007591> + 23406: <-0.004061, -0.001196, 0.007423> + 23407: <-0.004034, -0.001588, 0.007367> + 23408: <-0.003686, -0.001207, 0.007591> + 23409: <-0.003704, -0.000807, 0.007632> + 23410: <-0.004081, -0.000799, 0.007462> + 23411: <-0.004061, -0.001196, 0.007423> + 23412: <-0.003704, -0.000807, 0.007632> + 23413: <-0.003716, -0.000404, 0.007657> + 23414: <-0.004093, -0.000400, 0.007487> + 23415: <-0.004081, -0.000799, 0.007462> + 23416: <-0.003716, -0.000404, 0.007657> + 23417: <-0.003720, 0.000000, 0.007665> + 23418: <-0.004098, 0.000000, 0.007495> + 23419: <-0.004093, -0.000400, 0.007487> + 23420: <-0.003720, 0.000000, 0.007665> + 23421: <-0.003716, 0.000404, 0.007657> + 23422: <-0.004093, 0.000400, 0.007487> + 23423: <-0.004098, 0.000000, 0.007495> + 23424: <-0.003716, 0.000404, 0.007657> + 23425: <-0.003704, 0.000807, 0.007632> + 23426: <-0.004081, 0.000799, 0.007462> + 23427: <-0.004093, 0.000400, 0.007487> + 23428: <-0.003704, 0.000807, 0.007632> + 23429: <-0.003686, 0.001207, 0.007591> + 23430: <-0.004061, 0.001196, 0.007423> + 23431: <-0.004081, 0.000799, 0.007462> + 23432: <-0.003686, 0.001207, 0.007591> + 23433: <-0.003663, 0.001603, 0.007535> + 23434: <-0.004034, 0.001588, 0.007367> + 23435: <-0.004061, 0.001196, 0.007423> + 23436: <-0.003663, 0.001603, 0.007535> + 23437: <-0.003634, 0.001995, 0.007462> + 23438: <-0.004002, 0.001975, 0.007297> + 23439: <-0.004034, 0.001588, 0.007367> + 23440: <-0.003634, 0.001995, 0.007462> + 23441: <-0.003601, 0.002380, 0.007374> + 23442: <-0.003965, 0.002356, 0.007212> + 23443: <-0.004002, 0.001975, 0.007297> + 23444: <-0.003601, 0.002380, 0.007374> + 23445: <-0.003565, 0.002758, 0.007270> + 23446: <-0.003924, 0.002729, 0.007112> + 23447: <-0.003965, 0.002356, 0.007212> + 23448: <-0.003565, 0.002758, 0.007270> + 23449: <-0.003526, 0.003127, 0.007152> + 23450: <-0.003880, 0.003093, 0.006998> + 23451: <-0.003924, 0.002729, 0.007112> + 23452: <-0.003526, 0.003127, 0.007152> + 23453: <-0.003486, 0.003486, 0.007018> + 23454: <-0.003834, 0.003446, 0.006870> + 23455: <-0.003880, 0.003093, 0.006998> + 23456: <-0.003486, 0.003486, 0.007018> + 23457: <-0.003446, 0.003834, 0.006870> + 23458: <-0.003788, 0.003788, 0.006727> + 23459: <-0.003834, 0.003446, 0.006870> + 23460: <-0.003446, 0.003834, 0.006870> + 23461: <-0.003407, 0.004170, 0.006705> + 23462: <-0.003743, 0.004117, 0.006570> + 23463: <-0.003788, 0.003788, 0.006727> + 23464: <-0.003407, 0.004170, 0.006705> + 23465: <-0.003372, 0.004494, 0.006525> + 23466: <-0.003701, 0.004434, 0.006397> + 23467: <-0.003743, 0.004117, 0.006570> + 23468: <-0.003372, 0.004494, 0.006525> + 23469: <-0.003342, 0.004804, 0.006329> + 23470: <-0.003666, 0.004736, 0.006210> + 23471: <-0.003701, 0.004434, 0.006397> + 23472: <-0.003342, 0.004804, 0.006329> + 23473: <-0.003318, 0.005099, 0.006117> + 23474: <-0.003637, 0.005023, 0.006006> + 23475: <-0.003666, 0.004736, 0.006210> + 23476: <-0.003318, 0.005099, 0.006117> + 23477: <-0.003302, 0.005379, 0.005888> + 23478: <-0.003619, 0.005294, 0.005786> + 23479: <-0.003637, 0.005023, 0.006006> + 23480: <-0.003619, -0.005294, 0.005786> + 23481: <-0.003637, -0.005023, 0.006006> + 23482: <-0.003941, -0.004946, 0.005887> + 23483: <-0.003918, -0.005207, 0.005678> + 23484: <-0.003637, -0.005023, 0.006006> + 23485: <-0.003666, -0.004736, 0.006210> + 23486: <-0.003975, -0.004668, 0.006080> + 23487: <-0.003941, -0.004946, 0.005887> + 23488: <-0.003666, -0.004736, 0.006210> + 23489: <-0.003701, -0.004434, 0.006397> + 23490: <-0.004017, -0.004374, 0.006257> + 23491: <-0.003975, -0.004668, 0.006080> + 23492: <-0.003701, -0.004434, 0.006397> + 23493: <-0.003743, -0.004117, 0.006570> + 23494: <-0.004065, -0.004065, 0.006421> + 23495: <-0.004017, -0.004374, 0.006257> + 23496: <-0.003743, -0.004117, 0.006570> + 23497: <-0.003788, -0.003788, 0.006727> + 23498: <-0.004117, -0.003743, 0.006570> + 23499: <-0.004065, -0.004065, 0.006421> + 23500: <-0.003788, -0.003788, 0.006727> + 23501: <-0.003834, -0.003446, 0.006870> + 23502: <-0.004170, -0.003407, 0.006705> + 23503: <-0.004117, -0.003743, 0.006570> + 23504: <-0.003834, -0.003446, 0.006870> + 23505: <-0.003880, -0.003093, 0.006998> + 23506: <-0.004223, -0.003060, 0.006828> + 23507: <-0.004170, -0.003407, 0.006705> + 23508: <-0.003880, -0.003093, 0.006998> + 23509: <-0.003924, -0.002729, 0.007112> + 23510: <-0.004273, -0.002701, 0.006937> + 23511: <-0.004223, -0.003060, 0.006828> + 23512: <-0.003924, -0.002729, 0.007112> + 23513: <-0.003965, -0.002356, 0.007212> + 23514: <-0.004318, -0.002333, 0.007033> + 23515: <-0.004273, -0.002701, 0.006937> + 23516: <-0.003965, -0.002356, 0.007212> + 23517: <-0.004002, -0.001975, 0.007297> + 23518: <-0.004360, -0.001957, 0.007115> + 23519: <-0.004318, -0.002333, 0.007033> + 23520: <-0.004002, -0.001975, 0.007297> + 23521: <-0.004034, -0.001588, 0.007367> + 23522: <-0.004395, -0.001574, 0.007183> + 23523: <-0.004360, -0.001957, 0.007115> + 23524: <-0.004034, -0.001588, 0.007367> + 23525: <-0.004061, -0.001196, 0.007423> + 23526: <-0.004424, -0.001185, 0.007236> + 23527: <-0.004395, -0.001574, 0.007183> + 23528: <-0.004061, -0.001196, 0.007423> + 23529: <-0.004081, -0.000799, 0.007462> + 23530: <-0.004446, -0.000792, 0.007275> + 23531: <-0.004424, -0.001185, 0.007236> + 23532: <-0.004081, -0.000799, 0.007462> + 23533: <-0.004093, -0.000400, 0.007487> + 23534: <-0.004460, -0.000397, 0.007298> + 23535: <-0.004446, -0.000792, 0.007275> + 23536: <-0.004093, -0.000400, 0.007487> + 23537: <-0.004098, 0.000000, 0.007495> + 23538: <-0.004465, 0.000000, 0.007306> + 23539: <-0.004460, -0.000397, 0.007298> + 23540: <-0.004098, 0.000000, 0.007495> + 23541: <-0.004093, 0.000400, 0.007487> + 23542: <-0.004460, 0.000397, 0.007298> + 23543: <-0.004465, 0.000000, 0.007306> + 23544: <-0.004093, 0.000400, 0.007487> + 23545: <-0.004081, 0.000799, 0.007462> + 23546: <-0.004446, 0.000792, 0.007275> + 23547: <-0.004460, 0.000397, 0.007298> + 23548: <-0.004081, 0.000799, 0.007462> + 23549: <-0.004061, 0.001196, 0.007423> + 23550: <-0.004424, 0.001185, 0.007236> + 23551: <-0.004446, 0.000792, 0.007275> + 23552: <-0.004061, 0.001196, 0.007423> + 23553: <-0.004034, 0.001588, 0.007367> + 23554: <-0.004395, 0.001574, 0.007183> + 23555: <-0.004424, 0.001185, 0.007236> + 23556: <-0.004034, 0.001588, 0.007367> + 23557: <-0.004002, 0.001975, 0.007297> + 23558: <-0.004360, 0.001957, 0.007115> + 23559: <-0.004395, 0.001574, 0.007183> + 23560: <-0.004002, 0.001975, 0.007297> + 23561: <-0.003965, 0.002356, 0.007212> + 23562: <-0.004318, 0.002333, 0.007033> + 23563: <-0.004360, 0.001957, 0.007115> + 23564: <-0.003965, 0.002356, 0.007212> + 23565: <-0.003924, 0.002729, 0.007112> + 23566: <-0.004273, 0.002701, 0.006937> + 23567: <-0.004318, 0.002333, 0.007033> + 23568: <-0.003924, 0.002729, 0.007112> + 23569: <-0.003880, 0.003093, 0.006998> + 23570: <-0.004223, 0.003060, 0.006828> + 23571: <-0.004273, 0.002701, 0.006937> + 23572: <-0.003880, 0.003093, 0.006998> + 23573: <-0.003834, 0.003446, 0.006870> + 23574: <-0.004170, 0.003407, 0.006705> + 23575: <-0.004223, 0.003060, 0.006828> + 23576: <-0.003834, 0.003446, 0.006870> + 23577: <-0.003788, 0.003788, 0.006727> + 23578: <-0.004117, 0.003743, 0.006570> + 23579: <-0.004170, 0.003407, 0.006705> + 23580: <-0.003788, 0.003788, 0.006727> + 23581: <-0.003743, 0.004117, 0.006570> + 23582: <-0.004065, 0.004065, 0.006421> + 23583: <-0.004117, 0.003743, 0.006570> + 23584: <-0.003743, 0.004117, 0.006570> + 23585: <-0.003701, 0.004434, 0.006397> + 23586: <-0.004017, 0.004374, 0.006257> + 23587: <-0.004065, 0.004065, 0.006421> + 23588: <-0.003701, 0.004434, 0.006397> + 23589: <-0.003666, 0.004736, 0.006210> + 23590: <-0.003975, 0.004668, 0.006080> + 23591: <-0.004017, 0.004374, 0.006257> + 23592: <-0.003666, 0.004736, 0.006210> + 23593: <-0.003637, 0.005023, 0.006006> + 23594: <-0.003941, 0.004946, 0.005887> + 23595: <-0.003975, 0.004668, 0.006080> + 23596: <-0.003637, 0.005023, 0.006006> + 23597: <-0.003619, 0.005294, 0.005786> + 23598: <-0.003918, 0.005207, 0.005678> + 23599: <-0.003941, 0.004946, 0.005887> + 23600: <-0.003918, -0.005207, 0.005678> + 23601: <-0.003941, -0.004946, 0.005887> + 23602: <-0.004226, -0.004870, 0.005760> + 23603: <-0.004199, -0.005120, 0.005564> + 23604: <-0.003941, -0.004946, 0.005887> + 23605: <-0.003975, -0.004668, 0.006080> + 23606: <-0.004267, -0.004602, 0.005939> + 23607: <-0.004226, -0.004870, 0.005760> + 23608: <-0.003975, -0.004668, 0.006080> + 23609: <-0.004017, -0.004374, 0.006257> + 23610: <-0.004318, -0.004318, 0.006105> + 23611: <-0.004267, -0.004602, 0.005939> + 23612: <-0.004017, -0.004374, 0.006257> + 23613: <-0.004065, -0.004065, 0.006421> + 23614: <-0.004374, -0.004017, 0.006257> + 23615: <-0.004318, -0.004318, 0.006105> + 23616: <-0.004065, -0.004065, 0.006421> + 23617: <-0.004117, -0.003743, 0.006570> + 23618: <-0.004434, -0.003701, 0.006397> + 23619: <-0.004374, -0.004017, 0.006257> + 23620: <-0.004117, -0.003743, 0.006570> + 23621: <-0.004170, -0.003407, 0.006705> + 23622: <-0.004494, -0.003372, 0.006525> + 23623: <-0.004434, -0.003701, 0.006397> + 23624: <-0.004170, -0.003407, 0.006705> + 23625: <-0.004223, -0.003060, 0.006828> + 23626: <-0.004553, -0.003030, 0.006641> + 23627: <-0.004494, -0.003372, 0.006525> + 23628: <-0.004223, -0.003060, 0.006828> + 23629: <-0.004273, -0.002701, 0.006937> + 23630: <-0.004609, -0.002676, 0.006745> + 23631: <-0.004553, -0.003030, 0.006641> + 23632: <-0.004273, -0.002701, 0.006937> + 23633: <-0.004318, -0.002333, 0.007033> + 23634: <-0.004659, -0.002313, 0.006836> + 23635: <-0.004609, -0.002676, 0.006745> + 23636: <-0.004318, -0.002333, 0.007033> + 23637: <-0.004360, -0.001957, 0.007115> + 23638: <-0.004705, -0.001940, 0.006915> + 23639: <-0.004659, -0.002313, 0.006836> + 23640: <-0.004360, -0.001957, 0.007115> + 23641: <-0.004395, -0.001574, 0.007183> + 23642: <-0.004744, -0.001561, 0.006980> + 23643: <-0.004705, -0.001940, 0.006915> + 23644: <-0.004395, -0.001574, 0.007183> + 23645: <-0.004424, -0.001185, 0.007236> + 23646: <-0.004776, -0.001176, 0.007032> + 23647: <-0.004744, -0.001561, 0.006980> + 23648: <-0.004424, -0.001185, 0.007236> + 23649: <-0.004446, -0.000792, 0.007275> + 23650: <-0.004800, -0.000786, 0.007069> + 23651: <-0.004776, -0.001176, 0.007032> + 23652: <-0.004446, -0.000792, 0.007275> + 23653: <-0.004460, -0.000397, 0.007298> + 23654: <-0.004815, -0.000394, 0.007092> + 23655: <-0.004800, -0.000786, 0.007069> + 23656: <-0.004460, -0.000397, 0.007298> + 23657: <-0.004465, 0.000000, 0.007306> + 23658: <-0.004820, 0.000000, 0.007099> + 23659: <-0.004815, -0.000394, 0.007092> + 23660: <-0.004465, 0.000000, 0.007306> + 23661: <-0.004460, 0.000397, 0.007298> + 23662: <-0.004815, 0.000394, 0.007092> + 23663: <-0.004820, 0.000000, 0.007099> + 23664: <-0.004460, 0.000397, 0.007298> + 23665: <-0.004446, 0.000792, 0.007275> + 23666: <-0.004800, 0.000786, 0.007069> + 23667: <-0.004815, 0.000394, 0.007092> + 23668: <-0.004446, 0.000792, 0.007275> + 23669: <-0.004424, 0.001185, 0.007236> + 23670: <-0.004776, 0.001176, 0.007032> + 23671: <-0.004800, 0.000786, 0.007069> + 23672: <-0.004424, 0.001185, 0.007236> + 23673: <-0.004395, 0.001574, 0.007183> + 23674: <-0.004744, 0.001561, 0.006980> + 23675: <-0.004776, 0.001176, 0.007032> + 23676: <-0.004395, 0.001574, 0.007183> + 23677: <-0.004360, 0.001957, 0.007115> + 23678: <-0.004705, 0.001940, 0.006915> + 23679: <-0.004744, 0.001561, 0.006980> + 23680: <-0.004360, 0.001957, 0.007115> + 23681: <-0.004318, 0.002333, 0.007033> + 23682: <-0.004659, 0.002313, 0.006836> + 23683: <-0.004705, 0.001940, 0.006915> + 23684: <-0.004318, 0.002333, 0.007033> + 23685: <-0.004273, 0.002701, 0.006937> + 23686: <-0.004609, 0.002676, 0.006745> + 23687: <-0.004659, 0.002313, 0.006836> + 23688: <-0.004273, 0.002701, 0.006937> + 23689: <-0.004223, 0.003060, 0.006828> + 23690: <-0.004553, 0.003030, 0.006641> + 23691: <-0.004609, 0.002676, 0.006745> + 23692: <-0.004223, 0.003060, 0.006828> + 23693: <-0.004170, 0.003407, 0.006705> + 23694: <-0.004494, 0.003372, 0.006525> + 23695: <-0.004553, 0.003030, 0.006641> + 23696: <-0.004170, 0.003407, 0.006705> + 23697: <-0.004117, 0.003743, 0.006570> + 23698: <-0.004434, 0.003701, 0.006397> + 23699: <-0.004494, 0.003372, 0.006525> + 23700: <-0.004117, 0.003743, 0.006570> + 23701: <-0.004065, 0.004065, 0.006421> + 23702: <-0.004374, 0.004017, 0.006257> + 23703: <-0.004434, 0.003701, 0.006397> + 23704: <-0.004065, 0.004065, 0.006421> + 23705: <-0.004017, 0.004374, 0.006257> + 23706: <-0.004318, 0.004318, 0.006105> + 23707: <-0.004374, 0.004017, 0.006257> + 23708: <-0.004017, 0.004374, 0.006257> + 23709: <-0.003975, 0.004668, 0.006080> + 23710: <-0.004267, 0.004602, 0.005939> + 23711: <-0.004318, 0.004318, 0.006105> + 23712: <-0.003975, 0.004668, 0.006080> + 23713: <-0.003941, 0.004946, 0.005887> + 23714: <-0.004226, 0.004870, 0.005760> + 23715: <-0.004267, 0.004602, 0.005939> + 23716: <-0.003941, 0.004946, 0.005887> + 23717: <-0.003918, 0.005207, 0.005678> + 23718: <-0.004199, 0.005120, 0.005564> + 23719: <-0.004226, 0.004870, 0.005760> + 23720: <-0.004199, -0.005120, 0.005564> + 23721: <-0.004226, -0.004870, 0.005760> + 23722: <-0.004494, -0.004798, 0.005623> + 23723: <-0.004460, -0.005034, 0.005446> + 23724: <-0.004226, -0.004870, 0.005760> + 23725: <-0.004267, -0.004602, 0.005939> + 23726: <-0.004542, -0.004542, 0.005788> + 23727: <-0.004494, -0.004798, 0.005623> + 23728: <-0.004267, -0.004602, 0.005939> + 23729: <-0.004318, -0.004318, 0.006105> + 23730: <-0.004602, -0.004267, 0.005939> + 23731: <-0.004542, -0.004542, 0.005788> + 23732: <-0.004318, -0.004318, 0.006105> + 23733: <-0.004374, -0.004017, 0.006257> + 23734: <-0.004668, -0.003975, 0.006080> + 23735: <-0.004602, -0.004267, 0.005939> + 23736: <-0.004374, -0.004017, 0.006257> + 23737: <-0.004434, -0.003701, 0.006397> + 23738: <-0.004736, -0.003666, 0.006210> + 23739: <-0.004668, -0.003975, 0.006080> + 23740: <-0.004434, -0.003701, 0.006397> + 23741: <-0.004494, -0.003372, 0.006525> + 23742: <-0.004804, -0.003342, 0.006329> + 23743: <-0.004736, -0.003666, 0.006210> + 23744: <-0.004494, -0.003372, 0.006525> + 23745: <-0.004553, -0.003030, 0.006641> + 23746: <-0.004870, -0.003004, 0.006439> + 23747: <-0.004804, -0.003342, 0.006329> + 23748: <-0.004553, -0.003030, 0.006641> + 23749: <-0.004609, -0.002676, 0.006745> + 23750: <-0.004931, -0.002655, 0.006537> + 23751: <-0.004870, -0.003004, 0.006439> + 23752: <-0.004609, -0.002676, 0.006745> + 23753: <-0.004659, -0.002313, 0.006836> + 23754: <-0.004987, -0.002295, 0.006623> + 23755: <-0.004931, -0.002655, 0.006537> + 23756: <-0.004659, -0.002313, 0.006836> + 23757: <-0.004705, -0.001940, 0.006915> + 23758: <-0.005037, -0.001926, 0.006698> + 23759: <-0.004987, -0.002295, 0.006623> + 23760: <-0.004705, -0.001940, 0.006915> + 23761: <-0.004744, -0.001561, 0.006980> + 23762: <-0.005080, -0.001550, 0.006761> + 23763: <-0.005037, -0.001926, 0.006698> + 23764: <-0.004744, -0.001561, 0.006980> + 23765: <-0.004776, -0.001176, 0.007032> + 23766: <-0.005114, -0.001168, 0.006810> + 23767: <-0.005080, -0.001550, 0.006761> + 23768: <-0.004776, -0.001176, 0.007032> + 23769: <-0.004800, -0.000786, 0.007069> + 23770: <-0.005140, -0.000781, 0.006846> + 23771: <-0.005114, -0.001168, 0.006810> + 23772: <-0.004800, -0.000786, 0.007069> + 23773: <-0.004815, -0.000394, 0.007092> + 23774: <-0.005156, -0.000391, 0.006868> + 23775: <-0.005140, -0.000781, 0.006846> + 23776: <-0.004815, -0.000394, 0.007092> + 23777: <-0.004820, 0.000000, 0.007099> + 23778: <-0.005162, 0.000000, 0.006875> + 23779: <-0.005156, -0.000391, 0.006868> + 23780: <-0.004820, 0.000000, 0.007099> + 23781: <-0.004815, 0.000394, 0.007092> + 23782: <-0.005156, 0.000391, 0.006868> + 23783: <-0.005162, 0.000000, 0.006875> + 23784: <-0.004815, 0.000394, 0.007092> + 23785: <-0.004800, 0.000786, 0.007069> + 23786: <-0.005140, 0.000781, 0.006846> + 23787: <-0.005156, 0.000391, 0.006868> + 23788: <-0.004800, 0.000786, 0.007069> + 23789: <-0.004776, 0.001176, 0.007032> + 23790: <-0.005114, 0.001168, 0.006810> + 23791: <-0.005140, 0.000781, 0.006846> + 23792: <-0.004776, 0.001176, 0.007032> + 23793: <-0.004744, 0.001561, 0.006980> + 23794: <-0.005080, 0.001550, 0.006761> + 23795: <-0.005114, 0.001168, 0.006810> + 23796: <-0.004744, 0.001561, 0.006980> + 23797: <-0.004705, 0.001940, 0.006915> + 23798: <-0.005037, 0.001926, 0.006698> + 23799: <-0.005080, 0.001550, 0.006761> + 23800: <-0.004705, 0.001940, 0.006915> + 23801: <-0.004659, 0.002313, 0.006836> + 23802: <-0.004987, 0.002295, 0.006623> + 23803: <-0.005037, 0.001926, 0.006698> + 23804: <-0.004659, 0.002313, 0.006836> + 23805: <-0.004609, 0.002676, 0.006745> + 23806: <-0.004931, 0.002655, 0.006537> + 23807: <-0.004987, 0.002295, 0.006623> + 23808: <-0.004609, 0.002676, 0.006745> + 23809: <-0.004553, 0.003030, 0.006641> + 23810: <-0.004870, 0.003004, 0.006439> + 23811: <-0.004931, 0.002655, 0.006537> + 23812: <-0.004553, 0.003030, 0.006641> + 23813: <-0.004494, 0.003372, 0.006525> + 23814: <-0.004804, 0.003342, 0.006329> + 23815: <-0.004870, 0.003004, 0.006439> + 23816: <-0.004494, 0.003372, 0.006525> + 23817: <-0.004434, 0.003701, 0.006397> + 23818: <-0.004736, 0.003666, 0.006210> + 23819: <-0.004804, 0.003342, 0.006329> + 23820: <-0.004434, 0.003701, 0.006397> + 23821: <-0.004374, 0.004017, 0.006257> + 23822: <-0.004668, 0.003975, 0.006080> + 23823: <-0.004736, 0.003666, 0.006210> + 23824: <-0.004374, 0.004017, 0.006257> + 23825: <-0.004318, 0.004318, 0.006105> + 23826: <-0.004602, 0.004267, 0.005939> + 23827: <-0.004668, 0.003975, 0.006080> + 23828: <-0.004318, 0.004318, 0.006105> + 23829: <-0.004267, 0.004602, 0.005939> + 23830: <-0.004542, 0.004542, 0.005788> + 23831: <-0.004602, 0.004267, 0.005939> + 23832: <-0.004267, 0.004602, 0.005939> + 23833: <-0.004226, 0.004870, 0.005760> + 23834: <-0.004494, 0.004798, 0.005623> + 23835: <-0.004542, 0.004542, 0.005788> + 23836: <-0.004226, 0.004870, 0.005760> + 23837: <-0.004199, 0.005120, 0.005564> + 23838: <-0.004460, 0.005034, 0.005446> + 23839: <-0.004494, 0.004798, 0.005623> + 23840: <-0.004460, -0.005034, 0.005446> + 23841: <-0.004494, -0.004798, 0.005623> + 23842: <-0.004738, -0.004738, 0.005479> + 23843: <-0.004691, -0.004959, 0.005326> + 23844: <-0.004494, -0.004798, 0.005623> + 23845: <-0.004542, -0.004542, 0.005788> + 23846: <-0.004798, -0.004494, 0.005623> + 23847: <-0.004738, -0.004738, 0.005479> + 23848: <-0.004542, -0.004542, 0.005788> + 23849: <-0.004602, -0.004267, 0.005939> + 23850: <-0.004870, -0.004226, 0.005760> + 23851: <-0.004798, -0.004494, 0.005623> + 23852: <-0.004602, -0.004267, 0.005939> + 23853: <-0.004668, -0.003975, 0.006080> + 23854: <-0.004946, -0.003941, 0.005887> + 23855: <-0.004870, -0.004226, 0.005760> + 23856: <-0.004668, -0.003975, 0.006080> + 23857: <-0.004736, -0.003666, 0.006210> + 23858: <-0.005023, -0.003637, 0.006006> + 23859: <-0.004946, -0.003941, 0.005887> + 23860: <-0.004736, -0.003666, 0.006210> + 23861: <-0.004804, -0.003342, 0.006329> + 23862: <-0.005099, -0.003318, 0.006117> + 23863: <-0.005023, -0.003637, 0.006006> + 23864: <-0.004804, -0.003342, 0.006329> + 23865: <-0.004870, -0.003004, 0.006439> + 23866: <-0.005172, -0.002984, 0.006219> + 23867: <-0.005099, -0.003318, 0.006117> + 23868: <-0.004870, -0.003004, 0.006439> + 23869: <-0.004931, -0.002655, 0.006537> + 23870: <-0.005240, -0.002638, 0.006311> + 23871: <-0.005172, -0.002984, 0.006219> + 23872: <-0.004931, -0.002655, 0.006537> + 23873: <-0.004987, -0.002295, 0.006623> + 23874: <-0.005301, -0.002281, 0.006393> + 23875: <-0.005240, -0.002638, 0.006311> + 23876: <-0.004987, -0.002295, 0.006623> + 23877: <-0.005037, -0.001926, 0.006698> + 23878: <-0.005355, -0.001915, 0.006464> + 23879: <-0.005301, -0.002281, 0.006393> + 23880: <-0.005037, -0.001926, 0.006698> + 23881: <-0.005080, -0.001550, 0.006761> + 23882: <-0.005401, -0.001541, 0.006523> + 23883: <-0.005355, -0.001915, 0.006464> + 23884: <-0.005080, -0.001550, 0.006761> + 23885: <-0.005114, -0.001168, 0.006810> + 23886: <-0.005438, -0.001161, 0.006570> + 23887: <-0.005401, -0.001541, 0.006523> + 23888: <-0.005114, -0.001168, 0.006810> + 23889: <-0.005140, -0.000781, 0.006846> + 23890: <-0.005466, -0.000777, 0.006605> + 23891: <-0.005438, -0.001161, 0.006570> + 23892: <-0.005140, -0.000781, 0.006846> + 23893: <-0.005156, -0.000391, 0.006868> + 23894: <-0.005483, -0.000389, 0.006626> + 23895: <-0.005466, -0.000777, 0.006605> + 23896: <-0.005156, -0.000391, 0.006868> + 23897: <-0.005162, 0.000000, 0.006875> + 23898: <-0.005489, 0.000000, 0.006633> + 23899: <-0.005483, -0.000389, 0.006626> + 23900: <-0.005162, 0.000000, 0.006875> + 23901: <-0.005156, 0.000391, 0.006868> + 23902: <-0.005483, 0.000389, 0.006626> + 23903: <-0.005489, 0.000000, 0.006633> + 23904: <-0.005156, 0.000391, 0.006868> + 23905: <-0.005140, 0.000781, 0.006846> + 23906: <-0.005466, 0.000777, 0.006605> + 23907: <-0.005483, 0.000389, 0.006626> + 23908: <-0.005140, 0.000781, 0.006846> + 23909: <-0.005114, 0.001168, 0.006810> + 23910: <-0.005438, 0.001161, 0.006570> + 23911: <-0.005466, 0.000777, 0.006605> + 23912: <-0.005114, 0.001168, 0.006810> + 23913: <-0.005080, 0.001550, 0.006761> + 23914: <-0.005401, 0.001541, 0.006523> + 23915: <-0.005438, 0.001161, 0.006570> + 23916: <-0.005080, 0.001550, 0.006761> + 23917: <-0.005037, 0.001926, 0.006698> + 23918: <-0.005355, 0.001915, 0.006464> + 23919: <-0.005401, 0.001541, 0.006523> + 23920: <-0.005037, 0.001926, 0.006698> + 23921: <-0.004987, 0.002295, 0.006623> + 23922: <-0.005301, 0.002281, 0.006393> + 23923: <-0.005355, 0.001915, 0.006464> + 23924: <-0.004987, 0.002295, 0.006623> + 23925: <-0.004931, 0.002655, 0.006537> + 23926: <-0.005240, 0.002638, 0.006311> + 23927: <-0.005301, 0.002281, 0.006393> + 23928: <-0.004931, 0.002655, 0.006537> + 23929: <-0.004870, 0.003004, 0.006439> + 23930: <-0.005172, 0.002984, 0.006219> + 23931: <-0.005240, 0.002638, 0.006311> + 23932: <-0.004870, 0.003004, 0.006439> + 23933: <-0.004804, 0.003342, 0.006329> + 23934: <-0.005099, 0.003318, 0.006117> + 23935: <-0.005172, 0.002984, 0.006219> + 23936: <-0.004804, 0.003342, 0.006329> + 23937: <-0.004736, 0.003666, 0.006210> + 23938: <-0.005023, 0.003637, 0.006006> + 23939: <-0.005099, 0.003318, 0.006117> + 23940: <-0.004736, 0.003666, 0.006210> + 23941: <-0.004668, 0.003975, 0.006080> + 23942: <-0.004946, 0.003941, 0.005887> + 23943: <-0.005023, 0.003637, 0.006006> + 23944: <-0.004668, 0.003975, 0.006080> + 23945: <-0.004602, 0.004267, 0.005939> + 23946: <-0.004870, 0.004226, 0.005760> + 23947: <-0.004946, 0.003941, 0.005887> + 23948: <-0.004602, 0.004267, 0.005939> + 23949: <-0.004542, 0.004542, 0.005788> + 23950: <-0.004798, 0.004494, 0.005623> + 23951: <-0.004870, 0.004226, 0.005760> + 23952: <-0.004542, 0.004542, 0.005788> + 23953: <-0.004494, 0.004798, 0.005623> + 23954: <-0.004738, 0.004738, 0.005479> + 23955: <-0.004798, 0.004494, 0.005623> + 23956: <-0.004494, 0.004798, 0.005623> + 23957: <-0.004460, 0.005034, 0.005446> + 23958: <-0.004691, 0.004959, 0.005326> + 23959: <-0.004738, 0.004738, 0.005479> + 23960: <-0.004691, -0.004959, 0.005326> + 23961: <-0.004738, -0.004738, 0.005479> + 23962: <-0.004959, -0.004691, 0.005326> + 23963: <-0.004894, -0.004894, 0.005206> + 23964: <-0.004738, -0.004738, 0.005479> + 23965: <-0.004798, -0.004494, 0.005623> + 23966: <-0.005034, -0.004460, 0.005446> + 23967: <-0.004959, -0.004691, 0.005326> + 23968: <-0.004798, -0.004494, 0.005623> + 23969: <-0.004870, -0.004226, 0.005760> + 23970: <-0.005120, -0.004199, 0.005564> + 23971: <-0.005034, -0.004460, 0.005446> + 23972: <-0.004870, -0.004226, 0.005760> + 23973: <-0.004946, -0.003941, 0.005887> + 23974: <-0.005207, -0.003918, 0.005678> + 23975: <-0.005120, -0.004199, 0.005564> + 23976: <-0.004946, -0.003941, 0.005887> + 23977: <-0.005023, -0.003637, 0.006006> + 23978: <-0.005294, -0.003619, 0.005786> + 23979: <-0.005207, -0.003918, 0.005678> + 23980: <-0.005023, -0.003637, 0.006006> + 23981: <-0.005099, -0.003318, 0.006117> + 23982: <-0.005379, -0.003302, 0.005888> + 23983: <-0.005294, -0.003619, 0.005786> + 23984: <-0.005099, -0.003318, 0.006117> + 23985: <-0.005172, -0.002984, 0.006219> + 23986: <-0.005459, -0.002971, 0.005983> + 23987: <-0.005379, -0.003302, 0.005888> + 23988: <-0.005172, -0.002984, 0.006219> + 23989: <-0.005240, -0.002638, 0.006311> + 23990: <-0.005533, -0.002627, 0.006069> + 23991: <-0.005459, -0.002971, 0.005983> + 23992: <-0.005240, -0.002638, 0.006311> + 23993: <-0.005301, -0.002281, 0.006393> + 23994: <-0.005599, -0.002272, 0.006146> + 23995: <-0.005533, -0.002627, 0.006069> + 23996: <-0.005301, -0.002281, 0.006393> + 23997: <-0.005355, -0.001915, 0.006464> + 23998: <-0.005657, -0.001908, 0.006212> + 23999: <-0.005599, -0.002272, 0.006146> + 24000: <-0.005355, -0.001915, 0.006464> + 24001: <-0.005401, -0.001541, 0.006523> + 24002: <-0.005707, -0.001536, 0.006269> + 24003: <-0.005657, -0.001908, 0.006212> + 24004: <-0.005401, -0.001541, 0.006523> + 24005: <-0.005438, -0.001161, 0.006570> + 24006: <-0.005747, -0.001157, 0.006313> + 24007: <-0.005707, -0.001536, 0.006269> + 24008: <-0.005438, -0.001161, 0.006570> + 24009: <-0.005466, -0.000777, 0.006605> + 24010: <-0.005776, -0.000774, 0.006346> + 24011: <-0.005747, -0.001157, 0.006313> + 24012: <-0.005466, -0.000777, 0.006605> + 24013: <-0.005483, -0.000389, 0.006626> + 24014: <-0.005794, -0.000388, 0.006366> + 24015: <-0.005776, -0.000774, 0.006346> + 24016: <-0.005483, -0.000389, 0.006626> + 24017: <-0.005489, 0.000000, 0.006633> + 24018: <-0.005801, 0.000000, 0.006373> + 24019: <-0.005794, -0.000388, 0.006366> + 24020: <-0.005489, 0.000000, 0.006633> + 24021: <-0.005483, 0.000389, 0.006626> + 24022: <-0.005794, 0.000388, 0.006366> + 24023: <-0.005801, 0.000000, 0.006373> + 24024: <-0.005483, 0.000389, 0.006626> + 24025: <-0.005466, 0.000777, 0.006605> + 24026: <-0.005776, 0.000774, 0.006346> + 24027: <-0.005794, 0.000388, 0.006366> + 24028: <-0.005466, 0.000777, 0.006605> + 24029: <-0.005438, 0.001161, 0.006570> + 24030: <-0.005747, 0.001157, 0.006313> + 24031: <-0.005776, 0.000774, 0.006346> + 24032: <-0.005438, 0.001161, 0.006570> + 24033: <-0.005401, 0.001541, 0.006523> + 24034: <-0.005707, 0.001536, 0.006269> + 24035: <-0.005747, 0.001157, 0.006313> + 24036: <-0.005401, 0.001541, 0.006523> + 24037: <-0.005355, 0.001915, 0.006464> + 24038: <-0.005657, 0.001908, 0.006212> + 24039: <-0.005707, 0.001536, 0.006269> + 24040: <-0.005355, 0.001915, 0.006464> + 24041: <-0.005301, 0.002281, 0.006393> + 24042: <-0.005599, 0.002272, 0.006146> + 24043: <-0.005657, 0.001908, 0.006212> + 24044: <-0.005301, 0.002281, 0.006393> + 24045: <-0.005240, 0.002638, 0.006311> + 24046: <-0.005533, 0.002627, 0.006069> + 24047: <-0.005599, 0.002272, 0.006146> + 24048: <-0.005240, 0.002638, 0.006311> + 24049: <-0.005172, 0.002984, 0.006219> + 24050: <-0.005459, 0.002971, 0.005983> + 24051: <-0.005533, 0.002627, 0.006069> + 24052: <-0.005172, 0.002984, 0.006219> + 24053: <-0.005099, 0.003318, 0.006117> + 24054: <-0.005379, 0.003302, 0.005888> + 24055: <-0.005459, 0.002971, 0.005983> + 24056: <-0.005099, 0.003318, 0.006117> + 24057: <-0.005023, 0.003637, 0.006006> + 24058: <-0.005294, 0.003619, 0.005786> + 24059: <-0.005379, 0.003302, 0.005888> + 24060: <-0.005023, 0.003637, 0.006006> + 24061: <-0.004946, 0.003941, 0.005887> + 24062: <-0.005207, 0.003918, 0.005678> + 24063: <-0.005294, 0.003619, 0.005786> + 24064: <-0.004946, 0.003941, 0.005887> + 24065: <-0.004870, 0.004226, 0.005760> + 24066: <-0.005120, 0.004199, 0.005564> + 24067: <-0.005207, 0.003918, 0.005678> + 24068: <-0.004870, 0.004226, 0.005760> + 24069: <-0.004798, 0.004494, 0.005623> + 24070: <-0.005034, 0.004460, 0.005446> + 24071: <-0.005120, 0.004199, 0.005564> + 24072: <-0.004798, 0.004494, 0.005623> + 24073: <-0.004738, 0.004738, 0.005479> + 24074: <-0.004959, 0.004691, 0.005326> + 24075: <-0.005034, 0.004460, 0.005446> + 24076: <-0.004738, 0.004738, 0.005479> + 24077: <-0.004691, 0.004959, 0.005326> + 24078: <-0.004894, 0.004894, 0.005206> + 24079: <-0.004959, 0.004691, 0.005326> + 24080: < 0.005000, -0.005000, 0.005000> + 24081: < 0.005081, -0.004833, 0.005081> + 24082: < 0.004894, -0.004894, 0.005206> + 24083: < 0.004833, -0.005081, 0.005081> + 24084: < 0.005081, -0.004833, 0.005081> + 24085: < 0.005166, -0.004647, 0.005166> + 24086: < 0.004959, -0.004691, 0.005326> + 24087: < 0.004894, -0.004894, 0.005206> + 24088: < 0.005166, -0.004647, 0.005166> + 24089: < 0.005255, -0.004436, 0.005255> + 24090: < 0.005034, -0.004460, 0.005446> + 24091: < 0.004959, -0.004691, 0.005326> + 24092: < 0.005255, -0.004436, 0.005255> + 24093: < 0.005351, -0.004188, 0.005351> + 24094: < 0.005120, -0.004199, 0.005564> + 24095: < 0.005034, -0.004460, 0.005446> + 24096: < 0.005351, -0.004188, 0.005351> + 24097: < 0.005451, -0.003910, 0.005451> + 24098: < 0.005207, -0.003918, 0.005678> + 24099: < 0.005120, -0.004199, 0.005564> + 24100: < 0.005451, -0.003910, 0.005451> + 24101: < 0.005549, -0.003612, 0.005549> + 24102: < 0.005294, -0.003619, 0.005786> + 24103: < 0.005207, -0.003918, 0.005678> + 24104: < 0.005549, -0.003612, 0.005549> + 24105: < 0.005642, -0.003297, 0.005642> + 24106: < 0.005379, -0.003302, 0.005888> + 24107: < 0.005294, -0.003619, 0.005786> + 24108: < 0.005642, -0.003297, 0.005642> + 24109: < 0.005729, -0.002966, 0.005729> + 24110: < 0.005459, -0.002971, 0.005983> + 24111: < 0.005379, -0.003302, 0.005888> + 24112: < 0.005729, -0.002966, 0.005729> + 24113: < 0.005809, -0.002623, 0.005809> + 24114: < 0.005533, -0.002627, 0.006069> + 24115: < 0.005459, -0.002971, 0.005983> + 24116: < 0.005809, -0.002623, 0.005809> + 24117: < 0.005881, -0.002269, 0.005881> + 24118: < 0.005599, -0.002272, 0.006146> + 24119: < 0.005533, -0.002627, 0.006069> + 24120: < 0.005881, -0.002269, 0.005881> + 24121: < 0.005944, -0.001906, 0.005944> + 24122: < 0.005657, -0.001908, 0.006212> + 24123: < 0.005599, -0.002272, 0.006146> + 24124: < 0.005944, -0.001906, 0.005944> + 24125: < 0.005996, -0.001534, 0.005996> + 24126: < 0.005707, -0.001536, 0.006269> + 24127: < 0.005657, -0.001908, 0.006212> + 24128: < 0.005996, -0.001534, 0.005996> + 24129: < 0.006039, -0.001156, 0.006039> + 24130: < 0.005747, -0.001157, 0.006313> + 24131: < 0.005707, -0.001536, 0.006269> + 24132: < 0.006039, -0.001156, 0.006039> + 24133: < 0.006070, -0.000773, 0.006070> + 24134: < 0.005776, -0.000774, 0.006346> + 24135: < 0.005747, -0.001157, 0.006313> + 24136: < 0.006070, -0.000773, 0.006070> + 24137: < 0.006089, -0.000387, 0.006089> + 24138: < 0.005794, -0.000388, 0.006366> + 24139: < 0.005776, -0.000774, 0.006346> + 24140: < 0.006089, -0.000387, 0.006089> + 24141: < 0.006096, -0.000000, 0.006096> + 24142: < 0.005801, -0.000000, 0.006373> + 24143: < 0.005794, -0.000388, 0.006366> + 24144: < 0.006096, -0.000000, 0.006096> + 24145: < 0.006089, 0.000387, 0.006089> + 24146: < 0.005794, 0.000388, 0.006366> + 24147: < 0.005801, -0.000000, 0.006373> + 24148: < 0.006089, 0.000387, 0.006089> + 24149: < 0.006070, 0.000773, 0.006070> + 24150: < 0.005776, 0.000774, 0.006346> + 24151: < 0.005794, 0.000388, 0.006366> + 24152: < 0.006070, 0.000773, 0.006070> + 24153: < 0.006039, 0.001156, 0.006039> + 24154: < 0.005747, 0.001157, 0.006313> + 24155: < 0.005776, 0.000774, 0.006346> + 24156: < 0.006039, 0.001156, 0.006039> + 24157: < 0.005996, 0.001534, 0.005996> + 24158: < 0.005707, 0.001536, 0.006269> + 24159: < 0.005747, 0.001157, 0.006313> + 24160: < 0.005996, 0.001534, 0.005996> + 24161: < 0.005944, 0.001906, 0.005944> + 24162: < 0.005657, 0.001908, 0.006212> + 24163: < 0.005707, 0.001536, 0.006269> + 24164: < 0.005944, 0.001906, 0.005944> + 24165: < 0.005881, 0.002269, 0.005881> + 24166: < 0.005599, 0.002272, 0.006146> + 24167: < 0.005657, 0.001908, 0.006212> + 24168: < 0.005881, 0.002269, 0.005881> + 24169: < 0.005809, 0.002623, 0.005809> + 24170: < 0.005533, 0.002627, 0.006069> + 24171: < 0.005599, 0.002272, 0.006146> + 24172: < 0.005809, 0.002623, 0.005809> + 24173: < 0.005729, 0.002966, 0.005729> + 24174: < 0.005459, 0.002971, 0.005983> + 24175: < 0.005533, 0.002627, 0.006069> + 24176: < 0.005729, 0.002966, 0.005729> + 24177: < 0.005642, 0.003297, 0.005642> + 24178: < 0.005379, 0.003302, 0.005888> + 24179: < 0.005459, 0.002971, 0.005983> + 24180: < 0.005642, 0.003297, 0.005642> + 24181: < 0.005549, 0.003612, 0.005549> + 24182: < 0.005294, 0.003619, 0.005786> + 24183: < 0.005379, 0.003302, 0.005888> + 24184: < 0.005549, 0.003612, 0.005549> + 24185: < 0.005451, 0.003910, 0.005451> + 24186: < 0.005207, 0.003918, 0.005678> + 24187: < 0.005294, 0.003619, 0.005786> + 24188: < 0.005451, 0.003910, 0.005451> + 24189: < 0.005351, 0.004188, 0.005351> + 24190: < 0.005120, 0.004199, 0.005564> + 24191: < 0.005207, 0.003918, 0.005678> + 24192: < 0.005351, 0.004188, 0.005351> + 24193: < 0.005255, 0.004436, 0.005255> + 24194: < 0.005034, 0.004460, 0.005446> + 24195: < 0.005120, 0.004199, 0.005564> + 24196: < 0.005255, 0.004436, 0.005255> + 24197: < 0.005166, 0.004647, 0.005166> + 24198: < 0.004959, 0.004691, 0.005326> + 24199: < 0.005034, 0.004460, 0.005446> + 24200: < 0.005166, 0.004647, 0.005166> + 24201: < 0.005081, 0.004833, 0.005081> + 24202: < 0.004894, 0.004894, 0.005206> + 24203: < 0.004959, 0.004691, 0.005326> + 24204: < 0.005081, 0.004833, 0.005081> + 24205: < 0.005000, 0.005000, 0.005000> + 24206: < 0.004833, 0.005081, 0.005081> + 24207: < 0.004894, 0.004894, 0.005206> + 24208: < 0.004894, 0.004894, 0.005206> + 24209: < 0.004833, 0.005081, 0.005081> + 24210: < 0.004647, 0.005166, 0.005166> + 24211: < 0.004691, 0.004959, 0.005326> + 24212: < 0.004691, 0.004959, 0.005326> + 24213: < 0.004647, 0.005166, 0.005166> + 24214: < 0.004436, 0.005255, 0.005255> + 24215: < 0.004460, 0.005034, 0.005446> + 24216: < 0.004460, 0.005034, 0.005446> + 24217: < 0.004436, 0.005255, 0.005255> + 24218: < 0.004188, 0.005351, 0.005351> + 24219: < 0.004199, 0.005120, 0.005564> + 24220: < 0.004199, 0.005120, 0.005564> + 24221: < 0.004188, 0.005351, 0.005351> + 24222: < 0.003910, 0.005451, 0.005451> + 24223: < 0.003918, 0.005207, 0.005678> + 24224: < 0.003918, 0.005207, 0.005678> + 24225: < 0.003910, 0.005451, 0.005451> + 24226: < 0.003612, 0.005549, 0.005549> + 24227: < 0.003619, 0.005294, 0.005786> + 24228: < 0.003619, 0.005294, 0.005786> + 24229: < 0.003612, 0.005549, 0.005549> + 24230: < 0.003297, 0.005642, 0.005642> + 24231: < 0.003302, 0.005379, 0.005888> + 24232: < 0.003302, 0.005379, 0.005888> + 24233: < 0.003297, 0.005642, 0.005642> + 24234: < 0.002966, 0.005729, 0.005729> + 24235: < 0.002971, 0.005459, 0.005983> + 24236: < 0.002971, 0.005459, 0.005983> + 24237: < 0.002966, 0.005729, 0.005729> + 24238: < 0.002623, 0.005809, 0.005809> + 24239: < 0.002627, 0.005533, 0.006069> + 24240: < 0.002627, 0.005533, 0.006069> + 24241: < 0.002623, 0.005809, 0.005809> + 24242: < 0.002269, 0.005881, 0.005881> + 24243: < 0.002272, 0.005599, 0.006146> + 24244: < 0.002272, 0.005599, 0.006146> + 24245: < 0.002269, 0.005881, 0.005881> + 24246: < 0.001906, 0.005944, 0.005944> + 24247: < 0.001908, 0.005657, 0.006212> + 24248: < 0.001908, 0.005657, 0.006212> + 24249: < 0.001906, 0.005944, 0.005944> + 24250: < 0.001534, 0.005996, 0.005996> + 24251: < 0.001536, 0.005707, 0.006269> + 24252: < 0.001536, 0.005707, 0.006269> + 24253: < 0.001534, 0.005996, 0.005996> + 24254: < 0.001156, 0.006039, 0.006039> + 24255: < 0.001157, 0.005747, 0.006313> + 24256: < 0.001157, 0.005747, 0.006313> + 24257: < 0.001156, 0.006039, 0.006039> + 24258: < 0.000773, 0.006070, 0.006070> + 24259: < 0.000774, 0.005776, 0.006346> + 24260: < 0.000774, 0.005776, 0.006346> + 24261: < 0.000773, 0.006070, 0.006070> + 24262: < 0.000387, 0.006089, 0.006089> + 24263: < 0.000388, 0.005794, 0.006366> + 24264: < 0.000388, 0.005794, 0.006366> + 24265: < 0.000387, 0.006089, 0.006089> + 24266: <-0.000000, 0.006096, 0.006096> + 24267: < 0.000000, 0.005801, 0.006373> + 24268: < 0.000000, 0.005801, 0.006373> + 24269: <-0.000000, 0.006096, 0.006096> + 24270: <-0.000387, 0.006089, 0.006089> + 24271: <-0.000388, 0.005794, 0.006366> + 24272: <-0.000388, 0.005794, 0.006366> + 24273: <-0.000387, 0.006089, 0.006089> + 24274: <-0.000773, 0.006070, 0.006070> + 24275: <-0.000774, 0.005776, 0.006346> + 24276: <-0.000774, 0.005776, 0.006346> + 24277: <-0.000773, 0.006070, 0.006070> + 24278: <-0.001156, 0.006039, 0.006039> + 24279: <-0.001157, 0.005747, 0.006313> + 24280: <-0.001157, 0.005747, 0.006313> + 24281: <-0.001156, 0.006039, 0.006039> + 24282: <-0.001534, 0.005996, 0.005996> + 24283: <-0.001536, 0.005707, 0.006269> + 24284: <-0.001536, 0.005707, 0.006269> + 24285: <-0.001534, 0.005996, 0.005996> + 24286: <-0.001906, 0.005944, 0.005944> + 24287: <-0.001908, 0.005657, 0.006212> + 24288: <-0.001908, 0.005657, 0.006212> + 24289: <-0.001906, 0.005944, 0.005944> + 24290: <-0.002269, 0.005881, 0.005881> + 24291: <-0.002272, 0.005599, 0.006146> + 24292: <-0.002272, 0.005599, 0.006146> + 24293: <-0.002269, 0.005881, 0.005881> + 24294: <-0.002623, 0.005809, 0.005809> + 24295: <-0.002627, 0.005533, 0.006069> + 24296: <-0.002627, 0.005533, 0.006069> + 24297: <-0.002623, 0.005809, 0.005809> + 24298: <-0.002966, 0.005729, 0.005729> + 24299: <-0.002971, 0.005459, 0.005983> + 24300: <-0.002971, 0.005459, 0.005983> + 24301: <-0.002966, 0.005729, 0.005729> + 24302: <-0.003297, 0.005642, 0.005642> + 24303: <-0.003302, 0.005379, 0.005888> + 24304: <-0.003302, 0.005379, 0.005888> + 24305: <-0.003297, 0.005642, 0.005642> + 24306: <-0.003612, 0.005549, 0.005549> + 24307: <-0.003619, 0.005294, 0.005786> + 24308: <-0.003619, 0.005294, 0.005786> + 24309: <-0.003612, 0.005549, 0.005549> + 24310: <-0.003910, 0.005451, 0.005451> + 24311: <-0.003918, 0.005207, 0.005678> + 24312: <-0.003918, 0.005207, 0.005678> + 24313: <-0.003910, 0.005451, 0.005451> + 24314: <-0.004188, 0.005351, 0.005351> + 24315: <-0.004199, 0.005120, 0.005564> + 24316: <-0.004199, 0.005120, 0.005564> + 24317: <-0.004188, 0.005351, 0.005351> + 24318: <-0.004436, 0.005255, 0.005255> + 24319: <-0.004460, 0.005034, 0.005446> + 24320: <-0.004460, 0.005034, 0.005446> + 24321: <-0.004436, 0.005255, 0.005255> + 24322: <-0.004647, 0.005166, 0.005166> + 24323: <-0.004691, 0.004959, 0.005326> + 24324: <-0.004691, 0.004959, 0.005326> + 24325: <-0.004647, 0.005166, 0.005166> + 24326: <-0.004833, 0.005081, 0.005081> + 24327: <-0.004894, 0.004894, 0.005206> + 24328: <-0.004894, 0.004894, 0.005206> + 24329: <-0.004833, 0.005081, 0.005081> + 24330: <-0.005000, 0.005000, 0.005000> + 24331: <-0.005081, 0.004833, 0.005081> + 24332: <-0.004959, 0.004691, 0.005326> + 24333: <-0.004894, 0.004894, 0.005206> + 24334: <-0.005081, 0.004833, 0.005081> + 24335: <-0.005166, 0.004647, 0.005166> + 24336: <-0.005034, 0.004460, 0.005446> + 24337: <-0.004959, 0.004691, 0.005326> + 24338: <-0.005166, 0.004647, 0.005166> + 24339: <-0.005255, 0.004436, 0.005255> + 24340: <-0.005120, 0.004199, 0.005564> + 24341: <-0.005034, 0.004460, 0.005446> + 24342: <-0.005255, 0.004436, 0.005255> + 24343: <-0.005351, 0.004188, 0.005351> + 24344: <-0.005207, 0.003918, 0.005678> + 24345: <-0.005120, 0.004199, 0.005564> + 24346: <-0.005351, 0.004188, 0.005351> + 24347: <-0.005451, 0.003910, 0.005451> + 24348: <-0.005294, 0.003619, 0.005786> + 24349: <-0.005207, 0.003918, 0.005678> + 24350: <-0.005451, 0.003910, 0.005451> + 24351: <-0.005549, 0.003612, 0.005549> + 24352: <-0.005379, 0.003302, 0.005888> + 24353: <-0.005294, 0.003619, 0.005786> + 24354: <-0.005549, 0.003612, 0.005549> + 24355: <-0.005642, 0.003297, 0.005642> + 24356: <-0.005459, 0.002971, 0.005983> + 24357: <-0.005379, 0.003302, 0.005888> + 24358: <-0.005642, 0.003297, 0.005642> + 24359: <-0.005729, 0.002966, 0.005729> + 24360: <-0.005533, 0.002627, 0.006069> + 24361: <-0.005459, 0.002971, 0.005983> + 24362: <-0.005729, 0.002966, 0.005729> + 24363: <-0.005809, 0.002623, 0.005809> + 24364: <-0.005599, 0.002272, 0.006146> + 24365: <-0.005533, 0.002627, 0.006069> + 24366: <-0.005809, 0.002623, 0.005809> + 24367: <-0.005881, 0.002269, 0.005881> + 24368: <-0.005657, 0.001908, 0.006212> + 24369: <-0.005599, 0.002272, 0.006146> + 24370: <-0.005881, 0.002269, 0.005881> + 24371: <-0.005944, 0.001906, 0.005944> + 24372: <-0.005707, 0.001536, 0.006269> + 24373: <-0.005657, 0.001908, 0.006212> + 24374: <-0.005944, 0.001906, 0.005944> + 24375: <-0.005996, 0.001534, 0.005996> + 24376: <-0.005747, 0.001157, 0.006313> + 24377: <-0.005707, 0.001536, 0.006269> + 24378: <-0.005996, 0.001534, 0.005996> + 24379: <-0.006039, 0.001156, 0.006039> + 24380: <-0.005776, 0.000774, 0.006346> + 24381: <-0.005747, 0.001157, 0.006313> + 24382: <-0.006039, 0.001156, 0.006039> + 24383: <-0.006070, 0.000773, 0.006070> + 24384: <-0.005794, 0.000388, 0.006366> + 24385: <-0.005776, 0.000774, 0.006346> + 24386: <-0.006070, 0.000773, 0.006070> + 24387: <-0.006089, 0.000387, 0.006089> + 24388: <-0.005801, 0.000000, 0.006373> + 24389: <-0.005794, 0.000388, 0.006366> + 24390: <-0.006089, 0.000387, 0.006089> + 24391: <-0.006096, 0.000000, 0.006096> + 24392: <-0.005794, -0.000388, 0.006366> + 24393: <-0.005801, 0.000000, 0.006373> + 24394: <-0.006096, 0.000000, 0.006096> + 24395: <-0.006089, -0.000387, 0.006089> + 24396: <-0.005776, -0.000774, 0.006346> + 24397: <-0.005794, -0.000388, 0.006366> + 24398: <-0.006089, -0.000387, 0.006089> + 24399: <-0.006070, -0.000773, 0.006070> + 24400: <-0.005747, -0.001157, 0.006313> + 24401: <-0.005776, -0.000774, 0.006346> + 24402: <-0.006070, -0.000773, 0.006070> + 24403: <-0.006039, -0.001156, 0.006039> + 24404: <-0.005707, -0.001536, 0.006269> + 24405: <-0.005747, -0.001157, 0.006313> + 24406: <-0.006039, -0.001156, 0.006039> + 24407: <-0.005996, -0.001534, 0.005996> + 24408: <-0.005657, -0.001908, 0.006212> + 24409: <-0.005707, -0.001536, 0.006269> + 24410: <-0.005996, -0.001534, 0.005996> + 24411: <-0.005944, -0.001906, 0.005944> + 24412: <-0.005599, -0.002272, 0.006146> + 24413: <-0.005657, -0.001908, 0.006212> + 24414: <-0.005944, -0.001906, 0.005944> + 24415: <-0.005881, -0.002269, 0.005881> + 24416: <-0.005533, -0.002627, 0.006069> + 24417: <-0.005599, -0.002272, 0.006146> + 24418: <-0.005881, -0.002269, 0.005881> + 24419: <-0.005809, -0.002623, 0.005809> + 24420: <-0.005459, -0.002971, 0.005983> + 24421: <-0.005533, -0.002627, 0.006069> + 24422: <-0.005809, -0.002623, 0.005809> + 24423: <-0.005729, -0.002966, 0.005729> + 24424: <-0.005379, -0.003302, 0.005888> + 24425: <-0.005459, -0.002971, 0.005983> + 24426: <-0.005729, -0.002966, 0.005729> + 24427: <-0.005642, -0.003297, 0.005642> + 24428: <-0.005294, -0.003619, 0.005786> + 24429: <-0.005379, -0.003302, 0.005888> + 24430: <-0.005642, -0.003297, 0.005642> + 24431: <-0.005549, -0.003612, 0.005549> + 24432: <-0.005207, -0.003918, 0.005678> + 24433: <-0.005294, -0.003619, 0.005786> + 24434: <-0.005549, -0.003612, 0.005549> + 24435: <-0.005451, -0.003910, 0.005451> + 24436: <-0.005120, -0.004199, 0.005564> + 24437: <-0.005207, -0.003918, 0.005678> + 24438: <-0.005451, -0.003910, 0.005451> + 24439: <-0.005351, -0.004188, 0.005351> + 24440: <-0.005034, -0.004460, 0.005446> + 24441: <-0.005120, -0.004199, 0.005564> + 24442: <-0.005351, -0.004188, 0.005351> + 24443: <-0.005255, -0.004436, 0.005255> + 24444: <-0.004959, -0.004691, 0.005326> + 24445: <-0.005034, -0.004460, 0.005446> + 24446: <-0.005255, -0.004436, 0.005255> + 24447: <-0.005166, -0.004647, 0.005166> + 24448: <-0.004894, -0.004894, 0.005206> + 24449: <-0.004959, -0.004691, 0.005326> + 24450: <-0.005166, -0.004647, 0.005166> + 24451: <-0.005081, -0.004833, 0.005081> + 24452: <-0.004833, -0.005081, 0.005081> + 24453: <-0.004894, -0.004894, 0.005206> + 24454: <-0.005081, -0.004833, 0.005081> + 24455: <-0.005000, -0.005000, 0.005000> + 24456: <-0.004647, -0.005166, 0.005166> + 24457: <-0.004691, -0.004959, 0.005326> + 24458: <-0.004894, -0.004894, 0.005206> + 24459: <-0.004833, -0.005081, 0.005081> + 24460: <-0.004436, -0.005255, 0.005255> + 24461: <-0.004460, -0.005034, 0.005446> + 24462: <-0.004691, -0.004959, 0.005326> + 24463: <-0.004647, -0.005166, 0.005166> + 24464: <-0.004188, -0.005351, 0.005351> + 24465: <-0.004199, -0.005120, 0.005564> + 24466: <-0.004460, -0.005034, 0.005446> + 24467: <-0.004436, -0.005255, 0.005255> + 24468: <-0.003910, -0.005451, 0.005451> + 24469: <-0.003918, -0.005207, 0.005678> + 24470: <-0.004199, -0.005120, 0.005564> + 24471: <-0.004188, -0.005351, 0.005351> + 24472: <-0.003612, -0.005549, 0.005549> + 24473: <-0.003619, -0.005294, 0.005786> + 24474: <-0.003918, -0.005207, 0.005678> + 24475: <-0.003910, -0.005451, 0.005451> + 24476: <-0.003297, -0.005642, 0.005642> + 24477: <-0.003302, -0.005379, 0.005888> + 24478: <-0.003619, -0.005294, 0.005786> + 24479: <-0.003612, -0.005549, 0.005549> + 24480: <-0.002966, -0.005729, 0.005729> + 24481: <-0.002971, -0.005459, 0.005983> + 24482: <-0.003302, -0.005379, 0.005888> + 24483: <-0.003297, -0.005642, 0.005642> + 24484: <-0.002623, -0.005809, 0.005809> + 24485: <-0.002627, -0.005533, 0.006069> + 24486: <-0.002971, -0.005459, 0.005983> + 24487: <-0.002966, -0.005729, 0.005729> + 24488: <-0.002269, -0.005881, 0.005881> + 24489: <-0.002272, -0.005599, 0.006146> + 24490: <-0.002627, -0.005533, 0.006069> + 24491: <-0.002623, -0.005809, 0.005809> + 24492: <-0.001906, -0.005944, 0.005944> + 24493: <-0.001908, -0.005657, 0.006212> + 24494: <-0.002272, -0.005599, 0.006146> + 24495: <-0.002269, -0.005881, 0.005881> + 24496: <-0.001534, -0.005996, 0.005996> + 24497: <-0.001536, -0.005707, 0.006269> + 24498: <-0.001908, -0.005657, 0.006212> + 24499: <-0.001906, -0.005944, 0.005944> + 24500: <-0.001156, -0.006039, 0.006039> + 24501: <-0.001157, -0.005747, 0.006313> + 24502: <-0.001536, -0.005707, 0.006269> + 24503: <-0.001534, -0.005996, 0.005996> + 24504: <-0.000773, -0.006070, 0.006070> + 24505: <-0.000774, -0.005776, 0.006346> + 24506: <-0.001157, -0.005747, 0.006313> + 24507: <-0.001156, -0.006039, 0.006039> + 24508: <-0.000387, -0.006089, 0.006089> + 24509: <-0.000388, -0.005794, 0.006366> + 24510: <-0.000774, -0.005776, 0.006346> + 24511: <-0.000773, -0.006070, 0.006070> + 24512: <-0.000000, -0.006096, 0.006096> + 24513: <-0.000000, -0.005801, 0.006373> + 24514: <-0.000388, -0.005794, 0.006366> + 24515: <-0.000387, -0.006089, 0.006089> + 24516: < 0.000387, -0.006089, 0.006089> + 24517: < 0.000388, -0.005794, 0.006366> + 24518: <-0.000000, -0.005801, 0.006373> + 24519: <-0.000000, -0.006096, 0.006096> + 24520: < 0.000773, -0.006070, 0.006070> + 24521: < 0.000774, -0.005776, 0.006346> + 24522: < 0.000388, -0.005794, 0.006366> + 24523: < 0.000387, -0.006089, 0.006089> + 24524: < 0.001156, -0.006039, 0.006039> + 24525: < 0.001157, -0.005747, 0.006313> + 24526: < 0.000774, -0.005776, 0.006346> + 24527: < 0.000773, -0.006070, 0.006070> + 24528: < 0.001534, -0.005996, 0.005996> + 24529: < 0.001536, -0.005707, 0.006269> + 24530: < 0.001157, -0.005747, 0.006313> + 24531: < 0.001156, -0.006039, 0.006039> + 24532: < 0.001906, -0.005944, 0.005944> + 24533: < 0.001908, -0.005657, 0.006212> + 24534: < 0.001536, -0.005707, 0.006269> + 24535: < 0.001534, -0.005996, 0.005996> + 24536: < 0.002269, -0.005881, 0.005881> + 24537: < 0.002272, -0.005599, 0.006146> + 24538: < 0.001908, -0.005657, 0.006212> + 24539: < 0.001906, -0.005944, 0.005944> + 24540: < 0.002623, -0.005809, 0.005809> + 24541: < 0.002627, -0.005533, 0.006069> + 24542: < 0.002272, -0.005599, 0.006146> + 24543: < 0.002269, -0.005881, 0.005881> + 24544: < 0.002966, -0.005729, 0.005729> + 24545: < 0.002971, -0.005459, 0.005983> + 24546: < 0.002627, -0.005533, 0.006069> + 24547: < 0.002623, -0.005809, 0.005809> + 24548: < 0.003297, -0.005642, 0.005642> + 24549: < 0.003302, -0.005379, 0.005888> + 24550: < 0.002971, -0.005459, 0.005983> + 24551: < 0.002966, -0.005729, 0.005729> + 24552: < 0.003612, -0.005549, 0.005549> + 24553: < 0.003619, -0.005294, 0.005786> + 24554: < 0.003302, -0.005379, 0.005888> + 24555: < 0.003297, -0.005642, 0.005642> + 24556: < 0.003910, -0.005451, 0.005451> + 24557: < 0.003918, -0.005207, 0.005678> + 24558: < 0.003619, -0.005294, 0.005786> + 24559: < 0.003612, -0.005549, 0.005549> + 24560: < 0.004188, -0.005351, 0.005351> + 24561: < 0.004199, -0.005120, 0.005564> + 24562: < 0.003918, -0.005207, 0.005678> + 24563: < 0.003910, -0.005451, 0.005451> + 24564: < 0.004436, -0.005255, 0.005255> + 24565: < 0.004460, -0.005034, 0.005446> + 24566: < 0.004199, -0.005120, 0.005564> + 24567: < 0.004188, -0.005351, 0.005351> + 24568: < 0.004647, -0.005166, 0.005166> + 24569: < 0.004691, -0.004959, 0.005326> + 24570: < 0.004460, -0.005034, 0.005446> + 24571: < 0.004436, -0.005255, 0.005255> + 24572: < 0.004833, -0.005081, 0.005081> + 24573: < 0.004894, -0.004894, 0.005206> + 24574: < 0.004691, -0.004959, 0.005326> + 24575: < 0.004647, -0.005166, 0.005166> + Normals: Count 24576. Hash: 8968157737282745201 + 0: <-0.561516, 0.607783, 0.561516> + 1: <-0.531523, 0.625584, 0.571076> + 2: <-0.538962, 0.647334, 0.538962> + 3: <-0.571076, 0.625584, 0.531523> + 4: <-0.531523, 0.625584, 0.571076> + 5: <-0.500519, 0.641397, 0.581456> + 6: <-0.506040, 0.666144, 0.547882> + 7: <-0.538962, 0.647334, 0.538962> + 8: <-0.500519, 0.641397, 0.581456> + 9: <-0.469385, 0.655217, 0.591920> + 10: <-0.473139, 0.682532, 0.557037> + 11: <-0.506040, 0.666144, 0.547882> + 12: <-0.469385, 0.655217, 0.591920> + 13: <-0.437036, 0.668312, 0.601963> + 14: <-0.439475, 0.697667, 0.565794> + 15: <-0.473139, 0.682532, 0.557037> + 16: <-0.437036, 0.668312, 0.601963> + 17: <-0.403223, 0.680859, 0.611427> + 18: <-0.404839, 0.711772, 0.574008> + 19: <-0.439475, 0.697667, 0.565794> + 20: <-0.403223, 0.680859, 0.611427> + 21: <-0.368246, 0.692544, 0.620305> + 22: <-0.369188, 0.724825, 0.581661> + 23: <-0.404839, 0.711772, 0.574008> + 24: <-0.368246, 0.692544, 0.620305> + 25: <-0.331652, 0.703467, 0.628603> + 26: <-0.332197, 0.736907, 0.588738> + 27: <-0.369188, 0.724825, 0.581661> + 28: <-0.331652, 0.703467, 0.628603> + 29: <-0.293904, 0.713396, 0.636150> + 30: <-0.294207, 0.747816, 0.595158> + 31: <-0.332197, 0.736907, 0.588738> + 32: <-0.293904, 0.713396, 0.636150> + 33: <-0.255632, 0.722093, 0.642833> + 34: <-0.255750, 0.757361, 0.600829> + 35: <-0.294207, 0.747816, 0.595158> + 36: <-0.255632, 0.722093, 0.642833> + 37: <-0.216660, 0.729636, 0.648606> + 38: <-0.216596, 0.765608, 0.605748> + 39: <-0.255750, 0.757361, 0.600829> + 40: <-0.216660, 0.729636, 0.648606> + 41: <-0.176644, 0.736025, 0.653502> + 42: <-0.176461, 0.772589, 0.609892> + 43: <-0.216596, 0.765608, 0.605748> + 44: <-0.176644, 0.736025, 0.653502> + 45: <-0.135260, 0.741243, 0.657468> + 46: <-0.135018, 0.778306, 0.613196> + 47: <-0.176461, 0.772589, 0.609892> + 48: <-0.135260, 0.741243, 0.657468> + 49: <-0.092137, 0.745184, 0.660463> + 50: <-0.091894, 0.782607, 0.615697> + 51: <-0.135018, 0.778306, 0.613196> + 52: <-0.092137, 0.745184, 0.660463> + 53: <-0.046999, 0.747715, 0.662354> + 54: <-0.046847, 0.785375, 0.617246> + 55: <-0.091894, 0.782607, 0.615697> + 56: <-0.046999, 0.747715, 0.662354> + 57: < 0.000000, 0.748599, 0.663024> + 58: < 0.000000, 0.786344, 0.617789> + 59: <-0.046847, 0.785375, 0.617246> + 60: < 0.000000, 0.748599, 0.663024> + 61: < 0.046999, 0.747715, 0.662354> + 62: < 0.046847, 0.785375, 0.617246> + 63: < 0.000000, 0.786344, 0.617789> + 64: < 0.046999, 0.747715, 0.662354> + 65: < 0.092137, 0.745184, 0.660463> + 66: < 0.091894, 0.782607, 0.615697> + 67: < 0.046847, 0.785375, 0.617246> + 68: < 0.092137, 0.745184, 0.660463> + 69: < 0.135260, 0.741243, 0.657468> + 70: < 0.135018, 0.778306, 0.613196> + 71: < 0.091894, 0.782607, 0.615697> + 72: < 0.135260, 0.741243, 0.657468> + 73: < 0.176644, 0.736025, 0.653502> + 74: < 0.176461, 0.772589, 0.609892> + 75: < 0.135018, 0.778306, 0.613196> + 76: < 0.176644, 0.736025, 0.653502> + 77: < 0.216660, 0.729636, 0.648606> + 78: < 0.216596, 0.765608, 0.605748> + 79: < 0.176461, 0.772589, 0.609892> + 80: < 0.216660, 0.729636, 0.648606> + 81: < 0.255632, 0.722093, 0.642833> + 82: < 0.255750, 0.757361, 0.600829> + 83: < 0.216596, 0.765608, 0.605748> + 84: < 0.255632, 0.722093, 0.642833> + 85: < 0.293904, 0.713396, 0.636150> + 86: < 0.294207, 0.747816, 0.595158> + 87: < 0.255750, 0.757361, 0.600829> + 88: < 0.293904, 0.713396, 0.636150> + 89: < 0.331652, 0.703467, 0.628603> + 90: < 0.332170, 0.736915, 0.588744> + 91: < 0.294207, 0.747816, 0.595158> + 92: < 0.331652, 0.703467, 0.628603> + 93: < 0.368246, 0.692544, 0.620305> + 94: < 0.369188, 0.724825, 0.581661> + 95: < 0.332170, 0.736915, 0.588744> + 96: < 0.368246, 0.692544, 0.620305> + 97: < 0.403223, 0.680859, 0.611427> + 98: < 0.404839, 0.711772, 0.574008> + 99: < 0.369188, 0.724825, 0.581661> + 100: < 0.403223, 0.680859, 0.611427> + 101: < 0.437036, 0.668312, 0.601963> + 102: < 0.439475, 0.697667, 0.565794> + 103: < 0.404839, 0.711772, 0.574008> + 104: < 0.437036, 0.668312, 0.601963> + 105: < 0.469385, 0.655217, 0.591920> + 106: < 0.473139, 0.682532, 0.557037> + 107: < 0.439475, 0.697667, 0.565794> + 108: < 0.469385, 0.655217, 0.591920> + 109: < 0.500496, 0.641406, 0.581465> + 110: < 0.506040, 0.666144, 0.547882> + 111: < 0.473139, 0.682532, 0.557037> + 112: < 0.500496, 0.641406, 0.581465> + 113: < 0.531523, 0.625584, 0.571076> + 114: < 0.538962, 0.647334, 0.538962> + 115: < 0.506040, 0.666144, 0.547882> + 116: < 0.531523, 0.625584, 0.571076> + 117: < 0.561516, 0.607783, 0.561516> + 118: < 0.571076, 0.625584, 0.531523> + 119: < 0.538962, 0.647334, 0.538962> + 120: <-0.571076, 0.625584, 0.531523> + 121: <-0.538962, 0.647334, 0.538962> + 122: <-0.547882, 0.666144, 0.506040> + 123: <-0.581456, 0.641397, 0.500519> + 124: <-0.538962, 0.647334, 0.538962> + 125: <-0.506040, 0.666144, 0.547882> + 126: <-0.513252, 0.687856, 0.513252> + 127: <-0.547882, 0.666144, 0.506040> + 128: <-0.506040, 0.666144, 0.547882> + 129: <-0.473139, 0.682532, 0.557037> + 130: <-0.478425, 0.706895, 0.520969> + 131: <-0.513252, 0.687856, 0.513252> + 132: <-0.473139, 0.682532, 0.557037> + 133: <-0.439475, 0.697667, 0.565794> + 134: <-0.443145, 0.724109, 0.528478> + 135: <-0.478425, 0.706895, 0.520969> + 136: <-0.439475, 0.697667, 0.565794> + 137: <-0.404839, 0.711772, 0.574008> + 138: <-0.407307, 0.739812, 0.535518> + 139: <-0.443145, 0.724109, 0.528478> + 140: <-0.404839, 0.711772, 0.574008> + 141: <-0.369188, 0.724825, 0.581661> + 142: <-0.370721, 0.754169, 0.542028> + 143: <-0.407307, 0.739812, 0.535518> + 144: <-0.369188, 0.724825, 0.581661> + 145: <-0.332197, 0.736907, 0.588738> + 146: <-0.333090, 0.767292, 0.548009> + 147: <-0.370721, 0.754169, 0.542028> + 148: <-0.332197, 0.736907, 0.588738> + 149: <-0.294207, 0.747816, 0.595158> + 150: <-0.294729, 0.779017, 0.553415> + 151: <-0.333090, 0.767292, 0.548009> + 152: <-0.294207, 0.747816, 0.595158> + 153: <-0.255750, 0.757361, 0.600829> + 154: <-0.255937, 0.789266, 0.558172> + 155: <-0.294729, 0.779017, 0.553415> + 156: <-0.255750, 0.757361, 0.600829> + 157: <-0.216596, 0.765608, 0.605748> + 158: <-0.216534, 0.798110, 0.562257> + 159: <-0.255937, 0.789266, 0.558172> + 160: <-0.216596, 0.765608, 0.605748> + 161: <-0.176461, 0.772589, 0.609892> + 162: <-0.176188, 0.805587, 0.565675> + 163: <-0.216534, 0.798110, 0.562257> + 164: <-0.176461, 0.772589, 0.609892> + 165: <-0.135018, 0.778306, 0.613196> + 166: <-0.134618, 0.811677, 0.568382> + 167: <-0.176188, 0.805587, 0.565675> + 168: <-0.135018, 0.778306, 0.613196> + 169: <-0.091894, 0.782607, 0.615697> + 170: <-0.091497, 0.816271, 0.570377> + 171: <-0.134618, 0.811677, 0.568382> + 172: <-0.091894, 0.782607, 0.615697> + 173: <-0.046847, 0.785375, 0.617246> + 174: <-0.046573, 0.819208, 0.571602> + 175: <-0.091497, 0.816271, 0.570377> + 176: <-0.046847, 0.785375, 0.617246> + 177: < 0.000000, 0.786344, 0.617789> + 178: < 0.000000, 0.820237, 0.572024> + 179: <-0.046573, 0.819208, 0.571602> + 180: < 0.000000, 0.786344, 0.617789> + 181: < 0.046847, 0.785375, 0.617246> + 182: < 0.046573, 0.819208, 0.571602> + 183: < 0.000000, 0.820237, 0.572024> + 184: < 0.046847, 0.785375, 0.617246> + 185: < 0.091894, 0.782607, 0.615697> + 186: < 0.091497, 0.816271, 0.570377> + 187: < 0.046573, 0.819208, 0.571602> + 188: < 0.091894, 0.782607, 0.615697> + 189: < 0.135018, 0.778306, 0.613196> + 190: < 0.134618, 0.811677, 0.568382> + 191: < 0.091497, 0.816271, 0.570377> + 192: < 0.135018, 0.778306, 0.613196> + 193: < 0.176461, 0.772589, 0.609892> + 194: < 0.176188, 0.805587, 0.565675> + 195: < 0.134618, 0.811677, 0.568382> + 196: < 0.176461, 0.772589, 0.609892> + 197: < 0.216596, 0.765608, 0.605748> + 198: < 0.216534, 0.798110, 0.562257> + 199: < 0.176188, 0.805587, 0.565675> + 200: < 0.216596, 0.765608, 0.605748> + 201: < 0.255750, 0.757361, 0.600829> + 202: < 0.255937, 0.789266, 0.558172> + 203: < 0.216534, 0.798110, 0.562257> + 204: < 0.255750, 0.757361, 0.600829> + 205: < 0.294207, 0.747816, 0.595158> + 206: < 0.294729, 0.779017, 0.553415> + 207: < 0.255937, 0.789266, 0.558172> + 208: < 0.294207, 0.747816, 0.595158> + 209: < 0.332170, 0.736915, 0.588744> + 210: < 0.333090, 0.767292, 0.548009> + 211: < 0.294729, 0.779017, 0.553415> + 212: < 0.332170, 0.736915, 0.588744> + 213: < 0.369188, 0.724825, 0.581661> + 214: < 0.370721, 0.754169, 0.542028> + 215: < 0.333090, 0.767292, 0.548009> + 216: < 0.369188, 0.724825, 0.581661> + 217: < 0.404839, 0.711772, 0.574008> + 218: < 0.407307, 0.739812, 0.535518> + 219: < 0.370721, 0.754169, 0.542028> + 220: < 0.404839, 0.711772, 0.574008> + 221: < 0.439475, 0.697667, 0.565794> + 222: < 0.443145, 0.724109, 0.528478> + 223: < 0.407307, 0.739812, 0.535518> + 224: < 0.439475, 0.697667, 0.565794> + 225: < 0.473139, 0.682532, 0.557037> + 226: < 0.478425, 0.706895, 0.520969> + 227: < 0.443145, 0.724109, 0.528478> + 228: < 0.473139, 0.682532, 0.557037> + 229: < 0.506040, 0.666144, 0.547882> + 230: < 0.513252, 0.687856, 0.513252> + 231: < 0.478425, 0.706895, 0.520969> + 232: < 0.506040, 0.666144, 0.547882> + 233: < 0.538962, 0.647334, 0.538962> + 234: < 0.547882, 0.666144, 0.506040> + 235: < 0.513252, 0.687856, 0.513252> + 236: < 0.538962, 0.647334, 0.538962> + 237: < 0.571076, 0.625584, 0.531523> + 238: < 0.581456, 0.641397, 0.500519> + 239: < 0.547882, 0.666144, 0.506040> + 240: <-0.581456, 0.641397, 0.500519> + 241: <-0.547882, 0.666144, 0.506040> + 242: <-0.557037, 0.682532, 0.473139> + 243: <-0.591920, 0.655217, 0.469385> + 244: <-0.547882, 0.666144, 0.506040> + 245: <-0.513252, 0.687856, 0.513252> + 246: <-0.520969, 0.706895, 0.478425> + 247: <-0.557037, 0.682532, 0.473139> + 248: <-0.513252, 0.687856, 0.513252> + 249: <-0.478425, 0.706895, 0.520969> + 250: <-0.484430, 0.728461, 0.484430> + 251: <-0.520969, 0.706895, 0.478425> + 252: <-0.478425, 0.706895, 0.520969> + 253: <-0.443145, 0.724109, 0.528478> + 254: <-0.447593, 0.747688, 0.490534> + 255: <-0.484430, 0.728461, 0.484430> + 256: <-0.443145, 0.724109, 0.528478> + 257: <-0.407307, 0.739812, 0.535518> + 258: <-0.410392, 0.764964, 0.496395> + 259: <-0.447593, 0.747688, 0.490534> + 260: <-0.407307, 0.739812, 0.535518> + 261: <-0.370721, 0.754169, 0.542028> + 262: <-0.372705, 0.780568, 0.501802> + 263: <-0.410392, 0.764964, 0.496395> + 264: <-0.370721, 0.754169, 0.542028> + 265: <-0.333090, 0.767292, 0.548009> + 266: <-0.334337, 0.794627, 0.506740> + 267: <-0.372705, 0.780568, 0.501802> + 268: <-0.333090, 0.767292, 0.548009> + 269: <-0.294729, 0.779017, 0.553415> + 270: <-0.295457, 0.807082, 0.511198> + 271: <-0.334337, 0.794627, 0.506740> + 272: <-0.294729, 0.779017, 0.553415> + 273: <-0.255937, 0.789266, 0.558172> + 274: <-0.256243, 0.817925, 0.515110> + 275: <-0.295457, 0.807082, 0.511198> + 276: <-0.255937, 0.789266, 0.558172> + 277: <-0.216534, 0.798110, 0.562257> + 278: <-0.216475, 0.827263, 0.518435> + 279: <-0.256243, 0.817925, 0.515110> + 280: <-0.216534, 0.798110, 0.562257> + 281: <-0.176188, 0.805587, 0.565675> + 282: <-0.175853, 0.835133, 0.521180> + 283: <-0.216475, 0.827263, 0.518435> + 284: <-0.176188, 0.805587, 0.565675> + 285: <-0.134618, 0.811677, 0.568382> + 286: <-0.134100, 0.841527, 0.523307> + 287: <-0.175853, 0.835133, 0.521180> + 288: <-0.134618, 0.811677, 0.568382> + 289: <-0.091497, 0.816271, 0.570377> + 290: <-0.091008, 0.846324, 0.524836> + 291: <-0.134100, 0.841527, 0.523307> + 292: <-0.091497, 0.816271, 0.570377> + 293: <-0.046573, 0.819208, 0.571602> + 294: <-0.046267, 0.849378, 0.525753> + 295: <-0.091008, 0.846324, 0.524836> + 296: <-0.046573, 0.819208, 0.571602> + 297: < 0.000000, 0.820237, 0.572024> + 298: < 0.000000, 0.850434, 0.526081> + 299: <-0.046267, 0.849378, 0.525753> + 300: < 0.000000, 0.820237, 0.572024> + 301: < 0.046573, 0.819208, 0.571602> + 302: < 0.046267, 0.849378, 0.525753> + 303: < 0.000000, 0.850434, 0.526081> + 304: < 0.046573, 0.819208, 0.571602> + 305: < 0.091497, 0.816271, 0.570377> + 306: < 0.091008, 0.846324, 0.524836> + 307: < 0.046267, 0.849378, 0.525753> + 308: < 0.091497, 0.816271, 0.570377> + 309: < 0.134618, 0.811677, 0.568382> + 310: < 0.134100, 0.841527, 0.523307> + 311: < 0.091008, 0.846324, 0.524836> + 312: < 0.134618, 0.811677, 0.568382> + 313: < 0.176188, 0.805587, 0.565675> + 314: < 0.175853, 0.835133, 0.521180> + 315: < 0.134100, 0.841527, 0.523307> + 316: < 0.176188, 0.805587, 0.565675> + 317: < 0.216534, 0.798110, 0.562257> + 318: < 0.216475, 0.827263, 0.518435> + 319: < 0.175853, 0.835133, 0.521180> + 320: < 0.216534, 0.798110, 0.562257> + 321: < 0.255937, 0.789266, 0.558172> + 322: < 0.256243, 0.817925, 0.515110> + 323: < 0.216475, 0.827263, 0.518435> + 324: < 0.255937, 0.789266, 0.558172> + 325: < 0.294729, 0.779017, 0.553415> + 326: < 0.295457, 0.807082, 0.511198> + 327: < 0.256243, 0.817925, 0.515110> + 328: < 0.294729, 0.779017, 0.553415> + 329: < 0.333090, 0.767292, 0.548009> + 330: < 0.334310, 0.794636, 0.506745> + 331: < 0.295457, 0.807082, 0.511198> + 332: < 0.333090, 0.767292, 0.548009> + 333: < 0.370721, 0.754169, 0.542028> + 334: < 0.372705, 0.780568, 0.501802> + 335: < 0.334310, 0.794636, 0.506745> + 336: < 0.370721, 0.754169, 0.542028> + 337: < 0.407307, 0.739812, 0.535518> + 338: < 0.410392, 0.764964, 0.496395> + 339: < 0.372705, 0.780568, 0.501802> + 340: < 0.407307, 0.739812, 0.535518> + 341: < 0.443145, 0.724109, 0.528478> + 342: < 0.447593, 0.747688, 0.490534> + 343: < 0.410392, 0.764964, 0.496395> + 344: < 0.443145, 0.724109, 0.528478> + 345: < 0.478425, 0.706895, 0.520969> + 346: < 0.484430, 0.728461, 0.484430> + 347: < 0.447593, 0.747688, 0.490534> + 348: < 0.478425, 0.706895, 0.520969> + 349: < 0.513252, 0.687856, 0.513252> + 350: < 0.520969, 0.706895, 0.478425> + 351: < 0.484430, 0.728461, 0.484430> + 352: < 0.513252, 0.687856, 0.513252> + 353: < 0.547882, 0.666144, 0.506040> + 354: < 0.557037, 0.682532, 0.473139> + 355: < 0.520969, 0.706895, 0.478425> + 356: < 0.547882, 0.666144, 0.506040> + 357: < 0.581456, 0.641397, 0.500519> + 358: < 0.591920, 0.655217, 0.469385> + 359: < 0.557037, 0.682532, 0.473139> + 360: <-0.591920, 0.655217, 0.469385> + 361: <-0.557037, 0.682532, 0.473139> + 362: <-0.565794, 0.697667, 0.439475> + 363: <-0.601963, 0.668312, 0.437036> + 364: <-0.557037, 0.682532, 0.473139> + 365: <-0.520969, 0.706895, 0.478425> + 366: <-0.528478, 0.724109, 0.443145> + 367: <-0.565794, 0.697667, 0.439475> + 368: <-0.520969, 0.706895, 0.478425> + 369: <-0.484430, 0.728461, 0.484430> + 370: <-0.490534, 0.747688, 0.447593> + 371: <-0.528478, 0.724109, 0.443145> + 372: <-0.484430, 0.728461, 0.484430> + 373: <-0.447593, 0.747688, 0.490534> + 374: <-0.452290, 0.768679, 0.452290> + 375: <-0.490534, 0.747688, 0.447593> + 376: <-0.447593, 0.747688, 0.490534> + 377: <-0.410392, 0.764964, 0.496395> + 378: <-0.413777, 0.787421, 0.456900> + 379: <-0.452290, 0.768679, 0.452290> + 380: <-0.410392, 0.764964, 0.496395> + 381: <-0.372705, 0.780568, 0.501802> + 382: <-0.374961, 0.804154, 0.461239> + 383: <-0.413777, 0.787421, 0.456900> + 384: <-0.372705, 0.780568, 0.501802> + 385: <-0.334337, 0.794627, 0.506740> + 386: <-0.335801, 0.819039, 0.465202> + 387: <-0.374961, 0.804154, 0.461239> + 388: <-0.334337, 0.794627, 0.506740> + 389: <-0.295457, 0.807082, 0.511198> + 390: <-0.296339, 0.832128, 0.468770> + 391: <-0.335801, 0.819039, 0.465202> + 392: <-0.295457, 0.807082, 0.511198> + 393: <-0.256243, 0.817925, 0.515110> + 394: <-0.256606, 0.843490, 0.471888> + 395: <-0.296339, 0.832128, 0.468770> + 396: <-0.256243, 0.817925, 0.515110> + 397: <-0.216475, 0.827263, 0.518435> + 398: <-0.216413, 0.853230, 0.474515> + 399: <-0.256606, 0.843490, 0.471888> + 400: <-0.216475, 0.827263, 0.518435> + 401: <-0.175853, 0.835133, 0.521180> + 402: <-0.175453, 0.861426, 0.476614> + 403: <-0.216413, 0.853230, 0.474515> + 404: <-0.175853, 0.835133, 0.521180> + 405: <-0.134100, 0.841527, 0.523307> + 406: <-0.133553, 0.868033, 0.478208> + 407: <-0.175453, 0.861426, 0.476614> + 408: <-0.134100, 0.841527, 0.523307> + 409: <-0.091008, 0.846324, 0.524836> + 410: <-0.090429, 0.872976, 0.479307> + 411: <-0.133553, 0.868033, 0.478208> + 412: <-0.091008, 0.846324, 0.524836> + 413: <-0.046267, 0.849378, 0.525753> + 414: <-0.045871, 0.876095, 0.479951> + 415: <-0.090429, 0.872976, 0.479307> + 416: <-0.046267, 0.849378, 0.525753> + 417: < 0.000000, 0.850434, 0.526081> + 418: < 0.000000, 0.877169, 0.480182> + 419: <-0.045871, 0.876095, 0.479951> + 420: < 0.000000, 0.850434, 0.526081> + 421: < 0.046267, 0.849378, 0.525753> + 422: < 0.045871, 0.876095, 0.479951> + 423: < 0.000000, 0.877169, 0.480182> + 424: < 0.046267, 0.849378, 0.525753> + 425: < 0.091008, 0.846324, 0.524836> + 426: < 0.090429, 0.872976, 0.479307> + 427: < 0.045871, 0.876095, 0.479951> + 428: < 0.091008, 0.846324, 0.524836> + 429: < 0.134100, 0.841527, 0.523307> + 430: < 0.133553, 0.868033, 0.478208> + 431: < 0.090429, 0.872976, 0.479307> + 432: < 0.134100, 0.841527, 0.523307> + 433: < 0.175853, 0.835133, 0.521180> + 434: < 0.175453, 0.861426, 0.476614> + 435: < 0.133553, 0.868033, 0.478208> + 436: < 0.175853, 0.835133, 0.521180> + 437: < 0.216475, 0.827263, 0.518435> + 438: < 0.216413, 0.853230, 0.474515> + 439: < 0.175453, 0.861426, 0.476614> + 440: < 0.216475, 0.827263, 0.518435> + 441: < 0.256243, 0.817925, 0.515110> + 442: < 0.256606, 0.843490, 0.471888> + 443: < 0.216413, 0.853230, 0.474515> + 444: < 0.256243, 0.817925, 0.515110> + 445: < 0.295457, 0.807082, 0.511198> + 446: < 0.296339, 0.832128, 0.468770> + 447: < 0.256606, 0.843490, 0.471888> + 448: < 0.295457, 0.807082, 0.511198> + 449: < 0.334310, 0.794636, 0.506745> + 450: < 0.335801, 0.819039, 0.465202> + 451: < 0.296339, 0.832128, 0.468770> + 452: < 0.334310, 0.794636, 0.506745> + 453: < 0.372705, 0.780568, 0.501802> + 454: < 0.374961, 0.804154, 0.461239> + 455: < 0.335801, 0.819039, 0.465202> + 456: < 0.372705, 0.780568, 0.501802> + 457: < 0.410392, 0.764964, 0.496395> + 458: < 0.413777, 0.787421, 0.456900> + 459: < 0.374961, 0.804154, 0.461239> + 460: < 0.410392, 0.764964, 0.496395> + 461: < 0.447593, 0.747688, 0.490534> + 462: < 0.452290, 0.768679, 0.452290> + 463: < 0.413777, 0.787421, 0.456900> + 464: < 0.447593, 0.747688, 0.490534> + 465: < 0.484430, 0.728461, 0.484430> + 466: < 0.490534, 0.747688, 0.447593> + 467: < 0.452290, 0.768679, 0.452290> + 468: < 0.484430, 0.728461, 0.484430> + 469: < 0.520969, 0.706895, 0.478425> + 470: < 0.528478, 0.724109, 0.443145> + 471: < 0.490534, 0.747688, 0.447593> + 472: < 0.520969, 0.706895, 0.478425> + 473: < 0.557037, 0.682532, 0.473139> + 474: < 0.565794, 0.697667, 0.439475> + 475: < 0.528478, 0.724109, 0.443145> + 476: < 0.557037, 0.682532, 0.473139> + 477: < 0.591920, 0.655217, 0.469385> + 478: < 0.601963, 0.668312, 0.437036> + 479: < 0.565794, 0.697667, 0.439475> + 480: <-0.601963, 0.668312, 0.437036> + 481: <-0.565794, 0.697667, 0.439475> + 482: <-0.574008, 0.711772, 0.404839> + 483: <-0.611427, 0.680859, 0.403223> + 484: <-0.565794, 0.697667, 0.439475> + 485: <-0.528478, 0.724109, 0.443145> + 486: <-0.535518, 0.739812, 0.407307> + 487: <-0.574008, 0.711772, 0.404839> + 488: <-0.528478, 0.724109, 0.443145> + 489: <-0.490534, 0.747688, 0.447593> + 490: <-0.496372, 0.764976, 0.410398> + 491: <-0.535518, 0.739812, 0.407307> + 492: <-0.490534, 0.747688, 0.447593> + 493: <-0.452290, 0.768679, 0.452290> + 494: <-0.456900, 0.787421, 0.413777> + 495: <-0.496372, 0.764976, 0.410398> + 496: <-0.452290, 0.768679, 0.452290> + 497: <-0.413777, 0.787421, 0.456900> + 498: <-0.417202, 0.807394, 0.417202> + 499: <-0.456900, 0.787421, 0.413777> + 500: <-0.413777, 0.787421, 0.456900> + 501: <-0.374961, 0.804154, 0.461239> + 502: <-0.377345, 0.825100, 0.420500> + 503: <-0.417202, 0.807394, 0.417202> + 504: <-0.374961, 0.804154, 0.461239> + 505: <-0.335801, 0.819039, 0.465202> + 506: <-0.337391, 0.840684, 0.423577> + 507: <-0.377345, 0.825100, 0.420500> + 508: <-0.335801, 0.819039, 0.465202> + 509: <-0.296339, 0.832128, 0.468770> + 510: <-0.297287, 0.854324, 0.426323> + 511: <-0.337391, 0.840684, 0.423577> + 512: <-0.296339, 0.832128, 0.468770> + 513: <-0.256606, 0.843490, 0.471888> + 514: <-0.256999, 0.866124, 0.428698> + 515: <-0.297287, 0.854324, 0.426323> + 516: <-0.256606, 0.843490, 0.471888> + 517: <-0.216413, 0.853230, 0.474515> + 518: <-0.216320, 0.876208, 0.430657> + 519: <-0.256999, 0.866124, 0.428698> + 520: <-0.216413, 0.853230, 0.474515> + 521: <-0.175453, 0.861426, 0.476614> + 522: <-0.175026, 0.884654, 0.432149> + 523: <-0.216320, 0.876208, 0.430657> + 524: <-0.175453, 0.861426, 0.476614> + 525: <-0.133553, 0.868033, 0.478208> + 526: <-0.132911, 0.891405, 0.433281> + 527: <-0.175026, 0.884654, 0.432149> + 528: <-0.133553, 0.868033, 0.478208> + 529: <-0.090429, 0.872976, 0.479307> + 530: <-0.089787, 0.896437, 0.433981> + 531: <-0.132911, 0.891405, 0.433281> + 532: <-0.090429, 0.872976, 0.479307> + 533: <-0.045871, 0.876095, 0.479951> + 534: <-0.045443, 0.899583, 0.434379> + 535: <-0.089787, 0.896437, 0.433981> + 536: <-0.045871, 0.876095, 0.479951> + 537: < 0.000000, 0.877169, 0.480182> + 538: < 0.000000, 0.900667, 0.434509> + 539: <-0.045443, 0.899583, 0.434379> + 540: < 0.000000, 0.877169, 0.480182> + 541: < 0.045871, 0.876095, 0.479951> + 542: < 0.045443, 0.899583, 0.434379> + 543: < 0.000000, 0.900667, 0.434509> + 544: < 0.045871, 0.876095, 0.479951> + 545: < 0.090429, 0.872976, 0.479307> + 546: < 0.089787, 0.896437, 0.433981> + 547: < 0.045443, 0.899583, 0.434379> + 548: < 0.090429, 0.872976, 0.479307> + 549: < 0.133553, 0.868033, 0.478208> + 550: < 0.132911, 0.891405, 0.433281> + 551: < 0.089787, 0.896437, 0.433981> + 552: < 0.133553, 0.868033, 0.478208> + 553: < 0.175453, 0.861426, 0.476614> + 554: < 0.175026, 0.884654, 0.432149> + 555: < 0.132911, 0.891405, 0.433281> + 556: < 0.175453, 0.861426, 0.476614> + 557: < 0.216413, 0.853230, 0.474515> + 558: < 0.216320, 0.876208, 0.430657> + 559: < 0.175026, 0.884654, 0.432149> + 560: < 0.216413, 0.853230, 0.474515> + 561: < 0.256606, 0.843490, 0.471888> + 562: < 0.256999, 0.866124, 0.428698> + 563: < 0.216320, 0.876208, 0.430657> + 564: < 0.256606, 0.843490, 0.471888> + 565: < 0.296339, 0.832128, 0.468770> + 566: < 0.297287, 0.854324, 0.426323> + 567: < 0.256999, 0.866124, 0.428698> + 568: < 0.296339, 0.832128, 0.468770> + 569: < 0.335801, 0.819039, 0.465202> + 570: < 0.337391, 0.840684, 0.423577> + 571: < 0.297287, 0.854324, 0.426323> + 572: < 0.335801, 0.819039, 0.465202> + 573: < 0.374961, 0.804154, 0.461239> + 574: < 0.377345, 0.825100, 0.420500> + 575: < 0.337391, 0.840684, 0.423577> + 576: < 0.374961, 0.804154, 0.461239> + 577: < 0.413777, 0.787421, 0.456900> + 578: < 0.417202, 0.807394, 0.417202> + 579: < 0.377345, 0.825100, 0.420500> + 580: < 0.413777, 0.787421, 0.456900> + 581: < 0.452290, 0.768679, 0.452290> + 582: < 0.456900, 0.787421, 0.413777> + 583: < 0.417202, 0.807394, 0.417202> + 584: < 0.452290, 0.768679, 0.452290> + 585: < 0.490534, 0.747688, 0.447593> + 586: < 0.496372, 0.764976, 0.410398> + 587: < 0.456900, 0.787421, 0.413777> + 588: < 0.490534, 0.747688, 0.447593> + 589: < 0.528478, 0.724109, 0.443145> + 590: < 0.535518, 0.739812, 0.407307> + 591: < 0.496372, 0.764976, 0.410398> + 592: < 0.528478, 0.724109, 0.443145> + 593: < 0.565794, 0.697667, 0.439475> + 594: < 0.574008, 0.711772, 0.404839> + 595: < 0.535518, 0.739812, 0.407307> + 596: < 0.565794, 0.697667, 0.439475> + 597: < 0.601963, 0.668312, 0.437036> + 598: < 0.611427, 0.680859, 0.403223> + 599: < 0.574008, 0.711772, 0.404839> + 600: <-0.611427, 0.680859, 0.403223> + 601: <-0.574008, 0.711772, 0.404839> + 602: <-0.581661, 0.724825, 0.369188> + 603: <-0.620305, 0.692544, 0.368246> + 604: <-0.574008, 0.711772, 0.404839> + 605: <-0.535518, 0.739812, 0.407307> + 606: <-0.542028, 0.754169, 0.370721> + 607: <-0.581661, 0.724825, 0.369188> + 608: <-0.535518, 0.739812, 0.407307> + 609: <-0.496372, 0.764976, 0.410398> + 610: <-0.501802, 0.780568, 0.372705> + 611: <-0.542028, 0.754169, 0.370721> + 612: <-0.496372, 0.764976, 0.410398> + 613: <-0.456900, 0.787421, 0.413777> + 614: <-0.461239, 0.804154, 0.374961> + 615: <-0.501802, 0.780568, 0.372705> + 616: <-0.456900, 0.787421, 0.413777> + 617: <-0.417202, 0.807394, 0.417202> + 618: <-0.420500, 0.825100, 0.377345> + 619: <-0.461239, 0.804154, 0.374961> + 620: <-0.417202, 0.807394, 0.417202> + 621: <-0.377345, 0.825100, 0.420500> + 622: <-0.379751, 0.843551, 0.379751> + 623: <-0.420500, 0.825100, 0.377345> + 624: <-0.377345, 0.825100, 0.420500> + 625: <-0.337391, 0.840684, 0.423577> + 626: <-0.339005, 0.859750, 0.381976> + 627: <-0.379751, 0.843551, 0.379751> + 628: <-0.337391, 0.840684, 0.423577> + 629: <-0.297287, 0.854324, 0.426323> + 630: <-0.298259, 0.873840, 0.383986> + 631: <-0.339005, 0.859750, 0.381976> + 632: <-0.297287, 0.854324, 0.426323> + 633: <-0.256999, 0.866124, 0.428698> + 634: <-0.257364, 0.886018, 0.385664> + 635: <-0.298259, 0.873840, 0.383986> + 636: <-0.256999, 0.866124, 0.428698> + 637: <-0.216320, 0.876208, 0.430657> + 638: <-0.216199, 0.896382, 0.386985> + 639: <-0.257364, 0.886018, 0.385664> + 640: <-0.216320, 0.876208, 0.430657> + 641: <-0.175026, 0.884654, 0.432149> + 642: <-0.174541, 0.904997, 0.387965> + 643: <-0.216199, 0.896382, 0.386985> + 644: <-0.175026, 0.884654, 0.432149> + 645: <-0.132911, 0.891405, 0.433281> + 646: <-0.132240, 0.911854, 0.388632> + 647: <-0.174541, 0.904997, 0.387965> + 648: <-0.132911, 0.891405, 0.433281> + 649: <-0.089787, 0.896437, 0.433981> + 650: <-0.089116, 0.916918, 0.388998> + 651: <-0.132240, 0.911854, 0.388632> + 652: <-0.089787, 0.896437, 0.433981> + 653: <-0.045443, 0.899583, 0.434379> + 654: <-0.045016, 0.920061, 0.389180> + 655: <-0.089116, 0.916918, 0.388998> + 656: <-0.045443, 0.899583, 0.434379> + 657: < 0.000000, 0.900667, 0.434509> + 658: < 0.000000, 0.921135, 0.389244> + 659: <-0.045016, 0.920061, 0.389180> + 660: < 0.000000, 0.900667, 0.434509> + 661: < 0.045443, 0.899583, 0.434379> + 662: < 0.045016, 0.920061, 0.389180> + 663: < 0.000000, 0.921135, 0.389244> + 664: < 0.045443, 0.899583, 0.434379> + 665: < 0.089787, 0.896437, 0.433981> + 666: < 0.089116, 0.916918, 0.388998> + 667: < 0.045016, 0.920061, 0.389180> + 668: < 0.089787, 0.896437, 0.433981> + 669: < 0.132911, 0.891405, 0.433281> + 670: < 0.132240, 0.911854, 0.388632> + 671: < 0.089116, 0.916918, 0.388998> + 672: < 0.132911, 0.891405, 0.433281> + 673: < 0.175026, 0.884654, 0.432149> + 674: < 0.174541, 0.904997, 0.387965> + 675: < 0.132240, 0.911854, 0.388632> + 676: < 0.175026, 0.884654, 0.432149> + 677: < 0.216320, 0.876208, 0.430657> + 678: < 0.216199, 0.896382, 0.386985> + 679: < 0.174541, 0.904997, 0.387965> + 680: < 0.216320, 0.876208, 0.430657> + 681: < 0.256999, 0.866124, 0.428698> + 682: < 0.257364, 0.886018, 0.385664> + 683: < 0.216199, 0.896382, 0.386985> + 684: < 0.256999, 0.866124, 0.428698> + 685: < 0.297287, 0.854324, 0.426323> + 686: < 0.298259, 0.873840, 0.383986> + 687: < 0.257364, 0.886018, 0.385664> + 688: < 0.297287, 0.854324, 0.426323> + 689: < 0.337391, 0.840684, 0.423577> + 690: < 0.339005, 0.859750, 0.381976> + 691: < 0.298259, 0.873840, 0.383986> + 692: < 0.337391, 0.840684, 0.423577> + 693: < 0.377345, 0.825100, 0.420500> + 694: < 0.379751, 0.843551, 0.379751> + 695: < 0.339005, 0.859750, 0.381976> + 696: < 0.377345, 0.825100, 0.420500> + 697: < 0.417202, 0.807394, 0.417202> + 698: < 0.420500, 0.825100, 0.377345> + 699: < 0.379751, 0.843551, 0.379751> + 700: < 0.417202, 0.807394, 0.417202> + 701: < 0.456900, 0.787421, 0.413777> + 702: < 0.461239, 0.804154, 0.374961> + 703: < 0.420500, 0.825100, 0.377345> + 704: < 0.456900, 0.787421, 0.413777> + 705: < 0.496372, 0.764976, 0.410398> + 706: < 0.501802, 0.780568, 0.372705> + 707: < 0.461239, 0.804154, 0.374961> + 708: < 0.496372, 0.764976, 0.410398> + 709: < 0.535518, 0.739812, 0.407307> + 710: < 0.542028, 0.754169, 0.370721> + 711: < 0.501802, 0.780568, 0.372705> + 712: < 0.535518, 0.739812, 0.407307> + 713: < 0.574008, 0.711772, 0.404839> + 714: < 0.581661, 0.724825, 0.369188> + 715: < 0.542028, 0.754169, 0.370721> + 716: < 0.574008, 0.711772, 0.404839> + 717: < 0.611427, 0.680859, 0.403223> + 718: < 0.620305, 0.692544, 0.368246> + 719: < 0.581661, 0.724825, 0.369188> + 720: <-0.620305, 0.692544, 0.368246> + 721: <-0.581661, 0.724825, 0.369188> + 722: <-0.588744, 0.736915, 0.332170> + 723: <-0.628603, 0.703467, 0.331652> + 724: <-0.581661, 0.724825, 0.369188> + 725: <-0.542028, 0.754169, 0.370721> + 726: <-0.548009, 0.767292, 0.333090> + 727: <-0.588744, 0.736915, 0.332170> + 728: <-0.542028, 0.754169, 0.370721> + 729: <-0.501802, 0.780568, 0.372705> + 730: <-0.506745, 0.794636, 0.334310> + 731: <-0.548009, 0.767292, 0.333090> + 732: <-0.501802, 0.780568, 0.372705> + 733: <-0.461239, 0.804154, 0.374961> + 734: <-0.465202, 0.819039, 0.335801> + 735: <-0.506745, 0.794636, 0.334310> + 736: <-0.461239, 0.804154, 0.374961> + 737: <-0.420500, 0.825100, 0.377345> + 738: <-0.423577, 0.840684, 0.337391> + 739: <-0.465202, 0.819039, 0.335801> + 740: <-0.420500, 0.825100, 0.377345> + 741: <-0.379751, 0.843551, 0.379751> + 742: <-0.381976, 0.859750, 0.339005> + 743: <-0.423577, 0.840684, 0.337391> + 744: <-0.379751, 0.843551, 0.379751> + 745: <-0.339005, 0.859750, 0.381976> + 746: <-0.340503, 0.876422, 0.340503> + 747: <-0.381976, 0.859750, 0.339005> + 748: <-0.339005, 0.859750, 0.381976> + 749: <-0.298259, 0.873840, 0.383986> + 750: <-0.299085, 0.890906, 0.341811> + 751: <-0.340503, 0.876422, 0.340503> + 752: <-0.298259, 0.873840, 0.383986> + 753: <-0.257364, 0.886018, 0.385664> + 754: <-0.257643, 0.903367, 0.342852> + 755: <-0.299085, 0.890906, 0.341811> + 756: <-0.257364, 0.886018, 0.385664> + 757: <-0.216199, 0.896382, 0.386985> + 758: <-0.215982, 0.913949, 0.343582> + 759: <-0.257643, 0.903367, 0.342852> + 760: <-0.216199, 0.896382, 0.386985> + 761: <-0.174541, 0.904997, 0.387965> + 762: <-0.173989, 0.922682, 0.344072> + 763: <-0.215982, 0.913949, 0.343582> + 764: <-0.174541, 0.904997, 0.387965> + 765: <-0.132240, 0.911854, 0.388632> + 766: <-0.131509, 0.929596, 0.344322> + 767: <-0.173989, 0.922682, 0.344072> + 768: <-0.132240, 0.911854, 0.388632> + 769: <-0.089116, 0.916918, 0.388998> + 770: <-0.088414, 0.934648, 0.344408> + 771: <-0.131509, 0.929596, 0.344322> + 772: <-0.089116, 0.916918, 0.388998> + 773: <-0.045016, 0.920061, 0.389180> + 774: <-0.044558, 0.937762, 0.344409> + 775: <-0.088414, 0.934648, 0.344408> + 776: <-0.045016, 0.920061, 0.389180> + 777: < 0.000000, 0.921135, 0.389244> + 778: < 0.000000, 0.938821, 0.344405> + 779: <-0.044558, 0.937762, 0.344409> + 780: < 0.000000, 0.921135, 0.389244> + 781: < 0.045016, 0.920061, 0.389180> + 782: < 0.044558, 0.937762, 0.344409> + 783: < 0.000000, 0.938821, 0.344405> + 784: < 0.045016, 0.920061, 0.389180> + 785: < 0.089116, 0.916918, 0.388998> + 786: < 0.088414, 0.934648, 0.344408> + 787: < 0.044558, 0.937762, 0.344409> + 788: < 0.089116, 0.916918, 0.388998> + 789: < 0.132240, 0.911854, 0.388632> + 790: < 0.131509, 0.929596, 0.344322> + 791: < 0.088414, 0.934648, 0.344408> + 792: < 0.132240, 0.911854, 0.388632> + 793: < 0.174541, 0.904997, 0.387965> + 794: < 0.173989, 0.922682, 0.344072> + 795: < 0.131509, 0.929596, 0.344322> + 796: < 0.174541, 0.904997, 0.387965> + 797: < 0.216199, 0.896382, 0.386985> + 798: < 0.215982, 0.913949, 0.343582> + 799: < 0.173989, 0.922682, 0.344072> + 800: < 0.216199, 0.896382, 0.386985> + 801: < 0.257364, 0.886018, 0.385664> + 802: < 0.257643, 0.903367, 0.342852> + 803: < 0.215982, 0.913949, 0.343582> + 804: < 0.257364, 0.886018, 0.385664> + 805: < 0.298259, 0.873840, 0.383986> + 806: < 0.299085, 0.890906, 0.341811> + 807: < 0.257643, 0.903367, 0.342852> + 808: < 0.298259, 0.873840, 0.383986> + 809: < 0.339005, 0.859750, 0.381976> + 810: < 0.340503, 0.876422, 0.340503> + 811: < 0.299085, 0.890906, 0.341811> + 812: < 0.339005, 0.859750, 0.381976> + 813: < 0.379751, 0.843551, 0.379751> + 814: < 0.381976, 0.859750, 0.339005> + 815: < 0.340503, 0.876422, 0.340503> + 816: < 0.379751, 0.843551, 0.379751> + 817: < 0.420500, 0.825100, 0.377345> + 818: < 0.423577, 0.840684, 0.337391> + 819: < 0.381976, 0.859750, 0.339005> + 820: < 0.420500, 0.825100, 0.377345> + 821: < 0.461239, 0.804154, 0.374961> + 822: < 0.465202, 0.819039, 0.335801> + 823: < 0.423577, 0.840684, 0.337391> + 824: < 0.461239, 0.804154, 0.374961> + 825: < 0.501802, 0.780568, 0.372705> + 826: < 0.506740, 0.794627, 0.334337> + 827: < 0.465202, 0.819039, 0.335801> + 828: < 0.501802, 0.780568, 0.372705> + 829: < 0.542028, 0.754169, 0.370721> + 830: < 0.548009, 0.767292, 0.333090> + 831: < 0.506740, 0.794627, 0.334337> + 832: < 0.542028, 0.754169, 0.370721> + 833: < 0.581661, 0.724825, 0.369188> + 834: < 0.588744, 0.736915, 0.332170> + 835: < 0.548009, 0.767292, 0.333090> + 836: < 0.581661, 0.724825, 0.369188> + 837: < 0.620305, 0.692544, 0.368246> + 838: < 0.628603, 0.703467, 0.331652> + 839: < 0.588744, 0.736915, 0.332170> + 840: <-0.628603, 0.703467, 0.331652> + 841: <-0.588744, 0.736915, 0.332170> + 842: <-0.595158, 0.747816, 0.294207> + 843: <-0.636150, 0.713396, 0.293904> + 844: <-0.588744, 0.736915, 0.332170> + 845: <-0.548009, 0.767292, 0.333090> + 846: <-0.553415, 0.779017, 0.294729> + 847: <-0.595158, 0.747816, 0.294207> + 848: <-0.548009, 0.767292, 0.333090> + 849: <-0.506745, 0.794636, 0.334310> + 850: <-0.511198, 0.807082, 0.295457> + 851: <-0.553415, 0.779017, 0.294729> + 852: <-0.506745, 0.794636, 0.334310> + 853: <-0.465202, 0.819039, 0.335801> + 854: <-0.468770, 0.832128, 0.296339> + 855: <-0.511198, 0.807082, 0.295457> + 856: <-0.465202, 0.819039, 0.335801> + 857: <-0.423577, 0.840684, 0.337391> + 858: <-0.426323, 0.854324, 0.297287> + 859: <-0.468770, 0.832128, 0.296339> + 860: <-0.423577, 0.840684, 0.337391> + 861: <-0.381976, 0.859750, 0.339005> + 862: <-0.383989, 0.873848, 0.298231> + 863: <-0.426323, 0.854324, 0.297287> + 864: <-0.381976, 0.859750, 0.339005> + 865: <-0.340503, 0.876422, 0.340503> + 866: <-0.341811, 0.890906, 0.299085> + 867: <-0.383989, 0.873848, 0.298231> + 868: <-0.340503, 0.876422, 0.340503> + 869: <-0.299085, 0.890906, 0.341811> + 870: <-0.299762, 0.905696, 0.299762> + 871: <-0.341811, 0.890906, 0.299085> + 872: <-0.299085, 0.890906, 0.341811> + 873: <-0.257643, 0.903367, 0.342852> + 874: <-0.257736, 0.918390, 0.300219> + 875: <-0.299762, 0.905696, 0.299762> + 876: <-0.257643, 0.903367, 0.342852> + 877: <-0.215982, 0.913949, 0.343582> + 878: <-0.215649, 0.929096, 0.300461> + 879: <-0.257736, 0.918390, 0.300219> + 880: <-0.215982, 0.913949, 0.343582> + 881: <-0.173989, 0.922682, 0.344072> + 882: <-0.173351, 0.937897, 0.300496> + 883: <-0.215649, 0.929096, 0.300461> + 884: <-0.173989, 0.922682, 0.344072> + 885: <-0.131509, 0.929596, 0.344322> + 886: <-0.130743, 0.944802, 0.300427> + 887: <-0.173351, 0.937897, 0.300496> + 888: <-0.131509, 0.929596, 0.344322> + 889: <-0.088414, 0.934648, 0.344408> + 890: <-0.087712, 0.949820, 0.300248> + 891: <-0.130743, 0.944802, 0.300427> + 892: <-0.088414, 0.934648, 0.344408> + 893: <-0.044558, 0.937762, 0.344409> + 894: <-0.044130, 0.952889, 0.300092> + 895: <-0.087712, 0.949820, 0.300248> + 896: <-0.044558, 0.937762, 0.344409> + 897: < 0.000000, 0.938821, 0.344405> + 898: < 0.000000, 0.953921, 0.300059> + 899: <-0.044130, 0.952889, 0.300092> + 900: < 0.000000, 0.938821, 0.344405> + 901: < 0.044558, 0.937762, 0.344409> + 902: < 0.044130, 0.952889, 0.300092> + 903: < 0.000000, 0.953921, 0.300059> + 904: < 0.044558, 0.937762, 0.344409> + 905: < 0.088414, 0.934648, 0.344408> + 906: < 0.087712, 0.949820, 0.300248> + 907: < 0.044130, 0.952889, 0.300092> + 908: < 0.088414, 0.934648, 0.344408> + 909: < 0.131509, 0.929596, 0.344322> + 910: < 0.130743, 0.944802, 0.300427> + 911: < 0.087712, 0.949820, 0.300248> + 912: < 0.131509, 0.929596, 0.344322> + 913: < 0.173989, 0.922682, 0.344072> + 914: < 0.173351, 0.937897, 0.300496> + 915: < 0.130743, 0.944802, 0.300427> + 916: < 0.173989, 0.922682, 0.344072> + 917: < 0.215982, 0.913949, 0.343582> + 918: < 0.215649, 0.929096, 0.300461> + 919: < 0.173351, 0.937897, 0.300496> + 920: < 0.215982, 0.913949, 0.343582> + 921: < 0.257643, 0.903367, 0.342852> + 922: < 0.257736, 0.918390, 0.300219> + 923: < 0.215649, 0.929096, 0.300461> + 924: < 0.257643, 0.903367, 0.342852> + 925: < 0.299085, 0.890906, 0.341811> + 926: < 0.299762, 0.905696, 0.299762> + 927: < 0.257736, 0.918390, 0.300219> + 928: < 0.299085, 0.890906, 0.341811> + 929: < 0.340503, 0.876422, 0.340503> + 930: < 0.341811, 0.890906, 0.299085> + 931: < 0.299762, 0.905696, 0.299762> + 932: < 0.340503, 0.876422, 0.340503> + 933: < 0.381976, 0.859750, 0.339005> + 934: < 0.383986, 0.873840, 0.298259> + 935: < 0.341811, 0.890906, 0.299085> + 936: < 0.381976, 0.859750, 0.339005> + 937: < 0.423577, 0.840684, 0.337391> + 938: < 0.426323, 0.854324, 0.297287> + 939: < 0.383986, 0.873840, 0.298259> + 940: < 0.423577, 0.840684, 0.337391> + 941: < 0.465202, 0.819039, 0.335801> + 942: < 0.468770, 0.832128, 0.296339> + 943: < 0.426323, 0.854324, 0.297287> + 944: < 0.465202, 0.819039, 0.335801> + 945: < 0.506740, 0.794627, 0.334337> + 946: < 0.511198, 0.807082, 0.295457> + 947: < 0.468770, 0.832128, 0.296339> + 948: < 0.506740, 0.794627, 0.334337> + 949: < 0.548009, 0.767292, 0.333090> + 950: < 0.553415, 0.779017, 0.294729> + 951: < 0.511198, 0.807082, 0.295457> + 952: < 0.548009, 0.767292, 0.333090> + 953: < 0.588744, 0.736915, 0.332170> + 954: < 0.595158, 0.747816, 0.294207> + 955: < 0.553415, 0.779017, 0.294729> + 956: < 0.588744, 0.736915, 0.332170> + 957: < 0.628603, 0.703467, 0.331652> + 958: < 0.636150, 0.713396, 0.293904> + 959: < 0.595158, 0.747816, 0.294207> + 960: <-0.636150, 0.713396, 0.293904> + 961: <-0.595158, 0.747816, 0.294207> + 962: <-0.600829, 0.757361, 0.255750> + 963: <-0.642833, 0.722093, 0.255632> + 964: <-0.595158, 0.747816, 0.294207> + 965: <-0.553415, 0.779017, 0.294729> + 966: <-0.558172, 0.789266, 0.255937> + 967: <-0.600829, 0.757361, 0.255750> + 968: <-0.553415, 0.779017, 0.294729> + 969: <-0.511198, 0.807082, 0.295457> + 970: <-0.515110, 0.817925, 0.256243> + 971: <-0.558172, 0.789266, 0.255937> + 972: <-0.511198, 0.807082, 0.295457> + 973: <-0.468770, 0.832128, 0.296339> + 974: <-0.471888, 0.843490, 0.256606> + 975: <-0.515110, 0.817925, 0.256243> + 976: <-0.468770, 0.832128, 0.296339> + 977: <-0.426323, 0.854324, 0.297287> + 978: <-0.428698, 0.866124, 0.256999> + 979: <-0.471888, 0.843490, 0.256606> + 980: <-0.426323, 0.854324, 0.297287> + 981: <-0.383989, 0.873848, 0.298231> + 982: <-0.385664, 0.886018, 0.257364> + 983: <-0.428698, 0.866124, 0.256999> + 984: <-0.383989, 0.873848, 0.298231> + 985: <-0.341811, 0.890906, 0.299085> + 986: <-0.342852, 0.903367, 0.257643> + 987: <-0.385664, 0.886018, 0.257364> + 988: <-0.341811, 0.890906, 0.299085> + 989: <-0.299762, 0.905696, 0.299762> + 990: <-0.300219, 0.918390, 0.257736> + 991: <-0.342852, 0.903367, 0.257643> + 992: <-0.299762, 0.905696, 0.299762> + 993: <-0.257736, 0.918390, 0.300219> + 994: <-0.257702, 0.931225, 0.257702> + 995: <-0.300219, 0.918390, 0.257736> + 996: <-0.257736, 0.918390, 0.300219> + 997: <-0.215649, 0.929096, 0.300461> + 998: <-0.215220, 0.942000, 0.257519> + 999: <-0.257702, 0.931225, 0.257702> + 1000: <-0.215649, 0.929096, 0.300461> + 1001: <-0.173351, 0.937897, 0.300496> + 1002: <-0.172679, 0.950800, 0.257217> + 1003: <-0.215220, 0.942000, 0.257519> + 1004: <-0.173351, 0.937897, 0.300496> + 1005: <-0.130743, 0.944802, 0.300427> + 1006: <-0.129981, 0.957663, 0.256880> + 1007: <-0.172679, 0.950800, 0.257217> + 1008: <-0.130743, 0.944802, 0.300427> + 1009: <-0.087712, 0.949820, 0.300248> + 1010: <-0.087041, 0.962605, 0.256544> + 1011: <-0.129981, 0.957663, 0.256880> + 1012: <-0.087712, 0.949820, 0.300248> + 1013: <-0.044130, 0.952889, 0.300092> + 1014: <-0.043703, 0.965618, 0.256267> + 1015: <-0.087041, 0.962605, 0.256544> + 1016: <-0.044130, 0.952889, 0.300092> + 1017: < 0.000000, 0.953921, 0.300059> + 1018: < 0.000000, 0.966630, 0.256177> + 1019: <-0.043703, 0.965618, 0.256267> + 1020: < 0.000000, 0.953921, 0.300059> + 1021: < 0.044130, 0.952889, 0.300092> + 1022: < 0.043703, 0.965618, 0.256267> + 1023: < 0.000000, 0.966630, 0.256177> + 1024: < 0.044130, 0.952889, 0.300092> + 1025: < 0.087712, 0.949820, 0.300248> + 1026: < 0.087041, 0.962605, 0.256544> + 1027: < 0.043703, 0.965618, 0.256267> + 1028: < 0.087712, 0.949820, 0.300248> + 1029: < 0.130743, 0.944802, 0.300427> + 1030: < 0.129981, 0.957663, 0.256880> + 1031: < 0.087041, 0.962605, 0.256544> + 1032: < 0.130743, 0.944802, 0.300427> + 1033: < 0.173351, 0.937897, 0.300496> + 1034: < 0.172679, 0.950800, 0.257217> + 1035: < 0.129981, 0.957663, 0.256880> + 1036: < 0.173351, 0.937897, 0.300496> + 1037: < 0.215649, 0.929096, 0.300461> + 1038: < 0.215220, 0.942000, 0.257519> + 1039: < 0.172679, 0.950800, 0.257217> + 1040: < 0.215649, 0.929096, 0.300461> + 1041: < 0.257736, 0.918390, 0.300219> + 1042: < 0.257702, 0.931225, 0.257702> + 1043: < 0.215220, 0.942000, 0.257519> + 1044: < 0.257736, 0.918390, 0.300219> + 1045: < 0.299762, 0.905696, 0.299762> + 1046: < 0.300219, 0.918390, 0.257736> + 1047: < 0.257702, 0.931225, 0.257702> + 1048: < 0.299762, 0.905696, 0.299762> + 1049: < 0.341811, 0.890906, 0.299085> + 1050: < 0.342852, 0.903367, 0.257643> + 1051: < 0.300219, 0.918390, 0.257736> + 1052: < 0.341811, 0.890906, 0.299085> + 1053: < 0.383986, 0.873840, 0.298259> + 1054: < 0.385664, 0.886018, 0.257364> + 1055: < 0.342852, 0.903367, 0.257643> + 1056: < 0.383986, 0.873840, 0.298259> + 1057: < 0.426323, 0.854324, 0.297287> + 1058: < 0.428698, 0.866124, 0.256999> + 1059: < 0.385664, 0.886018, 0.257364> + 1060: < 0.426323, 0.854324, 0.297287> + 1061: < 0.468770, 0.832128, 0.296339> + 1062: < 0.471888, 0.843490, 0.256606> + 1063: < 0.428698, 0.866124, 0.256999> + 1064: < 0.468770, 0.832128, 0.296339> + 1065: < 0.511198, 0.807082, 0.295457> + 1066: < 0.515110, 0.817925, 0.256243> + 1067: < 0.471888, 0.843490, 0.256606> + 1068: < 0.511198, 0.807082, 0.295457> + 1069: < 0.553415, 0.779017, 0.294729> + 1070: < 0.558172, 0.789266, 0.255937> + 1071: < 0.515110, 0.817925, 0.256243> + 1072: < 0.553415, 0.779017, 0.294729> + 1073: < 0.595158, 0.747816, 0.294207> + 1074: < 0.600829, 0.757361, 0.255750> + 1075: < 0.558172, 0.789266, 0.255937> + 1076: < 0.595158, 0.747816, 0.294207> + 1077: < 0.636150, 0.713396, 0.293904> + 1078: < 0.642833, 0.722093, 0.255632> + 1079: < 0.600829, 0.757361, 0.255750> + 1080: <-0.642833, 0.722093, 0.255632> + 1081: <-0.600829, 0.757361, 0.255750> + 1082: <-0.605748, 0.765608, 0.216596> + 1083: <-0.648606, 0.729636, 0.216660> + 1084: <-0.600829, 0.757361, 0.255750> + 1085: <-0.558172, 0.789266, 0.255937> + 1086: <-0.562257, 0.798110, 0.216534> + 1087: <-0.605748, 0.765608, 0.216596> + 1088: <-0.558172, 0.789266, 0.255937> + 1089: <-0.515110, 0.817925, 0.256243> + 1090: <-0.518435, 0.827263, 0.216475> + 1091: <-0.562257, 0.798110, 0.216534> + 1092: <-0.515110, 0.817925, 0.256243> + 1093: <-0.471888, 0.843490, 0.256606> + 1094: <-0.474515, 0.853230, 0.216413> + 1095: <-0.518435, 0.827263, 0.216475> + 1096: <-0.471888, 0.843490, 0.256606> + 1097: <-0.428698, 0.866124, 0.256999> + 1098: <-0.430657, 0.876208, 0.216320> + 1099: <-0.474515, 0.853230, 0.216413> + 1100: <-0.428698, 0.866124, 0.256999> + 1101: <-0.385664, 0.886018, 0.257364> + 1102: <-0.386985, 0.896382, 0.216199> + 1103: <-0.430657, 0.876208, 0.216320> + 1104: <-0.385664, 0.886018, 0.257364> + 1105: <-0.342852, 0.903367, 0.257643> + 1106: <-0.343582, 0.913949, 0.215982> + 1107: <-0.386985, 0.896382, 0.216199> + 1108: <-0.342852, 0.903367, 0.257643> + 1109: <-0.300219, 0.918390, 0.257736> + 1110: <-0.300461, 0.929096, 0.215649> + 1111: <-0.343582, 0.913949, 0.215982> + 1112: <-0.300219, 0.918390, 0.257736> + 1113: <-0.257702, 0.931225, 0.257702> + 1114: <-0.257519, 0.942000, 0.215220> + 1115: <-0.300461, 0.929096, 0.215649> + 1116: <-0.257702, 0.931225, 0.257702> + 1117: <-0.215220, 0.942000, 0.257519> + 1118: <-0.214732, 0.952775, 0.214732> + 1119: <-0.257519, 0.942000, 0.215220> + 1120: <-0.215220, 0.942000, 0.257519> + 1121: <-0.172679, 0.950800, 0.257217> + 1122: <-0.172005, 0.961530, 0.214182> + 1123: <-0.214732, 0.952775, 0.214732> + 1124: <-0.172679, 0.950800, 0.257217> + 1125: <-0.129981, 0.957663, 0.256880> + 1126: <-0.129250, 0.968319, 0.213666> + 1127: <-0.172005, 0.961530, 0.214182> + 1128: <-0.129981, 0.957663, 0.256880> + 1129: <-0.087041, 0.962605, 0.256544> + 1130: <-0.086398, 0.973180, 0.213204> + 1131: <-0.129250, 0.968319, 0.213666> + 1132: <-0.087041, 0.962605, 0.256544> + 1133: <-0.043703, 0.965618, 0.256267> + 1134: <-0.043306, 0.976120, 0.212870> + 1135: <-0.086398, 0.973180, 0.213204> + 1136: <-0.043703, 0.965618, 0.256267> + 1137: < 0.000000, 0.966630, 0.256177> + 1138: < 0.000000, 0.977107, 0.212750> + 1139: <-0.043306, 0.976120, 0.212870> + 1140: < 0.000000, 0.966630, 0.256177> + 1141: < 0.043703, 0.965618, 0.256267> + 1142: < 0.043306, 0.976120, 0.212870> + 1143: < 0.000000, 0.977107, 0.212750> + 1144: < 0.043703, 0.965618, 0.256267> + 1145: < 0.087041, 0.962605, 0.256544> + 1146: < 0.086398, 0.973180, 0.213204> + 1147: < 0.043306, 0.976120, 0.212870> + 1148: < 0.087041, 0.962605, 0.256544> + 1149: < 0.129981, 0.957663, 0.256880> + 1150: < 0.129250, 0.968319, 0.213666> + 1151: < 0.086398, 0.973180, 0.213204> + 1152: < 0.129981, 0.957663, 0.256880> + 1153: < 0.172679, 0.950800, 0.257217> + 1154: < 0.172005, 0.961530, 0.214182> + 1155: < 0.129250, 0.968319, 0.213666> + 1156: < 0.172679, 0.950800, 0.257217> + 1157: < 0.215220, 0.942000, 0.257519> + 1158: < 0.214732, 0.952775, 0.214732> + 1159: < 0.172005, 0.961530, 0.214182> + 1160: < 0.215220, 0.942000, 0.257519> + 1161: < 0.257702, 0.931225, 0.257702> + 1162: < 0.257519, 0.942000, 0.215220> + 1163: < 0.214732, 0.952775, 0.214732> + 1164: < 0.257702, 0.931225, 0.257702> + 1165: < 0.300219, 0.918390, 0.257736> + 1166: < 0.300461, 0.929096, 0.215649> + 1167: < 0.257519, 0.942000, 0.215220> + 1168: < 0.300219, 0.918390, 0.257736> + 1169: < 0.342852, 0.903367, 0.257643> + 1170: < 0.343582, 0.913949, 0.215982> + 1171: < 0.300461, 0.929096, 0.215649> + 1172: < 0.342852, 0.903367, 0.257643> + 1173: < 0.385664, 0.886018, 0.257364> + 1174: < 0.386985, 0.896382, 0.216199> + 1175: < 0.343582, 0.913949, 0.215982> + 1176: < 0.385664, 0.886018, 0.257364> + 1177: < 0.428698, 0.866124, 0.256999> + 1178: < 0.430657, 0.876208, 0.216320> + 1179: < 0.386985, 0.896382, 0.216199> + 1180: < 0.428698, 0.866124, 0.256999> + 1181: < 0.471888, 0.843490, 0.256606> + 1182: < 0.474515, 0.853230, 0.216413> + 1183: < 0.430657, 0.876208, 0.216320> + 1184: < 0.471888, 0.843490, 0.256606> + 1185: < 0.515110, 0.817925, 0.256243> + 1186: < 0.518435, 0.827263, 0.216475> + 1187: < 0.474515, 0.853230, 0.216413> + 1188: < 0.515110, 0.817925, 0.256243> + 1189: < 0.558172, 0.789266, 0.255937> + 1190: < 0.562257, 0.798110, 0.216534> + 1191: < 0.518435, 0.827263, 0.216475> + 1192: < 0.558172, 0.789266, 0.255937> + 1193: < 0.600829, 0.757361, 0.255750> + 1194: < 0.605748, 0.765608, 0.216596> + 1195: < 0.562257, 0.798110, 0.216534> + 1196: < 0.600829, 0.757361, 0.255750> + 1197: < 0.642833, 0.722093, 0.255632> + 1198: < 0.648606, 0.729636, 0.216660> + 1199: < 0.605748, 0.765608, 0.216596> + 1200: <-0.648606, 0.729636, 0.216660> + 1201: <-0.605748, 0.765608, 0.216596> + 1202: <-0.609892, 0.772589, 0.176461> + 1203: <-0.653502, 0.736025, 0.176644> + 1204: <-0.605748, 0.765608, 0.216596> + 1205: <-0.562257, 0.798110, 0.216534> + 1206: <-0.565675, 0.805587, 0.176188> + 1207: <-0.609892, 0.772589, 0.176461> + 1208: <-0.562257, 0.798110, 0.216534> + 1209: <-0.518435, 0.827263, 0.216475> + 1210: <-0.521180, 0.835133, 0.175853> + 1211: <-0.565675, 0.805587, 0.176188> + 1212: <-0.518435, 0.827263, 0.216475> + 1213: <-0.474515, 0.853230, 0.216413> + 1214: <-0.476614, 0.861427, 0.175453> + 1215: <-0.521180, 0.835133, 0.175853> + 1216: <-0.474515, 0.853230, 0.216413> + 1217: <-0.430657, 0.876208, 0.216320> + 1218: <-0.432149, 0.884654, 0.175026> + 1219: <-0.476614, 0.861427, 0.175453> + 1220: <-0.430657, 0.876208, 0.216320> + 1221: <-0.386985, 0.896382, 0.216199> + 1222: <-0.387965, 0.904997, 0.174541> + 1223: <-0.432149, 0.884654, 0.175026> + 1224: <-0.386985, 0.896382, 0.216199> + 1225: <-0.343582, 0.913949, 0.215982> + 1226: <-0.344072, 0.922682, 0.173989> + 1227: <-0.387965, 0.904997, 0.174541> + 1228: <-0.343582, 0.913949, 0.215982> + 1229: <-0.300461, 0.929096, 0.215649> + 1230: <-0.300496, 0.937897, 0.173351> + 1231: <-0.344072, 0.922682, 0.173989> + 1232: <-0.300461, 0.929096, 0.215649> + 1233: <-0.257519, 0.942000, 0.215220> + 1234: <-0.257217, 0.950800, 0.172679> + 1235: <-0.300496, 0.937897, 0.173351> + 1236: <-0.257519, 0.942000, 0.215220> + 1237: <-0.214732, 0.952775, 0.214732> + 1238: <-0.214182, 0.961530, 0.172005> + 1239: <-0.257217, 0.950800, 0.172679> + 1240: <-0.214732, 0.952775, 0.214732> + 1241: <-0.172005, 0.961530, 0.214182> + 1242: <-0.171305, 0.970211, 0.171305> + 1243: <-0.214182, 0.961530, 0.172005> + 1244: <-0.172005, 0.961530, 0.214182> + 1245: <-0.129250, 0.968319, 0.213666> + 1246: <-0.128545, 0.976904, 0.170691> + 1247: <-0.171305, 0.970211, 0.171305> + 1248: <-0.129250, 0.968319, 0.213666> + 1249: <-0.086398, 0.973180, 0.213204> + 1250: <-0.085788, 0.981668, 0.170203> + 1251: <-0.128545, 0.976904, 0.170691> + 1252: <-0.086398, 0.973180, 0.213204> + 1253: <-0.043306, 0.976120, 0.212870> + 1254: <-0.042970, 0.984535, 0.169837> + 1255: <-0.085788, 0.981668, 0.170203> + 1256: <-0.043306, 0.976120, 0.212870> + 1257: < 0.000000, 0.977107, 0.212750> + 1258: < 0.000000, 0.985488, 0.169746> + 1259: <-0.042970, 0.984535, 0.169837> + 1260: < 0.000000, 0.977107, 0.212750> + 1261: < 0.043306, 0.976120, 0.212870> + 1262: < 0.042970, 0.984530, 0.169866> + 1263: < 0.000000, 0.985488, 0.169746> + 1264: < 0.043306, 0.976120, 0.212870> + 1265: < 0.086398, 0.973180, 0.213204> + 1266: < 0.085788, 0.981668, 0.170203> + 1267: < 0.042970, 0.984530, 0.169866> + 1268: < 0.086398, 0.973180, 0.213204> + 1269: < 0.129250, 0.968319, 0.213666> + 1270: < 0.128545, 0.976904, 0.170691> + 1271: < 0.085788, 0.981668, 0.170203> + 1272: < 0.129250, 0.968319, 0.213666> + 1273: < 0.172005, 0.961530, 0.214182> + 1274: < 0.171305, 0.970211, 0.171305> + 1275: < 0.128545, 0.976904, 0.170691> + 1276: < 0.172005, 0.961530, 0.214182> + 1277: < 0.214732, 0.952775, 0.214732> + 1278: < 0.214182, 0.961530, 0.172005> + 1279: < 0.171305, 0.970211, 0.171305> + 1280: < 0.214732, 0.952775, 0.214732> + 1281: < 0.257519, 0.942000, 0.215220> + 1282: < 0.257217, 0.950800, 0.172679> + 1283: < 0.214182, 0.961530, 0.172005> + 1284: < 0.257519, 0.942000, 0.215220> + 1285: < 0.300461, 0.929096, 0.215649> + 1286: < 0.300496, 0.937897, 0.173351> + 1287: < 0.257217, 0.950800, 0.172679> + 1288: < 0.300461, 0.929096, 0.215649> + 1289: < 0.343582, 0.913949, 0.215982> + 1290: < 0.344072, 0.922682, 0.173989> + 1291: < 0.300496, 0.937897, 0.173351> + 1292: < 0.343582, 0.913949, 0.215982> + 1293: < 0.386985, 0.896382, 0.216199> + 1294: < 0.387965, 0.904997, 0.174541> + 1295: < 0.344072, 0.922682, 0.173989> + 1296: < 0.386985, 0.896382, 0.216199> + 1297: < 0.430657, 0.876208, 0.216320> + 1298: < 0.432149, 0.884654, 0.175026> + 1299: < 0.387965, 0.904997, 0.174541> + 1300: < 0.430657, 0.876208, 0.216320> + 1301: < 0.474515, 0.853230, 0.216413> + 1302: < 0.476614, 0.861427, 0.175453> + 1303: < 0.432149, 0.884654, 0.175026> + 1304: < 0.474515, 0.853230, 0.216413> + 1305: < 0.518435, 0.827263, 0.216475> + 1306: < 0.521180, 0.835133, 0.175853> + 1307: < 0.476614, 0.861427, 0.175453> + 1308: < 0.518435, 0.827263, 0.216475> + 1309: < 0.562257, 0.798110, 0.216534> + 1310: < 0.565675, 0.805587, 0.176188> + 1311: < 0.521180, 0.835133, 0.175853> + 1312: < 0.562257, 0.798110, 0.216534> + 1313: < 0.605748, 0.765608, 0.216596> + 1314: < 0.609892, 0.772589, 0.176461> + 1315: < 0.565675, 0.805587, 0.176188> + 1316: < 0.605748, 0.765608, 0.216596> + 1317: < 0.648606, 0.729636, 0.216660> + 1318: < 0.653502, 0.736025, 0.176644> + 1319: < 0.609892, 0.772589, 0.176461> + 1320: <-0.653502, 0.736025, 0.176644> + 1321: <-0.609892, 0.772589, 0.176461> + 1322: <-0.613215, 0.778292, 0.135015> + 1323: <-0.657468, 0.741243, 0.135260> + 1324: <-0.609892, 0.772589, 0.176461> + 1325: <-0.565675, 0.805587, 0.176188> + 1326: <-0.568382, 0.811677, 0.134618> + 1327: <-0.613215, 0.778292, 0.135015> + 1328: <-0.565675, 0.805587, 0.176188> + 1329: <-0.521180, 0.835133, 0.175853> + 1330: <-0.523307, 0.841527, 0.134100> + 1331: <-0.568382, 0.811677, 0.134618> + 1332: <-0.521180, 0.835133, 0.175853> + 1333: <-0.476614, 0.861427, 0.175453> + 1334: <-0.478208, 0.868033, 0.133553> + 1335: <-0.523307, 0.841527, 0.134100> + 1336: <-0.476614, 0.861427, 0.175453> + 1337: <-0.432149, 0.884654, 0.175026> + 1338: <-0.433256, 0.891416, 0.132913> + 1339: <-0.478208, 0.868033, 0.133553> + 1340: <-0.432149, 0.884654, 0.175026> + 1341: <-0.387965, 0.904997, 0.174541> + 1342: <-0.388632, 0.911854, 0.132240> + 1343: <-0.433256, 0.891416, 0.132913> + 1344: <-0.387965, 0.904997, 0.174541> + 1345: <-0.344072, 0.922682, 0.173989> + 1346: <-0.344322, 0.929596, 0.131509> + 1347: <-0.388632, 0.911854, 0.132240> + 1348: <-0.344072, 0.922682, 0.173989> + 1349: <-0.300496, 0.937897, 0.173351> + 1350: <-0.300427, 0.944802, 0.130743> + 1351: <-0.344322, 0.929596, 0.131509> + 1352: <-0.300496, 0.937897, 0.173351> + 1353: <-0.257217, 0.950800, 0.172679> + 1354: <-0.256880, 0.957663, 0.129981> + 1355: <-0.300427, 0.944802, 0.130743> + 1356: <-0.257217, 0.950800, 0.172679> + 1357: <-0.214182, 0.961530, 0.172005> + 1358: <-0.213666, 0.968319, 0.129250> + 1359: <-0.256880, 0.957663, 0.129981> + 1360: <-0.214182, 0.961530, 0.172005> + 1361: <-0.171305, 0.970211, 0.171305> + 1362: <-0.170691, 0.976904, 0.128545> + 1363: <-0.213666, 0.968319, 0.129250> + 1364: <-0.171305, 0.970211, 0.171305> + 1365: <-0.128545, 0.976904, 0.170691> + 1366: <-0.127935, 0.983497, 0.127935> + 1367: <-0.170691, 0.976904, 0.128545> + 1368: <-0.128545, 0.976904, 0.170691> + 1369: <-0.085788, 0.981668, 0.170203> + 1370: <-0.085300, 0.988171, 0.127447> + 1371: <-0.127935, 0.983497, 0.127935> + 1372: <-0.085788, 0.981668, 0.170203> + 1373: <-0.042970, 0.984535, 0.169837> + 1374: <-0.042666, 0.990966, 0.127144> + 1375: <-0.085300, 0.988171, 0.127447> + 1376: <-0.042970, 0.984535, 0.169837> + 1377: < 0.000000, 0.985488, 0.169746> + 1378: < 0.000000, 0.991900, 0.127020> + 1379: <-0.042666, 0.990966, 0.127144> + 1380: < 0.000000, 0.985488, 0.169746> + 1381: < 0.042970, 0.984530, 0.169866> + 1382: < 0.042666, 0.990966, 0.127144> + 1383: < 0.000000, 0.991900, 0.127020> + 1384: < 0.042970, 0.984530, 0.169866> + 1385: < 0.085788, 0.981668, 0.170203> + 1386: < 0.085300, 0.988171, 0.127447> + 1387: < 0.042666, 0.990966, 0.127144> + 1388: < 0.085788, 0.981668, 0.170203> + 1389: < 0.128545, 0.976904, 0.170691> + 1390: < 0.127935, 0.983497, 0.127935> + 1391: < 0.085300, 0.988171, 0.127447> + 1392: < 0.128545, 0.976904, 0.170691> + 1393: < 0.171305, 0.970211, 0.171305> + 1394: < 0.170691, 0.976904, 0.128545> + 1395: < 0.127935, 0.983497, 0.127935> + 1396: < 0.171305, 0.970211, 0.171305> + 1397: < 0.214182, 0.961530, 0.172005> + 1398: < 0.213666, 0.968319, 0.129250> + 1399: < 0.170691, 0.976904, 0.128545> + 1400: < 0.214182, 0.961530, 0.172005> + 1401: < 0.257217, 0.950800, 0.172679> + 1402: < 0.256880, 0.957663, 0.129981> + 1403: < 0.213666, 0.968319, 0.129250> + 1404: < 0.257217, 0.950800, 0.172679> + 1405: < 0.300496, 0.937897, 0.173351> + 1406: < 0.300427, 0.944802, 0.130743> + 1407: < 0.256880, 0.957663, 0.129981> + 1408: < 0.300496, 0.937897, 0.173351> + 1409: < 0.344072, 0.922682, 0.173989> + 1410: < 0.344322, 0.929596, 0.131509> + 1411: < 0.300427, 0.944802, 0.130743> + 1412: < 0.344072, 0.922682, 0.173989> + 1413: < 0.387965, 0.904997, 0.174541> + 1414: < 0.388632, 0.911854, 0.132240> + 1415: < 0.344322, 0.929596, 0.131509> + 1416: < 0.387965, 0.904997, 0.174541> + 1417: < 0.432149, 0.884654, 0.175026> + 1418: < 0.433281, 0.891405, 0.132911> + 1419: < 0.388632, 0.911854, 0.132240> + 1420: < 0.432149, 0.884654, 0.175026> + 1421: < 0.476614, 0.861427, 0.175453> + 1422: < 0.478208, 0.868033, 0.133553> + 1423: < 0.433281, 0.891405, 0.132911> + 1424: < 0.476614, 0.861427, 0.175453> + 1425: < 0.521180, 0.835133, 0.175853> + 1426: < 0.523307, 0.841527, 0.134100> + 1427: < 0.478208, 0.868033, 0.133553> + 1428: < 0.521180, 0.835133, 0.175853> + 1429: < 0.565675, 0.805587, 0.176188> + 1430: < 0.568382, 0.811677, 0.134618> + 1431: < 0.523307, 0.841527, 0.134100> + 1432: < 0.565675, 0.805587, 0.176188> + 1433: < 0.609892, 0.772589, 0.176461> + 1434: < 0.613196, 0.778306, 0.135018> + 1435: < 0.568382, 0.811677, 0.134618> + 1436: < 0.609892, 0.772589, 0.176461> + 1437: < 0.653502, 0.736025, 0.176644> + 1438: < 0.657468, 0.741243, 0.135260> + 1439: < 0.613196, 0.778306, 0.135018> + 1440: <-0.657468, 0.741243, 0.135260> + 1441: <-0.613215, 0.778292, 0.135015> + 1442: <-0.615697, 0.782607, 0.091894> + 1443: <-0.660463, 0.745184, 0.092137> + 1444: <-0.613215, 0.778292, 0.135015> + 1445: <-0.568382, 0.811677, 0.134618> + 1446: <-0.570377, 0.816271, 0.091497> + 1447: <-0.615697, 0.782607, 0.091894> + 1448: <-0.568382, 0.811677, 0.134618> + 1449: <-0.523307, 0.841527, 0.134100> + 1450: <-0.524836, 0.846324, 0.091008> + 1451: <-0.570377, 0.816271, 0.091497> + 1452: <-0.523307, 0.841527, 0.134100> + 1453: <-0.478208, 0.868033, 0.133553> + 1454: <-0.479307, 0.872976, 0.090429> + 1455: <-0.524836, 0.846324, 0.091008> + 1456: <-0.478208, 0.868033, 0.133553> + 1457: <-0.433256, 0.891416, 0.132913> + 1458: <-0.433981, 0.896437, 0.089787> + 1459: <-0.479307, 0.872976, 0.090429> + 1460: <-0.433256, 0.891416, 0.132913> + 1461: <-0.388632, 0.911854, 0.132240> + 1462: <-0.388998, 0.916918, 0.089116> + 1463: <-0.433981, 0.896437, 0.089787> + 1464: <-0.388632, 0.911854, 0.132240> + 1465: <-0.344322, 0.929596, 0.131509> + 1466: <-0.344408, 0.934648, 0.088414> + 1467: <-0.388998, 0.916918, 0.089116> + 1468: <-0.344322, 0.929596, 0.131509> + 1469: <-0.300427, 0.944802, 0.130743> + 1470: <-0.300248, 0.949820, 0.087712> + 1471: <-0.344408, 0.934648, 0.088414> + 1472: <-0.300427, 0.944802, 0.130743> + 1473: <-0.256880, 0.957663, 0.129981> + 1474: <-0.256544, 0.962605, 0.087041> + 1475: <-0.300248, 0.949820, 0.087712> + 1476: <-0.256880, 0.957663, 0.129981> + 1477: <-0.213666, 0.968319, 0.129250> + 1478: <-0.213204, 0.973180, 0.086398> + 1479: <-0.256544, 0.962605, 0.087041> + 1480: <-0.213666, 0.968319, 0.129250> + 1481: <-0.170691, 0.976904, 0.128545> + 1482: <-0.170203, 0.981668, 0.085788> + 1483: <-0.213204, 0.973180, 0.086398> + 1484: <-0.170691, 0.976904, 0.128545> + 1485: <-0.127935, 0.983497, 0.127935> + 1486: <-0.127447, 0.988171, 0.085300> + 1487: <-0.170203, 0.981668, 0.085788> + 1488: <-0.127935, 0.983497, 0.127935> + 1489: <-0.085300, 0.988171, 0.127447> + 1490: <-0.084905, 0.992765, 0.084905> + 1491: <-0.127447, 0.988171, 0.085300> + 1492: <-0.085300, 0.988171, 0.127447> + 1493: <-0.042666, 0.990966, 0.127144> + 1494: <-0.042452, 0.995505, 0.084660> + 1495: <-0.084905, 0.992765, 0.084905> + 1496: <-0.042666, 0.990966, 0.127144> + 1497: < 0.000000, 0.991900, 0.127020> + 1498: < 0.000000, 0.996418, 0.084568> + 1499: <-0.042452, 0.995505, 0.084660> + 1500: < 0.000000, 0.991900, 0.127020> + 1501: < 0.042666, 0.990966, 0.127144> + 1502: < 0.042452, 0.995505, 0.084660> + 1503: < 0.000000, 0.996418, 0.084568> + 1504: < 0.042666, 0.990966, 0.127144> + 1505: < 0.085300, 0.988171, 0.127447> + 1506: < 0.084905, 0.992765, 0.084905> + 1507: < 0.042452, 0.995505, 0.084660> + 1508: < 0.085300, 0.988171, 0.127447> + 1509: < 0.127935, 0.983497, 0.127935> + 1510: < 0.127447, 0.988171, 0.085300> + 1511: < 0.084905, 0.992765, 0.084905> + 1512: < 0.127935, 0.983497, 0.127935> + 1513: < 0.170691, 0.976904, 0.128545> + 1514: < 0.170203, 0.981668, 0.085788> + 1515: < 0.127447, 0.988171, 0.085300> + 1516: < 0.170691, 0.976904, 0.128545> + 1517: < 0.213666, 0.968319, 0.129250> + 1518: < 0.213204, 0.973180, 0.086398> + 1519: < 0.170203, 0.981668, 0.085788> + 1520: < 0.213666, 0.968319, 0.129250> + 1521: < 0.256880, 0.957663, 0.129981> + 1522: < 0.256544, 0.962605, 0.087041> + 1523: < 0.213204, 0.973180, 0.086398> + 1524: < 0.256880, 0.957663, 0.129981> + 1525: < 0.300427, 0.944802, 0.130743> + 1526: < 0.300248, 0.949820, 0.087712> + 1527: < 0.256544, 0.962605, 0.087041> + 1528: < 0.300427, 0.944802, 0.130743> + 1529: < 0.344322, 0.929596, 0.131509> + 1530: < 0.344408, 0.934648, 0.088414> + 1531: < 0.300248, 0.949820, 0.087712> + 1532: < 0.344322, 0.929596, 0.131509> + 1533: < 0.388632, 0.911854, 0.132240> + 1534: < 0.388998, 0.916918, 0.089116> + 1535: < 0.344408, 0.934648, 0.088414> + 1536: < 0.388632, 0.911854, 0.132240> + 1537: < 0.433281, 0.891405, 0.132911> + 1538: < 0.433981, 0.896437, 0.089787> + 1539: < 0.388998, 0.916918, 0.089116> + 1540: < 0.433281, 0.891405, 0.132911> + 1541: < 0.478208, 0.868033, 0.133553> + 1542: < 0.479307, 0.872976, 0.090429> + 1543: < 0.433981, 0.896437, 0.089787> + 1544: < 0.478208, 0.868033, 0.133553> + 1545: < 0.523307, 0.841527, 0.134100> + 1546: < 0.524836, 0.846324, 0.091008> + 1547: < 0.479307, 0.872976, 0.090429> + 1548: < 0.523307, 0.841527, 0.134100> + 1549: < 0.568382, 0.811677, 0.134618> + 1550: < 0.570377, 0.816271, 0.091497> + 1551: < 0.524836, 0.846324, 0.091008> + 1552: < 0.568382, 0.811677, 0.134618> + 1553: < 0.613196, 0.778306, 0.135018> + 1554: < 0.615697, 0.782607, 0.091894> + 1555: < 0.570377, 0.816271, 0.091497> + 1556: < 0.613196, 0.778306, 0.135018> + 1557: < 0.657468, 0.741243, 0.135260> + 1558: < 0.660463, 0.745184, 0.092137> + 1559: < 0.615697, 0.782607, 0.091894> + 1560: <-0.660463, 0.745184, 0.092137> + 1561: <-0.615697, 0.782607, 0.091894> + 1562: <-0.617246, 0.785375, 0.046847> + 1563: <-0.662354, 0.747715, 0.046999> + 1564: <-0.615697, 0.782607, 0.091894> + 1565: <-0.570377, 0.816271, 0.091497> + 1566: <-0.571602, 0.819208, 0.046573> + 1567: <-0.617246, 0.785375, 0.046847> + 1568: <-0.570377, 0.816271, 0.091497> + 1569: <-0.524836, 0.846324, 0.091008> + 1570: <-0.525753, 0.849378, 0.046267> + 1571: <-0.571602, 0.819208, 0.046573> + 1572: <-0.524836, 0.846324, 0.091008> + 1573: <-0.479307, 0.872976, 0.090429> + 1574: <-0.479951, 0.876095, 0.045871> + 1575: <-0.525753, 0.849378, 0.046267> + 1576: <-0.479307, 0.872976, 0.090429> + 1577: <-0.433981, 0.896437, 0.089787> + 1578: <-0.434379, 0.899583, 0.045443> + 1579: <-0.479951, 0.876095, 0.045871> + 1580: <-0.433981, 0.896437, 0.089787> + 1581: <-0.388998, 0.916918, 0.089116> + 1582: <-0.389180, 0.920061, 0.045016> + 1583: <-0.434379, 0.899583, 0.045443> + 1584: <-0.388998, 0.916918, 0.089116> + 1585: <-0.344408, 0.934648, 0.088414> + 1586: <-0.344409, 0.937762, 0.044558> + 1587: <-0.389180, 0.920061, 0.045016> + 1588: <-0.344408, 0.934648, 0.088414> + 1589: <-0.300248, 0.949820, 0.087712> + 1590: <-0.300092, 0.952889, 0.044130> + 1591: <-0.344409, 0.937762, 0.044558> + 1592: <-0.300248, 0.949820, 0.087712> + 1593: <-0.256544, 0.962605, 0.087041> + 1594: <-0.256267, 0.965618, 0.043703> + 1595: <-0.300092, 0.952889, 0.044130> + 1596: <-0.256544, 0.962605, 0.087041> + 1597: <-0.213204, 0.973180, 0.086398> + 1598: <-0.212870, 0.976120, 0.043306> + 1599: <-0.256267, 0.965618, 0.043703> + 1600: <-0.213204, 0.973180, 0.086398> + 1601: <-0.170203, 0.981668, 0.085788> + 1602: <-0.169837, 0.984535, 0.042970> + 1603: <-0.212870, 0.976120, 0.043306> + 1604: <-0.170203, 0.981668, 0.085788> + 1605: <-0.127447, 0.988171, 0.085300> + 1606: <-0.127144, 0.990966, 0.042666> + 1607: <-0.169837, 0.984535, 0.042970> + 1608: <-0.127447, 0.988171, 0.085300> + 1609: <-0.084905, 0.992765, 0.084905> + 1610: <-0.084660, 0.995505, 0.042452> + 1611: <-0.127144, 0.990966, 0.042666> + 1612: <-0.084905, 0.992765, 0.084905> + 1613: <-0.042452, 0.995505, 0.084660> + 1614: <-0.042299, 0.998209, 0.042299> + 1615: <-0.084660, 0.995505, 0.042452> + 1616: <-0.042452, 0.995505, 0.084660> + 1617: < 0.000000, 0.996418, 0.084568> + 1618: < 0.000000, 0.999108, 0.042239> + 1619: <-0.042299, 0.998209, 0.042299> + 1620: < 0.000000, 0.996418, 0.084568> + 1621: < 0.042452, 0.995505, 0.084660> + 1622: < 0.042299, 0.998209, 0.042299> + 1623: < 0.000000, 0.999108, 0.042239> + 1624: < 0.042452, 0.995505, 0.084660> + 1625: < 0.084905, 0.992765, 0.084905> + 1626: < 0.084660, 0.995505, 0.042452> + 1627: < 0.042299, 0.998209, 0.042299> + 1628: < 0.084905, 0.992765, 0.084905> + 1629: < 0.127447, 0.988171, 0.085300> + 1630: < 0.127144, 0.990966, 0.042666> + 1631: < 0.084660, 0.995505, 0.042452> + 1632: < 0.127447, 0.988171, 0.085300> + 1633: < 0.170203, 0.981668, 0.085788> + 1634: < 0.169837, 0.984535, 0.042970> + 1635: < 0.127144, 0.990966, 0.042666> + 1636: < 0.170203, 0.981668, 0.085788> + 1637: < 0.213204, 0.973180, 0.086398> + 1638: < 0.212870, 0.976120, 0.043306> + 1639: < 0.169837, 0.984535, 0.042970> + 1640: < 0.213204, 0.973180, 0.086398> + 1641: < 0.256544, 0.962605, 0.087041> + 1642: < 0.256267, 0.965618, 0.043703> + 1643: < 0.212870, 0.976120, 0.043306> + 1644: < 0.256544, 0.962605, 0.087041> + 1645: < 0.300248, 0.949820, 0.087712> + 1646: < 0.300092, 0.952889, 0.044130> + 1647: < 0.256267, 0.965618, 0.043703> + 1648: < 0.300248, 0.949820, 0.087712> + 1649: < 0.344408, 0.934648, 0.088414> + 1650: < 0.344409, 0.937762, 0.044558> + 1651: < 0.300092, 0.952889, 0.044130> + 1652: < 0.344408, 0.934648, 0.088414> + 1653: < 0.388998, 0.916918, 0.089116> + 1654: < 0.389180, 0.920061, 0.045016> + 1655: < 0.344409, 0.937762, 0.044558> + 1656: < 0.388998, 0.916918, 0.089116> + 1657: < 0.433981, 0.896437, 0.089787> + 1658: < 0.434379, 0.899583, 0.045443> + 1659: < 0.389180, 0.920061, 0.045016> + 1660: < 0.433981, 0.896437, 0.089787> + 1661: < 0.479307, 0.872976, 0.090429> + 1662: < 0.479951, 0.876095, 0.045871> + 1663: < 0.434379, 0.899583, 0.045443> + 1664: < 0.479307, 0.872976, 0.090429> + 1665: < 0.524836, 0.846324, 0.091008> + 1666: < 0.525753, 0.849378, 0.046267> + 1667: < 0.479951, 0.876095, 0.045871> + 1668: < 0.524836, 0.846324, 0.091008> + 1669: < 0.570377, 0.816271, 0.091497> + 1670: < 0.571602, 0.819208, 0.046573> + 1671: < 0.525753, 0.849378, 0.046267> + 1672: < 0.570377, 0.816271, 0.091497> + 1673: < 0.615697, 0.782607, 0.091894> + 1674: < 0.617246, 0.785375, 0.046847> + 1675: < 0.571602, 0.819208, 0.046573> + 1676: < 0.615697, 0.782607, 0.091894> + 1677: < 0.660463, 0.745184, 0.092137> + 1678: < 0.662354, 0.747715, 0.046999> + 1679: < 0.617246, 0.785375, 0.046847> + 1680: <-0.662354, 0.747715, 0.046999> + 1681: <-0.617246, 0.785375, 0.046847> + 1682: <-0.617789, 0.786344, 0.000000> + 1683: <-0.663024, 0.748599, 0.000000> + 1684: <-0.617246, 0.785375, 0.046847> + 1685: <-0.571602, 0.819208, 0.046573> + 1686: <-0.572024, 0.820237, 0.000000> + 1687: <-0.617789, 0.786344, 0.000000> + 1688: <-0.571602, 0.819208, 0.046573> + 1689: <-0.525753, 0.849378, 0.046267> + 1690: <-0.526081, 0.850434, 0.000000> + 1691: <-0.572024, 0.820237, 0.000000> + 1692: <-0.525753, 0.849378, 0.046267> + 1693: <-0.479951, 0.876095, 0.045871> + 1694: <-0.480182, 0.877169, 0.000000> + 1695: <-0.526081, 0.850434, 0.000000> + 1696: <-0.479951, 0.876095, 0.045871> + 1697: <-0.434379, 0.899583, 0.045443> + 1698: <-0.434534, 0.900655, 0.000000> + 1699: <-0.480182, 0.877169, 0.000000> + 1700: <-0.434379, 0.899583, 0.045443> + 1701: <-0.389180, 0.920061, 0.045016> + 1702: <-0.389244, 0.921135, 0.000000> + 1703: <-0.434534, 0.900655, 0.000000> + 1704: <-0.389180, 0.920061, 0.045016> + 1705: <-0.344409, 0.937762, 0.044558> + 1706: <-0.344405, 0.938821, 0.000000> + 1707: <-0.389244, 0.921135, 0.000000> + 1708: <-0.344409, 0.937762, 0.044558> + 1709: <-0.300092, 0.952889, 0.044130> + 1710: <-0.300059, 0.953921, 0.000000> + 1711: <-0.344405, 0.938821, 0.000000> + 1712: <-0.300092, 0.952889, 0.044130> + 1713: <-0.256267, 0.965618, 0.043703> + 1714: <-0.256177, 0.966630, 0.000000> + 1715: <-0.300059, 0.953921, 0.000000> + 1716: <-0.256267, 0.965618, 0.043703> + 1717: <-0.212870, 0.976120, 0.043306> + 1718: <-0.212750, 0.977107, 0.000000> + 1719: <-0.256177, 0.966630, 0.000000> + 1720: <-0.212870, 0.976120, 0.043306> + 1721: <-0.169837, 0.984535, 0.042970> + 1722: <-0.169746, 0.985488, 0.000000> + 1723: <-0.212750, 0.977107, 0.000000> + 1724: <-0.169837, 0.984535, 0.042970> + 1725: <-0.127144, 0.990966, 0.042666> + 1726: <-0.127020, 0.991900, 0.000000> + 1727: <-0.169746, 0.985488, 0.000000> + 1728: <-0.127144, 0.990966, 0.042666> + 1729: <-0.084660, 0.995505, 0.042452> + 1730: <-0.084568, 0.996418, 0.000000> + 1731: <-0.127020, 0.991900, 0.000000> + 1732: <-0.084660, 0.995505, 0.042452> + 1733: <-0.042299, 0.998209, 0.042299> + 1734: <-0.042239, 0.999108, 0.000000> + 1735: <-0.084568, 0.996418, 0.000000> + 1736: <-0.042299, 0.998209, 0.042299> + 1737: < 0.000000, 0.999108, 0.042239> + 1738: < 0.000000, 1.000000, 0.000000> + 1739: <-0.042239, 0.999108, 0.000000> + 1740: < 0.000000, 0.999108, 0.042239> + 1741: < 0.042299, 0.998209, 0.042299> + 1742: < 0.042239, 0.999108, 0.000000> + 1743: < 0.000000, 1.000000, 0.000000> + 1744: < 0.042299, 0.998209, 0.042299> + 1745: < 0.084660, 0.995505, 0.042452> + 1746: < 0.084568, 0.996418, 0.000000> + 1747: < 0.042239, 0.999108, 0.000000> + 1748: < 0.084660, 0.995505, 0.042452> + 1749: < 0.127144, 0.990966, 0.042666> + 1750: < 0.127020, 0.991900, 0.000000> + 1751: < 0.084568, 0.996418, 0.000000> + 1752: < 0.127144, 0.990966, 0.042666> + 1753: < 0.169837, 0.984535, 0.042970> + 1754: < 0.169746, 0.985488, 0.000000> + 1755: < 0.127020, 0.991900, 0.000000> + 1756: < 0.169837, 0.984535, 0.042970> + 1757: < 0.212870, 0.976120, 0.043306> + 1758: < 0.212750, 0.977107, 0.000000> + 1759: < 0.169746, 0.985488, 0.000000> + 1760: < 0.212870, 0.976120, 0.043306> + 1761: < 0.256267, 0.965618, 0.043703> + 1762: < 0.256177, 0.966630, 0.000000> + 1763: < 0.212750, 0.977107, 0.000000> + 1764: < 0.256267, 0.965618, 0.043703> + 1765: < 0.300092, 0.952889, 0.044130> + 1766: < 0.300059, 0.953921, 0.000000> + 1767: < 0.256177, 0.966630, 0.000000> + 1768: < 0.300092, 0.952889, 0.044130> + 1769: < 0.344409, 0.937762, 0.044558> + 1770: < 0.344405, 0.938821, 0.000000> + 1771: < 0.300059, 0.953921, 0.000000> + 1772: < 0.344409, 0.937762, 0.044558> + 1773: < 0.389180, 0.920061, 0.045016> + 1774: < 0.389244, 0.921135, 0.000000> + 1775: < 0.344405, 0.938821, 0.000000> + 1776: < 0.389180, 0.920061, 0.045016> + 1777: < 0.434379, 0.899583, 0.045443> + 1778: < 0.434534, 0.900655, 0.000000> + 1779: < 0.389244, 0.921135, 0.000000> + 1780: < 0.434379, 0.899583, 0.045443> + 1781: < 0.479951, 0.876095, 0.045871> + 1782: < 0.480182, 0.877169, 0.000000> + 1783: < 0.434534, 0.900655, 0.000000> + 1784: < 0.479951, 0.876095, 0.045871> + 1785: < 0.525753, 0.849378, 0.046267> + 1786: < 0.526081, 0.850434, 0.000000> + 1787: < 0.480182, 0.877169, 0.000000> + 1788: < 0.525753, 0.849378, 0.046267> + 1789: < 0.571602, 0.819208, 0.046573> + 1790: < 0.572024, 0.820237, 0.000000> + 1791: < 0.526081, 0.850434, 0.000000> + 1792: < 0.571602, 0.819208, 0.046573> + 1793: < 0.617246, 0.785375, 0.046847> + 1794: < 0.617789, 0.786344, 0.000000> + 1795: < 0.572024, 0.820237, 0.000000> + 1796: < 0.617246, 0.785375, 0.046847> + 1797: < 0.662354, 0.747715, 0.046999> + 1798: < 0.663024, 0.748599, 0.000000> + 1799: < 0.617789, 0.786344, 0.000000> + 1800: <-0.663024, 0.748599, 0.000000> + 1801: <-0.617789, 0.786344, 0.000000> + 1802: <-0.617246, 0.785375, -0.046847> + 1803: <-0.662354, 0.747715, -0.046999> + 1804: <-0.617789, 0.786344, 0.000000> + 1805: <-0.572024, 0.820237, 0.000000> + 1806: <-0.571602, 0.819208, -0.046573> + 1807: <-0.617246, 0.785375, -0.046847> + 1808: <-0.572024, 0.820237, 0.000000> + 1809: <-0.526081, 0.850434, 0.000000> + 1810: <-0.525753, 0.849378, -0.046267> + 1811: <-0.571602, 0.819208, -0.046573> + 1812: <-0.526081, 0.850434, 0.000000> + 1813: <-0.480182, 0.877169, 0.000000> + 1814: <-0.479951, 0.876095, -0.045871> + 1815: <-0.525753, 0.849378, -0.046267> + 1816: <-0.480182, 0.877169, 0.000000> + 1817: <-0.434534, 0.900655, 0.000000> + 1818: <-0.434379, 0.899583, -0.045443> + 1819: <-0.479951, 0.876095, -0.045871> + 1820: <-0.434534, 0.900655, 0.000000> + 1821: <-0.389244, 0.921135, 0.000000> + 1822: <-0.389180, 0.920061, -0.045016> + 1823: <-0.434379, 0.899583, -0.045443> + 1824: <-0.389244, 0.921135, 0.000000> + 1825: <-0.344405, 0.938821, 0.000000> + 1826: <-0.344409, 0.937762, -0.044558> + 1827: <-0.389180, 0.920061, -0.045016> + 1828: <-0.344405, 0.938821, 0.000000> + 1829: <-0.300059, 0.953921, 0.000000> + 1830: <-0.300119, 0.952880, -0.044130> + 1831: <-0.344409, 0.937762, -0.044558> + 1832: <-0.300059, 0.953921, 0.000000> + 1833: <-0.256177, 0.966630, 0.000000> + 1834: <-0.256267, 0.965618, -0.043703> + 1835: <-0.300119, 0.952880, -0.044130> + 1836: <-0.256177, 0.966630, 0.000000> + 1837: <-0.212750, 0.977107, 0.000000> + 1838: <-0.212870, 0.976120, -0.043306> + 1839: <-0.256267, 0.965618, -0.043703> + 1840: <-0.212750, 0.977107, 0.000000> + 1841: <-0.169746, 0.985488, 0.000000> + 1842: <-0.169866, 0.984530, -0.042970> + 1843: <-0.212870, 0.976120, -0.043306> + 1844: <-0.169746, 0.985488, 0.000000> + 1845: <-0.127020, 0.991900, 0.000000> + 1846: <-0.127144, 0.990966, -0.042666> + 1847: <-0.169866, 0.984530, -0.042970> + 1848: <-0.127020, 0.991900, 0.000000> + 1849: <-0.084568, 0.996418, 0.000000> + 1850: <-0.084660, 0.995505, -0.042452> + 1851: <-0.127144, 0.990966, -0.042666> + 1852: <-0.084568, 0.996418, 0.000000> + 1853: <-0.042239, 0.999108, 0.000000> + 1854: <-0.042299, 0.998209, -0.042299> + 1855: <-0.084660, 0.995505, -0.042452> + 1856: <-0.042239, 0.999108, 0.000000> + 1857: < 0.000000, 1.000000, 0.000000> + 1858: < 0.000000, 0.999108, -0.042239> + 1859: <-0.042299, 0.998209, -0.042299> + 1860: < 0.000000, 1.000000, 0.000000> + 1861: < 0.042239, 0.999108, 0.000000> + 1862: < 0.042299, 0.998209, -0.042299> + 1863: < 0.000000, 0.999108, -0.042239> + 1864: < 0.042239, 0.999108, 0.000000> + 1865: < 0.084568, 0.996418, 0.000000> + 1866: < 0.084660, 0.995505, -0.042452> + 1867: < 0.042299, 0.998209, -0.042299> + 1868: < 0.084568, 0.996418, 0.000000> + 1869: < 0.127020, 0.991900, 0.000000> + 1870: < 0.127144, 0.990966, -0.042666> + 1871: < 0.084660, 0.995505, -0.042452> + 1872: < 0.127020, 0.991900, 0.000000> + 1873: < 0.169746, 0.985488, 0.000000> + 1874: < 0.169866, 0.984530, -0.042970> + 1875: < 0.127144, 0.990966, -0.042666> + 1876: < 0.169746, 0.985488, 0.000000> + 1877: < 0.212750, 0.977107, 0.000000> + 1878: < 0.212870, 0.976120, -0.043306> + 1879: < 0.169866, 0.984530, -0.042970> + 1880: < 0.212750, 0.977107, 0.000000> + 1881: < 0.256177, 0.966630, 0.000000> + 1882: < 0.256267, 0.965618, -0.043703> + 1883: < 0.212870, 0.976120, -0.043306> + 1884: < 0.256177, 0.966630, 0.000000> + 1885: < 0.300059, 0.953921, 0.000000> + 1886: < 0.300092, 0.952889, -0.044130> + 1887: < 0.256267, 0.965618, -0.043703> + 1888: < 0.300059, 0.953921, 0.000000> + 1889: < 0.344405, 0.938821, 0.000000> + 1890: < 0.344409, 0.937762, -0.044558> + 1891: < 0.300092, 0.952889, -0.044130> + 1892: < 0.344405, 0.938821, 0.000000> + 1893: < 0.389244, 0.921135, 0.000000> + 1894: < 0.389180, 0.920061, -0.045016> + 1895: < 0.344409, 0.937762, -0.044558> + 1896: < 0.389244, 0.921135, 0.000000> + 1897: < 0.434534, 0.900655, 0.000000> + 1898: < 0.434379, 0.899583, -0.045443> + 1899: < 0.389180, 0.920061, -0.045016> + 1900: < 0.434534, 0.900655, 0.000000> + 1901: < 0.480182, 0.877169, 0.000000> + 1902: < 0.479951, 0.876095, -0.045871> + 1903: < 0.434379, 0.899583, -0.045443> + 1904: < 0.480182, 0.877169, 0.000000> + 1905: < 0.526081, 0.850434, 0.000000> + 1906: < 0.525753, 0.849378, -0.046267> + 1907: < 0.479951, 0.876095, -0.045871> + 1908: < 0.526081, 0.850434, 0.000000> + 1909: < 0.572024, 0.820237, 0.000000> + 1910: < 0.571602, 0.819208, -0.046573> + 1911: < 0.525753, 0.849378, -0.046267> + 1912: < 0.572024, 0.820237, 0.000000> + 1913: < 0.617789, 0.786344, 0.000000> + 1914: < 0.617246, 0.785375, -0.046847> + 1915: < 0.571602, 0.819208, -0.046573> + 1916: < 0.617789, 0.786344, 0.000000> + 1917: < 0.663024, 0.748599, 0.000000> + 1918: < 0.662354, 0.747715, -0.046999> + 1919: < 0.617246, 0.785375, -0.046847> + 1920: <-0.662354, 0.747715, -0.046999> + 1921: <-0.617246, 0.785375, -0.046847> + 1922: <-0.615697, 0.782607, -0.091894> + 1923: <-0.660463, 0.745184, -0.092137> + 1924: <-0.617246, 0.785375, -0.046847> + 1925: <-0.571602, 0.819208, -0.046573> + 1926: <-0.570377, 0.816271, -0.091497> + 1927: <-0.615697, 0.782607, -0.091894> + 1928: <-0.571602, 0.819208, -0.046573> + 1929: <-0.525753, 0.849378, -0.046267> + 1930: <-0.524836, 0.846324, -0.091008> + 1931: <-0.570377, 0.816271, -0.091497> + 1932: <-0.525753, 0.849378, -0.046267> + 1933: <-0.479951, 0.876095, -0.045871> + 1934: <-0.479307, 0.872976, -0.090429> + 1935: <-0.524836, 0.846324, -0.091008> + 1936: <-0.479951, 0.876095, -0.045871> + 1937: <-0.434379, 0.899583, -0.045443> + 1938: <-0.433981, 0.896437, -0.089787> + 1939: <-0.479307, 0.872976, -0.090429> + 1940: <-0.434379, 0.899583, -0.045443> + 1941: <-0.389180, 0.920061, -0.045016> + 1942: <-0.388998, 0.916918, -0.089116> + 1943: <-0.433981, 0.896437, -0.089787> + 1944: <-0.389180, 0.920061, -0.045016> + 1945: <-0.344409, 0.937762, -0.044558> + 1946: <-0.344408, 0.934648, -0.088414> + 1947: <-0.388998, 0.916918, -0.089116> + 1948: <-0.344409, 0.937762, -0.044558> + 1949: <-0.300119, 0.952880, -0.044130> + 1950: <-0.300248, 0.949820, -0.087712> + 1951: <-0.344408, 0.934648, -0.088414> + 1952: <-0.300119, 0.952880, -0.044130> + 1953: <-0.256267, 0.965618, -0.043703> + 1954: <-0.256544, 0.962605, -0.087041> + 1955: <-0.300248, 0.949820, -0.087712> + 1956: <-0.256267, 0.965618, -0.043703> + 1957: <-0.212870, 0.976120, -0.043306> + 1958: <-0.213204, 0.973180, -0.086398> + 1959: <-0.256544, 0.962605, -0.087041> + 1960: <-0.212870, 0.976120, -0.043306> + 1961: <-0.169866, 0.984530, -0.042970> + 1962: <-0.170203, 0.981668, -0.085788> + 1963: <-0.213204, 0.973180, -0.086398> + 1964: <-0.169866, 0.984530, -0.042970> + 1965: <-0.127144, 0.990966, -0.042666> + 1966: <-0.127447, 0.988171, -0.085300> + 1967: <-0.170203, 0.981668, -0.085788> + 1968: <-0.127144, 0.990966, -0.042666> + 1969: <-0.084660, 0.995505, -0.042452> + 1970: <-0.084905, 0.992765, -0.084905> + 1971: <-0.127447, 0.988171, -0.085300> + 1972: <-0.084660, 0.995505, -0.042452> + 1973: <-0.042299, 0.998209, -0.042299> + 1974: <-0.042452, 0.995505, -0.084660> + 1975: <-0.084905, 0.992765, -0.084905> + 1976: <-0.042299, 0.998209, -0.042299> + 1977: < 0.000000, 0.999108, -0.042239> + 1978: < 0.000000, 0.996418, -0.084568> + 1979: <-0.042452, 0.995505, -0.084660> + 1980: < 0.000000, 0.999108, -0.042239> + 1981: < 0.042299, 0.998209, -0.042299> + 1982: < 0.042452, 0.995505, -0.084660> + 1983: < 0.000000, 0.996418, -0.084568> + 1984: < 0.042299, 0.998209, -0.042299> + 1985: < 0.084660, 0.995505, -0.042452> + 1986: < 0.084905, 0.992765, -0.084905> + 1987: < 0.042452, 0.995505, -0.084660> + 1988: < 0.084660, 0.995505, -0.042452> + 1989: < 0.127144, 0.990966, -0.042666> + 1990: < 0.127447, 0.988171, -0.085300> + 1991: < 0.084905, 0.992765, -0.084905> + 1992: < 0.127144, 0.990966, -0.042666> + 1993: < 0.169866, 0.984530, -0.042970> + 1994: < 0.170203, 0.981668, -0.085788> + 1995: < 0.127447, 0.988171, -0.085300> + 1996: < 0.169866, 0.984530, -0.042970> + 1997: < 0.212870, 0.976120, -0.043306> + 1998: < 0.213204, 0.973180, -0.086398> + 1999: < 0.170203, 0.981668, -0.085788> + 2000: < 0.212870, 0.976120, -0.043306> + 2001: < 0.256267, 0.965618, -0.043703> + 2002: < 0.256544, 0.962605, -0.087041> + 2003: < 0.213204, 0.973180, -0.086398> + 2004: < 0.256267, 0.965618, -0.043703> + 2005: < 0.300092, 0.952889, -0.044130> + 2006: < 0.300248, 0.949820, -0.087712> + 2007: < 0.256544, 0.962605, -0.087041> + 2008: < 0.300092, 0.952889, -0.044130> + 2009: < 0.344409, 0.937762, -0.044558> + 2010: < 0.344408, 0.934648, -0.088414> + 2011: < 0.300248, 0.949820, -0.087712> + 2012: < 0.344409, 0.937762, -0.044558> + 2013: < 0.389180, 0.920061, -0.045016> + 2014: < 0.388998, 0.916918, -0.089116> + 2015: < 0.344408, 0.934648, -0.088414> + 2016: < 0.389180, 0.920061, -0.045016> + 2017: < 0.434379, 0.899583, -0.045443> + 2018: < 0.433981, 0.896437, -0.089787> + 2019: < 0.388998, 0.916918, -0.089116> + 2020: < 0.434379, 0.899583, -0.045443> + 2021: < 0.479951, 0.876095, -0.045871> + 2022: < 0.479307, 0.872976, -0.090429> + 2023: < 0.433981, 0.896437, -0.089787> + 2024: < 0.479951, 0.876095, -0.045871> + 2025: < 0.525753, 0.849378, -0.046267> + 2026: < 0.524836, 0.846324, -0.091008> + 2027: < 0.479307, 0.872976, -0.090429> + 2028: < 0.525753, 0.849378, -0.046267> + 2029: < 0.571602, 0.819208, -0.046573> + 2030: < 0.570377, 0.816271, -0.091497> + 2031: < 0.524836, 0.846324, -0.091008> + 2032: < 0.571602, 0.819208, -0.046573> + 2033: < 0.617246, 0.785375, -0.046847> + 2034: < 0.615697, 0.782607, -0.091894> + 2035: < 0.570377, 0.816271, -0.091497> + 2036: < 0.617246, 0.785375, -0.046847> + 2037: < 0.662354, 0.747715, -0.046999> + 2038: < 0.660463, 0.745184, -0.092137> + 2039: < 0.615697, 0.782607, -0.091894> + 2040: <-0.660463, 0.745184, -0.092137> + 2041: <-0.615697, 0.782607, -0.091894> + 2042: <-0.613218, 0.778295, -0.134985> + 2043: <-0.657468, 0.741243, -0.135260> + 2044: <-0.615697, 0.782607, -0.091894> + 2045: <-0.570377, 0.816271, -0.091497> + 2046: <-0.568382, 0.811677, -0.134618> + 2047: <-0.613218, 0.778295, -0.134985> + 2048: <-0.570377, 0.816271, -0.091497> + 2049: <-0.524836, 0.846324, -0.091008> + 2050: <-0.523307, 0.841527, -0.134100> + 2051: <-0.568382, 0.811677, -0.134618> + 2052: <-0.524836, 0.846324, -0.091008> + 2053: <-0.479307, 0.872976, -0.090429> + 2054: <-0.478208, 0.868033, -0.133553> + 2055: <-0.523307, 0.841527, -0.134100> + 2056: <-0.479307, 0.872976, -0.090429> + 2057: <-0.433981, 0.896437, -0.089787> + 2058: <-0.433281, 0.891405, -0.132911> + 2059: <-0.478208, 0.868033, -0.133553> + 2060: <-0.433981, 0.896437, -0.089787> + 2061: <-0.388998, 0.916918, -0.089116> + 2062: <-0.388632, 0.911854, -0.132240> + 2063: <-0.433281, 0.891405, -0.132911> + 2064: <-0.388998, 0.916918, -0.089116> + 2065: <-0.344408, 0.934648, -0.088414> + 2066: <-0.344322, 0.929596, -0.131509> + 2067: <-0.388632, 0.911854, -0.132240> + 2068: <-0.344408, 0.934648, -0.088414> + 2069: <-0.300248, 0.949820, -0.087712> + 2070: <-0.300427, 0.944802, -0.130743> + 2071: <-0.344322, 0.929596, -0.131509> + 2072: <-0.300248, 0.949820, -0.087712> + 2073: <-0.256544, 0.962605, -0.087041> + 2074: <-0.256880, 0.957663, -0.129981> + 2075: <-0.300427, 0.944802, -0.130743> + 2076: <-0.256544, 0.962605, -0.087041> + 2077: <-0.213204, 0.973180, -0.086398> + 2078: <-0.213666, 0.968319, -0.129250> + 2079: <-0.256880, 0.957663, -0.129981> + 2080: <-0.213204, 0.973180, -0.086398> + 2081: <-0.170203, 0.981668, -0.085788> + 2082: <-0.170691, 0.976904, -0.128545> + 2083: <-0.213666, 0.968319, -0.129250> + 2084: <-0.170203, 0.981668, -0.085788> + 2085: <-0.127447, 0.988171, -0.085300> + 2086: <-0.127935, 0.983497, -0.127935> + 2087: <-0.170691, 0.976904, -0.128545> + 2088: <-0.127447, 0.988171, -0.085300> + 2089: <-0.084905, 0.992765, -0.084905> + 2090: <-0.085300, 0.988171, -0.127447> + 2091: <-0.127935, 0.983497, -0.127935> + 2092: <-0.084905, 0.992765, -0.084905> + 2093: <-0.042452, 0.995505, -0.084660> + 2094: <-0.042666, 0.990966, -0.127144> + 2095: <-0.085300, 0.988171, -0.127447> + 2096: <-0.042452, 0.995505, -0.084660> + 2097: < 0.000000, 0.996418, -0.084568> + 2098: < 0.000000, 0.991900, -0.127020> + 2099: <-0.042666, 0.990966, -0.127144> + 2100: < 0.000000, 0.996418, -0.084568> + 2101: < 0.042452, 0.995505, -0.084660> + 2102: < 0.042666, 0.990966, -0.127144> + 2103: < 0.000000, 0.991900, -0.127020> + 2104: < 0.042452, 0.995505, -0.084660> + 2105: < 0.084905, 0.992765, -0.084905> + 2106: < 0.085300, 0.988171, -0.127447> + 2107: < 0.042666, 0.990966, -0.127144> + 2108: < 0.084905, 0.992765, -0.084905> + 2109: < 0.127447, 0.988171, -0.085300> + 2110: < 0.127935, 0.983497, -0.127935> + 2111: < 0.085300, 0.988171, -0.127447> + 2112: < 0.127447, 0.988171, -0.085300> + 2113: < 0.170203, 0.981668, -0.085788> + 2114: < 0.170691, 0.976904, -0.128545> + 2115: < 0.127935, 0.983497, -0.127935> + 2116: < 0.170203, 0.981668, -0.085788> + 2117: < 0.213204, 0.973180, -0.086398> + 2118: < 0.213666, 0.968319, -0.129250> + 2119: < 0.170691, 0.976904, -0.128545> + 2120: < 0.213204, 0.973180, -0.086398> + 2121: < 0.256544, 0.962605, -0.087041> + 2122: < 0.256880, 0.957663, -0.129981> + 2123: < 0.213666, 0.968319, -0.129250> + 2124: < 0.256544, 0.962605, -0.087041> + 2125: < 0.300248, 0.949820, -0.087712> + 2126: < 0.300427, 0.944802, -0.130743> + 2127: < 0.256880, 0.957663, -0.129981> + 2128: < 0.300248, 0.949820, -0.087712> + 2129: < 0.344408, 0.934648, -0.088414> + 2130: < 0.344322, 0.929596, -0.131509> + 2131: < 0.300427, 0.944802, -0.130743> + 2132: < 0.344408, 0.934648, -0.088414> + 2133: < 0.388998, 0.916918, -0.089116> + 2134: < 0.388632, 0.911854, -0.132240> + 2135: < 0.344322, 0.929596, -0.131509> + 2136: < 0.388998, 0.916918, -0.089116> + 2137: < 0.433981, 0.896437, -0.089787> + 2138: < 0.433281, 0.891405, -0.132911> + 2139: < 0.388632, 0.911854, -0.132240> + 2140: < 0.433981, 0.896437, -0.089787> + 2141: < 0.479307, 0.872976, -0.090429> + 2142: < 0.478208, 0.868033, -0.133553> + 2143: < 0.433281, 0.891405, -0.132911> + 2144: < 0.479307, 0.872976, -0.090429> + 2145: < 0.524836, 0.846324, -0.091008> + 2146: < 0.523307, 0.841527, -0.134100> + 2147: < 0.478208, 0.868033, -0.133553> + 2148: < 0.524836, 0.846324, -0.091008> + 2149: < 0.570377, 0.816271, -0.091497> + 2150: < 0.568382, 0.811677, -0.134618> + 2151: < 0.523307, 0.841527, -0.134100> + 2152: < 0.570377, 0.816271, -0.091497> + 2153: < 0.615697, 0.782607, -0.091894> + 2154: < 0.613218, 0.778295, -0.134985> + 2155: < 0.568382, 0.811677, -0.134618> + 2156: < 0.615697, 0.782607, -0.091894> + 2157: < 0.660463, 0.745184, -0.092137> + 2158: < 0.657468, 0.741243, -0.135260> + 2159: < 0.613218, 0.778295, -0.134985> + 2160: <-0.657468, 0.741243, -0.135260> + 2161: <-0.613218, 0.778295, -0.134985> + 2162: <-0.609892, 0.772589, -0.176461> + 2163: <-0.653502, 0.736025, -0.176644> + 2164: <-0.613218, 0.778295, -0.134985> + 2165: <-0.568382, 0.811677, -0.134618> + 2166: <-0.565675, 0.805587, -0.176188> + 2167: <-0.609892, 0.772589, -0.176461> + 2168: <-0.568382, 0.811677, -0.134618> + 2169: <-0.523307, 0.841527, -0.134100> + 2170: <-0.521180, 0.835133, -0.175853> + 2171: <-0.565675, 0.805587, -0.176188> + 2172: <-0.523307, 0.841527, -0.134100> + 2173: <-0.478208, 0.868033, -0.133553> + 2174: <-0.476614, 0.861427, -0.175453> + 2175: <-0.521180, 0.835133, -0.175853> + 2176: <-0.478208, 0.868033, -0.133553> + 2177: <-0.433281, 0.891405, -0.132911> + 2178: <-0.432149, 0.884654, -0.175026> + 2179: <-0.476614, 0.861427, -0.175453> + 2180: <-0.433281, 0.891405, -0.132911> + 2181: <-0.388632, 0.911854, -0.132240> + 2182: <-0.387965, 0.904997, -0.174541> + 2183: <-0.432149, 0.884654, -0.175026> + 2184: <-0.388632, 0.911854, -0.132240> + 2185: <-0.344322, 0.929596, -0.131509> + 2186: <-0.344072, 0.922682, -0.173989> + 2187: <-0.387965, 0.904997, -0.174541> + 2188: <-0.344322, 0.929596, -0.131509> + 2189: <-0.300427, 0.944802, -0.130743> + 2190: <-0.300496, 0.937897, -0.173351> + 2191: <-0.344072, 0.922682, -0.173989> + 2192: <-0.300427, 0.944802, -0.130743> + 2193: <-0.256880, 0.957663, -0.129981> + 2194: <-0.257217, 0.950800, -0.172679> + 2195: <-0.300496, 0.937897, -0.173351> + 2196: <-0.256880, 0.957663, -0.129981> + 2197: <-0.213666, 0.968319, -0.129250> + 2198: <-0.214182, 0.961530, -0.172005> + 2199: <-0.257217, 0.950800, -0.172679> + 2200: <-0.213666, 0.968319, -0.129250> + 2201: <-0.170691, 0.976904, -0.128545> + 2202: <-0.171305, 0.970211, -0.171305> + 2203: <-0.214182, 0.961530, -0.172005> + 2204: <-0.170691, 0.976904, -0.128545> + 2205: <-0.127935, 0.983497, -0.127935> + 2206: <-0.128545, 0.976904, -0.170691> + 2207: <-0.171305, 0.970211, -0.171305> + 2208: <-0.127935, 0.983497, -0.127935> + 2209: <-0.085300, 0.988171, -0.127447> + 2210: <-0.085788, 0.981668, -0.170203> + 2211: <-0.128545, 0.976904, -0.170691> + 2212: <-0.085300, 0.988171, -0.127447> + 2213: <-0.042666, 0.990966, -0.127144> + 2214: <-0.042970, 0.984535, -0.169837> + 2215: <-0.085788, 0.981668, -0.170203> + 2216: <-0.042666, 0.990966, -0.127144> + 2217: < 0.000000, 0.991900, -0.127020> + 2218: < 0.000000, 0.985488, -0.169746> + 2219: <-0.042970, 0.984535, -0.169837> + 2220: < 0.000000, 0.991900, -0.127020> + 2221: < 0.042666, 0.990966, -0.127144> + 2222: < 0.042970, 0.984530, -0.169866> + 2223: < 0.000000, 0.985488, -0.169746> + 2224: < 0.042666, 0.990966, -0.127144> + 2225: < 0.085300, 0.988171, -0.127447> + 2226: < 0.085788, 0.981668, -0.170203> + 2227: < 0.042970, 0.984530, -0.169866> + 2228: < 0.085300, 0.988171, -0.127447> + 2229: < 0.127935, 0.983497, -0.127935> + 2230: < 0.128545, 0.976904, -0.170691> + 2231: < 0.085788, 0.981668, -0.170203> + 2232: < 0.127935, 0.983497, -0.127935> + 2233: < 0.170691, 0.976904, -0.128545> + 2234: < 0.171305, 0.970211, -0.171305> + 2235: < 0.128545, 0.976904, -0.170691> + 2236: < 0.170691, 0.976904, -0.128545> + 2237: < 0.213666, 0.968319, -0.129250> + 2238: < 0.214182, 0.961530, -0.172005> + 2239: < 0.171305, 0.970211, -0.171305> + 2240: < 0.213666, 0.968319, -0.129250> + 2241: < 0.256880, 0.957663, -0.129981> + 2242: < 0.257217, 0.950800, -0.172679> + 2243: < 0.214182, 0.961530, -0.172005> + 2244: < 0.256880, 0.957663, -0.129981> + 2245: < 0.300427, 0.944802, -0.130743> + 2246: < 0.300496, 0.937897, -0.173351> + 2247: < 0.257217, 0.950800, -0.172679> + 2248: < 0.300427, 0.944802, -0.130743> + 2249: < 0.344322, 0.929596, -0.131509> + 2250: < 0.344072, 0.922682, -0.173989> + 2251: < 0.300496, 0.937897, -0.173351> + 2252: < 0.344322, 0.929596, -0.131509> + 2253: < 0.388632, 0.911854, -0.132240> + 2254: < 0.387965, 0.904997, -0.174541> + 2255: < 0.344072, 0.922682, -0.173989> + 2256: < 0.388632, 0.911854, -0.132240> + 2257: < 0.433281, 0.891405, -0.132911> + 2258: < 0.432149, 0.884654, -0.175026> + 2259: < 0.387965, 0.904997, -0.174541> + 2260: < 0.433281, 0.891405, -0.132911> + 2261: < 0.478208, 0.868033, -0.133553> + 2262: < 0.476614, 0.861427, -0.175453> + 2263: < 0.432149, 0.884654, -0.175026> + 2264: < 0.478208, 0.868033, -0.133553> + 2265: < 0.523307, 0.841527, -0.134100> + 2266: < 0.521180, 0.835133, -0.175853> + 2267: < 0.476614, 0.861427, -0.175453> + 2268: < 0.523307, 0.841527, -0.134100> + 2269: < 0.568382, 0.811677, -0.134618> + 2270: < 0.565675, 0.805587, -0.176188> + 2271: < 0.521180, 0.835133, -0.175853> + 2272: < 0.568382, 0.811677, -0.134618> + 2273: < 0.613218, 0.778295, -0.134985> + 2274: < 0.609892, 0.772589, -0.176461> + 2275: < 0.565675, 0.805587, -0.176188> + 2276: < 0.613218, 0.778295, -0.134985> + 2277: < 0.657468, 0.741243, -0.135260> + 2278: < 0.653502, 0.736025, -0.176644> + 2279: < 0.609892, 0.772589, -0.176461> + 2280: <-0.653502, 0.736025, -0.176644> + 2281: <-0.609892, 0.772589, -0.176461> + 2282: <-0.605748, 0.765608, -0.216596> + 2283: <-0.648606, 0.729636, -0.216660> + 2284: <-0.609892, 0.772589, -0.176461> + 2285: <-0.565675, 0.805587, -0.176188> + 2286: <-0.562257, 0.798110, -0.216534> + 2287: <-0.605748, 0.765608, -0.216596> + 2288: <-0.565675, 0.805587, -0.176188> + 2289: <-0.521180, 0.835133, -0.175853> + 2290: <-0.518435, 0.827263, -0.216475> + 2291: <-0.562257, 0.798110, -0.216534> + 2292: <-0.521180, 0.835133, -0.175853> + 2293: <-0.476614, 0.861427, -0.175453> + 2294: <-0.474515, 0.853230, -0.216413> + 2295: <-0.518435, 0.827263, -0.216475> + 2296: <-0.476614, 0.861427, -0.175453> + 2297: <-0.432149, 0.884654, -0.175026> + 2298: <-0.430657, 0.876208, -0.216320> + 2299: <-0.474515, 0.853230, -0.216413> + 2300: <-0.432149, 0.884654, -0.175026> + 2301: <-0.387965, 0.904997, -0.174541> + 2302: <-0.386985, 0.896382, -0.216199> + 2303: <-0.430657, 0.876208, -0.216320> + 2304: <-0.387965, 0.904997, -0.174541> + 2305: <-0.344072, 0.922682, -0.173989> + 2306: <-0.343582, 0.913949, -0.215982> + 2307: <-0.386985, 0.896382, -0.216199> + 2308: <-0.344072, 0.922682, -0.173989> + 2309: <-0.300496, 0.937897, -0.173351> + 2310: <-0.300461, 0.929096, -0.215649> + 2311: <-0.343582, 0.913949, -0.215982> + 2312: <-0.300496, 0.937897, -0.173351> + 2313: <-0.257217, 0.950800, -0.172679> + 2314: <-0.257519, 0.942000, -0.215220> + 2315: <-0.300461, 0.929096, -0.215649> + 2316: <-0.257217, 0.950800, -0.172679> + 2317: <-0.214182, 0.961530, -0.172005> + 2318: <-0.214732, 0.952775, -0.214732> + 2319: <-0.257519, 0.942000, -0.215220> + 2320: <-0.214182, 0.961530, -0.172005> + 2321: <-0.171305, 0.970211, -0.171305> + 2322: <-0.172005, 0.961530, -0.214182> + 2323: <-0.214732, 0.952775, -0.214732> + 2324: <-0.171305, 0.970211, -0.171305> + 2325: <-0.128545, 0.976904, -0.170691> + 2326: <-0.129250, 0.968319, -0.213666> + 2327: <-0.172005, 0.961530, -0.214182> + 2328: <-0.128545, 0.976904, -0.170691> + 2329: <-0.085788, 0.981668, -0.170203> + 2330: <-0.086398, 0.973180, -0.213204> + 2331: <-0.129250, 0.968319, -0.213666> + 2332: <-0.085788, 0.981668, -0.170203> + 2333: <-0.042970, 0.984535, -0.169837> + 2334: <-0.043306, 0.976120, -0.212870> + 2335: <-0.086398, 0.973180, -0.213204> + 2336: <-0.042970, 0.984535, -0.169837> + 2337: < 0.000000, 0.985488, -0.169746> + 2338: < 0.000000, 0.977107, -0.212750> + 2339: <-0.043306, 0.976120, -0.212870> + 2340: < 0.000000, 0.985488, -0.169746> + 2341: < 0.042970, 0.984530, -0.169866> + 2342: < 0.043306, 0.976120, -0.212870> + 2343: < 0.000000, 0.977107, -0.212750> + 2344: < 0.042970, 0.984530, -0.169866> + 2345: < 0.085788, 0.981668, -0.170203> + 2346: < 0.086398, 0.973180, -0.213204> + 2347: < 0.043306, 0.976120, -0.212870> + 2348: < 0.085788, 0.981668, -0.170203> + 2349: < 0.128545, 0.976904, -0.170691> + 2350: < 0.129250, 0.968319, -0.213666> + 2351: < 0.086398, 0.973180, -0.213204> + 2352: < 0.128545, 0.976904, -0.170691> + 2353: < 0.171305, 0.970211, -0.171305> + 2354: < 0.172005, 0.961530, -0.214182> + 2355: < 0.129250, 0.968319, -0.213666> + 2356: < 0.171305, 0.970211, -0.171305> + 2357: < 0.214182, 0.961530, -0.172005> + 2358: < 0.214732, 0.952775, -0.214732> + 2359: < 0.172005, 0.961530, -0.214182> + 2360: < 0.214182, 0.961530, -0.172005> + 2361: < 0.257217, 0.950800, -0.172679> + 2362: < 0.257519, 0.942000, -0.215220> + 2363: < 0.214732, 0.952775, -0.214732> + 2364: < 0.257217, 0.950800, -0.172679> + 2365: < 0.300496, 0.937897, -0.173351> + 2366: < 0.300461, 0.929096, -0.215649> + 2367: < 0.257519, 0.942000, -0.215220> + 2368: < 0.300496, 0.937897, -0.173351> + 2369: < 0.344072, 0.922682, -0.173989> + 2370: < 0.343582, 0.913949, -0.215982> + 2371: < 0.300461, 0.929096, -0.215649> + 2372: < 0.344072, 0.922682, -0.173989> + 2373: < 0.387965, 0.904997, -0.174541> + 2374: < 0.386985, 0.896382, -0.216199> + 2375: < 0.343582, 0.913949, -0.215982> + 2376: < 0.387965, 0.904997, -0.174541> + 2377: < 0.432149, 0.884654, -0.175026> + 2378: < 0.430657, 0.876208, -0.216320> + 2379: < 0.386985, 0.896382, -0.216199> + 2380: < 0.432149, 0.884654, -0.175026> + 2381: < 0.476614, 0.861427, -0.175453> + 2382: < 0.474515, 0.853230, -0.216413> + 2383: < 0.430657, 0.876208, -0.216320> + 2384: < 0.476614, 0.861427, -0.175453> + 2385: < 0.521180, 0.835133, -0.175853> + 2386: < 0.518435, 0.827263, -0.216475> + 2387: < 0.474515, 0.853230, -0.216413> + 2388: < 0.521180, 0.835133, -0.175853> + 2389: < 0.565675, 0.805587, -0.176188> + 2390: < 0.562257, 0.798110, -0.216534> + 2391: < 0.518435, 0.827263, -0.216475> + 2392: < 0.565675, 0.805587, -0.176188> + 2393: < 0.609892, 0.772589, -0.176461> + 2394: < 0.605748, 0.765608, -0.216596> + 2395: < 0.562257, 0.798110, -0.216534> + 2396: < 0.609892, 0.772589, -0.176461> + 2397: < 0.653502, 0.736025, -0.176644> + 2398: < 0.648606, 0.729636, -0.216660> + 2399: < 0.605748, 0.765608, -0.216596> + 2400: <-0.648606, 0.729636, -0.216660> + 2401: <-0.605748, 0.765608, -0.216596> + 2402: <-0.600829, 0.757361, -0.255750> + 2403: <-0.642833, 0.722093, -0.255632> + 2404: <-0.605748, 0.765608, -0.216596> + 2405: <-0.562257, 0.798110, -0.216534> + 2406: <-0.558172, 0.789266, -0.255937> + 2407: <-0.600829, 0.757361, -0.255750> + 2408: <-0.562257, 0.798110, -0.216534> + 2409: <-0.518435, 0.827263, -0.216475> + 2410: <-0.515110, 0.817925, -0.256243> + 2411: <-0.558172, 0.789266, -0.255937> + 2412: <-0.518435, 0.827263, -0.216475> + 2413: <-0.474515, 0.853230, -0.216413> + 2414: <-0.471888, 0.843490, -0.256606> + 2415: <-0.515110, 0.817925, -0.256243> + 2416: <-0.474515, 0.853230, -0.216413> + 2417: <-0.430657, 0.876208, -0.216320> + 2418: <-0.428698, 0.866124, -0.256999> + 2419: <-0.471888, 0.843490, -0.256606> + 2420: <-0.430657, 0.876208, -0.216320> + 2421: <-0.386985, 0.896382, -0.216199> + 2422: <-0.385664, 0.886018, -0.257364> + 2423: <-0.428698, 0.866124, -0.256999> + 2424: <-0.386985, 0.896382, -0.216199> + 2425: <-0.343582, 0.913949, -0.215982> + 2426: <-0.342852, 0.903367, -0.257643> + 2427: <-0.385664, 0.886018, -0.257364> + 2428: <-0.343582, 0.913949, -0.215982> + 2429: <-0.300461, 0.929096, -0.215649> + 2430: <-0.300219, 0.918390, -0.257736> + 2431: <-0.342852, 0.903367, -0.257643> + 2432: <-0.300461, 0.929096, -0.215649> + 2433: <-0.257519, 0.942000, -0.215220> + 2434: <-0.257702, 0.931225, -0.257702> + 2435: <-0.300219, 0.918390, -0.257736> + 2436: <-0.257519, 0.942000, -0.215220> + 2437: <-0.214732, 0.952775, -0.214732> + 2438: <-0.215220, 0.942000, -0.257519> + 2439: <-0.257702, 0.931225, -0.257702> + 2440: <-0.214732, 0.952775, -0.214732> + 2441: <-0.172005, 0.961530, -0.214182> + 2442: <-0.172679, 0.950800, -0.257217> + 2443: <-0.215220, 0.942000, -0.257519> + 2444: <-0.172005, 0.961530, -0.214182> + 2445: <-0.129250, 0.968319, -0.213666> + 2446: <-0.129981, 0.957663, -0.256880> + 2447: <-0.172679, 0.950800, -0.257217> + 2448: <-0.129250, 0.968319, -0.213666> + 2449: <-0.086398, 0.973180, -0.213204> + 2450: <-0.087041, 0.962605, -0.256544> + 2451: <-0.129981, 0.957663, -0.256880> + 2452: <-0.086398, 0.973180, -0.213204> + 2453: <-0.043306, 0.976120, -0.212870> + 2454: <-0.043703, 0.965618, -0.256267> + 2455: <-0.087041, 0.962605, -0.256544> + 2456: <-0.043306, 0.976120, -0.212870> + 2457: < 0.000000, 0.977107, -0.212750> + 2458: < 0.000000, 0.966630, -0.256177> + 2459: <-0.043703, 0.965618, -0.256267> + 2460: < 0.000000, 0.977107, -0.212750> + 2461: < 0.043306, 0.976120, -0.212870> + 2462: < 0.043703, 0.965618, -0.256267> + 2463: < 0.000000, 0.966630, -0.256177> + 2464: < 0.043306, 0.976120, -0.212870> + 2465: < 0.086398, 0.973180, -0.213204> + 2466: < 0.087041, 0.962605, -0.256544> + 2467: < 0.043703, 0.965618, -0.256267> + 2468: < 0.086398, 0.973180, -0.213204> + 2469: < 0.129250, 0.968319, -0.213666> + 2470: < 0.129981, 0.957663, -0.256880> + 2471: < 0.087041, 0.962605, -0.256544> + 2472: < 0.129250, 0.968319, -0.213666> + 2473: < 0.172005, 0.961530, -0.214182> + 2474: < 0.172679, 0.950800, -0.257217> + 2475: < 0.129981, 0.957663, -0.256880> + 2476: < 0.172005, 0.961530, -0.214182> + 2477: < 0.214732, 0.952775, -0.214732> + 2478: < 0.215220, 0.942000, -0.257519> + 2479: < 0.172679, 0.950800, -0.257217> + 2480: < 0.214732, 0.952775, -0.214732> + 2481: < 0.257519, 0.942000, -0.215220> + 2482: < 0.257702, 0.931225, -0.257702> + 2483: < 0.215220, 0.942000, -0.257519> + 2484: < 0.257519, 0.942000, -0.215220> + 2485: < 0.300461, 0.929096, -0.215649> + 2486: < 0.300219, 0.918390, -0.257736> + 2487: < 0.257702, 0.931225, -0.257702> + 2488: < 0.300461, 0.929096, -0.215649> + 2489: < 0.343582, 0.913949, -0.215982> + 2490: < 0.342852, 0.903367, -0.257643> + 2491: < 0.300219, 0.918390, -0.257736> + 2492: < 0.343582, 0.913949, -0.215982> + 2493: < 0.386985, 0.896382, -0.216199> + 2494: < 0.385664, 0.886018, -0.257364> + 2495: < 0.342852, 0.903367, -0.257643> + 2496: < 0.386985, 0.896382, -0.216199> + 2497: < 0.430657, 0.876208, -0.216320> + 2498: < 0.428698, 0.866124, -0.256999> + 2499: < 0.385664, 0.886018, -0.257364> + 2500: < 0.430657, 0.876208, -0.216320> + 2501: < 0.474515, 0.853230, -0.216413> + 2502: < 0.471888, 0.843490, -0.256606> + 2503: < 0.428698, 0.866124, -0.256999> + 2504: < 0.474515, 0.853230, -0.216413> + 2505: < 0.518435, 0.827263, -0.216475> + 2506: < 0.515110, 0.817925, -0.256243> + 2507: < 0.471888, 0.843490, -0.256606> + 2508: < 0.518435, 0.827263, -0.216475> + 2509: < 0.562257, 0.798110, -0.216534> + 2510: < 0.558172, 0.789266, -0.255937> + 2511: < 0.515110, 0.817925, -0.256243> + 2512: < 0.562257, 0.798110, -0.216534> + 2513: < 0.605748, 0.765608, -0.216596> + 2514: < 0.600829, 0.757361, -0.255750> + 2515: < 0.558172, 0.789266, -0.255937> + 2516: < 0.605748, 0.765608, -0.216596> + 2517: < 0.648606, 0.729636, -0.216660> + 2518: < 0.642833, 0.722093, -0.255632> + 2519: < 0.600829, 0.757361, -0.255750> + 2520: <-0.642833, 0.722093, -0.255632> + 2521: <-0.600829, 0.757361, -0.255750> + 2522: <-0.595158, 0.747816, -0.294207> + 2523: <-0.636150, 0.713396, -0.293904> + 2524: <-0.600829, 0.757361, -0.255750> + 2525: <-0.558172, 0.789266, -0.255937> + 2526: <-0.553415, 0.779017, -0.294729> + 2527: <-0.595158, 0.747816, -0.294207> + 2528: <-0.558172, 0.789266, -0.255937> + 2529: <-0.515110, 0.817925, -0.256243> + 2530: <-0.511198, 0.807082, -0.295457> + 2531: <-0.553415, 0.779017, -0.294729> + 2532: <-0.515110, 0.817925, -0.256243> + 2533: <-0.471888, 0.843490, -0.256606> + 2534: <-0.468770, 0.832128, -0.296339> + 2535: <-0.511198, 0.807082, -0.295457> + 2536: <-0.471888, 0.843490, -0.256606> + 2537: <-0.428698, 0.866124, -0.256999> + 2538: <-0.426323, 0.854324, -0.297287> + 2539: <-0.468770, 0.832128, -0.296339> + 2540: <-0.428698, 0.866124, -0.256999> + 2541: <-0.385664, 0.886018, -0.257364> + 2542: <-0.383986, 0.873840, -0.298259> + 2543: <-0.426323, 0.854324, -0.297287> + 2544: <-0.385664, 0.886018, -0.257364> + 2545: <-0.342852, 0.903367, -0.257643> + 2546: <-0.341811, 0.890906, -0.299085> + 2547: <-0.383986, 0.873840, -0.298259> + 2548: <-0.342852, 0.903367, -0.257643> + 2549: <-0.300219, 0.918390, -0.257736> + 2550: <-0.299762, 0.905696, -0.299762> + 2551: <-0.341811, 0.890906, -0.299085> + 2552: <-0.300219, 0.918390, -0.257736> + 2553: <-0.257702, 0.931225, -0.257702> + 2554: <-0.257736, 0.918390, -0.300219> + 2555: <-0.299762, 0.905696, -0.299762> + 2556: <-0.257702, 0.931225, -0.257702> + 2557: <-0.215220, 0.942000, -0.257519> + 2558: <-0.215649, 0.929096, -0.300461> + 2559: <-0.257736, 0.918390, -0.300219> + 2560: <-0.215220, 0.942000, -0.257519> + 2561: <-0.172679, 0.950800, -0.257217> + 2562: <-0.173351, 0.937897, -0.300496> + 2563: <-0.215649, 0.929096, -0.300461> + 2564: <-0.172679, 0.950800, -0.257217> + 2565: <-0.129981, 0.957663, -0.256880> + 2566: <-0.130743, 0.944802, -0.300427> + 2567: <-0.173351, 0.937897, -0.300496> + 2568: <-0.129981, 0.957663, -0.256880> + 2569: <-0.087041, 0.962605, -0.256544> + 2570: <-0.087712, 0.949820, -0.300248> + 2571: <-0.130743, 0.944802, -0.300427> + 2572: <-0.087041, 0.962605, -0.256544> + 2573: <-0.043703, 0.965618, -0.256267> + 2574: <-0.044130, 0.952889, -0.300092> + 2575: <-0.087712, 0.949820, -0.300248> + 2576: <-0.043703, 0.965618, -0.256267> + 2577: < 0.000000, 0.966630, -0.256177> + 2578: < 0.000000, 0.953921, -0.300059> + 2579: <-0.044130, 0.952889, -0.300092> + 2580: < 0.000000, 0.966630, -0.256177> + 2581: < 0.043703, 0.965618, -0.256267> + 2582: < 0.044130, 0.952889, -0.300092> + 2583: < 0.000000, 0.953921, -0.300059> + 2584: < 0.043703, 0.965618, -0.256267> + 2585: < 0.087041, 0.962605, -0.256544> + 2586: < 0.087712, 0.949820, -0.300248> + 2587: < 0.044130, 0.952889, -0.300092> + 2588: < 0.087041, 0.962605, -0.256544> + 2589: < 0.129981, 0.957663, -0.256880> + 2590: < 0.130743, 0.944802, -0.300427> + 2591: < 0.087712, 0.949820, -0.300248> + 2592: < 0.129981, 0.957663, -0.256880> + 2593: < 0.172679, 0.950800, -0.257217> + 2594: < 0.173351, 0.937897, -0.300496> + 2595: < 0.130743, 0.944802, -0.300427> + 2596: < 0.172679, 0.950800, -0.257217> + 2597: < 0.215220, 0.942000, -0.257519> + 2598: < 0.215649, 0.929096, -0.300461> + 2599: < 0.173351, 0.937897, -0.300496> + 2600: < 0.215220, 0.942000, -0.257519> + 2601: < 0.257702, 0.931225, -0.257702> + 2602: < 0.257736, 0.918390, -0.300219> + 2603: < 0.215649, 0.929096, -0.300461> + 2604: < 0.257702, 0.931225, -0.257702> + 2605: < 0.300219, 0.918390, -0.257736> + 2606: < 0.299762, 0.905696, -0.299762> + 2607: < 0.257736, 0.918390, -0.300219> + 2608: < 0.300219, 0.918390, -0.257736> + 2609: < 0.342852, 0.903367, -0.257643> + 2610: < 0.341811, 0.890906, -0.299085> + 2611: < 0.299762, 0.905696, -0.299762> + 2612: < 0.342852, 0.903367, -0.257643> + 2613: < 0.385664, 0.886018, -0.257364> + 2614: < 0.383960, 0.873851, -0.298262> + 2615: < 0.341811, 0.890906, -0.299085> + 2616: < 0.385664, 0.886018, -0.257364> + 2617: < 0.428698, 0.866124, -0.256999> + 2618: < 0.426323, 0.854324, -0.297287> + 2619: < 0.383960, 0.873851, -0.298262> + 2620: < 0.428698, 0.866124, -0.256999> + 2621: < 0.471888, 0.843490, -0.256606> + 2622: < 0.468770, 0.832128, -0.296339> + 2623: < 0.426323, 0.854324, -0.297287> + 2624: < 0.471888, 0.843490, -0.256606> + 2625: < 0.515110, 0.817925, -0.256243> + 2626: < 0.511198, 0.807082, -0.295457> + 2627: < 0.468770, 0.832128, -0.296339> + 2628: < 0.515110, 0.817925, -0.256243> + 2629: < 0.558172, 0.789266, -0.255937> + 2630: < 0.553415, 0.779017, -0.294729> + 2631: < 0.511198, 0.807082, -0.295457> + 2632: < 0.558172, 0.789266, -0.255937> + 2633: < 0.600829, 0.757361, -0.255750> + 2634: < 0.595158, 0.747816, -0.294207> + 2635: < 0.553415, 0.779017, -0.294729> + 2636: < 0.600829, 0.757361, -0.255750> + 2637: < 0.642833, 0.722093, -0.255632> + 2638: < 0.636150, 0.713396, -0.293904> + 2639: < 0.595158, 0.747816, -0.294207> + 2640: <-0.636150, 0.713396, -0.293904> + 2641: <-0.595158, 0.747816, -0.294207> + 2642: <-0.588744, 0.736915, -0.332170> + 2643: <-0.628603, 0.703467, -0.331652> + 2644: <-0.595158, 0.747816, -0.294207> + 2645: <-0.553415, 0.779017, -0.294729> + 2646: <-0.548009, 0.767292, -0.333090> + 2647: <-0.588744, 0.736915, -0.332170> + 2648: <-0.553415, 0.779017, -0.294729> + 2649: <-0.511198, 0.807082, -0.295457> + 2650: <-0.506740, 0.794627, -0.334337> + 2651: <-0.548009, 0.767292, -0.333090> + 2652: <-0.511198, 0.807082, -0.295457> + 2653: <-0.468770, 0.832128, -0.296339> + 2654: <-0.465202, 0.819039, -0.335801> + 2655: <-0.506740, 0.794627, -0.334337> + 2656: <-0.468770, 0.832128, -0.296339> + 2657: <-0.426323, 0.854324, -0.297287> + 2658: <-0.423577, 0.840684, -0.337391> + 2659: <-0.465202, 0.819039, -0.335801> + 2660: <-0.426323, 0.854324, -0.297287> + 2661: <-0.383986, 0.873840, -0.298259> + 2662: <-0.381976, 0.859750, -0.339005> + 2663: <-0.423577, 0.840684, -0.337391> + 2664: <-0.383986, 0.873840, -0.298259> + 2665: <-0.341811, 0.890906, -0.299085> + 2666: <-0.340503, 0.876422, -0.340503> + 2667: <-0.381976, 0.859750, -0.339005> + 2668: <-0.341811, 0.890906, -0.299085> + 2669: <-0.299762, 0.905696, -0.299762> + 2670: <-0.299085, 0.890906, -0.341811> + 2671: <-0.340503, 0.876422, -0.340503> + 2672: <-0.299762, 0.905696, -0.299762> + 2673: <-0.257736, 0.918390, -0.300219> + 2674: <-0.257643, 0.903367, -0.342852> + 2675: <-0.299085, 0.890906, -0.341811> + 2676: <-0.257736, 0.918390, -0.300219> + 2677: <-0.215649, 0.929096, -0.300461> + 2678: <-0.215982, 0.913949, -0.343582> + 2679: <-0.257643, 0.903367, -0.342852> + 2680: <-0.215649, 0.929096, -0.300461> + 2681: <-0.173351, 0.937897, -0.300496> + 2682: <-0.173989, 0.922682, -0.344072> + 2683: <-0.215982, 0.913949, -0.343582> + 2684: <-0.173351, 0.937897, -0.300496> + 2685: <-0.130743, 0.944802, -0.300427> + 2686: <-0.131509, 0.929596, -0.344322> + 2687: <-0.173989, 0.922682, -0.344072> + 2688: <-0.130743, 0.944802, -0.300427> + 2689: <-0.087712, 0.949820, -0.300248> + 2690: <-0.088414, 0.934648, -0.344408> + 2691: <-0.131509, 0.929596, -0.344322> + 2692: <-0.087712, 0.949820, -0.300248> + 2693: <-0.044130, 0.952889, -0.300092> + 2694: <-0.044558, 0.937762, -0.344409> + 2695: <-0.088414, 0.934648, -0.344408> + 2696: <-0.044130, 0.952889, -0.300092> + 2697: < 0.000000, 0.953921, -0.300059> + 2698: < 0.000000, 0.938821, -0.344405> + 2699: <-0.044558, 0.937762, -0.344409> + 2700: < 0.000000, 0.953921, -0.300059> + 2701: < 0.044130, 0.952889, -0.300092> + 2702: < 0.044558, 0.937762, -0.344409> + 2703: < 0.000000, 0.938821, -0.344405> + 2704: < 0.044130, 0.952889, -0.300092> + 2705: < 0.087712, 0.949820, -0.300248> + 2706: < 0.088414, 0.934648, -0.344408> + 2707: < 0.044558, 0.937762, -0.344409> + 2708: < 0.087712, 0.949820, -0.300248> + 2709: < 0.130743, 0.944802, -0.300427> + 2710: < 0.131509, 0.929596, -0.344322> + 2711: < 0.088414, 0.934648, -0.344408> + 2712: < 0.130743, 0.944802, -0.300427> + 2713: < 0.173351, 0.937897, -0.300496> + 2714: < 0.173989, 0.922682, -0.344072> + 2715: < 0.131509, 0.929596, -0.344322> + 2716: < 0.173351, 0.937897, -0.300496> + 2717: < 0.215649, 0.929096, -0.300461> + 2718: < 0.215982, 0.913949, -0.343582> + 2719: < 0.173989, 0.922682, -0.344072> + 2720: < 0.215649, 0.929096, -0.300461> + 2721: < 0.257736, 0.918390, -0.300219> + 2722: < 0.257643, 0.903367, -0.342852> + 2723: < 0.215982, 0.913949, -0.343582> + 2724: < 0.257736, 0.918390, -0.300219> + 2725: < 0.299762, 0.905696, -0.299762> + 2726: < 0.299085, 0.890906, -0.341811> + 2727: < 0.257643, 0.903367, -0.342852> + 2728: < 0.299762, 0.905696, -0.299762> + 2729: < 0.341811, 0.890906, -0.299085> + 2730: < 0.340503, 0.876422, -0.340503> + 2731: < 0.299085, 0.890906, -0.341811> + 2732: < 0.341811, 0.890906, -0.299085> + 2733: < 0.383960, 0.873851, -0.298262> + 2734: < 0.381976, 0.859750, -0.339005> + 2735: < 0.340503, 0.876422, -0.340503> + 2736: < 0.383960, 0.873851, -0.298262> + 2737: < 0.426323, 0.854324, -0.297287> + 2738: < 0.423577, 0.840684, -0.337391> + 2739: < 0.381976, 0.859750, -0.339005> + 2740: < 0.426323, 0.854324, -0.297287> + 2741: < 0.468770, 0.832128, -0.296339> + 2742: < 0.465202, 0.819039, -0.335801> + 2743: < 0.423577, 0.840684, -0.337391> + 2744: < 0.468770, 0.832128, -0.296339> + 2745: < 0.511198, 0.807082, -0.295457> + 2746: < 0.506745, 0.794636, -0.334310> + 2747: < 0.465202, 0.819039, -0.335801> + 2748: < 0.511198, 0.807082, -0.295457> + 2749: < 0.553415, 0.779017, -0.294729> + 2750: < 0.548009, 0.767292, -0.333090> + 2751: < 0.506745, 0.794636, -0.334310> + 2752: < 0.553415, 0.779017, -0.294729> + 2753: < 0.595158, 0.747816, -0.294207> + 2754: < 0.588744, 0.736915, -0.332170> + 2755: < 0.548009, 0.767292, -0.333090> + 2756: < 0.595158, 0.747816, -0.294207> + 2757: < 0.636150, 0.713396, -0.293904> + 2758: < 0.628603, 0.703467, -0.331652> + 2759: < 0.588744, 0.736915, -0.332170> + 2760: <-0.628603, 0.703467, -0.331652> + 2761: <-0.588744, 0.736915, -0.332170> + 2762: <-0.581661, 0.724825, -0.369188> + 2763: <-0.620305, 0.692544, -0.368246> + 2764: <-0.588744, 0.736915, -0.332170> + 2765: <-0.548009, 0.767292, -0.333090> + 2766: <-0.542028, 0.754169, -0.370721> + 2767: <-0.581661, 0.724825, -0.369188> + 2768: <-0.548009, 0.767292, -0.333090> + 2769: <-0.506740, 0.794627, -0.334337> + 2770: <-0.501802, 0.780568, -0.372705> + 2771: <-0.542028, 0.754169, -0.370721> + 2772: <-0.506740, 0.794627, -0.334337> + 2773: <-0.465202, 0.819039, -0.335801> + 2774: <-0.461239, 0.804154, -0.374961> + 2775: <-0.501802, 0.780568, -0.372705> + 2776: <-0.465202, 0.819039, -0.335801> + 2777: <-0.423577, 0.840684, -0.337391> + 2778: <-0.420500, 0.825100, -0.377345> + 2779: <-0.461239, 0.804154, -0.374961> + 2780: <-0.423577, 0.840684, -0.337391> + 2781: <-0.381976, 0.859750, -0.339005> + 2782: <-0.379751, 0.843551, -0.379751> + 2783: <-0.420500, 0.825100, -0.377345> + 2784: <-0.381976, 0.859750, -0.339005> + 2785: <-0.340503, 0.876422, -0.340503> + 2786: <-0.339005, 0.859750, -0.381976> + 2787: <-0.379751, 0.843551, -0.379751> + 2788: <-0.340503, 0.876422, -0.340503> + 2789: <-0.299085, 0.890906, -0.341811> + 2790: <-0.298262, 0.873851, -0.383960> + 2791: <-0.339005, 0.859750, -0.381976> + 2792: <-0.299085, 0.890906, -0.341811> + 2793: <-0.257643, 0.903367, -0.342852> + 2794: <-0.257367, 0.886028, -0.385638> + 2795: <-0.298262, 0.873851, -0.383960> + 2796: <-0.257643, 0.903367, -0.342852> + 2797: <-0.215982, 0.913949, -0.343582> + 2798: <-0.216199, 0.896382, -0.386985> + 2799: <-0.257367, 0.886028, -0.385638> + 2800: <-0.215982, 0.913949, -0.343582> + 2801: <-0.173989, 0.922682, -0.344072> + 2802: <-0.174541, 0.904997, -0.387965> + 2803: <-0.216199, 0.896382, -0.386985> + 2804: <-0.173989, 0.922682, -0.344072> + 2805: <-0.131509, 0.929596, -0.344322> + 2806: <-0.132240, 0.911854, -0.388632> + 2807: <-0.174541, 0.904997, -0.387965> + 2808: <-0.131509, 0.929596, -0.344322> + 2809: <-0.088414, 0.934648, -0.344408> + 2810: <-0.089116, 0.916918, -0.388998> + 2811: <-0.132240, 0.911854, -0.388632> + 2812: <-0.088414, 0.934648, -0.344408> + 2813: <-0.044558, 0.937762, -0.344409> + 2814: <-0.045016, 0.920061, -0.389180> + 2815: <-0.089116, 0.916918, -0.388998> + 2816: <-0.044558, 0.937762, -0.344409> + 2817: < 0.000000, 0.938821, -0.344405> + 2818: < 0.000000, 0.921135, -0.389244> + 2819: <-0.045016, 0.920061, -0.389180> + 2820: < 0.000000, 0.938821, -0.344405> + 2821: < 0.044558, 0.937762, -0.344409> + 2822: < 0.045016, 0.920061, -0.389180> + 2823: < 0.000000, 0.921135, -0.389244> + 2824: < 0.044558, 0.937762, -0.344409> + 2825: < 0.088414, 0.934648, -0.344408> + 2826: < 0.089116, 0.916918, -0.388998> + 2827: < 0.045016, 0.920061, -0.389180> + 2828: < 0.088414, 0.934648, -0.344408> + 2829: < 0.131509, 0.929596, -0.344322> + 2830: < 0.132240, 0.911854, -0.388632> + 2831: < 0.089116, 0.916918, -0.388998> + 2832: < 0.131509, 0.929596, -0.344322> + 2833: < 0.173989, 0.922682, -0.344072> + 2834: < 0.174541, 0.904997, -0.387965> + 2835: < 0.132240, 0.911854, -0.388632> + 2836: < 0.173989, 0.922682, -0.344072> + 2837: < 0.215982, 0.913949, -0.343582> + 2838: < 0.216199, 0.896382, -0.386985> + 2839: < 0.174541, 0.904997, -0.387965> + 2840: < 0.215982, 0.913949, -0.343582> + 2841: < 0.257643, 0.903367, -0.342852> + 2842: < 0.257364, 0.886018, -0.385664> + 2843: < 0.216199, 0.896382, -0.386985> + 2844: < 0.257643, 0.903367, -0.342852> + 2845: < 0.299085, 0.890906, -0.341811> + 2846: < 0.298262, 0.873851, -0.383960> + 2847: < 0.257364, 0.886018, -0.385664> + 2848: < 0.299085, 0.890906, -0.341811> + 2849: < 0.340503, 0.876422, -0.340503> + 2850: < 0.339005, 0.859750, -0.381976> + 2851: < 0.298262, 0.873851, -0.383960> + 2852: < 0.340503, 0.876422, -0.340503> + 2853: < 0.381976, 0.859750, -0.339005> + 2854: < 0.379751, 0.843551, -0.379751> + 2855: < 0.339005, 0.859750, -0.381976> + 2856: < 0.381976, 0.859750, -0.339005> + 2857: < 0.423577, 0.840684, -0.337391> + 2858: < 0.420500, 0.825100, -0.377345> + 2859: < 0.379751, 0.843551, -0.379751> + 2860: < 0.423577, 0.840684, -0.337391> + 2861: < 0.465202, 0.819039, -0.335801> + 2862: < 0.461239, 0.804154, -0.374961> + 2863: < 0.420500, 0.825100, -0.377345> + 2864: < 0.465202, 0.819039, -0.335801> + 2865: < 0.506745, 0.794636, -0.334310> + 2866: < 0.501802, 0.780568, -0.372705> + 2867: < 0.461239, 0.804154, -0.374961> + 2868: < 0.506745, 0.794636, -0.334310> + 2869: < 0.548009, 0.767292, -0.333090> + 2870: < 0.542028, 0.754169, -0.370721> + 2871: < 0.501802, 0.780568, -0.372705> + 2872: < 0.548009, 0.767292, -0.333090> + 2873: < 0.588744, 0.736915, -0.332170> + 2874: < 0.581661, 0.724825, -0.369188> + 2875: < 0.542028, 0.754169, -0.370721> + 2876: < 0.588744, 0.736915, -0.332170> + 2877: < 0.628603, 0.703467, -0.331652> + 2878: < 0.620305, 0.692544, -0.368246> + 2879: < 0.581661, 0.724825, -0.369188> + 2880: <-0.620305, 0.692544, -0.368246> + 2881: <-0.581661, 0.724825, -0.369188> + 2882: <-0.574008, 0.711772, -0.404839> + 2883: <-0.611427, 0.680859, -0.403223> + 2884: <-0.581661, 0.724825, -0.369188> + 2885: <-0.542028, 0.754169, -0.370721> + 2886: <-0.535518, 0.739812, -0.407307> + 2887: <-0.574008, 0.711772, -0.404839> + 2888: <-0.542028, 0.754169, -0.370721> + 2889: <-0.501802, 0.780568, -0.372705> + 2890: <-0.496395, 0.764964, -0.410392> + 2891: <-0.535518, 0.739812, -0.407307> + 2892: <-0.501802, 0.780568, -0.372705> + 2893: <-0.461239, 0.804154, -0.374961> + 2894: <-0.456900, 0.787421, -0.413777> + 2895: <-0.496395, 0.764964, -0.410392> + 2896: <-0.461239, 0.804154, -0.374961> + 2897: <-0.420500, 0.825100, -0.377345> + 2898: <-0.417202, 0.807394, -0.417202> + 2899: <-0.456900, 0.787421, -0.413777> + 2900: <-0.420500, 0.825100, -0.377345> + 2901: <-0.379751, 0.843551, -0.379751> + 2902: <-0.377345, 0.825100, -0.420500> + 2903: <-0.417202, 0.807394, -0.417202> + 2904: <-0.379751, 0.843551, -0.379751> + 2905: <-0.339005, 0.859750, -0.381976> + 2906: <-0.337391, 0.840684, -0.423577> + 2907: <-0.377345, 0.825100, -0.420500> + 2908: <-0.339005, 0.859750, -0.381976> + 2909: <-0.298262, 0.873851, -0.383960> + 2910: <-0.297287, 0.854324, -0.426323> + 2911: <-0.337391, 0.840684, -0.423577> + 2912: <-0.298262, 0.873851, -0.383960> + 2913: <-0.257367, 0.886028, -0.385638> + 2914: <-0.256999, 0.866124, -0.428698> + 2915: <-0.297287, 0.854324, -0.426323> + 2916: <-0.257367, 0.886028, -0.385638> + 2917: <-0.216199, 0.896382, -0.386985> + 2918: <-0.216320, 0.876208, -0.430657> + 2919: <-0.256999, 0.866124, -0.428698> + 2920: <-0.216199, 0.896382, -0.386985> + 2921: <-0.174541, 0.904997, -0.387965> + 2922: <-0.175026, 0.884654, -0.432149> + 2923: <-0.216320, 0.876208, -0.430657> + 2924: <-0.174541, 0.904997, -0.387965> + 2925: <-0.132240, 0.911854, -0.388632> + 2926: <-0.132911, 0.891405, -0.433281> + 2927: <-0.175026, 0.884654, -0.432149> + 2928: <-0.132240, 0.911854, -0.388632> + 2929: <-0.089116, 0.916918, -0.388998> + 2930: <-0.089787, 0.896437, -0.433981> + 2931: <-0.132911, 0.891405, -0.433281> + 2932: <-0.089116, 0.916918, -0.388998> + 2933: <-0.045016, 0.920061, -0.389180> + 2934: <-0.045443, 0.899583, -0.434379> + 2935: <-0.089787, 0.896437, -0.433981> + 2936: <-0.045016, 0.920061, -0.389180> + 2937: < 0.000000, 0.921135, -0.389244> + 2938: < 0.000000, 0.900655, -0.434534> + 2939: <-0.045443, 0.899583, -0.434379> + 2940: < 0.000000, 0.921135, -0.389244> + 2941: < 0.045016, 0.920061, -0.389180> + 2942: < 0.045443, 0.899583, -0.434379> + 2943: < 0.000000, 0.900655, -0.434534> + 2944: < 0.045016, 0.920061, -0.389180> + 2945: < 0.089116, 0.916918, -0.388998> + 2946: < 0.089787, 0.896437, -0.433981> + 2947: < 0.045443, 0.899583, -0.434379> + 2948: < 0.089116, 0.916918, -0.388998> + 2949: < 0.132240, 0.911854, -0.388632> + 2950: < 0.132911, 0.891405, -0.433281> + 2951: < 0.089787, 0.896437, -0.433981> + 2952: < 0.132240, 0.911854, -0.388632> + 2953: < 0.174541, 0.904997, -0.387965> + 2954: < 0.175026, 0.884654, -0.432149> + 2955: < 0.132911, 0.891405, -0.433281> + 2956: < 0.174541, 0.904997, -0.387965> + 2957: < 0.216199, 0.896382, -0.386985> + 2958: < 0.216320, 0.876208, -0.430657> + 2959: < 0.175026, 0.884654, -0.432149> + 2960: < 0.216199, 0.896382, -0.386985> + 2961: < 0.257364, 0.886018, -0.385664> + 2962: < 0.256999, 0.866124, -0.428698> + 2963: < 0.216320, 0.876208, -0.430657> + 2964: < 0.257364, 0.886018, -0.385664> + 2965: < 0.298262, 0.873851, -0.383960> + 2966: < 0.297287, 0.854324, -0.426323> + 2967: < 0.256999, 0.866124, -0.428698> + 2968: < 0.298262, 0.873851, -0.383960> + 2969: < 0.339005, 0.859750, -0.381976> + 2970: < 0.337391, 0.840684, -0.423577> + 2971: < 0.297287, 0.854324, -0.426323> + 2972: < 0.339005, 0.859750, -0.381976> + 2973: < 0.379751, 0.843551, -0.379751> + 2974: < 0.377345, 0.825100, -0.420500> + 2975: < 0.337391, 0.840684, -0.423577> + 2976: < 0.379751, 0.843551, -0.379751> + 2977: < 0.420500, 0.825100, -0.377345> + 2978: < 0.417202, 0.807394, -0.417202> + 2979: < 0.377345, 0.825100, -0.420500> + 2980: < 0.420500, 0.825100, -0.377345> + 2981: < 0.461239, 0.804154, -0.374961> + 2982: < 0.456900, 0.787421, -0.413777> + 2983: < 0.417202, 0.807394, -0.417202> + 2984: < 0.461239, 0.804154, -0.374961> + 2985: < 0.501802, 0.780568, -0.372705> + 2986: < 0.496395, 0.764964, -0.410392> + 2987: < 0.456900, 0.787421, -0.413777> + 2988: < 0.501802, 0.780568, -0.372705> + 2989: < 0.542028, 0.754169, -0.370721> + 2990: < 0.535518, 0.739812, -0.407307> + 2991: < 0.496395, 0.764964, -0.410392> + 2992: < 0.542028, 0.754169, -0.370721> + 2993: < 0.581661, 0.724825, -0.369188> + 2994: < 0.574008, 0.711772, -0.404839> + 2995: < 0.535518, 0.739812, -0.407307> + 2996: < 0.581661, 0.724825, -0.369188> + 2997: < 0.620305, 0.692544, -0.368246> + 2998: < 0.611427, 0.680859, -0.403223> + 2999: < 0.574008, 0.711772, -0.404839> + 3000: <-0.611427, 0.680859, -0.403223> + 3001: <-0.574008, 0.711772, -0.404839> + 3002: <-0.565794, 0.697667, -0.439475> + 3003: <-0.601963, 0.668312, -0.437036> + 3004: <-0.574008, 0.711772, -0.404839> + 3005: <-0.535518, 0.739812, -0.407307> + 3006: <-0.528478, 0.724109, -0.443145> + 3007: <-0.565794, 0.697667, -0.439475> + 3008: <-0.535518, 0.739812, -0.407307> + 3009: <-0.496395, 0.764964, -0.410392> + 3010: <-0.490534, 0.747688, -0.447593> + 3011: <-0.528478, 0.724109, -0.443145> + 3012: <-0.496395, 0.764964, -0.410392> + 3013: <-0.456900, 0.787421, -0.413777> + 3014: <-0.452290, 0.768679, -0.452290> + 3015: <-0.490534, 0.747688, -0.447593> + 3016: <-0.456900, 0.787421, -0.413777> + 3017: <-0.417202, 0.807394, -0.417202> + 3018: <-0.413777, 0.787421, -0.456900> + 3019: <-0.452290, 0.768679, -0.452290> + 3020: <-0.417202, 0.807394, -0.417202> + 3021: <-0.377345, 0.825100, -0.420500> + 3022: <-0.374961, 0.804154, -0.461239> + 3023: <-0.413777, 0.787421, -0.456900> + 3024: <-0.377345, 0.825100, -0.420500> + 3025: <-0.337391, 0.840684, -0.423577> + 3026: <-0.335801, 0.819039, -0.465202> + 3027: <-0.374961, 0.804154, -0.461239> + 3028: <-0.337391, 0.840684, -0.423577> + 3029: <-0.297287, 0.854324, -0.426323> + 3030: <-0.296339, 0.832128, -0.468770> + 3031: <-0.335801, 0.819039, -0.465202> + 3032: <-0.297287, 0.854324, -0.426323> + 3033: <-0.256999, 0.866124, -0.428698> + 3034: <-0.256606, 0.843490, -0.471888> + 3035: <-0.296339, 0.832128, -0.468770> + 3036: <-0.256999, 0.866124, -0.428698> + 3037: <-0.216320, 0.876208, -0.430657> + 3038: <-0.216413, 0.853230, -0.474515> + 3039: <-0.256606, 0.843490, -0.471888> + 3040: <-0.216320, 0.876208, -0.430657> + 3041: <-0.175026, 0.884654, -0.432149> + 3042: <-0.175453, 0.861426, -0.476614> + 3043: <-0.216413, 0.853230, -0.474515> + 3044: <-0.175026, 0.884654, -0.432149> + 3045: <-0.132911, 0.891405, -0.433281> + 3046: <-0.133553, 0.868033, -0.478208> + 3047: <-0.175453, 0.861426, -0.476614> + 3048: <-0.132911, 0.891405, -0.433281> + 3049: <-0.089787, 0.896437, -0.433981> + 3050: <-0.090429, 0.872976, -0.479307> + 3051: <-0.133553, 0.868033, -0.478208> + 3052: <-0.089787, 0.896437, -0.433981> + 3053: <-0.045443, 0.899583, -0.434379> + 3054: <-0.045871, 0.876095, -0.479951> + 3055: <-0.090429, 0.872976, -0.479307> + 3056: <-0.045443, 0.899583, -0.434379> + 3057: < 0.000000, 0.900655, -0.434534> + 3058: < 0.000000, 0.877182, -0.480158> + 3059: <-0.045871, 0.876095, -0.479951> + 3060: < 0.000000, 0.900655, -0.434534> + 3061: < 0.045443, 0.899583, -0.434379> + 3062: < 0.045871, 0.876095, -0.479951> + 3063: < 0.000000, 0.877182, -0.480158> + 3064: < 0.045443, 0.899583, -0.434379> + 3065: < 0.089787, 0.896437, -0.433981> + 3066: < 0.090429, 0.872976, -0.479307> + 3067: < 0.045871, 0.876095, -0.479951> + 3068: < 0.089787, 0.896437, -0.433981> + 3069: < 0.132911, 0.891405, -0.433281> + 3070: < 0.133553, 0.868033, -0.478208> + 3071: < 0.090429, 0.872976, -0.479307> + 3072: < 0.132911, 0.891405, -0.433281> + 3073: < 0.175026, 0.884654, -0.432149> + 3074: < 0.175453, 0.861426, -0.476614> + 3075: < 0.133553, 0.868033, -0.478208> + 3076: < 0.175026, 0.884654, -0.432149> + 3077: < 0.216320, 0.876208, -0.430657> + 3078: < 0.216413, 0.853230, -0.474515> + 3079: < 0.175453, 0.861426, -0.476614> + 3080: < 0.216320, 0.876208, -0.430657> + 3081: < 0.256999, 0.866124, -0.428698> + 3082: < 0.256606, 0.843490, -0.471888> + 3083: < 0.216413, 0.853230, -0.474515> + 3084: < 0.256999, 0.866124, -0.428698> + 3085: < 0.297287, 0.854324, -0.426323> + 3086: < 0.296339, 0.832128, -0.468770> + 3087: < 0.256606, 0.843490, -0.471888> + 3088: < 0.297287, 0.854324, -0.426323> + 3089: < 0.337391, 0.840684, -0.423577> + 3090: < 0.335801, 0.819039, -0.465202> + 3091: < 0.296339, 0.832128, -0.468770> + 3092: < 0.337391, 0.840684, -0.423577> + 3093: < 0.377345, 0.825100, -0.420500> + 3094: < 0.374961, 0.804154, -0.461239> + 3095: < 0.335801, 0.819039, -0.465202> + 3096: < 0.377345, 0.825100, -0.420500> + 3097: < 0.417202, 0.807394, -0.417202> + 3098: < 0.413777, 0.787421, -0.456900> + 3099: < 0.374961, 0.804154, -0.461239> + 3100: < 0.417202, 0.807394, -0.417202> + 3101: < 0.456900, 0.787421, -0.413777> + 3102: < 0.452290, 0.768679, -0.452290> + 3103: < 0.413777, 0.787421, -0.456900> + 3104: < 0.456900, 0.787421, -0.413777> + 3105: < 0.496395, 0.764964, -0.410392> + 3106: < 0.490534, 0.747688, -0.447593> + 3107: < 0.452290, 0.768679, -0.452290> + 3108: < 0.496395, 0.764964, -0.410392> + 3109: < 0.535518, 0.739812, -0.407307> + 3110: < 0.528478, 0.724109, -0.443145> + 3111: < 0.490534, 0.747688, -0.447593> + 3112: < 0.535518, 0.739812, -0.407307> + 3113: < 0.574008, 0.711772, -0.404839> + 3114: < 0.565794, 0.697667, -0.439475> + 3115: < 0.528478, 0.724109, -0.443145> + 3116: < 0.574008, 0.711772, -0.404839> + 3117: < 0.611427, 0.680859, -0.403223> + 3118: < 0.601963, 0.668312, -0.437036> + 3119: < 0.565794, 0.697667, -0.439475> + 3120: <-0.601963, 0.668312, -0.437036> + 3121: <-0.565794, 0.697667, -0.439475> + 3122: <-0.557037, 0.682532, -0.473139> + 3123: <-0.591920, 0.655217, -0.469385> + 3124: <-0.565794, 0.697667, -0.439475> + 3125: <-0.528478, 0.724109, -0.443145> + 3126: <-0.520969, 0.706895, -0.478425> + 3127: <-0.557037, 0.682532, -0.473139> + 3128: <-0.528478, 0.724109, -0.443145> + 3129: <-0.490534, 0.747688, -0.447593> + 3130: <-0.484430, 0.728461, -0.484430> + 3131: <-0.520969, 0.706895, -0.478425> + 3132: <-0.490534, 0.747688, -0.447593> + 3133: <-0.452290, 0.768679, -0.452290> + 3134: <-0.447593, 0.747688, -0.490534> + 3135: <-0.484430, 0.728461, -0.484430> + 3136: <-0.452290, 0.768679, -0.452290> + 3137: <-0.413777, 0.787421, -0.456900> + 3138: <-0.410398, 0.764976, -0.496372> + 3139: <-0.447593, 0.747688, -0.490534> + 3140: <-0.413777, 0.787421, -0.456900> + 3141: <-0.374961, 0.804154, -0.461239> + 3142: <-0.372705, 0.780568, -0.501802> + 3143: <-0.410398, 0.764976, -0.496372> + 3144: <-0.374961, 0.804154, -0.461239> + 3145: <-0.335801, 0.819039, -0.465202> + 3146: <-0.334337, 0.794627, -0.506740> + 3147: <-0.372705, 0.780568, -0.501802> + 3148: <-0.335801, 0.819039, -0.465202> + 3149: <-0.296339, 0.832128, -0.468770> + 3150: <-0.295457, 0.807082, -0.511198> + 3151: <-0.334337, 0.794627, -0.506740> + 3152: <-0.296339, 0.832128, -0.468770> + 3153: <-0.256606, 0.843490, -0.471888> + 3154: <-0.256243, 0.817925, -0.515110> + 3155: <-0.295457, 0.807082, -0.511198> + 3156: <-0.256606, 0.843490, -0.471888> + 3157: <-0.216413, 0.853230, -0.474515> + 3158: <-0.216475, 0.827263, -0.518435> + 3159: <-0.256243, 0.817925, -0.515110> + 3160: <-0.216413, 0.853230, -0.474515> + 3161: <-0.175453, 0.861426, -0.476614> + 3162: <-0.175853, 0.835133, -0.521180> + 3163: <-0.216475, 0.827263, -0.518435> + 3164: <-0.175453, 0.861426, -0.476614> + 3165: <-0.133553, 0.868033, -0.478208> + 3166: <-0.134100, 0.841527, -0.523307> + 3167: <-0.175853, 0.835133, -0.521180> + 3168: <-0.133553, 0.868033, -0.478208> + 3169: <-0.090429, 0.872976, -0.479307> + 3170: <-0.091008, 0.846324, -0.524836> + 3171: <-0.134100, 0.841527, -0.523307> + 3172: <-0.090429, 0.872976, -0.479307> + 3173: <-0.045871, 0.876095, -0.479951> + 3174: <-0.046267, 0.849378, -0.525753> + 3175: <-0.091008, 0.846324, -0.524836> + 3176: <-0.045871, 0.876095, -0.479951> + 3177: < 0.000000, 0.877182, -0.480158> + 3178: < 0.000000, 0.850434, -0.526081> + 3179: <-0.046267, 0.849378, -0.525753> + 3180: < 0.000000, 0.877182, -0.480158> + 3181: < 0.045871, 0.876095, -0.479951> + 3182: < 0.046267, 0.849378, -0.525753> + 3183: < 0.000000, 0.850434, -0.526081> + 3184: < 0.045871, 0.876095, -0.479951> + 3185: < 0.090429, 0.872976, -0.479307> + 3186: < 0.091008, 0.846324, -0.524836> + 3187: < 0.046267, 0.849378, -0.525753> + 3188: < 0.090429, 0.872976, -0.479307> + 3189: < 0.133553, 0.868033, -0.478208> + 3190: < 0.134100, 0.841527, -0.523307> + 3191: < 0.091008, 0.846324, -0.524836> + 3192: < 0.133553, 0.868033, -0.478208> + 3193: < 0.175453, 0.861426, -0.476614> + 3194: < 0.175853, 0.835133, -0.521180> + 3195: < 0.134100, 0.841527, -0.523307> + 3196: < 0.175453, 0.861426, -0.476614> + 3197: < 0.216413, 0.853230, -0.474515> + 3198: < 0.216475, 0.827263, -0.518435> + 3199: < 0.175853, 0.835133, -0.521180> + 3200: < 0.216413, 0.853230, -0.474515> + 3201: < 0.256606, 0.843490, -0.471888> + 3202: < 0.256243, 0.817925, -0.515110> + 3203: < 0.216475, 0.827263, -0.518435> + 3204: < 0.256606, 0.843490, -0.471888> + 3205: < 0.296339, 0.832128, -0.468770> + 3206: < 0.295457, 0.807082, -0.511198> + 3207: < 0.256243, 0.817925, -0.515110> + 3208: < 0.296339, 0.832128, -0.468770> + 3209: < 0.335801, 0.819039, -0.465202> + 3210: < 0.334337, 0.794627, -0.506740> + 3211: < 0.295457, 0.807082, -0.511198> + 3212: < 0.335801, 0.819039, -0.465202> + 3213: < 0.374961, 0.804154, -0.461239> + 3214: < 0.372705, 0.780568, -0.501802> + 3215: < 0.334337, 0.794627, -0.506740> + 3216: < 0.374961, 0.804154, -0.461239> + 3217: < 0.413777, 0.787421, -0.456900> + 3218: < 0.410392, 0.764964, -0.496395> + 3219: < 0.372705, 0.780568, -0.501802> + 3220: < 0.413777, 0.787421, -0.456900> + 3221: < 0.452290, 0.768679, -0.452290> + 3222: < 0.447593, 0.747688, -0.490534> + 3223: < 0.410392, 0.764964, -0.496395> + 3224: < 0.452290, 0.768679, -0.452290> + 3225: < 0.490534, 0.747688, -0.447593> + 3226: < 0.484430, 0.728461, -0.484430> + 3227: < 0.447593, 0.747688, -0.490534> + 3228: < 0.490534, 0.747688, -0.447593> + 3229: < 0.528478, 0.724109, -0.443145> + 3230: < 0.520969, 0.706895, -0.478425> + 3231: < 0.484430, 0.728461, -0.484430> + 3232: < 0.528478, 0.724109, -0.443145> + 3233: < 0.565794, 0.697667, -0.439475> + 3234: < 0.557037, 0.682532, -0.473139> + 3235: < 0.520969, 0.706895, -0.478425> + 3236: < 0.565794, 0.697667, -0.439475> + 3237: < 0.601963, 0.668312, -0.437036> + 3238: < 0.591920, 0.655217, -0.469385> + 3239: < 0.557037, 0.682532, -0.473139> + 3240: <-0.591920, 0.655217, -0.469385> + 3241: <-0.557037, 0.682532, -0.473139> + 3242: <-0.547882, 0.666144, -0.506040> + 3243: <-0.581456, 0.641397, -0.500519> + 3244: <-0.557037, 0.682532, -0.473139> + 3245: <-0.520969, 0.706895, -0.478425> + 3246: <-0.513252, 0.687856, -0.513252> + 3247: <-0.547882, 0.666144, -0.506040> + 3248: <-0.520969, 0.706895, -0.478425> + 3249: <-0.484430, 0.728461, -0.484430> + 3250: <-0.478425, 0.706895, -0.520969> + 3251: <-0.513252, 0.687856, -0.513252> + 3252: <-0.484430, 0.728461, -0.484430> + 3253: <-0.447593, 0.747688, -0.490534> + 3254: <-0.443145, 0.724109, -0.528478> + 3255: <-0.478425, 0.706895, -0.520969> + 3256: <-0.447593, 0.747688, -0.490534> + 3257: <-0.410398, 0.764976, -0.496372> + 3258: <-0.407307, 0.739812, -0.535518> + 3259: <-0.443145, 0.724109, -0.528478> + 3260: <-0.410398, 0.764976, -0.496372> + 3261: <-0.372705, 0.780568, -0.501802> + 3262: <-0.370721, 0.754169, -0.542028> + 3263: <-0.407307, 0.739812, -0.535518> + 3264: <-0.372705, 0.780568, -0.501802> + 3265: <-0.334337, 0.794627, -0.506740> + 3266: <-0.333090, 0.767292, -0.548009> + 3267: <-0.370721, 0.754169, -0.542028> + 3268: <-0.334337, 0.794627, -0.506740> + 3269: <-0.295457, 0.807082, -0.511198> + 3270: <-0.294729, 0.779017, -0.553415> + 3271: <-0.333090, 0.767292, -0.548009> + 3272: <-0.295457, 0.807082, -0.511198> + 3273: <-0.256243, 0.817925, -0.515110> + 3274: <-0.255937, 0.789266, -0.558172> + 3275: <-0.294729, 0.779017, -0.553415> + 3276: <-0.256243, 0.817925, -0.515110> + 3277: <-0.216475, 0.827263, -0.518435> + 3278: <-0.216534, 0.798110, -0.562257> + 3279: <-0.255937, 0.789266, -0.558172> + 3280: <-0.216475, 0.827263, -0.518435> + 3281: <-0.175853, 0.835133, -0.521180> + 3282: <-0.176188, 0.805587, -0.565675> + 3283: <-0.216534, 0.798110, -0.562257> + 3284: <-0.175853, 0.835133, -0.521180> + 3285: <-0.134100, 0.841527, -0.523307> + 3286: <-0.134618, 0.811677, -0.568382> + 3287: <-0.176188, 0.805587, -0.565675> + 3288: <-0.134100, 0.841527, -0.523307> + 3289: <-0.091008, 0.846324, -0.524836> + 3290: <-0.091497, 0.816271, -0.570377> + 3291: <-0.134618, 0.811677, -0.568382> + 3292: <-0.091008, 0.846324, -0.524836> + 3293: <-0.046267, 0.849378, -0.525753> + 3294: <-0.046573, 0.819208, -0.571602> + 3295: <-0.091497, 0.816271, -0.570377> + 3296: <-0.046267, 0.849378, -0.525753> + 3297: < 0.000000, 0.850434, -0.526081> + 3298: < 0.000000, 0.820237, -0.572024> + 3299: <-0.046573, 0.819208, -0.571602> + 3300: < 0.000000, 0.850434, -0.526081> + 3301: < 0.046267, 0.849378, -0.525753> + 3302: < 0.046573, 0.819208, -0.571602> + 3303: < 0.000000, 0.820237, -0.572024> + 3304: < 0.046267, 0.849378, -0.525753> + 3305: < 0.091008, 0.846324, -0.524836> + 3306: < 0.091497, 0.816271, -0.570377> + 3307: < 0.046573, 0.819208, -0.571602> + 3308: < 0.091008, 0.846324, -0.524836> + 3309: < 0.134100, 0.841527, -0.523307> + 3310: < 0.134618, 0.811677, -0.568382> + 3311: < 0.091497, 0.816271, -0.570377> + 3312: < 0.134100, 0.841527, -0.523307> + 3313: < 0.175853, 0.835133, -0.521180> + 3314: < 0.176188, 0.805587, -0.565675> + 3315: < 0.134618, 0.811677, -0.568382> + 3316: < 0.175853, 0.835133, -0.521180> + 3317: < 0.216475, 0.827263, -0.518435> + 3318: < 0.216534, 0.798110, -0.562257> + 3319: < 0.176188, 0.805587, -0.565675> + 3320: < 0.216475, 0.827263, -0.518435> + 3321: < 0.256243, 0.817925, -0.515110> + 3322: < 0.255937, 0.789266, -0.558172> + 3323: < 0.216534, 0.798110, -0.562257> + 3324: < 0.256243, 0.817925, -0.515110> + 3325: < 0.295457, 0.807082, -0.511198> + 3326: < 0.294729, 0.779017, -0.553415> + 3327: < 0.255937, 0.789266, -0.558172> + 3328: < 0.295457, 0.807082, -0.511198> + 3329: < 0.334337, 0.794627, -0.506740> + 3330: < 0.333090, 0.767292, -0.548009> + 3331: < 0.294729, 0.779017, -0.553415> + 3332: < 0.334337, 0.794627, -0.506740> + 3333: < 0.372705, 0.780568, -0.501802> + 3334: < 0.370721, 0.754169, -0.542028> + 3335: < 0.333090, 0.767292, -0.548009> + 3336: < 0.372705, 0.780568, -0.501802> + 3337: < 0.410392, 0.764964, -0.496395> + 3338: < 0.407307, 0.739812, -0.535518> + 3339: < 0.370721, 0.754169, -0.542028> + 3340: < 0.410392, 0.764964, -0.496395> + 3341: < 0.447593, 0.747688, -0.490534> + 3342: < 0.443145, 0.724109, -0.528478> + 3343: < 0.407307, 0.739812, -0.535518> + 3344: < 0.447593, 0.747688, -0.490534> + 3345: < 0.484430, 0.728461, -0.484430> + 3346: < 0.478425, 0.706895, -0.520969> + 3347: < 0.443145, 0.724109, -0.528478> + 3348: < 0.484430, 0.728461, -0.484430> + 3349: < 0.520969, 0.706895, -0.478425> + 3350: < 0.513252, 0.687856, -0.513252> + 3351: < 0.478425, 0.706895, -0.520969> + 3352: < 0.520969, 0.706895, -0.478425> + 3353: < 0.557037, 0.682532, -0.473139> + 3354: < 0.547882, 0.666144, -0.506040> + 3355: < 0.513252, 0.687856, -0.513252> + 3356: < 0.557037, 0.682532, -0.473139> + 3357: < 0.591920, 0.655217, -0.469385> + 3358: < 0.581456, 0.641397, -0.500519> + 3359: < 0.547882, 0.666144, -0.506040> + 3360: <-0.581456, 0.641397, -0.500519> + 3361: <-0.547882, 0.666144, -0.506040> + 3362: <-0.538962, 0.647334, -0.538962> + 3363: <-0.571076, 0.625584, -0.531523> + 3364: <-0.547882, 0.666144, -0.506040> + 3365: <-0.513252, 0.687856, -0.513252> + 3366: <-0.506040, 0.666144, -0.547882> + 3367: <-0.538962, 0.647334, -0.538962> + 3368: <-0.513252, 0.687856, -0.513252> + 3369: <-0.478425, 0.706895, -0.520969> + 3370: <-0.473139, 0.682532, -0.557037> + 3371: <-0.506040, 0.666144, -0.547882> + 3372: <-0.478425, 0.706895, -0.520969> + 3373: <-0.443145, 0.724109, -0.528478> + 3374: <-0.439475, 0.697667, -0.565794> + 3375: <-0.473139, 0.682532, -0.557037> + 3376: <-0.443145, 0.724109, -0.528478> + 3377: <-0.407307, 0.739812, -0.535518> + 3378: <-0.404839, 0.711772, -0.574008> + 3379: <-0.439475, 0.697667, -0.565794> + 3380: <-0.407307, 0.739812, -0.535518> + 3381: <-0.370721, 0.754169, -0.542028> + 3382: <-0.369188, 0.724825, -0.581661> + 3383: <-0.404839, 0.711772, -0.574008> + 3384: <-0.370721, 0.754169, -0.542028> + 3385: <-0.333090, 0.767292, -0.548009> + 3386: <-0.332197, 0.736907, -0.588738> + 3387: <-0.369188, 0.724825, -0.581661> + 3388: <-0.333090, 0.767292, -0.548009> + 3389: <-0.294729, 0.779017, -0.553415> + 3390: <-0.294207, 0.747816, -0.595158> + 3391: <-0.332197, 0.736907, -0.588738> + 3392: <-0.294729, 0.779017, -0.553415> + 3393: <-0.255937, 0.789266, -0.558172> + 3394: <-0.255750, 0.757361, -0.600829> + 3395: <-0.294207, 0.747816, -0.595158> + 3396: <-0.255937, 0.789266, -0.558172> + 3397: <-0.216534, 0.798110, -0.562257> + 3398: <-0.216596, 0.765608, -0.605748> + 3399: <-0.255750, 0.757361, -0.600829> + 3400: <-0.216534, 0.798110, -0.562257> + 3401: <-0.176188, 0.805587, -0.565675> + 3402: <-0.176461, 0.772589, -0.609892> + 3403: <-0.216596, 0.765608, -0.605748> + 3404: <-0.176188, 0.805587, -0.565675> + 3405: <-0.134618, 0.811677, -0.568382> + 3406: <-0.135018, 0.778306, -0.613196> + 3407: <-0.176461, 0.772589, -0.609892> + 3408: <-0.134618, 0.811677, -0.568382> + 3409: <-0.091497, 0.816271, -0.570377> + 3410: <-0.091894, 0.782607, -0.615697> + 3411: <-0.135018, 0.778306, -0.613196> + 3412: <-0.091497, 0.816271, -0.570377> + 3413: <-0.046573, 0.819208, -0.571602> + 3414: <-0.046847, 0.785375, -0.617246> + 3415: <-0.091894, 0.782607, -0.615697> + 3416: <-0.046573, 0.819208, -0.571602> + 3417: < 0.000000, 0.820237, -0.572024> + 3418: < 0.000000, 0.786344, -0.617789> + 3419: <-0.046847, 0.785375, -0.617246> + 3420: < 0.000000, 0.820237, -0.572024> + 3421: < 0.046573, 0.819208, -0.571602> + 3422: < 0.046847, 0.785375, -0.617246> + 3423: < 0.000000, 0.786344, -0.617789> + 3424: < 0.046573, 0.819208, -0.571602> + 3425: < 0.091497, 0.816271, -0.570377> + 3426: < 0.091894, 0.782607, -0.615697> + 3427: < 0.046847, 0.785375, -0.617246> + 3428: < 0.091497, 0.816271, -0.570377> + 3429: < 0.134618, 0.811677, -0.568382> + 3430: < 0.134985, 0.778295, -0.613218> + 3431: < 0.091894, 0.782607, -0.615697> + 3432: < 0.134618, 0.811677, -0.568382> + 3433: < 0.176188, 0.805587, -0.565675> + 3434: < 0.176461, 0.772589, -0.609892> + 3435: < 0.134985, 0.778295, -0.613218> + 3436: < 0.176188, 0.805587, -0.565675> + 3437: < 0.216534, 0.798110, -0.562257> + 3438: < 0.216596, 0.765608, -0.605748> + 3439: < 0.176461, 0.772589, -0.609892> + 3440: < 0.216534, 0.798110, -0.562257> + 3441: < 0.255937, 0.789266, -0.558172> + 3442: < 0.255750, 0.757361, -0.600829> + 3443: < 0.216596, 0.765608, -0.605748> + 3444: < 0.255937, 0.789266, -0.558172> + 3445: < 0.294729, 0.779017, -0.553415> + 3446: < 0.294207, 0.747816, -0.595158> + 3447: < 0.255750, 0.757361, -0.600829> + 3448: < 0.294729, 0.779017, -0.553415> + 3449: < 0.333090, 0.767292, -0.548009> + 3450: < 0.332170, 0.736915, -0.588744> + 3451: < 0.294207, 0.747816, -0.595158> + 3452: < 0.333090, 0.767292, -0.548009> + 3453: < 0.370721, 0.754169, -0.542028> + 3454: < 0.369188, 0.724825, -0.581661> + 3455: < 0.332170, 0.736915, -0.588744> + 3456: < 0.370721, 0.754169, -0.542028> + 3457: < 0.407307, 0.739812, -0.535518> + 3458: < 0.404839, 0.711772, -0.574008> + 3459: < 0.369188, 0.724825, -0.581661> + 3460: < 0.407307, 0.739812, -0.535518> + 3461: < 0.443145, 0.724109, -0.528478> + 3462: < 0.439475, 0.697667, -0.565794> + 3463: < 0.404839, 0.711772, -0.574008> + 3464: < 0.443145, 0.724109, -0.528478> + 3465: < 0.478425, 0.706895, -0.520969> + 3466: < 0.473139, 0.682532, -0.557037> + 3467: < 0.439475, 0.697667, -0.565794> + 3468: < 0.478425, 0.706895, -0.520969> + 3469: < 0.513252, 0.687856, -0.513252> + 3470: < 0.506040, 0.666144, -0.547882> + 3471: < 0.473139, 0.682532, -0.557037> + 3472: < 0.513252, 0.687856, -0.513252> + 3473: < 0.547882, 0.666144, -0.506040> + 3474: < 0.538962, 0.647334, -0.538962> + 3475: < 0.506040, 0.666144, -0.547882> + 3476: < 0.547882, 0.666144, -0.506040> + 3477: < 0.581456, 0.641397, -0.500519> + 3478: < 0.571076, 0.625584, -0.531523> + 3479: < 0.538962, 0.647334, -0.538962> + 3480: <-0.571076, 0.625584, -0.531523> + 3481: <-0.538962, 0.647334, -0.538962> + 3482: <-0.531523, 0.625584, -0.571076> + 3483: <-0.561516, 0.607783, -0.561516> + 3484: <-0.538962, 0.647334, -0.538962> + 3485: <-0.506040, 0.666144, -0.547882> + 3486: <-0.500519, 0.641397, -0.581456> + 3487: <-0.531523, 0.625584, -0.571076> + 3488: <-0.506040, 0.666144, -0.547882> + 3489: <-0.473139, 0.682532, -0.557037> + 3490: <-0.469385, 0.655217, -0.591920> + 3491: <-0.500519, 0.641397, -0.581456> + 3492: <-0.473139, 0.682532, -0.557037> + 3493: <-0.439475, 0.697667, -0.565794> + 3494: <-0.437036, 0.668312, -0.601963> + 3495: <-0.469385, 0.655217, -0.591920> + 3496: <-0.439475, 0.697667, -0.565794> + 3497: <-0.404839, 0.711772, -0.574008> + 3498: <-0.403223, 0.680859, -0.611427> + 3499: <-0.437036, 0.668312, -0.601963> + 3500: <-0.404839, 0.711772, -0.574008> + 3501: <-0.369188, 0.724825, -0.581661> + 3502: <-0.368246, 0.692544, -0.620305> + 3503: <-0.403223, 0.680859, -0.611427> + 3504: <-0.369188, 0.724825, -0.581661> + 3505: <-0.332197, 0.736907, -0.588738> + 3506: <-0.331652, 0.703467, -0.628603> + 3507: <-0.368246, 0.692544, -0.620305> + 3508: <-0.332197, 0.736907, -0.588738> + 3509: <-0.294207, 0.747816, -0.595158> + 3510: <-0.293904, 0.713396, -0.636150> + 3511: <-0.331652, 0.703467, -0.628603> + 3512: <-0.294207, 0.747816, -0.595158> + 3513: <-0.255750, 0.757361, -0.600829> + 3514: <-0.255632, 0.722093, -0.642833> + 3515: <-0.293904, 0.713396, -0.636150> + 3516: <-0.255750, 0.757361, -0.600829> + 3517: <-0.216596, 0.765608, -0.605748> + 3518: <-0.216660, 0.729636, -0.648606> + 3519: <-0.255632, 0.722093, -0.642833> + 3520: <-0.216596, 0.765608, -0.605748> + 3521: <-0.176461, 0.772589, -0.609892> + 3522: <-0.176644, 0.736025, -0.653502> + 3523: <-0.216660, 0.729636, -0.648606> + 3524: <-0.176461, 0.772589, -0.609892> + 3525: <-0.135018, 0.778306, -0.613196> + 3526: <-0.135260, 0.741243, -0.657468> + 3527: <-0.176644, 0.736025, -0.653502> + 3528: <-0.135018, 0.778306, -0.613196> + 3529: <-0.091894, 0.782607, -0.615697> + 3530: <-0.092137, 0.745184, -0.660463> + 3531: <-0.135260, 0.741243, -0.657468> + 3532: <-0.091894, 0.782607, -0.615697> + 3533: <-0.046847, 0.785375, -0.617246> + 3534: <-0.046999, 0.747715, -0.662354> + 3535: <-0.092137, 0.745184, -0.660463> + 3536: <-0.046847, 0.785375, -0.617246> + 3537: < 0.000000, 0.786344, -0.617789> + 3538: < 0.000000, 0.748599, -0.663024> + 3539: <-0.046999, 0.747715, -0.662354> + 3540: < 0.000000, 0.786344, -0.617789> + 3541: < 0.046847, 0.785375, -0.617246> + 3542: < 0.046999, 0.747715, -0.662354> + 3543: < 0.000000, 0.748599, -0.663024> + 3544: < 0.046847, 0.785375, -0.617246> + 3545: < 0.091894, 0.782607, -0.615697> + 3546: < 0.092137, 0.745184, -0.660463> + 3547: < 0.046999, 0.747715, -0.662354> + 3548: < 0.091894, 0.782607, -0.615697> + 3549: < 0.134985, 0.778295, -0.613218> + 3550: < 0.135260, 0.741243, -0.657468> + 3551: < 0.092137, 0.745184, -0.660463> + 3552: < 0.134985, 0.778295, -0.613218> + 3553: < 0.176461, 0.772589, -0.609892> + 3554: < 0.176644, 0.736025, -0.653502> + 3555: < 0.135260, 0.741243, -0.657468> + 3556: < 0.176461, 0.772589, -0.609892> + 3557: < 0.216596, 0.765608, -0.605748> + 3558: < 0.216660, 0.729636, -0.648606> + 3559: < 0.176644, 0.736025, -0.653502> + 3560: < 0.216596, 0.765608, -0.605748> + 3561: < 0.255750, 0.757361, -0.600829> + 3562: < 0.255632, 0.722093, -0.642833> + 3563: < 0.216660, 0.729636, -0.648606> + 3564: < 0.255750, 0.757361, -0.600829> + 3565: < 0.294207, 0.747816, -0.595158> + 3566: < 0.293904, 0.713396, -0.636150> + 3567: < 0.255632, 0.722093, -0.642833> + 3568: < 0.294207, 0.747816, -0.595158> + 3569: < 0.332170, 0.736915, -0.588744> + 3570: < 0.331652, 0.703467, -0.628603> + 3571: < 0.293904, 0.713396, -0.636150> + 3572: < 0.332170, 0.736915, -0.588744> + 3573: < 0.369188, 0.724825, -0.581661> + 3574: < 0.368246, 0.692544, -0.620305> + 3575: < 0.331652, 0.703467, -0.628603> + 3576: < 0.369188, 0.724825, -0.581661> + 3577: < 0.404839, 0.711772, -0.574008> + 3578: < 0.403223, 0.680859, -0.611427> + 3579: < 0.368246, 0.692544, -0.620305> + 3580: < 0.404839, 0.711772, -0.574008> + 3581: < 0.439475, 0.697667, -0.565794> + 3582: < 0.437036, 0.668312, -0.601963> + 3583: < 0.403223, 0.680859, -0.611427> + 3584: < 0.439475, 0.697667, -0.565794> + 3585: < 0.473139, 0.682532, -0.557037> + 3586: < 0.469385, 0.655217, -0.591920> + 3587: < 0.437036, 0.668312, -0.601963> + 3588: < 0.473139, 0.682532, -0.557037> + 3589: < 0.506040, 0.666144, -0.547882> + 3590: < 0.500519, 0.641397, -0.581456> + 3591: < 0.469385, 0.655217, -0.591920> + 3592: < 0.506040, 0.666144, -0.547882> + 3593: < 0.538962, 0.647334, -0.538962> + 3594: < 0.531523, 0.625584, -0.571076> + 3595: < 0.500519, 0.641397, -0.581456> + 3596: < 0.538962, 0.647334, -0.538962> + 3597: < 0.571076, 0.625584, -0.531523> + 3598: < 0.561516, 0.607783, -0.561516> + 3599: < 0.531523, 0.625584, -0.571076> + 3600: <-0.577350, 0.577350, 0.577350> + 3601: <-0.554296, 0.588539, 0.588539> + 3602: <-0.561516, 0.607783, 0.561516> + 3603: <-0.588539, 0.588539, 0.554296> + 3604: <-0.554296, 0.588539, 0.588539> + 3605: <-0.526447, 0.601188, 0.601188> + 3606: <-0.531523, 0.625584, 0.571076> + 3607: <-0.561516, 0.607783, 0.561516> + 3608: <-0.526447, 0.601188, 0.601188> + 3609: <-0.497527, 0.613379, 0.613379> + 3610: <-0.500519, 0.641397, 0.581456> + 3611: <-0.531523, 0.625584, 0.571076> + 3612: <-0.497527, 0.613379, 0.613379> + 3613: <-0.467950, 0.624909, 0.624909> + 3614: <-0.469385, 0.655217, 0.591920> + 3615: <-0.500519, 0.641397, 0.581456> + 3616: <-0.467950, 0.624909, 0.624909> + 3617: <-0.436181, 0.636296, 0.636296> + 3618: <-0.437036, 0.668312, 0.601963> + 3619: <-0.469385, 0.655217, 0.591920> + 3620: <-0.436181, 0.636296, 0.636296> + 3621: <-0.402668, 0.647247, 0.647247> + 3622: <-0.403223, 0.680859, 0.611427> + 3623: <-0.437036, 0.668312, 0.601963> + 3624: <-0.402668, 0.647247, 0.647247> + 3625: <-0.367912, 0.657511, 0.657511> + 3626: <-0.368246, 0.692544, 0.620305> + 3627: <-0.403223, 0.680859, 0.611427> + 3628: <-0.367912, 0.657511, 0.657511> + 3629: <-0.331474, 0.667130, 0.667130> + 3630: <-0.331652, 0.703467, 0.628603> + 3631: <-0.368246, 0.692544, 0.620305> + 3632: <-0.331474, 0.667130, 0.667130> + 3633: <-0.293804, 0.675899, 0.675899> + 3634: <-0.293904, 0.713396, 0.636150> + 3635: <-0.331652, 0.703467, 0.628603> + 3636: <-0.293804, 0.675899, 0.675899> + 3637: <-0.255594, 0.683620, 0.683620> + 3638: <-0.255632, 0.722093, 0.642833> + 3639: <-0.293904, 0.713396, 0.636150> + 3640: <-0.255594, 0.683620, 0.683620> + 3641: <-0.216684, 0.690307, 0.690307> + 3642: <-0.216660, 0.729636, 0.648606> + 3643: <-0.255632, 0.722093, 0.642833> + 3644: <-0.216684, 0.690307, 0.690307> + 3645: <-0.176733, 0.695976, 0.695976> + 3646: <-0.176644, 0.736025, 0.653502> + 3647: <-0.216660, 0.729636, 0.648606> + 3648: <-0.176733, 0.695976, 0.695976> + 3649: <-0.135353, 0.700600, 0.700600> + 3650: <-0.135260, 0.741243, 0.657468> + 3651: <-0.176644, 0.736025, 0.653502> + 3652: <-0.135353, 0.700600, 0.700600> + 3653: <-0.092231, 0.704093, 0.704093> + 3654: <-0.092137, 0.745184, 0.660463> + 3655: <-0.135260, 0.741243, 0.657468> + 3656: <-0.092231, 0.704093, 0.704093> + 3657: <-0.047060, 0.706323, 0.706323> + 3658: <-0.046999, 0.747715, 0.662354> + 3659: <-0.092137, 0.745184, 0.660463> + 3660: <-0.047060, 0.706323, 0.706323> + 3661: < 0.000000, 0.707107, 0.707107> + 3662: < 0.000000, 0.748599, 0.663024> + 3663: <-0.046999, 0.747715, 0.662354> + 3664: < 0.000000, 0.707107, 0.707107> + 3665: < 0.047060, 0.706323, 0.706323> + 3666: < 0.046999, 0.747715, 0.662354> + 3667: < 0.000000, 0.748599, 0.663024> + 3668: < 0.047060, 0.706323, 0.706323> + 3669: < 0.092231, 0.704093, 0.704093> + 3670: < 0.092137, 0.745184, 0.660463> + 3671: < 0.046999, 0.747715, 0.662354> + 3672: < 0.092231, 0.704093, 0.704093> + 3673: < 0.135353, 0.700600, 0.700600> + 3674: < 0.135260, 0.741243, 0.657468> + 3675: < 0.092137, 0.745184, 0.660463> + 3676: < 0.135353, 0.700600, 0.700600> + 3677: < 0.176733, 0.695976, 0.695976> + 3678: < 0.176644, 0.736025, 0.653502> + 3679: < 0.135260, 0.741243, 0.657468> + 3680: < 0.176733, 0.695976, 0.695976> + 3681: < 0.216684, 0.690307, 0.690307> + 3682: < 0.216660, 0.729636, 0.648606> + 3683: < 0.176644, 0.736025, 0.653502> + 3684: < 0.216684, 0.690307, 0.690307> + 3685: < 0.255594, 0.683620, 0.683620> + 3686: < 0.255632, 0.722093, 0.642833> + 3687: < 0.216660, 0.729636, 0.648606> + 3688: < 0.255594, 0.683620, 0.683620> + 3689: < 0.293804, 0.675899, 0.675899> + 3690: < 0.293904, 0.713396, 0.636150> + 3691: < 0.255632, 0.722093, 0.642833> + 3692: < 0.293804, 0.675899, 0.675899> + 3693: < 0.331474, 0.667130, 0.667130> + 3694: < 0.331652, 0.703467, 0.628603> + 3695: < 0.293904, 0.713396, 0.636150> + 3696: < 0.331474, 0.667130, 0.667130> + 3697: < 0.367912, 0.657511, 0.657511> + 3698: < 0.368246, 0.692544, 0.620305> + 3699: < 0.331652, 0.703467, 0.628603> + 3700: < 0.367912, 0.657511, 0.657511> + 3701: < 0.402668, 0.647247, 0.647247> + 3702: < 0.403223, 0.680859, 0.611427> + 3703: < 0.368246, 0.692544, 0.620305> + 3704: < 0.402668, 0.647247, 0.647247> + 3705: < 0.436181, 0.636296, 0.636296> + 3706: < 0.437036, 0.668312, 0.601963> + 3707: < 0.403223, 0.680859, 0.611427> + 3708: < 0.436181, 0.636296, 0.636296> + 3709: < 0.467950, 0.624909, 0.624909> + 3710: < 0.469385, 0.655217, 0.591920> + 3711: < 0.437036, 0.668312, 0.601963> + 3712: < 0.467950, 0.624909, 0.624909> + 3713: < 0.497527, 0.613379, 0.613379> + 3714: < 0.500496, 0.641406, 0.581465> + 3715: < 0.469385, 0.655217, 0.591920> + 3716: < 0.497527, 0.613379, 0.613379> + 3717: < 0.526447, 0.601188, 0.601188> + 3718: < 0.531523, 0.625584, 0.571076> + 3719: < 0.500496, 0.641406, 0.581465> + 3720: < 0.526447, 0.601188, 0.601188> + 3721: < 0.554296, 0.588539, 0.588539> + 3722: < 0.561516, 0.607783, 0.561516> + 3723: < 0.531523, 0.625584, 0.571076> + 3724: < 0.554296, 0.588539, 0.588539> + 3725: < 0.577330, 0.577360, 0.577360> + 3726: < 0.588539, 0.588539, 0.554296> + 3727: < 0.561516, 0.607783, 0.561516> + 3728: < 0.561516, 0.607783, 0.561516> + 3729: < 0.588539, 0.588539, 0.554296> + 3730: < 0.601188, 0.601188, 0.526447> + 3731: < 0.571076, 0.625584, 0.531523> + 3732: < 0.571076, 0.625584, 0.531523> + 3733: < 0.601188, 0.601188, 0.526447> + 3734: < 0.613379, 0.613379, 0.497527> + 3735: < 0.581456, 0.641397, 0.500519> + 3736: < 0.581456, 0.641397, 0.500519> + 3737: < 0.613379, 0.613379, 0.497527> + 3738: < 0.624909, 0.624909, 0.467950> + 3739: < 0.591920, 0.655217, 0.469385> + 3740: < 0.591920, 0.655217, 0.469385> + 3741: < 0.624909, 0.624909, 0.467950> + 3742: < 0.636296, 0.636296, 0.436181> + 3743: < 0.601963, 0.668312, 0.437036> + 3744: < 0.601963, 0.668312, 0.437036> + 3745: < 0.636296, 0.636296, 0.436181> + 3746: < 0.647247, 0.647247, 0.402668> + 3747: < 0.611427, 0.680859, 0.403223> + 3748: < 0.611427, 0.680859, 0.403223> + 3749: < 0.647247, 0.647247, 0.402668> + 3750: < 0.657511, 0.657511, 0.367912> + 3751: < 0.620305, 0.692544, 0.368246> + 3752: < 0.620305, 0.692544, 0.368246> + 3753: < 0.657511, 0.657511, 0.367912> + 3754: < 0.667130, 0.667130, 0.331474> + 3755: < 0.628603, 0.703467, 0.331652> + 3756: < 0.628603, 0.703467, 0.331652> + 3757: < 0.667130, 0.667130, 0.331474> + 3758: < 0.675899, 0.675899, 0.293804> + 3759: < 0.636150, 0.713396, 0.293904> + 3760: < 0.636150, 0.713396, 0.293904> + 3761: < 0.675899, 0.675899, 0.293804> + 3762: < 0.683620, 0.683620, 0.255594> + 3763: < 0.642833, 0.722093, 0.255632> + 3764: < 0.642833, 0.722093, 0.255632> + 3765: < 0.683620, 0.683620, 0.255594> + 3766: < 0.690307, 0.690307, 0.216684> + 3767: < 0.648606, 0.729636, 0.216660> + 3768: < 0.648606, 0.729636, 0.216660> + 3769: < 0.690307, 0.690307, 0.216684> + 3770: < 0.695976, 0.695976, 0.176733> + 3771: < 0.653502, 0.736025, 0.176644> + 3772: < 0.653502, 0.736025, 0.176644> + 3773: < 0.695976, 0.695976, 0.176733> + 3774: < 0.700600, 0.700600, 0.135353> + 3775: < 0.657468, 0.741243, 0.135260> + 3776: < 0.657468, 0.741243, 0.135260> + 3777: < 0.700600, 0.700600, 0.135353> + 3778: < 0.704093, 0.704093, 0.092231> + 3779: < 0.660463, 0.745184, 0.092137> + 3780: < 0.660463, 0.745184, 0.092137> + 3781: < 0.704093, 0.704093, 0.092231> + 3782: < 0.706323, 0.706323, 0.047060> + 3783: < 0.662354, 0.747715, 0.046999> + 3784: < 0.662354, 0.747715, 0.046999> + 3785: < 0.706323, 0.706323, 0.047060> + 3786: < 0.707107, 0.707107, 0.000000> + 3787: < 0.663024, 0.748599, 0.000000> + 3788: < 0.663024, 0.748599, 0.000000> + 3789: < 0.707107, 0.707107, 0.000000> + 3790: < 0.706323, 0.706323, -0.047060> + 3791: < 0.662354, 0.747715, -0.046999> + 3792: < 0.662354, 0.747715, -0.046999> + 3793: < 0.706323, 0.706323, -0.047060> + 3794: < 0.704093, 0.704093, -0.092231> + 3795: < 0.660463, 0.745184, -0.092137> + 3796: < 0.660463, 0.745184, -0.092137> + 3797: < 0.704093, 0.704093, -0.092231> + 3798: < 0.700600, 0.700600, -0.135353> + 3799: < 0.657468, 0.741243, -0.135260> + 3800: < 0.657468, 0.741243, -0.135260> + 3801: < 0.700600, 0.700600, -0.135353> + 3802: < 0.695976, 0.695976, -0.176733> + 3803: < 0.653502, 0.736025, -0.176644> + 3804: < 0.653502, 0.736025, -0.176644> + 3805: < 0.695976, 0.695976, -0.176733> + 3806: < 0.690307, 0.690307, -0.216684> + 3807: < 0.648606, 0.729636, -0.216660> + 3808: < 0.648606, 0.729636, -0.216660> + 3809: < 0.690307, 0.690307, -0.216684> + 3810: < 0.683620, 0.683620, -0.255594> + 3811: < 0.642833, 0.722093, -0.255632> + 3812: < 0.642833, 0.722093, -0.255632> + 3813: < 0.683620, 0.683620, -0.255594> + 3814: < 0.675899, 0.675899, -0.293804> + 3815: < 0.636150, 0.713396, -0.293904> + 3816: < 0.636150, 0.713396, -0.293904> + 3817: < 0.675899, 0.675899, -0.293804> + 3818: < 0.667130, 0.667130, -0.331474> + 3819: < 0.628603, 0.703467, -0.331652> + 3820: < 0.628603, 0.703467, -0.331652> + 3821: < 0.667130, 0.667130, -0.331474> + 3822: < 0.657511, 0.657511, -0.367912> + 3823: < 0.620305, 0.692544, -0.368246> + 3824: < 0.620305, 0.692544, -0.368246> + 3825: < 0.657511, 0.657511, -0.367912> + 3826: < 0.647247, 0.647247, -0.402668> + 3827: < 0.611427, 0.680859, -0.403223> + 3828: < 0.611427, 0.680859, -0.403223> + 3829: < 0.647247, 0.647247, -0.402668> + 3830: < 0.636296, 0.636296, -0.436181> + 3831: < 0.601963, 0.668312, -0.437036> + 3832: < 0.601963, 0.668312, -0.437036> + 3833: < 0.636296, 0.636296, -0.436181> + 3834: < 0.624909, 0.624909, -0.467950> + 3835: < 0.591920, 0.655217, -0.469385> + 3836: < 0.591920, 0.655217, -0.469385> + 3837: < 0.624909, 0.624909, -0.467950> + 3838: < 0.613379, 0.613379, -0.497527> + 3839: < 0.581456, 0.641397, -0.500519> + 3840: < 0.581456, 0.641397, -0.500519> + 3841: < 0.613379, 0.613379, -0.497527> + 3842: < 0.601168, 0.601199, -0.526457> + 3843: < 0.571076, 0.625584, -0.531523> + 3844: < 0.571076, 0.625584, -0.531523> + 3845: < 0.601168, 0.601199, -0.526457> + 3846: < 0.588539, 0.588539, -0.554296> + 3847: < 0.561516, 0.607783, -0.561516> + 3848: < 0.561516, 0.607783, -0.561516> + 3849: < 0.588539, 0.588539, -0.554296> + 3850: < 0.577350, 0.577350, -0.577350> + 3851: < 0.554296, 0.588539, -0.588539> + 3852: < 0.531523, 0.625584, -0.571076> + 3853: < 0.561516, 0.607783, -0.561516> + 3854: < 0.554296, 0.588539, -0.588539> + 3855: < 0.526467, 0.601179, -0.601179> + 3856: < 0.500519, 0.641397, -0.581456> + 3857: < 0.531523, 0.625584, -0.571076> + 3858: < 0.526467, 0.601179, -0.601179> + 3859: < 0.497527, 0.613379, -0.613379> + 3860: < 0.469385, 0.655217, -0.591920> + 3861: < 0.500519, 0.641397, -0.581456> + 3862: < 0.497527, 0.613379, -0.613379> + 3863: < 0.467950, 0.624909, -0.624909> + 3864: < 0.437036, 0.668312, -0.601963> + 3865: < 0.469385, 0.655217, -0.591920> + 3866: < 0.467950, 0.624909, -0.624909> + 3867: < 0.436181, 0.636296, -0.636296> + 3868: < 0.403223, 0.680859, -0.611427> + 3869: < 0.437036, 0.668312, -0.601963> + 3870: < 0.436181, 0.636296, -0.636296> + 3871: < 0.402668, 0.647247, -0.647247> + 3872: < 0.368246, 0.692544, -0.620305> + 3873: < 0.403223, 0.680859, -0.611427> + 3874: < 0.402668, 0.647247, -0.647247> + 3875: < 0.367912, 0.657511, -0.657511> + 3876: < 0.331652, 0.703467, -0.628603> + 3877: < 0.368246, 0.692544, -0.620305> + 3878: < 0.367912, 0.657511, -0.657511> + 3879: < 0.331474, 0.667130, -0.667130> + 3880: < 0.293904, 0.713396, -0.636150> + 3881: < 0.331652, 0.703467, -0.628603> + 3882: < 0.331474, 0.667130, -0.667130> + 3883: < 0.293804, 0.675899, -0.675899> + 3884: < 0.255632, 0.722093, -0.642833> + 3885: < 0.293904, 0.713396, -0.636150> + 3886: < 0.293804, 0.675899, -0.675899> + 3887: < 0.255594, 0.683620, -0.683620> + 3888: < 0.216660, 0.729636, -0.648606> + 3889: < 0.255632, 0.722093, -0.642833> + 3890: < 0.255594, 0.683620, -0.683620> + 3891: < 0.216684, 0.690307, -0.690307> + 3892: < 0.176644, 0.736025, -0.653502> + 3893: < 0.216660, 0.729636, -0.648606> + 3894: < 0.216684, 0.690307, -0.690307> + 3895: < 0.176733, 0.695976, -0.695976> + 3896: < 0.135260, 0.741243, -0.657468> + 3897: < 0.176644, 0.736025, -0.653502> + 3898: < 0.176733, 0.695976, -0.695976> + 3899: < 0.135353, 0.700600, -0.700600> + 3900: < 0.092137, 0.745184, -0.660463> + 3901: < 0.135260, 0.741243, -0.657468> + 3902: < 0.135353, 0.700600, -0.700600> + 3903: < 0.092231, 0.704093, -0.704093> + 3904: < 0.046999, 0.747715, -0.662354> + 3905: < 0.092137, 0.745184, -0.660463> + 3906: < 0.092231, 0.704093, -0.704093> + 3907: < 0.047060, 0.706323, -0.706323> + 3908: < 0.000000, 0.748599, -0.663024> + 3909: < 0.046999, 0.747715, -0.662354> + 3910: < 0.047060, 0.706323, -0.706323> + 3911: < 0.000000, 0.707107, -0.707107> + 3912: <-0.046999, 0.747715, -0.662354> + 3913: < 0.000000, 0.748599, -0.663024> + 3914: < 0.000000, 0.707107, -0.707107> + 3915: <-0.047060, 0.706323, -0.706323> + 3916: <-0.092137, 0.745184, -0.660463> + 3917: <-0.046999, 0.747715, -0.662354> + 3918: <-0.047060, 0.706323, -0.706323> + 3919: <-0.092231, 0.704093, -0.704093> + 3920: <-0.135260, 0.741243, -0.657468> + 3921: <-0.092137, 0.745184, -0.660463> + 3922: <-0.092231, 0.704093, -0.704093> + 3923: <-0.135353, 0.700600, -0.700600> + 3924: <-0.176644, 0.736025, -0.653502> + 3925: <-0.135260, 0.741243, -0.657468> + 3926: <-0.135353, 0.700600, -0.700600> + 3927: <-0.176733, 0.695976, -0.695976> + 3928: <-0.216660, 0.729636, -0.648606> + 3929: <-0.176644, 0.736025, -0.653502> + 3930: <-0.176733, 0.695976, -0.695976> + 3931: <-0.216684, 0.690307, -0.690307> + 3932: <-0.255632, 0.722093, -0.642833> + 3933: <-0.216660, 0.729636, -0.648606> + 3934: <-0.216684, 0.690307, -0.690307> + 3935: <-0.255594, 0.683620, -0.683620> + 3936: <-0.293904, 0.713396, -0.636150> + 3937: <-0.255632, 0.722093, -0.642833> + 3938: <-0.255594, 0.683620, -0.683620> + 3939: <-0.293804, 0.675899, -0.675899> + 3940: <-0.331652, 0.703467, -0.628603> + 3941: <-0.293904, 0.713396, -0.636150> + 3942: <-0.293804, 0.675899, -0.675899> + 3943: <-0.331474, 0.667130, -0.667130> + 3944: <-0.368246, 0.692544, -0.620305> + 3945: <-0.331652, 0.703467, -0.628603> + 3946: <-0.331474, 0.667130, -0.667130> + 3947: <-0.367912, 0.657511, -0.657511> + 3948: <-0.403223, 0.680859, -0.611427> + 3949: <-0.368246, 0.692544, -0.620305> + 3950: <-0.367912, 0.657511, -0.657511> + 3951: <-0.402668, 0.647247, -0.647247> + 3952: <-0.437036, 0.668312, -0.601963> + 3953: <-0.403223, 0.680859, -0.611427> + 3954: <-0.402668, 0.647247, -0.647247> + 3955: <-0.436181, 0.636296, -0.636296> + 3956: <-0.469385, 0.655217, -0.591920> + 3957: <-0.437036, 0.668312, -0.601963> + 3958: <-0.436181, 0.636296, -0.636296> + 3959: <-0.467950, 0.624909, -0.624909> + 3960: <-0.500519, 0.641397, -0.581456> + 3961: <-0.469385, 0.655217, -0.591920> + 3962: <-0.467950, 0.624909, -0.624909> + 3963: <-0.497527, 0.613379, -0.613379> + 3964: <-0.531523, 0.625584, -0.571076> + 3965: <-0.500519, 0.641397, -0.581456> + 3966: <-0.497527, 0.613379, -0.613379> + 3967: <-0.526447, 0.601188, -0.601188> + 3968: <-0.561516, 0.607783, -0.561516> + 3969: <-0.531523, 0.625584, -0.571076> + 3970: <-0.526447, 0.601188, -0.601188> + 3971: <-0.554296, 0.588539, -0.588539> + 3972: <-0.588539, 0.588539, -0.554296> + 3973: <-0.561516, 0.607783, -0.561516> + 3974: <-0.554296, 0.588539, -0.588539> + 3975: <-0.577350, 0.577350, -0.577350> + 3976: <-0.601168, 0.601199, -0.526457> + 3977: <-0.571076, 0.625584, -0.531523> + 3978: <-0.561516, 0.607783, -0.561516> + 3979: <-0.588539, 0.588539, -0.554296> + 3980: <-0.613379, 0.613379, -0.497527> + 3981: <-0.581456, 0.641397, -0.500519> + 3982: <-0.571076, 0.625584, -0.531523> + 3983: <-0.601168, 0.601199, -0.526457> + 3984: <-0.624909, 0.624909, -0.467950> + 3985: <-0.591920, 0.655217, -0.469385> + 3986: <-0.581456, 0.641397, -0.500519> + 3987: <-0.613379, 0.613379, -0.497527> + 3988: <-0.636296, 0.636296, -0.436181> + 3989: <-0.601963, 0.668312, -0.437036> + 3990: <-0.591920, 0.655217, -0.469385> + 3991: <-0.624909, 0.624909, -0.467950> + 3992: <-0.647247, 0.647247, -0.402668> + 3993: <-0.611427, 0.680859, -0.403223> + 3994: <-0.601963, 0.668312, -0.437036> + 3995: <-0.636296, 0.636296, -0.436181> + 3996: <-0.657511, 0.657511, -0.367912> + 3997: <-0.620305, 0.692544, -0.368246> + 3998: <-0.611427, 0.680859, -0.403223> + 3999: <-0.647247, 0.647247, -0.402668> + 4000: <-0.667130, 0.667130, -0.331474> + 4001: <-0.628603, 0.703467, -0.331652> + 4002: <-0.620305, 0.692544, -0.368246> + 4003: <-0.657511, 0.657511, -0.367912> + 4004: <-0.675899, 0.675899, -0.293804> + 4005: <-0.636150, 0.713396, -0.293904> + 4006: <-0.628603, 0.703467, -0.331652> + 4007: <-0.667130, 0.667130, -0.331474> + 4008: <-0.683620, 0.683620, -0.255594> + 4009: <-0.642833, 0.722093, -0.255632> + 4010: <-0.636150, 0.713396, -0.293904> + 4011: <-0.675899, 0.675899, -0.293804> + 4012: <-0.690307, 0.690307, -0.216684> + 4013: <-0.648606, 0.729636, -0.216660> + 4014: <-0.642833, 0.722093, -0.255632> + 4015: <-0.683620, 0.683620, -0.255594> + 4016: <-0.695976, 0.695976, -0.176733> + 4017: <-0.653502, 0.736025, -0.176644> + 4018: <-0.648606, 0.729636, -0.216660> + 4019: <-0.690307, 0.690307, -0.216684> + 4020: <-0.700600, 0.700600, -0.135353> + 4021: <-0.657468, 0.741243, -0.135260> + 4022: <-0.653502, 0.736025, -0.176644> + 4023: <-0.695976, 0.695976, -0.176733> + 4024: <-0.704093, 0.704093, -0.092231> + 4025: <-0.660463, 0.745184, -0.092137> + 4026: <-0.657468, 0.741243, -0.135260> + 4027: <-0.700600, 0.700600, -0.135353> + 4028: <-0.706323, 0.706323, -0.047060> + 4029: <-0.662354, 0.747715, -0.046999> + 4030: <-0.660463, 0.745184, -0.092137> + 4031: <-0.704093, 0.704093, -0.092231> + 4032: <-0.707107, 0.707107, 0.000000> + 4033: <-0.663024, 0.748599, 0.000000> + 4034: <-0.662354, 0.747715, -0.046999> + 4035: <-0.706323, 0.706323, -0.047060> + 4036: <-0.706323, 0.706323, 0.047060> + 4037: <-0.662354, 0.747715, 0.046999> + 4038: <-0.663024, 0.748599, 0.000000> + 4039: <-0.707107, 0.707107, 0.000000> + 4040: <-0.704093, 0.704093, 0.092231> + 4041: <-0.660463, 0.745184, 0.092137> + 4042: <-0.662354, 0.747715, 0.046999> + 4043: <-0.706323, 0.706323, 0.047060> + 4044: <-0.700600, 0.700600, 0.135353> + 4045: <-0.657468, 0.741243, 0.135260> + 4046: <-0.660463, 0.745184, 0.092137> + 4047: <-0.704093, 0.704093, 0.092231> + 4048: <-0.695976, 0.695976, 0.176733> + 4049: <-0.653502, 0.736025, 0.176644> + 4050: <-0.657468, 0.741243, 0.135260> + 4051: <-0.700600, 0.700600, 0.135353> + 4052: <-0.690307, 0.690307, 0.216684> + 4053: <-0.648606, 0.729636, 0.216660> + 4054: <-0.653502, 0.736025, 0.176644> + 4055: <-0.695976, 0.695976, 0.176733> + 4056: <-0.683620, 0.683620, 0.255594> + 4057: <-0.642833, 0.722093, 0.255632> + 4058: <-0.648606, 0.729636, 0.216660> + 4059: <-0.690307, 0.690307, 0.216684> + 4060: <-0.675899, 0.675899, 0.293804> + 4061: <-0.636150, 0.713396, 0.293904> + 4062: <-0.642833, 0.722093, 0.255632> + 4063: <-0.683620, 0.683620, 0.255594> + 4064: <-0.667130, 0.667130, 0.331474> + 4065: <-0.628603, 0.703467, 0.331652> + 4066: <-0.636150, 0.713396, 0.293904> + 4067: <-0.675899, 0.675899, 0.293804> + 4068: <-0.657511, 0.657511, 0.367912> + 4069: <-0.620305, 0.692544, 0.368246> + 4070: <-0.628603, 0.703467, 0.331652> + 4071: <-0.667130, 0.667130, 0.331474> + 4072: <-0.647247, 0.647247, 0.402668> + 4073: <-0.611427, 0.680859, 0.403223> + 4074: <-0.620305, 0.692544, 0.368246> + 4075: <-0.657511, 0.657511, 0.367912> + 4076: <-0.636296, 0.636296, 0.436181> + 4077: <-0.601963, 0.668312, 0.437036> + 4078: <-0.611427, 0.680859, 0.403223> + 4079: <-0.647247, 0.647247, 0.402668> + 4080: <-0.624909, 0.624909, 0.467950> + 4081: <-0.591920, 0.655217, 0.469385> + 4082: <-0.601963, 0.668312, 0.437036> + 4083: <-0.636296, 0.636296, 0.436181> + 4084: <-0.613379, 0.613379, 0.497527> + 4085: <-0.581456, 0.641397, 0.500519> + 4086: <-0.591920, 0.655217, 0.469385> + 4087: <-0.624909, 0.624909, 0.467950> + 4088: <-0.601188, 0.601188, 0.526447> + 4089: <-0.571076, 0.625584, 0.531523> + 4090: <-0.581456, 0.641397, 0.500519> + 4091: <-0.613379, 0.613379, 0.497527> + 4092: <-0.588539, 0.588539, 0.554296> + 4093: <-0.561516, 0.607783, 0.561516> + 4094: <-0.571076, 0.625584, 0.531523> + 4095: <-0.601188, 0.601188, 0.526447> + 4096: <-0.561516, -0.561516, -0.607783> + 4097: <-0.571076, -0.531523, -0.625584> + 4098: <-0.538962, -0.538962, -0.647334> + 4099: <-0.531523, -0.571076, -0.625584> + 4100: <-0.571076, -0.531523, -0.625584> + 4101: <-0.581456, -0.500519, -0.641396> + 4102: <-0.547882, -0.506040, -0.666144> + 4103: <-0.538962, -0.538962, -0.647334> + 4104: <-0.581456, -0.500519, -0.641396> + 4105: <-0.591920, -0.469385, -0.655217> + 4106: <-0.557037, -0.473139, -0.682532> + 4107: <-0.547882, -0.506040, -0.666144> + 4108: <-0.591920, -0.469385, -0.655217> + 4109: <-0.601963, -0.437036, -0.668312> + 4110: <-0.565794, -0.439475, -0.697667> + 4111: <-0.557037, -0.473139, -0.682532> + 4112: <-0.601963, -0.437036, -0.668312> + 4113: <-0.611427, -0.403223, -0.680859> + 4114: <-0.574008, -0.404839, -0.711772> + 4115: <-0.565794, -0.439475, -0.697667> + 4116: <-0.611427, -0.403223, -0.680859> + 4117: <-0.620305, -0.368246, -0.692544> + 4118: <-0.581661, -0.369188, -0.724825> + 4119: <-0.574008, -0.404839, -0.711772> + 4120: <-0.620305, -0.368246, -0.692544> + 4121: <-0.628603, -0.331652, -0.703467> + 4122: <-0.588738, -0.332197, -0.736907> + 4123: <-0.581661, -0.369188, -0.724825> + 4124: <-0.628603, -0.331652, -0.703467> + 4125: <-0.636150, -0.293904, -0.713396> + 4126: <-0.595158, -0.294207, -0.747816> + 4127: <-0.588738, -0.332197, -0.736907> + 4128: <-0.636150, -0.293904, -0.713396> + 4129: <-0.642833, -0.255632, -0.722093> + 4130: <-0.600829, -0.255750, -0.757361> + 4131: <-0.595158, -0.294207, -0.747816> + 4132: <-0.642833, -0.255632, -0.722093> + 4133: <-0.648606, -0.216660, -0.729636> + 4134: <-0.605748, -0.216596, -0.765608> + 4135: <-0.600829, -0.255750, -0.757361> + 4136: <-0.648606, -0.216660, -0.729636> + 4137: <-0.653502, -0.176644, -0.736025> + 4138: <-0.609892, -0.176461, -0.772589> + 4139: <-0.605748, -0.216596, -0.765608> + 4140: <-0.653502, -0.176644, -0.736025> + 4141: <-0.657468, -0.135260, -0.741243> + 4142: <-0.613215, -0.135015, -0.778292> + 4143: <-0.609892, -0.176461, -0.772589> + 4144: <-0.657468, -0.135260, -0.741243> + 4145: <-0.660463, -0.092137, -0.745184> + 4146: <-0.615697, -0.091894, -0.782607> + 4147: <-0.613215, -0.135015, -0.778292> + 4148: <-0.660463, -0.092137, -0.745184> + 4149: <-0.662354, -0.046999, -0.747715> + 4150: <-0.617246, -0.046847, -0.785375> + 4151: <-0.615697, -0.091894, -0.782607> + 4152: <-0.662354, -0.046999, -0.747715> + 4153: <-0.663024, 0.000000, -0.748599> + 4154: <-0.617789, 0.000000, -0.786344> + 4155: <-0.617246, -0.046847, -0.785375> + 4156: <-0.663024, 0.000000, -0.748599> + 4157: <-0.662354, 0.046999, -0.747715> + 4158: <-0.617246, 0.046847, -0.785375> + 4159: <-0.617789, 0.000000, -0.786344> + 4160: <-0.662354, 0.046999, -0.747715> + 4161: <-0.660463, 0.092137, -0.745184> + 4162: <-0.615697, 0.091894, -0.782607> + 4163: <-0.617246, 0.046847, -0.785375> + 4164: <-0.660463, 0.092137, -0.745184> + 4165: <-0.657468, 0.135260, -0.741243> + 4166: <-0.613199, 0.134988, -0.778309> + 4167: <-0.615697, 0.091894, -0.782607> + 4168: <-0.657468, 0.135260, -0.741243> + 4169: <-0.653502, 0.176644, -0.736025> + 4170: <-0.609892, 0.176461, -0.772589> + 4171: <-0.613199, 0.134988, -0.778309> + 4172: <-0.653502, 0.176644, -0.736025> + 4173: <-0.648606, 0.216660, -0.729636> + 4174: <-0.605748, 0.216596, -0.765608> + 4175: <-0.609892, 0.176461, -0.772589> + 4176: <-0.648606, 0.216660, -0.729636> + 4177: <-0.642833, 0.255632, -0.722093> + 4178: <-0.600829, 0.255750, -0.757361> + 4179: <-0.605748, 0.216596, -0.765608> + 4180: <-0.642833, 0.255632, -0.722093> + 4181: <-0.636150, 0.293904, -0.713396> + 4182: <-0.595158, 0.294207, -0.747816> + 4183: <-0.600829, 0.255750, -0.757361> + 4184: <-0.636150, 0.293904, -0.713396> + 4185: <-0.628603, 0.331652, -0.703467> + 4186: <-0.588744, 0.332170, -0.736915> + 4187: <-0.595158, 0.294207, -0.747816> + 4188: <-0.628603, 0.331652, -0.703467> + 4189: <-0.620305, 0.368246, -0.692544> + 4190: <-0.581661, 0.369188, -0.724825> + 4191: <-0.588744, 0.332170, -0.736915> + 4192: <-0.620305, 0.368246, -0.692544> + 4193: <-0.611427, 0.403223, -0.680859> + 4194: <-0.574008, 0.404839, -0.711772> + 4195: <-0.581661, 0.369188, -0.724825> + 4196: <-0.611427, 0.403223, -0.680859> + 4197: <-0.601963, 0.437036, -0.668312> + 4198: <-0.565794, 0.439475, -0.697667> + 4199: <-0.574008, 0.404839, -0.711772> + 4200: <-0.601963, 0.437036, -0.668312> + 4201: <-0.591920, 0.469385, -0.655217> + 4202: <-0.557037, 0.473139, -0.682532> + 4203: <-0.565794, 0.439475, -0.697667> + 4204: <-0.591920, 0.469385, -0.655217> + 4205: <-0.581465, 0.500496, -0.641406> + 4206: <-0.547882, 0.506040, -0.666144> + 4207: <-0.557037, 0.473139, -0.682532> + 4208: <-0.581465, 0.500496, -0.641406> + 4209: <-0.571076, 0.531523, -0.625584> + 4210: <-0.538962, 0.538962, -0.647334> + 4211: <-0.547882, 0.506040, -0.666144> + 4212: <-0.571076, 0.531523, -0.625584> + 4213: <-0.561516, 0.561516, -0.607783> + 4214: <-0.531523, 0.571076, -0.625584> + 4215: <-0.538962, 0.538962, -0.647334> + 4216: <-0.531523, -0.571076, -0.625584> + 4217: <-0.538962, -0.538962, -0.647334> + 4218: <-0.506040, -0.547882, -0.666144> + 4219: <-0.500519, -0.581456, -0.641396> + 4220: <-0.538962, -0.538962, -0.647334> + 4221: <-0.547882, -0.506040, -0.666144> + 4222: <-0.513252, -0.513252, -0.687856> + 4223: <-0.506040, -0.547882, -0.666144> + 4224: <-0.547882, -0.506040, -0.666144> + 4225: <-0.557037, -0.473139, -0.682532> + 4226: <-0.520969, -0.478425, -0.706895> + 4227: <-0.513252, -0.513252, -0.687856> + 4228: <-0.557037, -0.473139, -0.682532> + 4229: <-0.565794, -0.439475, -0.697667> + 4230: <-0.528466, -0.443135, -0.724123> + 4231: <-0.520969, -0.478425, -0.706895> + 4232: <-0.565794, -0.439475, -0.697667> + 4233: <-0.574008, -0.404839, -0.711772> + 4234: <-0.535518, -0.407307, -0.739812> + 4235: <-0.528466, -0.443135, -0.724123> + 4236: <-0.574008, -0.404839, -0.711772> + 4237: <-0.581661, -0.369188, -0.724825> + 4238: <-0.542028, -0.370721, -0.754169> + 4239: <-0.535518, -0.407307, -0.739812> + 4240: <-0.581661, -0.369188, -0.724825> + 4241: <-0.588738, -0.332197, -0.736907> + 4242: <-0.548009, -0.333090, -0.767292> + 4243: <-0.542028, -0.370721, -0.754169> + 4244: <-0.588738, -0.332197, -0.736907> + 4245: <-0.595158, -0.294207, -0.747816> + 4246: <-0.553415, -0.294729, -0.779017> + 4247: <-0.548009, -0.333090, -0.767292> + 4248: <-0.595158, -0.294207, -0.747816> + 4249: <-0.600829, -0.255750, -0.757361> + 4250: <-0.558172, -0.255937, -0.789266> + 4251: <-0.553415, -0.294729, -0.779017> + 4252: <-0.600829, -0.255750, -0.757361> + 4253: <-0.605748, -0.216596, -0.765608> + 4254: <-0.562257, -0.216534, -0.798110> + 4255: <-0.558172, -0.255937, -0.789266> + 4256: <-0.605748, -0.216596, -0.765608> + 4257: <-0.609892, -0.176461, -0.772589> + 4258: <-0.565675, -0.176188, -0.805587> + 4259: <-0.562257, -0.216534, -0.798110> + 4260: <-0.609892, -0.176461, -0.772589> + 4261: <-0.613215, -0.135015, -0.778292> + 4262: <-0.568382, -0.134618, -0.811677> + 4263: <-0.565675, -0.176188, -0.805587> + 4264: <-0.613215, -0.135015, -0.778292> + 4265: <-0.615697, -0.091894, -0.782607> + 4266: <-0.570377, -0.091497, -0.816271> + 4267: <-0.568382, -0.134618, -0.811677> + 4268: <-0.615697, -0.091894, -0.782607> + 4269: <-0.617246, -0.046847, -0.785375> + 4270: <-0.571602, -0.046573, -0.819208> + 4271: <-0.570377, -0.091497, -0.816271> + 4272: <-0.617246, -0.046847, -0.785375> + 4273: <-0.617789, 0.000000, -0.786344> + 4274: <-0.572024, 0.000000, -0.820237> + 4275: <-0.571602, -0.046573, -0.819208> + 4276: <-0.617789, 0.000000, -0.786344> + 4277: <-0.617246, 0.046847, -0.785375> + 4278: <-0.571602, 0.046573, -0.819208> + 4279: <-0.572024, 0.000000, -0.820237> + 4280: <-0.617246, 0.046847, -0.785375> + 4281: <-0.615697, 0.091894, -0.782607> + 4282: <-0.570377, 0.091497, -0.816271> + 4283: <-0.571602, 0.046573, -0.819208> + 4284: <-0.615697, 0.091894, -0.782607> + 4285: <-0.613199, 0.134988, -0.778309> + 4286: <-0.568382, 0.134618, -0.811677> + 4287: <-0.570377, 0.091497, -0.816271> + 4288: <-0.613199, 0.134988, -0.778309> + 4289: <-0.609892, 0.176461, -0.772589> + 4290: <-0.565675, 0.176188, -0.805587> + 4291: <-0.568382, 0.134618, -0.811677> + 4292: <-0.609892, 0.176461, -0.772589> + 4293: <-0.605748, 0.216596, -0.765608> + 4294: <-0.562257, 0.216534, -0.798110> + 4295: <-0.565675, 0.176188, -0.805587> + 4296: <-0.605748, 0.216596, -0.765608> + 4297: <-0.600829, 0.255750, -0.757361> + 4298: <-0.558172, 0.255937, -0.789266> + 4299: <-0.562257, 0.216534, -0.798110> + 4300: <-0.600829, 0.255750, -0.757361> + 4301: <-0.595158, 0.294207, -0.747816> + 4302: <-0.553415, 0.294729, -0.779017> + 4303: <-0.558172, 0.255937, -0.789266> + 4304: <-0.595158, 0.294207, -0.747816> + 4305: <-0.588744, 0.332170, -0.736915> + 4306: <-0.548009, 0.333090, -0.767292> + 4307: <-0.553415, 0.294729, -0.779017> + 4308: <-0.588744, 0.332170, -0.736915> + 4309: <-0.581661, 0.369188, -0.724825> + 4310: <-0.542028, 0.370721, -0.754169> + 4311: <-0.548009, 0.333090, -0.767292> + 4312: <-0.581661, 0.369188, -0.724825> + 4313: <-0.574008, 0.404839, -0.711772> + 4314: <-0.535518, 0.407307, -0.739812> + 4315: <-0.542028, 0.370721, -0.754169> + 4316: <-0.574008, 0.404839, -0.711772> + 4317: <-0.565794, 0.439475, -0.697667> + 4318: <-0.528478, 0.443145, -0.724109> + 4319: <-0.535518, 0.407307, -0.739812> + 4320: <-0.565794, 0.439475, -0.697667> + 4321: <-0.557037, 0.473139, -0.682532> + 4322: <-0.520969, 0.478425, -0.706895> + 4323: <-0.528478, 0.443145, -0.724109> + 4324: <-0.557037, 0.473139, -0.682532> + 4325: <-0.547882, 0.506040, -0.666144> + 4326: <-0.513252, 0.513252, -0.687856> + 4327: <-0.520969, 0.478425, -0.706895> + 4328: <-0.547882, 0.506040, -0.666144> + 4329: <-0.538962, 0.538962, -0.647334> + 4330: <-0.506040, 0.547882, -0.666144> + 4331: <-0.513252, 0.513252, -0.687856> + 4332: <-0.538962, 0.538962, -0.647334> + 4333: <-0.531523, 0.571076, -0.625584> + 4334: <-0.500519, 0.581456, -0.641396> + 4335: <-0.506040, 0.547882, -0.666144> + 4336: <-0.500519, -0.581456, -0.641396> + 4337: <-0.506040, -0.547882, -0.666144> + 4338: <-0.473139, -0.557037, -0.682532> + 4339: <-0.469385, -0.591920, -0.655217> + 4340: <-0.506040, -0.547882, -0.666144> + 4341: <-0.513252, -0.513252, -0.687856> + 4342: <-0.478425, -0.520969, -0.706895> + 4343: <-0.473139, -0.557037, -0.682532> + 4344: <-0.513252, -0.513252, -0.687856> + 4345: <-0.520969, -0.478425, -0.706895> + 4346: <-0.484430, -0.484430, -0.728461> + 4347: <-0.478425, -0.520969, -0.706895> + 4348: <-0.520969, -0.478425, -0.706895> + 4349: <-0.528466, -0.443135, -0.724123> + 4350: <-0.490534, -0.447593, -0.747688> + 4351: <-0.484430, -0.484430, -0.728461> + 4352: <-0.528466, -0.443135, -0.724123> + 4353: <-0.535518, -0.407307, -0.739812> + 4354: <-0.496395, -0.410392, -0.764964> + 4355: <-0.490534, -0.447593, -0.747688> + 4356: <-0.535518, -0.407307, -0.739812> + 4357: <-0.542028, -0.370721, -0.754169> + 4358: <-0.501802, -0.372705, -0.780568> + 4359: <-0.496395, -0.410392, -0.764964> + 4360: <-0.542028, -0.370721, -0.754169> + 4361: <-0.548009, -0.333090, -0.767292> + 4362: <-0.506740, -0.334337, -0.794627> + 4363: <-0.501802, -0.372705, -0.780568> + 4364: <-0.548009, -0.333090, -0.767292> + 4365: <-0.553415, -0.294729, -0.779017> + 4366: <-0.511198, -0.295457, -0.807082> + 4367: <-0.506740, -0.334337, -0.794627> + 4368: <-0.553415, -0.294729, -0.779017> + 4369: <-0.558172, -0.255937, -0.789266> + 4370: <-0.515110, -0.256243, -0.817925> + 4371: <-0.511198, -0.295457, -0.807082> + 4372: <-0.558172, -0.255937, -0.789266> + 4373: <-0.562257, -0.216534, -0.798110> + 4374: <-0.518435, -0.216475, -0.827263> + 4375: <-0.515110, -0.256243, -0.817925> + 4376: <-0.562257, -0.216534, -0.798110> + 4377: <-0.565675, -0.176188, -0.805587> + 4378: <-0.521180, -0.175853, -0.835133> + 4379: <-0.518435, -0.216475, -0.827263> + 4380: <-0.565675, -0.176188, -0.805587> + 4381: <-0.568382, -0.134618, -0.811677> + 4382: <-0.523307, -0.134100, -0.841527> + 4383: <-0.521180, -0.175853, -0.835133> + 4384: <-0.568382, -0.134618, -0.811677> + 4385: <-0.570377, -0.091497, -0.816271> + 4386: <-0.524836, -0.091008, -0.846324> + 4387: <-0.523307, -0.134100, -0.841527> + 4388: <-0.570377, -0.091497, -0.816271> + 4389: <-0.571602, -0.046573, -0.819208> + 4390: <-0.525753, -0.046267, -0.849378> + 4391: <-0.524836, -0.091008, -0.846324> + 4392: <-0.571602, -0.046573, -0.819208> + 4393: <-0.572024, 0.000000, -0.820237> + 4394: <-0.526081, 0.000000, -0.850434> + 4395: <-0.525753, -0.046267, -0.849378> + 4396: <-0.572024, 0.000000, -0.820237> + 4397: <-0.571602, 0.046573, -0.819208> + 4398: <-0.525753, 0.046267, -0.849378> + 4399: <-0.526081, 0.000000, -0.850434> + 4400: <-0.571602, 0.046573, -0.819208> + 4401: <-0.570377, 0.091497, -0.816271> + 4402: <-0.524836, 0.091008, -0.846324> + 4403: <-0.525753, 0.046267, -0.849378> + 4404: <-0.570377, 0.091497, -0.816271> + 4405: <-0.568382, 0.134618, -0.811677> + 4406: <-0.523307, 0.134100, -0.841527> + 4407: <-0.524836, 0.091008, -0.846324> + 4408: <-0.568382, 0.134618, -0.811677> + 4409: <-0.565675, 0.176188, -0.805587> + 4410: <-0.521180, 0.175853, -0.835133> + 4411: <-0.523307, 0.134100, -0.841527> + 4412: <-0.565675, 0.176188, -0.805587> + 4413: <-0.562257, 0.216534, -0.798110> + 4414: <-0.518435, 0.216475, -0.827263> + 4415: <-0.521180, 0.175853, -0.835133> + 4416: <-0.562257, 0.216534, -0.798110> + 4417: <-0.558172, 0.255937, -0.789266> + 4418: <-0.515110, 0.256243, -0.817925> + 4419: <-0.518435, 0.216475, -0.827263> + 4420: <-0.558172, 0.255937, -0.789266> + 4421: <-0.553415, 0.294729, -0.779017> + 4422: <-0.511198, 0.295457, -0.807082> + 4423: <-0.515110, 0.256243, -0.817925> + 4424: <-0.553415, 0.294729, -0.779017> + 4425: <-0.548009, 0.333090, -0.767292> + 4426: <-0.506740, 0.334337, -0.794627> + 4427: <-0.511198, 0.295457, -0.807082> + 4428: <-0.548009, 0.333090, -0.767292> + 4429: <-0.542028, 0.370721, -0.754169> + 4430: <-0.501802, 0.372705, -0.780568> + 4431: <-0.506740, 0.334337, -0.794627> + 4432: <-0.542028, 0.370721, -0.754169> + 4433: <-0.535518, 0.407307, -0.739812> + 4434: <-0.496395, 0.410392, -0.764964> + 4435: <-0.501802, 0.372705, -0.780568> + 4436: <-0.535518, 0.407307, -0.739812> + 4437: <-0.528478, 0.443145, -0.724109> + 4438: <-0.490534, 0.447593, -0.747688> + 4439: <-0.496395, 0.410392, -0.764964> + 4440: <-0.528478, 0.443145, -0.724109> + 4441: <-0.520969, 0.478425, -0.706895> + 4442: <-0.484430, 0.484430, -0.728461> + 4443: <-0.490534, 0.447593, -0.747688> + 4444: <-0.520969, 0.478425, -0.706895> + 4445: <-0.513252, 0.513252, -0.687856> + 4446: <-0.478425, 0.520969, -0.706895> + 4447: <-0.484430, 0.484430, -0.728461> + 4448: <-0.513252, 0.513252, -0.687856> + 4449: <-0.506040, 0.547882, -0.666144> + 4450: <-0.473139, 0.557037, -0.682532> + 4451: <-0.478425, 0.520969, -0.706895> + 4452: <-0.506040, 0.547882, -0.666144> + 4453: <-0.500519, 0.581456, -0.641396> + 4454: <-0.469385, 0.591920, -0.655217> + 4455: <-0.473139, 0.557037, -0.682532> + 4456: <-0.469385, -0.591920, -0.655217> + 4457: <-0.473139, -0.557037, -0.682532> + 4458: <-0.439475, -0.565794, -0.697667> + 4459: <-0.437036, -0.601963, -0.668312> + 4460: <-0.473139, -0.557037, -0.682532> + 4461: <-0.478425, -0.520969, -0.706895> + 4462: <-0.443145, -0.528478, -0.724109> + 4463: <-0.439475, -0.565794, -0.697667> + 4464: <-0.478425, -0.520969, -0.706895> + 4465: <-0.484430, -0.484430, -0.728461> + 4466: <-0.447593, -0.490534, -0.747688> + 4467: <-0.443145, -0.528478, -0.724109> + 4468: <-0.484430, -0.484430, -0.728461> + 4469: <-0.490534, -0.447593, -0.747688> + 4470: <-0.452290, -0.452290, -0.768679> + 4471: <-0.447593, -0.490534, -0.747688> + 4472: <-0.490534, -0.447593, -0.747688> + 4473: <-0.496395, -0.410392, -0.764964> + 4474: <-0.456900, -0.413777, -0.787421> + 4475: <-0.452290, -0.452290, -0.768679> + 4476: <-0.496395, -0.410392, -0.764964> + 4477: <-0.501802, -0.372705, -0.780568> + 4478: <-0.461239, -0.374961, -0.804154> + 4479: <-0.456900, -0.413777, -0.787421> + 4480: <-0.501802, -0.372705, -0.780568> + 4481: <-0.506740, -0.334337, -0.794627> + 4482: <-0.465202, -0.335801, -0.819039> + 4483: <-0.461239, -0.374961, -0.804154> + 4484: <-0.506740, -0.334337, -0.794627> + 4485: <-0.511198, -0.295457, -0.807082> + 4486: <-0.468770, -0.296339, -0.832128> + 4487: <-0.465202, -0.335801, -0.819039> + 4488: <-0.511198, -0.295457, -0.807082> + 4489: <-0.515110, -0.256243, -0.817925> + 4490: <-0.471888, -0.256606, -0.843490> + 4491: <-0.468770, -0.296339, -0.832128> + 4492: <-0.515110, -0.256243, -0.817925> + 4493: <-0.518435, -0.216475, -0.827263> + 4494: <-0.474515, -0.216413, -0.853230> + 4495: <-0.471888, -0.256606, -0.843490> + 4496: <-0.518435, -0.216475, -0.827263> + 4497: <-0.521180, -0.175853, -0.835133> + 4498: <-0.476614, -0.175453, -0.861426> + 4499: <-0.474515, -0.216413, -0.853230> + 4500: <-0.521180, -0.175853, -0.835133> + 4501: <-0.523307, -0.134100, -0.841527> + 4502: <-0.478208, -0.133553, -0.868033> + 4503: <-0.476614, -0.175453, -0.861426> + 4504: <-0.523307, -0.134100, -0.841527> + 4505: <-0.524836, -0.091008, -0.846324> + 4506: <-0.479307, -0.090429, -0.872976> + 4507: <-0.478208, -0.133553, -0.868033> + 4508: <-0.524836, -0.091008, -0.846324> + 4509: <-0.525753, -0.046267, -0.849378> + 4510: <-0.479951, -0.045871, -0.876095> + 4511: <-0.479307, -0.090429, -0.872976> + 4512: <-0.525753, -0.046267, -0.849378> + 4513: <-0.526081, 0.000000, -0.850434> + 4514: <-0.480182, 0.000000, -0.877169> + 4515: <-0.479951, -0.045871, -0.876095> + 4516: <-0.526081, 0.000000, -0.850434> + 4517: <-0.525753, 0.046267, -0.849378> + 4518: <-0.479951, 0.045871, -0.876095> + 4519: <-0.480182, 0.000000, -0.877169> + 4520: <-0.525753, 0.046267, -0.849378> + 4521: <-0.524836, 0.091008, -0.846324> + 4522: <-0.479307, 0.090429, -0.872976> + 4523: <-0.479951, 0.045871, -0.876095> + 4524: <-0.524836, 0.091008, -0.846324> + 4525: <-0.523307, 0.134100, -0.841527> + 4526: <-0.478208, 0.133553, -0.868033> + 4527: <-0.479307, 0.090429, -0.872976> + 4528: <-0.523307, 0.134100, -0.841527> + 4529: <-0.521180, 0.175853, -0.835133> + 4530: <-0.476614, 0.175453, -0.861426> + 4531: <-0.478208, 0.133553, -0.868033> + 4532: <-0.521180, 0.175853, -0.835133> + 4533: <-0.518435, 0.216475, -0.827263> + 4534: <-0.474515, 0.216413, -0.853230> + 4535: <-0.476614, 0.175453, -0.861426> + 4536: <-0.518435, 0.216475, -0.827263> + 4537: <-0.515110, 0.256243, -0.817925> + 4538: <-0.471888, 0.256606, -0.843490> + 4539: <-0.474515, 0.216413, -0.853230> + 4540: <-0.515110, 0.256243, -0.817925> + 4541: <-0.511198, 0.295457, -0.807082> + 4542: <-0.468770, 0.296339, -0.832128> + 4543: <-0.471888, 0.256606, -0.843490> + 4544: <-0.511198, 0.295457, -0.807082> + 4545: <-0.506740, 0.334337, -0.794627> + 4546: <-0.465202, 0.335801, -0.819039> + 4547: <-0.468770, 0.296339, -0.832128> + 4548: <-0.506740, 0.334337, -0.794627> + 4549: <-0.501802, 0.372705, -0.780568> + 4550: <-0.461239, 0.374961, -0.804154> + 4551: <-0.465202, 0.335801, -0.819039> + 4552: <-0.501802, 0.372705, -0.780568> + 4553: <-0.496395, 0.410392, -0.764964> + 4554: <-0.456900, 0.413777, -0.787421> + 4555: <-0.461239, 0.374961, -0.804154> + 4556: <-0.496395, 0.410392, -0.764964> + 4557: <-0.490534, 0.447593, -0.747688> + 4558: <-0.452290, 0.452290, -0.768679> + 4559: <-0.456900, 0.413777, -0.787421> + 4560: <-0.490534, 0.447593, -0.747688> + 4561: <-0.484430, 0.484430, -0.728461> + 4562: <-0.447593, 0.490534, -0.747688> + 4563: <-0.452290, 0.452290, -0.768679> + 4564: <-0.484430, 0.484430, -0.728461> + 4565: <-0.478425, 0.520969, -0.706895> + 4566: <-0.443145, 0.528478, -0.724109> + 4567: <-0.447593, 0.490534, -0.747688> + 4568: <-0.478425, 0.520969, -0.706895> + 4569: <-0.473139, 0.557037, -0.682532> + 4570: <-0.439475, 0.565794, -0.697667> + 4571: <-0.443145, 0.528478, -0.724109> + 4572: <-0.473139, 0.557037, -0.682532> + 4573: <-0.469385, 0.591920, -0.655217> + 4574: <-0.437036, 0.601963, -0.668312> + 4575: <-0.439475, 0.565794, -0.697667> + 4576: <-0.437036, -0.601963, -0.668312> + 4577: <-0.439475, -0.565794, -0.697667> + 4578: <-0.404839, -0.574008, -0.711772> + 4579: <-0.403223, -0.611427, -0.680859> + 4580: <-0.439475, -0.565794, -0.697667> + 4581: <-0.443145, -0.528478, -0.724109> + 4582: <-0.407307, -0.535518, -0.739812> + 4583: <-0.404839, -0.574008, -0.711772> + 4584: <-0.443145, -0.528478, -0.724109> + 4585: <-0.447593, -0.490534, -0.747688> + 4586: <-0.410392, -0.496395, -0.764964> + 4587: <-0.407307, -0.535518, -0.739812> + 4588: <-0.447593, -0.490534, -0.747688> + 4589: <-0.452290, -0.452290, -0.768679> + 4590: <-0.413777, -0.456900, -0.787421> + 4591: <-0.410392, -0.496395, -0.764964> + 4592: <-0.452290, -0.452290, -0.768679> + 4593: <-0.456900, -0.413777, -0.787421> + 4594: <-0.417202, -0.417202, -0.807394> + 4595: <-0.413777, -0.456900, -0.787421> + 4596: <-0.456900, -0.413777, -0.787421> + 4597: <-0.461239, -0.374961, -0.804154> + 4598: <-0.420500, -0.377345, -0.825100> + 4599: <-0.417202, -0.417202, -0.807394> + 4600: <-0.461239, -0.374961, -0.804154> + 4601: <-0.465202, -0.335801, -0.819039> + 4602: <-0.423577, -0.337391, -0.840684> + 4603: <-0.420500, -0.377345, -0.825100> + 4604: <-0.465202, -0.335801, -0.819039> + 4605: <-0.468770, -0.296339, -0.832128> + 4606: <-0.426323, -0.297287, -0.854324> + 4607: <-0.423577, -0.337391, -0.840684> + 4608: <-0.468770, -0.296339, -0.832128> + 4609: <-0.471888, -0.256606, -0.843490> + 4610: <-0.428698, -0.256999, -0.866124> + 4611: <-0.426323, -0.297287, -0.854324> + 4612: <-0.471888, -0.256606, -0.843490> + 4613: <-0.474515, -0.216413, -0.853230> + 4614: <-0.430657, -0.216320, -0.876208> + 4615: <-0.428698, -0.256999, -0.866124> + 4616: <-0.474515, -0.216413, -0.853230> + 4617: <-0.476614, -0.175453, -0.861426> + 4618: <-0.432149, -0.175026, -0.884654> + 4619: <-0.430657, -0.216320, -0.876208> + 4620: <-0.476614, -0.175453, -0.861426> + 4621: <-0.478208, -0.133553, -0.868033> + 4622: <-0.433281, -0.132911, -0.891405> + 4623: <-0.432149, -0.175026, -0.884654> + 4624: <-0.478208, -0.133553, -0.868033> + 4625: <-0.479307, -0.090429, -0.872976> + 4626: <-0.433981, -0.089787, -0.896437> + 4627: <-0.433281, -0.132911, -0.891405> + 4628: <-0.479307, -0.090429, -0.872976> + 4629: <-0.479951, -0.045871, -0.876095> + 4630: <-0.434379, -0.045443, -0.899583> + 4631: <-0.433981, -0.089787, -0.896437> + 4632: <-0.479951, -0.045871, -0.876095> + 4633: <-0.480182, 0.000000, -0.877169> + 4634: <-0.434509, 0.000000, -0.900667> + 4635: <-0.434379, -0.045443, -0.899583> + 4636: <-0.480182, 0.000000, -0.877169> + 4637: <-0.479951, 0.045871, -0.876095> + 4638: <-0.434379, 0.045443, -0.899583> + 4639: <-0.434509, 0.000000, -0.900667> + 4640: <-0.479951, 0.045871, -0.876095> + 4641: <-0.479307, 0.090429, -0.872976> + 4642: <-0.433981, 0.089787, -0.896437> + 4643: <-0.434379, 0.045443, -0.899583> + 4644: <-0.479307, 0.090429, -0.872976> + 4645: <-0.478208, 0.133553, -0.868033> + 4646: <-0.433281, 0.132911, -0.891405> + 4647: <-0.433981, 0.089787, -0.896437> + 4648: <-0.478208, 0.133553, -0.868033> + 4649: <-0.476614, 0.175453, -0.861426> + 4650: <-0.432149, 0.175026, -0.884654> + 4651: <-0.433281, 0.132911, -0.891405> + 4652: <-0.476614, 0.175453, -0.861426> + 4653: <-0.474515, 0.216413, -0.853230> + 4654: <-0.430657, 0.216320, -0.876208> + 4655: <-0.432149, 0.175026, -0.884654> + 4656: <-0.474515, 0.216413, -0.853230> + 4657: <-0.471888, 0.256606, -0.843490> + 4658: <-0.428698, 0.256999, -0.866124> + 4659: <-0.430657, 0.216320, -0.876208> + 4660: <-0.471888, 0.256606, -0.843490> + 4661: <-0.468770, 0.296339, -0.832128> + 4662: <-0.426323, 0.297287, -0.854324> + 4663: <-0.428698, 0.256999, -0.866124> + 4664: <-0.468770, 0.296339, -0.832128> + 4665: <-0.465202, 0.335801, -0.819039> + 4666: <-0.423577, 0.337391, -0.840684> + 4667: <-0.426323, 0.297287, -0.854324> + 4668: <-0.465202, 0.335801, -0.819039> + 4669: <-0.461239, 0.374961, -0.804154> + 4670: <-0.420500, 0.377345, -0.825100> + 4671: <-0.423577, 0.337391, -0.840684> + 4672: <-0.461239, 0.374961, -0.804154> + 4673: <-0.456900, 0.413777, -0.787421> + 4674: <-0.417202, 0.417202, -0.807394> + 4675: <-0.420500, 0.377345, -0.825100> + 4676: <-0.456900, 0.413777, -0.787421> + 4677: <-0.452290, 0.452290, -0.768679> + 4678: <-0.413777, 0.456900, -0.787421> + 4679: <-0.417202, 0.417202, -0.807394> + 4680: <-0.452290, 0.452290, -0.768679> + 4681: <-0.447593, 0.490534, -0.747688> + 4682: <-0.410398, 0.496372, -0.764976> + 4683: <-0.413777, 0.456900, -0.787421> + 4684: <-0.447593, 0.490534, -0.747688> + 4685: <-0.443145, 0.528478, -0.724109> + 4686: <-0.407307, 0.535518, -0.739812> + 4687: <-0.410398, 0.496372, -0.764976> + 4688: <-0.443145, 0.528478, -0.724109> + 4689: <-0.439475, 0.565794, -0.697667> + 4690: <-0.404839, 0.574008, -0.711772> + 4691: <-0.407307, 0.535518, -0.739812> + 4692: <-0.439475, 0.565794, -0.697667> + 4693: <-0.437036, 0.601963, -0.668312> + 4694: <-0.403223, 0.611427, -0.680859> + 4695: <-0.404839, 0.574008, -0.711772> + 4696: <-0.403223, -0.611427, -0.680859> + 4697: <-0.404839, -0.574008, -0.711772> + 4698: <-0.369188, -0.581661, -0.724825> + 4699: <-0.368246, -0.620305, -0.692544> + 4700: <-0.404839, -0.574008, -0.711772> + 4701: <-0.407307, -0.535518, -0.739812> + 4702: <-0.370721, -0.542028, -0.754169> + 4703: <-0.369188, -0.581661, -0.724825> + 4704: <-0.407307, -0.535518, -0.739812> + 4705: <-0.410392, -0.496395, -0.764964> + 4706: <-0.372705, -0.501802, -0.780568> + 4707: <-0.370721, -0.542028, -0.754169> + 4708: <-0.410392, -0.496395, -0.764964> + 4709: <-0.413777, -0.456900, -0.787421> + 4710: <-0.374961, -0.461239, -0.804154> + 4711: <-0.372705, -0.501802, -0.780568> + 4712: <-0.413777, -0.456900, -0.787421> + 4713: <-0.417202, -0.417202, -0.807394> + 4714: <-0.377345, -0.420500, -0.825100> + 4715: <-0.374961, -0.461239, -0.804154> + 4716: <-0.417202, -0.417202, -0.807394> + 4717: <-0.420500, -0.377345, -0.825100> + 4718: <-0.379751, -0.379751, -0.843551> + 4719: <-0.377345, -0.420500, -0.825100> + 4720: <-0.420500, -0.377345, -0.825100> + 4721: <-0.423577, -0.337391, -0.840684> + 4722: <-0.381976, -0.339005, -0.859750> + 4723: <-0.379751, -0.379751, -0.843551> + 4724: <-0.423577, -0.337391, -0.840684> + 4725: <-0.426323, -0.297287, -0.854324> + 4726: <-0.383986, -0.298259, -0.873840> + 4727: <-0.381976, -0.339005, -0.859750> + 4728: <-0.426323, -0.297287, -0.854324> + 4729: <-0.428698, -0.256999, -0.866124> + 4730: <-0.385664, -0.257364, -0.886018> + 4731: <-0.383986, -0.298259, -0.873840> + 4732: <-0.428698, -0.256999, -0.866124> + 4733: <-0.430657, -0.216320, -0.876208> + 4734: <-0.386985, -0.216199, -0.896382> + 4735: <-0.385664, -0.257364, -0.886018> + 4736: <-0.430657, -0.216320, -0.876208> + 4737: <-0.432149, -0.175026, -0.884654> + 4738: <-0.387965, -0.174541, -0.904997> + 4739: <-0.386985, -0.216199, -0.896382> + 4740: <-0.432149, -0.175026, -0.884654> + 4741: <-0.433281, -0.132911, -0.891405> + 4742: <-0.388632, -0.132240, -0.911854> + 4743: <-0.387965, -0.174541, -0.904997> + 4744: <-0.433281, -0.132911, -0.891405> + 4745: <-0.433981, -0.089787, -0.896437> + 4746: <-0.388998, -0.089116, -0.916918> + 4747: <-0.388632, -0.132240, -0.911854> + 4748: <-0.433981, -0.089787, -0.896437> + 4749: <-0.434379, -0.045443, -0.899583> + 4750: <-0.389180, -0.045016, -0.920061> + 4751: <-0.388998, -0.089116, -0.916918> + 4752: <-0.434379, -0.045443, -0.899583> + 4753: <-0.434509, 0.000000, -0.900667> + 4754: <-0.389244, 0.000000, -0.921135> + 4755: <-0.389180, -0.045016, -0.920061> + 4756: <-0.434509, 0.000000, -0.900667> + 4757: <-0.434379, 0.045443, -0.899583> + 4758: <-0.389180, 0.045016, -0.920061> + 4759: <-0.389244, 0.000000, -0.921135> + 4760: <-0.434379, 0.045443, -0.899583> + 4761: <-0.433981, 0.089787, -0.896437> + 4762: <-0.388998, 0.089116, -0.916918> + 4763: <-0.389180, 0.045016, -0.920061> + 4764: <-0.433981, 0.089787, -0.896437> + 4765: <-0.433281, 0.132911, -0.891405> + 4766: <-0.388632, 0.132240, -0.911854> + 4767: <-0.388998, 0.089116, -0.916918> + 4768: <-0.433281, 0.132911, -0.891405> + 4769: <-0.432149, 0.175026, -0.884654> + 4770: <-0.387965, 0.174541, -0.904997> + 4771: <-0.388632, 0.132240, -0.911854> + 4772: <-0.432149, 0.175026, -0.884654> + 4773: <-0.430657, 0.216320, -0.876208> + 4774: <-0.386985, 0.216199, -0.896382> + 4775: <-0.387965, 0.174541, -0.904997> + 4776: <-0.430657, 0.216320, -0.876208> + 4777: <-0.428698, 0.256999, -0.866124> + 4778: <-0.385664, 0.257364, -0.886018> + 4779: <-0.386985, 0.216199, -0.896382> + 4780: <-0.428698, 0.256999, -0.866124> + 4781: <-0.426323, 0.297287, -0.854324> + 4782: <-0.383986, 0.298259, -0.873840> + 4783: <-0.385664, 0.257364, -0.886018> + 4784: <-0.426323, 0.297287, -0.854324> + 4785: <-0.423577, 0.337391, -0.840684> + 4786: <-0.381976, 0.339005, -0.859750> + 4787: <-0.383986, 0.298259, -0.873840> + 4788: <-0.423577, 0.337391, -0.840684> + 4789: <-0.420500, 0.377345, -0.825100> + 4790: <-0.379751, 0.379751, -0.843551> + 4791: <-0.381976, 0.339005, -0.859750> + 4792: <-0.420500, 0.377345, -0.825100> + 4793: <-0.417202, 0.417202, -0.807394> + 4794: <-0.377345, 0.420500, -0.825100> + 4795: <-0.379751, 0.379751, -0.843551> + 4796: <-0.417202, 0.417202, -0.807394> + 4797: <-0.413777, 0.456900, -0.787421> + 4798: <-0.374961, 0.461239, -0.804154> + 4799: <-0.377345, 0.420500, -0.825100> + 4800: <-0.413777, 0.456900, -0.787421> + 4801: <-0.410398, 0.496372, -0.764976> + 4802: <-0.372705, 0.501802, -0.780568> + 4803: <-0.374961, 0.461239, -0.804154> + 4804: <-0.410398, 0.496372, -0.764976> + 4805: <-0.407307, 0.535518, -0.739812> + 4806: <-0.370721, 0.542028, -0.754169> + 4807: <-0.372705, 0.501802, -0.780568> + 4808: <-0.407307, 0.535518, -0.739812> + 4809: <-0.404839, 0.574008, -0.711772> + 4810: <-0.369188, 0.581661, -0.724825> + 4811: <-0.370721, 0.542028, -0.754169> + 4812: <-0.404839, 0.574008, -0.711772> + 4813: <-0.403223, 0.611427, -0.680859> + 4814: <-0.368246, 0.620305, -0.692544> + 4815: <-0.369188, 0.581661, -0.724825> + 4816: <-0.368246, -0.620305, -0.692544> + 4817: <-0.369188, -0.581661, -0.724825> + 4818: <-0.332170, -0.588744, -0.736915> + 4819: <-0.331652, -0.628603, -0.703467> + 4820: <-0.369188, -0.581661, -0.724825> + 4821: <-0.370721, -0.542028, -0.754169> + 4822: <-0.333090, -0.548009, -0.767292> + 4823: <-0.332170, -0.588744, -0.736915> + 4824: <-0.370721, -0.542028, -0.754169> + 4825: <-0.372705, -0.501802, -0.780568> + 4826: <-0.334310, -0.506745, -0.794636> + 4827: <-0.333090, -0.548009, -0.767292> + 4828: <-0.372705, -0.501802, -0.780568> + 4829: <-0.374961, -0.461239, -0.804154> + 4830: <-0.335801, -0.465202, -0.819039> + 4831: <-0.334310, -0.506745, -0.794636> + 4832: <-0.374961, -0.461239, -0.804154> + 4833: <-0.377345, -0.420500, -0.825100> + 4834: <-0.337391, -0.423577, -0.840684> + 4835: <-0.335801, -0.465202, -0.819039> + 4836: <-0.377345, -0.420500, -0.825100> + 4837: <-0.379751, -0.379751, -0.843551> + 4838: <-0.339005, -0.381976, -0.859750> + 4839: <-0.337391, -0.423577, -0.840684> + 4840: <-0.379751, -0.379751, -0.843551> + 4841: <-0.381976, -0.339005, -0.859750> + 4842: <-0.340503, -0.340503, -0.876422> + 4843: <-0.339005, -0.381976, -0.859750> + 4844: <-0.381976, -0.339005, -0.859750> + 4845: <-0.383986, -0.298259, -0.873840> + 4846: <-0.341811, -0.299085, -0.890906> + 4847: <-0.340503, -0.340503, -0.876422> + 4848: <-0.383986, -0.298259, -0.873840> + 4849: <-0.385664, -0.257364, -0.886018> + 4850: <-0.342852, -0.257643, -0.903367> + 4851: <-0.341811, -0.299085, -0.890906> + 4852: <-0.385664, -0.257364, -0.886018> + 4853: <-0.386985, -0.216199, -0.896382> + 4854: <-0.343582, -0.215982, -0.913949> + 4855: <-0.342852, -0.257643, -0.903367> + 4856: <-0.386985, -0.216199, -0.896382> + 4857: <-0.387965, -0.174541, -0.904997> + 4858: <-0.344072, -0.173989, -0.922682> + 4859: <-0.343582, -0.215982, -0.913949> + 4860: <-0.387965, -0.174541, -0.904997> + 4861: <-0.388632, -0.132240, -0.911854> + 4862: <-0.344322, -0.131509, -0.929596> + 4863: <-0.344072, -0.173989, -0.922682> + 4864: <-0.388632, -0.132240, -0.911854> + 4865: <-0.388998, -0.089116, -0.916918> + 4866: <-0.344408, -0.088414, -0.934648> + 4867: <-0.344322, -0.131509, -0.929596> + 4868: <-0.388998, -0.089116, -0.916918> + 4869: <-0.389180, -0.045016, -0.920061> + 4870: <-0.344409, -0.044558, -0.937762> + 4871: <-0.344408, -0.088414, -0.934648> + 4872: <-0.389180, -0.045016, -0.920061> + 4873: <-0.389244, 0.000000, -0.921135> + 4874: <-0.344405, 0.000000, -0.938821> + 4875: <-0.344409, -0.044558, -0.937762> + 4876: <-0.389244, 0.000000, -0.921135> + 4877: <-0.389180, 0.045016, -0.920061> + 4878: <-0.344409, 0.044558, -0.937762> + 4879: <-0.344405, 0.000000, -0.938821> + 4880: <-0.389180, 0.045016, -0.920061> + 4881: <-0.388998, 0.089116, -0.916918> + 4882: <-0.344408, 0.088414, -0.934648> + 4883: <-0.344409, 0.044558, -0.937762> + 4884: <-0.388998, 0.089116, -0.916918> + 4885: <-0.388632, 0.132240, -0.911854> + 4886: <-0.344322, 0.131509, -0.929596> + 4887: <-0.344408, 0.088414, -0.934648> + 4888: <-0.388632, 0.132240, -0.911854> + 4889: <-0.387965, 0.174541, -0.904997> + 4890: <-0.344072, 0.173989, -0.922682> + 4891: <-0.344322, 0.131509, -0.929596> + 4892: <-0.387965, 0.174541, -0.904997> + 4893: <-0.386985, 0.216199, -0.896382> + 4894: <-0.343582, 0.215982, -0.913949> + 4895: <-0.344072, 0.173989, -0.922682> + 4896: <-0.386985, 0.216199, -0.896382> + 4897: <-0.385664, 0.257364, -0.886018> + 4898: <-0.342852, 0.257643, -0.903367> + 4899: <-0.343582, 0.215982, -0.913949> + 4900: <-0.385664, 0.257364, -0.886018> + 4901: <-0.383986, 0.298259, -0.873840> + 4902: <-0.341811, 0.299085, -0.890906> + 4903: <-0.342852, 0.257643, -0.903367> + 4904: <-0.383986, 0.298259, -0.873840> + 4905: <-0.381976, 0.339005, -0.859750> + 4906: <-0.340503, 0.340503, -0.876422> + 4907: <-0.341811, 0.299085, -0.890906> + 4908: <-0.381976, 0.339005, -0.859750> + 4909: <-0.379751, 0.379751, -0.843551> + 4910: <-0.339005, 0.381976, -0.859750> + 4911: <-0.340503, 0.340503, -0.876422> + 4912: <-0.379751, 0.379751, -0.843551> + 4913: <-0.377345, 0.420500, -0.825100> + 4914: <-0.337391, 0.423577, -0.840684> + 4915: <-0.339005, 0.381976, -0.859750> + 4916: <-0.377345, 0.420500, -0.825100> + 4917: <-0.374961, 0.461239, -0.804154> + 4918: <-0.335801, 0.465202, -0.819039> + 4919: <-0.337391, 0.423577, -0.840684> + 4920: <-0.374961, 0.461239, -0.804154> + 4921: <-0.372705, 0.501802, -0.780568> + 4922: <-0.334337, 0.506740, -0.794627> + 4923: <-0.335801, 0.465202, -0.819039> + 4924: <-0.372705, 0.501802, -0.780568> + 4925: <-0.370721, 0.542028, -0.754169> + 4926: <-0.333090, 0.548009, -0.767292> + 4927: <-0.334337, 0.506740, -0.794627> + 4928: <-0.370721, 0.542028, -0.754169> + 4929: <-0.369188, 0.581661, -0.724825> + 4930: <-0.332170, 0.588744, -0.736915> + 4931: <-0.333090, 0.548009, -0.767292> + 4932: <-0.369188, 0.581661, -0.724825> + 4933: <-0.368246, 0.620305, -0.692544> + 4934: <-0.331652, 0.628603, -0.703467> + 4935: <-0.332170, 0.588744, -0.736915> + 4936: <-0.331652, -0.628603, -0.703467> + 4937: <-0.332170, -0.588744, -0.736915> + 4938: <-0.294207, -0.595158, -0.747816> + 4939: <-0.293904, -0.636150, -0.713396> + 4940: <-0.332170, -0.588744, -0.736915> + 4941: <-0.333090, -0.548009, -0.767292> + 4942: <-0.294729, -0.553415, -0.779017> + 4943: <-0.294207, -0.595158, -0.747816> + 4944: <-0.333090, -0.548009, -0.767292> + 4945: <-0.334310, -0.506745, -0.794636> + 4946: <-0.295457, -0.511198, -0.807082> + 4947: <-0.294729, -0.553415, -0.779017> + 4948: <-0.334310, -0.506745, -0.794636> + 4949: <-0.335801, -0.465202, -0.819039> + 4950: <-0.296339, -0.468770, -0.832128> + 4951: <-0.295457, -0.511198, -0.807082> + 4952: <-0.335801, -0.465202, -0.819039> + 4953: <-0.337391, -0.423577, -0.840684> + 4954: <-0.297287, -0.426323, -0.854324> + 4955: <-0.296339, -0.468770, -0.832128> + 4956: <-0.337391, -0.423577, -0.840684> + 4957: <-0.339005, -0.381976, -0.859750> + 4958: <-0.298234, -0.383963, -0.873859> + 4959: <-0.297287, -0.426323, -0.854324> + 4960: <-0.339005, -0.381976, -0.859750> + 4961: <-0.340503, -0.340503, -0.876422> + 4962: <-0.299085, -0.341811, -0.890906> + 4963: <-0.298234, -0.383963, -0.873859> + 4964: <-0.340503, -0.340503, -0.876422> + 4965: <-0.341811, -0.299085, -0.890906> + 4966: <-0.299762, -0.299762, -0.905696> + 4967: <-0.299085, -0.341811, -0.890906> + 4968: <-0.341811, -0.299085, -0.890906> + 4969: <-0.342852, -0.257643, -0.903367> + 4970: <-0.300219, -0.257736, -0.918390> + 4971: <-0.299762, -0.299762, -0.905696> + 4972: <-0.342852, -0.257643, -0.903367> + 4973: <-0.343582, -0.215982, -0.913949> + 4974: <-0.300461, -0.215649, -0.929096> + 4975: <-0.300219, -0.257736, -0.918390> + 4976: <-0.343582, -0.215982, -0.913949> + 4977: <-0.344072, -0.173989, -0.922682> + 4978: <-0.300496, -0.173351, -0.937897> + 4979: <-0.300461, -0.215649, -0.929096> + 4980: <-0.344072, -0.173989, -0.922682> + 4981: <-0.344322, -0.131509, -0.929596> + 4982: <-0.300427, -0.130743, -0.944802> + 4983: <-0.300496, -0.173351, -0.937897> + 4984: <-0.344322, -0.131509, -0.929596> + 4985: <-0.344408, -0.088414, -0.934648> + 4986: <-0.300248, -0.087712, -0.949820> + 4987: <-0.300427, -0.130743, -0.944802> + 4988: <-0.344408, -0.088414, -0.934648> + 4989: <-0.344409, -0.044558, -0.937762> + 4990: <-0.300092, -0.044130, -0.952889> + 4991: <-0.300248, -0.087712, -0.949820> + 4992: <-0.344409, -0.044558, -0.937762> + 4993: <-0.344405, 0.000000, -0.938821> + 4994: <-0.300059, 0.000000, -0.953921> + 4995: <-0.300092, -0.044130, -0.952889> + 4996: <-0.344405, 0.000000, -0.938821> + 4997: <-0.344409, 0.044558, -0.937762> + 4998: <-0.300092, 0.044130, -0.952889> + 4999: <-0.300059, 0.000000, -0.953921> + 5000: <-0.344409, 0.044558, -0.937762> + 5001: <-0.344408, 0.088414, -0.934648> + 5002: <-0.300248, 0.087712, -0.949820> + 5003: <-0.300092, 0.044130, -0.952889> + 5004: <-0.344408, 0.088414, -0.934648> + 5005: <-0.344322, 0.131509, -0.929596> + 5006: <-0.300427, 0.130743, -0.944802> + 5007: <-0.300248, 0.087712, -0.949820> + 5008: <-0.344322, 0.131509, -0.929596> + 5009: <-0.344072, 0.173989, -0.922682> + 5010: <-0.300496, 0.173351, -0.937897> + 5011: <-0.300427, 0.130743, -0.944802> + 5012: <-0.344072, 0.173989, -0.922682> + 5013: <-0.343582, 0.215982, -0.913949> + 5014: <-0.300461, 0.215649, -0.929096> + 5015: <-0.300496, 0.173351, -0.937897> + 5016: <-0.343582, 0.215982, -0.913949> + 5017: <-0.342852, 0.257643, -0.903367> + 5018: <-0.300219, 0.257736, -0.918390> + 5019: <-0.300461, 0.215649, -0.929096> + 5020: <-0.342852, 0.257643, -0.903367> + 5021: <-0.341811, 0.299085, -0.890906> + 5022: <-0.299762, 0.299762, -0.905696> + 5023: <-0.300219, 0.257736, -0.918390> + 5024: <-0.341811, 0.299085, -0.890906> + 5025: <-0.340503, 0.340503, -0.876422> + 5026: <-0.299085, 0.341811, -0.890906> + 5027: <-0.299762, 0.299762, -0.905696> + 5028: <-0.340503, 0.340503, -0.876422> + 5029: <-0.339005, 0.381976, -0.859750> + 5030: <-0.298259, 0.383986, -0.873840> + 5031: <-0.299085, 0.341811, -0.890906> + 5032: <-0.339005, 0.381976, -0.859750> + 5033: <-0.337391, 0.423577, -0.840684> + 5034: <-0.297287, 0.426323, -0.854324> + 5035: <-0.298259, 0.383986, -0.873840> + 5036: <-0.337391, 0.423577, -0.840684> + 5037: <-0.335801, 0.465202, -0.819039> + 5038: <-0.296339, 0.468770, -0.832128> + 5039: <-0.297287, 0.426323, -0.854324> + 5040: <-0.335801, 0.465202, -0.819039> + 5041: <-0.334337, 0.506740, -0.794627> + 5042: <-0.295457, 0.511198, -0.807082> + 5043: <-0.296339, 0.468770, -0.832128> + 5044: <-0.334337, 0.506740, -0.794627> + 5045: <-0.333090, 0.548009, -0.767292> + 5046: <-0.294729, 0.553415, -0.779017> + 5047: <-0.295457, 0.511198, -0.807082> + 5048: <-0.333090, 0.548009, -0.767292> + 5049: <-0.332170, 0.588744, -0.736915> + 5050: <-0.294207, 0.595158, -0.747816> + 5051: <-0.294729, 0.553415, -0.779017> + 5052: <-0.332170, 0.588744, -0.736915> + 5053: <-0.331652, 0.628603, -0.703467> + 5054: <-0.293904, 0.636150, -0.713396> + 5055: <-0.294207, 0.595158, -0.747816> + 5056: <-0.293904, -0.636150, -0.713396> + 5057: <-0.294207, -0.595158, -0.747816> + 5058: <-0.255750, -0.600829, -0.757361> + 5059: <-0.255632, -0.642833, -0.722093> + 5060: <-0.294207, -0.595158, -0.747816> + 5061: <-0.294729, -0.553415, -0.779017> + 5062: <-0.255937, -0.558172, -0.789266> + 5063: <-0.255750, -0.600829, -0.757361> + 5064: <-0.294729, -0.553415, -0.779017> + 5065: <-0.295457, -0.511198, -0.807082> + 5066: <-0.256243, -0.515110, -0.817925> + 5067: <-0.255937, -0.558172, -0.789266> + 5068: <-0.295457, -0.511198, -0.807082> + 5069: <-0.296339, -0.468770, -0.832128> + 5070: <-0.256606, -0.471888, -0.843490> + 5071: <-0.256243, -0.515110, -0.817925> + 5072: <-0.296339, -0.468770, -0.832128> + 5073: <-0.297287, -0.426323, -0.854324> + 5074: <-0.256999, -0.428698, -0.866124> + 5075: <-0.256606, -0.471888, -0.843490> + 5076: <-0.297287, -0.426323, -0.854324> + 5077: <-0.298234, -0.383963, -0.873859> + 5078: <-0.257364, -0.385664, -0.886018> + 5079: <-0.256999, -0.428698, -0.866124> + 5080: <-0.298234, -0.383963, -0.873859> + 5081: <-0.299085, -0.341811, -0.890906> + 5082: <-0.257643, -0.342852, -0.903367> + 5083: <-0.257364, -0.385664, -0.886018> + 5084: <-0.299085, -0.341811, -0.890906> + 5085: <-0.299762, -0.299762, -0.905696> + 5086: <-0.257736, -0.300219, -0.918390> + 5087: <-0.257643, -0.342852, -0.903367> + 5088: <-0.299762, -0.299762, -0.905696> + 5089: <-0.300219, -0.257736, -0.918390> + 5090: <-0.257702, -0.257702, -0.931225> + 5091: <-0.257736, -0.300219, -0.918390> + 5092: <-0.300219, -0.257736, -0.918390> + 5093: <-0.300461, -0.215649, -0.929096> + 5094: <-0.257519, -0.215220, -0.942000> + 5095: <-0.257702, -0.257702, -0.931225> + 5096: <-0.300461, -0.215649, -0.929096> + 5097: <-0.300496, -0.173351, -0.937897> + 5098: <-0.257217, -0.172679, -0.950800> + 5099: <-0.257519, -0.215220, -0.942000> + 5100: <-0.300496, -0.173351, -0.937897> + 5101: <-0.300427, -0.130743, -0.944802> + 5102: <-0.256880, -0.129981, -0.957663> + 5103: <-0.257217, -0.172679, -0.950800> + 5104: <-0.300427, -0.130743, -0.944802> + 5105: <-0.300248, -0.087712, -0.949820> + 5106: <-0.256544, -0.087041, -0.962605> + 5107: <-0.256880, -0.129981, -0.957663> + 5108: <-0.300248, -0.087712, -0.949820> + 5109: <-0.300092, -0.044130, -0.952889> + 5110: <-0.256267, -0.043703, -0.965618> + 5111: <-0.256544, -0.087041, -0.962605> + 5112: <-0.300092, -0.044130, -0.952889> + 5113: <-0.300059, 0.000000, -0.953921> + 5114: <-0.256177, 0.000000, -0.966630> + 5115: <-0.256267, -0.043703, -0.965618> + 5116: <-0.300059, 0.000000, -0.953921> + 5117: <-0.300092, 0.044130, -0.952889> + 5118: <-0.256267, 0.043703, -0.965618> + 5119: <-0.256177, 0.000000, -0.966630> + 5120: <-0.300092, 0.044130, -0.952889> + 5121: <-0.300248, 0.087712, -0.949820> + 5122: <-0.256544, 0.087041, -0.962605> + 5123: <-0.256267, 0.043703, -0.965618> + 5124: <-0.300248, 0.087712, -0.949820> + 5125: <-0.300427, 0.130743, -0.944802> + 5126: <-0.256880, 0.129981, -0.957663> + 5127: <-0.256544, 0.087041, -0.962605> + 5128: <-0.300427, 0.130743, -0.944802> + 5129: <-0.300496, 0.173351, -0.937897> + 5130: <-0.257217, 0.172679, -0.950800> + 5131: <-0.256880, 0.129981, -0.957663> + 5132: <-0.300496, 0.173351, -0.937897> + 5133: <-0.300461, 0.215649, -0.929096> + 5134: <-0.257519, 0.215220, -0.942000> + 5135: <-0.257217, 0.172679, -0.950800> + 5136: <-0.300461, 0.215649, -0.929096> + 5137: <-0.300219, 0.257736, -0.918390> + 5138: <-0.257702, 0.257702, -0.931225> + 5139: <-0.257519, 0.215220, -0.942000> + 5140: <-0.300219, 0.257736, -0.918390> + 5141: <-0.299762, 0.299762, -0.905696> + 5142: <-0.257736, 0.300219, -0.918390> + 5143: <-0.257702, 0.257702, -0.931225> + 5144: <-0.299762, 0.299762, -0.905696> + 5145: <-0.299085, 0.341811, -0.890906> + 5146: <-0.257643, 0.342852, -0.903367> + 5147: <-0.257736, 0.300219, -0.918390> + 5148: <-0.299085, 0.341811, -0.890906> + 5149: <-0.298259, 0.383986, -0.873840> + 5150: <-0.257364, 0.385664, -0.886018> + 5151: <-0.257643, 0.342852, -0.903367> + 5152: <-0.298259, 0.383986, -0.873840> + 5153: <-0.297287, 0.426323, -0.854324> + 5154: <-0.256999, 0.428698, -0.866124> + 5155: <-0.257364, 0.385664, -0.886018> + 5156: <-0.297287, 0.426323, -0.854324> + 5157: <-0.296339, 0.468770, -0.832128> + 5158: <-0.256606, 0.471888, -0.843490> + 5159: <-0.256999, 0.428698, -0.866124> + 5160: <-0.296339, 0.468770, -0.832128> + 5161: <-0.295457, 0.511198, -0.807082> + 5162: <-0.256243, 0.515110, -0.817925> + 5163: <-0.256606, 0.471888, -0.843490> + 5164: <-0.295457, 0.511198, -0.807082> + 5165: <-0.294729, 0.553415, -0.779017> + 5166: <-0.255937, 0.558172, -0.789266> + 5167: <-0.256243, 0.515110, -0.817925> + 5168: <-0.294729, 0.553415, -0.779017> + 5169: <-0.294207, 0.595158, -0.747816> + 5170: <-0.255750, 0.600829, -0.757361> + 5171: <-0.255937, 0.558172, -0.789266> + 5172: <-0.294207, 0.595158, -0.747816> + 5173: <-0.293904, 0.636150, -0.713396> + 5174: <-0.255632, 0.642833, -0.722093> + 5175: <-0.255750, 0.600829, -0.757361> + 5176: <-0.255632, -0.642833, -0.722093> + 5177: <-0.255750, -0.600829, -0.757361> + 5178: <-0.216596, -0.605748, -0.765608> + 5179: <-0.216660, -0.648606, -0.729636> + 5180: <-0.255750, -0.600829, -0.757361> + 5181: <-0.255937, -0.558172, -0.789266> + 5182: <-0.216534, -0.562257, -0.798110> + 5183: <-0.216596, -0.605748, -0.765608> + 5184: <-0.255937, -0.558172, -0.789266> + 5185: <-0.256243, -0.515110, -0.817925> + 5186: <-0.216475, -0.518435, -0.827263> + 5187: <-0.216534, -0.562257, -0.798110> + 5188: <-0.256243, -0.515110, -0.817925> + 5189: <-0.256606, -0.471888, -0.843490> + 5190: <-0.216413, -0.474515, -0.853230> + 5191: <-0.216475, -0.518435, -0.827263> + 5192: <-0.256606, -0.471888, -0.843490> + 5193: <-0.256999, -0.428698, -0.866124> + 5194: <-0.216320, -0.430657, -0.876208> + 5195: <-0.216413, -0.474515, -0.853230> + 5196: <-0.256999, -0.428698, -0.866124> + 5197: <-0.257364, -0.385664, -0.886018> + 5198: <-0.216199, -0.386985, -0.896382> + 5199: <-0.216320, -0.430657, -0.876208> + 5200: <-0.257364, -0.385664, -0.886018> + 5201: <-0.257643, -0.342852, -0.903367> + 5202: <-0.215982, -0.343582, -0.913949> + 5203: <-0.216199, -0.386985, -0.896382> + 5204: <-0.257643, -0.342852, -0.903367> + 5205: <-0.257736, -0.300219, -0.918390> + 5206: <-0.215649, -0.300461, -0.929096> + 5207: <-0.215982, -0.343582, -0.913949> + 5208: <-0.257736, -0.300219, -0.918390> + 5209: <-0.257702, -0.257702, -0.931225> + 5210: <-0.215220, -0.257519, -0.942000> + 5211: <-0.215649, -0.300461, -0.929096> + 5212: <-0.257702, -0.257702, -0.931225> + 5213: <-0.257519, -0.215220, -0.942000> + 5214: <-0.214732, -0.214732, -0.952775> + 5215: <-0.215220, -0.257519, -0.942000> + 5216: <-0.257519, -0.215220, -0.942000> + 5217: <-0.257217, -0.172679, -0.950800> + 5218: <-0.214182, -0.172005, -0.961530> + 5219: <-0.214732, -0.214732, -0.952775> + 5220: <-0.257217, -0.172679, -0.950800> + 5221: <-0.256880, -0.129981, -0.957663> + 5222: <-0.213666, -0.129250, -0.968319> + 5223: <-0.214182, -0.172005, -0.961530> + 5224: <-0.256880, -0.129981, -0.957663> + 5225: <-0.256544, -0.087041, -0.962605> + 5226: <-0.213204, -0.086398, -0.973180> + 5227: <-0.213666, -0.129250, -0.968319> + 5228: <-0.256544, -0.087041, -0.962605> + 5229: <-0.256267, -0.043703, -0.965618> + 5230: <-0.212870, -0.043306, -0.976120> + 5231: <-0.213204, -0.086398, -0.973180> + 5232: <-0.256267, -0.043703, -0.965618> + 5233: <-0.256177, 0.000000, -0.966630> + 5234: <-0.212750, 0.000000, -0.977107> + 5235: <-0.212870, -0.043306, -0.976120> + 5236: <-0.256177, 0.000000, -0.966630> + 5237: <-0.256267, 0.043703, -0.965618> + 5238: <-0.212870, 0.043306, -0.976120> + 5239: <-0.212750, 0.000000, -0.977107> + 5240: <-0.256267, 0.043703, -0.965618> + 5241: <-0.256544, 0.087041, -0.962605> + 5242: <-0.213204, 0.086398, -0.973180> + 5243: <-0.212870, 0.043306, -0.976120> + 5244: <-0.256544, 0.087041, -0.962605> + 5245: <-0.256880, 0.129981, -0.957663> + 5246: <-0.213666, 0.129250, -0.968319> + 5247: <-0.213204, 0.086398, -0.973180> + 5248: <-0.256880, 0.129981, -0.957663> + 5249: <-0.257217, 0.172679, -0.950800> + 5250: <-0.214182, 0.172005, -0.961530> + 5251: <-0.213666, 0.129250, -0.968319> + 5252: <-0.257217, 0.172679, -0.950800> + 5253: <-0.257519, 0.215220, -0.942000> + 5254: <-0.214732, 0.214732, -0.952775> + 5255: <-0.214182, 0.172005, -0.961530> + 5256: <-0.257519, 0.215220, -0.942000> + 5257: <-0.257702, 0.257702, -0.931225> + 5258: <-0.215220, 0.257519, -0.942000> + 5259: <-0.214732, 0.214732, -0.952775> + 5260: <-0.257702, 0.257702, -0.931225> + 5261: <-0.257736, 0.300219, -0.918390> + 5262: <-0.215649, 0.300461, -0.929096> + 5263: <-0.215220, 0.257519, -0.942000> + 5264: <-0.257736, 0.300219, -0.918390> + 5265: <-0.257643, 0.342852, -0.903367> + 5266: <-0.215982, 0.343582, -0.913949> + 5267: <-0.215649, 0.300461, -0.929096> + 5268: <-0.257643, 0.342852, -0.903367> + 5269: <-0.257364, 0.385664, -0.886018> + 5270: <-0.216199, 0.386985, -0.896382> + 5271: <-0.215982, 0.343582, -0.913949> + 5272: <-0.257364, 0.385664, -0.886018> + 5273: <-0.256999, 0.428698, -0.866124> + 5274: <-0.216320, 0.430657, -0.876208> + 5275: <-0.216199, 0.386985, -0.896382> + 5276: <-0.256999, 0.428698, -0.866124> + 5277: <-0.256606, 0.471888, -0.843490> + 5278: <-0.216413, 0.474515, -0.853230> + 5279: <-0.216320, 0.430657, -0.876208> + 5280: <-0.256606, 0.471888, -0.843490> + 5281: <-0.256243, 0.515110, -0.817925> + 5282: <-0.216475, 0.518435, -0.827263> + 5283: <-0.216413, 0.474515, -0.853230> + 5284: <-0.256243, 0.515110, -0.817925> + 5285: <-0.255937, 0.558172, -0.789266> + 5286: <-0.216534, 0.562257, -0.798110> + 5287: <-0.216475, 0.518435, -0.827263> + 5288: <-0.255937, 0.558172, -0.789266> + 5289: <-0.255750, 0.600829, -0.757361> + 5290: <-0.216596, 0.605748, -0.765608> + 5291: <-0.216534, 0.562257, -0.798110> + 5292: <-0.255750, 0.600829, -0.757361> + 5293: <-0.255632, 0.642833, -0.722093> + 5294: <-0.216660, 0.648606, -0.729636> + 5295: <-0.216596, 0.605748, -0.765608> + 5296: <-0.216660, -0.648606, -0.729636> + 5297: <-0.216596, -0.605748, -0.765608> + 5298: <-0.176461, -0.609892, -0.772589> + 5299: <-0.176644, -0.653502, -0.736025> + 5300: <-0.216596, -0.605748, -0.765608> + 5301: <-0.216534, -0.562257, -0.798110> + 5302: <-0.176188, -0.565675, -0.805587> + 5303: <-0.176461, -0.609892, -0.772589> + 5304: <-0.216534, -0.562257, -0.798110> + 5305: <-0.216475, -0.518435, -0.827263> + 5306: <-0.175853, -0.521180, -0.835133> + 5307: <-0.176188, -0.565675, -0.805587> + 5308: <-0.216475, -0.518435, -0.827263> + 5309: <-0.216413, -0.474515, -0.853230> + 5310: <-0.175453, -0.476614, -0.861426> + 5311: <-0.175853, -0.521180, -0.835133> + 5312: <-0.216413, -0.474515, -0.853230> + 5313: <-0.216320, -0.430657, -0.876208> + 5314: <-0.175026, -0.432149, -0.884654> + 5315: <-0.175453, -0.476614, -0.861426> + 5316: <-0.216320, -0.430657, -0.876208> + 5317: <-0.216199, -0.386985, -0.896382> + 5318: <-0.174541, -0.387965, -0.904997> + 5319: <-0.175026, -0.432149, -0.884654> + 5320: <-0.216199, -0.386985, -0.896382> + 5321: <-0.215982, -0.343582, -0.913949> + 5322: <-0.173989, -0.344072, -0.922682> + 5323: <-0.174541, -0.387965, -0.904997> + 5324: <-0.215982, -0.343582, -0.913949> + 5325: <-0.215649, -0.300461, -0.929096> + 5326: <-0.173351, -0.300496, -0.937897> + 5327: <-0.173989, -0.344072, -0.922682> + 5328: <-0.215649, -0.300461, -0.929096> + 5329: <-0.215220, -0.257519, -0.942000> + 5330: <-0.172679, -0.257217, -0.950800> + 5331: <-0.173351, -0.300496, -0.937897> + 5332: <-0.215220, -0.257519, -0.942000> + 5333: <-0.214732, -0.214732, -0.952775> + 5334: <-0.172005, -0.214182, -0.961530> + 5335: <-0.172679, -0.257217, -0.950800> + 5336: <-0.214732, -0.214732, -0.952775> + 5337: <-0.214182, -0.172005, -0.961530> + 5338: <-0.171305, -0.171305, -0.970211> + 5339: <-0.172005, -0.214182, -0.961530> + 5340: <-0.214182, -0.172005, -0.961530> + 5341: <-0.213666, -0.129250, -0.968319> + 5342: <-0.170691, -0.128545, -0.976904> + 5343: <-0.171305, -0.171305, -0.970211> + 5344: <-0.213666, -0.129250, -0.968319> + 5345: <-0.213204, -0.086398, -0.973180> + 5346: <-0.170203, -0.085788, -0.981668> + 5347: <-0.170691, -0.128545, -0.976904> + 5348: <-0.213204, -0.086398, -0.973180> + 5349: <-0.212870, -0.043306, -0.976120> + 5350: <-0.169837, -0.042970, -0.984535> + 5351: <-0.170203, -0.085788, -0.981668> + 5352: <-0.212870, -0.043306, -0.976120> + 5353: <-0.212750, 0.000000, -0.977107> + 5354: <-0.169746, 0.000000, -0.985488> + 5355: <-0.169837, -0.042970, -0.984535> + 5356: <-0.212750, 0.000000, -0.977107> + 5357: <-0.212870, 0.043306, -0.976120> + 5358: <-0.169866, 0.042970, -0.984530> + 5359: <-0.169746, 0.000000, -0.985488> + 5360: <-0.212870, 0.043306, -0.976120> + 5361: <-0.213204, 0.086398, -0.973180> + 5362: <-0.170203, 0.085788, -0.981668> + 5363: <-0.169866, 0.042970, -0.984530> + 5364: <-0.213204, 0.086398, -0.973180> + 5365: <-0.213666, 0.129250, -0.968319> + 5366: <-0.170691, 0.128545, -0.976904> + 5367: <-0.170203, 0.085788, -0.981668> + 5368: <-0.213666, 0.129250, -0.968319> + 5369: <-0.214182, 0.172005, -0.961530> + 5370: <-0.171305, 0.171305, -0.970211> + 5371: <-0.170691, 0.128545, -0.976904> + 5372: <-0.214182, 0.172005, -0.961530> + 5373: <-0.214732, 0.214732, -0.952775> + 5374: <-0.172005, 0.214182, -0.961530> + 5375: <-0.171305, 0.171305, -0.970211> + 5376: <-0.214732, 0.214732, -0.952775> + 5377: <-0.215220, 0.257519, -0.942000> + 5378: <-0.172679, 0.257217, -0.950800> + 5379: <-0.172005, 0.214182, -0.961530> + 5380: <-0.215220, 0.257519, -0.942000> + 5381: <-0.215649, 0.300461, -0.929096> + 5382: <-0.173351, 0.300496, -0.937897> + 5383: <-0.172679, 0.257217, -0.950800> + 5384: <-0.215649, 0.300461, -0.929096> + 5385: <-0.215982, 0.343582, -0.913949> + 5386: <-0.173989, 0.344072, -0.922682> + 5387: <-0.173351, 0.300496, -0.937897> + 5388: <-0.215982, 0.343582, -0.913949> + 5389: <-0.216199, 0.386985, -0.896382> + 5390: <-0.174541, 0.387965, -0.904997> + 5391: <-0.173989, 0.344072, -0.922682> + 5392: <-0.216199, 0.386985, -0.896382> + 5393: <-0.216320, 0.430657, -0.876208> + 5394: <-0.175026, 0.432149, -0.884654> + 5395: <-0.174541, 0.387965, -0.904997> + 5396: <-0.216320, 0.430657, -0.876208> + 5397: <-0.216413, 0.474515, -0.853230> + 5398: <-0.175453, 0.476614, -0.861426> + 5399: <-0.175026, 0.432149, -0.884654> + 5400: <-0.216413, 0.474515, -0.853230> + 5401: <-0.216475, 0.518435, -0.827263> + 5402: <-0.175853, 0.521180, -0.835133> + 5403: <-0.175453, 0.476614, -0.861426> + 5404: <-0.216475, 0.518435, -0.827263> + 5405: <-0.216534, 0.562257, -0.798110> + 5406: <-0.176188, 0.565675, -0.805587> + 5407: <-0.175853, 0.521180, -0.835133> + 5408: <-0.216534, 0.562257, -0.798110> + 5409: <-0.216596, 0.605748, -0.765608> + 5410: <-0.176461, 0.609892, -0.772589> + 5411: <-0.176188, 0.565675, -0.805587> + 5412: <-0.216596, 0.605748, -0.765608> + 5413: <-0.216660, 0.648606, -0.729636> + 5414: <-0.176644, 0.653502, -0.736025> + 5415: <-0.176461, 0.609892, -0.772589> + 5416: <-0.176644, -0.653502, -0.736025> + 5417: <-0.176461, -0.609892, -0.772589> + 5418: <-0.135015, -0.613215, -0.778292> + 5419: <-0.135260, -0.657468, -0.741243> + 5420: <-0.176461, -0.609892, -0.772589> + 5421: <-0.176188, -0.565675, -0.805587> + 5422: <-0.134618, -0.568382, -0.811677> + 5423: <-0.135015, -0.613215, -0.778292> + 5424: <-0.176188, -0.565675, -0.805587> + 5425: <-0.175853, -0.521180, -0.835133> + 5426: <-0.134100, -0.523307, -0.841527> + 5427: <-0.134618, -0.568382, -0.811677> + 5428: <-0.175853, -0.521180, -0.835133> + 5429: <-0.175453, -0.476614, -0.861426> + 5430: <-0.133553, -0.478208, -0.868033> + 5431: <-0.134100, -0.523307, -0.841527> + 5432: <-0.175453, -0.476614, -0.861426> + 5433: <-0.175026, -0.432149, -0.884654> + 5434: <-0.132911, -0.433281, -0.891405> + 5435: <-0.133553, -0.478208, -0.868033> + 5436: <-0.175026, -0.432149, -0.884654> + 5437: <-0.174541, -0.387965, -0.904997> + 5438: <-0.132240, -0.388632, -0.911854> + 5439: <-0.132911, -0.433281, -0.891405> + 5440: <-0.174541, -0.387965, -0.904997> + 5441: <-0.173989, -0.344072, -0.922682> + 5442: <-0.131509, -0.344322, -0.929596> + 5443: <-0.132240, -0.388632, -0.911854> + 5444: <-0.173989, -0.344072, -0.922682> + 5445: <-0.173351, -0.300496, -0.937897> + 5446: <-0.130743, -0.300427, -0.944802> + 5447: <-0.131509, -0.344322, -0.929596> + 5448: <-0.173351, -0.300496, -0.937897> + 5449: <-0.172679, -0.257217, -0.950800> + 5450: <-0.129981, -0.256880, -0.957663> + 5451: <-0.130743, -0.300427, -0.944802> + 5452: <-0.172679, -0.257217, -0.950800> + 5453: <-0.172005, -0.214182, -0.961530> + 5454: <-0.129250, -0.213666, -0.968319> + 5455: <-0.129981, -0.256880, -0.957663> + 5456: <-0.172005, -0.214182, -0.961530> + 5457: <-0.171305, -0.171305, -0.970211> + 5458: <-0.128545, -0.170691, -0.976904> + 5459: <-0.129250, -0.213666, -0.968319> + 5460: <-0.171305, -0.171305, -0.970211> + 5461: <-0.170691, -0.128545, -0.976904> + 5462: <-0.127935, -0.127935, -0.983497> + 5463: <-0.128545, -0.170691, -0.976904> + 5464: <-0.170691, -0.128545, -0.976904> + 5465: <-0.170203, -0.085788, -0.981668> + 5466: <-0.127447, -0.085300, -0.988171> + 5467: <-0.127935, -0.127935, -0.983497> + 5468: <-0.170203, -0.085788, -0.981668> + 5469: <-0.169837, -0.042970, -0.984535> + 5470: <-0.127144, -0.042666, -0.990966> + 5471: <-0.127447, -0.085300, -0.988171> + 5472: <-0.169837, -0.042970, -0.984535> + 5473: <-0.169746, 0.000000, -0.985488> + 5474: <-0.127020, 0.000000, -0.991900> + 5475: <-0.127144, -0.042666, -0.990966> + 5476: <-0.169746, 0.000000, -0.985488> + 5477: <-0.169866, 0.042970, -0.984530> + 5478: <-0.127144, 0.042666, -0.990966> + 5479: <-0.127020, 0.000000, -0.991900> + 5480: <-0.169866, 0.042970, -0.984530> + 5481: <-0.170203, 0.085788, -0.981668> + 5482: <-0.127447, 0.085300, -0.988171> + 5483: <-0.127144, 0.042666, -0.990966> + 5484: <-0.170203, 0.085788, -0.981668> + 5485: <-0.170691, 0.128545, -0.976904> + 5486: <-0.127935, 0.127935, -0.983497> + 5487: <-0.127447, 0.085300, -0.988171> + 5488: <-0.170691, 0.128545, -0.976904> + 5489: <-0.171305, 0.171305, -0.970211> + 5490: <-0.128545, 0.170691, -0.976904> + 5491: <-0.127935, 0.127935, -0.983497> + 5492: <-0.171305, 0.171305, -0.970211> + 5493: <-0.172005, 0.214182, -0.961530> + 5494: <-0.129250, 0.213666, -0.968319> + 5495: <-0.128545, 0.170691, -0.976904> + 5496: <-0.172005, 0.214182, -0.961530> + 5497: <-0.172679, 0.257217, -0.950800> + 5498: <-0.129981, 0.256880, -0.957663> + 5499: <-0.129250, 0.213666, -0.968319> + 5500: <-0.172679, 0.257217, -0.950800> + 5501: <-0.173351, 0.300496, -0.937897> + 5502: <-0.130743, 0.300427, -0.944802> + 5503: <-0.129981, 0.256880, -0.957663> + 5504: <-0.173351, 0.300496, -0.937897> + 5505: <-0.173989, 0.344072, -0.922682> + 5506: <-0.131509, 0.344322, -0.929596> + 5507: <-0.130743, 0.300427, -0.944802> + 5508: <-0.173989, 0.344072, -0.922682> + 5509: <-0.174541, 0.387965, -0.904997> + 5510: <-0.132240, 0.388632, -0.911854> + 5511: <-0.131509, 0.344322, -0.929596> + 5512: <-0.174541, 0.387965, -0.904997> + 5513: <-0.175026, 0.432149, -0.884654> + 5514: <-0.132911, 0.433281, -0.891405> + 5515: <-0.132240, 0.388632, -0.911854> + 5516: <-0.175026, 0.432149, -0.884654> + 5517: <-0.175453, 0.476614, -0.861426> + 5518: <-0.133553, 0.478208, -0.868033> + 5519: <-0.132911, 0.433281, -0.891405> + 5520: <-0.175453, 0.476614, -0.861426> + 5521: <-0.175853, 0.521180, -0.835133> + 5522: <-0.134100, 0.523307, -0.841527> + 5523: <-0.133553, 0.478208, -0.868033> + 5524: <-0.175853, 0.521180, -0.835133> + 5525: <-0.176188, 0.565675, -0.805587> + 5526: <-0.134618, 0.568382, -0.811677> + 5527: <-0.134100, 0.523307, -0.841527> + 5528: <-0.176188, 0.565675, -0.805587> + 5529: <-0.176461, 0.609892, -0.772589> + 5530: <-0.134985, 0.613218, -0.778295> + 5531: <-0.134618, 0.568382, -0.811677> + 5532: <-0.176461, 0.609892, -0.772589> + 5533: <-0.176644, 0.653502, -0.736025> + 5534: <-0.135260, 0.657468, -0.741243> + 5535: <-0.134985, 0.613218, -0.778295> + 5536: <-0.135260, -0.657468, -0.741243> + 5537: <-0.135015, -0.613215, -0.778292> + 5538: <-0.091894, -0.615697, -0.782607> + 5539: <-0.092137, -0.660463, -0.745184> + 5540: <-0.135015, -0.613215, -0.778292> + 5541: <-0.134618, -0.568382, -0.811677> + 5542: <-0.091497, -0.570377, -0.816271> + 5543: <-0.091894, -0.615697, -0.782607> + 5544: <-0.134618, -0.568382, -0.811677> + 5545: <-0.134100, -0.523307, -0.841527> + 5546: <-0.091008, -0.524836, -0.846324> + 5547: <-0.091497, -0.570377, -0.816271> + 5548: <-0.134100, -0.523307, -0.841527> + 5549: <-0.133553, -0.478208, -0.868033> + 5550: <-0.090429, -0.479307, -0.872976> + 5551: <-0.091008, -0.524836, -0.846324> + 5552: <-0.133553, -0.478208, -0.868033> + 5553: <-0.132911, -0.433281, -0.891405> + 5554: <-0.089787, -0.433981, -0.896437> + 5555: <-0.090429, -0.479307, -0.872976> + 5556: <-0.132911, -0.433281, -0.891405> + 5557: <-0.132240, -0.388632, -0.911854> + 5558: <-0.089116, -0.388998, -0.916918> + 5559: <-0.089787, -0.433981, -0.896437> + 5560: <-0.132240, -0.388632, -0.911854> + 5561: <-0.131509, -0.344322, -0.929596> + 5562: <-0.088414, -0.344408, -0.934648> + 5563: <-0.089116, -0.388998, -0.916918> + 5564: <-0.131509, -0.344322, -0.929596> + 5565: <-0.130743, -0.300427, -0.944802> + 5566: <-0.087712, -0.300248, -0.949820> + 5567: <-0.088414, -0.344408, -0.934648> + 5568: <-0.130743, -0.300427, -0.944802> + 5569: <-0.129981, -0.256880, -0.957663> + 5570: <-0.087041, -0.256544, -0.962605> + 5571: <-0.087712, -0.300248, -0.949820> + 5572: <-0.129981, -0.256880, -0.957663> + 5573: <-0.129250, -0.213666, -0.968319> + 5574: <-0.086398, -0.213204, -0.973180> + 5575: <-0.087041, -0.256544, -0.962605> + 5576: <-0.129250, -0.213666, -0.968319> + 5577: <-0.128545, -0.170691, -0.976904> + 5578: <-0.085788, -0.170203, -0.981668> + 5579: <-0.086398, -0.213204, -0.973180> + 5580: <-0.128545, -0.170691, -0.976904> + 5581: <-0.127935, -0.127935, -0.983497> + 5582: <-0.085300, -0.127447, -0.988171> + 5583: <-0.085788, -0.170203, -0.981668> + 5584: <-0.127935, -0.127935, -0.983497> + 5585: <-0.127447, -0.085300, -0.988171> + 5586: <-0.084905, -0.084905, -0.992765> + 5587: <-0.085300, -0.127447, -0.988171> + 5588: <-0.127447, -0.085300, -0.988171> + 5589: <-0.127144, -0.042666, -0.990966> + 5590: <-0.084660, -0.042452, -0.995505> + 5591: <-0.084905, -0.084905, -0.992765> + 5592: <-0.127144, -0.042666, -0.990966> + 5593: <-0.127020, 0.000000, -0.991900> + 5594: <-0.084568, 0.000000, -0.996418> + 5595: <-0.084660, -0.042452, -0.995505> + 5596: <-0.127020, 0.000000, -0.991900> + 5597: <-0.127144, 0.042666, -0.990966> + 5598: <-0.084660, 0.042452, -0.995505> + 5599: <-0.084568, 0.000000, -0.996418> + 5600: <-0.127144, 0.042666, -0.990966> + 5601: <-0.127447, 0.085300, -0.988171> + 5602: <-0.084905, 0.084905, -0.992765> + 5603: <-0.084660, 0.042452, -0.995505> + 5604: <-0.127447, 0.085300, -0.988171> + 5605: <-0.127935, 0.127935, -0.983497> + 5606: <-0.085300, 0.127447, -0.988171> + 5607: <-0.084905, 0.084905, -0.992765> + 5608: <-0.127935, 0.127935, -0.983497> + 5609: <-0.128545, 0.170691, -0.976904> + 5610: <-0.085788, 0.170203, -0.981668> + 5611: <-0.085300, 0.127447, -0.988171> + 5612: <-0.128545, 0.170691, -0.976904> + 5613: <-0.129250, 0.213666, -0.968319> + 5614: <-0.086398, 0.213204, -0.973180> + 5615: <-0.085788, 0.170203, -0.981668> + 5616: <-0.129250, 0.213666, -0.968319> + 5617: <-0.129981, 0.256880, -0.957663> + 5618: <-0.087041, 0.256544, -0.962605> + 5619: <-0.086398, 0.213204, -0.973180> + 5620: <-0.129981, 0.256880, -0.957663> + 5621: <-0.130743, 0.300427, -0.944802> + 5622: <-0.087712, 0.300248, -0.949820> + 5623: <-0.087041, 0.256544, -0.962605> + 5624: <-0.130743, 0.300427, -0.944802> + 5625: <-0.131509, 0.344322, -0.929596> + 5626: <-0.088414, 0.344408, -0.934648> + 5627: <-0.087712, 0.300248, -0.949820> + 5628: <-0.131509, 0.344322, -0.929596> + 5629: <-0.132240, 0.388632, -0.911854> + 5630: <-0.089116, 0.388998, -0.916918> + 5631: <-0.088414, 0.344408, -0.934648> + 5632: <-0.132240, 0.388632, -0.911854> + 5633: <-0.132911, 0.433281, -0.891405> + 5634: <-0.089787, 0.433981, -0.896437> + 5635: <-0.089116, 0.388998, -0.916918> + 5636: <-0.132911, 0.433281, -0.891405> + 5637: <-0.133553, 0.478208, -0.868033> + 5638: <-0.090429, 0.479307, -0.872976> + 5639: <-0.089787, 0.433981, -0.896437> + 5640: <-0.133553, 0.478208, -0.868033> + 5641: <-0.134100, 0.523307, -0.841527> + 5642: <-0.091008, 0.524836, -0.846324> + 5643: <-0.090429, 0.479307, -0.872976> + 5644: <-0.134100, 0.523307, -0.841527> + 5645: <-0.134618, 0.568382, -0.811677> + 5646: <-0.091497, 0.570377, -0.816271> + 5647: <-0.091008, 0.524836, -0.846324> + 5648: <-0.134618, 0.568382, -0.811677> + 5649: <-0.134985, 0.613218, -0.778295> + 5650: <-0.091894, 0.615697, -0.782607> + 5651: <-0.091497, 0.570377, -0.816271> + 5652: <-0.134985, 0.613218, -0.778295> + 5653: <-0.135260, 0.657468, -0.741243> + 5654: <-0.092137, 0.660463, -0.745184> + 5655: <-0.091894, 0.615697, -0.782607> + 5656: <-0.092137, -0.660463, -0.745184> + 5657: <-0.091894, -0.615697, -0.782607> + 5658: <-0.046847, -0.617246, -0.785375> + 5659: <-0.046999, -0.662354, -0.747715> + 5660: <-0.091894, -0.615697, -0.782607> + 5661: <-0.091497, -0.570377, -0.816271> + 5662: <-0.046573, -0.571602, -0.819208> + 5663: <-0.046847, -0.617246, -0.785375> + 5664: <-0.091497, -0.570377, -0.816271> + 5665: <-0.091008, -0.524836, -0.846324> + 5666: <-0.046267, -0.525753, -0.849378> + 5667: <-0.046573, -0.571602, -0.819208> + 5668: <-0.091008, -0.524836, -0.846324> + 5669: <-0.090429, -0.479307, -0.872976> + 5670: <-0.045871, -0.479951, -0.876095> + 5671: <-0.046267, -0.525753, -0.849378> + 5672: <-0.090429, -0.479307, -0.872976> + 5673: <-0.089787, -0.433981, -0.896437> + 5674: <-0.045443, -0.434379, -0.899583> + 5675: <-0.045871, -0.479951, -0.876095> + 5676: <-0.089787, -0.433981, -0.896437> + 5677: <-0.089116, -0.388998, -0.916918> + 5678: <-0.045016, -0.389180, -0.920061> + 5679: <-0.045443, -0.434379, -0.899583> + 5680: <-0.089116, -0.388998, -0.916918> + 5681: <-0.088414, -0.344408, -0.934648> + 5682: <-0.044558, -0.344409, -0.937762> + 5683: <-0.045016, -0.389180, -0.920061> + 5684: <-0.088414, -0.344408, -0.934648> + 5685: <-0.087712, -0.300248, -0.949820> + 5686: <-0.044130, -0.300092, -0.952889> + 5687: <-0.044558, -0.344409, -0.937762> + 5688: <-0.087712, -0.300248, -0.949820> + 5689: <-0.087041, -0.256544, -0.962605> + 5690: <-0.043703, -0.256267, -0.965618> + 5691: <-0.044130, -0.300092, -0.952889> + 5692: <-0.087041, -0.256544, -0.962605> + 5693: <-0.086398, -0.213204, -0.973180> + 5694: <-0.043306, -0.212870, -0.976120> + 5695: <-0.043703, -0.256267, -0.965618> + 5696: <-0.086398, -0.213204, -0.973180> + 5697: <-0.085788, -0.170203, -0.981668> + 5698: <-0.042970, -0.169837, -0.984535> + 5699: <-0.043306, -0.212870, -0.976120> + 5700: <-0.085788, -0.170203, -0.981668> + 5701: <-0.085300, -0.127447, -0.988171> + 5702: <-0.042666, -0.127144, -0.990966> + 5703: <-0.042970, -0.169837, -0.984535> + 5704: <-0.085300, -0.127447, -0.988171> + 5705: <-0.084905, -0.084905, -0.992765> + 5706: <-0.042452, -0.084660, -0.995505> + 5707: <-0.042666, -0.127144, -0.990966> + 5708: <-0.084905, -0.084905, -0.992765> + 5709: <-0.084660, -0.042452, -0.995505> + 5710: <-0.042299, -0.042299, -0.998209> + 5711: <-0.042452, -0.084660, -0.995505> + 5712: <-0.084660, -0.042452, -0.995505> + 5713: <-0.084568, 0.000000, -0.996418> + 5714: <-0.042239, 0.000000, -0.999108> + 5715: <-0.042299, -0.042299, -0.998209> + 5716: <-0.084568, 0.000000, -0.996418> + 5717: <-0.084660, 0.042452, -0.995505> + 5718: <-0.042299, 0.042299, -0.998209> + 5719: <-0.042239, 0.000000, -0.999108> + 5720: <-0.084660, 0.042452, -0.995505> + 5721: <-0.084905, 0.084905, -0.992765> + 5722: <-0.042452, 0.084660, -0.995505> + 5723: <-0.042299, 0.042299, -0.998209> + 5724: <-0.084905, 0.084905, -0.992765> + 5725: <-0.085300, 0.127447, -0.988171> + 5726: <-0.042666, 0.127144, -0.990966> + 5727: <-0.042452, 0.084660, -0.995505> + 5728: <-0.085300, 0.127447, -0.988171> + 5729: <-0.085788, 0.170203, -0.981668> + 5730: <-0.042970, 0.169837, -0.984535> + 5731: <-0.042666, 0.127144, -0.990966> + 5732: <-0.085788, 0.170203, -0.981668> + 5733: <-0.086398, 0.213204, -0.973180> + 5734: <-0.043306, 0.212870, -0.976120> + 5735: <-0.042970, 0.169837, -0.984535> + 5736: <-0.086398, 0.213204, -0.973180> + 5737: <-0.087041, 0.256544, -0.962605> + 5738: <-0.043703, 0.256267, -0.965618> + 5739: <-0.043306, 0.212870, -0.976120> + 5740: <-0.087041, 0.256544, -0.962605> + 5741: <-0.087712, 0.300248, -0.949820> + 5742: <-0.044130, 0.300092, -0.952889> + 5743: <-0.043703, 0.256267, -0.965618> + 5744: <-0.087712, 0.300248, -0.949820> + 5745: <-0.088414, 0.344408, -0.934648> + 5746: <-0.044558, 0.344409, -0.937762> + 5747: <-0.044130, 0.300092, -0.952889> + 5748: <-0.088414, 0.344408, -0.934648> + 5749: <-0.089116, 0.388998, -0.916918> + 5750: <-0.045016, 0.389180, -0.920061> + 5751: <-0.044558, 0.344409, -0.937762> + 5752: <-0.089116, 0.388998, -0.916918> + 5753: <-0.089787, 0.433981, -0.896437> + 5754: <-0.045443, 0.434379, -0.899583> + 5755: <-0.045016, 0.389180, -0.920061> + 5756: <-0.089787, 0.433981, -0.896437> + 5757: <-0.090429, 0.479307, -0.872976> + 5758: <-0.045871, 0.479951, -0.876095> + 5759: <-0.045443, 0.434379, -0.899583> + 5760: <-0.090429, 0.479307, -0.872976> + 5761: <-0.091008, 0.524836, -0.846324> + 5762: <-0.046267, 0.525753, -0.849378> + 5763: <-0.045871, 0.479951, -0.876095> + 5764: <-0.091008, 0.524836, -0.846324> + 5765: <-0.091497, 0.570377, -0.816271> + 5766: <-0.046573, 0.571602, -0.819208> + 5767: <-0.046267, 0.525753, -0.849378> + 5768: <-0.091497, 0.570377, -0.816271> + 5769: <-0.091894, 0.615697, -0.782607> + 5770: <-0.046847, 0.617246, -0.785375> + 5771: <-0.046573, 0.571602, -0.819208> + 5772: <-0.091894, 0.615697, -0.782607> + 5773: <-0.092137, 0.660463, -0.745184> + 5774: <-0.046999, 0.662354, -0.747715> + 5775: <-0.046847, 0.617246, -0.785375> + 5776: <-0.046999, -0.662354, -0.747715> + 5777: <-0.046847, -0.617246, -0.785375> + 5778: < 0.000000, -0.617789, -0.786344> + 5779: < 0.000000, -0.663024, -0.748599> + 5780: <-0.046847, -0.617246, -0.785375> + 5781: <-0.046573, -0.571602, -0.819208> + 5782: < 0.000000, -0.572024, -0.820237> + 5783: < 0.000000, -0.617789, -0.786344> + 5784: <-0.046573, -0.571602, -0.819208> + 5785: <-0.046267, -0.525753, -0.849378> + 5786: < 0.000000, -0.526081, -0.850434> + 5787: < 0.000000, -0.572024, -0.820237> + 5788: <-0.046267, -0.525753, -0.849378> + 5789: <-0.045871, -0.479951, -0.876095> + 5790: < 0.000000, -0.480158, -0.877182> + 5791: < 0.000000, -0.526081, -0.850434> + 5792: <-0.045871, -0.479951, -0.876095> + 5793: <-0.045443, -0.434379, -0.899583> + 5794: < 0.000000, -0.434534, -0.900655> + 5795: < 0.000000, -0.480158, -0.877182> + 5796: <-0.045443, -0.434379, -0.899583> + 5797: <-0.045016, -0.389180, -0.920061> + 5798: < 0.000000, -0.389244, -0.921135> + 5799: < 0.000000, -0.434534, -0.900655> + 5800: <-0.045016, -0.389180, -0.920061> + 5801: <-0.044558, -0.344409, -0.937762> + 5802: < 0.000000, -0.344405, -0.938821> + 5803: < 0.000000, -0.389244, -0.921135> + 5804: <-0.044558, -0.344409, -0.937762> + 5805: <-0.044130, -0.300092, -0.952889> + 5806: < 0.000000, -0.300059, -0.953921> + 5807: < 0.000000, -0.344405, -0.938821> + 5808: <-0.044130, -0.300092, -0.952889> + 5809: <-0.043703, -0.256267, -0.965618> + 5810: < 0.000000, -0.256177, -0.966630> + 5811: < 0.000000, -0.300059, -0.953921> + 5812: <-0.043703, -0.256267, -0.965618> + 5813: <-0.043306, -0.212870, -0.976120> + 5814: < 0.000000, -0.212750, -0.977107> + 5815: < 0.000000, -0.256177, -0.966630> + 5816: <-0.043306, -0.212870, -0.976120> + 5817: <-0.042970, -0.169837, -0.984535> + 5818: < 0.000000, -0.169746, -0.985488> + 5819: < 0.000000, -0.212750, -0.977107> + 5820: <-0.042970, -0.169837, -0.984535> + 5821: <-0.042666, -0.127144, -0.990966> + 5822: < 0.000000, -0.127020, -0.991900> + 5823: < 0.000000, -0.169746, -0.985488> + 5824: <-0.042666, -0.127144, -0.990966> + 5825: <-0.042452, -0.084660, -0.995505> + 5826: < 0.000000, -0.084568, -0.996418> + 5827: < 0.000000, -0.127020, -0.991900> + 5828: <-0.042452, -0.084660, -0.995505> + 5829: <-0.042299, -0.042299, -0.998209> + 5830: < 0.000000, -0.042239, -0.999108> + 5831: < 0.000000, -0.084568, -0.996418> + 5832: <-0.042299, -0.042299, -0.998209> + 5833: <-0.042239, 0.000000, -0.999108> + 5834: < 0.000000, 0.000000, -1.000000> + 5835: < 0.000000, -0.042239, -0.999108> + 5836: <-0.042239, 0.000000, -0.999108> + 5837: <-0.042299, 0.042299, -0.998209> + 5838: < 0.000000, 0.042239, -0.999108> + 5839: < 0.000000, 0.000000, -1.000000> + 5840: <-0.042299, 0.042299, -0.998209> + 5841: <-0.042452, 0.084660, -0.995505> + 5842: < 0.000000, 0.084568, -0.996418> + 5843: < 0.000000, 0.042239, -0.999108> + 5844: <-0.042452, 0.084660, -0.995505> + 5845: <-0.042666, 0.127144, -0.990966> + 5846: < 0.000000, 0.127020, -0.991900> + 5847: < 0.000000, 0.084568, -0.996418> + 5848: <-0.042666, 0.127144, -0.990966> + 5849: <-0.042970, 0.169837, -0.984535> + 5850: < 0.000000, 0.169746, -0.985488> + 5851: < 0.000000, 0.127020, -0.991900> + 5852: <-0.042970, 0.169837, -0.984535> + 5853: <-0.043306, 0.212870, -0.976120> + 5854: < 0.000000, 0.212750, -0.977107> + 5855: < 0.000000, 0.169746, -0.985488> + 5856: <-0.043306, 0.212870, -0.976120> + 5857: <-0.043703, 0.256267, -0.965618> + 5858: < 0.000000, 0.256177, -0.966630> + 5859: < 0.000000, 0.212750, -0.977107> + 5860: <-0.043703, 0.256267, -0.965618> + 5861: <-0.044130, 0.300092, -0.952889> + 5862: < 0.000000, 0.300059, -0.953921> + 5863: < 0.000000, 0.256177, -0.966630> + 5864: <-0.044130, 0.300092, -0.952889> + 5865: <-0.044558, 0.344409, -0.937762> + 5866: < 0.000000, 0.344405, -0.938821> + 5867: < 0.000000, 0.300059, -0.953921> + 5868: <-0.044558, 0.344409, -0.937762> + 5869: <-0.045016, 0.389180, -0.920061> + 5870: < 0.000000, 0.389244, -0.921135> + 5871: < 0.000000, 0.344405, -0.938821> + 5872: <-0.045016, 0.389180, -0.920061> + 5873: <-0.045443, 0.434379, -0.899583> + 5874: < 0.000000, 0.434534, -0.900655> + 5875: < 0.000000, 0.389244, -0.921135> + 5876: <-0.045443, 0.434379, -0.899583> + 5877: <-0.045871, 0.479951, -0.876095> + 5878: < 0.000000, 0.480158, -0.877182> + 5879: < 0.000000, 0.434534, -0.900655> + 5880: <-0.045871, 0.479951, -0.876095> + 5881: <-0.046267, 0.525753, -0.849378> + 5882: < 0.000000, 0.526081, -0.850434> + 5883: < 0.000000, 0.480158, -0.877182> + 5884: <-0.046267, 0.525753, -0.849378> + 5885: <-0.046573, 0.571602, -0.819208> + 5886: < 0.000000, 0.572024, -0.820237> + 5887: < 0.000000, 0.526081, -0.850434> + 5888: <-0.046573, 0.571602, -0.819208> + 5889: <-0.046847, 0.617246, -0.785375> + 5890: < 0.000000, 0.617789, -0.786344> + 5891: < 0.000000, 0.572024, -0.820237> + 5892: <-0.046847, 0.617246, -0.785375> + 5893: <-0.046999, 0.662354, -0.747715> + 5894: < 0.000000, 0.663024, -0.748599> + 5895: < 0.000000, 0.617789, -0.786344> + 5896: < 0.000000, -0.663024, -0.748599> + 5897: < 0.000000, -0.617789, -0.786344> + 5898: < 0.046847, -0.617246, -0.785375> + 5899: < 0.046999, -0.662354, -0.747715> + 5900: < 0.000000, -0.617789, -0.786344> + 5901: < 0.000000, -0.572024, -0.820237> + 5902: < 0.046573, -0.571602, -0.819208> + 5903: < 0.046847, -0.617246, -0.785375> + 5904: < 0.000000, -0.572024, -0.820237> + 5905: < 0.000000, -0.526081, -0.850434> + 5906: < 0.046267, -0.525753, -0.849378> + 5907: < 0.046573, -0.571602, -0.819208> + 5908: < 0.000000, -0.526081, -0.850434> + 5909: < 0.000000, -0.480158, -0.877182> + 5910: < 0.045871, -0.479951, -0.876095> + 5911: < 0.046267, -0.525753, -0.849378> + 5912: < 0.000000, -0.480158, -0.877182> + 5913: < 0.000000, -0.434534, -0.900655> + 5914: < 0.045443, -0.434379, -0.899583> + 5915: < 0.045871, -0.479951, -0.876095> + 5916: < 0.000000, -0.434534, -0.900655> + 5917: < 0.000000, -0.389244, -0.921135> + 5918: < 0.045016, -0.389180, -0.920061> + 5919: < 0.045443, -0.434379, -0.899583> + 5920: < 0.000000, -0.389244, -0.921135> + 5921: < 0.000000, -0.344405, -0.938821> + 5922: < 0.044558, -0.344409, -0.937762> + 5923: < 0.045016, -0.389180, -0.920061> + 5924: < 0.000000, -0.344405, -0.938821> + 5925: < 0.000000, -0.300059, -0.953921> + 5926: < 0.044130, -0.300092, -0.952889> + 5927: < 0.044558, -0.344409, -0.937762> + 5928: < 0.000000, -0.300059, -0.953921> + 5929: < 0.000000, -0.256177, -0.966630> + 5930: < 0.043703, -0.256267, -0.965618> + 5931: < 0.044130, -0.300092, -0.952889> + 5932: < 0.000000, -0.256177, -0.966630> + 5933: < 0.000000, -0.212750, -0.977107> + 5934: < 0.043306, -0.212870, -0.976120> + 5935: < 0.043703, -0.256267, -0.965618> + 5936: < 0.000000, -0.212750, -0.977107> + 5937: < 0.000000, -0.169746, -0.985488> + 5938: < 0.042970, -0.169866, -0.984530> + 5939: < 0.043306, -0.212870, -0.976120> + 5940: < 0.000000, -0.169746, -0.985488> + 5941: < 0.000000, -0.127020, -0.991900> + 5942: < 0.042666, -0.127144, -0.990966> + 5943: < 0.042970, -0.169866, -0.984530> + 5944: < 0.000000, -0.127020, -0.991900> + 5945: < 0.000000, -0.084568, -0.996418> + 5946: < 0.042452, -0.084660, -0.995505> + 5947: < 0.042666, -0.127144, -0.990966> + 5948: < 0.000000, -0.084568, -0.996418> + 5949: < 0.000000, -0.042239, -0.999108> + 5950: < 0.042299, -0.042299, -0.998209> + 5951: < 0.042452, -0.084660, -0.995505> + 5952: < 0.000000, -0.042239, -0.999108> + 5953: < 0.000000, 0.000000, -1.000000> + 5954: < 0.042239, 0.000000, -0.999108> + 5955: < 0.042299, -0.042299, -0.998209> + 5956: < 0.000000, 0.000000, -1.000000> + 5957: < 0.000000, 0.042239, -0.999108> + 5958: < 0.042299, 0.042299, -0.998209> + 5959: < 0.042239, 0.000000, -0.999108> + 5960: < 0.000000, 0.042239, -0.999108> + 5961: < 0.000000, 0.084568, -0.996418> + 5962: < 0.042452, 0.084660, -0.995505> + 5963: < 0.042299, 0.042299, -0.998209> + 5964: < 0.000000, 0.084568, -0.996418> + 5965: < 0.000000, 0.127020, -0.991900> + 5966: < 0.042666, 0.127144, -0.990966> + 5967: < 0.042452, 0.084660, -0.995505> + 5968: < 0.000000, 0.127020, -0.991900> + 5969: < 0.000000, 0.169746, -0.985488> + 5970: < 0.042970, 0.169866, -0.984530> + 5971: < 0.042666, 0.127144, -0.990966> + 5972: < 0.000000, 0.169746, -0.985488> + 5973: < 0.000000, 0.212750, -0.977107> + 5974: < 0.043306, 0.212870, -0.976120> + 5975: < 0.042970, 0.169866, -0.984530> + 5976: < 0.000000, 0.212750, -0.977107> + 5977: < 0.000000, 0.256177, -0.966630> + 5978: < 0.043703, 0.256267, -0.965618> + 5979: < 0.043306, 0.212870, -0.976120> + 5980: < 0.000000, 0.256177, -0.966630> + 5981: < 0.000000, 0.300059, -0.953921> + 5982: < 0.044130, 0.300092, -0.952889> + 5983: < 0.043703, 0.256267, -0.965618> + 5984: < 0.000000, 0.300059, -0.953921> + 5985: < 0.000000, 0.344405, -0.938821> + 5986: < 0.044558, 0.344409, -0.937762> + 5987: < 0.044130, 0.300092, -0.952889> + 5988: < 0.000000, 0.344405, -0.938821> + 5989: < 0.000000, 0.389244, -0.921135> + 5990: < 0.045016, 0.389180, -0.920061> + 5991: < 0.044558, 0.344409, -0.937762> + 5992: < 0.000000, 0.389244, -0.921135> + 5993: < 0.000000, 0.434534, -0.900655> + 5994: < 0.045443, 0.434379, -0.899583> + 5995: < 0.045016, 0.389180, -0.920061> + 5996: < 0.000000, 0.434534, -0.900655> + 5997: < 0.000000, 0.480158, -0.877182> + 5998: < 0.045871, 0.479951, -0.876095> + 5999: < 0.045443, 0.434379, -0.899583> + 6000: < 0.000000, 0.480158, -0.877182> + 6001: < 0.000000, 0.526081, -0.850434> + 6002: < 0.046267, 0.525753, -0.849378> + 6003: < 0.045871, 0.479951, -0.876095> + 6004: < 0.000000, 0.526081, -0.850434> + 6005: < 0.000000, 0.572024, -0.820237> + 6006: < 0.046573, 0.571602, -0.819208> + 6007: < 0.046267, 0.525753, -0.849378> + 6008: < 0.000000, 0.572024, -0.820237> + 6009: < 0.000000, 0.617789, -0.786344> + 6010: < 0.046847, 0.617246, -0.785375> + 6011: < 0.046573, 0.571602, -0.819208> + 6012: < 0.000000, 0.617789, -0.786344> + 6013: < 0.000000, 0.663024, -0.748599> + 6014: < 0.046999, 0.662354, -0.747715> + 6015: < 0.046847, 0.617246, -0.785375> + 6016: < 0.046999, -0.662354, -0.747715> + 6017: < 0.046847, -0.617246, -0.785375> + 6018: < 0.091894, -0.615697, -0.782607> + 6019: < 0.092137, -0.660463, -0.745184> + 6020: < 0.046847, -0.617246, -0.785375> + 6021: < 0.046573, -0.571602, -0.819208> + 6022: < 0.091497, -0.570377, -0.816271> + 6023: < 0.091894, -0.615697, -0.782607> + 6024: < 0.046573, -0.571602, -0.819208> + 6025: < 0.046267, -0.525753, -0.849378> + 6026: < 0.091008, -0.524836, -0.846324> + 6027: < 0.091497, -0.570377, -0.816271> + 6028: < 0.046267, -0.525753, -0.849378> + 6029: < 0.045871, -0.479951, -0.876095> + 6030: < 0.090429, -0.479307, -0.872976> + 6031: < 0.091008, -0.524836, -0.846324> + 6032: < 0.045871, -0.479951, -0.876095> + 6033: < 0.045443, -0.434379, -0.899583> + 6034: < 0.089787, -0.433981, -0.896437> + 6035: < 0.090429, -0.479307, -0.872976> + 6036: < 0.045443, -0.434379, -0.899583> + 6037: < 0.045016, -0.389180, -0.920061> + 6038: < 0.089116, -0.388998, -0.916918> + 6039: < 0.089787, -0.433981, -0.896437> + 6040: < 0.045016, -0.389180, -0.920061> + 6041: < 0.044558, -0.344409, -0.937762> + 6042: < 0.088414, -0.344408, -0.934648> + 6043: < 0.089116, -0.388998, -0.916918> + 6044: < 0.044558, -0.344409, -0.937762> + 6045: < 0.044130, -0.300092, -0.952889> + 6046: < 0.087712, -0.300248, -0.949820> + 6047: < 0.088414, -0.344408, -0.934648> + 6048: < 0.044130, -0.300092, -0.952889> + 6049: < 0.043703, -0.256267, -0.965618> + 6050: < 0.087041, -0.256544, -0.962605> + 6051: < 0.087712, -0.300248, -0.949820> + 6052: < 0.043703, -0.256267, -0.965618> + 6053: < 0.043306, -0.212870, -0.976120> + 6054: < 0.086398, -0.213204, -0.973180> + 6055: < 0.087041, -0.256544, -0.962605> + 6056: < 0.043306, -0.212870, -0.976120> + 6057: < 0.042970, -0.169866, -0.984530> + 6058: < 0.085788, -0.170203, -0.981668> + 6059: < 0.086398, -0.213204, -0.973180> + 6060: < 0.042970, -0.169866, -0.984530> + 6061: < 0.042666, -0.127144, -0.990966> + 6062: < 0.085300, -0.127447, -0.988171> + 6063: < 0.085788, -0.170203, -0.981668> + 6064: < 0.042666, -0.127144, -0.990966> + 6065: < 0.042452, -0.084660, -0.995505> + 6066: < 0.084905, -0.084905, -0.992765> + 6067: < 0.085300, -0.127447, -0.988171> + 6068: < 0.042452, -0.084660, -0.995505> + 6069: < 0.042299, -0.042299, -0.998209> + 6070: < 0.084660, -0.042452, -0.995505> + 6071: < 0.084905, -0.084905, -0.992765> + 6072: < 0.042299, -0.042299, -0.998209> + 6073: < 0.042239, 0.000000, -0.999108> + 6074: < 0.084568, 0.000000, -0.996418> + 6075: < 0.084660, -0.042452, -0.995505> + 6076: < 0.042239, 0.000000, -0.999108> + 6077: < 0.042299, 0.042299, -0.998209> + 6078: < 0.084660, 0.042452, -0.995505> + 6079: < 0.084568, 0.000000, -0.996418> + 6080: < 0.042299, 0.042299, -0.998209> + 6081: < 0.042452, 0.084660, -0.995505> + 6082: < 0.084905, 0.084905, -0.992765> + 6083: < 0.084660, 0.042452, -0.995505> + 6084: < 0.042452, 0.084660, -0.995505> + 6085: < 0.042666, 0.127144, -0.990966> + 6086: < 0.085300, 0.127447, -0.988171> + 6087: < 0.084905, 0.084905, -0.992765> + 6088: < 0.042666, 0.127144, -0.990966> + 6089: < 0.042970, 0.169866, -0.984530> + 6090: < 0.085788, 0.170203, -0.981668> + 6091: < 0.085300, 0.127447, -0.988171> + 6092: < 0.042970, 0.169866, -0.984530> + 6093: < 0.043306, 0.212870, -0.976120> + 6094: < 0.086398, 0.213204, -0.973180> + 6095: < 0.085788, 0.170203, -0.981668> + 6096: < 0.043306, 0.212870, -0.976120> + 6097: < 0.043703, 0.256267, -0.965618> + 6098: < 0.087041, 0.256544, -0.962605> + 6099: < 0.086398, 0.213204, -0.973180> + 6100: < 0.043703, 0.256267, -0.965618> + 6101: < 0.044130, 0.300092, -0.952889> + 6102: < 0.087712, 0.300248, -0.949820> + 6103: < 0.087041, 0.256544, -0.962605> + 6104: < 0.044130, 0.300092, -0.952889> + 6105: < 0.044558, 0.344409, -0.937762> + 6106: < 0.088414, 0.344408, -0.934648> + 6107: < 0.087712, 0.300248, -0.949820> + 6108: < 0.044558, 0.344409, -0.937762> + 6109: < 0.045016, 0.389180, -0.920061> + 6110: < 0.089116, 0.388998, -0.916918> + 6111: < 0.088414, 0.344408, -0.934648> + 6112: < 0.045016, 0.389180, -0.920061> + 6113: < 0.045443, 0.434379, -0.899583> + 6114: < 0.089787, 0.433981, -0.896437> + 6115: < 0.089116, 0.388998, -0.916918> + 6116: < 0.045443, 0.434379, -0.899583> + 6117: < 0.045871, 0.479951, -0.876095> + 6118: < 0.090429, 0.479307, -0.872976> + 6119: < 0.089787, 0.433981, -0.896437> + 6120: < 0.045871, 0.479951, -0.876095> + 6121: < 0.046267, 0.525753, -0.849378> + 6122: < 0.091008, 0.524836, -0.846324> + 6123: < 0.090429, 0.479307, -0.872976> + 6124: < 0.046267, 0.525753, -0.849378> + 6125: < 0.046573, 0.571602, -0.819208> + 6126: < 0.091497, 0.570377, -0.816271> + 6127: < 0.091008, 0.524836, -0.846324> + 6128: < 0.046573, 0.571602, -0.819208> + 6129: < 0.046847, 0.617246, -0.785375> + 6130: < 0.091894, 0.615697, -0.782607> + 6131: < 0.091497, 0.570377, -0.816271> + 6132: < 0.046847, 0.617246, -0.785375> + 6133: < 0.046999, 0.662354, -0.747715> + 6134: < 0.092137, 0.660463, -0.745184> + 6135: < 0.091894, 0.615697, -0.782607> + 6136: < 0.092137, -0.660463, -0.745184> + 6137: < 0.091894, -0.615697, -0.782607> + 6138: < 0.134985, -0.613218, -0.778295> + 6139: < 0.135260, -0.657468, -0.741243> + 6140: < 0.091894, -0.615697, -0.782607> + 6141: < 0.091497, -0.570377, -0.816271> + 6142: < 0.134618, -0.568382, -0.811677> + 6143: < 0.134985, -0.613218, -0.778295> + 6144: < 0.091497, -0.570377, -0.816271> + 6145: < 0.091008, -0.524836, -0.846324> + 6146: < 0.134100, -0.523307, -0.841527> + 6147: < 0.134618, -0.568382, -0.811677> + 6148: < 0.091008, -0.524836, -0.846324> + 6149: < 0.090429, -0.479307, -0.872976> + 6150: < 0.133553, -0.478208, -0.868033> + 6151: < 0.134100, -0.523307, -0.841527> + 6152: < 0.090429, -0.479307, -0.872976> + 6153: < 0.089787, -0.433981, -0.896437> + 6154: < 0.132911, -0.433281, -0.891405> + 6155: < 0.133553, -0.478208, -0.868033> + 6156: < 0.089787, -0.433981, -0.896437> + 6157: < 0.089116, -0.388998, -0.916918> + 6158: < 0.132240, -0.388632, -0.911854> + 6159: < 0.132911, -0.433281, -0.891405> + 6160: < 0.089116, -0.388998, -0.916918> + 6161: < 0.088414, -0.344408, -0.934648> + 6162: < 0.131509, -0.344322, -0.929596> + 6163: < 0.132240, -0.388632, -0.911854> + 6164: < 0.088414, -0.344408, -0.934648> + 6165: < 0.087712, -0.300248, -0.949820> + 6166: < 0.130743, -0.300427, -0.944802> + 6167: < 0.131509, -0.344322, -0.929596> + 6168: < 0.087712, -0.300248, -0.949820> + 6169: < 0.087041, -0.256544, -0.962605> + 6170: < 0.129981, -0.256880, -0.957663> + 6171: < 0.130743, -0.300427, -0.944802> + 6172: < 0.087041, -0.256544, -0.962605> + 6173: < 0.086398, -0.213204, -0.973180> + 6174: < 0.129250, -0.213666, -0.968319> + 6175: < 0.129981, -0.256880, -0.957663> + 6176: < 0.086398, -0.213204, -0.973180> + 6177: < 0.085788, -0.170203, -0.981668> + 6178: < 0.128545, -0.170691, -0.976904> + 6179: < 0.129250, -0.213666, -0.968319> + 6180: < 0.085788, -0.170203, -0.981668> + 6181: < 0.085300, -0.127447, -0.988171> + 6182: < 0.127935, -0.127935, -0.983497> + 6183: < 0.128545, -0.170691, -0.976904> + 6184: < 0.085300, -0.127447, -0.988171> + 6185: < 0.084905, -0.084905, -0.992765> + 6186: < 0.127447, -0.085300, -0.988171> + 6187: < 0.127935, -0.127935, -0.983497> + 6188: < 0.084905, -0.084905, -0.992765> + 6189: < 0.084660, -0.042452, -0.995505> + 6190: < 0.127144, -0.042666, -0.990966> + 6191: < 0.127447, -0.085300, -0.988171> + 6192: < 0.084660, -0.042452, -0.995505> + 6193: < 0.084568, 0.000000, -0.996418> + 6194: < 0.127020, 0.000000, -0.991900> + 6195: < 0.127144, -0.042666, -0.990966> + 6196: < 0.084568, 0.000000, -0.996418> + 6197: < 0.084660, 0.042452, -0.995505> + 6198: < 0.127144, 0.042666, -0.990966> + 6199: < 0.127020, 0.000000, -0.991900> + 6200: < 0.084660, 0.042452, -0.995505> + 6201: < 0.084905, 0.084905, -0.992765> + 6202: < 0.127447, 0.085300, -0.988171> + 6203: < 0.127144, 0.042666, -0.990966> + 6204: < 0.084905, 0.084905, -0.992765> + 6205: < 0.085300, 0.127447, -0.988171> + 6206: < 0.127935, 0.127935, -0.983497> + 6207: < 0.127447, 0.085300, -0.988171> + 6208: < 0.085300, 0.127447, -0.988171> + 6209: < 0.085788, 0.170203, -0.981668> + 6210: < 0.128545, 0.170691, -0.976904> + 6211: < 0.127935, 0.127935, -0.983497> + 6212: < 0.085788, 0.170203, -0.981668> + 6213: < 0.086398, 0.213204, -0.973180> + 6214: < 0.129250, 0.213666, -0.968319> + 6215: < 0.128545, 0.170691, -0.976904> + 6216: < 0.086398, 0.213204, -0.973180> + 6217: < 0.087041, 0.256544, -0.962605> + 6218: < 0.129981, 0.256880, -0.957663> + 6219: < 0.129250, 0.213666, -0.968319> + 6220: < 0.087041, 0.256544, -0.962605> + 6221: < 0.087712, 0.300248, -0.949820> + 6222: < 0.130743, 0.300427, -0.944802> + 6223: < 0.129981, 0.256880, -0.957663> + 6224: < 0.087712, 0.300248, -0.949820> + 6225: < 0.088414, 0.344408, -0.934648> + 6226: < 0.131509, 0.344322, -0.929596> + 6227: < 0.130743, 0.300427, -0.944802> + 6228: < 0.088414, 0.344408, -0.934648> + 6229: < 0.089116, 0.388998, -0.916918> + 6230: < 0.132240, 0.388632, -0.911854> + 6231: < 0.131509, 0.344322, -0.929596> + 6232: < 0.089116, 0.388998, -0.916918> + 6233: < 0.089787, 0.433981, -0.896437> + 6234: < 0.132911, 0.433281, -0.891405> + 6235: < 0.132240, 0.388632, -0.911854> + 6236: < 0.089787, 0.433981, -0.896437> + 6237: < 0.090429, 0.479307, -0.872976> + 6238: < 0.133553, 0.478208, -0.868033> + 6239: < 0.132911, 0.433281, -0.891405> + 6240: < 0.090429, 0.479307, -0.872976> + 6241: < 0.091008, 0.524836, -0.846324> + 6242: < 0.134100, 0.523307, -0.841527> + 6243: < 0.133553, 0.478208, -0.868033> + 6244: < 0.091008, 0.524836, -0.846324> + 6245: < 0.091497, 0.570377, -0.816271> + 6246: < 0.134618, 0.568382, -0.811677> + 6247: < 0.134100, 0.523307, -0.841527> + 6248: < 0.091497, 0.570377, -0.816271> + 6249: < 0.091894, 0.615697, -0.782607> + 6250: < 0.135015, 0.613215, -0.778292> + 6251: < 0.134618, 0.568382, -0.811677> + 6252: < 0.091894, 0.615697, -0.782607> + 6253: < 0.092137, 0.660463, -0.745184> + 6254: < 0.135260, 0.657468, -0.741243> + 6255: < 0.135015, 0.613215, -0.778292> + 6256: < 0.135260, -0.657468, -0.741243> + 6257: < 0.134985, -0.613218, -0.778295> + 6258: < 0.176461, -0.609892, -0.772589> + 6259: < 0.176644, -0.653502, -0.736025> + 6260: < 0.134985, -0.613218, -0.778295> + 6261: < 0.134618, -0.568382, -0.811677> + 6262: < 0.176188, -0.565675, -0.805587> + 6263: < 0.176461, -0.609892, -0.772589> + 6264: < 0.134618, -0.568382, -0.811677> + 6265: < 0.134100, -0.523307, -0.841527> + 6266: < 0.175853, -0.521180, -0.835133> + 6267: < 0.176188, -0.565675, -0.805587> + 6268: < 0.134100, -0.523307, -0.841527> + 6269: < 0.133553, -0.478208, -0.868033> + 6270: < 0.175453, -0.476614, -0.861426> + 6271: < 0.175853, -0.521180, -0.835133> + 6272: < 0.133553, -0.478208, -0.868033> + 6273: < 0.132911, -0.433281, -0.891405> + 6274: < 0.175026, -0.432149, -0.884654> + 6275: < 0.175453, -0.476614, -0.861426> + 6276: < 0.132911, -0.433281, -0.891405> + 6277: < 0.132240, -0.388632, -0.911854> + 6278: < 0.174541, -0.387965, -0.904997> + 6279: < 0.175026, -0.432149, -0.884654> + 6280: < 0.132240, -0.388632, -0.911854> + 6281: < 0.131509, -0.344322, -0.929596> + 6282: < 0.173989, -0.344072, -0.922682> + 6283: < 0.174541, -0.387965, -0.904997> + 6284: < 0.131509, -0.344322, -0.929596> + 6285: < 0.130743, -0.300427, -0.944802> + 6286: < 0.173351, -0.300496, -0.937897> + 6287: < 0.173989, -0.344072, -0.922682> + 6288: < 0.130743, -0.300427, -0.944802> + 6289: < 0.129981, -0.256880, -0.957663> + 6290: < 0.172679, -0.257217, -0.950800> + 6291: < 0.173351, -0.300496, -0.937897> + 6292: < 0.129981, -0.256880, -0.957663> + 6293: < 0.129250, -0.213666, -0.968319> + 6294: < 0.172005, -0.214182, -0.961530> + 6295: < 0.172679, -0.257217, -0.950800> + 6296: < 0.129250, -0.213666, -0.968319> + 6297: < 0.128545, -0.170691, -0.976904> + 6298: < 0.171305, -0.171305, -0.970211> + 6299: < 0.172005, -0.214182, -0.961530> + 6300: < 0.128545, -0.170691, -0.976904> + 6301: < 0.127935, -0.127935, -0.983497> + 6302: < 0.170691, -0.128545, -0.976904> + 6303: < 0.171305, -0.171305, -0.970211> + 6304: < 0.127935, -0.127935, -0.983497> + 6305: < 0.127447, -0.085300, -0.988171> + 6306: < 0.170203, -0.085788, -0.981668> + 6307: < 0.170691, -0.128545, -0.976904> + 6308: < 0.127447, -0.085300, -0.988171> + 6309: < 0.127144, -0.042666, -0.990966> + 6310: < 0.169837, -0.042970, -0.984535> + 6311: < 0.170203, -0.085788, -0.981668> + 6312: < 0.127144, -0.042666, -0.990966> + 6313: < 0.127020, 0.000000, -0.991900> + 6314: < 0.169746, 0.000000, -0.985488> + 6315: < 0.169837, -0.042970, -0.984535> + 6316: < 0.127020, 0.000000, -0.991900> + 6317: < 0.127144, 0.042666, -0.990966> + 6318: < 0.169866, 0.042970, -0.984530> + 6319: < 0.169746, 0.000000, -0.985488> + 6320: < 0.127144, 0.042666, -0.990966> + 6321: < 0.127447, 0.085300, -0.988171> + 6322: < 0.170203, 0.085788, -0.981668> + 6323: < 0.169866, 0.042970, -0.984530> + 6324: < 0.127447, 0.085300, -0.988171> + 6325: < 0.127935, 0.127935, -0.983497> + 6326: < 0.170691, 0.128545, -0.976904> + 6327: < 0.170203, 0.085788, -0.981668> + 6328: < 0.127935, 0.127935, -0.983497> + 6329: < 0.128545, 0.170691, -0.976904> + 6330: < 0.171305, 0.171305, -0.970211> + 6331: < 0.170691, 0.128545, -0.976904> + 6332: < 0.128545, 0.170691, -0.976904> + 6333: < 0.129250, 0.213666, -0.968319> + 6334: < 0.172005, 0.214182, -0.961530> + 6335: < 0.171305, 0.171305, -0.970211> + 6336: < 0.129250, 0.213666, -0.968319> + 6337: < 0.129981, 0.256880, -0.957663> + 6338: < 0.172679, 0.257217, -0.950800> + 6339: < 0.172005, 0.214182, -0.961530> + 6340: < 0.129981, 0.256880, -0.957663> + 6341: < 0.130743, 0.300427, -0.944802> + 6342: < 0.173351, 0.300496, -0.937897> + 6343: < 0.172679, 0.257217, -0.950800> + 6344: < 0.130743, 0.300427, -0.944802> + 6345: < 0.131509, 0.344322, -0.929596> + 6346: < 0.173989, 0.344072, -0.922682> + 6347: < 0.173351, 0.300496, -0.937897> + 6348: < 0.131509, 0.344322, -0.929596> + 6349: < 0.132240, 0.388632, -0.911854> + 6350: < 0.174541, 0.387965, -0.904997> + 6351: < 0.173989, 0.344072, -0.922682> + 6352: < 0.132240, 0.388632, -0.911854> + 6353: < 0.132911, 0.433281, -0.891405> + 6354: < 0.175026, 0.432149, -0.884654> + 6355: < 0.174541, 0.387965, -0.904997> + 6356: < 0.132911, 0.433281, -0.891405> + 6357: < 0.133553, 0.478208, -0.868033> + 6358: < 0.175453, 0.476614, -0.861426> + 6359: < 0.175026, 0.432149, -0.884654> + 6360: < 0.133553, 0.478208, -0.868033> + 6361: < 0.134100, 0.523307, -0.841527> + 6362: < 0.175853, 0.521180, -0.835133> + 6363: < 0.175453, 0.476614, -0.861426> + 6364: < 0.134100, 0.523307, -0.841527> + 6365: < 0.134618, 0.568382, -0.811677> + 6366: < 0.176188, 0.565675, -0.805587> + 6367: < 0.175853, 0.521180, -0.835133> + 6368: < 0.134618, 0.568382, -0.811677> + 6369: < 0.135015, 0.613215, -0.778292> + 6370: < 0.176461, 0.609892, -0.772589> + 6371: < 0.176188, 0.565675, -0.805587> + 6372: < 0.135015, 0.613215, -0.778292> + 6373: < 0.135260, 0.657468, -0.741243> + 6374: < 0.176644, 0.653502, -0.736025> + 6375: < 0.176461, 0.609892, -0.772589> + 6376: < 0.176644, -0.653502, -0.736025> + 6377: < 0.176461, -0.609892, -0.772589> + 6378: < 0.216596, -0.605748, -0.765608> + 6379: < 0.216660, -0.648606, -0.729636> + 6380: < 0.176461, -0.609892, -0.772589> + 6381: < 0.176188, -0.565675, -0.805587> + 6382: < 0.216534, -0.562257, -0.798110> + 6383: < 0.216596, -0.605748, -0.765608> + 6384: < 0.176188, -0.565675, -0.805587> + 6385: < 0.175853, -0.521180, -0.835133> + 6386: < 0.216475, -0.518435, -0.827263> + 6387: < 0.216534, -0.562257, -0.798110> + 6388: < 0.175853, -0.521180, -0.835133> + 6389: < 0.175453, -0.476614, -0.861426> + 6390: < 0.216413, -0.474515, -0.853230> + 6391: < 0.216475, -0.518435, -0.827263> + 6392: < 0.175453, -0.476614, -0.861426> + 6393: < 0.175026, -0.432149, -0.884654> + 6394: < 0.216320, -0.430657, -0.876208> + 6395: < 0.216413, -0.474515, -0.853230> + 6396: < 0.175026, -0.432149, -0.884654> + 6397: < 0.174541, -0.387965, -0.904997> + 6398: < 0.216199, -0.386985, -0.896382> + 6399: < 0.216320, -0.430657, -0.876208> + 6400: < 0.174541, -0.387965, -0.904997> + 6401: < 0.173989, -0.344072, -0.922682> + 6402: < 0.215982, -0.343582, -0.913949> + 6403: < 0.216199, -0.386985, -0.896382> + 6404: < 0.173989, -0.344072, -0.922682> + 6405: < 0.173351, -0.300496, -0.937897> + 6406: < 0.215649, -0.300461, -0.929096> + 6407: < 0.215982, -0.343582, -0.913949> + 6408: < 0.173351, -0.300496, -0.937897> + 6409: < 0.172679, -0.257217, -0.950800> + 6410: < 0.215220, -0.257519, -0.942000> + 6411: < 0.215649, -0.300461, -0.929096> + 6412: < 0.172679, -0.257217, -0.950800> + 6413: < 0.172005, -0.214182, -0.961530> + 6414: < 0.214732, -0.214732, -0.952775> + 6415: < 0.215220, -0.257519, -0.942000> + 6416: < 0.172005, -0.214182, -0.961530> + 6417: < 0.171305, -0.171305, -0.970211> + 6418: < 0.214182, -0.172005, -0.961530> + 6419: < 0.214732, -0.214732, -0.952775> + 6420: < 0.171305, -0.171305, -0.970211> + 6421: < 0.170691, -0.128545, -0.976904> + 6422: < 0.213666, -0.129250, -0.968319> + 6423: < 0.214182, -0.172005, -0.961530> + 6424: < 0.170691, -0.128545, -0.976904> + 6425: < 0.170203, -0.085788, -0.981668> + 6426: < 0.213204, -0.086398, -0.973180> + 6427: < 0.213666, -0.129250, -0.968319> + 6428: < 0.170203, -0.085788, -0.981668> + 6429: < 0.169837, -0.042970, -0.984535> + 6430: < 0.212870, -0.043306, -0.976120> + 6431: < 0.213204, -0.086398, -0.973180> + 6432: < 0.169837, -0.042970, -0.984535> + 6433: < 0.169746, 0.000000, -0.985488> + 6434: < 0.212750, 0.000000, -0.977107> + 6435: < 0.212870, -0.043306, -0.976120> + 6436: < 0.169746, 0.000000, -0.985488> + 6437: < 0.169866, 0.042970, -0.984530> + 6438: < 0.212870, 0.043306, -0.976120> + 6439: < 0.212750, 0.000000, -0.977107> + 6440: < 0.169866, 0.042970, -0.984530> + 6441: < 0.170203, 0.085788, -0.981668> + 6442: < 0.213204, 0.086398, -0.973180> + 6443: < 0.212870, 0.043306, -0.976120> + 6444: < 0.170203, 0.085788, -0.981668> + 6445: < 0.170691, 0.128545, -0.976904> + 6446: < 0.213666, 0.129250, -0.968319> + 6447: < 0.213204, 0.086398, -0.973180> + 6448: < 0.170691, 0.128545, -0.976904> + 6449: < 0.171305, 0.171305, -0.970211> + 6450: < 0.214182, 0.172005, -0.961530> + 6451: < 0.213666, 0.129250, -0.968319> + 6452: < 0.171305, 0.171305, -0.970211> + 6453: < 0.172005, 0.214182, -0.961530> + 6454: < 0.214732, 0.214732, -0.952775> + 6455: < 0.214182, 0.172005, -0.961530> + 6456: < 0.172005, 0.214182, -0.961530> + 6457: < 0.172679, 0.257217, -0.950800> + 6458: < 0.215220, 0.257519, -0.942000> + 6459: < 0.214732, 0.214732, -0.952775> + 6460: < 0.172679, 0.257217, -0.950800> + 6461: < 0.173351, 0.300496, -0.937897> + 6462: < 0.215649, 0.300461, -0.929096> + 6463: < 0.215220, 0.257519, -0.942000> + 6464: < 0.173351, 0.300496, -0.937897> + 6465: < 0.173989, 0.344072, -0.922682> + 6466: < 0.215982, 0.343582, -0.913949> + 6467: < 0.215649, 0.300461, -0.929096> + 6468: < 0.173989, 0.344072, -0.922682> + 6469: < 0.174541, 0.387965, -0.904997> + 6470: < 0.216199, 0.386985, -0.896382> + 6471: < 0.215982, 0.343582, -0.913949> + 6472: < 0.174541, 0.387965, -0.904997> + 6473: < 0.175026, 0.432149, -0.884654> + 6474: < 0.216320, 0.430657, -0.876208> + 6475: < 0.216199, 0.386985, -0.896382> + 6476: < 0.175026, 0.432149, -0.884654> + 6477: < 0.175453, 0.476614, -0.861426> + 6478: < 0.216413, 0.474515, -0.853230> + 6479: < 0.216320, 0.430657, -0.876208> + 6480: < 0.175453, 0.476614, -0.861426> + 6481: < 0.175853, 0.521180, -0.835133> + 6482: < 0.216475, 0.518435, -0.827263> + 6483: < 0.216413, 0.474515, -0.853230> + 6484: < 0.175853, 0.521180, -0.835133> + 6485: < 0.176188, 0.565675, -0.805587> + 6486: < 0.216534, 0.562257, -0.798110> + 6487: < 0.216475, 0.518435, -0.827263> + 6488: < 0.176188, 0.565675, -0.805587> + 6489: < 0.176461, 0.609892, -0.772589> + 6490: < 0.216596, 0.605748, -0.765608> + 6491: < 0.216534, 0.562257, -0.798110> + 6492: < 0.176461, 0.609892, -0.772589> + 6493: < 0.176644, 0.653502, -0.736025> + 6494: < 0.216660, 0.648606, -0.729636> + 6495: < 0.216596, 0.605748, -0.765608> + 6496: < 0.216660, -0.648606, -0.729636> + 6497: < 0.216596, -0.605748, -0.765608> + 6498: < 0.255750, -0.600829, -0.757361> + 6499: < 0.255632, -0.642833, -0.722093> + 6500: < 0.216596, -0.605748, -0.765608> + 6501: < 0.216534, -0.562257, -0.798110> + 6502: < 0.255937, -0.558172, -0.789266> + 6503: < 0.255750, -0.600829, -0.757361> + 6504: < 0.216534, -0.562257, -0.798110> + 6505: < 0.216475, -0.518435, -0.827263> + 6506: < 0.256243, -0.515110, -0.817925> + 6507: < 0.255937, -0.558172, -0.789266> + 6508: < 0.216475, -0.518435, -0.827263> + 6509: < 0.216413, -0.474515, -0.853230> + 6510: < 0.256606, -0.471888, -0.843490> + 6511: < 0.256243, -0.515110, -0.817925> + 6512: < 0.216413, -0.474515, -0.853230> + 6513: < 0.216320, -0.430657, -0.876208> + 6514: < 0.256999, -0.428698, -0.866124> + 6515: < 0.256606, -0.471888, -0.843490> + 6516: < 0.216320, -0.430657, -0.876208> + 6517: < 0.216199, -0.386985, -0.896382> + 6518: < 0.257364, -0.385664, -0.886018> + 6519: < 0.256999, -0.428698, -0.866124> + 6520: < 0.216199, -0.386985, -0.896382> + 6521: < 0.215982, -0.343582, -0.913949> + 6522: < 0.257643, -0.342852, -0.903367> + 6523: < 0.257364, -0.385664, -0.886018> + 6524: < 0.215982, -0.343582, -0.913949> + 6525: < 0.215649, -0.300461, -0.929096> + 6526: < 0.257736, -0.300219, -0.918390> + 6527: < 0.257643, -0.342852, -0.903367> + 6528: < 0.215649, -0.300461, -0.929096> + 6529: < 0.215220, -0.257519, -0.942000> + 6530: < 0.257702, -0.257702, -0.931225> + 6531: < 0.257736, -0.300219, -0.918390> + 6532: < 0.215220, -0.257519, -0.942000> + 6533: < 0.214732, -0.214732, -0.952775> + 6534: < 0.257519, -0.215220, -0.942000> + 6535: < 0.257702, -0.257702, -0.931225> + 6536: < 0.214732, -0.214732, -0.952775> + 6537: < 0.214182, -0.172005, -0.961530> + 6538: < 0.257217, -0.172679, -0.950800> + 6539: < 0.257519, -0.215220, -0.942000> + 6540: < 0.214182, -0.172005, -0.961530> + 6541: < 0.213666, -0.129250, -0.968319> + 6542: < 0.256880, -0.129981, -0.957663> + 6543: < 0.257217, -0.172679, -0.950800> + 6544: < 0.213666, -0.129250, -0.968319> + 6545: < 0.213204, -0.086398, -0.973180> + 6546: < 0.256544, -0.087041, -0.962605> + 6547: < 0.256880, -0.129981, -0.957663> + 6548: < 0.213204, -0.086398, -0.973180> + 6549: < 0.212870, -0.043306, -0.976120> + 6550: < 0.256267, -0.043703, -0.965618> + 6551: < 0.256544, -0.087041, -0.962605> + 6552: < 0.212870, -0.043306, -0.976120> + 6553: < 0.212750, 0.000000, -0.977107> + 6554: < 0.256177, 0.000000, -0.966630> + 6555: < 0.256267, -0.043703, -0.965618> + 6556: < 0.212750, 0.000000, -0.977107> + 6557: < 0.212870, 0.043306, -0.976120> + 6558: < 0.256267, 0.043703, -0.965618> + 6559: < 0.256177, 0.000000, -0.966630> + 6560: < 0.212870, 0.043306, -0.976120> + 6561: < 0.213204, 0.086398, -0.973180> + 6562: < 0.256544, 0.087041, -0.962605> + 6563: < 0.256267, 0.043703, -0.965618> + 6564: < 0.213204, 0.086398, -0.973180> + 6565: < 0.213666, 0.129250, -0.968319> + 6566: < 0.256880, 0.129981, -0.957663> + 6567: < 0.256544, 0.087041, -0.962605> + 6568: < 0.213666, 0.129250, -0.968319> + 6569: < 0.214182, 0.172005, -0.961530> + 6570: < 0.257217, 0.172679, -0.950800> + 6571: < 0.256880, 0.129981, -0.957663> + 6572: < 0.214182, 0.172005, -0.961530> + 6573: < 0.214732, 0.214732, -0.952775> + 6574: < 0.257519, 0.215220, -0.942000> + 6575: < 0.257217, 0.172679, -0.950800> + 6576: < 0.214732, 0.214732, -0.952775> + 6577: < 0.215220, 0.257519, -0.942000> + 6578: < 0.257702, 0.257702, -0.931225> + 6579: < 0.257519, 0.215220, -0.942000> + 6580: < 0.215220, 0.257519, -0.942000> + 6581: < 0.215649, 0.300461, -0.929096> + 6582: < 0.257736, 0.300219, -0.918390> + 6583: < 0.257702, 0.257702, -0.931225> + 6584: < 0.215649, 0.300461, -0.929096> + 6585: < 0.215982, 0.343582, -0.913949> + 6586: < 0.257643, 0.342852, -0.903367> + 6587: < 0.257736, 0.300219, -0.918390> + 6588: < 0.215982, 0.343582, -0.913949> + 6589: < 0.216199, 0.386985, -0.896382> + 6590: < 0.257367, 0.385638, -0.886028> + 6591: < 0.257643, 0.342852, -0.903367> + 6592: < 0.216199, 0.386985, -0.896382> + 6593: < 0.216320, 0.430657, -0.876208> + 6594: < 0.256999, 0.428698, -0.866124> + 6595: < 0.257367, 0.385638, -0.886028> + 6596: < 0.216320, 0.430657, -0.876208> + 6597: < 0.216413, 0.474515, -0.853230> + 6598: < 0.256606, 0.471888, -0.843490> + 6599: < 0.256999, 0.428698, -0.866124> + 6600: < 0.216413, 0.474515, -0.853230> + 6601: < 0.216475, 0.518435, -0.827263> + 6602: < 0.256243, 0.515110, -0.817925> + 6603: < 0.256606, 0.471888, -0.843490> + 6604: < 0.216475, 0.518435, -0.827263> + 6605: < 0.216534, 0.562257, -0.798110> + 6606: < 0.255937, 0.558172, -0.789266> + 6607: < 0.256243, 0.515110, -0.817925> + 6608: < 0.216534, 0.562257, -0.798110> + 6609: < 0.216596, 0.605748, -0.765608> + 6610: < 0.255750, 0.600829, -0.757361> + 6611: < 0.255937, 0.558172, -0.789266> + 6612: < 0.216596, 0.605748, -0.765608> + 6613: < 0.216660, 0.648606, -0.729636> + 6614: < 0.255632, 0.642833, -0.722093> + 6615: < 0.255750, 0.600829, -0.757361> + 6616: < 0.255632, -0.642833, -0.722093> + 6617: < 0.255750, -0.600829, -0.757361> + 6618: < 0.294207, -0.595158, -0.747816> + 6619: < 0.293904, -0.636150, -0.713396> + 6620: < 0.255750, -0.600829, -0.757361> + 6621: < 0.255937, -0.558172, -0.789266> + 6622: < 0.294729, -0.553415, -0.779017> + 6623: < 0.294207, -0.595158, -0.747816> + 6624: < 0.255937, -0.558172, -0.789266> + 6625: < 0.256243, -0.515110, -0.817925> + 6626: < 0.295457, -0.511198, -0.807082> + 6627: < 0.294729, -0.553415, -0.779017> + 6628: < 0.256243, -0.515110, -0.817925> + 6629: < 0.256606, -0.471888, -0.843490> + 6630: < 0.296339, -0.468770, -0.832128> + 6631: < 0.295457, -0.511198, -0.807082> + 6632: < 0.256606, -0.471888, -0.843490> + 6633: < 0.256999, -0.428698, -0.866124> + 6634: < 0.297287, -0.426323, -0.854324> + 6635: < 0.296339, -0.468770, -0.832128> + 6636: < 0.256999, -0.428698, -0.866124> + 6637: < 0.257364, -0.385664, -0.886018> + 6638: < 0.298259, -0.383986, -0.873840> + 6639: < 0.297287, -0.426323, -0.854324> + 6640: < 0.257364, -0.385664, -0.886018> + 6641: < 0.257643, -0.342852, -0.903367> + 6642: < 0.299085, -0.341811, -0.890906> + 6643: < 0.298259, -0.383986, -0.873840> + 6644: < 0.257643, -0.342852, -0.903367> + 6645: < 0.257736, -0.300219, -0.918390> + 6646: < 0.299762, -0.299762, -0.905696> + 6647: < 0.299085, -0.341811, -0.890906> + 6648: < 0.257736, -0.300219, -0.918390> + 6649: < 0.257702, -0.257702, -0.931225> + 6650: < 0.300219, -0.257736, -0.918390> + 6651: < 0.299762, -0.299762, -0.905696> + 6652: < 0.257702, -0.257702, -0.931225> + 6653: < 0.257519, -0.215220, -0.942000> + 6654: < 0.300461, -0.215649, -0.929096> + 6655: < 0.300219, -0.257736, -0.918390> + 6656: < 0.257519, -0.215220, -0.942000> + 6657: < 0.257217, -0.172679, -0.950800> + 6658: < 0.300496, -0.173351, -0.937897> + 6659: < 0.300461, -0.215649, -0.929096> + 6660: < 0.257217, -0.172679, -0.950800> + 6661: < 0.256880, -0.129981, -0.957663> + 6662: < 0.300427, -0.130743, -0.944802> + 6663: < 0.300496, -0.173351, -0.937897> + 6664: < 0.256880, -0.129981, -0.957663> + 6665: < 0.256544, -0.087041, -0.962605> + 6666: < 0.300248, -0.087712, -0.949820> + 6667: < 0.300427, -0.130743, -0.944802> + 6668: < 0.256544, -0.087041, -0.962605> + 6669: < 0.256267, -0.043703, -0.965618> + 6670: < 0.300092, -0.044130, -0.952889> + 6671: < 0.300248, -0.087712, -0.949820> + 6672: < 0.256267, -0.043703, -0.965618> + 6673: < 0.256177, 0.000000, -0.966630> + 6674: < 0.300059, 0.000000, -0.953921> + 6675: < 0.300092, -0.044130, -0.952889> + 6676: < 0.256177, 0.000000, -0.966630> + 6677: < 0.256267, 0.043703, -0.965618> + 6678: < 0.300092, 0.044130, -0.952889> + 6679: < 0.300059, 0.000000, -0.953921> + 6680: < 0.256267, 0.043703, -0.965618> + 6681: < 0.256544, 0.087041, -0.962605> + 6682: < 0.300248, 0.087712, -0.949820> + 6683: < 0.300092, 0.044130, -0.952889> + 6684: < 0.256544, 0.087041, -0.962605> + 6685: < 0.256880, 0.129981, -0.957663> + 6686: < 0.300427, 0.130743, -0.944802> + 6687: < 0.300248, 0.087712, -0.949820> + 6688: < 0.256880, 0.129981, -0.957663> + 6689: < 0.257217, 0.172679, -0.950800> + 6690: < 0.300496, 0.173351, -0.937897> + 6691: < 0.300427, 0.130743, -0.944802> + 6692: < 0.257217, 0.172679, -0.950800> + 6693: < 0.257519, 0.215220, -0.942000> + 6694: < 0.300461, 0.215649, -0.929096> + 6695: < 0.300496, 0.173351, -0.937897> + 6696: < 0.257519, 0.215220, -0.942000> + 6697: < 0.257702, 0.257702, -0.931225> + 6698: < 0.300219, 0.257736, -0.918390> + 6699: < 0.300461, 0.215649, -0.929096> + 6700: < 0.257702, 0.257702, -0.931225> + 6701: < 0.257736, 0.300219, -0.918390> + 6702: < 0.299762, 0.299762, -0.905696> + 6703: < 0.300219, 0.257736, -0.918390> + 6704: < 0.257736, 0.300219, -0.918390> + 6705: < 0.257643, 0.342852, -0.903367> + 6706: < 0.299085, 0.341811, -0.890906> + 6707: < 0.299762, 0.299762, -0.905696> + 6708: < 0.257643, 0.342852, -0.903367> + 6709: < 0.257367, 0.385638, -0.886028> + 6710: < 0.298262, 0.383960, -0.873851> + 6711: < 0.299085, 0.341811, -0.890906> + 6712: < 0.257367, 0.385638, -0.886028> + 6713: < 0.256999, 0.428698, -0.866124> + 6714: < 0.297287, 0.426323, -0.854324> + 6715: < 0.298262, 0.383960, -0.873851> + 6716: < 0.256999, 0.428698, -0.866124> + 6717: < 0.256606, 0.471888, -0.843490> + 6718: < 0.296339, 0.468770, -0.832128> + 6719: < 0.297287, 0.426323, -0.854324> + 6720: < 0.256606, 0.471888, -0.843490> + 6721: < 0.256243, 0.515110, -0.817925> + 6722: < 0.295457, 0.511198, -0.807082> + 6723: < 0.296339, 0.468770, -0.832128> + 6724: < 0.256243, 0.515110, -0.817925> + 6725: < 0.255937, 0.558172, -0.789266> + 6726: < 0.294729, 0.553415, -0.779017> + 6727: < 0.295457, 0.511198, -0.807082> + 6728: < 0.255937, 0.558172, -0.789266> + 6729: < 0.255750, 0.600829, -0.757361> + 6730: < 0.294207, 0.595158, -0.747816> + 6731: < 0.294729, 0.553415, -0.779017> + 6732: < 0.255750, 0.600829, -0.757361> + 6733: < 0.255632, 0.642833, -0.722093> + 6734: < 0.293904, 0.636150, -0.713396> + 6735: < 0.294207, 0.595158, -0.747816> + 6736: < 0.293904, -0.636150, -0.713396> + 6737: < 0.294207, -0.595158, -0.747816> + 6738: < 0.332170, -0.588744, -0.736915> + 6739: < 0.331652, -0.628603, -0.703467> + 6740: < 0.294207, -0.595158, -0.747816> + 6741: < 0.294729, -0.553415, -0.779017> + 6742: < 0.333090, -0.548009, -0.767292> + 6743: < 0.332170, -0.588744, -0.736915> + 6744: < 0.294729, -0.553415, -0.779017> + 6745: < 0.295457, -0.511198, -0.807082> + 6746: < 0.334337, -0.506740, -0.794627> + 6747: < 0.333090, -0.548009, -0.767292> + 6748: < 0.295457, -0.511198, -0.807082> + 6749: < 0.296339, -0.468770, -0.832128> + 6750: < 0.335801, -0.465202, -0.819039> + 6751: < 0.334337, -0.506740, -0.794627> + 6752: < 0.296339, -0.468770, -0.832128> + 6753: < 0.297287, -0.426323, -0.854324> + 6754: < 0.337391, -0.423577, -0.840684> + 6755: < 0.335801, -0.465202, -0.819039> + 6756: < 0.297287, -0.426323, -0.854324> + 6757: < 0.298259, -0.383986, -0.873840> + 6758: < 0.339005, -0.381976, -0.859750> + 6759: < 0.337391, -0.423577, -0.840684> + 6760: < 0.298259, -0.383986, -0.873840> + 6761: < 0.299085, -0.341811, -0.890906> + 6762: < 0.340503, -0.340503, -0.876422> + 6763: < 0.339005, -0.381976, -0.859750> + 6764: < 0.299085, -0.341811, -0.890906> + 6765: < 0.299762, -0.299762, -0.905696> + 6766: < 0.341811, -0.299085, -0.890906> + 6767: < 0.340503, -0.340503, -0.876422> + 6768: < 0.299762, -0.299762, -0.905696> + 6769: < 0.300219, -0.257736, -0.918390> + 6770: < 0.342852, -0.257643, -0.903367> + 6771: < 0.341811, -0.299085, -0.890906> + 6772: < 0.300219, -0.257736, -0.918390> + 6773: < 0.300461, -0.215649, -0.929096> + 6774: < 0.343582, -0.215982, -0.913949> + 6775: < 0.342852, -0.257643, -0.903367> + 6776: < 0.300461, -0.215649, -0.929096> + 6777: < 0.300496, -0.173351, -0.937897> + 6778: < 0.344072, -0.173989, -0.922682> + 6779: < 0.343582, -0.215982, -0.913949> + 6780: < 0.300496, -0.173351, -0.937897> + 6781: < 0.300427, -0.130743, -0.944802> + 6782: < 0.344322, -0.131509, -0.929596> + 6783: < 0.344072, -0.173989, -0.922682> + 6784: < 0.300427, -0.130743, -0.944802> + 6785: < 0.300248, -0.087712, -0.949820> + 6786: < 0.344408, -0.088414, -0.934648> + 6787: < 0.344322, -0.131509, -0.929596> + 6788: < 0.300248, -0.087712, -0.949820> + 6789: < 0.300092, -0.044130, -0.952889> + 6790: < 0.344409, -0.044558, -0.937762> + 6791: < 0.344408, -0.088414, -0.934648> + 6792: < 0.300092, -0.044130, -0.952889> + 6793: < 0.300059, 0.000000, -0.953921> + 6794: < 0.344405, 0.000000, -0.938821> + 6795: < 0.344409, -0.044558, -0.937762> + 6796: < 0.300059, 0.000000, -0.953921> + 6797: < 0.300092, 0.044130, -0.952889> + 6798: < 0.344409, 0.044558, -0.937762> + 6799: < 0.344405, 0.000000, -0.938821> + 6800: < 0.300092, 0.044130, -0.952889> + 6801: < 0.300248, 0.087712, -0.949820> + 6802: < 0.344408, 0.088414, -0.934648> + 6803: < 0.344409, 0.044558, -0.937762> + 6804: < 0.300248, 0.087712, -0.949820> + 6805: < 0.300427, 0.130743, -0.944802> + 6806: < 0.344322, 0.131509, -0.929596> + 6807: < 0.344408, 0.088414, -0.934648> + 6808: < 0.300427, 0.130743, -0.944802> + 6809: < 0.300496, 0.173351, -0.937897> + 6810: < 0.344072, 0.173989, -0.922682> + 6811: < 0.344322, 0.131509, -0.929596> + 6812: < 0.300496, 0.173351, -0.937897> + 6813: < 0.300461, 0.215649, -0.929096> + 6814: < 0.343582, 0.215982, -0.913949> + 6815: < 0.344072, 0.173989, -0.922682> + 6816: < 0.300461, 0.215649, -0.929096> + 6817: < 0.300219, 0.257736, -0.918390> + 6818: < 0.342852, 0.257643, -0.903367> + 6819: < 0.343582, 0.215982, -0.913949> + 6820: < 0.300219, 0.257736, -0.918390> + 6821: < 0.299762, 0.299762, -0.905696> + 6822: < 0.341811, 0.299085, -0.890906> + 6823: < 0.342852, 0.257643, -0.903367> + 6824: < 0.299762, 0.299762, -0.905696> + 6825: < 0.299085, 0.341811, -0.890906> + 6826: < 0.340503, 0.340503, -0.876422> + 6827: < 0.341811, 0.299085, -0.890906> + 6828: < 0.299085, 0.341811, -0.890906> + 6829: < 0.298262, 0.383960, -0.873851> + 6830: < 0.339005, 0.381976, -0.859750> + 6831: < 0.340503, 0.340503, -0.876422> + 6832: < 0.298262, 0.383960, -0.873851> + 6833: < 0.297287, 0.426323, -0.854324> + 6834: < 0.337391, 0.423577, -0.840684> + 6835: < 0.339005, 0.381976, -0.859750> + 6836: < 0.297287, 0.426323, -0.854324> + 6837: < 0.296339, 0.468770, -0.832128> + 6838: < 0.335801, 0.465202, -0.819039> + 6839: < 0.337391, 0.423577, -0.840684> + 6840: < 0.296339, 0.468770, -0.832128> + 6841: < 0.295457, 0.511198, -0.807082> + 6842: < 0.334310, 0.506745, -0.794636> + 6843: < 0.335801, 0.465202, -0.819039> + 6844: < 0.295457, 0.511198, -0.807082> + 6845: < 0.294729, 0.553415, -0.779017> + 6846: < 0.333090, 0.548009, -0.767292> + 6847: < 0.334310, 0.506745, -0.794636> + 6848: < 0.294729, 0.553415, -0.779017> + 6849: < 0.294207, 0.595158, -0.747816> + 6850: < 0.332170, 0.588744, -0.736915> + 6851: < 0.333090, 0.548009, -0.767292> + 6852: < 0.294207, 0.595158, -0.747816> + 6853: < 0.293904, 0.636150, -0.713396> + 6854: < 0.331652, 0.628603, -0.703467> + 6855: < 0.332170, 0.588744, -0.736915> + 6856: < 0.331652, -0.628603, -0.703467> + 6857: < 0.332170, -0.588744, -0.736915> + 6858: < 0.369188, -0.581661, -0.724825> + 6859: < 0.368246, -0.620305, -0.692544> + 6860: < 0.332170, -0.588744, -0.736915> + 6861: < 0.333090, -0.548009, -0.767292> + 6862: < 0.370721, -0.542028, -0.754169> + 6863: < 0.369188, -0.581661, -0.724825> + 6864: < 0.333090, -0.548009, -0.767292> + 6865: < 0.334337, -0.506740, -0.794627> + 6866: < 0.372705, -0.501802, -0.780568> + 6867: < 0.370721, -0.542028, -0.754169> + 6868: < 0.334337, -0.506740, -0.794627> + 6869: < 0.335801, -0.465202, -0.819039> + 6870: < 0.374961, -0.461239, -0.804154> + 6871: < 0.372705, -0.501802, -0.780568> + 6872: < 0.335801, -0.465202, -0.819039> + 6873: < 0.337391, -0.423577, -0.840684> + 6874: < 0.377345, -0.420500, -0.825100> + 6875: < 0.374961, -0.461239, -0.804154> + 6876: < 0.337391, -0.423577, -0.840684> + 6877: < 0.339005, -0.381976, -0.859750> + 6878: < 0.379751, -0.379751, -0.843551> + 6879: < 0.377345, -0.420500, -0.825100> + 6880: < 0.339005, -0.381976, -0.859750> + 6881: < 0.340503, -0.340503, -0.876422> + 6882: < 0.381976, -0.339005, -0.859750> + 6883: < 0.379751, -0.379751, -0.843551> + 6884: < 0.340503, -0.340503, -0.876422> + 6885: < 0.341811, -0.299085, -0.890906> + 6886: < 0.383960, -0.298262, -0.873851> + 6887: < 0.381976, -0.339005, -0.859750> + 6888: < 0.341811, -0.299085, -0.890906> + 6889: < 0.342852, -0.257643, -0.903367> + 6890: < 0.385638, -0.257367, -0.886028> + 6891: < 0.383960, -0.298262, -0.873851> + 6892: < 0.342852, -0.257643, -0.903367> + 6893: < 0.343582, -0.215982, -0.913949> + 6894: < 0.386985, -0.216199, -0.896382> + 6895: < 0.385638, -0.257367, -0.886028> + 6896: < 0.343582, -0.215982, -0.913949> + 6897: < 0.344072, -0.173989, -0.922682> + 6898: < 0.387965, -0.174541, -0.904997> + 6899: < 0.386985, -0.216199, -0.896382> + 6900: < 0.344072, -0.173989, -0.922682> + 6901: < 0.344322, -0.131509, -0.929596> + 6902: < 0.388632, -0.132240, -0.911854> + 6903: < 0.387965, -0.174541, -0.904997> + 6904: < 0.344322, -0.131509, -0.929596> + 6905: < 0.344408, -0.088414, -0.934648> + 6906: < 0.388998, -0.089116, -0.916918> + 6907: < 0.388632, -0.132240, -0.911854> + 6908: < 0.344408, -0.088414, -0.934648> + 6909: < 0.344409, -0.044558, -0.937762> + 6910: < 0.389180, -0.045016, -0.920061> + 6911: < 0.388998, -0.089116, -0.916918> + 6912: < 0.344409, -0.044558, -0.937762> + 6913: < 0.344405, 0.000000, -0.938821> + 6914: < 0.389244, 0.000000, -0.921135> + 6915: < 0.389180, -0.045016, -0.920061> + 6916: < 0.344405, 0.000000, -0.938821> + 6917: < 0.344409, 0.044558, -0.937762> + 6918: < 0.389180, 0.045016, -0.920061> + 6919: < 0.389244, 0.000000, -0.921135> + 6920: < 0.344409, 0.044558, -0.937762> + 6921: < 0.344408, 0.088414, -0.934648> + 6922: < 0.388998, 0.089116, -0.916918> + 6923: < 0.389180, 0.045016, -0.920061> + 6924: < 0.344408, 0.088414, -0.934648> + 6925: < 0.344322, 0.131509, -0.929596> + 6926: < 0.388632, 0.132240, -0.911854> + 6927: < 0.388998, 0.089116, -0.916918> + 6928: < 0.344322, 0.131509, -0.929596> + 6929: < 0.344072, 0.173989, -0.922682> + 6930: < 0.387965, 0.174541, -0.904997> + 6931: < 0.388632, 0.132240, -0.911854> + 6932: < 0.344072, 0.173989, -0.922682> + 6933: < 0.343582, 0.215982, -0.913949> + 6934: < 0.386985, 0.216199, -0.896382> + 6935: < 0.387965, 0.174541, -0.904997> + 6936: < 0.343582, 0.215982, -0.913949> + 6937: < 0.342852, 0.257643, -0.903367> + 6938: < 0.385664, 0.257364, -0.886018> + 6939: < 0.386985, 0.216199, -0.896382> + 6940: < 0.342852, 0.257643, -0.903367> + 6941: < 0.341811, 0.299085, -0.890906> + 6942: < 0.383960, 0.298262, -0.873851> + 6943: < 0.385664, 0.257364, -0.886018> + 6944: < 0.341811, 0.299085, -0.890906> + 6945: < 0.340503, 0.340503, -0.876422> + 6946: < 0.381976, 0.339005, -0.859750> + 6947: < 0.383960, 0.298262, -0.873851> + 6948: < 0.340503, 0.340503, -0.876422> + 6949: < 0.339005, 0.381976, -0.859750> + 6950: < 0.379751, 0.379751, -0.843551> + 6951: < 0.381976, 0.339005, -0.859750> + 6952: < 0.339005, 0.381976, -0.859750> + 6953: < 0.337391, 0.423577, -0.840684> + 6954: < 0.377345, 0.420500, -0.825100> + 6955: < 0.379751, 0.379751, -0.843551> + 6956: < 0.337391, 0.423577, -0.840684> + 6957: < 0.335801, 0.465202, -0.819039> + 6958: < 0.374961, 0.461239, -0.804154> + 6959: < 0.377345, 0.420500, -0.825100> + 6960: < 0.335801, 0.465202, -0.819039> + 6961: < 0.334310, 0.506745, -0.794636> + 6962: < 0.372705, 0.501802, -0.780568> + 6963: < 0.374961, 0.461239, -0.804154> + 6964: < 0.334310, 0.506745, -0.794636> + 6965: < 0.333090, 0.548009, -0.767292> + 6966: < 0.370721, 0.542028, -0.754169> + 6967: < 0.372705, 0.501802, -0.780568> + 6968: < 0.333090, 0.548009, -0.767292> + 6969: < 0.332170, 0.588744, -0.736915> + 6970: < 0.369188, 0.581661, -0.724825> + 6971: < 0.370721, 0.542028, -0.754169> + 6972: < 0.332170, 0.588744, -0.736915> + 6973: < 0.331652, 0.628603, -0.703467> + 6974: < 0.368246, 0.620305, -0.692544> + 6975: < 0.369188, 0.581661, -0.724825> + 6976: < 0.368246, -0.620305, -0.692544> + 6977: < 0.369188, -0.581661, -0.724825> + 6978: < 0.404839, -0.574008, -0.711772> + 6979: < 0.403223, -0.611427, -0.680859> + 6980: < 0.369188, -0.581661, -0.724825> + 6981: < 0.370721, -0.542028, -0.754169> + 6982: < 0.407307, -0.535518, -0.739812> + 6983: < 0.404839, -0.574008, -0.711772> + 6984: < 0.370721, -0.542028, -0.754169> + 6985: < 0.372705, -0.501802, -0.780568> + 6986: < 0.410392, -0.496395, -0.764964> + 6987: < 0.407307, -0.535518, -0.739812> + 6988: < 0.372705, -0.501802, -0.780568> + 6989: < 0.374961, -0.461239, -0.804154> + 6990: < 0.413777, -0.456900, -0.787421> + 6991: < 0.410392, -0.496395, -0.764964> + 6992: < 0.374961, -0.461239, -0.804154> + 6993: < 0.377345, -0.420500, -0.825100> + 6994: < 0.417202, -0.417202, -0.807394> + 6995: < 0.413777, -0.456900, -0.787421> + 6996: < 0.377345, -0.420500, -0.825100> + 6997: < 0.379751, -0.379751, -0.843551> + 6998: < 0.420500, -0.377345, -0.825100> + 6999: < 0.417202, -0.417202, -0.807394> + 7000: < 0.379751, -0.379751, -0.843551> + 7001: < 0.381976, -0.339005, -0.859750> + 7002: < 0.423577, -0.337391, -0.840684> + 7003: < 0.420500, -0.377345, -0.825100> + 7004: < 0.381976, -0.339005, -0.859750> + 7005: < 0.383960, -0.298262, -0.873851> + 7006: < 0.426323, -0.297287, -0.854324> + 7007: < 0.423577, -0.337391, -0.840684> + 7008: < 0.383960, -0.298262, -0.873851> + 7009: < 0.385638, -0.257367, -0.886028> + 7010: < 0.428698, -0.256999, -0.866124> + 7011: < 0.426323, -0.297287, -0.854324> + 7012: < 0.385638, -0.257367, -0.886028> + 7013: < 0.386985, -0.216199, -0.896382> + 7014: < 0.430657, -0.216320, -0.876208> + 7015: < 0.428698, -0.256999, -0.866124> + 7016: < 0.386985, -0.216199, -0.896382> + 7017: < 0.387965, -0.174541, -0.904997> + 7018: < 0.432149, -0.175026, -0.884654> + 7019: < 0.430657, -0.216320, -0.876208> + 7020: < 0.387965, -0.174541, -0.904997> + 7021: < 0.388632, -0.132240, -0.911854> + 7022: < 0.433281, -0.132911, -0.891405> + 7023: < 0.432149, -0.175026, -0.884654> + 7024: < 0.388632, -0.132240, -0.911854> + 7025: < 0.388998, -0.089116, -0.916918> + 7026: < 0.433981, -0.089787, -0.896437> + 7027: < 0.433281, -0.132911, -0.891405> + 7028: < 0.388998, -0.089116, -0.916918> + 7029: < 0.389180, -0.045016, -0.920061> + 7030: < 0.434379, -0.045443, -0.899583> + 7031: < 0.433981, -0.089787, -0.896437> + 7032: < 0.389180, -0.045016, -0.920061> + 7033: < 0.389244, 0.000000, -0.921135> + 7034: < 0.434534, 0.000000, -0.900655> + 7035: < 0.434379, -0.045443, -0.899583> + 7036: < 0.389244, 0.000000, -0.921135> + 7037: < 0.389180, 0.045016, -0.920061> + 7038: < 0.434379, 0.045443, -0.899583> + 7039: < 0.434534, 0.000000, -0.900655> + 7040: < 0.389180, 0.045016, -0.920061> + 7041: < 0.388998, 0.089116, -0.916918> + 7042: < 0.433981, 0.089787, -0.896437> + 7043: < 0.434379, 0.045443, -0.899583> + 7044: < 0.388998, 0.089116, -0.916918> + 7045: < 0.388632, 0.132240, -0.911854> + 7046: < 0.433281, 0.132911, -0.891405> + 7047: < 0.433981, 0.089787, -0.896437> + 7048: < 0.388632, 0.132240, -0.911854> + 7049: < 0.387965, 0.174541, -0.904997> + 7050: < 0.432149, 0.175026, -0.884654> + 7051: < 0.433281, 0.132911, -0.891405> + 7052: < 0.387965, 0.174541, -0.904997> + 7053: < 0.386985, 0.216199, -0.896382> + 7054: < 0.430657, 0.216320, -0.876208> + 7055: < 0.432149, 0.175026, -0.884654> + 7056: < 0.386985, 0.216199, -0.896382> + 7057: < 0.385664, 0.257364, -0.886018> + 7058: < 0.428698, 0.256999, -0.866124> + 7059: < 0.430657, 0.216320, -0.876208> + 7060: < 0.385664, 0.257364, -0.886018> + 7061: < 0.383960, 0.298262, -0.873851> + 7062: < 0.426323, 0.297287, -0.854324> + 7063: < 0.428698, 0.256999, -0.866124> + 7064: < 0.383960, 0.298262, -0.873851> + 7065: < 0.381976, 0.339005, -0.859750> + 7066: < 0.423577, 0.337391, -0.840684> + 7067: < 0.426323, 0.297287, -0.854324> + 7068: < 0.381976, 0.339005, -0.859750> + 7069: < 0.379751, 0.379751, -0.843551> + 7070: < 0.420500, 0.377345, -0.825100> + 7071: < 0.423577, 0.337391, -0.840684> + 7072: < 0.379751, 0.379751, -0.843551> + 7073: < 0.377345, 0.420500, -0.825100> + 7074: < 0.417202, 0.417202, -0.807394> + 7075: < 0.420500, 0.377345, -0.825100> + 7076: < 0.377345, 0.420500, -0.825100> + 7077: < 0.374961, 0.461239, -0.804154> + 7078: < 0.413777, 0.456900, -0.787421> + 7079: < 0.417202, 0.417202, -0.807394> + 7080: < 0.374961, 0.461239, -0.804154> + 7081: < 0.372705, 0.501802, -0.780568> + 7082: < 0.410392, 0.496395, -0.764964> + 7083: < 0.413777, 0.456900, -0.787421> + 7084: < 0.372705, 0.501802, -0.780568> + 7085: < 0.370721, 0.542028, -0.754169> + 7086: < 0.407307, 0.535518, -0.739812> + 7087: < 0.410392, 0.496395, -0.764964> + 7088: < 0.370721, 0.542028, -0.754169> + 7089: < 0.369188, 0.581661, -0.724825> + 7090: < 0.404839, 0.574008, -0.711772> + 7091: < 0.407307, 0.535518, -0.739812> + 7092: < 0.369188, 0.581661, -0.724825> + 7093: < 0.368246, 0.620305, -0.692544> + 7094: < 0.403223, 0.611427, -0.680859> + 7095: < 0.404839, 0.574008, -0.711772> + 7096: < 0.403223, -0.611427, -0.680859> + 7097: < 0.404839, -0.574008, -0.711772> + 7098: < 0.439475, -0.565794, -0.697667> + 7099: < 0.437036, -0.601963, -0.668312> + 7100: < 0.404839, -0.574008, -0.711772> + 7101: < 0.407307, -0.535518, -0.739812> + 7102: < 0.443145, -0.528478, -0.724109> + 7103: < 0.439475, -0.565794, -0.697667> + 7104: < 0.407307, -0.535518, -0.739812> + 7105: < 0.410392, -0.496395, -0.764964> + 7106: < 0.447593, -0.490534, -0.747688> + 7107: < 0.443145, -0.528478, -0.724109> + 7108: < 0.410392, -0.496395, -0.764964> + 7109: < 0.413777, -0.456900, -0.787421> + 7110: < 0.452290, -0.452290, -0.768679> + 7111: < 0.447593, -0.490534, -0.747688> + 7112: < 0.413777, -0.456900, -0.787421> + 7113: < 0.417202, -0.417202, -0.807394> + 7114: < 0.456900, -0.413777, -0.787421> + 7115: < 0.452290, -0.452290, -0.768679> + 7116: < 0.417202, -0.417202, -0.807394> + 7117: < 0.420500, -0.377345, -0.825100> + 7118: < 0.461239, -0.374961, -0.804154> + 7119: < 0.456900, -0.413777, -0.787421> + 7120: < 0.420500, -0.377345, -0.825100> + 7121: < 0.423577, -0.337391, -0.840684> + 7122: < 0.465202, -0.335801, -0.819039> + 7123: < 0.461239, -0.374961, -0.804154> + 7124: < 0.423577, -0.337391, -0.840684> + 7125: < 0.426323, -0.297287, -0.854324> + 7126: < 0.468770, -0.296339, -0.832128> + 7127: < 0.465202, -0.335801, -0.819039> + 7128: < 0.426323, -0.297287, -0.854324> + 7129: < 0.428698, -0.256999, -0.866124> + 7130: < 0.471888, -0.256606, -0.843490> + 7131: < 0.468770, -0.296339, -0.832128> + 7132: < 0.428698, -0.256999, -0.866124> + 7133: < 0.430657, -0.216320, -0.876208> + 7134: < 0.474515, -0.216413, -0.853230> + 7135: < 0.471888, -0.256606, -0.843490> + 7136: < 0.430657, -0.216320, -0.876208> + 7137: < 0.432149, -0.175026, -0.884654> + 7138: < 0.476614, -0.175453, -0.861426> + 7139: < 0.474515, -0.216413, -0.853230> + 7140: < 0.432149, -0.175026, -0.884654> + 7141: < 0.433281, -0.132911, -0.891405> + 7142: < 0.478208, -0.133553, -0.868033> + 7143: < 0.476614, -0.175453, -0.861426> + 7144: < 0.433281, -0.132911, -0.891405> + 7145: < 0.433981, -0.089787, -0.896437> + 7146: < 0.479307, -0.090429, -0.872976> + 7147: < 0.478208, -0.133553, -0.868033> + 7148: < 0.433981, -0.089787, -0.896437> + 7149: < 0.434379, -0.045443, -0.899583> + 7150: < 0.479951, -0.045871, -0.876095> + 7151: < 0.479307, -0.090429, -0.872976> + 7152: < 0.434379, -0.045443, -0.899583> + 7153: < 0.434534, 0.000000, -0.900655> + 7154: < 0.480158, 0.000000, -0.877182> + 7155: < 0.479951, -0.045871, -0.876095> + 7156: < 0.434534, 0.000000, -0.900655> + 7157: < 0.434379, 0.045443, -0.899583> + 7158: < 0.479951, 0.045871, -0.876095> + 7159: < 0.480158, 0.000000, -0.877182> + 7160: < 0.434379, 0.045443, -0.899583> + 7161: < 0.433981, 0.089787, -0.896437> + 7162: < 0.479307, 0.090429, -0.872976> + 7163: < 0.479951, 0.045871, -0.876095> + 7164: < 0.433981, 0.089787, -0.896437> + 7165: < 0.433281, 0.132911, -0.891405> + 7166: < 0.478208, 0.133553, -0.868033> + 7167: < 0.479307, 0.090429, -0.872976> + 7168: < 0.433281, 0.132911, -0.891405> + 7169: < 0.432149, 0.175026, -0.884654> + 7170: < 0.476614, 0.175453, -0.861426> + 7171: < 0.478208, 0.133553, -0.868033> + 7172: < 0.432149, 0.175026, -0.884654> + 7173: < 0.430657, 0.216320, -0.876208> + 7174: < 0.474515, 0.216413, -0.853230> + 7175: < 0.476614, 0.175453, -0.861426> + 7176: < 0.430657, 0.216320, -0.876208> + 7177: < 0.428698, 0.256999, -0.866124> + 7178: < 0.471888, 0.256606, -0.843490> + 7179: < 0.474515, 0.216413, -0.853230> + 7180: < 0.428698, 0.256999, -0.866124> + 7181: < 0.426323, 0.297287, -0.854324> + 7182: < 0.468770, 0.296339, -0.832128> + 7183: < 0.471888, 0.256606, -0.843490> + 7184: < 0.426323, 0.297287, -0.854324> + 7185: < 0.423577, 0.337391, -0.840684> + 7186: < 0.465202, 0.335801, -0.819039> + 7187: < 0.468770, 0.296339, -0.832128> + 7188: < 0.423577, 0.337391, -0.840684> + 7189: < 0.420500, 0.377345, -0.825100> + 7190: < 0.461239, 0.374961, -0.804154> + 7191: < 0.465202, 0.335801, -0.819039> + 7192: < 0.420500, 0.377345, -0.825100> + 7193: < 0.417202, 0.417202, -0.807394> + 7194: < 0.456900, 0.413777, -0.787421> + 7195: < 0.461239, 0.374961, -0.804154> + 7196: < 0.417202, 0.417202, -0.807394> + 7197: < 0.413777, 0.456900, -0.787421> + 7198: < 0.452290, 0.452290, -0.768679> + 7199: < 0.456900, 0.413777, -0.787421> + 7200: < 0.413777, 0.456900, -0.787421> + 7201: < 0.410392, 0.496395, -0.764964> + 7202: < 0.447593, 0.490534, -0.747688> + 7203: < 0.452290, 0.452290, -0.768679> + 7204: < 0.410392, 0.496395, -0.764964> + 7205: < 0.407307, 0.535518, -0.739812> + 7206: < 0.443145, 0.528478, -0.724109> + 7207: < 0.447593, 0.490534, -0.747688> + 7208: < 0.407307, 0.535518, -0.739812> + 7209: < 0.404839, 0.574008, -0.711772> + 7210: < 0.439475, 0.565794, -0.697667> + 7211: < 0.443145, 0.528478, -0.724109> + 7212: < 0.404839, 0.574008, -0.711772> + 7213: < 0.403223, 0.611427, -0.680859> + 7214: < 0.437036, 0.601963, -0.668312> + 7215: < 0.439475, 0.565794, -0.697667> + 7216: < 0.437036, -0.601963, -0.668312> + 7217: < 0.439475, -0.565794, -0.697667> + 7218: < 0.473139, -0.557037, -0.682532> + 7219: < 0.469385, -0.591920, -0.655217> + 7220: < 0.439475, -0.565794, -0.697667> + 7221: < 0.443145, -0.528478, -0.724109> + 7222: < 0.478425, -0.520969, -0.706895> + 7223: < 0.473139, -0.557037, -0.682532> + 7224: < 0.443145, -0.528478, -0.724109> + 7225: < 0.447593, -0.490534, -0.747688> + 7226: < 0.484430, -0.484430, -0.728461> + 7227: < 0.478425, -0.520969, -0.706895> + 7228: < 0.447593, -0.490534, -0.747688> + 7229: < 0.452290, -0.452290, -0.768679> + 7230: < 0.490534, -0.447593, -0.747688> + 7231: < 0.484430, -0.484430, -0.728461> + 7232: < 0.452290, -0.452290, -0.768679> + 7233: < 0.456900, -0.413777, -0.787421> + 7234: < 0.496395, -0.410392, -0.764964> + 7235: < 0.490534, -0.447593, -0.747688> + 7236: < 0.456900, -0.413777, -0.787421> + 7237: < 0.461239, -0.374961, -0.804154> + 7238: < 0.501802, -0.372705, -0.780568> + 7239: < 0.496395, -0.410392, -0.764964> + 7240: < 0.461239, -0.374961, -0.804154> + 7241: < 0.465202, -0.335801, -0.819039> + 7242: < 0.506745, -0.334310, -0.794636> + 7243: < 0.501802, -0.372705, -0.780568> + 7244: < 0.465202, -0.335801, -0.819039> + 7245: < 0.468770, -0.296339, -0.832128> + 7246: < 0.511198, -0.295457, -0.807082> + 7247: < 0.506745, -0.334310, -0.794636> + 7248: < 0.468770, -0.296339, -0.832128> + 7249: < 0.471888, -0.256606, -0.843490> + 7250: < 0.515110, -0.256243, -0.817925> + 7251: < 0.511198, -0.295457, -0.807082> + 7252: < 0.471888, -0.256606, -0.843490> + 7253: < 0.474515, -0.216413, -0.853230> + 7254: < 0.518435, -0.216475, -0.827263> + 7255: < 0.515110, -0.256243, -0.817925> + 7256: < 0.474515, -0.216413, -0.853230> + 7257: < 0.476614, -0.175453, -0.861426> + 7258: < 0.521180, -0.175853, -0.835133> + 7259: < 0.518435, -0.216475, -0.827263> + 7260: < 0.476614, -0.175453, -0.861426> + 7261: < 0.478208, -0.133553, -0.868033> + 7262: < 0.523307, -0.134100, -0.841527> + 7263: < 0.521180, -0.175853, -0.835133> + 7264: < 0.478208, -0.133553, -0.868033> + 7265: < 0.479307, -0.090429, -0.872976> + 7266: < 0.524836, -0.091008, -0.846324> + 7267: < 0.523307, -0.134100, -0.841527> + 7268: < 0.479307, -0.090429, -0.872976> + 7269: < 0.479951, -0.045871, -0.876095> + 7270: < 0.525753, -0.046267, -0.849378> + 7271: < 0.524836, -0.091008, -0.846324> + 7272: < 0.479951, -0.045871, -0.876095> + 7273: < 0.480158, 0.000000, -0.877182> + 7274: < 0.526081, 0.000000, -0.850434> + 7275: < 0.525753, -0.046267, -0.849378> + 7276: < 0.480158, 0.000000, -0.877182> + 7277: < 0.479951, 0.045871, -0.876095> + 7278: < 0.525753, 0.046267, -0.849378> + 7279: < 0.526081, 0.000000, -0.850434> + 7280: < 0.479951, 0.045871, -0.876095> + 7281: < 0.479307, 0.090429, -0.872976> + 7282: < 0.524836, 0.091008, -0.846324> + 7283: < 0.525753, 0.046267, -0.849378> + 7284: < 0.479307, 0.090429, -0.872976> + 7285: < 0.478208, 0.133553, -0.868033> + 7286: < 0.523307, 0.134100, -0.841527> + 7287: < 0.524836, 0.091008, -0.846324> + 7288: < 0.478208, 0.133553, -0.868033> + 7289: < 0.476614, 0.175453, -0.861426> + 7290: < 0.521180, 0.175853, -0.835133> + 7291: < 0.523307, 0.134100, -0.841527> + 7292: < 0.476614, 0.175453, -0.861426> + 7293: < 0.474515, 0.216413, -0.853230> + 7294: < 0.518435, 0.216475, -0.827263> + 7295: < 0.521180, 0.175853, -0.835133> + 7296: < 0.474515, 0.216413, -0.853230> + 7297: < 0.471888, 0.256606, -0.843490> + 7298: < 0.515110, 0.256243, -0.817925> + 7299: < 0.518435, 0.216475, -0.827263> + 7300: < 0.471888, 0.256606, -0.843490> + 7301: < 0.468770, 0.296339, -0.832128> + 7302: < 0.511198, 0.295457, -0.807082> + 7303: < 0.515110, 0.256243, -0.817925> + 7304: < 0.468770, 0.296339, -0.832128> + 7305: < 0.465202, 0.335801, -0.819039> + 7306: < 0.506740, 0.334337, -0.794627> + 7307: < 0.511198, 0.295457, -0.807082> + 7308: < 0.465202, 0.335801, -0.819039> + 7309: < 0.461239, 0.374961, -0.804154> + 7310: < 0.501802, 0.372705, -0.780568> + 7311: < 0.506740, 0.334337, -0.794627> + 7312: < 0.461239, 0.374961, -0.804154> + 7313: < 0.456900, 0.413777, -0.787421> + 7314: < 0.496395, 0.410392, -0.764964> + 7315: < 0.501802, 0.372705, -0.780568> + 7316: < 0.456900, 0.413777, -0.787421> + 7317: < 0.452290, 0.452290, -0.768679> + 7318: < 0.490534, 0.447593, -0.747688> + 7319: < 0.496395, 0.410392, -0.764964> + 7320: < 0.452290, 0.452290, -0.768679> + 7321: < 0.447593, 0.490534, -0.747688> + 7322: < 0.484430, 0.484430, -0.728461> + 7323: < 0.490534, 0.447593, -0.747688> + 7324: < 0.447593, 0.490534, -0.747688> + 7325: < 0.443145, 0.528478, -0.724109> + 7326: < 0.478425, 0.520969, -0.706895> + 7327: < 0.484430, 0.484430, -0.728461> + 7328: < 0.443145, 0.528478, -0.724109> + 7329: < 0.439475, 0.565794, -0.697667> + 7330: < 0.473139, 0.557037, -0.682532> + 7331: < 0.478425, 0.520969, -0.706895> + 7332: < 0.439475, 0.565794, -0.697667> + 7333: < 0.437036, 0.601963, -0.668312> + 7334: < 0.469385, 0.591920, -0.655217> + 7335: < 0.473139, 0.557037, -0.682532> + 7336: < 0.469385, -0.591920, -0.655217> + 7337: < 0.473139, -0.557037, -0.682532> + 7338: < 0.506040, -0.547882, -0.666144> + 7339: < 0.500519, -0.581456, -0.641396> + 7340: < 0.473139, -0.557037, -0.682532> + 7341: < 0.478425, -0.520969, -0.706895> + 7342: < 0.513252, -0.513252, -0.687856> + 7343: < 0.506040, -0.547882, -0.666144> + 7344: < 0.478425, -0.520969, -0.706895> + 7345: < 0.484430, -0.484430, -0.728461> + 7346: < 0.520969, -0.478425, -0.706895> + 7347: < 0.513252, -0.513252, -0.687856> + 7348: < 0.484430, -0.484430, -0.728461> + 7349: < 0.490534, -0.447593, -0.747688> + 7350: < 0.528478, -0.443145, -0.724109> + 7351: < 0.520969, -0.478425, -0.706895> + 7352: < 0.490534, -0.447593, -0.747688> + 7353: < 0.496395, -0.410392, -0.764964> + 7354: < 0.535518, -0.407307, -0.739812> + 7355: < 0.528478, -0.443145, -0.724109> + 7356: < 0.496395, -0.410392, -0.764964> + 7357: < 0.501802, -0.372705, -0.780568> + 7358: < 0.542028, -0.370721, -0.754169> + 7359: < 0.535518, -0.407307, -0.739812> + 7360: < 0.501802, -0.372705, -0.780568> + 7361: < 0.506745, -0.334310, -0.794636> + 7362: < 0.548009, -0.333090, -0.767292> + 7363: < 0.542028, -0.370721, -0.754169> + 7364: < 0.506745, -0.334310, -0.794636> + 7365: < 0.511198, -0.295457, -0.807082> + 7366: < 0.553415, -0.294729, -0.779017> + 7367: < 0.548009, -0.333090, -0.767292> + 7368: < 0.511198, -0.295457, -0.807082> + 7369: < 0.515110, -0.256243, -0.817925> + 7370: < 0.558172, -0.255937, -0.789266> + 7371: < 0.553415, -0.294729, -0.779017> + 7372: < 0.515110, -0.256243, -0.817925> + 7373: < 0.518435, -0.216475, -0.827263> + 7374: < 0.562257, -0.216534, -0.798110> + 7375: < 0.558172, -0.255937, -0.789266> + 7376: < 0.518435, -0.216475, -0.827263> + 7377: < 0.521180, -0.175853, -0.835133> + 7378: < 0.565675, -0.176188, -0.805587> + 7379: < 0.562257, -0.216534, -0.798110> + 7380: < 0.521180, -0.175853, -0.835133> + 7381: < 0.523307, -0.134100, -0.841527> + 7382: < 0.568382, -0.134618, -0.811677> + 7383: < 0.565675, -0.176188, -0.805587> + 7384: < 0.523307, -0.134100, -0.841527> + 7385: < 0.524836, -0.091008, -0.846324> + 7386: < 0.570377, -0.091497, -0.816271> + 7387: < 0.568382, -0.134618, -0.811677> + 7388: < 0.524836, -0.091008, -0.846324> + 7389: < 0.525753, -0.046267, -0.849378> + 7390: < 0.571602, -0.046573, -0.819208> + 7391: < 0.570377, -0.091497, -0.816271> + 7392: < 0.525753, -0.046267, -0.849378> + 7393: < 0.526081, 0.000000, -0.850434> + 7394: < 0.572024, 0.000000, -0.820237> + 7395: < 0.571602, -0.046573, -0.819208> + 7396: < 0.526081, 0.000000, -0.850434> + 7397: < 0.525753, 0.046267, -0.849378> + 7398: < 0.571602, 0.046573, -0.819208> + 7399: < 0.572024, 0.000000, -0.820237> + 7400: < 0.525753, 0.046267, -0.849378> + 7401: < 0.524836, 0.091008, -0.846324> + 7402: < 0.570377, 0.091497, -0.816271> + 7403: < 0.571602, 0.046573, -0.819208> + 7404: < 0.524836, 0.091008, -0.846324> + 7405: < 0.523307, 0.134100, -0.841527> + 7406: < 0.568382, 0.134618, -0.811677> + 7407: < 0.570377, 0.091497, -0.816271> + 7408: < 0.523307, 0.134100, -0.841527> + 7409: < 0.521180, 0.175853, -0.835133> + 7410: < 0.565675, 0.176188, -0.805587> + 7411: < 0.568382, 0.134618, -0.811677> + 7412: < 0.521180, 0.175853, -0.835133> + 7413: < 0.518435, 0.216475, -0.827263> + 7414: < 0.562257, 0.216534, -0.798110> + 7415: < 0.565675, 0.176188, -0.805587> + 7416: < 0.518435, 0.216475, -0.827263> + 7417: < 0.515110, 0.256243, -0.817925> + 7418: < 0.558172, 0.255937, -0.789266> + 7419: < 0.562257, 0.216534, -0.798110> + 7420: < 0.515110, 0.256243, -0.817925> + 7421: < 0.511198, 0.295457, -0.807082> + 7422: < 0.553415, 0.294729, -0.779017> + 7423: < 0.558172, 0.255937, -0.789266> + 7424: < 0.511198, 0.295457, -0.807082> + 7425: < 0.506740, 0.334337, -0.794627> + 7426: < 0.548009, 0.333090, -0.767292> + 7427: < 0.553415, 0.294729, -0.779017> + 7428: < 0.506740, 0.334337, -0.794627> + 7429: < 0.501802, 0.372705, -0.780568> + 7430: < 0.542028, 0.370721, -0.754169> + 7431: < 0.548009, 0.333090, -0.767292> + 7432: < 0.501802, 0.372705, -0.780568> + 7433: < 0.496395, 0.410392, -0.764964> + 7434: < 0.535518, 0.407307, -0.739812> + 7435: < 0.542028, 0.370721, -0.754169> + 7436: < 0.496395, 0.410392, -0.764964> + 7437: < 0.490534, 0.447593, -0.747688> + 7438: < 0.528478, 0.443145, -0.724109> + 7439: < 0.535518, 0.407307, -0.739812> + 7440: < 0.490534, 0.447593, -0.747688> + 7441: < 0.484430, 0.484430, -0.728461> + 7442: < 0.520969, 0.478425, -0.706895> + 7443: < 0.528478, 0.443145, -0.724109> + 7444: < 0.484430, 0.484430, -0.728461> + 7445: < 0.478425, 0.520969, -0.706895> + 7446: < 0.513252, 0.513252, -0.687856> + 7447: < 0.520969, 0.478425, -0.706895> + 7448: < 0.478425, 0.520969, -0.706895> + 7449: < 0.473139, 0.557037, -0.682532> + 7450: < 0.506040, 0.547882, -0.666144> + 7451: < 0.513252, 0.513252, -0.687856> + 7452: < 0.473139, 0.557037, -0.682532> + 7453: < 0.469385, 0.591920, -0.655217> + 7454: < 0.500519, 0.581456, -0.641396> + 7455: < 0.506040, 0.547882, -0.666144> + 7456: < 0.500519, -0.581456, -0.641396> + 7457: < 0.506040, -0.547882, -0.666144> + 7458: < 0.538962, -0.538962, -0.647334> + 7459: < 0.531523, -0.571076, -0.625584> + 7460: < 0.506040, -0.547882, -0.666144> + 7461: < 0.513252, -0.513252, -0.687856> + 7462: < 0.547882, -0.506040, -0.666144> + 7463: < 0.538962, -0.538962, -0.647334> + 7464: < 0.513252, -0.513252, -0.687856> + 7465: < 0.520969, -0.478425, -0.706895> + 7466: < 0.557037, -0.473139, -0.682532> + 7467: < 0.547882, -0.506040, -0.666144> + 7468: < 0.520969, -0.478425, -0.706895> + 7469: < 0.528478, -0.443145, -0.724109> + 7470: < 0.565794, -0.439475, -0.697667> + 7471: < 0.557037, -0.473139, -0.682532> + 7472: < 0.528478, -0.443145, -0.724109> + 7473: < 0.535518, -0.407307, -0.739812> + 7474: < 0.574008, -0.404839, -0.711772> + 7475: < 0.565794, -0.439475, -0.697667> + 7476: < 0.535518, -0.407307, -0.739812> + 7477: < 0.542028, -0.370721, -0.754169> + 7478: < 0.581661, -0.369188, -0.724825> + 7479: < 0.574008, -0.404839, -0.711772> + 7480: < 0.542028, -0.370721, -0.754169> + 7481: < 0.548009, -0.333090, -0.767292> + 7482: < 0.588744, -0.332170, -0.736915> + 7483: < 0.581661, -0.369188, -0.724825> + 7484: < 0.548009, -0.333090, -0.767292> + 7485: < 0.553415, -0.294729, -0.779017> + 7486: < 0.595158, -0.294207, -0.747816> + 7487: < 0.588744, -0.332170, -0.736915> + 7488: < 0.553415, -0.294729, -0.779017> + 7489: < 0.558172, -0.255937, -0.789266> + 7490: < 0.600829, -0.255750, -0.757361> + 7491: < 0.595158, -0.294207, -0.747816> + 7492: < 0.558172, -0.255937, -0.789266> + 7493: < 0.562257, -0.216534, -0.798110> + 7494: < 0.605748, -0.216596, -0.765608> + 7495: < 0.600829, -0.255750, -0.757361> + 7496: < 0.562257, -0.216534, -0.798110> + 7497: < 0.565675, -0.176188, -0.805587> + 7498: < 0.609892, -0.176461, -0.772589> + 7499: < 0.605748, -0.216596, -0.765608> + 7500: < 0.565675, -0.176188, -0.805587> + 7501: < 0.568382, -0.134618, -0.811677> + 7502: < 0.613215, -0.135015, -0.778292> + 7503: < 0.609892, -0.176461, -0.772589> + 7504: < 0.568382, -0.134618, -0.811677> + 7505: < 0.570377, -0.091497, -0.816271> + 7506: < 0.615697, -0.091894, -0.782607> + 7507: < 0.613215, -0.135015, -0.778292> + 7508: < 0.570377, -0.091497, -0.816271> + 7509: < 0.571602, -0.046573, -0.819208> + 7510: < 0.617246, -0.046847, -0.785375> + 7511: < 0.615697, -0.091894, -0.782607> + 7512: < 0.571602, -0.046573, -0.819208> + 7513: < 0.572024, 0.000000, -0.820237> + 7514: < 0.617789, 0.000000, -0.786344> + 7515: < 0.617246, -0.046847, -0.785375> + 7516: < 0.572024, 0.000000, -0.820237> + 7517: < 0.571602, 0.046573, -0.819208> + 7518: < 0.617246, 0.046847, -0.785375> + 7519: < 0.617789, 0.000000, -0.786344> + 7520: < 0.571602, 0.046573, -0.819208> + 7521: < 0.570377, 0.091497, -0.816271> + 7522: < 0.615697, 0.091894, -0.782607> + 7523: < 0.617246, 0.046847, -0.785375> + 7524: < 0.570377, 0.091497, -0.816271> + 7525: < 0.568382, 0.134618, -0.811677> + 7526: < 0.613199, 0.134988, -0.778309> + 7527: < 0.615697, 0.091894, -0.782607> + 7528: < 0.568382, 0.134618, -0.811677> + 7529: < 0.565675, 0.176188, -0.805587> + 7530: < 0.609892, 0.176461, -0.772589> + 7531: < 0.613199, 0.134988, -0.778309> + 7532: < 0.565675, 0.176188, -0.805587> + 7533: < 0.562257, 0.216534, -0.798110> + 7534: < 0.605748, 0.216596, -0.765608> + 7535: < 0.609892, 0.176461, -0.772589> + 7536: < 0.562257, 0.216534, -0.798110> + 7537: < 0.558172, 0.255937, -0.789266> + 7538: < 0.600829, 0.255750, -0.757361> + 7539: < 0.605748, 0.216596, -0.765608> + 7540: < 0.558172, 0.255937, -0.789266> + 7541: < 0.553415, 0.294729, -0.779017> + 7542: < 0.595158, 0.294207, -0.747816> + 7543: < 0.600829, 0.255750, -0.757361> + 7544: < 0.553415, 0.294729, -0.779017> + 7545: < 0.548009, 0.333090, -0.767292> + 7546: < 0.588744, 0.332170, -0.736915> + 7547: < 0.595158, 0.294207, -0.747816> + 7548: < 0.548009, 0.333090, -0.767292> + 7549: < 0.542028, 0.370721, -0.754169> + 7550: < 0.581661, 0.369188, -0.724825> + 7551: < 0.588744, 0.332170, -0.736915> + 7552: < 0.542028, 0.370721, -0.754169> + 7553: < 0.535518, 0.407307, -0.739812> + 7554: < 0.574008, 0.404839, -0.711772> + 7555: < 0.581661, 0.369188, -0.724825> + 7556: < 0.535518, 0.407307, -0.739812> + 7557: < 0.528478, 0.443145, -0.724109> + 7558: < 0.565794, 0.439475, -0.697667> + 7559: < 0.574008, 0.404839, -0.711772> + 7560: < 0.528478, 0.443145, -0.724109> + 7561: < 0.520969, 0.478425, -0.706895> + 7562: < 0.557037, 0.473139, -0.682532> + 7563: < 0.565794, 0.439475, -0.697667> + 7564: < 0.520969, 0.478425, -0.706895> + 7565: < 0.513252, 0.513252, -0.687856> + 7566: < 0.547882, 0.506040, -0.666144> + 7567: < 0.557037, 0.473139, -0.682532> + 7568: < 0.513252, 0.513252, -0.687856> + 7569: < 0.506040, 0.547882, -0.666144> + 7570: < 0.538962, 0.538962, -0.647334> + 7571: < 0.547882, 0.506040, -0.666144> + 7572: < 0.506040, 0.547882, -0.666144> + 7573: < 0.500519, 0.581456, -0.641396> + 7574: < 0.531523, 0.571076, -0.625584> + 7575: < 0.538962, 0.538962, -0.647334> + 7576: < 0.531523, -0.571076, -0.625584> + 7577: < 0.538962, -0.538962, -0.647334> + 7578: < 0.571076, -0.531523, -0.625584> + 7579: < 0.561516, -0.561516, -0.607783> + 7580: < 0.538962, -0.538962, -0.647334> + 7581: < 0.547882, -0.506040, -0.666144> + 7582: < 0.581456, -0.500519, -0.641396> + 7583: < 0.571076, -0.531523, -0.625584> + 7584: < 0.547882, -0.506040, -0.666144> + 7585: < 0.557037, -0.473139, -0.682532> + 7586: < 0.591920, -0.469385, -0.655217> + 7587: < 0.581456, -0.500519, -0.641396> + 7588: < 0.557037, -0.473139, -0.682532> + 7589: < 0.565794, -0.439475, -0.697667> + 7590: < 0.601963, -0.437036, -0.668312> + 7591: < 0.591920, -0.469385, -0.655217> + 7592: < 0.565794, -0.439475, -0.697667> + 7593: < 0.574008, -0.404839, -0.711772> + 7594: < 0.611427, -0.403223, -0.680859> + 7595: < 0.601963, -0.437036, -0.668312> + 7596: < 0.574008, -0.404839, -0.711772> + 7597: < 0.581661, -0.369188, -0.724825> + 7598: < 0.620305, -0.368246, -0.692544> + 7599: < 0.611427, -0.403223, -0.680859> + 7600: < 0.581661, -0.369188, -0.724825> + 7601: < 0.588744, -0.332170, -0.736915> + 7602: < 0.628603, -0.331652, -0.703467> + 7603: < 0.620305, -0.368246, -0.692544> + 7604: < 0.588744, -0.332170, -0.736915> + 7605: < 0.595158, -0.294207, -0.747816> + 7606: < 0.636150, -0.293904, -0.713396> + 7607: < 0.628603, -0.331652, -0.703467> + 7608: < 0.595158, -0.294207, -0.747816> + 7609: < 0.600829, -0.255750, -0.757361> + 7610: < 0.642833, -0.255632, -0.722093> + 7611: < 0.636150, -0.293904, -0.713396> + 7612: < 0.600829, -0.255750, -0.757361> + 7613: < 0.605748, -0.216596, -0.765608> + 7614: < 0.648624, -0.216656, -0.729622> + 7615: < 0.642833, -0.255632, -0.722093> + 7616: < 0.605748, -0.216596, -0.765608> + 7617: < 0.609892, -0.176461, -0.772589> + 7618: < 0.653502, -0.176644, -0.736025> + 7619: < 0.648624, -0.216656, -0.729622> + 7620: < 0.609892, -0.176461, -0.772589> + 7621: < 0.613215, -0.135015, -0.778292> + 7622: < 0.657468, -0.135260, -0.741243> + 7623: < 0.653502, -0.176644, -0.736025> + 7624: < 0.613215, -0.135015, -0.778292> + 7625: < 0.615697, -0.091894, -0.782607> + 7626: < 0.660463, -0.092137, -0.745184> + 7627: < 0.657468, -0.135260, -0.741243> + 7628: < 0.615697, -0.091894, -0.782607> + 7629: < 0.617246, -0.046847, -0.785375> + 7630: < 0.662354, -0.046999, -0.747715> + 7631: < 0.660463, -0.092137, -0.745184> + 7632: < 0.617246, -0.046847, -0.785375> + 7633: < 0.617789, 0.000000, -0.786344> + 7634: < 0.663024, 0.000000, -0.748599> + 7635: < 0.662354, -0.046999, -0.747715> + 7636: < 0.617789, 0.000000, -0.786344> + 7637: < 0.617246, 0.046847, -0.785375> + 7638: < 0.662354, 0.046999, -0.747715> + 7639: < 0.663024, 0.000000, -0.748599> + 7640: < 0.617246, 0.046847, -0.785375> + 7641: < 0.615697, 0.091894, -0.782607> + 7642: < 0.660463, 0.092137, -0.745184> + 7643: < 0.662354, 0.046999, -0.747715> + 7644: < 0.615697, 0.091894, -0.782607> + 7645: < 0.613199, 0.134988, -0.778309> + 7646: < 0.657468, 0.135260, -0.741243> + 7647: < 0.660463, 0.092137, -0.745184> + 7648: < 0.613199, 0.134988, -0.778309> + 7649: < 0.609892, 0.176461, -0.772589> + 7650: < 0.653502, 0.176644, -0.736025> + 7651: < 0.657468, 0.135260, -0.741243> + 7652: < 0.609892, 0.176461, -0.772589> + 7653: < 0.605748, 0.216596, -0.765608> + 7654: < 0.648606, 0.216660, -0.729636> + 7655: < 0.653502, 0.176644, -0.736025> + 7656: < 0.605748, 0.216596, -0.765608> + 7657: < 0.600829, 0.255750, -0.757361> + 7658: < 0.642833, 0.255632, -0.722093> + 7659: < 0.648606, 0.216660, -0.729636> + 7660: < 0.600829, 0.255750, -0.757361> + 7661: < 0.595158, 0.294207, -0.747816> + 7662: < 0.636150, 0.293904, -0.713396> + 7663: < 0.642833, 0.255632, -0.722093> + 7664: < 0.595158, 0.294207, -0.747816> + 7665: < 0.588744, 0.332170, -0.736915> + 7666: < 0.628603, 0.331652, -0.703467> + 7667: < 0.636150, 0.293904, -0.713396> + 7668: < 0.588744, 0.332170, -0.736915> + 7669: < 0.581661, 0.369188, -0.724825> + 7670: < 0.620305, 0.368246, -0.692544> + 7671: < 0.628603, 0.331652, -0.703467> + 7672: < 0.581661, 0.369188, -0.724825> + 7673: < 0.574008, 0.404839, -0.711772> + 7674: < 0.611427, 0.403223, -0.680859> + 7675: < 0.620305, 0.368246, -0.692544> + 7676: < 0.574008, 0.404839, -0.711772> + 7677: < 0.565794, 0.439475, -0.697667> + 7678: < 0.601963, 0.437036, -0.668312> + 7679: < 0.611427, 0.403223, -0.680859> + 7680: < 0.565794, 0.439475, -0.697667> + 7681: < 0.557037, 0.473139, -0.682532> + 7682: < 0.591920, 0.469385, -0.655217> + 7683: < 0.601963, 0.437036, -0.668312> + 7684: < 0.557037, 0.473139, -0.682532> + 7685: < 0.547882, 0.506040, -0.666144> + 7686: < 0.581456, 0.500519, -0.641396> + 7687: < 0.591920, 0.469385, -0.655217> + 7688: < 0.547882, 0.506040, -0.666144> + 7689: < 0.538962, 0.538962, -0.647334> + 7690: < 0.571076, 0.531523, -0.625584> + 7691: < 0.581456, 0.500519, -0.641396> + 7692: < 0.538962, 0.538962, -0.647334> + 7693: < 0.531523, 0.571076, -0.625584> + 7694: < 0.561516, 0.561516, -0.607783> + 7695: < 0.571076, 0.531523, -0.625584> + 7696: <-0.577360, -0.577330, -0.577360> + 7697: <-0.588539, -0.554296, -0.588539> + 7698: <-0.561516, -0.561516, -0.607783> + 7699: <-0.554296, -0.588539, -0.588539> + 7700: <-0.588539, -0.554296, -0.588539> + 7701: <-0.601199, -0.526457, -0.601168> + 7702: <-0.571076, -0.531523, -0.625584> + 7703: <-0.561516, -0.561516, -0.607783> + 7704: <-0.601199, -0.526457, -0.601168> + 7705: <-0.613379, -0.497527, -0.613379> + 7706: <-0.581456, -0.500519, -0.641396> + 7707: <-0.571076, -0.531523, -0.625584> + 7708: <-0.613379, -0.497527, -0.613379> + 7709: <-0.624909, -0.467950, -0.624909> + 7710: <-0.591920, -0.469385, -0.655217> + 7711: <-0.581456, -0.500519, -0.641396> + 7712: <-0.624909, -0.467950, -0.624909> + 7713: <-0.636296, -0.436181, -0.636296> + 7714: <-0.601963, -0.437036, -0.668312> + 7715: <-0.591920, -0.469385, -0.655217> + 7716: <-0.636296, -0.436181, -0.636296> + 7717: <-0.647247, -0.402668, -0.647247> + 7718: <-0.611427, -0.403223, -0.680859> + 7719: <-0.601963, -0.437036, -0.668312> + 7720: <-0.647247, -0.402668, -0.647247> + 7721: <-0.657511, -0.367912, -0.657511> + 7722: <-0.620305, -0.368246, -0.692544> + 7723: <-0.611427, -0.403223, -0.680859> + 7724: <-0.657511, -0.367912, -0.657511> + 7725: <-0.667130, -0.331474, -0.667130> + 7726: <-0.628603, -0.331652, -0.703467> + 7727: <-0.620305, -0.368246, -0.692544> + 7728: <-0.667130, -0.331474, -0.667130> + 7729: <-0.675899, -0.293804, -0.675899> + 7730: <-0.636150, -0.293904, -0.713396> + 7731: <-0.628603, -0.331652, -0.703467> + 7732: <-0.675899, -0.293804, -0.675899> + 7733: <-0.683620, -0.255594, -0.683620> + 7734: <-0.642833, -0.255632, -0.722093> + 7735: <-0.636150, -0.293904, -0.713396> + 7736: <-0.683620, -0.255594, -0.683620> + 7737: <-0.690307, -0.216684, -0.690307> + 7738: <-0.648606, -0.216660, -0.729636> + 7739: <-0.642833, -0.255632, -0.722093> + 7740: <-0.690307, -0.216684, -0.690307> + 7741: <-0.695976, -0.176733, -0.695976> + 7742: <-0.653502, -0.176644, -0.736025> + 7743: <-0.648606, -0.216660, -0.729636> + 7744: <-0.695976, -0.176733, -0.695976> + 7745: <-0.700600, -0.135353, -0.700600> + 7746: <-0.657468, -0.135260, -0.741243> + 7747: <-0.653502, -0.176644, -0.736025> + 7748: <-0.700600, -0.135353, -0.700600> + 7749: <-0.704093, -0.092231, -0.704093> + 7750: <-0.660463, -0.092137, -0.745184> + 7751: <-0.657468, -0.135260, -0.741243> + 7752: <-0.704093, -0.092231, -0.704093> + 7753: <-0.706323, -0.047060, -0.706323> + 7754: <-0.662354, -0.046999, -0.747715> + 7755: <-0.660463, -0.092137, -0.745184> + 7756: <-0.706323, -0.047060, -0.706323> + 7757: <-0.707107, 0.000000, -0.707107> + 7758: <-0.663024, 0.000000, -0.748599> + 7759: <-0.662354, -0.046999, -0.747715> + 7760: <-0.707107, 0.000000, -0.707107> + 7761: <-0.706323, 0.047060, -0.706323> + 7762: <-0.662354, 0.046999, -0.747715> + 7763: <-0.663024, 0.000000, -0.748599> + 7764: <-0.706323, 0.047060, -0.706323> + 7765: <-0.704093, 0.092231, -0.704093> + 7766: <-0.660463, 0.092137, -0.745184> + 7767: <-0.662354, 0.046999, -0.747715> + 7768: <-0.704093, 0.092231, -0.704093> + 7769: <-0.700600, 0.135353, -0.700600> + 7770: <-0.657468, 0.135260, -0.741243> + 7771: <-0.660463, 0.092137, -0.745184> + 7772: <-0.700600, 0.135353, -0.700600> + 7773: <-0.695976, 0.176733, -0.695976> + 7774: <-0.653502, 0.176644, -0.736025> + 7775: <-0.657468, 0.135260, -0.741243> + 7776: <-0.695976, 0.176733, -0.695976> + 7777: <-0.690307, 0.216684, -0.690307> + 7778: <-0.648606, 0.216660, -0.729636> + 7779: <-0.653502, 0.176644, -0.736025> + 7780: <-0.690307, 0.216684, -0.690307> + 7781: <-0.683620, 0.255594, -0.683620> + 7782: <-0.642833, 0.255632, -0.722093> + 7783: <-0.648606, 0.216660, -0.729636> + 7784: <-0.683620, 0.255594, -0.683620> + 7785: <-0.675899, 0.293804, -0.675899> + 7786: <-0.636150, 0.293904, -0.713396> + 7787: <-0.642833, 0.255632, -0.722093> + 7788: <-0.675899, 0.293804, -0.675899> + 7789: <-0.667130, 0.331474, -0.667130> + 7790: <-0.628603, 0.331652, -0.703467> + 7791: <-0.636150, 0.293904, -0.713396> + 7792: <-0.667130, 0.331474, -0.667130> + 7793: <-0.657511, 0.367912, -0.657511> + 7794: <-0.620305, 0.368246, -0.692544> + 7795: <-0.628603, 0.331652, -0.703467> + 7796: <-0.657511, 0.367912, -0.657511> + 7797: <-0.647247, 0.402668, -0.647247> + 7798: <-0.611427, 0.403223, -0.680859> + 7799: <-0.620305, 0.368246, -0.692544> + 7800: <-0.647247, 0.402668, -0.647247> + 7801: <-0.636296, 0.436181, -0.636296> + 7802: <-0.601963, 0.437036, -0.668312> + 7803: <-0.611427, 0.403223, -0.680859> + 7804: <-0.636296, 0.436181, -0.636296> + 7805: <-0.624909, 0.467950, -0.624909> + 7806: <-0.591920, 0.469385, -0.655217> + 7807: <-0.601963, 0.437036, -0.668312> + 7808: <-0.624909, 0.467950, -0.624909> + 7809: <-0.613379, 0.497527, -0.613379> + 7810: <-0.581465, 0.500496, -0.641406> + 7811: <-0.591920, 0.469385, -0.655217> + 7812: <-0.613379, 0.497527, -0.613379> + 7813: <-0.601188, 0.526447, -0.601188> + 7814: <-0.571076, 0.531523, -0.625584> + 7815: <-0.581465, 0.500496, -0.641406> + 7816: <-0.601188, 0.526447, -0.601188> + 7817: <-0.588539, 0.554296, -0.588539> + 7818: <-0.561516, 0.561516, -0.607783> + 7819: <-0.571076, 0.531523, -0.625584> + 7820: <-0.588539, 0.554296, -0.588539> + 7821: <-0.577350, 0.577350, -0.577350> + 7822: <-0.554296, 0.588539, -0.588539> + 7823: <-0.561516, 0.561516, -0.607783> + 7824: <-0.561516, 0.561516, -0.607783> + 7825: <-0.554296, 0.588539, -0.588539> + 7826: <-0.526447, 0.601188, -0.601188> + 7827: <-0.531523, 0.571076, -0.625584> + 7828: <-0.531523, 0.571076, -0.625584> + 7829: <-0.526447, 0.601188, -0.601188> + 7830: <-0.497527, 0.613379, -0.613379> + 7831: <-0.500519, 0.581456, -0.641396> + 7832: <-0.500519, 0.581456, -0.641396> + 7833: <-0.497527, 0.613379, -0.613379> + 7834: <-0.467950, 0.624909, -0.624909> + 7835: <-0.469385, 0.591920, -0.655217> + 7836: <-0.469385, 0.591920, -0.655217> + 7837: <-0.467950, 0.624909, -0.624909> + 7838: <-0.436181, 0.636296, -0.636296> + 7839: <-0.437036, 0.601963, -0.668312> + 7840: <-0.437036, 0.601963, -0.668312> + 7841: <-0.436181, 0.636296, -0.636296> + 7842: <-0.402668, 0.647247, -0.647247> + 7843: <-0.403223, 0.611427, -0.680859> + 7844: <-0.403223, 0.611427, -0.680859> + 7845: <-0.402668, 0.647247, -0.647247> + 7846: <-0.367912, 0.657511, -0.657511> + 7847: <-0.368246, 0.620305, -0.692544> + 7848: <-0.368246, 0.620305, -0.692544> + 7849: <-0.367912, 0.657511, -0.657511> + 7850: <-0.331474, 0.667130, -0.667130> + 7851: <-0.331652, 0.628603, -0.703467> + 7852: <-0.331652, 0.628603, -0.703467> + 7853: <-0.331474, 0.667130, -0.667130> + 7854: <-0.293804, 0.675899, -0.675899> + 7855: <-0.293904, 0.636150, -0.713396> + 7856: <-0.293904, 0.636150, -0.713396> + 7857: <-0.293804, 0.675899, -0.675899> + 7858: <-0.255594, 0.683620, -0.683620> + 7859: <-0.255632, 0.642833, -0.722093> + 7860: <-0.255632, 0.642833, -0.722093> + 7861: <-0.255594, 0.683620, -0.683620> + 7862: <-0.216684, 0.690307, -0.690307> + 7863: <-0.216660, 0.648606, -0.729636> + 7864: <-0.216660, 0.648606, -0.729636> + 7865: <-0.216684, 0.690307, -0.690307> + 7866: <-0.176733, 0.695976, -0.695976> + 7867: <-0.176644, 0.653502, -0.736025> + 7868: <-0.176644, 0.653502, -0.736025> + 7869: <-0.176733, 0.695976, -0.695976> + 7870: <-0.135353, 0.700600, -0.700600> + 7871: <-0.135260, 0.657468, -0.741243> + 7872: <-0.135260, 0.657468, -0.741243> + 7873: <-0.135353, 0.700600, -0.700600> + 7874: <-0.092231, 0.704093, -0.704093> + 7875: <-0.092137, 0.660463, -0.745184> + 7876: <-0.092137, 0.660463, -0.745184> + 7877: <-0.092231, 0.704093, -0.704093> + 7878: <-0.047060, 0.706323, -0.706323> + 7879: <-0.046999, 0.662354, -0.747715> + 7880: <-0.046999, 0.662354, -0.747715> + 7881: <-0.047060, 0.706323, -0.706323> + 7882: < 0.000000, 0.707107, -0.707107> + 7883: < 0.000000, 0.663024, -0.748599> + 7884: < 0.000000, 0.663024, -0.748599> + 7885: < 0.000000, 0.707107, -0.707107> + 7886: < 0.047060, 0.706323, -0.706323> + 7887: < 0.046999, 0.662354, -0.747715> + 7888: < 0.046999, 0.662354, -0.747715> + 7889: < 0.047060, 0.706323, -0.706323> + 7890: < 0.092231, 0.704093, -0.704093> + 7891: < 0.092137, 0.660463, -0.745184> + 7892: < 0.092137, 0.660463, -0.745184> + 7893: < 0.092231, 0.704093, -0.704093> + 7894: < 0.135353, 0.700600, -0.700600> + 7895: < 0.135260, 0.657468, -0.741243> + 7896: < 0.135260, 0.657468, -0.741243> + 7897: < 0.135353, 0.700600, -0.700600> + 7898: < 0.176733, 0.695976, -0.695976> + 7899: < 0.176644, 0.653502, -0.736025> + 7900: < 0.176644, 0.653502, -0.736025> + 7901: < 0.176733, 0.695976, -0.695976> + 7902: < 0.216684, 0.690307, -0.690307> + 7903: < 0.216660, 0.648606, -0.729636> + 7904: < 0.216660, 0.648606, -0.729636> + 7905: < 0.216684, 0.690307, -0.690307> + 7906: < 0.255594, 0.683620, -0.683620> + 7907: < 0.255632, 0.642833, -0.722093> + 7908: < 0.255632, 0.642833, -0.722093> + 7909: < 0.255594, 0.683620, -0.683620> + 7910: < 0.293804, 0.675899, -0.675899> + 7911: < 0.293904, 0.636150, -0.713396> + 7912: < 0.293904, 0.636150, -0.713396> + 7913: < 0.293804, 0.675899, -0.675899> + 7914: < 0.331474, 0.667130, -0.667130> + 7915: < 0.331652, 0.628603, -0.703467> + 7916: < 0.331652, 0.628603, -0.703467> + 7917: < 0.331474, 0.667130, -0.667130> + 7918: < 0.367912, 0.657511, -0.657511> + 7919: < 0.368246, 0.620305, -0.692544> + 7920: < 0.368246, 0.620305, -0.692544> + 7921: < 0.367912, 0.657511, -0.657511> + 7922: < 0.402668, 0.647247, -0.647247> + 7923: < 0.403223, 0.611427, -0.680859> + 7924: < 0.403223, 0.611427, -0.680859> + 7925: < 0.402668, 0.647247, -0.647247> + 7926: < 0.436181, 0.636296, -0.636296> + 7927: < 0.437036, 0.601963, -0.668312> + 7928: < 0.437036, 0.601963, -0.668312> + 7929: < 0.436181, 0.636296, -0.636296> + 7930: < 0.467950, 0.624909, -0.624909> + 7931: < 0.469385, 0.591920, -0.655217> + 7932: < 0.469385, 0.591920, -0.655217> + 7933: < 0.467950, 0.624909, -0.624909> + 7934: < 0.497527, 0.613379, -0.613379> + 7935: < 0.500519, 0.581456, -0.641396> + 7936: < 0.500519, 0.581456, -0.641396> + 7937: < 0.497527, 0.613379, -0.613379> + 7938: < 0.526467, 0.601179, -0.601179> + 7939: < 0.531523, 0.571076, -0.625584> + 7940: < 0.531523, 0.571076, -0.625584> + 7941: < 0.526467, 0.601179, -0.601179> + 7942: < 0.554296, 0.588539, -0.588539> + 7943: < 0.561516, 0.561516, -0.607783> + 7944: < 0.561516, 0.561516, -0.607783> + 7945: < 0.554296, 0.588539, -0.588539> + 7946: < 0.577350, 0.577350, -0.577350> + 7947: < 0.588539, 0.554296, -0.588539> + 7948: < 0.571076, 0.531523, -0.625584> + 7949: < 0.561516, 0.561516, -0.607783> + 7950: < 0.588539, 0.554296, -0.588539> + 7951: < 0.601168, 0.526457, -0.601199> + 7952: < 0.581456, 0.500519, -0.641396> + 7953: < 0.571076, 0.531523, -0.625584> + 7954: < 0.601168, 0.526457, -0.601199> + 7955: < 0.613379, 0.497527, -0.613379> + 7956: < 0.591920, 0.469385, -0.655217> + 7957: < 0.581456, 0.500519, -0.641396> + 7958: < 0.613379, 0.497527, -0.613379> + 7959: < 0.624909, 0.467950, -0.624909> + 7960: < 0.601963, 0.437036, -0.668312> + 7961: < 0.591920, 0.469385, -0.655217> + 7962: < 0.624909, 0.467950, -0.624909> + 7963: < 0.636296, 0.436181, -0.636296> + 7964: < 0.611427, 0.403223, -0.680859> + 7965: < 0.601963, 0.437036, -0.668312> + 7966: < 0.636296, 0.436181, -0.636296> + 7967: < 0.647247, 0.402668, -0.647247> + 7968: < 0.620305, 0.368246, -0.692544> + 7969: < 0.611427, 0.403223, -0.680859> + 7970: < 0.647247, 0.402668, -0.647247> + 7971: < 0.657511, 0.367912, -0.657511> + 7972: < 0.628603, 0.331652, -0.703467> + 7973: < 0.620305, 0.368246, -0.692544> + 7974: < 0.657511, 0.367912, -0.657511> + 7975: < 0.667130, 0.331474, -0.667130> + 7976: < 0.636150, 0.293904, -0.713396> + 7977: < 0.628603, 0.331652, -0.703467> + 7978: < 0.667130, 0.331474, -0.667130> + 7979: < 0.675899, 0.293804, -0.675899> + 7980: < 0.642833, 0.255632, -0.722093> + 7981: < 0.636150, 0.293904, -0.713396> + 7982: < 0.675899, 0.293804, -0.675899> + 7983: < 0.683620, 0.255594, -0.683620> + 7984: < 0.648606, 0.216660, -0.729636> + 7985: < 0.642833, 0.255632, -0.722093> + 7986: < 0.683620, 0.255594, -0.683620> + 7987: < 0.690307, 0.216684, -0.690307> + 7988: < 0.653502, 0.176644, -0.736025> + 7989: < 0.648606, 0.216660, -0.729636> + 7990: < 0.690307, 0.216684, -0.690307> + 7991: < 0.695976, 0.176733, -0.695976> + 7992: < 0.657468, 0.135260, -0.741243> + 7993: < 0.653502, 0.176644, -0.736025> + 7994: < 0.695976, 0.176733, -0.695976> + 7995: < 0.700600, 0.135353, -0.700600> + 7996: < 0.660463, 0.092137, -0.745184> + 7997: < 0.657468, 0.135260, -0.741243> + 7998: < 0.700600, 0.135353, -0.700600> + 7999: < 0.704093, 0.092231, -0.704093> + 8000: < 0.662354, 0.046999, -0.747715> + 8001: < 0.660463, 0.092137, -0.745184> + 8002: < 0.704093, 0.092231, -0.704093> + 8003: < 0.706323, 0.047060, -0.706323> + 8004: < 0.663024, 0.000000, -0.748599> + 8005: < 0.662354, 0.046999, -0.747715> + 8006: < 0.706323, 0.047060, -0.706323> + 8007: < 0.707107, 0.000000, -0.707107> + 8008: < 0.662354, -0.046999, -0.747715> + 8009: < 0.663024, 0.000000, -0.748599> + 8010: < 0.707107, 0.000000, -0.707107> + 8011: < 0.706323, -0.047060, -0.706323> + 8012: < 0.660463, -0.092137, -0.745184> + 8013: < 0.662354, -0.046999, -0.747715> + 8014: < 0.706323, -0.047060, -0.706323> + 8015: < 0.704093, -0.092231, -0.704093> + 8016: < 0.657468, -0.135260, -0.741243> + 8017: < 0.660463, -0.092137, -0.745184> + 8018: < 0.704093, -0.092231, -0.704093> + 8019: < 0.700600, -0.135353, -0.700600> + 8020: < 0.653502, -0.176644, -0.736025> + 8021: < 0.657468, -0.135260, -0.741243> + 8022: < 0.700600, -0.135353, -0.700600> + 8023: < 0.695976, -0.176733, -0.695976> + 8024: < 0.648624, -0.216656, -0.729622> + 8025: < 0.653502, -0.176644, -0.736025> + 8026: < 0.695976, -0.176733, -0.695976> + 8027: < 0.690307, -0.216684, -0.690307> + 8028: < 0.642833, -0.255632, -0.722093> + 8029: < 0.648624, -0.216656, -0.729622> + 8030: < 0.690307, -0.216684, -0.690307> + 8031: < 0.683620, -0.255594, -0.683620> + 8032: < 0.636150, -0.293904, -0.713396> + 8033: < 0.642833, -0.255632, -0.722093> + 8034: < 0.683620, -0.255594, -0.683620> + 8035: < 0.675899, -0.293804, -0.675899> + 8036: < 0.628603, -0.331652, -0.703467> + 8037: < 0.636150, -0.293904, -0.713396> + 8038: < 0.675899, -0.293804, -0.675899> + 8039: < 0.667130, -0.331474, -0.667130> + 8040: < 0.620305, -0.368246, -0.692544> + 8041: < 0.628603, -0.331652, -0.703467> + 8042: < 0.667130, -0.331474, -0.667130> + 8043: < 0.657511, -0.367912, -0.657511> + 8044: < 0.611427, -0.403223, -0.680859> + 8045: < 0.620305, -0.368246, -0.692544> + 8046: < 0.657511, -0.367912, -0.657511> + 8047: < 0.647247, -0.402668, -0.647247> + 8048: < 0.601963, -0.437036, -0.668312> + 8049: < 0.611427, -0.403223, -0.680859> + 8050: < 0.647247, -0.402668, -0.647247> + 8051: < 0.636296, -0.436181, -0.636296> + 8052: < 0.591920, -0.469385, -0.655217> + 8053: < 0.601963, -0.437036, -0.668312> + 8054: < 0.636296, -0.436181, -0.636296> + 8055: < 0.624909, -0.467950, -0.624909> + 8056: < 0.581456, -0.500519, -0.641396> + 8057: < 0.591920, -0.469385, -0.655217> + 8058: < 0.624909, -0.467950, -0.624909> + 8059: < 0.613379, -0.497527, -0.613379> + 8060: < 0.571076, -0.531523, -0.625584> + 8061: < 0.581456, -0.500519, -0.641396> + 8062: < 0.613379, -0.497527, -0.613379> + 8063: < 0.601168, -0.526457, -0.601199> + 8064: < 0.561516, -0.561516, -0.607783> + 8065: < 0.571076, -0.531523, -0.625584> + 8066: < 0.601168, -0.526457, -0.601199> + 8067: < 0.588539, -0.554296, -0.588539> + 8068: < 0.554296, -0.588539, -0.588539> + 8069: < 0.561516, -0.561516, -0.607783> + 8070: < 0.588539, -0.554296, -0.588539> + 8071: < 0.577350, -0.577350, -0.577350> + 8072: < 0.526457, -0.601168, -0.601199> + 8073: < 0.531523, -0.571076, -0.625584> + 8074: < 0.561516, -0.561516, -0.607783> + 8075: < 0.554296, -0.588539, -0.588539> + 8076: < 0.497527, -0.613379, -0.613379> + 8077: < 0.500519, -0.581456, -0.641396> + 8078: < 0.531523, -0.571076, -0.625584> + 8079: < 0.526457, -0.601168, -0.601199> + 8080: < 0.467950, -0.624909, -0.624909> + 8081: < 0.469385, -0.591920, -0.655217> + 8082: < 0.500519, -0.581456, -0.641396> + 8083: < 0.497527, -0.613379, -0.613379> + 8084: < 0.436181, -0.636296, -0.636296> + 8085: < 0.437036, -0.601963, -0.668312> + 8086: < 0.469385, -0.591920, -0.655217> + 8087: < 0.467950, -0.624909, -0.624909> + 8088: < 0.402668, -0.647247, -0.647247> + 8089: < 0.403223, -0.611427, -0.680859> + 8090: < 0.437036, -0.601963, -0.668312> + 8091: < 0.436181, -0.636296, -0.636296> + 8092: < 0.367912, -0.657511, -0.657511> + 8093: < 0.368246, -0.620305, -0.692544> + 8094: < 0.403223, -0.611427, -0.680859> + 8095: < 0.402668, -0.647247, -0.647247> + 8096: < 0.331474, -0.667130, -0.667130> + 8097: < 0.331652, -0.628603, -0.703467> + 8098: < 0.368246, -0.620305, -0.692544> + 8099: < 0.367912, -0.657511, -0.657511> + 8100: < 0.293804, -0.675899, -0.675899> + 8101: < 0.293904, -0.636150, -0.713396> + 8102: < 0.331652, -0.628603, -0.703467> + 8103: < 0.331474, -0.667130, -0.667130> + 8104: < 0.255594, -0.683620, -0.683620> + 8105: < 0.255632, -0.642833, -0.722093> + 8106: < 0.293904, -0.636150, -0.713396> + 8107: < 0.293804, -0.675899, -0.675899> + 8108: < 0.216684, -0.690307, -0.690307> + 8109: < 0.216660, -0.648606, -0.729636> + 8110: < 0.255632, -0.642833, -0.722093> + 8111: < 0.255594, -0.683620, -0.683620> + 8112: < 0.176733, -0.695976, -0.695976> + 8113: < 0.176644, -0.653502, -0.736025> + 8114: < 0.216660, -0.648606, -0.729636> + 8115: < 0.216684, -0.690307, -0.690307> + 8116: < 0.135353, -0.700600, -0.700600> + 8117: < 0.135260, -0.657468, -0.741243> + 8118: < 0.176644, -0.653502, -0.736025> + 8119: < 0.176733, -0.695976, -0.695976> + 8120: < 0.092231, -0.704093, -0.704093> + 8121: < 0.092137, -0.660463, -0.745184> + 8122: < 0.135260, -0.657468, -0.741243> + 8123: < 0.135353, -0.700600, -0.700600> + 8124: < 0.047060, -0.706323, -0.706323> + 8125: < 0.046999, -0.662354, -0.747715> + 8126: < 0.092137, -0.660463, -0.745184> + 8127: < 0.092231, -0.704093, -0.704093> + 8128: < 0.000000, -0.707107, -0.707107> + 8129: < 0.000000, -0.663024, -0.748599> + 8130: < 0.046999, -0.662354, -0.747715> + 8131: < 0.047060, -0.706323, -0.706323> + 8132: <-0.047060, -0.706323, -0.706323> + 8133: <-0.046999, -0.662354, -0.747715> + 8134: < 0.000000, -0.663024, -0.748599> + 8135: < 0.000000, -0.707107, -0.707107> + 8136: <-0.092231, -0.704093, -0.704093> + 8137: <-0.092137, -0.660463, -0.745184> + 8138: <-0.046999, -0.662354, -0.747715> + 8139: <-0.047060, -0.706323, -0.706323> + 8140: <-0.135353, -0.700600, -0.700600> + 8141: <-0.135260, -0.657468, -0.741243> + 8142: <-0.092137, -0.660463, -0.745184> + 8143: <-0.092231, -0.704093, -0.704093> + 8144: <-0.176733, -0.695976, -0.695976> + 8145: <-0.176644, -0.653502, -0.736025> + 8146: <-0.135260, -0.657468, -0.741243> + 8147: <-0.135353, -0.700600, -0.700600> + 8148: <-0.216684, -0.690307, -0.690307> + 8149: <-0.216660, -0.648606, -0.729636> + 8150: <-0.176644, -0.653502, -0.736025> + 8151: <-0.176733, -0.695976, -0.695976> + 8152: <-0.255594, -0.683620, -0.683620> + 8153: <-0.255632, -0.642833, -0.722093> + 8154: <-0.216660, -0.648606, -0.729636> + 8155: <-0.216684, -0.690307, -0.690307> + 8156: <-0.293804, -0.675899, -0.675899> + 8157: <-0.293904, -0.636150, -0.713396> + 8158: <-0.255632, -0.642833, -0.722093> + 8159: <-0.255594, -0.683620, -0.683620> + 8160: <-0.331474, -0.667130, -0.667130> + 8161: <-0.331652, -0.628603, -0.703467> + 8162: <-0.293904, -0.636150, -0.713396> + 8163: <-0.293804, -0.675899, -0.675899> + 8164: <-0.367912, -0.657511, -0.657511> + 8165: <-0.368246, -0.620305, -0.692544> + 8166: <-0.331652, -0.628603, -0.703467> + 8167: <-0.331474, -0.667130, -0.667130> + 8168: <-0.402668, -0.647247, -0.647247> + 8169: <-0.403223, -0.611427, -0.680859> + 8170: <-0.368246, -0.620305, -0.692544> + 8171: <-0.367912, -0.657511, -0.657511> + 8172: <-0.436181, -0.636296, -0.636296> + 8173: <-0.437036, -0.601963, -0.668312> + 8174: <-0.403223, -0.611427, -0.680859> + 8175: <-0.402668, -0.647247, -0.647247> + 8176: <-0.467950, -0.624909, -0.624909> + 8177: <-0.469385, -0.591920, -0.655217> + 8178: <-0.437036, -0.601963, -0.668312> + 8179: <-0.436181, -0.636296, -0.636296> + 8180: <-0.497527, -0.613379, -0.613379> + 8181: <-0.500519, -0.581456, -0.641396> + 8182: <-0.469385, -0.591920, -0.655217> + 8183: <-0.467950, -0.624909, -0.624909> + 8184: <-0.526447, -0.601188, -0.601188> + 8185: <-0.531523, -0.571076, -0.625584> + 8186: <-0.500519, -0.581456, -0.641396> + 8187: <-0.497527, -0.613379, -0.613379> + 8188: <-0.554296, -0.588539, -0.588539> + 8189: <-0.561516, -0.561516, -0.607783> + 8190: <-0.531523, -0.571076, -0.625584> + 8191: <-0.526447, -0.601188, -0.601188> + 8192: < 0.607783, -0.561516, -0.561516> + 8193: < 0.625584, -0.531523, -0.571076> + 8194: < 0.647334, -0.538962, -0.538962> + 8195: < 0.625584, -0.571076, -0.531523> + 8196: < 0.625584, -0.531523, -0.571076> + 8197: < 0.641397, -0.500519, -0.581456> + 8198: < 0.666144, -0.506040, -0.547882> + 8199: < 0.647334, -0.538962, -0.538962> + 8200: < 0.641397, -0.500519, -0.581456> + 8201: < 0.655217, -0.469385, -0.591920> + 8202: < 0.682532, -0.473139, -0.557037> + 8203: < 0.666144, -0.506040, -0.547882> + 8204: < 0.655217, -0.469385, -0.591920> + 8205: < 0.668312, -0.437036, -0.601963> + 8206: < 0.697667, -0.439475, -0.565794> + 8207: < 0.682532, -0.473139, -0.557037> + 8208: < 0.668312, -0.437036, -0.601963> + 8209: < 0.680859, -0.403223, -0.611427> + 8210: < 0.711772, -0.404839, -0.574008> + 8211: < 0.697667, -0.439475, -0.565794> + 8212: < 0.680859, -0.403223, -0.611427> + 8213: < 0.692544, -0.368246, -0.620305> + 8214: < 0.724825, -0.369188, -0.581661> + 8215: < 0.711772, -0.404839, -0.574008> + 8216: < 0.692544, -0.368246, -0.620305> + 8217: < 0.703467, -0.331652, -0.628603> + 8218: < 0.736915, -0.332170, -0.588744> + 8219: < 0.724825, -0.369188, -0.581661> + 8220: < 0.703467, -0.331652, -0.628603> + 8221: < 0.713396, -0.293904, -0.636150> + 8222: < 0.747816, -0.294207, -0.595158> + 8223: < 0.736915, -0.332170, -0.588744> + 8224: < 0.713396, -0.293904, -0.636150> + 8225: < 0.722093, -0.255632, -0.642833> + 8226: < 0.757361, -0.255750, -0.600829> + 8227: < 0.747816, -0.294207, -0.595158> + 8228: < 0.722093, -0.255632, -0.642833> + 8229: < 0.729636, -0.216660, -0.648606> + 8230: < 0.765608, -0.216596, -0.605748> + 8231: < 0.757361, -0.255750, -0.600829> + 8232: < 0.729636, -0.216660, -0.648606> + 8233: < 0.736025, -0.176644, -0.653502> + 8234: < 0.772589, -0.176461, -0.609892> + 8235: < 0.765608, -0.216596, -0.605748> + 8236: < 0.736025, -0.176644, -0.653502> + 8237: < 0.741243, -0.135260, -0.657468> + 8238: < 0.778292, -0.135015, -0.613215> + 8239: < 0.772589, -0.176461, -0.609892> + 8240: < 0.741243, -0.135260, -0.657468> + 8241: < 0.745184, -0.092137, -0.660463> + 8242: < 0.782607, -0.091894, -0.615697> + 8243: < 0.778292, -0.135015, -0.613215> + 8244: < 0.745184, -0.092137, -0.660463> + 8245: < 0.747715, -0.046999, -0.662354> + 8246: < 0.785375, -0.046847, -0.617246> + 8247: < 0.782607, -0.091894, -0.615697> + 8248: < 0.747715, -0.046999, -0.662354> + 8249: < 0.748599, 0.000000, -0.663024> + 8250: < 0.786344, 0.000000, -0.617789> + 8251: < 0.785375, -0.046847, -0.617246> + 8252: < 0.748599, 0.000000, -0.663024> + 8253: < 0.747715, 0.046999, -0.662354> + 8254: < 0.785375, 0.046847, -0.617246> + 8255: < 0.786344, 0.000000, -0.617789> + 8256: < 0.747715, 0.046999, -0.662354> + 8257: < 0.745184, 0.092137, -0.660463> + 8258: < 0.782607, 0.091894, -0.615697> + 8259: < 0.785375, 0.046847, -0.617246> + 8260: < 0.745184, 0.092137, -0.660463> + 8261: < 0.741243, 0.135260, -0.657468> + 8262: < 0.778309, 0.134988, -0.613199> + 8263: < 0.782607, 0.091894, -0.615697> + 8264: < 0.741243, 0.135260, -0.657468> + 8265: < 0.736025, 0.176644, -0.653502> + 8266: < 0.772589, 0.176461, -0.609892> + 8267: < 0.778309, 0.134988, -0.613199> + 8268: < 0.736025, 0.176644, -0.653502> + 8269: < 0.729636, 0.216660, -0.648606> + 8270: < 0.765608, 0.216596, -0.605748> + 8271: < 0.772589, 0.176461, -0.609892> + 8272: < 0.729636, 0.216660, -0.648606> + 8273: < 0.722093, 0.255632, -0.642833> + 8274: < 0.757361, 0.255750, -0.600829> + 8275: < 0.765608, 0.216596, -0.605748> + 8276: < 0.722093, 0.255632, -0.642833> + 8277: < 0.713396, 0.293904, -0.636150> + 8278: < 0.747816, 0.294207, -0.595158> + 8279: < 0.757361, 0.255750, -0.600829> + 8280: < 0.713396, 0.293904, -0.636150> + 8281: < 0.703467, 0.331652, -0.628603> + 8282: < 0.736915, 0.332170, -0.588744> + 8283: < 0.747816, 0.294207, -0.595158> + 8284: < 0.703467, 0.331652, -0.628603> + 8285: < 0.692544, 0.368246, -0.620305> + 8286: < 0.724825, 0.369188, -0.581661> + 8287: < 0.736915, 0.332170, -0.588744> + 8288: < 0.692544, 0.368246, -0.620305> + 8289: < 0.680859, 0.403223, -0.611427> + 8290: < 0.711772, 0.404839, -0.574008> + 8291: < 0.724825, 0.369188, -0.581661> + 8292: < 0.680859, 0.403223, -0.611427> + 8293: < 0.668312, 0.437036, -0.601963> + 8294: < 0.697667, 0.439475, -0.565794> + 8295: < 0.711772, 0.404839, -0.574008> + 8296: < 0.668312, 0.437036, -0.601963> + 8297: < 0.655217, 0.469385, -0.591920> + 8298: < 0.682532, 0.473139, -0.557037> + 8299: < 0.697667, 0.439475, -0.565794> + 8300: < 0.655217, 0.469385, -0.591920> + 8301: < 0.641397, 0.500519, -0.581456> + 8302: < 0.666144, 0.506040, -0.547882> + 8303: < 0.682532, 0.473139, -0.557037> + 8304: < 0.641397, 0.500519, -0.581456> + 8305: < 0.625584, 0.531523, -0.571076> + 8306: < 0.647334, 0.538962, -0.538962> + 8307: < 0.666144, 0.506040, -0.547882> + 8308: < 0.625584, 0.531523, -0.571076> + 8309: < 0.607783, 0.561516, -0.561516> + 8310: < 0.625584, 0.571076, -0.531523> + 8311: < 0.647334, 0.538962, -0.538962> + 8312: < 0.625584, -0.571076, -0.531523> + 8313: < 0.647334, -0.538962, -0.538962> + 8314: < 0.666144, -0.547882, -0.506040> + 8315: < 0.641397, -0.581456, -0.500519> + 8316: < 0.647334, -0.538962, -0.538962> + 8317: < 0.666144, -0.506040, -0.547882> + 8318: < 0.687856, -0.513252, -0.513252> + 8319: < 0.666144, -0.547882, -0.506040> + 8320: < 0.666144, -0.506040, -0.547882> + 8321: < 0.682532, -0.473139, -0.557037> + 8322: < 0.706895, -0.478425, -0.520969> + 8323: < 0.687856, -0.513252, -0.513252> + 8324: < 0.682532, -0.473139, -0.557037> + 8325: < 0.697667, -0.439475, -0.565794> + 8326: < 0.724109, -0.443145, -0.528478> + 8327: < 0.706895, -0.478425, -0.520969> + 8328: < 0.697667, -0.439475, -0.565794> + 8329: < 0.711772, -0.404839, -0.574008> + 8330: < 0.739812, -0.407307, -0.535518> + 8331: < 0.724109, -0.443145, -0.528478> + 8332: < 0.711772, -0.404839, -0.574008> + 8333: < 0.724825, -0.369188, -0.581661> + 8334: < 0.754169, -0.370721, -0.542028> + 8335: < 0.739812, -0.407307, -0.535518> + 8336: < 0.724825, -0.369188, -0.581661> + 8337: < 0.736915, -0.332170, -0.588744> + 8338: < 0.767292, -0.333090, -0.548009> + 8339: < 0.754169, -0.370721, -0.542028> + 8340: < 0.736915, -0.332170, -0.588744> + 8341: < 0.747816, -0.294207, -0.595158> + 8342: < 0.779017, -0.294729, -0.553415> + 8343: < 0.767292, -0.333090, -0.548009> + 8344: < 0.747816, -0.294207, -0.595158> + 8345: < 0.757361, -0.255750, -0.600829> + 8346: < 0.789266, -0.255937, -0.558172> + 8347: < 0.779017, -0.294729, -0.553415> + 8348: < 0.757361, -0.255750, -0.600829> + 8349: < 0.765608, -0.216596, -0.605748> + 8350: < 0.798110, -0.216534, -0.562257> + 8351: < 0.789266, -0.255937, -0.558172> + 8352: < 0.765608, -0.216596, -0.605748> + 8353: < 0.772589, -0.176461, -0.609892> + 8354: < 0.805587, -0.176188, -0.565675> + 8355: < 0.798110, -0.216534, -0.562257> + 8356: < 0.772589, -0.176461, -0.609892> + 8357: < 0.778292, -0.135015, -0.613215> + 8358: < 0.811677, -0.134618, -0.568382> + 8359: < 0.805587, -0.176188, -0.565675> + 8360: < 0.778292, -0.135015, -0.613215> + 8361: < 0.782607, -0.091894, -0.615697> + 8362: < 0.816271, -0.091497, -0.570377> + 8363: < 0.811677, -0.134618, -0.568382> + 8364: < 0.782607, -0.091894, -0.615697> + 8365: < 0.785375, -0.046847, -0.617246> + 8366: < 0.819208, -0.046573, -0.571602> + 8367: < 0.816271, -0.091497, -0.570377> + 8368: < 0.785375, -0.046847, -0.617246> + 8369: < 0.786344, 0.000000, -0.617789> + 8370: < 0.820237, 0.000000, -0.572024> + 8371: < 0.819208, -0.046573, -0.571602> + 8372: < 0.786344, 0.000000, -0.617789> + 8373: < 0.785375, 0.046847, -0.617246> + 8374: < 0.819208, 0.046573, -0.571602> + 8375: < 0.820237, 0.000000, -0.572024> + 8376: < 0.785375, 0.046847, -0.617246> + 8377: < 0.782607, 0.091894, -0.615697> + 8378: < 0.816271, 0.091497, -0.570377> + 8379: < 0.819208, 0.046573, -0.571602> + 8380: < 0.782607, 0.091894, -0.615697> + 8381: < 0.778309, 0.134988, -0.613199> + 8382: < 0.811677, 0.134618, -0.568382> + 8383: < 0.816271, 0.091497, -0.570377> + 8384: < 0.778309, 0.134988, -0.613199> + 8385: < 0.772589, 0.176461, -0.609892> + 8386: < 0.805587, 0.176188, -0.565675> + 8387: < 0.811677, 0.134618, -0.568382> + 8388: < 0.772589, 0.176461, -0.609892> + 8389: < 0.765608, 0.216596, -0.605748> + 8390: < 0.798110, 0.216534, -0.562257> + 8391: < 0.805587, 0.176188, -0.565675> + 8392: < 0.765608, 0.216596, -0.605748> + 8393: < 0.757361, 0.255750, -0.600829> + 8394: < 0.789266, 0.255937, -0.558172> + 8395: < 0.798110, 0.216534, -0.562257> + 8396: < 0.757361, 0.255750, -0.600829> + 8397: < 0.747816, 0.294207, -0.595158> + 8398: < 0.779017, 0.294729, -0.553415> + 8399: < 0.789266, 0.255937, -0.558172> + 8400: < 0.747816, 0.294207, -0.595158> + 8401: < 0.736915, 0.332170, -0.588744> + 8402: < 0.767292, 0.333090, -0.548009> + 8403: < 0.779017, 0.294729, -0.553415> + 8404: < 0.736915, 0.332170, -0.588744> + 8405: < 0.724825, 0.369188, -0.581661> + 8406: < 0.754169, 0.370721, -0.542028> + 8407: < 0.767292, 0.333090, -0.548009> + 8408: < 0.724825, 0.369188, -0.581661> + 8409: < 0.711772, 0.404839, -0.574008> + 8410: < 0.739812, 0.407307, -0.535518> + 8411: < 0.754169, 0.370721, -0.542028> + 8412: < 0.711772, 0.404839, -0.574008> + 8413: < 0.697667, 0.439475, -0.565794> + 8414: < 0.724109, 0.443145, -0.528478> + 8415: < 0.739812, 0.407307, -0.535518> + 8416: < 0.697667, 0.439475, -0.565794> + 8417: < 0.682532, 0.473139, -0.557037> + 8418: < 0.706895, 0.478425, -0.520969> + 8419: < 0.724109, 0.443145, -0.528478> + 8420: < 0.682532, 0.473139, -0.557037> + 8421: < 0.666144, 0.506040, -0.547882> + 8422: < 0.687856, 0.513252, -0.513252> + 8423: < 0.706895, 0.478425, -0.520969> + 8424: < 0.666144, 0.506040, -0.547882> + 8425: < 0.647334, 0.538962, -0.538962> + 8426: < 0.666144, 0.547882, -0.506040> + 8427: < 0.687856, 0.513252, -0.513252> + 8428: < 0.647334, 0.538962, -0.538962> + 8429: < 0.625584, 0.571076, -0.531523> + 8430: < 0.641397, 0.581456, -0.500519> + 8431: < 0.666144, 0.547882, -0.506040> + 8432: < 0.641397, -0.581456, -0.500519> + 8433: < 0.666144, -0.547882, -0.506040> + 8434: < 0.682532, -0.557037, -0.473139> + 8435: < 0.655217, -0.591920, -0.469385> + 8436: < 0.666144, -0.547882, -0.506040> + 8437: < 0.687856, -0.513252, -0.513252> + 8438: < 0.706895, -0.520969, -0.478425> + 8439: < 0.682532, -0.557037, -0.473139> + 8440: < 0.687856, -0.513252, -0.513252> + 8441: < 0.706895, -0.478425, -0.520969> + 8442: < 0.728461, -0.484430, -0.484430> + 8443: < 0.706895, -0.520969, -0.478425> + 8444: < 0.706895, -0.478425, -0.520969> + 8445: < 0.724109, -0.443145, -0.528478> + 8446: < 0.747688, -0.447593, -0.490534> + 8447: < 0.728461, -0.484430, -0.484430> + 8448: < 0.724109, -0.443145, -0.528478> + 8449: < 0.739812, -0.407307, -0.535518> + 8450: < 0.764964, -0.410392, -0.496395> + 8451: < 0.747688, -0.447593, -0.490534> + 8452: < 0.739812, -0.407307, -0.535518> + 8453: < 0.754169, -0.370721, -0.542028> + 8454: < 0.780568, -0.372705, -0.501802> + 8455: < 0.764964, -0.410392, -0.496395> + 8456: < 0.754169, -0.370721, -0.542028> + 8457: < 0.767292, -0.333090, -0.548009> + 8458: < 0.794627, -0.334337, -0.506740> + 8459: < 0.780568, -0.372705, -0.501802> + 8460: < 0.767292, -0.333090, -0.548009> + 8461: < 0.779017, -0.294729, -0.553415> + 8462: < 0.807082, -0.295457, -0.511198> + 8463: < 0.794627, -0.334337, -0.506740> + 8464: < 0.779017, -0.294729, -0.553415> + 8465: < 0.789266, -0.255937, -0.558172> + 8466: < 0.817925, -0.256243, -0.515110> + 8467: < 0.807082, -0.295457, -0.511198> + 8468: < 0.789266, -0.255937, -0.558172> + 8469: < 0.798110, -0.216534, -0.562257> + 8470: < 0.827263, -0.216475, -0.518435> + 8471: < 0.817925, -0.256243, -0.515110> + 8472: < 0.798110, -0.216534, -0.562257> + 8473: < 0.805587, -0.176188, -0.565675> + 8474: < 0.835133, -0.175853, -0.521180> + 8475: < 0.827263, -0.216475, -0.518435> + 8476: < 0.805587, -0.176188, -0.565675> + 8477: < 0.811677, -0.134618, -0.568382> + 8478: < 0.841527, -0.134100, -0.523307> + 8479: < 0.835133, -0.175853, -0.521180> + 8480: < 0.811677, -0.134618, -0.568382> + 8481: < 0.816271, -0.091497, -0.570377> + 8482: < 0.846324, -0.091008, -0.524836> + 8483: < 0.841527, -0.134100, -0.523307> + 8484: < 0.816271, -0.091497, -0.570377> + 8485: < 0.819208, -0.046573, -0.571602> + 8486: < 0.849378, -0.046267, -0.525753> + 8487: < 0.846324, -0.091008, -0.524836> + 8488: < 0.819208, -0.046573, -0.571602> + 8489: < 0.820237, 0.000000, -0.572024> + 8490: < 0.850434, 0.000000, -0.526081> + 8491: < 0.849378, -0.046267, -0.525753> + 8492: < 0.820237, 0.000000, -0.572024> + 8493: < 0.819208, 0.046573, -0.571602> + 8494: < 0.849378, 0.046267, -0.525753> + 8495: < 0.850434, 0.000000, -0.526081> + 8496: < 0.819208, 0.046573, -0.571602> + 8497: < 0.816271, 0.091497, -0.570377> + 8498: < 0.846324, 0.091008, -0.524836> + 8499: < 0.849378, 0.046267, -0.525753> + 8500: < 0.816271, 0.091497, -0.570377> + 8501: < 0.811677, 0.134618, -0.568382> + 8502: < 0.841527, 0.134100, -0.523307> + 8503: < 0.846324, 0.091008, -0.524836> + 8504: < 0.811677, 0.134618, -0.568382> + 8505: < 0.805587, 0.176188, -0.565675> + 8506: < 0.835133, 0.175853, -0.521180> + 8507: < 0.841527, 0.134100, -0.523307> + 8508: < 0.805587, 0.176188, -0.565675> + 8509: < 0.798110, 0.216534, -0.562257> + 8510: < 0.827263, 0.216475, -0.518435> + 8511: < 0.835133, 0.175853, -0.521180> + 8512: < 0.798110, 0.216534, -0.562257> + 8513: < 0.789266, 0.255937, -0.558172> + 8514: < 0.817925, 0.256243, -0.515110> + 8515: < 0.827263, 0.216475, -0.518435> + 8516: < 0.789266, 0.255937, -0.558172> + 8517: < 0.779017, 0.294729, -0.553415> + 8518: < 0.807082, 0.295457, -0.511198> + 8519: < 0.817925, 0.256243, -0.515110> + 8520: < 0.779017, 0.294729, -0.553415> + 8521: < 0.767292, 0.333090, -0.548009> + 8522: < 0.794636, 0.334310, -0.506745> + 8523: < 0.807082, 0.295457, -0.511198> + 8524: < 0.767292, 0.333090, -0.548009> + 8525: < 0.754169, 0.370721, -0.542028> + 8526: < 0.780568, 0.372705, -0.501802> + 8527: < 0.794636, 0.334310, -0.506745> + 8528: < 0.754169, 0.370721, -0.542028> + 8529: < 0.739812, 0.407307, -0.535518> + 8530: < 0.764964, 0.410392, -0.496395> + 8531: < 0.780568, 0.372705, -0.501802> + 8532: < 0.739812, 0.407307, -0.535518> + 8533: < 0.724109, 0.443145, -0.528478> + 8534: < 0.747688, 0.447593, -0.490534> + 8535: < 0.764964, 0.410392, -0.496395> + 8536: < 0.724109, 0.443145, -0.528478> + 8537: < 0.706895, 0.478425, -0.520969> + 8538: < 0.728461, 0.484430, -0.484430> + 8539: < 0.747688, 0.447593, -0.490534> + 8540: < 0.706895, 0.478425, -0.520969> + 8541: < 0.687856, 0.513252, -0.513252> + 8542: < 0.706895, 0.520969, -0.478425> + 8543: < 0.728461, 0.484430, -0.484430> + 8544: < 0.687856, 0.513252, -0.513252> + 8545: < 0.666144, 0.547882, -0.506040> + 8546: < 0.682532, 0.557037, -0.473139> + 8547: < 0.706895, 0.520969, -0.478425> + 8548: < 0.666144, 0.547882, -0.506040> + 8549: < 0.641397, 0.581456, -0.500519> + 8550: < 0.655217, 0.591920, -0.469385> + 8551: < 0.682532, 0.557037, -0.473139> + 8552: < 0.655217, -0.591920, -0.469385> + 8553: < 0.682532, -0.557037, -0.473139> + 8554: < 0.697667, -0.565794, -0.439475> + 8555: < 0.668312, -0.601963, -0.437036> + 8556: < 0.682532, -0.557037, -0.473139> + 8557: < 0.706895, -0.520969, -0.478425> + 8558: < 0.724109, -0.528478, -0.443145> + 8559: < 0.697667, -0.565794, -0.439475> + 8560: < 0.706895, -0.520969, -0.478425> + 8561: < 0.728461, -0.484430, -0.484430> + 8562: < 0.747688, -0.490534, -0.447593> + 8563: < 0.724109, -0.528478, -0.443145> + 8564: < 0.728461, -0.484430, -0.484430> + 8565: < 0.747688, -0.447593, -0.490534> + 8566: < 0.768679, -0.452290, -0.452290> + 8567: < 0.747688, -0.490534, -0.447593> + 8568: < 0.747688, -0.447593, -0.490534> + 8569: < 0.764964, -0.410392, -0.496395> + 8570: < 0.787421, -0.413777, -0.456900> + 8571: < 0.768679, -0.452290, -0.452290> + 8572: < 0.764964, -0.410392, -0.496395> + 8573: < 0.780568, -0.372705, -0.501802> + 8574: < 0.804154, -0.374961, -0.461239> + 8575: < 0.787421, -0.413777, -0.456900> + 8576: < 0.780568, -0.372705, -0.501802> + 8577: < 0.794627, -0.334337, -0.506740> + 8578: < 0.819039, -0.335801, -0.465202> + 8579: < 0.804154, -0.374961, -0.461239> + 8580: < 0.794627, -0.334337, -0.506740> + 8581: < 0.807082, -0.295457, -0.511198> + 8582: < 0.832128, -0.296339, -0.468770> + 8583: < 0.819039, -0.335801, -0.465202> + 8584: < 0.807082, -0.295457, -0.511198> + 8585: < 0.817925, -0.256243, -0.515110> + 8586: < 0.843490, -0.256606, -0.471888> + 8587: < 0.832128, -0.296339, -0.468770> + 8588: < 0.817925, -0.256243, -0.515110> + 8589: < 0.827263, -0.216475, -0.518435> + 8590: < 0.853230, -0.216413, -0.474515> + 8591: < 0.843490, -0.256606, -0.471888> + 8592: < 0.827263, -0.216475, -0.518435> + 8593: < 0.835133, -0.175853, -0.521180> + 8594: < 0.861426, -0.175453, -0.476614> + 8595: < 0.853230, -0.216413, -0.474515> + 8596: < 0.835133, -0.175853, -0.521180> + 8597: < 0.841527, -0.134100, -0.523307> + 8598: < 0.868033, -0.133553, -0.478208> + 8599: < 0.861426, -0.175453, -0.476614> + 8600: < 0.841527, -0.134100, -0.523307> + 8601: < 0.846324, -0.091008, -0.524836> + 8602: < 0.872976, -0.090429, -0.479307> + 8603: < 0.868033, -0.133553, -0.478208> + 8604: < 0.846324, -0.091008, -0.524836> + 8605: < 0.849378, -0.046267, -0.525753> + 8606: < 0.876095, -0.045871, -0.479951> + 8607: < 0.872976, -0.090429, -0.479307> + 8608: < 0.849378, -0.046267, -0.525753> + 8609: < 0.850434, 0.000000, -0.526081> + 8610: < 0.877169, 0.000000, -0.480182> + 8611: < 0.876095, -0.045871, -0.479951> + 8612: < 0.850434, 0.000000, -0.526081> + 8613: < 0.849378, 0.046267, -0.525753> + 8614: < 0.876095, 0.045871, -0.479951> + 8615: < 0.877169, 0.000000, -0.480182> + 8616: < 0.849378, 0.046267, -0.525753> + 8617: < 0.846324, 0.091008, -0.524836> + 8618: < 0.872976, 0.090429, -0.479307> + 8619: < 0.876095, 0.045871, -0.479951> + 8620: < 0.846324, 0.091008, -0.524836> + 8621: < 0.841527, 0.134100, -0.523307> + 8622: < 0.868033, 0.133553, -0.478208> + 8623: < 0.872976, 0.090429, -0.479307> + 8624: < 0.841527, 0.134100, -0.523307> + 8625: < 0.835133, 0.175853, -0.521180> + 8626: < 0.861426, 0.175453, -0.476614> + 8627: < 0.868033, 0.133553, -0.478208> + 8628: < 0.835133, 0.175853, -0.521180> + 8629: < 0.827263, 0.216475, -0.518435> + 8630: < 0.853230, 0.216413, -0.474515> + 8631: < 0.861426, 0.175453, -0.476614> + 8632: < 0.827263, 0.216475, -0.518435> + 8633: < 0.817925, 0.256243, -0.515110> + 8634: < 0.843490, 0.256606, -0.471888> + 8635: < 0.853230, 0.216413, -0.474515> + 8636: < 0.817925, 0.256243, -0.515110> + 8637: < 0.807082, 0.295457, -0.511198> + 8638: < 0.832128, 0.296339, -0.468770> + 8639: < 0.843490, 0.256606, -0.471888> + 8640: < 0.807082, 0.295457, -0.511198> + 8641: < 0.794636, 0.334310, -0.506745> + 8642: < 0.819039, 0.335801, -0.465202> + 8643: < 0.832128, 0.296339, -0.468770> + 8644: < 0.794636, 0.334310, -0.506745> + 8645: < 0.780568, 0.372705, -0.501802> + 8646: < 0.804154, 0.374961, -0.461239> + 8647: < 0.819039, 0.335801, -0.465202> + 8648: < 0.780568, 0.372705, -0.501802> + 8649: < 0.764964, 0.410392, -0.496395> + 8650: < 0.787421, 0.413777, -0.456900> + 8651: < 0.804154, 0.374961, -0.461239> + 8652: < 0.764964, 0.410392, -0.496395> + 8653: < 0.747688, 0.447593, -0.490534> + 8654: < 0.768679, 0.452290, -0.452290> + 8655: < 0.787421, 0.413777, -0.456900> + 8656: < 0.747688, 0.447593, -0.490534> + 8657: < 0.728461, 0.484430, -0.484430> + 8658: < 0.747688, 0.490534, -0.447593> + 8659: < 0.768679, 0.452290, -0.452290> + 8660: < 0.728461, 0.484430, -0.484430> + 8661: < 0.706895, 0.520969, -0.478425> + 8662: < 0.724109, 0.528478, -0.443145> + 8663: < 0.747688, 0.490534, -0.447593> + 8664: < 0.706895, 0.520969, -0.478425> + 8665: < 0.682532, 0.557037, -0.473139> + 8666: < 0.697667, 0.565794, -0.439475> + 8667: < 0.724109, 0.528478, -0.443145> + 8668: < 0.682532, 0.557037, -0.473139> + 8669: < 0.655217, 0.591920, -0.469385> + 8670: < 0.668312, 0.601963, -0.437036> + 8671: < 0.697667, 0.565794, -0.439475> + 8672: < 0.668312, -0.601963, -0.437036> + 8673: < 0.697667, -0.565794, -0.439475> + 8674: < 0.711772, -0.574008, -0.404839> + 8675: < 0.680859, -0.611427, -0.403223> + 8676: < 0.697667, -0.565794, -0.439475> + 8677: < 0.724109, -0.528478, -0.443145> + 8678: < 0.739812, -0.535518, -0.407307> + 8679: < 0.711772, -0.574008, -0.404839> + 8680: < 0.724109, -0.528478, -0.443145> + 8681: < 0.747688, -0.490534, -0.447593> + 8682: < 0.764964, -0.496395, -0.410392> + 8683: < 0.739812, -0.535518, -0.407307> + 8684: < 0.747688, -0.490534, -0.447593> + 8685: < 0.768679, -0.452290, -0.452290> + 8686: < 0.787421, -0.456900, -0.413777> + 8687: < 0.764964, -0.496395, -0.410392> + 8688: < 0.768679, -0.452290, -0.452290> + 8689: < 0.787421, -0.413777, -0.456900> + 8690: < 0.807394, -0.417202, -0.417202> + 8691: < 0.787421, -0.456900, -0.413777> + 8692: < 0.787421, -0.413777, -0.456900> + 8693: < 0.804154, -0.374961, -0.461239> + 8694: < 0.825100, -0.377345, -0.420500> + 8695: < 0.807394, -0.417202, -0.417202> + 8696: < 0.804154, -0.374961, -0.461239> + 8697: < 0.819039, -0.335801, -0.465202> + 8698: < 0.840684, -0.337391, -0.423577> + 8699: < 0.825100, -0.377345, -0.420500> + 8700: < 0.819039, -0.335801, -0.465202> + 8701: < 0.832128, -0.296339, -0.468770> + 8702: < 0.854324, -0.297287, -0.426323> + 8703: < 0.840684, -0.337391, -0.423577> + 8704: < 0.832128, -0.296339, -0.468770> + 8705: < 0.843490, -0.256606, -0.471888> + 8706: < 0.866124, -0.256999, -0.428698> + 8707: < 0.854324, -0.297287, -0.426323> + 8708: < 0.843490, -0.256606, -0.471888> + 8709: < 0.853230, -0.216413, -0.474515> + 8710: < 0.876208, -0.216320, -0.430657> + 8711: < 0.866124, -0.256999, -0.428698> + 8712: < 0.853230, -0.216413, -0.474515> + 8713: < 0.861426, -0.175453, -0.476614> + 8714: < 0.884654, -0.175026, -0.432149> + 8715: < 0.876208, -0.216320, -0.430657> + 8716: < 0.861426, -0.175453, -0.476614> + 8717: < 0.868033, -0.133553, -0.478208> + 8718: < 0.891416, -0.132913, -0.433256> + 8719: < 0.884654, -0.175026, -0.432149> + 8720: < 0.868033, -0.133553, -0.478208> + 8721: < 0.872976, -0.090429, -0.479307> + 8722: < 0.896437, -0.089787, -0.433981> + 8723: < 0.891416, -0.132913, -0.433256> + 8724: < 0.872976, -0.090429, -0.479307> + 8725: < 0.876095, -0.045871, -0.479951> + 8726: < 0.899583, -0.045443, -0.434379> + 8727: < 0.896437, -0.089787, -0.433981> + 8728: < 0.876095, -0.045871, -0.479951> + 8729: < 0.877169, 0.000000, -0.480182> + 8730: < 0.900655, 0.000000, -0.434534> + 8731: < 0.899583, -0.045443, -0.434379> + 8732: < 0.877169, 0.000000, -0.480182> + 8733: < 0.876095, 0.045871, -0.479951> + 8734: < 0.899583, 0.045443, -0.434379> + 8735: < 0.900655, 0.000000, -0.434534> + 8736: < 0.876095, 0.045871, -0.479951> + 8737: < 0.872976, 0.090429, -0.479307> + 8738: < 0.896437, 0.089787, -0.433981> + 8739: < 0.899583, 0.045443, -0.434379> + 8740: < 0.872976, 0.090429, -0.479307> + 8741: < 0.868033, 0.133553, -0.478208> + 8742: < 0.891405, 0.132911, -0.433281> + 8743: < 0.896437, 0.089787, -0.433981> + 8744: < 0.868033, 0.133553, -0.478208> + 8745: < 0.861426, 0.175453, -0.476614> + 8746: < 0.884654, 0.175026, -0.432149> + 8747: < 0.891405, 0.132911, -0.433281> + 8748: < 0.861426, 0.175453, -0.476614> + 8749: < 0.853230, 0.216413, -0.474515> + 8750: < 0.876208, 0.216320, -0.430657> + 8751: < 0.884654, 0.175026, -0.432149> + 8752: < 0.853230, 0.216413, -0.474515> + 8753: < 0.843490, 0.256606, -0.471888> + 8754: < 0.866124, 0.256999, -0.428698> + 8755: < 0.876208, 0.216320, -0.430657> + 8756: < 0.843490, 0.256606, -0.471888> + 8757: < 0.832128, 0.296339, -0.468770> + 8758: < 0.854324, 0.297287, -0.426323> + 8759: < 0.866124, 0.256999, -0.428698> + 8760: < 0.832128, 0.296339, -0.468770> + 8761: < 0.819039, 0.335801, -0.465202> + 8762: < 0.840684, 0.337391, -0.423577> + 8763: < 0.854324, 0.297287, -0.426323> + 8764: < 0.819039, 0.335801, -0.465202> + 8765: < 0.804154, 0.374961, -0.461239> + 8766: < 0.825100, 0.377345, -0.420500> + 8767: < 0.840684, 0.337391, -0.423577> + 8768: < 0.804154, 0.374961, -0.461239> + 8769: < 0.787421, 0.413777, -0.456900> + 8770: < 0.807394, 0.417202, -0.417202> + 8771: < 0.825100, 0.377345, -0.420500> + 8772: < 0.787421, 0.413777, -0.456900> + 8773: < 0.768679, 0.452290, -0.452290> + 8774: < 0.787421, 0.456900, -0.413777> + 8775: < 0.807394, 0.417202, -0.417202> + 8776: < 0.768679, 0.452290, -0.452290> + 8777: < 0.747688, 0.490534, -0.447593> + 8778: < 0.764976, 0.496372, -0.410398> + 8779: < 0.787421, 0.456900, -0.413777> + 8780: < 0.747688, 0.490534, -0.447593> + 8781: < 0.724109, 0.528478, -0.443145> + 8782: < 0.739812, 0.535518, -0.407307> + 8783: < 0.764976, 0.496372, -0.410398> + 8784: < 0.724109, 0.528478, -0.443145> + 8785: < 0.697667, 0.565794, -0.439475> + 8786: < 0.711772, 0.574008, -0.404839> + 8787: < 0.739812, 0.535518, -0.407307> + 8788: < 0.697667, 0.565794, -0.439475> + 8789: < 0.668312, 0.601963, -0.437036> + 8790: < 0.680859, 0.611427, -0.403223> + 8791: < 0.711772, 0.574008, -0.404839> + 8792: < 0.680859, -0.611427, -0.403223> + 8793: < 0.711772, -0.574008, -0.404839> + 8794: < 0.724825, -0.581661, -0.369188> + 8795: < 0.692544, -0.620305, -0.368246> + 8796: < 0.711772, -0.574008, -0.404839> + 8797: < 0.739812, -0.535518, -0.407307> + 8798: < 0.754169, -0.542028, -0.370721> + 8799: < 0.724825, -0.581661, -0.369188> + 8800: < 0.739812, -0.535518, -0.407307> + 8801: < 0.764964, -0.496395, -0.410392> + 8802: < 0.780568, -0.501802, -0.372705> + 8803: < 0.754169, -0.542028, -0.370721> + 8804: < 0.764964, -0.496395, -0.410392> + 8805: < 0.787421, -0.456900, -0.413777> + 8806: < 0.804154, -0.461239, -0.374961> + 8807: < 0.780568, -0.501802, -0.372705> + 8808: < 0.787421, -0.456900, -0.413777> + 8809: < 0.807394, -0.417202, -0.417202> + 8810: < 0.825100, -0.420500, -0.377345> + 8811: < 0.804154, -0.461239, -0.374961> + 8812: < 0.807394, -0.417202, -0.417202> + 8813: < 0.825100, -0.377345, -0.420500> + 8814: < 0.843551, -0.379751, -0.379751> + 8815: < 0.825100, -0.420500, -0.377345> + 8816: < 0.825100, -0.377345, -0.420500> + 8817: < 0.840684, -0.337391, -0.423577> + 8818: < 0.859750, -0.339005, -0.381976> + 8819: < 0.843551, -0.379751, -0.379751> + 8820: < 0.840684, -0.337391, -0.423577> + 8821: < 0.854324, -0.297287, -0.426323> + 8822: < 0.873840, -0.298259, -0.383986> + 8823: < 0.859750, -0.339005, -0.381976> + 8824: < 0.854324, -0.297287, -0.426323> + 8825: < 0.866124, -0.256999, -0.428698> + 8826: < 0.886018, -0.257364, -0.385664> + 8827: < 0.873840, -0.298259, -0.383986> + 8828: < 0.866124, -0.256999, -0.428698> + 8829: < 0.876208, -0.216320, -0.430657> + 8830: < 0.896382, -0.216199, -0.386985> + 8831: < 0.886018, -0.257364, -0.385664> + 8832: < 0.876208, -0.216320, -0.430657> + 8833: < 0.884654, -0.175026, -0.432149> + 8834: < 0.904997, -0.174541, -0.387965> + 8835: < 0.896382, -0.216199, -0.386985> + 8836: < 0.884654, -0.175026, -0.432149> + 8837: < 0.891416, -0.132913, -0.433256> + 8838: < 0.911854, -0.132240, -0.388632> + 8839: < 0.904997, -0.174541, -0.387965> + 8840: < 0.891416, -0.132913, -0.433256> + 8841: < 0.896437, -0.089787, -0.433981> + 8842: < 0.916918, -0.089116, -0.388998> + 8843: < 0.911854, -0.132240, -0.388632> + 8844: < 0.896437, -0.089787, -0.433981> + 8845: < 0.899583, -0.045443, -0.434379> + 8846: < 0.920061, -0.045016, -0.389180> + 8847: < 0.916918, -0.089116, -0.388998> + 8848: < 0.899583, -0.045443, -0.434379> + 8849: < 0.900655, 0.000000, -0.434534> + 8850: < 0.921135, 0.000000, -0.389244> + 8851: < 0.920061, -0.045016, -0.389180> + 8852: < 0.900655, 0.000000, -0.434534> + 8853: < 0.899583, 0.045443, -0.434379> + 8854: < 0.920061, 0.045016, -0.389180> + 8855: < 0.921135, 0.000000, -0.389244> + 8856: < 0.899583, 0.045443, -0.434379> + 8857: < 0.896437, 0.089787, -0.433981> + 8858: < 0.916918, 0.089116, -0.388998> + 8859: < 0.920061, 0.045016, -0.389180> + 8860: < 0.896437, 0.089787, -0.433981> + 8861: < 0.891405, 0.132911, -0.433281> + 8862: < 0.911854, 0.132240, -0.388632> + 8863: < 0.916918, 0.089116, -0.388998> + 8864: < 0.891405, 0.132911, -0.433281> + 8865: < 0.884654, 0.175026, -0.432149> + 8866: < 0.904997, 0.174541, -0.387965> + 8867: < 0.911854, 0.132240, -0.388632> + 8868: < 0.884654, 0.175026, -0.432149> + 8869: < 0.876208, 0.216320, -0.430657> + 8870: < 0.896382, 0.216199, -0.386985> + 8871: < 0.904997, 0.174541, -0.387965> + 8872: < 0.876208, 0.216320, -0.430657> + 8873: < 0.866124, 0.256999, -0.428698> + 8874: < 0.886018, 0.257364, -0.385664> + 8875: < 0.896382, 0.216199, -0.386985> + 8876: < 0.866124, 0.256999, -0.428698> + 8877: < 0.854324, 0.297287, -0.426323> + 8878: < 0.873848, 0.298231, -0.383989> + 8879: < 0.886018, 0.257364, -0.385664> + 8880: < 0.854324, 0.297287, -0.426323> + 8881: < 0.840684, 0.337391, -0.423577> + 8882: < 0.859750, 0.339005, -0.381976> + 8883: < 0.873848, 0.298231, -0.383989> + 8884: < 0.840684, 0.337391, -0.423577> + 8885: < 0.825100, 0.377345, -0.420500> + 8886: < 0.843551, 0.379751, -0.379751> + 8887: < 0.859750, 0.339005, -0.381976> + 8888: < 0.825100, 0.377345, -0.420500> + 8889: < 0.807394, 0.417202, -0.417202> + 8890: < 0.825100, 0.420500, -0.377345> + 8891: < 0.843551, 0.379751, -0.379751> + 8892: < 0.807394, 0.417202, -0.417202> + 8893: < 0.787421, 0.456900, -0.413777> + 8894: < 0.804154, 0.461239, -0.374961> + 8895: < 0.825100, 0.420500, -0.377345> + 8896: < 0.787421, 0.456900, -0.413777> + 8897: < 0.764976, 0.496372, -0.410398> + 8898: < 0.780568, 0.501802, -0.372705> + 8899: < 0.804154, 0.461239, -0.374961> + 8900: < 0.764976, 0.496372, -0.410398> + 8901: < 0.739812, 0.535518, -0.407307> + 8902: < 0.754169, 0.542028, -0.370721> + 8903: < 0.780568, 0.501802, -0.372705> + 8904: < 0.739812, 0.535518, -0.407307> + 8905: < 0.711772, 0.574008, -0.404839> + 8906: < 0.724825, 0.581661, -0.369188> + 8907: < 0.754169, 0.542028, -0.370721> + 8908: < 0.711772, 0.574008, -0.404839> + 8909: < 0.680859, 0.611427, -0.403223> + 8910: < 0.692544, 0.620305, -0.368246> + 8911: < 0.724825, 0.581661, -0.369188> + 8912: < 0.692544, -0.620305, -0.368246> + 8913: < 0.724825, -0.581661, -0.369188> + 8914: < 0.736915, -0.588744, -0.332170> + 8915: < 0.703467, -0.628603, -0.331652> + 8916: < 0.724825, -0.581661, -0.369188> + 8917: < 0.754169, -0.542028, -0.370721> + 8918: < 0.767292, -0.548009, -0.333090> + 8919: < 0.736915, -0.588744, -0.332170> + 8920: < 0.754169, -0.542028, -0.370721> + 8921: < 0.780568, -0.501802, -0.372705> + 8922: < 0.794636, -0.506745, -0.334310> + 8923: < 0.767292, -0.548009, -0.333090> + 8924: < 0.780568, -0.501802, -0.372705> + 8925: < 0.804154, -0.461239, -0.374961> + 8926: < 0.819039, -0.465202, -0.335801> + 8927: < 0.794636, -0.506745, -0.334310> + 8928: < 0.804154, -0.461239, -0.374961> + 8929: < 0.825100, -0.420500, -0.377345> + 8930: < 0.840684, -0.423577, -0.337391> + 8931: < 0.819039, -0.465202, -0.335801> + 8932: < 0.825100, -0.420500, -0.377345> + 8933: < 0.843551, -0.379751, -0.379751> + 8934: < 0.859750, -0.381976, -0.339005> + 8935: < 0.840684, -0.423577, -0.337391> + 8936: < 0.843551, -0.379751, -0.379751> + 8937: < 0.859750, -0.339005, -0.381976> + 8938: < 0.876422, -0.340503, -0.340503> + 8939: < 0.859750, -0.381976, -0.339005> + 8940: < 0.859750, -0.339005, -0.381976> + 8941: < 0.873840, -0.298259, -0.383986> + 8942: < 0.890906, -0.299085, -0.341811> + 8943: < 0.876422, -0.340503, -0.340503> + 8944: < 0.873840, -0.298259, -0.383986> + 8945: < 0.886018, -0.257364, -0.385664> + 8946: < 0.903367, -0.257643, -0.342852> + 8947: < 0.890906, -0.299085, -0.341811> + 8948: < 0.886018, -0.257364, -0.385664> + 8949: < 0.896382, -0.216199, -0.386985> + 8950: < 0.913949, -0.215982, -0.343582> + 8951: < 0.903367, -0.257643, -0.342852> + 8952: < 0.896382, -0.216199, -0.386985> + 8953: < 0.904997, -0.174541, -0.387965> + 8954: < 0.922682, -0.173989, -0.344072> + 8955: < 0.913949, -0.215982, -0.343582> + 8956: < 0.904997, -0.174541, -0.387965> + 8957: < 0.911854, -0.132240, -0.388632> + 8958: < 0.929596, -0.131509, -0.344322> + 8959: < 0.922682, -0.173989, -0.344072> + 8960: < 0.911854, -0.132240, -0.388632> + 8961: < 0.916918, -0.089116, -0.388998> + 8962: < 0.934648, -0.088414, -0.344408> + 8963: < 0.929596, -0.131509, -0.344322> + 8964: < 0.916918, -0.089116, -0.388998> + 8965: < 0.920061, -0.045016, -0.389180> + 8966: < 0.937762, -0.044558, -0.344409> + 8967: < 0.934648, -0.088414, -0.344408> + 8968: < 0.920061, -0.045016, -0.389180> + 8969: < 0.921135, 0.000000, -0.389244> + 8970: < 0.938821, 0.000000, -0.344405> + 8971: < 0.937762, -0.044558, -0.344409> + 8972: < 0.921135, 0.000000, -0.389244> + 8973: < 0.920061, 0.045016, -0.389180> + 8974: < 0.937762, 0.044558, -0.344409> + 8975: < 0.938821, 0.000000, -0.344405> + 8976: < 0.920061, 0.045016, -0.389180> + 8977: < 0.916918, 0.089116, -0.388998> + 8978: < 0.934648, 0.088414, -0.344408> + 8979: < 0.937762, 0.044558, -0.344409> + 8980: < 0.916918, 0.089116, -0.388998> + 8981: < 0.911854, 0.132240, -0.388632> + 8982: < 0.929596, 0.131509, -0.344322> + 8983: < 0.934648, 0.088414, -0.344408> + 8984: < 0.911854, 0.132240, -0.388632> + 8985: < 0.904997, 0.174541, -0.387965> + 8986: < 0.922682, 0.173989, -0.344072> + 8987: < 0.929596, 0.131509, -0.344322> + 8988: < 0.904997, 0.174541, -0.387965> + 8989: < 0.896382, 0.216199, -0.386985> + 8990: < 0.913949, 0.215982, -0.343582> + 8991: < 0.922682, 0.173989, -0.344072> + 8992: < 0.896382, 0.216199, -0.386985> + 8993: < 0.886018, 0.257364, -0.385664> + 8994: < 0.903367, 0.257643, -0.342852> + 8995: < 0.913949, 0.215982, -0.343582> + 8996: < 0.886018, 0.257364, -0.385664> + 8997: < 0.873848, 0.298231, -0.383989> + 8998: < 0.890906, 0.299085, -0.341811> + 8999: < 0.903367, 0.257643, -0.342852> + 9000: < 0.873848, 0.298231, -0.383989> + 9001: < 0.859750, 0.339005, -0.381976> + 9002: < 0.876422, 0.340503, -0.340503> + 9003: < 0.890906, 0.299085, -0.341811> + 9004: < 0.859750, 0.339005, -0.381976> + 9005: < 0.843551, 0.379751, -0.379751> + 9006: < 0.859750, 0.381976, -0.339005> + 9007: < 0.876422, 0.340503, -0.340503> + 9008: < 0.843551, 0.379751, -0.379751> + 9009: < 0.825100, 0.420500, -0.377345> + 9010: < 0.840684, 0.423577, -0.337391> + 9011: < 0.859750, 0.381976, -0.339005> + 9012: < 0.825100, 0.420500, -0.377345> + 9013: < 0.804154, 0.461239, -0.374961> + 9014: < 0.819039, 0.465202, -0.335801> + 9015: < 0.840684, 0.423577, -0.337391> + 9016: < 0.804154, 0.461239, -0.374961> + 9017: < 0.780568, 0.501802, -0.372705> + 9018: < 0.794636, 0.506745, -0.334310> + 9019: < 0.819039, 0.465202, -0.335801> + 9020: < 0.780568, 0.501802, -0.372705> + 9021: < 0.754169, 0.542028, -0.370721> + 9022: < 0.767292, 0.548009, -0.333090> + 9023: < 0.794636, 0.506745, -0.334310> + 9024: < 0.754169, 0.542028, -0.370721> + 9025: < 0.724825, 0.581661, -0.369188> + 9026: < 0.736915, 0.588744, -0.332170> + 9027: < 0.767292, 0.548009, -0.333090> + 9028: < 0.724825, 0.581661, -0.369188> + 9029: < 0.692544, 0.620305, -0.368246> + 9030: < 0.703467, 0.628603, -0.331652> + 9031: < 0.736915, 0.588744, -0.332170> + 9032: < 0.703467, -0.628603, -0.331652> + 9033: < 0.736915, -0.588744, -0.332170> + 9034: < 0.747816, -0.595158, -0.294207> + 9035: < 0.713382, -0.636169, -0.293898> + 9036: < 0.736915, -0.588744, -0.332170> + 9037: < 0.767292, -0.548009, -0.333090> + 9038: < 0.779017, -0.553415, -0.294729> + 9039: < 0.747816, -0.595158, -0.294207> + 9040: < 0.767292, -0.548009, -0.333090> + 9041: < 0.794636, -0.506745, -0.334310> + 9042: < 0.807082, -0.511198, -0.295457> + 9043: < 0.779017, -0.553415, -0.294729> + 9044: < 0.794636, -0.506745, -0.334310> + 9045: < 0.819039, -0.465202, -0.335801> + 9046: < 0.832128, -0.468770, -0.296339> + 9047: < 0.807082, -0.511198, -0.295457> + 9048: < 0.819039, -0.465202, -0.335801> + 9049: < 0.840684, -0.423577, -0.337391> + 9050: < 0.854324, -0.426323, -0.297287> + 9051: < 0.832128, -0.468770, -0.296339> + 9052: < 0.840684, -0.423577, -0.337391> + 9053: < 0.859750, -0.381976, -0.339005> + 9054: < 0.873848, -0.383989, -0.298231> + 9055: < 0.854324, -0.426323, -0.297287> + 9056: < 0.859750, -0.381976, -0.339005> + 9057: < 0.876422, -0.340503, -0.340503> + 9058: < 0.890906, -0.341811, -0.299085> + 9059: < 0.873848, -0.383989, -0.298231> + 9060: < 0.876422, -0.340503, -0.340503> + 9061: < 0.890906, -0.299085, -0.341811> + 9062: < 0.905696, -0.299762, -0.299762> + 9063: < 0.890906, -0.341811, -0.299085> + 9064: < 0.890906, -0.299085, -0.341811> + 9065: < 0.903367, -0.257643, -0.342852> + 9066: < 0.918390, -0.257736, -0.300219> + 9067: < 0.905696, -0.299762, -0.299762> + 9068: < 0.903367, -0.257643, -0.342852> + 9069: < 0.913949, -0.215982, -0.343582> + 9070: < 0.929096, -0.215649, -0.300461> + 9071: < 0.918390, -0.257736, -0.300219> + 9072: < 0.913949, -0.215982, -0.343582> + 9073: < 0.922682, -0.173989, -0.344072> + 9074: < 0.937897, -0.173351, -0.300496> + 9075: < 0.929096, -0.215649, -0.300461> + 9076: < 0.922682, -0.173989, -0.344072> + 9077: < 0.929596, -0.131509, -0.344322> + 9078: < 0.944802, -0.130743, -0.300427> + 9079: < 0.937897, -0.173351, -0.300496> + 9080: < 0.929596, -0.131509, -0.344322> + 9081: < 0.934648, -0.088414, -0.344408> + 9082: < 0.949820, -0.087712, -0.300248> + 9083: < 0.944802, -0.130743, -0.300427> + 9084: < 0.934648, -0.088414, -0.344408> + 9085: < 0.937762, -0.044558, -0.344409> + 9086: < 0.952889, -0.044130, -0.300092> + 9087: < 0.949820, -0.087712, -0.300248> + 9088: < 0.937762, -0.044558, -0.344409> + 9089: < 0.938821, 0.000000, -0.344405> + 9090: < 0.953921, 0.000000, -0.300059> + 9091: < 0.952889, -0.044130, -0.300092> + 9092: < 0.938821, 0.000000, -0.344405> + 9093: < 0.937762, 0.044558, -0.344409> + 9094: < 0.952889, 0.044130, -0.300092> + 9095: < 0.953921, 0.000000, -0.300059> + 9096: < 0.937762, 0.044558, -0.344409> + 9097: < 0.934648, 0.088414, -0.344408> + 9098: < 0.949820, 0.087712, -0.300248> + 9099: < 0.952889, 0.044130, -0.300092> + 9100: < 0.934648, 0.088414, -0.344408> + 9101: < 0.929596, 0.131509, -0.344322> + 9102: < 0.944802, 0.130743, -0.300427> + 9103: < 0.949820, 0.087712, -0.300248> + 9104: < 0.929596, 0.131509, -0.344322> + 9105: < 0.922682, 0.173989, -0.344072> + 9106: < 0.937897, 0.173351, -0.300496> + 9107: < 0.944802, 0.130743, -0.300427> + 9108: < 0.922682, 0.173989, -0.344072> + 9109: < 0.913949, 0.215982, -0.343582> + 9110: < 0.929096, 0.215649, -0.300461> + 9111: < 0.937897, 0.173351, -0.300496> + 9112: < 0.913949, 0.215982, -0.343582> + 9113: < 0.903367, 0.257643, -0.342852> + 9114: < 0.918390, 0.257736, -0.300219> + 9115: < 0.929096, 0.215649, -0.300461> + 9116: < 0.903367, 0.257643, -0.342852> + 9117: < 0.890906, 0.299085, -0.341811> + 9118: < 0.905696, 0.299762, -0.299762> + 9119: < 0.918390, 0.257736, -0.300219> + 9120: < 0.890906, 0.299085, -0.341811> + 9121: < 0.876422, 0.340503, -0.340503> + 9122: < 0.890906, 0.341811, -0.299085> + 9123: < 0.905696, 0.299762, -0.299762> + 9124: < 0.876422, 0.340503, -0.340503> + 9125: < 0.859750, 0.381976, -0.339005> + 9126: < 0.873851, 0.383960, -0.298262> + 9127: < 0.890906, 0.341811, -0.299085> + 9128: < 0.859750, 0.381976, -0.339005> + 9129: < 0.840684, 0.423577, -0.337391> + 9130: < 0.854324, 0.426323, -0.297287> + 9131: < 0.873851, 0.383960, -0.298262> + 9132: < 0.840684, 0.423577, -0.337391> + 9133: < 0.819039, 0.465202, -0.335801> + 9134: < 0.832128, 0.468770, -0.296339> + 9135: < 0.854324, 0.426323, -0.297287> + 9136: < 0.819039, 0.465202, -0.335801> + 9137: < 0.794636, 0.506745, -0.334310> + 9138: < 0.807082, 0.511198, -0.295457> + 9139: < 0.832128, 0.468770, -0.296339> + 9140: < 0.794636, 0.506745, -0.334310> + 9141: < 0.767292, 0.548009, -0.333090> + 9142: < 0.779017, 0.553415, -0.294729> + 9143: < 0.807082, 0.511198, -0.295457> + 9144: < 0.767292, 0.548009, -0.333090> + 9145: < 0.736915, 0.588744, -0.332170> + 9146: < 0.747816, 0.595158, -0.294207> + 9147: < 0.779017, 0.553415, -0.294729> + 9148: < 0.736915, 0.588744, -0.332170> + 9149: < 0.703467, 0.628603, -0.331652> + 9150: < 0.713396, 0.636150, -0.293904> + 9151: < 0.747816, 0.595158, -0.294207> + 9152: < 0.713382, -0.636169, -0.293898> + 9153: < 0.747816, -0.595158, -0.294207> + 9154: < 0.757361, -0.600829, -0.255750> + 9155: < 0.722093, -0.642833, -0.255632> + 9156: < 0.747816, -0.595158, -0.294207> + 9157: < 0.779017, -0.553415, -0.294729> + 9158: < 0.789266, -0.558172, -0.255937> + 9159: < 0.757361, -0.600829, -0.255750> + 9160: < 0.779017, -0.553415, -0.294729> + 9161: < 0.807082, -0.511198, -0.295457> + 9162: < 0.817925, -0.515110, -0.256243> + 9163: < 0.789266, -0.558172, -0.255937> + 9164: < 0.807082, -0.511198, -0.295457> + 9165: < 0.832128, -0.468770, -0.296339> + 9166: < 0.843490, -0.471888, -0.256606> + 9167: < 0.817925, -0.515110, -0.256243> + 9168: < 0.832128, -0.468770, -0.296339> + 9169: < 0.854324, -0.426323, -0.297287> + 9170: < 0.866124, -0.428698, -0.256999> + 9171: < 0.843490, -0.471888, -0.256606> + 9172: < 0.854324, -0.426323, -0.297287> + 9173: < 0.873848, -0.383989, -0.298231> + 9174: < 0.886018, -0.385664, -0.257364> + 9175: < 0.866124, -0.428698, -0.256999> + 9176: < 0.873848, -0.383989, -0.298231> + 9177: < 0.890906, -0.341811, -0.299085> + 9178: < 0.903367, -0.342852, -0.257643> + 9179: < 0.886018, -0.385664, -0.257364> + 9180: < 0.890906, -0.341811, -0.299085> + 9181: < 0.905696, -0.299762, -0.299762> + 9182: < 0.918390, -0.300219, -0.257736> + 9183: < 0.903367, -0.342852, -0.257643> + 9184: < 0.905696, -0.299762, -0.299762> + 9185: < 0.918390, -0.257736, -0.300219> + 9186: < 0.931225, -0.257702, -0.257702> + 9187: < 0.918390, -0.300219, -0.257736> + 9188: < 0.918390, -0.257736, -0.300219> + 9189: < 0.929096, -0.215649, -0.300461> + 9190: < 0.942000, -0.215220, -0.257519> + 9191: < 0.931225, -0.257702, -0.257702> + 9192: < 0.929096, -0.215649, -0.300461> + 9193: < 0.937897, -0.173351, -0.300496> + 9194: < 0.950800, -0.172679, -0.257217> + 9195: < 0.942000, -0.215220, -0.257519> + 9196: < 0.937897, -0.173351, -0.300496> + 9197: < 0.944802, -0.130743, -0.300427> + 9198: < 0.957663, -0.129981, -0.256880> + 9199: < 0.950800, -0.172679, -0.257217> + 9200: < 0.944802, -0.130743, -0.300427> + 9201: < 0.949820, -0.087712, -0.300248> + 9202: < 0.962605, -0.087041, -0.256544> + 9203: < 0.957663, -0.129981, -0.256880> + 9204: < 0.949820, -0.087712, -0.300248> + 9205: < 0.952889, -0.044130, -0.300092> + 9206: < 0.965618, -0.043703, -0.256267> + 9207: < 0.962605, -0.087041, -0.256544> + 9208: < 0.952889, -0.044130, -0.300092> + 9209: < 0.953921, 0.000000, -0.300059> + 9210: < 0.966630, 0.000000, -0.256177> + 9211: < 0.965618, -0.043703, -0.256267> + 9212: < 0.953921, 0.000000, -0.300059> + 9213: < 0.952889, 0.044130, -0.300092> + 9214: < 0.965618, 0.043703, -0.256267> + 9215: < 0.966630, 0.000000, -0.256177> + 9216: < 0.952889, 0.044130, -0.300092> + 9217: < 0.949820, 0.087712, -0.300248> + 9218: < 0.962605, 0.087041, -0.256544> + 9219: < 0.965618, 0.043703, -0.256267> + 9220: < 0.949820, 0.087712, -0.300248> + 9221: < 0.944802, 0.130743, -0.300427> + 9222: < 0.957663, 0.129981, -0.256880> + 9223: < 0.962605, 0.087041, -0.256544> + 9224: < 0.944802, 0.130743, -0.300427> + 9225: < 0.937897, 0.173351, -0.300496> + 9226: < 0.950800, 0.172679, -0.257217> + 9227: < 0.957663, 0.129981, -0.256880> + 9228: < 0.937897, 0.173351, -0.300496> + 9229: < 0.929096, 0.215649, -0.300461> + 9230: < 0.942000, 0.215220, -0.257519> + 9231: < 0.950800, 0.172679, -0.257217> + 9232: < 0.929096, 0.215649, -0.300461> + 9233: < 0.918390, 0.257736, -0.300219> + 9234: < 0.931225, 0.257702, -0.257702> + 9235: < 0.942000, 0.215220, -0.257519> + 9236: < 0.918390, 0.257736, -0.300219> + 9237: < 0.905696, 0.299762, -0.299762> + 9238: < 0.918390, 0.300219, -0.257736> + 9239: < 0.931225, 0.257702, -0.257702> + 9240: < 0.905696, 0.299762, -0.299762> + 9241: < 0.890906, 0.341811, -0.299085> + 9242: < 0.903367, 0.342852, -0.257643> + 9243: < 0.918390, 0.300219, -0.257736> + 9244: < 0.890906, 0.341811, -0.299085> + 9245: < 0.873851, 0.383960, -0.298262> + 9246: < 0.886018, 0.385664, -0.257364> + 9247: < 0.903367, 0.342852, -0.257643> + 9248: < 0.873851, 0.383960, -0.298262> + 9249: < 0.854324, 0.426323, -0.297287> + 9250: < 0.866124, 0.428698, -0.256999> + 9251: < 0.886018, 0.385664, -0.257364> + 9252: < 0.854324, 0.426323, -0.297287> + 9253: < 0.832128, 0.468770, -0.296339> + 9254: < 0.843490, 0.471888, -0.256606> + 9255: < 0.866124, 0.428698, -0.256999> + 9256: < 0.832128, 0.468770, -0.296339> + 9257: < 0.807082, 0.511198, -0.295457> + 9258: < 0.817925, 0.515110, -0.256243> + 9259: < 0.843490, 0.471888, -0.256606> + 9260: < 0.807082, 0.511198, -0.295457> + 9261: < 0.779017, 0.553415, -0.294729> + 9262: < 0.789266, 0.558172, -0.255937> + 9263: < 0.817925, 0.515110, -0.256243> + 9264: < 0.779017, 0.553415, -0.294729> + 9265: < 0.747816, 0.595158, -0.294207> + 9266: < 0.757361, 0.600829, -0.255750> + 9267: < 0.789266, 0.558172, -0.255937> + 9268: < 0.747816, 0.595158, -0.294207> + 9269: < 0.713396, 0.636150, -0.293904> + 9270: < 0.722093, 0.642833, -0.255632> + 9271: < 0.757361, 0.600829, -0.255750> + 9272: < 0.722093, -0.642833, -0.255632> + 9273: < 0.757361, -0.600829, -0.255750> + 9274: < 0.765608, -0.605748, -0.216596> + 9275: < 0.729636, -0.648606, -0.216660> + 9276: < 0.757361, -0.600829, -0.255750> + 9277: < 0.789266, -0.558172, -0.255937> + 9278: < 0.798110, -0.562257, -0.216534> + 9279: < 0.765608, -0.605748, -0.216596> + 9280: < 0.789266, -0.558172, -0.255937> + 9281: < 0.817925, -0.515110, -0.256243> + 9282: < 0.827263, -0.518435, -0.216475> + 9283: < 0.798110, -0.562257, -0.216534> + 9284: < 0.817925, -0.515110, -0.256243> + 9285: < 0.843490, -0.471888, -0.256606> + 9286: < 0.853230, -0.474515, -0.216413> + 9287: < 0.827263, -0.518435, -0.216475> + 9288: < 0.843490, -0.471888, -0.256606> + 9289: < 0.866124, -0.428698, -0.256999> + 9290: < 0.876208, -0.430657, -0.216320> + 9291: < 0.853230, -0.474515, -0.216413> + 9292: < 0.866124, -0.428698, -0.256999> + 9293: < 0.886018, -0.385664, -0.257364> + 9294: < 0.896382, -0.386985, -0.216199> + 9295: < 0.876208, -0.430657, -0.216320> + 9296: < 0.886018, -0.385664, -0.257364> + 9297: < 0.903367, -0.342852, -0.257643> + 9298: < 0.913949, -0.343582, -0.215982> + 9299: < 0.896382, -0.386985, -0.216199> + 9300: < 0.903367, -0.342852, -0.257643> + 9301: < 0.918390, -0.300219, -0.257736> + 9302: < 0.929096, -0.300461, -0.215649> + 9303: < 0.913949, -0.343582, -0.215982> + 9304: < 0.918390, -0.300219, -0.257736> + 9305: < 0.931225, -0.257702, -0.257702> + 9306: < 0.942000, -0.257519, -0.215220> + 9307: < 0.929096, -0.300461, -0.215649> + 9308: < 0.931225, -0.257702, -0.257702> + 9309: < 0.942000, -0.215220, -0.257519> + 9310: < 0.952775, -0.214732, -0.214732> + 9311: < 0.942000, -0.257519, -0.215220> + 9312: < 0.942000, -0.215220, -0.257519> + 9313: < 0.950800, -0.172679, -0.257217> + 9314: < 0.961530, -0.172005, -0.214182> + 9315: < 0.952775, -0.214732, -0.214732> + 9316: < 0.950800, -0.172679, -0.257217> + 9317: < 0.957663, -0.129981, -0.256880> + 9318: < 0.968319, -0.129250, -0.213666> + 9319: < 0.961530, -0.172005, -0.214182> + 9320: < 0.957663, -0.129981, -0.256880> + 9321: < 0.962605, -0.087041, -0.256544> + 9322: < 0.973180, -0.086398, -0.213204> + 9323: < 0.968319, -0.129250, -0.213666> + 9324: < 0.962605, -0.087041, -0.256544> + 9325: < 0.965618, -0.043703, -0.256267> + 9326: < 0.976120, -0.043306, -0.212870> + 9327: < 0.973180, -0.086398, -0.213204> + 9328: < 0.965618, -0.043703, -0.256267> + 9329: < 0.966630, 0.000000, -0.256177> + 9330: < 0.977107, 0.000000, -0.212750> + 9331: < 0.976120, -0.043306, -0.212870> + 9332: < 0.966630, 0.000000, -0.256177> + 9333: < 0.965618, 0.043703, -0.256267> + 9334: < 0.976120, 0.043306, -0.212870> + 9335: < 0.977107, 0.000000, -0.212750> + 9336: < 0.965618, 0.043703, -0.256267> + 9337: < 0.962605, 0.087041, -0.256544> + 9338: < 0.973180, 0.086398, -0.213204> + 9339: < 0.976120, 0.043306, -0.212870> + 9340: < 0.962605, 0.087041, -0.256544> + 9341: < 0.957663, 0.129981, -0.256880> + 9342: < 0.968319, 0.129250, -0.213666> + 9343: < 0.973180, 0.086398, -0.213204> + 9344: < 0.957663, 0.129981, -0.256880> + 9345: < 0.950800, 0.172679, -0.257217> + 9346: < 0.961530, 0.172005, -0.214182> + 9347: < 0.968319, 0.129250, -0.213666> + 9348: < 0.950800, 0.172679, -0.257217> + 9349: < 0.942000, 0.215220, -0.257519> + 9350: < 0.952775, 0.214732, -0.214732> + 9351: < 0.961530, 0.172005, -0.214182> + 9352: < 0.942000, 0.215220, -0.257519> + 9353: < 0.931225, 0.257702, -0.257702> + 9354: < 0.942000, 0.257519, -0.215220> + 9355: < 0.952775, 0.214732, -0.214732> + 9356: < 0.931225, 0.257702, -0.257702> + 9357: < 0.918390, 0.300219, -0.257736> + 9358: < 0.929096, 0.300461, -0.215649> + 9359: < 0.942000, 0.257519, -0.215220> + 9360: < 0.918390, 0.300219, -0.257736> + 9361: < 0.903367, 0.342852, -0.257643> + 9362: < 0.913949, 0.343582, -0.215982> + 9363: < 0.929096, 0.300461, -0.215649> + 9364: < 0.903367, 0.342852, -0.257643> + 9365: < 0.886018, 0.385664, -0.257364> + 9366: < 0.896382, 0.386985, -0.216199> + 9367: < 0.913949, 0.343582, -0.215982> + 9368: < 0.886018, 0.385664, -0.257364> + 9369: < 0.866124, 0.428698, -0.256999> + 9370: < 0.876208, 0.430657, -0.216320> + 9371: < 0.896382, 0.386985, -0.216199> + 9372: < 0.866124, 0.428698, -0.256999> + 9373: < 0.843490, 0.471888, -0.256606> + 9374: < 0.853230, 0.474515, -0.216413> + 9375: < 0.876208, 0.430657, -0.216320> + 9376: < 0.843490, 0.471888, -0.256606> + 9377: < 0.817925, 0.515110, -0.256243> + 9378: < 0.827263, 0.518435, -0.216475> + 9379: < 0.853230, 0.474515, -0.216413> + 9380: < 0.817925, 0.515110, -0.256243> + 9381: < 0.789266, 0.558172, -0.255937> + 9382: < 0.798110, 0.562257, -0.216534> + 9383: < 0.827263, 0.518435, -0.216475> + 9384: < 0.789266, 0.558172, -0.255937> + 9385: < 0.757361, 0.600829, -0.255750> + 9386: < 0.765608, 0.605748, -0.216596> + 9387: < 0.798110, 0.562257, -0.216534> + 9388: < 0.757361, 0.600829, -0.255750> + 9389: < 0.722093, 0.642833, -0.255632> + 9390: < 0.729636, 0.648606, -0.216660> + 9391: < 0.765608, 0.605748, -0.216596> + 9392: < 0.729636, -0.648606, -0.216660> + 9393: < 0.765608, -0.605748, -0.216596> + 9394: < 0.772589, -0.609892, -0.176461> + 9395: < 0.736025, -0.653502, -0.176644> + 9396: < 0.765608, -0.605748, -0.216596> + 9397: < 0.798110, -0.562257, -0.216534> + 9398: < 0.805587, -0.565675, -0.176188> + 9399: < 0.772589, -0.609892, -0.176461> + 9400: < 0.798110, -0.562257, -0.216534> + 9401: < 0.827263, -0.518435, -0.216475> + 9402: < 0.835133, -0.521180, -0.175853> + 9403: < 0.805587, -0.565675, -0.176188> + 9404: < 0.827263, -0.518435, -0.216475> + 9405: < 0.853230, -0.474515, -0.216413> + 9406: < 0.861427, -0.476614, -0.175453> + 9407: < 0.835133, -0.521180, -0.175853> + 9408: < 0.853230, -0.474515, -0.216413> + 9409: < 0.876208, -0.430657, -0.216320> + 9410: < 0.884654, -0.432149, -0.175026> + 9411: < 0.861427, -0.476614, -0.175453> + 9412: < 0.876208, -0.430657, -0.216320> + 9413: < 0.896382, -0.386985, -0.216199> + 9414: < 0.904997, -0.387965, -0.174541> + 9415: < 0.884654, -0.432149, -0.175026> + 9416: < 0.896382, -0.386985, -0.216199> + 9417: < 0.913949, -0.343582, -0.215982> + 9418: < 0.922682, -0.344072, -0.173989> + 9419: < 0.904997, -0.387965, -0.174541> + 9420: < 0.913949, -0.343582, -0.215982> + 9421: < 0.929096, -0.300461, -0.215649> + 9422: < 0.937897, -0.300496, -0.173351> + 9423: < 0.922682, -0.344072, -0.173989> + 9424: < 0.929096, -0.300461, -0.215649> + 9425: < 0.942000, -0.257519, -0.215220> + 9426: < 0.950800, -0.257217, -0.172679> + 9427: < 0.937897, -0.300496, -0.173351> + 9428: < 0.942000, -0.257519, -0.215220> + 9429: < 0.952775, -0.214732, -0.214732> + 9430: < 0.961530, -0.214182, -0.172005> + 9431: < 0.950800, -0.257217, -0.172679> + 9432: < 0.952775, -0.214732, -0.214732> + 9433: < 0.961530, -0.172005, -0.214182> + 9434: < 0.970211, -0.171305, -0.171305> + 9435: < 0.961530, -0.214182, -0.172005> + 9436: < 0.961530, -0.172005, -0.214182> + 9437: < 0.968319, -0.129250, -0.213666> + 9438: < 0.976904, -0.128545, -0.170691> + 9439: < 0.970211, -0.171305, -0.171305> + 9440: < 0.968319, -0.129250, -0.213666> + 9441: < 0.973180, -0.086398, -0.213204> + 9442: < 0.981668, -0.085788, -0.170203> + 9443: < 0.976904, -0.128545, -0.170691> + 9444: < 0.973180, -0.086398, -0.213204> + 9445: < 0.976120, -0.043306, -0.212870> + 9446: < 0.984535, -0.042970, -0.169837> + 9447: < 0.981668, -0.085788, -0.170203> + 9448: < 0.976120, -0.043306, -0.212870> + 9449: < 0.977107, 0.000000, -0.212750> + 9450: < 0.985488, 0.000000, -0.169746> + 9451: < 0.984535, -0.042970, -0.169837> + 9452: < 0.977107, 0.000000, -0.212750> + 9453: < 0.976120, 0.043306, -0.212870> + 9454: < 0.984535, 0.042970, -0.169837> + 9455: < 0.985488, 0.000000, -0.169746> + 9456: < 0.976120, 0.043306, -0.212870> + 9457: < 0.973180, 0.086398, -0.213204> + 9458: < 0.981668, 0.085788, -0.170203> + 9459: < 0.984535, 0.042970, -0.169837> + 9460: < 0.973180, 0.086398, -0.213204> + 9461: < 0.968319, 0.129250, -0.213666> + 9462: < 0.976904, 0.128545, -0.170691> + 9463: < 0.981668, 0.085788, -0.170203> + 9464: < 0.968319, 0.129250, -0.213666> + 9465: < 0.961530, 0.172005, -0.214182> + 9466: < 0.970211, 0.171305, -0.171305> + 9467: < 0.976904, 0.128545, -0.170691> + 9468: < 0.961530, 0.172005, -0.214182> + 9469: < 0.952775, 0.214732, -0.214732> + 9470: < 0.961530, 0.214182, -0.172005> + 9471: < 0.970211, 0.171305, -0.171305> + 9472: < 0.952775, 0.214732, -0.214732> + 9473: < 0.942000, 0.257519, -0.215220> + 9474: < 0.950800, 0.257217, -0.172679> + 9475: < 0.961530, 0.214182, -0.172005> + 9476: < 0.942000, 0.257519, -0.215220> + 9477: < 0.929096, 0.300461, -0.215649> + 9478: < 0.937897, 0.300496, -0.173351> + 9479: < 0.950800, 0.257217, -0.172679> + 9480: < 0.929096, 0.300461, -0.215649> + 9481: < 0.913949, 0.343582, -0.215982> + 9482: < 0.922682, 0.344072, -0.173989> + 9483: < 0.937897, 0.300496, -0.173351> + 9484: < 0.913949, 0.343582, -0.215982> + 9485: < 0.896382, 0.386985, -0.216199> + 9486: < 0.904997, 0.387965, -0.174541> + 9487: < 0.922682, 0.344072, -0.173989> + 9488: < 0.896382, 0.386985, -0.216199> + 9489: < 0.876208, 0.430657, -0.216320> + 9490: < 0.884654, 0.432149, -0.175026> + 9491: < 0.904997, 0.387965, -0.174541> + 9492: < 0.876208, 0.430657, -0.216320> + 9493: < 0.853230, 0.474515, -0.216413> + 9494: < 0.861427, 0.476614, -0.175453> + 9495: < 0.884654, 0.432149, -0.175026> + 9496: < 0.853230, 0.474515, -0.216413> + 9497: < 0.827263, 0.518435, -0.216475> + 9498: < 0.835133, 0.521180, -0.175853> + 9499: < 0.861427, 0.476614, -0.175453> + 9500: < 0.827263, 0.518435, -0.216475> + 9501: < 0.798110, 0.562257, -0.216534> + 9502: < 0.805587, 0.565675, -0.176188> + 9503: < 0.835133, 0.521180, -0.175853> + 9504: < 0.798110, 0.562257, -0.216534> + 9505: < 0.765608, 0.605748, -0.216596> + 9506: < 0.772589, 0.609892, -0.176461> + 9507: < 0.805587, 0.565675, -0.176188> + 9508: < 0.765608, 0.605748, -0.216596> + 9509: < 0.729636, 0.648606, -0.216660> + 9510: < 0.736025, 0.653502, -0.176644> + 9511: < 0.772589, 0.609892, -0.176461> + 9512: < 0.736025, -0.653502, -0.176644> + 9513: < 0.772589, -0.609892, -0.176461> + 9514: < 0.778292, -0.613215, -0.135015> + 9515: < 0.741243, -0.657468, -0.135260> + 9516: < 0.772589, -0.609892, -0.176461> + 9517: < 0.805587, -0.565675, -0.176188> + 9518: < 0.811677, -0.568382, -0.134618> + 9519: < 0.778292, -0.613215, -0.135015> + 9520: < 0.805587, -0.565675, -0.176188> + 9521: < 0.835133, -0.521180, -0.175853> + 9522: < 0.841527, -0.523307, -0.134100> + 9523: < 0.811677, -0.568382, -0.134618> + 9524: < 0.835133, -0.521180, -0.175853> + 9525: < 0.861427, -0.476614, -0.175453> + 9526: < 0.868033, -0.478208, -0.133553> + 9527: < 0.841527, -0.523307, -0.134100> + 9528: < 0.861427, -0.476614, -0.175453> + 9529: < 0.884654, -0.432149, -0.175026> + 9530: < 0.891416, -0.433256, -0.132913> + 9531: < 0.868033, -0.478208, -0.133553> + 9532: < 0.884654, -0.432149, -0.175026> + 9533: < 0.904997, -0.387965, -0.174541> + 9534: < 0.911854, -0.388632, -0.132240> + 9535: < 0.891416, -0.433256, -0.132913> + 9536: < 0.904997, -0.387965, -0.174541> + 9537: < 0.922682, -0.344072, -0.173989> + 9538: < 0.929596, -0.344322, -0.131509> + 9539: < 0.911854, -0.388632, -0.132240> + 9540: < 0.922682, -0.344072, -0.173989> + 9541: < 0.937897, -0.300496, -0.173351> + 9542: < 0.944802, -0.300427, -0.130743> + 9543: < 0.929596, -0.344322, -0.131509> + 9544: < 0.937897, -0.300496, -0.173351> + 9545: < 0.950800, -0.257217, -0.172679> + 9546: < 0.957663, -0.256880, -0.129981> + 9547: < 0.944802, -0.300427, -0.130743> + 9548: < 0.950800, -0.257217, -0.172679> + 9549: < 0.961530, -0.214182, -0.172005> + 9550: < 0.968319, -0.213666, -0.129250> + 9551: < 0.957663, -0.256880, -0.129981> + 9552: < 0.961530, -0.214182, -0.172005> + 9553: < 0.970211, -0.171305, -0.171305> + 9554: < 0.976904, -0.170691, -0.128545> + 9555: < 0.968319, -0.213666, -0.129250> + 9556: < 0.970211, -0.171305, -0.171305> + 9557: < 0.976904, -0.128545, -0.170691> + 9558: < 0.983497, -0.127935, -0.127935> + 9559: < 0.976904, -0.170691, -0.128545> + 9560: < 0.976904, -0.128545, -0.170691> + 9561: < 0.981668, -0.085788, -0.170203> + 9562: < 0.988171, -0.085300, -0.127447> + 9563: < 0.983497, -0.127935, -0.127935> + 9564: < 0.981668, -0.085788, -0.170203> + 9565: < 0.984535, -0.042970, -0.169837> + 9566: < 0.990966, -0.042666, -0.127144> + 9567: < 0.988171, -0.085300, -0.127447> + 9568: < 0.984535, -0.042970, -0.169837> + 9569: < 0.985488, 0.000000, -0.169746> + 9570: < 0.991900, 0.000000, -0.127020> + 9571: < 0.990966, -0.042666, -0.127144> + 9572: < 0.985488, 0.000000, -0.169746> + 9573: < 0.984535, 0.042970, -0.169837> + 9574: < 0.990966, 0.042666, -0.127144> + 9575: < 0.991900, 0.000000, -0.127020> + 9576: < 0.984535, 0.042970, -0.169837> + 9577: < 0.981668, 0.085788, -0.170203> + 9578: < 0.988171, 0.085300, -0.127447> + 9579: < 0.990966, 0.042666, -0.127144> + 9580: < 0.981668, 0.085788, -0.170203> + 9581: < 0.976904, 0.128545, -0.170691> + 9582: < 0.983497, 0.127935, -0.127935> + 9583: < 0.988171, 0.085300, -0.127447> + 9584: < 0.976904, 0.128545, -0.170691> + 9585: < 0.970211, 0.171305, -0.171305> + 9586: < 0.976904, 0.170691, -0.128545> + 9587: < 0.983497, 0.127935, -0.127935> + 9588: < 0.970211, 0.171305, -0.171305> + 9589: < 0.961530, 0.214182, -0.172005> + 9590: < 0.968319, 0.213666, -0.129250> + 9591: < 0.976904, 0.170691, -0.128545> + 9592: < 0.961530, 0.214182, -0.172005> + 9593: < 0.950800, 0.257217, -0.172679> + 9594: < 0.957663, 0.256880, -0.129981> + 9595: < 0.968319, 0.213666, -0.129250> + 9596: < 0.950800, 0.257217, -0.172679> + 9597: < 0.937897, 0.300496, -0.173351> + 9598: < 0.944802, 0.300427, -0.130743> + 9599: < 0.957663, 0.256880, -0.129981> + 9600: < 0.937897, 0.300496, -0.173351> + 9601: < 0.922682, 0.344072, -0.173989> + 9602: < 0.929596, 0.344322, -0.131509> + 9603: < 0.944802, 0.300427, -0.130743> + 9604: < 0.922682, 0.344072, -0.173989> + 9605: < 0.904997, 0.387965, -0.174541> + 9606: < 0.911854, 0.388632, -0.132240> + 9607: < 0.929596, 0.344322, -0.131509> + 9608: < 0.904997, 0.387965, -0.174541> + 9609: < 0.884654, 0.432149, -0.175026> + 9610: < 0.891405, 0.433281, -0.132911> + 9611: < 0.911854, 0.388632, -0.132240> + 9612: < 0.884654, 0.432149, -0.175026> + 9613: < 0.861427, 0.476614, -0.175453> + 9614: < 0.868033, 0.478208, -0.133553> + 9615: < 0.891405, 0.433281, -0.132911> + 9616: < 0.861427, 0.476614, -0.175453> + 9617: < 0.835133, 0.521180, -0.175853> + 9618: < 0.841527, 0.523307, -0.134100> + 9619: < 0.868033, 0.478208, -0.133553> + 9620: < 0.835133, 0.521180, -0.175853> + 9621: < 0.805587, 0.565675, -0.176188> + 9622: < 0.811677, 0.568382, -0.134618> + 9623: < 0.841527, 0.523307, -0.134100> + 9624: < 0.805587, 0.565675, -0.176188> + 9625: < 0.772589, 0.609892, -0.176461> + 9626: < 0.778306, 0.613196, -0.135018> + 9627: < 0.811677, 0.568382, -0.134618> + 9628: < 0.772589, 0.609892, -0.176461> + 9629: < 0.736025, 0.653502, -0.176644> + 9630: < 0.741243, 0.657468, -0.135260> + 9631: < 0.778306, 0.613196, -0.135018> + 9632: < 0.741243, -0.657468, -0.135260> + 9633: < 0.778292, -0.613215, -0.135015> + 9634: < 0.782607, -0.615697, -0.091894> + 9635: < 0.745184, -0.660463, -0.092137> + 9636: < 0.778292, -0.613215, -0.135015> + 9637: < 0.811677, -0.568382, -0.134618> + 9638: < 0.816271, -0.570377, -0.091497> + 9639: < 0.782607, -0.615697, -0.091894> + 9640: < 0.811677, -0.568382, -0.134618> + 9641: < 0.841527, -0.523307, -0.134100> + 9642: < 0.846324, -0.524836, -0.091008> + 9643: < 0.816271, -0.570377, -0.091497> + 9644: < 0.841527, -0.523307, -0.134100> + 9645: < 0.868033, -0.478208, -0.133553> + 9646: < 0.872976, -0.479307, -0.090429> + 9647: < 0.846324, -0.524836, -0.091008> + 9648: < 0.868033, -0.478208, -0.133553> + 9649: < 0.891416, -0.433256, -0.132913> + 9650: < 0.896437, -0.433981, -0.089787> + 9651: < 0.872976, -0.479307, -0.090429> + 9652: < 0.891416, -0.433256, -0.132913> + 9653: < 0.911854, -0.388632, -0.132240> + 9654: < 0.916918, -0.388998, -0.089116> + 9655: < 0.896437, -0.433981, -0.089787> + 9656: < 0.911854, -0.388632, -0.132240> + 9657: < 0.929596, -0.344322, -0.131509> + 9658: < 0.934648, -0.344408, -0.088414> + 9659: < 0.916918, -0.388998, -0.089116> + 9660: < 0.929596, -0.344322, -0.131509> + 9661: < 0.944802, -0.300427, -0.130743> + 9662: < 0.949820, -0.300248, -0.087712> + 9663: < 0.934648, -0.344408, -0.088414> + 9664: < 0.944802, -0.300427, -0.130743> + 9665: < 0.957663, -0.256880, -0.129981> + 9666: < 0.962605, -0.256544, -0.087041> + 9667: < 0.949820, -0.300248, -0.087712> + 9668: < 0.957663, -0.256880, -0.129981> + 9669: < 0.968319, -0.213666, -0.129250> + 9670: < 0.973180, -0.213204, -0.086398> + 9671: < 0.962605, -0.256544, -0.087041> + 9672: < 0.968319, -0.213666, -0.129250> + 9673: < 0.976904, -0.170691, -0.128545> + 9674: < 0.981668, -0.170203, -0.085788> + 9675: < 0.973180, -0.213204, -0.086398> + 9676: < 0.976904, -0.170691, -0.128545> + 9677: < 0.983497, -0.127935, -0.127935> + 9678: < 0.988171, -0.127447, -0.085300> + 9679: < 0.981668, -0.170203, -0.085788> + 9680: < 0.983497, -0.127935, -0.127935> + 9681: < 0.988171, -0.085300, -0.127447> + 9682: < 0.992765, -0.084905, -0.084905> + 9683: < 0.988171, -0.127447, -0.085300> + 9684: < 0.988171, -0.085300, -0.127447> + 9685: < 0.990966, -0.042666, -0.127144> + 9686: < 0.995505, -0.042452, -0.084660> + 9687: < 0.992765, -0.084905, -0.084905> + 9688: < 0.990966, -0.042666, -0.127144> + 9689: < 0.991900, 0.000000, -0.127020> + 9690: < 0.996418, 0.000000, -0.084568> + 9691: < 0.995505, -0.042452, -0.084660> + 9692: < 0.991900, 0.000000, -0.127020> + 9693: < 0.990966, 0.042666, -0.127144> + 9694: < 0.995505, 0.042452, -0.084660> + 9695: < 0.996418, 0.000000, -0.084568> + 9696: < 0.990966, 0.042666, -0.127144> + 9697: < 0.988171, 0.085300, -0.127447> + 9698: < 0.992765, 0.084905, -0.084905> + 9699: < 0.995505, 0.042452, -0.084660> + 9700: < 0.988171, 0.085300, -0.127447> + 9701: < 0.983497, 0.127935, -0.127935> + 9702: < 0.988171, 0.127447, -0.085300> + 9703: < 0.992765, 0.084905, -0.084905> + 9704: < 0.983497, 0.127935, -0.127935> + 9705: < 0.976904, 0.170691, -0.128545> + 9706: < 0.981668, 0.170203, -0.085788> + 9707: < 0.988171, 0.127447, -0.085300> + 9708: < 0.976904, 0.170691, -0.128545> + 9709: < 0.968319, 0.213666, -0.129250> + 9710: < 0.973180, 0.213204, -0.086398> + 9711: < 0.981668, 0.170203, -0.085788> + 9712: < 0.968319, 0.213666, -0.129250> + 9713: < 0.957663, 0.256880, -0.129981> + 9714: < 0.962605, 0.256544, -0.087041> + 9715: < 0.973180, 0.213204, -0.086398> + 9716: < 0.957663, 0.256880, -0.129981> + 9717: < 0.944802, 0.300427, -0.130743> + 9718: < 0.949820, 0.300248, -0.087712> + 9719: < 0.962605, 0.256544, -0.087041> + 9720: < 0.944802, 0.300427, -0.130743> + 9721: < 0.929596, 0.344322, -0.131509> + 9722: < 0.934648, 0.344408, -0.088414> + 9723: < 0.949820, 0.300248, -0.087712> + 9724: < 0.929596, 0.344322, -0.131509> + 9725: < 0.911854, 0.388632, -0.132240> + 9726: < 0.916918, 0.388998, -0.089116> + 9727: < 0.934648, 0.344408, -0.088414> + 9728: < 0.911854, 0.388632, -0.132240> + 9729: < 0.891405, 0.433281, -0.132911> + 9730: < 0.896437, 0.433981, -0.089787> + 9731: < 0.916918, 0.388998, -0.089116> + 9732: < 0.891405, 0.433281, -0.132911> + 9733: < 0.868033, 0.478208, -0.133553> + 9734: < 0.872976, 0.479307, -0.090429> + 9735: < 0.896437, 0.433981, -0.089787> + 9736: < 0.868033, 0.478208, -0.133553> + 9737: < 0.841527, 0.523307, -0.134100> + 9738: < 0.846324, 0.524836, -0.091008> + 9739: < 0.872976, 0.479307, -0.090429> + 9740: < 0.841527, 0.523307, -0.134100> + 9741: < 0.811677, 0.568382, -0.134618> + 9742: < 0.816271, 0.570377, -0.091497> + 9743: < 0.846324, 0.524836, -0.091008> + 9744: < 0.811677, 0.568382, -0.134618> + 9745: < 0.778306, 0.613196, -0.135018> + 9746: < 0.782607, 0.615697, -0.091894> + 9747: < 0.816271, 0.570377, -0.091497> + 9748: < 0.778306, 0.613196, -0.135018> + 9749: < 0.741243, 0.657468, -0.135260> + 9750: < 0.745184, 0.660463, -0.092137> + 9751: < 0.782607, 0.615697, -0.091894> + 9752: < 0.745184, -0.660463, -0.092137> + 9753: < 0.782607, -0.615697, -0.091894> + 9754: < 0.785375, -0.617246, -0.046847> + 9755: < 0.747715, -0.662354, -0.046999> + 9756: < 0.782607, -0.615697, -0.091894> + 9757: < 0.816271, -0.570377, -0.091497> + 9758: < 0.819208, -0.571602, -0.046573> + 9759: < 0.785375, -0.617246, -0.046847> + 9760: < 0.816271, -0.570377, -0.091497> + 9761: < 0.846324, -0.524836, -0.091008> + 9762: < 0.849378, -0.525753, -0.046267> + 9763: < 0.819208, -0.571602, -0.046573> + 9764: < 0.846324, -0.524836, -0.091008> + 9765: < 0.872976, -0.479307, -0.090429> + 9766: < 0.876095, -0.479951, -0.045871> + 9767: < 0.849378, -0.525753, -0.046267> + 9768: < 0.872976, -0.479307, -0.090429> + 9769: < 0.896437, -0.433981, -0.089787> + 9770: < 0.899583, -0.434379, -0.045443> + 9771: < 0.876095, -0.479951, -0.045871> + 9772: < 0.896437, -0.433981, -0.089787> + 9773: < 0.916918, -0.388998, -0.089116> + 9774: < 0.920061, -0.389180, -0.045016> + 9775: < 0.899583, -0.434379, -0.045443> + 9776: < 0.916918, -0.388998, -0.089116> + 9777: < 0.934648, -0.344408, -0.088414> + 9778: < 0.937762, -0.344409, -0.044558> + 9779: < 0.920061, -0.389180, -0.045016> + 9780: < 0.934648, -0.344408, -0.088414> + 9781: < 0.949820, -0.300248, -0.087712> + 9782: < 0.952889, -0.300092, -0.044130> + 9783: < 0.937762, -0.344409, -0.044558> + 9784: < 0.949820, -0.300248, -0.087712> + 9785: < 0.962605, -0.256544, -0.087041> + 9786: < 0.965618, -0.256267, -0.043703> + 9787: < 0.952889, -0.300092, -0.044130> + 9788: < 0.962605, -0.256544, -0.087041> + 9789: < 0.973180, -0.213204, -0.086398> + 9790: < 0.976120, -0.212870, -0.043306> + 9791: < 0.965618, -0.256267, -0.043703> + 9792: < 0.973180, -0.213204, -0.086398> + 9793: < 0.981668, -0.170203, -0.085788> + 9794: < 0.984535, -0.169837, -0.042970> + 9795: < 0.976120, -0.212870, -0.043306> + 9796: < 0.981668, -0.170203, -0.085788> + 9797: < 0.988171, -0.127447, -0.085300> + 9798: < 0.990966, -0.127144, -0.042666> + 9799: < 0.984535, -0.169837, -0.042970> + 9800: < 0.988171, -0.127447, -0.085300> + 9801: < 0.992765, -0.084905, -0.084905> + 9802: < 0.995505, -0.084660, -0.042452> + 9803: < 0.990966, -0.127144, -0.042666> + 9804: < 0.992765, -0.084905, -0.084905> + 9805: < 0.995505, -0.042452, -0.084660> + 9806: < 0.998209, -0.042299, -0.042299> + 9807: < 0.995505, -0.084660, -0.042452> + 9808: < 0.995505, -0.042452, -0.084660> + 9809: < 0.996418, 0.000000, -0.084568> + 9810: < 0.999108, 0.000000, -0.042239> + 9811: < 0.998209, -0.042299, -0.042299> + 9812: < 0.996418, 0.000000, -0.084568> + 9813: < 0.995505, 0.042452, -0.084660> + 9814: < 0.998209, 0.042299, -0.042299> + 9815: < 0.999108, 0.000000, -0.042239> + 9816: < 0.995505, 0.042452, -0.084660> + 9817: < 0.992765, 0.084905, -0.084905> + 9818: < 0.995505, 0.084660, -0.042452> + 9819: < 0.998209, 0.042299, -0.042299> + 9820: < 0.992765, 0.084905, -0.084905> + 9821: < 0.988171, 0.127447, -0.085300> + 9822: < 0.990966, 0.127144, -0.042666> + 9823: < 0.995505, 0.084660, -0.042452> + 9824: < 0.988171, 0.127447, -0.085300> + 9825: < 0.981668, 0.170203, -0.085788> + 9826: < 0.984535, 0.169837, -0.042970> + 9827: < 0.990966, 0.127144, -0.042666> + 9828: < 0.981668, 0.170203, -0.085788> + 9829: < 0.973180, 0.213204, -0.086398> + 9830: < 0.976120, 0.212870, -0.043306> + 9831: < 0.984535, 0.169837, -0.042970> + 9832: < 0.973180, 0.213204, -0.086398> + 9833: < 0.962605, 0.256544, -0.087041> + 9834: < 0.965618, 0.256267, -0.043703> + 9835: < 0.976120, 0.212870, -0.043306> + 9836: < 0.962605, 0.256544, -0.087041> + 9837: < 0.949820, 0.300248, -0.087712> + 9838: < 0.952889, 0.300092, -0.044130> + 9839: < 0.965618, 0.256267, -0.043703> + 9840: < 0.949820, 0.300248, -0.087712> + 9841: < 0.934648, 0.344408, -0.088414> + 9842: < 0.937762, 0.344409, -0.044558> + 9843: < 0.952889, 0.300092, -0.044130> + 9844: < 0.934648, 0.344408, -0.088414> + 9845: < 0.916918, 0.388998, -0.089116> + 9846: < 0.920061, 0.389180, -0.045016> + 9847: < 0.937762, 0.344409, -0.044558> + 9848: < 0.916918, 0.388998, -0.089116> + 9849: < 0.896437, 0.433981, -0.089787> + 9850: < 0.899583, 0.434379, -0.045443> + 9851: < 0.920061, 0.389180, -0.045016> + 9852: < 0.896437, 0.433981, -0.089787> + 9853: < 0.872976, 0.479307, -0.090429> + 9854: < 0.876095, 0.479951, -0.045871> + 9855: < 0.899583, 0.434379, -0.045443> + 9856: < 0.872976, 0.479307, -0.090429> + 9857: < 0.846324, 0.524836, -0.091008> + 9858: < 0.849378, 0.525753, -0.046267> + 9859: < 0.876095, 0.479951, -0.045871> + 9860: < 0.846324, 0.524836, -0.091008> + 9861: < 0.816271, 0.570377, -0.091497> + 9862: < 0.819208, 0.571602, -0.046573> + 9863: < 0.849378, 0.525753, -0.046267> + 9864: < 0.816271, 0.570377, -0.091497> + 9865: < 0.782607, 0.615697, -0.091894> + 9866: < 0.785375, 0.617246, -0.046847> + 9867: < 0.819208, 0.571602, -0.046573> + 9868: < 0.782607, 0.615697, -0.091894> + 9869: < 0.745184, 0.660463, -0.092137> + 9870: < 0.747715, 0.662354, -0.046999> + 9871: < 0.785375, 0.617246, -0.046847> + 9872: < 0.747715, -0.662354, -0.046999> + 9873: < 0.785375, -0.617246, -0.046847> + 9874: < 0.786344, -0.617789, 0.000000> + 9875: < 0.748599, -0.663024, 0.000000> + 9876: < 0.785375, -0.617246, -0.046847> + 9877: < 0.819208, -0.571602, -0.046573> + 9878: < 0.820237, -0.572024, 0.000000> + 9879: < 0.786344, -0.617789, 0.000000> + 9880: < 0.819208, -0.571602, -0.046573> + 9881: < 0.849378, -0.525753, -0.046267> + 9882: < 0.850434, -0.526081, 0.000000> + 9883: < 0.820237, -0.572024, 0.000000> + 9884: < 0.849378, -0.525753, -0.046267> + 9885: < 0.876095, -0.479951, -0.045871> + 9886: < 0.877182, -0.480158, 0.000000> + 9887: < 0.850434, -0.526081, 0.000000> + 9888: < 0.876095, -0.479951, -0.045871> + 9889: < 0.899583, -0.434379, -0.045443> + 9890: < 0.900655, -0.434534, 0.000000> + 9891: < 0.877182, -0.480158, 0.000000> + 9892: < 0.899583, -0.434379, -0.045443> + 9893: < 0.920061, -0.389180, -0.045016> + 9894: < 0.921135, -0.389244, 0.000000> + 9895: < 0.900655, -0.434534, 0.000000> + 9896: < 0.920061, -0.389180, -0.045016> + 9897: < 0.937762, -0.344409, -0.044558> + 9898: < 0.938821, -0.344405, 0.000000> + 9899: < 0.921135, -0.389244, 0.000000> + 9900: < 0.937762, -0.344409, -0.044558> + 9901: < 0.952889, -0.300092, -0.044130> + 9902: < 0.953921, -0.300059, 0.000000> + 9903: < 0.938821, -0.344405, 0.000000> + 9904: < 0.952889, -0.300092, -0.044130> + 9905: < 0.965618, -0.256267, -0.043703> + 9906: < 0.966630, -0.256177, 0.000000> + 9907: < 0.953921, -0.300059, 0.000000> + 9908: < 0.965618, -0.256267, -0.043703> + 9909: < 0.976120, -0.212870, -0.043306> + 9910: < 0.977107, -0.212750, 0.000000> + 9911: < 0.966630, -0.256177, 0.000000> + 9912: < 0.976120, -0.212870, -0.043306> + 9913: < 0.984535, -0.169837, -0.042970> + 9914: < 0.985488, -0.169746, 0.000000> + 9915: < 0.977107, -0.212750, 0.000000> + 9916: < 0.984535, -0.169837, -0.042970> + 9917: < 0.990966, -0.127144, -0.042666> + 9918: < 0.991900, -0.127020, 0.000000> + 9919: < 0.985488, -0.169746, 0.000000> + 9920: < 0.990966, -0.127144, -0.042666> + 9921: < 0.995505, -0.084660, -0.042452> + 9922: < 0.996418, -0.084568, 0.000000> + 9923: < 0.991900, -0.127020, 0.000000> + 9924: < 0.995505, -0.084660, -0.042452> + 9925: < 0.998209, -0.042299, -0.042299> + 9926: < 0.999108, -0.042239, 0.000000> + 9927: < 0.996418, -0.084568, 0.000000> + 9928: < 0.998209, -0.042299, -0.042299> + 9929: < 0.999108, 0.000000, -0.042239> + 9930: < 1.000000, 0.000000, 0.000000> + 9931: < 0.999108, -0.042239, 0.000000> + 9932: < 0.999108, 0.000000, -0.042239> + 9933: < 0.998209, 0.042299, -0.042299> + 9934: < 0.999108, 0.042239, 0.000000> + 9935: < 1.000000, 0.000000, 0.000000> + 9936: < 0.998209, 0.042299, -0.042299> + 9937: < 0.995505, 0.084660, -0.042452> + 9938: < 0.996418, 0.084568, 0.000000> + 9939: < 0.999108, 0.042239, 0.000000> + 9940: < 0.995505, 0.084660, -0.042452> + 9941: < 0.990966, 0.127144, -0.042666> + 9942: < 0.991900, 0.127020, 0.000000> + 9943: < 0.996418, 0.084568, 0.000000> + 9944: < 0.990966, 0.127144, -0.042666> + 9945: < 0.984535, 0.169837, -0.042970> + 9946: < 0.985488, 0.169746, 0.000000> + 9947: < 0.991900, 0.127020, 0.000000> + 9948: < 0.984535, 0.169837, -0.042970> + 9949: < 0.976120, 0.212870, -0.043306> + 9950: < 0.977107, 0.212750, 0.000000> + 9951: < 0.985488, 0.169746, 0.000000> + 9952: < 0.976120, 0.212870, -0.043306> + 9953: < 0.965618, 0.256267, -0.043703> + 9954: < 0.966630, 0.256177, 0.000000> + 9955: < 0.977107, 0.212750, 0.000000> + 9956: < 0.965618, 0.256267, -0.043703> + 9957: < 0.952889, 0.300092, -0.044130> + 9958: < 0.953921, 0.300059, 0.000000> + 9959: < 0.966630, 0.256177, 0.000000> + 9960: < 0.952889, 0.300092, -0.044130> + 9961: < 0.937762, 0.344409, -0.044558> + 9962: < 0.938821, 0.344405, 0.000000> + 9963: < 0.953921, 0.300059, 0.000000> + 9964: < 0.937762, 0.344409, -0.044558> + 9965: < 0.920061, 0.389180, -0.045016> + 9966: < 0.921135, 0.389244, 0.000000> + 9967: < 0.938821, 0.344405, 0.000000> + 9968: < 0.920061, 0.389180, -0.045016> + 9969: < 0.899583, 0.434379, -0.045443> + 9970: < 0.900655, 0.434534, 0.000000> + 9971: < 0.921135, 0.389244, 0.000000> + 9972: < 0.899583, 0.434379, -0.045443> + 9973: < 0.876095, 0.479951, -0.045871> + 9974: < 0.877169, 0.480182, 0.000000> + 9975: < 0.900655, 0.434534, 0.000000> + 9976: < 0.876095, 0.479951, -0.045871> + 9977: < 0.849378, 0.525753, -0.046267> + 9978: < 0.850434, 0.526081, 0.000000> + 9979: < 0.877169, 0.480182, 0.000000> + 9980: < 0.849378, 0.525753, -0.046267> + 9981: < 0.819208, 0.571602, -0.046573> + 9982: < 0.820237, 0.572024, 0.000000> + 9983: < 0.850434, 0.526081, 0.000000> + 9984: < 0.819208, 0.571602, -0.046573> + 9985: < 0.785375, 0.617246, -0.046847> + 9986: < 0.786344, 0.617789, 0.000000> + 9987: < 0.820237, 0.572024, 0.000000> + 9988: < 0.785375, 0.617246, -0.046847> + 9989: < 0.747715, 0.662354, -0.046999> + 9990: < 0.748599, 0.663024, 0.000000> + 9991: < 0.786344, 0.617789, 0.000000> + 9992: < 0.748599, -0.663024, 0.000000> + 9993: < 0.786344, -0.617789, 0.000000> + 9994: < 0.785375, -0.617246, 0.046847> + 9995: < 0.747715, -0.662354, 0.046999> + 9996: < 0.786344, -0.617789, 0.000000> + 9997: < 0.820237, -0.572024, 0.000000> + 9998: < 0.819208, -0.571602, 0.046573> + 9999: < 0.785375, -0.617246, 0.046847> + 10000: < 0.820237, -0.572024, 0.000000> + 10001: < 0.850434, -0.526081, 0.000000> + 10002: < 0.849378, -0.525753, 0.046267> + 10003: < 0.819208, -0.571602, 0.046573> + 10004: < 0.850434, -0.526081, 0.000000> + 10005: < 0.877182, -0.480158, 0.000000> + 10006: < 0.876095, -0.479951, 0.045871> + 10007: < 0.849378, -0.525753, 0.046267> + 10008: < 0.877182, -0.480158, 0.000000> + 10009: < 0.900655, -0.434534, 0.000000> + 10010: < 0.899583, -0.434379, 0.045443> + 10011: < 0.876095, -0.479951, 0.045871> + 10012: < 0.900655, -0.434534, 0.000000> + 10013: < 0.921135, -0.389244, 0.000000> + 10014: < 0.920061, -0.389180, 0.045016> + 10015: < 0.899583, -0.434379, 0.045443> + 10016: < 0.921135, -0.389244, 0.000000> + 10017: < 0.938821, -0.344405, 0.000000> + 10018: < 0.937762, -0.344409, 0.044558> + 10019: < 0.920061, -0.389180, 0.045016> + 10020: < 0.938821, -0.344405, 0.000000> + 10021: < 0.953921, -0.300059, 0.000000> + 10022: < 0.952889, -0.300092, 0.044130> + 10023: < 0.937762, -0.344409, 0.044558> + 10024: < 0.953921, -0.300059, 0.000000> + 10025: < 0.966630, -0.256177, 0.000000> + 10026: < 0.965618, -0.256267, 0.043703> + 10027: < 0.952889, -0.300092, 0.044130> + 10028: < 0.966630, -0.256177, 0.000000> + 10029: < 0.977107, -0.212750, 0.000000> + 10030: < 0.976120, -0.212870, 0.043306> + 10031: < 0.965618, -0.256267, 0.043703> + 10032: < 0.977107, -0.212750, 0.000000> + 10033: < 0.985488, -0.169746, 0.000000> + 10034: < 0.984535, -0.169837, 0.042970> + 10035: < 0.976120, -0.212870, 0.043306> + 10036: < 0.985488, -0.169746, 0.000000> + 10037: < 0.991900, -0.127020, 0.000000> + 10038: < 0.990966, -0.127144, 0.042666> + 10039: < 0.984535, -0.169837, 0.042970> + 10040: < 0.991900, -0.127020, 0.000000> + 10041: < 0.996418, -0.084568, 0.000000> + 10042: < 0.995505, -0.084660, 0.042452> + 10043: < 0.990966, -0.127144, 0.042666> + 10044: < 0.996418, -0.084568, 0.000000> + 10045: < 0.999108, -0.042239, 0.000000> + 10046: < 0.998209, -0.042299, 0.042299> + 10047: < 0.995505, -0.084660, 0.042452> + 10048: < 0.999108, -0.042239, 0.000000> + 10049: < 1.000000, 0.000000, 0.000000> + 10050: < 0.999108, 0.000000, 0.042239> + 10051: < 0.998209, -0.042299, 0.042299> + 10052: < 1.000000, 0.000000, 0.000000> + 10053: < 0.999108, 0.042239, 0.000000> + 10054: < 0.998209, 0.042299, 0.042299> + 10055: < 0.999108, 0.000000, 0.042239> + 10056: < 0.999108, 0.042239, 0.000000> + 10057: < 0.996418, 0.084568, 0.000000> + 10058: < 0.995505, 0.084660, 0.042452> + 10059: < 0.998209, 0.042299, 0.042299> + 10060: < 0.996418, 0.084568, 0.000000> + 10061: < 0.991900, 0.127020, 0.000000> + 10062: < 0.990966, 0.127144, 0.042666> + 10063: < 0.995505, 0.084660, 0.042452> + 10064: < 0.991900, 0.127020, 0.000000> + 10065: < 0.985488, 0.169746, 0.000000> + 10066: < 0.984530, 0.169866, 0.042970> + 10067: < 0.990966, 0.127144, 0.042666> + 10068: < 0.985488, 0.169746, 0.000000> + 10069: < 0.977107, 0.212750, 0.000000> + 10070: < 0.976120, 0.212870, 0.043306> + 10071: < 0.984530, 0.169866, 0.042970> + 10072: < 0.977107, 0.212750, 0.000000> + 10073: < 0.966630, 0.256177, 0.000000> + 10074: < 0.965618, 0.256267, 0.043703> + 10075: < 0.976120, 0.212870, 0.043306> + 10076: < 0.966630, 0.256177, 0.000000> + 10077: < 0.953921, 0.300059, 0.000000> + 10078: < 0.952889, 0.300092, 0.044130> + 10079: < 0.965618, 0.256267, 0.043703> + 10080: < 0.953921, 0.300059, 0.000000> + 10081: < 0.938821, 0.344405, 0.000000> + 10082: < 0.937762, 0.344409, 0.044558> + 10083: < 0.952889, 0.300092, 0.044130> + 10084: < 0.938821, 0.344405, 0.000000> + 10085: < 0.921135, 0.389244, 0.000000> + 10086: < 0.920061, 0.389180, 0.045016> + 10087: < 0.937762, 0.344409, 0.044558> + 10088: < 0.921135, 0.389244, 0.000000> + 10089: < 0.900655, 0.434534, 0.000000> + 10090: < 0.899583, 0.434379, 0.045443> + 10091: < 0.920061, 0.389180, 0.045016> + 10092: < 0.900655, 0.434534, 0.000000> + 10093: < 0.877169, 0.480182, 0.000000> + 10094: < 0.876095, 0.479951, 0.045871> + 10095: < 0.899583, 0.434379, 0.045443> + 10096: < 0.877169, 0.480182, 0.000000> + 10097: < 0.850434, 0.526081, 0.000000> + 10098: < 0.849378, 0.525753, 0.046267> + 10099: < 0.876095, 0.479951, 0.045871> + 10100: < 0.850434, 0.526081, 0.000000> + 10101: < 0.820237, 0.572024, 0.000000> + 10102: < 0.819208, 0.571602, 0.046573> + 10103: < 0.849378, 0.525753, 0.046267> + 10104: < 0.820237, 0.572024, 0.000000> + 10105: < 0.786344, 0.617789, 0.000000> + 10106: < 0.785375, 0.617246, 0.046847> + 10107: < 0.819208, 0.571602, 0.046573> + 10108: < 0.786344, 0.617789, 0.000000> + 10109: < 0.748599, 0.663024, 0.000000> + 10110: < 0.747715, 0.662354, 0.046999> + 10111: < 0.785375, 0.617246, 0.046847> + 10112: < 0.747715, -0.662354, 0.046999> + 10113: < 0.785375, -0.617246, 0.046847> + 10114: < 0.782607, -0.615697, 0.091894> + 10115: < 0.745184, -0.660463, 0.092137> + 10116: < 0.785375, -0.617246, 0.046847> + 10117: < 0.819208, -0.571602, 0.046573> + 10118: < 0.816271, -0.570377, 0.091497> + 10119: < 0.782607, -0.615697, 0.091894> + 10120: < 0.819208, -0.571602, 0.046573> + 10121: < 0.849378, -0.525753, 0.046267> + 10122: < 0.846324, -0.524836, 0.091008> + 10123: < 0.816271, -0.570377, 0.091497> + 10124: < 0.849378, -0.525753, 0.046267> + 10125: < 0.876095, -0.479951, 0.045871> + 10126: < 0.872976, -0.479307, 0.090429> + 10127: < 0.846324, -0.524836, 0.091008> + 10128: < 0.876095, -0.479951, 0.045871> + 10129: < 0.899583, -0.434379, 0.045443> + 10130: < 0.896437, -0.433981, 0.089787> + 10131: < 0.872976, -0.479307, 0.090429> + 10132: < 0.899583, -0.434379, 0.045443> + 10133: < 0.920061, -0.389180, 0.045016> + 10134: < 0.916918, -0.388998, 0.089116> + 10135: < 0.896437, -0.433981, 0.089787> + 10136: < 0.920061, -0.389180, 0.045016> + 10137: < 0.937762, -0.344409, 0.044558> + 10138: < 0.934648, -0.344408, 0.088414> + 10139: < 0.916918, -0.388998, 0.089116> + 10140: < 0.937762, -0.344409, 0.044558> + 10141: < 0.952889, -0.300092, 0.044130> + 10142: < 0.949820, -0.300248, 0.087712> + 10143: < 0.934648, -0.344408, 0.088414> + 10144: < 0.952889, -0.300092, 0.044130> + 10145: < 0.965618, -0.256267, 0.043703> + 10146: < 0.962605, -0.256544, 0.087041> + 10147: < 0.949820, -0.300248, 0.087712> + 10148: < 0.965618, -0.256267, 0.043703> + 10149: < 0.976120, -0.212870, 0.043306> + 10150: < 0.973180, -0.213204, 0.086398> + 10151: < 0.962605, -0.256544, 0.087041> + 10152: < 0.976120, -0.212870, 0.043306> + 10153: < 0.984535, -0.169837, 0.042970> + 10154: < 0.981668, -0.170203, 0.085788> + 10155: < 0.973180, -0.213204, 0.086398> + 10156: < 0.984535, -0.169837, 0.042970> + 10157: < 0.990966, -0.127144, 0.042666> + 10158: < 0.988171, -0.127447, 0.085300> + 10159: < 0.981668, -0.170203, 0.085788> + 10160: < 0.990966, -0.127144, 0.042666> + 10161: < 0.995505, -0.084660, 0.042452> + 10162: < 0.992765, -0.084905, 0.084905> + 10163: < 0.988171, -0.127447, 0.085300> + 10164: < 0.995505, -0.084660, 0.042452> + 10165: < 0.998209, -0.042299, 0.042299> + 10166: < 0.995505, -0.042452, 0.084660> + 10167: < 0.992765, -0.084905, 0.084905> + 10168: < 0.998209, -0.042299, 0.042299> + 10169: < 0.999108, 0.000000, 0.042239> + 10170: < 0.996418, 0.000000, 0.084568> + 10171: < 0.995505, -0.042452, 0.084660> + 10172: < 0.999108, 0.000000, 0.042239> + 10173: < 0.998209, 0.042299, 0.042299> + 10174: < 0.995505, 0.042452, 0.084660> + 10175: < 0.996418, 0.000000, 0.084568> + 10176: < 0.998209, 0.042299, 0.042299> + 10177: < 0.995505, 0.084660, 0.042452> + 10178: < 0.992765, 0.084905, 0.084905> + 10179: < 0.995505, 0.042452, 0.084660> + 10180: < 0.995505, 0.084660, 0.042452> + 10181: < 0.990966, 0.127144, 0.042666> + 10182: < 0.988171, 0.127447, 0.085300> + 10183: < 0.992765, 0.084905, 0.084905> + 10184: < 0.990966, 0.127144, 0.042666> + 10185: < 0.984530, 0.169866, 0.042970> + 10186: < 0.981668, 0.170203, 0.085788> + 10187: < 0.988171, 0.127447, 0.085300> + 10188: < 0.984530, 0.169866, 0.042970> + 10189: < 0.976120, 0.212870, 0.043306> + 10190: < 0.973180, 0.213204, 0.086398> + 10191: < 0.981668, 0.170203, 0.085788> + 10192: < 0.976120, 0.212870, 0.043306> + 10193: < 0.965618, 0.256267, 0.043703> + 10194: < 0.962605, 0.256544, 0.087041> + 10195: < 0.973180, 0.213204, 0.086398> + 10196: < 0.965618, 0.256267, 0.043703> + 10197: < 0.952889, 0.300092, 0.044130> + 10198: < 0.949820, 0.300248, 0.087712> + 10199: < 0.962605, 0.256544, 0.087041> + 10200: < 0.952889, 0.300092, 0.044130> + 10201: < 0.937762, 0.344409, 0.044558> + 10202: < 0.934648, 0.344408, 0.088414> + 10203: < 0.949820, 0.300248, 0.087712> + 10204: < 0.937762, 0.344409, 0.044558> + 10205: < 0.920061, 0.389180, 0.045016> + 10206: < 0.916918, 0.388998, 0.089116> + 10207: < 0.934648, 0.344408, 0.088414> + 10208: < 0.920061, 0.389180, 0.045016> + 10209: < 0.899583, 0.434379, 0.045443> + 10210: < 0.896437, 0.433981, 0.089787> + 10211: < 0.916918, 0.388998, 0.089116> + 10212: < 0.899583, 0.434379, 0.045443> + 10213: < 0.876095, 0.479951, 0.045871> + 10214: < 0.872976, 0.479307, 0.090429> + 10215: < 0.896437, 0.433981, 0.089787> + 10216: < 0.876095, 0.479951, 0.045871> + 10217: < 0.849378, 0.525753, 0.046267> + 10218: < 0.846324, 0.524836, 0.091008> + 10219: < 0.872976, 0.479307, 0.090429> + 10220: < 0.849378, 0.525753, 0.046267> + 10221: < 0.819208, 0.571602, 0.046573> + 10222: < 0.816271, 0.570377, 0.091497> + 10223: < 0.846324, 0.524836, 0.091008> + 10224: < 0.819208, 0.571602, 0.046573> + 10225: < 0.785375, 0.617246, 0.046847> + 10226: < 0.782607, 0.615697, 0.091894> + 10227: < 0.816271, 0.570377, 0.091497> + 10228: < 0.785375, 0.617246, 0.046847> + 10229: < 0.747715, 0.662354, 0.046999> + 10230: < 0.745184, 0.660463, 0.092137> + 10231: < 0.782607, 0.615697, 0.091894> + 10232: < 0.745184, -0.660463, 0.092137> + 10233: < 0.782607, -0.615697, 0.091894> + 10234: < 0.778309, -0.613199, 0.134988> + 10235: < 0.741243, -0.657468, 0.135260> + 10236: < 0.782607, -0.615697, 0.091894> + 10237: < 0.816271, -0.570377, 0.091497> + 10238: < 0.811677, -0.568382, 0.134618> + 10239: < 0.778309, -0.613199, 0.134988> + 10240: < 0.816271, -0.570377, 0.091497> + 10241: < 0.846324, -0.524836, 0.091008> + 10242: < 0.841527, -0.523307, 0.134100> + 10243: < 0.811677, -0.568382, 0.134618> + 10244: < 0.846324, -0.524836, 0.091008> + 10245: < 0.872976, -0.479307, 0.090429> + 10246: < 0.868033, -0.478208, 0.133553> + 10247: < 0.841527, -0.523307, 0.134100> + 10248: < 0.872976, -0.479307, 0.090429> + 10249: < 0.896437, -0.433981, 0.089787> + 10250: < 0.891405, -0.433281, 0.132911> + 10251: < 0.868033, -0.478208, 0.133553> + 10252: < 0.896437, -0.433981, 0.089787> + 10253: < 0.916918, -0.388998, 0.089116> + 10254: < 0.911854, -0.388632, 0.132240> + 10255: < 0.891405, -0.433281, 0.132911> + 10256: < 0.916918, -0.388998, 0.089116> + 10257: < 0.934648, -0.344408, 0.088414> + 10258: < 0.929596, -0.344322, 0.131509> + 10259: < 0.911854, -0.388632, 0.132240> + 10260: < 0.934648, -0.344408, 0.088414> + 10261: < 0.949820, -0.300248, 0.087712> + 10262: < 0.944802, -0.300427, 0.130743> + 10263: < 0.929596, -0.344322, 0.131509> + 10264: < 0.949820, -0.300248, 0.087712> + 10265: < 0.962605, -0.256544, 0.087041> + 10266: < 0.957663, -0.256880, 0.129981> + 10267: < 0.944802, -0.300427, 0.130743> + 10268: < 0.962605, -0.256544, 0.087041> + 10269: < 0.973180, -0.213204, 0.086398> + 10270: < 0.968319, -0.213666, 0.129250> + 10271: < 0.957663, -0.256880, 0.129981> + 10272: < 0.973180, -0.213204, 0.086398> + 10273: < 0.981668, -0.170203, 0.085788> + 10274: < 0.976904, -0.170691, 0.128545> + 10275: < 0.968319, -0.213666, 0.129250> + 10276: < 0.981668, -0.170203, 0.085788> + 10277: < 0.988171, -0.127447, 0.085300> + 10278: < 0.983497, -0.127935, 0.127935> + 10279: < 0.976904, -0.170691, 0.128545> + 10280: < 0.988171, -0.127447, 0.085300> + 10281: < 0.992765, -0.084905, 0.084905> + 10282: < 0.988171, -0.085300, 0.127447> + 10283: < 0.983497, -0.127935, 0.127935> + 10284: < 0.992765, -0.084905, 0.084905> + 10285: < 0.995505, -0.042452, 0.084660> + 10286: < 0.990966, -0.042666, 0.127144> + 10287: < 0.988171, -0.085300, 0.127447> + 10288: < 0.995505, -0.042452, 0.084660> + 10289: < 0.996418, 0.000000, 0.084568> + 10290: < 0.991900, 0.000000, 0.127020> + 10291: < 0.990966, -0.042666, 0.127144> + 10292: < 0.996418, 0.000000, 0.084568> + 10293: < 0.995505, 0.042452, 0.084660> + 10294: < 0.990966, 0.042666, 0.127144> + 10295: < 0.991900, 0.000000, 0.127020> + 10296: < 0.995505, 0.042452, 0.084660> + 10297: < 0.992765, 0.084905, 0.084905> + 10298: < 0.988171, 0.085300, 0.127447> + 10299: < 0.990966, 0.042666, 0.127144> + 10300: < 0.992765, 0.084905, 0.084905> + 10301: < 0.988171, 0.127447, 0.085300> + 10302: < 0.983497, 0.127935, 0.127935> + 10303: < 0.988171, 0.085300, 0.127447> + 10304: < 0.988171, 0.127447, 0.085300> + 10305: < 0.981668, 0.170203, 0.085788> + 10306: < 0.976904, 0.170691, 0.128545> + 10307: < 0.983497, 0.127935, 0.127935> + 10308: < 0.981668, 0.170203, 0.085788> + 10309: < 0.973180, 0.213204, 0.086398> + 10310: < 0.968319, 0.213666, 0.129250> + 10311: < 0.976904, 0.170691, 0.128545> + 10312: < 0.973180, 0.213204, 0.086398> + 10313: < 0.962605, 0.256544, 0.087041> + 10314: < 0.957663, 0.256880, 0.129981> + 10315: < 0.968319, 0.213666, 0.129250> + 10316: < 0.962605, 0.256544, 0.087041> + 10317: < 0.949820, 0.300248, 0.087712> + 10318: < 0.944802, 0.300427, 0.130743> + 10319: < 0.957663, 0.256880, 0.129981> + 10320: < 0.949820, 0.300248, 0.087712> + 10321: < 0.934648, 0.344408, 0.088414> + 10322: < 0.929596, 0.344322, 0.131509> + 10323: < 0.944802, 0.300427, 0.130743> + 10324: < 0.934648, 0.344408, 0.088414> + 10325: < 0.916918, 0.388998, 0.089116> + 10326: < 0.911854, 0.388632, 0.132240> + 10327: < 0.929596, 0.344322, 0.131509> + 10328: < 0.916918, 0.388998, 0.089116> + 10329: < 0.896437, 0.433981, 0.089787> + 10330: < 0.891405, 0.433281, 0.132911> + 10331: < 0.911854, 0.388632, 0.132240> + 10332: < 0.896437, 0.433981, 0.089787> + 10333: < 0.872976, 0.479307, 0.090429> + 10334: < 0.868033, 0.478208, 0.133553> + 10335: < 0.891405, 0.433281, 0.132911> + 10336: < 0.872976, 0.479307, 0.090429> + 10337: < 0.846324, 0.524836, 0.091008> + 10338: < 0.841527, 0.523307, 0.134100> + 10339: < 0.868033, 0.478208, 0.133553> + 10340: < 0.846324, 0.524836, 0.091008> + 10341: < 0.816271, 0.570377, 0.091497> + 10342: < 0.811677, 0.568382, 0.134618> + 10343: < 0.841527, 0.523307, 0.134100> + 10344: < 0.816271, 0.570377, 0.091497> + 10345: < 0.782607, 0.615697, 0.091894> + 10346: < 0.778309, 0.613199, 0.134988> + 10347: < 0.811677, 0.568382, 0.134618> + 10348: < 0.782607, 0.615697, 0.091894> + 10349: < 0.745184, 0.660463, 0.092137> + 10350: < 0.741243, 0.657468, 0.135260> + 10351: < 0.778309, 0.613199, 0.134988> + 10352: < 0.741243, -0.657468, 0.135260> + 10353: < 0.778309, -0.613199, 0.134988> + 10354: < 0.772589, -0.609892, 0.176461> + 10355: < 0.736025, -0.653502, 0.176644> + 10356: < 0.778309, -0.613199, 0.134988> + 10357: < 0.811677, -0.568382, 0.134618> + 10358: < 0.805587, -0.565675, 0.176188> + 10359: < 0.772589, -0.609892, 0.176461> + 10360: < 0.811677, -0.568382, 0.134618> + 10361: < 0.841527, -0.523307, 0.134100> + 10362: < 0.835133, -0.521180, 0.175853> + 10363: < 0.805587, -0.565675, 0.176188> + 10364: < 0.841527, -0.523307, 0.134100> + 10365: < 0.868033, -0.478208, 0.133553> + 10366: < 0.861427, -0.476614, 0.175453> + 10367: < 0.835133, -0.521180, 0.175853> + 10368: < 0.868033, -0.478208, 0.133553> + 10369: < 0.891405, -0.433281, 0.132911> + 10370: < 0.884654, -0.432149, 0.175026> + 10371: < 0.861427, -0.476614, 0.175453> + 10372: < 0.891405, -0.433281, 0.132911> + 10373: < 0.911854, -0.388632, 0.132240> + 10374: < 0.904997, -0.387965, 0.174541> + 10375: < 0.884654, -0.432149, 0.175026> + 10376: < 0.911854, -0.388632, 0.132240> + 10377: < 0.929596, -0.344322, 0.131509> + 10378: < 0.922682, -0.344072, 0.173989> + 10379: < 0.904997, -0.387965, 0.174541> + 10380: < 0.929596, -0.344322, 0.131509> + 10381: < 0.944802, -0.300427, 0.130743> + 10382: < 0.937897, -0.300496, 0.173351> + 10383: < 0.922682, -0.344072, 0.173989> + 10384: < 0.944802, -0.300427, 0.130743> + 10385: < 0.957663, -0.256880, 0.129981> + 10386: < 0.950800, -0.257217, 0.172679> + 10387: < 0.937897, -0.300496, 0.173351> + 10388: < 0.957663, -0.256880, 0.129981> + 10389: < 0.968319, -0.213666, 0.129250> + 10390: < 0.961530, -0.214182, 0.172005> + 10391: < 0.950800, -0.257217, 0.172679> + 10392: < 0.968319, -0.213666, 0.129250> + 10393: < 0.976904, -0.170691, 0.128545> + 10394: < 0.970211, -0.171305, 0.171305> + 10395: < 0.961530, -0.214182, 0.172005> + 10396: < 0.976904, -0.170691, 0.128545> + 10397: < 0.983497, -0.127935, 0.127935> + 10398: < 0.976904, -0.128545, 0.170691> + 10399: < 0.970211, -0.171305, 0.171305> + 10400: < 0.983497, -0.127935, 0.127935> + 10401: < 0.988171, -0.085300, 0.127447> + 10402: < 0.981668, -0.085788, 0.170203> + 10403: < 0.976904, -0.128545, 0.170691> + 10404: < 0.988171, -0.085300, 0.127447> + 10405: < 0.990966, -0.042666, 0.127144> + 10406: < 0.984535, -0.042970, 0.169837> + 10407: < 0.981668, -0.085788, 0.170203> + 10408: < 0.990966, -0.042666, 0.127144> + 10409: < 0.991900, 0.000000, 0.127020> + 10410: < 0.985488, 0.000000, 0.169746> + 10411: < 0.984535, -0.042970, 0.169837> + 10412: < 0.991900, 0.000000, 0.127020> + 10413: < 0.990966, 0.042666, 0.127144> + 10414: < 0.984530, 0.042970, 0.169866> + 10415: < 0.985488, 0.000000, 0.169746> + 10416: < 0.990966, 0.042666, 0.127144> + 10417: < 0.988171, 0.085300, 0.127447> + 10418: < 0.981668, 0.085788, 0.170203> + 10419: < 0.984530, 0.042970, 0.169866> + 10420: < 0.988171, 0.085300, 0.127447> + 10421: < 0.983497, 0.127935, 0.127935> + 10422: < 0.976904, 0.128545, 0.170691> + 10423: < 0.981668, 0.085788, 0.170203> + 10424: < 0.983497, 0.127935, 0.127935> + 10425: < 0.976904, 0.170691, 0.128545> + 10426: < 0.970211, 0.171305, 0.171305> + 10427: < 0.976904, 0.128545, 0.170691> + 10428: < 0.976904, 0.170691, 0.128545> + 10429: < 0.968319, 0.213666, 0.129250> + 10430: < 0.961530, 0.214182, 0.172005> + 10431: < 0.970211, 0.171305, 0.171305> + 10432: < 0.968319, 0.213666, 0.129250> + 10433: < 0.957663, 0.256880, 0.129981> + 10434: < 0.950800, 0.257217, 0.172679> + 10435: < 0.961530, 0.214182, 0.172005> + 10436: < 0.957663, 0.256880, 0.129981> + 10437: < 0.944802, 0.300427, 0.130743> + 10438: < 0.937897, 0.300496, 0.173351> + 10439: < 0.950800, 0.257217, 0.172679> + 10440: < 0.944802, 0.300427, 0.130743> + 10441: < 0.929596, 0.344322, 0.131509> + 10442: < 0.922682, 0.344072, 0.173989> + 10443: < 0.937897, 0.300496, 0.173351> + 10444: < 0.929596, 0.344322, 0.131509> + 10445: < 0.911854, 0.388632, 0.132240> + 10446: < 0.904997, 0.387965, 0.174541> + 10447: < 0.922682, 0.344072, 0.173989> + 10448: < 0.911854, 0.388632, 0.132240> + 10449: < 0.891405, 0.433281, 0.132911> + 10450: < 0.884654, 0.432149, 0.175026> + 10451: < 0.904997, 0.387965, 0.174541> + 10452: < 0.891405, 0.433281, 0.132911> + 10453: < 0.868033, 0.478208, 0.133553> + 10454: < 0.861427, 0.476614, 0.175453> + 10455: < 0.884654, 0.432149, 0.175026> + 10456: < 0.868033, 0.478208, 0.133553> + 10457: < 0.841527, 0.523307, 0.134100> + 10458: < 0.835133, 0.521180, 0.175853> + 10459: < 0.861427, 0.476614, 0.175453> + 10460: < 0.841527, 0.523307, 0.134100> + 10461: < 0.811677, 0.568382, 0.134618> + 10462: < 0.805587, 0.565675, 0.176188> + 10463: < 0.835133, 0.521180, 0.175853> + 10464: < 0.811677, 0.568382, 0.134618> + 10465: < 0.778309, 0.613199, 0.134988> + 10466: < 0.772589, 0.609892, 0.176461> + 10467: < 0.805587, 0.565675, 0.176188> + 10468: < 0.778309, 0.613199, 0.134988> + 10469: < 0.741243, 0.657468, 0.135260> + 10470: < 0.736025, 0.653502, 0.176644> + 10471: < 0.772589, 0.609892, 0.176461> + 10472: < 0.736025, -0.653502, 0.176644> + 10473: < 0.772589, -0.609892, 0.176461> + 10474: < 0.765608, -0.605748, 0.216596> + 10475: < 0.729636, -0.648606, 0.216660> + 10476: < 0.772589, -0.609892, 0.176461> + 10477: < 0.805587, -0.565675, 0.176188> + 10478: < 0.798110, -0.562257, 0.216534> + 10479: < 0.765608, -0.605748, 0.216596> + 10480: < 0.805587, -0.565675, 0.176188> + 10481: < 0.835133, -0.521180, 0.175853> + 10482: < 0.827263, -0.518435, 0.216475> + 10483: < 0.798110, -0.562257, 0.216534> + 10484: < 0.835133, -0.521180, 0.175853> + 10485: < 0.861427, -0.476614, 0.175453> + 10486: < 0.853230, -0.474515, 0.216413> + 10487: < 0.827263, -0.518435, 0.216475> + 10488: < 0.861427, -0.476614, 0.175453> + 10489: < 0.884654, -0.432149, 0.175026> + 10490: < 0.876208, -0.430657, 0.216320> + 10491: < 0.853230, -0.474515, 0.216413> + 10492: < 0.884654, -0.432149, 0.175026> + 10493: < 0.904997, -0.387965, 0.174541> + 10494: < 0.896382, -0.386985, 0.216199> + 10495: < 0.876208, -0.430657, 0.216320> + 10496: < 0.904997, -0.387965, 0.174541> + 10497: < 0.922682, -0.344072, 0.173989> + 10498: < 0.913949, -0.343582, 0.215982> + 10499: < 0.896382, -0.386985, 0.216199> + 10500: < 0.922682, -0.344072, 0.173989> + 10501: < 0.937897, -0.300496, 0.173351> + 10502: < 0.929096, -0.300461, 0.215649> + 10503: < 0.913949, -0.343582, 0.215982> + 10504: < 0.937897, -0.300496, 0.173351> + 10505: < 0.950800, -0.257217, 0.172679> + 10506: < 0.942000, -0.257519, 0.215220> + 10507: < 0.929096, -0.300461, 0.215649> + 10508: < 0.950800, -0.257217, 0.172679> + 10509: < 0.961530, -0.214182, 0.172005> + 10510: < 0.952775, -0.214732, 0.214732> + 10511: < 0.942000, -0.257519, 0.215220> + 10512: < 0.961530, -0.214182, 0.172005> + 10513: < 0.970211, -0.171305, 0.171305> + 10514: < 0.961530, -0.172005, 0.214182> + 10515: < 0.952775, -0.214732, 0.214732> + 10516: < 0.970211, -0.171305, 0.171305> + 10517: < 0.976904, -0.128545, 0.170691> + 10518: < 0.968319, -0.129250, 0.213666> + 10519: < 0.961530, -0.172005, 0.214182> + 10520: < 0.976904, -0.128545, 0.170691> + 10521: < 0.981668, -0.085788, 0.170203> + 10522: < 0.973180, -0.086398, 0.213204> + 10523: < 0.968319, -0.129250, 0.213666> + 10524: < 0.981668, -0.085788, 0.170203> + 10525: < 0.984535, -0.042970, 0.169837> + 10526: < 0.976120, -0.043306, 0.212870> + 10527: < 0.973180, -0.086398, 0.213204> + 10528: < 0.984535, -0.042970, 0.169837> + 10529: < 0.985488, 0.000000, 0.169746> + 10530: < 0.977107, 0.000000, 0.212750> + 10531: < 0.976120, -0.043306, 0.212870> + 10532: < 0.985488, 0.000000, 0.169746> + 10533: < 0.984530, 0.042970, 0.169866> + 10534: < 0.976120, 0.043306, 0.212870> + 10535: < 0.977107, 0.000000, 0.212750> + 10536: < 0.984530, 0.042970, 0.169866> + 10537: < 0.981668, 0.085788, 0.170203> + 10538: < 0.973180, 0.086398, 0.213204> + 10539: < 0.976120, 0.043306, 0.212870> + 10540: < 0.981668, 0.085788, 0.170203> + 10541: < 0.976904, 0.128545, 0.170691> + 10542: < 0.968319, 0.129250, 0.213666> + 10543: < 0.973180, 0.086398, 0.213204> + 10544: < 0.976904, 0.128545, 0.170691> + 10545: < 0.970211, 0.171305, 0.171305> + 10546: < 0.961530, 0.172005, 0.214182> + 10547: < 0.968319, 0.129250, 0.213666> + 10548: < 0.970211, 0.171305, 0.171305> + 10549: < 0.961530, 0.214182, 0.172005> + 10550: < 0.952775, 0.214732, 0.214732> + 10551: < 0.961530, 0.172005, 0.214182> + 10552: < 0.961530, 0.214182, 0.172005> + 10553: < 0.950800, 0.257217, 0.172679> + 10554: < 0.942000, 0.257519, 0.215220> + 10555: < 0.952775, 0.214732, 0.214732> + 10556: < 0.950800, 0.257217, 0.172679> + 10557: < 0.937897, 0.300496, 0.173351> + 10558: < 0.929096, 0.300461, 0.215649> + 10559: < 0.942000, 0.257519, 0.215220> + 10560: < 0.937897, 0.300496, 0.173351> + 10561: < 0.922682, 0.344072, 0.173989> + 10562: < 0.913949, 0.343582, 0.215982> + 10563: < 0.929096, 0.300461, 0.215649> + 10564: < 0.922682, 0.344072, 0.173989> + 10565: < 0.904997, 0.387965, 0.174541> + 10566: < 0.896382, 0.386985, 0.216199> + 10567: < 0.913949, 0.343582, 0.215982> + 10568: < 0.904997, 0.387965, 0.174541> + 10569: < 0.884654, 0.432149, 0.175026> + 10570: < 0.876208, 0.430657, 0.216320> + 10571: < 0.896382, 0.386985, 0.216199> + 10572: < 0.884654, 0.432149, 0.175026> + 10573: < 0.861427, 0.476614, 0.175453> + 10574: < 0.853230, 0.474515, 0.216413> + 10575: < 0.876208, 0.430657, 0.216320> + 10576: < 0.861427, 0.476614, 0.175453> + 10577: < 0.835133, 0.521180, 0.175853> + 10578: < 0.827263, 0.518435, 0.216475> + 10579: < 0.853230, 0.474515, 0.216413> + 10580: < 0.835133, 0.521180, 0.175853> + 10581: < 0.805587, 0.565675, 0.176188> + 10582: < 0.798110, 0.562257, 0.216534> + 10583: < 0.827263, 0.518435, 0.216475> + 10584: < 0.805587, 0.565675, 0.176188> + 10585: < 0.772589, 0.609892, 0.176461> + 10586: < 0.765608, 0.605748, 0.216596> + 10587: < 0.798110, 0.562257, 0.216534> + 10588: < 0.772589, 0.609892, 0.176461> + 10589: < 0.736025, 0.653502, 0.176644> + 10590: < 0.729636, 0.648606, 0.216660> + 10591: < 0.765608, 0.605748, 0.216596> + 10592: < 0.729636, -0.648606, 0.216660> + 10593: < 0.765608, -0.605748, 0.216596> + 10594: < 0.757361, -0.600829, 0.255750> + 10595: < 0.722093, -0.642833, 0.255632> + 10596: < 0.765608, -0.605748, 0.216596> + 10597: < 0.798110, -0.562257, 0.216534> + 10598: < 0.789266, -0.558172, 0.255937> + 10599: < 0.757361, -0.600829, 0.255750> + 10600: < 0.798110, -0.562257, 0.216534> + 10601: < 0.827263, -0.518435, 0.216475> + 10602: < 0.817925, -0.515110, 0.256243> + 10603: < 0.789266, -0.558172, 0.255937> + 10604: < 0.827263, -0.518435, 0.216475> + 10605: < 0.853230, -0.474515, 0.216413> + 10606: < 0.843490, -0.471888, 0.256606> + 10607: < 0.817925, -0.515110, 0.256243> + 10608: < 0.853230, -0.474515, 0.216413> + 10609: < 0.876208, -0.430657, 0.216320> + 10610: < 0.866124, -0.428698, 0.256999> + 10611: < 0.843490, -0.471888, 0.256606> + 10612: < 0.876208, -0.430657, 0.216320> + 10613: < 0.896382, -0.386985, 0.216199> + 10614: < 0.886018, -0.385664, 0.257364> + 10615: < 0.866124, -0.428698, 0.256999> + 10616: < 0.896382, -0.386985, 0.216199> + 10617: < 0.913949, -0.343582, 0.215982> + 10618: < 0.903367, -0.342852, 0.257643> + 10619: < 0.886018, -0.385664, 0.257364> + 10620: < 0.913949, -0.343582, 0.215982> + 10621: < 0.929096, -0.300461, 0.215649> + 10622: < 0.918390, -0.300219, 0.257736> + 10623: < 0.903367, -0.342852, 0.257643> + 10624: < 0.929096, -0.300461, 0.215649> + 10625: < 0.942000, -0.257519, 0.215220> + 10626: < 0.931225, -0.257702, 0.257702> + 10627: < 0.918390, -0.300219, 0.257736> + 10628: < 0.942000, -0.257519, 0.215220> + 10629: < 0.952775, -0.214732, 0.214732> + 10630: < 0.942000, -0.215220, 0.257519> + 10631: < 0.931225, -0.257702, 0.257702> + 10632: < 0.952775, -0.214732, 0.214732> + 10633: < 0.961530, -0.172005, 0.214182> + 10634: < 0.950800, -0.172679, 0.257217> + 10635: < 0.942000, -0.215220, 0.257519> + 10636: < 0.961530, -0.172005, 0.214182> + 10637: < 0.968319, -0.129250, 0.213666> + 10638: < 0.957663, -0.129981, 0.256880> + 10639: < 0.950800, -0.172679, 0.257217> + 10640: < 0.968319, -0.129250, 0.213666> + 10641: < 0.973180, -0.086398, 0.213204> + 10642: < 0.962605, -0.087041, 0.256544> + 10643: < 0.957663, -0.129981, 0.256880> + 10644: < 0.973180, -0.086398, 0.213204> + 10645: < 0.976120, -0.043306, 0.212870> + 10646: < 0.965618, -0.043703, 0.256267> + 10647: < 0.962605, -0.087041, 0.256544> + 10648: < 0.976120, -0.043306, 0.212870> + 10649: < 0.977107, 0.000000, 0.212750> + 10650: < 0.966630, 0.000000, 0.256177> + 10651: < 0.965618, -0.043703, 0.256267> + 10652: < 0.977107, 0.000000, 0.212750> + 10653: < 0.976120, 0.043306, 0.212870> + 10654: < 0.965618, 0.043703, 0.256267> + 10655: < 0.966630, 0.000000, 0.256177> + 10656: < 0.976120, 0.043306, 0.212870> + 10657: < 0.973180, 0.086398, 0.213204> + 10658: < 0.962605, 0.087041, 0.256544> + 10659: < 0.965618, 0.043703, 0.256267> + 10660: < 0.973180, 0.086398, 0.213204> + 10661: < 0.968319, 0.129250, 0.213666> + 10662: < 0.957663, 0.129981, 0.256880> + 10663: < 0.962605, 0.087041, 0.256544> + 10664: < 0.968319, 0.129250, 0.213666> + 10665: < 0.961530, 0.172005, 0.214182> + 10666: < 0.950800, 0.172679, 0.257217> + 10667: < 0.957663, 0.129981, 0.256880> + 10668: < 0.961530, 0.172005, 0.214182> + 10669: < 0.952775, 0.214732, 0.214732> + 10670: < 0.942000, 0.215220, 0.257519> + 10671: < 0.950800, 0.172679, 0.257217> + 10672: < 0.952775, 0.214732, 0.214732> + 10673: < 0.942000, 0.257519, 0.215220> + 10674: < 0.931225, 0.257702, 0.257702> + 10675: < 0.942000, 0.215220, 0.257519> + 10676: < 0.942000, 0.257519, 0.215220> + 10677: < 0.929096, 0.300461, 0.215649> + 10678: < 0.918390, 0.300219, 0.257736> + 10679: < 0.931225, 0.257702, 0.257702> + 10680: < 0.929096, 0.300461, 0.215649> + 10681: < 0.913949, 0.343582, 0.215982> + 10682: < 0.903367, 0.342852, 0.257643> + 10683: < 0.918390, 0.300219, 0.257736> + 10684: < 0.913949, 0.343582, 0.215982> + 10685: < 0.896382, 0.386985, 0.216199> + 10686: < 0.886018, 0.385664, 0.257364> + 10687: < 0.903367, 0.342852, 0.257643> + 10688: < 0.896382, 0.386985, 0.216199> + 10689: < 0.876208, 0.430657, 0.216320> + 10690: < 0.866124, 0.428698, 0.256999> + 10691: < 0.886018, 0.385664, 0.257364> + 10692: < 0.876208, 0.430657, 0.216320> + 10693: < 0.853230, 0.474515, 0.216413> + 10694: < 0.843490, 0.471888, 0.256606> + 10695: < 0.866124, 0.428698, 0.256999> + 10696: < 0.853230, 0.474515, 0.216413> + 10697: < 0.827263, 0.518435, 0.216475> + 10698: < 0.817925, 0.515110, 0.256243> + 10699: < 0.843490, 0.471888, 0.256606> + 10700: < 0.827263, 0.518435, 0.216475> + 10701: < 0.798110, 0.562257, 0.216534> + 10702: < 0.789266, 0.558172, 0.255937> + 10703: < 0.817925, 0.515110, 0.256243> + 10704: < 0.798110, 0.562257, 0.216534> + 10705: < 0.765608, 0.605748, 0.216596> + 10706: < 0.757361, 0.600829, 0.255750> + 10707: < 0.789266, 0.558172, 0.255937> + 10708: < 0.765608, 0.605748, 0.216596> + 10709: < 0.729636, 0.648606, 0.216660> + 10710: < 0.722093, 0.642833, 0.255632> + 10711: < 0.757361, 0.600829, 0.255750> + 10712: < 0.722093, -0.642833, 0.255632> + 10713: < 0.757361, -0.600829, 0.255750> + 10714: < 0.747816, -0.595158, 0.294207> + 10715: < 0.713396, -0.636150, 0.293904> + 10716: < 0.757361, -0.600829, 0.255750> + 10717: < 0.789266, -0.558172, 0.255937> + 10718: < 0.779017, -0.553415, 0.294729> + 10719: < 0.747816, -0.595158, 0.294207> + 10720: < 0.789266, -0.558172, 0.255937> + 10721: < 0.817925, -0.515110, 0.256243> + 10722: < 0.807082, -0.511198, 0.295457> + 10723: < 0.779017, -0.553415, 0.294729> + 10724: < 0.817925, -0.515110, 0.256243> + 10725: < 0.843490, -0.471888, 0.256606> + 10726: < 0.832128, -0.468770, 0.296339> + 10727: < 0.807082, -0.511198, 0.295457> + 10728: < 0.843490, -0.471888, 0.256606> + 10729: < 0.866124, -0.428698, 0.256999> + 10730: < 0.854324, -0.426323, 0.297287> + 10731: < 0.832128, -0.468770, 0.296339> + 10732: < 0.866124, -0.428698, 0.256999> + 10733: < 0.886018, -0.385664, 0.257364> + 10734: < 0.873840, -0.383986, 0.298259> + 10735: < 0.854324, -0.426323, 0.297287> + 10736: < 0.886018, -0.385664, 0.257364> + 10737: < 0.903367, -0.342852, 0.257643> + 10738: < 0.890906, -0.341811, 0.299085> + 10739: < 0.873840, -0.383986, 0.298259> + 10740: < 0.903367, -0.342852, 0.257643> + 10741: < 0.918390, -0.300219, 0.257736> + 10742: < 0.905696, -0.299762, 0.299762> + 10743: < 0.890906, -0.341811, 0.299085> + 10744: < 0.918390, -0.300219, 0.257736> + 10745: < 0.931225, -0.257702, 0.257702> + 10746: < 0.918390, -0.257736, 0.300219> + 10747: < 0.905696, -0.299762, 0.299762> + 10748: < 0.931225, -0.257702, 0.257702> + 10749: < 0.942000, -0.215220, 0.257519> + 10750: < 0.929096, -0.215649, 0.300461> + 10751: < 0.918390, -0.257736, 0.300219> + 10752: < 0.942000, -0.215220, 0.257519> + 10753: < 0.950800, -0.172679, 0.257217> + 10754: < 0.937897, -0.173351, 0.300496> + 10755: < 0.929096, -0.215649, 0.300461> + 10756: < 0.950800, -0.172679, 0.257217> + 10757: < 0.957663, -0.129981, 0.256880> + 10758: < 0.944802, -0.130743, 0.300427> + 10759: < 0.937897, -0.173351, 0.300496> + 10760: < 0.957663, -0.129981, 0.256880> + 10761: < 0.962605, -0.087041, 0.256544> + 10762: < 0.949820, -0.087712, 0.300248> + 10763: < 0.944802, -0.130743, 0.300427> + 10764: < 0.962605, -0.087041, 0.256544> + 10765: < 0.965618, -0.043703, 0.256267> + 10766: < 0.952889, -0.044130, 0.300092> + 10767: < 0.949820, -0.087712, 0.300248> + 10768: < 0.965618, -0.043703, 0.256267> + 10769: < 0.966630, 0.000000, 0.256177> + 10770: < 0.953929, 0.000000, 0.300031> + 10771: < 0.952889, -0.044130, 0.300092> + 10772: < 0.966630, 0.000000, 0.256177> + 10773: < 0.965618, 0.043703, 0.256267> + 10774: < 0.952889, 0.044130, 0.300092> + 10775: < 0.953929, 0.000000, 0.300031> + 10776: < 0.965618, 0.043703, 0.256267> + 10777: < 0.962605, 0.087041, 0.256544> + 10778: < 0.949820, 0.087712, 0.300248> + 10779: < 0.952889, 0.044130, 0.300092> + 10780: < 0.962605, 0.087041, 0.256544> + 10781: < 0.957663, 0.129981, 0.256880> + 10782: < 0.944802, 0.130743, 0.300427> + 10783: < 0.949820, 0.087712, 0.300248> + 10784: < 0.957663, 0.129981, 0.256880> + 10785: < 0.950800, 0.172679, 0.257217> + 10786: < 0.937897, 0.173351, 0.300496> + 10787: < 0.944802, 0.130743, 0.300427> + 10788: < 0.950800, 0.172679, 0.257217> + 10789: < 0.942000, 0.215220, 0.257519> + 10790: < 0.929096, 0.215649, 0.300461> + 10791: < 0.937897, 0.173351, 0.300496> + 10792: < 0.942000, 0.215220, 0.257519> + 10793: < 0.931225, 0.257702, 0.257702> + 10794: < 0.918390, 0.257736, 0.300219> + 10795: < 0.929096, 0.215649, 0.300461> + 10796: < 0.931225, 0.257702, 0.257702> + 10797: < 0.918390, 0.300219, 0.257736> + 10798: < 0.905696, 0.299762, 0.299762> + 10799: < 0.918390, 0.257736, 0.300219> + 10800: < 0.918390, 0.300219, 0.257736> + 10801: < 0.903367, 0.342852, 0.257643> + 10802: < 0.890906, 0.341811, 0.299085> + 10803: < 0.905696, 0.299762, 0.299762> + 10804: < 0.903367, 0.342852, 0.257643> + 10805: < 0.886018, 0.385664, 0.257364> + 10806: < 0.873840, 0.383986, 0.298259> + 10807: < 0.890906, 0.341811, 0.299085> + 10808: < 0.886018, 0.385664, 0.257364> + 10809: < 0.866124, 0.428698, 0.256999> + 10810: < 0.854324, 0.426323, 0.297287> + 10811: < 0.873840, 0.383986, 0.298259> + 10812: < 0.866124, 0.428698, 0.256999> + 10813: < 0.843490, 0.471888, 0.256606> + 10814: < 0.832128, 0.468770, 0.296339> + 10815: < 0.854324, 0.426323, 0.297287> + 10816: < 0.843490, 0.471888, 0.256606> + 10817: < 0.817925, 0.515110, 0.256243> + 10818: < 0.807082, 0.511198, 0.295457> + 10819: < 0.832128, 0.468770, 0.296339> + 10820: < 0.817925, 0.515110, 0.256243> + 10821: < 0.789266, 0.558172, 0.255937> + 10822: < 0.779017, 0.553415, 0.294729> + 10823: < 0.807082, 0.511198, 0.295457> + 10824: < 0.789266, 0.558172, 0.255937> + 10825: < 0.757361, 0.600829, 0.255750> + 10826: < 0.747816, 0.595158, 0.294207> + 10827: < 0.779017, 0.553415, 0.294729> + 10828: < 0.757361, 0.600829, 0.255750> + 10829: < 0.722093, 0.642833, 0.255632> + 10830: < 0.713396, 0.636150, 0.293904> + 10831: < 0.747816, 0.595158, 0.294207> + 10832: < 0.713396, -0.636150, 0.293904> + 10833: < 0.747816, -0.595158, 0.294207> + 10834: < 0.736907, -0.588738, 0.332197> + 10835: < 0.703467, -0.628603, 0.331652> + 10836: < 0.747816, -0.595158, 0.294207> + 10837: < 0.779017, -0.553415, 0.294729> + 10838: < 0.767292, -0.548009, 0.333090> + 10839: < 0.736907, -0.588738, 0.332197> + 10840: < 0.779017, -0.553415, 0.294729> + 10841: < 0.807082, -0.511198, 0.295457> + 10842: < 0.794627, -0.506740, 0.334337> + 10843: < 0.767292, -0.548009, 0.333090> + 10844: < 0.807082, -0.511198, 0.295457> + 10845: < 0.832128, -0.468770, 0.296339> + 10846: < 0.819039, -0.465202, 0.335801> + 10847: < 0.794627, -0.506740, 0.334337> + 10848: < 0.832128, -0.468770, 0.296339> + 10849: < 0.854324, -0.426323, 0.297287> + 10850: < 0.840684, -0.423577, 0.337391> + 10851: < 0.819039, -0.465202, 0.335801> + 10852: < 0.854324, -0.426323, 0.297287> + 10853: < 0.873840, -0.383986, 0.298259> + 10854: < 0.859750, -0.381976, 0.339005> + 10855: < 0.840684, -0.423577, 0.337391> + 10856: < 0.873840, -0.383986, 0.298259> + 10857: < 0.890906, -0.341811, 0.299085> + 10858: < 0.876422, -0.340503, 0.340503> + 10859: < 0.859750, -0.381976, 0.339005> + 10860: < 0.890906, -0.341811, 0.299085> + 10861: < 0.905696, -0.299762, 0.299762> + 10862: < 0.890906, -0.299085, 0.341811> + 10863: < 0.876422, -0.340503, 0.340503> + 10864: < 0.905696, -0.299762, 0.299762> + 10865: < 0.918390, -0.257736, 0.300219> + 10866: < 0.903367, -0.257643, 0.342852> + 10867: < 0.890906, -0.299085, 0.341811> + 10868: < 0.918390, -0.257736, 0.300219> + 10869: < 0.929096, -0.215649, 0.300461> + 10870: < 0.913949, -0.215982, 0.343582> + 10871: < 0.903367, -0.257643, 0.342852> + 10872: < 0.929096, -0.215649, 0.300461> + 10873: < 0.937897, -0.173351, 0.300496> + 10874: < 0.922682, -0.173989, 0.344072> + 10875: < 0.913949, -0.215982, 0.343582> + 10876: < 0.937897, -0.173351, 0.300496> + 10877: < 0.944802, -0.130743, 0.300427> + 10878: < 0.929596, -0.131509, 0.344322> + 10879: < 0.922682, -0.173989, 0.344072> + 10880: < 0.944802, -0.130743, 0.300427> + 10881: < 0.949820, -0.087712, 0.300248> + 10882: < 0.934648, -0.088414, 0.344408> + 10883: < 0.929596, -0.131509, 0.344322> + 10884: < 0.949820, -0.087712, 0.300248> + 10885: < 0.952889, -0.044130, 0.300092> + 10886: < 0.937762, -0.044558, 0.344409> + 10887: < 0.934648, -0.088414, 0.344408> + 10888: < 0.952889, -0.044130, 0.300092> + 10889: < 0.953929, 0.000000, 0.300031> + 10890: < 0.938821, 0.000000, 0.344405> + 10891: < 0.937762, -0.044558, 0.344409> + 10892: < 0.953929, 0.000000, 0.300031> + 10893: < 0.952889, 0.044130, 0.300092> + 10894: < 0.937762, 0.044558, 0.344409> + 10895: < 0.938821, 0.000000, 0.344405> + 10896: < 0.952889, 0.044130, 0.300092> + 10897: < 0.949820, 0.087712, 0.300248> + 10898: < 0.934648, 0.088414, 0.344408> + 10899: < 0.937762, 0.044558, 0.344409> + 10900: < 0.949820, 0.087712, 0.300248> + 10901: < 0.944802, 0.130743, 0.300427> + 10902: < 0.929596, 0.131509, 0.344322> + 10903: < 0.934648, 0.088414, 0.344408> + 10904: < 0.944802, 0.130743, 0.300427> + 10905: < 0.937897, 0.173351, 0.300496> + 10906: < 0.922682, 0.173989, 0.344072> + 10907: < 0.929596, 0.131509, 0.344322> + 10908: < 0.937897, 0.173351, 0.300496> + 10909: < 0.929096, 0.215649, 0.300461> + 10910: < 0.913949, 0.215982, 0.343582> + 10911: < 0.922682, 0.173989, 0.344072> + 10912: < 0.929096, 0.215649, 0.300461> + 10913: < 0.918390, 0.257736, 0.300219> + 10914: < 0.903367, 0.257643, 0.342852> + 10915: < 0.913949, 0.215982, 0.343582> + 10916: < 0.918390, 0.257736, 0.300219> + 10917: < 0.905696, 0.299762, 0.299762> + 10918: < 0.890906, 0.299085, 0.341811> + 10919: < 0.903367, 0.257643, 0.342852> + 10920: < 0.905696, 0.299762, 0.299762> + 10921: < 0.890906, 0.341811, 0.299085> + 10922: < 0.876422, 0.340503, 0.340503> + 10923: < 0.890906, 0.299085, 0.341811> + 10924: < 0.890906, 0.341811, 0.299085> + 10925: < 0.873840, 0.383986, 0.298259> + 10926: < 0.859750, 0.381976, 0.339005> + 10927: < 0.876422, 0.340503, 0.340503> + 10928: < 0.873840, 0.383986, 0.298259> + 10929: < 0.854324, 0.426323, 0.297287> + 10930: < 0.840684, 0.423577, 0.337391> + 10931: < 0.859750, 0.381976, 0.339005> + 10932: < 0.854324, 0.426323, 0.297287> + 10933: < 0.832128, 0.468770, 0.296339> + 10934: < 0.819039, 0.465202, 0.335801> + 10935: < 0.840684, 0.423577, 0.337391> + 10936: < 0.832128, 0.468770, 0.296339> + 10937: < 0.807082, 0.511198, 0.295457> + 10938: < 0.794636, 0.506745, 0.334310> + 10939: < 0.819039, 0.465202, 0.335801> + 10940: < 0.807082, 0.511198, 0.295457> + 10941: < 0.779017, 0.553415, 0.294729> + 10942: < 0.767292, 0.548009, 0.333090> + 10943: < 0.794636, 0.506745, 0.334310> + 10944: < 0.779017, 0.553415, 0.294729> + 10945: < 0.747816, 0.595158, 0.294207> + 10946: < 0.736915, 0.588744, 0.332170> + 10947: < 0.767292, 0.548009, 0.333090> + 10948: < 0.747816, 0.595158, 0.294207> + 10949: < 0.713396, 0.636150, 0.293904> + 10950: < 0.703467, 0.628603, 0.331652> + 10951: < 0.736915, 0.588744, 0.332170> + 10952: < 0.703467, -0.628603, 0.331652> + 10953: < 0.736907, -0.588738, 0.332197> + 10954: < 0.724825, -0.581661, 0.369188> + 10955: < 0.692544, -0.620305, 0.368246> + 10956: < 0.736907, -0.588738, 0.332197> + 10957: < 0.767292, -0.548009, 0.333090> + 10958: < 0.754169, -0.542028, 0.370721> + 10959: < 0.724825, -0.581661, 0.369188> + 10960: < 0.767292, -0.548009, 0.333090> + 10961: < 0.794627, -0.506740, 0.334337> + 10962: < 0.780568, -0.501802, 0.372705> + 10963: < 0.754169, -0.542028, 0.370721> + 10964: < 0.794627, -0.506740, 0.334337> + 10965: < 0.819039, -0.465202, 0.335801> + 10966: < 0.804154, -0.461239, 0.374961> + 10967: < 0.780568, -0.501802, 0.372705> + 10968: < 0.819039, -0.465202, 0.335801> + 10969: < 0.840684, -0.423577, 0.337391> + 10970: < 0.825100, -0.420500, 0.377345> + 10971: < 0.804154, -0.461239, 0.374961> + 10972: < 0.840684, -0.423577, 0.337391> + 10973: < 0.859750, -0.381976, 0.339005> + 10974: < 0.843551, -0.379751, 0.379751> + 10975: < 0.825100, -0.420500, 0.377345> + 10976: < 0.859750, -0.381976, 0.339005> + 10977: < 0.876422, -0.340503, 0.340503> + 10978: < 0.859750, -0.339005, 0.381976> + 10979: < 0.843551, -0.379751, 0.379751> + 10980: < 0.876422, -0.340503, 0.340503> + 10981: < 0.890906, -0.299085, 0.341811> + 10982: < 0.873851, -0.298262, 0.383960> + 10983: < 0.859750, -0.339005, 0.381976> + 10984: < 0.890906, -0.299085, 0.341811> + 10985: < 0.903367, -0.257643, 0.342852> + 10986: < 0.886028, -0.257367, 0.385638> + 10987: < 0.873851, -0.298262, 0.383960> + 10988: < 0.903367, -0.257643, 0.342852> + 10989: < 0.913949, -0.215982, 0.343582> + 10990: < 0.896382, -0.216199, 0.386985> + 10991: < 0.886028, -0.257367, 0.385638> + 10992: < 0.913949, -0.215982, 0.343582> + 10993: < 0.922682, -0.173989, 0.344072> + 10994: < 0.904997, -0.174541, 0.387965> + 10995: < 0.896382, -0.216199, 0.386985> + 10996: < 0.922682, -0.173989, 0.344072> + 10997: < 0.929596, -0.131509, 0.344322> + 10998: < 0.911854, -0.132240, 0.388632> + 10999: < 0.904997, -0.174541, 0.387965> + 11000: < 0.929596, -0.131509, 0.344322> + 11001: < 0.934648, -0.088414, 0.344408> + 11002: < 0.916918, -0.089116, 0.388998> + 11003: < 0.911854, -0.132240, 0.388632> + 11004: < 0.934648, -0.088414, 0.344408> + 11005: < 0.937762, -0.044558, 0.344409> + 11006: < 0.920061, -0.045016, 0.389180> + 11007: < 0.916918, -0.089116, 0.388998> + 11008: < 0.937762, -0.044558, 0.344409> + 11009: < 0.938821, 0.000000, 0.344405> + 11010: < 0.921135, 0.000000, 0.389244> + 11011: < 0.920061, -0.045016, 0.389180> + 11012: < 0.938821, 0.000000, 0.344405> + 11013: < 0.937762, 0.044558, 0.344409> + 11014: < 0.920061, 0.045016, 0.389180> + 11015: < 0.921135, 0.000000, 0.389244> + 11016: < 0.937762, 0.044558, 0.344409> + 11017: < 0.934648, 0.088414, 0.344408> + 11018: < 0.916918, 0.089116, 0.388998> + 11019: < 0.920061, 0.045016, 0.389180> + 11020: < 0.934648, 0.088414, 0.344408> + 11021: < 0.929596, 0.131509, 0.344322> + 11022: < 0.911854, 0.132240, 0.388632> + 11023: < 0.916918, 0.089116, 0.388998> + 11024: < 0.929596, 0.131509, 0.344322> + 11025: < 0.922682, 0.173989, 0.344072> + 11026: < 0.904997, 0.174541, 0.387965> + 11027: < 0.911854, 0.132240, 0.388632> + 11028: < 0.922682, 0.173989, 0.344072> + 11029: < 0.913949, 0.215982, 0.343582> + 11030: < 0.896382, 0.216199, 0.386985> + 11031: < 0.904997, 0.174541, 0.387965> + 11032: < 0.913949, 0.215982, 0.343582> + 11033: < 0.903367, 0.257643, 0.342852> + 11034: < 0.886018, 0.257364, 0.385664> + 11035: < 0.896382, 0.216199, 0.386985> + 11036: < 0.903367, 0.257643, 0.342852> + 11037: < 0.890906, 0.299085, 0.341811> + 11038: < 0.873840, 0.298259, 0.383986> + 11039: < 0.886018, 0.257364, 0.385664> + 11040: < 0.890906, 0.299085, 0.341811> + 11041: < 0.876422, 0.340503, 0.340503> + 11042: < 0.859750, 0.339005, 0.381976> + 11043: < 0.873840, 0.298259, 0.383986> + 11044: < 0.876422, 0.340503, 0.340503> + 11045: < 0.859750, 0.381976, 0.339005> + 11046: < 0.843551, 0.379751, 0.379751> + 11047: < 0.859750, 0.339005, 0.381976> + 11048: < 0.859750, 0.381976, 0.339005> + 11049: < 0.840684, 0.423577, 0.337391> + 11050: < 0.825100, 0.420500, 0.377345> + 11051: < 0.843551, 0.379751, 0.379751> + 11052: < 0.840684, 0.423577, 0.337391> + 11053: < 0.819039, 0.465202, 0.335801> + 11054: < 0.804154, 0.461239, 0.374961> + 11055: < 0.825100, 0.420500, 0.377345> + 11056: < 0.819039, 0.465202, 0.335801> + 11057: < 0.794636, 0.506745, 0.334310> + 11058: < 0.780568, 0.501802, 0.372705> + 11059: < 0.804154, 0.461239, 0.374961> + 11060: < 0.794636, 0.506745, 0.334310> + 11061: < 0.767292, 0.548009, 0.333090> + 11062: < 0.754169, 0.542028, 0.370721> + 11063: < 0.780568, 0.501802, 0.372705> + 11064: < 0.767292, 0.548009, 0.333090> + 11065: < 0.736915, 0.588744, 0.332170> + 11066: < 0.724825, 0.581661, 0.369188> + 11067: < 0.754169, 0.542028, 0.370721> + 11068: < 0.736915, 0.588744, 0.332170> + 11069: < 0.703467, 0.628603, 0.331652> + 11070: < 0.692544, 0.620305, 0.368246> + 11071: < 0.724825, 0.581661, 0.369188> + 11072: < 0.692544, -0.620305, 0.368246> + 11073: < 0.724825, -0.581661, 0.369188> + 11074: < 0.711772, -0.574008, 0.404839> + 11075: < 0.680859, -0.611427, 0.403223> + 11076: < 0.724825, -0.581661, 0.369188> + 11077: < 0.754169, -0.542028, 0.370721> + 11078: < 0.739812, -0.535518, 0.407307> + 11079: < 0.711772, -0.574008, 0.404839> + 11080: < 0.754169, -0.542028, 0.370721> + 11081: < 0.780568, -0.501802, 0.372705> + 11082: < 0.764964, -0.496395, 0.410392> + 11083: < 0.739812, -0.535518, 0.407307> + 11084: < 0.780568, -0.501802, 0.372705> + 11085: < 0.804154, -0.461239, 0.374961> + 11086: < 0.787421, -0.456900, 0.413777> + 11087: < 0.764964, -0.496395, 0.410392> + 11088: < 0.804154, -0.461239, 0.374961> + 11089: < 0.825100, -0.420500, 0.377345> + 11090: < 0.807394, -0.417202, 0.417202> + 11091: < 0.787421, -0.456900, 0.413777> + 11092: < 0.825100, -0.420500, 0.377345> + 11093: < 0.843551, -0.379751, 0.379751> + 11094: < 0.825100, -0.377345, 0.420500> + 11095: < 0.807394, -0.417202, 0.417202> + 11096: < 0.843551, -0.379751, 0.379751> + 11097: < 0.859750, -0.339005, 0.381976> + 11098: < 0.840684, -0.337391, 0.423577> + 11099: < 0.825100, -0.377345, 0.420500> + 11100: < 0.859750, -0.339005, 0.381976> + 11101: < 0.873851, -0.298262, 0.383960> + 11102: < 0.854324, -0.297287, 0.426323> + 11103: < 0.840684, -0.337391, 0.423577> + 11104: < 0.873851, -0.298262, 0.383960> + 11105: < 0.886028, -0.257367, 0.385638> + 11106: < 0.866124, -0.256999, 0.428698> + 11107: < 0.854324, -0.297287, 0.426323> + 11108: < 0.886028, -0.257367, 0.385638> + 11109: < 0.896382, -0.216199, 0.386985> + 11110: < 0.876208, -0.216320, 0.430657> + 11111: < 0.866124, -0.256999, 0.428698> + 11112: < 0.896382, -0.216199, 0.386985> + 11113: < 0.904997, -0.174541, 0.387965> + 11114: < 0.884654, -0.175026, 0.432149> + 11115: < 0.876208, -0.216320, 0.430657> + 11116: < 0.904997, -0.174541, 0.387965> + 11117: < 0.911854, -0.132240, 0.388632> + 11118: < 0.891405, -0.132911, 0.433281> + 11119: < 0.884654, -0.175026, 0.432149> + 11120: < 0.911854, -0.132240, 0.388632> + 11121: < 0.916918, -0.089116, 0.388998> + 11122: < 0.896437, -0.089787, 0.433981> + 11123: < 0.891405, -0.132911, 0.433281> + 11124: < 0.916918, -0.089116, 0.388998> + 11125: < 0.920061, -0.045016, 0.389180> + 11126: < 0.899583, -0.045443, 0.434379> + 11127: < 0.896437, -0.089787, 0.433981> + 11128: < 0.920061, -0.045016, 0.389180> + 11129: < 0.921135, 0.000000, 0.389244> + 11130: < 0.900655, 0.000000, 0.434534> + 11131: < 0.899583, -0.045443, 0.434379> + 11132: < 0.921135, 0.000000, 0.389244> + 11133: < 0.920061, 0.045016, 0.389180> + 11134: < 0.899583, 0.045443, 0.434379> + 11135: < 0.900655, 0.000000, 0.434534> + 11136: < 0.920061, 0.045016, 0.389180> + 11137: < 0.916918, 0.089116, 0.388998> + 11138: < 0.896437, 0.089787, 0.433981> + 11139: < 0.899583, 0.045443, 0.434379> + 11140: < 0.916918, 0.089116, 0.388998> + 11141: < 0.911854, 0.132240, 0.388632> + 11142: < 0.891405, 0.132911, 0.433281> + 11143: < 0.896437, 0.089787, 0.433981> + 11144: < 0.911854, 0.132240, 0.388632> + 11145: < 0.904997, 0.174541, 0.387965> + 11146: < 0.884654, 0.175026, 0.432149> + 11147: < 0.891405, 0.132911, 0.433281> + 11148: < 0.904997, 0.174541, 0.387965> + 11149: < 0.896382, 0.216199, 0.386985> + 11150: < 0.876208, 0.216320, 0.430657> + 11151: < 0.884654, 0.175026, 0.432149> + 11152: < 0.896382, 0.216199, 0.386985> + 11153: < 0.886018, 0.257364, 0.385664> + 11154: < 0.866124, 0.256999, 0.428698> + 11155: < 0.876208, 0.216320, 0.430657> + 11156: < 0.886018, 0.257364, 0.385664> + 11157: < 0.873840, 0.298259, 0.383986> + 11158: < 0.854324, 0.297287, 0.426323> + 11159: < 0.866124, 0.256999, 0.428698> + 11160: < 0.873840, 0.298259, 0.383986> + 11161: < 0.859750, 0.339005, 0.381976> + 11162: < 0.840684, 0.337391, 0.423577> + 11163: < 0.854324, 0.297287, 0.426323> + 11164: < 0.859750, 0.339005, 0.381976> + 11165: < 0.843551, 0.379751, 0.379751> + 11166: < 0.825100, 0.377345, 0.420500> + 11167: < 0.840684, 0.337391, 0.423577> + 11168: < 0.843551, 0.379751, 0.379751> + 11169: < 0.825100, 0.420500, 0.377345> + 11170: < 0.807394, 0.417202, 0.417202> + 11171: < 0.825100, 0.377345, 0.420500> + 11172: < 0.825100, 0.420500, 0.377345> + 11173: < 0.804154, 0.461239, 0.374961> + 11174: < 0.787421, 0.456900, 0.413777> + 11175: < 0.807394, 0.417202, 0.417202> + 11176: < 0.804154, 0.461239, 0.374961> + 11177: < 0.780568, 0.501802, 0.372705> + 11178: < 0.764964, 0.496395, 0.410392> + 11179: < 0.787421, 0.456900, 0.413777> + 11180: < 0.780568, 0.501802, 0.372705> + 11181: < 0.754169, 0.542028, 0.370721> + 11182: < 0.739812, 0.535518, 0.407307> + 11183: < 0.764964, 0.496395, 0.410392> + 11184: < 0.754169, 0.542028, 0.370721> + 11185: < 0.724825, 0.581661, 0.369188> + 11186: < 0.711772, 0.574008, 0.404839> + 11187: < 0.739812, 0.535518, 0.407307> + 11188: < 0.724825, 0.581661, 0.369188> + 11189: < 0.692544, 0.620305, 0.368246> + 11190: < 0.680859, 0.611427, 0.403223> + 11191: < 0.711772, 0.574008, 0.404839> + 11192: < 0.680859, -0.611427, 0.403223> + 11193: < 0.711772, -0.574008, 0.404839> + 11194: < 0.697667, -0.565794, 0.439475> + 11195: < 0.668312, -0.601963, 0.437036> + 11196: < 0.711772, -0.574008, 0.404839> + 11197: < 0.739812, -0.535518, 0.407307> + 11198: < 0.724109, -0.528478, 0.443145> + 11199: < 0.697667, -0.565794, 0.439475> + 11200: < 0.739812, -0.535518, 0.407307> + 11201: < 0.764964, -0.496395, 0.410392> + 11202: < 0.747688, -0.490534, 0.447593> + 11203: < 0.724109, -0.528478, 0.443145> + 11204: < 0.764964, -0.496395, 0.410392> + 11205: < 0.787421, -0.456900, 0.413777> + 11206: < 0.768679, -0.452290, 0.452290> + 11207: < 0.747688, -0.490534, 0.447593> + 11208: < 0.787421, -0.456900, 0.413777> + 11209: < 0.807394, -0.417202, 0.417202> + 11210: < 0.787421, -0.413777, 0.456900> + 11211: < 0.768679, -0.452290, 0.452290> + 11212: < 0.807394, -0.417202, 0.417202> + 11213: < 0.825100, -0.377345, 0.420500> + 11214: < 0.804154, -0.374961, 0.461239> + 11215: < 0.787421, -0.413777, 0.456900> + 11216: < 0.825100, -0.377345, 0.420500> + 11217: < 0.840684, -0.337391, 0.423577> + 11218: < 0.819039, -0.335801, 0.465202> + 11219: < 0.804154, -0.374961, 0.461239> + 11220: < 0.840684, -0.337391, 0.423577> + 11221: < 0.854324, -0.297287, 0.426323> + 11222: < 0.832128, -0.296339, 0.468770> + 11223: < 0.819039, -0.335801, 0.465202> + 11224: < 0.854324, -0.297287, 0.426323> + 11225: < 0.866124, -0.256999, 0.428698> + 11226: < 0.843490, -0.256606, 0.471888> + 11227: < 0.832128, -0.296339, 0.468770> + 11228: < 0.866124, -0.256999, 0.428698> + 11229: < 0.876208, -0.216320, 0.430657> + 11230: < 0.853230, -0.216413, 0.474515> + 11231: < 0.843490, -0.256606, 0.471888> + 11232: < 0.876208, -0.216320, 0.430657> + 11233: < 0.884654, -0.175026, 0.432149> + 11234: < 0.861426, -0.175453, 0.476614> + 11235: < 0.853230, -0.216413, 0.474515> + 11236: < 0.884654, -0.175026, 0.432149> + 11237: < 0.891405, -0.132911, 0.433281> + 11238: < 0.868033, -0.133553, 0.478208> + 11239: < 0.861426, -0.175453, 0.476614> + 11240: < 0.891405, -0.132911, 0.433281> + 11241: < 0.896437, -0.089787, 0.433981> + 11242: < 0.872976, -0.090429, 0.479307> + 11243: < 0.868033, -0.133553, 0.478208> + 11244: < 0.896437, -0.089787, 0.433981> + 11245: < 0.899583, -0.045443, 0.434379> + 11246: < 0.876095, -0.045871, 0.479951> + 11247: < 0.872976, -0.090429, 0.479307> + 11248: < 0.899583, -0.045443, 0.434379> + 11249: < 0.900655, 0.000000, 0.434534> + 11250: < 0.877182, 0.000000, 0.480158> + 11251: < 0.876095, -0.045871, 0.479951> + 11252: < 0.900655, 0.000000, 0.434534> + 11253: < 0.899583, 0.045443, 0.434379> + 11254: < 0.876095, 0.045871, 0.479951> + 11255: < 0.877182, 0.000000, 0.480158> + 11256: < 0.899583, 0.045443, 0.434379> + 11257: < 0.896437, 0.089787, 0.433981> + 11258: < 0.872976, 0.090429, 0.479307> + 11259: < 0.876095, 0.045871, 0.479951> + 11260: < 0.896437, 0.089787, 0.433981> + 11261: < 0.891405, 0.132911, 0.433281> + 11262: < 0.868033, 0.133553, 0.478208> + 11263: < 0.872976, 0.090429, 0.479307> + 11264: < 0.891405, 0.132911, 0.433281> + 11265: < 0.884654, 0.175026, 0.432149> + 11266: < 0.861426, 0.175453, 0.476614> + 11267: < 0.868033, 0.133553, 0.478208> + 11268: < 0.884654, 0.175026, 0.432149> + 11269: < 0.876208, 0.216320, 0.430657> + 11270: < 0.853230, 0.216413, 0.474515> + 11271: < 0.861426, 0.175453, 0.476614> + 11272: < 0.876208, 0.216320, 0.430657> + 11273: < 0.866124, 0.256999, 0.428698> + 11274: < 0.843490, 0.256606, 0.471888> + 11275: < 0.853230, 0.216413, 0.474515> + 11276: < 0.866124, 0.256999, 0.428698> + 11277: < 0.854324, 0.297287, 0.426323> + 11278: < 0.832128, 0.296339, 0.468770> + 11279: < 0.843490, 0.256606, 0.471888> + 11280: < 0.854324, 0.297287, 0.426323> + 11281: < 0.840684, 0.337391, 0.423577> + 11282: < 0.819039, 0.335801, 0.465202> + 11283: < 0.832128, 0.296339, 0.468770> + 11284: < 0.840684, 0.337391, 0.423577> + 11285: < 0.825100, 0.377345, 0.420500> + 11286: < 0.804154, 0.374961, 0.461239> + 11287: < 0.819039, 0.335801, 0.465202> + 11288: < 0.825100, 0.377345, 0.420500> + 11289: < 0.807394, 0.417202, 0.417202> + 11290: < 0.787421, 0.413777, 0.456900> + 11291: < 0.804154, 0.374961, 0.461239> + 11292: < 0.807394, 0.417202, 0.417202> + 11293: < 0.787421, 0.456900, 0.413777> + 11294: < 0.768679, 0.452290, 0.452290> + 11295: < 0.787421, 0.413777, 0.456900> + 11296: < 0.787421, 0.456900, 0.413777> + 11297: < 0.764964, 0.496395, 0.410392> + 11298: < 0.747688, 0.490534, 0.447593> + 11299: < 0.768679, 0.452290, 0.452290> + 11300: < 0.764964, 0.496395, 0.410392> + 11301: < 0.739812, 0.535518, 0.407307> + 11302: < 0.724109, 0.528478, 0.443145> + 11303: < 0.747688, 0.490534, 0.447593> + 11304: < 0.739812, 0.535518, 0.407307> + 11305: < 0.711772, 0.574008, 0.404839> + 11306: < 0.697667, 0.565794, 0.439475> + 11307: < 0.724109, 0.528478, 0.443145> + 11308: < 0.711772, 0.574008, 0.404839> + 11309: < 0.680859, 0.611427, 0.403223> + 11310: < 0.668312, 0.601963, 0.437036> + 11311: < 0.697667, 0.565794, 0.439475> + 11312: < 0.668312, -0.601963, 0.437036> + 11313: < 0.697667, -0.565794, 0.439475> + 11314: < 0.682532, -0.557037, 0.473139> + 11315: < 0.655217, -0.591920, 0.469385> + 11316: < 0.697667, -0.565794, 0.439475> + 11317: < 0.724109, -0.528478, 0.443145> + 11318: < 0.706895, -0.520969, 0.478425> + 11319: < 0.682532, -0.557037, 0.473139> + 11320: < 0.724109, -0.528478, 0.443145> + 11321: < 0.747688, -0.490534, 0.447593> + 11322: < 0.728461, -0.484430, 0.484430> + 11323: < 0.706895, -0.520969, 0.478425> + 11324: < 0.747688, -0.490534, 0.447593> + 11325: < 0.768679, -0.452290, 0.452290> + 11326: < 0.747688, -0.447593, 0.490534> + 11327: < 0.728461, -0.484430, 0.484430> + 11328: < 0.768679, -0.452290, 0.452290> + 11329: < 0.787421, -0.413777, 0.456900> + 11330: < 0.764976, -0.410398, 0.496372> + 11331: < 0.747688, -0.447593, 0.490534> + 11332: < 0.787421, -0.413777, 0.456900> + 11333: < 0.804154, -0.374961, 0.461239> + 11334: < 0.780568, -0.372705, 0.501802> + 11335: < 0.764976, -0.410398, 0.496372> + 11336: < 0.804154, -0.374961, 0.461239> + 11337: < 0.819039, -0.335801, 0.465202> + 11338: < 0.794636, -0.334310, 0.506745> + 11339: < 0.780568, -0.372705, 0.501802> + 11340: < 0.819039, -0.335801, 0.465202> + 11341: < 0.832128, -0.296339, 0.468770> + 11342: < 0.807082, -0.295457, 0.511198> + 11343: < 0.794636, -0.334310, 0.506745> + 11344: < 0.832128, -0.296339, 0.468770> + 11345: < 0.843490, -0.256606, 0.471888> + 11346: < 0.817925, -0.256243, 0.515110> + 11347: < 0.807082, -0.295457, 0.511198> + 11348: < 0.843490, -0.256606, 0.471888> + 11349: < 0.853230, -0.216413, 0.474515> + 11350: < 0.827263, -0.216475, 0.518435> + 11351: < 0.817925, -0.256243, 0.515110> + 11352: < 0.853230, -0.216413, 0.474515> + 11353: < 0.861426, -0.175453, 0.476614> + 11354: < 0.835133, -0.175853, 0.521180> + 11355: < 0.827263, -0.216475, 0.518435> + 11356: < 0.861426, -0.175453, 0.476614> + 11357: < 0.868033, -0.133553, 0.478208> + 11358: < 0.841527, -0.134100, 0.523307> + 11359: < 0.835133, -0.175853, 0.521180> + 11360: < 0.868033, -0.133553, 0.478208> + 11361: < 0.872976, -0.090429, 0.479307> + 11362: < 0.846324, -0.091008, 0.524836> + 11363: < 0.841527, -0.134100, 0.523307> + 11364: < 0.872976, -0.090429, 0.479307> + 11365: < 0.876095, -0.045871, 0.479951> + 11366: < 0.849378, -0.046267, 0.525753> + 11367: < 0.846324, -0.091008, 0.524836> + 11368: < 0.876095, -0.045871, 0.479951> + 11369: < 0.877182, 0.000000, 0.480158> + 11370: < 0.850434, 0.000000, 0.526081> + 11371: < 0.849378, -0.046267, 0.525753> + 11372: < 0.877182, 0.000000, 0.480158> + 11373: < 0.876095, 0.045871, 0.479951> + 11374: < 0.849378, 0.046267, 0.525753> + 11375: < 0.850434, 0.000000, 0.526081> + 11376: < 0.876095, 0.045871, 0.479951> + 11377: < 0.872976, 0.090429, 0.479307> + 11378: < 0.846324, 0.091008, 0.524836> + 11379: < 0.849378, 0.046267, 0.525753> + 11380: < 0.872976, 0.090429, 0.479307> + 11381: < 0.868033, 0.133553, 0.478208> + 11382: < 0.841527, 0.134100, 0.523307> + 11383: < 0.846324, 0.091008, 0.524836> + 11384: < 0.868033, 0.133553, 0.478208> + 11385: < 0.861426, 0.175453, 0.476614> + 11386: < 0.835133, 0.175853, 0.521180> + 11387: < 0.841527, 0.134100, 0.523307> + 11388: < 0.861426, 0.175453, 0.476614> + 11389: < 0.853230, 0.216413, 0.474515> + 11390: < 0.827263, 0.216475, 0.518435> + 11391: < 0.835133, 0.175853, 0.521180> + 11392: < 0.853230, 0.216413, 0.474515> + 11393: < 0.843490, 0.256606, 0.471888> + 11394: < 0.817925, 0.256243, 0.515110> + 11395: < 0.827263, 0.216475, 0.518435> + 11396: < 0.843490, 0.256606, 0.471888> + 11397: < 0.832128, 0.296339, 0.468770> + 11398: < 0.807082, 0.295457, 0.511198> + 11399: < 0.817925, 0.256243, 0.515110> + 11400: < 0.832128, 0.296339, 0.468770> + 11401: < 0.819039, 0.335801, 0.465202> + 11402: < 0.794627, 0.334337, 0.506740> + 11403: < 0.807082, 0.295457, 0.511198> + 11404: < 0.819039, 0.335801, 0.465202> + 11405: < 0.804154, 0.374961, 0.461239> + 11406: < 0.780568, 0.372705, 0.501802> + 11407: < 0.794627, 0.334337, 0.506740> + 11408: < 0.804154, 0.374961, 0.461239> + 11409: < 0.787421, 0.413777, 0.456900> + 11410: < 0.764964, 0.410392, 0.496395> + 11411: < 0.780568, 0.372705, 0.501802> + 11412: < 0.787421, 0.413777, 0.456900> + 11413: < 0.768679, 0.452290, 0.452290> + 11414: < 0.747688, 0.447593, 0.490534> + 11415: < 0.764964, 0.410392, 0.496395> + 11416: < 0.768679, 0.452290, 0.452290> + 11417: < 0.747688, 0.490534, 0.447593> + 11418: < 0.728461, 0.484430, 0.484430> + 11419: < 0.747688, 0.447593, 0.490534> + 11420: < 0.747688, 0.490534, 0.447593> + 11421: < 0.724109, 0.528478, 0.443145> + 11422: < 0.706895, 0.520969, 0.478425> + 11423: < 0.728461, 0.484430, 0.484430> + 11424: < 0.724109, 0.528478, 0.443145> + 11425: < 0.697667, 0.565794, 0.439475> + 11426: < 0.682532, 0.557037, 0.473139> + 11427: < 0.706895, 0.520969, 0.478425> + 11428: < 0.697667, 0.565794, 0.439475> + 11429: < 0.668312, 0.601963, 0.437036> + 11430: < 0.655217, 0.591920, 0.469385> + 11431: < 0.682532, 0.557037, 0.473139> + 11432: < 0.655217, -0.591920, 0.469385> + 11433: < 0.682532, -0.557037, 0.473139> + 11434: < 0.666144, -0.547882, 0.506040> + 11435: < 0.641397, -0.581456, 0.500519> + 11436: < 0.682532, -0.557037, 0.473139> + 11437: < 0.706895, -0.520969, 0.478425> + 11438: < 0.687856, -0.513252, 0.513252> + 11439: < 0.666144, -0.547882, 0.506040> + 11440: < 0.706895, -0.520969, 0.478425> + 11441: < 0.728461, -0.484430, 0.484430> + 11442: < 0.706895, -0.478425, 0.520969> + 11443: < 0.687856, -0.513252, 0.513252> + 11444: < 0.728461, -0.484430, 0.484430> + 11445: < 0.747688, -0.447593, 0.490534> + 11446: < 0.724109, -0.443145, 0.528478> + 11447: < 0.706895, -0.478425, 0.520969> + 11448: < 0.747688, -0.447593, 0.490534> + 11449: < 0.764976, -0.410398, 0.496372> + 11450: < 0.739812, -0.407307, 0.535518> + 11451: < 0.724109, -0.443145, 0.528478> + 11452: < 0.764976, -0.410398, 0.496372> + 11453: < 0.780568, -0.372705, 0.501802> + 11454: < 0.754169, -0.370721, 0.542028> + 11455: < 0.739812, -0.407307, 0.535518> + 11456: < 0.780568, -0.372705, 0.501802> + 11457: < 0.794636, -0.334310, 0.506745> + 11458: < 0.767292, -0.333090, 0.548009> + 11459: < 0.754169, -0.370721, 0.542028> + 11460: < 0.794636, -0.334310, 0.506745> + 11461: < 0.807082, -0.295457, 0.511198> + 11462: < 0.779017, -0.294729, 0.553415> + 11463: < 0.767292, -0.333090, 0.548009> + 11464: < 0.807082, -0.295457, 0.511198> + 11465: < 0.817925, -0.256243, 0.515110> + 11466: < 0.789266, -0.255937, 0.558172> + 11467: < 0.779017, -0.294729, 0.553415> + 11468: < 0.817925, -0.256243, 0.515110> + 11469: < 0.827263, -0.216475, 0.518435> + 11470: < 0.798110, -0.216534, 0.562257> + 11471: < 0.789266, -0.255937, 0.558172> + 11472: < 0.827263, -0.216475, 0.518435> + 11473: < 0.835133, -0.175853, 0.521180> + 11474: < 0.805587, -0.176188, 0.565675> + 11475: < 0.798110, -0.216534, 0.562257> + 11476: < 0.835133, -0.175853, 0.521180> + 11477: < 0.841527, -0.134100, 0.523307> + 11478: < 0.811677, -0.134618, 0.568382> + 11479: < 0.805587, -0.176188, 0.565675> + 11480: < 0.841527, -0.134100, 0.523307> + 11481: < 0.846324, -0.091008, 0.524836> + 11482: < 0.816271, -0.091497, 0.570377> + 11483: < 0.811677, -0.134618, 0.568382> + 11484: < 0.846324, -0.091008, 0.524836> + 11485: < 0.849378, -0.046267, 0.525753> + 11486: < 0.819208, -0.046573, 0.571602> + 11487: < 0.816271, -0.091497, 0.570377> + 11488: < 0.849378, -0.046267, 0.525753> + 11489: < 0.850434, 0.000000, 0.526081> + 11490: < 0.820237, 0.000000, 0.572024> + 11491: < 0.819208, -0.046573, 0.571602> + 11492: < 0.850434, 0.000000, 0.526081> + 11493: < 0.849378, 0.046267, 0.525753> + 11494: < 0.819208, 0.046573, 0.571602> + 11495: < 0.820237, 0.000000, 0.572024> + 11496: < 0.849378, 0.046267, 0.525753> + 11497: < 0.846324, 0.091008, 0.524836> + 11498: < 0.816271, 0.091497, 0.570377> + 11499: < 0.819208, 0.046573, 0.571602> + 11500: < 0.846324, 0.091008, 0.524836> + 11501: < 0.841527, 0.134100, 0.523307> + 11502: < 0.811677, 0.134618, 0.568382> + 11503: < 0.816271, 0.091497, 0.570377> + 11504: < 0.841527, 0.134100, 0.523307> + 11505: < 0.835133, 0.175853, 0.521180> + 11506: < 0.805587, 0.176188, 0.565675> + 11507: < 0.811677, 0.134618, 0.568382> + 11508: < 0.835133, 0.175853, 0.521180> + 11509: < 0.827263, 0.216475, 0.518435> + 11510: < 0.798110, 0.216534, 0.562257> + 11511: < 0.805587, 0.176188, 0.565675> + 11512: < 0.827263, 0.216475, 0.518435> + 11513: < 0.817925, 0.256243, 0.515110> + 11514: < 0.789266, 0.255937, 0.558172> + 11515: < 0.798110, 0.216534, 0.562257> + 11516: < 0.817925, 0.256243, 0.515110> + 11517: < 0.807082, 0.295457, 0.511198> + 11518: < 0.779017, 0.294729, 0.553415> + 11519: < 0.789266, 0.255937, 0.558172> + 11520: < 0.807082, 0.295457, 0.511198> + 11521: < 0.794627, 0.334337, 0.506740> + 11522: < 0.767292, 0.333090, 0.548009> + 11523: < 0.779017, 0.294729, 0.553415> + 11524: < 0.794627, 0.334337, 0.506740> + 11525: < 0.780568, 0.372705, 0.501802> + 11526: < 0.754169, 0.370721, 0.542028> + 11527: < 0.767292, 0.333090, 0.548009> + 11528: < 0.780568, 0.372705, 0.501802> + 11529: < 0.764964, 0.410392, 0.496395> + 11530: < 0.739812, 0.407307, 0.535518> + 11531: < 0.754169, 0.370721, 0.542028> + 11532: < 0.764964, 0.410392, 0.496395> + 11533: < 0.747688, 0.447593, 0.490534> + 11534: < 0.724109, 0.443145, 0.528478> + 11535: < 0.739812, 0.407307, 0.535518> + 11536: < 0.747688, 0.447593, 0.490534> + 11537: < 0.728461, 0.484430, 0.484430> + 11538: < 0.706895, 0.478425, 0.520969> + 11539: < 0.724109, 0.443145, 0.528478> + 11540: < 0.728461, 0.484430, 0.484430> + 11541: < 0.706895, 0.520969, 0.478425> + 11542: < 0.687856, 0.513252, 0.513252> + 11543: < 0.706895, 0.478425, 0.520969> + 11544: < 0.706895, 0.520969, 0.478425> + 11545: < 0.682532, 0.557037, 0.473139> + 11546: < 0.666144, 0.547882, 0.506040> + 11547: < 0.687856, 0.513252, 0.513252> + 11548: < 0.682532, 0.557037, 0.473139> + 11549: < 0.655217, 0.591920, 0.469385> + 11550: < 0.641397, 0.581456, 0.500519> + 11551: < 0.666144, 0.547882, 0.506040> + 11552: < 0.641397, -0.581456, 0.500519> + 11553: < 0.666144, -0.547882, 0.506040> + 11554: < 0.647334, -0.538962, 0.538962> + 11555: < 0.625584, -0.571076, 0.531523> + 11556: < 0.666144, -0.547882, 0.506040> + 11557: < 0.687856, -0.513252, 0.513252> + 11558: < 0.666144, -0.506040, 0.547882> + 11559: < 0.647334, -0.538962, 0.538962> + 11560: < 0.687856, -0.513252, 0.513252> + 11561: < 0.706895, -0.478425, 0.520969> + 11562: < 0.682532, -0.473139, 0.557037> + 11563: < 0.666144, -0.506040, 0.547882> + 11564: < 0.706895, -0.478425, 0.520969> + 11565: < 0.724109, -0.443145, 0.528478> + 11566: < 0.697667, -0.439475, 0.565794> + 11567: < 0.682532, -0.473139, 0.557037> + 11568: < 0.724109, -0.443145, 0.528478> + 11569: < 0.739812, -0.407307, 0.535518> + 11570: < 0.711772, -0.404839, 0.574008> + 11571: < 0.697667, -0.439475, 0.565794> + 11572: < 0.739812, -0.407307, 0.535518> + 11573: < 0.754169, -0.370721, 0.542028> + 11574: < 0.724825, -0.369188, 0.581661> + 11575: < 0.711772, -0.404839, 0.574008> + 11576: < 0.754169, -0.370721, 0.542028> + 11577: < 0.767292, -0.333090, 0.548009> + 11578: < 0.736915, -0.332170, 0.588744> + 11579: < 0.724825, -0.369188, 0.581661> + 11580: < 0.767292, -0.333090, 0.548009> + 11581: < 0.779017, -0.294729, 0.553415> + 11582: < 0.747816, -0.294207, 0.595158> + 11583: < 0.736915, -0.332170, 0.588744> + 11584: < 0.779017, -0.294729, 0.553415> + 11585: < 0.789266, -0.255937, 0.558172> + 11586: < 0.757361, -0.255750, 0.600829> + 11587: < 0.747816, -0.294207, 0.595158> + 11588: < 0.789266, -0.255937, 0.558172> + 11589: < 0.798110, -0.216534, 0.562257> + 11590: < 0.765608, -0.216596, 0.605748> + 11591: < 0.757361, -0.255750, 0.600829> + 11592: < 0.798110, -0.216534, 0.562257> + 11593: < 0.805587, -0.176188, 0.565675> + 11594: < 0.772589, -0.176461, 0.609892> + 11595: < 0.765608, -0.216596, 0.605748> + 11596: < 0.805587, -0.176188, 0.565675> + 11597: < 0.811677, -0.134618, 0.568382> + 11598: < 0.778306, -0.135018, 0.613196> + 11599: < 0.772589, -0.176461, 0.609892> + 11600: < 0.811677, -0.134618, 0.568382> + 11601: < 0.816271, -0.091497, 0.570377> + 11602: < 0.782607, -0.091894, 0.615697> + 11603: < 0.778306, -0.135018, 0.613196> + 11604: < 0.816271, -0.091497, 0.570377> + 11605: < 0.819208, -0.046573, 0.571602> + 11606: < 0.785375, -0.046847, 0.617246> + 11607: < 0.782607, -0.091894, 0.615697> + 11608: < 0.819208, -0.046573, 0.571602> + 11609: < 0.820237, 0.000000, 0.572024> + 11610: < 0.786344, 0.000000, 0.617789> + 11611: < 0.785375, -0.046847, 0.617246> + 11612: < 0.820237, 0.000000, 0.572024> + 11613: < 0.819208, 0.046573, 0.571602> + 11614: < 0.785375, 0.046847, 0.617246> + 11615: < 0.786344, 0.000000, 0.617789> + 11616: < 0.819208, 0.046573, 0.571602> + 11617: < 0.816271, 0.091497, 0.570377> + 11618: < 0.782607, 0.091894, 0.615697> + 11619: < 0.785375, 0.046847, 0.617246> + 11620: < 0.816271, 0.091497, 0.570377> + 11621: < 0.811677, 0.134618, 0.568382> + 11622: < 0.778292, 0.135015, 0.613215> + 11623: < 0.782607, 0.091894, 0.615697> + 11624: < 0.811677, 0.134618, 0.568382> + 11625: < 0.805587, 0.176188, 0.565675> + 11626: < 0.772589, 0.176461, 0.609892> + 11627: < 0.778292, 0.135015, 0.613215> + 11628: < 0.805587, 0.176188, 0.565675> + 11629: < 0.798110, 0.216534, 0.562257> + 11630: < 0.765608, 0.216596, 0.605748> + 11631: < 0.772589, 0.176461, 0.609892> + 11632: < 0.798110, 0.216534, 0.562257> + 11633: < 0.789266, 0.255937, 0.558172> + 11634: < 0.757361, 0.255750, 0.600829> + 11635: < 0.765608, 0.216596, 0.605748> + 11636: < 0.789266, 0.255937, 0.558172> + 11637: < 0.779017, 0.294729, 0.553415> + 11638: < 0.747816, 0.294207, 0.595158> + 11639: < 0.757361, 0.255750, 0.600829> + 11640: < 0.779017, 0.294729, 0.553415> + 11641: < 0.767292, 0.333090, 0.548009> + 11642: < 0.736915, 0.332170, 0.588744> + 11643: < 0.747816, 0.294207, 0.595158> + 11644: < 0.767292, 0.333090, 0.548009> + 11645: < 0.754169, 0.370721, 0.542028> + 11646: < 0.724825, 0.369188, 0.581661> + 11647: < 0.736915, 0.332170, 0.588744> + 11648: < 0.754169, 0.370721, 0.542028> + 11649: < 0.739812, 0.407307, 0.535518> + 11650: < 0.711772, 0.404839, 0.574008> + 11651: < 0.724825, 0.369188, 0.581661> + 11652: < 0.739812, 0.407307, 0.535518> + 11653: < 0.724109, 0.443145, 0.528478> + 11654: < 0.697667, 0.439475, 0.565794> + 11655: < 0.711772, 0.404839, 0.574008> + 11656: < 0.724109, 0.443145, 0.528478> + 11657: < 0.706895, 0.478425, 0.520969> + 11658: < 0.682532, 0.473139, 0.557037> + 11659: < 0.697667, 0.439475, 0.565794> + 11660: < 0.706895, 0.478425, 0.520969> + 11661: < 0.687856, 0.513252, 0.513252> + 11662: < 0.666144, 0.506040, 0.547882> + 11663: < 0.682532, 0.473139, 0.557037> + 11664: < 0.687856, 0.513252, 0.513252> + 11665: < 0.666144, 0.547882, 0.506040> + 11666: < 0.647334, 0.538962, 0.538962> + 11667: < 0.666144, 0.506040, 0.547882> + 11668: < 0.666144, 0.547882, 0.506040> + 11669: < 0.641397, 0.581456, 0.500519> + 11670: < 0.625584, 0.571076, 0.531523> + 11671: < 0.647334, 0.538962, 0.538962> + 11672: < 0.625584, -0.571076, 0.531523> + 11673: < 0.647334, -0.538962, 0.538962> + 11674: < 0.625584, -0.531523, 0.571076> + 11675: < 0.607783, -0.561516, 0.561516> + 11676: < 0.647334, -0.538962, 0.538962> + 11677: < 0.666144, -0.506040, 0.547882> + 11678: < 0.641397, -0.500519, 0.581456> + 11679: < 0.625584, -0.531523, 0.571076> + 11680: < 0.666144, -0.506040, 0.547882> + 11681: < 0.682532, -0.473139, 0.557037> + 11682: < 0.655217, -0.469385, 0.591920> + 11683: < 0.641397, -0.500519, 0.581456> + 11684: < 0.682532, -0.473139, 0.557037> + 11685: < 0.697667, -0.439475, 0.565794> + 11686: < 0.668312, -0.437036, 0.601963> + 11687: < 0.655217, -0.469385, 0.591920> + 11688: < 0.697667, -0.439475, 0.565794> + 11689: < 0.711772, -0.404839, 0.574008> + 11690: < 0.680859, -0.403223, 0.611427> + 11691: < 0.668312, -0.437036, 0.601963> + 11692: < 0.711772, -0.404839, 0.574008> + 11693: < 0.724825, -0.369188, 0.581661> + 11694: < 0.692544, -0.368246, 0.620305> + 11695: < 0.680859, -0.403223, 0.611427> + 11696: < 0.724825, -0.369188, 0.581661> + 11697: < 0.736915, -0.332170, 0.588744> + 11698: < 0.703467, -0.331652, 0.628603> + 11699: < 0.692544, -0.368246, 0.620305> + 11700: < 0.736915, -0.332170, 0.588744> + 11701: < 0.747816, -0.294207, 0.595158> + 11702: < 0.713396, -0.293904, 0.636150> + 11703: < 0.703467, -0.331652, 0.628603> + 11704: < 0.747816, -0.294207, 0.595158> + 11705: < 0.757361, -0.255750, 0.600829> + 11706: < 0.722093, -0.255632, 0.642833> + 11707: < 0.713396, -0.293904, 0.636150> + 11708: < 0.757361, -0.255750, 0.600829> + 11709: < 0.765608, -0.216596, 0.605748> + 11710: < 0.729622, -0.216656, 0.648624> + 11711: < 0.722093, -0.255632, 0.642833> + 11712: < 0.765608, -0.216596, 0.605748> + 11713: < 0.772589, -0.176461, 0.609892> + 11714: < 0.736025, -0.176644, 0.653502> + 11715: < 0.729622, -0.216656, 0.648624> + 11716: < 0.772589, -0.176461, 0.609892> + 11717: < 0.778306, -0.135018, 0.613196> + 11718: < 0.741243, -0.135260, 0.657468> + 11719: < 0.736025, -0.176644, 0.653502> + 11720: < 0.778306, -0.135018, 0.613196> + 11721: < 0.782607, -0.091894, 0.615697> + 11722: < 0.745184, -0.092137, 0.660463> + 11723: < 0.741243, -0.135260, 0.657468> + 11724: < 0.782607, -0.091894, 0.615697> + 11725: < 0.785375, -0.046847, 0.617246> + 11726: < 0.747715, -0.046999, 0.662354> + 11727: < 0.745184, -0.092137, 0.660463> + 11728: < 0.785375, -0.046847, 0.617246> + 11729: < 0.786344, 0.000000, 0.617789> + 11730: < 0.748599, 0.000000, 0.663024> + 11731: < 0.747715, -0.046999, 0.662354> + 11732: < 0.786344, 0.000000, 0.617789> + 11733: < 0.785375, 0.046847, 0.617246> + 11734: < 0.747715, 0.046999, 0.662354> + 11735: < 0.748599, 0.000000, 0.663024> + 11736: < 0.785375, 0.046847, 0.617246> + 11737: < 0.782607, 0.091894, 0.615697> + 11738: < 0.745184, 0.092137, 0.660463> + 11739: < 0.747715, 0.046999, 0.662354> + 11740: < 0.782607, 0.091894, 0.615697> + 11741: < 0.778292, 0.135015, 0.613215> + 11742: < 0.741243, 0.135260, 0.657468> + 11743: < 0.745184, 0.092137, 0.660463> + 11744: < 0.778292, 0.135015, 0.613215> + 11745: < 0.772589, 0.176461, 0.609892> + 11746: < 0.736025, 0.176644, 0.653502> + 11747: < 0.741243, 0.135260, 0.657468> + 11748: < 0.772589, 0.176461, 0.609892> + 11749: < 0.765608, 0.216596, 0.605748> + 11750: < 0.729636, 0.216660, 0.648606> + 11751: < 0.736025, 0.176644, 0.653502> + 11752: < 0.765608, 0.216596, 0.605748> + 11753: < 0.757361, 0.255750, 0.600829> + 11754: < 0.722093, 0.255632, 0.642833> + 11755: < 0.729636, 0.216660, 0.648606> + 11756: < 0.757361, 0.255750, 0.600829> + 11757: < 0.747816, 0.294207, 0.595158> + 11758: < 0.713396, 0.293904, 0.636150> + 11759: < 0.722093, 0.255632, 0.642833> + 11760: < 0.747816, 0.294207, 0.595158> + 11761: < 0.736915, 0.332170, 0.588744> + 11762: < 0.703467, 0.331652, 0.628603> + 11763: < 0.713396, 0.293904, 0.636150> + 11764: < 0.736915, 0.332170, 0.588744> + 11765: < 0.724825, 0.369188, 0.581661> + 11766: < 0.692544, 0.368246, 0.620305> + 11767: < 0.703467, 0.331652, 0.628603> + 11768: < 0.724825, 0.369188, 0.581661> + 11769: < 0.711772, 0.404839, 0.574008> + 11770: < 0.680859, 0.403223, 0.611427> + 11771: < 0.692544, 0.368246, 0.620305> + 11772: < 0.711772, 0.404839, 0.574008> + 11773: < 0.697667, 0.439475, 0.565794> + 11774: < 0.668312, 0.437036, 0.601963> + 11775: < 0.680859, 0.403223, 0.611427> + 11776: < 0.697667, 0.439475, 0.565794> + 11777: < 0.682532, 0.473139, 0.557037> + 11778: < 0.655217, 0.469385, 0.591920> + 11779: < 0.668312, 0.437036, 0.601963> + 11780: < 0.682532, 0.473139, 0.557037> + 11781: < 0.666144, 0.506040, 0.547882> + 11782: < 0.641397, 0.500519, 0.581456> + 11783: < 0.655217, 0.469385, 0.591920> + 11784: < 0.666144, 0.506040, 0.547882> + 11785: < 0.647334, 0.538962, 0.538962> + 11786: < 0.625584, 0.531523, 0.571076> + 11787: < 0.641397, 0.500519, 0.581456> + 11788: < 0.647334, 0.538962, 0.538962> + 11789: < 0.625584, 0.571076, 0.531523> + 11790: < 0.607783, 0.561516, 0.561516> + 11791: < 0.625584, 0.531523, 0.571076> + 11792: < 0.577350, -0.577350, -0.577350> + 11793: < 0.588539, -0.554296, -0.588539> + 11794: < 0.607783, -0.561516, -0.561516> + 11795: < 0.588539, -0.588539, -0.554296> + 11796: < 0.588539, -0.554296, -0.588539> + 11797: < 0.601168, -0.526457, -0.601199> + 11798: < 0.625584, -0.531523, -0.571076> + 11799: < 0.607783, -0.561516, -0.561516> + 11800: < 0.601168, -0.526457, -0.601199> + 11801: < 0.613379, -0.497527, -0.613379> + 11802: < 0.641397, -0.500519, -0.581456> + 11803: < 0.625584, -0.531523, -0.571076> + 11804: < 0.613379, -0.497527, -0.613379> + 11805: < 0.624909, -0.467950, -0.624909> + 11806: < 0.655217, -0.469385, -0.591920> + 11807: < 0.641397, -0.500519, -0.581456> + 11808: < 0.624909, -0.467950, -0.624909> + 11809: < 0.636296, -0.436181, -0.636296> + 11810: < 0.668312, -0.437036, -0.601963> + 11811: < 0.655217, -0.469385, -0.591920> + 11812: < 0.636296, -0.436181, -0.636296> + 11813: < 0.647247, -0.402668, -0.647247> + 11814: < 0.680859, -0.403223, -0.611427> + 11815: < 0.668312, -0.437036, -0.601963> + 11816: < 0.647247, -0.402668, -0.647247> + 11817: < 0.657511, -0.367912, -0.657511> + 11818: < 0.692544, -0.368246, -0.620305> + 11819: < 0.680859, -0.403223, -0.611427> + 11820: < 0.657511, -0.367912, -0.657511> + 11821: < 0.667130, -0.331474, -0.667130> + 11822: < 0.703467, -0.331652, -0.628603> + 11823: < 0.692544, -0.368246, -0.620305> + 11824: < 0.667130, -0.331474, -0.667130> + 11825: < 0.675899, -0.293804, -0.675899> + 11826: < 0.713396, -0.293904, -0.636150> + 11827: < 0.703467, -0.331652, -0.628603> + 11828: < 0.675899, -0.293804, -0.675899> + 11829: < 0.683620, -0.255594, -0.683620> + 11830: < 0.722093, -0.255632, -0.642833> + 11831: < 0.713396, -0.293904, -0.636150> + 11832: < 0.683620, -0.255594, -0.683620> + 11833: < 0.690307, -0.216684, -0.690307> + 11834: < 0.729636, -0.216660, -0.648606> + 11835: < 0.722093, -0.255632, -0.642833> + 11836: < 0.690307, -0.216684, -0.690307> + 11837: < 0.695976, -0.176733, -0.695976> + 11838: < 0.736025, -0.176644, -0.653502> + 11839: < 0.729636, -0.216660, -0.648606> + 11840: < 0.695976, -0.176733, -0.695976> + 11841: < 0.700600, -0.135353, -0.700600> + 11842: < 0.741243, -0.135260, -0.657468> + 11843: < 0.736025, -0.176644, -0.653502> + 11844: < 0.700600, -0.135353, -0.700600> + 11845: < 0.704093, -0.092231, -0.704093> + 11846: < 0.745184, -0.092137, -0.660463> + 11847: < 0.741243, -0.135260, -0.657468> + 11848: < 0.704093, -0.092231, -0.704093> + 11849: < 0.706323, -0.047060, -0.706323> + 11850: < 0.747715, -0.046999, -0.662354> + 11851: < 0.745184, -0.092137, -0.660463> + 11852: < 0.706323, -0.047060, -0.706323> + 11853: < 0.707107, 0.000000, -0.707107> + 11854: < 0.748599, 0.000000, -0.663024> + 11855: < 0.747715, -0.046999, -0.662354> + 11856: < 0.707107, 0.000000, -0.707107> + 11857: < 0.706323, 0.047060, -0.706323> + 11858: < 0.747715, 0.046999, -0.662354> + 11859: < 0.748599, 0.000000, -0.663024> + 11860: < 0.706323, 0.047060, -0.706323> + 11861: < 0.704093, 0.092231, -0.704093> + 11862: < 0.745184, 0.092137, -0.660463> + 11863: < 0.747715, 0.046999, -0.662354> + 11864: < 0.704093, 0.092231, -0.704093> + 11865: < 0.700600, 0.135353, -0.700600> + 11866: < 0.741243, 0.135260, -0.657468> + 11867: < 0.745184, 0.092137, -0.660463> + 11868: < 0.700600, 0.135353, -0.700600> + 11869: < 0.695976, 0.176733, -0.695976> + 11870: < 0.736025, 0.176644, -0.653502> + 11871: < 0.741243, 0.135260, -0.657468> + 11872: < 0.695976, 0.176733, -0.695976> + 11873: < 0.690307, 0.216684, -0.690307> + 11874: < 0.729636, 0.216660, -0.648606> + 11875: < 0.736025, 0.176644, -0.653502> + 11876: < 0.690307, 0.216684, -0.690307> + 11877: < 0.683620, 0.255594, -0.683620> + 11878: < 0.722093, 0.255632, -0.642833> + 11879: < 0.729636, 0.216660, -0.648606> + 11880: < 0.683620, 0.255594, -0.683620> + 11881: < 0.675899, 0.293804, -0.675899> + 11882: < 0.713396, 0.293904, -0.636150> + 11883: < 0.722093, 0.255632, -0.642833> + 11884: < 0.675899, 0.293804, -0.675899> + 11885: < 0.667130, 0.331474, -0.667130> + 11886: < 0.703467, 0.331652, -0.628603> + 11887: < 0.713396, 0.293904, -0.636150> + 11888: < 0.667130, 0.331474, -0.667130> + 11889: < 0.657511, 0.367912, -0.657511> + 11890: < 0.692544, 0.368246, -0.620305> + 11891: < 0.703467, 0.331652, -0.628603> + 11892: < 0.657511, 0.367912, -0.657511> + 11893: < 0.647247, 0.402668, -0.647247> + 11894: < 0.680859, 0.403223, -0.611427> + 11895: < 0.692544, 0.368246, -0.620305> + 11896: < 0.647247, 0.402668, -0.647247> + 11897: < 0.636296, 0.436181, -0.636296> + 11898: < 0.668312, 0.437036, -0.601963> + 11899: < 0.680859, 0.403223, -0.611427> + 11900: < 0.636296, 0.436181, -0.636296> + 11901: < 0.624909, 0.467950, -0.624909> + 11902: < 0.655217, 0.469385, -0.591920> + 11903: < 0.668312, 0.437036, -0.601963> + 11904: < 0.624909, 0.467950, -0.624909> + 11905: < 0.613379, 0.497527, -0.613379> + 11906: < 0.641397, 0.500519, -0.581456> + 11907: < 0.655217, 0.469385, -0.591920> + 11908: < 0.613379, 0.497527, -0.613379> + 11909: < 0.601168, 0.526457, -0.601199> + 11910: < 0.625584, 0.531523, -0.571076> + 11911: < 0.641397, 0.500519, -0.581456> + 11912: < 0.601168, 0.526457, -0.601199> + 11913: < 0.588539, 0.554296, -0.588539> + 11914: < 0.607783, 0.561516, -0.561516> + 11915: < 0.625584, 0.531523, -0.571076> + 11916: < 0.588539, 0.554296, -0.588539> + 11917: < 0.577350, 0.577350, -0.577350> + 11918: < 0.588539, 0.588539, -0.554296> + 11919: < 0.607783, 0.561516, -0.561516> + 11920: < 0.607783, 0.561516, -0.561516> + 11921: < 0.588539, 0.588539, -0.554296> + 11922: < 0.601168, 0.601199, -0.526457> + 11923: < 0.625584, 0.571076, -0.531523> + 11924: < 0.625584, 0.571076, -0.531523> + 11925: < 0.601168, 0.601199, -0.526457> + 11926: < 0.613379, 0.613379, -0.497527> + 11927: < 0.641397, 0.581456, -0.500519> + 11928: < 0.641397, 0.581456, -0.500519> + 11929: < 0.613379, 0.613379, -0.497527> + 11930: < 0.624909, 0.624909, -0.467950> + 11931: < 0.655217, 0.591920, -0.469385> + 11932: < 0.655217, 0.591920, -0.469385> + 11933: < 0.624909, 0.624909, -0.467950> + 11934: < 0.636296, 0.636296, -0.436181> + 11935: < 0.668312, 0.601963, -0.437036> + 11936: < 0.668312, 0.601963, -0.437036> + 11937: < 0.636296, 0.636296, -0.436181> + 11938: < 0.647247, 0.647247, -0.402668> + 11939: < 0.680859, 0.611427, -0.403223> + 11940: < 0.680859, 0.611427, -0.403223> + 11941: < 0.647247, 0.647247, -0.402668> + 11942: < 0.657511, 0.657511, -0.367912> + 11943: < 0.692544, 0.620305, -0.368246> + 11944: < 0.692544, 0.620305, -0.368246> + 11945: < 0.657511, 0.657511, -0.367912> + 11946: < 0.667130, 0.667130, -0.331474> + 11947: < 0.703467, 0.628603, -0.331652> + 11948: < 0.703467, 0.628603, -0.331652> + 11949: < 0.667130, 0.667130, -0.331474> + 11950: < 0.675899, 0.675899, -0.293804> + 11951: < 0.713396, 0.636150, -0.293904> + 11952: < 0.713396, 0.636150, -0.293904> + 11953: < 0.675899, 0.675899, -0.293804> + 11954: < 0.683620, 0.683620, -0.255594> + 11955: < 0.722093, 0.642833, -0.255632> + 11956: < 0.722093, 0.642833, -0.255632> + 11957: < 0.683620, 0.683620, -0.255594> + 11958: < 0.690307, 0.690307, -0.216684> + 11959: < 0.729636, 0.648606, -0.216660> + 11960: < 0.729636, 0.648606, -0.216660> + 11961: < 0.690307, 0.690307, -0.216684> + 11962: < 0.695976, 0.695976, -0.176733> + 11963: < 0.736025, 0.653502, -0.176644> + 11964: < 0.736025, 0.653502, -0.176644> + 11965: < 0.695976, 0.695976, -0.176733> + 11966: < 0.700600, 0.700600, -0.135353> + 11967: < 0.741243, 0.657468, -0.135260> + 11968: < 0.741243, 0.657468, -0.135260> + 11969: < 0.700600, 0.700600, -0.135353> + 11970: < 0.704093, 0.704093, -0.092231> + 11971: < 0.745184, 0.660463, -0.092137> + 11972: < 0.745184, 0.660463, -0.092137> + 11973: < 0.704093, 0.704093, -0.092231> + 11974: < 0.706323, 0.706323, -0.047060> + 11975: < 0.747715, 0.662354, -0.046999> + 11976: < 0.747715, 0.662354, -0.046999> + 11977: < 0.706323, 0.706323, -0.047060> + 11978: < 0.707107, 0.707107, 0.000000> + 11979: < 0.748599, 0.663024, 0.000000> + 11980: < 0.748599, 0.663024, 0.000000> + 11981: < 0.707107, 0.707107, 0.000000> + 11982: < 0.706323, 0.706323, 0.047060> + 11983: < 0.747715, 0.662354, 0.046999> + 11984: < 0.747715, 0.662354, 0.046999> + 11985: < 0.706323, 0.706323, 0.047060> + 11986: < 0.704093, 0.704093, 0.092231> + 11987: < 0.745184, 0.660463, 0.092137> + 11988: < 0.745184, 0.660463, 0.092137> + 11989: < 0.704093, 0.704093, 0.092231> + 11990: < 0.700600, 0.700600, 0.135353> + 11991: < 0.741243, 0.657468, 0.135260> + 11992: < 0.741243, 0.657468, 0.135260> + 11993: < 0.700600, 0.700600, 0.135353> + 11994: < 0.695976, 0.695976, 0.176733> + 11995: < 0.736025, 0.653502, 0.176644> + 11996: < 0.736025, 0.653502, 0.176644> + 11997: < 0.695976, 0.695976, 0.176733> + 11998: < 0.690307, 0.690307, 0.216684> + 11999: < 0.729636, 0.648606, 0.216660> + 12000: < 0.729636, 0.648606, 0.216660> + 12001: < 0.690307, 0.690307, 0.216684> + 12002: < 0.683620, 0.683620, 0.255594> + 12003: < 0.722093, 0.642833, 0.255632> + 12004: < 0.722093, 0.642833, 0.255632> + 12005: < 0.683620, 0.683620, 0.255594> + 12006: < 0.675899, 0.675899, 0.293804> + 12007: < 0.713396, 0.636150, 0.293904> + 12008: < 0.713396, 0.636150, 0.293904> + 12009: < 0.675899, 0.675899, 0.293804> + 12010: < 0.667130, 0.667130, 0.331474> + 12011: < 0.703467, 0.628603, 0.331652> + 12012: < 0.703467, 0.628603, 0.331652> + 12013: < 0.667130, 0.667130, 0.331474> + 12014: < 0.657511, 0.657511, 0.367912> + 12015: < 0.692544, 0.620305, 0.368246> + 12016: < 0.692544, 0.620305, 0.368246> + 12017: < 0.657511, 0.657511, 0.367912> + 12018: < 0.647247, 0.647247, 0.402668> + 12019: < 0.680859, 0.611427, 0.403223> + 12020: < 0.680859, 0.611427, 0.403223> + 12021: < 0.647247, 0.647247, 0.402668> + 12022: < 0.636296, 0.636296, 0.436181> + 12023: < 0.668312, 0.601963, 0.437036> + 12024: < 0.668312, 0.601963, 0.437036> + 12025: < 0.636296, 0.636296, 0.436181> + 12026: < 0.624909, 0.624909, 0.467950> + 12027: < 0.655217, 0.591920, 0.469385> + 12028: < 0.655217, 0.591920, 0.469385> + 12029: < 0.624909, 0.624909, 0.467950> + 12030: < 0.613379, 0.613379, 0.497527> + 12031: < 0.641397, 0.581456, 0.500519> + 12032: < 0.641397, 0.581456, 0.500519> + 12033: < 0.613379, 0.613379, 0.497527> + 12034: < 0.601188, 0.601188, 0.526447> + 12035: < 0.625584, 0.571076, 0.531523> + 12036: < 0.625584, 0.571076, 0.531523> + 12037: < 0.601188, 0.601188, 0.526447> + 12038: < 0.588539, 0.588539, 0.554296> + 12039: < 0.607783, 0.561516, 0.561516> + 12040: < 0.607783, 0.561516, 0.561516> + 12041: < 0.588539, 0.588539, 0.554296> + 12042: < 0.577330, 0.577360, 0.577360> + 12043: < 0.588539, 0.554296, 0.588539> + 12044: < 0.625584, 0.531523, 0.571076> + 12045: < 0.607783, 0.561516, 0.561516> + 12046: < 0.588539, 0.554296, 0.588539> + 12047: < 0.601199, 0.526457, 0.601168> + 12048: < 0.641397, 0.500519, 0.581456> + 12049: < 0.625584, 0.531523, 0.571076> + 12050: < 0.601199, 0.526457, 0.601168> + 12051: < 0.613379, 0.497527, 0.613379> + 12052: < 0.655217, 0.469385, 0.591920> + 12053: < 0.641397, 0.500519, 0.581456> + 12054: < 0.613379, 0.497527, 0.613379> + 12055: < 0.624909, 0.467950, 0.624909> + 12056: < 0.668312, 0.437036, 0.601963> + 12057: < 0.655217, 0.469385, 0.591920> + 12058: < 0.624909, 0.467950, 0.624909> + 12059: < 0.636296, 0.436181, 0.636296> + 12060: < 0.680859, 0.403223, 0.611427> + 12061: < 0.668312, 0.437036, 0.601963> + 12062: < 0.636296, 0.436181, 0.636296> + 12063: < 0.647247, 0.402668, 0.647247> + 12064: < 0.692544, 0.368246, 0.620305> + 12065: < 0.680859, 0.403223, 0.611427> + 12066: < 0.647247, 0.402668, 0.647247> + 12067: < 0.657511, 0.367912, 0.657511> + 12068: < 0.703467, 0.331652, 0.628603> + 12069: < 0.692544, 0.368246, 0.620305> + 12070: < 0.657511, 0.367912, 0.657511> + 12071: < 0.667130, 0.331474, 0.667130> + 12072: < 0.713396, 0.293904, 0.636150> + 12073: < 0.703467, 0.331652, 0.628603> + 12074: < 0.667130, 0.331474, 0.667130> + 12075: < 0.675899, 0.293804, 0.675899> + 12076: < 0.722093, 0.255632, 0.642833> + 12077: < 0.713396, 0.293904, 0.636150> + 12078: < 0.675899, 0.293804, 0.675899> + 12079: < 0.683620, 0.255594, 0.683620> + 12080: < 0.729636, 0.216660, 0.648606> + 12081: < 0.722093, 0.255632, 0.642833> + 12082: < 0.683620, 0.255594, 0.683620> + 12083: < 0.690307, 0.216684, 0.690307> + 12084: < 0.736025, 0.176644, 0.653502> + 12085: < 0.729636, 0.216660, 0.648606> + 12086: < 0.690307, 0.216684, 0.690307> + 12087: < 0.695976, 0.176733, 0.695976> + 12088: < 0.741243, 0.135260, 0.657468> + 12089: < 0.736025, 0.176644, 0.653502> + 12090: < 0.695976, 0.176733, 0.695976> + 12091: < 0.700600, 0.135353, 0.700600> + 12092: < 0.745184, 0.092137, 0.660463> + 12093: < 0.741243, 0.135260, 0.657468> + 12094: < 0.700600, 0.135353, 0.700600> + 12095: < 0.704093, 0.092231, 0.704093> + 12096: < 0.747715, 0.046999, 0.662354> + 12097: < 0.745184, 0.092137, 0.660463> + 12098: < 0.704093, 0.092231, 0.704093> + 12099: < 0.706323, 0.047060, 0.706323> + 12100: < 0.748599, 0.000000, 0.663024> + 12101: < 0.747715, 0.046999, 0.662354> + 12102: < 0.706323, 0.047060, 0.706323> + 12103: < 0.707107, 0.000000, 0.707107> + 12104: < 0.747715, -0.046999, 0.662354> + 12105: < 0.748599, 0.000000, 0.663024> + 12106: < 0.707107, 0.000000, 0.707107> + 12107: < 0.706323, -0.047060, 0.706323> + 12108: < 0.745184, -0.092137, 0.660463> + 12109: < 0.747715, -0.046999, 0.662354> + 12110: < 0.706323, -0.047060, 0.706323> + 12111: < 0.704093, -0.092231, 0.704093> + 12112: < 0.741243, -0.135260, 0.657468> + 12113: < 0.745184, -0.092137, 0.660463> + 12114: < 0.704093, -0.092231, 0.704093> + 12115: < 0.700600, -0.135353, 0.700600> + 12116: < 0.736025, -0.176644, 0.653502> + 12117: < 0.741243, -0.135260, 0.657468> + 12118: < 0.700600, -0.135353, 0.700600> + 12119: < 0.695976, -0.176733, 0.695976> + 12120: < 0.729622, -0.216656, 0.648624> + 12121: < 0.736025, -0.176644, 0.653502> + 12122: < 0.695976, -0.176733, 0.695976> + 12123: < 0.690307, -0.216684, 0.690307> + 12124: < 0.722093, -0.255632, 0.642833> + 12125: < 0.729622, -0.216656, 0.648624> + 12126: < 0.690307, -0.216684, 0.690307> + 12127: < 0.683620, -0.255594, 0.683620> + 12128: < 0.713396, -0.293904, 0.636150> + 12129: < 0.722093, -0.255632, 0.642833> + 12130: < 0.683620, -0.255594, 0.683620> + 12131: < 0.675899, -0.293804, 0.675899> + 12132: < 0.703467, -0.331652, 0.628603> + 12133: < 0.713396, -0.293904, 0.636150> + 12134: < 0.675899, -0.293804, 0.675899> + 12135: < 0.667130, -0.331474, 0.667130> + 12136: < 0.692544, -0.368246, 0.620305> + 12137: < 0.703467, -0.331652, 0.628603> + 12138: < 0.667130, -0.331474, 0.667130> + 12139: < 0.657511, -0.367912, 0.657511> + 12140: < 0.680859, -0.403223, 0.611427> + 12141: < 0.692544, -0.368246, 0.620305> + 12142: < 0.657511, -0.367912, 0.657511> + 12143: < 0.647247, -0.402668, 0.647247> + 12144: < 0.668312, -0.437036, 0.601963> + 12145: < 0.680859, -0.403223, 0.611427> + 12146: < 0.647247, -0.402668, 0.647247> + 12147: < 0.636296, -0.436181, 0.636296> + 12148: < 0.655217, -0.469385, 0.591920> + 12149: < 0.668312, -0.437036, 0.601963> + 12150: < 0.636296, -0.436181, 0.636296> + 12151: < 0.624909, -0.467950, 0.624909> + 12152: < 0.641397, -0.500519, 0.581456> + 12153: < 0.655217, -0.469385, 0.591920> + 12154: < 0.624909, -0.467950, 0.624909> + 12155: < 0.613379, -0.497527, 0.613379> + 12156: < 0.625584, -0.531523, 0.571076> + 12157: < 0.641397, -0.500519, 0.581456> + 12158: < 0.613379, -0.497527, 0.613379> + 12159: < 0.601199, -0.526457, 0.601168> + 12160: < 0.607783, -0.561516, 0.561516> + 12161: < 0.625584, -0.531523, 0.571076> + 12162: < 0.601199, -0.526457, 0.601168> + 12163: < 0.588539, -0.554296, 0.588539> + 12164: < 0.588539, -0.588539, 0.554296> + 12165: < 0.607783, -0.561516, 0.561516> + 12166: < 0.588539, -0.554296, 0.588539> + 12167: < 0.577360, -0.577330, 0.577360> + 12168: < 0.601188, -0.601188, 0.526447> + 12169: < 0.625584, -0.571076, 0.531523> + 12170: < 0.607783, -0.561516, 0.561516> + 12171: < 0.588539, -0.588539, 0.554296> + 12172: < 0.613379, -0.613379, 0.497527> + 12173: < 0.641397, -0.581456, 0.500519> + 12174: < 0.625584, -0.571076, 0.531523> + 12175: < 0.601188, -0.601188, 0.526447> + 12176: < 0.624909, -0.624909, 0.467950> + 12177: < 0.655217, -0.591920, 0.469385> + 12178: < 0.641397, -0.581456, 0.500519> + 12179: < 0.613379, -0.613379, 0.497527> + 12180: < 0.636296, -0.636296, 0.436181> + 12181: < 0.668312, -0.601963, 0.437036> + 12182: < 0.655217, -0.591920, 0.469385> + 12183: < 0.624909, -0.624909, 0.467950> + 12184: < 0.647247, -0.647247, 0.402668> + 12185: < 0.680859, -0.611427, 0.403223> + 12186: < 0.668312, -0.601963, 0.437036> + 12187: < 0.636296, -0.636296, 0.436181> + 12188: < 0.657511, -0.657511, 0.367912> + 12189: < 0.692544, -0.620305, 0.368246> + 12190: < 0.680859, -0.611427, 0.403223> + 12191: < 0.647247, -0.647247, 0.402668> + 12192: < 0.667130, -0.667130, 0.331474> + 12193: < 0.703467, -0.628603, 0.331652> + 12194: < 0.692544, -0.620305, 0.368246> + 12195: < 0.657511, -0.657511, 0.367912> + 12196: < 0.675899, -0.675899, 0.293804> + 12197: < 0.713396, -0.636150, 0.293904> + 12198: < 0.703467, -0.628603, 0.331652> + 12199: < 0.667130, -0.667130, 0.331474> + 12200: < 0.683620, -0.683620, 0.255594> + 12201: < 0.722093, -0.642833, 0.255632> + 12202: < 0.713396, -0.636150, 0.293904> + 12203: < 0.675899, -0.675899, 0.293804> + 12204: < 0.690307, -0.690307, 0.216684> + 12205: < 0.729636, -0.648606, 0.216660> + 12206: < 0.722093, -0.642833, 0.255632> + 12207: < 0.683620, -0.683620, 0.255594> + 12208: < 0.695976, -0.695976, 0.176733> + 12209: < 0.736025, -0.653502, 0.176644> + 12210: < 0.729636, -0.648606, 0.216660> + 12211: < 0.690307, -0.690307, 0.216684> + 12212: < 0.700600, -0.700600, 0.135353> + 12213: < 0.741243, -0.657468, 0.135260> + 12214: < 0.736025, -0.653502, 0.176644> + 12215: < 0.695976, -0.695976, 0.176733> + 12216: < 0.704093, -0.704093, 0.092231> + 12217: < 0.745184, -0.660463, 0.092137> + 12218: < 0.741243, -0.657468, 0.135260> + 12219: < 0.700600, -0.700600, 0.135353> + 12220: < 0.706323, -0.706323, 0.047060> + 12221: < 0.747715, -0.662354, 0.046999> + 12222: < 0.745184, -0.660463, 0.092137> + 12223: < 0.704093, -0.704093, 0.092231> + 12224: < 0.707107, -0.707107, 0.000000> + 12225: < 0.748599, -0.663024, 0.000000> + 12226: < 0.747715, -0.662354, 0.046999> + 12227: < 0.706323, -0.706323, 0.047060> + 12228: < 0.706323, -0.706323, -0.047060> + 12229: < 0.747715, -0.662354, -0.046999> + 12230: < 0.748599, -0.663024, 0.000000> + 12231: < 0.707107, -0.707107, 0.000000> + 12232: < 0.704093, -0.704093, -0.092231> + 12233: < 0.745184, -0.660463, -0.092137> + 12234: < 0.747715, -0.662354, -0.046999> + 12235: < 0.706323, -0.706323, -0.047060> + 12236: < 0.700600, -0.700600, -0.135353> + 12237: < 0.741243, -0.657468, -0.135260> + 12238: < 0.745184, -0.660463, -0.092137> + 12239: < 0.704093, -0.704093, -0.092231> + 12240: < 0.695976, -0.695976, -0.176733> + 12241: < 0.736025, -0.653502, -0.176644> + 12242: < 0.741243, -0.657468, -0.135260> + 12243: < 0.700600, -0.700600, -0.135353> + 12244: < 0.690307, -0.690307, -0.216684> + 12245: < 0.729636, -0.648606, -0.216660> + 12246: < 0.736025, -0.653502, -0.176644> + 12247: < 0.695976, -0.695976, -0.176733> + 12248: < 0.683620, -0.683620, -0.255594> + 12249: < 0.722093, -0.642833, -0.255632> + 12250: < 0.729636, -0.648606, -0.216660> + 12251: < 0.690307, -0.690307, -0.216684> + 12252: < 0.675899, -0.675899, -0.293804> + 12253: < 0.713382, -0.636169, -0.293898> + 12254: < 0.722093, -0.642833, -0.255632> + 12255: < 0.683620, -0.683620, -0.255594> + 12256: < 0.667130, -0.667130, -0.331474> + 12257: < 0.703467, -0.628603, -0.331652> + 12258: < 0.713382, -0.636169, -0.293898> + 12259: < 0.675899, -0.675899, -0.293804> + 12260: < 0.657511, -0.657511, -0.367912> + 12261: < 0.692544, -0.620305, -0.368246> + 12262: < 0.703467, -0.628603, -0.331652> + 12263: < 0.667130, -0.667130, -0.331474> + 12264: < 0.647247, -0.647247, -0.402668> + 12265: < 0.680859, -0.611427, -0.403223> + 12266: < 0.692544, -0.620305, -0.368246> + 12267: < 0.657511, -0.657511, -0.367912> + 12268: < 0.636296, -0.636296, -0.436181> + 12269: < 0.668312, -0.601963, -0.437036> + 12270: < 0.680859, -0.611427, -0.403223> + 12271: < 0.647247, -0.647247, -0.402668> + 12272: < 0.624909, -0.624909, -0.467950> + 12273: < 0.655217, -0.591920, -0.469385> + 12274: < 0.668312, -0.601963, -0.437036> + 12275: < 0.636296, -0.636296, -0.436181> + 12276: < 0.613379, -0.613379, -0.497527> + 12277: < 0.641397, -0.581456, -0.500519> + 12278: < 0.655217, -0.591920, -0.469385> + 12279: < 0.624909, -0.624909, -0.467950> + 12280: < 0.601188, -0.601188, -0.526447> + 12281: < 0.625584, -0.571076, -0.531523> + 12282: < 0.641397, -0.581456, -0.500519> + 12283: < 0.613379, -0.613379, -0.497527> + 12284: < 0.588539, -0.588539, -0.554296> + 12285: < 0.607783, -0.561516, -0.561516> + 12286: < 0.625584, -0.571076, -0.531523> + 12287: < 0.601188, -0.601188, -0.526447> + 12288: < 0.561516, -0.607783, 0.561516> + 12289: < 0.531523, -0.625584, 0.571076> + 12290: < 0.538962, -0.647334, 0.538962> + 12291: < 0.571076, -0.625584, 0.531523> + 12292: < 0.531523, -0.625584, 0.571076> + 12293: < 0.500519, -0.641397, 0.581456> + 12294: < 0.506040, -0.666144, 0.547882> + 12295: < 0.538962, -0.647334, 0.538962> + 12296: < 0.500519, -0.641397, 0.581456> + 12297: < 0.469385, -0.655217, 0.591920> + 12298: < 0.473139, -0.682532, 0.557037> + 12299: < 0.506040, -0.666144, 0.547882> + 12300: < 0.469385, -0.655217, 0.591920> + 12301: < 0.437036, -0.668312, 0.601963> + 12302: < 0.439475, -0.697667, 0.565794> + 12303: < 0.473139, -0.682532, 0.557037> + 12304: < 0.437036, -0.668312, 0.601963> + 12305: < 0.403223, -0.680859, 0.611427> + 12306: < 0.404839, -0.711772, 0.574008> + 12307: < 0.439475, -0.697667, 0.565794> + 12308: < 0.403223, -0.680859, 0.611427> + 12309: < 0.368246, -0.692544, 0.620305> + 12310: < 0.369188, -0.724825, 0.581661> + 12311: < 0.404839, -0.711772, 0.574008> + 12312: < 0.368246, -0.692544, 0.620305> + 12313: < 0.331652, -0.703467, 0.628603> + 12314: < 0.332197, -0.736907, 0.588738> + 12315: < 0.369188, -0.724825, 0.581661> + 12316: < 0.331652, -0.703467, 0.628603> + 12317: < 0.293904, -0.713396, 0.636150> + 12318: < 0.294207, -0.747816, 0.595158> + 12319: < 0.332197, -0.736907, 0.588738> + 12320: < 0.293904, -0.713396, 0.636150> + 12321: < 0.255632, -0.722093, 0.642833> + 12322: < 0.255750, -0.757361, 0.600829> + 12323: < 0.294207, -0.747816, 0.595158> + 12324: < 0.255632, -0.722093, 0.642833> + 12325: < 0.216660, -0.729636, 0.648606> + 12326: < 0.216596, -0.765608, 0.605748> + 12327: < 0.255750, -0.757361, 0.600829> + 12328: < 0.216660, -0.729636, 0.648606> + 12329: < 0.176644, -0.736025, 0.653502> + 12330: < 0.176461, -0.772589, 0.609892> + 12331: < 0.216596, -0.765608, 0.605748> + 12332: < 0.176644, -0.736025, 0.653502> + 12333: < 0.135260, -0.741243, 0.657468> + 12334: < 0.135015, -0.778292, 0.613215> + 12335: < 0.176461, -0.772589, 0.609892> + 12336: < 0.135260, -0.741243, 0.657468> + 12337: < 0.092137, -0.745184, 0.660463> + 12338: < 0.091894, -0.782607, 0.615697> + 12339: < 0.135015, -0.778292, 0.613215> + 12340: < 0.092137, -0.745184, 0.660463> + 12341: < 0.046999, -0.747715, 0.662354> + 12342: < 0.046847, -0.785375, 0.617246> + 12343: < 0.091894, -0.782607, 0.615697> + 12344: < 0.046999, -0.747715, 0.662354> + 12345: < 0.000000, -0.748599, 0.663024> + 12346: < 0.000000, -0.786344, 0.617789> + 12347: < 0.046847, -0.785375, 0.617246> + 12348: < 0.000000, -0.748599, 0.663024> + 12349: <-0.046999, -0.747715, 0.662354> + 12350: <-0.046847, -0.785375, 0.617246> + 12351: < 0.000000, -0.786344, 0.617789> + 12352: <-0.046999, -0.747715, 0.662354> + 12353: <-0.092137, -0.745184, 0.660463> + 12354: <-0.091894, -0.782607, 0.615697> + 12355: <-0.046847, -0.785375, 0.617246> + 12356: <-0.092137, -0.745184, 0.660463> + 12357: <-0.135260, -0.741243, 0.657468> + 12358: <-0.134988, -0.778309, 0.613199> + 12359: <-0.091894, -0.782607, 0.615697> + 12360: <-0.135260, -0.741243, 0.657468> + 12361: <-0.176644, -0.736025, 0.653502> + 12362: <-0.176461, -0.772589, 0.609892> + 12363: <-0.134988, -0.778309, 0.613199> + 12364: <-0.176644, -0.736025, 0.653502> + 12365: <-0.216660, -0.729636, 0.648606> + 12366: <-0.216596, -0.765608, 0.605748> + 12367: <-0.176461, -0.772589, 0.609892> + 12368: <-0.216660, -0.729636, 0.648606> + 12369: <-0.255632, -0.722093, 0.642833> + 12370: <-0.255750, -0.757361, 0.600829> + 12371: <-0.216596, -0.765608, 0.605748> + 12372: <-0.255632, -0.722093, 0.642833> + 12373: <-0.293904, -0.713396, 0.636150> + 12374: <-0.294207, -0.747816, 0.595158> + 12375: <-0.255750, -0.757361, 0.600829> + 12376: <-0.293904, -0.713396, 0.636150> + 12377: <-0.331652, -0.703467, 0.628603> + 12378: <-0.332170, -0.736915, 0.588744> + 12379: <-0.294207, -0.747816, 0.595158> + 12380: <-0.331652, -0.703467, 0.628603> + 12381: <-0.368246, -0.692544, 0.620305> + 12382: <-0.369188, -0.724825, 0.581661> + 12383: <-0.332170, -0.736915, 0.588744> + 12384: <-0.368246, -0.692544, 0.620305> + 12385: <-0.403223, -0.680859, 0.611427> + 12386: <-0.404839, -0.711772, 0.574008> + 12387: <-0.369188, -0.724825, 0.581661> + 12388: <-0.403223, -0.680859, 0.611427> + 12389: <-0.437036, -0.668312, 0.601963> + 12390: <-0.439475, -0.697667, 0.565794> + 12391: <-0.404839, -0.711772, 0.574008> + 12392: <-0.437036, -0.668312, 0.601963> + 12393: <-0.469385, -0.655217, 0.591920> + 12394: <-0.473139, -0.682532, 0.557037> + 12395: <-0.439475, -0.697667, 0.565794> + 12396: <-0.469385, -0.655217, 0.591920> + 12397: <-0.500496, -0.641406, 0.581465> + 12398: <-0.506040, -0.666144, 0.547882> + 12399: <-0.473139, -0.682532, 0.557037> + 12400: <-0.500496, -0.641406, 0.581465> + 12401: <-0.531523, -0.625584, 0.571076> + 12402: <-0.538962, -0.647334, 0.538962> + 12403: <-0.506040, -0.666144, 0.547882> + 12404: <-0.531523, -0.625584, 0.571076> + 12405: <-0.561516, -0.607783, 0.561516> + 12406: <-0.571076, -0.625584, 0.531523> + 12407: <-0.538962, -0.647334, 0.538962> + 12408: < 0.571076, -0.625584, 0.531523> + 12409: < 0.538962, -0.647334, 0.538962> + 12410: < 0.547882, -0.666144, 0.506040> + 12411: < 0.581456, -0.641397, 0.500519> + 12412: < 0.538962, -0.647334, 0.538962> + 12413: < 0.506040, -0.666144, 0.547882> + 12414: < 0.513252, -0.687856, 0.513252> + 12415: < 0.547882, -0.666144, 0.506040> + 12416: < 0.506040, -0.666144, 0.547882> + 12417: < 0.473139, -0.682532, 0.557037> + 12418: < 0.478425, -0.706895, 0.520969> + 12419: < 0.513252, -0.687856, 0.513252> + 12420: < 0.473139, -0.682532, 0.557037> + 12421: < 0.439475, -0.697667, 0.565794> + 12422: < 0.443145, -0.724109, 0.528478> + 12423: < 0.478425, -0.706895, 0.520969> + 12424: < 0.439475, -0.697667, 0.565794> + 12425: < 0.404839, -0.711772, 0.574008> + 12426: < 0.407307, -0.739812, 0.535518> + 12427: < 0.443145, -0.724109, 0.528478> + 12428: < 0.404839, -0.711772, 0.574008> + 12429: < 0.369188, -0.724825, 0.581661> + 12430: < 0.370721, -0.754169, 0.542028> + 12431: < 0.407307, -0.739812, 0.535518> + 12432: < 0.369188, -0.724825, 0.581661> + 12433: < 0.332197, -0.736907, 0.588738> + 12434: < 0.333090, -0.767292, 0.548009> + 12435: < 0.370721, -0.754169, 0.542028> + 12436: < 0.332197, -0.736907, 0.588738> + 12437: < 0.294207, -0.747816, 0.595158> + 12438: < 0.294729, -0.779017, 0.553415> + 12439: < 0.333090, -0.767292, 0.548009> + 12440: < 0.294207, -0.747816, 0.595158> + 12441: < 0.255750, -0.757361, 0.600829> + 12442: < 0.255937, -0.789266, 0.558172> + 12443: < 0.294729, -0.779017, 0.553415> + 12444: < 0.255750, -0.757361, 0.600829> + 12445: < 0.216596, -0.765608, 0.605748> + 12446: < 0.216534, -0.798110, 0.562257> + 12447: < 0.255937, -0.789266, 0.558172> + 12448: < 0.216596, -0.765608, 0.605748> + 12449: < 0.176461, -0.772589, 0.609892> + 12450: < 0.176188, -0.805587, 0.565675> + 12451: < 0.216534, -0.798110, 0.562257> + 12452: < 0.176461, -0.772589, 0.609892> + 12453: < 0.135015, -0.778292, 0.613215> + 12454: < 0.134618, -0.811677, 0.568382> + 12455: < 0.176188, -0.805587, 0.565675> + 12456: < 0.135015, -0.778292, 0.613215> + 12457: < 0.091894, -0.782607, 0.615697> + 12458: < 0.091497, -0.816271, 0.570377> + 12459: < 0.134618, -0.811677, 0.568382> + 12460: < 0.091894, -0.782607, 0.615697> + 12461: < 0.046847, -0.785375, 0.617246> + 12462: < 0.046573, -0.819208, 0.571602> + 12463: < 0.091497, -0.816271, 0.570377> + 12464: < 0.046847, -0.785375, 0.617246> + 12465: < 0.000000, -0.786344, 0.617789> + 12466: < 0.000000, -0.820237, 0.572024> + 12467: < 0.046573, -0.819208, 0.571602> + 12468: < 0.000000, -0.786344, 0.617789> + 12469: <-0.046847, -0.785375, 0.617246> + 12470: <-0.046573, -0.819208, 0.571602> + 12471: < 0.000000, -0.820237, 0.572024> + 12472: <-0.046847, -0.785375, 0.617246> + 12473: <-0.091894, -0.782607, 0.615697> + 12474: <-0.091497, -0.816271, 0.570377> + 12475: <-0.046573, -0.819208, 0.571602> + 12476: <-0.091894, -0.782607, 0.615697> + 12477: <-0.134988, -0.778309, 0.613199> + 12478: <-0.134618, -0.811677, 0.568382> + 12479: <-0.091497, -0.816271, 0.570377> + 12480: <-0.134988, -0.778309, 0.613199> + 12481: <-0.176461, -0.772589, 0.609892> + 12482: <-0.176188, -0.805587, 0.565675> + 12483: <-0.134618, -0.811677, 0.568382> + 12484: <-0.176461, -0.772589, 0.609892> + 12485: <-0.216596, -0.765608, 0.605748> + 12486: <-0.216534, -0.798110, 0.562257> + 12487: <-0.176188, -0.805587, 0.565675> + 12488: <-0.216596, -0.765608, 0.605748> + 12489: <-0.255750, -0.757361, 0.600829> + 12490: <-0.255937, -0.789266, 0.558172> + 12491: <-0.216534, -0.798110, 0.562257> + 12492: <-0.255750, -0.757361, 0.600829> + 12493: <-0.294207, -0.747816, 0.595158> + 12494: <-0.294729, -0.779017, 0.553415> + 12495: <-0.255937, -0.789266, 0.558172> + 12496: <-0.294207, -0.747816, 0.595158> + 12497: <-0.332170, -0.736915, 0.588744> + 12498: <-0.333090, -0.767292, 0.548009> + 12499: <-0.294729, -0.779017, 0.553415> + 12500: <-0.332170, -0.736915, 0.588744> + 12501: <-0.369188, -0.724825, 0.581661> + 12502: <-0.370721, -0.754169, 0.542028> + 12503: <-0.333090, -0.767292, 0.548009> + 12504: <-0.369188, -0.724825, 0.581661> + 12505: <-0.404839, -0.711772, 0.574008> + 12506: <-0.407307, -0.739812, 0.535518> + 12507: <-0.370721, -0.754169, 0.542028> + 12508: <-0.404839, -0.711772, 0.574008> + 12509: <-0.439475, -0.697667, 0.565794> + 12510: <-0.443145, -0.724109, 0.528478> + 12511: <-0.407307, -0.739812, 0.535518> + 12512: <-0.439475, -0.697667, 0.565794> + 12513: <-0.473139, -0.682532, 0.557037> + 12514: <-0.478425, -0.706895, 0.520969> + 12515: <-0.443145, -0.724109, 0.528478> + 12516: <-0.473139, -0.682532, 0.557037> + 12517: <-0.506040, -0.666144, 0.547882> + 12518: <-0.513252, -0.687856, 0.513252> + 12519: <-0.478425, -0.706895, 0.520969> + 12520: <-0.506040, -0.666144, 0.547882> + 12521: <-0.538962, -0.647334, 0.538962> + 12522: <-0.547882, -0.666144, 0.506040> + 12523: <-0.513252, -0.687856, 0.513252> + 12524: <-0.538962, -0.647334, 0.538962> + 12525: <-0.571076, -0.625584, 0.531523> + 12526: <-0.581456, -0.641397, 0.500519> + 12527: <-0.547882, -0.666144, 0.506040> + 12528: < 0.581456, -0.641397, 0.500519> + 12529: < 0.547882, -0.666144, 0.506040> + 12530: < 0.557037, -0.682532, 0.473139> + 12531: < 0.591920, -0.655217, 0.469385> + 12532: < 0.547882, -0.666144, 0.506040> + 12533: < 0.513252, -0.687856, 0.513252> + 12534: < 0.520969, -0.706895, 0.478425> + 12535: < 0.557037, -0.682532, 0.473139> + 12536: < 0.513252, -0.687856, 0.513252> + 12537: < 0.478425, -0.706895, 0.520969> + 12538: < 0.484430, -0.728461, 0.484430> + 12539: < 0.520969, -0.706895, 0.478425> + 12540: < 0.478425, -0.706895, 0.520969> + 12541: < 0.443145, -0.724109, 0.528478> + 12542: < 0.447593, -0.747688, 0.490534> + 12543: < 0.484430, -0.728461, 0.484430> + 12544: < 0.443145, -0.724109, 0.528478> + 12545: < 0.407307, -0.739812, 0.535518> + 12546: < 0.410392, -0.764964, 0.496395> + 12547: < 0.447593, -0.747688, 0.490534> + 12548: < 0.407307, -0.739812, 0.535518> + 12549: < 0.370721, -0.754169, 0.542028> + 12550: < 0.372705, -0.780568, 0.501802> + 12551: < 0.410392, -0.764964, 0.496395> + 12552: < 0.370721, -0.754169, 0.542028> + 12553: < 0.333090, -0.767292, 0.548009> + 12554: < 0.334337, -0.794627, 0.506740> + 12555: < 0.372705, -0.780568, 0.501802> + 12556: < 0.333090, -0.767292, 0.548009> + 12557: < 0.294729, -0.779017, 0.553415> + 12558: < 0.295457, -0.807082, 0.511198> + 12559: < 0.334337, -0.794627, 0.506740> + 12560: < 0.294729, -0.779017, 0.553415> + 12561: < 0.255937, -0.789266, 0.558172> + 12562: < 0.256243, -0.817925, 0.515110> + 12563: < 0.295457, -0.807082, 0.511198> + 12564: < 0.255937, -0.789266, 0.558172> + 12565: < 0.216534, -0.798110, 0.562257> + 12566: < 0.216475, -0.827263, 0.518435> + 12567: < 0.256243, -0.817925, 0.515110> + 12568: < 0.216534, -0.798110, 0.562257> + 12569: < 0.176188, -0.805587, 0.565675> + 12570: < 0.175853, -0.835133, 0.521180> + 12571: < 0.216475, -0.827263, 0.518435> + 12572: < 0.176188, -0.805587, 0.565675> + 12573: < 0.134618, -0.811677, 0.568382> + 12574: < 0.134100, -0.841527, 0.523307> + 12575: < 0.175853, -0.835133, 0.521180> + 12576: < 0.134618, -0.811677, 0.568382> + 12577: < 0.091497, -0.816271, 0.570377> + 12578: < 0.091008, -0.846324, 0.524836> + 12579: < 0.134100, -0.841527, 0.523307> + 12580: < 0.091497, -0.816271, 0.570377> + 12581: < 0.046573, -0.819208, 0.571602> + 12582: < 0.046267, -0.849378, 0.525753> + 12583: < 0.091008, -0.846324, 0.524836> + 12584: < 0.046573, -0.819208, 0.571602> + 12585: < 0.000000, -0.820237, 0.572024> + 12586: < 0.000000, -0.850434, 0.526081> + 12587: < 0.046267, -0.849378, 0.525753> + 12588: < 0.000000, -0.820237, 0.572024> + 12589: <-0.046573, -0.819208, 0.571602> + 12590: <-0.046267, -0.849378, 0.525753> + 12591: < 0.000000, -0.850434, 0.526081> + 12592: <-0.046573, -0.819208, 0.571602> + 12593: <-0.091497, -0.816271, 0.570377> + 12594: <-0.091008, -0.846324, 0.524836> + 12595: <-0.046267, -0.849378, 0.525753> + 12596: <-0.091497, -0.816271, 0.570377> + 12597: <-0.134618, -0.811677, 0.568382> + 12598: <-0.134100, -0.841527, 0.523307> + 12599: <-0.091008, -0.846324, 0.524836> + 12600: <-0.134618, -0.811677, 0.568382> + 12601: <-0.176188, -0.805587, 0.565675> + 12602: <-0.175853, -0.835133, 0.521180> + 12603: <-0.134100, -0.841527, 0.523307> + 12604: <-0.176188, -0.805587, 0.565675> + 12605: <-0.216534, -0.798110, 0.562257> + 12606: <-0.216475, -0.827263, 0.518435> + 12607: <-0.175853, -0.835133, 0.521180> + 12608: <-0.216534, -0.798110, 0.562257> + 12609: <-0.255937, -0.789266, 0.558172> + 12610: <-0.256243, -0.817925, 0.515110> + 12611: <-0.216475, -0.827263, 0.518435> + 12612: <-0.255937, -0.789266, 0.558172> + 12613: <-0.294729, -0.779017, 0.553415> + 12614: <-0.295457, -0.807082, 0.511198> + 12615: <-0.256243, -0.817925, 0.515110> + 12616: <-0.294729, -0.779017, 0.553415> + 12617: <-0.333090, -0.767292, 0.548009> + 12618: <-0.334337, -0.794627, 0.506740> + 12619: <-0.295457, -0.807082, 0.511198> + 12620: <-0.333090, -0.767292, 0.548009> + 12621: <-0.370721, -0.754169, 0.542028> + 12622: <-0.372705, -0.780568, 0.501802> + 12623: <-0.334337, -0.794627, 0.506740> + 12624: <-0.370721, -0.754169, 0.542028> + 12625: <-0.407307, -0.739812, 0.535518> + 12626: <-0.410392, -0.764964, 0.496395> + 12627: <-0.372705, -0.780568, 0.501802> + 12628: <-0.407307, -0.739812, 0.535518> + 12629: <-0.443145, -0.724109, 0.528478> + 12630: <-0.447593, -0.747688, 0.490534> + 12631: <-0.410392, -0.764964, 0.496395> + 12632: <-0.443145, -0.724109, 0.528478> + 12633: <-0.478425, -0.706895, 0.520969> + 12634: <-0.484430, -0.728461, 0.484430> + 12635: <-0.447593, -0.747688, 0.490534> + 12636: <-0.478425, -0.706895, 0.520969> + 12637: <-0.513252, -0.687856, 0.513252> + 12638: <-0.520969, -0.706895, 0.478425> + 12639: <-0.484430, -0.728461, 0.484430> + 12640: <-0.513252, -0.687856, 0.513252> + 12641: <-0.547882, -0.666144, 0.506040> + 12642: <-0.557037, -0.682532, 0.473139> + 12643: <-0.520969, -0.706895, 0.478425> + 12644: <-0.547882, -0.666144, 0.506040> + 12645: <-0.581456, -0.641397, 0.500519> + 12646: <-0.591920, -0.655217, 0.469385> + 12647: <-0.557037, -0.682532, 0.473139> + 12648: < 0.591920, -0.655217, 0.469385> + 12649: < 0.557037, -0.682532, 0.473139> + 12650: < 0.565794, -0.697667, 0.439475> + 12651: < 0.601963, -0.668312, 0.437036> + 12652: < 0.557037, -0.682532, 0.473139> + 12653: < 0.520969, -0.706895, 0.478425> + 12654: < 0.528478, -0.724109, 0.443145> + 12655: < 0.565794, -0.697667, 0.439475> + 12656: < 0.520969, -0.706895, 0.478425> + 12657: < 0.484430, -0.728461, 0.484430> + 12658: < 0.490534, -0.747688, 0.447593> + 12659: < 0.528478, -0.724109, 0.443145> + 12660: < 0.484430, -0.728461, 0.484430> + 12661: < 0.447593, -0.747688, 0.490534> + 12662: < 0.452290, -0.768679, 0.452290> + 12663: < 0.490534, -0.747688, 0.447593> + 12664: < 0.447593, -0.747688, 0.490534> + 12665: < 0.410392, -0.764964, 0.496395> + 12666: < 0.413777, -0.787421, 0.456900> + 12667: < 0.452290, -0.768679, 0.452290> + 12668: < 0.410392, -0.764964, 0.496395> + 12669: < 0.372705, -0.780568, 0.501802> + 12670: < 0.374961, -0.804154, 0.461239> + 12671: < 0.413777, -0.787421, 0.456900> + 12672: < 0.372705, -0.780568, 0.501802> + 12673: < 0.334337, -0.794627, 0.506740> + 12674: < 0.335801, -0.819039, 0.465202> + 12675: < 0.374961, -0.804154, 0.461239> + 12676: < 0.334337, -0.794627, 0.506740> + 12677: < 0.295457, -0.807082, 0.511198> + 12678: < 0.296339, -0.832128, 0.468770> + 12679: < 0.335801, -0.819039, 0.465202> + 12680: < 0.295457, -0.807082, 0.511198> + 12681: < 0.256243, -0.817925, 0.515110> + 12682: < 0.256606, -0.843490, 0.471888> + 12683: < 0.296339, -0.832128, 0.468770> + 12684: < 0.256243, -0.817925, 0.515110> + 12685: < 0.216475, -0.827263, 0.518435> + 12686: < 0.216413, -0.853230, 0.474515> + 12687: < 0.256606, -0.843490, 0.471888> + 12688: < 0.216475, -0.827263, 0.518435> + 12689: < 0.175853, -0.835133, 0.521180> + 12690: < 0.175453, -0.861426, 0.476614> + 12691: < 0.216413, -0.853230, 0.474515> + 12692: < 0.175853, -0.835133, 0.521180> + 12693: < 0.134100, -0.841527, 0.523307> + 12694: < 0.133553, -0.868033, 0.478208> + 12695: < 0.175453, -0.861426, 0.476614> + 12696: < 0.134100, -0.841527, 0.523307> + 12697: < 0.091008, -0.846324, 0.524836> + 12698: < 0.090429, -0.872976, 0.479307> + 12699: < 0.133553, -0.868033, 0.478208> + 12700: < 0.091008, -0.846324, 0.524836> + 12701: < 0.046267, -0.849378, 0.525753> + 12702: < 0.045871, -0.876095, 0.479951> + 12703: < 0.090429, -0.872976, 0.479307> + 12704: < 0.046267, -0.849378, 0.525753> + 12705: < 0.000000, -0.850434, 0.526081> + 12706: < 0.000000, -0.877169, 0.480182> + 12707: < 0.045871, -0.876095, 0.479951> + 12708: < 0.000000, -0.850434, 0.526081> + 12709: <-0.046267, -0.849378, 0.525753> + 12710: <-0.045871, -0.876095, 0.479951> + 12711: < 0.000000, -0.877169, 0.480182> + 12712: <-0.046267, -0.849378, 0.525753> + 12713: <-0.091008, -0.846324, 0.524836> + 12714: <-0.090429, -0.872976, 0.479307> + 12715: <-0.045871, -0.876095, 0.479951> + 12716: <-0.091008, -0.846324, 0.524836> + 12717: <-0.134100, -0.841527, 0.523307> + 12718: <-0.133553, -0.868033, 0.478208> + 12719: <-0.090429, -0.872976, 0.479307> + 12720: <-0.134100, -0.841527, 0.523307> + 12721: <-0.175853, -0.835133, 0.521180> + 12722: <-0.175453, -0.861426, 0.476614> + 12723: <-0.133553, -0.868033, 0.478208> + 12724: <-0.175853, -0.835133, 0.521180> + 12725: <-0.216475, -0.827263, 0.518435> + 12726: <-0.216413, -0.853230, 0.474515> + 12727: <-0.175453, -0.861426, 0.476614> + 12728: <-0.216475, -0.827263, 0.518435> + 12729: <-0.256243, -0.817925, 0.515110> + 12730: <-0.256606, -0.843490, 0.471888> + 12731: <-0.216413, -0.853230, 0.474515> + 12732: <-0.256243, -0.817925, 0.515110> + 12733: <-0.295457, -0.807082, 0.511198> + 12734: <-0.296339, -0.832128, 0.468770> + 12735: <-0.256606, -0.843490, 0.471888> + 12736: <-0.295457, -0.807082, 0.511198> + 12737: <-0.334337, -0.794627, 0.506740> + 12738: <-0.335801, -0.819039, 0.465202> + 12739: <-0.296339, -0.832128, 0.468770> + 12740: <-0.334337, -0.794627, 0.506740> + 12741: <-0.372705, -0.780568, 0.501802> + 12742: <-0.374961, -0.804154, 0.461239> + 12743: <-0.335801, -0.819039, 0.465202> + 12744: <-0.372705, -0.780568, 0.501802> + 12745: <-0.410392, -0.764964, 0.496395> + 12746: <-0.413777, -0.787421, 0.456900> + 12747: <-0.374961, -0.804154, 0.461239> + 12748: <-0.410392, -0.764964, 0.496395> + 12749: <-0.447593, -0.747688, 0.490534> + 12750: <-0.452290, -0.768679, 0.452290> + 12751: <-0.413777, -0.787421, 0.456900> + 12752: <-0.447593, -0.747688, 0.490534> + 12753: <-0.484430, -0.728461, 0.484430> + 12754: <-0.490534, -0.747688, 0.447593> + 12755: <-0.452290, -0.768679, 0.452290> + 12756: <-0.484430, -0.728461, 0.484430> + 12757: <-0.520969, -0.706895, 0.478425> + 12758: <-0.528478, -0.724109, 0.443145> + 12759: <-0.490534, -0.747688, 0.447593> + 12760: <-0.520969, -0.706895, 0.478425> + 12761: <-0.557037, -0.682532, 0.473139> + 12762: <-0.565794, -0.697667, 0.439475> + 12763: <-0.528478, -0.724109, 0.443145> + 12764: <-0.557037, -0.682532, 0.473139> + 12765: <-0.591920, -0.655217, 0.469385> + 12766: <-0.601963, -0.668312, 0.437036> + 12767: <-0.565794, -0.697667, 0.439475> + 12768: < 0.601963, -0.668312, 0.437036> + 12769: < 0.565794, -0.697667, 0.439475> + 12770: < 0.574008, -0.711772, 0.404839> + 12771: < 0.611427, -0.680859, 0.403223> + 12772: < 0.565794, -0.697667, 0.439475> + 12773: < 0.528478, -0.724109, 0.443145> + 12774: < 0.535518, -0.739812, 0.407307> + 12775: < 0.574008, -0.711772, 0.404839> + 12776: < 0.528478, -0.724109, 0.443145> + 12777: < 0.490534, -0.747688, 0.447593> + 12778: < 0.496395, -0.764964, 0.410392> + 12779: < 0.535518, -0.739812, 0.407307> + 12780: < 0.490534, -0.747688, 0.447593> + 12781: < 0.452290, -0.768679, 0.452290> + 12782: < 0.456900, -0.787421, 0.413777> + 12783: < 0.496395, -0.764964, 0.410392> + 12784: < 0.452290, -0.768679, 0.452290> + 12785: < 0.413777, -0.787421, 0.456900> + 12786: < 0.417202, -0.807394, 0.417202> + 12787: < 0.456900, -0.787421, 0.413777> + 12788: < 0.413777, -0.787421, 0.456900> + 12789: < 0.374961, -0.804154, 0.461239> + 12790: < 0.377345, -0.825100, 0.420500> + 12791: < 0.417202, -0.807394, 0.417202> + 12792: < 0.374961, -0.804154, 0.461239> + 12793: < 0.335801, -0.819039, 0.465202> + 12794: < 0.337391, -0.840684, 0.423577> + 12795: < 0.377345, -0.825100, 0.420500> + 12796: < 0.335801, -0.819039, 0.465202> + 12797: < 0.296339, -0.832128, 0.468770> + 12798: < 0.297287, -0.854324, 0.426323> + 12799: < 0.337391, -0.840684, 0.423577> + 12800: < 0.296339, -0.832128, 0.468770> + 12801: < 0.256606, -0.843490, 0.471888> + 12802: < 0.256999, -0.866124, 0.428698> + 12803: < 0.297287, -0.854324, 0.426323> + 12804: < 0.256606, -0.843490, 0.471888> + 12805: < 0.216413, -0.853230, 0.474515> + 12806: < 0.216320, -0.876208, 0.430657> + 12807: < 0.256999, -0.866124, 0.428698> + 12808: < 0.216413, -0.853230, 0.474515> + 12809: < 0.175453, -0.861426, 0.476614> + 12810: < 0.175026, -0.884654, 0.432149> + 12811: < 0.216320, -0.876208, 0.430657> + 12812: < 0.175453, -0.861426, 0.476614> + 12813: < 0.133553, -0.868033, 0.478208> + 12814: < 0.132911, -0.891405, 0.433281> + 12815: < 0.175026, -0.884654, 0.432149> + 12816: < 0.133553, -0.868033, 0.478208> + 12817: < 0.090429, -0.872976, 0.479307> + 12818: < 0.089787, -0.896437, 0.433981> + 12819: < 0.132911, -0.891405, 0.433281> + 12820: < 0.090429, -0.872976, 0.479307> + 12821: < 0.045871, -0.876095, 0.479951> + 12822: < 0.045443, -0.899583, 0.434379> + 12823: < 0.089787, -0.896437, 0.433981> + 12824: < 0.045871, -0.876095, 0.479951> + 12825: < 0.000000, -0.877169, 0.480182> + 12826: < 0.000000, -0.900667, 0.434509> + 12827: < 0.045443, -0.899583, 0.434379> + 12828: < 0.000000, -0.877169, 0.480182> + 12829: <-0.045871, -0.876095, 0.479951> + 12830: <-0.045443, -0.899583, 0.434379> + 12831: < 0.000000, -0.900667, 0.434509> + 12832: <-0.045871, -0.876095, 0.479951> + 12833: <-0.090429, -0.872976, 0.479307> + 12834: <-0.089787, -0.896437, 0.433981> + 12835: <-0.045443, -0.899583, 0.434379> + 12836: <-0.090429, -0.872976, 0.479307> + 12837: <-0.133553, -0.868033, 0.478208> + 12838: <-0.132911, -0.891405, 0.433281> + 12839: <-0.089787, -0.896437, 0.433981> + 12840: <-0.133553, -0.868033, 0.478208> + 12841: <-0.175453, -0.861426, 0.476614> + 12842: <-0.175026, -0.884654, 0.432149> + 12843: <-0.132911, -0.891405, 0.433281> + 12844: <-0.175453, -0.861426, 0.476614> + 12845: <-0.216413, -0.853230, 0.474515> + 12846: <-0.216320, -0.876208, 0.430657> + 12847: <-0.175026, -0.884654, 0.432149> + 12848: <-0.216413, -0.853230, 0.474515> + 12849: <-0.256606, -0.843490, 0.471888> + 12850: <-0.256999, -0.866124, 0.428698> + 12851: <-0.216320, -0.876208, 0.430657> + 12852: <-0.256606, -0.843490, 0.471888> + 12853: <-0.296339, -0.832128, 0.468770> + 12854: <-0.297287, -0.854324, 0.426323> + 12855: <-0.256999, -0.866124, 0.428698> + 12856: <-0.296339, -0.832128, 0.468770> + 12857: <-0.335801, -0.819039, 0.465202> + 12858: <-0.337391, -0.840684, 0.423577> + 12859: <-0.297287, -0.854324, 0.426323> + 12860: <-0.335801, -0.819039, 0.465202> + 12861: <-0.374961, -0.804154, 0.461239> + 12862: <-0.377345, -0.825100, 0.420500> + 12863: <-0.337391, -0.840684, 0.423577> + 12864: <-0.374961, -0.804154, 0.461239> + 12865: <-0.413777, -0.787421, 0.456900> + 12866: <-0.417202, -0.807394, 0.417202> + 12867: <-0.377345, -0.825100, 0.420500> + 12868: <-0.413777, -0.787421, 0.456900> + 12869: <-0.452290, -0.768679, 0.452290> + 12870: <-0.456900, -0.787421, 0.413777> + 12871: <-0.417202, -0.807394, 0.417202> + 12872: <-0.452290, -0.768679, 0.452290> + 12873: <-0.490534, -0.747688, 0.447593> + 12874: <-0.496372, -0.764976, 0.410398> + 12875: <-0.456900, -0.787421, 0.413777> + 12876: <-0.490534, -0.747688, 0.447593> + 12877: <-0.528478, -0.724109, 0.443145> + 12878: <-0.535518, -0.739812, 0.407307> + 12879: <-0.496372, -0.764976, 0.410398> + 12880: <-0.528478, -0.724109, 0.443145> + 12881: <-0.565794, -0.697667, 0.439475> + 12882: <-0.574008, -0.711772, 0.404839> + 12883: <-0.535518, -0.739812, 0.407307> + 12884: <-0.565794, -0.697667, 0.439475> + 12885: <-0.601963, -0.668312, 0.437036> + 12886: <-0.611427, -0.680859, 0.403223> + 12887: <-0.574008, -0.711772, 0.404839> + 12888: < 0.611427, -0.680859, 0.403223> + 12889: < 0.574008, -0.711772, 0.404839> + 12890: < 0.581661, -0.724825, 0.369188> + 12891: < 0.620305, -0.692544, 0.368246> + 12892: < 0.574008, -0.711772, 0.404839> + 12893: < 0.535518, -0.739812, 0.407307> + 12894: < 0.542028, -0.754169, 0.370721> + 12895: < 0.581661, -0.724825, 0.369188> + 12896: < 0.535518, -0.739812, 0.407307> + 12897: < 0.496395, -0.764964, 0.410392> + 12898: < 0.501802, -0.780568, 0.372705> + 12899: < 0.542028, -0.754169, 0.370721> + 12900: < 0.496395, -0.764964, 0.410392> + 12901: < 0.456900, -0.787421, 0.413777> + 12902: < 0.461239, -0.804154, 0.374961> + 12903: < 0.501802, -0.780568, 0.372705> + 12904: < 0.456900, -0.787421, 0.413777> + 12905: < 0.417202, -0.807394, 0.417202> + 12906: < 0.420500, -0.825100, 0.377345> + 12907: < 0.461239, -0.804154, 0.374961> + 12908: < 0.417202, -0.807394, 0.417202> + 12909: < 0.377345, -0.825100, 0.420500> + 12910: < 0.379751, -0.843551, 0.379751> + 12911: < 0.420500, -0.825100, 0.377345> + 12912: < 0.377345, -0.825100, 0.420500> + 12913: < 0.337391, -0.840684, 0.423577> + 12914: < 0.339005, -0.859750, 0.381976> + 12915: < 0.379751, -0.843551, 0.379751> + 12916: < 0.337391, -0.840684, 0.423577> + 12917: < 0.297287, -0.854324, 0.426323> + 12918: < 0.298259, -0.873840, 0.383986> + 12919: < 0.339005, -0.859750, 0.381976> + 12920: < 0.297287, -0.854324, 0.426323> + 12921: < 0.256999, -0.866124, 0.428698> + 12922: < 0.257364, -0.886018, 0.385664> + 12923: < 0.298259, -0.873840, 0.383986> + 12924: < 0.256999, -0.866124, 0.428698> + 12925: < 0.216320, -0.876208, 0.430657> + 12926: < 0.216199, -0.896382, 0.386985> + 12927: < 0.257364, -0.886018, 0.385664> + 12928: < 0.216320, -0.876208, 0.430657> + 12929: < 0.175026, -0.884654, 0.432149> + 12930: < 0.174541, -0.904997, 0.387965> + 12931: < 0.216199, -0.896382, 0.386985> + 12932: < 0.175026, -0.884654, 0.432149> + 12933: < 0.132911, -0.891405, 0.433281> + 12934: < 0.132240, -0.911854, 0.388632> + 12935: < 0.174541, -0.904997, 0.387965> + 12936: < 0.132911, -0.891405, 0.433281> + 12937: < 0.089787, -0.896437, 0.433981> + 12938: < 0.089116, -0.916918, 0.388998> + 12939: < 0.132240, -0.911854, 0.388632> + 12940: < 0.089787, -0.896437, 0.433981> + 12941: < 0.045443, -0.899583, 0.434379> + 12942: < 0.045016, -0.920061, 0.389180> + 12943: < 0.089116, -0.916918, 0.388998> + 12944: < 0.045443, -0.899583, 0.434379> + 12945: < 0.000000, -0.900667, 0.434509> + 12946: < 0.000000, -0.921135, 0.389244> + 12947: < 0.045016, -0.920061, 0.389180> + 12948: < 0.000000, -0.900667, 0.434509> + 12949: <-0.045443, -0.899583, 0.434379> + 12950: <-0.045016, -0.920061, 0.389180> + 12951: < 0.000000, -0.921135, 0.389244> + 12952: <-0.045443, -0.899583, 0.434379> + 12953: <-0.089787, -0.896437, 0.433981> + 12954: <-0.089116, -0.916918, 0.388998> + 12955: <-0.045016, -0.920061, 0.389180> + 12956: <-0.089787, -0.896437, 0.433981> + 12957: <-0.132911, -0.891405, 0.433281> + 12958: <-0.132240, -0.911854, 0.388632> + 12959: <-0.089116, -0.916918, 0.388998> + 12960: <-0.132911, -0.891405, 0.433281> + 12961: <-0.175026, -0.884654, 0.432149> + 12962: <-0.174541, -0.904997, 0.387965> + 12963: <-0.132240, -0.911854, 0.388632> + 12964: <-0.175026, -0.884654, 0.432149> + 12965: <-0.216320, -0.876208, 0.430657> + 12966: <-0.216199, -0.896382, 0.386985> + 12967: <-0.174541, -0.904997, 0.387965> + 12968: <-0.216320, -0.876208, 0.430657> + 12969: <-0.256999, -0.866124, 0.428698> + 12970: <-0.257364, -0.886018, 0.385664> + 12971: <-0.216199, -0.896382, 0.386985> + 12972: <-0.256999, -0.866124, 0.428698> + 12973: <-0.297287, -0.854324, 0.426323> + 12974: <-0.298259, -0.873840, 0.383986> + 12975: <-0.257364, -0.886018, 0.385664> + 12976: <-0.297287, -0.854324, 0.426323> + 12977: <-0.337391, -0.840684, 0.423577> + 12978: <-0.339005, -0.859750, 0.381976> + 12979: <-0.298259, -0.873840, 0.383986> + 12980: <-0.337391, -0.840684, 0.423577> + 12981: <-0.377345, -0.825100, 0.420500> + 12982: <-0.379751, -0.843551, 0.379751> + 12983: <-0.339005, -0.859750, 0.381976> + 12984: <-0.377345, -0.825100, 0.420500> + 12985: <-0.417202, -0.807394, 0.417202> + 12986: <-0.420500, -0.825100, 0.377345> + 12987: <-0.379751, -0.843551, 0.379751> + 12988: <-0.417202, -0.807394, 0.417202> + 12989: <-0.456900, -0.787421, 0.413777> + 12990: <-0.461239, -0.804154, 0.374961> + 12991: <-0.420500, -0.825100, 0.377345> + 12992: <-0.456900, -0.787421, 0.413777> + 12993: <-0.496372, -0.764976, 0.410398> + 12994: <-0.501802, -0.780568, 0.372705> + 12995: <-0.461239, -0.804154, 0.374961> + 12996: <-0.496372, -0.764976, 0.410398> + 12997: <-0.535518, -0.739812, 0.407307> + 12998: <-0.542028, -0.754169, 0.370721> + 12999: <-0.501802, -0.780568, 0.372705> + 13000: <-0.535518, -0.739812, 0.407307> + 13001: <-0.574008, -0.711772, 0.404839> + 13002: <-0.581661, -0.724825, 0.369188> + 13003: <-0.542028, -0.754169, 0.370721> + 13004: <-0.574008, -0.711772, 0.404839> + 13005: <-0.611427, -0.680859, 0.403223> + 13006: <-0.620305, -0.692544, 0.368246> + 13007: <-0.581661, -0.724825, 0.369188> + 13008: < 0.620305, -0.692544, 0.368246> + 13009: < 0.581661, -0.724825, 0.369188> + 13010: < 0.588744, -0.736915, 0.332170> + 13011: < 0.628603, -0.703467, 0.331652> + 13012: < 0.581661, -0.724825, 0.369188> + 13013: < 0.542028, -0.754169, 0.370721> + 13014: < 0.548009, -0.767292, 0.333090> + 13015: < 0.588744, -0.736915, 0.332170> + 13016: < 0.542028, -0.754169, 0.370721> + 13017: < 0.501802, -0.780568, 0.372705> + 13018: < 0.506745, -0.794636, 0.334310> + 13019: < 0.548009, -0.767292, 0.333090> + 13020: < 0.501802, -0.780568, 0.372705> + 13021: < 0.461239, -0.804154, 0.374961> + 13022: < 0.465202, -0.819039, 0.335801> + 13023: < 0.506745, -0.794636, 0.334310> + 13024: < 0.461239, -0.804154, 0.374961> + 13025: < 0.420500, -0.825100, 0.377345> + 13026: < 0.423577, -0.840684, 0.337391> + 13027: < 0.465202, -0.819039, 0.335801> + 13028: < 0.420500, -0.825100, 0.377345> + 13029: < 0.379751, -0.843551, 0.379751> + 13030: < 0.381976, -0.859750, 0.339005> + 13031: < 0.423577, -0.840684, 0.337391> + 13032: < 0.379751, -0.843551, 0.379751> + 13033: < 0.339005, -0.859750, 0.381976> + 13034: < 0.340503, -0.876422, 0.340503> + 13035: < 0.381976, -0.859750, 0.339005> + 13036: < 0.339005, -0.859750, 0.381976> + 13037: < 0.298259, -0.873840, 0.383986> + 13038: < 0.299085, -0.890906, 0.341811> + 13039: < 0.340503, -0.876422, 0.340503> + 13040: < 0.298259, -0.873840, 0.383986> + 13041: < 0.257364, -0.886018, 0.385664> + 13042: < 0.257643, -0.903367, 0.342852> + 13043: < 0.299085, -0.890906, 0.341811> + 13044: < 0.257364, -0.886018, 0.385664> + 13045: < 0.216199, -0.896382, 0.386985> + 13046: < 0.215982, -0.913949, 0.343582> + 13047: < 0.257643, -0.903367, 0.342852> + 13048: < 0.216199, -0.896382, 0.386985> + 13049: < 0.174541, -0.904997, 0.387965> + 13050: < 0.173989, -0.922682, 0.344072> + 13051: < 0.215982, -0.913949, 0.343582> + 13052: < 0.174541, -0.904997, 0.387965> + 13053: < 0.132240, -0.911854, 0.388632> + 13054: < 0.131509, -0.929596, 0.344322> + 13055: < 0.173989, -0.922682, 0.344072> + 13056: < 0.132240, -0.911854, 0.388632> + 13057: < 0.089116, -0.916918, 0.388998> + 13058: < 0.088414, -0.934648, 0.344408> + 13059: < 0.131509, -0.929596, 0.344322> + 13060: < 0.089116, -0.916918, 0.388998> + 13061: < 0.045016, -0.920061, 0.389180> + 13062: < 0.044558, -0.937762, 0.344409> + 13063: < 0.088414, -0.934648, 0.344408> + 13064: < 0.045016, -0.920061, 0.389180> + 13065: < 0.000000, -0.921135, 0.389244> + 13066: < 0.000000, -0.938821, 0.344405> + 13067: < 0.044558, -0.937762, 0.344409> + 13068: < 0.000000, -0.921135, 0.389244> + 13069: <-0.045016, -0.920061, 0.389180> + 13070: <-0.044558, -0.937762, 0.344409> + 13071: < 0.000000, -0.938821, 0.344405> + 13072: <-0.045016, -0.920061, 0.389180> + 13073: <-0.089116, -0.916918, 0.388998> + 13074: <-0.088414, -0.934648, 0.344408> + 13075: <-0.044558, -0.937762, 0.344409> + 13076: <-0.089116, -0.916918, 0.388998> + 13077: <-0.132240, -0.911854, 0.388632> + 13078: <-0.131509, -0.929596, 0.344322> + 13079: <-0.088414, -0.934648, 0.344408> + 13080: <-0.132240, -0.911854, 0.388632> + 13081: <-0.174541, -0.904997, 0.387965> + 13082: <-0.173989, -0.922682, 0.344072> + 13083: <-0.131509, -0.929596, 0.344322> + 13084: <-0.174541, -0.904997, 0.387965> + 13085: <-0.216199, -0.896382, 0.386985> + 13086: <-0.215982, -0.913949, 0.343582> + 13087: <-0.173989, -0.922682, 0.344072> + 13088: <-0.216199, -0.896382, 0.386985> + 13089: <-0.257364, -0.886018, 0.385664> + 13090: <-0.257643, -0.903367, 0.342852> + 13091: <-0.215982, -0.913949, 0.343582> + 13092: <-0.257364, -0.886018, 0.385664> + 13093: <-0.298259, -0.873840, 0.383986> + 13094: <-0.299085, -0.890906, 0.341811> + 13095: <-0.257643, -0.903367, 0.342852> + 13096: <-0.298259, -0.873840, 0.383986> + 13097: <-0.339005, -0.859750, 0.381976> + 13098: <-0.340503, -0.876422, 0.340503> + 13099: <-0.299085, -0.890906, 0.341811> + 13100: <-0.339005, -0.859750, 0.381976> + 13101: <-0.379751, -0.843551, 0.379751> + 13102: <-0.381976, -0.859750, 0.339005> + 13103: <-0.340503, -0.876422, 0.340503> + 13104: <-0.379751, -0.843551, 0.379751> + 13105: <-0.420500, -0.825100, 0.377345> + 13106: <-0.423577, -0.840684, 0.337391> + 13107: <-0.381976, -0.859750, 0.339005> + 13108: <-0.420500, -0.825100, 0.377345> + 13109: <-0.461239, -0.804154, 0.374961> + 13110: <-0.465202, -0.819039, 0.335801> + 13111: <-0.423577, -0.840684, 0.337391> + 13112: <-0.461239, -0.804154, 0.374961> + 13113: <-0.501802, -0.780568, 0.372705> + 13114: <-0.506740, -0.794627, 0.334337> + 13115: <-0.465202, -0.819039, 0.335801> + 13116: <-0.501802, -0.780568, 0.372705> + 13117: <-0.542028, -0.754169, 0.370721> + 13118: <-0.548009, -0.767292, 0.333090> + 13119: <-0.506740, -0.794627, 0.334337> + 13120: <-0.542028, -0.754169, 0.370721> + 13121: <-0.581661, -0.724825, 0.369188> + 13122: <-0.588744, -0.736915, 0.332170> + 13123: <-0.548009, -0.767292, 0.333090> + 13124: <-0.581661, -0.724825, 0.369188> + 13125: <-0.620305, -0.692544, 0.368246> + 13126: <-0.628603, -0.703467, 0.331652> + 13127: <-0.588744, -0.736915, 0.332170> + 13128: < 0.628603, -0.703467, 0.331652> + 13129: < 0.588744, -0.736915, 0.332170> + 13130: < 0.595158, -0.747816, 0.294207> + 13131: < 0.636150, -0.713396, 0.293904> + 13132: < 0.588744, -0.736915, 0.332170> + 13133: < 0.548009, -0.767292, 0.333090> + 13134: < 0.553415, -0.779017, 0.294729> + 13135: < 0.595158, -0.747816, 0.294207> + 13136: < 0.548009, -0.767292, 0.333090> + 13137: < 0.506745, -0.794636, 0.334310> + 13138: < 0.511198, -0.807082, 0.295457> + 13139: < 0.553415, -0.779017, 0.294729> + 13140: < 0.506745, -0.794636, 0.334310> + 13141: < 0.465202, -0.819039, 0.335801> + 13142: < 0.468770, -0.832128, 0.296339> + 13143: < 0.511198, -0.807082, 0.295457> + 13144: < 0.465202, -0.819039, 0.335801> + 13145: < 0.423577, -0.840684, 0.337391> + 13146: < 0.426323, -0.854324, 0.297287> + 13147: < 0.468770, -0.832128, 0.296339> + 13148: < 0.423577, -0.840684, 0.337391> + 13149: < 0.381976, -0.859750, 0.339005> + 13150: < 0.383989, -0.873848, 0.298231> + 13151: < 0.426323, -0.854324, 0.297287> + 13152: < 0.381976, -0.859750, 0.339005> + 13153: < 0.340503, -0.876422, 0.340503> + 13154: < 0.341811, -0.890906, 0.299085> + 13155: < 0.383989, -0.873848, 0.298231> + 13156: < 0.340503, -0.876422, 0.340503> + 13157: < 0.299085, -0.890906, 0.341811> + 13158: < 0.299762, -0.905696, 0.299762> + 13159: < 0.341811, -0.890906, 0.299085> + 13160: < 0.299085, -0.890906, 0.341811> + 13161: < 0.257643, -0.903367, 0.342852> + 13162: < 0.257736, -0.918390, 0.300219> + 13163: < 0.299762, -0.905696, 0.299762> + 13164: < 0.257643, -0.903367, 0.342852> + 13165: < 0.215982, -0.913949, 0.343582> + 13166: < 0.215649, -0.929096, 0.300461> + 13167: < 0.257736, -0.918390, 0.300219> + 13168: < 0.215982, -0.913949, 0.343582> + 13169: < 0.173989, -0.922682, 0.344072> + 13170: < 0.173351, -0.937897, 0.300496> + 13171: < 0.215649, -0.929096, 0.300461> + 13172: < 0.173989, -0.922682, 0.344072> + 13173: < 0.131509, -0.929596, 0.344322> + 13174: < 0.130743, -0.944802, 0.300427> + 13175: < 0.173351, -0.937897, 0.300496> + 13176: < 0.131509, -0.929596, 0.344322> + 13177: < 0.088414, -0.934648, 0.344408> + 13178: < 0.087712, -0.949820, 0.300248> + 13179: < 0.130743, -0.944802, 0.300427> + 13180: < 0.088414, -0.934648, 0.344408> + 13181: < 0.044558, -0.937762, 0.344409> + 13182: < 0.044130, -0.952889, 0.300092> + 13183: < 0.087712, -0.949820, 0.300248> + 13184: < 0.044558, -0.937762, 0.344409> + 13185: < 0.000000, -0.938821, 0.344405> + 13186: < 0.000000, -0.953921, 0.300059> + 13187: < 0.044130, -0.952889, 0.300092> + 13188: < 0.000000, -0.938821, 0.344405> + 13189: <-0.044558, -0.937762, 0.344409> + 13190: <-0.044130, -0.952889, 0.300092> + 13191: < 0.000000, -0.953921, 0.300059> + 13192: <-0.044558, -0.937762, 0.344409> + 13193: <-0.088414, -0.934648, 0.344408> + 13194: <-0.087712, -0.949820, 0.300248> + 13195: <-0.044130, -0.952889, 0.300092> + 13196: <-0.088414, -0.934648, 0.344408> + 13197: <-0.131509, -0.929596, 0.344322> + 13198: <-0.130743, -0.944802, 0.300427> + 13199: <-0.087712, -0.949820, 0.300248> + 13200: <-0.131509, -0.929596, 0.344322> + 13201: <-0.173989, -0.922682, 0.344072> + 13202: <-0.173351, -0.937897, 0.300496> + 13203: <-0.130743, -0.944802, 0.300427> + 13204: <-0.173989, -0.922682, 0.344072> + 13205: <-0.215982, -0.913949, 0.343582> + 13206: <-0.215649, -0.929096, 0.300461> + 13207: <-0.173351, -0.937897, 0.300496> + 13208: <-0.215982, -0.913949, 0.343582> + 13209: <-0.257643, -0.903367, 0.342852> + 13210: <-0.257736, -0.918390, 0.300219> + 13211: <-0.215649, -0.929096, 0.300461> + 13212: <-0.257643, -0.903367, 0.342852> + 13213: <-0.299085, -0.890906, 0.341811> + 13214: <-0.299762, -0.905696, 0.299762> + 13215: <-0.257736, -0.918390, 0.300219> + 13216: <-0.299085, -0.890906, 0.341811> + 13217: <-0.340503, -0.876422, 0.340503> + 13218: <-0.341811, -0.890906, 0.299085> + 13219: <-0.299762, -0.905696, 0.299762> + 13220: <-0.340503, -0.876422, 0.340503> + 13221: <-0.381976, -0.859750, 0.339005> + 13222: <-0.383986, -0.873840, 0.298259> + 13223: <-0.341811, -0.890906, 0.299085> + 13224: <-0.381976, -0.859750, 0.339005> + 13225: <-0.423577, -0.840684, 0.337391> + 13226: <-0.426323, -0.854324, 0.297287> + 13227: <-0.383986, -0.873840, 0.298259> + 13228: <-0.423577, -0.840684, 0.337391> + 13229: <-0.465202, -0.819039, 0.335801> + 13230: <-0.468770, -0.832128, 0.296339> + 13231: <-0.426323, -0.854324, 0.297287> + 13232: <-0.465202, -0.819039, 0.335801> + 13233: <-0.506740, -0.794627, 0.334337> + 13234: <-0.511198, -0.807082, 0.295457> + 13235: <-0.468770, -0.832128, 0.296339> + 13236: <-0.506740, -0.794627, 0.334337> + 13237: <-0.548009, -0.767292, 0.333090> + 13238: <-0.553415, -0.779017, 0.294729> + 13239: <-0.511198, -0.807082, 0.295457> + 13240: <-0.548009, -0.767292, 0.333090> + 13241: <-0.588744, -0.736915, 0.332170> + 13242: <-0.595158, -0.747816, 0.294207> + 13243: <-0.553415, -0.779017, 0.294729> + 13244: <-0.588744, -0.736915, 0.332170> + 13245: <-0.628603, -0.703467, 0.331652> + 13246: <-0.636150, -0.713396, 0.293904> + 13247: <-0.595158, -0.747816, 0.294207> + 13248: < 0.636150, -0.713396, 0.293904> + 13249: < 0.595158, -0.747816, 0.294207> + 13250: < 0.600829, -0.757361, 0.255750> + 13251: < 0.642833, -0.722093, 0.255632> + 13252: < 0.595158, -0.747816, 0.294207> + 13253: < 0.553415, -0.779017, 0.294729> + 13254: < 0.558172, -0.789266, 0.255937> + 13255: < 0.600829, -0.757361, 0.255750> + 13256: < 0.553415, -0.779017, 0.294729> + 13257: < 0.511198, -0.807082, 0.295457> + 13258: < 0.515110, -0.817925, 0.256243> + 13259: < 0.558172, -0.789266, 0.255937> + 13260: < 0.511198, -0.807082, 0.295457> + 13261: < 0.468770, -0.832128, 0.296339> + 13262: < 0.471888, -0.843490, 0.256606> + 13263: < 0.515110, -0.817925, 0.256243> + 13264: < 0.468770, -0.832128, 0.296339> + 13265: < 0.426323, -0.854324, 0.297287> + 13266: < 0.428698, -0.866124, 0.256999> + 13267: < 0.471888, -0.843490, 0.256606> + 13268: < 0.426323, -0.854324, 0.297287> + 13269: < 0.383989, -0.873848, 0.298231> + 13270: < 0.385664, -0.886018, 0.257364> + 13271: < 0.428698, -0.866124, 0.256999> + 13272: < 0.383989, -0.873848, 0.298231> + 13273: < 0.341811, -0.890906, 0.299085> + 13274: < 0.342852, -0.903367, 0.257643> + 13275: < 0.385664, -0.886018, 0.257364> + 13276: < 0.341811, -0.890906, 0.299085> + 13277: < 0.299762, -0.905696, 0.299762> + 13278: < 0.300219, -0.918390, 0.257736> + 13279: < 0.342852, -0.903367, 0.257643> + 13280: < 0.299762, -0.905696, 0.299762> + 13281: < 0.257736, -0.918390, 0.300219> + 13282: < 0.257702, -0.931225, 0.257702> + 13283: < 0.300219, -0.918390, 0.257736> + 13284: < 0.257736, -0.918390, 0.300219> + 13285: < 0.215649, -0.929096, 0.300461> + 13286: < 0.215220, -0.942000, 0.257519> + 13287: < 0.257702, -0.931225, 0.257702> + 13288: < 0.215649, -0.929096, 0.300461> + 13289: < 0.173351, -0.937897, 0.300496> + 13290: < 0.172679, -0.950800, 0.257217> + 13291: < 0.215220, -0.942000, 0.257519> + 13292: < 0.173351, -0.937897, 0.300496> + 13293: < 0.130743, -0.944802, 0.300427> + 13294: < 0.129981, -0.957663, 0.256880> + 13295: < 0.172679, -0.950800, 0.257217> + 13296: < 0.130743, -0.944802, 0.300427> + 13297: < 0.087712, -0.949820, 0.300248> + 13298: < 0.087041, -0.962605, 0.256544> + 13299: < 0.129981, -0.957663, 0.256880> + 13300: < 0.087712, -0.949820, 0.300248> + 13301: < 0.044130, -0.952889, 0.300092> + 13302: < 0.043703, -0.965618, 0.256267> + 13303: < 0.087041, -0.962605, 0.256544> + 13304: < 0.044130, -0.952889, 0.300092> + 13305: < 0.000000, -0.953921, 0.300059> + 13306: < 0.000000, -0.966630, 0.256177> + 13307: < 0.043703, -0.965618, 0.256267> + 13308: < 0.000000, -0.953921, 0.300059> + 13309: <-0.044130, -0.952889, 0.300092> + 13310: <-0.043703, -0.965618, 0.256267> + 13311: < 0.000000, -0.966630, 0.256177> + 13312: <-0.044130, -0.952889, 0.300092> + 13313: <-0.087712, -0.949820, 0.300248> + 13314: <-0.087041, -0.962605, 0.256544> + 13315: <-0.043703, -0.965618, 0.256267> + 13316: <-0.087712, -0.949820, 0.300248> + 13317: <-0.130743, -0.944802, 0.300427> + 13318: <-0.129981, -0.957663, 0.256880> + 13319: <-0.087041, -0.962605, 0.256544> + 13320: <-0.130743, -0.944802, 0.300427> + 13321: <-0.173351, -0.937897, 0.300496> + 13322: <-0.172679, -0.950800, 0.257217> + 13323: <-0.129981, -0.957663, 0.256880> + 13324: <-0.173351, -0.937897, 0.300496> + 13325: <-0.215649, -0.929096, 0.300461> + 13326: <-0.215220, -0.942000, 0.257519> + 13327: <-0.172679, -0.950800, 0.257217> + 13328: <-0.215649, -0.929096, 0.300461> + 13329: <-0.257736, -0.918390, 0.300219> + 13330: <-0.257702, -0.931225, 0.257702> + 13331: <-0.215220, -0.942000, 0.257519> + 13332: <-0.257736, -0.918390, 0.300219> + 13333: <-0.299762, -0.905696, 0.299762> + 13334: <-0.300219, -0.918390, 0.257736> + 13335: <-0.257702, -0.931225, 0.257702> + 13336: <-0.299762, -0.905696, 0.299762> + 13337: <-0.341811, -0.890906, 0.299085> + 13338: <-0.342852, -0.903367, 0.257643> + 13339: <-0.300219, -0.918390, 0.257736> + 13340: <-0.341811, -0.890906, 0.299085> + 13341: <-0.383986, -0.873840, 0.298259> + 13342: <-0.385664, -0.886018, 0.257364> + 13343: <-0.342852, -0.903367, 0.257643> + 13344: <-0.383986, -0.873840, 0.298259> + 13345: <-0.426323, -0.854324, 0.297287> + 13346: <-0.428698, -0.866124, 0.256999> + 13347: <-0.385664, -0.886018, 0.257364> + 13348: <-0.426323, -0.854324, 0.297287> + 13349: <-0.468770, -0.832128, 0.296339> + 13350: <-0.471888, -0.843490, 0.256606> + 13351: <-0.428698, -0.866124, 0.256999> + 13352: <-0.468770, -0.832128, 0.296339> + 13353: <-0.511198, -0.807082, 0.295457> + 13354: <-0.515110, -0.817925, 0.256243> + 13355: <-0.471888, -0.843490, 0.256606> + 13356: <-0.511198, -0.807082, 0.295457> + 13357: <-0.553415, -0.779017, 0.294729> + 13358: <-0.558172, -0.789266, 0.255937> + 13359: <-0.515110, -0.817925, 0.256243> + 13360: <-0.553415, -0.779017, 0.294729> + 13361: <-0.595158, -0.747816, 0.294207> + 13362: <-0.600829, -0.757361, 0.255750> + 13363: <-0.558172, -0.789266, 0.255937> + 13364: <-0.595158, -0.747816, 0.294207> + 13365: <-0.636150, -0.713396, 0.293904> + 13366: <-0.642833, -0.722093, 0.255632> + 13367: <-0.600829, -0.757361, 0.255750> + 13368: < 0.642833, -0.722093, 0.255632> + 13369: < 0.600829, -0.757361, 0.255750> + 13370: < 0.605748, -0.765608, 0.216596> + 13371: < 0.648606, -0.729636, 0.216660> + 13372: < 0.600829, -0.757361, 0.255750> + 13373: < 0.558172, -0.789266, 0.255937> + 13374: < 0.562257, -0.798110, 0.216534> + 13375: < 0.605748, -0.765608, 0.216596> + 13376: < 0.558172, -0.789266, 0.255937> + 13377: < 0.515110, -0.817925, 0.256243> + 13378: < 0.518435, -0.827263, 0.216475> + 13379: < 0.562257, -0.798110, 0.216534> + 13380: < 0.515110, -0.817925, 0.256243> + 13381: < 0.471888, -0.843490, 0.256606> + 13382: < 0.474515, -0.853230, 0.216413> + 13383: < 0.518435, -0.827263, 0.216475> + 13384: < 0.471888, -0.843490, 0.256606> + 13385: < 0.428698, -0.866124, 0.256999> + 13386: < 0.430657, -0.876208, 0.216320> + 13387: < 0.474515, -0.853230, 0.216413> + 13388: < 0.428698, -0.866124, 0.256999> + 13389: < 0.385664, -0.886018, 0.257364> + 13390: < 0.386985, -0.896382, 0.216199> + 13391: < 0.430657, -0.876208, 0.216320> + 13392: < 0.385664, -0.886018, 0.257364> + 13393: < 0.342852, -0.903367, 0.257643> + 13394: < 0.343582, -0.913949, 0.215982> + 13395: < 0.386985, -0.896382, 0.216199> + 13396: < 0.342852, -0.903367, 0.257643> + 13397: < 0.300219, -0.918390, 0.257736> + 13398: < 0.300461, -0.929096, 0.215649> + 13399: < 0.343582, -0.913949, 0.215982> + 13400: < 0.300219, -0.918390, 0.257736> + 13401: < 0.257702, -0.931225, 0.257702> + 13402: < 0.257519, -0.942000, 0.215220> + 13403: < 0.300461, -0.929096, 0.215649> + 13404: < 0.257702, -0.931225, 0.257702> + 13405: < 0.215220, -0.942000, 0.257519> + 13406: < 0.214732, -0.952775, 0.214732> + 13407: < 0.257519, -0.942000, 0.215220> + 13408: < 0.215220, -0.942000, 0.257519> + 13409: < 0.172679, -0.950800, 0.257217> + 13410: < 0.172005, -0.961530, 0.214182> + 13411: < 0.214732, -0.952775, 0.214732> + 13412: < 0.172679, -0.950800, 0.257217> + 13413: < 0.129981, -0.957663, 0.256880> + 13414: < 0.129250, -0.968319, 0.213666> + 13415: < 0.172005, -0.961530, 0.214182> + 13416: < 0.129981, -0.957663, 0.256880> + 13417: < 0.087041, -0.962605, 0.256544> + 13418: < 0.086398, -0.973180, 0.213204> + 13419: < 0.129250, -0.968319, 0.213666> + 13420: < 0.087041, -0.962605, 0.256544> + 13421: < 0.043703, -0.965618, 0.256267> + 13422: < 0.043306, -0.976120, 0.212870> + 13423: < 0.086398, -0.973180, 0.213204> + 13424: < 0.043703, -0.965618, 0.256267> + 13425: < 0.000000, -0.966630, 0.256177> + 13426: < 0.000000, -0.977107, 0.212750> + 13427: < 0.043306, -0.976120, 0.212870> + 13428: < 0.000000, -0.966630, 0.256177> + 13429: <-0.043703, -0.965618, 0.256267> + 13430: <-0.043306, -0.976120, 0.212870> + 13431: < 0.000000, -0.977107, 0.212750> + 13432: <-0.043703, -0.965618, 0.256267> + 13433: <-0.087041, -0.962605, 0.256544> + 13434: <-0.086398, -0.973180, 0.213204> + 13435: <-0.043306, -0.976120, 0.212870> + 13436: <-0.087041, -0.962605, 0.256544> + 13437: <-0.129981, -0.957663, 0.256880> + 13438: <-0.129250, -0.968319, 0.213666> + 13439: <-0.086398, -0.973180, 0.213204> + 13440: <-0.129981, -0.957663, 0.256880> + 13441: <-0.172679, -0.950800, 0.257217> + 13442: <-0.172005, -0.961530, 0.214182> + 13443: <-0.129250, -0.968319, 0.213666> + 13444: <-0.172679, -0.950800, 0.257217> + 13445: <-0.215220, -0.942000, 0.257519> + 13446: <-0.214732, -0.952775, 0.214732> + 13447: <-0.172005, -0.961530, 0.214182> + 13448: <-0.215220, -0.942000, 0.257519> + 13449: <-0.257702, -0.931225, 0.257702> + 13450: <-0.257519, -0.942000, 0.215220> + 13451: <-0.214732, -0.952775, 0.214732> + 13452: <-0.257702, -0.931225, 0.257702> + 13453: <-0.300219, -0.918390, 0.257736> + 13454: <-0.300461, -0.929096, 0.215649> + 13455: <-0.257519, -0.942000, 0.215220> + 13456: <-0.300219, -0.918390, 0.257736> + 13457: <-0.342852, -0.903367, 0.257643> + 13458: <-0.343582, -0.913949, 0.215982> + 13459: <-0.300461, -0.929096, 0.215649> + 13460: <-0.342852, -0.903367, 0.257643> + 13461: <-0.385664, -0.886018, 0.257364> + 13462: <-0.386985, -0.896382, 0.216199> + 13463: <-0.343582, -0.913949, 0.215982> + 13464: <-0.385664, -0.886018, 0.257364> + 13465: <-0.428698, -0.866124, 0.256999> + 13466: <-0.430657, -0.876208, 0.216320> + 13467: <-0.386985, -0.896382, 0.216199> + 13468: <-0.428698, -0.866124, 0.256999> + 13469: <-0.471888, -0.843490, 0.256606> + 13470: <-0.474515, -0.853230, 0.216413> + 13471: <-0.430657, -0.876208, 0.216320> + 13472: <-0.471888, -0.843490, 0.256606> + 13473: <-0.515110, -0.817925, 0.256243> + 13474: <-0.518435, -0.827263, 0.216475> + 13475: <-0.474515, -0.853230, 0.216413> + 13476: <-0.515110, -0.817925, 0.256243> + 13477: <-0.558172, -0.789266, 0.255937> + 13478: <-0.562257, -0.798110, 0.216534> + 13479: <-0.518435, -0.827263, 0.216475> + 13480: <-0.558172, -0.789266, 0.255937> + 13481: <-0.600829, -0.757361, 0.255750> + 13482: <-0.605748, -0.765608, 0.216596> + 13483: <-0.562257, -0.798110, 0.216534> + 13484: <-0.600829, -0.757361, 0.255750> + 13485: <-0.642833, -0.722093, 0.255632> + 13486: <-0.648606, -0.729636, 0.216660> + 13487: <-0.605748, -0.765608, 0.216596> + 13488: < 0.648606, -0.729636, 0.216660> + 13489: < 0.605748, -0.765608, 0.216596> + 13490: < 0.609892, -0.772589, 0.176461> + 13491: < 0.653502, -0.736025, 0.176644> + 13492: < 0.605748, -0.765608, 0.216596> + 13493: < 0.562257, -0.798110, 0.216534> + 13494: < 0.565675, -0.805587, 0.176188> + 13495: < 0.609892, -0.772589, 0.176461> + 13496: < 0.562257, -0.798110, 0.216534> + 13497: < 0.518435, -0.827263, 0.216475> + 13498: < 0.521180, -0.835133, 0.175853> + 13499: < 0.565675, -0.805587, 0.176188> + 13500: < 0.518435, -0.827263, 0.216475> + 13501: < 0.474515, -0.853230, 0.216413> + 13502: < 0.476614, -0.861427, 0.175453> + 13503: < 0.521180, -0.835133, 0.175853> + 13504: < 0.474515, -0.853230, 0.216413> + 13505: < 0.430657, -0.876208, 0.216320> + 13506: < 0.432149, -0.884654, 0.175026> + 13507: < 0.476614, -0.861427, 0.175453> + 13508: < 0.430657, -0.876208, 0.216320> + 13509: < 0.386985, -0.896382, 0.216199> + 13510: < 0.387965, -0.904997, 0.174541> + 13511: < 0.432149, -0.884654, 0.175026> + 13512: < 0.386985, -0.896382, 0.216199> + 13513: < 0.343582, -0.913949, 0.215982> + 13514: < 0.344072, -0.922682, 0.173989> + 13515: < 0.387965, -0.904997, 0.174541> + 13516: < 0.343582, -0.913949, 0.215982> + 13517: < 0.300461, -0.929096, 0.215649> + 13518: < 0.300496, -0.937897, 0.173351> + 13519: < 0.344072, -0.922682, 0.173989> + 13520: < 0.300461, -0.929096, 0.215649> + 13521: < 0.257519, -0.942000, 0.215220> + 13522: < 0.257217, -0.950800, 0.172679> + 13523: < 0.300496, -0.937897, 0.173351> + 13524: < 0.257519, -0.942000, 0.215220> + 13525: < 0.214732, -0.952775, 0.214732> + 13526: < 0.214182, -0.961530, 0.172005> + 13527: < 0.257217, -0.950800, 0.172679> + 13528: < 0.214732, -0.952775, 0.214732> + 13529: < 0.172005, -0.961530, 0.214182> + 13530: < 0.171305, -0.970211, 0.171305> + 13531: < 0.214182, -0.961530, 0.172005> + 13532: < 0.172005, -0.961530, 0.214182> + 13533: < 0.129250, -0.968319, 0.213666> + 13534: < 0.128545, -0.976904, 0.170691> + 13535: < 0.171305, -0.970211, 0.171305> + 13536: < 0.129250, -0.968319, 0.213666> + 13537: < 0.086398, -0.973180, 0.213204> + 13538: < 0.085788, -0.981668, 0.170203> + 13539: < 0.128545, -0.976904, 0.170691> + 13540: < 0.086398, -0.973180, 0.213204> + 13541: < 0.043306, -0.976120, 0.212870> + 13542: < 0.042970, -0.984530, 0.169866> + 13543: < 0.085788, -0.981668, 0.170203> + 13544: < 0.043306, -0.976120, 0.212870> + 13545: < 0.000000, -0.977107, 0.212750> + 13546: < 0.000000, -0.985488, 0.169746> + 13547: < 0.042970, -0.984530, 0.169866> + 13548: < 0.000000, -0.977107, 0.212750> + 13549: <-0.043306, -0.976120, 0.212870> + 13550: <-0.042970, -0.984530, 0.169866> + 13551: < 0.000000, -0.985488, 0.169746> + 13552: <-0.043306, -0.976120, 0.212870> + 13553: <-0.086398, -0.973180, 0.213204> + 13554: <-0.085788, -0.981668, 0.170203> + 13555: <-0.042970, -0.984530, 0.169866> + 13556: <-0.086398, -0.973180, 0.213204> + 13557: <-0.129250, -0.968319, 0.213666> + 13558: <-0.128545, -0.976904, 0.170691> + 13559: <-0.085788, -0.981668, 0.170203> + 13560: <-0.129250, -0.968319, 0.213666> + 13561: <-0.172005, -0.961530, 0.214182> + 13562: <-0.171305, -0.970211, 0.171305> + 13563: <-0.128545, -0.976904, 0.170691> + 13564: <-0.172005, -0.961530, 0.214182> + 13565: <-0.214732, -0.952775, 0.214732> + 13566: <-0.214182, -0.961530, 0.172005> + 13567: <-0.171305, -0.970211, 0.171305> + 13568: <-0.214732, -0.952775, 0.214732> + 13569: <-0.257519, -0.942000, 0.215220> + 13570: <-0.257217, -0.950800, 0.172679> + 13571: <-0.214182, -0.961530, 0.172005> + 13572: <-0.257519, -0.942000, 0.215220> + 13573: <-0.300461, -0.929096, 0.215649> + 13574: <-0.300496, -0.937897, 0.173351> + 13575: <-0.257217, -0.950800, 0.172679> + 13576: <-0.300461, -0.929096, 0.215649> + 13577: <-0.343582, -0.913949, 0.215982> + 13578: <-0.344072, -0.922682, 0.173989> + 13579: <-0.300496, -0.937897, 0.173351> + 13580: <-0.343582, -0.913949, 0.215982> + 13581: <-0.386985, -0.896382, 0.216199> + 13582: <-0.387965, -0.904997, 0.174541> + 13583: <-0.344072, -0.922682, 0.173989> + 13584: <-0.386985, -0.896382, 0.216199> + 13585: <-0.430657, -0.876208, 0.216320> + 13586: <-0.432149, -0.884654, 0.175026> + 13587: <-0.387965, -0.904997, 0.174541> + 13588: <-0.430657, -0.876208, 0.216320> + 13589: <-0.474515, -0.853230, 0.216413> + 13590: <-0.476614, -0.861427, 0.175453> + 13591: <-0.432149, -0.884654, 0.175026> + 13592: <-0.474515, -0.853230, 0.216413> + 13593: <-0.518435, -0.827263, 0.216475> + 13594: <-0.521180, -0.835133, 0.175853> + 13595: <-0.476614, -0.861427, 0.175453> + 13596: <-0.518435, -0.827263, 0.216475> + 13597: <-0.562257, -0.798110, 0.216534> + 13598: <-0.565675, -0.805587, 0.176188> + 13599: <-0.521180, -0.835133, 0.175853> + 13600: <-0.562257, -0.798110, 0.216534> + 13601: <-0.605748, -0.765608, 0.216596> + 13602: <-0.609892, -0.772589, 0.176461> + 13603: <-0.565675, -0.805587, 0.176188> + 13604: <-0.605748, -0.765608, 0.216596> + 13605: <-0.648606, -0.729636, 0.216660> + 13606: <-0.653502, -0.736025, 0.176644> + 13607: <-0.609892, -0.772589, 0.176461> + 13608: < 0.653502, -0.736025, 0.176644> + 13609: < 0.609892, -0.772589, 0.176461> + 13610: < 0.613218, -0.778295, 0.134985> + 13611: < 0.657468, -0.741243, 0.135260> + 13612: < 0.609892, -0.772589, 0.176461> + 13613: < 0.565675, -0.805587, 0.176188> + 13614: < 0.568382, -0.811677, 0.134618> + 13615: < 0.613218, -0.778295, 0.134985> + 13616: < 0.565675, -0.805587, 0.176188> + 13617: < 0.521180, -0.835133, 0.175853> + 13618: < 0.523307, -0.841527, 0.134100> + 13619: < 0.568382, -0.811677, 0.134618> + 13620: < 0.521180, -0.835133, 0.175853> + 13621: < 0.476614, -0.861427, 0.175453> + 13622: < 0.478208, -0.868033, 0.133553> + 13623: < 0.523307, -0.841527, 0.134100> + 13624: < 0.476614, -0.861427, 0.175453> + 13625: < 0.432149, -0.884654, 0.175026> + 13626: < 0.433281, -0.891405, 0.132911> + 13627: < 0.478208, -0.868033, 0.133553> + 13628: < 0.432149, -0.884654, 0.175026> + 13629: < 0.387965, -0.904997, 0.174541> + 13630: < 0.388632, -0.911854, 0.132240> + 13631: < 0.433281, -0.891405, 0.132911> + 13632: < 0.387965, -0.904997, 0.174541> + 13633: < 0.344072, -0.922682, 0.173989> + 13634: < 0.344322, -0.929596, 0.131509> + 13635: < 0.388632, -0.911854, 0.132240> + 13636: < 0.344072, -0.922682, 0.173989> + 13637: < 0.300496, -0.937897, 0.173351> + 13638: < 0.300427, -0.944802, 0.130743> + 13639: < 0.344322, -0.929596, 0.131509> + 13640: < 0.300496, -0.937897, 0.173351> + 13641: < 0.257217, -0.950800, 0.172679> + 13642: < 0.256880, -0.957663, 0.129981> + 13643: < 0.300427, -0.944802, 0.130743> + 13644: < 0.257217, -0.950800, 0.172679> + 13645: < 0.214182, -0.961530, 0.172005> + 13646: < 0.213666, -0.968319, 0.129250> + 13647: < 0.256880, -0.957663, 0.129981> + 13648: < 0.214182, -0.961530, 0.172005> + 13649: < 0.171305, -0.970211, 0.171305> + 13650: < 0.170691, -0.976904, 0.128545> + 13651: < 0.213666, -0.968319, 0.129250> + 13652: < 0.171305, -0.970211, 0.171305> + 13653: < 0.128545, -0.976904, 0.170691> + 13654: < 0.127935, -0.983497, 0.127935> + 13655: < 0.170691, -0.976904, 0.128545> + 13656: < 0.128545, -0.976904, 0.170691> + 13657: < 0.085788, -0.981668, 0.170203> + 13658: < 0.085300, -0.988171, 0.127447> + 13659: < 0.127935, -0.983497, 0.127935> + 13660: < 0.085788, -0.981668, 0.170203> + 13661: < 0.042970, -0.984530, 0.169866> + 13662: < 0.042666, -0.990966, 0.127144> + 13663: < 0.085300, -0.988171, 0.127447> + 13664: < 0.042970, -0.984530, 0.169866> + 13665: < 0.000000, -0.985488, 0.169746> + 13666: < 0.000000, -0.991900, 0.127020> + 13667: < 0.042666, -0.990966, 0.127144> + 13668: < 0.000000, -0.985488, 0.169746> + 13669: <-0.042970, -0.984530, 0.169866> + 13670: <-0.042666, -0.990966, 0.127144> + 13671: < 0.000000, -0.991900, 0.127020> + 13672: <-0.042970, -0.984530, 0.169866> + 13673: <-0.085788, -0.981668, 0.170203> + 13674: <-0.085300, -0.988171, 0.127447> + 13675: <-0.042666, -0.990966, 0.127144> + 13676: <-0.085788, -0.981668, 0.170203> + 13677: <-0.128545, -0.976904, 0.170691> + 13678: <-0.127935, -0.983497, 0.127935> + 13679: <-0.085300, -0.988171, 0.127447> + 13680: <-0.128545, -0.976904, 0.170691> + 13681: <-0.171305, -0.970211, 0.171305> + 13682: <-0.170691, -0.976904, 0.128545> + 13683: <-0.127935, -0.983497, 0.127935> + 13684: <-0.171305, -0.970211, 0.171305> + 13685: <-0.214182, -0.961530, 0.172005> + 13686: <-0.213666, -0.968319, 0.129250> + 13687: <-0.170691, -0.976904, 0.128545> + 13688: <-0.214182, -0.961530, 0.172005> + 13689: <-0.257217, -0.950800, 0.172679> + 13690: <-0.256880, -0.957663, 0.129981> + 13691: <-0.213666, -0.968319, 0.129250> + 13692: <-0.257217, -0.950800, 0.172679> + 13693: <-0.300496, -0.937897, 0.173351> + 13694: <-0.300427, -0.944802, 0.130743> + 13695: <-0.256880, -0.957663, 0.129981> + 13696: <-0.300496, -0.937897, 0.173351> + 13697: <-0.344072, -0.922682, 0.173989> + 13698: <-0.344322, -0.929596, 0.131509> + 13699: <-0.300427, -0.944802, 0.130743> + 13700: <-0.344072, -0.922682, 0.173989> + 13701: <-0.387965, -0.904997, 0.174541> + 13702: <-0.388632, -0.911854, 0.132240> + 13703: <-0.344322, -0.929596, 0.131509> + 13704: <-0.387965, -0.904997, 0.174541> + 13705: <-0.432149, -0.884654, 0.175026> + 13706: <-0.433256, -0.891416, 0.132913> + 13707: <-0.388632, -0.911854, 0.132240> + 13708: <-0.432149, -0.884654, 0.175026> + 13709: <-0.476614, -0.861427, 0.175453> + 13710: <-0.478208, -0.868033, 0.133553> + 13711: <-0.433256, -0.891416, 0.132913> + 13712: <-0.476614, -0.861427, 0.175453> + 13713: <-0.521180, -0.835133, 0.175853> + 13714: <-0.523307, -0.841527, 0.134100> + 13715: <-0.478208, -0.868033, 0.133553> + 13716: <-0.521180, -0.835133, 0.175853> + 13717: <-0.565675, -0.805587, 0.176188> + 13718: <-0.568382, -0.811677, 0.134618> + 13719: <-0.523307, -0.841527, 0.134100> + 13720: <-0.565675, -0.805587, 0.176188> + 13721: <-0.609892, -0.772589, 0.176461> + 13722: <-0.613215, -0.778292, 0.135015> + 13723: <-0.568382, -0.811677, 0.134618> + 13724: <-0.609892, -0.772589, 0.176461> + 13725: <-0.653502, -0.736025, 0.176644> + 13726: <-0.657468, -0.741243, 0.135260> + 13727: <-0.613215, -0.778292, 0.135015> + 13728: < 0.657468, -0.741243, 0.135260> + 13729: < 0.613218, -0.778295, 0.134985> + 13730: < 0.615697, -0.782607, 0.091894> + 13731: < 0.660463, -0.745184, 0.092137> + 13732: < 0.613218, -0.778295, 0.134985> + 13733: < 0.568382, -0.811677, 0.134618> + 13734: < 0.570377, -0.816271, 0.091497> + 13735: < 0.615697, -0.782607, 0.091894> + 13736: < 0.568382, -0.811677, 0.134618> + 13737: < 0.523307, -0.841527, 0.134100> + 13738: < 0.524836, -0.846324, 0.091008> + 13739: < 0.570377, -0.816271, 0.091497> + 13740: < 0.523307, -0.841527, 0.134100> + 13741: < 0.478208, -0.868033, 0.133553> + 13742: < 0.479307, -0.872976, 0.090429> + 13743: < 0.524836, -0.846324, 0.091008> + 13744: < 0.478208, -0.868033, 0.133553> + 13745: < 0.433281, -0.891405, 0.132911> + 13746: < 0.433981, -0.896437, 0.089787> + 13747: < 0.479307, -0.872976, 0.090429> + 13748: < 0.433281, -0.891405, 0.132911> + 13749: < 0.388632, -0.911854, 0.132240> + 13750: < 0.388998, -0.916918, 0.089116> + 13751: < 0.433981, -0.896437, 0.089787> + 13752: < 0.388632, -0.911854, 0.132240> + 13753: < 0.344322, -0.929596, 0.131509> + 13754: < 0.344408, -0.934648, 0.088414> + 13755: < 0.388998, -0.916918, 0.089116> + 13756: < 0.344322, -0.929596, 0.131509> + 13757: < 0.300427, -0.944802, 0.130743> + 13758: < 0.300248, -0.949820, 0.087712> + 13759: < 0.344408, -0.934648, 0.088414> + 13760: < 0.300427, -0.944802, 0.130743> + 13761: < 0.256880, -0.957663, 0.129981> + 13762: < 0.256544, -0.962605, 0.087041> + 13763: < 0.300248, -0.949820, 0.087712> + 13764: < 0.256880, -0.957663, 0.129981> + 13765: < 0.213666, -0.968319, 0.129250> + 13766: < 0.213204, -0.973180, 0.086398> + 13767: < 0.256544, -0.962605, 0.087041> + 13768: < 0.213666, -0.968319, 0.129250> + 13769: < 0.170691, -0.976904, 0.128545> + 13770: < 0.170203, -0.981668, 0.085788> + 13771: < 0.213204, -0.973180, 0.086398> + 13772: < 0.170691, -0.976904, 0.128545> + 13773: < 0.127935, -0.983497, 0.127935> + 13774: < 0.127447, -0.988171, 0.085300> + 13775: < 0.170203, -0.981668, 0.085788> + 13776: < 0.127935, -0.983497, 0.127935> + 13777: < 0.085300, -0.988171, 0.127447> + 13778: < 0.084905, -0.992765, 0.084905> + 13779: < 0.127447, -0.988171, 0.085300> + 13780: < 0.085300, -0.988171, 0.127447> + 13781: < 0.042666, -0.990966, 0.127144> + 13782: < 0.042452, -0.995505, 0.084660> + 13783: < 0.084905, -0.992765, 0.084905> + 13784: < 0.042666, -0.990966, 0.127144> + 13785: < 0.000000, -0.991900, 0.127020> + 13786: < 0.000000, -0.996418, 0.084568> + 13787: < 0.042452, -0.995505, 0.084660> + 13788: < 0.000000, -0.991900, 0.127020> + 13789: <-0.042666, -0.990966, 0.127144> + 13790: <-0.042452, -0.995505, 0.084660> + 13791: < 0.000000, -0.996418, 0.084568> + 13792: <-0.042666, -0.990966, 0.127144> + 13793: <-0.085300, -0.988171, 0.127447> + 13794: <-0.084905, -0.992765, 0.084905> + 13795: <-0.042452, -0.995505, 0.084660> + 13796: <-0.085300, -0.988171, 0.127447> + 13797: <-0.127935, -0.983497, 0.127935> + 13798: <-0.127447, -0.988171, 0.085300> + 13799: <-0.084905, -0.992765, 0.084905> + 13800: <-0.127935, -0.983497, 0.127935> + 13801: <-0.170691, -0.976904, 0.128545> + 13802: <-0.170203, -0.981668, 0.085788> + 13803: <-0.127447, -0.988171, 0.085300> + 13804: <-0.170691, -0.976904, 0.128545> + 13805: <-0.213666, -0.968319, 0.129250> + 13806: <-0.213204, -0.973180, 0.086398> + 13807: <-0.170203, -0.981668, 0.085788> + 13808: <-0.213666, -0.968319, 0.129250> + 13809: <-0.256880, -0.957663, 0.129981> + 13810: <-0.256544, -0.962605, 0.087041> + 13811: <-0.213204, -0.973180, 0.086398> + 13812: <-0.256880, -0.957663, 0.129981> + 13813: <-0.300427, -0.944802, 0.130743> + 13814: <-0.300248, -0.949820, 0.087712> + 13815: <-0.256544, -0.962605, 0.087041> + 13816: <-0.300427, -0.944802, 0.130743> + 13817: <-0.344322, -0.929596, 0.131509> + 13818: <-0.344408, -0.934648, 0.088414> + 13819: <-0.300248, -0.949820, 0.087712> + 13820: <-0.344322, -0.929596, 0.131509> + 13821: <-0.388632, -0.911854, 0.132240> + 13822: <-0.388998, -0.916918, 0.089116> + 13823: <-0.344408, -0.934648, 0.088414> + 13824: <-0.388632, -0.911854, 0.132240> + 13825: <-0.433256, -0.891416, 0.132913> + 13826: <-0.433981, -0.896437, 0.089787> + 13827: <-0.388998, -0.916918, 0.089116> + 13828: <-0.433256, -0.891416, 0.132913> + 13829: <-0.478208, -0.868033, 0.133553> + 13830: <-0.479307, -0.872976, 0.090429> + 13831: <-0.433981, -0.896437, 0.089787> + 13832: <-0.478208, -0.868033, 0.133553> + 13833: <-0.523307, -0.841527, 0.134100> + 13834: <-0.524836, -0.846324, 0.091008> + 13835: <-0.479307, -0.872976, 0.090429> + 13836: <-0.523307, -0.841527, 0.134100> + 13837: <-0.568382, -0.811677, 0.134618> + 13838: <-0.570377, -0.816271, 0.091497> + 13839: <-0.524836, -0.846324, 0.091008> + 13840: <-0.568382, -0.811677, 0.134618> + 13841: <-0.613215, -0.778292, 0.135015> + 13842: <-0.615697, -0.782607, 0.091894> + 13843: <-0.570377, -0.816271, 0.091497> + 13844: <-0.613215, -0.778292, 0.135015> + 13845: <-0.657468, -0.741243, 0.135260> + 13846: <-0.660463, -0.745184, 0.092137> + 13847: <-0.615697, -0.782607, 0.091894> + 13848: < 0.660463, -0.745184, 0.092137> + 13849: < 0.615697, -0.782607, 0.091894> + 13850: < 0.617246, -0.785375, 0.046847> + 13851: < 0.662354, -0.747715, 0.046999> + 13852: < 0.615697, -0.782607, 0.091894> + 13853: < 0.570377, -0.816271, 0.091497> + 13854: < 0.571602, -0.819208, 0.046573> + 13855: < 0.617246, -0.785375, 0.046847> + 13856: < 0.570377, -0.816271, 0.091497> + 13857: < 0.524836, -0.846324, 0.091008> + 13858: < 0.525753, -0.849378, 0.046267> + 13859: < 0.571602, -0.819208, 0.046573> + 13860: < 0.524836, -0.846324, 0.091008> + 13861: < 0.479307, -0.872976, 0.090429> + 13862: < 0.479951, -0.876095, 0.045871> + 13863: < 0.525753, -0.849378, 0.046267> + 13864: < 0.479307, -0.872976, 0.090429> + 13865: < 0.433981, -0.896437, 0.089787> + 13866: < 0.434379, -0.899583, 0.045443> + 13867: < 0.479951, -0.876095, 0.045871> + 13868: < 0.433981, -0.896437, 0.089787> + 13869: < 0.388998, -0.916918, 0.089116> + 13870: < 0.389180, -0.920061, 0.045016> + 13871: < 0.434379, -0.899583, 0.045443> + 13872: < 0.388998, -0.916918, 0.089116> + 13873: < 0.344408, -0.934648, 0.088414> + 13874: < 0.344409, -0.937762, 0.044558> + 13875: < 0.389180, -0.920061, 0.045016> + 13876: < 0.344408, -0.934648, 0.088414> + 13877: < 0.300248, -0.949820, 0.087712> + 13878: < 0.300092, -0.952889, 0.044130> + 13879: < 0.344409, -0.937762, 0.044558> + 13880: < 0.300248, -0.949820, 0.087712> + 13881: < 0.256544, -0.962605, 0.087041> + 13882: < 0.256267, -0.965618, 0.043703> + 13883: < 0.300092, -0.952889, 0.044130> + 13884: < 0.256544, -0.962605, 0.087041> + 13885: < 0.213204, -0.973180, 0.086398> + 13886: < 0.212870, -0.976120, 0.043306> + 13887: < 0.256267, -0.965618, 0.043703> + 13888: < 0.213204, -0.973180, 0.086398> + 13889: < 0.170203, -0.981668, 0.085788> + 13890: < 0.169866, -0.984530, 0.042970> + 13891: < 0.212870, -0.976120, 0.043306> + 13892: < 0.170203, -0.981668, 0.085788> + 13893: < 0.127447, -0.988171, 0.085300> + 13894: < 0.127144, -0.990966, 0.042666> + 13895: < 0.169866, -0.984530, 0.042970> + 13896: < 0.127447, -0.988171, 0.085300> + 13897: < 0.084905, -0.992765, 0.084905> + 13898: < 0.084660, -0.995505, 0.042452> + 13899: < 0.127144, -0.990966, 0.042666> + 13900: < 0.084905, -0.992765, 0.084905> + 13901: < 0.042452, -0.995505, 0.084660> + 13902: < 0.042299, -0.998209, 0.042299> + 13903: < 0.084660, -0.995505, 0.042452> + 13904: < 0.042452, -0.995505, 0.084660> + 13905: < 0.000000, -0.996418, 0.084568> + 13906: < 0.000000, -0.999108, 0.042239> + 13907: < 0.042299, -0.998209, 0.042299> + 13908: < 0.000000, -0.996418, 0.084568> + 13909: <-0.042452, -0.995505, 0.084660> + 13910: <-0.042299, -0.998209, 0.042299> + 13911: < 0.000000, -0.999108, 0.042239> + 13912: <-0.042452, -0.995505, 0.084660> + 13913: <-0.084905, -0.992765, 0.084905> + 13914: <-0.084660, -0.995505, 0.042452> + 13915: <-0.042299, -0.998209, 0.042299> + 13916: <-0.084905, -0.992765, 0.084905> + 13917: <-0.127447, -0.988171, 0.085300> + 13918: <-0.127144, -0.990966, 0.042666> + 13919: <-0.084660, -0.995505, 0.042452> + 13920: <-0.127447, -0.988171, 0.085300> + 13921: <-0.170203, -0.981668, 0.085788> + 13922: <-0.169837, -0.984535, 0.042970> + 13923: <-0.127144, -0.990966, 0.042666> + 13924: <-0.170203, -0.981668, 0.085788> + 13925: <-0.213204, -0.973180, 0.086398> + 13926: <-0.212870, -0.976120, 0.043306> + 13927: <-0.169837, -0.984535, 0.042970> + 13928: <-0.213204, -0.973180, 0.086398> + 13929: <-0.256544, -0.962605, 0.087041> + 13930: <-0.256267, -0.965618, 0.043703> + 13931: <-0.212870, -0.976120, 0.043306> + 13932: <-0.256544, -0.962605, 0.087041> + 13933: <-0.300248, -0.949820, 0.087712> + 13934: <-0.300092, -0.952889, 0.044130> + 13935: <-0.256267, -0.965618, 0.043703> + 13936: <-0.300248, -0.949820, 0.087712> + 13937: <-0.344408, -0.934648, 0.088414> + 13938: <-0.344409, -0.937762, 0.044558> + 13939: <-0.300092, -0.952889, 0.044130> + 13940: <-0.344408, -0.934648, 0.088414> + 13941: <-0.388998, -0.916918, 0.089116> + 13942: <-0.389180, -0.920061, 0.045016> + 13943: <-0.344409, -0.937762, 0.044558> + 13944: <-0.388998, -0.916918, 0.089116> + 13945: <-0.433981, -0.896437, 0.089787> + 13946: <-0.434379, -0.899583, 0.045443> + 13947: <-0.389180, -0.920061, 0.045016> + 13948: <-0.433981, -0.896437, 0.089787> + 13949: <-0.479307, -0.872976, 0.090429> + 13950: <-0.479951, -0.876095, 0.045871> + 13951: <-0.434379, -0.899583, 0.045443> + 13952: <-0.479307, -0.872976, 0.090429> + 13953: <-0.524836, -0.846324, 0.091008> + 13954: <-0.525753, -0.849378, 0.046267> + 13955: <-0.479951, -0.876095, 0.045871> + 13956: <-0.524836, -0.846324, 0.091008> + 13957: <-0.570377, -0.816271, 0.091497> + 13958: <-0.571602, -0.819208, 0.046573> + 13959: <-0.525753, -0.849378, 0.046267> + 13960: <-0.570377, -0.816271, 0.091497> + 13961: <-0.615697, -0.782607, 0.091894> + 13962: <-0.617246, -0.785375, 0.046847> + 13963: <-0.571602, -0.819208, 0.046573> + 13964: <-0.615697, -0.782607, 0.091894> + 13965: <-0.660463, -0.745184, 0.092137> + 13966: <-0.662354, -0.747715, 0.046999> + 13967: <-0.617246, -0.785375, 0.046847> + 13968: < 0.662354, -0.747715, 0.046999> + 13969: < 0.617246, -0.785375, 0.046847> + 13970: < 0.617789, -0.786344, 0.000000> + 13971: < 0.663024, -0.748599, 0.000000> + 13972: < 0.617246, -0.785375, 0.046847> + 13973: < 0.571602, -0.819208, 0.046573> + 13974: < 0.572024, -0.820237, 0.000000> + 13975: < 0.617789, -0.786344, 0.000000> + 13976: < 0.571602, -0.819208, 0.046573> + 13977: < 0.525753, -0.849378, 0.046267> + 13978: < 0.526081, -0.850434, 0.000000> + 13979: < 0.572024, -0.820237, 0.000000> + 13980: < 0.525753, -0.849378, 0.046267> + 13981: < 0.479951, -0.876095, 0.045871> + 13982: < 0.480182, -0.877169, 0.000000> + 13983: < 0.526081, -0.850434, 0.000000> + 13984: < 0.479951, -0.876095, 0.045871> + 13985: < 0.434379, -0.899583, 0.045443> + 13986: < 0.434534, -0.900655, 0.000000> + 13987: < 0.480182, -0.877169, 0.000000> + 13988: < 0.434379, -0.899583, 0.045443> + 13989: < 0.389180, -0.920061, 0.045016> + 13990: < 0.389244, -0.921135, 0.000000> + 13991: < 0.434534, -0.900655, 0.000000> + 13992: < 0.389180, -0.920061, 0.045016> + 13993: < 0.344409, -0.937762, 0.044558> + 13994: < 0.344405, -0.938821, 0.000000> + 13995: < 0.389244, -0.921135, 0.000000> + 13996: < 0.344409, -0.937762, 0.044558> + 13997: < 0.300092, -0.952889, 0.044130> + 13998: < 0.300059, -0.953921, 0.000000> + 13999: < 0.344405, -0.938821, 0.000000> + 14000: < 0.300092, -0.952889, 0.044130> + 14001: < 0.256267, -0.965618, 0.043703> + 14002: < 0.256177, -0.966630, 0.000000> + 14003: < 0.300059, -0.953921, 0.000000> + 14004: < 0.256267, -0.965618, 0.043703> + 14005: < 0.212870, -0.976120, 0.043306> + 14006: < 0.212750, -0.977107, 0.000000> + 14007: < 0.256177, -0.966630, 0.000000> + 14008: < 0.212870, -0.976120, 0.043306> + 14009: < 0.169866, -0.984530, 0.042970> + 14010: < 0.169746, -0.985488, 0.000000> + 14011: < 0.212750, -0.977107, 0.000000> + 14012: < 0.169866, -0.984530, 0.042970> + 14013: < 0.127144, -0.990966, 0.042666> + 14014: < 0.127020, -0.991900, 0.000000> + 14015: < 0.169746, -0.985488, 0.000000> + 14016: < 0.127144, -0.990966, 0.042666> + 14017: < 0.084660, -0.995505, 0.042452> + 14018: < 0.084568, -0.996418, 0.000000> + 14019: < 0.127020, -0.991900, 0.000000> + 14020: < 0.084660, -0.995505, 0.042452> + 14021: < 0.042299, -0.998209, 0.042299> + 14022: < 0.042239, -0.999108, 0.000000> + 14023: < 0.084568, -0.996418, 0.000000> + 14024: < 0.042299, -0.998209, 0.042299> + 14025: < 0.000000, -0.999108, 0.042239> + 14026: < 0.000000, -1.000000, 0.000000> + 14027: < 0.042239, -0.999108, 0.000000> + 14028: < 0.000000, -0.999108, 0.042239> + 14029: <-0.042299, -0.998209, 0.042299> + 14030: <-0.042239, -0.999108, 0.000000> + 14031: < 0.000000, -1.000000, 0.000000> + 14032: <-0.042299, -0.998209, 0.042299> + 14033: <-0.084660, -0.995505, 0.042452> + 14034: <-0.084568, -0.996418, 0.000000> + 14035: <-0.042239, -0.999108, 0.000000> + 14036: <-0.084660, -0.995505, 0.042452> + 14037: <-0.127144, -0.990966, 0.042666> + 14038: <-0.127020, -0.991900, 0.000000> + 14039: <-0.084568, -0.996418, 0.000000> + 14040: <-0.127144, -0.990966, 0.042666> + 14041: <-0.169837, -0.984535, 0.042970> + 14042: <-0.169746, -0.985488, 0.000000> + 14043: <-0.127020, -0.991900, 0.000000> + 14044: <-0.169837, -0.984535, 0.042970> + 14045: <-0.212870, -0.976120, 0.043306> + 14046: <-0.212750, -0.977107, 0.000000> + 14047: <-0.169746, -0.985488, 0.000000> + 14048: <-0.212870, -0.976120, 0.043306> + 14049: <-0.256267, -0.965618, 0.043703> + 14050: <-0.256177, -0.966630, 0.000000> + 14051: <-0.212750, -0.977107, 0.000000> + 14052: <-0.256267, -0.965618, 0.043703> + 14053: <-0.300092, -0.952889, 0.044130> + 14054: <-0.300059, -0.953921, 0.000000> + 14055: <-0.256177, -0.966630, 0.000000> + 14056: <-0.300092, -0.952889, 0.044130> + 14057: <-0.344409, -0.937762, 0.044558> + 14058: <-0.344405, -0.938821, 0.000000> + 14059: <-0.300059, -0.953921, 0.000000> + 14060: <-0.344409, -0.937762, 0.044558> + 14061: <-0.389180, -0.920061, 0.045016> + 14062: <-0.389244, -0.921135, 0.000000> + 14063: <-0.344405, -0.938821, 0.000000> + 14064: <-0.389180, -0.920061, 0.045016> + 14065: <-0.434379, -0.899583, 0.045443> + 14066: <-0.434534, -0.900655, 0.000000> + 14067: <-0.389244, -0.921135, 0.000000> + 14068: <-0.434379, -0.899583, 0.045443> + 14069: <-0.479951, -0.876095, 0.045871> + 14070: <-0.480182, -0.877169, 0.000000> + 14071: <-0.434534, -0.900655, 0.000000> + 14072: <-0.479951, -0.876095, 0.045871> + 14073: <-0.525753, -0.849378, 0.046267> + 14074: <-0.526081, -0.850434, 0.000000> + 14075: <-0.480182, -0.877169, 0.000000> + 14076: <-0.525753, -0.849378, 0.046267> + 14077: <-0.571602, -0.819208, 0.046573> + 14078: <-0.572024, -0.820237, 0.000000> + 14079: <-0.526081, -0.850434, 0.000000> + 14080: <-0.571602, -0.819208, 0.046573> + 14081: <-0.617246, -0.785375, 0.046847> + 14082: <-0.617789, -0.786344, 0.000000> + 14083: <-0.572024, -0.820237, 0.000000> + 14084: <-0.617246, -0.785375, 0.046847> + 14085: <-0.662354, -0.747715, 0.046999> + 14086: <-0.663024, -0.748599, 0.000000> + 14087: <-0.617789, -0.786344, 0.000000> + 14088: < 0.663024, -0.748599, 0.000000> + 14089: < 0.617789, -0.786344, 0.000000> + 14090: < 0.617246, -0.785375, -0.046847> + 14091: < 0.662354, -0.747715, -0.046999> + 14092: < 0.617789, -0.786344, 0.000000> + 14093: < 0.572024, -0.820237, 0.000000> + 14094: < 0.571602, -0.819208, -0.046573> + 14095: < 0.617246, -0.785375, -0.046847> + 14096: < 0.572024, -0.820237, 0.000000> + 14097: < 0.526081, -0.850434, 0.000000> + 14098: < 0.525753, -0.849378, -0.046267> + 14099: < 0.571602, -0.819208, -0.046573> + 14100: < 0.526081, -0.850434, 0.000000> + 14101: < 0.480182, -0.877169, 0.000000> + 14102: < 0.479951, -0.876095, -0.045871> + 14103: < 0.525753, -0.849378, -0.046267> + 14104: < 0.480182, -0.877169, 0.000000> + 14105: < 0.434534, -0.900655, 0.000000> + 14106: < 0.434379, -0.899583, -0.045443> + 14107: < 0.479951, -0.876095, -0.045871> + 14108: < 0.434534, -0.900655, 0.000000> + 14109: < 0.389244, -0.921135, 0.000000> + 14110: < 0.389180, -0.920061, -0.045016> + 14111: < 0.434379, -0.899583, -0.045443> + 14112: < 0.389244, -0.921135, 0.000000> + 14113: < 0.344405, -0.938821, 0.000000> + 14114: < 0.344409, -0.937762, -0.044558> + 14115: < 0.389180, -0.920061, -0.045016> + 14116: < 0.344405, -0.938821, 0.000000> + 14117: < 0.300059, -0.953921, 0.000000> + 14118: < 0.300092, -0.952889, -0.044130> + 14119: < 0.344409, -0.937762, -0.044558> + 14120: < 0.300059, -0.953921, 0.000000> + 14121: < 0.256177, -0.966630, 0.000000> + 14122: < 0.256267, -0.965618, -0.043703> + 14123: < 0.300092, -0.952889, -0.044130> + 14124: < 0.256177, -0.966630, 0.000000> + 14125: < 0.212750, -0.977107, 0.000000> + 14126: < 0.212870, -0.976120, -0.043306> + 14127: < 0.256267, -0.965618, -0.043703> + 14128: < 0.212750, -0.977107, 0.000000> + 14129: < 0.169746, -0.985488, 0.000000> + 14130: < 0.169866, -0.984530, -0.042970> + 14131: < 0.212870, -0.976120, -0.043306> + 14132: < 0.169746, -0.985488, 0.000000> + 14133: < 0.127020, -0.991900, 0.000000> + 14134: < 0.127144, -0.990966, -0.042666> + 14135: < 0.169866, -0.984530, -0.042970> + 14136: < 0.127020, -0.991900, 0.000000> + 14137: < 0.084568, -0.996418, 0.000000> + 14138: < 0.084660, -0.995505, -0.042452> + 14139: < 0.127144, -0.990966, -0.042666> + 14140: < 0.084568, -0.996418, 0.000000> + 14141: < 0.042239, -0.999108, 0.000000> + 14142: < 0.042299, -0.998209, -0.042299> + 14143: < 0.084660, -0.995505, -0.042452> + 14144: < 0.042239, -0.999108, 0.000000> + 14145: < 0.000000, -1.000000, 0.000000> + 14146: < 0.000000, -0.999108, -0.042239> + 14147: < 0.042299, -0.998209, -0.042299> + 14148: < 0.000000, -1.000000, 0.000000> + 14149: <-0.042239, -0.999108, 0.000000> + 14150: <-0.042299, -0.998209, -0.042299> + 14151: < 0.000000, -0.999108, -0.042239> + 14152: <-0.042239, -0.999108, 0.000000> + 14153: <-0.084568, -0.996418, 0.000000> + 14154: <-0.084660, -0.995505, -0.042452> + 14155: <-0.042299, -0.998209, -0.042299> + 14156: <-0.084568, -0.996418, 0.000000> + 14157: <-0.127020, -0.991900, 0.000000> + 14158: <-0.127144, -0.990966, -0.042666> + 14159: <-0.084660, -0.995505, -0.042452> + 14160: <-0.127020, -0.991900, 0.000000> + 14161: <-0.169746, -0.985488, 0.000000> + 14162: <-0.169866, -0.984530, -0.042970> + 14163: <-0.127144, -0.990966, -0.042666> + 14164: <-0.169746, -0.985488, 0.000000> + 14165: <-0.212750, -0.977107, 0.000000> + 14166: <-0.212870, -0.976120, -0.043306> + 14167: <-0.169866, -0.984530, -0.042970> + 14168: <-0.212750, -0.977107, 0.000000> + 14169: <-0.256177, -0.966630, 0.000000> + 14170: <-0.256267, -0.965618, -0.043703> + 14171: <-0.212870, -0.976120, -0.043306> + 14172: <-0.256177, -0.966630, 0.000000> + 14173: <-0.300059, -0.953921, 0.000000> + 14174: <-0.300092, -0.952889, -0.044130> + 14175: <-0.256267, -0.965618, -0.043703> + 14176: <-0.300059, -0.953921, 0.000000> + 14177: <-0.344405, -0.938821, 0.000000> + 14178: <-0.344409, -0.937762, -0.044558> + 14179: <-0.300092, -0.952889, -0.044130> + 14180: <-0.344405, -0.938821, 0.000000> + 14181: <-0.389244, -0.921135, 0.000000> + 14182: <-0.389180, -0.920061, -0.045016> + 14183: <-0.344409, -0.937762, -0.044558> + 14184: <-0.389244, -0.921135, 0.000000> + 14185: <-0.434534, -0.900655, 0.000000> + 14186: <-0.434379, -0.899583, -0.045443> + 14187: <-0.389180, -0.920061, -0.045016> + 14188: <-0.434534, -0.900655, 0.000000> + 14189: <-0.480182, -0.877169, 0.000000> + 14190: <-0.479951, -0.876095, -0.045871> + 14191: <-0.434379, -0.899583, -0.045443> + 14192: <-0.480182, -0.877169, 0.000000> + 14193: <-0.526081, -0.850434, 0.000000> + 14194: <-0.525753, -0.849378, -0.046267> + 14195: <-0.479951, -0.876095, -0.045871> + 14196: <-0.526081, -0.850434, 0.000000> + 14197: <-0.572024, -0.820237, 0.000000> + 14198: <-0.571602, -0.819208, -0.046573> + 14199: <-0.525753, -0.849378, -0.046267> + 14200: <-0.572024, -0.820237, 0.000000> + 14201: <-0.617789, -0.786344, 0.000000> + 14202: <-0.617246, -0.785375, -0.046847> + 14203: <-0.571602, -0.819208, -0.046573> + 14204: <-0.617789, -0.786344, 0.000000> + 14205: <-0.663024, -0.748599, 0.000000> + 14206: <-0.662354, -0.747715, -0.046999> + 14207: <-0.617246, -0.785375, -0.046847> + 14208: < 0.662354, -0.747715, -0.046999> + 14209: < 0.617246, -0.785375, -0.046847> + 14210: < 0.615697, -0.782607, -0.091894> + 14211: < 0.660463, -0.745184, -0.092137> + 14212: < 0.617246, -0.785375, -0.046847> + 14213: < 0.571602, -0.819208, -0.046573> + 14214: < 0.570377, -0.816271, -0.091497> + 14215: < 0.615697, -0.782607, -0.091894> + 14216: < 0.571602, -0.819208, -0.046573> + 14217: < 0.525753, -0.849378, -0.046267> + 14218: < 0.524836, -0.846324, -0.091008> + 14219: < 0.570377, -0.816271, -0.091497> + 14220: < 0.525753, -0.849378, -0.046267> + 14221: < 0.479951, -0.876095, -0.045871> + 14222: < 0.479307, -0.872976, -0.090429> + 14223: < 0.524836, -0.846324, -0.091008> + 14224: < 0.479951, -0.876095, -0.045871> + 14225: < 0.434379, -0.899583, -0.045443> + 14226: < 0.433981, -0.896437, -0.089787> + 14227: < 0.479307, -0.872976, -0.090429> + 14228: < 0.434379, -0.899583, -0.045443> + 14229: < 0.389180, -0.920061, -0.045016> + 14230: < 0.388998, -0.916918, -0.089116> + 14231: < 0.433981, -0.896437, -0.089787> + 14232: < 0.389180, -0.920061, -0.045016> + 14233: < 0.344409, -0.937762, -0.044558> + 14234: < 0.344408, -0.934648, -0.088414> + 14235: < 0.388998, -0.916918, -0.089116> + 14236: < 0.344409, -0.937762, -0.044558> + 14237: < 0.300092, -0.952889, -0.044130> + 14238: < 0.300248, -0.949820, -0.087712> + 14239: < 0.344408, -0.934648, -0.088414> + 14240: < 0.300092, -0.952889, -0.044130> + 14241: < 0.256267, -0.965618, -0.043703> + 14242: < 0.256544, -0.962605, -0.087041> + 14243: < 0.300248, -0.949820, -0.087712> + 14244: < 0.256267, -0.965618, -0.043703> + 14245: < 0.212870, -0.976120, -0.043306> + 14246: < 0.213204, -0.973180, -0.086398> + 14247: < 0.256544, -0.962605, -0.087041> + 14248: < 0.212870, -0.976120, -0.043306> + 14249: < 0.169866, -0.984530, -0.042970> + 14250: < 0.170203, -0.981668, -0.085788> + 14251: < 0.213204, -0.973180, -0.086398> + 14252: < 0.169866, -0.984530, -0.042970> + 14253: < 0.127144, -0.990966, -0.042666> + 14254: < 0.127447, -0.988171, -0.085300> + 14255: < 0.170203, -0.981668, -0.085788> + 14256: < 0.127144, -0.990966, -0.042666> + 14257: < 0.084660, -0.995505, -0.042452> + 14258: < 0.084905, -0.992765, -0.084905> + 14259: < 0.127447, -0.988171, -0.085300> + 14260: < 0.084660, -0.995505, -0.042452> + 14261: < 0.042299, -0.998209, -0.042299> + 14262: < 0.042452, -0.995505, -0.084660> + 14263: < 0.084905, -0.992765, -0.084905> + 14264: < 0.042299, -0.998209, -0.042299> + 14265: < 0.000000, -0.999108, -0.042239> + 14266: < 0.000000, -0.996418, -0.084568> + 14267: < 0.042452, -0.995505, -0.084660> + 14268: < 0.000000, -0.999108, -0.042239> + 14269: <-0.042299, -0.998209, -0.042299> + 14270: <-0.042452, -0.995505, -0.084660> + 14271: < 0.000000, -0.996418, -0.084568> + 14272: <-0.042299, -0.998209, -0.042299> + 14273: <-0.084660, -0.995505, -0.042452> + 14274: <-0.084905, -0.992765, -0.084905> + 14275: <-0.042452, -0.995505, -0.084660> + 14276: <-0.084660, -0.995505, -0.042452> + 14277: <-0.127144, -0.990966, -0.042666> + 14278: <-0.127447, -0.988171, -0.085300> + 14279: <-0.084905, -0.992765, -0.084905> + 14280: <-0.127144, -0.990966, -0.042666> + 14281: <-0.169866, -0.984530, -0.042970> + 14282: <-0.170203, -0.981668, -0.085788> + 14283: <-0.127447, -0.988171, -0.085300> + 14284: <-0.169866, -0.984530, -0.042970> + 14285: <-0.212870, -0.976120, -0.043306> + 14286: <-0.213204, -0.973180, -0.086398> + 14287: <-0.170203, -0.981668, -0.085788> + 14288: <-0.212870, -0.976120, -0.043306> + 14289: <-0.256267, -0.965618, -0.043703> + 14290: <-0.256544, -0.962605, -0.087041> + 14291: <-0.213204, -0.973180, -0.086398> + 14292: <-0.256267, -0.965618, -0.043703> + 14293: <-0.300092, -0.952889, -0.044130> + 14294: <-0.300248, -0.949820, -0.087712> + 14295: <-0.256544, -0.962605, -0.087041> + 14296: <-0.300092, -0.952889, -0.044130> + 14297: <-0.344409, -0.937762, -0.044558> + 14298: <-0.344408, -0.934648, -0.088414> + 14299: <-0.300248, -0.949820, -0.087712> + 14300: <-0.344409, -0.937762, -0.044558> + 14301: <-0.389180, -0.920061, -0.045016> + 14302: <-0.388998, -0.916918, -0.089116> + 14303: <-0.344408, -0.934648, -0.088414> + 14304: <-0.389180, -0.920061, -0.045016> + 14305: <-0.434379, -0.899583, -0.045443> + 14306: <-0.433981, -0.896437, -0.089787> + 14307: <-0.388998, -0.916918, -0.089116> + 14308: <-0.434379, -0.899583, -0.045443> + 14309: <-0.479951, -0.876095, -0.045871> + 14310: <-0.479307, -0.872976, -0.090429> + 14311: <-0.433981, -0.896437, -0.089787> + 14312: <-0.479951, -0.876095, -0.045871> + 14313: <-0.525753, -0.849378, -0.046267> + 14314: <-0.524836, -0.846324, -0.091008> + 14315: <-0.479307, -0.872976, -0.090429> + 14316: <-0.525753, -0.849378, -0.046267> + 14317: <-0.571602, -0.819208, -0.046573> + 14318: <-0.570377, -0.816271, -0.091497> + 14319: <-0.524836, -0.846324, -0.091008> + 14320: <-0.571602, -0.819208, -0.046573> + 14321: <-0.617246, -0.785375, -0.046847> + 14322: <-0.615697, -0.782607, -0.091894> + 14323: <-0.570377, -0.816271, -0.091497> + 14324: <-0.617246, -0.785375, -0.046847> + 14325: <-0.662354, -0.747715, -0.046999> + 14326: <-0.660463, -0.745184, -0.092137> + 14327: <-0.615697, -0.782607, -0.091894> + 14328: < 0.660463, -0.745184, -0.092137> + 14329: < 0.615697, -0.782607, -0.091894> + 14330: < 0.613196, -0.778306, -0.135018> + 14331: < 0.657468, -0.741243, -0.135260> + 14332: < 0.615697, -0.782607, -0.091894> + 14333: < 0.570377, -0.816271, -0.091497> + 14334: < 0.568382, -0.811677, -0.134618> + 14335: < 0.613196, -0.778306, -0.135018> + 14336: < 0.570377, -0.816271, -0.091497> + 14337: < 0.524836, -0.846324, -0.091008> + 14338: < 0.523307, -0.841527, -0.134100> + 14339: < 0.568382, -0.811677, -0.134618> + 14340: < 0.524836, -0.846324, -0.091008> + 14341: < 0.479307, -0.872976, -0.090429> + 14342: < 0.478208, -0.868033, -0.133553> + 14343: < 0.523307, -0.841527, -0.134100> + 14344: < 0.479307, -0.872976, -0.090429> + 14345: < 0.433981, -0.896437, -0.089787> + 14346: < 0.433281, -0.891405, -0.132911> + 14347: < 0.478208, -0.868033, -0.133553> + 14348: < 0.433981, -0.896437, -0.089787> + 14349: < 0.388998, -0.916918, -0.089116> + 14350: < 0.388632, -0.911854, -0.132240> + 14351: < 0.433281, -0.891405, -0.132911> + 14352: < 0.388998, -0.916918, -0.089116> + 14353: < 0.344408, -0.934648, -0.088414> + 14354: < 0.344322, -0.929596, -0.131509> + 14355: < 0.388632, -0.911854, -0.132240> + 14356: < 0.344408, -0.934648, -0.088414> + 14357: < 0.300248, -0.949820, -0.087712> + 14358: < 0.300427, -0.944802, -0.130743> + 14359: < 0.344322, -0.929596, -0.131509> + 14360: < 0.300248, -0.949820, -0.087712> + 14361: < 0.256544, -0.962605, -0.087041> + 14362: < 0.256880, -0.957663, -0.129981> + 14363: < 0.300427, -0.944802, -0.130743> + 14364: < 0.256544, -0.962605, -0.087041> + 14365: < 0.213204, -0.973180, -0.086398> + 14366: < 0.213666, -0.968319, -0.129250> + 14367: < 0.256880, -0.957663, -0.129981> + 14368: < 0.213204, -0.973180, -0.086398> + 14369: < 0.170203, -0.981668, -0.085788> + 14370: < 0.170691, -0.976904, -0.128545> + 14371: < 0.213666, -0.968319, -0.129250> + 14372: < 0.170203, -0.981668, -0.085788> + 14373: < 0.127447, -0.988171, -0.085300> + 14374: < 0.127935, -0.983497, -0.127935> + 14375: < 0.170691, -0.976904, -0.128545> + 14376: < 0.127447, -0.988171, -0.085300> + 14377: < 0.084905, -0.992765, -0.084905> + 14378: < 0.085300, -0.988171, -0.127447> + 14379: < 0.127935, -0.983497, -0.127935> + 14380: < 0.084905, -0.992765, -0.084905> + 14381: < 0.042452, -0.995505, -0.084660> + 14382: < 0.042666, -0.990966, -0.127144> + 14383: < 0.085300, -0.988171, -0.127447> + 14384: < 0.042452, -0.995505, -0.084660> + 14385: < 0.000000, -0.996418, -0.084568> + 14386: < 0.000000, -0.991900, -0.127020> + 14387: < 0.042666, -0.990966, -0.127144> + 14388: < 0.000000, -0.996418, -0.084568> + 14389: <-0.042452, -0.995505, -0.084660> + 14390: <-0.042666, -0.990966, -0.127144> + 14391: < 0.000000, -0.991900, -0.127020> + 14392: <-0.042452, -0.995505, -0.084660> + 14393: <-0.084905, -0.992765, -0.084905> + 14394: <-0.085300, -0.988171, -0.127447> + 14395: <-0.042666, -0.990966, -0.127144> + 14396: <-0.084905, -0.992765, -0.084905> + 14397: <-0.127447, -0.988171, -0.085300> + 14398: <-0.127935, -0.983497, -0.127935> + 14399: <-0.085300, -0.988171, -0.127447> + 14400: <-0.127447, -0.988171, -0.085300> + 14401: <-0.170203, -0.981668, -0.085788> + 14402: <-0.170691, -0.976904, -0.128545> + 14403: <-0.127935, -0.983497, -0.127935> + 14404: <-0.170203, -0.981668, -0.085788> + 14405: <-0.213204, -0.973180, -0.086398> + 14406: <-0.213666, -0.968319, -0.129250> + 14407: <-0.170691, -0.976904, -0.128545> + 14408: <-0.213204, -0.973180, -0.086398> + 14409: <-0.256544, -0.962605, -0.087041> + 14410: <-0.256880, -0.957663, -0.129981> + 14411: <-0.213666, -0.968319, -0.129250> + 14412: <-0.256544, -0.962605, -0.087041> + 14413: <-0.300248, -0.949820, -0.087712> + 14414: <-0.300427, -0.944802, -0.130743> + 14415: <-0.256880, -0.957663, -0.129981> + 14416: <-0.300248, -0.949820, -0.087712> + 14417: <-0.344408, -0.934648, -0.088414> + 14418: <-0.344322, -0.929596, -0.131509> + 14419: <-0.300427, -0.944802, -0.130743> + 14420: <-0.344408, -0.934648, -0.088414> + 14421: <-0.388998, -0.916918, -0.089116> + 14422: <-0.388632, -0.911854, -0.132240> + 14423: <-0.344322, -0.929596, -0.131509> + 14424: <-0.388998, -0.916918, -0.089116> + 14425: <-0.433981, -0.896437, -0.089787> + 14426: <-0.433281, -0.891405, -0.132911> + 14427: <-0.388632, -0.911854, -0.132240> + 14428: <-0.433981, -0.896437, -0.089787> + 14429: <-0.479307, -0.872976, -0.090429> + 14430: <-0.478208, -0.868033, -0.133553> + 14431: <-0.433281, -0.891405, -0.132911> + 14432: <-0.479307, -0.872976, -0.090429> + 14433: <-0.524836, -0.846324, -0.091008> + 14434: <-0.523307, -0.841527, -0.134100> + 14435: <-0.478208, -0.868033, -0.133553> + 14436: <-0.524836, -0.846324, -0.091008> + 14437: <-0.570377, -0.816271, -0.091497> + 14438: <-0.568382, -0.811677, -0.134618> + 14439: <-0.523307, -0.841527, -0.134100> + 14440: <-0.570377, -0.816271, -0.091497> + 14441: <-0.615697, -0.782607, -0.091894> + 14442: <-0.613218, -0.778295, -0.134985> + 14443: <-0.568382, -0.811677, -0.134618> + 14444: <-0.615697, -0.782607, -0.091894> + 14445: <-0.660463, -0.745184, -0.092137> + 14446: <-0.657468, -0.741243, -0.135260> + 14447: <-0.613218, -0.778295, -0.134985> + 14448: < 0.657468, -0.741243, -0.135260> + 14449: < 0.613196, -0.778306, -0.135018> + 14450: < 0.609892, -0.772589, -0.176461> + 14451: < 0.653502, -0.736025, -0.176644> + 14452: < 0.613196, -0.778306, -0.135018> + 14453: < 0.568382, -0.811677, -0.134618> + 14454: < 0.565675, -0.805587, -0.176188> + 14455: < 0.609892, -0.772589, -0.176461> + 14456: < 0.568382, -0.811677, -0.134618> + 14457: < 0.523307, -0.841527, -0.134100> + 14458: < 0.521180, -0.835133, -0.175853> + 14459: < 0.565675, -0.805587, -0.176188> + 14460: < 0.523307, -0.841527, -0.134100> + 14461: < 0.478208, -0.868033, -0.133553> + 14462: < 0.476614, -0.861427, -0.175453> + 14463: < 0.521180, -0.835133, -0.175853> + 14464: < 0.478208, -0.868033, -0.133553> + 14465: < 0.433281, -0.891405, -0.132911> + 14466: < 0.432149, -0.884654, -0.175026> + 14467: < 0.476614, -0.861427, -0.175453> + 14468: < 0.433281, -0.891405, -0.132911> + 14469: < 0.388632, -0.911854, -0.132240> + 14470: < 0.387965, -0.904997, -0.174541> + 14471: < 0.432149, -0.884654, -0.175026> + 14472: < 0.388632, -0.911854, -0.132240> + 14473: < 0.344322, -0.929596, -0.131509> + 14474: < 0.344072, -0.922682, -0.173989> + 14475: < 0.387965, -0.904997, -0.174541> + 14476: < 0.344322, -0.929596, -0.131509> + 14477: < 0.300427, -0.944802, -0.130743> + 14478: < 0.300496, -0.937897, -0.173351> + 14479: < 0.344072, -0.922682, -0.173989> + 14480: < 0.300427, -0.944802, -0.130743> + 14481: < 0.256880, -0.957663, -0.129981> + 14482: < 0.257217, -0.950800, -0.172679> + 14483: < 0.300496, -0.937897, -0.173351> + 14484: < 0.256880, -0.957663, -0.129981> + 14485: < 0.213666, -0.968319, -0.129250> + 14486: < 0.214182, -0.961530, -0.172005> + 14487: < 0.257217, -0.950800, -0.172679> + 14488: < 0.213666, -0.968319, -0.129250> + 14489: < 0.170691, -0.976904, -0.128545> + 14490: < 0.171305, -0.970211, -0.171305> + 14491: < 0.214182, -0.961530, -0.172005> + 14492: < 0.170691, -0.976904, -0.128545> + 14493: < 0.127935, -0.983497, -0.127935> + 14494: < 0.128545, -0.976904, -0.170691> + 14495: < 0.171305, -0.970211, -0.171305> + 14496: < 0.127935, -0.983497, -0.127935> + 14497: < 0.085300, -0.988171, -0.127447> + 14498: < 0.085788, -0.981668, -0.170203> + 14499: < 0.128545, -0.976904, -0.170691> + 14500: < 0.085300, -0.988171, -0.127447> + 14501: < 0.042666, -0.990966, -0.127144> + 14502: < 0.042970, -0.984530, -0.169866> + 14503: < 0.085788, -0.981668, -0.170203> + 14504: < 0.042666, -0.990966, -0.127144> + 14505: < 0.000000, -0.991900, -0.127020> + 14506: < 0.000000, -0.985488, -0.169746> + 14507: < 0.042970, -0.984530, -0.169866> + 14508: < 0.000000, -0.991900, -0.127020> + 14509: <-0.042666, -0.990966, -0.127144> + 14510: <-0.042970, -0.984530, -0.169866> + 14511: < 0.000000, -0.985488, -0.169746> + 14512: <-0.042666, -0.990966, -0.127144> + 14513: <-0.085300, -0.988171, -0.127447> + 14514: <-0.085788, -0.981668, -0.170203> + 14515: <-0.042970, -0.984530, -0.169866> + 14516: <-0.085300, -0.988171, -0.127447> + 14517: <-0.127935, -0.983497, -0.127935> + 14518: <-0.128545, -0.976904, -0.170691> + 14519: <-0.085788, -0.981668, -0.170203> + 14520: <-0.127935, -0.983497, -0.127935> + 14521: <-0.170691, -0.976904, -0.128545> + 14522: <-0.171305, -0.970211, -0.171305> + 14523: <-0.128545, -0.976904, -0.170691> + 14524: <-0.170691, -0.976904, -0.128545> + 14525: <-0.213666, -0.968319, -0.129250> + 14526: <-0.214182, -0.961530, -0.172005> + 14527: <-0.171305, -0.970211, -0.171305> + 14528: <-0.213666, -0.968319, -0.129250> + 14529: <-0.256880, -0.957663, -0.129981> + 14530: <-0.257217, -0.950800, -0.172679> + 14531: <-0.214182, -0.961530, -0.172005> + 14532: <-0.256880, -0.957663, -0.129981> + 14533: <-0.300427, -0.944802, -0.130743> + 14534: <-0.300496, -0.937897, -0.173351> + 14535: <-0.257217, -0.950800, -0.172679> + 14536: <-0.300427, -0.944802, -0.130743> + 14537: <-0.344322, -0.929596, -0.131509> + 14538: <-0.344072, -0.922682, -0.173989> + 14539: <-0.300496, -0.937897, -0.173351> + 14540: <-0.344322, -0.929596, -0.131509> + 14541: <-0.388632, -0.911854, -0.132240> + 14542: <-0.387965, -0.904997, -0.174541> + 14543: <-0.344072, -0.922682, -0.173989> + 14544: <-0.388632, -0.911854, -0.132240> + 14545: <-0.433281, -0.891405, -0.132911> + 14546: <-0.432149, -0.884654, -0.175026> + 14547: <-0.387965, -0.904997, -0.174541> + 14548: <-0.433281, -0.891405, -0.132911> + 14549: <-0.478208, -0.868033, -0.133553> + 14550: <-0.476614, -0.861427, -0.175453> + 14551: <-0.432149, -0.884654, -0.175026> + 14552: <-0.478208, -0.868033, -0.133553> + 14553: <-0.523307, -0.841527, -0.134100> + 14554: <-0.521180, -0.835133, -0.175853> + 14555: <-0.476614, -0.861427, -0.175453> + 14556: <-0.523307, -0.841527, -0.134100> + 14557: <-0.568382, -0.811677, -0.134618> + 14558: <-0.565675, -0.805587, -0.176188> + 14559: <-0.521180, -0.835133, -0.175853> + 14560: <-0.568382, -0.811677, -0.134618> + 14561: <-0.613218, -0.778295, -0.134985> + 14562: <-0.609892, -0.772589, -0.176461> + 14563: <-0.565675, -0.805587, -0.176188> + 14564: <-0.613218, -0.778295, -0.134985> + 14565: <-0.657468, -0.741243, -0.135260> + 14566: <-0.653502, -0.736025, -0.176644> + 14567: <-0.609892, -0.772589, -0.176461> + 14568: < 0.653502, -0.736025, -0.176644> + 14569: < 0.609892, -0.772589, -0.176461> + 14570: < 0.605748, -0.765608, -0.216596> + 14571: < 0.648606, -0.729636, -0.216660> + 14572: < 0.609892, -0.772589, -0.176461> + 14573: < 0.565675, -0.805587, -0.176188> + 14574: < 0.562257, -0.798110, -0.216534> + 14575: < 0.605748, -0.765608, -0.216596> + 14576: < 0.565675, -0.805587, -0.176188> + 14577: < 0.521180, -0.835133, -0.175853> + 14578: < 0.518435, -0.827263, -0.216475> + 14579: < 0.562257, -0.798110, -0.216534> + 14580: < 0.521180, -0.835133, -0.175853> + 14581: < 0.476614, -0.861427, -0.175453> + 14582: < 0.474515, -0.853230, -0.216413> + 14583: < 0.518435, -0.827263, -0.216475> + 14584: < 0.476614, -0.861427, -0.175453> + 14585: < 0.432149, -0.884654, -0.175026> + 14586: < 0.430657, -0.876208, -0.216320> + 14587: < 0.474515, -0.853230, -0.216413> + 14588: < 0.432149, -0.884654, -0.175026> + 14589: < 0.387965, -0.904997, -0.174541> + 14590: < 0.386985, -0.896382, -0.216199> + 14591: < 0.430657, -0.876208, -0.216320> + 14592: < 0.387965, -0.904997, -0.174541> + 14593: < 0.344072, -0.922682, -0.173989> + 14594: < 0.343582, -0.913949, -0.215982> + 14595: < 0.386985, -0.896382, -0.216199> + 14596: < 0.344072, -0.922682, -0.173989> + 14597: < 0.300496, -0.937897, -0.173351> + 14598: < 0.300461, -0.929096, -0.215649> + 14599: < 0.343582, -0.913949, -0.215982> + 14600: < 0.300496, -0.937897, -0.173351> + 14601: < 0.257217, -0.950800, -0.172679> + 14602: < 0.257519, -0.942000, -0.215220> + 14603: < 0.300461, -0.929096, -0.215649> + 14604: < 0.257217, -0.950800, -0.172679> + 14605: < 0.214182, -0.961530, -0.172005> + 14606: < 0.214732, -0.952775, -0.214732> + 14607: < 0.257519, -0.942000, -0.215220> + 14608: < 0.214182, -0.961530, -0.172005> + 14609: < 0.171305, -0.970211, -0.171305> + 14610: < 0.172005, -0.961530, -0.214182> + 14611: < 0.214732, -0.952775, -0.214732> + 14612: < 0.171305, -0.970211, -0.171305> + 14613: < 0.128545, -0.976904, -0.170691> + 14614: < 0.129250, -0.968319, -0.213666> + 14615: < 0.172005, -0.961530, -0.214182> + 14616: < 0.128545, -0.976904, -0.170691> + 14617: < 0.085788, -0.981668, -0.170203> + 14618: < 0.086398, -0.973180, -0.213204> + 14619: < 0.129250, -0.968319, -0.213666> + 14620: < 0.085788, -0.981668, -0.170203> + 14621: < 0.042970, -0.984530, -0.169866> + 14622: < 0.043306, -0.976120, -0.212870> + 14623: < 0.086398, -0.973180, -0.213204> + 14624: < 0.042970, -0.984530, -0.169866> + 14625: < 0.000000, -0.985488, -0.169746> + 14626: < 0.000000, -0.977107, -0.212750> + 14627: < 0.043306, -0.976120, -0.212870> + 14628: < 0.000000, -0.985488, -0.169746> + 14629: <-0.042970, -0.984530, -0.169866> + 14630: <-0.043306, -0.976120, -0.212870> + 14631: < 0.000000, -0.977107, -0.212750> + 14632: <-0.042970, -0.984530, -0.169866> + 14633: <-0.085788, -0.981668, -0.170203> + 14634: <-0.086398, -0.973180, -0.213204> + 14635: <-0.043306, -0.976120, -0.212870> + 14636: <-0.085788, -0.981668, -0.170203> + 14637: <-0.128545, -0.976904, -0.170691> + 14638: <-0.129250, -0.968319, -0.213666> + 14639: <-0.086398, -0.973180, -0.213204> + 14640: <-0.128545, -0.976904, -0.170691> + 14641: <-0.171305, -0.970211, -0.171305> + 14642: <-0.172005, -0.961530, -0.214182> + 14643: <-0.129250, -0.968319, -0.213666> + 14644: <-0.171305, -0.970211, -0.171305> + 14645: <-0.214182, -0.961530, -0.172005> + 14646: <-0.214732, -0.952775, -0.214732> + 14647: <-0.172005, -0.961530, -0.214182> + 14648: <-0.214182, -0.961530, -0.172005> + 14649: <-0.257217, -0.950800, -0.172679> + 14650: <-0.257519, -0.942000, -0.215220> + 14651: <-0.214732, -0.952775, -0.214732> + 14652: <-0.257217, -0.950800, -0.172679> + 14653: <-0.300496, -0.937897, -0.173351> + 14654: <-0.300461, -0.929096, -0.215649> + 14655: <-0.257519, -0.942000, -0.215220> + 14656: <-0.300496, -0.937897, -0.173351> + 14657: <-0.344072, -0.922682, -0.173989> + 14658: <-0.343582, -0.913949, -0.215982> + 14659: <-0.300461, -0.929096, -0.215649> + 14660: <-0.344072, -0.922682, -0.173989> + 14661: <-0.387965, -0.904997, -0.174541> + 14662: <-0.386985, -0.896382, -0.216199> + 14663: <-0.343582, -0.913949, -0.215982> + 14664: <-0.387965, -0.904997, -0.174541> + 14665: <-0.432149, -0.884654, -0.175026> + 14666: <-0.430657, -0.876208, -0.216320> + 14667: <-0.386985, -0.896382, -0.216199> + 14668: <-0.432149, -0.884654, -0.175026> + 14669: <-0.476614, -0.861427, -0.175453> + 14670: <-0.474515, -0.853230, -0.216413> + 14671: <-0.430657, -0.876208, -0.216320> + 14672: <-0.476614, -0.861427, -0.175453> + 14673: <-0.521180, -0.835133, -0.175853> + 14674: <-0.518435, -0.827263, -0.216475> + 14675: <-0.474515, -0.853230, -0.216413> + 14676: <-0.521180, -0.835133, -0.175853> + 14677: <-0.565675, -0.805587, -0.176188> + 14678: <-0.562257, -0.798110, -0.216534> + 14679: <-0.518435, -0.827263, -0.216475> + 14680: <-0.565675, -0.805587, -0.176188> + 14681: <-0.609892, -0.772589, -0.176461> + 14682: <-0.605748, -0.765608, -0.216596> + 14683: <-0.562257, -0.798110, -0.216534> + 14684: <-0.609892, -0.772589, -0.176461> + 14685: <-0.653502, -0.736025, -0.176644> + 14686: <-0.648606, -0.729636, -0.216660> + 14687: <-0.605748, -0.765608, -0.216596> + 14688: < 0.648606, -0.729636, -0.216660> + 14689: < 0.605748, -0.765608, -0.216596> + 14690: < 0.600829, -0.757361, -0.255750> + 14691: < 0.642833, -0.722093, -0.255632> + 14692: < 0.605748, -0.765608, -0.216596> + 14693: < 0.562257, -0.798110, -0.216534> + 14694: < 0.558172, -0.789266, -0.255937> + 14695: < 0.600829, -0.757361, -0.255750> + 14696: < 0.562257, -0.798110, -0.216534> + 14697: < 0.518435, -0.827263, -0.216475> + 14698: < 0.515110, -0.817925, -0.256243> + 14699: < 0.558172, -0.789266, -0.255937> + 14700: < 0.518435, -0.827263, -0.216475> + 14701: < 0.474515, -0.853230, -0.216413> + 14702: < 0.471888, -0.843490, -0.256606> + 14703: < 0.515110, -0.817925, -0.256243> + 14704: < 0.474515, -0.853230, -0.216413> + 14705: < 0.430657, -0.876208, -0.216320> + 14706: < 0.428698, -0.866124, -0.256999> + 14707: < 0.471888, -0.843490, -0.256606> + 14708: < 0.430657, -0.876208, -0.216320> + 14709: < 0.386985, -0.896382, -0.216199> + 14710: < 0.385664, -0.886018, -0.257364> + 14711: < 0.428698, -0.866124, -0.256999> + 14712: < 0.386985, -0.896382, -0.216199> + 14713: < 0.343582, -0.913949, -0.215982> + 14714: < 0.342825, -0.903377, -0.257646> + 14715: < 0.385664, -0.886018, -0.257364> + 14716: < 0.343582, -0.913949, -0.215982> + 14717: < 0.300461, -0.929096, -0.215649> + 14718: < 0.300219, -0.918390, -0.257736> + 14719: < 0.342825, -0.903377, -0.257646> + 14720: < 0.300461, -0.929096, -0.215649> + 14721: < 0.257519, -0.942000, -0.215220> + 14722: < 0.257702, -0.931225, -0.257702> + 14723: < 0.300219, -0.918390, -0.257736> + 14724: < 0.257519, -0.942000, -0.215220> + 14725: < 0.214732, -0.952775, -0.214732> + 14726: < 0.215220, -0.942000, -0.257519> + 14727: < 0.257702, -0.931225, -0.257702> + 14728: < 0.214732, -0.952775, -0.214732> + 14729: < 0.172005, -0.961530, -0.214182> + 14730: < 0.172679, -0.950800, -0.257217> + 14731: < 0.215220, -0.942000, -0.257519> + 14732: < 0.172005, -0.961530, -0.214182> + 14733: < 0.129250, -0.968319, -0.213666> + 14734: < 0.129981, -0.957663, -0.256880> + 14735: < 0.172679, -0.950800, -0.257217> + 14736: < 0.129250, -0.968319, -0.213666> + 14737: < 0.086398, -0.973180, -0.213204> + 14738: < 0.087041, -0.962605, -0.256544> + 14739: < 0.129981, -0.957663, -0.256880> + 14740: < 0.086398, -0.973180, -0.213204> + 14741: < 0.043306, -0.976120, -0.212870> + 14742: < 0.043703, -0.965618, -0.256267> + 14743: < 0.087041, -0.962605, -0.256544> + 14744: < 0.043306, -0.976120, -0.212870> + 14745: < 0.000000, -0.977107, -0.212750> + 14746: < 0.000000, -0.966630, -0.256177> + 14747: < 0.043703, -0.965618, -0.256267> + 14748: < 0.000000, -0.977107, -0.212750> + 14749: <-0.043306, -0.976120, -0.212870> + 14750: <-0.043703, -0.965618, -0.256267> + 14751: < 0.000000, -0.966630, -0.256177> + 14752: <-0.043306, -0.976120, -0.212870> + 14753: <-0.086398, -0.973180, -0.213204> + 14754: <-0.087041, -0.962605, -0.256544> + 14755: <-0.043703, -0.965618, -0.256267> + 14756: <-0.086398, -0.973180, -0.213204> + 14757: <-0.129250, -0.968319, -0.213666> + 14758: <-0.129981, -0.957663, -0.256880> + 14759: <-0.087041, -0.962605, -0.256544> + 14760: <-0.129250, -0.968319, -0.213666> + 14761: <-0.172005, -0.961530, -0.214182> + 14762: <-0.172679, -0.950800, -0.257217> + 14763: <-0.129981, -0.957663, -0.256880> + 14764: <-0.172005, -0.961530, -0.214182> + 14765: <-0.214732, -0.952775, -0.214732> + 14766: <-0.215220, -0.942000, -0.257519> + 14767: <-0.172679, -0.950800, -0.257217> + 14768: <-0.214732, -0.952775, -0.214732> + 14769: <-0.257519, -0.942000, -0.215220> + 14770: <-0.257702, -0.931225, -0.257702> + 14771: <-0.215220, -0.942000, -0.257519> + 14772: <-0.257519, -0.942000, -0.215220> + 14773: <-0.300461, -0.929096, -0.215649> + 14774: <-0.300219, -0.918390, -0.257736> + 14775: <-0.257702, -0.931225, -0.257702> + 14776: <-0.300461, -0.929096, -0.215649> + 14777: <-0.343582, -0.913949, -0.215982> + 14778: <-0.342852, -0.903367, -0.257643> + 14779: <-0.300219, -0.918390, -0.257736> + 14780: <-0.343582, -0.913949, -0.215982> + 14781: <-0.386985, -0.896382, -0.216199> + 14782: <-0.385664, -0.886018, -0.257364> + 14783: <-0.342852, -0.903367, -0.257643> + 14784: <-0.386985, -0.896382, -0.216199> + 14785: <-0.430657, -0.876208, -0.216320> + 14786: <-0.428698, -0.866124, -0.256999> + 14787: <-0.385664, -0.886018, -0.257364> + 14788: <-0.430657, -0.876208, -0.216320> + 14789: <-0.474515, -0.853230, -0.216413> + 14790: <-0.471888, -0.843490, -0.256606> + 14791: <-0.428698, -0.866124, -0.256999> + 14792: <-0.474515, -0.853230, -0.216413> + 14793: <-0.518435, -0.827263, -0.216475> + 14794: <-0.515110, -0.817925, -0.256243> + 14795: <-0.471888, -0.843490, -0.256606> + 14796: <-0.518435, -0.827263, -0.216475> + 14797: <-0.562257, -0.798110, -0.216534> + 14798: <-0.558172, -0.789266, -0.255937> + 14799: <-0.515110, -0.817925, -0.256243> + 14800: <-0.562257, -0.798110, -0.216534> + 14801: <-0.605748, -0.765608, -0.216596> + 14802: <-0.600829, -0.757361, -0.255750> + 14803: <-0.558172, -0.789266, -0.255937> + 14804: <-0.605748, -0.765608, -0.216596> + 14805: <-0.648606, -0.729636, -0.216660> + 14806: <-0.642833, -0.722093, -0.255632> + 14807: <-0.600829, -0.757361, -0.255750> + 14808: < 0.642833, -0.722093, -0.255632> + 14809: < 0.600829, -0.757361, -0.255750> + 14810: < 0.595158, -0.747816, -0.294207> + 14811: < 0.636150, -0.713396, -0.293904> + 14812: < 0.600829, -0.757361, -0.255750> + 14813: < 0.558172, -0.789266, -0.255937> + 14814: < 0.553415, -0.779017, -0.294729> + 14815: < 0.595158, -0.747816, -0.294207> + 14816: < 0.558172, -0.789266, -0.255937> + 14817: < 0.515110, -0.817925, -0.256243> + 14818: < 0.511198, -0.807082, -0.295457> + 14819: < 0.553415, -0.779017, -0.294729> + 14820: < 0.515110, -0.817925, -0.256243> + 14821: < 0.471888, -0.843490, -0.256606> + 14822: < 0.468770, -0.832128, -0.296339> + 14823: < 0.511198, -0.807082, -0.295457> + 14824: < 0.471888, -0.843490, -0.256606> + 14825: < 0.428698, -0.866124, -0.256999> + 14826: < 0.426323, -0.854324, -0.297287> + 14827: < 0.468770, -0.832128, -0.296339> + 14828: < 0.428698, -0.866124, -0.256999> + 14829: < 0.385664, -0.886018, -0.257364> + 14830: < 0.383986, -0.873840, -0.298259> + 14831: < 0.426323, -0.854324, -0.297287> + 14832: < 0.385664, -0.886018, -0.257364> + 14833: < 0.342825, -0.903377, -0.257646> + 14834: < 0.341811, -0.890906, -0.299085> + 14835: < 0.383986, -0.873840, -0.298259> + 14836: < 0.342825, -0.903377, -0.257646> + 14837: < 0.300219, -0.918390, -0.257736> + 14838: < 0.299762, -0.905696, -0.299762> + 14839: < 0.341811, -0.890906, -0.299085> + 14840: < 0.300219, -0.918390, -0.257736> + 14841: < 0.257702, -0.931225, -0.257702> + 14842: < 0.257736, -0.918390, -0.300219> + 14843: < 0.299762, -0.905696, -0.299762> + 14844: < 0.257702, -0.931225, -0.257702> + 14845: < 0.215220, -0.942000, -0.257519> + 14846: < 0.215649, -0.929096, -0.300461> + 14847: < 0.257736, -0.918390, -0.300219> + 14848: < 0.215220, -0.942000, -0.257519> + 14849: < 0.172679, -0.950800, -0.257217> + 14850: < 0.173351, -0.937897, -0.300496> + 14851: < 0.215649, -0.929096, -0.300461> + 14852: < 0.172679, -0.950800, -0.257217> + 14853: < 0.129981, -0.957663, -0.256880> + 14854: < 0.130743, -0.944802, -0.300427> + 14855: < 0.173351, -0.937897, -0.300496> + 14856: < 0.129981, -0.957663, -0.256880> + 14857: < 0.087041, -0.962605, -0.256544> + 14858: < 0.087712, -0.949820, -0.300248> + 14859: < 0.130743, -0.944802, -0.300427> + 14860: < 0.087041, -0.962605, -0.256544> + 14861: < 0.043703, -0.965618, -0.256267> + 14862: < 0.044130, -0.952889, -0.300092> + 14863: < 0.087712, -0.949820, -0.300248> + 14864: < 0.043703, -0.965618, -0.256267> + 14865: < 0.000000, -0.966630, -0.256177> + 14866: < 0.000000, -0.953921, -0.300059> + 14867: < 0.044130, -0.952889, -0.300092> + 14868: < 0.000000, -0.966630, -0.256177> + 14869: <-0.043703, -0.965618, -0.256267> + 14870: <-0.044130, -0.952889, -0.300092> + 14871: < 0.000000, -0.953921, -0.300059> + 14872: <-0.043703, -0.965618, -0.256267> + 14873: <-0.087041, -0.962605, -0.256544> + 14874: <-0.087712, -0.949820, -0.300248> + 14875: <-0.044130, -0.952889, -0.300092> + 14876: <-0.087041, -0.962605, -0.256544> + 14877: <-0.129981, -0.957663, -0.256880> + 14878: <-0.130743, -0.944802, -0.300427> + 14879: <-0.087712, -0.949820, -0.300248> + 14880: <-0.129981, -0.957663, -0.256880> + 14881: <-0.172679, -0.950800, -0.257217> + 14882: <-0.173351, -0.937897, -0.300496> + 14883: <-0.130743, -0.944802, -0.300427> + 14884: <-0.172679, -0.950800, -0.257217> + 14885: <-0.215220, -0.942000, -0.257519> + 14886: <-0.215649, -0.929096, -0.300461> + 14887: <-0.173351, -0.937897, -0.300496> + 14888: <-0.215220, -0.942000, -0.257519> + 14889: <-0.257702, -0.931225, -0.257702> + 14890: <-0.257736, -0.918390, -0.300219> + 14891: <-0.215649, -0.929096, -0.300461> + 14892: <-0.257702, -0.931225, -0.257702> + 14893: <-0.300219, -0.918390, -0.257736> + 14894: <-0.299762, -0.905696, -0.299762> + 14895: <-0.257736, -0.918390, -0.300219> + 14896: <-0.300219, -0.918390, -0.257736> + 14897: <-0.342852, -0.903367, -0.257643> + 14898: <-0.341811, -0.890906, -0.299085> + 14899: <-0.299762, -0.905696, -0.299762> + 14900: <-0.342852, -0.903367, -0.257643> + 14901: <-0.385664, -0.886018, -0.257364> + 14902: <-0.383960, -0.873851, -0.298262> + 14903: <-0.341811, -0.890906, -0.299085> + 14904: <-0.385664, -0.886018, -0.257364> + 14905: <-0.428698, -0.866124, -0.256999> + 14906: <-0.426323, -0.854324, -0.297287> + 14907: <-0.383960, -0.873851, -0.298262> + 14908: <-0.428698, -0.866124, -0.256999> + 14909: <-0.471888, -0.843490, -0.256606> + 14910: <-0.468770, -0.832128, -0.296339> + 14911: <-0.426323, -0.854324, -0.297287> + 14912: <-0.471888, -0.843490, -0.256606> + 14913: <-0.515110, -0.817925, -0.256243> + 14914: <-0.511198, -0.807082, -0.295457> + 14915: <-0.468770, -0.832128, -0.296339> + 14916: <-0.515110, -0.817925, -0.256243> + 14917: <-0.558172, -0.789266, -0.255937> + 14918: <-0.553415, -0.779017, -0.294729> + 14919: <-0.511198, -0.807082, -0.295457> + 14920: <-0.558172, -0.789266, -0.255937> + 14921: <-0.600829, -0.757361, -0.255750> + 14922: <-0.595158, -0.747816, -0.294207> + 14923: <-0.553415, -0.779017, -0.294729> + 14924: <-0.600829, -0.757361, -0.255750> + 14925: <-0.642833, -0.722093, -0.255632> + 14926: <-0.636150, -0.713396, -0.293904> + 14927: <-0.595158, -0.747816, -0.294207> + 14928: < 0.636150, -0.713396, -0.293904> + 14929: < 0.595158, -0.747816, -0.294207> + 14930: < 0.588744, -0.736915, -0.332170> + 14931: < 0.628603, -0.703467, -0.331652> + 14932: < 0.595158, -0.747816, -0.294207> + 14933: < 0.553415, -0.779017, -0.294729> + 14934: < 0.548009, -0.767292, -0.333090> + 14935: < 0.588744, -0.736915, -0.332170> + 14936: < 0.553415, -0.779017, -0.294729> + 14937: < 0.511198, -0.807082, -0.295457> + 14938: < 0.506740, -0.794627, -0.334337> + 14939: < 0.548009, -0.767292, -0.333090> + 14940: < 0.511198, -0.807082, -0.295457> + 14941: < 0.468770, -0.832128, -0.296339> + 14942: < 0.465202, -0.819039, -0.335801> + 14943: < 0.506740, -0.794627, -0.334337> + 14944: < 0.468770, -0.832128, -0.296339> + 14945: < 0.426323, -0.854324, -0.297287> + 14946: < 0.423577, -0.840684, -0.337391> + 14947: < 0.465202, -0.819039, -0.335801> + 14948: < 0.426323, -0.854324, -0.297287> + 14949: < 0.383986, -0.873840, -0.298259> + 14950: < 0.381976, -0.859750, -0.339005> + 14951: < 0.423577, -0.840684, -0.337391> + 14952: < 0.383986, -0.873840, -0.298259> + 14953: < 0.341811, -0.890906, -0.299085> + 14954: < 0.340503, -0.876422, -0.340503> + 14955: < 0.381976, -0.859750, -0.339005> + 14956: < 0.341811, -0.890906, -0.299085> + 14957: < 0.299762, -0.905696, -0.299762> + 14958: < 0.299085, -0.890906, -0.341811> + 14959: < 0.340503, -0.876422, -0.340503> + 14960: < 0.299762, -0.905696, -0.299762> + 14961: < 0.257736, -0.918390, -0.300219> + 14962: < 0.257643, -0.903367, -0.342852> + 14963: < 0.299085, -0.890906, -0.341811> + 14964: < 0.257736, -0.918390, -0.300219> + 14965: < 0.215649, -0.929096, -0.300461> + 14966: < 0.215982, -0.913949, -0.343582> + 14967: < 0.257643, -0.903367, -0.342852> + 14968: < 0.215649, -0.929096, -0.300461> + 14969: < 0.173351, -0.937897, -0.300496> + 14970: < 0.173989, -0.922682, -0.344072> + 14971: < 0.215982, -0.913949, -0.343582> + 14972: < 0.173351, -0.937897, -0.300496> + 14973: < 0.130743, -0.944802, -0.300427> + 14974: < 0.131509, -0.929596, -0.344322> + 14975: < 0.173989, -0.922682, -0.344072> + 14976: < 0.130743, -0.944802, -0.300427> + 14977: < 0.087712, -0.949820, -0.300248> + 14978: < 0.088414, -0.934648, -0.344408> + 14979: < 0.131509, -0.929596, -0.344322> + 14980: < 0.087712, -0.949820, -0.300248> + 14981: < 0.044130, -0.952889, -0.300092> + 14982: < 0.044558, -0.937762, -0.344409> + 14983: < 0.088414, -0.934648, -0.344408> + 14984: < 0.044130, -0.952889, -0.300092> + 14985: < 0.000000, -0.953921, -0.300059> + 14986: < 0.000000, -0.938821, -0.344405> + 14987: < 0.044558, -0.937762, -0.344409> + 14988: < 0.000000, -0.953921, -0.300059> + 14989: <-0.044130, -0.952889, -0.300092> + 14990: <-0.044558, -0.937762, -0.344409> + 14991: < 0.000000, -0.938821, -0.344405> + 14992: <-0.044130, -0.952889, -0.300092> + 14993: <-0.087712, -0.949820, -0.300248> + 14994: <-0.088414, -0.934648, -0.344408> + 14995: <-0.044558, -0.937762, -0.344409> + 14996: <-0.087712, -0.949820, -0.300248> + 14997: <-0.130743, -0.944802, -0.300427> + 14998: <-0.131509, -0.929596, -0.344322> + 14999: <-0.088414, -0.934648, -0.344408> + 15000: <-0.130743, -0.944802, -0.300427> + 15001: <-0.173351, -0.937897, -0.300496> + 15002: <-0.173989, -0.922682, -0.344072> + 15003: <-0.131509, -0.929596, -0.344322> + 15004: <-0.173351, -0.937897, -0.300496> + 15005: <-0.215649, -0.929096, -0.300461> + 15006: <-0.215982, -0.913949, -0.343582> + 15007: <-0.173989, -0.922682, -0.344072> + 15008: <-0.215649, -0.929096, -0.300461> + 15009: <-0.257736, -0.918390, -0.300219> + 15010: <-0.257643, -0.903367, -0.342852> + 15011: <-0.215982, -0.913949, -0.343582> + 15012: <-0.257736, -0.918390, -0.300219> + 15013: <-0.299762, -0.905696, -0.299762> + 15014: <-0.299085, -0.890906, -0.341811> + 15015: <-0.257643, -0.903367, -0.342852> + 15016: <-0.299762, -0.905696, -0.299762> + 15017: <-0.341811, -0.890906, -0.299085> + 15018: <-0.340503, -0.876422, -0.340503> + 15019: <-0.299085, -0.890906, -0.341811> + 15020: <-0.341811, -0.890906, -0.299085> + 15021: <-0.383960, -0.873851, -0.298262> + 15022: <-0.381976, -0.859750, -0.339005> + 15023: <-0.340503, -0.876422, -0.340503> + 15024: <-0.383960, -0.873851, -0.298262> + 15025: <-0.426323, -0.854324, -0.297287> + 15026: <-0.423577, -0.840684, -0.337391> + 15027: <-0.381976, -0.859750, -0.339005> + 15028: <-0.426323, -0.854324, -0.297287> + 15029: <-0.468770, -0.832128, -0.296339> + 15030: <-0.465202, -0.819039, -0.335801> + 15031: <-0.423577, -0.840684, -0.337391> + 15032: <-0.468770, -0.832128, -0.296339> + 15033: <-0.511198, -0.807082, -0.295457> + 15034: <-0.506745, -0.794636, -0.334310> + 15035: <-0.465202, -0.819039, -0.335801> + 15036: <-0.511198, -0.807082, -0.295457> + 15037: <-0.553415, -0.779017, -0.294729> + 15038: <-0.548009, -0.767292, -0.333090> + 15039: <-0.506745, -0.794636, -0.334310> + 15040: <-0.553415, -0.779017, -0.294729> + 15041: <-0.595158, -0.747816, -0.294207> + 15042: <-0.588744, -0.736915, -0.332170> + 15043: <-0.548009, -0.767292, -0.333090> + 15044: <-0.595158, -0.747816, -0.294207> + 15045: <-0.636150, -0.713396, -0.293904> + 15046: <-0.628603, -0.703467, -0.331652> + 15047: <-0.588744, -0.736915, -0.332170> + 15048: < 0.628603, -0.703467, -0.331652> + 15049: < 0.588744, -0.736915, -0.332170> + 15050: < 0.581661, -0.724825, -0.369188> + 15051: < 0.620305, -0.692544, -0.368246> + 15052: < 0.588744, -0.736915, -0.332170> + 15053: < 0.548009, -0.767292, -0.333090> + 15054: < 0.542028, -0.754169, -0.370721> + 15055: < 0.581661, -0.724825, -0.369188> + 15056: < 0.548009, -0.767292, -0.333090> + 15057: < 0.506740, -0.794627, -0.334337> + 15058: < 0.501802, -0.780568, -0.372705> + 15059: < 0.542028, -0.754169, -0.370721> + 15060: < 0.506740, -0.794627, -0.334337> + 15061: < 0.465202, -0.819039, -0.335801> + 15062: < 0.461239, -0.804154, -0.374961> + 15063: < 0.501802, -0.780568, -0.372705> + 15064: < 0.465202, -0.819039, -0.335801> + 15065: < 0.423577, -0.840684, -0.337391> + 15066: < 0.420500, -0.825100, -0.377345> + 15067: < 0.461239, -0.804154, -0.374961> + 15068: < 0.423577, -0.840684, -0.337391> + 15069: < 0.381976, -0.859750, -0.339005> + 15070: < 0.379751, -0.843551, -0.379751> + 15071: < 0.420500, -0.825100, -0.377345> + 15072: < 0.381976, -0.859750, -0.339005> + 15073: < 0.340503, -0.876422, -0.340503> + 15074: < 0.339005, -0.859750, -0.381976> + 15075: < 0.379751, -0.843551, -0.379751> + 15076: < 0.340503, -0.876422, -0.340503> + 15077: < 0.299085, -0.890906, -0.341811> + 15078: < 0.298262, -0.873851, -0.383960> + 15079: < 0.339005, -0.859750, -0.381976> + 15080: < 0.299085, -0.890906, -0.341811> + 15081: < 0.257643, -0.903367, -0.342852> + 15082: < 0.257367, -0.886028, -0.385638> + 15083: < 0.298262, -0.873851, -0.383960> + 15084: < 0.257643, -0.903367, -0.342852> + 15085: < 0.215982, -0.913949, -0.343582> + 15086: < 0.216199, -0.896382, -0.386985> + 15087: < 0.257367, -0.886028, -0.385638> + 15088: < 0.215982, -0.913949, -0.343582> + 15089: < 0.173989, -0.922682, -0.344072> + 15090: < 0.174541, -0.904997, -0.387965> + 15091: < 0.216199, -0.896382, -0.386985> + 15092: < 0.173989, -0.922682, -0.344072> + 15093: < 0.131509, -0.929596, -0.344322> + 15094: < 0.132240, -0.911854, -0.388632> + 15095: < 0.174541, -0.904997, -0.387965> + 15096: < 0.131509, -0.929596, -0.344322> + 15097: < 0.088414, -0.934648, -0.344408> + 15098: < 0.089116, -0.916918, -0.388998> + 15099: < 0.132240, -0.911854, -0.388632> + 15100: < 0.088414, -0.934648, -0.344408> + 15101: < 0.044558, -0.937762, -0.344409> + 15102: < 0.045016, -0.920061, -0.389180> + 15103: < 0.089116, -0.916918, -0.388998> + 15104: < 0.044558, -0.937762, -0.344409> + 15105: < 0.000000, -0.938821, -0.344405> + 15106: < 0.000000, -0.921135, -0.389244> + 15107: < 0.045016, -0.920061, -0.389180> + 15108: < 0.000000, -0.938821, -0.344405> + 15109: <-0.044558, -0.937762, -0.344409> + 15110: <-0.045016, -0.920061, -0.389180> + 15111: < 0.000000, -0.921135, -0.389244> + 15112: <-0.044558, -0.937762, -0.344409> + 15113: <-0.088414, -0.934648, -0.344408> + 15114: <-0.089116, -0.916918, -0.388998> + 15115: <-0.045016, -0.920061, -0.389180> + 15116: <-0.088414, -0.934648, -0.344408> + 15117: <-0.131509, -0.929596, -0.344322> + 15118: <-0.132240, -0.911854, -0.388632> + 15119: <-0.089116, -0.916918, -0.388998> + 15120: <-0.131509, -0.929596, -0.344322> + 15121: <-0.173989, -0.922682, -0.344072> + 15122: <-0.174541, -0.904997, -0.387965> + 15123: <-0.132240, -0.911854, -0.388632> + 15124: <-0.173989, -0.922682, -0.344072> + 15125: <-0.215982, -0.913949, -0.343582> + 15126: <-0.216199, -0.896382, -0.386985> + 15127: <-0.174541, -0.904997, -0.387965> + 15128: <-0.215982, -0.913949, -0.343582> + 15129: <-0.257643, -0.903367, -0.342852> + 15130: <-0.257364, -0.886018, -0.385664> + 15131: <-0.216199, -0.896382, -0.386985> + 15132: <-0.257643, -0.903367, -0.342852> + 15133: <-0.299085, -0.890906, -0.341811> + 15134: <-0.298262, -0.873851, -0.383960> + 15135: <-0.257364, -0.886018, -0.385664> + 15136: <-0.299085, -0.890906, -0.341811> + 15137: <-0.340503, -0.876422, -0.340503> + 15138: <-0.339005, -0.859750, -0.381976> + 15139: <-0.298262, -0.873851, -0.383960> + 15140: <-0.340503, -0.876422, -0.340503> + 15141: <-0.381976, -0.859750, -0.339005> + 15142: <-0.379751, -0.843551, -0.379751> + 15143: <-0.339005, -0.859750, -0.381976> + 15144: <-0.381976, -0.859750, -0.339005> + 15145: <-0.423577, -0.840684, -0.337391> + 15146: <-0.420500, -0.825100, -0.377345> + 15147: <-0.379751, -0.843551, -0.379751> + 15148: <-0.423577, -0.840684, -0.337391> + 15149: <-0.465202, -0.819039, -0.335801> + 15150: <-0.461239, -0.804154, -0.374961> + 15151: <-0.420500, -0.825100, -0.377345> + 15152: <-0.465202, -0.819039, -0.335801> + 15153: <-0.506745, -0.794636, -0.334310> + 15154: <-0.501802, -0.780568, -0.372705> + 15155: <-0.461239, -0.804154, -0.374961> + 15156: <-0.506745, -0.794636, -0.334310> + 15157: <-0.548009, -0.767292, -0.333090> + 15158: <-0.542028, -0.754169, -0.370721> + 15159: <-0.501802, -0.780568, -0.372705> + 15160: <-0.548009, -0.767292, -0.333090> + 15161: <-0.588744, -0.736915, -0.332170> + 15162: <-0.581661, -0.724825, -0.369188> + 15163: <-0.542028, -0.754169, -0.370721> + 15164: <-0.588744, -0.736915, -0.332170> + 15165: <-0.628603, -0.703467, -0.331652> + 15166: <-0.620305, -0.692544, -0.368246> + 15167: <-0.581661, -0.724825, -0.369188> + 15168: < 0.620305, -0.692544, -0.368246> + 15169: < 0.581661, -0.724825, -0.369188> + 15170: < 0.574008, -0.711772, -0.404839> + 15171: < 0.611427, -0.680859, -0.403223> + 15172: < 0.581661, -0.724825, -0.369188> + 15173: < 0.542028, -0.754169, -0.370721> + 15174: < 0.535518, -0.739812, -0.407307> + 15175: < 0.574008, -0.711772, -0.404839> + 15176: < 0.542028, -0.754169, -0.370721> + 15177: < 0.501802, -0.780568, -0.372705> + 15178: < 0.496372, -0.764976, -0.410398> + 15179: < 0.535518, -0.739812, -0.407307> + 15180: < 0.501802, -0.780568, -0.372705> + 15181: < 0.461239, -0.804154, -0.374961> + 15182: < 0.456900, -0.787421, -0.413777> + 15183: < 0.496372, -0.764976, -0.410398> + 15184: < 0.461239, -0.804154, -0.374961> + 15185: < 0.420500, -0.825100, -0.377345> + 15186: < 0.417202, -0.807394, -0.417202> + 15187: < 0.456900, -0.787421, -0.413777> + 15188: < 0.420500, -0.825100, -0.377345> + 15189: < 0.379751, -0.843551, -0.379751> + 15190: < 0.377345, -0.825100, -0.420500> + 15191: < 0.417202, -0.807394, -0.417202> + 15192: < 0.379751, -0.843551, -0.379751> + 15193: < 0.339005, -0.859750, -0.381976> + 15194: < 0.337391, -0.840684, -0.423577> + 15195: < 0.377345, -0.825100, -0.420500> + 15196: < 0.339005, -0.859750, -0.381976> + 15197: < 0.298262, -0.873851, -0.383960> + 15198: < 0.297287, -0.854324, -0.426323> + 15199: < 0.337391, -0.840684, -0.423577> + 15200: < 0.298262, -0.873851, -0.383960> + 15201: < 0.257367, -0.886028, -0.385638> + 15202: < 0.256999, -0.866124, -0.428698> + 15203: < 0.297287, -0.854324, -0.426323> + 15204: < 0.257367, -0.886028, -0.385638> + 15205: < 0.216199, -0.896382, -0.386985> + 15206: < 0.216320, -0.876208, -0.430657> + 15207: < 0.256999, -0.866124, -0.428698> + 15208: < 0.216199, -0.896382, -0.386985> + 15209: < 0.174541, -0.904997, -0.387965> + 15210: < 0.175026, -0.884654, -0.432149> + 15211: < 0.216320, -0.876208, -0.430657> + 15212: < 0.174541, -0.904997, -0.387965> + 15213: < 0.132240, -0.911854, -0.388632> + 15214: < 0.132911, -0.891405, -0.433281> + 15215: < 0.175026, -0.884654, -0.432149> + 15216: < 0.132240, -0.911854, -0.388632> + 15217: < 0.089116, -0.916918, -0.388998> + 15218: < 0.089787, -0.896437, -0.433981> + 15219: < 0.132911, -0.891405, -0.433281> + 15220: < 0.089116, -0.916918, -0.388998> + 15221: < 0.045016, -0.920061, -0.389180> + 15222: < 0.045443, -0.899583, -0.434379> + 15223: < 0.089787, -0.896437, -0.433981> + 15224: < 0.045016, -0.920061, -0.389180> + 15225: < 0.000000, -0.921135, -0.389244> + 15226: < 0.000000, -0.900655, -0.434534> + 15227: < 0.045443, -0.899583, -0.434379> + 15228: < 0.000000, -0.921135, -0.389244> + 15229: <-0.045016, -0.920061, -0.389180> + 15230: <-0.045443, -0.899583, -0.434379> + 15231: < 0.000000, -0.900655, -0.434534> + 15232: <-0.045016, -0.920061, -0.389180> + 15233: <-0.089116, -0.916918, -0.388998> + 15234: <-0.089787, -0.896437, -0.433981> + 15235: <-0.045443, -0.899583, -0.434379> + 15236: <-0.089116, -0.916918, -0.388998> + 15237: <-0.132240, -0.911854, -0.388632> + 15238: <-0.132911, -0.891405, -0.433281> + 15239: <-0.089787, -0.896437, -0.433981> + 15240: <-0.132240, -0.911854, -0.388632> + 15241: <-0.174541, -0.904997, -0.387965> + 15242: <-0.175026, -0.884654, -0.432149> + 15243: <-0.132911, -0.891405, -0.433281> + 15244: <-0.174541, -0.904997, -0.387965> + 15245: <-0.216199, -0.896382, -0.386985> + 15246: <-0.216320, -0.876208, -0.430657> + 15247: <-0.175026, -0.884654, -0.432149> + 15248: <-0.216199, -0.896382, -0.386985> + 15249: <-0.257364, -0.886018, -0.385664> + 15250: <-0.256999, -0.866124, -0.428698> + 15251: <-0.216320, -0.876208, -0.430657> + 15252: <-0.257364, -0.886018, -0.385664> + 15253: <-0.298262, -0.873851, -0.383960> + 15254: <-0.297287, -0.854324, -0.426323> + 15255: <-0.256999, -0.866124, -0.428698> + 15256: <-0.298262, -0.873851, -0.383960> + 15257: <-0.339005, -0.859750, -0.381976> + 15258: <-0.337391, -0.840684, -0.423577> + 15259: <-0.297287, -0.854324, -0.426323> + 15260: <-0.339005, -0.859750, -0.381976> + 15261: <-0.379751, -0.843551, -0.379751> + 15262: <-0.377345, -0.825100, -0.420500> + 15263: <-0.337391, -0.840684, -0.423577> + 15264: <-0.379751, -0.843551, -0.379751> + 15265: <-0.420500, -0.825100, -0.377345> + 15266: <-0.417202, -0.807394, -0.417202> + 15267: <-0.377345, -0.825100, -0.420500> + 15268: <-0.420500, -0.825100, -0.377345> + 15269: <-0.461239, -0.804154, -0.374961> + 15270: <-0.456900, -0.787421, -0.413777> + 15271: <-0.417202, -0.807394, -0.417202> + 15272: <-0.461239, -0.804154, -0.374961> + 15273: <-0.501802, -0.780568, -0.372705> + 15274: <-0.496395, -0.764964, -0.410392> + 15275: <-0.456900, -0.787421, -0.413777> + 15276: <-0.501802, -0.780568, -0.372705> + 15277: <-0.542028, -0.754169, -0.370721> + 15278: <-0.535518, -0.739812, -0.407307> + 15279: <-0.496395, -0.764964, -0.410392> + 15280: <-0.542028, -0.754169, -0.370721> + 15281: <-0.581661, -0.724825, -0.369188> + 15282: <-0.574008, -0.711772, -0.404839> + 15283: <-0.535518, -0.739812, -0.407307> + 15284: <-0.581661, -0.724825, -0.369188> + 15285: <-0.620305, -0.692544, -0.368246> + 15286: <-0.611427, -0.680859, -0.403223> + 15287: <-0.574008, -0.711772, -0.404839> + 15288: < 0.611427, -0.680859, -0.403223> + 15289: < 0.574008, -0.711772, -0.404839> + 15290: < 0.565794, -0.697667, -0.439475> + 15291: < 0.601963, -0.668312, -0.437036> + 15292: < 0.574008, -0.711772, -0.404839> + 15293: < 0.535518, -0.739812, -0.407307> + 15294: < 0.528478, -0.724109, -0.443145> + 15295: < 0.565794, -0.697667, -0.439475> + 15296: < 0.535518, -0.739812, -0.407307> + 15297: < 0.496372, -0.764976, -0.410398> + 15298: < 0.490534, -0.747688, -0.447593> + 15299: < 0.528478, -0.724109, -0.443145> + 15300: < 0.496372, -0.764976, -0.410398> + 15301: < 0.456900, -0.787421, -0.413777> + 15302: < 0.452290, -0.768679, -0.452290> + 15303: < 0.490534, -0.747688, -0.447593> + 15304: < 0.456900, -0.787421, -0.413777> + 15305: < 0.417202, -0.807394, -0.417202> + 15306: < 0.413777, -0.787421, -0.456900> + 15307: < 0.452290, -0.768679, -0.452290> + 15308: < 0.417202, -0.807394, -0.417202> + 15309: < 0.377345, -0.825100, -0.420500> + 15310: < 0.374961, -0.804154, -0.461239> + 15311: < 0.413777, -0.787421, -0.456900> + 15312: < 0.377345, -0.825100, -0.420500> + 15313: < 0.337391, -0.840684, -0.423577> + 15314: < 0.335801, -0.819039, -0.465202> + 15315: < 0.374961, -0.804154, -0.461239> + 15316: < 0.337391, -0.840684, -0.423577> + 15317: < 0.297287, -0.854324, -0.426323> + 15318: < 0.296339, -0.832128, -0.468770> + 15319: < 0.335801, -0.819039, -0.465202> + 15320: < 0.297287, -0.854324, -0.426323> + 15321: < 0.256999, -0.866124, -0.428698> + 15322: < 0.256606, -0.843490, -0.471888> + 15323: < 0.296339, -0.832128, -0.468770> + 15324: < 0.256999, -0.866124, -0.428698> + 15325: < 0.216320, -0.876208, -0.430657> + 15326: < 0.216413, -0.853230, -0.474515> + 15327: < 0.256606, -0.843490, -0.471888> + 15328: < 0.216320, -0.876208, -0.430657> + 15329: < 0.175026, -0.884654, -0.432149> + 15330: < 0.175453, -0.861426, -0.476614> + 15331: < 0.216413, -0.853230, -0.474515> + 15332: < 0.175026, -0.884654, -0.432149> + 15333: < 0.132911, -0.891405, -0.433281> + 15334: < 0.133553, -0.868033, -0.478208> + 15335: < 0.175453, -0.861426, -0.476614> + 15336: < 0.132911, -0.891405, -0.433281> + 15337: < 0.089787, -0.896437, -0.433981> + 15338: < 0.090429, -0.872976, -0.479307> + 15339: < 0.133553, -0.868033, -0.478208> + 15340: < 0.089787, -0.896437, -0.433981> + 15341: < 0.045443, -0.899583, -0.434379> + 15342: < 0.045871, -0.876095, -0.479951> + 15343: < 0.090429, -0.872976, -0.479307> + 15344: < 0.045443, -0.899583, -0.434379> + 15345: < 0.000000, -0.900655, -0.434534> + 15346: < 0.000000, -0.877182, -0.480158> + 15347: < 0.045871, -0.876095, -0.479951> + 15348: < 0.000000, -0.900655, -0.434534> + 15349: <-0.045443, -0.899583, -0.434379> + 15350: <-0.045871, -0.876095, -0.479951> + 15351: < 0.000000, -0.877182, -0.480158> + 15352: <-0.045443, -0.899583, -0.434379> + 15353: <-0.089787, -0.896437, -0.433981> + 15354: <-0.090429, -0.872976, -0.479307> + 15355: <-0.045871, -0.876095, -0.479951> + 15356: <-0.089787, -0.896437, -0.433981> + 15357: <-0.132911, -0.891405, -0.433281> + 15358: <-0.133553, -0.868033, -0.478208> + 15359: <-0.090429, -0.872976, -0.479307> + 15360: <-0.132911, -0.891405, -0.433281> + 15361: <-0.175026, -0.884654, -0.432149> + 15362: <-0.175453, -0.861426, -0.476614> + 15363: <-0.133553, -0.868033, -0.478208> + 15364: <-0.175026, -0.884654, -0.432149> + 15365: <-0.216320, -0.876208, -0.430657> + 15366: <-0.216413, -0.853230, -0.474515> + 15367: <-0.175453, -0.861426, -0.476614> + 15368: <-0.216320, -0.876208, -0.430657> + 15369: <-0.256999, -0.866124, -0.428698> + 15370: <-0.256606, -0.843490, -0.471888> + 15371: <-0.216413, -0.853230, -0.474515> + 15372: <-0.256999, -0.866124, -0.428698> + 15373: <-0.297287, -0.854324, -0.426323> + 15374: <-0.296339, -0.832128, -0.468770> + 15375: <-0.256606, -0.843490, -0.471888> + 15376: <-0.297287, -0.854324, -0.426323> + 15377: <-0.337391, -0.840684, -0.423577> + 15378: <-0.335801, -0.819039, -0.465202> + 15379: <-0.296339, -0.832128, -0.468770> + 15380: <-0.337391, -0.840684, -0.423577> + 15381: <-0.377345, -0.825100, -0.420500> + 15382: <-0.374961, -0.804154, -0.461239> + 15383: <-0.335801, -0.819039, -0.465202> + 15384: <-0.377345, -0.825100, -0.420500> + 15385: <-0.417202, -0.807394, -0.417202> + 15386: <-0.413777, -0.787421, -0.456900> + 15387: <-0.374961, -0.804154, -0.461239> + 15388: <-0.417202, -0.807394, -0.417202> + 15389: <-0.456900, -0.787421, -0.413777> + 15390: <-0.452290, -0.768679, -0.452290> + 15391: <-0.413777, -0.787421, -0.456900> + 15392: <-0.456900, -0.787421, -0.413777> + 15393: <-0.496395, -0.764964, -0.410392> + 15394: <-0.490534, -0.747688, -0.447593> + 15395: <-0.452290, -0.768679, -0.452290> + 15396: <-0.496395, -0.764964, -0.410392> + 15397: <-0.535518, -0.739812, -0.407307> + 15398: <-0.528478, -0.724109, -0.443145> + 15399: <-0.490534, -0.747688, -0.447593> + 15400: <-0.535518, -0.739812, -0.407307> + 15401: <-0.574008, -0.711772, -0.404839> + 15402: <-0.565794, -0.697667, -0.439475> + 15403: <-0.528478, -0.724109, -0.443145> + 15404: <-0.574008, -0.711772, -0.404839> + 15405: <-0.611427, -0.680859, -0.403223> + 15406: <-0.601963, -0.668312, -0.437036> + 15407: <-0.565794, -0.697667, -0.439475> + 15408: < 0.601963, -0.668312, -0.437036> + 15409: < 0.565794, -0.697667, -0.439475> + 15410: < 0.557037, -0.682532, -0.473139> + 15411: < 0.591920, -0.655217, -0.469385> + 15412: < 0.565794, -0.697667, -0.439475> + 15413: < 0.528478, -0.724109, -0.443145> + 15414: < 0.520969, -0.706895, -0.478425> + 15415: < 0.557037, -0.682532, -0.473139> + 15416: < 0.528478, -0.724109, -0.443145> + 15417: < 0.490534, -0.747688, -0.447593> + 15418: < 0.484430, -0.728461, -0.484430> + 15419: < 0.520969, -0.706895, -0.478425> + 15420: < 0.490534, -0.747688, -0.447593> + 15421: < 0.452290, -0.768679, -0.452290> + 15422: < 0.447593, -0.747688, -0.490534> + 15423: < 0.484430, -0.728461, -0.484430> + 15424: < 0.452290, -0.768679, -0.452290> + 15425: < 0.413777, -0.787421, -0.456900> + 15426: < 0.410398, -0.764976, -0.496372> + 15427: < 0.447593, -0.747688, -0.490534> + 15428: < 0.413777, -0.787421, -0.456900> + 15429: < 0.374961, -0.804154, -0.461239> + 15430: < 0.372705, -0.780568, -0.501802> + 15431: < 0.410398, -0.764976, -0.496372> + 15432: < 0.374961, -0.804154, -0.461239> + 15433: < 0.335801, -0.819039, -0.465202> + 15434: < 0.334310, -0.794636, -0.506745> + 15435: < 0.372705, -0.780568, -0.501802> + 15436: < 0.335801, -0.819039, -0.465202> + 15437: < 0.296339, -0.832128, -0.468770> + 15438: < 0.295457, -0.807082, -0.511198> + 15439: < 0.334310, -0.794636, -0.506745> + 15440: < 0.296339, -0.832128, -0.468770> + 15441: < 0.256606, -0.843490, -0.471888> + 15442: < 0.256243, -0.817925, -0.515110> + 15443: < 0.295457, -0.807082, -0.511198> + 15444: < 0.256606, -0.843490, -0.471888> + 15445: < 0.216413, -0.853230, -0.474515> + 15446: < 0.216475, -0.827263, -0.518435> + 15447: < 0.256243, -0.817925, -0.515110> + 15448: < 0.216413, -0.853230, -0.474515> + 15449: < 0.175453, -0.861426, -0.476614> + 15450: < 0.175853, -0.835133, -0.521180> + 15451: < 0.216475, -0.827263, -0.518435> + 15452: < 0.175453, -0.861426, -0.476614> + 15453: < 0.133553, -0.868033, -0.478208> + 15454: < 0.134100, -0.841527, -0.523307> + 15455: < 0.175853, -0.835133, -0.521180> + 15456: < 0.133553, -0.868033, -0.478208> + 15457: < 0.090429, -0.872976, -0.479307> + 15458: < 0.091008, -0.846324, -0.524836> + 15459: < 0.134100, -0.841527, -0.523307> + 15460: < 0.090429, -0.872976, -0.479307> + 15461: < 0.045871, -0.876095, -0.479951> + 15462: < 0.046267, -0.849378, -0.525753> + 15463: < 0.091008, -0.846324, -0.524836> + 15464: < 0.045871, -0.876095, -0.479951> + 15465: < 0.000000, -0.877182, -0.480158> + 15466: < 0.000000, -0.850434, -0.526081> + 15467: < 0.046267, -0.849378, -0.525753> + 15468: < 0.000000, -0.877182, -0.480158> + 15469: <-0.045871, -0.876095, -0.479951> + 15470: <-0.046267, -0.849378, -0.525753> + 15471: < 0.000000, -0.850434, -0.526081> + 15472: <-0.045871, -0.876095, -0.479951> + 15473: <-0.090429, -0.872976, -0.479307> + 15474: <-0.091008, -0.846324, -0.524836> + 15475: <-0.046267, -0.849378, -0.525753> + 15476: <-0.090429, -0.872976, -0.479307> + 15477: <-0.133553, -0.868033, -0.478208> + 15478: <-0.134100, -0.841527, -0.523307> + 15479: <-0.091008, -0.846324, -0.524836> + 15480: <-0.133553, -0.868033, -0.478208> + 15481: <-0.175453, -0.861426, -0.476614> + 15482: <-0.175853, -0.835133, -0.521180> + 15483: <-0.134100, -0.841527, -0.523307> + 15484: <-0.175453, -0.861426, -0.476614> + 15485: <-0.216413, -0.853230, -0.474515> + 15486: <-0.216475, -0.827263, -0.518435> + 15487: <-0.175853, -0.835133, -0.521180> + 15488: <-0.216413, -0.853230, -0.474515> + 15489: <-0.256606, -0.843490, -0.471888> + 15490: <-0.256243, -0.817925, -0.515110> + 15491: <-0.216475, -0.827263, -0.518435> + 15492: <-0.256606, -0.843490, -0.471888> + 15493: <-0.296339, -0.832128, -0.468770> + 15494: <-0.295457, -0.807082, -0.511198> + 15495: <-0.256243, -0.817925, -0.515110> + 15496: <-0.296339, -0.832128, -0.468770> + 15497: <-0.335801, -0.819039, -0.465202> + 15498: <-0.334337, -0.794627, -0.506740> + 15499: <-0.295457, -0.807082, -0.511198> + 15500: <-0.335801, -0.819039, -0.465202> + 15501: <-0.374961, -0.804154, -0.461239> + 15502: <-0.372705, -0.780568, -0.501802> + 15503: <-0.334337, -0.794627, -0.506740> + 15504: <-0.374961, -0.804154, -0.461239> + 15505: <-0.413777, -0.787421, -0.456900> + 15506: <-0.410392, -0.764964, -0.496395> + 15507: <-0.372705, -0.780568, -0.501802> + 15508: <-0.413777, -0.787421, -0.456900> + 15509: <-0.452290, -0.768679, -0.452290> + 15510: <-0.447593, -0.747688, -0.490534> + 15511: <-0.410392, -0.764964, -0.496395> + 15512: <-0.452290, -0.768679, -0.452290> + 15513: <-0.490534, -0.747688, -0.447593> + 15514: <-0.484430, -0.728461, -0.484430> + 15515: <-0.447593, -0.747688, -0.490534> + 15516: <-0.490534, -0.747688, -0.447593> + 15517: <-0.528478, -0.724109, -0.443145> + 15518: <-0.520969, -0.706895, -0.478425> + 15519: <-0.484430, -0.728461, -0.484430> + 15520: <-0.528478, -0.724109, -0.443145> + 15521: <-0.565794, -0.697667, -0.439475> + 15522: <-0.557037, -0.682532, -0.473139> + 15523: <-0.520969, -0.706895, -0.478425> + 15524: <-0.565794, -0.697667, -0.439475> + 15525: <-0.601963, -0.668312, -0.437036> + 15526: <-0.591920, -0.655217, -0.469385> + 15527: <-0.557037, -0.682532, -0.473139> + 15528: < 0.591920, -0.655217, -0.469385> + 15529: < 0.557037, -0.682532, -0.473139> + 15530: < 0.547882, -0.666144, -0.506040> + 15531: < 0.581456, -0.641397, -0.500519> + 15532: < 0.557037, -0.682532, -0.473139> + 15533: < 0.520969, -0.706895, -0.478425> + 15534: < 0.513252, -0.687856, -0.513252> + 15535: < 0.547882, -0.666144, -0.506040> + 15536: < 0.520969, -0.706895, -0.478425> + 15537: < 0.484430, -0.728461, -0.484430> + 15538: < 0.478425, -0.706895, -0.520969> + 15539: < 0.513252, -0.687856, -0.513252> + 15540: < 0.484430, -0.728461, -0.484430> + 15541: < 0.447593, -0.747688, -0.490534> + 15542: < 0.443145, -0.724109, -0.528478> + 15543: < 0.478425, -0.706895, -0.520969> + 15544: < 0.447593, -0.747688, -0.490534> + 15545: < 0.410398, -0.764976, -0.496372> + 15546: < 0.407307, -0.739812, -0.535518> + 15547: < 0.443145, -0.724109, -0.528478> + 15548: < 0.410398, -0.764976, -0.496372> + 15549: < 0.372705, -0.780568, -0.501802> + 15550: < 0.370721, -0.754169, -0.542028> + 15551: < 0.407307, -0.739812, -0.535518> + 15552: < 0.372705, -0.780568, -0.501802> + 15553: < 0.334310, -0.794636, -0.506745> + 15554: < 0.333090, -0.767292, -0.548009> + 15555: < 0.370721, -0.754169, -0.542028> + 15556: < 0.334310, -0.794636, -0.506745> + 15557: < 0.295457, -0.807082, -0.511198> + 15558: < 0.294729, -0.779017, -0.553415> + 15559: < 0.333090, -0.767292, -0.548009> + 15560: < 0.295457, -0.807082, -0.511198> + 15561: < 0.256243, -0.817925, -0.515110> + 15562: < 0.255937, -0.789266, -0.558172> + 15563: < 0.294729, -0.779017, -0.553415> + 15564: < 0.256243, -0.817925, -0.515110> + 15565: < 0.216475, -0.827263, -0.518435> + 15566: < 0.216534, -0.798110, -0.562257> + 15567: < 0.255937, -0.789266, -0.558172> + 15568: < 0.216475, -0.827263, -0.518435> + 15569: < 0.175853, -0.835133, -0.521180> + 15570: < 0.176188, -0.805587, -0.565675> + 15571: < 0.216534, -0.798110, -0.562257> + 15572: < 0.175853, -0.835133, -0.521180> + 15573: < 0.134100, -0.841527, -0.523307> + 15574: < 0.134618, -0.811677, -0.568382> + 15575: < 0.176188, -0.805587, -0.565675> + 15576: < 0.134100, -0.841527, -0.523307> + 15577: < 0.091008, -0.846324, -0.524836> + 15578: < 0.091497, -0.816271, -0.570377> + 15579: < 0.134618, -0.811677, -0.568382> + 15580: < 0.091008, -0.846324, -0.524836> + 15581: < 0.046267, -0.849378, -0.525753> + 15582: < 0.046573, -0.819208, -0.571602> + 15583: < 0.091497, -0.816271, -0.570377> + 15584: < 0.046267, -0.849378, -0.525753> + 15585: < 0.000000, -0.850434, -0.526081> + 15586: < 0.000000, -0.820237, -0.572024> + 15587: < 0.046573, -0.819208, -0.571602> + 15588: < 0.000000, -0.850434, -0.526081> + 15589: <-0.046267, -0.849378, -0.525753> + 15590: <-0.046573, -0.819208, -0.571602> + 15591: < 0.000000, -0.820237, -0.572024> + 15592: <-0.046267, -0.849378, -0.525753> + 15593: <-0.091008, -0.846324, -0.524836> + 15594: <-0.091497, -0.816271, -0.570377> + 15595: <-0.046573, -0.819208, -0.571602> + 15596: <-0.091008, -0.846324, -0.524836> + 15597: <-0.134100, -0.841527, -0.523307> + 15598: <-0.134618, -0.811677, -0.568382> + 15599: <-0.091497, -0.816271, -0.570377> + 15600: <-0.134100, -0.841527, -0.523307> + 15601: <-0.175853, -0.835133, -0.521180> + 15602: <-0.176188, -0.805587, -0.565675> + 15603: <-0.134618, -0.811677, -0.568382> + 15604: <-0.175853, -0.835133, -0.521180> + 15605: <-0.216475, -0.827263, -0.518435> + 15606: <-0.216534, -0.798110, -0.562257> + 15607: <-0.176188, -0.805587, -0.565675> + 15608: <-0.216475, -0.827263, -0.518435> + 15609: <-0.256243, -0.817925, -0.515110> + 15610: <-0.255937, -0.789266, -0.558172> + 15611: <-0.216534, -0.798110, -0.562257> + 15612: <-0.256243, -0.817925, -0.515110> + 15613: <-0.295457, -0.807082, -0.511198> + 15614: <-0.294729, -0.779017, -0.553415> + 15615: <-0.255937, -0.789266, -0.558172> + 15616: <-0.295457, -0.807082, -0.511198> + 15617: <-0.334337, -0.794627, -0.506740> + 15618: <-0.333090, -0.767292, -0.548009> + 15619: <-0.294729, -0.779017, -0.553415> + 15620: <-0.334337, -0.794627, -0.506740> + 15621: <-0.372705, -0.780568, -0.501802> + 15622: <-0.370721, -0.754169, -0.542028> + 15623: <-0.333090, -0.767292, -0.548009> + 15624: <-0.372705, -0.780568, -0.501802> + 15625: <-0.410392, -0.764964, -0.496395> + 15626: <-0.407307, -0.739812, -0.535518> + 15627: <-0.370721, -0.754169, -0.542028> + 15628: <-0.410392, -0.764964, -0.496395> + 15629: <-0.447593, -0.747688, -0.490534> + 15630: <-0.443145, -0.724109, -0.528478> + 15631: <-0.407307, -0.739812, -0.535518> + 15632: <-0.447593, -0.747688, -0.490534> + 15633: <-0.484430, -0.728461, -0.484430> + 15634: <-0.478425, -0.706895, -0.520969> + 15635: <-0.443145, -0.724109, -0.528478> + 15636: <-0.484430, -0.728461, -0.484430> + 15637: <-0.520969, -0.706895, -0.478425> + 15638: <-0.513252, -0.687856, -0.513252> + 15639: <-0.478425, -0.706895, -0.520969> + 15640: <-0.520969, -0.706895, -0.478425> + 15641: <-0.557037, -0.682532, -0.473139> + 15642: <-0.547882, -0.666144, -0.506040> + 15643: <-0.513252, -0.687856, -0.513252> + 15644: <-0.557037, -0.682532, -0.473139> + 15645: <-0.591920, -0.655217, -0.469385> + 15646: <-0.581456, -0.641397, -0.500519> + 15647: <-0.547882, -0.666144, -0.506040> + 15648: < 0.581456, -0.641397, -0.500519> + 15649: < 0.547882, -0.666144, -0.506040> + 15650: < 0.538962, -0.647334, -0.538962> + 15651: < 0.571076, -0.625584, -0.531523> + 15652: < 0.547882, -0.666144, -0.506040> + 15653: < 0.513252, -0.687856, -0.513252> + 15654: < 0.506040, -0.666144, -0.547882> + 15655: < 0.538962, -0.647334, -0.538962> + 15656: < 0.513252, -0.687856, -0.513252> + 15657: < 0.478425, -0.706895, -0.520969> + 15658: < 0.473139, -0.682532, -0.557037> + 15659: < 0.506040, -0.666144, -0.547882> + 15660: < 0.478425, -0.706895, -0.520969> + 15661: < 0.443145, -0.724109, -0.528478> + 15662: < 0.439475, -0.697667, -0.565794> + 15663: < 0.473139, -0.682532, -0.557037> + 15664: < 0.443145, -0.724109, -0.528478> + 15665: < 0.407307, -0.739812, -0.535518> + 15666: < 0.404839, -0.711772, -0.574008> + 15667: < 0.439475, -0.697667, -0.565794> + 15668: < 0.407307, -0.739812, -0.535518> + 15669: < 0.370721, -0.754169, -0.542028> + 15670: < 0.369188, -0.724825, -0.581661> + 15671: < 0.404839, -0.711772, -0.574008> + 15672: < 0.370721, -0.754169, -0.542028> + 15673: < 0.333090, -0.767292, -0.548009> + 15674: < 0.332170, -0.736915, -0.588744> + 15675: < 0.369188, -0.724825, -0.581661> + 15676: < 0.333090, -0.767292, -0.548009> + 15677: < 0.294729, -0.779017, -0.553415> + 15678: < 0.294207, -0.747816, -0.595158> + 15679: < 0.332170, -0.736915, -0.588744> + 15680: < 0.294729, -0.779017, -0.553415> + 15681: < 0.255937, -0.789266, -0.558172> + 15682: < 0.255750, -0.757361, -0.600829> + 15683: < 0.294207, -0.747816, -0.595158> + 15684: < 0.255937, -0.789266, -0.558172> + 15685: < 0.216534, -0.798110, -0.562257> + 15686: < 0.216596, -0.765608, -0.605748> + 15687: < 0.255750, -0.757361, -0.600829> + 15688: < 0.216534, -0.798110, -0.562257> + 15689: < 0.176188, -0.805587, -0.565675> + 15690: < 0.176461, -0.772589, -0.609892> + 15691: < 0.216596, -0.765608, -0.605748> + 15692: < 0.176188, -0.805587, -0.565675> + 15693: < 0.134618, -0.811677, -0.568382> + 15694: < 0.135018, -0.778306, -0.613196> + 15695: < 0.176461, -0.772589, -0.609892> + 15696: < 0.134618, -0.811677, -0.568382> + 15697: < 0.091497, -0.816271, -0.570377> + 15698: < 0.091894, -0.782607, -0.615697> + 15699: < 0.135018, -0.778306, -0.613196> + 15700: < 0.091497, -0.816271, -0.570377> + 15701: < 0.046573, -0.819208, -0.571602> + 15702: < 0.046847, -0.785375, -0.617246> + 15703: < 0.091894, -0.782607, -0.615697> + 15704: < 0.046573, -0.819208, -0.571602> + 15705: < 0.000000, -0.820237, -0.572024> + 15706: < 0.000000, -0.786344, -0.617789> + 15707: < 0.046847, -0.785375, -0.617246> + 15708: < 0.000000, -0.820237, -0.572024> + 15709: <-0.046573, -0.819208, -0.571602> + 15710: <-0.046847, -0.785375, -0.617246> + 15711: < 0.000000, -0.786344, -0.617789> + 15712: <-0.046573, -0.819208, -0.571602> + 15713: <-0.091497, -0.816271, -0.570377> + 15714: <-0.091894, -0.782607, -0.615697> + 15715: <-0.046847, -0.785375, -0.617246> + 15716: <-0.091497, -0.816271, -0.570377> + 15717: <-0.134618, -0.811677, -0.568382> + 15718: <-0.134988, -0.778309, -0.613199> + 15719: <-0.091894, -0.782607, -0.615697> + 15720: <-0.134618, -0.811677, -0.568382> + 15721: <-0.176188, -0.805587, -0.565675> + 15722: <-0.176461, -0.772589, -0.609892> + 15723: <-0.134988, -0.778309, -0.613199> + 15724: <-0.176188, -0.805587, -0.565675> + 15725: <-0.216534, -0.798110, -0.562257> + 15726: <-0.216596, -0.765608, -0.605748> + 15727: <-0.176461, -0.772589, -0.609892> + 15728: <-0.216534, -0.798110, -0.562257> + 15729: <-0.255937, -0.789266, -0.558172> + 15730: <-0.255750, -0.757361, -0.600829> + 15731: <-0.216596, -0.765608, -0.605748> + 15732: <-0.255937, -0.789266, -0.558172> + 15733: <-0.294729, -0.779017, -0.553415> + 15734: <-0.294207, -0.747816, -0.595158> + 15735: <-0.255750, -0.757361, -0.600829> + 15736: <-0.294729, -0.779017, -0.553415> + 15737: <-0.333090, -0.767292, -0.548009> + 15738: <-0.332170, -0.736915, -0.588744> + 15739: <-0.294207, -0.747816, -0.595158> + 15740: <-0.333090, -0.767292, -0.548009> + 15741: <-0.370721, -0.754169, -0.542028> + 15742: <-0.369188, -0.724825, -0.581661> + 15743: <-0.332170, -0.736915, -0.588744> + 15744: <-0.370721, -0.754169, -0.542028> + 15745: <-0.407307, -0.739812, -0.535518> + 15746: <-0.404839, -0.711772, -0.574008> + 15747: <-0.369188, -0.724825, -0.581661> + 15748: <-0.407307, -0.739812, -0.535518> + 15749: <-0.443145, -0.724109, -0.528478> + 15750: <-0.439475, -0.697667, -0.565794> + 15751: <-0.404839, -0.711772, -0.574008> + 15752: <-0.443145, -0.724109, -0.528478> + 15753: <-0.478425, -0.706895, -0.520969> + 15754: <-0.473139, -0.682532, -0.557037> + 15755: <-0.439475, -0.697667, -0.565794> + 15756: <-0.478425, -0.706895, -0.520969> + 15757: <-0.513252, -0.687856, -0.513252> + 15758: <-0.506040, -0.666144, -0.547882> + 15759: <-0.473139, -0.682532, -0.557037> + 15760: <-0.513252, -0.687856, -0.513252> + 15761: <-0.547882, -0.666144, -0.506040> + 15762: <-0.538962, -0.647334, -0.538962> + 15763: <-0.506040, -0.666144, -0.547882> + 15764: <-0.547882, -0.666144, -0.506040> + 15765: <-0.581456, -0.641397, -0.500519> + 15766: <-0.571076, -0.625584, -0.531523> + 15767: <-0.538962, -0.647334, -0.538962> + 15768: < 0.571076, -0.625584, -0.531523> + 15769: < 0.538962, -0.647334, -0.538962> + 15770: < 0.531523, -0.625584, -0.571076> + 15771: < 0.561516, -0.607783, -0.561516> + 15772: < 0.538962, -0.647334, -0.538962> + 15773: < 0.506040, -0.666144, -0.547882> + 15774: < 0.500519, -0.641397, -0.581456> + 15775: < 0.531523, -0.625584, -0.571076> + 15776: < 0.506040, -0.666144, -0.547882> + 15777: < 0.473139, -0.682532, -0.557037> + 15778: < 0.469385, -0.655217, -0.591920> + 15779: < 0.500519, -0.641397, -0.581456> + 15780: < 0.473139, -0.682532, -0.557037> + 15781: < 0.439475, -0.697667, -0.565794> + 15782: < 0.437036, -0.668312, -0.601963> + 15783: < 0.469385, -0.655217, -0.591920> + 15784: < 0.439475, -0.697667, -0.565794> + 15785: < 0.404839, -0.711772, -0.574008> + 15786: < 0.403223, -0.680859, -0.611427> + 15787: < 0.437036, -0.668312, -0.601963> + 15788: < 0.404839, -0.711772, -0.574008> + 15789: < 0.369188, -0.724825, -0.581661> + 15790: < 0.368246, -0.692544, -0.620305> + 15791: < 0.403223, -0.680859, -0.611427> + 15792: < 0.369188, -0.724825, -0.581661> + 15793: < 0.332170, -0.736915, -0.588744> + 15794: < 0.331652, -0.703467, -0.628603> + 15795: < 0.368246, -0.692544, -0.620305> + 15796: < 0.332170, -0.736915, -0.588744> + 15797: < 0.294207, -0.747816, -0.595158> + 15798: < 0.293904, -0.713396, -0.636150> + 15799: < 0.331652, -0.703467, -0.628603> + 15800: < 0.294207, -0.747816, -0.595158> + 15801: < 0.255750, -0.757361, -0.600829> + 15802: < 0.255632, -0.722093, -0.642833> + 15803: < 0.293904, -0.713396, -0.636150> + 15804: < 0.255750, -0.757361, -0.600829> + 15805: < 0.216596, -0.765608, -0.605748> + 15806: < 0.216660, -0.729636, -0.648606> + 15807: < 0.255632, -0.722093, -0.642833> + 15808: < 0.216596, -0.765608, -0.605748> + 15809: < 0.176461, -0.772589, -0.609892> + 15810: < 0.176644, -0.736025, -0.653502> + 15811: < 0.216660, -0.729636, -0.648606> + 15812: < 0.176461, -0.772589, -0.609892> + 15813: < 0.135018, -0.778306, -0.613196> + 15814: < 0.135260, -0.741243, -0.657468> + 15815: < 0.176644, -0.736025, -0.653502> + 15816: < 0.135018, -0.778306, -0.613196> + 15817: < 0.091894, -0.782607, -0.615697> + 15818: < 0.092137, -0.745184, -0.660463> + 15819: < 0.135260, -0.741243, -0.657468> + 15820: < 0.091894, -0.782607, -0.615697> + 15821: < 0.046847, -0.785375, -0.617246> + 15822: < 0.046999, -0.747715, -0.662354> + 15823: < 0.092137, -0.745184, -0.660463> + 15824: < 0.046847, -0.785375, -0.617246> + 15825: < 0.000000, -0.786344, -0.617789> + 15826: < 0.000000, -0.748599, -0.663024> + 15827: < 0.046999, -0.747715, -0.662354> + 15828: < 0.000000, -0.786344, -0.617789> + 15829: <-0.046847, -0.785375, -0.617246> + 15830: <-0.046999, -0.747715, -0.662354> + 15831: < 0.000000, -0.748599, -0.663024> + 15832: <-0.046847, -0.785375, -0.617246> + 15833: <-0.091894, -0.782607, -0.615697> + 15834: <-0.092137, -0.745184, -0.660463> + 15835: <-0.046999, -0.747715, -0.662354> + 15836: <-0.091894, -0.782607, -0.615697> + 15837: <-0.134988, -0.778309, -0.613199> + 15838: <-0.135260, -0.741243, -0.657468> + 15839: <-0.092137, -0.745184, -0.660463> + 15840: <-0.134988, -0.778309, -0.613199> + 15841: <-0.176461, -0.772589, -0.609892> + 15842: <-0.176644, -0.736025, -0.653502> + 15843: <-0.135260, -0.741243, -0.657468> + 15844: <-0.176461, -0.772589, -0.609892> + 15845: <-0.216596, -0.765608, -0.605748> + 15846: <-0.216660, -0.729636, -0.648606> + 15847: <-0.176644, -0.736025, -0.653502> + 15848: <-0.216596, -0.765608, -0.605748> + 15849: <-0.255750, -0.757361, -0.600829> + 15850: <-0.255632, -0.722093, -0.642833> + 15851: <-0.216660, -0.729636, -0.648606> + 15852: <-0.255750, -0.757361, -0.600829> + 15853: <-0.294207, -0.747816, -0.595158> + 15854: <-0.293904, -0.713396, -0.636150> + 15855: <-0.255632, -0.722093, -0.642833> + 15856: <-0.294207, -0.747816, -0.595158> + 15857: <-0.332170, -0.736915, -0.588744> + 15858: <-0.331652, -0.703467, -0.628603> + 15859: <-0.293904, -0.713396, -0.636150> + 15860: <-0.332170, -0.736915, -0.588744> + 15861: <-0.369188, -0.724825, -0.581661> + 15862: <-0.368246, -0.692544, -0.620305> + 15863: <-0.331652, -0.703467, -0.628603> + 15864: <-0.369188, -0.724825, -0.581661> + 15865: <-0.404839, -0.711772, -0.574008> + 15866: <-0.403223, -0.680859, -0.611427> + 15867: <-0.368246, -0.692544, -0.620305> + 15868: <-0.404839, -0.711772, -0.574008> + 15869: <-0.439475, -0.697667, -0.565794> + 15870: <-0.437036, -0.668312, -0.601963> + 15871: <-0.403223, -0.680859, -0.611427> + 15872: <-0.439475, -0.697667, -0.565794> + 15873: <-0.473139, -0.682532, -0.557037> + 15874: <-0.469385, -0.655217, -0.591920> + 15875: <-0.437036, -0.668312, -0.601963> + 15876: <-0.473139, -0.682532, -0.557037> + 15877: <-0.506040, -0.666144, -0.547882> + 15878: <-0.500519, -0.641397, -0.581456> + 15879: <-0.469385, -0.655217, -0.591920> + 15880: <-0.506040, -0.666144, -0.547882> + 15881: <-0.538962, -0.647334, -0.538962> + 15882: <-0.531523, -0.625584, -0.571076> + 15883: <-0.500519, -0.641397, -0.581456> + 15884: <-0.538962, -0.647334, -0.538962> + 15885: <-0.571076, -0.625584, -0.531523> + 15886: <-0.561516, -0.607783, -0.561516> + 15887: <-0.531523, -0.625584, -0.571076> + 15888: < 0.577360, -0.577330, 0.577360> + 15889: < 0.554296, -0.588539, 0.588539> + 15890: < 0.561516, -0.607783, 0.561516> + 15891: < 0.588539, -0.588539, 0.554296> + 15892: < 0.554296, -0.588539, 0.588539> + 15893: < 0.526447, -0.601188, 0.601188> + 15894: < 0.531523, -0.625584, 0.571076> + 15895: < 0.561516, -0.607783, 0.561516> + 15896: < 0.526447, -0.601188, 0.601188> + 15897: < 0.497527, -0.613379, 0.613379> + 15898: < 0.500519, -0.641397, 0.581456> + 15899: < 0.531523, -0.625584, 0.571076> + 15900: < 0.497527, -0.613379, 0.613379> + 15901: < 0.467950, -0.624909, 0.624909> + 15902: < 0.469385, -0.655217, 0.591920> + 15903: < 0.500519, -0.641397, 0.581456> + 15904: < 0.467950, -0.624909, 0.624909> + 15905: < 0.436181, -0.636296, 0.636296> + 15906: < 0.437036, -0.668312, 0.601963> + 15907: < 0.469385, -0.655217, 0.591920> + 15908: < 0.436181, -0.636296, 0.636296> + 15909: < 0.402668, -0.647247, 0.647247> + 15910: < 0.403223, -0.680859, 0.611427> + 15911: < 0.437036, -0.668312, 0.601963> + 15912: < 0.402668, -0.647247, 0.647247> + 15913: < 0.367912, -0.657511, 0.657511> + 15914: < 0.368246, -0.692544, 0.620305> + 15915: < 0.403223, -0.680859, 0.611427> + 15916: < 0.367912, -0.657511, 0.657511> + 15917: < 0.331474, -0.667130, 0.667130> + 15918: < 0.331652, -0.703467, 0.628603> + 15919: < 0.368246, -0.692544, 0.620305> + 15920: < 0.331474, -0.667130, 0.667130> + 15921: < 0.293804, -0.675899, 0.675899> + 15922: < 0.293904, -0.713396, 0.636150> + 15923: < 0.331652, -0.703467, 0.628603> + 15924: < 0.293804, -0.675899, 0.675899> + 15925: < 0.255594, -0.683620, 0.683620> + 15926: < 0.255632, -0.722093, 0.642833> + 15927: < 0.293904, -0.713396, 0.636150> + 15928: < 0.255594, -0.683620, 0.683620> + 15929: < 0.216684, -0.690307, 0.690307> + 15930: < 0.216660, -0.729636, 0.648606> + 15931: < 0.255632, -0.722093, 0.642833> + 15932: < 0.216684, -0.690307, 0.690307> + 15933: < 0.176733, -0.695976, 0.695976> + 15934: < 0.176644, -0.736025, 0.653502> + 15935: < 0.216660, -0.729636, 0.648606> + 15936: < 0.176733, -0.695976, 0.695976> + 15937: < 0.135353, -0.700600, 0.700600> + 15938: < 0.135260, -0.741243, 0.657468> + 15939: < 0.176644, -0.736025, 0.653502> + 15940: < 0.135353, -0.700600, 0.700600> + 15941: < 0.092231, -0.704093, 0.704093> + 15942: < 0.092137, -0.745184, 0.660463> + 15943: < 0.135260, -0.741243, 0.657468> + 15944: < 0.092231, -0.704093, 0.704093> + 15945: < 0.047060, -0.706323, 0.706323> + 15946: < 0.046999, -0.747715, 0.662354> + 15947: < 0.092137, -0.745184, 0.660463> + 15948: < 0.047060, -0.706323, 0.706323> + 15949: < 0.000000, -0.707107, 0.707107> + 15950: < 0.000000, -0.748599, 0.663024> + 15951: < 0.046999, -0.747715, 0.662354> + 15952: < 0.000000, -0.707107, 0.707107> + 15953: <-0.047060, -0.706323, 0.706323> + 15954: <-0.046999, -0.747715, 0.662354> + 15955: < 0.000000, -0.748599, 0.663024> + 15956: <-0.047060, -0.706323, 0.706323> + 15957: <-0.092229, -0.704078, 0.704108> + 15958: <-0.092137, -0.745184, 0.660463> + 15959: <-0.046999, -0.747715, 0.662354> + 15960: <-0.092229, -0.704078, 0.704108> + 15961: <-0.135353, -0.700600, 0.700600> + 15962: <-0.135260, -0.741243, 0.657468> + 15963: <-0.092137, -0.745184, 0.660463> + 15964: <-0.135353, -0.700600, 0.700600> + 15965: <-0.176733, -0.695976, 0.695976> + 15966: <-0.176644, -0.736025, 0.653502> + 15967: <-0.135260, -0.741243, 0.657468> + 15968: <-0.176733, -0.695976, 0.695976> + 15969: <-0.216684, -0.690307, 0.690307> + 15970: <-0.216660, -0.729636, 0.648606> + 15971: <-0.176644, -0.736025, 0.653502> + 15972: <-0.216684, -0.690307, 0.690307> + 15973: <-0.255594, -0.683620, 0.683620> + 15974: <-0.255632, -0.722093, 0.642833> + 15975: <-0.216660, -0.729636, 0.648606> + 15976: <-0.255594, -0.683620, 0.683620> + 15977: <-0.293804, -0.675899, 0.675899> + 15978: <-0.293904, -0.713396, 0.636150> + 15979: <-0.255632, -0.722093, 0.642833> + 15980: <-0.293804, -0.675899, 0.675899> + 15981: <-0.331474, -0.667130, 0.667130> + 15982: <-0.331652, -0.703467, 0.628603> + 15983: <-0.293904, -0.713396, 0.636150> + 15984: <-0.331474, -0.667130, 0.667130> + 15985: <-0.367912, -0.657511, 0.657511> + 15986: <-0.368246, -0.692544, 0.620305> + 15987: <-0.331652, -0.703467, 0.628603> + 15988: <-0.367912, -0.657511, 0.657511> + 15989: <-0.402668, -0.647247, 0.647247> + 15990: <-0.403223, -0.680859, 0.611427> + 15991: <-0.368246, -0.692544, 0.620305> + 15992: <-0.402668, -0.647247, 0.647247> + 15993: <-0.436181, -0.636296, 0.636296> + 15994: <-0.437036, -0.668312, 0.601963> + 15995: <-0.403223, -0.680859, 0.611427> + 15996: <-0.436181, -0.636296, 0.636296> + 15997: <-0.467950, -0.624909, 0.624909> + 15998: <-0.469385, -0.655217, 0.591920> + 15999: <-0.437036, -0.668312, 0.601963> + 16000: <-0.467950, -0.624909, 0.624909> + 16001: <-0.497527, -0.613379, 0.613379> + 16002: <-0.500496, -0.641406, 0.581465> + 16003: <-0.469385, -0.655217, 0.591920> + 16004: <-0.497527, -0.613379, 0.613379> + 16005: <-0.526457, -0.601168, 0.601199> + 16006: <-0.531523, -0.625584, 0.571076> + 16007: <-0.500496, -0.641406, 0.581465> + 16008: <-0.526457, -0.601168, 0.601199> + 16009: <-0.554296, -0.588539, 0.588539> + 16010: <-0.561516, -0.607783, 0.561516> + 16011: <-0.531523, -0.625584, 0.571076> + 16012: <-0.554296, -0.588539, 0.588539> + 16013: <-0.577330, -0.577360, 0.577360> + 16014: <-0.588539, -0.588539, 0.554296> + 16015: <-0.561516, -0.607783, 0.561516> + 16016: <-0.561516, -0.607783, 0.561516> + 16017: <-0.588539, -0.588539, 0.554296> + 16018: <-0.601199, -0.601168, 0.526457> + 16019: <-0.571076, -0.625584, 0.531523> + 16020: <-0.571076, -0.625584, 0.531523> + 16021: <-0.601199, -0.601168, 0.526457> + 16022: <-0.613379, -0.613379, 0.497527> + 16023: <-0.581456, -0.641397, 0.500519> + 16024: <-0.581456, -0.641397, 0.500519> + 16025: <-0.613379, -0.613379, 0.497527> + 16026: <-0.624909, -0.624909, 0.467950> + 16027: <-0.591920, -0.655217, 0.469385> + 16028: <-0.591920, -0.655217, 0.469385> + 16029: <-0.624909, -0.624909, 0.467950> + 16030: <-0.636296, -0.636296, 0.436181> + 16031: <-0.601963, -0.668312, 0.437036> + 16032: <-0.601963, -0.668312, 0.437036> + 16033: <-0.636296, -0.636296, 0.436181> + 16034: <-0.647247, -0.647247, 0.402668> + 16035: <-0.611427, -0.680859, 0.403223> + 16036: <-0.611427, -0.680859, 0.403223> + 16037: <-0.647247, -0.647247, 0.402668> + 16038: <-0.657511, -0.657511, 0.367912> + 16039: <-0.620305, -0.692544, 0.368246> + 16040: <-0.620305, -0.692544, 0.368246> + 16041: <-0.657511, -0.657511, 0.367912> + 16042: <-0.667130, -0.667130, 0.331474> + 16043: <-0.628603, -0.703467, 0.331652> + 16044: <-0.628603, -0.703467, 0.331652> + 16045: <-0.667130, -0.667130, 0.331474> + 16046: <-0.675899, -0.675899, 0.293804> + 16047: <-0.636150, -0.713396, 0.293904> + 16048: <-0.636150, -0.713396, 0.293904> + 16049: <-0.675899, -0.675899, 0.293804> + 16050: <-0.683620, -0.683620, 0.255594> + 16051: <-0.642833, -0.722093, 0.255632> + 16052: <-0.642833, -0.722093, 0.255632> + 16053: <-0.683620, -0.683620, 0.255594> + 16054: <-0.690307, -0.690307, 0.216684> + 16055: <-0.648606, -0.729636, 0.216660> + 16056: <-0.648606, -0.729636, 0.216660> + 16057: <-0.690307, -0.690307, 0.216684> + 16058: <-0.695976, -0.695976, 0.176733> + 16059: <-0.653502, -0.736025, 0.176644> + 16060: <-0.653502, -0.736025, 0.176644> + 16061: <-0.695976, -0.695976, 0.176733> + 16062: <-0.700600, -0.700600, 0.135353> + 16063: <-0.657468, -0.741243, 0.135260> + 16064: <-0.657468, -0.741243, 0.135260> + 16065: <-0.700600, -0.700600, 0.135353> + 16066: <-0.704093, -0.704093, 0.092231> + 16067: <-0.660463, -0.745184, 0.092137> + 16068: <-0.660463, -0.745184, 0.092137> + 16069: <-0.704093, -0.704093, 0.092231> + 16070: <-0.706323, -0.706323, 0.047060> + 16071: <-0.662354, -0.747715, 0.046999> + 16072: <-0.662354, -0.747715, 0.046999> + 16073: <-0.706323, -0.706323, 0.047060> + 16074: <-0.707107, -0.707107, 0.000000> + 16075: <-0.663024, -0.748599, 0.000000> + 16076: <-0.663024, -0.748599, 0.000000> + 16077: <-0.707107, -0.707107, 0.000000> + 16078: <-0.706323, -0.706323, -0.047060> + 16079: <-0.662354, -0.747715, -0.046999> + 16080: <-0.662354, -0.747715, -0.046999> + 16081: <-0.706323, -0.706323, -0.047060> + 16082: <-0.704093, -0.704093, -0.092231> + 16083: <-0.660463, -0.745184, -0.092137> + 16084: <-0.660463, -0.745184, -0.092137> + 16085: <-0.704093, -0.704093, -0.092231> + 16086: <-0.700600, -0.700600, -0.135353> + 16087: <-0.657468, -0.741243, -0.135260> + 16088: <-0.657468, -0.741243, -0.135260> + 16089: <-0.700600, -0.700600, -0.135353> + 16090: <-0.695976, -0.695976, -0.176733> + 16091: <-0.653502, -0.736025, -0.176644> + 16092: <-0.653502, -0.736025, -0.176644> + 16093: <-0.695976, -0.695976, -0.176733> + 16094: <-0.690307, -0.690307, -0.216684> + 16095: <-0.648606, -0.729636, -0.216660> + 16096: <-0.648606, -0.729636, -0.216660> + 16097: <-0.690307, -0.690307, -0.216684> + 16098: <-0.683620, -0.683620, -0.255594> + 16099: <-0.642833, -0.722093, -0.255632> + 16100: <-0.642833, -0.722093, -0.255632> + 16101: <-0.683620, -0.683620, -0.255594> + 16102: <-0.675899, -0.675899, -0.293804> + 16103: <-0.636150, -0.713396, -0.293904> + 16104: <-0.636150, -0.713396, -0.293904> + 16105: <-0.675899, -0.675899, -0.293804> + 16106: <-0.667130, -0.667130, -0.331474> + 16107: <-0.628603, -0.703467, -0.331652> + 16108: <-0.628603, -0.703467, -0.331652> + 16109: <-0.667130, -0.667130, -0.331474> + 16110: <-0.657511, -0.657511, -0.367912> + 16111: <-0.620305, -0.692544, -0.368246> + 16112: <-0.620305, -0.692544, -0.368246> + 16113: <-0.657511, -0.657511, -0.367912> + 16114: <-0.647247, -0.647247, -0.402668> + 16115: <-0.611427, -0.680859, -0.403223> + 16116: <-0.611427, -0.680859, -0.403223> + 16117: <-0.647247, -0.647247, -0.402668> + 16118: <-0.636296, -0.636296, -0.436181> + 16119: <-0.601963, -0.668312, -0.437036> + 16120: <-0.601963, -0.668312, -0.437036> + 16121: <-0.636296, -0.636296, -0.436181> + 16122: <-0.624909, -0.624909, -0.467950> + 16123: <-0.591920, -0.655217, -0.469385> + 16124: <-0.591920, -0.655217, -0.469385> + 16125: <-0.624909, -0.624909, -0.467950> + 16126: <-0.613379, -0.613379, -0.497527> + 16127: <-0.581456, -0.641397, -0.500519> + 16128: <-0.581456, -0.641397, -0.500519> + 16129: <-0.613379, -0.613379, -0.497527> + 16130: <-0.601188, -0.601188, -0.526447> + 16131: <-0.571076, -0.625584, -0.531523> + 16132: <-0.571076, -0.625584, -0.531523> + 16133: <-0.601188, -0.601188, -0.526447> + 16134: <-0.588539, -0.588539, -0.554296> + 16135: <-0.561516, -0.607783, -0.561516> + 16136: <-0.561516, -0.607783, -0.561516> + 16137: <-0.588539, -0.588539, -0.554296> + 16138: <-0.577360, -0.577330, -0.577360> + 16139: <-0.554296, -0.588539, -0.588539> + 16140: <-0.531523, -0.625584, -0.571076> + 16141: <-0.561516, -0.607783, -0.561516> + 16142: <-0.554296, -0.588539, -0.588539> + 16143: <-0.526447, -0.601188, -0.601188> + 16144: <-0.500519, -0.641397, -0.581456> + 16145: <-0.531523, -0.625584, -0.571076> + 16146: <-0.526447, -0.601188, -0.601188> + 16147: <-0.497527, -0.613379, -0.613379> + 16148: <-0.469385, -0.655217, -0.591920> + 16149: <-0.500519, -0.641397, -0.581456> + 16150: <-0.497527, -0.613379, -0.613379> + 16151: <-0.467950, -0.624909, -0.624909> + 16152: <-0.437036, -0.668312, -0.601963> + 16153: <-0.469385, -0.655217, -0.591920> + 16154: <-0.467950, -0.624909, -0.624909> + 16155: <-0.436181, -0.636296, -0.636296> + 16156: <-0.403223, -0.680859, -0.611427> + 16157: <-0.437036, -0.668312, -0.601963> + 16158: <-0.436181, -0.636296, -0.636296> + 16159: <-0.402668, -0.647247, -0.647247> + 16160: <-0.368246, -0.692544, -0.620305> + 16161: <-0.403223, -0.680859, -0.611427> + 16162: <-0.402668, -0.647247, -0.647247> + 16163: <-0.367912, -0.657511, -0.657511> + 16164: <-0.331652, -0.703467, -0.628603> + 16165: <-0.368246, -0.692544, -0.620305> + 16166: <-0.367912, -0.657511, -0.657511> + 16167: <-0.331474, -0.667130, -0.667130> + 16168: <-0.293904, -0.713396, -0.636150> + 16169: <-0.331652, -0.703467, -0.628603> + 16170: <-0.331474, -0.667130, -0.667130> + 16171: <-0.293804, -0.675899, -0.675899> + 16172: <-0.255632, -0.722093, -0.642833> + 16173: <-0.293904, -0.713396, -0.636150> + 16174: <-0.293804, -0.675899, -0.675899> + 16175: <-0.255594, -0.683620, -0.683620> + 16176: <-0.216660, -0.729636, -0.648606> + 16177: <-0.255632, -0.722093, -0.642833> + 16178: <-0.255594, -0.683620, -0.683620> + 16179: <-0.216684, -0.690307, -0.690307> + 16180: <-0.176644, -0.736025, -0.653502> + 16181: <-0.216660, -0.729636, -0.648606> + 16182: <-0.216684, -0.690307, -0.690307> + 16183: <-0.176733, -0.695976, -0.695976> + 16184: <-0.135260, -0.741243, -0.657468> + 16185: <-0.176644, -0.736025, -0.653502> + 16186: <-0.176733, -0.695976, -0.695976> + 16187: <-0.135353, -0.700600, -0.700600> + 16188: <-0.092137, -0.745184, -0.660463> + 16189: <-0.135260, -0.741243, -0.657468> + 16190: <-0.135353, -0.700600, -0.700600> + 16191: <-0.092231, -0.704093, -0.704093> + 16192: <-0.046999, -0.747715, -0.662354> + 16193: <-0.092137, -0.745184, -0.660463> + 16194: <-0.092231, -0.704093, -0.704093> + 16195: <-0.047060, -0.706323, -0.706323> + 16196: < 0.000000, -0.748599, -0.663024> + 16197: <-0.046999, -0.747715, -0.662354> + 16198: <-0.047060, -0.706323, -0.706323> + 16199: < 0.000000, -0.707107, -0.707107> + 16200: < 0.046999, -0.747715, -0.662354> + 16201: < 0.000000, -0.748599, -0.663024> + 16202: < 0.000000, -0.707107, -0.707107> + 16203: < 0.047060, -0.706323, -0.706323> + 16204: < 0.092137, -0.745184, -0.660463> + 16205: < 0.046999, -0.747715, -0.662354> + 16206: < 0.047060, -0.706323, -0.706323> + 16207: < 0.092231, -0.704093, -0.704093> + 16208: < 0.135260, -0.741243, -0.657468> + 16209: < 0.092137, -0.745184, -0.660463> + 16210: < 0.092231, -0.704093, -0.704093> + 16211: < 0.135353, -0.700600, -0.700600> + 16212: < 0.176644, -0.736025, -0.653502> + 16213: < 0.135260, -0.741243, -0.657468> + 16214: < 0.135353, -0.700600, -0.700600> + 16215: < 0.176733, -0.695976, -0.695976> + 16216: < 0.216660, -0.729636, -0.648606> + 16217: < 0.176644, -0.736025, -0.653502> + 16218: < 0.176733, -0.695976, -0.695976> + 16219: < 0.216684, -0.690307, -0.690307> + 16220: < 0.255632, -0.722093, -0.642833> + 16221: < 0.216660, -0.729636, -0.648606> + 16222: < 0.216684, -0.690307, -0.690307> + 16223: < 0.255594, -0.683620, -0.683620> + 16224: < 0.293904, -0.713396, -0.636150> + 16225: < 0.255632, -0.722093, -0.642833> + 16226: < 0.255594, -0.683620, -0.683620> + 16227: < 0.293804, -0.675899, -0.675899> + 16228: < 0.331652, -0.703467, -0.628603> + 16229: < 0.293904, -0.713396, -0.636150> + 16230: < 0.293804, -0.675899, -0.675899> + 16231: < 0.331474, -0.667130, -0.667130> + 16232: < 0.368246, -0.692544, -0.620305> + 16233: < 0.331652, -0.703467, -0.628603> + 16234: < 0.331474, -0.667130, -0.667130> + 16235: < 0.367912, -0.657511, -0.657511> + 16236: < 0.403223, -0.680859, -0.611427> + 16237: < 0.368246, -0.692544, -0.620305> + 16238: < 0.367912, -0.657511, -0.657511> + 16239: < 0.402668, -0.647247, -0.647247> + 16240: < 0.437036, -0.668312, -0.601963> + 16241: < 0.403223, -0.680859, -0.611427> + 16242: < 0.402668, -0.647247, -0.647247> + 16243: < 0.436181, -0.636296, -0.636296> + 16244: < 0.469385, -0.655217, -0.591920> + 16245: < 0.437036, -0.668312, -0.601963> + 16246: < 0.436181, -0.636296, -0.636296> + 16247: < 0.467950, -0.624909, -0.624909> + 16248: < 0.500519, -0.641397, -0.581456> + 16249: < 0.469385, -0.655217, -0.591920> + 16250: < 0.467950, -0.624909, -0.624909> + 16251: < 0.497527, -0.613379, -0.613379> + 16252: < 0.531523, -0.625584, -0.571076> + 16253: < 0.500519, -0.641397, -0.581456> + 16254: < 0.497527, -0.613379, -0.613379> + 16255: < 0.526457, -0.601168, -0.601199> + 16256: < 0.561516, -0.607783, -0.561516> + 16257: < 0.531523, -0.625584, -0.571076> + 16258: < 0.526457, -0.601168, -0.601199> + 16259: < 0.554296, -0.588539, -0.588539> + 16260: < 0.588539, -0.588539, -0.554296> + 16261: < 0.561516, -0.607783, -0.561516> + 16262: < 0.554296, -0.588539, -0.588539> + 16263: < 0.577350, -0.577350, -0.577350> + 16264: < 0.601188, -0.601188, -0.526447> + 16265: < 0.571076, -0.625584, -0.531523> + 16266: < 0.561516, -0.607783, -0.561516> + 16267: < 0.588539, -0.588539, -0.554296> + 16268: < 0.613379, -0.613379, -0.497527> + 16269: < 0.581456, -0.641397, -0.500519> + 16270: < 0.571076, -0.625584, -0.531523> + 16271: < 0.601188, -0.601188, -0.526447> + 16272: < 0.624909, -0.624909, -0.467950> + 16273: < 0.591920, -0.655217, -0.469385> + 16274: < 0.581456, -0.641397, -0.500519> + 16275: < 0.613379, -0.613379, -0.497527> + 16276: < 0.636296, -0.636296, -0.436181> + 16277: < 0.601963, -0.668312, -0.437036> + 16278: < 0.591920, -0.655217, -0.469385> + 16279: < 0.624909, -0.624909, -0.467950> + 16280: < 0.647247, -0.647247, -0.402668> + 16281: < 0.611427, -0.680859, -0.403223> + 16282: < 0.601963, -0.668312, -0.437036> + 16283: < 0.636296, -0.636296, -0.436181> + 16284: < 0.657511, -0.657511, -0.367912> + 16285: < 0.620305, -0.692544, -0.368246> + 16286: < 0.611427, -0.680859, -0.403223> + 16287: < 0.647247, -0.647247, -0.402668> + 16288: < 0.667130, -0.667130, -0.331474> + 16289: < 0.628603, -0.703467, -0.331652> + 16290: < 0.620305, -0.692544, -0.368246> + 16291: < 0.657511, -0.657511, -0.367912> + 16292: < 0.675899, -0.675899, -0.293804> + 16293: < 0.636150, -0.713396, -0.293904> + 16294: < 0.628603, -0.703467, -0.331652> + 16295: < 0.667130, -0.667130, -0.331474> + 16296: < 0.683620, -0.683620, -0.255594> + 16297: < 0.642833, -0.722093, -0.255632> + 16298: < 0.636150, -0.713396, -0.293904> + 16299: < 0.675899, -0.675899, -0.293804> + 16300: < 0.690307, -0.690307, -0.216684> + 16301: < 0.648606, -0.729636, -0.216660> + 16302: < 0.642833, -0.722093, -0.255632> + 16303: < 0.683620, -0.683620, -0.255594> + 16304: < 0.695976, -0.695976, -0.176733> + 16305: < 0.653502, -0.736025, -0.176644> + 16306: < 0.648606, -0.729636, -0.216660> + 16307: < 0.690307, -0.690307, -0.216684> + 16308: < 0.700600, -0.700600, -0.135353> + 16309: < 0.657468, -0.741243, -0.135260> + 16310: < 0.653502, -0.736025, -0.176644> + 16311: < 0.695976, -0.695976, -0.176733> + 16312: < 0.704093, -0.704093, -0.092231> + 16313: < 0.660463, -0.745184, -0.092137> + 16314: < 0.657468, -0.741243, -0.135260> + 16315: < 0.700600, -0.700600, -0.135353> + 16316: < 0.706323, -0.706323, -0.047060> + 16317: < 0.662354, -0.747715, -0.046999> + 16318: < 0.660463, -0.745184, -0.092137> + 16319: < 0.704093, -0.704093, -0.092231> + 16320: < 0.707107, -0.707107, 0.000000> + 16321: < 0.663024, -0.748599, 0.000000> + 16322: < 0.662354, -0.747715, -0.046999> + 16323: < 0.706323, -0.706323, -0.047060> + 16324: < 0.706323, -0.706323, 0.047060> + 16325: < 0.662354, -0.747715, 0.046999> + 16326: < 0.663024, -0.748599, 0.000000> + 16327: < 0.707107, -0.707107, 0.000000> + 16328: < 0.704093, -0.704093, 0.092231> + 16329: < 0.660463, -0.745184, 0.092137> + 16330: < 0.662354, -0.747715, 0.046999> + 16331: < 0.706323, -0.706323, 0.047060> + 16332: < 0.700600, -0.700600, 0.135353> + 16333: < 0.657468, -0.741243, 0.135260> + 16334: < 0.660463, -0.745184, 0.092137> + 16335: < 0.704093, -0.704093, 0.092231> + 16336: < 0.695976, -0.695976, 0.176733> + 16337: < 0.653502, -0.736025, 0.176644> + 16338: < 0.657468, -0.741243, 0.135260> + 16339: < 0.700600, -0.700600, 0.135353> + 16340: < 0.690307, -0.690307, 0.216684> + 16341: < 0.648606, -0.729636, 0.216660> + 16342: < 0.653502, -0.736025, 0.176644> + 16343: < 0.695976, -0.695976, 0.176733> + 16344: < 0.683620, -0.683620, 0.255594> + 16345: < 0.642833, -0.722093, 0.255632> + 16346: < 0.648606, -0.729636, 0.216660> + 16347: < 0.690307, -0.690307, 0.216684> + 16348: < 0.675899, -0.675899, 0.293804> + 16349: < 0.636150, -0.713396, 0.293904> + 16350: < 0.642833, -0.722093, 0.255632> + 16351: < 0.683620, -0.683620, 0.255594> + 16352: < 0.667130, -0.667130, 0.331474> + 16353: < 0.628603, -0.703467, 0.331652> + 16354: < 0.636150, -0.713396, 0.293904> + 16355: < 0.675899, -0.675899, 0.293804> + 16356: < 0.657511, -0.657511, 0.367912> + 16357: < 0.620305, -0.692544, 0.368246> + 16358: < 0.628603, -0.703467, 0.331652> + 16359: < 0.667130, -0.667130, 0.331474> + 16360: < 0.647247, -0.647247, 0.402668> + 16361: < 0.611427, -0.680859, 0.403223> + 16362: < 0.620305, -0.692544, 0.368246> + 16363: < 0.657511, -0.657511, 0.367912> + 16364: < 0.636296, -0.636296, 0.436181> + 16365: < 0.601963, -0.668312, 0.437036> + 16366: < 0.611427, -0.680859, 0.403223> + 16367: < 0.647247, -0.647247, 0.402668> + 16368: < 0.624909, -0.624909, 0.467950> + 16369: < 0.591920, -0.655217, 0.469385> + 16370: < 0.601963, -0.668312, 0.437036> + 16371: < 0.636296, -0.636296, 0.436181> + 16372: < 0.613379, -0.613379, 0.497527> + 16373: < 0.581456, -0.641397, 0.500519> + 16374: < 0.591920, -0.655217, 0.469385> + 16375: < 0.624909, -0.624909, 0.467950> + 16376: < 0.601188, -0.601188, 0.526447> + 16377: < 0.571076, -0.625584, 0.531523> + 16378: < 0.581456, -0.641397, 0.500519> + 16379: < 0.613379, -0.613379, 0.497527> + 16380: < 0.588539, -0.588539, 0.554296> + 16381: < 0.561516, -0.607783, 0.561516> + 16382: < 0.571076, -0.625584, 0.531523> + 16383: < 0.601188, -0.601188, 0.526447> + 16384: <-0.607783, -0.561516, 0.561516> + 16385: <-0.625584, -0.531523, 0.571076> + 16386: <-0.647334, -0.538962, 0.538962> + 16387: <-0.625584, -0.571076, 0.531523> + 16388: <-0.625584, -0.531523, 0.571076> + 16389: <-0.641397, -0.500519, 0.581456> + 16390: <-0.666144, -0.506040, 0.547882> + 16391: <-0.647334, -0.538962, 0.538962> + 16392: <-0.641397, -0.500519, 0.581456> + 16393: <-0.655217, -0.469385, 0.591920> + 16394: <-0.682532, -0.473139, 0.557037> + 16395: <-0.666144, -0.506040, 0.547882> + 16396: <-0.655217, -0.469385, 0.591920> + 16397: <-0.668312, -0.437036, 0.601963> + 16398: <-0.697667, -0.439475, 0.565794> + 16399: <-0.682532, -0.473139, 0.557037> + 16400: <-0.668312, -0.437036, 0.601963> + 16401: <-0.680859, -0.403223, 0.611427> + 16402: <-0.711772, -0.404839, 0.574008> + 16403: <-0.697667, -0.439475, 0.565794> + 16404: <-0.680859, -0.403223, 0.611427> + 16405: <-0.692544, -0.368246, 0.620305> + 16406: <-0.724825, -0.369188, 0.581661> + 16407: <-0.711772, -0.404839, 0.574008> + 16408: <-0.692544, -0.368246, 0.620305> + 16409: <-0.703467, -0.331652, 0.628603> + 16410: <-0.736907, -0.332197, 0.588738> + 16411: <-0.724825, -0.369188, 0.581661> + 16412: <-0.703467, -0.331652, 0.628603> + 16413: <-0.713396, -0.293904, 0.636150> + 16414: <-0.747816, -0.294207, 0.595158> + 16415: <-0.736907, -0.332197, 0.588738> + 16416: <-0.713396, -0.293904, 0.636150> + 16417: <-0.722093, -0.255632, 0.642833> + 16418: <-0.757361, -0.255750, 0.600829> + 16419: <-0.747816, -0.294207, 0.595158> + 16420: <-0.722093, -0.255632, 0.642833> + 16421: <-0.729636, -0.216660, 0.648606> + 16422: <-0.765608, -0.216596, 0.605748> + 16423: <-0.757361, -0.255750, 0.600829> + 16424: <-0.729636, -0.216660, 0.648606> + 16425: <-0.736025, -0.176644, 0.653502> + 16426: <-0.772589, -0.176461, 0.609892> + 16427: <-0.765608, -0.216596, 0.605748> + 16428: <-0.736025, -0.176644, 0.653502> + 16429: <-0.741243, -0.135260, 0.657468> + 16430: <-0.778292, -0.135015, 0.613215> + 16431: <-0.772589, -0.176461, 0.609892> + 16432: <-0.741243, -0.135260, 0.657468> + 16433: <-0.745184, -0.092137, 0.660463> + 16434: <-0.782607, -0.091894, 0.615697> + 16435: <-0.778292, -0.135015, 0.613215> + 16436: <-0.745184, -0.092137, 0.660463> + 16437: <-0.747715, -0.046999, 0.662354> + 16438: <-0.785375, -0.046847, 0.617246> + 16439: <-0.782607, -0.091894, 0.615697> + 16440: <-0.747715, -0.046999, 0.662354> + 16441: <-0.748599, 0.000000, 0.663024> + 16442: <-0.786344, 0.000000, 0.617789> + 16443: <-0.785375, -0.046847, 0.617246> + 16444: <-0.748599, 0.000000, 0.663024> + 16445: <-0.747715, 0.046999, 0.662354> + 16446: <-0.785375, 0.046847, 0.617246> + 16447: <-0.786344, 0.000000, 0.617789> + 16448: <-0.747715, 0.046999, 0.662354> + 16449: <-0.745184, 0.092137, 0.660463> + 16450: <-0.782607, 0.091894, 0.615697> + 16451: <-0.785375, 0.046847, 0.617246> + 16452: <-0.745184, 0.092137, 0.660463> + 16453: <-0.741243, 0.135260, 0.657468> + 16454: <-0.778309, 0.134988, 0.613199> + 16455: <-0.782607, 0.091894, 0.615697> + 16456: <-0.741243, 0.135260, 0.657468> + 16457: <-0.736025, 0.176644, 0.653502> + 16458: <-0.772589, 0.176461, 0.609892> + 16459: <-0.778309, 0.134988, 0.613199> + 16460: <-0.736025, 0.176644, 0.653502> + 16461: <-0.729636, 0.216660, 0.648606> + 16462: <-0.765608, 0.216596, 0.605748> + 16463: <-0.772589, 0.176461, 0.609892> + 16464: <-0.729636, 0.216660, 0.648606> + 16465: <-0.722093, 0.255632, 0.642833> + 16466: <-0.757361, 0.255750, 0.600829> + 16467: <-0.765608, 0.216596, 0.605748> + 16468: <-0.722093, 0.255632, 0.642833> + 16469: <-0.713396, 0.293904, 0.636150> + 16470: <-0.747816, 0.294207, 0.595158> + 16471: <-0.757361, 0.255750, 0.600829> + 16472: <-0.713396, 0.293904, 0.636150> + 16473: <-0.703467, 0.331652, 0.628603> + 16474: <-0.736915, 0.332170, 0.588744> + 16475: <-0.747816, 0.294207, 0.595158> + 16476: <-0.703467, 0.331652, 0.628603> + 16477: <-0.692544, 0.368246, 0.620305> + 16478: <-0.724825, 0.369188, 0.581661> + 16479: <-0.736915, 0.332170, 0.588744> + 16480: <-0.692544, 0.368246, 0.620305> + 16481: <-0.680859, 0.403223, 0.611427> + 16482: <-0.711772, 0.404839, 0.574008> + 16483: <-0.724825, 0.369188, 0.581661> + 16484: <-0.680859, 0.403223, 0.611427> + 16485: <-0.668312, 0.437036, 0.601963> + 16486: <-0.697667, 0.439475, 0.565794> + 16487: <-0.711772, 0.404839, 0.574008> + 16488: <-0.668312, 0.437036, 0.601963> + 16489: <-0.655217, 0.469385, 0.591920> + 16490: <-0.682532, 0.473139, 0.557037> + 16491: <-0.697667, 0.439475, 0.565794> + 16492: <-0.655217, 0.469385, 0.591920> + 16493: <-0.641406, 0.500496, 0.581465> + 16494: <-0.666144, 0.506040, 0.547882> + 16495: <-0.682532, 0.473139, 0.557037> + 16496: <-0.641406, 0.500496, 0.581465> + 16497: <-0.625584, 0.531523, 0.571076> + 16498: <-0.647334, 0.538962, 0.538962> + 16499: <-0.666144, 0.506040, 0.547882> + 16500: <-0.625584, 0.531523, 0.571076> + 16501: <-0.607783, 0.561516, 0.561516> + 16502: <-0.625584, 0.571076, 0.531523> + 16503: <-0.647334, 0.538962, 0.538962> + 16504: <-0.625584, -0.571076, 0.531523> + 16505: <-0.647334, -0.538962, 0.538962> + 16506: <-0.666144, -0.547882, 0.506040> + 16507: <-0.641397, -0.581456, 0.500519> + 16508: <-0.647334, -0.538962, 0.538962> + 16509: <-0.666144, -0.506040, 0.547882> + 16510: <-0.687856, -0.513252, 0.513252> + 16511: <-0.666144, -0.547882, 0.506040> + 16512: <-0.666144, -0.506040, 0.547882> + 16513: <-0.682532, -0.473139, 0.557037> + 16514: <-0.706895, -0.478425, 0.520969> + 16515: <-0.687856, -0.513252, 0.513252> + 16516: <-0.682532, -0.473139, 0.557037> + 16517: <-0.697667, -0.439475, 0.565794> + 16518: <-0.724109, -0.443145, 0.528478> + 16519: <-0.706895, -0.478425, 0.520969> + 16520: <-0.697667, -0.439475, 0.565794> + 16521: <-0.711772, -0.404839, 0.574008> + 16522: <-0.739812, -0.407307, 0.535518> + 16523: <-0.724109, -0.443145, 0.528478> + 16524: <-0.711772, -0.404839, 0.574008> + 16525: <-0.724825, -0.369188, 0.581661> + 16526: <-0.754169, -0.370721, 0.542028> + 16527: <-0.739812, -0.407307, 0.535518> + 16528: <-0.724825, -0.369188, 0.581661> + 16529: <-0.736907, -0.332197, 0.588738> + 16530: <-0.767292, -0.333090, 0.548009> + 16531: <-0.754169, -0.370721, 0.542028> + 16532: <-0.736907, -0.332197, 0.588738> + 16533: <-0.747816, -0.294207, 0.595158> + 16534: <-0.779017, -0.294729, 0.553415> + 16535: <-0.767292, -0.333090, 0.548009> + 16536: <-0.747816, -0.294207, 0.595158> + 16537: <-0.757361, -0.255750, 0.600829> + 16538: <-0.789266, -0.255937, 0.558172> + 16539: <-0.779017, -0.294729, 0.553415> + 16540: <-0.757361, -0.255750, 0.600829> + 16541: <-0.765608, -0.216596, 0.605748> + 16542: <-0.798110, -0.216534, 0.562257> + 16543: <-0.789266, -0.255937, 0.558172> + 16544: <-0.765608, -0.216596, 0.605748> + 16545: <-0.772589, -0.176461, 0.609892> + 16546: <-0.805587, -0.176188, 0.565675> + 16547: <-0.798110, -0.216534, 0.562257> + 16548: <-0.772589, -0.176461, 0.609892> + 16549: <-0.778292, -0.135015, 0.613215> + 16550: <-0.811677, -0.134618, 0.568382> + 16551: <-0.805587, -0.176188, 0.565675> + 16552: <-0.778292, -0.135015, 0.613215> + 16553: <-0.782607, -0.091894, 0.615697> + 16554: <-0.816271, -0.091497, 0.570377> + 16555: <-0.811677, -0.134618, 0.568382> + 16556: <-0.782607, -0.091894, 0.615697> + 16557: <-0.785375, -0.046847, 0.617246> + 16558: <-0.819208, -0.046573, 0.571602> + 16559: <-0.816271, -0.091497, 0.570377> + 16560: <-0.785375, -0.046847, 0.617246> + 16561: <-0.786344, 0.000000, 0.617789> + 16562: <-0.820237, 0.000000, 0.572024> + 16563: <-0.819208, -0.046573, 0.571602> + 16564: <-0.786344, 0.000000, 0.617789> + 16565: <-0.785375, 0.046847, 0.617246> + 16566: <-0.819208, 0.046573, 0.571602> + 16567: <-0.820237, 0.000000, 0.572024> + 16568: <-0.785375, 0.046847, 0.617246> + 16569: <-0.782607, 0.091894, 0.615697> + 16570: <-0.816271, 0.091497, 0.570377> + 16571: <-0.819208, 0.046573, 0.571602> + 16572: <-0.782607, 0.091894, 0.615697> + 16573: <-0.778309, 0.134988, 0.613199> + 16574: <-0.811677, 0.134618, 0.568382> + 16575: <-0.816271, 0.091497, 0.570377> + 16576: <-0.778309, 0.134988, 0.613199> + 16577: <-0.772589, 0.176461, 0.609892> + 16578: <-0.805587, 0.176188, 0.565675> + 16579: <-0.811677, 0.134618, 0.568382> + 16580: <-0.772589, 0.176461, 0.609892> + 16581: <-0.765608, 0.216596, 0.605748> + 16582: <-0.798110, 0.216534, 0.562257> + 16583: <-0.805587, 0.176188, 0.565675> + 16584: <-0.765608, 0.216596, 0.605748> + 16585: <-0.757361, 0.255750, 0.600829> + 16586: <-0.789266, 0.255937, 0.558172> + 16587: <-0.798110, 0.216534, 0.562257> + 16588: <-0.757361, 0.255750, 0.600829> + 16589: <-0.747816, 0.294207, 0.595158> + 16590: <-0.779017, 0.294729, 0.553415> + 16591: <-0.789266, 0.255937, 0.558172> + 16592: <-0.747816, 0.294207, 0.595158> + 16593: <-0.736915, 0.332170, 0.588744> + 16594: <-0.767292, 0.333090, 0.548009> + 16595: <-0.779017, 0.294729, 0.553415> + 16596: <-0.736915, 0.332170, 0.588744> + 16597: <-0.724825, 0.369188, 0.581661> + 16598: <-0.754169, 0.370721, 0.542028> + 16599: <-0.767292, 0.333090, 0.548009> + 16600: <-0.724825, 0.369188, 0.581661> + 16601: <-0.711772, 0.404839, 0.574008> + 16602: <-0.739812, 0.407307, 0.535518> + 16603: <-0.754169, 0.370721, 0.542028> + 16604: <-0.711772, 0.404839, 0.574008> + 16605: <-0.697667, 0.439475, 0.565794> + 16606: <-0.724109, 0.443145, 0.528478> + 16607: <-0.739812, 0.407307, 0.535518> + 16608: <-0.697667, 0.439475, 0.565794> + 16609: <-0.682532, 0.473139, 0.557037> + 16610: <-0.706895, 0.478425, 0.520969> + 16611: <-0.724109, 0.443145, 0.528478> + 16612: <-0.682532, 0.473139, 0.557037> + 16613: <-0.666144, 0.506040, 0.547882> + 16614: <-0.687856, 0.513252, 0.513252> + 16615: <-0.706895, 0.478425, 0.520969> + 16616: <-0.666144, 0.506040, 0.547882> + 16617: <-0.647334, 0.538962, 0.538962> + 16618: <-0.666144, 0.547882, 0.506040> + 16619: <-0.687856, 0.513252, 0.513252> + 16620: <-0.647334, 0.538962, 0.538962> + 16621: <-0.625584, 0.571076, 0.531523> + 16622: <-0.641397, 0.581456, 0.500519> + 16623: <-0.666144, 0.547882, 0.506040> + 16624: <-0.641397, -0.581456, 0.500519> + 16625: <-0.666144, -0.547882, 0.506040> + 16626: <-0.682532, -0.557037, 0.473139> + 16627: <-0.655217, -0.591920, 0.469385> + 16628: <-0.666144, -0.547882, 0.506040> + 16629: <-0.687856, -0.513252, 0.513252> + 16630: <-0.706895, -0.520969, 0.478425> + 16631: <-0.682532, -0.557037, 0.473139> + 16632: <-0.687856, -0.513252, 0.513252> + 16633: <-0.706895, -0.478425, 0.520969> + 16634: <-0.728461, -0.484430, 0.484430> + 16635: <-0.706895, -0.520969, 0.478425> + 16636: <-0.706895, -0.478425, 0.520969> + 16637: <-0.724109, -0.443145, 0.528478> + 16638: <-0.747688, -0.447593, 0.490534> + 16639: <-0.728461, -0.484430, 0.484430> + 16640: <-0.724109, -0.443145, 0.528478> + 16641: <-0.739812, -0.407307, 0.535518> + 16642: <-0.764964, -0.410392, 0.496395> + 16643: <-0.747688, -0.447593, 0.490534> + 16644: <-0.739812, -0.407307, 0.535518> + 16645: <-0.754169, -0.370721, 0.542028> + 16646: <-0.780568, -0.372705, 0.501802> + 16647: <-0.764964, -0.410392, 0.496395> + 16648: <-0.754169, -0.370721, 0.542028> + 16649: <-0.767292, -0.333090, 0.548009> + 16650: <-0.794627, -0.334337, 0.506740> + 16651: <-0.780568, -0.372705, 0.501802> + 16652: <-0.767292, -0.333090, 0.548009> + 16653: <-0.779017, -0.294729, 0.553415> + 16654: <-0.807082, -0.295457, 0.511198> + 16655: <-0.794627, -0.334337, 0.506740> + 16656: <-0.779017, -0.294729, 0.553415> + 16657: <-0.789266, -0.255937, 0.558172> + 16658: <-0.817925, -0.256243, 0.515110> + 16659: <-0.807082, -0.295457, 0.511198> + 16660: <-0.789266, -0.255937, 0.558172> + 16661: <-0.798110, -0.216534, 0.562257> + 16662: <-0.827263, -0.216475, 0.518435> + 16663: <-0.817925, -0.256243, 0.515110> + 16664: <-0.798110, -0.216534, 0.562257> + 16665: <-0.805587, -0.176188, 0.565675> + 16666: <-0.835133, -0.175853, 0.521180> + 16667: <-0.827263, -0.216475, 0.518435> + 16668: <-0.805587, -0.176188, 0.565675> + 16669: <-0.811677, -0.134618, 0.568382> + 16670: <-0.841527, -0.134100, 0.523307> + 16671: <-0.835133, -0.175853, 0.521180> + 16672: <-0.811677, -0.134618, 0.568382> + 16673: <-0.816271, -0.091497, 0.570377> + 16674: <-0.846324, -0.091008, 0.524836> + 16675: <-0.841527, -0.134100, 0.523307> + 16676: <-0.816271, -0.091497, 0.570377> + 16677: <-0.819208, -0.046573, 0.571602> + 16678: <-0.849378, -0.046267, 0.525753> + 16679: <-0.846324, -0.091008, 0.524836> + 16680: <-0.819208, -0.046573, 0.571602> + 16681: <-0.820237, 0.000000, 0.572024> + 16682: <-0.850434, 0.000000, 0.526081> + 16683: <-0.849378, -0.046267, 0.525753> + 16684: <-0.820237, 0.000000, 0.572024> + 16685: <-0.819208, 0.046573, 0.571602> + 16686: <-0.849378, 0.046267, 0.525753> + 16687: <-0.850434, 0.000000, 0.526081> + 16688: <-0.819208, 0.046573, 0.571602> + 16689: <-0.816271, 0.091497, 0.570377> + 16690: <-0.846324, 0.091008, 0.524836> + 16691: <-0.849378, 0.046267, 0.525753> + 16692: <-0.816271, 0.091497, 0.570377> + 16693: <-0.811677, 0.134618, 0.568382> + 16694: <-0.841527, 0.134100, 0.523307> + 16695: <-0.846324, 0.091008, 0.524836> + 16696: <-0.811677, 0.134618, 0.568382> + 16697: <-0.805587, 0.176188, 0.565675> + 16698: <-0.835133, 0.175853, 0.521180> + 16699: <-0.841527, 0.134100, 0.523307> + 16700: <-0.805587, 0.176188, 0.565675> + 16701: <-0.798110, 0.216534, 0.562257> + 16702: <-0.827263, 0.216475, 0.518435> + 16703: <-0.835133, 0.175853, 0.521180> + 16704: <-0.798110, 0.216534, 0.562257> + 16705: <-0.789266, 0.255937, 0.558172> + 16706: <-0.817925, 0.256243, 0.515110> + 16707: <-0.827263, 0.216475, 0.518435> + 16708: <-0.789266, 0.255937, 0.558172> + 16709: <-0.779017, 0.294729, 0.553415> + 16710: <-0.807082, 0.295457, 0.511198> + 16711: <-0.817925, 0.256243, 0.515110> + 16712: <-0.779017, 0.294729, 0.553415> + 16713: <-0.767292, 0.333090, 0.548009> + 16714: <-0.794627, 0.334337, 0.506740> + 16715: <-0.807082, 0.295457, 0.511198> + 16716: <-0.767292, 0.333090, 0.548009> + 16717: <-0.754169, 0.370721, 0.542028> + 16718: <-0.780568, 0.372705, 0.501802> + 16719: <-0.794627, 0.334337, 0.506740> + 16720: <-0.754169, 0.370721, 0.542028> + 16721: <-0.739812, 0.407307, 0.535518> + 16722: <-0.764964, 0.410392, 0.496395> + 16723: <-0.780568, 0.372705, 0.501802> + 16724: <-0.739812, 0.407307, 0.535518> + 16725: <-0.724109, 0.443145, 0.528478> + 16726: <-0.747688, 0.447593, 0.490534> + 16727: <-0.764964, 0.410392, 0.496395> + 16728: <-0.724109, 0.443145, 0.528478> + 16729: <-0.706895, 0.478425, 0.520969> + 16730: <-0.728461, 0.484430, 0.484430> + 16731: <-0.747688, 0.447593, 0.490534> + 16732: <-0.706895, 0.478425, 0.520969> + 16733: <-0.687856, 0.513252, 0.513252> + 16734: <-0.706895, 0.520969, 0.478425> + 16735: <-0.728461, 0.484430, 0.484430> + 16736: <-0.687856, 0.513252, 0.513252> + 16737: <-0.666144, 0.547882, 0.506040> + 16738: <-0.682532, 0.557037, 0.473139> + 16739: <-0.706895, 0.520969, 0.478425> + 16740: <-0.666144, 0.547882, 0.506040> + 16741: <-0.641397, 0.581456, 0.500519> + 16742: <-0.655217, 0.591920, 0.469385> + 16743: <-0.682532, 0.557037, 0.473139> + 16744: <-0.655217, -0.591920, 0.469385> + 16745: <-0.682532, -0.557037, 0.473139> + 16746: <-0.697667, -0.565794, 0.439475> + 16747: <-0.668312, -0.601963, 0.437036> + 16748: <-0.682532, -0.557037, 0.473139> + 16749: <-0.706895, -0.520969, 0.478425> + 16750: <-0.724109, -0.528478, 0.443145> + 16751: <-0.697667, -0.565794, 0.439475> + 16752: <-0.706895, -0.520969, 0.478425> + 16753: <-0.728461, -0.484430, 0.484430> + 16754: <-0.747688, -0.490534, 0.447593> + 16755: <-0.724109, -0.528478, 0.443145> + 16756: <-0.728461, -0.484430, 0.484430> + 16757: <-0.747688, -0.447593, 0.490534> + 16758: <-0.768679, -0.452290, 0.452290> + 16759: <-0.747688, -0.490534, 0.447593> + 16760: <-0.747688, -0.447593, 0.490534> + 16761: <-0.764964, -0.410392, 0.496395> + 16762: <-0.787421, -0.413777, 0.456900> + 16763: <-0.768679, -0.452290, 0.452290> + 16764: <-0.764964, -0.410392, 0.496395> + 16765: <-0.780568, -0.372705, 0.501802> + 16766: <-0.804154, -0.374961, 0.461239> + 16767: <-0.787421, -0.413777, 0.456900> + 16768: <-0.780568, -0.372705, 0.501802> + 16769: <-0.794627, -0.334337, 0.506740> + 16770: <-0.819039, -0.335801, 0.465202> + 16771: <-0.804154, -0.374961, 0.461239> + 16772: <-0.794627, -0.334337, 0.506740> + 16773: <-0.807082, -0.295457, 0.511198> + 16774: <-0.832128, -0.296339, 0.468770> + 16775: <-0.819039, -0.335801, 0.465202> + 16776: <-0.807082, -0.295457, 0.511198> + 16777: <-0.817925, -0.256243, 0.515110> + 16778: <-0.843490, -0.256606, 0.471888> + 16779: <-0.832128, -0.296339, 0.468770> + 16780: <-0.817925, -0.256243, 0.515110> + 16781: <-0.827263, -0.216475, 0.518435> + 16782: <-0.853230, -0.216413, 0.474515> + 16783: <-0.843490, -0.256606, 0.471888> + 16784: <-0.827263, -0.216475, 0.518435> + 16785: <-0.835133, -0.175853, 0.521180> + 16786: <-0.861426, -0.175453, 0.476614> + 16787: <-0.853230, -0.216413, 0.474515> + 16788: <-0.835133, -0.175853, 0.521180> + 16789: <-0.841527, -0.134100, 0.523307> + 16790: <-0.868033, -0.133553, 0.478208> + 16791: <-0.861426, -0.175453, 0.476614> + 16792: <-0.841527, -0.134100, 0.523307> + 16793: <-0.846324, -0.091008, 0.524836> + 16794: <-0.872976, -0.090429, 0.479307> + 16795: <-0.868033, -0.133553, 0.478208> + 16796: <-0.846324, -0.091008, 0.524836> + 16797: <-0.849378, -0.046267, 0.525753> + 16798: <-0.876095, -0.045871, 0.479951> + 16799: <-0.872976, -0.090429, 0.479307> + 16800: <-0.849378, -0.046267, 0.525753> + 16801: <-0.850434, 0.000000, 0.526081> + 16802: <-0.877169, 0.000000, 0.480182> + 16803: <-0.876095, -0.045871, 0.479951> + 16804: <-0.850434, 0.000000, 0.526081> + 16805: <-0.849378, 0.046267, 0.525753> + 16806: <-0.876095, 0.045871, 0.479951> + 16807: <-0.877169, 0.000000, 0.480182> + 16808: <-0.849378, 0.046267, 0.525753> + 16809: <-0.846324, 0.091008, 0.524836> + 16810: <-0.872976, 0.090429, 0.479307> + 16811: <-0.876095, 0.045871, 0.479951> + 16812: <-0.846324, 0.091008, 0.524836> + 16813: <-0.841527, 0.134100, 0.523307> + 16814: <-0.868033, 0.133553, 0.478208> + 16815: <-0.872976, 0.090429, 0.479307> + 16816: <-0.841527, 0.134100, 0.523307> + 16817: <-0.835133, 0.175853, 0.521180> + 16818: <-0.861426, 0.175453, 0.476614> + 16819: <-0.868033, 0.133553, 0.478208> + 16820: <-0.835133, 0.175853, 0.521180> + 16821: <-0.827263, 0.216475, 0.518435> + 16822: <-0.853230, 0.216413, 0.474515> + 16823: <-0.861426, 0.175453, 0.476614> + 16824: <-0.827263, 0.216475, 0.518435> + 16825: <-0.817925, 0.256243, 0.515110> + 16826: <-0.843490, 0.256606, 0.471888> + 16827: <-0.853230, 0.216413, 0.474515> + 16828: <-0.817925, 0.256243, 0.515110> + 16829: <-0.807082, 0.295457, 0.511198> + 16830: <-0.832128, 0.296339, 0.468770> + 16831: <-0.843490, 0.256606, 0.471888> + 16832: <-0.807082, 0.295457, 0.511198> + 16833: <-0.794627, 0.334337, 0.506740> + 16834: <-0.819039, 0.335801, 0.465202> + 16835: <-0.832128, 0.296339, 0.468770> + 16836: <-0.794627, 0.334337, 0.506740> + 16837: <-0.780568, 0.372705, 0.501802> + 16838: <-0.804154, 0.374961, 0.461239> + 16839: <-0.819039, 0.335801, 0.465202> + 16840: <-0.780568, 0.372705, 0.501802> + 16841: <-0.764964, 0.410392, 0.496395> + 16842: <-0.787421, 0.413777, 0.456900> + 16843: <-0.804154, 0.374961, 0.461239> + 16844: <-0.764964, 0.410392, 0.496395> + 16845: <-0.747688, 0.447593, 0.490534> + 16846: <-0.768679, 0.452290, 0.452290> + 16847: <-0.787421, 0.413777, 0.456900> + 16848: <-0.747688, 0.447593, 0.490534> + 16849: <-0.728461, 0.484430, 0.484430> + 16850: <-0.747688, 0.490534, 0.447593> + 16851: <-0.768679, 0.452290, 0.452290> + 16852: <-0.728461, 0.484430, 0.484430> + 16853: <-0.706895, 0.520969, 0.478425> + 16854: <-0.724109, 0.528478, 0.443145> + 16855: <-0.747688, 0.490534, 0.447593> + 16856: <-0.706895, 0.520969, 0.478425> + 16857: <-0.682532, 0.557037, 0.473139> + 16858: <-0.697667, 0.565794, 0.439475> + 16859: <-0.724109, 0.528478, 0.443145> + 16860: <-0.682532, 0.557037, 0.473139> + 16861: <-0.655217, 0.591920, 0.469385> + 16862: <-0.668312, 0.601963, 0.437036> + 16863: <-0.697667, 0.565794, 0.439475> + 16864: <-0.668312, -0.601963, 0.437036> + 16865: <-0.697667, -0.565794, 0.439475> + 16866: <-0.711772, -0.574008, 0.404839> + 16867: <-0.680859, -0.611427, 0.403223> + 16868: <-0.697667, -0.565794, 0.439475> + 16869: <-0.724109, -0.528478, 0.443145> + 16870: <-0.739812, -0.535518, 0.407307> + 16871: <-0.711772, -0.574008, 0.404839> + 16872: <-0.724109, -0.528478, 0.443145> + 16873: <-0.747688, -0.490534, 0.447593> + 16874: <-0.764976, -0.496372, 0.410398> + 16875: <-0.739812, -0.535518, 0.407307> + 16876: <-0.747688, -0.490534, 0.447593> + 16877: <-0.768679, -0.452290, 0.452290> + 16878: <-0.787421, -0.456900, 0.413777> + 16879: <-0.764976, -0.496372, 0.410398> + 16880: <-0.768679, -0.452290, 0.452290> + 16881: <-0.787421, -0.413777, 0.456900> + 16882: <-0.807394, -0.417202, 0.417202> + 16883: <-0.787421, -0.456900, 0.413777> + 16884: <-0.787421, -0.413777, 0.456900> + 16885: <-0.804154, -0.374961, 0.461239> + 16886: <-0.825100, -0.377345, 0.420500> + 16887: <-0.807394, -0.417202, 0.417202> + 16888: <-0.804154, -0.374961, 0.461239> + 16889: <-0.819039, -0.335801, 0.465202> + 16890: <-0.840684, -0.337391, 0.423577> + 16891: <-0.825100, -0.377345, 0.420500> + 16892: <-0.819039, -0.335801, 0.465202> + 16893: <-0.832128, -0.296339, 0.468770> + 16894: <-0.854324, -0.297287, 0.426323> + 16895: <-0.840684, -0.337391, 0.423577> + 16896: <-0.832128, -0.296339, 0.468770> + 16897: <-0.843490, -0.256606, 0.471888> + 16898: <-0.866124, -0.256999, 0.428698> + 16899: <-0.854324, -0.297287, 0.426323> + 16900: <-0.843490, -0.256606, 0.471888> + 16901: <-0.853230, -0.216413, 0.474515> + 16902: <-0.876208, -0.216320, 0.430657> + 16903: <-0.866124, -0.256999, 0.428698> + 16904: <-0.853230, -0.216413, 0.474515> + 16905: <-0.861426, -0.175453, 0.476614> + 16906: <-0.884654, -0.175026, 0.432149> + 16907: <-0.876208, -0.216320, 0.430657> + 16908: <-0.861426, -0.175453, 0.476614> + 16909: <-0.868033, -0.133553, 0.478208> + 16910: <-0.891405, -0.132911, 0.433281> + 16911: <-0.884654, -0.175026, 0.432149> + 16912: <-0.868033, -0.133553, 0.478208> + 16913: <-0.872976, -0.090429, 0.479307> + 16914: <-0.896437, -0.089787, 0.433981> + 16915: <-0.891405, -0.132911, 0.433281> + 16916: <-0.872976, -0.090429, 0.479307> + 16917: <-0.876095, -0.045871, 0.479951> + 16918: <-0.899583, -0.045443, 0.434379> + 16919: <-0.896437, -0.089787, 0.433981> + 16920: <-0.876095, -0.045871, 0.479951> + 16921: <-0.877169, 0.000000, 0.480182> + 16922: <-0.900655, 0.000000, 0.434534> + 16923: <-0.899583, -0.045443, 0.434379> + 16924: <-0.877169, 0.000000, 0.480182> + 16925: <-0.876095, 0.045871, 0.479951> + 16926: <-0.899583, 0.045443, 0.434379> + 16927: <-0.900655, 0.000000, 0.434534> + 16928: <-0.876095, 0.045871, 0.479951> + 16929: <-0.872976, 0.090429, 0.479307> + 16930: <-0.896437, 0.089787, 0.433981> + 16931: <-0.899583, 0.045443, 0.434379> + 16932: <-0.872976, 0.090429, 0.479307> + 16933: <-0.868033, 0.133553, 0.478208> + 16934: <-0.891405, 0.132911, 0.433281> + 16935: <-0.896437, 0.089787, 0.433981> + 16936: <-0.868033, 0.133553, 0.478208> + 16937: <-0.861426, 0.175453, 0.476614> + 16938: <-0.884654, 0.175026, 0.432149> + 16939: <-0.891405, 0.132911, 0.433281> + 16940: <-0.861426, 0.175453, 0.476614> + 16941: <-0.853230, 0.216413, 0.474515> + 16942: <-0.876208, 0.216320, 0.430657> + 16943: <-0.884654, 0.175026, 0.432149> + 16944: <-0.853230, 0.216413, 0.474515> + 16945: <-0.843490, 0.256606, 0.471888> + 16946: <-0.866124, 0.256999, 0.428698> + 16947: <-0.876208, 0.216320, 0.430657> + 16948: <-0.843490, 0.256606, 0.471888> + 16949: <-0.832128, 0.296339, 0.468770> + 16950: <-0.854324, 0.297287, 0.426323> + 16951: <-0.866124, 0.256999, 0.428698> + 16952: <-0.832128, 0.296339, 0.468770> + 16953: <-0.819039, 0.335801, 0.465202> + 16954: <-0.840684, 0.337391, 0.423577> + 16955: <-0.854324, 0.297287, 0.426323> + 16956: <-0.819039, 0.335801, 0.465202> + 16957: <-0.804154, 0.374961, 0.461239> + 16958: <-0.825100, 0.377345, 0.420500> + 16959: <-0.840684, 0.337391, 0.423577> + 16960: <-0.804154, 0.374961, 0.461239> + 16961: <-0.787421, 0.413777, 0.456900> + 16962: <-0.807394, 0.417202, 0.417202> + 16963: <-0.825100, 0.377345, 0.420500> + 16964: <-0.787421, 0.413777, 0.456900> + 16965: <-0.768679, 0.452290, 0.452290> + 16966: <-0.787421, 0.456900, 0.413777> + 16967: <-0.807394, 0.417202, 0.417202> + 16968: <-0.768679, 0.452290, 0.452290> + 16969: <-0.747688, 0.490534, 0.447593> + 16970: <-0.764976, 0.496372, 0.410398> + 16971: <-0.787421, 0.456900, 0.413777> + 16972: <-0.747688, 0.490534, 0.447593> + 16973: <-0.724109, 0.528478, 0.443145> + 16974: <-0.739812, 0.535518, 0.407307> + 16975: <-0.764976, 0.496372, 0.410398> + 16976: <-0.724109, 0.528478, 0.443145> + 16977: <-0.697667, 0.565794, 0.439475> + 16978: <-0.711772, 0.574008, 0.404839> + 16979: <-0.739812, 0.535518, 0.407307> + 16980: <-0.697667, 0.565794, 0.439475> + 16981: <-0.668312, 0.601963, 0.437036> + 16982: <-0.680859, 0.611427, 0.403223> + 16983: <-0.711772, 0.574008, 0.404839> + 16984: <-0.680859, -0.611427, 0.403223> + 16985: <-0.711772, -0.574008, 0.404839> + 16986: <-0.724825, -0.581661, 0.369188> + 16987: <-0.692544, -0.620305, 0.368246> + 16988: <-0.711772, -0.574008, 0.404839> + 16989: <-0.739812, -0.535518, 0.407307> + 16990: <-0.754169, -0.542028, 0.370721> + 16991: <-0.724825, -0.581661, 0.369188> + 16992: <-0.739812, -0.535518, 0.407307> + 16993: <-0.764976, -0.496372, 0.410398> + 16994: <-0.780568, -0.501802, 0.372705> + 16995: <-0.754169, -0.542028, 0.370721> + 16996: <-0.764976, -0.496372, 0.410398> + 16997: <-0.787421, -0.456900, 0.413777> + 16998: <-0.804154, -0.461239, 0.374961> + 16999: <-0.780568, -0.501802, 0.372705> + 17000: <-0.787421, -0.456900, 0.413777> + 17001: <-0.807394, -0.417202, 0.417202> + 17002: <-0.825100, -0.420500, 0.377345> + 17003: <-0.804154, -0.461239, 0.374961> + 17004: <-0.807394, -0.417202, 0.417202> + 17005: <-0.825100, -0.377345, 0.420500> + 17006: <-0.843551, -0.379751, 0.379751> + 17007: <-0.825100, -0.420500, 0.377345> + 17008: <-0.825100, -0.377345, 0.420500> + 17009: <-0.840684, -0.337391, 0.423577> + 17010: <-0.859750, -0.339005, 0.381976> + 17011: <-0.843551, -0.379751, 0.379751> + 17012: <-0.840684, -0.337391, 0.423577> + 17013: <-0.854324, -0.297287, 0.426323> + 17014: <-0.873848, -0.298231, 0.383989> + 17015: <-0.859750, -0.339005, 0.381976> + 17016: <-0.854324, -0.297287, 0.426323> + 17017: <-0.866124, -0.256999, 0.428698> + 17018: <-0.886018, -0.257364, 0.385664> + 17019: <-0.873848, -0.298231, 0.383989> + 17020: <-0.866124, -0.256999, 0.428698> + 17021: <-0.876208, -0.216320, 0.430657> + 17022: <-0.896382, -0.216199, 0.386985> + 17023: <-0.886018, -0.257364, 0.385664> + 17024: <-0.876208, -0.216320, 0.430657> + 17025: <-0.884654, -0.175026, 0.432149> + 17026: <-0.904997, -0.174541, 0.387965> + 17027: <-0.896382, -0.216199, 0.386985> + 17028: <-0.884654, -0.175026, 0.432149> + 17029: <-0.891405, -0.132911, 0.433281> + 17030: <-0.911854, -0.132240, 0.388632> + 17031: <-0.904997, -0.174541, 0.387965> + 17032: <-0.891405, -0.132911, 0.433281> + 17033: <-0.896437, -0.089787, 0.433981> + 17034: <-0.916918, -0.089116, 0.388998> + 17035: <-0.911854, -0.132240, 0.388632> + 17036: <-0.896437, -0.089787, 0.433981> + 17037: <-0.899583, -0.045443, 0.434379> + 17038: <-0.920061, -0.045016, 0.389180> + 17039: <-0.916918, -0.089116, 0.388998> + 17040: <-0.899583, -0.045443, 0.434379> + 17041: <-0.900655, 0.000000, 0.434534> + 17042: <-0.921135, 0.000000, 0.389244> + 17043: <-0.920061, -0.045016, 0.389180> + 17044: <-0.900655, 0.000000, 0.434534> + 17045: <-0.899583, 0.045443, 0.434379> + 17046: <-0.920061, 0.045016, 0.389180> + 17047: <-0.921135, 0.000000, 0.389244> + 17048: <-0.899583, 0.045443, 0.434379> + 17049: <-0.896437, 0.089787, 0.433981> + 17050: <-0.916918, 0.089116, 0.388998> + 17051: <-0.920061, 0.045016, 0.389180> + 17052: <-0.896437, 0.089787, 0.433981> + 17053: <-0.891405, 0.132911, 0.433281> + 17054: <-0.911854, 0.132240, 0.388632> + 17055: <-0.916918, 0.089116, 0.388998> + 17056: <-0.891405, 0.132911, 0.433281> + 17057: <-0.884654, 0.175026, 0.432149> + 17058: <-0.904997, 0.174541, 0.387965> + 17059: <-0.911854, 0.132240, 0.388632> + 17060: <-0.884654, 0.175026, 0.432149> + 17061: <-0.876208, 0.216320, 0.430657> + 17062: <-0.896382, 0.216199, 0.386985> + 17063: <-0.904997, 0.174541, 0.387965> + 17064: <-0.876208, 0.216320, 0.430657> + 17065: <-0.866124, 0.256999, 0.428698> + 17066: <-0.886018, 0.257364, 0.385664> + 17067: <-0.896382, 0.216199, 0.386985> + 17068: <-0.866124, 0.256999, 0.428698> + 17069: <-0.854324, 0.297287, 0.426323> + 17070: <-0.873840, 0.298259, 0.383986> + 17071: <-0.886018, 0.257364, 0.385664> + 17072: <-0.854324, 0.297287, 0.426323> + 17073: <-0.840684, 0.337391, 0.423577> + 17074: <-0.859750, 0.339005, 0.381976> + 17075: <-0.873840, 0.298259, 0.383986> + 17076: <-0.840684, 0.337391, 0.423577> + 17077: <-0.825100, 0.377345, 0.420500> + 17078: <-0.843551, 0.379751, 0.379751> + 17079: <-0.859750, 0.339005, 0.381976> + 17080: <-0.825100, 0.377345, 0.420500> + 17081: <-0.807394, 0.417202, 0.417202> + 17082: <-0.825100, 0.420500, 0.377345> + 17083: <-0.843551, 0.379751, 0.379751> + 17084: <-0.807394, 0.417202, 0.417202> + 17085: <-0.787421, 0.456900, 0.413777> + 17086: <-0.804154, 0.461239, 0.374961> + 17087: <-0.825100, 0.420500, 0.377345> + 17088: <-0.787421, 0.456900, 0.413777> + 17089: <-0.764976, 0.496372, 0.410398> + 17090: <-0.780568, 0.501802, 0.372705> + 17091: <-0.804154, 0.461239, 0.374961> + 17092: <-0.764976, 0.496372, 0.410398> + 17093: <-0.739812, 0.535518, 0.407307> + 17094: <-0.754169, 0.542028, 0.370721> + 17095: <-0.780568, 0.501802, 0.372705> + 17096: <-0.739812, 0.535518, 0.407307> + 17097: <-0.711772, 0.574008, 0.404839> + 17098: <-0.724825, 0.581661, 0.369188> + 17099: <-0.754169, 0.542028, 0.370721> + 17100: <-0.711772, 0.574008, 0.404839> + 17101: <-0.680859, 0.611427, 0.403223> + 17102: <-0.692544, 0.620305, 0.368246> + 17103: <-0.724825, 0.581661, 0.369188> + 17104: <-0.692544, -0.620305, 0.368246> + 17105: <-0.724825, -0.581661, 0.369188> + 17106: <-0.736915, -0.588744, 0.332170> + 17107: <-0.703467, -0.628603, 0.331652> + 17108: <-0.724825, -0.581661, 0.369188> + 17109: <-0.754169, -0.542028, 0.370721> + 17110: <-0.767292, -0.548009, 0.333090> + 17111: <-0.736915, -0.588744, 0.332170> + 17112: <-0.754169, -0.542028, 0.370721> + 17113: <-0.780568, -0.501802, 0.372705> + 17114: <-0.794627, -0.506740, 0.334337> + 17115: <-0.767292, -0.548009, 0.333090> + 17116: <-0.780568, -0.501802, 0.372705> + 17117: <-0.804154, -0.461239, 0.374961> + 17118: <-0.819039, -0.465202, 0.335801> + 17119: <-0.794627, -0.506740, 0.334337> + 17120: <-0.804154, -0.461239, 0.374961> + 17121: <-0.825100, -0.420500, 0.377345> + 17122: <-0.840684, -0.423577, 0.337391> + 17123: <-0.819039, -0.465202, 0.335801> + 17124: <-0.825100, -0.420500, 0.377345> + 17125: <-0.843551, -0.379751, 0.379751> + 17126: <-0.859750, -0.381976, 0.339005> + 17127: <-0.840684, -0.423577, 0.337391> + 17128: <-0.843551, -0.379751, 0.379751> + 17129: <-0.859750, -0.339005, 0.381976> + 17130: <-0.876422, -0.340503, 0.340503> + 17131: <-0.859750, -0.381976, 0.339005> + 17132: <-0.859750, -0.339005, 0.381976> + 17133: <-0.873848, -0.298231, 0.383989> + 17134: <-0.890906, -0.299085, 0.341811> + 17135: <-0.876422, -0.340503, 0.340503> + 17136: <-0.873848, -0.298231, 0.383989> + 17137: <-0.886018, -0.257364, 0.385664> + 17138: <-0.903367, -0.257643, 0.342852> + 17139: <-0.890906, -0.299085, 0.341811> + 17140: <-0.886018, -0.257364, 0.385664> + 17141: <-0.896382, -0.216199, 0.386985> + 17142: <-0.913949, -0.215982, 0.343582> + 17143: <-0.903367, -0.257643, 0.342852> + 17144: <-0.896382, -0.216199, 0.386985> + 17145: <-0.904997, -0.174541, 0.387965> + 17146: <-0.922682, -0.173989, 0.344072> + 17147: <-0.913949, -0.215982, 0.343582> + 17148: <-0.904997, -0.174541, 0.387965> + 17149: <-0.911854, -0.132240, 0.388632> + 17150: <-0.929596, -0.131509, 0.344322> + 17151: <-0.922682, -0.173989, 0.344072> + 17152: <-0.911854, -0.132240, 0.388632> + 17153: <-0.916918, -0.089116, 0.388998> + 17154: <-0.934648, -0.088414, 0.344408> + 17155: <-0.929596, -0.131509, 0.344322> + 17156: <-0.916918, -0.089116, 0.388998> + 17157: <-0.920061, -0.045016, 0.389180> + 17158: <-0.937762, -0.044558, 0.344409> + 17159: <-0.934648, -0.088414, 0.344408> + 17160: <-0.920061, -0.045016, 0.389180> + 17161: <-0.921135, 0.000000, 0.389244> + 17162: <-0.938821, 0.000000, 0.344405> + 17163: <-0.937762, -0.044558, 0.344409> + 17164: <-0.921135, 0.000000, 0.389244> + 17165: <-0.920061, 0.045016, 0.389180> + 17166: <-0.937762, 0.044558, 0.344409> + 17167: <-0.938821, 0.000000, 0.344405> + 17168: <-0.920061, 0.045016, 0.389180> + 17169: <-0.916918, 0.089116, 0.388998> + 17170: <-0.934648, 0.088414, 0.344408> + 17171: <-0.937762, 0.044558, 0.344409> + 17172: <-0.916918, 0.089116, 0.388998> + 17173: <-0.911854, 0.132240, 0.388632> + 17174: <-0.929596, 0.131509, 0.344322> + 17175: <-0.934648, 0.088414, 0.344408> + 17176: <-0.911854, 0.132240, 0.388632> + 17177: <-0.904997, 0.174541, 0.387965> + 17178: <-0.922682, 0.173989, 0.344072> + 17179: <-0.929596, 0.131509, 0.344322> + 17180: <-0.904997, 0.174541, 0.387965> + 17181: <-0.896382, 0.216199, 0.386985> + 17182: <-0.913949, 0.215982, 0.343582> + 17183: <-0.922682, 0.173989, 0.344072> + 17184: <-0.896382, 0.216199, 0.386985> + 17185: <-0.886018, 0.257364, 0.385664> + 17186: <-0.903367, 0.257643, 0.342852> + 17187: <-0.913949, 0.215982, 0.343582> + 17188: <-0.886018, 0.257364, 0.385664> + 17189: <-0.873840, 0.298259, 0.383986> + 17190: <-0.890906, 0.299085, 0.341811> + 17191: <-0.903367, 0.257643, 0.342852> + 17192: <-0.873840, 0.298259, 0.383986> + 17193: <-0.859750, 0.339005, 0.381976> + 17194: <-0.876422, 0.340503, 0.340503> + 17195: <-0.890906, 0.299085, 0.341811> + 17196: <-0.859750, 0.339005, 0.381976> + 17197: <-0.843551, 0.379751, 0.379751> + 17198: <-0.859750, 0.381976, 0.339005> + 17199: <-0.876422, 0.340503, 0.340503> + 17200: <-0.843551, 0.379751, 0.379751> + 17201: <-0.825100, 0.420500, 0.377345> + 17202: <-0.840684, 0.423577, 0.337391> + 17203: <-0.859750, 0.381976, 0.339005> + 17204: <-0.825100, 0.420500, 0.377345> + 17205: <-0.804154, 0.461239, 0.374961> + 17206: <-0.819039, 0.465202, 0.335801> + 17207: <-0.840684, 0.423577, 0.337391> + 17208: <-0.804154, 0.461239, 0.374961> + 17209: <-0.780568, 0.501802, 0.372705> + 17210: <-0.794627, 0.506740, 0.334337> + 17211: <-0.819039, 0.465202, 0.335801> + 17212: <-0.780568, 0.501802, 0.372705> + 17213: <-0.754169, 0.542028, 0.370721> + 17214: <-0.767292, 0.548009, 0.333090> + 17215: <-0.794627, 0.506740, 0.334337> + 17216: <-0.754169, 0.542028, 0.370721> + 17217: <-0.724825, 0.581661, 0.369188> + 17218: <-0.736915, 0.588744, 0.332170> + 17219: <-0.767292, 0.548009, 0.333090> + 17220: <-0.724825, 0.581661, 0.369188> + 17221: <-0.692544, 0.620305, 0.368246> + 17222: <-0.703467, 0.628603, 0.331652> + 17223: <-0.736915, 0.588744, 0.332170> + 17224: <-0.703467, -0.628603, 0.331652> + 17225: <-0.736915, -0.588744, 0.332170> + 17226: <-0.747816, -0.595158, 0.294207> + 17227: <-0.713396, -0.636150, 0.293904> + 17228: <-0.736915, -0.588744, 0.332170> + 17229: <-0.767292, -0.548009, 0.333090> + 17230: <-0.779017, -0.553415, 0.294729> + 17231: <-0.747816, -0.595158, 0.294207> + 17232: <-0.767292, -0.548009, 0.333090> + 17233: <-0.794627, -0.506740, 0.334337> + 17234: <-0.807082, -0.511198, 0.295457> + 17235: <-0.779017, -0.553415, 0.294729> + 17236: <-0.794627, -0.506740, 0.334337> + 17237: <-0.819039, -0.465202, 0.335801> + 17238: <-0.832128, -0.468770, 0.296339> + 17239: <-0.807082, -0.511198, 0.295457> + 17240: <-0.819039, -0.465202, 0.335801> + 17241: <-0.840684, -0.423577, 0.337391> + 17242: <-0.854324, -0.426323, 0.297287> + 17243: <-0.832128, -0.468770, 0.296339> + 17244: <-0.840684, -0.423577, 0.337391> + 17245: <-0.859750, -0.381976, 0.339005> + 17246: <-0.873840, -0.383986, 0.298259> + 17247: <-0.854324, -0.426323, 0.297287> + 17248: <-0.859750, -0.381976, 0.339005> + 17249: <-0.876422, -0.340503, 0.340503> + 17250: <-0.890906, -0.341811, 0.299085> + 17251: <-0.873840, -0.383986, 0.298259> + 17252: <-0.876422, -0.340503, 0.340503> + 17253: <-0.890906, -0.299085, 0.341811> + 17254: <-0.905696, -0.299762, 0.299762> + 17255: <-0.890906, -0.341811, 0.299085> + 17256: <-0.890906, -0.299085, 0.341811> + 17257: <-0.903367, -0.257643, 0.342852> + 17258: <-0.918390, -0.257736, 0.300219> + 17259: <-0.905696, -0.299762, 0.299762> + 17260: <-0.903367, -0.257643, 0.342852> + 17261: <-0.913949, -0.215982, 0.343582> + 17262: <-0.929096, -0.215649, 0.300461> + 17263: <-0.918390, -0.257736, 0.300219> + 17264: <-0.913949, -0.215982, 0.343582> + 17265: <-0.922682, -0.173989, 0.344072> + 17266: <-0.937897, -0.173351, 0.300496> + 17267: <-0.929096, -0.215649, 0.300461> + 17268: <-0.922682, -0.173989, 0.344072> + 17269: <-0.929596, -0.131509, 0.344322> + 17270: <-0.944802, -0.130743, 0.300427> + 17271: <-0.937897, -0.173351, 0.300496> + 17272: <-0.929596, -0.131509, 0.344322> + 17273: <-0.934648, -0.088414, 0.344408> + 17274: <-0.949820, -0.087712, 0.300248> + 17275: <-0.944802, -0.130743, 0.300427> + 17276: <-0.934648, -0.088414, 0.344408> + 17277: <-0.937762, -0.044558, 0.344409> + 17278: <-0.952889, -0.044130, 0.300092> + 17279: <-0.949820, -0.087712, 0.300248> + 17280: <-0.937762, -0.044558, 0.344409> + 17281: <-0.938821, 0.000000, 0.344405> + 17282: <-0.953929, 0.000000, 0.300031> + 17283: <-0.952889, -0.044130, 0.300092> + 17284: <-0.938821, 0.000000, 0.344405> + 17285: <-0.937762, 0.044558, 0.344409> + 17286: <-0.952889, 0.044130, 0.300092> + 17287: <-0.953929, 0.000000, 0.300031> + 17288: <-0.937762, 0.044558, 0.344409> + 17289: <-0.934648, 0.088414, 0.344408> + 17290: <-0.949820, 0.087712, 0.300248> + 17291: <-0.952889, 0.044130, 0.300092> + 17292: <-0.934648, 0.088414, 0.344408> + 17293: <-0.929596, 0.131509, 0.344322> + 17294: <-0.944802, 0.130743, 0.300427> + 17295: <-0.949820, 0.087712, 0.300248> + 17296: <-0.929596, 0.131509, 0.344322> + 17297: <-0.922682, 0.173989, 0.344072> + 17298: <-0.937897, 0.173351, 0.300496> + 17299: <-0.944802, 0.130743, 0.300427> + 17300: <-0.922682, 0.173989, 0.344072> + 17301: <-0.913949, 0.215982, 0.343582> + 17302: <-0.929096, 0.215649, 0.300461> + 17303: <-0.937897, 0.173351, 0.300496> + 17304: <-0.913949, 0.215982, 0.343582> + 17305: <-0.903367, 0.257643, 0.342852> + 17306: <-0.918390, 0.257736, 0.300219> + 17307: <-0.929096, 0.215649, 0.300461> + 17308: <-0.903367, 0.257643, 0.342852> + 17309: <-0.890906, 0.299085, 0.341811> + 17310: <-0.905696, 0.299762, 0.299762> + 17311: <-0.918390, 0.257736, 0.300219> + 17312: <-0.890906, 0.299085, 0.341811> + 17313: <-0.876422, 0.340503, 0.340503> + 17314: <-0.890906, 0.341811, 0.299085> + 17315: <-0.905696, 0.299762, 0.299762> + 17316: <-0.876422, 0.340503, 0.340503> + 17317: <-0.859750, 0.381976, 0.339005> + 17318: <-0.873840, 0.383986, 0.298259> + 17319: <-0.890906, 0.341811, 0.299085> + 17320: <-0.859750, 0.381976, 0.339005> + 17321: <-0.840684, 0.423577, 0.337391> + 17322: <-0.854324, 0.426323, 0.297287> + 17323: <-0.873840, 0.383986, 0.298259> + 17324: <-0.840684, 0.423577, 0.337391> + 17325: <-0.819039, 0.465202, 0.335801> + 17326: <-0.832128, 0.468770, 0.296339> + 17327: <-0.854324, 0.426323, 0.297287> + 17328: <-0.819039, 0.465202, 0.335801> + 17329: <-0.794627, 0.506740, 0.334337> + 17330: <-0.807082, 0.511198, 0.295457> + 17331: <-0.832128, 0.468770, 0.296339> + 17332: <-0.794627, 0.506740, 0.334337> + 17333: <-0.767292, 0.548009, 0.333090> + 17334: <-0.779017, 0.553415, 0.294729> + 17335: <-0.807082, 0.511198, 0.295457> + 17336: <-0.767292, 0.548009, 0.333090> + 17337: <-0.736915, 0.588744, 0.332170> + 17338: <-0.747816, 0.595158, 0.294207> + 17339: <-0.779017, 0.553415, 0.294729> + 17340: <-0.736915, 0.588744, 0.332170> + 17341: <-0.703467, 0.628603, 0.331652> + 17342: <-0.713396, 0.636150, 0.293904> + 17343: <-0.747816, 0.595158, 0.294207> + 17344: <-0.713396, -0.636150, 0.293904> + 17345: <-0.747816, -0.595158, 0.294207> + 17346: <-0.757361, -0.600829, 0.255750> + 17347: <-0.722093, -0.642833, 0.255632> + 17348: <-0.747816, -0.595158, 0.294207> + 17349: <-0.779017, -0.553415, 0.294729> + 17350: <-0.789266, -0.558172, 0.255937> + 17351: <-0.757361, -0.600829, 0.255750> + 17352: <-0.779017, -0.553415, 0.294729> + 17353: <-0.807082, -0.511198, 0.295457> + 17354: <-0.817925, -0.515110, 0.256243> + 17355: <-0.789266, -0.558172, 0.255937> + 17356: <-0.807082, -0.511198, 0.295457> + 17357: <-0.832128, -0.468770, 0.296339> + 17358: <-0.843490, -0.471888, 0.256606> + 17359: <-0.817925, -0.515110, 0.256243> + 17360: <-0.832128, -0.468770, 0.296339> + 17361: <-0.854324, -0.426323, 0.297287> + 17362: <-0.866124, -0.428698, 0.256999> + 17363: <-0.843490, -0.471888, 0.256606> + 17364: <-0.854324, -0.426323, 0.297287> + 17365: <-0.873840, -0.383986, 0.298259> + 17366: <-0.886018, -0.385664, 0.257364> + 17367: <-0.866124, -0.428698, 0.256999> + 17368: <-0.873840, -0.383986, 0.298259> + 17369: <-0.890906, -0.341811, 0.299085> + 17370: <-0.903367, -0.342852, 0.257643> + 17371: <-0.886018, -0.385664, 0.257364> + 17372: <-0.890906, -0.341811, 0.299085> + 17373: <-0.905696, -0.299762, 0.299762> + 17374: <-0.918390, -0.300219, 0.257736> + 17375: <-0.903367, -0.342852, 0.257643> + 17376: <-0.905696, -0.299762, 0.299762> + 17377: <-0.918390, -0.257736, 0.300219> + 17378: <-0.931225, -0.257702, 0.257702> + 17379: <-0.918390, -0.300219, 0.257736> + 17380: <-0.918390, -0.257736, 0.300219> + 17381: <-0.929096, -0.215649, 0.300461> + 17382: <-0.942000, -0.215220, 0.257519> + 17383: <-0.931225, -0.257702, 0.257702> + 17384: <-0.929096, -0.215649, 0.300461> + 17385: <-0.937897, -0.173351, 0.300496> + 17386: <-0.950800, -0.172679, 0.257217> + 17387: <-0.942000, -0.215220, 0.257519> + 17388: <-0.937897, -0.173351, 0.300496> + 17389: <-0.944802, -0.130743, 0.300427> + 17390: <-0.957663, -0.129981, 0.256880> + 17391: <-0.950800, -0.172679, 0.257217> + 17392: <-0.944802, -0.130743, 0.300427> + 17393: <-0.949820, -0.087712, 0.300248> + 17394: <-0.962605, -0.087041, 0.256544> + 17395: <-0.957663, -0.129981, 0.256880> + 17396: <-0.949820, -0.087712, 0.300248> + 17397: <-0.952889, -0.044130, 0.300092> + 17398: <-0.965618, -0.043703, 0.256267> + 17399: <-0.962605, -0.087041, 0.256544> + 17400: <-0.952889, -0.044130, 0.300092> + 17401: <-0.953929, 0.000000, 0.300031> + 17402: <-0.966630, 0.000000, 0.256177> + 17403: <-0.965618, -0.043703, 0.256267> + 17404: <-0.953929, 0.000000, 0.300031> + 17405: <-0.952889, 0.044130, 0.300092> + 17406: <-0.965618, 0.043703, 0.256267> + 17407: <-0.966630, 0.000000, 0.256177> + 17408: <-0.952889, 0.044130, 0.300092> + 17409: <-0.949820, 0.087712, 0.300248> + 17410: <-0.962605, 0.087041, 0.256544> + 17411: <-0.965618, 0.043703, 0.256267> + 17412: <-0.949820, 0.087712, 0.300248> + 17413: <-0.944802, 0.130743, 0.300427> + 17414: <-0.957663, 0.129981, 0.256880> + 17415: <-0.962605, 0.087041, 0.256544> + 17416: <-0.944802, 0.130743, 0.300427> + 17417: <-0.937897, 0.173351, 0.300496> + 17418: <-0.950800, 0.172679, 0.257217> + 17419: <-0.957663, 0.129981, 0.256880> + 17420: <-0.937897, 0.173351, 0.300496> + 17421: <-0.929096, 0.215649, 0.300461> + 17422: <-0.942000, 0.215220, 0.257519> + 17423: <-0.950800, 0.172679, 0.257217> + 17424: <-0.929096, 0.215649, 0.300461> + 17425: <-0.918390, 0.257736, 0.300219> + 17426: <-0.931225, 0.257702, 0.257702> + 17427: <-0.942000, 0.215220, 0.257519> + 17428: <-0.918390, 0.257736, 0.300219> + 17429: <-0.905696, 0.299762, 0.299762> + 17430: <-0.918390, 0.300219, 0.257736> + 17431: <-0.931225, 0.257702, 0.257702> + 17432: <-0.905696, 0.299762, 0.299762> + 17433: <-0.890906, 0.341811, 0.299085> + 17434: <-0.903367, 0.342852, 0.257643> + 17435: <-0.918390, 0.300219, 0.257736> + 17436: <-0.890906, 0.341811, 0.299085> + 17437: <-0.873840, 0.383986, 0.298259> + 17438: <-0.886018, 0.385664, 0.257364> + 17439: <-0.903367, 0.342852, 0.257643> + 17440: <-0.873840, 0.383986, 0.298259> + 17441: <-0.854324, 0.426323, 0.297287> + 17442: <-0.866124, 0.428698, 0.256999> + 17443: <-0.886018, 0.385664, 0.257364> + 17444: <-0.854324, 0.426323, 0.297287> + 17445: <-0.832128, 0.468770, 0.296339> + 17446: <-0.843490, 0.471888, 0.256606> + 17447: <-0.866124, 0.428698, 0.256999> + 17448: <-0.832128, 0.468770, 0.296339> + 17449: <-0.807082, 0.511198, 0.295457> + 17450: <-0.817925, 0.515110, 0.256243> + 17451: <-0.843490, 0.471888, 0.256606> + 17452: <-0.807082, 0.511198, 0.295457> + 17453: <-0.779017, 0.553415, 0.294729> + 17454: <-0.789266, 0.558172, 0.255937> + 17455: <-0.817925, 0.515110, 0.256243> + 17456: <-0.779017, 0.553415, 0.294729> + 17457: <-0.747816, 0.595158, 0.294207> + 17458: <-0.757361, 0.600829, 0.255750> + 17459: <-0.789266, 0.558172, 0.255937> + 17460: <-0.747816, 0.595158, 0.294207> + 17461: <-0.713396, 0.636150, 0.293904> + 17462: <-0.722093, 0.642833, 0.255632> + 17463: <-0.757361, 0.600829, 0.255750> + 17464: <-0.722093, -0.642833, 0.255632> + 17465: <-0.757361, -0.600829, 0.255750> + 17466: <-0.765608, -0.605748, 0.216596> + 17467: <-0.729622, -0.648624, 0.216656> + 17468: <-0.757361, -0.600829, 0.255750> + 17469: <-0.789266, -0.558172, 0.255937> + 17470: <-0.798110, -0.562257, 0.216534> + 17471: <-0.765608, -0.605748, 0.216596> + 17472: <-0.789266, -0.558172, 0.255937> + 17473: <-0.817925, -0.515110, 0.256243> + 17474: <-0.827263, -0.518435, 0.216475> + 17475: <-0.798110, -0.562257, 0.216534> + 17476: <-0.817925, -0.515110, 0.256243> + 17477: <-0.843490, -0.471888, 0.256606> + 17478: <-0.853230, -0.474515, 0.216413> + 17479: <-0.827263, -0.518435, 0.216475> + 17480: <-0.843490, -0.471888, 0.256606> + 17481: <-0.866124, -0.428698, 0.256999> + 17482: <-0.876208, -0.430657, 0.216320> + 17483: <-0.853230, -0.474515, 0.216413> + 17484: <-0.866124, -0.428698, 0.256999> + 17485: <-0.886018, -0.385664, 0.257364> + 17486: <-0.896382, -0.386985, 0.216199> + 17487: <-0.876208, -0.430657, 0.216320> + 17488: <-0.886018, -0.385664, 0.257364> + 17489: <-0.903367, -0.342852, 0.257643> + 17490: <-0.913949, -0.343582, 0.215982> + 17491: <-0.896382, -0.386985, 0.216199> + 17492: <-0.903367, -0.342852, 0.257643> + 17493: <-0.918390, -0.300219, 0.257736> + 17494: <-0.929096, -0.300461, 0.215649> + 17495: <-0.913949, -0.343582, 0.215982> + 17496: <-0.918390, -0.300219, 0.257736> + 17497: <-0.931225, -0.257702, 0.257702> + 17498: <-0.942000, -0.257519, 0.215220> + 17499: <-0.929096, -0.300461, 0.215649> + 17500: <-0.931225, -0.257702, 0.257702> + 17501: <-0.942000, -0.215220, 0.257519> + 17502: <-0.952775, -0.214732, 0.214732> + 17503: <-0.942000, -0.257519, 0.215220> + 17504: <-0.942000, -0.215220, 0.257519> + 17505: <-0.950800, -0.172679, 0.257217> + 17506: <-0.961530, -0.172005, 0.214182> + 17507: <-0.952775, -0.214732, 0.214732> + 17508: <-0.950800, -0.172679, 0.257217> + 17509: <-0.957663, -0.129981, 0.256880> + 17510: <-0.968319, -0.129250, 0.213666> + 17511: <-0.961530, -0.172005, 0.214182> + 17512: <-0.957663, -0.129981, 0.256880> + 17513: <-0.962605, -0.087041, 0.256544> + 17514: <-0.973180, -0.086398, 0.213204> + 17515: <-0.968319, -0.129250, 0.213666> + 17516: <-0.962605, -0.087041, 0.256544> + 17517: <-0.965618, -0.043703, 0.256267> + 17518: <-0.976120, -0.043306, 0.212870> + 17519: <-0.973180, -0.086398, 0.213204> + 17520: <-0.965618, -0.043703, 0.256267> + 17521: <-0.966630, 0.000000, 0.256177> + 17522: <-0.977107, 0.000000, 0.212750> + 17523: <-0.976120, -0.043306, 0.212870> + 17524: <-0.966630, 0.000000, 0.256177> + 17525: <-0.965618, 0.043703, 0.256267> + 17526: <-0.976120, 0.043306, 0.212870> + 17527: <-0.977107, 0.000000, 0.212750> + 17528: <-0.965618, 0.043703, 0.256267> + 17529: <-0.962605, 0.087041, 0.256544> + 17530: <-0.973180, 0.086398, 0.213204> + 17531: <-0.976120, 0.043306, 0.212870> + 17532: <-0.962605, 0.087041, 0.256544> + 17533: <-0.957663, 0.129981, 0.256880> + 17534: <-0.968319, 0.129250, 0.213666> + 17535: <-0.973180, 0.086398, 0.213204> + 17536: <-0.957663, 0.129981, 0.256880> + 17537: <-0.950800, 0.172679, 0.257217> + 17538: <-0.961530, 0.172005, 0.214182> + 17539: <-0.968319, 0.129250, 0.213666> + 17540: <-0.950800, 0.172679, 0.257217> + 17541: <-0.942000, 0.215220, 0.257519> + 17542: <-0.952775, 0.214732, 0.214732> + 17543: <-0.961530, 0.172005, 0.214182> + 17544: <-0.942000, 0.215220, 0.257519> + 17545: <-0.931225, 0.257702, 0.257702> + 17546: <-0.942000, 0.257519, 0.215220> + 17547: <-0.952775, 0.214732, 0.214732> + 17548: <-0.931225, 0.257702, 0.257702> + 17549: <-0.918390, 0.300219, 0.257736> + 17550: <-0.929096, 0.300461, 0.215649> + 17551: <-0.942000, 0.257519, 0.215220> + 17552: <-0.918390, 0.300219, 0.257736> + 17553: <-0.903367, 0.342852, 0.257643> + 17554: <-0.913949, 0.343582, 0.215982> + 17555: <-0.929096, 0.300461, 0.215649> + 17556: <-0.903367, 0.342852, 0.257643> + 17557: <-0.886018, 0.385664, 0.257364> + 17558: <-0.896382, 0.386985, 0.216199> + 17559: <-0.913949, 0.343582, 0.215982> + 17560: <-0.886018, 0.385664, 0.257364> + 17561: <-0.866124, 0.428698, 0.256999> + 17562: <-0.876208, 0.430657, 0.216320> + 17563: <-0.896382, 0.386985, 0.216199> + 17564: <-0.866124, 0.428698, 0.256999> + 17565: <-0.843490, 0.471888, 0.256606> + 17566: <-0.853230, 0.474515, 0.216413> + 17567: <-0.876208, 0.430657, 0.216320> + 17568: <-0.843490, 0.471888, 0.256606> + 17569: <-0.817925, 0.515110, 0.256243> + 17570: <-0.827263, 0.518435, 0.216475> + 17571: <-0.853230, 0.474515, 0.216413> + 17572: <-0.817925, 0.515110, 0.256243> + 17573: <-0.789266, 0.558172, 0.255937> + 17574: <-0.798110, 0.562257, 0.216534> + 17575: <-0.827263, 0.518435, 0.216475> + 17576: <-0.789266, 0.558172, 0.255937> + 17577: <-0.757361, 0.600829, 0.255750> + 17578: <-0.765608, 0.605748, 0.216596> + 17579: <-0.798110, 0.562257, 0.216534> + 17580: <-0.757361, 0.600829, 0.255750> + 17581: <-0.722093, 0.642833, 0.255632> + 17582: <-0.729636, 0.648606, 0.216660> + 17583: <-0.765608, 0.605748, 0.216596> + 17584: <-0.729622, -0.648624, 0.216656> + 17585: <-0.765608, -0.605748, 0.216596> + 17586: <-0.772589, -0.609892, 0.176461> + 17587: <-0.736025, -0.653502, 0.176644> + 17588: <-0.765608, -0.605748, 0.216596> + 17589: <-0.798110, -0.562257, 0.216534> + 17590: <-0.805587, -0.565675, 0.176188> + 17591: <-0.772589, -0.609892, 0.176461> + 17592: <-0.798110, -0.562257, 0.216534> + 17593: <-0.827263, -0.518435, 0.216475> + 17594: <-0.835133, -0.521180, 0.175853> + 17595: <-0.805587, -0.565675, 0.176188> + 17596: <-0.827263, -0.518435, 0.216475> + 17597: <-0.853230, -0.474515, 0.216413> + 17598: <-0.861427, -0.476614, 0.175453> + 17599: <-0.835133, -0.521180, 0.175853> + 17600: <-0.853230, -0.474515, 0.216413> + 17601: <-0.876208, -0.430657, 0.216320> + 17602: <-0.884654, -0.432149, 0.175026> + 17603: <-0.861427, -0.476614, 0.175453> + 17604: <-0.876208, -0.430657, 0.216320> + 17605: <-0.896382, -0.386985, 0.216199> + 17606: <-0.904997, -0.387965, 0.174541> + 17607: <-0.884654, -0.432149, 0.175026> + 17608: <-0.896382, -0.386985, 0.216199> + 17609: <-0.913949, -0.343582, 0.215982> + 17610: <-0.922682, -0.344072, 0.173989> + 17611: <-0.904997, -0.387965, 0.174541> + 17612: <-0.913949, -0.343582, 0.215982> + 17613: <-0.929096, -0.300461, 0.215649> + 17614: <-0.937897, -0.300496, 0.173351> + 17615: <-0.922682, -0.344072, 0.173989> + 17616: <-0.929096, -0.300461, 0.215649> + 17617: <-0.942000, -0.257519, 0.215220> + 17618: <-0.950800, -0.257217, 0.172679> + 17619: <-0.937897, -0.300496, 0.173351> + 17620: <-0.942000, -0.257519, 0.215220> + 17621: <-0.952775, -0.214732, 0.214732> + 17622: <-0.961530, -0.214182, 0.172005> + 17623: <-0.950800, -0.257217, 0.172679> + 17624: <-0.952775, -0.214732, 0.214732> + 17625: <-0.961530, -0.172005, 0.214182> + 17626: <-0.970211, -0.171305, 0.171305> + 17627: <-0.961530, -0.214182, 0.172005> + 17628: <-0.961530, -0.172005, 0.214182> + 17629: <-0.968319, -0.129250, 0.213666> + 17630: <-0.976904, -0.128545, 0.170691> + 17631: <-0.970211, -0.171305, 0.171305> + 17632: <-0.968319, -0.129250, 0.213666> + 17633: <-0.973180, -0.086398, 0.213204> + 17634: <-0.981668, -0.085788, 0.170203> + 17635: <-0.976904, -0.128545, 0.170691> + 17636: <-0.973180, -0.086398, 0.213204> + 17637: <-0.976120, -0.043306, 0.212870> + 17638: <-0.984530, -0.042970, 0.169866> + 17639: <-0.981668, -0.085788, 0.170203> + 17640: <-0.976120, -0.043306, 0.212870> + 17641: <-0.977107, 0.000000, 0.212750> + 17642: <-0.985488, 0.000000, 0.169746> + 17643: <-0.984530, -0.042970, 0.169866> + 17644: <-0.977107, 0.000000, 0.212750> + 17645: <-0.976120, 0.043306, 0.212870> + 17646: <-0.984535, 0.042970, 0.169837> + 17647: <-0.985488, 0.000000, 0.169746> + 17648: <-0.976120, 0.043306, 0.212870> + 17649: <-0.973180, 0.086398, 0.213204> + 17650: <-0.981668, 0.085788, 0.170203> + 17651: <-0.984535, 0.042970, 0.169837> + 17652: <-0.973180, 0.086398, 0.213204> + 17653: <-0.968319, 0.129250, 0.213666> + 17654: <-0.976904, 0.128545, 0.170691> + 17655: <-0.981668, 0.085788, 0.170203> + 17656: <-0.968319, 0.129250, 0.213666> + 17657: <-0.961530, 0.172005, 0.214182> + 17658: <-0.970211, 0.171305, 0.171305> + 17659: <-0.976904, 0.128545, 0.170691> + 17660: <-0.961530, 0.172005, 0.214182> + 17661: <-0.952775, 0.214732, 0.214732> + 17662: <-0.961530, 0.214182, 0.172005> + 17663: <-0.970211, 0.171305, 0.171305> + 17664: <-0.952775, 0.214732, 0.214732> + 17665: <-0.942000, 0.257519, 0.215220> + 17666: <-0.950800, 0.257217, 0.172679> + 17667: <-0.961530, 0.214182, 0.172005> + 17668: <-0.942000, 0.257519, 0.215220> + 17669: <-0.929096, 0.300461, 0.215649> + 17670: <-0.937897, 0.300496, 0.173351> + 17671: <-0.950800, 0.257217, 0.172679> + 17672: <-0.929096, 0.300461, 0.215649> + 17673: <-0.913949, 0.343582, 0.215982> + 17674: <-0.922682, 0.344072, 0.173989> + 17675: <-0.937897, 0.300496, 0.173351> + 17676: <-0.913949, 0.343582, 0.215982> + 17677: <-0.896382, 0.386985, 0.216199> + 17678: <-0.904997, 0.387965, 0.174541> + 17679: <-0.922682, 0.344072, 0.173989> + 17680: <-0.896382, 0.386985, 0.216199> + 17681: <-0.876208, 0.430657, 0.216320> + 17682: <-0.884654, 0.432149, 0.175026> + 17683: <-0.904997, 0.387965, 0.174541> + 17684: <-0.876208, 0.430657, 0.216320> + 17685: <-0.853230, 0.474515, 0.216413> + 17686: <-0.861427, 0.476614, 0.175453> + 17687: <-0.884654, 0.432149, 0.175026> + 17688: <-0.853230, 0.474515, 0.216413> + 17689: <-0.827263, 0.518435, 0.216475> + 17690: <-0.835133, 0.521180, 0.175853> + 17691: <-0.861427, 0.476614, 0.175453> + 17692: <-0.827263, 0.518435, 0.216475> + 17693: <-0.798110, 0.562257, 0.216534> + 17694: <-0.805587, 0.565675, 0.176188> + 17695: <-0.835133, 0.521180, 0.175853> + 17696: <-0.798110, 0.562257, 0.216534> + 17697: <-0.765608, 0.605748, 0.216596> + 17698: <-0.772589, 0.609892, 0.176461> + 17699: <-0.805587, 0.565675, 0.176188> + 17700: <-0.765608, 0.605748, 0.216596> + 17701: <-0.729636, 0.648606, 0.216660> + 17702: <-0.736025, 0.653502, 0.176644> + 17703: <-0.772589, 0.609892, 0.176461> + 17704: <-0.736025, -0.653502, 0.176644> + 17705: <-0.772589, -0.609892, 0.176461> + 17706: <-0.778306, -0.613196, 0.135018> + 17707: <-0.741243, -0.657468, 0.135260> + 17708: <-0.772589, -0.609892, 0.176461> + 17709: <-0.805587, -0.565675, 0.176188> + 17710: <-0.811677, -0.568382, 0.134618> + 17711: <-0.778306, -0.613196, 0.135018> + 17712: <-0.805587, -0.565675, 0.176188> + 17713: <-0.835133, -0.521180, 0.175853> + 17714: <-0.841527, -0.523307, 0.134100> + 17715: <-0.811677, -0.568382, 0.134618> + 17716: <-0.835133, -0.521180, 0.175853> + 17717: <-0.861427, -0.476614, 0.175453> + 17718: <-0.868033, -0.478208, 0.133553> + 17719: <-0.841527, -0.523307, 0.134100> + 17720: <-0.861427, -0.476614, 0.175453> + 17721: <-0.884654, -0.432149, 0.175026> + 17722: <-0.891416, -0.433256, 0.132913> + 17723: <-0.868033, -0.478208, 0.133553> + 17724: <-0.884654, -0.432149, 0.175026> + 17725: <-0.904997, -0.387965, 0.174541> + 17726: <-0.911854, -0.388632, 0.132240> + 17727: <-0.891416, -0.433256, 0.132913> + 17728: <-0.904997, -0.387965, 0.174541> + 17729: <-0.922682, -0.344072, 0.173989> + 17730: <-0.929596, -0.344322, 0.131509> + 17731: <-0.911854, -0.388632, 0.132240> + 17732: <-0.922682, -0.344072, 0.173989> + 17733: <-0.937897, -0.300496, 0.173351> + 17734: <-0.944802, -0.300427, 0.130743> + 17735: <-0.929596, -0.344322, 0.131509> + 17736: <-0.937897, -0.300496, 0.173351> + 17737: <-0.950800, -0.257217, 0.172679> + 17738: <-0.957663, -0.256880, 0.129981> + 17739: <-0.944802, -0.300427, 0.130743> + 17740: <-0.950800, -0.257217, 0.172679> + 17741: <-0.961530, -0.214182, 0.172005> + 17742: <-0.968319, -0.213666, 0.129250> + 17743: <-0.957663, -0.256880, 0.129981> + 17744: <-0.961530, -0.214182, 0.172005> + 17745: <-0.970211, -0.171305, 0.171305> + 17746: <-0.976904, -0.170691, 0.128545> + 17747: <-0.968319, -0.213666, 0.129250> + 17748: <-0.970211, -0.171305, 0.171305> + 17749: <-0.976904, -0.128545, 0.170691> + 17750: <-0.983497, -0.127935, 0.127935> + 17751: <-0.976904, -0.170691, 0.128545> + 17752: <-0.976904, -0.128545, 0.170691> + 17753: <-0.981668, -0.085788, 0.170203> + 17754: <-0.988171, -0.085300, 0.127447> + 17755: <-0.983497, -0.127935, 0.127935> + 17756: <-0.981668, -0.085788, 0.170203> + 17757: <-0.984530, -0.042970, 0.169866> + 17758: <-0.990966, -0.042666, 0.127144> + 17759: <-0.988171, -0.085300, 0.127447> + 17760: <-0.984530, -0.042970, 0.169866> + 17761: <-0.985488, 0.000000, 0.169746> + 17762: <-0.991900, 0.000000, 0.127020> + 17763: <-0.990966, -0.042666, 0.127144> + 17764: <-0.985488, 0.000000, 0.169746> + 17765: <-0.984535, 0.042970, 0.169837> + 17766: <-0.990966, 0.042666, 0.127144> + 17767: <-0.991900, 0.000000, 0.127020> + 17768: <-0.984535, 0.042970, 0.169837> + 17769: <-0.981668, 0.085788, 0.170203> + 17770: <-0.988171, 0.085300, 0.127447> + 17771: <-0.990966, 0.042666, 0.127144> + 17772: <-0.981668, 0.085788, 0.170203> + 17773: <-0.976904, 0.128545, 0.170691> + 17774: <-0.983497, 0.127935, 0.127935> + 17775: <-0.988171, 0.085300, 0.127447> + 17776: <-0.976904, 0.128545, 0.170691> + 17777: <-0.970211, 0.171305, 0.171305> + 17778: <-0.976904, 0.170691, 0.128545> + 17779: <-0.983497, 0.127935, 0.127935> + 17780: <-0.970211, 0.171305, 0.171305> + 17781: <-0.961530, 0.214182, 0.172005> + 17782: <-0.968319, 0.213666, 0.129250> + 17783: <-0.976904, 0.170691, 0.128545> + 17784: <-0.961530, 0.214182, 0.172005> + 17785: <-0.950800, 0.257217, 0.172679> + 17786: <-0.957663, 0.256880, 0.129981> + 17787: <-0.968319, 0.213666, 0.129250> + 17788: <-0.950800, 0.257217, 0.172679> + 17789: <-0.937897, 0.300496, 0.173351> + 17790: <-0.944802, 0.300427, 0.130743> + 17791: <-0.957663, 0.256880, 0.129981> + 17792: <-0.937897, 0.300496, 0.173351> + 17793: <-0.922682, 0.344072, 0.173989> + 17794: <-0.929596, 0.344322, 0.131509> + 17795: <-0.944802, 0.300427, 0.130743> + 17796: <-0.922682, 0.344072, 0.173989> + 17797: <-0.904997, 0.387965, 0.174541> + 17798: <-0.911854, 0.388632, 0.132240> + 17799: <-0.929596, 0.344322, 0.131509> + 17800: <-0.904997, 0.387965, 0.174541> + 17801: <-0.884654, 0.432149, 0.175026> + 17802: <-0.891405, 0.433281, 0.132911> + 17803: <-0.911854, 0.388632, 0.132240> + 17804: <-0.884654, 0.432149, 0.175026> + 17805: <-0.861427, 0.476614, 0.175453> + 17806: <-0.868033, 0.478208, 0.133553> + 17807: <-0.891405, 0.433281, 0.132911> + 17808: <-0.861427, 0.476614, 0.175453> + 17809: <-0.835133, 0.521180, 0.175853> + 17810: <-0.841527, 0.523307, 0.134100> + 17811: <-0.868033, 0.478208, 0.133553> + 17812: <-0.835133, 0.521180, 0.175853> + 17813: <-0.805587, 0.565675, 0.176188> + 17814: <-0.811677, 0.568382, 0.134618> + 17815: <-0.841527, 0.523307, 0.134100> + 17816: <-0.805587, 0.565675, 0.176188> + 17817: <-0.772589, 0.609892, 0.176461> + 17818: <-0.778292, 0.613215, 0.135015> + 17819: <-0.811677, 0.568382, 0.134618> + 17820: <-0.772589, 0.609892, 0.176461> + 17821: <-0.736025, 0.653502, 0.176644> + 17822: <-0.741243, 0.657468, 0.135260> + 17823: <-0.778292, 0.613215, 0.135015> + 17824: <-0.741243, -0.657468, 0.135260> + 17825: <-0.778306, -0.613196, 0.135018> + 17826: <-0.782607, -0.615697, 0.091894> + 17827: <-0.745184, -0.660463, 0.092137> + 17828: <-0.778306, -0.613196, 0.135018> + 17829: <-0.811677, -0.568382, 0.134618> + 17830: <-0.816271, -0.570377, 0.091497> + 17831: <-0.782607, -0.615697, 0.091894> + 17832: <-0.811677, -0.568382, 0.134618> + 17833: <-0.841527, -0.523307, 0.134100> + 17834: <-0.846324, -0.524836, 0.091008> + 17835: <-0.816271, -0.570377, 0.091497> + 17836: <-0.841527, -0.523307, 0.134100> + 17837: <-0.868033, -0.478208, 0.133553> + 17838: <-0.872976, -0.479307, 0.090429> + 17839: <-0.846324, -0.524836, 0.091008> + 17840: <-0.868033, -0.478208, 0.133553> + 17841: <-0.891416, -0.433256, 0.132913> + 17842: <-0.896437, -0.433981, 0.089787> + 17843: <-0.872976, -0.479307, 0.090429> + 17844: <-0.891416, -0.433256, 0.132913> + 17845: <-0.911854, -0.388632, 0.132240> + 17846: <-0.916918, -0.388998, 0.089116> + 17847: <-0.896437, -0.433981, 0.089787> + 17848: <-0.911854, -0.388632, 0.132240> + 17849: <-0.929596, -0.344322, 0.131509> + 17850: <-0.934648, -0.344408, 0.088414> + 17851: <-0.916918, -0.388998, 0.089116> + 17852: <-0.929596, -0.344322, 0.131509> + 17853: <-0.944802, -0.300427, 0.130743> + 17854: <-0.949820, -0.300248, 0.087712> + 17855: <-0.934648, -0.344408, 0.088414> + 17856: <-0.944802, -0.300427, 0.130743> + 17857: <-0.957663, -0.256880, 0.129981> + 17858: <-0.962605, -0.256544, 0.087041> + 17859: <-0.949820, -0.300248, 0.087712> + 17860: <-0.957663, -0.256880, 0.129981> + 17861: <-0.968319, -0.213666, 0.129250> + 17862: <-0.973180, -0.213204, 0.086398> + 17863: <-0.962605, -0.256544, 0.087041> + 17864: <-0.968319, -0.213666, 0.129250> + 17865: <-0.976904, -0.170691, 0.128545> + 17866: <-0.981668, -0.170203, 0.085788> + 17867: <-0.973180, -0.213204, 0.086398> + 17868: <-0.976904, -0.170691, 0.128545> + 17869: <-0.983497, -0.127935, 0.127935> + 17870: <-0.988171, -0.127447, 0.085300> + 17871: <-0.981668, -0.170203, 0.085788> + 17872: <-0.983497, -0.127935, 0.127935> + 17873: <-0.988171, -0.085300, 0.127447> + 17874: <-0.992765, -0.084905, 0.084905> + 17875: <-0.988171, -0.127447, 0.085300> + 17876: <-0.988171, -0.085300, 0.127447> + 17877: <-0.990966, -0.042666, 0.127144> + 17878: <-0.995505, -0.042452, 0.084660> + 17879: <-0.992765, -0.084905, 0.084905> + 17880: <-0.990966, -0.042666, 0.127144> + 17881: <-0.991900, 0.000000, 0.127020> + 17882: <-0.996418, 0.000000, 0.084568> + 17883: <-0.995505, -0.042452, 0.084660> + 17884: <-0.991900, 0.000000, 0.127020> + 17885: <-0.990966, 0.042666, 0.127144> + 17886: <-0.995505, 0.042452, 0.084660> + 17887: <-0.996418, 0.000000, 0.084568> + 17888: <-0.990966, 0.042666, 0.127144> + 17889: <-0.988171, 0.085300, 0.127447> + 17890: <-0.992765, 0.084905, 0.084905> + 17891: <-0.995505, 0.042452, 0.084660> + 17892: <-0.988171, 0.085300, 0.127447> + 17893: <-0.983497, 0.127935, 0.127935> + 17894: <-0.988171, 0.127447, 0.085300> + 17895: <-0.992765, 0.084905, 0.084905> + 17896: <-0.983497, 0.127935, 0.127935> + 17897: <-0.976904, 0.170691, 0.128545> + 17898: <-0.981668, 0.170203, 0.085788> + 17899: <-0.988171, 0.127447, 0.085300> + 17900: <-0.976904, 0.170691, 0.128545> + 17901: <-0.968319, 0.213666, 0.129250> + 17902: <-0.973180, 0.213204, 0.086398> + 17903: <-0.981668, 0.170203, 0.085788> + 17904: <-0.968319, 0.213666, 0.129250> + 17905: <-0.957663, 0.256880, 0.129981> + 17906: <-0.962605, 0.256544, 0.087041> + 17907: <-0.973180, 0.213204, 0.086398> + 17908: <-0.957663, 0.256880, 0.129981> + 17909: <-0.944802, 0.300427, 0.130743> + 17910: <-0.949820, 0.300248, 0.087712> + 17911: <-0.962605, 0.256544, 0.087041> + 17912: <-0.944802, 0.300427, 0.130743> + 17913: <-0.929596, 0.344322, 0.131509> + 17914: <-0.934648, 0.344408, 0.088414> + 17915: <-0.949820, 0.300248, 0.087712> + 17916: <-0.929596, 0.344322, 0.131509> + 17917: <-0.911854, 0.388632, 0.132240> + 17918: <-0.916918, 0.388998, 0.089116> + 17919: <-0.934648, 0.344408, 0.088414> + 17920: <-0.911854, 0.388632, 0.132240> + 17921: <-0.891405, 0.433281, 0.132911> + 17922: <-0.896437, 0.433981, 0.089787> + 17923: <-0.916918, 0.388998, 0.089116> + 17924: <-0.891405, 0.433281, 0.132911> + 17925: <-0.868033, 0.478208, 0.133553> + 17926: <-0.872976, 0.479307, 0.090429> + 17927: <-0.896437, 0.433981, 0.089787> + 17928: <-0.868033, 0.478208, 0.133553> + 17929: <-0.841527, 0.523307, 0.134100> + 17930: <-0.846324, 0.524836, 0.091008> + 17931: <-0.872976, 0.479307, 0.090429> + 17932: <-0.841527, 0.523307, 0.134100> + 17933: <-0.811677, 0.568382, 0.134618> + 17934: <-0.816271, 0.570377, 0.091497> + 17935: <-0.846324, 0.524836, 0.091008> + 17936: <-0.811677, 0.568382, 0.134618> + 17937: <-0.778292, 0.613215, 0.135015> + 17938: <-0.782607, 0.615697, 0.091894> + 17939: <-0.816271, 0.570377, 0.091497> + 17940: <-0.778292, 0.613215, 0.135015> + 17941: <-0.741243, 0.657468, 0.135260> + 17942: <-0.745184, 0.660463, 0.092137> + 17943: <-0.782607, 0.615697, 0.091894> + 17944: <-0.745184, -0.660463, 0.092137> + 17945: <-0.782607, -0.615697, 0.091894> + 17946: <-0.785375, -0.617246, 0.046847> + 17947: <-0.747715, -0.662354, 0.046999> + 17948: <-0.782607, -0.615697, 0.091894> + 17949: <-0.816271, -0.570377, 0.091497> + 17950: <-0.819208, -0.571602, 0.046573> + 17951: <-0.785375, -0.617246, 0.046847> + 17952: <-0.816271, -0.570377, 0.091497> + 17953: <-0.846324, -0.524836, 0.091008> + 17954: <-0.849378, -0.525753, 0.046267> + 17955: <-0.819208, -0.571602, 0.046573> + 17956: <-0.846324, -0.524836, 0.091008> + 17957: <-0.872976, -0.479307, 0.090429> + 17958: <-0.876095, -0.479951, 0.045871> + 17959: <-0.849378, -0.525753, 0.046267> + 17960: <-0.872976, -0.479307, 0.090429> + 17961: <-0.896437, -0.433981, 0.089787> + 17962: <-0.899583, -0.434379, 0.045443> + 17963: <-0.876095, -0.479951, 0.045871> + 17964: <-0.896437, -0.433981, 0.089787> + 17965: <-0.916918, -0.388998, 0.089116> + 17966: <-0.920061, -0.389180, 0.045016> + 17967: <-0.899583, -0.434379, 0.045443> + 17968: <-0.916918, -0.388998, 0.089116> + 17969: <-0.934648, -0.344408, 0.088414> + 17970: <-0.937762, -0.344409, 0.044558> + 17971: <-0.920061, -0.389180, 0.045016> + 17972: <-0.934648, -0.344408, 0.088414> + 17973: <-0.949820, -0.300248, 0.087712> + 17974: <-0.952889, -0.300092, 0.044130> + 17975: <-0.937762, -0.344409, 0.044558> + 17976: <-0.949820, -0.300248, 0.087712> + 17977: <-0.962605, -0.256544, 0.087041> + 17978: <-0.965618, -0.256267, 0.043703> + 17979: <-0.952889, -0.300092, 0.044130> + 17980: <-0.962605, -0.256544, 0.087041> + 17981: <-0.973180, -0.213204, 0.086398> + 17982: <-0.976120, -0.212870, 0.043306> + 17983: <-0.965618, -0.256267, 0.043703> + 17984: <-0.973180, -0.213204, 0.086398> + 17985: <-0.981668, -0.170203, 0.085788> + 17986: <-0.984535, -0.169837, 0.042970> + 17987: <-0.976120, -0.212870, 0.043306> + 17988: <-0.981668, -0.170203, 0.085788> + 17989: <-0.988171, -0.127447, 0.085300> + 17990: <-0.990966, -0.127144, 0.042666> + 17991: <-0.984535, -0.169837, 0.042970> + 17992: <-0.988171, -0.127447, 0.085300> + 17993: <-0.992765, -0.084905, 0.084905> + 17994: <-0.995505, -0.084660, 0.042452> + 17995: <-0.990966, -0.127144, 0.042666> + 17996: <-0.992765, -0.084905, 0.084905> + 17997: <-0.995505, -0.042452, 0.084660> + 17998: <-0.998209, -0.042299, 0.042299> + 17999: <-0.995505, -0.084660, 0.042452> + 18000: <-0.995505, -0.042452, 0.084660> + 18001: <-0.996418, 0.000000, 0.084568> + 18002: <-0.999108, 0.000000, 0.042239> + 18003: <-0.998209, -0.042299, 0.042299> + 18004: <-0.996418, 0.000000, 0.084568> + 18005: <-0.995505, 0.042452, 0.084660> + 18006: <-0.998209, 0.042299, 0.042299> + 18007: <-0.999108, 0.000000, 0.042239> + 18008: <-0.995505, 0.042452, 0.084660> + 18009: <-0.992765, 0.084905, 0.084905> + 18010: <-0.995505, 0.084660, 0.042452> + 18011: <-0.998209, 0.042299, 0.042299> + 18012: <-0.992765, 0.084905, 0.084905> + 18013: <-0.988171, 0.127447, 0.085300> + 18014: <-0.990966, 0.127144, 0.042666> + 18015: <-0.995505, 0.084660, 0.042452> + 18016: <-0.988171, 0.127447, 0.085300> + 18017: <-0.981668, 0.170203, 0.085788> + 18018: <-0.984535, 0.169837, 0.042970> + 18019: <-0.990966, 0.127144, 0.042666> + 18020: <-0.981668, 0.170203, 0.085788> + 18021: <-0.973180, 0.213204, 0.086398> + 18022: <-0.976120, 0.212870, 0.043306> + 18023: <-0.984535, 0.169837, 0.042970> + 18024: <-0.973180, 0.213204, 0.086398> + 18025: <-0.962605, 0.256544, 0.087041> + 18026: <-0.965618, 0.256267, 0.043703> + 18027: <-0.976120, 0.212870, 0.043306> + 18028: <-0.962605, 0.256544, 0.087041> + 18029: <-0.949820, 0.300248, 0.087712> + 18030: <-0.952889, 0.300092, 0.044130> + 18031: <-0.965618, 0.256267, 0.043703> + 18032: <-0.949820, 0.300248, 0.087712> + 18033: <-0.934648, 0.344408, 0.088414> + 18034: <-0.937762, 0.344409, 0.044558> + 18035: <-0.952889, 0.300092, 0.044130> + 18036: <-0.934648, 0.344408, 0.088414> + 18037: <-0.916918, 0.388998, 0.089116> + 18038: <-0.920061, 0.389180, 0.045016> + 18039: <-0.937762, 0.344409, 0.044558> + 18040: <-0.916918, 0.388998, 0.089116> + 18041: <-0.896437, 0.433981, 0.089787> + 18042: <-0.899583, 0.434379, 0.045443> + 18043: <-0.920061, 0.389180, 0.045016> + 18044: <-0.896437, 0.433981, 0.089787> + 18045: <-0.872976, 0.479307, 0.090429> + 18046: <-0.876095, 0.479951, 0.045871> + 18047: <-0.899583, 0.434379, 0.045443> + 18048: <-0.872976, 0.479307, 0.090429> + 18049: <-0.846324, 0.524836, 0.091008> + 18050: <-0.849378, 0.525753, 0.046267> + 18051: <-0.876095, 0.479951, 0.045871> + 18052: <-0.846324, 0.524836, 0.091008> + 18053: <-0.816271, 0.570377, 0.091497> + 18054: <-0.819208, 0.571602, 0.046573> + 18055: <-0.849378, 0.525753, 0.046267> + 18056: <-0.816271, 0.570377, 0.091497> + 18057: <-0.782607, 0.615697, 0.091894> + 18058: <-0.785375, 0.617246, 0.046847> + 18059: <-0.819208, 0.571602, 0.046573> + 18060: <-0.782607, 0.615697, 0.091894> + 18061: <-0.745184, 0.660463, 0.092137> + 18062: <-0.747715, 0.662354, 0.046999> + 18063: <-0.785375, 0.617246, 0.046847> + 18064: <-0.747715, -0.662354, 0.046999> + 18065: <-0.785375, -0.617246, 0.046847> + 18066: <-0.786344, -0.617789, 0.000000> + 18067: <-0.748599, -0.663024, 0.000000> + 18068: <-0.785375, -0.617246, 0.046847> + 18069: <-0.819208, -0.571602, 0.046573> + 18070: <-0.820237, -0.572024, 0.000000> + 18071: <-0.786344, -0.617789, 0.000000> + 18072: <-0.819208, -0.571602, 0.046573> + 18073: <-0.849378, -0.525753, 0.046267> + 18074: <-0.850434, -0.526081, 0.000000> + 18075: <-0.820237, -0.572024, 0.000000> + 18076: <-0.849378, -0.525753, 0.046267> + 18077: <-0.876095, -0.479951, 0.045871> + 18078: <-0.877169, -0.480182, 0.000000> + 18079: <-0.850434, -0.526081, 0.000000> + 18080: <-0.876095, -0.479951, 0.045871> + 18081: <-0.899583, -0.434379, 0.045443> + 18082: <-0.900655, -0.434534, 0.000000> + 18083: <-0.877169, -0.480182, 0.000000> + 18084: <-0.899583, -0.434379, 0.045443> + 18085: <-0.920061, -0.389180, 0.045016> + 18086: <-0.921135, -0.389244, 0.000000> + 18087: <-0.900655, -0.434534, 0.000000> + 18088: <-0.920061, -0.389180, 0.045016> + 18089: <-0.937762, -0.344409, 0.044558> + 18090: <-0.938821, -0.344405, 0.000000> + 18091: <-0.921135, -0.389244, 0.000000> + 18092: <-0.937762, -0.344409, 0.044558> + 18093: <-0.952889, -0.300092, 0.044130> + 18094: <-0.953929, -0.300031, 0.000000> + 18095: <-0.938821, -0.344405, 0.000000> + 18096: <-0.952889, -0.300092, 0.044130> + 18097: <-0.965618, -0.256267, 0.043703> + 18098: <-0.966630, -0.256177, 0.000000> + 18099: <-0.953929, -0.300031, 0.000000> + 18100: <-0.965618, -0.256267, 0.043703> + 18101: <-0.976120, -0.212870, 0.043306> + 18102: <-0.977107, -0.212750, 0.000000> + 18103: <-0.966630, -0.256177, 0.000000> + 18104: <-0.976120, -0.212870, 0.043306> + 18105: <-0.984535, -0.169837, 0.042970> + 18106: <-0.985488, -0.169746, 0.000000> + 18107: <-0.977107, -0.212750, 0.000000> + 18108: <-0.984535, -0.169837, 0.042970> + 18109: <-0.990966, -0.127144, 0.042666> + 18110: <-0.991900, -0.127020, 0.000000> + 18111: <-0.985488, -0.169746, 0.000000> + 18112: <-0.990966, -0.127144, 0.042666> + 18113: <-0.995505, -0.084660, 0.042452> + 18114: <-0.996418, -0.084568, 0.000000> + 18115: <-0.991900, -0.127020, 0.000000> + 18116: <-0.995505, -0.084660, 0.042452> + 18117: <-0.998209, -0.042299, 0.042299> + 18118: <-0.999108, -0.042239, 0.000000> + 18119: <-0.996418, -0.084568, 0.000000> + 18120: <-0.998209, -0.042299, 0.042299> + 18121: <-0.999108, 0.000000, 0.042239> + 18122: <-1.000000, 0.000000, 0.000000> + 18123: <-0.999108, -0.042239, 0.000000> + 18124: <-0.999108, 0.000000, 0.042239> + 18125: <-0.998209, 0.042299, 0.042299> + 18126: <-0.999108, 0.042239, 0.000000> + 18127: <-1.000000, 0.000000, 0.000000> + 18128: <-0.998209, 0.042299, 0.042299> + 18129: <-0.995505, 0.084660, 0.042452> + 18130: <-0.996418, 0.084568, 0.000000> + 18131: <-0.999108, 0.042239, 0.000000> + 18132: <-0.995505, 0.084660, 0.042452> + 18133: <-0.990966, 0.127144, 0.042666> + 18134: <-0.991900, 0.127020, 0.000000> + 18135: <-0.996418, 0.084568, 0.000000> + 18136: <-0.990966, 0.127144, 0.042666> + 18137: <-0.984535, 0.169837, 0.042970> + 18138: <-0.985488, 0.169746, 0.000000> + 18139: <-0.991900, 0.127020, 0.000000> + 18140: <-0.984535, 0.169837, 0.042970> + 18141: <-0.976120, 0.212870, 0.043306> + 18142: <-0.977107, 0.212750, 0.000000> + 18143: <-0.985488, 0.169746, 0.000000> + 18144: <-0.976120, 0.212870, 0.043306> + 18145: <-0.965618, 0.256267, 0.043703> + 18146: <-0.966630, 0.256177, 0.000000> + 18147: <-0.977107, 0.212750, 0.000000> + 18148: <-0.965618, 0.256267, 0.043703> + 18149: <-0.952889, 0.300092, 0.044130> + 18150: <-0.953921, 0.300059, 0.000000> + 18151: <-0.966630, 0.256177, 0.000000> + 18152: <-0.952889, 0.300092, 0.044130> + 18153: <-0.937762, 0.344409, 0.044558> + 18154: <-0.938821, 0.344405, 0.000000> + 18155: <-0.953921, 0.300059, 0.000000> + 18156: <-0.937762, 0.344409, 0.044558> + 18157: <-0.920061, 0.389180, 0.045016> + 18158: <-0.921135, 0.389244, 0.000000> + 18159: <-0.938821, 0.344405, 0.000000> + 18160: <-0.920061, 0.389180, 0.045016> + 18161: <-0.899583, 0.434379, 0.045443> + 18162: <-0.900655, 0.434534, 0.000000> + 18163: <-0.921135, 0.389244, 0.000000> + 18164: <-0.899583, 0.434379, 0.045443> + 18165: <-0.876095, 0.479951, 0.045871> + 18166: <-0.877169, 0.480182, 0.000000> + 18167: <-0.900655, 0.434534, 0.000000> + 18168: <-0.876095, 0.479951, 0.045871> + 18169: <-0.849378, 0.525753, 0.046267> + 18170: <-0.850434, 0.526081, 0.000000> + 18171: <-0.877169, 0.480182, 0.000000> + 18172: <-0.849378, 0.525753, 0.046267> + 18173: <-0.819208, 0.571602, 0.046573> + 18174: <-0.820237, 0.572024, 0.000000> + 18175: <-0.850434, 0.526081, 0.000000> + 18176: <-0.819208, 0.571602, 0.046573> + 18177: <-0.785375, 0.617246, 0.046847> + 18178: <-0.786344, 0.617789, 0.000000> + 18179: <-0.820237, 0.572024, 0.000000> + 18180: <-0.785375, 0.617246, 0.046847> + 18181: <-0.747715, 0.662354, 0.046999> + 18182: <-0.748599, 0.663024, 0.000000> + 18183: <-0.786344, 0.617789, 0.000000> + 18184: <-0.748599, -0.663024, 0.000000> + 18185: <-0.786344, -0.617789, 0.000000> + 18186: <-0.785375, -0.617246, -0.046847> + 18187: <-0.747715, -0.662354, -0.046999> + 18188: <-0.786344, -0.617789, 0.000000> + 18189: <-0.820237, -0.572024, 0.000000> + 18190: <-0.819208, -0.571602, -0.046573> + 18191: <-0.785375, -0.617246, -0.046847> + 18192: <-0.820237, -0.572024, 0.000000> + 18193: <-0.850434, -0.526081, 0.000000> + 18194: <-0.849378, -0.525753, -0.046267> + 18195: <-0.819208, -0.571602, -0.046573> + 18196: <-0.850434, -0.526081, 0.000000> + 18197: <-0.877169, -0.480182, 0.000000> + 18198: <-0.876095, -0.479951, -0.045871> + 18199: <-0.849378, -0.525753, -0.046267> + 18200: <-0.877169, -0.480182, 0.000000> + 18201: <-0.900655, -0.434534, 0.000000> + 18202: <-0.899583, -0.434379, -0.045443> + 18203: <-0.876095, -0.479951, -0.045871> + 18204: <-0.900655, -0.434534, 0.000000> + 18205: <-0.921135, -0.389244, 0.000000> + 18206: <-0.920061, -0.389180, -0.045016> + 18207: <-0.899583, -0.434379, -0.045443> + 18208: <-0.921135, -0.389244, 0.000000> + 18209: <-0.938821, -0.344405, 0.000000> + 18210: <-0.937762, -0.344409, -0.044558> + 18211: <-0.920061, -0.389180, -0.045016> + 18212: <-0.938821, -0.344405, 0.000000> + 18213: <-0.953929, -0.300031, 0.000000> + 18214: <-0.952889, -0.300092, -0.044130> + 18215: <-0.937762, -0.344409, -0.044558> + 18216: <-0.953929, -0.300031, 0.000000> + 18217: <-0.966630, -0.256177, 0.000000> + 18218: <-0.965618, -0.256267, -0.043703> + 18219: <-0.952889, -0.300092, -0.044130> + 18220: <-0.966630, -0.256177, 0.000000> + 18221: <-0.977107, -0.212750, 0.000000> + 18222: <-0.976120, -0.212870, -0.043306> + 18223: <-0.965618, -0.256267, -0.043703> + 18224: <-0.977107, -0.212750, 0.000000> + 18225: <-0.985488, -0.169746, 0.000000> + 18226: <-0.984535, -0.169837, -0.042970> + 18227: <-0.976120, -0.212870, -0.043306> + 18228: <-0.985488, -0.169746, 0.000000> + 18229: <-0.991900, -0.127020, 0.000000> + 18230: <-0.990966, -0.127144, -0.042666> + 18231: <-0.984535, -0.169837, -0.042970> + 18232: <-0.991900, -0.127020, 0.000000> + 18233: <-0.996418, -0.084568, 0.000000> + 18234: <-0.995505, -0.084660, -0.042452> + 18235: <-0.990966, -0.127144, -0.042666> + 18236: <-0.996418, -0.084568, 0.000000> + 18237: <-0.999108, -0.042239, 0.000000> + 18238: <-0.998209, -0.042299, -0.042299> + 18239: <-0.995505, -0.084660, -0.042452> + 18240: <-0.999108, -0.042239, 0.000000> + 18241: <-1.000000, 0.000000, 0.000000> + 18242: <-0.999108, 0.000000, -0.042239> + 18243: <-0.998209, -0.042299, -0.042299> + 18244: <-1.000000, 0.000000, 0.000000> + 18245: <-0.999108, 0.042239, 0.000000> + 18246: <-0.998209, 0.042299, -0.042299> + 18247: <-0.999108, 0.000000, -0.042239> + 18248: <-0.999108, 0.042239, 0.000000> + 18249: <-0.996418, 0.084568, 0.000000> + 18250: <-0.995505, 0.084660, -0.042452> + 18251: <-0.998209, 0.042299, -0.042299> + 18252: <-0.996418, 0.084568, 0.000000> + 18253: <-0.991900, 0.127020, 0.000000> + 18254: <-0.990966, 0.127144, -0.042666> + 18255: <-0.995505, 0.084660, -0.042452> + 18256: <-0.991900, 0.127020, 0.000000> + 18257: <-0.985488, 0.169746, 0.000000> + 18258: <-0.984530, 0.169866, -0.042970> + 18259: <-0.990966, 0.127144, -0.042666> + 18260: <-0.985488, 0.169746, 0.000000> + 18261: <-0.977107, 0.212750, 0.000000> + 18262: <-0.976120, 0.212870, -0.043306> + 18263: <-0.984530, 0.169866, -0.042970> + 18264: <-0.977107, 0.212750, 0.000000> + 18265: <-0.966630, 0.256177, 0.000000> + 18266: <-0.965618, 0.256267, -0.043703> + 18267: <-0.976120, 0.212870, -0.043306> + 18268: <-0.966630, 0.256177, 0.000000> + 18269: <-0.953921, 0.300059, 0.000000> + 18270: <-0.952889, 0.300092, -0.044130> + 18271: <-0.965618, 0.256267, -0.043703> + 18272: <-0.953921, 0.300059, 0.000000> + 18273: <-0.938821, 0.344405, 0.000000> + 18274: <-0.937762, 0.344409, -0.044558> + 18275: <-0.952889, 0.300092, -0.044130> + 18276: <-0.938821, 0.344405, 0.000000> + 18277: <-0.921135, 0.389244, 0.000000> + 18278: <-0.920061, 0.389180, -0.045016> + 18279: <-0.937762, 0.344409, -0.044558> + 18280: <-0.921135, 0.389244, 0.000000> + 18281: <-0.900655, 0.434534, 0.000000> + 18282: <-0.899583, 0.434379, -0.045443> + 18283: <-0.920061, 0.389180, -0.045016> + 18284: <-0.900655, 0.434534, 0.000000> + 18285: <-0.877169, 0.480182, 0.000000> + 18286: <-0.876095, 0.479951, -0.045871> + 18287: <-0.899583, 0.434379, -0.045443> + 18288: <-0.877169, 0.480182, 0.000000> + 18289: <-0.850434, 0.526081, 0.000000> + 18290: <-0.849378, 0.525753, -0.046267> + 18291: <-0.876095, 0.479951, -0.045871> + 18292: <-0.850434, 0.526081, 0.000000> + 18293: <-0.820237, 0.572024, 0.000000> + 18294: <-0.819208, 0.571602, -0.046573> + 18295: <-0.849378, 0.525753, -0.046267> + 18296: <-0.820237, 0.572024, 0.000000> + 18297: <-0.786344, 0.617789, 0.000000> + 18298: <-0.785375, 0.617246, -0.046847> + 18299: <-0.819208, 0.571602, -0.046573> + 18300: <-0.786344, 0.617789, 0.000000> + 18301: <-0.748599, 0.663024, 0.000000> + 18302: <-0.747715, 0.662354, -0.046999> + 18303: <-0.785375, 0.617246, -0.046847> + 18304: <-0.747715, -0.662354, -0.046999> + 18305: <-0.785375, -0.617246, -0.046847> + 18306: <-0.782607, -0.615697, -0.091894> + 18307: <-0.745184, -0.660463, -0.092137> + 18308: <-0.785375, -0.617246, -0.046847> + 18309: <-0.819208, -0.571602, -0.046573> + 18310: <-0.816271, -0.570377, -0.091497> + 18311: <-0.782607, -0.615697, -0.091894> + 18312: <-0.819208, -0.571602, -0.046573> + 18313: <-0.849378, -0.525753, -0.046267> + 18314: <-0.846324, -0.524836, -0.091008> + 18315: <-0.816271, -0.570377, -0.091497> + 18316: <-0.849378, -0.525753, -0.046267> + 18317: <-0.876095, -0.479951, -0.045871> + 18318: <-0.872976, -0.479307, -0.090429> + 18319: <-0.846324, -0.524836, -0.091008> + 18320: <-0.876095, -0.479951, -0.045871> + 18321: <-0.899583, -0.434379, -0.045443> + 18322: <-0.896437, -0.433981, -0.089787> + 18323: <-0.872976, -0.479307, -0.090429> + 18324: <-0.899583, -0.434379, -0.045443> + 18325: <-0.920061, -0.389180, -0.045016> + 18326: <-0.916918, -0.388998, -0.089116> + 18327: <-0.896437, -0.433981, -0.089787> + 18328: <-0.920061, -0.389180, -0.045016> + 18329: <-0.937762, -0.344409, -0.044558> + 18330: <-0.934648, -0.344408, -0.088414> + 18331: <-0.916918, -0.388998, -0.089116> + 18332: <-0.937762, -0.344409, -0.044558> + 18333: <-0.952889, -0.300092, -0.044130> + 18334: <-0.949820, -0.300248, -0.087712> + 18335: <-0.934648, -0.344408, -0.088414> + 18336: <-0.952889, -0.300092, -0.044130> + 18337: <-0.965618, -0.256267, -0.043703> + 18338: <-0.962605, -0.256544, -0.087041> + 18339: <-0.949820, -0.300248, -0.087712> + 18340: <-0.965618, -0.256267, -0.043703> + 18341: <-0.976120, -0.212870, -0.043306> + 18342: <-0.973180, -0.213204, -0.086398> + 18343: <-0.962605, -0.256544, -0.087041> + 18344: <-0.976120, -0.212870, -0.043306> + 18345: <-0.984535, -0.169837, -0.042970> + 18346: <-0.981668, -0.170203, -0.085788> + 18347: <-0.973180, -0.213204, -0.086398> + 18348: <-0.984535, -0.169837, -0.042970> + 18349: <-0.990966, -0.127144, -0.042666> + 18350: <-0.988171, -0.127447, -0.085300> + 18351: <-0.981668, -0.170203, -0.085788> + 18352: <-0.990966, -0.127144, -0.042666> + 18353: <-0.995505, -0.084660, -0.042452> + 18354: <-0.992765, -0.084905, -0.084905> + 18355: <-0.988171, -0.127447, -0.085300> + 18356: <-0.995505, -0.084660, -0.042452> + 18357: <-0.998209, -0.042299, -0.042299> + 18358: <-0.995505, -0.042452, -0.084660> + 18359: <-0.992765, -0.084905, -0.084905> + 18360: <-0.998209, -0.042299, -0.042299> + 18361: <-0.999108, 0.000000, -0.042239> + 18362: <-0.996418, 0.000000, -0.084568> + 18363: <-0.995505, -0.042452, -0.084660> + 18364: <-0.999108, 0.000000, -0.042239> + 18365: <-0.998209, 0.042299, -0.042299> + 18366: <-0.995505, 0.042452, -0.084660> + 18367: <-0.996418, 0.000000, -0.084568> + 18368: <-0.998209, 0.042299, -0.042299> + 18369: <-0.995505, 0.084660, -0.042452> + 18370: <-0.992765, 0.084905, -0.084905> + 18371: <-0.995505, 0.042452, -0.084660> + 18372: <-0.995505, 0.084660, -0.042452> + 18373: <-0.990966, 0.127144, -0.042666> + 18374: <-0.988171, 0.127447, -0.085300> + 18375: <-0.992765, 0.084905, -0.084905> + 18376: <-0.990966, 0.127144, -0.042666> + 18377: <-0.984530, 0.169866, -0.042970> + 18378: <-0.981668, 0.170203, -0.085788> + 18379: <-0.988171, 0.127447, -0.085300> + 18380: <-0.984530, 0.169866, -0.042970> + 18381: <-0.976120, 0.212870, -0.043306> + 18382: <-0.973180, 0.213204, -0.086398> + 18383: <-0.981668, 0.170203, -0.085788> + 18384: <-0.976120, 0.212870, -0.043306> + 18385: <-0.965618, 0.256267, -0.043703> + 18386: <-0.962605, 0.256544, -0.087041> + 18387: <-0.973180, 0.213204, -0.086398> + 18388: <-0.965618, 0.256267, -0.043703> + 18389: <-0.952889, 0.300092, -0.044130> + 18390: <-0.949820, 0.300248, -0.087712> + 18391: <-0.962605, 0.256544, -0.087041> + 18392: <-0.952889, 0.300092, -0.044130> + 18393: <-0.937762, 0.344409, -0.044558> + 18394: <-0.934648, 0.344408, -0.088414> + 18395: <-0.949820, 0.300248, -0.087712> + 18396: <-0.937762, 0.344409, -0.044558> + 18397: <-0.920061, 0.389180, -0.045016> + 18398: <-0.916918, 0.388998, -0.089116> + 18399: <-0.934648, 0.344408, -0.088414> + 18400: <-0.920061, 0.389180, -0.045016> + 18401: <-0.899583, 0.434379, -0.045443> + 18402: <-0.896437, 0.433981, -0.089787> + 18403: <-0.916918, 0.388998, -0.089116> + 18404: <-0.899583, 0.434379, -0.045443> + 18405: <-0.876095, 0.479951, -0.045871> + 18406: <-0.872976, 0.479307, -0.090429> + 18407: <-0.896437, 0.433981, -0.089787> + 18408: <-0.876095, 0.479951, -0.045871> + 18409: <-0.849378, 0.525753, -0.046267> + 18410: <-0.846324, 0.524836, -0.091008> + 18411: <-0.872976, 0.479307, -0.090429> + 18412: <-0.849378, 0.525753, -0.046267> + 18413: <-0.819208, 0.571602, -0.046573> + 18414: <-0.816271, 0.570377, -0.091497> + 18415: <-0.846324, 0.524836, -0.091008> + 18416: <-0.819208, 0.571602, -0.046573> + 18417: <-0.785375, 0.617246, -0.046847> + 18418: <-0.782607, 0.615697, -0.091894> + 18419: <-0.816271, 0.570377, -0.091497> + 18420: <-0.785375, 0.617246, -0.046847> + 18421: <-0.747715, 0.662354, -0.046999> + 18422: <-0.745184, 0.660463, -0.092137> + 18423: <-0.782607, 0.615697, -0.091894> + 18424: <-0.745184, -0.660463, -0.092137> + 18425: <-0.782607, -0.615697, -0.091894> + 18426: <-0.778309, -0.613199, -0.134988> + 18427: <-0.741243, -0.657468, -0.135260> + 18428: <-0.782607, -0.615697, -0.091894> + 18429: <-0.816271, -0.570377, -0.091497> + 18430: <-0.811677, -0.568382, -0.134618> + 18431: <-0.778309, -0.613199, -0.134988> + 18432: <-0.816271, -0.570377, -0.091497> + 18433: <-0.846324, -0.524836, -0.091008> + 18434: <-0.841527, -0.523307, -0.134100> + 18435: <-0.811677, -0.568382, -0.134618> + 18436: <-0.846324, -0.524836, -0.091008> + 18437: <-0.872976, -0.479307, -0.090429> + 18438: <-0.868033, -0.478208, -0.133553> + 18439: <-0.841527, -0.523307, -0.134100> + 18440: <-0.872976, -0.479307, -0.090429> + 18441: <-0.896437, -0.433981, -0.089787> + 18442: <-0.891405, -0.433281, -0.132911> + 18443: <-0.868033, -0.478208, -0.133553> + 18444: <-0.896437, -0.433981, -0.089787> + 18445: <-0.916918, -0.388998, -0.089116> + 18446: <-0.911854, -0.388632, -0.132240> + 18447: <-0.891405, -0.433281, -0.132911> + 18448: <-0.916918, -0.388998, -0.089116> + 18449: <-0.934648, -0.344408, -0.088414> + 18450: <-0.929596, -0.344322, -0.131509> + 18451: <-0.911854, -0.388632, -0.132240> + 18452: <-0.934648, -0.344408, -0.088414> + 18453: <-0.949820, -0.300248, -0.087712> + 18454: <-0.944802, -0.300427, -0.130743> + 18455: <-0.929596, -0.344322, -0.131509> + 18456: <-0.949820, -0.300248, -0.087712> + 18457: <-0.962605, -0.256544, -0.087041> + 18458: <-0.957663, -0.256880, -0.129981> + 18459: <-0.944802, -0.300427, -0.130743> + 18460: <-0.962605, -0.256544, -0.087041> + 18461: <-0.973180, -0.213204, -0.086398> + 18462: <-0.968319, -0.213666, -0.129250> + 18463: <-0.957663, -0.256880, -0.129981> + 18464: <-0.973180, -0.213204, -0.086398> + 18465: <-0.981668, -0.170203, -0.085788> + 18466: <-0.976904, -0.170691, -0.128545> + 18467: <-0.968319, -0.213666, -0.129250> + 18468: <-0.981668, -0.170203, -0.085788> + 18469: <-0.988171, -0.127447, -0.085300> + 18470: <-0.983497, -0.127935, -0.127935> + 18471: <-0.976904, -0.170691, -0.128545> + 18472: <-0.988171, -0.127447, -0.085300> + 18473: <-0.992765, -0.084905, -0.084905> + 18474: <-0.988171, -0.085300, -0.127447> + 18475: <-0.983497, -0.127935, -0.127935> + 18476: <-0.992765, -0.084905, -0.084905> + 18477: <-0.995505, -0.042452, -0.084660> + 18478: <-0.990966, -0.042666, -0.127144> + 18479: <-0.988171, -0.085300, -0.127447> + 18480: <-0.995505, -0.042452, -0.084660> + 18481: <-0.996418, 0.000000, -0.084568> + 18482: <-0.991900, 0.000000, -0.127020> + 18483: <-0.990966, -0.042666, -0.127144> + 18484: <-0.996418, 0.000000, -0.084568> + 18485: <-0.995505, 0.042452, -0.084660> + 18486: <-0.990966, 0.042666, -0.127144> + 18487: <-0.991900, 0.000000, -0.127020> + 18488: <-0.995505, 0.042452, -0.084660> + 18489: <-0.992765, 0.084905, -0.084905> + 18490: <-0.988171, 0.085300, -0.127447> + 18491: <-0.990966, 0.042666, -0.127144> + 18492: <-0.992765, 0.084905, -0.084905> + 18493: <-0.988171, 0.127447, -0.085300> + 18494: <-0.983497, 0.127935, -0.127935> + 18495: <-0.988171, 0.085300, -0.127447> + 18496: <-0.988171, 0.127447, -0.085300> + 18497: <-0.981668, 0.170203, -0.085788> + 18498: <-0.976904, 0.170691, -0.128545> + 18499: <-0.983497, 0.127935, -0.127935> + 18500: <-0.981668, 0.170203, -0.085788> + 18501: <-0.973180, 0.213204, -0.086398> + 18502: <-0.968319, 0.213666, -0.129250> + 18503: <-0.976904, 0.170691, -0.128545> + 18504: <-0.973180, 0.213204, -0.086398> + 18505: <-0.962605, 0.256544, -0.087041> + 18506: <-0.957663, 0.256880, -0.129981> + 18507: <-0.968319, 0.213666, -0.129250> + 18508: <-0.962605, 0.256544, -0.087041> + 18509: <-0.949820, 0.300248, -0.087712> + 18510: <-0.944802, 0.300427, -0.130743> + 18511: <-0.957663, 0.256880, -0.129981> + 18512: <-0.949820, 0.300248, -0.087712> + 18513: <-0.934648, 0.344408, -0.088414> + 18514: <-0.929596, 0.344322, -0.131509> + 18515: <-0.944802, 0.300427, -0.130743> + 18516: <-0.934648, 0.344408, -0.088414> + 18517: <-0.916918, 0.388998, -0.089116> + 18518: <-0.911854, 0.388632, -0.132240> + 18519: <-0.929596, 0.344322, -0.131509> + 18520: <-0.916918, 0.388998, -0.089116> + 18521: <-0.896437, 0.433981, -0.089787> + 18522: <-0.891405, 0.433281, -0.132911> + 18523: <-0.911854, 0.388632, -0.132240> + 18524: <-0.896437, 0.433981, -0.089787> + 18525: <-0.872976, 0.479307, -0.090429> + 18526: <-0.868033, 0.478208, -0.133553> + 18527: <-0.891405, 0.433281, -0.132911> + 18528: <-0.872976, 0.479307, -0.090429> + 18529: <-0.846324, 0.524836, -0.091008> + 18530: <-0.841527, 0.523307, -0.134100> + 18531: <-0.868033, 0.478208, -0.133553> + 18532: <-0.846324, 0.524836, -0.091008> + 18533: <-0.816271, 0.570377, -0.091497> + 18534: <-0.811677, 0.568382, -0.134618> + 18535: <-0.841527, 0.523307, -0.134100> + 18536: <-0.816271, 0.570377, -0.091497> + 18537: <-0.782607, 0.615697, -0.091894> + 18538: <-0.778309, 0.613199, -0.134988> + 18539: <-0.811677, 0.568382, -0.134618> + 18540: <-0.782607, 0.615697, -0.091894> + 18541: <-0.745184, 0.660463, -0.092137> + 18542: <-0.741243, 0.657468, -0.135260> + 18543: <-0.778309, 0.613199, -0.134988> + 18544: <-0.741243, -0.657468, -0.135260> + 18545: <-0.778309, -0.613199, -0.134988> + 18546: <-0.772589, -0.609892, -0.176461> + 18547: <-0.736025, -0.653502, -0.176644> + 18548: <-0.778309, -0.613199, -0.134988> + 18549: <-0.811677, -0.568382, -0.134618> + 18550: <-0.805587, -0.565675, -0.176188> + 18551: <-0.772589, -0.609892, -0.176461> + 18552: <-0.811677, -0.568382, -0.134618> + 18553: <-0.841527, -0.523307, -0.134100> + 18554: <-0.835133, -0.521180, -0.175853> + 18555: <-0.805587, -0.565675, -0.176188> + 18556: <-0.841527, -0.523307, -0.134100> + 18557: <-0.868033, -0.478208, -0.133553> + 18558: <-0.861427, -0.476614, -0.175453> + 18559: <-0.835133, -0.521180, -0.175853> + 18560: <-0.868033, -0.478208, -0.133553> + 18561: <-0.891405, -0.433281, -0.132911> + 18562: <-0.884654, -0.432149, -0.175026> + 18563: <-0.861427, -0.476614, -0.175453> + 18564: <-0.891405, -0.433281, -0.132911> + 18565: <-0.911854, -0.388632, -0.132240> + 18566: <-0.904997, -0.387965, -0.174541> + 18567: <-0.884654, -0.432149, -0.175026> + 18568: <-0.911854, -0.388632, -0.132240> + 18569: <-0.929596, -0.344322, -0.131509> + 18570: <-0.922682, -0.344072, -0.173989> + 18571: <-0.904997, -0.387965, -0.174541> + 18572: <-0.929596, -0.344322, -0.131509> + 18573: <-0.944802, -0.300427, -0.130743> + 18574: <-0.937897, -0.300496, -0.173351> + 18575: <-0.922682, -0.344072, -0.173989> + 18576: <-0.944802, -0.300427, -0.130743> + 18577: <-0.957663, -0.256880, -0.129981> + 18578: <-0.950800, -0.257217, -0.172679> + 18579: <-0.937897, -0.300496, -0.173351> + 18580: <-0.957663, -0.256880, -0.129981> + 18581: <-0.968319, -0.213666, -0.129250> + 18582: <-0.961530, -0.214182, -0.172005> + 18583: <-0.950800, -0.257217, -0.172679> + 18584: <-0.968319, -0.213666, -0.129250> + 18585: <-0.976904, -0.170691, -0.128545> + 18586: <-0.970211, -0.171305, -0.171305> + 18587: <-0.961530, -0.214182, -0.172005> + 18588: <-0.976904, -0.170691, -0.128545> + 18589: <-0.983497, -0.127935, -0.127935> + 18590: <-0.976904, -0.128545, -0.170691> + 18591: <-0.970211, -0.171305, -0.171305> + 18592: <-0.983497, -0.127935, -0.127935> + 18593: <-0.988171, -0.085300, -0.127447> + 18594: <-0.981668, -0.085788, -0.170203> + 18595: <-0.976904, -0.128545, -0.170691> + 18596: <-0.988171, -0.085300, -0.127447> + 18597: <-0.990966, -0.042666, -0.127144> + 18598: <-0.984535, -0.042970, -0.169837> + 18599: <-0.981668, -0.085788, -0.170203> + 18600: <-0.990966, -0.042666, -0.127144> + 18601: <-0.991900, 0.000000, -0.127020> + 18602: <-0.985488, 0.000000, -0.169746> + 18603: <-0.984535, -0.042970, -0.169837> + 18604: <-0.991900, 0.000000, -0.127020> + 18605: <-0.990966, 0.042666, -0.127144> + 18606: <-0.984530, 0.042970, -0.169866> + 18607: <-0.985488, 0.000000, -0.169746> + 18608: <-0.990966, 0.042666, -0.127144> + 18609: <-0.988171, 0.085300, -0.127447> + 18610: <-0.981668, 0.085788, -0.170203> + 18611: <-0.984530, 0.042970, -0.169866> + 18612: <-0.988171, 0.085300, -0.127447> + 18613: <-0.983497, 0.127935, -0.127935> + 18614: <-0.976904, 0.128545, -0.170691> + 18615: <-0.981668, 0.085788, -0.170203> + 18616: <-0.983497, 0.127935, -0.127935> + 18617: <-0.976904, 0.170691, -0.128545> + 18618: <-0.970211, 0.171305, -0.171305> + 18619: <-0.976904, 0.128545, -0.170691> + 18620: <-0.976904, 0.170691, -0.128545> + 18621: <-0.968319, 0.213666, -0.129250> + 18622: <-0.961530, 0.214182, -0.172005> + 18623: <-0.970211, 0.171305, -0.171305> + 18624: <-0.968319, 0.213666, -0.129250> + 18625: <-0.957663, 0.256880, -0.129981> + 18626: <-0.950800, 0.257217, -0.172679> + 18627: <-0.961530, 0.214182, -0.172005> + 18628: <-0.957663, 0.256880, -0.129981> + 18629: <-0.944802, 0.300427, -0.130743> + 18630: <-0.937897, 0.300496, -0.173351> + 18631: <-0.950800, 0.257217, -0.172679> + 18632: <-0.944802, 0.300427, -0.130743> + 18633: <-0.929596, 0.344322, -0.131509> + 18634: <-0.922682, 0.344072, -0.173989> + 18635: <-0.937897, 0.300496, -0.173351> + 18636: <-0.929596, 0.344322, -0.131509> + 18637: <-0.911854, 0.388632, -0.132240> + 18638: <-0.904997, 0.387965, -0.174541> + 18639: <-0.922682, 0.344072, -0.173989> + 18640: <-0.911854, 0.388632, -0.132240> + 18641: <-0.891405, 0.433281, -0.132911> + 18642: <-0.884654, 0.432149, -0.175026> + 18643: <-0.904997, 0.387965, -0.174541> + 18644: <-0.891405, 0.433281, -0.132911> + 18645: <-0.868033, 0.478208, -0.133553> + 18646: <-0.861427, 0.476614, -0.175453> + 18647: <-0.884654, 0.432149, -0.175026> + 18648: <-0.868033, 0.478208, -0.133553> + 18649: <-0.841527, 0.523307, -0.134100> + 18650: <-0.835133, 0.521180, -0.175853> + 18651: <-0.861427, 0.476614, -0.175453> + 18652: <-0.841527, 0.523307, -0.134100> + 18653: <-0.811677, 0.568382, -0.134618> + 18654: <-0.805587, 0.565675, -0.176188> + 18655: <-0.835133, 0.521180, -0.175853> + 18656: <-0.811677, 0.568382, -0.134618> + 18657: <-0.778309, 0.613199, -0.134988> + 18658: <-0.772589, 0.609892, -0.176461> + 18659: <-0.805587, 0.565675, -0.176188> + 18660: <-0.778309, 0.613199, -0.134988> + 18661: <-0.741243, 0.657468, -0.135260> + 18662: <-0.736025, 0.653502, -0.176644> + 18663: <-0.772589, 0.609892, -0.176461> + 18664: <-0.736025, -0.653502, -0.176644> + 18665: <-0.772589, -0.609892, -0.176461> + 18666: <-0.765608, -0.605748, -0.216596> + 18667: <-0.729636, -0.648606, -0.216660> + 18668: <-0.772589, -0.609892, -0.176461> + 18669: <-0.805587, -0.565675, -0.176188> + 18670: <-0.798110, -0.562257, -0.216534> + 18671: <-0.765608, -0.605748, -0.216596> + 18672: <-0.805587, -0.565675, -0.176188> + 18673: <-0.835133, -0.521180, -0.175853> + 18674: <-0.827263, -0.518435, -0.216475> + 18675: <-0.798110, -0.562257, -0.216534> + 18676: <-0.835133, -0.521180, -0.175853> + 18677: <-0.861427, -0.476614, -0.175453> + 18678: <-0.853230, -0.474515, -0.216413> + 18679: <-0.827263, -0.518435, -0.216475> + 18680: <-0.861427, -0.476614, -0.175453> + 18681: <-0.884654, -0.432149, -0.175026> + 18682: <-0.876208, -0.430657, -0.216320> + 18683: <-0.853230, -0.474515, -0.216413> + 18684: <-0.884654, -0.432149, -0.175026> + 18685: <-0.904997, -0.387965, -0.174541> + 18686: <-0.896382, -0.386985, -0.216199> + 18687: <-0.876208, -0.430657, -0.216320> + 18688: <-0.904997, -0.387965, -0.174541> + 18689: <-0.922682, -0.344072, -0.173989> + 18690: <-0.913949, -0.343582, -0.215982> + 18691: <-0.896382, -0.386985, -0.216199> + 18692: <-0.922682, -0.344072, -0.173989> + 18693: <-0.937897, -0.300496, -0.173351> + 18694: <-0.929096, -0.300461, -0.215649> + 18695: <-0.913949, -0.343582, -0.215982> + 18696: <-0.937897, -0.300496, -0.173351> + 18697: <-0.950800, -0.257217, -0.172679> + 18698: <-0.942000, -0.257519, -0.215220> + 18699: <-0.929096, -0.300461, -0.215649> + 18700: <-0.950800, -0.257217, -0.172679> + 18701: <-0.961530, -0.214182, -0.172005> + 18702: <-0.952775, -0.214732, -0.214732> + 18703: <-0.942000, -0.257519, -0.215220> + 18704: <-0.961530, -0.214182, -0.172005> + 18705: <-0.970211, -0.171305, -0.171305> + 18706: <-0.961530, -0.172005, -0.214182> + 18707: <-0.952775, -0.214732, -0.214732> + 18708: <-0.970211, -0.171305, -0.171305> + 18709: <-0.976904, -0.128545, -0.170691> + 18710: <-0.968319, -0.129250, -0.213666> + 18711: <-0.961530, -0.172005, -0.214182> + 18712: <-0.976904, -0.128545, -0.170691> + 18713: <-0.981668, -0.085788, -0.170203> + 18714: <-0.973180, -0.086398, -0.213204> + 18715: <-0.968319, -0.129250, -0.213666> + 18716: <-0.981668, -0.085788, -0.170203> + 18717: <-0.984535, -0.042970, -0.169837> + 18718: <-0.976120, -0.043306, -0.212870> + 18719: <-0.973180, -0.086398, -0.213204> + 18720: <-0.984535, -0.042970, -0.169837> + 18721: <-0.985488, 0.000000, -0.169746> + 18722: <-0.977107, 0.000000, -0.212750> + 18723: <-0.976120, -0.043306, -0.212870> + 18724: <-0.985488, 0.000000, -0.169746> + 18725: <-0.984530, 0.042970, -0.169866> + 18726: <-0.976120, 0.043306, -0.212870> + 18727: <-0.977107, 0.000000, -0.212750> + 18728: <-0.984530, 0.042970, -0.169866> + 18729: <-0.981668, 0.085788, -0.170203> + 18730: <-0.973180, 0.086398, -0.213204> + 18731: <-0.976120, 0.043306, -0.212870> + 18732: <-0.981668, 0.085788, -0.170203> + 18733: <-0.976904, 0.128545, -0.170691> + 18734: <-0.968319, 0.129250, -0.213666> + 18735: <-0.973180, 0.086398, -0.213204> + 18736: <-0.976904, 0.128545, -0.170691> + 18737: <-0.970211, 0.171305, -0.171305> + 18738: <-0.961530, 0.172005, -0.214182> + 18739: <-0.968319, 0.129250, -0.213666> + 18740: <-0.970211, 0.171305, -0.171305> + 18741: <-0.961530, 0.214182, -0.172005> + 18742: <-0.952775, 0.214732, -0.214732> + 18743: <-0.961530, 0.172005, -0.214182> + 18744: <-0.961530, 0.214182, -0.172005> + 18745: <-0.950800, 0.257217, -0.172679> + 18746: <-0.942000, 0.257519, -0.215220> + 18747: <-0.952775, 0.214732, -0.214732> + 18748: <-0.950800, 0.257217, -0.172679> + 18749: <-0.937897, 0.300496, -0.173351> + 18750: <-0.929096, 0.300461, -0.215649> + 18751: <-0.942000, 0.257519, -0.215220> + 18752: <-0.937897, 0.300496, -0.173351> + 18753: <-0.922682, 0.344072, -0.173989> + 18754: <-0.913949, 0.343582, -0.215982> + 18755: <-0.929096, 0.300461, -0.215649> + 18756: <-0.922682, 0.344072, -0.173989> + 18757: <-0.904997, 0.387965, -0.174541> + 18758: <-0.896382, 0.386985, -0.216199> + 18759: <-0.913949, 0.343582, -0.215982> + 18760: <-0.904997, 0.387965, -0.174541> + 18761: <-0.884654, 0.432149, -0.175026> + 18762: <-0.876208, 0.430657, -0.216320> + 18763: <-0.896382, 0.386985, -0.216199> + 18764: <-0.884654, 0.432149, -0.175026> + 18765: <-0.861427, 0.476614, -0.175453> + 18766: <-0.853230, 0.474515, -0.216413> + 18767: <-0.876208, 0.430657, -0.216320> + 18768: <-0.861427, 0.476614, -0.175453> + 18769: <-0.835133, 0.521180, -0.175853> + 18770: <-0.827263, 0.518435, -0.216475> + 18771: <-0.853230, 0.474515, -0.216413> + 18772: <-0.835133, 0.521180, -0.175853> + 18773: <-0.805587, 0.565675, -0.176188> + 18774: <-0.798110, 0.562257, -0.216534> + 18775: <-0.827263, 0.518435, -0.216475> + 18776: <-0.805587, 0.565675, -0.176188> + 18777: <-0.772589, 0.609892, -0.176461> + 18778: <-0.765608, 0.605748, -0.216596> + 18779: <-0.798110, 0.562257, -0.216534> + 18780: <-0.772589, 0.609892, -0.176461> + 18781: <-0.736025, 0.653502, -0.176644> + 18782: <-0.729636, 0.648606, -0.216660> + 18783: <-0.765608, 0.605748, -0.216596> + 18784: <-0.729636, -0.648606, -0.216660> + 18785: <-0.765608, -0.605748, -0.216596> + 18786: <-0.757361, -0.600829, -0.255750> + 18787: <-0.722093, -0.642833, -0.255632> + 18788: <-0.765608, -0.605748, -0.216596> + 18789: <-0.798110, -0.562257, -0.216534> + 18790: <-0.789266, -0.558172, -0.255937> + 18791: <-0.757361, -0.600829, -0.255750> + 18792: <-0.798110, -0.562257, -0.216534> + 18793: <-0.827263, -0.518435, -0.216475> + 18794: <-0.817925, -0.515110, -0.256243> + 18795: <-0.789266, -0.558172, -0.255937> + 18796: <-0.827263, -0.518435, -0.216475> + 18797: <-0.853230, -0.474515, -0.216413> + 18798: <-0.843490, -0.471888, -0.256606> + 18799: <-0.817925, -0.515110, -0.256243> + 18800: <-0.853230, -0.474515, -0.216413> + 18801: <-0.876208, -0.430657, -0.216320> + 18802: <-0.866124, -0.428698, -0.256999> + 18803: <-0.843490, -0.471888, -0.256606> + 18804: <-0.876208, -0.430657, -0.216320> + 18805: <-0.896382, -0.386985, -0.216199> + 18806: <-0.886018, -0.385664, -0.257364> + 18807: <-0.866124, -0.428698, -0.256999> + 18808: <-0.896382, -0.386985, -0.216199> + 18809: <-0.913949, -0.343582, -0.215982> + 18810: <-0.903367, -0.342852, -0.257643> + 18811: <-0.886018, -0.385664, -0.257364> + 18812: <-0.913949, -0.343582, -0.215982> + 18813: <-0.929096, -0.300461, -0.215649> + 18814: <-0.918390, -0.300219, -0.257736> + 18815: <-0.903367, -0.342852, -0.257643> + 18816: <-0.929096, -0.300461, -0.215649> + 18817: <-0.942000, -0.257519, -0.215220> + 18818: <-0.931225, -0.257702, -0.257702> + 18819: <-0.918390, -0.300219, -0.257736> + 18820: <-0.942000, -0.257519, -0.215220> + 18821: <-0.952775, -0.214732, -0.214732> + 18822: <-0.942000, -0.215220, -0.257519> + 18823: <-0.931225, -0.257702, -0.257702> + 18824: <-0.952775, -0.214732, -0.214732> + 18825: <-0.961530, -0.172005, -0.214182> + 18826: <-0.950800, -0.172679, -0.257217> + 18827: <-0.942000, -0.215220, -0.257519> + 18828: <-0.961530, -0.172005, -0.214182> + 18829: <-0.968319, -0.129250, -0.213666> + 18830: <-0.957663, -0.129981, -0.256880> + 18831: <-0.950800, -0.172679, -0.257217> + 18832: <-0.968319, -0.129250, -0.213666> + 18833: <-0.973180, -0.086398, -0.213204> + 18834: <-0.962605, -0.087041, -0.256544> + 18835: <-0.957663, -0.129981, -0.256880> + 18836: <-0.973180, -0.086398, -0.213204> + 18837: <-0.976120, -0.043306, -0.212870> + 18838: <-0.965618, -0.043703, -0.256267> + 18839: <-0.962605, -0.087041, -0.256544> + 18840: <-0.976120, -0.043306, -0.212870> + 18841: <-0.977107, 0.000000, -0.212750> + 18842: <-0.966630, 0.000000, -0.256177> + 18843: <-0.965618, -0.043703, -0.256267> + 18844: <-0.977107, 0.000000, -0.212750> + 18845: <-0.976120, 0.043306, -0.212870> + 18846: <-0.965618, 0.043703, -0.256267> + 18847: <-0.966630, 0.000000, -0.256177> + 18848: <-0.976120, 0.043306, -0.212870> + 18849: <-0.973180, 0.086398, -0.213204> + 18850: <-0.962605, 0.087041, -0.256544> + 18851: <-0.965618, 0.043703, -0.256267> + 18852: <-0.973180, 0.086398, -0.213204> + 18853: <-0.968319, 0.129250, -0.213666> + 18854: <-0.957663, 0.129981, -0.256880> + 18855: <-0.962605, 0.087041, -0.256544> + 18856: <-0.968319, 0.129250, -0.213666> + 18857: <-0.961530, 0.172005, -0.214182> + 18858: <-0.950800, 0.172679, -0.257217> + 18859: <-0.957663, 0.129981, -0.256880> + 18860: <-0.961530, 0.172005, -0.214182> + 18861: <-0.952775, 0.214732, -0.214732> + 18862: <-0.942000, 0.215220, -0.257519> + 18863: <-0.950800, 0.172679, -0.257217> + 18864: <-0.952775, 0.214732, -0.214732> + 18865: <-0.942000, 0.257519, -0.215220> + 18866: <-0.931225, 0.257702, -0.257702> + 18867: <-0.942000, 0.215220, -0.257519> + 18868: <-0.942000, 0.257519, -0.215220> + 18869: <-0.929096, 0.300461, -0.215649> + 18870: <-0.918390, 0.300219, -0.257736> + 18871: <-0.931225, 0.257702, -0.257702> + 18872: <-0.929096, 0.300461, -0.215649> + 18873: <-0.913949, 0.343582, -0.215982> + 18874: <-0.903367, 0.342852, -0.257643> + 18875: <-0.918390, 0.300219, -0.257736> + 18876: <-0.913949, 0.343582, -0.215982> + 18877: <-0.896382, 0.386985, -0.216199> + 18878: <-0.886018, 0.385664, -0.257364> + 18879: <-0.903367, 0.342852, -0.257643> + 18880: <-0.896382, 0.386985, -0.216199> + 18881: <-0.876208, 0.430657, -0.216320> + 18882: <-0.866124, 0.428698, -0.256999> + 18883: <-0.886018, 0.385664, -0.257364> + 18884: <-0.876208, 0.430657, -0.216320> + 18885: <-0.853230, 0.474515, -0.216413> + 18886: <-0.843490, 0.471888, -0.256606> + 18887: <-0.866124, 0.428698, -0.256999> + 18888: <-0.853230, 0.474515, -0.216413> + 18889: <-0.827263, 0.518435, -0.216475> + 18890: <-0.817925, 0.515110, -0.256243> + 18891: <-0.843490, 0.471888, -0.256606> + 18892: <-0.827263, 0.518435, -0.216475> + 18893: <-0.798110, 0.562257, -0.216534> + 18894: <-0.789266, 0.558172, -0.255937> + 18895: <-0.817925, 0.515110, -0.256243> + 18896: <-0.798110, 0.562257, -0.216534> + 18897: <-0.765608, 0.605748, -0.216596> + 18898: <-0.757361, 0.600829, -0.255750> + 18899: <-0.789266, 0.558172, -0.255937> + 18900: <-0.765608, 0.605748, -0.216596> + 18901: <-0.729636, 0.648606, -0.216660> + 18902: <-0.722093, 0.642833, -0.255632> + 18903: <-0.757361, 0.600829, -0.255750> + 18904: <-0.722093, -0.642833, -0.255632> + 18905: <-0.757361, -0.600829, -0.255750> + 18906: <-0.747816, -0.595158, -0.294207> + 18907: <-0.713396, -0.636150, -0.293904> + 18908: <-0.757361, -0.600829, -0.255750> + 18909: <-0.789266, -0.558172, -0.255937> + 18910: <-0.779017, -0.553415, -0.294729> + 18911: <-0.747816, -0.595158, -0.294207> + 18912: <-0.789266, -0.558172, -0.255937> + 18913: <-0.817925, -0.515110, -0.256243> + 18914: <-0.807082, -0.511198, -0.295457> + 18915: <-0.779017, -0.553415, -0.294729> + 18916: <-0.817925, -0.515110, -0.256243> + 18917: <-0.843490, -0.471888, -0.256606> + 18918: <-0.832128, -0.468770, -0.296339> + 18919: <-0.807082, -0.511198, -0.295457> + 18920: <-0.843490, -0.471888, -0.256606> + 18921: <-0.866124, -0.428698, -0.256999> + 18922: <-0.854324, -0.426323, -0.297287> + 18923: <-0.832128, -0.468770, -0.296339> + 18924: <-0.866124, -0.428698, -0.256999> + 18925: <-0.886018, -0.385664, -0.257364> + 18926: <-0.873840, -0.383986, -0.298259> + 18927: <-0.854324, -0.426323, -0.297287> + 18928: <-0.886018, -0.385664, -0.257364> + 18929: <-0.903367, -0.342852, -0.257643> + 18930: <-0.890906, -0.341811, -0.299085> + 18931: <-0.873840, -0.383986, -0.298259> + 18932: <-0.903367, -0.342852, -0.257643> + 18933: <-0.918390, -0.300219, -0.257736> + 18934: <-0.905696, -0.299762, -0.299762> + 18935: <-0.890906, -0.341811, -0.299085> + 18936: <-0.918390, -0.300219, -0.257736> + 18937: <-0.931225, -0.257702, -0.257702> + 18938: <-0.918390, -0.257736, -0.300219> + 18939: <-0.905696, -0.299762, -0.299762> + 18940: <-0.931225, -0.257702, -0.257702> + 18941: <-0.942000, -0.215220, -0.257519> + 18942: <-0.929096, -0.215649, -0.300461> + 18943: <-0.918390, -0.257736, -0.300219> + 18944: <-0.942000, -0.215220, -0.257519> + 18945: <-0.950800, -0.172679, -0.257217> + 18946: <-0.937897, -0.173351, -0.300496> + 18947: <-0.929096, -0.215649, -0.300461> + 18948: <-0.950800, -0.172679, -0.257217> + 18949: <-0.957663, -0.129981, -0.256880> + 18950: <-0.944802, -0.130743, -0.300427> + 18951: <-0.937897, -0.173351, -0.300496> + 18952: <-0.957663, -0.129981, -0.256880> + 18953: <-0.962605, -0.087041, -0.256544> + 18954: <-0.949820, -0.087712, -0.300248> + 18955: <-0.944802, -0.130743, -0.300427> + 18956: <-0.962605, -0.087041, -0.256544> + 18957: <-0.965618, -0.043703, -0.256267> + 18958: <-0.952889, -0.044130, -0.300092> + 18959: <-0.949820, -0.087712, -0.300248> + 18960: <-0.965618, -0.043703, -0.256267> + 18961: <-0.966630, 0.000000, -0.256177> + 18962: <-0.953921, 0.000000, -0.300059> + 18963: <-0.952889, -0.044130, -0.300092> + 18964: <-0.966630, 0.000000, -0.256177> + 18965: <-0.965618, 0.043703, -0.256267> + 18966: <-0.952889, 0.044130, -0.300092> + 18967: <-0.953921, 0.000000, -0.300059> + 18968: <-0.965618, 0.043703, -0.256267> + 18969: <-0.962605, 0.087041, -0.256544> + 18970: <-0.949820, 0.087712, -0.300248> + 18971: <-0.952889, 0.044130, -0.300092> + 18972: <-0.962605, 0.087041, -0.256544> + 18973: <-0.957663, 0.129981, -0.256880> + 18974: <-0.944802, 0.130743, -0.300427> + 18975: <-0.949820, 0.087712, -0.300248> + 18976: <-0.957663, 0.129981, -0.256880> + 18977: <-0.950800, 0.172679, -0.257217> + 18978: <-0.937897, 0.173351, -0.300496> + 18979: <-0.944802, 0.130743, -0.300427> + 18980: <-0.950800, 0.172679, -0.257217> + 18981: <-0.942000, 0.215220, -0.257519> + 18982: <-0.929096, 0.215649, -0.300461> + 18983: <-0.937897, 0.173351, -0.300496> + 18984: <-0.942000, 0.215220, -0.257519> + 18985: <-0.931225, 0.257702, -0.257702> + 18986: <-0.918390, 0.257736, -0.300219> + 18987: <-0.929096, 0.215649, -0.300461> + 18988: <-0.931225, 0.257702, -0.257702> + 18989: <-0.918390, 0.300219, -0.257736> + 18990: <-0.905696, 0.299762, -0.299762> + 18991: <-0.918390, 0.257736, -0.300219> + 18992: <-0.918390, 0.300219, -0.257736> + 18993: <-0.903367, 0.342852, -0.257643> + 18994: <-0.890906, 0.341811, -0.299085> + 18995: <-0.905696, 0.299762, -0.299762> + 18996: <-0.903367, 0.342852, -0.257643> + 18997: <-0.886018, 0.385664, -0.257364> + 18998: <-0.873840, 0.383986, -0.298259> + 18999: <-0.890906, 0.341811, -0.299085> + 19000: <-0.886018, 0.385664, -0.257364> + 19001: <-0.866124, 0.428698, -0.256999> + 19002: <-0.854324, 0.426323, -0.297287> + 19003: <-0.873840, 0.383986, -0.298259> + 19004: <-0.866124, 0.428698, -0.256999> + 19005: <-0.843490, 0.471888, -0.256606> + 19006: <-0.832128, 0.468770, -0.296339> + 19007: <-0.854324, 0.426323, -0.297287> + 19008: <-0.843490, 0.471888, -0.256606> + 19009: <-0.817925, 0.515110, -0.256243> + 19010: <-0.807082, 0.511198, -0.295457> + 19011: <-0.832128, 0.468770, -0.296339> + 19012: <-0.817925, 0.515110, -0.256243> + 19013: <-0.789266, 0.558172, -0.255937> + 19014: <-0.779017, 0.553415, -0.294729> + 19015: <-0.807082, 0.511198, -0.295457> + 19016: <-0.789266, 0.558172, -0.255937> + 19017: <-0.757361, 0.600829, -0.255750> + 19018: <-0.747816, 0.595158, -0.294207> + 19019: <-0.779017, 0.553415, -0.294729> + 19020: <-0.757361, 0.600829, -0.255750> + 19021: <-0.722093, 0.642833, -0.255632> + 19022: <-0.713396, 0.636150, -0.293904> + 19023: <-0.747816, 0.595158, -0.294207> + 19024: <-0.713396, -0.636150, -0.293904> + 19025: <-0.747816, -0.595158, -0.294207> + 19026: <-0.736915, -0.588744, -0.332170> + 19027: <-0.703467, -0.628603, -0.331652> + 19028: <-0.747816, -0.595158, -0.294207> + 19029: <-0.779017, -0.553415, -0.294729> + 19030: <-0.767292, -0.548009, -0.333090> + 19031: <-0.736915, -0.588744, -0.332170> + 19032: <-0.779017, -0.553415, -0.294729> + 19033: <-0.807082, -0.511198, -0.295457> + 19034: <-0.794627, -0.506740, -0.334337> + 19035: <-0.767292, -0.548009, -0.333090> + 19036: <-0.807082, -0.511198, -0.295457> + 19037: <-0.832128, -0.468770, -0.296339> + 19038: <-0.819039, -0.465202, -0.335801> + 19039: <-0.794627, -0.506740, -0.334337> + 19040: <-0.832128, -0.468770, -0.296339> + 19041: <-0.854324, -0.426323, -0.297287> + 19042: <-0.840684, -0.423577, -0.337391> + 19043: <-0.819039, -0.465202, -0.335801> + 19044: <-0.854324, -0.426323, -0.297287> + 19045: <-0.873840, -0.383986, -0.298259> + 19046: <-0.859750, -0.381976, -0.339005> + 19047: <-0.840684, -0.423577, -0.337391> + 19048: <-0.873840, -0.383986, -0.298259> + 19049: <-0.890906, -0.341811, -0.299085> + 19050: <-0.876422, -0.340503, -0.340503> + 19051: <-0.859750, -0.381976, -0.339005> + 19052: <-0.890906, -0.341811, -0.299085> + 19053: <-0.905696, -0.299762, -0.299762> + 19054: <-0.890906, -0.299085, -0.341811> + 19055: <-0.876422, -0.340503, -0.340503> + 19056: <-0.905696, -0.299762, -0.299762> + 19057: <-0.918390, -0.257736, -0.300219> + 19058: <-0.903367, -0.257643, -0.342852> + 19059: <-0.890906, -0.299085, -0.341811> + 19060: <-0.918390, -0.257736, -0.300219> + 19061: <-0.929096, -0.215649, -0.300461> + 19062: <-0.913949, -0.215982, -0.343582> + 19063: <-0.903367, -0.257643, -0.342852> + 19064: <-0.929096, -0.215649, -0.300461> + 19065: <-0.937897, -0.173351, -0.300496> + 19066: <-0.922682, -0.173989, -0.344072> + 19067: <-0.913949, -0.215982, -0.343582> + 19068: <-0.937897, -0.173351, -0.300496> + 19069: <-0.944802, -0.130743, -0.300427> + 19070: <-0.929596, -0.131509, -0.344322> + 19071: <-0.922682, -0.173989, -0.344072> + 19072: <-0.944802, -0.130743, -0.300427> + 19073: <-0.949820, -0.087712, -0.300248> + 19074: <-0.934648, -0.088414, -0.344408> + 19075: <-0.929596, -0.131509, -0.344322> + 19076: <-0.949820, -0.087712, -0.300248> + 19077: <-0.952889, -0.044130, -0.300092> + 19078: <-0.937762, -0.044558, -0.344409> + 19079: <-0.934648, -0.088414, -0.344408> + 19080: <-0.952889, -0.044130, -0.300092> + 19081: <-0.953921, 0.000000, -0.300059> + 19082: <-0.938821, 0.000000, -0.344405> + 19083: <-0.937762, -0.044558, -0.344409> + 19084: <-0.953921, 0.000000, -0.300059> + 19085: <-0.952889, 0.044130, -0.300092> + 19086: <-0.937762, 0.044558, -0.344409> + 19087: <-0.938821, 0.000000, -0.344405> + 19088: <-0.952889, 0.044130, -0.300092> + 19089: <-0.949820, 0.087712, -0.300248> + 19090: <-0.934648, 0.088414, -0.344408> + 19091: <-0.937762, 0.044558, -0.344409> + 19092: <-0.949820, 0.087712, -0.300248> + 19093: <-0.944802, 0.130743, -0.300427> + 19094: <-0.929596, 0.131509, -0.344322> + 19095: <-0.934648, 0.088414, -0.344408> + 19096: <-0.944802, 0.130743, -0.300427> + 19097: <-0.937897, 0.173351, -0.300496> + 19098: <-0.922682, 0.173989, -0.344072> + 19099: <-0.929596, 0.131509, -0.344322> + 19100: <-0.937897, 0.173351, -0.300496> + 19101: <-0.929096, 0.215649, -0.300461> + 19102: <-0.913949, 0.215982, -0.343582> + 19103: <-0.922682, 0.173989, -0.344072> + 19104: <-0.929096, 0.215649, -0.300461> + 19105: <-0.918390, 0.257736, -0.300219> + 19106: <-0.903367, 0.257643, -0.342852> + 19107: <-0.913949, 0.215982, -0.343582> + 19108: <-0.918390, 0.257736, -0.300219> + 19109: <-0.905696, 0.299762, -0.299762> + 19110: <-0.890906, 0.299085, -0.341811> + 19111: <-0.903367, 0.257643, -0.342852> + 19112: <-0.905696, 0.299762, -0.299762> + 19113: <-0.890906, 0.341811, -0.299085> + 19114: <-0.876422, 0.340503, -0.340503> + 19115: <-0.890906, 0.299085, -0.341811> + 19116: <-0.890906, 0.341811, -0.299085> + 19117: <-0.873840, 0.383986, -0.298259> + 19118: <-0.859750, 0.381976, -0.339005> + 19119: <-0.876422, 0.340503, -0.340503> + 19120: <-0.873840, 0.383986, -0.298259> + 19121: <-0.854324, 0.426323, -0.297287> + 19122: <-0.840684, 0.423577, -0.337391> + 19123: <-0.859750, 0.381976, -0.339005> + 19124: <-0.854324, 0.426323, -0.297287> + 19125: <-0.832128, 0.468770, -0.296339> + 19126: <-0.819039, 0.465202, -0.335801> + 19127: <-0.840684, 0.423577, -0.337391> + 19128: <-0.832128, 0.468770, -0.296339> + 19129: <-0.807082, 0.511198, -0.295457> + 19130: <-0.794636, 0.506745, -0.334310> + 19131: <-0.819039, 0.465202, -0.335801> + 19132: <-0.807082, 0.511198, -0.295457> + 19133: <-0.779017, 0.553415, -0.294729> + 19134: <-0.767292, 0.548009, -0.333090> + 19135: <-0.794636, 0.506745, -0.334310> + 19136: <-0.779017, 0.553415, -0.294729> + 19137: <-0.747816, 0.595158, -0.294207> + 19138: <-0.736915, 0.588744, -0.332170> + 19139: <-0.767292, 0.548009, -0.333090> + 19140: <-0.747816, 0.595158, -0.294207> + 19141: <-0.713396, 0.636150, -0.293904> + 19142: <-0.703467, 0.628603, -0.331652> + 19143: <-0.736915, 0.588744, -0.332170> + 19144: <-0.703467, -0.628603, -0.331652> + 19145: <-0.736915, -0.588744, -0.332170> + 19146: <-0.724825, -0.581661, -0.369188> + 19147: <-0.692544, -0.620305, -0.368246> + 19148: <-0.736915, -0.588744, -0.332170> + 19149: <-0.767292, -0.548009, -0.333090> + 19150: <-0.754169, -0.542028, -0.370721> + 19151: <-0.724825, -0.581661, -0.369188> + 19152: <-0.767292, -0.548009, -0.333090> + 19153: <-0.794627, -0.506740, -0.334337> + 19154: <-0.780568, -0.501802, -0.372705> + 19155: <-0.754169, -0.542028, -0.370721> + 19156: <-0.794627, -0.506740, -0.334337> + 19157: <-0.819039, -0.465202, -0.335801> + 19158: <-0.804154, -0.461239, -0.374961> + 19159: <-0.780568, -0.501802, -0.372705> + 19160: <-0.819039, -0.465202, -0.335801> + 19161: <-0.840684, -0.423577, -0.337391> + 19162: <-0.825100, -0.420500, -0.377345> + 19163: <-0.804154, -0.461239, -0.374961> + 19164: <-0.840684, -0.423577, -0.337391> + 19165: <-0.859750, -0.381976, -0.339005> + 19166: <-0.843551, -0.379751, -0.379751> + 19167: <-0.825100, -0.420500, -0.377345> + 19168: <-0.859750, -0.381976, -0.339005> + 19169: <-0.876422, -0.340503, -0.340503> + 19170: <-0.859750, -0.339005, -0.381976> + 19171: <-0.843551, -0.379751, -0.379751> + 19172: <-0.876422, -0.340503, -0.340503> + 19173: <-0.890906, -0.299085, -0.341811> + 19174: <-0.873851, -0.298262, -0.383960> + 19175: <-0.859750, -0.339005, -0.381976> + 19176: <-0.890906, -0.299085, -0.341811> + 19177: <-0.903367, -0.257643, -0.342852> + 19178: <-0.886028, -0.257367, -0.385638> + 19179: <-0.873851, -0.298262, -0.383960> + 19180: <-0.903367, -0.257643, -0.342852> + 19181: <-0.913949, -0.215982, -0.343582> + 19182: <-0.896382, -0.216199, -0.386985> + 19183: <-0.886028, -0.257367, -0.385638> + 19184: <-0.913949, -0.215982, -0.343582> + 19185: <-0.922682, -0.173989, -0.344072> + 19186: <-0.904997, -0.174541, -0.387965> + 19187: <-0.896382, -0.216199, -0.386985> + 19188: <-0.922682, -0.173989, -0.344072> + 19189: <-0.929596, -0.131509, -0.344322> + 19190: <-0.911854, -0.132240, -0.388632> + 19191: <-0.904997, -0.174541, -0.387965> + 19192: <-0.929596, -0.131509, -0.344322> + 19193: <-0.934648, -0.088414, -0.344408> + 19194: <-0.916918, -0.089116, -0.388998> + 19195: <-0.911854, -0.132240, -0.388632> + 19196: <-0.934648, -0.088414, -0.344408> + 19197: <-0.937762, -0.044558, -0.344409> + 19198: <-0.920061, -0.045016, -0.389180> + 19199: <-0.916918, -0.089116, -0.388998> + 19200: <-0.937762, -0.044558, -0.344409> + 19201: <-0.938821, 0.000000, -0.344405> + 19202: <-0.921135, 0.000000, -0.389244> + 19203: <-0.920061, -0.045016, -0.389180> + 19204: <-0.938821, 0.000000, -0.344405> + 19205: <-0.937762, 0.044558, -0.344409> + 19206: <-0.920061, 0.045016, -0.389180> + 19207: <-0.921135, 0.000000, -0.389244> + 19208: <-0.937762, 0.044558, -0.344409> + 19209: <-0.934648, 0.088414, -0.344408> + 19210: <-0.916918, 0.089116, -0.388998> + 19211: <-0.920061, 0.045016, -0.389180> + 19212: <-0.934648, 0.088414, -0.344408> + 19213: <-0.929596, 0.131509, -0.344322> + 19214: <-0.911854, 0.132240, -0.388632> + 19215: <-0.916918, 0.089116, -0.388998> + 19216: <-0.929596, 0.131509, -0.344322> + 19217: <-0.922682, 0.173989, -0.344072> + 19218: <-0.904997, 0.174541, -0.387965> + 19219: <-0.911854, 0.132240, -0.388632> + 19220: <-0.922682, 0.173989, -0.344072> + 19221: <-0.913949, 0.215982, -0.343582> + 19222: <-0.896382, 0.216199, -0.386985> + 19223: <-0.904997, 0.174541, -0.387965> + 19224: <-0.913949, 0.215982, -0.343582> + 19225: <-0.903367, 0.257643, -0.342852> + 19226: <-0.886018, 0.257364, -0.385664> + 19227: <-0.896382, 0.216199, -0.386985> + 19228: <-0.903367, 0.257643, -0.342852> + 19229: <-0.890906, 0.299085, -0.341811> + 19230: <-0.873840, 0.298259, -0.383986> + 19231: <-0.886018, 0.257364, -0.385664> + 19232: <-0.890906, 0.299085, -0.341811> + 19233: <-0.876422, 0.340503, -0.340503> + 19234: <-0.859750, 0.339005, -0.381976> + 19235: <-0.873840, 0.298259, -0.383986> + 19236: <-0.876422, 0.340503, -0.340503> + 19237: <-0.859750, 0.381976, -0.339005> + 19238: <-0.843551, 0.379751, -0.379751> + 19239: <-0.859750, 0.339005, -0.381976> + 19240: <-0.859750, 0.381976, -0.339005> + 19241: <-0.840684, 0.423577, -0.337391> + 19242: <-0.825100, 0.420500, -0.377345> + 19243: <-0.843551, 0.379751, -0.379751> + 19244: <-0.840684, 0.423577, -0.337391> + 19245: <-0.819039, 0.465202, -0.335801> + 19246: <-0.804154, 0.461239, -0.374961> + 19247: <-0.825100, 0.420500, -0.377345> + 19248: <-0.819039, 0.465202, -0.335801> + 19249: <-0.794636, 0.506745, -0.334310> + 19250: <-0.780568, 0.501802, -0.372705> + 19251: <-0.804154, 0.461239, -0.374961> + 19252: <-0.794636, 0.506745, -0.334310> + 19253: <-0.767292, 0.548009, -0.333090> + 19254: <-0.754169, 0.542028, -0.370721> + 19255: <-0.780568, 0.501802, -0.372705> + 19256: <-0.767292, 0.548009, -0.333090> + 19257: <-0.736915, 0.588744, -0.332170> + 19258: <-0.724825, 0.581661, -0.369188> + 19259: <-0.754169, 0.542028, -0.370721> + 19260: <-0.736915, 0.588744, -0.332170> + 19261: <-0.703467, 0.628603, -0.331652> + 19262: <-0.692544, 0.620305, -0.368246> + 19263: <-0.724825, 0.581661, -0.369188> + 19264: <-0.692544, -0.620305, -0.368246> + 19265: <-0.724825, -0.581661, -0.369188> + 19266: <-0.711772, -0.574008, -0.404839> + 19267: <-0.680859, -0.611427, -0.403223> + 19268: <-0.724825, -0.581661, -0.369188> + 19269: <-0.754169, -0.542028, -0.370721> + 19270: <-0.739812, -0.535518, -0.407307> + 19271: <-0.711772, -0.574008, -0.404839> + 19272: <-0.754169, -0.542028, -0.370721> + 19273: <-0.780568, -0.501802, -0.372705> + 19274: <-0.764964, -0.496395, -0.410392> + 19275: <-0.739812, -0.535518, -0.407307> + 19276: <-0.780568, -0.501802, -0.372705> + 19277: <-0.804154, -0.461239, -0.374961> + 19278: <-0.787421, -0.456900, -0.413777> + 19279: <-0.764964, -0.496395, -0.410392> + 19280: <-0.804154, -0.461239, -0.374961> + 19281: <-0.825100, -0.420500, -0.377345> + 19282: <-0.807394, -0.417202, -0.417202> + 19283: <-0.787421, -0.456900, -0.413777> + 19284: <-0.825100, -0.420500, -0.377345> + 19285: <-0.843551, -0.379751, -0.379751> + 19286: <-0.825100, -0.377345, -0.420500> + 19287: <-0.807394, -0.417202, -0.417202> + 19288: <-0.843551, -0.379751, -0.379751> + 19289: <-0.859750, -0.339005, -0.381976> + 19290: <-0.840684, -0.337391, -0.423577> + 19291: <-0.825100, -0.377345, -0.420500> + 19292: <-0.859750, -0.339005, -0.381976> + 19293: <-0.873851, -0.298262, -0.383960> + 19294: <-0.854324, -0.297287, -0.426323> + 19295: <-0.840684, -0.337391, -0.423577> + 19296: <-0.873851, -0.298262, -0.383960> + 19297: <-0.886028, -0.257367, -0.385638> + 19298: <-0.866124, -0.256999, -0.428698> + 19299: <-0.854324, -0.297287, -0.426323> + 19300: <-0.886028, -0.257367, -0.385638> + 19301: <-0.896382, -0.216199, -0.386985> + 19302: <-0.876208, -0.216320, -0.430657> + 19303: <-0.866124, -0.256999, -0.428698> + 19304: <-0.896382, -0.216199, -0.386985> + 19305: <-0.904997, -0.174541, -0.387965> + 19306: <-0.884654, -0.175026, -0.432149> + 19307: <-0.876208, -0.216320, -0.430657> + 19308: <-0.904997, -0.174541, -0.387965> + 19309: <-0.911854, -0.132240, -0.388632> + 19310: <-0.891405, -0.132911, -0.433281> + 19311: <-0.884654, -0.175026, -0.432149> + 19312: <-0.911854, -0.132240, -0.388632> + 19313: <-0.916918, -0.089116, -0.388998> + 19314: <-0.896437, -0.089787, -0.433981> + 19315: <-0.891405, -0.132911, -0.433281> + 19316: <-0.916918, -0.089116, -0.388998> + 19317: <-0.920061, -0.045016, -0.389180> + 19318: <-0.899583, -0.045443, -0.434379> + 19319: <-0.896437, -0.089787, -0.433981> + 19320: <-0.920061, -0.045016, -0.389180> + 19321: <-0.921135, 0.000000, -0.389244> + 19322: <-0.900655, 0.000000, -0.434534> + 19323: <-0.899583, -0.045443, -0.434379> + 19324: <-0.921135, 0.000000, -0.389244> + 19325: <-0.920061, 0.045016, -0.389180> + 19326: <-0.899583, 0.045443, -0.434379> + 19327: <-0.900655, 0.000000, -0.434534> + 19328: <-0.920061, 0.045016, -0.389180> + 19329: <-0.916918, 0.089116, -0.388998> + 19330: <-0.896437, 0.089787, -0.433981> + 19331: <-0.899583, 0.045443, -0.434379> + 19332: <-0.916918, 0.089116, -0.388998> + 19333: <-0.911854, 0.132240, -0.388632> + 19334: <-0.891416, 0.132913, -0.433256> + 19335: <-0.896437, 0.089787, -0.433981> + 19336: <-0.911854, 0.132240, -0.388632> + 19337: <-0.904997, 0.174541, -0.387965> + 19338: <-0.884654, 0.175026, -0.432149> + 19339: <-0.891416, 0.132913, -0.433256> + 19340: <-0.904997, 0.174541, -0.387965> + 19341: <-0.896382, 0.216199, -0.386985> + 19342: <-0.876208, 0.216320, -0.430657> + 19343: <-0.884654, 0.175026, -0.432149> + 19344: <-0.896382, 0.216199, -0.386985> + 19345: <-0.886018, 0.257364, -0.385664> + 19346: <-0.866124, 0.256999, -0.428698> + 19347: <-0.876208, 0.216320, -0.430657> + 19348: <-0.886018, 0.257364, -0.385664> + 19349: <-0.873840, 0.298259, -0.383986> + 19350: <-0.854324, 0.297287, -0.426323> + 19351: <-0.866124, 0.256999, -0.428698> + 19352: <-0.873840, 0.298259, -0.383986> + 19353: <-0.859750, 0.339005, -0.381976> + 19354: <-0.840684, 0.337391, -0.423577> + 19355: <-0.854324, 0.297287, -0.426323> + 19356: <-0.859750, 0.339005, -0.381976> + 19357: <-0.843551, 0.379751, -0.379751> + 19358: <-0.825100, 0.377345, -0.420500> + 19359: <-0.840684, 0.337391, -0.423577> + 19360: <-0.843551, 0.379751, -0.379751> + 19361: <-0.825100, 0.420500, -0.377345> + 19362: <-0.807394, 0.417202, -0.417202> + 19363: <-0.825100, 0.377345, -0.420500> + 19364: <-0.825100, 0.420500, -0.377345> + 19365: <-0.804154, 0.461239, -0.374961> + 19366: <-0.787421, 0.456900, -0.413777> + 19367: <-0.807394, 0.417202, -0.417202> + 19368: <-0.804154, 0.461239, -0.374961> + 19369: <-0.780568, 0.501802, -0.372705> + 19370: <-0.764964, 0.496395, -0.410392> + 19371: <-0.787421, 0.456900, -0.413777> + 19372: <-0.780568, 0.501802, -0.372705> + 19373: <-0.754169, 0.542028, -0.370721> + 19374: <-0.739812, 0.535518, -0.407307> + 19375: <-0.764964, 0.496395, -0.410392> + 19376: <-0.754169, 0.542028, -0.370721> + 19377: <-0.724825, 0.581661, -0.369188> + 19378: <-0.711772, 0.574008, -0.404839> + 19379: <-0.739812, 0.535518, -0.407307> + 19380: <-0.724825, 0.581661, -0.369188> + 19381: <-0.692544, 0.620305, -0.368246> + 19382: <-0.680859, 0.611427, -0.403223> + 19383: <-0.711772, 0.574008, -0.404839> + 19384: <-0.680859, -0.611427, -0.403223> + 19385: <-0.711772, -0.574008, -0.404839> + 19386: <-0.697667, -0.565794, -0.439475> + 19387: <-0.668312, -0.601963, -0.437036> + 19388: <-0.711772, -0.574008, -0.404839> + 19389: <-0.739812, -0.535518, -0.407307> + 19390: <-0.724109, -0.528478, -0.443145> + 19391: <-0.697667, -0.565794, -0.439475> + 19392: <-0.739812, -0.535518, -0.407307> + 19393: <-0.764964, -0.496395, -0.410392> + 19394: <-0.747688, -0.490534, -0.447593> + 19395: <-0.724109, -0.528478, -0.443145> + 19396: <-0.764964, -0.496395, -0.410392> + 19397: <-0.787421, -0.456900, -0.413777> + 19398: <-0.768679, -0.452290, -0.452290> + 19399: <-0.747688, -0.490534, -0.447593> + 19400: <-0.787421, -0.456900, -0.413777> + 19401: <-0.807394, -0.417202, -0.417202> + 19402: <-0.787421, -0.413777, -0.456900> + 19403: <-0.768679, -0.452290, -0.452290> + 19404: <-0.807394, -0.417202, -0.417202> + 19405: <-0.825100, -0.377345, -0.420500> + 19406: <-0.804154, -0.374961, -0.461239> + 19407: <-0.787421, -0.413777, -0.456900> + 19408: <-0.825100, -0.377345, -0.420500> + 19409: <-0.840684, -0.337391, -0.423577> + 19410: <-0.819039, -0.335801, -0.465202> + 19411: <-0.804154, -0.374961, -0.461239> + 19412: <-0.840684, -0.337391, -0.423577> + 19413: <-0.854324, -0.297287, -0.426323> + 19414: <-0.832128, -0.296339, -0.468770> + 19415: <-0.819039, -0.335801, -0.465202> + 19416: <-0.854324, -0.297287, -0.426323> + 19417: <-0.866124, -0.256999, -0.428698> + 19418: <-0.843490, -0.256606, -0.471888> + 19419: <-0.832128, -0.296339, -0.468770> + 19420: <-0.866124, -0.256999, -0.428698> + 19421: <-0.876208, -0.216320, -0.430657> + 19422: <-0.853230, -0.216413, -0.474515> + 19423: <-0.843490, -0.256606, -0.471888> + 19424: <-0.876208, -0.216320, -0.430657> + 19425: <-0.884654, -0.175026, -0.432149> + 19426: <-0.861426, -0.175453, -0.476614> + 19427: <-0.853230, -0.216413, -0.474515> + 19428: <-0.884654, -0.175026, -0.432149> + 19429: <-0.891405, -0.132911, -0.433281> + 19430: <-0.868033, -0.133553, -0.478208> + 19431: <-0.861426, -0.175453, -0.476614> + 19432: <-0.891405, -0.132911, -0.433281> + 19433: <-0.896437, -0.089787, -0.433981> + 19434: <-0.872976, -0.090429, -0.479307> + 19435: <-0.868033, -0.133553, -0.478208> + 19436: <-0.896437, -0.089787, -0.433981> + 19437: <-0.899583, -0.045443, -0.434379> + 19438: <-0.876095, -0.045871, -0.479951> + 19439: <-0.872976, -0.090429, -0.479307> + 19440: <-0.899583, -0.045443, -0.434379> + 19441: <-0.900655, 0.000000, -0.434534> + 19442: <-0.877182, 0.000000, -0.480158> + 19443: <-0.876095, -0.045871, -0.479951> + 19444: <-0.900655, 0.000000, -0.434534> + 19445: <-0.899583, 0.045443, -0.434379> + 19446: <-0.876095, 0.045871, -0.479951> + 19447: <-0.877182, 0.000000, -0.480158> + 19448: <-0.899583, 0.045443, -0.434379> + 19449: <-0.896437, 0.089787, -0.433981> + 19450: <-0.872976, 0.090429, -0.479307> + 19451: <-0.876095, 0.045871, -0.479951> + 19452: <-0.896437, 0.089787, -0.433981> + 19453: <-0.891416, 0.132913, -0.433256> + 19454: <-0.868033, 0.133553, -0.478208> + 19455: <-0.872976, 0.090429, -0.479307> + 19456: <-0.891416, 0.132913, -0.433256> + 19457: <-0.884654, 0.175026, -0.432149> + 19458: <-0.861426, 0.175453, -0.476614> + 19459: <-0.868033, 0.133553, -0.478208> + 19460: <-0.884654, 0.175026, -0.432149> + 19461: <-0.876208, 0.216320, -0.430657> + 19462: <-0.853230, 0.216413, -0.474515> + 19463: <-0.861426, 0.175453, -0.476614> + 19464: <-0.876208, 0.216320, -0.430657> + 19465: <-0.866124, 0.256999, -0.428698> + 19466: <-0.843490, 0.256606, -0.471888> + 19467: <-0.853230, 0.216413, -0.474515> + 19468: <-0.866124, 0.256999, -0.428698> + 19469: <-0.854324, 0.297287, -0.426323> + 19470: <-0.832128, 0.296339, -0.468770> + 19471: <-0.843490, 0.256606, -0.471888> + 19472: <-0.854324, 0.297287, -0.426323> + 19473: <-0.840684, 0.337391, -0.423577> + 19474: <-0.819039, 0.335801, -0.465202> + 19475: <-0.832128, 0.296339, -0.468770> + 19476: <-0.840684, 0.337391, -0.423577> + 19477: <-0.825100, 0.377345, -0.420500> + 19478: <-0.804154, 0.374961, -0.461239> + 19479: <-0.819039, 0.335801, -0.465202> + 19480: <-0.825100, 0.377345, -0.420500> + 19481: <-0.807394, 0.417202, -0.417202> + 19482: <-0.787421, 0.413777, -0.456900> + 19483: <-0.804154, 0.374961, -0.461239> + 19484: <-0.807394, 0.417202, -0.417202> + 19485: <-0.787421, 0.456900, -0.413777> + 19486: <-0.768679, 0.452290, -0.452290> + 19487: <-0.787421, 0.413777, -0.456900> + 19488: <-0.787421, 0.456900, -0.413777> + 19489: <-0.764964, 0.496395, -0.410392> + 19490: <-0.747688, 0.490534, -0.447593> + 19491: <-0.768679, 0.452290, -0.452290> + 19492: <-0.764964, 0.496395, -0.410392> + 19493: <-0.739812, 0.535518, -0.407307> + 19494: <-0.724109, 0.528478, -0.443145> + 19495: <-0.747688, 0.490534, -0.447593> + 19496: <-0.739812, 0.535518, -0.407307> + 19497: <-0.711772, 0.574008, -0.404839> + 19498: <-0.697667, 0.565794, -0.439475> + 19499: <-0.724109, 0.528478, -0.443145> + 19500: <-0.711772, 0.574008, -0.404839> + 19501: <-0.680859, 0.611427, -0.403223> + 19502: <-0.668312, 0.601963, -0.437036> + 19503: <-0.697667, 0.565794, -0.439475> + 19504: <-0.668312, -0.601963, -0.437036> + 19505: <-0.697667, -0.565794, -0.439475> + 19506: <-0.682532, -0.557037, -0.473139> + 19507: <-0.655217, -0.591920, -0.469385> + 19508: <-0.697667, -0.565794, -0.439475> + 19509: <-0.724109, -0.528478, -0.443145> + 19510: <-0.706895, -0.520969, -0.478425> + 19511: <-0.682532, -0.557037, -0.473139> + 19512: <-0.724109, -0.528478, -0.443145> + 19513: <-0.747688, -0.490534, -0.447593> + 19514: <-0.728461, -0.484430, -0.484430> + 19515: <-0.706895, -0.520969, -0.478425> + 19516: <-0.747688, -0.490534, -0.447593> + 19517: <-0.768679, -0.452290, -0.452290> + 19518: <-0.747688, -0.447593, -0.490534> + 19519: <-0.728461, -0.484430, -0.484430> + 19520: <-0.768679, -0.452290, -0.452290> + 19521: <-0.787421, -0.413777, -0.456900> + 19522: <-0.764964, -0.410392, -0.496395> + 19523: <-0.747688, -0.447593, -0.490534> + 19524: <-0.787421, -0.413777, -0.456900> + 19525: <-0.804154, -0.374961, -0.461239> + 19526: <-0.780568, -0.372705, -0.501802> + 19527: <-0.764964, -0.410392, -0.496395> + 19528: <-0.804154, -0.374961, -0.461239> + 19529: <-0.819039, -0.335801, -0.465202> + 19530: <-0.794636, -0.334310, -0.506745> + 19531: <-0.780568, -0.372705, -0.501802> + 19532: <-0.819039, -0.335801, -0.465202> + 19533: <-0.832128, -0.296339, -0.468770> + 19534: <-0.807082, -0.295457, -0.511198> + 19535: <-0.794636, -0.334310, -0.506745> + 19536: <-0.832128, -0.296339, -0.468770> + 19537: <-0.843490, -0.256606, -0.471888> + 19538: <-0.817925, -0.256243, -0.515110> + 19539: <-0.807082, -0.295457, -0.511198> + 19540: <-0.843490, -0.256606, -0.471888> + 19541: <-0.853230, -0.216413, -0.474515> + 19542: <-0.827263, -0.216475, -0.518435> + 19543: <-0.817925, -0.256243, -0.515110> + 19544: <-0.853230, -0.216413, -0.474515> + 19545: <-0.861426, -0.175453, -0.476614> + 19546: <-0.835133, -0.175853, -0.521180> + 19547: <-0.827263, -0.216475, -0.518435> + 19548: <-0.861426, -0.175453, -0.476614> + 19549: <-0.868033, -0.133553, -0.478208> + 19550: <-0.841527, -0.134100, -0.523307> + 19551: <-0.835133, -0.175853, -0.521180> + 19552: <-0.868033, -0.133553, -0.478208> + 19553: <-0.872976, -0.090429, -0.479307> + 19554: <-0.846324, -0.091008, -0.524836> + 19555: <-0.841527, -0.134100, -0.523307> + 19556: <-0.872976, -0.090429, -0.479307> + 19557: <-0.876095, -0.045871, -0.479951> + 19558: <-0.849378, -0.046267, -0.525753> + 19559: <-0.846324, -0.091008, -0.524836> + 19560: <-0.876095, -0.045871, -0.479951> + 19561: <-0.877182, 0.000000, -0.480158> + 19562: <-0.850434, 0.000000, -0.526081> + 19563: <-0.849378, -0.046267, -0.525753> + 19564: <-0.877182, 0.000000, -0.480158> + 19565: <-0.876095, 0.045871, -0.479951> + 19566: <-0.849378, 0.046267, -0.525753> + 19567: <-0.850434, 0.000000, -0.526081> + 19568: <-0.876095, 0.045871, -0.479951> + 19569: <-0.872976, 0.090429, -0.479307> + 19570: <-0.846324, 0.091008, -0.524836> + 19571: <-0.849378, 0.046267, -0.525753> + 19572: <-0.872976, 0.090429, -0.479307> + 19573: <-0.868033, 0.133553, -0.478208> + 19574: <-0.841527, 0.134100, -0.523307> + 19575: <-0.846324, 0.091008, -0.524836> + 19576: <-0.868033, 0.133553, -0.478208> + 19577: <-0.861426, 0.175453, -0.476614> + 19578: <-0.835133, 0.175853, -0.521180> + 19579: <-0.841527, 0.134100, -0.523307> + 19580: <-0.861426, 0.175453, -0.476614> + 19581: <-0.853230, 0.216413, -0.474515> + 19582: <-0.827263, 0.216475, -0.518435> + 19583: <-0.835133, 0.175853, -0.521180> + 19584: <-0.853230, 0.216413, -0.474515> + 19585: <-0.843490, 0.256606, -0.471888> + 19586: <-0.817925, 0.256243, -0.515110> + 19587: <-0.827263, 0.216475, -0.518435> + 19588: <-0.843490, 0.256606, -0.471888> + 19589: <-0.832128, 0.296339, -0.468770> + 19590: <-0.807082, 0.295457, -0.511198> + 19591: <-0.817925, 0.256243, -0.515110> + 19592: <-0.832128, 0.296339, -0.468770> + 19593: <-0.819039, 0.335801, -0.465202> + 19594: <-0.794627, 0.334337, -0.506740> + 19595: <-0.807082, 0.295457, -0.511198> + 19596: <-0.819039, 0.335801, -0.465202> + 19597: <-0.804154, 0.374961, -0.461239> + 19598: <-0.780568, 0.372705, -0.501802> + 19599: <-0.794627, 0.334337, -0.506740> + 19600: <-0.804154, 0.374961, -0.461239> + 19601: <-0.787421, 0.413777, -0.456900> + 19602: <-0.764964, 0.410392, -0.496395> + 19603: <-0.780568, 0.372705, -0.501802> + 19604: <-0.787421, 0.413777, -0.456900> + 19605: <-0.768679, 0.452290, -0.452290> + 19606: <-0.747688, 0.447593, -0.490534> + 19607: <-0.764964, 0.410392, -0.496395> + 19608: <-0.768679, 0.452290, -0.452290> + 19609: <-0.747688, 0.490534, -0.447593> + 19610: <-0.728461, 0.484430, -0.484430> + 19611: <-0.747688, 0.447593, -0.490534> + 19612: <-0.747688, 0.490534, -0.447593> + 19613: <-0.724109, 0.528478, -0.443145> + 19614: <-0.706895, 0.520969, -0.478425> + 19615: <-0.728461, 0.484430, -0.484430> + 19616: <-0.724109, 0.528478, -0.443145> + 19617: <-0.697667, 0.565794, -0.439475> + 19618: <-0.682532, 0.557037, -0.473139> + 19619: <-0.706895, 0.520969, -0.478425> + 19620: <-0.697667, 0.565794, -0.439475> + 19621: <-0.668312, 0.601963, -0.437036> + 19622: <-0.655217, 0.591920, -0.469385> + 19623: <-0.682532, 0.557037, -0.473139> + 19624: <-0.655217, -0.591920, -0.469385> + 19625: <-0.682532, -0.557037, -0.473139> + 19626: <-0.666144, -0.547882, -0.506040> + 19627: <-0.641397, -0.581456, -0.500519> + 19628: <-0.682532, -0.557037, -0.473139> + 19629: <-0.706895, -0.520969, -0.478425> + 19630: <-0.687856, -0.513252, -0.513252> + 19631: <-0.666144, -0.547882, -0.506040> + 19632: <-0.706895, -0.520969, -0.478425> + 19633: <-0.728461, -0.484430, -0.484430> + 19634: <-0.706895, -0.478425, -0.520969> + 19635: <-0.687856, -0.513252, -0.513252> + 19636: <-0.728461, -0.484430, -0.484430> + 19637: <-0.747688, -0.447593, -0.490534> + 19638: <-0.724109, -0.443145, -0.528478> + 19639: <-0.706895, -0.478425, -0.520969> + 19640: <-0.747688, -0.447593, -0.490534> + 19641: <-0.764964, -0.410392, -0.496395> + 19642: <-0.739812, -0.407307, -0.535518> + 19643: <-0.724109, -0.443145, -0.528478> + 19644: <-0.764964, -0.410392, -0.496395> + 19645: <-0.780568, -0.372705, -0.501802> + 19646: <-0.754169, -0.370721, -0.542028> + 19647: <-0.739812, -0.407307, -0.535518> + 19648: <-0.780568, -0.372705, -0.501802> + 19649: <-0.794636, -0.334310, -0.506745> + 19650: <-0.767292, -0.333090, -0.548009> + 19651: <-0.754169, -0.370721, -0.542028> + 19652: <-0.794636, -0.334310, -0.506745> + 19653: <-0.807082, -0.295457, -0.511198> + 19654: <-0.779017, -0.294729, -0.553415> + 19655: <-0.767292, -0.333090, -0.548009> + 19656: <-0.807082, -0.295457, -0.511198> + 19657: <-0.817925, -0.256243, -0.515110> + 19658: <-0.789266, -0.255937, -0.558172> + 19659: <-0.779017, -0.294729, -0.553415> + 19660: <-0.817925, -0.256243, -0.515110> + 19661: <-0.827263, -0.216475, -0.518435> + 19662: <-0.798110, -0.216534, -0.562257> + 19663: <-0.789266, -0.255937, -0.558172> + 19664: <-0.827263, -0.216475, -0.518435> + 19665: <-0.835133, -0.175853, -0.521180> + 19666: <-0.805587, -0.176188, -0.565675> + 19667: <-0.798110, -0.216534, -0.562257> + 19668: <-0.835133, -0.175853, -0.521180> + 19669: <-0.841527, -0.134100, -0.523307> + 19670: <-0.811677, -0.134618, -0.568382> + 19671: <-0.805587, -0.176188, -0.565675> + 19672: <-0.841527, -0.134100, -0.523307> + 19673: <-0.846324, -0.091008, -0.524836> + 19674: <-0.816271, -0.091497, -0.570377> + 19675: <-0.811677, -0.134618, -0.568382> + 19676: <-0.846324, -0.091008, -0.524836> + 19677: <-0.849378, -0.046267, -0.525753> + 19678: <-0.819208, -0.046573, -0.571602> + 19679: <-0.816271, -0.091497, -0.570377> + 19680: <-0.849378, -0.046267, -0.525753> + 19681: <-0.850434, 0.000000, -0.526081> + 19682: <-0.820237, 0.000000, -0.572024> + 19683: <-0.819208, -0.046573, -0.571602> + 19684: <-0.850434, 0.000000, -0.526081> + 19685: <-0.849378, 0.046267, -0.525753> + 19686: <-0.819208, 0.046573, -0.571602> + 19687: <-0.820237, 0.000000, -0.572024> + 19688: <-0.849378, 0.046267, -0.525753> + 19689: <-0.846324, 0.091008, -0.524836> + 19690: <-0.816271, 0.091497, -0.570377> + 19691: <-0.819208, 0.046573, -0.571602> + 19692: <-0.846324, 0.091008, -0.524836> + 19693: <-0.841527, 0.134100, -0.523307> + 19694: <-0.811677, 0.134618, -0.568382> + 19695: <-0.816271, 0.091497, -0.570377> + 19696: <-0.841527, 0.134100, -0.523307> + 19697: <-0.835133, 0.175853, -0.521180> + 19698: <-0.805587, 0.176188, -0.565675> + 19699: <-0.811677, 0.134618, -0.568382> + 19700: <-0.835133, 0.175853, -0.521180> + 19701: <-0.827263, 0.216475, -0.518435> + 19702: <-0.798110, 0.216534, -0.562257> + 19703: <-0.805587, 0.176188, -0.565675> + 19704: <-0.827263, 0.216475, -0.518435> + 19705: <-0.817925, 0.256243, -0.515110> + 19706: <-0.789266, 0.255937, -0.558172> + 19707: <-0.798110, 0.216534, -0.562257> + 19708: <-0.817925, 0.256243, -0.515110> + 19709: <-0.807082, 0.295457, -0.511198> + 19710: <-0.779017, 0.294729, -0.553415> + 19711: <-0.789266, 0.255937, -0.558172> + 19712: <-0.807082, 0.295457, -0.511198> + 19713: <-0.794627, 0.334337, -0.506740> + 19714: <-0.767292, 0.333090, -0.548009> + 19715: <-0.779017, 0.294729, -0.553415> + 19716: <-0.794627, 0.334337, -0.506740> + 19717: <-0.780568, 0.372705, -0.501802> + 19718: <-0.754169, 0.370721, -0.542028> + 19719: <-0.767292, 0.333090, -0.548009> + 19720: <-0.780568, 0.372705, -0.501802> + 19721: <-0.764964, 0.410392, -0.496395> + 19722: <-0.739812, 0.407307, -0.535518> + 19723: <-0.754169, 0.370721, -0.542028> + 19724: <-0.764964, 0.410392, -0.496395> + 19725: <-0.747688, 0.447593, -0.490534> + 19726: <-0.724109, 0.443145, -0.528478> + 19727: <-0.739812, 0.407307, -0.535518> + 19728: <-0.747688, 0.447593, -0.490534> + 19729: <-0.728461, 0.484430, -0.484430> + 19730: <-0.706895, 0.478425, -0.520969> + 19731: <-0.724109, 0.443145, -0.528478> + 19732: <-0.728461, 0.484430, -0.484430> + 19733: <-0.706895, 0.520969, -0.478425> + 19734: <-0.687856, 0.513252, -0.513252> + 19735: <-0.706895, 0.478425, -0.520969> + 19736: <-0.706895, 0.520969, -0.478425> + 19737: <-0.682532, 0.557037, -0.473139> + 19738: <-0.666144, 0.547882, -0.506040> + 19739: <-0.687856, 0.513252, -0.513252> + 19740: <-0.682532, 0.557037, -0.473139> + 19741: <-0.655217, 0.591920, -0.469385> + 19742: <-0.641397, 0.581456, -0.500519> + 19743: <-0.666144, 0.547882, -0.506040> + 19744: <-0.641397, -0.581456, -0.500519> + 19745: <-0.666144, -0.547882, -0.506040> + 19746: <-0.647334, -0.538962, -0.538962> + 19747: <-0.625584, -0.571076, -0.531523> + 19748: <-0.666144, -0.547882, -0.506040> + 19749: <-0.687856, -0.513252, -0.513252> + 19750: <-0.666144, -0.506040, -0.547882> + 19751: <-0.647334, -0.538962, -0.538962> + 19752: <-0.687856, -0.513252, -0.513252> + 19753: <-0.706895, -0.478425, -0.520969> + 19754: <-0.682532, -0.473139, -0.557037> + 19755: <-0.666144, -0.506040, -0.547882> + 19756: <-0.706895, -0.478425, -0.520969> + 19757: <-0.724109, -0.443145, -0.528478> + 19758: <-0.697667, -0.439475, -0.565794> + 19759: <-0.682532, -0.473139, -0.557037> + 19760: <-0.724109, -0.443145, -0.528478> + 19761: <-0.739812, -0.407307, -0.535518> + 19762: <-0.711772, -0.404839, -0.574008> + 19763: <-0.697667, -0.439475, -0.565794> + 19764: <-0.739812, -0.407307, -0.535518> + 19765: <-0.754169, -0.370721, -0.542028> + 19766: <-0.724825, -0.369188, -0.581661> + 19767: <-0.711772, -0.404839, -0.574008> + 19768: <-0.754169, -0.370721, -0.542028> + 19769: <-0.767292, -0.333090, -0.548009> + 19770: <-0.736915, -0.332170, -0.588744> + 19771: <-0.724825, -0.369188, -0.581661> + 19772: <-0.767292, -0.333090, -0.548009> + 19773: <-0.779017, -0.294729, -0.553415> + 19774: <-0.747816, -0.294207, -0.595158> + 19775: <-0.736915, -0.332170, -0.588744> + 19776: <-0.779017, -0.294729, -0.553415> + 19777: <-0.789266, -0.255937, -0.558172> + 19778: <-0.757361, -0.255750, -0.600829> + 19779: <-0.747816, -0.294207, -0.595158> + 19780: <-0.789266, -0.255937, -0.558172> + 19781: <-0.798110, -0.216534, -0.562257> + 19782: <-0.765608, -0.216596, -0.605748> + 19783: <-0.757361, -0.255750, -0.600829> + 19784: <-0.798110, -0.216534, -0.562257> + 19785: <-0.805587, -0.176188, -0.565675> + 19786: <-0.772589, -0.176461, -0.609892> + 19787: <-0.765608, -0.216596, -0.605748> + 19788: <-0.805587, -0.176188, -0.565675> + 19789: <-0.811677, -0.134618, -0.568382> + 19790: <-0.778292, -0.135015, -0.613215> + 19791: <-0.772589, -0.176461, -0.609892> + 19792: <-0.811677, -0.134618, -0.568382> + 19793: <-0.816271, -0.091497, -0.570377> + 19794: <-0.782607, -0.091894, -0.615697> + 19795: <-0.778292, -0.135015, -0.613215> + 19796: <-0.816271, -0.091497, -0.570377> + 19797: <-0.819208, -0.046573, -0.571602> + 19798: <-0.785375, -0.046847, -0.617246> + 19799: <-0.782607, -0.091894, -0.615697> + 19800: <-0.819208, -0.046573, -0.571602> + 19801: <-0.820237, 0.000000, -0.572024> + 19802: <-0.786344, 0.000000, -0.617789> + 19803: <-0.785375, -0.046847, -0.617246> + 19804: <-0.820237, 0.000000, -0.572024> + 19805: <-0.819208, 0.046573, -0.571602> + 19806: <-0.785375, 0.046847, -0.617246> + 19807: <-0.786344, 0.000000, -0.617789> + 19808: <-0.819208, 0.046573, -0.571602> + 19809: <-0.816271, 0.091497, -0.570377> + 19810: <-0.782607, 0.091894, -0.615697> + 19811: <-0.785375, 0.046847, -0.617246> + 19812: <-0.816271, 0.091497, -0.570377> + 19813: <-0.811677, 0.134618, -0.568382> + 19814: <-0.778295, 0.134985, -0.613218> + 19815: <-0.782607, 0.091894, -0.615697> + 19816: <-0.811677, 0.134618, -0.568382> + 19817: <-0.805587, 0.176188, -0.565675> + 19818: <-0.772589, 0.176461, -0.609892> + 19819: <-0.778295, 0.134985, -0.613218> + 19820: <-0.805587, 0.176188, -0.565675> + 19821: <-0.798110, 0.216534, -0.562257> + 19822: <-0.765608, 0.216596, -0.605748> + 19823: <-0.772589, 0.176461, -0.609892> + 19824: <-0.798110, 0.216534, -0.562257> + 19825: <-0.789266, 0.255937, -0.558172> + 19826: <-0.757361, 0.255750, -0.600829> + 19827: <-0.765608, 0.216596, -0.605748> + 19828: <-0.789266, 0.255937, -0.558172> + 19829: <-0.779017, 0.294729, -0.553415> + 19830: <-0.747816, 0.294207, -0.595158> + 19831: <-0.757361, 0.255750, -0.600829> + 19832: <-0.779017, 0.294729, -0.553415> + 19833: <-0.767292, 0.333090, -0.548009> + 19834: <-0.736915, 0.332170, -0.588744> + 19835: <-0.747816, 0.294207, -0.595158> + 19836: <-0.767292, 0.333090, -0.548009> + 19837: <-0.754169, 0.370721, -0.542028> + 19838: <-0.724825, 0.369188, -0.581661> + 19839: <-0.736915, 0.332170, -0.588744> + 19840: <-0.754169, 0.370721, -0.542028> + 19841: <-0.739812, 0.407307, -0.535518> + 19842: <-0.711772, 0.404839, -0.574008> + 19843: <-0.724825, 0.369188, -0.581661> + 19844: <-0.739812, 0.407307, -0.535518> + 19845: <-0.724109, 0.443145, -0.528478> + 19846: <-0.697667, 0.439475, -0.565794> + 19847: <-0.711772, 0.404839, -0.574008> + 19848: <-0.724109, 0.443145, -0.528478> + 19849: <-0.706895, 0.478425, -0.520969> + 19850: <-0.682532, 0.473139, -0.557037> + 19851: <-0.697667, 0.439475, -0.565794> + 19852: <-0.706895, 0.478425, -0.520969> + 19853: <-0.687856, 0.513252, -0.513252> + 19854: <-0.666144, 0.506040, -0.547882> + 19855: <-0.682532, 0.473139, -0.557037> + 19856: <-0.687856, 0.513252, -0.513252> + 19857: <-0.666144, 0.547882, -0.506040> + 19858: <-0.647334, 0.538962, -0.538962> + 19859: <-0.666144, 0.506040, -0.547882> + 19860: <-0.666144, 0.547882, -0.506040> + 19861: <-0.641397, 0.581456, -0.500519> + 19862: <-0.625584, 0.571076, -0.531523> + 19863: <-0.647334, 0.538962, -0.538962> + 19864: <-0.625584, -0.571076, -0.531523> + 19865: <-0.647334, -0.538962, -0.538962> + 19866: <-0.625584, -0.531523, -0.571076> + 19867: <-0.607783, -0.561516, -0.561516> + 19868: <-0.647334, -0.538962, -0.538962> + 19869: <-0.666144, -0.506040, -0.547882> + 19870: <-0.641397, -0.500519, -0.581456> + 19871: <-0.625584, -0.531523, -0.571076> + 19872: <-0.666144, -0.506040, -0.547882> + 19873: <-0.682532, -0.473139, -0.557037> + 19874: <-0.655217, -0.469385, -0.591920> + 19875: <-0.641397, -0.500519, -0.581456> + 19876: <-0.682532, -0.473139, -0.557037> + 19877: <-0.697667, -0.439475, -0.565794> + 19878: <-0.668312, -0.437036, -0.601963> + 19879: <-0.655217, -0.469385, -0.591920> + 19880: <-0.697667, -0.439475, -0.565794> + 19881: <-0.711772, -0.404839, -0.574008> + 19882: <-0.680859, -0.403223, -0.611427> + 19883: <-0.668312, -0.437036, -0.601963> + 19884: <-0.711772, -0.404839, -0.574008> + 19885: <-0.724825, -0.369188, -0.581661> + 19886: <-0.692544, -0.368246, -0.620305> + 19887: <-0.680859, -0.403223, -0.611427> + 19888: <-0.724825, -0.369188, -0.581661> + 19889: <-0.736915, -0.332170, -0.588744> + 19890: <-0.703467, -0.331652, -0.628603> + 19891: <-0.692544, -0.368246, -0.620305> + 19892: <-0.736915, -0.332170, -0.588744> + 19893: <-0.747816, -0.294207, -0.595158> + 19894: <-0.713396, -0.293904, -0.636150> + 19895: <-0.703467, -0.331652, -0.628603> + 19896: <-0.747816, -0.294207, -0.595158> + 19897: <-0.757361, -0.255750, -0.600829> + 19898: <-0.722093, -0.255632, -0.642833> + 19899: <-0.713396, -0.293904, -0.636150> + 19900: <-0.757361, -0.255750, -0.600829> + 19901: <-0.765608, -0.216596, -0.605748> + 19902: <-0.729636, -0.216660, -0.648606> + 19903: <-0.722093, -0.255632, -0.642833> + 19904: <-0.765608, -0.216596, -0.605748> + 19905: <-0.772589, -0.176461, -0.609892> + 19906: <-0.736025, -0.176644, -0.653502> + 19907: <-0.729636, -0.216660, -0.648606> + 19908: <-0.772589, -0.176461, -0.609892> + 19909: <-0.778292, -0.135015, -0.613215> + 19910: <-0.741243, -0.135260, -0.657468> + 19911: <-0.736025, -0.176644, -0.653502> + 19912: <-0.778292, -0.135015, -0.613215> + 19913: <-0.782607, -0.091894, -0.615697> + 19914: <-0.745184, -0.092137, -0.660463> + 19915: <-0.741243, -0.135260, -0.657468> + 19916: <-0.782607, -0.091894, -0.615697> + 19917: <-0.785375, -0.046847, -0.617246> + 19918: <-0.747715, -0.046999, -0.662354> + 19919: <-0.745184, -0.092137, -0.660463> + 19920: <-0.785375, -0.046847, -0.617246> + 19921: <-0.786344, 0.000000, -0.617789> + 19922: <-0.748599, 0.000000, -0.663024> + 19923: <-0.747715, -0.046999, -0.662354> + 19924: <-0.786344, 0.000000, -0.617789> + 19925: <-0.785375, 0.046847, -0.617246> + 19926: <-0.747715, 0.046999, -0.662354> + 19927: <-0.748599, 0.000000, -0.663024> + 19928: <-0.785375, 0.046847, -0.617246> + 19929: <-0.782607, 0.091894, -0.615697> + 19930: <-0.745184, 0.092137, -0.660463> + 19931: <-0.747715, 0.046999, -0.662354> + 19932: <-0.782607, 0.091894, -0.615697> + 19933: <-0.778295, 0.134985, -0.613218> + 19934: <-0.741243, 0.135260, -0.657468> + 19935: <-0.745184, 0.092137, -0.660463> + 19936: <-0.778295, 0.134985, -0.613218> + 19937: <-0.772589, 0.176461, -0.609892> + 19938: <-0.736025, 0.176644, -0.653502> + 19939: <-0.741243, 0.135260, -0.657468> + 19940: <-0.772589, 0.176461, -0.609892> + 19941: <-0.765608, 0.216596, -0.605748> + 19942: <-0.729636, 0.216660, -0.648606> + 19943: <-0.736025, 0.176644, -0.653502> + 19944: <-0.765608, 0.216596, -0.605748> + 19945: <-0.757361, 0.255750, -0.600829> + 19946: <-0.722093, 0.255632, -0.642833> + 19947: <-0.729636, 0.216660, -0.648606> + 19948: <-0.757361, 0.255750, -0.600829> + 19949: <-0.747816, 0.294207, -0.595158> + 19950: <-0.713396, 0.293904, -0.636150> + 19951: <-0.722093, 0.255632, -0.642833> + 19952: <-0.747816, 0.294207, -0.595158> + 19953: <-0.736915, 0.332170, -0.588744> + 19954: <-0.703467, 0.331652, -0.628603> + 19955: <-0.713396, 0.293904, -0.636150> + 19956: <-0.736915, 0.332170, -0.588744> + 19957: <-0.724825, 0.369188, -0.581661> + 19958: <-0.692544, 0.368246, -0.620305> + 19959: <-0.703467, 0.331652, -0.628603> + 19960: <-0.724825, 0.369188, -0.581661> + 19961: <-0.711772, 0.404839, -0.574008> + 19962: <-0.680859, 0.403223, -0.611427> + 19963: <-0.692544, 0.368246, -0.620305> + 19964: <-0.711772, 0.404839, -0.574008> + 19965: <-0.697667, 0.439475, -0.565794> + 19966: <-0.668312, 0.437036, -0.601963> + 19967: <-0.680859, 0.403223, -0.611427> + 19968: <-0.697667, 0.439475, -0.565794> + 19969: <-0.682532, 0.473139, -0.557037> + 19970: <-0.655217, 0.469385, -0.591920> + 19971: <-0.668312, 0.437036, -0.601963> + 19972: <-0.682532, 0.473139, -0.557037> + 19973: <-0.666144, 0.506040, -0.547882> + 19974: <-0.641397, 0.500519, -0.581456> + 19975: <-0.655217, 0.469385, -0.591920> + 19976: <-0.666144, 0.506040, -0.547882> + 19977: <-0.647334, 0.538962, -0.538962> + 19978: <-0.625584, 0.531523, -0.571076> + 19979: <-0.641397, 0.500519, -0.581456> + 19980: <-0.647334, 0.538962, -0.538962> + 19981: <-0.625584, 0.571076, -0.531523> + 19982: <-0.607783, 0.561516, -0.561516> + 19983: <-0.625584, 0.531523, -0.571076> + 19984: <-0.577330, -0.577360, 0.577360> + 19985: <-0.588539, -0.554296, 0.588539> + 19986: <-0.607783, -0.561516, 0.561516> + 19987: <-0.588539, -0.588539, 0.554296> + 19988: <-0.588539, -0.554296, 0.588539> + 19989: <-0.601188, -0.526447, 0.601188> + 19990: <-0.625584, -0.531523, 0.571076> + 19991: <-0.607783, -0.561516, 0.561516> + 19992: <-0.601188, -0.526447, 0.601188> + 19993: <-0.613379, -0.497527, 0.613379> + 19994: <-0.641397, -0.500519, 0.581456> + 19995: <-0.625584, -0.531523, 0.571076> + 19996: <-0.613379, -0.497527, 0.613379> + 19997: <-0.624909, -0.467950, 0.624909> + 19998: <-0.655217, -0.469385, 0.591920> + 19999: <-0.641397, -0.500519, 0.581456> + 20000: <-0.624909, -0.467950, 0.624909> + 20001: <-0.636296, -0.436181, 0.636296> + 20002: <-0.668312, -0.437036, 0.601963> + 20003: <-0.655217, -0.469385, 0.591920> + 20004: <-0.636296, -0.436181, 0.636296> + 20005: <-0.647247, -0.402668, 0.647247> + 20006: <-0.680859, -0.403223, 0.611427> + 20007: <-0.668312, -0.437036, 0.601963> + 20008: <-0.647247, -0.402668, 0.647247> + 20009: <-0.657511, -0.367912, 0.657511> + 20010: <-0.692544, -0.368246, 0.620305> + 20011: <-0.680859, -0.403223, 0.611427> + 20012: <-0.657511, -0.367912, 0.657511> + 20013: <-0.667130, -0.331474, 0.667130> + 20014: <-0.703467, -0.331652, 0.628603> + 20015: <-0.692544, -0.368246, 0.620305> + 20016: <-0.667130, -0.331474, 0.667130> + 20017: <-0.675899, -0.293804, 0.675899> + 20018: <-0.713396, -0.293904, 0.636150> + 20019: <-0.703467, -0.331652, 0.628603> + 20020: <-0.675899, -0.293804, 0.675899> + 20021: <-0.683620, -0.255594, 0.683620> + 20022: <-0.722093, -0.255632, 0.642833> + 20023: <-0.713396, -0.293904, 0.636150> + 20024: <-0.683620, -0.255594, 0.683620> + 20025: <-0.690307, -0.216684, 0.690307> + 20026: <-0.729636, -0.216660, 0.648606> + 20027: <-0.722093, -0.255632, 0.642833> + 20028: <-0.690307, -0.216684, 0.690307> + 20029: <-0.695976, -0.176733, 0.695976> + 20030: <-0.736025, -0.176644, 0.653502> + 20031: <-0.729636, -0.216660, 0.648606> + 20032: <-0.695976, -0.176733, 0.695976> + 20033: <-0.700600, -0.135353, 0.700600> + 20034: <-0.741243, -0.135260, 0.657468> + 20035: <-0.736025, -0.176644, 0.653502> + 20036: <-0.700600, -0.135353, 0.700600> + 20037: <-0.704093, -0.092231, 0.704093> + 20038: <-0.745184, -0.092137, 0.660463> + 20039: <-0.741243, -0.135260, 0.657468> + 20040: <-0.704093, -0.092231, 0.704093> + 20041: <-0.706323, -0.047060, 0.706323> + 20042: <-0.747715, -0.046999, 0.662354> + 20043: <-0.745184, -0.092137, 0.660463> + 20044: <-0.706323, -0.047060, 0.706323> + 20045: <-0.707107, 0.000000, 0.707107> + 20046: <-0.748599, 0.000000, 0.663024> + 20047: <-0.747715, -0.046999, 0.662354> + 20048: <-0.707107, 0.000000, 0.707107> + 20049: <-0.706323, 0.047060, 0.706323> + 20050: <-0.747715, 0.046999, 0.662354> + 20051: <-0.748599, 0.000000, 0.663024> + 20052: <-0.706323, 0.047060, 0.706323> + 20053: <-0.704093, 0.092231, 0.704093> + 20054: <-0.745184, 0.092137, 0.660463> + 20055: <-0.747715, 0.046999, 0.662354> + 20056: <-0.704093, 0.092231, 0.704093> + 20057: <-0.700600, 0.135353, 0.700600> + 20058: <-0.741243, 0.135260, 0.657468> + 20059: <-0.745184, 0.092137, 0.660463> + 20060: <-0.700600, 0.135353, 0.700600> + 20061: <-0.695976, 0.176733, 0.695976> + 20062: <-0.736025, 0.176644, 0.653502> + 20063: <-0.741243, 0.135260, 0.657468> + 20064: <-0.695976, 0.176733, 0.695976> + 20065: <-0.690307, 0.216684, 0.690307> + 20066: <-0.729636, 0.216660, 0.648606> + 20067: <-0.736025, 0.176644, 0.653502> + 20068: <-0.690307, 0.216684, 0.690307> + 20069: <-0.683620, 0.255594, 0.683620> + 20070: <-0.722093, 0.255632, 0.642833> + 20071: <-0.729636, 0.216660, 0.648606> + 20072: <-0.683620, 0.255594, 0.683620> + 20073: <-0.675899, 0.293804, 0.675899> + 20074: <-0.713396, 0.293904, 0.636150> + 20075: <-0.722093, 0.255632, 0.642833> + 20076: <-0.675899, 0.293804, 0.675899> + 20077: <-0.667130, 0.331474, 0.667130> + 20078: <-0.703467, 0.331652, 0.628603> + 20079: <-0.713396, 0.293904, 0.636150> + 20080: <-0.667130, 0.331474, 0.667130> + 20081: <-0.657511, 0.367912, 0.657511> + 20082: <-0.692544, 0.368246, 0.620305> + 20083: <-0.703467, 0.331652, 0.628603> + 20084: <-0.657511, 0.367912, 0.657511> + 20085: <-0.647247, 0.402668, 0.647247> + 20086: <-0.680859, 0.403223, 0.611427> + 20087: <-0.692544, 0.368246, 0.620305> + 20088: <-0.647247, 0.402668, 0.647247> + 20089: <-0.636296, 0.436181, 0.636296> + 20090: <-0.668312, 0.437036, 0.601963> + 20091: <-0.680859, 0.403223, 0.611427> + 20092: <-0.636296, 0.436181, 0.636296> + 20093: <-0.624909, 0.467950, 0.624909> + 20094: <-0.655217, 0.469385, 0.591920> + 20095: <-0.668312, 0.437036, 0.601963> + 20096: <-0.624909, 0.467950, 0.624909> + 20097: <-0.613379, 0.497527, 0.613379> + 20098: <-0.641406, 0.500496, 0.581465> + 20099: <-0.655217, 0.469385, 0.591920> + 20100: <-0.613379, 0.497527, 0.613379> + 20101: <-0.601188, 0.526447, 0.601188> + 20102: <-0.625584, 0.531523, 0.571076> + 20103: <-0.641406, 0.500496, 0.581465> + 20104: <-0.601188, 0.526447, 0.601188> + 20105: <-0.588539, 0.554296, 0.588539> + 20106: <-0.607783, 0.561516, 0.561516> + 20107: <-0.625584, 0.531523, 0.571076> + 20108: <-0.588539, 0.554296, 0.588539> + 20109: <-0.577350, 0.577350, 0.577350> + 20110: <-0.588539, 0.588539, 0.554296> + 20111: <-0.607783, 0.561516, 0.561516> + 20112: <-0.607783, 0.561516, 0.561516> + 20113: <-0.588539, 0.588539, 0.554296> + 20114: <-0.601188, 0.601188, 0.526447> + 20115: <-0.625584, 0.571076, 0.531523> + 20116: <-0.625584, 0.571076, 0.531523> + 20117: <-0.601188, 0.601188, 0.526447> + 20118: <-0.613379, 0.613379, 0.497527> + 20119: <-0.641397, 0.581456, 0.500519> + 20120: <-0.641397, 0.581456, 0.500519> + 20121: <-0.613379, 0.613379, 0.497527> + 20122: <-0.624909, 0.624909, 0.467950> + 20123: <-0.655217, 0.591920, 0.469385> + 20124: <-0.655217, 0.591920, 0.469385> + 20125: <-0.624909, 0.624909, 0.467950> + 20126: <-0.636296, 0.636296, 0.436181> + 20127: <-0.668312, 0.601963, 0.437036> + 20128: <-0.668312, 0.601963, 0.437036> + 20129: <-0.636296, 0.636296, 0.436181> + 20130: <-0.647247, 0.647247, 0.402668> + 20131: <-0.680859, 0.611427, 0.403223> + 20132: <-0.680859, 0.611427, 0.403223> + 20133: <-0.647247, 0.647247, 0.402668> + 20134: <-0.657511, 0.657511, 0.367912> + 20135: <-0.692544, 0.620305, 0.368246> + 20136: <-0.692544, 0.620305, 0.368246> + 20137: <-0.657511, 0.657511, 0.367912> + 20138: <-0.667130, 0.667130, 0.331474> + 20139: <-0.703467, 0.628603, 0.331652> + 20140: <-0.703467, 0.628603, 0.331652> + 20141: <-0.667130, 0.667130, 0.331474> + 20142: <-0.675899, 0.675899, 0.293804> + 20143: <-0.713396, 0.636150, 0.293904> + 20144: <-0.713396, 0.636150, 0.293904> + 20145: <-0.675899, 0.675899, 0.293804> + 20146: <-0.683620, 0.683620, 0.255594> + 20147: <-0.722093, 0.642833, 0.255632> + 20148: <-0.722093, 0.642833, 0.255632> + 20149: <-0.683620, 0.683620, 0.255594> + 20150: <-0.690307, 0.690307, 0.216684> + 20151: <-0.729636, 0.648606, 0.216660> + 20152: <-0.729636, 0.648606, 0.216660> + 20153: <-0.690307, 0.690307, 0.216684> + 20154: <-0.695976, 0.695976, 0.176733> + 20155: <-0.736025, 0.653502, 0.176644> + 20156: <-0.736025, 0.653502, 0.176644> + 20157: <-0.695976, 0.695976, 0.176733> + 20158: <-0.700600, 0.700600, 0.135353> + 20159: <-0.741243, 0.657468, 0.135260> + 20160: <-0.741243, 0.657468, 0.135260> + 20161: <-0.700600, 0.700600, 0.135353> + 20162: <-0.704093, 0.704093, 0.092231> + 20163: <-0.745184, 0.660463, 0.092137> + 20164: <-0.745184, 0.660463, 0.092137> + 20165: <-0.704093, 0.704093, 0.092231> + 20166: <-0.706323, 0.706323, 0.047060> + 20167: <-0.747715, 0.662354, 0.046999> + 20168: <-0.747715, 0.662354, 0.046999> + 20169: <-0.706323, 0.706323, 0.047060> + 20170: <-0.707107, 0.707107, 0.000000> + 20171: <-0.748599, 0.663024, 0.000000> + 20172: <-0.748599, 0.663024, 0.000000> + 20173: <-0.707107, 0.707107, 0.000000> + 20174: <-0.706323, 0.706323, -0.047060> + 20175: <-0.747715, 0.662354, -0.046999> + 20176: <-0.747715, 0.662354, -0.046999> + 20177: <-0.706323, 0.706323, -0.047060> + 20178: <-0.704093, 0.704093, -0.092231> + 20179: <-0.745184, 0.660463, -0.092137> + 20180: <-0.745184, 0.660463, -0.092137> + 20181: <-0.704093, 0.704093, -0.092231> + 20182: <-0.700600, 0.700600, -0.135353> + 20183: <-0.741243, 0.657468, -0.135260> + 20184: <-0.741243, 0.657468, -0.135260> + 20185: <-0.700600, 0.700600, -0.135353> + 20186: <-0.695976, 0.695976, -0.176733> + 20187: <-0.736025, 0.653502, -0.176644> + 20188: <-0.736025, 0.653502, -0.176644> + 20189: <-0.695976, 0.695976, -0.176733> + 20190: <-0.690307, 0.690307, -0.216684> + 20191: <-0.729636, 0.648606, -0.216660> + 20192: <-0.729636, 0.648606, -0.216660> + 20193: <-0.690307, 0.690307, -0.216684> + 20194: <-0.683620, 0.683620, -0.255594> + 20195: <-0.722093, 0.642833, -0.255632> + 20196: <-0.722093, 0.642833, -0.255632> + 20197: <-0.683620, 0.683620, -0.255594> + 20198: <-0.675899, 0.675899, -0.293804> + 20199: <-0.713396, 0.636150, -0.293904> + 20200: <-0.713396, 0.636150, -0.293904> + 20201: <-0.675899, 0.675899, -0.293804> + 20202: <-0.667130, 0.667130, -0.331474> + 20203: <-0.703467, 0.628603, -0.331652> + 20204: <-0.703467, 0.628603, -0.331652> + 20205: <-0.667130, 0.667130, -0.331474> + 20206: <-0.657511, 0.657511, -0.367912> + 20207: <-0.692544, 0.620305, -0.368246> + 20208: <-0.692544, 0.620305, -0.368246> + 20209: <-0.657511, 0.657511, -0.367912> + 20210: <-0.647247, 0.647247, -0.402668> + 20211: <-0.680859, 0.611427, -0.403223> + 20212: <-0.680859, 0.611427, -0.403223> + 20213: <-0.647247, 0.647247, -0.402668> + 20214: <-0.636296, 0.636296, -0.436181> + 20215: <-0.668312, 0.601963, -0.437036> + 20216: <-0.668312, 0.601963, -0.437036> + 20217: <-0.636296, 0.636296, -0.436181> + 20218: <-0.624909, 0.624909, -0.467950> + 20219: <-0.655217, 0.591920, -0.469385> + 20220: <-0.655217, 0.591920, -0.469385> + 20221: <-0.624909, 0.624909, -0.467950> + 20222: <-0.613379, 0.613379, -0.497527> + 20223: <-0.641397, 0.581456, -0.500519> + 20224: <-0.641397, 0.581456, -0.500519> + 20225: <-0.613379, 0.613379, -0.497527> + 20226: <-0.601168, 0.601199, -0.526457> + 20227: <-0.625584, 0.571076, -0.531523> + 20228: <-0.625584, 0.571076, -0.531523> + 20229: <-0.601168, 0.601199, -0.526457> + 20230: <-0.588539, 0.588539, -0.554296> + 20231: <-0.607783, 0.561516, -0.561516> + 20232: <-0.607783, 0.561516, -0.561516> + 20233: <-0.588539, 0.588539, -0.554296> + 20234: <-0.577350, 0.577350, -0.577350> + 20235: <-0.588539, 0.554296, -0.588539> + 20236: <-0.625584, 0.531523, -0.571076> + 20237: <-0.607783, 0.561516, -0.561516> + 20238: <-0.588539, 0.554296, -0.588539> + 20239: <-0.601188, 0.526447, -0.601188> + 20240: <-0.641397, 0.500519, -0.581456> + 20241: <-0.625584, 0.531523, -0.571076> + 20242: <-0.601188, 0.526447, -0.601188> + 20243: <-0.613379, 0.497527, -0.613379> + 20244: <-0.655217, 0.469385, -0.591920> + 20245: <-0.641397, 0.500519, -0.581456> + 20246: <-0.613379, 0.497527, -0.613379> + 20247: <-0.624909, 0.467950, -0.624909> + 20248: <-0.668312, 0.437036, -0.601963> + 20249: <-0.655217, 0.469385, -0.591920> + 20250: <-0.624909, 0.467950, -0.624909> + 20251: <-0.636296, 0.436181, -0.636296> + 20252: <-0.680859, 0.403223, -0.611427> + 20253: <-0.668312, 0.437036, -0.601963> + 20254: <-0.636296, 0.436181, -0.636296> + 20255: <-0.647247, 0.402668, -0.647247> + 20256: <-0.692544, 0.368246, -0.620305> + 20257: <-0.680859, 0.403223, -0.611427> + 20258: <-0.647247, 0.402668, -0.647247> + 20259: <-0.657511, 0.367912, -0.657511> + 20260: <-0.703467, 0.331652, -0.628603> + 20261: <-0.692544, 0.368246, -0.620305> + 20262: <-0.657511, 0.367912, -0.657511> + 20263: <-0.667130, 0.331474, -0.667130> + 20264: <-0.713396, 0.293904, -0.636150> + 20265: <-0.703467, 0.331652, -0.628603> + 20266: <-0.667130, 0.331474, -0.667130> + 20267: <-0.675899, 0.293804, -0.675899> + 20268: <-0.722093, 0.255632, -0.642833> + 20269: <-0.713396, 0.293904, -0.636150> + 20270: <-0.675899, 0.293804, -0.675899> + 20271: <-0.683620, 0.255594, -0.683620> + 20272: <-0.729636, 0.216660, -0.648606> + 20273: <-0.722093, 0.255632, -0.642833> + 20274: <-0.683620, 0.255594, -0.683620> + 20275: <-0.690307, 0.216684, -0.690307> + 20276: <-0.736025, 0.176644, -0.653502> + 20277: <-0.729636, 0.216660, -0.648606> + 20278: <-0.690307, 0.216684, -0.690307> + 20279: <-0.695976, 0.176733, -0.695976> + 20280: <-0.741243, 0.135260, -0.657468> + 20281: <-0.736025, 0.176644, -0.653502> + 20282: <-0.695976, 0.176733, -0.695976> + 20283: <-0.700600, 0.135353, -0.700600> + 20284: <-0.745184, 0.092137, -0.660463> + 20285: <-0.741243, 0.135260, -0.657468> + 20286: <-0.700600, 0.135353, -0.700600> + 20287: <-0.704093, 0.092231, -0.704093> + 20288: <-0.747715, 0.046999, -0.662354> + 20289: <-0.745184, 0.092137, -0.660463> + 20290: <-0.704093, 0.092231, -0.704093> + 20291: <-0.706323, 0.047060, -0.706323> + 20292: <-0.748599, 0.000000, -0.663024> + 20293: <-0.747715, 0.046999, -0.662354> + 20294: <-0.706323, 0.047060, -0.706323> + 20295: <-0.707107, 0.000000, -0.707107> + 20296: <-0.747715, -0.046999, -0.662354> + 20297: <-0.748599, 0.000000, -0.663024> + 20298: <-0.707107, 0.000000, -0.707107> + 20299: <-0.706323, -0.047060, -0.706323> + 20300: <-0.745184, -0.092137, -0.660463> + 20301: <-0.747715, -0.046999, -0.662354> + 20302: <-0.706323, -0.047060, -0.706323> + 20303: <-0.704093, -0.092231, -0.704093> + 20304: <-0.741243, -0.135260, -0.657468> + 20305: <-0.745184, -0.092137, -0.660463> + 20306: <-0.704093, -0.092231, -0.704093> + 20307: <-0.700600, -0.135353, -0.700600> + 20308: <-0.736025, -0.176644, -0.653502> + 20309: <-0.741243, -0.135260, -0.657468> + 20310: <-0.700600, -0.135353, -0.700600> + 20311: <-0.695976, -0.176733, -0.695976> + 20312: <-0.729636, -0.216660, -0.648606> + 20313: <-0.736025, -0.176644, -0.653502> + 20314: <-0.695976, -0.176733, -0.695976> + 20315: <-0.690307, -0.216684, -0.690307> + 20316: <-0.722093, -0.255632, -0.642833> + 20317: <-0.729636, -0.216660, -0.648606> + 20318: <-0.690307, -0.216684, -0.690307> + 20319: <-0.683620, -0.255594, -0.683620> + 20320: <-0.713396, -0.293904, -0.636150> + 20321: <-0.722093, -0.255632, -0.642833> + 20322: <-0.683620, -0.255594, -0.683620> + 20323: <-0.675899, -0.293804, -0.675899> + 20324: <-0.703467, -0.331652, -0.628603> + 20325: <-0.713396, -0.293904, -0.636150> + 20326: <-0.675899, -0.293804, -0.675899> + 20327: <-0.667130, -0.331474, -0.667130> + 20328: <-0.692544, -0.368246, -0.620305> + 20329: <-0.703467, -0.331652, -0.628603> + 20330: <-0.667130, -0.331474, -0.667130> + 20331: <-0.657511, -0.367912, -0.657511> + 20332: <-0.680859, -0.403223, -0.611427> + 20333: <-0.692544, -0.368246, -0.620305> + 20334: <-0.657511, -0.367912, -0.657511> + 20335: <-0.647247, -0.402668, -0.647247> + 20336: <-0.668312, -0.437036, -0.601963> + 20337: <-0.680859, -0.403223, -0.611427> + 20338: <-0.647247, -0.402668, -0.647247> + 20339: <-0.636296, -0.436181, -0.636296> + 20340: <-0.655217, -0.469385, -0.591920> + 20341: <-0.668312, -0.437036, -0.601963> + 20342: <-0.636296, -0.436181, -0.636296> + 20343: <-0.624909, -0.467950, -0.624909> + 20344: <-0.641397, -0.500519, -0.581456> + 20345: <-0.655217, -0.469385, -0.591920> + 20346: <-0.624909, -0.467950, -0.624909> + 20347: <-0.613379, -0.497527, -0.613379> + 20348: <-0.625584, -0.531523, -0.571076> + 20349: <-0.641397, -0.500519, -0.581456> + 20350: <-0.613379, -0.497527, -0.613379> + 20351: <-0.601199, -0.526457, -0.601168> + 20352: <-0.607783, -0.561516, -0.561516> + 20353: <-0.625584, -0.531523, -0.571076> + 20354: <-0.601199, -0.526457, -0.601168> + 20355: <-0.588539, -0.554296, -0.588539> + 20356: <-0.588539, -0.588539, -0.554296> + 20357: <-0.607783, -0.561516, -0.561516> + 20358: <-0.588539, -0.554296, -0.588539> + 20359: <-0.577360, -0.577330, -0.577360> + 20360: <-0.601188, -0.601188, -0.526447> + 20361: <-0.625584, -0.571076, -0.531523> + 20362: <-0.607783, -0.561516, -0.561516> + 20363: <-0.588539, -0.588539, -0.554296> + 20364: <-0.613379, -0.613379, -0.497527> + 20365: <-0.641397, -0.581456, -0.500519> + 20366: <-0.625584, -0.571076, -0.531523> + 20367: <-0.601188, -0.601188, -0.526447> + 20368: <-0.624909, -0.624909, -0.467950> + 20369: <-0.655217, -0.591920, -0.469385> + 20370: <-0.641397, -0.581456, -0.500519> + 20371: <-0.613379, -0.613379, -0.497527> + 20372: <-0.636296, -0.636296, -0.436181> + 20373: <-0.668312, -0.601963, -0.437036> + 20374: <-0.655217, -0.591920, -0.469385> + 20375: <-0.624909, -0.624909, -0.467950> + 20376: <-0.647247, -0.647247, -0.402668> + 20377: <-0.680859, -0.611427, -0.403223> + 20378: <-0.668312, -0.601963, -0.437036> + 20379: <-0.636296, -0.636296, -0.436181> + 20380: <-0.657511, -0.657511, -0.367912> + 20381: <-0.692544, -0.620305, -0.368246> + 20382: <-0.680859, -0.611427, -0.403223> + 20383: <-0.647247, -0.647247, -0.402668> + 20384: <-0.667130, -0.667130, -0.331474> + 20385: <-0.703467, -0.628603, -0.331652> + 20386: <-0.692544, -0.620305, -0.368246> + 20387: <-0.657511, -0.657511, -0.367912> + 20388: <-0.675899, -0.675899, -0.293804> + 20389: <-0.713396, -0.636150, -0.293904> + 20390: <-0.703467, -0.628603, -0.331652> + 20391: <-0.667130, -0.667130, -0.331474> + 20392: <-0.683620, -0.683620, -0.255594> + 20393: <-0.722093, -0.642833, -0.255632> + 20394: <-0.713396, -0.636150, -0.293904> + 20395: <-0.675899, -0.675899, -0.293804> + 20396: <-0.690307, -0.690307, -0.216684> + 20397: <-0.729636, -0.648606, -0.216660> + 20398: <-0.722093, -0.642833, -0.255632> + 20399: <-0.683620, -0.683620, -0.255594> + 20400: <-0.695976, -0.695976, -0.176733> + 20401: <-0.736025, -0.653502, -0.176644> + 20402: <-0.729636, -0.648606, -0.216660> + 20403: <-0.690307, -0.690307, -0.216684> + 20404: <-0.700600, -0.700600, -0.135353> + 20405: <-0.741243, -0.657468, -0.135260> + 20406: <-0.736025, -0.653502, -0.176644> + 20407: <-0.695976, -0.695976, -0.176733> + 20408: <-0.704093, -0.704093, -0.092231> + 20409: <-0.745184, -0.660463, -0.092137> + 20410: <-0.741243, -0.657468, -0.135260> + 20411: <-0.700600, -0.700600, -0.135353> + 20412: <-0.706323, -0.706323, -0.047060> + 20413: <-0.747715, -0.662354, -0.046999> + 20414: <-0.745184, -0.660463, -0.092137> + 20415: <-0.704093, -0.704093, -0.092231> + 20416: <-0.707107, -0.707107, 0.000000> + 20417: <-0.748599, -0.663024, 0.000000> + 20418: <-0.747715, -0.662354, -0.046999> + 20419: <-0.706323, -0.706323, -0.047060> + 20420: <-0.706323, -0.706323, 0.047060> + 20421: <-0.747715, -0.662354, 0.046999> + 20422: <-0.748599, -0.663024, 0.000000> + 20423: <-0.707107, -0.707107, 0.000000> + 20424: <-0.704093, -0.704093, 0.092231> + 20425: <-0.745184, -0.660463, 0.092137> + 20426: <-0.747715, -0.662354, 0.046999> + 20427: <-0.706323, -0.706323, 0.047060> + 20428: <-0.700600, -0.700600, 0.135353> + 20429: <-0.741243, -0.657468, 0.135260> + 20430: <-0.745184, -0.660463, 0.092137> + 20431: <-0.704093, -0.704093, 0.092231> + 20432: <-0.695976, -0.695976, 0.176733> + 20433: <-0.736025, -0.653502, 0.176644> + 20434: <-0.741243, -0.657468, 0.135260> + 20435: <-0.700600, -0.700600, 0.135353> + 20436: <-0.690307, -0.690307, 0.216684> + 20437: <-0.729622, -0.648624, 0.216656> + 20438: <-0.736025, -0.653502, 0.176644> + 20439: <-0.695976, -0.695976, 0.176733> + 20440: <-0.683620, -0.683620, 0.255594> + 20441: <-0.722093, -0.642833, 0.255632> + 20442: <-0.729622, -0.648624, 0.216656> + 20443: <-0.690307, -0.690307, 0.216684> + 20444: <-0.675899, -0.675899, 0.293804> + 20445: <-0.713396, -0.636150, 0.293904> + 20446: <-0.722093, -0.642833, 0.255632> + 20447: <-0.683620, -0.683620, 0.255594> + 20448: <-0.667130, -0.667130, 0.331474> + 20449: <-0.703467, -0.628603, 0.331652> + 20450: <-0.713396, -0.636150, 0.293904> + 20451: <-0.675899, -0.675899, 0.293804> + 20452: <-0.657511, -0.657511, 0.367912> + 20453: <-0.692544, -0.620305, 0.368246> + 20454: <-0.703467, -0.628603, 0.331652> + 20455: <-0.667130, -0.667130, 0.331474> + 20456: <-0.647247, -0.647247, 0.402668> + 20457: <-0.680859, -0.611427, 0.403223> + 20458: <-0.692544, -0.620305, 0.368246> + 20459: <-0.657511, -0.657511, 0.367912> + 20460: <-0.636296, -0.636296, 0.436181> + 20461: <-0.668312, -0.601963, 0.437036> + 20462: <-0.680859, -0.611427, 0.403223> + 20463: <-0.647247, -0.647247, 0.402668> + 20464: <-0.624909, -0.624909, 0.467950> + 20465: <-0.655217, -0.591920, 0.469385> + 20466: <-0.668312, -0.601963, 0.437036> + 20467: <-0.636296, -0.636296, 0.436181> + 20468: <-0.613379, -0.613379, 0.497527> + 20469: <-0.641397, -0.581456, 0.500519> + 20470: <-0.655217, -0.591920, 0.469385> + 20471: <-0.624909, -0.624909, 0.467950> + 20472: <-0.601199, -0.601168, 0.526457> + 20473: <-0.625584, -0.571076, 0.531523> + 20474: <-0.641397, -0.581456, 0.500519> + 20475: <-0.613379, -0.613379, 0.497527> + 20476: <-0.588539, -0.588539, 0.554296> + 20477: <-0.607783, -0.561516, 0.561516> + 20478: <-0.625584, -0.571076, 0.531523> + 20479: <-0.601199, -0.601168, 0.526457> + 20480: < 0.561516, -0.561516, 0.607783> + 20481: < 0.571076, -0.531523, 0.625584> + 20482: < 0.538962, -0.538962, 0.647334> + 20483: < 0.531523, -0.571076, 0.625584> + 20484: < 0.571076, -0.531523, 0.625584> + 20485: < 0.581456, -0.500519, 0.641396> + 20486: < 0.547882, -0.506040, 0.666144> + 20487: < 0.538962, -0.538962, 0.647334> + 20488: < 0.581456, -0.500519, 0.641396> + 20489: < 0.591920, -0.469385, 0.655217> + 20490: < 0.557037, -0.473139, 0.682532> + 20491: < 0.547882, -0.506040, 0.666144> + 20492: < 0.591920, -0.469385, 0.655217> + 20493: < 0.601963, -0.437036, 0.668312> + 20494: < 0.565794, -0.439475, 0.697667> + 20495: < 0.557037, -0.473139, 0.682532> + 20496: < 0.601963, -0.437036, 0.668312> + 20497: < 0.611427, -0.403223, 0.680859> + 20498: < 0.574008, -0.404839, 0.711772> + 20499: < 0.565794, -0.439475, 0.697667> + 20500: < 0.611427, -0.403223, 0.680859> + 20501: < 0.620305, -0.368246, 0.692544> + 20502: < 0.581661, -0.369188, 0.724825> + 20503: < 0.574008, -0.404839, 0.711772> + 20504: < 0.620305, -0.368246, 0.692544> + 20505: < 0.628603, -0.331652, 0.703467> + 20506: < 0.588738, -0.332197, 0.736907> + 20507: < 0.581661, -0.369188, 0.724825> + 20508: < 0.628603, -0.331652, 0.703467> + 20509: < 0.636150, -0.293904, 0.713396> + 20510: < 0.595158, -0.294207, 0.747816> + 20511: < 0.588738, -0.332197, 0.736907> + 20512: < 0.636150, -0.293904, 0.713396> + 20513: < 0.642833, -0.255632, 0.722093> + 20514: < 0.600829, -0.255750, 0.757361> + 20515: < 0.595158, -0.294207, 0.747816> + 20516: < 0.642833, -0.255632, 0.722093> + 20517: < 0.648606, -0.216660, 0.729636> + 20518: < 0.605748, -0.216596, 0.765608> + 20519: < 0.600829, -0.255750, 0.757361> + 20520: < 0.648606, -0.216660, 0.729636> + 20521: < 0.653502, -0.176644, 0.736025> + 20522: < 0.609892, -0.176461, 0.772589> + 20523: < 0.605748, -0.216596, 0.765608> + 20524: < 0.653502, -0.176644, 0.736025> + 20525: < 0.657468, -0.135260, 0.741243> + 20526: < 0.613196, -0.135018, 0.778306> + 20527: < 0.609892, -0.176461, 0.772589> + 20528: < 0.657468, -0.135260, 0.741243> + 20529: < 0.660463, -0.092137, 0.745184> + 20530: < 0.615697, -0.091894, 0.782607> + 20531: < 0.613196, -0.135018, 0.778306> + 20532: < 0.660463, -0.092137, 0.745184> + 20533: < 0.662354, -0.046999, 0.747715> + 20534: < 0.617246, -0.046847, 0.785375> + 20535: < 0.615697, -0.091894, 0.782607> + 20536: < 0.662354, -0.046999, 0.747715> + 20537: < 0.663024, 0.000000, 0.748599> + 20538: < 0.617789, 0.000000, 0.786344> + 20539: < 0.617246, -0.046847, 0.785375> + 20540: < 0.663024, 0.000000, 0.748599> + 20541: < 0.662354, 0.046999, 0.747715> + 20542: < 0.617246, 0.046847, 0.785375> + 20543: < 0.617789, 0.000000, 0.786344> + 20544: < 0.662354, 0.046999, 0.747715> + 20545: < 0.660463, 0.092137, 0.745184> + 20546: < 0.615697, 0.091894, 0.782607> + 20547: < 0.617246, 0.046847, 0.785375> + 20548: < 0.660463, 0.092137, 0.745184> + 20549: < 0.657468, 0.135260, 0.741243> + 20550: < 0.613196, 0.135018, 0.778306> + 20551: < 0.615697, 0.091894, 0.782607> + 20552: < 0.657468, 0.135260, 0.741243> + 20553: < 0.653502, 0.176644, 0.736025> + 20554: < 0.609892, 0.176461, 0.772589> + 20555: < 0.613196, 0.135018, 0.778306> + 20556: < 0.653502, 0.176644, 0.736025> + 20557: < 0.648606, 0.216660, 0.729636> + 20558: < 0.605748, 0.216596, 0.765608> + 20559: < 0.609892, 0.176461, 0.772589> + 20560: < 0.648606, 0.216660, 0.729636> + 20561: < 0.642833, 0.255632, 0.722093> + 20562: < 0.600829, 0.255750, 0.757361> + 20563: < 0.605748, 0.216596, 0.765608> + 20564: < 0.642833, 0.255632, 0.722093> + 20565: < 0.636150, 0.293904, 0.713396> + 20566: < 0.595158, 0.294207, 0.747816> + 20567: < 0.600829, 0.255750, 0.757361> + 20568: < 0.636150, 0.293904, 0.713396> + 20569: < 0.628603, 0.331652, 0.703467> + 20570: < 0.588744, 0.332170, 0.736915> + 20571: < 0.595158, 0.294207, 0.747816> + 20572: < 0.628603, 0.331652, 0.703467> + 20573: < 0.620305, 0.368246, 0.692544> + 20574: < 0.581661, 0.369188, 0.724825> + 20575: < 0.588744, 0.332170, 0.736915> + 20576: < 0.620305, 0.368246, 0.692544> + 20577: < 0.611427, 0.403223, 0.680859> + 20578: < 0.574008, 0.404839, 0.711772> + 20579: < 0.581661, 0.369188, 0.724825> + 20580: < 0.611427, 0.403223, 0.680859> + 20581: < 0.601963, 0.437036, 0.668312> + 20582: < 0.565794, 0.439475, 0.697667> + 20583: < 0.574008, 0.404839, 0.711772> + 20584: < 0.601963, 0.437036, 0.668312> + 20585: < 0.591920, 0.469385, 0.655217> + 20586: < 0.557037, 0.473139, 0.682532> + 20587: < 0.565794, 0.439475, 0.697667> + 20588: < 0.591920, 0.469385, 0.655217> + 20589: < 0.581456, 0.500519, 0.641396> + 20590: < 0.547882, 0.506040, 0.666144> + 20591: < 0.557037, 0.473139, 0.682532> + 20592: < 0.581456, 0.500519, 0.641396> + 20593: < 0.571076, 0.531523, 0.625584> + 20594: < 0.538962, 0.538962, 0.647334> + 20595: < 0.547882, 0.506040, 0.666144> + 20596: < 0.571076, 0.531523, 0.625584> + 20597: < 0.561516, 0.561516, 0.607783> + 20598: < 0.531523, 0.571076, 0.625584> + 20599: < 0.538962, 0.538962, 0.647334> + 20600: < 0.531523, -0.571076, 0.625584> + 20601: < 0.538962, -0.538962, 0.647334> + 20602: < 0.506040, -0.547882, 0.666144> + 20603: < 0.500519, -0.581456, 0.641396> + 20604: < 0.538962, -0.538962, 0.647334> + 20605: < 0.547882, -0.506040, 0.666144> + 20606: < 0.513252, -0.513252, 0.687856> + 20607: < 0.506040, -0.547882, 0.666144> + 20608: < 0.547882, -0.506040, 0.666144> + 20609: < 0.557037, -0.473139, 0.682532> + 20610: < 0.520969, -0.478425, 0.706895> + 20611: < 0.513252, -0.513252, 0.687856> + 20612: < 0.557037, -0.473139, 0.682532> + 20613: < 0.565794, -0.439475, 0.697667> + 20614: < 0.528478, -0.443145, 0.724109> + 20615: < 0.520969, -0.478425, 0.706895> + 20616: < 0.565794, -0.439475, 0.697667> + 20617: < 0.574008, -0.404839, 0.711772> + 20618: < 0.535518, -0.407307, 0.739812> + 20619: < 0.528478, -0.443145, 0.724109> + 20620: < 0.574008, -0.404839, 0.711772> + 20621: < 0.581661, -0.369188, 0.724825> + 20622: < 0.542028, -0.370721, 0.754169> + 20623: < 0.535518, -0.407307, 0.739812> + 20624: < 0.581661, -0.369188, 0.724825> + 20625: < 0.588738, -0.332197, 0.736907> + 20626: < 0.548009, -0.333090, 0.767292> + 20627: < 0.542028, -0.370721, 0.754169> + 20628: < 0.588738, -0.332197, 0.736907> + 20629: < 0.595158, -0.294207, 0.747816> + 20630: < 0.553415, -0.294729, 0.779017> + 20631: < 0.548009, -0.333090, 0.767292> + 20632: < 0.595158, -0.294207, 0.747816> + 20633: < 0.600829, -0.255750, 0.757361> + 20634: < 0.558172, -0.255937, 0.789266> + 20635: < 0.553415, -0.294729, 0.779017> + 20636: < 0.600829, -0.255750, 0.757361> + 20637: < 0.605748, -0.216596, 0.765608> + 20638: < 0.562257, -0.216534, 0.798110> + 20639: < 0.558172, -0.255937, 0.789266> + 20640: < 0.605748, -0.216596, 0.765608> + 20641: < 0.609892, -0.176461, 0.772589> + 20642: < 0.565675, -0.176188, 0.805587> + 20643: < 0.562257, -0.216534, 0.798110> + 20644: < 0.609892, -0.176461, 0.772589> + 20645: < 0.613196, -0.135018, 0.778306> + 20646: < 0.568382, -0.134618, 0.811677> + 20647: < 0.565675, -0.176188, 0.805587> + 20648: < 0.613196, -0.135018, 0.778306> + 20649: < 0.615697, -0.091894, 0.782607> + 20650: < 0.570377, -0.091497, 0.816271> + 20651: < 0.568382, -0.134618, 0.811677> + 20652: < 0.615697, -0.091894, 0.782607> + 20653: < 0.617246, -0.046847, 0.785375> + 20654: < 0.571602, -0.046573, 0.819208> + 20655: < 0.570377, -0.091497, 0.816271> + 20656: < 0.617246, -0.046847, 0.785375> + 20657: < 0.617789, 0.000000, 0.786344> + 20658: < 0.572024, 0.000000, 0.820237> + 20659: < 0.571602, -0.046573, 0.819208> + 20660: < 0.617789, 0.000000, 0.786344> + 20661: < 0.617246, 0.046847, 0.785375> + 20662: < 0.571602, 0.046573, 0.819208> + 20663: < 0.572024, 0.000000, 0.820237> + 20664: < 0.617246, 0.046847, 0.785375> + 20665: < 0.615697, 0.091894, 0.782607> + 20666: < 0.570377, 0.091497, 0.816271> + 20667: < 0.571602, 0.046573, 0.819208> + 20668: < 0.615697, 0.091894, 0.782607> + 20669: < 0.613196, 0.135018, 0.778306> + 20670: < 0.568382, 0.134618, 0.811677> + 20671: < 0.570377, 0.091497, 0.816271> + 20672: < 0.613196, 0.135018, 0.778306> + 20673: < 0.609892, 0.176461, 0.772589> + 20674: < 0.565675, 0.176188, 0.805587> + 20675: < 0.568382, 0.134618, 0.811677> + 20676: < 0.609892, 0.176461, 0.772589> + 20677: < 0.605748, 0.216596, 0.765608> + 20678: < 0.562257, 0.216534, 0.798110> + 20679: < 0.565675, 0.176188, 0.805587> + 20680: < 0.605748, 0.216596, 0.765608> + 20681: < 0.600829, 0.255750, 0.757361> + 20682: < 0.558172, 0.255937, 0.789266> + 20683: < 0.562257, 0.216534, 0.798110> + 20684: < 0.600829, 0.255750, 0.757361> + 20685: < 0.595158, 0.294207, 0.747816> + 20686: < 0.553415, 0.294729, 0.779017> + 20687: < 0.558172, 0.255937, 0.789266> + 20688: < 0.595158, 0.294207, 0.747816> + 20689: < 0.588744, 0.332170, 0.736915> + 20690: < 0.548009, 0.333090, 0.767292> + 20691: < 0.553415, 0.294729, 0.779017> + 20692: < 0.588744, 0.332170, 0.736915> + 20693: < 0.581661, 0.369188, 0.724825> + 20694: < 0.542028, 0.370721, 0.754169> + 20695: < 0.548009, 0.333090, 0.767292> + 20696: < 0.581661, 0.369188, 0.724825> + 20697: < 0.574008, 0.404839, 0.711772> + 20698: < 0.535518, 0.407307, 0.739812> + 20699: < 0.542028, 0.370721, 0.754169> + 20700: < 0.574008, 0.404839, 0.711772> + 20701: < 0.565794, 0.439475, 0.697667> + 20702: < 0.528478, 0.443145, 0.724109> + 20703: < 0.535518, 0.407307, 0.739812> + 20704: < 0.565794, 0.439475, 0.697667> + 20705: < 0.557037, 0.473139, 0.682532> + 20706: < 0.520969, 0.478425, 0.706895> + 20707: < 0.528478, 0.443145, 0.724109> + 20708: < 0.557037, 0.473139, 0.682532> + 20709: < 0.547882, 0.506040, 0.666144> + 20710: < 0.513252, 0.513252, 0.687856> + 20711: < 0.520969, 0.478425, 0.706895> + 20712: < 0.547882, 0.506040, 0.666144> + 20713: < 0.538962, 0.538962, 0.647334> + 20714: < 0.506040, 0.547882, 0.666144> + 20715: < 0.513252, 0.513252, 0.687856> + 20716: < 0.538962, 0.538962, 0.647334> + 20717: < 0.531523, 0.571076, 0.625584> + 20718: < 0.500519, 0.581456, 0.641396> + 20719: < 0.506040, 0.547882, 0.666144> + 20720: < 0.500519, -0.581456, 0.641396> + 20721: < 0.506040, -0.547882, 0.666144> + 20722: < 0.473139, -0.557037, 0.682532> + 20723: < 0.469385, -0.591920, 0.655217> + 20724: < 0.506040, -0.547882, 0.666144> + 20725: < 0.513252, -0.513252, 0.687856> + 20726: < 0.478425, -0.520969, 0.706895> + 20727: < 0.473139, -0.557037, 0.682532> + 20728: < 0.513252, -0.513252, 0.687856> + 20729: < 0.520969, -0.478425, 0.706895> + 20730: < 0.484430, -0.484430, 0.728461> + 20731: < 0.478425, -0.520969, 0.706895> + 20732: < 0.520969, -0.478425, 0.706895> + 20733: < 0.528478, -0.443145, 0.724109> + 20734: < 0.490534, -0.447593, 0.747688> + 20735: < 0.484430, -0.484430, 0.728461> + 20736: < 0.528478, -0.443145, 0.724109> + 20737: < 0.535518, -0.407307, 0.739812> + 20738: < 0.496395, -0.410392, 0.764964> + 20739: < 0.490534, -0.447593, 0.747688> + 20740: < 0.535518, -0.407307, 0.739812> + 20741: < 0.542028, -0.370721, 0.754169> + 20742: < 0.501802, -0.372705, 0.780568> + 20743: < 0.496395, -0.410392, 0.764964> + 20744: < 0.542028, -0.370721, 0.754169> + 20745: < 0.548009, -0.333090, 0.767292> + 20746: < 0.506740, -0.334337, 0.794627> + 20747: < 0.501802, -0.372705, 0.780568> + 20748: < 0.548009, -0.333090, 0.767292> + 20749: < 0.553415, -0.294729, 0.779017> + 20750: < 0.511198, -0.295457, 0.807082> + 20751: < 0.506740, -0.334337, 0.794627> + 20752: < 0.553415, -0.294729, 0.779017> + 20753: < 0.558172, -0.255937, 0.789266> + 20754: < 0.515110, -0.256243, 0.817925> + 20755: < 0.511198, -0.295457, 0.807082> + 20756: < 0.558172, -0.255937, 0.789266> + 20757: < 0.562257, -0.216534, 0.798110> + 20758: < 0.518435, -0.216475, 0.827263> + 20759: < 0.515110, -0.256243, 0.817925> + 20760: < 0.562257, -0.216534, 0.798110> + 20761: < 0.565675, -0.176188, 0.805587> + 20762: < 0.521180, -0.175853, 0.835133> + 20763: < 0.518435, -0.216475, 0.827263> + 20764: < 0.565675, -0.176188, 0.805587> + 20765: < 0.568382, -0.134618, 0.811677> + 20766: < 0.523307, -0.134100, 0.841527> + 20767: < 0.521180, -0.175853, 0.835133> + 20768: < 0.568382, -0.134618, 0.811677> + 20769: < 0.570377, -0.091497, 0.816271> + 20770: < 0.524836, -0.091008, 0.846324> + 20771: < 0.523307, -0.134100, 0.841527> + 20772: < 0.570377, -0.091497, 0.816271> + 20773: < 0.571602, -0.046573, 0.819208> + 20774: < 0.525753, -0.046267, 0.849378> + 20775: < 0.524836, -0.091008, 0.846324> + 20776: < 0.571602, -0.046573, 0.819208> + 20777: < 0.572024, 0.000000, 0.820237> + 20778: < 0.526081, 0.000000, 0.850434> + 20779: < 0.525753, -0.046267, 0.849378> + 20780: < 0.572024, 0.000000, 0.820237> + 20781: < 0.571602, 0.046573, 0.819208> + 20782: < 0.525753, 0.046267, 0.849378> + 20783: < 0.526081, 0.000000, 0.850434> + 20784: < 0.571602, 0.046573, 0.819208> + 20785: < 0.570377, 0.091497, 0.816271> + 20786: < 0.524836, 0.091008, 0.846324> + 20787: < 0.525753, 0.046267, 0.849378> + 20788: < 0.570377, 0.091497, 0.816271> + 20789: < 0.568382, 0.134618, 0.811677> + 20790: < 0.523307, 0.134100, 0.841527> + 20791: < 0.524836, 0.091008, 0.846324> + 20792: < 0.568382, 0.134618, 0.811677> + 20793: < 0.565675, 0.176188, 0.805587> + 20794: < 0.521180, 0.175853, 0.835133> + 20795: < 0.523307, 0.134100, 0.841527> + 20796: < 0.565675, 0.176188, 0.805587> + 20797: < 0.562257, 0.216534, 0.798110> + 20798: < 0.518435, 0.216475, 0.827263> + 20799: < 0.521180, 0.175853, 0.835133> + 20800: < 0.562257, 0.216534, 0.798110> + 20801: < 0.558172, 0.255937, 0.789266> + 20802: < 0.515110, 0.256243, 0.817925> + 20803: < 0.518435, 0.216475, 0.827263> + 20804: < 0.558172, 0.255937, 0.789266> + 20805: < 0.553415, 0.294729, 0.779017> + 20806: < 0.511198, 0.295457, 0.807082> + 20807: < 0.515110, 0.256243, 0.817925> + 20808: < 0.553415, 0.294729, 0.779017> + 20809: < 0.548009, 0.333090, 0.767292> + 20810: < 0.506740, 0.334337, 0.794627> + 20811: < 0.511198, 0.295457, 0.807082> + 20812: < 0.548009, 0.333090, 0.767292> + 20813: < 0.542028, 0.370721, 0.754169> + 20814: < 0.501802, 0.372705, 0.780568> + 20815: < 0.506740, 0.334337, 0.794627> + 20816: < 0.542028, 0.370721, 0.754169> + 20817: < 0.535518, 0.407307, 0.739812> + 20818: < 0.496395, 0.410392, 0.764964> + 20819: < 0.501802, 0.372705, 0.780568> + 20820: < 0.535518, 0.407307, 0.739812> + 20821: < 0.528478, 0.443145, 0.724109> + 20822: < 0.490534, 0.447593, 0.747688> + 20823: < 0.496395, 0.410392, 0.764964> + 20824: < 0.528478, 0.443145, 0.724109> + 20825: < 0.520969, 0.478425, 0.706895> + 20826: < 0.484430, 0.484430, 0.728461> + 20827: < 0.490534, 0.447593, 0.747688> + 20828: < 0.520969, 0.478425, 0.706895> + 20829: < 0.513252, 0.513252, 0.687856> + 20830: < 0.478425, 0.520969, 0.706895> + 20831: < 0.484430, 0.484430, 0.728461> + 20832: < 0.513252, 0.513252, 0.687856> + 20833: < 0.506040, 0.547882, 0.666144> + 20834: < 0.473139, 0.557037, 0.682532> + 20835: < 0.478425, 0.520969, 0.706895> + 20836: < 0.506040, 0.547882, 0.666144> + 20837: < 0.500519, 0.581456, 0.641396> + 20838: < 0.469385, 0.591920, 0.655217> + 20839: < 0.473139, 0.557037, 0.682532> + 20840: < 0.469385, -0.591920, 0.655217> + 20841: < 0.473139, -0.557037, 0.682532> + 20842: < 0.439475, -0.565794, 0.697667> + 20843: < 0.437036, -0.601963, 0.668312> + 20844: < 0.473139, -0.557037, 0.682532> + 20845: < 0.478425, -0.520969, 0.706895> + 20846: < 0.443145, -0.528478, 0.724109> + 20847: < 0.439475, -0.565794, 0.697667> + 20848: < 0.478425, -0.520969, 0.706895> + 20849: < 0.484430, -0.484430, 0.728461> + 20850: < 0.447593, -0.490534, 0.747688> + 20851: < 0.443145, -0.528478, 0.724109> + 20852: < 0.484430, -0.484430, 0.728461> + 20853: < 0.490534, -0.447593, 0.747688> + 20854: < 0.452290, -0.452290, 0.768679> + 20855: < 0.447593, -0.490534, 0.747688> + 20856: < 0.490534, -0.447593, 0.747688> + 20857: < 0.496395, -0.410392, 0.764964> + 20858: < 0.456900, -0.413777, 0.787421> + 20859: < 0.452290, -0.452290, 0.768679> + 20860: < 0.496395, -0.410392, 0.764964> + 20861: < 0.501802, -0.372705, 0.780568> + 20862: < 0.461239, -0.374961, 0.804154> + 20863: < 0.456900, -0.413777, 0.787421> + 20864: < 0.501802, -0.372705, 0.780568> + 20865: < 0.506740, -0.334337, 0.794627> + 20866: < 0.465202, -0.335801, 0.819039> + 20867: < 0.461239, -0.374961, 0.804154> + 20868: < 0.506740, -0.334337, 0.794627> + 20869: < 0.511198, -0.295457, 0.807082> + 20870: < 0.468770, -0.296339, 0.832128> + 20871: < 0.465202, -0.335801, 0.819039> + 20872: < 0.511198, -0.295457, 0.807082> + 20873: < 0.515110, -0.256243, 0.817925> + 20874: < 0.471888, -0.256606, 0.843490> + 20875: < 0.468770, -0.296339, 0.832128> + 20876: < 0.515110, -0.256243, 0.817925> + 20877: < 0.518435, -0.216475, 0.827263> + 20878: < 0.474515, -0.216413, 0.853230> + 20879: < 0.471888, -0.256606, 0.843490> + 20880: < 0.518435, -0.216475, 0.827263> + 20881: < 0.521180, -0.175853, 0.835133> + 20882: < 0.476614, -0.175453, 0.861426> + 20883: < 0.474515, -0.216413, 0.853230> + 20884: < 0.521180, -0.175853, 0.835133> + 20885: < 0.523307, -0.134100, 0.841527> + 20886: < 0.478208, -0.133553, 0.868033> + 20887: < 0.476614, -0.175453, 0.861426> + 20888: < 0.523307, -0.134100, 0.841527> + 20889: < 0.524836, -0.091008, 0.846324> + 20890: < 0.479307, -0.090429, 0.872976> + 20891: < 0.478208, -0.133553, 0.868033> + 20892: < 0.524836, -0.091008, 0.846324> + 20893: < 0.525753, -0.046267, 0.849378> + 20894: < 0.479951, -0.045871, 0.876095> + 20895: < 0.479307, -0.090429, 0.872976> + 20896: < 0.525753, -0.046267, 0.849378> + 20897: < 0.526081, 0.000000, 0.850434> + 20898: < 0.480182, 0.000000, 0.877169> + 20899: < 0.479951, -0.045871, 0.876095> + 20900: < 0.526081, 0.000000, 0.850434> + 20901: < 0.525753, 0.046267, 0.849378> + 20902: < 0.479951, 0.045871, 0.876095> + 20903: < 0.480182, 0.000000, 0.877169> + 20904: < 0.525753, 0.046267, 0.849378> + 20905: < 0.524836, 0.091008, 0.846324> + 20906: < 0.479307, 0.090429, 0.872976> + 20907: < 0.479951, 0.045871, 0.876095> + 20908: < 0.524836, 0.091008, 0.846324> + 20909: < 0.523307, 0.134100, 0.841527> + 20910: < 0.478208, 0.133553, 0.868033> + 20911: < 0.479307, 0.090429, 0.872976> + 20912: < 0.523307, 0.134100, 0.841527> + 20913: < 0.521180, 0.175853, 0.835133> + 20914: < 0.476614, 0.175453, 0.861426> + 20915: < 0.478208, 0.133553, 0.868033> + 20916: < 0.521180, 0.175853, 0.835133> + 20917: < 0.518435, 0.216475, 0.827263> + 20918: < 0.474515, 0.216413, 0.853230> + 20919: < 0.476614, 0.175453, 0.861426> + 20920: < 0.518435, 0.216475, 0.827263> + 20921: < 0.515110, 0.256243, 0.817925> + 20922: < 0.471888, 0.256606, 0.843490> + 20923: < 0.474515, 0.216413, 0.853230> + 20924: < 0.515110, 0.256243, 0.817925> + 20925: < 0.511198, 0.295457, 0.807082> + 20926: < 0.468770, 0.296339, 0.832128> + 20927: < 0.471888, 0.256606, 0.843490> + 20928: < 0.511198, 0.295457, 0.807082> + 20929: < 0.506740, 0.334337, 0.794627> + 20930: < 0.465202, 0.335801, 0.819039> + 20931: < 0.468770, 0.296339, 0.832128> + 20932: < 0.506740, 0.334337, 0.794627> + 20933: < 0.501802, 0.372705, 0.780568> + 20934: < 0.461239, 0.374961, 0.804154> + 20935: < 0.465202, 0.335801, 0.819039> + 20936: < 0.501802, 0.372705, 0.780568> + 20937: < 0.496395, 0.410392, 0.764964> + 20938: < 0.456900, 0.413777, 0.787421> + 20939: < 0.461239, 0.374961, 0.804154> + 20940: < 0.496395, 0.410392, 0.764964> + 20941: < 0.490534, 0.447593, 0.747688> + 20942: < 0.452290, 0.452290, 0.768679> + 20943: < 0.456900, 0.413777, 0.787421> + 20944: < 0.490534, 0.447593, 0.747688> + 20945: < 0.484430, 0.484430, 0.728461> + 20946: < 0.447593, 0.490534, 0.747688> + 20947: < 0.452290, 0.452290, 0.768679> + 20948: < 0.484430, 0.484430, 0.728461> + 20949: < 0.478425, 0.520969, 0.706895> + 20950: < 0.443145, 0.528478, 0.724109> + 20951: < 0.447593, 0.490534, 0.747688> + 20952: < 0.478425, 0.520969, 0.706895> + 20953: < 0.473139, 0.557037, 0.682532> + 20954: < 0.439475, 0.565794, 0.697667> + 20955: < 0.443145, 0.528478, 0.724109> + 20956: < 0.473139, 0.557037, 0.682532> + 20957: < 0.469385, 0.591920, 0.655217> + 20958: < 0.437036, 0.601963, 0.668312> + 20959: < 0.439475, 0.565794, 0.697667> + 20960: < 0.437036, -0.601963, 0.668312> + 20961: < 0.439475, -0.565794, 0.697667> + 20962: < 0.404839, -0.574008, 0.711772> + 20963: < 0.403223, -0.611427, 0.680859> + 20964: < 0.439475, -0.565794, 0.697667> + 20965: < 0.443145, -0.528478, 0.724109> + 20966: < 0.407307, -0.535518, 0.739812> + 20967: < 0.404839, -0.574008, 0.711772> + 20968: < 0.443145, -0.528478, 0.724109> + 20969: < 0.447593, -0.490534, 0.747688> + 20970: < 0.410392, -0.496395, 0.764964> + 20971: < 0.407307, -0.535518, 0.739812> + 20972: < 0.447593, -0.490534, 0.747688> + 20973: < 0.452290, -0.452290, 0.768679> + 20974: < 0.413777, -0.456900, 0.787421> + 20975: < 0.410392, -0.496395, 0.764964> + 20976: < 0.452290, -0.452290, 0.768679> + 20977: < 0.456900, -0.413777, 0.787421> + 20978: < 0.417202, -0.417202, 0.807394> + 20979: < 0.413777, -0.456900, 0.787421> + 20980: < 0.456900, -0.413777, 0.787421> + 20981: < 0.461239, -0.374961, 0.804154> + 20982: < 0.420500, -0.377345, 0.825100> + 20983: < 0.417202, -0.417202, 0.807394> + 20984: < 0.461239, -0.374961, 0.804154> + 20985: < 0.465202, -0.335801, 0.819039> + 20986: < 0.423577, -0.337391, 0.840684> + 20987: < 0.420500, -0.377345, 0.825100> + 20988: < 0.465202, -0.335801, 0.819039> + 20989: < 0.468770, -0.296339, 0.832128> + 20990: < 0.426323, -0.297287, 0.854324> + 20991: < 0.423577, -0.337391, 0.840684> + 20992: < 0.468770, -0.296339, 0.832128> + 20993: < 0.471888, -0.256606, 0.843490> + 20994: < 0.428698, -0.256999, 0.866124> + 20995: < 0.426323, -0.297287, 0.854324> + 20996: < 0.471888, -0.256606, 0.843490> + 20997: < 0.474515, -0.216413, 0.853230> + 20998: < 0.430657, -0.216320, 0.876208> + 20999: < 0.428698, -0.256999, 0.866124> + 21000: < 0.474515, -0.216413, 0.853230> + 21001: < 0.476614, -0.175453, 0.861426> + 21002: < 0.432149, -0.175026, 0.884654> + 21003: < 0.430657, -0.216320, 0.876208> + 21004: < 0.476614, -0.175453, 0.861426> + 21005: < 0.478208, -0.133553, 0.868033> + 21006: < 0.433281, -0.132911, 0.891405> + 21007: < 0.432149, -0.175026, 0.884654> + 21008: < 0.478208, -0.133553, 0.868033> + 21009: < 0.479307, -0.090429, 0.872976> + 21010: < 0.433981, -0.089787, 0.896437> + 21011: < 0.433281, -0.132911, 0.891405> + 21012: < 0.479307, -0.090429, 0.872976> + 21013: < 0.479951, -0.045871, 0.876095> + 21014: < 0.434379, -0.045443, 0.899583> + 21015: < 0.433981, -0.089787, 0.896437> + 21016: < 0.479951, -0.045871, 0.876095> + 21017: < 0.480182, 0.000000, 0.877169> + 21018: < 0.434509, 0.000000, 0.900667> + 21019: < 0.434379, -0.045443, 0.899583> + 21020: < 0.480182, 0.000000, 0.877169> + 21021: < 0.479951, 0.045871, 0.876095> + 21022: < 0.434379, 0.045443, 0.899583> + 21023: < 0.434509, 0.000000, 0.900667> + 21024: < 0.479951, 0.045871, 0.876095> + 21025: < 0.479307, 0.090429, 0.872976> + 21026: < 0.433981, 0.089787, 0.896437> + 21027: < 0.434379, 0.045443, 0.899583> + 21028: < 0.479307, 0.090429, 0.872976> + 21029: < 0.478208, 0.133553, 0.868033> + 21030: < 0.433281, 0.132911, 0.891405> + 21031: < 0.433981, 0.089787, 0.896437> + 21032: < 0.478208, 0.133553, 0.868033> + 21033: < 0.476614, 0.175453, 0.861426> + 21034: < 0.432149, 0.175026, 0.884654> + 21035: < 0.433281, 0.132911, 0.891405> + 21036: < 0.476614, 0.175453, 0.861426> + 21037: < 0.474515, 0.216413, 0.853230> + 21038: < 0.430657, 0.216320, 0.876208> + 21039: < 0.432149, 0.175026, 0.884654> + 21040: < 0.474515, 0.216413, 0.853230> + 21041: < 0.471888, 0.256606, 0.843490> + 21042: < 0.428698, 0.256999, 0.866124> + 21043: < 0.430657, 0.216320, 0.876208> + 21044: < 0.471888, 0.256606, 0.843490> + 21045: < 0.468770, 0.296339, 0.832128> + 21046: < 0.426323, 0.297287, 0.854324> + 21047: < 0.428698, 0.256999, 0.866124> + 21048: < 0.468770, 0.296339, 0.832128> + 21049: < 0.465202, 0.335801, 0.819039> + 21050: < 0.423577, 0.337391, 0.840684> + 21051: < 0.426323, 0.297287, 0.854324> + 21052: < 0.465202, 0.335801, 0.819039> + 21053: < 0.461239, 0.374961, 0.804154> + 21054: < 0.420500, 0.377345, 0.825100> + 21055: < 0.423577, 0.337391, 0.840684> + 21056: < 0.461239, 0.374961, 0.804154> + 21057: < 0.456900, 0.413777, 0.787421> + 21058: < 0.417202, 0.417202, 0.807394> + 21059: < 0.420500, 0.377345, 0.825100> + 21060: < 0.456900, 0.413777, 0.787421> + 21061: < 0.452290, 0.452290, 0.768679> + 21062: < 0.413777, 0.456900, 0.787421> + 21063: < 0.417202, 0.417202, 0.807394> + 21064: < 0.452290, 0.452290, 0.768679> + 21065: < 0.447593, 0.490534, 0.747688> + 21066: < 0.410392, 0.496395, 0.764964> + 21067: < 0.413777, 0.456900, 0.787421> + 21068: < 0.447593, 0.490534, 0.747688> + 21069: < 0.443145, 0.528478, 0.724109> + 21070: < 0.407307, 0.535518, 0.739812> + 21071: < 0.410392, 0.496395, 0.764964> + 21072: < 0.443145, 0.528478, 0.724109> + 21073: < 0.439475, 0.565794, 0.697667> + 21074: < 0.404839, 0.574008, 0.711772> + 21075: < 0.407307, 0.535518, 0.739812> + 21076: < 0.439475, 0.565794, 0.697667> + 21077: < 0.437036, 0.601963, 0.668312> + 21078: < 0.403223, 0.611427, 0.680859> + 21079: < 0.404839, 0.574008, 0.711772> + 21080: < 0.403223, -0.611427, 0.680859> + 21081: < 0.404839, -0.574008, 0.711772> + 21082: < 0.369188, -0.581661, 0.724825> + 21083: < 0.368246, -0.620305, 0.692544> + 21084: < 0.404839, -0.574008, 0.711772> + 21085: < 0.407307, -0.535518, 0.739812> + 21086: < 0.370721, -0.542028, 0.754169> + 21087: < 0.369188, -0.581661, 0.724825> + 21088: < 0.407307, -0.535518, 0.739812> + 21089: < 0.410392, -0.496395, 0.764964> + 21090: < 0.372705, -0.501802, 0.780568> + 21091: < 0.370721, -0.542028, 0.754169> + 21092: < 0.410392, -0.496395, 0.764964> + 21093: < 0.413777, -0.456900, 0.787421> + 21094: < 0.374961, -0.461239, 0.804154> + 21095: < 0.372705, -0.501802, 0.780568> + 21096: < 0.413777, -0.456900, 0.787421> + 21097: < 0.417202, -0.417202, 0.807394> + 21098: < 0.377345, -0.420500, 0.825100> + 21099: < 0.374961, -0.461239, 0.804154> + 21100: < 0.417202, -0.417202, 0.807394> + 21101: < 0.420500, -0.377345, 0.825100> + 21102: < 0.379751, -0.379751, 0.843551> + 21103: < 0.377345, -0.420500, 0.825100> + 21104: < 0.420500, -0.377345, 0.825100> + 21105: < 0.423577, -0.337391, 0.840684> + 21106: < 0.381976, -0.339005, 0.859750> + 21107: < 0.379751, -0.379751, 0.843551> + 21108: < 0.423577, -0.337391, 0.840684> + 21109: < 0.426323, -0.297287, 0.854324> + 21110: < 0.383986, -0.298259, 0.873840> + 21111: < 0.381976, -0.339005, 0.859750> + 21112: < 0.426323, -0.297287, 0.854324> + 21113: < 0.428698, -0.256999, 0.866124> + 21114: < 0.385664, -0.257364, 0.886018> + 21115: < 0.383986, -0.298259, 0.873840> + 21116: < 0.428698, -0.256999, 0.866124> + 21117: < 0.430657, -0.216320, 0.876208> + 21118: < 0.386985, -0.216199, 0.896382> + 21119: < 0.385664, -0.257364, 0.886018> + 21120: < 0.430657, -0.216320, 0.876208> + 21121: < 0.432149, -0.175026, 0.884654> + 21122: < 0.387965, -0.174541, 0.904997> + 21123: < 0.386985, -0.216199, 0.896382> + 21124: < 0.432149, -0.175026, 0.884654> + 21125: < 0.433281, -0.132911, 0.891405> + 21126: < 0.388632, -0.132240, 0.911854> + 21127: < 0.387965, -0.174541, 0.904997> + 21128: < 0.433281, -0.132911, 0.891405> + 21129: < 0.433981, -0.089787, 0.896437> + 21130: < 0.388998, -0.089116, 0.916918> + 21131: < 0.388632, -0.132240, 0.911854> + 21132: < 0.433981, -0.089787, 0.896437> + 21133: < 0.434379, -0.045443, 0.899583> + 21134: < 0.389180, -0.045016, 0.920061> + 21135: < 0.388998, -0.089116, 0.916918> + 21136: < 0.434379, -0.045443, 0.899583> + 21137: < 0.434509, 0.000000, 0.900667> + 21138: < 0.389244, 0.000000, 0.921135> + 21139: < 0.389180, -0.045016, 0.920061> + 21140: < 0.434509, 0.000000, 0.900667> + 21141: < 0.434379, 0.045443, 0.899583> + 21142: < 0.389180, 0.045016, 0.920061> + 21143: < 0.389244, 0.000000, 0.921135> + 21144: < 0.434379, 0.045443, 0.899583> + 21145: < 0.433981, 0.089787, 0.896437> + 21146: < 0.388998, 0.089116, 0.916918> + 21147: < 0.389180, 0.045016, 0.920061> + 21148: < 0.433981, 0.089787, 0.896437> + 21149: < 0.433281, 0.132911, 0.891405> + 21150: < 0.388632, 0.132240, 0.911854> + 21151: < 0.388998, 0.089116, 0.916918> + 21152: < 0.433281, 0.132911, 0.891405> + 21153: < 0.432149, 0.175026, 0.884654> + 21154: < 0.387965, 0.174541, 0.904997> + 21155: < 0.388632, 0.132240, 0.911854> + 21156: < 0.432149, 0.175026, 0.884654> + 21157: < 0.430657, 0.216320, 0.876208> + 21158: < 0.386985, 0.216199, 0.896382> + 21159: < 0.387965, 0.174541, 0.904997> + 21160: < 0.430657, 0.216320, 0.876208> + 21161: < 0.428698, 0.256999, 0.866124> + 21162: < 0.385664, 0.257364, 0.886018> + 21163: < 0.386985, 0.216199, 0.896382> + 21164: < 0.428698, 0.256999, 0.866124> + 21165: < 0.426323, 0.297287, 0.854324> + 21166: < 0.383989, 0.298231, 0.873848> + 21167: < 0.385664, 0.257364, 0.886018> + 21168: < 0.426323, 0.297287, 0.854324> + 21169: < 0.423577, 0.337391, 0.840684> + 21170: < 0.381976, 0.339005, 0.859750> + 21171: < 0.383989, 0.298231, 0.873848> + 21172: < 0.423577, 0.337391, 0.840684> + 21173: < 0.420500, 0.377345, 0.825100> + 21174: < 0.379751, 0.379751, 0.843551> + 21175: < 0.381976, 0.339005, 0.859750> + 21176: < 0.420500, 0.377345, 0.825100> + 21177: < 0.417202, 0.417202, 0.807394> + 21178: < 0.377345, 0.420500, 0.825100> + 21179: < 0.379751, 0.379751, 0.843551> + 21180: < 0.417202, 0.417202, 0.807394> + 21181: < 0.413777, 0.456900, 0.787421> + 21182: < 0.374961, 0.461239, 0.804154> + 21183: < 0.377345, 0.420500, 0.825100> + 21184: < 0.413777, 0.456900, 0.787421> + 21185: < 0.410392, 0.496395, 0.764964> + 21186: < 0.372705, 0.501802, 0.780568> + 21187: < 0.374961, 0.461239, 0.804154> + 21188: < 0.410392, 0.496395, 0.764964> + 21189: < 0.407307, 0.535518, 0.739812> + 21190: < 0.370721, 0.542028, 0.754169> + 21191: < 0.372705, 0.501802, 0.780568> + 21192: < 0.407307, 0.535518, 0.739812> + 21193: < 0.404839, 0.574008, 0.711772> + 21194: < 0.369188, 0.581661, 0.724825> + 21195: < 0.370721, 0.542028, 0.754169> + 21196: < 0.404839, 0.574008, 0.711772> + 21197: < 0.403223, 0.611427, 0.680859> + 21198: < 0.368246, 0.620305, 0.692544> + 21199: < 0.369188, 0.581661, 0.724825> + 21200: < 0.368246, -0.620305, 0.692544> + 21201: < 0.369188, -0.581661, 0.724825> + 21202: < 0.332170, -0.588744, 0.736915> + 21203: < 0.331652, -0.628603, 0.703467> + 21204: < 0.369188, -0.581661, 0.724825> + 21205: < 0.370721, -0.542028, 0.754169> + 21206: < 0.333090, -0.548009, 0.767292> + 21207: < 0.332170, -0.588744, 0.736915> + 21208: < 0.370721, -0.542028, 0.754169> + 21209: < 0.372705, -0.501802, 0.780568> + 21210: < 0.334310, -0.506745, 0.794636> + 21211: < 0.333090, -0.548009, 0.767292> + 21212: < 0.372705, -0.501802, 0.780568> + 21213: < 0.374961, -0.461239, 0.804154> + 21214: < 0.335801, -0.465202, 0.819039> + 21215: < 0.334310, -0.506745, 0.794636> + 21216: < 0.374961, -0.461239, 0.804154> + 21217: < 0.377345, -0.420500, 0.825100> + 21218: < 0.337391, -0.423577, 0.840684> + 21219: < 0.335801, -0.465202, 0.819039> + 21220: < 0.377345, -0.420500, 0.825100> + 21221: < 0.379751, -0.379751, 0.843551> + 21222: < 0.339005, -0.381976, 0.859750> + 21223: < 0.337391, -0.423577, 0.840684> + 21224: < 0.379751, -0.379751, 0.843551> + 21225: < 0.381976, -0.339005, 0.859750> + 21226: < 0.340503, -0.340503, 0.876422> + 21227: < 0.339005, -0.381976, 0.859750> + 21228: < 0.381976, -0.339005, 0.859750> + 21229: < 0.383986, -0.298259, 0.873840> + 21230: < 0.341811, -0.299085, 0.890906> + 21231: < 0.340503, -0.340503, 0.876422> + 21232: < 0.383986, -0.298259, 0.873840> + 21233: < 0.385664, -0.257364, 0.886018> + 21234: < 0.342852, -0.257643, 0.903367> + 21235: < 0.341811, -0.299085, 0.890906> + 21236: < 0.385664, -0.257364, 0.886018> + 21237: < 0.386985, -0.216199, 0.896382> + 21238: < 0.343582, -0.215982, 0.913949> + 21239: < 0.342852, -0.257643, 0.903367> + 21240: < 0.386985, -0.216199, 0.896382> + 21241: < 0.387965, -0.174541, 0.904997> + 21242: < 0.344072, -0.173989, 0.922682> + 21243: < 0.343582, -0.215982, 0.913949> + 21244: < 0.387965, -0.174541, 0.904997> + 21245: < 0.388632, -0.132240, 0.911854> + 21246: < 0.344322, -0.131509, 0.929596> + 21247: < 0.344072, -0.173989, 0.922682> + 21248: < 0.388632, -0.132240, 0.911854> + 21249: < 0.388998, -0.089116, 0.916918> + 21250: < 0.344408, -0.088414, 0.934648> + 21251: < 0.344322, -0.131509, 0.929596> + 21252: < 0.388998, -0.089116, 0.916918> + 21253: < 0.389180, -0.045016, 0.920061> + 21254: < 0.344409, -0.044558, 0.937762> + 21255: < 0.344408, -0.088414, 0.934648> + 21256: < 0.389180, -0.045016, 0.920061> + 21257: < 0.389244, 0.000000, 0.921135> + 21258: < 0.344405, 0.000000, 0.938821> + 21259: < 0.344409, -0.044558, 0.937762> + 21260: < 0.389244, 0.000000, 0.921135> + 21261: < 0.389180, 0.045016, 0.920061> + 21262: < 0.344409, 0.044558, 0.937762> + 21263: < 0.344405, 0.000000, 0.938821> + 21264: < 0.389180, 0.045016, 0.920061> + 21265: < 0.388998, 0.089116, 0.916918> + 21266: < 0.344408, 0.088414, 0.934648> + 21267: < 0.344409, 0.044558, 0.937762> + 21268: < 0.388998, 0.089116, 0.916918> + 21269: < 0.388632, 0.132240, 0.911854> + 21270: < 0.344322, 0.131509, 0.929596> + 21271: < 0.344408, 0.088414, 0.934648> + 21272: < 0.388632, 0.132240, 0.911854> + 21273: < 0.387965, 0.174541, 0.904997> + 21274: < 0.344072, 0.173989, 0.922682> + 21275: < 0.344322, 0.131509, 0.929596> + 21276: < 0.387965, 0.174541, 0.904997> + 21277: < 0.386985, 0.216199, 0.896382> + 21278: < 0.343582, 0.215982, 0.913949> + 21279: < 0.344072, 0.173989, 0.922682> + 21280: < 0.386985, 0.216199, 0.896382> + 21281: < 0.385664, 0.257364, 0.886018> + 21282: < 0.342852, 0.257643, 0.903367> + 21283: < 0.343582, 0.215982, 0.913949> + 21284: < 0.385664, 0.257364, 0.886018> + 21285: < 0.383989, 0.298231, 0.873848> + 21286: < 0.341811, 0.299085, 0.890906> + 21287: < 0.342852, 0.257643, 0.903367> + 21288: < 0.383989, 0.298231, 0.873848> + 21289: < 0.381976, 0.339005, 0.859750> + 21290: < 0.340503, 0.340503, 0.876422> + 21291: < 0.341811, 0.299085, 0.890906> + 21292: < 0.381976, 0.339005, 0.859750> + 21293: < 0.379751, 0.379751, 0.843551> + 21294: < 0.339005, 0.381976, 0.859750> + 21295: < 0.340503, 0.340503, 0.876422> + 21296: < 0.379751, 0.379751, 0.843551> + 21297: < 0.377345, 0.420500, 0.825100> + 21298: < 0.337391, 0.423577, 0.840684> + 21299: < 0.339005, 0.381976, 0.859750> + 21300: < 0.377345, 0.420500, 0.825100> + 21301: < 0.374961, 0.461239, 0.804154> + 21302: < 0.335801, 0.465202, 0.819039> + 21303: < 0.337391, 0.423577, 0.840684> + 21304: < 0.374961, 0.461239, 0.804154> + 21305: < 0.372705, 0.501802, 0.780568> + 21306: < 0.334337, 0.506740, 0.794627> + 21307: < 0.335801, 0.465202, 0.819039> + 21308: < 0.372705, 0.501802, 0.780568> + 21309: < 0.370721, 0.542028, 0.754169> + 21310: < 0.333090, 0.548009, 0.767292> + 21311: < 0.334337, 0.506740, 0.794627> + 21312: < 0.370721, 0.542028, 0.754169> + 21313: < 0.369188, 0.581661, 0.724825> + 21314: < 0.332170, 0.588744, 0.736915> + 21315: < 0.333090, 0.548009, 0.767292> + 21316: < 0.369188, 0.581661, 0.724825> + 21317: < 0.368246, 0.620305, 0.692544> + 21318: < 0.331652, 0.628603, 0.703467> + 21319: < 0.332170, 0.588744, 0.736915> + 21320: < 0.331652, -0.628603, 0.703467> + 21321: < 0.332170, -0.588744, 0.736915> + 21322: < 0.294207, -0.595158, 0.747816> + 21323: < 0.293904, -0.636150, 0.713396> + 21324: < 0.332170, -0.588744, 0.736915> + 21325: < 0.333090, -0.548009, 0.767292> + 21326: < 0.294729, -0.553415, 0.779017> + 21327: < 0.294207, -0.595158, 0.747816> + 21328: < 0.333090, -0.548009, 0.767292> + 21329: < 0.334310, -0.506745, 0.794636> + 21330: < 0.295457, -0.511198, 0.807082> + 21331: < 0.294729, -0.553415, 0.779017> + 21332: < 0.334310, -0.506745, 0.794636> + 21333: < 0.335801, -0.465202, 0.819039> + 21334: < 0.296339, -0.468770, 0.832128> + 21335: < 0.295457, -0.511198, 0.807082> + 21336: < 0.335801, -0.465202, 0.819039> + 21337: < 0.337391, -0.423577, 0.840684> + 21338: < 0.297287, -0.426323, 0.854324> + 21339: < 0.296339, -0.468770, 0.832128> + 21340: < 0.337391, -0.423577, 0.840684> + 21341: < 0.339005, -0.381976, 0.859750> + 21342: < 0.298231, -0.383989, 0.873848> + 21343: < 0.297287, -0.426323, 0.854324> + 21344: < 0.339005, -0.381976, 0.859750> + 21345: < 0.340503, -0.340503, 0.876422> + 21346: < 0.299085, -0.341811, 0.890906> + 21347: < 0.298231, -0.383989, 0.873848> + 21348: < 0.340503, -0.340503, 0.876422> + 21349: < 0.341811, -0.299085, 0.890906> + 21350: < 0.299762, -0.299762, 0.905696> + 21351: < 0.299085, -0.341811, 0.890906> + 21352: < 0.341811, -0.299085, 0.890906> + 21353: < 0.342852, -0.257643, 0.903367> + 21354: < 0.300219, -0.257736, 0.918390> + 21355: < 0.299762, -0.299762, 0.905696> + 21356: < 0.342852, -0.257643, 0.903367> + 21357: < 0.343582, -0.215982, 0.913949> + 21358: < 0.300461, -0.215649, 0.929096> + 21359: < 0.300219, -0.257736, 0.918390> + 21360: < 0.343582, -0.215982, 0.913949> + 21361: < 0.344072, -0.173989, 0.922682> + 21362: < 0.300496, -0.173351, 0.937897> + 21363: < 0.300461, -0.215649, 0.929096> + 21364: < 0.344072, -0.173989, 0.922682> + 21365: < 0.344322, -0.131509, 0.929596> + 21366: < 0.300427, -0.130743, 0.944802> + 21367: < 0.300496, -0.173351, 0.937897> + 21368: < 0.344322, -0.131509, 0.929596> + 21369: < 0.344408, -0.088414, 0.934648> + 21370: < 0.300248, -0.087712, 0.949820> + 21371: < 0.300427, -0.130743, 0.944802> + 21372: < 0.344408, -0.088414, 0.934648> + 21373: < 0.344409, -0.044558, 0.937762> + 21374: < 0.300092, -0.044130, 0.952889> + 21375: < 0.300248, -0.087712, 0.949820> + 21376: < 0.344409, -0.044558, 0.937762> + 21377: < 0.344405, 0.000000, 0.938821> + 21378: < 0.300059, 0.000000, 0.953921> + 21379: < 0.300092, -0.044130, 0.952889> + 21380: < 0.344405, 0.000000, 0.938821> + 21381: < 0.344409, 0.044558, 0.937762> + 21382: < 0.300092, 0.044130, 0.952889> + 21383: < 0.300059, 0.000000, 0.953921> + 21384: < 0.344409, 0.044558, 0.937762> + 21385: < 0.344408, 0.088414, 0.934648> + 21386: < 0.300248, 0.087712, 0.949820> + 21387: < 0.300092, 0.044130, 0.952889> + 21388: < 0.344408, 0.088414, 0.934648> + 21389: < 0.344322, 0.131509, 0.929596> + 21390: < 0.300427, 0.130743, 0.944802> + 21391: < 0.300248, 0.087712, 0.949820> + 21392: < 0.344322, 0.131509, 0.929596> + 21393: < 0.344072, 0.173989, 0.922682> + 21394: < 0.300496, 0.173351, 0.937897> + 21395: < 0.300427, 0.130743, 0.944802> + 21396: < 0.344072, 0.173989, 0.922682> + 21397: < 0.343582, 0.215982, 0.913949> + 21398: < 0.300461, 0.215649, 0.929096> + 21399: < 0.300496, 0.173351, 0.937897> + 21400: < 0.343582, 0.215982, 0.913949> + 21401: < 0.342852, 0.257643, 0.903367> + 21402: < 0.300219, 0.257736, 0.918390> + 21403: < 0.300461, 0.215649, 0.929096> + 21404: < 0.342852, 0.257643, 0.903367> + 21405: < 0.341811, 0.299085, 0.890906> + 21406: < 0.299762, 0.299762, 0.905696> + 21407: < 0.300219, 0.257736, 0.918390> + 21408: < 0.341811, 0.299085, 0.890906> + 21409: < 0.340503, 0.340503, 0.876422> + 21410: < 0.299085, 0.341811, 0.890906> + 21411: < 0.299762, 0.299762, 0.905696> + 21412: < 0.340503, 0.340503, 0.876422> + 21413: < 0.339005, 0.381976, 0.859750> + 21414: < 0.298259, 0.383986, 0.873840> + 21415: < 0.299085, 0.341811, 0.890906> + 21416: < 0.339005, 0.381976, 0.859750> + 21417: < 0.337391, 0.423577, 0.840684> + 21418: < 0.297287, 0.426323, 0.854324> + 21419: < 0.298259, 0.383986, 0.873840> + 21420: < 0.337391, 0.423577, 0.840684> + 21421: < 0.335801, 0.465202, 0.819039> + 21422: < 0.296339, 0.468770, 0.832128> + 21423: < 0.297287, 0.426323, 0.854324> + 21424: < 0.335801, 0.465202, 0.819039> + 21425: < 0.334337, 0.506740, 0.794627> + 21426: < 0.295457, 0.511198, 0.807082> + 21427: < 0.296339, 0.468770, 0.832128> + 21428: < 0.334337, 0.506740, 0.794627> + 21429: < 0.333090, 0.548009, 0.767292> + 21430: < 0.294729, 0.553415, 0.779017> + 21431: < 0.295457, 0.511198, 0.807082> + 21432: < 0.333090, 0.548009, 0.767292> + 21433: < 0.332170, 0.588744, 0.736915> + 21434: < 0.294207, 0.595158, 0.747816> + 21435: < 0.294729, 0.553415, 0.779017> + 21436: < 0.332170, 0.588744, 0.736915> + 21437: < 0.331652, 0.628603, 0.703467> + 21438: < 0.293904, 0.636150, 0.713396> + 21439: < 0.294207, 0.595158, 0.747816> + 21440: < 0.293904, -0.636150, 0.713396> + 21441: < 0.294207, -0.595158, 0.747816> + 21442: < 0.255750, -0.600829, 0.757361> + 21443: < 0.255632, -0.642833, 0.722093> + 21444: < 0.294207, -0.595158, 0.747816> + 21445: < 0.294729, -0.553415, 0.779017> + 21446: < 0.255937, -0.558172, 0.789266> + 21447: < 0.255750, -0.600829, 0.757361> + 21448: < 0.294729, -0.553415, 0.779017> + 21449: < 0.295457, -0.511198, 0.807082> + 21450: < 0.256243, -0.515110, 0.817925> + 21451: < 0.255937, -0.558172, 0.789266> + 21452: < 0.295457, -0.511198, 0.807082> + 21453: < 0.296339, -0.468770, 0.832128> + 21454: < 0.256606, -0.471888, 0.843490> + 21455: < 0.256243, -0.515110, 0.817925> + 21456: < 0.296339, -0.468770, 0.832128> + 21457: < 0.297287, -0.426323, 0.854324> + 21458: < 0.256999, -0.428698, 0.866124> + 21459: < 0.256606, -0.471888, 0.843490> + 21460: < 0.297287, -0.426323, 0.854324> + 21461: < 0.298231, -0.383989, 0.873848> + 21462: < 0.257364, -0.385664, 0.886018> + 21463: < 0.256999, -0.428698, 0.866124> + 21464: < 0.298231, -0.383989, 0.873848> + 21465: < 0.299085, -0.341811, 0.890906> + 21466: < 0.257643, -0.342852, 0.903367> + 21467: < 0.257364, -0.385664, 0.886018> + 21468: < 0.299085, -0.341811, 0.890906> + 21469: < 0.299762, -0.299762, 0.905696> + 21470: < 0.257736, -0.300219, 0.918390> + 21471: < 0.257643, -0.342852, 0.903367> + 21472: < 0.299762, -0.299762, 0.905696> + 21473: < 0.300219, -0.257736, 0.918390> + 21474: < 0.257702, -0.257702, 0.931225> + 21475: < 0.257736, -0.300219, 0.918390> + 21476: < 0.300219, -0.257736, 0.918390> + 21477: < 0.300461, -0.215649, 0.929096> + 21478: < 0.257519, -0.215220, 0.942000> + 21479: < 0.257702, -0.257702, 0.931225> + 21480: < 0.300461, -0.215649, 0.929096> + 21481: < 0.300496, -0.173351, 0.937897> + 21482: < 0.257217, -0.172679, 0.950800> + 21483: < 0.257519, -0.215220, 0.942000> + 21484: < 0.300496, -0.173351, 0.937897> + 21485: < 0.300427, -0.130743, 0.944802> + 21486: < 0.256880, -0.129981, 0.957663> + 21487: < 0.257217, -0.172679, 0.950800> + 21488: < 0.300427, -0.130743, 0.944802> + 21489: < 0.300248, -0.087712, 0.949820> + 21490: < 0.256544, -0.087041, 0.962605> + 21491: < 0.256880, -0.129981, 0.957663> + 21492: < 0.300248, -0.087712, 0.949820> + 21493: < 0.300092, -0.044130, 0.952889> + 21494: < 0.256267, -0.043703, 0.965618> + 21495: < 0.256544, -0.087041, 0.962605> + 21496: < 0.300092, -0.044130, 0.952889> + 21497: < 0.300059, 0.000000, 0.953921> + 21498: < 0.256177, 0.000000, 0.966630> + 21499: < 0.256267, -0.043703, 0.965618> + 21500: < 0.300059, 0.000000, 0.953921> + 21501: < 0.300092, 0.044130, 0.952889> + 21502: < 0.256267, 0.043703, 0.965618> + 21503: < 0.256177, 0.000000, 0.966630> + 21504: < 0.300092, 0.044130, 0.952889> + 21505: < 0.300248, 0.087712, 0.949820> + 21506: < 0.256544, 0.087041, 0.962605> + 21507: < 0.256267, 0.043703, 0.965618> + 21508: < 0.300248, 0.087712, 0.949820> + 21509: < 0.300427, 0.130743, 0.944802> + 21510: < 0.256880, 0.129981, 0.957663> + 21511: < 0.256544, 0.087041, 0.962605> + 21512: < 0.300427, 0.130743, 0.944802> + 21513: < 0.300496, 0.173351, 0.937897> + 21514: < 0.257217, 0.172679, 0.950800> + 21515: < 0.256880, 0.129981, 0.957663> + 21516: < 0.300496, 0.173351, 0.937897> + 21517: < 0.300461, 0.215649, 0.929096> + 21518: < 0.257519, 0.215220, 0.942000> + 21519: < 0.257217, 0.172679, 0.950800> + 21520: < 0.300461, 0.215649, 0.929096> + 21521: < 0.300219, 0.257736, 0.918390> + 21522: < 0.257702, 0.257702, 0.931225> + 21523: < 0.257519, 0.215220, 0.942000> + 21524: < 0.300219, 0.257736, 0.918390> + 21525: < 0.299762, 0.299762, 0.905696> + 21526: < 0.257736, 0.300219, 0.918390> + 21527: < 0.257702, 0.257702, 0.931225> + 21528: < 0.299762, 0.299762, 0.905696> + 21529: < 0.299085, 0.341811, 0.890906> + 21530: < 0.257643, 0.342852, 0.903367> + 21531: < 0.257736, 0.300219, 0.918390> + 21532: < 0.299085, 0.341811, 0.890906> + 21533: < 0.298259, 0.383986, 0.873840> + 21534: < 0.257364, 0.385664, 0.886018> + 21535: < 0.257643, 0.342852, 0.903367> + 21536: < 0.298259, 0.383986, 0.873840> + 21537: < 0.297287, 0.426323, 0.854324> + 21538: < 0.256999, 0.428698, 0.866124> + 21539: < 0.257364, 0.385664, 0.886018> + 21540: < 0.297287, 0.426323, 0.854324> + 21541: < 0.296339, 0.468770, 0.832128> + 21542: < 0.256606, 0.471888, 0.843490> + 21543: < 0.256999, 0.428698, 0.866124> + 21544: < 0.296339, 0.468770, 0.832128> + 21545: < 0.295457, 0.511198, 0.807082> + 21546: < 0.256243, 0.515110, 0.817925> + 21547: < 0.256606, 0.471888, 0.843490> + 21548: < 0.295457, 0.511198, 0.807082> + 21549: < 0.294729, 0.553415, 0.779017> + 21550: < 0.255937, 0.558172, 0.789266> + 21551: < 0.256243, 0.515110, 0.817925> + 21552: < 0.294729, 0.553415, 0.779017> + 21553: < 0.294207, 0.595158, 0.747816> + 21554: < 0.255750, 0.600829, 0.757361> + 21555: < 0.255937, 0.558172, 0.789266> + 21556: < 0.294207, 0.595158, 0.747816> + 21557: < 0.293904, 0.636150, 0.713396> + 21558: < 0.255632, 0.642833, 0.722093> + 21559: < 0.255750, 0.600829, 0.757361> + 21560: < 0.255632, -0.642833, 0.722093> + 21561: < 0.255750, -0.600829, 0.757361> + 21562: < 0.216596, -0.605748, 0.765608> + 21563: < 0.216656, -0.648624, 0.729622> + 21564: < 0.255750, -0.600829, 0.757361> + 21565: < 0.255937, -0.558172, 0.789266> + 21566: < 0.216534, -0.562257, 0.798110> + 21567: < 0.216596, -0.605748, 0.765608> + 21568: < 0.255937, -0.558172, 0.789266> + 21569: < 0.256243, -0.515110, 0.817925> + 21570: < 0.216475, -0.518435, 0.827263> + 21571: < 0.216534, -0.562257, 0.798110> + 21572: < 0.256243, -0.515110, 0.817925> + 21573: < 0.256606, -0.471888, 0.843490> + 21574: < 0.216413, -0.474515, 0.853230> + 21575: < 0.216475, -0.518435, 0.827263> + 21576: < 0.256606, -0.471888, 0.843490> + 21577: < 0.256999, -0.428698, 0.866124> + 21578: < 0.216320, -0.430657, 0.876208> + 21579: < 0.216413, -0.474515, 0.853230> + 21580: < 0.256999, -0.428698, 0.866124> + 21581: < 0.257364, -0.385664, 0.886018> + 21582: < 0.216199, -0.386985, 0.896382> + 21583: < 0.216320, -0.430657, 0.876208> + 21584: < 0.257364, -0.385664, 0.886018> + 21585: < 0.257643, -0.342852, 0.903367> + 21586: < 0.215982, -0.343582, 0.913949> + 21587: < 0.216199, -0.386985, 0.896382> + 21588: < 0.257643, -0.342852, 0.903367> + 21589: < 0.257736, -0.300219, 0.918390> + 21590: < 0.215649, -0.300461, 0.929096> + 21591: < 0.215982, -0.343582, 0.913949> + 21592: < 0.257736, -0.300219, 0.918390> + 21593: < 0.257702, -0.257702, 0.931225> + 21594: < 0.215220, -0.257519, 0.942000> + 21595: < 0.215649, -0.300461, 0.929096> + 21596: < 0.257702, -0.257702, 0.931225> + 21597: < 0.257519, -0.215220, 0.942000> + 21598: < 0.214732, -0.214732, 0.952775> + 21599: < 0.215220, -0.257519, 0.942000> + 21600: < 0.257519, -0.215220, 0.942000> + 21601: < 0.257217, -0.172679, 0.950800> + 21602: < 0.214182, -0.172005, 0.961530> + 21603: < 0.214732, -0.214732, 0.952775> + 21604: < 0.257217, -0.172679, 0.950800> + 21605: < 0.256880, -0.129981, 0.957663> + 21606: < 0.213666, -0.129250, 0.968319> + 21607: < 0.214182, -0.172005, 0.961530> + 21608: < 0.256880, -0.129981, 0.957663> + 21609: < 0.256544, -0.087041, 0.962605> + 21610: < 0.213204, -0.086398, 0.973180> + 21611: < 0.213666, -0.129250, 0.968319> + 21612: < 0.256544, -0.087041, 0.962605> + 21613: < 0.256267, -0.043703, 0.965618> + 21614: < 0.212870, -0.043306, 0.976120> + 21615: < 0.213204, -0.086398, 0.973180> + 21616: < 0.256267, -0.043703, 0.965618> + 21617: < 0.256177, 0.000000, 0.966630> + 21618: < 0.212750, 0.000000, 0.977107> + 21619: < 0.212870, -0.043306, 0.976120> + 21620: < 0.256177, 0.000000, 0.966630> + 21621: < 0.256267, 0.043703, 0.965618> + 21622: < 0.212870, 0.043306, 0.976120> + 21623: < 0.212750, 0.000000, 0.977107> + 21624: < 0.256267, 0.043703, 0.965618> + 21625: < 0.256544, 0.087041, 0.962605> + 21626: < 0.213204, 0.086398, 0.973180> + 21627: < 0.212870, 0.043306, 0.976120> + 21628: < 0.256544, 0.087041, 0.962605> + 21629: < 0.256880, 0.129981, 0.957663> + 21630: < 0.213666, 0.129250, 0.968319> + 21631: < 0.213204, 0.086398, 0.973180> + 21632: < 0.256880, 0.129981, 0.957663> + 21633: < 0.257217, 0.172679, 0.950800> + 21634: < 0.214182, 0.172005, 0.961530> + 21635: < 0.213666, 0.129250, 0.968319> + 21636: < 0.257217, 0.172679, 0.950800> + 21637: < 0.257519, 0.215220, 0.942000> + 21638: < 0.214732, 0.214732, 0.952775> + 21639: < 0.214182, 0.172005, 0.961530> + 21640: < 0.257519, 0.215220, 0.942000> + 21641: < 0.257702, 0.257702, 0.931225> + 21642: < 0.215220, 0.257519, 0.942000> + 21643: < 0.214732, 0.214732, 0.952775> + 21644: < 0.257702, 0.257702, 0.931225> + 21645: < 0.257736, 0.300219, 0.918390> + 21646: < 0.215649, 0.300461, 0.929096> + 21647: < 0.215220, 0.257519, 0.942000> + 21648: < 0.257736, 0.300219, 0.918390> + 21649: < 0.257643, 0.342852, 0.903367> + 21650: < 0.215982, 0.343582, 0.913949> + 21651: < 0.215649, 0.300461, 0.929096> + 21652: < 0.257643, 0.342852, 0.903367> + 21653: < 0.257364, 0.385664, 0.886018> + 21654: < 0.216199, 0.386985, 0.896382> + 21655: < 0.215982, 0.343582, 0.913949> + 21656: < 0.257364, 0.385664, 0.886018> + 21657: < 0.256999, 0.428698, 0.866124> + 21658: < 0.216320, 0.430657, 0.876208> + 21659: < 0.216199, 0.386985, 0.896382> + 21660: < 0.256999, 0.428698, 0.866124> + 21661: < 0.256606, 0.471888, 0.843490> + 21662: < 0.216413, 0.474515, 0.853230> + 21663: < 0.216320, 0.430657, 0.876208> + 21664: < 0.256606, 0.471888, 0.843490> + 21665: < 0.256243, 0.515110, 0.817925> + 21666: < 0.216475, 0.518435, 0.827263> + 21667: < 0.216413, 0.474515, 0.853230> + 21668: < 0.256243, 0.515110, 0.817925> + 21669: < 0.255937, 0.558172, 0.789266> + 21670: < 0.216534, 0.562257, 0.798110> + 21671: < 0.216475, 0.518435, 0.827263> + 21672: < 0.255937, 0.558172, 0.789266> + 21673: < 0.255750, 0.600829, 0.757361> + 21674: < 0.216596, 0.605748, 0.765608> + 21675: < 0.216534, 0.562257, 0.798110> + 21676: < 0.255750, 0.600829, 0.757361> + 21677: < 0.255632, 0.642833, 0.722093> + 21678: < 0.216660, 0.648606, 0.729636> + 21679: < 0.216596, 0.605748, 0.765608> + 21680: < 0.216656, -0.648624, 0.729622> + 21681: < 0.216596, -0.605748, 0.765608> + 21682: < 0.176461, -0.609892, 0.772589> + 21683: < 0.176644, -0.653502, 0.736025> + 21684: < 0.216596, -0.605748, 0.765608> + 21685: < 0.216534, -0.562257, 0.798110> + 21686: < 0.176188, -0.565675, 0.805587> + 21687: < 0.176461, -0.609892, 0.772589> + 21688: < 0.216534, -0.562257, 0.798110> + 21689: < 0.216475, -0.518435, 0.827263> + 21690: < 0.175853, -0.521180, 0.835133> + 21691: < 0.176188, -0.565675, 0.805587> + 21692: < 0.216475, -0.518435, 0.827263> + 21693: < 0.216413, -0.474515, 0.853230> + 21694: < 0.175453, -0.476614, 0.861426> + 21695: < 0.175853, -0.521180, 0.835133> + 21696: < 0.216413, -0.474515, 0.853230> + 21697: < 0.216320, -0.430657, 0.876208> + 21698: < 0.175026, -0.432149, 0.884654> + 21699: < 0.175453, -0.476614, 0.861426> + 21700: < 0.216320, -0.430657, 0.876208> + 21701: < 0.216199, -0.386985, 0.896382> + 21702: < 0.174541, -0.387965, 0.904997> + 21703: < 0.175026, -0.432149, 0.884654> + 21704: < 0.216199, -0.386985, 0.896382> + 21705: < 0.215982, -0.343582, 0.913949> + 21706: < 0.173989, -0.344072, 0.922682> + 21707: < 0.174541, -0.387965, 0.904997> + 21708: < 0.215982, -0.343582, 0.913949> + 21709: < 0.215649, -0.300461, 0.929096> + 21710: < 0.173351, -0.300496, 0.937897> + 21711: < 0.173989, -0.344072, 0.922682> + 21712: < 0.215649, -0.300461, 0.929096> + 21713: < 0.215220, -0.257519, 0.942000> + 21714: < 0.172679, -0.257217, 0.950800> + 21715: < 0.173351, -0.300496, 0.937897> + 21716: < 0.215220, -0.257519, 0.942000> + 21717: < 0.214732, -0.214732, 0.952775> + 21718: < 0.172005, -0.214182, 0.961530> + 21719: < 0.172679, -0.257217, 0.950800> + 21720: < 0.214732, -0.214732, 0.952775> + 21721: < 0.214182, -0.172005, 0.961530> + 21722: < 0.171305, -0.171305, 0.970211> + 21723: < 0.172005, -0.214182, 0.961530> + 21724: < 0.214182, -0.172005, 0.961530> + 21725: < 0.213666, -0.129250, 0.968319> + 21726: < 0.170691, -0.128545, 0.976904> + 21727: < 0.171305, -0.171305, 0.970211> + 21728: < 0.213666, -0.129250, 0.968319> + 21729: < 0.213204, -0.086398, 0.973180> + 21730: < 0.170203, -0.085788, 0.981668> + 21731: < 0.170691, -0.128545, 0.976904> + 21732: < 0.213204, -0.086398, 0.973180> + 21733: < 0.212870, -0.043306, 0.976120> + 21734: < 0.169837, -0.042970, 0.984535> + 21735: < 0.170203, -0.085788, 0.981668> + 21736: < 0.212870, -0.043306, 0.976120> + 21737: < 0.212750, 0.000000, 0.977107> + 21738: < 0.169746, 0.000000, 0.985488> + 21739: < 0.169837, -0.042970, 0.984535> + 21740: < 0.212750, 0.000000, 0.977107> + 21741: < 0.212870, 0.043306, 0.976120> + 21742: < 0.169837, 0.042970, 0.984535> + 21743: < 0.169746, 0.000000, 0.985488> + 21744: < 0.212870, 0.043306, 0.976120> + 21745: < 0.213204, 0.086398, 0.973180> + 21746: < 0.170203, 0.085788, 0.981668> + 21747: < 0.169837, 0.042970, 0.984535> + 21748: < 0.213204, 0.086398, 0.973180> + 21749: < 0.213666, 0.129250, 0.968319> + 21750: < 0.170691, 0.128545, 0.976904> + 21751: < 0.170203, 0.085788, 0.981668> + 21752: < 0.213666, 0.129250, 0.968319> + 21753: < 0.214182, 0.172005, 0.961530> + 21754: < 0.171305, 0.171305, 0.970211> + 21755: < 0.170691, 0.128545, 0.976904> + 21756: < 0.214182, 0.172005, 0.961530> + 21757: < 0.214732, 0.214732, 0.952775> + 21758: < 0.172005, 0.214182, 0.961530> + 21759: < 0.171305, 0.171305, 0.970211> + 21760: < 0.214732, 0.214732, 0.952775> + 21761: < 0.215220, 0.257519, 0.942000> + 21762: < 0.172679, 0.257217, 0.950800> + 21763: < 0.172005, 0.214182, 0.961530> + 21764: < 0.215220, 0.257519, 0.942000> + 21765: < 0.215649, 0.300461, 0.929096> + 21766: < 0.173351, 0.300496, 0.937897> + 21767: < 0.172679, 0.257217, 0.950800> + 21768: < 0.215649, 0.300461, 0.929096> + 21769: < 0.215982, 0.343582, 0.913949> + 21770: < 0.173989, 0.344072, 0.922682> + 21771: < 0.173351, 0.300496, 0.937897> + 21772: < 0.215982, 0.343582, 0.913949> + 21773: < 0.216199, 0.386985, 0.896382> + 21774: < 0.174541, 0.387965, 0.904997> + 21775: < 0.173989, 0.344072, 0.922682> + 21776: < 0.216199, 0.386985, 0.896382> + 21777: < 0.216320, 0.430657, 0.876208> + 21778: < 0.175026, 0.432149, 0.884654> + 21779: < 0.174541, 0.387965, 0.904997> + 21780: < 0.216320, 0.430657, 0.876208> + 21781: < 0.216413, 0.474515, 0.853230> + 21782: < 0.175453, 0.476614, 0.861426> + 21783: < 0.175026, 0.432149, 0.884654> + 21784: < 0.216413, 0.474515, 0.853230> + 21785: < 0.216475, 0.518435, 0.827263> + 21786: < 0.175853, 0.521180, 0.835133> + 21787: < 0.175453, 0.476614, 0.861426> + 21788: < 0.216475, 0.518435, 0.827263> + 21789: < 0.216534, 0.562257, 0.798110> + 21790: < 0.176188, 0.565675, 0.805587> + 21791: < 0.175853, 0.521180, 0.835133> + 21792: < 0.216534, 0.562257, 0.798110> + 21793: < 0.216596, 0.605748, 0.765608> + 21794: < 0.176461, 0.609892, 0.772589> + 21795: < 0.176188, 0.565675, 0.805587> + 21796: < 0.216596, 0.605748, 0.765608> + 21797: < 0.216660, 0.648606, 0.729636> + 21798: < 0.176644, 0.653502, 0.736025> + 21799: < 0.176461, 0.609892, 0.772589> + 21800: < 0.176644, -0.653502, 0.736025> + 21801: < 0.176461, -0.609892, 0.772589> + 21802: < 0.134985, -0.613218, 0.778295> + 21803: < 0.135260, -0.657468, 0.741243> + 21804: < 0.176461, -0.609892, 0.772589> + 21805: < 0.176188, -0.565675, 0.805587> + 21806: < 0.134618, -0.568382, 0.811677> + 21807: < 0.134985, -0.613218, 0.778295> + 21808: < 0.176188, -0.565675, 0.805587> + 21809: < 0.175853, -0.521180, 0.835133> + 21810: < 0.134100, -0.523307, 0.841527> + 21811: < 0.134618, -0.568382, 0.811677> + 21812: < 0.175853, -0.521180, 0.835133> + 21813: < 0.175453, -0.476614, 0.861426> + 21814: < 0.133553, -0.478208, 0.868033> + 21815: < 0.134100, -0.523307, 0.841527> + 21816: < 0.175453, -0.476614, 0.861426> + 21817: < 0.175026, -0.432149, 0.884654> + 21818: < 0.132911, -0.433281, 0.891405> + 21819: < 0.133553, -0.478208, 0.868033> + 21820: < 0.175026, -0.432149, 0.884654> + 21821: < 0.174541, -0.387965, 0.904997> + 21822: < 0.132240, -0.388632, 0.911854> + 21823: < 0.132911, -0.433281, 0.891405> + 21824: < 0.174541, -0.387965, 0.904997> + 21825: < 0.173989, -0.344072, 0.922682> + 21826: < 0.131509, -0.344322, 0.929596> + 21827: < 0.132240, -0.388632, 0.911854> + 21828: < 0.173989, -0.344072, 0.922682> + 21829: < 0.173351, -0.300496, 0.937897> + 21830: < 0.130743, -0.300427, 0.944802> + 21831: < 0.131509, -0.344322, 0.929596> + 21832: < 0.173351, -0.300496, 0.937897> + 21833: < 0.172679, -0.257217, 0.950800> + 21834: < 0.129981, -0.256880, 0.957663> + 21835: < 0.130743, -0.300427, 0.944802> + 21836: < 0.172679, -0.257217, 0.950800> + 21837: < 0.172005, -0.214182, 0.961530> + 21838: < 0.129250, -0.213666, 0.968319> + 21839: < 0.129981, -0.256880, 0.957663> + 21840: < 0.172005, -0.214182, 0.961530> + 21841: < 0.171305, -0.171305, 0.970211> + 21842: < 0.128545, -0.170691, 0.976904> + 21843: < 0.129250, -0.213666, 0.968319> + 21844: < 0.171305, -0.171305, 0.970211> + 21845: < 0.170691, -0.128545, 0.976904> + 21846: < 0.127935, -0.127935, 0.983497> + 21847: < 0.128545, -0.170691, 0.976904> + 21848: < 0.170691, -0.128545, 0.976904> + 21849: < 0.170203, -0.085788, 0.981668> + 21850: < 0.127447, -0.085300, 0.988171> + 21851: < 0.127935, -0.127935, 0.983497> + 21852: < 0.170203, -0.085788, 0.981668> + 21853: < 0.169837, -0.042970, 0.984535> + 21854: < 0.127144, -0.042666, 0.990966> + 21855: < 0.127447, -0.085300, 0.988171> + 21856: < 0.169837, -0.042970, 0.984535> + 21857: < 0.169746, 0.000000, 0.985488> + 21858: < 0.127020, 0.000000, 0.991900> + 21859: < 0.127144, -0.042666, 0.990966> + 21860: < 0.169746, 0.000000, 0.985488> + 21861: < 0.169837, 0.042970, 0.984535> + 21862: < 0.127144, 0.042666, 0.990966> + 21863: < 0.127020, 0.000000, 0.991900> + 21864: < 0.169837, 0.042970, 0.984535> + 21865: < 0.170203, 0.085788, 0.981668> + 21866: < 0.127447, 0.085300, 0.988171> + 21867: < 0.127144, 0.042666, 0.990966> + 21868: < 0.170203, 0.085788, 0.981668> + 21869: < 0.170691, 0.128545, 0.976904> + 21870: < 0.127935, 0.127935, 0.983497> + 21871: < 0.127447, 0.085300, 0.988171> + 21872: < 0.170691, 0.128545, 0.976904> + 21873: < 0.171305, 0.171305, 0.970211> + 21874: < 0.128545, 0.170691, 0.976904> + 21875: < 0.127935, 0.127935, 0.983497> + 21876: < 0.171305, 0.171305, 0.970211> + 21877: < 0.172005, 0.214182, 0.961530> + 21878: < 0.129250, 0.213666, 0.968319> + 21879: < 0.128545, 0.170691, 0.976904> + 21880: < 0.172005, 0.214182, 0.961530> + 21881: < 0.172679, 0.257217, 0.950800> + 21882: < 0.129981, 0.256880, 0.957663> + 21883: < 0.129250, 0.213666, 0.968319> + 21884: < 0.172679, 0.257217, 0.950800> + 21885: < 0.173351, 0.300496, 0.937897> + 21886: < 0.130743, 0.300427, 0.944802> + 21887: < 0.129981, 0.256880, 0.957663> + 21888: < 0.173351, 0.300496, 0.937897> + 21889: < 0.173989, 0.344072, 0.922682> + 21890: < 0.131509, 0.344322, 0.929596> + 21891: < 0.130743, 0.300427, 0.944802> + 21892: < 0.173989, 0.344072, 0.922682> + 21893: < 0.174541, 0.387965, 0.904997> + 21894: < 0.132240, 0.388632, 0.911854> + 21895: < 0.131509, 0.344322, 0.929596> + 21896: < 0.174541, 0.387965, 0.904997> + 21897: < 0.175026, 0.432149, 0.884654> + 21898: < 0.132913, 0.433256, 0.891416> + 21899: < 0.132240, 0.388632, 0.911854> + 21900: < 0.175026, 0.432149, 0.884654> + 21901: < 0.175453, 0.476614, 0.861426> + 21902: < 0.133553, 0.478208, 0.868033> + 21903: < 0.132913, 0.433256, 0.891416> + 21904: < 0.175453, 0.476614, 0.861426> + 21905: < 0.175853, 0.521180, 0.835133> + 21906: < 0.134100, 0.523307, 0.841527> + 21907: < 0.133553, 0.478208, 0.868033> + 21908: < 0.175853, 0.521180, 0.835133> + 21909: < 0.176188, 0.565675, 0.805587> + 21910: < 0.134618, 0.568382, 0.811677> + 21911: < 0.134100, 0.523307, 0.841527> + 21912: < 0.176188, 0.565675, 0.805587> + 21913: < 0.176461, 0.609892, 0.772589> + 21914: < 0.135018, 0.613196, 0.778306> + 21915: < 0.134618, 0.568382, 0.811677> + 21916: < 0.176461, 0.609892, 0.772589> + 21917: < 0.176644, 0.653502, 0.736025> + 21918: < 0.135260, 0.657468, 0.741243> + 21919: < 0.135018, 0.613196, 0.778306> + 21920: < 0.135260, -0.657468, 0.741243> + 21921: < 0.134985, -0.613218, 0.778295> + 21922: < 0.091894, -0.615697, 0.782607> + 21923: < 0.092137, -0.660463, 0.745184> + 21924: < 0.134985, -0.613218, 0.778295> + 21925: < 0.134618, -0.568382, 0.811677> + 21926: < 0.091497, -0.570377, 0.816271> + 21927: < 0.091894, -0.615697, 0.782607> + 21928: < 0.134618, -0.568382, 0.811677> + 21929: < 0.134100, -0.523307, 0.841527> + 21930: < 0.091008, -0.524836, 0.846324> + 21931: < 0.091497, -0.570377, 0.816271> + 21932: < 0.134100, -0.523307, 0.841527> + 21933: < 0.133553, -0.478208, 0.868033> + 21934: < 0.090429, -0.479307, 0.872976> + 21935: < 0.091008, -0.524836, 0.846324> + 21936: < 0.133553, -0.478208, 0.868033> + 21937: < 0.132911, -0.433281, 0.891405> + 21938: < 0.089787, -0.433981, 0.896437> + 21939: < 0.090429, -0.479307, 0.872976> + 21940: < 0.132911, -0.433281, 0.891405> + 21941: < 0.132240, -0.388632, 0.911854> + 21942: < 0.089116, -0.388998, 0.916918> + 21943: < 0.089787, -0.433981, 0.896437> + 21944: < 0.132240, -0.388632, 0.911854> + 21945: < 0.131509, -0.344322, 0.929596> + 21946: < 0.088414, -0.344408, 0.934648> + 21947: < 0.089116, -0.388998, 0.916918> + 21948: < 0.131509, -0.344322, 0.929596> + 21949: < 0.130743, -0.300427, 0.944802> + 21950: < 0.087712, -0.300248, 0.949820> + 21951: < 0.088414, -0.344408, 0.934648> + 21952: < 0.130743, -0.300427, 0.944802> + 21953: < 0.129981, -0.256880, 0.957663> + 21954: < 0.087041, -0.256544, 0.962605> + 21955: < 0.087712, -0.300248, 0.949820> + 21956: < 0.129981, -0.256880, 0.957663> + 21957: < 0.129250, -0.213666, 0.968319> + 21958: < 0.086398, -0.213204, 0.973180> + 21959: < 0.087041, -0.256544, 0.962605> + 21960: < 0.129250, -0.213666, 0.968319> + 21961: < 0.128545, -0.170691, 0.976904> + 21962: < 0.085788, -0.170203, 0.981668> + 21963: < 0.086398, -0.213204, 0.973180> + 21964: < 0.128545, -0.170691, 0.976904> + 21965: < 0.127935, -0.127935, 0.983497> + 21966: < 0.085300, -0.127447, 0.988171> + 21967: < 0.085788, -0.170203, 0.981668> + 21968: < 0.127935, -0.127935, 0.983497> + 21969: < 0.127447, -0.085300, 0.988171> + 21970: < 0.084905, -0.084905, 0.992765> + 21971: < 0.085300, -0.127447, 0.988171> + 21972: < 0.127447, -0.085300, 0.988171> + 21973: < 0.127144, -0.042666, 0.990966> + 21974: < 0.084660, -0.042452, 0.995505> + 21975: < 0.084905, -0.084905, 0.992765> + 21976: < 0.127144, -0.042666, 0.990966> + 21977: < 0.127020, 0.000000, 0.991900> + 21978: < 0.084568, 0.000000, 0.996418> + 21979: < 0.084660, -0.042452, 0.995505> + 21980: < 0.127020, 0.000000, 0.991900> + 21981: < 0.127144, 0.042666, 0.990966> + 21982: < 0.084660, 0.042452, 0.995505> + 21983: < 0.084568, 0.000000, 0.996418> + 21984: < 0.127144, 0.042666, 0.990966> + 21985: < 0.127447, 0.085300, 0.988171> + 21986: < 0.084905, 0.084905, 0.992765> + 21987: < 0.084660, 0.042452, 0.995505> + 21988: < 0.127447, 0.085300, 0.988171> + 21989: < 0.127935, 0.127935, 0.983497> + 21990: < 0.085300, 0.127447, 0.988171> + 21991: < 0.084905, 0.084905, 0.992765> + 21992: < 0.127935, 0.127935, 0.983497> + 21993: < 0.128545, 0.170691, 0.976904> + 21994: < 0.085788, 0.170203, 0.981668> + 21995: < 0.085300, 0.127447, 0.988171> + 21996: < 0.128545, 0.170691, 0.976904> + 21997: < 0.129250, 0.213666, 0.968319> + 21998: < 0.086398, 0.213204, 0.973180> + 21999: < 0.085788, 0.170203, 0.981668> + 22000: < 0.129250, 0.213666, 0.968319> + 22001: < 0.129981, 0.256880, 0.957663> + 22002: < 0.087041, 0.256544, 0.962605> + 22003: < 0.086398, 0.213204, 0.973180> + 22004: < 0.129981, 0.256880, 0.957663> + 22005: < 0.130743, 0.300427, 0.944802> + 22006: < 0.087712, 0.300248, 0.949820> + 22007: < 0.087041, 0.256544, 0.962605> + 22008: < 0.130743, 0.300427, 0.944802> + 22009: < 0.131509, 0.344322, 0.929596> + 22010: < 0.088414, 0.344408, 0.934648> + 22011: < 0.087712, 0.300248, 0.949820> + 22012: < 0.131509, 0.344322, 0.929596> + 22013: < 0.132240, 0.388632, 0.911854> + 22014: < 0.089116, 0.388998, 0.916918> + 22015: < 0.088414, 0.344408, 0.934648> + 22016: < 0.132240, 0.388632, 0.911854> + 22017: < 0.132913, 0.433256, 0.891416> + 22018: < 0.089787, 0.433981, 0.896437> + 22019: < 0.089116, 0.388998, 0.916918> + 22020: < 0.132913, 0.433256, 0.891416> + 22021: < 0.133553, 0.478208, 0.868033> + 22022: < 0.090429, 0.479307, 0.872976> + 22023: < 0.089787, 0.433981, 0.896437> + 22024: < 0.133553, 0.478208, 0.868033> + 22025: < 0.134100, 0.523307, 0.841527> + 22026: < 0.091008, 0.524836, 0.846324> + 22027: < 0.090429, 0.479307, 0.872976> + 22028: < 0.134100, 0.523307, 0.841527> + 22029: < 0.134618, 0.568382, 0.811677> + 22030: < 0.091497, 0.570377, 0.816271> + 22031: < 0.091008, 0.524836, 0.846324> + 22032: < 0.134618, 0.568382, 0.811677> + 22033: < 0.135018, 0.613196, 0.778306> + 22034: < 0.091894, 0.615697, 0.782607> + 22035: < 0.091497, 0.570377, 0.816271> + 22036: < 0.135018, 0.613196, 0.778306> + 22037: < 0.135260, 0.657468, 0.741243> + 22038: < 0.092137, 0.660463, 0.745184> + 22039: < 0.091894, 0.615697, 0.782607> + 22040: < 0.092137, -0.660463, 0.745184> + 22041: < 0.091894, -0.615697, 0.782607> + 22042: < 0.046847, -0.617246, 0.785375> + 22043: < 0.046999, -0.662354, 0.747715> + 22044: < 0.091894, -0.615697, 0.782607> + 22045: < 0.091497, -0.570377, 0.816271> + 22046: < 0.046573, -0.571602, 0.819208> + 22047: < 0.046847, -0.617246, 0.785375> + 22048: < 0.091497, -0.570377, 0.816271> + 22049: < 0.091008, -0.524836, 0.846324> + 22050: < 0.046267, -0.525753, 0.849378> + 22051: < 0.046573, -0.571602, 0.819208> + 22052: < 0.091008, -0.524836, 0.846324> + 22053: < 0.090429, -0.479307, 0.872976> + 22054: < 0.045871, -0.479951, 0.876095> + 22055: < 0.046267, -0.525753, 0.849378> + 22056: < 0.090429, -0.479307, 0.872976> + 22057: < 0.089787, -0.433981, 0.896437> + 22058: < 0.045443, -0.434379, 0.899583> + 22059: < 0.045871, -0.479951, 0.876095> + 22060: < 0.089787, -0.433981, 0.896437> + 22061: < 0.089116, -0.388998, 0.916918> + 22062: < 0.045016, -0.389180, 0.920061> + 22063: < 0.045443, -0.434379, 0.899583> + 22064: < 0.089116, -0.388998, 0.916918> + 22065: < 0.088414, -0.344408, 0.934648> + 22066: < 0.044558, -0.344409, 0.937762> + 22067: < 0.045016, -0.389180, 0.920061> + 22068: < 0.088414, -0.344408, 0.934648> + 22069: < 0.087712, -0.300248, 0.949820> + 22070: < 0.044130, -0.300092, 0.952889> + 22071: < 0.044558, -0.344409, 0.937762> + 22072: < 0.087712, -0.300248, 0.949820> + 22073: < 0.087041, -0.256544, 0.962605> + 22074: < 0.043703, -0.256267, 0.965618> + 22075: < 0.044130, -0.300092, 0.952889> + 22076: < 0.087041, -0.256544, 0.962605> + 22077: < 0.086398, -0.213204, 0.973180> + 22078: < 0.043306, -0.212870, 0.976120> + 22079: < 0.043703, -0.256267, 0.965618> + 22080: < 0.086398, -0.213204, 0.973180> + 22081: < 0.085788, -0.170203, 0.981668> + 22082: < 0.042970, -0.169866, 0.984530> + 22083: < 0.043306, -0.212870, 0.976120> + 22084: < 0.085788, -0.170203, 0.981668> + 22085: < 0.085300, -0.127447, 0.988171> + 22086: < 0.042666, -0.127144, 0.990966> + 22087: < 0.042970, -0.169866, 0.984530> + 22088: < 0.085300, -0.127447, 0.988171> + 22089: < 0.084905, -0.084905, 0.992765> + 22090: < 0.042452, -0.084660, 0.995505> + 22091: < 0.042666, -0.127144, 0.990966> + 22092: < 0.084905, -0.084905, 0.992765> + 22093: < 0.084660, -0.042452, 0.995505> + 22094: < 0.042299, -0.042299, 0.998209> + 22095: < 0.042452, -0.084660, 0.995505> + 22096: < 0.084660, -0.042452, 0.995505> + 22097: < 0.084568, 0.000000, 0.996418> + 22098: < 0.042239, 0.000000, 0.999108> + 22099: < 0.042299, -0.042299, 0.998209> + 22100: < 0.084568, 0.000000, 0.996418> + 22101: < 0.084660, 0.042452, 0.995505> + 22102: < 0.042299, 0.042299, 0.998209> + 22103: < 0.042239, 0.000000, 0.999108> + 22104: < 0.084660, 0.042452, 0.995505> + 22105: < 0.084905, 0.084905, 0.992765> + 22106: < 0.042452, 0.084660, 0.995505> + 22107: < 0.042299, 0.042299, 0.998209> + 22108: < 0.084905, 0.084905, 0.992765> + 22109: < 0.085300, 0.127447, 0.988171> + 22110: < 0.042666, 0.127144, 0.990966> + 22111: < 0.042452, 0.084660, 0.995505> + 22112: < 0.085300, 0.127447, 0.988171> + 22113: < 0.085788, 0.170203, 0.981668> + 22114: < 0.042970, 0.169837, 0.984535> + 22115: < 0.042666, 0.127144, 0.990966> + 22116: < 0.085788, 0.170203, 0.981668> + 22117: < 0.086398, 0.213204, 0.973180> + 22118: < 0.043306, 0.212870, 0.976120> + 22119: < 0.042970, 0.169837, 0.984535> + 22120: < 0.086398, 0.213204, 0.973180> + 22121: < 0.087041, 0.256544, 0.962605> + 22122: < 0.043703, 0.256267, 0.965618> + 22123: < 0.043306, 0.212870, 0.976120> + 22124: < 0.087041, 0.256544, 0.962605> + 22125: < 0.087712, 0.300248, 0.949820> + 22126: < 0.044130, 0.300092, 0.952889> + 22127: < 0.043703, 0.256267, 0.965618> + 22128: < 0.087712, 0.300248, 0.949820> + 22129: < 0.088414, 0.344408, 0.934648> + 22130: < 0.044558, 0.344409, 0.937762> + 22131: < 0.044130, 0.300092, 0.952889> + 22132: < 0.088414, 0.344408, 0.934648> + 22133: < 0.089116, 0.388998, 0.916918> + 22134: < 0.045016, 0.389180, 0.920061> + 22135: < 0.044558, 0.344409, 0.937762> + 22136: < 0.089116, 0.388998, 0.916918> + 22137: < 0.089787, 0.433981, 0.896437> + 22138: < 0.045443, 0.434379, 0.899583> + 22139: < 0.045016, 0.389180, 0.920061> + 22140: < 0.089787, 0.433981, 0.896437> + 22141: < 0.090429, 0.479307, 0.872976> + 22142: < 0.045871, 0.479951, 0.876095> + 22143: < 0.045443, 0.434379, 0.899583> + 22144: < 0.090429, 0.479307, 0.872976> + 22145: < 0.091008, 0.524836, 0.846324> + 22146: < 0.046267, 0.525753, 0.849378> + 22147: < 0.045871, 0.479951, 0.876095> + 22148: < 0.091008, 0.524836, 0.846324> + 22149: < 0.091497, 0.570377, 0.816271> + 22150: < 0.046573, 0.571602, 0.819208> + 22151: < 0.046267, 0.525753, 0.849378> + 22152: < 0.091497, 0.570377, 0.816271> + 22153: < 0.091894, 0.615697, 0.782607> + 22154: < 0.046847, 0.617246, 0.785375> + 22155: < 0.046573, 0.571602, 0.819208> + 22156: < 0.091894, 0.615697, 0.782607> + 22157: < 0.092137, 0.660463, 0.745184> + 22158: < 0.046999, 0.662354, 0.747715> + 22159: < 0.046847, 0.617246, 0.785375> + 22160: < 0.046999, -0.662354, 0.747715> + 22161: < 0.046847, -0.617246, 0.785375> + 22162: < 0.000000, -0.617789, 0.786344> + 22163: < 0.000000, -0.663024, 0.748599> + 22164: < 0.046847, -0.617246, 0.785375> + 22165: < 0.046573, -0.571602, 0.819208> + 22166: < 0.000000, -0.572024, 0.820237> + 22167: < 0.000000, -0.617789, 0.786344> + 22168: < 0.046573, -0.571602, 0.819208> + 22169: < 0.046267, -0.525753, 0.849378> + 22170: < 0.000000, -0.526081, 0.850434> + 22171: < 0.000000, -0.572024, 0.820237> + 22172: < 0.046267, -0.525753, 0.849378> + 22173: < 0.045871, -0.479951, 0.876095> + 22174: < 0.000000, -0.480182, 0.877169> + 22175: < 0.000000, -0.526081, 0.850434> + 22176: < 0.045871, -0.479951, 0.876095> + 22177: < 0.045443, -0.434379, 0.899583> + 22178: < 0.000000, -0.434534, 0.900655> + 22179: < 0.000000, -0.480182, 0.877169> + 22180: < 0.045443, -0.434379, 0.899583> + 22181: < 0.045016, -0.389180, 0.920061> + 22182: < 0.000000, -0.389244, 0.921135> + 22183: < 0.000000, -0.434534, 0.900655> + 22184: < 0.045016, -0.389180, 0.920061> + 22185: < 0.044558, -0.344409, 0.937762> + 22186: < 0.000000, -0.344405, 0.938821> + 22187: < 0.000000, -0.389244, 0.921135> + 22188: < 0.044558, -0.344409, 0.937762> + 22189: < 0.044130, -0.300092, 0.952889> + 22190: < 0.000000, -0.300059, 0.953921> + 22191: < 0.000000, -0.344405, 0.938821> + 22192: < 0.044130, -0.300092, 0.952889> + 22193: < 0.043703, -0.256267, 0.965618> + 22194: < 0.000000, -0.256177, 0.966630> + 22195: < 0.000000, -0.300059, 0.953921> + 22196: < 0.043703, -0.256267, 0.965618> + 22197: < 0.043306, -0.212870, 0.976120> + 22198: < 0.000000, -0.212750, 0.977107> + 22199: < 0.000000, -0.256177, 0.966630> + 22200: < 0.043306, -0.212870, 0.976120> + 22201: < 0.042970, -0.169866, 0.984530> + 22202: < 0.000000, -0.169746, 0.985488> + 22203: < 0.000000, -0.212750, 0.977107> + 22204: < 0.042970, -0.169866, 0.984530> + 22205: < 0.042666, -0.127144, 0.990966> + 22206: < 0.000000, -0.127020, 0.991900> + 22207: < 0.000000, -0.169746, 0.985488> + 22208: < 0.042666, -0.127144, 0.990966> + 22209: < 0.042452, -0.084660, 0.995505> + 22210: < 0.000000, -0.084568, 0.996418> + 22211: < 0.000000, -0.127020, 0.991900> + 22212: < 0.042452, -0.084660, 0.995505> + 22213: < 0.042299, -0.042299, 0.998209> + 22214: < 0.000000, -0.042239, 0.999108> + 22215: < 0.000000, -0.084568, 0.996418> + 22216: < 0.042299, -0.042299, 0.998209> + 22217: < 0.042239, 0.000000, 0.999108> + 22218: < 0.000000, 0.000000, 1.000000> + 22219: < 0.000000, -0.042239, 0.999108> + 22220: < 0.042239, 0.000000, 0.999108> + 22221: < 0.042299, 0.042299, 0.998209> + 22222: < 0.000000, 0.042239, 0.999108> + 22223: < 0.000000, 0.000000, 1.000000> + 22224: < 0.042299, 0.042299, 0.998209> + 22225: < 0.042452, 0.084660, 0.995505> + 22226: < 0.000000, 0.084568, 0.996418> + 22227: < 0.000000, 0.042239, 0.999108> + 22228: < 0.042452, 0.084660, 0.995505> + 22229: < 0.042666, 0.127144, 0.990966> + 22230: < 0.000000, 0.127020, 0.991900> + 22231: < 0.000000, 0.084568, 0.996418> + 22232: < 0.042666, 0.127144, 0.990966> + 22233: < 0.042970, 0.169837, 0.984535> + 22234: < 0.000000, 0.169746, 0.985488> + 22235: < 0.000000, 0.127020, 0.991900> + 22236: < 0.042970, 0.169837, 0.984535> + 22237: < 0.043306, 0.212870, 0.976120> + 22238: < 0.000000, 0.212750, 0.977107> + 22239: < 0.000000, 0.169746, 0.985488> + 22240: < 0.043306, 0.212870, 0.976120> + 22241: < 0.043703, 0.256267, 0.965618> + 22242: < 0.000000, 0.256177, 0.966630> + 22243: < 0.000000, 0.212750, 0.977107> + 22244: < 0.043703, 0.256267, 0.965618> + 22245: < 0.044130, 0.300092, 0.952889> + 22246: < 0.000000, 0.300059, 0.953921> + 22247: < 0.000000, 0.256177, 0.966630> + 22248: < 0.044130, 0.300092, 0.952889> + 22249: < 0.044558, 0.344409, 0.937762> + 22250: < 0.000000, 0.344405, 0.938821> + 22251: < 0.000000, 0.300059, 0.953921> + 22252: < 0.044558, 0.344409, 0.937762> + 22253: < 0.045016, 0.389180, 0.920061> + 22254: < 0.000000, 0.389244, 0.921135> + 22255: < 0.000000, 0.344405, 0.938821> + 22256: < 0.045016, 0.389180, 0.920061> + 22257: < 0.045443, 0.434379, 0.899583> + 22258: < 0.000000, 0.434534, 0.900655> + 22259: < 0.000000, 0.389244, 0.921135> + 22260: < 0.045443, 0.434379, 0.899583> + 22261: < 0.045871, 0.479951, 0.876095> + 22262: < 0.000000, 0.480182, 0.877169> + 22263: < 0.000000, 0.434534, 0.900655> + 22264: < 0.045871, 0.479951, 0.876095> + 22265: < 0.046267, 0.525753, 0.849378> + 22266: < 0.000000, 0.526081, 0.850434> + 22267: < 0.000000, 0.480182, 0.877169> + 22268: < 0.046267, 0.525753, 0.849378> + 22269: < 0.046573, 0.571602, 0.819208> + 22270: < 0.000000, 0.572024, 0.820237> + 22271: < 0.000000, 0.526081, 0.850434> + 22272: < 0.046573, 0.571602, 0.819208> + 22273: < 0.046847, 0.617246, 0.785375> + 22274: < 0.000000, 0.617789, 0.786344> + 22275: < 0.000000, 0.572024, 0.820237> + 22276: < 0.046847, 0.617246, 0.785375> + 22277: < 0.046999, 0.662354, 0.747715> + 22278: < 0.000000, 0.663024, 0.748599> + 22279: < 0.000000, 0.617789, 0.786344> + 22280: < 0.000000, -0.663024, 0.748599> + 22281: < 0.000000, -0.617789, 0.786344> + 22282: <-0.046847, -0.617246, 0.785375> + 22283: <-0.046999, -0.662354, 0.747715> + 22284: < 0.000000, -0.617789, 0.786344> + 22285: < 0.000000, -0.572024, 0.820237> + 22286: <-0.046573, -0.571602, 0.819208> + 22287: <-0.046847, -0.617246, 0.785375> + 22288: < 0.000000, -0.572024, 0.820237> + 22289: < 0.000000, -0.526081, 0.850434> + 22290: <-0.046267, -0.525753, 0.849378> + 22291: <-0.046573, -0.571602, 0.819208> + 22292: < 0.000000, -0.526081, 0.850434> + 22293: < 0.000000, -0.480182, 0.877169> + 22294: <-0.045871, -0.479951, 0.876095> + 22295: <-0.046267, -0.525753, 0.849378> + 22296: < 0.000000, -0.480182, 0.877169> + 22297: < 0.000000, -0.434534, 0.900655> + 22298: <-0.045443, -0.434379, 0.899583> + 22299: <-0.045871, -0.479951, 0.876095> + 22300: < 0.000000, -0.434534, 0.900655> + 22301: < 0.000000, -0.389244, 0.921135> + 22302: <-0.045016, -0.389180, 0.920061> + 22303: <-0.045443, -0.434379, 0.899583> + 22304: < 0.000000, -0.389244, 0.921135> + 22305: < 0.000000, -0.344405, 0.938821> + 22306: <-0.044558, -0.344409, 0.937762> + 22307: <-0.045016, -0.389180, 0.920061> + 22308: < 0.000000, -0.344405, 0.938821> + 22309: < 0.000000, -0.300059, 0.953921> + 22310: <-0.044130, -0.300119, 0.952880> + 22311: <-0.044558, -0.344409, 0.937762> + 22312: < 0.000000, -0.300059, 0.953921> + 22313: < 0.000000, -0.256177, 0.966630> + 22314: <-0.043703, -0.256267, 0.965618> + 22315: <-0.044130, -0.300119, 0.952880> + 22316: < 0.000000, -0.256177, 0.966630> + 22317: < 0.000000, -0.212750, 0.977107> + 22318: <-0.043306, -0.212870, 0.976120> + 22319: <-0.043703, -0.256267, 0.965618> + 22320: < 0.000000, -0.212750, 0.977107> + 22321: < 0.000000, -0.169746, 0.985488> + 22322: <-0.042970, -0.169837, 0.984535> + 22323: <-0.043306, -0.212870, 0.976120> + 22324: < 0.000000, -0.169746, 0.985488> + 22325: < 0.000000, -0.127020, 0.991900> + 22326: <-0.042666, -0.127144, 0.990966> + 22327: <-0.042970, -0.169837, 0.984535> + 22328: < 0.000000, -0.127020, 0.991900> + 22329: < 0.000000, -0.084568, 0.996418> + 22330: <-0.042452, -0.084660, 0.995505> + 22331: <-0.042666, -0.127144, 0.990966> + 22332: < 0.000000, -0.084568, 0.996418> + 22333: < 0.000000, -0.042239, 0.999108> + 22334: <-0.042299, -0.042299, 0.998209> + 22335: <-0.042452, -0.084660, 0.995505> + 22336: < 0.000000, -0.042239, 0.999108> + 22337: < 0.000000, 0.000000, 1.000000> + 22338: <-0.042239, 0.000000, 0.999108> + 22339: <-0.042299, -0.042299, 0.998209> + 22340: < 0.000000, 0.000000, 1.000000> + 22341: < 0.000000, 0.042239, 0.999108> + 22342: <-0.042299, 0.042299, 0.998209> + 22343: <-0.042239, 0.000000, 0.999108> + 22344: < 0.000000, 0.042239, 0.999108> + 22345: < 0.000000, 0.084568, 0.996418> + 22346: <-0.042452, 0.084660, 0.995505> + 22347: <-0.042299, 0.042299, 0.998209> + 22348: < 0.000000, 0.084568, 0.996418> + 22349: < 0.000000, 0.127020, 0.991900> + 22350: <-0.042666, 0.127144, 0.990966> + 22351: <-0.042452, 0.084660, 0.995505> + 22352: < 0.000000, 0.127020, 0.991900> + 22353: < 0.000000, 0.169746, 0.985488> + 22354: <-0.042970, 0.169866, 0.984530> + 22355: <-0.042666, 0.127144, 0.990966> + 22356: < 0.000000, 0.169746, 0.985488> + 22357: < 0.000000, 0.212750, 0.977107> + 22358: <-0.043306, 0.212870, 0.976120> + 22359: <-0.042970, 0.169866, 0.984530> + 22360: < 0.000000, 0.212750, 0.977107> + 22361: < 0.000000, 0.256177, 0.966630> + 22362: <-0.043703, 0.256267, 0.965618> + 22363: <-0.043306, 0.212870, 0.976120> + 22364: < 0.000000, 0.256177, 0.966630> + 22365: < 0.000000, 0.300059, 0.953921> + 22366: <-0.044130, 0.300092, 0.952889> + 22367: <-0.043703, 0.256267, 0.965618> + 22368: < 0.000000, 0.300059, 0.953921> + 22369: < 0.000000, 0.344405, 0.938821> + 22370: <-0.044558, 0.344409, 0.937762> + 22371: <-0.044130, 0.300092, 0.952889> + 22372: < 0.000000, 0.344405, 0.938821> + 22373: < 0.000000, 0.389244, 0.921135> + 22374: <-0.045016, 0.389180, 0.920061> + 22375: <-0.044558, 0.344409, 0.937762> + 22376: < 0.000000, 0.389244, 0.921135> + 22377: < 0.000000, 0.434534, 0.900655> + 22378: <-0.045443, 0.434379, 0.899583> + 22379: <-0.045016, 0.389180, 0.920061> + 22380: < 0.000000, 0.434534, 0.900655> + 22381: < 0.000000, 0.480182, 0.877169> + 22382: <-0.045871, 0.479951, 0.876095> + 22383: <-0.045443, 0.434379, 0.899583> + 22384: < 0.000000, 0.480182, 0.877169> + 22385: < 0.000000, 0.526081, 0.850434> + 22386: <-0.046267, 0.525753, 0.849378> + 22387: <-0.045871, 0.479951, 0.876095> + 22388: < 0.000000, 0.526081, 0.850434> + 22389: < 0.000000, 0.572024, 0.820237> + 22390: <-0.046573, 0.571602, 0.819208> + 22391: <-0.046267, 0.525753, 0.849378> + 22392: < 0.000000, 0.572024, 0.820237> + 22393: < 0.000000, 0.617789, 0.786344> + 22394: <-0.046847, 0.617246, 0.785375> + 22395: <-0.046573, 0.571602, 0.819208> + 22396: < 0.000000, 0.617789, 0.786344> + 22397: < 0.000000, 0.663024, 0.748599> + 22398: <-0.046999, 0.662354, 0.747715> + 22399: <-0.046847, 0.617246, 0.785375> + 22400: <-0.046999, -0.662354, 0.747715> + 22401: <-0.046847, -0.617246, 0.785375> + 22402: <-0.091894, -0.615697, 0.782607> + 22403: <-0.092137, -0.660463, 0.745184> + 22404: <-0.046847, -0.617246, 0.785375> + 22405: <-0.046573, -0.571602, 0.819208> + 22406: <-0.091497, -0.570377, 0.816271> + 22407: <-0.091894, -0.615697, 0.782607> + 22408: <-0.046573, -0.571602, 0.819208> + 22409: <-0.046267, -0.525753, 0.849378> + 22410: <-0.091008, -0.524836, 0.846324> + 22411: <-0.091497, -0.570377, 0.816271> + 22412: <-0.046267, -0.525753, 0.849378> + 22413: <-0.045871, -0.479951, 0.876095> + 22414: <-0.090429, -0.479307, 0.872976> + 22415: <-0.091008, -0.524836, 0.846324> + 22416: <-0.045871, -0.479951, 0.876095> + 22417: <-0.045443, -0.434379, 0.899583> + 22418: <-0.089787, -0.433981, 0.896437> + 22419: <-0.090429, -0.479307, 0.872976> + 22420: <-0.045443, -0.434379, 0.899583> + 22421: <-0.045016, -0.389180, 0.920061> + 22422: <-0.089116, -0.388998, 0.916918> + 22423: <-0.089787, -0.433981, 0.896437> + 22424: <-0.045016, -0.389180, 0.920061> + 22425: <-0.044558, -0.344409, 0.937762> + 22426: <-0.088414, -0.344408, 0.934648> + 22427: <-0.089116, -0.388998, 0.916918> + 22428: <-0.044558, -0.344409, 0.937762> + 22429: <-0.044130, -0.300119, 0.952880> + 22430: <-0.087712, -0.300248, 0.949820> + 22431: <-0.088414, -0.344408, 0.934648> + 22432: <-0.044130, -0.300119, 0.952880> + 22433: <-0.043703, -0.256267, 0.965618> + 22434: <-0.087041, -0.256544, 0.962605> + 22435: <-0.087712, -0.300248, 0.949820> + 22436: <-0.043703, -0.256267, 0.965618> + 22437: <-0.043306, -0.212870, 0.976120> + 22438: <-0.086398, -0.213204, 0.973180> + 22439: <-0.087041, -0.256544, 0.962605> + 22440: <-0.043306, -0.212870, 0.976120> + 22441: <-0.042970, -0.169837, 0.984535> + 22442: <-0.085788, -0.170203, 0.981668> + 22443: <-0.086398, -0.213204, 0.973180> + 22444: <-0.042970, -0.169837, 0.984535> + 22445: <-0.042666, -0.127144, 0.990966> + 22446: <-0.085300, -0.127447, 0.988171> + 22447: <-0.085788, -0.170203, 0.981668> + 22448: <-0.042666, -0.127144, 0.990966> + 22449: <-0.042452, -0.084660, 0.995505> + 22450: <-0.084905, -0.084905, 0.992765> + 22451: <-0.085300, -0.127447, 0.988171> + 22452: <-0.042452, -0.084660, 0.995505> + 22453: <-0.042299, -0.042299, 0.998209> + 22454: <-0.084660, -0.042452, 0.995505> + 22455: <-0.084905, -0.084905, 0.992765> + 22456: <-0.042299, -0.042299, 0.998209> + 22457: <-0.042239, 0.000000, 0.999108> + 22458: <-0.084568, 0.000000, 0.996418> + 22459: <-0.084660, -0.042452, 0.995505> + 22460: <-0.042239, 0.000000, 0.999108> + 22461: <-0.042299, 0.042299, 0.998209> + 22462: <-0.084660, 0.042452, 0.995505> + 22463: <-0.084568, 0.000000, 0.996418> + 22464: <-0.042299, 0.042299, 0.998209> + 22465: <-0.042452, 0.084660, 0.995505> + 22466: <-0.084905, 0.084905, 0.992765> + 22467: <-0.084660, 0.042452, 0.995505> + 22468: <-0.042452, 0.084660, 0.995505> + 22469: <-0.042666, 0.127144, 0.990966> + 22470: <-0.085300, 0.127447, 0.988171> + 22471: <-0.084905, 0.084905, 0.992765> + 22472: <-0.042666, 0.127144, 0.990966> + 22473: <-0.042970, 0.169866, 0.984530> + 22474: <-0.085788, 0.170203, 0.981668> + 22475: <-0.085300, 0.127447, 0.988171> + 22476: <-0.042970, 0.169866, 0.984530> + 22477: <-0.043306, 0.212870, 0.976120> + 22478: <-0.086398, 0.213204, 0.973180> + 22479: <-0.085788, 0.170203, 0.981668> + 22480: <-0.043306, 0.212870, 0.976120> + 22481: <-0.043703, 0.256267, 0.965618> + 22482: <-0.087041, 0.256544, 0.962605> + 22483: <-0.086398, 0.213204, 0.973180> + 22484: <-0.043703, 0.256267, 0.965618> + 22485: <-0.044130, 0.300092, 0.952889> + 22486: <-0.087712, 0.300248, 0.949820> + 22487: <-0.087041, 0.256544, 0.962605> + 22488: <-0.044130, 0.300092, 0.952889> + 22489: <-0.044558, 0.344409, 0.937762> + 22490: <-0.088414, 0.344408, 0.934648> + 22491: <-0.087712, 0.300248, 0.949820> + 22492: <-0.044558, 0.344409, 0.937762> + 22493: <-0.045016, 0.389180, 0.920061> + 22494: <-0.089116, 0.388998, 0.916918> + 22495: <-0.088414, 0.344408, 0.934648> + 22496: <-0.045016, 0.389180, 0.920061> + 22497: <-0.045443, 0.434379, 0.899583> + 22498: <-0.089787, 0.433981, 0.896437> + 22499: <-0.089116, 0.388998, 0.916918> + 22500: <-0.045443, 0.434379, 0.899583> + 22501: <-0.045871, 0.479951, 0.876095> + 22502: <-0.090429, 0.479307, 0.872976> + 22503: <-0.089787, 0.433981, 0.896437> + 22504: <-0.045871, 0.479951, 0.876095> + 22505: <-0.046267, 0.525753, 0.849378> + 22506: <-0.091008, 0.524836, 0.846324> + 22507: <-0.090429, 0.479307, 0.872976> + 22508: <-0.046267, 0.525753, 0.849378> + 22509: <-0.046573, 0.571602, 0.819208> + 22510: <-0.091497, 0.570377, 0.816271> + 22511: <-0.091008, 0.524836, 0.846324> + 22512: <-0.046573, 0.571602, 0.819208> + 22513: <-0.046847, 0.617246, 0.785375> + 22514: <-0.091894, 0.615697, 0.782607> + 22515: <-0.091497, 0.570377, 0.816271> + 22516: <-0.046847, 0.617246, 0.785375> + 22517: <-0.046999, 0.662354, 0.747715> + 22518: <-0.092137, 0.660463, 0.745184> + 22519: <-0.091894, 0.615697, 0.782607> + 22520: <-0.092137, -0.660463, 0.745184> + 22521: <-0.091894, -0.615697, 0.782607> + 22522: <-0.134985, -0.613218, 0.778295> + 22523: <-0.135260, -0.657468, 0.741243> + 22524: <-0.091894, -0.615697, 0.782607> + 22525: <-0.091497, -0.570377, 0.816271> + 22526: <-0.134618, -0.568382, 0.811677> + 22527: <-0.134985, -0.613218, 0.778295> + 22528: <-0.091497, -0.570377, 0.816271> + 22529: <-0.091008, -0.524836, 0.846324> + 22530: <-0.134100, -0.523307, 0.841527> + 22531: <-0.134618, -0.568382, 0.811677> + 22532: <-0.091008, -0.524836, 0.846324> + 22533: <-0.090429, -0.479307, 0.872976> + 22534: <-0.133553, -0.478208, 0.868033> + 22535: <-0.134100, -0.523307, 0.841527> + 22536: <-0.090429, -0.479307, 0.872976> + 22537: <-0.089787, -0.433981, 0.896437> + 22538: <-0.132911, -0.433281, 0.891405> + 22539: <-0.133553, -0.478208, 0.868033> + 22540: <-0.089787, -0.433981, 0.896437> + 22541: <-0.089116, -0.388998, 0.916918> + 22542: <-0.132240, -0.388632, 0.911854> + 22543: <-0.132911, -0.433281, 0.891405> + 22544: <-0.089116, -0.388998, 0.916918> + 22545: <-0.088414, -0.344408, 0.934648> + 22546: <-0.131509, -0.344322, 0.929596> + 22547: <-0.132240, -0.388632, 0.911854> + 22548: <-0.088414, -0.344408, 0.934648> + 22549: <-0.087712, -0.300248, 0.949820> + 22550: <-0.130743, -0.300427, 0.944802> + 22551: <-0.131509, -0.344322, 0.929596> + 22552: <-0.087712, -0.300248, 0.949820> + 22553: <-0.087041, -0.256544, 0.962605> + 22554: <-0.129981, -0.256880, 0.957663> + 22555: <-0.130743, -0.300427, 0.944802> + 22556: <-0.087041, -0.256544, 0.962605> + 22557: <-0.086398, -0.213204, 0.973180> + 22558: <-0.129250, -0.213666, 0.968319> + 22559: <-0.129981, -0.256880, 0.957663> + 22560: <-0.086398, -0.213204, 0.973180> + 22561: <-0.085788, -0.170203, 0.981668> + 22562: <-0.128545, -0.170691, 0.976904> + 22563: <-0.129250, -0.213666, 0.968319> + 22564: <-0.085788, -0.170203, 0.981668> + 22565: <-0.085300, -0.127447, 0.988171> + 22566: <-0.127935, -0.127935, 0.983497> + 22567: <-0.128545, -0.170691, 0.976904> + 22568: <-0.085300, -0.127447, 0.988171> + 22569: <-0.084905, -0.084905, 0.992765> + 22570: <-0.127447, -0.085300, 0.988171> + 22571: <-0.127935, -0.127935, 0.983497> + 22572: <-0.084905, -0.084905, 0.992765> + 22573: <-0.084660, -0.042452, 0.995505> + 22574: <-0.127144, -0.042666, 0.990966> + 22575: <-0.127447, -0.085300, 0.988171> + 22576: <-0.084660, -0.042452, 0.995505> + 22577: <-0.084568, 0.000000, 0.996418> + 22578: <-0.127020, 0.000000, 0.991900> + 22579: <-0.127144, -0.042666, 0.990966> + 22580: <-0.084568, 0.000000, 0.996418> + 22581: <-0.084660, 0.042452, 0.995505> + 22582: <-0.127144, 0.042666, 0.990966> + 22583: <-0.127020, 0.000000, 0.991900> + 22584: <-0.084660, 0.042452, 0.995505> + 22585: <-0.084905, 0.084905, 0.992765> + 22586: <-0.127447, 0.085300, 0.988171> + 22587: <-0.127144, 0.042666, 0.990966> + 22588: <-0.084905, 0.084905, 0.992765> + 22589: <-0.085300, 0.127447, 0.988171> + 22590: <-0.127935, 0.127935, 0.983497> + 22591: <-0.127447, 0.085300, 0.988171> + 22592: <-0.085300, 0.127447, 0.988171> + 22593: <-0.085788, 0.170203, 0.981668> + 22594: <-0.128545, 0.170691, 0.976904> + 22595: <-0.127935, 0.127935, 0.983497> + 22596: <-0.085788, 0.170203, 0.981668> + 22597: <-0.086398, 0.213204, 0.973180> + 22598: <-0.129250, 0.213666, 0.968319> + 22599: <-0.128545, 0.170691, 0.976904> + 22600: <-0.086398, 0.213204, 0.973180> + 22601: <-0.087041, 0.256544, 0.962605> + 22602: <-0.129981, 0.256880, 0.957663> + 22603: <-0.129250, 0.213666, 0.968319> + 22604: <-0.087041, 0.256544, 0.962605> + 22605: <-0.087712, 0.300248, 0.949820> + 22606: <-0.130743, 0.300427, 0.944802> + 22607: <-0.129981, 0.256880, 0.957663> + 22608: <-0.087712, 0.300248, 0.949820> + 22609: <-0.088414, 0.344408, 0.934648> + 22610: <-0.131509, 0.344322, 0.929596> + 22611: <-0.130743, 0.300427, 0.944802> + 22612: <-0.088414, 0.344408, 0.934648> + 22613: <-0.089116, 0.388998, 0.916918> + 22614: <-0.132240, 0.388632, 0.911854> + 22615: <-0.131509, 0.344322, 0.929596> + 22616: <-0.089116, 0.388998, 0.916918> + 22617: <-0.089787, 0.433981, 0.896437> + 22618: <-0.132913, 0.433256, 0.891416> + 22619: <-0.132240, 0.388632, 0.911854> + 22620: <-0.089787, 0.433981, 0.896437> + 22621: <-0.090429, 0.479307, 0.872976> + 22622: <-0.133553, 0.478208, 0.868033> + 22623: <-0.132913, 0.433256, 0.891416> + 22624: <-0.090429, 0.479307, 0.872976> + 22625: <-0.091008, 0.524836, 0.846324> + 22626: <-0.134100, 0.523307, 0.841527> + 22627: <-0.133553, 0.478208, 0.868033> + 22628: <-0.091008, 0.524836, 0.846324> + 22629: <-0.091497, 0.570377, 0.816271> + 22630: <-0.134618, 0.568382, 0.811677> + 22631: <-0.134100, 0.523307, 0.841527> + 22632: <-0.091497, 0.570377, 0.816271> + 22633: <-0.091894, 0.615697, 0.782607> + 22634: <-0.134985, 0.613218, 0.778295> + 22635: <-0.134618, 0.568382, 0.811677> + 22636: <-0.091894, 0.615697, 0.782607> + 22637: <-0.092137, 0.660463, 0.745184> + 22638: <-0.135260, 0.657468, 0.741243> + 22639: <-0.134985, 0.613218, 0.778295> + 22640: <-0.135260, -0.657468, 0.741243> + 22641: <-0.134985, -0.613218, 0.778295> + 22642: <-0.176461, -0.609892, 0.772589> + 22643: <-0.176644, -0.653502, 0.736025> + 22644: <-0.134985, -0.613218, 0.778295> + 22645: <-0.134618, -0.568382, 0.811677> + 22646: <-0.176188, -0.565675, 0.805587> + 22647: <-0.176461, -0.609892, 0.772589> + 22648: <-0.134618, -0.568382, 0.811677> + 22649: <-0.134100, -0.523307, 0.841527> + 22650: <-0.175853, -0.521180, 0.835133> + 22651: <-0.176188, -0.565675, 0.805587> + 22652: <-0.134100, -0.523307, 0.841527> + 22653: <-0.133553, -0.478208, 0.868033> + 22654: <-0.175453, -0.476614, 0.861426> + 22655: <-0.175853, -0.521180, 0.835133> + 22656: <-0.133553, -0.478208, 0.868033> + 22657: <-0.132911, -0.433281, 0.891405> + 22658: <-0.175026, -0.432149, 0.884654> + 22659: <-0.175453, -0.476614, 0.861426> + 22660: <-0.132911, -0.433281, 0.891405> + 22661: <-0.132240, -0.388632, 0.911854> + 22662: <-0.174541, -0.387965, 0.904997> + 22663: <-0.175026, -0.432149, 0.884654> + 22664: <-0.132240, -0.388632, 0.911854> + 22665: <-0.131509, -0.344322, 0.929596> + 22666: <-0.173989, -0.344072, 0.922682> + 22667: <-0.174541, -0.387965, 0.904997> + 22668: <-0.131509, -0.344322, 0.929596> + 22669: <-0.130743, -0.300427, 0.944802> + 22670: <-0.173351, -0.300496, 0.937897> + 22671: <-0.173989, -0.344072, 0.922682> + 22672: <-0.130743, -0.300427, 0.944802> + 22673: <-0.129981, -0.256880, 0.957663> + 22674: <-0.172679, -0.257217, 0.950800> + 22675: <-0.173351, -0.300496, 0.937897> + 22676: <-0.129981, -0.256880, 0.957663> + 22677: <-0.129250, -0.213666, 0.968319> + 22678: <-0.172005, -0.214182, 0.961530> + 22679: <-0.172679, -0.257217, 0.950800> + 22680: <-0.129250, -0.213666, 0.968319> + 22681: <-0.128545, -0.170691, 0.976904> + 22682: <-0.171305, -0.171305, 0.970211> + 22683: <-0.172005, -0.214182, 0.961530> + 22684: <-0.128545, -0.170691, 0.976904> + 22685: <-0.127935, -0.127935, 0.983497> + 22686: <-0.170691, -0.128545, 0.976904> + 22687: <-0.171305, -0.171305, 0.970211> + 22688: <-0.127935, -0.127935, 0.983497> + 22689: <-0.127447, -0.085300, 0.988171> + 22690: <-0.170203, -0.085788, 0.981668> + 22691: <-0.170691, -0.128545, 0.976904> + 22692: <-0.127447, -0.085300, 0.988171> + 22693: <-0.127144, -0.042666, 0.990966> + 22694: <-0.169866, -0.042970, 0.984530> + 22695: <-0.170203, -0.085788, 0.981668> + 22696: <-0.127144, -0.042666, 0.990966> + 22697: <-0.127020, 0.000000, 0.991900> + 22698: <-0.169746, 0.000000, 0.985488> + 22699: <-0.169866, -0.042970, 0.984530> + 22700: <-0.127020, 0.000000, 0.991900> + 22701: <-0.127144, 0.042666, 0.990966> + 22702: <-0.169866, 0.042970, 0.984530> + 22703: <-0.169746, 0.000000, 0.985488> + 22704: <-0.127144, 0.042666, 0.990966> + 22705: <-0.127447, 0.085300, 0.988171> + 22706: <-0.170203, 0.085788, 0.981668> + 22707: <-0.169866, 0.042970, 0.984530> + 22708: <-0.127447, 0.085300, 0.988171> + 22709: <-0.127935, 0.127935, 0.983497> + 22710: <-0.170691, 0.128545, 0.976904> + 22711: <-0.170203, 0.085788, 0.981668> + 22712: <-0.127935, 0.127935, 0.983497> + 22713: <-0.128545, 0.170691, 0.976904> + 22714: <-0.171305, 0.171305, 0.970211> + 22715: <-0.170691, 0.128545, 0.976904> + 22716: <-0.128545, 0.170691, 0.976904> + 22717: <-0.129250, 0.213666, 0.968319> + 22718: <-0.172005, 0.214182, 0.961530> + 22719: <-0.171305, 0.171305, 0.970211> + 22720: <-0.129250, 0.213666, 0.968319> + 22721: <-0.129981, 0.256880, 0.957663> + 22722: <-0.172679, 0.257217, 0.950800> + 22723: <-0.172005, 0.214182, 0.961530> + 22724: <-0.129981, 0.256880, 0.957663> + 22725: <-0.130743, 0.300427, 0.944802> + 22726: <-0.173351, 0.300496, 0.937897> + 22727: <-0.172679, 0.257217, 0.950800> + 22728: <-0.130743, 0.300427, 0.944802> + 22729: <-0.131509, 0.344322, 0.929596> + 22730: <-0.173989, 0.344072, 0.922682> + 22731: <-0.173351, 0.300496, 0.937897> + 22732: <-0.131509, 0.344322, 0.929596> + 22733: <-0.132240, 0.388632, 0.911854> + 22734: <-0.174541, 0.387965, 0.904997> + 22735: <-0.173989, 0.344072, 0.922682> + 22736: <-0.132240, 0.388632, 0.911854> + 22737: <-0.132913, 0.433256, 0.891416> + 22738: <-0.175026, 0.432149, 0.884654> + 22739: <-0.174541, 0.387965, 0.904997> + 22740: <-0.132913, 0.433256, 0.891416> + 22741: <-0.133553, 0.478208, 0.868033> + 22742: <-0.175453, 0.476614, 0.861426> + 22743: <-0.175026, 0.432149, 0.884654> + 22744: <-0.133553, 0.478208, 0.868033> + 22745: <-0.134100, 0.523307, 0.841527> + 22746: <-0.175853, 0.521180, 0.835133> + 22747: <-0.175453, 0.476614, 0.861426> + 22748: <-0.134100, 0.523307, 0.841527> + 22749: <-0.134618, 0.568382, 0.811677> + 22750: <-0.176188, 0.565675, 0.805587> + 22751: <-0.175853, 0.521180, 0.835133> + 22752: <-0.134618, 0.568382, 0.811677> + 22753: <-0.134985, 0.613218, 0.778295> + 22754: <-0.176461, 0.609892, 0.772589> + 22755: <-0.176188, 0.565675, 0.805587> + 22756: <-0.134985, 0.613218, 0.778295> + 22757: <-0.135260, 0.657468, 0.741243> + 22758: <-0.176644, 0.653502, 0.736025> + 22759: <-0.176461, 0.609892, 0.772589> + 22760: <-0.176644, -0.653502, 0.736025> + 22761: <-0.176461, -0.609892, 0.772589> + 22762: <-0.216596, -0.605748, 0.765608> + 22763: <-0.216660, -0.648606, 0.729636> + 22764: <-0.176461, -0.609892, 0.772589> + 22765: <-0.176188, -0.565675, 0.805587> + 22766: <-0.216534, -0.562257, 0.798110> + 22767: <-0.216596, -0.605748, 0.765608> + 22768: <-0.176188, -0.565675, 0.805587> + 22769: <-0.175853, -0.521180, 0.835133> + 22770: <-0.216475, -0.518435, 0.827263> + 22771: <-0.216534, -0.562257, 0.798110> + 22772: <-0.175853, -0.521180, 0.835133> + 22773: <-0.175453, -0.476614, 0.861426> + 22774: <-0.216413, -0.474515, 0.853230> + 22775: <-0.216475, -0.518435, 0.827263> + 22776: <-0.175453, -0.476614, 0.861426> + 22777: <-0.175026, -0.432149, 0.884654> + 22778: <-0.216320, -0.430657, 0.876208> + 22779: <-0.216413, -0.474515, 0.853230> + 22780: <-0.175026, -0.432149, 0.884654> + 22781: <-0.174541, -0.387965, 0.904997> + 22782: <-0.216199, -0.386985, 0.896382> + 22783: <-0.216320, -0.430657, 0.876208> + 22784: <-0.174541, -0.387965, 0.904997> + 22785: <-0.173989, -0.344072, 0.922682> + 22786: <-0.215982, -0.343582, 0.913949> + 22787: <-0.216199, -0.386985, 0.896382> + 22788: <-0.173989, -0.344072, 0.922682> + 22789: <-0.173351, -0.300496, 0.937897> + 22790: <-0.215649, -0.300461, 0.929096> + 22791: <-0.215982, -0.343582, 0.913949> + 22792: <-0.173351, -0.300496, 0.937897> + 22793: <-0.172679, -0.257217, 0.950800> + 22794: <-0.215220, -0.257519, 0.942000> + 22795: <-0.215649, -0.300461, 0.929096> + 22796: <-0.172679, -0.257217, 0.950800> + 22797: <-0.172005, -0.214182, 0.961530> + 22798: <-0.214732, -0.214732, 0.952775> + 22799: <-0.215220, -0.257519, 0.942000> + 22800: <-0.172005, -0.214182, 0.961530> + 22801: <-0.171305, -0.171305, 0.970211> + 22802: <-0.214182, -0.172005, 0.961530> + 22803: <-0.214732, -0.214732, 0.952775> + 22804: <-0.171305, -0.171305, 0.970211> + 22805: <-0.170691, -0.128545, 0.976904> + 22806: <-0.213666, -0.129250, 0.968319> + 22807: <-0.214182, -0.172005, 0.961530> + 22808: <-0.170691, -0.128545, 0.976904> + 22809: <-0.170203, -0.085788, 0.981668> + 22810: <-0.213204, -0.086398, 0.973180> + 22811: <-0.213666, -0.129250, 0.968319> + 22812: <-0.170203, -0.085788, 0.981668> + 22813: <-0.169866, -0.042970, 0.984530> + 22814: <-0.212870, -0.043306, 0.976120> + 22815: <-0.213204, -0.086398, 0.973180> + 22816: <-0.169866, -0.042970, 0.984530> + 22817: <-0.169746, 0.000000, 0.985488> + 22818: <-0.212750, 0.000000, 0.977107> + 22819: <-0.212870, -0.043306, 0.976120> + 22820: <-0.169746, 0.000000, 0.985488> + 22821: <-0.169866, 0.042970, 0.984530> + 22822: <-0.212870, 0.043306, 0.976120> + 22823: <-0.212750, 0.000000, 0.977107> + 22824: <-0.169866, 0.042970, 0.984530> + 22825: <-0.170203, 0.085788, 0.981668> + 22826: <-0.213204, 0.086398, 0.973180> + 22827: <-0.212870, 0.043306, 0.976120> + 22828: <-0.170203, 0.085788, 0.981668> + 22829: <-0.170691, 0.128545, 0.976904> + 22830: <-0.213666, 0.129250, 0.968319> + 22831: <-0.213204, 0.086398, 0.973180> + 22832: <-0.170691, 0.128545, 0.976904> + 22833: <-0.171305, 0.171305, 0.970211> + 22834: <-0.214182, 0.172005, 0.961530> + 22835: <-0.213666, 0.129250, 0.968319> + 22836: <-0.171305, 0.171305, 0.970211> + 22837: <-0.172005, 0.214182, 0.961530> + 22838: <-0.214732, 0.214732, 0.952775> + 22839: <-0.214182, 0.172005, 0.961530> + 22840: <-0.172005, 0.214182, 0.961530> + 22841: <-0.172679, 0.257217, 0.950800> + 22842: <-0.215220, 0.257519, 0.942000> + 22843: <-0.214732, 0.214732, 0.952775> + 22844: <-0.172679, 0.257217, 0.950800> + 22845: <-0.173351, 0.300496, 0.937897> + 22846: <-0.215649, 0.300461, 0.929096> + 22847: <-0.215220, 0.257519, 0.942000> + 22848: <-0.173351, 0.300496, 0.937897> + 22849: <-0.173989, 0.344072, 0.922682> + 22850: <-0.215982, 0.343582, 0.913949> + 22851: <-0.215649, 0.300461, 0.929096> + 22852: <-0.173989, 0.344072, 0.922682> + 22853: <-0.174541, 0.387965, 0.904997> + 22854: <-0.216199, 0.386985, 0.896382> + 22855: <-0.215982, 0.343582, 0.913949> + 22856: <-0.174541, 0.387965, 0.904997> + 22857: <-0.175026, 0.432149, 0.884654> + 22858: <-0.216320, 0.430657, 0.876208> + 22859: <-0.216199, 0.386985, 0.896382> + 22860: <-0.175026, 0.432149, 0.884654> + 22861: <-0.175453, 0.476614, 0.861426> + 22862: <-0.216413, 0.474515, 0.853230> + 22863: <-0.216320, 0.430657, 0.876208> + 22864: <-0.175453, 0.476614, 0.861426> + 22865: <-0.175853, 0.521180, 0.835133> + 22866: <-0.216475, 0.518435, 0.827263> + 22867: <-0.216413, 0.474515, 0.853230> + 22868: <-0.175853, 0.521180, 0.835133> + 22869: <-0.176188, 0.565675, 0.805587> + 22870: <-0.216534, 0.562257, 0.798110> + 22871: <-0.216475, 0.518435, 0.827263> + 22872: <-0.176188, 0.565675, 0.805587> + 22873: <-0.176461, 0.609892, 0.772589> + 22874: <-0.216596, 0.605748, 0.765608> + 22875: <-0.216534, 0.562257, 0.798110> + 22876: <-0.176461, 0.609892, 0.772589> + 22877: <-0.176644, 0.653502, 0.736025> + 22878: <-0.216660, 0.648606, 0.729636> + 22879: <-0.216596, 0.605748, 0.765608> + 22880: <-0.216660, -0.648606, 0.729636> + 22881: <-0.216596, -0.605748, 0.765608> + 22882: <-0.255750, -0.600829, 0.757361> + 22883: <-0.255632, -0.642833, 0.722093> + 22884: <-0.216596, -0.605748, 0.765608> + 22885: <-0.216534, -0.562257, 0.798110> + 22886: <-0.255937, -0.558172, 0.789266> + 22887: <-0.255750, -0.600829, 0.757361> + 22888: <-0.216534, -0.562257, 0.798110> + 22889: <-0.216475, -0.518435, 0.827263> + 22890: <-0.256243, -0.515110, 0.817925> + 22891: <-0.255937, -0.558172, 0.789266> + 22892: <-0.216475, -0.518435, 0.827263> + 22893: <-0.216413, -0.474515, 0.853230> + 22894: <-0.256606, -0.471888, 0.843490> + 22895: <-0.256243, -0.515110, 0.817925> + 22896: <-0.216413, -0.474515, 0.853230> + 22897: <-0.216320, -0.430657, 0.876208> + 22898: <-0.256999, -0.428698, 0.866124> + 22899: <-0.256606, -0.471888, 0.843490> + 22900: <-0.216320, -0.430657, 0.876208> + 22901: <-0.216199, -0.386985, 0.896382> + 22902: <-0.257364, -0.385664, 0.886018> + 22903: <-0.256999, -0.428698, 0.866124> + 22904: <-0.216199, -0.386985, 0.896382> + 22905: <-0.215982, -0.343582, 0.913949> + 22906: <-0.257643, -0.342852, 0.903367> + 22907: <-0.257364, -0.385664, 0.886018> + 22908: <-0.215982, -0.343582, 0.913949> + 22909: <-0.215649, -0.300461, 0.929096> + 22910: <-0.257736, -0.300219, 0.918390> + 22911: <-0.257643, -0.342852, 0.903367> + 22912: <-0.215649, -0.300461, 0.929096> + 22913: <-0.215220, -0.257519, 0.942000> + 22914: <-0.257702, -0.257702, 0.931225> + 22915: <-0.257736, -0.300219, 0.918390> + 22916: <-0.215220, -0.257519, 0.942000> + 22917: <-0.214732, -0.214732, 0.952775> + 22918: <-0.257519, -0.215220, 0.942000> + 22919: <-0.257702, -0.257702, 0.931225> + 22920: <-0.214732, -0.214732, 0.952775> + 22921: <-0.214182, -0.172005, 0.961530> + 22922: <-0.257217, -0.172679, 0.950800> + 22923: <-0.257519, -0.215220, 0.942000> + 22924: <-0.214182, -0.172005, 0.961530> + 22925: <-0.213666, -0.129250, 0.968319> + 22926: <-0.256880, -0.129981, 0.957663> + 22927: <-0.257217, -0.172679, 0.950800> + 22928: <-0.213666, -0.129250, 0.968319> + 22929: <-0.213204, -0.086398, 0.973180> + 22930: <-0.256544, -0.087041, 0.962605> + 22931: <-0.256880, -0.129981, 0.957663> + 22932: <-0.213204, -0.086398, 0.973180> + 22933: <-0.212870, -0.043306, 0.976120> + 22934: <-0.256267, -0.043703, 0.965618> + 22935: <-0.256544, -0.087041, 0.962605> + 22936: <-0.212870, -0.043306, 0.976120> + 22937: <-0.212750, 0.000000, 0.977107> + 22938: <-0.256177, 0.000000, 0.966630> + 22939: <-0.256267, -0.043703, 0.965618> + 22940: <-0.212750, 0.000000, 0.977107> + 22941: <-0.212870, 0.043306, 0.976120> + 22942: <-0.256267, 0.043703, 0.965618> + 22943: <-0.256177, 0.000000, 0.966630> + 22944: <-0.212870, 0.043306, 0.976120> + 22945: <-0.213204, 0.086398, 0.973180> + 22946: <-0.256544, 0.087041, 0.962605> + 22947: <-0.256267, 0.043703, 0.965618> + 22948: <-0.213204, 0.086398, 0.973180> + 22949: <-0.213666, 0.129250, 0.968319> + 22950: <-0.256880, 0.129981, 0.957663> + 22951: <-0.256544, 0.087041, 0.962605> + 22952: <-0.213666, 0.129250, 0.968319> + 22953: <-0.214182, 0.172005, 0.961530> + 22954: <-0.257217, 0.172679, 0.950800> + 22955: <-0.256880, 0.129981, 0.957663> + 22956: <-0.214182, 0.172005, 0.961530> + 22957: <-0.214732, 0.214732, 0.952775> + 22958: <-0.257519, 0.215220, 0.942000> + 22959: <-0.257217, 0.172679, 0.950800> + 22960: <-0.214732, 0.214732, 0.952775> + 22961: <-0.215220, 0.257519, 0.942000> + 22962: <-0.257702, 0.257702, 0.931225> + 22963: <-0.257519, 0.215220, 0.942000> + 22964: <-0.215220, 0.257519, 0.942000> + 22965: <-0.215649, 0.300461, 0.929096> + 22966: <-0.257736, 0.300219, 0.918390> + 22967: <-0.257702, 0.257702, 0.931225> + 22968: <-0.215649, 0.300461, 0.929096> + 22969: <-0.215982, 0.343582, 0.913949> + 22970: <-0.257643, 0.342852, 0.903367> + 22971: <-0.257736, 0.300219, 0.918390> + 22972: <-0.215982, 0.343582, 0.913949> + 22973: <-0.216199, 0.386985, 0.896382> + 22974: <-0.257364, 0.385664, 0.886018> + 22975: <-0.257643, 0.342852, 0.903367> + 22976: <-0.216199, 0.386985, 0.896382> + 22977: <-0.216320, 0.430657, 0.876208> + 22978: <-0.256999, 0.428698, 0.866124> + 22979: <-0.257364, 0.385664, 0.886018> + 22980: <-0.216320, 0.430657, 0.876208> + 22981: <-0.216413, 0.474515, 0.853230> + 22982: <-0.256606, 0.471888, 0.843490> + 22983: <-0.256999, 0.428698, 0.866124> + 22984: <-0.216413, 0.474515, 0.853230> + 22985: <-0.216475, 0.518435, 0.827263> + 22986: <-0.256243, 0.515110, 0.817925> + 22987: <-0.256606, 0.471888, 0.843490> + 22988: <-0.216475, 0.518435, 0.827263> + 22989: <-0.216534, 0.562257, 0.798110> + 22990: <-0.255937, 0.558172, 0.789266> + 22991: <-0.256243, 0.515110, 0.817925> + 22992: <-0.216534, 0.562257, 0.798110> + 22993: <-0.216596, 0.605748, 0.765608> + 22994: <-0.255750, 0.600829, 0.757361> + 22995: <-0.255937, 0.558172, 0.789266> + 22996: <-0.216596, 0.605748, 0.765608> + 22997: <-0.216660, 0.648606, 0.729636> + 22998: <-0.255632, 0.642833, 0.722093> + 22999: <-0.255750, 0.600829, 0.757361> + 23000: <-0.255632, -0.642833, 0.722093> + 23001: <-0.255750, -0.600829, 0.757361> + 23002: <-0.294207, -0.595158, 0.747816> + 23003: <-0.293904, -0.636150, 0.713396> + 23004: <-0.255750, -0.600829, 0.757361> + 23005: <-0.255937, -0.558172, 0.789266> + 23006: <-0.294729, -0.553415, 0.779017> + 23007: <-0.294207, -0.595158, 0.747816> + 23008: <-0.255937, -0.558172, 0.789266> + 23009: <-0.256243, -0.515110, 0.817925> + 23010: <-0.295457, -0.511198, 0.807082> + 23011: <-0.294729, -0.553415, 0.779017> + 23012: <-0.256243, -0.515110, 0.817925> + 23013: <-0.256606, -0.471888, 0.843490> + 23014: <-0.296339, -0.468770, 0.832128> + 23015: <-0.295457, -0.511198, 0.807082> + 23016: <-0.256606, -0.471888, 0.843490> + 23017: <-0.256999, -0.428698, 0.866124> + 23018: <-0.297287, -0.426323, 0.854324> + 23019: <-0.296339, -0.468770, 0.832128> + 23020: <-0.256999, -0.428698, 0.866124> + 23021: <-0.257364, -0.385664, 0.886018> + 23022: <-0.298259, -0.383986, 0.873840> + 23023: <-0.297287, -0.426323, 0.854324> + 23024: <-0.257364, -0.385664, 0.886018> + 23025: <-0.257643, -0.342852, 0.903367> + 23026: <-0.299085, -0.341811, 0.890906> + 23027: <-0.298259, -0.383986, 0.873840> + 23028: <-0.257643, -0.342852, 0.903367> + 23029: <-0.257736, -0.300219, 0.918390> + 23030: <-0.299762, -0.299762, 0.905696> + 23031: <-0.299085, -0.341811, 0.890906> + 23032: <-0.257736, -0.300219, 0.918390> + 23033: <-0.257702, -0.257702, 0.931225> + 23034: <-0.300219, -0.257736, 0.918390> + 23035: <-0.299762, -0.299762, 0.905696> + 23036: <-0.257702, -0.257702, 0.931225> + 23037: <-0.257519, -0.215220, 0.942000> + 23038: <-0.300461, -0.215649, 0.929096> + 23039: <-0.300219, -0.257736, 0.918390> + 23040: <-0.257519, -0.215220, 0.942000> + 23041: <-0.257217, -0.172679, 0.950800> + 23042: <-0.300496, -0.173351, 0.937897> + 23043: <-0.300461, -0.215649, 0.929096> + 23044: <-0.257217, -0.172679, 0.950800> + 23045: <-0.256880, -0.129981, 0.957663> + 23046: <-0.300427, -0.130743, 0.944802> + 23047: <-0.300496, -0.173351, 0.937897> + 23048: <-0.256880, -0.129981, 0.957663> + 23049: <-0.256544, -0.087041, 0.962605> + 23050: <-0.300248, -0.087712, 0.949820> + 23051: <-0.300427, -0.130743, 0.944802> + 23052: <-0.256544, -0.087041, 0.962605> + 23053: <-0.256267, -0.043703, 0.965618> + 23054: <-0.300092, -0.044130, 0.952889> + 23055: <-0.300248, -0.087712, 0.949820> + 23056: <-0.256267, -0.043703, 0.965618> + 23057: <-0.256177, 0.000000, 0.966630> + 23058: <-0.300059, 0.000000, 0.953921> + 23059: <-0.300092, -0.044130, 0.952889> + 23060: <-0.256177, 0.000000, 0.966630> + 23061: <-0.256267, 0.043703, 0.965618> + 23062: <-0.300092, 0.044130, 0.952889> + 23063: <-0.300059, 0.000000, 0.953921> + 23064: <-0.256267, 0.043703, 0.965618> + 23065: <-0.256544, 0.087041, 0.962605> + 23066: <-0.300248, 0.087712, 0.949820> + 23067: <-0.300092, 0.044130, 0.952889> + 23068: <-0.256544, 0.087041, 0.962605> + 23069: <-0.256880, 0.129981, 0.957663> + 23070: <-0.300427, 0.130743, 0.944802> + 23071: <-0.300248, 0.087712, 0.949820> + 23072: <-0.256880, 0.129981, 0.957663> + 23073: <-0.257217, 0.172679, 0.950800> + 23074: <-0.300496, 0.173351, 0.937897> + 23075: <-0.300427, 0.130743, 0.944802> + 23076: <-0.257217, 0.172679, 0.950800> + 23077: <-0.257519, 0.215220, 0.942000> + 23078: <-0.300461, 0.215649, 0.929096> + 23079: <-0.300496, 0.173351, 0.937897> + 23080: <-0.257519, 0.215220, 0.942000> + 23081: <-0.257702, 0.257702, 0.931225> + 23082: <-0.300219, 0.257736, 0.918390> + 23083: <-0.300461, 0.215649, 0.929096> + 23084: <-0.257702, 0.257702, 0.931225> + 23085: <-0.257736, 0.300219, 0.918390> + 23086: <-0.299762, 0.299762, 0.905696> + 23087: <-0.300219, 0.257736, 0.918390> + 23088: <-0.257736, 0.300219, 0.918390> + 23089: <-0.257643, 0.342852, 0.903367> + 23090: <-0.299085, 0.341811, 0.890906> + 23091: <-0.299762, 0.299762, 0.905696> + 23092: <-0.257643, 0.342852, 0.903367> + 23093: <-0.257364, 0.385664, 0.886018> + 23094: <-0.298262, 0.383960, 0.873851> + 23095: <-0.299085, 0.341811, 0.890906> + 23096: <-0.257364, 0.385664, 0.886018> + 23097: <-0.256999, 0.428698, 0.866124> + 23098: <-0.297287, 0.426323, 0.854324> + 23099: <-0.298262, 0.383960, 0.873851> + 23100: <-0.256999, 0.428698, 0.866124> + 23101: <-0.256606, 0.471888, 0.843490> + 23102: <-0.296339, 0.468770, 0.832128> + 23103: <-0.297287, 0.426323, 0.854324> + 23104: <-0.256606, 0.471888, 0.843490> + 23105: <-0.256243, 0.515110, 0.817925> + 23106: <-0.295457, 0.511198, 0.807082> + 23107: <-0.296339, 0.468770, 0.832128> + 23108: <-0.256243, 0.515110, 0.817925> + 23109: <-0.255937, 0.558172, 0.789266> + 23110: <-0.294729, 0.553415, 0.779017> + 23111: <-0.295457, 0.511198, 0.807082> + 23112: <-0.255937, 0.558172, 0.789266> + 23113: <-0.255750, 0.600829, 0.757361> + 23114: <-0.294207, 0.595158, 0.747816> + 23115: <-0.294729, 0.553415, 0.779017> + 23116: <-0.255750, 0.600829, 0.757361> + 23117: <-0.255632, 0.642833, 0.722093> + 23118: <-0.293904, 0.636150, 0.713396> + 23119: <-0.294207, 0.595158, 0.747816> + 23120: <-0.293904, -0.636150, 0.713396> + 23121: <-0.294207, -0.595158, 0.747816> + 23122: <-0.332170, -0.588744, 0.736915> + 23123: <-0.331652, -0.628603, 0.703467> + 23124: <-0.294207, -0.595158, 0.747816> + 23125: <-0.294729, -0.553415, 0.779017> + 23126: <-0.333090, -0.548009, 0.767292> + 23127: <-0.332170, -0.588744, 0.736915> + 23128: <-0.294729, -0.553415, 0.779017> + 23129: <-0.295457, -0.511198, 0.807082> + 23130: <-0.334337, -0.506740, 0.794627> + 23131: <-0.333090, -0.548009, 0.767292> + 23132: <-0.295457, -0.511198, 0.807082> + 23133: <-0.296339, -0.468770, 0.832128> + 23134: <-0.335801, -0.465202, 0.819039> + 23135: <-0.334337, -0.506740, 0.794627> + 23136: <-0.296339, -0.468770, 0.832128> + 23137: <-0.297287, -0.426323, 0.854324> + 23138: <-0.337391, -0.423577, 0.840684> + 23139: <-0.335801, -0.465202, 0.819039> + 23140: <-0.297287, -0.426323, 0.854324> + 23141: <-0.298259, -0.383986, 0.873840> + 23142: <-0.339005, -0.381976, 0.859750> + 23143: <-0.337391, -0.423577, 0.840684> + 23144: <-0.298259, -0.383986, 0.873840> + 23145: <-0.299085, -0.341811, 0.890906> + 23146: <-0.340503, -0.340503, 0.876422> + 23147: <-0.339005, -0.381976, 0.859750> + 23148: <-0.299085, -0.341811, 0.890906> + 23149: <-0.299762, -0.299762, 0.905696> + 23150: <-0.341811, -0.299085, 0.890906> + 23151: <-0.340503, -0.340503, 0.876422> + 23152: <-0.299762, -0.299762, 0.905696> + 23153: <-0.300219, -0.257736, 0.918390> + 23154: <-0.342852, -0.257643, 0.903367> + 23155: <-0.341811, -0.299085, 0.890906> + 23156: <-0.300219, -0.257736, 0.918390> + 23157: <-0.300461, -0.215649, 0.929096> + 23158: <-0.343582, -0.215982, 0.913949> + 23159: <-0.342852, -0.257643, 0.903367> + 23160: <-0.300461, -0.215649, 0.929096> + 23161: <-0.300496, -0.173351, 0.937897> + 23162: <-0.344072, -0.173989, 0.922682> + 23163: <-0.343582, -0.215982, 0.913949> + 23164: <-0.300496, -0.173351, 0.937897> + 23165: <-0.300427, -0.130743, 0.944802> + 23166: <-0.344322, -0.131509, 0.929596> + 23167: <-0.344072, -0.173989, 0.922682> + 23168: <-0.300427, -0.130743, 0.944802> + 23169: <-0.300248, -0.087712, 0.949820> + 23170: <-0.344408, -0.088414, 0.934648> + 23171: <-0.344322, -0.131509, 0.929596> + 23172: <-0.300248, -0.087712, 0.949820> + 23173: <-0.300092, -0.044130, 0.952889> + 23174: <-0.344409, -0.044558, 0.937762> + 23175: <-0.344408, -0.088414, 0.934648> + 23176: <-0.300092, -0.044130, 0.952889> + 23177: <-0.300059, 0.000000, 0.953921> + 23178: <-0.344405, 0.000000, 0.938821> + 23179: <-0.344409, -0.044558, 0.937762> + 23180: <-0.300059, 0.000000, 0.953921> + 23181: <-0.300092, 0.044130, 0.952889> + 23182: <-0.344409, 0.044558, 0.937762> + 23183: <-0.344405, 0.000000, 0.938821> + 23184: <-0.300092, 0.044130, 0.952889> + 23185: <-0.300248, 0.087712, 0.949820> + 23186: <-0.344408, 0.088414, 0.934648> + 23187: <-0.344409, 0.044558, 0.937762> + 23188: <-0.300248, 0.087712, 0.949820> + 23189: <-0.300427, 0.130743, 0.944802> + 23190: <-0.344322, 0.131509, 0.929596> + 23191: <-0.344408, 0.088414, 0.934648> + 23192: <-0.300427, 0.130743, 0.944802> + 23193: <-0.300496, 0.173351, 0.937897> + 23194: <-0.344072, 0.173989, 0.922682> + 23195: <-0.344322, 0.131509, 0.929596> + 23196: <-0.300496, 0.173351, 0.937897> + 23197: <-0.300461, 0.215649, 0.929096> + 23198: <-0.343582, 0.215982, 0.913949> + 23199: <-0.344072, 0.173989, 0.922682> + 23200: <-0.300461, 0.215649, 0.929096> + 23201: <-0.300219, 0.257736, 0.918390> + 23202: <-0.342852, 0.257643, 0.903367> + 23203: <-0.343582, 0.215982, 0.913949> + 23204: <-0.300219, 0.257736, 0.918390> + 23205: <-0.299762, 0.299762, 0.905696> + 23206: <-0.341811, 0.299085, 0.890906> + 23207: <-0.342852, 0.257643, 0.903367> + 23208: <-0.299762, 0.299762, 0.905696> + 23209: <-0.299085, 0.341811, 0.890906> + 23210: <-0.340503, 0.340503, 0.876422> + 23211: <-0.341811, 0.299085, 0.890906> + 23212: <-0.299085, 0.341811, 0.890906> + 23213: <-0.298262, 0.383960, 0.873851> + 23214: <-0.339005, 0.381976, 0.859750> + 23215: <-0.340503, 0.340503, 0.876422> + 23216: <-0.298262, 0.383960, 0.873851> + 23217: <-0.297287, 0.426323, 0.854324> + 23218: <-0.337391, 0.423577, 0.840684> + 23219: <-0.339005, 0.381976, 0.859750> + 23220: <-0.297287, 0.426323, 0.854324> + 23221: <-0.296339, 0.468770, 0.832128> + 23222: <-0.335801, 0.465202, 0.819039> + 23223: <-0.337391, 0.423577, 0.840684> + 23224: <-0.296339, 0.468770, 0.832128> + 23225: <-0.295457, 0.511198, 0.807082> + 23226: <-0.334310, 0.506745, 0.794636> + 23227: <-0.335801, 0.465202, 0.819039> + 23228: <-0.295457, 0.511198, 0.807082> + 23229: <-0.294729, 0.553415, 0.779017> + 23230: <-0.333090, 0.548009, 0.767292> + 23231: <-0.334310, 0.506745, 0.794636> + 23232: <-0.294729, 0.553415, 0.779017> + 23233: <-0.294207, 0.595158, 0.747816> + 23234: <-0.332170, 0.588744, 0.736915> + 23235: <-0.333090, 0.548009, 0.767292> + 23236: <-0.294207, 0.595158, 0.747816> + 23237: <-0.293904, 0.636150, 0.713396> + 23238: <-0.331652, 0.628603, 0.703467> + 23239: <-0.332170, 0.588744, 0.736915> + 23240: <-0.331652, -0.628603, 0.703467> + 23241: <-0.332170, -0.588744, 0.736915> + 23242: <-0.369188, -0.581661, 0.724825> + 23243: <-0.368246, -0.620305, 0.692544> + 23244: <-0.332170, -0.588744, 0.736915> + 23245: <-0.333090, -0.548009, 0.767292> + 23246: <-0.370721, -0.542028, 0.754169> + 23247: <-0.369188, -0.581661, 0.724825> + 23248: <-0.333090, -0.548009, 0.767292> + 23249: <-0.334337, -0.506740, 0.794627> + 23250: <-0.372705, -0.501802, 0.780568> + 23251: <-0.370721, -0.542028, 0.754169> + 23252: <-0.334337, -0.506740, 0.794627> + 23253: <-0.335801, -0.465202, 0.819039> + 23254: <-0.374961, -0.461239, 0.804154> + 23255: <-0.372705, -0.501802, 0.780568> + 23256: <-0.335801, -0.465202, 0.819039> + 23257: <-0.337391, -0.423577, 0.840684> + 23258: <-0.377345, -0.420500, 0.825100> + 23259: <-0.374961, -0.461239, 0.804154> + 23260: <-0.337391, -0.423577, 0.840684> + 23261: <-0.339005, -0.381976, 0.859750> + 23262: <-0.379751, -0.379751, 0.843551> + 23263: <-0.377345, -0.420500, 0.825100> + 23264: <-0.339005, -0.381976, 0.859750> + 23265: <-0.340503, -0.340503, 0.876422> + 23266: <-0.381976, -0.339005, 0.859750> + 23267: <-0.379751, -0.379751, 0.843551> + 23268: <-0.340503, -0.340503, 0.876422> + 23269: <-0.341811, -0.299085, 0.890906> + 23270: <-0.383960, -0.298262, 0.873851> + 23271: <-0.381976, -0.339005, 0.859750> + 23272: <-0.341811, -0.299085, 0.890906> + 23273: <-0.342852, -0.257643, 0.903367> + 23274: <-0.385638, -0.257367, 0.886028> + 23275: <-0.383960, -0.298262, 0.873851> + 23276: <-0.342852, -0.257643, 0.903367> + 23277: <-0.343582, -0.215982, 0.913949> + 23278: <-0.386985, -0.216199, 0.896382> + 23279: <-0.385638, -0.257367, 0.886028> + 23280: <-0.343582, -0.215982, 0.913949> + 23281: <-0.344072, -0.173989, 0.922682> + 23282: <-0.387965, -0.174541, 0.904997> + 23283: <-0.386985, -0.216199, 0.896382> + 23284: <-0.344072, -0.173989, 0.922682> + 23285: <-0.344322, -0.131509, 0.929596> + 23286: <-0.388632, -0.132240, 0.911854> + 23287: <-0.387965, -0.174541, 0.904997> + 23288: <-0.344322, -0.131509, 0.929596> + 23289: <-0.344408, -0.088414, 0.934648> + 23290: <-0.388998, -0.089116, 0.916918> + 23291: <-0.388632, -0.132240, 0.911854> + 23292: <-0.344408, -0.088414, 0.934648> + 23293: <-0.344409, -0.044558, 0.937762> + 23294: <-0.389180, -0.045016, 0.920061> + 23295: <-0.388998, -0.089116, 0.916918> + 23296: <-0.344409, -0.044558, 0.937762> + 23297: <-0.344405, 0.000000, 0.938821> + 23298: <-0.389244, 0.000000, 0.921135> + 23299: <-0.389180, -0.045016, 0.920061> + 23300: <-0.344405, 0.000000, 0.938821> + 23301: <-0.344409, 0.044558, 0.937762> + 23302: <-0.389180, 0.045016, 0.920061> + 23303: <-0.389244, 0.000000, 0.921135> + 23304: <-0.344409, 0.044558, 0.937762> + 23305: <-0.344408, 0.088414, 0.934648> + 23306: <-0.388998, 0.089116, 0.916918> + 23307: <-0.389180, 0.045016, 0.920061> + 23308: <-0.344408, 0.088414, 0.934648> + 23309: <-0.344322, 0.131509, 0.929596> + 23310: <-0.388632, 0.132240, 0.911854> + 23311: <-0.388998, 0.089116, 0.916918> + 23312: <-0.344322, 0.131509, 0.929596> + 23313: <-0.344072, 0.173989, 0.922682> + 23314: <-0.387965, 0.174541, 0.904997> + 23315: <-0.388632, 0.132240, 0.911854> + 23316: <-0.344072, 0.173989, 0.922682> + 23317: <-0.343582, 0.215982, 0.913949> + 23318: <-0.386985, 0.216199, 0.896382> + 23319: <-0.387965, 0.174541, 0.904997> + 23320: <-0.343582, 0.215982, 0.913949> + 23321: <-0.342852, 0.257643, 0.903367> + 23322: <-0.385664, 0.257364, 0.886018> + 23323: <-0.386985, 0.216199, 0.896382> + 23324: <-0.342852, 0.257643, 0.903367> + 23325: <-0.341811, 0.299085, 0.890906> + 23326: <-0.383960, 0.298262, 0.873851> + 23327: <-0.385664, 0.257364, 0.886018> + 23328: <-0.341811, 0.299085, 0.890906> + 23329: <-0.340503, 0.340503, 0.876422> + 23330: <-0.381976, 0.339005, 0.859750> + 23331: <-0.383960, 0.298262, 0.873851> + 23332: <-0.340503, 0.340503, 0.876422> + 23333: <-0.339005, 0.381976, 0.859750> + 23334: <-0.379751, 0.379751, 0.843551> + 23335: <-0.381976, 0.339005, 0.859750> + 23336: <-0.339005, 0.381976, 0.859750> + 23337: <-0.337391, 0.423577, 0.840684> + 23338: <-0.377345, 0.420500, 0.825100> + 23339: <-0.379751, 0.379751, 0.843551> + 23340: <-0.337391, 0.423577, 0.840684> + 23341: <-0.335801, 0.465202, 0.819039> + 23342: <-0.374961, 0.461239, 0.804154> + 23343: <-0.377345, 0.420500, 0.825100> + 23344: <-0.335801, 0.465202, 0.819039> + 23345: <-0.334310, 0.506745, 0.794636> + 23346: <-0.372705, 0.501802, 0.780568> + 23347: <-0.374961, 0.461239, 0.804154> + 23348: <-0.334310, 0.506745, 0.794636> + 23349: <-0.333090, 0.548009, 0.767292> + 23350: <-0.370721, 0.542028, 0.754169> + 23351: <-0.372705, 0.501802, 0.780568> + 23352: <-0.333090, 0.548009, 0.767292> + 23353: <-0.332170, 0.588744, 0.736915> + 23354: <-0.369188, 0.581661, 0.724825> + 23355: <-0.370721, 0.542028, 0.754169> + 23356: <-0.332170, 0.588744, 0.736915> + 23357: <-0.331652, 0.628603, 0.703467> + 23358: <-0.368246, 0.620305, 0.692544> + 23359: <-0.369188, 0.581661, 0.724825> + 23360: <-0.368246, -0.620305, 0.692544> + 23361: <-0.369188, -0.581661, 0.724825> + 23362: <-0.404839, -0.574008, 0.711772> + 23363: <-0.403223, -0.611427, 0.680859> + 23364: <-0.369188, -0.581661, 0.724825> + 23365: <-0.370721, -0.542028, 0.754169> + 23366: <-0.407307, -0.535518, 0.739812> + 23367: <-0.404839, -0.574008, 0.711772> + 23368: <-0.370721, -0.542028, 0.754169> + 23369: <-0.372705, -0.501802, 0.780568> + 23370: <-0.410398, -0.496372, 0.764976> + 23371: <-0.407307, -0.535518, 0.739812> + 23372: <-0.372705, -0.501802, 0.780568> + 23373: <-0.374961, -0.461239, 0.804154> + 23374: <-0.413777, -0.456900, 0.787421> + 23375: <-0.410398, -0.496372, 0.764976> + 23376: <-0.374961, -0.461239, 0.804154> + 23377: <-0.377345, -0.420500, 0.825100> + 23378: <-0.417202, -0.417202, 0.807394> + 23379: <-0.413777, -0.456900, 0.787421> + 23380: <-0.377345, -0.420500, 0.825100> + 23381: <-0.379751, -0.379751, 0.843551> + 23382: <-0.420500, -0.377345, 0.825100> + 23383: <-0.417202, -0.417202, 0.807394> + 23384: <-0.379751, -0.379751, 0.843551> + 23385: <-0.381976, -0.339005, 0.859750> + 23386: <-0.423577, -0.337391, 0.840684> + 23387: <-0.420500, -0.377345, 0.825100> + 23388: <-0.381976, -0.339005, 0.859750> + 23389: <-0.383960, -0.298262, 0.873851> + 23390: <-0.426323, -0.297287, 0.854324> + 23391: <-0.423577, -0.337391, 0.840684> + 23392: <-0.383960, -0.298262, 0.873851> + 23393: <-0.385638, -0.257367, 0.886028> + 23394: <-0.428698, -0.256999, 0.866124> + 23395: <-0.426323, -0.297287, 0.854324> + 23396: <-0.385638, -0.257367, 0.886028> + 23397: <-0.386985, -0.216199, 0.896382> + 23398: <-0.430657, -0.216320, 0.876208> + 23399: <-0.428698, -0.256999, 0.866124> + 23400: <-0.386985, -0.216199, 0.896382> + 23401: <-0.387965, -0.174541, 0.904997> + 23402: <-0.432149, -0.175026, 0.884654> + 23403: <-0.430657, -0.216320, 0.876208> + 23404: <-0.387965, -0.174541, 0.904997> + 23405: <-0.388632, -0.132240, 0.911854> + 23406: <-0.433281, -0.132911, 0.891405> + 23407: <-0.432149, -0.175026, 0.884654> + 23408: <-0.388632, -0.132240, 0.911854> + 23409: <-0.388998, -0.089116, 0.916918> + 23410: <-0.433981, -0.089787, 0.896437> + 23411: <-0.433281, -0.132911, 0.891405> + 23412: <-0.388998, -0.089116, 0.916918> + 23413: <-0.389180, -0.045016, 0.920061> + 23414: <-0.434379, -0.045443, 0.899583> + 23415: <-0.433981, -0.089787, 0.896437> + 23416: <-0.389180, -0.045016, 0.920061> + 23417: <-0.389244, 0.000000, 0.921135> + 23418: <-0.434534, 0.000000, 0.900655> + 23419: <-0.434379, -0.045443, 0.899583> + 23420: <-0.389244, 0.000000, 0.921135> + 23421: <-0.389180, 0.045016, 0.920061> + 23422: <-0.434379, 0.045443, 0.899583> + 23423: <-0.434534, 0.000000, 0.900655> + 23424: <-0.389180, 0.045016, 0.920061> + 23425: <-0.388998, 0.089116, 0.916918> + 23426: <-0.433981, 0.089787, 0.896437> + 23427: <-0.434379, 0.045443, 0.899583> + 23428: <-0.388998, 0.089116, 0.916918> + 23429: <-0.388632, 0.132240, 0.911854> + 23430: <-0.433281, 0.132911, 0.891405> + 23431: <-0.433981, 0.089787, 0.896437> + 23432: <-0.388632, 0.132240, 0.911854> + 23433: <-0.387965, 0.174541, 0.904997> + 23434: <-0.432149, 0.175026, 0.884654> + 23435: <-0.433281, 0.132911, 0.891405> + 23436: <-0.387965, 0.174541, 0.904997> + 23437: <-0.386985, 0.216199, 0.896382> + 23438: <-0.430657, 0.216320, 0.876208> + 23439: <-0.432149, 0.175026, 0.884654> + 23440: <-0.386985, 0.216199, 0.896382> + 23441: <-0.385664, 0.257364, 0.886018> + 23442: <-0.428698, 0.256999, 0.866124> + 23443: <-0.430657, 0.216320, 0.876208> + 23444: <-0.385664, 0.257364, 0.886018> + 23445: <-0.383960, 0.298262, 0.873851> + 23446: <-0.426323, 0.297287, 0.854324> + 23447: <-0.428698, 0.256999, 0.866124> + 23448: <-0.383960, 0.298262, 0.873851> + 23449: <-0.381976, 0.339005, 0.859750> + 23450: <-0.423577, 0.337391, 0.840684> + 23451: <-0.426323, 0.297287, 0.854324> + 23452: <-0.381976, 0.339005, 0.859750> + 23453: <-0.379751, 0.379751, 0.843551> + 23454: <-0.420500, 0.377345, 0.825100> + 23455: <-0.423577, 0.337391, 0.840684> + 23456: <-0.379751, 0.379751, 0.843551> + 23457: <-0.377345, 0.420500, 0.825100> + 23458: <-0.417202, 0.417202, 0.807394> + 23459: <-0.420500, 0.377345, 0.825100> + 23460: <-0.377345, 0.420500, 0.825100> + 23461: <-0.374961, 0.461239, 0.804154> + 23462: <-0.413777, 0.456900, 0.787421> + 23463: <-0.417202, 0.417202, 0.807394> + 23464: <-0.374961, 0.461239, 0.804154> + 23465: <-0.372705, 0.501802, 0.780568> + 23466: <-0.410392, 0.496395, 0.764964> + 23467: <-0.413777, 0.456900, 0.787421> + 23468: <-0.372705, 0.501802, 0.780568> + 23469: <-0.370721, 0.542028, 0.754169> + 23470: <-0.407307, 0.535518, 0.739812> + 23471: <-0.410392, 0.496395, 0.764964> + 23472: <-0.370721, 0.542028, 0.754169> + 23473: <-0.369188, 0.581661, 0.724825> + 23474: <-0.404839, 0.574008, 0.711772> + 23475: <-0.407307, 0.535518, 0.739812> + 23476: <-0.369188, 0.581661, 0.724825> + 23477: <-0.368246, 0.620305, 0.692544> + 23478: <-0.403223, 0.611427, 0.680859> + 23479: <-0.404839, 0.574008, 0.711772> + 23480: <-0.403223, -0.611427, 0.680859> + 23481: <-0.404839, -0.574008, 0.711772> + 23482: <-0.439475, -0.565794, 0.697667> + 23483: <-0.437036, -0.601963, 0.668312> + 23484: <-0.404839, -0.574008, 0.711772> + 23485: <-0.407307, -0.535518, 0.739812> + 23486: <-0.443145, -0.528478, 0.724109> + 23487: <-0.439475, -0.565794, 0.697667> + 23488: <-0.407307, -0.535518, 0.739812> + 23489: <-0.410398, -0.496372, 0.764976> + 23490: <-0.447593, -0.490534, 0.747688> + 23491: <-0.443145, -0.528478, 0.724109> + 23492: <-0.410398, -0.496372, 0.764976> + 23493: <-0.413777, -0.456900, 0.787421> + 23494: <-0.452290, -0.452290, 0.768679> + 23495: <-0.447593, -0.490534, 0.747688> + 23496: <-0.413777, -0.456900, 0.787421> + 23497: <-0.417202, -0.417202, 0.807394> + 23498: <-0.456900, -0.413777, 0.787421> + 23499: <-0.452290, -0.452290, 0.768679> + 23500: <-0.417202, -0.417202, 0.807394> + 23501: <-0.420500, -0.377345, 0.825100> + 23502: <-0.461239, -0.374961, 0.804154> + 23503: <-0.456900, -0.413777, 0.787421> + 23504: <-0.420500, -0.377345, 0.825100> + 23505: <-0.423577, -0.337391, 0.840684> + 23506: <-0.465202, -0.335801, 0.819039> + 23507: <-0.461239, -0.374961, 0.804154> + 23508: <-0.423577, -0.337391, 0.840684> + 23509: <-0.426323, -0.297287, 0.854324> + 23510: <-0.468770, -0.296339, 0.832128> + 23511: <-0.465202, -0.335801, 0.819039> + 23512: <-0.426323, -0.297287, 0.854324> + 23513: <-0.428698, -0.256999, 0.866124> + 23514: <-0.471888, -0.256606, 0.843490> + 23515: <-0.468770, -0.296339, 0.832128> + 23516: <-0.428698, -0.256999, 0.866124> + 23517: <-0.430657, -0.216320, 0.876208> + 23518: <-0.474515, -0.216413, 0.853230> + 23519: <-0.471888, -0.256606, 0.843490> + 23520: <-0.430657, -0.216320, 0.876208> + 23521: <-0.432149, -0.175026, 0.884654> + 23522: <-0.476614, -0.175453, 0.861426> + 23523: <-0.474515, -0.216413, 0.853230> + 23524: <-0.432149, -0.175026, 0.884654> + 23525: <-0.433281, -0.132911, 0.891405> + 23526: <-0.478208, -0.133553, 0.868033> + 23527: <-0.476614, -0.175453, 0.861426> + 23528: <-0.433281, -0.132911, 0.891405> + 23529: <-0.433981, -0.089787, 0.896437> + 23530: <-0.479307, -0.090429, 0.872976> + 23531: <-0.478208, -0.133553, 0.868033> + 23532: <-0.433981, -0.089787, 0.896437> + 23533: <-0.434379, -0.045443, 0.899583> + 23534: <-0.479951, -0.045871, 0.876095> + 23535: <-0.479307, -0.090429, 0.872976> + 23536: <-0.434379, -0.045443, 0.899583> + 23537: <-0.434534, 0.000000, 0.900655> + 23538: <-0.480158, 0.000000, 0.877182> + 23539: <-0.479951, -0.045871, 0.876095> + 23540: <-0.434534, 0.000000, 0.900655> + 23541: <-0.434379, 0.045443, 0.899583> + 23542: <-0.479951, 0.045871, 0.876095> + 23543: <-0.480158, 0.000000, 0.877182> + 23544: <-0.434379, 0.045443, 0.899583> + 23545: <-0.433981, 0.089787, 0.896437> + 23546: <-0.479307, 0.090429, 0.872976> + 23547: <-0.479951, 0.045871, 0.876095> + 23548: <-0.433981, 0.089787, 0.896437> + 23549: <-0.433281, 0.132911, 0.891405> + 23550: <-0.478208, 0.133553, 0.868033> + 23551: <-0.479307, 0.090429, 0.872976> + 23552: <-0.433281, 0.132911, 0.891405> + 23553: <-0.432149, 0.175026, 0.884654> + 23554: <-0.476614, 0.175453, 0.861426> + 23555: <-0.478208, 0.133553, 0.868033> + 23556: <-0.432149, 0.175026, 0.884654> + 23557: <-0.430657, 0.216320, 0.876208> + 23558: <-0.474515, 0.216413, 0.853230> + 23559: <-0.476614, 0.175453, 0.861426> + 23560: <-0.430657, 0.216320, 0.876208> + 23561: <-0.428698, 0.256999, 0.866124> + 23562: <-0.471888, 0.256606, 0.843490> + 23563: <-0.474515, 0.216413, 0.853230> + 23564: <-0.428698, 0.256999, 0.866124> + 23565: <-0.426323, 0.297287, 0.854324> + 23566: <-0.468770, 0.296339, 0.832128> + 23567: <-0.471888, 0.256606, 0.843490> + 23568: <-0.426323, 0.297287, 0.854324> + 23569: <-0.423577, 0.337391, 0.840684> + 23570: <-0.465202, 0.335801, 0.819039> + 23571: <-0.468770, 0.296339, 0.832128> + 23572: <-0.423577, 0.337391, 0.840684> + 23573: <-0.420500, 0.377345, 0.825100> + 23574: <-0.461239, 0.374961, 0.804154> + 23575: <-0.465202, 0.335801, 0.819039> + 23576: <-0.420500, 0.377345, 0.825100> + 23577: <-0.417202, 0.417202, 0.807394> + 23578: <-0.456900, 0.413777, 0.787421> + 23579: <-0.461239, 0.374961, 0.804154> + 23580: <-0.417202, 0.417202, 0.807394> + 23581: <-0.413777, 0.456900, 0.787421> + 23582: <-0.452290, 0.452290, 0.768679> + 23583: <-0.456900, 0.413777, 0.787421> + 23584: <-0.413777, 0.456900, 0.787421> + 23585: <-0.410392, 0.496395, 0.764964> + 23586: <-0.447593, 0.490534, 0.747688> + 23587: <-0.452290, 0.452290, 0.768679> + 23588: <-0.410392, 0.496395, 0.764964> + 23589: <-0.407307, 0.535518, 0.739812> + 23590: <-0.443145, 0.528478, 0.724109> + 23591: <-0.447593, 0.490534, 0.747688> + 23592: <-0.407307, 0.535518, 0.739812> + 23593: <-0.404839, 0.574008, 0.711772> + 23594: <-0.439475, 0.565794, 0.697667> + 23595: <-0.443145, 0.528478, 0.724109> + 23596: <-0.404839, 0.574008, 0.711772> + 23597: <-0.403223, 0.611427, 0.680859> + 23598: <-0.437036, 0.601963, 0.668312> + 23599: <-0.439475, 0.565794, 0.697667> + 23600: <-0.437036, -0.601963, 0.668312> + 23601: <-0.439475, -0.565794, 0.697667> + 23602: <-0.473139, -0.557037, 0.682532> + 23603: <-0.469385, -0.591920, 0.655217> + 23604: <-0.439475, -0.565794, 0.697667> + 23605: <-0.443145, -0.528478, 0.724109> + 23606: <-0.478425, -0.520969, 0.706895> + 23607: <-0.473139, -0.557037, 0.682532> + 23608: <-0.443145, -0.528478, 0.724109> + 23609: <-0.447593, -0.490534, 0.747688> + 23610: <-0.484430, -0.484430, 0.728461> + 23611: <-0.478425, -0.520969, 0.706895> + 23612: <-0.447593, -0.490534, 0.747688> + 23613: <-0.452290, -0.452290, 0.768679> + 23614: <-0.490534, -0.447593, 0.747688> + 23615: <-0.484430, -0.484430, 0.728461> + 23616: <-0.452290, -0.452290, 0.768679> + 23617: <-0.456900, -0.413777, 0.787421> + 23618: <-0.496395, -0.410392, 0.764964> + 23619: <-0.490534, -0.447593, 0.747688> + 23620: <-0.456900, -0.413777, 0.787421> + 23621: <-0.461239, -0.374961, 0.804154> + 23622: <-0.501802, -0.372705, 0.780568> + 23623: <-0.496395, -0.410392, 0.764964> + 23624: <-0.461239, -0.374961, 0.804154> + 23625: <-0.465202, -0.335801, 0.819039> + 23626: <-0.506745, -0.334310, 0.794636> + 23627: <-0.501802, -0.372705, 0.780568> + 23628: <-0.465202, -0.335801, 0.819039> + 23629: <-0.468770, -0.296339, 0.832128> + 23630: <-0.511198, -0.295457, 0.807082> + 23631: <-0.506745, -0.334310, 0.794636> + 23632: <-0.468770, -0.296339, 0.832128> + 23633: <-0.471888, -0.256606, 0.843490> + 23634: <-0.515110, -0.256243, 0.817925> + 23635: <-0.511198, -0.295457, 0.807082> + 23636: <-0.471888, -0.256606, 0.843490> + 23637: <-0.474515, -0.216413, 0.853230> + 23638: <-0.518435, -0.216475, 0.827263> + 23639: <-0.515110, -0.256243, 0.817925> + 23640: <-0.474515, -0.216413, 0.853230> + 23641: <-0.476614, -0.175453, 0.861426> + 23642: <-0.521180, -0.175853, 0.835133> + 23643: <-0.518435, -0.216475, 0.827263> + 23644: <-0.476614, -0.175453, 0.861426> + 23645: <-0.478208, -0.133553, 0.868033> + 23646: <-0.523307, -0.134100, 0.841527> + 23647: <-0.521180, -0.175853, 0.835133> + 23648: <-0.478208, -0.133553, 0.868033> + 23649: <-0.479307, -0.090429, 0.872976> + 23650: <-0.524836, -0.091008, 0.846324> + 23651: <-0.523307, -0.134100, 0.841527> + 23652: <-0.479307, -0.090429, 0.872976> + 23653: <-0.479951, -0.045871, 0.876095> + 23654: <-0.525753, -0.046267, 0.849378> + 23655: <-0.524836, -0.091008, 0.846324> + 23656: <-0.479951, -0.045871, 0.876095> + 23657: <-0.480158, 0.000000, 0.877182> + 23658: <-0.526081, 0.000000, 0.850434> + 23659: <-0.525753, -0.046267, 0.849378> + 23660: <-0.480158, 0.000000, 0.877182> + 23661: <-0.479951, 0.045871, 0.876095> + 23662: <-0.525753, 0.046267, 0.849378> + 23663: <-0.526081, 0.000000, 0.850434> + 23664: <-0.479951, 0.045871, 0.876095> + 23665: <-0.479307, 0.090429, 0.872976> + 23666: <-0.524836, 0.091008, 0.846324> + 23667: <-0.525753, 0.046267, 0.849378> + 23668: <-0.479307, 0.090429, 0.872976> + 23669: <-0.478208, 0.133553, 0.868033> + 23670: <-0.523307, 0.134100, 0.841527> + 23671: <-0.524836, 0.091008, 0.846324> + 23672: <-0.478208, 0.133553, 0.868033> + 23673: <-0.476614, 0.175453, 0.861426> + 23674: <-0.521180, 0.175853, 0.835133> + 23675: <-0.523307, 0.134100, 0.841527> + 23676: <-0.476614, 0.175453, 0.861426> + 23677: <-0.474515, 0.216413, 0.853230> + 23678: <-0.518435, 0.216475, 0.827263> + 23679: <-0.521180, 0.175853, 0.835133> + 23680: <-0.474515, 0.216413, 0.853230> + 23681: <-0.471888, 0.256606, 0.843490> + 23682: <-0.515110, 0.256243, 0.817925> + 23683: <-0.518435, 0.216475, 0.827263> + 23684: <-0.471888, 0.256606, 0.843490> + 23685: <-0.468770, 0.296339, 0.832128> + 23686: <-0.511198, 0.295457, 0.807082> + 23687: <-0.515110, 0.256243, 0.817925> + 23688: <-0.468770, 0.296339, 0.832128> + 23689: <-0.465202, 0.335801, 0.819039> + 23690: <-0.506740, 0.334337, 0.794627> + 23691: <-0.511198, 0.295457, 0.807082> + 23692: <-0.465202, 0.335801, 0.819039> + 23693: <-0.461239, 0.374961, 0.804154> + 23694: <-0.501802, 0.372705, 0.780568> + 23695: <-0.506740, 0.334337, 0.794627> + 23696: <-0.461239, 0.374961, 0.804154> + 23697: <-0.456900, 0.413777, 0.787421> + 23698: <-0.496395, 0.410392, 0.764964> + 23699: <-0.501802, 0.372705, 0.780568> + 23700: <-0.456900, 0.413777, 0.787421> + 23701: <-0.452290, 0.452290, 0.768679> + 23702: <-0.490534, 0.447593, 0.747688> + 23703: <-0.496395, 0.410392, 0.764964> + 23704: <-0.452290, 0.452290, 0.768679> + 23705: <-0.447593, 0.490534, 0.747688> + 23706: <-0.484430, 0.484430, 0.728461> + 23707: <-0.490534, 0.447593, 0.747688> + 23708: <-0.447593, 0.490534, 0.747688> + 23709: <-0.443145, 0.528478, 0.724109> + 23710: <-0.478425, 0.520969, 0.706895> + 23711: <-0.484430, 0.484430, 0.728461> + 23712: <-0.443145, 0.528478, 0.724109> + 23713: <-0.439475, 0.565794, 0.697667> + 23714: <-0.473139, 0.557037, 0.682532> + 23715: <-0.478425, 0.520969, 0.706895> + 23716: <-0.439475, 0.565794, 0.697667> + 23717: <-0.437036, 0.601963, 0.668312> + 23718: <-0.469385, 0.591920, 0.655217> + 23719: <-0.473139, 0.557037, 0.682532> + 23720: <-0.469385, -0.591920, 0.655217> + 23721: <-0.473139, -0.557037, 0.682532> + 23722: <-0.506040, -0.547882, 0.666144> + 23723: <-0.500496, -0.581465, 0.641406> + 23724: <-0.473139, -0.557037, 0.682532> + 23725: <-0.478425, -0.520969, 0.706895> + 23726: <-0.513252, -0.513252, 0.687856> + 23727: <-0.506040, -0.547882, 0.666144> + 23728: <-0.478425, -0.520969, 0.706895> + 23729: <-0.484430, -0.484430, 0.728461> + 23730: <-0.520969, -0.478425, 0.706895> + 23731: <-0.513252, -0.513252, 0.687856> + 23732: <-0.484430, -0.484430, 0.728461> + 23733: <-0.490534, -0.447593, 0.747688> + 23734: <-0.528478, -0.443145, 0.724109> + 23735: <-0.520969, -0.478425, 0.706895> + 23736: <-0.490534, -0.447593, 0.747688> + 23737: <-0.496395, -0.410392, 0.764964> + 23738: <-0.535518, -0.407307, 0.739812> + 23739: <-0.528478, -0.443145, 0.724109> + 23740: <-0.496395, -0.410392, 0.764964> + 23741: <-0.501802, -0.372705, 0.780568> + 23742: <-0.542028, -0.370721, 0.754169> + 23743: <-0.535518, -0.407307, 0.739812> + 23744: <-0.501802, -0.372705, 0.780568> + 23745: <-0.506745, -0.334310, 0.794636> + 23746: <-0.548009, -0.333090, 0.767292> + 23747: <-0.542028, -0.370721, 0.754169> + 23748: <-0.506745, -0.334310, 0.794636> + 23749: <-0.511198, -0.295457, 0.807082> + 23750: <-0.553415, -0.294729, 0.779017> + 23751: <-0.548009, -0.333090, 0.767292> + 23752: <-0.511198, -0.295457, 0.807082> + 23753: <-0.515110, -0.256243, 0.817925> + 23754: <-0.558172, -0.255937, 0.789266> + 23755: <-0.553415, -0.294729, 0.779017> + 23756: <-0.515110, -0.256243, 0.817925> + 23757: <-0.518435, -0.216475, 0.827263> + 23758: <-0.562257, -0.216534, 0.798110> + 23759: <-0.558172, -0.255937, 0.789266> + 23760: <-0.518435, -0.216475, 0.827263> + 23761: <-0.521180, -0.175853, 0.835133> + 23762: <-0.565675, -0.176188, 0.805587> + 23763: <-0.562257, -0.216534, 0.798110> + 23764: <-0.521180, -0.175853, 0.835133> + 23765: <-0.523307, -0.134100, 0.841527> + 23766: <-0.568382, -0.134618, 0.811677> + 23767: <-0.565675, -0.176188, 0.805587> + 23768: <-0.523307, -0.134100, 0.841527> + 23769: <-0.524836, -0.091008, 0.846324> + 23770: <-0.570377, -0.091497, 0.816271> + 23771: <-0.568382, -0.134618, 0.811677> + 23772: <-0.524836, -0.091008, 0.846324> + 23773: <-0.525753, -0.046267, 0.849378> + 23774: <-0.571602, -0.046573, 0.819208> + 23775: <-0.570377, -0.091497, 0.816271> + 23776: <-0.525753, -0.046267, 0.849378> + 23777: <-0.526081, 0.000000, 0.850434> + 23778: <-0.572024, 0.000000, 0.820237> + 23779: <-0.571602, -0.046573, 0.819208> + 23780: <-0.526081, 0.000000, 0.850434> + 23781: <-0.525753, 0.046267, 0.849378> + 23782: <-0.571602, 0.046573, 0.819208> + 23783: <-0.572024, 0.000000, 0.820237> + 23784: <-0.525753, 0.046267, 0.849378> + 23785: <-0.524836, 0.091008, 0.846324> + 23786: <-0.570377, 0.091497, 0.816271> + 23787: <-0.571602, 0.046573, 0.819208> + 23788: <-0.524836, 0.091008, 0.846324> + 23789: <-0.523307, 0.134100, 0.841527> + 23790: <-0.568382, 0.134618, 0.811677> + 23791: <-0.570377, 0.091497, 0.816271> + 23792: <-0.523307, 0.134100, 0.841527> + 23793: <-0.521180, 0.175853, 0.835133> + 23794: <-0.565675, 0.176188, 0.805587> + 23795: <-0.568382, 0.134618, 0.811677> + 23796: <-0.521180, 0.175853, 0.835133> + 23797: <-0.518435, 0.216475, 0.827263> + 23798: <-0.562257, 0.216534, 0.798110> + 23799: <-0.565675, 0.176188, 0.805587> + 23800: <-0.518435, 0.216475, 0.827263> + 23801: <-0.515110, 0.256243, 0.817925> + 23802: <-0.558172, 0.255937, 0.789266> + 23803: <-0.562257, 0.216534, 0.798110> + 23804: <-0.515110, 0.256243, 0.817925> + 23805: <-0.511198, 0.295457, 0.807082> + 23806: <-0.553415, 0.294729, 0.779017> + 23807: <-0.558172, 0.255937, 0.789266> + 23808: <-0.511198, 0.295457, 0.807082> + 23809: <-0.506740, 0.334337, 0.794627> + 23810: <-0.548009, 0.333090, 0.767292> + 23811: <-0.553415, 0.294729, 0.779017> + 23812: <-0.506740, 0.334337, 0.794627> + 23813: <-0.501802, 0.372705, 0.780568> + 23814: <-0.542028, 0.370721, 0.754169> + 23815: <-0.548009, 0.333090, 0.767292> + 23816: <-0.501802, 0.372705, 0.780568> + 23817: <-0.496395, 0.410392, 0.764964> + 23818: <-0.535518, 0.407307, 0.739812> + 23819: <-0.542028, 0.370721, 0.754169> + 23820: <-0.496395, 0.410392, 0.764964> + 23821: <-0.490534, 0.447593, 0.747688> + 23822: <-0.528478, 0.443145, 0.724109> + 23823: <-0.535518, 0.407307, 0.739812> + 23824: <-0.490534, 0.447593, 0.747688> + 23825: <-0.484430, 0.484430, 0.728461> + 23826: <-0.520969, 0.478425, 0.706895> + 23827: <-0.528478, 0.443145, 0.724109> + 23828: <-0.484430, 0.484430, 0.728461> + 23829: <-0.478425, 0.520969, 0.706895> + 23830: <-0.513252, 0.513252, 0.687856> + 23831: <-0.520969, 0.478425, 0.706895> + 23832: <-0.478425, 0.520969, 0.706895> + 23833: <-0.473139, 0.557037, 0.682532> + 23834: <-0.506040, 0.547882, 0.666144> + 23835: <-0.513252, 0.513252, 0.687856> + 23836: <-0.473139, 0.557037, 0.682532> + 23837: <-0.469385, 0.591920, 0.655217> + 23838: <-0.500519, 0.581456, 0.641396> + 23839: <-0.506040, 0.547882, 0.666144> + 23840: <-0.500496, -0.581465, 0.641406> + 23841: <-0.506040, -0.547882, 0.666144> + 23842: <-0.538962, -0.538962, 0.647334> + 23843: <-0.531523, -0.571076, 0.625584> + 23844: <-0.506040, -0.547882, 0.666144> + 23845: <-0.513252, -0.513252, 0.687856> + 23846: <-0.547882, -0.506040, 0.666144> + 23847: <-0.538962, -0.538962, 0.647334> + 23848: <-0.513252, -0.513252, 0.687856> + 23849: <-0.520969, -0.478425, 0.706895> + 23850: <-0.557037, -0.473139, 0.682532> + 23851: <-0.547882, -0.506040, 0.666144> + 23852: <-0.520969, -0.478425, 0.706895> + 23853: <-0.528478, -0.443145, 0.724109> + 23854: <-0.565794, -0.439475, 0.697667> + 23855: <-0.557037, -0.473139, 0.682532> + 23856: <-0.528478, -0.443145, 0.724109> + 23857: <-0.535518, -0.407307, 0.739812> + 23858: <-0.574008, -0.404839, 0.711772> + 23859: <-0.565794, -0.439475, 0.697667> + 23860: <-0.535518, -0.407307, 0.739812> + 23861: <-0.542028, -0.370721, 0.754169> + 23862: <-0.581661, -0.369188, 0.724825> + 23863: <-0.574008, -0.404839, 0.711772> + 23864: <-0.542028, -0.370721, 0.754169> + 23865: <-0.548009, -0.333090, 0.767292> + 23866: <-0.588744, -0.332170, 0.736915> + 23867: <-0.581661, -0.369188, 0.724825> + 23868: <-0.548009, -0.333090, 0.767292> + 23869: <-0.553415, -0.294729, 0.779017> + 23870: <-0.595158, -0.294207, 0.747816> + 23871: <-0.588744, -0.332170, 0.736915> + 23872: <-0.553415, -0.294729, 0.779017> + 23873: <-0.558172, -0.255937, 0.789266> + 23874: <-0.600829, -0.255750, 0.757361> + 23875: <-0.595158, -0.294207, 0.747816> + 23876: <-0.558172, -0.255937, 0.789266> + 23877: <-0.562257, -0.216534, 0.798110> + 23878: <-0.605748, -0.216596, 0.765608> + 23879: <-0.600829, -0.255750, 0.757361> + 23880: <-0.562257, -0.216534, 0.798110> + 23881: <-0.565675, -0.176188, 0.805587> + 23882: <-0.609892, -0.176461, 0.772589> + 23883: <-0.605748, -0.216596, 0.765608> + 23884: <-0.565675, -0.176188, 0.805587> + 23885: <-0.568382, -0.134618, 0.811677> + 23886: <-0.613196, -0.135018, 0.778306> + 23887: <-0.609892, -0.176461, 0.772589> + 23888: <-0.568382, -0.134618, 0.811677> + 23889: <-0.570377, -0.091497, 0.816271> + 23890: <-0.615697, -0.091894, 0.782607> + 23891: <-0.613196, -0.135018, 0.778306> + 23892: <-0.570377, -0.091497, 0.816271> + 23893: <-0.571602, -0.046573, 0.819208> + 23894: <-0.617246, -0.046847, 0.785375> + 23895: <-0.615697, -0.091894, 0.782607> + 23896: <-0.571602, -0.046573, 0.819208> + 23897: <-0.572024, 0.000000, 0.820237> + 23898: <-0.617789, 0.000000, 0.786344> + 23899: <-0.617246, -0.046847, 0.785375> + 23900: <-0.572024, 0.000000, 0.820237> + 23901: <-0.571602, 0.046573, 0.819208> + 23902: <-0.617246, 0.046847, 0.785375> + 23903: <-0.617789, 0.000000, 0.786344> + 23904: <-0.571602, 0.046573, 0.819208> + 23905: <-0.570377, 0.091497, 0.816271> + 23906: <-0.615697, 0.091894, 0.782607> + 23907: <-0.617246, 0.046847, 0.785375> + 23908: <-0.570377, 0.091497, 0.816271> + 23909: <-0.568382, 0.134618, 0.811677> + 23910: <-0.613199, 0.134988, 0.778309> + 23911: <-0.615697, 0.091894, 0.782607> + 23912: <-0.568382, 0.134618, 0.811677> + 23913: <-0.565675, 0.176188, 0.805587> + 23914: <-0.609892, 0.176461, 0.772589> + 23915: <-0.613199, 0.134988, 0.778309> + 23916: <-0.565675, 0.176188, 0.805587> + 23917: <-0.562257, 0.216534, 0.798110> + 23918: <-0.605748, 0.216596, 0.765608> + 23919: <-0.609892, 0.176461, 0.772589> + 23920: <-0.562257, 0.216534, 0.798110> + 23921: <-0.558172, 0.255937, 0.789266> + 23922: <-0.600829, 0.255750, 0.757361> + 23923: <-0.605748, 0.216596, 0.765608> + 23924: <-0.558172, 0.255937, 0.789266> + 23925: <-0.553415, 0.294729, 0.779017> + 23926: <-0.595158, 0.294207, 0.747816> + 23927: <-0.600829, 0.255750, 0.757361> + 23928: <-0.553415, 0.294729, 0.779017> + 23929: <-0.548009, 0.333090, 0.767292> + 23930: <-0.588744, 0.332170, 0.736915> + 23931: <-0.595158, 0.294207, 0.747816> + 23932: <-0.548009, 0.333090, 0.767292> + 23933: <-0.542028, 0.370721, 0.754169> + 23934: <-0.581661, 0.369188, 0.724825> + 23935: <-0.588744, 0.332170, 0.736915> + 23936: <-0.542028, 0.370721, 0.754169> + 23937: <-0.535518, 0.407307, 0.739812> + 23938: <-0.574008, 0.404839, 0.711772> + 23939: <-0.581661, 0.369188, 0.724825> + 23940: <-0.535518, 0.407307, 0.739812> + 23941: <-0.528478, 0.443145, 0.724109> + 23942: <-0.565794, 0.439475, 0.697667> + 23943: <-0.574008, 0.404839, 0.711772> + 23944: <-0.528478, 0.443145, 0.724109> + 23945: <-0.520969, 0.478425, 0.706895> + 23946: <-0.557037, 0.473139, 0.682532> + 23947: <-0.565794, 0.439475, 0.697667> + 23948: <-0.520969, 0.478425, 0.706895> + 23949: <-0.513252, 0.513252, 0.687856> + 23950: <-0.547882, 0.506040, 0.666144> + 23951: <-0.557037, 0.473139, 0.682532> + 23952: <-0.513252, 0.513252, 0.687856> + 23953: <-0.506040, 0.547882, 0.666144> + 23954: <-0.538962, 0.538962, 0.647334> + 23955: <-0.547882, 0.506040, 0.666144> + 23956: <-0.506040, 0.547882, 0.666144> + 23957: <-0.500519, 0.581456, 0.641396> + 23958: <-0.531523, 0.571076, 0.625584> + 23959: <-0.538962, 0.538962, 0.647334> + 23960: <-0.531523, -0.571076, 0.625584> + 23961: <-0.538962, -0.538962, 0.647334> + 23962: <-0.571076, -0.531523, 0.625584> + 23963: <-0.561516, -0.561516, 0.607783> + 23964: <-0.538962, -0.538962, 0.647334> + 23965: <-0.547882, -0.506040, 0.666144> + 23966: <-0.581456, -0.500519, 0.641396> + 23967: <-0.571076, -0.531523, 0.625584> + 23968: <-0.547882, -0.506040, 0.666144> + 23969: <-0.557037, -0.473139, 0.682532> + 23970: <-0.591920, -0.469385, 0.655217> + 23971: <-0.581456, -0.500519, 0.641396> + 23972: <-0.557037, -0.473139, 0.682532> + 23973: <-0.565794, -0.439475, 0.697667> + 23974: <-0.601963, -0.437036, 0.668312> + 23975: <-0.591920, -0.469385, 0.655217> + 23976: <-0.565794, -0.439475, 0.697667> + 23977: <-0.574008, -0.404839, 0.711772> + 23978: <-0.611427, -0.403223, 0.680859> + 23979: <-0.601963, -0.437036, 0.668312> + 23980: <-0.574008, -0.404839, 0.711772> + 23981: <-0.581661, -0.369188, 0.724825> + 23982: <-0.620305, -0.368246, 0.692544> + 23983: <-0.611427, -0.403223, 0.680859> + 23984: <-0.581661, -0.369188, 0.724825> + 23985: <-0.588744, -0.332170, 0.736915> + 23986: <-0.628603, -0.331652, 0.703467> + 23987: <-0.620305, -0.368246, 0.692544> + 23988: <-0.588744, -0.332170, 0.736915> + 23989: <-0.595158, -0.294207, 0.747816> + 23990: <-0.636150, -0.293904, 0.713396> + 23991: <-0.628603, -0.331652, 0.703467> + 23992: <-0.595158, -0.294207, 0.747816> + 23993: <-0.600829, -0.255750, 0.757361> + 23994: <-0.642833, -0.255632, 0.722093> + 23995: <-0.636150, -0.293904, 0.713396> + 23996: <-0.600829, -0.255750, 0.757361> + 23997: <-0.605748, -0.216596, 0.765608> + 23998: <-0.648606, -0.216660, 0.729636> + 23999: <-0.642833, -0.255632, 0.722093> + 24000: <-0.605748, -0.216596, 0.765608> + 24001: <-0.609892, -0.176461, 0.772589> + 24002: <-0.653502, -0.176644, 0.736025> + 24003: <-0.648606, -0.216660, 0.729636> + 24004: <-0.609892, -0.176461, 0.772589> + 24005: <-0.613196, -0.135018, 0.778306> + 24006: <-0.657468, -0.135260, 0.741243> + 24007: <-0.653502, -0.176644, 0.736025> + 24008: <-0.613196, -0.135018, 0.778306> + 24009: <-0.615697, -0.091894, 0.782607> + 24010: <-0.660463, -0.092137, 0.745184> + 24011: <-0.657468, -0.135260, 0.741243> + 24012: <-0.615697, -0.091894, 0.782607> + 24013: <-0.617246, -0.046847, 0.785375> + 24014: <-0.662354, -0.046999, 0.747715> + 24015: <-0.660463, -0.092137, 0.745184> + 24016: <-0.617246, -0.046847, 0.785375> + 24017: <-0.617789, 0.000000, 0.786344> + 24018: <-0.663024, 0.000000, 0.748599> + 24019: <-0.662354, -0.046999, 0.747715> + 24020: <-0.617789, 0.000000, 0.786344> + 24021: <-0.617246, 0.046847, 0.785375> + 24022: <-0.662354, 0.046999, 0.747715> + 24023: <-0.663024, 0.000000, 0.748599> + 24024: <-0.617246, 0.046847, 0.785375> + 24025: <-0.615697, 0.091894, 0.782607> + 24026: <-0.660463, 0.092137, 0.745184> + 24027: <-0.662354, 0.046999, 0.747715> + 24028: <-0.615697, 0.091894, 0.782607> + 24029: <-0.613199, 0.134988, 0.778309> + 24030: <-0.657468, 0.135260, 0.741243> + 24031: <-0.660463, 0.092137, 0.745184> + 24032: <-0.613199, 0.134988, 0.778309> + 24033: <-0.609892, 0.176461, 0.772589> + 24034: <-0.653502, 0.176644, 0.736025> + 24035: <-0.657468, 0.135260, 0.741243> + 24036: <-0.609892, 0.176461, 0.772589> + 24037: <-0.605748, 0.216596, 0.765608> + 24038: <-0.648606, 0.216660, 0.729636> + 24039: <-0.653502, 0.176644, 0.736025> + 24040: <-0.605748, 0.216596, 0.765608> + 24041: <-0.600829, 0.255750, 0.757361> + 24042: <-0.642833, 0.255632, 0.722093> + 24043: <-0.648606, 0.216660, 0.729636> + 24044: <-0.600829, 0.255750, 0.757361> + 24045: <-0.595158, 0.294207, 0.747816> + 24046: <-0.636150, 0.293904, 0.713396> + 24047: <-0.642833, 0.255632, 0.722093> + 24048: <-0.595158, 0.294207, 0.747816> + 24049: <-0.588744, 0.332170, 0.736915> + 24050: <-0.628603, 0.331652, 0.703467> + 24051: <-0.636150, 0.293904, 0.713396> + 24052: <-0.588744, 0.332170, 0.736915> + 24053: <-0.581661, 0.369188, 0.724825> + 24054: <-0.620305, 0.368246, 0.692544> + 24055: <-0.628603, 0.331652, 0.703467> + 24056: <-0.581661, 0.369188, 0.724825> + 24057: <-0.574008, 0.404839, 0.711772> + 24058: <-0.611427, 0.403223, 0.680859> + 24059: <-0.620305, 0.368246, 0.692544> + 24060: <-0.574008, 0.404839, 0.711772> + 24061: <-0.565794, 0.439475, 0.697667> + 24062: <-0.601963, 0.437036, 0.668312> + 24063: <-0.611427, 0.403223, 0.680859> + 24064: <-0.565794, 0.439475, 0.697667> + 24065: <-0.557037, 0.473139, 0.682532> + 24066: <-0.591920, 0.469385, 0.655217> + 24067: <-0.601963, 0.437036, 0.668312> + 24068: <-0.557037, 0.473139, 0.682532> + 24069: <-0.547882, 0.506040, 0.666144> + 24070: <-0.581465, 0.500496, 0.641406> + 24071: <-0.591920, 0.469385, 0.655217> + 24072: <-0.547882, 0.506040, 0.666144> + 24073: <-0.538962, 0.538962, 0.647334> + 24074: <-0.571076, 0.531523, 0.625584> + 24075: <-0.581465, 0.500496, 0.641406> + 24076: <-0.538962, 0.538962, 0.647334> + 24077: <-0.531523, 0.571076, 0.625584> + 24078: <-0.561516, 0.561516, 0.607783> + 24079: <-0.571076, 0.531523, 0.625584> + 24080: < 0.577360, -0.577330, 0.577360> + 24081: < 0.588539, -0.554296, 0.588539> + 24082: < 0.561516, -0.561516, 0.607783> + 24083: < 0.554296, -0.588539, 0.588539> + 24084: < 0.588539, -0.554296, 0.588539> + 24085: < 0.601199, -0.526457, 0.601168> + 24086: < 0.571076, -0.531523, 0.625584> + 24087: < 0.561516, -0.561516, 0.607783> + 24088: < 0.601199, -0.526457, 0.601168> + 24089: < 0.613379, -0.497527, 0.613379> + 24090: < 0.581456, -0.500519, 0.641396> + 24091: < 0.571076, -0.531523, 0.625584> + 24092: < 0.613379, -0.497527, 0.613379> + 24093: < 0.624909, -0.467950, 0.624909> + 24094: < 0.591920, -0.469385, 0.655217> + 24095: < 0.581456, -0.500519, 0.641396> + 24096: < 0.624909, -0.467950, 0.624909> + 24097: < 0.636296, -0.436181, 0.636296> + 24098: < 0.601963, -0.437036, 0.668312> + 24099: < 0.591920, -0.469385, 0.655217> + 24100: < 0.636296, -0.436181, 0.636296> + 24101: < 0.647247, -0.402668, 0.647247> + 24102: < 0.611427, -0.403223, 0.680859> + 24103: < 0.601963, -0.437036, 0.668312> + 24104: < 0.647247, -0.402668, 0.647247> + 24105: < 0.657511, -0.367912, 0.657511> + 24106: < 0.620305, -0.368246, 0.692544> + 24107: < 0.611427, -0.403223, 0.680859> + 24108: < 0.657511, -0.367912, 0.657511> + 24109: < 0.667130, -0.331474, 0.667130> + 24110: < 0.628603, -0.331652, 0.703467> + 24111: < 0.620305, -0.368246, 0.692544> + 24112: < 0.667130, -0.331474, 0.667130> + 24113: < 0.675899, -0.293804, 0.675899> + 24114: < 0.636150, -0.293904, 0.713396> + 24115: < 0.628603, -0.331652, 0.703467> + 24116: < 0.675899, -0.293804, 0.675899> + 24117: < 0.683620, -0.255594, 0.683620> + 24118: < 0.642833, -0.255632, 0.722093> + 24119: < 0.636150, -0.293904, 0.713396> + 24120: < 0.683620, -0.255594, 0.683620> + 24121: < 0.690307, -0.216684, 0.690307> + 24122: < 0.648606, -0.216660, 0.729636> + 24123: < 0.642833, -0.255632, 0.722093> + 24124: < 0.690307, -0.216684, 0.690307> + 24125: < 0.695976, -0.176733, 0.695976> + 24126: < 0.653502, -0.176644, 0.736025> + 24127: < 0.648606, -0.216660, 0.729636> + 24128: < 0.695976, -0.176733, 0.695976> + 24129: < 0.700600, -0.135353, 0.700600> + 24130: < 0.657468, -0.135260, 0.741243> + 24131: < 0.653502, -0.176644, 0.736025> + 24132: < 0.700600, -0.135353, 0.700600> + 24133: < 0.704093, -0.092231, 0.704093> + 24134: < 0.660463, -0.092137, 0.745184> + 24135: < 0.657468, -0.135260, 0.741243> + 24136: < 0.704093, -0.092231, 0.704093> + 24137: < 0.706323, -0.047060, 0.706323> + 24138: < 0.662354, -0.046999, 0.747715> + 24139: < 0.660463, -0.092137, 0.745184> + 24140: < 0.706323, -0.047060, 0.706323> + 24141: < 0.707107, 0.000000, 0.707107> + 24142: < 0.663024, 0.000000, 0.748599> + 24143: < 0.662354, -0.046999, 0.747715> + 24144: < 0.707107, 0.000000, 0.707107> + 24145: < 0.706323, 0.047060, 0.706323> + 24146: < 0.662354, 0.046999, 0.747715> + 24147: < 0.663024, 0.000000, 0.748599> + 24148: < 0.706323, 0.047060, 0.706323> + 24149: < 0.704093, 0.092231, 0.704093> + 24150: < 0.660463, 0.092137, 0.745184> + 24151: < 0.662354, 0.046999, 0.747715> + 24152: < 0.704093, 0.092231, 0.704093> + 24153: < 0.700600, 0.135353, 0.700600> + 24154: < 0.657468, 0.135260, 0.741243> + 24155: < 0.660463, 0.092137, 0.745184> + 24156: < 0.700600, 0.135353, 0.700600> + 24157: < 0.695976, 0.176733, 0.695976> + 24158: < 0.653502, 0.176644, 0.736025> + 24159: < 0.657468, 0.135260, 0.741243> + 24160: < 0.695976, 0.176733, 0.695976> + 24161: < 0.690307, 0.216684, 0.690307> + 24162: < 0.648606, 0.216660, 0.729636> + 24163: < 0.653502, 0.176644, 0.736025> + 24164: < 0.690307, 0.216684, 0.690307> + 24165: < 0.683620, 0.255594, 0.683620> + 24166: < 0.642833, 0.255632, 0.722093> + 24167: < 0.648606, 0.216660, 0.729636> + 24168: < 0.683620, 0.255594, 0.683620> + 24169: < 0.675899, 0.293804, 0.675899> + 24170: < 0.636150, 0.293904, 0.713396> + 24171: < 0.642833, 0.255632, 0.722093> + 24172: < 0.675899, 0.293804, 0.675899> + 24173: < 0.667130, 0.331474, 0.667130> + 24174: < 0.628603, 0.331652, 0.703467> + 24175: < 0.636150, 0.293904, 0.713396> + 24176: < 0.667130, 0.331474, 0.667130> + 24177: < 0.657511, 0.367912, 0.657511> + 24178: < 0.620305, 0.368246, 0.692544> + 24179: < 0.628603, 0.331652, 0.703467> + 24180: < 0.657511, 0.367912, 0.657511> + 24181: < 0.647247, 0.402668, 0.647247> + 24182: < 0.611427, 0.403223, 0.680859> + 24183: < 0.620305, 0.368246, 0.692544> + 24184: < 0.647247, 0.402668, 0.647247> + 24185: < 0.636296, 0.436181, 0.636296> + 24186: < 0.601963, 0.437036, 0.668312> + 24187: < 0.611427, 0.403223, 0.680859> + 24188: < 0.636296, 0.436181, 0.636296> + 24189: < 0.624909, 0.467950, 0.624909> + 24190: < 0.591920, 0.469385, 0.655217> + 24191: < 0.601963, 0.437036, 0.668312> + 24192: < 0.624909, 0.467950, 0.624909> + 24193: < 0.613379, 0.497527, 0.613379> + 24194: < 0.581456, 0.500519, 0.641396> + 24195: < 0.591920, 0.469385, 0.655217> + 24196: < 0.613379, 0.497527, 0.613379> + 24197: < 0.601199, 0.526457, 0.601168> + 24198: < 0.571076, 0.531523, 0.625584> + 24199: < 0.581456, 0.500519, 0.641396> + 24200: < 0.601199, 0.526457, 0.601168> + 24201: < 0.588539, 0.554296, 0.588539> + 24202: < 0.561516, 0.561516, 0.607783> + 24203: < 0.571076, 0.531523, 0.625584> + 24204: < 0.588539, 0.554296, 0.588539> + 24205: < 0.577330, 0.577360, 0.577360> + 24206: < 0.554296, 0.588539, 0.588539> + 24207: < 0.561516, 0.561516, 0.607783> + 24208: < 0.561516, 0.561516, 0.607783> + 24209: < 0.554296, 0.588539, 0.588539> + 24210: < 0.526447, 0.601188, 0.601188> + 24211: < 0.531523, 0.571076, 0.625584> + 24212: < 0.531523, 0.571076, 0.625584> + 24213: < 0.526447, 0.601188, 0.601188> + 24214: < 0.497527, 0.613379, 0.613379> + 24215: < 0.500519, 0.581456, 0.641396> + 24216: < 0.500519, 0.581456, 0.641396> + 24217: < 0.497527, 0.613379, 0.613379> + 24218: < 0.467950, 0.624909, 0.624909> + 24219: < 0.469385, 0.591920, 0.655217> + 24220: < 0.469385, 0.591920, 0.655217> + 24221: < 0.467950, 0.624909, 0.624909> + 24222: < 0.436181, 0.636296, 0.636296> + 24223: < 0.437036, 0.601963, 0.668312> + 24224: < 0.437036, 0.601963, 0.668312> + 24225: < 0.436181, 0.636296, 0.636296> + 24226: < 0.402668, 0.647247, 0.647247> + 24227: < 0.403223, 0.611427, 0.680859> + 24228: < 0.403223, 0.611427, 0.680859> + 24229: < 0.402668, 0.647247, 0.647247> + 24230: < 0.367912, 0.657511, 0.657511> + 24231: < 0.368246, 0.620305, 0.692544> + 24232: < 0.368246, 0.620305, 0.692544> + 24233: < 0.367912, 0.657511, 0.657511> + 24234: < 0.331474, 0.667130, 0.667130> + 24235: < 0.331652, 0.628603, 0.703467> + 24236: < 0.331652, 0.628603, 0.703467> + 24237: < 0.331474, 0.667130, 0.667130> + 24238: < 0.293804, 0.675899, 0.675899> + 24239: < 0.293904, 0.636150, 0.713396> + 24240: < 0.293904, 0.636150, 0.713396> + 24241: < 0.293804, 0.675899, 0.675899> + 24242: < 0.255594, 0.683620, 0.683620> + 24243: < 0.255632, 0.642833, 0.722093> + 24244: < 0.255632, 0.642833, 0.722093> + 24245: < 0.255594, 0.683620, 0.683620> + 24246: < 0.216684, 0.690307, 0.690307> + 24247: < 0.216660, 0.648606, 0.729636> + 24248: < 0.216660, 0.648606, 0.729636> + 24249: < 0.216684, 0.690307, 0.690307> + 24250: < 0.176733, 0.695976, 0.695976> + 24251: < 0.176644, 0.653502, 0.736025> + 24252: < 0.176644, 0.653502, 0.736025> + 24253: < 0.176733, 0.695976, 0.695976> + 24254: < 0.135353, 0.700600, 0.700600> + 24255: < 0.135260, 0.657468, 0.741243> + 24256: < 0.135260, 0.657468, 0.741243> + 24257: < 0.135353, 0.700600, 0.700600> + 24258: < 0.092231, 0.704093, 0.704093> + 24259: < 0.092137, 0.660463, 0.745184> + 24260: < 0.092137, 0.660463, 0.745184> + 24261: < 0.092231, 0.704093, 0.704093> + 24262: < 0.047060, 0.706323, 0.706323> + 24263: < 0.046999, 0.662354, 0.747715> + 24264: < 0.046999, 0.662354, 0.747715> + 24265: < 0.047060, 0.706323, 0.706323> + 24266: < 0.000000, 0.707107, 0.707107> + 24267: < 0.000000, 0.663024, 0.748599> + 24268: < 0.000000, 0.663024, 0.748599> + 24269: < 0.000000, 0.707107, 0.707107> + 24270: <-0.047060, 0.706323, 0.706323> + 24271: <-0.046999, 0.662354, 0.747715> + 24272: <-0.046999, 0.662354, 0.747715> + 24273: <-0.047060, 0.706323, 0.706323> + 24274: <-0.092231, 0.704093, 0.704093> + 24275: <-0.092137, 0.660463, 0.745184> + 24276: <-0.092137, 0.660463, 0.745184> + 24277: <-0.092231, 0.704093, 0.704093> + 24278: <-0.135353, 0.700600, 0.700600> + 24279: <-0.135260, 0.657468, 0.741243> + 24280: <-0.135260, 0.657468, 0.741243> + 24281: <-0.135353, 0.700600, 0.700600> + 24282: <-0.176733, 0.695976, 0.695976> + 24283: <-0.176644, 0.653502, 0.736025> + 24284: <-0.176644, 0.653502, 0.736025> + 24285: <-0.176733, 0.695976, 0.695976> + 24286: <-0.216684, 0.690307, 0.690307> + 24287: <-0.216660, 0.648606, 0.729636> + 24288: <-0.216660, 0.648606, 0.729636> + 24289: <-0.216684, 0.690307, 0.690307> + 24290: <-0.255594, 0.683620, 0.683620> + 24291: <-0.255632, 0.642833, 0.722093> + 24292: <-0.255632, 0.642833, 0.722093> + 24293: <-0.255594, 0.683620, 0.683620> + 24294: <-0.293804, 0.675899, 0.675899> + 24295: <-0.293904, 0.636150, 0.713396> + 24296: <-0.293904, 0.636150, 0.713396> + 24297: <-0.293804, 0.675899, 0.675899> + 24298: <-0.331474, 0.667130, 0.667130> + 24299: <-0.331652, 0.628603, 0.703467> + 24300: <-0.331652, 0.628603, 0.703467> + 24301: <-0.331474, 0.667130, 0.667130> + 24302: <-0.367912, 0.657511, 0.657511> + 24303: <-0.368246, 0.620305, 0.692544> + 24304: <-0.368246, 0.620305, 0.692544> + 24305: <-0.367912, 0.657511, 0.657511> + 24306: <-0.402668, 0.647247, 0.647247> + 24307: <-0.403223, 0.611427, 0.680859> + 24308: <-0.403223, 0.611427, 0.680859> + 24309: <-0.402668, 0.647247, 0.647247> + 24310: <-0.436181, 0.636296, 0.636296> + 24311: <-0.437036, 0.601963, 0.668312> + 24312: <-0.437036, 0.601963, 0.668312> + 24313: <-0.436181, 0.636296, 0.636296> + 24314: <-0.467950, 0.624909, 0.624909> + 24315: <-0.469385, 0.591920, 0.655217> + 24316: <-0.469385, 0.591920, 0.655217> + 24317: <-0.467950, 0.624909, 0.624909> + 24318: <-0.497527, 0.613379, 0.613379> + 24319: <-0.500519, 0.581456, 0.641396> + 24320: <-0.500519, 0.581456, 0.641396> + 24321: <-0.497527, 0.613379, 0.613379> + 24322: <-0.526447, 0.601188, 0.601188> + 24323: <-0.531523, 0.571076, 0.625584> + 24324: <-0.531523, 0.571076, 0.625584> + 24325: <-0.526447, 0.601188, 0.601188> + 24326: <-0.554296, 0.588539, 0.588539> + 24327: <-0.561516, 0.561516, 0.607783> + 24328: <-0.561516, 0.561516, 0.607783> + 24329: <-0.554296, 0.588539, 0.588539> + 24330: <-0.577350, 0.577350, 0.577350> + 24331: <-0.588539, 0.554296, 0.588539> + 24332: <-0.571076, 0.531523, 0.625584> + 24333: <-0.561516, 0.561516, 0.607783> + 24334: <-0.588539, 0.554296, 0.588539> + 24335: <-0.601188, 0.526447, 0.601188> + 24336: <-0.581465, 0.500496, 0.641406> + 24337: <-0.571076, 0.531523, 0.625584> + 24338: <-0.601188, 0.526447, 0.601188> + 24339: <-0.613379, 0.497527, 0.613379> + 24340: <-0.591920, 0.469385, 0.655217> + 24341: <-0.581465, 0.500496, 0.641406> + 24342: <-0.613379, 0.497527, 0.613379> + 24343: <-0.624909, 0.467950, 0.624909> + 24344: <-0.601963, 0.437036, 0.668312> + 24345: <-0.591920, 0.469385, 0.655217> + 24346: <-0.624909, 0.467950, 0.624909> + 24347: <-0.636296, 0.436181, 0.636296> + 24348: <-0.611427, 0.403223, 0.680859> + 24349: <-0.601963, 0.437036, 0.668312> + 24350: <-0.636296, 0.436181, 0.636296> + 24351: <-0.647247, 0.402668, 0.647247> + 24352: <-0.620305, 0.368246, 0.692544> + 24353: <-0.611427, 0.403223, 0.680859> + 24354: <-0.647247, 0.402668, 0.647247> + 24355: <-0.657511, 0.367912, 0.657511> + 24356: <-0.628603, 0.331652, 0.703467> + 24357: <-0.620305, 0.368246, 0.692544> + 24358: <-0.657511, 0.367912, 0.657511> + 24359: <-0.667130, 0.331474, 0.667130> + 24360: <-0.636150, 0.293904, 0.713396> + 24361: <-0.628603, 0.331652, 0.703467> + 24362: <-0.667130, 0.331474, 0.667130> + 24363: <-0.675899, 0.293804, 0.675899> + 24364: <-0.642833, 0.255632, 0.722093> + 24365: <-0.636150, 0.293904, 0.713396> + 24366: <-0.675899, 0.293804, 0.675899> + 24367: <-0.683620, 0.255594, 0.683620> + 24368: <-0.648606, 0.216660, 0.729636> + 24369: <-0.642833, 0.255632, 0.722093> + 24370: <-0.683620, 0.255594, 0.683620> + 24371: <-0.690307, 0.216684, 0.690307> + 24372: <-0.653502, 0.176644, 0.736025> + 24373: <-0.648606, 0.216660, 0.729636> + 24374: <-0.690307, 0.216684, 0.690307> + 24375: <-0.695976, 0.176733, 0.695976> + 24376: <-0.657468, 0.135260, 0.741243> + 24377: <-0.653502, 0.176644, 0.736025> + 24378: <-0.695976, 0.176733, 0.695976> + 24379: <-0.700600, 0.135353, 0.700600> + 24380: <-0.660463, 0.092137, 0.745184> + 24381: <-0.657468, 0.135260, 0.741243> + 24382: <-0.700600, 0.135353, 0.700600> + 24383: <-0.704093, 0.092231, 0.704093> + 24384: <-0.662354, 0.046999, 0.747715> + 24385: <-0.660463, 0.092137, 0.745184> + 24386: <-0.704093, 0.092231, 0.704093> + 24387: <-0.706323, 0.047060, 0.706323> + 24388: <-0.663024, 0.000000, 0.748599> + 24389: <-0.662354, 0.046999, 0.747715> + 24390: <-0.706323, 0.047060, 0.706323> + 24391: <-0.707107, 0.000000, 0.707107> + 24392: <-0.662354, -0.046999, 0.747715> + 24393: <-0.663024, 0.000000, 0.748599> + 24394: <-0.707107, 0.000000, 0.707107> + 24395: <-0.706323, -0.047060, 0.706323> + 24396: <-0.660463, -0.092137, 0.745184> + 24397: <-0.662354, -0.046999, 0.747715> + 24398: <-0.706323, -0.047060, 0.706323> + 24399: <-0.704093, -0.092231, 0.704093> + 24400: <-0.657468, -0.135260, 0.741243> + 24401: <-0.660463, -0.092137, 0.745184> + 24402: <-0.704093, -0.092231, 0.704093> + 24403: <-0.700600, -0.135353, 0.700600> + 24404: <-0.653502, -0.176644, 0.736025> + 24405: <-0.657468, -0.135260, 0.741243> + 24406: <-0.700600, -0.135353, 0.700600> + 24407: <-0.695976, -0.176733, 0.695976> + 24408: <-0.648606, -0.216660, 0.729636> + 24409: <-0.653502, -0.176644, 0.736025> + 24410: <-0.695976, -0.176733, 0.695976> + 24411: <-0.690307, -0.216684, 0.690307> + 24412: <-0.642833, -0.255632, 0.722093> + 24413: <-0.648606, -0.216660, 0.729636> + 24414: <-0.690307, -0.216684, 0.690307> + 24415: <-0.683620, -0.255594, 0.683620> + 24416: <-0.636150, -0.293904, 0.713396> + 24417: <-0.642833, -0.255632, 0.722093> + 24418: <-0.683620, -0.255594, 0.683620> + 24419: <-0.675899, -0.293804, 0.675899> + 24420: <-0.628603, -0.331652, 0.703467> + 24421: <-0.636150, -0.293904, 0.713396> + 24422: <-0.675899, -0.293804, 0.675899> + 24423: <-0.667130, -0.331474, 0.667130> + 24424: <-0.620305, -0.368246, 0.692544> + 24425: <-0.628603, -0.331652, 0.703467> + 24426: <-0.667130, -0.331474, 0.667130> + 24427: <-0.657511, -0.367912, 0.657511> + 24428: <-0.611427, -0.403223, 0.680859> + 24429: <-0.620305, -0.368246, 0.692544> + 24430: <-0.657511, -0.367912, 0.657511> + 24431: <-0.647247, -0.402668, 0.647247> + 24432: <-0.601963, -0.437036, 0.668312> + 24433: <-0.611427, -0.403223, 0.680859> + 24434: <-0.647247, -0.402668, 0.647247> + 24435: <-0.636296, -0.436181, 0.636296> + 24436: <-0.591920, -0.469385, 0.655217> + 24437: <-0.601963, -0.437036, 0.668312> + 24438: <-0.636296, -0.436181, 0.636296> + 24439: <-0.624909, -0.467950, 0.624909> + 24440: <-0.581456, -0.500519, 0.641396> + 24441: <-0.591920, -0.469385, 0.655217> + 24442: <-0.624909, -0.467950, 0.624909> + 24443: <-0.613379, -0.497527, 0.613379> + 24444: <-0.571076, -0.531523, 0.625584> + 24445: <-0.581456, -0.500519, 0.641396> + 24446: <-0.613379, -0.497527, 0.613379> + 24447: <-0.601188, -0.526447, 0.601188> + 24448: <-0.561516, -0.561516, 0.607783> + 24449: <-0.571076, -0.531523, 0.625584> + 24450: <-0.601188, -0.526447, 0.601188> + 24451: <-0.588539, -0.554296, 0.588539> + 24452: <-0.554296, -0.588539, 0.588539> + 24453: <-0.561516, -0.561516, 0.607783> + 24454: <-0.588539, -0.554296, 0.588539> + 24455: <-0.577330, -0.577360, 0.577360> + 24456: <-0.526457, -0.601168, 0.601199> + 24457: <-0.531523, -0.571076, 0.625584> + 24458: <-0.561516, -0.561516, 0.607783> + 24459: <-0.554296, -0.588539, 0.588539> + 24460: <-0.497527, -0.613379, 0.613379> + 24461: <-0.500496, -0.581465, 0.641406> + 24462: <-0.531523, -0.571076, 0.625584> + 24463: <-0.526457, -0.601168, 0.601199> + 24464: <-0.467950, -0.624909, 0.624909> + 24465: <-0.469385, -0.591920, 0.655217> + 24466: <-0.500496, -0.581465, 0.641406> + 24467: <-0.497527, -0.613379, 0.613379> + 24468: <-0.436181, -0.636296, 0.636296> + 24469: <-0.437036, -0.601963, 0.668312> + 24470: <-0.469385, -0.591920, 0.655217> + 24471: <-0.467950, -0.624909, 0.624909> + 24472: <-0.402668, -0.647247, 0.647247> + 24473: <-0.403223, -0.611427, 0.680859> + 24474: <-0.437036, -0.601963, 0.668312> + 24475: <-0.436181, -0.636296, 0.636296> + 24476: <-0.367912, -0.657511, 0.657511> + 24477: <-0.368246, -0.620305, 0.692544> + 24478: <-0.403223, -0.611427, 0.680859> + 24479: <-0.402668, -0.647247, 0.647247> + 24480: <-0.331474, -0.667130, 0.667130> + 24481: <-0.331652, -0.628603, 0.703467> + 24482: <-0.368246, -0.620305, 0.692544> + 24483: <-0.367912, -0.657511, 0.657511> + 24484: <-0.293804, -0.675899, 0.675899> + 24485: <-0.293904, -0.636150, 0.713396> + 24486: <-0.331652, -0.628603, 0.703467> + 24487: <-0.331474, -0.667130, 0.667130> + 24488: <-0.255594, -0.683620, 0.683620> + 24489: <-0.255632, -0.642833, 0.722093> + 24490: <-0.293904, -0.636150, 0.713396> + 24491: <-0.293804, -0.675899, 0.675899> + 24492: <-0.216684, -0.690307, 0.690307> + 24493: <-0.216660, -0.648606, 0.729636> + 24494: <-0.255632, -0.642833, 0.722093> + 24495: <-0.255594, -0.683620, 0.683620> + 24496: <-0.176733, -0.695976, 0.695976> + 24497: <-0.176644, -0.653502, 0.736025> + 24498: <-0.216660, -0.648606, 0.729636> + 24499: <-0.216684, -0.690307, 0.690307> + 24500: <-0.135353, -0.700600, 0.700600> + 24501: <-0.135260, -0.657468, 0.741243> + 24502: <-0.176644, -0.653502, 0.736025> + 24503: <-0.176733, -0.695976, 0.695976> + 24504: <-0.092229, -0.704078, 0.704108> + 24505: <-0.092137, -0.660463, 0.745184> + 24506: <-0.135260, -0.657468, 0.741243> + 24507: <-0.135353, -0.700600, 0.700600> + 24508: <-0.047060, -0.706323, 0.706323> + 24509: <-0.046999, -0.662354, 0.747715> + 24510: <-0.092137, -0.660463, 0.745184> + 24511: <-0.092229, -0.704078, 0.704108> + 24512: < 0.000000, -0.707107, 0.707107> + 24513: < 0.000000, -0.663024, 0.748599> + 24514: <-0.046999, -0.662354, 0.747715> + 24515: <-0.047060, -0.706323, 0.706323> + 24516: < 0.047060, -0.706323, 0.706323> + 24517: < 0.046999, -0.662354, 0.747715> + 24518: < 0.000000, -0.663024, 0.748599> + 24519: < 0.000000, -0.707107, 0.707107> + 24520: < 0.092231, -0.704093, 0.704093> + 24521: < 0.092137, -0.660463, 0.745184> + 24522: < 0.046999, -0.662354, 0.747715> + 24523: < 0.047060, -0.706323, 0.706323> + 24524: < 0.135353, -0.700600, 0.700600> + 24525: < 0.135260, -0.657468, 0.741243> + 24526: < 0.092137, -0.660463, 0.745184> + 24527: < 0.092231, -0.704093, 0.704093> + 24528: < 0.176733, -0.695976, 0.695976> + 24529: < 0.176644, -0.653502, 0.736025> + 24530: < 0.135260, -0.657468, 0.741243> + 24531: < 0.135353, -0.700600, 0.700600> + 24532: < 0.216684, -0.690307, 0.690307> + 24533: < 0.216656, -0.648624, 0.729622> + 24534: < 0.176644, -0.653502, 0.736025> + 24535: < 0.176733, -0.695976, 0.695976> + 24536: < 0.255594, -0.683620, 0.683620> + 24537: < 0.255632, -0.642833, 0.722093> + 24538: < 0.216656, -0.648624, 0.729622> + 24539: < 0.216684, -0.690307, 0.690307> + 24540: < 0.293804, -0.675899, 0.675899> + 24541: < 0.293904, -0.636150, 0.713396> + 24542: < 0.255632, -0.642833, 0.722093> + 24543: < 0.255594, -0.683620, 0.683620> + 24544: < 0.331474, -0.667130, 0.667130> + 24545: < 0.331652, -0.628603, 0.703467> + 24546: < 0.293904, -0.636150, 0.713396> + 24547: < 0.293804, -0.675899, 0.675899> + 24548: < 0.367912, -0.657511, 0.657511> + 24549: < 0.368246, -0.620305, 0.692544> + 24550: < 0.331652, -0.628603, 0.703467> + 24551: < 0.331474, -0.667130, 0.667130> + 24552: < 0.402668, -0.647247, 0.647247> + 24553: < 0.403223, -0.611427, 0.680859> + 24554: < 0.368246, -0.620305, 0.692544> + 24555: < 0.367912, -0.657511, 0.657511> + 24556: < 0.436181, -0.636296, 0.636296> + 24557: < 0.437036, -0.601963, 0.668312> + 24558: < 0.403223, -0.611427, 0.680859> + 24559: < 0.402668, -0.647247, 0.647247> + 24560: < 0.467950, -0.624909, 0.624909> + 24561: < 0.469385, -0.591920, 0.655217> + 24562: < 0.437036, -0.601963, 0.668312> + 24563: < 0.436181, -0.636296, 0.636296> + 24564: < 0.497527, -0.613379, 0.613379> + 24565: < 0.500519, -0.581456, 0.641396> + 24566: < 0.469385, -0.591920, 0.655217> + 24567: < 0.467950, -0.624909, 0.624909> + 24568: < 0.526447, -0.601188, 0.601188> + 24569: < 0.531523, -0.571076, 0.625584> + 24570: < 0.500519, -0.581456, 0.641396> + 24571: < 0.497527, -0.613379, 0.613379> + 24572: < 0.554296, -0.588539, 0.588539> + 24573: < 0.561516, -0.561516, 0.607783> + 24574: < 0.531523, -0.571076, 0.625584> + 24575: < 0.526447, -0.601188, 0.601188> + FaceList: Count 12288. Hash: 13183441914179219962 + 0: 0, 1, 2, + 1: 0, 2, 3, + 2: 4, 5, 6, + 3: 4, 6, 7, + 4: 8, 9, 10, + 5: 8, 10, 11, + 6: 12, 13, 14, + 7: 12, 14, 15, + 8: 16, 17, 18, + 9: 16, 18, 19, + 10: 20, 21, 22, + 11: 20, 22, 23, + 12: 24, 25, 26, + 13: 24, 26, 27, + 14: 28, 29, 30, + 15: 28, 30, 31, + 16: 32, 33, 34, + 17: 32, 34, 35, + 18: 36, 37, 38, + 19: 36, 38, 39, + 20: 40, 41, 42, + 21: 40, 42, 43, + 22: 44, 45, 46, + 23: 44, 46, 47, + 24: 48, 49, 50, + 25: 48, 50, 51, + 26: 52, 53, 54, + 27: 52, 54, 55, + 28: 56, 57, 58, + 29: 56, 58, 59, + 30: 60, 61, 62, + 31: 60, 62, 63, + 32: 64, 65, 66, + 33: 64, 66, 67, + 34: 68, 69, 70, + 35: 68, 70, 71, + 36: 72, 73, 74, + 37: 72, 74, 75, + 38: 76, 77, 78, + 39: 76, 78, 79, + 40: 80, 81, 82, + 41: 80, 82, 83, + 42: 84, 85, 86, + 43: 84, 86, 87, + 44: 88, 89, 90, + 45: 88, 90, 91, + 46: 92, 93, 94, + 47: 92, 94, 95, + 48: 96, 97, 98, + 49: 96, 98, 99, + 50: 100, 101, 102, + 51: 100, 102, 103, + 52: 104, 105, 106, + 53: 104, 106, 107, + 54: 108, 109, 110, + 55: 108, 110, 111, + 56: 112, 113, 114, + 57: 112, 114, 115, + 58: 116, 117, 118, + 59: 116, 118, 119, + 60: 120, 121, 122, + 61: 120, 122, 123, + 62: 124, 125, 126, + 63: 124, 126, 127, + 64: 128, 129, 130, + 65: 128, 130, 131, + 66: 132, 133, 134, + 67: 132, 134, 135, + 68: 136, 137, 138, + 69: 136, 138, 139, + 70: 140, 141, 142, + 71: 140, 142, 143, + 72: 144, 145, 146, + 73: 144, 146, 147, + 74: 148, 149, 150, + 75: 148, 150, 151, + 76: 152, 153, 154, + 77: 152, 154, 155, + 78: 156, 157, 158, + 79: 156, 158, 159, + 80: 160, 161, 162, + 81: 160, 162, 163, + 82: 164, 165, 166, + 83: 164, 166, 167, + 84: 168, 169, 170, + 85: 168, 170, 171, + 86: 172, 173, 174, + 87: 172, 174, 175, + 88: 176, 177, 178, + 89: 176, 178, 179, + 90: 180, 181, 182, + 91: 180, 182, 183, + 92: 184, 185, 186, + 93: 184, 186, 187, + 94: 188, 189, 190, + 95: 188, 190, 191, + 96: 192, 193, 194, + 97: 192, 194, 195, + 98: 196, 197, 198, + 99: 196, 198, 199, + 100: 200, 201, 202, + 101: 200, 202, 203, + 102: 204, 205, 206, + 103: 204, 206, 207, + 104: 208, 209, 210, + 105: 208, 210, 211, + 106: 212, 213, 214, + 107: 212, 214, 215, + 108: 216, 217, 218, + 109: 216, 218, 219, + 110: 220, 221, 222, + 111: 220, 222, 223, + 112: 224, 225, 226, + 113: 224, 226, 227, + 114: 228, 229, 230, + 115: 228, 230, 231, + 116: 232, 233, 234, + 117: 232, 234, 235, + 118: 236, 237, 238, + 119: 236, 238, 239, + 120: 240, 241, 242, + 121: 240, 242, 243, + 122: 244, 245, 246, + 123: 244, 246, 247, + 124: 248, 249, 250, + 125: 248, 250, 251, + 126: 252, 253, 254, + 127: 252, 254, 255, + 128: 256, 257, 258, + 129: 256, 258, 259, + 130: 260, 261, 262, + 131: 260, 262, 263, + 132: 264, 265, 266, + 133: 264, 266, 267, + 134: 268, 269, 270, + 135: 268, 270, 271, + 136: 272, 273, 274, + 137: 272, 274, 275, + 138: 276, 277, 278, + 139: 276, 278, 279, + 140: 280, 281, 282, + 141: 280, 282, 283, + 142: 284, 285, 286, + 143: 284, 286, 287, + 144: 288, 289, 290, + 145: 288, 290, 291, + 146: 292, 293, 294, + 147: 292, 294, 295, + 148: 296, 297, 298, + 149: 296, 298, 299, + 150: 300, 301, 302, + 151: 300, 302, 303, + 152: 304, 305, 306, + 153: 304, 306, 307, + 154: 308, 309, 310, + 155: 308, 310, 311, + 156: 312, 313, 314, + 157: 312, 314, 315, + 158: 316, 317, 318, + 159: 316, 318, 319, + 160: 320, 321, 322, + 161: 320, 322, 323, + 162: 324, 325, 326, + 163: 324, 326, 327, + 164: 328, 329, 330, + 165: 328, 330, 331, + 166: 332, 333, 334, + 167: 332, 334, 335, + 168: 336, 337, 338, + 169: 336, 338, 339, + 170: 340, 341, 342, + 171: 340, 342, 343, + 172: 344, 345, 346, + 173: 344, 346, 347, + 174: 348, 349, 350, + 175: 348, 350, 351, + 176: 352, 353, 354, + 177: 352, 354, 355, + 178: 356, 357, 358, + 179: 356, 358, 359, + 180: 360, 361, 362, + 181: 360, 362, 363, + 182: 364, 365, 366, + 183: 364, 366, 367, + 184: 368, 369, 370, + 185: 368, 370, 371, + 186: 372, 373, 374, + 187: 372, 374, 375, + 188: 376, 377, 378, + 189: 376, 378, 379, + 190: 380, 381, 382, + 191: 380, 382, 383, + 192: 384, 385, 386, + 193: 384, 386, 387, + 194: 388, 389, 390, + 195: 388, 390, 391, + 196: 392, 393, 394, + 197: 392, 394, 395, + 198: 396, 397, 398, + 199: 396, 398, 399, + 200: 400, 401, 402, + 201: 400, 402, 403, + 202: 404, 405, 406, + 203: 404, 406, 407, + 204: 408, 409, 410, + 205: 408, 410, 411, + 206: 412, 413, 414, + 207: 412, 414, 415, + 208: 416, 417, 418, + 209: 416, 418, 419, + 210: 420, 421, 422, + 211: 420, 422, 423, + 212: 424, 425, 426, + 213: 424, 426, 427, + 214: 428, 429, 430, + 215: 428, 430, 431, + 216: 432, 433, 434, + 217: 432, 434, 435, + 218: 436, 437, 438, + 219: 436, 438, 439, + 220: 440, 441, 442, + 221: 440, 442, 443, + 222: 444, 445, 446, + 223: 444, 446, 447, + 224: 448, 449, 450, + 225: 448, 450, 451, + 226: 452, 453, 454, + 227: 452, 454, 455, + 228: 456, 457, 458, + 229: 456, 458, 459, + 230: 460, 461, 462, + 231: 460, 462, 463, + 232: 464, 465, 466, + 233: 464, 466, 467, + 234: 468, 469, 470, + 235: 468, 470, 471, + 236: 472, 473, 474, + 237: 472, 474, 475, + 238: 476, 477, 478, + 239: 476, 478, 479, + 240: 480, 481, 482, + 241: 480, 482, 483, + 242: 484, 485, 486, + 243: 484, 486, 487, + 244: 488, 489, 490, + 245: 488, 490, 491, + 246: 492, 493, 494, + 247: 492, 494, 495, + 248: 496, 497, 498, + 249: 496, 498, 499, + 250: 500, 501, 502, + 251: 500, 502, 503, + 252: 504, 505, 506, + 253: 504, 506, 507, + 254: 508, 509, 510, + 255: 508, 510, 511, + 256: 512, 513, 514, + 257: 512, 514, 515, + 258: 516, 517, 518, + 259: 516, 518, 519, + 260: 520, 521, 522, + 261: 520, 522, 523, + 262: 524, 525, 526, + 263: 524, 526, 527, + 264: 528, 529, 530, + 265: 528, 530, 531, + 266: 532, 533, 534, + 267: 532, 534, 535, + 268: 536, 537, 538, + 269: 536, 538, 539, + 270: 540, 541, 542, + 271: 540, 542, 543, + 272: 544, 545, 546, + 273: 544, 546, 547, + 274: 548, 549, 550, + 275: 548, 550, 551, + 276: 552, 553, 554, + 277: 552, 554, 555, + 278: 556, 557, 558, + 279: 556, 558, 559, + 280: 560, 561, 562, + 281: 560, 562, 563, + 282: 564, 565, 566, + 283: 564, 566, 567, + 284: 568, 569, 570, + 285: 568, 570, 571, + 286: 572, 573, 574, + 287: 572, 574, 575, + 288: 576, 577, 578, + 289: 576, 578, 579, + 290: 580, 581, 582, + 291: 580, 582, 583, + 292: 584, 585, 586, + 293: 584, 586, 587, + 294: 588, 589, 590, + 295: 588, 590, 591, + 296: 592, 593, 594, + 297: 592, 594, 595, + 298: 596, 597, 598, + 299: 596, 598, 599, + 300: 600, 601, 602, + 301: 600, 602, 603, + 302: 604, 605, 606, + 303: 604, 606, 607, + 304: 608, 609, 610, + 305: 608, 610, 611, + 306: 612, 613, 614, + 307: 612, 614, 615, + 308: 616, 617, 618, + 309: 616, 618, 619, + 310: 620, 621, 622, + 311: 620, 622, 623, + 312: 624, 625, 626, + 313: 624, 626, 627, + 314: 628, 629, 630, + 315: 628, 630, 631, + 316: 632, 633, 634, + 317: 632, 634, 635, + 318: 636, 637, 638, + 319: 636, 638, 639, + 320: 640, 641, 642, + 321: 640, 642, 643, + 322: 644, 645, 646, + 323: 644, 646, 647, + 324: 648, 649, 650, + 325: 648, 650, 651, + 326: 652, 653, 654, + 327: 652, 654, 655, + 328: 656, 657, 658, + 329: 656, 658, 659, + 330: 660, 661, 662, + 331: 660, 662, 663, + 332: 664, 665, 666, + 333: 664, 666, 667, + 334: 668, 669, 670, + 335: 668, 670, 671, + 336: 672, 673, 674, + 337: 672, 674, 675, + 338: 676, 677, 678, + 339: 676, 678, 679, + 340: 680, 681, 682, + 341: 680, 682, 683, + 342: 684, 685, 686, + 343: 684, 686, 687, + 344: 688, 689, 690, + 345: 688, 690, 691, + 346: 692, 693, 694, + 347: 692, 694, 695, + 348: 696, 697, 698, + 349: 696, 698, 699, + 350: 700, 701, 702, + 351: 700, 702, 703, + 352: 704, 705, 706, + 353: 704, 706, 707, + 354: 708, 709, 710, + 355: 708, 710, 711, + 356: 712, 713, 714, + 357: 712, 714, 715, + 358: 716, 717, 718, + 359: 716, 718, 719, + 360: 720, 721, 722, + 361: 720, 722, 723, + 362: 724, 725, 726, + 363: 724, 726, 727, + 364: 728, 729, 730, + 365: 728, 730, 731, + 366: 732, 733, 734, + 367: 732, 734, 735, + 368: 736, 737, 738, + 369: 736, 738, 739, + 370: 740, 741, 742, + 371: 740, 742, 743, + 372: 744, 745, 746, + 373: 744, 746, 747, + 374: 748, 749, 750, + 375: 748, 750, 751, + 376: 752, 753, 754, + 377: 752, 754, 755, + 378: 756, 757, 758, + 379: 756, 758, 759, + 380: 760, 761, 762, + 381: 760, 762, 763, + 382: 764, 765, 766, + 383: 764, 766, 767, + 384: 768, 769, 770, + 385: 768, 770, 771, + 386: 772, 773, 774, + 387: 772, 774, 775, + 388: 776, 777, 778, + 389: 776, 778, 779, + 390: 780, 781, 782, + 391: 780, 782, 783, + 392: 784, 785, 786, + 393: 784, 786, 787, + 394: 788, 789, 790, + 395: 788, 790, 791, + 396: 792, 793, 794, + 397: 792, 794, 795, + 398: 796, 797, 798, + 399: 796, 798, 799, + 400: 800, 801, 802, + 401: 800, 802, 803, + 402: 804, 805, 806, + 403: 804, 806, 807, + 404: 808, 809, 810, + 405: 808, 810, 811, + 406: 812, 813, 814, + 407: 812, 814, 815, + 408: 816, 817, 818, + 409: 816, 818, 819, + 410: 820, 821, 822, + 411: 820, 822, 823, + 412: 824, 825, 826, + 413: 824, 826, 827, + 414: 828, 829, 830, + 415: 828, 830, 831, + 416: 832, 833, 834, + 417: 832, 834, 835, + 418: 836, 837, 838, + 419: 836, 838, 839, + 420: 840, 841, 842, + 421: 840, 842, 843, + 422: 844, 845, 846, + 423: 844, 846, 847, + 424: 848, 849, 850, + 425: 848, 850, 851, + 426: 852, 853, 854, + 427: 852, 854, 855, + 428: 856, 857, 858, + 429: 856, 858, 859, + 430: 860, 861, 862, + 431: 860, 862, 863, + 432: 864, 865, 866, + 433: 864, 866, 867, + 434: 868, 869, 870, + 435: 868, 870, 871, + 436: 872, 873, 874, + 437: 872, 874, 875, + 438: 876, 877, 878, + 439: 876, 878, 879, + 440: 880, 881, 882, + 441: 880, 882, 883, + 442: 884, 885, 886, + 443: 884, 886, 887, + 444: 888, 889, 890, + 445: 888, 890, 891, + 446: 892, 893, 894, + 447: 892, 894, 895, + 448: 896, 897, 898, + 449: 896, 898, 899, + 450: 900, 901, 902, + 451: 900, 902, 903, + 452: 904, 905, 906, + 453: 904, 906, 907, + 454: 908, 909, 910, + 455: 908, 910, 911, + 456: 912, 913, 914, + 457: 912, 914, 915, + 458: 916, 917, 918, + 459: 916, 918, 919, + 460: 920, 921, 922, + 461: 920, 922, 923, + 462: 924, 925, 926, + 463: 924, 926, 927, + 464: 928, 929, 930, + 465: 928, 930, 931, + 466: 932, 933, 934, + 467: 932, 934, 935, + 468: 936, 937, 938, + 469: 936, 938, 939, + 470: 940, 941, 942, + 471: 940, 942, 943, + 472: 944, 945, 946, + 473: 944, 946, 947, + 474: 948, 949, 950, + 475: 948, 950, 951, + 476: 952, 953, 954, + 477: 952, 954, 955, + 478: 956, 957, 958, + 479: 956, 958, 959, + 480: 960, 961, 962, + 481: 960, 962, 963, + 482: 964, 965, 966, + 483: 964, 966, 967, + 484: 968, 969, 970, + 485: 968, 970, 971, + 486: 972, 973, 974, + 487: 972, 974, 975, + 488: 976, 977, 978, + 489: 976, 978, 979, + 490: 980, 981, 982, + 491: 980, 982, 983, + 492: 984, 985, 986, + 493: 984, 986, 987, + 494: 988, 989, 990, + 495: 988, 990, 991, + 496: 992, 993, 994, + 497: 992, 994, 995, + 498: 996, 997, 998, + 499: 996, 998, 999, + 500: 1000, 1001, 1002, + 501: 1000, 1002, 1003, + 502: 1004, 1005, 1006, + 503: 1004, 1006, 1007, + 504: 1008, 1009, 1010, + 505: 1008, 1010, 1011, + 506: 1012, 1013, 1014, + 507: 1012, 1014, 1015, + 508: 1016, 1017, 1018, + 509: 1016, 1018, 1019, + 510: 1020, 1021, 1022, + 511: 1020, 1022, 1023, + 512: 1024, 1025, 1026, + 513: 1024, 1026, 1027, + 514: 1028, 1029, 1030, + 515: 1028, 1030, 1031, + 516: 1032, 1033, 1034, + 517: 1032, 1034, 1035, + 518: 1036, 1037, 1038, + 519: 1036, 1038, 1039, + 520: 1040, 1041, 1042, + 521: 1040, 1042, 1043, + 522: 1044, 1045, 1046, + 523: 1044, 1046, 1047, + 524: 1048, 1049, 1050, + 525: 1048, 1050, 1051, + 526: 1052, 1053, 1054, + 527: 1052, 1054, 1055, + 528: 1056, 1057, 1058, + 529: 1056, 1058, 1059, + 530: 1060, 1061, 1062, + 531: 1060, 1062, 1063, + 532: 1064, 1065, 1066, + 533: 1064, 1066, 1067, + 534: 1068, 1069, 1070, + 535: 1068, 1070, 1071, + 536: 1072, 1073, 1074, + 537: 1072, 1074, 1075, + 538: 1076, 1077, 1078, + 539: 1076, 1078, 1079, + 540: 1080, 1081, 1082, + 541: 1080, 1082, 1083, + 542: 1084, 1085, 1086, + 543: 1084, 1086, 1087, + 544: 1088, 1089, 1090, + 545: 1088, 1090, 1091, + 546: 1092, 1093, 1094, + 547: 1092, 1094, 1095, + 548: 1096, 1097, 1098, + 549: 1096, 1098, 1099, + 550: 1100, 1101, 1102, + 551: 1100, 1102, 1103, + 552: 1104, 1105, 1106, + 553: 1104, 1106, 1107, + 554: 1108, 1109, 1110, + 555: 1108, 1110, 1111, + 556: 1112, 1113, 1114, + 557: 1112, 1114, 1115, + 558: 1116, 1117, 1118, + 559: 1116, 1118, 1119, + 560: 1120, 1121, 1122, + 561: 1120, 1122, 1123, + 562: 1124, 1125, 1126, + 563: 1124, 1126, 1127, + 564: 1128, 1129, 1130, + 565: 1128, 1130, 1131, + 566: 1132, 1133, 1134, + 567: 1132, 1134, 1135, + 568: 1136, 1137, 1138, + 569: 1136, 1138, 1139, + 570: 1140, 1141, 1142, + 571: 1140, 1142, 1143, + 572: 1144, 1145, 1146, + 573: 1144, 1146, 1147, + 574: 1148, 1149, 1150, + 575: 1148, 1150, 1151, + 576: 1152, 1153, 1154, + 577: 1152, 1154, 1155, + 578: 1156, 1157, 1158, + 579: 1156, 1158, 1159, + 580: 1160, 1161, 1162, + 581: 1160, 1162, 1163, + 582: 1164, 1165, 1166, + 583: 1164, 1166, 1167, + 584: 1168, 1169, 1170, + 585: 1168, 1170, 1171, + 586: 1172, 1173, 1174, + 587: 1172, 1174, 1175, + 588: 1176, 1177, 1178, + 589: 1176, 1178, 1179, + 590: 1180, 1181, 1182, + 591: 1180, 1182, 1183, + 592: 1184, 1185, 1186, + 593: 1184, 1186, 1187, + 594: 1188, 1189, 1190, + 595: 1188, 1190, 1191, + 596: 1192, 1193, 1194, + 597: 1192, 1194, 1195, + 598: 1196, 1197, 1198, + 599: 1196, 1198, 1199, + 600: 1200, 1201, 1202, + 601: 1200, 1202, 1203, + 602: 1204, 1205, 1206, + 603: 1204, 1206, 1207, + 604: 1208, 1209, 1210, + 605: 1208, 1210, 1211, + 606: 1212, 1213, 1214, + 607: 1212, 1214, 1215, + 608: 1216, 1217, 1218, + 609: 1216, 1218, 1219, + 610: 1220, 1221, 1222, + 611: 1220, 1222, 1223, + 612: 1224, 1225, 1226, + 613: 1224, 1226, 1227, + 614: 1228, 1229, 1230, + 615: 1228, 1230, 1231, + 616: 1232, 1233, 1234, + 617: 1232, 1234, 1235, + 618: 1236, 1237, 1238, + 619: 1236, 1238, 1239, + 620: 1240, 1241, 1242, + 621: 1240, 1242, 1243, + 622: 1244, 1245, 1246, + 623: 1244, 1246, 1247, + 624: 1248, 1249, 1250, + 625: 1248, 1250, 1251, + 626: 1252, 1253, 1254, + 627: 1252, 1254, 1255, + 628: 1256, 1257, 1258, + 629: 1256, 1258, 1259, + 630: 1260, 1261, 1262, + 631: 1260, 1262, 1263, + 632: 1264, 1265, 1266, + 633: 1264, 1266, 1267, + 634: 1268, 1269, 1270, + 635: 1268, 1270, 1271, + 636: 1272, 1273, 1274, + 637: 1272, 1274, 1275, + 638: 1276, 1277, 1278, + 639: 1276, 1278, 1279, + 640: 1280, 1281, 1282, + 641: 1280, 1282, 1283, + 642: 1284, 1285, 1286, + 643: 1284, 1286, 1287, + 644: 1288, 1289, 1290, + 645: 1288, 1290, 1291, + 646: 1292, 1293, 1294, + 647: 1292, 1294, 1295, + 648: 1296, 1297, 1298, + 649: 1296, 1298, 1299, + 650: 1300, 1301, 1302, + 651: 1300, 1302, 1303, + 652: 1304, 1305, 1306, + 653: 1304, 1306, 1307, + 654: 1308, 1309, 1310, + 655: 1308, 1310, 1311, + 656: 1312, 1313, 1314, + 657: 1312, 1314, 1315, + 658: 1316, 1317, 1318, + 659: 1316, 1318, 1319, + 660: 1320, 1321, 1322, + 661: 1320, 1322, 1323, + 662: 1324, 1325, 1326, + 663: 1324, 1326, 1327, + 664: 1328, 1329, 1330, + 665: 1328, 1330, 1331, + 666: 1332, 1333, 1334, + 667: 1332, 1334, 1335, + 668: 1336, 1337, 1338, + 669: 1336, 1338, 1339, + 670: 1340, 1341, 1342, + 671: 1340, 1342, 1343, + 672: 1344, 1345, 1346, + 673: 1344, 1346, 1347, + 674: 1348, 1349, 1350, + 675: 1348, 1350, 1351, + 676: 1352, 1353, 1354, + 677: 1352, 1354, 1355, + 678: 1356, 1357, 1358, + 679: 1356, 1358, 1359, + 680: 1360, 1361, 1362, + 681: 1360, 1362, 1363, + 682: 1364, 1365, 1366, + 683: 1364, 1366, 1367, + 684: 1368, 1369, 1370, + 685: 1368, 1370, 1371, + 686: 1372, 1373, 1374, + 687: 1372, 1374, 1375, + 688: 1376, 1377, 1378, + 689: 1376, 1378, 1379, + 690: 1380, 1381, 1382, + 691: 1380, 1382, 1383, + 692: 1384, 1385, 1386, + 693: 1384, 1386, 1387, + 694: 1388, 1389, 1390, + 695: 1388, 1390, 1391, + 696: 1392, 1393, 1394, + 697: 1392, 1394, 1395, + 698: 1396, 1397, 1398, + 699: 1396, 1398, 1399, + 700: 1400, 1401, 1402, + 701: 1400, 1402, 1403, + 702: 1404, 1405, 1406, + 703: 1404, 1406, 1407, + 704: 1408, 1409, 1410, + 705: 1408, 1410, 1411, + 706: 1412, 1413, 1414, + 707: 1412, 1414, 1415, + 708: 1416, 1417, 1418, + 709: 1416, 1418, 1419, + 710: 1420, 1421, 1422, + 711: 1420, 1422, 1423, + 712: 1424, 1425, 1426, + 713: 1424, 1426, 1427, + 714: 1428, 1429, 1430, + 715: 1428, 1430, 1431, + 716: 1432, 1433, 1434, + 717: 1432, 1434, 1435, + 718: 1436, 1437, 1438, + 719: 1436, 1438, 1439, + 720: 1440, 1441, 1442, + 721: 1440, 1442, 1443, + 722: 1444, 1445, 1446, + 723: 1444, 1446, 1447, + 724: 1448, 1449, 1450, + 725: 1448, 1450, 1451, + 726: 1452, 1453, 1454, + 727: 1452, 1454, 1455, + 728: 1456, 1457, 1458, + 729: 1456, 1458, 1459, + 730: 1460, 1461, 1462, + 731: 1460, 1462, 1463, + 732: 1464, 1465, 1466, + 733: 1464, 1466, 1467, + 734: 1468, 1469, 1470, + 735: 1468, 1470, 1471, + 736: 1472, 1473, 1474, + 737: 1472, 1474, 1475, + 738: 1476, 1477, 1478, + 739: 1476, 1478, 1479, + 740: 1480, 1481, 1482, + 741: 1480, 1482, 1483, + 742: 1484, 1485, 1486, + 743: 1484, 1486, 1487, + 744: 1488, 1489, 1490, + 745: 1488, 1490, 1491, + 746: 1492, 1493, 1494, + 747: 1492, 1494, 1495, + 748: 1496, 1497, 1498, + 749: 1496, 1498, 1499, + 750: 1500, 1501, 1502, + 751: 1500, 1502, 1503, + 752: 1504, 1505, 1506, + 753: 1504, 1506, 1507, + 754: 1508, 1509, 1510, + 755: 1508, 1510, 1511, + 756: 1512, 1513, 1514, + 757: 1512, 1514, 1515, + 758: 1516, 1517, 1518, + 759: 1516, 1518, 1519, + 760: 1520, 1521, 1522, + 761: 1520, 1522, 1523, + 762: 1524, 1525, 1526, + 763: 1524, 1526, 1527, + 764: 1528, 1529, 1530, + 765: 1528, 1530, 1531, + 766: 1532, 1533, 1534, + 767: 1532, 1534, 1535, + 768: 1536, 1537, 1538, + 769: 1536, 1538, 1539, + 770: 1540, 1541, 1542, + 771: 1540, 1542, 1543, + 772: 1544, 1545, 1546, + 773: 1544, 1546, 1547, + 774: 1548, 1549, 1550, + 775: 1548, 1550, 1551, + 776: 1552, 1553, 1554, + 777: 1552, 1554, 1555, + 778: 1556, 1557, 1558, + 779: 1556, 1558, 1559, + 780: 1560, 1561, 1562, + 781: 1560, 1562, 1563, + 782: 1564, 1565, 1566, + 783: 1564, 1566, 1567, + 784: 1568, 1569, 1570, + 785: 1568, 1570, 1571, + 786: 1572, 1573, 1574, + 787: 1572, 1574, 1575, + 788: 1576, 1577, 1578, + 789: 1576, 1578, 1579, + 790: 1580, 1581, 1582, + 791: 1580, 1582, 1583, + 792: 1584, 1585, 1586, + 793: 1584, 1586, 1587, + 794: 1588, 1589, 1590, + 795: 1588, 1590, 1591, + 796: 1592, 1593, 1594, + 797: 1592, 1594, 1595, + 798: 1596, 1597, 1598, + 799: 1596, 1598, 1599, + 800: 1600, 1601, 1602, + 801: 1600, 1602, 1603, + 802: 1604, 1605, 1606, + 803: 1604, 1606, 1607, + 804: 1608, 1609, 1610, + 805: 1608, 1610, 1611, + 806: 1612, 1613, 1614, + 807: 1612, 1614, 1615, + 808: 1616, 1617, 1618, + 809: 1616, 1618, 1619, + 810: 1620, 1621, 1622, + 811: 1620, 1622, 1623, + 812: 1624, 1625, 1626, + 813: 1624, 1626, 1627, + 814: 1628, 1629, 1630, + 815: 1628, 1630, 1631, + 816: 1632, 1633, 1634, + 817: 1632, 1634, 1635, + 818: 1636, 1637, 1638, + 819: 1636, 1638, 1639, + 820: 1640, 1641, 1642, + 821: 1640, 1642, 1643, + 822: 1644, 1645, 1646, + 823: 1644, 1646, 1647, + 824: 1648, 1649, 1650, + 825: 1648, 1650, 1651, + 826: 1652, 1653, 1654, + 827: 1652, 1654, 1655, + 828: 1656, 1657, 1658, + 829: 1656, 1658, 1659, + 830: 1660, 1661, 1662, + 831: 1660, 1662, 1663, + 832: 1664, 1665, 1666, + 833: 1664, 1666, 1667, + 834: 1668, 1669, 1670, + 835: 1668, 1670, 1671, + 836: 1672, 1673, 1674, + 837: 1672, 1674, 1675, + 838: 1676, 1677, 1678, + 839: 1676, 1678, 1679, + 840: 1680, 1681, 1682, + 841: 1680, 1682, 1683, + 842: 1684, 1685, 1686, + 843: 1684, 1686, 1687, + 844: 1688, 1689, 1690, + 845: 1688, 1690, 1691, + 846: 1692, 1693, 1694, + 847: 1692, 1694, 1695, + 848: 1696, 1697, 1698, + 849: 1696, 1698, 1699, + 850: 1700, 1701, 1702, + 851: 1700, 1702, 1703, + 852: 1704, 1705, 1706, + 853: 1704, 1706, 1707, + 854: 1708, 1709, 1710, + 855: 1708, 1710, 1711, + 856: 1712, 1713, 1714, + 857: 1712, 1714, 1715, + 858: 1716, 1717, 1718, + 859: 1716, 1718, 1719, + 860: 1720, 1721, 1722, + 861: 1720, 1722, 1723, + 862: 1724, 1725, 1726, + 863: 1724, 1726, 1727, + 864: 1728, 1729, 1730, + 865: 1728, 1730, 1731, + 866: 1732, 1733, 1734, + 867: 1732, 1734, 1735, + 868: 1736, 1737, 1738, + 869: 1736, 1738, 1739, + 870: 1740, 1741, 1742, + 871: 1740, 1742, 1743, + 872: 1744, 1745, 1746, + 873: 1744, 1746, 1747, + 874: 1748, 1749, 1750, + 875: 1748, 1750, 1751, + 876: 1752, 1753, 1754, + 877: 1752, 1754, 1755, + 878: 1756, 1757, 1758, + 879: 1756, 1758, 1759, + 880: 1760, 1761, 1762, + 881: 1760, 1762, 1763, + 882: 1764, 1765, 1766, + 883: 1764, 1766, 1767, + 884: 1768, 1769, 1770, + 885: 1768, 1770, 1771, + 886: 1772, 1773, 1774, + 887: 1772, 1774, 1775, + 888: 1776, 1777, 1778, + 889: 1776, 1778, 1779, + 890: 1780, 1781, 1782, + 891: 1780, 1782, 1783, + 892: 1784, 1785, 1786, + 893: 1784, 1786, 1787, + 894: 1788, 1789, 1790, + 895: 1788, 1790, 1791, + 896: 1792, 1793, 1794, + 897: 1792, 1794, 1795, + 898: 1796, 1797, 1798, + 899: 1796, 1798, 1799, + 900: 1800, 1801, 1802, + 901: 1800, 1802, 1803, + 902: 1804, 1805, 1806, + 903: 1804, 1806, 1807, + 904: 1808, 1809, 1810, + 905: 1808, 1810, 1811, + 906: 1812, 1813, 1814, + 907: 1812, 1814, 1815, + 908: 1816, 1817, 1818, + 909: 1816, 1818, 1819, + 910: 1820, 1821, 1822, + 911: 1820, 1822, 1823, + 912: 1824, 1825, 1826, + 913: 1824, 1826, 1827, + 914: 1828, 1829, 1830, + 915: 1828, 1830, 1831, + 916: 1832, 1833, 1834, + 917: 1832, 1834, 1835, + 918: 1836, 1837, 1838, + 919: 1836, 1838, 1839, + 920: 1840, 1841, 1842, + 921: 1840, 1842, 1843, + 922: 1844, 1845, 1846, + 923: 1844, 1846, 1847, + 924: 1848, 1849, 1850, + 925: 1848, 1850, 1851, + 926: 1852, 1853, 1854, + 927: 1852, 1854, 1855, + 928: 1856, 1857, 1858, + 929: 1856, 1858, 1859, + 930: 1860, 1861, 1862, + 931: 1860, 1862, 1863, + 932: 1864, 1865, 1866, + 933: 1864, 1866, 1867, + 934: 1868, 1869, 1870, + 935: 1868, 1870, 1871, + 936: 1872, 1873, 1874, + 937: 1872, 1874, 1875, + 938: 1876, 1877, 1878, + 939: 1876, 1878, 1879, + 940: 1880, 1881, 1882, + 941: 1880, 1882, 1883, + 942: 1884, 1885, 1886, + 943: 1884, 1886, 1887, + 944: 1888, 1889, 1890, + 945: 1888, 1890, 1891, + 946: 1892, 1893, 1894, + 947: 1892, 1894, 1895, + 948: 1896, 1897, 1898, + 949: 1896, 1898, 1899, + 950: 1900, 1901, 1902, + 951: 1900, 1902, 1903, + 952: 1904, 1905, 1906, + 953: 1904, 1906, 1907, + 954: 1908, 1909, 1910, + 955: 1908, 1910, 1911, + 956: 1912, 1913, 1914, + 957: 1912, 1914, 1915, + 958: 1916, 1917, 1918, + 959: 1916, 1918, 1919, + 960: 1920, 1921, 1922, + 961: 1920, 1922, 1923, + 962: 1924, 1925, 1926, + 963: 1924, 1926, 1927, + 964: 1928, 1929, 1930, + 965: 1928, 1930, 1931, + 966: 1932, 1933, 1934, + 967: 1932, 1934, 1935, + 968: 1936, 1937, 1938, + 969: 1936, 1938, 1939, + 970: 1940, 1941, 1942, + 971: 1940, 1942, 1943, + 972: 1944, 1945, 1946, + 973: 1944, 1946, 1947, + 974: 1948, 1949, 1950, + 975: 1948, 1950, 1951, + 976: 1952, 1953, 1954, + 977: 1952, 1954, 1955, + 978: 1956, 1957, 1958, + 979: 1956, 1958, 1959, + 980: 1960, 1961, 1962, + 981: 1960, 1962, 1963, + 982: 1964, 1965, 1966, + 983: 1964, 1966, 1967, + 984: 1968, 1969, 1970, + 985: 1968, 1970, 1971, + 986: 1972, 1973, 1974, + 987: 1972, 1974, 1975, + 988: 1976, 1977, 1978, + 989: 1976, 1978, 1979, + 990: 1980, 1981, 1982, + 991: 1980, 1982, 1983, + 992: 1984, 1985, 1986, + 993: 1984, 1986, 1987, + 994: 1988, 1989, 1990, + 995: 1988, 1990, 1991, + 996: 1992, 1993, 1994, + 997: 1992, 1994, 1995, + 998: 1996, 1997, 1998, + 999: 1996, 1998, 1999, + 1000: 2000, 2001, 2002, + 1001: 2000, 2002, 2003, + 1002: 2004, 2005, 2006, + 1003: 2004, 2006, 2007, + 1004: 2008, 2009, 2010, + 1005: 2008, 2010, 2011, + 1006: 2012, 2013, 2014, + 1007: 2012, 2014, 2015, + 1008: 2016, 2017, 2018, + 1009: 2016, 2018, 2019, + 1010: 2020, 2021, 2022, + 1011: 2020, 2022, 2023, + 1012: 2024, 2025, 2026, + 1013: 2024, 2026, 2027, + 1014: 2028, 2029, 2030, + 1015: 2028, 2030, 2031, + 1016: 2032, 2033, 2034, + 1017: 2032, 2034, 2035, + 1018: 2036, 2037, 2038, + 1019: 2036, 2038, 2039, + 1020: 2040, 2041, 2042, + 1021: 2040, 2042, 2043, + 1022: 2044, 2045, 2046, + 1023: 2044, 2046, 2047, + 1024: 2048, 2049, 2050, + 1025: 2048, 2050, 2051, + 1026: 2052, 2053, 2054, + 1027: 2052, 2054, 2055, + 1028: 2056, 2057, 2058, + 1029: 2056, 2058, 2059, + 1030: 2060, 2061, 2062, + 1031: 2060, 2062, 2063, + 1032: 2064, 2065, 2066, + 1033: 2064, 2066, 2067, + 1034: 2068, 2069, 2070, + 1035: 2068, 2070, 2071, + 1036: 2072, 2073, 2074, + 1037: 2072, 2074, 2075, + 1038: 2076, 2077, 2078, + 1039: 2076, 2078, 2079, + 1040: 2080, 2081, 2082, + 1041: 2080, 2082, 2083, + 1042: 2084, 2085, 2086, + 1043: 2084, 2086, 2087, + 1044: 2088, 2089, 2090, + 1045: 2088, 2090, 2091, + 1046: 2092, 2093, 2094, + 1047: 2092, 2094, 2095, + 1048: 2096, 2097, 2098, + 1049: 2096, 2098, 2099, + 1050: 2100, 2101, 2102, + 1051: 2100, 2102, 2103, + 1052: 2104, 2105, 2106, + 1053: 2104, 2106, 2107, + 1054: 2108, 2109, 2110, + 1055: 2108, 2110, 2111, + 1056: 2112, 2113, 2114, + 1057: 2112, 2114, 2115, + 1058: 2116, 2117, 2118, + 1059: 2116, 2118, 2119, + 1060: 2120, 2121, 2122, + 1061: 2120, 2122, 2123, + 1062: 2124, 2125, 2126, + 1063: 2124, 2126, 2127, + 1064: 2128, 2129, 2130, + 1065: 2128, 2130, 2131, + 1066: 2132, 2133, 2134, + 1067: 2132, 2134, 2135, + 1068: 2136, 2137, 2138, + 1069: 2136, 2138, 2139, + 1070: 2140, 2141, 2142, + 1071: 2140, 2142, 2143, + 1072: 2144, 2145, 2146, + 1073: 2144, 2146, 2147, + 1074: 2148, 2149, 2150, + 1075: 2148, 2150, 2151, + 1076: 2152, 2153, 2154, + 1077: 2152, 2154, 2155, + 1078: 2156, 2157, 2158, + 1079: 2156, 2158, 2159, + 1080: 2160, 2161, 2162, + 1081: 2160, 2162, 2163, + 1082: 2164, 2165, 2166, + 1083: 2164, 2166, 2167, + 1084: 2168, 2169, 2170, + 1085: 2168, 2170, 2171, + 1086: 2172, 2173, 2174, + 1087: 2172, 2174, 2175, + 1088: 2176, 2177, 2178, + 1089: 2176, 2178, 2179, + 1090: 2180, 2181, 2182, + 1091: 2180, 2182, 2183, + 1092: 2184, 2185, 2186, + 1093: 2184, 2186, 2187, + 1094: 2188, 2189, 2190, + 1095: 2188, 2190, 2191, + 1096: 2192, 2193, 2194, + 1097: 2192, 2194, 2195, + 1098: 2196, 2197, 2198, + 1099: 2196, 2198, 2199, + 1100: 2200, 2201, 2202, + 1101: 2200, 2202, 2203, + 1102: 2204, 2205, 2206, + 1103: 2204, 2206, 2207, + 1104: 2208, 2209, 2210, + 1105: 2208, 2210, 2211, + 1106: 2212, 2213, 2214, + 1107: 2212, 2214, 2215, + 1108: 2216, 2217, 2218, + 1109: 2216, 2218, 2219, + 1110: 2220, 2221, 2222, + 1111: 2220, 2222, 2223, + 1112: 2224, 2225, 2226, + 1113: 2224, 2226, 2227, + 1114: 2228, 2229, 2230, + 1115: 2228, 2230, 2231, + 1116: 2232, 2233, 2234, + 1117: 2232, 2234, 2235, + 1118: 2236, 2237, 2238, + 1119: 2236, 2238, 2239, + 1120: 2240, 2241, 2242, + 1121: 2240, 2242, 2243, + 1122: 2244, 2245, 2246, + 1123: 2244, 2246, 2247, + 1124: 2248, 2249, 2250, + 1125: 2248, 2250, 2251, + 1126: 2252, 2253, 2254, + 1127: 2252, 2254, 2255, + 1128: 2256, 2257, 2258, + 1129: 2256, 2258, 2259, + 1130: 2260, 2261, 2262, + 1131: 2260, 2262, 2263, + 1132: 2264, 2265, 2266, + 1133: 2264, 2266, 2267, + 1134: 2268, 2269, 2270, + 1135: 2268, 2270, 2271, + 1136: 2272, 2273, 2274, + 1137: 2272, 2274, 2275, + 1138: 2276, 2277, 2278, + 1139: 2276, 2278, 2279, + 1140: 2280, 2281, 2282, + 1141: 2280, 2282, 2283, + 1142: 2284, 2285, 2286, + 1143: 2284, 2286, 2287, + 1144: 2288, 2289, 2290, + 1145: 2288, 2290, 2291, + 1146: 2292, 2293, 2294, + 1147: 2292, 2294, 2295, + 1148: 2296, 2297, 2298, + 1149: 2296, 2298, 2299, + 1150: 2300, 2301, 2302, + 1151: 2300, 2302, 2303, + 1152: 2304, 2305, 2306, + 1153: 2304, 2306, 2307, + 1154: 2308, 2309, 2310, + 1155: 2308, 2310, 2311, + 1156: 2312, 2313, 2314, + 1157: 2312, 2314, 2315, + 1158: 2316, 2317, 2318, + 1159: 2316, 2318, 2319, + 1160: 2320, 2321, 2322, + 1161: 2320, 2322, 2323, + 1162: 2324, 2325, 2326, + 1163: 2324, 2326, 2327, + 1164: 2328, 2329, 2330, + 1165: 2328, 2330, 2331, + 1166: 2332, 2333, 2334, + 1167: 2332, 2334, 2335, + 1168: 2336, 2337, 2338, + 1169: 2336, 2338, 2339, + 1170: 2340, 2341, 2342, + 1171: 2340, 2342, 2343, + 1172: 2344, 2345, 2346, + 1173: 2344, 2346, 2347, + 1174: 2348, 2349, 2350, + 1175: 2348, 2350, 2351, + 1176: 2352, 2353, 2354, + 1177: 2352, 2354, 2355, + 1178: 2356, 2357, 2358, + 1179: 2356, 2358, 2359, + 1180: 2360, 2361, 2362, + 1181: 2360, 2362, 2363, + 1182: 2364, 2365, 2366, + 1183: 2364, 2366, 2367, + 1184: 2368, 2369, 2370, + 1185: 2368, 2370, 2371, + 1186: 2372, 2373, 2374, + 1187: 2372, 2374, 2375, + 1188: 2376, 2377, 2378, + 1189: 2376, 2378, 2379, + 1190: 2380, 2381, 2382, + 1191: 2380, 2382, 2383, + 1192: 2384, 2385, 2386, + 1193: 2384, 2386, 2387, + 1194: 2388, 2389, 2390, + 1195: 2388, 2390, 2391, + 1196: 2392, 2393, 2394, + 1197: 2392, 2394, 2395, + 1198: 2396, 2397, 2398, + 1199: 2396, 2398, 2399, + 1200: 2400, 2401, 2402, + 1201: 2400, 2402, 2403, + 1202: 2404, 2405, 2406, + 1203: 2404, 2406, 2407, + 1204: 2408, 2409, 2410, + 1205: 2408, 2410, 2411, + 1206: 2412, 2413, 2414, + 1207: 2412, 2414, 2415, + 1208: 2416, 2417, 2418, + 1209: 2416, 2418, 2419, + 1210: 2420, 2421, 2422, + 1211: 2420, 2422, 2423, + 1212: 2424, 2425, 2426, + 1213: 2424, 2426, 2427, + 1214: 2428, 2429, 2430, + 1215: 2428, 2430, 2431, + 1216: 2432, 2433, 2434, + 1217: 2432, 2434, 2435, + 1218: 2436, 2437, 2438, + 1219: 2436, 2438, 2439, + 1220: 2440, 2441, 2442, + 1221: 2440, 2442, 2443, + 1222: 2444, 2445, 2446, + 1223: 2444, 2446, 2447, + 1224: 2448, 2449, 2450, + 1225: 2448, 2450, 2451, + 1226: 2452, 2453, 2454, + 1227: 2452, 2454, 2455, + 1228: 2456, 2457, 2458, + 1229: 2456, 2458, 2459, + 1230: 2460, 2461, 2462, + 1231: 2460, 2462, 2463, + 1232: 2464, 2465, 2466, + 1233: 2464, 2466, 2467, + 1234: 2468, 2469, 2470, + 1235: 2468, 2470, 2471, + 1236: 2472, 2473, 2474, + 1237: 2472, 2474, 2475, + 1238: 2476, 2477, 2478, + 1239: 2476, 2478, 2479, + 1240: 2480, 2481, 2482, + 1241: 2480, 2482, 2483, + 1242: 2484, 2485, 2486, + 1243: 2484, 2486, 2487, + 1244: 2488, 2489, 2490, + 1245: 2488, 2490, 2491, + 1246: 2492, 2493, 2494, + 1247: 2492, 2494, 2495, + 1248: 2496, 2497, 2498, + 1249: 2496, 2498, 2499, + 1250: 2500, 2501, 2502, + 1251: 2500, 2502, 2503, + 1252: 2504, 2505, 2506, + 1253: 2504, 2506, 2507, + 1254: 2508, 2509, 2510, + 1255: 2508, 2510, 2511, + 1256: 2512, 2513, 2514, + 1257: 2512, 2514, 2515, + 1258: 2516, 2517, 2518, + 1259: 2516, 2518, 2519, + 1260: 2520, 2521, 2522, + 1261: 2520, 2522, 2523, + 1262: 2524, 2525, 2526, + 1263: 2524, 2526, 2527, + 1264: 2528, 2529, 2530, + 1265: 2528, 2530, 2531, + 1266: 2532, 2533, 2534, + 1267: 2532, 2534, 2535, + 1268: 2536, 2537, 2538, + 1269: 2536, 2538, 2539, + 1270: 2540, 2541, 2542, + 1271: 2540, 2542, 2543, + 1272: 2544, 2545, 2546, + 1273: 2544, 2546, 2547, + 1274: 2548, 2549, 2550, + 1275: 2548, 2550, 2551, + 1276: 2552, 2553, 2554, + 1277: 2552, 2554, 2555, + 1278: 2556, 2557, 2558, + 1279: 2556, 2558, 2559, + 1280: 2560, 2561, 2562, + 1281: 2560, 2562, 2563, + 1282: 2564, 2565, 2566, + 1283: 2564, 2566, 2567, + 1284: 2568, 2569, 2570, + 1285: 2568, 2570, 2571, + 1286: 2572, 2573, 2574, + 1287: 2572, 2574, 2575, + 1288: 2576, 2577, 2578, + 1289: 2576, 2578, 2579, + 1290: 2580, 2581, 2582, + 1291: 2580, 2582, 2583, + 1292: 2584, 2585, 2586, + 1293: 2584, 2586, 2587, + 1294: 2588, 2589, 2590, + 1295: 2588, 2590, 2591, + 1296: 2592, 2593, 2594, + 1297: 2592, 2594, 2595, + 1298: 2596, 2597, 2598, + 1299: 2596, 2598, 2599, + 1300: 2600, 2601, 2602, + 1301: 2600, 2602, 2603, + 1302: 2604, 2605, 2606, + 1303: 2604, 2606, 2607, + 1304: 2608, 2609, 2610, + 1305: 2608, 2610, 2611, + 1306: 2612, 2613, 2614, + 1307: 2612, 2614, 2615, + 1308: 2616, 2617, 2618, + 1309: 2616, 2618, 2619, + 1310: 2620, 2621, 2622, + 1311: 2620, 2622, 2623, + 1312: 2624, 2625, 2626, + 1313: 2624, 2626, 2627, + 1314: 2628, 2629, 2630, + 1315: 2628, 2630, 2631, + 1316: 2632, 2633, 2634, + 1317: 2632, 2634, 2635, + 1318: 2636, 2637, 2638, + 1319: 2636, 2638, 2639, + 1320: 2640, 2641, 2642, + 1321: 2640, 2642, 2643, + 1322: 2644, 2645, 2646, + 1323: 2644, 2646, 2647, + 1324: 2648, 2649, 2650, + 1325: 2648, 2650, 2651, + 1326: 2652, 2653, 2654, + 1327: 2652, 2654, 2655, + 1328: 2656, 2657, 2658, + 1329: 2656, 2658, 2659, + 1330: 2660, 2661, 2662, + 1331: 2660, 2662, 2663, + 1332: 2664, 2665, 2666, + 1333: 2664, 2666, 2667, + 1334: 2668, 2669, 2670, + 1335: 2668, 2670, 2671, + 1336: 2672, 2673, 2674, + 1337: 2672, 2674, 2675, + 1338: 2676, 2677, 2678, + 1339: 2676, 2678, 2679, + 1340: 2680, 2681, 2682, + 1341: 2680, 2682, 2683, + 1342: 2684, 2685, 2686, + 1343: 2684, 2686, 2687, + 1344: 2688, 2689, 2690, + 1345: 2688, 2690, 2691, + 1346: 2692, 2693, 2694, + 1347: 2692, 2694, 2695, + 1348: 2696, 2697, 2698, + 1349: 2696, 2698, 2699, + 1350: 2700, 2701, 2702, + 1351: 2700, 2702, 2703, + 1352: 2704, 2705, 2706, + 1353: 2704, 2706, 2707, + 1354: 2708, 2709, 2710, + 1355: 2708, 2710, 2711, + 1356: 2712, 2713, 2714, + 1357: 2712, 2714, 2715, + 1358: 2716, 2717, 2718, + 1359: 2716, 2718, 2719, + 1360: 2720, 2721, 2722, + 1361: 2720, 2722, 2723, + 1362: 2724, 2725, 2726, + 1363: 2724, 2726, 2727, + 1364: 2728, 2729, 2730, + 1365: 2728, 2730, 2731, + 1366: 2732, 2733, 2734, + 1367: 2732, 2734, 2735, + 1368: 2736, 2737, 2738, + 1369: 2736, 2738, 2739, + 1370: 2740, 2741, 2742, + 1371: 2740, 2742, 2743, + 1372: 2744, 2745, 2746, + 1373: 2744, 2746, 2747, + 1374: 2748, 2749, 2750, + 1375: 2748, 2750, 2751, + 1376: 2752, 2753, 2754, + 1377: 2752, 2754, 2755, + 1378: 2756, 2757, 2758, + 1379: 2756, 2758, 2759, + 1380: 2760, 2761, 2762, + 1381: 2760, 2762, 2763, + 1382: 2764, 2765, 2766, + 1383: 2764, 2766, 2767, + 1384: 2768, 2769, 2770, + 1385: 2768, 2770, 2771, + 1386: 2772, 2773, 2774, + 1387: 2772, 2774, 2775, + 1388: 2776, 2777, 2778, + 1389: 2776, 2778, 2779, + 1390: 2780, 2781, 2782, + 1391: 2780, 2782, 2783, + 1392: 2784, 2785, 2786, + 1393: 2784, 2786, 2787, + 1394: 2788, 2789, 2790, + 1395: 2788, 2790, 2791, + 1396: 2792, 2793, 2794, + 1397: 2792, 2794, 2795, + 1398: 2796, 2797, 2798, + 1399: 2796, 2798, 2799, + 1400: 2800, 2801, 2802, + 1401: 2800, 2802, 2803, + 1402: 2804, 2805, 2806, + 1403: 2804, 2806, 2807, + 1404: 2808, 2809, 2810, + 1405: 2808, 2810, 2811, + 1406: 2812, 2813, 2814, + 1407: 2812, 2814, 2815, + 1408: 2816, 2817, 2818, + 1409: 2816, 2818, 2819, + 1410: 2820, 2821, 2822, + 1411: 2820, 2822, 2823, + 1412: 2824, 2825, 2826, + 1413: 2824, 2826, 2827, + 1414: 2828, 2829, 2830, + 1415: 2828, 2830, 2831, + 1416: 2832, 2833, 2834, + 1417: 2832, 2834, 2835, + 1418: 2836, 2837, 2838, + 1419: 2836, 2838, 2839, + 1420: 2840, 2841, 2842, + 1421: 2840, 2842, 2843, + 1422: 2844, 2845, 2846, + 1423: 2844, 2846, 2847, + 1424: 2848, 2849, 2850, + 1425: 2848, 2850, 2851, + 1426: 2852, 2853, 2854, + 1427: 2852, 2854, 2855, + 1428: 2856, 2857, 2858, + 1429: 2856, 2858, 2859, + 1430: 2860, 2861, 2862, + 1431: 2860, 2862, 2863, + 1432: 2864, 2865, 2866, + 1433: 2864, 2866, 2867, + 1434: 2868, 2869, 2870, + 1435: 2868, 2870, 2871, + 1436: 2872, 2873, 2874, + 1437: 2872, 2874, 2875, + 1438: 2876, 2877, 2878, + 1439: 2876, 2878, 2879, + 1440: 2880, 2881, 2882, + 1441: 2880, 2882, 2883, + 1442: 2884, 2885, 2886, + 1443: 2884, 2886, 2887, + 1444: 2888, 2889, 2890, + 1445: 2888, 2890, 2891, + 1446: 2892, 2893, 2894, + 1447: 2892, 2894, 2895, + 1448: 2896, 2897, 2898, + 1449: 2896, 2898, 2899, + 1450: 2900, 2901, 2902, + 1451: 2900, 2902, 2903, + 1452: 2904, 2905, 2906, + 1453: 2904, 2906, 2907, + 1454: 2908, 2909, 2910, + 1455: 2908, 2910, 2911, + 1456: 2912, 2913, 2914, + 1457: 2912, 2914, 2915, + 1458: 2916, 2917, 2918, + 1459: 2916, 2918, 2919, + 1460: 2920, 2921, 2922, + 1461: 2920, 2922, 2923, + 1462: 2924, 2925, 2926, + 1463: 2924, 2926, 2927, + 1464: 2928, 2929, 2930, + 1465: 2928, 2930, 2931, + 1466: 2932, 2933, 2934, + 1467: 2932, 2934, 2935, + 1468: 2936, 2937, 2938, + 1469: 2936, 2938, 2939, + 1470: 2940, 2941, 2942, + 1471: 2940, 2942, 2943, + 1472: 2944, 2945, 2946, + 1473: 2944, 2946, 2947, + 1474: 2948, 2949, 2950, + 1475: 2948, 2950, 2951, + 1476: 2952, 2953, 2954, + 1477: 2952, 2954, 2955, + 1478: 2956, 2957, 2958, + 1479: 2956, 2958, 2959, + 1480: 2960, 2961, 2962, + 1481: 2960, 2962, 2963, + 1482: 2964, 2965, 2966, + 1483: 2964, 2966, 2967, + 1484: 2968, 2969, 2970, + 1485: 2968, 2970, 2971, + 1486: 2972, 2973, 2974, + 1487: 2972, 2974, 2975, + 1488: 2976, 2977, 2978, + 1489: 2976, 2978, 2979, + 1490: 2980, 2981, 2982, + 1491: 2980, 2982, 2983, + 1492: 2984, 2985, 2986, + 1493: 2984, 2986, 2987, + 1494: 2988, 2989, 2990, + 1495: 2988, 2990, 2991, + 1496: 2992, 2993, 2994, + 1497: 2992, 2994, 2995, + 1498: 2996, 2997, 2998, + 1499: 2996, 2998, 2999, + 1500: 3000, 3001, 3002, + 1501: 3000, 3002, 3003, + 1502: 3004, 3005, 3006, + 1503: 3004, 3006, 3007, + 1504: 3008, 3009, 3010, + 1505: 3008, 3010, 3011, + 1506: 3012, 3013, 3014, + 1507: 3012, 3014, 3015, + 1508: 3016, 3017, 3018, + 1509: 3016, 3018, 3019, + 1510: 3020, 3021, 3022, + 1511: 3020, 3022, 3023, + 1512: 3024, 3025, 3026, + 1513: 3024, 3026, 3027, + 1514: 3028, 3029, 3030, + 1515: 3028, 3030, 3031, + 1516: 3032, 3033, 3034, + 1517: 3032, 3034, 3035, + 1518: 3036, 3037, 3038, + 1519: 3036, 3038, 3039, + 1520: 3040, 3041, 3042, + 1521: 3040, 3042, 3043, + 1522: 3044, 3045, 3046, + 1523: 3044, 3046, 3047, + 1524: 3048, 3049, 3050, + 1525: 3048, 3050, 3051, + 1526: 3052, 3053, 3054, + 1527: 3052, 3054, 3055, + 1528: 3056, 3057, 3058, + 1529: 3056, 3058, 3059, + 1530: 3060, 3061, 3062, + 1531: 3060, 3062, 3063, + 1532: 3064, 3065, 3066, + 1533: 3064, 3066, 3067, + 1534: 3068, 3069, 3070, + 1535: 3068, 3070, 3071, + 1536: 3072, 3073, 3074, + 1537: 3072, 3074, 3075, + 1538: 3076, 3077, 3078, + 1539: 3076, 3078, 3079, + 1540: 3080, 3081, 3082, + 1541: 3080, 3082, 3083, + 1542: 3084, 3085, 3086, + 1543: 3084, 3086, 3087, + 1544: 3088, 3089, 3090, + 1545: 3088, 3090, 3091, + 1546: 3092, 3093, 3094, + 1547: 3092, 3094, 3095, + 1548: 3096, 3097, 3098, + 1549: 3096, 3098, 3099, + 1550: 3100, 3101, 3102, + 1551: 3100, 3102, 3103, + 1552: 3104, 3105, 3106, + 1553: 3104, 3106, 3107, + 1554: 3108, 3109, 3110, + 1555: 3108, 3110, 3111, + 1556: 3112, 3113, 3114, + 1557: 3112, 3114, 3115, + 1558: 3116, 3117, 3118, + 1559: 3116, 3118, 3119, + 1560: 3120, 3121, 3122, + 1561: 3120, 3122, 3123, + 1562: 3124, 3125, 3126, + 1563: 3124, 3126, 3127, + 1564: 3128, 3129, 3130, + 1565: 3128, 3130, 3131, + 1566: 3132, 3133, 3134, + 1567: 3132, 3134, 3135, + 1568: 3136, 3137, 3138, + 1569: 3136, 3138, 3139, + 1570: 3140, 3141, 3142, + 1571: 3140, 3142, 3143, + 1572: 3144, 3145, 3146, + 1573: 3144, 3146, 3147, + 1574: 3148, 3149, 3150, + 1575: 3148, 3150, 3151, + 1576: 3152, 3153, 3154, + 1577: 3152, 3154, 3155, + 1578: 3156, 3157, 3158, + 1579: 3156, 3158, 3159, + 1580: 3160, 3161, 3162, + 1581: 3160, 3162, 3163, + 1582: 3164, 3165, 3166, + 1583: 3164, 3166, 3167, + 1584: 3168, 3169, 3170, + 1585: 3168, 3170, 3171, + 1586: 3172, 3173, 3174, + 1587: 3172, 3174, 3175, + 1588: 3176, 3177, 3178, + 1589: 3176, 3178, 3179, + 1590: 3180, 3181, 3182, + 1591: 3180, 3182, 3183, + 1592: 3184, 3185, 3186, + 1593: 3184, 3186, 3187, + 1594: 3188, 3189, 3190, + 1595: 3188, 3190, 3191, + 1596: 3192, 3193, 3194, + 1597: 3192, 3194, 3195, + 1598: 3196, 3197, 3198, + 1599: 3196, 3198, 3199, + 1600: 3200, 3201, 3202, + 1601: 3200, 3202, 3203, + 1602: 3204, 3205, 3206, + 1603: 3204, 3206, 3207, + 1604: 3208, 3209, 3210, + 1605: 3208, 3210, 3211, + 1606: 3212, 3213, 3214, + 1607: 3212, 3214, 3215, + 1608: 3216, 3217, 3218, + 1609: 3216, 3218, 3219, + 1610: 3220, 3221, 3222, + 1611: 3220, 3222, 3223, + 1612: 3224, 3225, 3226, + 1613: 3224, 3226, 3227, + 1614: 3228, 3229, 3230, + 1615: 3228, 3230, 3231, + 1616: 3232, 3233, 3234, + 1617: 3232, 3234, 3235, + 1618: 3236, 3237, 3238, + 1619: 3236, 3238, 3239, + 1620: 3240, 3241, 3242, + 1621: 3240, 3242, 3243, + 1622: 3244, 3245, 3246, + 1623: 3244, 3246, 3247, + 1624: 3248, 3249, 3250, + 1625: 3248, 3250, 3251, + 1626: 3252, 3253, 3254, + 1627: 3252, 3254, 3255, + 1628: 3256, 3257, 3258, + 1629: 3256, 3258, 3259, + 1630: 3260, 3261, 3262, + 1631: 3260, 3262, 3263, + 1632: 3264, 3265, 3266, + 1633: 3264, 3266, 3267, + 1634: 3268, 3269, 3270, + 1635: 3268, 3270, 3271, + 1636: 3272, 3273, 3274, + 1637: 3272, 3274, 3275, + 1638: 3276, 3277, 3278, + 1639: 3276, 3278, 3279, + 1640: 3280, 3281, 3282, + 1641: 3280, 3282, 3283, + 1642: 3284, 3285, 3286, + 1643: 3284, 3286, 3287, + 1644: 3288, 3289, 3290, + 1645: 3288, 3290, 3291, + 1646: 3292, 3293, 3294, + 1647: 3292, 3294, 3295, + 1648: 3296, 3297, 3298, + 1649: 3296, 3298, 3299, + 1650: 3300, 3301, 3302, + 1651: 3300, 3302, 3303, + 1652: 3304, 3305, 3306, + 1653: 3304, 3306, 3307, + 1654: 3308, 3309, 3310, + 1655: 3308, 3310, 3311, + 1656: 3312, 3313, 3314, + 1657: 3312, 3314, 3315, + 1658: 3316, 3317, 3318, + 1659: 3316, 3318, 3319, + 1660: 3320, 3321, 3322, + 1661: 3320, 3322, 3323, + 1662: 3324, 3325, 3326, + 1663: 3324, 3326, 3327, + 1664: 3328, 3329, 3330, + 1665: 3328, 3330, 3331, + 1666: 3332, 3333, 3334, + 1667: 3332, 3334, 3335, + 1668: 3336, 3337, 3338, + 1669: 3336, 3338, 3339, + 1670: 3340, 3341, 3342, + 1671: 3340, 3342, 3343, + 1672: 3344, 3345, 3346, + 1673: 3344, 3346, 3347, + 1674: 3348, 3349, 3350, + 1675: 3348, 3350, 3351, + 1676: 3352, 3353, 3354, + 1677: 3352, 3354, 3355, + 1678: 3356, 3357, 3358, + 1679: 3356, 3358, 3359, + 1680: 3360, 3361, 3362, + 1681: 3360, 3362, 3363, + 1682: 3364, 3365, 3366, + 1683: 3364, 3366, 3367, + 1684: 3368, 3369, 3370, + 1685: 3368, 3370, 3371, + 1686: 3372, 3373, 3374, + 1687: 3372, 3374, 3375, + 1688: 3376, 3377, 3378, + 1689: 3376, 3378, 3379, + 1690: 3380, 3381, 3382, + 1691: 3380, 3382, 3383, + 1692: 3384, 3385, 3386, + 1693: 3384, 3386, 3387, + 1694: 3388, 3389, 3390, + 1695: 3388, 3390, 3391, + 1696: 3392, 3393, 3394, + 1697: 3392, 3394, 3395, + 1698: 3396, 3397, 3398, + 1699: 3396, 3398, 3399, + 1700: 3400, 3401, 3402, + 1701: 3400, 3402, 3403, + 1702: 3404, 3405, 3406, + 1703: 3404, 3406, 3407, + 1704: 3408, 3409, 3410, + 1705: 3408, 3410, 3411, + 1706: 3412, 3413, 3414, + 1707: 3412, 3414, 3415, + 1708: 3416, 3417, 3418, + 1709: 3416, 3418, 3419, + 1710: 3420, 3421, 3422, + 1711: 3420, 3422, 3423, + 1712: 3424, 3425, 3426, + 1713: 3424, 3426, 3427, + 1714: 3428, 3429, 3430, + 1715: 3428, 3430, 3431, + 1716: 3432, 3433, 3434, + 1717: 3432, 3434, 3435, + 1718: 3436, 3437, 3438, + 1719: 3436, 3438, 3439, + 1720: 3440, 3441, 3442, + 1721: 3440, 3442, 3443, + 1722: 3444, 3445, 3446, + 1723: 3444, 3446, 3447, + 1724: 3448, 3449, 3450, + 1725: 3448, 3450, 3451, + 1726: 3452, 3453, 3454, + 1727: 3452, 3454, 3455, + 1728: 3456, 3457, 3458, + 1729: 3456, 3458, 3459, + 1730: 3460, 3461, 3462, + 1731: 3460, 3462, 3463, + 1732: 3464, 3465, 3466, + 1733: 3464, 3466, 3467, + 1734: 3468, 3469, 3470, + 1735: 3468, 3470, 3471, + 1736: 3472, 3473, 3474, + 1737: 3472, 3474, 3475, + 1738: 3476, 3477, 3478, + 1739: 3476, 3478, 3479, + 1740: 3480, 3481, 3482, + 1741: 3480, 3482, 3483, + 1742: 3484, 3485, 3486, + 1743: 3484, 3486, 3487, + 1744: 3488, 3489, 3490, + 1745: 3488, 3490, 3491, + 1746: 3492, 3493, 3494, + 1747: 3492, 3494, 3495, + 1748: 3496, 3497, 3498, + 1749: 3496, 3498, 3499, + 1750: 3500, 3501, 3502, + 1751: 3500, 3502, 3503, + 1752: 3504, 3505, 3506, + 1753: 3504, 3506, 3507, + 1754: 3508, 3509, 3510, + 1755: 3508, 3510, 3511, + 1756: 3512, 3513, 3514, + 1757: 3512, 3514, 3515, + 1758: 3516, 3517, 3518, + 1759: 3516, 3518, 3519, + 1760: 3520, 3521, 3522, + 1761: 3520, 3522, 3523, + 1762: 3524, 3525, 3526, + 1763: 3524, 3526, 3527, + 1764: 3528, 3529, 3530, + 1765: 3528, 3530, 3531, + 1766: 3532, 3533, 3534, + 1767: 3532, 3534, 3535, + 1768: 3536, 3537, 3538, + 1769: 3536, 3538, 3539, + 1770: 3540, 3541, 3542, + 1771: 3540, 3542, 3543, + 1772: 3544, 3545, 3546, + 1773: 3544, 3546, 3547, + 1774: 3548, 3549, 3550, + 1775: 3548, 3550, 3551, + 1776: 3552, 3553, 3554, + 1777: 3552, 3554, 3555, + 1778: 3556, 3557, 3558, + 1779: 3556, 3558, 3559, + 1780: 3560, 3561, 3562, + 1781: 3560, 3562, 3563, + 1782: 3564, 3565, 3566, + 1783: 3564, 3566, 3567, + 1784: 3568, 3569, 3570, + 1785: 3568, 3570, 3571, + 1786: 3572, 3573, 3574, + 1787: 3572, 3574, 3575, + 1788: 3576, 3577, 3578, + 1789: 3576, 3578, 3579, + 1790: 3580, 3581, 3582, + 1791: 3580, 3582, 3583, + 1792: 3584, 3585, 3586, + 1793: 3584, 3586, 3587, + 1794: 3588, 3589, 3590, + 1795: 3588, 3590, 3591, + 1796: 3592, 3593, 3594, + 1797: 3592, 3594, 3595, + 1798: 3596, 3597, 3598, + 1799: 3596, 3598, 3599, + 1800: 3600, 3601, 3602, + 1801: 3600, 3602, 3603, + 1802: 3604, 3605, 3606, + 1803: 3604, 3606, 3607, + 1804: 3608, 3609, 3610, + 1805: 3608, 3610, 3611, + 1806: 3612, 3613, 3614, + 1807: 3612, 3614, 3615, + 1808: 3616, 3617, 3618, + 1809: 3616, 3618, 3619, + 1810: 3620, 3621, 3622, + 1811: 3620, 3622, 3623, + 1812: 3624, 3625, 3626, + 1813: 3624, 3626, 3627, + 1814: 3628, 3629, 3630, + 1815: 3628, 3630, 3631, + 1816: 3632, 3633, 3634, + 1817: 3632, 3634, 3635, + 1818: 3636, 3637, 3638, + 1819: 3636, 3638, 3639, + 1820: 3640, 3641, 3642, + 1821: 3640, 3642, 3643, + 1822: 3644, 3645, 3646, + 1823: 3644, 3646, 3647, + 1824: 3648, 3649, 3650, + 1825: 3648, 3650, 3651, + 1826: 3652, 3653, 3654, + 1827: 3652, 3654, 3655, + 1828: 3656, 3657, 3658, + 1829: 3656, 3658, 3659, + 1830: 3660, 3661, 3662, + 1831: 3660, 3662, 3663, + 1832: 3664, 3665, 3666, + 1833: 3664, 3666, 3667, + 1834: 3668, 3669, 3670, + 1835: 3668, 3670, 3671, + 1836: 3672, 3673, 3674, + 1837: 3672, 3674, 3675, + 1838: 3676, 3677, 3678, + 1839: 3676, 3678, 3679, + 1840: 3680, 3681, 3682, + 1841: 3680, 3682, 3683, + 1842: 3684, 3685, 3686, + 1843: 3684, 3686, 3687, + 1844: 3688, 3689, 3690, + 1845: 3688, 3690, 3691, + 1846: 3692, 3693, 3694, + 1847: 3692, 3694, 3695, + 1848: 3696, 3697, 3698, + 1849: 3696, 3698, 3699, + 1850: 3700, 3701, 3702, + 1851: 3700, 3702, 3703, + 1852: 3704, 3705, 3706, + 1853: 3704, 3706, 3707, + 1854: 3708, 3709, 3710, + 1855: 3708, 3710, 3711, + 1856: 3712, 3713, 3714, + 1857: 3712, 3714, 3715, + 1858: 3716, 3717, 3718, + 1859: 3716, 3718, 3719, + 1860: 3720, 3721, 3722, + 1861: 3720, 3722, 3723, + 1862: 3724, 3725, 3726, + 1863: 3724, 3726, 3727, + 1864: 3728, 3729, 3730, + 1865: 3728, 3730, 3731, + 1866: 3732, 3733, 3734, + 1867: 3732, 3734, 3735, + 1868: 3736, 3737, 3738, + 1869: 3736, 3738, 3739, + 1870: 3740, 3741, 3742, + 1871: 3740, 3742, 3743, + 1872: 3744, 3745, 3746, + 1873: 3744, 3746, 3747, + 1874: 3748, 3749, 3750, + 1875: 3748, 3750, 3751, + 1876: 3752, 3753, 3754, + 1877: 3752, 3754, 3755, + 1878: 3756, 3757, 3758, + 1879: 3756, 3758, 3759, + 1880: 3760, 3761, 3762, + 1881: 3760, 3762, 3763, + 1882: 3764, 3765, 3766, + 1883: 3764, 3766, 3767, + 1884: 3768, 3769, 3770, + 1885: 3768, 3770, 3771, + 1886: 3772, 3773, 3774, + 1887: 3772, 3774, 3775, + 1888: 3776, 3777, 3778, + 1889: 3776, 3778, 3779, + 1890: 3780, 3781, 3782, + 1891: 3780, 3782, 3783, + 1892: 3784, 3785, 3786, + 1893: 3784, 3786, 3787, + 1894: 3788, 3789, 3790, + 1895: 3788, 3790, 3791, + 1896: 3792, 3793, 3794, + 1897: 3792, 3794, 3795, + 1898: 3796, 3797, 3798, + 1899: 3796, 3798, 3799, + 1900: 3800, 3801, 3802, + 1901: 3800, 3802, 3803, + 1902: 3804, 3805, 3806, + 1903: 3804, 3806, 3807, + 1904: 3808, 3809, 3810, + 1905: 3808, 3810, 3811, + 1906: 3812, 3813, 3814, + 1907: 3812, 3814, 3815, + 1908: 3816, 3817, 3818, + 1909: 3816, 3818, 3819, + 1910: 3820, 3821, 3822, + 1911: 3820, 3822, 3823, + 1912: 3824, 3825, 3826, + 1913: 3824, 3826, 3827, + 1914: 3828, 3829, 3830, + 1915: 3828, 3830, 3831, + 1916: 3832, 3833, 3834, + 1917: 3832, 3834, 3835, + 1918: 3836, 3837, 3838, + 1919: 3836, 3838, 3839, + 1920: 3840, 3841, 3842, + 1921: 3840, 3842, 3843, + 1922: 3844, 3845, 3846, + 1923: 3844, 3846, 3847, + 1924: 3848, 3849, 3850, + 1925: 3848, 3850, 3851, + 1926: 3852, 3853, 3854, + 1927: 3852, 3854, 3855, + 1928: 3856, 3857, 3858, + 1929: 3856, 3858, 3859, + 1930: 3860, 3861, 3862, + 1931: 3860, 3862, 3863, + 1932: 3864, 3865, 3866, + 1933: 3864, 3866, 3867, + 1934: 3868, 3869, 3870, + 1935: 3868, 3870, 3871, + 1936: 3872, 3873, 3874, + 1937: 3872, 3874, 3875, + 1938: 3876, 3877, 3878, + 1939: 3876, 3878, 3879, + 1940: 3880, 3881, 3882, + 1941: 3880, 3882, 3883, + 1942: 3884, 3885, 3886, + 1943: 3884, 3886, 3887, + 1944: 3888, 3889, 3890, + 1945: 3888, 3890, 3891, + 1946: 3892, 3893, 3894, + 1947: 3892, 3894, 3895, + 1948: 3896, 3897, 3898, + 1949: 3896, 3898, 3899, + 1950: 3900, 3901, 3902, + 1951: 3900, 3902, 3903, + 1952: 3904, 3905, 3906, + 1953: 3904, 3906, 3907, + 1954: 3908, 3909, 3910, + 1955: 3908, 3910, 3911, + 1956: 3912, 3913, 3914, + 1957: 3912, 3914, 3915, + 1958: 3916, 3917, 3918, + 1959: 3916, 3918, 3919, + 1960: 3920, 3921, 3922, + 1961: 3920, 3922, 3923, + 1962: 3924, 3925, 3926, + 1963: 3924, 3926, 3927, + 1964: 3928, 3929, 3930, + 1965: 3928, 3930, 3931, + 1966: 3932, 3933, 3934, + 1967: 3932, 3934, 3935, + 1968: 3936, 3937, 3938, + 1969: 3936, 3938, 3939, + 1970: 3940, 3941, 3942, + 1971: 3940, 3942, 3943, + 1972: 3944, 3945, 3946, + 1973: 3944, 3946, 3947, + 1974: 3948, 3949, 3950, + 1975: 3948, 3950, 3951, + 1976: 3952, 3953, 3954, + 1977: 3952, 3954, 3955, + 1978: 3956, 3957, 3958, + 1979: 3956, 3958, 3959, + 1980: 3960, 3961, 3962, + 1981: 3960, 3962, 3963, + 1982: 3964, 3965, 3966, + 1983: 3964, 3966, 3967, + 1984: 3968, 3969, 3970, + 1985: 3968, 3970, 3971, + 1986: 3972, 3973, 3974, + 1987: 3972, 3974, 3975, + 1988: 3976, 3977, 3978, + 1989: 3976, 3978, 3979, + 1990: 3980, 3981, 3982, + 1991: 3980, 3982, 3983, + 1992: 3984, 3985, 3986, + 1993: 3984, 3986, 3987, + 1994: 3988, 3989, 3990, + 1995: 3988, 3990, 3991, + 1996: 3992, 3993, 3994, + 1997: 3992, 3994, 3995, + 1998: 3996, 3997, 3998, + 1999: 3996, 3998, 3999, + 2000: 4000, 4001, 4002, + 2001: 4000, 4002, 4003, + 2002: 4004, 4005, 4006, + 2003: 4004, 4006, 4007, + 2004: 4008, 4009, 4010, + 2005: 4008, 4010, 4011, + 2006: 4012, 4013, 4014, + 2007: 4012, 4014, 4015, + 2008: 4016, 4017, 4018, + 2009: 4016, 4018, 4019, + 2010: 4020, 4021, 4022, + 2011: 4020, 4022, 4023, + 2012: 4024, 4025, 4026, + 2013: 4024, 4026, 4027, + 2014: 4028, 4029, 4030, + 2015: 4028, 4030, 4031, + 2016: 4032, 4033, 4034, + 2017: 4032, 4034, 4035, + 2018: 4036, 4037, 4038, + 2019: 4036, 4038, 4039, + 2020: 4040, 4041, 4042, + 2021: 4040, 4042, 4043, + 2022: 4044, 4045, 4046, + 2023: 4044, 4046, 4047, + 2024: 4048, 4049, 4050, + 2025: 4048, 4050, 4051, + 2026: 4052, 4053, 4054, + 2027: 4052, 4054, 4055, + 2028: 4056, 4057, 4058, + 2029: 4056, 4058, 4059, + 2030: 4060, 4061, 4062, + 2031: 4060, 4062, 4063, + 2032: 4064, 4065, 4066, + 2033: 4064, 4066, 4067, + 2034: 4068, 4069, 4070, + 2035: 4068, 4070, 4071, + 2036: 4072, 4073, 4074, + 2037: 4072, 4074, 4075, + 2038: 4076, 4077, 4078, + 2039: 4076, 4078, 4079, + 2040: 4080, 4081, 4082, + 2041: 4080, 4082, 4083, + 2042: 4084, 4085, 4086, + 2043: 4084, 4086, 4087, + 2044: 4088, 4089, 4090, + 2045: 4088, 4090, 4091, + 2046: 4092, 4093, 4094, + 2047: 4092, 4094, 4095, + 2048: 4096, 4097, 4098, + 2049: 4096, 4098, 4099, + 2050: 4100, 4101, 4102, + 2051: 4100, 4102, 4103, + 2052: 4104, 4105, 4106, + 2053: 4104, 4106, 4107, + 2054: 4108, 4109, 4110, + 2055: 4108, 4110, 4111, + 2056: 4112, 4113, 4114, + 2057: 4112, 4114, 4115, + 2058: 4116, 4117, 4118, + 2059: 4116, 4118, 4119, + 2060: 4120, 4121, 4122, + 2061: 4120, 4122, 4123, + 2062: 4124, 4125, 4126, + 2063: 4124, 4126, 4127, + 2064: 4128, 4129, 4130, + 2065: 4128, 4130, 4131, + 2066: 4132, 4133, 4134, + 2067: 4132, 4134, 4135, + 2068: 4136, 4137, 4138, + 2069: 4136, 4138, 4139, + 2070: 4140, 4141, 4142, + 2071: 4140, 4142, 4143, + 2072: 4144, 4145, 4146, + 2073: 4144, 4146, 4147, + 2074: 4148, 4149, 4150, + 2075: 4148, 4150, 4151, + 2076: 4152, 4153, 4154, + 2077: 4152, 4154, 4155, + 2078: 4156, 4157, 4158, + 2079: 4156, 4158, 4159, + 2080: 4160, 4161, 4162, + 2081: 4160, 4162, 4163, + 2082: 4164, 4165, 4166, + 2083: 4164, 4166, 4167, + 2084: 4168, 4169, 4170, + 2085: 4168, 4170, 4171, + 2086: 4172, 4173, 4174, + 2087: 4172, 4174, 4175, + 2088: 4176, 4177, 4178, + 2089: 4176, 4178, 4179, + 2090: 4180, 4181, 4182, + 2091: 4180, 4182, 4183, + 2092: 4184, 4185, 4186, + 2093: 4184, 4186, 4187, + 2094: 4188, 4189, 4190, + 2095: 4188, 4190, 4191, + 2096: 4192, 4193, 4194, + 2097: 4192, 4194, 4195, + 2098: 4196, 4197, 4198, + 2099: 4196, 4198, 4199, + 2100: 4200, 4201, 4202, + 2101: 4200, 4202, 4203, + 2102: 4204, 4205, 4206, + 2103: 4204, 4206, 4207, + 2104: 4208, 4209, 4210, + 2105: 4208, 4210, 4211, + 2106: 4212, 4213, 4214, + 2107: 4212, 4214, 4215, + 2108: 4216, 4217, 4218, + 2109: 4216, 4218, 4219, + 2110: 4220, 4221, 4222, + 2111: 4220, 4222, 4223, + 2112: 4224, 4225, 4226, + 2113: 4224, 4226, 4227, + 2114: 4228, 4229, 4230, + 2115: 4228, 4230, 4231, + 2116: 4232, 4233, 4234, + 2117: 4232, 4234, 4235, + 2118: 4236, 4237, 4238, + 2119: 4236, 4238, 4239, + 2120: 4240, 4241, 4242, + 2121: 4240, 4242, 4243, + 2122: 4244, 4245, 4246, + 2123: 4244, 4246, 4247, + 2124: 4248, 4249, 4250, + 2125: 4248, 4250, 4251, + 2126: 4252, 4253, 4254, + 2127: 4252, 4254, 4255, + 2128: 4256, 4257, 4258, + 2129: 4256, 4258, 4259, + 2130: 4260, 4261, 4262, + 2131: 4260, 4262, 4263, + 2132: 4264, 4265, 4266, + 2133: 4264, 4266, 4267, + 2134: 4268, 4269, 4270, + 2135: 4268, 4270, 4271, + 2136: 4272, 4273, 4274, + 2137: 4272, 4274, 4275, + 2138: 4276, 4277, 4278, + 2139: 4276, 4278, 4279, + 2140: 4280, 4281, 4282, + 2141: 4280, 4282, 4283, + 2142: 4284, 4285, 4286, + 2143: 4284, 4286, 4287, + 2144: 4288, 4289, 4290, + 2145: 4288, 4290, 4291, + 2146: 4292, 4293, 4294, + 2147: 4292, 4294, 4295, + 2148: 4296, 4297, 4298, + 2149: 4296, 4298, 4299, + 2150: 4300, 4301, 4302, + 2151: 4300, 4302, 4303, + 2152: 4304, 4305, 4306, + 2153: 4304, 4306, 4307, + 2154: 4308, 4309, 4310, + 2155: 4308, 4310, 4311, + 2156: 4312, 4313, 4314, + 2157: 4312, 4314, 4315, + 2158: 4316, 4317, 4318, + 2159: 4316, 4318, 4319, + 2160: 4320, 4321, 4322, + 2161: 4320, 4322, 4323, + 2162: 4324, 4325, 4326, + 2163: 4324, 4326, 4327, + 2164: 4328, 4329, 4330, + 2165: 4328, 4330, 4331, + 2166: 4332, 4333, 4334, + 2167: 4332, 4334, 4335, + 2168: 4336, 4337, 4338, + 2169: 4336, 4338, 4339, + 2170: 4340, 4341, 4342, + 2171: 4340, 4342, 4343, + 2172: 4344, 4345, 4346, + 2173: 4344, 4346, 4347, + 2174: 4348, 4349, 4350, + 2175: 4348, 4350, 4351, + 2176: 4352, 4353, 4354, + 2177: 4352, 4354, 4355, + 2178: 4356, 4357, 4358, + 2179: 4356, 4358, 4359, + 2180: 4360, 4361, 4362, + 2181: 4360, 4362, 4363, + 2182: 4364, 4365, 4366, + 2183: 4364, 4366, 4367, + 2184: 4368, 4369, 4370, + 2185: 4368, 4370, 4371, + 2186: 4372, 4373, 4374, + 2187: 4372, 4374, 4375, + 2188: 4376, 4377, 4378, + 2189: 4376, 4378, 4379, + 2190: 4380, 4381, 4382, + 2191: 4380, 4382, 4383, + 2192: 4384, 4385, 4386, + 2193: 4384, 4386, 4387, + 2194: 4388, 4389, 4390, + 2195: 4388, 4390, 4391, + 2196: 4392, 4393, 4394, + 2197: 4392, 4394, 4395, + 2198: 4396, 4397, 4398, + 2199: 4396, 4398, 4399, + 2200: 4400, 4401, 4402, + 2201: 4400, 4402, 4403, + 2202: 4404, 4405, 4406, + 2203: 4404, 4406, 4407, + 2204: 4408, 4409, 4410, + 2205: 4408, 4410, 4411, + 2206: 4412, 4413, 4414, + 2207: 4412, 4414, 4415, + 2208: 4416, 4417, 4418, + 2209: 4416, 4418, 4419, + 2210: 4420, 4421, 4422, + 2211: 4420, 4422, 4423, + 2212: 4424, 4425, 4426, + 2213: 4424, 4426, 4427, + 2214: 4428, 4429, 4430, + 2215: 4428, 4430, 4431, + 2216: 4432, 4433, 4434, + 2217: 4432, 4434, 4435, + 2218: 4436, 4437, 4438, + 2219: 4436, 4438, 4439, + 2220: 4440, 4441, 4442, + 2221: 4440, 4442, 4443, + 2222: 4444, 4445, 4446, + 2223: 4444, 4446, 4447, + 2224: 4448, 4449, 4450, + 2225: 4448, 4450, 4451, + 2226: 4452, 4453, 4454, + 2227: 4452, 4454, 4455, + 2228: 4456, 4457, 4458, + 2229: 4456, 4458, 4459, + 2230: 4460, 4461, 4462, + 2231: 4460, 4462, 4463, + 2232: 4464, 4465, 4466, + 2233: 4464, 4466, 4467, + 2234: 4468, 4469, 4470, + 2235: 4468, 4470, 4471, + 2236: 4472, 4473, 4474, + 2237: 4472, 4474, 4475, + 2238: 4476, 4477, 4478, + 2239: 4476, 4478, 4479, + 2240: 4480, 4481, 4482, + 2241: 4480, 4482, 4483, + 2242: 4484, 4485, 4486, + 2243: 4484, 4486, 4487, + 2244: 4488, 4489, 4490, + 2245: 4488, 4490, 4491, + 2246: 4492, 4493, 4494, + 2247: 4492, 4494, 4495, + 2248: 4496, 4497, 4498, + 2249: 4496, 4498, 4499, + 2250: 4500, 4501, 4502, + 2251: 4500, 4502, 4503, + 2252: 4504, 4505, 4506, + 2253: 4504, 4506, 4507, + 2254: 4508, 4509, 4510, + 2255: 4508, 4510, 4511, + 2256: 4512, 4513, 4514, + 2257: 4512, 4514, 4515, + 2258: 4516, 4517, 4518, + 2259: 4516, 4518, 4519, + 2260: 4520, 4521, 4522, + 2261: 4520, 4522, 4523, + 2262: 4524, 4525, 4526, + 2263: 4524, 4526, 4527, + 2264: 4528, 4529, 4530, + 2265: 4528, 4530, 4531, + 2266: 4532, 4533, 4534, + 2267: 4532, 4534, 4535, + 2268: 4536, 4537, 4538, + 2269: 4536, 4538, 4539, + 2270: 4540, 4541, 4542, + 2271: 4540, 4542, 4543, + 2272: 4544, 4545, 4546, + 2273: 4544, 4546, 4547, + 2274: 4548, 4549, 4550, + 2275: 4548, 4550, 4551, + 2276: 4552, 4553, 4554, + 2277: 4552, 4554, 4555, + 2278: 4556, 4557, 4558, + 2279: 4556, 4558, 4559, + 2280: 4560, 4561, 4562, + 2281: 4560, 4562, 4563, + 2282: 4564, 4565, 4566, + 2283: 4564, 4566, 4567, + 2284: 4568, 4569, 4570, + 2285: 4568, 4570, 4571, + 2286: 4572, 4573, 4574, + 2287: 4572, 4574, 4575, + 2288: 4576, 4577, 4578, + 2289: 4576, 4578, 4579, + 2290: 4580, 4581, 4582, + 2291: 4580, 4582, 4583, + 2292: 4584, 4585, 4586, + 2293: 4584, 4586, 4587, + 2294: 4588, 4589, 4590, + 2295: 4588, 4590, 4591, + 2296: 4592, 4593, 4594, + 2297: 4592, 4594, 4595, + 2298: 4596, 4597, 4598, + 2299: 4596, 4598, 4599, + 2300: 4600, 4601, 4602, + 2301: 4600, 4602, 4603, + 2302: 4604, 4605, 4606, + 2303: 4604, 4606, 4607, + 2304: 4608, 4609, 4610, + 2305: 4608, 4610, 4611, + 2306: 4612, 4613, 4614, + 2307: 4612, 4614, 4615, + 2308: 4616, 4617, 4618, + 2309: 4616, 4618, 4619, + 2310: 4620, 4621, 4622, + 2311: 4620, 4622, 4623, + 2312: 4624, 4625, 4626, + 2313: 4624, 4626, 4627, + 2314: 4628, 4629, 4630, + 2315: 4628, 4630, 4631, + 2316: 4632, 4633, 4634, + 2317: 4632, 4634, 4635, + 2318: 4636, 4637, 4638, + 2319: 4636, 4638, 4639, + 2320: 4640, 4641, 4642, + 2321: 4640, 4642, 4643, + 2322: 4644, 4645, 4646, + 2323: 4644, 4646, 4647, + 2324: 4648, 4649, 4650, + 2325: 4648, 4650, 4651, + 2326: 4652, 4653, 4654, + 2327: 4652, 4654, 4655, + 2328: 4656, 4657, 4658, + 2329: 4656, 4658, 4659, + 2330: 4660, 4661, 4662, + 2331: 4660, 4662, 4663, + 2332: 4664, 4665, 4666, + 2333: 4664, 4666, 4667, + 2334: 4668, 4669, 4670, + 2335: 4668, 4670, 4671, + 2336: 4672, 4673, 4674, + 2337: 4672, 4674, 4675, + 2338: 4676, 4677, 4678, + 2339: 4676, 4678, 4679, + 2340: 4680, 4681, 4682, + 2341: 4680, 4682, 4683, + 2342: 4684, 4685, 4686, + 2343: 4684, 4686, 4687, + 2344: 4688, 4689, 4690, + 2345: 4688, 4690, 4691, + 2346: 4692, 4693, 4694, + 2347: 4692, 4694, 4695, + 2348: 4696, 4697, 4698, + 2349: 4696, 4698, 4699, + 2350: 4700, 4701, 4702, + 2351: 4700, 4702, 4703, + 2352: 4704, 4705, 4706, + 2353: 4704, 4706, 4707, + 2354: 4708, 4709, 4710, + 2355: 4708, 4710, 4711, + 2356: 4712, 4713, 4714, + 2357: 4712, 4714, 4715, + 2358: 4716, 4717, 4718, + 2359: 4716, 4718, 4719, + 2360: 4720, 4721, 4722, + 2361: 4720, 4722, 4723, + 2362: 4724, 4725, 4726, + 2363: 4724, 4726, 4727, + 2364: 4728, 4729, 4730, + 2365: 4728, 4730, 4731, + 2366: 4732, 4733, 4734, + 2367: 4732, 4734, 4735, + 2368: 4736, 4737, 4738, + 2369: 4736, 4738, 4739, + 2370: 4740, 4741, 4742, + 2371: 4740, 4742, 4743, + 2372: 4744, 4745, 4746, + 2373: 4744, 4746, 4747, + 2374: 4748, 4749, 4750, + 2375: 4748, 4750, 4751, + 2376: 4752, 4753, 4754, + 2377: 4752, 4754, 4755, + 2378: 4756, 4757, 4758, + 2379: 4756, 4758, 4759, + 2380: 4760, 4761, 4762, + 2381: 4760, 4762, 4763, + 2382: 4764, 4765, 4766, + 2383: 4764, 4766, 4767, + 2384: 4768, 4769, 4770, + 2385: 4768, 4770, 4771, + 2386: 4772, 4773, 4774, + 2387: 4772, 4774, 4775, + 2388: 4776, 4777, 4778, + 2389: 4776, 4778, 4779, + 2390: 4780, 4781, 4782, + 2391: 4780, 4782, 4783, + 2392: 4784, 4785, 4786, + 2393: 4784, 4786, 4787, + 2394: 4788, 4789, 4790, + 2395: 4788, 4790, 4791, + 2396: 4792, 4793, 4794, + 2397: 4792, 4794, 4795, + 2398: 4796, 4797, 4798, + 2399: 4796, 4798, 4799, + 2400: 4800, 4801, 4802, + 2401: 4800, 4802, 4803, + 2402: 4804, 4805, 4806, + 2403: 4804, 4806, 4807, + 2404: 4808, 4809, 4810, + 2405: 4808, 4810, 4811, + 2406: 4812, 4813, 4814, + 2407: 4812, 4814, 4815, + 2408: 4816, 4817, 4818, + 2409: 4816, 4818, 4819, + 2410: 4820, 4821, 4822, + 2411: 4820, 4822, 4823, + 2412: 4824, 4825, 4826, + 2413: 4824, 4826, 4827, + 2414: 4828, 4829, 4830, + 2415: 4828, 4830, 4831, + 2416: 4832, 4833, 4834, + 2417: 4832, 4834, 4835, + 2418: 4836, 4837, 4838, + 2419: 4836, 4838, 4839, + 2420: 4840, 4841, 4842, + 2421: 4840, 4842, 4843, + 2422: 4844, 4845, 4846, + 2423: 4844, 4846, 4847, + 2424: 4848, 4849, 4850, + 2425: 4848, 4850, 4851, + 2426: 4852, 4853, 4854, + 2427: 4852, 4854, 4855, + 2428: 4856, 4857, 4858, + 2429: 4856, 4858, 4859, + 2430: 4860, 4861, 4862, + 2431: 4860, 4862, 4863, + 2432: 4864, 4865, 4866, + 2433: 4864, 4866, 4867, + 2434: 4868, 4869, 4870, + 2435: 4868, 4870, 4871, + 2436: 4872, 4873, 4874, + 2437: 4872, 4874, 4875, + 2438: 4876, 4877, 4878, + 2439: 4876, 4878, 4879, + 2440: 4880, 4881, 4882, + 2441: 4880, 4882, 4883, + 2442: 4884, 4885, 4886, + 2443: 4884, 4886, 4887, + 2444: 4888, 4889, 4890, + 2445: 4888, 4890, 4891, + 2446: 4892, 4893, 4894, + 2447: 4892, 4894, 4895, + 2448: 4896, 4897, 4898, + 2449: 4896, 4898, 4899, + 2450: 4900, 4901, 4902, + 2451: 4900, 4902, 4903, + 2452: 4904, 4905, 4906, + 2453: 4904, 4906, 4907, + 2454: 4908, 4909, 4910, + 2455: 4908, 4910, 4911, + 2456: 4912, 4913, 4914, + 2457: 4912, 4914, 4915, + 2458: 4916, 4917, 4918, + 2459: 4916, 4918, 4919, + 2460: 4920, 4921, 4922, + 2461: 4920, 4922, 4923, + 2462: 4924, 4925, 4926, + 2463: 4924, 4926, 4927, + 2464: 4928, 4929, 4930, + 2465: 4928, 4930, 4931, + 2466: 4932, 4933, 4934, + 2467: 4932, 4934, 4935, + 2468: 4936, 4937, 4938, + 2469: 4936, 4938, 4939, + 2470: 4940, 4941, 4942, + 2471: 4940, 4942, 4943, + 2472: 4944, 4945, 4946, + 2473: 4944, 4946, 4947, + 2474: 4948, 4949, 4950, + 2475: 4948, 4950, 4951, + 2476: 4952, 4953, 4954, + 2477: 4952, 4954, 4955, + 2478: 4956, 4957, 4958, + 2479: 4956, 4958, 4959, + 2480: 4960, 4961, 4962, + 2481: 4960, 4962, 4963, + 2482: 4964, 4965, 4966, + 2483: 4964, 4966, 4967, + 2484: 4968, 4969, 4970, + 2485: 4968, 4970, 4971, + 2486: 4972, 4973, 4974, + 2487: 4972, 4974, 4975, + 2488: 4976, 4977, 4978, + 2489: 4976, 4978, 4979, + 2490: 4980, 4981, 4982, + 2491: 4980, 4982, 4983, + 2492: 4984, 4985, 4986, + 2493: 4984, 4986, 4987, + 2494: 4988, 4989, 4990, + 2495: 4988, 4990, 4991, + 2496: 4992, 4993, 4994, + 2497: 4992, 4994, 4995, + 2498: 4996, 4997, 4998, + 2499: 4996, 4998, 4999, + 2500: 5000, 5001, 5002, + 2501: 5000, 5002, 5003, + 2502: 5004, 5005, 5006, + 2503: 5004, 5006, 5007, + 2504: 5008, 5009, 5010, + 2505: 5008, 5010, 5011, + 2506: 5012, 5013, 5014, + 2507: 5012, 5014, 5015, + 2508: 5016, 5017, 5018, + 2509: 5016, 5018, 5019, + 2510: 5020, 5021, 5022, + 2511: 5020, 5022, 5023, + 2512: 5024, 5025, 5026, + 2513: 5024, 5026, 5027, + 2514: 5028, 5029, 5030, + 2515: 5028, 5030, 5031, + 2516: 5032, 5033, 5034, + 2517: 5032, 5034, 5035, + 2518: 5036, 5037, 5038, + 2519: 5036, 5038, 5039, + 2520: 5040, 5041, 5042, + 2521: 5040, 5042, 5043, + 2522: 5044, 5045, 5046, + 2523: 5044, 5046, 5047, + 2524: 5048, 5049, 5050, + 2525: 5048, 5050, 5051, + 2526: 5052, 5053, 5054, + 2527: 5052, 5054, 5055, + 2528: 5056, 5057, 5058, + 2529: 5056, 5058, 5059, + 2530: 5060, 5061, 5062, + 2531: 5060, 5062, 5063, + 2532: 5064, 5065, 5066, + 2533: 5064, 5066, 5067, + 2534: 5068, 5069, 5070, + 2535: 5068, 5070, 5071, + 2536: 5072, 5073, 5074, + 2537: 5072, 5074, 5075, + 2538: 5076, 5077, 5078, + 2539: 5076, 5078, 5079, + 2540: 5080, 5081, 5082, + 2541: 5080, 5082, 5083, + 2542: 5084, 5085, 5086, + 2543: 5084, 5086, 5087, + 2544: 5088, 5089, 5090, + 2545: 5088, 5090, 5091, + 2546: 5092, 5093, 5094, + 2547: 5092, 5094, 5095, + 2548: 5096, 5097, 5098, + 2549: 5096, 5098, 5099, + 2550: 5100, 5101, 5102, + 2551: 5100, 5102, 5103, + 2552: 5104, 5105, 5106, + 2553: 5104, 5106, 5107, + 2554: 5108, 5109, 5110, + 2555: 5108, 5110, 5111, + 2556: 5112, 5113, 5114, + 2557: 5112, 5114, 5115, + 2558: 5116, 5117, 5118, + 2559: 5116, 5118, 5119, + 2560: 5120, 5121, 5122, + 2561: 5120, 5122, 5123, + 2562: 5124, 5125, 5126, + 2563: 5124, 5126, 5127, + 2564: 5128, 5129, 5130, + 2565: 5128, 5130, 5131, + 2566: 5132, 5133, 5134, + 2567: 5132, 5134, 5135, + 2568: 5136, 5137, 5138, + 2569: 5136, 5138, 5139, + 2570: 5140, 5141, 5142, + 2571: 5140, 5142, 5143, + 2572: 5144, 5145, 5146, + 2573: 5144, 5146, 5147, + 2574: 5148, 5149, 5150, + 2575: 5148, 5150, 5151, + 2576: 5152, 5153, 5154, + 2577: 5152, 5154, 5155, + 2578: 5156, 5157, 5158, + 2579: 5156, 5158, 5159, + 2580: 5160, 5161, 5162, + 2581: 5160, 5162, 5163, + 2582: 5164, 5165, 5166, + 2583: 5164, 5166, 5167, + 2584: 5168, 5169, 5170, + 2585: 5168, 5170, 5171, + 2586: 5172, 5173, 5174, + 2587: 5172, 5174, 5175, + 2588: 5176, 5177, 5178, + 2589: 5176, 5178, 5179, + 2590: 5180, 5181, 5182, + 2591: 5180, 5182, 5183, + 2592: 5184, 5185, 5186, + 2593: 5184, 5186, 5187, + 2594: 5188, 5189, 5190, + 2595: 5188, 5190, 5191, + 2596: 5192, 5193, 5194, + 2597: 5192, 5194, 5195, + 2598: 5196, 5197, 5198, + 2599: 5196, 5198, 5199, + 2600: 5200, 5201, 5202, + 2601: 5200, 5202, 5203, + 2602: 5204, 5205, 5206, + 2603: 5204, 5206, 5207, + 2604: 5208, 5209, 5210, + 2605: 5208, 5210, 5211, + 2606: 5212, 5213, 5214, + 2607: 5212, 5214, 5215, + 2608: 5216, 5217, 5218, + 2609: 5216, 5218, 5219, + 2610: 5220, 5221, 5222, + 2611: 5220, 5222, 5223, + 2612: 5224, 5225, 5226, + 2613: 5224, 5226, 5227, + 2614: 5228, 5229, 5230, + 2615: 5228, 5230, 5231, + 2616: 5232, 5233, 5234, + 2617: 5232, 5234, 5235, + 2618: 5236, 5237, 5238, + 2619: 5236, 5238, 5239, + 2620: 5240, 5241, 5242, + 2621: 5240, 5242, 5243, + 2622: 5244, 5245, 5246, + 2623: 5244, 5246, 5247, + 2624: 5248, 5249, 5250, + 2625: 5248, 5250, 5251, + 2626: 5252, 5253, 5254, + 2627: 5252, 5254, 5255, + 2628: 5256, 5257, 5258, + 2629: 5256, 5258, 5259, + 2630: 5260, 5261, 5262, + 2631: 5260, 5262, 5263, + 2632: 5264, 5265, 5266, + 2633: 5264, 5266, 5267, + 2634: 5268, 5269, 5270, + 2635: 5268, 5270, 5271, + 2636: 5272, 5273, 5274, + 2637: 5272, 5274, 5275, + 2638: 5276, 5277, 5278, + 2639: 5276, 5278, 5279, + 2640: 5280, 5281, 5282, + 2641: 5280, 5282, 5283, + 2642: 5284, 5285, 5286, + 2643: 5284, 5286, 5287, + 2644: 5288, 5289, 5290, + 2645: 5288, 5290, 5291, + 2646: 5292, 5293, 5294, + 2647: 5292, 5294, 5295, + 2648: 5296, 5297, 5298, + 2649: 5296, 5298, 5299, + 2650: 5300, 5301, 5302, + 2651: 5300, 5302, 5303, + 2652: 5304, 5305, 5306, + 2653: 5304, 5306, 5307, + 2654: 5308, 5309, 5310, + 2655: 5308, 5310, 5311, + 2656: 5312, 5313, 5314, + 2657: 5312, 5314, 5315, + 2658: 5316, 5317, 5318, + 2659: 5316, 5318, 5319, + 2660: 5320, 5321, 5322, + 2661: 5320, 5322, 5323, + 2662: 5324, 5325, 5326, + 2663: 5324, 5326, 5327, + 2664: 5328, 5329, 5330, + 2665: 5328, 5330, 5331, + 2666: 5332, 5333, 5334, + 2667: 5332, 5334, 5335, + 2668: 5336, 5337, 5338, + 2669: 5336, 5338, 5339, + 2670: 5340, 5341, 5342, + 2671: 5340, 5342, 5343, + 2672: 5344, 5345, 5346, + 2673: 5344, 5346, 5347, + 2674: 5348, 5349, 5350, + 2675: 5348, 5350, 5351, + 2676: 5352, 5353, 5354, + 2677: 5352, 5354, 5355, + 2678: 5356, 5357, 5358, + 2679: 5356, 5358, 5359, + 2680: 5360, 5361, 5362, + 2681: 5360, 5362, 5363, + 2682: 5364, 5365, 5366, + 2683: 5364, 5366, 5367, + 2684: 5368, 5369, 5370, + 2685: 5368, 5370, 5371, + 2686: 5372, 5373, 5374, + 2687: 5372, 5374, 5375, + 2688: 5376, 5377, 5378, + 2689: 5376, 5378, 5379, + 2690: 5380, 5381, 5382, + 2691: 5380, 5382, 5383, + 2692: 5384, 5385, 5386, + 2693: 5384, 5386, 5387, + 2694: 5388, 5389, 5390, + 2695: 5388, 5390, 5391, + 2696: 5392, 5393, 5394, + 2697: 5392, 5394, 5395, + 2698: 5396, 5397, 5398, + 2699: 5396, 5398, 5399, + 2700: 5400, 5401, 5402, + 2701: 5400, 5402, 5403, + 2702: 5404, 5405, 5406, + 2703: 5404, 5406, 5407, + 2704: 5408, 5409, 5410, + 2705: 5408, 5410, 5411, + 2706: 5412, 5413, 5414, + 2707: 5412, 5414, 5415, + 2708: 5416, 5417, 5418, + 2709: 5416, 5418, 5419, + 2710: 5420, 5421, 5422, + 2711: 5420, 5422, 5423, + 2712: 5424, 5425, 5426, + 2713: 5424, 5426, 5427, + 2714: 5428, 5429, 5430, + 2715: 5428, 5430, 5431, + 2716: 5432, 5433, 5434, + 2717: 5432, 5434, 5435, + 2718: 5436, 5437, 5438, + 2719: 5436, 5438, 5439, + 2720: 5440, 5441, 5442, + 2721: 5440, 5442, 5443, + 2722: 5444, 5445, 5446, + 2723: 5444, 5446, 5447, + 2724: 5448, 5449, 5450, + 2725: 5448, 5450, 5451, + 2726: 5452, 5453, 5454, + 2727: 5452, 5454, 5455, + 2728: 5456, 5457, 5458, + 2729: 5456, 5458, 5459, + 2730: 5460, 5461, 5462, + 2731: 5460, 5462, 5463, + 2732: 5464, 5465, 5466, + 2733: 5464, 5466, 5467, + 2734: 5468, 5469, 5470, + 2735: 5468, 5470, 5471, + 2736: 5472, 5473, 5474, + 2737: 5472, 5474, 5475, + 2738: 5476, 5477, 5478, + 2739: 5476, 5478, 5479, + 2740: 5480, 5481, 5482, + 2741: 5480, 5482, 5483, + 2742: 5484, 5485, 5486, + 2743: 5484, 5486, 5487, + 2744: 5488, 5489, 5490, + 2745: 5488, 5490, 5491, + 2746: 5492, 5493, 5494, + 2747: 5492, 5494, 5495, + 2748: 5496, 5497, 5498, + 2749: 5496, 5498, 5499, + 2750: 5500, 5501, 5502, + 2751: 5500, 5502, 5503, + 2752: 5504, 5505, 5506, + 2753: 5504, 5506, 5507, + 2754: 5508, 5509, 5510, + 2755: 5508, 5510, 5511, + 2756: 5512, 5513, 5514, + 2757: 5512, 5514, 5515, + 2758: 5516, 5517, 5518, + 2759: 5516, 5518, 5519, + 2760: 5520, 5521, 5522, + 2761: 5520, 5522, 5523, + 2762: 5524, 5525, 5526, + 2763: 5524, 5526, 5527, + 2764: 5528, 5529, 5530, + 2765: 5528, 5530, 5531, + 2766: 5532, 5533, 5534, + 2767: 5532, 5534, 5535, + 2768: 5536, 5537, 5538, + 2769: 5536, 5538, 5539, + 2770: 5540, 5541, 5542, + 2771: 5540, 5542, 5543, + 2772: 5544, 5545, 5546, + 2773: 5544, 5546, 5547, + 2774: 5548, 5549, 5550, + 2775: 5548, 5550, 5551, + 2776: 5552, 5553, 5554, + 2777: 5552, 5554, 5555, + 2778: 5556, 5557, 5558, + 2779: 5556, 5558, 5559, + 2780: 5560, 5561, 5562, + 2781: 5560, 5562, 5563, + 2782: 5564, 5565, 5566, + 2783: 5564, 5566, 5567, + 2784: 5568, 5569, 5570, + 2785: 5568, 5570, 5571, + 2786: 5572, 5573, 5574, + 2787: 5572, 5574, 5575, + 2788: 5576, 5577, 5578, + 2789: 5576, 5578, 5579, + 2790: 5580, 5581, 5582, + 2791: 5580, 5582, 5583, + 2792: 5584, 5585, 5586, + 2793: 5584, 5586, 5587, + 2794: 5588, 5589, 5590, + 2795: 5588, 5590, 5591, + 2796: 5592, 5593, 5594, + 2797: 5592, 5594, 5595, + 2798: 5596, 5597, 5598, + 2799: 5596, 5598, 5599, + 2800: 5600, 5601, 5602, + 2801: 5600, 5602, 5603, + 2802: 5604, 5605, 5606, + 2803: 5604, 5606, 5607, + 2804: 5608, 5609, 5610, + 2805: 5608, 5610, 5611, + 2806: 5612, 5613, 5614, + 2807: 5612, 5614, 5615, + 2808: 5616, 5617, 5618, + 2809: 5616, 5618, 5619, + 2810: 5620, 5621, 5622, + 2811: 5620, 5622, 5623, + 2812: 5624, 5625, 5626, + 2813: 5624, 5626, 5627, + 2814: 5628, 5629, 5630, + 2815: 5628, 5630, 5631, + 2816: 5632, 5633, 5634, + 2817: 5632, 5634, 5635, + 2818: 5636, 5637, 5638, + 2819: 5636, 5638, 5639, + 2820: 5640, 5641, 5642, + 2821: 5640, 5642, 5643, + 2822: 5644, 5645, 5646, + 2823: 5644, 5646, 5647, + 2824: 5648, 5649, 5650, + 2825: 5648, 5650, 5651, + 2826: 5652, 5653, 5654, + 2827: 5652, 5654, 5655, + 2828: 5656, 5657, 5658, + 2829: 5656, 5658, 5659, + 2830: 5660, 5661, 5662, + 2831: 5660, 5662, 5663, + 2832: 5664, 5665, 5666, + 2833: 5664, 5666, 5667, + 2834: 5668, 5669, 5670, + 2835: 5668, 5670, 5671, + 2836: 5672, 5673, 5674, + 2837: 5672, 5674, 5675, + 2838: 5676, 5677, 5678, + 2839: 5676, 5678, 5679, + 2840: 5680, 5681, 5682, + 2841: 5680, 5682, 5683, + 2842: 5684, 5685, 5686, + 2843: 5684, 5686, 5687, + 2844: 5688, 5689, 5690, + 2845: 5688, 5690, 5691, + 2846: 5692, 5693, 5694, + 2847: 5692, 5694, 5695, + 2848: 5696, 5697, 5698, + 2849: 5696, 5698, 5699, + 2850: 5700, 5701, 5702, + 2851: 5700, 5702, 5703, + 2852: 5704, 5705, 5706, + 2853: 5704, 5706, 5707, + 2854: 5708, 5709, 5710, + 2855: 5708, 5710, 5711, + 2856: 5712, 5713, 5714, + 2857: 5712, 5714, 5715, + 2858: 5716, 5717, 5718, + 2859: 5716, 5718, 5719, + 2860: 5720, 5721, 5722, + 2861: 5720, 5722, 5723, + 2862: 5724, 5725, 5726, + 2863: 5724, 5726, 5727, + 2864: 5728, 5729, 5730, + 2865: 5728, 5730, 5731, + 2866: 5732, 5733, 5734, + 2867: 5732, 5734, 5735, + 2868: 5736, 5737, 5738, + 2869: 5736, 5738, 5739, + 2870: 5740, 5741, 5742, + 2871: 5740, 5742, 5743, + 2872: 5744, 5745, 5746, + 2873: 5744, 5746, 5747, + 2874: 5748, 5749, 5750, + 2875: 5748, 5750, 5751, + 2876: 5752, 5753, 5754, + 2877: 5752, 5754, 5755, + 2878: 5756, 5757, 5758, + 2879: 5756, 5758, 5759, + 2880: 5760, 5761, 5762, + 2881: 5760, 5762, 5763, + 2882: 5764, 5765, 5766, + 2883: 5764, 5766, 5767, + 2884: 5768, 5769, 5770, + 2885: 5768, 5770, 5771, + 2886: 5772, 5773, 5774, + 2887: 5772, 5774, 5775, + 2888: 5776, 5777, 5778, + 2889: 5776, 5778, 5779, + 2890: 5780, 5781, 5782, + 2891: 5780, 5782, 5783, + 2892: 5784, 5785, 5786, + 2893: 5784, 5786, 5787, + 2894: 5788, 5789, 5790, + 2895: 5788, 5790, 5791, + 2896: 5792, 5793, 5794, + 2897: 5792, 5794, 5795, + 2898: 5796, 5797, 5798, + 2899: 5796, 5798, 5799, + 2900: 5800, 5801, 5802, + 2901: 5800, 5802, 5803, + 2902: 5804, 5805, 5806, + 2903: 5804, 5806, 5807, + 2904: 5808, 5809, 5810, + 2905: 5808, 5810, 5811, + 2906: 5812, 5813, 5814, + 2907: 5812, 5814, 5815, + 2908: 5816, 5817, 5818, + 2909: 5816, 5818, 5819, + 2910: 5820, 5821, 5822, + 2911: 5820, 5822, 5823, + 2912: 5824, 5825, 5826, + 2913: 5824, 5826, 5827, + 2914: 5828, 5829, 5830, + 2915: 5828, 5830, 5831, + 2916: 5832, 5833, 5834, + 2917: 5832, 5834, 5835, + 2918: 5836, 5837, 5838, + 2919: 5836, 5838, 5839, + 2920: 5840, 5841, 5842, + 2921: 5840, 5842, 5843, + 2922: 5844, 5845, 5846, + 2923: 5844, 5846, 5847, + 2924: 5848, 5849, 5850, + 2925: 5848, 5850, 5851, + 2926: 5852, 5853, 5854, + 2927: 5852, 5854, 5855, + 2928: 5856, 5857, 5858, + 2929: 5856, 5858, 5859, + 2930: 5860, 5861, 5862, + 2931: 5860, 5862, 5863, + 2932: 5864, 5865, 5866, + 2933: 5864, 5866, 5867, + 2934: 5868, 5869, 5870, + 2935: 5868, 5870, 5871, + 2936: 5872, 5873, 5874, + 2937: 5872, 5874, 5875, + 2938: 5876, 5877, 5878, + 2939: 5876, 5878, 5879, + 2940: 5880, 5881, 5882, + 2941: 5880, 5882, 5883, + 2942: 5884, 5885, 5886, + 2943: 5884, 5886, 5887, + 2944: 5888, 5889, 5890, + 2945: 5888, 5890, 5891, + 2946: 5892, 5893, 5894, + 2947: 5892, 5894, 5895, + 2948: 5896, 5897, 5898, + 2949: 5896, 5898, 5899, + 2950: 5900, 5901, 5902, + 2951: 5900, 5902, 5903, + 2952: 5904, 5905, 5906, + 2953: 5904, 5906, 5907, + 2954: 5908, 5909, 5910, + 2955: 5908, 5910, 5911, + 2956: 5912, 5913, 5914, + 2957: 5912, 5914, 5915, + 2958: 5916, 5917, 5918, + 2959: 5916, 5918, 5919, + 2960: 5920, 5921, 5922, + 2961: 5920, 5922, 5923, + 2962: 5924, 5925, 5926, + 2963: 5924, 5926, 5927, + 2964: 5928, 5929, 5930, + 2965: 5928, 5930, 5931, + 2966: 5932, 5933, 5934, + 2967: 5932, 5934, 5935, + 2968: 5936, 5937, 5938, + 2969: 5936, 5938, 5939, + 2970: 5940, 5941, 5942, + 2971: 5940, 5942, 5943, + 2972: 5944, 5945, 5946, + 2973: 5944, 5946, 5947, + 2974: 5948, 5949, 5950, + 2975: 5948, 5950, 5951, + 2976: 5952, 5953, 5954, + 2977: 5952, 5954, 5955, + 2978: 5956, 5957, 5958, + 2979: 5956, 5958, 5959, + 2980: 5960, 5961, 5962, + 2981: 5960, 5962, 5963, + 2982: 5964, 5965, 5966, + 2983: 5964, 5966, 5967, + 2984: 5968, 5969, 5970, + 2985: 5968, 5970, 5971, + 2986: 5972, 5973, 5974, + 2987: 5972, 5974, 5975, + 2988: 5976, 5977, 5978, + 2989: 5976, 5978, 5979, + 2990: 5980, 5981, 5982, + 2991: 5980, 5982, 5983, + 2992: 5984, 5985, 5986, + 2993: 5984, 5986, 5987, + 2994: 5988, 5989, 5990, + 2995: 5988, 5990, 5991, + 2996: 5992, 5993, 5994, + 2997: 5992, 5994, 5995, + 2998: 5996, 5997, 5998, + 2999: 5996, 5998, 5999, + 3000: 6000, 6001, 6002, + 3001: 6000, 6002, 6003, + 3002: 6004, 6005, 6006, + 3003: 6004, 6006, 6007, + 3004: 6008, 6009, 6010, + 3005: 6008, 6010, 6011, + 3006: 6012, 6013, 6014, + 3007: 6012, 6014, 6015, + 3008: 6016, 6017, 6018, + 3009: 6016, 6018, 6019, + 3010: 6020, 6021, 6022, + 3011: 6020, 6022, 6023, + 3012: 6024, 6025, 6026, + 3013: 6024, 6026, 6027, + 3014: 6028, 6029, 6030, + 3015: 6028, 6030, 6031, + 3016: 6032, 6033, 6034, + 3017: 6032, 6034, 6035, + 3018: 6036, 6037, 6038, + 3019: 6036, 6038, 6039, + 3020: 6040, 6041, 6042, + 3021: 6040, 6042, 6043, + 3022: 6044, 6045, 6046, + 3023: 6044, 6046, 6047, + 3024: 6048, 6049, 6050, + 3025: 6048, 6050, 6051, + 3026: 6052, 6053, 6054, + 3027: 6052, 6054, 6055, + 3028: 6056, 6057, 6058, + 3029: 6056, 6058, 6059, + 3030: 6060, 6061, 6062, + 3031: 6060, 6062, 6063, + 3032: 6064, 6065, 6066, + 3033: 6064, 6066, 6067, + 3034: 6068, 6069, 6070, + 3035: 6068, 6070, 6071, + 3036: 6072, 6073, 6074, + 3037: 6072, 6074, 6075, + 3038: 6076, 6077, 6078, + 3039: 6076, 6078, 6079, + 3040: 6080, 6081, 6082, + 3041: 6080, 6082, 6083, + 3042: 6084, 6085, 6086, + 3043: 6084, 6086, 6087, + 3044: 6088, 6089, 6090, + 3045: 6088, 6090, 6091, + 3046: 6092, 6093, 6094, + 3047: 6092, 6094, 6095, + 3048: 6096, 6097, 6098, + 3049: 6096, 6098, 6099, + 3050: 6100, 6101, 6102, + 3051: 6100, 6102, 6103, + 3052: 6104, 6105, 6106, + 3053: 6104, 6106, 6107, + 3054: 6108, 6109, 6110, + 3055: 6108, 6110, 6111, + 3056: 6112, 6113, 6114, + 3057: 6112, 6114, 6115, + 3058: 6116, 6117, 6118, + 3059: 6116, 6118, 6119, + 3060: 6120, 6121, 6122, + 3061: 6120, 6122, 6123, + 3062: 6124, 6125, 6126, + 3063: 6124, 6126, 6127, + 3064: 6128, 6129, 6130, + 3065: 6128, 6130, 6131, + 3066: 6132, 6133, 6134, + 3067: 6132, 6134, 6135, + 3068: 6136, 6137, 6138, + 3069: 6136, 6138, 6139, + 3070: 6140, 6141, 6142, + 3071: 6140, 6142, 6143, + 3072: 6144, 6145, 6146, + 3073: 6144, 6146, 6147, + 3074: 6148, 6149, 6150, + 3075: 6148, 6150, 6151, + 3076: 6152, 6153, 6154, + 3077: 6152, 6154, 6155, + 3078: 6156, 6157, 6158, + 3079: 6156, 6158, 6159, + 3080: 6160, 6161, 6162, + 3081: 6160, 6162, 6163, + 3082: 6164, 6165, 6166, + 3083: 6164, 6166, 6167, + 3084: 6168, 6169, 6170, + 3085: 6168, 6170, 6171, + 3086: 6172, 6173, 6174, + 3087: 6172, 6174, 6175, + 3088: 6176, 6177, 6178, + 3089: 6176, 6178, 6179, + 3090: 6180, 6181, 6182, + 3091: 6180, 6182, 6183, + 3092: 6184, 6185, 6186, + 3093: 6184, 6186, 6187, + 3094: 6188, 6189, 6190, + 3095: 6188, 6190, 6191, + 3096: 6192, 6193, 6194, + 3097: 6192, 6194, 6195, + 3098: 6196, 6197, 6198, + 3099: 6196, 6198, 6199, + 3100: 6200, 6201, 6202, + 3101: 6200, 6202, 6203, + 3102: 6204, 6205, 6206, + 3103: 6204, 6206, 6207, + 3104: 6208, 6209, 6210, + 3105: 6208, 6210, 6211, + 3106: 6212, 6213, 6214, + 3107: 6212, 6214, 6215, + 3108: 6216, 6217, 6218, + 3109: 6216, 6218, 6219, + 3110: 6220, 6221, 6222, + 3111: 6220, 6222, 6223, + 3112: 6224, 6225, 6226, + 3113: 6224, 6226, 6227, + 3114: 6228, 6229, 6230, + 3115: 6228, 6230, 6231, + 3116: 6232, 6233, 6234, + 3117: 6232, 6234, 6235, + 3118: 6236, 6237, 6238, + 3119: 6236, 6238, 6239, + 3120: 6240, 6241, 6242, + 3121: 6240, 6242, 6243, + 3122: 6244, 6245, 6246, + 3123: 6244, 6246, 6247, + 3124: 6248, 6249, 6250, + 3125: 6248, 6250, 6251, + 3126: 6252, 6253, 6254, + 3127: 6252, 6254, 6255, + 3128: 6256, 6257, 6258, + 3129: 6256, 6258, 6259, + 3130: 6260, 6261, 6262, + 3131: 6260, 6262, 6263, + 3132: 6264, 6265, 6266, + 3133: 6264, 6266, 6267, + 3134: 6268, 6269, 6270, + 3135: 6268, 6270, 6271, + 3136: 6272, 6273, 6274, + 3137: 6272, 6274, 6275, + 3138: 6276, 6277, 6278, + 3139: 6276, 6278, 6279, + 3140: 6280, 6281, 6282, + 3141: 6280, 6282, 6283, + 3142: 6284, 6285, 6286, + 3143: 6284, 6286, 6287, + 3144: 6288, 6289, 6290, + 3145: 6288, 6290, 6291, + 3146: 6292, 6293, 6294, + 3147: 6292, 6294, 6295, + 3148: 6296, 6297, 6298, + 3149: 6296, 6298, 6299, + 3150: 6300, 6301, 6302, + 3151: 6300, 6302, 6303, + 3152: 6304, 6305, 6306, + 3153: 6304, 6306, 6307, + 3154: 6308, 6309, 6310, + 3155: 6308, 6310, 6311, + 3156: 6312, 6313, 6314, + 3157: 6312, 6314, 6315, + 3158: 6316, 6317, 6318, + 3159: 6316, 6318, 6319, + 3160: 6320, 6321, 6322, + 3161: 6320, 6322, 6323, + 3162: 6324, 6325, 6326, + 3163: 6324, 6326, 6327, + 3164: 6328, 6329, 6330, + 3165: 6328, 6330, 6331, + 3166: 6332, 6333, 6334, + 3167: 6332, 6334, 6335, + 3168: 6336, 6337, 6338, + 3169: 6336, 6338, 6339, + 3170: 6340, 6341, 6342, + 3171: 6340, 6342, 6343, + 3172: 6344, 6345, 6346, + 3173: 6344, 6346, 6347, + 3174: 6348, 6349, 6350, + 3175: 6348, 6350, 6351, + 3176: 6352, 6353, 6354, + 3177: 6352, 6354, 6355, + 3178: 6356, 6357, 6358, + 3179: 6356, 6358, 6359, + 3180: 6360, 6361, 6362, + 3181: 6360, 6362, 6363, + 3182: 6364, 6365, 6366, + 3183: 6364, 6366, 6367, + 3184: 6368, 6369, 6370, + 3185: 6368, 6370, 6371, + 3186: 6372, 6373, 6374, + 3187: 6372, 6374, 6375, + 3188: 6376, 6377, 6378, + 3189: 6376, 6378, 6379, + 3190: 6380, 6381, 6382, + 3191: 6380, 6382, 6383, + 3192: 6384, 6385, 6386, + 3193: 6384, 6386, 6387, + 3194: 6388, 6389, 6390, + 3195: 6388, 6390, 6391, + 3196: 6392, 6393, 6394, + 3197: 6392, 6394, 6395, + 3198: 6396, 6397, 6398, + 3199: 6396, 6398, 6399, + 3200: 6400, 6401, 6402, + 3201: 6400, 6402, 6403, + 3202: 6404, 6405, 6406, + 3203: 6404, 6406, 6407, + 3204: 6408, 6409, 6410, + 3205: 6408, 6410, 6411, + 3206: 6412, 6413, 6414, + 3207: 6412, 6414, 6415, + 3208: 6416, 6417, 6418, + 3209: 6416, 6418, 6419, + 3210: 6420, 6421, 6422, + 3211: 6420, 6422, 6423, + 3212: 6424, 6425, 6426, + 3213: 6424, 6426, 6427, + 3214: 6428, 6429, 6430, + 3215: 6428, 6430, 6431, + 3216: 6432, 6433, 6434, + 3217: 6432, 6434, 6435, + 3218: 6436, 6437, 6438, + 3219: 6436, 6438, 6439, + 3220: 6440, 6441, 6442, + 3221: 6440, 6442, 6443, + 3222: 6444, 6445, 6446, + 3223: 6444, 6446, 6447, + 3224: 6448, 6449, 6450, + 3225: 6448, 6450, 6451, + 3226: 6452, 6453, 6454, + 3227: 6452, 6454, 6455, + 3228: 6456, 6457, 6458, + 3229: 6456, 6458, 6459, + 3230: 6460, 6461, 6462, + 3231: 6460, 6462, 6463, + 3232: 6464, 6465, 6466, + 3233: 6464, 6466, 6467, + 3234: 6468, 6469, 6470, + 3235: 6468, 6470, 6471, + 3236: 6472, 6473, 6474, + 3237: 6472, 6474, 6475, + 3238: 6476, 6477, 6478, + 3239: 6476, 6478, 6479, + 3240: 6480, 6481, 6482, + 3241: 6480, 6482, 6483, + 3242: 6484, 6485, 6486, + 3243: 6484, 6486, 6487, + 3244: 6488, 6489, 6490, + 3245: 6488, 6490, 6491, + 3246: 6492, 6493, 6494, + 3247: 6492, 6494, 6495, + 3248: 6496, 6497, 6498, + 3249: 6496, 6498, 6499, + 3250: 6500, 6501, 6502, + 3251: 6500, 6502, 6503, + 3252: 6504, 6505, 6506, + 3253: 6504, 6506, 6507, + 3254: 6508, 6509, 6510, + 3255: 6508, 6510, 6511, + 3256: 6512, 6513, 6514, + 3257: 6512, 6514, 6515, + 3258: 6516, 6517, 6518, + 3259: 6516, 6518, 6519, + 3260: 6520, 6521, 6522, + 3261: 6520, 6522, 6523, + 3262: 6524, 6525, 6526, + 3263: 6524, 6526, 6527, + 3264: 6528, 6529, 6530, + 3265: 6528, 6530, 6531, + 3266: 6532, 6533, 6534, + 3267: 6532, 6534, 6535, + 3268: 6536, 6537, 6538, + 3269: 6536, 6538, 6539, + 3270: 6540, 6541, 6542, + 3271: 6540, 6542, 6543, + 3272: 6544, 6545, 6546, + 3273: 6544, 6546, 6547, + 3274: 6548, 6549, 6550, + 3275: 6548, 6550, 6551, + 3276: 6552, 6553, 6554, + 3277: 6552, 6554, 6555, + 3278: 6556, 6557, 6558, + 3279: 6556, 6558, 6559, + 3280: 6560, 6561, 6562, + 3281: 6560, 6562, 6563, + 3282: 6564, 6565, 6566, + 3283: 6564, 6566, 6567, + 3284: 6568, 6569, 6570, + 3285: 6568, 6570, 6571, + 3286: 6572, 6573, 6574, + 3287: 6572, 6574, 6575, + 3288: 6576, 6577, 6578, + 3289: 6576, 6578, 6579, + 3290: 6580, 6581, 6582, + 3291: 6580, 6582, 6583, + 3292: 6584, 6585, 6586, + 3293: 6584, 6586, 6587, + 3294: 6588, 6589, 6590, + 3295: 6588, 6590, 6591, + 3296: 6592, 6593, 6594, + 3297: 6592, 6594, 6595, + 3298: 6596, 6597, 6598, + 3299: 6596, 6598, 6599, + 3300: 6600, 6601, 6602, + 3301: 6600, 6602, 6603, + 3302: 6604, 6605, 6606, + 3303: 6604, 6606, 6607, + 3304: 6608, 6609, 6610, + 3305: 6608, 6610, 6611, + 3306: 6612, 6613, 6614, + 3307: 6612, 6614, 6615, + 3308: 6616, 6617, 6618, + 3309: 6616, 6618, 6619, + 3310: 6620, 6621, 6622, + 3311: 6620, 6622, 6623, + 3312: 6624, 6625, 6626, + 3313: 6624, 6626, 6627, + 3314: 6628, 6629, 6630, + 3315: 6628, 6630, 6631, + 3316: 6632, 6633, 6634, + 3317: 6632, 6634, 6635, + 3318: 6636, 6637, 6638, + 3319: 6636, 6638, 6639, + 3320: 6640, 6641, 6642, + 3321: 6640, 6642, 6643, + 3322: 6644, 6645, 6646, + 3323: 6644, 6646, 6647, + 3324: 6648, 6649, 6650, + 3325: 6648, 6650, 6651, + 3326: 6652, 6653, 6654, + 3327: 6652, 6654, 6655, + 3328: 6656, 6657, 6658, + 3329: 6656, 6658, 6659, + 3330: 6660, 6661, 6662, + 3331: 6660, 6662, 6663, + 3332: 6664, 6665, 6666, + 3333: 6664, 6666, 6667, + 3334: 6668, 6669, 6670, + 3335: 6668, 6670, 6671, + 3336: 6672, 6673, 6674, + 3337: 6672, 6674, 6675, + 3338: 6676, 6677, 6678, + 3339: 6676, 6678, 6679, + 3340: 6680, 6681, 6682, + 3341: 6680, 6682, 6683, + 3342: 6684, 6685, 6686, + 3343: 6684, 6686, 6687, + 3344: 6688, 6689, 6690, + 3345: 6688, 6690, 6691, + 3346: 6692, 6693, 6694, + 3347: 6692, 6694, 6695, + 3348: 6696, 6697, 6698, + 3349: 6696, 6698, 6699, + 3350: 6700, 6701, 6702, + 3351: 6700, 6702, 6703, + 3352: 6704, 6705, 6706, + 3353: 6704, 6706, 6707, + 3354: 6708, 6709, 6710, + 3355: 6708, 6710, 6711, + 3356: 6712, 6713, 6714, + 3357: 6712, 6714, 6715, + 3358: 6716, 6717, 6718, + 3359: 6716, 6718, 6719, + 3360: 6720, 6721, 6722, + 3361: 6720, 6722, 6723, + 3362: 6724, 6725, 6726, + 3363: 6724, 6726, 6727, + 3364: 6728, 6729, 6730, + 3365: 6728, 6730, 6731, + 3366: 6732, 6733, 6734, + 3367: 6732, 6734, 6735, + 3368: 6736, 6737, 6738, + 3369: 6736, 6738, 6739, + 3370: 6740, 6741, 6742, + 3371: 6740, 6742, 6743, + 3372: 6744, 6745, 6746, + 3373: 6744, 6746, 6747, + 3374: 6748, 6749, 6750, + 3375: 6748, 6750, 6751, + 3376: 6752, 6753, 6754, + 3377: 6752, 6754, 6755, + 3378: 6756, 6757, 6758, + 3379: 6756, 6758, 6759, + 3380: 6760, 6761, 6762, + 3381: 6760, 6762, 6763, + 3382: 6764, 6765, 6766, + 3383: 6764, 6766, 6767, + 3384: 6768, 6769, 6770, + 3385: 6768, 6770, 6771, + 3386: 6772, 6773, 6774, + 3387: 6772, 6774, 6775, + 3388: 6776, 6777, 6778, + 3389: 6776, 6778, 6779, + 3390: 6780, 6781, 6782, + 3391: 6780, 6782, 6783, + 3392: 6784, 6785, 6786, + 3393: 6784, 6786, 6787, + 3394: 6788, 6789, 6790, + 3395: 6788, 6790, 6791, + 3396: 6792, 6793, 6794, + 3397: 6792, 6794, 6795, + 3398: 6796, 6797, 6798, + 3399: 6796, 6798, 6799, + 3400: 6800, 6801, 6802, + 3401: 6800, 6802, 6803, + 3402: 6804, 6805, 6806, + 3403: 6804, 6806, 6807, + 3404: 6808, 6809, 6810, + 3405: 6808, 6810, 6811, + 3406: 6812, 6813, 6814, + 3407: 6812, 6814, 6815, + 3408: 6816, 6817, 6818, + 3409: 6816, 6818, 6819, + 3410: 6820, 6821, 6822, + 3411: 6820, 6822, 6823, + 3412: 6824, 6825, 6826, + 3413: 6824, 6826, 6827, + 3414: 6828, 6829, 6830, + 3415: 6828, 6830, 6831, + 3416: 6832, 6833, 6834, + 3417: 6832, 6834, 6835, + 3418: 6836, 6837, 6838, + 3419: 6836, 6838, 6839, + 3420: 6840, 6841, 6842, + 3421: 6840, 6842, 6843, + 3422: 6844, 6845, 6846, + 3423: 6844, 6846, 6847, + 3424: 6848, 6849, 6850, + 3425: 6848, 6850, 6851, + 3426: 6852, 6853, 6854, + 3427: 6852, 6854, 6855, + 3428: 6856, 6857, 6858, + 3429: 6856, 6858, 6859, + 3430: 6860, 6861, 6862, + 3431: 6860, 6862, 6863, + 3432: 6864, 6865, 6866, + 3433: 6864, 6866, 6867, + 3434: 6868, 6869, 6870, + 3435: 6868, 6870, 6871, + 3436: 6872, 6873, 6874, + 3437: 6872, 6874, 6875, + 3438: 6876, 6877, 6878, + 3439: 6876, 6878, 6879, + 3440: 6880, 6881, 6882, + 3441: 6880, 6882, 6883, + 3442: 6884, 6885, 6886, + 3443: 6884, 6886, 6887, + 3444: 6888, 6889, 6890, + 3445: 6888, 6890, 6891, + 3446: 6892, 6893, 6894, + 3447: 6892, 6894, 6895, + 3448: 6896, 6897, 6898, + 3449: 6896, 6898, 6899, + 3450: 6900, 6901, 6902, + 3451: 6900, 6902, 6903, + 3452: 6904, 6905, 6906, + 3453: 6904, 6906, 6907, + 3454: 6908, 6909, 6910, + 3455: 6908, 6910, 6911, + 3456: 6912, 6913, 6914, + 3457: 6912, 6914, 6915, + 3458: 6916, 6917, 6918, + 3459: 6916, 6918, 6919, + 3460: 6920, 6921, 6922, + 3461: 6920, 6922, 6923, + 3462: 6924, 6925, 6926, + 3463: 6924, 6926, 6927, + 3464: 6928, 6929, 6930, + 3465: 6928, 6930, 6931, + 3466: 6932, 6933, 6934, + 3467: 6932, 6934, 6935, + 3468: 6936, 6937, 6938, + 3469: 6936, 6938, 6939, + 3470: 6940, 6941, 6942, + 3471: 6940, 6942, 6943, + 3472: 6944, 6945, 6946, + 3473: 6944, 6946, 6947, + 3474: 6948, 6949, 6950, + 3475: 6948, 6950, 6951, + 3476: 6952, 6953, 6954, + 3477: 6952, 6954, 6955, + 3478: 6956, 6957, 6958, + 3479: 6956, 6958, 6959, + 3480: 6960, 6961, 6962, + 3481: 6960, 6962, 6963, + 3482: 6964, 6965, 6966, + 3483: 6964, 6966, 6967, + 3484: 6968, 6969, 6970, + 3485: 6968, 6970, 6971, + 3486: 6972, 6973, 6974, + 3487: 6972, 6974, 6975, + 3488: 6976, 6977, 6978, + 3489: 6976, 6978, 6979, + 3490: 6980, 6981, 6982, + 3491: 6980, 6982, 6983, + 3492: 6984, 6985, 6986, + 3493: 6984, 6986, 6987, + 3494: 6988, 6989, 6990, + 3495: 6988, 6990, 6991, + 3496: 6992, 6993, 6994, + 3497: 6992, 6994, 6995, + 3498: 6996, 6997, 6998, + 3499: 6996, 6998, 6999, + 3500: 7000, 7001, 7002, + 3501: 7000, 7002, 7003, + 3502: 7004, 7005, 7006, + 3503: 7004, 7006, 7007, + 3504: 7008, 7009, 7010, + 3505: 7008, 7010, 7011, + 3506: 7012, 7013, 7014, + 3507: 7012, 7014, 7015, + 3508: 7016, 7017, 7018, + 3509: 7016, 7018, 7019, + 3510: 7020, 7021, 7022, + 3511: 7020, 7022, 7023, + 3512: 7024, 7025, 7026, + 3513: 7024, 7026, 7027, + 3514: 7028, 7029, 7030, + 3515: 7028, 7030, 7031, + 3516: 7032, 7033, 7034, + 3517: 7032, 7034, 7035, + 3518: 7036, 7037, 7038, + 3519: 7036, 7038, 7039, + 3520: 7040, 7041, 7042, + 3521: 7040, 7042, 7043, + 3522: 7044, 7045, 7046, + 3523: 7044, 7046, 7047, + 3524: 7048, 7049, 7050, + 3525: 7048, 7050, 7051, + 3526: 7052, 7053, 7054, + 3527: 7052, 7054, 7055, + 3528: 7056, 7057, 7058, + 3529: 7056, 7058, 7059, + 3530: 7060, 7061, 7062, + 3531: 7060, 7062, 7063, + 3532: 7064, 7065, 7066, + 3533: 7064, 7066, 7067, + 3534: 7068, 7069, 7070, + 3535: 7068, 7070, 7071, + 3536: 7072, 7073, 7074, + 3537: 7072, 7074, 7075, + 3538: 7076, 7077, 7078, + 3539: 7076, 7078, 7079, + 3540: 7080, 7081, 7082, + 3541: 7080, 7082, 7083, + 3542: 7084, 7085, 7086, + 3543: 7084, 7086, 7087, + 3544: 7088, 7089, 7090, + 3545: 7088, 7090, 7091, + 3546: 7092, 7093, 7094, + 3547: 7092, 7094, 7095, + 3548: 7096, 7097, 7098, + 3549: 7096, 7098, 7099, + 3550: 7100, 7101, 7102, + 3551: 7100, 7102, 7103, + 3552: 7104, 7105, 7106, + 3553: 7104, 7106, 7107, + 3554: 7108, 7109, 7110, + 3555: 7108, 7110, 7111, + 3556: 7112, 7113, 7114, + 3557: 7112, 7114, 7115, + 3558: 7116, 7117, 7118, + 3559: 7116, 7118, 7119, + 3560: 7120, 7121, 7122, + 3561: 7120, 7122, 7123, + 3562: 7124, 7125, 7126, + 3563: 7124, 7126, 7127, + 3564: 7128, 7129, 7130, + 3565: 7128, 7130, 7131, + 3566: 7132, 7133, 7134, + 3567: 7132, 7134, 7135, + 3568: 7136, 7137, 7138, + 3569: 7136, 7138, 7139, + 3570: 7140, 7141, 7142, + 3571: 7140, 7142, 7143, + 3572: 7144, 7145, 7146, + 3573: 7144, 7146, 7147, + 3574: 7148, 7149, 7150, + 3575: 7148, 7150, 7151, + 3576: 7152, 7153, 7154, + 3577: 7152, 7154, 7155, + 3578: 7156, 7157, 7158, + 3579: 7156, 7158, 7159, + 3580: 7160, 7161, 7162, + 3581: 7160, 7162, 7163, + 3582: 7164, 7165, 7166, + 3583: 7164, 7166, 7167, + 3584: 7168, 7169, 7170, + 3585: 7168, 7170, 7171, + 3586: 7172, 7173, 7174, + 3587: 7172, 7174, 7175, + 3588: 7176, 7177, 7178, + 3589: 7176, 7178, 7179, + 3590: 7180, 7181, 7182, + 3591: 7180, 7182, 7183, + 3592: 7184, 7185, 7186, + 3593: 7184, 7186, 7187, + 3594: 7188, 7189, 7190, + 3595: 7188, 7190, 7191, + 3596: 7192, 7193, 7194, + 3597: 7192, 7194, 7195, + 3598: 7196, 7197, 7198, + 3599: 7196, 7198, 7199, + 3600: 7200, 7201, 7202, + 3601: 7200, 7202, 7203, + 3602: 7204, 7205, 7206, + 3603: 7204, 7206, 7207, + 3604: 7208, 7209, 7210, + 3605: 7208, 7210, 7211, + 3606: 7212, 7213, 7214, + 3607: 7212, 7214, 7215, + 3608: 7216, 7217, 7218, + 3609: 7216, 7218, 7219, + 3610: 7220, 7221, 7222, + 3611: 7220, 7222, 7223, + 3612: 7224, 7225, 7226, + 3613: 7224, 7226, 7227, + 3614: 7228, 7229, 7230, + 3615: 7228, 7230, 7231, + 3616: 7232, 7233, 7234, + 3617: 7232, 7234, 7235, + 3618: 7236, 7237, 7238, + 3619: 7236, 7238, 7239, + 3620: 7240, 7241, 7242, + 3621: 7240, 7242, 7243, + 3622: 7244, 7245, 7246, + 3623: 7244, 7246, 7247, + 3624: 7248, 7249, 7250, + 3625: 7248, 7250, 7251, + 3626: 7252, 7253, 7254, + 3627: 7252, 7254, 7255, + 3628: 7256, 7257, 7258, + 3629: 7256, 7258, 7259, + 3630: 7260, 7261, 7262, + 3631: 7260, 7262, 7263, + 3632: 7264, 7265, 7266, + 3633: 7264, 7266, 7267, + 3634: 7268, 7269, 7270, + 3635: 7268, 7270, 7271, + 3636: 7272, 7273, 7274, + 3637: 7272, 7274, 7275, + 3638: 7276, 7277, 7278, + 3639: 7276, 7278, 7279, + 3640: 7280, 7281, 7282, + 3641: 7280, 7282, 7283, + 3642: 7284, 7285, 7286, + 3643: 7284, 7286, 7287, + 3644: 7288, 7289, 7290, + 3645: 7288, 7290, 7291, + 3646: 7292, 7293, 7294, + 3647: 7292, 7294, 7295, + 3648: 7296, 7297, 7298, + 3649: 7296, 7298, 7299, + 3650: 7300, 7301, 7302, + 3651: 7300, 7302, 7303, + 3652: 7304, 7305, 7306, + 3653: 7304, 7306, 7307, + 3654: 7308, 7309, 7310, + 3655: 7308, 7310, 7311, + 3656: 7312, 7313, 7314, + 3657: 7312, 7314, 7315, + 3658: 7316, 7317, 7318, + 3659: 7316, 7318, 7319, + 3660: 7320, 7321, 7322, + 3661: 7320, 7322, 7323, + 3662: 7324, 7325, 7326, + 3663: 7324, 7326, 7327, + 3664: 7328, 7329, 7330, + 3665: 7328, 7330, 7331, + 3666: 7332, 7333, 7334, + 3667: 7332, 7334, 7335, + 3668: 7336, 7337, 7338, + 3669: 7336, 7338, 7339, + 3670: 7340, 7341, 7342, + 3671: 7340, 7342, 7343, + 3672: 7344, 7345, 7346, + 3673: 7344, 7346, 7347, + 3674: 7348, 7349, 7350, + 3675: 7348, 7350, 7351, + 3676: 7352, 7353, 7354, + 3677: 7352, 7354, 7355, + 3678: 7356, 7357, 7358, + 3679: 7356, 7358, 7359, + 3680: 7360, 7361, 7362, + 3681: 7360, 7362, 7363, + 3682: 7364, 7365, 7366, + 3683: 7364, 7366, 7367, + 3684: 7368, 7369, 7370, + 3685: 7368, 7370, 7371, + 3686: 7372, 7373, 7374, + 3687: 7372, 7374, 7375, + 3688: 7376, 7377, 7378, + 3689: 7376, 7378, 7379, + 3690: 7380, 7381, 7382, + 3691: 7380, 7382, 7383, + 3692: 7384, 7385, 7386, + 3693: 7384, 7386, 7387, + 3694: 7388, 7389, 7390, + 3695: 7388, 7390, 7391, + 3696: 7392, 7393, 7394, + 3697: 7392, 7394, 7395, + 3698: 7396, 7397, 7398, + 3699: 7396, 7398, 7399, + 3700: 7400, 7401, 7402, + 3701: 7400, 7402, 7403, + 3702: 7404, 7405, 7406, + 3703: 7404, 7406, 7407, + 3704: 7408, 7409, 7410, + 3705: 7408, 7410, 7411, + 3706: 7412, 7413, 7414, + 3707: 7412, 7414, 7415, + 3708: 7416, 7417, 7418, + 3709: 7416, 7418, 7419, + 3710: 7420, 7421, 7422, + 3711: 7420, 7422, 7423, + 3712: 7424, 7425, 7426, + 3713: 7424, 7426, 7427, + 3714: 7428, 7429, 7430, + 3715: 7428, 7430, 7431, + 3716: 7432, 7433, 7434, + 3717: 7432, 7434, 7435, + 3718: 7436, 7437, 7438, + 3719: 7436, 7438, 7439, + 3720: 7440, 7441, 7442, + 3721: 7440, 7442, 7443, + 3722: 7444, 7445, 7446, + 3723: 7444, 7446, 7447, + 3724: 7448, 7449, 7450, + 3725: 7448, 7450, 7451, + 3726: 7452, 7453, 7454, + 3727: 7452, 7454, 7455, + 3728: 7456, 7457, 7458, + 3729: 7456, 7458, 7459, + 3730: 7460, 7461, 7462, + 3731: 7460, 7462, 7463, + 3732: 7464, 7465, 7466, + 3733: 7464, 7466, 7467, + 3734: 7468, 7469, 7470, + 3735: 7468, 7470, 7471, + 3736: 7472, 7473, 7474, + 3737: 7472, 7474, 7475, + 3738: 7476, 7477, 7478, + 3739: 7476, 7478, 7479, + 3740: 7480, 7481, 7482, + 3741: 7480, 7482, 7483, + 3742: 7484, 7485, 7486, + 3743: 7484, 7486, 7487, + 3744: 7488, 7489, 7490, + 3745: 7488, 7490, 7491, + 3746: 7492, 7493, 7494, + 3747: 7492, 7494, 7495, + 3748: 7496, 7497, 7498, + 3749: 7496, 7498, 7499, + 3750: 7500, 7501, 7502, + 3751: 7500, 7502, 7503, + 3752: 7504, 7505, 7506, + 3753: 7504, 7506, 7507, + 3754: 7508, 7509, 7510, + 3755: 7508, 7510, 7511, + 3756: 7512, 7513, 7514, + 3757: 7512, 7514, 7515, + 3758: 7516, 7517, 7518, + 3759: 7516, 7518, 7519, + 3760: 7520, 7521, 7522, + 3761: 7520, 7522, 7523, + 3762: 7524, 7525, 7526, + 3763: 7524, 7526, 7527, + 3764: 7528, 7529, 7530, + 3765: 7528, 7530, 7531, + 3766: 7532, 7533, 7534, + 3767: 7532, 7534, 7535, + 3768: 7536, 7537, 7538, + 3769: 7536, 7538, 7539, + 3770: 7540, 7541, 7542, + 3771: 7540, 7542, 7543, + 3772: 7544, 7545, 7546, + 3773: 7544, 7546, 7547, + 3774: 7548, 7549, 7550, + 3775: 7548, 7550, 7551, + 3776: 7552, 7553, 7554, + 3777: 7552, 7554, 7555, + 3778: 7556, 7557, 7558, + 3779: 7556, 7558, 7559, + 3780: 7560, 7561, 7562, + 3781: 7560, 7562, 7563, + 3782: 7564, 7565, 7566, + 3783: 7564, 7566, 7567, + 3784: 7568, 7569, 7570, + 3785: 7568, 7570, 7571, + 3786: 7572, 7573, 7574, + 3787: 7572, 7574, 7575, + 3788: 7576, 7577, 7578, + 3789: 7576, 7578, 7579, + 3790: 7580, 7581, 7582, + 3791: 7580, 7582, 7583, + 3792: 7584, 7585, 7586, + 3793: 7584, 7586, 7587, + 3794: 7588, 7589, 7590, + 3795: 7588, 7590, 7591, + 3796: 7592, 7593, 7594, + 3797: 7592, 7594, 7595, + 3798: 7596, 7597, 7598, + 3799: 7596, 7598, 7599, + 3800: 7600, 7601, 7602, + 3801: 7600, 7602, 7603, + 3802: 7604, 7605, 7606, + 3803: 7604, 7606, 7607, + 3804: 7608, 7609, 7610, + 3805: 7608, 7610, 7611, + 3806: 7612, 7613, 7614, + 3807: 7612, 7614, 7615, + 3808: 7616, 7617, 7618, + 3809: 7616, 7618, 7619, + 3810: 7620, 7621, 7622, + 3811: 7620, 7622, 7623, + 3812: 7624, 7625, 7626, + 3813: 7624, 7626, 7627, + 3814: 7628, 7629, 7630, + 3815: 7628, 7630, 7631, + 3816: 7632, 7633, 7634, + 3817: 7632, 7634, 7635, + 3818: 7636, 7637, 7638, + 3819: 7636, 7638, 7639, + 3820: 7640, 7641, 7642, + 3821: 7640, 7642, 7643, + 3822: 7644, 7645, 7646, + 3823: 7644, 7646, 7647, + 3824: 7648, 7649, 7650, + 3825: 7648, 7650, 7651, + 3826: 7652, 7653, 7654, + 3827: 7652, 7654, 7655, + 3828: 7656, 7657, 7658, + 3829: 7656, 7658, 7659, + 3830: 7660, 7661, 7662, + 3831: 7660, 7662, 7663, + 3832: 7664, 7665, 7666, + 3833: 7664, 7666, 7667, + 3834: 7668, 7669, 7670, + 3835: 7668, 7670, 7671, + 3836: 7672, 7673, 7674, + 3837: 7672, 7674, 7675, + 3838: 7676, 7677, 7678, + 3839: 7676, 7678, 7679, + 3840: 7680, 7681, 7682, + 3841: 7680, 7682, 7683, + 3842: 7684, 7685, 7686, + 3843: 7684, 7686, 7687, + 3844: 7688, 7689, 7690, + 3845: 7688, 7690, 7691, + 3846: 7692, 7693, 7694, + 3847: 7692, 7694, 7695, + 3848: 7696, 7697, 7698, + 3849: 7696, 7698, 7699, + 3850: 7700, 7701, 7702, + 3851: 7700, 7702, 7703, + 3852: 7704, 7705, 7706, + 3853: 7704, 7706, 7707, + 3854: 7708, 7709, 7710, + 3855: 7708, 7710, 7711, + 3856: 7712, 7713, 7714, + 3857: 7712, 7714, 7715, + 3858: 7716, 7717, 7718, + 3859: 7716, 7718, 7719, + 3860: 7720, 7721, 7722, + 3861: 7720, 7722, 7723, + 3862: 7724, 7725, 7726, + 3863: 7724, 7726, 7727, + 3864: 7728, 7729, 7730, + 3865: 7728, 7730, 7731, + 3866: 7732, 7733, 7734, + 3867: 7732, 7734, 7735, + 3868: 7736, 7737, 7738, + 3869: 7736, 7738, 7739, + 3870: 7740, 7741, 7742, + 3871: 7740, 7742, 7743, + 3872: 7744, 7745, 7746, + 3873: 7744, 7746, 7747, + 3874: 7748, 7749, 7750, + 3875: 7748, 7750, 7751, + 3876: 7752, 7753, 7754, + 3877: 7752, 7754, 7755, + 3878: 7756, 7757, 7758, + 3879: 7756, 7758, 7759, + 3880: 7760, 7761, 7762, + 3881: 7760, 7762, 7763, + 3882: 7764, 7765, 7766, + 3883: 7764, 7766, 7767, + 3884: 7768, 7769, 7770, + 3885: 7768, 7770, 7771, + 3886: 7772, 7773, 7774, + 3887: 7772, 7774, 7775, + 3888: 7776, 7777, 7778, + 3889: 7776, 7778, 7779, + 3890: 7780, 7781, 7782, + 3891: 7780, 7782, 7783, + 3892: 7784, 7785, 7786, + 3893: 7784, 7786, 7787, + 3894: 7788, 7789, 7790, + 3895: 7788, 7790, 7791, + 3896: 7792, 7793, 7794, + 3897: 7792, 7794, 7795, + 3898: 7796, 7797, 7798, + 3899: 7796, 7798, 7799, + 3900: 7800, 7801, 7802, + 3901: 7800, 7802, 7803, + 3902: 7804, 7805, 7806, + 3903: 7804, 7806, 7807, + 3904: 7808, 7809, 7810, + 3905: 7808, 7810, 7811, + 3906: 7812, 7813, 7814, + 3907: 7812, 7814, 7815, + 3908: 7816, 7817, 7818, + 3909: 7816, 7818, 7819, + 3910: 7820, 7821, 7822, + 3911: 7820, 7822, 7823, + 3912: 7824, 7825, 7826, + 3913: 7824, 7826, 7827, + 3914: 7828, 7829, 7830, + 3915: 7828, 7830, 7831, + 3916: 7832, 7833, 7834, + 3917: 7832, 7834, 7835, + 3918: 7836, 7837, 7838, + 3919: 7836, 7838, 7839, + 3920: 7840, 7841, 7842, + 3921: 7840, 7842, 7843, + 3922: 7844, 7845, 7846, + 3923: 7844, 7846, 7847, + 3924: 7848, 7849, 7850, + 3925: 7848, 7850, 7851, + 3926: 7852, 7853, 7854, + 3927: 7852, 7854, 7855, + 3928: 7856, 7857, 7858, + 3929: 7856, 7858, 7859, + 3930: 7860, 7861, 7862, + 3931: 7860, 7862, 7863, + 3932: 7864, 7865, 7866, + 3933: 7864, 7866, 7867, + 3934: 7868, 7869, 7870, + 3935: 7868, 7870, 7871, + 3936: 7872, 7873, 7874, + 3937: 7872, 7874, 7875, + 3938: 7876, 7877, 7878, + 3939: 7876, 7878, 7879, + 3940: 7880, 7881, 7882, + 3941: 7880, 7882, 7883, + 3942: 7884, 7885, 7886, + 3943: 7884, 7886, 7887, + 3944: 7888, 7889, 7890, + 3945: 7888, 7890, 7891, + 3946: 7892, 7893, 7894, + 3947: 7892, 7894, 7895, + 3948: 7896, 7897, 7898, + 3949: 7896, 7898, 7899, + 3950: 7900, 7901, 7902, + 3951: 7900, 7902, 7903, + 3952: 7904, 7905, 7906, + 3953: 7904, 7906, 7907, + 3954: 7908, 7909, 7910, + 3955: 7908, 7910, 7911, + 3956: 7912, 7913, 7914, + 3957: 7912, 7914, 7915, + 3958: 7916, 7917, 7918, + 3959: 7916, 7918, 7919, + 3960: 7920, 7921, 7922, + 3961: 7920, 7922, 7923, + 3962: 7924, 7925, 7926, + 3963: 7924, 7926, 7927, + 3964: 7928, 7929, 7930, + 3965: 7928, 7930, 7931, + 3966: 7932, 7933, 7934, + 3967: 7932, 7934, 7935, + 3968: 7936, 7937, 7938, + 3969: 7936, 7938, 7939, + 3970: 7940, 7941, 7942, + 3971: 7940, 7942, 7943, + 3972: 7944, 7945, 7946, + 3973: 7944, 7946, 7947, + 3974: 7948, 7949, 7950, + 3975: 7948, 7950, 7951, + 3976: 7952, 7953, 7954, + 3977: 7952, 7954, 7955, + 3978: 7956, 7957, 7958, + 3979: 7956, 7958, 7959, + 3980: 7960, 7961, 7962, + 3981: 7960, 7962, 7963, + 3982: 7964, 7965, 7966, + 3983: 7964, 7966, 7967, + 3984: 7968, 7969, 7970, + 3985: 7968, 7970, 7971, + 3986: 7972, 7973, 7974, + 3987: 7972, 7974, 7975, + 3988: 7976, 7977, 7978, + 3989: 7976, 7978, 7979, + 3990: 7980, 7981, 7982, + 3991: 7980, 7982, 7983, + 3992: 7984, 7985, 7986, + 3993: 7984, 7986, 7987, + 3994: 7988, 7989, 7990, + 3995: 7988, 7990, 7991, + 3996: 7992, 7993, 7994, + 3997: 7992, 7994, 7995, + 3998: 7996, 7997, 7998, + 3999: 7996, 7998, 7999, + 4000: 8000, 8001, 8002, + 4001: 8000, 8002, 8003, + 4002: 8004, 8005, 8006, + 4003: 8004, 8006, 8007, + 4004: 8008, 8009, 8010, + 4005: 8008, 8010, 8011, + 4006: 8012, 8013, 8014, + 4007: 8012, 8014, 8015, + 4008: 8016, 8017, 8018, + 4009: 8016, 8018, 8019, + 4010: 8020, 8021, 8022, + 4011: 8020, 8022, 8023, + 4012: 8024, 8025, 8026, + 4013: 8024, 8026, 8027, + 4014: 8028, 8029, 8030, + 4015: 8028, 8030, 8031, + 4016: 8032, 8033, 8034, + 4017: 8032, 8034, 8035, + 4018: 8036, 8037, 8038, + 4019: 8036, 8038, 8039, + 4020: 8040, 8041, 8042, + 4021: 8040, 8042, 8043, + 4022: 8044, 8045, 8046, + 4023: 8044, 8046, 8047, + 4024: 8048, 8049, 8050, + 4025: 8048, 8050, 8051, + 4026: 8052, 8053, 8054, + 4027: 8052, 8054, 8055, + 4028: 8056, 8057, 8058, + 4029: 8056, 8058, 8059, + 4030: 8060, 8061, 8062, + 4031: 8060, 8062, 8063, + 4032: 8064, 8065, 8066, + 4033: 8064, 8066, 8067, + 4034: 8068, 8069, 8070, + 4035: 8068, 8070, 8071, + 4036: 8072, 8073, 8074, + 4037: 8072, 8074, 8075, + 4038: 8076, 8077, 8078, + 4039: 8076, 8078, 8079, + 4040: 8080, 8081, 8082, + 4041: 8080, 8082, 8083, + 4042: 8084, 8085, 8086, + 4043: 8084, 8086, 8087, + 4044: 8088, 8089, 8090, + 4045: 8088, 8090, 8091, + 4046: 8092, 8093, 8094, + 4047: 8092, 8094, 8095, + 4048: 8096, 8097, 8098, + 4049: 8096, 8098, 8099, + 4050: 8100, 8101, 8102, + 4051: 8100, 8102, 8103, + 4052: 8104, 8105, 8106, + 4053: 8104, 8106, 8107, + 4054: 8108, 8109, 8110, + 4055: 8108, 8110, 8111, + 4056: 8112, 8113, 8114, + 4057: 8112, 8114, 8115, + 4058: 8116, 8117, 8118, + 4059: 8116, 8118, 8119, + 4060: 8120, 8121, 8122, + 4061: 8120, 8122, 8123, + 4062: 8124, 8125, 8126, + 4063: 8124, 8126, 8127, + 4064: 8128, 8129, 8130, + 4065: 8128, 8130, 8131, + 4066: 8132, 8133, 8134, + 4067: 8132, 8134, 8135, + 4068: 8136, 8137, 8138, + 4069: 8136, 8138, 8139, + 4070: 8140, 8141, 8142, + 4071: 8140, 8142, 8143, + 4072: 8144, 8145, 8146, + 4073: 8144, 8146, 8147, + 4074: 8148, 8149, 8150, + 4075: 8148, 8150, 8151, + 4076: 8152, 8153, 8154, + 4077: 8152, 8154, 8155, + 4078: 8156, 8157, 8158, + 4079: 8156, 8158, 8159, + 4080: 8160, 8161, 8162, + 4081: 8160, 8162, 8163, + 4082: 8164, 8165, 8166, + 4083: 8164, 8166, 8167, + 4084: 8168, 8169, 8170, + 4085: 8168, 8170, 8171, + 4086: 8172, 8173, 8174, + 4087: 8172, 8174, 8175, + 4088: 8176, 8177, 8178, + 4089: 8176, 8178, 8179, + 4090: 8180, 8181, 8182, + 4091: 8180, 8182, 8183, + 4092: 8184, 8185, 8186, + 4093: 8184, 8186, 8187, + 4094: 8188, 8189, 8190, + 4095: 8188, 8190, 8191, + 4096: 8192, 8193, 8194, + 4097: 8192, 8194, 8195, + 4098: 8196, 8197, 8198, + 4099: 8196, 8198, 8199, + 4100: 8200, 8201, 8202, + 4101: 8200, 8202, 8203, + 4102: 8204, 8205, 8206, + 4103: 8204, 8206, 8207, + 4104: 8208, 8209, 8210, + 4105: 8208, 8210, 8211, + 4106: 8212, 8213, 8214, + 4107: 8212, 8214, 8215, + 4108: 8216, 8217, 8218, + 4109: 8216, 8218, 8219, + 4110: 8220, 8221, 8222, + 4111: 8220, 8222, 8223, + 4112: 8224, 8225, 8226, + 4113: 8224, 8226, 8227, + 4114: 8228, 8229, 8230, + 4115: 8228, 8230, 8231, + 4116: 8232, 8233, 8234, + 4117: 8232, 8234, 8235, + 4118: 8236, 8237, 8238, + 4119: 8236, 8238, 8239, + 4120: 8240, 8241, 8242, + 4121: 8240, 8242, 8243, + 4122: 8244, 8245, 8246, + 4123: 8244, 8246, 8247, + 4124: 8248, 8249, 8250, + 4125: 8248, 8250, 8251, + 4126: 8252, 8253, 8254, + 4127: 8252, 8254, 8255, + 4128: 8256, 8257, 8258, + 4129: 8256, 8258, 8259, + 4130: 8260, 8261, 8262, + 4131: 8260, 8262, 8263, + 4132: 8264, 8265, 8266, + 4133: 8264, 8266, 8267, + 4134: 8268, 8269, 8270, + 4135: 8268, 8270, 8271, + 4136: 8272, 8273, 8274, + 4137: 8272, 8274, 8275, + 4138: 8276, 8277, 8278, + 4139: 8276, 8278, 8279, + 4140: 8280, 8281, 8282, + 4141: 8280, 8282, 8283, + 4142: 8284, 8285, 8286, + 4143: 8284, 8286, 8287, + 4144: 8288, 8289, 8290, + 4145: 8288, 8290, 8291, + 4146: 8292, 8293, 8294, + 4147: 8292, 8294, 8295, + 4148: 8296, 8297, 8298, + 4149: 8296, 8298, 8299, + 4150: 8300, 8301, 8302, + 4151: 8300, 8302, 8303, + 4152: 8304, 8305, 8306, + 4153: 8304, 8306, 8307, + 4154: 8308, 8309, 8310, + 4155: 8308, 8310, 8311, + 4156: 8312, 8313, 8314, + 4157: 8312, 8314, 8315, + 4158: 8316, 8317, 8318, + 4159: 8316, 8318, 8319, + 4160: 8320, 8321, 8322, + 4161: 8320, 8322, 8323, + 4162: 8324, 8325, 8326, + 4163: 8324, 8326, 8327, + 4164: 8328, 8329, 8330, + 4165: 8328, 8330, 8331, + 4166: 8332, 8333, 8334, + 4167: 8332, 8334, 8335, + 4168: 8336, 8337, 8338, + 4169: 8336, 8338, 8339, + 4170: 8340, 8341, 8342, + 4171: 8340, 8342, 8343, + 4172: 8344, 8345, 8346, + 4173: 8344, 8346, 8347, + 4174: 8348, 8349, 8350, + 4175: 8348, 8350, 8351, + 4176: 8352, 8353, 8354, + 4177: 8352, 8354, 8355, + 4178: 8356, 8357, 8358, + 4179: 8356, 8358, 8359, + 4180: 8360, 8361, 8362, + 4181: 8360, 8362, 8363, + 4182: 8364, 8365, 8366, + 4183: 8364, 8366, 8367, + 4184: 8368, 8369, 8370, + 4185: 8368, 8370, 8371, + 4186: 8372, 8373, 8374, + 4187: 8372, 8374, 8375, + 4188: 8376, 8377, 8378, + 4189: 8376, 8378, 8379, + 4190: 8380, 8381, 8382, + 4191: 8380, 8382, 8383, + 4192: 8384, 8385, 8386, + 4193: 8384, 8386, 8387, + 4194: 8388, 8389, 8390, + 4195: 8388, 8390, 8391, + 4196: 8392, 8393, 8394, + 4197: 8392, 8394, 8395, + 4198: 8396, 8397, 8398, + 4199: 8396, 8398, 8399, + 4200: 8400, 8401, 8402, + 4201: 8400, 8402, 8403, + 4202: 8404, 8405, 8406, + 4203: 8404, 8406, 8407, + 4204: 8408, 8409, 8410, + 4205: 8408, 8410, 8411, + 4206: 8412, 8413, 8414, + 4207: 8412, 8414, 8415, + 4208: 8416, 8417, 8418, + 4209: 8416, 8418, 8419, + 4210: 8420, 8421, 8422, + 4211: 8420, 8422, 8423, + 4212: 8424, 8425, 8426, + 4213: 8424, 8426, 8427, + 4214: 8428, 8429, 8430, + 4215: 8428, 8430, 8431, + 4216: 8432, 8433, 8434, + 4217: 8432, 8434, 8435, + 4218: 8436, 8437, 8438, + 4219: 8436, 8438, 8439, + 4220: 8440, 8441, 8442, + 4221: 8440, 8442, 8443, + 4222: 8444, 8445, 8446, + 4223: 8444, 8446, 8447, + 4224: 8448, 8449, 8450, + 4225: 8448, 8450, 8451, + 4226: 8452, 8453, 8454, + 4227: 8452, 8454, 8455, + 4228: 8456, 8457, 8458, + 4229: 8456, 8458, 8459, + 4230: 8460, 8461, 8462, + 4231: 8460, 8462, 8463, + 4232: 8464, 8465, 8466, + 4233: 8464, 8466, 8467, + 4234: 8468, 8469, 8470, + 4235: 8468, 8470, 8471, + 4236: 8472, 8473, 8474, + 4237: 8472, 8474, 8475, + 4238: 8476, 8477, 8478, + 4239: 8476, 8478, 8479, + 4240: 8480, 8481, 8482, + 4241: 8480, 8482, 8483, + 4242: 8484, 8485, 8486, + 4243: 8484, 8486, 8487, + 4244: 8488, 8489, 8490, + 4245: 8488, 8490, 8491, + 4246: 8492, 8493, 8494, + 4247: 8492, 8494, 8495, + 4248: 8496, 8497, 8498, + 4249: 8496, 8498, 8499, + 4250: 8500, 8501, 8502, + 4251: 8500, 8502, 8503, + 4252: 8504, 8505, 8506, + 4253: 8504, 8506, 8507, + 4254: 8508, 8509, 8510, + 4255: 8508, 8510, 8511, + 4256: 8512, 8513, 8514, + 4257: 8512, 8514, 8515, + 4258: 8516, 8517, 8518, + 4259: 8516, 8518, 8519, + 4260: 8520, 8521, 8522, + 4261: 8520, 8522, 8523, + 4262: 8524, 8525, 8526, + 4263: 8524, 8526, 8527, + 4264: 8528, 8529, 8530, + 4265: 8528, 8530, 8531, + 4266: 8532, 8533, 8534, + 4267: 8532, 8534, 8535, + 4268: 8536, 8537, 8538, + 4269: 8536, 8538, 8539, + 4270: 8540, 8541, 8542, + 4271: 8540, 8542, 8543, + 4272: 8544, 8545, 8546, + 4273: 8544, 8546, 8547, + 4274: 8548, 8549, 8550, + 4275: 8548, 8550, 8551, + 4276: 8552, 8553, 8554, + 4277: 8552, 8554, 8555, + 4278: 8556, 8557, 8558, + 4279: 8556, 8558, 8559, + 4280: 8560, 8561, 8562, + 4281: 8560, 8562, 8563, + 4282: 8564, 8565, 8566, + 4283: 8564, 8566, 8567, + 4284: 8568, 8569, 8570, + 4285: 8568, 8570, 8571, + 4286: 8572, 8573, 8574, + 4287: 8572, 8574, 8575, + 4288: 8576, 8577, 8578, + 4289: 8576, 8578, 8579, + 4290: 8580, 8581, 8582, + 4291: 8580, 8582, 8583, + 4292: 8584, 8585, 8586, + 4293: 8584, 8586, 8587, + 4294: 8588, 8589, 8590, + 4295: 8588, 8590, 8591, + 4296: 8592, 8593, 8594, + 4297: 8592, 8594, 8595, + 4298: 8596, 8597, 8598, + 4299: 8596, 8598, 8599, + 4300: 8600, 8601, 8602, + 4301: 8600, 8602, 8603, + 4302: 8604, 8605, 8606, + 4303: 8604, 8606, 8607, + 4304: 8608, 8609, 8610, + 4305: 8608, 8610, 8611, + 4306: 8612, 8613, 8614, + 4307: 8612, 8614, 8615, + 4308: 8616, 8617, 8618, + 4309: 8616, 8618, 8619, + 4310: 8620, 8621, 8622, + 4311: 8620, 8622, 8623, + 4312: 8624, 8625, 8626, + 4313: 8624, 8626, 8627, + 4314: 8628, 8629, 8630, + 4315: 8628, 8630, 8631, + 4316: 8632, 8633, 8634, + 4317: 8632, 8634, 8635, + 4318: 8636, 8637, 8638, + 4319: 8636, 8638, 8639, + 4320: 8640, 8641, 8642, + 4321: 8640, 8642, 8643, + 4322: 8644, 8645, 8646, + 4323: 8644, 8646, 8647, + 4324: 8648, 8649, 8650, + 4325: 8648, 8650, 8651, + 4326: 8652, 8653, 8654, + 4327: 8652, 8654, 8655, + 4328: 8656, 8657, 8658, + 4329: 8656, 8658, 8659, + 4330: 8660, 8661, 8662, + 4331: 8660, 8662, 8663, + 4332: 8664, 8665, 8666, + 4333: 8664, 8666, 8667, + 4334: 8668, 8669, 8670, + 4335: 8668, 8670, 8671, + 4336: 8672, 8673, 8674, + 4337: 8672, 8674, 8675, + 4338: 8676, 8677, 8678, + 4339: 8676, 8678, 8679, + 4340: 8680, 8681, 8682, + 4341: 8680, 8682, 8683, + 4342: 8684, 8685, 8686, + 4343: 8684, 8686, 8687, + 4344: 8688, 8689, 8690, + 4345: 8688, 8690, 8691, + 4346: 8692, 8693, 8694, + 4347: 8692, 8694, 8695, + 4348: 8696, 8697, 8698, + 4349: 8696, 8698, 8699, + 4350: 8700, 8701, 8702, + 4351: 8700, 8702, 8703, + 4352: 8704, 8705, 8706, + 4353: 8704, 8706, 8707, + 4354: 8708, 8709, 8710, + 4355: 8708, 8710, 8711, + 4356: 8712, 8713, 8714, + 4357: 8712, 8714, 8715, + 4358: 8716, 8717, 8718, + 4359: 8716, 8718, 8719, + 4360: 8720, 8721, 8722, + 4361: 8720, 8722, 8723, + 4362: 8724, 8725, 8726, + 4363: 8724, 8726, 8727, + 4364: 8728, 8729, 8730, + 4365: 8728, 8730, 8731, + 4366: 8732, 8733, 8734, + 4367: 8732, 8734, 8735, + 4368: 8736, 8737, 8738, + 4369: 8736, 8738, 8739, + 4370: 8740, 8741, 8742, + 4371: 8740, 8742, 8743, + 4372: 8744, 8745, 8746, + 4373: 8744, 8746, 8747, + 4374: 8748, 8749, 8750, + 4375: 8748, 8750, 8751, + 4376: 8752, 8753, 8754, + 4377: 8752, 8754, 8755, + 4378: 8756, 8757, 8758, + 4379: 8756, 8758, 8759, + 4380: 8760, 8761, 8762, + 4381: 8760, 8762, 8763, + 4382: 8764, 8765, 8766, + 4383: 8764, 8766, 8767, + 4384: 8768, 8769, 8770, + 4385: 8768, 8770, 8771, + 4386: 8772, 8773, 8774, + 4387: 8772, 8774, 8775, + 4388: 8776, 8777, 8778, + 4389: 8776, 8778, 8779, + 4390: 8780, 8781, 8782, + 4391: 8780, 8782, 8783, + 4392: 8784, 8785, 8786, + 4393: 8784, 8786, 8787, + 4394: 8788, 8789, 8790, + 4395: 8788, 8790, 8791, + 4396: 8792, 8793, 8794, + 4397: 8792, 8794, 8795, + 4398: 8796, 8797, 8798, + 4399: 8796, 8798, 8799, + 4400: 8800, 8801, 8802, + 4401: 8800, 8802, 8803, + 4402: 8804, 8805, 8806, + 4403: 8804, 8806, 8807, + 4404: 8808, 8809, 8810, + 4405: 8808, 8810, 8811, + 4406: 8812, 8813, 8814, + 4407: 8812, 8814, 8815, + 4408: 8816, 8817, 8818, + 4409: 8816, 8818, 8819, + 4410: 8820, 8821, 8822, + 4411: 8820, 8822, 8823, + 4412: 8824, 8825, 8826, + 4413: 8824, 8826, 8827, + 4414: 8828, 8829, 8830, + 4415: 8828, 8830, 8831, + 4416: 8832, 8833, 8834, + 4417: 8832, 8834, 8835, + 4418: 8836, 8837, 8838, + 4419: 8836, 8838, 8839, + 4420: 8840, 8841, 8842, + 4421: 8840, 8842, 8843, + 4422: 8844, 8845, 8846, + 4423: 8844, 8846, 8847, + 4424: 8848, 8849, 8850, + 4425: 8848, 8850, 8851, + 4426: 8852, 8853, 8854, + 4427: 8852, 8854, 8855, + 4428: 8856, 8857, 8858, + 4429: 8856, 8858, 8859, + 4430: 8860, 8861, 8862, + 4431: 8860, 8862, 8863, + 4432: 8864, 8865, 8866, + 4433: 8864, 8866, 8867, + 4434: 8868, 8869, 8870, + 4435: 8868, 8870, 8871, + 4436: 8872, 8873, 8874, + 4437: 8872, 8874, 8875, + 4438: 8876, 8877, 8878, + 4439: 8876, 8878, 8879, + 4440: 8880, 8881, 8882, + 4441: 8880, 8882, 8883, + 4442: 8884, 8885, 8886, + 4443: 8884, 8886, 8887, + 4444: 8888, 8889, 8890, + 4445: 8888, 8890, 8891, + 4446: 8892, 8893, 8894, + 4447: 8892, 8894, 8895, + 4448: 8896, 8897, 8898, + 4449: 8896, 8898, 8899, + 4450: 8900, 8901, 8902, + 4451: 8900, 8902, 8903, + 4452: 8904, 8905, 8906, + 4453: 8904, 8906, 8907, + 4454: 8908, 8909, 8910, + 4455: 8908, 8910, 8911, + 4456: 8912, 8913, 8914, + 4457: 8912, 8914, 8915, + 4458: 8916, 8917, 8918, + 4459: 8916, 8918, 8919, + 4460: 8920, 8921, 8922, + 4461: 8920, 8922, 8923, + 4462: 8924, 8925, 8926, + 4463: 8924, 8926, 8927, + 4464: 8928, 8929, 8930, + 4465: 8928, 8930, 8931, + 4466: 8932, 8933, 8934, + 4467: 8932, 8934, 8935, + 4468: 8936, 8937, 8938, + 4469: 8936, 8938, 8939, + 4470: 8940, 8941, 8942, + 4471: 8940, 8942, 8943, + 4472: 8944, 8945, 8946, + 4473: 8944, 8946, 8947, + 4474: 8948, 8949, 8950, + 4475: 8948, 8950, 8951, + 4476: 8952, 8953, 8954, + 4477: 8952, 8954, 8955, + 4478: 8956, 8957, 8958, + 4479: 8956, 8958, 8959, + 4480: 8960, 8961, 8962, + 4481: 8960, 8962, 8963, + 4482: 8964, 8965, 8966, + 4483: 8964, 8966, 8967, + 4484: 8968, 8969, 8970, + 4485: 8968, 8970, 8971, + 4486: 8972, 8973, 8974, + 4487: 8972, 8974, 8975, + 4488: 8976, 8977, 8978, + 4489: 8976, 8978, 8979, + 4490: 8980, 8981, 8982, + 4491: 8980, 8982, 8983, + 4492: 8984, 8985, 8986, + 4493: 8984, 8986, 8987, + 4494: 8988, 8989, 8990, + 4495: 8988, 8990, 8991, + 4496: 8992, 8993, 8994, + 4497: 8992, 8994, 8995, + 4498: 8996, 8997, 8998, + 4499: 8996, 8998, 8999, + 4500: 9000, 9001, 9002, + 4501: 9000, 9002, 9003, + 4502: 9004, 9005, 9006, + 4503: 9004, 9006, 9007, + 4504: 9008, 9009, 9010, + 4505: 9008, 9010, 9011, + 4506: 9012, 9013, 9014, + 4507: 9012, 9014, 9015, + 4508: 9016, 9017, 9018, + 4509: 9016, 9018, 9019, + 4510: 9020, 9021, 9022, + 4511: 9020, 9022, 9023, + 4512: 9024, 9025, 9026, + 4513: 9024, 9026, 9027, + 4514: 9028, 9029, 9030, + 4515: 9028, 9030, 9031, + 4516: 9032, 9033, 9034, + 4517: 9032, 9034, 9035, + 4518: 9036, 9037, 9038, + 4519: 9036, 9038, 9039, + 4520: 9040, 9041, 9042, + 4521: 9040, 9042, 9043, + 4522: 9044, 9045, 9046, + 4523: 9044, 9046, 9047, + 4524: 9048, 9049, 9050, + 4525: 9048, 9050, 9051, + 4526: 9052, 9053, 9054, + 4527: 9052, 9054, 9055, + 4528: 9056, 9057, 9058, + 4529: 9056, 9058, 9059, + 4530: 9060, 9061, 9062, + 4531: 9060, 9062, 9063, + 4532: 9064, 9065, 9066, + 4533: 9064, 9066, 9067, + 4534: 9068, 9069, 9070, + 4535: 9068, 9070, 9071, + 4536: 9072, 9073, 9074, + 4537: 9072, 9074, 9075, + 4538: 9076, 9077, 9078, + 4539: 9076, 9078, 9079, + 4540: 9080, 9081, 9082, + 4541: 9080, 9082, 9083, + 4542: 9084, 9085, 9086, + 4543: 9084, 9086, 9087, + 4544: 9088, 9089, 9090, + 4545: 9088, 9090, 9091, + 4546: 9092, 9093, 9094, + 4547: 9092, 9094, 9095, + 4548: 9096, 9097, 9098, + 4549: 9096, 9098, 9099, + 4550: 9100, 9101, 9102, + 4551: 9100, 9102, 9103, + 4552: 9104, 9105, 9106, + 4553: 9104, 9106, 9107, + 4554: 9108, 9109, 9110, + 4555: 9108, 9110, 9111, + 4556: 9112, 9113, 9114, + 4557: 9112, 9114, 9115, + 4558: 9116, 9117, 9118, + 4559: 9116, 9118, 9119, + 4560: 9120, 9121, 9122, + 4561: 9120, 9122, 9123, + 4562: 9124, 9125, 9126, + 4563: 9124, 9126, 9127, + 4564: 9128, 9129, 9130, + 4565: 9128, 9130, 9131, + 4566: 9132, 9133, 9134, + 4567: 9132, 9134, 9135, + 4568: 9136, 9137, 9138, + 4569: 9136, 9138, 9139, + 4570: 9140, 9141, 9142, + 4571: 9140, 9142, 9143, + 4572: 9144, 9145, 9146, + 4573: 9144, 9146, 9147, + 4574: 9148, 9149, 9150, + 4575: 9148, 9150, 9151, + 4576: 9152, 9153, 9154, + 4577: 9152, 9154, 9155, + 4578: 9156, 9157, 9158, + 4579: 9156, 9158, 9159, + 4580: 9160, 9161, 9162, + 4581: 9160, 9162, 9163, + 4582: 9164, 9165, 9166, + 4583: 9164, 9166, 9167, + 4584: 9168, 9169, 9170, + 4585: 9168, 9170, 9171, + 4586: 9172, 9173, 9174, + 4587: 9172, 9174, 9175, + 4588: 9176, 9177, 9178, + 4589: 9176, 9178, 9179, + 4590: 9180, 9181, 9182, + 4591: 9180, 9182, 9183, + 4592: 9184, 9185, 9186, + 4593: 9184, 9186, 9187, + 4594: 9188, 9189, 9190, + 4595: 9188, 9190, 9191, + 4596: 9192, 9193, 9194, + 4597: 9192, 9194, 9195, + 4598: 9196, 9197, 9198, + 4599: 9196, 9198, 9199, + 4600: 9200, 9201, 9202, + 4601: 9200, 9202, 9203, + 4602: 9204, 9205, 9206, + 4603: 9204, 9206, 9207, + 4604: 9208, 9209, 9210, + 4605: 9208, 9210, 9211, + 4606: 9212, 9213, 9214, + 4607: 9212, 9214, 9215, + 4608: 9216, 9217, 9218, + 4609: 9216, 9218, 9219, + 4610: 9220, 9221, 9222, + 4611: 9220, 9222, 9223, + 4612: 9224, 9225, 9226, + 4613: 9224, 9226, 9227, + 4614: 9228, 9229, 9230, + 4615: 9228, 9230, 9231, + 4616: 9232, 9233, 9234, + 4617: 9232, 9234, 9235, + 4618: 9236, 9237, 9238, + 4619: 9236, 9238, 9239, + 4620: 9240, 9241, 9242, + 4621: 9240, 9242, 9243, + 4622: 9244, 9245, 9246, + 4623: 9244, 9246, 9247, + 4624: 9248, 9249, 9250, + 4625: 9248, 9250, 9251, + 4626: 9252, 9253, 9254, + 4627: 9252, 9254, 9255, + 4628: 9256, 9257, 9258, + 4629: 9256, 9258, 9259, + 4630: 9260, 9261, 9262, + 4631: 9260, 9262, 9263, + 4632: 9264, 9265, 9266, + 4633: 9264, 9266, 9267, + 4634: 9268, 9269, 9270, + 4635: 9268, 9270, 9271, + 4636: 9272, 9273, 9274, + 4637: 9272, 9274, 9275, + 4638: 9276, 9277, 9278, + 4639: 9276, 9278, 9279, + 4640: 9280, 9281, 9282, + 4641: 9280, 9282, 9283, + 4642: 9284, 9285, 9286, + 4643: 9284, 9286, 9287, + 4644: 9288, 9289, 9290, + 4645: 9288, 9290, 9291, + 4646: 9292, 9293, 9294, + 4647: 9292, 9294, 9295, + 4648: 9296, 9297, 9298, + 4649: 9296, 9298, 9299, + 4650: 9300, 9301, 9302, + 4651: 9300, 9302, 9303, + 4652: 9304, 9305, 9306, + 4653: 9304, 9306, 9307, + 4654: 9308, 9309, 9310, + 4655: 9308, 9310, 9311, + 4656: 9312, 9313, 9314, + 4657: 9312, 9314, 9315, + 4658: 9316, 9317, 9318, + 4659: 9316, 9318, 9319, + 4660: 9320, 9321, 9322, + 4661: 9320, 9322, 9323, + 4662: 9324, 9325, 9326, + 4663: 9324, 9326, 9327, + 4664: 9328, 9329, 9330, + 4665: 9328, 9330, 9331, + 4666: 9332, 9333, 9334, + 4667: 9332, 9334, 9335, + 4668: 9336, 9337, 9338, + 4669: 9336, 9338, 9339, + 4670: 9340, 9341, 9342, + 4671: 9340, 9342, 9343, + 4672: 9344, 9345, 9346, + 4673: 9344, 9346, 9347, + 4674: 9348, 9349, 9350, + 4675: 9348, 9350, 9351, + 4676: 9352, 9353, 9354, + 4677: 9352, 9354, 9355, + 4678: 9356, 9357, 9358, + 4679: 9356, 9358, 9359, + 4680: 9360, 9361, 9362, + 4681: 9360, 9362, 9363, + 4682: 9364, 9365, 9366, + 4683: 9364, 9366, 9367, + 4684: 9368, 9369, 9370, + 4685: 9368, 9370, 9371, + 4686: 9372, 9373, 9374, + 4687: 9372, 9374, 9375, + 4688: 9376, 9377, 9378, + 4689: 9376, 9378, 9379, + 4690: 9380, 9381, 9382, + 4691: 9380, 9382, 9383, + 4692: 9384, 9385, 9386, + 4693: 9384, 9386, 9387, + 4694: 9388, 9389, 9390, + 4695: 9388, 9390, 9391, + 4696: 9392, 9393, 9394, + 4697: 9392, 9394, 9395, + 4698: 9396, 9397, 9398, + 4699: 9396, 9398, 9399, + 4700: 9400, 9401, 9402, + 4701: 9400, 9402, 9403, + 4702: 9404, 9405, 9406, + 4703: 9404, 9406, 9407, + 4704: 9408, 9409, 9410, + 4705: 9408, 9410, 9411, + 4706: 9412, 9413, 9414, + 4707: 9412, 9414, 9415, + 4708: 9416, 9417, 9418, + 4709: 9416, 9418, 9419, + 4710: 9420, 9421, 9422, + 4711: 9420, 9422, 9423, + 4712: 9424, 9425, 9426, + 4713: 9424, 9426, 9427, + 4714: 9428, 9429, 9430, + 4715: 9428, 9430, 9431, + 4716: 9432, 9433, 9434, + 4717: 9432, 9434, 9435, + 4718: 9436, 9437, 9438, + 4719: 9436, 9438, 9439, + 4720: 9440, 9441, 9442, + 4721: 9440, 9442, 9443, + 4722: 9444, 9445, 9446, + 4723: 9444, 9446, 9447, + 4724: 9448, 9449, 9450, + 4725: 9448, 9450, 9451, + 4726: 9452, 9453, 9454, + 4727: 9452, 9454, 9455, + 4728: 9456, 9457, 9458, + 4729: 9456, 9458, 9459, + 4730: 9460, 9461, 9462, + 4731: 9460, 9462, 9463, + 4732: 9464, 9465, 9466, + 4733: 9464, 9466, 9467, + 4734: 9468, 9469, 9470, + 4735: 9468, 9470, 9471, + 4736: 9472, 9473, 9474, + 4737: 9472, 9474, 9475, + 4738: 9476, 9477, 9478, + 4739: 9476, 9478, 9479, + 4740: 9480, 9481, 9482, + 4741: 9480, 9482, 9483, + 4742: 9484, 9485, 9486, + 4743: 9484, 9486, 9487, + 4744: 9488, 9489, 9490, + 4745: 9488, 9490, 9491, + 4746: 9492, 9493, 9494, + 4747: 9492, 9494, 9495, + 4748: 9496, 9497, 9498, + 4749: 9496, 9498, 9499, + 4750: 9500, 9501, 9502, + 4751: 9500, 9502, 9503, + 4752: 9504, 9505, 9506, + 4753: 9504, 9506, 9507, + 4754: 9508, 9509, 9510, + 4755: 9508, 9510, 9511, + 4756: 9512, 9513, 9514, + 4757: 9512, 9514, 9515, + 4758: 9516, 9517, 9518, + 4759: 9516, 9518, 9519, + 4760: 9520, 9521, 9522, + 4761: 9520, 9522, 9523, + 4762: 9524, 9525, 9526, + 4763: 9524, 9526, 9527, + 4764: 9528, 9529, 9530, + 4765: 9528, 9530, 9531, + 4766: 9532, 9533, 9534, + 4767: 9532, 9534, 9535, + 4768: 9536, 9537, 9538, + 4769: 9536, 9538, 9539, + 4770: 9540, 9541, 9542, + 4771: 9540, 9542, 9543, + 4772: 9544, 9545, 9546, + 4773: 9544, 9546, 9547, + 4774: 9548, 9549, 9550, + 4775: 9548, 9550, 9551, + 4776: 9552, 9553, 9554, + 4777: 9552, 9554, 9555, + 4778: 9556, 9557, 9558, + 4779: 9556, 9558, 9559, + 4780: 9560, 9561, 9562, + 4781: 9560, 9562, 9563, + 4782: 9564, 9565, 9566, + 4783: 9564, 9566, 9567, + 4784: 9568, 9569, 9570, + 4785: 9568, 9570, 9571, + 4786: 9572, 9573, 9574, + 4787: 9572, 9574, 9575, + 4788: 9576, 9577, 9578, + 4789: 9576, 9578, 9579, + 4790: 9580, 9581, 9582, + 4791: 9580, 9582, 9583, + 4792: 9584, 9585, 9586, + 4793: 9584, 9586, 9587, + 4794: 9588, 9589, 9590, + 4795: 9588, 9590, 9591, + 4796: 9592, 9593, 9594, + 4797: 9592, 9594, 9595, + 4798: 9596, 9597, 9598, + 4799: 9596, 9598, 9599, + 4800: 9600, 9601, 9602, + 4801: 9600, 9602, 9603, + 4802: 9604, 9605, 9606, + 4803: 9604, 9606, 9607, + 4804: 9608, 9609, 9610, + 4805: 9608, 9610, 9611, + 4806: 9612, 9613, 9614, + 4807: 9612, 9614, 9615, + 4808: 9616, 9617, 9618, + 4809: 9616, 9618, 9619, + 4810: 9620, 9621, 9622, + 4811: 9620, 9622, 9623, + 4812: 9624, 9625, 9626, + 4813: 9624, 9626, 9627, + 4814: 9628, 9629, 9630, + 4815: 9628, 9630, 9631, + 4816: 9632, 9633, 9634, + 4817: 9632, 9634, 9635, + 4818: 9636, 9637, 9638, + 4819: 9636, 9638, 9639, + 4820: 9640, 9641, 9642, + 4821: 9640, 9642, 9643, + 4822: 9644, 9645, 9646, + 4823: 9644, 9646, 9647, + 4824: 9648, 9649, 9650, + 4825: 9648, 9650, 9651, + 4826: 9652, 9653, 9654, + 4827: 9652, 9654, 9655, + 4828: 9656, 9657, 9658, + 4829: 9656, 9658, 9659, + 4830: 9660, 9661, 9662, + 4831: 9660, 9662, 9663, + 4832: 9664, 9665, 9666, + 4833: 9664, 9666, 9667, + 4834: 9668, 9669, 9670, + 4835: 9668, 9670, 9671, + 4836: 9672, 9673, 9674, + 4837: 9672, 9674, 9675, + 4838: 9676, 9677, 9678, + 4839: 9676, 9678, 9679, + 4840: 9680, 9681, 9682, + 4841: 9680, 9682, 9683, + 4842: 9684, 9685, 9686, + 4843: 9684, 9686, 9687, + 4844: 9688, 9689, 9690, + 4845: 9688, 9690, 9691, + 4846: 9692, 9693, 9694, + 4847: 9692, 9694, 9695, + 4848: 9696, 9697, 9698, + 4849: 9696, 9698, 9699, + 4850: 9700, 9701, 9702, + 4851: 9700, 9702, 9703, + 4852: 9704, 9705, 9706, + 4853: 9704, 9706, 9707, + 4854: 9708, 9709, 9710, + 4855: 9708, 9710, 9711, + 4856: 9712, 9713, 9714, + 4857: 9712, 9714, 9715, + 4858: 9716, 9717, 9718, + 4859: 9716, 9718, 9719, + 4860: 9720, 9721, 9722, + 4861: 9720, 9722, 9723, + 4862: 9724, 9725, 9726, + 4863: 9724, 9726, 9727, + 4864: 9728, 9729, 9730, + 4865: 9728, 9730, 9731, + 4866: 9732, 9733, 9734, + 4867: 9732, 9734, 9735, + 4868: 9736, 9737, 9738, + 4869: 9736, 9738, 9739, + 4870: 9740, 9741, 9742, + 4871: 9740, 9742, 9743, + 4872: 9744, 9745, 9746, + 4873: 9744, 9746, 9747, + 4874: 9748, 9749, 9750, + 4875: 9748, 9750, 9751, + 4876: 9752, 9753, 9754, + 4877: 9752, 9754, 9755, + 4878: 9756, 9757, 9758, + 4879: 9756, 9758, 9759, + 4880: 9760, 9761, 9762, + 4881: 9760, 9762, 9763, + 4882: 9764, 9765, 9766, + 4883: 9764, 9766, 9767, + 4884: 9768, 9769, 9770, + 4885: 9768, 9770, 9771, + 4886: 9772, 9773, 9774, + 4887: 9772, 9774, 9775, + 4888: 9776, 9777, 9778, + 4889: 9776, 9778, 9779, + 4890: 9780, 9781, 9782, + 4891: 9780, 9782, 9783, + 4892: 9784, 9785, 9786, + 4893: 9784, 9786, 9787, + 4894: 9788, 9789, 9790, + 4895: 9788, 9790, 9791, + 4896: 9792, 9793, 9794, + 4897: 9792, 9794, 9795, + 4898: 9796, 9797, 9798, + 4899: 9796, 9798, 9799, + 4900: 9800, 9801, 9802, + 4901: 9800, 9802, 9803, + 4902: 9804, 9805, 9806, + 4903: 9804, 9806, 9807, + 4904: 9808, 9809, 9810, + 4905: 9808, 9810, 9811, + 4906: 9812, 9813, 9814, + 4907: 9812, 9814, 9815, + 4908: 9816, 9817, 9818, + 4909: 9816, 9818, 9819, + 4910: 9820, 9821, 9822, + 4911: 9820, 9822, 9823, + 4912: 9824, 9825, 9826, + 4913: 9824, 9826, 9827, + 4914: 9828, 9829, 9830, + 4915: 9828, 9830, 9831, + 4916: 9832, 9833, 9834, + 4917: 9832, 9834, 9835, + 4918: 9836, 9837, 9838, + 4919: 9836, 9838, 9839, + 4920: 9840, 9841, 9842, + 4921: 9840, 9842, 9843, + 4922: 9844, 9845, 9846, + 4923: 9844, 9846, 9847, + 4924: 9848, 9849, 9850, + 4925: 9848, 9850, 9851, + 4926: 9852, 9853, 9854, + 4927: 9852, 9854, 9855, + 4928: 9856, 9857, 9858, + 4929: 9856, 9858, 9859, + 4930: 9860, 9861, 9862, + 4931: 9860, 9862, 9863, + 4932: 9864, 9865, 9866, + 4933: 9864, 9866, 9867, + 4934: 9868, 9869, 9870, + 4935: 9868, 9870, 9871, + 4936: 9872, 9873, 9874, + 4937: 9872, 9874, 9875, + 4938: 9876, 9877, 9878, + 4939: 9876, 9878, 9879, + 4940: 9880, 9881, 9882, + 4941: 9880, 9882, 9883, + 4942: 9884, 9885, 9886, + 4943: 9884, 9886, 9887, + 4944: 9888, 9889, 9890, + 4945: 9888, 9890, 9891, + 4946: 9892, 9893, 9894, + 4947: 9892, 9894, 9895, + 4948: 9896, 9897, 9898, + 4949: 9896, 9898, 9899, + 4950: 9900, 9901, 9902, + 4951: 9900, 9902, 9903, + 4952: 9904, 9905, 9906, + 4953: 9904, 9906, 9907, + 4954: 9908, 9909, 9910, + 4955: 9908, 9910, 9911, + 4956: 9912, 9913, 9914, + 4957: 9912, 9914, 9915, + 4958: 9916, 9917, 9918, + 4959: 9916, 9918, 9919, + 4960: 9920, 9921, 9922, + 4961: 9920, 9922, 9923, + 4962: 9924, 9925, 9926, + 4963: 9924, 9926, 9927, + 4964: 9928, 9929, 9930, + 4965: 9928, 9930, 9931, + 4966: 9932, 9933, 9934, + 4967: 9932, 9934, 9935, + 4968: 9936, 9937, 9938, + 4969: 9936, 9938, 9939, + 4970: 9940, 9941, 9942, + 4971: 9940, 9942, 9943, + 4972: 9944, 9945, 9946, + 4973: 9944, 9946, 9947, + 4974: 9948, 9949, 9950, + 4975: 9948, 9950, 9951, + 4976: 9952, 9953, 9954, + 4977: 9952, 9954, 9955, + 4978: 9956, 9957, 9958, + 4979: 9956, 9958, 9959, + 4980: 9960, 9961, 9962, + 4981: 9960, 9962, 9963, + 4982: 9964, 9965, 9966, + 4983: 9964, 9966, 9967, + 4984: 9968, 9969, 9970, + 4985: 9968, 9970, 9971, + 4986: 9972, 9973, 9974, + 4987: 9972, 9974, 9975, + 4988: 9976, 9977, 9978, + 4989: 9976, 9978, 9979, + 4990: 9980, 9981, 9982, + 4991: 9980, 9982, 9983, + 4992: 9984, 9985, 9986, + 4993: 9984, 9986, 9987, + 4994: 9988, 9989, 9990, + 4995: 9988, 9990, 9991, + 4996: 9992, 9993, 9994, + 4997: 9992, 9994, 9995, + 4998: 9996, 9997, 9998, + 4999: 9996, 9998, 9999, + 5000: 10000, 10001, 10002, + 5001: 10000, 10002, 10003, + 5002: 10004, 10005, 10006, + 5003: 10004, 10006, 10007, + 5004: 10008, 10009, 10010, + 5005: 10008, 10010, 10011, + 5006: 10012, 10013, 10014, + 5007: 10012, 10014, 10015, + 5008: 10016, 10017, 10018, + 5009: 10016, 10018, 10019, + 5010: 10020, 10021, 10022, + 5011: 10020, 10022, 10023, + 5012: 10024, 10025, 10026, + 5013: 10024, 10026, 10027, + 5014: 10028, 10029, 10030, + 5015: 10028, 10030, 10031, + 5016: 10032, 10033, 10034, + 5017: 10032, 10034, 10035, + 5018: 10036, 10037, 10038, + 5019: 10036, 10038, 10039, + 5020: 10040, 10041, 10042, + 5021: 10040, 10042, 10043, + 5022: 10044, 10045, 10046, + 5023: 10044, 10046, 10047, + 5024: 10048, 10049, 10050, + 5025: 10048, 10050, 10051, + 5026: 10052, 10053, 10054, + 5027: 10052, 10054, 10055, + 5028: 10056, 10057, 10058, + 5029: 10056, 10058, 10059, + 5030: 10060, 10061, 10062, + 5031: 10060, 10062, 10063, + 5032: 10064, 10065, 10066, + 5033: 10064, 10066, 10067, + 5034: 10068, 10069, 10070, + 5035: 10068, 10070, 10071, + 5036: 10072, 10073, 10074, + 5037: 10072, 10074, 10075, + 5038: 10076, 10077, 10078, + 5039: 10076, 10078, 10079, + 5040: 10080, 10081, 10082, + 5041: 10080, 10082, 10083, + 5042: 10084, 10085, 10086, + 5043: 10084, 10086, 10087, + 5044: 10088, 10089, 10090, + 5045: 10088, 10090, 10091, + 5046: 10092, 10093, 10094, + 5047: 10092, 10094, 10095, + 5048: 10096, 10097, 10098, + 5049: 10096, 10098, 10099, + 5050: 10100, 10101, 10102, + 5051: 10100, 10102, 10103, + 5052: 10104, 10105, 10106, + 5053: 10104, 10106, 10107, + 5054: 10108, 10109, 10110, + 5055: 10108, 10110, 10111, + 5056: 10112, 10113, 10114, + 5057: 10112, 10114, 10115, + 5058: 10116, 10117, 10118, + 5059: 10116, 10118, 10119, + 5060: 10120, 10121, 10122, + 5061: 10120, 10122, 10123, + 5062: 10124, 10125, 10126, + 5063: 10124, 10126, 10127, + 5064: 10128, 10129, 10130, + 5065: 10128, 10130, 10131, + 5066: 10132, 10133, 10134, + 5067: 10132, 10134, 10135, + 5068: 10136, 10137, 10138, + 5069: 10136, 10138, 10139, + 5070: 10140, 10141, 10142, + 5071: 10140, 10142, 10143, + 5072: 10144, 10145, 10146, + 5073: 10144, 10146, 10147, + 5074: 10148, 10149, 10150, + 5075: 10148, 10150, 10151, + 5076: 10152, 10153, 10154, + 5077: 10152, 10154, 10155, + 5078: 10156, 10157, 10158, + 5079: 10156, 10158, 10159, + 5080: 10160, 10161, 10162, + 5081: 10160, 10162, 10163, + 5082: 10164, 10165, 10166, + 5083: 10164, 10166, 10167, + 5084: 10168, 10169, 10170, + 5085: 10168, 10170, 10171, + 5086: 10172, 10173, 10174, + 5087: 10172, 10174, 10175, + 5088: 10176, 10177, 10178, + 5089: 10176, 10178, 10179, + 5090: 10180, 10181, 10182, + 5091: 10180, 10182, 10183, + 5092: 10184, 10185, 10186, + 5093: 10184, 10186, 10187, + 5094: 10188, 10189, 10190, + 5095: 10188, 10190, 10191, + 5096: 10192, 10193, 10194, + 5097: 10192, 10194, 10195, + 5098: 10196, 10197, 10198, + 5099: 10196, 10198, 10199, + 5100: 10200, 10201, 10202, + 5101: 10200, 10202, 10203, + 5102: 10204, 10205, 10206, + 5103: 10204, 10206, 10207, + 5104: 10208, 10209, 10210, + 5105: 10208, 10210, 10211, + 5106: 10212, 10213, 10214, + 5107: 10212, 10214, 10215, + 5108: 10216, 10217, 10218, + 5109: 10216, 10218, 10219, + 5110: 10220, 10221, 10222, + 5111: 10220, 10222, 10223, + 5112: 10224, 10225, 10226, + 5113: 10224, 10226, 10227, + 5114: 10228, 10229, 10230, + 5115: 10228, 10230, 10231, + 5116: 10232, 10233, 10234, + 5117: 10232, 10234, 10235, + 5118: 10236, 10237, 10238, + 5119: 10236, 10238, 10239, + 5120: 10240, 10241, 10242, + 5121: 10240, 10242, 10243, + 5122: 10244, 10245, 10246, + 5123: 10244, 10246, 10247, + 5124: 10248, 10249, 10250, + 5125: 10248, 10250, 10251, + 5126: 10252, 10253, 10254, + 5127: 10252, 10254, 10255, + 5128: 10256, 10257, 10258, + 5129: 10256, 10258, 10259, + 5130: 10260, 10261, 10262, + 5131: 10260, 10262, 10263, + 5132: 10264, 10265, 10266, + 5133: 10264, 10266, 10267, + 5134: 10268, 10269, 10270, + 5135: 10268, 10270, 10271, + 5136: 10272, 10273, 10274, + 5137: 10272, 10274, 10275, + 5138: 10276, 10277, 10278, + 5139: 10276, 10278, 10279, + 5140: 10280, 10281, 10282, + 5141: 10280, 10282, 10283, + 5142: 10284, 10285, 10286, + 5143: 10284, 10286, 10287, + 5144: 10288, 10289, 10290, + 5145: 10288, 10290, 10291, + 5146: 10292, 10293, 10294, + 5147: 10292, 10294, 10295, + 5148: 10296, 10297, 10298, + 5149: 10296, 10298, 10299, + 5150: 10300, 10301, 10302, + 5151: 10300, 10302, 10303, + 5152: 10304, 10305, 10306, + 5153: 10304, 10306, 10307, + 5154: 10308, 10309, 10310, + 5155: 10308, 10310, 10311, + 5156: 10312, 10313, 10314, + 5157: 10312, 10314, 10315, + 5158: 10316, 10317, 10318, + 5159: 10316, 10318, 10319, + 5160: 10320, 10321, 10322, + 5161: 10320, 10322, 10323, + 5162: 10324, 10325, 10326, + 5163: 10324, 10326, 10327, + 5164: 10328, 10329, 10330, + 5165: 10328, 10330, 10331, + 5166: 10332, 10333, 10334, + 5167: 10332, 10334, 10335, + 5168: 10336, 10337, 10338, + 5169: 10336, 10338, 10339, + 5170: 10340, 10341, 10342, + 5171: 10340, 10342, 10343, + 5172: 10344, 10345, 10346, + 5173: 10344, 10346, 10347, + 5174: 10348, 10349, 10350, + 5175: 10348, 10350, 10351, + 5176: 10352, 10353, 10354, + 5177: 10352, 10354, 10355, + 5178: 10356, 10357, 10358, + 5179: 10356, 10358, 10359, + 5180: 10360, 10361, 10362, + 5181: 10360, 10362, 10363, + 5182: 10364, 10365, 10366, + 5183: 10364, 10366, 10367, + 5184: 10368, 10369, 10370, + 5185: 10368, 10370, 10371, + 5186: 10372, 10373, 10374, + 5187: 10372, 10374, 10375, + 5188: 10376, 10377, 10378, + 5189: 10376, 10378, 10379, + 5190: 10380, 10381, 10382, + 5191: 10380, 10382, 10383, + 5192: 10384, 10385, 10386, + 5193: 10384, 10386, 10387, + 5194: 10388, 10389, 10390, + 5195: 10388, 10390, 10391, + 5196: 10392, 10393, 10394, + 5197: 10392, 10394, 10395, + 5198: 10396, 10397, 10398, + 5199: 10396, 10398, 10399, + 5200: 10400, 10401, 10402, + 5201: 10400, 10402, 10403, + 5202: 10404, 10405, 10406, + 5203: 10404, 10406, 10407, + 5204: 10408, 10409, 10410, + 5205: 10408, 10410, 10411, + 5206: 10412, 10413, 10414, + 5207: 10412, 10414, 10415, + 5208: 10416, 10417, 10418, + 5209: 10416, 10418, 10419, + 5210: 10420, 10421, 10422, + 5211: 10420, 10422, 10423, + 5212: 10424, 10425, 10426, + 5213: 10424, 10426, 10427, + 5214: 10428, 10429, 10430, + 5215: 10428, 10430, 10431, + 5216: 10432, 10433, 10434, + 5217: 10432, 10434, 10435, + 5218: 10436, 10437, 10438, + 5219: 10436, 10438, 10439, + 5220: 10440, 10441, 10442, + 5221: 10440, 10442, 10443, + 5222: 10444, 10445, 10446, + 5223: 10444, 10446, 10447, + 5224: 10448, 10449, 10450, + 5225: 10448, 10450, 10451, + 5226: 10452, 10453, 10454, + 5227: 10452, 10454, 10455, + 5228: 10456, 10457, 10458, + 5229: 10456, 10458, 10459, + 5230: 10460, 10461, 10462, + 5231: 10460, 10462, 10463, + 5232: 10464, 10465, 10466, + 5233: 10464, 10466, 10467, + 5234: 10468, 10469, 10470, + 5235: 10468, 10470, 10471, + 5236: 10472, 10473, 10474, + 5237: 10472, 10474, 10475, + 5238: 10476, 10477, 10478, + 5239: 10476, 10478, 10479, + 5240: 10480, 10481, 10482, + 5241: 10480, 10482, 10483, + 5242: 10484, 10485, 10486, + 5243: 10484, 10486, 10487, + 5244: 10488, 10489, 10490, + 5245: 10488, 10490, 10491, + 5246: 10492, 10493, 10494, + 5247: 10492, 10494, 10495, + 5248: 10496, 10497, 10498, + 5249: 10496, 10498, 10499, + 5250: 10500, 10501, 10502, + 5251: 10500, 10502, 10503, + 5252: 10504, 10505, 10506, + 5253: 10504, 10506, 10507, + 5254: 10508, 10509, 10510, + 5255: 10508, 10510, 10511, + 5256: 10512, 10513, 10514, + 5257: 10512, 10514, 10515, + 5258: 10516, 10517, 10518, + 5259: 10516, 10518, 10519, + 5260: 10520, 10521, 10522, + 5261: 10520, 10522, 10523, + 5262: 10524, 10525, 10526, + 5263: 10524, 10526, 10527, + 5264: 10528, 10529, 10530, + 5265: 10528, 10530, 10531, + 5266: 10532, 10533, 10534, + 5267: 10532, 10534, 10535, + 5268: 10536, 10537, 10538, + 5269: 10536, 10538, 10539, + 5270: 10540, 10541, 10542, + 5271: 10540, 10542, 10543, + 5272: 10544, 10545, 10546, + 5273: 10544, 10546, 10547, + 5274: 10548, 10549, 10550, + 5275: 10548, 10550, 10551, + 5276: 10552, 10553, 10554, + 5277: 10552, 10554, 10555, + 5278: 10556, 10557, 10558, + 5279: 10556, 10558, 10559, + 5280: 10560, 10561, 10562, + 5281: 10560, 10562, 10563, + 5282: 10564, 10565, 10566, + 5283: 10564, 10566, 10567, + 5284: 10568, 10569, 10570, + 5285: 10568, 10570, 10571, + 5286: 10572, 10573, 10574, + 5287: 10572, 10574, 10575, + 5288: 10576, 10577, 10578, + 5289: 10576, 10578, 10579, + 5290: 10580, 10581, 10582, + 5291: 10580, 10582, 10583, + 5292: 10584, 10585, 10586, + 5293: 10584, 10586, 10587, + 5294: 10588, 10589, 10590, + 5295: 10588, 10590, 10591, + 5296: 10592, 10593, 10594, + 5297: 10592, 10594, 10595, + 5298: 10596, 10597, 10598, + 5299: 10596, 10598, 10599, + 5300: 10600, 10601, 10602, + 5301: 10600, 10602, 10603, + 5302: 10604, 10605, 10606, + 5303: 10604, 10606, 10607, + 5304: 10608, 10609, 10610, + 5305: 10608, 10610, 10611, + 5306: 10612, 10613, 10614, + 5307: 10612, 10614, 10615, + 5308: 10616, 10617, 10618, + 5309: 10616, 10618, 10619, + 5310: 10620, 10621, 10622, + 5311: 10620, 10622, 10623, + 5312: 10624, 10625, 10626, + 5313: 10624, 10626, 10627, + 5314: 10628, 10629, 10630, + 5315: 10628, 10630, 10631, + 5316: 10632, 10633, 10634, + 5317: 10632, 10634, 10635, + 5318: 10636, 10637, 10638, + 5319: 10636, 10638, 10639, + 5320: 10640, 10641, 10642, + 5321: 10640, 10642, 10643, + 5322: 10644, 10645, 10646, + 5323: 10644, 10646, 10647, + 5324: 10648, 10649, 10650, + 5325: 10648, 10650, 10651, + 5326: 10652, 10653, 10654, + 5327: 10652, 10654, 10655, + 5328: 10656, 10657, 10658, + 5329: 10656, 10658, 10659, + 5330: 10660, 10661, 10662, + 5331: 10660, 10662, 10663, + 5332: 10664, 10665, 10666, + 5333: 10664, 10666, 10667, + 5334: 10668, 10669, 10670, + 5335: 10668, 10670, 10671, + 5336: 10672, 10673, 10674, + 5337: 10672, 10674, 10675, + 5338: 10676, 10677, 10678, + 5339: 10676, 10678, 10679, + 5340: 10680, 10681, 10682, + 5341: 10680, 10682, 10683, + 5342: 10684, 10685, 10686, + 5343: 10684, 10686, 10687, + 5344: 10688, 10689, 10690, + 5345: 10688, 10690, 10691, + 5346: 10692, 10693, 10694, + 5347: 10692, 10694, 10695, + 5348: 10696, 10697, 10698, + 5349: 10696, 10698, 10699, + 5350: 10700, 10701, 10702, + 5351: 10700, 10702, 10703, + 5352: 10704, 10705, 10706, + 5353: 10704, 10706, 10707, + 5354: 10708, 10709, 10710, + 5355: 10708, 10710, 10711, + 5356: 10712, 10713, 10714, + 5357: 10712, 10714, 10715, + 5358: 10716, 10717, 10718, + 5359: 10716, 10718, 10719, + 5360: 10720, 10721, 10722, + 5361: 10720, 10722, 10723, + 5362: 10724, 10725, 10726, + 5363: 10724, 10726, 10727, + 5364: 10728, 10729, 10730, + 5365: 10728, 10730, 10731, + 5366: 10732, 10733, 10734, + 5367: 10732, 10734, 10735, + 5368: 10736, 10737, 10738, + 5369: 10736, 10738, 10739, + 5370: 10740, 10741, 10742, + 5371: 10740, 10742, 10743, + 5372: 10744, 10745, 10746, + 5373: 10744, 10746, 10747, + 5374: 10748, 10749, 10750, + 5375: 10748, 10750, 10751, + 5376: 10752, 10753, 10754, + 5377: 10752, 10754, 10755, + 5378: 10756, 10757, 10758, + 5379: 10756, 10758, 10759, + 5380: 10760, 10761, 10762, + 5381: 10760, 10762, 10763, + 5382: 10764, 10765, 10766, + 5383: 10764, 10766, 10767, + 5384: 10768, 10769, 10770, + 5385: 10768, 10770, 10771, + 5386: 10772, 10773, 10774, + 5387: 10772, 10774, 10775, + 5388: 10776, 10777, 10778, + 5389: 10776, 10778, 10779, + 5390: 10780, 10781, 10782, + 5391: 10780, 10782, 10783, + 5392: 10784, 10785, 10786, + 5393: 10784, 10786, 10787, + 5394: 10788, 10789, 10790, + 5395: 10788, 10790, 10791, + 5396: 10792, 10793, 10794, + 5397: 10792, 10794, 10795, + 5398: 10796, 10797, 10798, + 5399: 10796, 10798, 10799, + 5400: 10800, 10801, 10802, + 5401: 10800, 10802, 10803, + 5402: 10804, 10805, 10806, + 5403: 10804, 10806, 10807, + 5404: 10808, 10809, 10810, + 5405: 10808, 10810, 10811, + 5406: 10812, 10813, 10814, + 5407: 10812, 10814, 10815, + 5408: 10816, 10817, 10818, + 5409: 10816, 10818, 10819, + 5410: 10820, 10821, 10822, + 5411: 10820, 10822, 10823, + 5412: 10824, 10825, 10826, + 5413: 10824, 10826, 10827, + 5414: 10828, 10829, 10830, + 5415: 10828, 10830, 10831, + 5416: 10832, 10833, 10834, + 5417: 10832, 10834, 10835, + 5418: 10836, 10837, 10838, + 5419: 10836, 10838, 10839, + 5420: 10840, 10841, 10842, + 5421: 10840, 10842, 10843, + 5422: 10844, 10845, 10846, + 5423: 10844, 10846, 10847, + 5424: 10848, 10849, 10850, + 5425: 10848, 10850, 10851, + 5426: 10852, 10853, 10854, + 5427: 10852, 10854, 10855, + 5428: 10856, 10857, 10858, + 5429: 10856, 10858, 10859, + 5430: 10860, 10861, 10862, + 5431: 10860, 10862, 10863, + 5432: 10864, 10865, 10866, + 5433: 10864, 10866, 10867, + 5434: 10868, 10869, 10870, + 5435: 10868, 10870, 10871, + 5436: 10872, 10873, 10874, + 5437: 10872, 10874, 10875, + 5438: 10876, 10877, 10878, + 5439: 10876, 10878, 10879, + 5440: 10880, 10881, 10882, + 5441: 10880, 10882, 10883, + 5442: 10884, 10885, 10886, + 5443: 10884, 10886, 10887, + 5444: 10888, 10889, 10890, + 5445: 10888, 10890, 10891, + 5446: 10892, 10893, 10894, + 5447: 10892, 10894, 10895, + 5448: 10896, 10897, 10898, + 5449: 10896, 10898, 10899, + 5450: 10900, 10901, 10902, + 5451: 10900, 10902, 10903, + 5452: 10904, 10905, 10906, + 5453: 10904, 10906, 10907, + 5454: 10908, 10909, 10910, + 5455: 10908, 10910, 10911, + 5456: 10912, 10913, 10914, + 5457: 10912, 10914, 10915, + 5458: 10916, 10917, 10918, + 5459: 10916, 10918, 10919, + 5460: 10920, 10921, 10922, + 5461: 10920, 10922, 10923, + 5462: 10924, 10925, 10926, + 5463: 10924, 10926, 10927, + 5464: 10928, 10929, 10930, + 5465: 10928, 10930, 10931, + 5466: 10932, 10933, 10934, + 5467: 10932, 10934, 10935, + 5468: 10936, 10937, 10938, + 5469: 10936, 10938, 10939, + 5470: 10940, 10941, 10942, + 5471: 10940, 10942, 10943, + 5472: 10944, 10945, 10946, + 5473: 10944, 10946, 10947, + 5474: 10948, 10949, 10950, + 5475: 10948, 10950, 10951, + 5476: 10952, 10953, 10954, + 5477: 10952, 10954, 10955, + 5478: 10956, 10957, 10958, + 5479: 10956, 10958, 10959, + 5480: 10960, 10961, 10962, + 5481: 10960, 10962, 10963, + 5482: 10964, 10965, 10966, + 5483: 10964, 10966, 10967, + 5484: 10968, 10969, 10970, + 5485: 10968, 10970, 10971, + 5486: 10972, 10973, 10974, + 5487: 10972, 10974, 10975, + 5488: 10976, 10977, 10978, + 5489: 10976, 10978, 10979, + 5490: 10980, 10981, 10982, + 5491: 10980, 10982, 10983, + 5492: 10984, 10985, 10986, + 5493: 10984, 10986, 10987, + 5494: 10988, 10989, 10990, + 5495: 10988, 10990, 10991, + 5496: 10992, 10993, 10994, + 5497: 10992, 10994, 10995, + 5498: 10996, 10997, 10998, + 5499: 10996, 10998, 10999, + 5500: 11000, 11001, 11002, + 5501: 11000, 11002, 11003, + 5502: 11004, 11005, 11006, + 5503: 11004, 11006, 11007, + 5504: 11008, 11009, 11010, + 5505: 11008, 11010, 11011, + 5506: 11012, 11013, 11014, + 5507: 11012, 11014, 11015, + 5508: 11016, 11017, 11018, + 5509: 11016, 11018, 11019, + 5510: 11020, 11021, 11022, + 5511: 11020, 11022, 11023, + 5512: 11024, 11025, 11026, + 5513: 11024, 11026, 11027, + 5514: 11028, 11029, 11030, + 5515: 11028, 11030, 11031, + 5516: 11032, 11033, 11034, + 5517: 11032, 11034, 11035, + 5518: 11036, 11037, 11038, + 5519: 11036, 11038, 11039, + 5520: 11040, 11041, 11042, + 5521: 11040, 11042, 11043, + 5522: 11044, 11045, 11046, + 5523: 11044, 11046, 11047, + 5524: 11048, 11049, 11050, + 5525: 11048, 11050, 11051, + 5526: 11052, 11053, 11054, + 5527: 11052, 11054, 11055, + 5528: 11056, 11057, 11058, + 5529: 11056, 11058, 11059, + 5530: 11060, 11061, 11062, + 5531: 11060, 11062, 11063, + 5532: 11064, 11065, 11066, + 5533: 11064, 11066, 11067, + 5534: 11068, 11069, 11070, + 5535: 11068, 11070, 11071, + 5536: 11072, 11073, 11074, + 5537: 11072, 11074, 11075, + 5538: 11076, 11077, 11078, + 5539: 11076, 11078, 11079, + 5540: 11080, 11081, 11082, + 5541: 11080, 11082, 11083, + 5542: 11084, 11085, 11086, + 5543: 11084, 11086, 11087, + 5544: 11088, 11089, 11090, + 5545: 11088, 11090, 11091, + 5546: 11092, 11093, 11094, + 5547: 11092, 11094, 11095, + 5548: 11096, 11097, 11098, + 5549: 11096, 11098, 11099, + 5550: 11100, 11101, 11102, + 5551: 11100, 11102, 11103, + 5552: 11104, 11105, 11106, + 5553: 11104, 11106, 11107, + 5554: 11108, 11109, 11110, + 5555: 11108, 11110, 11111, + 5556: 11112, 11113, 11114, + 5557: 11112, 11114, 11115, + 5558: 11116, 11117, 11118, + 5559: 11116, 11118, 11119, + 5560: 11120, 11121, 11122, + 5561: 11120, 11122, 11123, + 5562: 11124, 11125, 11126, + 5563: 11124, 11126, 11127, + 5564: 11128, 11129, 11130, + 5565: 11128, 11130, 11131, + 5566: 11132, 11133, 11134, + 5567: 11132, 11134, 11135, + 5568: 11136, 11137, 11138, + 5569: 11136, 11138, 11139, + 5570: 11140, 11141, 11142, + 5571: 11140, 11142, 11143, + 5572: 11144, 11145, 11146, + 5573: 11144, 11146, 11147, + 5574: 11148, 11149, 11150, + 5575: 11148, 11150, 11151, + 5576: 11152, 11153, 11154, + 5577: 11152, 11154, 11155, + 5578: 11156, 11157, 11158, + 5579: 11156, 11158, 11159, + 5580: 11160, 11161, 11162, + 5581: 11160, 11162, 11163, + 5582: 11164, 11165, 11166, + 5583: 11164, 11166, 11167, + 5584: 11168, 11169, 11170, + 5585: 11168, 11170, 11171, + 5586: 11172, 11173, 11174, + 5587: 11172, 11174, 11175, + 5588: 11176, 11177, 11178, + 5589: 11176, 11178, 11179, + 5590: 11180, 11181, 11182, + 5591: 11180, 11182, 11183, + 5592: 11184, 11185, 11186, + 5593: 11184, 11186, 11187, + 5594: 11188, 11189, 11190, + 5595: 11188, 11190, 11191, + 5596: 11192, 11193, 11194, + 5597: 11192, 11194, 11195, + 5598: 11196, 11197, 11198, + 5599: 11196, 11198, 11199, + 5600: 11200, 11201, 11202, + 5601: 11200, 11202, 11203, + 5602: 11204, 11205, 11206, + 5603: 11204, 11206, 11207, + 5604: 11208, 11209, 11210, + 5605: 11208, 11210, 11211, + 5606: 11212, 11213, 11214, + 5607: 11212, 11214, 11215, + 5608: 11216, 11217, 11218, + 5609: 11216, 11218, 11219, + 5610: 11220, 11221, 11222, + 5611: 11220, 11222, 11223, + 5612: 11224, 11225, 11226, + 5613: 11224, 11226, 11227, + 5614: 11228, 11229, 11230, + 5615: 11228, 11230, 11231, + 5616: 11232, 11233, 11234, + 5617: 11232, 11234, 11235, + 5618: 11236, 11237, 11238, + 5619: 11236, 11238, 11239, + 5620: 11240, 11241, 11242, + 5621: 11240, 11242, 11243, + 5622: 11244, 11245, 11246, + 5623: 11244, 11246, 11247, + 5624: 11248, 11249, 11250, + 5625: 11248, 11250, 11251, + 5626: 11252, 11253, 11254, + 5627: 11252, 11254, 11255, + 5628: 11256, 11257, 11258, + 5629: 11256, 11258, 11259, + 5630: 11260, 11261, 11262, + 5631: 11260, 11262, 11263, + 5632: 11264, 11265, 11266, + 5633: 11264, 11266, 11267, + 5634: 11268, 11269, 11270, + 5635: 11268, 11270, 11271, + 5636: 11272, 11273, 11274, + 5637: 11272, 11274, 11275, + 5638: 11276, 11277, 11278, + 5639: 11276, 11278, 11279, + 5640: 11280, 11281, 11282, + 5641: 11280, 11282, 11283, + 5642: 11284, 11285, 11286, + 5643: 11284, 11286, 11287, + 5644: 11288, 11289, 11290, + 5645: 11288, 11290, 11291, + 5646: 11292, 11293, 11294, + 5647: 11292, 11294, 11295, + 5648: 11296, 11297, 11298, + 5649: 11296, 11298, 11299, + 5650: 11300, 11301, 11302, + 5651: 11300, 11302, 11303, + 5652: 11304, 11305, 11306, + 5653: 11304, 11306, 11307, + 5654: 11308, 11309, 11310, + 5655: 11308, 11310, 11311, + 5656: 11312, 11313, 11314, + 5657: 11312, 11314, 11315, + 5658: 11316, 11317, 11318, + 5659: 11316, 11318, 11319, + 5660: 11320, 11321, 11322, + 5661: 11320, 11322, 11323, + 5662: 11324, 11325, 11326, + 5663: 11324, 11326, 11327, + 5664: 11328, 11329, 11330, + 5665: 11328, 11330, 11331, + 5666: 11332, 11333, 11334, + 5667: 11332, 11334, 11335, + 5668: 11336, 11337, 11338, + 5669: 11336, 11338, 11339, + 5670: 11340, 11341, 11342, + 5671: 11340, 11342, 11343, + 5672: 11344, 11345, 11346, + 5673: 11344, 11346, 11347, + 5674: 11348, 11349, 11350, + 5675: 11348, 11350, 11351, + 5676: 11352, 11353, 11354, + 5677: 11352, 11354, 11355, + 5678: 11356, 11357, 11358, + 5679: 11356, 11358, 11359, + 5680: 11360, 11361, 11362, + 5681: 11360, 11362, 11363, + 5682: 11364, 11365, 11366, + 5683: 11364, 11366, 11367, + 5684: 11368, 11369, 11370, + 5685: 11368, 11370, 11371, + 5686: 11372, 11373, 11374, + 5687: 11372, 11374, 11375, + 5688: 11376, 11377, 11378, + 5689: 11376, 11378, 11379, + 5690: 11380, 11381, 11382, + 5691: 11380, 11382, 11383, + 5692: 11384, 11385, 11386, + 5693: 11384, 11386, 11387, + 5694: 11388, 11389, 11390, + 5695: 11388, 11390, 11391, + 5696: 11392, 11393, 11394, + 5697: 11392, 11394, 11395, + 5698: 11396, 11397, 11398, + 5699: 11396, 11398, 11399, + 5700: 11400, 11401, 11402, + 5701: 11400, 11402, 11403, + 5702: 11404, 11405, 11406, + 5703: 11404, 11406, 11407, + 5704: 11408, 11409, 11410, + 5705: 11408, 11410, 11411, + 5706: 11412, 11413, 11414, + 5707: 11412, 11414, 11415, + 5708: 11416, 11417, 11418, + 5709: 11416, 11418, 11419, + 5710: 11420, 11421, 11422, + 5711: 11420, 11422, 11423, + 5712: 11424, 11425, 11426, + 5713: 11424, 11426, 11427, + 5714: 11428, 11429, 11430, + 5715: 11428, 11430, 11431, + 5716: 11432, 11433, 11434, + 5717: 11432, 11434, 11435, + 5718: 11436, 11437, 11438, + 5719: 11436, 11438, 11439, + 5720: 11440, 11441, 11442, + 5721: 11440, 11442, 11443, + 5722: 11444, 11445, 11446, + 5723: 11444, 11446, 11447, + 5724: 11448, 11449, 11450, + 5725: 11448, 11450, 11451, + 5726: 11452, 11453, 11454, + 5727: 11452, 11454, 11455, + 5728: 11456, 11457, 11458, + 5729: 11456, 11458, 11459, + 5730: 11460, 11461, 11462, + 5731: 11460, 11462, 11463, + 5732: 11464, 11465, 11466, + 5733: 11464, 11466, 11467, + 5734: 11468, 11469, 11470, + 5735: 11468, 11470, 11471, + 5736: 11472, 11473, 11474, + 5737: 11472, 11474, 11475, + 5738: 11476, 11477, 11478, + 5739: 11476, 11478, 11479, + 5740: 11480, 11481, 11482, + 5741: 11480, 11482, 11483, + 5742: 11484, 11485, 11486, + 5743: 11484, 11486, 11487, + 5744: 11488, 11489, 11490, + 5745: 11488, 11490, 11491, + 5746: 11492, 11493, 11494, + 5747: 11492, 11494, 11495, + 5748: 11496, 11497, 11498, + 5749: 11496, 11498, 11499, + 5750: 11500, 11501, 11502, + 5751: 11500, 11502, 11503, + 5752: 11504, 11505, 11506, + 5753: 11504, 11506, 11507, + 5754: 11508, 11509, 11510, + 5755: 11508, 11510, 11511, + 5756: 11512, 11513, 11514, + 5757: 11512, 11514, 11515, + 5758: 11516, 11517, 11518, + 5759: 11516, 11518, 11519, + 5760: 11520, 11521, 11522, + 5761: 11520, 11522, 11523, + 5762: 11524, 11525, 11526, + 5763: 11524, 11526, 11527, + 5764: 11528, 11529, 11530, + 5765: 11528, 11530, 11531, + 5766: 11532, 11533, 11534, + 5767: 11532, 11534, 11535, + 5768: 11536, 11537, 11538, + 5769: 11536, 11538, 11539, + 5770: 11540, 11541, 11542, + 5771: 11540, 11542, 11543, + 5772: 11544, 11545, 11546, + 5773: 11544, 11546, 11547, + 5774: 11548, 11549, 11550, + 5775: 11548, 11550, 11551, + 5776: 11552, 11553, 11554, + 5777: 11552, 11554, 11555, + 5778: 11556, 11557, 11558, + 5779: 11556, 11558, 11559, + 5780: 11560, 11561, 11562, + 5781: 11560, 11562, 11563, + 5782: 11564, 11565, 11566, + 5783: 11564, 11566, 11567, + 5784: 11568, 11569, 11570, + 5785: 11568, 11570, 11571, + 5786: 11572, 11573, 11574, + 5787: 11572, 11574, 11575, + 5788: 11576, 11577, 11578, + 5789: 11576, 11578, 11579, + 5790: 11580, 11581, 11582, + 5791: 11580, 11582, 11583, + 5792: 11584, 11585, 11586, + 5793: 11584, 11586, 11587, + 5794: 11588, 11589, 11590, + 5795: 11588, 11590, 11591, + 5796: 11592, 11593, 11594, + 5797: 11592, 11594, 11595, + 5798: 11596, 11597, 11598, + 5799: 11596, 11598, 11599, + 5800: 11600, 11601, 11602, + 5801: 11600, 11602, 11603, + 5802: 11604, 11605, 11606, + 5803: 11604, 11606, 11607, + 5804: 11608, 11609, 11610, + 5805: 11608, 11610, 11611, + 5806: 11612, 11613, 11614, + 5807: 11612, 11614, 11615, + 5808: 11616, 11617, 11618, + 5809: 11616, 11618, 11619, + 5810: 11620, 11621, 11622, + 5811: 11620, 11622, 11623, + 5812: 11624, 11625, 11626, + 5813: 11624, 11626, 11627, + 5814: 11628, 11629, 11630, + 5815: 11628, 11630, 11631, + 5816: 11632, 11633, 11634, + 5817: 11632, 11634, 11635, + 5818: 11636, 11637, 11638, + 5819: 11636, 11638, 11639, + 5820: 11640, 11641, 11642, + 5821: 11640, 11642, 11643, + 5822: 11644, 11645, 11646, + 5823: 11644, 11646, 11647, + 5824: 11648, 11649, 11650, + 5825: 11648, 11650, 11651, + 5826: 11652, 11653, 11654, + 5827: 11652, 11654, 11655, + 5828: 11656, 11657, 11658, + 5829: 11656, 11658, 11659, + 5830: 11660, 11661, 11662, + 5831: 11660, 11662, 11663, + 5832: 11664, 11665, 11666, + 5833: 11664, 11666, 11667, + 5834: 11668, 11669, 11670, + 5835: 11668, 11670, 11671, + 5836: 11672, 11673, 11674, + 5837: 11672, 11674, 11675, + 5838: 11676, 11677, 11678, + 5839: 11676, 11678, 11679, + 5840: 11680, 11681, 11682, + 5841: 11680, 11682, 11683, + 5842: 11684, 11685, 11686, + 5843: 11684, 11686, 11687, + 5844: 11688, 11689, 11690, + 5845: 11688, 11690, 11691, + 5846: 11692, 11693, 11694, + 5847: 11692, 11694, 11695, + 5848: 11696, 11697, 11698, + 5849: 11696, 11698, 11699, + 5850: 11700, 11701, 11702, + 5851: 11700, 11702, 11703, + 5852: 11704, 11705, 11706, + 5853: 11704, 11706, 11707, + 5854: 11708, 11709, 11710, + 5855: 11708, 11710, 11711, + 5856: 11712, 11713, 11714, + 5857: 11712, 11714, 11715, + 5858: 11716, 11717, 11718, + 5859: 11716, 11718, 11719, + 5860: 11720, 11721, 11722, + 5861: 11720, 11722, 11723, + 5862: 11724, 11725, 11726, + 5863: 11724, 11726, 11727, + 5864: 11728, 11729, 11730, + 5865: 11728, 11730, 11731, + 5866: 11732, 11733, 11734, + 5867: 11732, 11734, 11735, + 5868: 11736, 11737, 11738, + 5869: 11736, 11738, 11739, + 5870: 11740, 11741, 11742, + 5871: 11740, 11742, 11743, + 5872: 11744, 11745, 11746, + 5873: 11744, 11746, 11747, + 5874: 11748, 11749, 11750, + 5875: 11748, 11750, 11751, + 5876: 11752, 11753, 11754, + 5877: 11752, 11754, 11755, + 5878: 11756, 11757, 11758, + 5879: 11756, 11758, 11759, + 5880: 11760, 11761, 11762, + 5881: 11760, 11762, 11763, + 5882: 11764, 11765, 11766, + 5883: 11764, 11766, 11767, + 5884: 11768, 11769, 11770, + 5885: 11768, 11770, 11771, + 5886: 11772, 11773, 11774, + 5887: 11772, 11774, 11775, + 5888: 11776, 11777, 11778, + 5889: 11776, 11778, 11779, + 5890: 11780, 11781, 11782, + 5891: 11780, 11782, 11783, + 5892: 11784, 11785, 11786, + 5893: 11784, 11786, 11787, + 5894: 11788, 11789, 11790, + 5895: 11788, 11790, 11791, + 5896: 11792, 11793, 11794, + 5897: 11792, 11794, 11795, + 5898: 11796, 11797, 11798, + 5899: 11796, 11798, 11799, + 5900: 11800, 11801, 11802, + 5901: 11800, 11802, 11803, + 5902: 11804, 11805, 11806, + 5903: 11804, 11806, 11807, + 5904: 11808, 11809, 11810, + 5905: 11808, 11810, 11811, + 5906: 11812, 11813, 11814, + 5907: 11812, 11814, 11815, + 5908: 11816, 11817, 11818, + 5909: 11816, 11818, 11819, + 5910: 11820, 11821, 11822, + 5911: 11820, 11822, 11823, + 5912: 11824, 11825, 11826, + 5913: 11824, 11826, 11827, + 5914: 11828, 11829, 11830, + 5915: 11828, 11830, 11831, + 5916: 11832, 11833, 11834, + 5917: 11832, 11834, 11835, + 5918: 11836, 11837, 11838, + 5919: 11836, 11838, 11839, + 5920: 11840, 11841, 11842, + 5921: 11840, 11842, 11843, + 5922: 11844, 11845, 11846, + 5923: 11844, 11846, 11847, + 5924: 11848, 11849, 11850, + 5925: 11848, 11850, 11851, + 5926: 11852, 11853, 11854, + 5927: 11852, 11854, 11855, + 5928: 11856, 11857, 11858, + 5929: 11856, 11858, 11859, + 5930: 11860, 11861, 11862, + 5931: 11860, 11862, 11863, + 5932: 11864, 11865, 11866, + 5933: 11864, 11866, 11867, + 5934: 11868, 11869, 11870, + 5935: 11868, 11870, 11871, + 5936: 11872, 11873, 11874, + 5937: 11872, 11874, 11875, + 5938: 11876, 11877, 11878, + 5939: 11876, 11878, 11879, + 5940: 11880, 11881, 11882, + 5941: 11880, 11882, 11883, + 5942: 11884, 11885, 11886, + 5943: 11884, 11886, 11887, + 5944: 11888, 11889, 11890, + 5945: 11888, 11890, 11891, + 5946: 11892, 11893, 11894, + 5947: 11892, 11894, 11895, + 5948: 11896, 11897, 11898, + 5949: 11896, 11898, 11899, + 5950: 11900, 11901, 11902, + 5951: 11900, 11902, 11903, + 5952: 11904, 11905, 11906, + 5953: 11904, 11906, 11907, + 5954: 11908, 11909, 11910, + 5955: 11908, 11910, 11911, + 5956: 11912, 11913, 11914, + 5957: 11912, 11914, 11915, + 5958: 11916, 11917, 11918, + 5959: 11916, 11918, 11919, + 5960: 11920, 11921, 11922, + 5961: 11920, 11922, 11923, + 5962: 11924, 11925, 11926, + 5963: 11924, 11926, 11927, + 5964: 11928, 11929, 11930, + 5965: 11928, 11930, 11931, + 5966: 11932, 11933, 11934, + 5967: 11932, 11934, 11935, + 5968: 11936, 11937, 11938, + 5969: 11936, 11938, 11939, + 5970: 11940, 11941, 11942, + 5971: 11940, 11942, 11943, + 5972: 11944, 11945, 11946, + 5973: 11944, 11946, 11947, + 5974: 11948, 11949, 11950, + 5975: 11948, 11950, 11951, + 5976: 11952, 11953, 11954, + 5977: 11952, 11954, 11955, + 5978: 11956, 11957, 11958, + 5979: 11956, 11958, 11959, + 5980: 11960, 11961, 11962, + 5981: 11960, 11962, 11963, + 5982: 11964, 11965, 11966, + 5983: 11964, 11966, 11967, + 5984: 11968, 11969, 11970, + 5985: 11968, 11970, 11971, + 5986: 11972, 11973, 11974, + 5987: 11972, 11974, 11975, + 5988: 11976, 11977, 11978, + 5989: 11976, 11978, 11979, + 5990: 11980, 11981, 11982, + 5991: 11980, 11982, 11983, + 5992: 11984, 11985, 11986, + 5993: 11984, 11986, 11987, + 5994: 11988, 11989, 11990, + 5995: 11988, 11990, 11991, + 5996: 11992, 11993, 11994, + 5997: 11992, 11994, 11995, + 5998: 11996, 11997, 11998, + 5999: 11996, 11998, 11999, + 6000: 12000, 12001, 12002, + 6001: 12000, 12002, 12003, + 6002: 12004, 12005, 12006, + 6003: 12004, 12006, 12007, + 6004: 12008, 12009, 12010, + 6005: 12008, 12010, 12011, + 6006: 12012, 12013, 12014, + 6007: 12012, 12014, 12015, + 6008: 12016, 12017, 12018, + 6009: 12016, 12018, 12019, + 6010: 12020, 12021, 12022, + 6011: 12020, 12022, 12023, + 6012: 12024, 12025, 12026, + 6013: 12024, 12026, 12027, + 6014: 12028, 12029, 12030, + 6015: 12028, 12030, 12031, + 6016: 12032, 12033, 12034, + 6017: 12032, 12034, 12035, + 6018: 12036, 12037, 12038, + 6019: 12036, 12038, 12039, + 6020: 12040, 12041, 12042, + 6021: 12040, 12042, 12043, + 6022: 12044, 12045, 12046, + 6023: 12044, 12046, 12047, + 6024: 12048, 12049, 12050, + 6025: 12048, 12050, 12051, + 6026: 12052, 12053, 12054, + 6027: 12052, 12054, 12055, + 6028: 12056, 12057, 12058, + 6029: 12056, 12058, 12059, + 6030: 12060, 12061, 12062, + 6031: 12060, 12062, 12063, + 6032: 12064, 12065, 12066, + 6033: 12064, 12066, 12067, + 6034: 12068, 12069, 12070, + 6035: 12068, 12070, 12071, + 6036: 12072, 12073, 12074, + 6037: 12072, 12074, 12075, + 6038: 12076, 12077, 12078, + 6039: 12076, 12078, 12079, + 6040: 12080, 12081, 12082, + 6041: 12080, 12082, 12083, + 6042: 12084, 12085, 12086, + 6043: 12084, 12086, 12087, + 6044: 12088, 12089, 12090, + 6045: 12088, 12090, 12091, + 6046: 12092, 12093, 12094, + 6047: 12092, 12094, 12095, + 6048: 12096, 12097, 12098, + 6049: 12096, 12098, 12099, + 6050: 12100, 12101, 12102, + 6051: 12100, 12102, 12103, + 6052: 12104, 12105, 12106, + 6053: 12104, 12106, 12107, + 6054: 12108, 12109, 12110, + 6055: 12108, 12110, 12111, + 6056: 12112, 12113, 12114, + 6057: 12112, 12114, 12115, + 6058: 12116, 12117, 12118, + 6059: 12116, 12118, 12119, + 6060: 12120, 12121, 12122, + 6061: 12120, 12122, 12123, + 6062: 12124, 12125, 12126, + 6063: 12124, 12126, 12127, + 6064: 12128, 12129, 12130, + 6065: 12128, 12130, 12131, + 6066: 12132, 12133, 12134, + 6067: 12132, 12134, 12135, + 6068: 12136, 12137, 12138, + 6069: 12136, 12138, 12139, + 6070: 12140, 12141, 12142, + 6071: 12140, 12142, 12143, + 6072: 12144, 12145, 12146, + 6073: 12144, 12146, 12147, + 6074: 12148, 12149, 12150, + 6075: 12148, 12150, 12151, + 6076: 12152, 12153, 12154, + 6077: 12152, 12154, 12155, + 6078: 12156, 12157, 12158, + 6079: 12156, 12158, 12159, + 6080: 12160, 12161, 12162, + 6081: 12160, 12162, 12163, + 6082: 12164, 12165, 12166, + 6083: 12164, 12166, 12167, + 6084: 12168, 12169, 12170, + 6085: 12168, 12170, 12171, + 6086: 12172, 12173, 12174, + 6087: 12172, 12174, 12175, + 6088: 12176, 12177, 12178, + 6089: 12176, 12178, 12179, + 6090: 12180, 12181, 12182, + 6091: 12180, 12182, 12183, + 6092: 12184, 12185, 12186, + 6093: 12184, 12186, 12187, + 6094: 12188, 12189, 12190, + 6095: 12188, 12190, 12191, + 6096: 12192, 12193, 12194, + 6097: 12192, 12194, 12195, + 6098: 12196, 12197, 12198, + 6099: 12196, 12198, 12199, + 6100: 12200, 12201, 12202, + 6101: 12200, 12202, 12203, + 6102: 12204, 12205, 12206, + 6103: 12204, 12206, 12207, + 6104: 12208, 12209, 12210, + 6105: 12208, 12210, 12211, + 6106: 12212, 12213, 12214, + 6107: 12212, 12214, 12215, + 6108: 12216, 12217, 12218, + 6109: 12216, 12218, 12219, + 6110: 12220, 12221, 12222, + 6111: 12220, 12222, 12223, + 6112: 12224, 12225, 12226, + 6113: 12224, 12226, 12227, + 6114: 12228, 12229, 12230, + 6115: 12228, 12230, 12231, + 6116: 12232, 12233, 12234, + 6117: 12232, 12234, 12235, + 6118: 12236, 12237, 12238, + 6119: 12236, 12238, 12239, + 6120: 12240, 12241, 12242, + 6121: 12240, 12242, 12243, + 6122: 12244, 12245, 12246, + 6123: 12244, 12246, 12247, + 6124: 12248, 12249, 12250, + 6125: 12248, 12250, 12251, + 6126: 12252, 12253, 12254, + 6127: 12252, 12254, 12255, + 6128: 12256, 12257, 12258, + 6129: 12256, 12258, 12259, + 6130: 12260, 12261, 12262, + 6131: 12260, 12262, 12263, + 6132: 12264, 12265, 12266, + 6133: 12264, 12266, 12267, + 6134: 12268, 12269, 12270, + 6135: 12268, 12270, 12271, + 6136: 12272, 12273, 12274, + 6137: 12272, 12274, 12275, + 6138: 12276, 12277, 12278, + 6139: 12276, 12278, 12279, + 6140: 12280, 12281, 12282, + 6141: 12280, 12282, 12283, + 6142: 12284, 12285, 12286, + 6143: 12284, 12286, 12287, + 6144: 12288, 12289, 12290, + 6145: 12288, 12290, 12291, + 6146: 12292, 12293, 12294, + 6147: 12292, 12294, 12295, + 6148: 12296, 12297, 12298, + 6149: 12296, 12298, 12299, + 6150: 12300, 12301, 12302, + 6151: 12300, 12302, 12303, + 6152: 12304, 12305, 12306, + 6153: 12304, 12306, 12307, + 6154: 12308, 12309, 12310, + 6155: 12308, 12310, 12311, + 6156: 12312, 12313, 12314, + 6157: 12312, 12314, 12315, + 6158: 12316, 12317, 12318, + 6159: 12316, 12318, 12319, + 6160: 12320, 12321, 12322, + 6161: 12320, 12322, 12323, + 6162: 12324, 12325, 12326, + 6163: 12324, 12326, 12327, + 6164: 12328, 12329, 12330, + 6165: 12328, 12330, 12331, + 6166: 12332, 12333, 12334, + 6167: 12332, 12334, 12335, + 6168: 12336, 12337, 12338, + 6169: 12336, 12338, 12339, + 6170: 12340, 12341, 12342, + 6171: 12340, 12342, 12343, + 6172: 12344, 12345, 12346, + 6173: 12344, 12346, 12347, + 6174: 12348, 12349, 12350, + 6175: 12348, 12350, 12351, + 6176: 12352, 12353, 12354, + 6177: 12352, 12354, 12355, + 6178: 12356, 12357, 12358, + 6179: 12356, 12358, 12359, + 6180: 12360, 12361, 12362, + 6181: 12360, 12362, 12363, + 6182: 12364, 12365, 12366, + 6183: 12364, 12366, 12367, + 6184: 12368, 12369, 12370, + 6185: 12368, 12370, 12371, + 6186: 12372, 12373, 12374, + 6187: 12372, 12374, 12375, + 6188: 12376, 12377, 12378, + 6189: 12376, 12378, 12379, + 6190: 12380, 12381, 12382, + 6191: 12380, 12382, 12383, + 6192: 12384, 12385, 12386, + 6193: 12384, 12386, 12387, + 6194: 12388, 12389, 12390, + 6195: 12388, 12390, 12391, + 6196: 12392, 12393, 12394, + 6197: 12392, 12394, 12395, + 6198: 12396, 12397, 12398, + 6199: 12396, 12398, 12399, + 6200: 12400, 12401, 12402, + 6201: 12400, 12402, 12403, + 6202: 12404, 12405, 12406, + 6203: 12404, 12406, 12407, + 6204: 12408, 12409, 12410, + 6205: 12408, 12410, 12411, + 6206: 12412, 12413, 12414, + 6207: 12412, 12414, 12415, + 6208: 12416, 12417, 12418, + 6209: 12416, 12418, 12419, + 6210: 12420, 12421, 12422, + 6211: 12420, 12422, 12423, + 6212: 12424, 12425, 12426, + 6213: 12424, 12426, 12427, + 6214: 12428, 12429, 12430, + 6215: 12428, 12430, 12431, + 6216: 12432, 12433, 12434, + 6217: 12432, 12434, 12435, + 6218: 12436, 12437, 12438, + 6219: 12436, 12438, 12439, + 6220: 12440, 12441, 12442, + 6221: 12440, 12442, 12443, + 6222: 12444, 12445, 12446, + 6223: 12444, 12446, 12447, + 6224: 12448, 12449, 12450, + 6225: 12448, 12450, 12451, + 6226: 12452, 12453, 12454, + 6227: 12452, 12454, 12455, + 6228: 12456, 12457, 12458, + 6229: 12456, 12458, 12459, + 6230: 12460, 12461, 12462, + 6231: 12460, 12462, 12463, + 6232: 12464, 12465, 12466, + 6233: 12464, 12466, 12467, + 6234: 12468, 12469, 12470, + 6235: 12468, 12470, 12471, + 6236: 12472, 12473, 12474, + 6237: 12472, 12474, 12475, + 6238: 12476, 12477, 12478, + 6239: 12476, 12478, 12479, + 6240: 12480, 12481, 12482, + 6241: 12480, 12482, 12483, + 6242: 12484, 12485, 12486, + 6243: 12484, 12486, 12487, + 6244: 12488, 12489, 12490, + 6245: 12488, 12490, 12491, + 6246: 12492, 12493, 12494, + 6247: 12492, 12494, 12495, + 6248: 12496, 12497, 12498, + 6249: 12496, 12498, 12499, + 6250: 12500, 12501, 12502, + 6251: 12500, 12502, 12503, + 6252: 12504, 12505, 12506, + 6253: 12504, 12506, 12507, + 6254: 12508, 12509, 12510, + 6255: 12508, 12510, 12511, + 6256: 12512, 12513, 12514, + 6257: 12512, 12514, 12515, + 6258: 12516, 12517, 12518, + 6259: 12516, 12518, 12519, + 6260: 12520, 12521, 12522, + 6261: 12520, 12522, 12523, + 6262: 12524, 12525, 12526, + 6263: 12524, 12526, 12527, + 6264: 12528, 12529, 12530, + 6265: 12528, 12530, 12531, + 6266: 12532, 12533, 12534, + 6267: 12532, 12534, 12535, + 6268: 12536, 12537, 12538, + 6269: 12536, 12538, 12539, + 6270: 12540, 12541, 12542, + 6271: 12540, 12542, 12543, + 6272: 12544, 12545, 12546, + 6273: 12544, 12546, 12547, + 6274: 12548, 12549, 12550, + 6275: 12548, 12550, 12551, + 6276: 12552, 12553, 12554, + 6277: 12552, 12554, 12555, + 6278: 12556, 12557, 12558, + 6279: 12556, 12558, 12559, + 6280: 12560, 12561, 12562, + 6281: 12560, 12562, 12563, + 6282: 12564, 12565, 12566, + 6283: 12564, 12566, 12567, + 6284: 12568, 12569, 12570, + 6285: 12568, 12570, 12571, + 6286: 12572, 12573, 12574, + 6287: 12572, 12574, 12575, + 6288: 12576, 12577, 12578, + 6289: 12576, 12578, 12579, + 6290: 12580, 12581, 12582, + 6291: 12580, 12582, 12583, + 6292: 12584, 12585, 12586, + 6293: 12584, 12586, 12587, + 6294: 12588, 12589, 12590, + 6295: 12588, 12590, 12591, + 6296: 12592, 12593, 12594, + 6297: 12592, 12594, 12595, + 6298: 12596, 12597, 12598, + 6299: 12596, 12598, 12599, + 6300: 12600, 12601, 12602, + 6301: 12600, 12602, 12603, + 6302: 12604, 12605, 12606, + 6303: 12604, 12606, 12607, + 6304: 12608, 12609, 12610, + 6305: 12608, 12610, 12611, + 6306: 12612, 12613, 12614, + 6307: 12612, 12614, 12615, + 6308: 12616, 12617, 12618, + 6309: 12616, 12618, 12619, + 6310: 12620, 12621, 12622, + 6311: 12620, 12622, 12623, + 6312: 12624, 12625, 12626, + 6313: 12624, 12626, 12627, + 6314: 12628, 12629, 12630, + 6315: 12628, 12630, 12631, + 6316: 12632, 12633, 12634, + 6317: 12632, 12634, 12635, + 6318: 12636, 12637, 12638, + 6319: 12636, 12638, 12639, + 6320: 12640, 12641, 12642, + 6321: 12640, 12642, 12643, + 6322: 12644, 12645, 12646, + 6323: 12644, 12646, 12647, + 6324: 12648, 12649, 12650, + 6325: 12648, 12650, 12651, + 6326: 12652, 12653, 12654, + 6327: 12652, 12654, 12655, + 6328: 12656, 12657, 12658, + 6329: 12656, 12658, 12659, + 6330: 12660, 12661, 12662, + 6331: 12660, 12662, 12663, + 6332: 12664, 12665, 12666, + 6333: 12664, 12666, 12667, + 6334: 12668, 12669, 12670, + 6335: 12668, 12670, 12671, + 6336: 12672, 12673, 12674, + 6337: 12672, 12674, 12675, + 6338: 12676, 12677, 12678, + 6339: 12676, 12678, 12679, + 6340: 12680, 12681, 12682, + 6341: 12680, 12682, 12683, + 6342: 12684, 12685, 12686, + 6343: 12684, 12686, 12687, + 6344: 12688, 12689, 12690, + 6345: 12688, 12690, 12691, + 6346: 12692, 12693, 12694, + 6347: 12692, 12694, 12695, + 6348: 12696, 12697, 12698, + 6349: 12696, 12698, 12699, + 6350: 12700, 12701, 12702, + 6351: 12700, 12702, 12703, + 6352: 12704, 12705, 12706, + 6353: 12704, 12706, 12707, + 6354: 12708, 12709, 12710, + 6355: 12708, 12710, 12711, + 6356: 12712, 12713, 12714, + 6357: 12712, 12714, 12715, + 6358: 12716, 12717, 12718, + 6359: 12716, 12718, 12719, + 6360: 12720, 12721, 12722, + 6361: 12720, 12722, 12723, + 6362: 12724, 12725, 12726, + 6363: 12724, 12726, 12727, + 6364: 12728, 12729, 12730, + 6365: 12728, 12730, 12731, + 6366: 12732, 12733, 12734, + 6367: 12732, 12734, 12735, + 6368: 12736, 12737, 12738, + 6369: 12736, 12738, 12739, + 6370: 12740, 12741, 12742, + 6371: 12740, 12742, 12743, + 6372: 12744, 12745, 12746, + 6373: 12744, 12746, 12747, + 6374: 12748, 12749, 12750, + 6375: 12748, 12750, 12751, + 6376: 12752, 12753, 12754, + 6377: 12752, 12754, 12755, + 6378: 12756, 12757, 12758, + 6379: 12756, 12758, 12759, + 6380: 12760, 12761, 12762, + 6381: 12760, 12762, 12763, + 6382: 12764, 12765, 12766, + 6383: 12764, 12766, 12767, + 6384: 12768, 12769, 12770, + 6385: 12768, 12770, 12771, + 6386: 12772, 12773, 12774, + 6387: 12772, 12774, 12775, + 6388: 12776, 12777, 12778, + 6389: 12776, 12778, 12779, + 6390: 12780, 12781, 12782, + 6391: 12780, 12782, 12783, + 6392: 12784, 12785, 12786, + 6393: 12784, 12786, 12787, + 6394: 12788, 12789, 12790, + 6395: 12788, 12790, 12791, + 6396: 12792, 12793, 12794, + 6397: 12792, 12794, 12795, + 6398: 12796, 12797, 12798, + 6399: 12796, 12798, 12799, + 6400: 12800, 12801, 12802, + 6401: 12800, 12802, 12803, + 6402: 12804, 12805, 12806, + 6403: 12804, 12806, 12807, + 6404: 12808, 12809, 12810, + 6405: 12808, 12810, 12811, + 6406: 12812, 12813, 12814, + 6407: 12812, 12814, 12815, + 6408: 12816, 12817, 12818, + 6409: 12816, 12818, 12819, + 6410: 12820, 12821, 12822, + 6411: 12820, 12822, 12823, + 6412: 12824, 12825, 12826, + 6413: 12824, 12826, 12827, + 6414: 12828, 12829, 12830, + 6415: 12828, 12830, 12831, + 6416: 12832, 12833, 12834, + 6417: 12832, 12834, 12835, + 6418: 12836, 12837, 12838, + 6419: 12836, 12838, 12839, + 6420: 12840, 12841, 12842, + 6421: 12840, 12842, 12843, + 6422: 12844, 12845, 12846, + 6423: 12844, 12846, 12847, + 6424: 12848, 12849, 12850, + 6425: 12848, 12850, 12851, + 6426: 12852, 12853, 12854, + 6427: 12852, 12854, 12855, + 6428: 12856, 12857, 12858, + 6429: 12856, 12858, 12859, + 6430: 12860, 12861, 12862, + 6431: 12860, 12862, 12863, + 6432: 12864, 12865, 12866, + 6433: 12864, 12866, 12867, + 6434: 12868, 12869, 12870, + 6435: 12868, 12870, 12871, + 6436: 12872, 12873, 12874, + 6437: 12872, 12874, 12875, + 6438: 12876, 12877, 12878, + 6439: 12876, 12878, 12879, + 6440: 12880, 12881, 12882, + 6441: 12880, 12882, 12883, + 6442: 12884, 12885, 12886, + 6443: 12884, 12886, 12887, + 6444: 12888, 12889, 12890, + 6445: 12888, 12890, 12891, + 6446: 12892, 12893, 12894, + 6447: 12892, 12894, 12895, + 6448: 12896, 12897, 12898, + 6449: 12896, 12898, 12899, + 6450: 12900, 12901, 12902, + 6451: 12900, 12902, 12903, + 6452: 12904, 12905, 12906, + 6453: 12904, 12906, 12907, + 6454: 12908, 12909, 12910, + 6455: 12908, 12910, 12911, + 6456: 12912, 12913, 12914, + 6457: 12912, 12914, 12915, + 6458: 12916, 12917, 12918, + 6459: 12916, 12918, 12919, + 6460: 12920, 12921, 12922, + 6461: 12920, 12922, 12923, + 6462: 12924, 12925, 12926, + 6463: 12924, 12926, 12927, + 6464: 12928, 12929, 12930, + 6465: 12928, 12930, 12931, + 6466: 12932, 12933, 12934, + 6467: 12932, 12934, 12935, + 6468: 12936, 12937, 12938, + 6469: 12936, 12938, 12939, + 6470: 12940, 12941, 12942, + 6471: 12940, 12942, 12943, + 6472: 12944, 12945, 12946, + 6473: 12944, 12946, 12947, + 6474: 12948, 12949, 12950, + 6475: 12948, 12950, 12951, + 6476: 12952, 12953, 12954, + 6477: 12952, 12954, 12955, + 6478: 12956, 12957, 12958, + 6479: 12956, 12958, 12959, + 6480: 12960, 12961, 12962, + 6481: 12960, 12962, 12963, + 6482: 12964, 12965, 12966, + 6483: 12964, 12966, 12967, + 6484: 12968, 12969, 12970, + 6485: 12968, 12970, 12971, + 6486: 12972, 12973, 12974, + 6487: 12972, 12974, 12975, + 6488: 12976, 12977, 12978, + 6489: 12976, 12978, 12979, + 6490: 12980, 12981, 12982, + 6491: 12980, 12982, 12983, + 6492: 12984, 12985, 12986, + 6493: 12984, 12986, 12987, + 6494: 12988, 12989, 12990, + 6495: 12988, 12990, 12991, + 6496: 12992, 12993, 12994, + 6497: 12992, 12994, 12995, + 6498: 12996, 12997, 12998, + 6499: 12996, 12998, 12999, + 6500: 13000, 13001, 13002, + 6501: 13000, 13002, 13003, + 6502: 13004, 13005, 13006, + 6503: 13004, 13006, 13007, + 6504: 13008, 13009, 13010, + 6505: 13008, 13010, 13011, + 6506: 13012, 13013, 13014, + 6507: 13012, 13014, 13015, + 6508: 13016, 13017, 13018, + 6509: 13016, 13018, 13019, + 6510: 13020, 13021, 13022, + 6511: 13020, 13022, 13023, + 6512: 13024, 13025, 13026, + 6513: 13024, 13026, 13027, + 6514: 13028, 13029, 13030, + 6515: 13028, 13030, 13031, + 6516: 13032, 13033, 13034, + 6517: 13032, 13034, 13035, + 6518: 13036, 13037, 13038, + 6519: 13036, 13038, 13039, + 6520: 13040, 13041, 13042, + 6521: 13040, 13042, 13043, + 6522: 13044, 13045, 13046, + 6523: 13044, 13046, 13047, + 6524: 13048, 13049, 13050, + 6525: 13048, 13050, 13051, + 6526: 13052, 13053, 13054, + 6527: 13052, 13054, 13055, + 6528: 13056, 13057, 13058, + 6529: 13056, 13058, 13059, + 6530: 13060, 13061, 13062, + 6531: 13060, 13062, 13063, + 6532: 13064, 13065, 13066, + 6533: 13064, 13066, 13067, + 6534: 13068, 13069, 13070, + 6535: 13068, 13070, 13071, + 6536: 13072, 13073, 13074, + 6537: 13072, 13074, 13075, + 6538: 13076, 13077, 13078, + 6539: 13076, 13078, 13079, + 6540: 13080, 13081, 13082, + 6541: 13080, 13082, 13083, + 6542: 13084, 13085, 13086, + 6543: 13084, 13086, 13087, + 6544: 13088, 13089, 13090, + 6545: 13088, 13090, 13091, + 6546: 13092, 13093, 13094, + 6547: 13092, 13094, 13095, + 6548: 13096, 13097, 13098, + 6549: 13096, 13098, 13099, + 6550: 13100, 13101, 13102, + 6551: 13100, 13102, 13103, + 6552: 13104, 13105, 13106, + 6553: 13104, 13106, 13107, + 6554: 13108, 13109, 13110, + 6555: 13108, 13110, 13111, + 6556: 13112, 13113, 13114, + 6557: 13112, 13114, 13115, + 6558: 13116, 13117, 13118, + 6559: 13116, 13118, 13119, + 6560: 13120, 13121, 13122, + 6561: 13120, 13122, 13123, + 6562: 13124, 13125, 13126, + 6563: 13124, 13126, 13127, + 6564: 13128, 13129, 13130, + 6565: 13128, 13130, 13131, + 6566: 13132, 13133, 13134, + 6567: 13132, 13134, 13135, + 6568: 13136, 13137, 13138, + 6569: 13136, 13138, 13139, + 6570: 13140, 13141, 13142, + 6571: 13140, 13142, 13143, + 6572: 13144, 13145, 13146, + 6573: 13144, 13146, 13147, + 6574: 13148, 13149, 13150, + 6575: 13148, 13150, 13151, + 6576: 13152, 13153, 13154, + 6577: 13152, 13154, 13155, + 6578: 13156, 13157, 13158, + 6579: 13156, 13158, 13159, + 6580: 13160, 13161, 13162, + 6581: 13160, 13162, 13163, + 6582: 13164, 13165, 13166, + 6583: 13164, 13166, 13167, + 6584: 13168, 13169, 13170, + 6585: 13168, 13170, 13171, + 6586: 13172, 13173, 13174, + 6587: 13172, 13174, 13175, + 6588: 13176, 13177, 13178, + 6589: 13176, 13178, 13179, + 6590: 13180, 13181, 13182, + 6591: 13180, 13182, 13183, + 6592: 13184, 13185, 13186, + 6593: 13184, 13186, 13187, + 6594: 13188, 13189, 13190, + 6595: 13188, 13190, 13191, + 6596: 13192, 13193, 13194, + 6597: 13192, 13194, 13195, + 6598: 13196, 13197, 13198, + 6599: 13196, 13198, 13199, + 6600: 13200, 13201, 13202, + 6601: 13200, 13202, 13203, + 6602: 13204, 13205, 13206, + 6603: 13204, 13206, 13207, + 6604: 13208, 13209, 13210, + 6605: 13208, 13210, 13211, + 6606: 13212, 13213, 13214, + 6607: 13212, 13214, 13215, + 6608: 13216, 13217, 13218, + 6609: 13216, 13218, 13219, + 6610: 13220, 13221, 13222, + 6611: 13220, 13222, 13223, + 6612: 13224, 13225, 13226, + 6613: 13224, 13226, 13227, + 6614: 13228, 13229, 13230, + 6615: 13228, 13230, 13231, + 6616: 13232, 13233, 13234, + 6617: 13232, 13234, 13235, + 6618: 13236, 13237, 13238, + 6619: 13236, 13238, 13239, + 6620: 13240, 13241, 13242, + 6621: 13240, 13242, 13243, + 6622: 13244, 13245, 13246, + 6623: 13244, 13246, 13247, + 6624: 13248, 13249, 13250, + 6625: 13248, 13250, 13251, + 6626: 13252, 13253, 13254, + 6627: 13252, 13254, 13255, + 6628: 13256, 13257, 13258, + 6629: 13256, 13258, 13259, + 6630: 13260, 13261, 13262, + 6631: 13260, 13262, 13263, + 6632: 13264, 13265, 13266, + 6633: 13264, 13266, 13267, + 6634: 13268, 13269, 13270, + 6635: 13268, 13270, 13271, + 6636: 13272, 13273, 13274, + 6637: 13272, 13274, 13275, + 6638: 13276, 13277, 13278, + 6639: 13276, 13278, 13279, + 6640: 13280, 13281, 13282, + 6641: 13280, 13282, 13283, + 6642: 13284, 13285, 13286, + 6643: 13284, 13286, 13287, + 6644: 13288, 13289, 13290, + 6645: 13288, 13290, 13291, + 6646: 13292, 13293, 13294, + 6647: 13292, 13294, 13295, + 6648: 13296, 13297, 13298, + 6649: 13296, 13298, 13299, + 6650: 13300, 13301, 13302, + 6651: 13300, 13302, 13303, + 6652: 13304, 13305, 13306, + 6653: 13304, 13306, 13307, + 6654: 13308, 13309, 13310, + 6655: 13308, 13310, 13311, + 6656: 13312, 13313, 13314, + 6657: 13312, 13314, 13315, + 6658: 13316, 13317, 13318, + 6659: 13316, 13318, 13319, + 6660: 13320, 13321, 13322, + 6661: 13320, 13322, 13323, + 6662: 13324, 13325, 13326, + 6663: 13324, 13326, 13327, + 6664: 13328, 13329, 13330, + 6665: 13328, 13330, 13331, + 6666: 13332, 13333, 13334, + 6667: 13332, 13334, 13335, + 6668: 13336, 13337, 13338, + 6669: 13336, 13338, 13339, + 6670: 13340, 13341, 13342, + 6671: 13340, 13342, 13343, + 6672: 13344, 13345, 13346, + 6673: 13344, 13346, 13347, + 6674: 13348, 13349, 13350, + 6675: 13348, 13350, 13351, + 6676: 13352, 13353, 13354, + 6677: 13352, 13354, 13355, + 6678: 13356, 13357, 13358, + 6679: 13356, 13358, 13359, + 6680: 13360, 13361, 13362, + 6681: 13360, 13362, 13363, + 6682: 13364, 13365, 13366, + 6683: 13364, 13366, 13367, + 6684: 13368, 13369, 13370, + 6685: 13368, 13370, 13371, + 6686: 13372, 13373, 13374, + 6687: 13372, 13374, 13375, + 6688: 13376, 13377, 13378, + 6689: 13376, 13378, 13379, + 6690: 13380, 13381, 13382, + 6691: 13380, 13382, 13383, + 6692: 13384, 13385, 13386, + 6693: 13384, 13386, 13387, + 6694: 13388, 13389, 13390, + 6695: 13388, 13390, 13391, + 6696: 13392, 13393, 13394, + 6697: 13392, 13394, 13395, + 6698: 13396, 13397, 13398, + 6699: 13396, 13398, 13399, + 6700: 13400, 13401, 13402, + 6701: 13400, 13402, 13403, + 6702: 13404, 13405, 13406, + 6703: 13404, 13406, 13407, + 6704: 13408, 13409, 13410, + 6705: 13408, 13410, 13411, + 6706: 13412, 13413, 13414, + 6707: 13412, 13414, 13415, + 6708: 13416, 13417, 13418, + 6709: 13416, 13418, 13419, + 6710: 13420, 13421, 13422, + 6711: 13420, 13422, 13423, + 6712: 13424, 13425, 13426, + 6713: 13424, 13426, 13427, + 6714: 13428, 13429, 13430, + 6715: 13428, 13430, 13431, + 6716: 13432, 13433, 13434, + 6717: 13432, 13434, 13435, + 6718: 13436, 13437, 13438, + 6719: 13436, 13438, 13439, + 6720: 13440, 13441, 13442, + 6721: 13440, 13442, 13443, + 6722: 13444, 13445, 13446, + 6723: 13444, 13446, 13447, + 6724: 13448, 13449, 13450, + 6725: 13448, 13450, 13451, + 6726: 13452, 13453, 13454, + 6727: 13452, 13454, 13455, + 6728: 13456, 13457, 13458, + 6729: 13456, 13458, 13459, + 6730: 13460, 13461, 13462, + 6731: 13460, 13462, 13463, + 6732: 13464, 13465, 13466, + 6733: 13464, 13466, 13467, + 6734: 13468, 13469, 13470, + 6735: 13468, 13470, 13471, + 6736: 13472, 13473, 13474, + 6737: 13472, 13474, 13475, + 6738: 13476, 13477, 13478, + 6739: 13476, 13478, 13479, + 6740: 13480, 13481, 13482, + 6741: 13480, 13482, 13483, + 6742: 13484, 13485, 13486, + 6743: 13484, 13486, 13487, + 6744: 13488, 13489, 13490, + 6745: 13488, 13490, 13491, + 6746: 13492, 13493, 13494, + 6747: 13492, 13494, 13495, + 6748: 13496, 13497, 13498, + 6749: 13496, 13498, 13499, + 6750: 13500, 13501, 13502, + 6751: 13500, 13502, 13503, + 6752: 13504, 13505, 13506, + 6753: 13504, 13506, 13507, + 6754: 13508, 13509, 13510, + 6755: 13508, 13510, 13511, + 6756: 13512, 13513, 13514, + 6757: 13512, 13514, 13515, + 6758: 13516, 13517, 13518, + 6759: 13516, 13518, 13519, + 6760: 13520, 13521, 13522, + 6761: 13520, 13522, 13523, + 6762: 13524, 13525, 13526, + 6763: 13524, 13526, 13527, + 6764: 13528, 13529, 13530, + 6765: 13528, 13530, 13531, + 6766: 13532, 13533, 13534, + 6767: 13532, 13534, 13535, + 6768: 13536, 13537, 13538, + 6769: 13536, 13538, 13539, + 6770: 13540, 13541, 13542, + 6771: 13540, 13542, 13543, + 6772: 13544, 13545, 13546, + 6773: 13544, 13546, 13547, + 6774: 13548, 13549, 13550, + 6775: 13548, 13550, 13551, + 6776: 13552, 13553, 13554, + 6777: 13552, 13554, 13555, + 6778: 13556, 13557, 13558, + 6779: 13556, 13558, 13559, + 6780: 13560, 13561, 13562, + 6781: 13560, 13562, 13563, + 6782: 13564, 13565, 13566, + 6783: 13564, 13566, 13567, + 6784: 13568, 13569, 13570, + 6785: 13568, 13570, 13571, + 6786: 13572, 13573, 13574, + 6787: 13572, 13574, 13575, + 6788: 13576, 13577, 13578, + 6789: 13576, 13578, 13579, + 6790: 13580, 13581, 13582, + 6791: 13580, 13582, 13583, + 6792: 13584, 13585, 13586, + 6793: 13584, 13586, 13587, + 6794: 13588, 13589, 13590, + 6795: 13588, 13590, 13591, + 6796: 13592, 13593, 13594, + 6797: 13592, 13594, 13595, + 6798: 13596, 13597, 13598, + 6799: 13596, 13598, 13599, + 6800: 13600, 13601, 13602, + 6801: 13600, 13602, 13603, + 6802: 13604, 13605, 13606, + 6803: 13604, 13606, 13607, + 6804: 13608, 13609, 13610, + 6805: 13608, 13610, 13611, + 6806: 13612, 13613, 13614, + 6807: 13612, 13614, 13615, + 6808: 13616, 13617, 13618, + 6809: 13616, 13618, 13619, + 6810: 13620, 13621, 13622, + 6811: 13620, 13622, 13623, + 6812: 13624, 13625, 13626, + 6813: 13624, 13626, 13627, + 6814: 13628, 13629, 13630, + 6815: 13628, 13630, 13631, + 6816: 13632, 13633, 13634, + 6817: 13632, 13634, 13635, + 6818: 13636, 13637, 13638, + 6819: 13636, 13638, 13639, + 6820: 13640, 13641, 13642, + 6821: 13640, 13642, 13643, + 6822: 13644, 13645, 13646, + 6823: 13644, 13646, 13647, + 6824: 13648, 13649, 13650, + 6825: 13648, 13650, 13651, + 6826: 13652, 13653, 13654, + 6827: 13652, 13654, 13655, + 6828: 13656, 13657, 13658, + 6829: 13656, 13658, 13659, + 6830: 13660, 13661, 13662, + 6831: 13660, 13662, 13663, + 6832: 13664, 13665, 13666, + 6833: 13664, 13666, 13667, + 6834: 13668, 13669, 13670, + 6835: 13668, 13670, 13671, + 6836: 13672, 13673, 13674, + 6837: 13672, 13674, 13675, + 6838: 13676, 13677, 13678, + 6839: 13676, 13678, 13679, + 6840: 13680, 13681, 13682, + 6841: 13680, 13682, 13683, + 6842: 13684, 13685, 13686, + 6843: 13684, 13686, 13687, + 6844: 13688, 13689, 13690, + 6845: 13688, 13690, 13691, + 6846: 13692, 13693, 13694, + 6847: 13692, 13694, 13695, + 6848: 13696, 13697, 13698, + 6849: 13696, 13698, 13699, + 6850: 13700, 13701, 13702, + 6851: 13700, 13702, 13703, + 6852: 13704, 13705, 13706, + 6853: 13704, 13706, 13707, + 6854: 13708, 13709, 13710, + 6855: 13708, 13710, 13711, + 6856: 13712, 13713, 13714, + 6857: 13712, 13714, 13715, + 6858: 13716, 13717, 13718, + 6859: 13716, 13718, 13719, + 6860: 13720, 13721, 13722, + 6861: 13720, 13722, 13723, + 6862: 13724, 13725, 13726, + 6863: 13724, 13726, 13727, + 6864: 13728, 13729, 13730, + 6865: 13728, 13730, 13731, + 6866: 13732, 13733, 13734, + 6867: 13732, 13734, 13735, + 6868: 13736, 13737, 13738, + 6869: 13736, 13738, 13739, + 6870: 13740, 13741, 13742, + 6871: 13740, 13742, 13743, + 6872: 13744, 13745, 13746, + 6873: 13744, 13746, 13747, + 6874: 13748, 13749, 13750, + 6875: 13748, 13750, 13751, + 6876: 13752, 13753, 13754, + 6877: 13752, 13754, 13755, + 6878: 13756, 13757, 13758, + 6879: 13756, 13758, 13759, + 6880: 13760, 13761, 13762, + 6881: 13760, 13762, 13763, + 6882: 13764, 13765, 13766, + 6883: 13764, 13766, 13767, + 6884: 13768, 13769, 13770, + 6885: 13768, 13770, 13771, + 6886: 13772, 13773, 13774, + 6887: 13772, 13774, 13775, + 6888: 13776, 13777, 13778, + 6889: 13776, 13778, 13779, + 6890: 13780, 13781, 13782, + 6891: 13780, 13782, 13783, + 6892: 13784, 13785, 13786, + 6893: 13784, 13786, 13787, + 6894: 13788, 13789, 13790, + 6895: 13788, 13790, 13791, + 6896: 13792, 13793, 13794, + 6897: 13792, 13794, 13795, + 6898: 13796, 13797, 13798, + 6899: 13796, 13798, 13799, + 6900: 13800, 13801, 13802, + 6901: 13800, 13802, 13803, + 6902: 13804, 13805, 13806, + 6903: 13804, 13806, 13807, + 6904: 13808, 13809, 13810, + 6905: 13808, 13810, 13811, + 6906: 13812, 13813, 13814, + 6907: 13812, 13814, 13815, + 6908: 13816, 13817, 13818, + 6909: 13816, 13818, 13819, + 6910: 13820, 13821, 13822, + 6911: 13820, 13822, 13823, + 6912: 13824, 13825, 13826, + 6913: 13824, 13826, 13827, + 6914: 13828, 13829, 13830, + 6915: 13828, 13830, 13831, + 6916: 13832, 13833, 13834, + 6917: 13832, 13834, 13835, + 6918: 13836, 13837, 13838, + 6919: 13836, 13838, 13839, + 6920: 13840, 13841, 13842, + 6921: 13840, 13842, 13843, + 6922: 13844, 13845, 13846, + 6923: 13844, 13846, 13847, + 6924: 13848, 13849, 13850, + 6925: 13848, 13850, 13851, + 6926: 13852, 13853, 13854, + 6927: 13852, 13854, 13855, + 6928: 13856, 13857, 13858, + 6929: 13856, 13858, 13859, + 6930: 13860, 13861, 13862, + 6931: 13860, 13862, 13863, + 6932: 13864, 13865, 13866, + 6933: 13864, 13866, 13867, + 6934: 13868, 13869, 13870, + 6935: 13868, 13870, 13871, + 6936: 13872, 13873, 13874, + 6937: 13872, 13874, 13875, + 6938: 13876, 13877, 13878, + 6939: 13876, 13878, 13879, + 6940: 13880, 13881, 13882, + 6941: 13880, 13882, 13883, + 6942: 13884, 13885, 13886, + 6943: 13884, 13886, 13887, + 6944: 13888, 13889, 13890, + 6945: 13888, 13890, 13891, + 6946: 13892, 13893, 13894, + 6947: 13892, 13894, 13895, + 6948: 13896, 13897, 13898, + 6949: 13896, 13898, 13899, + 6950: 13900, 13901, 13902, + 6951: 13900, 13902, 13903, + 6952: 13904, 13905, 13906, + 6953: 13904, 13906, 13907, + 6954: 13908, 13909, 13910, + 6955: 13908, 13910, 13911, + 6956: 13912, 13913, 13914, + 6957: 13912, 13914, 13915, + 6958: 13916, 13917, 13918, + 6959: 13916, 13918, 13919, + 6960: 13920, 13921, 13922, + 6961: 13920, 13922, 13923, + 6962: 13924, 13925, 13926, + 6963: 13924, 13926, 13927, + 6964: 13928, 13929, 13930, + 6965: 13928, 13930, 13931, + 6966: 13932, 13933, 13934, + 6967: 13932, 13934, 13935, + 6968: 13936, 13937, 13938, + 6969: 13936, 13938, 13939, + 6970: 13940, 13941, 13942, + 6971: 13940, 13942, 13943, + 6972: 13944, 13945, 13946, + 6973: 13944, 13946, 13947, + 6974: 13948, 13949, 13950, + 6975: 13948, 13950, 13951, + 6976: 13952, 13953, 13954, + 6977: 13952, 13954, 13955, + 6978: 13956, 13957, 13958, + 6979: 13956, 13958, 13959, + 6980: 13960, 13961, 13962, + 6981: 13960, 13962, 13963, + 6982: 13964, 13965, 13966, + 6983: 13964, 13966, 13967, + 6984: 13968, 13969, 13970, + 6985: 13968, 13970, 13971, + 6986: 13972, 13973, 13974, + 6987: 13972, 13974, 13975, + 6988: 13976, 13977, 13978, + 6989: 13976, 13978, 13979, + 6990: 13980, 13981, 13982, + 6991: 13980, 13982, 13983, + 6992: 13984, 13985, 13986, + 6993: 13984, 13986, 13987, + 6994: 13988, 13989, 13990, + 6995: 13988, 13990, 13991, + 6996: 13992, 13993, 13994, + 6997: 13992, 13994, 13995, + 6998: 13996, 13997, 13998, + 6999: 13996, 13998, 13999, + 7000: 14000, 14001, 14002, + 7001: 14000, 14002, 14003, + 7002: 14004, 14005, 14006, + 7003: 14004, 14006, 14007, + 7004: 14008, 14009, 14010, + 7005: 14008, 14010, 14011, + 7006: 14012, 14013, 14014, + 7007: 14012, 14014, 14015, + 7008: 14016, 14017, 14018, + 7009: 14016, 14018, 14019, + 7010: 14020, 14021, 14022, + 7011: 14020, 14022, 14023, + 7012: 14024, 14025, 14026, + 7013: 14024, 14026, 14027, + 7014: 14028, 14029, 14030, + 7015: 14028, 14030, 14031, + 7016: 14032, 14033, 14034, + 7017: 14032, 14034, 14035, + 7018: 14036, 14037, 14038, + 7019: 14036, 14038, 14039, + 7020: 14040, 14041, 14042, + 7021: 14040, 14042, 14043, + 7022: 14044, 14045, 14046, + 7023: 14044, 14046, 14047, + 7024: 14048, 14049, 14050, + 7025: 14048, 14050, 14051, + 7026: 14052, 14053, 14054, + 7027: 14052, 14054, 14055, + 7028: 14056, 14057, 14058, + 7029: 14056, 14058, 14059, + 7030: 14060, 14061, 14062, + 7031: 14060, 14062, 14063, + 7032: 14064, 14065, 14066, + 7033: 14064, 14066, 14067, + 7034: 14068, 14069, 14070, + 7035: 14068, 14070, 14071, + 7036: 14072, 14073, 14074, + 7037: 14072, 14074, 14075, + 7038: 14076, 14077, 14078, + 7039: 14076, 14078, 14079, + 7040: 14080, 14081, 14082, + 7041: 14080, 14082, 14083, + 7042: 14084, 14085, 14086, + 7043: 14084, 14086, 14087, + 7044: 14088, 14089, 14090, + 7045: 14088, 14090, 14091, + 7046: 14092, 14093, 14094, + 7047: 14092, 14094, 14095, + 7048: 14096, 14097, 14098, + 7049: 14096, 14098, 14099, + 7050: 14100, 14101, 14102, + 7051: 14100, 14102, 14103, + 7052: 14104, 14105, 14106, + 7053: 14104, 14106, 14107, + 7054: 14108, 14109, 14110, + 7055: 14108, 14110, 14111, + 7056: 14112, 14113, 14114, + 7057: 14112, 14114, 14115, + 7058: 14116, 14117, 14118, + 7059: 14116, 14118, 14119, + 7060: 14120, 14121, 14122, + 7061: 14120, 14122, 14123, + 7062: 14124, 14125, 14126, + 7063: 14124, 14126, 14127, + 7064: 14128, 14129, 14130, + 7065: 14128, 14130, 14131, + 7066: 14132, 14133, 14134, + 7067: 14132, 14134, 14135, + 7068: 14136, 14137, 14138, + 7069: 14136, 14138, 14139, + 7070: 14140, 14141, 14142, + 7071: 14140, 14142, 14143, + 7072: 14144, 14145, 14146, + 7073: 14144, 14146, 14147, + 7074: 14148, 14149, 14150, + 7075: 14148, 14150, 14151, + 7076: 14152, 14153, 14154, + 7077: 14152, 14154, 14155, + 7078: 14156, 14157, 14158, + 7079: 14156, 14158, 14159, + 7080: 14160, 14161, 14162, + 7081: 14160, 14162, 14163, + 7082: 14164, 14165, 14166, + 7083: 14164, 14166, 14167, + 7084: 14168, 14169, 14170, + 7085: 14168, 14170, 14171, + 7086: 14172, 14173, 14174, + 7087: 14172, 14174, 14175, + 7088: 14176, 14177, 14178, + 7089: 14176, 14178, 14179, + 7090: 14180, 14181, 14182, + 7091: 14180, 14182, 14183, + 7092: 14184, 14185, 14186, + 7093: 14184, 14186, 14187, + 7094: 14188, 14189, 14190, + 7095: 14188, 14190, 14191, + 7096: 14192, 14193, 14194, + 7097: 14192, 14194, 14195, + 7098: 14196, 14197, 14198, + 7099: 14196, 14198, 14199, + 7100: 14200, 14201, 14202, + 7101: 14200, 14202, 14203, + 7102: 14204, 14205, 14206, + 7103: 14204, 14206, 14207, + 7104: 14208, 14209, 14210, + 7105: 14208, 14210, 14211, + 7106: 14212, 14213, 14214, + 7107: 14212, 14214, 14215, + 7108: 14216, 14217, 14218, + 7109: 14216, 14218, 14219, + 7110: 14220, 14221, 14222, + 7111: 14220, 14222, 14223, + 7112: 14224, 14225, 14226, + 7113: 14224, 14226, 14227, + 7114: 14228, 14229, 14230, + 7115: 14228, 14230, 14231, + 7116: 14232, 14233, 14234, + 7117: 14232, 14234, 14235, + 7118: 14236, 14237, 14238, + 7119: 14236, 14238, 14239, + 7120: 14240, 14241, 14242, + 7121: 14240, 14242, 14243, + 7122: 14244, 14245, 14246, + 7123: 14244, 14246, 14247, + 7124: 14248, 14249, 14250, + 7125: 14248, 14250, 14251, + 7126: 14252, 14253, 14254, + 7127: 14252, 14254, 14255, + 7128: 14256, 14257, 14258, + 7129: 14256, 14258, 14259, + 7130: 14260, 14261, 14262, + 7131: 14260, 14262, 14263, + 7132: 14264, 14265, 14266, + 7133: 14264, 14266, 14267, + 7134: 14268, 14269, 14270, + 7135: 14268, 14270, 14271, + 7136: 14272, 14273, 14274, + 7137: 14272, 14274, 14275, + 7138: 14276, 14277, 14278, + 7139: 14276, 14278, 14279, + 7140: 14280, 14281, 14282, + 7141: 14280, 14282, 14283, + 7142: 14284, 14285, 14286, + 7143: 14284, 14286, 14287, + 7144: 14288, 14289, 14290, + 7145: 14288, 14290, 14291, + 7146: 14292, 14293, 14294, + 7147: 14292, 14294, 14295, + 7148: 14296, 14297, 14298, + 7149: 14296, 14298, 14299, + 7150: 14300, 14301, 14302, + 7151: 14300, 14302, 14303, + 7152: 14304, 14305, 14306, + 7153: 14304, 14306, 14307, + 7154: 14308, 14309, 14310, + 7155: 14308, 14310, 14311, + 7156: 14312, 14313, 14314, + 7157: 14312, 14314, 14315, + 7158: 14316, 14317, 14318, + 7159: 14316, 14318, 14319, + 7160: 14320, 14321, 14322, + 7161: 14320, 14322, 14323, + 7162: 14324, 14325, 14326, + 7163: 14324, 14326, 14327, + 7164: 14328, 14329, 14330, + 7165: 14328, 14330, 14331, + 7166: 14332, 14333, 14334, + 7167: 14332, 14334, 14335, + 7168: 14336, 14337, 14338, + 7169: 14336, 14338, 14339, + 7170: 14340, 14341, 14342, + 7171: 14340, 14342, 14343, + 7172: 14344, 14345, 14346, + 7173: 14344, 14346, 14347, + 7174: 14348, 14349, 14350, + 7175: 14348, 14350, 14351, + 7176: 14352, 14353, 14354, + 7177: 14352, 14354, 14355, + 7178: 14356, 14357, 14358, + 7179: 14356, 14358, 14359, + 7180: 14360, 14361, 14362, + 7181: 14360, 14362, 14363, + 7182: 14364, 14365, 14366, + 7183: 14364, 14366, 14367, + 7184: 14368, 14369, 14370, + 7185: 14368, 14370, 14371, + 7186: 14372, 14373, 14374, + 7187: 14372, 14374, 14375, + 7188: 14376, 14377, 14378, + 7189: 14376, 14378, 14379, + 7190: 14380, 14381, 14382, + 7191: 14380, 14382, 14383, + 7192: 14384, 14385, 14386, + 7193: 14384, 14386, 14387, + 7194: 14388, 14389, 14390, + 7195: 14388, 14390, 14391, + 7196: 14392, 14393, 14394, + 7197: 14392, 14394, 14395, + 7198: 14396, 14397, 14398, + 7199: 14396, 14398, 14399, + 7200: 14400, 14401, 14402, + 7201: 14400, 14402, 14403, + 7202: 14404, 14405, 14406, + 7203: 14404, 14406, 14407, + 7204: 14408, 14409, 14410, + 7205: 14408, 14410, 14411, + 7206: 14412, 14413, 14414, + 7207: 14412, 14414, 14415, + 7208: 14416, 14417, 14418, + 7209: 14416, 14418, 14419, + 7210: 14420, 14421, 14422, + 7211: 14420, 14422, 14423, + 7212: 14424, 14425, 14426, + 7213: 14424, 14426, 14427, + 7214: 14428, 14429, 14430, + 7215: 14428, 14430, 14431, + 7216: 14432, 14433, 14434, + 7217: 14432, 14434, 14435, + 7218: 14436, 14437, 14438, + 7219: 14436, 14438, 14439, + 7220: 14440, 14441, 14442, + 7221: 14440, 14442, 14443, + 7222: 14444, 14445, 14446, + 7223: 14444, 14446, 14447, + 7224: 14448, 14449, 14450, + 7225: 14448, 14450, 14451, + 7226: 14452, 14453, 14454, + 7227: 14452, 14454, 14455, + 7228: 14456, 14457, 14458, + 7229: 14456, 14458, 14459, + 7230: 14460, 14461, 14462, + 7231: 14460, 14462, 14463, + 7232: 14464, 14465, 14466, + 7233: 14464, 14466, 14467, + 7234: 14468, 14469, 14470, + 7235: 14468, 14470, 14471, + 7236: 14472, 14473, 14474, + 7237: 14472, 14474, 14475, + 7238: 14476, 14477, 14478, + 7239: 14476, 14478, 14479, + 7240: 14480, 14481, 14482, + 7241: 14480, 14482, 14483, + 7242: 14484, 14485, 14486, + 7243: 14484, 14486, 14487, + 7244: 14488, 14489, 14490, + 7245: 14488, 14490, 14491, + 7246: 14492, 14493, 14494, + 7247: 14492, 14494, 14495, + 7248: 14496, 14497, 14498, + 7249: 14496, 14498, 14499, + 7250: 14500, 14501, 14502, + 7251: 14500, 14502, 14503, + 7252: 14504, 14505, 14506, + 7253: 14504, 14506, 14507, + 7254: 14508, 14509, 14510, + 7255: 14508, 14510, 14511, + 7256: 14512, 14513, 14514, + 7257: 14512, 14514, 14515, + 7258: 14516, 14517, 14518, + 7259: 14516, 14518, 14519, + 7260: 14520, 14521, 14522, + 7261: 14520, 14522, 14523, + 7262: 14524, 14525, 14526, + 7263: 14524, 14526, 14527, + 7264: 14528, 14529, 14530, + 7265: 14528, 14530, 14531, + 7266: 14532, 14533, 14534, + 7267: 14532, 14534, 14535, + 7268: 14536, 14537, 14538, + 7269: 14536, 14538, 14539, + 7270: 14540, 14541, 14542, + 7271: 14540, 14542, 14543, + 7272: 14544, 14545, 14546, + 7273: 14544, 14546, 14547, + 7274: 14548, 14549, 14550, + 7275: 14548, 14550, 14551, + 7276: 14552, 14553, 14554, + 7277: 14552, 14554, 14555, + 7278: 14556, 14557, 14558, + 7279: 14556, 14558, 14559, + 7280: 14560, 14561, 14562, + 7281: 14560, 14562, 14563, + 7282: 14564, 14565, 14566, + 7283: 14564, 14566, 14567, + 7284: 14568, 14569, 14570, + 7285: 14568, 14570, 14571, + 7286: 14572, 14573, 14574, + 7287: 14572, 14574, 14575, + 7288: 14576, 14577, 14578, + 7289: 14576, 14578, 14579, + 7290: 14580, 14581, 14582, + 7291: 14580, 14582, 14583, + 7292: 14584, 14585, 14586, + 7293: 14584, 14586, 14587, + 7294: 14588, 14589, 14590, + 7295: 14588, 14590, 14591, + 7296: 14592, 14593, 14594, + 7297: 14592, 14594, 14595, + 7298: 14596, 14597, 14598, + 7299: 14596, 14598, 14599, + 7300: 14600, 14601, 14602, + 7301: 14600, 14602, 14603, + 7302: 14604, 14605, 14606, + 7303: 14604, 14606, 14607, + 7304: 14608, 14609, 14610, + 7305: 14608, 14610, 14611, + 7306: 14612, 14613, 14614, + 7307: 14612, 14614, 14615, + 7308: 14616, 14617, 14618, + 7309: 14616, 14618, 14619, + 7310: 14620, 14621, 14622, + 7311: 14620, 14622, 14623, + 7312: 14624, 14625, 14626, + 7313: 14624, 14626, 14627, + 7314: 14628, 14629, 14630, + 7315: 14628, 14630, 14631, + 7316: 14632, 14633, 14634, + 7317: 14632, 14634, 14635, + 7318: 14636, 14637, 14638, + 7319: 14636, 14638, 14639, + 7320: 14640, 14641, 14642, + 7321: 14640, 14642, 14643, + 7322: 14644, 14645, 14646, + 7323: 14644, 14646, 14647, + 7324: 14648, 14649, 14650, + 7325: 14648, 14650, 14651, + 7326: 14652, 14653, 14654, + 7327: 14652, 14654, 14655, + 7328: 14656, 14657, 14658, + 7329: 14656, 14658, 14659, + 7330: 14660, 14661, 14662, + 7331: 14660, 14662, 14663, + 7332: 14664, 14665, 14666, + 7333: 14664, 14666, 14667, + 7334: 14668, 14669, 14670, + 7335: 14668, 14670, 14671, + 7336: 14672, 14673, 14674, + 7337: 14672, 14674, 14675, + 7338: 14676, 14677, 14678, + 7339: 14676, 14678, 14679, + 7340: 14680, 14681, 14682, + 7341: 14680, 14682, 14683, + 7342: 14684, 14685, 14686, + 7343: 14684, 14686, 14687, + 7344: 14688, 14689, 14690, + 7345: 14688, 14690, 14691, + 7346: 14692, 14693, 14694, + 7347: 14692, 14694, 14695, + 7348: 14696, 14697, 14698, + 7349: 14696, 14698, 14699, + 7350: 14700, 14701, 14702, + 7351: 14700, 14702, 14703, + 7352: 14704, 14705, 14706, + 7353: 14704, 14706, 14707, + 7354: 14708, 14709, 14710, + 7355: 14708, 14710, 14711, + 7356: 14712, 14713, 14714, + 7357: 14712, 14714, 14715, + 7358: 14716, 14717, 14718, + 7359: 14716, 14718, 14719, + 7360: 14720, 14721, 14722, + 7361: 14720, 14722, 14723, + 7362: 14724, 14725, 14726, + 7363: 14724, 14726, 14727, + 7364: 14728, 14729, 14730, + 7365: 14728, 14730, 14731, + 7366: 14732, 14733, 14734, + 7367: 14732, 14734, 14735, + 7368: 14736, 14737, 14738, + 7369: 14736, 14738, 14739, + 7370: 14740, 14741, 14742, + 7371: 14740, 14742, 14743, + 7372: 14744, 14745, 14746, + 7373: 14744, 14746, 14747, + 7374: 14748, 14749, 14750, + 7375: 14748, 14750, 14751, + 7376: 14752, 14753, 14754, + 7377: 14752, 14754, 14755, + 7378: 14756, 14757, 14758, + 7379: 14756, 14758, 14759, + 7380: 14760, 14761, 14762, + 7381: 14760, 14762, 14763, + 7382: 14764, 14765, 14766, + 7383: 14764, 14766, 14767, + 7384: 14768, 14769, 14770, + 7385: 14768, 14770, 14771, + 7386: 14772, 14773, 14774, + 7387: 14772, 14774, 14775, + 7388: 14776, 14777, 14778, + 7389: 14776, 14778, 14779, + 7390: 14780, 14781, 14782, + 7391: 14780, 14782, 14783, + 7392: 14784, 14785, 14786, + 7393: 14784, 14786, 14787, + 7394: 14788, 14789, 14790, + 7395: 14788, 14790, 14791, + 7396: 14792, 14793, 14794, + 7397: 14792, 14794, 14795, + 7398: 14796, 14797, 14798, + 7399: 14796, 14798, 14799, + 7400: 14800, 14801, 14802, + 7401: 14800, 14802, 14803, + 7402: 14804, 14805, 14806, + 7403: 14804, 14806, 14807, + 7404: 14808, 14809, 14810, + 7405: 14808, 14810, 14811, + 7406: 14812, 14813, 14814, + 7407: 14812, 14814, 14815, + 7408: 14816, 14817, 14818, + 7409: 14816, 14818, 14819, + 7410: 14820, 14821, 14822, + 7411: 14820, 14822, 14823, + 7412: 14824, 14825, 14826, + 7413: 14824, 14826, 14827, + 7414: 14828, 14829, 14830, + 7415: 14828, 14830, 14831, + 7416: 14832, 14833, 14834, + 7417: 14832, 14834, 14835, + 7418: 14836, 14837, 14838, + 7419: 14836, 14838, 14839, + 7420: 14840, 14841, 14842, + 7421: 14840, 14842, 14843, + 7422: 14844, 14845, 14846, + 7423: 14844, 14846, 14847, + 7424: 14848, 14849, 14850, + 7425: 14848, 14850, 14851, + 7426: 14852, 14853, 14854, + 7427: 14852, 14854, 14855, + 7428: 14856, 14857, 14858, + 7429: 14856, 14858, 14859, + 7430: 14860, 14861, 14862, + 7431: 14860, 14862, 14863, + 7432: 14864, 14865, 14866, + 7433: 14864, 14866, 14867, + 7434: 14868, 14869, 14870, + 7435: 14868, 14870, 14871, + 7436: 14872, 14873, 14874, + 7437: 14872, 14874, 14875, + 7438: 14876, 14877, 14878, + 7439: 14876, 14878, 14879, + 7440: 14880, 14881, 14882, + 7441: 14880, 14882, 14883, + 7442: 14884, 14885, 14886, + 7443: 14884, 14886, 14887, + 7444: 14888, 14889, 14890, + 7445: 14888, 14890, 14891, + 7446: 14892, 14893, 14894, + 7447: 14892, 14894, 14895, + 7448: 14896, 14897, 14898, + 7449: 14896, 14898, 14899, + 7450: 14900, 14901, 14902, + 7451: 14900, 14902, 14903, + 7452: 14904, 14905, 14906, + 7453: 14904, 14906, 14907, + 7454: 14908, 14909, 14910, + 7455: 14908, 14910, 14911, + 7456: 14912, 14913, 14914, + 7457: 14912, 14914, 14915, + 7458: 14916, 14917, 14918, + 7459: 14916, 14918, 14919, + 7460: 14920, 14921, 14922, + 7461: 14920, 14922, 14923, + 7462: 14924, 14925, 14926, + 7463: 14924, 14926, 14927, + 7464: 14928, 14929, 14930, + 7465: 14928, 14930, 14931, + 7466: 14932, 14933, 14934, + 7467: 14932, 14934, 14935, + 7468: 14936, 14937, 14938, + 7469: 14936, 14938, 14939, + 7470: 14940, 14941, 14942, + 7471: 14940, 14942, 14943, + 7472: 14944, 14945, 14946, + 7473: 14944, 14946, 14947, + 7474: 14948, 14949, 14950, + 7475: 14948, 14950, 14951, + 7476: 14952, 14953, 14954, + 7477: 14952, 14954, 14955, + 7478: 14956, 14957, 14958, + 7479: 14956, 14958, 14959, + 7480: 14960, 14961, 14962, + 7481: 14960, 14962, 14963, + 7482: 14964, 14965, 14966, + 7483: 14964, 14966, 14967, + 7484: 14968, 14969, 14970, + 7485: 14968, 14970, 14971, + 7486: 14972, 14973, 14974, + 7487: 14972, 14974, 14975, + 7488: 14976, 14977, 14978, + 7489: 14976, 14978, 14979, + 7490: 14980, 14981, 14982, + 7491: 14980, 14982, 14983, + 7492: 14984, 14985, 14986, + 7493: 14984, 14986, 14987, + 7494: 14988, 14989, 14990, + 7495: 14988, 14990, 14991, + 7496: 14992, 14993, 14994, + 7497: 14992, 14994, 14995, + 7498: 14996, 14997, 14998, + 7499: 14996, 14998, 14999, + 7500: 15000, 15001, 15002, + 7501: 15000, 15002, 15003, + 7502: 15004, 15005, 15006, + 7503: 15004, 15006, 15007, + 7504: 15008, 15009, 15010, + 7505: 15008, 15010, 15011, + 7506: 15012, 15013, 15014, + 7507: 15012, 15014, 15015, + 7508: 15016, 15017, 15018, + 7509: 15016, 15018, 15019, + 7510: 15020, 15021, 15022, + 7511: 15020, 15022, 15023, + 7512: 15024, 15025, 15026, + 7513: 15024, 15026, 15027, + 7514: 15028, 15029, 15030, + 7515: 15028, 15030, 15031, + 7516: 15032, 15033, 15034, + 7517: 15032, 15034, 15035, + 7518: 15036, 15037, 15038, + 7519: 15036, 15038, 15039, + 7520: 15040, 15041, 15042, + 7521: 15040, 15042, 15043, + 7522: 15044, 15045, 15046, + 7523: 15044, 15046, 15047, + 7524: 15048, 15049, 15050, + 7525: 15048, 15050, 15051, + 7526: 15052, 15053, 15054, + 7527: 15052, 15054, 15055, + 7528: 15056, 15057, 15058, + 7529: 15056, 15058, 15059, + 7530: 15060, 15061, 15062, + 7531: 15060, 15062, 15063, + 7532: 15064, 15065, 15066, + 7533: 15064, 15066, 15067, + 7534: 15068, 15069, 15070, + 7535: 15068, 15070, 15071, + 7536: 15072, 15073, 15074, + 7537: 15072, 15074, 15075, + 7538: 15076, 15077, 15078, + 7539: 15076, 15078, 15079, + 7540: 15080, 15081, 15082, + 7541: 15080, 15082, 15083, + 7542: 15084, 15085, 15086, + 7543: 15084, 15086, 15087, + 7544: 15088, 15089, 15090, + 7545: 15088, 15090, 15091, + 7546: 15092, 15093, 15094, + 7547: 15092, 15094, 15095, + 7548: 15096, 15097, 15098, + 7549: 15096, 15098, 15099, + 7550: 15100, 15101, 15102, + 7551: 15100, 15102, 15103, + 7552: 15104, 15105, 15106, + 7553: 15104, 15106, 15107, + 7554: 15108, 15109, 15110, + 7555: 15108, 15110, 15111, + 7556: 15112, 15113, 15114, + 7557: 15112, 15114, 15115, + 7558: 15116, 15117, 15118, + 7559: 15116, 15118, 15119, + 7560: 15120, 15121, 15122, + 7561: 15120, 15122, 15123, + 7562: 15124, 15125, 15126, + 7563: 15124, 15126, 15127, + 7564: 15128, 15129, 15130, + 7565: 15128, 15130, 15131, + 7566: 15132, 15133, 15134, + 7567: 15132, 15134, 15135, + 7568: 15136, 15137, 15138, + 7569: 15136, 15138, 15139, + 7570: 15140, 15141, 15142, + 7571: 15140, 15142, 15143, + 7572: 15144, 15145, 15146, + 7573: 15144, 15146, 15147, + 7574: 15148, 15149, 15150, + 7575: 15148, 15150, 15151, + 7576: 15152, 15153, 15154, + 7577: 15152, 15154, 15155, + 7578: 15156, 15157, 15158, + 7579: 15156, 15158, 15159, + 7580: 15160, 15161, 15162, + 7581: 15160, 15162, 15163, + 7582: 15164, 15165, 15166, + 7583: 15164, 15166, 15167, + 7584: 15168, 15169, 15170, + 7585: 15168, 15170, 15171, + 7586: 15172, 15173, 15174, + 7587: 15172, 15174, 15175, + 7588: 15176, 15177, 15178, + 7589: 15176, 15178, 15179, + 7590: 15180, 15181, 15182, + 7591: 15180, 15182, 15183, + 7592: 15184, 15185, 15186, + 7593: 15184, 15186, 15187, + 7594: 15188, 15189, 15190, + 7595: 15188, 15190, 15191, + 7596: 15192, 15193, 15194, + 7597: 15192, 15194, 15195, + 7598: 15196, 15197, 15198, + 7599: 15196, 15198, 15199, + 7600: 15200, 15201, 15202, + 7601: 15200, 15202, 15203, + 7602: 15204, 15205, 15206, + 7603: 15204, 15206, 15207, + 7604: 15208, 15209, 15210, + 7605: 15208, 15210, 15211, + 7606: 15212, 15213, 15214, + 7607: 15212, 15214, 15215, + 7608: 15216, 15217, 15218, + 7609: 15216, 15218, 15219, + 7610: 15220, 15221, 15222, + 7611: 15220, 15222, 15223, + 7612: 15224, 15225, 15226, + 7613: 15224, 15226, 15227, + 7614: 15228, 15229, 15230, + 7615: 15228, 15230, 15231, + 7616: 15232, 15233, 15234, + 7617: 15232, 15234, 15235, + 7618: 15236, 15237, 15238, + 7619: 15236, 15238, 15239, + 7620: 15240, 15241, 15242, + 7621: 15240, 15242, 15243, + 7622: 15244, 15245, 15246, + 7623: 15244, 15246, 15247, + 7624: 15248, 15249, 15250, + 7625: 15248, 15250, 15251, + 7626: 15252, 15253, 15254, + 7627: 15252, 15254, 15255, + 7628: 15256, 15257, 15258, + 7629: 15256, 15258, 15259, + 7630: 15260, 15261, 15262, + 7631: 15260, 15262, 15263, + 7632: 15264, 15265, 15266, + 7633: 15264, 15266, 15267, + 7634: 15268, 15269, 15270, + 7635: 15268, 15270, 15271, + 7636: 15272, 15273, 15274, + 7637: 15272, 15274, 15275, + 7638: 15276, 15277, 15278, + 7639: 15276, 15278, 15279, + 7640: 15280, 15281, 15282, + 7641: 15280, 15282, 15283, + 7642: 15284, 15285, 15286, + 7643: 15284, 15286, 15287, + 7644: 15288, 15289, 15290, + 7645: 15288, 15290, 15291, + 7646: 15292, 15293, 15294, + 7647: 15292, 15294, 15295, + 7648: 15296, 15297, 15298, + 7649: 15296, 15298, 15299, + 7650: 15300, 15301, 15302, + 7651: 15300, 15302, 15303, + 7652: 15304, 15305, 15306, + 7653: 15304, 15306, 15307, + 7654: 15308, 15309, 15310, + 7655: 15308, 15310, 15311, + 7656: 15312, 15313, 15314, + 7657: 15312, 15314, 15315, + 7658: 15316, 15317, 15318, + 7659: 15316, 15318, 15319, + 7660: 15320, 15321, 15322, + 7661: 15320, 15322, 15323, + 7662: 15324, 15325, 15326, + 7663: 15324, 15326, 15327, + 7664: 15328, 15329, 15330, + 7665: 15328, 15330, 15331, + 7666: 15332, 15333, 15334, + 7667: 15332, 15334, 15335, + 7668: 15336, 15337, 15338, + 7669: 15336, 15338, 15339, + 7670: 15340, 15341, 15342, + 7671: 15340, 15342, 15343, + 7672: 15344, 15345, 15346, + 7673: 15344, 15346, 15347, + 7674: 15348, 15349, 15350, + 7675: 15348, 15350, 15351, + 7676: 15352, 15353, 15354, + 7677: 15352, 15354, 15355, + 7678: 15356, 15357, 15358, + 7679: 15356, 15358, 15359, + 7680: 15360, 15361, 15362, + 7681: 15360, 15362, 15363, + 7682: 15364, 15365, 15366, + 7683: 15364, 15366, 15367, + 7684: 15368, 15369, 15370, + 7685: 15368, 15370, 15371, + 7686: 15372, 15373, 15374, + 7687: 15372, 15374, 15375, + 7688: 15376, 15377, 15378, + 7689: 15376, 15378, 15379, + 7690: 15380, 15381, 15382, + 7691: 15380, 15382, 15383, + 7692: 15384, 15385, 15386, + 7693: 15384, 15386, 15387, + 7694: 15388, 15389, 15390, + 7695: 15388, 15390, 15391, + 7696: 15392, 15393, 15394, + 7697: 15392, 15394, 15395, + 7698: 15396, 15397, 15398, + 7699: 15396, 15398, 15399, + 7700: 15400, 15401, 15402, + 7701: 15400, 15402, 15403, + 7702: 15404, 15405, 15406, + 7703: 15404, 15406, 15407, + 7704: 15408, 15409, 15410, + 7705: 15408, 15410, 15411, + 7706: 15412, 15413, 15414, + 7707: 15412, 15414, 15415, + 7708: 15416, 15417, 15418, + 7709: 15416, 15418, 15419, + 7710: 15420, 15421, 15422, + 7711: 15420, 15422, 15423, + 7712: 15424, 15425, 15426, + 7713: 15424, 15426, 15427, + 7714: 15428, 15429, 15430, + 7715: 15428, 15430, 15431, + 7716: 15432, 15433, 15434, + 7717: 15432, 15434, 15435, + 7718: 15436, 15437, 15438, + 7719: 15436, 15438, 15439, + 7720: 15440, 15441, 15442, + 7721: 15440, 15442, 15443, + 7722: 15444, 15445, 15446, + 7723: 15444, 15446, 15447, + 7724: 15448, 15449, 15450, + 7725: 15448, 15450, 15451, + 7726: 15452, 15453, 15454, + 7727: 15452, 15454, 15455, + 7728: 15456, 15457, 15458, + 7729: 15456, 15458, 15459, + 7730: 15460, 15461, 15462, + 7731: 15460, 15462, 15463, + 7732: 15464, 15465, 15466, + 7733: 15464, 15466, 15467, + 7734: 15468, 15469, 15470, + 7735: 15468, 15470, 15471, + 7736: 15472, 15473, 15474, + 7737: 15472, 15474, 15475, + 7738: 15476, 15477, 15478, + 7739: 15476, 15478, 15479, + 7740: 15480, 15481, 15482, + 7741: 15480, 15482, 15483, + 7742: 15484, 15485, 15486, + 7743: 15484, 15486, 15487, + 7744: 15488, 15489, 15490, + 7745: 15488, 15490, 15491, + 7746: 15492, 15493, 15494, + 7747: 15492, 15494, 15495, + 7748: 15496, 15497, 15498, + 7749: 15496, 15498, 15499, + 7750: 15500, 15501, 15502, + 7751: 15500, 15502, 15503, + 7752: 15504, 15505, 15506, + 7753: 15504, 15506, 15507, + 7754: 15508, 15509, 15510, + 7755: 15508, 15510, 15511, + 7756: 15512, 15513, 15514, + 7757: 15512, 15514, 15515, + 7758: 15516, 15517, 15518, + 7759: 15516, 15518, 15519, + 7760: 15520, 15521, 15522, + 7761: 15520, 15522, 15523, + 7762: 15524, 15525, 15526, + 7763: 15524, 15526, 15527, + 7764: 15528, 15529, 15530, + 7765: 15528, 15530, 15531, + 7766: 15532, 15533, 15534, + 7767: 15532, 15534, 15535, + 7768: 15536, 15537, 15538, + 7769: 15536, 15538, 15539, + 7770: 15540, 15541, 15542, + 7771: 15540, 15542, 15543, + 7772: 15544, 15545, 15546, + 7773: 15544, 15546, 15547, + 7774: 15548, 15549, 15550, + 7775: 15548, 15550, 15551, + 7776: 15552, 15553, 15554, + 7777: 15552, 15554, 15555, + 7778: 15556, 15557, 15558, + 7779: 15556, 15558, 15559, + 7780: 15560, 15561, 15562, + 7781: 15560, 15562, 15563, + 7782: 15564, 15565, 15566, + 7783: 15564, 15566, 15567, + 7784: 15568, 15569, 15570, + 7785: 15568, 15570, 15571, + 7786: 15572, 15573, 15574, + 7787: 15572, 15574, 15575, + 7788: 15576, 15577, 15578, + 7789: 15576, 15578, 15579, + 7790: 15580, 15581, 15582, + 7791: 15580, 15582, 15583, + 7792: 15584, 15585, 15586, + 7793: 15584, 15586, 15587, + 7794: 15588, 15589, 15590, + 7795: 15588, 15590, 15591, + 7796: 15592, 15593, 15594, + 7797: 15592, 15594, 15595, + 7798: 15596, 15597, 15598, + 7799: 15596, 15598, 15599, + 7800: 15600, 15601, 15602, + 7801: 15600, 15602, 15603, + 7802: 15604, 15605, 15606, + 7803: 15604, 15606, 15607, + 7804: 15608, 15609, 15610, + 7805: 15608, 15610, 15611, + 7806: 15612, 15613, 15614, + 7807: 15612, 15614, 15615, + 7808: 15616, 15617, 15618, + 7809: 15616, 15618, 15619, + 7810: 15620, 15621, 15622, + 7811: 15620, 15622, 15623, + 7812: 15624, 15625, 15626, + 7813: 15624, 15626, 15627, + 7814: 15628, 15629, 15630, + 7815: 15628, 15630, 15631, + 7816: 15632, 15633, 15634, + 7817: 15632, 15634, 15635, + 7818: 15636, 15637, 15638, + 7819: 15636, 15638, 15639, + 7820: 15640, 15641, 15642, + 7821: 15640, 15642, 15643, + 7822: 15644, 15645, 15646, + 7823: 15644, 15646, 15647, + 7824: 15648, 15649, 15650, + 7825: 15648, 15650, 15651, + 7826: 15652, 15653, 15654, + 7827: 15652, 15654, 15655, + 7828: 15656, 15657, 15658, + 7829: 15656, 15658, 15659, + 7830: 15660, 15661, 15662, + 7831: 15660, 15662, 15663, + 7832: 15664, 15665, 15666, + 7833: 15664, 15666, 15667, + 7834: 15668, 15669, 15670, + 7835: 15668, 15670, 15671, + 7836: 15672, 15673, 15674, + 7837: 15672, 15674, 15675, + 7838: 15676, 15677, 15678, + 7839: 15676, 15678, 15679, + 7840: 15680, 15681, 15682, + 7841: 15680, 15682, 15683, + 7842: 15684, 15685, 15686, + 7843: 15684, 15686, 15687, + 7844: 15688, 15689, 15690, + 7845: 15688, 15690, 15691, + 7846: 15692, 15693, 15694, + 7847: 15692, 15694, 15695, + 7848: 15696, 15697, 15698, + 7849: 15696, 15698, 15699, + 7850: 15700, 15701, 15702, + 7851: 15700, 15702, 15703, + 7852: 15704, 15705, 15706, + 7853: 15704, 15706, 15707, + 7854: 15708, 15709, 15710, + 7855: 15708, 15710, 15711, + 7856: 15712, 15713, 15714, + 7857: 15712, 15714, 15715, + 7858: 15716, 15717, 15718, + 7859: 15716, 15718, 15719, + 7860: 15720, 15721, 15722, + 7861: 15720, 15722, 15723, + 7862: 15724, 15725, 15726, + 7863: 15724, 15726, 15727, + 7864: 15728, 15729, 15730, + 7865: 15728, 15730, 15731, + 7866: 15732, 15733, 15734, + 7867: 15732, 15734, 15735, + 7868: 15736, 15737, 15738, + 7869: 15736, 15738, 15739, + 7870: 15740, 15741, 15742, + 7871: 15740, 15742, 15743, + 7872: 15744, 15745, 15746, + 7873: 15744, 15746, 15747, + 7874: 15748, 15749, 15750, + 7875: 15748, 15750, 15751, + 7876: 15752, 15753, 15754, + 7877: 15752, 15754, 15755, + 7878: 15756, 15757, 15758, + 7879: 15756, 15758, 15759, + 7880: 15760, 15761, 15762, + 7881: 15760, 15762, 15763, + 7882: 15764, 15765, 15766, + 7883: 15764, 15766, 15767, + 7884: 15768, 15769, 15770, + 7885: 15768, 15770, 15771, + 7886: 15772, 15773, 15774, + 7887: 15772, 15774, 15775, + 7888: 15776, 15777, 15778, + 7889: 15776, 15778, 15779, + 7890: 15780, 15781, 15782, + 7891: 15780, 15782, 15783, + 7892: 15784, 15785, 15786, + 7893: 15784, 15786, 15787, + 7894: 15788, 15789, 15790, + 7895: 15788, 15790, 15791, + 7896: 15792, 15793, 15794, + 7897: 15792, 15794, 15795, + 7898: 15796, 15797, 15798, + 7899: 15796, 15798, 15799, + 7900: 15800, 15801, 15802, + 7901: 15800, 15802, 15803, + 7902: 15804, 15805, 15806, + 7903: 15804, 15806, 15807, + 7904: 15808, 15809, 15810, + 7905: 15808, 15810, 15811, + 7906: 15812, 15813, 15814, + 7907: 15812, 15814, 15815, + 7908: 15816, 15817, 15818, + 7909: 15816, 15818, 15819, + 7910: 15820, 15821, 15822, + 7911: 15820, 15822, 15823, + 7912: 15824, 15825, 15826, + 7913: 15824, 15826, 15827, + 7914: 15828, 15829, 15830, + 7915: 15828, 15830, 15831, + 7916: 15832, 15833, 15834, + 7917: 15832, 15834, 15835, + 7918: 15836, 15837, 15838, + 7919: 15836, 15838, 15839, + 7920: 15840, 15841, 15842, + 7921: 15840, 15842, 15843, + 7922: 15844, 15845, 15846, + 7923: 15844, 15846, 15847, + 7924: 15848, 15849, 15850, + 7925: 15848, 15850, 15851, + 7926: 15852, 15853, 15854, + 7927: 15852, 15854, 15855, + 7928: 15856, 15857, 15858, + 7929: 15856, 15858, 15859, + 7930: 15860, 15861, 15862, + 7931: 15860, 15862, 15863, + 7932: 15864, 15865, 15866, + 7933: 15864, 15866, 15867, + 7934: 15868, 15869, 15870, + 7935: 15868, 15870, 15871, + 7936: 15872, 15873, 15874, + 7937: 15872, 15874, 15875, + 7938: 15876, 15877, 15878, + 7939: 15876, 15878, 15879, + 7940: 15880, 15881, 15882, + 7941: 15880, 15882, 15883, + 7942: 15884, 15885, 15886, + 7943: 15884, 15886, 15887, + 7944: 15888, 15889, 15890, + 7945: 15888, 15890, 15891, + 7946: 15892, 15893, 15894, + 7947: 15892, 15894, 15895, + 7948: 15896, 15897, 15898, + 7949: 15896, 15898, 15899, + 7950: 15900, 15901, 15902, + 7951: 15900, 15902, 15903, + 7952: 15904, 15905, 15906, + 7953: 15904, 15906, 15907, + 7954: 15908, 15909, 15910, + 7955: 15908, 15910, 15911, + 7956: 15912, 15913, 15914, + 7957: 15912, 15914, 15915, + 7958: 15916, 15917, 15918, + 7959: 15916, 15918, 15919, + 7960: 15920, 15921, 15922, + 7961: 15920, 15922, 15923, + 7962: 15924, 15925, 15926, + 7963: 15924, 15926, 15927, + 7964: 15928, 15929, 15930, + 7965: 15928, 15930, 15931, + 7966: 15932, 15933, 15934, + 7967: 15932, 15934, 15935, + 7968: 15936, 15937, 15938, + 7969: 15936, 15938, 15939, + 7970: 15940, 15941, 15942, + 7971: 15940, 15942, 15943, + 7972: 15944, 15945, 15946, + 7973: 15944, 15946, 15947, + 7974: 15948, 15949, 15950, + 7975: 15948, 15950, 15951, + 7976: 15952, 15953, 15954, + 7977: 15952, 15954, 15955, + 7978: 15956, 15957, 15958, + 7979: 15956, 15958, 15959, + 7980: 15960, 15961, 15962, + 7981: 15960, 15962, 15963, + 7982: 15964, 15965, 15966, + 7983: 15964, 15966, 15967, + 7984: 15968, 15969, 15970, + 7985: 15968, 15970, 15971, + 7986: 15972, 15973, 15974, + 7987: 15972, 15974, 15975, + 7988: 15976, 15977, 15978, + 7989: 15976, 15978, 15979, + 7990: 15980, 15981, 15982, + 7991: 15980, 15982, 15983, + 7992: 15984, 15985, 15986, + 7993: 15984, 15986, 15987, + 7994: 15988, 15989, 15990, + 7995: 15988, 15990, 15991, + 7996: 15992, 15993, 15994, + 7997: 15992, 15994, 15995, + 7998: 15996, 15997, 15998, + 7999: 15996, 15998, 15999, + 8000: 16000, 16001, 16002, + 8001: 16000, 16002, 16003, + 8002: 16004, 16005, 16006, + 8003: 16004, 16006, 16007, + 8004: 16008, 16009, 16010, + 8005: 16008, 16010, 16011, + 8006: 16012, 16013, 16014, + 8007: 16012, 16014, 16015, + 8008: 16016, 16017, 16018, + 8009: 16016, 16018, 16019, + 8010: 16020, 16021, 16022, + 8011: 16020, 16022, 16023, + 8012: 16024, 16025, 16026, + 8013: 16024, 16026, 16027, + 8014: 16028, 16029, 16030, + 8015: 16028, 16030, 16031, + 8016: 16032, 16033, 16034, + 8017: 16032, 16034, 16035, + 8018: 16036, 16037, 16038, + 8019: 16036, 16038, 16039, + 8020: 16040, 16041, 16042, + 8021: 16040, 16042, 16043, + 8022: 16044, 16045, 16046, + 8023: 16044, 16046, 16047, + 8024: 16048, 16049, 16050, + 8025: 16048, 16050, 16051, + 8026: 16052, 16053, 16054, + 8027: 16052, 16054, 16055, + 8028: 16056, 16057, 16058, + 8029: 16056, 16058, 16059, + 8030: 16060, 16061, 16062, + 8031: 16060, 16062, 16063, + 8032: 16064, 16065, 16066, + 8033: 16064, 16066, 16067, + 8034: 16068, 16069, 16070, + 8035: 16068, 16070, 16071, + 8036: 16072, 16073, 16074, + 8037: 16072, 16074, 16075, + 8038: 16076, 16077, 16078, + 8039: 16076, 16078, 16079, + 8040: 16080, 16081, 16082, + 8041: 16080, 16082, 16083, + 8042: 16084, 16085, 16086, + 8043: 16084, 16086, 16087, + 8044: 16088, 16089, 16090, + 8045: 16088, 16090, 16091, + 8046: 16092, 16093, 16094, + 8047: 16092, 16094, 16095, + 8048: 16096, 16097, 16098, + 8049: 16096, 16098, 16099, + 8050: 16100, 16101, 16102, + 8051: 16100, 16102, 16103, + 8052: 16104, 16105, 16106, + 8053: 16104, 16106, 16107, + 8054: 16108, 16109, 16110, + 8055: 16108, 16110, 16111, + 8056: 16112, 16113, 16114, + 8057: 16112, 16114, 16115, + 8058: 16116, 16117, 16118, + 8059: 16116, 16118, 16119, + 8060: 16120, 16121, 16122, + 8061: 16120, 16122, 16123, + 8062: 16124, 16125, 16126, + 8063: 16124, 16126, 16127, + 8064: 16128, 16129, 16130, + 8065: 16128, 16130, 16131, + 8066: 16132, 16133, 16134, + 8067: 16132, 16134, 16135, + 8068: 16136, 16137, 16138, + 8069: 16136, 16138, 16139, + 8070: 16140, 16141, 16142, + 8071: 16140, 16142, 16143, + 8072: 16144, 16145, 16146, + 8073: 16144, 16146, 16147, + 8074: 16148, 16149, 16150, + 8075: 16148, 16150, 16151, + 8076: 16152, 16153, 16154, + 8077: 16152, 16154, 16155, + 8078: 16156, 16157, 16158, + 8079: 16156, 16158, 16159, + 8080: 16160, 16161, 16162, + 8081: 16160, 16162, 16163, + 8082: 16164, 16165, 16166, + 8083: 16164, 16166, 16167, + 8084: 16168, 16169, 16170, + 8085: 16168, 16170, 16171, + 8086: 16172, 16173, 16174, + 8087: 16172, 16174, 16175, + 8088: 16176, 16177, 16178, + 8089: 16176, 16178, 16179, + 8090: 16180, 16181, 16182, + 8091: 16180, 16182, 16183, + 8092: 16184, 16185, 16186, + 8093: 16184, 16186, 16187, + 8094: 16188, 16189, 16190, + 8095: 16188, 16190, 16191, + 8096: 16192, 16193, 16194, + 8097: 16192, 16194, 16195, + 8098: 16196, 16197, 16198, + 8099: 16196, 16198, 16199, + 8100: 16200, 16201, 16202, + 8101: 16200, 16202, 16203, + 8102: 16204, 16205, 16206, + 8103: 16204, 16206, 16207, + 8104: 16208, 16209, 16210, + 8105: 16208, 16210, 16211, + 8106: 16212, 16213, 16214, + 8107: 16212, 16214, 16215, + 8108: 16216, 16217, 16218, + 8109: 16216, 16218, 16219, + 8110: 16220, 16221, 16222, + 8111: 16220, 16222, 16223, + 8112: 16224, 16225, 16226, + 8113: 16224, 16226, 16227, + 8114: 16228, 16229, 16230, + 8115: 16228, 16230, 16231, + 8116: 16232, 16233, 16234, + 8117: 16232, 16234, 16235, + 8118: 16236, 16237, 16238, + 8119: 16236, 16238, 16239, + 8120: 16240, 16241, 16242, + 8121: 16240, 16242, 16243, + 8122: 16244, 16245, 16246, + 8123: 16244, 16246, 16247, + 8124: 16248, 16249, 16250, + 8125: 16248, 16250, 16251, + 8126: 16252, 16253, 16254, + 8127: 16252, 16254, 16255, + 8128: 16256, 16257, 16258, + 8129: 16256, 16258, 16259, + 8130: 16260, 16261, 16262, + 8131: 16260, 16262, 16263, + 8132: 16264, 16265, 16266, + 8133: 16264, 16266, 16267, + 8134: 16268, 16269, 16270, + 8135: 16268, 16270, 16271, + 8136: 16272, 16273, 16274, + 8137: 16272, 16274, 16275, + 8138: 16276, 16277, 16278, + 8139: 16276, 16278, 16279, + 8140: 16280, 16281, 16282, + 8141: 16280, 16282, 16283, + 8142: 16284, 16285, 16286, + 8143: 16284, 16286, 16287, + 8144: 16288, 16289, 16290, + 8145: 16288, 16290, 16291, + 8146: 16292, 16293, 16294, + 8147: 16292, 16294, 16295, + 8148: 16296, 16297, 16298, + 8149: 16296, 16298, 16299, + 8150: 16300, 16301, 16302, + 8151: 16300, 16302, 16303, + 8152: 16304, 16305, 16306, + 8153: 16304, 16306, 16307, + 8154: 16308, 16309, 16310, + 8155: 16308, 16310, 16311, + 8156: 16312, 16313, 16314, + 8157: 16312, 16314, 16315, + 8158: 16316, 16317, 16318, + 8159: 16316, 16318, 16319, + 8160: 16320, 16321, 16322, + 8161: 16320, 16322, 16323, + 8162: 16324, 16325, 16326, + 8163: 16324, 16326, 16327, + 8164: 16328, 16329, 16330, + 8165: 16328, 16330, 16331, + 8166: 16332, 16333, 16334, + 8167: 16332, 16334, 16335, + 8168: 16336, 16337, 16338, + 8169: 16336, 16338, 16339, + 8170: 16340, 16341, 16342, + 8171: 16340, 16342, 16343, + 8172: 16344, 16345, 16346, + 8173: 16344, 16346, 16347, + 8174: 16348, 16349, 16350, + 8175: 16348, 16350, 16351, + 8176: 16352, 16353, 16354, + 8177: 16352, 16354, 16355, + 8178: 16356, 16357, 16358, + 8179: 16356, 16358, 16359, + 8180: 16360, 16361, 16362, + 8181: 16360, 16362, 16363, + 8182: 16364, 16365, 16366, + 8183: 16364, 16366, 16367, + 8184: 16368, 16369, 16370, + 8185: 16368, 16370, 16371, + 8186: 16372, 16373, 16374, + 8187: 16372, 16374, 16375, + 8188: 16376, 16377, 16378, + 8189: 16376, 16378, 16379, + 8190: 16380, 16381, 16382, + 8191: 16380, 16382, 16383, + 8192: 16384, 16385, 16386, + 8193: 16384, 16386, 16387, + 8194: 16388, 16389, 16390, + 8195: 16388, 16390, 16391, + 8196: 16392, 16393, 16394, + 8197: 16392, 16394, 16395, + 8198: 16396, 16397, 16398, + 8199: 16396, 16398, 16399, + 8200: 16400, 16401, 16402, + 8201: 16400, 16402, 16403, + 8202: 16404, 16405, 16406, + 8203: 16404, 16406, 16407, + 8204: 16408, 16409, 16410, + 8205: 16408, 16410, 16411, + 8206: 16412, 16413, 16414, + 8207: 16412, 16414, 16415, + 8208: 16416, 16417, 16418, + 8209: 16416, 16418, 16419, + 8210: 16420, 16421, 16422, + 8211: 16420, 16422, 16423, + 8212: 16424, 16425, 16426, + 8213: 16424, 16426, 16427, + 8214: 16428, 16429, 16430, + 8215: 16428, 16430, 16431, + 8216: 16432, 16433, 16434, + 8217: 16432, 16434, 16435, + 8218: 16436, 16437, 16438, + 8219: 16436, 16438, 16439, + 8220: 16440, 16441, 16442, + 8221: 16440, 16442, 16443, + 8222: 16444, 16445, 16446, + 8223: 16444, 16446, 16447, + 8224: 16448, 16449, 16450, + 8225: 16448, 16450, 16451, + 8226: 16452, 16453, 16454, + 8227: 16452, 16454, 16455, + 8228: 16456, 16457, 16458, + 8229: 16456, 16458, 16459, + 8230: 16460, 16461, 16462, + 8231: 16460, 16462, 16463, + 8232: 16464, 16465, 16466, + 8233: 16464, 16466, 16467, + 8234: 16468, 16469, 16470, + 8235: 16468, 16470, 16471, + 8236: 16472, 16473, 16474, + 8237: 16472, 16474, 16475, + 8238: 16476, 16477, 16478, + 8239: 16476, 16478, 16479, + 8240: 16480, 16481, 16482, + 8241: 16480, 16482, 16483, + 8242: 16484, 16485, 16486, + 8243: 16484, 16486, 16487, + 8244: 16488, 16489, 16490, + 8245: 16488, 16490, 16491, + 8246: 16492, 16493, 16494, + 8247: 16492, 16494, 16495, + 8248: 16496, 16497, 16498, + 8249: 16496, 16498, 16499, + 8250: 16500, 16501, 16502, + 8251: 16500, 16502, 16503, + 8252: 16504, 16505, 16506, + 8253: 16504, 16506, 16507, + 8254: 16508, 16509, 16510, + 8255: 16508, 16510, 16511, + 8256: 16512, 16513, 16514, + 8257: 16512, 16514, 16515, + 8258: 16516, 16517, 16518, + 8259: 16516, 16518, 16519, + 8260: 16520, 16521, 16522, + 8261: 16520, 16522, 16523, + 8262: 16524, 16525, 16526, + 8263: 16524, 16526, 16527, + 8264: 16528, 16529, 16530, + 8265: 16528, 16530, 16531, + 8266: 16532, 16533, 16534, + 8267: 16532, 16534, 16535, + 8268: 16536, 16537, 16538, + 8269: 16536, 16538, 16539, + 8270: 16540, 16541, 16542, + 8271: 16540, 16542, 16543, + 8272: 16544, 16545, 16546, + 8273: 16544, 16546, 16547, + 8274: 16548, 16549, 16550, + 8275: 16548, 16550, 16551, + 8276: 16552, 16553, 16554, + 8277: 16552, 16554, 16555, + 8278: 16556, 16557, 16558, + 8279: 16556, 16558, 16559, + 8280: 16560, 16561, 16562, + 8281: 16560, 16562, 16563, + 8282: 16564, 16565, 16566, + 8283: 16564, 16566, 16567, + 8284: 16568, 16569, 16570, + 8285: 16568, 16570, 16571, + 8286: 16572, 16573, 16574, + 8287: 16572, 16574, 16575, + 8288: 16576, 16577, 16578, + 8289: 16576, 16578, 16579, + 8290: 16580, 16581, 16582, + 8291: 16580, 16582, 16583, + 8292: 16584, 16585, 16586, + 8293: 16584, 16586, 16587, + 8294: 16588, 16589, 16590, + 8295: 16588, 16590, 16591, + 8296: 16592, 16593, 16594, + 8297: 16592, 16594, 16595, + 8298: 16596, 16597, 16598, + 8299: 16596, 16598, 16599, + 8300: 16600, 16601, 16602, + 8301: 16600, 16602, 16603, + 8302: 16604, 16605, 16606, + 8303: 16604, 16606, 16607, + 8304: 16608, 16609, 16610, + 8305: 16608, 16610, 16611, + 8306: 16612, 16613, 16614, + 8307: 16612, 16614, 16615, + 8308: 16616, 16617, 16618, + 8309: 16616, 16618, 16619, + 8310: 16620, 16621, 16622, + 8311: 16620, 16622, 16623, + 8312: 16624, 16625, 16626, + 8313: 16624, 16626, 16627, + 8314: 16628, 16629, 16630, + 8315: 16628, 16630, 16631, + 8316: 16632, 16633, 16634, + 8317: 16632, 16634, 16635, + 8318: 16636, 16637, 16638, + 8319: 16636, 16638, 16639, + 8320: 16640, 16641, 16642, + 8321: 16640, 16642, 16643, + 8322: 16644, 16645, 16646, + 8323: 16644, 16646, 16647, + 8324: 16648, 16649, 16650, + 8325: 16648, 16650, 16651, + 8326: 16652, 16653, 16654, + 8327: 16652, 16654, 16655, + 8328: 16656, 16657, 16658, + 8329: 16656, 16658, 16659, + 8330: 16660, 16661, 16662, + 8331: 16660, 16662, 16663, + 8332: 16664, 16665, 16666, + 8333: 16664, 16666, 16667, + 8334: 16668, 16669, 16670, + 8335: 16668, 16670, 16671, + 8336: 16672, 16673, 16674, + 8337: 16672, 16674, 16675, + 8338: 16676, 16677, 16678, + 8339: 16676, 16678, 16679, + 8340: 16680, 16681, 16682, + 8341: 16680, 16682, 16683, + 8342: 16684, 16685, 16686, + 8343: 16684, 16686, 16687, + 8344: 16688, 16689, 16690, + 8345: 16688, 16690, 16691, + 8346: 16692, 16693, 16694, + 8347: 16692, 16694, 16695, + 8348: 16696, 16697, 16698, + 8349: 16696, 16698, 16699, + 8350: 16700, 16701, 16702, + 8351: 16700, 16702, 16703, + 8352: 16704, 16705, 16706, + 8353: 16704, 16706, 16707, + 8354: 16708, 16709, 16710, + 8355: 16708, 16710, 16711, + 8356: 16712, 16713, 16714, + 8357: 16712, 16714, 16715, + 8358: 16716, 16717, 16718, + 8359: 16716, 16718, 16719, + 8360: 16720, 16721, 16722, + 8361: 16720, 16722, 16723, + 8362: 16724, 16725, 16726, + 8363: 16724, 16726, 16727, + 8364: 16728, 16729, 16730, + 8365: 16728, 16730, 16731, + 8366: 16732, 16733, 16734, + 8367: 16732, 16734, 16735, + 8368: 16736, 16737, 16738, + 8369: 16736, 16738, 16739, + 8370: 16740, 16741, 16742, + 8371: 16740, 16742, 16743, + 8372: 16744, 16745, 16746, + 8373: 16744, 16746, 16747, + 8374: 16748, 16749, 16750, + 8375: 16748, 16750, 16751, + 8376: 16752, 16753, 16754, + 8377: 16752, 16754, 16755, + 8378: 16756, 16757, 16758, + 8379: 16756, 16758, 16759, + 8380: 16760, 16761, 16762, + 8381: 16760, 16762, 16763, + 8382: 16764, 16765, 16766, + 8383: 16764, 16766, 16767, + 8384: 16768, 16769, 16770, + 8385: 16768, 16770, 16771, + 8386: 16772, 16773, 16774, + 8387: 16772, 16774, 16775, + 8388: 16776, 16777, 16778, + 8389: 16776, 16778, 16779, + 8390: 16780, 16781, 16782, + 8391: 16780, 16782, 16783, + 8392: 16784, 16785, 16786, + 8393: 16784, 16786, 16787, + 8394: 16788, 16789, 16790, + 8395: 16788, 16790, 16791, + 8396: 16792, 16793, 16794, + 8397: 16792, 16794, 16795, + 8398: 16796, 16797, 16798, + 8399: 16796, 16798, 16799, + 8400: 16800, 16801, 16802, + 8401: 16800, 16802, 16803, + 8402: 16804, 16805, 16806, + 8403: 16804, 16806, 16807, + 8404: 16808, 16809, 16810, + 8405: 16808, 16810, 16811, + 8406: 16812, 16813, 16814, + 8407: 16812, 16814, 16815, + 8408: 16816, 16817, 16818, + 8409: 16816, 16818, 16819, + 8410: 16820, 16821, 16822, + 8411: 16820, 16822, 16823, + 8412: 16824, 16825, 16826, + 8413: 16824, 16826, 16827, + 8414: 16828, 16829, 16830, + 8415: 16828, 16830, 16831, + 8416: 16832, 16833, 16834, + 8417: 16832, 16834, 16835, + 8418: 16836, 16837, 16838, + 8419: 16836, 16838, 16839, + 8420: 16840, 16841, 16842, + 8421: 16840, 16842, 16843, + 8422: 16844, 16845, 16846, + 8423: 16844, 16846, 16847, + 8424: 16848, 16849, 16850, + 8425: 16848, 16850, 16851, + 8426: 16852, 16853, 16854, + 8427: 16852, 16854, 16855, + 8428: 16856, 16857, 16858, + 8429: 16856, 16858, 16859, + 8430: 16860, 16861, 16862, + 8431: 16860, 16862, 16863, + 8432: 16864, 16865, 16866, + 8433: 16864, 16866, 16867, + 8434: 16868, 16869, 16870, + 8435: 16868, 16870, 16871, + 8436: 16872, 16873, 16874, + 8437: 16872, 16874, 16875, + 8438: 16876, 16877, 16878, + 8439: 16876, 16878, 16879, + 8440: 16880, 16881, 16882, + 8441: 16880, 16882, 16883, + 8442: 16884, 16885, 16886, + 8443: 16884, 16886, 16887, + 8444: 16888, 16889, 16890, + 8445: 16888, 16890, 16891, + 8446: 16892, 16893, 16894, + 8447: 16892, 16894, 16895, + 8448: 16896, 16897, 16898, + 8449: 16896, 16898, 16899, + 8450: 16900, 16901, 16902, + 8451: 16900, 16902, 16903, + 8452: 16904, 16905, 16906, + 8453: 16904, 16906, 16907, + 8454: 16908, 16909, 16910, + 8455: 16908, 16910, 16911, + 8456: 16912, 16913, 16914, + 8457: 16912, 16914, 16915, + 8458: 16916, 16917, 16918, + 8459: 16916, 16918, 16919, + 8460: 16920, 16921, 16922, + 8461: 16920, 16922, 16923, + 8462: 16924, 16925, 16926, + 8463: 16924, 16926, 16927, + 8464: 16928, 16929, 16930, + 8465: 16928, 16930, 16931, + 8466: 16932, 16933, 16934, + 8467: 16932, 16934, 16935, + 8468: 16936, 16937, 16938, + 8469: 16936, 16938, 16939, + 8470: 16940, 16941, 16942, + 8471: 16940, 16942, 16943, + 8472: 16944, 16945, 16946, + 8473: 16944, 16946, 16947, + 8474: 16948, 16949, 16950, + 8475: 16948, 16950, 16951, + 8476: 16952, 16953, 16954, + 8477: 16952, 16954, 16955, + 8478: 16956, 16957, 16958, + 8479: 16956, 16958, 16959, + 8480: 16960, 16961, 16962, + 8481: 16960, 16962, 16963, + 8482: 16964, 16965, 16966, + 8483: 16964, 16966, 16967, + 8484: 16968, 16969, 16970, + 8485: 16968, 16970, 16971, + 8486: 16972, 16973, 16974, + 8487: 16972, 16974, 16975, + 8488: 16976, 16977, 16978, + 8489: 16976, 16978, 16979, + 8490: 16980, 16981, 16982, + 8491: 16980, 16982, 16983, + 8492: 16984, 16985, 16986, + 8493: 16984, 16986, 16987, + 8494: 16988, 16989, 16990, + 8495: 16988, 16990, 16991, + 8496: 16992, 16993, 16994, + 8497: 16992, 16994, 16995, + 8498: 16996, 16997, 16998, + 8499: 16996, 16998, 16999, + 8500: 17000, 17001, 17002, + 8501: 17000, 17002, 17003, + 8502: 17004, 17005, 17006, + 8503: 17004, 17006, 17007, + 8504: 17008, 17009, 17010, + 8505: 17008, 17010, 17011, + 8506: 17012, 17013, 17014, + 8507: 17012, 17014, 17015, + 8508: 17016, 17017, 17018, + 8509: 17016, 17018, 17019, + 8510: 17020, 17021, 17022, + 8511: 17020, 17022, 17023, + 8512: 17024, 17025, 17026, + 8513: 17024, 17026, 17027, + 8514: 17028, 17029, 17030, + 8515: 17028, 17030, 17031, + 8516: 17032, 17033, 17034, + 8517: 17032, 17034, 17035, + 8518: 17036, 17037, 17038, + 8519: 17036, 17038, 17039, + 8520: 17040, 17041, 17042, + 8521: 17040, 17042, 17043, + 8522: 17044, 17045, 17046, + 8523: 17044, 17046, 17047, + 8524: 17048, 17049, 17050, + 8525: 17048, 17050, 17051, + 8526: 17052, 17053, 17054, + 8527: 17052, 17054, 17055, + 8528: 17056, 17057, 17058, + 8529: 17056, 17058, 17059, + 8530: 17060, 17061, 17062, + 8531: 17060, 17062, 17063, + 8532: 17064, 17065, 17066, + 8533: 17064, 17066, 17067, + 8534: 17068, 17069, 17070, + 8535: 17068, 17070, 17071, + 8536: 17072, 17073, 17074, + 8537: 17072, 17074, 17075, + 8538: 17076, 17077, 17078, + 8539: 17076, 17078, 17079, + 8540: 17080, 17081, 17082, + 8541: 17080, 17082, 17083, + 8542: 17084, 17085, 17086, + 8543: 17084, 17086, 17087, + 8544: 17088, 17089, 17090, + 8545: 17088, 17090, 17091, + 8546: 17092, 17093, 17094, + 8547: 17092, 17094, 17095, + 8548: 17096, 17097, 17098, + 8549: 17096, 17098, 17099, + 8550: 17100, 17101, 17102, + 8551: 17100, 17102, 17103, + 8552: 17104, 17105, 17106, + 8553: 17104, 17106, 17107, + 8554: 17108, 17109, 17110, + 8555: 17108, 17110, 17111, + 8556: 17112, 17113, 17114, + 8557: 17112, 17114, 17115, + 8558: 17116, 17117, 17118, + 8559: 17116, 17118, 17119, + 8560: 17120, 17121, 17122, + 8561: 17120, 17122, 17123, + 8562: 17124, 17125, 17126, + 8563: 17124, 17126, 17127, + 8564: 17128, 17129, 17130, + 8565: 17128, 17130, 17131, + 8566: 17132, 17133, 17134, + 8567: 17132, 17134, 17135, + 8568: 17136, 17137, 17138, + 8569: 17136, 17138, 17139, + 8570: 17140, 17141, 17142, + 8571: 17140, 17142, 17143, + 8572: 17144, 17145, 17146, + 8573: 17144, 17146, 17147, + 8574: 17148, 17149, 17150, + 8575: 17148, 17150, 17151, + 8576: 17152, 17153, 17154, + 8577: 17152, 17154, 17155, + 8578: 17156, 17157, 17158, + 8579: 17156, 17158, 17159, + 8580: 17160, 17161, 17162, + 8581: 17160, 17162, 17163, + 8582: 17164, 17165, 17166, + 8583: 17164, 17166, 17167, + 8584: 17168, 17169, 17170, + 8585: 17168, 17170, 17171, + 8586: 17172, 17173, 17174, + 8587: 17172, 17174, 17175, + 8588: 17176, 17177, 17178, + 8589: 17176, 17178, 17179, + 8590: 17180, 17181, 17182, + 8591: 17180, 17182, 17183, + 8592: 17184, 17185, 17186, + 8593: 17184, 17186, 17187, + 8594: 17188, 17189, 17190, + 8595: 17188, 17190, 17191, + 8596: 17192, 17193, 17194, + 8597: 17192, 17194, 17195, + 8598: 17196, 17197, 17198, + 8599: 17196, 17198, 17199, + 8600: 17200, 17201, 17202, + 8601: 17200, 17202, 17203, + 8602: 17204, 17205, 17206, + 8603: 17204, 17206, 17207, + 8604: 17208, 17209, 17210, + 8605: 17208, 17210, 17211, + 8606: 17212, 17213, 17214, + 8607: 17212, 17214, 17215, + 8608: 17216, 17217, 17218, + 8609: 17216, 17218, 17219, + 8610: 17220, 17221, 17222, + 8611: 17220, 17222, 17223, + 8612: 17224, 17225, 17226, + 8613: 17224, 17226, 17227, + 8614: 17228, 17229, 17230, + 8615: 17228, 17230, 17231, + 8616: 17232, 17233, 17234, + 8617: 17232, 17234, 17235, + 8618: 17236, 17237, 17238, + 8619: 17236, 17238, 17239, + 8620: 17240, 17241, 17242, + 8621: 17240, 17242, 17243, + 8622: 17244, 17245, 17246, + 8623: 17244, 17246, 17247, + 8624: 17248, 17249, 17250, + 8625: 17248, 17250, 17251, + 8626: 17252, 17253, 17254, + 8627: 17252, 17254, 17255, + 8628: 17256, 17257, 17258, + 8629: 17256, 17258, 17259, + 8630: 17260, 17261, 17262, + 8631: 17260, 17262, 17263, + 8632: 17264, 17265, 17266, + 8633: 17264, 17266, 17267, + 8634: 17268, 17269, 17270, + 8635: 17268, 17270, 17271, + 8636: 17272, 17273, 17274, + 8637: 17272, 17274, 17275, + 8638: 17276, 17277, 17278, + 8639: 17276, 17278, 17279, + 8640: 17280, 17281, 17282, + 8641: 17280, 17282, 17283, + 8642: 17284, 17285, 17286, + 8643: 17284, 17286, 17287, + 8644: 17288, 17289, 17290, + 8645: 17288, 17290, 17291, + 8646: 17292, 17293, 17294, + 8647: 17292, 17294, 17295, + 8648: 17296, 17297, 17298, + 8649: 17296, 17298, 17299, + 8650: 17300, 17301, 17302, + 8651: 17300, 17302, 17303, + 8652: 17304, 17305, 17306, + 8653: 17304, 17306, 17307, + 8654: 17308, 17309, 17310, + 8655: 17308, 17310, 17311, + 8656: 17312, 17313, 17314, + 8657: 17312, 17314, 17315, + 8658: 17316, 17317, 17318, + 8659: 17316, 17318, 17319, + 8660: 17320, 17321, 17322, + 8661: 17320, 17322, 17323, + 8662: 17324, 17325, 17326, + 8663: 17324, 17326, 17327, + 8664: 17328, 17329, 17330, + 8665: 17328, 17330, 17331, + 8666: 17332, 17333, 17334, + 8667: 17332, 17334, 17335, + 8668: 17336, 17337, 17338, + 8669: 17336, 17338, 17339, + 8670: 17340, 17341, 17342, + 8671: 17340, 17342, 17343, + 8672: 17344, 17345, 17346, + 8673: 17344, 17346, 17347, + 8674: 17348, 17349, 17350, + 8675: 17348, 17350, 17351, + 8676: 17352, 17353, 17354, + 8677: 17352, 17354, 17355, + 8678: 17356, 17357, 17358, + 8679: 17356, 17358, 17359, + 8680: 17360, 17361, 17362, + 8681: 17360, 17362, 17363, + 8682: 17364, 17365, 17366, + 8683: 17364, 17366, 17367, + 8684: 17368, 17369, 17370, + 8685: 17368, 17370, 17371, + 8686: 17372, 17373, 17374, + 8687: 17372, 17374, 17375, + 8688: 17376, 17377, 17378, + 8689: 17376, 17378, 17379, + 8690: 17380, 17381, 17382, + 8691: 17380, 17382, 17383, + 8692: 17384, 17385, 17386, + 8693: 17384, 17386, 17387, + 8694: 17388, 17389, 17390, + 8695: 17388, 17390, 17391, + 8696: 17392, 17393, 17394, + 8697: 17392, 17394, 17395, + 8698: 17396, 17397, 17398, + 8699: 17396, 17398, 17399, + 8700: 17400, 17401, 17402, + 8701: 17400, 17402, 17403, + 8702: 17404, 17405, 17406, + 8703: 17404, 17406, 17407, + 8704: 17408, 17409, 17410, + 8705: 17408, 17410, 17411, + 8706: 17412, 17413, 17414, + 8707: 17412, 17414, 17415, + 8708: 17416, 17417, 17418, + 8709: 17416, 17418, 17419, + 8710: 17420, 17421, 17422, + 8711: 17420, 17422, 17423, + 8712: 17424, 17425, 17426, + 8713: 17424, 17426, 17427, + 8714: 17428, 17429, 17430, + 8715: 17428, 17430, 17431, + 8716: 17432, 17433, 17434, + 8717: 17432, 17434, 17435, + 8718: 17436, 17437, 17438, + 8719: 17436, 17438, 17439, + 8720: 17440, 17441, 17442, + 8721: 17440, 17442, 17443, + 8722: 17444, 17445, 17446, + 8723: 17444, 17446, 17447, + 8724: 17448, 17449, 17450, + 8725: 17448, 17450, 17451, + 8726: 17452, 17453, 17454, + 8727: 17452, 17454, 17455, + 8728: 17456, 17457, 17458, + 8729: 17456, 17458, 17459, + 8730: 17460, 17461, 17462, + 8731: 17460, 17462, 17463, + 8732: 17464, 17465, 17466, + 8733: 17464, 17466, 17467, + 8734: 17468, 17469, 17470, + 8735: 17468, 17470, 17471, + 8736: 17472, 17473, 17474, + 8737: 17472, 17474, 17475, + 8738: 17476, 17477, 17478, + 8739: 17476, 17478, 17479, + 8740: 17480, 17481, 17482, + 8741: 17480, 17482, 17483, + 8742: 17484, 17485, 17486, + 8743: 17484, 17486, 17487, + 8744: 17488, 17489, 17490, + 8745: 17488, 17490, 17491, + 8746: 17492, 17493, 17494, + 8747: 17492, 17494, 17495, + 8748: 17496, 17497, 17498, + 8749: 17496, 17498, 17499, + 8750: 17500, 17501, 17502, + 8751: 17500, 17502, 17503, + 8752: 17504, 17505, 17506, + 8753: 17504, 17506, 17507, + 8754: 17508, 17509, 17510, + 8755: 17508, 17510, 17511, + 8756: 17512, 17513, 17514, + 8757: 17512, 17514, 17515, + 8758: 17516, 17517, 17518, + 8759: 17516, 17518, 17519, + 8760: 17520, 17521, 17522, + 8761: 17520, 17522, 17523, + 8762: 17524, 17525, 17526, + 8763: 17524, 17526, 17527, + 8764: 17528, 17529, 17530, + 8765: 17528, 17530, 17531, + 8766: 17532, 17533, 17534, + 8767: 17532, 17534, 17535, + 8768: 17536, 17537, 17538, + 8769: 17536, 17538, 17539, + 8770: 17540, 17541, 17542, + 8771: 17540, 17542, 17543, + 8772: 17544, 17545, 17546, + 8773: 17544, 17546, 17547, + 8774: 17548, 17549, 17550, + 8775: 17548, 17550, 17551, + 8776: 17552, 17553, 17554, + 8777: 17552, 17554, 17555, + 8778: 17556, 17557, 17558, + 8779: 17556, 17558, 17559, + 8780: 17560, 17561, 17562, + 8781: 17560, 17562, 17563, + 8782: 17564, 17565, 17566, + 8783: 17564, 17566, 17567, + 8784: 17568, 17569, 17570, + 8785: 17568, 17570, 17571, + 8786: 17572, 17573, 17574, + 8787: 17572, 17574, 17575, + 8788: 17576, 17577, 17578, + 8789: 17576, 17578, 17579, + 8790: 17580, 17581, 17582, + 8791: 17580, 17582, 17583, + 8792: 17584, 17585, 17586, + 8793: 17584, 17586, 17587, + 8794: 17588, 17589, 17590, + 8795: 17588, 17590, 17591, + 8796: 17592, 17593, 17594, + 8797: 17592, 17594, 17595, + 8798: 17596, 17597, 17598, + 8799: 17596, 17598, 17599, + 8800: 17600, 17601, 17602, + 8801: 17600, 17602, 17603, + 8802: 17604, 17605, 17606, + 8803: 17604, 17606, 17607, + 8804: 17608, 17609, 17610, + 8805: 17608, 17610, 17611, + 8806: 17612, 17613, 17614, + 8807: 17612, 17614, 17615, + 8808: 17616, 17617, 17618, + 8809: 17616, 17618, 17619, + 8810: 17620, 17621, 17622, + 8811: 17620, 17622, 17623, + 8812: 17624, 17625, 17626, + 8813: 17624, 17626, 17627, + 8814: 17628, 17629, 17630, + 8815: 17628, 17630, 17631, + 8816: 17632, 17633, 17634, + 8817: 17632, 17634, 17635, + 8818: 17636, 17637, 17638, + 8819: 17636, 17638, 17639, + 8820: 17640, 17641, 17642, + 8821: 17640, 17642, 17643, + 8822: 17644, 17645, 17646, + 8823: 17644, 17646, 17647, + 8824: 17648, 17649, 17650, + 8825: 17648, 17650, 17651, + 8826: 17652, 17653, 17654, + 8827: 17652, 17654, 17655, + 8828: 17656, 17657, 17658, + 8829: 17656, 17658, 17659, + 8830: 17660, 17661, 17662, + 8831: 17660, 17662, 17663, + 8832: 17664, 17665, 17666, + 8833: 17664, 17666, 17667, + 8834: 17668, 17669, 17670, + 8835: 17668, 17670, 17671, + 8836: 17672, 17673, 17674, + 8837: 17672, 17674, 17675, + 8838: 17676, 17677, 17678, + 8839: 17676, 17678, 17679, + 8840: 17680, 17681, 17682, + 8841: 17680, 17682, 17683, + 8842: 17684, 17685, 17686, + 8843: 17684, 17686, 17687, + 8844: 17688, 17689, 17690, + 8845: 17688, 17690, 17691, + 8846: 17692, 17693, 17694, + 8847: 17692, 17694, 17695, + 8848: 17696, 17697, 17698, + 8849: 17696, 17698, 17699, + 8850: 17700, 17701, 17702, + 8851: 17700, 17702, 17703, + 8852: 17704, 17705, 17706, + 8853: 17704, 17706, 17707, + 8854: 17708, 17709, 17710, + 8855: 17708, 17710, 17711, + 8856: 17712, 17713, 17714, + 8857: 17712, 17714, 17715, + 8858: 17716, 17717, 17718, + 8859: 17716, 17718, 17719, + 8860: 17720, 17721, 17722, + 8861: 17720, 17722, 17723, + 8862: 17724, 17725, 17726, + 8863: 17724, 17726, 17727, + 8864: 17728, 17729, 17730, + 8865: 17728, 17730, 17731, + 8866: 17732, 17733, 17734, + 8867: 17732, 17734, 17735, + 8868: 17736, 17737, 17738, + 8869: 17736, 17738, 17739, + 8870: 17740, 17741, 17742, + 8871: 17740, 17742, 17743, + 8872: 17744, 17745, 17746, + 8873: 17744, 17746, 17747, + 8874: 17748, 17749, 17750, + 8875: 17748, 17750, 17751, + 8876: 17752, 17753, 17754, + 8877: 17752, 17754, 17755, + 8878: 17756, 17757, 17758, + 8879: 17756, 17758, 17759, + 8880: 17760, 17761, 17762, + 8881: 17760, 17762, 17763, + 8882: 17764, 17765, 17766, + 8883: 17764, 17766, 17767, + 8884: 17768, 17769, 17770, + 8885: 17768, 17770, 17771, + 8886: 17772, 17773, 17774, + 8887: 17772, 17774, 17775, + 8888: 17776, 17777, 17778, + 8889: 17776, 17778, 17779, + 8890: 17780, 17781, 17782, + 8891: 17780, 17782, 17783, + 8892: 17784, 17785, 17786, + 8893: 17784, 17786, 17787, + 8894: 17788, 17789, 17790, + 8895: 17788, 17790, 17791, + 8896: 17792, 17793, 17794, + 8897: 17792, 17794, 17795, + 8898: 17796, 17797, 17798, + 8899: 17796, 17798, 17799, + 8900: 17800, 17801, 17802, + 8901: 17800, 17802, 17803, + 8902: 17804, 17805, 17806, + 8903: 17804, 17806, 17807, + 8904: 17808, 17809, 17810, + 8905: 17808, 17810, 17811, + 8906: 17812, 17813, 17814, + 8907: 17812, 17814, 17815, + 8908: 17816, 17817, 17818, + 8909: 17816, 17818, 17819, + 8910: 17820, 17821, 17822, + 8911: 17820, 17822, 17823, + 8912: 17824, 17825, 17826, + 8913: 17824, 17826, 17827, + 8914: 17828, 17829, 17830, + 8915: 17828, 17830, 17831, + 8916: 17832, 17833, 17834, + 8917: 17832, 17834, 17835, + 8918: 17836, 17837, 17838, + 8919: 17836, 17838, 17839, + 8920: 17840, 17841, 17842, + 8921: 17840, 17842, 17843, + 8922: 17844, 17845, 17846, + 8923: 17844, 17846, 17847, + 8924: 17848, 17849, 17850, + 8925: 17848, 17850, 17851, + 8926: 17852, 17853, 17854, + 8927: 17852, 17854, 17855, + 8928: 17856, 17857, 17858, + 8929: 17856, 17858, 17859, + 8930: 17860, 17861, 17862, + 8931: 17860, 17862, 17863, + 8932: 17864, 17865, 17866, + 8933: 17864, 17866, 17867, + 8934: 17868, 17869, 17870, + 8935: 17868, 17870, 17871, + 8936: 17872, 17873, 17874, + 8937: 17872, 17874, 17875, + 8938: 17876, 17877, 17878, + 8939: 17876, 17878, 17879, + 8940: 17880, 17881, 17882, + 8941: 17880, 17882, 17883, + 8942: 17884, 17885, 17886, + 8943: 17884, 17886, 17887, + 8944: 17888, 17889, 17890, + 8945: 17888, 17890, 17891, + 8946: 17892, 17893, 17894, + 8947: 17892, 17894, 17895, + 8948: 17896, 17897, 17898, + 8949: 17896, 17898, 17899, + 8950: 17900, 17901, 17902, + 8951: 17900, 17902, 17903, + 8952: 17904, 17905, 17906, + 8953: 17904, 17906, 17907, + 8954: 17908, 17909, 17910, + 8955: 17908, 17910, 17911, + 8956: 17912, 17913, 17914, + 8957: 17912, 17914, 17915, + 8958: 17916, 17917, 17918, + 8959: 17916, 17918, 17919, + 8960: 17920, 17921, 17922, + 8961: 17920, 17922, 17923, + 8962: 17924, 17925, 17926, + 8963: 17924, 17926, 17927, + 8964: 17928, 17929, 17930, + 8965: 17928, 17930, 17931, + 8966: 17932, 17933, 17934, + 8967: 17932, 17934, 17935, + 8968: 17936, 17937, 17938, + 8969: 17936, 17938, 17939, + 8970: 17940, 17941, 17942, + 8971: 17940, 17942, 17943, + 8972: 17944, 17945, 17946, + 8973: 17944, 17946, 17947, + 8974: 17948, 17949, 17950, + 8975: 17948, 17950, 17951, + 8976: 17952, 17953, 17954, + 8977: 17952, 17954, 17955, + 8978: 17956, 17957, 17958, + 8979: 17956, 17958, 17959, + 8980: 17960, 17961, 17962, + 8981: 17960, 17962, 17963, + 8982: 17964, 17965, 17966, + 8983: 17964, 17966, 17967, + 8984: 17968, 17969, 17970, + 8985: 17968, 17970, 17971, + 8986: 17972, 17973, 17974, + 8987: 17972, 17974, 17975, + 8988: 17976, 17977, 17978, + 8989: 17976, 17978, 17979, + 8990: 17980, 17981, 17982, + 8991: 17980, 17982, 17983, + 8992: 17984, 17985, 17986, + 8993: 17984, 17986, 17987, + 8994: 17988, 17989, 17990, + 8995: 17988, 17990, 17991, + 8996: 17992, 17993, 17994, + 8997: 17992, 17994, 17995, + 8998: 17996, 17997, 17998, + 8999: 17996, 17998, 17999, + 9000: 18000, 18001, 18002, + 9001: 18000, 18002, 18003, + 9002: 18004, 18005, 18006, + 9003: 18004, 18006, 18007, + 9004: 18008, 18009, 18010, + 9005: 18008, 18010, 18011, + 9006: 18012, 18013, 18014, + 9007: 18012, 18014, 18015, + 9008: 18016, 18017, 18018, + 9009: 18016, 18018, 18019, + 9010: 18020, 18021, 18022, + 9011: 18020, 18022, 18023, + 9012: 18024, 18025, 18026, + 9013: 18024, 18026, 18027, + 9014: 18028, 18029, 18030, + 9015: 18028, 18030, 18031, + 9016: 18032, 18033, 18034, + 9017: 18032, 18034, 18035, + 9018: 18036, 18037, 18038, + 9019: 18036, 18038, 18039, + 9020: 18040, 18041, 18042, + 9021: 18040, 18042, 18043, + 9022: 18044, 18045, 18046, + 9023: 18044, 18046, 18047, + 9024: 18048, 18049, 18050, + 9025: 18048, 18050, 18051, + 9026: 18052, 18053, 18054, + 9027: 18052, 18054, 18055, + 9028: 18056, 18057, 18058, + 9029: 18056, 18058, 18059, + 9030: 18060, 18061, 18062, + 9031: 18060, 18062, 18063, + 9032: 18064, 18065, 18066, + 9033: 18064, 18066, 18067, + 9034: 18068, 18069, 18070, + 9035: 18068, 18070, 18071, + 9036: 18072, 18073, 18074, + 9037: 18072, 18074, 18075, + 9038: 18076, 18077, 18078, + 9039: 18076, 18078, 18079, + 9040: 18080, 18081, 18082, + 9041: 18080, 18082, 18083, + 9042: 18084, 18085, 18086, + 9043: 18084, 18086, 18087, + 9044: 18088, 18089, 18090, + 9045: 18088, 18090, 18091, + 9046: 18092, 18093, 18094, + 9047: 18092, 18094, 18095, + 9048: 18096, 18097, 18098, + 9049: 18096, 18098, 18099, + 9050: 18100, 18101, 18102, + 9051: 18100, 18102, 18103, + 9052: 18104, 18105, 18106, + 9053: 18104, 18106, 18107, + 9054: 18108, 18109, 18110, + 9055: 18108, 18110, 18111, + 9056: 18112, 18113, 18114, + 9057: 18112, 18114, 18115, + 9058: 18116, 18117, 18118, + 9059: 18116, 18118, 18119, + 9060: 18120, 18121, 18122, + 9061: 18120, 18122, 18123, + 9062: 18124, 18125, 18126, + 9063: 18124, 18126, 18127, + 9064: 18128, 18129, 18130, + 9065: 18128, 18130, 18131, + 9066: 18132, 18133, 18134, + 9067: 18132, 18134, 18135, + 9068: 18136, 18137, 18138, + 9069: 18136, 18138, 18139, + 9070: 18140, 18141, 18142, + 9071: 18140, 18142, 18143, + 9072: 18144, 18145, 18146, + 9073: 18144, 18146, 18147, + 9074: 18148, 18149, 18150, + 9075: 18148, 18150, 18151, + 9076: 18152, 18153, 18154, + 9077: 18152, 18154, 18155, + 9078: 18156, 18157, 18158, + 9079: 18156, 18158, 18159, + 9080: 18160, 18161, 18162, + 9081: 18160, 18162, 18163, + 9082: 18164, 18165, 18166, + 9083: 18164, 18166, 18167, + 9084: 18168, 18169, 18170, + 9085: 18168, 18170, 18171, + 9086: 18172, 18173, 18174, + 9087: 18172, 18174, 18175, + 9088: 18176, 18177, 18178, + 9089: 18176, 18178, 18179, + 9090: 18180, 18181, 18182, + 9091: 18180, 18182, 18183, + 9092: 18184, 18185, 18186, + 9093: 18184, 18186, 18187, + 9094: 18188, 18189, 18190, + 9095: 18188, 18190, 18191, + 9096: 18192, 18193, 18194, + 9097: 18192, 18194, 18195, + 9098: 18196, 18197, 18198, + 9099: 18196, 18198, 18199, + 9100: 18200, 18201, 18202, + 9101: 18200, 18202, 18203, + 9102: 18204, 18205, 18206, + 9103: 18204, 18206, 18207, + 9104: 18208, 18209, 18210, + 9105: 18208, 18210, 18211, + 9106: 18212, 18213, 18214, + 9107: 18212, 18214, 18215, + 9108: 18216, 18217, 18218, + 9109: 18216, 18218, 18219, + 9110: 18220, 18221, 18222, + 9111: 18220, 18222, 18223, + 9112: 18224, 18225, 18226, + 9113: 18224, 18226, 18227, + 9114: 18228, 18229, 18230, + 9115: 18228, 18230, 18231, + 9116: 18232, 18233, 18234, + 9117: 18232, 18234, 18235, + 9118: 18236, 18237, 18238, + 9119: 18236, 18238, 18239, + 9120: 18240, 18241, 18242, + 9121: 18240, 18242, 18243, + 9122: 18244, 18245, 18246, + 9123: 18244, 18246, 18247, + 9124: 18248, 18249, 18250, + 9125: 18248, 18250, 18251, + 9126: 18252, 18253, 18254, + 9127: 18252, 18254, 18255, + 9128: 18256, 18257, 18258, + 9129: 18256, 18258, 18259, + 9130: 18260, 18261, 18262, + 9131: 18260, 18262, 18263, + 9132: 18264, 18265, 18266, + 9133: 18264, 18266, 18267, + 9134: 18268, 18269, 18270, + 9135: 18268, 18270, 18271, + 9136: 18272, 18273, 18274, + 9137: 18272, 18274, 18275, + 9138: 18276, 18277, 18278, + 9139: 18276, 18278, 18279, + 9140: 18280, 18281, 18282, + 9141: 18280, 18282, 18283, + 9142: 18284, 18285, 18286, + 9143: 18284, 18286, 18287, + 9144: 18288, 18289, 18290, + 9145: 18288, 18290, 18291, + 9146: 18292, 18293, 18294, + 9147: 18292, 18294, 18295, + 9148: 18296, 18297, 18298, + 9149: 18296, 18298, 18299, + 9150: 18300, 18301, 18302, + 9151: 18300, 18302, 18303, + 9152: 18304, 18305, 18306, + 9153: 18304, 18306, 18307, + 9154: 18308, 18309, 18310, + 9155: 18308, 18310, 18311, + 9156: 18312, 18313, 18314, + 9157: 18312, 18314, 18315, + 9158: 18316, 18317, 18318, + 9159: 18316, 18318, 18319, + 9160: 18320, 18321, 18322, + 9161: 18320, 18322, 18323, + 9162: 18324, 18325, 18326, + 9163: 18324, 18326, 18327, + 9164: 18328, 18329, 18330, + 9165: 18328, 18330, 18331, + 9166: 18332, 18333, 18334, + 9167: 18332, 18334, 18335, + 9168: 18336, 18337, 18338, + 9169: 18336, 18338, 18339, + 9170: 18340, 18341, 18342, + 9171: 18340, 18342, 18343, + 9172: 18344, 18345, 18346, + 9173: 18344, 18346, 18347, + 9174: 18348, 18349, 18350, + 9175: 18348, 18350, 18351, + 9176: 18352, 18353, 18354, + 9177: 18352, 18354, 18355, + 9178: 18356, 18357, 18358, + 9179: 18356, 18358, 18359, + 9180: 18360, 18361, 18362, + 9181: 18360, 18362, 18363, + 9182: 18364, 18365, 18366, + 9183: 18364, 18366, 18367, + 9184: 18368, 18369, 18370, + 9185: 18368, 18370, 18371, + 9186: 18372, 18373, 18374, + 9187: 18372, 18374, 18375, + 9188: 18376, 18377, 18378, + 9189: 18376, 18378, 18379, + 9190: 18380, 18381, 18382, + 9191: 18380, 18382, 18383, + 9192: 18384, 18385, 18386, + 9193: 18384, 18386, 18387, + 9194: 18388, 18389, 18390, + 9195: 18388, 18390, 18391, + 9196: 18392, 18393, 18394, + 9197: 18392, 18394, 18395, + 9198: 18396, 18397, 18398, + 9199: 18396, 18398, 18399, + 9200: 18400, 18401, 18402, + 9201: 18400, 18402, 18403, + 9202: 18404, 18405, 18406, + 9203: 18404, 18406, 18407, + 9204: 18408, 18409, 18410, + 9205: 18408, 18410, 18411, + 9206: 18412, 18413, 18414, + 9207: 18412, 18414, 18415, + 9208: 18416, 18417, 18418, + 9209: 18416, 18418, 18419, + 9210: 18420, 18421, 18422, + 9211: 18420, 18422, 18423, + 9212: 18424, 18425, 18426, + 9213: 18424, 18426, 18427, + 9214: 18428, 18429, 18430, + 9215: 18428, 18430, 18431, + 9216: 18432, 18433, 18434, + 9217: 18432, 18434, 18435, + 9218: 18436, 18437, 18438, + 9219: 18436, 18438, 18439, + 9220: 18440, 18441, 18442, + 9221: 18440, 18442, 18443, + 9222: 18444, 18445, 18446, + 9223: 18444, 18446, 18447, + 9224: 18448, 18449, 18450, + 9225: 18448, 18450, 18451, + 9226: 18452, 18453, 18454, + 9227: 18452, 18454, 18455, + 9228: 18456, 18457, 18458, + 9229: 18456, 18458, 18459, + 9230: 18460, 18461, 18462, + 9231: 18460, 18462, 18463, + 9232: 18464, 18465, 18466, + 9233: 18464, 18466, 18467, + 9234: 18468, 18469, 18470, + 9235: 18468, 18470, 18471, + 9236: 18472, 18473, 18474, + 9237: 18472, 18474, 18475, + 9238: 18476, 18477, 18478, + 9239: 18476, 18478, 18479, + 9240: 18480, 18481, 18482, + 9241: 18480, 18482, 18483, + 9242: 18484, 18485, 18486, + 9243: 18484, 18486, 18487, + 9244: 18488, 18489, 18490, + 9245: 18488, 18490, 18491, + 9246: 18492, 18493, 18494, + 9247: 18492, 18494, 18495, + 9248: 18496, 18497, 18498, + 9249: 18496, 18498, 18499, + 9250: 18500, 18501, 18502, + 9251: 18500, 18502, 18503, + 9252: 18504, 18505, 18506, + 9253: 18504, 18506, 18507, + 9254: 18508, 18509, 18510, + 9255: 18508, 18510, 18511, + 9256: 18512, 18513, 18514, + 9257: 18512, 18514, 18515, + 9258: 18516, 18517, 18518, + 9259: 18516, 18518, 18519, + 9260: 18520, 18521, 18522, + 9261: 18520, 18522, 18523, + 9262: 18524, 18525, 18526, + 9263: 18524, 18526, 18527, + 9264: 18528, 18529, 18530, + 9265: 18528, 18530, 18531, + 9266: 18532, 18533, 18534, + 9267: 18532, 18534, 18535, + 9268: 18536, 18537, 18538, + 9269: 18536, 18538, 18539, + 9270: 18540, 18541, 18542, + 9271: 18540, 18542, 18543, + 9272: 18544, 18545, 18546, + 9273: 18544, 18546, 18547, + 9274: 18548, 18549, 18550, + 9275: 18548, 18550, 18551, + 9276: 18552, 18553, 18554, + 9277: 18552, 18554, 18555, + 9278: 18556, 18557, 18558, + 9279: 18556, 18558, 18559, + 9280: 18560, 18561, 18562, + 9281: 18560, 18562, 18563, + 9282: 18564, 18565, 18566, + 9283: 18564, 18566, 18567, + 9284: 18568, 18569, 18570, + 9285: 18568, 18570, 18571, + 9286: 18572, 18573, 18574, + 9287: 18572, 18574, 18575, + 9288: 18576, 18577, 18578, + 9289: 18576, 18578, 18579, + 9290: 18580, 18581, 18582, + 9291: 18580, 18582, 18583, + 9292: 18584, 18585, 18586, + 9293: 18584, 18586, 18587, + 9294: 18588, 18589, 18590, + 9295: 18588, 18590, 18591, + 9296: 18592, 18593, 18594, + 9297: 18592, 18594, 18595, + 9298: 18596, 18597, 18598, + 9299: 18596, 18598, 18599, + 9300: 18600, 18601, 18602, + 9301: 18600, 18602, 18603, + 9302: 18604, 18605, 18606, + 9303: 18604, 18606, 18607, + 9304: 18608, 18609, 18610, + 9305: 18608, 18610, 18611, + 9306: 18612, 18613, 18614, + 9307: 18612, 18614, 18615, + 9308: 18616, 18617, 18618, + 9309: 18616, 18618, 18619, + 9310: 18620, 18621, 18622, + 9311: 18620, 18622, 18623, + 9312: 18624, 18625, 18626, + 9313: 18624, 18626, 18627, + 9314: 18628, 18629, 18630, + 9315: 18628, 18630, 18631, + 9316: 18632, 18633, 18634, + 9317: 18632, 18634, 18635, + 9318: 18636, 18637, 18638, + 9319: 18636, 18638, 18639, + 9320: 18640, 18641, 18642, + 9321: 18640, 18642, 18643, + 9322: 18644, 18645, 18646, + 9323: 18644, 18646, 18647, + 9324: 18648, 18649, 18650, + 9325: 18648, 18650, 18651, + 9326: 18652, 18653, 18654, + 9327: 18652, 18654, 18655, + 9328: 18656, 18657, 18658, + 9329: 18656, 18658, 18659, + 9330: 18660, 18661, 18662, + 9331: 18660, 18662, 18663, + 9332: 18664, 18665, 18666, + 9333: 18664, 18666, 18667, + 9334: 18668, 18669, 18670, + 9335: 18668, 18670, 18671, + 9336: 18672, 18673, 18674, + 9337: 18672, 18674, 18675, + 9338: 18676, 18677, 18678, + 9339: 18676, 18678, 18679, + 9340: 18680, 18681, 18682, + 9341: 18680, 18682, 18683, + 9342: 18684, 18685, 18686, + 9343: 18684, 18686, 18687, + 9344: 18688, 18689, 18690, + 9345: 18688, 18690, 18691, + 9346: 18692, 18693, 18694, + 9347: 18692, 18694, 18695, + 9348: 18696, 18697, 18698, + 9349: 18696, 18698, 18699, + 9350: 18700, 18701, 18702, + 9351: 18700, 18702, 18703, + 9352: 18704, 18705, 18706, + 9353: 18704, 18706, 18707, + 9354: 18708, 18709, 18710, + 9355: 18708, 18710, 18711, + 9356: 18712, 18713, 18714, + 9357: 18712, 18714, 18715, + 9358: 18716, 18717, 18718, + 9359: 18716, 18718, 18719, + 9360: 18720, 18721, 18722, + 9361: 18720, 18722, 18723, + 9362: 18724, 18725, 18726, + 9363: 18724, 18726, 18727, + 9364: 18728, 18729, 18730, + 9365: 18728, 18730, 18731, + 9366: 18732, 18733, 18734, + 9367: 18732, 18734, 18735, + 9368: 18736, 18737, 18738, + 9369: 18736, 18738, 18739, + 9370: 18740, 18741, 18742, + 9371: 18740, 18742, 18743, + 9372: 18744, 18745, 18746, + 9373: 18744, 18746, 18747, + 9374: 18748, 18749, 18750, + 9375: 18748, 18750, 18751, + 9376: 18752, 18753, 18754, + 9377: 18752, 18754, 18755, + 9378: 18756, 18757, 18758, + 9379: 18756, 18758, 18759, + 9380: 18760, 18761, 18762, + 9381: 18760, 18762, 18763, + 9382: 18764, 18765, 18766, + 9383: 18764, 18766, 18767, + 9384: 18768, 18769, 18770, + 9385: 18768, 18770, 18771, + 9386: 18772, 18773, 18774, + 9387: 18772, 18774, 18775, + 9388: 18776, 18777, 18778, + 9389: 18776, 18778, 18779, + 9390: 18780, 18781, 18782, + 9391: 18780, 18782, 18783, + 9392: 18784, 18785, 18786, + 9393: 18784, 18786, 18787, + 9394: 18788, 18789, 18790, + 9395: 18788, 18790, 18791, + 9396: 18792, 18793, 18794, + 9397: 18792, 18794, 18795, + 9398: 18796, 18797, 18798, + 9399: 18796, 18798, 18799, + 9400: 18800, 18801, 18802, + 9401: 18800, 18802, 18803, + 9402: 18804, 18805, 18806, + 9403: 18804, 18806, 18807, + 9404: 18808, 18809, 18810, + 9405: 18808, 18810, 18811, + 9406: 18812, 18813, 18814, + 9407: 18812, 18814, 18815, + 9408: 18816, 18817, 18818, + 9409: 18816, 18818, 18819, + 9410: 18820, 18821, 18822, + 9411: 18820, 18822, 18823, + 9412: 18824, 18825, 18826, + 9413: 18824, 18826, 18827, + 9414: 18828, 18829, 18830, + 9415: 18828, 18830, 18831, + 9416: 18832, 18833, 18834, + 9417: 18832, 18834, 18835, + 9418: 18836, 18837, 18838, + 9419: 18836, 18838, 18839, + 9420: 18840, 18841, 18842, + 9421: 18840, 18842, 18843, + 9422: 18844, 18845, 18846, + 9423: 18844, 18846, 18847, + 9424: 18848, 18849, 18850, + 9425: 18848, 18850, 18851, + 9426: 18852, 18853, 18854, + 9427: 18852, 18854, 18855, + 9428: 18856, 18857, 18858, + 9429: 18856, 18858, 18859, + 9430: 18860, 18861, 18862, + 9431: 18860, 18862, 18863, + 9432: 18864, 18865, 18866, + 9433: 18864, 18866, 18867, + 9434: 18868, 18869, 18870, + 9435: 18868, 18870, 18871, + 9436: 18872, 18873, 18874, + 9437: 18872, 18874, 18875, + 9438: 18876, 18877, 18878, + 9439: 18876, 18878, 18879, + 9440: 18880, 18881, 18882, + 9441: 18880, 18882, 18883, + 9442: 18884, 18885, 18886, + 9443: 18884, 18886, 18887, + 9444: 18888, 18889, 18890, + 9445: 18888, 18890, 18891, + 9446: 18892, 18893, 18894, + 9447: 18892, 18894, 18895, + 9448: 18896, 18897, 18898, + 9449: 18896, 18898, 18899, + 9450: 18900, 18901, 18902, + 9451: 18900, 18902, 18903, + 9452: 18904, 18905, 18906, + 9453: 18904, 18906, 18907, + 9454: 18908, 18909, 18910, + 9455: 18908, 18910, 18911, + 9456: 18912, 18913, 18914, + 9457: 18912, 18914, 18915, + 9458: 18916, 18917, 18918, + 9459: 18916, 18918, 18919, + 9460: 18920, 18921, 18922, + 9461: 18920, 18922, 18923, + 9462: 18924, 18925, 18926, + 9463: 18924, 18926, 18927, + 9464: 18928, 18929, 18930, + 9465: 18928, 18930, 18931, + 9466: 18932, 18933, 18934, + 9467: 18932, 18934, 18935, + 9468: 18936, 18937, 18938, + 9469: 18936, 18938, 18939, + 9470: 18940, 18941, 18942, + 9471: 18940, 18942, 18943, + 9472: 18944, 18945, 18946, + 9473: 18944, 18946, 18947, + 9474: 18948, 18949, 18950, + 9475: 18948, 18950, 18951, + 9476: 18952, 18953, 18954, + 9477: 18952, 18954, 18955, + 9478: 18956, 18957, 18958, + 9479: 18956, 18958, 18959, + 9480: 18960, 18961, 18962, + 9481: 18960, 18962, 18963, + 9482: 18964, 18965, 18966, + 9483: 18964, 18966, 18967, + 9484: 18968, 18969, 18970, + 9485: 18968, 18970, 18971, + 9486: 18972, 18973, 18974, + 9487: 18972, 18974, 18975, + 9488: 18976, 18977, 18978, + 9489: 18976, 18978, 18979, + 9490: 18980, 18981, 18982, + 9491: 18980, 18982, 18983, + 9492: 18984, 18985, 18986, + 9493: 18984, 18986, 18987, + 9494: 18988, 18989, 18990, + 9495: 18988, 18990, 18991, + 9496: 18992, 18993, 18994, + 9497: 18992, 18994, 18995, + 9498: 18996, 18997, 18998, + 9499: 18996, 18998, 18999, + 9500: 19000, 19001, 19002, + 9501: 19000, 19002, 19003, + 9502: 19004, 19005, 19006, + 9503: 19004, 19006, 19007, + 9504: 19008, 19009, 19010, + 9505: 19008, 19010, 19011, + 9506: 19012, 19013, 19014, + 9507: 19012, 19014, 19015, + 9508: 19016, 19017, 19018, + 9509: 19016, 19018, 19019, + 9510: 19020, 19021, 19022, + 9511: 19020, 19022, 19023, + 9512: 19024, 19025, 19026, + 9513: 19024, 19026, 19027, + 9514: 19028, 19029, 19030, + 9515: 19028, 19030, 19031, + 9516: 19032, 19033, 19034, + 9517: 19032, 19034, 19035, + 9518: 19036, 19037, 19038, + 9519: 19036, 19038, 19039, + 9520: 19040, 19041, 19042, + 9521: 19040, 19042, 19043, + 9522: 19044, 19045, 19046, + 9523: 19044, 19046, 19047, + 9524: 19048, 19049, 19050, + 9525: 19048, 19050, 19051, + 9526: 19052, 19053, 19054, + 9527: 19052, 19054, 19055, + 9528: 19056, 19057, 19058, + 9529: 19056, 19058, 19059, + 9530: 19060, 19061, 19062, + 9531: 19060, 19062, 19063, + 9532: 19064, 19065, 19066, + 9533: 19064, 19066, 19067, + 9534: 19068, 19069, 19070, + 9535: 19068, 19070, 19071, + 9536: 19072, 19073, 19074, + 9537: 19072, 19074, 19075, + 9538: 19076, 19077, 19078, + 9539: 19076, 19078, 19079, + 9540: 19080, 19081, 19082, + 9541: 19080, 19082, 19083, + 9542: 19084, 19085, 19086, + 9543: 19084, 19086, 19087, + 9544: 19088, 19089, 19090, + 9545: 19088, 19090, 19091, + 9546: 19092, 19093, 19094, + 9547: 19092, 19094, 19095, + 9548: 19096, 19097, 19098, + 9549: 19096, 19098, 19099, + 9550: 19100, 19101, 19102, + 9551: 19100, 19102, 19103, + 9552: 19104, 19105, 19106, + 9553: 19104, 19106, 19107, + 9554: 19108, 19109, 19110, + 9555: 19108, 19110, 19111, + 9556: 19112, 19113, 19114, + 9557: 19112, 19114, 19115, + 9558: 19116, 19117, 19118, + 9559: 19116, 19118, 19119, + 9560: 19120, 19121, 19122, + 9561: 19120, 19122, 19123, + 9562: 19124, 19125, 19126, + 9563: 19124, 19126, 19127, + 9564: 19128, 19129, 19130, + 9565: 19128, 19130, 19131, + 9566: 19132, 19133, 19134, + 9567: 19132, 19134, 19135, + 9568: 19136, 19137, 19138, + 9569: 19136, 19138, 19139, + 9570: 19140, 19141, 19142, + 9571: 19140, 19142, 19143, + 9572: 19144, 19145, 19146, + 9573: 19144, 19146, 19147, + 9574: 19148, 19149, 19150, + 9575: 19148, 19150, 19151, + 9576: 19152, 19153, 19154, + 9577: 19152, 19154, 19155, + 9578: 19156, 19157, 19158, + 9579: 19156, 19158, 19159, + 9580: 19160, 19161, 19162, + 9581: 19160, 19162, 19163, + 9582: 19164, 19165, 19166, + 9583: 19164, 19166, 19167, + 9584: 19168, 19169, 19170, + 9585: 19168, 19170, 19171, + 9586: 19172, 19173, 19174, + 9587: 19172, 19174, 19175, + 9588: 19176, 19177, 19178, + 9589: 19176, 19178, 19179, + 9590: 19180, 19181, 19182, + 9591: 19180, 19182, 19183, + 9592: 19184, 19185, 19186, + 9593: 19184, 19186, 19187, + 9594: 19188, 19189, 19190, + 9595: 19188, 19190, 19191, + 9596: 19192, 19193, 19194, + 9597: 19192, 19194, 19195, + 9598: 19196, 19197, 19198, + 9599: 19196, 19198, 19199, + 9600: 19200, 19201, 19202, + 9601: 19200, 19202, 19203, + 9602: 19204, 19205, 19206, + 9603: 19204, 19206, 19207, + 9604: 19208, 19209, 19210, + 9605: 19208, 19210, 19211, + 9606: 19212, 19213, 19214, + 9607: 19212, 19214, 19215, + 9608: 19216, 19217, 19218, + 9609: 19216, 19218, 19219, + 9610: 19220, 19221, 19222, + 9611: 19220, 19222, 19223, + 9612: 19224, 19225, 19226, + 9613: 19224, 19226, 19227, + 9614: 19228, 19229, 19230, + 9615: 19228, 19230, 19231, + 9616: 19232, 19233, 19234, + 9617: 19232, 19234, 19235, + 9618: 19236, 19237, 19238, + 9619: 19236, 19238, 19239, + 9620: 19240, 19241, 19242, + 9621: 19240, 19242, 19243, + 9622: 19244, 19245, 19246, + 9623: 19244, 19246, 19247, + 9624: 19248, 19249, 19250, + 9625: 19248, 19250, 19251, + 9626: 19252, 19253, 19254, + 9627: 19252, 19254, 19255, + 9628: 19256, 19257, 19258, + 9629: 19256, 19258, 19259, + 9630: 19260, 19261, 19262, + 9631: 19260, 19262, 19263, + 9632: 19264, 19265, 19266, + 9633: 19264, 19266, 19267, + 9634: 19268, 19269, 19270, + 9635: 19268, 19270, 19271, + 9636: 19272, 19273, 19274, + 9637: 19272, 19274, 19275, + 9638: 19276, 19277, 19278, + 9639: 19276, 19278, 19279, + 9640: 19280, 19281, 19282, + 9641: 19280, 19282, 19283, + 9642: 19284, 19285, 19286, + 9643: 19284, 19286, 19287, + 9644: 19288, 19289, 19290, + 9645: 19288, 19290, 19291, + 9646: 19292, 19293, 19294, + 9647: 19292, 19294, 19295, + 9648: 19296, 19297, 19298, + 9649: 19296, 19298, 19299, + 9650: 19300, 19301, 19302, + 9651: 19300, 19302, 19303, + 9652: 19304, 19305, 19306, + 9653: 19304, 19306, 19307, + 9654: 19308, 19309, 19310, + 9655: 19308, 19310, 19311, + 9656: 19312, 19313, 19314, + 9657: 19312, 19314, 19315, + 9658: 19316, 19317, 19318, + 9659: 19316, 19318, 19319, + 9660: 19320, 19321, 19322, + 9661: 19320, 19322, 19323, + 9662: 19324, 19325, 19326, + 9663: 19324, 19326, 19327, + 9664: 19328, 19329, 19330, + 9665: 19328, 19330, 19331, + 9666: 19332, 19333, 19334, + 9667: 19332, 19334, 19335, + 9668: 19336, 19337, 19338, + 9669: 19336, 19338, 19339, + 9670: 19340, 19341, 19342, + 9671: 19340, 19342, 19343, + 9672: 19344, 19345, 19346, + 9673: 19344, 19346, 19347, + 9674: 19348, 19349, 19350, + 9675: 19348, 19350, 19351, + 9676: 19352, 19353, 19354, + 9677: 19352, 19354, 19355, + 9678: 19356, 19357, 19358, + 9679: 19356, 19358, 19359, + 9680: 19360, 19361, 19362, + 9681: 19360, 19362, 19363, + 9682: 19364, 19365, 19366, + 9683: 19364, 19366, 19367, + 9684: 19368, 19369, 19370, + 9685: 19368, 19370, 19371, + 9686: 19372, 19373, 19374, + 9687: 19372, 19374, 19375, + 9688: 19376, 19377, 19378, + 9689: 19376, 19378, 19379, + 9690: 19380, 19381, 19382, + 9691: 19380, 19382, 19383, + 9692: 19384, 19385, 19386, + 9693: 19384, 19386, 19387, + 9694: 19388, 19389, 19390, + 9695: 19388, 19390, 19391, + 9696: 19392, 19393, 19394, + 9697: 19392, 19394, 19395, + 9698: 19396, 19397, 19398, + 9699: 19396, 19398, 19399, + 9700: 19400, 19401, 19402, + 9701: 19400, 19402, 19403, + 9702: 19404, 19405, 19406, + 9703: 19404, 19406, 19407, + 9704: 19408, 19409, 19410, + 9705: 19408, 19410, 19411, + 9706: 19412, 19413, 19414, + 9707: 19412, 19414, 19415, + 9708: 19416, 19417, 19418, + 9709: 19416, 19418, 19419, + 9710: 19420, 19421, 19422, + 9711: 19420, 19422, 19423, + 9712: 19424, 19425, 19426, + 9713: 19424, 19426, 19427, + 9714: 19428, 19429, 19430, + 9715: 19428, 19430, 19431, + 9716: 19432, 19433, 19434, + 9717: 19432, 19434, 19435, + 9718: 19436, 19437, 19438, + 9719: 19436, 19438, 19439, + 9720: 19440, 19441, 19442, + 9721: 19440, 19442, 19443, + 9722: 19444, 19445, 19446, + 9723: 19444, 19446, 19447, + 9724: 19448, 19449, 19450, + 9725: 19448, 19450, 19451, + 9726: 19452, 19453, 19454, + 9727: 19452, 19454, 19455, + 9728: 19456, 19457, 19458, + 9729: 19456, 19458, 19459, + 9730: 19460, 19461, 19462, + 9731: 19460, 19462, 19463, + 9732: 19464, 19465, 19466, + 9733: 19464, 19466, 19467, + 9734: 19468, 19469, 19470, + 9735: 19468, 19470, 19471, + 9736: 19472, 19473, 19474, + 9737: 19472, 19474, 19475, + 9738: 19476, 19477, 19478, + 9739: 19476, 19478, 19479, + 9740: 19480, 19481, 19482, + 9741: 19480, 19482, 19483, + 9742: 19484, 19485, 19486, + 9743: 19484, 19486, 19487, + 9744: 19488, 19489, 19490, + 9745: 19488, 19490, 19491, + 9746: 19492, 19493, 19494, + 9747: 19492, 19494, 19495, + 9748: 19496, 19497, 19498, + 9749: 19496, 19498, 19499, + 9750: 19500, 19501, 19502, + 9751: 19500, 19502, 19503, + 9752: 19504, 19505, 19506, + 9753: 19504, 19506, 19507, + 9754: 19508, 19509, 19510, + 9755: 19508, 19510, 19511, + 9756: 19512, 19513, 19514, + 9757: 19512, 19514, 19515, + 9758: 19516, 19517, 19518, + 9759: 19516, 19518, 19519, + 9760: 19520, 19521, 19522, + 9761: 19520, 19522, 19523, + 9762: 19524, 19525, 19526, + 9763: 19524, 19526, 19527, + 9764: 19528, 19529, 19530, + 9765: 19528, 19530, 19531, + 9766: 19532, 19533, 19534, + 9767: 19532, 19534, 19535, + 9768: 19536, 19537, 19538, + 9769: 19536, 19538, 19539, + 9770: 19540, 19541, 19542, + 9771: 19540, 19542, 19543, + 9772: 19544, 19545, 19546, + 9773: 19544, 19546, 19547, + 9774: 19548, 19549, 19550, + 9775: 19548, 19550, 19551, + 9776: 19552, 19553, 19554, + 9777: 19552, 19554, 19555, + 9778: 19556, 19557, 19558, + 9779: 19556, 19558, 19559, + 9780: 19560, 19561, 19562, + 9781: 19560, 19562, 19563, + 9782: 19564, 19565, 19566, + 9783: 19564, 19566, 19567, + 9784: 19568, 19569, 19570, + 9785: 19568, 19570, 19571, + 9786: 19572, 19573, 19574, + 9787: 19572, 19574, 19575, + 9788: 19576, 19577, 19578, + 9789: 19576, 19578, 19579, + 9790: 19580, 19581, 19582, + 9791: 19580, 19582, 19583, + 9792: 19584, 19585, 19586, + 9793: 19584, 19586, 19587, + 9794: 19588, 19589, 19590, + 9795: 19588, 19590, 19591, + 9796: 19592, 19593, 19594, + 9797: 19592, 19594, 19595, + 9798: 19596, 19597, 19598, + 9799: 19596, 19598, 19599, + 9800: 19600, 19601, 19602, + 9801: 19600, 19602, 19603, + 9802: 19604, 19605, 19606, + 9803: 19604, 19606, 19607, + 9804: 19608, 19609, 19610, + 9805: 19608, 19610, 19611, + 9806: 19612, 19613, 19614, + 9807: 19612, 19614, 19615, + 9808: 19616, 19617, 19618, + 9809: 19616, 19618, 19619, + 9810: 19620, 19621, 19622, + 9811: 19620, 19622, 19623, + 9812: 19624, 19625, 19626, + 9813: 19624, 19626, 19627, + 9814: 19628, 19629, 19630, + 9815: 19628, 19630, 19631, + 9816: 19632, 19633, 19634, + 9817: 19632, 19634, 19635, + 9818: 19636, 19637, 19638, + 9819: 19636, 19638, 19639, + 9820: 19640, 19641, 19642, + 9821: 19640, 19642, 19643, + 9822: 19644, 19645, 19646, + 9823: 19644, 19646, 19647, + 9824: 19648, 19649, 19650, + 9825: 19648, 19650, 19651, + 9826: 19652, 19653, 19654, + 9827: 19652, 19654, 19655, + 9828: 19656, 19657, 19658, + 9829: 19656, 19658, 19659, + 9830: 19660, 19661, 19662, + 9831: 19660, 19662, 19663, + 9832: 19664, 19665, 19666, + 9833: 19664, 19666, 19667, + 9834: 19668, 19669, 19670, + 9835: 19668, 19670, 19671, + 9836: 19672, 19673, 19674, + 9837: 19672, 19674, 19675, + 9838: 19676, 19677, 19678, + 9839: 19676, 19678, 19679, + 9840: 19680, 19681, 19682, + 9841: 19680, 19682, 19683, + 9842: 19684, 19685, 19686, + 9843: 19684, 19686, 19687, + 9844: 19688, 19689, 19690, + 9845: 19688, 19690, 19691, + 9846: 19692, 19693, 19694, + 9847: 19692, 19694, 19695, + 9848: 19696, 19697, 19698, + 9849: 19696, 19698, 19699, + 9850: 19700, 19701, 19702, + 9851: 19700, 19702, 19703, + 9852: 19704, 19705, 19706, + 9853: 19704, 19706, 19707, + 9854: 19708, 19709, 19710, + 9855: 19708, 19710, 19711, + 9856: 19712, 19713, 19714, + 9857: 19712, 19714, 19715, + 9858: 19716, 19717, 19718, + 9859: 19716, 19718, 19719, + 9860: 19720, 19721, 19722, + 9861: 19720, 19722, 19723, + 9862: 19724, 19725, 19726, + 9863: 19724, 19726, 19727, + 9864: 19728, 19729, 19730, + 9865: 19728, 19730, 19731, + 9866: 19732, 19733, 19734, + 9867: 19732, 19734, 19735, + 9868: 19736, 19737, 19738, + 9869: 19736, 19738, 19739, + 9870: 19740, 19741, 19742, + 9871: 19740, 19742, 19743, + 9872: 19744, 19745, 19746, + 9873: 19744, 19746, 19747, + 9874: 19748, 19749, 19750, + 9875: 19748, 19750, 19751, + 9876: 19752, 19753, 19754, + 9877: 19752, 19754, 19755, + 9878: 19756, 19757, 19758, + 9879: 19756, 19758, 19759, + 9880: 19760, 19761, 19762, + 9881: 19760, 19762, 19763, + 9882: 19764, 19765, 19766, + 9883: 19764, 19766, 19767, + 9884: 19768, 19769, 19770, + 9885: 19768, 19770, 19771, + 9886: 19772, 19773, 19774, + 9887: 19772, 19774, 19775, + 9888: 19776, 19777, 19778, + 9889: 19776, 19778, 19779, + 9890: 19780, 19781, 19782, + 9891: 19780, 19782, 19783, + 9892: 19784, 19785, 19786, + 9893: 19784, 19786, 19787, + 9894: 19788, 19789, 19790, + 9895: 19788, 19790, 19791, + 9896: 19792, 19793, 19794, + 9897: 19792, 19794, 19795, + 9898: 19796, 19797, 19798, + 9899: 19796, 19798, 19799, + 9900: 19800, 19801, 19802, + 9901: 19800, 19802, 19803, + 9902: 19804, 19805, 19806, + 9903: 19804, 19806, 19807, + 9904: 19808, 19809, 19810, + 9905: 19808, 19810, 19811, + 9906: 19812, 19813, 19814, + 9907: 19812, 19814, 19815, + 9908: 19816, 19817, 19818, + 9909: 19816, 19818, 19819, + 9910: 19820, 19821, 19822, + 9911: 19820, 19822, 19823, + 9912: 19824, 19825, 19826, + 9913: 19824, 19826, 19827, + 9914: 19828, 19829, 19830, + 9915: 19828, 19830, 19831, + 9916: 19832, 19833, 19834, + 9917: 19832, 19834, 19835, + 9918: 19836, 19837, 19838, + 9919: 19836, 19838, 19839, + 9920: 19840, 19841, 19842, + 9921: 19840, 19842, 19843, + 9922: 19844, 19845, 19846, + 9923: 19844, 19846, 19847, + 9924: 19848, 19849, 19850, + 9925: 19848, 19850, 19851, + 9926: 19852, 19853, 19854, + 9927: 19852, 19854, 19855, + 9928: 19856, 19857, 19858, + 9929: 19856, 19858, 19859, + 9930: 19860, 19861, 19862, + 9931: 19860, 19862, 19863, + 9932: 19864, 19865, 19866, + 9933: 19864, 19866, 19867, + 9934: 19868, 19869, 19870, + 9935: 19868, 19870, 19871, + 9936: 19872, 19873, 19874, + 9937: 19872, 19874, 19875, + 9938: 19876, 19877, 19878, + 9939: 19876, 19878, 19879, + 9940: 19880, 19881, 19882, + 9941: 19880, 19882, 19883, + 9942: 19884, 19885, 19886, + 9943: 19884, 19886, 19887, + 9944: 19888, 19889, 19890, + 9945: 19888, 19890, 19891, + 9946: 19892, 19893, 19894, + 9947: 19892, 19894, 19895, + 9948: 19896, 19897, 19898, + 9949: 19896, 19898, 19899, + 9950: 19900, 19901, 19902, + 9951: 19900, 19902, 19903, + 9952: 19904, 19905, 19906, + 9953: 19904, 19906, 19907, + 9954: 19908, 19909, 19910, + 9955: 19908, 19910, 19911, + 9956: 19912, 19913, 19914, + 9957: 19912, 19914, 19915, + 9958: 19916, 19917, 19918, + 9959: 19916, 19918, 19919, + 9960: 19920, 19921, 19922, + 9961: 19920, 19922, 19923, + 9962: 19924, 19925, 19926, + 9963: 19924, 19926, 19927, + 9964: 19928, 19929, 19930, + 9965: 19928, 19930, 19931, + 9966: 19932, 19933, 19934, + 9967: 19932, 19934, 19935, + 9968: 19936, 19937, 19938, + 9969: 19936, 19938, 19939, + 9970: 19940, 19941, 19942, + 9971: 19940, 19942, 19943, + 9972: 19944, 19945, 19946, + 9973: 19944, 19946, 19947, + 9974: 19948, 19949, 19950, + 9975: 19948, 19950, 19951, + 9976: 19952, 19953, 19954, + 9977: 19952, 19954, 19955, + 9978: 19956, 19957, 19958, + 9979: 19956, 19958, 19959, + 9980: 19960, 19961, 19962, + 9981: 19960, 19962, 19963, + 9982: 19964, 19965, 19966, + 9983: 19964, 19966, 19967, + 9984: 19968, 19969, 19970, + 9985: 19968, 19970, 19971, + 9986: 19972, 19973, 19974, + 9987: 19972, 19974, 19975, + 9988: 19976, 19977, 19978, + 9989: 19976, 19978, 19979, + 9990: 19980, 19981, 19982, + 9991: 19980, 19982, 19983, + 9992: 19984, 19985, 19986, + 9993: 19984, 19986, 19987, + 9994: 19988, 19989, 19990, + 9995: 19988, 19990, 19991, + 9996: 19992, 19993, 19994, + 9997: 19992, 19994, 19995, + 9998: 19996, 19997, 19998, + 9999: 19996, 19998, 19999, + 10000: 20000, 20001, 20002, + 10001: 20000, 20002, 20003, + 10002: 20004, 20005, 20006, + 10003: 20004, 20006, 20007, + 10004: 20008, 20009, 20010, + 10005: 20008, 20010, 20011, + 10006: 20012, 20013, 20014, + 10007: 20012, 20014, 20015, + 10008: 20016, 20017, 20018, + 10009: 20016, 20018, 20019, + 10010: 20020, 20021, 20022, + 10011: 20020, 20022, 20023, + 10012: 20024, 20025, 20026, + 10013: 20024, 20026, 20027, + 10014: 20028, 20029, 20030, + 10015: 20028, 20030, 20031, + 10016: 20032, 20033, 20034, + 10017: 20032, 20034, 20035, + 10018: 20036, 20037, 20038, + 10019: 20036, 20038, 20039, + 10020: 20040, 20041, 20042, + 10021: 20040, 20042, 20043, + 10022: 20044, 20045, 20046, + 10023: 20044, 20046, 20047, + 10024: 20048, 20049, 20050, + 10025: 20048, 20050, 20051, + 10026: 20052, 20053, 20054, + 10027: 20052, 20054, 20055, + 10028: 20056, 20057, 20058, + 10029: 20056, 20058, 20059, + 10030: 20060, 20061, 20062, + 10031: 20060, 20062, 20063, + 10032: 20064, 20065, 20066, + 10033: 20064, 20066, 20067, + 10034: 20068, 20069, 20070, + 10035: 20068, 20070, 20071, + 10036: 20072, 20073, 20074, + 10037: 20072, 20074, 20075, + 10038: 20076, 20077, 20078, + 10039: 20076, 20078, 20079, + 10040: 20080, 20081, 20082, + 10041: 20080, 20082, 20083, + 10042: 20084, 20085, 20086, + 10043: 20084, 20086, 20087, + 10044: 20088, 20089, 20090, + 10045: 20088, 20090, 20091, + 10046: 20092, 20093, 20094, + 10047: 20092, 20094, 20095, + 10048: 20096, 20097, 20098, + 10049: 20096, 20098, 20099, + 10050: 20100, 20101, 20102, + 10051: 20100, 20102, 20103, + 10052: 20104, 20105, 20106, + 10053: 20104, 20106, 20107, + 10054: 20108, 20109, 20110, + 10055: 20108, 20110, 20111, + 10056: 20112, 20113, 20114, + 10057: 20112, 20114, 20115, + 10058: 20116, 20117, 20118, + 10059: 20116, 20118, 20119, + 10060: 20120, 20121, 20122, + 10061: 20120, 20122, 20123, + 10062: 20124, 20125, 20126, + 10063: 20124, 20126, 20127, + 10064: 20128, 20129, 20130, + 10065: 20128, 20130, 20131, + 10066: 20132, 20133, 20134, + 10067: 20132, 20134, 20135, + 10068: 20136, 20137, 20138, + 10069: 20136, 20138, 20139, + 10070: 20140, 20141, 20142, + 10071: 20140, 20142, 20143, + 10072: 20144, 20145, 20146, + 10073: 20144, 20146, 20147, + 10074: 20148, 20149, 20150, + 10075: 20148, 20150, 20151, + 10076: 20152, 20153, 20154, + 10077: 20152, 20154, 20155, + 10078: 20156, 20157, 20158, + 10079: 20156, 20158, 20159, + 10080: 20160, 20161, 20162, + 10081: 20160, 20162, 20163, + 10082: 20164, 20165, 20166, + 10083: 20164, 20166, 20167, + 10084: 20168, 20169, 20170, + 10085: 20168, 20170, 20171, + 10086: 20172, 20173, 20174, + 10087: 20172, 20174, 20175, + 10088: 20176, 20177, 20178, + 10089: 20176, 20178, 20179, + 10090: 20180, 20181, 20182, + 10091: 20180, 20182, 20183, + 10092: 20184, 20185, 20186, + 10093: 20184, 20186, 20187, + 10094: 20188, 20189, 20190, + 10095: 20188, 20190, 20191, + 10096: 20192, 20193, 20194, + 10097: 20192, 20194, 20195, + 10098: 20196, 20197, 20198, + 10099: 20196, 20198, 20199, + 10100: 20200, 20201, 20202, + 10101: 20200, 20202, 20203, + 10102: 20204, 20205, 20206, + 10103: 20204, 20206, 20207, + 10104: 20208, 20209, 20210, + 10105: 20208, 20210, 20211, + 10106: 20212, 20213, 20214, + 10107: 20212, 20214, 20215, + 10108: 20216, 20217, 20218, + 10109: 20216, 20218, 20219, + 10110: 20220, 20221, 20222, + 10111: 20220, 20222, 20223, + 10112: 20224, 20225, 20226, + 10113: 20224, 20226, 20227, + 10114: 20228, 20229, 20230, + 10115: 20228, 20230, 20231, + 10116: 20232, 20233, 20234, + 10117: 20232, 20234, 20235, + 10118: 20236, 20237, 20238, + 10119: 20236, 20238, 20239, + 10120: 20240, 20241, 20242, + 10121: 20240, 20242, 20243, + 10122: 20244, 20245, 20246, + 10123: 20244, 20246, 20247, + 10124: 20248, 20249, 20250, + 10125: 20248, 20250, 20251, + 10126: 20252, 20253, 20254, + 10127: 20252, 20254, 20255, + 10128: 20256, 20257, 20258, + 10129: 20256, 20258, 20259, + 10130: 20260, 20261, 20262, + 10131: 20260, 20262, 20263, + 10132: 20264, 20265, 20266, + 10133: 20264, 20266, 20267, + 10134: 20268, 20269, 20270, + 10135: 20268, 20270, 20271, + 10136: 20272, 20273, 20274, + 10137: 20272, 20274, 20275, + 10138: 20276, 20277, 20278, + 10139: 20276, 20278, 20279, + 10140: 20280, 20281, 20282, + 10141: 20280, 20282, 20283, + 10142: 20284, 20285, 20286, + 10143: 20284, 20286, 20287, + 10144: 20288, 20289, 20290, + 10145: 20288, 20290, 20291, + 10146: 20292, 20293, 20294, + 10147: 20292, 20294, 20295, + 10148: 20296, 20297, 20298, + 10149: 20296, 20298, 20299, + 10150: 20300, 20301, 20302, + 10151: 20300, 20302, 20303, + 10152: 20304, 20305, 20306, + 10153: 20304, 20306, 20307, + 10154: 20308, 20309, 20310, + 10155: 20308, 20310, 20311, + 10156: 20312, 20313, 20314, + 10157: 20312, 20314, 20315, + 10158: 20316, 20317, 20318, + 10159: 20316, 20318, 20319, + 10160: 20320, 20321, 20322, + 10161: 20320, 20322, 20323, + 10162: 20324, 20325, 20326, + 10163: 20324, 20326, 20327, + 10164: 20328, 20329, 20330, + 10165: 20328, 20330, 20331, + 10166: 20332, 20333, 20334, + 10167: 20332, 20334, 20335, + 10168: 20336, 20337, 20338, + 10169: 20336, 20338, 20339, + 10170: 20340, 20341, 20342, + 10171: 20340, 20342, 20343, + 10172: 20344, 20345, 20346, + 10173: 20344, 20346, 20347, + 10174: 20348, 20349, 20350, + 10175: 20348, 20350, 20351, + 10176: 20352, 20353, 20354, + 10177: 20352, 20354, 20355, + 10178: 20356, 20357, 20358, + 10179: 20356, 20358, 20359, + 10180: 20360, 20361, 20362, + 10181: 20360, 20362, 20363, + 10182: 20364, 20365, 20366, + 10183: 20364, 20366, 20367, + 10184: 20368, 20369, 20370, + 10185: 20368, 20370, 20371, + 10186: 20372, 20373, 20374, + 10187: 20372, 20374, 20375, + 10188: 20376, 20377, 20378, + 10189: 20376, 20378, 20379, + 10190: 20380, 20381, 20382, + 10191: 20380, 20382, 20383, + 10192: 20384, 20385, 20386, + 10193: 20384, 20386, 20387, + 10194: 20388, 20389, 20390, + 10195: 20388, 20390, 20391, + 10196: 20392, 20393, 20394, + 10197: 20392, 20394, 20395, + 10198: 20396, 20397, 20398, + 10199: 20396, 20398, 20399, + 10200: 20400, 20401, 20402, + 10201: 20400, 20402, 20403, + 10202: 20404, 20405, 20406, + 10203: 20404, 20406, 20407, + 10204: 20408, 20409, 20410, + 10205: 20408, 20410, 20411, + 10206: 20412, 20413, 20414, + 10207: 20412, 20414, 20415, + 10208: 20416, 20417, 20418, + 10209: 20416, 20418, 20419, + 10210: 20420, 20421, 20422, + 10211: 20420, 20422, 20423, + 10212: 20424, 20425, 20426, + 10213: 20424, 20426, 20427, + 10214: 20428, 20429, 20430, + 10215: 20428, 20430, 20431, + 10216: 20432, 20433, 20434, + 10217: 20432, 20434, 20435, + 10218: 20436, 20437, 20438, + 10219: 20436, 20438, 20439, + 10220: 20440, 20441, 20442, + 10221: 20440, 20442, 20443, + 10222: 20444, 20445, 20446, + 10223: 20444, 20446, 20447, + 10224: 20448, 20449, 20450, + 10225: 20448, 20450, 20451, + 10226: 20452, 20453, 20454, + 10227: 20452, 20454, 20455, + 10228: 20456, 20457, 20458, + 10229: 20456, 20458, 20459, + 10230: 20460, 20461, 20462, + 10231: 20460, 20462, 20463, + 10232: 20464, 20465, 20466, + 10233: 20464, 20466, 20467, + 10234: 20468, 20469, 20470, + 10235: 20468, 20470, 20471, + 10236: 20472, 20473, 20474, + 10237: 20472, 20474, 20475, + 10238: 20476, 20477, 20478, + 10239: 20476, 20478, 20479, + 10240: 20480, 20481, 20482, + 10241: 20480, 20482, 20483, + 10242: 20484, 20485, 20486, + 10243: 20484, 20486, 20487, + 10244: 20488, 20489, 20490, + 10245: 20488, 20490, 20491, + 10246: 20492, 20493, 20494, + 10247: 20492, 20494, 20495, + 10248: 20496, 20497, 20498, + 10249: 20496, 20498, 20499, + 10250: 20500, 20501, 20502, + 10251: 20500, 20502, 20503, + 10252: 20504, 20505, 20506, + 10253: 20504, 20506, 20507, + 10254: 20508, 20509, 20510, + 10255: 20508, 20510, 20511, + 10256: 20512, 20513, 20514, + 10257: 20512, 20514, 20515, + 10258: 20516, 20517, 20518, + 10259: 20516, 20518, 20519, + 10260: 20520, 20521, 20522, + 10261: 20520, 20522, 20523, + 10262: 20524, 20525, 20526, + 10263: 20524, 20526, 20527, + 10264: 20528, 20529, 20530, + 10265: 20528, 20530, 20531, + 10266: 20532, 20533, 20534, + 10267: 20532, 20534, 20535, + 10268: 20536, 20537, 20538, + 10269: 20536, 20538, 20539, + 10270: 20540, 20541, 20542, + 10271: 20540, 20542, 20543, + 10272: 20544, 20545, 20546, + 10273: 20544, 20546, 20547, + 10274: 20548, 20549, 20550, + 10275: 20548, 20550, 20551, + 10276: 20552, 20553, 20554, + 10277: 20552, 20554, 20555, + 10278: 20556, 20557, 20558, + 10279: 20556, 20558, 20559, + 10280: 20560, 20561, 20562, + 10281: 20560, 20562, 20563, + 10282: 20564, 20565, 20566, + 10283: 20564, 20566, 20567, + 10284: 20568, 20569, 20570, + 10285: 20568, 20570, 20571, + 10286: 20572, 20573, 20574, + 10287: 20572, 20574, 20575, + 10288: 20576, 20577, 20578, + 10289: 20576, 20578, 20579, + 10290: 20580, 20581, 20582, + 10291: 20580, 20582, 20583, + 10292: 20584, 20585, 20586, + 10293: 20584, 20586, 20587, + 10294: 20588, 20589, 20590, + 10295: 20588, 20590, 20591, + 10296: 20592, 20593, 20594, + 10297: 20592, 20594, 20595, + 10298: 20596, 20597, 20598, + 10299: 20596, 20598, 20599, + 10300: 20600, 20601, 20602, + 10301: 20600, 20602, 20603, + 10302: 20604, 20605, 20606, + 10303: 20604, 20606, 20607, + 10304: 20608, 20609, 20610, + 10305: 20608, 20610, 20611, + 10306: 20612, 20613, 20614, + 10307: 20612, 20614, 20615, + 10308: 20616, 20617, 20618, + 10309: 20616, 20618, 20619, + 10310: 20620, 20621, 20622, + 10311: 20620, 20622, 20623, + 10312: 20624, 20625, 20626, + 10313: 20624, 20626, 20627, + 10314: 20628, 20629, 20630, + 10315: 20628, 20630, 20631, + 10316: 20632, 20633, 20634, + 10317: 20632, 20634, 20635, + 10318: 20636, 20637, 20638, + 10319: 20636, 20638, 20639, + 10320: 20640, 20641, 20642, + 10321: 20640, 20642, 20643, + 10322: 20644, 20645, 20646, + 10323: 20644, 20646, 20647, + 10324: 20648, 20649, 20650, + 10325: 20648, 20650, 20651, + 10326: 20652, 20653, 20654, + 10327: 20652, 20654, 20655, + 10328: 20656, 20657, 20658, + 10329: 20656, 20658, 20659, + 10330: 20660, 20661, 20662, + 10331: 20660, 20662, 20663, + 10332: 20664, 20665, 20666, + 10333: 20664, 20666, 20667, + 10334: 20668, 20669, 20670, + 10335: 20668, 20670, 20671, + 10336: 20672, 20673, 20674, + 10337: 20672, 20674, 20675, + 10338: 20676, 20677, 20678, + 10339: 20676, 20678, 20679, + 10340: 20680, 20681, 20682, + 10341: 20680, 20682, 20683, + 10342: 20684, 20685, 20686, + 10343: 20684, 20686, 20687, + 10344: 20688, 20689, 20690, + 10345: 20688, 20690, 20691, + 10346: 20692, 20693, 20694, + 10347: 20692, 20694, 20695, + 10348: 20696, 20697, 20698, + 10349: 20696, 20698, 20699, + 10350: 20700, 20701, 20702, + 10351: 20700, 20702, 20703, + 10352: 20704, 20705, 20706, + 10353: 20704, 20706, 20707, + 10354: 20708, 20709, 20710, + 10355: 20708, 20710, 20711, + 10356: 20712, 20713, 20714, + 10357: 20712, 20714, 20715, + 10358: 20716, 20717, 20718, + 10359: 20716, 20718, 20719, + 10360: 20720, 20721, 20722, + 10361: 20720, 20722, 20723, + 10362: 20724, 20725, 20726, + 10363: 20724, 20726, 20727, + 10364: 20728, 20729, 20730, + 10365: 20728, 20730, 20731, + 10366: 20732, 20733, 20734, + 10367: 20732, 20734, 20735, + 10368: 20736, 20737, 20738, + 10369: 20736, 20738, 20739, + 10370: 20740, 20741, 20742, + 10371: 20740, 20742, 20743, + 10372: 20744, 20745, 20746, + 10373: 20744, 20746, 20747, + 10374: 20748, 20749, 20750, + 10375: 20748, 20750, 20751, + 10376: 20752, 20753, 20754, + 10377: 20752, 20754, 20755, + 10378: 20756, 20757, 20758, + 10379: 20756, 20758, 20759, + 10380: 20760, 20761, 20762, + 10381: 20760, 20762, 20763, + 10382: 20764, 20765, 20766, + 10383: 20764, 20766, 20767, + 10384: 20768, 20769, 20770, + 10385: 20768, 20770, 20771, + 10386: 20772, 20773, 20774, + 10387: 20772, 20774, 20775, + 10388: 20776, 20777, 20778, + 10389: 20776, 20778, 20779, + 10390: 20780, 20781, 20782, + 10391: 20780, 20782, 20783, + 10392: 20784, 20785, 20786, + 10393: 20784, 20786, 20787, + 10394: 20788, 20789, 20790, + 10395: 20788, 20790, 20791, + 10396: 20792, 20793, 20794, + 10397: 20792, 20794, 20795, + 10398: 20796, 20797, 20798, + 10399: 20796, 20798, 20799, + 10400: 20800, 20801, 20802, + 10401: 20800, 20802, 20803, + 10402: 20804, 20805, 20806, + 10403: 20804, 20806, 20807, + 10404: 20808, 20809, 20810, + 10405: 20808, 20810, 20811, + 10406: 20812, 20813, 20814, + 10407: 20812, 20814, 20815, + 10408: 20816, 20817, 20818, + 10409: 20816, 20818, 20819, + 10410: 20820, 20821, 20822, + 10411: 20820, 20822, 20823, + 10412: 20824, 20825, 20826, + 10413: 20824, 20826, 20827, + 10414: 20828, 20829, 20830, + 10415: 20828, 20830, 20831, + 10416: 20832, 20833, 20834, + 10417: 20832, 20834, 20835, + 10418: 20836, 20837, 20838, + 10419: 20836, 20838, 20839, + 10420: 20840, 20841, 20842, + 10421: 20840, 20842, 20843, + 10422: 20844, 20845, 20846, + 10423: 20844, 20846, 20847, + 10424: 20848, 20849, 20850, + 10425: 20848, 20850, 20851, + 10426: 20852, 20853, 20854, + 10427: 20852, 20854, 20855, + 10428: 20856, 20857, 20858, + 10429: 20856, 20858, 20859, + 10430: 20860, 20861, 20862, + 10431: 20860, 20862, 20863, + 10432: 20864, 20865, 20866, + 10433: 20864, 20866, 20867, + 10434: 20868, 20869, 20870, + 10435: 20868, 20870, 20871, + 10436: 20872, 20873, 20874, + 10437: 20872, 20874, 20875, + 10438: 20876, 20877, 20878, + 10439: 20876, 20878, 20879, + 10440: 20880, 20881, 20882, + 10441: 20880, 20882, 20883, + 10442: 20884, 20885, 20886, + 10443: 20884, 20886, 20887, + 10444: 20888, 20889, 20890, + 10445: 20888, 20890, 20891, + 10446: 20892, 20893, 20894, + 10447: 20892, 20894, 20895, + 10448: 20896, 20897, 20898, + 10449: 20896, 20898, 20899, + 10450: 20900, 20901, 20902, + 10451: 20900, 20902, 20903, + 10452: 20904, 20905, 20906, + 10453: 20904, 20906, 20907, + 10454: 20908, 20909, 20910, + 10455: 20908, 20910, 20911, + 10456: 20912, 20913, 20914, + 10457: 20912, 20914, 20915, + 10458: 20916, 20917, 20918, + 10459: 20916, 20918, 20919, + 10460: 20920, 20921, 20922, + 10461: 20920, 20922, 20923, + 10462: 20924, 20925, 20926, + 10463: 20924, 20926, 20927, + 10464: 20928, 20929, 20930, + 10465: 20928, 20930, 20931, + 10466: 20932, 20933, 20934, + 10467: 20932, 20934, 20935, + 10468: 20936, 20937, 20938, + 10469: 20936, 20938, 20939, + 10470: 20940, 20941, 20942, + 10471: 20940, 20942, 20943, + 10472: 20944, 20945, 20946, + 10473: 20944, 20946, 20947, + 10474: 20948, 20949, 20950, + 10475: 20948, 20950, 20951, + 10476: 20952, 20953, 20954, + 10477: 20952, 20954, 20955, + 10478: 20956, 20957, 20958, + 10479: 20956, 20958, 20959, + 10480: 20960, 20961, 20962, + 10481: 20960, 20962, 20963, + 10482: 20964, 20965, 20966, + 10483: 20964, 20966, 20967, + 10484: 20968, 20969, 20970, + 10485: 20968, 20970, 20971, + 10486: 20972, 20973, 20974, + 10487: 20972, 20974, 20975, + 10488: 20976, 20977, 20978, + 10489: 20976, 20978, 20979, + 10490: 20980, 20981, 20982, + 10491: 20980, 20982, 20983, + 10492: 20984, 20985, 20986, + 10493: 20984, 20986, 20987, + 10494: 20988, 20989, 20990, + 10495: 20988, 20990, 20991, + 10496: 20992, 20993, 20994, + 10497: 20992, 20994, 20995, + 10498: 20996, 20997, 20998, + 10499: 20996, 20998, 20999, + 10500: 21000, 21001, 21002, + 10501: 21000, 21002, 21003, + 10502: 21004, 21005, 21006, + 10503: 21004, 21006, 21007, + 10504: 21008, 21009, 21010, + 10505: 21008, 21010, 21011, + 10506: 21012, 21013, 21014, + 10507: 21012, 21014, 21015, + 10508: 21016, 21017, 21018, + 10509: 21016, 21018, 21019, + 10510: 21020, 21021, 21022, + 10511: 21020, 21022, 21023, + 10512: 21024, 21025, 21026, + 10513: 21024, 21026, 21027, + 10514: 21028, 21029, 21030, + 10515: 21028, 21030, 21031, + 10516: 21032, 21033, 21034, + 10517: 21032, 21034, 21035, + 10518: 21036, 21037, 21038, + 10519: 21036, 21038, 21039, + 10520: 21040, 21041, 21042, + 10521: 21040, 21042, 21043, + 10522: 21044, 21045, 21046, + 10523: 21044, 21046, 21047, + 10524: 21048, 21049, 21050, + 10525: 21048, 21050, 21051, + 10526: 21052, 21053, 21054, + 10527: 21052, 21054, 21055, + 10528: 21056, 21057, 21058, + 10529: 21056, 21058, 21059, + 10530: 21060, 21061, 21062, + 10531: 21060, 21062, 21063, + 10532: 21064, 21065, 21066, + 10533: 21064, 21066, 21067, + 10534: 21068, 21069, 21070, + 10535: 21068, 21070, 21071, + 10536: 21072, 21073, 21074, + 10537: 21072, 21074, 21075, + 10538: 21076, 21077, 21078, + 10539: 21076, 21078, 21079, + 10540: 21080, 21081, 21082, + 10541: 21080, 21082, 21083, + 10542: 21084, 21085, 21086, + 10543: 21084, 21086, 21087, + 10544: 21088, 21089, 21090, + 10545: 21088, 21090, 21091, + 10546: 21092, 21093, 21094, + 10547: 21092, 21094, 21095, + 10548: 21096, 21097, 21098, + 10549: 21096, 21098, 21099, + 10550: 21100, 21101, 21102, + 10551: 21100, 21102, 21103, + 10552: 21104, 21105, 21106, + 10553: 21104, 21106, 21107, + 10554: 21108, 21109, 21110, + 10555: 21108, 21110, 21111, + 10556: 21112, 21113, 21114, + 10557: 21112, 21114, 21115, + 10558: 21116, 21117, 21118, + 10559: 21116, 21118, 21119, + 10560: 21120, 21121, 21122, + 10561: 21120, 21122, 21123, + 10562: 21124, 21125, 21126, + 10563: 21124, 21126, 21127, + 10564: 21128, 21129, 21130, + 10565: 21128, 21130, 21131, + 10566: 21132, 21133, 21134, + 10567: 21132, 21134, 21135, + 10568: 21136, 21137, 21138, + 10569: 21136, 21138, 21139, + 10570: 21140, 21141, 21142, + 10571: 21140, 21142, 21143, + 10572: 21144, 21145, 21146, + 10573: 21144, 21146, 21147, + 10574: 21148, 21149, 21150, + 10575: 21148, 21150, 21151, + 10576: 21152, 21153, 21154, + 10577: 21152, 21154, 21155, + 10578: 21156, 21157, 21158, + 10579: 21156, 21158, 21159, + 10580: 21160, 21161, 21162, + 10581: 21160, 21162, 21163, + 10582: 21164, 21165, 21166, + 10583: 21164, 21166, 21167, + 10584: 21168, 21169, 21170, + 10585: 21168, 21170, 21171, + 10586: 21172, 21173, 21174, + 10587: 21172, 21174, 21175, + 10588: 21176, 21177, 21178, + 10589: 21176, 21178, 21179, + 10590: 21180, 21181, 21182, + 10591: 21180, 21182, 21183, + 10592: 21184, 21185, 21186, + 10593: 21184, 21186, 21187, + 10594: 21188, 21189, 21190, + 10595: 21188, 21190, 21191, + 10596: 21192, 21193, 21194, + 10597: 21192, 21194, 21195, + 10598: 21196, 21197, 21198, + 10599: 21196, 21198, 21199, + 10600: 21200, 21201, 21202, + 10601: 21200, 21202, 21203, + 10602: 21204, 21205, 21206, + 10603: 21204, 21206, 21207, + 10604: 21208, 21209, 21210, + 10605: 21208, 21210, 21211, + 10606: 21212, 21213, 21214, + 10607: 21212, 21214, 21215, + 10608: 21216, 21217, 21218, + 10609: 21216, 21218, 21219, + 10610: 21220, 21221, 21222, + 10611: 21220, 21222, 21223, + 10612: 21224, 21225, 21226, + 10613: 21224, 21226, 21227, + 10614: 21228, 21229, 21230, + 10615: 21228, 21230, 21231, + 10616: 21232, 21233, 21234, + 10617: 21232, 21234, 21235, + 10618: 21236, 21237, 21238, + 10619: 21236, 21238, 21239, + 10620: 21240, 21241, 21242, + 10621: 21240, 21242, 21243, + 10622: 21244, 21245, 21246, + 10623: 21244, 21246, 21247, + 10624: 21248, 21249, 21250, + 10625: 21248, 21250, 21251, + 10626: 21252, 21253, 21254, + 10627: 21252, 21254, 21255, + 10628: 21256, 21257, 21258, + 10629: 21256, 21258, 21259, + 10630: 21260, 21261, 21262, + 10631: 21260, 21262, 21263, + 10632: 21264, 21265, 21266, + 10633: 21264, 21266, 21267, + 10634: 21268, 21269, 21270, + 10635: 21268, 21270, 21271, + 10636: 21272, 21273, 21274, + 10637: 21272, 21274, 21275, + 10638: 21276, 21277, 21278, + 10639: 21276, 21278, 21279, + 10640: 21280, 21281, 21282, + 10641: 21280, 21282, 21283, + 10642: 21284, 21285, 21286, + 10643: 21284, 21286, 21287, + 10644: 21288, 21289, 21290, + 10645: 21288, 21290, 21291, + 10646: 21292, 21293, 21294, + 10647: 21292, 21294, 21295, + 10648: 21296, 21297, 21298, + 10649: 21296, 21298, 21299, + 10650: 21300, 21301, 21302, + 10651: 21300, 21302, 21303, + 10652: 21304, 21305, 21306, + 10653: 21304, 21306, 21307, + 10654: 21308, 21309, 21310, + 10655: 21308, 21310, 21311, + 10656: 21312, 21313, 21314, + 10657: 21312, 21314, 21315, + 10658: 21316, 21317, 21318, + 10659: 21316, 21318, 21319, + 10660: 21320, 21321, 21322, + 10661: 21320, 21322, 21323, + 10662: 21324, 21325, 21326, + 10663: 21324, 21326, 21327, + 10664: 21328, 21329, 21330, + 10665: 21328, 21330, 21331, + 10666: 21332, 21333, 21334, + 10667: 21332, 21334, 21335, + 10668: 21336, 21337, 21338, + 10669: 21336, 21338, 21339, + 10670: 21340, 21341, 21342, + 10671: 21340, 21342, 21343, + 10672: 21344, 21345, 21346, + 10673: 21344, 21346, 21347, + 10674: 21348, 21349, 21350, + 10675: 21348, 21350, 21351, + 10676: 21352, 21353, 21354, + 10677: 21352, 21354, 21355, + 10678: 21356, 21357, 21358, + 10679: 21356, 21358, 21359, + 10680: 21360, 21361, 21362, + 10681: 21360, 21362, 21363, + 10682: 21364, 21365, 21366, + 10683: 21364, 21366, 21367, + 10684: 21368, 21369, 21370, + 10685: 21368, 21370, 21371, + 10686: 21372, 21373, 21374, + 10687: 21372, 21374, 21375, + 10688: 21376, 21377, 21378, + 10689: 21376, 21378, 21379, + 10690: 21380, 21381, 21382, + 10691: 21380, 21382, 21383, + 10692: 21384, 21385, 21386, + 10693: 21384, 21386, 21387, + 10694: 21388, 21389, 21390, + 10695: 21388, 21390, 21391, + 10696: 21392, 21393, 21394, + 10697: 21392, 21394, 21395, + 10698: 21396, 21397, 21398, + 10699: 21396, 21398, 21399, + 10700: 21400, 21401, 21402, + 10701: 21400, 21402, 21403, + 10702: 21404, 21405, 21406, + 10703: 21404, 21406, 21407, + 10704: 21408, 21409, 21410, + 10705: 21408, 21410, 21411, + 10706: 21412, 21413, 21414, + 10707: 21412, 21414, 21415, + 10708: 21416, 21417, 21418, + 10709: 21416, 21418, 21419, + 10710: 21420, 21421, 21422, + 10711: 21420, 21422, 21423, + 10712: 21424, 21425, 21426, + 10713: 21424, 21426, 21427, + 10714: 21428, 21429, 21430, + 10715: 21428, 21430, 21431, + 10716: 21432, 21433, 21434, + 10717: 21432, 21434, 21435, + 10718: 21436, 21437, 21438, + 10719: 21436, 21438, 21439, + 10720: 21440, 21441, 21442, + 10721: 21440, 21442, 21443, + 10722: 21444, 21445, 21446, + 10723: 21444, 21446, 21447, + 10724: 21448, 21449, 21450, + 10725: 21448, 21450, 21451, + 10726: 21452, 21453, 21454, + 10727: 21452, 21454, 21455, + 10728: 21456, 21457, 21458, + 10729: 21456, 21458, 21459, + 10730: 21460, 21461, 21462, + 10731: 21460, 21462, 21463, + 10732: 21464, 21465, 21466, + 10733: 21464, 21466, 21467, + 10734: 21468, 21469, 21470, + 10735: 21468, 21470, 21471, + 10736: 21472, 21473, 21474, + 10737: 21472, 21474, 21475, + 10738: 21476, 21477, 21478, + 10739: 21476, 21478, 21479, + 10740: 21480, 21481, 21482, + 10741: 21480, 21482, 21483, + 10742: 21484, 21485, 21486, + 10743: 21484, 21486, 21487, + 10744: 21488, 21489, 21490, + 10745: 21488, 21490, 21491, + 10746: 21492, 21493, 21494, + 10747: 21492, 21494, 21495, + 10748: 21496, 21497, 21498, + 10749: 21496, 21498, 21499, + 10750: 21500, 21501, 21502, + 10751: 21500, 21502, 21503, + 10752: 21504, 21505, 21506, + 10753: 21504, 21506, 21507, + 10754: 21508, 21509, 21510, + 10755: 21508, 21510, 21511, + 10756: 21512, 21513, 21514, + 10757: 21512, 21514, 21515, + 10758: 21516, 21517, 21518, + 10759: 21516, 21518, 21519, + 10760: 21520, 21521, 21522, + 10761: 21520, 21522, 21523, + 10762: 21524, 21525, 21526, + 10763: 21524, 21526, 21527, + 10764: 21528, 21529, 21530, + 10765: 21528, 21530, 21531, + 10766: 21532, 21533, 21534, + 10767: 21532, 21534, 21535, + 10768: 21536, 21537, 21538, + 10769: 21536, 21538, 21539, + 10770: 21540, 21541, 21542, + 10771: 21540, 21542, 21543, + 10772: 21544, 21545, 21546, + 10773: 21544, 21546, 21547, + 10774: 21548, 21549, 21550, + 10775: 21548, 21550, 21551, + 10776: 21552, 21553, 21554, + 10777: 21552, 21554, 21555, + 10778: 21556, 21557, 21558, + 10779: 21556, 21558, 21559, + 10780: 21560, 21561, 21562, + 10781: 21560, 21562, 21563, + 10782: 21564, 21565, 21566, + 10783: 21564, 21566, 21567, + 10784: 21568, 21569, 21570, + 10785: 21568, 21570, 21571, + 10786: 21572, 21573, 21574, + 10787: 21572, 21574, 21575, + 10788: 21576, 21577, 21578, + 10789: 21576, 21578, 21579, + 10790: 21580, 21581, 21582, + 10791: 21580, 21582, 21583, + 10792: 21584, 21585, 21586, + 10793: 21584, 21586, 21587, + 10794: 21588, 21589, 21590, + 10795: 21588, 21590, 21591, + 10796: 21592, 21593, 21594, + 10797: 21592, 21594, 21595, + 10798: 21596, 21597, 21598, + 10799: 21596, 21598, 21599, + 10800: 21600, 21601, 21602, + 10801: 21600, 21602, 21603, + 10802: 21604, 21605, 21606, + 10803: 21604, 21606, 21607, + 10804: 21608, 21609, 21610, + 10805: 21608, 21610, 21611, + 10806: 21612, 21613, 21614, + 10807: 21612, 21614, 21615, + 10808: 21616, 21617, 21618, + 10809: 21616, 21618, 21619, + 10810: 21620, 21621, 21622, + 10811: 21620, 21622, 21623, + 10812: 21624, 21625, 21626, + 10813: 21624, 21626, 21627, + 10814: 21628, 21629, 21630, + 10815: 21628, 21630, 21631, + 10816: 21632, 21633, 21634, + 10817: 21632, 21634, 21635, + 10818: 21636, 21637, 21638, + 10819: 21636, 21638, 21639, + 10820: 21640, 21641, 21642, + 10821: 21640, 21642, 21643, + 10822: 21644, 21645, 21646, + 10823: 21644, 21646, 21647, + 10824: 21648, 21649, 21650, + 10825: 21648, 21650, 21651, + 10826: 21652, 21653, 21654, + 10827: 21652, 21654, 21655, + 10828: 21656, 21657, 21658, + 10829: 21656, 21658, 21659, + 10830: 21660, 21661, 21662, + 10831: 21660, 21662, 21663, + 10832: 21664, 21665, 21666, + 10833: 21664, 21666, 21667, + 10834: 21668, 21669, 21670, + 10835: 21668, 21670, 21671, + 10836: 21672, 21673, 21674, + 10837: 21672, 21674, 21675, + 10838: 21676, 21677, 21678, + 10839: 21676, 21678, 21679, + 10840: 21680, 21681, 21682, + 10841: 21680, 21682, 21683, + 10842: 21684, 21685, 21686, + 10843: 21684, 21686, 21687, + 10844: 21688, 21689, 21690, + 10845: 21688, 21690, 21691, + 10846: 21692, 21693, 21694, + 10847: 21692, 21694, 21695, + 10848: 21696, 21697, 21698, + 10849: 21696, 21698, 21699, + 10850: 21700, 21701, 21702, + 10851: 21700, 21702, 21703, + 10852: 21704, 21705, 21706, + 10853: 21704, 21706, 21707, + 10854: 21708, 21709, 21710, + 10855: 21708, 21710, 21711, + 10856: 21712, 21713, 21714, + 10857: 21712, 21714, 21715, + 10858: 21716, 21717, 21718, + 10859: 21716, 21718, 21719, + 10860: 21720, 21721, 21722, + 10861: 21720, 21722, 21723, + 10862: 21724, 21725, 21726, + 10863: 21724, 21726, 21727, + 10864: 21728, 21729, 21730, + 10865: 21728, 21730, 21731, + 10866: 21732, 21733, 21734, + 10867: 21732, 21734, 21735, + 10868: 21736, 21737, 21738, + 10869: 21736, 21738, 21739, + 10870: 21740, 21741, 21742, + 10871: 21740, 21742, 21743, + 10872: 21744, 21745, 21746, + 10873: 21744, 21746, 21747, + 10874: 21748, 21749, 21750, + 10875: 21748, 21750, 21751, + 10876: 21752, 21753, 21754, + 10877: 21752, 21754, 21755, + 10878: 21756, 21757, 21758, + 10879: 21756, 21758, 21759, + 10880: 21760, 21761, 21762, + 10881: 21760, 21762, 21763, + 10882: 21764, 21765, 21766, + 10883: 21764, 21766, 21767, + 10884: 21768, 21769, 21770, + 10885: 21768, 21770, 21771, + 10886: 21772, 21773, 21774, + 10887: 21772, 21774, 21775, + 10888: 21776, 21777, 21778, + 10889: 21776, 21778, 21779, + 10890: 21780, 21781, 21782, + 10891: 21780, 21782, 21783, + 10892: 21784, 21785, 21786, + 10893: 21784, 21786, 21787, + 10894: 21788, 21789, 21790, + 10895: 21788, 21790, 21791, + 10896: 21792, 21793, 21794, + 10897: 21792, 21794, 21795, + 10898: 21796, 21797, 21798, + 10899: 21796, 21798, 21799, + 10900: 21800, 21801, 21802, + 10901: 21800, 21802, 21803, + 10902: 21804, 21805, 21806, + 10903: 21804, 21806, 21807, + 10904: 21808, 21809, 21810, + 10905: 21808, 21810, 21811, + 10906: 21812, 21813, 21814, + 10907: 21812, 21814, 21815, + 10908: 21816, 21817, 21818, + 10909: 21816, 21818, 21819, + 10910: 21820, 21821, 21822, + 10911: 21820, 21822, 21823, + 10912: 21824, 21825, 21826, + 10913: 21824, 21826, 21827, + 10914: 21828, 21829, 21830, + 10915: 21828, 21830, 21831, + 10916: 21832, 21833, 21834, + 10917: 21832, 21834, 21835, + 10918: 21836, 21837, 21838, + 10919: 21836, 21838, 21839, + 10920: 21840, 21841, 21842, + 10921: 21840, 21842, 21843, + 10922: 21844, 21845, 21846, + 10923: 21844, 21846, 21847, + 10924: 21848, 21849, 21850, + 10925: 21848, 21850, 21851, + 10926: 21852, 21853, 21854, + 10927: 21852, 21854, 21855, + 10928: 21856, 21857, 21858, + 10929: 21856, 21858, 21859, + 10930: 21860, 21861, 21862, + 10931: 21860, 21862, 21863, + 10932: 21864, 21865, 21866, + 10933: 21864, 21866, 21867, + 10934: 21868, 21869, 21870, + 10935: 21868, 21870, 21871, + 10936: 21872, 21873, 21874, + 10937: 21872, 21874, 21875, + 10938: 21876, 21877, 21878, + 10939: 21876, 21878, 21879, + 10940: 21880, 21881, 21882, + 10941: 21880, 21882, 21883, + 10942: 21884, 21885, 21886, + 10943: 21884, 21886, 21887, + 10944: 21888, 21889, 21890, + 10945: 21888, 21890, 21891, + 10946: 21892, 21893, 21894, + 10947: 21892, 21894, 21895, + 10948: 21896, 21897, 21898, + 10949: 21896, 21898, 21899, + 10950: 21900, 21901, 21902, + 10951: 21900, 21902, 21903, + 10952: 21904, 21905, 21906, + 10953: 21904, 21906, 21907, + 10954: 21908, 21909, 21910, + 10955: 21908, 21910, 21911, + 10956: 21912, 21913, 21914, + 10957: 21912, 21914, 21915, + 10958: 21916, 21917, 21918, + 10959: 21916, 21918, 21919, + 10960: 21920, 21921, 21922, + 10961: 21920, 21922, 21923, + 10962: 21924, 21925, 21926, + 10963: 21924, 21926, 21927, + 10964: 21928, 21929, 21930, + 10965: 21928, 21930, 21931, + 10966: 21932, 21933, 21934, + 10967: 21932, 21934, 21935, + 10968: 21936, 21937, 21938, + 10969: 21936, 21938, 21939, + 10970: 21940, 21941, 21942, + 10971: 21940, 21942, 21943, + 10972: 21944, 21945, 21946, + 10973: 21944, 21946, 21947, + 10974: 21948, 21949, 21950, + 10975: 21948, 21950, 21951, + 10976: 21952, 21953, 21954, + 10977: 21952, 21954, 21955, + 10978: 21956, 21957, 21958, + 10979: 21956, 21958, 21959, + 10980: 21960, 21961, 21962, + 10981: 21960, 21962, 21963, + 10982: 21964, 21965, 21966, + 10983: 21964, 21966, 21967, + 10984: 21968, 21969, 21970, + 10985: 21968, 21970, 21971, + 10986: 21972, 21973, 21974, + 10987: 21972, 21974, 21975, + 10988: 21976, 21977, 21978, + 10989: 21976, 21978, 21979, + 10990: 21980, 21981, 21982, + 10991: 21980, 21982, 21983, + 10992: 21984, 21985, 21986, + 10993: 21984, 21986, 21987, + 10994: 21988, 21989, 21990, + 10995: 21988, 21990, 21991, + 10996: 21992, 21993, 21994, + 10997: 21992, 21994, 21995, + 10998: 21996, 21997, 21998, + 10999: 21996, 21998, 21999, + 11000: 22000, 22001, 22002, + 11001: 22000, 22002, 22003, + 11002: 22004, 22005, 22006, + 11003: 22004, 22006, 22007, + 11004: 22008, 22009, 22010, + 11005: 22008, 22010, 22011, + 11006: 22012, 22013, 22014, + 11007: 22012, 22014, 22015, + 11008: 22016, 22017, 22018, + 11009: 22016, 22018, 22019, + 11010: 22020, 22021, 22022, + 11011: 22020, 22022, 22023, + 11012: 22024, 22025, 22026, + 11013: 22024, 22026, 22027, + 11014: 22028, 22029, 22030, + 11015: 22028, 22030, 22031, + 11016: 22032, 22033, 22034, + 11017: 22032, 22034, 22035, + 11018: 22036, 22037, 22038, + 11019: 22036, 22038, 22039, + 11020: 22040, 22041, 22042, + 11021: 22040, 22042, 22043, + 11022: 22044, 22045, 22046, + 11023: 22044, 22046, 22047, + 11024: 22048, 22049, 22050, + 11025: 22048, 22050, 22051, + 11026: 22052, 22053, 22054, + 11027: 22052, 22054, 22055, + 11028: 22056, 22057, 22058, + 11029: 22056, 22058, 22059, + 11030: 22060, 22061, 22062, + 11031: 22060, 22062, 22063, + 11032: 22064, 22065, 22066, + 11033: 22064, 22066, 22067, + 11034: 22068, 22069, 22070, + 11035: 22068, 22070, 22071, + 11036: 22072, 22073, 22074, + 11037: 22072, 22074, 22075, + 11038: 22076, 22077, 22078, + 11039: 22076, 22078, 22079, + 11040: 22080, 22081, 22082, + 11041: 22080, 22082, 22083, + 11042: 22084, 22085, 22086, + 11043: 22084, 22086, 22087, + 11044: 22088, 22089, 22090, + 11045: 22088, 22090, 22091, + 11046: 22092, 22093, 22094, + 11047: 22092, 22094, 22095, + 11048: 22096, 22097, 22098, + 11049: 22096, 22098, 22099, + 11050: 22100, 22101, 22102, + 11051: 22100, 22102, 22103, + 11052: 22104, 22105, 22106, + 11053: 22104, 22106, 22107, + 11054: 22108, 22109, 22110, + 11055: 22108, 22110, 22111, + 11056: 22112, 22113, 22114, + 11057: 22112, 22114, 22115, + 11058: 22116, 22117, 22118, + 11059: 22116, 22118, 22119, + 11060: 22120, 22121, 22122, + 11061: 22120, 22122, 22123, + 11062: 22124, 22125, 22126, + 11063: 22124, 22126, 22127, + 11064: 22128, 22129, 22130, + 11065: 22128, 22130, 22131, + 11066: 22132, 22133, 22134, + 11067: 22132, 22134, 22135, + 11068: 22136, 22137, 22138, + 11069: 22136, 22138, 22139, + 11070: 22140, 22141, 22142, + 11071: 22140, 22142, 22143, + 11072: 22144, 22145, 22146, + 11073: 22144, 22146, 22147, + 11074: 22148, 22149, 22150, + 11075: 22148, 22150, 22151, + 11076: 22152, 22153, 22154, + 11077: 22152, 22154, 22155, + 11078: 22156, 22157, 22158, + 11079: 22156, 22158, 22159, + 11080: 22160, 22161, 22162, + 11081: 22160, 22162, 22163, + 11082: 22164, 22165, 22166, + 11083: 22164, 22166, 22167, + 11084: 22168, 22169, 22170, + 11085: 22168, 22170, 22171, + 11086: 22172, 22173, 22174, + 11087: 22172, 22174, 22175, + 11088: 22176, 22177, 22178, + 11089: 22176, 22178, 22179, + 11090: 22180, 22181, 22182, + 11091: 22180, 22182, 22183, + 11092: 22184, 22185, 22186, + 11093: 22184, 22186, 22187, + 11094: 22188, 22189, 22190, + 11095: 22188, 22190, 22191, + 11096: 22192, 22193, 22194, + 11097: 22192, 22194, 22195, + 11098: 22196, 22197, 22198, + 11099: 22196, 22198, 22199, + 11100: 22200, 22201, 22202, + 11101: 22200, 22202, 22203, + 11102: 22204, 22205, 22206, + 11103: 22204, 22206, 22207, + 11104: 22208, 22209, 22210, + 11105: 22208, 22210, 22211, + 11106: 22212, 22213, 22214, + 11107: 22212, 22214, 22215, + 11108: 22216, 22217, 22218, + 11109: 22216, 22218, 22219, + 11110: 22220, 22221, 22222, + 11111: 22220, 22222, 22223, + 11112: 22224, 22225, 22226, + 11113: 22224, 22226, 22227, + 11114: 22228, 22229, 22230, + 11115: 22228, 22230, 22231, + 11116: 22232, 22233, 22234, + 11117: 22232, 22234, 22235, + 11118: 22236, 22237, 22238, + 11119: 22236, 22238, 22239, + 11120: 22240, 22241, 22242, + 11121: 22240, 22242, 22243, + 11122: 22244, 22245, 22246, + 11123: 22244, 22246, 22247, + 11124: 22248, 22249, 22250, + 11125: 22248, 22250, 22251, + 11126: 22252, 22253, 22254, + 11127: 22252, 22254, 22255, + 11128: 22256, 22257, 22258, + 11129: 22256, 22258, 22259, + 11130: 22260, 22261, 22262, + 11131: 22260, 22262, 22263, + 11132: 22264, 22265, 22266, + 11133: 22264, 22266, 22267, + 11134: 22268, 22269, 22270, + 11135: 22268, 22270, 22271, + 11136: 22272, 22273, 22274, + 11137: 22272, 22274, 22275, + 11138: 22276, 22277, 22278, + 11139: 22276, 22278, 22279, + 11140: 22280, 22281, 22282, + 11141: 22280, 22282, 22283, + 11142: 22284, 22285, 22286, + 11143: 22284, 22286, 22287, + 11144: 22288, 22289, 22290, + 11145: 22288, 22290, 22291, + 11146: 22292, 22293, 22294, + 11147: 22292, 22294, 22295, + 11148: 22296, 22297, 22298, + 11149: 22296, 22298, 22299, + 11150: 22300, 22301, 22302, + 11151: 22300, 22302, 22303, + 11152: 22304, 22305, 22306, + 11153: 22304, 22306, 22307, + 11154: 22308, 22309, 22310, + 11155: 22308, 22310, 22311, + 11156: 22312, 22313, 22314, + 11157: 22312, 22314, 22315, + 11158: 22316, 22317, 22318, + 11159: 22316, 22318, 22319, + 11160: 22320, 22321, 22322, + 11161: 22320, 22322, 22323, + 11162: 22324, 22325, 22326, + 11163: 22324, 22326, 22327, + 11164: 22328, 22329, 22330, + 11165: 22328, 22330, 22331, + 11166: 22332, 22333, 22334, + 11167: 22332, 22334, 22335, + 11168: 22336, 22337, 22338, + 11169: 22336, 22338, 22339, + 11170: 22340, 22341, 22342, + 11171: 22340, 22342, 22343, + 11172: 22344, 22345, 22346, + 11173: 22344, 22346, 22347, + 11174: 22348, 22349, 22350, + 11175: 22348, 22350, 22351, + 11176: 22352, 22353, 22354, + 11177: 22352, 22354, 22355, + 11178: 22356, 22357, 22358, + 11179: 22356, 22358, 22359, + 11180: 22360, 22361, 22362, + 11181: 22360, 22362, 22363, + 11182: 22364, 22365, 22366, + 11183: 22364, 22366, 22367, + 11184: 22368, 22369, 22370, + 11185: 22368, 22370, 22371, + 11186: 22372, 22373, 22374, + 11187: 22372, 22374, 22375, + 11188: 22376, 22377, 22378, + 11189: 22376, 22378, 22379, + 11190: 22380, 22381, 22382, + 11191: 22380, 22382, 22383, + 11192: 22384, 22385, 22386, + 11193: 22384, 22386, 22387, + 11194: 22388, 22389, 22390, + 11195: 22388, 22390, 22391, + 11196: 22392, 22393, 22394, + 11197: 22392, 22394, 22395, + 11198: 22396, 22397, 22398, + 11199: 22396, 22398, 22399, + 11200: 22400, 22401, 22402, + 11201: 22400, 22402, 22403, + 11202: 22404, 22405, 22406, + 11203: 22404, 22406, 22407, + 11204: 22408, 22409, 22410, + 11205: 22408, 22410, 22411, + 11206: 22412, 22413, 22414, + 11207: 22412, 22414, 22415, + 11208: 22416, 22417, 22418, + 11209: 22416, 22418, 22419, + 11210: 22420, 22421, 22422, + 11211: 22420, 22422, 22423, + 11212: 22424, 22425, 22426, + 11213: 22424, 22426, 22427, + 11214: 22428, 22429, 22430, + 11215: 22428, 22430, 22431, + 11216: 22432, 22433, 22434, + 11217: 22432, 22434, 22435, + 11218: 22436, 22437, 22438, + 11219: 22436, 22438, 22439, + 11220: 22440, 22441, 22442, + 11221: 22440, 22442, 22443, + 11222: 22444, 22445, 22446, + 11223: 22444, 22446, 22447, + 11224: 22448, 22449, 22450, + 11225: 22448, 22450, 22451, + 11226: 22452, 22453, 22454, + 11227: 22452, 22454, 22455, + 11228: 22456, 22457, 22458, + 11229: 22456, 22458, 22459, + 11230: 22460, 22461, 22462, + 11231: 22460, 22462, 22463, + 11232: 22464, 22465, 22466, + 11233: 22464, 22466, 22467, + 11234: 22468, 22469, 22470, + 11235: 22468, 22470, 22471, + 11236: 22472, 22473, 22474, + 11237: 22472, 22474, 22475, + 11238: 22476, 22477, 22478, + 11239: 22476, 22478, 22479, + 11240: 22480, 22481, 22482, + 11241: 22480, 22482, 22483, + 11242: 22484, 22485, 22486, + 11243: 22484, 22486, 22487, + 11244: 22488, 22489, 22490, + 11245: 22488, 22490, 22491, + 11246: 22492, 22493, 22494, + 11247: 22492, 22494, 22495, + 11248: 22496, 22497, 22498, + 11249: 22496, 22498, 22499, + 11250: 22500, 22501, 22502, + 11251: 22500, 22502, 22503, + 11252: 22504, 22505, 22506, + 11253: 22504, 22506, 22507, + 11254: 22508, 22509, 22510, + 11255: 22508, 22510, 22511, + 11256: 22512, 22513, 22514, + 11257: 22512, 22514, 22515, + 11258: 22516, 22517, 22518, + 11259: 22516, 22518, 22519, + 11260: 22520, 22521, 22522, + 11261: 22520, 22522, 22523, + 11262: 22524, 22525, 22526, + 11263: 22524, 22526, 22527, + 11264: 22528, 22529, 22530, + 11265: 22528, 22530, 22531, + 11266: 22532, 22533, 22534, + 11267: 22532, 22534, 22535, + 11268: 22536, 22537, 22538, + 11269: 22536, 22538, 22539, + 11270: 22540, 22541, 22542, + 11271: 22540, 22542, 22543, + 11272: 22544, 22545, 22546, + 11273: 22544, 22546, 22547, + 11274: 22548, 22549, 22550, + 11275: 22548, 22550, 22551, + 11276: 22552, 22553, 22554, + 11277: 22552, 22554, 22555, + 11278: 22556, 22557, 22558, + 11279: 22556, 22558, 22559, + 11280: 22560, 22561, 22562, + 11281: 22560, 22562, 22563, + 11282: 22564, 22565, 22566, + 11283: 22564, 22566, 22567, + 11284: 22568, 22569, 22570, + 11285: 22568, 22570, 22571, + 11286: 22572, 22573, 22574, + 11287: 22572, 22574, 22575, + 11288: 22576, 22577, 22578, + 11289: 22576, 22578, 22579, + 11290: 22580, 22581, 22582, + 11291: 22580, 22582, 22583, + 11292: 22584, 22585, 22586, + 11293: 22584, 22586, 22587, + 11294: 22588, 22589, 22590, + 11295: 22588, 22590, 22591, + 11296: 22592, 22593, 22594, + 11297: 22592, 22594, 22595, + 11298: 22596, 22597, 22598, + 11299: 22596, 22598, 22599, + 11300: 22600, 22601, 22602, + 11301: 22600, 22602, 22603, + 11302: 22604, 22605, 22606, + 11303: 22604, 22606, 22607, + 11304: 22608, 22609, 22610, + 11305: 22608, 22610, 22611, + 11306: 22612, 22613, 22614, + 11307: 22612, 22614, 22615, + 11308: 22616, 22617, 22618, + 11309: 22616, 22618, 22619, + 11310: 22620, 22621, 22622, + 11311: 22620, 22622, 22623, + 11312: 22624, 22625, 22626, + 11313: 22624, 22626, 22627, + 11314: 22628, 22629, 22630, + 11315: 22628, 22630, 22631, + 11316: 22632, 22633, 22634, + 11317: 22632, 22634, 22635, + 11318: 22636, 22637, 22638, + 11319: 22636, 22638, 22639, + 11320: 22640, 22641, 22642, + 11321: 22640, 22642, 22643, + 11322: 22644, 22645, 22646, + 11323: 22644, 22646, 22647, + 11324: 22648, 22649, 22650, + 11325: 22648, 22650, 22651, + 11326: 22652, 22653, 22654, + 11327: 22652, 22654, 22655, + 11328: 22656, 22657, 22658, + 11329: 22656, 22658, 22659, + 11330: 22660, 22661, 22662, + 11331: 22660, 22662, 22663, + 11332: 22664, 22665, 22666, + 11333: 22664, 22666, 22667, + 11334: 22668, 22669, 22670, + 11335: 22668, 22670, 22671, + 11336: 22672, 22673, 22674, + 11337: 22672, 22674, 22675, + 11338: 22676, 22677, 22678, + 11339: 22676, 22678, 22679, + 11340: 22680, 22681, 22682, + 11341: 22680, 22682, 22683, + 11342: 22684, 22685, 22686, + 11343: 22684, 22686, 22687, + 11344: 22688, 22689, 22690, + 11345: 22688, 22690, 22691, + 11346: 22692, 22693, 22694, + 11347: 22692, 22694, 22695, + 11348: 22696, 22697, 22698, + 11349: 22696, 22698, 22699, + 11350: 22700, 22701, 22702, + 11351: 22700, 22702, 22703, + 11352: 22704, 22705, 22706, + 11353: 22704, 22706, 22707, + 11354: 22708, 22709, 22710, + 11355: 22708, 22710, 22711, + 11356: 22712, 22713, 22714, + 11357: 22712, 22714, 22715, + 11358: 22716, 22717, 22718, + 11359: 22716, 22718, 22719, + 11360: 22720, 22721, 22722, + 11361: 22720, 22722, 22723, + 11362: 22724, 22725, 22726, + 11363: 22724, 22726, 22727, + 11364: 22728, 22729, 22730, + 11365: 22728, 22730, 22731, + 11366: 22732, 22733, 22734, + 11367: 22732, 22734, 22735, + 11368: 22736, 22737, 22738, + 11369: 22736, 22738, 22739, + 11370: 22740, 22741, 22742, + 11371: 22740, 22742, 22743, + 11372: 22744, 22745, 22746, + 11373: 22744, 22746, 22747, + 11374: 22748, 22749, 22750, + 11375: 22748, 22750, 22751, + 11376: 22752, 22753, 22754, + 11377: 22752, 22754, 22755, + 11378: 22756, 22757, 22758, + 11379: 22756, 22758, 22759, + 11380: 22760, 22761, 22762, + 11381: 22760, 22762, 22763, + 11382: 22764, 22765, 22766, + 11383: 22764, 22766, 22767, + 11384: 22768, 22769, 22770, + 11385: 22768, 22770, 22771, + 11386: 22772, 22773, 22774, + 11387: 22772, 22774, 22775, + 11388: 22776, 22777, 22778, + 11389: 22776, 22778, 22779, + 11390: 22780, 22781, 22782, + 11391: 22780, 22782, 22783, + 11392: 22784, 22785, 22786, + 11393: 22784, 22786, 22787, + 11394: 22788, 22789, 22790, + 11395: 22788, 22790, 22791, + 11396: 22792, 22793, 22794, + 11397: 22792, 22794, 22795, + 11398: 22796, 22797, 22798, + 11399: 22796, 22798, 22799, + 11400: 22800, 22801, 22802, + 11401: 22800, 22802, 22803, + 11402: 22804, 22805, 22806, + 11403: 22804, 22806, 22807, + 11404: 22808, 22809, 22810, + 11405: 22808, 22810, 22811, + 11406: 22812, 22813, 22814, + 11407: 22812, 22814, 22815, + 11408: 22816, 22817, 22818, + 11409: 22816, 22818, 22819, + 11410: 22820, 22821, 22822, + 11411: 22820, 22822, 22823, + 11412: 22824, 22825, 22826, + 11413: 22824, 22826, 22827, + 11414: 22828, 22829, 22830, + 11415: 22828, 22830, 22831, + 11416: 22832, 22833, 22834, + 11417: 22832, 22834, 22835, + 11418: 22836, 22837, 22838, + 11419: 22836, 22838, 22839, + 11420: 22840, 22841, 22842, + 11421: 22840, 22842, 22843, + 11422: 22844, 22845, 22846, + 11423: 22844, 22846, 22847, + 11424: 22848, 22849, 22850, + 11425: 22848, 22850, 22851, + 11426: 22852, 22853, 22854, + 11427: 22852, 22854, 22855, + 11428: 22856, 22857, 22858, + 11429: 22856, 22858, 22859, + 11430: 22860, 22861, 22862, + 11431: 22860, 22862, 22863, + 11432: 22864, 22865, 22866, + 11433: 22864, 22866, 22867, + 11434: 22868, 22869, 22870, + 11435: 22868, 22870, 22871, + 11436: 22872, 22873, 22874, + 11437: 22872, 22874, 22875, + 11438: 22876, 22877, 22878, + 11439: 22876, 22878, 22879, + 11440: 22880, 22881, 22882, + 11441: 22880, 22882, 22883, + 11442: 22884, 22885, 22886, + 11443: 22884, 22886, 22887, + 11444: 22888, 22889, 22890, + 11445: 22888, 22890, 22891, + 11446: 22892, 22893, 22894, + 11447: 22892, 22894, 22895, + 11448: 22896, 22897, 22898, + 11449: 22896, 22898, 22899, + 11450: 22900, 22901, 22902, + 11451: 22900, 22902, 22903, + 11452: 22904, 22905, 22906, + 11453: 22904, 22906, 22907, + 11454: 22908, 22909, 22910, + 11455: 22908, 22910, 22911, + 11456: 22912, 22913, 22914, + 11457: 22912, 22914, 22915, + 11458: 22916, 22917, 22918, + 11459: 22916, 22918, 22919, + 11460: 22920, 22921, 22922, + 11461: 22920, 22922, 22923, + 11462: 22924, 22925, 22926, + 11463: 22924, 22926, 22927, + 11464: 22928, 22929, 22930, + 11465: 22928, 22930, 22931, + 11466: 22932, 22933, 22934, + 11467: 22932, 22934, 22935, + 11468: 22936, 22937, 22938, + 11469: 22936, 22938, 22939, + 11470: 22940, 22941, 22942, + 11471: 22940, 22942, 22943, + 11472: 22944, 22945, 22946, + 11473: 22944, 22946, 22947, + 11474: 22948, 22949, 22950, + 11475: 22948, 22950, 22951, + 11476: 22952, 22953, 22954, + 11477: 22952, 22954, 22955, + 11478: 22956, 22957, 22958, + 11479: 22956, 22958, 22959, + 11480: 22960, 22961, 22962, + 11481: 22960, 22962, 22963, + 11482: 22964, 22965, 22966, + 11483: 22964, 22966, 22967, + 11484: 22968, 22969, 22970, + 11485: 22968, 22970, 22971, + 11486: 22972, 22973, 22974, + 11487: 22972, 22974, 22975, + 11488: 22976, 22977, 22978, + 11489: 22976, 22978, 22979, + 11490: 22980, 22981, 22982, + 11491: 22980, 22982, 22983, + 11492: 22984, 22985, 22986, + 11493: 22984, 22986, 22987, + 11494: 22988, 22989, 22990, + 11495: 22988, 22990, 22991, + 11496: 22992, 22993, 22994, + 11497: 22992, 22994, 22995, + 11498: 22996, 22997, 22998, + 11499: 22996, 22998, 22999, + 11500: 23000, 23001, 23002, + 11501: 23000, 23002, 23003, + 11502: 23004, 23005, 23006, + 11503: 23004, 23006, 23007, + 11504: 23008, 23009, 23010, + 11505: 23008, 23010, 23011, + 11506: 23012, 23013, 23014, + 11507: 23012, 23014, 23015, + 11508: 23016, 23017, 23018, + 11509: 23016, 23018, 23019, + 11510: 23020, 23021, 23022, + 11511: 23020, 23022, 23023, + 11512: 23024, 23025, 23026, + 11513: 23024, 23026, 23027, + 11514: 23028, 23029, 23030, + 11515: 23028, 23030, 23031, + 11516: 23032, 23033, 23034, + 11517: 23032, 23034, 23035, + 11518: 23036, 23037, 23038, + 11519: 23036, 23038, 23039, + 11520: 23040, 23041, 23042, + 11521: 23040, 23042, 23043, + 11522: 23044, 23045, 23046, + 11523: 23044, 23046, 23047, + 11524: 23048, 23049, 23050, + 11525: 23048, 23050, 23051, + 11526: 23052, 23053, 23054, + 11527: 23052, 23054, 23055, + 11528: 23056, 23057, 23058, + 11529: 23056, 23058, 23059, + 11530: 23060, 23061, 23062, + 11531: 23060, 23062, 23063, + 11532: 23064, 23065, 23066, + 11533: 23064, 23066, 23067, + 11534: 23068, 23069, 23070, + 11535: 23068, 23070, 23071, + 11536: 23072, 23073, 23074, + 11537: 23072, 23074, 23075, + 11538: 23076, 23077, 23078, + 11539: 23076, 23078, 23079, + 11540: 23080, 23081, 23082, + 11541: 23080, 23082, 23083, + 11542: 23084, 23085, 23086, + 11543: 23084, 23086, 23087, + 11544: 23088, 23089, 23090, + 11545: 23088, 23090, 23091, + 11546: 23092, 23093, 23094, + 11547: 23092, 23094, 23095, + 11548: 23096, 23097, 23098, + 11549: 23096, 23098, 23099, + 11550: 23100, 23101, 23102, + 11551: 23100, 23102, 23103, + 11552: 23104, 23105, 23106, + 11553: 23104, 23106, 23107, + 11554: 23108, 23109, 23110, + 11555: 23108, 23110, 23111, + 11556: 23112, 23113, 23114, + 11557: 23112, 23114, 23115, + 11558: 23116, 23117, 23118, + 11559: 23116, 23118, 23119, + 11560: 23120, 23121, 23122, + 11561: 23120, 23122, 23123, + 11562: 23124, 23125, 23126, + 11563: 23124, 23126, 23127, + 11564: 23128, 23129, 23130, + 11565: 23128, 23130, 23131, + 11566: 23132, 23133, 23134, + 11567: 23132, 23134, 23135, + 11568: 23136, 23137, 23138, + 11569: 23136, 23138, 23139, + 11570: 23140, 23141, 23142, + 11571: 23140, 23142, 23143, + 11572: 23144, 23145, 23146, + 11573: 23144, 23146, 23147, + 11574: 23148, 23149, 23150, + 11575: 23148, 23150, 23151, + 11576: 23152, 23153, 23154, + 11577: 23152, 23154, 23155, + 11578: 23156, 23157, 23158, + 11579: 23156, 23158, 23159, + 11580: 23160, 23161, 23162, + 11581: 23160, 23162, 23163, + 11582: 23164, 23165, 23166, + 11583: 23164, 23166, 23167, + 11584: 23168, 23169, 23170, + 11585: 23168, 23170, 23171, + 11586: 23172, 23173, 23174, + 11587: 23172, 23174, 23175, + 11588: 23176, 23177, 23178, + 11589: 23176, 23178, 23179, + 11590: 23180, 23181, 23182, + 11591: 23180, 23182, 23183, + 11592: 23184, 23185, 23186, + 11593: 23184, 23186, 23187, + 11594: 23188, 23189, 23190, + 11595: 23188, 23190, 23191, + 11596: 23192, 23193, 23194, + 11597: 23192, 23194, 23195, + 11598: 23196, 23197, 23198, + 11599: 23196, 23198, 23199, + 11600: 23200, 23201, 23202, + 11601: 23200, 23202, 23203, + 11602: 23204, 23205, 23206, + 11603: 23204, 23206, 23207, + 11604: 23208, 23209, 23210, + 11605: 23208, 23210, 23211, + 11606: 23212, 23213, 23214, + 11607: 23212, 23214, 23215, + 11608: 23216, 23217, 23218, + 11609: 23216, 23218, 23219, + 11610: 23220, 23221, 23222, + 11611: 23220, 23222, 23223, + 11612: 23224, 23225, 23226, + 11613: 23224, 23226, 23227, + 11614: 23228, 23229, 23230, + 11615: 23228, 23230, 23231, + 11616: 23232, 23233, 23234, + 11617: 23232, 23234, 23235, + 11618: 23236, 23237, 23238, + 11619: 23236, 23238, 23239, + 11620: 23240, 23241, 23242, + 11621: 23240, 23242, 23243, + 11622: 23244, 23245, 23246, + 11623: 23244, 23246, 23247, + 11624: 23248, 23249, 23250, + 11625: 23248, 23250, 23251, + 11626: 23252, 23253, 23254, + 11627: 23252, 23254, 23255, + 11628: 23256, 23257, 23258, + 11629: 23256, 23258, 23259, + 11630: 23260, 23261, 23262, + 11631: 23260, 23262, 23263, + 11632: 23264, 23265, 23266, + 11633: 23264, 23266, 23267, + 11634: 23268, 23269, 23270, + 11635: 23268, 23270, 23271, + 11636: 23272, 23273, 23274, + 11637: 23272, 23274, 23275, + 11638: 23276, 23277, 23278, + 11639: 23276, 23278, 23279, + 11640: 23280, 23281, 23282, + 11641: 23280, 23282, 23283, + 11642: 23284, 23285, 23286, + 11643: 23284, 23286, 23287, + 11644: 23288, 23289, 23290, + 11645: 23288, 23290, 23291, + 11646: 23292, 23293, 23294, + 11647: 23292, 23294, 23295, + 11648: 23296, 23297, 23298, + 11649: 23296, 23298, 23299, + 11650: 23300, 23301, 23302, + 11651: 23300, 23302, 23303, + 11652: 23304, 23305, 23306, + 11653: 23304, 23306, 23307, + 11654: 23308, 23309, 23310, + 11655: 23308, 23310, 23311, + 11656: 23312, 23313, 23314, + 11657: 23312, 23314, 23315, + 11658: 23316, 23317, 23318, + 11659: 23316, 23318, 23319, + 11660: 23320, 23321, 23322, + 11661: 23320, 23322, 23323, + 11662: 23324, 23325, 23326, + 11663: 23324, 23326, 23327, + 11664: 23328, 23329, 23330, + 11665: 23328, 23330, 23331, + 11666: 23332, 23333, 23334, + 11667: 23332, 23334, 23335, + 11668: 23336, 23337, 23338, + 11669: 23336, 23338, 23339, + 11670: 23340, 23341, 23342, + 11671: 23340, 23342, 23343, + 11672: 23344, 23345, 23346, + 11673: 23344, 23346, 23347, + 11674: 23348, 23349, 23350, + 11675: 23348, 23350, 23351, + 11676: 23352, 23353, 23354, + 11677: 23352, 23354, 23355, + 11678: 23356, 23357, 23358, + 11679: 23356, 23358, 23359, + 11680: 23360, 23361, 23362, + 11681: 23360, 23362, 23363, + 11682: 23364, 23365, 23366, + 11683: 23364, 23366, 23367, + 11684: 23368, 23369, 23370, + 11685: 23368, 23370, 23371, + 11686: 23372, 23373, 23374, + 11687: 23372, 23374, 23375, + 11688: 23376, 23377, 23378, + 11689: 23376, 23378, 23379, + 11690: 23380, 23381, 23382, + 11691: 23380, 23382, 23383, + 11692: 23384, 23385, 23386, + 11693: 23384, 23386, 23387, + 11694: 23388, 23389, 23390, + 11695: 23388, 23390, 23391, + 11696: 23392, 23393, 23394, + 11697: 23392, 23394, 23395, + 11698: 23396, 23397, 23398, + 11699: 23396, 23398, 23399, + 11700: 23400, 23401, 23402, + 11701: 23400, 23402, 23403, + 11702: 23404, 23405, 23406, + 11703: 23404, 23406, 23407, + 11704: 23408, 23409, 23410, + 11705: 23408, 23410, 23411, + 11706: 23412, 23413, 23414, + 11707: 23412, 23414, 23415, + 11708: 23416, 23417, 23418, + 11709: 23416, 23418, 23419, + 11710: 23420, 23421, 23422, + 11711: 23420, 23422, 23423, + 11712: 23424, 23425, 23426, + 11713: 23424, 23426, 23427, + 11714: 23428, 23429, 23430, + 11715: 23428, 23430, 23431, + 11716: 23432, 23433, 23434, + 11717: 23432, 23434, 23435, + 11718: 23436, 23437, 23438, + 11719: 23436, 23438, 23439, + 11720: 23440, 23441, 23442, + 11721: 23440, 23442, 23443, + 11722: 23444, 23445, 23446, + 11723: 23444, 23446, 23447, + 11724: 23448, 23449, 23450, + 11725: 23448, 23450, 23451, + 11726: 23452, 23453, 23454, + 11727: 23452, 23454, 23455, + 11728: 23456, 23457, 23458, + 11729: 23456, 23458, 23459, + 11730: 23460, 23461, 23462, + 11731: 23460, 23462, 23463, + 11732: 23464, 23465, 23466, + 11733: 23464, 23466, 23467, + 11734: 23468, 23469, 23470, + 11735: 23468, 23470, 23471, + 11736: 23472, 23473, 23474, + 11737: 23472, 23474, 23475, + 11738: 23476, 23477, 23478, + 11739: 23476, 23478, 23479, + 11740: 23480, 23481, 23482, + 11741: 23480, 23482, 23483, + 11742: 23484, 23485, 23486, + 11743: 23484, 23486, 23487, + 11744: 23488, 23489, 23490, + 11745: 23488, 23490, 23491, + 11746: 23492, 23493, 23494, + 11747: 23492, 23494, 23495, + 11748: 23496, 23497, 23498, + 11749: 23496, 23498, 23499, + 11750: 23500, 23501, 23502, + 11751: 23500, 23502, 23503, + 11752: 23504, 23505, 23506, + 11753: 23504, 23506, 23507, + 11754: 23508, 23509, 23510, + 11755: 23508, 23510, 23511, + 11756: 23512, 23513, 23514, + 11757: 23512, 23514, 23515, + 11758: 23516, 23517, 23518, + 11759: 23516, 23518, 23519, + 11760: 23520, 23521, 23522, + 11761: 23520, 23522, 23523, + 11762: 23524, 23525, 23526, + 11763: 23524, 23526, 23527, + 11764: 23528, 23529, 23530, + 11765: 23528, 23530, 23531, + 11766: 23532, 23533, 23534, + 11767: 23532, 23534, 23535, + 11768: 23536, 23537, 23538, + 11769: 23536, 23538, 23539, + 11770: 23540, 23541, 23542, + 11771: 23540, 23542, 23543, + 11772: 23544, 23545, 23546, + 11773: 23544, 23546, 23547, + 11774: 23548, 23549, 23550, + 11775: 23548, 23550, 23551, + 11776: 23552, 23553, 23554, + 11777: 23552, 23554, 23555, + 11778: 23556, 23557, 23558, + 11779: 23556, 23558, 23559, + 11780: 23560, 23561, 23562, + 11781: 23560, 23562, 23563, + 11782: 23564, 23565, 23566, + 11783: 23564, 23566, 23567, + 11784: 23568, 23569, 23570, + 11785: 23568, 23570, 23571, + 11786: 23572, 23573, 23574, + 11787: 23572, 23574, 23575, + 11788: 23576, 23577, 23578, + 11789: 23576, 23578, 23579, + 11790: 23580, 23581, 23582, + 11791: 23580, 23582, 23583, + 11792: 23584, 23585, 23586, + 11793: 23584, 23586, 23587, + 11794: 23588, 23589, 23590, + 11795: 23588, 23590, 23591, + 11796: 23592, 23593, 23594, + 11797: 23592, 23594, 23595, + 11798: 23596, 23597, 23598, + 11799: 23596, 23598, 23599, + 11800: 23600, 23601, 23602, + 11801: 23600, 23602, 23603, + 11802: 23604, 23605, 23606, + 11803: 23604, 23606, 23607, + 11804: 23608, 23609, 23610, + 11805: 23608, 23610, 23611, + 11806: 23612, 23613, 23614, + 11807: 23612, 23614, 23615, + 11808: 23616, 23617, 23618, + 11809: 23616, 23618, 23619, + 11810: 23620, 23621, 23622, + 11811: 23620, 23622, 23623, + 11812: 23624, 23625, 23626, + 11813: 23624, 23626, 23627, + 11814: 23628, 23629, 23630, + 11815: 23628, 23630, 23631, + 11816: 23632, 23633, 23634, + 11817: 23632, 23634, 23635, + 11818: 23636, 23637, 23638, + 11819: 23636, 23638, 23639, + 11820: 23640, 23641, 23642, + 11821: 23640, 23642, 23643, + 11822: 23644, 23645, 23646, + 11823: 23644, 23646, 23647, + 11824: 23648, 23649, 23650, + 11825: 23648, 23650, 23651, + 11826: 23652, 23653, 23654, + 11827: 23652, 23654, 23655, + 11828: 23656, 23657, 23658, + 11829: 23656, 23658, 23659, + 11830: 23660, 23661, 23662, + 11831: 23660, 23662, 23663, + 11832: 23664, 23665, 23666, + 11833: 23664, 23666, 23667, + 11834: 23668, 23669, 23670, + 11835: 23668, 23670, 23671, + 11836: 23672, 23673, 23674, + 11837: 23672, 23674, 23675, + 11838: 23676, 23677, 23678, + 11839: 23676, 23678, 23679, + 11840: 23680, 23681, 23682, + 11841: 23680, 23682, 23683, + 11842: 23684, 23685, 23686, + 11843: 23684, 23686, 23687, + 11844: 23688, 23689, 23690, + 11845: 23688, 23690, 23691, + 11846: 23692, 23693, 23694, + 11847: 23692, 23694, 23695, + 11848: 23696, 23697, 23698, + 11849: 23696, 23698, 23699, + 11850: 23700, 23701, 23702, + 11851: 23700, 23702, 23703, + 11852: 23704, 23705, 23706, + 11853: 23704, 23706, 23707, + 11854: 23708, 23709, 23710, + 11855: 23708, 23710, 23711, + 11856: 23712, 23713, 23714, + 11857: 23712, 23714, 23715, + 11858: 23716, 23717, 23718, + 11859: 23716, 23718, 23719, + 11860: 23720, 23721, 23722, + 11861: 23720, 23722, 23723, + 11862: 23724, 23725, 23726, + 11863: 23724, 23726, 23727, + 11864: 23728, 23729, 23730, + 11865: 23728, 23730, 23731, + 11866: 23732, 23733, 23734, + 11867: 23732, 23734, 23735, + 11868: 23736, 23737, 23738, + 11869: 23736, 23738, 23739, + 11870: 23740, 23741, 23742, + 11871: 23740, 23742, 23743, + 11872: 23744, 23745, 23746, + 11873: 23744, 23746, 23747, + 11874: 23748, 23749, 23750, + 11875: 23748, 23750, 23751, + 11876: 23752, 23753, 23754, + 11877: 23752, 23754, 23755, + 11878: 23756, 23757, 23758, + 11879: 23756, 23758, 23759, + 11880: 23760, 23761, 23762, + 11881: 23760, 23762, 23763, + 11882: 23764, 23765, 23766, + 11883: 23764, 23766, 23767, + 11884: 23768, 23769, 23770, + 11885: 23768, 23770, 23771, + 11886: 23772, 23773, 23774, + 11887: 23772, 23774, 23775, + 11888: 23776, 23777, 23778, + 11889: 23776, 23778, 23779, + 11890: 23780, 23781, 23782, + 11891: 23780, 23782, 23783, + 11892: 23784, 23785, 23786, + 11893: 23784, 23786, 23787, + 11894: 23788, 23789, 23790, + 11895: 23788, 23790, 23791, + 11896: 23792, 23793, 23794, + 11897: 23792, 23794, 23795, + 11898: 23796, 23797, 23798, + 11899: 23796, 23798, 23799, + 11900: 23800, 23801, 23802, + 11901: 23800, 23802, 23803, + 11902: 23804, 23805, 23806, + 11903: 23804, 23806, 23807, + 11904: 23808, 23809, 23810, + 11905: 23808, 23810, 23811, + 11906: 23812, 23813, 23814, + 11907: 23812, 23814, 23815, + 11908: 23816, 23817, 23818, + 11909: 23816, 23818, 23819, + 11910: 23820, 23821, 23822, + 11911: 23820, 23822, 23823, + 11912: 23824, 23825, 23826, + 11913: 23824, 23826, 23827, + 11914: 23828, 23829, 23830, + 11915: 23828, 23830, 23831, + 11916: 23832, 23833, 23834, + 11917: 23832, 23834, 23835, + 11918: 23836, 23837, 23838, + 11919: 23836, 23838, 23839, + 11920: 23840, 23841, 23842, + 11921: 23840, 23842, 23843, + 11922: 23844, 23845, 23846, + 11923: 23844, 23846, 23847, + 11924: 23848, 23849, 23850, + 11925: 23848, 23850, 23851, + 11926: 23852, 23853, 23854, + 11927: 23852, 23854, 23855, + 11928: 23856, 23857, 23858, + 11929: 23856, 23858, 23859, + 11930: 23860, 23861, 23862, + 11931: 23860, 23862, 23863, + 11932: 23864, 23865, 23866, + 11933: 23864, 23866, 23867, + 11934: 23868, 23869, 23870, + 11935: 23868, 23870, 23871, + 11936: 23872, 23873, 23874, + 11937: 23872, 23874, 23875, + 11938: 23876, 23877, 23878, + 11939: 23876, 23878, 23879, + 11940: 23880, 23881, 23882, + 11941: 23880, 23882, 23883, + 11942: 23884, 23885, 23886, + 11943: 23884, 23886, 23887, + 11944: 23888, 23889, 23890, + 11945: 23888, 23890, 23891, + 11946: 23892, 23893, 23894, + 11947: 23892, 23894, 23895, + 11948: 23896, 23897, 23898, + 11949: 23896, 23898, 23899, + 11950: 23900, 23901, 23902, + 11951: 23900, 23902, 23903, + 11952: 23904, 23905, 23906, + 11953: 23904, 23906, 23907, + 11954: 23908, 23909, 23910, + 11955: 23908, 23910, 23911, + 11956: 23912, 23913, 23914, + 11957: 23912, 23914, 23915, + 11958: 23916, 23917, 23918, + 11959: 23916, 23918, 23919, + 11960: 23920, 23921, 23922, + 11961: 23920, 23922, 23923, + 11962: 23924, 23925, 23926, + 11963: 23924, 23926, 23927, + 11964: 23928, 23929, 23930, + 11965: 23928, 23930, 23931, + 11966: 23932, 23933, 23934, + 11967: 23932, 23934, 23935, + 11968: 23936, 23937, 23938, + 11969: 23936, 23938, 23939, + 11970: 23940, 23941, 23942, + 11971: 23940, 23942, 23943, + 11972: 23944, 23945, 23946, + 11973: 23944, 23946, 23947, + 11974: 23948, 23949, 23950, + 11975: 23948, 23950, 23951, + 11976: 23952, 23953, 23954, + 11977: 23952, 23954, 23955, + 11978: 23956, 23957, 23958, + 11979: 23956, 23958, 23959, + 11980: 23960, 23961, 23962, + 11981: 23960, 23962, 23963, + 11982: 23964, 23965, 23966, + 11983: 23964, 23966, 23967, + 11984: 23968, 23969, 23970, + 11985: 23968, 23970, 23971, + 11986: 23972, 23973, 23974, + 11987: 23972, 23974, 23975, + 11988: 23976, 23977, 23978, + 11989: 23976, 23978, 23979, + 11990: 23980, 23981, 23982, + 11991: 23980, 23982, 23983, + 11992: 23984, 23985, 23986, + 11993: 23984, 23986, 23987, + 11994: 23988, 23989, 23990, + 11995: 23988, 23990, 23991, + 11996: 23992, 23993, 23994, + 11997: 23992, 23994, 23995, + 11998: 23996, 23997, 23998, + 11999: 23996, 23998, 23999, + 12000: 24000, 24001, 24002, + 12001: 24000, 24002, 24003, + 12002: 24004, 24005, 24006, + 12003: 24004, 24006, 24007, + 12004: 24008, 24009, 24010, + 12005: 24008, 24010, 24011, + 12006: 24012, 24013, 24014, + 12007: 24012, 24014, 24015, + 12008: 24016, 24017, 24018, + 12009: 24016, 24018, 24019, + 12010: 24020, 24021, 24022, + 12011: 24020, 24022, 24023, + 12012: 24024, 24025, 24026, + 12013: 24024, 24026, 24027, + 12014: 24028, 24029, 24030, + 12015: 24028, 24030, 24031, + 12016: 24032, 24033, 24034, + 12017: 24032, 24034, 24035, + 12018: 24036, 24037, 24038, + 12019: 24036, 24038, 24039, + 12020: 24040, 24041, 24042, + 12021: 24040, 24042, 24043, + 12022: 24044, 24045, 24046, + 12023: 24044, 24046, 24047, + 12024: 24048, 24049, 24050, + 12025: 24048, 24050, 24051, + 12026: 24052, 24053, 24054, + 12027: 24052, 24054, 24055, + 12028: 24056, 24057, 24058, + 12029: 24056, 24058, 24059, + 12030: 24060, 24061, 24062, + 12031: 24060, 24062, 24063, + 12032: 24064, 24065, 24066, + 12033: 24064, 24066, 24067, + 12034: 24068, 24069, 24070, + 12035: 24068, 24070, 24071, + 12036: 24072, 24073, 24074, + 12037: 24072, 24074, 24075, + 12038: 24076, 24077, 24078, + 12039: 24076, 24078, 24079, + 12040: 24080, 24081, 24082, + 12041: 24080, 24082, 24083, + 12042: 24084, 24085, 24086, + 12043: 24084, 24086, 24087, + 12044: 24088, 24089, 24090, + 12045: 24088, 24090, 24091, + 12046: 24092, 24093, 24094, + 12047: 24092, 24094, 24095, + 12048: 24096, 24097, 24098, + 12049: 24096, 24098, 24099, + 12050: 24100, 24101, 24102, + 12051: 24100, 24102, 24103, + 12052: 24104, 24105, 24106, + 12053: 24104, 24106, 24107, + 12054: 24108, 24109, 24110, + 12055: 24108, 24110, 24111, + 12056: 24112, 24113, 24114, + 12057: 24112, 24114, 24115, + 12058: 24116, 24117, 24118, + 12059: 24116, 24118, 24119, + 12060: 24120, 24121, 24122, + 12061: 24120, 24122, 24123, + 12062: 24124, 24125, 24126, + 12063: 24124, 24126, 24127, + 12064: 24128, 24129, 24130, + 12065: 24128, 24130, 24131, + 12066: 24132, 24133, 24134, + 12067: 24132, 24134, 24135, + 12068: 24136, 24137, 24138, + 12069: 24136, 24138, 24139, + 12070: 24140, 24141, 24142, + 12071: 24140, 24142, 24143, + 12072: 24144, 24145, 24146, + 12073: 24144, 24146, 24147, + 12074: 24148, 24149, 24150, + 12075: 24148, 24150, 24151, + 12076: 24152, 24153, 24154, + 12077: 24152, 24154, 24155, + 12078: 24156, 24157, 24158, + 12079: 24156, 24158, 24159, + 12080: 24160, 24161, 24162, + 12081: 24160, 24162, 24163, + 12082: 24164, 24165, 24166, + 12083: 24164, 24166, 24167, + 12084: 24168, 24169, 24170, + 12085: 24168, 24170, 24171, + 12086: 24172, 24173, 24174, + 12087: 24172, 24174, 24175, + 12088: 24176, 24177, 24178, + 12089: 24176, 24178, 24179, + 12090: 24180, 24181, 24182, + 12091: 24180, 24182, 24183, + 12092: 24184, 24185, 24186, + 12093: 24184, 24186, 24187, + 12094: 24188, 24189, 24190, + 12095: 24188, 24190, 24191, + 12096: 24192, 24193, 24194, + 12097: 24192, 24194, 24195, + 12098: 24196, 24197, 24198, + 12099: 24196, 24198, 24199, + 12100: 24200, 24201, 24202, + 12101: 24200, 24202, 24203, + 12102: 24204, 24205, 24206, + 12103: 24204, 24206, 24207, + 12104: 24208, 24209, 24210, + 12105: 24208, 24210, 24211, + 12106: 24212, 24213, 24214, + 12107: 24212, 24214, 24215, + 12108: 24216, 24217, 24218, + 12109: 24216, 24218, 24219, + 12110: 24220, 24221, 24222, + 12111: 24220, 24222, 24223, + 12112: 24224, 24225, 24226, + 12113: 24224, 24226, 24227, + 12114: 24228, 24229, 24230, + 12115: 24228, 24230, 24231, + 12116: 24232, 24233, 24234, + 12117: 24232, 24234, 24235, + 12118: 24236, 24237, 24238, + 12119: 24236, 24238, 24239, + 12120: 24240, 24241, 24242, + 12121: 24240, 24242, 24243, + 12122: 24244, 24245, 24246, + 12123: 24244, 24246, 24247, + 12124: 24248, 24249, 24250, + 12125: 24248, 24250, 24251, + 12126: 24252, 24253, 24254, + 12127: 24252, 24254, 24255, + 12128: 24256, 24257, 24258, + 12129: 24256, 24258, 24259, + 12130: 24260, 24261, 24262, + 12131: 24260, 24262, 24263, + 12132: 24264, 24265, 24266, + 12133: 24264, 24266, 24267, + 12134: 24268, 24269, 24270, + 12135: 24268, 24270, 24271, + 12136: 24272, 24273, 24274, + 12137: 24272, 24274, 24275, + 12138: 24276, 24277, 24278, + 12139: 24276, 24278, 24279, + 12140: 24280, 24281, 24282, + 12141: 24280, 24282, 24283, + 12142: 24284, 24285, 24286, + 12143: 24284, 24286, 24287, + 12144: 24288, 24289, 24290, + 12145: 24288, 24290, 24291, + 12146: 24292, 24293, 24294, + 12147: 24292, 24294, 24295, + 12148: 24296, 24297, 24298, + 12149: 24296, 24298, 24299, + 12150: 24300, 24301, 24302, + 12151: 24300, 24302, 24303, + 12152: 24304, 24305, 24306, + 12153: 24304, 24306, 24307, + 12154: 24308, 24309, 24310, + 12155: 24308, 24310, 24311, + 12156: 24312, 24313, 24314, + 12157: 24312, 24314, 24315, + 12158: 24316, 24317, 24318, + 12159: 24316, 24318, 24319, + 12160: 24320, 24321, 24322, + 12161: 24320, 24322, 24323, + 12162: 24324, 24325, 24326, + 12163: 24324, 24326, 24327, + 12164: 24328, 24329, 24330, + 12165: 24328, 24330, 24331, + 12166: 24332, 24333, 24334, + 12167: 24332, 24334, 24335, + 12168: 24336, 24337, 24338, + 12169: 24336, 24338, 24339, + 12170: 24340, 24341, 24342, + 12171: 24340, 24342, 24343, + 12172: 24344, 24345, 24346, + 12173: 24344, 24346, 24347, + 12174: 24348, 24349, 24350, + 12175: 24348, 24350, 24351, + 12176: 24352, 24353, 24354, + 12177: 24352, 24354, 24355, + 12178: 24356, 24357, 24358, + 12179: 24356, 24358, 24359, + 12180: 24360, 24361, 24362, + 12181: 24360, 24362, 24363, + 12182: 24364, 24365, 24366, + 12183: 24364, 24366, 24367, + 12184: 24368, 24369, 24370, + 12185: 24368, 24370, 24371, + 12186: 24372, 24373, 24374, + 12187: 24372, 24374, 24375, + 12188: 24376, 24377, 24378, + 12189: 24376, 24378, 24379, + 12190: 24380, 24381, 24382, + 12191: 24380, 24382, 24383, + 12192: 24384, 24385, 24386, + 12193: 24384, 24386, 24387, + 12194: 24388, 24389, 24390, + 12195: 24388, 24390, 24391, + 12196: 24392, 24393, 24394, + 12197: 24392, 24394, 24395, + 12198: 24396, 24397, 24398, + 12199: 24396, 24398, 24399, + 12200: 24400, 24401, 24402, + 12201: 24400, 24402, 24403, + 12202: 24404, 24405, 24406, + 12203: 24404, 24406, 24407, + 12204: 24408, 24409, 24410, + 12205: 24408, 24410, 24411, + 12206: 24412, 24413, 24414, + 12207: 24412, 24414, 24415, + 12208: 24416, 24417, 24418, + 12209: 24416, 24418, 24419, + 12210: 24420, 24421, 24422, + 12211: 24420, 24422, 24423, + 12212: 24424, 24425, 24426, + 12213: 24424, 24426, 24427, + 12214: 24428, 24429, 24430, + 12215: 24428, 24430, 24431, + 12216: 24432, 24433, 24434, + 12217: 24432, 24434, 24435, + 12218: 24436, 24437, 24438, + 12219: 24436, 24438, 24439, + 12220: 24440, 24441, 24442, + 12221: 24440, 24442, 24443, + 12222: 24444, 24445, 24446, + 12223: 24444, 24446, 24447, + 12224: 24448, 24449, 24450, + 12225: 24448, 24450, 24451, + 12226: 24452, 24453, 24454, + 12227: 24452, 24454, 24455, + 12228: 24456, 24457, 24458, + 12229: 24456, 24458, 24459, + 12230: 24460, 24461, 24462, + 12231: 24460, 24462, 24463, + 12232: 24464, 24465, 24466, + 12233: 24464, 24466, 24467, + 12234: 24468, 24469, 24470, + 12235: 24468, 24470, 24471, + 12236: 24472, 24473, 24474, + 12237: 24472, 24474, 24475, + 12238: 24476, 24477, 24478, + 12239: 24476, 24478, 24479, + 12240: 24480, 24481, 24482, + 12241: 24480, 24482, 24483, + 12242: 24484, 24485, 24486, + 12243: 24484, 24486, 24487, + 12244: 24488, 24489, 24490, + 12245: 24488, 24490, 24491, + 12246: 24492, 24493, 24494, + 12247: 24492, 24494, 24495, + 12248: 24496, 24497, 24498, + 12249: 24496, 24498, 24499, + 12250: 24500, 24501, 24502, + 12251: 24500, 24502, 24503, + 12252: 24504, 24505, 24506, + 12253: 24504, 24506, 24507, + 12254: 24508, 24509, 24510, + 12255: 24508, 24510, 24511, + 12256: 24512, 24513, 24514, + 12257: 24512, 24514, 24515, + 12258: 24516, 24517, 24518, + 12259: 24516, 24518, 24519, + 12260: 24520, 24521, 24522, + 12261: 24520, 24522, 24523, + 12262: 24524, 24525, 24526, + 12263: 24524, 24526, 24527, + 12264: 24528, 24529, 24530, + 12265: 24528, 24530, 24531, + 12266: 24532, 24533, 24534, + 12267: 24532, 24534, 24535, + 12268: 24536, 24537, 24538, + 12269: 24536, 24538, 24539, + 12270: 24540, 24541, 24542, + 12271: 24540, 24542, 24543, + 12272: 24544, 24545, 24546, + 12273: 24544, 24546, 24547, + 12274: 24548, 24549, 24550, + 12275: 24548, 24550, 24551, + 12276: 24552, 24553, 24554, + 12277: 24552, 24554, 24555, + 12278: 24556, 24557, 24558, + 12279: 24556, 24558, 24559, + 12280: 24560, 24561, 24562, + 12281: 24560, 24562, 24563, + 12282: 24564, 24565, 24566, + 12283: 24564, 24566, 24567, + 12284: 24568, 24569, 24570, + 12285: 24568, 24570, 24571, + 12286: 24572, 24573, 24574, + 12287: 24572, 24574, 24575, + FaceMaterialIds: Count 12288. Hash: 12545154121625736090 + +Node Name: Col0 +Node Path: RootNode.Cube.Col0 +Node Type: MeshVertexColorData + Colors: Count 24576. Hash: 17169952715183318502 + ColorsCustomName: + +Node Name: transform +Node Path: RootNode.Cube.transform Node Type: TransformData Matrix: BasisX: < 100.000000, 0.000000, 0.000000> @@ -16,23 +122912,116 @@ Node Type: TransformData BasisZ: < 0.000000, -100.000000, -0.000016> Transl: < 0.000000, 0.000000, 0.000000> -Node Path: RootNode.Suzanne.Col -Node Type: MeshVertexColorData - Colors: Count 1968. Hash: 3952468802357285186 - -Node Path: RootNode.Suzanne.UVMap +Node Name: UVMap +Node Path: RootNode.Cube.UVMap Node Type: MeshVertexUVData - UVs: Count 1968. Hash: 4040959288360698272 + UVs: Count 24576. Hash: 4554678369329207802 UVCustomName: UVMap -Node Path: RootNode.Suzanne.TangentSet_MikkT_0 +Node Name: Material +Node Path: RootNode.Cube.Material +Node Type: MaterialData + MaterialName: Material + UniqueId: 11127505492038345244 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.800000, 0.800000> + SpecularColor: < 0.800000, 0.800000, 0.800000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 36.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + +Node Name: TangentSet_MikkT_0 +Node Path: RootNode.Cube.TangentSet_MikkT_0 Node Type: MeshVertexTangentData - Tangents: Count 1968. Hash: 17894327294721432452 + Tangents: Count 24576. Hash: 13321090379606717973 TangentSpace: 1 SetIndex: 0 -Node Path: RootNode.Suzanne.BitangentSet_MikkT_0 +Node Name: BitangentSet_MikkT_0 +Node Path: RootNode.Cube.BitangentSet_MikkT_0 Node Type: MeshVertexBitangentData - Bitangents: Count 1968. Hash: 8975256745659816606 + Bitangents: Count 24576. Hash: 17217515414004886507 TangentSpace: 1 +Node Name: UVMap +Node Path: RootNode.Cube_optimized.UVMap +Node Type: MeshVertexUVData + UVs: Count 24576. Hash: 4554678369329207802 + UVCustomName: UVMap + +Node Name: TangentSet_MikkT_0 +Node Path: RootNode.Cube_optimized.TangentSet_MikkT_0 +Node Type: MeshVertexTangentData + Tangents: Count 24576. Hash: 13321090379606717973 + TangentSpace: 1 + SetIndex: 0 + +Node Name: BitangentSet_MikkT_0 +Node Path: RootNode.Cube_optimized.BitangentSet_MikkT_0 +Node Type: MeshVertexBitangentData + Bitangents: Count 24576. Hash: 17217515414004886507 + TangentSpace: 1 + +Node Name: Col0 +Node Path: RootNode.Cube_optimized.Col0 +Node Type: MeshVertexColorData + Colors: Count 24576. Hash: 17169952715183318502 + ColorsCustomName: + +Node Name: transform +Node Path: RootNode.Cube_optimized.transform +Node Type: TransformData + Matrix: + BasisX: < 100.000000, 0.000000, 0.000000> + BasisY: < 0.000000, -0.000016, 100.000000> + BasisZ: < 0.000000, -100.000000, -0.000016> + Transl: < 0.000000, 0.000000, 0.000000> + +Node Name: Material +Node Path: RootNode.Cube_optimized.Material +Node Type: MaterialData + MaterialName: Material + UniqueId: 11127505492038345244 + IsNoDraw: false + DiffuseColor: < 0.800000, 0.800000, 0.800000> + SpecularColor: < 0.800000, 0.800000, 0.800000> + EmissiveColor: < 0.000000, 0.000000, 0.000000> + Opacity: 1.000000 + Shininess: 36.000000 + UseColorMap: Not set + BaseColor: Not set + UseMetallicMap: Not set + MetallicFactor: Not set + UseRoughnessMap: Not set + RoughnessFactor: Not set + UseEmissiveMap: Not set + EmissiveIntensity: Not set + UseAOMap: Not set + DiffuseTexture: + SpecularTexture: + BumpTexture: + NormalTexture: + MetallicTexture: + RoughnessTexture: + AmbientOcclusionTexture: + EmissiveTexture: + BaseColorTexture: + diff --git a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/VertexColor/vertexcolor.fbx b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/VertexColor/vertexcolor.fbx index a8d51bdb48..3bbbc29a33 100644 --- a/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/VertexColor/vertexcolor.fbx +++ b/AutomatedTesting/Gem/PythonTests/assetpipeline/fbx_tests/assets/VertexColor/vertexcolor.fbx @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d032e52065468197a83056aabe8565b4add43e046c3bcd0d838c2f41cb96607 -size 33420 +oid sha256:2cf646a0a977c2edc5ee2ab6351ef633f194ce60c59ea3cb8359f71648db668e +size 374492 From 432b330d2293a30ef64a4929f132378226219581 Mon Sep 17 00:00:00 2001 From: Doug McDiarmid Date: Tue, 8 Jun 2021 21:24:01 -0700 Subject: [PATCH 033/205] Skipped empty unbounded arrays when updating the Vulkan DescriptorSet --- .../Code/Source/RHI/ShaderResourceGroupPool.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/ShaderResourceGroupPool.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/ShaderResourceGroupPool.cpp index 8771301bb1..289975dc56 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/ShaderResourceGroupPool.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/ShaderResourceGroupPool.cpp @@ -135,6 +135,12 @@ namespace AZ { const RHI::ShaderInputBufferUnboundedArrayIndex index(groupIndex); auto bufViews = groupData.GetBufferViewUnboundedArray(index); + if (bufViews.empty()) + { + // skip empty unbounded arrays + continue; + } + uint32_t layoutIndex = m_descriptorSetLayout->GetLayoutIndexFromGroupIndex(groupIndex, DescriptorSetLayout::ResourceType::BufferViewUnboundedArray); descriptorSet.UpdateBufferViews(layoutIndex, bufViews); } @@ -144,6 +150,12 @@ namespace AZ { const RHI::ShaderInputImageUnboundedArrayIndex index(groupIndex); auto imgViews = groupData.GetImageViewUnboundedArray(index); + if (imgViews.empty()) + { + // skip empty unbounded arrays + continue; + } + uint32_t layoutIndex = m_descriptorSetLayout->GetLayoutIndexFromGroupIndex(groupIndex, DescriptorSetLayout::ResourceType::ImageViewUnboundedArray); descriptorSet.UpdateImageViews(layoutIndex, imgViews, shaderImageUnboundeArrayList[groupIndex].m_type); } From e85b5a8c48c1e47ad00eab7c13f4be2bffef84e6 Mon Sep 17 00:00:00 2001 From: guthadam Date: Wed, 9 Jun 2021 00:35:31 -0500 Subject: [PATCH 034/205] Fixing material editor startup and critical asset issues Added builder and tool aliases Added dependency to Atom Bridge --- Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt | 5 +++++ Gems/Atom/Tools/MaterialEditor/gem.json | 10 ++++++++++ Gems/AtomLyIntegration/AtomBridge/Code/CMakeLists.txt | 1 + 3 files changed, 16 insertions(+) create mode 100644 Gems/Atom/Tools/MaterialEditor/gem.json diff --git a/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt b/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt index 134f605200..dddb339cfb 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt +++ b/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt @@ -113,6 +113,11 @@ ly_add_target( Gem::MaterialEditor.Document ) +# Add a 'builders' alias to allow the MaterialEditor root gem path to be added to the generated +# cmake_dependencies..assetprocessor.setreg to allow the asset scan folder for it to be added +ly_create_alias(NAME MaterialEditor.Builders NAMESPACE Gem) +ly_create_alias(NAME MaterialEditor.Tools NAMESPACE Gem) + # Add build dependency to Editor for the MaterialEditor application since # Editor opens up the MaterialEditor ly_add_dependencies(Editor Gem::MaterialEditor) diff --git a/Gems/Atom/Tools/MaterialEditor/gem.json b/Gems/Atom/Tools/MaterialEditor/gem.json new file mode 100644 index 0000000000..5113effc0a --- /dev/null +++ b/Gems/Atom/Tools/MaterialEditor/gem.json @@ -0,0 +1,10 @@ +{ + "gem_name": "MaterialEditor", + "display_name": "Atom Material Editor", + "summary": "Editor for creating, modifying, and previewing materials", + "canonical_tags": [ + "Gem" + ], + "user_tags": [ + ] +} diff --git a/Gems/AtomLyIntegration/AtomBridge/Code/CMakeLists.txt b/Gems/AtomLyIntegration/AtomBridge/Code/CMakeLists.txt index 4df40e3d13..abc4dfb2c6 100644 --- a/Gems/AtomLyIntegration/AtomBridge/Code/CMakeLists.txt +++ b/Gems/AtomLyIntegration/AtomBridge/Code/CMakeLists.txt @@ -111,6 +111,7 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) Gem::AtomToolsFramework.Editor Gem::AtomViewportDisplayInfo Gem::AtomViewportDisplayIcons.Editor + Gem::MaterialEditor.Builders ) From e795dd5210b1da9d689b4ce34c9eb155be868d5b Mon Sep 17 00:00:00 2001 From: moudgils Date: Tue, 8 Jun 2021 22:35:48 -0700 Subject: [PATCH 035/205] - Added enums for write mask and adding suppooort for that across all backends. - Batch calls to bind argument buffers - Fix swapchain creation for Editor --- .../Include/Atom/RHI.Reflect/RenderStates.h | 18 +++ .../RHI/DX12/Code/Source/RHI/Conversions.cpp | 25 ++- .../RHI/DX12/Code/Source/RHI/Conversions.h | 2 + .../RHI/Metal/Code/Source/RHI/CommandList.cpp | 143 +++++++++++++++--- .../RHI/Metal/Code/Source/RHI/CommandList.h | 4 + .../RHI/Metal/Code/Source/RHI/Conversions.cpp | 22 ++- .../Metal/Code/Source/RHI/PipelineLayout.cpp | 4 +- .../RHI/Metal/Code/Source/RHI/SwapChain.cpp | 29 ++-- .../RHI/Metal/Code/Source/RHI/SwapChain.h | 2 + .../RHI/Vulkan/Code/Source/RHI/Conversion.cpp | 8 +- 10 files changed, 213 insertions(+), 44 deletions(-) diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/RenderStates.h b/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/RenderStates.h index 51b15c4bcf..d5c55e2c7f 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/RenderStates.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/RenderStates.h @@ -160,6 +160,24 @@ namespace AZ StencilState m_stencil; }; + enum class WriteChannel : uint32_t + { + ColorWriteMaskRed = 0, + ColorWriteMaskGreen, + ColorWriteMaskBlue, + ColorWriteMaskAlpha, + }; + + enum class WriteChannelMask : uint32_t + { + ColorWriteMaskNone = 0, + ColorWriteMaskRed = AZ_BIT(static_cast(WriteChannel::ColorWriteMaskRed)), + ColorWriteMaskGreen = AZ_BIT(static_cast(WriteChannel::ColorWriteMaskGreen)), + ColorWriteMaskBlue = AZ_BIT(static_cast(WriteChannel::ColorWriteMaskBlue)), + ColorWriteMaskAlpha = AZ_BIT(static_cast(WriteChannel::ColorWriteMaskAlpha)), + ColorWriteMaskAll = ColorWriteMaskRed | ColorWriteMaskGreen | ColorWriteMaskBlue | ColorWriteMaskAlpha + }; + struct TargetBlendState { AZ_TYPE_INFO(TargetBlendState, "{2CDF00FE-614D-44FC-929F-E6B50C348578}"); diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp index a3d14e3803..73d80ed78c 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp @@ -10,6 +10,7 @@ * */ #include "RHI/Atom_RHI_DX12_precompiled.h" +#include #include #include #include @@ -1268,7 +1269,7 @@ namespace AZ dst.BlendOpAlpha = ConvertBlendOp(src.m_blendAlphaOp); dst.DestBlend = ConvertBlendFactor(src.m_blendDest); dst.DestBlendAlpha = ConvertBlendFactor(src.m_blendAlphaDest); - dst.RenderTargetWriteMask = src.m_writeMask; + dst.RenderTargetWriteMask = ConvertColorWriteMask(src.m_writeMask); dst.SrcBlend = ConvertBlendFactor(src.m_blendSource); dst.SrcBlendAlpha = ConvertBlendFactor(src.m_blendAlphaSource); dst.LogicOp = D3D12_LOGIC_OP_CLEAR; @@ -1355,6 +1356,28 @@ namespace AZ }; return table[(uint32_t)mask]; } + + uint32_t ConvertColorWriteMask(uint8_t writeMask) + { + uint32_t dflags = 0; + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) + { + dflags |= D3D12_COLOR_WRITE_ENABLE_RED; + } + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) + { + dflags |= D3D12_COLOR_WRITE_ENABLE_GREEN; + } + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) + { + dflags |= D3D12_COLOR_WRITE_ENABLE_BLUE; + } + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) + { + dflags |= D3D12_COLOR_WRITE_ENABLE_ALPHA; + } + return dflags; + } D3D12_DEPTH_STENCIL_DESC ConvertDepthStencilState(const RHI::DepthStencilState& depthStencil) { diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h index d8385203f8..887598de79 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h @@ -164,5 +164,7 @@ namespace AZ uint32_t shaderRegisterSpace, D3D12_SHADER_VISIBILITY shaderVisibility, D3D12_STATIC_SAMPLER_DESC& staticSamplerDesc); + + uint32_t ConvertColorWriteMask(uint8_t writeMask); } } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp index 10fbe372b1..7df8f1e547 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -249,68 +250,88 @@ namespace AZ ShaderResourceBindings& bindings = GetShaderResourceBindingsByPipelineType(stateType); const PipelineLayout& pipelineLayout = pipelineState->GetPipelineLayout(); - for (uint32_t srgIndex = 0; srgIndex < RHI::Limits::Pipeline::ShaderResourceGroupCountMax; ++srgIndex) + uint32_t bufferVertexRegisterIdMin = RHI::Limits::Pipeline::ShaderResourceGroupCountMax; + uint32_t bufferFragmentOrComputeRegisterIdMin = RHI::Limits::Pipeline::ShaderResourceGroupCountMax; + uint32_t bufferVertexRegisterIdMax = 0; + uint32_t bufferFragmentOrComputeRegisterIdMax = 0; + + MetalArgumentBufferArray mtlVertexArgBuffers; + MetalArgumentBufferArrayOffsets mtlVertexArgBufferOffsets; + MetalArgumentBufferArray mtlFragmentOrComputeArgBuffers; + MetalArgumentBufferArrayOffsets mtlFragmentOrComputeArgBufferOffsets; + + mtlVertexArgBuffers.fill(nil); + mtlFragmentOrComputeArgBuffers.fill(nil); + mtlVertexArgBufferOffsets.fill(0); + mtlFragmentOrComputeArgBufferOffsets.fill(0); + + for (uint32_t slot = 0; slot < RHI::Limits::Pipeline::ShaderResourceGroupCountMax; ++slot) { - const ShaderResourceGroup* shaderResourceGroup = bindings.m_srgsBySlot[srgIndex]; - uint32_t slotIndex = pipelineLayout.GetSlotByIndex(srgIndex); + const ShaderResourceGroup* shaderResourceGroup = bindings.m_srgsBySlot[slot]; + uint32_t slotIndex = pipelineLayout.GetIndexBySlot(slot); if(!shaderResourceGroup || slotIndex == RHI::Limits::Pipeline::ShaderResourceGroupCountMax) { continue; } - uint32_t srgVisIndex = pipelineLayout.GetSlotByIndex(shaderResourceGroup->GetBindingSlot()); + uint32_t srgVisIndex = pipelineLayout.GetIndexBySlot(shaderResourceGroup->GetBindingSlot()); const RHI::ShaderStageMask& srgVisInfo = pipelineLayout.GetSrgVisibility(srgVisIndex); - if (bindings.m_srgsByIndex[srgIndex] != shaderResourceGroup) + bool isSrgUpdatd = bindings.m_srgsByIndex[slot] != shaderResourceGroup; + if(isSrgUpdatd) { - bindings.m_srgsByIndex[srgIndex] = shaderResourceGroup; + bindings.m_srgsByIndex[slot] = shaderResourceGroup; auto& compiledArgBuffer = shaderResourceGroup->GetCompiledArgumentBuffer(); id argBuffer = compiledArgBuffer.GetArgEncoderBuffer(); size_t argBufferOffset = compiledArgBuffer.GetOffset(); if(srgVisInfo != RHI::ShaderStageMask::None) { - //For graphics and compute encoder bind the argument buffer + //For graphics and compute shader stages, cache all the argument buffers, offsets and track the min/max indices if(m_commandEncoderType == CommandEncoderType::Render) { id renderEncoder = GetEncoder>(); uint8_t numBitsSet = RHI::CountBitsSet(static_cast(srgVisInfo)); if( numBitsSet > 1 || srgVisInfo == RHI::ShaderStageMask::Vertex) { - [renderEncoder setVertexBuffer:argBuffer - offset:argBufferOffset - atIndex:slotIndex]; + mtlVertexArgBuffers[slotIndex] = argBuffer; + mtlVertexArgBufferOffsets[slotIndex] = argBufferOffset; + bufferVertexRegisterIdMin = AZStd::min(slotIndex, bufferVertexRegisterIdMin); + bufferVertexRegisterIdMax = AZStd::max(slotIndex, bufferVertexRegisterIdMax); + } if( numBitsSet > 1 || srgVisInfo == RHI::ShaderStageMask::Fragment) { - [renderEncoder setFragmentBuffer:argBuffer - offset:argBufferOffset - atIndex:slotIndex]; + mtlFragmentOrComputeArgBuffers[slotIndex] = argBuffer; + mtlFragmentOrComputeArgBufferOffsets[slotIndex] = argBufferOffset; + bufferFragmentOrComputeRegisterIdMin = AZStd::min(slotIndex, bufferFragmentOrComputeRegisterIdMin); + bufferFragmentOrComputeRegisterIdMax = AZStd::max(slotIndex, bufferFragmentOrComputeRegisterIdMax); } } else if(m_commandEncoderType == CommandEncoderType::Compute) { - id computeEncoder = GetEncoder>(); - [computeEncoder setBuffer:argBuffer - offset:argBufferOffset - atIndex:pipelineLayout.GetSlotByIndex(srgIndex)]; + mtlFragmentOrComputeArgBuffers[slotIndex] = argBuffer; + mtlFragmentOrComputeArgBufferOffsets[slotIndex] = argBufferOffset; + bufferFragmentOrComputeRegisterIdMin = AZStd::min(slotIndex, bufferFragmentOrComputeRegisterIdMin); + bufferFragmentOrComputeRegisterIdMax = AZStd::max(slotIndex, bufferFragmentOrComputeRegisterIdMax); } } } - //Check againgst the srg resources visibility hash as it is possible for draw items to have different PSO in the same pass. + //Check if the srg has been updated or if the srg resources visibility hash has been updated + //as it is possible for draw items to have different PSOs in the same pass. const AZ::HashValue64 srgResourcesVisHash = pipelineLayout.GetSrgResourcesVisibilityHash(srgVisIndex); - if(bindings.m_srgVisHashByIndex[srgIndex] != srgResourcesVisHash) + if(bindings.m_srgVisHashByIndex[slot] != srgResourcesVisHash || isSrgUpdatd) { - bindings.m_srgVisHashByIndex[srgIndex] = srgResourcesVisHash; + bindings.m_srgVisHashByIndex[slot] = srgResourcesVisHash; if(srgVisInfo != RHI::ShaderStageMask::None) { const ShaderResourceGroupVisibility& srgResourcesVisInfo = pipelineLayout.GetSrgResourcesVisibility(srgVisIndex); - //For graphics and compute encoder bind the argument buffer and - //make the resource resident for the duration of the work associated with the current scope - //and ensure that it's in a format compatible with the appropriate metal function. + //For graphics and compute encoder make the resource resident (call UseResource) for the duration + //of the work associated with the current scope and ensure that it's in a + //format compatible with the appropriate metal function. if(m_commandEncoderType == CommandEncoderType::Render) { shaderResourceGroup->AddUntrackedResourcesToEncoder(m_encoder, srgResourcesVisInfo); @@ -322,9 +343,81 @@ namespace AZ } } } - + + //For graphics and compute encoder bind all the argument buffers + if(m_commandEncoderType == CommandEncoderType::Render) + { + BindArgumentBuffers(RHI::ShaderStage::Vertex, bufferVertexRegisterIdMin, bufferVertexRegisterIdMax, mtlVertexArgBuffers, mtlVertexArgBufferOffsets); + BindArgumentBuffers(RHI::ShaderStage::Fragment, bufferFragmentOrComputeRegisterIdMin, bufferFragmentOrComputeRegisterIdMax, mtlFragmentOrComputeArgBuffers, mtlFragmentOrComputeArgBufferOffsets); + } + else if(m_commandEncoderType == CommandEncoderType::Compute) + { + BindArgumentBuffers(RHI::ShaderStage::Compute, bufferFragmentOrComputeRegisterIdMin, bufferFragmentOrComputeRegisterIdMax, mtlFragmentOrComputeArgBuffers, mtlFragmentOrComputeArgBufferOffsets); + } + return true; } + + void CommandList::BindArgumentBuffers(RHI::ShaderStage shaderStage, uint16_t registerIdMin, uint16_t registerIdMax, MetalArgumentBufferArray& mtlArgBuffers, MetalArgumentBufferArrayOffsets mtlArgBufferOffsets) + { + //Metal Api only lets you bind multiple argument buffers in an array as long as there are no gaps in the array + //In order to accomodate that we break up the calls when a gap is noticed in the array and reconfigure the NSRange. + uint16_t startingIndex = registerIdMin; + bool trackingRange = true; + for(int i = registerIdMin; i <= registerIdMax+1; i++) + { + if(trackingRange) + { + if(mtlArgBuffers[i] == nil) + { + NSRange range = { startingIndex, i-startingIndex }; + + switch(shaderStage) + { + case RHI::ShaderStage::Vertex: + { + id renderEncoder = GetEncoder>(); + [renderEncoder setVertexBuffers:&mtlArgBuffers[startingIndex] + offsets:&mtlArgBufferOffsets[startingIndex] + withRange:range]; + break; + } + case RHI::ShaderStage::Fragment: + { + id renderEncoder = GetEncoder>(); + [renderEncoder setFragmentBuffers:&mtlArgBuffers[startingIndex] + offsets:&mtlArgBufferOffsets[startingIndex] + withRange:range]; + break; + } + case RHI::ShaderStage::Compute: + { + id computeEncoder = GetEncoder>(); + [computeEncoder setBuffers:&mtlArgBuffers[startingIndex] + offsets:&mtlArgBufferOffsets[startingIndex] + withRange:range]; + break; + } + default: + { + AZ_Assert(false, "Not supported"); + } + } + + trackingRange = false; + + } + } + else + { + if(mtlArgBuffers[i] != nil) + { + startingIndex = i; + trackingRange = true; + } + } + } + } void CommandList::Submit(const RHI::DrawItem& drawItem) { @@ -486,7 +579,7 @@ namespace AZ void CommandList::SetStreamBuffers(const RHI::StreamBufferView* streams, uint32_t count) { - int bufferArrayLen = 0; + uint16_t bufferArrayLen = 0; AZStd::array, METAL_MAX_ENTRIES_BUFFER_ARG_TABLE> mtlStreamBuffers; AZStd::array mtlStreamBufferOffsets; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h index dd4e382471..9dd14cd175 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h @@ -102,6 +102,10 @@ namespace AZ AZStd::array m_srgVisHashByIndex; }; + using MetalArgumentBufferArray = AZStd::array, RHI::Limits::Pipeline::ShaderResourceGroupCountMax>; + using MetalArgumentBufferArrayOffsets = AZStd::array; + void BindArgumentBuffers(RHI::ShaderStage shaderStage, uint16_t registerIdMin, uint16_t registerIdMax, MetalArgumentBufferArray& mtlArgBuffers, MetalArgumentBufferArrayOffsets mtlArgBufferOffsets); + ShaderResourceBindings& GetShaderResourceBindingsByPipelineType(RHI::PipelineStateType pipelineType); //! This is kept as a separate struct so that we can robustly reset it. Every property diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp index f95e871d33..e41ba9bf2a 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp @@ -12,6 +12,7 @@ #include "Atom_RHI_Metal_precompiled.h" #include +#include #include #include #include @@ -456,8 +457,25 @@ namespace AZ MTLColorWriteMask ConvertColorWriteMask(AZ::u8 writeMask) { - //todo::Based on the mask set the correct writemask - return MTLColorWriteMaskAll; + MTLColorWriteMask colorMask = MTLColorWriteMaskNone; + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) + { + colorMask |= MTLColorWriteMaskRed; + } + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) + { + colorMask |= MTLColorWriteMaskGreen; + } + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) + { + colorMask |= MTLColorWriteMaskBlue; + } + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) + { + colorMask |= MTLColorWriteMaskAlpha; + } + + return colorMask; } MTLVertexFormat ConvertVertexFormat(RHI::Format format) diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.cpp index 70d36f8d6d..9a30a04deb 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/PipelineLayout.cpp @@ -125,12 +125,12 @@ namespace AZ size_t PipelineLayout::GetSlotByIndex(size_t index) const { - return m_slotToIndexTable[index]; + return m_indexToSlotTable[index]; } size_t PipelineLayout::GetIndexBySlot(size_t slot) const { - return m_indexToSlotTable[slot]; + return m_slotToIndexTable[slot]; } const RHI::ShaderStageMask& PipelineLayout::GetSrgVisibility(uint32_t index) const diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/SwapChain.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/SwapChain.cpp index 1f870548cc..94599bc390 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/SwapChain.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/SwapChain.cpp @@ -73,6 +73,10 @@ namespace AZ m_metalView.metalLayer.drawableSize = CGSizeMake(descriptor.m_dimensions.m_imageWidth, descriptor.m_dimensions.m_imageHeight); } + else + { + AddSubView(); + } m_drawables.resize(descriptor.m_dimensions.m_imageCount); @@ -83,6 +87,20 @@ namespace AZ return RHI::ResultCode::Success; } + void SwapChain::AddSubView() + { + NativeViewType* superView = reinterpret_cast(m_nativeWindow); + + CGFloat screenScale = Platform::GetScreenScale(); + CGRect screenBounds = [superView bounds]; + m_metalView = [[RHIMetalView alloc] initWithFrame: screenBounds + scale: screenScale + device: m_mtlDevice]; + + [m_metalView retain]; + [superView addSubview: m_metalView]; + } + void SwapChain::ShutdownInternal() { if (m_viewController) @@ -161,16 +179,7 @@ namespace AZ } else { - NativeViewType* superView = reinterpret_cast(m_nativeWindow); - - CGFloat screenScale = Platform::GetScreenScale(); - CGRect screenBounds = [superView bounds]; - m_metalView = [[RHIMetalView alloc] initWithFrame: screenBounds - scale: screenScale - device: m_mtlDevice]; - - [m_metalView retain]; - [superView addSubview: m_metalView]; + AddSubView(); } } return RHI::ResultCode::Success; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/SwapChain.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/SwapChain.h index d455f3dd0c..dfe8b3365d 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/SwapChain.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/SwapChain.h @@ -49,6 +49,8 @@ namespace AZ RHI::ResultCode ResizeInternal(const RHI::SwapChainDimensions& dimensions, RHI::SwapChainDimensions* nativeDimensions) override; ////////////////////////////////////////////////////////////////////////// + void AddSubView(); + id m_mtlCommandBuffer; RHIMetalView* m_metalView = nullptr; NativeViewControllerType* m_viewController = nullptr; diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp index accc18b5ec..7945dd2894 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp @@ -334,19 +334,19 @@ namespace AZ VkColorComponentFlags ConvertComponentFlags(uint8_t sflags) { VkColorComponentFlags dflags = 0; - if (RHI::CheckBitsAny(sflags, static_cast(1))) + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) { dflags |= VK_COLOR_COMPONENT_R_BIT; } - if (RHI::CheckBitsAny(sflags, static_cast(2))) + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) { dflags |= VK_COLOR_COMPONENT_G_BIT; } - if (RHI::CheckBitsAny(sflags, static_cast(4))) + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) { dflags |= VK_COLOR_COMPONENT_B_BIT; } - if (RHI::CheckBitsAny(sflags, static_cast(8))) + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) { dflags |= VK_COLOR_COMPONENT_A_BIT; } From 702356007ca716330a541ef0ce36e65c3fee6b0b Mon Sep 17 00:00:00 2001 From: antonmic Date: Tue, 8 Jun 2021 22:36:54 -0700 Subject: [PATCH 036/205] Pass changes WIP: standardized usage of new pass initialization functions --- .../AcesOutputTransformLutPass.h | 4 +++- .../DisplayMapper/AcesOutputTransformPass.h | 4 +++- .../ApplyShaperLookupTablePass.h | 4 +++- .../BakeAcesOutputTransformLutPass.h | 4 +--- .../DisplayMapperFullScreenPass.h | 7 ++----- .../Feature/DisplayMapper/DisplayMapperPass.h | 1 + .../DisplayMapper/OutputTransformPass.h | 4 +++- .../AcesOutputTransformLutPass.cpp | 4 ++-- .../DisplayMapper/AcesOutputTransformPass.cpp | 4 ++-- .../ApplyShaperLookupTablePass.cpp | 4 ++-- .../BakeAcesOutputTransformLutPass.cpp | 13 +----------- .../DisplayMapperFullScreenPass.cpp | 4 ---- .../DisplayMapper/DisplayMapperPass.cpp | 14 ++++++++++++- .../DisplayMapper/OutputTransformPass.cpp | 4 ++-- .../BlendColorGradingLutsPass.cpp | 15 ++------------ .../BlendColorGradingLutsPass.h | 4 +--- .../DepthOfFieldBokehBlurPass.cpp | 4 ++-- .../DepthOfFieldBokehBlurPass.h | 2 +- .../DepthOfFieldCompositePass.cpp | 4 ++-- .../DepthOfFieldCompositePass.h | 2 +- .../PostProcessing/DepthOfFieldMaskPass.cpp | 4 ++-- .../PostProcessing/DepthOfFieldMaskPass.h | 2 +- .../LookModificationCompositePass.cpp | 4 ++-- .../LookModificationCompositePass.h | 2 +- .../Source/PostProcessing/SMAABasePass.cpp | 4 ++-- .../Code/Source/PostProcessing/SMAABasePass.h | 5 ++++- .../SMAABlendingWeightCalculationPass.cpp | 4 ++-- .../SMAABlendingWeightCalculationPass.h | 4 +++- .../PostProcessing/SMAAEdgeDetectionPass.cpp | 4 ++-- .../PostProcessing/SMAAEdgeDetectionPass.h | 4 +++- .../SMAANeighborhoodBlendingPass.cpp | 4 ++-- .../SMAANeighborhoodBlendingPass.h | 4 +++- .../Source/ScreenSpace/DeferredFogPass.cpp | 4 ++-- .../Code/Source/ScreenSpace/DeferredFogPass.h | 12 ++++++----- .../RPI.Public/Pass/FullscreenTrianglePass.h | 5 +---- .../Code/Include/Atom/RPI.Public/Pass/Pass.h | 19 ++++++++++++++---- .../Pass/FullscreenTrianglePass.cpp | 20 ++++++------------- .../RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 16 +++++++++++++++ .../Source/RPI.Public/Pass/PassSystem.cpp | 2 +- .../Code/Source/RPI.Public/RenderPipeline.cpp | 5 +++++ 40 files changed, 127 insertions(+), 107 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformLutPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformLutPass.h index bc8673a64b..a6c7615574 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformLutPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformLutPass.h @@ -48,7 +48,9 @@ namespace AZ void SetShaperParams(const ShaperParams& shaperParams); private: explicit AcesOutputTransformLutPass(const RPI::PassDescriptor& descriptor); - void Init() override; + + // Pass behavior overrides... + void InitializeInternal() override; // Scope producer functions... void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override; diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformPass.h index 5a0ccdb32a..350b178cfa 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/AcesOutputTransformPass.h @@ -50,7 +50,9 @@ namespace AZ private: explicit AcesOutputTransformPass(const RPI::PassDescriptor& descriptor); - void Init() override; + + // Pass behavior overrides + void InitializeInternal() override; // Scope producer functions... void CompileResources(const RHI::FrameGraphCompileContext& context) override; diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/ApplyShaperLookupTablePass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/ApplyShaperLookupTablePass.h index 35d2fcf603..3b6d7f7c27 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/ApplyShaperLookupTablePass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/ApplyShaperLookupTablePass.h @@ -45,7 +45,9 @@ namespace AZ protected: explicit ApplyShaperLookupTablePass(const RPI::PassDescriptor& descriptor); - void Init() override; + + // Pass behavior overrides... + void InitializeInternal() override; RHI::ShaderInputImageIndex m_shaderInputLutImageIndex; diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/BakeAcesOutputTransformLutPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/BakeAcesOutputTransformLutPass.h index 60505653b7..0f6f1aa954 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/BakeAcesOutputTransformLutPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/BakeAcesOutputTransformLutPass.h @@ -57,15 +57,13 @@ namespace AZ explicit BakeAcesOutputTransformLutPass(const RPI::PassDescriptor& descriptor); // Pass behavior overrides... - void FrameBeginInternal(FramePrepareParams params) override; + void InitializeInternal() override; // RHI::ScopeProducer overrides... void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override; void CompileResources(const RHI::FrameGraphCompileContext& context) override; void BuildCommandListInternal(const RHI::FrameGraphExecuteContext& context) override; - void Init(); - void AcquireLutImage(); void ReleaseLutImage(); diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperFullScreenPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperFullScreenPass.h index 23c4cd1a0a..59c02accdd 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperFullScreenPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperFullScreenPass.h @@ -41,14 +41,11 @@ namespace AZ void SetInputReferencePassName(const Name& passName); void SetInputReferenceAttachmentName(const Name& attachmentName); - // Pass behavior overrides - virtual void BuildInternal() override; - protected: explicit DisplayMapperFullScreenPass(const RPI::PassDescriptor& descriptor); - // FullscreenTrianglePass behavior overrides - virtual void Init(); + // Pass behavior overrides... + virtual void BuildInternal() override; private: Name m_inputReferencePassName = Name{ "Parent" }; diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperPass.h index 15ada4dd94..b741a10953 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/DisplayMapperPass.h @@ -77,6 +77,7 @@ namespace AZ // Pass behavior overrides void BuildInternal() final; + void InitializeInternal() final; void FrameBeginInternal(FramePrepareParams params) final; void FrameEndInternal() final; void CreateChildPassesInternal() final; diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/OutputTransformPass.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/OutputTransformPass.h index b266eab14b..caee7ae3dd 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/OutputTransformPass.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DisplayMapper/OutputTransformPass.h @@ -49,7 +49,9 @@ namespace AZ protected: explicit OutputTransformPass(const RPI::PassDescriptor& descriptor); - void Init() override; + + // Pass behavior overrides + void InitializeInternal() override; private: // Scope producer functions... diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformLutPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformLutPass.cpp index 104a91174d..5e3bde94e9 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformLutPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformLutPass.cpp @@ -42,9 +42,9 @@ namespace AZ ReleaseLutImage(); } - void AcesOutputTransformLutPass::Init() + void AcesOutputTransformLutPass::InitializeInternal() { - DisplayMapperFullScreenPass::Init(); + DisplayMapperFullScreenPass::InitializeInternal(); AZ_Assert(m_shaderResourceGroup != nullptr, "AcesOutputTransformLutPass %s has a null shader resource group when calling Init.", GetPathName().GetCStr()); diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformPass.cpp index 6fe38ff032..ec34d40ea6 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/AcesOutputTransformPass.cpp @@ -44,9 +44,9 @@ namespace AZ { } - void AcesOutputTransformPass::Init() + void AcesOutputTransformPass::InitializeInternal() { - DisplayMapperFullScreenPass::Init(); + DisplayMapperFullScreenPass::InitializeInternal(); AZ_Assert(m_shaderResourceGroup != nullptr, "AcesOutputTransformPass %s has a null shader resource group when calling Init.", GetPathName().GetCStr()); diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/ApplyShaperLookupTablePass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/ApplyShaperLookupTablePass.cpp index 496b4dcc8f..ff910a4b81 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/ApplyShaperLookupTablePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/ApplyShaperLookupTablePass.cpp @@ -38,9 +38,9 @@ namespace AZ ReleaseLutImage(); } - void ApplyShaperLookupTablePass::Init() + void ApplyShaperLookupTablePass::InitializeInternal() { - DisplayMapperFullScreenPass::Init(); + DisplayMapperFullScreenPass::InitializeInternal(); AZ_Assert(m_shaderResourceGroup != nullptr, "ApplyShaperLookupTablePass %s has a null shader resource group when calling Init.", GetPathName().GetCStr()); diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/BakeAcesOutputTransformLutPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/BakeAcesOutputTransformLutPass.cpp index 3322b82ff7..7a32925e93 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/BakeAcesOutputTransformLutPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/BakeAcesOutputTransformLutPass.cpp @@ -38,17 +38,7 @@ namespace AZ ReleaseLutImage(); } - void BakeAcesOutputTransformLutPass::FrameBeginInternal(FramePrepareParams params) - { - if (!m_flags.m_initialized) - { - Init(); - } - - ComputePass::FrameBeginInternal(params); - } - - void BakeAcesOutputTransformLutPass::Init() + void BakeAcesOutputTransformLutPass::InitializeInternal() { AZ_Assert(m_shaderResourceGroup != nullptr, "BakeAcesOutputTransformLutPass %s has a null shader resource group when calling Init.", GetPathName().GetCStr()); @@ -67,7 +57,6 @@ namespace AZ m_shaderInputShaperBiasIndex = m_shaderResourceGroup->FindShaderInputConstantIndex(Name{ "m_shaperBias" }); m_shaderInputShaperScaleIndex = m_shaderResourceGroup->FindShaderInputConstantIndex(Name{ "m_shaperScale" }); } - m_flags.m_initialized = true; } void BakeAcesOutputTransformLutPass::SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperFullScreenPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperFullScreenPass.cpp index 096179d5b6..03fcfbe71d 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperFullScreenPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperFullScreenPass.cpp @@ -53,9 +53,5 @@ namespace AZ m_inputReferenceAttachmentName = attachmentName; } - void DisplayMapperFullScreenPass::Init() - { - FullscreenTrianglePass::Init(); - } } // namespace Render } // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp index f5b301ca5c..0a6a2a59c7 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp @@ -82,7 +82,7 @@ namespace AZ const Name& passName = fullscreenTrianglePass->GetName(); if (passName.GetStringView() == "CopyToSwapChain") { - fullscreenTrianglePass->Invalidate(); + fullscreenTrianglePass->QueueForInitialization(); } } } @@ -186,6 +186,18 @@ namespace AZ ParentPass::BuildInternal(); } + void DisplayMapperPass::InitializeInternal() + { + // Force update on bindings because children of display mapper pass have their outputs connect + // to their parent's output, which is a non-conventional and non-standard workflow + for (const RPI::Ptr& child : m_children) + { + child->UpdateConnectedBindings(); + } + + RPI::ParentPass::InitializeInternal(); + } + void DisplayMapperPass::FrameBeginInternal(FramePrepareParams params) { ConfigureDisplayParameters(); diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/OutputTransformPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/OutputTransformPass.cpp index a6b23171a5..5937f9ee49 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/OutputTransformPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/OutputTransformPass.cpp @@ -39,9 +39,9 @@ namespace AZ { } - void OutputTransformPass::Init() + void OutputTransformPass::InitializeInternal() { - DisplayMapperFullScreenPass::Init(); + DisplayMapperFullScreenPass::InitializeInternal(); AZ_Assert(m_shaderResourceGroup != nullptr, "OutputTransformPass %s has a null shader resource group when calling Init.", GetPathName().GetCStr()); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.cpp index e0ff253301..433f9c0276 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.cpp @@ -43,14 +43,9 @@ namespace AZ ReleaseLutImage(); } - void BlendColorGradingLutsPass::FrameBeginInternal(FramePrepareParams params) + void BlendColorGradingLutsPass::InitializeInternal() { - if (!m_flags.m_initialized) - { - Init(); - } - - ComputePass::FrameBeginInternal(params); + InitializeShaderVariant(); } void BlendColorGradingLutsPass::InitializeShaderVariant() @@ -106,12 +101,6 @@ namespace AZ m_needToUpdateShaderVariant = false; } - void BlendColorGradingLutsPass::Init() - { - InitializeShaderVariant(); - m_flags.m_initialized = true; - } - void BlendColorGradingLutsPass::SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) { ComputePass::SetupFrameGraphDependencies(frameGraph); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.h index c131a3cb38..048d0069f4 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.h @@ -56,7 +56,7 @@ namespace AZ explicit BlendColorGradingLutsPass(const RPI::PassDescriptor& descriptor); // Pass behavior overrides... - void FrameBeginInternal(FramePrepareParams params) override; + void InitializeInternal() override; // Scope producer functions... void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override; @@ -66,8 +66,6 @@ namespace AZ void InitializeShaderVariant(); void UpdateCurrentShaderVariant(); - void Init(); - void AcquireLutImage(); void ReleaseLutImage(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldBokehBlurPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldBokehBlurPass.cpp index 4a4a8a8b76..090d87e048 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldBokehBlurPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldBokehBlurPass.cpp @@ -43,9 +43,9 @@ namespace AZ { } - void DepthOfFieldBokehBlurPass::Init() + void DepthOfFieldBokehBlurPass::InitializeInternal() { - FullscreenTrianglePass::Init(); + FullscreenTrianglePass::InitializeInternal(); m_sampleNumberIndex.Reset(); m_radiusMinIndex.Reset(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldBokehBlurPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldBokehBlurPass.h index 688138fff0..c9b2dc6be2 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldBokehBlurPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldBokehBlurPass.h @@ -39,11 +39,11 @@ namespace AZ protected: // Behaviour functions override... + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; private: DepthOfFieldBokehBlurPass(const RPI::PassDescriptor& descriptor); - void Init() override; void InitializeShaderVariant(); void UpdateCurrentShaderVariant(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCompositePass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCompositePass.cpp index 30c92963d0..bf88f8f8fb 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCompositePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCompositePass.cpp @@ -40,9 +40,9 @@ namespace AZ { } - void DepthOfFieldCompositePass::Init() + void DepthOfFieldCompositePass::InitializeInternal() { - FullscreenTrianglePass::Init(); + FullscreenTrianglePass::InitializeInternal(); m_backBlendFactorDivision2Index.Reset(); m_backBlendFactorDivision4Index.Reset(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCompositePass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCompositePass.h index fe4d60e679..00afdd0b0b 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCompositePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldCompositePass.h @@ -37,11 +37,11 @@ namespace AZ protected: // Pass behavior overrides... + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; private: DepthOfFieldCompositePass(const RPI::PassDescriptor& descriptor); - void Init() override; void InitializeShaderVariant(); void UpdateCurrentShaderVariant(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldMaskPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldMaskPass.cpp index 3f9c09c88c..93c19e5484 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldMaskPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldMaskPass.cpp @@ -33,9 +33,9 @@ namespace AZ { } - void DepthOfFieldMaskPass::Init() + void DepthOfFieldMaskPass::InitializeInternal() { - FullscreenTrianglePass::Init(); + FullscreenTrianglePass::InitializeInternal(); m_blendFactorIndex.Reset(); m_inputResolutionInverseIndex.Reset(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldMaskPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldMaskPass.h index 09bb08a22c..7e21f87af7 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldMaskPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/DepthOfFieldMaskPass.h @@ -37,11 +37,11 @@ namespace AZ protected: // Pass behavior overrides... + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; private: DepthOfFieldMaskPass(const RPI::PassDescriptor& descriptor); - virtual void Init() override; // SRG binding indices... RHI::ShaderInputNameIndex m_blendFactorIndex = "m_blendFactor"; diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationCompositePass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationCompositePass.cpp index aff01d5bf1..45d3e0c39a 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationCompositePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationCompositePass.cpp @@ -48,9 +48,9 @@ namespace AZ } } - void LookModificationCompositePass::Init() + void LookModificationCompositePass::InitializeInternal() { - FullscreenTrianglePass::Init(); + FullscreenTrianglePass::InitializeInternal(); m_shaderColorGradingLutImageIndex.Reset(); m_shaderColorGradingShaperTypeIndex.Reset(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationCompositePass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationCompositePass.h index fb6c968436..8292330a2d 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationCompositePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/LookModificationCompositePass.h @@ -60,9 +60,9 @@ namespace AZ protected: LookModificationCompositePass(const RPI::PassDescriptor& descriptor); - void Init() override; //! Pass behavior overrides + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) final; private: diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABasePass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABasePass.cpp index d2424e24fd..f95637e824 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABasePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABasePass.cpp @@ -43,9 +43,9 @@ namespace AZ { } - void SMAABasePass::Init() + void SMAABasePass::InitializeInternal() { - FullscreenTrianglePass::Init(); + FullscreenTrianglePass::InitializeInternal(); AZ_Assert(m_shaderResourceGroup != nullptr, "SMAABasePass %s has a null shader resource group when calling Init.", GetPathName().GetCStr()); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABasePass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABasePass.h index 0484b7d430..3a18d587b5 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABasePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABasePass.h @@ -41,9 +41,12 @@ namespace AZ protected: SMAABasePass(const RPI::PassDescriptor& descriptor); - void Init() override; + // Pass behavior overrides... + void InitializeInternal() override; + // An interface to update pass srg. virtual void UpdateSRG() = 0; + // An interface to get current shader variation option. virtual void GetCurrentShaderOption(AZ::RPI::ShaderOptionGroup& shaderOption) const = 0; diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABlendingWeightCalculationPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABlendingWeightCalculationPass.cpp index 39d9e51c86..7776bc3904 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABlendingWeightCalculationPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABlendingWeightCalculationPass.cpp @@ -94,9 +94,9 @@ namespace AZ } } - void SMAABlendingWeightCalculationPass::Init() + void SMAABlendingWeightCalculationPass::InitializeInternal() { - SMAABasePass::Init(); + SMAABasePass::InitializeInternal(); AZ_Assert(m_shaderResourceGroup != nullptr, "SMAABlendingWeightCalculationPass %s has a null shader resource group when calling Init.", GetPathName().GetCStr()); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABlendingWeightCalculationPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABlendingWeightCalculationPass.h index b968a9c2d9..2f589a7ae6 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABlendingWeightCalculationPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAABlendingWeightCalculationPass.h @@ -43,7 +43,9 @@ namespace AZ private: SMAABlendingWeightCalculationPass(const RPI::PassDescriptor& descriptor); - void Init() override; + + // Pass behavior overrides... + void InitializeInternal() override; // SMAABasePass functions... void UpdateSRG() override; diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAAEdgeDetectionPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAAEdgeDetectionPass.cpp index 68485f3280..bb8069d0de 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAAEdgeDetectionPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAAEdgeDetectionPass.cpp @@ -48,9 +48,9 @@ namespace AZ { } - void SMAAEdgeDetectionPass::Init() + void SMAAEdgeDetectionPass::InitializeInternal() { - SMAABasePass::Init(); + SMAABasePass::InitializeInternal(); m_renderTargetMetricsShaderInputIndex.Reset(); m_chromaThresholdShaderInputIndex.Reset(); diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAAEdgeDetectionPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAAEdgeDetectionPass.h index f8302c55ca..f2c85297b6 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAAEdgeDetectionPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAAEdgeDetectionPass.h @@ -45,7 +45,9 @@ namespace AZ private: SMAAEdgeDetectionPass(const RPI::PassDescriptor& descriptor); - void Init() override; + + // Pass behavior overrides + void InitializeInternal() override; // SMAABasePass functions... void UpdateSRG() override; diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAANeighborhoodBlendingPass.cpp b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAANeighborhoodBlendingPass.cpp index 777e4d7d95..b2307de714 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAANeighborhoodBlendingPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAANeighborhoodBlendingPass.cpp @@ -47,9 +47,9 @@ namespace AZ { } - void SMAANeighborhoodBlendingPass::Init() + void SMAANeighborhoodBlendingPass::InitializeInternal() { - SMAABasePass::Init(); + SMAABasePass::InitializeInternal(); m_renderTargetMetricsShaderInputIndex.Reset(); } diff --git a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAANeighborhoodBlendingPass.h b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAANeighborhoodBlendingPass.h index 86386a0545..f54ff30575 100644 --- a/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAANeighborhoodBlendingPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/PostProcessing/SMAANeighborhoodBlendingPass.h @@ -37,7 +37,9 @@ namespace AZ private: SMAANeighborhoodBlendingPass(const RPI::PassDescriptor& descriptor); - void Init() override; + + // Pass behavior overrides + void InitializeInternal() override; // SMAABasePass functions... void UpdateSRG() override; diff --git a/Gems/Atom/Feature/Common/Code/Source/ScreenSpace/DeferredFogPass.cpp b/Gems/Atom/Feature/Common/Code/Source/ScreenSpace/DeferredFogPass.cpp index 477040b74a..70e17a28d3 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ScreenSpace/DeferredFogPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ScreenSpace/DeferredFogPass.cpp @@ -46,9 +46,9 @@ namespace AZ } - void DeferredFogPass::Init() + void DeferredFogPass::InitializeInternal() { - FullscreenTrianglePass::Init(); + FullscreenTrianglePass::InitializeInternal(); // The following will ensure that in the case of data driven pass, the settings will get // updated by the pass enable state. diff --git a/Gems/Atom/Feature/Common/Code/Source/ScreenSpace/DeferredFogPass.h b/Gems/Atom/Feature/Common/Code/Source/ScreenSpace/DeferredFogPass.h index e2740850de..78b7d25bff 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ScreenSpace/DeferredFogPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/ScreenSpace/DeferredFogPass.h @@ -43,13 +43,11 @@ namespace AZ { AZ_RPI_PASS(DeferredFogPass); - public: AZ_RTTI(DeferredFogPass, "{0406C8AB-E95D-43A7-AF53-BDEE22D36746}", RPI::FullscreenTrianglePass); AZ_CLASS_ALLOCATOR(DeferredFogPass, SystemAllocator, 0); ~DeferredFogPass() = default; - void Init() override; static RPI::Ptr Create(const RPI::PassDescriptor& descriptor); @@ -57,12 +55,16 @@ namespace AZ virtual bool IsEnabled() const override; - void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override; - void CompileResources(const RHI::FrameGraphCompileContext& context) override; - protected: DeferredFogPass(const RPI::PassDescriptor& descriptor); + // Pass behavior overrides... + void InitializeInternal() override; + + // Scope producer functions... + void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override; + void CompileResources(const RHI::FrameGraphCompileContext& context) override; + //! Set the binding indices of all members of the SRG void SetSrgBindIndices(); diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/FullscreenTrianglePass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/FullscreenTrianglePass.h index fdb3241b44..616fc4639a 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/FullscreenTrianglePass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/FullscreenTrianglePass.h @@ -44,14 +44,11 @@ namespace AZ //! Creates a FullscreenTrianglePass static Ptr Create(const PassDescriptor& descriptor); - // Clears the initialized flag so that the next time PrepareFrameInternal is called, it will update the pipeline state - void Invalidate(); - protected: FullscreenTrianglePass(const PassDescriptor& descriptor); - virtual void Init(); // Pass behavior overrides... + void InitializeInternal() override; void FrameBeginInternal(FramePrepareParams params) override; RHI::Viewport m_viewportState; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index 1cfd2e759e..70af161e18 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -262,6 +262,15 @@ namespace AZ PassState GetPassState() const; + + + + // Update all bindings on this pass that are connected to bindings on other passes + void UpdateConnectedBindings(); + + + + protected: explicit Pass(const PassDescriptor& descriptor); @@ -393,7 +402,6 @@ namespace AZ uint64_t m_enabled : 1; uint64_t m_parentEnabled : 1; - uint64_t m_initialized : 1; uint64_t m_alreadyCreated : 1; uint64_t m_createChildren : 1; @@ -427,6 +435,12 @@ namespace AZ // fully custom sort implementations by overriding the SortDrawList() function. RHI::DrawListSortType m_drawListSortType = RHI::DrawListSortType::KeyThenDepth; + + + + + + private: // Return the Timestamp result of this pass virtual TimestampResult GetTimestampResultInternal() const; @@ -475,9 +489,6 @@ namespace AZ // This sets the binding's attachment pointer to the connected binding's attachment void UpdateConnectedBinding(PassAttachmentBinding& binding); - // Update all bindings on this pass that are connected to bindings on other passes - void UpdateConnectedBindings(); - // Process a PassFallbackConnection to connect an output to an input to act as a short-circuit for when Pass is disabled void ProcessFallbackConnection(const PassFallbackConnection& connection); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/FullscreenTrianglePass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/FullscreenTrianglePass.cpp index 1f8f361b8b..a854867998 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/FullscreenTrianglePass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/FullscreenTrianglePass.cpp @@ -64,6 +64,8 @@ namespace AZ void FullscreenTrianglePass::LoadShader() { + AZ_Assert(GetPassState() != PassState::Rendering, "FullscreenTrianglePass - Reloading shader during Rendering phase!"); + // Load FullscreenTrianglePassData const FullscreenTrianglePassData* passData = PassUtils::GetPassData(m_passDescriptor); if (passData == nullptr) @@ -121,14 +123,16 @@ namespace AZ // Store stencil reference value for the draw call m_stencilRef = passData->m_stencilRef; - m_flags.m_initialized = false; + QueueForInitialization(); ShaderReloadNotificationBus::Handler::BusDisconnect(); ShaderReloadNotificationBus::Handler::BusConnect(shaderAsset.GetId()); } - void FullscreenTrianglePass::Init() + void FullscreenTrianglePass::InitializeInternal() { + RenderPass::InitializeInternal(); + // This draw item purposefully does not reference any geometry buffers. // Instead it's expected that the extended class uses a vertex shader // that generates a full-screen triangle completely from vertex ids. @@ -155,17 +159,10 @@ namespace AZ m_item.m_arguments = RHI::DrawArguments(draw); m_item.m_pipelineState = m_shader->AcquirePipelineState(pipelineStateDescriptor); m_item.m_stencilRef = m_stencilRef; - - m_flags.m_initialized = true; } void FullscreenTrianglePass::FrameBeginInternal(FramePrepareParams params) { - if (!m_flags.m_initialized) - { - Init(); - } - const PassAttachment* outputAttachment = nullptr; if (GetOutputCount() > 0) @@ -225,11 +222,6 @@ namespace AZ commandList->Submit(m_item); } - - void FullscreenTrianglePass::Invalidate() - { - m_flags.m_initialized = false; - } } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index 78e30e7176..d03405dafd 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -1088,6 +1088,12 @@ namespace AZ void Pass::QueueForInitialization() { + // Pass::FrameBegin - Pass [Root.LowEndPipeline.LowEndPipelineTemplate.LightAdaptation.LookModificationTransformPass.LookModificationComposite] is attempting to render, but is not in the Idle state. + if (m_path == Name("Root.LowEndPipeline.LowEndPipelineTemplate.LightAdaptation.LookModificationTransformPass.LookModificationComposite")) + { + __nop(); + } + // Only queue if the pass is not in any other queue if (m_queueState == PassQueueState::NoQueue) { @@ -1119,6 +1125,11 @@ namespace AZ void Pass::Reset() { + if (m_path == Name("Root.LowEndPipeline.LowEndPipelineTemplate.LightAdaptation.LookModificationTransformPass.LookModificationComposite")) + { + __nop(); + } + bool execute = (m_state == PassState::Idle); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); @@ -1158,6 +1169,11 @@ namespace AZ void Pass::Build(bool calledFromPassSystem) { + if (m_path == Name("Root.LowEndPipeline.LowEndPipelineTemplate.LightAdaptation.LookModificationTransformPass.LookModificationComposite")) + { + __nop(); + } + AZ_RPI_BREAK_ON_TARGET_PASS; bool execute = (m_state == PassState::Idle || m_state == PassState::Reset); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index 76ea52b4a3..50a2c0db91 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -103,7 +103,7 @@ namespace AZ m_rootPass = CreatePass(Name{"Root"}); m_rootPass->m_flags.m_partOfHierarchy = true; - //m_targetedPassDebugName = "RPISamplePipeline"; + //m_targetedPassDebugName = "AcesOutputTransform"; m_state = PassSystemState::Idle; } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp index 2c4c61f5aa..8e624abe13 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp @@ -107,8 +107,13 @@ namespace AZ pipeline->m_originalRenderSettings = desc.m_renderSettings; pipeline->m_activeRenderSettings = desc.m_renderSettings; pipeline->m_rootPass->SetRenderPipeline(pipeline); + + // Manually create the pipeline so we can gather the view tags from it's passes + pipeline->m_rootPass->Reset(); pipeline->m_rootPass->Build(); pipeline->m_rootPass->Initialize(); + pipeline->m_rootPass->OnInitializationFinished(); + pipeline->BuildPipelineViews(); } From da7870bb2a06ce9b25488a0522d16f97874d7555 Mon Sep 17 00:00:00 2001 From: puvvadar Date: Tue, 8 Jun 2021 22:46:45 -0700 Subject: [PATCH 037/205] Fix some typos and comments --- Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h | 2 +- Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h b/Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h index c60119cdee..44472422c7 100644 --- a/Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h +++ b/Gems/Multiplayer/Code/Include/Multiplayer/IMultiplayer.h @@ -66,7 +66,7 @@ namespace Multiplayer //! @param state The state of this connection virtual void InitializeMultiplayer(MultiplayerAgentType state) = 0; - //! Adds a ClientDisconnectedEvent Handler which is invoked on the client when a disconnectio occurs + //! Adds a ClientDisconnectedEvent Handler which is invoked on the client when a disconnection occurs //! @param handler The ClientDisconnectedEvent Handler to add virtual void AddClientDisconnectedHandler(ClientDisconnectedEvent::Handler& handler) = 0; diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index 4462502b24..a1e65aa392 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -126,14 +126,14 @@ namespace Multiplayer AZ::Entity* entity = AZ::Interface::Get()->FindEntity(id); if (!entity) { - AZ_Warning("Network Property", false, "NetworkTransformComponent GetOnScaleChangedEvent failed. The entity with id %s doesn't exist, please provide a valid entity id.", id.ToString().c_str()) + AZ_Warning("Multiplayer Property", false, "MultiplayerSystemComponent GetOnClientDisconnectedEvent failed. The entity with id %s doesn't exist, please provide a valid entity id.", id.ToString().c_str()) return nullptr; } MultiplayerSystemComponent* mpComponent = entity->FindComponent(); if (!mpComponent) { - AZ_Warning("Multiplayer Property", false, "NetworkTransformComponent GetScale failed. Entity '%s' (id: %s) is missing NetworkTransformComponent, be sure to add NetworkTransformComponent to this entity.", entity->GetName().c_str(), id.ToString().c_str()) + AZ_Warning("Multiplayer Property", false, "MultiplayerSystemComponent GetOnClientDisconnected failed. Entity '%s' (id: %s) is missing MultiplayerSystemComponent, be sure to add MultiplayerSystemComponent to this entity.", entity->GetName().c_str(), id.ToString().c_str()) return nullptr; } From 59d0a8817e9122c5c8af1afd1cf8476b869d733b Mon Sep 17 00:00:00 2001 From: puvvadar Date: Tue, 8 Jun 2021 22:56:53 -0700 Subject: [PATCH 038/205] Fix inconsistent naming and cover edge case --- .../Source/ConnectionData/ClientToServerConnectionData.h | 1 + .../Source/ConnectionData/ClientToServerConnectionData.inl | 5 +++++ .../Source/ConnectionData/ServerToClientConnectionData.h | 4 ++-- .../Source/ConnectionData/ServerToClientConnectionData.inl | 6 +++--- Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp | 5 +++++ 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h index 693e3814c4..e343bc6dfe 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.h @@ -40,6 +40,7 @@ namespace Multiplayer //! @} const AZStd::string& GetProviderTicket() const; + void SetProviderTicket(const AZStd::string&); private: EntityReplicationManager m_entityReplicationManager; diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl index 44cbf10350..a5982dcdb8 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ClientToServerConnectionData.inl @@ -26,4 +26,9 @@ namespace Multiplayer { return m_providerTicket; } + + inline void ClientToServerConnectionData::SetProviderTicket(const AZStd::string& ticket) + { + m_providerTicket = ticket; + } } diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h index 0851299498..dda7c15d69 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.h @@ -42,7 +42,7 @@ namespace Multiplayer NetworkEntityHandle GetPrimaryPlayerEntity(); const NetworkEntityHandle& GetPrimaryPlayerEntity() const; const AZStd::string& GetProviderTicket() const; - void SetProviderTicket(AZStd::string); + void SetProviderTicket(const AZStd::string&); private: void OnControlledEntityRemove(); @@ -53,7 +53,7 @@ namespace Multiplayer NetworkEntityHandle m_controlledEntity; EntityStopEvent::Handler m_controlledEntityRemovedHandler; EntityServerMigrationEvent::Handler m_controlledEntityMigrationHandler; - AZStd::string m_ticket; + AZStd::string m_providerTicket; AzNetworking::IConnection* m_connection = nullptr; bool m_canSendUpdates = false; }; diff --git a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl index b56ed7097e..1fb104b311 100644 --- a/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl +++ b/Gems/Multiplayer/Code/Source/ConnectionData/ServerToClientConnectionData.inl @@ -35,11 +35,11 @@ namespace Multiplayer inline const AZStd::string& ServerToClientConnectionData::GetProviderTicket() const { - return m_ticket; + return m_providerTicket; } - inline void ServerToClientConnectionData::SetProviderTicket(AZStd::string ticket) + inline void ServerToClientConnectionData::SetProviderTicket(const AZStd::string& ticket) { - m_ticket = ticket; + m_providerTicket = ticket; } } diff --git a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp index a1e65aa392..e4256a875c 100644 --- a/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/MultiplayerSystemComponent.cpp @@ -208,6 +208,11 @@ namespace Multiplayer { connection->SetUserData(new ClientToServerConnectionData(connection, *this, config.m_playerSessionId)); } + else + { + reinterpret_cast(connection->GetUserData())->SetProviderTicket(config.m_playerSessionId); + } + return true; } From c996b348356a0960befc7efd28407c5138924c10 Mon Sep 17 00:00:00 2001 From: antonmic Date: Tue, 8 Jun 2021 23:13:40 -0700 Subject: [PATCH 039/205] Pass changes WIP: small optimization --- Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp | 1 - Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp index 8e624abe13..4e565895e9 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp @@ -109,7 +109,6 @@ namespace AZ pipeline->m_rootPass->SetRenderPipeline(pipeline); // Manually create the pipeline so we can gather the view tags from it's passes - pipeline->m_rootPass->Reset(); pipeline->m_rootPass->Build(); pipeline->m_rootPass->Initialize(); pipeline->m_rootPass->OnInitializationFinished(); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp index 7e33750eb5..5f9ba38c88 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp @@ -291,7 +291,6 @@ namespace AZ pipeline->OnAddedToScene(this); // Force to update the lookup table since adding render pipeline would effect any pipeline states created before pass system tick - AZ::RPI::PassSystemInterface::Get()->ProcessQueuedChanges(); RebuildPipelineStatesLookup(); AZ_Assert(!m_id.IsNull(), "RPI::Scene needs to have a valid uuid."); From 618b7d12bbab4a96fc0b726ee72c9629a01d634f Mon Sep 17 00:00:00 2001 From: Gene Walters Date: Tue, 8 Jun 2021 23:58:07 -0700 Subject: [PATCH 040/205] Add parameter names to RPC behavior context so users know what each parameter does. Also added tooltip, although script canvas isnt always showing it (I will create a separate bug) --- .../Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja index 21bf6ab69b..1848341c60 100644 --- a/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja +++ b/Gems/Multiplayer/Code/Source/AutoGen/AutoComponent_Source.jinja @@ -392,7 +392,8 @@ void {{ ClassName }}::Signal{{ UpperFirst(Property.attrib['Name']) }}({{ ', '.jo } controller->{{ UpperFirst(Property.attrib['Name']) }}({{ ', '.join(paramNames) }}); - }) + }, { { { "Source", "The Source containing the {{ ClassName }}Controller" }{% for paramName in paramNames %}, {"{{ paramName }}"}{% endfor %}}}) + ->Attribute(AZ::Script::Attributes::ToolTip, "{{Property.attrib['Description']}}") {% endif %} {% endcall %} {% endmacro %} From fc33a0496dd5283c5471a96c550ca88464787d06 Mon Sep 17 00:00:00 2001 From: jjjoness <82226755+jjjoness@users.noreply.github.com> Date: Wed, 9 Jun 2021 15:34:00 +0100 Subject: [PATCH 041/205] LYN-2509 Welcome page for active project when opening O3DE (#1187) * First changes to ui * Pre merge from main checkin * Commit before merge from main * Pre-merge from maon checkin. * Commit before merge from main * Commit before merge from main * Pre merge from main. * Old and new levels handled. * New WelcomeScreenDialog. * Fixed qss file errors. * Removed unused file from cmake. * Commit before change to development branch * Final changes to WelcomeScreenDialog --- Code/Sandbox/Editor/NewLevelDialog.cpp | 2 +- Code/Sandbox/Editor/NewLevelDialog.ui | 34 +- Code/Sandbox/Editor/Style/Editor.qss | 47 +- .../WelcomeScreen/DefaultActiveProject.png | 3 + .../WelcomeScreen/WelcomeScreenDialog.cpp | 197 ++--- .../WelcomeScreen/WelcomeScreenDialog.h | 16 +- .../WelcomeScreen/WelcomeScreenDialog.qrc | 2 +- .../WelcomeScreen/WelcomeScreenDialog.ui | 719 +++++++++--------- .../WelcomeScreenDialogHeader.png | 3 - 9 files changed, 455 insertions(+), 568 deletions(-) create mode 100644 Code/Sandbox/Editor/WelcomeScreen/DefaultActiveProject.png delete mode 100644 Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialogHeader.png diff --git a/Code/Sandbox/Editor/NewLevelDialog.cpp b/Code/Sandbox/Editor/NewLevelDialog.cpp index 2b727665cd..8a1399e482 100644 --- a/Code/Sandbox/Editor/NewLevelDialog.cpp +++ b/Code/Sandbox/Editor/NewLevelDialog.cpp @@ -43,7 +43,7 @@ CNewLevelDialog::CNewLevelDialog(QWidget* pParent /*=NULL*/) setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setWindowTitle(tr("New Level")); - setMaximumSize(QSize(320, 280)); + setMaximumSize(QSize(430, 280)); adjustSize(); // Default level folder is root (Levels/) diff --git a/Code/Sandbox/Editor/NewLevelDialog.ui b/Code/Sandbox/Editor/NewLevelDialog.ui index 053616c78d..2d04794b27 100644 --- a/Code/Sandbox/Editor/NewLevelDialog.ui +++ b/Code/Sandbox/Editor/NewLevelDialog.ui @@ -6,30 +6,30 @@ 0 0 - 320 + 430 280 - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + - Level + Assign a name and location to the new level. - Name: + Name Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop @@ -48,8 +48,14 @@ + + + 100 + 0 + + - Folder: + Location Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop diff --git a/Code/Sandbox/Editor/Style/Editor.qss b/Code/Sandbox/Editor/Style/Editor.qss index 2e96c73f35..726902bbd9 100644 --- a/Code/Sandbox/Editor/Style/Editor.qss +++ b/Code/Sandbox/Editor/Style/Editor.qss @@ -208,22 +208,9 @@ WelcomeScreenDialog QLabel margin: 0; } -WelcomeScreenDialog QLabel#titleLabel +WelcomeScreenDialog QLabel#currentProjectLabel { - font-size: 22px; - line-height: 32px; -} - -WelcomeScreenDialog QLabel#bodyLabel -{ - font-size: 14px; - line-height: 20px; -} - -WelcomeScreenDialog QLabel[fontStyle="sectionTitle"], QLabel#titleLabel[fontStyle="sectionTitle"], QLabel#documentationLink -{ - font-size: 16px; - line-height: 24px; + margin-top: 10px; } WelcomeScreenDialog QPushButton @@ -232,36 +219,20 @@ WelcomeScreenDialog QPushButton line-height: 16px; } -WelcomeScreenDialog QFrame#viewContainer -{ - background-color: transparent; -} - -WelcomeScreenDialog QFrame#viewContainer[articleStyle="pinned"] -{ - background: rgba(180,139,255,5%); - border: 1px solid #B48BFF; - box-shadow: 0 0 4px 0 rgba(0,0,0,50%); -} - WelcomeScreenDialog QWidget#articleViewContainerRoot { - background: #111111; + background: #444444; } -WelcomeScreenDialog QScrollArea#previewArea +WelcomeScreenDialog QWidget#levelViewFTUEContainer { - background-color: transparent; + background: #282828; } -WelcomeScreenDialog QWidget#articleViewContents -{ - background-color: transparent; -} - -WelcomeScreenDialog QFrame#imageFrame -{ - background-color: transparent; +QTableWidget#recentLevelTable::item { + background-color: rgb(64,64,64); + margin-bottom: 4px; + margin-top: 4px; } /* Particle Editor */ diff --git a/Code/Sandbox/Editor/WelcomeScreen/DefaultActiveProject.png b/Code/Sandbox/Editor/WelcomeScreen/DefaultActiveProject.png new file mode 100644 index 0000000000..89c3a7cd47 --- /dev/null +++ b/Code/Sandbox/Editor/WelcomeScreen/DefaultActiveProject.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:263e95489560dac6e5944ef3caba13e598f83ddead324b943ad7735ba015e1a9 +size 70727 diff --git a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.cpp b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.cpp index 6faf29dc8e..fa0b2d8135 100644 --- a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.cpp +++ b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.cpp @@ -15,7 +15,8 @@ #include "WelcomeScreenDialog.h" // Qt -#include +#include +#include #include #include #include @@ -24,6 +25,7 @@ #include #include #include +#include #include @@ -74,65 +76,39 @@ static int GetSmallestScreenHeight() WelcomeScreenDialog::WelcomeScreenDialog(QWidget* pParent) : QDialog(new WindowDecorationWrapper(WindowDecorationWrapper::OptionAutoAttach | WindowDecorationWrapper::OptionAutoTitleBarButtons, pParent), Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint | Qt::WindowTitleHint) , ui(new Ui::WelcomeScreenDialog) - , m_pRecentListModel(new QStringListModel(this)) , m_pRecentList(nullptr) { ui->setupUi(this); - // Make our welcome screen checkboxes appear as toggle switches - AzQtComponents::CheckBox::applyToggleSwitchStyle(ui->autoLoadLevel); - AzQtComponents::CheckBox::applyToggleSwitchStyle(ui->showOnStartup); + ui->recentLevelTable->setColumnCount(3); + ui->recentLevelTable->setMouseTracking(true); + ui->recentLevelTable->setContextMenuPolicy(Qt::CustomContextMenu); + ui->recentLevelTable->horizontalHeader()->hide(); + ui->recentLevelTable->verticalHeader()->hide(); + ui->recentLevelTable->setSelectionBehavior(QAbstractItemView::SelectRows); + ui->recentLevelTable->setSelectionMode(QAbstractItemView::SingleSelection); + ui->recentLevelTable->setIconSize(QSize(20, 20)); + installEventFilter(this); - ui->autoLoadLevel->setChecked(gSettings.bAutoloadLastLevelAtStartup); - ui->showOnStartup->setChecked(!gSettings.bShowDashboardAtStartup); - - ui->recentLevelList->setModel(m_pRecentListModel); - ui->recentLevelList->setMouseTracking(true); - ui->recentLevelList->setContextMenuPolicy(Qt::CustomContextMenu); - - auto currentProjectButtonMenu = new QMenu(); - - ui->currentProjectButton->setMenu(currentProjectButtonMenu); auto projectName = AZ::Utils::GetProjectName(); - ui->currentProjectButton->setText(projectName.c_str()); - ui->currentProjectButton->adjustSize(); - ui->currentProjectButton->setMinimumWidth(ui->currentProjectButton->width() + 40); + ui->currentProjectName->setText(projectName.c_str()); - ui->documentationLink->setCursor(Qt::PointingHandCursor); - ui->documentationLink->installEventFilter(this); + ui->newLevelButton->setDefault(true); - connect(ui->recentLevelList, &QWidget::customContextMenuRequested, this, &WelcomeScreenDialog::OnShowContextMenu); + // Hide these buttons until the new functionality is added + ui->gridButton->hide(); + ui->objectListButton->hide(); + ui->switchProjectButton->hide(); - connect(ui->recentLevelList, &QListView::entered, this, &WelcomeScreenDialog::OnShowToolTip); - connect(ui->recentLevelList, &QListView::clicked, this, &WelcomeScreenDialog::OnRecentLevelListItemClicked); + connect(ui->recentLevelTable, &QWidget::customContextMenuRequested, this, &WelcomeScreenDialog::OnShowContextMenu); + + connect(ui->recentLevelTable, &QTableWidget::entered, this, &WelcomeScreenDialog::OnShowToolTip); + connect(ui->recentLevelTable, &QTableWidget::clicked, this, &WelcomeScreenDialog::OnRecentLevelTableItemClicked); connect(ui->newLevelButton, &QPushButton::clicked, this, &WelcomeScreenDialog::OnNewLevelBtnClicked); + connect(ui->levelFileLabel, &QLabel::linkActivated, this, &WelcomeScreenDialog::OnNewLevelLabelClicked); connect(ui->openLevelButton, &QPushButton::clicked, this, &WelcomeScreenDialog::OnOpenLevelBtnClicked); - connect(ui->newSliceButton, &QPushButton::clicked, this, &WelcomeScreenDialog::OnNewSliceBtnClicked); - connect(ui->openSliceButton, &QPushButton::clicked, this, &WelcomeScreenDialog::OnOpenSliceBtnClicked); - - connect(ui->documentationButton, &QPushButton::clicked, this, &WelcomeScreenDialog::OnDocumentationBtnClicked); - connect(ui->showOnStartup, &QCheckBox::clicked, this, &WelcomeScreenDialog::OnShowOnStartupBtnClicked); - connect(ui->autoLoadLevel, &QCheckBox::clicked, this, &WelcomeScreenDialog::OnAutoLoadLevelBtnClicked); - - m_manifest = new News::ResourceManifest( - std::bind(&WelcomeScreenDialog::SyncSuccess, this), - std::bind(&WelcomeScreenDialog::SyncFail, this, std::placeholders::_1), - std::bind(&WelcomeScreenDialog::SyncUpdate, this, std::placeholders::_1, std::placeholders::_2)); - - m_articleViewContainer = new News::ArticleViewContainer(this, *m_manifest); - connect(m_articleViewContainer, &News::ArticleViewContainer::scrolled, - this, &WelcomeScreenDialog::previewAreaScrolled); - ui->articleViewContainerRoot->layout()->addWidget(m_articleViewContainer); - - m_manifest->Sync(); - -#ifndef ENABLE_SLICE_EDITOR - ui->newSliceButton->hide(); - ui->openSliceButton->hide(); -#endif - // Adjust the height, if need be // Do it in the constructor so that the WindowDecoratorWrapper handles it correctly int smallestHeight = GetSmallestScreenHeight(); @@ -153,16 +129,10 @@ WelcomeScreenDialog::WelcomeScreenDialog(QWidget* pParent) WelcomeScreenDialog::~WelcomeScreenDialog() { delete ui; - delete m_manifest; } void WelcomeScreenDialog::done(int result) { - if (m_waitingOnAsync) - { - m_manifest->Abort(); - } - QDialog::done(result); } @@ -173,13 +143,11 @@ const QString& WelcomeScreenDialog::GetLevelPath() bool WelcomeScreenDialog::eventFilter(QObject *watched, QEvent *event) { - if (watched == ui->documentationLink) + if (event->type() == QEvent::Show) { - if (event->type() == QEvent::MouseButtonRelease) - { - OnDocumentationBtnClicked(false); - return true; - } + ui->recentLevelTable->horizontalHeader()->resizeSection(0, ui->nameLabel->width()); + ui->recentLevelTable->horizontalHeader()->resizeSection(1, ui->modifiedLabel->width()); + ui->recentLevelTable->horizontalHeader()->resizeSection(2, ui->typeLabel->width()); } return QDialog::eventFilter(watched, event); @@ -207,7 +175,9 @@ void WelcomeScreenDialog::SetRecentFileList(RecentFileList* pList) int nCurDir = sCurDir.length(); int recentListSize = pList->GetSize(); - for (int i = 0; i < recentListSize; ++i) + int currentRow = 0; + ui->recentLevelTable->setRowCount(recentListSize); + for (int i = 0; i < recentListSize; ++i) { const QString& recentFile = pList->m_arrNames[i]; if (recentFile.endsWith(m_levelExtension)) @@ -218,7 +188,7 @@ void WelcomeScreenDialog::SetRecentFileList(RecentFileList* pList) if (sCurEntryDir.compare(sCurDir, Qt::CaseInsensitive) == 0) { QString fullPath = recentFile; - QString name = Path::GetFileName(fullPath); + const QString name = Path::GetFile(fullPath); Path::ConvertSlashToBackSlash(fullPath); fullPath = Path::ToUnixPath(fullPath.toLower()); @@ -226,18 +196,34 @@ void WelcomeScreenDialog::SetRecentFileList(RecentFileList* pList) if (fullPath.contains(gamePath)) { - m_pRecentListModel->setStringList(m_pRecentListModel->stringList() << QString(name)); + if (gSettings.prefabSystem) + { + QIcon icon; + icon.addFile(QString::fromUtf8(":/Level/level.svg"), QSize(), QIcon::Normal, QIcon::Off); + ui->recentLevelTable->setItem(currentRow, 0, new QTableWidgetItem(icon, name)); + } + else + { + ui->recentLevelTable->setItem(currentRow, 0, new QTableWidgetItem(name)); + } + QFileInfo file(recentFile); + QDateTime dateTime = file.lastModified(); + QString date = QLocale::system().toString(dateTime.date(), QLocale::ShortFormat) + " " + + QLocale::system().toString(dateTime.time(), QLocale::LongFormat); + ui->recentLevelTable->setItem(currentRow, 1, new QTableWidgetItem(date)); + ui->recentLevelTable->setItem(currentRow++, 2, new QTableWidgetItem(tr("Level"))); m_levels.push_back(std::make_pair(name, recentFile)); } } } } } + ui->recentLevelTable->setRowCount(currentRow); + ui->recentLevelTable->setMinimumHeight(currentRow * ui->recentLevelTable->verticalHeader()->defaultSectionSize()); + ui->recentLevelTable->setMaximumHeight(currentRow * ui->recentLevelTable->verticalHeader()->defaultSectionSize()); + ui->levelFileLabel->setVisible(currentRow ? false : true); - ui->recentLevelList->setCurrentIndex(QModelIndex()); - int rowSize = ui->recentLevelList->sizeHintForRow(0) + ui->recentLevelList->spacing() * 2; - ui->recentLevelList->setMinimumHeight(m_pRecentListModel->rowCount() * rowSize); - ui->recentLevelList->setMaximumHeight(m_pRecentListModel->rowCount() * rowSize); + ui->recentLevelTable->setCurrentIndex(QModelIndex()); } @@ -245,7 +231,7 @@ void WelcomeScreenDialog::RemoveLevelEntry(int index) { TNamePathPair levelPath = m_levels[index]; - m_pRecentListModel->removeRow(index); + ui->recentLevelTable->removeRow(index); m_levels.erase(m_levels.begin() + index); @@ -284,21 +270,18 @@ void WelcomeScreenDialog::OnShowToolTip(const QModelIndex& index) { const QString& fullPath = m_levels[index.row()].second; - //TEMPORARY:Begin This can be put back once the main window is in Qt - //QRect itemRect = ui->recentLevelList->visualRect(index); - QToolTip::showText(QCursor::pos(), QString("Open level: %1").arg(fullPath) /*, ui->recentLevelList, itemRect*/); - //TEMPORARY:END + QToolTip::showText(QCursor::pos(), QString("Open level: %1").arg(fullPath)); } void WelcomeScreenDialog::OnShowContextMenu(const QPoint& pos) { - QModelIndex index = ui->recentLevelList->indexAt(pos); + QModelIndex index = ui->recentLevelTable->indexAt(pos); if (index.isValid()) { - QString level = m_pRecentListModel->data(index, 0).toString(); + QString level = ui->recentLevelTable->itemAt(pos)->text(); - QPoint globalPos = ui->recentLevelList->viewport()->mapToGlobal(pos); + QPoint globalPos = ui->recentLevelTable->viewport()->mapToGlobal(pos); QMenu contextMenu; contextMenu.addAction(QString("Remove " + level + " from recent list")); @@ -310,13 +293,16 @@ void WelcomeScreenDialog::OnShowContextMenu(const QPoint& pos) } } - void WelcomeScreenDialog::OnNewLevelBtnClicked([[maybe_unused]] bool checked) { m_levelPath = "new"; accept(); } +void WelcomeScreenDialog::OnNewLevelLabelClicked([[maybe_unused]] const QString& path) +{ + OnNewLevelBtnClicked(true); +} void WelcomeScreenDialog::OnOpenLevelBtnClicked([[maybe_unused]] bool checked) { @@ -329,27 +315,7 @@ void WelcomeScreenDialog::OnOpenLevelBtnClicked([[maybe_unused]] bool checked) } } -void WelcomeScreenDialog::OnNewSliceBtnClicked([[maybe_unused]] bool checked) -{ - m_levelPath = "new slice"; - accept(); -} - -void WelcomeScreenDialog::OnOpenSliceBtnClicked(bool) -{ - QString fileName = QFileDialog::getOpenFileName(MainWindow::instance(), - tr("Open Slice"), - Path::GetEditingGameDataFolder().c_str(), - tr("Slice (*.slice)")); - - if (!fileName.isEmpty()) - { - m_levelPath = fileName; - accept(); - } -} - -void WelcomeScreenDialog::OnRecentLevelListItemClicked(const QModelIndex& modelIndex) +void WelcomeScreenDialog::OnRecentLevelTableItemClicked(const QModelIndex& modelIndex) { int index = modelIndex.row(); @@ -365,45 +331,6 @@ void WelcomeScreenDialog::OnCloseBtnClicked([[maybe_unused]] bool checked) accept(); } -void WelcomeScreenDialog::OnAutoLoadLevelBtnClicked(bool checked) -{ - gSettings.bAutoloadLastLevelAtStartup = checked; - gSettings.Save(); -} - - -void WelcomeScreenDialog::OnShowOnStartupBtnClicked(bool checked) -{ - gSettings.bShowDashboardAtStartup = !checked; - gSettings.Save(); - - if (gSettings.bShowDashboardAtStartup == false) - { - QMessageBox msgBox(AzToolsFramework::GetActiveWindow()); - msgBox.setWindowTitle(QObject::tr("Skip the Welcome dialog on startup")); - msgBox.setText(QObject::tr("You may re-enable the Welcome dialog at any time by going to Edit > Editor Settings > Global Preferences in the menu bar.")); - msgBox.exec(); - } -} - -void WelcomeScreenDialog::OnDocumentationBtnClicked([[maybe_unused]] bool checked) -{ - QString webLink = tr("https://aws.amazon.com/lumberyard/support/"); - QDesktopServices::openUrl(QUrl(webLink)); -} - -void WelcomeScreenDialog::SyncFail([[maybe_unused]] News::ErrorCode error) -{ - m_articleViewContainer->AddErrorMessage(); - m_waitingOnAsync = false; -} - -void WelcomeScreenDialog::SyncSuccess() -{ - m_articleViewContainer->PopulateArticles(); - m_waitingOnAsync = false; -} - void WelcomeScreenDialog::previewAreaScrolled() { //this should only be reported once per session diff --git a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.h b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.h index 73e9d75ea3..a3460630ac 100644 --- a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.h +++ b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.h @@ -52,13 +52,9 @@ private: Ui::WelcomeScreenDialog* ui; QString m_levelPath; - QStringListModel* m_pRecentListModel; TNameFullPathArray m_levels; RecentFileList* m_pRecentList; - News::ResourceManifest* m_manifest = nullptr; - News::ArticleViewContainer* m_articleViewContainer = nullptr; const char* m_levelExtension = nullptr; - bool m_waitingOnAsync = true; bool m_messageScrollReported = false; void RemoveLevelEntry(int index); @@ -66,19 +62,11 @@ private: void OnShowToolTip(const QModelIndex& index); void OnShowContextMenu(const QPoint& point); void OnNewLevelBtnClicked(bool checked); + void OnNewLevelLabelClicked(const QString& checked); void OnOpenLevelBtnClicked(bool checked); - void OnNewSliceBtnClicked(bool checked); - void OnOpenSliceBtnClicked(bool checked); - void OnRecentLevelListItemClicked(const QModelIndex& index); - void OnGettingStartedBtnClicked(bool checked); - void OnTutorialsBtnClicked(bool checked); - void OnDocumentationBtnClicked(bool checked); - void OnForumsBtnClicked(bool checked); - void OnAutoLoadLevelBtnClicked(bool checked); - void OnShowOnStartupBtnClicked(bool checked); + void OnRecentLevelTableItemClicked(const QModelIndex& index); void OnCloseBtnClicked(bool checked); - void SyncUpdate(const QString& /* message */, News::LogType /* logType */) {} void SyncFail(News::ErrorCode error); void SyncSuccess(); diff --git a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.qrc b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.qrc index b6fa8150c5..9e8ff62f48 100644 --- a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.qrc +++ b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.qrc @@ -1,5 +1,5 @@ - WelcomeScreenDialogHeader.png + DefaultActiveProject.png diff --git a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.ui b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.ui index be0d175a09..680b411121 100644 --- a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.ui +++ b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialog.ui @@ -2,12 +2,15 @@ WelcomeScreenDialog + + true + 0 0 - 800 - 600 + 945 + 639 @@ -18,21 +21,21 @@ - 800 - 600 + 945 + 639 - 800 - 16777215 + 945 + 639 Qt::TabFocus - Welcome to Open 3D Engine + Welcome to O3DE @@ -53,100 +56,6 @@ 0 - - - - - 0 - 36 - - - - - 16777215 - 36 - - - - - 10 - - - 16 - - - 0 - - - 12 - - - 0 - - - - - - 0 - 0 - - - - Current project: - - - - - - - Current Project Name - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - 0 - 0 - - - - - 16777215 - 1 - - - - color: "black" - - - QFrame::Plain - - - 0 - - - Qt::Horizontal - - - @@ -165,20 +74,26 @@ 0 - + + + + 0 + 0 + + - 0 + 183 0 - 320 + 183 16777215 - + 0 @@ -191,6 +106,143 @@ 0 + + 10 + + + + + 15 + + + + + 10 + + + 0 + + + + + + 0 + 0 + + + + Active project + + + + + + + + 0 + 0 + + + + + 126 + 167 + + + + + 126 + 167 + + + + + + + :/WelcomeScreenDialog/DefaultActiveProject.png + + + Qt::AlignCenter + + + + + + + MyGame + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + 15 + + + 15 + + + + + Switch project... + + + + + + + + + + + + + 0 + 0 + + + + + 762 + 0 + + + + + 762 + 16777215 + + + + + 0 + + + 20 + + + 0 + + + 20 + 0 @@ -227,7 +279,7 @@ - Open or create a level + Recent Files -1 @@ -255,16 +307,6 @@ 0 - - - - Qt::ScrollBarAlwaysOff - - - 4 - - - @@ -310,8 +352,26 @@ + + + 0 + 0 + + + + + 156 + 0 + + + + + 156 + 16777215 + + - New level... + Create new... @@ -333,8 +393,67 @@ + + + 156 + 0 + + + + + 156 + 16777215 + + - Open level... + Open... + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + ... + + + + :/stylesheet/img/UI20/toolbar/Object_list.svg:/stylesheet/img/UI20/toolbar/Object_list.svg + + + + 24 + 24 + + + + + + + + ... + + + + :/stylesheet/img/UI20/toolbar/Grid.svg:/stylesheet/img/UI20/toolbar/Grid.svg + + + + 24 + 24 + @@ -358,65 +477,130 @@ - - - - 0 - 0 - + + + 6 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - New slice... - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 24 - 0 - - - - - - - - Open slice... - - - - - + + + + Name + + + + + + + Last modified + + + + + + + Type + + + + + + + + 16 + + + 16 + + + 16 + + + + + true + + + + 0 + 0 + + + + No level file created yet for this project. <a href="#">Create one</a> now. + + + Qt::RichText + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + true + + + + 0 + 0 + + + + + + + Qt::ScrollBarAlwaysOff + + + 3 + + + false + + + false + + + false + + + 1 + + + 48 + + + false + + + false + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + @@ -439,205 +623,16 @@ - - - - - 0 - 48 - - - - - 16777215 - 48 - - - - - 10 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 24 - 24 - - - - info - - - - :/stylesheet/img/UI20/Info.svg:/stylesheet/img/UI20/Info.svg - - - - - - - Documentation and tutorials - - - link - - - - - - - - - - - - - - 1 - 16777215 - - - - color: "black" - - - QFrame::Plain - - - 0 - - - Qt::Vertical - - - - - - - - 480 - 0 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 16777215 - 1 - - - - color: "black" - - - QFrame::Plain - - - 0 - - - Qt::Horizontal - - - - - - - - 0 - 36 - - - - - 16777215 - 36 - - - - - 30 - - - 16 - - - 0 - - - 16 - - - 0 - - - - - - 0 - 0 - - - - Auto-load last opened level on startup - - - - - - - - 0 - 0 - - - - Skip this dialog on startup - - - - - - + diff --git a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialogHeader.png b/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialogHeader.png deleted file mode 100644 index e2656e3dfd..0000000000 --- a/Code/Sandbox/Editor/WelcomeScreen/WelcomeScreenDialogHeader.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:53b846352880d940621b14b1ea9514e0a4c95aa6ead4d00234a98684c061c04f -size 29505 From dda6fee2276f5e2418159a40dc6f978ddf789ab6 Mon Sep 17 00:00:00 2001 From: gallowj Date: Wed, 9 Jun 2021 09:58:38 -0500 Subject: [PATCH 042/205] fixed a type-o --- Gems/AtomContent/gem.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/AtomContent/gem.json b/Gems/AtomContent/gem.json index 941e7dea20..b043cbbaca 100644 --- a/Gems/AtomContent/gem.json +++ b/Gems/AtomContent/gem.json @@ -8,7 +8,7 @@ "Gem" ], "user_tags": [ - "AtomConent" + "AtomContent" ], "icon_path": "preview.png" } From 1ddb94ada1f91cb7853cab155116923f8675814c Mon Sep 17 00:00:00 2001 From: antonmic Date: Wed, 9 Jun 2021 08:55:57 -0700 Subject: [PATCH 043/205] Pass changes: final cleanup --- .../DisplayMapper/DisplayMapperPass.cpp | 6 +- .../Code/Include/Atom/RPI.Public/Pass/Pass.h | 48 +++++----- .../Atom/RPI.Public/Pass/PassDefines.h | 42 ++++++++- .../RPI.Public/Pass/PassSystemInterface.h | 27 +++++- .../RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 94 ++----------------- .../Source/RPI.Public/Pass/PassSystem.cpp | 38 +++----- .../Code/Source/RPI.Public/RenderPipeline.cpp | 8 +- 7 files changed, 119 insertions(+), 144 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp index 0a6a2a59c7..219d673ece 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp @@ -188,8 +188,10 @@ namespace AZ void DisplayMapperPass::InitializeInternal() { - // Force update on bindings because children of display mapper pass have their outputs connect - // to their parent's output, which is a non-conventional and non-standard workflow + // Force update on bindings because children of display mapper pass have their outputs connect to + // their parent's output, which is a non-conventional and non-standard workflow. Parent outputs are + // updated after child outputs, so post-build the child outputs do not yet point to the attachments on + // the parent bindings they are connected to. Forcing this refresh sets the attachment on the child output. for (const RPI::Ptr& child : m_children) { child->UpdateConnectedBindings(); diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index 70af161e18..b154b031c2 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -79,9 +79,9 @@ namespace AZ //! //! When authoring a new pass class, inherit from Pass and override any of the virtual functions //! ending with 'Internal' to define the behavior of your passes. These virtual are recursively - //! called in Preorder order throughout the pass tree. Only FramePrepare and FrameEnd are + //! called in preorder traversal throughout the pass tree. Only FrameBegin and FrameEnd are //! guaranteed to be called per frame. The other override-able functions are called as needed - //! when scheduled with the PassSystem. See QueueForBuild and QueueForRemoval. + //! when scheduled with the PassSystem. See QueueForBuild, QueueForRemoval and QueueForInitialization. //! //! Passes are created by the PassFactory. They can be created using either Pass Name, //! a PassTemplate, or a PassRequest. To register your pass class with the PassFactory, @@ -262,15 +262,10 @@ namespace AZ PassState GetPassState() const; - - - // Update all bindings on this pass that are connected to bindings on other passes void UpdateConnectedBindings(); - - protected: explicit Pass(const PassDescriptor& descriptor); @@ -333,15 +328,15 @@ namespace AZ void Build(bool calledFromPassSystem = false); virtual void BuildInternal() { } - // Called after the pass build phase has finished. Allows passes to reset build flags. - void OnInitializationFinished(); - virtual void OnInitializationFinishedInternal() { }; - // Allows for additional pass initialization between building and rendering - // Can be queued independently of Build so as to only invoke Initialize without Build + // Can be queued independently of Build so as to only invoke Initialize() without Build() void Initialize(); virtual void InitializeInternal() { }; + // Called after the pass initialization phase has finished. Allows passes to reset various states and flags. + void OnInitializationFinished(); + virtual void OnInitializationFinishedInternal() { }; + // The Pass's 'Render' function. Called every frame, here the pass sets up it's rendering logic with // the FrameGraphBuilder. This is where your derived pass needs to call ImportScopeProducer on // the FrameGraphBuilder if it's a ScopeProducer (see ForwardPass::FrameBeginInternal for example). @@ -398,23 +393,34 @@ namespace AZ { struct { + // Whether this pass was created with a PassRequest (in which case m_request holds valid data) uint64_t m_createdByPassRequest : 1; + + // Whether the pass is enabled (behavior can be customized by overriding IsEnabled() ) uint64_t m_enabled : 1; + + // False if parent or one of it's ancestors is disabled uint64_t m_parentEnabled : 1; + // If this is a parent pass, indicates if the pass has already created children this frame uint64_t m_alreadyCreated : 1; + + // If this is a parent pass, indicates whether the pass needs to create child passes uint64_t m_createChildren : 1; - // OLD SCHOOL - uint64_t m_alreadyPrepared : 1; - uint64_t m_alreadyReset : 1; - uint64_t m_queuedForBuildAttachment : 1; - - + // Whether this pass belongs to the pass hierarchy, i.e. if you can trace it's parents up to the Root pass uint64_t m_partOfHierarchy : 1; + + // Whether this pass has a DrawListTag uint64_t m_hasDrawListTag : 1; + + // Whether this pass has a PipelineViewTag uint64_t m_hasPipelineViewTag : 1; + + // Whether the pass should gather timestamp query metrics uint64_t m_timestampQueryEnabled : 1; + + // Whether the pass should gather pipeline statics uint64_t m_pipelineStatisticsQueryEnabled : 1; }; uint64_t m_allFlags = 0; @@ -436,11 +442,6 @@ namespace AZ RHI::DrawListSortType m_drawListSortType = RHI::DrawListSortType::KeyThenDepth; - - - - - private: // Return the Timestamp result of this pass virtual TimestampResult GetTimestampResultInternal() const; @@ -528,6 +529,7 @@ namespace AZ // buffers and images don't get deleted during attachment build phase AZStd::vector> m_importedAttachmentStore; + // Name of the pass. Will be concatenated with parent names to form a unique path Name m_name; // Path of the pass in the hierarchy. Example: Root.Ssao.Downsample diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h index 7ba7f1be4e..e34c61e3aa 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h @@ -20,31 +20,71 @@ // Enables debugging of the pass system // Set this to 1 locally on your machine to facilitate pass debugging and get extra information // about passes in the output window. DO NOT SUBMIT with value set to 1 -#define AZ_RPI_ENABLE_PASS_DEBUGGING 1 +#define AZ_RPI_ENABLE_PASS_DEBUGGING 0 namespace AZ { namespace RPI { + // This enum tracks the state of passes across build, initialization and rendering enum class PassState : u8 { + // Default value, you should only ever see this in the Pass constructor + // Once the constructor is done, the Pass will set it's state to Reset Uninitialized, + + // Pass is queued with the Pass System for an update (see PassQueueState below) + // From Queued, the pass can transition into Resetting, Building or Initializing depending on the PassQueueState Queued, + + // Pass is currently in the process of resetting + // From Resetting, the pass can transition into Resetting, + + // Pass has been reset and is await build + // From Reset, the pass can transition to Building Reset, + + // Pass is currently building + // From Building, the pass can transition to Built Building, + + // Pass has been built and is awaiting initialization + // From Built, the pass can transition to Initializing Built, + + // Pass is currently being initialized + // From Initializing, the pass can transition to Initialized Initializing, + + // Pass has been initialized + // From Initialized, the pass can transition to Idle Initialized, + + // Idle state, pass is awaiting rendering + // From Idle, the pass can transition to Queued, Resetting, Building, Initializing or Rendering Idle, + + // Pass is currently rendering. Pass must be in Idle state before entering this state + // From Rendering, the pass can transition to Idle or Queue if the pass was queued with the Pass System during Rendering Rendering }; + // This enum keeps track of what actions the pass is queued for with the pass system enum class PassQueueState : u8 { + // The pass is currently not in any queued state and may therefore transition to any queued state NoQueue, + + // The pass is queued for Removal at the start of the next frame. Cannot be overridden by any other queue state QueuedForRemoval, + + // The pass is queued for Build at the start of the frame. Note that any pass built at the start of the frame will also be initialized. + // This state can be overridden by QueuedForRemoval QueuedForBuild, + + // The pass is queued for Initialization at the start of the frame. + // This state has the lowest priority and can therefore be overridden by QueueForBuild or QueueForRemoval QueuedForInitialization, }; } diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystemInterface.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystemInterface.h index 788d00c8eb..72501fc61c 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystemInterface.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassSystemInterface.h @@ -40,15 +40,34 @@ namespace AZ using PassCreator = AZStd::function(const PassDescriptor& descriptor)>; + // Enum to track the different execution phases of the Pass System enum class PassSystemState : u32 { + // Default state, Unitialized, - Idle, + + // Initial Pass System setup. Transitions to Idle + InitializingPassSystem, + + // Pass System is processing passes queued for Removal. Transitions to Idle RemovingPasses, - Building, - Initializing, - Validating, + + // Pass System is processing passes queued for Build (and their child passes). Transitions to Idle + BuildingPasses, + + // Pass System is processing passes queued for Initialization (and their child passes). Transitions to Idle + InitializingPasses, + + // Pass System is validating that the Pass hierarchy is in a valid state after Build and Initialization. Transitions to Idle + ValidatingPasses, + + // Pass System is idle and can transition to any other state (except FrameEnd) + Idle, + + // Pass System is currently rendering a frame. Transitions to FrameEnd Rendering, + + // Pass System is finishing rendering a frame. Transitions to Idle FrameEnd, }; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index d03405dafd..f36673221b 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -78,7 +78,6 @@ namespace AZ // Skip reset since the pass just got created m_state = PassState::Reset; - m_flags.m_alreadyReset = true; } Pass::~Pass() @@ -1040,42 +1039,13 @@ namespace AZ // --- Queuing functions with PassSystem --- -#define OLD_SCHOOL 1 - void Pass::QueueForBuild() { -#if 0//OLD_SCHOOL - // Don't queue if we're in building phase - //if (PassSystemInterface::Get()->GetState() != RPI::PassSystemState::Building) - { - if (!m_flags.m_queuedForBuildAttachment) - { - PassSystemInterface::Get()->QueueForBuild(this); - m_flags.m_queuedForBuildAttachment = true; - - // Set these two flags to false since when queue build attachments request, they should all be already be false except one use - // case that the pass system processed all queued requests when active a scene. - // m_flags.m_alreadyReset = false; - // m_flags.m_alreadyPrepared = false; - - m_queueState = PassQueueState::QueuedForBuild; - - if (m_state != PassState::Rendering) - { - m_state = PassState::Queued; - } - - } - } -#else - // Don't queue if we're in building phase + // Queue if not already queued or if queued for initialization only. Don't queue if we're currently building. if (m_state != PassState::Building && (m_queueState == PassQueueState::NoQueue || m_queueState == PassQueueState::QueuedForInitialization)) { - //if (PassSystemInterface::Get()->GetState() != RPI::PassSystemState::Building) - { - PassSystemInterface::Get()->QueueForBuild(this); - } + PassSystemInterface::Get()->QueueForBuild(this); m_queueState = PassQueueState::QueuedForBuild; if (m_state != PassState::Rendering) @@ -1083,19 +1053,12 @@ namespace AZ m_state = PassState::Queued; } } -#endif } void Pass::QueueForInitialization() { - // Pass::FrameBegin - Pass [Root.LowEndPipeline.LowEndPipelineTemplate.LightAdaptation.LookModificationTransformPass.LookModificationComposite] is attempting to render, but is not in the Idle state. - if (m_path == Name("Root.LowEndPipeline.LowEndPipelineTemplate.LightAdaptation.LookModificationTransformPass.LookModificationComposite")) - { - __nop(); - } - - // Only queue if the pass is not in any other queue - if (m_queueState == PassQueueState::NoQueue) + // Only queue if the pass is not in any other queue. Don't queue if we're currently initializing. + if (m_queueState == PassQueueState::NoQueue && m_state != PassState::Initializing) { PassSystemInterface::Get()->QueueForInitialization(this); m_queueState = PassQueueState::QueuedForInitialization; @@ -1109,6 +1072,8 @@ namespace AZ void Pass::QueueForRemoval() { + // Skip only if we're already queued for removal, otherwise proceed. + // QueuedForRemoval overrides QueuedForBuild and QueuedForInitialization. if (m_queueState != PassQueueState::QueuedForRemoval) { PassSystemInterface::Get()->QueueForRemoval(this); @@ -1125,28 +1090,15 @@ namespace AZ void Pass::Reset() { - if (m_path == Name("Root.LowEndPipeline.LowEndPipelineTemplate.LightAdaptation.LookModificationTransformPass.LookModificationComposite")) - { - __nop(); - } - + // Ensure we're in a valid state to reset. This ensures the pass won't be reset multiple times in the same frame. bool execute = (m_state == PassState::Idle); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); -#if OLD_SCHOOL - AZ_Assert(!execute == m_flags.m_alreadyReset, "ANTON - EARLY OUT FLAGS do not match for pass RESET!!"); - if (m_flags.m_alreadyReset) - { - return; - } - m_flags.m_alreadyReset = true; -#else if (!execute) { return; } -#endif m_state = PassState::Resetting; @@ -1169,32 +1121,16 @@ namespace AZ void Pass::Build(bool calledFromPassSystem) { - if (m_path == Name("Root.LowEndPipeline.LowEndPipelineTemplate.LightAdaptation.LookModificationTransformPass.LookModificationComposite")) - { - __nop(); - } - AZ_RPI_BREAK_ON_TARGET_PASS; - bool execute = (m_state == PassState::Idle || m_state == PassState::Reset); - execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); - execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); + // Ensure we're in a valid state to build. This ensures the pass won't be built multiple times in the same frame. + bool execute = (m_state == PassState::Reset); -#if OLD_SCHOOL - AZ_Assert(!execute == m_flags.m_alreadyPrepared, "ANTON - EARLY OUT FLAGS do not match for pass BUILD!!"); - if (m_flags.m_alreadyPrepared) - { - return; - } - m_flags.m_alreadyPrepared = true; -#else if (!execute) { return; } -#endif - AZ_Assert(m_state == PassState::Reset, "ANTON - BUILDING PASS BUT STATE IS NOT RESET!!"); m_state = PassState::Building; // Bindings, inputs and attachments @@ -1233,6 +1169,7 @@ namespace AZ { AZ_RPI_BREAK_ON_TARGET_PASS; + // Ensure we're in a valid state to initialize. This ensures the pass won't be initialized multiple times in the same frame. bool execute = (m_state == PassState::Idle || m_state == PassState::Built); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); @@ -1244,11 +1181,6 @@ namespace AZ m_state = PassState::Initializing; m_queueState = PassQueueState::NoQueue; - // Update -// UpdateConnectedBindings(); -// UpdateOwnedAttachments(); -// UpdateAttachmentUsageIndices(); - InitializeInternal(); m_state = PassState::Initialized; @@ -1256,12 +1188,6 @@ namespace AZ void Pass::OnInitializationFinished() { - AZ_RPI_BREAK_ON_TARGET_PASS; - - m_flags.m_alreadyReset = false; - m_flags.m_alreadyPrepared = false; - m_flags.m_queuedForBuildAttachment = false; - m_flags.m_alreadyCreated = false; m_importedAttachmentStore.clear(); OnInitializationFinishedInternal(); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index 50a2c0db91..d209d03580 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -95,7 +95,7 @@ namespace AZ void PassSystem::Init() { - m_state = PassSystemState::Initializing; + m_state = PassSystemState::InitializingPassSystem; Interface::Register(this); m_passLibrary.Init(); @@ -103,7 +103,10 @@ namespace AZ m_rootPass = CreatePass(Name{"Root"}); m_rootPass->m_flags.m_partOfHierarchy = true; - //m_targetedPassDebugName = "AcesOutputTransform"; + // Here you can specify the name of a pass you would like to break into during execution + // If you enable AZ_RPI_ENABLE_PASS_DEBUGGING, then any pass matching the specified name will debug + // break on any instance of the AZ_RPI_BREAK_ON_TARGET_PASS macro. See Pass::Build for an example + // m_targetedPassDebugName = "MyPassName"; m_state = PassSystemState::Idle; } @@ -189,12 +192,11 @@ namespace AZ void PassSystem::BuildPasses() { - m_state = PassSystemState::Building; + m_state = PassSystemState::BuildingPasses; AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzRender); AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: BuildPassAttachments"); m_passHierarchyChanged = m_passHierarchyChanged || !m_buildPassList.empty(); - u32 loopCounter = 0; // While loop is for the event in which passes being built add more pass to m_buildPassList while(!m_buildPassList.empty()) @@ -214,25 +216,14 @@ namespace AZ SortPassListAscending(buildListCopy); - Pass* previousPassInList = nullptr; for (const Ptr& pass : buildListCopy) { - if (pass.get() != previousPassInList) - { - pass->Reset(); - previousPassInList = pass.get(); - } + pass->Reset(); } - previousPassInList = nullptr; for (const Ptr& pass : buildListCopy) { - if (pass.get() != previousPassInList) - { - pass->Build(true); - previousPassInList = pass.get(); - } + pass->Build(true); } - loopCounter++; } if (m_passHierarchyChanged) @@ -251,12 +242,11 @@ namespace AZ void PassSystem::InitializePasses() { - m_state = PassSystemState::Initializing; + m_state = PassSystemState::InitializingPasses; AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzRender); AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: BuildPassAttachments"); m_passHierarchyChanged = m_passHierarchyChanged || !m_initializePassList.empty(); - u32 loopCounter = 0; while (!m_initializePassList.empty()) { @@ -273,16 +263,10 @@ namespace AZ SortPassListAscending(initListCopy); - Pass* previousPassInList = nullptr; for (const Ptr& pass : initListCopy) { - if (pass.get() != previousPassInList) - { - pass->Initialize(); - previousPassInList = pass.get(); - } + pass->Initialize(); } - loopCounter++; } if (m_passHierarchyChanged) @@ -296,7 +280,7 @@ namespace AZ void PassSystem::Validate() { - m_state = PassSystemState::Validating; + m_state = PassSystemState::ValidatingPasses; AZ_ATOM_PROFILE_FUNCTION("RPI", "PassSystem: Validate"); if (PassValidation::IsEnabled()) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp index 4e565895e9..051282a7b0 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp @@ -108,7 +108,7 @@ namespace AZ pipeline->m_activeRenderSettings = desc.m_renderSettings; pipeline->m_rootPass->SetRenderPipeline(pipeline); - // Manually create the pipeline so we can gather the view tags from it's passes + // Manually build the pipeline so we can gather the view tags from it's passes pipeline->m_rootPass->Build(); pipeline->m_rootPass->Initialize(); pipeline->m_rootPass->OnInitializationFinished(); @@ -326,8 +326,10 @@ namespace AZ Ptr newRoot = m_rootPass->Recreate(); newRoot->SetRenderPipeline(this); - // Force processing of queued changes so we can validate the new pipeline - passSystem->ProcessQueuedChanges(); + // Manually build the pipeline + newRoot->Build(); + newRoot->Initialize(); + newRoot->OnInitializationFinished(); // Validate the new root PassValidationResults validation; From 3fd2f1305f2f8c6de2982570763efd37783264f2 Mon Sep 17 00:00:00 2001 From: rhongAMZ <69218254+rhongAMZ@users.noreply.github.com> Date: Wed, 9 Jun 2021 09:15:09 -0700 Subject: [PATCH 044/205] Selecting and deleting the level prefab root entity crashes editor (#1179) Early remove the level instance from the entity id list in the delete function and duplicate function. --- .../Prefab/PrefabPublicHandler.cpp | 40 +++++++++++++++---- .../Prefab/PrefabPublicHandler.h | 1 + 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp index fcdbc5ce07..690d408007 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp @@ -901,7 +901,13 @@ namespace AzToolsFramework return AZ::Failure(AZStd::string("No entities to duplicate.")); } - if (!EntitiesBelongToSameInstance(entityIds)) + const EntityIdList entityIdsNoLevelInstance = GenerateEntityIdListWithoutLevelInstance(entityIds); + if (entityIdsNoLevelInstance.empty()) + { + return AZ::Failure(AZStd::string("No entities to duplicate because only instance selected is the level instance.")); + } + + if (!EntitiesBelongToSameInstance(entityIdsNoLevelInstance)) { return AZ::Failure(AZStd::string("Cannot duplicate multiple entities belonging to different instances with one operation." "Change your selection to contain entities in the same instance.")); @@ -909,7 +915,7 @@ namespace AzToolsFramework // We've already verified the entities are all owned by the same instance, // so we can just retrieve our instance from the first entity in the list. - AZ::EntityId firstEntityIdToDuplicate = entityIds[0]; + AZ::EntityId firstEntityIdToDuplicate = entityIdsNoLevelInstance[0]; InstanceOptionalReference commonOwningInstance = GetOwnerInstanceByEntityId(firstEntityIdToDuplicate); if (!commonOwningInstance.has_value()) { @@ -929,7 +935,7 @@ namespace AzToolsFramework // This will cull out any entities that have ancestors in the list, since we will end up duplicating // the full nested hierarchy with what is returned from RetrieveAndSortPrefabEntitiesAndInstances - AzToolsFramework::EntityIdSet duplicationSet = AzToolsFramework::GetCulledEntityHierarchy(entityIds); + AzToolsFramework::EntityIdSet duplicationSet = AzToolsFramework::GetCulledEntityHierarchy(entityIdsNoLevelInstance); AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzToolsFramework); @@ -1004,17 +1010,19 @@ namespace AzToolsFramework PrefabOperationResult PrefabPublicHandler::DeleteFromInstance(const EntityIdList& entityIds, bool deleteDescendants) { - if (entityIds.empty()) + const EntityIdList entityIdsNoLevelInstance = GenerateEntityIdListWithoutLevelInstance(entityIds); + + if (entityIdsNoLevelInstance.empty()) { return AZ::Success(); } - if (!EntitiesBelongToSameInstance(entityIds)) + if (!EntitiesBelongToSameInstance(entityIdsNoLevelInstance)) { return AZ::Failure(AZStd::string("Cannot delete multiple entities belonging to different instances with one operation.")); } - AZ::EntityId firstEntityIdToDelete = entityIds[0]; + AZ::EntityId firstEntityIdToDelete = entityIdsNoLevelInstance[0]; InstanceOptionalReference commonOwningInstance = GetOwnerInstanceByEntityId(firstEntityIdToDelete); // If the first entity id is a container entity id, then we need to mark its parent as the common owning instance because you @@ -1025,7 +1033,7 @@ namespace AzToolsFramework } // Retrieve entityList from entityIds - EntityList inputEntityList = EntityIdListToEntityList(entityIds); + EntityList inputEntityList = EntityIdListToEntityList(entityIdsNoLevelInstance); AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzToolsFramework); @@ -1081,7 +1089,7 @@ namespace AzToolsFramework } else { - for (AZ::EntityId entityId : entityIds) + for (AZ::EntityId entityId : entityIdsNoLevelInstance) { InstanceOptionalReference owningInstance = m_instanceEntityMapperInterface->FindOwningInstance(entityId); // If this is the container entity, it actually represents the instance so get its owner @@ -1437,6 +1445,22 @@ namespace AzToolsFramework return (outEntities.size() + outInstances.size()) > 0; } + EntityIdList PrefabPublicHandler::GenerateEntityIdListWithoutLevelInstance( + const EntityIdList& entityIds) const + { + EntityIdList outEntityIds; + outEntityIds.reserve(entityIds.size()); // Actual size could be smaller. + + for (const AZ::EntityId& entityId : entityIds) + { + if (!IsLevelInstanceContainerEntity(entityId)) + { + outEntityIds.emplace_back(entityId); + } + } + return outEntityIds; + } + bool PrefabPublicHandler::EntitiesBelongToSameInstance(const EntityIdList& entityIds) const { if (entityIds.size() <= 1) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.h index f3d778d8de..65e1391722 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.h @@ -70,6 +70,7 @@ namespace AzToolsFramework PrefabOperationResult DeleteFromInstance(const EntityIdList& entityIds, bool deleteDescendants); bool RetrieveAndSortPrefabEntitiesAndInstances(const EntityList& inputEntities, Instance& commonRootEntityOwningInstance, EntityList& outEntities, AZStd::vector& outInstances) const; + EntityIdList GenerateEntityIdListWithoutLevelInstance(const EntityIdList& entityIds) const; InstanceOptionalReference GetOwnerInstanceByEntityId(AZ::EntityId entityId) const; bool EntitiesBelongToSameInstance(const EntityIdList& entityIds) const; From 886931f2a930b3080ba034e2d6f83cfa100d9b7c Mon Sep 17 00:00:00 2001 From: antonmic Date: Wed, 9 Jun 2021 09:24:34 -0700 Subject: [PATCH 045/205] Pass changes: minor fixes misses previously --- Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp | 1 + Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 3 --- Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp index e06ffca556..773deafe68 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp @@ -248,6 +248,7 @@ namespace AZ void ParentPass::CreateChildPasses() { + // The already created flag prevents this function from executing multiple times a frame if (!m_flags.m_createChildren || m_flags.m_alreadyCreated) { return; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index f36673221b..7ae3559e38 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -42,7 +42,6 @@ namespace AZ { namespace RPI { -#pragma optimize("", off) // --- Constructors --- @@ -1633,8 +1632,6 @@ namespace AZ } } -#pragma optimize("", on) - } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index d209d03580..ad3d6d31ca 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -50,7 +50,6 @@ namespace AZ { namespace RPI { -#pragma optimize("", off) PassSystemInterface* PassSystemInterface::Get() { @@ -486,6 +485,5 @@ namespace AZ return nullptr; } -#pragma optimize("", on) } // namespace RPI } // namespace AZ From 4241eb9c2cec0d525bf0b3ff5ea2c616268e65cf Mon Sep 17 00:00:00 2001 From: amzn-sean <75276488+amzn-sean@users.noreply.github.com> Date: Wed, 9 Jun 2021 17:42:16 +0100 Subject: [PATCH 046/205] fix crash in ragdoll (#1210) --- .../Source/PhysXCharacters/API/Ragdoll.cpp | 22 ++++++++++++++++--- .../Code/Source/PhysXCharacters/API/Ragdoll.h | 2 ++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Gems/PhysX/Code/Source/PhysXCharacters/API/Ragdoll.cpp b/Gems/PhysX/Code/Source/PhysXCharacters/API/Ragdoll.cpp index 02ebe7281c..4725212a9d 100644 --- a/Gems/PhysX/Code/Source/PhysXCharacters/API/Ragdoll.cpp +++ b/Gems/PhysX/Code/Source/PhysXCharacters/API/Ragdoll.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +41,8 @@ namespace PhysX } // namespace Internal // PhysX::Ragdoll + /*static*/ AZStd::mutex Ragdoll::m_sceneEventMutex; + void Ragdoll::Reflect(AZ::ReflectContext* context) { AZ::SerializeContext* serializeContext = azrtti_cast(context); @@ -114,7 +117,10 @@ namespace PhysX Ragdoll::~Ragdoll() { - m_sceneStartSimHandler.Disconnect(); + { + AZStd::scoped_lock lock(m_sceneEventMutex); + m_sceneStartSimHandler.Disconnect(); + } m_nodes.clear(); //the nodes destructor will remove the simulated body from the scene. } @@ -212,7 +218,13 @@ namespace PhysX } } - sceneInterface->RegisterSceneSimulationStartHandler(m_sceneOwner, m_sceneStartSimHandler); + // the handler is also connected in EnableSimulationQueued(), + // which will call this function, so if called from that path dont connect here. + if (!m_sceneStartSimHandler.IsConnected()) + { + AZStd::scoped_lock lock(m_sceneEventMutex); + sceneInterface->RegisterSceneSimulationStartHandler(m_sceneOwner, m_sceneStartSimHandler); + } sceneInterface->EnableSimulationOfBody(m_sceneOwner, m_bodyHandle); } @@ -225,6 +237,7 @@ namespace PhysX if (auto* sceneInterface = AZ::Interface::Get()) { + AZStd::scoped_lock lock(m_sceneEventMutex); sceneInterface->RegisterSceneSimulationStartHandler(m_sceneOwner, m_sceneStartSimHandler); } @@ -244,7 +257,10 @@ namespace PhysX return; } - m_sceneStartSimHandler.Disconnect(); + { + AZStd::scoped_lock lock(m_sceneEventMutex); + m_sceneStartSimHandler.Disconnect(); + } physx::PxScene* pxScene = Internal::GetPxScene(m_sceneOwner); const size_t numNodes = m_nodes.size(); diff --git a/Gems/PhysX/Code/Source/PhysXCharacters/API/Ragdoll.h b/Gems/PhysX/Code/Source/PhysXCharacters/API/Ragdoll.h index 7182a3a44c..006ce5878b 100644 --- a/Gems/PhysX/Code/Source/PhysXCharacters/API/Ragdoll.h +++ b/Gems/PhysX/Code/Source/PhysXCharacters/API/Ragdoll.h @@ -12,6 +12,7 @@ #pragma once +#include #include #include #include @@ -84,5 +85,6 @@ namespace PhysX bool m_queuedDisableSimulation = false; AzPhysics::SceneEvents::OnSceneSimulationStartHandler m_sceneStartSimHandler; + static AZStd::mutex m_sceneEventMutex; }; } // namespace PhysX From 258741b4c9f08322bff3fc4ae72260f7ba8479e7 Mon Sep 17 00:00:00 2001 From: evanchia Date: Wed, 9 Jun 2021 09:50:46 -0700 Subject: [PATCH 047/205] enabling smoke test --- AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt | 2 +- .../PythonTests/smoke/test_Editor_NewExistingLevels_Works.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index a3b6e36250..18ffa1944d 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -40,6 +40,6 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) AutomatedTesting.GameLauncher AutomatedTesting.Assets COMPONENT - Smoke + Sandbox ) endif() \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py index e6b072ba58..985740307f 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py @@ -15,7 +15,7 @@ from automatedtesting_shared.base import TestAutomationBase import ly_test_tools.environment.file_system as file_system -@pytest.mark.SUITE_sandbox +@pytest.mark.SUITE_smoke @pytest.mark.parametrize("launcher_platform", ["windows_editor"]) @pytest.mark.parametrize("project", ["AutomatedTesting"]) @pytest.mark.parametrize("level", ["temp_level"]) From 0fbeec7f176169074ef64535ec81794f0e5ca2b5 Mon Sep 17 00:00:00 2001 From: guthadam Date: Wed, 9 Jun 2021 11:57:21 -0500 Subject: [PATCH 048/205] Enabling linux compilation --- Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt | 1 - .../MaterialEditor/Code/Source/Platform/Linux/PAL_linux.cmake | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt b/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt index dddb339cfb..07449fe59f 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt +++ b/Gems/Atom/Tools/MaterialEditor/Code/CMakeLists.txt @@ -116,7 +116,6 @@ ly_add_target( # Add a 'builders' alias to allow the MaterialEditor root gem path to be added to the generated # cmake_dependencies..assetprocessor.setreg to allow the asset scan folder for it to be added ly_create_alias(NAME MaterialEditor.Builders NAMESPACE Gem) -ly_create_alias(NAME MaterialEditor.Tools NAMESPACE Gem) # Add build dependency to Editor for the MaterialEditor application since # Editor opens up the MaterialEditor diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/PAL_linux.cmake b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/PAL_linux.cmake index 70d49fdb2c..77d41d4561 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/PAL_linux.cmake +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/PAL_linux.cmake @@ -9,4 +9,4 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # -set(PAL_TRAIT_ATOM_MATERIAL_EDITOR_APPLICATION_SUPPORTED FALSE) +set(PAL_TRAIT_ATOM_MATERIAL_EDITOR_APPLICATION_SUPPORTED TRUE) From 33c5bd874b0294b9a0828bd4cfb98dda4ed7f7dc Mon Sep 17 00:00:00 2001 From: greerdv Date: Wed, 9 Jun 2021 18:19:28 +0100 Subject: [PATCH 049/205] fix handling of multiple arguments running python scripts from console --- .../EditorPythonBindings/Code/Source/PythonSystemComponent.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.cpp b/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.cpp index 38660fce02..00dbca12c9 100644 --- a/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.cpp +++ b/Gems/EditorPythonBindings/Code/Source/PythonSystemComponent.cpp @@ -718,7 +718,8 @@ namespace EditorPythonBindings for (int arg = 0; arg < args.size(); arg++) { - argv[arg + 1] = Py_DecodeLocale(args[arg].data(), nullptr); + AZStd::string argString(args[arg]); + argv[arg + 1] = Py_DecodeLocale(argString.c_str(), nullptr); } // Tell Python the command-line args. // Note that this has a side effect of adding the script's path to the set of directories checked for "import" commands. From eac0e42dc6ad9027ff23650bb81a4ee81d7e43ee Mon Sep 17 00:00:00 2001 From: Benjamin Jillich <43751992+amzn-jillich@users.noreply.github.com> Date: Wed, 9 Jun 2021 19:25:05 +0200 Subject: [PATCH 050/205] [LYN-3481] EMotionFX crashes when reloading an Actor (#1184) * [LYN-3481] Added new actor instance request and notification buses * [LYN-3481] Actor instance notifies bus about it being created or destroyed * [LYN-3481] Selection lists are now automatically removing destroyed actor instances * [LYN-3481] Morph targets window plugin reinitializing when used actor instance got destroyed * [LYN-3481] Removing the OnDeleteActorInstance() from the emfx event handler/manager and porting the recorder to the new actor instance bus * [LYN-3481] Removed the create actor instance calls from the event handler/manager * [LYN-3481] Fixing automated tests --- .../CommandSystem/Source/SelectionList.cpp | 7 +++ .../CommandSystem/Source/SelectionList.h | 7 ++- .../Code/EMotionFX/Source/ActorInstance.cpp | 13 ++--- .../Code/EMotionFX/Source/ActorInstanceBus.h | 54 +++++++++++++++++++ .../Code/EMotionFX/Source/EventHandler.h | 12 ----- .../Code/EMotionFX/Source/EventManager.cpp | 21 -------- .../Code/EMotionFX/Source/EventManager.h | 10 ---- .../Code/EMotionFX/Source/Recorder.cpp | 10 ++-- .../Code/EMotionFX/Source/Recorder.h | 8 +-- .../MorphTargetsWindowPlugin.cpp | 37 +++++++------ .../MorphTargetsWindowPlugin.h | 6 +++ .../Code/EMotionFX/emotionfx_files.cmake | 1 + 12 files changed, 107 insertions(+), 79 deletions(-) create mode 100644 Gems/EMotionFX/Code/EMotionFX/Source/ActorInstanceBus.h diff --git a/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.cpp b/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.cpp index a9f8cc063c..9beeebef86 100644 --- a/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.cpp @@ -20,10 +20,12 @@ namespace CommandSystem SelectionList::SelectionList() { EMotionFX::ActorNotificationBus::Handler::BusConnect(); + EMotionFX::ActorInstanceNotificationBus::Handler::BusConnect(); } SelectionList::~SelectionList() { + EMotionFX::ActorInstanceNotificationBus::Handler::BusDisconnect(); EMotionFX::ActorNotificationBus::Handler::BusDisconnect(); } @@ -378,4 +380,9 @@ namespace CommandSystem RemoveActor(actor); } + + void SelectionList::OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) + { + RemoveActorInstance(actorInstance); + } } // namespace CommandSystem diff --git a/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.h b/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.h index cd2eb3af5d..c85f8e601b 100644 --- a/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.h +++ b/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.h @@ -15,6 +15,7 @@ #include "CommandSystemConfig.h" #include #include +#include #include #include #include @@ -27,7 +28,8 @@ namespace CommandSystem * specific time stamp in a scene. */ class COMMANDSYSTEM_API SelectionList - : EMotionFX::ActorNotificationBus::Handler + : private EMotionFX::ActorNotificationBus::Handler + , private EMotionFX::ActorInstanceNotificationBus::Handler { MCORE_MEMORYOBJECTCATEGORY(SelectionList, MCore::MCORE_DEFAULT_ALIGNMENT, MEMCATEGORY_COMMANDSYSTEM); @@ -400,6 +402,9 @@ namespace CommandSystem // ActorNotificationBus overrides void OnActorDestroyed(EMotionFX::Actor* actor) override; + // ActorInstanceNotificationBus overrides + void OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) override; + AZStd::vector mSelectedNodes; /**< Array of selected nodes. */ AZStd::vector mSelectedActors; /**< The selected actors. */ AZStd::vector mSelectedActorInstances; /**< Array of selected actor instances. */ diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstance.cpp b/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstance.cpp index ec1b00bda4..8175d15496 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstance.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstance.cpp @@ -34,6 +34,7 @@ #include "NodeGroup.h" #include "Recorder.h" #include "TransformData.h" +#include #include #include @@ -153,20 +154,14 @@ namespace EMotionFX // register it GetActorManager().RegisterActorInstance(this); - // automatically register the actor instance - GetEventManager().OnCreateActorInstance(this); - GetActorManager().GetScheduler()->RecursiveInsertActorInstance(this); + + ActorInstanceNotificationBus::Broadcast(&ActorInstanceNotificationBus::Events::OnActorInstanceCreated, this); } - // the destructor ActorInstance::~ActorInstance() { - // trigger the OnDeleteActorInstance event - GetEventManager().OnDeleteActorInstance(this); - - // remove it from the recording - GetRecorder().RemoveActorInstanceFromRecording(this); + ActorInstanceNotificationBus::Broadcast(&ActorInstanceNotificationBus::Events::OnActorInstanceDestroyed, this); // get rid of the motion system if (mMotionSystem) diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstanceBus.h b/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstanceBus.h new file mode 100644 index 0000000000..15b25ce0d3 --- /dev/null +++ b/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstanceBus.h @@ -0,0 +1,54 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#pragma once + +#include + +namespace EMotionFX +{ + class ActorInstance; + + /** + * EMotion FX Actor Instance Request Bus + * Used for making requests to actor instances. + */ + class ActorInstanceRequests + : public AZ::EBusTraits + { + public: + }; + + using ActorInstanceRequestBus = AZ::EBus; + + /** + * EMotion FX Actor Instance Notification Bus + * Used for monitoring events from actor instances. + */ + class ActorInstanceNotifications + : public AZ::EBusTraits + { + public: + // Enable multi-threaded access by locking primitive using a mutex when connecting handlers to the EBus or executing events. + using MutexType = AZStd::recursive_mutex; + + virtual void OnActorInstanceCreated([[maybe_unused]] ActorInstance* actorInstance) {} + + /** + * Called when any of the actor instances gets destructed. + * @param actorInstance The actorInstance that gets destructed. + */ + virtual void OnActorInstanceDestroyed([[maybe_unused]] ActorInstance* actorInstance) {} + }; + + using ActorInstanceNotificationBus = AZ::EBus; +} // namespace EMotionFX diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/EventHandler.h b/Gems/EMotionFX/Code/EMotionFX/Source/EventHandler.h index 1e6fb86156..2c8ae9d868 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/EventHandler.h +++ b/Gems/EMotionFX/Code/EMotionFX/Source/EventHandler.h @@ -51,7 +51,6 @@ namespace EMotionFX EVENT_TYPE_MOTION_INSTANCE_LAST_EVENT = EVENT_TYPE_ON_QUEUE_MOTION_INSTANCE, EVENT_TYPE_ON_DELETE_ACTOR, - EVENT_TYPE_ON_DELETE_ACTOR_INSTANCE, EVENT_TYPE_ON_SIMULATE_PHYSICS, EVENT_TYPE_ON_CUSTOM_EVENT, EVENT_TYPE_ON_DRAW_LINE, @@ -64,7 +63,6 @@ namespace EMotionFX EVENT_TYPE_ON_CREATE_MOTION_INSTANCE, EVENT_TYPE_ON_CREATE_MOTION_SYSTEM, EVENT_TYPE_ON_CREATE_ACTOR, - EVENT_TYPE_ON_CREATE_ACTOR_INSTANCE, EVENT_TYPE_ON_POST_CREATE_ACTOR, EVENT_TYPE_ON_DELETE_ANIM_GRAPH, EVENT_TYPE_ON_DELETE_ANIM_GRAPH_INSTANCE, @@ -298,15 +296,6 @@ namespace EMotionFX */ virtual void OnDeleteActor(Actor* actor) { MCORE_UNUSED(actor); } - /** - * The event that gets triggered once an ActorInstance object is being deleted. - * You could for example use this event to delete any allocations you have done inside the - * custom user data object linked with the ActorInstance object. - * You can get and set this data object with the ActorInstance::GetCustomData() and ActorInstance::SetCustomData(...) methods. - * @param actorInstance The actorInstance that is being deleted. - */ - virtual void OnDeleteActorInstance(ActorInstance* actorInstance) { MCORE_UNUSED(actorInstance); } - virtual void OnSimulatePhysics(float timeDelta) { MCORE_UNUSED(timeDelta); } virtual void OnCustomEvent(uint32 eventType, void* data) { MCORE_UNUSED(eventType); MCORE_UNUSED(data); } @@ -321,7 +310,6 @@ namespace EMotionFX virtual void OnCreateMotionInstance(MotionInstance* motionInstance) { MCORE_UNUSED(motionInstance); } virtual void OnCreateMotionSystem(MotionSystem* motionSystem) { MCORE_UNUSED(motionSystem); } virtual void OnCreateActor(Actor* actor) { MCORE_UNUSED(actor); } - virtual void OnCreateActorInstance(ActorInstance* actorInstance) { MCORE_UNUSED(actorInstance); } virtual void OnPostCreateActor(Actor* actor) { MCORE_UNUSED(actor); } // delete callbacks diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.cpp b/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.cpp index bc9843c787..10c64b9433 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.cpp @@ -305,16 +305,6 @@ namespace EMotionFX } - void EventManager::OnDeleteActorInstance(ActorInstance* actorInstance) - { - const EventHandlerVector& eventHandlers = m_eventHandlersByEventType[EVENT_TYPE_ON_DELETE_ACTOR_INSTANCE]; - for (EventHandler* eventHandler : eventHandlers) - { - eventHandler->OnDeleteActorInstance(actorInstance); - } - } - - // draw a debug triangle void EventManager::OnDrawTriangle(const AZ::Vector3& posA, const AZ::Vector3& posB, const AZ::Vector3& posC, const AZ::Vector3& normalA, const AZ::Vector3& normalB, const AZ::Vector3& normalC, uint32 color) { @@ -670,17 +660,6 @@ namespace EMotionFX } - // create an actor instance - void EventManager::OnCreateActorInstance(ActorInstance* actorInstance) - { - const EventHandlerVector& eventHandlers = m_eventHandlersByEventType[EVENT_TYPE_ON_CREATE_ACTOR_INSTANCE]; - for (EventHandler* eventHandler : eventHandlers) - { - eventHandler->OnCreateActorInstance(actorInstance); - } - } - - // on post create actor void EventManager::OnPostCreateActor(Actor* actor) { diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.h b/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.h index 81767d5a66..f12d1de8cb 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.h +++ b/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.h @@ -286,15 +286,6 @@ namespace EMotionFX */ void OnDeleteActor(Actor* actor); - /** - * The event that gets triggered once an ActorInstance object is being deleted. - * You could for example use this event to delete any allocations you have done inside the - * custom user data object linked with the ActorInstance object. - * You can get and set this data object with the ActorInstance::GetCustomData() and ActorInstance::SetCustomData(...) methods. - * @param actorInstance The actorInstance that is being deleted. - */ - void OnDeleteActorInstance(ActorInstance* actorInstance); - void OnSimulatePhysics(float timeDelta); void OnCustomEvent(uint32 eventType, void* data); void OnDrawTriangle(const AZ::Vector3& posA, const AZ::Vector3& posB, const AZ::Vector3& posC, const AZ::Vector3& normalA, const AZ::Vector3& normalB, const AZ::Vector3& normalC, uint32 color); @@ -343,7 +334,6 @@ namespace EMotionFX void OnCreateMotionInstance(MotionInstance* motionInstance); void OnCreateMotionSystem(MotionSystem* motionSystem); void OnCreateActor(Actor* actor); - void OnCreateActorInstance(ActorInstance* actorInstance); void OnPostCreateActor(Actor* actor); // delete callbacks diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.cpp b/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.cpp index d12970bc04..8670851334 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.cpp @@ -106,16 +106,12 @@ namespace EMotionFX mCurrentPlayTime = 0.0f; mObjects.SetMemoryCategory(EMFX_MEMCATEGORY_RECORDER); - - GetEMotionFX().GetEventManager()->AddEventHandler(this); + EMotionFX::ActorInstanceNotificationBus::Handler::BusConnect(); } Recorder::~Recorder() { - if (EventManager* eventManager = GetEMotionFX().GetEventManager()) - { - eventManager->RemoveEventHandler(this); - } + EMotionFX::ActorInstanceNotificationBus::Handler::BusDisconnect(); Clear(); } @@ -1448,7 +1444,7 @@ namespace EMotionFX Unlock(); } - void Recorder::OnDeleteActorInstance(ActorInstance* actorInstance) + void Recorder::OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) { // Actor instances created by actor components do not use the command system and don't call a ClearRecorder command. // Thus, these actor instances will have to be removed from the recorder to avoid dangling data. diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.h b/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.h index 157ef2c88b..33ab3ce35d 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.h +++ b/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -47,7 +48,7 @@ namespace EMotionFX class EMFX_API Recorder : public BaseObject - , public EventHandler + , private EMotionFX::ActorInstanceNotificationBus::Handler { public: AZ_CLASS_ALLOCATOR_DECL @@ -319,9 +320,8 @@ namespace EMotionFX void RemoveActorInstanceFromRecording(ActorInstance* actorInstance); void RemoveAnimGraphFromRecording(AnimGraph* animGraph); - // EventHandler overrides - const AZStd::vector GetHandledEventTypes() const override { return {EMotionFX::EVENT_TYPE_ON_DELETE_ACTOR_INSTANCE}; } - void OnDeleteActorInstance(ActorInstance* actorInstance) override; + // ActorInstanceNotificationBus overrides + void OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) override; void SampleAndApplyTransforms(float timeInSeconds, ActorInstance* actorInstance) const; void SampleAndApplyMainTransform(float timeInSeconds, ActorInstance* actorInstance) const; diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.cpp b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.cpp index 80bbb24928..a0b018d999 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.cpp @@ -17,25 +17,26 @@ #include "../../../../EMStudioSDK/Source/EMStudioCore.h" #include #include +#include #include #include "../../../../EMStudioSDK/Source/EMStudioManager.h" - namespace EMStudio { - // constructor MorphTargetsWindowPlugin::MorphTargetsWindowPlugin() : EMStudio::DockWidgetPlugin() { - mDialogStack = nullptr; - mCurrentActorInstance = nullptr; + mDialogStack = nullptr; + mCurrentActorInstance = nullptr; mStaticTextWidget = nullptr; + + EMotionFX::ActorInstanceNotificationBus::Handler::BusConnect(); } - - // destructor MorphTargetsWindowPlugin::~MorphTargetsWindowPlugin() { + EMotionFX::ActorInstanceNotificationBus::Handler::BusDisconnect(); + // unregister the command callbacks and get rid of the memory for (auto callback : m_callbacks) { @@ -110,14 +111,16 @@ namespace EMStudio mMorphTargetGroups.clear(); } - // reinit the morph target dialog, e.g. if selection changes void MorphTargetsWindowPlugin::ReInit(bool forceReInit) { - // get the selected actorinstance - const CommandSystem::SelectionList& selection = GetCommandManager()->GetCurrentSelection(); - EMotionFX::ActorInstance* actorInstance = selection.GetSingleActorInstance(); + const CommandSystem::SelectionList& selection = GetCommandManager()->GetCurrentSelection(); + EMotionFX::ActorInstance* actorInstance = selection.GetSingleActorInstance(); + ReInit(actorInstance, forceReInit); + } + void MorphTargetsWindowPlugin::ReInit(EMotionFX::ActorInstance* actorInstance, bool forceReInit) + { // show hint if no/multiple actor instances is/are selected if (actorInstance == nullptr) { @@ -135,10 +138,7 @@ namespace EMStudio return; } - // get our selected actor instance and the corresponding actor - EMotionFX::Actor* actor = actorInstance->GetActor(); - - // only reinit the morph targets if actorinstance changed + // only reinit the morph targets if actor instance changed if (mCurrentActorInstance != actorInstance || forceReInit) { // set the current actor instance in any case @@ -150,7 +150,7 @@ namespace EMStudio AZStd::vector phonemeInstances; AZStd::vector defaultMorphTargetInstances; - // get the morph target setup + EMotionFX::Actor* actor = actorInstance->GetActor(); EMotionFX::MorphSetup* morphSetup = actor->GetMorphSetup(actorInstance->GetLODLevel()); if (morphSetup == nullptr) { @@ -278,6 +278,13 @@ namespace EMStudio } } + void MorphTargetsWindowPlugin::OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) + { + if (mCurrentActorInstance == actorInstance) + { + ReInit(/*actorInstance=*/nullptr); + } + } //----------------------------------------------------------------------------------------- // Command callbacks diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.h b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.h index ec64af2789..1f5abba310 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.h +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.h @@ -16,6 +16,7 @@ #include #include "../../../../EMStudioSDK/Source/DockWidgetPlugin.h" #include +#include #include "MorphTargetGroupWidget.h" #include #include @@ -26,6 +27,7 @@ namespace EMStudio { class MorphTargetsWindowPlugin : public EMStudio::DockWidgetPlugin + , private EMotionFX::ActorInstanceNotificationBus::Handler { Q_OBJECT MCORE_MEMORYOBJECTCATEGORY(MorphTargetsWindowPlugin, MCore::MCORE_DEFAULT_ALIGNMENT, MEMCATEGORY_STANDARDPLUGINS); @@ -54,6 +56,7 @@ namespace EMStudio EMStudioPlugin* Clone() override; // update the morph targets window based on the current selection + void ReInit(EMotionFX::ActorInstance* actorInstance, bool forceReInit = false); void ReInit(bool forceReInit = false); // clear all widgets from the window @@ -70,6 +73,9 @@ namespace EMStudio void WindowReInit(bool visible); private: + // ActorInstanceNotificationBus overrides + void OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) override; + // declare the callbacks MCORE_DEFINECOMMANDCALLBACK(CommandSelectCallback); MCORE_DEFINECOMMANDCALLBACK(CommandUnselectCallback); diff --git a/Gems/EMotionFX/Code/EMotionFX/emotionfx_files.cmake b/Gems/EMotionFX/Code/EMotionFX/emotionfx_files.cmake index 9f5fe617d4..9743ab5f15 100644 --- a/Gems/EMotionFX/Code/EMotionFX/emotionfx_files.cmake +++ b/Gems/EMotionFX/Code/EMotionFX/emotionfx_files.cmake @@ -15,6 +15,7 @@ set(FILES Source/ActorBus.h Source/ActorInstance.cpp Source/ActorInstance.h + Source/ActorInstanceBus.h Source/ActorManager.cpp Source/ActorManager.h Source/ActorUpdateScheduler.h From 6675d06b677d89c099b2ab933a4c219cb806708c Mon Sep 17 00:00:00 2001 From: guthadam Date: Wed, 9 Jun 2021 12:32:55 -0500 Subject: [PATCH 051/205] Fixing linux build --- .../Window/PerformanceMonitor/PerformanceMonitorWidget.cpp | 2 +- .../Source/Window/PerformanceMonitor/PerformanceMonitorWidget.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/PerformanceMonitor/PerformanceMonitorWidget.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/PerformanceMonitor/PerformanceMonitorWidget.cpp index 72c8daa63c..70a4361409 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/PerformanceMonitor/PerformanceMonitorWidget.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/PerformanceMonitor/PerformanceMonitorWidget.cpp @@ -15,7 +15,7 @@ #include #include -#include +#include namespace MaterialEditor { diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/PerformanceMonitor/PerformanceMonitorWidget.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/PerformanceMonitor/PerformanceMonitorWidget.h index a75e856d83..dd31faef90 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/PerformanceMonitor/PerformanceMonitorWidget.h +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/PerformanceMonitor/PerformanceMonitorWidget.h @@ -13,7 +13,7 @@ #pragma once #include -#include +#include namespace Ui { From af42705bc9dd8433a1b04d439de3785f74651bbd Mon Sep 17 00:00:00 2001 From: guthadam Date: Wed, 9 Jun 2021 12:49:35 -0500 Subject: [PATCH 052/205] Fixing linux build --- .../Code/Source/Window/MaterialEditorBrowserInteractions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorBrowserInteractions.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorBrowserInteractions.cpp index 9b79bcb6d9..c4007616c5 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorBrowserInteractions.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorBrowserInteractions.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include #include #include From 6063e3a391651bb8744123ed567cd4e48d7ad5c1 Mon Sep 17 00:00:00 2001 From: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> Date: Wed, 9 Jun 2021 11:07:28 -0700 Subject: [PATCH 053/205] Simplified Json Serializer registration code Updated the Json Serializer registeration code in the RegistrationContext.cpp to use try_emplace instead of find + end check + insert. --- .../Serialization/Json/RegistrationContext.cpp | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp b/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp index 50ea08e0a0..9aa80a2ef2 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp +++ b/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp @@ -47,19 +47,11 @@ namespace AZ if (!overwriteExisting) { - auto serializerIter = m_context->m_handledTypesMap.find(uuid); - if (serializerIter == m_context->m_handledTypesMap.end()) - { - m_context->m_handledTypesMap.emplace(uuid, serializer); - } - else - { - AZ_Assert( - false, - "Couldn't register Json serializer %s. Another serializer (%s) has already been registered for the same Uuid (%s).", - serializer->RTTI_GetTypeName(), serializerIter->second->RTTI_GetTypeName(), - serializerIter->first.ToString().c_str()); - } + auto emplaceResult = m_context->m_handledTypesMap.try_emplace(uuid, serializer); + AZ_Assert( + emplaceResult.second, + "Couldn't register Json serializer %s. Another serializer (%s) has already been registered for the same Uuid (%s).", + serializer->RTTI_GetTypeName(), emplaceResult.first->second->RTTI_GetTypeName(), uuid); } else { From 1339d453fc828879513acd3a2cac48d66df8aff9 Mon Sep 17 00:00:00 2001 From: guthadam Date: Wed, 9 Jun 2021 13:21:59 -0500 Subject: [PATCH 054/205] Adding PAL implementation for Linux --- .../Platform/Linux/MaterialEditor_Linux.cpp | 42 +++++++++++++++++++ .../Linux/MaterialEditor_Traits_Linux.h | 15 +++++++ .../Linux/MaterialEditor_Traits_Platform.h | 14 +++++++ .../Platform/Linux/platform_linux_files.cmake | 3 ++ 4 files changed, 74 insertions(+) create mode 100644 Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Linux.cpp create mode 100644 Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Traits_Linux.h create mode 100644 Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Traits_Platform.h diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Linux.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Linux.cpp new file mode 100644 index 0000000000..6a83c8c6de --- /dev/null +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Linux.cpp @@ -0,0 +1,42 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates, or +* a third party where indicated. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#include +#include +#include + +namespace Platform +{ + void LoadPluginDependencies() + { + AZ_Warning("Material Editor", false, "LoadPluginDependencies() function is not implemented"); + } + + void ProcessInput(void* message) + { + AZ_Warning("Material Editor", false, "ProcessInput() function is not implemented"); + } + + AzFramework::NativeWindowHandle GetWindowHandle(WId winId) + { + AZ_Warning("Material Editor", false, "GetWindowHandle() function is not implemented"); + AZ_UNUSED(winId); + return nullptr; + } + + AzFramework::WindowSize GetClientAreaSize(AzFramework::NativeWindowHandle window) + { + AZ_Warning("Material Editor", false, "GetClientAreaSize() function is not implemented"); + AZ_UNUSED(window); + return AzFramework::WindowSize{1,1}; + } +} diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Traits_Linux.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Traits_Linux.h new file mode 100644 index 0000000000..6f4eee610a --- /dev/null +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Traits_Linux.h @@ -0,0 +1,15 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ +#pragma once + +#define AZ_TRAIT_MATERIALEDITOR_EXT "" + diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Traits_Platform.h b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Traits_Platform.h new file mode 100644 index 0000000000..9cd502877d --- /dev/null +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/MaterialEditor_Traits_Platform.h @@ -0,0 +1,14 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ +#pragma once + +#include diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/platform_linux_files.cmake b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/platform_linux_files.cmake index 5714be5dfb..038a605109 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/platform_linux_files.cmake +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Platform/Linux/platform_linux_files.cmake @@ -10,4 +10,7 @@ # set(FILES + MaterialEditor_Traits_Platform.h + MaterialEditor_Traits_Linux.h + MaterialEditor_Linux.cpp ) From 68ffdd6714bb783ceb09d8df2fae645c4c6d4bee Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Wed, 9 Jun 2021 11:33:13 -0700 Subject: [PATCH 055/205] SPEC-2513 Fixes to enable w4324 (#1197) * Fix warning 4324 * warning that doesnt trigger anything * missed warning --- Code/CryEngine/CryCommon/AppleSpecific.h | 5 ++++- Code/CryEngine/CryCommon/LinuxSpecific.h | 5 ++++- Code/CryEngine/CryCommon/Win32specific.h | 4 +++- Code/CryEngine/CryCommon/Win64specific.h | 4 +++- Code/CryEngine/CryCommon/platform.h | 4 ++-- Code/Framework/AzCore/AzCore/PlatformDef.h | 14 ++++++++++++-- .../AzNetworking/Utilities/QuantizedValues.h | 9 ++------- Gems/EMotionFX/Code/Tests/Matchers.h | 2 +- .../Platform/Common/MSVC/Configurations_msvc.cmake | 2 -- 9 files changed, 31 insertions(+), 18 deletions(-) diff --git a/Code/CryEngine/CryCommon/AppleSpecific.h b/Code/CryEngine/CryCommon/AppleSpecific.h index 523332e9d3..830825f6cd 100644 --- a/Code/CryEngine/CryCommon/AppleSpecific.h +++ b/Code/CryEngine/CryCommon/AppleSpecific.h @@ -140,7 +140,10 @@ typedef uint8 byte; #define STDMETHODCALLTYPE #endif -#define _ALIGN(num) __attribute__ ((aligned(num))) +#define _ALIGN(num) \ + __attribute__ ((aligned(num))) \ + AZ_POP_DISABLE_WARNING + #define _PACK __attribute__ ((packed)) // Safe memory freeing diff --git a/Code/CryEngine/CryCommon/LinuxSpecific.h b/Code/CryEngine/CryCommon/LinuxSpecific.h index 85abf0ff53..361e31c791 100644 --- a/Code/CryEngine/CryCommon/LinuxSpecific.h +++ b/Code/CryEngine/CryCommon/LinuxSpecific.h @@ -104,7 +104,10 @@ typedef float FLOAT; #define STDMETHODCALLTYPE #endif -#define _ALIGN(num) __attribute__ ((aligned(num))) +#define _ALIGN(num) \ + __attribute__ ((aligned(num))) \ + AZ_POP_DISABLE_WARNING + #define _PACK __attribute__ ((packed)) // Safe memory freeing diff --git a/Code/CryEngine/CryCommon/Win32specific.h b/Code/CryEngine/CryCommon/Win32specific.h index 189bd8770b..9b8a8f75f4 100644 --- a/Code/CryEngine/CryCommon/Win32specific.h +++ b/Code/CryEngine/CryCommon/Win32specific.h @@ -111,7 +111,9 @@ int64 CryGetTicksPerSec(); } #endif -#define _MS_ALIGN(num) __declspec(align(num)) +#define _MS_ALIGN(num) \ + AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \ + __declspec(align(num)) #define DEFINE_ALIGNED_DATA(type, name, alignment) _declspec(align(alignment)) type name; #define DEFINE_ALIGNED_DATA_STATIC(type, name, alignment) static _declspec(align(alignment)) type name; diff --git a/Code/CryEngine/CryCommon/Win64specific.h b/Code/CryEngine/CryCommon/Win64specific.h index 00af315376..aac2b40621 100644 --- a/Code/CryEngine/CryCommon/Win64specific.h +++ b/Code/CryEngine/CryCommon/Win64specific.h @@ -93,7 +93,9 @@ int64 CryGetTicksPerSec(); } #endif -#define _MS_ALIGN(num) __declspec(align(num)) +#define _MS_ALIGN(num) \ + AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \ + __declspec(align(num)) #define DEFINE_ALIGNED_DATA(type, name, alignment) _declspec(align(alignment)) type name; #define DEFINE_ALIGNED_DATA_STATIC(type, name, alignment) static _declspec(align(alignment)) type name; diff --git a/Code/CryEngine/CryCommon/platform.h b/Code/CryEngine/CryCommon/platform.h index df8fb125b2..0e026d7113 100644 --- a/Code/CryEngine/CryCommon/platform.h +++ b/Code/CryEngine/CryCommon/platform.h @@ -733,12 +733,12 @@ enum ETriState // Fallback for Alignment macro of GCC/CLANG (must be after the class definition) #if !defined(_ALIGN) - #define _ALIGN(num) + #define _ALIGN(num) AZ_POP_DISABLE_WARNING #endif // Fallback for Alignment macro of MSVC (must be before the class definition) #if !defined(_MS_ALIGN) - #define _MS_ALIGN(num) + #define _MS_ALIGN(num) AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") #endif #if defined(WIN32) || defined(WIN64) diff --git a/Code/Framework/AzCore/AzCore/PlatformDef.h b/Code/Framework/AzCore/AzCore/PlatformDef.h index d2a254356a..03c97cf965 100644 --- a/Code/Framework/AzCore/AzCore/PlatformDef.h +++ b/Code/Framework/AzCore/AzCore/PlatformDef.h @@ -96,7 +96,12 @@ #endif /// Aligns a declaration. -# define AZ_ALIGN(_decl, _alignment) __declspec(align(_alignment)) _decl +# define AZ_ALIGN(_decl, _alignment) \ + AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \ + __declspec(align(_alignment)) \ + _decl \ + AZ_POP_DISABLE_WARNING + /// Return the alignment of a type. This if for internal use only (use AZStd::alignment_of<>()) # define AZ_INTERNAL_ALIGNMENT_OF(_type) __alignof(_type) /// Pointer will be aliased. @@ -123,7 +128,12 @@ # define AZ_FORCE_INLINE inline /// Aligns a declaration. -# define AZ_ALIGN(_decl, _alignment) _decl __attribute__((aligned(_alignment))) +# define AZ_ALIGN(_decl, _alignment) \ + AZ_PUSH_DISABLE_WARNING(4324, "-Wunknown-warning-option") \ + _decl \ + __attribute__((aligned(_alignment))) + AZ_POP_DISABLE_WARNING + /// Return the alignment of a type. This if for internal use only (use AZStd::alignment_of<>()) # define AZ_INTERNAL_ALIGNMENT_OF(_type) __alignof__(_type) /// Pointer will be aliased. diff --git a/Code/Framework/AzNetworking/AzNetworking/Utilities/QuantizedValues.h b/Code/Framework/AzNetworking/AzNetworking/Utilities/QuantizedValues.h index ccdedb85c5..aa11d4fc7f 100644 --- a/Code/Framework/AzNetworking/AzNetworking/Utilities/QuantizedValues.h +++ b/Code/Framework/AzNetworking/AzNetworking/Utilities/QuantizedValues.h @@ -180,10 +180,7 @@ namespace AzNetworking //! Takes a quantized integral value and stores the floating point representation. void DecodeQuantizedValues(); -# if defined AZ_COMPILER_MSVC -# pragma warning(push) -# pragma warning(disable:4201) // anonymous union -# endif + AZ_PUSH_DISABLE_WARNING(4201 4324, "-Wunknown-warning-option") // anonymous union, structure was padded due to alignment union { float m_quantizedValues[NUM_ELEMENTS]; @@ -195,9 +192,7 @@ namespace AzNetworking uint32_t m_serializeValues[NUM_ELEMENTS]; SimdTypei m_serializeVector; }; -# if defined AZ_COMPILER_MSVC -# pragma warning(pop) -# endif + AZ_POP_DISABLE_WARNING template friend struct QuantizedValuesConversionHelper; diff --git a/Gems/EMotionFX/Code/Tests/Matchers.h b/Gems/EMotionFX/Code/Tests/Matchers.h index b14d6a6a78..a94d02f51b 100644 --- a/Gems/EMotionFX/Code/Tests/Matchers.h +++ b/Gems/EMotionFX/Code/Tests/Matchers.h @@ -29,7 +29,7 @@ StrEq(const AZStd::string& str) str, true, true)); } -AZ_PUSH_DISABLE_WARNING(4100, "-Wmissing-declarations") // 'result_listener': unreferenced formal parameter +AZ_PUSH_DISABLE_WARNING(4100 4324, "-Wmissing-declarations") // 'result_listener': unreferenced formal parameter, structure was padded due to alignment specifier MATCHER(StrEq, "") { const auto& lhs = testing::get<0>(arg); diff --git a/cmake/Platform/Common/MSVC/Configurations_msvc.cmake b/cmake/Platform/Common/MSVC/Configurations_msvc.cmake index bcff2adeb7..b07a87a35a 100644 --- a/cmake/Platform/Common/MSVC/Configurations_msvc.cmake +++ b/cmake/Platform/Common/MSVC/Configurations_msvc.cmake @@ -63,12 +63,10 @@ ly_append_configurations_options( # Disabling these warnings while they get fixed /wd4018 # signed/unsigned mismatch - /wd4121 # alignment of a member was sensitive to packing /wd4244 # conversion, possible loss of data /wd4245 # conversion, signed/unsigned mismatch /wd4267 # conversion, possible loss of data /wd4310 # cast truncates constant value - /wd4324 # structure was padded due to alignment specifier /wd4389 # comparison, signed/unsigned mismatch # Enabling warnings that are disabled by default from /W4 From b26b472bba54f266ce4c5d131574a680704b6322 Mon Sep 17 00:00:00 2001 From: AMZN-nggieber <52797929+AMZN-nggieber@users.noreply.github.com> Date: Wed, 9 Jun 2021 11:59:15 -0700 Subject: [PATCH 056/205] Fix Editor being opened twice by project (#1213) --- Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp b/Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp index db1b1a4850..761572ffa5 100644 --- a/Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp +++ b/Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp @@ -151,7 +151,6 @@ namespace O3DE::ProjectManager void ProjectButton::ReadySetup() { - connect(m_projectImageLabel, &LabelButton::triggered, [this]() { emit OpenProject(m_projectInfo.m_path); }); connect(m_projectImageLabel->GetBuildButton(), &QPushButton::clicked, [this](){ emit BuildProject(m_projectInfo); }); QMenu* menu = new QMenu(this); From 217eddc8bd788a3b9cb86be9bcd0323b6bc52549 Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Wed, 9 Jun 2021 14:14:01 -0500 Subject: [PATCH 057/205] Fixing the enable_gem.py and disable_gem.py commands (#1207) * Fixing the enable_gem.py and disable_gem.py commands The project path wasn't taking into account when querying for gems, templates and restricted directories registered with the project Fixing the cmake.py add_gem_dependency and remove_gem_dependency methods to properly detect a gem within a `set(ENABLED_GEM ...)` cmake variable Also updated the add_gem_dependency to add the gem right before the end marker of ')' Updated the remove_gem_dependency to remove each instance of a gem with a content that is in between in the `set(ENABLED_GEM ...)` cmake variable * Correct Typo in manifest.get_registered doc string --- .../ProjectManager/Source/PythonBindings.cpp | 21 +-- .../ProjectManager/Source/PythonBindings.h | 8 +- .../Source/PythonBindingsInterface.h | 4 +- scripts/o3de/o3de/cmake.py | 100 ++++++++--- scripts/o3de/o3de/disable_gem.py | 4 +- scripts/o3de/o3de/enable_gem.py | 4 +- scripts/o3de/o3de/manifest.py | 53 ++++-- scripts/o3de/tests/unit_test_cmake.py | 163 ++++++++++++++++++ 8 files changed, 302 insertions(+), 55 deletions(-) diff --git a/Code/Tools/ProjectManager/Source/PythonBindings.cpp b/Code/Tools/ProjectManager/Source/PythonBindings.cpp index 5e7c78d2ec..3f0af7fa49 100644 --- a/Code/Tools/ProjectManager/Source/PythonBindings.cpp +++ b/Code/Tools/ProjectManager/Source/PythonBindings.cpp @@ -452,9 +452,9 @@ namespace O3DE::ProjectManager return result; } - AZ::Outcome PythonBindings::GetGemInfo(const QString& path) + AZ::Outcome PythonBindings::GetGemInfo(const QString& path, const QString& projectPath) { - GemInfo gemInfo = GemInfoFromPath(pybind11::str(path.toStdString())); + GemInfo gemInfo = GemInfoFromPath(pybind11::str(path.toStdString()), pybind11::str(projectPath.toStdString())); if (gemInfo.IsValid()) { return AZ::Success(AZStd::move(gemInfo)); @@ -473,7 +473,7 @@ namespace O3DE::ProjectManager { for (auto path : m_manifest.attr("get_engine_gems")()) { - gems.push_back(GemInfoFromPath(path)); + gems.push_back(GemInfoFromPath(path, pybind11::none())); } }); if (!result.IsSuccess()) @@ -494,7 +494,7 @@ namespace O3DE::ProjectManager pybind11::str pyProjectPath = projectPath.toStdString(); for (auto path : m_manifest.attr("get_all_gems")(pyProjectPath)) { - gems.push_back(GemInfoFromPath(path)); + gems.push_back(GemInfoFromPath(path, pyProjectPath)); } }); if (!result.IsSuccess()) @@ -632,12 +632,12 @@ namespace O3DE::ProjectManager } } - GemInfo PythonBindings::GemInfoFromPath(pybind11::handle path) + GemInfo PythonBindings::GemInfoFromPath(pybind11::handle path, pybind11::handle pyProjectPath) { GemInfo gemInfo; gemInfo.m_path = Py_To_String(path); - auto data = m_manifest.attr("get_gem_json_data")(pybind11::none(), path); + auto data = m_manifest.attr("get_gem_json_data")(pybind11::none(), path, pyProjectPath); if (pybind11::isinstance(data)) { try @@ -782,12 +782,12 @@ namespace O3DE::ProjectManager }); } - ProjectTemplateInfo PythonBindings::ProjectTemplateInfoFromPath(pybind11::handle path) + ProjectTemplateInfo PythonBindings::ProjectTemplateInfoFromPath(pybind11::handle path, pybind11::handle pyProjectPath) { ProjectTemplateInfo templateInfo; templateInfo.m_path = Py_To_String(pybind11::str(path)); - auto data = m_manifest.attr("get_template_json_data")(pybind11::none(), path); + auto data = m_manifest.attr("get_template_json_data")(pybind11::none(), path, pyProjectPath); if (pybind11::isinstance(data)) { try @@ -829,14 +829,15 @@ namespace O3DE::ProjectManager return templateInfo; } - AZ::Outcome> PythonBindings::GetProjectTemplates() + AZ::Outcome> PythonBindings::GetProjectTemplates(const QString& projectPath) { QVector templates; bool result = ExecuteWithLock([&] { + pybind11::str pyProjectPath = projectPath.toStdString(); for (auto path : m_manifest.attr("get_templates_for_project_creation")()) { - templates.push_back(ProjectTemplateInfoFromPath(path)); + templates.push_back(ProjectTemplateInfoFromPath(path, pyProjectPath)); } }); diff --git a/Code/Tools/ProjectManager/Source/PythonBindings.h b/Code/Tools/ProjectManager/Source/PythonBindings.h index 707595b6fd..5700ede850 100644 --- a/Code/Tools/ProjectManager/Source/PythonBindings.h +++ b/Code/Tools/ProjectManager/Source/PythonBindings.h @@ -39,7 +39,7 @@ namespace O3DE::ProjectManager bool SetEngineInfo(const EngineInfo& engineInfo) override; // Gem - AZ::Outcome GetGemInfo(const QString& path) override; + AZ::Outcome GetGemInfo(const QString& path, const QString& projectPath = {}) override; AZ::Outcome, AZStd::string> GetEngineGemInfos() override; AZ::Outcome, AZStd::string> GetAllGemInfos(const QString& projectPath) override; AZ::Outcome, AZStd::string> GetEnabledGemNames(const QString& projectPath) override; @@ -55,16 +55,16 @@ namespace O3DE::ProjectManager AZ::Outcome RemoveGemFromProject(const QString& gemPath, const QString& projectPath) override; // ProjectTemplate - AZ::Outcome> GetProjectTemplates() override; + AZ::Outcome> GetProjectTemplates(const QString& projectPath = {}) override; private: AZ_DISABLE_COPY_MOVE(PythonBindings); AZ::Outcome ExecuteWithLockErrorHandling(AZStd::function executionCallback); bool ExecuteWithLock(AZStd::function executionCallback); - GemInfo GemInfoFromPath(pybind11::handle path); + GemInfo GemInfoFromPath(pybind11::handle path, pybind11::handle pyProjectPath); ProjectInfo ProjectInfoFromPath(pybind11::handle path); - ProjectTemplateInfo ProjectTemplateInfoFromPath(pybind11::handle path); + ProjectTemplateInfo ProjectTemplateInfoFromPath(pybind11::handle path, pybind11::handle pyProjectPath); bool RegisterThisEngine(); bool StartPython(); bool StopPython(); diff --git a/Code/Tools/ProjectManager/Source/PythonBindingsInterface.h b/Code/Tools/ProjectManager/Source/PythonBindingsInterface.h index fd94a4e964..bc20d8e3f0 100644 --- a/Code/Tools/ProjectManager/Source/PythonBindingsInterface.h +++ b/Code/Tools/ProjectManager/Source/PythonBindingsInterface.h @@ -57,7 +57,7 @@ namespace O3DE::ProjectManager * @param path the absolute path to the Gem * @return an outcome with GemInfo on success */ - virtual AZ::Outcome GetGemInfo(const QString& path) = 0; + virtual AZ::Outcome GetGemInfo(const QString& path, const QString& projectPath = {}) = 0; /** * Get all available gem infos. This concatenates gems registered by the engine and the project. @@ -147,7 +147,7 @@ namespace O3DE::ProjectManager * Get info about all known project templates * @return an outcome with ProjectTemplateInfos on success */ - virtual AZ::Outcome> GetProjectTemplates() = 0; + virtual AZ::Outcome> GetProjectTemplates(const QString& projectPath = {}) = 0; }; using PythonBindingsInterface = AZ::Interface; diff --git a/scripts/o3de/o3de/cmake.py b/scripts/o3de/o3de/cmake.py index f8e8d6ce0c..a50d0a3478 100644 --- a/scripts/o3de/o3de/cmake.py +++ b/scripts/o3de/o3de/cmake.py @@ -40,26 +40,52 @@ def add_gem_dependency(cmake_file: pathlib.Path, # on a line by basis, see if there already is {gem_name} # find the first occurrence of a gem, copy its formatting and replace # the gem name with the new one and append it - # if the gem is already present fail t_data = [] added = False - line_index_to_append = None - with open(cmake_file, 'r') as s: + start_marker_line_index = None + end_marker_line_index = None + with cmake_file.open('r') as s: + in_gem_list = False line_index = 0 for line in s: - if line.strip().startswith(enable_gem_start_marker): - line_index_to_append = line_index - if f'{gem_name}' == line.strip(): - logger.warning(f'{gem_name} is already enabled in file {str(cmake_file)}.') - return 0 + parsed_line = line.strip() + if parsed_line.startswith(enable_gem_start_marker): + # Skip pass the 'set(ENABLED_GEMS' marker just in case their are gems declared on the same line + parsed_line = parsed_line[len(enable_gem_start_marker):] + # Set the flag to indicate that we are in the ENABLED_GEMS variable + in_gem_list = True + start_marker_line_index = line_index + + if in_gem_list: + # Since we are inside the ENABLED_GEMS variable determine if the line has the end_marker of ')' + if parsed_line.endswith(enable_gem_end_marker): + # Strip away the line end marker + parsed_line = parsed_line[:-len(enable_gem_end_marker)] + # Set the flag to indicate that we are no longer in the ENABLED_GEMS variable after this line + in_gem_list = False + end_marker_line_index = line_index + + # Split the rest of the line on whitespace just in case there are multiple gems in a line + gem_name_list = map(lambda gem_name: gem_name.strip('"'), parsed_line.split()) + if gem_name in gem_name_list: + logger.warning(f'{gem_name} is already enabled in file {str(cmake_file)}.') + return 0 + t_data.append(line) line_index += 1 - indent = 4 - if line_index_to_append: - # Insert the gem after the 'set(ENABLED_GEMS)...` line - t_data.insert(line_index_to_append + 1, f'{" " * indent}{gem_name}\n') + if start_marker_line_index: + # Make sure if there is a enable gem start marker, there is an end marker as well + if not end_marker_line_index: + logger.error(f'The Enable Gem start marker of "{enable_gem_start_marker}" has been found, but not the' + f' Enable Gem end marker of "{enable_gem_end_marker}"') + return 1 + + # Insert the gem before the ')' end marker + end_marker_partition = list(t_data[end_marker_line_index].rpartition(enable_gem_end_marker)) + end_marker_partition[1] = f'{" " * indent}{gem_name}\n' + end_marker_partition[1] + t_data[end_marker_line_index] = ''.join(end_marker_partition) added = True # if we didn't add, then create a new set(ENABLED_GEMS) variable @@ -71,7 +97,7 @@ def add_gem_dependency(cmake_file: pathlib.Path, t_data.append(f'{enable_gem_end_marker}\n') # write the cmake - with open(cmake_file, 'w') as s: + with cmake_file.open('w') as s: s.writelines(t_data) return 0 @@ -90,12 +116,44 @@ def remove_gem_dependency(cmake_file: pathlib.Path, # on a line by basis, remove any line with {gem_name} t_data = [] - # Remove the gem from the enabled_gem file by skipping the gem name entry removed = False - with open(cmake_file, 'r') as s: + + with cmake_file.open('r') as s: + in_gem_list = False for line in s: - if gem_name == line.strip(): - removed = True + # Strip whitespace from both ends of the line, but keep track of the leading whitespace + # for indenting the result line + parsed_line = line.lstrip() + indent = line[:-len(parsed_line)] + parsed_line = parsed_line.rstrip() + result_line = indent + if parsed_line.startswith(enable_gem_start_marker): + # Skip pass the 'set(ENABLED_GEMS' marker just in case their are gems declared on the same line + parsed_line = parsed_line[len(enable_gem_start_marker):] + result_line += enable_gem_start_marker + # Set the flag to indicate that we are in the ENABLED_GEMS variable + in_gem_list = True + + if in_gem_list: + # Since we are inside the ENABLED_GEMS variable determine if the line has the end_marker of ')' + if parsed_line.endswith(enable_gem_end_marker): + # Strip away the line end marker + parsed_line = parsed_line[:-len(enable_gem_end_marker)] + # Set the flag to indicate that we are no longer in the ENABLED_GEMS variable after this line + in_gem_list = False + # Split the rest of the line on whitespace just in case there are multiple gems in a line + # Strip double quotes surround any gem name + gem_name_list = list(map(lambda gem_name: gem_name.strip('"'), parsed_line.split())) + while gem_name in gem_name_list: + gem_name_list.remove(gem_name) + removed = True + + # Append the renaming gems to the line + result_line += ' '.join(gem_name_list) + # If the in_gem_list was flipped to false, that means the currently parsed line contained the + # line end marker, so append that to the result_line + result_line += enable_gem_end_marker if not in_gem_list else '' + t_data.append(result_line + '\n') else: t_data.append(line) @@ -104,14 +162,14 @@ def remove_gem_dependency(cmake_file: pathlib.Path, return 1 # write the cmake - with open(cmake_file, 'w') as s: + with cmake_file.open('w') as s: s.writelines(t_data) return 0 def get_project_gems(project_path: pathlib.Path, - platform: str = 'Common') -> set: + platform: str = 'Common') -> set: return get_gems_from_cmake_file(get_enabled_gem_cmake_file(project_path=project_path, platform=platform)) @@ -145,7 +203,7 @@ def get_enabled_gems(cmake_file: pathlib.Path) -> set: # Set the flag to indicate that we are no longer in the ENABLED_GEMS variable after this line in_gem_list = False # Split the rest of the line on whitespace just in case there are multiple gems in a line - gem_name_list = line.split() + gem_name_list = list(map(lambda gem_name: gem_name.strip('"'), line.split())) gem_target_set.update(gem_name_list) return gem_target_set @@ -156,7 +214,7 @@ def get_project_gem_paths(project_path: pathlib.Path, gem_names = get_project_gems(project_path, platform) gem_paths = set() for gem_name in gem_names: - gem_paths.add(manifest.get_registered(gem_name=gem_name)) + gem_paths.add(manifest.get_registered(gem_name=gem_name, project_path=project_path)) return gem_paths diff --git a/scripts/o3de/o3de/disable_gem.py b/scripts/o3de/o3de/disable_gem.py index 82fe9c8ac6..cb227a6077 100644 --- a/scripts/o3de/o3de/disable_gem.py +++ b/scripts/o3de/o3de/disable_gem.py @@ -64,7 +64,7 @@ def disable_gem_in_project(gem_name: str = None, # if gem name resolve it into a path if gem_name and not gem_path: - gem_path = manifest.get_registered(gem_name=gem_name) + gem_path = manifest.get_registered(gem_name=gem_name, project_path=project_path) if not gem_path: logger.error(f'Unable to locate gem path from the registered manifest.json files:' f' {str(pathlib.Path.home() / ".o3de/manifest.json")},' @@ -78,7 +78,7 @@ def disable_gem_in_project(gem_name: str = None, # Read gem.json from the gem path - gem_json_data = manifest.get_gem_json_data(gem_path=gem_path) + gem_json_data = manifest.get_gem_json_data(gem_path=gem_path, project_path=project_path) if not gem_json_data: logger.error(f'Could not read gem.json content under {gem_path}.') return 1 diff --git a/scripts/o3de/o3de/enable_gem.py b/scripts/o3de/o3de/enable_gem.py index 0e007f6370..2e98d7d82e 100644 --- a/scripts/o3de/o3de/enable_gem.py +++ b/scripts/o3de/o3de/enable_gem.py @@ -64,7 +64,7 @@ def enable_gem_in_project(gem_name: str = None, # if gem name resolve it into a path if gem_name and not gem_path: - gem_path = manifest.get_registered(gem_name=gem_name) + gem_path = manifest.get_registered(gem_name=gem_name, project_path=project_path) if not gem_path: logger.error(f'Unable to locate gem path from the registered manifest.json files:' f' {str(pathlib.Path( "~/.o3de/o3de_manifest.json").expanduser())},' @@ -78,7 +78,7 @@ def enable_gem_in_project(gem_name: str = None, return 1 # Read gem.json from the gem path - gem_json_data = manifest.get_gem_json_data(gem_path=gem_path) + gem_json_data = manifest.get_gem_json_data(gem_path=gem_path, project_path=project_path) if not gem_json_data: logger.error(f'Could not read gem.json content under {gem_path}.') return 1 diff --git a/scripts/o3de/o3de/manifest.py b/scripts/o3de/o3de/manifest.py index 7d2792160f..074e7f5a9e 100644 --- a/scripts/o3de/o3de/manifest.py +++ b/scripts/o3de/o3de/manifest.py @@ -354,7 +354,7 @@ def get_all_templates(project_path: pathlib.Path = None) -> list: return list(dict.fromkeys(templates_data)) -def get_all_restricted() -> list: +def get_all_restricted(project_path: pathlib.Path = None) -> list: restricted_data = get_restricted() restricted_data.extend(get_engine_restricted()) if project_path: @@ -488,14 +488,14 @@ def get_project_json_data(project_name: str = None, return None -def get_gem_json_data(gem_name: str = None, - gem_path: str or pathlib.Path = None) -> dict or None: +def get_gem_json_data(gem_name: str = None, gem_path: str or pathlib.Path = None, + project_path: pathlib.Path = None) -> dict or None: if not gem_name and not gem_path: logger.error('Must specify either a Gem name or Gem Path.') return None if gem_name and not gem_path: - gem_path = get_registered(gem_name=gem_name) + gem_path = get_registered(gem_name=gem_name, project_path=project_path) if not gem_path: logger.error(f'Gem Path {gem_path} has not been registered.') @@ -521,14 +521,14 @@ def get_gem_json_data(gem_name: str = None, return None -def get_template_json_data(template_name: str = None, - template_path: str or pathlib.Path = None) -> dict or None: +def get_template_json_data(template_name: str = None, template_path: str or pathlib.Path = None, + project_path: pathlib.Path = None) -> dict or None: if not template_name and not template_path: logger.error('Must specify either a Template name or Template Path.') return None if template_name and not template_path: - template_path = get_registered(template_name=template_name) + template_path = get_registered(template_name=template_name, project_path=project_path) if not template_path: logger.error(f'Template Path {template_path} has not been registered.') @@ -554,14 +554,14 @@ def get_template_json_data(template_name: str = None, return None -def get_restricted_json_data(restricted_name: str = None, - restricted_path: str or pathlib.Path = None) -> dict or None: +def get_restricted_json_data(restricted_name: str = None, restricted_path: str or pathlib.Path = None, + project_path: pathlib.Path = None) -> dict or None: if not restricted_name and not restricted_path: logger.error('Must specify either a Restricted name or Restricted Path.') return None if restricted_name and not restricted_path: - restricted_path = get_registered(restricted_name=restricted_name) + restricted_path = get_registered(restricted_name=restricted_name, project_path=project_path) if not restricted_path: logger.error(f'Restricted Path {restricted_path} has not been registered.') @@ -593,7 +593,32 @@ def get_registered(engine_name: str = None, template_name: str = None, default_folder: str = None, repo_name: str = None, - restricted_name: str = None) -> pathlib.Path or None: + restricted_name: str = None, + project_path: pathlib.Path = None) -> pathlib.Path or None: + """ + Looks up a registered entry in either the ~/.o3de/o3de_manifest.json, /engine.json + or the /project.json (if the project_path parameter is supplied) + + :param engine_name: Name of a registered engine to lookup in the ~/.o3de/o3de_manifest.json file + :param project_name: Name of a project to lookup in either the ~/.o3de/o3de_manifest.json or + /engine.json file + :param gem_name: Name of a gem to lookup in either the ~/.o3de/o3de_manifest.json, /engine.json + or /project.json. NOTE: The project_path parameter must be supplied to lookup the registration + with the project.json + :param template_name: Name of a template to lookup in either the ~/.o3de/o3de_manifest.json, /engine.json + or /project.json. NOTE: The project_path parameter must be supplied to lookup the registration + with the project.json + :param repo_name: Name of a repo to lookup in the ~/.o3de/o3de_manifest.json + :param default_folder: Type of "default" folder to lookup in the ~/.o3de/o3de_manifest.json + Valid values are "engines", "projects", "gems", "templates,", "restricted" + :param restricted_name: Name of a restricted directory object to lookup in either the ~/.o3de/o3de_manifest.json, + /engine.json or /project.json. + NOTE: The project_path parameter must be supplied to lookup the registration with the project.json + :param project_path: Path to project root, which is used to examined the project.json file in order to + query either gems, templates or restricted directories registered with the project + + :return path value associated with the registered object name if found. Otherwise None is returned + """ json_data = load_o3de_manifest() # check global first then this engine @@ -627,7 +652,7 @@ def get_registered(engine_name: str = None, return project_path elif isinstance(gem_name, str): - gems = get_all_gems() + gems = get_all_gems(project_path) for gem_path in gems: gem_path = pathlib.Path(gem_path).resolve() gem_json = gem_path / 'gem.json' @@ -642,7 +667,7 @@ def get_registered(engine_name: str = None, return gem_path elif isinstance(template_name, str): - templates = get_all_templates() + templates = get_all_templates(project_path) for template_path in templates: template_path = pathlib.Path(template_path).resolve() template_json = template_path / 'template.json' @@ -657,7 +682,7 @@ def get_registered(engine_name: str = None, return template_path elif isinstance(restricted_name, str): - restricted = get_all_restricted() + restricted = get_all_restricted(project_path) for restricted_path in restricted: restricted_path = pathlib.Path(restricted_path).resolve() restricted_json = restricted_path / 'restricted.json' diff --git a/scripts/o3de/tests/unit_test_cmake.py b/scripts/o3de/tests/unit_test_cmake.py index e5ce17dc03..d69a1a57a5 100644 --- a/scripts/o3de/tests/unit_test_cmake.py +++ b/scripts/o3de/tests/unit_test_cmake.py @@ -12,6 +12,8 @@ import io import json import logging +import unittest.mock + import pytest import pathlib from unittest.mock import patch @@ -67,3 +69,164 @@ class TestGetEnabledGems: enabled_gems_set = cmake.get_enabled_gems(pathlib.Path('enabled_gems.cmake')) assert enabled_gems_set == expected_set + + +class TestAddGemDependency: + @pytest.mark.parametrize( + "enable_gems_cmake_data, expected_set, expected_return", [ + pytest.param(""" + # Comment + set(ENABLED_GEMS foo bar baz) + """, set(['foo', 'bar', 'baz', 'TestGem']), 0), + pytest.param(""" + # Comment + set(ENABLED_GEMS + foo + bar + baz + ) + """, set(['foo', 'bar', 'baz', 'TestGem']), 0), + pytest.param(""" + # Comment + set(ENABLED_GEMS + foo + bar + baz) + """, set(['foo', 'bar', 'baz', 'TestGem']), 0), + pytest.param(""" + # Comment + set(ENABLED_GEMS + foo bar + baz) + """, set(['foo', 'bar', 'baz', 'TestGem']), 0), + pytest.param(""" + """, set(['TestGem']), 0), + pytest.param(""" + # Comment + set(RANDOM_VARIABLE TestGame, TestProject Test Engine) + set(ENABLED_GEMS HelloWorld IceCream + foo + baz bar + baz baz baz baz baz morebaz lessbaz + ) + Random Text + """, set(['HelloWorld', 'IceCream', 'foo', 'bar', 'baz', 'morebaz', 'lessbaz', 'TestGem']), + 0), + pytest.param(""" + set(ENABLED_GEMS foo bar baz + """, set(['foo', 'bar', 'baz']), 1), + ] + ) + def test_add_gem_dependency(self, enable_gems_cmake_data, expected_set, expected_return): + enabled_gems_set = set() + add_gem_return = None + + class StringBufferIOWrapper(io.StringIO): + def __init__(self): + nonlocal enable_gems_cmake_data + super().__init__(enable_gems_cmake_data) + def __enter__(self): + return super().__enter__() + def __exit__(self, exc_type, exc_val, exc_tb): + nonlocal enable_gems_cmake_data + enable_gems_cmake_data = super().getvalue() + super().__exit__(exc_tb, exc_val, exc_tb) + + + with patch('pathlib.Path.resolve', return_value=pathlib.Path('enabled_gems.cmake')) as pathlib_is_resolve_mock,\ + patch('pathlib.Path.is_file', return_value=True) as pathlib_is_file_mock,\ + patch('pathlib.Path.open', side_effect=lambda mode: StringBufferIOWrapper()) as pathlib_open_mock: + + add_gem_return = cmake.add_gem_dependency(pathlib.Path('enabled_gems.cmake'), 'TestGem') + enabled_gems_set = cmake.get_enabled_gems(pathlib.Path('enabled_gems.cmake')) + + assert add_gem_return == expected_return + assert enabled_gems_set == expected_set + + +class TestRemoveGemDependency: + @pytest.mark.parametrize( + "enable_gems_cmake_data, expected_set, expected_return", [ + pytest.param(""" + # Comment + set(ENABLED_GEMS foo bar baz TestGem) + """, set(['foo', 'bar', 'baz']), 0), + pytest.param(""" + # Comment + set(ENABLED_GEMS + foo + bar + baz + TestGem + ) + """, set(['foo', 'bar', 'baz']), 0), + pytest.param(""" + # Comment + set(ENABLED_GEMS + foo + bar + baz + TestGem) + """, set(['foo', 'bar', 'baz']), 0), + pytest.param(""" + # Comment + set(ENABLED_GEMS + foo bar + baz TestGem) + """, set(['foo', 'bar', 'baz']), 0), + pytest.param(""" + # Comment + set(ENABLED_GEMS + foo + TestGem + bar + TestGem + baz + ) + Random Text + """, set(['foo', 'bar', 'baz']), + 0), + pytest.param(""" + set(ENABLED_GEMS + foo + bar + baz + "TestGem" + ) + """, set(['foo', 'bar', 'baz']), 0), + pytest.param(""" + """, set(), 1), + pytest.param(""" + set(ENABLED_GEMS + foo + bar + baz + ) + """, set(['foo', 'bar', 'baz']), 1), + ] + ) + def test_remove_gem_dependency(self, enable_gems_cmake_data, expected_set, expected_return): + enabled_gems_set = set() + add_gem_return = None + + class StringBufferIOWrapper(io.StringIO): + def __init__(self): + nonlocal enable_gems_cmake_data + super().__init__(enable_gems_cmake_data) + def __enter__(self): + return super().__enter__() + def __exit__(self, exc_type, exc_val, exc_tb): + nonlocal enable_gems_cmake_data + enable_gems_cmake_data = super().getvalue() + super().__exit__(exc_tb, exc_val, exc_tb) + + + with patch('pathlib.Path.resolve', return_value=pathlib.Path('enabled_gems.cmake')) as pathlib_is_resolve_mock,\ + patch('pathlib.Path.is_file', return_value=True) as pathlib_is_file_mock,\ + patch('pathlib.Path.open', side_effect=lambda mode: StringBufferIOWrapper()) as pathlib_open_mock: + + add_gem_return = cmake.remove_gem_dependency(pathlib.Path('enabled_gems.cmake'), 'TestGem') + enabled_gems_set = cmake.get_enabled_gems(pathlib.Path('enabled_gems.cmake')) + + assert add_gem_return == expected_return + assert enabled_gems_set == expected_set From d5916630b88fc19bd017c9fff6591a3db2a7818a Mon Sep 17 00:00:00 2001 From: gallowj Date: Wed, 9 Jun 2021 14:27:59 -0500 Subject: [PATCH 058/205] Changes related to ATOM-15021, this allows maya on py2.7 to work with .o3de\boostrap changes --- .../Solutions/.wing/DCCsi_7x.wpr | 6 ++++++ .../DccScriptingInterface/azpy/config_utils.py | 8 +++++--- .../DccScriptingInterface/azpy/constants.py | 13 ++++++++++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Solutions/.wing/DCCsi_7x.wpr b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Solutions/.wing/DCCsi_7x.wpr index d57e91f35d..aa7a8c4bd9 100644 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Solutions/.wing/DCCsi_7x.wpr +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/Solutions/.wing/DCCsi_7x.wpr @@ -69,10 +69,16 @@ proj.launch-config = {loc('../../SDK/Atom/Scripts/Python/DCC_Materials/maya_mate loc('../../azpy/__init__.py'): ('custom', (u'', 'launch-oobMrvXFf1SwtYBg')), + loc('../../azpy/constants.py'): ('custom', + (u'', + 'launch-GeaM41WYMGA1sEfm')), loc('../../azpy/env_base.py'): ('project', (u'', 'launch-GeaM41WYMGA1sEfm')), loc('../../azpy/maya/callbacks/node_message_callback_handler.py'): ('c'\ 'ustom', + (u'', + 'launch-GeaM41WYMGA1sEfm')), + loc('../../config.py'): ('custom', (u'', 'launch-GeaM41WYMGA1sEfm'))} diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/azpy/config_utils.py b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/azpy/config_utils.py index 0a0c6b8337..5b5c5aa079 100755 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/azpy/config_utils.py +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/azpy/config_utils.py @@ -165,12 +165,14 @@ def get_current_project(): bootstrap_box = None try: - bootstrap_box = Box.from_json(filename=PATH_USER_O3DE_BOOTSTRAP, + bootstrap_box = Box.from_json(filename=str(Path(PATH_USER_O3DE_BOOTSTRAP).resolve()), encoding="utf-8", errors="strict", object_pairs_hook=OrderedDict) - except FileExistsError as e: - _LOGGER.error('File does not exist: {}'.format(PATH_USER_O3DE_BOOTSTRAP)) + except Exception as e: + # this file runs in py2.7 for Maya 2020, FileExistsError is not defined + _LOGGER.error('FileExistsError: {}'.format(PATH_USER_O3DE_BOOTSTRAP)) + _LOGGER.error('exception is: {}'.format(e)) if bootstrap_box: # this seems fairly hard coded - what if the data changes? diff --git a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/azpy/constants.py b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/azpy/constants.py index e10221d324..7f6b0e4523 100755 --- a/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/azpy/constants.py +++ b/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface/azpy/constants.py @@ -226,7 +226,18 @@ TAG_DEFAULT_PY = str('Launch_pyBASE.bat') FILENAME_DEFAULT_CONFIG = str('DCCSI_config.json') # new o3de related paths -PATH_USER_O3DE = str('{home}\\{o3de}').format(home=expanduser("~"), +# os.path.expanduser("~") returns different values in py2.7 vs 3 +PATH_USER_HOME = expanduser("~") +_LOGGER.debug('user home: {}'.format(PATH_USER_HOME)) + +# special case, make sure didn't return \documents +parts = os.path.split(PATH_USER_HOME) + +if str(parts[1].lower()) == 'documents': + PATH_USER_HOME = parts[0] + _LOGGER.debug('user home CORRECTED: {}'.format(PATH_USER_HOME)) + +PATH_USER_O3DE = str('{home}\\{o3de}').format(home=PATH_USER_HOME, o3de=TAG_O3DE_FOLDER) PATH_USER_O3DE_REGISTRY = str('{0}\\Registry').format(PATH_USER_O3DE) PATH_USER_O3DE_BOOTSTRAP = str('{reg}\\{file}').format(reg=PATH_USER_O3DE_REGISTRY, From ec7edac932365af5ac9fde3391f5c9a63585bb93 Mon Sep 17 00:00:00 2001 From: chcurran <82187351+carlitosan@users.noreply.github.com> Date: Wed, 9 Jun 2021 12:43:43 -0700 Subject: [PATCH 059/205] Hide the raw input handler bus from the SC node palette list --- Gems/StartingPointInput/Code/Source/StartingPointInputGem.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Gems/StartingPointInput/Code/Source/StartingPointInputGem.cpp b/Gems/StartingPointInput/Code/Source/StartingPointInputGem.cpp index c08cac0188..28ca91976b 100644 --- a/Gems/StartingPointInput/Code/Source/StartingPointInputGem.cpp +++ b/Gems/StartingPointInput/Code/Source/StartingPointInputGem.cpp @@ -167,6 +167,7 @@ namespace StartingPointInput { "actionName", "The name of the Input event action used to create an InputEventNotificationId" } } }); behaviorContext->EBus("InputEventNotificationBus") + ->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::List) ->Handler() ->Event("OnPressed", &InputEventNotificationBus::Events::OnPressed) ->Event("OnHeld", &InputEventNotificationBus::Events::OnHeld) From 47205d088f246efb43b088a265917e728e9c0369 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Wed, 9 Jun 2021 13:05:45 -0700 Subject: [PATCH 060/205] SPEC-2513 Fixes to enable w4310 --- Code/CryEngine/CryCommon/CryCustomTypes.h | 6 ++---- cmake/Platform/Common/MSVC/Configurations_msvc.cmake | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Code/CryEngine/CryCommon/CryCustomTypes.h b/Code/CryEngine/CryCommon/CryCustomTypes.h index 25578ce9cc..8d896f0bf3 100644 --- a/Code/CryEngine/CryCommon/CryCustomTypes.h +++ b/Code/CryEngine/CryCommon/CryCustomTypes.h @@ -282,11 +282,9 @@ struct TIntTraits static const size_t nPOS_BITS = sizeof(T) * 8 - bSIGNED; - static const T nMIN - = bSIGNED ? T (T(1) << (T(sizeof(T) * 8 - 1))) : T(0); + static const T nMIN = std::numeric_limits::min(); - static const T nMAX - = ~nMIN; + static const T nMAX = std::numeric_limits::max(); }; template diff --git a/cmake/Platform/Common/MSVC/Configurations_msvc.cmake b/cmake/Platform/Common/MSVC/Configurations_msvc.cmake index b07a87a35a..3d558129d4 100644 --- a/cmake/Platform/Common/MSVC/Configurations_msvc.cmake +++ b/cmake/Platform/Common/MSVC/Configurations_msvc.cmake @@ -66,7 +66,6 @@ ly_append_configurations_options( /wd4244 # conversion, possible loss of data /wd4245 # conversion, signed/unsigned mismatch /wd4267 # conversion, possible loss of data - /wd4310 # cast truncates constant value /wd4389 # comparison, signed/unsigned mismatch # Enabling warnings that are disabled by default from /W4 From 1f2572fe8aa589a53c8d1644e5523bf422d11ded Mon Sep 17 00:00:00 2001 From: mnaumov Date: Wed, 9 Jun 2021 13:26:42 -0700 Subject: [PATCH 061/205] PR feedback --- .../Code/Source/Mesh/EditorMeshComponent.cpp | 18 +++---- .../Code/Source/Mesh/EditorMeshStats.cpp | 53 ++++++++++++------- .../Code/Source/Mesh/EditorMeshStats.h | 10 ++-- 3 files changed, 47 insertions(+), 34 deletions(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp index 3176bfe37b..3c5063a69e 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp @@ -60,7 +60,7 @@ namespace AZ ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorMeshComponent::AddEditorMaterialComponent) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorMeshComponent::GetEditorMaterialComponentVisibility) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshComponent::m_stats, "Mesh Stats", "") - ->Attribute(AZ::Edit::Attributes::AutoExpand, false) + ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ; editContext->Class( @@ -210,20 +210,21 @@ namespace AZ void EditorMeshComponent::OnModelReady(const Data::Asset& /*modelAsset*/, const Data::Instance& /*model*/) { + const auto& lodAssets = m_controller.GetConfiguration().m_modelAsset->GetLodAssets(); m_stats.m_meshStatsForLod.clear(); - for (auto& lod : m_controller.GetConfiguration().m_modelAsset->GetLodAssets()) + m_stats.m_meshStatsForLod.reserve(lodAssets.size()); + for (const auto& lodAsset : lodAssets) { EditorMeshStatsForLod stats; - auto meshes = lod->GetMeshes(); - stats.m_meshCount = lod->GetMeshes().size(); - for (auto& mesh : meshes) + const auto& meshes = lodAsset->GetMeshes(); + stats.m_meshCount = lodAsset->GetMeshes().size(); + for (const auto& mesh : meshes) { stats.m_vertCount += mesh.GetVertexCount(); stats.m_triCount += mesh.GetIndexCount() / 3; } - m_stats.m_meshStatsForLod.push_back(stats); + m_stats.m_meshStatsForLod.emplace_back(stats); } - m_stats.UpdateStringRepresentation(); // Refresh the tree when the model loads to update UI based on the model. AzToolsFramework::ToolsApplicationEvents::Bus::Broadcast( @@ -238,8 +239,7 @@ namespace AZ // This is a bug with AssetManager [LYN-2249] auto temp = m_controller.m_configuration.m_modelAsset; - m_stats.m_meshStatsForLod.clear(); - m_stats.UpdateStringRepresentation(); + m_stats.m_meshStatsForLod.swap({}); SetDirty(); return BaseClass::OnConfigurationChanged(); diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp index 4fa4364569..268e568179 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp @@ -13,18 +13,45 @@ #include #include #include -#include namespace AZ { namespace Render { - void EditorMeshStats::Reflect(ReflectContext* context) + void EditorMeshStatsForLod::Reflect(ReflectContext* context) { + if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Field("meshCount", &EditorMeshStatsForLod::m_meshCount) + ->Field("vertCount", &EditorMeshStatsForLod::m_vertCount) + ->Field("triCount", &EditorMeshStatsForLod::m_triCount) + ; + + if (AZ::EditContext* editContext = serializeContext->GetEditContext()) + { + editContext->Class("EditorMeshStatsForLod", "") + ->ClassElement(AZ::Edit::ClassElements::EditorData, "") + ->Attribute(AZ::Edit::Attributes::AutoExpand, true) + ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshStatsForLod::m_meshCount, "Mesh Count", "") + ->Attribute(AZ::Edit::Attributes::ReadOnly, true) + ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshStatsForLod::m_vertCount, "Vert Count", "") + ->Attribute(AZ::Edit::Attributes::ReadOnly, true) + ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshStatsForLod::m_triCount, "Tri Count", "") + ->Attribute(AZ::Edit::Attributes::ReadOnly, true) + ; + } + } + } + + void EditorMeshStats::Reflect(ReflectContext* context) + { + EditorMeshStatsForLod::Reflect(context); + if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Field("stringRepresentation", &EditorMeshStats::m_stringRepresentation) + ->Field("meshStatsForLod", &EditorMeshStats::m_meshStatsForLod) ; if (AZ::EditContext* editContext = serializeContext->GetEditContext()) @@ -32,27 +59,13 @@ namespace AZ editContext->Class( "EditorMeshStats", "") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - ->Attribute(AZ::Edit::Attributes::AutoExpand, false) - ->DataElement(AZ::Edit::UIHandlers::MultiLineEdit, &EditorMeshStats::m_stringRepresentation, "Mesh Stats", "") + ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshStats::m_meshStatsForLod, "Mesh Stats", "") ->Attribute(AZ::Edit::Attributes::NameLabelOverride, "") - ->Attribute(AZ::Edit::Attributes::ReadOnly, true) + ->Attribute(AZ::Edit::Attributes::ContainerCanBeModified, false) + ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ; } } } - - void EditorMeshStats::UpdateStringRepresentation() - { - m_stringRepresentation = ""; - int lodIndex = 0; - for (auto& meshStatsForLod : m_meshStatsForLod) - { - m_stringRepresentation += AZStd::string::format("LOD: %d:\n", lodIndex++); - m_stringRepresentation += AZStd::string::format("\tMesh Count: %d\n", meshStatsForLod.m_meshCount); - m_stringRepresentation += AZStd::string::format("\tVert Count: %d\n", meshStatsForLod.m_vertCount); - m_stringRepresentation += AZStd::string::format("\tTriangle Count: %d\n", meshStatsForLod.m_triCount); - } - AZ::StringFunc::TrimWhiteSpace(m_stringRepresentation, true, true); - }; } // namespace Render } // namespace AZ diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h index a2cca39a82..111ec6d27b 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h @@ -26,9 +26,11 @@ namespace AZ AZ_RTTI(EditorMeshStatsForLod, "{626E3AEB-0F7A-4777-BAF1-2BBA8C1857ED}"); AZ_CLASS_ALLOCATOR(EditorMeshStatsForLod, SystemAllocator, 0); - int m_meshCount = 0; - int m_vertCount = 0; - int m_triCount = 0; + static void Reflect(ReflectContext* context); + + AZ::u32 m_meshCount = 0; + AZ::u32 m_vertCount = 0; + AZ::u32 m_triCount = 0; }; struct EditorMeshStats final @@ -37,10 +39,8 @@ namespace AZ AZ_CLASS_ALLOCATOR(EditorMeshStats, SystemAllocator, 0); static void Reflect(ReflectContext* context); - void UpdateStringRepresentation(); AZStd::vector m_meshStatsForLod; - AZStd::string m_stringRepresentation = {}; }; } // namespace Render } // namespace AZ From e3fe4705f65d035b5e9a62ff5f9f4cdf8152740b Mon Sep 17 00:00:00 2001 From: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> Date: Wed, 9 Jun 2021 13:44:18 -0700 Subject: [PATCH 062/205] Post merge and Linux fixes. --- .../Json/UnsupportedTypesSerializerTests.cpp | 57 +++++++++---------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/UnsupportedTypesSerializerTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/UnsupportedTypesSerializerTests.cpp index 8c9f5d0d3d..b7ad6bceae 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/UnsupportedTypesSerializerTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/UnsupportedTypesSerializerTests.cpp @@ -46,17 +46,18 @@ namespace JsonSerializationTests void SetUp() override { BaseJsonSerializerFixture::SetUp(); - m_serializer = AZStd::make_unique(); + this->m_serializer = AZStd::make_unique(); } void TearDown() override { - m_serializer.reset(); + this->m_serializer.reset(); BaseJsonSerializerFixture::TearDown(); } protected: AZStd::unique_ptr m_serializer; + Type m_instance{}; }; using UnsupportedTypesTestTypes = ::testing::Types; @@ -64,80 +65,78 @@ namespace JsonSerializationTests TYPED_TEST(JsonUnsupportedTypesSerializerTests, Load_CallDirectly_ReportsIssueAndHalts) { - using namespace AZ::JsonSerializationResult; + namespace JSR = AZ::JsonSerializationResult; bool hasMessage = false; - auto callback = [&hasMessage](AZStd::string_view message, ResultCode result, AZStd::string_view) -> ResultCode + auto callback = [&hasMessage](AZStd::string_view message, JSR::ResultCode result, AZStd::string_view) -> JSR::ResultCode { hasMessage = !message.empty(); return result; }; - m_jsonDeserializationContext->PushReporter(AZStd::move(callback)); + this->m_jsonDeserializationContext->PushReporter(AZStd::move(callback)); - Type instance{}; - Result result = m_serializer->Load(&instance, azrtti_typeid(), *m_jsonDocument, *m_jsonDeserializationContext); - m_jsonDeserializationContext->PopReporter(); + JSR::Result result = this->m_serializer->Load( + &this->m_instance, azrtti_typeid(this->m_instance), *this->m_jsonDocument, *this->m_jsonDeserializationContext); + this->m_jsonDeserializationContext->PopReporter(); - EXPECT_EQ(Processing::Halted, result.GetResultCode().GetProcessing()); + EXPECT_EQ(JSR::Processing::Halted, result.GetResultCode().GetProcessing()); EXPECT_TRUE(hasMessage); } TYPED_TEST(JsonUnsupportedTypesSerializerTests, Load_CallThroughFrontEnd_ReportsIssueAndHalts) { - using namespace AZ::JsonSerializationResult; + namespace JSR = AZ::JsonSerializationResult; bool hasMessage = false; - auto callback = [&hasMessage](AZStd::string_view message, ResultCode result, AZStd::string_view) -> ResultCode + auto callback = [&hasMessage](AZStd::string_view message, JSR::ResultCode result, AZStd::string_view) -> JSR::ResultCode { hasMessage = !message.empty(); return result; }; - m_deserializationSettings->m_reporting = AZStd::move(callback); + this->m_deserializationSettings->m_reporting = AZStd::move(callback); - Type instance{}; - ResultCode result = AZ::JsonSerialization::Load(instance, *m_jsonDocument, *m_deserializationSettings); + JSR::ResultCode result = AZ::JsonSerialization::Load(this->m_instance, *this->m_jsonDocument, *this->m_deserializationSettings); - EXPECT_EQ(Processing::Halted, result.GetProcessing()); + EXPECT_EQ(JSR::Processing::Halted, result.GetProcessing()); EXPECT_TRUE(hasMessage); } TYPED_TEST(JsonUnsupportedTypesSerializerTests, Save_CallDirectly_ReportsIssueAndHalts) { - using namespace AZ::JsonSerializationResult; + namespace JSR = AZ::JsonSerializationResult; bool hasMessage = false; - auto callback = [&hasMessage](AZStd::string_view message, ResultCode result, AZStd::string_view) -> ResultCode + auto callback = [&hasMessage](AZStd::string_view message, JSR::ResultCode result, AZStd::string_view) -> JSR::ResultCode { hasMessage = !message.empty(); return result; }; - m_jsonSerializationContext->PushReporter(AZStd::move(callback)); + this->m_jsonSerializationContext->PushReporter(AZStd::move(callback)); - Type instance{}; - Result result = m_serializer->Store(*m_jsonDocument, &instance, nullptr, azrtti_typeid(), *m_jsonSerializationContext); - m_jsonSerializationContext->PopReporter(); + JSR::Result result = this->m_serializer->Store( + *this->m_jsonDocument, &this->m_instance, nullptr, azrtti_typeid(this->m_instance), *this->m_jsonSerializationContext); + this->m_jsonSerializationContext->PopReporter(); - EXPECT_EQ(Processing::Halted, result.GetResultCode().GetProcessing()); + EXPECT_EQ(JSR::Processing::Halted, result.GetResultCode().GetProcessing()); EXPECT_TRUE(hasMessage); } TYPED_TEST(JsonUnsupportedTypesSerializerTests, Save_CallThroughFrontEnd_ReportsIssueAndHalts) { - using namespace AZ::JsonSerializationResult; + namespace JSR = AZ::JsonSerializationResult; bool hasMessage = false; - auto callback = [&hasMessage](AZStd::string_view message, ResultCode result, AZStd::string_view) -> ResultCode + auto callback = [&hasMessage](AZStd::string_view message, JSR::ResultCode result, AZStd::string_view) -> JSR::ResultCode { hasMessage = !message.empty(); return result; }; - m_serializationSettings->m_reporting = AZStd::move(callback); + this->m_serializationSettings->m_reporting = AZStd::move(callback); - Type instance{}; - ResultCode result = - AZ::JsonSerialization::Store(*m_jsonDocument, m_jsonDocument->GetAllocator(), instance, *m_serializationSettings); + JSR::ResultCode result = AZ::JsonSerialization::Store( + *this->m_jsonDocument, this->m_jsonDocument->GetAllocator(), this->m_instance, *this->m_serializationSettings); - EXPECT_EQ(Processing::Halted, result.GetProcessing()); + EXPECT_EQ(JSR::Processing::Halted, result.GetProcessing()); EXPECT_TRUE(hasMessage); } } // namespace JsonSerializationTests From 3c23f5feadb27ca5428de6dc35a11402941d3b36 Mon Sep 17 00:00:00 2001 From: Terry Michaels Date: Wed, 9 Jun 2021 16:21:02 -0500 Subject: [PATCH 063/205] Fixed size of Save As window (#1208) --- Code/Sandbox/Editor/CryEditDoc.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Code/Sandbox/Editor/CryEditDoc.cpp b/Code/Sandbox/Editor/CryEditDoc.cpp index 747921d401..5b2a4b9a83 100644 --- a/Code/Sandbox/Editor/CryEditDoc.cpp +++ b/Code/Sandbox/Editor/CryEditDoc.cpp @@ -729,6 +729,9 @@ bool CCryEditDoc::SaveModified() void CCryEditDoc::OnFileSaveAs() { CLevelFileDialog levelFileDialog(false); + levelFileDialog.show(); + levelFileDialog.adjustSize(); + if (levelFileDialog.exec() == QDialog::Accepted) { if (OnSaveDocument(levelFileDialog.GetFileName())) From 4ad0560d06bd849f8ccdaaa473fbafffc97fc641 Mon Sep 17 00:00:00 2001 From: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> Date: Wed, 9 Jun 2021 12:11:04 -0700 Subject: [PATCH 064/205] Removed AddOn(De)SpawnedHandler from Spawnable Entities Interface The calls AddOnSpawnedHandler and AddOnDespawnedHandler were removed from the SpawnableEntitiesInterface. These functions will eventually be called from multiple threads and AZ::Event currently doesn't have a thread-safe version to support this. There's also a performance concern as these callbacks are called for each individual (de)spawn requests which can lead to multiple handlers being called without information that's relevant to the callback. It would be better to batch up all (de)spawn requests per ProcessQueue call and only have a single event do a single signal. Since both events are currently not being used they have been removed for now, but can be introduced -with the previously mentioned concerns in mind- when needed. --- .../Spawnable/SpawnableEntitiesInterface.h | 6 ------ .../Spawnable/SpawnableEntitiesManager.cpp | 20 ------------------- .../Spawnable/SpawnableEntitiesManager.h | 6 ------ 3 files changed, 32 deletions(-) diff --git a/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesInterface.h b/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesInterface.h index d2a5872fc8..8236683163 100644 --- a/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesInterface.h +++ b/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesInterface.h @@ -322,12 +322,6 @@ namespace AzFramework //! @param optionalArgs Optional additional arguments, see BarrierOptionalArgs. virtual void Barrier(EntitySpawnTicket& ticket, BarrierCallback completionCallback, BarrierOptionalArgs optionalArgs = {}) = 0; - //! Register a handler for OnSpawned events. - virtual void AddOnSpawnedHandler(AZ::Event>::Handler& handler) = 0; - - //! Register a handler for OnDespawned events. - virtual void AddOnDespawnedHandler(AZ::Event>::Handler& handler) = 0; - protected: [[nodiscard]] virtual AZStd::pair CreateTicket(AZ::Data::Asset&& spawnable) = 0; virtual void DestroyTicket(void* ticket) = 0; diff --git a/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesManager.cpp b/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesManager.cpp index a482c1d4f9..d6d005a944 100644 --- a/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesManager.cpp +++ b/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesManager.cpp @@ -150,16 +150,6 @@ namespace AzFramework QueueRequest(ticket, optionalArgs.m_priority, AZStd::move(queueEntry)); } - void SpawnableEntitiesManager::AddOnSpawnedHandler(AZ::Event>::Handler& handler) - { - handler.Connect(m_onSpawnedEvent); - } - - void SpawnableEntitiesManager::AddOnDespawnedHandler(AZ::Event>::Handler& handler) - { - handler.Connect(m_onDespawnedEvent); - } - auto SpawnableEntitiesManager::ProcessQueue(CommandQueuePriority priority) -> CommandQueueStatus { CommandQueueStatus result = CommandQueueStatus::NoCommandsLeft; @@ -320,8 +310,6 @@ namespace AzFramework ticket.m_spawnedEntities.begin() + spawnedEntitiesInitialCount, ticket.m_spawnedEntities.end())); } - m_onSpawnedEvent.Signal(ticket.m_spawnable); - ticket.m_currentRequestId++; return true; } @@ -401,8 +389,6 @@ namespace AzFramework ticket.m_spawnedEntities.begin() + spawnedEntitiesInitialCount, ticket.m_spawnedEntities.end())); } - m_onSpawnedEvent.Signal(ticket.m_spawnable); - ticket.m_currentRequestId++; return true; } @@ -434,8 +420,6 @@ namespace AzFramework request.m_completionCallback(request.m_ticketId); } - m_onDespawnedEvent.Signal(ticket.m_spawnable); - ticket.m_currentRequestId++; return true; } @@ -463,8 +447,6 @@ namespace AzFramework } } - m_onDespawnedEvent.Signal(ticket.m_spawnable); - // Rebuild the list of entities. ticket.m_spawnedEntities.clear(); const Spawnable::EntityList& entities = request.m_spawnable->GetEntities(); @@ -517,8 +499,6 @@ namespace AzFramework ticket.m_currentRequestId++; - m_onSpawnedEvent.Signal(ticket.m_spawnable); - return true; } else diff --git a/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesManager.h b/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesManager.h index 638559f3f1..5f659182d3 100644 --- a/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesManager.h +++ b/Code/Framework/AzFramework/AzFramework/Spawnable/SpawnableEntitiesManager.h @@ -73,9 +73,6 @@ namespace AzFramework void Barrier(EntitySpawnTicket& spawnInfo, BarrierCallback completionCallback, BarrierOptionalArgs optionalArgs = {}) override; - void AddOnSpawnedHandler(AZ::Event>::Handler& handler) override; - void AddOnDespawnedHandler(AZ::Event>::Handler& handler) override; - // // The following function is thread safe but intended to be run from the main thread. // @@ -200,9 +197,6 @@ namespace AzFramework Queue m_highPriorityQueue; Queue m_regularPriorityQueue; - AZ::Event> m_onSpawnedEvent; - AZ::Event> m_onDespawnedEvent; - AZ::SerializeContext* m_defaultSerializeContext { nullptr }; //! The threshold used to determine if a request goes in the regular (if bigger than the value) or high priority queue (if smaller //! or equal to this value). The starting value of 64 is chosen as it's between default values SpawnablePriority_High and From 6ac13c19a3f26b1cf70a82f15c2b295936267cd5 Mon Sep 17 00:00:00 2001 From: Chris Galvan Date: Wed, 9 Jun 2021 16:32:15 -0500 Subject: [PATCH 065/205] [LYN-3145] Removed unnecessary spam message from legacy CEntityObject class when entering game mode. --- Code/Sandbox/Editor/Objects/EntityObject.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Code/Sandbox/Editor/Objects/EntityObject.cpp b/Code/Sandbox/Editor/Objects/EntityObject.cpp index 17e9fdda5c..b4dbe0901e 100644 --- a/Code/Sandbox/Editor/Objects/EntityObject.cpp +++ b/Code/Sandbox/Editor/Objects/EntityObject.cpp @@ -1277,7 +1277,6 @@ void CEntityObject::OnEvent(ObjectEvent event) break; } default: - AZ_TracePrintf("CEntityObject", "Unhandled object event: %d", event); break; } } From 8ab2752f4271107f14d6e7371b0d3f3559ddd3c0 Mon Sep 17 00:00:00 2001 From: chcurran Date: Wed, 9 Jun 2021 14:52:33 -0700 Subject: [PATCH 066/205] Fix for using BC class constants LYN-3777 --- .../ScriptCanvas/Translation/GraphToLua.cpp | 52 +- .../ScriptCanvas/Translation/GraphToLua.h | 2 +- ...eBehaviorContextClassConstant.scriptcanvas | 1173 +++++++++++++++++ 3 files changed, 1210 insertions(+), 17 deletions(-) create mode 100644 Gems/ScriptCanvasTesting/Assets/ScriptCanvas/UnitTests/LY_SC_UnitTest_UseBehaviorContextClassConstant.scriptcanvas diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLua.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLua.cpp index 905f68604a..a5e9c179e6 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLua.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLua.cpp @@ -1220,8 +1220,18 @@ namespace ScriptCanvas void GraphToLua::WriteClassPropertyRead(Grammar::ExecutionTreeConstPtr execution) { - WriteFunctionCallInput(execution, 0, IsFormatStringInput::No); - m_dotLua.Write(".%s", Grammar::ToIdentifier(execution->GetName()).c_str()); + if (execution->GetInputCount() > 0) + { + WriteFunctionCallInput(execution, 0, IsFormatStringInput::No); + m_dotLua.Write("."); + } + else + { + // it's a constant + WriteResolvedScope(execution, execution->GetNameLexicalScope()); + } + + m_dotLua.Write(Grammar::ToIdentifier(execution->GetName()).c_str()); } void GraphToLua::WriteClassPropertyWrite(Grammar::ExecutionTreeConstPtr execution) @@ -1509,20 +1519,7 @@ namespace ScriptCanvas } else { - const AZStd::string resolvedScope = ResolveScope(lexicalScope.m_namespaces); - - auto& abbreviation = FindAbbreviation(resolvedScope); - - if (!abbreviation.empty()) - { - m_dotLua.Write("%s%.*s", abbreviation.c_str(), - aznumeric_cast(m_configuration.m_lexicalScopeDelimiter.size()), m_configuration.m_lexicalScopeDelimiter.data()); - } - else if (!resolvedScope.empty()) - { - m_dotLua.Write("%s%.*s", resolvedScope.c_str(), - aznumeric_cast(m_configuration.m_lexicalScopeDelimiter.size()), m_configuration.m_lexicalScopeDelimiter.data()); - } + WriteResolvedScope(execution, lexicalScope); } } break; @@ -2413,5 +2410,28 @@ namespace ScriptCanvas } } + void GraphToLua::WriteResolvedScope(Grammar::ExecutionTreeConstPtr execution, const Grammar::LexicalScope& lexicalScope) + { + if (lexicalScope.m_type != Grammar::LexicalScopeType::Class && lexicalScope.m_type != Grammar::LexicalScopeType::Namespace) + { + AddError(execution, aznew Internal::ParseError(execution->GetNodeId(), "Invalid arguments to WriteResolvedScope.")); + return; + } + + const AZStd::string resolvedScope = ResolveScope(lexicalScope.m_namespaces); + + auto& abbreviation = FindAbbreviation(resolvedScope); + + if (!abbreviation.empty()) + { + m_dotLua.Write("%s%.*s", abbreviation.c_str(), + aznumeric_cast(m_configuration.m_lexicalScopeDelimiter.size()), m_configuration.m_lexicalScopeDelimiter.data()); + } + else if (!resolvedScope.empty()) + { + m_dotLua.Write("%s%.*s", resolvedScope.c_str(), + aznumeric_cast(m_configuration.m_lexicalScopeDelimiter.size()), m_configuration.m_lexicalScopeDelimiter.data()); + } + } } } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLua.h b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLua.h index 82c865da8c..9894a30841 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLua.h +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Translation/GraphToLua.h @@ -160,6 +160,7 @@ namespace ScriptCanvas void WriteOperatorArithmetic(Grammar::ExecutionTreeConstPtr execution); void WriteOutputAssignments(Grammar::ExecutionTreeConstPtr execution); void WriteOutputAssignments(Grammar::ExecutionTreeConstPtr execution, const AZStd::vector>& output); + void WriteResolvedScope(Grammar::ExecutionTreeConstPtr execution, const Grammar::LexicalScope& lexicalScope); void WriteReturnStatement(Grammar::ExecutionTreeConstPtr execution); void WriteReturnValueInitialization(Grammar::ExecutionTreeConstPtr execution); void WriteStaticInitializerInput(IsLeadingCommaRequired commaRequired); @@ -170,7 +171,6 @@ namespace ScriptCanvas void WriteVariableWrite(Grammar::ExecutionTreeConstPtr execution, const AZStd::vector>& output); void WriteWrittenMathExpression(Grammar::ExecutionTreeConstPtr execution); - private: }; } diff --git a/Gems/ScriptCanvasTesting/Assets/ScriptCanvas/UnitTests/LY_SC_UnitTest_UseBehaviorContextClassConstant.scriptcanvas b/Gems/ScriptCanvasTesting/Assets/ScriptCanvas/UnitTests/LY_SC_UnitTest_UseBehaviorContextClassConstant.scriptcanvas new file mode 100644 index 0000000000..d80e4dcac8 --- /dev/null +++ b/Gems/ScriptCanvasTesting/Assets/ScriptCanvas/UnitTests/LY_SC_UnitTest_UseBehaviorContextClassConstant.scriptcanvas @@ -0,0 +1,1173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c4ab5fff9ada6b2d903719dd6a0052d76a57c23d Mon Sep 17 00:00:00 2001 From: chcurran Date: Wed, 9 Jun 2021 14:52:55 -0700 Subject: [PATCH 067/205] testing code files for fixes for LYN-3777 --- .../Code/Source/Nodes/BehaviorContextObjectTestNode.h | 1 + .../Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/Gems/ScriptCanvasTesting/Code/Source/Nodes/BehaviorContextObjectTestNode.h b/Gems/ScriptCanvasTesting/Code/Source/Nodes/BehaviorContextObjectTestNode.h index 7fa3896ff1..eba6b71169 100644 --- a/Gems/ScriptCanvasTesting/Code/Source/Nodes/BehaviorContextObjectTestNode.h +++ b/Gems/ScriptCanvasTesting/Code/Source/Nodes/BehaviorContextObjectTestNode.h @@ -53,6 +53,7 @@ namespace ScriptCanvasTestingNodes ->Method("SetString", &BehaviorContextObjectTest::SetString) ->Method("GetString", &BehaviorContextObjectTest::GetString) ->Property("Name", BehaviorValueProperty(&BehaviorContextObjectTest::m_name)) + ->Constant("Always24", BehaviorConstant(24)) ; } } diff --git a/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp b/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp index 5bda0f3941..e2665f31cf 100644 --- a/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp +++ b/Gems/ScriptCanvasTesting/Code/Tests/ScriptCanvas_RuntimeInterpreted.cpp @@ -90,6 +90,11 @@ public: } }; +TEST_F(ScriptCanvasTestFixture, UseBehaviorContextClassConstant) +{ + RunUnitTestGraph("LY_SC_UnitTest_UseBehaviorContextClassConstant"); +} + TEST_F(ScriptCanvasTestFixture, ParseFunctionIfBranchWithConnectedInput) { RunUnitTestGraph("LY_SC_UnitTest_ParseFunctionIfBranchWithConnectedInput"); From d94015f5e1ba9bd5c1b4a35da803f632aeca791f Mon Sep 17 00:00:00 2001 From: Doug McDiarmid Date: Wed, 9 Jun 2021 14:53:32 -0700 Subject: [PATCH 068/205] Skipped meshes with no materials in MeshFeatureProcessor::SetRayTracingData --- .../Common/Code/Source/Mesh/MeshFeatureProcessor.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp index 4aaa0be132..3001831817 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp @@ -775,6 +775,12 @@ namespace AZ material = materialAssignment.m_materialInstance; } + if (!material) + { + AZ_Warning("MeshFeatureProcessor", false, "No material provided for mesh. Skipping."); + continue; + } + // retrieve vertex/index buffers RPI::ModelLod::StreamBufferViewList streamBufferViews; [[maybe_unused]] bool result = modelLod->GetStreamsForMesh( From d1a5fb651b6377bd5945645a4a9914c7f528671e Mon Sep 17 00:00:00 2001 From: chcurran Date: Wed, 9 Jun 2021 15:14:23 -0700 Subject: [PATCH 069/205] Fixes for reflection code that hides itself frm Script explicitly but NOT from ScriptCanvas --- .../Source/Integration/Components/SimpleMotionComponent.cpp | 2 -- .../Editor/Components/EditorSimpleMotionComponent.cpp | 1 - Gems/LmbrCentral/Code/Source/Scripting/TagComponent.cpp | 1 - 3 files changed, 4 deletions(-) diff --git a/Gems/EMotionFX/Code/Source/Integration/Components/SimpleMotionComponent.cpp b/Gems/EMotionFX/Code/Source/Integration/Components/SimpleMotionComponent.cpp index 2e0ca16af2..633cb5ed1d 100644 --- a/Gems/EMotionFX/Code/Source/Integration/Components/SimpleMotionComponent.cpp +++ b/Gems/EMotionFX/Code/Source/Integration/Components/SimpleMotionComponent.cpp @@ -103,9 +103,7 @@ namespace EMotionFX ->Attribute("Hidden", AZ::Edit::Attributes::PropertyHidden) ->VirtualProperty("PlayTime", "GetPlayTime", "PlayTime") ->Event("Motion", &SimpleMotionComponentRequestBus::Events::Motion) - ->Attribute(AZ::Script::Attributes::Ignore, true) ->Event("GetMotion", &SimpleMotionComponentRequestBus::Events::GetMotion) - ->Attribute(AZ::Script::Attributes::Ignore, true) ->VirtualProperty("Motion", "GetMotion", "Motion") ->Event("BlendInTime", &SimpleMotionComponentRequestBus::Events::BlendInTime) ->Event("GetBlendInTime", &SimpleMotionComponentRequestBus::Events::GetBlendInTime) diff --git a/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorSimpleMotionComponent.cpp b/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorSimpleMotionComponent.cpp index 4b463958af..ee8a0f7821 100644 --- a/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorSimpleMotionComponent.cpp +++ b/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorSimpleMotionComponent.cpp @@ -70,7 +70,6 @@ namespace EMotionFX ->Attribute("Hidden", AZ::Edit::Attributes::PropertyHidden) ->VirtualProperty("PreviewInEditor", "GetPreviewInEditor", "SetPreviewInEditor") ->Event("GetAssetDuration", &EditorSimpleMotionComponentRequestBus::Events::GetAssetDuration) - ->Attribute(AZ::Script::Attributes::Ignore, true) ; behaviorContext->Class() diff --git a/Gems/LmbrCentral/Code/Source/Scripting/TagComponent.cpp b/Gems/LmbrCentral/Code/Source/Scripting/TagComponent.cpp index 931ec8041e..ad5c2e499e 100644 --- a/Gems/LmbrCentral/Code/Source/Scripting/TagComponent.cpp +++ b/Gems/LmbrCentral/Code/Source/Scripting/TagComponent.cpp @@ -86,7 +86,6 @@ namespace LmbrCentral { behaviorContext->Class("Tag Helper") ->Method("Get Entities by Tag", &TagComponentBehaviorHelper::FindTaggedEntities) - ->Attribute(AZ::Script::Attributes::Ignore, 0) ->Attribute(AZ::Script::Attributes::Category, "Gameplay/Tag") ->Attribute(AZ::ScriptCanvasAttributes::FloatingFunction, 0) ; From 2eefc08d2e7aab40105b4d863613728d2795ac21 Mon Sep 17 00:00:00 2001 From: scottr Date: Wed, 9 Jun 2021 15:21:30 -0700 Subject: [PATCH 070/205] [cpack/stabilization/2106] fixed startup crash in project manager from installer build --- Code/Tools/ProjectManager/Source/PythonBindings.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Code/Tools/ProjectManager/Source/PythonBindings.cpp b/Code/Tools/ProjectManager/Source/PythonBindings.cpp index 3f0af7fa49..824cab4758 100644 --- a/Code/Tools/ProjectManager/Source/PythonBindings.cpp +++ b/Code/Tools/ProjectManager/Source/PythonBindings.cpp @@ -246,7 +246,7 @@ namespace O3DE::ProjectManager AZStd::string pyBasePath = Platform::GetPythonHomePath(PY_PACKAGE, m_enginePath.c_str()); if (!AZ::IO::SystemFile::Exists(pyBasePath.c_str())) { - AZ_Warning("python", false, "Python home path must exist. path:%s", pyBasePath.c_str()); + AZ_Assert(false, "Python home path must exist. path:%s", pyBasePath.c_str()); return false; } @@ -277,11 +277,9 @@ namespace O3DE::ProjectManager AZStd::lock_guard lock(m_lock); pybind11::gil_scoped_acquire acquire; - // Setup sys.path + // sanity import check int result = PyRun_SimpleString("import sys"); - AZ_Warning("ProjectManagerWindow", result != -1, "Import sys failed"); - result = PyRun_SimpleString(AZStd::string::format("sys.path.append('%s')", m_enginePath.c_str()).c_str()); - AZ_Warning("ProjectManagerWindow", result != -1, "Append to sys path failed"); + AZ_Error("ProjectManagerWindow", result != -1, "Import sys failed"); // import required modules m_cmake = pybind11::module::import("o3de.cmake"); @@ -299,7 +297,7 @@ namespace O3DE::ProjectManager } catch ([[maybe_unused]] const std::exception& e) { - AZ_Warning("ProjectManagerWindow", false, "Py_Initialize() failed with %s", e.what()); + AZ_Assert(false, "Py_Initialize() failed with %s", e.what()); return false; } } From ca475fab80dff4e94fdcfd4334447dc9b2813347 Mon Sep 17 00:00:00 2001 From: moudgils Date: Wed, 9 Jun 2021 15:28:22 -0700 Subject: [PATCH 071/205] Fix Editor crash where the scissor regions is bigger than the metal drawable --- .../RHI/Metal/Code/Source/Platform/Mac/RHI/Metal_RHI_Mac.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/Atom/RHI/Metal/Code/Source/Platform/Mac/RHI/Metal_RHI_Mac.cpp b/Gems/Atom/RHI/Metal/Code/Source/Platform/Mac/RHI/Metal_RHI_Mac.cpp index cc8c4c80c0..b81c51a57b 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/Platform/Mac/RHI/Metal_RHI_Mac.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/Platform/Mac/RHI/Metal_RHI_Mac.cpp @@ -94,7 +94,7 @@ namespace Platform void ResizeInternal(RHIMetalView* metalView, CGSize viewSize) { - [metalView resizeSubviewsWithOldSize:viewSize]; + [metalView.metalLayer setDrawableSize: viewSize]; } RHIMetalView* GetMetalView(NativeWindowType* nativeWindow) From 6c056ad56633999cd33cf6129803ec081f4b1780 Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Wed, 9 Jun 2021 15:29:39 -0700 Subject: [PATCH 072/205] Remove duplicate definition of function --- scripts/o3de/o3de/manifest.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/o3de/o3de/manifest.py b/scripts/o3de/o3de/manifest.py index 074e7f5a9e..8255946cfb 100644 --- a/scripts/o3de/o3de/manifest.py +++ b/scripts/o3de/o3de/manifest.py @@ -401,13 +401,6 @@ def get_templates_for_generic_creation(): # temporary until we have a better wa return list(filter(filter_project_and_gem_templates_out, get_all_templates())) -def get_all_restricted() -> list: - engine_restricted = get_engine_restricted() - restricted_data = get_restricted() - restricted_data.extend(engine_restricted) - return restricted_data - - def find_engine_data(json_data: dict, engine_path: str or pathlib.Path = None) -> dict or None: if not engine_path: From 39d207095ab5fa32b24e194253417400c39007bf Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Wed, 9 Jun 2021 15:31:33 -0700 Subject: [PATCH 073/205] Remove call to ly_get_absolute_pal_filename that's not needed --- cmake/Platform/Common/Install_common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Platform/Common/Install_common.cmake b/cmake/Platform/Common/Install_common.cmake index a579e3128d..933d64149b 100644 --- a/cmake/Platform/Common/Install_common.cmake +++ b/cmake/Platform/Common/Install_common.cmake @@ -374,7 +374,7 @@ function(ly_setup_cmake_install) string(APPEND builtinpackages "ly_associate_package(PACKAGE_NAME ${package_name} TARGETS ${targets} PACKAGE_HASH ${package_hash})\n") endforeach() - ly_get_absolute_pal_filename(pal_builtin_file ${CMAKE_CURRENT_BINARY_DIR}/cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}/BuiltInPackages_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) + set(pal_builtin_file ${CMAKE_CURRENT_BINARY_DIR}/cmake/3rdParty/Platform/${PAL_PLATFORM_NAME}/BuiltInPackages_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) file(GENERATE OUTPUT ${pal_builtin_file} CONTENT ${builtinpackages} ) From aa7bab102777d9cc7941d4328a11f01e6af46161 Mon Sep 17 00:00:00 2001 From: Terry Michaels Date: Wed, 9 Jun 2021 17:47:35 -0500 Subject: [PATCH 074/205] Make SimpleAssetPropertyHandler handle showing the edit button on component cards (#1221) --- .../UI/PropertyEditor/PropertyAssetCtrl.cpp | 44 +++++++++++++++++++ .../Editor/LyShineEditorSystemComponent.cpp | 15 +++++++ .../Editor/LyShineEditorSystemComponent.h | 7 +++ .../LyShine/Code/Include/LyShine/LyShineBus.h | 3 ++ .../World/UiCanvasAssetRefComponent.cpp | 12 ++++- .../Source/World/UiCanvasAssetRefComponent.h | 2 + 6 files changed, 82 insertions(+), 1 deletion(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp index 169a90497b..a0b3762123 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp @@ -1447,6 +1447,49 @@ namespace AzToolsFramework GUI->SetBrowseButtonIcon(QIcon(iconPath.c_str())); } } + else if (attrib == AZ_CRC("EditCallback", 0xb74f2ee1)) + { + PropertyAssetCtrl::EditCallbackType* func = azdynamic_cast(attrValue->GetAttribute()); + if (func) + { + GUI->SetEditButtonVisible(true); + GUI->SetEditNotifyCallback(func); + } + else + { + GUI->SetEditNotifyCallback(nullptr); + } + } + else if (attrib == AZ_CRC("EditButton", 0x898c35dc)) + { + GUI->SetEditButtonVisible(true); + + AZStd::string iconPath; + attrValue->Read(iconPath); + + if (!iconPath.empty()) + { + QString path(iconPath.c_str()); + + if (!QFile::exists(path)) + { + AZ::IO::FixedMaxPathString engineRoot = AZ::Utils::GetEnginePath(); + QDir engineDir = !engineRoot.empty() ? QDir(QString(engineRoot.c_str())) : QDir::current(); + + path = engineDir.absoluteFilePath(iconPath.c_str()); + } + + GUI->SetEditButtonIcon(QIcon(path)); + } + } + else if (attrib == AZ_CRC("EditDescription", 0x9b52634a)) + { + AZStd::string buttonTooltip; + if (attrValue->Read(buttonTooltip)) + { + GUI->SetEditButtonTooltip(tr(buttonTooltip.c_str())); + } + } } void SimpleAssetPropertyHandlerDefault::WriteGUIValuesIntoProperty(size_t index, PropertyAssetCtrl* GUI, property_t& instance, InstanceDataNode* node) @@ -1476,6 +1519,7 @@ namespace AzToolsFramework // Set the hint in case the asset is not able to be found by assetId GUI->SetCurrentAssetHint(instance.GetAssetPath()); GUI->SetSelectedAssetID(assetId, instance.GetAssetType()); + GUI->SetEditNotifyTarget(node->GetParent()->GetInstance(0)); GUI->blockSignals(false); return false; diff --git a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp index c0e9b7aaac..d1c7ce96a4 100644 --- a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp +++ b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp @@ -107,6 +107,7 @@ namespace LyShineEditor void LyShineEditorSystemComponent::Activate() { AzToolsFramework::EditorEventsBus::Handler::BusConnect(); + LyShine::LyShineRequestBus::Handler::BusConnect(); } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -119,6 +120,7 @@ namespace LyShineEditor CUiAnimViewSequenceManager::Destroy(); } + LyShine::LyShineRequestBus::Handler::BusDisconnect(); AzToolsFramework::EditorEventsBus::Handler::BusDisconnect(); } @@ -191,4 +193,17 @@ namespace LyShineEditor } return AzToolsFramework::AssetBrowser::SourceFileDetails(); } + + //////////////////////////////////////////////////////////////////////////////////////////////// + void LyShineEditorSystemComponent::EditUICanvas([[maybe_unused]] const AZStd::string_view& canvasPath) + { + AzToolsFramework::OpenViewPane(LyViewPane::UiEditor); + AZStd::string stringPath = canvasPath; + + if (!stringPath.empty()) + { + QString absoluteName = stringPath.c_str(); + UiEditorDLLBus::Broadcast(&UiEditorDLLInterface::OpenSourceCanvasFile, absoluteName); + } + } } diff --git a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.h b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.h index d37fc83735..f389c4c2f5 100644 --- a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.h +++ b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.h @@ -15,6 +15,7 @@ #include #include #include +#include namespace LyShineEditor { @@ -22,6 +23,7 @@ namespace LyShineEditor : public AZ::Component , protected AzToolsFramework::EditorEvents::Bus::Handler , protected AzToolsFramework::AssetBrowser::AssetBrowserInteractionNotificationBus::Handler + , protected LyShine::LyShineRequestBus::Handler { public: AZ_COMPONENT(LyShineEditorSystemComponent, "{64D08A3F-A682-4CAF-86C1-DA91638494BA}"); @@ -55,5 +57,10 @@ namespace LyShineEditor void AddSourceFileOpeners(const char* fullSourceFileName, const AZ::Uuid& /*sourceUUID*/, AzToolsFramework::AssetBrowser::SourceFileOpenerList& openers) override; AzToolsFramework::AssetBrowser::SourceFileDetails GetSourceFileDetails(const char* fullSourceFileName) override; //////////////////////////////////////////////////////////////////////// + + //////////////////////////////////////////////////////////////////////// + // LyShineRequestBus interface implementation + void EditUICanvas(const AZStd::string_view& canvasPath) override; + //////////////////////////////////////////////////////////////////////// }; } diff --git a/Gems/LyShine/Code/Include/LyShine/LyShineBus.h b/Gems/LyShine/Code/Include/LyShine/LyShineBus.h index 1b7b81f32d..5b8fc4889d 100644 --- a/Gems/LyShine/Code/Include/LyShine/LyShineBus.h +++ b/Gems/LyShine/Code/Include/LyShine/LyShineBus.h @@ -13,6 +13,7 @@ #pragma once #include +#include namespace LyShine { @@ -24,6 +25,8 @@ namespace LyShine static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single; static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; // Public functions + + virtual void EditUICanvas(const AZStd::string_view&) {}; }; using LyShineRequestBus = AZ::EBus; } // namespace LyShine diff --git a/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.cpp b/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.cpp index 9d436f8a57..07212cad29 100644 --- a/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.cpp +++ b/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.cpp @@ -15,6 +15,7 @@ #include #include #include +#include //////////////////////////////////////////////////////////////////////////////////////////////////// //! UiCanvasAssetRefNotificationBus Behavior context handler class @@ -177,7 +178,10 @@ void UiCanvasAssetRefComponent::Reflect(AZ::ReflectContext* context) editInfo->DataElement("SimpleAssetRef", &UiCanvasAssetRefComponent::m_canvasAssetRef, "Canvas pathname", "The pathname of the canvas.") - ->Attribute("BrowseIcon", ":/stylesheet/img/UI20/browse-edit-select-files.svg"); + ->Attribute("BrowseIcon", ":/stylesheet/img/UI20/browse-edit-select-files.svg") + ->Attribute("EditButton", "") + ->Attribute("EditDescription", "Open in UI Editor") + ->Attribute("EditCallback", &UiCanvasAssetRefComponent::LaunchUIEditor); editInfo->DataElement(AZ::Edit::UIHandlers::CheckBox, &UiCanvasAssetRefComponent::m_isAutoLoad, "Load automatically", "When checked, the canvas is loaded when this component is activated.") ->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ_CRC("RefreshEntireTree", 0xefbc823c)); @@ -209,6 +213,12 @@ void UiCanvasAssetRefComponent::Reflect(AZ::ReflectContext* context) // PROTECTED MEMBER FUNCTIONS //////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////// +void UiCanvasAssetRefComponent::LaunchUIEditor([[maybe_unused]] const AZ::Data::AssetId& assetId, const AZ::Data::AssetType&) +{ + LyShine::LyShineRequestBus::Broadcast(&LyShine::LyShineRequests::EditUICanvas, GetCanvasPathname()); +} + //////////////////////////////////////////////////////////////////////////////////////////////////// void UiCanvasAssetRefComponent::Activate() { diff --git a/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.h b/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.h index 9d441975b4..9d0e5c405e 100644 --- a/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.h +++ b/Gems/LyShine/Code/Source/World/UiCanvasAssetRefComponent.h @@ -69,6 +69,8 @@ public: // static member functions protected: // member functions + void LaunchUIEditor(const AZ::Data::AssetId& assetId, const AZ::Data::AssetType&); + // AZ::Component void Activate() override; void Deactivate() override; From 5330309cb1b88e5f274fdc96604ffef907ade381 Mon Sep 17 00:00:00 2001 From: AMZN-nggieber <52797929+AMZN-nggieber@users.noreply.github.com> Date: Wed, 9 Jun 2021 16:01:48 -0700 Subject: [PATCH 075/205] Set Desktop Icon for Project Manager (#1225) * Set executable icon for O3DE --- Code/Tools/ProjectManager/Resources/ProjectManager.rc | 1 + Code/Tools/ProjectManager/project_manager_files.cmake | 1 + 2 files changed, 2 insertions(+) create mode 100644 Code/Tools/ProjectManager/Resources/ProjectManager.rc diff --git a/Code/Tools/ProjectManager/Resources/ProjectManager.rc b/Code/Tools/ProjectManager/Resources/ProjectManager.rc new file mode 100644 index 0000000000..82a40935ad --- /dev/null +++ b/Code/Tools/ProjectManager/Resources/ProjectManager.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON DISCARDABLE "o3de_editor.ico" diff --git a/Code/Tools/ProjectManager/project_manager_files.cmake b/Code/Tools/ProjectManager/project_manager_files.cmake index eb9cd1145e..633824f995 100644 --- a/Code/Tools/ProjectManager/project_manager_files.cmake +++ b/Code/Tools/ProjectManager/project_manager_files.cmake @@ -10,6 +10,7 @@ # set(FILES + Resources/ProjectManager.rc Resources/ProjectManager.qrc Resources/ProjectManager.qss Source/main.cpp From 05d177568c89581c972057ee7185dbe2bc4562ef Mon Sep 17 00:00:00 2001 From: Terry Michaels Date: Wed, 9 Jun 2021 18:33:12 -0500 Subject: [PATCH 076/205] Fixed cut & paste error of menu item name (#1230) --- Code/Sandbox/Editor/ViewportTitleDlg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Sandbox/Editor/ViewportTitleDlg.cpp b/Code/Sandbox/Editor/ViewportTitleDlg.cpp index f85aa1f06d..716568b5c7 100644 --- a/Code/Sandbox/Editor/ViewportTitleDlg.cpp +++ b/Code/Sandbox/Editor/ViewportTitleDlg.cpp @@ -257,7 +257,7 @@ void CViewportTitleDlg::SetupOverflowMenu() overFlowMenu->addSeparator(); - m_enableAngleSnappingAction = new QAction("Enable Grid Snapping", overFlowMenu); + m_enableAngleSnappingAction = new QAction("Enable Angle Snapping", overFlowMenu); connect(m_enableAngleSnappingAction, &QAction::triggered, this, &CViewportTitleDlg::OnAngleSnappingToggled); m_enableAngleSnappingAction->setCheckable(true); overFlowMenu->addAction(m_enableAngleSnappingAction); From 88d16b23d4bd712b8e269a6df4e513f627f1886d Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Wed, 9 Jun 2021 18:50:28 -0500 Subject: [PATCH 077/205] Fixing the enable_gem.py and disable_gem.py commands (#1207) (#1220) * Fixing the enable_gem.py and disable_gem.py commands (#1207) * Fixing the enable_gem.py and disable_gem.py commands The project path wasn't taking into account when querying for gems, templates and restricted directories registered with the project Fixing the cmake.py add_gem_dependency and remove_gem_dependency methods to properly detect a gem within a `set(ENABLED_GEM ...)` cmake variable Also updated the add_gem_dependency to add the gem right before the end marker of ')' Updated the remove_gem_dependency to remove each instance of a gem with a content that is in between in the `set(ENABLED_GEM ...)` cmake variable * Correct Typo in manifest.get_registered doc string * Removing second get_all_restricted() method --- scripts/o3de/o3de/manifest.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/o3de/o3de/manifest.py b/scripts/o3de/o3de/manifest.py index 074e7f5a9e..8255946cfb 100644 --- a/scripts/o3de/o3de/manifest.py +++ b/scripts/o3de/o3de/manifest.py @@ -401,13 +401,6 @@ def get_templates_for_generic_creation(): # temporary until we have a better wa return list(filter(filter_project_and_gem_templates_out, get_all_templates())) -def get_all_restricted() -> list: - engine_restricted = get_engine_restricted() - restricted_data = get_restricted() - restricted_data.extend(engine_restricted) - return restricted_data - - def find_engine_data(json_data: dict, engine_path: str or pathlib.Path = None) -> dict or None: if not engine_path: From a9e59fd75f6a0ce20854d648273568ab853890b5 Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Wed, 9 Jun 2021 18:50:47 -0500 Subject: [PATCH 078/205] Updating the DefaultProject template to not insert the project-path parameter (#1223) * Updating the DefaultProject template to not insert the project-path parameter into the VS Debugger Arguments for any applications Added project-path injection directly within the LauncherUnified and AssetBuilder cmake scripts where their targets are defined * Removing the add_vs_debugger_arguments call from the AutomatedTesting CMakeLists.txt --- AutomatedTesting/CMakeLists.txt | 13 ------------- Code/LauncherUnified/launcher_generator.cmake | 8 ++++++++ .../AssetProcessor/AssetBuilder/CMakeLists.txt | 4 ++++ Templates/DefaultProject/Template/CMakeLists.txt | 13 ------------- 4 files changed, 12 insertions(+), 26 deletions(-) diff --git a/AutomatedTesting/CMakeLists.txt b/AutomatedTesting/CMakeLists.txt index 289d0a6565..e239ba7674 100644 --- a/AutomatedTesting/CMakeLists.txt +++ b/AutomatedTesting/CMakeLists.txt @@ -9,18 +9,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # -#! Adds the --project-path argument to the VS IDE debugger command arguments -function(add_vs_debugger_arguments) - # Inject the project root into the --project-path argument into the Visual Studio Debugger arguments by defaults - list(APPEND app_targets AutomatedTesting.GameLauncher AutomatedTesting.ServerLauncher) - list(APPEND app_targets AssetBuilder AssetProcessor AssetProcessorBatch Editor) - foreach(app_target IN LISTS app_targets) - if (TARGET ${app_target}) - set_property(TARGET ${app_target} APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS "--project-path=\"${CMAKE_CURRENT_LIST_DIR}\"") - endif() - endforeach() -endfunction() - if(NOT PROJECT_NAME) cmake_minimum_required(VERSION 3.19) project(AutomatedTesting @@ -30,7 +18,6 @@ if(NOT PROJECT_NAME) include(EngineFinder.cmake OPTIONAL) find_package(o3de REQUIRED) o3de_initialize() - add_vs_debugger_arguments() else() # Add the project_name to global LY_PROJECTS_TARGET_NAME property file(READ "${CMAKE_CURRENT_LIST_DIR}/project.json" project_json) diff --git a/Code/LauncherUnified/launcher_generator.cmake b/Code/LauncherUnified/launcher_generator.cmake index 2f4c8a8b74..36cd3c5899 100644 --- a/Code/LauncherUnified/launcher_generator.cmake +++ b/Code/LauncherUnified/launcher_generator.cmake @@ -126,6 +126,10 @@ foreach(project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJEC FOLDER ${project_name} ) + if(LY_DEFAULT_PROJECT_PATH) + set_property(TARGET ${project_name}.GameLauncher APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS "--project-path=\"${LY_DEFAULT_PROJECT_PATH}\"") + endif() + ################################################################################ # Server ################################################################################ @@ -166,6 +170,10 @@ foreach(project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJEC PROPERTIES FOLDER ${project_name} ) + + if(LY_DEFAULT_PROJECT_PATH) + set_property(TARGET ${project_name}.ServerLauncher APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS "--project-path=\"${LY_DEFAULT_PROJECT_PATH}\"") + endif() endif() endif() diff --git a/Code/Tools/AssetProcessor/AssetBuilder/CMakeLists.txt b/Code/Tools/AssetProcessor/AssetBuilder/CMakeLists.txt index 9aa81208f6..89c2554acb 100644 --- a/Code/Tools/AssetProcessor/AssetBuilder/CMakeLists.txt +++ b/Code/Tools/AssetProcessor/AssetBuilder/CMakeLists.txt @@ -28,6 +28,10 @@ ly_add_target( AZ::AzToolsFramework ) +if(LY_DEFAULT_PROJECT_PATH) + set_property(TARGET AssetBuilder APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS "--project-path=\"${LY_DEFAULT_PROJECT_PATH}\"") +endif() + # Aggregates all combined AssetBuilders into a single LY_ASSET_BUILDERS #define get_property(asset_builders GLOBAL PROPERTY LY_ASSET_BUILDERS) string (REPLACE ";" "," asset_builders "${asset_builders}") diff --git a/Templates/DefaultProject/Template/CMakeLists.txt b/Templates/DefaultProject/Template/CMakeLists.txt index b5b8692059..50e3a528e6 100644 --- a/Templates/DefaultProject/Template/CMakeLists.txt +++ b/Templates/DefaultProject/Template/CMakeLists.txt @@ -11,18 +11,6 @@ # # {END_LICENSE} -#! Adds the --project-path argument to the VS IDE debugger command arguments -function(add_vs_debugger_arguments) - # Inject the project root into the --project-path argument into the Visual Studio Debugger arguments by defaults - list(APPEND app_targets ${Name}.GameLauncher ${Name}.ServerLauncher) - list(APPEND app_targets AssetBuilder AssetProcessor AssetProcessorBatch Editor) - foreach(app_target IN LISTS app_targets) - if (TARGET ${app_target}) - set_property(TARGET ${app_target} APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS "--project-path=\"${CMAKE_CURRENT_LIST_DIR}\"") - endif() - endforeach() -endfunction() - if(NOT PROJECT_NAME) cmake_minimum_required(VERSION 3.19) project(${Name} @@ -32,7 +20,6 @@ if(NOT PROJECT_NAME) include(EngineFinder.cmake OPTIONAL) find_package(o3de REQUIRED) o3de_initialize() - add_vs_debugger_arguments() else() # Add the project_name to global LY_PROJECTS_TARGET_NAME property file(READ "${CMAKE_CURRENT_LIST_DIR}/project.json" project_json) From 5061241992f69f1d2b0677de84941f13b6f80e44 Mon Sep 17 00:00:00 2001 From: scottr Date: Wed, 9 Jun 2021 17:03:13 -0700 Subject: [PATCH 079/205] [cpack/stabilization/2106] early out if sys import fails in PythonBindings::StartPython --- Code/Tools/ProjectManager/Source/PythonBindings.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Code/Tools/ProjectManager/Source/PythonBindings.cpp b/Code/Tools/ProjectManager/Source/PythonBindings.cpp index 824cab4758..bb6c05a472 100644 --- a/Code/Tools/ProjectManager/Source/PythonBindings.cpp +++ b/Code/Tools/ProjectManager/Source/PythonBindings.cpp @@ -278,8 +278,11 @@ namespace O3DE::ProjectManager pybind11::gil_scoped_acquire acquire; // sanity import check - int result = PyRun_SimpleString("import sys"); - AZ_Error("ProjectManagerWindow", result != -1, "Import sys failed"); + if (PyRun_SimpleString("import sys") != 0) + { + AZ_Assert(false, "Import sys failed"); + return false; + } // import required modules m_cmake = pybind11::module::import("o3de.cmake"); @@ -293,7 +296,7 @@ namespace O3DE::ProjectManager // make sure the engine is registered RegisterThisEngine(); - return result == 0 && !PyErr_Occurred(); + return !PyErr_Occurred(); } catch ([[maybe_unused]] const std::exception& e) { From 2dee4d3ac92fef4268ae313ad06b283a68e548d2 Mon Sep 17 00:00:00 2001 From: sconel Date: Wed, 9 Jun 2021 17:37:41 -0700 Subject: [PATCH 080/205] Add support to export nested container entities. Resolves missing parents in spawnables --- .../AzToolsFramework/Prefab/Instance/Instance.cpp | 5 +++-- .../AzToolsFramework/Prefab/Instance/Instance.h | 9 ++++++++- .../AzToolsFramework/Prefab/Spawnable/SpawnableUtils.cpp | 6 +----- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.cpp index 766a293b4a..83a76aeb01 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.cpp @@ -187,13 +187,14 @@ namespace AzToolsFramework return removedEntity; } - void Instance::DetachNestedEntities(const AZStd::function)>& callback) + void Instance::DetachAllEntitiesInHierarchy(const AZStd::function)>& callback) { + callback(AZStd::move(DetachContainerEntity())); DetachEntities(callback); for (const auto& [instanceAlias, instance] : m_nestedInstances) { - instance->DetachNestedEntities(callback); + instance->DetachAllEntitiesInHierarchy(callback); } } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h index d14203e2e5..bba20cbe8a 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h @@ -87,7 +87,14 @@ namespace AzToolsFramework bool AddEntity(AZ::Entity& entity, EntityAlias entityAlias); AZStd::unique_ptr DetachEntity(const AZ::EntityId& entityId); void DetachEntities(const AZStd::function)>& callback); - void DetachNestedEntities(const AZStd::function)>& callback); + + /** + * Detaches all entities in the instance hierarchy, including; all direct and nested entities, all container entities. + * Note that without container entities the hierarchy that remains cannot be used further without restoring new ones + * @param callback A user provided callback that can be used to capture ownership and manipulate the detached entities. + */ + void DetachAllEntitiesInHierarchy(const AZStd::function)>& callback); + void RemoveNestedEntities(const AZStd::function&)>& filter); void Reset(); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/SpawnableUtils.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/SpawnableUtils.cpp index 3c91f99b05..241d2a3bd5 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/SpawnableUtils.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/SpawnableUtils.cpp @@ -38,11 +38,7 @@ namespace AzToolsFramework::Prefab::SpawnableUtils // going to be used to create clones of the entities. { AzFramework::Spawnable::EntityList& entities = spawnable.GetEntities(); - if (instance.HasContainerEntity()) - { - entities.emplace_back(AZStd::move(instance.DetachContainerEntity())); - } - instance.DetachNestedEntities( + instance.DetachAllEntitiesInHierarchy( [&entities](AZStd::unique_ptr entity) { entities.emplace_back(AZStd::move(entity)); From c46c82079c293477d68233508fda52f711ea3868 Mon Sep 17 00:00:00 2001 From: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> Date: Wed, 9 Jun 2021 18:35:04 -0700 Subject: [PATCH 081/205] Fixed string format bug in JsonRegistrationContext --- .../AzCore/AzCore/Serialization/Json/RegistrationContext.cpp | 3 ++- .../Tests/Serialization/Json/JsonRegistrationContextTests.cpp | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp b/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp index 9aa80a2ef2..82db4df000 100644 --- a/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp +++ b/Code/Framework/AzCore/AzCore/Serialization/Json/RegistrationContext.cpp @@ -51,7 +51,8 @@ namespace AZ AZ_Assert( emplaceResult.second, "Couldn't register Json serializer %s. Another serializer (%s) has already been registered for the same Uuid (%s).", - serializer->RTTI_GetTypeName(), emplaceResult.first->second->RTTI_GetTypeName(), uuid); + serializer->RTTI_GetTypeName(), emplaceResult.first->second->RTTI_GetTypeName(), + uuid.ToString().c_str()); } else { diff --git a/Code/Framework/AzCore/Tests/Serialization/Json/JsonRegistrationContextTests.cpp b/Code/Framework/AzCore/Tests/Serialization/Json/JsonRegistrationContextTests.cpp index 6012a824c7..7367fd47ff 100644 --- a/Code/Framework/AzCore/Tests/Serialization/Json/JsonRegistrationContextTests.cpp +++ b/Code/Framework/AzCore/Tests/Serialization/Json/JsonRegistrationContextTests.cpp @@ -285,7 +285,7 @@ namespace JsonSerializationTests EXPECT_EQ(1, m_jsonRegistrationContext->GetRegisteredSerializers().size()); AZ::BaseJsonSerializer* mockSerializer = m_jsonRegistrationContext->GetSerializerForType(azrtti_typeid()); - EXPECT_NE(mockSerializer, nullptr); + ASSERT_NE(mockSerializer, nullptr); EXPECT_EQ(AZ::AzTypeInfo::Uuid(), mockSerializer->RTTI_GetType()); SerializerWithOneType::Unreflect(m_jsonRegistrationContext.get()); @@ -301,7 +301,7 @@ namespace JsonSerializationTests EXPECT_EQ(1, m_jsonRegistrationContext->GetRegisteredSerializers().size()); AZ::BaseJsonSerializer* mockSerializer = m_jsonRegistrationContext->GetSerializerForType(azrtti_typeid()); - EXPECT_NE(mockSerializer, nullptr); + ASSERT_NE(mockSerializer, nullptr); EXPECT_EQ(AZ::AzTypeInfo::Uuid(), mockSerializer->RTTI_GetType()); SerializerWithOneType::Unreflect(m_jsonRegistrationContext.get()); From a55edd518ace92f3ef6de5e660271b5d7be49376 Mon Sep 17 00:00:00 2001 From: moudgils Date: Wed, 9 Jun 2021 18:35:52 -0700 Subject: [PATCH 082/205] Update some comments --- Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp | 3 ++- Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h | 2 ++ Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp index 5d6c275184..6bdb5a4aa8 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp @@ -386,8 +386,9 @@ namespace AZ void ArgumentBuffer::AddUntrackedResourcesToEncoder(id commandEncoder, const ShaderResourceGroupVisibility& srgResourcesVisInfo) const { - + //Map tp cache all the resoources based on the usage as we can batch all the resources for a given usage ComputeResourcesToMakeResidentMap resourcesToMakeResidentCompute; + //Map tp cache all the resoources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage GraphicsResourcesToMakeResidentMap resourcesToMakeResidentGraphics; //Cache the constant buffer associated with a srg diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h index 06380162b6..eab9389e9b 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h @@ -125,7 +125,9 @@ namespace AZ AZStd::array, MaxEntriesInArgTable> m_resourceArray; int m_resourceArrayLen = 0; }; + //Map tp cache all the resoources based on the usage as we can batch all the resources for a given usage using ComputeResourcesToMakeResidentMap = AZStd::unordered_map; + //Map tp cache all the resoources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage using GraphicsResourcesToMakeResidentMap = AZStd::unordered_map, MetalResourceArray>; void CollectResourcesForCompute(id encoder, const ResourceBindingsSet& resourceBindingData, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp index 7df8f1e547..5546be1bd9 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp @@ -255,6 +255,7 @@ namespace AZ uint32_t bufferVertexRegisterIdMax = 0; uint32_t bufferFragmentOrComputeRegisterIdMax = 0; + //Arrays to cache all the buffers and offsets in order to make batch calls MetalArgumentBufferArray mtlVertexArgBuffers; MetalArgumentBufferArrayOffsets mtlVertexArgBufferOffsets; MetalArgumentBufferArray mtlFragmentOrComputeArgBuffers; @@ -298,7 +299,6 @@ namespace AZ mtlVertexArgBufferOffsets[slotIndex] = argBufferOffset; bufferVertexRegisterIdMin = AZStd::min(slotIndex, bufferVertexRegisterIdMin); bufferVertexRegisterIdMax = AZStd::max(slotIndex, bufferVertexRegisterIdMax); - } if( numBitsSet > 1 || srgVisInfo == RHI::ShaderStageMask::Fragment) @@ -595,7 +595,7 @@ namespace AZ AZ_Assert(count <= METAL_MAX_ENTRIES_BUFFER_ARG_TABLE , "Slots needed cannot exceed METAL_MAX_ENTRIES_BUFFER_ARG_TABLE"); NSRange range = {METAL_MAX_ENTRIES_BUFFER_ARG_TABLE - count, count}; - //For metal the stream buffers are populated from bottom to top as the top slots are taken by argument buffers + //The stream buffers are populated from bottom to top as the top slots are taken by argument buffers for (int i = count-1; i >= 0; --i) { if (streams[i].GetBuffer()) From 8e3a68a34f02903942622ee4863d62433c7bf325 Mon Sep 17 00:00:00 2001 From: moudgils Date: Wed, 9 Jun 2021 18:37:27 -0700 Subject: [PATCH 083/205] Fix comment spelling --- Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp | 4 ++-- Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp index 6bdb5a4aa8..068bc5f162 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp @@ -386,9 +386,9 @@ namespace AZ void ArgumentBuffer::AddUntrackedResourcesToEncoder(id commandEncoder, const ShaderResourceGroupVisibility& srgResourcesVisInfo) const { - //Map tp cache all the resoources based on the usage as we can batch all the resources for a given usage + //Map to cache all the resources based on the usage as we can batch all the resources for a given usage ComputeResourcesToMakeResidentMap resourcesToMakeResidentCompute; - //Map tp cache all the resoources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage + //Map to cache all the resources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage GraphicsResourcesToMakeResidentMap resourcesToMakeResidentGraphics; //Cache the constant buffer associated with a srg diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h index eab9389e9b..7cc77ae478 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h @@ -125,9 +125,9 @@ namespace AZ AZStd::array, MaxEntriesInArgTable> m_resourceArray; int m_resourceArrayLen = 0; }; - //Map tp cache all the resoources based on the usage as we can batch all the resources for a given usage + //Map to cache all the resources based on the usage as we can batch all the resources for a given usage using ComputeResourcesToMakeResidentMap = AZStd::unordered_map; - //Map tp cache all the resoources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage + //Map to cache all the resources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage using GraphicsResourcesToMakeResidentMap = AZStd::unordered_map, MetalResourceArray>; void CollectResourcesForCompute(id encoder, const ResourceBindingsSet& resourceBindingData, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; From ac8ee00affc48fe78210a1af1dbbba08f276dc0a Mon Sep 17 00:00:00 2001 From: Vincent Liu <5900509+onecent1101@users.noreply.github.com> Date: Wed, 9 Jun 2021 19:29:34 -0700 Subject: [PATCH 084/205] [LYN-4288] Adding error page if resource mapping tool has invalid setup (#1219) --- .../controller/error_controller.py | 33 +++++++ .../manager/configuration_manager.py | 11 ++- .../manager/controller_manager.py | 26 ++++-- .../manager/thread_manager.py | 11 ++- .../manager/view_manager.py | 30 +++++-- .../model/error_messages.py | 6 ++ .../model/notification_label_text.py | 2 + .../model/view_size_constants.py | 12 +++ .../resource_mapping_tool.py | 20 ++--- .../style/base_style_sheet.qss | 15 ++++ .../manager/test_configuration_manager.py | 15 +++- .../unit/manager/test_controller_manager.py | 11 ++- .../tests/unit/manager/test_thread_manager.py | 8 +- .../tests/unit/manager/test_view_manager.py | 35 +++++++- .../view/common_view_components.py | 4 +- .../ResourceMappingTool/view/error_page.py | 89 +++++++++++++++++++ 16 files changed, 281 insertions(+), 47 deletions(-) create mode 100644 Gems/AWSCore/Code/Tools/ResourceMappingTool/controller/error_controller.py create mode 100644 Gems/AWSCore/Code/Tools/ResourceMappingTool/view/error_page.py diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/controller/error_controller.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/controller/error_controller.py new file mode 100644 index 0000000000..244245ad57 --- /dev/null +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/controller/error_controller.py @@ -0,0 +1,33 @@ +""" +All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +its licensors. + +For complete copyright and license terms please see the LICENSE at the root of this +distribution (the "License"). All use of this software is governed by the License, +or, if provided, by the license below or the license accompanying this file. Do not +remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +""" + +from PySide2.QtCore import (QCoreApplication, QObject) + +from manager.view_manager import ViewManager +from view.error_page import ErrorPage + + +class ErrorController(QObject): + """ + ErrorPage Controller + """ + def __init__(self) -> None: + super(ErrorController, self).__init__() + # Initialize manager references + self._view_manager: ViewManager = ViewManager.get_instance() + # Initialize view references + self._error_page: ErrorPage = self._view_manager.get_error_page() + + def _ok(self) -> None: + QCoreApplication.instance().quit() + + def setup(self) -> None: + self._error_page.ok_button.clicked.connect(self._ok) diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/configuration_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/configuration_manager.py index fc188582c7..7c5ceb6946 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/configuration_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/configuration_manager.py @@ -48,11 +48,15 @@ class ConfigurationManager(object): def configuration(self, new_configuration: ConfigurationManager) -> None: self._configuration = new_configuration - def setup(self, config_path: str) -> bool: + def setup(self, profile_name: str, config_path: str) -> bool: result: bool = True - logger.info("Setting up default configuration ...") + logger.debug("Setting up default configuration ...") try: - normalized_config_path: str = file_utils.normalize_file_path(config_path); + logger.debug("Setting up boto3 default session ...") + aws_utils.setup_default_session(profile_name) + + logger.debug("Setting up config directory and files ...") + normalized_config_path: str = file_utils.normalize_file_path(config_path) if normalized_config_path: self._configuration.config_directory = normalized_config_path else: @@ -61,6 +65,7 @@ class ConfigurationManager(object): file_utils.find_files_with_suffix_under_directory(self._configuration.config_directory, constants.RESOURCE_MAPPING_CONFIG_FILE_NAME_SUFFIX) + logger.debug("Setting up aws account id and region ...") self._configuration.account_id = aws_utils.get_default_account_id() self._configuration.region = aws_utils.get_default_region() except (RuntimeError, FileNotFoundError) as e: diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/controller_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/controller_manager.py index 48c45d0350..61eaaddea2 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/controller_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/controller_manager.py @@ -12,6 +12,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. from __future__ import annotations import logging +from controller.error_controller import ErrorController from controller.import_resources_controller import ImportResourcesController from controller.view_edit_controller import ViewEditController from model import error_messages @@ -33,8 +34,9 @@ class ControllerManager(object): def __init__(self) -> None: if ControllerManager.__instance is None: - self._view_edit_controller: ViewEditController = ViewEditController() - self._import_resources_controller: ImportResourcesController = ImportResourcesController() + self._error_controller: ErrorController = None + self._view_edit_controller: ViewEditController = None + self._import_resources_controller: ImportResourcesController = None ControllerManager.__instance = self else: raise AssertionError(error_messages.SINGLETON_OBJECT_ERROR_MESSAGE.format("ControllerManager")) @@ -47,9 +49,17 @@ class ControllerManager(object): def view_edit_controller(self) -> ViewEditController: return self._view_edit_controller - def setup(self) -> None: - logger.info("Setting up ViewEdit and ImportResource controllers ...") - self._view_edit_controller.setup() - self._import_resources_controller.setup() - self._import_resources_controller.add_import_resources_sender.connect( - self._view_edit_controller.add_import_resources_receiver) + def setup(self, setup_error: bool) -> None: + if setup_error: + logger.debug("Setting up Error controllers ...") + self._error_controller = ErrorController() + self._error_controller.setup() + else: + logger.debug("Setting up ViewEdit and ImportResource controllers ...") + self._view_edit_controller = ViewEditController() + self._import_resources_controller = ImportResourcesController() + + self._view_edit_controller.setup() + self._import_resources_controller.setup() + self._import_resources_controller.add_import_resources_sender.connect( + self._view_edit_controller.add_import_resources_receiver) diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/thread_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/thread_manager.py index 516a085439..4de928bb1b 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/thread_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/thread_manager.py @@ -37,10 +37,13 @@ class ThreadManager(object): else: raise AssertionError(error_messages.SINGLETON_OBJECT_ERROR_MESSAGE.format("ThreadManager")) - def setup(self, thread_count: int = 1) -> None: - # Based on prototype use case, we just need 1 thread - logger.info(f"Setting up thread pool with MaxThreadCount={thread_count} ...") - self._thread_pool.setMaxThreadCount(thread_count) + def setup(self, setup_error: bool, thread_count: int = 1) -> None: + if setup_error: + logger.debug("Skip thread pool creation, as there is major setup error.") + else: + # Based on prototype use case, we just need 1 thread + logger.debug(f"Setting up thread pool with MaxThreadCount={thread_count} ...") + self._thread_pool.setMaxThreadCount(thread_count) """Reserves a thread and uses it to run runnable worker, unless this thread will make the current thread count exceed max thread count. In that case, runnable is added to a run queue instead.""" diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/view_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/view_manager.py index fff5c4b59a..46158afb39 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/view_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/manager/view_manager.py @@ -16,6 +16,7 @@ from PySide2.QtGui import QIcon from PySide2.QtWidgets import (QMainWindow, QStackedWidget, QWidget) from model import (error_messages, view_size_constants) +from view.error_page import ErrorPage from view.import_resources_page import ImportResourcesPage from view.view_edit_page import ViewEditPage @@ -27,6 +28,10 @@ class ViewManagerConstants(object): IMPORT_RESOURCES_PAGE_INDEX: int = 1 +# Error page will be a single page +ERROR_PAGE_INDEX: int = 0 + + class ViewManager(object): """ View manager maintains the main stacked pages for this tool, which @@ -58,21 +63,32 @@ class ViewManager(object): ViewManager.__instance = self else: raise AssertionError(error_messages.SINGLETON_OBJECT_ERROR_MESSAGE.format("ViewManager")) - + + def get_error_page(self) -> QWidget: + return self._resource_mapping_stacked_pages.widget(ERROR_PAGE_INDEX) + def get_view_edit_page(self) -> QWidget: return self._resource_mapping_stacked_pages.widget(ViewManagerConstants.VIEW_AND_EDIT_PAGE_INDEX) def get_import_resources_page(self) -> QWidget: return self._resource_mapping_stacked_pages.widget(ViewManagerConstants.IMPORT_RESOURCES_PAGE_INDEX) - def setup(self) -> None: - logger.debug("Setting up ViewEdit and ImportResources view pages ...") - self._resource_mapping_stacked_pages.addWidget(ViewEditPage()) - self._resource_mapping_stacked_pages.addWidget(ImportResourcesPage()) + def setup(self, setup_error: bool) -> None: + if setup_error: + logger.debug("Setting up Error view pages ...") + self._resource_mapping_stacked_pages.addWidget(ErrorPage()) + self._main_window.adjustSize() # fit error page size + else: + logger.debug("Setting up ViewEdit and ImportResources view pages ...") + self._resource_mapping_stacked_pages.addWidget(ViewEditPage()) + self._resource_mapping_stacked_pages.addWidget(ImportResourcesPage()) - def show(self) -> None: + def show(self, setup_error: bool) -> None: """Show up the tool view by setting default page index and showing main widget""" - self._resource_mapping_stacked_pages.setCurrentIndex(ViewManagerConstants.VIEW_AND_EDIT_PAGE_INDEX) + if setup_error: + self._resource_mapping_stacked_pages.setCurrentIndex(ERROR_PAGE_INDEX) + else: + self._resource_mapping_stacked_pages.setCurrentIndex(ViewManagerConstants.VIEW_AND_EDIT_PAGE_INDEX) self._main_window.show() def switch_to_view_edit_page(self) -> None: diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/error_messages.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/error_messages.py index 08ab2a146d..7aef2068a2 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/error_messages.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/error_messages.py @@ -9,6 +9,12 @@ remove or modify any license notices. This file is distributed on an "AS IS" BAS WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. """ +ERROR_PAGE_TOOL_SETUP_ERROR_MESSAGE: str = \ + "AWS credentials are missing or invalid. See " \ + ""\ + "documentation for details." \ + "
Check log file under Gems/AWSCore/Code/Tool/ResourceMappingTool for further information." + VIEW_EDIT_PAGE_SAVING_FAILED_WITH_INVALID_ROW_ERROR_MESSAGE: str = \ "Row {} have errors. Please correct errors or delete the row to proceed." VIEW_EDIT_PAGE_READ_FROM_JSON_FAILED_WITH_UNEXPECTED_FILE_ERROR_MESSAGE: str = \ diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/notification_label_text.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/notification_label_text.py index 1819e4c4ce..aecff69fb1 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/notification_label_text.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/notification_label_text.py @@ -11,6 +11,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. NOTIFICATION_LOADING_MESSAGE: str = "Loading..." +ERROR_PAGE_OK_TEXT: str = "OK" + VIEW_EDIT_PAGE_CONFIG_FILE_TEXT: str = "Config File" VIEW_EDIT_PAGE_CONFIG_LOCATION_TEXT: str = "Config Location:" VIEW_EDIT_PAGE_ADD_ROW_TEXT: str = "Add Row" diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/view_size_constants.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/view_size_constants.py index c01d81b75c..7c0eb55885 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/view_size_constants.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/model/view_size_constants.py @@ -17,6 +17,18 @@ MAIN_PAGE_LAYOUT_MARGIN_TOPBOTTOM: int = 15 INTERACTION_COMPONENT_HEIGHT: int = 25 +"""error page related constants""" +ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT: int = 10 +ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM: int = 10 + +ERROR_PAGE_MAIN_WINDOW_WIDTH: int = 600 +ERROR_PAGE_MAIN_WINDOW_HEIGHT: int = 145 + +ERROR_PAGE_NOTIFICATION_AREA_HEIGHT: int = 100 +ERROR_PAGE_FOOTER_AREA_HEIGHT: int = 45 + +OK_BUTTON_WIDTH: int = 90 + """view edit page related constants""" VIEW_EDIT_PAGE_HEADER_AREA_HEIGHT: int = 65 VIEW_EDIT_PAGE_CENTER_AREA_HEIGHT: int = 500 diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/resource_mapping_tool.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/resource_mapping_tool.py index 6a56491b24..177dae349e 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/resource_mapping_tool.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/resource_mapping_tool.py @@ -73,32 +73,22 @@ if __name__ == "__main__": except FileNotFoundError: logger.warning("Failed to load style sheet for resource mapping tool") - logger.info("Initializing boto3 default session ...") - try: - aws_utils.setup_default_session(arguments.profile) - except RuntimeError as error: - logger.error(error) - environment_utils.cleanup_qt_environment() - exit(-1) - logger.info("Initializing configuration manager ...") configuration_manager: ConfigurationManager = ConfigurationManager() - if not configuration_manager.setup(arguments.config_path): - environment_utils.cleanup_qt_environment() - exit(-1) + configuration_error: bool = not configuration_manager.setup(arguments.profile, arguments.config_path) logger.info("Initializing thread manager ...") thread_manager: ThreadManager = ThreadManager() - thread_manager.setup() + thread_manager.setup(configuration_error) logger.info("Initializing view manager ...") view_manager: ViewManager = ViewManager() - view_manager.setup() + view_manager.setup(configuration_error) logger.info("Initializing controller manager ...") controller_manager: ControllerManager = ControllerManager() - controller_manager.setup() + controller_manager.setup(configuration_error) - view_manager.show() + view_manager.show(configuration_error) sys.exit(app.exec_()) diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/base_style_sheet.qss b/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/base_style_sheet.qss index c23c3d90bd..2638052e2c 100644 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/base_style_sheet.qss +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/style/base_style_sheet.qss @@ -368,3 +368,18 @@ QFrame#NotificationFrame margin: 4px; padding: 4px; } + +QFrame#ErrorPage +{ + background-color: #2d2d2d; + border: 1px solid #4A90E2; + border-radius: 2px; + margin: 0px; + padding: 15px; +} + +QFrame#ErrorPage QLabel#NotificationIcon +{ + padding-left: 15px; + padding-right: 15px; +} diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_configuration_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_configuration_manager.py index 552f9fff01..7c6ee496a0 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_configuration_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_configuration_manager.py @@ -33,6 +33,7 @@ class TestConfigurationManager(TestCase): def test_get_instance_raise_exception(self) -> None: self.assertRaises(Exception, ConfigurationManager) + @patch("utils.aws_utils.setup_default_session") @patch("utils.aws_utils.get_default_region", return_value=_expected_region) @patch("utils.aws_utils.get_default_account_id", return_value=_expected_account_id) @patch("utils.file_utils.find_files_with_suffix_under_directory", return_value=_expected_config_files) @@ -42,8 +43,10 @@ class TestConfigurationManager(TestCase): mock_check_path_exists: MagicMock, mock_find_files_with_suffix_under_directory: MagicMock, mock_get_default_account_id: MagicMock, - mock_get_default_region: MagicMock) -> None: - TestConfigurationManager._expected_configuration_manager.setup("") + mock_get_default_region: MagicMock, + mock_setup_default_session: MagicMock) -> None: + TestConfigurationManager._expected_configuration_manager.setup("", "") + mock_setup_default_session.assert_called_once() mock_get_current_directory_path.assert_called_once() mock_check_path_exists.assert_called_once_with(TestConfigurationManager._expected_directory_path) mock_find_files_with_suffix_under_directory.assert_called_once_with( @@ -59,6 +62,7 @@ class TestConfigurationManager(TestCase): assert TestConfigurationManager._expected_configuration_manager.configuration.region == \ TestConfigurationManager._expected_region + @patch("utils.aws_utils.setup_default_session") @patch("utils.aws_utils.get_default_region", return_value=_expected_region) @patch("utils.aws_utils.get_default_account_id", return_value=_expected_account_id) @patch("utils.file_utils.find_files_with_suffix_under_directory", return_value=_expected_config_files) @@ -68,8 +72,11 @@ class TestConfigurationManager(TestCase): mock_check_path_exists: MagicMock, mock_find_files_with_suffix_under_directory: MagicMock, mock_get_default_account_id: MagicMock, - mock_get_default_region: MagicMock) -> None: - TestConfigurationManager._expected_configuration_manager.setup(TestConfigurationManager._expected_directory_path) + mock_get_default_region: MagicMock, + mock_setup_default_session: MagicMock) -> None: + TestConfigurationManager._expected_configuration_manager.setup( + "", TestConfigurationManager._expected_directory_path) + mock_setup_default_session.assert_called_once() mock_normalize_file_path.assert_called_once() mock_check_path_exists.assert_called_once_with(TestConfigurationManager._expected_directory_path) mock_find_files_with_suffix_under_directory.assert_called_once_with( diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_controller_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_controller_manager.py index 93e49415ca..7f2f1dd3f2 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_controller_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_controller_manager.py @@ -25,6 +25,9 @@ class TestControllerManager(TestCase): @classmethod def setUpClass(cls) -> None: + error_controller_patcher: patch = patch("manager.controller_manager.ErrorController") + cls._mock_error_controller = error_controller_patcher.start() + import_resources_controller_patcher: patch = patch("manager.controller_manager.ImportResourcesController") cls._mock_import_resources_controller = import_resources_controller_patcher.start() @@ -52,8 +55,14 @@ class TestControllerManager(TestCase): mocked_import_resources_controller: MagicMock = \ TestControllerManager._mock_import_resources_controller.return_value - TestControllerManager._expected_controller_manager.setup() + TestControllerManager._expected_controller_manager.setup(False) mocked_view_edit_controller.setup.assert_called_once() mocked_import_resources_controller.setup.assert_called_once() mocked_import_resources_controller.add_import_resources_sender.connect.assert_called_once_with( mocked_view_edit_controller.add_import_resources_receiver) + + def test_setup_error_controller_setup_gets_invoked(self) -> None: + mocked_error_controller: MagicMock = TestControllerManager._mock_error_controller.return_value + + TestControllerManager._expected_controller_manager.setup(True) + mocked_error_controller.setup.assert_called_once() diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_thread_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_thread_manager.py index 456a17efe2..06e2b4abbd 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_thread_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_thread_manager.py @@ -45,9 +45,15 @@ class TestThreadManager(TestCase): def test_setup_thread_pool_setup_with_expected_configuration(self) -> None: mocked_thread_pool: MagicMock = TestThreadManager._mock_thread_pool.return_value - TestThreadManager._expected_thread_manager.setup() + TestThreadManager._expected_thread_manager.setup(False) mocked_thread_pool.setMaxThreadCount.assert_called_once_with(1) + def test_setup_thread_pool_skip_setup(self) -> None: + mocked_thread_pool: MagicMock = TestThreadManager._mock_thread_pool.return_value + + TestThreadManager._expected_thread_manager.setup(True) + mocked_thread_pool.setMaxThreadCount.asset_not_called() + def test_start_thread_pool_start_expected_worker(self) -> None: mocked_thread_pool: MagicMock = TestThreadManager._mock_thread_pool.return_value expected_mocked_worker: MagicMock = MagicMock() diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_view_manager.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_view_manager.py index e5c84c6579..57ec41ba0a 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_view_manager.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/tests/unit/manager/test_view_manager.py @@ -13,13 +13,14 @@ from typing import List from unittest import TestCase from unittest.mock import (call, MagicMock, patch) -from manager.view_manager import (ViewManager, ViewManagerConstants) +from manager.view_manager import (ERROR_PAGE_INDEX, ViewManager, ViewManagerConstants) class TestViewManager(TestCase): """ ViewManager unit test cases """ + _mock_error_page: MagicMock _mock_import_resources_page: MagicMock _mock_view_edit_page: MagicMock _mock_main_window: MagicMock @@ -28,6 +29,9 @@ class TestViewManager(TestCase): @classmethod def setUpClass(cls) -> None: + error_page_patcher: patch = patch("manager.view_manager.ErrorPage") + cls._mock_error_page = error_page_patcher.start() + import_resources_page_patcher: patch = patch("manager.view_manager.ImportResourcesPage") cls._mock_import_resources_page = import_resources_page_patcher.start() @@ -60,6 +64,15 @@ class TestViewManager(TestCase): def test_get_instance_raise_exception(self) -> None: self.assertRaises(Exception, ViewManager) + def test_get_error_page_return_expected_page(self) -> None: + expected_page: MagicMock = TestViewManager._mock_error_page.return_value + mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value + mocked_stacked_pages.widget.return_value = expected_page + + actual_page: MagicMock = TestViewManager._expected_view_manager.get_error_page() + mocked_stacked_pages.widget.assert_called_once_with(ERROR_PAGE_INDEX) + assert actual_page == expected_page + def test_get_import_resources_page_return_expected_page(self) -> None: expected_page: MagicMock = TestViewManager._mock_import_resources_page.return_value mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value @@ -83,18 +96,34 @@ class TestViewManager(TestCase): mocked_import_resources_page: MagicMock = TestViewManager._mock_import_resources_page.return_value mocked_view_edit_page: MagicMock = TestViewManager._mock_view_edit_page.return_value - TestViewManager._expected_view_manager.setup() + TestViewManager._expected_view_manager.setup(False) mocked_calls: List[call] = [call(mocked_view_edit_page), call(mocked_import_resources_page)] mocked_stacked_pages.addWidget.assert_has_calls(mocked_calls) + def test_setup_error_page_only(self) -> None: + mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value + mocked_error_page: MagicMock = TestViewManager._mock_error_page.return_value + + TestViewManager._expected_view_manager.setup(True) + mocked_calls: List[call] = [call(mocked_error_page)] + mocked_stacked_pages.addWidget.assert_has_calls(mocked_calls) + def test_show_stacked_pages_show_with_expected_index(self) -> None: mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value mocked_main_window: MagicMock = TestViewManager._mock_main_window.return_value - TestViewManager._expected_view_manager.show() + TestViewManager._expected_view_manager.show(False) mocked_stacked_pages.setCurrentIndex.assert_called_once_with(ViewManagerConstants.VIEW_AND_EDIT_PAGE_INDEX) mocked_main_window.show.assert_called_once() + def test_show_stacked_pages_show_error_plage(self) -> None: + mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value + mocked_main_window: MagicMock = TestViewManager._mock_main_window.return_value + + TestViewManager._expected_view_manager.show(True) + mocked_stacked_pages.setCurrentIndex.assert_called_once_with(ERROR_PAGE_INDEX) + mocked_main_window.show.assert_called_once() + def test_switch_to_view_edit_page_stacked_pages_switch_to_expected_index(self) -> None: mocked_stacked_pages: MagicMock = TestViewManager._mock_stacked_pages.return_value diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/common_view_components.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/common_view_components.py index 8aad0a785c..39c94ccf77 100755 --- a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/common_view_components.py +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/common_view_components.py @@ -37,10 +37,12 @@ class NotificationFrame(QFrame): self.setFrameStyle(QFrame.StyledPanel | QFrame.Plain) icon_label: QLabel = QLabel(self) + icon_label.setObjectName("NotificationIcon") icon_label.setPixmap(pixmap) self._title_label: QLabel = QLabel(title, self) - self._title_label.setObjectName("Title") + self._title_label.setOpenExternalLinks(True) + self._title_label.setObjectName("NotificationTitle") self._title_label.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)) self._title_label.setWordWrap(True) diff --git a/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/error_page.py b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/error_page.py new file mode 100644 index 0000000000..2b42d2bfc2 --- /dev/null +++ b/Gems/AWSCore/Code/Tools/ResourceMappingTool/view/error_page.py @@ -0,0 +1,89 @@ +""" +All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +its licensors. + +For complete copyright and license terms please see the LICENSE at the root of this +distribution (the "License"). All use of this software is governed by the License, +or, if provided, by the license below or the license accompanying this file. Do not +remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +""" + +from PySide2.QtGui import QPixmap +from PySide2.QtWidgets import (QHBoxLayout, QLayout, QPushButton, QSizePolicy, QSpacerItem, QVBoxLayout, QWidget) + +from model import (error_messages, notification_label_text, view_size_constants) +from view.common_view_components import NotificationFrame + + +class ErrorPage(QWidget): + """ + Error Page + """ + def __init__(self) -> None: + super().__init__() + self.setGeometry(0, 0, + view_size_constants.ERROR_PAGE_MAIN_WINDOW_WIDTH, + view_size_constants.ERROR_PAGE_MAIN_WINDOW_HEIGHT) + + page_vertical_layout: QVBoxLayout = QVBoxLayout(self) + page_vertical_layout.setSizeConstraint(QLayout.SetMinimumSize) + page_vertical_layout.setMargin(0) + + self._setup_notification_area() + page_vertical_layout.addWidget(self._notification_area) + + self._setup_footer_area() + page_vertical_layout.addWidget(self._footer_area) + + def _setup_notification_area(self) -> None: + self._notification_area: QWidget = QWidget(self) + self._notification_area.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Minimum) + self._notification_area.setMinimumSize(view_size_constants.ERROR_PAGE_MAIN_WINDOW_WIDTH, + view_size_constants.ERROR_PAGE_NOTIFICATION_AREA_HEIGHT) + + notification_area_layout: QVBoxLayout = QVBoxLayout(self._notification_area) + notification_area_layout.setSizeConstraint(QLayout.SetMinimumSize) + notification_area_layout.setContentsMargins( + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, + view_size_constants.MAIN_PAGE_LAYOUT_MARGIN_TOPBOTTOM, + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, 0) + + notification_frame: NotificationFrame = \ + NotificationFrame(self, QPixmap(":/error_report_warning.svg"), + error_messages.ERROR_PAGE_TOOL_SETUP_ERROR_MESSAGE, False) + notification_frame.setObjectName("ErrorPage") + notification_frame.setMinimumSize(view_size_constants.ERROR_PAGE_MAIN_WINDOW_WIDTH, + view_size_constants.ERROR_PAGE_NOTIFICATION_AREA_HEIGHT) + notification_frame.setVisible(True) + notification_area_layout.addWidget(notification_frame) + + def _setup_footer_area(self) -> None: + self._footer_area: QWidget = QWidget(self) + self._footer_area.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Minimum) + self._footer_area.setMaximumSize(view_size_constants.TOOL_APPLICATION_MAIN_WINDOW_WIDTH, + view_size_constants.ERROR_PAGE_FOOTER_AREA_HEIGHT) + + footer_area_layout: QHBoxLayout = QHBoxLayout(self._footer_area) + footer_area_layout.setSizeConstraint(QLayout.SetMinimumSize) + footer_area_layout.setContentsMargins( + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM, + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_LEFTRIGHT, + view_size_constants.ERROR_PAGE_LAYOUT_MARGIN_TOPBOTTOM) + + footer_area_spacer: QSpacerItem = QSpacerItem(view_size_constants.ERROR_PAGE_MAIN_WINDOW_WIDTH, + view_size_constants.INTERACTION_COMPONENT_HEIGHT, + QSizePolicy.MinimumExpanding, QSizePolicy.Minimum) + footer_area_layout.addItem(footer_area_spacer) + + self._ok_button: QPushButton = QPushButton(self._footer_area) + self._ok_button.setObjectName("Secondary") + self._ok_button.setText(notification_label_text.ERROR_PAGE_OK_TEXT) + self._ok_button.setMinimumSize(view_size_constants.OK_BUTTON_WIDTH, + view_size_constants.INTERACTION_COMPONENT_HEIGHT) + footer_area_layout.addWidget(self._ok_button) + + @property + def ok_button(self) -> QPushButton: + return self._ok_button From adf6d93a06cb8470e59b979d2552b2b3d0ca53ec Mon Sep 17 00:00:00 2001 From: Terry Michaels Date: Wed, 9 Jun 2021 22:37:28 -0500 Subject: [PATCH 085/205] Moved toggle pivot to lower in the context menu, converted all context menu additions to use a singular mechanism (#1209) --- .../API/ToolsApplicationAPI.h | 3 -- .../Editor/EditorContextMenuBus.h | 2 +- .../UI/Outliner/EntityOutlinerWidget.cpp | 4 +-- .../UI/Prefab/PrefabIntegrationManager.cpp | 2 +- .../UI/Prefab/PrefabIntegrationManager.h | 2 +- .../Viewport/EditorContextMenu.cpp | 4 +-- .../EditorTransformComponentSelection.cpp | 28 +++++++++++++------ .../EditorTransformComponentSelection.h | 8 +++++- Code/Sandbox/Editor/RenderViewport.cpp | 9 +++--- Code/Sandbox/Editor/RenderViewport.h | 2 +- .../SandboxIntegration.cpp | 16 +++++------ .../SandboxIntegration.h | 6 ++-- .../UI/Outliner/OutlinerWidget.cpp | 5 ++-- .../Source/CameraEditorSystemComponent.cpp | 2 ++ .../Code/Source/CameraEditorSystemComponent.h | 8 +++++- .../Components/EditorSystemComponent.cpp | 2 ++ .../Source/Components/EditorSystemComponent.h | 6 +++- .../Code/Editor/SystemComponent.cpp | 2 ++ .../Code/Editor/SystemComponent.h | 8 +++++- 19 files changed, 79 insertions(+), 40 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/API/ToolsApplicationAPI.h b/Code/Framework/AzToolsFramework/AzToolsFramework/API/ToolsApplicationAPI.h index 72150b1b57..ab5c58c72a 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/API/ToolsApplicationAPI.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/API/ToolsApplicationAPI.h @@ -916,9 +916,6 @@ namespace AzToolsFramework eECMF_USE_VIEWPORT_CENTER = 0x2, }; - /// Populate global edit-time context menu. - virtual void PopulateEditorGlobalContextMenu(QMenu * /*menu*/, const AZ::Vector2& /*point*/, int /*flags*/) {} - /// Populate slice portion of edit-time context menu virtual void PopulateEditorGlobalContextMenu_SliceSection(QMenu * /*menu*/, const AZ::Vector2& /*point*/, int /*flags*/) {} diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Editor/EditorContextMenuBus.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Editor/EditorContextMenuBus.h index 33710e68f3..e8f37be539 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Editor/EditorContextMenuBus.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Editor/EditorContextMenuBus.h @@ -79,7 +79,7 @@ namespace AzToolsFramework * This is the menu that appears when right clicking the main editor window, * including the Entity Outliner and the Viewport. */ - virtual void PopulateEditorGlobalContextMenu(QMenu* menu) const = 0; + virtual void PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& point, int flags) = 0; }; using EditorContextMenuBus = AZ::EBus; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Outliner/EntityOutlinerWidget.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Outliner/EntityOutlinerWidget.cpp index 8293614525..d569d266ab 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Outliner/EntityOutlinerWidget.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Outliner/EntityOutlinerWidget.cpp @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -544,8 +545,7 @@ namespace AzToolsFramework QMenu* contextMenu = new QMenu(this); // Populate global context menu. - EBUS_EVENT(EditorEvents::Bus, - PopulateEditorGlobalContextMenu, + AzToolsFramework::EditorContextMenuBus::Broadcast(&AzToolsFramework::EditorContextMenuEvents::PopulateEditorGlobalContextMenu, contextMenu, AZ::Vector2::CreateZero(), EditorEvents::eECMF_HIDE_ENTITY_CREATION | EditorEvents::eECMF_USE_VIEWPORT_CENTER); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.cpp index 9d01911532..77918565e4 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.cpp @@ -119,7 +119,7 @@ namespace AzToolsFramework return "Prefabs"; } - void PrefabIntegrationManager::PopulateEditorGlobalContextMenu(QMenu* menu) const + void PrefabIntegrationManager::PopulateEditorGlobalContextMenu(QMenu* menu, [[maybe_unused]] const AZ::Vector2& point, [[maybe_unused]] int flags) { AzToolsFramework::EntityIdList selectedEntities; AzToolsFramework::ToolsApplicationRequestBus::BroadcastResult( diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.h b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.h index 69ec3013cc..a3a9bc3741 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.h @@ -65,7 +65,7 @@ namespace AzToolsFramework // EditorContextMenuBus... int GetMenuPosition() const override; AZStd::string GetMenuIdentifier() const override; - void PopulateEditorGlobalContextMenu(QMenu* menu) const override; + void PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& point, int flags) override; // EntityOutlinerSourceDropHandlingBus... void HandleSourceFileType(AZStd::string_view sourceFilePath, AZ::EntityId parentId, AZ::Vector3 position) const override; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/EditorContextMenu.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/EditorContextMenu.cpp index 308f0f074f..4521f45783 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/EditorContextMenu.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/EditorContextMenu.cpp @@ -13,6 +13,7 @@ #include "EditorContextMenu.h" #include "AzToolsFramework/Viewport/ViewportMessages.h" +#include "Editor/EditorContextMenuBus.h" namespace AzToolsFramework { @@ -55,8 +56,7 @@ namespace AzToolsFramework // Populate global context menu. const int contextMenuFlag = 0; - EditorEvents::Bus::BroadcastReverse( - &EditorEvents::PopulateEditorGlobalContextMenu, contextMenu.m_menu.data(), + AzToolsFramework::EditorContextMenuBus::Broadcast(&AzToolsFramework::EditorContextMenuEvents::PopulateEditorGlobalContextMenu, contextMenu.m_menu.data(), AzFramework::Vector2FromScreenPoint(mouseInteraction.m_mouseInteraction.m_mousePick.m_screenCoordinates), contextMenuFlag); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp index eadb870563..c503386ab5 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp @@ -1018,6 +1018,7 @@ namespace AzToolsFramework EditorEntityVisibilityNotificationBus::Router::BusRouterConnect(); EditorEntityLockComponentNotificationBus::Router::BusRouterConnect(); EditorManipulatorCommandUndoRedoRequestBus::Handler::BusConnect(entityContextId); + EditorContextMenuBus::Handler::BusConnect(); CreateTransformModeSelectionCluster(); CreateSpaceSelectionCluster(); @@ -1038,6 +1039,7 @@ namespace AzToolsFramework m_pivotOverrideFrame.Reset(); + EditorContextMenuBus::Handler::BusConnect(); EditorManipulatorCommandUndoRedoRequestBus::Handler::BusDisconnect(); EditorEntityLockComponentNotificationBus::Router::BusRouterDisconnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterDisconnect(); @@ -3097,15 +3099,25 @@ namespace AzToolsFramework } } - void EditorTransformComponentSelection::PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& /*point*/, const int /*flags*/) + int EditorTransformComponentSelection::GetMenuPosition() const { - QAction* action = menu->addAction(QObject::tr(s_togglePivotTitleRightClick)); - QObject::connect( - action, &QAction::triggered, action, - [this]() - { - ToggleCenterPivotSelection(); - }); + return aznumeric_cast(EditorContextMenuOrdering::BOTTOM); + } + + AZStd::string EditorTransformComponentSelection::GetMenuIdentifier() const + { + return "Transform Component"; + } + + void EditorTransformComponentSelection::PopulateEditorGlobalContextMenu(QMenu* menu, [[maybe_unused]] const AZ::Vector2& point, [[maybe_unused]] int flags) + { + QAction* action = menu->addAction(QObject::tr(s_togglePivotTitleRightClick)); + QObject::connect( + action, &QAction::triggered, action, + [this]() + { + ToggleCenterPivotSelection(); + }); } void EditorTransformComponentSelection::BeforeEntitySelectionChanged() diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h index 2ec7fa2489..1b52911978 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -126,6 +127,7 @@ namespace AzToolsFramework //! Provide a suite of functionality for manipulating entities, primarily through their TransformComponent. class EditorTransformComponentSelection : public ViewportInteraction::ViewportSelectionRequests + , public EditorContextMenuBus::Handler , private EditorEventsBus::Handler , private EditorTransformComponentSelectionRequestBus::Handler , private ToolsApplicationNotificationBus::Handler @@ -238,8 +240,12 @@ namespace AzToolsFramework void UndoRedoEntityManipulatorCommand( AZ::u8 pivotOverride, const AZ::Transform& transform, AZ::EntityId entityId) override; + // EditorContextMenuBus... + void PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2 & point, int flags) override; + int GetMenuPosition() const override; + AZStd::string GetMenuIdentifier() const override; + // EditorEventsBus ... - void PopulateEditorGlobalContextMenu(QMenu *menu, const AZ::Vector2& point, int flags) override; void OnEscape() override; // ToolsApplicationNotificationBus ... diff --git a/Code/Sandbox/Editor/RenderViewport.cpp b/Code/Sandbox/Editor/RenderViewport.cpp index 8cef9e802c..bd30bc7c79 100644 --- a/Code/Sandbox/Editor/RenderViewport.cpp +++ b/Code/Sandbox/Editor/RenderViewport.cpp @@ -49,6 +49,7 @@ // AzToolsFramework #include #include +#include #include #include #include @@ -112,20 +113,20 @@ static const char TextCantCreateCameraNoLevel[] = "Cannot create camera when no class EditorEntityNotifications : public AzToolsFramework::EditorEntityContextNotificationBus::Handler - , public AzToolsFramework::EditorEvents::Bus::Handler + , public AzToolsFramework::EditorContextMenuBus::Handler { public: EditorEntityNotifications(CRenderViewport& renderViewport) : m_renderViewport(renderViewport) { AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusConnect(); - AzToolsFramework::EditorEvents::Bus::Handler::BusConnect(); + AzToolsFramework::EditorContextMenuBus::Handler::BusConnect(); } ~EditorEntityNotifications() override { AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusDisconnect(); - AzToolsFramework::EditorEvents::Bus::Handler::BusDisconnect(); + AzToolsFramework::EditorContextMenuBus::Handler::BusDisconnect(); } // AzToolsFramework::EditorEntityContextNotificationBus @@ -138,7 +139,7 @@ public: m_renderViewport.OnStopPlayInEditor(); } - // AzToolsFramework::EditorEvents::Bus + // AzToolsFramework::EditorContextMenu::Bus void PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& point, int flags) override { m_renderViewport.PopulateEditorGlobalContextMenu(menu, point, flags); diff --git a/Code/Sandbox/Editor/RenderViewport.h b/Code/Sandbox/Editor/RenderViewport.h index b45c92b1c8..d7d362fe27 100644 --- a/Code/Sandbox/Editor/RenderViewport.h +++ b/Code/Sandbox/Editor/RenderViewport.h @@ -179,7 +179,7 @@ public: virtual void OnStartPlayInEditor(); virtual void OnStopPlayInEditor(); - // AzToolsFramework::EditorEvents::Bus (handler moved to cpp to resolve link issues in unity builds) + // AzToolsFramework::EditorContextMenu::Bus (handler moved to cpp to resolve link issues in unity builds) // We use this to determine when the viewport context menu is being displayed so we can exit move mode void PopulateEditorGlobalContextMenu(QMenu* /*menu*/, const AZ::Vector2& /*point*/, int /*flags*/); diff --git a/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/SandboxIntegration.cpp b/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/SandboxIntegration.cpp index 694714cc6e..3b04fc70f8 100644 --- a/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/SandboxIntegration.cpp +++ b/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/SandboxIntegration.cpp @@ -167,7 +167,7 @@ void SandboxIntegrationManager::Setup() AzToolsFramework::ToolsApplicationEvents::Bus::Handler::BusConnect(); AzToolsFramework::EditorRequests::Bus::Handler::BusConnect(); AzToolsFramework::EditorWindowRequests::Bus::Handler::BusConnect(); - AzToolsFramework::EditorEvents::Bus::Handler::BusConnect(); + AzToolsFramework::EditorContextMenuBus::Handler::BusConnect(); AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusConnect(); AzToolsFramework::SliceEditorEntityOwnershipServiceNotificationBus::Handler::BusConnect(); @@ -384,7 +384,7 @@ void SandboxIntegrationManager::Teardown() AzFramework::DisplayContextRequestBus::Handler::BusDisconnect(); AzToolsFramework::SliceEditorEntityOwnershipServiceNotificationBus::Handler::BusDisconnect(); AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusDisconnect(); - AzToolsFramework::EditorEvents::Bus::Handler::BusDisconnect(); + AzToolsFramework::EditorContextMenuBus::Handler::BusDisconnect(); AzToolsFramework::EditorWindowRequests::Bus::Handler::BusDisconnect(); AzToolsFramework::EditorRequests::Bus::Handler::BusDisconnect(); AzToolsFramework::ToolsApplicationEvents::Bus::Handler::BusDisconnect(); @@ -589,6 +589,11 @@ void SandboxIntegrationManager::OnSaveLevel() m_unsavedEntities.clear(); } +int SandboxIntegrationManager::GetMenuPosition() const +{ + return aznumeric_cast(AzToolsFramework::EditorContextMenuOrdering::TOP); +} + void SandboxIntegrationManager::PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& point, int flags) { if (!IsLevelDocumentOpen()) @@ -662,13 +667,6 @@ void SandboxIntegrationManager::PopulateEditorGlobalContextMenu(QMenu* menu, con SetupSliceContextMenu(menu); } - else - { - menu->addSeparator(); - - // Allow handlers to append menu items to the context menu - AzToolsFramework::EditorContextMenuBus::Broadcast(&AzToolsFramework::EditorContextMenuEvents::PopulateEditorGlobalContextMenu, menu); - } action = menu->addAction(QObject::tr("Duplicate")); QObject::connect(action, &QAction::triggered, action, [this] { ContextMenu_Duplicate(); }); diff --git a/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/SandboxIntegration.h b/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/SandboxIntegration.h index 6d714b67df..5cb03cc99f 100644 --- a/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/SandboxIntegration.h +++ b/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/SandboxIntegration.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -97,7 +98,7 @@ class SandboxIntegrationManager : private AzToolsFramework::ToolsApplicationEvents::Bus::Handler , private AzToolsFramework::EditorRequests::Bus::Handler , private AzToolsFramework::EditorPickModeNotificationBus::Handler - , private AzToolsFramework::EditorEvents::Bus::Handler + , private AzToolsFramework::EditorContextMenuBus::Handler , private AzToolsFramework::EditorWindowRequests::Bus::Handler , private AzFramework::AssetCatalogEventBus::Handler , private AzFramework::DisplayContextRequestBus::Handler @@ -184,8 +185,9 @@ private: void OnEntityPickModeStopped() override; ////////////////////////////////////////////////////////////////////////// - // AzToolsFramework::EditorEvents::Bus::Handler overrides + // AzToolsFramework::EditorContextMenu::Bus::Handler overrides void PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& point, int flags) override; + int GetMenuPosition() const; ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// diff --git a/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/UI/Outliner/OutlinerWidget.cpp b/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/UI/Outliner/OutlinerWidget.cpp index fb8084cb6f..33126c7f3e 100644 --- a/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/UI/Outliner/OutlinerWidget.cpp +++ b/Code/Sandbox/Plugins/ComponentEntityEditorPlugin/UI/Outliner/OutlinerWidget.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -530,8 +531,8 @@ void OutlinerWidget::contextMenuEvent(QContextMenuEvent* event) QMenu* contextMenu = new QMenu(this); // Populate global context menu. - EBUS_EVENT(AzToolsFramework::EditorEvents::Bus, - PopulateEditorGlobalContextMenu, + + AzToolsFramework::EditorContextMenuBus::Broadcast(&AzToolsFramework::EditorContextMenuEvents::PopulateEditorGlobalContextMenu, contextMenu, AZ::Vector2::CreateZero(), AzToolsFramework::EditorEvents::eECMF_HIDE_ENTITY_CREATION | AzToolsFramework::EditorEvents::eECMF_USE_VIEWPORT_CENTER); diff --git a/Gems/Camera/Code/Source/CameraEditorSystemComponent.cpp b/Gems/Camera/Code/Source/CameraEditorSystemComponent.cpp index 9b6202b6c6..33290b9cfe 100644 --- a/Gems/Camera/Code/Source/CameraEditorSystemComponent.cpp +++ b/Gems/Camera/Code/Source/CameraEditorSystemComponent.cpp @@ -61,6 +61,7 @@ namespace Camera void CameraEditorSystemComponent::Activate() { + AzToolsFramework::EditorContextMenuBus::Handler::BusConnect(); AzToolsFramework::EditorEvents::Bus::Handler::BusConnect(); Camera::EditorCameraSystemRequestBus::Handler::BusConnect(); Camera::CameraViewRegistrationRequestsBus::Handler::BusConnect(); @@ -71,6 +72,7 @@ namespace Camera Camera::CameraViewRegistrationRequestsBus::Handler::BusDisconnect(); Camera::EditorCameraSystemRequestBus::Handler::BusDisconnect(); AzToolsFramework::EditorEvents::Bus::Handler::BusDisconnect(); + AzToolsFramework::EditorContextMenuBus::Handler::BusDisconnect(); } void CameraEditorSystemComponent::PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2&, int flags) diff --git a/Gems/Camera/Code/Source/CameraEditorSystemComponent.h b/Gems/Camera/Code/Source/CameraEditorSystemComponent.h index ec361c1afd..44f23f38e6 100644 --- a/Gems/Camera/Code/Source/CameraEditorSystemComponent.h +++ b/Gems/Camera/Code/Source/CameraEditorSystemComponent.h @@ -15,6 +15,7 @@ #include #include +#include #include "CameraViewRegistrationBus.h" @@ -25,6 +26,7 @@ namespace Camera , private AzToolsFramework::EditorEvents::Bus::Handler , private EditorCameraSystemRequestBus::Handler , private CameraViewRegistrationRequestsBus::Handler + , private AzToolsFramework::EditorContextMenuBus::Handler { public: AZ_COMPONENT(CameraEditorSystemComponent, "{769802EB-722A-4F89-A475-DA396DA1FDCC}"); @@ -40,9 +42,13 @@ namespace Camera ////////////////////////////////////////////////////////////////////////// private: + ////////////////////////////////////////////////////////////////////////// + // AzToolsFramework::EditorContextMenuBus + void PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& point, int flags) override; + ////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////// // AzToolsFramework::EditorEvents - void PopulateEditorGlobalContextMenu(QMenu *menu, const AZ::Vector2& point, int flags) override; void NotifyRegisterViews() override; ////////////////////////////////////////////////////////////////////////// diff --git a/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.cpp b/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.cpp index b28bf6ab4a..fff13d2f39 100644 --- a/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.cpp +++ b/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.cpp @@ -134,6 +134,7 @@ namespace PhysX void EditorSystemComponent::Activate() { Physics::EditorWorldBus::Handler::BusConnect(); + AzToolsFramework::EditorContextMenuBus::Handler::BusConnect(); m_onMaterialLibraryLoadErrorEventHandler = AzPhysics::SystemEvents::OnMaterialLibraryLoadErrorEvent::Handler( [this]([[maybe_unused]] AzPhysics::SystemEvents::MaterialLibraryLoadErrorType error) @@ -168,6 +169,7 @@ namespace PhysX { AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusDisconnect(); AzToolsFramework::EditorEvents::Bus::Handler::BusDisconnect(); + AzToolsFramework::EditorContextMenuBus::Handler::BusDisconnect(); Physics::EditorWorldBus::Handler::BusDisconnect(); if (auto* physicsSystem = AZ::Interface::Get()) diff --git a/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.h b/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.h index 4bd11a951f..8105709244 100644 --- a/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.h +++ b/Gems/PhysX/Code/Editor/Source/Components/EditorSystemComponent.h @@ -15,6 +15,7 @@ #include #include #include +#include #include namespace AzPhysics @@ -32,6 +33,7 @@ namespace PhysX , public Physics::EditorWorldBus::Handler , private AzToolsFramework::EditorEntityContextNotificationBus::Handler , private AzToolsFramework::EditorEvents::Bus::Handler + , private AzToolsFramework::EditorContextMenuBus::Handler { public: AZ_COMPONENT(EditorSystemComponent, "{560F08DC-94F5-4D29-9AD4-CDFB3B57C654}"); @@ -62,8 +64,10 @@ namespace PhysX void OnStartPlayInEditorBegin() override; void OnStopPlayInEditor() override; - // AztoolsFramework::EditorEvents::Bus::Handler + // AztoolsFramework::EditorContextMenuBus::Handler void PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& point, int flags) override; + + // AztoolsFramework::EditorEvents::Bus::Handler void NotifyRegisterViews() override; AZStd::optional> RetrieveDefaultMaterialLibrary(); diff --git a/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp b/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp index 60e8e5f23a..1d4d1e8605 100644 --- a/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp +++ b/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp @@ -66,6 +66,7 @@ namespace ScriptCanvasEditor SystemComponent::~SystemComponent() { AzToolsFramework::UnregisterViewPane(LyViewPane::ScriptCanvas); + AzToolsFramework::EditorContextMenuBus::Handler::BusDisconnect(); AzToolsFramework::EditorEvents::Bus::Handler::BusDisconnect(); AzFramework::AssetCatalogEventBus::Handler::BusDisconnect(); AzToolsFramework::AssetSeedManagerRequests::Bus::Handler::BusDisconnect(); @@ -119,6 +120,7 @@ namespace ScriptCanvasEditor void SystemComponent::Init() { AzToolsFramework::EditorEvents::Bus::Handler::BusConnect(); + AzToolsFramework::EditorContextMenuBus::Handler::BusConnect(); } void SystemComponent::Activate() diff --git a/Gems/ScriptCanvas/Code/Editor/SystemComponent.h b/Gems/ScriptCanvas/Code/Editor/SystemComponent.h index f2ebad38cd..ced5a67a4c 100644 --- a/Gems/ScriptCanvas/Code/Editor/SystemComponent.h +++ b/Gems/ScriptCanvas/Code/Editor/SystemComponent.h @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -42,6 +43,7 @@ namespace ScriptCanvasEditor , private AZ::Data::AssetBus::MultiHandler , private AZ::Interface::Registrar , private AzToolsFramework::AssetSeedManagerRequests::Bus::Handler + , private AzToolsFramework::EditorContextMenuBus::Handler { public: AZ_COMPONENT(SystemComponent, "{1DE7A120-4371-4009-82B5-8140CB1D7B31}"); @@ -71,8 +73,12 @@ namespace ScriptCanvasEditor //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// - // AztoolsFramework::EditorEvents::Bus::Handler... + // AztoolsFramework::EditorContextMenuBus::Handler... void PopulateEditorGlobalContextMenu(QMenu* menu, const AZ::Vector2& point, int flags) override; + //////////////////////////////////////////////////////////////////////// + + //////////////////////////////////////////////////////////////////////// + // AztoolsFramework::EditorEvents::Bus::Handler... void NotifyRegisterViews() override; //////////////////////////////////////////////////////////////////////// From 95465b18a41bbe9547c56e979fd780c3fcf42110 Mon Sep 17 00:00:00 2001 From: mnaumov Date: Wed, 9 Jun 2021 21:15:10 -0700 Subject: [PATCH 086/205] Custom serializer for mesh stats to exclude from serializetion --- .../Code/Source/Mesh/EditorMeshStats.cpp | 10 +++- .../Source/Mesh/EditorMeshStatsSerializer.cpp | 54 +++++++++++++++++++ .../Source/Mesh/EditorMeshStatsSerializer.h | 40 ++++++++++++++ ...egration_commonfeatures_editor_files.cmake | 2 + 4 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStatsSerializer.cpp create mode 100644 Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStatsSerializer.h diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp index 268e568179..2f65ca83df 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp @@ -10,9 +10,12 @@ * */ -#include #include #include +#include + +#include +#include namespace AZ { @@ -48,6 +51,11 @@ namespace AZ { EditorMeshStatsForLod::Reflect(context); + if (auto jsonContext = azrtti_cast(context)) + { + jsonContext->Serializer()->HandlesType(); + } + if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) { serializeContext->Class() diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStatsSerializer.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStatsSerializer.cpp new file mode 100644 index 0000000000..ad32c745be --- /dev/null +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStatsSerializer.cpp @@ -0,0 +1,54 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#include +#include + +namespace AZ +{ + namespace Render + { + AZ_CLASS_ALLOCATOR_IMPL(JsonEditorMeshStatsSerializer, AZ::SystemAllocator, 0); + + JsonSerializationResult::Result JsonEditorMeshStatsSerializer::Load( + [[maybe_unused]] void* outputValue, + [[maybe_unused]] const Uuid& outputValueTypeId, + [[maybe_unused]] const rapidjson::Value& inputValue, + JsonDeserializerContext& context) + { + namespace JSR = JsonSerializationResult; + + JSR::ResultCode result(JSR::Tasks::ReadField); + + return context.Report( + result, + "Successfully loaded EditorMeshStats information."); + } + + JsonSerializationResult::Result JsonEditorMeshStatsSerializer::Store( + [[maybe_unused]] rapidjson::Value& outputValue, + [[maybe_unused]] const void* inputValue, + [[maybe_unused]] const void* defaultValue, + [[maybe_unused]] const Uuid& valueTypeId, + JsonSerializerContext& context) + { + namespace JSR = JsonSerializationResult; + + JSR::ResultCode result(JSR::Tasks::WriteValue); + + return context.Report( + result, + "Successfully stored EditorMeshStats information."); + } + + } // namespace Render +} // namespace AZ diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStatsSerializer.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStatsSerializer.h new file mode 100644 index 0000000000..733fc3dc97 --- /dev/null +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStatsSerializer.h @@ -0,0 +1,40 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#include +#include + +namespace AZ +{ + namespace Render + { + // Custom JSON serializer for Mesh Stats + // Mesh stats should not be serialized with EditorMeshComponent, because they are calculated based on active model, + // so the serializer simply provides empty load/store functions + class JsonEditorMeshStatsSerializer : public BaseJsonSerializer + { + public: + AZ_RTTI(JsonEditorMeshStatsSerializer, "{571290F5-98C9-45AE-BC8C-E40968B5BA6F}", BaseJsonSerializer); + AZ_CLASS_ALLOCATOR_DECL; + + JsonSerializationResult::Result Load( + void* outputValue, const Uuid& outputValueTypeId, const rapidjson::Value& inputValue, + JsonDeserializerContext& context) override; + + JsonSerializationResult::Result Store( + rapidjson::Value& outputValue, const void* inputValue, const void* defaultValue, const Uuid& valueTypeId, + JsonSerializerContext& context) override; + }; + } // namespace Render +} // namespace AZ diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/atomlyintegration_commonfeatures_editor_files.cmake b/Gems/AtomLyIntegration/CommonFeatures/Code/atomlyintegration_commonfeatures_editor_files.cmake index 6c45015e39..bd50a27ccc 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/atomlyintegration_commonfeatures_editor_files.cmake +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/atomlyintegration_commonfeatures_editor_files.cmake @@ -54,6 +54,8 @@ set(FILES Source/Mesh/EditorMeshStats.cpp Source/Mesh/EditorMeshSystemComponent.cpp Source/Mesh/EditorMeshSystemComponent.h + Source/Mesh/EditorMeshStatsSerializer.cpp + Source/Mesh/EditorMeshStatsSerializer.h Source/Mesh/MeshThumbnail.h Source/Mesh/MeshThumbnail.cpp Source/PostProcess/EditorPostFxLayerComponent.cpp From 9d41954d0e5bdf97b301941279bda966eae67146 Mon Sep 17 00:00:00 2001 From: Aaron Ruiz Mora Date: Thu, 10 Jun 2021 12:22:16 +0100 Subject: [PATCH 087/205] Added configurable physics materials per asset in PhysX group in FBX Settings. (#1186) - Added back the' Physics Materials from Asset' tick in the collider components. - Made physics materials names case insensitive. - Refactored how to gather material information from fbx and used the same code for exporter and physx groups. --- .../AzFramework/Physics/Material.cpp | 7 +- .../AzFramework/Physics/Material.h | 2 + .../Physics/ShapeConfiguration.cpp | 19 +- .../AzFramework/Physics/ShapeConfiguration.h | 2 +- .../Code/Editor/ConfigStringLineEditCtrl.cpp | 12 +- .../Code/Editor/ConfigStringLineEditCtrl.h | 8 +- Gems/PhysX/Code/Editor/MaterialIdWidget.cpp | 8 +- .../Code/Editor/UniqueStringContainer.cpp | 10 +- .../PhysX/Code/Editor/UniqueStringContainer.h | 33 +- Gems/PhysX/Code/Include/PhysX/MeshAsset.h | 4 +- .../Code/Source/EditorColliderComponent.cpp | 14 +- .../Code/Source/EditorColliderComponent.h | 2 +- Gems/PhysX/Code/Source/Material.cpp | 18 +- Gems/PhysX/Code/Source/Material.h | 6 - .../Code/Source/Pipeline/MeshAssetHandler.cpp | 4 +- .../Code/Source/Pipeline/MeshBehavior.cpp | 15 +- .../Code/Source/Pipeline/MeshExporter.cpp | 301 +++++++++--------- .../PhysX/Code/Source/Pipeline/MeshExporter.h | 34 +- Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp | 86 ++++- Gems/PhysX/Code/Source/Pipeline/MeshGroup.h | 20 ++ 20 files changed, 374 insertions(+), 231 deletions(-) diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp b/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp index 78e0431753..4afbbaa4dc 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp +++ b/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp @@ -300,7 +300,7 @@ namespace Physics { auto foundMaterialConfiguration = AZStd::find_if(m_materialLibrary.begin(), m_materialLibrary.end(), [&materialName](const auto& data) { - return data.m_configuration.m_surfaceType == materialName; + return AZ::StringFunc::Equal(data.m_configuration.m_surfaceType, materialName, false/*bCaseSensitive*/); }); if (foundMaterialConfiguration != m_materialLibrary.end()) @@ -377,15 +377,16 @@ namespace Physics if (auto editContext = serializeContext->GetEditContext()) { - editContext->Class("Physics Material", "Select physics material library and which materials to use for the object") + editContext->Class("Physics Materials", "Select which physics materials to use for each element of this object") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) - ->DataElement(AZ::Edit::UIHandlers::Default, &MaterialSelection::m_materialIdsAssignedToSlots, "Mesh Surfaces", "Specify which Physics Material to use for each element of this object") + ->DataElement(AZ::Edit::UIHandlers::Default, &MaterialSelection::m_materialIdsAssignedToSlots, "", "") ->ElementAttribute(Attributes::MaterialLibraryAssetId, &MaterialSelection::GetMaterialLibraryId) ->Attribute(AZ::Edit::Attributes::IndexedChildNameLabelOverride, &MaterialSelection::GetMaterialSlotLabel) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->ElementAttribute(AZ::Edit::Attributes::ReadOnly, &MaterialSelection::AreMaterialSlotsReadOnly) ->Attribute(AZ::Edit::Attributes::ContainerCanBeModified, false) + ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ; } } diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Material.h b/Code/Framework/AzFramework/AzFramework/Physics/Material.h index 69edf3ed25..067f7abe07 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Material.h +++ b/Code/Framework/AzFramework/AzFramework/Physics/Material.h @@ -25,6 +25,8 @@ namespace AZ namespace Physics { + static constexpr AZStd::string_view DefaultPhysicsMaterialLabel = ""; + /// Physics material /// ========================= /// This is the interface to the wrapper around native material type (such as PxMaterial in PhysX gem) diff --git a/Code/Framework/AzFramework/AzFramework/Physics/ShapeConfiguration.cpp b/Code/Framework/AzFramework/AzFramework/Physics/ShapeConfiguration.cpp index 275103bc28..2c3b113d65 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/ShapeConfiguration.cpp +++ b/Code/Framework/AzFramework/AzFramework/Physics/ShapeConfiguration.cpp @@ -17,21 +17,6 @@ namespace Physics { - namespace Internal - { - bool ShapeConfigurationVersionConverter( - [[maybe_unused]] AZ::SerializeContext& context, - AZ::SerializeContext::DataElementNode& classElement) - { - if (classElement.GetVersion() <= 1) - { - classElement.RemoveElementByName(AZ_CRC_CE("UseMaterialsFromAsset")); - } - - return true; - } - } - void ShapeConfiguration::Reflect(AZ::ReflectContext* context) { if (auto serializeContext = azrtti_cast(context)) @@ -181,9 +166,10 @@ namespace Physics ->RegisterGenericType>(); serializeContext->Class() - ->Version(2, &Internal::ShapeConfigurationVersionConverter) + ->Version(3) ->Field("PhysicsAsset", &PhysicsAssetShapeConfiguration::m_asset) ->Field("AssetScale", &PhysicsAssetShapeConfiguration::m_assetScale) + ->Field("UseMaterialsFromAsset", &PhysicsAssetShapeConfiguration::m_useMaterialsFromAsset) ->Field("SubdivisionLevel", &PhysicsAssetShapeConfiguration::m_subdivisionLevel) ; @@ -196,6 +182,7 @@ namespace Physics ->DataElement(AZ::Edit::UIHandlers::Default, &PhysicsAssetShapeConfiguration::m_assetScale, "Asset Scale", "The scale of the asset shape") ->Attribute(AZ::Edit::Attributes::Min, 0.0f) ->Attribute(AZ::Edit::Attributes::Step, 0.01f) + ->DataElement(AZ::Edit::UIHandlers::Default, &PhysicsAssetShapeConfiguration::m_useMaterialsFromAsset, "Physics materials from asset", "Auto-set physics materials using asset's physics material names") ; } } diff --git a/Code/Framework/AzFramework/AzFramework/Physics/ShapeConfiguration.h b/Code/Framework/AzFramework/AzFramework/Physics/ShapeConfiguration.h index 8234ef9173..b3d04a10c9 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/ShapeConfiguration.h +++ b/Code/Framework/AzFramework/AzFramework/Physics/ShapeConfiguration.h @@ -140,7 +140,7 @@ namespace Physics AZ::Data::Asset m_asset{ AZ::Data::AssetLoadBehavior::PreLoad }; AZ::Vector3 m_assetScale = AZ::Vector3::CreateOne(); - bool m_useMaterialsFromAsset = false; // Not reflected or exposed to the user until there is a way to auto-match mesh's materials with physics materials + bool m_useMaterialsFromAsset = true; AZ::u8 m_subdivisionLevel = 4; ///< The level of subdivision if a primitive shape is replaced with a convex mesh due to scaling. }; diff --git a/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.cpp b/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.cpp index 6aaf45b184..704b538a5f 100644 --- a/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.cpp +++ b/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.cpp @@ -93,7 +93,7 @@ namespace PhysX } } - void ConfigStringLineEditCtrl::SetForbiddenStrings(const AZStd::unordered_set& forbiddenStrings) + void ConfigStringLineEditCtrl::SetForbiddenStrings(const UniqueStringContainer::StringSet& forbiddenStrings) { m_forbiddenStrings = forbiddenStrings; } @@ -122,7 +122,7 @@ namespace PhysX void ConfigStringLineEditValidator::OnEditStart(AZ::Crc32 stringGroupId , const AZStd::string& stringToEdit - , const AZStd::unordered_set& forbiddenStrings + , const UniqueStringContainer::StringSet& forbiddenStrings , int stringMaxLength , bool removeEditedString) { @@ -229,23 +229,23 @@ namespace PhysX } else if (attrib == Physics::MaterialConfiguration::s_forbiddenStringSet) { - AZStd::unordered_set forbiddenStringsUnorderedSet; + UniqueStringContainer::StringSet forbiddenStringsUnorderedSet; AZStd::set forbiddenStringsSet; AZStd::vector forbiddenStringsVector; - if (attrValue->Read>(forbiddenStringsUnorderedSet)) + if (attrValue->Read(forbiddenStringsUnorderedSet)) { GUI->SetForbiddenStrings(forbiddenStringsUnorderedSet); } else if (attrValue->Read>(forbiddenStringsSet)) { - forbiddenStringsUnorderedSet = AZStd::unordered_set(forbiddenStringsSet.begin() + forbiddenStringsUnorderedSet = UniqueStringContainer::StringSet(forbiddenStringsSet.begin() , forbiddenStringsSet.end()); GUI->SetForbiddenStrings(forbiddenStringsUnorderedSet); } else if (attrValue->Read>(forbiddenStringsVector)) { - forbiddenStringsUnorderedSet = AZStd::unordered_set(forbiddenStringsVector.begin() + forbiddenStringsUnorderedSet = UniqueStringContainer::StringSet(forbiddenStringsVector.begin() , forbiddenStringsVector.end()); GUI->SetForbiddenStrings(forbiddenStringsUnorderedSet); } diff --git a/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.h b/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.h index e672a9afd8..f9e7b752ec 100644 --- a/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.h +++ b/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.h @@ -47,7 +47,7 @@ namespace PhysX void OnEditStart(AZ::Crc32 stringGroupId , const AZStd::string& stringToEdit - , const AZStd::unordered_set& forbiddenStrings + , const UniqueStringContainer::StringSet& forbiddenStrings , int stringMaxLength , bool removeEditedString = true); @@ -62,7 +62,7 @@ namespace PhysX private: AZ::Crc32 m_currStringGroup = s_groupStringNotUnique; ///< Group of string field undergoing edit. int m_currStringMaxLen = s_qtLineEditMaxLen; ///< Max length of string field undergoing edit. - AZStd::unordered_set m_forbiddenStrings; ///< Value of string edit widget cannot be any of these strings. + UniqueStringContainer::StringSet m_forbiddenStrings; ///< Value of string edit widget cannot be any of these strings. UniqueStringContainer m_uniqueStringContainer; ///< Collection of groups of unique strings. Serves for validation and fixing of string input. }; @@ -79,7 +79,7 @@ namespace PhysX , ConfigStringLineEditValidator* validator = nullptr); virtual ~ConfigStringLineEditCtrl(); - void SetForbiddenStrings(const AZStd::unordered_set& forbiddenStrings); + void SetForbiddenStrings(const UniqueStringContainer::StringSet& forbiddenStrings); void SetUniqueGroup(AZ::Crc32 uniqueGroup); AZStd::string Value() const; @@ -92,7 +92,7 @@ namespace PhysX protected: void ConnectWidgets() override; - AZStd::unordered_set m_forbiddenStrings; ///< Value of this line edit ctrl cannot be any of these forbidden strings. + UniqueStringContainer::StringSet m_forbiddenStrings; ///< Value of this line edit ctrl cannot be any of these forbidden strings. ConfigStringLineEditValidator* m_pValidator = nullptr; ///< Validator for line edit widget. AZ::Crc32 m_uniqueGroup = ConfigStringLineEditValidator::s_groupStringNotUnique; ///< String group in which line edit value must remain unique. }; diff --git a/Gems/PhysX/Code/Editor/MaterialIdWidget.cpp b/Gems/PhysX/Code/Editor/MaterialIdWidget.cpp index 44787ddd20..30db8aa76d 100644 --- a/Gems/PhysX/Code/Editor/MaterialIdWidget.cpp +++ b/Gems/PhysX/Code/Editor/MaterialIdWidget.cpp @@ -15,12 +15,12 @@ #include +#include + namespace PhysX { namespace Editor { - static const char* const DefaultPhysicsMaterialLabel = ""; - AZ::u32 MaterialIdWidget::GetHandlerName() const { return Physics::Edit::MaterialIdSelector; @@ -74,7 +74,7 @@ namespace PhysX auto lockToDefault = [gui]() { - gui->addItem(DefaultPhysicsMaterialLabel); + gui->addItem(QLatin1String(Physics::DefaultPhysicsMaterialLabel.data(), Physics::DefaultPhysicsMaterialLabel.size())); gui->setCurrentIndex(0); return false; }; @@ -103,7 +103,7 @@ namespace PhysX // Add default physics material first m_libraryIds.push_back(Physics::MaterialId()); - gui->addItem(DefaultPhysicsMaterialLabel); + gui->addItem(QLatin1String(Physics::DefaultPhysicsMaterialLabel.data(), Physics::DefaultPhysicsMaterialLabel.size())); for (const auto& material : materials) { diff --git a/Gems/PhysX/Code/Editor/UniqueStringContainer.cpp b/Gems/PhysX/Code/Editor/UniqueStringContainer.cpp index 6482624dc4..1d92471919 100644 --- a/Gems/PhysX/Code/Editor/UniqueStringContainer.cpp +++ b/Gems/PhysX/Code/Editor/UniqueStringContainer.cpp @@ -23,7 +23,7 @@ namespace PhysX StringGroups::iterator stringGroupsIter = m_stringGroups.find(stringGroupId); if (stringGroupsIter == m_stringGroups.end()) { - m_stringGroups.emplace(stringGroupId, AZStd::unordered_set()); + m_stringGroups.emplace(stringGroupId, StringSet()); } m_stringGroups[stringGroupId].insert(stringIn); } @@ -31,7 +31,7 @@ namespace PhysX AZStd::string UniqueStringContainer::GetUniqueString(AZ::Crc32 stringGroupId , const AZStd::string& stringIn , AZ::u64 maxStringLength - , const AZStd::unordered_set& forbiddenStrings) const + , const StringSet& forbiddenStrings) const { StringGroups::const_iterator stringGroupsIter = m_stringGroups.find(stringGroupId); @@ -45,7 +45,7 @@ namespace PhysX } AZStd::string stringOut; - const AZStd::unordered_set& stringGroup = (stringGroupsIter == m_stringGroups.end())? AZStd::unordered_set():stringGroupsIter->second; + const StringSet& stringGroup = (stringGroupsIter == m_stringGroups.end())? StringSet():stringGroupsIter->second; // Attempts to append a post-fix value, e.g. "_1" etc., to the original string so it is unique. // A unique post-fix index can be found by iterating total number of invalid string plus 1. @@ -86,8 +86,8 @@ namespace PhysX return true; } - const AZStd::unordered_set& stringGroup = stringGroupsIter->second; - return stringGroup.find(stringIn) == stringGroup.end(); + const StringSet& stringSet = stringGroupsIter->second; + return stringSet.find(stringIn) == stringSet.end(); } void UniqueStringContainer::RemoveString(AZ::Crc32 stringGroupId diff --git a/Gems/PhysX/Code/Editor/UniqueStringContainer.h b/Gems/PhysX/Code/Editor/UniqueStringContainer.h index 176063f341..7144137f8a 100644 --- a/Gems/PhysX/Code/Editor/UniqueStringContainer.h +++ b/Gems/PhysX/Code/Editor/UniqueStringContainer.h @@ -16,13 +16,38 @@ #include #include #include +#include namespace PhysX { - /// Class that keeps track of unique strings in groups. + /// Class that keeps track of unique strings (case insensitive) in groups. class UniqueStringContainer { public: + struct CaseInsensitiveStringHash + { + AZ_TYPE_INFO(UniqueStringContainer::CaseInsensitiveStringHash, "{EB80F2A1-2DEB-47CC-ABF7-592F492C20A9}"); + + size_t operator()(const AZStd::string& str) const + { + AZStd::string lowerStr = str; + AZStd::to_lower(lowerStr.begin(), lowerStr.end()); + return AZStd::hash{}(lowerStr); + } + }; + + struct CaseInsensitiveStringEqual + { + AZ_TYPE_INFO(UniqueStringContainer::CaseInsensitiveStringEqual, "{6ADEA1D9-27B8-4C7A-913D-EC8191F1B6A9}"); + + bool operator()(const AZStd::string& arg0, const AZStd::string& arg1) const + { + return AZ::StringFunc::Equal(arg0, arg1, false/*bCaseSensitive*/); + } + }; + + using StringSet = AZStd::unordered_set; + /// Add a unique string to a group of unique strings. void AddString(AZ::Crc32 stringGroupId, const AZStd::string& stringIn); @@ -30,7 +55,7 @@ namespace PhysX AZStd::string GetUniqueString(AZ::Crc32 stringGroupId , const AZStd::string& stringIn , AZ::u64 maxStringLength - , const AZStd::unordered_set& forbiddenStrings) const; + , const StringSet& forbiddenStrings) const; /// Checks if a string would be unique in the identified string group. bool IsStringUnique(AZ::Crc32 stringGroupId, const AZStd::string& stringIn) const; @@ -39,7 +64,7 @@ namespace PhysX void RemoveString(AZ::Crc32 stringGroupId, const AZStd::string& stringIn); private: - using StringGroups = AZStd::unordered_map>; + using StringGroups = AZStd::unordered_map; StringGroups m_stringGroups; ///< Collection of groups of unique strings, each group identified by an ID. }; -} +} // namespace PhysX diff --git a/Gems/PhysX/Code/Include/PhysX/MeshAsset.h b/Gems/PhysX/Code/Include/PhysX/MeshAsset.h index 8467c04359..edfd82439a 100644 --- a/Gems/PhysX/Code/Include/PhysX/MeshAsset.h +++ b/Gems/PhysX/Code/Include/PhysX/MeshAsset.h @@ -62,8 +62,8 @@ namespace PhysX using ShapeConfigurationList = AZStd::vector; ShapeConfigurationList m_colliderShapes; //!< Shapes data with optional collider configuration override. - AZStd::vector m_surfaceNames; //!< List of all surface names. - AZStd::vector m_materialNames; //!< List of all material names. + AZStd::vector m_materialNames; //!< List of material names of the mesh asset. + AZStd::vector m_physicsMaterialNames; //!< List of physics material names associated with each material. AZStd::vector m_materialIndexPerShape; //!< An index of the material in m_materialNames for each shape. }; diff --git a/Gems/PhysX/Code/Source/EditorColliderComponent.cpp b/Gems/PhysX/Code/Source/EditorColliderComponent.cpp index 4454429092..1cb60e0af2 100644 --- a/Gems/PhysX/Code/Source/EditorColliderComponent.cpp +++ b/Gems/PhysX/Code/Source/EditorColliderComponent.cpp @@ -698,10 +698,10 @@ namespace PhysX AzToolsFramework::ToolsApplicationEvents::Bus::Broadcast(&AzToolsFramework::ToolsApplicationEvents::InvalidatePropertyDisplay, AzToolsFramework::Refresh_EntireTree); - ValidateMaterialSurfaces(); + ValidateAssetMaterials(); } - void EditorColliderComponent::ValidateMaterialSurfaces() + void EditorColliderComponent::ValidateAssetMaterials() { const AZ::Data::Asset& physicsAsset = m_shapeConfiguration.m_physicsAsset.m_pxAsset; @@ -712,7 +712,7 @@ namespace PhysX // Here we check the material indices assigned to every shape and validate that every index is used at least once. // It's not an error if the validation fails here but something we want to let the designers know about. - [[maybe_unused]] size_t surfacesNum = physicsAsset->m_assetData.m_surfaceNames.size(); + [[maybe_unused]] size_t materialsNum = physicsAsset->m_assetData.m_materialNames.size(); const AZStd::vector& indexPerShape = physicsAsset->m_assetData.m_materialIndexPerShape; AZStd::unordered_set usedIndices; @@ -728,10 +728,10 @@ namespace PhysX usedIndices.insert(index); } - AZ_Warning("PhysX", usedIndices.size() == surfacesNum, - "EditorColliderComponent::ValidateMaterialSurfaces. Entity: %s. Number of surfaces used by the shape (%d) does not match the " - "total number of surfaces in the asset (%d). Please check that there are no convex meshes with per-face materials. Asset: %s", - GetEntity()->GetName().c_str(), usedIndices.size(), surfacesNum, physicsAsset.GetHint().c_str()) + AZ_Warning("PhysX", usedIndices.size() == materialsNum, + "EditorColliderComponent::ValidateMaterialSurfaces. Entity: %s. Number of materials used by the shape (%d) does not match the " + "total number of materials in the asset (%d). Please check that there are no convex meshes with per-face materials. Asset: %s", + GetEntity()->GetName().c_str(), usedIndices.size(), materialsNum, physicsAsset.GetHint().c_str()) } void EditorColliderComponent::OnAssetReady(AZ::Data::Asset asset) diff --git a/Gems/PhysX/Code/Source/EditorColliderComponent.h b/Gems/PhysX/Code/Source/EditorColliderComponent.h index 07e1131ea9..603e0bf0b3 100644 --- a/Gems/PhysX/Code/Source/EditorColliderComponent.h +++ b/Gems/PhysX/Code/Source/EditorColliderComponent.h @@ -244,7 +244,7 @@ namespace PhysX AZ::Data::AssetId FindMatchingPhysicsAsset(const AZ::Data::Asset& renderMeshAsset, const AZStd::vector& physicsAssets); - void ValidateMaterialSurfaces(); + void ValidateAssetMaterials(); void InitEventHandlers(); DebugDraw::Collider m_colliderDebugDraw; diff --git a/Gems/PhysX/Code/Source/Material.cpp b/Gems/PhysX/Code/Source/Material.cpp index 5e8e3bf759..45a7d64c55 100644 --- a/Gems/PhysX/Code/Source/Material.cpp +++ b/Gems/PhysX/Code/Source/Material.cpp @@ -410,7 +410,7 @@ namespace PhysX } // Set the slots from the mesh asset - materialSelection.SetMaterialSlots(meshAsset->m_assetData.m_surfaceNames); + materialSelection.SetMaterialSlots(meshAsset->m_assetData.m_materialNames); if (!assetConfiguration.m_useMaterialsFromAsset) { @@ -419,12 +419,14 @@ namespace PhysX } // Update material IDs in the selection for each slot - const AZStd::vector& meshMaterialNames = meshAsset->m_assetData.m_materialNames; - for (size_t slotIndex = 0; slotIndex < meshMaterialNames.size(); ++slotIndex) + const AZStd::vector& physicsMaterialNames = meshAsset->m_assetData.m_physicsMaterialNames; + for (size_t slotIndex = 0; slotIndex < physicsMaterialNames.size(); ++slotIndex) { - const AZStd::string& physicsMaterialNameFromPhysicsAsset = meshMaterialNames[slotIndex]; - if (physicsMaterialNameFromPhysicsAsset == DefaultPhysicsMaterialNameFromPhysicsAsset) + const AZStd::string& physicsMaterialNameFromPhysicsAsset = physicsMaterialNames[slotIndex]; + if (physicsMaterialNameFromPhysicsAsset.empty() || + physicsMaterialNameFromPhysicsAsset == Physics::DefaultPhysicsMaterialLabel) { + materialSelection.SetMaterialId(Physics::MaterialId(), slotIndex); continue; } @@ -436,9 +438,9 @@ namespace PhysX else { AZ_Warning("PhysX", false, - "UpdateMaterialSelectionFromPhysicsAsset: Physics material '%s' not found in the material library. Mesh surface '%s' will use the default material.", + "UpdateMaterialSelectionFromPhysicsAsset: Physics material '%s' not found in the material library. Mesh material '%s' will use the default physics material.", physicsMaterialNameFromPhysicsAsset.c_str(), - meshAsset->m_assetData.m_surfaceNames[slotIndex].c_str()); + meshAsset->m_assetData.m_materialNames[slotIndex].c_str()); } } } @@ -516,7 +518,7 @@ namespace PhysX auto it = AZStd::find_if(m_materials.begin(), m_materials.end(), [&materialName](const auto& data) { - return data.second->GetSurfaceTypeName() == materialName; + return AZ::StringFunc::Equal(data.second->GetSurfaceTypeName(), materialName, false/*bCaseSensitive*/); }); if (it != m_materials.end()) { diff --git a/Gems/PhysX/Code/Source/Material.h b/Gems/PhysX/Code/Source/Material.h index 1541d156d8..694c48ea7c 100644 --- a/Gems/PhysX/Code/Source/Material.h +++ b/Gems/PhysX/Code/Source/Material.h @@ -21,12 +21,6 @@ namespace PhysX { - /// Name used by physx asset exporter to indicate that the default - /// physics material should be used for a mesh surface. The exporter - /// will use it as the fallback option when it's not possible to obtain - /// the surface information from the mesh material. - static const char* const DefaultPhysicsMaterialNameFromPhysicsAsset = ""; - /// PhysX implementation of Physics::Material interface /// =================================================== /// diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshAssetHandler.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshAssetHandler.cpp index 430ef7aef3..24fcd9d5e7 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshAssetHandler.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshAssetHandler.cpp @@ -151,8 +151,8 @@ namespace PhysX serializeContext->Class() ->Field("ColliderShapes", &MeshAssetData::m_colliderShapes) - ->Field("SurfaceNames", &MeshAssetData::m_surfaceNames) - ->Field("MaterialNames", &MeshAssetData::m_materialNames) + ->Field("SurfaceNames", &MeshAssetData::m_materialNames) + ->Field("MaterialNames", &MeshAssetData::m_physicsMaterialNames) ->Field("MaterialIndexPerShape", &MeshAssetData::m_materialIndexPerShape) ; } diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshBehavior.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshBehavior.cpp index ce46d72fb4..8762349ad1 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshBehavior.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshBehavior.cpp @@ -97,6 +97,10 @@ namespace PhysX nodeSelectionList.AddSelectedNode(graph.GetNodeName(nodeIndex).GetPath()); } } + + // Update list of materials slots after the group's node selection list has been gathered + group->SetSceneGraph(&graph); + group->UpdateMaterialSlots(); } AZ::SceneAPI::Events::ProcessingResult MeshBehavior::UpdateManifest(AZ::SceneAPI::Containers::Scene& scene, ManifestAction action, @@ -129,6 +133,8 @@ namespace PhysX // in the same way again. To guarantee the same uuid, generate a stable one instead. group->OverrideId(AZ::SceneAPI::DataTypes::Utilities::CreateStableUuid(scene, MeshGroup::TYPEINFO_Uuid())); + group->SetSceneGraph(&scene.GetGraph()); + EBUS_EVENT(AZ::SceneAPI::Events::ManifestMetaInfoBus, InitializeObject, scene, *group); scene.GetManifest().AddEntry(AZStd::move(group)); @@ -149,10 +155,15 @@ namespace PhysX } AZ::SceneAPI::Utilities::SceneGraphSelector::UpdateNodeSelection(scene.GetGraph(), group.GetSceneNodeSelectionList()); + + // Update list of materials slots after the group's node selection list has been updated + group.SetSceneGraph(&scene.GetGraph()); + group.UpdateMaterialSlots(); + updated = true; } return updated ? AZ::SceneAPI::Events::ProcessingResult::Success : AZ::SceneAPI::Events::ProcessingResult::Ignored; } - } // namespace SceneAPI -} // namespace AZ + } // namespace Pipeline +} // namespace PhysX diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp index 24e532e2d1..e968e2279a 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp @@ -68,16 +68,6 @@ namespace PhysX } } pxDefaultErrorCallback; - // A struct to store the asset-wide material names shared by multiple shapes - struct AssetMaterialsData - { - // Material names coming from FBX, these will be Mesh Surfaces in the Collider Component - AZStd::vector m_fbxMaterialNames; - - // Look-up table for fbxMaterialNames - AZStd::unordered_map m_materialIndexByName; - }; - // A struct to store the geometry data per FBX node struct NodeCollisionGeomExportData { @@ -153,7 +143,7 @@ namespace PhysX AZ::SerializeContext* serializeContext = azrtti_cast(context); if (serializeContext) { - serializeContext->Class()->Version(4); + serializeContext->Class()->Version(5); } } @@ -182,100 +172,49 @@ namespace PhysX return newIndex; } - // Building a map between FBX material name and the corresponding Cry surface type that is set in the .mtl file. - void BuildMaterialToSurfaceTypeMap(const AZStd::string& materialFilename, - AZStd::unordered_map& materialToSurfaceTypeMap) + bool UpdateAssetPhysicsMaterials( + const AZStd::vector& newMaterials, + AZStd::vector& materials, + AZStd::vector& physicsMaterials) { - AZ::IO::SystemFile mtlFile; - bool fileOpened = mtlFile.Open(materialFilename.c_str(), AZ::IO::SystemFile::SF_OPEN_READ_ONLY); - if (fileOpened && mtlFile.Length() != 0) + if (materials.size() != physicsMaterials.size()) { - //Read material override file into a buffer - AZStd::vector buffer(mtlFile.Length()); - mtlFile.Read(mtlFile.Length(), buffer.data()); - mtlFile.Close(); - - //Apparently in rapidxml if 'parse_no_data_nodes' isn't set it creates both value and data nodes - //with the data nodes having precedence such that updating values doesn't work. - AZ::rapidxml::xml_document document; - document.parse(buffer.data()); - - //Parse MTL file for materials and/or submaterials. - AZ::rapidxml::xml_node* rootMaterialNode = document.first_node(AZ::GFxFramework::MaterialExport::g_materialString); - - AZ::rapidxml::xml_node* subMaterialNode = rootMaterialNode->first_node(AZ::GFxFramework::MaterialExport::g_subMaterialString); - - if (subMaterialNode) - { - for (AZ::rapidxml::xml_node* materialNode = subMaterialNode->first_node(AZ::GFxFramework::MaterialExport::g_materialString); - materialNode; - materialNode = materialNode->next_sibling(AZ::GFxFramework::MaterialExport::g_materialString)) - { - AZ::rapidxml::xml_attribute* nameAttribute = materialNode->first_attribute(AZ::GFxFramework::MaterialExport::g_nameString); - if (nameAttribute) - { - AZStd::string materialName = nameAttribute->value(); - AZStd::string surfaceTypeName = DefaultPhysicsMaterialNameFromPhysicsAsset; - - AZ::rapidxml::xml_attribute* surfaceTypeNode = materialNode->first_attribute("SurfaceType"); - if (surfaceTypeNode && surfaceTypeNode->value_size() != 0) - { - surfaceTypeName = surfaceTypeNode->value(); - } - - materialToSurfaceTypeMap[materialName] = surfaceTypeName; - } - else - { - AZ_TracePrintf(AZ::SceneAPI::Utilities::ErrorWindow, "A SubMaterial without Name found in the .mtl file: %s", materialFilename.c_str()); - } - } - } - else - { - AZ_TracePrintf(AZ::SceneAPI::Utilities::ErrorWindow, "No SubMaterial node in the .mtl file: %s", materialFilename.c_str()); - } - } - } - - void UpdateAssetMaterialsFromCrySurfaceTypes(const AZStd::vector& fbxMaterialNames, - const AZStd::unordered_map& materialToSurfaceTypeMap, - MeshAssetData& assetData) - { - AZStd::vector& materialNames = assetData.m_materialNames; - AZ_Assert(materialNames.empty(), - "UpdateAssetMaterialsFromCrySurfaceTypes: Mesh Asset Data should not have materials already assigned."); - - materialNames.clear(); - materialNames.reserve(fbxMaterialNames.size()); - - for (const AZStd::string& fbxMaterial : fbxMaterialNames) - { - AZStd::string materialName; - - // Here we assign the actual engine surface type based on the material name - auto materialToSurfaceIt = materialToSurfaceTypeMap.find(fbxMaterial); - if (materialToSurfaceIt != materialToSurfaceTypeMap.end() - && !materialToSurfaceIt->second.empty()) - { - materialName = materialToSurfaceIt->second; - - // Remove the mat_ prefix since the material library generated from surface types doesn't have it. - if (materialName.find("mat_") == 0) - { - materialName = materialName.substr(4); - } - } - else - { - materialName = DefaultPhysicsMaterialNameFromPhysicsAsset; - } - - materialNames.emplace_back(AZStd::move(materialName)); + AZ_TracePrintf( + AZ::SceneAPI::Utilities::WarningWindow, + "Materials and Physics Materials have different number of elements. %d materials and %d physics materials.", + materials.size(), physicsMaterials.size()); + return false; } - // Asset mesh surfaces match FBX materials. These are the names that users see in the Collider Component in the Editor. - assetData.m_surfaceNames = fbxMaterialNames; + AZStd::vector newPhysicsMaterials; + newPhysicsMaterials.reserve(newMaterials.size()); + + // In the new material list, the materials might have changed slots. + // Form the new list of physics materials by looking at the previous list + // and keeping the same physics materials association when found. + for (const auto& newMaterial : newMaterials) + { + AZStd::string physicsMaterialName = Physics::DefaultPhysicsMaterialLabel; + + for (size_t slotId = 0; slotId < materials.size(); ++slotId) + { + if (AZ::StringFunc::Equal(materials[slotId], newMaterial, false/*bCaseSensitive*/)) + { + if (!physicsMaterials[slotId].empty()) + { + physicsMaterialName = physicsMaterials[slotId]; + } + break; + } + } + + newPhysicsMaterials.emplace_back(AZStd::move(physicsMaterialName)); + } + + materials = newMaterials; + physicsMaterials = AZStd::move(newPhysicsMaterials); + + return true; } bool ValidateCookedTriangleMesh(void* assetData, AZ::u32 assetDataSize) @@ -320,6 +259,86 @@ namespace PhysX return materialNames; } + + AZStd::optional GatherMaterialsFromMeshGroup( + const MeshGroup& meshGroup, + const AZ::SceneAPI::Containers::SceneGraph& sceneGraph) + { + AssetMaterialsData assetMaterialData; + + const auto& sceneNodeSelectionList = meshGroup.GetSceneNodeSelectionList(); + size_t selectedNodeCount = sceneNodeSelectionList.GetSelectedNodeCount(); + + for (size_t index = 0; index < selectedNodeCount; index++) + { + AZ::SceneAPI::Containers::SceneGraph::NodeIndex nodeIndex = sceneGraph.Find(sceneNodeSelectionList.GetSelectedNode(index)); + if (!nodeIndex.IsValid()) + { + AZ_TracePrintf( + AZ::SceneAPI::Utilities::WarningWindow, + "Node '%s' was not found in the scene graph.", + sceneNodeSelectionList.GetSelectedNode(index).c_str() + ); + continue; + } + auto nodeMesh = azrtti_cast(*sceneGraph.ConvertToStorageIterator(nodeIndex)); + if (!nodeMesh) + { + continue; + } + + AZStd::string_view nodeName = sceneGraph.GetNodeName(nodeIndex).GetName(); + + const AZStd::vector localFbxMaterialsList = GenerateLocalNodeMaterialMap(sceneGraph, nodeIndex); + if (localFbxMaterialsList.empty()) + { + AZ_TracePrintf( + AZ::SceneAPI::Utilities::WarningWindow, + "Node '%.*s' does not have any material assigned to it. Material '%s' will be used.", + nodeName.size(), nodeName, DefaultMaterialName + ); + } + + const AZ::u32 faceCount = nodeMesh->GetFaceCount(); + + assetMaterialData.m_nodesToPerFaceMaterialIndices.emplace(nodeName, AZStd::vector(faceCount)); + + // Convex and primitive methods can only have 1 material + const bool limitToOneMaterial = meshGroup.GetExportAsConvex() || meshGroup.GetExportAsPrimitive(); + + for (AZ::u32 faceIndex = 0; faceIndex < faceCount; ++faceIndex) + { + AZStd::string materialName = DefaultMaterialName; + if (!localFbxMaterialsList.empty()) + { + int materialId = nodeMesh->GetFaceMaterialId(faceIndex); + if (materialId >= localFbxMaterialsList.size()) + { + AZ_TracePrintf(AZ::SceneAPI::Utilities::ErrorWindow, + "materialId %d for face %d is out of bound for localFbxMaterialsList (size %d).", + materialId, faceIndex, localFbxMaterialsList.size()); + + return AZStd::nullopt; + } + + materialName = localFbxMaterialsList[materialId]; + + // Keep using the first material when it has to be limited to one. + if (limitToOneMaterial && + assetMaterialData.m_fbxMaterialNames.size() == 1 && + assetMaterialData.m_fbxMaterialNames[0] != materialName) + { + materialName = assetMaterialData.m_fbxMaterialNames[0]; + } + } + + AZ::u16 materialIndex = InsertMaterialIndexByName(materialName, assetMaterialData); + assetMaterialData.m_nodesToPerFaceMaterialIndices[nodeName][faceIndex] = materialIndex; + } + } + + return assetMaterialData; + } } static physx::PxMeshMidPhase::Enum GetMidPhaseStructureType(const AZStd::string& platformIdentifier) @@ -468,21 +487,11 @@ namespace PhysX return cookingSuccessful; } - // Utility function finding out the .mtl file for a given FBX (at the moment it's the same name as FBX but with .mtl extension) - static AZStd::string GetAssetMaterialFilename(const AZ::SceneAPI::Events::ExportEventContext& context) - { - const AZ::SceneAPI::Containers::Scene& scene = context.GetScene(); - - AZStd::string materialFilename = scene.GetSourceFilename(); - AzFramework::StringFunc::Path::ReplaceExtension(materialFilename, ".mtl"); - return materialFilename; - } - // Processes the collected data and writes into a file static AZ::SceneAPI::Events::ProcessingResult WritePxMeshAsset( AZ::SceneAPI::Events::ExportEventContext& context, const AZStd::vector& totalExportData, - const AssetMaterialsData &assetMaterialsData, + const Utils::AssetMaterialsData &assetMaterialsData, const MeshGroup& meshGroup) { SceneEvents::ProcessingResult result = SceneEvents::ProcessingResult::Ignored; @@ -492,14 +501,18 @@ namespace PhysX MeshAssetData assetData; - const AZStd::string& materialFilename = GetAssetMaterialFilename(context); - - // Read the information about surface type for each material from the .mtl file - AZStd::unordered_map fbxMaterialToCrySurfaceTypeMap; - Utils::BuildMaterialToSurfaceTypeMap(materialFilename, fbxMaterialToCrySurfaceTypeMap); - // Assign the materials into cooked data - Utils::UpdateAssetMaterialsFromCrySurfaceTypes(assetMaterialsData.m_fbxMaterialNames, fbxMaterialToCrySurfaceTypeMap, assetData); + assetData.m_materialNames = meshGroup.GetMaterialSlots(); + assetData.m_physicsMaterialNames = meshGroup.GetPhysicsMaterials(); + + // Updating materials lists from new materials gathered from fbx + // because this exporter runs when the FBX is being processed, which + // could have a different content from when the mesh group info was + // entered in FBX Settings Editor. + if (!Utils::UpdateAssetPhysicsMaterials(assetMaterialsData.m_fbxMaterialNames, assetData.m_materialNames, assetData.m_physicsMaterialNames)) + { + return SceneEvents::ProcessingResult::Failure; + } for (const NodeCollisionGeomExportData& subMesh : totalExportData) { @@ -714,9 +727,15 @@ namespace PhysX for (const MeshGroup& pxMeshGroup : view) { + // Gather material data from asset for the mesh group + AZStd::optional assetMaterialData = Utils::GatherMaterialsFromMeshGroup(pxMeshGroup, graph); + if (!assetMaterialData) + { + return SceneEvents::ProcessingResult::Failure; + } + // Export data per node AZStd::vector totalExportData; - AssetMaterialsData assetMaterialData; const AZStd::string& groupName = pxMeshGroup.GetName(); @@ -764,7 +783,6 @@ namespace PhysX const AZ::SceneAPI::Containers::SceneGraph::Name& nodeName = graph.GetNodeName(nodeIndex); - const AZStd::vector localFbxMaterialsList = Utils::GenerateLocalNodeMaterialMap(graph, nodeIndex); const AZ::SceneAPI::DataTypes::MatrixType worldTransform = SceneUtil::BuildWorldTransform(graph, nodeIndex); NodeCollisionGeomExportData nodeExportData; @@ -783,53 +801,24 @@ namespace PhysX } nodeExportData.m_indices.resize(faceCount * 3); - nodeExportData.m_perFaceMaterialIndices.resize(faceCount); - if (localFbxMaterialsList.empty()) + nodeExportData.m_perFaceMaterialIndices = assetMaterialData->m_nodesToPerFaceMaterialIndices[nodeExportData.m_nodeName]; + if (nodeExportData.m_perFaceMaterialIndices.size() != faceCount) { AZ_TracePrintf( AZ::SceneAPI::Utilities::WarningWindow, - "Node '%s' does not have any material assigned to it. Material '%s' will be used.", - nodeExportData.m_nodeName.c_str(), DefaultMaterialName + "Node '%s' material information face count %d does not match the node's %d.", + nodeExportData.m_nodeName.c_str(), nodeExportData.m_perFaceMaterialIndices.size(), faceCount ); + return SceneEvents::ProcessingResult::Failure; } - // Convex and primitive methods can only have 1 material - const bool limitToOneMaterial = pxMeshGroup.GetExportAsConvex() || pxMeshGroup.GetExportAsPrimitive(); - for (AZ::u32 faceIndex = 0; faceIndex < faceCount; ++faceIndex) { - AZStd::string materialName = DefaultMaterialName; - if (!localFbxMaterialsList.empty()) - { - int materialId = nodeMesh->GetFaceMaterialId(faceIndex); - if (materialId >= localFbxMaterialsList.size()) - { - AZ_TracePrintf(AZ::SceneAPI::Utilities::ErrorWindow, - "materialId %d for face %d is out of bound for localFbxMaterialsList (size %d).", - materialId, faceIndex, localFbxMaterialsList.size()); - - return SceneEvents::ProcessingResult::Failure; - } - - materialName = localFbxMaterialsList[materialId]; - - // Keep using the first material when it has to be limited to one. - if (limitToOneMaterial && - assetMaterialData.m_fbxMaterialNames.size() == 1 && - assetMaterialData.m_fbxMaterialNames[0] != materialName) - { - materialName = assetMaterialData.m_fbxMaterialNames[0]; - } - } - const AZ::SceneAPI::DataTypes::IMeshData::Face& face = nodeMesh->GetFaceInfo(faceIndex); nodeExportData.m_indices[faceIndex * 3] = face.vertexIndex[0]; nodeExportData.m_indices[faceIndex * 3 + 1] = face.vertexIndex[1]; nodeExportData.m_indices[faceIndex * 3 + 2] = face.vertexIndex[2]; - - AZ::u16 materialIndex = Utils::InsertMaterialIndexByName(materialName, assetMaterialData); - nodeExportData.m_perFaceMaterialIndices[faceIndex] = materialIndex; } if (pxMeshGroup.GetDecomposeMeshes()) @@ -880,7 +869,7 @@ namespace PhysX if (!totalExportData.empty()) { - result += WritePxMeshAsset(context, totalExportData, assetMaterialData, pxMeshGroup); + result += WritePxMeshAsset(context, totalExportData, *assetMaterialData, pxMeshGroup); } } diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshExporter.h b/Gems/PhysX/Code/Source/Pipeline/MeshExporter.h index ef0e58cecb..0593b27301 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshExporter.h +++ b/Gems/PhysX/Code/Source/Pipeline/MeshExporter.h @@ -26,6 +26,7 @@ namespace AZ namespace Containers { class Scene; + class SceneGraph; } namespace DataTypes @@ -57,5 +58,34 @@ namespace PhysX private: AZ::SceneAPI::Events::ProcessingResult ExportMeshObject(AZ::SceneAPI::Events::ExportEventContext& context, const AZStd::shared_ptr& meshToExport, const AZStd::string& nodePath, const Pipeline::MeshGroup& pxMeshGroup) const; }; - } -} + + namespace Utils + { + //! A struct to store the materials of the mesh nodes selected in a mesh group. + struct AssetMaterialsData + { + //! Material names coming from FBX. + AZStd::vector m_fbxMaterialNames; + + //! Look-up table for fbxMaterialNames. + AZStd::unordered_map m_materialIndexByName; + + //! Map of mesh nodes to their list of material indices associated to each face. + AZStd::unordered_map> m_nodesToPerFaceMaterialIndices; + }; + + //! Returns the list of materials assigned to the triangles + //! of the mesh nodes selected in a mesh group. + AZStd::optional GatherMaterialsFromMeshGroup( + const MeshGroup& meshGroup, + const AZ::SceneAPI::Containers::SceneGraph& sceneGraph); + + //! Function to update a list of materials and physics materials from a new list. + //! All those new materials not found in the previous list will fallback to default physics material. + bool UpdateAssetPhysicsMaterials( + const AZStd::vector& newMaterials, + AZStd::vector& materials, + AZStd::vector& physicsMaterials); + } // namespace Utils + } // namespace Pipeline +} // namespace PhysX diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp index db6e7e12e0..4789377852 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp @@ -20,8 +20,11 @@ #include #include #include +#include #include +#include +#include #include @@ -602,6 +605,8 @@ namespace PhysX ->Field("PrimitiveAssetParams", &MeshGroup::m_primitiveAssetParams) ->Field("DecomposeMeshes", &MeshGroup::m_decomposeMeshes) ->Field("ConvexDecompositionParams", &MeshGroup::m_convexDecompositionParams) + ->Field("MaterialSlots", &MeshGroup::m_materialSlots) + ->Field("PhysicsMaterials", &MeshGroup::m_physicsMaterials) ->Field("rules", &MeshGroup::m_rules); if ( @@ -622,6 +627,7 @@ namespace PhysX "Select the meshes to be included in the mesh group.") ->Attribute("FilterName", "meshes") ->Attribute("FilterType", AZ::SceneAPI::DataTypes::IMeshData::TYPEINFO_Uuid()) + ->Attribute(AZ::Edit::Attributes::ChangeNotify, &MeshGroup::OnNodeSelectionChanged) ->DataElement(AZ::Edit::UIHandlers::ComboBox, &MeshGroup::m_exportMethod, "Export As", "The cooking method to be applied to this mesh group. For the asset to be usable as " @@ -629,14 +635,14 @@ namespace PhysX ->EnumAttribute(MeshExportMethod::TriMesh, "Triangle Mesh") ->EnumAttribute(MeshExportMethod::Convex, "Convex") ->EnumAttribute(MeshExportMethod::Primitive, "Primitive") - ->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree) + ->Attribute(AZ::Edit::Attributes::ChangeNotify, &MeshGroup::OnExportMethodChanged) ->DataElement(AZ_CRC("DecomposeMeshes", 0xe0e2ac1e), &MeshGroup::m_decomposeMeshes, "Decompose Meshes", "If enables, this option will apply the V-HACD algorithm to split each node " "into approximately convex parts. Each part will individually be exported as a convex " "collider using the parameters configured above.") ->Attribute(AZ::Edit::Attributes::Visibility, &MeshGroup::GetDecomposeMeshesVisibility) - ->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::EntireTree) + ->Attribute(AZ::Edit::Attributes::ChangeNotify, &MeshGroup::OnDecomposeMeshesChanged) ->DataElement(AZ_CRC("TriangleMeshAssetParams", 0x1a408def), &MeshGroup::m_triangleMeshAssetParams, "Triangle Mesh Asset Parameters", "Configure the parameters controlling the exported triangle mesh asset.") @@ -658,6 +664,12 @@ namespace PhysX ->Attribute(AZ::Edit::Attributes::Visibility, &MeshGroup::GetDecomposeMeshes) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) + ->DataElement(AZ::Edit::UIHandlers::Default, &MeshGroup::m_physicsMaterials, "Physics Materials", + "Configure which physics materials to use for each element.") + ->Attribute(AZ::Edit::Attributes::IndexedChildNameLabelOverride, &MeshGroup::GetMaterialSlotLabel) + ->Attribute(AZ::Edit::Attributes::AutoExpand, true) + ->Attribute(AZ::Edit::Attributes::ContainerCanBeModified, false) + ->DataElement(AZ::Edit::UIHandlers::Default, &MeshGroup::m_rules, "", "Add or remove rules to fine-tune the export process.") ->Attribute(AZ::Edit::Attributes::Visibility, AZ_CRC("PropertyVisibility_ShowChildrenOnly", 0xef428f20)); @@ -710,6 +722,37 @@ namespace PhysX return (GetExportAsConvex() || GetExportAsPrimitive()) && m_decomposeMeshes; } + const AZStd::vector& MeshGroup::GetPhysicsMaterials() const + { + return m_physicsMaterials; + } + + const AZStd::vector& MeshGroup::GetMaterialSlots() const + { + return m_materialSlots; + } + + void MeshGroup::SetSceneGraph(const AZ::SceneAPI::Containers::SceneGraph* graph) + { + m_graph = graph; + } + + void MeshGroup::UpdateMaterialSlots() + { + if (!m_graph) + { + return; + } + + AZStd::optional assetMaterialData = Utils::GatherMaterialsFromMeshGroup(*this, *m_graph); + if (!assetMaterialData) + { + return; + } + + Utils::UpdateAssetPhysicsMaterials(assetMaterialData->m_fbxMaterialNames, m_materialSlots, m_physicsMaterials); + } + AZ::SceneAPI::Containers::RuleContainer& MeshGroup::GetRuleContainer() { return m_rules; @@ -770,11 +813,50 @@ namespace PhysX return m_convexDecompositionParams; } + AZ::u32 MeshGroup::OnNodeSelectionChanged() + { + UpdateMaterialSlots(); + return AZ::Edit::PropertyRefreshLevels::EntireTree; + } + + AZ::u32 MeshGroup::OnExportMethodChanged() + { + UpdateMaterialSlots(); + return AZ::Edit::PropertyRefreshLevels::EntireTree; + } + + AZ::u32 MeshGroup::OnDecomposeMeshesChanged() + { + UpdateMaterialSlots(); + return AZ::Edit::PropertyRefreshLevels::EntireTree; + } + bool MeshGroup::GetDecomposeMeshesVisibility() const { return GetExportAsConvex() || GetExportAsPrimitive(); } + AZStd::string MeshGroup::GetMaterialSlotLabel(int index) const + { + if (index < m_materialSlots.size()) + { + // When limited to one material, clarify in the label the material + // will be used for the entire object. + if (index == 0 && (GetExportAsConvex() || GetExportAsPrimitive())) + { + return m_materialSlots[index] + " (entire object)"; + } + else + { + return m_materialSlots[index]; + } + } + else + { + return ""; + } + } + bool MeshGroup::VersionConverter(AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement) { // Remove the material rule. diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.h b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.h index 0095a3dce2..a2c270234a 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.h +++ b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.h @@ -23,6 +23,11 @@ namespace AZ { class ReflectContext; + + namespace SceneAPI::Containers + { + class SceneGraph; + } } namespace PhysX @@ -185,6 +190,11 @@ namespace PhysX bool GetExportAsTriMesh() const; bool GetExportAsPrimitive() const; bool GetDecomposeMeshes() const; + const AZStd::vector& GetPhysicsMaterials() const; + const AZStd::vector& GetMaterialSlots() const; + + void SetSceneGraph(const AZ::SceneAPI::Containers::SceneGraph* graph); + void UpdateMaterialSlots(); AZ::SceneAPI::Containers::RuleContainer& GetRuleContainer() override; const AZ::SceneAPI::Containers::RuleContainer& GetRuleContainerConst() const override; @@ -207,8 +217,14 @@ namespace PhysX protected: static bool VersionConverter(AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement); + AZ::u32 OnNodeSelectionChanged(); + AZ::u32 OnExportMethodChanged(); + AZ::u32 OnDecomposeMeshesChanged(); + bool GetDecomposeMeshesVisibility() const; + AZStd::string GetMaterialSlotLabel(int index) const; + AZ::Uuid m_id{}; AZStd::string m_name{}; AZ::SceneAPI::SceneData::SceneNodeSelectionList m_nodeSelectionList{}; @@ -219,6 +235,10 @@ namespace PhysX PrimitiveAssetParams m_primitiveAssetParams{}; ConvexDecompositionParams m_convexDecompositionParams{}; AZ::SceneAPI::Containers::RuleContainer m_rules{}; + AZStd::vector m_materialSlots; + AZStd::vector m_physicsMaterials; + + const AZ::SceneAPI::Containers::SceneGraph* m_graph = nullptr; }; } } From 2ede3c3dc33ab996b904da1c95489c5191bb4258 Mon Sep 17 00:00:00 2001 From: amzn-sean <75276488+amzn-sean@users.noreply.github.com> Date: Thu, 10 Jun 2021 15:56:48 +0100 Subject: [PATCH 088/205] fixed raycast multi SC node to return more then 1 result (#1238) --- Gems/ScriptCanvasPhysics/Code/Source/WorldNodes.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Gems/ScriptCanvasPhysics/Code/Source/WorldNodes.h b/Gems/ScriptCanvasPhysics/Code/Source/WorldNodes.h index 5238c52e0e..14f03aa7c4 100644 --- a/Gems/ScriptCanvasPhysics/Code/Source/WorldNodes.h +++ b/Gems/ScriptCanvasPhysics/Code/Source/WorldNodes.h @@ -165,6 +165,7 @@ namespace ScriptCanvasPhysics request.m_start = worldSpaceTransform.GetTranslation(); request.m_direction = worldSpaceTransform.TransformVector(direction.GetNormalized()); request.m_distance = distance; + request.m_reportMultipleHits = true; request.m_filterCallback = [ignore](const AzPhysics::SimulatedBody* body, [[maybe_unused]] const Physics::Shape* shape) { return body->GetEntityId() != ignore ? AzPhysics::SceneQuery::QueryHitType::Touch : AzPhysics::SceneQuery::QueryHitType::None; From 7a053d82e18e78940ab5cb8ade765c0862ebf2bb Mon Sep 17 00:00:00 2001 From: Aaron Ruiz Mora Date: Thu, 10 Jun 2021 16:36:38 +0100 Subject: [PATCH 089/205] UX Workflow improvements for Physics Materials (#1237) - Added button to PhysX Collider Component in PhysX Mesh's field to open FBX Settings. - Added button Material Selection to open the physics material library in Asset Editor. - Default Material in PhysX configuration is read only and consistent with the text in combo boxes. - Material configuration field "Surface Type" renamed to "Name" - Fixed bug in EditorColliderComponent where the material selection was not updated when changing the library. - Fixed bug where the materials selection was not set to default when a physics material from the asset was not found in the library. - Added attributes 'BrowseButtonEnabled' and 'BrowseButtonVisible' to PropertyAssetCtrl. - Updated physx configuration setreg files of AutomatedTesting project. --- ...4_Collider_CollisionGroups.setreg_override | 3 -- ...9_Material_DynamicFriction.setreg_override | 3 -- ...C4976227_Collider_NewGroup.setreg_override | 3 -- ...ameGroupSameLayerCollision.setreg_override | 3 -- ...ollider_CollisionLayerTest.setreg_override | 3 -- ...ysXCollider_CollisionLayer.setreg_override | 3 -- .../Registry/physxsystemconfiguration.setreg | 3 -- .../Configuration/SystemConfiguration.h | 2 +- .../AzFramework/Physics/Material.cpp | 32 ++++++++++++++++--- .../AzFramework/Physics/Material.h | 28 ++++++++++++++-- .../AzFramework/AzFramework/Physics/Shape.cpp | 2 +- .../AzFramework/AzFramework/Physics/Utils.cpp | 1 + .../UI/PropertyEditor/PropertyAssetCtrl.cpp | 26 +++++++++++++++ .../UI/PropertyEditor/PropertyAssetCtrl.hxx | 2 ++ .../Code/Editor/ConfigStringLineEditCtrl.cpp | 8 +++++ Gems/PhysX/Code/Include/PhysX/MeshAsset.h | 2 ++ .../Code/Source/EditorColliderComponent.cpp | 7 ++-- Gems/PhysX/Code/Source/Material.cpp | 1 + .../Code/Source/Pipeline/MeshAssetHandler.cpp | 22 +++++++++++++ .../Code/Source/Pipeline/MeshExporter.cpp | 6 ++-- Gems/PhysX/Code/Source/SystemComponent.cpp | 2 +- .../PhysX/Code/Tests/PhysXSceneQueryTests.cpp | 2 +- 22 files changed, 127 insertions(+), 37 deletions(-) diff --git a/AutomatedTesting/Registry/C3510644_Collider_CollisionGroups.setreg_override b/AutomatedTesting/Registry/C3510644_Collider_CollisionGroups.setreg_override index 696a0a74da..9fa5e26768 100644 --- a/AutomatedTesting/Registry/C3510644_Collider_CollisionGroups.setreg_override +++ b/AutomatedTesting/Registry/C3510644_Collider_CollisionGroups.setreg_override @@ -119,9 +119,6 @@ ] } }, - "DefaultMaterial": { - "SurfaceType": "Default_1" - }, "MaterialLibrary": { "assetId": { "guid": "{3A055A3F-8CB7-5FEE-B437-EB365FACD0D4}" diff --git a/AutomatedTesting/Registry/C4044459_Material_DynamicFriction.setreg_override b/AutomatedTesting/Registry/C4044459_Material_DynamicFriction.setreg_override index c53b04e5c2..88a7b5c309 100644 --- a/AutomatedTesting/Registry/C4044459_Material_DynamicFriction.setreg_override +++ b/AutomatedTesting/Registry/C4044459_Material_DynamicFriction.setreg_override @@ -101,9 +101,6 @@ ] } }, - "DefaultMaterial": { - "SurfaceType": "Default_1" - }, "MaterialLibrary": { "assetId": { "guid": "{6AA79EE4-7EC3-5717-87AE-EDD7D886FD7F}" diff --git a/AutomatedTesting/Registry/C4976227_Collider_NewGroup.setreg_override b/AutomatedTesting/Registry/C4976227_Collider_NewGroup.setreg_override index 5e98e08ede..afbe6a9d38 100644 --- a/AutomatedTesting/Registry/C4976227_Collider_NewGroup.setreg_override +++ b/AutomatedTesting/Registry/C4976227_Collider_NewGroup.setreg_override @@ -107,9 +107,6 @@ ] } }, - "DefaultMaterial": { - "SurfaceType": "Default_1" - }, "MaterialLibrary": { "assetId": { "guid": "{3A055A3F-8CB7-5FEE-B437-EB365FACD0D4}" diff --git a/AutomatedTesting/Registry/C4976244_Collider_SameGroupSameLayerCollision.setreg_override b/AutomatedTesting/Registry/C4976244_Collider_SameGroupSameLayerCollision.setreg_override index 696a0a74da..9fa5e26768 100644 --- a/AutomatedTesting/Registry/C4976244_Collider_SameGroupSameLayerCollision.setreg_override +++ b/AutomatedTesting/Registry/C4976244_Collider_SameGroupSameLayerCollision.setreg_override @@ -119,9 +119,6 @@ ] } }, - "DefaultMaterial": { - "SurfaceType": "Default_1" - }, "MaterialLibrary": { "assetId": { "guid": "{3A055A3F-8CB7-5FEE-B437-EB365FACD0D4}" diff --git a/AutomatedTesting/Registry/C4976245_PhysXCollider_CollisionLayerTest.setreg_override b/AutomatedTesting/Registry/C4976245_PhysXCollider_CollisionLayerTest.setreg_override index 696a0a74da..9fa5e26768 100644 --- a/AutomatedTesting/Registry/C4976245_PhysXCollider_CollisionLayerTest.setreg_override +++ b/AutomatedTesting/Registry/C4976245_PhysXCollider_CollisionLayerTest.setreg_override @@ -119,9 +119,6 @@ ] } }, - "DefaultMaterial": { - "SurfaceType": "Default_1" - }, "MaterialLibrary": { "assetId": { "guid": "{3A055A3F-8CB7-5FEE-B437-EB365FACD0D4}" diff --git a/AutomatedTesting/Registry/C4982593_PhysXCollider_CollisionLayer.setreg_override b/AutomatedTesting/Registry/C4982593_PhysXCollider_CollisionLayer.setreg_override index 696a0a74da..9fa5e26768 100644 --- a/AutomatedTesting/Registry/C4982593_PhysXCollider_CollisionLayer.setreg_override +++ b/AutomatedTesting/Registry/C4982593_PhysXCollider_CollisionLayer.setreg_override @@ -119,9 +119,6 @@ ] } }, - "DefaultMaterial": { - "SurfaceType": "Default_1" - }, "MaterialLibrary": { "assetId": { "guid": "{3A055A3F-8CB7-5FEE-B437-EB365FACD0D4}" diff --git a/AutomatedTesting/Registry/physxsystemconfiguration.setreg b/AutomatedTesting/Registry/physxsystemconfiguration.setreg index 30e9dced44..02f65b685b 100644 --- a/AutomatedTesting/Registry/physxsystemconfiguration.setreg +++ b/AutomatedTesting/Registry/physxsystemconfiguration.setreg @@ -101,9 +101,6 @@ ] } }, - "DefaultMaterial": { - "SurfaceType": "Default_1" - }, "MaterialLibrary": { "assetId": { "guid": "{3A055A3F-8CB7-5FEE-B437-EB365FACD0D4}" diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Configuration/SystemConfiguration.h b/Code/Framework/AzFramework/AzFramework/Physics/Configuration/SystemConfiguration.h index 56fe9a68c4..6119a6f630 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Configuration/SystemConfiguration.h +++ b/Code/Framework/AzFramework/AzFramework/Physics/Configuration/SystemConfiguration.h @@ -46,7 +46,7 @@ namespace AzPhysics //! Each Physics Scene uses this as a base and will override as needed. CollisionConfiguration m_collisionConfig; - Physics::MaterialConfiguration m_defaultMaterialConfiguration; //!< Default material parameters for the project. + Physics::DefaultMaterialConfiguration m_defaultMaterialConfiguration; //!< Default material parameters for the project. AZ::Data::Asset m_materialLibraryAsset = AZ::Data::AssetLoadBehavior::NoLoad; //!< Material Library exposed by the system component SystemBus API. //! Controls whether the Physics System will self register to the TickBus and call StartSimulation / FinishSimulation on each Scene. diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp b/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp index 4afbbaa4dc..d84d2739d0 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp +++ b/Code/Framework/AzFramework/AzFramework/Physics/Material.cpp @@ -83,14 +83,12 @@ namespace Physics AZ::EditContext* editContext = serializeContext->GetEditContext(); if (editContext) { - AZStd::unordered_set forbiddenSurfaceTypeNames; - forbiddenSurfaceTypeNames.insert("Default"); editContext->Class("", "") ->ClassElement(AZ::Edit::ClassElements::EditorData, "Physics Material") - ->DataElement(MaterialConfiguration::s_configLineEdit, &MaterialConfiguration::m_surfaceType, "Surface type", "Game surface type") // Uses ConfigStringLineEditCtrl in PhysX gem. + ->DataElement(MaterialConfiguration::s_configLineEdit, &MaterialConfiguration::m_surfaceType, "Name", "Name of the physics material") // Uses ConfigStringLineEditCtrl in PhysX gem. ->Attribute(AZ::Edit::Attributes::MaxLength, 64) + ->Attribute(AZ::Edit::Attributes::ReadOnly, &MaterialConfiguration::IsNameReadOnly) ->Attribute(MaterialConfiguration::s_stringGroup, AZ_CRC("LineEditGroupSurfaceType", 0x6670659e)) - ->Attribute(MaterialConfiguration::s_forbiddenStringSet, forbiddenSurfaceTypeNames) ->DataElement(AZ::Edit::UIHandlers::Default, &MaterialConfiguration::m_staticFriction, "Static friction", "Friction coefficient when object is still") ->Attribute(AZ::Edit::Attributes::Min, 0.f) ->DataElement(AZ::Edit::UIHandlers::Default, &MaterialConfiguration::m_dynamicFriction, "Dynamic friction", "Friction coefficient when object is moving") @@ -178,6 +176,23 @@ namespace Physics ////////////////////////////////////////////////////////////////////////// + DefaultMaterialConfiguration::DefaultMaterialConfiguration() + { + m_surfaceType = Physics::DefaultPhysicsMaterialLabel; + } + + void DefaultMaterialConfiguration::Reflect(AZ::ReflectContext* context) + { + if (auto* serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Version(1) + ; + } + } + + ////////////////////////////////////////////////////////////////////////// + void MaterialLibraryAsset::Reflect(AZ::ReflectContext * context) { AZ::SerializeContext* serializeContext = azrtti_cast(context); @@ -212,7 +227,7 @@ namespace Physics if (serializeContext) { serializeContext->Class() - ->Version(1) + ->Version(2) ->Field("DefaultMaterial", &MaterialInfoReflectionWrapper::m_defaultMaterialConfiguration) ->Field("Asset", &MaterialInfoReflectionWrapper::m_materialLibraryAsset) ; @@ -372,6 +387,7 @@ namespace Physics serializeContext->Class() ->Version(3, &ClassConverters::MaterialSelectionConverter) ->EventHandler() + ->Field("EditContextMaterialLibrary", &MaterialSelection::m_editContextMaterialLibrary) ->Field("MaterialIds", &MaterialSelection::m_materialIdsAssignedToSlots) ; @@ -380,6 +396,12 @@ namespace Physics editContext->Class("Physics Materials", "Select which physics materials to use for each element of this object") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) + ->DataElement(AZ::Edit::UIHandlers::Default, &MaterialSelection::m_editContextMaterialLibrary, "Library", "Physics material library from PhysX Configuration") + ->Attribute(AZ::Edit::Attributes::ContainerCanBeModified, false) + ->Attribute(AZ_CRC_CE("BrowseButtonEnabled"), false) + ->Attribute(AZ_CRC_CE("EditButton"), "") + ->Attribute(AZ_CRC_CE("EditDescription"), "Open in Asset Editor") + ->Attribute(AZ::Edit::Attributes::DefaultAsset, &MaterialSelection::GetMaterialLibraryId) ->DataElement(AZ::Edit::UIHandlers::Default, &MaterialSelection::m_materialIdsAssignedToSlots, "", "") ->ElementAttribute(Attributes::MaterialLibraryAssetId, &MaterialSelection::GetMaterialLibraryId) ->Attribute(AZ::Edit::Attributes::IndexedChildNameLabelOverride, &MaterialSelection::GetMaterialSlotLabel) diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Material.h b/Code/Framework/AzFramework/AzFramework/Physics/Material.h index 067f7abe07..1e12967945 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Material.h +++ b/Code/Framework/AzFramework/AzFramework/Physics/Material.h @@ -99,10 +99,13 @@ namespace Physics class MaterialConfiguration { public: - AZ_TYPE_INFO(Physics::MaterialConfiguration, "{8807CAA1-AD08-4238-8FDB-2154ADD084A1}"); + AZ_RTTI(Physics::MaterialConfiguration, "{8807CAA1-AD08-4238-8FDB-2154ADD084A1}"); static void Reflect(AZ::ReflectContext* context); + MaterialConfiguration() = default; + virtual ~MaterialConfiguration() = default; + const static AZ::Crc32 s_stringGroup; ///< Edit context data attribute. Identifies a string group instance. String values in the same group are unique. const static AZ::Crc32 s_forbiddenStringSet; ///< Edit context data attribute. A set of strings that are not acceptable as values to the data element. Can be AZStd::unordered_set, AZStd::set, AZStd::vector const static AZ::Crc32 s_configLineEdit; ///< Edit context data element handler. Creates custom line edit widget that allows string values to be unique in a group. @@ -123,11 +126,28 @@ namespace Physics bool operator==(const MaterialConfiguration& other) const; bool operator!=(const MaterialConfiguration& other) const; + protected: + virtual bool IsNameReadOnly() const { return false; } + private: static bool VersionConverter(AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement); static AZ::Color GenerateDebugColor(const char* materialName); }; + class DefaultMaterialConfiguration + : public MaterialConfiguration + { + public: + AZ_RTTI(Physics::DefaultMaterialConfiguration, "{A1F64C5C-D413-4757-9D42-51DD0EBFC270}", Physics::MaterialConfiguration); + + static void Reflect(AZ::ReflectContext* context); + + DefaultMaterialConfiguration(); + + protected: + bool IsNameReadOnly() const override { return true; } + }; + namespace Attributes { const static AZ::Crc32 MaterialLibraryAssetId = AZ_CRC("MaterialAssetId", 0x4a88a3f5); @@ -239,7 +259,7 @@ namespace Physics AZ_TYPE_INFO(Physics::MaterialInfoReflectionWrapper, "{02AB8CBC-D35B-4E0F-89BA-A96D94DAD4F9}"); static void Reflect(AZ::ReflectContext* context); - Physics::MaterialConfiguration m_defaultMaterialConfiguration; + Physics::DefaultMaterialConfiguration m_defaultMaterialConfiguration; AZ::Data::Asset m_materialLibraryAsset = AZ::Data::AssetLoadBehavior::NoLoad; }; @@ -298,6 +318,10 @@ namespace Physics // EditorContext callbacks AZStd::string GetMaterialSlotLabel(int index); + + // Only used for Edit Context as it requires to have an asset reflected. + // To get the material library use GetMaterialLibraryId() + AZ::Data::Asset m_editContextMaterialLibrary{ AZ::Data::AssetLoadBehavior::NoLoad }; }; /// Editor Bus used to assign material to terrain surface id. diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Shape.cpp b/Code/Framework/AzFramework/AzFramework/Physics/Shape.cpp index 6325b50f4d..910184857b 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Shape.cpp +++ b/Code/Framework/AzFramework/AzFramework/Physics/Shape.cpp @@ -62,7 +62,7 @@ namespace Physics ->Attribute(AZ::Edit::Attributes::Step, 0.01f) ->DataElement(AZ::Edit::UIHandlers::Default, &ColliderConfiguration::m_rotation, "Rotation", "Local rotation relative to the rigid body") ->Attribute(AZ::Edit::Attributes::Visibility, &ColliderConfiguration::GetOffsetVisibility) - ->DataElement(AZ::Edit::UIHandlers::Default, &ColliderConfiguration::m_materialSelection, "Physics Material", "Select physics material library and which materials to use for the shape") + ->DataElement(AZ::Edit::UIHandlers::Default, &ColliderConfiguration::m_materialSelection, "Physics Materials", "Select which physics materials to use for each element of this shape") ->Attribute(AZ::Edit::Attributes::Visibility, &ColliderConfiguration::GetMaterialSelectionVisibility) ->DataElement(AZ::Edit::UIHandlers::Default, &ColliderConfiguration::m_tag, "Tag", "Tag used to identify colliders from one another") ->DataElement(AZ::Edit::UIHandlers::Default, &ColliderConfiguration::m_restOffset, "Rest offset", diff --git a/Code/Framework/AzFramework/AzFramework/Physics/Utils.cpp b/Code/Framework/AzFramework/AzFramework/Physics/Utils.cpp index 2c3b62bb88..17c09bb6ce 100644 --- a/Code/Framework/AzFramework/AzFramework/Physics/Utils.cpp +++ b/Code/Framework/AzFramework/AzFramework/Physics/Utils.cpp @@ -118,6 +118,7 @@ namespace Physics AzPhysics::TriggerEvent::Reflect(context); AzPhysics::SceneConfiguration::Reflect(context); MaterialConfiguration::Reflect(context); + DefaultMaterialConfiguration::Reflect(context); MaterialLibraryAsset::Reflect(context); MaterialInfoReflectionWrapper::Reflect(context); JointLimitConfiguration::Reflect(context); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp index a0b3762123..e8be4be0a2 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.cpp @@ -1130,6 +1130,16 @@ namespace AzToolsFramework m_browseEdit->setAttachedButtonIcon(icon); } + void PropertyAssetCtrl::SetBrowseButtonEnabled(bool enabled) + { + m_browseEdit->setEnabled(enabled); + } + + void PropertyAssetCtrl::SetBrowseButtonVisible(bool visible) + { + m_browseEdit->setVisible(visible); + } + const QModelIndex PropertyAssetCtrl::GetSourceIndex(const QModelIndex& index) { if (!index.isValid()) @@ -1360,6 +1370,22 @@ namespace AzToolsFramework GUI->SetBrowseButtonIcon(QIcon(iconPath.c_str())); } } + else if (attrib == AZ_CRC_CE("BrowseButtonEnabled")) + { + bool enabled = true; + if (attrValue->Read(enabled)) + { + GUI->SetBrowseButtonEnabled(enabled); + } + } + else if (attrib == AZ_CRC_CE("BrowseButtonVisible")) + { + bool visible = true; + if (attrValue->Read(visible)) + { + GUI->SetBrowseButtonVisible(visible); + } + } else if (attrib == AZ_CRC_CE("Thumbnail")) { bool showThumbnail = false; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.hxx b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.hxx index 5a6310eb35..fc52a1a9c9 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.hxx +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/PropertyEditor/PropertyAssetCtrl.hxx @@ -208,6 +208,8 @@ namespace AzToolsFramework void SetEditButtonIcon(const QIcon& icon); void SetEditButtonTooltip(QString tooltip); void SetBrowseButtonIcon(const QIcon& icon); + void SetBrowseButtonEnabled(bool enabled); + void SetBrowseButtonVisible(bool visible); void SetClearButtonEnabled(bool enable); void SetClearButtonVisible(bool visible); diff --git a/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.cpp b/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.cpp index 704b538a5f..a08d566d79 100644 --- a/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.cpp +++ b/Gems/PhysX/Code/Editor/ConfigStringLineEditCtrl.cpp @@ -219,6 +219,14 @@ namespace PhysX GUI->setMaxLen(maxLen); } } + else if (attrib == AZ::Edit::Attributes::ReadOnly) + { + bool isReadOnly = false; + if (attrValue->Read(isReadOnly)) + { + GUI->setEnabled(!isReadOnly); + } + } else if (attrib == Physics::MaterialConfiguration::s_stringGroup) { AZ::Crc32 uniqueGroup; diff --git a/Gems/PhysX/Code/Include/PhysX/MeshAsset.h b/Gems/PhysX/Code/Include/PhysX/MeshAsset.h index edfd82439a..fffa8b43b3 100644 --- a/Gems/PhysX/Code/Include/PhysX/MeshAsset.h +++ b/Gems/PhysX/Code/Include/PhysX/MeshAsset.h @@ -75,6 +75,8 @@ namespace PhysX AZ_CLASS_ALLOCATOR(MeshAsset, AZ::SystemAllocator, 0); AZ_RTTI(MeshAsset, "{7A2871B9-5EAB-4DE0-A901-B0D2C6920DDB}", AZ::Data::AssetData); + static void Reflect(AZ::ReflectContext* context); + MeshAssetData m_assetData; }; } // namespace Pipeline diff --git a/Gems/PhysX/Code/Source/EditorColliderComponent.cpp b/Gems/PhysX/Code/Source/EditorColliderComponent.cpp index 1cb60e0af2..0671e3e77e 100644 --- a/Gems/PhysX/Code/Source/EditorColliderComponent.cpp +++ b/Gems/PhysX/Code/Source/EditorColliderComponent.cpp @@ -58,10 +58,12 @@ namespace PhysX { editContext->Class("EditorProxyShapeConfig", "PhysX Base shape collider") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") - ->Attribute(AZ::Edit::Attributes::AutoExpand, true) + ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyAssetShapeConfig::m_pxAsset, "PhysX Mesh", "PhysX mesh collider asset") + ->Attribute(AZ_CRC_CE("EditButton"), "") + ->Attribute(AZ_CRC_CE("EditDescription"), "Open in FBX Settings") ->DataElement(AZ::Edit::UIHandlers::Default, &EditorProxyAssetShapeConfig::m_configuration, "Configuration", "Configuration of asset shape") - ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); + ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly); } } } @@ -356,6 +358,7 @@ namespace PhysX [this](const AZ::Data::AssetId& defaultMaterialLibrary) { m_configuration.m_materialSelection.OnMaterialLibraryChanged(defaultMaterialLibrary); + UpdateMaterialSlotsFromMeshAsset(); AzToolsFramework::PropertyEditorGUIMessages::Bus::Broadcast(&AzToolsFramework::PropertyEditorGUIMessages::RequestRefresh, AzToolsFramework::PropertyModificationRefreshLevel::Refresh_AttributesAndValues); diff --git a/Gems/PhysX/Code/Source/Material.cpp b/Gems/PhysX/Code/Source/Material.cpp index 45a7d64c55..ada01dad48 100644 --- a/Gems/PhysX/Code/Source/Material.cpp +++ b/Gems/PhysX/Code/Source/Material.cpp @@ -441,6 +441,7 @@ namespace PhysX "UpdateMaterialSelectionFromPhysicsAsset: Physics material '%s' not found in the material library. Mesh material '%s' will use the default physics material.", physicsMaterialNameFromPhysicsAsset.c_str(), meshAsset->m_assetData.m_materialNames[slotIndex].c_str()); + materialSelection.SetMaterialId(Physics::MaterialId(), slotIndex); } } } diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshAssetHandler.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshAssetHandler.cpp index 24fcd9d5e7..d909b31c47 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshAssetHandler.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshAssetHandler.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -158,6 +159,27 @@ namespace PhysX } } + void MeshAsset::Reflect(AZ::ReflectContext* context) + { + MeshAssetData::Reflect(context); + + if (auto* serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Field("MeshAssetData", &MeshAsset::m_assetData) + ; + + // Note: This class needs to have edit context reflection so PropertyAssetCtrl::OnEditButtonClicked + // can open the asset with the preferred asset editor (FBX Settings). + if (auto* editContext = serializeContext->GetEditContext()) + { + editContext->Class("PhysX Mesh Asset", "") + ->ClassElement(AZ::Edit::ClassElements::EditorData, "") + ; + } + } + } + void AssetColliderConfiguration::Reflect(AZ::ReflectContext* context) { if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp index e968e2279a..de632c02b5 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp @@ -311,7 +311,7 @@ namespace PhysX AZStd::string materialName = DefaultMaterialName; if (!localFbxMaterialsList.empty()) { - int materialId = nodeMesh->GetFaceMaterialId(faceIndex); + const int materialId = nodeMesh->GetFaceMaterialId(faceIndex); if (materialId >= localFbxMaterialsList.size()) { AZ_TracePrintf(AZ::SceneAPI::Utilities::ErrorWindow, @@ -332,7 +332,7 @@ namespace PhysX } } - AZ::u16 materialIndex = InsertMaterialIndexByName(materialName, assetMaterialData); + const AZ::u16 materialIndex = InsertMaterialIndexByName(materialName, assetMaterialData); assetMaterialData.m_nodesToPerFaceMaterialIndices[nodeName][faceIndex] = materialIndex; } } @@ -729,7 +729,7 @@ namespace PhysX { // Gather material data from asset for the mesh group AZStd::optional assetMaterialData = Utils::GatherMaterialsFromMeshGroup(pxMeshGroup, graph); - if (!assetMaterialData) + if (!assetMaterialData.has_value()) { return SceneEvents::ProcessingResult::Failure; } diff --git a/Gems/PhysX/Code/Source/SystemComponent.cpp b/Gems/PhysX/Code/Source/SystemComponent.cpp index b4c17f672d..eae56967b2 100644 --- a/Gems/PhysX/Code/Source/SystemComponent.cpp +++ b/Gems/PhysX/Code/Source/SystemComponent.cpp @@ -94,7 +94,7 @@ namespace PhysX void SystemComponent::Reflect(AZ::ReflectContext* context) { D6JointLimitConfiguration::Reflect(context); - Pipeline::MeshAssetData::Reflect(context); + Pipeline::MeshAsset::Reflect(context); PhysX::ReflectionUtils::ReflectPhysXOnlyApi(context); diff --git a/Gems/PhysX/Code/Tests/PhysXSceneQueryTests.cpp b/Gems/PhysX/Code/Tests/PhysXSceneQueryTests.cpp index 313565caf2..90a2774ca4 100644 --- a/Gems/PhysX/Code/Tests/PhysXSceneQueryTests.cpp +++ b/Gems/PhysX/Code/Tests/PhysXSceneQueryTests.cpp @@ -172,7 +172,7 @@ namespace PhysX ASSERT_EQ(hit.m_material, rigidBody->GetShape(0).get()->GetMaterial().get()); const AZStd::string& typeName = hit.m_material->GetSurfaceTypeName(); - ASSERT_EQ(typeName, AZStd::string("Default")); + ASSERT_EQ(typeName, Physics::DefaultPhysicsMaterialLabel); } TEST_F(PhysXSceneQueryFixture, RayCast_AgainstStaticObject_ReturnsHit) From 992a37df8d6b3fb3b12dc2f7f9d9d62b80cfe14f Mon Sep 17 00:00:00 2001 From: Chris Galvan Date: Thu, 10 Jun 2021 10:42:13 -0500 Subject: [PATCH 090/205] [LYN-3801] Added back log message when entering/exiting game mode. --- Code/Sandbox/Editor/GameEngine.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Code/Sandbox/Editor/GameEngine.cpp b/Code/Sandbox/Editor/GameEngine.cpp index c338a2e28d..6649de1107 100644 --- a/Code/Sandbox/Editor/GameEngine.cpp +++ b/Code/Sandbox/Editor/GameEngine.cpp @@ -627,6 +627,8 @@ void CGameEngine::SwitchToInGame() &AzFramework::InputSystemCursorRequests::SetSystemCursorState, AzFramework::SystemCursorState::ConstrainedAndHidden); } + + Log("Entered game mode"); } void CGameEngine::SwitchToInEditor() @@ -681,6 +683,8 @@ void CGameEngine::SwitchToInEditor() AzFramework::InputSystemCursorRequestBus::Event(AzFramework::InputDeviceMouse::Id, &AzFramework::InputSystemCursorRequests::SetSystemCursorState, AzFramework::SystemCursorState::UnconstrainedAndVisible); + + Log("Exited game mode"); } void CGameEngine::HandleQuitRequest(IConsoleCmdArgs* /*args*/) From fedc85f51f4c4382b35bf6aa680cb8dbedb92f6b Mon Sep 17 00:00:00 2001 From: jackalbe <23512001+jackalbe@users.noreply.github.com> Date: Thu, 10 Jun 2021 10:58:37 -0500 Subject: [PATCH 091/205] {LYN-4224} Fix for the file scan slowdown (#1183) * {LYN-4224} Fix for the file scan slowdown * Fixed a slowdown in the file scanning logic * Improved the file scanning logic from previous code by 40% Tests: Using Testing\Pytest\AutomatedTesting_BlastTest old code: === 7 passed in 96.13s (0:01:36) === current code: === 7 passed in 160.45s (0:02:40) ==== newest code: === 7 passed in 52.91s === * fixing a unit test compile error * unit test fixes * another file improvement * fix for legacy level loading taking too long * making an enum for the search types * switched the enum to "allow" types to make the input more clear --- Code/CryEngine/CryCommon/Mocks/ICryPakMock.h | 2 +- .../CrySystem/LevelSystem/LevelSystem.cpp | 7 ++- .../AzFramework/Archive/Archive.cpp | 24 +++++++- .../AzFramework/AzFramework/Archive/Archive.h | 2 +- .../AzFramework/Archive/ArchiveFindData.cpp | 60 ++++++++++--------- .../AzFramework/Archive/ArchiveFindData.h | 7 +-- .../AzFramework/Archive/IArchive.h | 9 ++- Code/Sandbox/Editor/CryEditDoc.cpp | 2 +- .../Code/Tests/AudioSystemEditorTest.cpp | 13 ++-- 9 files changed, 78 insertions(+), 48 deletions(-) diff --git a/Code/CryEngine/CryCommon/Mocks/ICryPakMock.h b/Code/CryEngine/CryCommon/Mocks/ICryPakMock.h index 2d451793bc..072a798985 100644 --- a/Code/CryEngine/CryCommon/Mocks/ICryPakMock.h +++ b/Code/CryEngine/CryCommon/Mocks/ICryPakMock.h @@ -67,7 +67,7 @@ struct CryPakMock MOCK_METHOD1(PoolMalloc, void*(size_t size)); MOCK_METHOD1(PoolFree, void(void* p)); MOCK_METHOD3(PoolAllocMemoryBlock, AZStd::intrusive_ptr (size_t nSize, const char* sUsage, size_t nAlign)); - MOCK_METHOD3(FindFirst, AZ::IO::ArchiveFileIterator(AZStd::string_view pDir, uint32_t nFlags, bool bAllOwUseFileSystem)); + MOCK_METHOD2(FindFirst, AZ::IO::ArchiveFileIterator(AZStd::string_view pDir, AZ::IO::IArchive::EFileSearchType)); MOCK_METHOD1(FindNext, AZ::IO::ArchiveFileIterator(AZ::IO::ArchiveFileIterator handle)); MOCK_METHOD1(FindClose, bool(AZ::IO::ArchiveFileIterator)); MOCK_METHOD1(GetModificationTime, AZ::IO::IArchive::FileTime(AZ::IO::HandleType f)); diff --git a/Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp b/Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp index c36b9bcee7..aa5d638831 100644 --- a/Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp +++ b/Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp @@ -306,8 +306,9 @@ void CLevelSystem::ScanFolder(const char* subfolder, bool modFolder) AZStd::unordered_set pakList; - bool allowFileSystem = true; - AZ::IO::ArchiveFileIterator handle = pPak->FindFirst(search.c_str(), 0, allowFileSystem); + const bool allowFileSystem = true; + const uint32_t skipPakFiles = 1; + AZ::IO::ArchiveFileIterator handle = pPak->FindFirst(search.c_str(), AZ::IO::IArchive::eFileSearchType_AllowOnDiskOnly); if (handle) { @@ -360,7 +361,7 @@ void CLevelSystem::PopulateLevels( { // allow this find first to actually touch the file system // (causes small overhead but with minimal amount of levels this should only be around 150ms on actual DVD Emu) - AZ::IO::ArchiveFileIterator handle = pPak->FindFirst(searchPattern.c_str(), 0, fromFileSystemOnly); + AZ::IO::ArchiveFileIterator handle = pPak->FindFirst(searchPattern.c_str(), AZ::IO::IArchive::eFileSearchType_AllowOnDiskOnly); if (handle) { diff --git a/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp b/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp index 04573eb2e5..5cb2006447 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp +++ b/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp @@ -1290,7 +1290,7 @@ namespace AZ::IO ////////////////////////////////////////////////////////////////////////// - AZ::IO::ArchiveFileIterator Archive::FindFirst(AZStd::string_view pDir, [[maybe_unused]] uint32_t nPathFlags, bool bAllowUseFileSystem) + AZ::IO::ArchiveFileIterator Archive::FindFirst(AZStd::string_view pDir, EFileSearchType searchType) { auto szFullPath = AZ::IO::FileIOBase::GetDirectInstance()->ResolvePath(pDir); if (!szFullPath) @@ -1299,8 +1299,26 @@ namespace AZ::IO return {}; } + bool bScanZips{}; + bool bAllowUseFileSystem{}; + switch (searchType) + { + case IArchive::eFileSearchType_AllowInZipsOnly: + bAllowUseFileSystem = false; + bScanZips = true; + break; + case IArchive::eFileSearchType_AllowOnDiskAndInZips: + bAllowUseFileSystem = true; + bScanZips = true; + break; + case IArchive::eFileSearchType_AllowOnDiskOnly: + bAllowUseFileSystem = true; + bScanZips = false; + break; + } + AZStd::intrusive_ptr pFindData = new AZ::IO::FindData(); - pFindData->Scan(this, szFullPath->Native(), bAllowUseFileSystem); + pFindData->Scan(this, szFullPath->Native(), bAllowUseFileSystem, bScanZips); return pFindData->Fetch(); } @@ -1676,7 +1694,7 @@ namespace AZ::IO return true; } - if (AZ::IO::ArchiveFileIterator fileIterator = FindFirst(pWildcardIn, 0, true); fileIterator) + if (AZ::IO::ArchiveFileIterator fileIterator = FindFirst(pWildcardIn, IArchive::eFileSearchType_AllowOnDiskOnly); fileIterator) { AZStd::vector files; do diff --git a/Code/Framework/AzFramework/AzFramework/Archive/Archive.h b/Code/Framework/AzFramework/AzFramework/Archive/Archive.h index 997b3e3d2c..329beb4291 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/Archive.h +++ b/Code/Framework/AzFramework/AzFramework/Archive/Archive.h @@ -234,7 +234,7 @@ namespace AZ::IO uint64_t FTell(AZ::IO::HandleType handle) override; int FFlush(AZ::IO::HandleType handle) override; int FClose(AZ::IO::HandleType handle) override; - AZ::IO::ArchiveFileIterator FindFirst(AZStd::string_view pDir, uint32_t nPathFlags = 0, bool bAllOwUseFileSystem = false) override; + AZ::IO::ArchiveFileIterator FindFirst(AZStd::string_view pDir, EFileSearchType searchType = eFileSearchType_AllowInZipsOnly) override; AZ::IO::ArchiveFileIterator FindNext(AZ::IO::ArchiveFileIterator fileIterator) override; bool FindClose(AZ::IO::ArchiveFileIterator fileIterator) override; int FEof(AZ::IO::HandleType handle) override; diff --git a/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.cpp b/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.cpp index 1794ae90e7..05da5f16eb 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.cpp +++ b/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.cpp @@ -77,7 +77,7 @@ namespace AZ::IO return m_findData && m_lastFetchValid; } - void FindData::Scan(IArchive* archive, AZStd::string_view szDir, bool bAllowUseFS) + void FindData::Scan(IArchive* archive, AZStd::string_view szDir, bool bAllowUseFS, bool bScanZips) { // get the priority into local variable to avoid it changing in the course of // this function execution @@ -87,12 +87,18 @@ namespace AZ::IO { // first, find the file system files ScanFS(archive, szDir); - ScanZips(archive, szDir); + if (bScanZips) + { + ScanZips(archive, szDir); + } } else { // first, find the zip files - ScanZips(archive, szDir); + if (bScanZips) + { + ScanZips(archive, szDir); + } if (bAllowUseFS || nVarPakPriority != ArchiveLocationPriority::ePakPriorityPakOnly) { ScanFS(archive, szDir); @@ -111,30 +117,31 @@ namespace AZ::IO } AZ::IO::FileIOBase::GetDirectInstance()->FindFiles(searchDirectory.c_str(), pattern.c_str(), [&](const char* filePath) -> bool { - AZ::IO::FileDesc fileDesc; - AZStd::string filePathEntry{filePath}; + AZ::IO::ArchiveFileIterator fileIterator; + fileIterator.m_filename = AZ::IO::PathView(filePath).Filename().Native(); + fileIterator.m_fileDesc.nAttrib = {}; if (AZ::IO::FileIOBase::GetDirectInstance()->IsDirectory(filePath)) { - fileDesc.nAttrib = fileDesc.nAttrib | AZ::IO::FileDesc::Attribute::Subdirectory; + fileIterator.m_fileDesc.nAttrib = fileIterator.m_fileDesc.nAttrib | AZ::IO::FileDesc::Attribute::Subdirectory; + m_fileStack.emplace_back(AZStd::move(fileIterator)); } else { if (AZ::IO::FileIOBase::GetDirectInstance()->IsReadOnly(filePath)) { - fileDesc.nAttrib = fileDesc.nAttrib | AZ::IO::FileDesc::Attribute::ReadOnly; + fileIterator.m_fileDesc.nAttrib = fileIterator.m_fileDesc.nAttrib | AZ::IO::FileDesc::Attribute::ReadOnly; } AZ::u64 fileSize = 0; AZ::IO::FileIOBase::GetDirectInstance()->Size(filePath, fileSize); - fileDesc.nSize = fileSize; - fileDesc.tWrite = AZ::IO::FileIOBase::GetDirectInstance()->ModificationTime(filePath); + fileIterator.m_fileDesc.nSize = fileSize; + fileIterator.m_fileDesc.tWrite = AZ::IO::FileIOBase::GetDirectInstance()->ModificationTime(filePath); // These times are not supported by our file interface - fileDesc.tAccess = fileDesc.tWrite; - fileDesc.tCreate = fileDesc.tWrite; + fileIterator.m_fileDesc.tAccess = fileIterator.m_fileDesc.tWrite; + fileIterator.m_fileDesc.tCreate = fileIterator.m_fileDesc.tWrite; + m_fileStack.emplace_back(AZStd::move(fileIterator)); } - [[maybe_unused]] auto result = m_mapFiles.emplace(AZStd::move(filePathEntry), fileDesc); - AZ_Assert(result.second, "Failed to insert FindData entry for filePath %s", filePath); return true; }); } @@ -164,7 +171,7 @@ namespace AZ::IO fileDesc.nAttrib = AZ::IO::FileDesc::Attribute::ReadOnly | AZ::IO::FileDesc::Attribute::Archive; fileDesc.nSize = fileEntry->desc.lSizeUncompressed; fileDesc.tWrite = fileEntry->GetModificationTime(); - m_mapFiles.emplace(fname, fileDesc); + m_fileStack.emplace_back(AZ::IO::ArchiveFileIterator{ this, fname, fileDesc }); } ZipDir::FindDir findDirectoryEntry(zipCache); @@ -177,7 +184,7 @@ namespace AZ::IO } AZ::IO::FileDesc fileDesc; fileDesc.nAttrib = AZ::IO::FileDesc::Attribute::ReadOnly | AZ::IO::FileDesc::Attribute::Archive | AZ::IO::FileDesc::Attribute::Subdirectory; - m_mapFiles.emplace(fname, fileDesc); + m_fileStack.emplace_back(AZ::IO::ArchiveFileIterator{ this, fname, fileDesc }); } }; @@ -246,7 +253,7 @@ namespace AZ::IO if (!bindRootIter->empty() && AZStd::wildcard_match(sourcePathRemainder.Native(), bindRootIter->Native())) { AZ::IO::FileDesc fileDesc{ AZ::IO::FileDesc::Attribute::ReadOnly | AZ::IO::FileDesc::Attribute::Archive | AZ::IO::FileDesc::Attribute::Subdirectory }; - m_mapFiles.emplace(bindRootIter->Native(), fileDesc); + m_fileStack.emplace_back(AZ::IO::ArchiveFileIterator{ this, bindRootIter->Native(), fileDesc }); } } else @@ -262,22 +269,19 @@ namespace AZ::IO AZ::IO::ArchiveFileIterator FindData::Fetch() { - AZ::IO::ArchiveFileIterator fileIterator; - fileIterator.m_findData = this; - if (m_mapFiles.empty()) + if (m_fileStack.empty()) { - return fileIterator; + AZ::IO::ArchiveFileIterator emptyFileIterator; + emptyFileIterator.m_lastFetchValid = false; + emptyFileIterator.m_findData = this; + return emptyFileIterator; } - auto pakFileIter = m_mapFiles.begin(); - AZStd::string fullFilePath; - AZ::StringFunc::Path::GetFullFileName(pakFileIter->first.c_str(), fullFilePath); - fileIterator.m_filename = AZStd::move(fullFilePath); - fileIterator.m_fileDesc = pakFileIter->second; - fileIterator.m_lastFetchValid = true; - // Remove Fetched item from the FindData map so that the iteration continues - m_mapFiles.erase(pakFileIter); + AZ::IO::ArchiveFileIterator fileIterator{ m_fileStack.back() }; + fileIterator.m_lastFetchValid = true; + fileIterator.m_findData = this; + m_fileStack.pop_back(); return fileIterator; } } diff --git a/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.h b/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.h index d5e23779fc..a07e98c81f 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.h +++ b/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.h @@ -15,7 +15,6 @@ #include #include - namespace AZ::IO { struct IArchive; @@ -74,13 +73,13 @@ namespace AZ::IO AZ_CLASS_ALLOCATOR(FindData, AZ::SystemAllocator, 0); FindData() = default; AZ::IO::ArchiveFileIterator Fetch(); - void Scan(IArchive* archive, AZStd::string_view path, bool bAllowUseFS = false); + void Scan(IArchive* archive, AZStd::string_view path, bool bAllowUseFS = false, bool bScanZips = true); protected: void ScanFS(IArchive* archive, AZStd::string_view path); void ScanZips(IArchive* archive, AZStd::string_view path); - using FileMap = AZStd::map; - FileMap m_mapFiles; + using FileStack = AZStd::vector; + FileStack m_fileStack; }; } diff --git a/Code/Framework/AzFramework/AzFramework/Archive/IArchive.h b/Code/Framework/AzFramework/AzFramework/Archive/IArchive.h index ce8403b033..08bd87c334 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/IArchive.h +++ b/Code/Framework/AzFramework/AzFramework/Archive/IArchive.h @@ -197,6 +197,13 @@ namespace AZ::IO eInMemoryPakLocale_PAK, }; + enum EFileSearchType + { + eFileSearchType_AllowInZipsOnly = 0, + eFileSearchType_AllowOnDiskAndInZips, + eFileSearchType_AllowOnDiskOnly + }; + using SignedFileSize = int64_t; virtual ~IArchive() = default; @@ -315,7 +322,7 @@ namespace AZ::IO // Arguments: // nFlags is a combination of EPathResolutionRules flags. - virtual ArchiveFileIterator FindFirst(AZStd::string_view pDir, uint32_t nFlags = 0, bool bAllowUseFileSystem = false) = 0; + virtual ArchiveFileIterator FindFirst(AZStd::string_view pDir, EFileSearchType searchType = eFileSearchType_AllowInZipsOnly) = 0; virtual ArchiveFileIterator FindNext(AZ::IO::ArchiveFileIterator handle) = 0; virtual bool FindClose(AZ::IO::ArchiveFileIterator handle) = 0; //returns file modification time diff --git a/Code/Sandbox/Editor/CryEditDoc.cpp b/Code/Sandbox/Editor/CryEditDoc.cpp index 5b2a4b9a83..77d5794ab3 100644 --- a/Code/Sandbox/Editor/CryEditDoc.cpp +++ b/Code/Sandbox/Editor/CryEditDoc.cpp @@ -1139,7 +1139,7 @@ bool CCryEditDoc::SaveLevel(const QString& filename) const QString oldLevelPattern = QDir(oldLevelFolder).absoluteFilePath("*.*"); const QString oldLevelName = Path::GetFile(GetLevelPathName()); const QString oldLevelXml = Path::ReplaceExtension(oldLevelName, "xml"); - AZ::IO::ArchiveFileIterator findHandle = pIPak->FindFirst(oldLevelPattern.toUtf8().data(), 0, true); + AZ::IO::ArchiveFileIterator findHandle = pIPak->FindFirst(oldLevelPattern.toUtf8().data(), AZ::IO::IArchive::eFileSearchType_AllowOnDiskAndInZips); if (findHandle) { do diff --git a/Gems/AudioSystem/Code/Tests/AudioSystemEditorTest.cpp b/Gems/AudioSystem/Code/Tests/AudioSystemEditorTest.cpp index e086246e29..d7f9b31e25 100644 --- a/Gems/AudioSystem/Code/Tests/AudioSystemEditorTest.cpp +++ b/Gems/AudioSystem/Code/Tests/AudioSystemEditorTest.cpp @@ -36,14 +36,14 @@ namespace CustomMocks : m_levelName(levelName) {} - AZ::IO::ArchiveFileIterator FindFirst([[maybe_unused]] AZStd::string_view dir, [[maybe_unused]] unsigned int flags, [[maybe_unused]] bool allowUseFileSystem) override + AZ::IO::ArchiveFileIterator FindFirst([[maybe_unused]] AZStd::string_view dir, AZ::IO::IArchive::EFileSearchType) override { AZ::IO::FileDesc fileDesc; fileDesc.nSize = sizeof(AZ::IO::FileDesc); // Add a filename and file description reference to the TestFindData map to make sure the file iterator is valid - AZStd::intrusive_ptr findData = new TestFindData{}; - findData->m_mapFiles.emplace(m_levelName, fileDesc); - return findData->Fetch(); + m_findData = new TestFindData(); + m_findData->m_fileStack.emplace_back(AZ::IO::ArchiveFileIterator{ static_cast(m_findData.get()), m_levelName, fileDesc }); + return m_findData->Fetch(); } AZ::IO::ArchiveFileIterator FindNext(AZ::IO::ArchiveFileIterator iter) override @@ -54,13 +54,14 @@ namespace CustomMocks // public: for easy resetting... AZStd::string m_levelName; - // Add an inherited FindData class to control the adding of a mapfile which indicates that a FileIterator is valid struct TestFindData : AZ::IO::FindData { - using AZ::IO::FindData::m_mapFiles; + using AZ::IO::FindData::m_fileStack; }; + + AZStd::intrusive_ptr m_findData; }; } // namespace CustomMocks From 45b2391303da7e5838210ecfbb5d11e7d595fc92 Mon Sep 17 00:00:00 2001 From: Chris Galvan Date: Thu, 10 Jun 2021 11:18:29 -0500 Subject: [PATCH 092/205] [LYN-4390] Implemented EditorCameraRequestBus::GetActiveCameraState on the EditorViewportWidget so that the "Create camera entity from view" action works again. --- Code/Sandbox/Editor/EditorViewportWidget.cpp | 12 ++++++++++++ Code/Sandbox/Editor/EditorViewportWidget.h | 1 + 2 files changed, 13 insertions(+) diff --git a/Code/Sandbox/Editor/EditorViewportWidget.cpp b/Code/Sandbox/Editor/EditorViewportWidget.cpp index 0d3405f8f0..7e087d452b 100644 --- a/Code/Sandbox/Editor/EditorViewportWidget.cpp +++ b/Code/Sandbox/Editor/EditorViewportWidget.cpp @@ -2664,6 +2664,18 @@ bool EditorViewportWidget::GetActiveCameraPosition(AZ::Vector3& cameraPos) return false; } +bool EditorViewportWidget::GetActiveCameraState(AzFramework::CameraState& cameraState) +{ + if (m_pPrimaryViewport == this) + { + cameraState = GetCameraState(); + + return true; + } + + return false; +} + void EditorViewportWidget::OnStartPlayInEditor() { if (m_viewEntityId.IsValid()) diff --git a/Code/Sandbox/Editor/EditorViewportWidget.h b/Code/Sandbox/Editor/EditorViewportWidget.h index 4062a3c801..5d6f06c9ae 100644 --- a/Code/Sandbox/Editor/EditorViewportWidget.h +++ b/Code/Sandbox/Editor/EditorViewportWidget.h @@ -184,6 +184,7 @@ public: void SetViewAndMovementLockFromEntityPerspective(const AZ::EntityId& entityId, bool lockCameraMovement) override; AZ::EntityId GetCurrentViewEntityId() override { return m_viewEntityId; } bool GetActiveCameraPosition(AZ::Vector3& cameraPos) override; + bool GetActiveCameraState(AzFramework::CameraState& cameraState) override; // AzToolsFramework::EditorEntityContextNotificationBus (handler moved to cpp to resolve link issues in unity builds) virtual void OnStartPlayInEditor(); From 67489d2907254449852cd1916135e605a5f195c7 Mon Sep 17 00:00:00 2001 From: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com> Date: Thu, 10 Jun 2021 09:36:16 -0700 Subject: [PATCH 093/205] Remove PAL_TRAIT_BUILD_EDITOR_APPLICATION_TYPE --- Code/Sandbox/Editor/CMakeLists.txt | 4 +--- Code/Sandbox/Editor/Platform/Linux/PAL_linux.cmake | 13 ------------- Code/Sandbox/Editor/Platform/Mac/PAL_mac.cmake | 13 ------------- .../Editor/Platform/Windows/PAL_windows.cmake | 13 ------------- 4 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 Code/Sandbox/Editor/Platform/Linux/PAL_linux.cmake delete mode 100644 Code/Sandbox/Editor/Platform/Mac/PAL_mac.cmake delete mode 100644 Code/Sandbox/Editor/Platform/Windows/PAL_windows.cmake diff --git a/Code/Sandbox/Editor/CMakeLists.txt b/Code/Sandbox/Editor/CMakeLists.txt index 58d5e86a2f..e1fce97067 100644 --- a/Code/Sandbox/Editor/CMakeLists.txt +++ b/Code/Sandbox/Editor/CMakeLists.txt @@ -13,8 +13,6 @@ if(NOT PAL_TRAIT_BUILD_HOST_TOOLS) return() endif() -include(${CMAKE_CURRENT_SOURCE_DIR}/Platform/${PAL_PLATFORM_NAME}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) - ly_add_target( NAME EditorCore SHARED NAMESPACE Legacy @@ -161,7 +159,7 @@ ly_add_source_properties( # Editor ################################################################################ ly_add_target( - NAME Editor ${PAL_TRAIT_BUILD_EDITOR_APPLICATION_TYPE} # Mac Editor is a bare executable on Atom until we can fix packaging of the shader compilers. DO NOT MERGE BACK TO MAINLINE + NAME Editor APPLICATION NAMESPACE Legacy AUTORCC FILES_CMAKE diff --git a/Code/Sandbox/Editor/Platform/Linux/PAL_linux.cmake b/Code/Sandbox/Editor/Platform/Linux/PAL_linux.cmake deleted file mode 100644 index 5181f4afb7..0000000000 --- a/Code/Sandbox/Editor/Platform/Linux/PAL_linux.cmake +++ /dev/null @@ -1,13 +0,0 @@ -# -# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -# its licensors. -# -# For complete copyright and license terms please see the LICENSE at the root of this -# distribution (the "License"). All use of this software is governed by the License, -# or, if provided, by the license below or the license accompanying this file. Do not -# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# - -set (PAL_TRAIT_BUILD_EDITOR_APPLICATION_TYPE APPLICATION) - diff --git a/Code/Sandbox/Editor/Platform/Mac/PAL_mac.cmake b/Code/Sandbox/Editor/Platform/Mac/PAL_mac.cmake deleted file mode 100644 index 5181f4afb7..0000000000 --- a/Code/Sandbox/Editor/Platform/Mac/PAL_mac.cmake +++ /dev/null @@ -1,13 +0,0 @@ -# -# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -# its licensors. -# -# For complete copyright and license terms please see the LICENSE at the root of this -# distribution (the "License"). All use of this software is governed by the License, -# or, if provided, by the license below or the license accompanying this file. Do not -# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# - -set (PAL_TRAIT_BUILD_EDITOR_APPLICATION_TYPE APPLICATION) - diff --git a/Code/Sandbox/Editor/Platform/Windows/PAL_windows.cmake b/Code/Sandbox/Editor/Platform/Windows/PAL_windows.cmake deleted file mode 100644 index 5181f4afb7..0000000000 --- a/Code/Sandbox/Editor/Platform/Windows/PAL_windows.cmake +++ /dev/null @@ -1,13 +0,0 @@ -# -# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -# its licensors. -# -# For complete copyright and license terms please see the LICENSE at the root of this -# distribution (the "License"). All use of this software is governed by the License, -# or, if provided, by the license below or the license accompanying this file. Do not -# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# - -set (PAL_TRAIT_BUILD_EDITOR_APPLICATION_TYPE APPLICATION) - From 91fb8be5354750c8682d7f13f7988cd6048f6170 Mon Sep 17 00:00:00 2001 From: Terry Michaels Date: Thu, 10 Jun 2021 11:42:25 -0500 Subject: [PATCH 094/205] Added toolbar icons, updated viewport header UX (#1240) --- .../Images/Menu/asset_editor.svg | 7 ++++ .../Images/Menu/audio_editor.svg | 7 ++++ .../Images/Menu/emfx_editor.svg | 7 ++++ .../Images/Menu/landscape_canvas_editor.svg | 7 ++++ .../AzQtComponents/Images/Menu/lua_editor.svg | 13 ++++++++ .../Images/Menu/material_editor.svg | 10 ++++++ .../Images/Menu/script_canvas_editor.svg | 7 ++++ .../Images/Menu/trackview_editor.svg | 7 ++++ .../AzQtComponents/Images/Menu/ui_editor.svg | 7 ++++ .../AzQtComponents/Images/resources.qrc | 9 +++++ .../AzToolsFramework/Viewport/ActionBus.h | 2 +- .../Editor/AssetEditor/AssetEditorWindow.cpp | 2 ++ .../Editor/Core/LevelEditorMenuHandler.cpp | 7 +++- .../Editor/Core/LevelEditorMenuHandler.h | 2 +- .../Editor/TrackView/TrackViewDialog.cpp | 2 ++ Code/Sandbox/Editor/ViewportTitleDlg.cpp | 33 +++---------------- Code/Sandbox/Editor/ViewportTitleDlg.h | 2 -- .../EditorMaterialSystemComponent.cpp | 3 +- .../Integration/System/SystemComponent.cpp | 3 ++ .../Source/LandscapeCanvasSystemComponent.cpp | 3 ++ .../Editor/LyShineEditorSystemComponent.cpp | 2 ++ .../Code/Editor/SystemComponent.cpp | 2 ++ 22 files changed, 109 insertions(+), 35 deletions(-) create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/asset_editor.svg create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/audio_editor.svg create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/emfx_editor.svg create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/landscape_canvas_editor.svg create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/lua_editor.svg create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/material_editor.svg create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/script_canvas_editor.svg create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/trackview_editor.svg create mode 100644 Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/ui_editor.svg diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/asset_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/asset_editor.svg new file mode 100644 index 0000000000..b96f27dda7 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/asset_editor.svg @@ -0,0 +1,7 @@ + + + Asset Editor icon + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/audio_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/audio_editor.svg new file mode 100644 index 0000000000..1cc863ebcd --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/audio_editor.svg @@ -0,0 +1,7 @@ + + + audio edit + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/emfx_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/emfx_editor.svg new file mode 100644 index 0000000000..72e67b5170 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/emfx_editor.svg @@ -0,0 +1,7 @@ + + + EMFX header icon + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/landscape_canvas_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/landscape_canvas_editor.svg new file mode 100644 index 0000000000..ebf38d15c0 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/landscape_canvas_editor.svg @@ -0,0 +1,7 @@ + + + Veg editor icon + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/lua_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/lua_editor.svg new file mode 100644 index 0000000000..76b4ed3da4 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/lua_editor.svg @@ -0,0 +1,13 @@ + + + Lua icon + + + + + + + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/material_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/material_editor.svg new file mode 100644 index 0000000000..ed6f477367 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/material_editor.svg @@ -0,0 +1,10 @@ + + + Material editor icon + + + + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/script_canvas_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/script_canvas_editor.svg new file mode 100644 index 0000000000..b2a303d237 --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/script_canvas_editor.svg @@ -0,0 +1,7 @@ + + + SC icon + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/trackview_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/trackview_editor.svg new file mode 100644 index 0000000000..56da550f0e --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/trackview_editor.svg @@ -0,0 +1,7 @@ + + + trackview icon + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/ui_editor.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/ui_editor.svg new file mode 100644 index 0000000000..8d27f071da --- /dev/null +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/ui_editor.svg @@ -0,0 +1,7 @@ + + + UI editor icon + + + + \ No newline at end of file diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/resources.qrc b/Code/Framework/AzQtComponents/AzQtComponents/Images/resources.qrc index 2487917f67..cc66558367 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Images/resources.qrc +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/resources.qrc @@ -19,5 +19,14 @@ Menu/resolution.svg Menu/debug.svg Menu/camera.svg + Menu/asset_editor.svg + Menu/audio_editor.svg + Menu/emfx_editor.svg + Menu/landscape_canvas_editor.svg + Menu/lua_editor.svg + Menu/material_editor.svg + Menu/script_canvas_editor.svg + Menu/trackview_editor.svg + Menu/ui_editor.svg diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ActionBus.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ActionBus.h index 7eaf3da37c..fa43eb422d 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ActionBus.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Viewport/ActionBus.h @@ -188,7 +188,7 @@ namespace AzToolsFramework virtual void AddEditMenuAction(QAction* action) = 0; /// Add an action to the Editor menu. - virtual void AddMenuAction(AZStd::string_view categoryId, QAction* action) = 0; + virtual void AddMenuAction(AZStd::string_view categoryId, QAction* action, bool addToToolsToolbar) = 0; /// (Re)populate the default EditMenu. /// Restore the EditMenu to its default state (the options available when first opening a level). diff --git a/Code/Sandbox/Editor/AssetEditor/AssetEditorWindow.cpp b/Code/Sandbox/Editor/AssetEditor/AssetEditorWindow.cpp index 53e2884943..9f14e471a3 100644 --- a/Code/Sandbox/Editor/AssetEditor/AssetEditorWindow.cpp +++ b/Code/Sandbox/Editor/AssetEditor/AssetEditorWindow.cpp @@ -117,6 +117,8 @@ void AssetEditorWindow::RegisterViewClass() { AzToolsFramework::ViewPaneOptions options; options.preferedDockingArea = Qt::LeftDockWidgetArea; + options.showOnToolsToolbar = true; + options.toolbarIcon = ":/Menu/asset_editor.svg"; AzToolsFramework::RegisterViewPane(LyViewPane::AssetEditor, LyViewPane::CategoryTools, options); } diff --git a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp index 39c7ae43fd..ebc688f9da 100644 --- a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp +++ b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp @@ -1292,7 +1292,7 @@ void LevelEditorMenuHandler::AddEditMenuAction(QAction* action) } } -void LevelEditorMenuHandler::AddMenuAction(AZStd::string_view categoryId, QAction* action) +void LevelEditorMenuHandler::AddMenuAction(AZStd::string_view categoryId, QAction* action, bool addToToolsToolbar) { auto menuWrapper = m_actionManager->FindMenu(categoryId.data()); if (menuWrapper.isNull()) @@ -1301,6 +1301,11 @@ void LevelEditorMenuHandler::AddMenuAction(AZStd::string_view categoryId, QActio return; } menuWrapper.Get()->addAction(action); + + if (addToToolsToolbar) + { + m_mainWindow->GetToolbarManager()->AddButtonToEditToolbar(action); + } } void LevelEditorMenuHandler::RestoreEditMenuToDefault() diff --git a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.h b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.h index bad689ae67..aaa2c08622 100644 --- a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.h +++ b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.h @@ -98,7 +98,7 @@ private: // EditorMenuRequestBus void AddEditMenuAction(QAction* action) override; - void AddMenuAction(AZStd::string_view categoryId, QAction* action) override; + void AddMenuAction(AZStd::string_view categoryId, QAction* action, bool addToToolsToolbar) override; void RestoreEditMenuToDefault() override; MainWindow* m_mainWindow; diff --git a/Code/Sandbox/Editor/TrackView/TrackViewDialog.cpp b/Code/Sandbox/Editor/TrackView/TrackViewDialog.cpp index 0179b779e8..9176520b15 100644 --- a/Code/Sandbox/Editor/TrackView/TrackViewDialog.cpp +++ b/Code/Sandbox/Editor/TrackView/TrackViewDialog.cpp @@ -116,6 +116,8 @@ void CTrackViewDialog::RegisterViewClass() AzToolsFramework::ViewPaneOptions opts; opts.shortcut = QKeySequence(Qt::Key_T); opts.isDisabledInSimMode = true; + opts.showOnToolsToolbar = true; + opts.toolbarIcon = ":/Menu/trackview_editor.svg"; AzToolsFramework::RegisterViewPane(LyViewPane::TrackView, LyViewPane::CategoryTools, opts); GetIEditor()->GetSettingsManager()->AddToolName(s_kTrackViewLayoutSection, LyViewPane::TrackView); diff --git a/Code/Sandbox/Editor/ViewportTitleDlg.cpp b/Code/Sandbox/Editor/ViewportTitleDlg.cpp index 716568b5c7..dc4815eb6a 100644 --- a/Code/Sandbox/Editor/ViewportTitleDlg.cpp +++ b/Code/Sandbox/Editor/ViewportTitleDlg.cpp @@ -154,11 +154,6 @@ void CViewportTitleDlg::SetupCameraDropdownMenu() QAction* gotoPositionAction = new QAction("Go to position", cameraMenu); connect(gotoPositionAction, &QAction::triggered, this, &CViewportTitleDlg::OnBnClickedGotoPosition); cameraMenu->addAction(gotoPositionAction); - m_syncPlayerToCameraAction = new QAction("Sync camera to player", cameraMenu); - m_syncPlayerToCameraAction->setCheckable(true); - connect(m_syncPlayerToCameraAction, &QAction::triggered, this, &CViewportTitleDlg::OnBnClickedSyncplayer); - cameraMenu->addAction(m_syncPlayerToCameraAction); - cameraMenu->addSeparator(); auto cameraSpeedActionWidget = new QWidgetAction(cameraMenu); @@ -238,21 +233,15 @@ void CViewportTitleDlg::SetupOverflowMenu() overFlowMenu->addAction(m_enableGridSnappingAction); m_gridSizeActionWidget = new QWidgetAction(overFlowMenu); - auto gridSizeContainer = new QWidget(overFlowMenu); - auto gridSizeLabel = new QLabel(tr("Grid Size"), overFlowMenu); - m_gridSpinBox = new AzQtComponents::DoubleSpinBox(); m_gridSpinBox->setValue(SandboxEditor::GridSnappingSize()); m_gridSpinBox->setMinimum(1e-2f); + m_gridSpinBox->setToolTip(tr("Grid size")); QObject::connect( m_gridSpinBox, QOverload::of(&AzQtComponents::DoubleSpinBox::valueChanged), this, &CViewportTitleDlg::OnGridSpinBoxChanged); - QHBoxLayout* gridSizeLayout = new QHBoxLayout; - gridSizeLayout->addWidget(gridSizeLabel); - gridSizeLayout->addWidget(m_gridSpinBox); - gridSizeContainer->setLayout(gridSizeLayout); - m_gridSizeActionWidget->setDefaultWidget(gridSizeContainer); + m_gridSizeActionWidget->setDefaultWidget(m_gridSpinBox); overFlowMenu->addAction(m_gridSizeActionWidget); overFlowMenu->addSeparator(); @@ -263,22 +252,16 @@ void CViewportTitleDlg::SetupOverflowMenu() overFlowMenu->addAction(m_enableAngleSnappingAction); m_angleSizeActionWidget = new QWidgetAction(overFlowMenu); - auto angleSizeContainer = new QWidget(overFlowMenu); - auto angleSizeLabel = new QLabel(tr("Angle Snapping"), overFlowMenu); - m_angleSpinBox = new AzQtComponents::DoubleSpinBox(); m_angleSpinBox->setValue(SandboxEditor::AngleSnappingSize()); m_angleSpinBox->setMinimum(1e-2f); + m_angleSpinBox->setToolTip(tr("Angle Snapping")); QObject::connect( m_angleSpinBox, QOverload::of(&AzQtComponents::DoubleSpinBox::valueChanged), this, &CViewportTitleDlg::OnAngleSpinBoxChanged); - QHBoxLayout* angleSizeLayout = new QHBoxLayout; - angleSizeLayout->addWidget(angleSizeLabel); - angleSizeLayout->addWidget(m_angleSpinBox); - angleSizeContainer->setLayout(angleSizeLayout); - m_angleSizeActionWidget->setDefaultWidget(angleSizeContainer); + m_angleSizeActionWidget->setDefaultWidget(m_angleSpinBox); overFlowMenu->addAction(m_angleSizeActionWidget); m_ui->m_overflowBtn->setMenu(overFlowMenu); @@ -850,14 +833,6 @@ bool CViewportTitleDlg::eventFilter(QObject* object, QEvent* event) return QWidget::eventFilter(object, event) || consumeEvent; } -void CViewportTitleDlg::OnBnClickedSyncplayer() -{ - emit ActionTriggered(ID_GAME_SYNCPLAYER); - - bool bSyncPlayer = GetIEditor()->GetGameEngine()->IsSyncPlayerPosition(); - m_syncPlayerToCameraAction->setChecked(!bSyncPlayer); -} - void CViewportTitleDlg::OnBnClickedGotoPosition() { emit ActionTriggered(ID_DISPLAY_GOTOPOSITION); diff --git a/Code/Sandbox/Editor/ViewportTitleDlg.h b/Code/Sandbox/Editor/ViewportTitleDlg.h index dd0816082a..21a54bea0a 100644 --- a/Code/Sandbox/Editor/ViewportTitleDlg.h +++ b/Code/Sandbox/Editor/ViewportTitleDlg.h @@ -143,7 +143,6 @@ protected: void SetFullViewportInfo(); void SetCompactViewportInfo(); - void OnBnClickedSyncplayer(); void OnBnClickedGotoPosition(); void OnBnClickedMuteAudio(); void OnBnClickedEnableVR(); @@ -174,7 +173,6 @@ protected: QAction* m_fullInformationAction = nullptr; QAction* m_compactInformationAction = nullptr; QAction* m_debugHelpersAction = nullptr; - QAction* m_syncPlayerToCameraAction = nullptr; QAction* m_audioMuteAction = nullptr; QAction* m_enableVRAction = nullptr; QAction* m_enableGridSnappingAction = nullptr; diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialSystemComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialSystemComponent.cpp index e9a81f2e9f..06530b53b2 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialSystemComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialSystemComponent.cpp @@ -151,6 +151,7 @@ namespace AZ m_openMaterialEditorAction->setShortcut(QKeySequence(Qt::Key_M)); m_openMaterialEditorAction->setCheckable(false); m_openMaterialEditorAction->setChecked(false); + m_openMaterialEditorAction->setIcon(QIcon(":/Menu/material_editor.svg")); QObject::connect( m_openMaterialEditorAction, &QAction::triggered, m_openMaterialEditorAction, [this]() { @@ -158,7 +159,7 @@ namespace AZ } ); - AzToolsFramework::EditorMenuRequestBus::Broadcast(&AzToolsFramework::EditorMenuRequestBus::Handler::AddMenuAction, "ToolMenu", m_openMaterialEditorAction); + AzToolsFramework::EditorMenuRequestBus::Broadcast(&AzToolsFramework::EditorMenuRequestBus::Handler::AddMenuAction, "ToolMenu", m_openMaterialEditorAction, true); } } diff --git a/Gems/EMotionFX/Code/Source/Integration/System/SystemComponent.cpp b/Gems/EMotionFX/Code/Source/Integration/System/SystemComponent.cpp index 8e68c8cb44..61a5e89d80 100644 --- a/Gems/EMotionFX/Code/Source/Integration/System/SystemComponent.cpp +++ b/Gems/EMotionFX/Code/Source/Integration/System/SystemComponent.cpp @@ -891,6 +891,9 @@ namespace EMotionFX emotionFXWindowOptions.detachedWindow = true; #endif emotionFXWindowOptions.optionalMenuText = "Animation Editor"; + emotionFXWindowOptions.showOnToolsToolbar = true; + emotionFXWindowOptions.toolbarIcon = ":/Menu/emfx_editor.svg"; + EditorRequests::Bus::Broadcast(&EditorRequests::RegisterViewPane, EMStudio::MainWindow::GetEMotionFXPaneName(), LyViewPane::CategoryTools, emotionFXWindowOptions, windowCreationFunc); } diff --git a/Gems/LandscapeCanvas/Code/Source/LandscapeCanvasSystemComponent.cpp b/Gems/LandscapeCanvas/Code/Source/LandscapeCanvasSystemComponent.cpp index 72f7a65966..9e0129c6fe 100644 --- a/Gems/LandscapeCanvas/Code/Source/LandscapeCanvasSystemComponent.cpp +++ b/Gems/LandscapeCanvas/Code/Source/LandscapeCanvasSystemComponent.cpp @@ -146,6 +146,9 @@ namespace LandscapeCanvas { AzToolsFramework::ViewPaneOptions options; options.paneRect = QRect(100, 100, 1280, 1024); + options.showOnToolsToolbar = true; + options.toolbarIcon = ":/Menu/landscape_canvas_editor.svg"; + AzToolsFramework::RegisterViewPane(LyViewPane::LandscapeCanvas, LyViewPane::CategoryTools, options); } diff --git a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp index d1c7ce96a4..19a47efdcd 100644 --- a/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp +++ b/Gems/LyShine/Code/Editor/LyShineEditorSystemComponent.cpp @@ -153,6 +153,8 @@ namespace LyShineEditor opt.isPreview = true; opt.paneRect = QRect(x, y, (int)editorWidth, (int)editorHeight); opt.isDeletable = true; // we're in a plugin; make sure we can be deleted + opt.showOnToolsToolbar = true; + opt.toolbarIcon = ":/Menu/ui_editor.svg"; // opt.canHaveMultipleInstances = true; // uncomment this when CUiAnimViewSequenceManager::CanvasUnloading supports multiple canvases AzToolsFramework::RegisterViewPane(LyViewPane::UiEditor, LyViewPane::CategoryTools, opt); diff --git a/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp b/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp index 1d4d1e8605..1ba9a64083 100644 --- a/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp +++ b/Gems/ScriptCanvas/Code/Editor/SystemComponent.cpp @@ -167,6 +167,8 @@ namespace ScriptCanvasEditor options.canHaveMultipleInstances = false; options.isPreview = true; options.showInMenu = true; + options.showOnToolsToolbar = true; + options.toolbarIcon = ":/Menu/script_canvas_editor.svg"; AzToolsFramework::RegisterViewPane(LyViewPane::ScriptCanvas, LyViewPane::CategoryTools, options); } From 1946561b8d3529150574e969dcddb16fbeac8308 Mon Sep 17 00:00:00 2001 From: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com> Date: Thu, 10 Jun 2021 17:46:01 +0100 Subject: [PATCH 095/205] Updates to Goto Position to work with the new camera system (#1212) * add support for 'GoTo Position' to work with the new camera enabled * small updates to move away from more legacy calls * minor formatting change * ensure values are converted from degrees to radians * revert change to use Enumerate viewport call * remove formatting changes from SandboxIntegration --- Code/Sandbox/Editor/CryEdit.cpp | 4 +- Code/Sandbox/Editor/CryEditPy.cpp | 22 +- Code/Sandbox/Editor/EditorViewportCamera.cpp | 55 +++ Code/Sandbox/Editor/EditorViewportCamera.h | 35 ++ Code/Sandbox/Editor/EditorViewportWidget.cpp | 2 +- Code/Sandbox/Editor/GameEngine.cpp | 34 -- Code/Sandbox/Editor/GameEngine.h | 24 -- Code/Sandbox/Editor/GotoPositionDlg.cpp | 200 ++++------- Code/Sandbox/Editor/GotoPositionDlg.h | 29 +- Code/Sandbox/Editor/GotoPositionDlg.ui | 348 ++++++++----------- Code/Sandbox/Editor/editor_lib_files.cmake | 2 + 11 files changed, 328 insertions(+), 427 deletions(-) create mode 100644 Code/Sandbox/Editor/EditorViewportCamera.cpp create mode 100644 Code/Sandbox/Editor/EditorViewportCamera.h diff --git a/Code/Sandbox/Editor/CryEdit.cpp b/Code/Sandbox/Editor/CryEdit.cpp index a972a4bd9b..6f81580251 100644 --- a/Code/Sandbox/Editor/CryEdit.cpp +++ b/Code/Sandbox/Editor/CryEdit.cpp @@ -3702,8 +3702,8 @@ void CCryEditApp::OnViewCycle2dviewport() ////////////////////////////////////////////////////////////////////////// void CCryEditApp::OnDisplayGotoPosition() { - CGotoPositionDlg dlg; - dlg.exec(); + GotoPositionDialog dialog; + dialog.exec(); } ////////////////////////////////////////////////////////////////////////// diff --git a/Code/Sandbox/Editor/CryEditPy.cpp b/Code/Sandbox/Editor/CryEditPy.cpp index edbeccb04f..e286e4a0d6 100644 --- a/Code/Sandbox/Editor/CryEditPy.cpp +++ b/Code/Sandbox/Editor/CryEditPy.cpp @@ -32,6 +32,7 @@ #include "GameEngine.h" #include "UndoConfigSpec.h" #include "ViewManager.h" +#include "EditorViewportCamera.h" ////////////////////////////////////////////////////////////////////////// namespace @@ -241,26 +242,15 @@ namespace void PySetCurrentViewPosition(float x, float y, float z) { - AzToolsFramework::IEditorCameraController* editorCameraController = AZ::Interface::Get(); - AZ_Error("editor", editorCameraController, "IEditorCameraController is not registered."); - if (editorCameraController) - { - editorCameraController->SetCurrentViewPosition(AZ::Vector3{ x, y, z }); - } + SandboxEditor::SetDefaultViewportCameraPosition(AZ::Vector3(x, y, z)); } - void PySetCurrentViewRotation(float x, float y, float z) + void PySetCurrentViewRotation(float x, [[maybe_unused]] float y, float z) { - AzToolsFramework::IEditorCameraController* editorCameraController = AZ::Interface::Get(); - AZ_Error("editor", editorCameraController, "IEditorCameraController is not registered."); - if (editorCameraController) - { - editorCameraController->SetCurrentViewRotation(AZ::Vector3{ x, y, z }); - } + SandboxEditor::SetDefaultViewportCameraRotation(AZ::DegToRad(x), AZ::DegToRad(z)); } } - namespace { void PyStartProcessDetached(const char* process, const char* args) @@ -488,9 +478,9 @@ namespace AzToolsFramework addLegacyGeneral(behaviorContext->Method("load_all_plugins", ::Command_LoadPlugins, nullptr, "Loads all available plugins.")); addLegacyGeneral(behaviorContext->Method("get_current_view_position", PyGetCurrentViewPosition, nullptr, "Returns the position of the current view as a Vec3.")); - addLegacyGeneral(behaviorContext->Method("get_current_view_rotation", PyGetCurrentViewRotation, nullptr, "Returns the rotation of the current view as a Vec3 of Euler angles.")); + addLegacyGeneral(behaviorContext->Method("get_current_view_rotation", PyGetCurrentViewRotation, nullptr, "Returns the rotation of the current view as a Vec3 of Euler angles in degrees.")); addLegacyGeneral(behaviorContext->Method("set_current_view_position", PySetCurrentViewPosition, nullptr, "Sets the position of the current view as given x, y, z coordinates.")); - addLegacyGeneral(behaviorContext->Method("set_current_view_rotation", PySetCurrentViewRotation, nullptr, "Sets the rotation of the current view as given x, y, z Euler angles.")); + addLegacyGeneral(behaviorContext->Method("set_current_view_rotation", PySetCurrentViewRotation, nullptr, "Sets the rotation of the current view as given x, y, z Euler angles in degrees.")); addLegacyGeneral(behaviorContext->Method("export_to_engine", CCryEditApp::Command_ExportToEngine, nullptr, "Exports the current level to the engine.")); addLegacyGeneral(behaviorContext->Method("set_config_spec", PySetConfigSpec, nullptr, "Sets the system config spec and platform.")); diff --git a/Code/Sandbox/Editor/EditorViewportCamera.cpp b/Code/Sandbox/Editor/EditorViewportCamera.cpp new file mode 100644 index 0000000000..30fce566e5 --- /dev/null +++ b/Code/Sandbox/Editor/EditorViewportCamera.cpp @@ -0,0 +1,55 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#include + +#include +#include + +namespace SandboxEditor +{ + void SetDefaultViewportCameraPosition(const AZ::Vector3& position) + { + auto viewportContextManager = AZ::Interface::Get(); + if (auto viewportContext = viewportContextManager->GetDefaultViewportContext()) + { + const auto& currentCameraTransform = viewportContext->GetCameraTransform(); + viewportContext->SetCameraTransform( + AZ::Transform::CreateFromQuaternionAndTranslation(currentCameraTransform.GetRotation(), position)); + } + } + + void SetDefaultViewportCameraRotation(const float pitch, const float yaw) + { + auto viewportContextManager = AZ::Interface::Get(); + if (auto viewportContext = viewportContextManager->GetDefaultViewportContext()) + { + const auto rotation = AZ::Quaternion::CreateRotationZ(yaw) * AZ::Quaternion::CreateRotationX(pitch); + const auto& currentCameraTransform = viewportContext->GetCameraTransform(); + viewportContext->SetCameraTransform( + AZ::Transform::CreateFromQuaternionAndTranslation(rotation, currentCameraTransform.GetTranslation())); + } + } + + AZ::Transform GetDefaultViewportCameraTransform() + { + auto viewportContextManager = AZ::Interface::Get(); + if (auto viewportContext = viewportContextManager->GetDefaultViewportContext()) + { + return viewportContext->GetCameraTransform(); + } + + AZ_WarningOnce("EditorViewport", false, "Default viewport camera not found"); + + return AZ::Transform::CreateIdentity(); + } +} // namespace SandboxEditor diff --git a/Code/Sandbox/Editor/EditorViewportCamera.h b/Code/Sandbox/Editor/EditorViewportCamera.h new file mode 100644 index 0000000000..97c37e337e --- /dev/null +++ b/Code/Sandbox/Editor/EditorViewportCamera.h @@ -0,0 +1,35 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#include + +namespace AZ +{ + class Transform; + class Vector3; +} // namespace AZ + +namespace SandboxEditor +{ + //! Set the default viewport camera translation/position. + SANDBOX_API void SetDefaultViewportCameraPosition(const AZ::Vector3& position); + + //! Set the default viewport camera orientation/rotation. + //! @param pitch Amount of pitch in radians. + //! @param yaw Amount of yaw in radians. + SANDBOX_API void SetDefaultViewportCameraRotation(float pitch, float yaw); + + //! Get the default viewport camera transform. + SANDBOX_API AZ::Transform GetDefaultViewportCameraTransform(); +} // namespace SandboxEditor diff --git a/Code/Sandbox/Editor/EditorViewportWidget.cpp b/Code/Sandbox/Editor/EditorViewportWidget.cpp index 0d3405f8f0..bc8c8bea0b 100644 --- a/Code/Sandbox/Editor/EditorViewportWidget.cpp +++ b/Code/Sandbox/Editor/EditorViewportWidget.cpp @@ -1265,7 +1265,7 @@ void EditorViewportWidget::SetViewportId(int id) AzFramework::RenderGeometry::RayResult renderGeometryIntersectionResult; AzFramework::RenderGeometry::IntersectorBus::EventResult( renderGeometryIntersectionResult, AzToolsFramework::GetEntityContextId(), - &AzFramework::RenderGeometry::IntersectorInterface::RayIntersect, ray); + &AzFramework::RenderGeometry::IntersectorBus::Events::RayIntersect, ray); // attempt a ray intersection with any visible mesh and return the intersection position if successful if (renderGeometryIntersectionResult) diff --git a/Code/Sandbox/Editor/GameEngine.cpp b/Code/Sandbox/Editor/GameEngine.cpp index c338a2e28d..24e9577fdf 100644 --- a/Code/Sandbox/Editor/GameEngine.cpp +++ b/Code/Sandbox/Editor/GameEngine.cpp @@ -267,14 +267,12 @@ AZ_POP_DISABLE_WARNING m_levelExtension = EditorUtils::LevelFile::GetDefaultFileExtension(); m_playerViewTM.SetIdentity(); GetIEditor()->RegisterNotifyListener(this); - AZ::Interface::Register(this); } AZ_PUSH_DISABLE_WARNING(4273, "-Wunknown-warning-option") CGameEngine::~CGameEngine() { AZ_POP_DISABLE_WARNING - AZ::Interface::Unregister(this); GetIEditor()->UnregisterNotifyListener(this); m_pISystem->GetIMovieSystem()->SetCallback(NULL); @@ -349,38 +347,6 @@ static void CmdGotoEditor(IConsoleCmdArgs* pArgs) } } -void CGameEngine::SetCurrentViewPosition(const AZ::Vector3& position) -{ - CViewport* pRenderViewport = GetIEditor()->GetViewManager()->GetGameViewport(); - if (pRenderViewport) - { - CUndo undo("Set Current View Position"); - if (CUndo::IsRecording()) - { - CUndo::Record(new CUndoViewPosition()); - } - Matrix34 tm = pRenderViewport->GetViewTM(); - tm.SetTranslation(Vec3(position.GetX(), position.GetY(), position.GetZ())); - pRenderViewport->SetViewTM(tm); - } -} - -void CGameEngine::SetCurrentViewRotation(const AZ::Vector3& rotation) -{ - CViewport* pRenderViewport = GetIEditor()->GetViewManager()->GetGameViewport(); - if (pRenderViewport) - { - CUndo undo("Set Current View Rotation"); - if (CUndo::IsRecording()) - { - CUndo::Record(new CUndoViewRotation()); - } - Matrix34 tm = pRenderViewport->GetViewTM(); - tm.SetRotationXYZ(Ang3(DEG2RAD(rotation.GetX()), DEG2RAD(rotation.GetY()), DEG2RAD(rotation.GetZ())), tm.GetTranslation()); - pRenderViewport->SetViewTM(tm); - } -} - AZ::Outcome CGameEngine::Init( bool bPreviewMode, bool bTestMode, diff --git a/Code/Sandbox/Editor/GameEngine.h b/Code/Sandbox/Editor/GameEngine.h index 669b37bbb3..3737852338 100644 --- a/Code/Sandbox/Editor/GameEngine.h +++ b/Code/Sandbox/Editor/GameEngine.h @@ -32,24 +32,6 @@ struct IInitializeUIInfo; #include #include -namespace AzToolsFramework -{ - //! Operates the Editor's camera - class IEditorCameraController - { - public: - AZ_RTTI(IEditorCameraController, "{AEF60D3E-10A1-4161-9379-F68C69A5959C}"); - - IEditorCameraController() = default; - IEditorCameraController(IEditorCameraController&&) = delete; - IEditorCameraController& operator=(IEditorCameraController&&) = delete; - virtual ~IEditorCameraController() = default; - - virtual void SetCurrentViewPosition([[maybe_unused]] const AZ::Vector3& position) {} - virtual void SetCurrentViewRotation([[maybe_unused]] const AZ::Vector3& rotation) {} - }; -} - class ThreadedOnErrorHandler : public QObject { Q_OBJECT @@ -68,7 +50,6 @@ AZ_PUSH_DISABLE_DLL_EXPORT_BASECLASS_WARNING //! This class serves as a high-level wrapper for CryEngine game. class SANDBOX_API CGameEngine : public IEditorNotifyListener - , private AzToolsFramework::IEditorCameraController { AZ_POP_DISABLE_DLL_EXPORT_BASECLASS_WARNING public: @@ -153,11 +134,6 @@ public: } private: - AZ_PUSH_DISABLE_WARNING(4273, "-Wunknown-warning-option") - void SetCurrentViewPosition(const AZ::Vector3& position) override; - void SetCurrentViewRotation(const AZ::Vector3& rotation) override; - AZ_POP_DISABLE_OVERRIDE_WARNING - void SetGameMode(bool inGame); void SwitchToInGame(); void SwitchToInEditor(); diff --git a/Code/Sandbox/Editor/GotoPositionDlg.cpp b/Code/Sandbox/Editor/GotoPositionDlg.cpp index f52a45cad4..967c2d032b 100644 --- a/Code/Sandbox/Editor/GotoPositionDlg.cpp +++ b/Code/Sandbox/Editor/GotoPositionDlg.cpp @@ -1,174 +1,122 @@ /* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ // Original file Copyright Crytek GMBH or its affiliates, used under license. +#include "GotoPositionDlg.h" #include "EditorDefs.h" -#include "GotoPositionDlg.h" - // Editor -#include "ViewManager.h" +#include "EditorViewportCamera.h" #include "GameEngine.h" +#include "ViewManager.h" +#include + +#include +#include AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING #include AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING -///////////////////////////////////////////////////////////////////////////// -// CGotoPositionDlg dialog - - -CGotoPositionDlg::CGotoPositionDlg(QWidget* pParent /*=NULL*/) - : QDialog(pParent) - , m_ui(new Ui::GotoPositionDlg) +GotoPositionDialog::GotoPositionDialog(QWidget* parent) + : QDialog(parent) + , m_ui(new Ui::GotoPositionDialog) { m_ui->setupUi(this); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setFixedSize(size()); OnInitDialog(); - auto doubleValueChanged = static_cast(&QDoubleSpinBox::valueChanged); - auto valueChanged = static_cast(&QSpinBox::valueChanged); + auto doubleValueChanged = static_cast(&QDoubleSpinBox::valueChanged); - connect(m_ui->m_posEdit, &QLineEdit::editingFinished, this, &CGotoPositionDlg::OnChangeEdit); - connect(m_ui->m_dymX, doubleValueChanged, this, &CGotoPositionDlg::OnUpdateNumbers); - connect(m_ui->m_dymY, doubleValueChanged, this, &CGotoPositionDlg::OnUpdateNumbers); - connect(m_ui->m_dymZ, doubleValueChanged, this, &CGotoPositionDlg::OnUpdateNumbers); - connect(m_ui->m_dymAngleX, doubleValueChanged, this, &CGotoPositionDlg::OnUpdateNumbers); - connect(m_ui->m_dymAngleY, doubleValueChanged, this, &CGotoPositionDlg::OnUpdateNumbers); - connect(m_ui->m_dymAngleZ, doubleValueChanged, this, &CGotoPositionDlg::OnUpdateNumbers); - connect(m_ui->m_dymSegX, valueChanged, this, &CGotoPositionDlg::OnUpdateNumbers); - connect(m_ui->m_dymSegY, valueChanged, this, &CGotoPositionDlg::OnUpdateNumbers); + connect(m_ui->m_posEdit, &QLineEdit::editingFinished, this, &GotoPositionDialog::OnChangeEdit); + connect(m_ui->m_dymX, doubleValueChanged, this, &GotoPositionDialog::OnUpdateNumbers); + connect(m_ui->m_dymY, doubleValueChanged, this, &GotoPositionDialog::OnUpdateNumbers); + connect(m_ui->m_dymZ, doubleValueChanged, this, &GotoPositionDialog::OnUpdateNumbers); + connect(m_ui->m_dymAnglePitch, doubleValueChanged, this, &GotoPositionDialog::OnUpdateNumbers); + connect(m_ui->m_dymAngleYaw, doubleValueChanged, this, &GotoPositionDialog::OnUpdateNumbers); } -CGotoPositionDlg::~CGotoPositionDlg() +GotoPositionDialog::~GotoPositionDialog() = default; + +void GotoPositionDialog::OnInitDialog() { -} + const auto cameraTransform = SandboxEditor::GetDefaultViewportCameraTransform(); + const auto cameraTranslation = cameraTransform.GetTranslation(); + const auto cameraRotation = AzFramework::EulerAngles(AZ::Matrix3x3::CreateFromQuaternion(cameraTransform.GetRotation())); + const auto pitchDegrees = AZ::RadToDeg(cameraRotation.GetX()); + const auto yawDegrees = AZ::RadToDeg(cameraRotation.GetZ()); -///////////////////////////////////////////////////////////////////////////// -// CGotoPositionDlg message handlers + // position + m_ui->m_dymX->setRange(-64000.0, 64000.0); + m_ui->m_dymX->setValue(cameraTranslation.GetX()); + m_ui->m_dymY->setRange(-64000.0, 64000.0); + m_ui->m_dymY->setValue(cameraTranslation.GetY()); -void CGotoPositionDlg::OnInitDialog() -{ - Vec3 pos; - Ang3 angle; + m_ui->m_dymZ->setRange(-64000.0, 64000.0); + m_ui->m_dymZ->setValue(cameraTranslation.GetZ()); - CViewport* pRenderViewport = GetIEditor()->GetViewManager()->GetGameViewport(); - if (pRenderViewport) - { - Matrix34 tm = pRenderViewport->GetViewTM(); - pos = pRenderViewport->GetViewTM().GetTranslation(); - angle = RAD2DEG(Ang3::GetAnglesXYZ(tm)); - } + // rotation + m_ui->m_dymAnglePitch->setRange(-180.0, 180.0); + m_ui->m_dymAnglePitch->setValue(pitchDegrees); - // CORDS -------------------------------------- - m_ui->m_dymX->setRange(-64000, 64000); - m_ui->m_dymX->setValue(pos.x); + m_ui->m_dymAngleYaw->setRange(-180.0, 180.0); + m_ui->m_dymAngleYaw->setValue(yawDegrees); - m_ui->m_dymY->setRange(-64000, 64000); - m_ui->m_dymY->setValue(pos.y); - - m_ui->m_dymZ->setRange(-64000, 64000); - m_ui->m_dymZ->setValue(pos.z); - - // ANGLES ------------------------------------- - m_ui->m_dymAngleX->setRange(-180, 180); - m_ui->m_dymAngleX->setValue(angle.x); - - m_ui->m_dymAngleY->setRange(-180, 180); - m_ui->m_dymAngleY->setValue(angle.y); - - m_ui->m_dymAngleZ->setRange(-180, 180); - m_ui->m_dymAngleZ->setValue(angle.z); - - - m_ui->m_labelSeg->setVisible(false); - m_ui->m_labelSegX->setVisible(false); - m_ui->m_labelSegY->setVisible(false); - m_ui->m_dymSegX->setVisible(false); - m_ui->m_dymSegY->setVisible(false); - - // Ensure the goto button is highlighted correctly. + // ensure the goto button is highlighted correctly. m_ui->pushButton->setDefault(true); OnUpdateNumbers(); } - -void CGotoPositionDlg::OnChangeEdit() +void GotoPositionDialog::OnChangeEdit() { - const int lengthInSw = 8; - const int strNum = 6; - AZStd::vector pos(strNum); + const int argCount = 5; + AZStd::vector transform(argCount); - m_sPos = m_ui->m_posEdit->text(); - const QStringList parts = m_sPos.split(QRegularExpression("[\\s,;\\t]"), Qt::SkipEmptyParts); - for (int k = 0; k < strNum && k < parts.count(); ++k) + m_transform = m_ui->m_posEdit->text(); + const QStringList parts = m_transform.split(QRegularExpression("[\\s,;\\t]"), Qt::SkipEmptyParts); + for (int i = 0; i < argCount && i < parts.count(); ++i) { - pos[k] = parts[k].toDouble(); + transform[i] = parts[i].toDouble(); } - m_ui->m_dymX->setValue(pos[0]); - m_ui->m_dymY->setValue(pos[1]); - m_ui->m_dymZ->setValue(pos[2]); - m_ui->m_dymAngleX->setValue(pos[3]); - m_ui->m_dymAngleY->setValue(pos[4]); - m_ui->m_dymAngleZ->setValue(pos[5]); - - if constexpr (strNum == lengthInSw) - { - if (parts.count() == lengthInSw) - { - m_ui->m_dymSegX->setValue(static_cast(parts[6].toDouble())); - m_ui->m_dymSegY->setValue(static_cast(parts[7].toDouble())); - } - } + m_ui->m_dymX->setValue(transform[0]); + m_ui->m_dymY->setValue(transform[1]); + m_ui->m_dymZ->setValue(transform[2]); + m_ui->m_dymAnglePitch->setValue(transform[3]); + m_ui->m_dymAngleYaw->setValue(transform[4]); } - -////////////////////////////////////////////////////////////////////////// -void CGotoPositionDlg::OnUpdateNumbers() +void GotoPositionDialog::OnUpdateNumbers() { - m_ui->m_posEdit->setText(QString::fromLatin1("%1, %2, %3, %4, %5, %6") - .arg(m_ui->m_dymX->value(), 2, 'f', 2).arg(m_ui->m_dymY->value(), 2, 'f', 2).arg(m_ui->m_dymZ->value(), 2, 'f', 2) - .arg(m_ui->m_dymAngleX->value(), 2, 'f', 2).arg(m_ui->m_dymAngleY->value(), 2, 'f', 2).arg(m_ui->m_dymAngleZ->value(), 2, 'f', 2)); + m_ui->m_posEdit->setText(QString::fromLatin1("%1, %2, %3, %4, %5") + .arg(m_ui->m_dymX->value(), 2, 'f', 2) + .arg(m_ui->m_dymY->value(), 2, 'f', 2) + .arg(m_ui->m_dymZ->value(), 2, 'f', 2) + .arg(m_ui->m_dymAnglePitch->value(), 2, 'f', 2) + .arg(m_ui->m_dymAngleYaw->value(), 2, 'f', 2)); } - -void CGotoPositionDlg::accept() +void GotoPositionDialog::accept() { - Vec3 vPos(m_ui->m_dymX->value(), m_ui->m_dymY->value(), m_ui->m_dymZ->value()); - - m_ui->m_dymX->setValue(vPos.x); - m_ui->m_dymY->setValue(vPos.y); - m_ui->m_dymZ->setValue(vPos.z); - - AzToolsFramework::IEditorCameraController* editorCameraController = AZ::Interface::Get(); - AZ_Error("editor", editorCameraController, "IEditorCameraCommands is not registered."); - if (editorCameraController) - { - editorCameraController->SetCurrentViewPosition(AZ::Vector3{ - aznumeric_cast(m_ui->m_dymX->value()), - aznumeric_cast(m_ui->m_dymY->value()), - aznumeric_cast(m_ui->m_dymZ->value()) - }); - editorCameraController->SetCurrentViewRotation(AZ::Vector3{ - aznumeric_cast(m_ui->m_dymAngleX->value()), - aznumeric_cast(m_ui->m_dymAngleY->value()), - aznumeric_cast(m_ui->m_dymAngleZ->value()) - }); - } + SandboxEditor::SetDefaultViewportCameraPosition(AZ::Vector3( + aznumeric_cast(m_ui->m_dymX->value()), aznumeric_cast(m_ui->m_dymY->value()), + aznumeric_cast(m_ui->m_dymZ->value()))); + SandboxEditor::SetDefaultViewportCameraRotation( + AZ::DegToRad(aznumeric_cast(m_ui->m_dymAnglePitch->value())), + AZ::DegToRad(aznumeric_cast(m_ui->m_dymAngleYaw->value()))); QDialog::accept(); } diff --git a/Code/Sandbox/Editor/GotoPositionDlg.h b/Code/Sandbox/Editor/GotoPositionDlg.h index 4d9857aa0a..df5c30c546 100644 --- a/Code/Sandbox/Editor/GotoPositionDlg.h +++ b/Code/Sandbox/Editor/GotoPositionDlg.h @@ -11,12 +11,7 @@ */ // Original file Copyright Crytek GMBH or its affiliates, used under license. -#ifndef CRYINCLUDE_EDITOR_GOTOPOSITIONDLG_H -#define CRYINCLUDE_EDITOR_GOTOPOSITIONDLG_H - #pragma once -// GotoPositionDlg.h : header file -// #if !defined(Q_MOC_RUN) #include @@ -24,22 +19,19 @@ namespace Ui { - class GotoPositionDlg; + class GotoPositionDialog; } -///////////////////////////////////////////////////////////////////////////// -// CGotoPositionDlg dialog - -class CGotoPositionDlg +//! GotoPositionDialog for setting camera position and rotation. +class GotoPositionDialog : public QDialog { Q_OBJECT - // Construction -public: - CGotoPositionDlg(QWidget* pParent = nullptr); // standard constructor - ~CGotoPositionDlg(); - // Implementation +public: + explicit GotoPositionDialog(QWidget* parent = nullptr); + ~GotoPositionDialog(); + protected: void OnInitDialog(); void accept() override; @@ -47,12 +39,9 @@ protected: void OnUpdateNumbers(); void OnChangeEdit(); - public: - QString m_sPos; + QString m_transform; private: - QScopedPointer m_ui; + QScopedPointer m_ui; }; - -#endif // CRYINCLUDE_EDITOR_GOTOPOSITIONDLG_H diff --git a/Code/Sandbox/Editor/GotoPositionDlg.ui b/Code/Sandbox/Editor/GotoPositionDlg.ui index 9791b5bff1..99d7f16579 100644 --- a/Code/Sandbox/Editor/GotoPositionDlg.ui +++ b/Code/Sandbox/Editor/GotoPositionDlg.ui @@ -1,226 +1,166 @@ - GotoPositionDlg - + GotoPositionDialog + 0 0 - 290 - 180 + 182 + 174 Go to Position - + + + 6 + + + + + QLayout::SetDefaultConstraint + + + 6 + + + + + Angles: + + + + + + + + + + + + + Enter position here: + + + + + + + Position: + + + + + + + Z: + + + + + + + Y: + + + + + + + Pitch: + + + + + + + Yaw: + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + + + X: + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 22 - 20 - - - - - - - - - - - - - - - - - - - - - - - Z: - - - - - - - Y: - - - - - - - Enter position here: - - - - - - - X: - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Position: - - - - - - - X: - - - - - - - X: - - - - - - - - - - Y: - - - - - - - Y: - - - - - - - Z: - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 22 - 20 - - - - - - - - Angles: - - - - - - - Segments: - - - - - - - - - - + + + Qt::Horizontal + + + + 0 + 0 + + + - - - - - Qt::Horizontal - - - - 0 - 0 - - - - - - - - Go To - - - - - - - Cancel - - - - + + + Go To + + - + + + + Cancel + + + + + + m_posEdit m_dymX m_dymY m_dymZ - m_dymAngleX - m_dymAngleY - m_dymAngleZ - m_dymSegX - m_dymSegY + m_dymAnglePitch + m_dymAngleYaw pushButton_2 pushButton @@ -229,7 +169,7 @@ pushButton clicked() - GotoPositionDlg + GotoPositionDialog accept() @@ -245,7 +185,7 @@ pushButton_2 clicked() - GotoPositionDlg + GotoPositionDialog reject() diff --git a/Code/Sandbox/Editor/editor_lib_files.cmake b/Code/Sandbox/Editor/editor_lib_files.cmake index dc9d794021..07333cf6d5 100644 --- a/Code/Sandbox/Editor/editor_lib_files.cmake +++ b/Code/Sandbox/Editor/editor_lib_files.cmake @@ -817,6 +817,8 @@ set(FILES EditorViewportWidget.h EditorViewportSettings.cpp EditorViewportSettings.h + EditorViewportCamera.cpp + EditorViewportCamera.h ViewportManipulatorController.cpp ViewportManipulatorController.h LegacyViewportCameraController.cpp From 86136ddfa697fd3d71202be6f5423cf35bf9df4e Mon Sep 17 00:00:00 2001 From: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com> Date: Thu, 10 Jun 2021 11:53:37 -0500 Subject: [PATCH 096/205] Added ability to convert multiply-nested slices (#1239) * Addressed feedback from previous PR * Change missing entity aliases to be deterministic. When converting slices, this helps produce the same results on multiple reconversions of the same data. * Exposed the asset filter callback. This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets. * Added support for multiply-nested slice instance conversion. --- .../Instance/InstanceEntityIdMapper.cpp | 4 +- .../SerializeContextTools/Application.cpp | 2 +- .../SerializeContextTools/SliceConverter.cpp | 241 +++++++++++++----- .../SerializeContextTools/SliceConverter.h | 30 ++- ...iceConverterEditorEntityContextComponent.h | 2 +- .../Tools/SerializeContextTools/Utilities.cpp | 10 +- Code/Tools/SerializeContextTools/Utilities.h | 6 +- 7 files changed, 223 insertions(+), 72 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/InstanceEntityIdMapper.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/InstanceEntityIdMapper.cpp index 8a72b221dc..1b28320010 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/InstanceEntityIdMapper.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/InstanceEntityIdMapper.cpp @@ -154,7 +154,7 @@ namespace AzToolsFramework InstanceOptionalReference owningInstanceReference = m_storingInstance->m_instanceEntityMapper->FindOwningInstance(entityId); // Start with an empty alias to build out our reference path - // If we can't resolve this id we'll return a random new alias instead of a reference path + // If we can't resolve this id we'll return a new alias based on the entity ID instead of a reference path AliasPath relativeEntityAliasPath; if (!owningInstanceReference) { @@ -162,7 +162,7 @@ namespace AzToolsFramework "Prefab - EntityIdMapper: Entity with Id %s has no registered owning instance", entityId.ToString().c_str()); - return Instance::GenerateEntityAlias(); + return AZStd::string::format("Entity_%s", entityId.ToString().c_str()); } Instance* owningInstance = &(owningInstanceReference->get()); diff --git a/Code/Tools/SerializeContextTools/Application.cpp b/Code/Tools/SerializeContextTools/Application.cpp index 918afd731c..274d04e7ce 100644 --- a/Code/Tools/SerializeContextTools/Application.cpp +++ b/Code/Tools/SerializeContextTools/Application.cpp @@ -35,7 +35,7 @@ namespace AZ Application::Application(int argc, char** argv) : AzToolsFramework::ToolsApplication(&argc, &argv) { - // We need a specialized variant of EditorEntityContextCompnent for the SliceConverter, so we register the descriptor here. + // We need a specialized variant of EditorEntityContextComponent for the SliceConverter, so we register the descriptor here. RegisterComponentDescriptor(AzToolsFramework::SliceConverterEditorEntityContextComponent::CreateDescriptor()); AZ::IO::FixedMaxPath projectPath = AZ::Utils::GetProjectPath(); diff --git a/Code/Tools/SerializeContextTools/SliceConverter.cpp b/Code/Tools/SerializeContextTools/SliceConverter.cpp index 56b3689d6b..9fba060960 100644 --- a/Code/Tools/SerializeContextTools/SliceConverter.cpp +++ b/Code/Tools/SerializeContextTools/SliceConverter.cpp @@ -128,8 +128,7 @@ namespace AZ return result; } - bool SliceConverter::ConvertSliceFile( - AZ::SerializeContext* serializeContext, const AZStd::string& slicePath, bool isDryRun) + bool SliceConverter::ConvertSliceFile(AZ::SerializeContext* serializeContext, const AZStd::string& slicePath, bool isDryRun) { /* To convert a slice file, we read the input file in via ObjectStream, then use the "class ready" callback to convert * the data in memory to a Prefab. @@ -177,11 +176,22 @@ namespace AZ } AZ::Entity* rootEntity = reinterpret_cast(classPtr); - return ConvertSliceToPrefab(context, outputPath, isDryRun, rootEntity); + bool convertResult = ConvertSliceToPrefab(context, outputPath, isDryRun, rootEntity); + // Clear out the references to any nested slices so that the nested assets get unloaded correctly at the end of + // the conversion. + ClearSliceAssetReferences(rootEntity); + return convertResult; }; // Read in the slice file and call the callback on completion to convert the read-in slice to a prefab. - if (!Utilities::InspectSerializedFile(inputPath.c_str(), serializeContext, callback)) + // This will also load dependent slice assets, but no other dependent asset types. + // Since we're not actually initializing any of the entities, we don't need any of the non-slice assets to be loaded. + if (!Utilities::InspectSerializedFile( + inputPath.c_str(), serializeContext, callback, + [](const AZ::Data::AssetFilterInfo& filterInfo) + { + return (filterInfo.m_assetType == azrtti_typeid()); + })) { AZ_Warning("Convert-Slice", false, "Failed to load '%s'. File may not contain an object stream.", inputPath.c_str()); result = false; @@ -256,7 +266,7 @@ namespace AZ for (auto& alias : entityAliases) { auto id = sourceInstance->GetEntityId(alias); - auto result = m_aliasIdMapper.emplace(TemplateEntityIdPair(templateId, id), alias); + auto result = m_aliasIdMapper.emplace(id, SliceEntityMappingInfo(templateId, alias)); if (!result.second) { AZ_Printf("Convert-Slice", " Duplicate entity alias -> entity id entries found, conversion may not be successful.\n"); @@ -342,10 +352,9 @@ namespace AZ // For each nested slice, convert it. for (auto& slice : sliceList) { - // Get the nested slice asset + // Get the nested slice asset. These should already be preloaded due to loading the root asset. auto sliceAsset = slice.GetSliceAsset(); - sliceAsset.QueueLoad(); - sliceAsset.BlockUntilLoadComplete(); + AZ_Assert(sliceAsset.IsReady(), "slice asset hasn't been loaded yet!"); // The slice list gives us asset IDs, and we need to get to the source path. So first we get the asset path from the ID, // then we get the source path from the asset path. @@ -429,6 +438,28 @@ namespace AZ auto instanceToTemplateInterface = AZ::Interface::Get(); auto prefabSystemComponentInterface = AZ::Interface::Get(); + // When creating the new instance, we would like to have deterministic instance aliases. Prefabs that depend on this one + // will have patches that reference the alias, so if we reconvert this slice a second time, we would like it to produce + // the same results. To get a deterministic and unique alias, we rely on the slice instance. The slice instance contains + // a map of slice entity IDs to unique instance entity IDs. We'll just consistently use the first entry in the map as the + // unique instance ID. + AZStd::string instanceAlias; + auto entityIdMap = instance.GetEntityIdMap(); + if (!entityIdMap.empty()) + { + instanceAlias = AZStd::string::format("Instance_%s", entityIdMap.begin()->second.ToString().c_str()); + } + else + { + instanceAlias = AZStd::string::format("Instance_%s", AZ::Entity::MakeId().ToString().c_str()); + } + + // Before processing any further, save off all the known entity IDs from this instance and how they map back to the base + // nested prefab that they've come from (i.e. this one). As we proceed up the chain of nesting, this will build out a + // hierarchical list of owning instances for each entity that we can trace upwards to know where to add the entity into + // our nested prefab instance. + UpdateSliceEntityInstanceMappings(instance.GetEntityIdToBaseMap(), instanceAlias); + // Create a new unmodified prefab Instance for the nested slice instance. auto nestedInstance = AZStd::make_unique(); AzToolsFramework::Prefab::Instance::EntityList newEntities; @@ -465,15 +496,62 @@ namespace AZ auto instantiated = dataPatch.Apply(&sourceObjects, dependentSlice->GetSerializeContext(), filterDesc, sourceDataFlags, targetDataFlags); - // Run through all the instantiated entities and fix up their parent hierarchy: - // - Invalid parents need to get set to the container. - // - Valid parents into the top-level instance mean that the nested slice instance is also child-nested under an entity. - // Prefabs handle this type of nesting differently - we need to set the parent to the container, and the container's - // parent to that other instance. - auto containerEntity = nestedInstance->GetContainerEntity(); - auto containerEntityId = containerEntity->get().GetId(); - for (auto entity : instantiated->m_entities) + // Replace all the entities in the instance with the new patched ones. To do this, we'll remove all existing entities + // throughout the entire nested hierarchy, then add the new patched entities back in at the appropriate place in the hierarchy. + // (This is easier than trying to figure out what the patched data changes are - we can let the JSON patch handle it for us) + + nestedInstance->RemoveNestedEntities( + [](const AZStd::unique_ptr&) + { + return true; + }); + + AZStd::vector> addedEntityList; + + for (auto& entity : instantiated->m_entities) { + auto entityEntry = m_aliasIdMapper.find(entity->GetId()); + if (entityEntry != m_aliasIdMapper.end()) + { + auto& mappingStruct = entityEntry->second; + + // Starting with the current nested instance, walk downwards through the nesting hierarchy until we're at the + // correct level for this instanced entity ID, then add it. Because we're adding it with the non-instanced alias, + // it doesn't matter what the slice's instanced entity ID is, and the JSON patch will correctly pick up the changes + // we've made for this instance. + AzToolsFramework::Prefab::Instance* addingInstance = nestedInstance.get(); + for (auto it = mappingStruct.m_nestedInstanceAliases.rbegin(); it != mappingStruct.m_nestedInstanceAliases.rend(); it++) + { + auto foundInstance = addingInstance->FindNestedInstance(*it); + if (foundInstance.has_value()) + { + addingInstance = &(foundInstance->get()); + } + else + { + AZ_Assert(false, "Couldn't find nested instance %s", it->c_str()); + } + } + addingInstance->AddEntity(*entity, mappingStruct.m_entityAlias); + addedEntityList.emplace_back(entity, addingInstance); + } + else + { + AZ_Assert(false, "Failed to find entity alias."); + nestedInstance->AddEntity(*entity); + addedEntityList.emplace_back(entity, nestedInstance.get()); + } + } + + for (auto& [entity, addingInstance] : addedEntityList) + { + // Fix up the parent hierarchy: + // - Invalid parents need to get set to the container. + // - Valid parents into the top-level instance mean that the nested slice instance is also child-nested under an entity. + // Prefabs handle this type of nesting differently - we need to set the parent to the container, and the container's + // parent to that other instance. + auto containerEntity = addingInstance->GetContainerEntity(); + auto containerEntityId = containerEntity->get().GetId(); AzToolsFramework::Components::TransformComponent* transformComponent = entity->FindComponent(); if (transformComponent) @@ -482,45 +560,61 @@ namespace AZ auto parentId = transformComponent->GetParentId(); if (parentId.IsValid()) { - auto parentAlias = m_aliasIdMapper.find(TemplateEntityIdPair(topLevelInstance->GetTemplateId(), parentId)); - if (parentAlias != m_aliasIdMapper.end()) + // Look to see if the parent ID exists in the same instance (i.e. an entity in the nested slice is a + // child of an entity in the containing slice). If this case exists, we need to adjust the parents so that + // the child entity connects to the prefab container, and the *container* is the child of the entity in the + // containing slice. (i.e. go from A->B to A->container->B) + auto parentEntry = m_aliasIdMapper.find(parentId); + if (parentEntry != m_aliasIdMapper.end()) { - // Set the container's parent to this entity's parent, and set this entity's parent to the container - // (i.e. go from A->B to A->container->B) - auto newParentId = topLevelInstance->GetEntityId(parentAlias->second); - SetParentEntity(containerEntity->get(), newParentId, false); - onlySetIfInvalid = false; + auto& parentMappingInfo = parentEntry->second; + if (parentMappingInfo.m_templateId != addingInstance->GetTemplateId()) + { + if (topLevelInstance->GetTemplateId() == parentMappingInfo.m_templateId) + { + parentId = topLevelInstance->GetEntityId(parentMappingInfo.m_entityAlias); + } + else + { + AzToolsFramework::Prefab::Instance* parentInstance = addingInstance; + + while ((parentInstance->GetParentInstance().has_value()) && + (parentInstance->GetTemplateId() != parentMappingInfo.m_templateId)) + { + parentInstance = &(parentInstance->GetParentInstance()->get()); + } + + if (parentInstance->GetTemplateId() == parentMappingInfo.m_templateId) + { + parentId = parentInstance->GetEntityId(parentMappingInfo.m_entityAlias); + } + else + { + AZ_Assert(false, "Could not find parent instance"); + } + } + + // Set the container's parent to this entity's parent, and set this entity's parent to the container + // auto newParentId = topLevelInstance->GetEntityId(parentMappingInfo.m_entityAlias); + SetParentEntity(containerEntity->get(), parentId, false); + onlySetIfInvalid = false; + } } + + // If the parent ID is valid, but NOT in the top-level instance, then it's just a nested hierarchy inside + // the slice and we don't need to adjust anything. "onlySetIfInvalid" will still be true, which means we + // won't change the parent ID below. } - SetParentEntity(*entity, containerEntityId, onlySetIfInvalid); + SetParentEntity(*entity, containerEntityId, onlySetIfInvalid); } } - // Replace all the entities in the instance with the new patched ones. - // (This is easier than trying to figure out what the patched data changes are - we can let the JSON patch handle it for us) - nestedInstance->RemoveNestedEntities( - [](const AZStd::unique_ptr&) - { - return true; - }); - for (auto& entity : instantiated->m_entities) - { - auto entityAlias = m_aliasIdMapper.find(TemplateEntityIdPair(nestedInstance->GetTemplateId(), entity->GetId())); - if (entityAlias != m_aliasIdMapper.end()) - { - nestedInstance->AddEntity(*entity, entityAlias->second); - } - else - { - AZ_Assert(false, "Failed to find entity alias."); - nestedInstance->AddEntity(*entity); - } - } // Set the container entity of the nested prefab to have the top-level prefab as the parent if it hasn't already gotten // another entity as its parent. { + auto containerEntity = nestedInstance->GetContainerEntity(); constexpr bool onlySetIfInvalid = true; SetParentEntity(containerEntity->get(), topLevelInstance->GetContainerEntityId(), onlySetIfInvalid); } @@ -531,21 +625,7 @@ namespace AZ AzToolsFramework::Prefab::PrefabDom topLevelInstanceDomBefore; instanceToTemplateInterface->GenerateDomForInstance(topLevelInstanceDomBefore, *topLevelInstance); - // When creating the new instance, we would like to have deterministic instance aliases. Prefabs that depend on this one - // will have patches that reference the alias, so if we reconvert this slice a second time, we would like it to produce - // the same results. To get a deterministic and unique alias, we rely on the slice instance. The slice instance contains - // a map of slice entity IDs to unique instance entity IDs. We'll just consistently use the first entry in the map as the - // unique instance ID. - AZStd::string instanceAlias; - auto entityIdMap = instance.GetEntityIdMap(); - if (!entityIdMap.empty()) - { - instanceAlias = AZStd::string::format("Instance_%s", entityIdMap.begin()->second.ToString().c_str()); - } - else - { - instanceAlias = AZStd::string::format("Instance_%s", AZ::Entity::MakeId().ToString().c_str()); - } + // Use the deterministic instance alias for this new instance AzToolsFramework::Prefab::Instance& addedInstance = topLevelInstance->AddInstance(AZStd::move(nestedInstance), instanceAlias); AzToolsFramework::Prefab::PrefabDom topLevelInstanceDomAfter; @@ -670,5 +750,48 @@ namespace AZ AZ_Error("Convert-Slice", disconnected, "Asset Processor failed to disconnect successfully."); } + void SliceConverter::ClearSliceAssetReferences(AZ::Entity* rootEntity) + { + SliceComponent* sliceComponent = AZ::EntityUtils::FindFirstDerivedComponent(rootEntity); + // Make a copy of the slice list and remove all of them from the loaded component. + AZ::SliceComponent::SliceList slices = sliceComponent->GetSlices(); + for (auto& slice : slices) + { + sliceComponent->RemoveSlice(&slice); + } + } + + void SliceConverter::UpdateSliceEntityInstanceMappings( + const AZ::SliceComponent::EntityIdToEntityIdMap& sliceEntityIdMap, const AZStd::string& currentInstanceAlias) + { + // For each instanced entity, map its ID all the way back to the original prefab template and entity ID that it came from. + // This counts on being run recursively from the leaf nodes upwards, so we first get B->A, + // then C->B which becomes a C->A entry, then D->C which becomes D->A, etc. + for (auto& [newId, oldId] : sliceEntityIdMap) + { + // Try to find the conversion chain from the old ID. if it's there, copy it and use it for the new ID, plus add this + // instance's name to the end of the chain. If it's not there, skip it, since it's probably the slice metadata entity, + // which we didn't convert. + auto parentEntry = m_aliasIdMapper.find(oldId); + if (parentEntry != m_aliasIdMapper.end()) + { + // Only add this instance's name if we don't already have an entry for the new ID. + if (m_aliasIdMapper.find(newId) == m_aliasIdMapper.end()) + { + auto newMappingEntry = m_aliasIdMapper.emplace(newId, parentEntry->second).first; + newMappingEntry->second.m_nestedInstanceAliases.emplace_back(currentInstanceAlias); + } + else + { + // If we already had an entry for the new ID, it might be because the old and new ID are the same. This happens + // when nesting multiple prefabs directly underneath each other without a nesting entity in-between. + // If the IDs are different, it's an unexpected error condition. + AZ_Assert(oldId == newId, "The same entity instance ID has unexpectedly appeared twice in the same nested prefab."); + } + } + } + } + + } // namespace SerializeContextTools } // namespace AZ diff --git a/Code/Tools/SerializeContextTools/SliceConverter.h b/Code/Tools/SerializeContextTools/SliceConverter.h index 82dcf30383..ee0bb0a539 100644 --- a/Code/Tools/SerializeContextTools/SliceConverter.h +++ b/Code/Tools/SerializeContextTools/SliceConverter.h @@ -42,8 +42,6 @@ namespace AZ bool ConvertSliceFiles(Application& application); private: - using TemplateEntityIdPair = AZStd::pair; - bool ConnectToAssetProcessor(); void DisconnectFromAssetProcessor(); @@ -60,10 +58,32 @@ namespace AZ void SetParentEntity(const AZ::Entity& entity, const AZ::EntityId& parentId, bool onlySetIfInvalid); void PrintPrefab(AzToolsFramework::Prefab::TemplateId templateId); bool SavePrefab(AZ::IO::PathView outputPath, AzToolsFramework::Prefab::TemplateId templateId); + void ClearSliceAssetReferences(AZ::Entity* rootEntity); + void UpdateSliceEntityInstanceMappings( + const AZ::SliceComponent::EntityIdToEntityIdMap& sliceEntityIdMap, + const AZStd::string& currentInstanceAlias); - // Track all of the entity IDs created and the prefab entity aliases that map to them. This mapping is used - // with nested slice conversion to remap parent entity IDs to the correct prefab entity IDs. - AZStd::unordered_map m_aliasIdMapper; + // When converting slice entities, especially for nested slices, we need to keep track of the original + // entity ID, the entity alias it uses in the prefab, and which template and nested instance path it maps to. + // As we encounter each instanced entity ID, we can look it up in this structure and use this to determine how to properly + // add it to the correct place in the hierarchy. + struct SliceEntityMappingInfo + { + SliceEntityMappingInfo(AzToolsFramework::Prefab::TemplateId templateId, AzToolsFramework::Prefab::EntityAlias entityAlias) + : m_templateId(templateId) + , m_entityAlias(entityAlias) + { + } + + AzToolsFramework::Prefab::TemplateId m_templateId; + AzToolsFramework::Prefab::EntityAlias m_entityAlias; + AZStd::vector m_nestedInstanceAliases; + }; + + // Track all of the entity IDs created and associate them with enough conversion information to know how to place the + // entities in the correct place in the prefab hierarchy and fix up parent entity ID mappings to work with the nested + // prefab schema. + AZStd::unordered_map m_aliasIdMapper; // Track all of the created prefab template IDs on a slice conversion so that they can get removed at the end of the // conversion for that file. diff --git a/Code/Tools/SerializeContextTools/SliceConverterEditorEntityContextComponent.h b/Code/Tools/SerializeContextTools/SliceConverterEditorEntityContextComponent.h index 166cb2abdf..07246b20a7 100644 --- a/Code/Tools/SerializeContextTools/SliceConverterEditorEntityContextComponent.h +++ b/Code/Tools/SerializeContextTools/SliceConverterEditorEntityContextComponent.h @@ -36,7 +36,7 @@ namespace AzToolsFramework SliceConverterEditorEntityContextComponent() : EditorEntityContextComponent() {} // Simple API to selectively disable this logic *only* when performing slice to prefab conversion. - static void DisableOnContextEntityLogic() + static inline void DisableOnContextEntityLogic() { m_enableOnContextEntityLogic = false; } diff --git a/Code/Tools/SerializeContextTools/Utilities.cpp b/Code/Tools/SerializeContextTools/Utilities.cpp index cfd75a44e7..d39a71dd24 100644 --- a/Code/Tools/SerializeContextTools/Utilities.cpp +++ b/Code/Tools/SerializeContextTools/Utilities.cpp @@ -209,7 +209,11 @@ namespace AZ::SerializeContextTools return result; } - bool Utilities::InspectSerializedFile(const char* filePath, SerializeContext* sc, const ObjectStream::ClassReadyCB& classCallback) + bool Utilities::InspectSerializedFile( + const char* filePath, + SerializeContext* sc, + const ObjectStream::ClassReadyCB& classCallback, + Data::AssetFilterCB assetFilterCallback) { if (!AZ::IO::FileIOBase::GetInstance()->Exists(filePath)) { @@ -248,9 +252,9 @@ namespace AZ::SerializeContextTools AZ::IO::MemoryStream stream(data.data(), fileLength); ObjectStream::FilterDescriptor filter; - // Never load dependencies. That's another file that would need to be processed + // By default, never load dependencies. That's another file that would need to be processed // separately from this one. - filter.m_assetCB = AZ::Data::AssetFilterNoAssetLoading; + filter.m_assetCB = assetFilterCallback; if (!ObjectStream::LoadBlocking(&stream, *sc, classCallback, filter)) { AZ_Printf("Verify", "Failed to deserialize '%s'\n", filePath); diff --git a/Code/Tools/SerializeContextTools/Utilities.h b/Code/Tools/SerializeContextTools/Utilities.h index f08bfc2f64..9c9cd28ac6 100644 --- a/Code/Tools/SerializeContextTools/Utilities.h +++ b/Code/Tools/SerializeContextTools/Utilities.h @@ -39,7 +39,11 @@ namespace AZ static AZStd::vector GetSystemComponents(const Application& application); - static bool InspectSerializedFile(const char* filePath, SerializeContext* sc, const ObjectStream::ClassReadyCB& classCallback); + static bool InspectSerializedFile( + const char* filePath, + SerializeContext* sc, + const ObjectStream::ClassReadyCB& classCallback, + Data::AssetFilterCB assetFilterCallback = AZ::Data::AssetFilterNoAssetLoading); private: Utilities() = delete; From 42cc4214ba92587cea813e931d9e6ee3689f3ef3 Mon Sep 17 00:00:00 2001 From: Aaron Ruiz Mora Date: Thu, 10 Jun 2021 18:39:42 +0100 Subject: [PATCH 097/205] Use dropdown comboboxes in Physics Materials fields' of PhysX Groups in FBX Settings (#1242) --- Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp | 47 +++++++++++++++++++ Gems/PhysX/Code/Source/Pipeline/MeshGroup.h | 8 +++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp index 4789377852..ffae8c449b 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.cpp @@ -16,6 +16,8 @@ #include #include #include +#include +#include #include #include #include @@ -580,7 +582,21 @@ namespace PhysX MeshGroup::MeshGroup() : m_id(AZ::Uuid::CreateRandom()) + , m_materialLibraryChangedHandler( + [this](const AZ::Data::AssetId& materialLibraryAssetId) + { + OnMaterialLibraryChanged(materialLibraryAssetId); + }) { + if (auto* physicsSystem = AZ::Interface::Get()) + { + physicsSystem->RegisterOnMaterialLibraryChangedEventHandler(m_materialLibraryChangedHandler); + } + } + + MeshGroup::~MeshGroup() + { + m_materialLibraryChangedHandler.Disconnect(); } void MeshGroup::Reflect(AZ::ReflectContext* context) @@ -669,6 +685,8 @@ namespace PhysX ->Attribute(AZ::Edit::Attributes::IndexedChildNameLabelOverride, &MeshGroup::GetMaterialSlotLabel) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->Attribute(AZ::Edit::Attributes::ContainerCanBeModified, false) + ->ElementAttribute(AZ::Edit::UIHandlers::Handler, AZ::Edit::UIHandlers::ComboBox) + ->ElementAttribute(AZ::Edit::Attributes::StringList, &MeshGroup::GetPhysicsMaterialNames) ->DataElement(AZ::Edit::UIHandlers::Default, &MeshGroup::m_rules, "", "Add or remove rules to fine-tune the export process.") @@ -857,6 +875,35 @@ namespace PhysX } } + AZStd::vector MeshGroup::GetPhysicsMaterialNames() const + { + if (auto* physicsSystem = AZ::Interface::Get()) + { + if (const auto* physicsConfiguration = physicsSystem->GetConfiguration()) + { + const auto& materials = physicsConfiguration->m_materialLibraryAsset->GetMaterialsData(); + + AZStd::vector physicsMaterialNames; + physicsMaterialNames.reserve(materials.size() + 1); + + physicsMaterialNames.emplace_back(Physics::DefaultPhysicsMaterialLabel); + for (const auto& material : materials) + { + physicsMaterialNames.emplace_back(material.m_configuration.m_surfaceType); + } + + return physicsMaterialNames; + } + } + return {Physics::DefaultPhysicsMaterialLabel}; + } + + void MeshGroup::OnMaterialLibraryChanged([[maybe_unused]] const AZ::Data::AssetId& materialLibraryAssetId) + { + AzToolsFramework::PropertyEditorGUIMessages::Bus::Broadcast(&AzToolsFramework::PropertyEditorGUIMessages::RequestRefresh, + AzToolsFramework::PropertyModificationRefreshLevel::Refresh_AttributesAndValues); + } + bool MeshGroup::VersionConverter(AZ::SerializeContext& context, AZ::SerializeContext::DataElementNode& classElement) { // Remove the material rule. diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.h b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.h index a2c270234a..5b70ded7ea 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshGroup.h +++ b/Gems/PhysX/Code/Source/Pipeline/MeshGroup.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -177,7 +178,7 @@ namespace PhysX AZ_CLASS_ALLOCATOR_DECL MeshGroup(); - ~MeshGroup() override = default; + ~MeshGroup() override; static void Reflect(AZ::ReflectContext* context); @@ -224,6 +225,9 @@ namespace PhysX bool GetDecomposeMeshesVisibility() const; AZStd::string GetMaterialSlotLabel(int index) const; + AZStd::vector GetPhysicsMaterialNames() const; + + void OnMaterialLibraryChanged(const AZ::Data::AssetId& materialLibraryAssetId); AZ::Uuid m_id{}; AZStd::string m_name{}; @@ -239,6 +243,8 @@ namespace PhysX AZStd::vector m_physicsMaterials; const AZ::SceneAPI::Containers::SceneGraph* m_graph = nullptr; + + AzPhysics::SystemEvents::OnMaterialLibraryChangedEvent::Handler m_materialLibraryChangedHandler; }; } } From 856daf1485e816dff21eb6a268a67fbcf41ff5d6 Mon Sep 17 00:00:00 2001 From: sconel Date: Thu, 10 Jun 2021 10:46:36 -0700 Subject: [PATCH 098/205] Addressed PR feedback --- .../AzToolsFramework/Prefab/Instance/Instance.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h index bba20cbe8a..5f36ac10dc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h @@ -89,8 +89,9 @@ namespace AzToolsFramework void DetachEntities(const AZStd::function)>& callback); /** - * Detaches all entities in the instance hierarchy, including; all direct and nested entities, all container entities. - * Note that without container entities the hierarchy that remains cannot be used further without restoring new ones + * Detaches all entities in the instance hierarchy. + * Includes all direct entities, all nested entities, and all container entities. + * Note that without container entities the hierarchy that remains cannot be used further without restoring new ones. * @param callback A user provided callback that can be used to capture ownership and manipulate the detached entities. */ void DetachAllEntitiesInHierarchy(const AZStd::function)>& callback); From 2ee4d8ff6b822d8f733e5dc1dd4800db43aa4cd7 Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Thu, 10 Jun 2021 11:01:23 -0700 Subject: [PATCH 099/205] Sanitize identifier names before substituting them in C++ template files --- .../Code/Include/${Name}/${Name}Bus.h | 8 ++--- .../Source/${Name}EditorSystemComponent.cpp | 12 +++---- .../Source/${Name}EditorSystemComponent.h | 16 ++++----- .../Template/Code/Source/${Name}Module.cpp | 18 +++++----- .../Code/Source/${Name}SystemComponent.cpp | 34 +++++++++---------- .../Code/Source/${Name}SystemComponent.h | 12 +++---- .../Template/Code/Tests/${Name}EditorTest.cpp | 4 +-- .../Template/Code/Tests/${Name}Test.cpp | 4 +-- .../Code/Include/${Name}/${Name}Bus.h | 8 ++--- .../Template/Code/Source/${Name}Module.cpp | 18 +++++----- .../Code/Source/${Name}SystemComponent.cpp | 30 ++++++++-------- .../Code/Source/${Name}SystemComponent.h | 10 +++--- scripts/o3de/o3de/engine_template.py | 7 ++++ scripts/o3de/o3de/utils.py | 20 +++++++++++ 14 files changed, 114 insertions(+), 87 deletions(-) diff --git a/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h b/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h index 0e8ab29cc4..1b3b67c241 100644 --- a/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h +++ b/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h @@ -16,9 +16,9 @@ #include -namespace ${Name} +namespace ${SanitizedCppName} { - class ${Name}Requests + class ${SanitizedCppName}Requests : public AZ::EBusTraits { public: @@ -31,6 +31,6 @@ namespace ${Name} // Put your public methods here }; - using ${Name}RequestBus = AZ::EBus<${Name}Requests>; + using ${SanitizedCppName}RequestBus = AZ::EBus<${SanitizedCppName}Requests>; -} // namespace ${Name} +} // namespace ${SanitizedCppName} diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.cpp b/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.cpp index 5884489904..4fca5e8d3c 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.cpp +++ b/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.cpp @@ -15,24 +15,24 @@ #include #include <${Name}EditorSystemComponent.h> -namespace ${Name} +namespace ${SanitizedCppName} { - void ${Name}EditorSystemComponent::Reflect(AZ::ReflectContext* context) + void ${SanitizedCppName}EditorSystemComponent::Reflect(AZ::ReflectContext* context) { if (auto serializeContext = azrtti_cast(context)) { - serializeContext->Class<${Name}EditorSystemComponent, AZ::Component>()->Version(1); + serializeContext->Class<${SanitizedCppName}EditorSystemComponent, AZ::Component>()->Version(1); } } - void ${Name}EditorSystemComponent::Activate() + void ${SanitizedCppName}EditorSystemComponent::Activate() { AzToolsFramework::EditorEvents::Bus::Handler::BusConnect(); } - void ${Name}EditorSystemComponent::Deactivate() + void ${SanitizedCppName}EditorSystemComponent::Deactivate() { AzToolsFramework::EditorEvents::Bus::Handler::BusDisconnect(); } -} // namespace ${Name} +} // namespace ${SanitizedCppName} diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.h b/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.h index 1f973651ee..296d2c3bcd 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.h +++ b/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.h @@ -18,32 +18,32 @@ #include -namespace ${Name} +namespace ${SanitizedCppName} { - /// System component for ${Name} editor - class ${Name}EditorSystemComponent + /// System component for ${SanitizedCppName} editor + class ${SanitizedCppName}EditorSystemComponent : public AZ::Component , private AzToolsFramework::EditorEvents::Bus::Handler { public: - AZ_COMPONENT(${Name}EditorSystemComponent, "${EditorSysCompClassId}"); + AZ_COMPONENT(${SanitizedCppName}EditorSystemComponent, "${EditorSysCompClassId}"); static void Reflect(AZ::ReflectContext* context); - ${Name}EditorSystemComponent() = default; + ${SanitizedCppName}EditorSystemComponent() = default; private: static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) { - provided.push_back(AZ_CRC("${Name}EditorService")); + provided.push_back(AZ_CRC("${SanitizedCppName}EditorService")); } static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) { - required.push_back(AZ_CRC("${Name}Service")); + required.push_back(AZ_CRC("${SanitizedCppName}Service")); } // AZ::Component void Activate() override; void Deactivate() override; }; -} // namespace ${Name} +} // namespace ${SanitizedCppName} diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}Module.cpp b/Templates/DefaultGem/Template/Code/Source/${Name}Module.cpp index 3c6be88158..ca4a724f49 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}Module.cpp +++ b/Templates/DefaultGem/Template/Code/Source/${Name}Module.cpp @@ -17,21 +17,21 @@ #include <${Name}SystemComponent.h> -namespace ${Name} +namespace ${SanitizedCppName} { - class ${Name}Module + class ${SanitizedCppName}Module : public AZ::Module { public: - AZ_RTTI(${Name}Module, "${ModuleClassId}", AZ::Module); - AZ_CLASS_ALLOCATOR(${Name}Module, AZ::SystemAllocator, 0); + AZ_RTTI(${SanitizedCppName}Module, "${ModuleClassId}", AZ::Module); + AZ_CLASS_ALLOCATOR(${SanitizedCppName}Module, AZ::SystemAllocator, 0); - ${Name}Module() + ${SanitizedCppName}Module() : AZ::Module() { // Push results of [MyComponent]::CreateDescriptor() into m_descriptors here. m_descriptors.insert(m_descriptors.end(), { - ${Name}SystemComponent::CreateDescriptor(), + ${SanitizedCppName}SystemComponent::CreateDescriptor(), }); } @@ -41,10 +41,10 @@ namespace ${Name} AZ::ComponentTypeList GetRequiredSystemComponents() const override { return AZ::ComponentTypeList { - azrtti_typeid<${Name}SystemComponent>(), + azrtti_typeid<${SanitizedCppName}SystemComponent>(), }; } }; -}// namespace ${Name} +}// namespace ${SanitizedCppName} -AZ_DECLARE_MODULE_CLASS(Gem_${Name}, ${Name}::${Name}Module) +AZ_DECLARE_MODULE_CLASS(Gem_${SanitizedCppName}, ${SanitizedCppName}::${SanitizedCppName}Module) diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.cpp b/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.cpp index 7f91197e4a..214d2cfe39 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.cpp +++ b/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.cpp @@ -18,19 +18,19 @@ #include #include -namespace ${Name} +namespace ${SanitizedCppName} { - void ${Name}SystemComponent::Reflect(AZ::ReflectContext* context) + void ${SanitizedCppName}SystemComponent::Reflect(AZ::ReflectContext* context) { if (AZ::SerializeContext* serialize = azrtti_cast(context)) { - serialize->Class<${Name}SystemComponent, AZ::Component>() + serialize->Class<${SanitizedCppName}SystemComponent, AZ::Component>() ->Version(0) ; if (AZ::EditContext* ec = serialize->GetEditContext()) { - ec->Class<${Name}SystemComponent>("${Name}", "[Description of functionality provided by this System Component]") + ec->Class<${SanitizedCppName}SystemComponent>("${SanitizedCppName}", "[Description of functionality provided by this System Component]") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("System")) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) @@ -39,45 +39,45 @@ namespace ${Name} } } - void ${Name}SystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) + void ${SanitizedCppName}SystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) { - provided.push_back(AZ_CRC("${Name}Service")); + provided.push_back(AZ_CRC("${SanitizedCppName}Service")); } - void ${Name}SystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible) + void ${SanitizedCppName}SystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible) { - incompatible.push_back(AZ_CRC("${Name}Service")); + incompatible.push_back(AZ_CRC("${SanitizedCppName}Service")); } - void ${Name}SystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) + void ${SanitizedCppName}SystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) { AZ_UNUSED(required); } - void ${Name}SystemComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) + void ${SanitizedCppName}SystemComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) { AZ_UNUSED(dependent); } - void ${Name}SystemComponent::Init() + void ${SanitizedCppName}SystemComponent::Init() { } - void ${Name}SystemComponent::Activate() + void ${SanitizedCppName}SystemComponent::Activate() { - ${Name}RequestBus::Handler::BusConnect(); + ${SanitizedCppName}RequestBus::Handler::BusConnect(); AZ::TickBus::Handler::BusConnect(); } - void ${Name}SystemComponent::Deactivate() + void ${SanitizedCppName}SystemComponent::Deactivate() { AZ::TickBus::Handler::BusDisconnect(); - ${Name}RequestBus::Handler::BusDisconnect(); + ${SanitizedCppName}RequestBus::Handler::BusDisconnect(); } - void ${Name}SystemComponent::OnTick(float /*deltaTime*/, AZ::ScriptTimePoint /*time*/) + void ${SanitizedCppName}SystemComponent::OnTick(float /*deltaTime*/, AZ::ScriptTimePoint /*time*/) { } -} // namespace ${Name} +} // namespace ${SanitizedCppName} diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.h b/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.h index 5071e7b9c7..5eff2e6430 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.h +++ b/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.h @@ -18,15 +18,15 @@ #include #include <${Name}/${Name}Bus.h> -namespace ${Name} +namespace ${SanitizedCppName} { - class ${Name}SystemComponent + class ${SanitizedCppName}SystemComponent : public AZ::Component - , protected ${Name}RequestBus::Handler + , protected ${SanitizedCppName}RequestBus::Handler , public AZ::TickBus::Handler { public: - AZ_COMPONENT(${Name}SystemComponent, "${SysCompClassId}"); + AZ_COMPONENT(${SanitizedCppName}SystemComponent, "${SysCompClassId}"); static void Reflect(AZ::ReflectContext* context); @@ -37,7 +37,7 @@ namespace ${Name} protected: //////////////////////////////////////////////////////////////////////// - // ${Name}RequestBus interface implementation + // ${SanitizedCppName}RequestBus interface implementation //////////////////////////////////////////////////////////////////////// @@ -54,4 +54,4 @@ namespace ${Name} //////////////////////////////////////////////////////////////////////// }; -} // namespace ${Name} +} // namespace ${SanitizedCppName} diff --git a/Templates/DefaultGem/Template/Code/Tests/${Name}EditorTest.cpp b/Templates/DefaultGem/Template/Code/Tests/${Name}EditorTest.cpp index 7fd3fa7cfa..9b36a3aadb 100644 --- a/Templates/DefaultGem/Template/Code/Tests/${Name}EditorTest.cpp +++ b/Templates/DefaultGem/Template/Code/Tests/${Name}EditorTest.cpp @@ -14,7 +14,7 @@ #include -class ${Name}EditorTest +class ${SanitizedCppName}EditorTest : public ::testing::Test { protected: @@ -29,7 +29,7 @@ protected: } }; -TEST_F(${Name}EditorTest, SanityTest) +TEST_F(${SanitizedCppName}EditorTest, SanityTest) { ASSERT_TRUE(true); } diff --git a/Templates/DefaultGem/Template/Code/Tests/${Name}Test.cpp b/Templates/DefaultGem/Template/Code/Tests/${Name}Test.cpp index 8021ca920e..bee38fa9d7 100644 --- a/Templates/DefaultGem/Template/Code/Tests/${Name}Test.cpp +++ b/Templates/DefaultGem/Template/Code/Tests/${Name}Test.cpp @@ -14,7 +14,7 @@ #include -class ${Name}Test +class ${SanitizedCppName}Test : public ::testing::Test { protected: @@ -29,7 +29,7 @@ protected: } }; -TEST_F(${Name}Test, SanityTest) +TEST_F(${SanitizedCppName}Test, SanityTest) { ASSERT_TRUE(true); } diff --git a/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h b/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h index faa0e8acf6..e6f9dd57bd 100644 --- a/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h +++ b/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h @@ -16,9 +16,9 @@ #include -namespace ${Name} +namespace ${SanitizedCppName} { - class ${Name}Requests + class ${SanitizedCppName}Requests : public AZ::EBusTraits { public: @@ -30,5 +30,5 @@ namespace ${Name} // Put your public methods here }; - using ${Name}RequestBus = AZ::EBus<${Name}Requests>; -} // namespace ${Name} + using ${SanitizedCppName}RequestBus = AZ::EBus<${SanitizedCppName}Requests>; +} // namespace ${SanitizedCppName} diff --git a/Templates/DefaultProject/Template/Code/Source/${Name}Module.cpp b/Templates/DefaultProject/Template/Code/Source/${Name}Module.cpp index 4f11828366..57b473b317 100644 --- a/Templates/DefaultProject/Template/Code/Source/${Name}Module.cpp +++ b/Templates/DefaultProject/Template/Code/Source/${Name}Module.cpp @@ -17,21 +17,21 @@ #include "${Name}SystemComponent.h" -namespace ${Name} +namespace ${SanitizedCppName} { - class ${Name}Module + class ${SanitizedCppName}Module : public AZ::Module { public: - AZ_RTTI(${Name}Module, "${ModuleClassId}", AZ::Module); - AZ_CLASS_ALLOCATOR(${Name}Module, AZ::SystemAllocator, 0); + AZ_RTTI(${SanitizedCppName}Module, "${ModuleClassId}", AZ::Module); + AZ_CLASS_ALLOCATOR(${SanitizedCppName}Module, AZ::SystemAllocator, 0); - ${Name}Module() + ${SanitizedCppName}Module() : AZ::Module() { // Push results of [MyComponent]::CreateDescriptor() into m_descriptors here. m_descriptors.insert(m_descriptors.end(), { - ${Name}SystemComponent::CreateDescriptor(), + ${SanitizedCppName}SystemComponent::CreateDescriptor(), }); } @@ -41,10 +41,10 @@ namespace ${Name} AZ::ComponentTypeList GetRequiredSystemComponents() const override { return AZ::ComponentTypeList{ - azrtti_typeid<${Name}SystemComponent>(), + azrtti_typeid<${SanitizedCppName}SystemComponent>(), }; } }; -}// namespace ${Name} +}// namespace ${SanitizedCppName} -AZ_DECLARE_MODULE_CLASS(Gem_${Name}, ${Name}::${Name}Module) +AZ_DECLARE_MODULE_CLASS(Gem_${SanitizedCppName}, ${SanitizedCppName}::${SanitizedCppName}Module) diff --git a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp index 1e505f743c..82f7d7d17b 100644 --- a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp +++ b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp @@ -18,19 +18,19 @@ #include "${Name}SystemComponent.h" -namespace ${Name} +namespace ${SanitizedCppName} { - void ${Name}SystemComponent::Reflect(AZ::ReflectContext* context) + void ${SanitizedCppName}SystemComponent::Reflect(AZ::ReflectContext* context) { if (AZ::SerializeContext* serialize = azrtti_cast(context)) { - serialize->Class<${Name}SystemComponent, AZ::Component>() + serialize->Class<${SanitizedCppName}SystemComponent, AZ::Component>() ->Version(0) ; if (AZ::EditContext* ec = serialize->GetEditContext()) { - ec->Class<${Name}SystemComponent>("${Name}", "[Description of functionality provided by this System Component]") + ec->Class<${SanitizedCppName}SystemComponent>("${SanitizedCppName}", "[Description of functionality provided by this System Component]") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("System")) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) @@ -39,37 +39,37 @@ namespace ${Name} } } - void ${Name}SystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) + void ${SanitizedCppName}SystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) { - provided.push_back(AZ_CRC("${Name}Service")); + provided.push_back(AZ_CRC("${SanitizedCppName}Service")); } - void ${Name}SystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible) + void ${SanitizedCppName}SystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible) { - incompatible.push_back(AZ_CRC("${Name}Service")); + incompatible.push_back(AZ_CRC("${SanitizedCppName}Service")); } - void ${Name}SystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) + void ${SanitizedCppName}SystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required) { AZ_UNUSED(required); } - void ${Name}SystemComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) + void ${SanitizedCppName}SystemComponent::GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent) { AZ_UNUSED(dependent); } - void ${Name}SystemComponent::Init() + void ${SanitizedCppName}SystemComponent::Init() { } - void ${Name}SystemComponent::Activate() + void ${SanitizedCppName}SystemComponent::Activate() { - ${Name}RequestBus::Handler::BusConnect(); + ${SanitizedCppName}RequestBus::Handler::BusConnect(); } - void ${Name}SystemComponent::Deactivate() + void ${SanitizedCppName}SystemComponent::Deactivate() { - ${Name}RequestBus::Handler::BusDisconnect(); + ${SanitizedCppName}RequestBus::Handler::BusDisconnect(); } } diff --git a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.h b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.h index 39ccbda549..4df74027be 100644 --- a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.h +++ b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.h @@ -18,14 +18,14 @@ #include <${Name}/${Name}Bus.h> -namespace ${Name} +namespace ${SanitizedCppName} { - class ${Name}SystemComponent + class ${SanitizedCppName}SystemComponent : public AZ::Component - , protected ${Name}RequestBus::Handler + , protected ${SanitizedCppName}RequestBus::Handler { public: - AZ_COMPONENT(${Name}SystemComponent, "${SysCompClassId}"); + AZ_COMPONENT(${SanitizedCppName}SystemComponent, "${SysCompClassId}"); static void Reflect(AZ::ReflectContext* context); @@ -36,7 +36,7 @@ namespace ${Name} protected: //////////////////////////////////////////////////////////////////////// - // ${Name}RequestBus interface implementation + // ${SanitizedCppName}RequestBus interface implementation //////////////////////////////////////////////////////////////////////// diff --git a/scripts/o3de/o3de/engine_template.py b/scripts/o3de/o3de/engine_template.py index 9bb62eff35..05d6c5f8b9 100755 --- a/scripts/o3de/o3de/engine_template.py +++ b/scripts/o3de/o3de/engine_template.py @@ -1232,10 +1232,12 @@ def create_from_template(destination_path: str, with_this = replace.pop(0) replacements.append((replace_this, with_this)) + sanitized_cpp_name = utils.sanitize_identifier_for_cpp(destination_name) # dst name is Name replacements.append(("${Name}", destination_name)) replacements.append(("${NameUpper}", destination_name.upper())) replacements.append(("${NameLower}", destination_name.lower())) + replacements.append(("${SanitizedCppName}", sanitized_cpp_name)) if _instantiate_template(template_json_data, destination_name, @@ -1536,10 +1538,12 @@ def create_project(project_path: str, with_this = replace.pop(0) replacements.append((replace_this, with_this)) + sanitized_cpp_name = utils.sanitize_identifier_for_cpp(project_name) # project name replacements.append(("${Name}", project_name)) replacements.append(("${NameUpper}", project_name.upper())) replacements.append(("${NameLower}", project_name.lower())) + replacements.append(("${SanitizedCppName}", sanitized_cpp_name)) # module id is a uuid with { and - if module_id: @@ -1927,10 +1931,13 @@ def create_gem(gem_path: str, with_this = replace.pop(0) replacements.append((replace_this, with_this)) + sanitized_cpp_name = utils.sanitize_identifier_for_cpp(gem_name) # gem name replacements.append(("${Name}", gem_name)) replacements.append(("${NameUpper}", gem_name.upper())) replacements.append(("${NameLower}", gem_name.lower())) + replacements.append(("${SanitizedCppName}", sanitized_cpp_name)) + # module id is a uuid with { and - if module_id: diff --git a/scripts/o3de/o3de/utils.py b/scripts/o3de/o3de/utils.py index 4330de25b8..6bb536f0fd 100755 --- a/scripts/o3de/o3de/utils.py +++ b/scripts/o3de/o3de/utils.py @@ -36,6 +36,26 @@ def validate_identifier(identifier: str) -> bool: return True +def sanitize_identifier_for_cpp(identifier: str) -> str: + """ + Convert the provided identifier to a valid C++ identifier + :param identifier: the name which needs to to sanitized + :return: str: sanitized identifier + """ + if not identifier: + return '' + + sanitized_identifier = list(identifier) + if not (sanitized_identifier[0].isalpha() or sanitized_identifier[0] == '_'): + sanitized_identifier.insert(0, '_') + + for index, character in enumerate(sanitized_identifier): + if not (character.isalnum() or character == '_'): + sanitized_identifier[index] = '_' + + return "".join(sanitized_identifier) + + def validate_uuid4(uuid_string: str) -> bool: """ Determine if the uuid supplied is valid. From 3b249844d538cf10479eee5d869e50c8f225e353 Mon Sep 17 00:00:00 2001 From: moudgils Date: Thu, 10 Jun 2021 11:02:45 -0700 Subject: [PATCH 100/205] Minor formatting cleanup --- .../PostProcessing/LuminanceHeatmap.azsl | 2 +- .../Metal/Code/Source/RHI/ArgumentBuffer.cpp | 28 +++++++++++++----- .../Metal/Code/Source/RHI/ArgumentBuffer.h | 2 +- .../RHI/Metal/Code/Source/RHI/CommandList.cpp | 29 +++++++++++++++---- 4 files changed, 47 insertions(+), 14 deletions(-) diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl index 4559b6c9ef..4238392004 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHeatmap.azsl @@ -1,4 +1,4 @@ - /* +/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp index 068bc5f162..680481d417 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp @@ -399,13 +399,17 @@ namespace AZ { if(RHI::CheckBitsAny(srgResourcesVisInfo.m_constantDataStageMask, RHI::ShaderStageMask::Compute)) { - resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArray[resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArrayLen++] = m_constantBuffer.GetGpuAddress>(); + uint16_t arrayIndex = resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArrayLen; + resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArray[arrayIndex] = m_constantBuffer.GetGpuAddress>(); + resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArrayLen++; } else { MTLRenderStages mtlRenderStages = GetRenderStages(srgResourcesVisInfo.m_constantDataStageMask); AZStd::pair key = AZStd::make_pair(MTLResourceUsageRead, mtlRenderStages); - resourcesToMakeResidentGraphics[key].m_resourceArray[resourcesToMakeResidentGraphics[key].m_resourceArrayLen++] = m_constantBuffer.GetGpuAddress>(); + uint16_t arrayIndex = resourcesToMakeResidentGraphics[key].m_resourceArrayLen; + resourcesToMakeResidentGraphics[key].m_resourceArray[arrayIndex] = m_constantBuffer.GetGpuAddress>(); + resourcesToMakeResidentGraphics[key].m_resourceArrayLen++; } } } @@ -451,7 +455,9 @@ namespace AZ } } - void ArgumentBuffer::CollectResourcesForCompute(id encoder, const ResourceBindingsSet& resourceBindingDataSet, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const + void ArgumentBuffer::CollectResourcesForCompute(id encoder, + const ResourceBindingsSet& resourceBindingDataSet, + ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const { for (const auto& resourceBindingData : resourceBindingDataSet) { @@ -474,11 +480,16 @@ namespace AZ AZ_Assert(false, "Undefined Resource type"); } } - resourcesToMakeResidentMap[resourceUsage].m_resourceArray[resourcesToMakeResidentMap[resourceUsage].m_resourceArrayLen++] = resourceBindingData.m_resourcPtr->GetGpuAddress>(); + uint16_t arrayIndex = resourcesToMakeResidentMap[resourceUsage].m_resourceArrayLen; + resourcesToMakeResidentMap[resourceUsage].m_resourceArray[arrayIndex] = resourceBindingData.m_resourcPtr->GetGpuAddress>(); + resourcesToMakeResidentMap[resourceUsage].m_resourceArrayLen++; } } - void ArgumentBuffer::CollectResourcesForGraphics(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet, GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const + void ArgumentBuffer::CollectResourcesForGraphics(id encoder, + RHI::ShaderStageMask visShaderMask, + const ResourceBindingsSet& resourceBindingDataSet, + GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const { MTLRenderStages mtlRenderStages = GetRenderStages(visShaderMask); @@ -503,8 +514,11 @@ namespace AZ AZ_Assert(false, "Undefined Resource type"); } } - AZStd::pair key = AZStd::make_pair(resourceUsage, mtlRenderStages); - resourcesToMakeResidentMap[key].m_resourceArray[resourcesToMakeResidentMap[key].m_resourceArrayLen++] = resourceBindingData.m_resourcPtr->GetGpuAddress>(); + + AZStd::pair key = AZStd::make_pair(resourceUsage, mtlRenderStages); + uint16_t arrayIndex = resourcesToMakeResidentMap[key].m_resourceArrayLen; + resourcesToMakeResidentMap[key].m_resourceArray[arrayIndex] = resourceBindingData.m_resourcPtr->GetGpuAddress>(); + resourcesToMakeResidentMap[key].m_resourceArrayLen++; } } } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h index 7cc77ae478..0825c07654 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h @@ -123,7 +123,7 @@ namespace AZ struct MetalResourceArray { AZStd::array, MaxEntriesInArgTable> m_resourceArray; - int m_resourceArrayLen = 0; + uint16_t m_resourceArrayLen = 0; }; //Map to cache all the resources based on the usage as we can batch all the resources for a given usage using ComputeResourcesToMakeResidentMap = AZStd::unordered_map; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp index 5546be1bd9..7f65c9ea47 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.cpp @@ -347,18 +347,35 @@ namespace AZ //For graphics and compute encoder bind all the argument buffers if(m_commandEncoderType == CommandEncoderType::Render) { - BindArgumentBuffers(RHI::ShaderStage::Vertex, bufferVertexRegisterIdMin, bufferVertexRegisterIdMax, mtlVertexArgBuffers, mtlVertexArgBufferOffsets); - BindArgumentBuffers(RHI::ShaderStage::Fragment, bufferFragmentOrComputeRegisterIdMin, bufferFragmentOrComputeRegisterIdMax, mtlFragmentOrComputeArgBuffers, mtlFragmentOrComputeArgBufferOffsets); + BindArgumentBuffers(RHI::ShaderStage::Vertex, + bufferVertexRegisterIdMin, + bufferVertexRegisterIdMax, + mtlVertexArgBuffers, + mtlVertexArgBufferOffsets); + + BindArgumentBuffers(RHI::ShaderStage::Fragment, + bufferFragmentOrComputeRegisterIdMin, + bufferFragmentOrComputeRegisterIdMax, + mtlFragmentOrComputeArgBuffers, + mtlFragmentOrComputeArgBufferOffsets); } else if(m_commandEncoderType == CommandEncoderType::Compute) { - BindArgumentBuffers(RHI::ShaderStage::Compute, bufferFragmentOrComputeRegisterIdMin, bufferFragmentOrComputeRegisterIdMax, mtlFragmentOrComputeArgBuffers, mtlFragmentOrComputeArgBufferOffsets); + BindArgumentBuffers(RHI::ShaderStage::Compute, + bufferFragmentOrComputeRegisterIdMin, + bufferFragmentOrComputeRegisterIdMax, + mtlFragmentOrComputeArgBuffers, + mtlFragmentOrComputeArgBufferOffsets); } return true; } - void CommandList::BindArgumentBuffers(RHI::ShaderStage shaderStage, uint16_t registerIdMin, uint16_t registerIdMax, MetalArgumentBufferArray& mtlArgBuffers, MetalArgumentBufferArrayOffsets mtlArgBufferOffsets) + void CommandList::BindArgumentBuffers(RHI::ShaderStage shaderStage, + uint16_t registerIdMin, + uint16_t registerIdMax, + MetalArgumentBufferArray& mtlArgBuffers, + MetalArgumentBufferArrayOffsets mtlArgBufferOffsets) { //Metal Api only lets you bind multiple argument buffers in an array as long as there are no gaps in the array //In order to accomodate that we break up the calls when a gap is noticed in the array and reconfigure the NSRange. @@ -609,7 +626,9 @@ namespace AZ } } id renderEncoder = GetEncoder>(); - [renderEncoder setVertexBuffers: mtlStreamBuffers.data() offsets: mtlStreamBufferOffsets.data() withRange: range]; + [renderEncoder setVertexBuffers: mtlStreamBuffers.data() + offsets: mtlStreamBufferOffsets.data() + withRange: range]; } } From b2bafc44aba56d80868b9976b10d04a7312d72bf Mon Sep 17 00:00:00 2001 From: Steve Pham <82231385+spham-amzn@users.noreply.github.com> Date: Thu, 10 Jun 2021 11:04:18 -0700 Subject: [PATCH 101/205] LYN-2705: Remove 'AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS' trait for Linux (#1235) * Fix Delete_Real_Readonly_Fails to mark parent directory as read-only as well Read-only files in Windows cannot be deleted. The previous version of this code relied on that fact, and would attempt to delete a file even when `skipReadOnly = true`, relying on the OS to refuse to delete the file if it is read only. On Linux, it is the writable state of the *directory* that determines if a file can be deleted or not. This fixes the test to set up the correct situation where a file deletion would fail. * Remove excluded items from a vector before iterating over it Removing items from the `pathMatches` `QStringList` while iterating over it was causing a segfault on Linux. This change separates out the item removal from the item iteration, which allows the item iteration loop to use a range-for loop instead of directly manipulating iterators. * Remove invalid test that asserts a file's metadata file can have differing file casing This test is asserting that a given source file and its accompanying metadata file can have the the same name but differing case. This is really testing whether or not the underlying filesystem that those files live on is case sensitive or not. The 99% chance is that users are using the default filesystem that their host OS gives them, NTFS on Windows, EXT* on Linux, and APFS on Mac. Even though NTFS is case-insensitive by default, it [can be configured per-directory](https://devblogs.microsoft.com/commandline/improved-per-directory-case-sensitivity-support-in-wsl/). APFS as well can be configured to be case-sensitive. For users with case sensitive filesystems, this test makes no sense. We could extend this test to inspect the case-sensitivity of the underlying filesystem, but then it is just testing the filesystem's behavior, which seems out of scope of this test. * Use a non-priviliged port for the Asset Processor tests From https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html: > The TCP/IP port numbers below 1024 are special in that normal users are not > allowed to run servers on them. This is a security feaure, in that if you > connect to a service on one of these ports you can be fairly sure that you > have the real thing, and not a fake which some hacker has put up for you. > > When you run a server as a test from a non-priviliged account, you will > normally test it on other ports, such as 2784, 5000, 8001 or 8080. * Fix for `QDir::rmdir(".")` not working in Linux Qt uses `::rmdir` to remove directories on Linux. This comes from [unistd.h](https://pubs.opengroup.org/onlinepubs/007904875/functions/rmdir.html) The documentation for that function states: > If the path argument refers to a path whose final component is either dot > or dot-dot, rmdir() shall fail. So calling `dir.rmdir(".")` will never work on Linux. Instead, get the parent directory, and remove the child directory by name. * Avoid lowercasing source asset paths when resolving dependencies Source asset paths may be case sensitive, so their case must be preserved when doing operations that hit the underlying filesystem. This method was always lowercasing them, which would cause dependencies to not be found. * Correct test to expect product filenames to be lowercase The modtime tests were failing in Linux due to something unrelated to file modtime checking. The Asset Processor Manager does this during AnalyzeJob: ``` if (foundInDatabase && jobs[0].m_fingerprint == jobDetails.m_jobEntry.m_computedFingerprint) { // If the fingerprint hasn't changed, we won't process it.. unless...is it missing a product. ``` In this case, the test was setting up a product whose file case was the same as the source asset, and would write it to the cache dir using mixed case, but use the normal asset processor API to write the product file path to the database, which recorded the path in lowercase. When the manager then went to check if the source asset's products all exist, it checked the lowercase path, which didn't exist. This fixes that test failure, by updating the test to write the product file to the cache using the proper lowercased path. * Update test to define a "not current platform" for Linux This test was failing because it was setting some "not current platform" variable to be set to "pc" on Linux, when `AssetSystem::GetHostAssetPlatform()` is defined to: ```cpp inline const char* GetHostAssetPlatform() { return "mac"; return "pc"; // set this to pc because that's what bootstrap.cfg currently defines the platform to "pc", even on Linux return "pc"; #error Unimplemented Host Asset Platform } ``` The test would go on to assert that "pc" was simultaneously in a list and not in the same list. This fixes the test by updating the code to set the "not the current platform" variable appropriately on Linux. The expectations were also updated to improve the output on test failure. Instead of this: ``` Value of: recogs["rend"].m_platformSpecs.contains(platformWhichIsNotCurrentPlatform) Actual: true Expected: false ``` You now get this: ``` Value of: recogs["rend"].m_platformSpecs.keys() Expected: (has 3 elements and there exists some permutation of elements such that: - element #0 is equal to pc, and - element #1 is equal to es3, and - element #2 is equal to server) and (doesn't contain any element that is equal to pc) Actual: { pc, server, es3 } (of type QList), whose element #0 matches ``` * Prevent windows supported path separators to be included in the test paths for UpdateToCorrectCase_ExistingFile_ReturnsTrue_CorrectsCase * Fix failing linux unit test "PlatformConfigurationUnitTests.TestFailReadConfigFile_RegularScanfolder" caused by static variable not being reset from a different test run when using AssetUtilities::ComputeProjectPath * Fix AZ_RTTI declaration for RequestEscalateAsset Message * Implement FileWatcher for Linux to fix AssetProcessorMessages.All test (RequestAssetStatus) * Split AssetProcessorMessages into 2 tests, one with RequestAssetStatus/ResponseAssetStatus and one without Add The RequestAssetStatus/ResponseAssetStatus as a sandbox test because it relies on FileWatcher thread and seems to be timing related * Remove FileWatcher_win.cpp from the Linux specific folder for FileWatcher * - Fix build error related to non-unity builds - Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/UtilitiesUnitTest' caused by misplaced windows only EXPECT - Remove test trait AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS for linux to expose remaining failed tests * Fixed failed linux test 'Test/LegacyTestAdapter.AllTests/RCcontrollerUnitTests' caused by misplaced windows only EXPECT * - Fix FileWatcher unit test, disable incompatible subtests for Linux - Fix errors in FileWatcher_linux from results of the FileWatcher Unit Test * Remove AZ::AssetProcessor.Tests.Sandbox tests from definition and restore the original AssetProcessorMessages.All tests now that Filewatcher_linux was fixed * Fixes for failed unit tests: AssetProcessorManagerUnitTests and AssetProcessorManagerUnitTests_JobDependencies_Fingerprint - Caused by differences between between case-sensitive files (Linux) and non-case-sensitive Filesystems (Windows) * Update consts in FileWatcher_linux.cpp to constexpr * Fixes related to PR comment suggestions * - Removed std::bind and replaced with lambda in FileWatcher_linux - Replaced String replace functions for path separators to use AZ::IO::Path::LexicallyNormal() instead * Restoring string replace function in PathDependencyManager::ResolveDependencies due to unit test failure Co-authored-by: Chris Burel --- .../Asset/AssetProcessorMessages.h | 2 +- .../Platform/Linux/AzTest_Traits_Linux.h | 2 +- Code/Tools/AssetProcessor/CMakeLists.txt | 3 +- .../native/FileWatcher/FileWatcher_linux.cpp | 197 +++++++++++++++++- .../native/FileWatcher/FileWatcher_win.cpp | 134 ------------ .../AssetManager/PathDependencyManager.cpp | 6 +- .../AssetManager/SourceFileRelocator.cpp | 57 +++-- .../AssetManager/assetProcessorManager.cpp | 5 +- .../tests/AssetProcessorMessagesTests.cpp | 15 +- .../native/tests/SourceFileRelocatorTests.cpp | 58 +++--- .../AssetProcessorManagerTest.cpp | 44 +--- .../platformconfigurationtests.cpp | 94 ++++----- .../native/tests/utilities/assetUtilsTest.cpp | 3 + .../AssetProcessorManagerUnitTests.cpp | 44 +++- .../native/unittests/FileWatcherUnitTests.cpp | 21 +- .../unittests/RCcontrollerUnitTests.cpp | 5 +- .../native/unittests/UtilitiesUnitTests.cpp | 3 +- .../native/utilities/assetUtils.cpp | 7 +- .../native/utilities/assetUtils.h | 3 +- 19 files changed, 375 insertions(+), 328 deletions(-) delete mode 100644 Code/Tools/AssetProcessor/Platform/Linux/native/FileWatcher/FileWatcher_win.cpp diff --git a/Code/Framework/AzFramework/AzFramework/Asset/AssetProcessorMessages.h b/Code/Framework/AzFramework/AzFramework/Asset/AssetProcessorMessages.h index c15f75e3e7..f4ef1a1ca2 100644 --- a/Code/Framework/AzFramework/AzFramework/Asset/AssetProcessorMessages.h +++ b/Code/Framework/AzFramework/AzFramework/Asset/AssetProcessorMessages.h @@ -166,7 +166,7 @@ namespace AzFramework { public: AZ_CLASS_ALLOCATOR(RequestEscalateAsset, AZ::OSAllocator, 0); - AZ_RTTI(RequestAssetStatus, "{E95C5422-5F00-478B-A984-C041DE70484F}", BaseAssetProcessorMessage); + AZ_RTTI(RequestEscalateAsset, "{E95C5422-5F00-478B-A984-C041DE70484F}", BaseAssetProcessorMessage); static void Reflect(AZ::ReflectContext* context); static constexpr unsigned int MessageType = AZ_CRC("AssetSystem::RequestEscalateAsset", 0x1894d94e); diff --git a/Code/Framework/AzTest/AzTest/Platform/Linux/AzTest_Traits_Linux.h b/Code/Framework/AzTest/AzTest/Platform/Linux/AzTest_Traits_Linux.h index 855b4fe416..64816f75b2 100644 --- a/Code/Framework/AzTest/AzTest/Platform/Linux/AzTest_Traits_Linux.h +++ b/Code/Framework/AzTest/AzTest/Platform/Linux/AzTest_Traits_Linux.h @@ -22,7 +22,7 @@ #define AZ_TRAIT_DISABLE_FAILED_AP_CONNECTION_TESTS true #define AZ_TRAIT_DISABLE_FAILED_ASSET_LOAD_TESTS true -#define AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS true + #define AZ_TRAIT_DISABLE_FAILED_ATOM_RPI_TESTS true #define AZ_TRAIT_DISABLE_FAILED_ARCHIVE_TESTS true #define AZ_TRAIT_DISABLE_FAILED_ZERO_COLOR_CONVERSION_TEST true diff --git a/Code/Tools/AssetProcessor/CMakeLists.txt b/Code/Tools/AssetProcessor/CMakeLists.txt index 2db888218b..5e5ede1397 100644 --- a/Code/Tools/AssetProcessor/CMakeLists.txt +++ b/Code/Tools/AssetProcessor/CMakeLists.txt @@ -259,8 +259,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) ly_add_googletest( NAME AZ::AssetProcessor.Tests - TEST_COMMAND $ --unittest + TEST_COMMAND $ --unittest --gtest_filter=-*.SUITE_sandbox* ) - endif() diff --git a/Code/Tools/AssetProcessor/Platform/Linux/native/FileWatcher/FileWatcher_linux.cpp b/Code/Tools/AssetProcessor/Platform/Linux/native/FileWatcher/FileWatcher_linux.cpp index 5029db6603..6e71897ab7 100644 --- a/Code/Tools/AssetProcessor/Platform/Linux/native/FileWatcher/FileWatcher_linux.cpp +++ b/Code/Tools/AssetProcessor/Platform/Linux/native/FileWatcher/FileWatcher_linux.cpp @@ -11,9 +11,127 @@ */ #include +#include +#include +#include + +#include +#include + + +static constexpr int s_handleToFolderMapLockTimeout = 1000; // 1 sec timeout for obtaining the handle to folder map lock +static constexpr size_t s_iNotifyMaxEntries = 1024 * 16; // Control the maximum number of entries (from inotify) that can be read at one time +static constexpr size_t s_iNotifyEventSize = sizeof(struct inotify_event); +static constexpr size_t s_iNotifyReadBufferSize = s_iNotifyMaxEntries * s_iNotifyEventSize; + struct FolderRootWatch::PlatformImplementation { - PlatformImplementation() { } + PlatformImplementation() = default; + + int m_iNotifyHandle = -1; + QMutex m_handleToFolderMapLock; + QHash m_handleToFolderMap; + + bool Initialize() + { + if (m_iNotifyHandle < 0) + { + m_iNotifyHandle = inotify_init(); + } + return (m_iNotifyHandle >= 0); + } + + void Finalize() + { + if (m_iNotifyHandle >= 0) + { + if (!m_handleToFolderMapLock.tryLock(s_handleToFolderMapLockTimeout)) + { + AZ_Error("FileWatcher", false, "Unable to obtain inotify handle lock on thread"); + return; + } + + QHashIterator iter(m_handleToFolderMap); + while (iter.hasNext()) + { + iter.next(); + int watchHandle = iter.key(); + inotify_rm_watch(m_iNotifyHandle, watchHandle); + } + m_handleToFolderMap.clear(); + m_handleToFolderMapLock.unlock(); + + ::close(m_iNotifyHandle); + m_iNotifyHandle = -1; + } + } + + void AddWatchFolder(QString folder) + { + if (m_iNotifyHandle >= 0) + { + // Clean up the path before accepting it as a watch folder + QString cleanPath = QDir::cleanPath(folder); + + // Add the folder to watch and track it + int watchHandle = inotify_add_watch(m_iNotifyHandle, + cleanPath.toUtf8().constData(), + IN_CREATE | IN_CLOSE_WRITE | IN_DELETE | IN_DELETE_SELF | IN_MODIFY); + + if (!m_handleToFolderMapLock.tryLock(s_handleToFolderMapLockTimeout)) + { + AZ_Error("FileWatcher", false, "Unable to obtain inotify handle lock on thread"); + return; + } + m_handleToFolderMap[watchHandle] = cleanPath; + m_handleToFolderMapLock.unlock(); + + // Add all the subfolders to watch and track them + QDirIterator dirIter(folder, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + + while (dirIter.hasNext()) + { + QString dirName = dirIter.next(); + if (dirName.endsWith("/.") || dirName.endsWith("/..")) + { + continue; + } + + int watchHandle = inotify_add_watch(m_iNotifyHandle, + dirName.toUtf8().constData(), + IN_CREATE | IN_CLOSE_WRITE | IN_DELETE | IN_DELETE_SELF | IN_MODIFY); + + if (!m_handleToFolderMapLock.tryLock(s_handleToFolderMapLockTimeout)) + { + AZ_Error("FileWatcher", false, "Unable to obtain inotify handle lock on thread"); + return; + } + m_handleToFolderMap[watchHandle] = dirName; + m_handleToFolderMapLock.unlock(); + } + } + } + + void RemoveWatchFolder(int watchHandle) + { + if (m_iNotifyHandle >= 0) + { + if (!m_handleToFolderMapLock.tryLock(s_handleToFolderMapLockTimeout)) + { + AZ_Error("FileWatcher", false, "Unable to obtain inotify handle lock on thread"); + return; + } + + QHash::iterator handleToRemove = m_handleToFolderMap.find(watchHandle); + if (handleToRemove != m_handleToFolderMap.end()) + { + inotify_rm_watch(m_iNotifyHandle, watchHandle); + m_handleToFolderMap.erase(handleToRemove); + } + + m_handleToFolderMapLock.unlock(); + } + } }; ////////////////////////////////////////////////////////////////////////////// @@ -36,17 +154,86 @@ FolderRootWatch::~FolderRootWatch() bool FolderRootWatch::Start() { - // TODO: Implement for Linux - return false; + // inotify will be used by linux to monitor file changes within directories under the root folder + if (!m_platformImpl->Initialize()) + { + return false; + } + m_platformImpl->AddWatchFolder(m_root); + + m_shutdownThreadSignal = false; + m_thread = std::thread([this]() { WatchFolderLoop(); }); + return true; } void FolderRootWatch::Stop() { - // TODO: Implement for Linux + m_shutdownThreadSignal = true; + + m_platformImpl->Finalize(); + + if (m_thread.joinable()) + { + m_thread.join(); // wait for the thread to finish + m_thread = std::thread(); //destroy + } } + void FolderRootWatch::WatchFolderLoop() { - // TODO: Implement for Linux + char eventBuffer[s_iNotifyReadBufferSize]; + while (!m_shutdownThreadSignal) + { + ssize_t bytesRead = ::read(m_platformImpl->m_iNotifyHandle, eventBuffer, s_iNotifyReadBufferSize); + if (bytesRead < 0) + { + // Break out of the loop when the notify handle was closed (outside of this thread) + break; + } + else if (bytesRead > 0) + { + for (size_t index=0; indexname; + + if (event->mask & (IN_CREATE | IN_DELETE | IN_MODIFY | IN_MOVE )) + { + QString pathStr = QString("%1%2%3").arg(m_platformImpl->m_handleToFolderMap[event->wd], QDir::separator(), event->name); + + if (event->mask & (IN_CREATE | IN_MOVED_TO)) + { + if ( event->mask & IN_ISDIR ) + { + // New Directory, add it to the watch + m_platformImpl->AddWatchFolder(pathStr); + } + else + { + ProcessNewFileEvent(pathStr); + } + } + else if (event->mask & (IN_DELETE | IN_MOVED_FROM)) + { + if (event->mask & IN_ISDIR) + { + // Directory Deleted, remove it from the watch + m_platformImpl->RemoveWatchFolder(event->wd); + } + else + { + ProcessDeleteFileEvent(pathStr); + } + } + else if ((event->mask & IN_MODIFY) && ((event->mask & IN_ISDIR) != IN_ISDIR)) + { + ProcessModifyFileEvent(pathStr); + } + } + index += s_iNotifyEventSize + event->len; + } + } + } } diff --git a/Code/Tools/AssetProcessor/Platform/Linux/native/FileWatcher/FileWatcher_win.cpp b/Code/Tools/AssetProcessor/Platform/Linux/native/FileWatcher/FileWatcher_win.cpp deleted file mode 100644 index fbcfe140fd..0000000000 --- a/Code/Tools/AssetProcessor/Platform/Linux/native/FileWatcher/FileWatcher_win.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#include - -#include - -struct FolderRootWatch::PlatformImplementation -{ - PlatformImplementation() : m_directoryHandle(nullptr), m_ioHandle(nullptr) { } - HANDLE m_directoryHandle; - HANDLE m_ioHandle; -}; - -////////////////////////////////////////////////////////////////////////////// -/// FolderWatchRoot -FolderRootWatch::FolderRootWatch(const QString rootFolder) - : m_root(rootFolder) - , m_shutdownThreadSignal(false) - , m_fileWatcher(nullptr) - , m_platformImpl(new PlatformImplementation()) -{ -} - -FolderRootWatch::~FolderRootWatch() -{ - // Destructor is required in here since this file contains the definition of struct PlatformImplementation - Stop(); - - delete m_platformImpl; -} - -bool FolderRootWatch::Start() -{ - m_platformImpl->m_directoryHandle = ::CreateFileW(m_root.toStdWString().data(), FILE_LIST_DIRECTORY, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED, nullptr); - - if (m_platformImpl->m_directoryHandle != INVALID_HANDLE_VALUE) - { - m_platformImpl->m_ioHandle = ::CreateIoCompletionPort(m_platformImpl->m_directoryHandle, nullptr, 1, 0); - if (m_platformImpl->m_ioHandle != INVALID_HANDLE_VALUE) - { - m_shutdownThreadSignal = false; - m_thread = std::thread(std::bind(&FolderRootWatch::WatchFolderLoop, this)); - return true; - } - } - return false; -} - -void FolderRootWatch::Stop() -{ - m_shutdownThreadSignal = true; - CloseHandle(m_platformImpl->m_ioHandle); - m_platformImpl->m_ioHandle = nullptr; - - if (m_thread.joinable()) - { - m_thread.join(); // wait for the thread to finish - m_thread = std::thread(); //destroy - } - CloseHandle(m_platformImpl->m_directoryHandle); - m_platformImpl->m_directoryHandle = nullptr; -} - -void FolderRootWatch::WatchFolderLoop() -{ - FILE_NOTIFY_INFORMATION aFileNotifyInformationList[50000]; - QString path; - OVERLAPPED aOverlapped; - LPOVERLAPPED pOverlapped; - DWORD dwByteCount; - ULONG_PTR ulKey; - - while (!m_shutdownThreadSignal) - { - ::memset(aFileNotifyInformationList, 0, sizeof(aFileNotifyInformationList)); - ::memset(&aOverlapped, 0, sizeof(aOverlapped)); - - if (::ReadDirectoryChangesW(m_platformImpl->m_directoryHandle, aFileNotifyInformationList, sizeof(aFileNotifyInformationList), true, FILE_NOTIFY_CHANGE_LAST_WRITE | FILE_NOTIFY_CHANGE_DIR_NAME | FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_FILE_NAME, nullptr, &aOverlapped, nullptr)) - { - //wait for up to a second for I/O to signal - dwByteCount = 0; - if (::GetQueuedCompletionStatus(m_platformImpl->m_ioHandle, &dwByteCount, &ulKey, &pOverlapped, INFINITE)) - { - //if we are signaled to shutdown bypass - if (!m_shutdownThreadSignal && ulKey) - { - if (dwByteCount) - { - int offset = 0; - FILE_NOTIFY_INFORMATION* pFileNotifyInformation = aFileNotifyInformationList; - do - { - pFileNotifyInformation = (FILE_NOTIFY_INFORMATION*)((char*)pFileNotifyInformation + offset); - - path.clear(); - path.append(m_root); - path.append(QString::fromWCharArray(pFileNotifyInformation->FileName, pFileNotifyInformation->FileNameLength / 2)); - - QString file = QDir::toNativeSeparators(QDir::cleanPath(path)); - - switch (pFileNotifyInformation->Action) - { - case FILE_ACTION_ADDED: - case FILE_ACTION_RENAMED_NEW_NAME: - ProcessNewFileEvent(file); - break; - case FILE_ACTION_REMOVED: - case FILE_ACTION_RENAMED_OLD_NAME: - ProcessDeleteFileEvent(file); - break; - case FILE_ACTION_MODIFIED: - ProcessModifyFileEvent(file); - break; - } - - offset = pFileNotifyInformation->NextEntryOffset; - } while (offset); - } - } - } - } - } -} - diff --git a/Code/Tools/AssetProcessor/native/AssetManager/PathDependencyManager.cpp b/Code/Tools/AssetProcessor/native/AssetManager/PathDependencyManager.cpp index de8bde9b05..2345c9e285 100644 --- a/Code/Tools/AssetProcessor/native/AssetManager/PathDependencyManager.cpp +++ b/Code/Tools/AssetProcessor/native/AssetManager/PathDependencyManager.cpp @@ -445,10 +445,10 @@ namespace AssetProcessor bool isExcludedDependency = dependencyPathSearch.starts_with(ExcludedDependenciesSymbol); dependencyPathSearch = isExcludedDependency ? dependencyPathSearch.substr(1) : dependencyPathSearch; bool isExactDependency = !AzFramework::StringFunc::Replace(dependencyPathSearch, '*', '%'); - SanitizeForDatabase(dependencyPathSearch); if (cleanedupDependency.m_dependencyType == AssetBuilderSDK::ProductPathDependencyType::ProductFile) { + SanitizeForDatabase(dependencyPathSearch); AzToolsFramework::AssetDatabase::ProductDatabaseEntryContainer productInfoContainer; QString productNameWithPlatform = QString("%1%2%3").arg(platform.c_str(), AZ_CORRECT_DATABASE_SEPARATOR_STRING, dependencyPathSearch.c_str()); @@ -508,6 +508,10 @@ namespace AssetProcessor } else { + // For source assets, the casing of the input path must be maintained. Just fix up the path separators. + AZStd::replace(dependencyPathSearch.begin(), dependencyPathSearch.end(), AZ_WRONG_DATABASE_SEPARATOR, AZ_CORRECT_DATABASE_SEPARATOR); + AzFramework::StringFunc::Replace(dependencyPathSearch, AZ_DOUBLE_CORRECT_DATABASE_SEPARATOR, AZ_CORRECT_DATABASE_SEPARATOR_STRING); + // See if path matches any source files AzToolsFramework::AssetDatabase::SourceDatabaseEntryContainer sourceInfoContainer; diff --git a/Code/Tools/AssetProcessor/native/AssetManager/SourceFileRelocator.cpp b/Code/Tools/AssetProcessor/native/AssetManager/SourceFileRelocator.cpp index 49c7ef7f20..c0300b2b2a 100644 --- a/Code/Tools/AssetProcessor/native/AssetManager/SourceFileRelocator.cpp +++ b/Code/Tools/AssetProcessor/native/AssetManager/SourceFileRelocator.cpp @@ -190,44 +190,55 @@ Please note that only those seed files will get updated that are active for your void SourceFileRelocator::HandleMetaDataFiles(QStringList pathMatches, QHash& sourceIndexMap, const ScanFolderInfo* scanFolderInfo, SourceFileRelocationContainer& metadataFiles, bool excludeMetaDataFiles) const { QSet metaDataFileEntries; - for (QString file : pathMatches) + + // Remove all the metadata files + if (excludeMetaDataFiles) + { + pathMatches.erase(AZStd::remove_if(pathMatches.begin(), pathMatches.end(), [this](const QString& file) + { + for (int idx = 0; idx < m_platformConfig->MetaDataFileTypesCount(); idx++) + { + const auto& [metadataType, extension] = m_platformConfig->GetMetaDataFileTypeAt(idx); + if (file.endsWith("." + metadataType, Qt::CaseInsensitive)) + { + AZ_TracePrintf(AssetProcessor::ConsoleChannel, "Metadata file %s will be ignored because --excludeMetadataFiles was specified in the command line.\n", + file.toUtf8().constData()); + return true; + } + } + return false; + }), + pathMatches.end()); + } + + for (const QString& file : pathMatches) { for (int idx = 0; idx < m_platformConfig->MetaDataFileTypesCount(); idx++) { - QPair metaInfo = m_platformConfig->GetMetaDataFileTypeAt(idx); - if (file.endsWith("." + metaInfo.first, Qt::CaseInsensitive)) + const auto& [metadataType, extension] = m_platformConfig->GetMetaDataFileTypeAt(idx); + if (file.endsWith("." + metadataType, Qt::CaseInsensitive)) { - //it is a metadata file - if (excludeMetaDataFiles) + const QString normalizedFilePath = AssetUtilities::NormalizeFilePath(file); + if (!metaDataFileEntries.contains(normalizedFilePath)) { - AZ_TracePrintf(AssetProcessor::ConsoleChannel, "Metadata file %s will be ignored because --excludeMetadataFiles was specified in the command line.\n", - file.toUtf8().constData()); - break; // don't check it against other metafile entries, we've already ascertained its a metafile. - } - else - { - QString normalizedFilePath = AssetUtilities::NormalizeFilePath(file); - if (metaDataFileEntries.find(normalizedFilePath) == metaDataFileEntries.end()) - { - SourceFileRelocationInfo metaDataFile(file.toUtf8().data(), scanFolderInfo); - metaDataFile.m_isMetaDataFile = true; - metadataFiles.emplace_back(metaDataFile); - metaDataFileEntries.insert(normalizedFilePath); - } + SourceFileRelocationInfo metaDataFile(file.toUtf8().data(), scanFolderInfo); + metaDataFile.m_isMetaDataFile = true; + metadataFiles.emplace_back(metaDataFile); + metaDataFileEntries.insert(normalizedFilePath); } } - else if (!excludeMetaDataFiles && (file.endsWith("." + metaInfo.second, Qt::CaseInsensitive) || metaInfo.second.isEmpty())) + else if (!excludeMetaDataFiles && (file.endsWith("." + extension, Qt::CaseInsensitive) || extension.isEmpty())) { // if we are here it implies that a metadata file might exists for this source file, // add metadata file only if it exists and is not added already AZStd::string metadataFilePath(file.toUtf8().data()); - if (metaInfo.second.isEmpty()) + if (extension.isEmpty()) { - metadataFilePath.append(AZStd::string::format(".%s", metaInfo.first.toUtf8().data())); + metadataFilePath.append(AZStd::string::format(".%s", metadataType.toUtf8().data())); } else { - AZ::StringFunc::Path::ReplaceExtension(metadataFilePath, metaInfo.first.toUtf8().data()); + AZ::StringFunc::Path::ReplaceExtension(metadataFilePath, metadataType.toUtf8().data()); }; // The metadata file can have a different case than the source file, diff --git a/Code/Tools/AssetProcessor/native/AssetManager/assetProcessorManager.cpp b/Code/Tools/AssetProcessor/native/AssetManager/assetProcessorManager.cpp index 47f79d9709..25ec36c888 100644 --- a/Code/Tools/AssetProcessor/native/AssetManager/assetProcessorManager.cpp +++ b/Code/Tools/AssetProcessor/native/AssetManager/assetProcessorManager.cpp @@ -1697,7 +1697,10 @@ namespace AssetProcessor if(productFileInfo.absoluteDir().entryList(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot).empty()) { - productFileInfo.absoluteDir().rmdir("."); + const QDir productDir = productFileInfo.absoluteDir(); + QDir parentDir = productDir; + parentDir.cdUp(); + successfullyRemoved &= parentDir.rmdir(productDir.dirName()); } if (successfullyRemoved) diff --git a/Code/Tools/AssetProcessor/native/tests/AssetProcessorMessagesTests.cpp b/Code/Tools/AssetProcessor/native/tests/AssetProcessorMessagesTests.cpp index 04949c82a9..8879697faa 100644 --- a/Code/Tools/AssetProcessor/native/tests/AssetProcessorMessagesTests.cpp +++ b/Code/Tools/AssetProcessor/native/tests/AssetProcessorMessagesTests.cpp @@ -28,7 +28,7 @@ namespace AssetProcessorMessagesTests using namespace AssetProcessor; using namespace AssetBuilderSDK; - static constexpr unsigned short AssetProcessorPort = static_cast(888u); + static constexpr unsigned short AssetProcessorPort{65535u}; class AssetProcessorMessages; @@ -85,7 +85,6 @@ namespace AssetProcessorMessagesTests public: void SetUp() override { -#if !AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS AssetUtilities::ResetGameName(); m_temporarySourceDir = QDir(m_temporaryDir.path()); @@ -166,12 +165,10 @@ namespace AssetProcessorMessagesTests }); -#endif // !AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS } void TearDown() override { -#if !AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS QEventLoop eventLoop; QObject::connect(m_batchApplicationManager->m_connectionManager, &ConnectionManager::ReadyToQuit, &eventLoop, &QEventLoop::quit); @@ -182,7 +179,6 @@ namespace AssetProcessorMessagesTests m_assetSystemComponent->Deactivate(); m_batchApplicationManager->Destroy(); -#endif // !AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS } void RunNetworkRequest(AZStd::function func) const @@ -207,6 +203,7 @@ namespace AssetProcessorMessagesTests thread.join(); } + protected: MockAssetRequestHandler* m_assetRequestHandler{}; // Not owned, AP will delete this pointer @@ -226,11 +223,7 @@ namespace AssetProcessorMessagesTests AZStd::unique_ptr m_response; }; -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - TEST_F(AssetProcessorMessages, DISABLED_All) -#else TEST_F(AssetProcessorMessages, All) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { // Test that we can successfully send network messages and have them arrive for processing // For messages that have a response, it also verifies the response comes back @@ -311,11 +304,7 @@ namespace AssetProcessorMessagesTests }); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - TEST_F(AssetProcessorMessages, DISABLED_GetUnresolvedProductReferences_Succeeds) -#else TEST_F(AssetProcessorMessages, GetUnresolvedProductReferences_Succeeds) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { using namespace AzToolsFramework::AssetDatabase; diff --git a/Code/Tools/AssetProcessor/native/tests/SourceFileRelocatorTests.cpp b/Code/Tools/AssetProcessor/native/tests/SourceFileRelocatorTests.cpp index 2731aa6c5a..e9f18a442a 100644 --- a/Code/Tools/AssetProcessor/native/tests/SourceFileRelocatorTests.cpp +++ b/Code/Tools/AssetProcessor/native/tests/SourceFileRelocatorTests.cpp @@ -112,7 +112,6 @@ namespace UnitTests SourceDatabaseEntry sourceFile8 = { m_data->m_scanFolder1.m_scanFolderID, "test.txt", AZ::Uuid::CreateRandom(), "AnalysisFingerprint" }; SourceDatabaseEntry sourceFile9 = { m_data->m_scanFolder1.m_scanFolderID, "duplicate/folder/file1.tif", AZ::Uuid::CreateRandom(), "AnalysisFingerprint" }; SourceDatabaseEntry sourceFile10 = { m_data->m_scanFolder1.m_scanFolderID, "folder/file.foo", AZ::Uuid::CreateRandom(), "AnalysisFingerprint" }; - SourceDatabaseEntry sourceFile11 = { m_data->m_scanFolder1.m_scanFolderID, "testfolder/file.foo", AZ::Uuid::CreateRandom(), "AnalysisFingerprint" }; ASSERT_TRUE(m_data->m_connection->SetSource(sourceFile1)); ASSERT_TRUE(m_data->m_connection->SetSource(sourceFile2)); ASSERT_TRUE(m_data->m_connection->SetSource(sourceFile3)); @@ -123,7 +122,6 @@ namespace UnitTests ASSERT_TRUE(m_data->m_connection->SetSource(sourceFile8)); ASSERT_TRUE(m_data->m_connection->SetSource(sourceFile9)); ASSERT_TRUE(m_data->m_connection->SetSource(sourceFile10)); - ASSERT_TRUE(m_data->m_connection->SetSource(sourceFile11)); SourceFileDependencyEntry dependency1 = { AZ::Uuid::CreateRandom(), "subfolder1/somefile.tif", "subfolder1/otherfile.tif", SourceFileDependencyEntry::TypeOfDependency::DEP_SourceToSource, false }; SourceFileDependencyEntry dependency2 = { AZ::Uuid::CreateRandom(), "subfolder1/otherfile.tif", "otherfile.tif", SourceFileDependencyEntry::TypeOfDependency::DEP_JobToJob, false }; @@ -176,8 +174,6 @@ namespace UnitTests ASSERT_TRUE(UnitTestUtils::CreateDummyFile(tempPath.absoluteFilePath("dev/dummy/foo.metadataextension"))); ASSERT_TRUE(UnitTestUtils::CreateDummyFile(tempPath.absoluteFilePath("dev/folder/file.foo"))); ASSERT_TRUE(UnitTestUtils::CreateDummyFile(tempPath.absoluteFilePath("dev/folder/file.bar"))); - ASSERT_TRUE(UnitTestUtils::CreateDummyFile(tempPath.absoluteFilePath("dev/testfolder/file.foo"))); - ASSERT_TRUE(UnitTestUtils::CreateDummyFile(tempPath.absoluteFilePath("dev/testfolder/File.bar"))); if (AZ::IO::FileIOBase::GetInstance() == nullptr) { @@ -487,20 +483,12 @@ namespace UnitTests TestGetSourcesByPath("dev/", { }, false); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - TEST_F(SourceFileRelocatorTest, DISABLED_GetSources_MultipleScanFolders_Fails) -#else TEST_F(SourceFileRelocatorTest, GetSources_MultipleScanFolders_Fails) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { TestGetSourcesByPath("*", { }, false); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - TEST_F(SourceFileRelocatorTest, DISABLED_GetSources_PartialPath_FailsWithNoResults) -#else TEST_F(SourceFileRelocatorTest, GetSources_PartialPath_FailsWithNoResults) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { TestGetSourcesByPath("older/*", { }, false); } @@ -547,18 +535,6 @@ namespace UnitTests TestGetSourcesByPath(filePath.toUtf8().constData(), { "folder/file.foo" }, true, true); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - TEST_F(SourceFileRelocatorTest, DISABLED_GetSources_HaveMetadataDifferentFileCase_AbsolutePath_Succeeds) -#else - TEST_F(SourceFileRelocatorTest, GetSources_HaveMetadataDifferentFileCase_AbsolutePath_Succeeds) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - { - QDir tempPath(m_tempDir.path()); - - auto filePath = QDir(tempPath.absoluteFilePath(m_data->m_scanFolder1.m_scanFolder.c_str())).absoluteFilePath("testfolder/file.foo"); - TestGetSourcesByPath(filePath.toUtf8().constData(), { "testfolder/file.foo", "testfolder/File.bar" }, true, false); - } - TEST_F(SourceFileRelocatorTest, GetMetaDataFile_SingleFileWildcard_Succeeds) { QDir tempPath(m_tempDir.path()); @@ -921,32 +897,46 @@ namespace UnitTests ASSERT_FALSE(AZ::IO::FileIOBase::GetInstance()->Exists(filePath.toUtf8().constData())); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - TEST_F(SourceFileRelocatorTest, DISABLED_Delete_Real_Readonly_Fails) -#else TEST_F(SourceFileRelocatorTest, Delete_Real_Readonly_Fails) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { + struct AutoResetDirectoryReadOnlyState + { + AutoResetDirectoryReadOnlyState(QString dirName) + : m_dirName(AZStd::move(dirName)) + { + AZ::IO::SystemFile::SetWritable(m_dirName.toUtf8().constData(), false); + } + ~AutoResetDirectoryReadOnlyState() + { + AZ::IO::SystemFile::SetWritable(m_dirName.toUtf8().constData(), true); + } + AZ_DISABLE_COPY_MOVE(AutoResetDirectoryReadOnlyState) + private: + QString m_dirName; + }; + QDir tempPath(m_tempDir.path()); auto filePath = QDir(tempPath.absoluteFilePath(m_data->m_scanFolder1.m_scanFolder.c_str())).absoluteFilePath("duplicate/file1.tif"); ASSERT_TRUE(AZ::IO::FileIOBase::GetInstance()->Exists(filePath.toUtf8().constData())); + AutoResetDirectoryReadOnlyState readOnlyResetter(QFileInfo(filePath).absoluteDir().absolutePath()); + AZ::IO::SystemFile::SetWritable(filePath.toUtf8().constData(), false); auto result = m_data->m_reporter->Delete(filePath.toUtf8().constData(), false); - ASSERT_TRUE(result.IsSuccess()); + EXPECT_TRUE(result.IsSuccess()); RelocationSuccess successResult = result.TakeValue(); - ASSERT_EQ(successResult.m_moveSuccessCount, 0); - ASSERT_EQ(successResult.m_moveFailureCount, 1); - ASSERT_EQ(successResult.m_moveTotalCount, 1); - ASSERT_EQ(successResult.m_updateTotalCount, 0); + EXPECT_EQ(successResult.m_moveSuccessCount, 0); + EXPECT_EQ(successResult.m_moveFailureCount, 1); + EXPECT_EQ(successResult.m_moveTotalCount, 1); + EXPECT_EQ(successResult.m_updateTotalCount, 0); - ASSERT_TRUE(AZ::IO::FileIOBase::GetInstance()->Exists(filePath.toUtf8().constData())); + EXPECT_TRUE(AZ::IO::FileIOBase::GetInstance()->Exists(filePath.toUtf8().constData())); } TEST_F(SourceFileRelocatorTest, Delete_Real_WithDependencies_Fails) diff --git a/Code/Tools/AssetProcessor/native/tests/assetmanager/AssetProcessorManagerTest.cpp b/Code/Tools/AssetProcessor/native/tests/assetmanager/AssetProcessorManagerTest.cpp index bd99cf7a94..6cd18d534b 100644 --- a/Code/Tools/AssetProcessor/native/tests/assetmanager/AssetProcessorManagerTest.cpp +++ b/Code/Tools/AssetProcessor/native/tests/assetmanager/AssetProcessorManagerTest.cpp @@ -30,11 +30,7 @@ public: friend class GTEST_TEST_CLASS_NAME_(MultiplatformPathDependencyTest, AssetProcessed_Impl_MultiplatformDependencies); friend class GTEST_TEST_CLASS_NAME_(MultiplatformPathDependencyTest, AssetProcessed_Impl_MultiplatformDependencies_DeferredResolution); -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - friend class GTEST_TEST_CLASS_NAME_(MultiplatformPathDependencyTest, DISABLED_AssetProcessed_Impl_MultiplatformDependencies_SourcePath); -#else friend class GTEST_TEST_CLASS_NAME_(MultiplatformPathDependencyTest, AssetProcessed_Impl_MultiplatformDependencies_SourcePath); -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS friend class GTEST_TEST_CLASS_NAME_(AssetProcessorManagerTest, DeleteFolder_SignalsDeleteOfContainedFiles); @@ -70,19 +66,11 @@ public: friend class GTEST_TEST_CLASS_NAME_(AbsolutePathProductDependencyTest, UnresolvedProductPathDependency_AssetProcessedTwice_ValidatePathDependenciesMap); friend class GTEST_TEST_CLASS_NAME_(AbsolutePathProductDependencyTest, UnresolvedSourceFileTypeProductPathDependency_DependencyHasNoProductOutput_ValidatePathDependenciesMap); -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - friend class GTEST_TEST_CLASS_NAME_(ModtimeScanningTest, DISABLED_ModtimeSkipping_FileUnchanged_WithoutModtimeSkipping); -#else friend class GTEST_TEST_CLASS_NAME_(ModtimeScanningTest, ModtimeSkipping_FileUnchanged_WithoutModtimeSkipping); -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS friend class GTEST_TEST_CLASS_NAME_(ModtimeScanningTest, ModtimeSkipping_FileUnchanged); -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS - friend class GTEST_TEST_CLASS_NAME_(ModtimeScanningTest, DISABLED_ModtimeSkipping_EnablePlatform_ShouldProcessFilesForPlatform); -#else friend class GTEST_TEST_CLASS_NAME_(ModtimeScanningTest, ModtimeSkipping_EnablePlatform_ShouldProcessFilesForPlatform); -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS friend class GTEST_TEST_CLASS_NAME_(ModtimeScanningTest, ModtimeSkipping_ModifyFile); friend class GTEST_TEST_CLASS_NAME_(ModtimeScanningTest, ModtimeSkipping_ModifyFile_AndThenRevert_ProcessesAgain); @@ -2362,11 +2350,7 @@ TEST_F(PathDependencyTest, ChangeDependencies_Existing_ResolveCorrectly) ); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS -TEST_F(PathDependencyTest, DISABLED_MixedPathDependencies_Existing_ResolveCorrectly) -#else TEST_F(PathDependencyTest, MixedPathDependencies_Existing_ResolveCorrectly) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { using namespace AssetProcessor; using namespace AssetBuilderSDK; @@ -2661,11 +2645,7 @@ TEST_F(MultiplatformPathDependencyTest, AssetProcessed_Impl_MultiplatformDepende ASSERT_NE(SearchDependencies(dependencyContainer, asset1.m_products[0]), SearchDependencies(dependencyContainer, asset1.m_products[1])); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS -TEST_F(MultiplatformPathDependencyTest, DISABLED_AssetProcessed_Impl_MultiplatformDependencies_SourcePath) -#else TEST_F(MultiplatformPathDependencyTest, AssetProcessed_Impl_MultiplatformDependencies_SourcePath) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { // One product will be pc, one will be console (order is non-deterministic) TestAsset asset1("testAsset1"); @@ -3894,7 +3874,7 @@ void ModtimeScanningTest::ProcessAssetJobs() for (const auto& processResult : m_data->m_processResults) { - auto file = QDir(processResult.m_destinationPath).absoluteFilePath(processResult.m_jobEntry.m_databaseSourceName + ".arc1"); + auto file = QDir(processResult.m_destinationPath).absoluteFilePath(processResult.m_jobEntry.m_databaseSourceName.toLower() + ".arc1"); m_data->m_productPaths.emplace( QDir(processResult.m_jobEntry.m_watchFolderPath) .absoluteFilePath(processResult.m_jobEntry.m_databaseSourceName) @@ -3943,11 +3923,11 @@ void ModtimeScanningTest::ExpectWork(int createJobs, int processJobs) { ASSERT_TRUE(BlockUntilIdle(5000)); - ASSERT_EQ(m_data->m_mockBuilderInfoHandler.m_createJobsCount, createJobs); - ASSERT_EQ(m_data->m_processResults.size(), processJobs); - ASSERT_FALSE(m_data->m_processResults[0].m_autoFail); - ASSERT_FALSE(m_data->m_processResults[1].m_autoFail); - ASSERT_EQ(m_data->m_deletedSources.size(), 0); + EXPECT_EQ(m_data->m_mockBuilderInfoHandler.m_createJobsCount, createJobs); + EXPECT_EQ(m_data->m_processResults.size(), processJobs); + EXPECT_FALSE(m_data->m_processResults[0].m_autoFail); + EXPECT_FALSE(m_data->m_processResults[1].m_autoFail); + EXPECT_EQ(m_data->m_deletedSources.size(), 0); m_isIdling = false; } @@ -3975,11 +3955,7 @@ void ModtimeScanningTest::SetFileContents(QString filePath, QString contents) file.close(); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS -TEST_F(ModtimeScanningTest, DISABLED_ModtimeSkipping_FileUnchanged_WithoutModtimeSkipping) -#else TEST_F(ModtimeScanningTest, ModtimeSkipping_FileUnchanged_WithoutModtimeSkipping) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { using namespace AzToolsFramework::AssetSystem; @@ -4008,11 +3984,7 @@ TEST_F(ModtimeScanningTest, ModtimeSkipping_FileUnchanged) ExpectNoWork(); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS -TEST_F(ModtimeScanningTest, DISABLED_ModtimeSkipping_EnablePlatform_ShouldProcessFilesForPlatform) -#else TEST_F(ModtimeScanningTest, ModtimeSkipping_EnablePlatform_ShouldProcessFilesForPlatform) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { using namespace AzToolsFramework::AssetSystem; @@ -4633,11 +4605,7 @@ TEST_F(AssetProcessorManagerTest, UpdateSourceFileDependenciesDatabase_WildcardM dependList.clear(); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS -TEST_F(AssetProcessorManagerTest, DISABLED_RemoveSource_RemoveCacheFolderIfEmpty_Ok) -#else TEST_F(AssetProcessorManagerTest, RemoveSource_RemoveCacheFolderIfEmpty_Ok) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { using namespace AssetProcessor; using namespace AssetBuilderSDK; diff --git a/Code/Tools/AssetProcessor/native/tests/platformconfiguration/platformconfigurationtests.cpp b/Code/Tools/AssetProcessor/native/tests/platformconfiguration/platformconfigurationtests.cpp index 9c80b267eb..4a8e1a7e1c 100644 --- a/Code/Tools/AssetProcessor/native/tests/platformconfiguration/platformconfigurationtests.cpp +++ b/Code/Tools/AssetProcessor/native/tests/platformconfiguration/platformconfigurationtests.cpp @@ -14,6 +14,7 @@ #include "native/tests/platformconfiguration/platformconfigurationtests.h" #include +#include const char TestAppRoot[] = "@exefolder@/testdata"; const char EmptyDummyProjectName[] = "EmptyDummyProject"; @@ -238,33 +239,6 @@ TEST_F(PlatformConfigurationUnitTests_OnePCHostFixture, GetScanFolderForFile_Sub EXPECT_STREQ(info->GetDisplayName().toUtf8().constData(), "Editor ScanFolder"); } -// note that in the case of GetOverridingFile, this SHOULD return the correct case if an override is found -// because its possible to override a file with another file with different case in a different scan folder -// such a situation is supposed to be very rare, so the cost of correcting the case is mitigated. -TEST_F(PlatformConfigurationUnitTests_OnePCHostFixture, GetOverridingFile_Exists_ReturnsCorrectCase) -{ - using namespace AzToolsFramework::AssetSystem; - using namespace AssetProcessor; - - // create two scan folders, since its order dependent, the ScanFolder1 is the "winner" in tie breakers (when they both contain same file relpath) - QString scanfolder1Path = m_tempPath.filePath("scanfolder1"); - QString scanfolder2Path = m_tempPath.filePath("scanfolder2"); - QString caseSensitiveDummyFileName = m_tempPath.absoluteFilePath("scanfolder1/TestCase.tXt"); - QString differentCaseDummyFileName = m_tempPath.absoluteFilePath("scanfolder2/testcase.txt"); - UnitTestUtils::CreateDummyFile(caseSensitiveDummyFileName, QString("testcase1\n")); - UnitTestUtils::CreateDummyFile(differentCaseDummyFileName, QString("testcase2\n")); - m_config->AddScanFolder(ScanFolderInfo(scanfolder1Path, "ScanFolder1", "sf1", false, true, m_platforms), true); - m_config->AddScanFolder(ScanFolderInfo(scanfolder2Path, "ScanFolder2", "sf2", false, true, m_platforms), true); - - // Perform the test by asking it whether anyone overrides "testcase" (lowercase) in scanfolder 2. - QString overrider = m_config->GetOverridingFile("testcase.txt", scanfolder2Path); - - ASSERT_FALSE(overrider.isEmpty()); - // the result should be the real actual case of the file in scanfolder 1: - EXPECT_STREQ(overrider.toUtf8().constData(), caseSensitiveDummyFileName.toUtf8().constData()); -} - - TEST_F(PlatformConfigurationUnitTests_OnePCHostFixture, GetOverridingFile_ExistsButNotOverridden_ReturnsEmpty) { using namespace AzToolsFramework::AssetSystem; @@ -360,7 +334,7 @@ TEST_F(PlatformConfigurationUnitTests, TestFailReadConfigFile_RegularScanfolder) ASSERT_EQ(m_absorber.m_numErrorsAbsorbed, 0); ASSERT_EQ(config.GetScanFolderCount(), 3); // the two, and then the one that has the same data as prior but different identifier. - QString scanName = AssetUtilities::ComputeProjectPath() + " Scan Folder"; + QString scanName = AssetUtilities::ComputeProjectPath(true) + " Scan Folder"; ASSERT_EQ(config.GetScanFolderAt(0).GetDisplayName(), scanName); ASSERT_EQ(config.GetScanFolderAt(0).RecurseSubFolders(), true); ASSERT_EQ(config.GetScanFolderAt(0).GetOrder(), 0); @@ -445,15 +419,11 @@ TEST_F(PlatformConfigurationUnitTests, TestFailReadConfigFile_RegularExcludes) ASSERT_FALSE(config.IsFileExcluded("blahblah/Levels/blahblahhold/whatever.test")); } -#if AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS -TEST_F(PlatformConfigurationUnitTests, DISABLED_TestFailReadConfigFile_Recognizers) -#else TEST_F(PlatformConfigurationUnitTests, TestFailReadConfigFile_Recognizers) -#endif // AZ_TRAIT_DISABLE_FAILED_ASSET_PROCESSOR_TESTS { using namespace AzToolsFramework::AssetSystem; using namespace AssetProcessor; -#if defined(AZ_PLATFORM_WINDOWS) +#if defined(AZ_PLATFORM_WINDOWS) || defined(AZ_PLATFORM_LINUX) const char* platformWhichIsNotCurrentPlatform = "mac"; #else const char* platformWhichIsNotCurrentPlatform = "pc"; @@ -502,31 +472,47 @@ TEST_F(PlatformConfigurationUnitTests, TestFailReadConfigFile_Recognizers) // the "rend" test makes sure that even if you dont specify 'params' its still there by default for all enabled platforms. // (but platforms can override it) ASSERT_TRUE(recogs.contains("rend")); - ASSERT_TRUE(recogs["rend"].m_platformSpecs.contains(AzToolsFramework::AssetSystem::GetHostAssetPlatform())); - ASSERT_TRUE(recogs["rend"].m_platformSpecs.contains("android")); - ASSERT_TRUE(recogs["rend"].m_platformSpecs.contains("server")); - ASSERT_FALSE(recogs["rend"].m_platformSpecs.contains(platformWhichIsNotCurrentPlatform)); // this is not an enabled platform and should not be there. - ASSERT_EQ(recogs["rend"].m_platformSpecs.size(), 3); - ASSERT_EQ(recogs["rend"].m_platformSpecs[AzToolsFramework::AssetSystem::GetHostAssetPlatform()].m_extraRCParams, "rendererparams"); - ASSERT_EQ(recogs["rend"].m_platformSpecs["android"].m_extraRCParams, "rendererparams"); - ASSERT_EQ(recogs["rend"].m_platformSpecs["server"].m_extraRCParams, ""); // default if not specified is empty string + EXPECT_THAT( + recogs["rend"].m_platformSpecs.keys(), + testing::AllOf( + testing::UnorderedElementsAre( + QString(AzToolsFramework::AssetSystem::GetHostAssetPlatform()), + QString("android"), + QString("server") + ), + testing::Not(testing::Contains(platformWhichIsNotCurrentPlatform)) // this is not an enabled platform and should not be there. + ) + ); + EXPECT_EQ(recogs["rend"].m_platformSpecs[AzToolsFramework::AssetSystem::GetHostAssetPlatform()].m_extraRCParams, "rendererparams"); + EXPECT_EQ(recogs["rend"].m_platformSpecs["android"].m_extraRCParams, "rendererparams"); + EXPECT_EQ(recogs["rend"].m_platformSpecs["server"].m_extraRCParams, ""); // default if not specified is empty string ASSERT_TRUE(recogs.contains("alldefault")); - ASSERT_TRUE(recogs["alldefault"].m_platformSpecs.contains(AzToolsFramework::AssetSystem::GetHostAssetPlatform())); - ASSERT_TRUE(recogs["alldefault"].m_platformSpecs.contains("android")); - ASSERT_TRUE(recogs["alldefault"].m_platformSpecs.contains("server")); - ASSERT_FALSE(recogs["alldefault"].m_platformSpecs.contains(platformWhichIsNotCurrentPlatform)); // this is not an enabled platform and should not be there. - ASSERT_EQ(recogs["alldefault"].m_platformSpecs.size(), 3); - ASSERT_EQ(recogs["alldefault"].m_platformSpecs[AzToolsFramework::AssetSystem::GetHostAssetPlatform()].m_extraRCParams, ""); - ASSERT_EQ(recogs["alldefault"].m_platformSpecs["android"].m_extraRCParams, ""); - ASSERT_EQ(recogs["alldefault"].m_platformSpecs["server"].m_extraRCParams, ""); + EXPECT_THAT( + recogs["alldefault"].m_platformSpecs.keys(), + testing::AllOf( + testing::UnorderedElementsAre( + QString(AzToolsFramework::AssetSystem::GetHostAssetPlatform()), + QString("android"), + QString("server") + ), + testing::Not(testing::Contains(platformWhichIsNotCurrentPlatform)) // this is not an enabled platform and should not be there. + ) + ); + EXPECT_EQ(recogs["alldefault"].m_platformSpecs[AzToolsFramework::AssetSystem::GetHostAssetPlatform()].m_extraRCParams, ""); + EXPECT_EQ(recogs["alldefault"].m_platformSpecs["android"].m_extraRCParams, ""); + EXPECT_EQ(recogs["alldefault"].m_platformSpecs["server"].m_extraRCParams, ""); ASSERT_TRUE(recogs.contains("skipallbutone")); - ASSERT_FALSE(recogs["skipallbutone"].m_platformSpecs.contains(AzToolsFramework::AssetSystem::GetHostAssetPlatform())); - ASSERT_FALSE(recogs["skipallbutone"].m_platformSpecs.contains("android")); - ASSERT_TRUE(recogs["skipallbutone"].m_platformSpecs.contains("server")); // server is only one enabled (set to copy) - ASSERT_EQ(recogs["skipallbutone"].m_platformSpecs.size(), 1); - ASSERT_EQ(recogs["skipallbutone"].m_platformSpecs["server"].m_extraRCParams, "copy"); + EXPECT_THAT( + recogs["skipallbutone"].m_platformSpecs.keys(), + testing::UnorderedElementsAre( + QString("server") // server is only one enabled (set to copy) + ) + ); + EXPECT_FALSE(recogs["skipallbutone"].m_platformSpecs.contains(AzToolsFramework::AssetSystem::GetHostAssetPlatform())); + EXPECT_FALSE(recogs["skipallbutone"].m_platformSpecs.contains("android")); + EXPECT_EQ(recogs["skipallbutone"].m_platformSpecs["server"].m_extraRCParams, "copy"); } diff --git a/Code/Tools/AssetProcessor/native/tests/utilities/assetUtilsTest.cpp b/Code/Tools/AssetProcessor/native/tests/utilities/assetUtilsTest.cpp index 5ed392d12b..796bca2af2 100644 --- a/Code/Tools/AssetProcessor/native/tests/utilities/assetUtilsTest.cpp +++ b/Code/Tools/AssetProcessor/native/tests/utilities/assetUtilsTest.cpp @@ -137,10 +137,13 @@ TEST_F(AssetUtilitiesTest, UpdateToCorrectCase_ExistingFile_ReturnsTrue_Corrects thingsToTry << "SomeFile.TxT"; thingsToTry << "otherfile.txt"; thingsToTry << "subfolder1/otherfile.txt"; + + #if defined(AZ_PLATFORM_WINDOWS) thingsToTry << "subfolder2\\otherfile.txt"; thingsToTry << "subFolder3\\somefile.txt"; thingsToTry << "subFolder4\\subfolder6\\somefile.txt"; thingsToTry << "subFolder5\\subfolder7/someFile.txt"; + #endif // AZ_PLATFORM_WINDOWS thingsToTry << "specialFileName[.txt"; thingsToTry << "specialFileName].txt"; thingsToTry << "specialFileName!.txt"; diff --git a/Code/Tools/AssetProcessor/native/unittests/AssetProcessorManagerUnitTests.cpp b/Code/Tools/AssetProcessor/native/unittests/AssetProcessorManagerUnitTests.cpp index 079cdb7c66..efeec5d7c1 100644 --- a/Code/Tools/AssetProcessor/native/unittests/AssetProcessorManagerUnitTests.cpp +++ b/Code/Tools/AssetProcessor/native/unittests/AssetProcessorManagerUnitTests.cpp @@ -175,6 +175,16 @@ namespace AssetProcessor UNIT_TEST_EXPECT_FALSE(gameName.isEmpty()); // should create cache folder in the root, and read everything from there. + // There is a sub-case of handling mixed cases, but is only supported on case-insensitive filesystems. +#if defined(AZ_PLATFORM_LINUX) + // Linux is case-sensitive, so 'basefile.txt' will stay the same case as the other subfolder versions + constexpr const char* subfolder3BaseFilePath = "subfolder3/basefile.txt"; + constexpr int expectedLegacyAssetIdCount = 1; +#else + constexpr const char* subfolder3BaseFilePath = "subfolder3/BaseFile.txt"; + constexpr int expectedLegacyAssetIdCount = 2; +#endif + QSet expectedFiles; // set up some interesting files: expectedFiles << tempPath.absoluteFilePath("rootfile2.txt"); @@ -185,7 +195,9 @@ namespace AssetProcessor expectedFiles << tempPath.absoluteFilePath("subfolder2/aaa/bbb/basefile.txt"); expectedFiles << tempPath.absoluteFilePath("subfolder2/aaa/bbb/ccc/basefile.txt"); expectedFiles << tempPath.absoluteFilePath("subfolder2/aaa/bbb/ccc/ddd/basefile.txt"); - expectedFiles << tempPath.absoluteFilePath("subfolder3/BaseFile.txt"); // note the case upper here + + expectedFiles << tempPath.absoluteFilePath(subfolder3BaseFilePath); + expectedFiles << tempPath.absoluteFilePath("subfolder8/a/b/c/test.txt"); // subfolder3 is not recursive so none of these should show up in any scan or override check @@ -1521,7 +1533,8 @@ namespace AssetProcessor // -------------- override test ----------------- // set up by letting it compile basefile.txt from 3: - absolutePath = AssetUtilities::NormalizeFilePath(tempPath.absoluteFilePath("subfolder3/BaseFile.txt")); + + absolutePath = AssetUtilities::NormalizeFilePath(tempPath.absoluteFilePath(subfolder3BaseFilePath)); QMetaObject::invokeMethod(&apm, "AssessModifiedFile", Qt::QueuedConnection, Q_ARG(QString, absolutePath)); UNIT_TEST_EXPECT_TRUE(BlockUntil(idling, 5000)); @@ -1583,8 +1596,7 @@ namespace AssetProcessor UNIT_TEST_EXPECT_TRUE(assetMessages.size() == 4); for (auto element : assetMessages) { - // because the source asset had UPPER CASE in it, we should have multiple legacy IDs - UNIT_TEST_EXPECT_TRUE(element.m_legacyAssetIds.size() == 2); + UNIT_TEST_EXPECT_TRUE(element.m_legacyAssetIds.size() == expectedLegacyAssetIdCount); } // ------------- setup complete, now do the test... @@ -1607,7 +1619,7 @@ namespace AssetProcessor // delete the highest priority override file and ensure that it generates tasks // for the next highest priority! Basically, deleting this file should "reveal" the file underneath it in the other subfolder - QString deletedFile = tempPath.absoluteFilePath("subfolder3/BaseFile.txt"); + QString deletedFile = tempPath.absoluteFilePath(subfolder3BaseFilePath); QString expectedReplacementInputFile = AssetUtilities::NormalizeFilePath(tempPath.absoluteFilePath("subfolder2/basefile.txt")); UNIT_TEST_EXPECT_TRUE(QFile::remove(deletedFile)); @@ -1621,6 +1633,11 @@ namespace AssetProcessor sortAssetToProcessResultList(processResults); +#if defined(AZ_PLATFORM_LINUX) + // On Linux, because of we cannot change the case of the source file, the job fingerprint is not updated due the case-switch so + // there will be actually nothing to process + UNIT_TEST_EXPECT_TRUE(processResults.size() == 0); +#else // --------- same result as above ---------- UNIT_TEST_EXPECT_TRUE(processResults.size() == 4); // 2 each for pc and android,since we have two recognizer for .txt file UNIT_TEST_EXPECT_TRUE(processResults[0].m_jobEntry.m_platformInfo.m_identifier == processResults[1].m_jobEntry.m_platformInfo.m_identifier); @@ -1641,7 +1658,7 @@ namespace AssetProcessor UNIT_TEST_EXPECT_TRUE(processFile1.startsWith(platformFolder)); UNIT_TEST_EXPECT_TRUE(processResults[checkIdx].m_jobEntry.m_computedFingerprint != 0); } - +#endif // defined(AZ_PLATFORM_LINUX) relativePathFromWatchFolder = "somefile.xxx"; watchFolderPath = tempPath.absoluteFilePath("subfolder3"); absolutePath = watchFolderPath + "/" + relativePathFromWatchFolder; @@ -2721,7 +2738,12 @@ namespace AssetProcessor { AssetBuilderSDK::JobDescriptor secondDescriptor = descriptor; secondDescriptor.m_jobKey = "yyy"; + #if defined(AZ_PLATFORM_WINDOWS) sourceFileDependency.m_sourceFileDependencyPath = "some\\random/Folders/FILEa.TxT"; + #else + sourceFileDependency.m_sourceFileDependencyPath = "some/random/folders/FileA.txt"; + #endif // defined(AZ_PLATFORM_WINDOWS) + // ... declare a job dependency on job A ('FileA.txt', 'xxx', platform) AssetBuilderSDK::JobDependency jobDependency("xxx", platformInfo.m_identifier.c_str(), AssetBuilderSDK::JobDependencyType::Fingerprint, sourceFileDependency); secondDescriptor.m_jobDependencyList.push_back(jobDependency); @@ -2805,11 +2827,11 @@ namespace AssetProcessor QDir cacheRoot; UNIT_TEST_EXPECT_TRUE(AssetUtilities::ComputeProjectCacheRoot(cacheRoot)); - QString productFileAPath = cacheRoot.filePath(QString("pc/FileAProduct.txt")); - QString productFileBPath = cacheRoot.filePath(QString("pc/FileBProduct1.txt")); - QString product2FileBPath = cacheRoot.filePath(QString("pc/FileBProduct2.txt")); - QString productFileCPath = cacheRoot.filePath(QString("pc/FileCProduct.txt")); - QString product2FileCPath = cacheRoot.filePath(QString("pc/FileCProduct2.txt")); + QString productFileAPath = cacheRoot.filePath(QString("pc/fileaproduct.txt")); + QString productFileBPath = cacheRoot.filePath(QString("pc/filebproduct1.txt")); + QString product2FileBPath = cacheRoot.filePath(QString("pc/filebproduct2.txt")); + QString productFileCPath = cacheRoot.filePath(QString("pc/filecproduct.txt")); + QString product2FileCPath = cacheRoot.filePath(QString("pc/filecproduct2.txt")); UNIT_TEST_EXPECT_TRUE(CreateDummyFile(sourceFileAPath, "")); UNIT_TEST_EXPECT_TRUE(CreateDummyFile(sourceFileBPath, "")); diff --git a/Code/Tools/AssetProcessor/native/unittests/FileWatcherUnitTests.cpp b/Code/Tools/AssetProcessor/native/unittests/FileWatcherUnitTests.cpp index 785ea8efa6..f6fb21e4e7 100644 --- a/Code/Tools/AssetProcessor/native/unittests/FileWatcherUnitTests.cpp +++ b/Code/Tools/AssetProcessor/native/unittests/FileWatcherUnitTests.cpp @@ -106,7 +106,7 @@ void FileWatcherUnitTestRunner::StartTest() AZ_TracePrintf(AssetProcessor::DebugChannel, "Waiting for remaining notifications: %d \n", outstandingFiles.count()); } - if (outstandingFiles.count() > 0) + if (outstandingFiles.count() > 0) { #if defined(AZ_ENABLE_TRACING) AZ_TracePrintf(AssetProcessor::DebugChannel, "Timed out waiting for file changes: %d / %d missed\n", outstandingFiles.count(), maxFiles); @@ -226,7 +226,9 @@ void FileWatcherUnitTestRunner::StartTest() UNIT_TEST_EXPECT_TRUE(fileAddCalled); UNIT_TEST_EXPECT_TRUE(fileRemoveCalled); - UNIT_TEST_EXPECT_TRUE(fileModifiedCalled); // modified should be called on the folder that the file lives in +#if defined(AZ_PLATFORM_WINDOWS) + UNIT_TEST_EXPECT_TRUE(fileModifiedCalled); // modified should be called on the folder that the file lives in (Only on Windows) +#endif // AZ_PLATFORM_WINDOWS UNIT_TEST_EXPECT_TRUE(QDir::toNativeSeparators(fileRemoveName).toLower() == QDir::toNativeSeparators(originalName).toLower()); UNIT_TEST_EXPECT_TRUE(QDir::toNativeSeparators(fileAddName).toLower() == QDir::toNativeSeparators(newName1).toLower()); @@ -249,7 +251,10 @@ void FileWatcherUnitTestRunner::StartTest() // the new1 was "removed" and the new2 was "added" UNIT_TEST_EXPECT_TRUE(fileAddCalled); UNIT_TEST_EXPECT_TRUE(fileRemoveCalled); - UNIT_TEST_EXPECT_TRUE(fileModifiedCalled); // modified should be called on the folder that the file lives in +#if defined(AZ_PLATFORM_WINDOWS) + UNIT_TEST_EXPECT_TRUE(fileModifiedCalled); // modified should be called on the folder that the file lives in (Only on Windows) +#endif // AZ_PLATFORM_WINDOWS + UNIT_TEST_EXPECT_TRUE(QDir::toNativeSeparators(fileRemoveName).toLower() == QDir::toNativeSeparators(newName1).toLower()); UNIT_TEST_EXPECT_TRUE(QDir::toNativeSeparators(fileAddName).toLower() == QDir::toNativeSeparators(newName2).toLower()); @@ -270,11 +275,15 @@ void FileWatcherUnitTestRunner::StartTest() // the new1 was "removed" and the new2 was "added" UNIT_TEST_EXPECT_TRUE(fileAddCalled); UNIT_TEST_EXPECT_TRUE(fileRemoveCalled); - UNIT_TEST_EXPECT_TRUE(fileModifiedCalled); // modified should be called on the folder that the file lives in +#if defined(AZ_PLATFORM_WINDOWS) + UNIT_TEST_EXPECT_TRUE(fileModifiedCalled); // modified should be called on the folder that the file lives in (Only on Windows) +#endif // AZ_PLATFORM_WINDOWS UNIT_TEST_EXPECT_TRUE(QDir::toNativeSeparators(fileRemoveName).toLower() == QDir::toNativeSeparators(newName2).toLower()); UNIT_TEST_EXPECT_TRUE(QDir::toNativeSeparators(fileAddName).toLower() == QDir::toNativeSeparators(newName3).toLower()); - // final test... make sure that renaming a DIRECTORY works too +#if !defined(AZ_PLATFORM_LINUX) + // final test... make sure that renaming a DIRECTORY works too. + // Note that linux does not get any callbacks if just the directory is renamed (from inotify) QDir renamer; fileAddCalled = false; fileRemoveCalled = false; @@ -297,7 +306,7 @@ void FileWatcherUnitTestRunner::StartTest() UNIT_TEST_EXPECT_TRUE(QDir::toNativeSeparators(fileRemoveName).toLower() == QDir::toNativeSeparators(tempDirPath.absoluteFilePath("dir3")).toLower()); UNIT_TEST_EXPECT_TRUE(QDir::toNativeSeparators(fileAddName).toLower() == QDir::toNativeSeparators(tempDirPath.absoluteFilePath("dir4")).toLower()); - +#endif // AZ_PLATFORM_LINUX QObject::disconnect(connectionRemove); QObject::disconnect(connectionAdd); diff --git a/Code/Tools/AssetProcessor/native/unittests/RCcontrollerUnitTests.cpp b/Code/Tools/AssetProcessor/native/unittests/RCcontrollerUnitTests.cpp index 02b98e5e33..38c1377b46 100644 --- a/Code/Tools/AssetProcessor/native/unittests/RCcontrollerUnitTests.cpp +++ b/Code/Tools/AssetProcessor/native/unittests/RCcontrollerUnitTests.cpp @@ -545,10 +545,13 @@ void RCcontrollerUnitTests::RunRCControllerTests() rcJob.SetCheckExclusiveLock(true); rcJob.Start(); + +#if defined(AZ_PLATFORM_WINDOWS) + // on windows, opening a file for reading locks it + // but on other platforms, this is not the case. // we only expect work to begin when we can gain an exclusive lock on this file. UNIT_TEST_EXPECT_FALSE(UnitTestUtils::BlockUntil(beginWork, 5000)); -#if defined(AZ_PLATFORM_WINDOWS) // Once we release the file, it should process normally lockFileTest.close(); #else diff --git a/Code/Tools/AssetProcessor/native/unittests/UtilitiesUnitTests.cpp b/Code/Tools/AssetProcessor/native/unittests/UtilitiesUnitTests.cpp index 1eada874d9..24433b550c 100644 --- a/Code/Tools/AssetProcessor/native/unittests/UtilitiesUnitTests.cpp +++ b/Code/Tools/AssetProcessor/native/unittests/UtilitiesUnitTests.cpp @@ -227,8 +227,9 @@ void UtilitiesUnitTests::StartTest() #else int handle = open(lockTestFileName.toUtf8().constData(), O_RDONLY | O_EXLOCK | O_NONBLOCK); #endif // AZ_PLATFORM_WINDOWS - UNIT_TEST_EXPECT_FALSE(AssetUtilities::CheckCanLock(lockTestFileName)); + #if defined(AZ_PLATFORM_WINDOWS) + UNIT_TEST_EXPECT_FALSE(AssetUtilities::CheckCanLock(lockTestFileName)); lockTestFile.close(); #else if (handle != -1) diff --git a/Code/Tools/AssetProcessor/native/utilities/assetUtils.cpp b/Code/Tools/AssetProcessor/native/utilities/assetUtils.cpp index b152e5ed4f..19423358b5 100644 --- a/Code/Tools/AssetProcessor/native/utilities/assetUtils.cpp +++ b/Code/Tools/AssetProcessor/native/utilities/assetUtils.cpp @@ -507,8 +507,13 @@ namespace AssetUtilities return QString::fromUtf8(s_projectName.c_str(), aznumeric_cast(s_projectName.size())); } - QString ComputeProjectPath() + QString ComputeProjectPath(bool resetCachedProjectPath/*=false*/) { + if (resetCachedProjectPath) + { + // Clear any cached value if reset was requested + s_projectPath.clear(); + } if (s_projectPath.empty()) { // Check command-line args first diff --git a/Code/Tools/AssetProcessor/native/utilities/assetUtils.h b/Code/Tools/AssetProcessor/native/utilities/assetUtils.h index 201911eb96..694498e423 100644 --- a/Code/Tools/AssetProcessor/native/utilities/assetUtils.h +++ b/Code/Tools/AssetProcessor/native/utilities/assetUtils.h @@ -104,7 +104,8 @@ namespace AssetUtilities QString ComputeProjectName(QString projectNameOverride = QString(), bool force = false); //! Determine the absolute path of the current project - QString ComputeProjectPath(); + //! The path computed path will be cached on subsequent calls unless resetCachedProjectPath=true + QString ComputeProjectPath(bool resetCachedProjectPath = false); //! Reads the allowed list directly from the bootstrap file QString ReadAllowedlistFromSettingsRegistry(QString initialFolder = QString()); From e1d2115cabcf961d777daf9c444a728debf431c6 Mon Sep 17 00:00:00 2001 From: mnaumov Date: Thu, 10 Jun 2021 12:05:30 -0700 Subject: [PATCH 102/205] ElementName override --- .../CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp | 6 ++++++ .../CommonFeatures/Code/Source/Mesh/EditorMeshStats.h | 1 + 2 files changed, 7 insertions(+) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp index 2f65ca83df..0830b6d83f 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.cpp @@ -71,9 +71,15 @@ namespace AZ ->Attribute(AZ::Edit::Attributes::NameLabelOverride, "") ->Attribute(AZ::Edit::Attributes::ContainerCanBeModified, false) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) + ->Attribute(AZ::Edit::Attributes::IndexedChildNameLabelOverride, &EditorMeshStats::GetLodLabel) ; } } } + + AZStd::string EditorMeshStats::GetLodLabel(int index) const + { + return AZStd::string::format("LOD %d", index); + } } // namespace Render } // namespace AZ diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h index 111ec6d27b..6bdce7c008 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshStats.h @@ -39,6 +39,7 @@ namespace AZ AZ_CLASS_ALLOCATOR(EditorMeshStats, SystemAllocator, 0); static void Reflect(ReflectContext* context); + AZStd::string GetLodLabel(int index) const; AZStd::vector m_meshStatsForLod; }; From 39392ec075f651955529d273131ee2c98a9b62f9 Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Thu, 10 Jun 2021 14:22:35 -0500 Subject: [PATCH 103/205] Updating the DefaultGem ${Name}Bus.h template with AZ::Interface --- .../Template/Code/Include/${Name}/${Name}Bus.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h b/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h index 1b3b67c241..7501e29796 100644 --- a/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h +++ b/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h @@ -15,22 +15,30 @@ #pragma once #include +#include namespace ${SanitizedCppName} { class ${SanitizedCppName}Requests + { + public: + AZ_RTTI(${SanitizedCppName}Requests, "${Random_Uuid}"); + virtual ~${SanitizedCppName}Requests = default(); + // Put your public methods here + }; + + class ${SanitizedCppName}BusTraits : public AZ::EBusTraits { public: ////////////////////////////////////////////////////////////////////////// // EBusTraits overrides - static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single; - static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; + static constexpr AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single; + static constexpr AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; ////////////////////////////////////////////////////////////////////////// - - // Put your public methods here }; - using ${SanitizedCppName}RequestBus = AZ::EBus<${SanitizedCppName}Requests>; + using ${SanitizedCppName}RequestBus = AZ::EBus<${SanitizedCppName}Requests, ${SanitizedCppName}BusTraits>; + using ${SanitizedCppName}Interface = AZ::Interface<${SanitizedCppName}Requests>; } // namespace ${SanitizedCppName} From 9550ec46b46d969fb839d7a1bdda1b4acad61d17 Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Thu, 10 Jun 2021 14:23:56 -0500 Subject: [PATCH 104/205] Updating Project ${Name}Bus.h template with AZ::Interface support --- .../Code/Include/${Name}/${Name}Bus.h | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h b/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h index e6f9dd57bd..b4a61ccd63 100644 --- a/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h +++ b/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h @@ -15,20 +15,30 @@ #pragma once #include +#include namespace ${SanitizedCppName} { class ${SanitizedCppName}Requests + { + public: + AZ_RTTI(${SanitizedCppName}Requests, "${Random_Uuid}"); + virtual ~${SanitizedCppName}Requests = default(); + // Put your public methods here + }; + + class ${SanitizedCppName}BusTraits : public AZ::EBusTraits { public: ////////////////////////////////////////////////////////////////////////// // EBusTraits overrides - static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single; - static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; + static constexpr AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single; + static constexpr AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; ////////////////////////////////////////////////////////////////////////// - - // Put your public methods here }; - using ${SanitizedCppName}RequestBus = AZ::EBus<${SanitizedCppName}Requests>; + + using ${SanitizedCppName}RequestBus = AZ::EBus<${SanitizedCppName}Requests, ${SanitizedCppName}BusTraits>; + using ${SanitizedCppName}Interface = AZ::Interface<${SanitizedCppName}Requests>; + } // namespace ${SanitizedCppName} From d3be5600c3ca320deae13a2763122e4810d63013 Mon Sep 17 00:00:00 2001 From: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> Date: Thu, 10 Jun 2021 12:30:17 -0700 Subject: [PATCH 105/205] Increase rotation step for Transform (#1244) Using the spinbox on the Transform Component is made very cumbersome by the low rotation step. Increased it to make it more usable. --- .../AzToolsFramework/ToolsComponents/TransformComponent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/TransformComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/TransformComponent.cpp index 3e13e6226b..bcbe98c3a7 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/TransformComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ToolsComponents/TransformComponent.cpp @@ -1206,7 +1206,7 @@ namespace AzToolsFramework Attribute(AZ::Edit::Attributes::SliceFlags, AZ::Edit::SliceFlags::NotPushableOnSliceRoot)-> Attribute(AZ::Edit::Attributes::ReadOnly, &EditorTransform::m_locked)-> DataElement(AZ::Edit::UIHandlers::Default, &EditorTransform::m_rotate, "Rotate", "Local Rotation (Relative to parent) in degrees.")-> - Attribute(AZ::Edit::Attributes::Step, 0.1f)-> + Attribute(AZ::Edit::Attributes::Step, 1.0f)-> Attribute(AZ::Edit::Attributes::Suffix, " deg")-> Attribute(AZ::Edit::Attributes::ReadOnly, &EditorTransform::m_locked)-> Attribute(AZ::Edit::Attributes::SliceFlags, AZ::Edit::SliceFlags::NotPushableOnSliceRoot)-> From 054dd39e5b19b143982733a77fe303b8883c1432 Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Thu, 10 Jun 2021 14:37:58 -0500 Subject: [PATCH 106/205] Adding implemented constructor/destructor to Template SystemComponent The System Component now implements a constructor/destructor which is used to initialize/de-initialize the `${SanitizedCppName}Interface` instance --- .../Template/Code/Source/${Name}SystemComponent.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.h b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.h index 4df74027be..10a500aba2 100644 --- a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.h +++ b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.h @@ -34,6 +34,9 @@ namespace ${SanitizedCppName} static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required); static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent); + ${SanitizedCppName}SystemComponent(); + ~${SanitizedCppName}SystemComponent(); + protected: //////////////////////////////////////////////////////////////////////// // ${SanitizedCppName}RequestBus interface implementation From 0aba7911a2430995900b88b4bbc1f93d32d4ae18 Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Thu, 10 Jun 2021 14:44:00 -0500 Subject: [PATCH 107/205] Implemented the DefaultProject Template default constructor and destructor The System Component now implements a constructor/destructor which is used to initialize/de-initialize the `${SanitizedCppName}Interface` instance --- .../Code/Source/${Name}SystemComponent.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp index 82f7d7d17b..0d160bd45a 100644 --- a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp +++ b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp @@ -58,6 +58,22 @@ namespace ${SanitizedCppName} { AZ_UNUSED(dependent); } + + ${SanitizedCppName}SystemComponent::${SanitizedCppName}SystemComponent() + { + if (${SanitizedCppName}Interface::Get() == nullptr) + { + ${SanitizedCppName}Interface::Register(this); + } + } + + ${SanitizedCppName}SystemComponent::~${SanitizedCppName}SystemComponent() + { + if (${SanitizedCppName}Interface::Get() == this) + { + ${SanitizedCppName}Interface::Unregister(this); + } + } void ${SanitizedCppName}SystemComponent::Init() { From 2a982fa4b2e9c8a5d33b6bb4d9753f5eee0299ad Mon Sep 17 00:00:00 2001 From: antonmic Date: Thu, 10 Jun 2021 12:50:38 -0700 Subject: [PATCH 108/205] Pass changes: Addressing PR feedback --- .../CoreLights/CascadedShadowmapsPass.cpp | 4 +- .../DirectionalLightFeatureProcessor.cpp | 2 +- .../CoreLights/ProjectedShadowmapsPass.cpp | 2 +- .../DisplayMapper/DisplayMapperPass.cpp | 2 +- .../Code/Source/LuxCore/RenderTexturePass.cpp | 2 +- .../ProjectedShadowFeatureProcessor.cpp | 2 +- .../Code/Include/Atom/RPI.Public/Pass/Pass.h | 17 ++-- .../Atom/RPI.Public/Pass/PassDefines.h | 77 +++++++++++++------ .../Source/RPI.Public/Pass/ParentPass.cpp | 6 +- .../RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 38 ++++++--- .../Pass/Specific/RenderToTexturePass.cpp | 2 +- .../RPI.Public/Pass/Specific/SelectorPass.cpp | 4 +- .../Pass/Specific/SwapChainPass.cpp | 2 +- .../Code/Source/RPI.Public/RenderPipeline.cpp | 8 +- 14 files changed, 109 insertions(+), 59 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.cpp index 4c7e69f2ae..b9beac4285 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/CascadedShadowmapsPass.cpp @@ -100,7 +100,7 @@ namespace AZ m_arraySize = arraySize; m_updateChildren = true; - QueueForBuild(); + QueueForBuildAndInitialization(); m_atlas.Initialize(); for (size_t cascadeIndex = 0; cascadeIndex < m_arraySize; ++cascadeIndex) @@ -215,7 +215,7 @@ namespace AZ AZ_RPI_PASS_WARNING(child, "CascadedShadowmapsPass child Pass creation failed for %d", cascadeIndex); if (child) { - child->QueueForBuild(); + child->QueueForBuildAndInitialization(); AddChild(child); } } diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp index cdbe431949..c4f4bc54b3 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp @@ -1106,7 +1106,7 @@ namespace AZ { for (EsmShadowmapsPass* pass : it.second) { - pass->QueueForBuild(); + pass->QueueForBuildAndInitialization(); } } } diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.cpp index 87cacbb345..2f1badaae7 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/ProjectedShadowmapsPass.cpp @@ -73,7 +73,7 @@ namespace AZ { m_sizes = sizes; m_updateChildren = true; - QueueForBuild(); + QueueForBuildAndInitialization(); m_atlas.Initialize(); for (const auto& it : m_sizes) diff --git a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp index 219d673ece..b37c218c21 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DisplayMapper/DisplayMapperPass.cpp @@ -513,7 +513,7 @@ namespace AZ desc.m_acesParameterOverrides.m_overrideDefaults != m_displayMapperConfigurationDescriptor.m_acesParameterOverrides.m_overrideDefaults) { m_flags.m_createChildren = true; - QueueForBuild(); + QueueForBuildAndInitialization(); } m_displayMapperConfigurationDescriptor = desc; } diff --git a/Gems/Atom/Feature/Common/Code/Source/LuxCore/RenderTexturePass.cpp b/Gems/Atom/Feature/Common/Code/Source/LuxCore/RenderTexturePass.cpp index aa991e270a..6e0444dca4 100644 --- a/Gems/Atom/Feature/Common/Code/Source/LuxCore/RenderTexturePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/LuxCore/RenderTexturePass.cpp @@ -38,7 +38,7 @@ namespace AZ m_attachmentSize = image->GetRHIImage()->GetDescriptor().m_size; m_attachmentFormat = format; m_shaderResourceGroup->SetImage(m_textureIndex, image); - QueueForBuild(); + QueueForBuildAndInitialization(); } void RenderTexturePass::BuildInternal() diff --git a/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp index 8484fdddc2..da174ab0d5 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp @@ -526,7 +526,7 @@ namespace AZ::Render for (EsmShadowmapsPass* esmPass : m_esmShadowmapsPasses) { - esmPass->QueueForBuild(); + esmPass->QueueForBuildAndInitialization(); } for (ProjectedShadowmapsPass* shadowPass : m_projectedShadowmapsPasses) diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index b154b031c2..9d0b36d126 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -81,7 +81,7 @@ namespace AZ //! ending with 'Internal' to define the behavior of your passes. These virtual are recursively //! called in preorder traversal throughout the pass tree. Only FrameBegin and FrameEnd are //! guaranteed to be called per frame. The other override-able functions are called as needed - //! when scheduled with the PassSystem. See QueueForBuild, QueueForRemoval and QueueForInitialization. + //! when scheduled with the PassSystem. See QueueForBuildAndInitialization, QueueForRemoval and QueueForInitialization. //! //! Passes are created by the PassFactory. They can be created using either Pass Name, //! a PassTemplate, or a PassRequest. To register your pass class with the PassFactory, @@ -154,8 +154,8 @@ namespace AZ // --- Utility functions --- - //! Queues the pass to have Build() called by the PassSystem on frame update - void QueueForBuild(); + //! Queues the pass to have Build() and Initilize() called by the PassSystem on frame update + void QueueForBuildAndInitialization(); //! Queues the pass to have RemoveFromParent() called by the PassSystem on frame update void QueueForRemoval(); @@ -319,12 +319,12 @@ namespace AZ // customize it's behavior, hence why these functions are called the pass behavior functions. // Resets everything in the pass (like Attachments). - // Called from PassSystem when pass is QueueForBuild. + // Called from PassSystem when pass is QueueForBuildAndInitialization. void Reset(); virtual void ResetInternal() { } // Builds and sets up any attachments and input/output connections the pass needs. - // Called from PassSystem when pass is QueueForBuild. + // Called from PassSystem when pass is QueueForBuildAndInitialization. void Build(bool calledFromPassSystem = false); virtual void BuildInternal() { } @@ -403,7 +403,8 @@ namespace AZ uint64_t m_parentEnabled : 1; // If this is a parent pass, indicates if the pass has already created children this frame - uint64_t m_alreadyCreated : 1; + // Prevents ParentPass::CreateChildPasses from executing multiple times in the same pass + uint64_t m_alreadyCreatedChildren : 1; // If this is a parent pass, indicates whether the pass needs to create child passes uint64_t m_createChildren : 1; @@ -453,6 +454,10 @@ namespace AZ // buffers and images don't get deleted during attachment build phase void StoreImportedAttachmentReferences(); + // Used by the RenderPipeline to create it's passes immediately instead of waiting on + // the next Pass System update. The function internally build and initializes the pass. + void ManualPipelineBuildAndInitialize(); + // --- Hierarchy related functions --- // Called when the pass gets a new spot in the pass hierarchy diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h index e34c61e3aa..a7513cc53c 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/PassDefines.h @@ -27,46 +27,75 @@ namespace AZ namespace RPI { // This enum tracks the state of passes across build, initialization and rendering + // + // Standard order of state progression: + // + // Uninitialized -> Queued -> Resetting -> Reset -> Building -> Built -> Initializing -> Initialized -> Idle -> Rendering -> Idle ... + // + // Addition state transitions: + // + // Queued -> Resetting + // -> Building + // -> Initializing + // + // Idle -> Queued + // -> Resetting + // -> Building + // -> Initializing + // -> Rendering + // + // Rendering -> Idle + // -> Queued (Rendering will transition to Queued if a pass was queued with the PassSystem during Rendering) + // enum class PassState : u8 { // Default value, you should only ever see this in the Pass constructor // Once the constructor is done, the Pass will set it's state to Reset Uninitialized, - + // | + // | + // V // Pass is queued with the Pass System for an update (see PassQueueState below) - // From Queued, the pass can transition into Resetting, Building or Initializing depending on the PassQueueState Queued, - + // | + // | + // V // Pass is currently in the process of resetting - // From Resetting, the pass can transition into Resetting, - - // Pass has been reset and is await build - // From Reset, the pass can transition to Building + // | + // | + // V + // Pass has been reset and is awaiting build Reset, - + // | + // | + // V // Pass is currently building - // From Building, the pass can transition to Built Building, - + // | + // | + // V // Pass has been built and is awaiting initialization - // From Built, the pass can transition to Initializing Built, - + // | + // | + // V // Pass is currently being initialized - // From Initializing, the pass can transition to Initialized Initializing, - + // | + // | + // V // Pass has been initialized - // From Initialized, the pass can transition to Idle Initialized, - + // | + // | + // V // Idle state, pass is awaiting rendering - // From Idle, the pass can transition to Queued, Resetting, Building, Initializing or Rendering Idle, - + // | + // | + // V // Pass is currently rendering. Pass must be in Idle state before entering this state - // From Rendering, the pass can transition to Idle or Queue if the pass was queued with the Pass System during Rendering Rendering }; @@ -76,15 +105,15 @@ namespace AZ // The pass is currently not in any queued state and may therefore transition to any queued state NoQueue, - // The pass is queued for Removal at the start of the next frame. Cannot be overridden by any other queue state + // The pass is queued for Removal at the start of the next frame. Has the highest priority and cannot be overridden by any other queue state QueuedForRemoval, - // The pass is queued for Build at the start of the frame. Note that any pass built at the start of the frame will also be initialized. - // This state can be overridden by QueuedForRemoval - QueuedForBuild, + // The pass is queued for Build at the start of the frame. Note that any pass built at the start of the frame will also be Initialized. + // This state can be overridden by QueuedForRemoval, as we don't want to build a pass that has been removed. + QueuedForBuildAndInitialization, // The pass is queued for Initialization at the start of the frame. - // This state has the lowest priority and can therefore be overridden by QueueForBuild or QueueForRemoval + // This state has the lowest priority and can therefore be overridden by QueueForBuildAndInitialization or QueueForRemoval. QueuedForInitialization, }; } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp index 773deafe68..cbae56e809 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ParentPass.cpp @@ -59,7 +59,7 @@ namespace AZ child->m_parent = this; child->OnHierarchyChange(); - QueueForBuild(); + QueueForBuildAndInitialization(); // Notify pipeline if (m_pipeline) @@ -249,11 +249,11 @@ namespace AZ void ParentPass::CreateChildPasses() { // The already created flag prevents this function from executing multiple times a frame - if (!m_flags.m_createChildren || m_flags.m_alreadyCreated) + if (!m_flags.m_createChildren || m_flags.m_alreadyCreatedChildren) { return; } - m_flags.m_alreadyCreated = true; + m_flags.m_alreadyCreatedChildren = true; RemoveChildren(); CreatePassesFromTemplate(); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index 7ae3559e38..99a6e23914 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -73,7 +73,7 @@ namespace AZ } PassSystemInterface::Get()->RegisterPass(this); - QueueForBuild(); + QueueForBuildAndInitialization(); // Skip reset since the pass just got created m_state = PassState::Reset; @@ -1038,15 +1038,22 @@ namespace AZ // --- Queuing functions with PassSystem --- - void Pass::QueueForBuild() + void Pass::QueueForBuildAndInitialization() { - // Queue if not already queued or if queued for initialization only. Don't queue if we're currently building. + // Don't queue if we're currently building. Don't queue if we're already queued for Build or Removal if (m_state != PassState::Building && - (m_queueState == PassQueueState::NoQueue || m_queueState == PassQueueState::QueuedForInitialization)) + m_queueState != PassQueueState::QueuedForBuildAndInitialization && + m_queueState != PassQueueState::QueuedForRemoval) { + // NOTE: We only queue for Build here, the queue for Initialization happens at the end of Pass::Build + // (doing it this way is an optimization to minimize the number of passes queued for initialization, + // as many passes will be initialized by their parent passes and thus don't need to be queued) PassSystemInterface::Get()->QueueForBuild(this); - m_queueState = PassQueueState::QueuedForBuild; + m_queueState = PassQueueState::QueuedForBuildAndInitialization; + + // Transition state + // If we are Rendering, the state will transition [Rendering -> Queued] in Pass::FrameEnd if (m_state != PassState::Rendering) { m_state = PassState::Queued; @@ -1056,12 +1063,16 @@ namespace AZ void Pass::QueueForInitialization() { - // Only queue if the pass is not in any other queue. Don't queue if we're currently initializing. + // Only queue if the pass is not in any queue. Don't queue if we're currently initializing. if (m_queueState == PassQueueState::NoQueue && m_state != PassState::Initializing) { PassSystemInterface::Get()->QueueForInitialization(this); m_queueState = PassQueueState::QueuedForInitialization; + // Transition state + // If we are Rendering, the state will transition [Rendering -> Queued] in Pass::FrameEnd + // If the state is Built, preserve the state since [Built -> Initializing] is a valid transition + // Preserving PassState::Built lets the pass ignore subsequent build calls in the same frame if (m_state != PassState::Rendering && m_state != PassState::Built) { m_state = PassState::Queued; @@ -1072,12 +1083,14 @@ namespace AZ void Pass::QueueForRemoval() { // Skip only if we're already queued for removal, otherwise proceed. - // QueuedForRemoval overrides QueuedForBuild and QueuedForInitialization. + // QueuedForRemoval overrides QueuedForBuildAndInitialization and QueuedForInitialization. if (m_queueState != PassQueueState::QueuedForRemoval) { PassSystemInterface::Get()->QueueForRemoval(this); m_queueState = PassQueueState::QueuedForRemoval; + // Transition state + // If we are Rendering, the state will transition [Rendering -> Queued] in Pass::FrameEnd if (m_state != PassState::Rendering) { m_state = PassState::Queued; @@ -1091,7 +1104,7 @@ namespace AZ { // Ensure we're in a valid state to reset. This ensures the pass won't be reset multiple times in the same frame. bool execute = (m_state == PassState::Idle); - execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuild); + execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForBuildAndInitialization); execute = execute || (m_state == PassState::Queued && m_queueState == PassQueueState::QueuedForInitialization); if (!execute) @@ -1187,7 +1200,7 @@ namespace AZ void Pass::OnInitializationFinished() { - m_flags.m_alreadyCreated = false; + m_flags.m_alreadyCreatedChildren = false; m_importedAttachmentStore.clear(); OnInitializationFinishedInternal(); @@ -1305,6 +1318,13 @@ namespace AZ return m_pipeline; } + void Pass::ManualPipelineBuildAndInitialize() + { + Build(); + Initialize(); + OnInitializationFinished(); + } + Scene* Pass::GetScene() const { if (m_pipeline) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/RenderToTexturePass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/RenderToTexturePass.cpp index c0a4785365..7306bf5b6a 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/RenderToTexturePass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/RenderToTexturePass.cpp @@ -100,7 +100,7 @@ namespace AZ m_passData.m_width = width; m_passData.m_height = height; OnUpdateOutputSize(); - QueueForBuild(); + QueueForBuildAndInitialization(); } void RenderToTexturePass::OnUpdateOutputSize() diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SelectorPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SelectorPass.cpp index 90390b78d7..82cea31ca1 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SelectorPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SelectorPass.cpp @@ -72,7 +72,7 @@ namespace AZ m_connections[outputSlotIndex] = inputSlotIndex; // Queue to rebuild attachment connections - QueueForBuild(); + QueueForBuildAndInitialization(); } void SelectorPass::Connect(const AZ::Name& inputSlot, const AZ::Name& outputSlot) @@ -113,7 +113,7 @@ namespace AZ m_connections[outputIdx] = inputIdx; // Queue to rebuild attachment connections - QueueForBuild(); + QueueForBuildAndInitialization(); } } // namespace RPI diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp index a7add17042..7b79efbaec 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/SwapChainPass.cpp @@ -150,7 +150,7 @@ namespace AZ void SwapChainPass::OnWindowResized([[maybe_unused]] uint32_t width, [[maybe_unused]] uint32_t height) { - QueueForBuild(); + QueueForBuildAndInitialization(); } void SwapChainPass::ReadbackSwapChain(AZStd::shared_ptr readback) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp index 051282a7b0..891190738f 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp @@ -109,9 +109,7 @@ namespace AZ pipeline->m_rootPass->SetRenderPipeline(pipeline); // Manually build the pipeline so we can gather the view tags from it's passes - pipeline->m_rootPass->Build(); - pipeline->m_rootPass->Initialize(); - pipeline->m_rootPass->OnInitializationFinished(); + pipeline->m_rootPass->ManualPipelineBuildAndInitialize(); pipeline->BuildPipelineViews(); } @@ -327,9 +325,7 @@ namespace AZ newRoot->SetRenderPipeline(this); // Manually build the pipeline - newRoot->Build(); - newRoot->Initialize(); - newRoot->OnInitializationFinished(); + newRoot->ManualPipelineBuildAndInitialize(); // Validate the new root PassValidationResults validation; From f61635c32741ee3e39e175b7cd5b9aff22a2219e Mon Sep 17 00:00:00 2001 From: mcgarrah <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Thu, 10 Jun 2021 14:59:09 -0500 Subject: [PATCH 109/205] Updated the SystemComponents in the Default Gem and Project Templates to initialize/deinitialize the Interface instance --- .../Code/Source/${Name}EditorSystemComponent.cpp | 16 ++++++++++++++++ .../Code/Source/${Name}EditorSystemComponent.h | 3 ++- .../Code/Source/${Name}SystemComponent.cpp | 16 ++++++++++++++++ .../Code/Source/${Name}SystemComponent.h | 3 +++ .../Code/Source/${Name}SystemComponent.cpp | 2 +- 5 files changed, 38 insertions(+), 2 deletions(-) diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.cpp b/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.cpp index 4fca5e8d3c..fedc37da6b 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.cpp +++ b/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.cpp @@ -25,6 +25,22 @@ namespace ${SanitizedCppName} } } + ${SanitizedCppName}EditorSystemComponent::${SanitizedCppName}EditorSystemComponent() + { + if (${SanitizedCppName}Interface::Get() == nullptr) + { + ${SanitizedCppName}Interface::Register(this); + } + } + + ${SanitizedCppName}EditorSystemComponent::~${SanitizedCppName}EditorSystemComponent() + { + if (${SanitizedCppName}Interface::Get() == this) + { + ${SanitizedCppName}Interface::Unregister(this); + } + } + void ${SanitizedCppName}EditorSystemComponent::Activate() { AzToolsFramework::EditorEvents::Bus::Handler::BusConnect(); diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.h b/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.h index 296d2c3bcd..ef7b0a2f2e 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.h +++ b/Templates/DefaultGem/Template/Code/Source/${Name}EditorSystemComponent.h @@ -29,7 +29,8 @@ namespace ${SanitizedCppName} AZ_COMPONENT(${SanitizedCppName}EditorSystemComponent, "${EditorSysCompClassId}"); static void Reflect(AZ::ReflectContext* context); - ${SanitizedCppName}EditorSystemComponent() = default; + ${SanitizedCppName}EditorSystemComponent(); + ~${SanitizedCppName}EditorSystemComponent(); private: static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided) diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.cpp b/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.cpp index 214d2cfe39..8f7eabf74e 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.cpp +++ b/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.cpp @@ -59,6 +59,22 @@ namespace ${SanitizedCppName} AZ_UNUSED(dependent); } + ${SanitizedCppName}SystemComponent::${SanitizedCppName}SystemComponent() + { + if (${SanitizedCppName}Interface::Get() == nullptr) + { + ${SanitizedCppName}Interface::Register(this); + } + } + + ${SanitizedCppName}SystemComponent::~${SanitizedCppName}SystemComponent() + { + if (${SanitizedCppName}Interface::Get() == this) + { + ${SanitizedCppName}Interface::Unregister(this); + } + } + void ${SanitizedCppName}SystemComponent::Init() { } diff --git a/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.h b/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.h index 5eff2e6430..8e91650c65 100644 --- a/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.h +++ b/Templates/DefaultGem/Template/Code/Source/${Name}SystemComponent.h @@ -35,6 +35,9 @@ namespace ${SanitizedCppName} static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required); static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent); + ${SanitizedCppName}SystemComponent(); + ~${SanitizedCppName}SystemComponent(); + protected: //////////////////////////////////////////////////////////////////////// // ${SanitizedCppName}RequestBus interface implementation diff --git a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp index 0d160bd45a..ed0a47d6db 100644 --- a/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp +++ b/Templates/DefaultProject/Template/Code/Source/${Name}SystemComponent.cpp @@ -66,7 +66,7 @@ namespace ${SanitizedCppName} ${SanitizedCppName}Interface::Register(this); } } - + ${SanitizedCppName}SystemComponent::~${SanitizedCppName}SystemComponent() { if (${SanitizedCppName}Interface::Get() == this) From 9efcc3a6b59a2adb439f248515f5a3dbb66a9b63 Mon Sep 17 00:00:00 2001 From: sconel Date: Thu, 10 Jun 2021 13:15:53 -0700 Subject: [PATCH 110/205] Fix compilation error and failing unit test --- .../Tests/Prefab/SpawnableCreateTests.cpp | 14 ++++++++++---- .../SpawnableRemoveEditorInfoTestFixture.cpp | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp b/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp index af178ec7a4..5cd4cffa35 100644 --- a/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp @@ -15,6 +15,7 @@ #include #include +#pragma optimize("", off) namespace UnitTest { using SpawnableCreateTest = PrefabTestFixture; @@ -71,24 +72,29 @@ namespace UnitTest m_prefabSystemComponent->CreatePrefab({ entitiesCreated[0] }, {}, "test/path1")); ASSERT_TRUE(firstInstance); + ASSERT_TRUE(firstInstance->HasContainerEntity()); + expectedEntityNameSet.insert(firstInstance->GetContainerEntity()->get().GetName()); + AZStd::unique_ptr secondInstance( m_prefabSystemComponent->CreatePrefab({ entitiesCreated[1] }, MakeInstanceList(AZStd::move(firstInstance)), "test/path2")); ASSERT_TRUE(secondInstance); + ASSERT_TRUE(secondInstance->HasContainerEntity()); + expectedEntityNameSet.insert(secondInstance->GetContainerEntity()->get().GetName()); + AZStd::unique_ptr thirdInstance( m_prefabSystemComponent->CreatePrefab({ entitiesCreated[2] }, MakeInstanceList(AZStd::move(secondInstance)), "test/path3")); ASSERT_TRUE(thirdInstance); ASSERT_TRUE(thirdInstance->HasContainerEntity()); - auto& containerEntity = thirdInstance->GetContainerEntity()->get(); - expectedEntityNameSet.insert(containerEntity.GetName()); + expectedEntityNameSet.insert(thirdInstance->GetContainerEntity()->get().GetName()); //Create Spawnable auto& prefabDom = m_prefabSystemComponent->FindTemplateDom(thirdInstance->GetTemplateId()); AzFramework::Spawnable spawnable; AzToolsFramework::Prefab::SpawnableUtils::CreateSpawnable(spawnable, prefabDom); - EXPECT_EQ(spawnable.GetEntities().size() - 1, normalEntityCount); // 1 for container entity + EXPECT_EQ(spawnable.GetEntities().size(), normalEntityCount + 3); // +1 for each container entity const auto& spawnableEntities = spawnable.GetEntities(); AZStd::unordered_set actualEntityNameSet; @@ -97,6 +103,6 @@ namespace UnitTest actualEntityNameSet.insert(spawnableEntity->GetName()); } - EXPECT_EQ(expectedEntityNameSet, actualEntityNameSet); + EXPECT_EQ(actualEntityNameSet, expectedEntityNameSet); } } diff --git a/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableRemoveEditorInfoTestFixture.cpp b/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableRemoveEditorInfoTestFixture.cpp index 152d09e9b7..03ce52cfd0 100644 --- a/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableRemoveEditorInfoTestFixture.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableRemoveEditorInfoTestFixture.cpp @@ -213,7 +213,7 @@ namespace UnitTest AZStd::unique_ptr convertedInstance(aznew Instance()); ASSERT_TRUE(AzToolsFramework::Prefab::PrefabDomUtils::LoadInstanceFromPrefabDom(*convertedInstance, m_prefabDom)); - convertedInstance->DetachNestedEntities( + convertedInstance->DetachAllEntitiesInHierarchy( [this](AZStd::unique_ptr entity) { m_runtimeEntities.emplace_back(entity.release()); From 607f32fae6384bdb655a466a147194477cd706e0 Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Thu, 10 Jun 2021 13:34:16 -0700 Subject: [PATCH 111/205] No need to check if the first character is a number. This is already validated before. --- scripts/o3de/o3de/engine_template.py | 4 ++++ scripts/o3de/o3de/utils.py | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/o3de/o3de/engine_template.py b/scripts/o3de/o3de/engine_template.py index 05d6c5f8b9..06e34cc449 100755 --- a/scripts/o3de/o3de/engine_template.py +++ b/scripts/o3de/o3de/engine_template.py @@ -1894,6 +1894,10 @@ def create_gem(gem_path: str, # gem name is now the last component of the gem_path gem_name = os.path.basename(gem_path) + if not utils.validate_identifier(gem_name): + logger.error(f'Gem name must be fewer than 64 characters, contain only alphanumeric, "_" or "-" characters, and start with a letter. {gem_name}') + return 1 + # gem name cannot be the same as a restricted platform name if gem_name in restricted_platforms: logger.error(f'Gem path cannot be a restricted name. {gem_name}') diff --git a/scripts/o3de/o3de/utils.py b/scripts/o3de/o3de/utils.py index 6bb536f0fd..11c668a37b 100755 --- a/scripts/o3de/o3de/utils.py +++ b/scripts/o3de/o3de/utils.py @@ -46,9 +46,6 @@ def sanitize_identifier_for_cpp(identifier: str) -> str: return '' sanitized_identifier = list(identifier) - if not (sanitized_identifier[0].isalpha() or sanitized_identifier[0] == '_'): - sanitized_identifier.insert(0, '_') - for index, character in enumerate(sanitized_identifier): if not (character.isalnum() or character == '_'): sanitized_identifier[index] = '_' From 829a6fcc8d8e65764b52e2c94955d7afe1f48b09 Mon Sep 17 00:00:00 2001 From: Terry Michaels Date: Thu, 10 Jun 2021 15:42:06 -0500 Subject: [PATCH 112/205] Removed Wireframe menu option since it doesn't work with Atom (#1248) --- Code/Sandbox/Editor/MainWindow.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Code/Sandbox/Editor/MainWindow.cpp b/Code/Sandbox/Editor/MainWindow.cpp index 3753c29064..39a98236c7 100644 --- a/Code/Sandbox/Editor/MainWindow.cpp +++ b/Code/Sandbox/Editor/MainWindow.cpp @@ -833,13 +833,6 @@ void MainWindow::InitActions() .Connect(&QAction::triggered, []() { SandboxEditor::SetAngleSnapping(!SandboxEditor::AngleSnappingEnabled()); }); // Display actions - am->AddAction(ID_WIREFRAME, tr("&Wireframe")) - .SetShortcut(tr("F3")) - .SetToolTip(tr("Wireframe (F3)")) - .SetCheckable(true) - .SetStatusTip(tr("Render in Wireframe Mode.")) - .RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateWireframe); - am->AddAction(ID_SWITCHCAMERA_DEFAULTCAMERA, tr("Default Camera")).SetCheckable(true) .RegisterUpdateCallback(cryEdit, &CCryEditApp::OnUpdateSwitchToDefaultCamera); am->AddAction(ID_SWITCHCAMERA_SEQUENCECAMERA, tr("Sequence Camera")).SetCheckable(true) From 40fa0a3a46560a0c27212c0671cbd30da2c7dded Mon Sep 17 00:00:00 2001 From: sconel Date: Thu, 10 Jun 2021 13:53:25 -0700 Subject: [PATCH 113/205] Remove optimization pragma --- .../AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp b/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp index 5cd4cffa35..14bd977318 100644 --- a/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Prefab/SpawnableCreateTests.cpp @@ -15,7 +15,6 @@ #include #include -#pragma optimize("", off) namespace UnitTest { using SpawnableCreateTest = PrefabTestFixture; From bf7696369686aceec4a19c704450ccfdf9363658 Mon Sep 17 00:00:00 2001 From: Ken Pruiksma Date: Thu, 10 Jun 2021 16:12:02 -0500 Subject: [PATCH 114/205] [ATOM-15683] StandardPBR shader now makes sure to mark w for no subsurface scattering. Currently all StandardPBR materials are being subject to a 2x2 box blur because the DiffuseSpecalarMerge pass thinks they have samples with subsurface scattering turned on, and this is degrading the quality of diffuse. (#1249) --- .../Assets/Materials/Types/StandardPBR_ForwardPass.azsl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Gems/Atom/Feature/Common/Assets/Materials/Types/StandardPBR_ForwardPass.azsl b/Gems/Atom/Feature/Common/Assets/Materials/Types/StandardPBR_ForwardPass.azsl index b221ee0a33..23e4ef0c10 100644 --- a/Gems/Atom/Feature/Common/Assets/Materials/Types/StandardPBR_ForwardPass.azsl +++ b/Gems/Atom/Feature/Common/Assets/Materials/Types/StandardPBR_ForwardPass.azsl @@ -295,6 +295,10 @@ PbrLightingOutput ForwardPassPS_Common(VSOutput IN, bool isFrontFace, out float lightingOutput.m_diffuseColor.rgb += lightingOutput.m_specularColor.rgb; // add specular lightingOutput.m_specularColor.rgb = baseColor * (1.0 - lightingOutput.m_diffuseColor.w); } + else + { + lightingOutput.m_diffuseColor.w = -1; // Disable subsurface scattering + } return lightingOutput; } @@ -341,4 +345,3 @@ ForwardPassOutput StandardPbr_ForwardPassPS_EDS(VSOutput IN, bool isFrontFace : #endif return OUT; } - From ffe913a2d61138a1fe4bd9e8a712eed5864db077 Mon Sep 17 00:00:00 2001 From: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com> Date: Thu, 10 Jun 2021 16:16:03 -0500 Subject: [PATCH 115/205] Added ability to convert multiply-nested slices (#1239) (#1245) * Addressed feedback from previous PR * Change missing entity aliases to be deterministic. When converting slices, this helps produce the same results on multiple reconversions of the same data. * Exposed the asset filter callback. This allows the slice converter to specifically load nested slices as opposed to not loading *any* referenced assets. * Added support for multiply-nested slice instance conversion. (cherry picked from commit 86136ddfa697fd3d71202be6f5423cf35bf9df4e) --- .../Instance/InstanceEntityIdMapper.cpp | 4 +- .../SerializeContextTools/Application.cpp | 2 +- .../SerializeContextTools/SliceConverter.cpp | 241 +++++++++++++----- .../SerializeContextTools/SliceConverter.h | 30 ++- ...iceConverterEditorEntityContextComponent.h | 2 +- .../Tools/SerializeContextTools/Utilities.cpp | 10 +- Code/Tools/SerializeContextTools/Utilities.h | 6 +- 7 files changed, 223 insertions(+), 72 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/InstanceEntityIdMapper.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/InstanceEntityIdMapper.cpp index 8a72b221dc..1b28320010 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/InstanceEntityIdMapper.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/InstanceEntityIdMapper.cpp @@ -154,7 +154,7 @@ namespace AzToolsFramework InstanceOptionalReference owningInstanceReference = m_storingInstance->m_instanceEntityMapper->FindOwningInstance(entityId); // Start with an empty alias to build out our reference path - // If we can't resolve this id we'll return a random new alias instead of a reference path + // If we can't resolve this id we'll return a new alias based on the entity ID instead of a reference path AliasPath relativeEntityAliasPath; if (!owningInstanceReference) { @@ -162,7 +162,7 @@ namespace AzToolsFramework "Prefab - EntityIdMapper: Entity with Id %s has no registered owning instance", entityId.ToString().c_str()); - return Instance::GenerateEntityAlias(); + return AZStd::string::format("Entity_%s", entityId.ToString().c_str()); } Instance* owningInstance = &(owningInstanceReference->get()); diff --git a/Code/Tools/SerializeContextTools/Application.cpp b/Code/Tools/SerializeContextTools/Application.cpp index 918afd731c..274d04e7ce 100644 --- a/Code/Tools/SerializeContextTools/Application.cpp +++ b/Code/Tools/SerializeContextTools/Application.cpp @@ -35,7 +35,7 @@ namespace AZ Application::Application(int argc, char** argv) : AzToolsFramework::ToolsApplication(&argc, &argv) { - // We need a specialized variant of EditorEntityContextCompnent for the SliceConverter, so we register the descriptor here. + // We need a specialized variant of EditorEntityContextComponent for the SliceConverter, so we register the descriptor here. RegisterComponentDescriptor(AzToolsFramework::SliceConverterEditorEntityContextComponent::CreateDescriptor()); AZ::IO::FixedMaxPath projectPath = AZ::Utils::GetProjectPath(); diff --git a/Code/Tools/SerializeContextTools/SliceConverter.cpp b/Code/Tools/SerializeContextTools/SliceConverter.cpp index 56b3689d6b..9fba060960 100644 --- a/Code/Tools/SerializeContextTools/SliceConverter.cpp +++ b/Code/Tools/SerializeContextTools/SliceConverter.cpp @@ -128,8 +128,7 @@ namespace AZ return result; } - bool SliceConverter::ConvertSliceFile( - AZ::SerializeContext* serializeContext, const AZStd::string& slicePath, bool isDryRun) + bool SliceConverter::ConvertSliceFile(AZ::SerializeContext* serializeContext, const AZStd::string& slicePath, bool isDryRun) { /* To convert a slice file, we read the input file in via ObjectStream, then use the "class ready" callback to convert * the data in memory to a Prefab. @@ -177,11 +176,22 @@ namespace AZ } AZ::Entity* rootEntity = reinterpret_cast(classPtr); - return ConvertSliceToPrefab(context, outputPath, isDryRun, rootEntity); + bool convertResult = ConvertSliceToPrefab(context, outputPath, isDryRun, rootEntity); + // Clear out the references to any nested slices so that the nested assets get unloaded correctly at the end of + // the conversion. + ClearSliceAssetReferences(rootEntity); + return convertResult; }; // Read in the slice file and call the callback on completion to convert the read-in slice to a prefab. - if (!Utilities::InspectSerializedFile(inputPath.c_str(), serializeContext, callback)) + // This will also load dependent slice assets, but no other dependent asset types. + // Since we're not actually initializing any of the entities, we don't need any of the non-slice assets to be loaded. + if (!Utilities::InspectSerializedFile( + inputPath.c_str(), serializeContext, callback, + [](const AZ::Data::AssetFilterInfo& filterInfo) + { + return (filterInfo.m_assetType == azrtti_typeid()); + })) { AZ_Warning("Convert-Slice", false, "Failed to load '%s'. File may not contain an object stream.", inputPath.c_str()); result = false; @@ -256,7 +266,7 @@ namespace AZ for (auto& alias : entityAliases) { auto id = sourceInstance->GetEntityId(alias); - auto result = m_aliasIdMapper.emplace(TemplateEntityIdPair(templateId, id), alias); + auto result = m_aliasIdMapper.emplace(id, SliceEntityMappingInfo(templateId, alias)); if (!result.second) { AZ_Printf("Convert-Slice", " Duplicate entity alias -> entity id entries found, conversion may not be successful.\n"); @@ -342,10 +352,9 @@ namespace AZ // For each nested slice, convert it. for (auto& slice : sliceList) { - // Get the nested slice asset + // Get the nested slice asset. These should already be preloaded due to loading the root asset. auto sliceAsset = slice.GetSliceAsset(); - sliceAsset.QueueLoad(); - sliceAsset.BlockUntilLoadComplete(); + AZ_Assert(sliceAsset.IsReady(), "slice asset hasn't been loaded yet!"); // The slice list gives us asset IDs, and we need to get to the source path. So first we get the asset path from the ID, // then we get the source path from the asset path. @@ -429,6 +438,28 @@ namespace AZ auto instanceToTemplateInterface = AZ::Interface::Get(); auto prefabSystemComponentInterface = AZ::Interface::Get(); + // When creating the new instance, we would like to have deterministic instance aliases. Prefabs that depend on this one + // will have patches that reference the alias, so if we reconvert this slice a second time, we would like it to produce + // the same results. To get a deterministic and unique alias, we rely on the slice instance. The slice instance contains + // a map of slice entity IDs to unique instance entity IDs. We'll just consistently use the first entry in the map as the + // unique instance ID. + AZStd::string instanceAlias; + auto entityIdMap = instance.GetEntityIdMap(); + if (!entityIdMap.empty()) + { + instanceAlias = AZStd::string::format("Instance_%s", entityIdMap.begin()->second.ToString().c_str()); + } + else + { + instanceAlias = AZStd::string::format("Instance_%s", AZ::Entity::MakeId().ToString().c_str()); + } + + // Before processing any further, save off all the known entity IDs from this instance and how they map back to the base + // nested prefab that they've come from (i.e. this one). As we proceed up the chain of nesting, this will build out a + // hierarchical list of owning instances for each entity that we can trace upwards to know where to add the entity into + // our nested prefab instance. + UpdateSliceEntityInstanceMappings(instance.GetEntityIdToBaseMap(), instanceAlias); + // Create a new unmodified prefab Instance for the nested slice instance. auto nestedInstance = AZStd::make_unique(); AzToolsFramework::Prefab::Instance::EntityList newEntities; @@ -465,15 +496,62 @@ namespace AZ auto instantiated = dataPatch.Apply(&sourceObjects, dependentSlice->GetSerializeContext(), filterDesc, sourceDataFlags, targetDataFlags); - // Run through all the instantiated entities and fix up their parent hierarchy: - // - Invalid parents need to get set to the container. - // - Valid parents into the top-level instance mean that the nested slice instance is also child-nested under an entity. - // Prefabs handle this type of nesting differently - we need to set the parent to the container, and the container's - // parent to that other instance. - auto containerEntity = nestedInstance->GetContainerEntity(); - auto containerEntityId = containerEntity->get().GetId(); - for (auto entity : instantiated->m_entities) + // Replace all the entities in the instance with the new patched ones. To do this, we'll remove all existing entities + // throughout the entire nested hierarchy, then add the new patched entities back in at the appropriate place in the hierarchy. + // (This is easier than trying to figure out what the patched data changes are - we can let the JSON patch handle it for us) + + nestedInstance->RemoveNestedEntities( + [](const AZStd::unique_ptr&) + { + return true; + }); + + AZStd::vector> addedEntityList; + + for (auto& entity : instantiated->m_entities) { + auto entityEntry = m_aliasIdMapper.find(entity->GetId()); + if (entityEntry != m_aliasIdMapper.end()) + { + auto& mappingStruct = entityEntry->second; + + // Starting with the current nested instance, walk downwards through the nesting hierarchy until we're at the + // correct level for this instanced entity ID, then add it. Because we're adding it with the non-instanced alias, + // it doesn't matter what the slice's instanced entity ID is, and the JSON patch will correctly pick up the changes + // we've made for this instance. + AzToolsFramework::Prefab::Instance* addingInstance = nestedInstance.get(); + for (auto it = mappingStruct.m_nestedInstanceAliases.rbegin(); it != mappingStruct.m_nestedInstanceAliases.rend(); it++) + { + auto foundInstance = addingInstance->FindNestedInstance(*it); + if (foundInstance.has_value()) + { + addingInstance = &(foundInstance->get()); + } + else + { + AZ_Assert(false, "Couldn't find nested instance %s", it->c_str()); + } + } + addingInstance->AddEntity(*entity, mappingStruct.m_entityAlias); + addedEntityList.emplace_back(entity, addingInstance); + } + else + { + AZ_Assert(false, "Failed to find entity alias."); + nestedInstance->AddEntity(*entity); + addedEntityList.emplace_back(entity, nestedInstance.get()); + } + } + + for (auto& [entity, addingInstance] : addedEntityList) + { + // Fix up the parent hierarchy: + // - Invalid parents need to get set to the container. + // - Valid parents into the top-level instance mean that the nested slice instance is also child-nested under an entity. + // Prefabs handle this type of nesting differently - we need to set the parent to the container, and the container's + // parent to that other instance. + auto containerEntity = addingInstance->GetContainerEntity(); + auto containerEntityId = containerEntity->get().GetId(); AzToolsFramework::Components::TransformComponent* transformComponent = entity->FindComponent(); if (transformComponent) @@ -482,45 +560,61 @@ namespace AZ auto parentId = transformComponent->GetParentId(); if (parentId.IsValid()) { - auto parentAlias = m_aliasIdMapper.find(TemplateEntityIdPair(topLevelInstance->GetTemplateId(), parentId)); - if (parentAlias != m_aliasIdMapper.end()) + // Look to see if the parent ID exists in the same instance (i.e. an entity in the nested slice is a + // child of an entity in the containing slice). If this case exists, we need to adjust the parents so that + // the child entity connects to the prefab container, and the *container* is the child of the entity in the + // containing slice. (i.e. go from A->B to A->container->B) + auto parentEntry = m_aliasIdMapper.find(parentId); + if (parentEntry != m_aliasIdMapper.end()) { - // Set the container's parent to this entity's parent, and set this entity's parent to the container - // (i.e. go from A->B to A->container->B) - auto newParentId = topLevelInstance->GetEntityId(parentAlias->second); - SetParentEntity(containerEntity->get(), newParentId, false); - onlySetIfInvalid = false; + auto& parentMappingInfo = parentEntry->second; + if (parentMappingInfo.m_templateId != addingInstance->GetTemplateId()) + { + if (topLevelInstance->GetTemplateId() == parentMappingInfo.m_templateId) + { + parentId = topLevelInstance->GetEntityId(parentMappingInfo.m_entityAlias); + } + else + { + AzToolsFramework::Prefab::Instance* parentInstance = addingInstance; + + while ((parentInstance->GetParentInstance().has_value()) && + (parentInstance->GetTemplateId() != parentMappingInfo.m_templateId)) + { + parentInstance = &(parentInstance->GetParentInstance()->get()); + } + + if (parentInstance->GetTemplateId() == parentMappingInfo.m_templateId) + { + parentId = parentInstance->GetEntityId(parentMappingInfo.m_entityAlias); + } + else + { + AZ_Assert(false, "Could not find parent instance"); + } + } + + // Set the container's parent to this entity's parent, and set this entity's parent to the container + // auto newParentId = topLevelInstance->GetEntityId(parentMappingInfo.m_entityAlias); + SetParentEntity(containerEntity->get(), parentId, false); + onlySetIfInvalid = false; + } } + + // If the parent ID is valid, but NOT in the top-level instance, then it's just a nested hierarchy inside + // the slice and we don't need to adjust anything. "onlySetIfInvalid" will still be true, which means we + // won't change the parent ID below. } - SetParentEntity(*entity, containerEntityId, onlySetIfInvalid); + SetParentEntity(*entity, containerEntityId, onlySetIfInvalid); } } - // Replace all the entities in the instance with the new patched ones. - // (This is easier than trying to figure out what the patched data changes are - we can let the JSON patch handle it for us) - nestedInstance->RemoveNestedEntities( - [](const AZStd::unique_ptr&) - { - return true; - }); - for (auto& entity : instantiated->m_entities) - { - auto entityAlias = m_aliasIdMapper.find(TemplateEntityIdPair(nestedInstance->GetTemplateId(), entity->GetId())); - if (entityAlias != m_aliasIdMapper.end()) - { - nestedInstance->AddEntity(*entity, entityAlias->second); - } - else - { - AZ_Assert(false, "Failed to find entity alias."); - nestedInstance->AddEntity(*entity); - } - } // Set the container entity of the nested prefab to have the top-level prefab as the parent if it hasn't already gotten // another entity as its parent. { + auto containerEntity = nestedInstance->GetContainerEntity(); constexpr bool onlySetIfInvalid = true; SetParentEntity(containerEntity->get(), topLevelInstance->GetContainerEntityId(), onlySetIfInvalid); } @@ -531,21 +625,7 @@ namespace AZ AzToolsFramework::Prefab::PrefabDom topLevelInstanceDomBefore; instanceToTemplateInterface->GenerateDomForInstance(topLevelInstanceDomBefore, *topLevelInstance); - // When creating the new instance, we would like to have deterministic instance aliases. Prefabs that depend on this one - // will have patches that reference the alias, so if we reconvert this slice a second time, we would like it to produce - // the same results. To get a deterministic and unique alias, we rely on the slice instance. The slice instance contains - // a map of slice entity IDs to unique instance entity IDs. We'll just consistently use the first entry in the map as the - // unique instance ID. - AZStd::string instanceAlias; - auto entityIdMap = instance.GetEntityIdMap(); - if (!entityIdMap.empty()) - { - instanceAlias = AZStd::string::format("Instance_%s", entityIdMap.begin()->second.ToString().c_str()); - } - else - { - instanceAlias = AZStd::string::format("Instance_%s", AZ::Entity::MakeId().ToString().c_str()); - } + // Use the deterministic instance alias for this new instance AzToolsFramework::Prefab::Instance& addedInstance = topLevelInstance->AddInstance(AZStd::move(nestedInstance), instanceAlias); AzToolsFramework::Prefab::PrefabDom topLevelInstanceDomAfter; @@ -670,5 +750,48 @@ namespace AZ AZ_Error("Convert-Slice", disconnected, "Asset Processor failed to disconnect successfully."); } + void SliceConverter::ClearSliceAssetReferences(AZ::Entity* rootEntity) + { + SliceComponent* sliceComponent = AZ::EntityUtils::FindFirstDerivedComponent(rootEntity); + // Make a copy of the slice list and remove all of them from the loaded component. + AZ::SliceComponent::SliceList slices = sliceComponent->GetSlices(); + for (auto& slice : slices) + { + sliceComponent->RemoveSlice(&slice); + } + } + + void SliceConverter::UpdateSliceEntityInstanceMappings( + const AZ::SliceComponent::EntityIdToEntityIdMap& sliceEntityIdMap, const AZStd::string& currentInstanceAlias) + { + // For each instanced entity, map its ID all the way back to the original prefab template and entity ID that it came from. + // This counts on being run recursively from the leaf nodes upwards, so we first get B->A, + // then C->B which becomes a C->A entry, then D->C which becomes D->A, etc. + for (auto& [newId, oldId] : sliceEntityIdMap) + { + // Try to find the conversion chain from the old ID. if it's there, copy it and use it for the new ID, plus add this + // instance's name to the end of the chain. If it's not there, skip it, since it's probably the slice metadata entity, + // which we didn't convert. + auto parentEntry = m_aliasIdMapper.find(oldId); + if (parentEntry != m_aliasIdMapper.end()) + { + // Only add this instance's name if we don't already have an entry for the new ID. + if (m_aliasIdMapper.find(newId) == m_aliasIdMapper.end()) + { + auto newMappingEntry = m_aliasIdMapper.emplace(newId, parentEntry->second).first; + newMappingEntry->second.m_nestedInstanceAliases.emplace_back(currentInstanceAlias); + } + else + { + // If we already had an entry for the new ID, it might be because the old and new ID are the same. This happens + // when nesting multiple prefabs directly underneath each other without a nesting entity in-between. + // If the IDs are different, it's an unexpected error condition. + AZ_Assert(oldId == newId, "The same entity instance ID has unexpectedly appeared twice in the same nested prefab."); + } + } + } + } + + } // namespace SerializeContextTools } // namespace AZ diff --git a/Code/Tools/SerializeContextTools/SliceConverter.h b/Code/Tools/SerializeContextTools/SliceConverter.h index 82dcf30383..ee0bb0a539 100644 --- a/Code/Tools/SerializeContextTools/SliceConverter.h +++ b/Code/Tools/SerializeContextTools/SliceConverter.h @@ -42,8 +42,6 @@ namespace AZ bool ConvertSliceFiles(Application& application); private: - using TemplateEntityIdPair = AZStd::pair; - bool ConnectToAssetProcessor(); void DisconnectFromAssetProcessor(); @@ -60,10 +58,32 @@ namespace AZ void SetParentEntity(const AZ::Entity& entity, const AZ::EntityId& parentId, bool onlySetIfInvalid); void PrintPrefab(AzToolsFramework::Prefab::TemplateId templateId); bool SavePrefab(AZ::IO::PathView outputPath, AzToolsFramework::Prefab::TemplateId templateId); + void ClearSliceAssetReferences(AZ::Entity* rootEntity); + void UpdateSliceEntityInstanceMappings( + const AZ::SliceComponent::EntityIdToEntityIdMap& sliceEntityIdMap, + const AZStd::string& currentInstanceAlias); - // Track all of the entity IDs created and the prefab entity aliases that map to them. This mapping is used - // with nested slice conversion to remap parent entity IDs to the correct prefab entity IDs. - AZStd::unordered_map m_aliasIdMapper; + // When converting slice entities, especially for nested slices, we need to keep track of the original + // entity ID, the entity alias it uses in the prefab, and which template and nested instance path it maps to. + // As we encounter each instanced entity ID, we can look it up in this structure and use this to determine how to properly + // add it to the correct place in the hierarchy. + struct SliceEntityMappingInfo + { + SliceEntityMappingInfo(AzToolsFramework::Prefab::TemplateId templateId, AzToolsFramework::Prefab::EntityAlias entityAlias) + : m_templateId(templateId) + , m_entityAlias(entityAlias) + { + } + + AzToolsFramework::Prefab::TemplateId m_templateId; + AzToolsFramework::Prefab::EntityAlias m_entityAlias; + AZStd::vector m_nestedInstanceAliases; + }; + + // Track all of the entity IDs created and associate them with enough conversion information to know how to place the + // entities in the correct place in the prefab hierarchy and fix up parent entity ID mappings to work with the nested + // prefab schema. + AZStd::unordered_map m_aliasIdMapper; // Track all of the created prefab template IDs on a slice conversion so that they can get removed at the end of the // conversion for that file. diff --git a/Code/Tools/SerializeContextTools/SliceConverterEditorEntityContextComponent.h b/Code/Tools/SerializeContextTools/SliceConverterEditorEntityContextComponent.h index 166cb2abdf..07246b20a7 100644 --- a/Code/Tools/SerializeContextTools/SliceConverterEditorEntityContextComponent.h +++ b/Code/Tools/SerializeContextTools/SliceConverterEditorEntityContextComponent.h @@ -36,7 +36,7 @@ namespace AzToolsFramework SliceConverterEditorEntityContextComponent() : EditorEntityContextComponent() {} // Simple API to selectively disable this logic *only* when performing slice to prefab conversion. - static void DisableOnContextEntityLogic() + static inline void DisableOnContextEntityLogic() { m_enableOnContextEntityLogic = false; } diff --git a/Code/Tools/SerializeContextTools/Utilities.cpp b/Code/Tools/SerializeContextTools/Utilities.cpp index cfd75a44e7..d39a71dd24 100644 --- a/Code/Tools/SerializeContextTools/Utilities.cpp +++ b/Code/Tools/SerializeContextTools/Utilities.cpp @@ -209,7 +209,11 @@ namespace AZ::SerializeContextTools return result; } - bool Utilities::InspectSerializedFile(const char* filePath, SerializeContext* sc, const ObjectStream::ClassReadyCB& classCallback) + bool Utilities::InspectSerializedFile( + const char* filePath, + SerializeContext* sc, + const ObjectStream::ClassReadyCB& classCallback, + Data::AssetFilterCB assetFilterCallback) { if (!AZ::IO::FileIOBase::GetInstance()->Exists(filePath)) { @@ -248,9 +252,9 @@ namespace AZ::SerializeContextTools AZ::IO::MemoryStream stream(data.data(), fileLength); ObjectStream::FilterDescriptor filter; - // Never load dependencies. That's another file that would need to be processed + // By default, never load dependencies. That's another file that would need to be processed // separately from this one. - filter.m_assetCB = AZ::Data::AssetFilterNoAssetLoading; + filter.m_assetCB = assetFilterCallback; if (!ObjectStream::LoadBlocking(&stream, *sc, classCallback, filter)) { AZ_Printf("Verify", "Failed to deserialize '%s'\n", filePath); diff --git a/Code/Tools/SerializeContextTools/Utilities.h b/Code/Tools/SerializeContextTools/Utilities.h index f08bfc2f64..9c9cd28ac6 100644 --- a/Code/Tools/SerializeContextTools/Utilities.h +++ b/Code/Tools/SerializeContextTools/Utilities.h @@ -39,7 +39,11 @@ namespace AZ static AZStd::vector GetSystemComponents(const Application& application); - static bool InspectSerializedFile(const char* filePath, SerializeContext* sc, const ObjectStream::ClassReadyCB& classCallback); + static bool InspectSerializedFile( + const char* filePath, + SerializeContext* sc, + const ObjectStream::ClassReadyCB& classCallback, + Data::AssetFilterCB assetFilterCallback = AZ::Data::AssetFilterNoAssetLoading); private: Utilities() = delete; From f42db49a86a847935a77a6702311a53f9c4bdd10 Mon Sep 17 00:00:00 2001 From: mcphedar <67011188+mcphedar@users.noreply.github.com> Date: Thu, 10 Jun 2021 16:31:37 -0500 Subject: [PATCH 116/205] Update issue templates Added AR bug report --- .github/ISSUE_TEMPLATE/ar_bug_report-md.md | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/ar_bug_report-md.md diff --git a/.github/ISSUE_TEMPLATE/ar_bug_report-md.md b/.github/ISSUE_TEMPLATE/ar_bug_report-md.md new file mode 100644 index 0000000000..e2f64b88b8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/ar_bug_report-md.md @@ -0,0 +1,29 @@ +--- +name: ar_bug_report.md +about: Create a bug for a an issue found in the Automated Review +title: '' +labels: '' +assignees: '' + +--- + +--- +name: Automated Review Bug report +about: Create a report when a failure occurs in main branch +title: '' +labels: 'Automated_Review' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Failed Jenkins Job Information:** +The name of the job that failed, job build number, and code snippit of the failure. + +**Attachments** +Attach the Jenkins job log as a .txt file and any other relevant information. + +**Additional context** +Add any other context about the problem here. From d53b5a0bed97d7efb48b04b599cb4d5860f96a7b Mon Sep 17 00:00:00 2001 From: mnaumov Date: Thu, 10 Jun 2021 14:37:02 -0700 Subject: [PATCH 117/205] PR feedback --- .../CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp index 3c5063a69e..a2f113f1e1 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp @@ -217,13 +217,13 @@ namespace AZ { EditorMeshStatsForLod stats; const auto& meshes = lodAsset->GetMeshes(); - stats.m_meshCount = lodAsset->GetMeshes().size(); + stats.m_meshCount = meshes.size(); for (const auto& mesh : meshes) { stats.m_vertCount += mesh.GetVertexCount(); stats.m_triCount += mesh.GetIndexCount() / 3; } - m_stats.m_meshStatsForLod.emplace_back(stats); + m_stats.m_meshStatsForLod.emplace_back(AZStd::move(stats)); } // Refresh the tree when the model loads to update UI based on the model. From bbae6490d974c8d7084a9c615be5d0334f2b19e6 Mon Sep 17 00:00:00 2001 From: srikappa-amzn Date: Thu, 10 Jun 2021 14:38:14 -0700 Subject: [PATCH 118/205] Enabled LyTestTools trait only for windows and mac --- cmake/Platform/Android/PAL_android.cmake | 1 + cmake/Platform/Linux/PAL_linux.cmake | 1 + cmake/Platform/Mac/PAL_mac.cmake | 1 + cmake/Platform/Windows/PAL_windows.cmake | 1 + cmake/Platform/iOS/PAL_ios.cmake | 1 + scripts/ctest/CMakeLists.txt | 24 +++++++++++++----------- 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/cmake/Platform/Android/PAL_android.cmake b/cmake/Platform/Android/PAL_android.cmake index 5f35767f98..dd61e35e53 100644 --- a/cmake/Platform/Android/PAL_android.cmake +++ b/cmake/Platform/Android/PAL_android.cmake @@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED FALSE) # Test library support ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED FALSE) ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED FALSE) +ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED FALSE) ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED FALSE) ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE) diff --git a/cmake/Platform/Linux/PAL_linux.cmake b/cmake/Platform/Linux/PAL_linux.cmake index 40b73adcec..c15f2bada9 100644 --- a/cmake/Platform/Linux/PAL_linux.cmake +++ b/cmake/Platform/Linux/PAL_linux.cmake @@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED FALSE) # Test library support ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED TRUE) ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED TRUE) +ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED FALSE) ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED TRUE) ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE) diff --git a/cmake/Platform/Mac/PAL_mac.cmake b/cmake/Platform/Mac/PAL_mac.cmake index 988d36af14..f49578a83a 100644 --- a/cmake/Platform/Mac/PAL_mac.cmake +++ b/cmake/Platform/Mac/PAL_mac.cmake @@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED FALSE) # Test library support ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED TRUE) ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED TRUE) +ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED TRUE) ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED FALSE) ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE) diff --git a/cmake/Platform/Windows/PAL_windows.cmake b/cmake/Platform/Windows/PAL_windows.cmake index ddcc3a27c7..fbf65db63f 100644 --- a/cmake/Platform/Windows/PAL_windows.cmake +++ b/cmake/Platform/Windows/PAL_windows.cmake @@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED TRUE) # Test library support ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED TRUE) ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED TRUE) +ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED TRUE) ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED TRUE) ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE) diff --git a/cmake/Platform/iOS/PAL_ios.cmake b/cmake/Platform/iOS/PAL_ios.cmake index a6828a1bc7..981bb9cab1 100644 --- a/cmake/Platform/iOS/PAL_ios.cmake +++ b/cmake/Platform/iOS/PAL_ios.cmake @@ -24,6 +24,7 @@ ly_set(PAL_TRAIT_BUILD_CPACK_SUPPORTED FALSE) # Test library support ly_set(PAL_TRAIT_TEST_GOOGLE_TEST_SUPPORTED FALSE) ly_set(PAL_TRAIT_TEST_GOOGLE_BENCHMARK_SUPPORTED FALSE) +ly_set(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED FALSE) ly_set(PAL_TRAIT_TEST_PYTEST_SUPPORTED FALSE) ly_set(PAL_TRAIT_TEST_TARGET_TYPE MODULE) diff --git a/scripts/ctest/CMakeLists.txt b/scripts/ctest/CMakeLists.txt index 575be53cc7..c4f86087b1 100644 --- a/scripts/ctest/CMakeLists.txt +++ b/scripts/ctest/CMakeLists.txt @@ -21,18 +21,20 @@ endif() ################################################################################ foreach(suite_name ${LY_TEST_GLOBAL_KNOWN_SUITE_NAMES}) - ly_add_pytest( - NAME pytest_sanity_${suite_name}_no_gpu - PATH ${CMAKE_CURRENT_LIST_DIR}/sanity_test.py - TEST_SUITE ${suite_name} - ) + if(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED) + ly_add_pytest( + NAME pytest_sanity_${suite_name}_no_gpu + PATH ${CMAKE_CURRENT_LIST_DIR}/sanity_test.py + TEST_SUITE ${suite_name} + ) - ly_add_pytest( - NAME pytest_sanity_${suite_name}_requires_gpu - PATH ${CMAKE_CURRENT_LIST_DIR}/sanity_test.py - TEST_SUITE ${suite_name} - TEST_REQUIRES gpu - ) + ly_add_pytest( + NAME pytest_sanity_${suite_name}_requires_gpu + PATH ${CMAKE_CURRENT_LIST_DIR}/sanity_test.py + TEST_SUITE ${suite_name} + TEST_REQUIRES gpu + ) + endif() endforeach() # EPB Sanity test is being registered here to validate that the ly_add_editor_python_test function works. From b18b03b8fb8d1a79d14fead2475fea25d1c4b660 Mon Sep 17 00:00:00 2001 From: moudgils Date: Thu, 10 Jun 2021 14:40:52 -0700 Subject: [PATCH 119/205] Added comments and more format fixes --- .../Shaders/MorphTargets/MorphTargetSRG.azsli | 3 +++ .../LuminanceHistogramGenerator.azsl | 4 +++ .../RHI/DX12/Code/Source/RHI/Conversions.cpp | 10 +++++++ .../Metal/Code/Source/RHI/ArgumentBuffer.cpp | 26 +++++++++---------- .../Metal/Code/Source/RHI/ArgumentBuffer.h | 13 +++++++--- .../RHI/Metal/Code/Source/RHI/CommandList.h | 6 ++++- .../RHI/Metal/Code/Source/RHI/Conversions.cpp | 10 +++++++ .../RHI/Vulkan/Code/Source/RHI/Conversion.cpp | 6 +++++ 8 files changed, 60 insertions(+), 18 deletions(-) diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli b/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli index 83193c8559..f4b1beeb3e 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli +++ b/Gems/Atom/Feature/Common/Assets/Shaders/MorphTargets/MorphTargetSRG.azsli @@ -16,6 +16,9 @@ ShaderResourceGroup MorphTargetPassSrg : SRG_PerPass { + //Since we do Interlocked atomic operations on this buffer it can not be RWBuffer due to broken MetalSL generation. + //It stems from the fact that typed buffers gets converted to textures and that breaks with atomic operations. + //In future we can handle this under the hood via our metal shader pipeline RWStructuredBuffer m_accumulatedDeltas; } diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.azsl index 9d01a12fd6..ee95515a2a 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LuminanceHistogramGenerator.azsl @@ -20,6 +20,10 @@ ShaderResourceGroup PassSrg : SRG_PerPass { Texture2D m_inputTexture; + + //Since we do Interlocked atomic operations on this buffer it can not be RWBuffer due to broken MetalSL generation. + //It stems from the fact that typed buffers gets converted to textures and that breaks with atomic operations. + //In future we can handle this under the hood via our metal shader pipeline RWStructuredBuffer m_outputTexture; } diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp index 73d80ed78c..9776734158 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp @@ -1360,6 +1360,16 @@ namespace AZ uint32_t ConvertColorWriteMask(uint8_t writeMask) { uint32_t dflags = 0; + if(writeMask == 0) + { + return dflags; + } + + if(RHI::CheckBitsAll(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) + { + return D3D12_COLOR_WRITE_ENABLE_ALL; + } + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) { dflags |= D3D12_COLOR_WRITE_ENABLE_RED; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp index 680481d417..49ff4146fc 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp @@ -397,19 +397,18 @@ namespace AZ uint8_t numBitsSet = RHI::CountBitsSet(static_cast(srgResourcesVisInfo.m_constantDataStageMask)); if( numBitsSet > 0) { + id mtlconstantBufferResource = m_constantBuffer.GetGpuAddress>(); if(RHI::CheckBitsAny(srgResourcesVisInfo.m_constantDataStageMask, RHI::ShaderStageMask::Compute)) { - uint16_t arrayIndex = resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArrayLen; - resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArray[arrayIndex] = m_constantBuffer.GetGpuAddress>(); - resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArrayLen++; + uint16_t arrayIndex = resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArrayLen++; + resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArray[arrayIndex] = mtlconstantBufferResource; } else { MTLRenderStages mtlRenderStages = GetRenderStages(srgResourcesVisInfo.m_constantDataStageMask); AZStd::pair key = AZStd::make_pair(MTLResourceUsageRead, mtlRenderStages); - uint16_t arrayIndex = resourcesToMakeResidentGraphics[key].m_resourceArrayLen; - resourcesToMakeResidentGraphics[key].m_resourceArray[arrayIndex] = m_constantBuffer.GetGpuAddress>(); - resourcesToMakeResidentGraphics[key].m_resourceArrayLen++; + uint16_t arrayIndex = resourcesToMakeResidentGraphics[key].m_resourceArrayLen++; + resourcesToMakeResidentGraphics[key].m_resourceArray[arrayIndex] = mtlconstantBufferResource; } } } @@ -431,7 +430,8 @@ namespace AZ } else { - AZ_Assert(RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Vertex) || RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Fragment), "The visibility mask %i is not set for Vertex or fragment stage", visMaskIt->second); + bool isBoundToGraphics = RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Vertex) || RHI::CheckBitsAny(visMaskIt->second, RHI::ShaderStageMask::Fragment); + AZ_Assert(isBoundToGraphics, "The visibility mask %i is not set for Vertex or fragment stage", visMaskIt->second); CollectResourcesForGraphics(commandEncoder, visMaskIt->second, it.second, resourcesToMakeResidentGraphics); } } @@ -480,9 +480,9 @@ namespace AZ AZ_Assert(false, "Undefined Resource type"); } } - uint16_t arrayIndex = resourcesToMakeResidentMap[resourceUsage].m_resourceArrayLen; - resourcesToMakeResidentMap[resourceUsage].m_resourceArray[arrayIndex] = resourceBindingData.m_resourcPtr->GetGpuAddress>(); - resourcesToMakeResidentMap[resourceUsage].m_resourceArrayLen++; + uint16_t arrayIndex = resourcesToMakeResidentMap[resourceUsage].m_resourceArrayLen++; + id mtlResourceToBind = resourceBindingData.m_resourcPtr->GetGpuAddress>(); + resourcesToMakeResidentMap[resourceUsage].m_resourceArray[arrayIndex] = mtlResourceToBind; } } @@ -516,9 +516,9 @@ namespace AZ } AZStd::pair key = AZStd::make_pair(resourceUsage, mtlRenderStages); - uint16_t arrayIndex = resourcesToMakeResidentMap[key].m_resourceArrayLen; - resourcesToMakeResidentMap[key].m_resourceArray[arrayIndex] = resourceBindingData.m_resourcPtr->GetGpuAddress>(); - resourcesToMakeResidentMap[key].m_resourceArrayLen++; + uint16_t arrayIndex = resourcesToMakeResidentMap[key].m_resourceArrayLen++; + id mtlResourceToBind = resourceBindingData.m_resourcPtr->GetGpuAddress>(); + resourcesToMakeResidentMap[key].m_resourceArray[arrayIndex] = mtlResourceToBind; } } } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h index 0825c07654..c4cfd17390 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h @@ -126,12 +126,17 @@ namespace AZ uint16_t m_resourceArrayLen = 0; }; //Map to cache all the resources based on the usage as we can batch all the resources for a given usage - using ComputeResourcesToMakeResidentMap = AZStd::unordered_map; + using ComputeResourcesToMakeResidentMap = AZStd::unordered_map; //Map to cache all the resources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage - using GraphicsResourcesToMakeResidentMap = AZStd::unordered_map, MetalResourceArray>; + using GraphicsResourcesToMakeResidentMap = AZStd::unordered_map, MetalResourceArray>; - void CollectResourcesForCompute(id encoder, const ResourceBindingsSet& resourceBindingData, ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; - void CollectResourcesForGraphics(id encoder, RHI::ShaderStageMask visShaderMask, const ResourceBindingsSet& resourceBindingDataSet, GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; + void CollectResourcesForCompute(id encoder, + const ResourceBindingsSet& resourceBindingData, + ComputeResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; + void CollectResourcesForGraphics(id encoder, + RHI::ShaderStageMask visShaderMask, + const ResourceBindingsSet& resourceBindingDataSet, + GraphicsResourcesToMakeResidentMap& resourcesToMakeResidentMap) const; //! Use visibility information to call UseResource on all resources for this Argument Buffer void ApplyUseResource(id encoder, const ResourceBindingsMap& resourceMap, diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h index 9dd14cd175..8674124cc2 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/CommandList.h @@ -104,7 +104,11 @@ namespace AZ using MetalArgumentBufferArray = AZStd::array, RHI::Limits::Pipeline::ShaderResourceGroupCountMax>; using MetalArgumentBufferArrayOffsets = AZStd::array; - void BindArgumentBuffers(RHI::ShaderStage shaderStage, uint16_t registerIdMin, uint16_t registerIdMax, MetalArgumentBufferArray& mtlArgBuffers, MetalArgumentBufferArrayOffsets mtlArgBufferOffsets); + void BindArgumentBuffers(RHI::ShaderStage shaderStage, + uint16_t registerIdMin, + uint16_t registerIdMax, + MetalArgumentBufferArray& mtlArgBuffers, + MetalArgumentBufferArrayOffsets mtlArgBufferOffsets); ShaderResourceBindings& GetShaderResourceBindingsByPipelineType(RHI::PipelineStateType pipelineType); diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp index e41ba9bf2a..81e589e62e 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp @@ -458,6 +458,16 @@ namespace AZ MTLColorWriteMask ConvertColorWriteMask(AZ::u8 writeMask) { MTLColorWriteMask colorMask = MTLColorWriteMaskNone; + if(writeMask == 0) + { + return colorMask; + } + + if(RHI::CheckBitsAll(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) + { + return MTLColorWriteMaskAll; + } + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) { colorMask |= MTLColorWriteMaskRed; diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp index 7945dd2894..5ce9731506 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp @@ -334,6 +334,12 @@ namespace AZ VkColorComponentFlags ConvertComponentFlags(uint8_t sflags) { VkColorComponentFlags dflags = 0; + + if(sflags == 0) + { + return dflags; + } + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) { dflags |= VK_COLOR_COMPONENT_R_BIT; From cf5a73eef8c9efb57c65f700f165ff3f75bbd820 Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Thu, 10 Jun 2021 14:47:16 -0700 Subject: [PATCH 120/205] Fix default destructor declaration --- Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h | 2 +- .../DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h b/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h index 7501e29796..32f34e309e 100644 --- a/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h +++ b/Templates/DefaultGem/Template/Code/Include/${Name}/${Name}Bus.h @@ -23,7 +23,7 @@ namespace ${SanitizedCppName} { public: AZ_RTTI(${SanitizedCppName}Requests, "${Random_Uuid}"); - virtual ~${SanitizedCppName}Requests = default(); + virtual ~${SanitizedCppName}Requests() = default; // Put your public methods here }; diff --git a/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h b/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h index b4a61ccd63..05e434ec03 100644 --- a/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h +++ b/Templates/DefaultProject/Template/Code/Include/${Name}/${Name}Bus.h @@ -23,7 +23,7 @@ namespace ${SanitizedCppName} { public: AZ_RTTI(${SanitizedCppName}Requests, "${Random_Uuid}"); - virtual ~${SanitizedCppName}Requests = default(); + virtual ~${SanitizedCppName}Requests() = default; // Put your public methods here }; From 963894c7e3edbbca9f2891a6412b56a9c92eae31 Mon Sep 17 00:00:00 2001 From: moudgils Date: Thu, 10 Jun 2021 15:00:42 -0700 Subject: [PATCH 121/205] Modified the WriteColoorMask --- Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp | 10 +++++----- Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp | 10 +++++----- Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp | 13 +++++++++---- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp index 9776734158..8c7b9f4389 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp @@ -1365,24 +1365,24 @@ namespace AZ return dflags; } - if(RHI::CheckBitsAll(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) + if(RHI::CheckBitsAll(writeMask, RHI::WriteChannelMask::ColorWriteMaskAll)) { return D3D12_COLOR_WRITE_ENABLE_ALL; } - if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) + if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskRed)) { dflags |= D3D12_COLOR_WRITE_ENABLE_RED; } - if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) + if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskGreen)) { dflags |= D3D12_COLOR_WRITE_ENABLE_GREEN; } - if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) + if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskBlue)) { dflags |= D3D12_COLOR_WRITE_ENABLE_BLUE; } - if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) + if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskAlpha)) { dflags |= D3D12_COLOR_WRITE_ENABLE_ALPHA; } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp index 81e589e62e..5b153fd648 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp @@ -463,24 +463,24 @@ namespace AZ return colorMask; } - if(RHI::CheckBitsAll(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) + if(RHI::CheckBitsAll(writeMask, RHI::WriteChannelMask::ColorWriteMaskAll)) { return MTLColorWriteMaskAll; } - if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) + if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskRed)) { colorMask |= MTLColorWriteMaskRed; } - if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) + if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskGreen)) { colorMask |= MTLColorWriteMaskGreen; } - if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) + if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskBlue)) { colorMask |= MTLColorWriteMaskBlue; } - if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) + if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskAlpha)) { colorMask |= MTLColorWriteMaskAlpha; } diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp index 5ce9731506..1ba002748b 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp @@ -340,19 +340,24 @@ namespace AZ return dflags; } - if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) + if(RHI::CheckBitsAll(writeMask, RHI::WriteChannelMask::ColorWriteMaskAll)) + { + return VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; + } + + if (RHI::CheckBitsAny(sflags, RHI::WriteChannelMask::ColorWriteMaskRed)) { dflags |= VK_COLOR_COMPONENT_R_BIT; } - if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) + if (RHI::CheckBitsAny(sflags, RHI::WriteChannelMask::ColorWriteMaskGreen)) { dflags |= VK_COLOR_COMPONENT_G_BIT; } - if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) + if (RHI::CheckBitsAny(sflags, RHI::WriteChannelMask::ColorWriteMaskBlue)) { dflags |= VK_COLOR_COMPONENT_B_BIT; } - if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) + if (RHI::CheckBitsAny(sflags, RHI::WriteChannelMask::ColorWriteMaskAlpha)) { dflags |= VK_COLOR_COMPONENT_A_BIT; } From c0cfe239fe8c4b4aa26a85a34ee188177f6a4bec Mon Sep 17 00:00:00 2001 From: moudgils Date: Thu, 10 Jun 2021 15:03:08 -0700 Subject: [PATCH 122/205] Modify WritecolorMask --- .../Include/Atom/RHI.Reflect/RenderStates.h | 18 +++++------------- .../RHI/DX12/Code/Source/RHI/Conversions.cpp | 10 +++++----- .../RHI/Metal/Code/Source/RHI/Conversions.cpp | 10 +++++----- .../RHI/Vulkan/Code/Source/RHI/Conversion.cpp | 10 +++++----- 4 files changed, 20 insertions(+), 28 deletions(-) diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/RenderStates.h b/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/RenderStates.h index d5c55e2c7f..651be829b5 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/RenderStates.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/RenderStates.h @@ -160,21 +160,13 @@ namespace AZ StencilState m_stencil; }; - enum class WriteChannel : uint32_t - { - ColorWriteMaskRed = 0, - ColorWriteMaskGreen, - ColorWriteMaskBlue, - ColorWriteMaskAlpha, - }; - - enum class WriteChannelMask : uint32_t + enum class WriteChannelMask : uint8_t { ColorWriteMaskNone = 0, - ColorWriteMaskRed = AZ_BIT(static_cast(WriteChannel::ColorWriteMaskRed)), - ColorWriteMaskGreen = AZ_BIT(static_cast(WriteChannel::ColorWriteMaskGreen)), - ColorWriteMaskBlue = AZ_BIT(static_cast(WriteChannel::ColorWriteMaskBlue)), - ColorWriteMaskAlpha = AZ_BIT(static_cast(WriteChannel::ColorWriteMaskAlpha)), + ColorWriteMaskRed = AZ_BIT(0), + ColorWriteMaskGreen = AZ_BIT(1), + ColorWriteMaskBlue = AZ_BIT(2), + ColorWriteMaskAlpha = AZ_BIT(3), ColorWriteMaskAll = ColorWriteMaskRed | ColorWriteMaskGreen | ColorWriteMaskBlue | ColorWriteMaskAlpha }; diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp index 8c7b9f4389..9776734158 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp @@ -1365,24 +1365,24 @@ namespace AZ return dflags; } - if(RHI::CheckBitsAll(writeMask, RHI::WriteChannelMask::ColorWriteMaskAll)) + if(RHI::CheckBitsAll(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) { return D3D12_COLOR_WRITE_ENABLE_ALL; } - if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskRed)) + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) { dflags |= D3D12_COLOR_WRITE_ENABLE_RED; } - if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskGreen)) + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) { dflags |= D3D12_COLOR_WRITE_ENABLE_GREEN; } - if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskBlue)) + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) { dflags |= D3D12_COLOR_WRITE_ENABLE_BLUE; } - if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskAlpha)) + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) { dflags |= D3D12_COLOR_WRITE_ENABLE_ALPHA; } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp index 5b153fd648..81e589e62e 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/Conversions.cpp @@ -463,24 +463,24 @@ namespace AZ return colorMask; } - if(RHI::CheckBitsAll(writeMask, RHI::WriteChannelMask::ColorWriteMaskAll)) + if(RHI::CheckBitsAll(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) { return MTLColorWriteMaskAll; } - if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskRed)) + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) { colorMask |= MTLColorWriteMaskRed; } - if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskGreen)) + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) { colorMask |= MTLColorWriteMaskGreen; } - if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskBlue)) + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) { colorMask |= MTLColorWriteMaskBlue; } - if (RHI::CheckBitsAny(writeMask, RHI::WriteChannelMask::ColorWriteMaskAlpha)) + if (RHI::CheckBitsAny(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) { colorMask |= MTLColorWriteMaskAlpha; } diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp index 1ba002748b..5a382267bb 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp @@ -340,24 +340,24 @@ namespace AZ return dflags; } - if(RHI::CheckBitsAll(writeMask, RHI::WriteChannelMask::ColorWriteMaskAll)) + if(RHI::CheckBitsAll(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) { return VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; } - if (RHI::CheckBitsAny(sflags, RHI::WriteChannelMask::ColorWriteMaskRed)) + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskRed))) { dflags |= VK_COLOR_COMPONENT_R_BIT; } - if (RHI::CheckBitsAny(sflags, RHI::WriteChannelMask::ColorWriteMaskGreen)) + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskGreen))) { dflags |= VK_COLOR_COMPONENT_G_BIT; } - if (RHI::CheckBitsAny(sflags, RHI::WriteChannelMask::ColorWriteMaskBlue)) + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskBlue))) { dflags |= VK_COLOR_COMPONENT_B_BIT; } - if (RHI::CheckBitsAny(sflags, RHI::WriteChannelMask::ColorWriteMaskAlpha)) + if (RHI::CheckBitsAny(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskAlpha))) { dflags |= VK_COLOR_COMPONENT_A_BIT; } From 7dd98c4e2b12c318d6533e254a52139b108e3589 Mon Sep 17 00:00:00 2001 From: moudgils Date: Thu, 10 Jun 2021 15:17:17 -0700 Subject: [PATCH 123/205] Missed a change --- Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp index 5a382267bb..8cad9b1f56 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Conversion.cpp @@ -340,7 +340,7 @@ namespace AZ return dflags; } - if(RHI::CheckBitsAll(writeMask, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) + if(RHI::CheckBitsAll(sflags, static_cast(RHI::WriteChannelMask::ColorWriteMaskAll))) { return VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; } From 6fdf7b01a5feb05d5a268d74eb9248edc973d2db Mon Sep 17 00:00:00 2001 From: Terry Michaels Date: Thu, 10 Jun 2021 17:23:39 -0500 Subject: [PATCH 124/205] Updated camera speed display and bounds (#1251) --- Code/Sandbox/Editor/ViewportTitleDlg.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Code/Sandbox/Editor/ViewportTitleDlg.h b/Code/Sandbox/Editor/ViewportTitleDlg.h index 21a54bea0a..255354dcbb 100644 --- a/Code/Sandbox/Editor/ViewportTitleDlg.h +++ b/Code/Sandbox/Editor/ViewportTitleDlg.h @@ -115,10 +115,10 @@ protected: float m_prevMoveSpeed; // Speed combobox/lineEdit settings - double m_minSpeed = 0.1; + double m_minSpeed = 0.01; double m_maxSpeed = 100.0; - double m_speedStep = 0.1; - int m_numDecimals = 1; + double m_speedStep = 0.01; + int m_numDecimals = 3; // Speed presets float m_speedPresetValues[3] = { 0.1f, 1.0f, 10.0f }; From 7590ef04b26c9c68076dba8f5446fe8538a0caa6 Mon Sep 17 00:00:00 2001 From: jiaweig Date: Thu, 10 Jun 2021 16:48:48 -0700 Subject: [PATCH 125/205] Increase the platform limit to handle more objects. --- .../Assets/Config/Platform/Windows/DX12/PlatformLimits.azasset | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/Atom/Feature/Common/Assets/Config/Platform/Windows/DX12/PlatformLimits.azasset b/Gems/Atom/Feature/Common/Assets/Config/Platform/Windows/DX12/PlatformLimits.azasset index 7e71111ef1..3c88544e62 100644 --- a/Gems/Atom/Feature/Common/Assets/Config/Platform/Windows/DX12/PlatformLimits.azasset +++ b/Gems/Atom/Feature/Common/Assets/Config/Platform/Windows/DX12/PlatformLimits.azasset @@ -8,7 +8,7 @@ "$type": "DX12::PlatformLimitsDescriptor", "m_descriptorHeapLimits": { - "DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV": [16384, 262144], + "DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV": [1000000, 1000000], "DESCRIPTOR_HEAP_TYPE_SAMPLER": [2048, 2048], "DESCRIPTOR_HEAP_TYPE_RTV": [2048, 0], "DESCRIPTOR_HEAP_TYPE_DSV": [2048, 0] From 01847ef6dd84e2e6728107fbb5881590d7ad0976 Mon Sep 17 00:00:00 2001 From: Mike Chang <62353586+amzn-changml@users.noreply.github.com> Date: Thu, 10 Jun 2021 17:24:14 -0700 Subject: [PATCH 126/205] Changed mac and ios node label This changes the Mac and iOS job AMI that we're using to Big Sur (OSX 11.4 update). This includes the following based on https://github.com/aws-lumberyard/o3de/tree/development/scripts/build/build_node/Platform/Mac: - XCode 12.4 - CMake 3.20.3 Note: As of 86136dd, these builds still fail with the same errors as the nightly build under Catalina. See SPEC-7273 and LYN-4071 for details --- scripts/build/Platform/Mac/pipeline.json | 2 +- scripts/build/Platform/iOS/pipeline.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/Platform/Mac/pipeline.json b/scripts/build/Platform/Mac/pipeline.json index 81c57002b6..e8cea0f06d 100644 --- a/scripts/build/Platform/Mac/pipeline.json +++ b/scripts/build/Platform/Mac/pipeline.json @@ -1,6 +1,6 @@ { "ENV": { - "NODE_LABEL": "mac-catalina-7ad2e45b", + "NODE_LABEL": "mac-bigsur-2fc3a22", "LY_3RDPARTY_PATH": "/Users/lybuilder/3rdParty", "TIMEOUT": 30, "WORKSPACE": "/Users/lybuilder/workspace", diff --git a/scripts/build/Platform/iOS/pipeline.json b/scripts/build/Platform/iOS/pipeline.json index 81c57002b6..e8cea0f06d 100644 --- a/scripts/build/Platform/iOS/pipeline.json +++ b/scripts/build/Platform/iOS/pipeline.json @@ -1,6 +1,6 @@ { "ENV": { - "NODE_LABEL": "mac-catalina-7ad2e45b", + "NODE_LABEL": "mac-bigsur-2fc3a22", "LY_3RDPARTY_PATH": "/Users/lybuilder/3rdParty", "TIMEOUT": 30, "WORKSPACE": "/Users/lybuilder/workspace", From 68c0989aa1a8ab164b5498f0f8d8b1ead95e389c Mon Sep 17 00:00:00 2001 From: mnaumov Date: Thu, 10 Jun 2021 17:38:13 -0700 Subject: [PATCH 127/205] MeshStats collapsed by default --- .../CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp index a2f113f1e1..3adcaa495b 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/EditorMeshComponent.cpp @@ -60,7 +60,7 @@ namespace AZ ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorMeshComponent::AddEditorMaterialComponent) ->Attribute(AZ::Edit::Attributes::Visibility, &EditorMeshComponent::GetEditorMaterialComponentVisibility) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshComponent::m_stats, "Mesh Stats", "") - ->Attribute(AZ::Edit::Attributes::AutoExpand, true) + ->Attribute(AZ::Edit::Attributes::AutoExpand, false) ; editContext->Class( From f1b3bf4c73d8491245c4f444cfc72a24caa3a6ac Mon Sep 17 00:00:00 2001 From: chcurran Date: Thu, 10 Jun 2021 17:43:45 -0700 Subject: [PATCH 128/205] Fix for running game mode with brand new graph with prefabs. --- .../Code/Editor/Components/EditorScriptCanvasComponent.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gems/ScriptCanvas/Code/Editor/Components/EditorScriptCanvasComponent.cpp b/Gems/ScriptCanvas/Code/Editor/Components/EditorScriptCanvasComponent.cpp index 8a06848709..e3cc9b7896 100644 --- a/Gems/ScriptCanvas/Code/Editor/Components/EditorScriptCanvasComponent.cpp +++ b/Gems/ScriptCanvas/Code/Editor/Components/EditorScriptCanvasComponent.cpp @@ -360,6 +360,8 @@ namespace ScriptCanvasEditor } } + AzToolsFramework::ScopedUndoBatch undo("Update Entity With New SC Graph"); + AzToolsFramework::ToolsApplicationRequests::Bus::Broadcast(&AzToolsFramework::ToolsApplicationRequests::Bus::Events::AddDirtyEntity, GetEntityId()); AzToolsFramework::ToolsApplicationEvents::Bus::Broadcast(&AzToolsFramework::ToolsApplicationEvents::InvalidatePropertyDisplay, AzToolsFramework::Refresh_AttributesAndValues); } From 9a61557932b3a923f7f22eadca63cbbd0f097495 Mon Sep 17 00:00:00 2001 From: mgwynn Date: Thu, 10 Jun 2021 21:17:24 -0400 Subject: [PATCH 129/205] Adding unit test for project properties cli --- scripts/o3de/o3de/project_properties.py | 4 +- .../tests/unit_test_project_properties.py | 62 +++++++++++++++++++ 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 scripts/o3de/tests/unit_test_project_properties.py diff --git a/scripts/o3de/o3de/project_properties.py b/scripts/o3de/o3de/project_properties.py index 52f1346b51..aefe5c53e9 100644 --- a/scripts/o3de/o3de/project_properties.py +++ b/scripts/o3de/o3de/project_properties.py @@ -54,9 +54,9 @@ def edit_project_props(proj_path, proj_name, new_origin, new_display, if tag in proj_json['user_tags']: proj_json['user_tags'].remove(tag) else: - logger.warn(f'{tag} not found in user_tags for removal.') + logger.warning(f'{tag} not found in user_tags for removal.') else: - logger.warn(f'user_tags property not found for removal of {remove_tags}.') + logger.warning(f'user_tags property not found for removal of {remove_tags}.') if replace_tags: tag_list = [replace_tags] if isinstance(replace_tags, str) else replace_tags proj_json['user_tags'] = tag_list diff --git a/scripts/o3de/tests/unit_test_project_properties.py b/scripts/o3de/tests/unit_test_project_properties.py new file mode 100644 index 0000000000..e93824cdf7 --- /dev/null +++ b/scripts/o3de/tests/unit_test_project_properties.py @@ -0,0 +1,62 @@ +# +# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +# its licensors. +# +# For complete copyright and license terms please see the LICENSE at the root of this +# distribution (the "License"). All use of this software is governed by the License, +# or, if provided, by the license below or the license accompanying this file. Do not +# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# + +import pytest +import pathlib +from unittest.mock import patch +from o3de import project_properties + + +TEST_DEFAULT_PROJECT_DATA = { + "template_name": "DefaultProject", + "restricted_name": "o3de", + "restricted_platform_relative_path": "Templates", + "origin": "The primary repo for DefaultProject goes here: i.e. http://www.mydomain.com", + "license": "What license DefaultProject uses goes here: i.e. https://opensource.org/licenses/MIT", + "display_name": "Default", + "summary": "A short description of DefaultProject.", + "included_gems": ["Atom","Camera","EMotionFX","UI","Maestro","Input","ImGui"], + "canonical_tags": [], + "user_tags": [ + "DefaultProject" + ], + "icon_path": "preview.png" +} + +def get_project_json_data(project_name, project_path) -> str: + return TEST_DEFAULT_PROJECT_DATA + +def save_o3de_manifest(new_proj_data, project_path): + temp = new_proj_data + +@pytest.mark.parametrize("project_path, project_name, project_origin, project_display,\ + project_summary, project_icon, add_tags, delete_tags,\ + replace_tags, expected_result", [ + pytest.param(pathlib.PurePath('E:/TestProject'), + 'test', 'editing by pytest', 'Unit Test', 'pyTest project', 'pytest.bmp', 'A B C', + 'B', 'D E F', 0), + pytest.param(pathlib.PurePath(None), + 'test', 'editing by pytest', 'Unit Test', 'pyTest project', 'pytest.bmp', 'A B C', + 'B', 'D E F', 1), + ] +) + +def test_edit_project_properties(project_path, project_name, project_origin, project_display, + project_summary, project_icon, add_tags, delete_tags, + replace_tags, expected_result): + + with patch('o3de.manifest.get_project_json_data', side_effect=get_project_json_data) as get_project_json_data_patch, \ + patch('o3de.manifest.save_o3de_manifest', side_effect=save_o3de_manifest) as save_o3de_manifest_patch: + result = project_properties.edit_project_props(project_path, project_name, project_origin, + project_display, project_summary, project_icon, + add_tags, delete_tags, replace_tags) + assert result == expected_result + From d029ba894eb0d9db1b4de05a925eb0f8d7404edc Mon Sep 17 00:00:00 2001 From: mgwynn Date: Thu, 10 Jun 2021 21:24:27 -0400 Subject: [PATCH 130/205] Added failure condition for fail case test --- scripts/o3de/tests/unit_test_project_properties.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/o3de/tests/unit_test_project_properties.py b/scripts/o3de/tests/unit_test_project_properties.py index e93824cdf7..957b5a19df 100644 --- a/scripts/o3de/tests/unit_test_project_properties.py +++ b/scripts/o3de/tests/unit_test_project_properties.py @@ -32,6 +32,8 @@ TEST_DEFAULT_PROJECT_DATA = { } def get_project_json_data(project_name, project_path) -> str: + if project_path == '': + return None return TEST_DEFAULT_PROJECT_DATA def save_o3de_manifest(new_proj_data, project_path): @@ -43,9 +45,9 @@ def save_o3de_manifest(new_proj_data, project_path): pytest.param(pathlib.PurePath('E:/TestProject'), 'test', 'editing by pytest', 'Unit Test', 'pyTest project', 'pytest.bmp', 'A B C', 'B', 'D E F', 0), - pytest.param(pathlib.PurePath(None), + pytest.param('', 'test', 'editing by pytest', 'Unit Test', 'pyTest project', 'pytest.bmp', 'A B C', - 'B', 'D E F', 1), + 'B', 'D E F', 1) ] ) From e80ba41bdd11c71927137ae3e5790057f30476ec Mon Sep 17 00:00:00 2001 From: mgwynn Date: Thu, 10 Jun 2021 22:08:05 -0400 Subject: [PATCH 131/205] Adding project properties test to cmakeLists --- scripts/o3de/tests/CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/o3de/tests/CMakeLists.txt b/scripts/o3de/tests/CMakeLists.txt index 82b994e387..98c4be3b2f 100644 --- a/scripts/o3de/tests/CMakeLists.txt +++ b/scripts/o3de/tests/CMakeLists.txt @@ -41,3 +41,10 @@ ly_add_pytest( TEST_SUITE smoke EXCLUDE_TEST_RUN_TARGET_FROM_IDE ) + +ly_add_pytest( + NAME o3de_project_properties + PATH ${CMAKE_CURRENT_LIST_DIR}/unit_test_project_properties.py + TEST_SUITE smoke + EXCLUDE_TEST_RUN_TARGET_FROM_IDE +) From 3ea74e017fd7249250c67ac7621da70caae77154 Mon Sep 17 00:00:00 2001 From: antonmic Date: Thu, 10 Jun 2021 20:06:13 -0700 Subject: [PATCH 132/205] Pass changes: RPI unit test fix --- Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index ad3d6d31ca..cc51c8760a 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -101,6 +101,7 @@ namespace AZ m_passFactory.Init(&m_passLibrary); m_rootPass = CreatePass(Name{"Root"}); m_rootPass->m_flags.m_partOfHierarchy = true; + m_rootPass->m_flags.m_createChildren = false; // Here you can specify the name of a pass you would like to break into during execution // If you enable AZ_RPI_ENABLE_PASS_DEBUGGING, then any pass matching the specified name will debug From f6f90ee4c2f4a34b8691bb698760e77f18274718 Mon Sep 17 00:00:00 2001 From: moudgils Date: Thu, 10 Jun 2021 21:45:38 -0700 Subject: [PATCH 133/205] Change ConvertColorWriteMask return type to uint8_t --- Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp | 4 ++-- Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp index 9776734158..a29c7ae402 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.cpp @@ -1357,9 +1357,9 @@ namespace AZ return table[(uint32_t)mask]; } - uint32_t ConvertColorWriteMask(uint8_t writeMask) + uint8_t ConvertColorWriteMask(uint8_t writeMask) { - uint32_t dflags = 0; + uint8_t dflags = 0; if(writeMask == 0) { return dflags; diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h index 887598de79..640a5fef31 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Conversions.h @@ -165,6 +165,6 @@ namespace AZ D3D12_SHADER_VISIBILITY shaderVisibility, D3D12_STATIC_SAMPLER_DESC& staticSamplerDesc); - uint32_t ConvertColorWriteMask(uint8_t writeMask); + uint8_t ConvertColorWriteMask(uint8_t writeMask); } } From 2a40010089fb5af2afceba593d2dda6deada7046 Mon Sep 17 00:00:00 2001 From: antonmic Date: Thu, 10 Jun 2021 22:54:12 -0700 Subject: [PATCH 134/205] Pass changes: fixed reflection probe bake --- Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp | 4 ---- Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp index 891190738f..ad2fc4b19e 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/RenderPipeline.cpp @@ -107,11 +107,7 @@ namespace AZ pipeline->m_originalRenderSettings = desc.m_renderSettings; pipeline->m_activeRenderSettings = desc.m_renderSettings; pipeline->m_rootPass->SetRenderPipeline(pipeline); - - // Manually build the pipeline so we can gather the view tags from it's passes pipeline->m_rootPass->ManualPipelineBuildAndInitialize(); - - pipeline->BuildPipelineViews(); } RenderPipeline::~RenderPipeline() diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp index 5f9ba38c88..62efc3dccb 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp @@ -289,6 +289,8 @@ namespace AZ } pipeline->OnAddedToScene(this); + PassSystemInterface::Get()->ProcessQueuedChanges(); + pipeline->BuildPipelineViews(); // Force to update the lookup table since adding render pipeline would effect any pipeline states created before pass system tick RebuildPipelineStatesLookup(); From ef87ce094a720319bbdb09b25761b7e7da8a6899 Mon Sep 17 00:00:00 2001 From: antonmic Date: Fri, 11 Jun 2021 00:52:24 -0700 Subject: [PATCH 135/205] Fixing pass binding issue that breaks certain ASV screenshot tests. Should also fix a crash on mac that was reported. --- .../Code/Include/Atom/RPI.Public/Pass/Pass.h | 6 +++++ .../RPI/Code/Source/RPI.Public/Pass/Pass.cpp | 24 ++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h index 9d0b36d126..a4a26c3070 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Pass/Pass.h @@ -265,6 +265,12 @@ namespace AZ // Update all bindings on this pass that are connected to bindings on other passes void UpdateConnectedBindings(); + // Update input and input/output bindings on this pass that are connected to bindings on other passes + void UpdateConnectedInputBindings(); + + // Update output bindings on this pass that are connected to bindings on other passes + void UpdateConnectedOutputBindings(); + protected: explicit Pass(const PassDescriptor& descriptor); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp index 99a6e23914..865a13e13d 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Pass.cpp @@ -1036,6 +1036,26 @@ namespace AZ } } + void Pass::UpdateConnectedInputBindings() + { + for (uint8_t idx : m_inputBindingIndices) + { + UpdateConnectedBinding(m_attachmentBindings[idx]); + } + for (uint8_t idx : m_inputOutputBindingIndices) + { + UpdateConnectedBinding(m_attachmentBindings[idx]); + } + } + + void Pass::UpdateConnectedOutputBindings() + { + for (uint8_t idx : m_outputBindingIndices) + { + UpdateConnectedBinding(m_attachmentBindings[idx]); + } + } + // --- Queuing functions with PassSystem --- void Pass::QueueForBuildAndInitialization() @@ -1264,7 +1284,7 @@ namespace AZ AZ_Assert(m_state == PassState::Idle, "Pass::FrameBegin - Pass [%s] is attempting to render, but is not in the Idle state.", m_path.GetCStr()); m_state = PassState::Rendering; - UpdateConnectedBindings(); + UpdateConnectedInputBindings(); UpdateOwnedAttachments(); CreateTransientAttachments(params.m_frameGraphBuilder->GetAttachmentDatabase()); @@ -1273,6 +1293,8 @@ namespace AZ // FrameBeginInternal needs to be the last function be called in FrameBegin because its implementation expects // all the attachments are imported to database (for example, ImageAttachmentPreview) FrameBeginInternal(params); + + UpdateConnectedOutputBindings(); } void Pass::FrameEnd() From 0cee5150c71168f31d4056f3bb6e16bce4943216 Mon Sep 17 00:00:00 2001 From: Hasareej <82398396+Hasareej@users.noreply.github.com> Date: Fri, 11 Jun 2021 10:07:17 +0100 Subject: [PATCH 136/205] Hasareej cluster tooltips (#1181) EditorTransformComponent Cluster Tooltips --- .../EditorTransformComponentSelection.cpp | 29 +++++++++++++++++++ .../ViewportUi/ViewportUiCluster.cpp | 11 +++++++ .../ViewportUi/ViewportUiCluster.h | 2 ++ .../ViewportUi/ViewportUiDisplay.cpp | 8 +++++ .../ViewportUi/ViewportUiDisplay.h | 1 + .../ViewportUi/ViewportUiManager.cpp | 10 +++++++ .../ViewportUi/ViewportUiManager.h | 1 + .../ViewportUi/ViewportUiRequestBus.h | 2 ++ 8 files changed, 64 insertions(+) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp index eadb870563..75bb30130d 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp @@ -136,6 +136,13 @@ namespace AzToolsFramework static const char* const s_duplicateUndoRedoDesc = s_duplicateTitle; static const char* const s_deleteUndoRedoDesc = s_deleteTitle; + static const char* const TransformModeClusterTranslateTooltip = "Switch to translate mode"; + static const char* const TransformModeClusterRotateTooltip = "Switch to rotate mode"; + static const char* const TransformModeClusterScaleTooltip = "Switch to scale mode"; + static const char* const SpaceClusterWorldTooltip = "Toggle world space lock"; + static const char* const SpaceClusterParentTooltip = "Toggle parent space lock"; + static const char* const SpaceClusterLocalTooltip = "Toggle local space lock"; + static const AZ::Color s_fadedXAxisColor = AZ::Color(AZ::u8(200), AZ::u8(127), AZ::u8(127), AZ::u8(255)); static const AZ::Color s_fadedYAxisColor = AZ::Color(AZ::u8(127), AZ::u8(190), AZ::u8(127), AZ::u8(255)); static const AZ::Color s_fadedZAxisColor = AZ::Color(AZ::u8(120), AZ::u8(120), AZ::u8(180), AZ::u8(255)); @@ -2460,6 +2467,17 @@ namespace AzToolsFramework m_rotateButtonId = RegisterClusterButton(m_transformModeClusterId, "Translate"); m_scaleButtonId = RegisterClusterButton(m_transformModeClusterId, "Scale"); + // set button tooltips + ViewportUi::ViewportUiRequestBus::Event( + ViewportUi::DefaultViewportId, &ViewportUi::ViewportUiRequestBus::Events::SetClusterButtonTooltip, m_transformModeClusterId, + m_translateButtonId, TransformModeClusterTranslateTooltip); + ViewportUi::ViewportUiRequestBus::Event( + ViewportUi::DefaultViewportId, &ViewportUi::ViewportUiRequestBus::Events::SetClusterButtonTooltip, m_transformModeClusterId, + m_rotateButtonId, TransformModeClusterRotateTooltip); + ViewportUi::ViewportUiRequestBus::Event( + ViewportUi::DefaultViewportId, &ViewportUi::ViewportUiRequestBus::Events::SetClusterButtonTooltip, m_transformModeClusterId, + m_scaleButtonId, TransformModeClusterScaleTooltip); + auto onButtonClicked = [this](ViewportUi::ButtonId buttonId) { if (buttonId == m_translateButtonId) @@ -2498,6 +2516,17 @@ namespace AzToolsFramework m_spaceCluster.m_parentButtonId = RegisterClusterButton(m_spaceCluster.m_spaceClusterId, "Parent"); m_spaceCluster.m_localButtonId = RegisterClusterButton(m_spaceCluster.m_spaceClusterId, "Local"); + // set button tooltips + ViewportUi::ViewportUiRequestBus::Event( + ViewportUi::DefaultViewportId, &ViewportUi::ViewportUiRequestBus::Events::SetClusterButtonTooltip, + m_spaceCluster.m_spaceClusterId, m_spaceCluster.m_worldButtonId, SpaceClusterWorldTooltip); + ViewportUi::ViewportUiRequestBus::Event( + ViewportUi::DefaultViewportId, &ViewportUi::ViewportUiRequestBus::Events::SetClusterButtonTooltip, + m_spaceCluster.m_spaceClusterId, m_spaceCluster.m_parentButtonId, SpaceClusterParentTooltip); + ViewportUi::ViewportUiRequestBus::Event( + ViewportUi::DefaultViewportId, &ViewportUi::ViewportUiRequestBus::Events::SetClusterButtonTooltip, + m_spaceCluster.m_spaceClusterId, m_spaceCluster.m_localButtonId, SpaceClusterLocalTooltip); + auto onButtonClicked = [this](ViewportUi::ButtonId buttonId) { if (buttonId == m_spaceCluster.m_localButtonId) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiCluster.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiCluster.cpp index d452d47508..51abbf40e3 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiCluster.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiCluster.cpp @@ -163,6 +163,17 @@ namespace AzToolsFramework::ViewportUi::Internal } } + void ViewportUiCluster::SetButtonTooltip(const ButtonId buttonId, const AZStd::string& tooltip) + { + // get the action corresponding to the buttonId + if (auto actionEntry = m_buttonActionMap.find(buttonId); actionEntry != m_buttonActionMap.end()) + { + // update the tooltip + auto action = actionEntry->second; + action->setToolTip(QString((tooltip).c_str())); + } + } + ViewportUiWidgetCallbacks ViewportUiCluster::GetWidgetCallbacks() { return m_widgetCallbacks; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiCluster.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiCluster.h index 027a201a9c..3870fd08da 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiCluster.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiCluster.h @@ -41,6 +41,8 @@ namespace AzToolsFramework::ViewportUi::Internal void Update(); //! Adds a locked overlay to the button's icon. void SetButtonLocked(ButtonId buttonId, bool isLocked); + //! Updates the button's tooltip to the passed string. + void SetButtonTooltip(ButtonId buttonId, const AZStd::string& tooltip); //! Returns the widget manager. ViewportUiWidgetCallbacks GetWidgetCallbacks(); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiDisplay.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiDisplay.cpp index 3565d33174..7b2d45e652 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiDisplay.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiDisplay.cpp @@ -108,6 +108,14 @@ namespace AzToolsFramework::ViewportUi::Internal } } + void ViewportUiDisplay::SetClusterButtonTooltip(const ViewportUiElementId clusterId, const ButtonId buttonId, const AZStd::string& tooltip) + { + if (auto viewportUiCluster = qobject_cast(GetViewportUiElement(clusterId).get())) + { + viewportUiCluster->SetButtonTooltip(buttonId, tooltip); + } + } + void ViewportUiDisplay::RemoveClusterButton(ViewportUiElementId clusterId, ButtonId buttonId) { if (auto cluster = qobject_cast(GetViewportUiElement(clusterId).get())) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiDisplay.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiDisplay.h index 19d04e63ff..7ffc038160 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiDisplay.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiDisplay.h @@ -59,6 +59,7 @@ namespace AzToolsFramework::ViewportUi::Internal void AddCluster(AZStd::shared_ptr buttonGroup, Alignment align); void AddClusterButton(ViewportUiElementId clusterId, Button* button); void SetClusterButtonLocked(ViewportUiElementId clusterId, ButtonId buttonId, bool isLocked); + void SetClusterButtonTooltip(ViewportUiElementId clusterId, ButtonId buttonId, const AZStd::string& tooltip); void RemoveClusterButton(ViewportUiElementId clusterId, ButtonId buttonId); void UpdateCluster(const ViewportUiElementId clusterId); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiManager.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiManager.cpp index 0668af383b..7c9b51e71d 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiManager.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiManager.cpp @@ -77,6 +77,16 @@ namespace AzToolsFramework::ViewportUi } } + void ViewportUiManager::SetClusterButtonTooltip(const ClusterId clusterId, const ButtonId buttonId, const AZStd::string& tooltip) + { + if (auto clusterIt = m_clusterButtonGroups.find(clusterId); clusterIt != m_clusterButtonGroups.end()) + { + auto cluster = clusterIt->second; + m_viewportUi->SetClusterButtonTooltip(cluster->GetViewportUiElementId(), buttonId, tooltip); + UpdateButtonGroupUi(cluster.get()); + } + } + void ViewportUiManager::RegisterClusterEventHandler(const ClusterId clusterId, AZ::Event::Handler& handler) { if (auto clusterIt = m_clusterButtonGroups.find(clusterId); clusterIt != m_clusterButtonGroups.end()) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiManager.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiManager.h index 14609ccc14..3d3a5f90c0 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiManager.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiManager.h @@ -36,6 +36,7 @@ namespace AzToolsFramework::ViewportUi void SetClusterActiveButton(ClusterId clusterId, ButtonId buttonId) override; void SetSwitcherActiveButton(SwitcherId switcherId, ButtonId buttonId) override; void SetClusterButtonLocked(ClusterId clusterId, ButtonId buttonId, bool isLocked) override; + void SetClusterButtonTooltip(ClusterId clusterId, ButtonId buttonId, const AZStd::string& tooltip) override; const ButtonId CreateClusterButton(ClusterId clusterId, const AZStd::string& icon) override; const ButtonId CreateSwitcherButton( SwitcherId switcherId, const AZStd::string& icon, const AZStd::string& name = AZStd::string()) override; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiRequestBus.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiRequestBus.h index a068ffe9ee..47d2533cf3 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiRequestBus.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportUi/ViewportUiRequestBus.h @@ -67,6 +67,8 @@ namespace AzToolsFramework::ViewportUi virtual void SetSwitcherActiveButton(SwitcherId clusterId, ButtonId buttonId) = 0; //! Adds a locked overlay to the cluster button's icon. virtual void SetClusterButtonLocked(ClusterId clusterId, ButtonId buttonId, bool isLocked) = 0; + //! Updates/sets the cluster button's tooltip to the passed string. + virtual void SetClusterButtonTooltip(ClusterId clusterId, ButtonId buttonId, const AZStd::string& tooltip) = 0; //! Registers a new button onto a cluster. virtual const ButtonId CreateClusterButton(const ClusterId clusterId, const AZStd::string& icon) = 0; //! Registers a new button onto a switcher. From cc615a8f325cce418292d3fc6b82291191bade75 Mon Sep 17 00:00:00 2001 From: galibzon <66021303+galibzon@users.noreply.github.com> Date: Fri, 11 Jun 2021 07:48:23 -0500 Subject: [PATCH 137/205] =?UTF-8?q?[ATOM-15472]=20Shader=20Build=20Pipelin?= =?UTF-8?q?e:=20Remove=20Deprecated=20Files=20And=20Funct=E2=80=A6=20(#107?= =?UTF-8?q?9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [ATOM-15472] Shader Build Pipeline: Remove Deprecated Files And Functions That Predate The Shader Supervariants These are the essential impactful changes as a result of deprecating the ShaderResourceGroupAsset. * Addressed feedback by @moudgils. Better comments in header files. * More updates related with deprecation of ShaderResourceGroupAsset * Deleted the temporary version 2 classes. * Updated version of the shader asset builders. * Updated version of all the shader related classes impacted by the Supervariant concept and deprecation of ShaderResourceGroupAsset * Changes to *.pass and DGI, Reflections and RayTracing. * changes to material related assets * changes to core lights * Changes to auxgeom/dynamic draw. * changes to decals, lyshine, imguipass * changes to RPI Pass classes * Shader for SceneSrg, ViewSrg and ForwardPass Srgs. * changes to mesh, skinned mesh, Morphtarget. * Fixes to RayTracingPass.cpp & now allow empty srg in shaders. * Updated Atom_RPI.Tests * Simplified InstanceDatabase by removing AddHandler ------------------------------------------------------------------------------------ * Updated DiffuseGI precompiled shaders. Added RayTracingSceneSrg and RayTracingMaterialSrg shader asset. Updated ShaderAssetCreator::Clone to handle the supervariant when processing root variants. Co-authored-by: Doug McDiarmid ------------------------------------------------------------------------------------ * Changed semantics for some PassSrg to SRG_PerPass_WithFallback. AuxGeom/FixedShapeProcessor.cpp requires SRG_PerDraw on ObjectSrg. Removed names of SceneSrg and ViewSrg from RPISystemDescriptor.cpp * Moved ShaderLib/Atom/Features/DummyEntryFunctions.azsli To Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/DummyEntryFunctions.azsli Removed redundant checking for finalization in ShaderResourceGroupLayout.cpp * Fixed race condition bug for Shader::FindOrCreate. InstanceDatabase<>::CreateInstance() needs to be atomic for instance creation and initialization. Added optional InstanceHandler::CreateFunctionWithParams to accomodate to the needs of Instances that need more than an asset reference to be able to be created an initialzed. Removed ShaderResourceGroup::FindOrCreate() only ::Create is available now. * Renamed scene_and_view_srgs.* as SceneAndViewSrgs.* Changed GetAzslFileOfOrigin for GetUniqueId * Fixed unit tests. * Reverted the serialization name of m_uniqueId back to "m_azslFileOfOrigin" so precompiled shaders don't fail in layout comparison. * Fixed AtomCore.Tests Removed non-applicable test. InstanceDatabase.AddHandler() is not available anymore. * The Null rhi is re-enabled for shader compilation. Signed-off-by: garrieta --- .../AtomCore/AtomCore/Instance/InstanceData.h | 2 +- .../AtomCore/Instance/InstanceDatabase.h | 239 +- .../AtomCore/Tests/InstanceDatabase.cpp | 327 +- .../Shader/Code/Source/Editor/AzslBuilder.cpp | 402 - .../Shader/Code/Source/Editor/AzslBuilder.h | 68 - .../Code/Source/Editor/AzslCompiler.cpp | 12 +- .../Shader/Code/Source/Editor/AzslCompiler.h | 3 +- .../AzslShaderBuilderSystemComponent.cpp | 79 +- .../Editor/AzslShaderBuilderSystemComponent.h | 8 - .../Editor/PrecompiledShaderBuilder.cpp | 39 +- .../Code/Source/Editor/ShaderAssetBuilder.cpp | 878 +- .../Code/Source/Editor/ShaderAssetBuilder.h | 2 +- .../Source/Editor/ShaderAssetBuilder2.cpp | 683 -- .../Code/Source/Editor/ShaderAssetBuilder2.h | 60 - .../Source/Editor/ShaderBuilderUtility.cpp | 395 +- .../Code/Source/Editor/ShaderBuilderUtility.h | 57 +- .../Editor/ShaderVariantAssetBuilder.cpp | 944 +- .../Source/Editor/ShaderVariantAssetBuilder.h | 44 +- .../Editor/ShaderVariantAssetBuilder2.cpp | 978 -- .../Editor/ShaderVariantAssetBuilder2.h | 107 - .../Code/Source/Editor/SrgLayoutBuilder.cpp | 541 - .../Code/Source/Editor/SrgLayoutBuilder.h | 83 - .../Code/Source/Editor/SrgLayoutUtility.cpp | 1 + .../Code/Source/Editor/SrgLayoutUtility.h | 2 +- .../atom_asset_shader_builders_files.cmake | 8 - .../Passes/EnvironmentCubeMapPipeline.pass | 4 +- .../Common/Assets/Passes/LowEndPipeline.pass | 4 +- .../Common/Assets/Passes/OpaqueParent.pass | 8 +- .../Common/Assets/Passes/Reflections.pass | 12 +- .../Assets/Passes/Reflections_nomsaa.pass | 12 +- .../Assets/Passes/TransparentParent.pass | 4 +- .../Features/RayTracing/RayTracingSrgs.azsl | 19 + .../Features/RayTracing/RayTracingSrgs.shader | 44 + ...seProbeGridBlendDistance.precompiledshader | 4 - ...ProbeGridBlendIrradiance.precompiledshader | 4 - ...beGridBorderUpdateColumn.precompiledshader | 4 - ...ProbeGridBorderUpdateRow.precompiledshader | 4 - ...eProbeGridClassification.precompiledshader | 4 - ...ffuseProbeGridRayTracing.precompiledshader | 4 - ...GridRayTracingClosestHit.precompiledshader | 4 - ...eProbeGridRayTracingMiss.precompiledshader | 4 - ...ffuseProbeGridRelocation.precompiledshader | 4 - .../DiffuseProbeGridRender.precompiledshader | 5 - .../diffuseprobegridblenddistance.azshader | Bin 41674 -> 90350 bytes ...begridblenddistance_dx12_0.azshadervariant | Bin 12166 -> 8186 bytes ...begridblenddistance_null_0.azshadervariant | Bin 4502 -> 486 bytes ...iffuseprobegridblenddistance_passsrg.azsrg | 8329 -------------- ...gridblenddistance_vulkan_0.azshadervariant | Bin 12234 -> 8218 bytes .../diffuseprobegridblendirradiance.azshader | Bin 41696 -> 90394 bytes ...gridblendirradiance_dx12_0.azshadervariant | Bin 12630 -> 8646 bytes ...gridblendirradiance_null_0.azshadervariant | Bin 4502 -> 486 bytes ...fuseprobegridblendirradiance_passsrg.azsrg | 8329 -------------- ...idblendirradiance_vulkan_0.azshadervariant | Bin 13410 -> 9394 bytes ...diffuseprobegridborderupdate_passsrg.azsrg | 1333 --- ...iffuseprobegridborderupdatecolumn.azshader | Bin 10253 -> 28300 bytes ...dborderupdatecolumn_dx12_0.azshadervariant | Bin 8498 -> 4522 bytes ...dborderupdatecolumn_null_0.azshadervariant | Bin 4502 -> 486 bytes ...orderupdatecolumn_vulkan_0.azshadervariant | Bin 6717 -> 2701 bytes .../diffuseprobegridborderupdaterow.azshader | Bin 10250 -> 28297 bytes ...gridborderupdaterow_dx12_0.azshadervariant | Bin 8314 -> 4338 bytes ...gridborderupdaterow_null_0.azshadervariant | Bin 4502 -> 486 bytes ...idborderupdaterow_vulkan_0.azshadervariant | Bin 6238 -> 2222 bytes .../diffuseprobegridclassification.azshader | Bin 40224 -> 87855 bytes ...egridclassification_dx12_0.azshadervariant | Bin 10106 -> 6122 bytes ...egridclassification_null_0.azshadervariant | Bin 4502 -> 486 bytes ...ffuseprobegridclassification_passsrg.azsrg | 8071 -------------- ...ridclassification_vulkan_0.azshadervariant | Bin 8914 -> 4898 bytes .../diffuseprobegridraytracing.azshader | Bin 79466 -> 160607 bytes ...probegridraytracing_dx12_0.azshadervariant | Bin 34738 -> 30714 bytes ...probegridraytracing_null_0.azshadervariant | Bin 4502 -> 486 bytes ...obegridraytracing_vulkan_0.azshadervariant | Bin 36332 -> 32316 bytes ...fuseprobegridraytracingclosesthit.azshader | Bin 79476 -> 160617 bytes ...aytracingclosesthit_dx12_0.azshadervariant | Bin 17150 -> 13126 bytes ...aytracingclosesthit_null_0.azshadervariant | Bin 4502 -> 486 bytes ...tracingclosesthit_vulkan_0.azshadervariant | Bin 9452 -> 5404 bytes ...raytracingcommon_raytracingglobalsrg.azsrg | 9925 ----------------- .../diffuseprobegridraytracingmiss.azshader | Bin 79470 -> 160611 bytes ...egridraytracingmiss_dx12_0.azshadervariant | Bin 17222 -> 13202 bytes ...egridraytracingmiss_null_0.azshadervariant | Bin 4502 -> 486 bytes ...ridraytracingmiss_vulkan_0.azshadervariant | Bin 10364 -> 6348 bytes .../diffuseprobegridrelocation.azshader | Bin 42190 -> 91763 bytes ...probegridrelocation_dx12_0.azshadervariant | Bin 12098 -> 8006 bytes ...probegridrelocation_null_0.azshadervariant | Bin 4502 -> 486 bytes .../diffuseprobegridrelocation_passsrg.azsrg | 8551 -------------- ...obegridrelocation_vulkan_0.azshadervariant | Bin 13314 -> 9298 bytes .../diffuseprobegridrender.azshader | Bin 116296 -> 231825 bytes ...fuseprobegridrender_dx12_0.azshadervariant | Bin 33592 -> 29467 bytes ...fuseprobegridrender_null_0.azshadervariant | Bin 4854 -> 589 bytes .../diffuseprobegridrender_objectsrg.azsrg | 9787 ---------------- .../diffuseprobegridrender_passsrg.azsrg | 1675 --- ...seprobegridrender_vulkan_0.azshadervariant | Bin 24478 -> 20213 bytes .../Common/Assets/Shaders/ForwardPassSrg.azsl | 18 + .../Assets/Shaders/ForwardPassSrg.shader | 39 + .../PostProcessing/DepthOfFieldBlurBokeh.azsl | 2 +- .../PostProcessing/DepthOfFieldComposite.azsl | 2 +- .../LookModificationTransform.azsl | 2 +- .../PostProcessing/OutputTransform.azsl | 2 +- .../SMAABlendingWeightCalculation.azsl | 2 +- .../PostProcessing/SMAAEdgeDetection.azsl | 2 +- .../SMAANeighborhoodBlending.azsl | 2 +- .../ReflectionProbeFeatureProcessor.h | 6 +- .../AuxGeom/DynamicPrimitiveProcessor.cpp | 10 +- .../AuxGeom/DynamicPrimitiveProcessor.h | 3 +- .../Source/AuxGeom/FixedShapeProcessor.cpp | 17 +- .../Code/Source/AuxGeom/FixedShapeProcessor.h | 4 +- .../CapsuleLightFeatureProcessor.cpp | 2 +- .../DirectionalLightFeatureProcessor.cpp | 4 +- .../CoreLights/DiskLightFeatureProcessor.cpp | 2 +- .../CoreLights/PointLightFeatureProcessor.cpp | 2 +- .../PolygonLightFeatureProcessor.cpp | 4 +- .../CoreLights/QuadLightFeatureProcessor.cpp | 2 +- .../SimplePointLightFeatureProcessor.cpp | 2 +- .../SimpleSpotLightFeatureProcessor.cpp | 2 +- .../Source/Decals/DecalFeatureProcessor.cpp | 4 +- .../DecalTextureArrayFeatureProcessor.cpp | 4 +- .../DiffuseProbeGrid.cpp | 35 +- .../DiffuseProbeGrid.h | 18 +- .../DiffuseProbeGridBlendDistancePass.cpp | 4 +- .../DiffuseProbeGridBlendDistancePass.h | 2 +- .../DiffuseProbeGridBlendIrradiancePass.cpp | 4 +- .../DiffuseProbeGridBlendIrradiancePass.h | 2 +- .../DiffuseProbeGridBorderUpdatePass.cpp | 10 +- .../DiffuseProbeGridBorderUpdatePass.h | 6 +- .../DiffuseProbeGridClassificationPass.cpp | 4 +- .../DiffuseProbeGridClassificationPass.h | 2 +- .../DiffuseProbeGridFeatureProcessor.cpp | 6 +- .../DiffuseProbeGridRayTracingPass.cpp | 7 +- .../DiffuseProbeGridRayTracingPass.h | 5 +- .../DiffuseProbeGridRelocationPass.cpp | 4 +- .../DiffuseProbeGridRelocationPass.h | 2 +- .../DiffuseProbeGridRenderPass.cpp | 6 +- .../DiffuseProbeGridRenderPass.h | 2 +- .../Common/Code/Source/ImGui/ImGuiPass.cpp | 13 +- .../Code/Source/Mesh/MeshFeatureProcessor.cpp | 9 +- .../MorphTargets/MorphTargetDispatchItem.cpp | 13 +- .../RayTracing/RayTracingFeatureProcessor.cpp | 25 +- .../RayTracing/RayTracingFeatureProcessor.h | 5 +- .../Code/Source/RayTracing/RayTracingPass.cpp | 15 +- .../ReflectionProbe/ReflectionProbe.cpp | 20 +- .../Source/ReflectionProbe/ReflectionProbe.h | 16 +- .../ReflectionProbeFeatureProcessor.cpp | 32 +- .../ProjectedShadowFeatureProcessor.cpp | 2 +- .../SkinnedMesh/SkinnedMeshDispatchItem.cpp | 13 +- .../RHI.Reflect/ShaderResourceGroupLayout.h | 14 + .../RHI.Reflect/ShaderResourceGroupLayout.cpp | 7 +- Gems/Atom/RPI/Assets/Shader/ImagePreview.azsl | 2 +- .../RPI/Assets/Shader/SceneAndViewSrgs.azsl | 19 + .../RPI/Assets/Shader/SceneAndViewSrgs.shader | 39 + .../Atom/RPI/DummyEntryFunctions.azsli | 55 + .../Include/Atom/RPI.Edit/Common/AssetUtils.h | 3 - .../Atom/RPI.Edit/Shader/ShaderSourceData.h | 1 - .../Shader/ShaderVariantAssetCreator.h | 21 +- .../Shader/ShaderVariantAssetCreator2.h | 54 - .../Shader/ShaderVariantListSourceData.h | 1 - .../DynamicDraw/DynamicDrawContext.h | 2 +- .../Code/Include/Atom/RPI.Public/RPISystem.h | 12 +- .../Atom/RPI.Public/RPISystemInterface.h | 8 +- .../Include/Atom/RPI.Public/RenderPipeline.h | 1 - .../Include/Atom/RPI.Public/Shader/Shader.h | 51 +- .../Include/Atom/RPI.Public/Shader/Shader2.h | 194 - .../Shader/ShaderReloadNotificationBus.h | 3 +- .../Shader/ShaderReloadNotificationBus2.h | 58 - .../RPI.Public/Shader/ShaderResourceGroup.h | 58 +- .../Shader/ShaderResourceGroupPool.h | 14 +- .../Atom/RPI.Public/Shader/ShaderVariant.h | 16 +- .../Atom/RPI.Public/Shader/ShaderVariant2.h | 71 - .../Shader/ShaderVariantAsyncLoader.h | 37 +- .../Atom/RPI.Reflect/Material/MaterialAsset.h | 32 +- .../RPI.Reflect/Material/MaterialTypeAsset.h | 52 +- .../Material/MaterialTypeAssetCreator.h | 19 +- .../Atom/RPI.Reflect/Pass/RasterPassData.h | 8 +- .../Atom/RPI.Reflect/RPISystemDescriptor.h | 9 +- .../RPI.Reflect/Shader/IShaderVariantFinder.h | 16 +- .../Shader/IShaderVariantFinder2.h | 113 - .../Shader/PrecompiledShaderAssetSourceData.h | 1 - .../Atom/RPI.Reflect/Shader/ShaderAsset.h | 254 +- .../Atom/RPI.Reflect/Shader/ShaderAsset2.h | 339 - .../RPI.Reflect/Shader/ShaderAssetCreator.h | 46 +- .../RPI.Reflect/Shader/ShaderAssetCreator2.h | 97 - .../RPI.Reflect/Shader/ShaderCommonTypes.h | 11 +- .../Shader/ShaderResourceGroupAsset.h | 105 - .../Shader/ShaderResourceGroupAssetCreator.h | 71 - .../RPI.Reflect/Shader/ShaderVariantAsset.h | 35 +- .../RPI.Reflect/Shader/ShaderVariantAsset2.h | 104 - .../Atom/RPI.Reflect/System/SceneDescriptor.h | 1 - .../Source/RPI.Builders/BuilderComponent.cpp | 6 - .../RPI.Builders/Material/MaterialBuilder.cpp | 1 - .../Source/RPI.Builders/Pass/PassBuilder.cpp | 19 +- .../Source/RPI.Edit/Common/AssetUtils.cpp | 6 - .../Material/MaterialTypeSourceData.cpp | 2 +- .../Shader/ShaderVariantAssetCreator.cpp | 73 +- .../Shader/ShaderVariantAssetCreator2.cpp | 112 - .../DynamicDraw/DynamicDrawContext.cpp | 20 +- .../Source/RPI.Public/Image/ImageSystem.cpp | 9 +- .../Source/RPI.Public/Material/Material.cpp | 10 +- .../Code/Source/RPI.Public/MeshDrawPacket.cpp | 13 +- .../RPI.Public/Pass/AttachmentReadback.cpp | 6 +- .../Source/RPI.Public/Pass/ComputePass.cpp | 12 +- .../Pass/FullscreenTrianglePass.cpp | 12 +- .../Source/RPI.Public/Pass/RasterPass.cpp | 31 +- .../Specific/ImageAttachmentPreviewPass.cpp | 7 +- .../RPI/Code/Source/RPI.Public/RPISystem.cpp | 36 +- .../Atom/RPI/Code/Source/RPI.Public/Scene.cpp | 8 +- .../Code/Source/RPI.Public/Shader/Shader.cpp | 77 +- .../Code/Source/RPI.Public/Shader/Shader2.cpp | 413 - .../RPI.Public/Shader/ShaderResourceGroup.cpp | 97 +- .../Shader/ShaderResourceGroupPool.cpp | 37 +- .../Source/RPI.Public/Shader/ShaderSystem.cpp | 35 +- .../RPI.Public/Shader/ShaderVariant.cpp | 18 +- .../RPI.Public/Shader/ShaderVariant2.cpp | 76 - .../Shader/ShaderVariantAsyncLoader.cpp | 58 +- Gems/Atom/RPI/Code/Source/RPI.Public/View.cpp | 6 +- .../RPI.Reflect/Material/MaterialAsset.cpp | 28 +- .../Material/MaterialTypeAsset.cpp | 81 +- .../Material/MaterialTypeAssetCreator.cpp | 49 +- .../RPI.Reflect/RPISystemDescriptor.cpp | 9 +- .../PrecompiledShaderAssetSourceData.cpp | 3 +- .../Source/RPI.Reflect/Shader/ShaderAsset.cpp | 312 +- .../RPI.Reflect/Shader/ShaderAsset2.cpp | 589 - .../RPI.Reflect/Shader/ShaderAssetCreator.cpp | 336 +- .../Shader/ShaderAssetCreator2.cpp | 404 - .../Shader/ShaderResourceGroupAsset.cpp | 126 - .../ShaderResourceGroupAssetCreator.cpp | 169 - .../RPI.Reflect/Shader/ShaderVariantAsset.cpp | 35 +- .../Shader/ShaderVariantAsset2.cpp | 114 - .../RPI/Code/Tests/Common/RPITestFixture.cpp | 5 +- .../RPI/Code/Tests/Common/RPITestFixture.h | 3 +- .../Tests/Common/ShaderAssetTestUtils.cpp | 148 + .../Code/Tests/Common/ShaderAssetTestUtils.h | 28 + .../Code/Tests/Image/StreamingImageTests.cpp | 47 +- .../Material/LuaMaterialFunctorTests.cpp | 77 +- .../Tests/Material/MaterialAssetTestUtils.cpp | 140 +- .../Tests/Material/MaterialAssetTestUtils.h | 9 +- .../Tests/Material/MaterialAssetTests.cpp | 6 +- .../Tests/Material/MaterialFunctorTests.cpp | 3 +- .../Material/MaterialSourceDataTests.cpp | 10 +- .../RPI/Code/Tests/Material/MaterialTests.cpp | 53 +- .../Tests/Material/MaterialTypeAssetTests.cpp | 48 +- .../Material/MaterialTypeSourceDataTests.cpp | 65 +- .../RPI/Code/Tests/Shader/ShaderTests.cpp | 127 +- .../ShaderResourceGroupAssetTests.cpp | 143 - .../ShaderResourceGroupBufferTests.cpp | 42 +- ...ShaderResourceGroupConstantBufferTests.cpp | 73 +- .../ShaderResourceGroupGeneralTests.cpp | 70 +- .../ShaderResourceGroupImageTests.cpp | 42 +- Gems/Atom/RPI/Code/atom_rpi_edit_files.cmake | 2 - .../Atom/RPI/Code/atom_rpi_public_files.cmake | 5 - .../RPI/Code/atom_rpi_reflect_files.cmake | 11 - Gems/Atom/RPI/Code/atom_rpi_tests_files.cmake | 3 +- ...ssetCollectionAsyncLoaderTestComponent.cpp | 11 - Gems/LyShine/Code/Source/Draw2d.cpp | 2 +- Gems/LyShine/Code/Source/UiRenderer.cpp | 2 +- Registry/AssetProcessorPlatformConfig.setreg | 8 +- 253 files changed, 3389 insertions(+), 65834 deletions(-) delete mode 100644 Gems/Atom/Asset/Shader/Code/Source/Editor/AzslBuilder.cpp delete mode 100644 Gems/Atom/Asset/Shader/Code/Source/Editor/AzslBuilder.h delete mode 100644 Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder2.cpp delete mode 100644 Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder2.h delete mode 100644 Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder2.cpp delete mode 100644 Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder2.h delete mode 100644 Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutBuilder.cpp delete mode 100644 Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutBuilder.h create mode 100644 Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/RayTracing/RayTracingSrgs.azsl create mode 100644 Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/RayTracing/RayTracingSrgs.shader delete mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance_passsrg.azsrg delete mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblendirradiance_passsrg.azsrg delete mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdate_passsrg.azsrg delete mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridclassification_passsrg.azsrg delete mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingcommon_raytracingglobalsrg.azsrg delete mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrelocation_passsrg.azsrg delete mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_objectsrg.azsrg delete mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_passsrg.azsrg create mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/ForwardPassSrg.azsl create mode 100644 Gems/Atom/Feature/Common/Assets/Shaders/ForwardPassSrg.shader create mode 100644 Gems/Atom/RPI/Assets/Shader/SceneAndViewSrgs.azsl create mode 100644 Gems/Atom/RPI/Assets/Shader/SceneAndViewSrgs.shader create mode 100644 Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/DummyEntryFunctions.azsli delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator2.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader2.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus2.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariant2.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder2.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAsset2.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator2.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAsset.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.h delete mode 100644 Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset2.h delete mode 100644 Gems/Atom/RPI/Code/Source/RPI.Edit/Shader/ShaderVariantAssetCreator2.cpp delete mode 100644 Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader2.cpp delete mode 100644 Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariant2.cpp delete mode 100644 Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset2.cpp delete mode 100644 Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAssetCreator2.cpp delete mode 100644 Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderResourceGroupAsset.cpp delete mode 100644 Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.cpp delete mode 100644 Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderVariantAsset2.cpp create mode 100644 Gems/Atom/RPI/Code/Tests/Common/ShaderAssetTestUtils.cpp create mode 100644 Gems/Atom/RPI/Code/Tests/Common/ShaderAssetTestUtils.h delete mode 100644 Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupAssetTests.cpp diff --git a/Code/Framework/AtomCore/AtomCore/Instance/InstanceData.h b/Code/Framework/AtomCore/AtomCore/Instance/InstanceData.h index 119ecf3df2..d07a3a5d94 100644 --- a/Code/Framework/AtomCore/AtomCore/Instance/InstanceData.h +++ b/Code/Framework/AtomCore/AtomCore/Instance/InstanceData.h @@ -76,7 +76,7 @@ namespace AZ template friend struct AZStd::IntrusivePtrCountPolicy; - template + template friend class InstanceDatabase; // Pointer to the InstanceDatabase that owns this instance. Will be null if the InstanceData object diff --git a/Code/Framework/AtomCore/AtomCore/Instance/InstanceDatabase.h b/Code/Framework/AtomCore/AtomCore/Instance/InstanceDatabase.h index 0a9320e196..70f3e82d3e 100644 --- a/Code/Framework/AtomCore/AtomCore/Instance/InstanceDatabase.h +++ b/Code/Framework/AtomCore/AtomCore/Instance/InstanceDatabase.h @@ -46,14 +46,22 @@ namespace AZ */ using CreateFunction = AZStd::function(AssetData*)>; + using CreateFunctionWithParam = AZStd::function(AssetData*, const AZStd::any* param)>; + /** * Deletion takes an asset as input and transfers ownership to the method. */ using DeleteFunction = AZStd::function; - /// [Required] The function to use when creating an instance. - /// The system will assert if no creation function is provided. - CreateFunction m_createFunction; + /// A function to use when creating an instance. + /// The system will assert if both @m_createFunction and @m_createFunctionWithParam + /// creation functions are invalid. + CreateFunction m_createFunction = nullptr; + + /// A function with an additional custom param to use when creating an instance. + /// The system will assert if both @m_createFunction and @m_createFunctionWithParam + /// creation functions are invalid. + CreateFunctionWithParam m_createFunctionWithParam = nullptr; /// [Optional] The function to use when deleting an instance. DeleteFunction m_deleteFunction = [](Type* t) { delete t; }; @@ -156,28 +164,14 @@ namespace AZ * Use this function when creating an InstanceDatabase that will handle concrete classes of @ref Type. * \param assetType - All instances will be based on subclasses of this asset type. * \param handler - An InstanceHandler that creates instances of @ref assetType assets. + * \param checkAssetIds - If true, it will be validated that "instance->m_assetId == asset.GetId()" */ - static void Create(const AssetType& assetType, const InstanceHandler& handler); - - /** - * Create the InstanceDatabase with no handlers. Individual handlers must be added using @ref AddHandler(). - * Use this function when creating an InstanceDatabase that will handle subclasses of @ref Type. - * \param assetType - All instances will be based on subclasses of this asset type. - */ - static void Create(const AssetType& assetType); + static void Create(const AssetType& assetType, const InstanceHandler& handler, bool checkAssetIds = true); static void Destroy(); static bool IsReady(); static InstanceDatabase& Instance(); - /** - * Add an InstanceHandler that will create instances for assets of type @ref assetType. - */ - void AddHandler(const AssetType& assetType, const InstanceHandler& handler); - void AddHandler(const AssetType& assetType, typename InstanceHandler::CreateFunction createFunction); - - void RemoveHandler(const AssetType& assetType); - /** * Attempts to find an instance associated with the provided id. If the instance exists, it * is returned. If no instance is found, nullptr is returned. If is safe to call this from @@ -205,18 +199,20 @@ namespace AZ * when acquiring an instance. * @return Returns a smart pointer to the instance, which was either found or created. */ - Data::Instance FindOrCreate(const InstanceId& id, const Asset& asset); + Data::Instance FindOrCreate(const InstanceId& id, const Asset& asset, const AZStd::any* param = nullptr); //! Calls the above FindOrCreate using an InstanceId created from the asset - Data::Instance FindOrCreate(const Asset& asset); + Data::Instance FindOrCreate(const Asset& asset, const AZStd::any* param = nullptr); //! Calls FindOrCreate using a random InstanceId - Data::Instance Create(const Asset& asset); + Data::Instance Create(const Asset& asset, const AZStd::any* param = nullptr); private: InstanceDatabase(const AssetType& assetType); ~InstanceDatabase(); + bool m_checkAssetIds = true; + //useAssetTypeAsKeyForHandlers; static const char* GetEnvironmentName(); // Utility function called by InstanceData to remove the instance from the database. @@ -224,11 +220,7 @@ namespace AZ void ValidateSameAsset(InstanceData* instance, const Data::Asset& asset) const; - // Performs a thread-safe search for the InstanceHandler for a given asset type. - bool FindHandler(const AssetType& assetType, InstanceHandler& handlerOut); - - mutable AZStd::shared_mutex m_handlersMutex; - AZStd::unordered_map> m_handlers; + InstanceHandler m_instanceHandler; // m_database uses a recursive_mutex instead of a shared_mutex because it's possible to recursively // create or destroy instances on the same thread while in the midst of creating or destroying an instance. @@ -241,10 +233,11 @@ namespace AZ static EnvironmentVariable ms_instance; }; - template - EnvironmentVariable*> InstanceDatabase::ms_instance = nullptr; + template + EnvironmentVariable*> + InstanceDatabase::ms_instance = nullptr; - template + template InstanceDatabase::~InstanceDatabase() { #ifdef AZ_DEBUG_BUILD @@ -261,52 +254,7 @@ namespace AZ "AZ::Data::%s still has active references.", Type::GetDatabaseName()); } - template - void InstanceDatabase::AddHandler(const AssetType& assetType, const InstanceHandler& handler) - { - AZ_Assert(handler.m_createFunction, "You are required to provide a create function to InstanceDatabase."); - - AZStd::unique_lock lock(m_handlersMutex); - auto result = m_handlers.emplace(assetType, handler); - AZ_Assert(result.second, "An InstanceHandler already exists for this AssetType"); - } - - template - void InstanceDatabase::AddHandler(const AssetType& assetType, typename InstanceHandler::CreateFunction createFunction) - { - InstanceHandler instanceHandler; - instanceHandler.m_createFunction = createFunction; - - AddHandler(assetType, instanceHandler); - } - - template - void InstanceDatabase::RemoveHandler(const AssetType& assetType) - { - AZStd::unique_lock lock(m_handlersMutex); - m_handlers.erase(assetType); - } - - template - bool InstanceDatabase::FindHandler(const AssetType& assetType, InstanceHandler& handlerOut) - { - AZStd::shared_lock lock(m_handlersMutex); - - auto handlerIter = m_handlers.find(assetType); - if (handlerIter != m_handlers.end()) - { - // Since the handler is just a couple pointers, we copy the handler so we can - // release the lock right away. - handlerOut = handlerIter->second; - return true; - } - else - { - return false; - } - } - - template + template Data::Instance InstanceDatabase::Find(const InstanceId& id) const { AZStd::scoped_lock lock(m_databaseMutex); @@ -318,8 +266,9 @@ namespace AZ return nullptr; } - template - Data::Instance InstanceDatabase::FindOrCreate(const InstanceId& id, const Asset& asset) + template + Data::Instance InstanceDatabase::FindOrCreate( + const InstanceId& id, const Asset& asset, const AZStd::any* param) { if (!id.IsValid()) { @@ -358,24 +307,6 @@ namespace AZ } } - if (!azrtti_istypeof(m_baseAssetType, assetLocal.Get())) - { - InstanceHandler instanceHandler; - - // If a handler was incorrectly registered for an unrelated asset type, this is the - // first chance we have to discover that fact, because up until now all we had was two - // TypeIds. - if (FindHandler(assetLocal.GetType(), instanceHandler)) - { - AZ_Assert(false, "An InstanceHandler was added for asset type %s which is not a subclass of the base asset type %s.", - assetLocal.GetType().ToString().data(), - m_baseAssetType.ToString().data() - ); - - return nullptr; - } - } - // Take a lock to guard the insertion. Note that this will not guard against recursive insertions on the same thread. AZStd::scoped_lock lock(m_databaseMutex); @@ -390,48 +321,46 @@ namespace AZ } // Emplace a new instance and return it. - InstanceHandler instanceHandler; - if (FindHandler(assetLocal.GetType(), instanceHandler)) + // It's possible for the m_createFunction call to recursively trigger another FindOrCreate call, so be aware that + // the contents of m_database may change within this call. + Data::Instance instance = nullptr; + if (!param) { - // It's possible for the m_createFunction call to recursively trigger another FindOrCreate call, so be aware that - // the contents of m_database may change within this call. - Data::Instance instance = instanceHandler.m_createFunction(assetLocal.Get()); - if (instance) - { - AZ_Assert(m_database.find(id) == m_database.end(), - "Instance creation for asset id %s resulted in a recursive creation of that asset, which was unexpected. " - "This asset might be erroneously referencing itself as a dependent asset.", id.ToString().c_str()); - - instance->m_id = id; - instance->m_parentDatabase = this; - instance->m_assetId = assetLocal.GetId(); - instance->m_assetType = assetLocal.GetType(); - m_database.emplace(id, instance.get()); - } - return AZStd::move(instance); + instance = m_instanceHandler.m_createFunction(assetLocal.Get()); } else { - AZ_Warning( - "InstanceDatabase", false, - "No InstanceHandler found for asset type %s", assetLocal.GetType().ToString().data()); - return nullptr; + instance = m_instanceHandler.m_createFunctionWithParam(assetLocal.Get(), param); } + + if (instance) + { + AZ_Assert(m_database.find(id) == m_database.end(), + "Instance creation for asset id %s resulted in a recursive creation of that asset, which was unexpected. " + "This asset might be erroneously referencing itself as a dependent asset.", id.ToString().c_str()); + + instance->m_id = id; + instance->m_parentDatabase = this; + instance->m_assetId = assetLocal.GetId(); + instance->m_assetType = assetLocal.GetType(); + m_database.emplace(id, instance.get()); + } + return AZStd::move(instance); } - template - Data::Instance InstanceDatabase::FindOrCreate(const Asset& asset) + template + Data::Instance InstanceDatabase::FindOrCreate(const Asset& asset, const AZStd::any* param) { - return FindOrCreate(Data::InstanceId::CreateFromAssetId(asset.GetId()), asset); + return FindOrCreate(Data::InstanceId::CreateFromAssetId(asset.GetId()), asset, param); } - template - Data::Instance InstanceDatabase::Create(const Asset& asset) + template + Data::Instance InstanceDatabase::Create(const Asset& asset, const AZStd::any* param) { - return FindOrCreate(Data::InstanceId::CreateRandom(), asset); + return FindOrCreate(Data::InstanceId::CreateRandom(), asset, param); } - template + template void InstanceDatabase::ReleaseInstance(InstanceData* instance, const InstanceId& instanceId) { AZStd::scoped_lock lock(m_databaseMutex); @@ -447,22 +376,13 @@ namespace AZ instance->m_useCount.compare_exchange_strong(expectedRefCount, -1)) { m_database.erase(instance->GetId()); - - InstanceHandler instanceHandler; - if (FindHandler(instance->GetAssetType(), instanceHandler)) - { - instanceHandler.m_deleteFunction(static_cast(instance)); - } - else - { - AZ_Assert(false, - "Cannot delete Instance. No InstanceHandler found for asset type %s", instance->GetAssetType().ToString().data()); - } + m_instanceHandler.m_deleteFunction(static_cast(instance)); } } - template - void InstanceDatabase::ValidateSameAsset(InstanceData* instance, const Data::Asset& asset) const + template + void InstanceDatabase::ValidateSameAsset( + InstanceData* instance, const Data::Asset& asset) const { /** * The following validation layer is disabled in release, but is designed to catch a couple related edge cases @@ -476,46 +396,47 @@ namespace AZ */ #if defined (AZ_DEBUG_BUILD) - AZ_Error("InstanceDatabase", instance->m_assetId == asset.GetId(), - "InstanceDatabase::FindOrCreate found the requested instance, but a different asset was used to create it. " - "Instances of a specific id should be acquired using the same asset. Either make sure the instance id " - "is actually unique, or that you are using the same asset each time for that particular id."); + if (m_checkAssetIds) + { + AZ_Error( + "InstanceDatabase", (instance->m_assetId == asset.GetId()), + "InstanceDatabase::FindOrCreate found the requested instance, but a different asset was used to create it. " + "Instances of a specific id should be acquired using the same asset. Either make sure the instance id " + "is actually unique, or that you are using the same asset each time for that particular id."); + } #else AZ_UNUSED(instance); AZ_UNUSED(asset); #endif } - template + template InstanceDatabase::InstanceDatabase(const AssetType& assetType) : m_baseAssetType(assetType) { } - template - void InstanceDatabase::Create(const AssetType& assetType) + template + void InstanceDatabase::Create(const AssetType& assetType, const InstanceHandler& handler, bool checkAssetIds) { AZ_Assert(!ms_instance || !ms_instance.Get(), "InstanceDatabase already created!"); if (!ms_instance) { - ms_instance = Environment::CreateVariable(GetEnvironmentName()); + ms_instance = Environment::CreateVariable*>(GetEnvironmentName()); } if (!ms_instance.Get()) { ms_instance.Set(aznew InstanceDatabase(assetType)); } + + AZ_Assert(handler.m_createFunction || handler.m_createFunctionWithParam, "At least one create function must be valid"); + ms_instance.Get()->m_instanceHandler = handler; + ms_instance.Get()->m_checkAssetIds = checkAssetIds; } - template - void InstanceDatabase::Create(const AssetType& assetType, const InstanceHandler& handler) - { - Create(assetType); - Instance().AddHandler(assetType, handler); - } - - template + template void InstanceDatabase::Destroy() { AZ_Assert(ms_instance, "InstanceDatabase not created!"); @@ -523,7 +444,7 @@ namespace AZ *ms_instance = nullptr; } - template + template bool InstanceDatabase::IsReady() { if (!ms_instance) @@ -534,7 +455,7 @@ namespace AZ return ms_instance && *ms_instance; } - template + template InstanceDatabase& InstanceDatabase::Instance() { if (!ms_instance) @@ -546,10 +467,12 @@ namespace AZ return *(*ms_instance); } - template + template const char* InstanceDatabase::GetEnvironmentName() { - static_assert(HasInstanceDatabaseName::value, "All classes used as instances in an InstanceDatabase need to define AZ_INSTANCE_DATA in the class."); + static_assert( + HasInstanceDatabaseName::value, + "All classes used as instances in an InstanceDatabase need to define AZ_INSTANCE_DATA in the class."); return Type::GetDatabaseName(); } } diff --git a/Code/Framework/AtomCore/Tests/InstanceDatabase.cpp b/Code/Framework/AtomCore/Tests/InstanceDatabase.cpp index 833940a68e..daed818435 100644 --- a/Code/Framework/AtomCore/Tests/InstanceDatabase.cpp +++ b/Code/Framework/AtomCore/Tests/InstanceDatabase.cpp @@ -34,8 +34,7 @@ namespace UnitTest static const AssetId s_assetId3{ Uuid("{D9CDAB04-D206-431E-BDC0-1DD615D56197}") }; // test asset type - class TestAssetType - : public AssetData + class TestAssetType : public AssetData { public: AZ_CLASS_ALLOCATOR(TestAssetType, AZ::SystemAllocator, 0); @@ -47,30 +46,30 @@ namespace UnitTest } }; - class TestInstanceA - : public InstanceData + class TestInstanceA : public InstanceData { public: AZ_INSTANCE_DATA(TestInstanceA, "{65CBF1C8-F65F-4A84-8A11-B510BC435DB0}"); AZ_CLASS_ALLOCATOR(TestInstanceA, AZ::SystemAllocator, 0); TestInstanceA(TestAssetType* asset) - : m_asset{asset, AZ::Data::AssetLoadBehavior::Default} - {} + : m_asset{ asset, AZ::Data::AssetLoadBehavior::Default } + { + } Asset m_asset; }; - class TestInstanceB - : public InstanceData + class TestInstanceB : public InstanceData { public: AZ_INSTANCE_DATA(TestInstanceB, "{4ED0A8BF-7800-44B2-AC73-2CB759C61C37}"); AZ_CLASS_ALLOCATOR(TestInstanceB, AZ::SystemAllocator, 0); TestInstanceB(TestAssetType* asset) - : m_asset{asset, AZ::Data::AssetLoadBehavior::Default } - {} + : m_asset{ asset, AZ::Data::AssetLoadBehavior::Default } + { + } ~TestInstanceB() { @@ -86,8 +85,7 @@ namespace UnitTest // test asset handler template - class MyAssetHandler - : public AssetHandler + class MyAssetHandler : public AssetHandler { public: AZ_CLASS_ALLOCATOR(MyAssetHandler, AZ::SystemAllocator, 0); @@ -120,13 +118,12 @@ namespace UnitTest } }; - class InstanceDatabaseTest - : public AllocatorsFixture + class InstanceDatabaseTest : public AllocatorsFixture { protected: MyAssetHandler* m_assetHandler; - public: + public: void SetUp() override { AllocatorsFixture::SetUp(); @@ -200,7 +197,7 @@ namespace UnitTest AZStd::vector guids; AZStd::vector> assets; - + for (size_t i = 0; i < assetIdCount; ++i) { Uuid guid = Uuid::CreateRandom(); @@ -211,7 +208,6 @@ namespace UnitTest assets.emplace_back(assetManager.CreateAsset(guid, AZ::Data::AssetLoadBehavior::Default)); } - AZStd::vector threads; AZStd::mutex mutex; AZStd::atomic threadCount((int)threadCountMax); @@ -232,27 +228,29 @@ namespace UnitTest for (size_t i = 0; i < threadCountMax; ++i) { - threads.emplace_back([&instanceManager, &threadCount, &cv, &guids, &assets, &durationSeconds]() - { - AZ::Debug::Timer timer; - timer.Stamp(); - - while(timer.GetDeltaTimeInSeconds() < durationSeconds) + threads.emplace_back( + [&instanceManager, &threadCount, &cv, &guids, &assets, &durationSeconds]() { - const size_t index = rand() % guids.size(); - const Uuid uuid = guids[index]; - const InstanceId instanceId{uuid}; - const AssetId assetId{uuid}; + AZ::Debug::Timer timer; + timer.Stamp(); - Instance instance = instanceManager.FindOrCreate(instanceId, Asset(assetId, azrtti_typeid())); - EXPECT_NE(instance, nullptr); - EXPECT_EQ(instance->GetId(), instanceId); - EXPECT_EQ(instance->m_asset, assets[index]); - } + while (timer.GetDeltaTimeInSeconds() < durationSeconds) + { + const size_t index = rand() % guids.size(); + const Uuid uuid = guids[index]; + const InstanceId instanceId{ uuid }; + const AssetId assetId{ uuid }; - threadCount--; - cv.notify_one(); - }); + Instance instance = + instanceManager.FindOrCreate(instanceId, Asset(assetId, azrtti_typeid())); + EXPECT_NE(instance, nullptr); + EXPECT_EQ(instance->GetId(), instanceId); + EXPECT_EQ(instance->m_asset, assets[index]); + } + + threadCount--; + cv.notify_one(); + }); } bool timedOut = false; @@ -261,7 +259,9 @@ namespace UnitTest while (threadCount > 0 && !timedOut) { AZStd::unique_lock lock(mutex); - timedOut = (AZStd::cv_status::timeout == cv.wait_until(lock, AZStd::chrono::system_clock::now() + AZStd::chrono::seconds(durationSeconds * 2))); + timedOut = + (AZStd::cv_status::timeout == + cv.wait_until(lock, AZStd::chrono::system_clock::now() + AZStd::chrono::seconds(durationSeconds * 2))); } EXPECT_TRUE(threadCount == 0) << "One or more threads appear to be deadlocked at " << timer.GetDeltaTimeInSeconds() << " seconds"; @@ -280,8 +280,8 @@ namespace UnitTest TEST_F(InstanceDatabaseTest, ParallelInstanceCreate) { // This is the original test scenario from when InstanceDatabase was first implemented - // threads, AssetIds, seconds - ParallelInstanceCreateHelper( 8, 100, 5 ); + // threads, AssetIds, seconds + ParallelInstanceCreateHelper(8, 100, 5); // This value is checked in as 1 so this test doesn't take too much time, but can be increased locally to soak the test. const size_t attempts = 1; @@ -291,10 +291,10 @@ namespace UnitTest printf("Attempt %zu of %zu... \n", i, attempts); // The idea behind this series of tests is that there are two threads sharing one Instance, and both threads try to - // create or release that instance at the same time. + // create or release that instance at the same time. // At the time, this set of scenarios has something like a 10% failure rate. const size_t duration = 2; - // threads, AssetIds, seconds + // threads, AssetIds, seconds ParallelInstanceCreateHelper(2, 1, duration); ParallelInstanceCreateHelper(4, 1, duration); ParallelInstanceCreateHelper(8, 1, duration); @@ -306,7 +306,7 @@ namespace UnitTest // Here we try a bunch of different threadCount:assetCount ratios to be thorough const size_t duration = 2; - // threads, AssetIds, seconds + // threads, AssetIds, seconds ParallelInstanceCreateHelper(2, 1, duration); ParallelInstanceCreateHelper(4, 1, duration); ParallelInstanceCreateHelper(4, 2, duration); @@ -328,7 +328,10 @@ namespace UnitTest // Tests whether the deleter actually calls delete properly without // a parent database. - instance->m_onDeleteCallback = [this, &m_deleted] () { m_deleted = true; }; + instance->m_onDeleteCallback = [this, &m_deleted]() + { + m_deleted = true; + }; } EXPECT_TRUE(m_deleted); @@ -386,242 +389,4 @@ namespace UnitTest InstanceDatabase::Destroy(); } - - class InstanceDatabaseTestWithMultipleSubclasses - : public AllocatorsFixture - { - protected: - // We have "BaseAsset" with subclasses "FooAsset" and "BarAsset", - // and corresponding "BaseInstance" with subclasses "FooInstance" and "BarInstance". - // There is one "InstanceDatabse" that can create instances of both subtypes. - - class BaseAsset - : public AssetData - { - public: - AZ_CLASS_ALLOCATOR(BaseAsset, AZ::SystemAllocator, 0); - AZ_RTTI(FooAsset, "{35B443A6-D8ED-4C3C-A3F0-D642251F0AA5}", AssetData); - - BaseAsset() - { - m_status = AssetStatus::Ready; - } - }; - - class BaseInstance - : public InstanceData - { - public: - AZ_INSTANCE_DATA(BaseInstance, "{EFEC3406-2CB7-462E-A676-C22177E143E6}"); - AZ_CLASS_ALLOCATOR(BaseInstance, AZ::SystemAllocator, 0); - - BaseInstance(BaseAsset* asset) - : m_asset{ asset, AZ::Data::AssetLoadBehavior::Default } - {} - - Asset m_asset; - }; - - class FooAsset - : public BaseAsset - { - public: - AZ_CLASS_ALLOCATOR(FooAsset, AZ::SystemAllocator, 0); - AZ_RTTI(FooAsset, "{74BAE278-3DCA-4ADD-807E-2A6873F9EA3C}", BaseAsset); - }; - - class BarAsset - : public BaseAsset - { - public: - AZ_CLASS_ALLOCATOR(BarAsset, AZ::SystemAllocator, 0); - AZ_RTTI(FooAsset, "{2BCD66F5-768B-4569-9FC2-DE92ABC9C0BF}", BaseAsset); - }; - - class FooInstance - : public BaseInstance - { - public: - AZ_RTTI(FooInstance, "{B5487509-5518-4591-AC96-03E623A584B7}", BaseInstance); - AZ_CLASS_ALLOCATOR(FooInstance, AZ::SystemAllocator, 0); - - FooInstance(BaseAsset* asset) - : BaseInstance(asset) - { - EXPECT_TRUE(azrtti_typeid() == asset->GetType()); - } - }; - - class BarInstance - : public BaseInstance - { - public: - AZ_RTTI(BarInstance, "{CE9C844A-625D-4899-B7DB-8127D4618D25}", BaseInstance); - AZ_CLASS_ALLOCATOR(BarInstance, AZ::SystemAllocator, 0); - - BarInstance(BaseAsset* asset) - : BaseInstance(asset) - { - EXPECT_TRUE(azrtti_typeid() == asset->GetType()); - } - }; - - MyAssetHandler m_fooAssetHandler; - MyAssetHandler m_barAssetHandler; - - public: - - void SetUp() override - { - AllocatorsFixture::SetUp(); - AllocatorInstance::Create(); - AllocatorInstance::Create(); - - // create the asset database - { - AssetManager::Descriptor desc; - AssetManager::Create(desc); - } - - // create the instance database - { - InstanceDatabase::Create(azrtti_typeid()); - - InstanceHandler fooHandler; - fooHandler.m_createFunction = [](AssetData* assetData) - { - EXPECT_TRUE(azrtti_istypeof(assetData)); - return aznew FooInstance(static_cast(assetData)); - }; - InstanceDatabase::Instance().AddHandler(azrtti_typeid(), fooHandler); - - // Using a different overload of AddHandler() - InstanceDatabase::Instance().AddHandler(azrtti_typeid(), [](AssetData* assetData) - { - EXPECT_TRUE(azrtti_istypeof(assetData)); - return aznew BarInstance(static_cast(assetData)); - }); - } - - AssetManager::Instance().RegisterHandler(&m_fooAssetHandler, AzTypeInfo::Uuid()); - AssetManager::Instance().RegisterHandler(&m_barAssetHandler, AzTypeInfo::Uuid()); - } - - void TearDown() override - { - AssetManager::Instance().UnregisterHandler(&m_fooAssetHandler); - AssetManager::Instance().UnregisterHandler(&m_barAssetHandler); - AssetManager::Destroy(); - - InstanceDatabase::Destroy(); - - AllocatorInstance::Destroy(); - AllocatorInstance::Destroy(); - AllocatorsFixture::TearDown(); - } - }; - - TEST_F(InstanceDatabaseTestWithMultipleSubclasses, InstanceCreate) - { - auto& assetManager = AssetManager::Instance(); - auto& instanceDatabase = InstanceDatabase::Instance(); - - Asset fooAsset = assetManager.CreateAsset(s_assetId0, AZ::Data::AssetLoadBehavior::Default); - Asset barAsset = assetManager.CreateAsset(s_assetId1, AZ::Data::AssetLoadBehavior::Default); - - // Run the creation tests on 'A' first. - - Instance fooInstanceA = instanceDatabase.Find(s_instanceId0); - EXPECT_EQ(fooInstanceA, nullptr); - - Instance barInstanceA = instanceDatabase.Find(s_instanceId1); - EXPECT_EQ(barInstanceA, nullptr); - - fooInstanceA = instanceDatabase.FindOrCreate(s_instanceId0, fooAsset); - EXPECT_NE(fooInstanceA, nullptr); - EXPECT_EQ(fooInstanceA->m_asset, fooAsset); - EXPECT_TRUE(azrtti_typeid() == fooInstanceA->RTTI_GetType()); - EXPECT_EQ(fooInstanceA, instanceDatabase.Find(s_instanceId0)); - - barInstanceA = instanceDatabase.FindOrCreate(s_instanceId1, barAsset); - EXPECT_NE(barInstanceA, nullptr); - EXPECT_EQ(barInstanceA->m_asset, barAsset); - EXPECT_TRUE(azrtti_typeid() == barInstanceA->RTTI_GetType()); - EXPECT_EQ(barInstanceA, instanceDatabase.Find(s_instanceId1)); - - // Run the same test on 'B' to make sure it works independently. - - Instance fooInstanceB = instanceDatabase.Find(s_instanceId2); - EXPECT_EQ(fooInstanceB, nullptr); - - Instance barInstanceB = instanceDatabase.Find(s_instanceId3); - EXPECT_EQ(barInstanceB, nullptr); - - fooInstanceB = instanceDatabase.FindOrCreate(s_instanceId2, fooAsset); - EXPECT_NE(fooInstanceB, nullptr); - EXPECT_EQ(fooInstanceB->m_asset, fooAsset); - EXPECT_TRUE(azrtti_typeid() == fooInstanceB->RTTI_GetType()); - EXPECT_EQ(fooInstanceB, instanceDatabase.Find(s_instanceId2)); - - barInstanceB = instanceDatabase.FindOrCreate(s_instanceId3, barAsset); - EXPECT_NE(barInstanceB, nullptr); - EXPECT_EQ(barInstanceB->m_asset, barAsset); - EXPECT_TRUE(azrtti_typeid() == barInstanceB->RTTI_GetType()); - EXPECT_EQ(barInstanceB, instanceDatabase.Find(s_instanceId3)); - - // Make sure the instances are unique - - EXPECT_NE(fooInstanceA, fooInstanceB); - EXPECT_NE(barInstanceA, barInstanceB); - } - - TEST_F(InstanceDatabaseTestWithMultipleSubclasses, TestError_AddHandler_AssetTypeIsNotSubclass) - { - MyAssetHandler testAssetHandler; - AssetManager::Instance().RegisterHandler(&testAssetHandler, azrtti_typeid()); - - // Register an instance handler with an unrelated asset type. This can't actually - // check the AssetType yet because all it has are AssetType GUIDs, no actual data. - { - InstanceHandler instanceHandler; - instanceHandler.m_createFunction = [](AssetData* assetData) - { - return aznew BaseInstance(static_cast(assetData)); - }; - - AssetType unrelatedAssetType = azrtti_typeid(); - - InstanceDatabase::Instance().AddHandler(unrelatedAssetType, instanceHandler); - } - - // Try to use the unrelated handler. This is where we'll actually get an error. - { - AZ_TEST_START_ASSERTTEST; - - Asset testAsset = AssetManager::Instance().CreateAsset(s_assetId0, AZ::Data::AssetLoadBehavior::Default); - - EXPECT_EQ(nullptr, InstanceDatabase::Instance().FindOrCreate(s_instanceId0, testAsset)); - - AZ_TEST_STOP_ASSERTTEST(1); - } - - AssetManager::Instance().UnregisterHandler(&testAssetHandler); - } - - TEST_F(InstanceDatabaseTestWithMultipleSubclasses, TestError_AddHandler_AlreadyExists) - { - InstanceHandler instanceHandler; - instanceHandler.m_createFunction = [](AssetData*) - { - return nullptr; // Doesn't matter - }; - - AZ_TEST_START_ASSERTTEST; - - // The SetUp() function already registered a handler for FooAsset so this should fail - InstanceDatabase::Instance().AddHandler(azrtti_typeid(), instanceHandler); - InstanceDatabase::Instance().AddHandler(azrtti_typeid(), [](AssetData*) { return nullptr; }); - - AZ_TEST_STOP_ASSERTTEST(2); - } -} +} // namespace UnitTest diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslBuilder.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslBuilder.cpp deleted file mode 100644 index 668d6866d3..0000000000 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslBuilder.cpp +++ /dev/null @@ -1,402 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#include "AzslBuilder.h" -#include "ShaderBuilderUtility.h" -#include "ShaderPlatformInterfaceRequest.h" -#include - -#include -#include - -#include - -namespace AZ -{ - namespace ShaderBuilder - { - enum class JobParameterIndices : uint32_t - { - ApiName, - PreprocessedCode, - PreprocessorError, - SkipJob - }; - - AZ::Uuid AzslBuilder::GetUUID() - { - return AZ::Uuid::CreateString("{72DCFC95-1B9E-4A8D-8633-D497CACD98AB}"); - } - - RHI::ShaderPlatformInterface* GetShaderPlatformInterfaceForApi(const AZStd::string& apiNameFilter, const AssetBuilderSDK::PlatformInfo& currentPlatform) - { - AZStd::vector platformInterfaces; - ShaderPlatformInterfaceRequestBus::BroadcastResult(platformInterfaces, &ShaderPlatformInterfaceRequest::GetShaderPlatformInterface, currentPlatform); - for (RHI::ShaderPlatformInterface* oneInterface : platformInterfaces) - { - if (oneInterface && oneInterface->GetAPIName().GetStringView() == apiNameFilter) - { - return oneInterface; - } - } - return nullptr; - } - - PreprocessorData PreprocessSource(const AZStd::string& inputFile, const AZStd::string& originalPath, const PreprocessorOptions& options) - { - // run mcpp - PreprocessorData output; - PreprocessFile(inputFile, output, options, true, true); - // do not let the filename.api.azsl.prepend be the filename that will be regarded as the source. - // because SRG assets are located using the 'containingFile' so we need to preserve the true origin: - MutateLineDirectivesFileOrigin(output.code, originalPath); - RHI::ReportErrorMessages(AzslBuilder::BuilderName, output.diagnostics); - return output; - } - - void AddAzslBuilderJobDependency(AssetBuilderSDK::JobDescriptor& jobDescriptor, const AZStd::string& platformInfoIdentifier, AZStd::string_view apiName, AZStd::string_view fullFilePath) - { - AssetBuilderSDK::SourceFileDependency fileDependency; - fileDependency.m_sourceFileDependencyPath = fullFilePath; - - AssetBuilderSDK::JobDependency dependency; - dependency.m_jobKey = AzslBuilder::JobKey; - dependency.m_jobKey += " "; - dependency.m_jobKey += apiName; - dependency.m_platformIdentifier = platformInfoIdentifier; - dependency.m_sourceFile = fileDependency; - dependency.m_type = AssetBuilderSDK::JobDependencyType::Order; - jobDescriptor.m_jobDependencyList.emplace_back(dependency); - } - - void AzslBuilder::CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const - { - AZStd::string fullPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), fullPath, true); - - // this builder may take as input: - // .shader .azsl .azsli .srgi - // it will not behave strictly exactly the same for each type - - // Only *.srgi files are supposed to include files that define "partial" qualified SRGs. - const bool isSrgi = AzFramework::StringFunc::Path::IsExtension(fullPath.c_str(), SrgIncludeExtension); - - // .azsli needs "skip check" - const bool isAzsli = AzFramework::StringFunc::Path::IsExtension(fullPath.c_str(), "azsli"); - - // .shader files must be opened to get their build options and the referenced azsl file - const bool isShader = AzFramework::StringFunc::Path::IsExtension(fullPath.c_str(), RPI::ShaderSourceData::Extension); - - // .azsl must not be skipped, otherwise we're creating a risk of two .shader referring to the same .azsl racing for its output product - - // To avoid the warning: - // "No job was found to match the job dependency criteria declared by file "..." - // We will schedule the job, but will do nothing - //bool shouldSkipFile = false; - - // We treat some issues as warnings and return "Success" from CreateJobs allows us to report the dependency. - // If/when a valid dependency file appears, that will trigger the ShaderVariantAssetBuilder to run again. - // Since CreateJobs will pass, we forward this message to ProcessJob which will report it as an error. - //bool gotPreprocessingError = false; - - - // The following if-block will be removed once [GFX TODO][ATOM-5302] is addressed, and - // azslc allows redundant SrgSemantics for "partial" qualified SRGs. - if (isAzsli) - { - auto skipCheck = ShaderBuilderUtility::ShouldSkipFileForSrgProcessing(BuilderName, fullPath); - if (skipCheck != ShaderBuilderUtility::SrgSkipFileResult::ContinueProcess) - { - response.m_result = skipCheck == ShaderBuilderUtility::SrgSkipFileResult::Error ? - AssetBuilderSDK::CreateJobsResultCode::Failed : AssetBuilderSDK::CreateJobsResultCode::Success; - return; - } - } - - if (isShader) - { - // Need to get the path to the shader file from the template, so that we can preprocess the shader data and setup - // source file dependencies. - auto descriptorParseOutput = ShaderBuilderUtility::LoadShaderDataJson(fullPath); - if (!descriptorParseOutput.IsSuccess()) - { - AZ_Error(BuilderName, false, "Failed to parse Shader Descriptor JSON: %s", descriptorParseOutput.GetError().c_str()); - return; - } - // update the value of fullPath to mean directly, the azsl file: - ShaderBuilderUtility::GetAbsolutePathToAzslFile(fullPath, descriptorParseOutput.GetValue().m_source, fullPath); - } - - GlobalBuildOptions buildOptions = ReadBuildOptions(BuilderName); - - for (const AssetBuilderSDK::PlatformInfo& info : request.m_enabledPlatforms) - { - AZ_TraceContext("For platform", info.m_identifier.data()); - - // Get the platform interfaces to be able to access the prepend file - AZStd::vector platformInterfaces = ShaderBuilderUtility::DiscoverValidShaderPlatformInterfaces(info); - - // Preprocess the shader file, per activated platform. - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) - { - auto apiNameAsStringView = shaderPlatformInterface->GetAPIName().GetStringView(); - - AssetBuilderSDK::JobDescriptor jobDescriptor; - jobDescriptor.m_priority = 2; - // [GFX TODO][ATOM-2830] Set 'm_critical' back to 'false' once proper fix for Atom startup issues are in - jobDescriptor.m_critical = true; - jobDescriptor.m_jobKey = JobKey; - jobDescriptor.m_jobKey += " "; - jobDescriptor.m_jobKey += apiNameAsStringView; - jobDescriptor.SetPlatformIdentifier(info.m_identifier.data()); - jobDescriptor.m_jobParameters[(u32)JobParameterIndices::ApiName] = apiNameAsStringView; - if (isShader) - { - // add a job dependency on the azsl run (of that same job: AzslBuilder - because it also runs on .azsl) - AddAzslBuilderJobDependency(jobDescriptor, info.m_identifier, apiNameAsStringView, fullPath); - } - - // execute azsl prepending here, before preprocess, in order to support macros in AzslcHeader.azsli - AZStd::string prependedAzslSourceCode; - RHI::PrependArguments args; - args.m_sourceFile = fullPath.c_str(); - args.m_prependFile = shaderPlatformInterface->GetAzslHeader(info); - args.m_addSuffixToFileName = shaderPlatformInterface->GetAPIName().GetCStr(); - args.m_destinationStringOpt = &prependedAzslSourceCode; - - if (RHI::PrependFile(args) == fullPath) // error case. it returns the combined-file's name on success, or original path on failure, but here we use the "direct to string" mode so we don't need to store the returned name. - { - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Failed; - return; - } - AZStd::string originalLocation; - // extract the (full) directory chain from the path: (eg from "d:/p/f.e" extract "d:/p/") - AzFramework::StringFunc::Path::GetFullPath(fullPath.c_str(), originalLocation); - // have to go through filesystem because we have no way to pipe data through mcpp (because of single threaded static link call and buffer limits) - // we can't use a temporary folder because CreateJobs API does not warrant side effects, and does not prepare a temp folder. - // we can't use the OS temp folder anyway, because many includes (eg #include "../RPI/Shadow.h") are relative and will only work from the original location - AZStd::string prependedPath = ShaderBuilderUtility::DumpAzslPrependedCode( - BuilderName, prependedAzslSourceCode, originalLocation, ShaderBuilderUtility::ExtractStemName(fullPath.c_str()), - shaderPlatformInterface->GetAPIName().GetStringView()); - // run mcpp - PreprocessorData preprocessorData = PreprocessSource(prependedPath, fullPath, buildOptions.m_preprocessorSettings); - jobDescriptor.m_jobParameters[(u32)JobParameterIndices::PreprocessorError] = preprocessorData.diagnostics; // save for ProcessJob - jobDescriptor.m_jobParameters[(u32)JobParameterIndices::PreprocessedCode] = preprocessorData.code; // save for ProcessJob - AZ::IO::SystemFile::Delete(prependedPath.c_str()); // don't let that intermediate file dirty a folder under source version control. - - for (AZStd::string includePath : preprocessorData.includedPaths) - { - // m_sourceFileDependencyList does not support paths with "." or ".." for relative lookup, but the preprocessor - // may produce path strings like "C:/a/b/c/../../d/file.azsli" so we have to normalize - AzFramework::StringFunc::Path::Normalize(includePath); - - AssetBuilderSDK::SourceFileDependency includeFileDependency; - includeFileDependency.m_sourceFileDependencyPath = includePath; - response.m_sourceFileDependencyList.emplace_back(includeFileDependency); - } - response.m_createJobOutputs.push_back(jobDescriptor); - } // all RHI platforms - } // for all request.m_enabledPlatforms - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success; - } - - enum class ErrorStrategy { HardFailIfAbsent, ReturnEmptyIfAbsent }; - static AZStd::string GetJobParameterValue(const AssetBuilderSDK::ProcessJobRequest& request, JobParameterIndices index, [[maybe_unused]] ErrorStrategy failBehavior) - { - auto iterator = request.m_jobDescription.m_jobParameters.find(static_cast(index)); - if (iterator == request.m_jobDescription.m_jobParameters.end()) - { - AZ_Error(AzslBuilder::BuilderName, failBehavior != ErrorStrategy::HardFailIfAbsent, "Saved data is missing in job parameters. for index [%d]", index); - return {}; - } - return iterator->second; - } - - // eg: ("D:/p/x.a", "D:/p/x.b") -> yes - static bool HasSameFileName(const AZStd::string& lhsPath, const AZStd::string& rhsPath) - { - using namespace StringFunc::Path; - AZStd::string stem1; - GetFileName(lhsPath.c_str(), stem1); - AZStd::string stem2; - GetFileName(rhsPath.c_str(), stem2); - return stem1 == stem2; - } - - void AzslBuilder::ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const - { - if (request.m_jobDescription.m_jobParameters.find((u32)JobParameterIndices::SkipJob) != request.m_jobDescription.m_jobParameters.end()) - { - AZ_TracePrintf(BuilderName, "Early out because this file was determined to not need an independent build\n"); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - return; - } - // report the deffered diagnostics: - const AZStd::string& preprocessorErrors = GetJobParameterValue(request, JobParameterIndices::PreprocessorError, ErrorStrategy::ReturnEmptyIfAbsent); - if (!preprocessorErrors.empty()) - { - bool foundErrors = RHI::ReportErrorMessages(BuilderName, preprocessorErrors.c_str()); - if (foundErrors) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - } - - const AZStd::sys_time_t startTime = AZStd::GetTimeNowTicks(); - AZStd::string fullSourcePath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.c_str(), request.m_sourceFile.c_str(), fullSourcePath, true); - // extract "name" from "P:/F/name.x" - AZStd::string sourceStemName; - AzFramework::StringFunc::Path::GetFileName(fullSourcePath.c_str(), sourceStemName); - - GlobalBuildOptions buildOptions = ReadBuildOptions(BuilderName); - - // get the shader platform interface that matches this job's API - const AZStd::string& apiName = GetJobParameterValue(request, JobParameterIndices::ApiName, ErrorStrategy::HardFailIfAbsent); - const AZStd::string& preprocessedCode = GetJobParameterValue(request, JobParameterIndices::PreprocessedCode, ErrorStrategy::ReturnEmptyIfAbsent); - RHI::ShaderPlatformInterface* platformInterface = GetShaderPlatformInterfaceForApi(apiName, request.m_platformInfo); - if (!platformInterface) - { - AZ_Error(BuilderName, false, "Could not retreive Shader Platform Interface"); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - const bool isSrgi = AzFramework::StringFunc::Path::IsExtension(fullSourcePath.c_str(), SrgIncludeExtension); - const bool isAzsli = AzFramework::StringFunc::Path::IsExtension(fullSourcePath.c_str(), "azsli"); - const bool isShader = AzFramework::StringFunc::Path::IsExtension(fullSourcePath.c_str(), RPI::ShaderSourceData::Extension); - if (isShader) - { - // read .shader -> access azsl path -> make absolute - RPI::ShaderSourceData shaderAssetSource; - AZStd::shared_ptr inputFiles = ShaderBuilderUtility::PrepareSourceInput(BuilderName, fullSourcePath, shaderAssetSource); - if (!inputFiles) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - if (shaderAssetSource.IsRhiBackendDisabled(platformInterface->GetAPIName())) - { - // Gracefully do nothing and return success. - AZ_TracePrintf( - BuilderName, "Skipping shader compilation [%s] for API [%s]\n", fullSourcePath.c_str(), - platformInterface->GetAPIName().GetCStr()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - return; - } - - - // Save .shader file name - AzFramework::StringFunc::Path::GetFileName(request.m_sourceFile.data(), inputFiles->m_shaderFileName); - - // Verify the presence of potential differences between the global options, and local options: - bool mustRebuild = buildOptions.m_compilerArguments.HasDifferentAzslcArguments(shaderAssetSource.m_compiler); - - // Merge compiler options coming from 2 source: global options (from project Config/), and .shader options. - // We define a merge behavior that is: ".shader wins if set" (local overrides global) - buildOptions.m_compilerArguments.Merge(shaderAssetSource.m_compiler); - - // Earlier, we declared a job dependency on the .azsl's job, let's access the produced assets: - uint32_t subId = ShaderBuilderUtility::MakeAzslBuildProductSubId( - RPI::ShaderAssetSubId::GeneratedHlslSource, platformInterface->GetAPIType()); - auto assetIdOutcome = RPI::AssetUtils::MakeAssetId(inputFiles->m_azslSourceFullPath, subId); - AZ_Warning(BuilderName, assetIdOutcome.IsSuccess(), "Product of dependency %s not found: this is an oddity but build can continue.", inputFiles->m_azslSourceFullPath.c_str()); - if (assetIdOutcome.IsSuccess()) - { - // The .azsl build job didn't know about the build options listed in the .shader - // so it produced "generic" artifacts xxx.ia.json, xxx.hlsl, etc. - if (!mustRebuild) - { - // They are in fact sufficient. nothing more to do - AZ_TracePrintf(BuilderName, "Product output already built by %s. exiting.", inputFiles->m_azslSourceFullPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - return; - } - // Otherwise, let's go again, but we need to modify the output's name to avoid product conflicts.* - AZ_TracePrintf(BuilderName, "Product output already built by %s is not reusable because of incompatible azslc CompilerHints: launching independent build", inputFiles->m_azslSourceFullPath.c_str()); - } - - if (HasSameFileName(fullSourcePath, inputFiles->m_azslSourceFullPath)) - { - // let's add a "distinguisher" to the names of the outproduct artifacts of this build round.* - // Because otherwise the asset processor is not going to accept an overwrite of the ones output by the .azsl job - static constexpr char RebuildSuffix[] = ".shader-w-diff-azslc-opts"; - sourceStemName += RebuildSuffix; - } - } - - AZStd::string preprocessedPath = ShaderBuilderUtility::DumpPreprocessedCode( - BuilderName, - preprocessedCode, - request.m_tempDirPath, - sourceStemName, - apiName); - - AZ_TraceContext("Platform API", apiName); - - AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } - - // compiler setup - ShaderBuilder::AzslCompiler azslc(preprocessedPath); - AZStd::string compilerParameters = platformInterface->GetAzslCompilerParameters(buildOptions.m_compilerArguments); - compilerParameters += " "; - compilerParameters += platformInterface->GetAzslCompilerWarningParameters(buildOptions.m_compilerArguments); - AtomShaderConfig::AddParametersFromConfigFile(compilerParameters, request.m_platformInfo); - if (isSrgi || isAzsli) - { - // When compiling srgi or azsli files, the SRGs may appear as unused. It is necessary - // to remove the flag --strip-unused-srgs in case it is present in the compiler parameters. - AzFramework::StringFunc::Replace(compilerParameters, " --strip-unused-srgs", ""); - } - - AZStd::string outputName = AZStd::string::format("%s.%s.hlsl", sourceStemName.c_str(), apiName.c_str()); - AzFramework::StringFunc::Path::Join(request.m_tempDirPath.c_str(), outputName.c_str(), outputName, true); - - auto emitFullOutcome = azslc.EmitFullData(compilerParameters, outputName); - if (!emitFullOutcome.IsSuccess()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - for (int i = 0; i < emitFullOutcome.GetValue().size(); ++i) - { - AssetBuilderSDK::JobProduct jobProduct; - jobProduct.m_productFileName = emitFullOutcome.GetValue()[i]; - static const AZ::Uuid AzslOutcomeType = "{6977AEB1-17AD-4992-957B-23BB2E85B18B}"; - jobProduct.m_productAssetType = AzslOutcomeType; - jobProduct.m_productSubID = ShaderBuilderUtility::MakeAzslBuildProductSubId(ShaderBuilderUtility::AzslSubProducts::SubList[i], platformInterface->GetAPIType()); - jobProduct.m_dependenciesHandled = true; - // Note that the output products are not traditional product assets that will be used by the game project. - // They are artifacts that are produced once, cached, and used later by other AssetBuilders as a way to centralize build organization. - response.m_outputProducts.push_back(AZStd::move(jobProduct)); - } - - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - - const AZStd::sys_time_t endTime = AZStd::GetTimeNowTicks(); - const AZStd::sys_time_t deltaTime = endTime - startTime; - const float elapsedTimeSeconds = (float)(deltaTime) / (float)AZStd::GetTimeTicksPerSecond(); - - AZ_TracePrintf(BuilderName, "Finished compiling %s in %.2f seconds\n", request.m_sourceFile.c_str(), elapsedTimeSeconds); - - ShaderBuilderUtility::LogProfilingData(BuilderName, sourceStemName); - } // end ProcessJob - } // ShaderBuilder -} // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslBuilder.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslBuilder.h deleted file mode 100644 index a454e8cdf6..0000000000 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslBuilder.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include "AtomShaderConfig.h" -#include "ShaderBuilderUtility.h" - -namespace AZ -{ - namespace ShaderBuilder - { - static constexpr char AzslBuilderName[] = "AzslBuilder"; - - //! This builder is the forerunner of the shader build pipeline. - //! It will perform the first 3 transformations on shader files (.shader) and AZSL-containing files (.azsl/.azsli/.srgi) - //! Which are: [prepend common header -> preprocess -> transpile AZSL to HLSL & reflect all shader program properties of interest into json files] - //! The next builders in the chain: SRG/Shader/Variant, will consume the output products of this builder, without having to re-run Azslc nor Mcpp - //! Note that the output products are not traditional product assets that will be used by the game project. - //! They are artifacts that are produced once, cached, and used later by other AssetBuilders as a way to centralize build organization. - class AzslBuilder - : public AssetBuilderSDK::AssetBuilderCommandBus::Handler - { - public: - - static constexpr const char* BuilderName = AzslBuilderName; - static constexpr char JobKey[] = "AZSL Build"; - static constexpr char SrgIncludeExtension[] = "srgi"; - - // Asset Builder Callback Functions - void CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const; - void ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const; - - ////////////////////////////////////////////////////////////////////////// - // AssetBuilderSDK::AssetBuilderCommandBus interface - void ShutDown() override {}; - ////////////////////////////////////////////////////////////////////////// - - static AZ::Uuid GetUUID(); - }; - - //! Helper for dependent builders - void AddAzslBuilderJobDependency(AssetBuilderSDK::JobDescriptor& jobDescriptor, const AZStd::string& platformInfoIdentifier, AZStd::string_view apiName, AZStd::string_view fullFilePath); - } // ShaderBuilder -} // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.cpp index e3b482742b..f45d3738c0 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.cpp @@ -123,7 +123,7 @@ namespace AZ namespace SubProducts = ShaderBuilderUtility::AzslSubProducts; - Outcome AzslCompiler::EmitFullData(const AZStd::string& parameters, const AZStd::string& outputFile /* = ""*/, const char * addSuffix) const + Outcome AzslCompiler::EmitFullData(const AZStd::string& parameters, const AZStd::string& outputFile /* = ""*/) const { bool success = Compile("--full " + parameters, outputFile); if (!success) @@ -139,16 +139,6 @@ namespace AZ // append .json if it's one of those subs: auto listOfJsons = { SubProducts::ia, SubProducts::om, SubProducts::srg, SubProducts::options, SubProducts::bindingdep }; subProductFilePath += AZStd::any_of(AZ_BEGIN_END(listOfJsons), [&](auto v) { return v == subProduct.m_value; }) ? ".json" : ""; - - // [GFX TODO] Remove when [ATOM-15472] - if (addSuffix) - { - // Rename the product file. - AZStd::string finalSubProductFilePath = AZStd::string::format("%s%s", subProductFilePath.c_str(), addSuffix); - AZ::IO::Move(subProductFilePath.c_str(), finalSubProductFilePath.c_str()); - subProductFilePath = finalSubProductFilePath; - } - productPaths[subProduct.m_value] = subProductFilePath; } productPaths[SubProducts::azslin] = GetInputFilePath(); // post-fixup this one after the loop, because it's not an output of azslc, it's an output of the builder though. diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.h index 8da03cd6e5..cb30da068f 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.h +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.h @@ -38,9 +38,8 @@ namespace AZ //! @param inputFilePath The target input file to compile. Should be a valid AZSL file with no preprocessing directives. AzslCompiler(const AZStd::string& inputFilePath); - //! [GFX TODO] Remove @addSuffix when [ATOM-15472] //! compile with --full and generate all .json files - Outcome EmitFullData(const AZStd::string& parameters, const AZStd::string& outputFile = "", const char * addSuffix = nullptr) const; + Outcome EmitFullData(const AZStd::string& parameters, const AZStd::string& outputFile = "") const; //! compile to HLSL independently bool EmitShader(AZ::IO::GenericStream& outputStream, const AZStd::string& extraCompilerParams) const; //! compile with --ia independently and populate document @output diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslShaderBuilderSystemComponent.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslShaderBuilderSystemComponent.cpp index bc2e810f84..02b4fa668e 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslShaderBuilderSystemComponent.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslShaderBuilderSystemComponent.cpp @@ -22,7 +22,6 @@ #include #include #include -#include #include @@ -83,42 +82,10 @@ namespace AZ RHI::ShaderPlatformInterfaceRegisterBus::Handler::BusConnect(); ShaderPlatformInterfaceRequestBus::Handler::BusConnect(); - // Register AZSL's compilation products Builder - AssetBuilderSDK::AssetBuilderDesc azslBuilderDescriptor; - azslBuilderDescriptor.m_name = "AZSL Builder"; - azslBuilderDescriptor.m_version = 8; // ATOM-15276 - // register all extensions thay may carry azsl code. header. main shader. or SRG - azslBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern(AZStd::string::format("*.%s", RPI::ShaderSourceData::Extension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - azslBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.azsl", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - azslBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.azsli", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - azslBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern(AZStd::string::format("*.%s", SrgLayoutBuilder::MergedPartialSrgsExtension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - azslBuilderDescriptor.m_busId = AzslBuilder::GetUUID(); - azslBuilderDescriptor.m_createJobFunction = AZStd::bind(&AzslBuilder::CreateJobs, &m_azslBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2); - azslBuilderDescriptor.m_processJobFunction = AZStd::bind(&AzslBuilder::ProcessJob, &m_azslBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2); - - m_azslBuilder.BusConnect(azslBuilderDescriptor.m_busId); - AssetBuilderSDK::AssetBuilderBus::Broadcast(&AssetBuilderSDK::AssetBuilderBus::Handler::RegisterBuilderInformation, azslBuilderDescriptor); - - // Register Shader Resource Group Layout Builder - AssetBuilderSDK::AssetBuilderDesc srgLayoutBuilderDescriptor; - srgLayoutBuilderDescriptor.m_name = "Shader Resource Group Layout Builder"; - srgLayoutBuilderDescriptor.m_version = 55; // ATOM-15276 - - srgLayoutBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.azsl", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - srgLayoutBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.azsli", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - srgLayoutBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern(AZStd::string::format("*.%s", SrgLayoutBuilder::MergedPartialSrgsExtension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - srgLayoutBuilderDescriptor.m_busId = SrgLayoutBuilder::GetUUID(); - srgLayoutBuilderDescriptor.m_createJobFunction = AZStd::bind(&SrgLayoutBuilder::CreateJobs, &m_srgLayoutBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2); - srgLayoutBuilderDescriptor.m_processJobFunction = AZStd::bind(&SrgLayoutBuilder::ProcessJob, &m_srgLayoutBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2); - - m_srgLayoutBuilder.BusConnect(srgLayoutBuilderDescriptor.m_busId); - AssetBuilderSDK::AssetBuilderBus::Broadcast(&AssetBuilderSDK::AssetBuilderBus::Handler::RegisterBuilderInformation, srgLayoutBuilderDescriptor); - m_srgLayoutBuilder.Activate(); - // Register Shader Asset Builder AssetBuilderSDK::AssetBuilderDesc shaderAssetBuilderDescriptor; shaderAssetBuilderDescriptor.m_name = "Shader Asset Builder"; - shaderAssetBuilderDescriptor.m_version = 100; // ATOM-14298 + shaderAssetBuilderDescriptor.m_version = 101; // ATOM-15472 // .shader file changes trigger rebuilds shaderAssetBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern( AZStd::string::format("*.%s", RPI::ShaderSourceData::Extension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); shaderAssetBuilderDescriptor.m_busId = azrtti_typeid(); @@ -133,7 +100,7 @@ namespace AZ shaderVariantAssetBuilderDescriptor.m_name = "Shader Variant Asset Builder"; // Both "Shader Variant Asset Builder" and "Shader Asset Builder" produce ShaderVariantAsset products. If you update // ShaderVariantAsset you will need to update BOTH version numbers, not just "Shader Variant Asset Builder". - shaderVariantAssetBuilderDescriptor.m_version = 21; // ATOM-14298 + shaderVariantAssetBuilderDescriptor.m_version = 22; // ATOM-15472 shaderVariantAssetBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern(AZStd::string::format("*.%s", RPI::ShaderVariantListSourceData::Extension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); shaderVariantAssetBuilderDescriptor.m_busId = azrtti_typeid(); shaderVariantAssetBuilderDescriptor.m_createJobFunction = AZStd::bind(&ShaderVariantAssetBuilder::CreateJobs, &m_shaderVariantAssetBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2); @@ -145,7 +112,7 @@ namespace AZ // Register Precompiled Shader Builder AssetBuilderSDK::AssetBuilderDesc precompiledShaderBuilderDescriptor; precompiledShaderBuilderDescriptor.m_name = "Precompiled Shader Builder"; - precompiledShaderBuilderDescriptor.m_version = 8; // ATOM-15276 + precompiledShaderBuilderDescriptor.m_version = 9; // ATOM-15472 precompiledShaderBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern(AZStd::string::format("*.%s", AZ::PrecompiledShaderBuilder::Extension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); precompiledShaderBuilderDescriptor.m_busId = azrtti_typeid(); precompiledShaderBuilderDescriptor.m_createJobFunction = AZStd::bind(&PrecompiledShaderBuilder::CreateJobs, &m_precompiledShaderBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2); @@ -153,53 +120,13 @@ namespace AZ m_precompiledShaderBuilder.BusConnect(precompiledShaderBuilderDescriptor.m_busId); AssetBuilderSDK::AssetBuilderBus::Broadcast(&AssetBuilderSDK::AssetBuilderBus::Handler::RegisterBuilderInformation, precompiledShaderBuilderDescriptor); - - // Register Shader Asset Builder 2 - AssetBuilderSDK::AssetBuilderDesc shaderAssetBuilder2Descriptor; - shaderAssetBuilder2Descriptor.m_name = "Shader Asset Builder 2"; - shaderAssetBuilder2Descriptor.m_version = 1; // ATOM-15276 - // .shader2 file changes trigger rebuilds - shaderAssetBuilder2Descriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern( - AZStd::string::format("*.%s", RPI::ShaderSourceData::Extension2), - AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - shaderAssetBuilder2Descriptor.m_busId = azrtti_typeid(); - shaderAssetBuilder2Descriptor.m_createJobFunction = - AZStd::bind(&ShaderAssetBuilder2::CreateJobs, &m_shaderAssetBuilder2, AZStd::placeholders::_1, AZStd::placeholders::_2); - shaderAssetBuilder2Descriptor.m_processJobFunction = - AZStd::bind(&ShaderAssetBuilder2::ProcessJob, &m_shaderAssetBuilder2, AZStd::placeholders::_1, AZStd::placeholders::_2); - - m_shaderAssetBuilder2.BusConnect(shaderAssetBuilder2Descriptor.m_busId); - AssetBuilderSDK::AssetBuilderBus::Broadcast( - &AssetBuilderSDK::AssetBuilderBus::Handler::RegisterBuilderInformation, shaderAssetBuilder2Descriptor); - - // Register Shader Variant Asset Builder 2 - AssetBuilderSDK::AssetBuilderDesc shaderVariantAssetBuilder2Descriptor; - shaderVariantAssetBuilder2Descriptor.m_name = "Shader Variant Asset Builder 2"; - // Both "Shader Variant Asset Builder" and "Shader Asset Builder" produce ShaderVariantAsset products. If you update - // ShaderVariantAsset you will need to update BOTH version numbers, not just "Shader Variant Asset Builder". - shaderVariantAssetBuilder2Descriptor.m_version = 1; // ATOM-15276 - shaderVariantAssetBuilder2Descriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern( - AZStd::string::format("*.%s", RPI::ShaderVariantListSourceData::Extension2), - AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); - shaderVariantAssetBuilder2Descriptor.m_busId = azrtti_typeid(); - shaderVariantAssetBuilder2Descriptor.m_createJobFunction = AZStd::bind( - &ShaderVariantAssetBuilder2::CreateJobs, &m_shaderVariantAssetBuilder2, AZStd::placeholders::_1, AZStd::placeholders::_2); - shaderVariantAssetBuilder2Descriptor.m_processJobFunction = AZStd::bind( - &ShaderVariantAssetBuilder2::ProcessJob, &m_shaderVariantAssetBuilder2, AZStd::placeholders::_1, AZStd::placeholders::_2); - - m_shaderVariantAssetBuilder2.BusConnect(shaderVariantAssetBuilder2Descriptor.m_busId); - AssetBuilderSDK::AssetBuilderBus::Broadcast( - &AssetBuilderSDK::AssetBuilderBus::Handler::RegisterBuilderInformation, shaderVariantAssetBuilder2Descriptor); } void AzslShaderBuilderSystemComponent::Deactivate() { m_shaderAssetBuilder.BusDisconnect(); - m_srgLayoutBuilder.BusDisconnect(); m_shaderVariantAssetBuilder.BusDisconnect(); m_precompiledShaderBuilder.BusDisconnect(); - m_shaderAssetBuilder2.BusDisconnect(); - m_shaderVariantAssetBuilder2.BusDisconnect(); RHI::ShaderPlatformInterfaceRegisterBus::Handler::BusDisconnect(); ShaderPlatformInterfaceRequestBus::Handler::BusDisconnect(); diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslShaderBuilderSystemComponent.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslShaderBuilderSystemComponent.h index 2f881f45d2..55b8882e08 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslShaderBuilderSystemComponent.h +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslShaderBuilderSystemComponent.h @@ -18,14 +18,10 @@ #include -#include "AzslBuilder.h" -#include "SrgLayoutBuilder.h" #include "ShaderAssetBuilder.h" #include "ShaderVariantAssetBuilder.h" #include "PrecompiledShaderBuilder.h" #include "ShaderPlatformInterfaceRequest.h" -#include "ShaderAssetBuilder2.h" -#include "ShaderVariantAssetBuilder2.h" namespace AZ { @@ -68,13 +64,9 @@ namespace AZ AZStd::vector GetShaderPlatformInterface(const AssetBuilderSDK::PlatformInfo& platformInfo) override; private: - AzslBuilder m_azslBuilder; - SrgLayoutBuilder m_srgLayoutBuilder; ShaderAssetBuilder m_shaderAssetBuilder; ShaderVariantAssetBuilder m_shaderVariantAssetBuilder; PrecompiledShaderBuilder m_precompiledShaderBuilder; - ShaderAssetBuilder2 m_shaderAssetBuilder2; - ShaderVariantAssetBuilder2 m_shaderVariantAssetBuilder2; /// Contains the ShaderPlatformInterface for all registered RHIs AZStd::unordered_map m_shaderPlatformInterfaces; diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/PrecompiledShaderBuilder.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/PrecompiledShaderBuilder.cpp index 2f7816ed67..62f76c0c12 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/PrecompiledShaderBuilder.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/PrecompiledShaderBuilder.cpp @@ -72,23 +72,6 @@ namespace AZ { AZStd::vector jobDependencyList; - // setup dependencies on the azsrg asset file names - for (const auto& srgFileName : precompiledShaderAsset.m_srgAssetFileNames) - { - AZStd::string srgAssetPath = RPI::AssetUtils::ResolvePathReference(request.m_sourceFile.c_str(), srgFileName); - - AssetBuilderSDK::SourceFileDependency sourceDependency; - sourceDependency.m_sourceFileDependencyPath = srgAssetPath; - response.m_sourceFileDependencyList.push_back(sourceDependency); - - AssetBuilderSDK::JobDependency jobDependency; - jobDependency.m_jobKey = "azsrg"; - jobDependency.m_platformIdentifier = platformInfo.m_identifier; - jobDependency.m_type = AssetBuilderSDK::JobDependencyType::Order; - jobDependency.m_sourceFile = sourceDependency; - jobDependencyList.push_back(jobDependency); - } - // setup dependencies on the root azshadervariant asset file names for (const auto& rootShaderVariantAsset : precompiledShaderAsset.m_rootShaderVariantAssets) { @@ -158,25 +141,6 @@ namespace AZ AssetBuilderSDK::JobProduct jobProduct; - // load Srg product assets - // these are the dependency Srg asset products that were processed prior to running this job - RPI::ShaderAssetCreator::ShaderResourceGroupAssets srgProductAssets; - for (const auto& srgAssetFileName : precompiledShaderAsset.m_srgAssetFileNames) - { - auto assetOutcome = RPI::AssetUtils::LoadAsset(request.m_fullPath, srgAssetFileName, 0); - if (!assetOutcome) - { - AZ_Error(PrecompiledShaderBuilderName, false, "Failed to retrieve Srg asset for file [%s]", srgAssetFileName.c_str()); - return; - } - srgProductAssets.push_back(assetOutcome.GetValue()); - - AssetBuilderSDK::ProductDependency productDependency; - productDependency.m_dependencyId = assetOutcome.GetValue().GetId(); - productDependency.m_flags = AZ::Data::ProductDependencyInfo::CreateFlags(AZ::Data::AssetLoadBehavior::PreLoad); - jobProduct.m_dependencies.push_back(productDependency); - } - // load the variant product assets // these are the dependency root variant asset products that were processed prior to running this job RPI::ShaderAssetCreator::ShaderRootVariantAssets rootVariantProductAssets; @@ -202,8 +166,7 @@ namespace AZ // Note that the Srg and Variant assets do not have embedded asset references and are processed with the RC Copy functionality RPI::ShaderAssetCreator shaderAssetCreator; shaderAssetCreator.Clone(Uuid::CreateRandom(), - shaderAsset, - srgProductAssets, + *shaderAsset, rootVariantProductAssets); Data::Asset outputShaderAsset; diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp index 8d491d5d4d..cd651b8176 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp @@ -47,8 +47,7 @@ #include #include -#include "AzslBuilder.h" -#include "SrgLayoutBuilder.h" +#include "AzslCompiler.h" #include "ShaderVariantAssetBuilder.h" #include "ShaderBuilderUtility.h" #include "ShaderPlatformInterfaceRequest.h" @@ -63,19 +62,6 @@ namespace AZ static constexpr char ShaderAssetBuilderName[] = "ShaderAssetBuilder"; static constexpr uint32_t ShaderAssetBuildTimestampParam = 0; - static void AddSrgLayoutJobDependency(AssetBuilderSDK::JobDescriptor& jobDescriptor, const AssetBuilderSDK::PlatformInfo& platformInfo, AZStd::string_view fullFilePath) - { - AssetBuilderSDK::SourceFileDependency fileDependency; - fileDependency.m_sourceFileDependencyPath = fullFilePath; - - AssetBuilderSDK::JobDependency srgLayoutJobDependency; - srgLayoutJobDependency.m_jobKey = SrgLayoutBuilder::SrgLayoutBuilderJobKey; - srgLayoutJobDependency.m_platformIdentifier = platformInfo.m_identifier; - srgLayoutJobDependency.m_sourceFile = fileDependency; - srgLayoutJobDependency.m_type = AssetBuilderSDK::JobDependencyType::Order; - jobDescriptor.m_jobDependencyList.emplace_back(srgLayoutJobDependency); - } - void ShaderAssetBuilder::CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const { AZStd::string fullPath; @@ -90,20 +76,58 @@ namespace AZ // the PC's ShaderAsset). AZStd::sys_time_t shaderAssetBuildTimestamp = AZStd::GetTimeNowMicroSecond(); - // *** block (remove all this when [ATOM-4225] addressed) - AZStd::string azslFullPath; // Need to get the name of the azsl file from the .shader source asset, to be able to declare a dependency to SRG Layout Job. // and the macro options to preprocess. - auto descriptorParseOutput = ShaderBuilderUtility::LoadShaderDataJson(fullPath); - if (!descriptorParseOutput.IsSuccess()) + auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(fullPath); + if (!descriptorParseOutcome.IsSuccess()) { - AZ_Error(ShaderAssetBuilderName, false, "Failed to parse Shader Descriptor JSON: %s", descriptorParseOutput.GetError().c_str()); + AZ_Error( + ShaderAssetBuilderName, false, "Failed to parse Shader Descriptor JSON: %s", + descriptorParseOutcome.GetError().c_str()); return; } - ShaderBuilderUtility::GetAbsolutePathToAzslFile(fullPath, descriptorParseOutput.GetValue().m_source, azslFullPath); - AZ_Warning(ShaderAssetBuilderName, IO::FileIOBase::GetInstance()->Exists(azslFullPath.c_str()), "Shader program listed as the source entry does not exist: %s.", azslFullPath.c_str()); + + RPI::ShaderSourceData shaderSourceData = descriptorParseOutcome.TakeValue(); + + AZStd::string azslFullPath; + ShaderBuilderUtility::GetAbsolutePathToAzslFile(fullPath, shaderSourceData.m_source, azslFullPath); + if (!IO::FileIOBase::GetInstance()->Exists(azslFullPath.c_str())) + { + AZ_Error( + ShaderAssetBuilderName, false, "Shader program listed as the source entry does not exist: %s.", azslFullPath.c_str()); + response.m_result = AssetBuilderSDK::CreateJobsResultCode::Failed; + return; + } + + GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderAssetBuilderName); - // *** end block (remove when [Atom-4225]) + + // [GFX TODO] [ATOM-14966] In principle, based on macro definitions, included files can change per supervariant. + // So, the list of source asset dependencies must be collected by running MCPP on each supervariant. + // For now, we will run MCPP only once because CreateJobs() should be as light as possible. + // + // Regardless of the PlatformInfo and enabled ShaderPlatformInterfaces, the azsl file will be preprocessed + // with the sole purpose of extracting all included files. For each included file a SourceDependency will be declared. + PreprocessorData output; + buildOptions.m_compilerArguments.Merge(shaderSourceData.m_compiler); + PreprocessFile(azslFullPath, output, buildOptions.m_preprocessorSettings, true, true); + for (auto includePath : output.includedPaths) + { + // m_sourceFileDependencyList does not support paths with "." or ".." for relative lookup, but the preprocessor + // may produce path strings like "C:/a/b/c/../../d/file.azsli" so we have to normalize + AzFramework::StringFunc::Path::Normalize(includePath); + + AssetBuilderSDK::SourceFileDependency includeFileDependency; + includeFileDependency.m_sourceFileDependencyPath = includePath; + response.m_sourceFileDependencyList.emplace_back(includeFileDependency); + } + + { + // Add the AZSL as source dependency + AssetBuilderSDK::SourceFileDependency azslFileDependency; + azslFileDependency.m_sourceFileDependencyPath = azslFullPath; + response.m_sourceFileDependencyList.emplace_back(azslFileDependency); + } for (const AssetBuilderSDK::PlatformInfo& platformInfo : request.m_enabledPlatforms) { @@ -111,6 +135,10 @@ namespace AZ // Get the platform interfaces to be able to access the prepend file AZStd::vector platformInterfaces = ShaderBuilderUtility::DiscoverValidShaderPlatformInterfaces(platformInfo); + if (platformInterfaces.empty()) + { + continue; + } AssetBuilderSDK::JobDescriptor jobDescriptor; jobDescriptor.m_priority = 2; @@ -118,46 +146,6 @@ namespace AZ jobDescriptor.m_critical = true; jobDescriptor.m_jobKey = ShaderAssetBuilderJobKey; jobDescriptor.SetPlatformIdentifier(platformInfo.m_identifier.c_str()); - - // queue up AzslBuilder dependencies: - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) - { - AddAzslBuilderJobDependency(jobDescriptor, platformInfo.m_identifier, shaderPlatformInterface->GetAPIName().GetCStr(), fullPath); - - {// *** block (remove all this when [ATOM-4225] addressed) - // this is the same code as in AzslBuilder.cpp's CreateJobs. This is not supposed to be repeated here (temporary hack), so not factorized. refer to AzslBuilder.cpp for code comments - AZStd::string prependedAzslSourceCode; - RHI::PrependArguments args; - args.m_sourceFile = fullPath.c_str(); - args.m_prependFile = shaderPlatformInterface->GetAzslHeader(platformInfo); - args.m_addSuffixToFileName = shaderPlatformInterface->GetAPIName().GetCStr(); - args.m_destinationStringOpt = &prependedAzslSourceCode; - - if (RHI::PrependFile(args) == fullPath) - { - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Failed; - return; - } - AZStd::string originalLocation; - AzFramework::StringFunc::Path::GetFullPath(fullPath.c_str(), originalLocation); - AZStd::string prependedPath = ShaderBuilderUtility::DumpAzslPrependedCode( - ShaderAssetBuilderName, prependedAzslSourceCode, originalLocation, ShaderBuilderUtility::ExtractStemName(fullPath.c_str()), shaderPlatformInterface->GetAPIName().GetStringView()); - PreprocessorData output; - buildOptions.m_compilerArguments.Merge(descriptorParseOutput.GetValue().m_compiler); - PreprocessFile(azslFullPath, output, buildOptions.m_preprocessorSettings, true, true); - // srg layout builder job dependency on the azsl file itself. - // If there's a ShaderResourceGroup defined in this azsl file - // then its azsrg asset must be ready before We compile it. The azsrg requirement - // is only for diagnostics, because a preprocessed (flattened) azsl file contains - // all the SRG data it needs. - AddSrgLayoutJobDependency(jobDescriptor, platformInfo, azslFullPath); - for (auto included : output.includedPaths) - { - AddSrgLayoutJobDependency(jobDescriptor, platformInfo, included.c_str()); - } - AZ::IO::SystemFile::Delete(prependedPath.c_str()); // don't let that intermediate file dirty a folder under source version control. - }// *** end block remove when [Atom-4225] - } jobDescriptor.m_jobParameters.emplace(ShaderAssetBuildTimestampParam, AZStd::to_string(shaderAssetBuildTimestamp)); response.m_createJobOutputs.push_back(jobDescriptor); @@ -166,141 +154,55 @@ namespace AZ response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success; } - static AssetBuilderSDK::ProcessJobResultCode CompileForAPI( - const ShaderBuilderUtility::AzslSubProducts::Paths& pathOfProductFiles, - RPI::ShaderAssetCreator& shaderAssetCreator, - RHI::ShaderPlatformInterface* shaderPlatformInterface, - AssetBuilderSDK::ProcessJobResponse& response, - AzslData& azslData, - const RHI::ShaderCompilerArguments& shaderCompilerArguments, - RPI::Ptr shaderOptionGroupLayout, - const RPI::ShaderSourceData& shaderSourceDataDescriptor, - AZStd::sys_time_t shaderAssetBuildTimestamp, - const ShaderResourceGroupAssets& srgAssets, - BindingDependencies& bindingDependencies, - const RootConstantData& rootConstantData, - const AssetBuilderSDK::ProcessJobRequest& request) + static bool SerializeOutShaderAsset(Data::Asset shaderAsset, + const AZStd::string& tempDirPath, + AssetBuilderSDK::ProcessJobResponse& response) { - AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); - - const AZStd::string& tempDirPath = request.m_tempDirPath; - - // discover entry points - MapOfStringToStageType shaderEntryPoints; - if (shaderSourceDataDescriptor.m_programSettings.m_entryPoints.empty()) + AZStd::string shaderAssetFileName = AZStd::string::format("%s.%s", shaderAsset->GetName().GetCStr(), RPI::ShaderAsset::Extension); + AZStd::string shaderAssetOutputPath; + AzFramework::StringFunc::Path::ConstructFull(tempDirPath.data(), shaderAssetFileName.data(), shaderAssetOutputPath, true); + + if (!Utils::SaveObjectToFile(shaderAssetOutputPath, DataStream::ST_BINARY, shaderAsset.Get())) { - AZ_TracePrintf(ShaderAssetBuilderName, "ProgramSettings do not specify entry points, will use GetDefaultEntryPointsFromShader()\n"); - ShaderBuilderUtility::GetDefaultEntryPointsFromFunctionDataList(azslData.m_functions, shaderEntryPoints); + AZ_Error(ShaderAssetBuilderName, false, "Failed to output Shader Descriptor"); + return false; } - else + + AssetBuilderSDK::JobProduct shaderJobProduct; + if (!AssetBuilderSDK::OutputObject(shaderAsset.Get(), shaderAssetOutputPath, azrtti_typeid(), + aznumeric_cast(RPI::ShaderAssetSubId::ShaderAsset), shaderJobProduct)) { - for (auto& iter : shaderSourceDataDescriptor.m_programSettings.m_entryPoints) - { - shaderEntryPoints[iter.m_name] = iter.m_type; - } + AZ_Error(ShaderAssetBuilderName, false, "Failed to output product dependencies."); + return false; } + response.m_outputProducts.push_back(AZStd::move(shaderJobProduct)); + + return true; + } - // Check if we were canceled before we do any heavy processing of - // the shader data (compiling the shader kernels, processing SRG - // and pipeline layout data, etc.). - if (jobCancelListener.IsCancelled()) - { - return AssetBuilderSDK::ProcessJobResult_Cancelled; - } - - // Signal the begin of shader data for an RHI API. - shaderAssetCreator.BeginAPI(shaderPlatformInterface->GetAPIType()); - RHI::Ptr pipelineLayoutDescriptor = ShaderBuilderUtility::BuildPipelineLayoutDescriptorForApi( - ShaderAssetBuilderName, shaderPlatformInterface, bindingDependencies, srgAssets, shaderEntryPoints, shaderCompilerArguments, &rootConstantData); - if (!pipelineLayoutDescriptor) - { - AZ_Error(ShaderAssetBuilderName, false, "Failed to build pipeline layout descriptor for api=[%s]", - shaderPlatformInterface->GetAPIName().GetCStr()); - AssetBuilderSDK::ProcessJobResult_Failed; - } - for (const auto& srgAsset : srgAssets) - { - shaderAssetCreator.AddShaderResourceGroupAsset(srgAsset); - } - shaderAssetCreator.SetPipelineLayout(pipelineLayoutDescriptor); - - // Generate shader source. - AZStd::string hlslSourcePath = pathOfProductFiles[ShaderBuilderUtility::AzslSubProducts::hlsl]; - Outcome hlslSourceContent = Utils::ReadFile(hlslSourcePath); - if (!hlslSourceContent.IsSuccess()) - { - AZ_Error(ShaderAssetBuilderName, false, "Failed to obtain shader source from %s. [%s]", hlslSourcePath.c_str(), hlslSourceContent.TakeError().c_str()); - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - // The root ShaderVariantAsset needs to be created with the known uuid of the source .shader asset because - // the ShaderAsset owns a Data::Asset<> reference that gets serialized. It must have the correct uuid - // so the root ShaderVariantAsset is found when the ShaderAsset is deserialized. - AZStd::string fullSourcePath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.c_str(), request.m_sourceFile.c_str(), fullSourcePath, true); - const uint32_t productSubID = RPI::ShaderAsset::MakeAssetProductSubId( - shaderPlatformInterface->GetAPIUniqueIndex(), - aznumeric_cast(RPI::ShaderAssetSubId::RootShaderVariantAsset)); - auto assetIdOutcome = RPI::AssetUtils::MakeAssetId(fullSourcePath, productSubID); - AZ_Assert(assetIdOutcome.IsSuccess(), "Failed to get AssetId from shader %s", fullSourcePath.c_str()); - const Data::AssetId variantAssetId = assetIdOutcome.TakeValue(); - - // We always include the root shader variant (all options are unspecified) in the ShaderAsset itself. - ShaderVariantCreationContext variantCreationContext = { variantAssetId, hlslSourcePath, hlslSourceContent.GetValue(), shaderSourceDataDescriptor, - tempDirPath, request.m_platformInfo, *shaderOptionGroupLayout, shaderEntryPoints, shaderAssetBuildTimestamp }; - AZ::Outcome, AZStd::string> outcomeForShaderVariantAsset = ShaderVariantAssetBuilder::CreateShaderVariantAssetForAPI( - RPI::ShaderVariantListSourceData::VariantInfo(), - variantCreationContext, - *shaderPlatformInterface, - azslData, - shaderCompilerArguments, - pathOfProductFiles[ShaderBuilderUtility::AzslSubProducts::om], - pathOfProductFiles[ShaderBuilderUtility::AzslSubProducts::ia]); - if (!outcomeForShaderVariantAsset.IsSuccess()) - { - AZ_Error(ShaderAssetBuilderName, false, "Failed to serialize out the root shader variant for API [%s]: %s" - , shaderPlatformInterface->GetAPIName().GetCStr(), outcomeForShaderVariantAsset.GetError().c_str()); - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - // Time to save, for the given rhi::api, the root shader variant as an asset. - Data::Asset shaderVariantAsset = outcomeForShaderVariantAsset.TakeValue(); - - AssetBuilderSDK::JobProduct variantAssetProduct; - if (!ShaderVariantAssetBuilder::SerializeOutShaderVariantAsset(shaderVariantAsset, fullSourcePath, tempDirPath, - *shaderPlatformInterface, productSubID, variantAssetProduct)) - { - AZ_Error(ShaderAssetBuilderName, false, "Failed to serialize out the root shader variant for API [%s]" - , shaderPlatformInterface->GetAPIName().GetCStr()); - return AssetBuilderSDK::ProcessJobResult_Failed; - } - response.m_outputProducts.push_back(variantAssetProduct); - - // add byproducts as job output products: - if (variantCreationContext.m_outputByproducts) - { - uint32_t subProductType = aznumeric_cast(RPI::ShaderAssetSubId::GeneratedHlslSource) + 1; - for (const AZStd::string& byproduct : variantCreationContext.m_outputByproducts->m_intermediatePaths) - { - AssetBuilderSDK::JobProduct jobProduct; - jobProduct.m_productFileName = byproduct; - jobProduct.m_productAssetType = Uuid::CreateName("DebugInfoByProduct-PdbOrDxilTxt"); - jobProduct.m_productSubID = RPI::ShaderAsset::MakeAssetProductSubId(shaderPlatformInterface->GetAPIUniqueIndex(), subProductType++); - response.m_outputProducts.push_back(AZStd::move(jobProduct)); - } - } - - shaderAssetCreator.SetRootShaderVariantAsset(shaderVariantAsset); - - // Populate the shader asset with all entry stage attributes + static AZ::Outcome BuildAttributesMap( + const RHI::ShaderPlatformInterface* shaderPlatformInterface, + const AzslData& azslData, + const MapOfStringToStageType& shaderEntryPoints, + bool& hasRasterProgram) + { + hasRasterProgram = false; + bool hasComputeProgram = false; + bool hasRayTracingProgram = false; RHI::ShaderStageAttributeMapList attributeMaps; attributeMaps.resize(RHI::ShaderStageCount); - for (const auto& shaderEntry : shaderSourceDataDescriptor.m_programSettings.m_entryPoints) + for (const auto& shaderEntryPoint : shaderEntryPoints) { - auto findId = AZStd::find_if(AZ_BEGIN_END(azslData.m_functions), [&shaderEntry](const auto& func) - { - return func.m_name == shaderEntry.m_name; - }); + auto shaderEntryName = shaderEntryPoint.first; + auto shaderStageType = shaderEntryPoint.second; + auto assetBuilderShaderType = ShaderBuilderUtility::ToAssetBuilderShaderType(shaderStageType); + hasRasterProgram |= shaderPlatformInterface->IsShaderStageForRaster(assetBuilderShaderType); + hasComputeProgram |= shaderPlatformInterface->IsShaderStageForCompute(assetBuilderShaderType); + hasRayTracingProgram |= shaderPlatformInterface->IsShaderStageForRayTracing(assetBuilderShaderType); + + auto findId = AZStd::find_if(AZ_BEGIN_END(azslData.m_functions), [&shaderEntryPoint](const auto& func) { + return func.m_name == shaderEntryPoint.first; + }); if (findId == azslData.m_functions.end()) { @@ -309,7 +211,7 @@ namespace AZ continue; } - const auto shaderStage = ToRHIShaderStage(ShaderBuilderUtility::ToAssetBuilderShaderType(shaderEntry.m_type)); + const auto shaderStage = ToRHIShaderStage(assetBuilderShaderType); for (const auto& attr : findId->attributesList) { // Some stages like RHI::ShaderStage::Tessellation are compound and consist of two or more shader entries @@ -320,221 +222,461 @@ namespace AZ attributeMaps[stageIndex][attributeName] = args; } } - shaderAssetCreator.SetShaderStageAttributeMapList(attributeMaps); - shaderAssetCreator.EndAPI(); - - return AssetBuilderSDK::ProcessJobResult_Success; - } - - static bool SerializeOutShaderAsset(Data::Asset shaderAsset, - const AZStd::string& tempDirPath, - AssetBuilderSDK::ProcessJobResponse& response) - { - AZStd::string shaderAssetFileName = AZStd::string::format("%s.%s", shaderAsset->GetName().GetCStr(), RPI::ShaderAsset::Extension); - AZStd::string shaderAssetOutputPath; - AzFramework::StringFunc::Path::ConstructFull(tempDirPath.data(), shaderAssetFileName.data(), shaderAssetOutputPath, true); - - if (!Utils::SaveObjectToFile(shaderAssetOutputPath, DataStream::ST_BINARY, shaderAsset.Get())) + if (hasRasterProgram && hasComputeProgram) { - AZ_Error(ShaderAssetBuilderName, false, "Failed to output Shader Descriptor"); - return false; + return AZ::Failure(AZStd::string(" Shader asset descriptor defines both a raster entry point and a compute entry point.")); } - AssetBuilderSDK::JobProduct shaderJobProduct; - if (!AssetBuilderSDK::OutputObject(shaderAsset.Get(), shaderAssetOutputPath, azrtti_typeid(), - aznumeric_cast(RPI::ShaderAssetSubId::ShaderAsset), shaderJobProduct)) + if (!hasRasterProgram && !hasComputeProgram && !hasRayTracingProgram) { - AZ_Error(ShaderAssetBuilderName, false, "Failed to output product dependencies."); - return false; + AZStd::string entryPointNames = ShaderBuilderUtility::GetAcceptableDefaultEntryPointNames(azslData); + return AZ::Failure( + AZStd::string::format( "Shader asset descriptor has a program variant that does not define any entry points. Either declare entry " + "points in the .shader file, or use one of the available default names (not case-sensitive): [%s]", + entryPointNames.c_str())); } - response.m_outputProducts.push_back(AZStd::move(shaderJobProduct)); - return true; + return AZ::Success(attributeMaps); } void ShaderAssetBuilder::ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const { const AZStd::sys_time_t startTime = AZStd::GetTimeNowTicks(); - AZStd::string fullSourcePath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.c_str(), request.m_sourceFile.c_str(), fullSourcePath, true); + AZStd::string shaderFullPath; + AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.c_str(), request.m_sourceFile.c_str(), shaderFullPath, true); + // Save .shader file name (no extension and no parent directory path) + AZStd::string shaderFileName; + AzFramework::StringFunc::Path::GetFileName(request.m_sourceFile.c_str(), shaderFileName); - RPI::ShaderAssetCreator shaderAssetCreator; - shaderAssetCreator.Begin(Uuid::CreateRandom()); + // No error checking because the same calls were already executed during CreateJobs() + auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(shaderFullPath); + RPI::ShaderSourceData shaderSourceData = descriptorParseOutcome.TakeValue(); + AZStd::string azslFullPath; + ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderFullPath, shaderSourceData.m_source, azslFullPath); + AZ_TracePrintf(ShaderAssetBuilderName, "Original AZSL File: %s \n", azslFullPath.c_str()); - // read .shader -> access azsl path -> make absolute - RPI::ShaderSourceData shaderAssetSource; - AZStd::shared_ptr inputFiles = ShaderBuilderUtility::PrepareSourceInput(ShaderAssetBuilderName, fullSourcePath, shaderAssetSource); - if (!inputFiles) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderAssetBuilderName); - - // Save .shader file name - AzFramework::StringFunc::Path::GetFileName(request.m_sourceFile.data(), inputFiles->m_shaderFileName); + // The directory where the Azsl file was found must be added to the list of include paths + AZStd::string azslFolderPath; + AzFramework::StringFunc::Path::GetFolderPath(azslFullPath.c_str(), azslFolderPath); + GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderAssetBuilderName, azslFolderPath.c_str()); // Request the list of valid shader platform interfaces for the target platform. - AZStd::vector platformInterfaces; - ShaderPlatformInterfaceRequestBus::BroadcastResult(platformInterfaces, &ShaderPlatformInterfaceRequest::GetShaderPlatformInterface, request.m_platformInfo); - // Generate shaders for each of those ShaderPlatformInterfaces. - uint32_t countOfCompiledPlatformInterfaces = 0; - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) + AZStd::vector platformInterfaces = ShaderBuilderUtility::DiscoverEnabledShaderPlatformInterfaces( + request.m_platformInfo, shaderSourceData); + if (platformInterfaces.empty()) { - ShaderResourceGroupAssets srgAssets; - RPI::Ptr shaderOptionGroupLayout = RPI::ShaderOptionGroupLayout::Create(); - - if (!shaderPlatformInterface) - { - AZ_Error(ShaderAssetBuilderName, false, "ShaderPlatformInterface for [%s] is not registered, can't compile [%s]", request.m_platformInfo.m_identifier.c_str(), request.m_sourceFile.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - if (shaderAssetSource.IsRhiBackendDisabled(shaderPlatformInterface->GetAPIName())) - { - // Gracefully do nothing and continue with the next shaderPlatformInterface. - AZ_TracePrintf( - ShaderAssetBuilderName, "Skipping shader compilation [%s] for API [%s]\n", inputFiles->m_shaderFileName.c_str(), - shaderPlatformInterface->GetAPIName().GetCStr()); - continue; - } - - AZStd::sys_time_t shaderAssetBuildTimestamp = 0; - auto shaderAssetBuildTimestampIterator = request.m_jobDescription.m_jobParameters.find(ShaderAssetBuildTimestampParam); - if (shaderAssetBuildTimestampIterator != request.m_jobDescription.m_jobParameters.end()) - { - shaderAssetBuildTimestamp = AZStd::stoull(shaderAssetBuildTimestampIterator->second); - - if (AZStd::to_string(shaderAssetBuildTimestamp) != shaderAssetBuildTimestampIterator->second) - { - AZ_Assert(false, "Incorrect conversion of ShaderAssetBuildTimestampParam"); - return; - } - } - - AzslData azslData(inputFiles); - - AZ_TraceContext("Platform API", AZStd::string{ shaderPlatformInterface->GetAPIName().GetStringView() }); - AZ_TracePrintf(ShaderAssetBuilderName, "Preprocessed AZSL File: %s \n", azslData.m_preprocessedFullPath.c_str()); - - AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } - - // obtain the build artifacts from the azsl builder: - auto azslArtifactsOutcome = ShaderBuilderUtility::ObtainBuildArtifactsFromAzslBuilder(ShaderAssetBuilderName, fullSourcePath, shaderPlatformInterface->GetAPIType(), request.m_platformInfo.m_identifier); - if (!azslArtifactsOutcome.IsSuccess()) - { - // If it failed, it may be because the .shader source file created no products! (this happens when the build options are similar) - // (the .azsl file *always* produces AzslBuilder artifacts. The.shader file *sometimes* produces AzslBuilder artifacts, when it has build options that have to be accounted for) - // If there are no artifacts from the .shader, then we fall back to the ones from the .azsl: - azslArtifactsOutcome = ShaderBuilderUtility::ObtainBuildArtifactsFromAzslBuilder(ShaderAssetBuilderName, inputFiles->m_azslSourceFullPath, shaderPlatformInterface->GetAPIType(), request.m_platformInfo.m_identifier); - if (!azslArtifactsOutcome.IsSuccess()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - } - - shaderAssetCreator.SetName(Name(azslData.m_sources->m_shaderFileName)); - shaderAssetCreator.SetDrawListName(Name(shaderAssetSource.m_drawListName)); - - shaderAssetCreator.SetShaderAssetBuildTimestamp(shaderAssetBuildTimestamp); - - BindingDependencies bindingDependencies; - RootConstantData rootConstantData; - AssetBuilderSDK::ProcessJobResultCode azslJsonReadResult = ShaderBuilderUtility::PopulateAzslDataFromJsonFiles( - ShaderAssetBuilderName, - azslArtifactsOutcome.GetValue(), - azslData, - srgAssets, - shaderOptionGroupLayout, - bindingDependencies, - rootConstantData); - if (azslJsonReadResult != AssetBuilderSDK::ProcessJobResult_Success) - - { - response.m_resultCode = azslJsonReadResult; - return; - } - - shaderAssetCreator.SetName(Name(azslData.m_sources->m_shaderFileName)); - shaderAssetCreator.SetDrawListName(Name(shaderAssetSource.m_drawListName)); - shaderAssetCreator.SetShaderAssetBuildTimestamp(shaderAssetBuildTimestamp); - - // The ShaderOptionGroupLayout dictates what options/range can be used to create variants - shaderAssetCreator.SetShaderOptionGroupLayout(shaderOptionGroupLayout); - - AZ_TracePrintf(ShaderAssetBuilderName, "Original AZSL File: %s \n", azslData.m_sources->m_azslSourceFullPath.c_str()); - - const uint32_t usedShaderOptionBits = shaderOptionGroupLayout->GetBitSize(); - AZ_TracePrintf(ShaderAssetBuilderName, "Note: This shader uses %u of %u available shader variant key bits. \n", usedShaderOptionBits, RPI::ShaderVariantKeyBitCount); - - // The idea of this merge is that we have compiler options coming from 2 source: - // global options (from project Config/), and .shader options. - // We define a merge behavior that is: ".shader wins if set" - RHI::ShaderCompilerArguments mergedArguments = buildOptions.m_compilerArguments; - mergedArguments.Merge(shaderAssetSource.m_compiler); - - AssetBuilderSDK::ProcessJobResultCode compileResult = - CompileForAPI( - azslArtifactsOutcome.GetValue(), - shaderAssetCreator, - shaderPlatformInterface, - response, - azslData, - mergedArguments, - shaderOptionGroupLayout, - shaderAssetSource, - shaderAssetBuildTimestamp, - srgAssets, - bindingDependencies, - rootConstantData, - request); - if (compileResult != AssetBuilderSDK::ProcessJobResult_Success) - { - response.m_resultCode = compileResult; - return; - } - ++countOfCompiledPlatformInterfaces; - } // end for all platforms - - if (!countOfCompiledPlatformInterfaces) - { - AZ_TracePrintf( - ShaderAssetBuilderName, "No azshader is produced on behalf of %s because all valid RHI backends were disabled for this shader.\n", request.m_sourceFile.c_str()); + //No work to do. Exit gracefully. + AZ_TracePrintf(ShaderAssetBuilderName, + "No azshader is produced on behalf of %s because all valid RHI backends were disabled for this shader.\n", + shaderFullPath.c_str()); response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; return; } + // Get the time stamp string as sys_time_t, and also convert back to string to make sure it was converted correctly. + AZStd::sys_time_t shaderAssetBuildTimestamp = 0; + auto shaderAssetBuildTimestampIterator = request.m_jobDescription.m_jobParameters.find(ShaderAssetBuildTimestampParam); + if (shaderAssetBuildTimestampIterator != request.m_jobDescription.m_jobParameters.end()) + { + shaderAssetBuildTimestamp = AZStd::stoull(shaderAssetBuildTimestampIterator->second); + + if (AZStd::to_string(shaderAssetBuildTimestamp) != shaderAssetBuildTimestampIterator->second) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + AZ_Assert(false, "Incorrect conversion of ShaderAssetBuildTimestampParam"); + return; + } + } + + auto supervariantList = ShaderBuilderUtility::GetSupervariantListFromShaderSourceData(shaderSourceData); + + RPI::ShaderAssetCreator shaderAssetCreator; + shaderAssetCreator.Begin(Uuid::CreateRandom()); + + shaderAssetCreator.SetName(AZ::Name{shaderFileName.c_str()}); + shaderAssetCreator.SetDrawListName(Name(shaderSourceData.m_drawListName)); + shaderAssetCreator.SetShaderAssetBuildTimestamp(shaderAssetBuildTimestamp); + + // The ShaderOptionGroupLayout must be the same across all supervariants because + // there can be only a single ShaderVariantTreeAsset per ShaderAsset. + // We will store here the one that results when the *.azslin file is + // compiled for the default, nameless, supervariant. + // For all other supervariants we just make sure the hashes are the same + // as this one. + RPI::Ptr finalShaderOptionGroupLayout = nullptr; + + + // Time to describe the big picture. + // 1- Preprocess an AZSL file with MCPP (a C-Preprocessor), and generate a flat AZSL file without #include lines and any macros in it. + // Let's call it the Flat-AZSL file. There are two levels of macro definition that need to be merged before we can invoke MCPP: + // 1.1- From /Config/shader_global_build_options.json, which we have stored in the local variable @buildOptions. + // 1.2- From the "Supervariant" definition key, which can be different for each supervariant. + // 2- There will be one Flat-AZSL per supervariant. Each Flat-AZSL will be transpiled to HLSL with AZSLc. This means there will be one HLSL file + // per supervariant. + // 3- The generated HLSL (one HLSL per supervariant) file may contain C-Preprocessor Macros inserted by AZSLc. And that file will be given to DXC. + // DXC has a preprocessor embedded in it. DXC will be executed once for each entry function listed in the .shader file. + // There will be one DXIL compiled binary for each entry function. All the DXIL compiled binaries for each supervariant will be combined + // in the ROOT ShaderVariantAsset. + + // Remark: In general, the work done by the ShaderVariantAssetBuilder is similar, but it will start from the HLSL file created; in step 2, mentioned above; by this builder, + // for each supervariant. + + // At this moment We have global build options that should be merged with the build options that are common + // to all the supervariants of this shader. + buildOptions.m_compilerArguments.Merge(shaderSourceData.m_compiler); + + for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) + { + AZStd::string apiName(shaderPlatformInterface->GetAPIName().GetCStr()); + AZ_TraceContext("Platform API", apiName); + // Signal the begin of shader data for an RHI API. + shaderAssetCreator.BeginAPI(shaderPlatformInterface->GetAPIType()); + + // Each shaderPlatformInterface has its own azsli header that needs to be prepended to the AZSL file before + // preprocessing. We will create a new temporary file that contains the combined data. + RHI::PrependArguments args; + args.m_sourceFile = azslFullPath.c_str(); + args.m_prependFile = shaderPlatformInterface->GetAzslHeader(request.m_platformInfo); + args.m_addSuffixToFileName = apiName.c_str(); + args.m_destinationFolder = request.m_tempDirPath.c_str(); + + AZStd::string prependedAzslFilePath = RHI::PrependFile(args); + if (prependedAzslFilePath == azslFullPath) + { + // The specific error is already reported by RHI::PrependFile(). + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + + // Cache common AZSLC invokation arguments related with the current RHI Backend. + // Each supervariant can, optionally, remove or add more arguments for AZSLc. + AZStd::string commonAzslcCompilerParameters = + shaderPlatformInterface->GetAzslCompilerParameters(buildOptions.m_compilerArguments); + commonAzslcCompilerParameters += " "; + commonAzslcCompilerParameters += + shaderPlatformInterface->GetAzslCompilerWarningParameters(buildOptions.m_compilerArguments); + AtomShaderConfig::AddParametersFromConfigFile(commonAzslcCompilerParameters, request.m_platformInfo); + + // The register number only makes sense if the platform uses "spaces", + // since the register Id of the resource will not change even if the pipeline layout changes. + // We can pass in a default ShaderCompilerArguments because all we care about is whether the shaderPlatformInterface + // appends the "--use-spaces" flag. + const bool platformUsesRegisterSpaces = + (AzFramework::StringFunc::Find(commonAzslcCompilerParameters, "--use-spaces") != AZStd::string::npos); + + uint32_t supervariantIndex = 0; + for (const auto& supervariantInfo : supervariantList) + { + AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); + if (jobCancelListener.IsCancelled()) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; + return; + } + + shaderAssetCreator.BeginSupervariant(supervariantInfo.m_name); + + // Let's combine the global macro definitions, with the macro definitions particular to this + // supervariant. Two steps: + // 1- Supervariants can specify which macros to remove from the global definitions. + AZStd::vector macroDefinitionNamesToRemove = supervariantInfo.GetCombinedListOfMacroDefinitionNamesToRemove(); + PreprocessorOptions preprocessorOptions = buildOptions.m_preprocessorSettings; + preprocessorOptions.RemovePredefinedMacros(macroDefinitionNamesToRemove); + // 2- Supervariants can specify which macros to add. + AZStd::vector macroDefinitionsToAdd = supervariantInfo.GetMacroDefinitionsToAdd(); + preprocessorOptions.m_predefinedMacros.insert( + preprocessorOptions.m_predefinedMacros.end(), macroDefinitionsToAdd.begin(), macroDefinitionsToAdd.end()); + // Run the preprocessor. + PreprocessorData output; + PreprocessFile(prependedAzslFilePath, output, preprocessorOptions, true, true); + RHI::ReportErrorMessages(ShaderAssetBuilderName, output.diagnostics); + // Dump the preprocessed string as a flat AZSL file with extension .azslin, which will be given to AZSLc to generate the HLSL file. + AZStd::string superVariantAzslinStemName = shaderFileName; + if (!supervariantInfo.m_name.IsEmpty()) + { + superVariantAzslinStemName += AZStd::string::format("-%s", supervariantInfo.m_name.GetCStr()); + } + AZStd::string azslinFullPath = ShaderBuilderUtility::DumpPreprocessedCode( + ShaderAssetBuilderName, output.code, request.m_tempDirPath, superVariantAzslinStemName, + apiName); + if (azslinFullPath.empty()) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + AZ_TracePrintf(ShaderAssetBuilderName, "Preprocessed AZSL File: %s \n", prependedAzslFilePath.c_str()); + + // Before transpiling the flat-AZSL(.azslin) file into HLSL it is necessary + // to setup the AZSLc arguments as required by the current supervariant. + AZStd::string azslcCompilerParameters = supervariantInfo.GetCustomizedArgumentsForAzslc(commonAzslcCompilerParameters); + + // Ready to transpile the azslin file into HLSL. + ShaderBuilder::AzslCompiler azslc(azslinFullPath); + AZStd::string hlslFullPath = AZStd::string::format("%s_%s.hlsl", superVariantAzslinStemName.c_str(), apiName.c_str()); + AzFramework::StringFunc::Path::Join(request.m_tempDirPath.c_str(), hlslFullPath.c_str(), hlslFullPath, true); + auto emitFullOutcome = azslc.EmitFullData(azslcCompilerParameters, hlslFullPath); + if (!emitFullOutcome.IsSuccess()) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + ShaderBuilderUtility::AzslSubProducts::Paths subProductsPaths = emitFullOutcome.TakeValue(); + + // In addition to the hlsl file, there are other json files that were generated. + // Each output file will become a product. + for (int i = 0; i < subProductsPaths.size(); ++i) + { + AssetBuilderSDK::JobProduct jobProduct; + jobProduct.m_productFileName = subProductsPaths[i]; + static const AZ::Uuid AzslOutcomeType = "{6977AEB1-17AD-4992-957B-23BB2E85B18B}"; + jobProduct.m_productAssetType = AzslOutcomeType; + // uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, uint32_t subProductType + jobProduct.m_productSubID = RPI::ShaderAsset::MakeProductAssetSubId( + shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex, + aznumeric_cast(ShaderBuilderUtility::AzslSubProducts::SubList[i])); + jobProduct.m_dependenciesHandled = true; + // Note that the output products are not traditional product assets that will be used by the game project. + // They are artifacts that are produced once, cached, and used later by other AssetBuilders as a way to centralize + // build organization. + response.m_outputProducts.push_back(AZStd::move(jobProduct)); + } + + AZStd::shared_ptr files(new ShaderFiles); + AzslData azslData(files); + azslData.m_preprocessedFullPath = azslinFullPath; + RPI::ShaderResourceGroupLayoutList srgLayoutList; + RPI::Ptr shaderOptionGroupLayout = RPI::ShaderOptionGroupLayout::Create(); + BindingDependencies bindingDependencies; + RootConstantData rootConstantData; + AssetBuilderSDK::ProcessJobResultCode azslJsonReadResult = ShaderBuilderUtility::PopulateAzslDataFromJsonFiles( + ShaderAssetBuilderName, subProductsPaths, platformUsesRegisterSpaces, azslData, srgLayoutList, shaderOptionGroupLayout, + bindingDependencies, rootConstantData); + if (azslJsonReadResult != AssetBuilderSDK::ProcessJobResult_Success) + + { + response.m_resultCode = azslJsonReadResult; + return; + } + + shaderAssetCreator.SetSrgLayoutList(srgLayoutList); + + if (!finalShaderOptionGroupLayout) + { + finalShaderOptionGroupLayout = shaderOptionGroupLayout; + shaderAssetCreator.SetShaderOptionGroupLayout(finalShaderOptionGroupLayout); + const uint32_t usedShaderOptionBits = shaderOptionGroupLayout->GetBitSize(); + AZ_TracePrintf( + ShaderAssetBuilderName, "Note: This shader uses %u of %u available shader variant key bits. \n", + usedShaderOptionBits, RPI::ShaderVariantKeyBitCount); + } + else + { + if (finalShaderOptionGroupLayout->GetHash() != shaderOptionGroupLayout->GetHash()) + { + AZ_Error( + ShaderAssetBuilderName, false, "Supervariant %s has a different ShaderOptionGroupLayout", + supervariantInfo.m_name.GetCStr()) + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + } + + // Discover entry points & type of programs. + MapOfStringToStageType shaderEntryPoints; + if (shaderSourceData.m_programSettings.m_entryPoints.empty()) + { + AZ_TracePrintf( + ShaderAssetBuilderName, + "ProgramSettings do not specify entry points, will use GetDefaultEntryPointsFromShader()\n"); + ShaderBuilderUtility::GetDefaultEntryPointsFromFunctionDataList(azslData.m_functions, shaderEntryPoints); + } + else + { + for (const auto& entryPoint : shaderSourceData.m_programSettings.m_entryPoints) + { + shaderEntryPoints[entryPoint.m_name] = entryPoint.m_type; + } + } + + bool hasRasterProgram = false; + auto attributeMapsOutcome = BuildAttributesMap(shaderPlatformInterface, azslData, shaderEntryPoints, hasRasterProgram); + if (!attributeMapsOutcome.IsSuccess()) + { + AZ_Error(ShaderAssetBuilderName, false, "%s\n", attributeMapsOutcome.GetError().c_str()); + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + shaderAssetCreator.SetShaderStageAttributeMapList(attributeMapsOutcome.TakeValue()); + + // Check if we were canceled before we do any heavy processing of + // the shader data (compiling the shader kernels, processing SRG + // and pipeline layout data, etc.). + if (jobCancelListener.IsCancelled()) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; + return; + } + + RHI::Ptr pipelineLayoutDescriptor = + ShaderBuilderUtility::BuildPipelineLayoutDescriptorForApi( + ShaderAssetBuilderName, srgLayoutList, shaderEntryPoints, buildOptions.m_compilerArguments, rootConstantData, + shaderPlatformInterface, bindingDependencies); + if (!pipelineLayoutDescriptor) + { + AZ_Error( + ShaderAssetBuilderName, false, "Failed to build pipeline layout descriptor for api=[%s]", + shaderPlatformInterface->GetAPIName().GetCStr()); + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + + shaderAssetCreator.SetPipelineLayout(pipelineLayoutDescriptor); + + + RPI::ShaderInputContract shaderInputContract; + RPI::ShaderOutputContract shaderOutputContract; + size_t colorAttachmentCount = 0; + ShaderBuilderUtility::CreateShaderInputAndOutputContracts( + azslData, shaderEntryPoints, *shaderOptionGroupLayout.get(), + subProductsPaths[ShaderBuilderUtility::AzslSubProducts::om], + subProductsPaths[ShaderBuilderUtility::AzslSubProducts::ia], + shaderInputContract, shaderOutputContract, colorAttachmentCount); + shaderAssetCreator.SetInputContract(shaderInputContract); + shaderAssetCreator.SetOutputContract(shaderOutputContract); + + if (hasRasterProgram) + { + // Set the various states to what is in the descriptor. + const RHI::TargetBlendState& targetBlendState = shaderSourceData.m_blendState; + RHI::RenderStates renderStates; + renderStates.m_rasterState = shaderSourceData.m_rasterState; + renderStates.m_depthStencilState = shaderSourceData.m_depthStencilState; + // [GFX TODO][ATOM-930] We should support unique blend states per RT + for (size_t i = 0; i < colorAttachmentCount; ++i) + { + renderStates.m_blendState.m_targets[i] = targetBlendState; + } + + shaderAssetCreator.SetRenderStates(renderStates); + } + + Outcome hlslSourceCodeOutcome = Utils::ReadFile(hlslFullPath); + if (!hlslSourceCodeOutcome.IsSuccess()) + { + AZ_Error( + ShaderAssetBuilderName, false, "Failed to obtain shader source from %s. [%s]", hlslFullPath.c_str(), + hlslSourceCodeOutcome.GetError().c_str()); + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + AZStd::string hlslSourceCode = hlslSourceCodeOutcome.TakeValue(); + + // The root ShaderVariantAsset needs to be created with the known uuid of the source .shader asset because + // the ShaderAsset owns a Data::Asset<> reference that gets serialized. It must have the correct uuid + // so the root ShaderVariantAsset is found when the ShaderAsset is deserialized. + uint32_t rootVariantProductSubId = RPI::ShaderAsset::MakeProductAssetSubId( + shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex, + aznumeric_cast(RPI::ShaderAssetSubId::RootShaderVariantAsset)); + auto assetIdOutcome = RPI::AssetUtils::MakeAssetId(shaderFullPath, rootVariantProductSubId); + AZ_Assert(assetIdOutcome.IsSuccess(), "Failed to get AssetId from shader %s", shaderFullPath.c_str()); + const Data::AssetId variantAssetId = assetIdOutcome.TakeValue(); + + RPI::ShaderVariantListSourceData::VariantInfo rootVariantInfo; + ShaderVariantCreationContext shaderVariantCreationContext = { + *shaderPlatformInterface, + request.m_platformInfo, + buildOptions.m_compilerArguments, + request.m_tempDirPath, + startTime, + shaderSourceData, + *shaderOptionGroupLayout.get(), + shaderEntryPoints, + variantAssetId, + superVariantAzslinStemName, + hlslFullPath, + hlslSourceCode}; + + + AZStd::optional outputByproducts; + auto rootShaderVariantAssetOutcome = ShaderVariantAssetBuilder::CreateShaderVariantAsset(rootVariantInfo, shaderVariantCreationContext, outputByproducts); + if (!rootShaderVariantAssetOutcome.IsSuccess()) + { + AZ_Error(ShaderAssetBuilderName, false, "%s\n", rootShaderVariantAssetOutcome.GetError().c_str()) + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + Data::Asset rootShaderVariantAsset = rootShaderVariantAssetOutcome.TakeValue(); + + shaderAssetCreator.SetRootShaderVariantAsset(rootShaderVariantAsset); + + if (!shaderAssetCreator.EndSupervariant()) + { + AZ_Error( + ShaderAssetBuilderName, false, "Failed to create shader asset for supervariant [%s]", supervariantInfo.m_name.GetCStr()) + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + + // Time to save the root variant related assets in the cache. + AssetBuilderSDK::JobProduct assetProduct; + if (!ShaderVariantAssetBuilder::SerializeOutShaderVariantAsset( + rootShaderVariantAsset, superVariantAzslinStemName, request.m_tempDirPath, *shaderPlatformInterface, + rootVariantProductSubId, + assetProduct)) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + response.m_outputProducts.push_back(assetProduct); + + if (outputByproducts) + { + // add byproducts as job output products: + uint32_t subProductType = aznumeric_cast(RPI::ShaderAssetSubId::FirstByProduct); + for (const AZStd::string& byproduct : outputByproducts.value().m_intermediatePaths) + { + AssetBuilderSDK::JobProduct jobProduct; + jobProduct.m_productFileName = byproduct; + jobProduct.m_productAssetType = Uuid::CreateName("DebugInfoByProduct-PdbOrDxilTxt"); + jobProduct.m_productSubID = RPI::ShaderAsset::MakeProductAssetSubId( + shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex, + subProductType++); + response.m_outputProducts.push_back(AZStd::move(jobProduct)); + } + } + + + supervariantIndex++; + + } // end for the supervariant + + shaderAssetCreator.EndAPI(); + + } // end for all ShaderPlatformInterfaces + Data::Asset shaderAsset; if (!shaderAssetCreator.End(shaderAsset)) { response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; return; } - + if (!SerializeOutShaderAsset(shaderAsset, request.m_tempDirPath, response)) { response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; return; } - + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - + const AZStd::sys_time_t endTime = AZStd::GetTimeNowTicks(); const AZStd::sys_time_t deltaTime = endTime - startTime; const float elapsedTimeSeconds = (float)(deltaTime) / (float)AZStd::GetTimeTicksPerSecond(); - + AZ_TracePrintf(ShaderAssetBuilderName, "Finished processing %s in %.2f seconds\n", request.m_sourceFile.c_str(), elapsedTimeSeconds); - - ShaderBuilderUtility::LogProfilingData(ShaderAssetBuilderName, inputFiles->m_azslFileName); + + ShaderBuilderUtility::LogProfilingData(ShaderAssetBuilderName, shaderFileName); } } // ShaderBuilder diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.h index 0be043a3eb..2f1eab202f 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.h +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.h @@ -38,7 +38,7 @@ namespace AZ : public AssetBuilderSDK::AssetBuilderCommandBus::Handler { public: - AZ_TYPE_INFO(ShaderAssetBuilder, "{AEC304A9-940C-4851-AEF0-7D00482598F9}"); + AZ_TYPE_INFO(ShaderAssetBuilder, "{C94DA151-82BC-4475-86FA-E6C92A0BD6F8}"); static constexpr const char* ShaderAssetBuilderJobKey = "Shader Asset"; diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder2.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder2.cpp deleted file mode 100644 index 5758db1da2..0000000000 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder2.cpp +++ /dev/null @@ -1,683 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -*/ - -#include "ShaderAssetBuilder2.h" - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "AzslBuilder.h" -#include "ShaderVariantAssetBuilder2.h" -#include "ShaderBuilderUtility.h" -#include "ShaderPlatformInterfaceRequest.h" -#include "AtomShaderConfig.h" - -#include -#include -namespace AZ -{ - namespace ShaderBuilder - { - static constexpr char ShaderAssetBuilder2Name[] = "ShaderAssetBuilder2"; - static constexpr uint32_t ShaderAssetBuildTimestampParam = 0; - - void ShaderAssetBuilder2::CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const - { - AZStd::string fullPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), fullPath, true); - - AZ_TracePrintf(ShaderAssetBuilder2Name, "CreateJobs for Shader \"%s\"\n", fullPath.data()); - - // Used to synchronize versions of the ShaderAsset and ShaderVariantTreeAsset, especially during hot-reload. - // Note it's probably important for this to be set once outside the platform loop so every platform's ShaderAsset - // has the same value, because later the ShaderVariantTreeAsset job will fetch this value from the local ShaderAsset - // which could cross platforms (i.e. building an android ShaderVariantTreeAsset on PC would fetch the tiemstamp from - // the PC's ShaderAsset). - AZStd::sys_time_t shaderAssetBuildTimestamp = AZStd::GetTimeNowMicroSecond(); - - // Need to get the name of the azsl file from the .shader source asset, to be able to declare a dependency to SRG Layout Job. - // and the macro options to preprocess. - auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(fullPath); - if (!descriptorParseOutcome.IsSuccess()) - { - AZ_Error( - ShaderAssetBuilder2Name, false, "Failed to parse Shader Descriptor JSON: %s", - descriptorParseOutcome.GetError().c_str()); - return; - } - - RPI::ShaderSourceData shaderSourceData = descriptorParseOutcome.TakeValue(); - - AZStd::string azslFullPath; - ShaderBuilderUtility::GetAbsolutePathToAzslFile(fullPath, shaderSourceData.m_source, azslFullPath); - if (!IO::FileIOBase::GetInstance()->Exists(azslFullPath.c_str())) - { - AZ_Error( - ShaderAssetBuilder2Name, false, "Shader program listed as the source entry does not exist: %s.", azslFullPath.c_str()); - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Failed; - return; - } - - - GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderAssetBuilder2Name); - - // [GFX TODO] [ATOM-14966] In principle, based on macro definitions, included files can change per supervariant. - // So, the list of source asset dependencies must be collected by running MCPP on each supervariant. - // For now, we will run MCPP only once because CreateJobs() should be as light as possible. - // - // Regardless of the PlatformInfo and enabled ShaderPlatformInterfaces, the azsl file will be preprocessed - // with the sole purpose of extracting all included files. For each included file a SourceDependency will be declared. - PreprocessorData output; - buildOptions.m_compilerArguments.Merge(shaderSourceData.m_compiler); - PreprocessFile(azslFullPath, output, buildOptions.m_preprocessorSettings, true, true); - for (auto includePath : output.includedPaths) - { - // m_sourceFileDependencyList does not support paths with "." or ".." for relative lookup, but the preprocessor - // may produce path strings like "C:/a/b/c/../../d/file.azsli" so we have to normalize - AzFramework::StringFunc::Path::Normalize(includePath); - - AssetBuilderSDK::SourceFileDependency includeFileDependency; - includeFileDependency.m_sourceFileDependencyPath = includePath; - response.m_sourceFileDependencyList.emplace_back(includeFileDependency); - } - - { - // Add the AZSL as source dependency - AssetBuilderSDK::SourceFileDependency azslFileDependency; - azslFileDependency.m_sourceFileDependencyPath = azslFullPath; - response.m_sourceFileDependencyList.emplace_back(azslFileDependency); - } - - for (const AssetBuilderSDK::PlatformInfo& platformInfo : request.m_enabledPlatforms) - { - AZ_TraceContext("For platform", platformInfo.m_identifier.data()); - - // Get the platform interfaces to be able to access the prepend file - AZStd::vector platformInterfaces = ShaderBuilderUtility::DiscoverValidShaderPlatformInterfaces(platformInfo); - if (platformInterfaces.empty()) - { - continue; - } - - AssetBuilderSDK::JobDescriptor jobDescriptor; - jobDescriptor.m_priority = 2; - // [GFX TODO][ATOM-2830] Set 'm_critical' back to 'false' once proper fix for Atom startup issues are in - jobDescriptor.m_critical = true; - jobDescriptor.m_jobKey = ShaderAssetBuilder2JobKey; - jobDescriptor.SetPlatformIdentifier(platformInfo.m_identifier.c_str()); - jobDescriptor.m_jobParameters.emplace(ShaderAssetBuildTimestampParam, AZStd::to_string(shaderAssetBuildTimestamp)); - - response.m_createJobOutputs.push_back(jobDescriptor); - } // for all request.m_enabledPlatforms - - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success; - } - - static bool SerializeOutShaderAsset(Data::Asset shaderAsset, - const AZStd::string& tempDirPath, - AssetBuilderSDK::ProcessJobResponse& response) - { - AZStd::string shaderAssetFileName = AZStd::string::format("%s.%s", shaderAsset->GetName().GetCStr(), RPI::ShaderAsset2::Extension); - AZStd::string shaderAssetOutputPath; - AzFramework::StringFunc::Path::ConstructFull(tempDirPath.data(), shaderAssetFileName.data(), shaderAssetOutputPath, true); - - if (!Utils::SaveObjectToFile(shaderAssetOutputPath, DataStream::ST_BINARY, shaderAsset.Get())) - { - AZ_Error(ShaderAssetBuilder2Name, false, "Failed to output Shader Descriptor"); - return false; - } - - AssetBuilderSDK::JobProduct shaderJobProduct; - if (!AssetBuilderSDK::OutputObject(shaderAsset.Get(), shaderAssetOutputPath, azrtti_typeid(), - aznumeric_cast(RPI::ShaderAsset2ProductSubId::ShaderAsset2), shaderJobProduct)) - { - AZ_Error(ShaderAssetBuilder2Name, false, "Failed to output product dependencies."); - return false; - } - response.m_outputProducts.push_back(AZStd::move(shaderJobProduct)); - - return true; - } - - static AZ::Outcome BuildAttributesMap( - const RHI::ShaderPlatformInterface* shaderPlatformInterface, - const AzslData& azslData, - const MapOfStringToStageType& shaderEntryPoints, - bool& hasRasterProgram) - { - hasRasterProgram = false; - bool hasComputeProgram = false; - bool hasRayTracingProgram = false; - RHI::ShaderStageAttributeMapList attributeMaps; - attributeMaps.resize(RHI::ShaderStageCount); - for (const auto& shaderEntryPoint : shaderEntryPoints) - { - auto shaderEntryName = shaderEntryPoint.first; - auto shaderStageType = shaderEntryPoint.second; - auto assetBuilderShaderType = ShaderBuilderUtility::ToAssetBuilderShaderType(shaderStageType); - hasRasterProgram |= shaderPlatformInterface->IsShaderStageForRaster(assetBuilderShaderType); - hasComputeProgram |= shaderPlatformInterface->IsShaderStageForCompute(assetBuilderShaderType); - hasRayTracingProgram |= shaderPlatformInterface->IsShaderStageForRayTracing(assetBuilderShaderType); - - auto findId = AZStd::find_if(AZ_BEGIN_END(azslData.m_functions), [&shaderEntryPoint](const auto& func) { - return func.m_name == shaderEntryPoint.first; - }); - - if (findId == azslData.m_functions.end()) - { - // shaderData.m_functions only contains Vertex, Fragment and Compute entries for now - // Tessellation shaders will need to be handled too - continue; - } - - const auto shaderStage = ToRHIShaderStage(assetBuilderShaderType); - for (const auto& attr : findId->attributesList) - { - // Some stages like RHI::ShaderStage::Tessellation are compound and consist of two or more shader entries - const Name& attributeName = attr.first; - const RHI::ShaderStageAttributeArguments& args = attr.second; - const auto stageIndex = static_cast(shaderStage); - AZ_Assert(stageIndex < RHI::ShaderStageCount, "Invalid shader stage specified!"); - attributeMaps[stageIndex][attributeName] = args; - } - } - - if (hasRasterProgram && hasComputeProgram) - { - return AZ::Failure(AZStd::string(" Shader asset descriptor defines both a raster entry point and a compute entry point.")); - } - - if (!hasRasterProgram && !hasComputeProgram && !hasRayTracingProgram) - { - AZStd::string entryPointNames = ShaderBuilderUtility::GetAcceptableDefaultEntryPointNames(azslData); - return AZ::Failure( - AZStd::string::format( "Shader asset descriptor has a program variant that does not define any entry points. Either declare entry " - "points in the .shader file, or use one of the available default names (not case-sensitive): [%s]", - entryPointNames.c_str())); - } - - return AZ::Success(attributeMaps); - } - - void ShaderAssetBuilder2::ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const - { - const AZStd::sys_time_t startTime = AZStd::GetTimeNowTicks(); - AZStd::string shaderFullPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.c_str(), request.m_sourceFile.c_str(), shaderFullPath, true); - // Save .shader file name (no extension and no parent directory path) - AZStd::string shaderFileName; - AzFramework::StringFunc::Path::GetFileName(request.m_sourceFile.c_str(), shaderFileName); - - // No error checking because the same calls were already executed during CreateJobs() - auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(shaderFullPath); - RPI::ShaderSourceData shaderSourceData = descriptorParseOutcome.TakeValue(); - AZStd::string azslFullPath; - ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderFullPath, shaderSourceData.m_source, azslFullPath); - AZ_TracePrintf(ShaderAssetBuilder2Name, "Original AZSL File: %s \n", azslFullPath.c_str()); - - // The directory where the Azsl file was found must be added to the list of include paths - AZStd::string azslFolderPath; - AzFramework::StringFunc::Path::GetFolderPath(azslFullPath.c_str(), azslFolderPath); - GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderAssetBuilder2Name, azslFolderPath.c_str()); - - // Request the list of valid shader platform interfaces for the target platform. - AZStd::vector platformInterfaces = ShaderBuilderUtility::DiscoverEnabledShaderPlatformInterfaces( - request.m_platformInfo, shaderSourceData); - if (platformInterfaces.empty()) - { - //No work to do. Exit gracefully. - AZ_TracePrintf(ShaderAssetBuilder2Name, - "No azshader is produced on behalf of %s because all valid RHI backends were disabled for this shader.\n", - shaderFullPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - return; - } - - // Get the time stamp string as sys_time_t, and also convert back to string to make sure it was converted correctly. - AZStd::sys_time_t shaderAssetBuildTimestamp = 0; - auto shaderAssetBuildTimestampIterator = request.m_jobDescription.m_jobParameters.find(ShaderAssetBuildTimestampParam); - if (shaderAssetBuildTimestampIterator != request.m_jobDescription.m_jobParameters.end()) - { - shaderAssetBuildTimestamp = AZStd::stoull(shaderAssetBuildTimestampIterator->second); - - if (AZStd::to_string(shaderAssetBuildTimestamp) != shaderAssetBuildTimestampIterator->second) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - AZ_Assert(false, "Incorrect conversion of ShaderAssetBuildTimestampParam"); - return; - } - } - - auto supervariantList = ShaderBuilderUtility::GetSupervariantListFromShaderSourceData(shaderSourceData); - - RPI::ShaderAssetCreator2 shaderAssetCreator; - shaderAssetCreator.Begin(Uuid::CreateRandom()); - - shaderAssetCreator.SetName(AZ::Name{shaderFileName.c_str()}); - shaderAssetCreator.SetDrawListName(Name(shaderSourceData.m_drawListName)); - shaderAssetCreator.SetShaderAssetBuildTimestamp(shaderAssetBuildTimestamp); - - // The ShaderOptionGroupLayout must be the same across all supervariants because - // there can be only a single ShaderVariantTreeAsset per ShaderAsset. - // We will store here the one that results when the *.azslin file is - // compiled for the default, nameless, supervariant. - // For all other supervariants we just make sure the hashes are the same - // as this one. - RPI::Ptr finalShaderOptionGroupLayout = nullptr; - - - // Time to describe the big picture. - // 1- Preprocess an AZSL file with MCPP (a C-Preprocessor), and generate a flat AZSL file without #include lines and any macros in it. - // Let's call it the Flat-AZSL file. There are two levels of macro definition that need to be merged before we can invoke MCPP: - // 1.1- From /Config/shader_global_build_options.json, which we have stored in the local variable @buildOptions. - // 1.2- From the "Supervariant" definition key, which can be different for each supervariant. - // 2- There will be one Flat-AZSL per supervariant. Each Flat-AZSL will be transpiled to HLSL with AZSLc. This means there will be one HLSL file - // per supervariant. - // 3- The generated HLSL (one HLSL per supervariant) file may contain C-Preprocessor Macros inserted by AZSLc. And that file will be given to DXC. - // DXC has a preprocessor embedded in it. DXC will be executed once for each entry function listed in the .shader file. - // There will be one DXIL compiled binary for each entry function. All the DXIL compiled binaries for each supervariant will be combined - // in the ROOT ShaderVariantAsset. - - // Remark: In general, the work done by the ShaderVariantAssetBuilder is similar, but it will start from the HLSL file created; in step 2, mentioned above; by this builder, - // for each supervariant. - - // At this moment We have global build options that should be merged with the build options that are common - // to all the supervariants of this shader. - buildOptions.m_compilerArguments.Merge(shaderSourceData.m_compiler); - - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) - { - AZStd::string apiName(shaderPlatformInterface->GetAPIName().GetCStr()); - AZ_TraceContext("Platform API", apiName); - // Signal the begin of shader data for an RHI API. - shaderAssetCreator.BeginAPI(shaderPlatformInterface->GetAPIType()); - - // Each shaderPlatformInterface has its own azsli header that needs to be prepended to the AZSL file before - // preprocessing. We will create a new temporary file that contains the combined data. - RHI::PrependArguments args; - args.m_sourceFile = azslFullPath.c_str(); - args.m_prependFile = shaderPlatformInterface->GetAzslHeader(request.m_platformInfo); - args.m_addSuffixToFileName = apiName.c_str(); - args.m_destinationFolder = request.m_tempDirPath.c_str(); - - AZStd::string prependedAzslFilePath = RHI::PrependFile(args); - if (prependedAzslFilePath == azslFullPath) - { - // The specific error is already reported by RHI::PrependFile(). - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - // Cache common AZSLC invokation arguments related with the current RHI Backend. - // Each supervariant can, optionally, remove or add more arguments for AZSLc. - AZStd::string commonAzslcCompilerParameters = - shaderPlatformInterface->GetAzslCompilerParameters(buildOptions.m_compilerArguments); - commonAzslcCompilerParameters += " "; - commonAzslcCompilerParameters += - shaderPlatformInterface->GetAzslCompilerWarningParameters(buildOptions.m_compilerArguments); - AtomShaderConfig::AddParametersFromConfigFile(commonAzslcCompilerParameters, request.m_platformInfo); - - // The register number only makes sense if the platform uses "spaces", - // since the register Id of the resource will not change even if the pipeline layout changes. - // We can pass in a default ShaderCompilerArguments because all we care about is whether the shaderPlatformInterface - // appends the "--use-spaces" flag. - const bool platformUsesRegisterSpaces = - (AzFramework::StringFunc::Find(commonAzslcCompilerParameters, "--use-spaces") != AZStd::string::npos); - - uint32_t supervariantIndex = 0; - for (const auto& supervariantInfo : supervariantList) - { - AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } - - shaderAssetCreator.BeginSupervariant(supervariantInfo.m_name); - - // Let's combine the global macro definitions, with the macro definitions particular to this - // supervariant. Two steps: - // 1- Supervariants can specify which macros to remove from the global definitions. - AZStd::vector macroDefinitionNamesToRemove = supervariantInfo.GetCombinedListOfMacroDefinitionNamesToRemove(); - PreprocessorOptions preprocessorOptions = buildOptions.m_preprocessorSettings; - preprocessorOptions.RemovePredefinedMacros(macroDefinitionNamesToRemove); - // 2- Supervariants can specify which macros to add. - AZStd::vector macroDefinitionsToAdd = supervariantInfo.GetMacroDefinitionsToAdd(); - preprocessorOptions.m_predefinedMacros.insert( - preprocessorOptions.m_predefinedMacros.end(), macroDefinitionsToAdd.begin(), macroDefinitionsToAdd.end()); - // Run the preprocessor. - PreprocessorData output; - PreprocessFile(prependedAzslFilePath, output, preprocessorOptions, true, true); - RHI::ReportErrorMessages(ShaderAssetBuilder2Name, output.diagnostics); - // Dump the preprocessed string as a flat AZSL file with extension .azslin, which will be given to AZSLc to generate the HLSL file. - AZStd::string superVariantAzslinStemName = shaderFileName; - if (!supervariantInfo.m_name.IsEmpty()) - { - superVariantAzslinStemName += AZStd::string::format("-%s", supervariantInfo.m_name.GetCStr()); - } - AZStd::string azslinFullPath = ShaderBuilderUtility::DumpPreprocessedCode( - ShaderAssetBuilder2Name, output.code, request.m_tempDirPath, superVariantAzslinStemName, - apiName, true /*add2*/); - if (azslinFullPath.empty()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - AZ_TracePrintf(ShaderAssetBuilder2Name, "Preprocessed AZSL File: %s \n", prependedAzslFilePath.c_str()); - - // Before transpiling the flat-AZSL(.azslin) file into HLSL it is necessary - // to setup the AZSLc arguments as required by the current supervariant. - AZStd::string azslcCompilerParameters = supervariantInfo.GetCustomizedArgumentsForAzslc(commonAzslcCompilerParameters); - - // Ready to transpile the azslin file into HLSL. - ShaderBuilder::AzslCompiler azslc(azslinFullPath); - AZStd::string hlslFullPath = AZStd::string::format("%s_%s.hlsl2", superVariantAzslinStemName.c_str(), apiName.c_str()); - AzFramework::StringFunc::Path::Join(request.m_tempDirPath.c_str(), hlslFullPath.c_str(), hlslFullPath, true); - auto emitFullOutcome = azslc.EmitFullData(azslcCompilerParameters, hlslFullPath, "2"); - if (!emitFullOutcome.IsSuccess()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - ShaderBuilderUtility::AzslSubProducts::Paths subProductsPaths = emitFullOutcome.TakeValue(); - - // In addition to the hlsl file, there are other json files that were generated. - // Each output file will become a product. - for (int i = 0; i < subProductsPaths.size(); ++i) - { - AssetBuilderSDK::JobProduct jobProduct; - jobProduct.m_productFileName = subProductsPaths[i]; - static const AZ::Uuid AzslOutcomeType = "{6977AEB1-17AD-4992-957B-23BB2E85B18B}"; - jobProduct.m_productAssetType = AzslOutcomeType; - // uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, uint32_t subProductType - jobProduct.m_productSubID = RPI::ShaderAsset2::MakeProductAssetSubId( - shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex, - aznumeric_cast(ShaderBuilderUtility::AzslSubProducts::SubList[i])); - jobProduct.m_dependenciesHandled = true; - // Note that the output products are not traditional product assets that will be used by the game project. - // They are artifacts that are produced once, cached, and used later by other AssetBuilders as a way to centralize - // build organization. - response.m_outputProducts.push_back(AZStd::move(jobProduct)); - } - - AZStd::shared_ptr files(new ShaderFiles); - AzslData azslData(files); - azslData.m_preprocessedFullPath = azslinFullPath; - RPI::ShaderResourceGroupLayoutList srgLayoutList; - RPI::Ptr shaderOptionGroupLayout = RPI::ShaderOptionGroupLayout::Create(); - BindingDependencies bindingDependencies; - RootConstantData rootConstantData; - AssetBuilderSDK::ProcessJobResultCode azslJsonReadResult = ShaderBuilderUtility::PopulateAzslDataFromJsonFiles( - ShaderAssetBuilder2Name, subProductsPaths, platformUsesRegisterSpaces, azslData, srgLayoutList, shaderOptionGroupLayout, - bindingDependencies, rootConstantData); - if (azslJsonReadResult != AssetBuilderSDK::ProcessJobResult_Success) - - { - response.m_resultCode = azslJsonReadResult; - return; - } - - shaderAssetCreator.SetSrgLayoutList(srgLayoutList); - - if (!finalShaderOptionGroupLayout) - { - finalShaderOptionGroupLayout = shaderOptionGroupLayout; - shaderAssetCreator.SetShaderOptionGroupLayout(finalShaderOptionGroupLayout); - const uint32_t usedShaderOptionBits = shaderOptionGroupLayout->GetBitSize(); - AZ_TracePrintf( - ShaderAssetBuilder2Name, "Note: This shader uses %u of %u available shader variant key bits. \n", - usedShaderOptionBits, RPI::ShaderVariantKeyBitCount); - } - else - { - if (finalShaderOptionGroupLayout->GetHash() != shaderOptionGroupLayout->GetHash()) - { - AZ_Error( - ShaderAssetBuilder2Name, false, "Supervariant %s has a different ShaderOptionGroupLayout", - supervariantInfo.m_name.GetCStr()) - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - } - - // Discover entry points & type of programs. - MapOfStringToStageType shaderEntryPoints; - if (shaderSourceData.m_programSettings.m_entryPoints.empty()) - { - AZ_TracePrintf( - ShaderAssetBuilder2Name, - "ProgramSettings do not specify entry points, will use GetDefaultEntryPointsFromShader()\n"); - ShaderBuilderUtility::GetDefaultEntryPointsFromFunctionDataList(azslData.m_functions, shaderEntryPoints); - } - else - { - for (const auto& entryPoint : shaderSourceData.m_programSettings.m_entryPoints) - { - shaderEntryPoints[entryPoint.m_name] = entryPoint.m_type; - } - } - - bool hasRasterProgram = false; - auto attributeMapsOutcome = BuildAttributesMap(shaderPlatformInterface, azslData, shaderEntryPoints, hasRasterProgram); - if (!attributeMapsOutcome.IsSuccess()) - { - AZ_Error(ShaderAssetBuilder2Name, false, "%s\n", attributeMapsOutcome.GetError().c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - shaderAssetCreator.SetShaderStageAttributeMapList(attributeMapsOutcome.TakeValue()); - - // Check if we were canceled before we do any heavy processing of - // the shader data (compiling the shader kernels, processing SRG - // and pipeline layout data, etc.). - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } - - RHI::Ptr pipelineLayoutDescriptor = - ShaderBuilderUtility::BuildPipelineLayoutDescriptorForApi( - ShaderAssetBuilder2Name, srgLayoutList, shaderEntryPoints, buildOptions.m_compilerArguments, rootConstantData, - shaderPlatformInterface, bindingDependencies); - if (!pipelineLayoutDescriptor) - { - AZ_Error( - ShaderAssetBuilder2Name, false, "Failed to build pipeline layout descriptor for api=[%s]", - shaderPlatformInterface->GetAPIName().GetCStr()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - shaderAssetCreator.SetPipelineLayout(pipelineLayoutDescriptor); - - - RPI::ShaderInputContract shaderInputContract; - RPI::ShaderOutputContract shaderOutputContract; - size_t colorAttachmentCount = 0; - ShaderBuilderUtility::CreateShaderInputAndOutputContracts( - azslData, shaderEntryPoints, *shaderOptionGroupLayout.get(), - subProductsPaths[ShaderBuilderUtility::AzslSubProducts::om], - subProductsPaths[ShaderBuilderUtility::AzslSubProducts::ia], - shaderInputContract, shaderOutputContract, colorAttachmentCount); - shaderAssetCreator.SetInputContract(shaderInputContract); - shaderAssetCreator.SetOutputContract(shaderOutputContract); - - if (hasRasterProgram) - { - // Set the various states to what is in the descriptor. - const RHI::TargetBlendState& targetBlendState = shaderSourceData.m_blendState; - RHI::RenderStates renderStates; - renderStates.m_rasterState = shaderSourceData.m_rasterState; - renderStates.m_depthStencilState = shaderSourceData.m_depthStencilState; - // [GFX TODO][ATOM-930] We should support unique blend states per RT - for (size_t i = 0; i < colorAttachmentCount; ++i) - { - renderStates.m_blendState.m_targets[i] = targetBlendState; - } - - shaderAssetCreator.SetRenderStates(renderStates); - } - - Outcome hlslSourceCodeOutcome = Utils::ReadFile(hlslFullPath); - if (!hlslSourceCodeOutcome.IsSuccess()) - { - AZ_Error( - ShaderAssetBuilder2Name, false, "Failed to obtain shader source from %s. [%s]", hlslFullPath.c_str(), - hlslSourceCodeOutcome.GetError().c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - AZStd::string hlslSourceCode = hlslSourceCodeOutcome.TakeValue(); - - // The root ShaderVariantAsset needs to be created with the known uuid of the source .shader asset because - // the ShaderAsset owns a Data::Asset<> reference that gets serialized. It must have the correct uuid - // so the root ShaderVariantAsset is found when the ShaderAsset is deserialized. - uint32_t rootVariantProductSubId = RPI::ShaderAsset2::MakeProductAssetSubId( - shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex, - aznumeric_cast(RPI::ShaderAsset2ProductSubId::RootShaderVariantAsset)); - auto assetIdOutcome = RPI::AssetUtils::MakeAssetId(shaderFullPath, rootVariantProductSubId); - AZ_Assert(assetIdOutcome.IsSuccess(), "Failed to get AssetId from shader %s", shaderFullPath.c_str()); - const Data::AssetId variantAssetId = assetIdOutcome.TakeValue(); - - RPI::ShaderVariantListSourceData::VariantInfo rootVariantInfo; - ShaderVariantCreationContext2 shaderVariantCreationContext = { - *shaderPlatformInterface, - request.m_platformInfo, - buildOptions.m_compilerArguments, - request.m_tempDirPath, - startTime, - shaderSourceData, - *shaderOptionGroupLayout.get(), - shaderEntryPoints, - variantAssetId, - superVariantAzslinStemName, - hlslFullPath, - hlslSourceCode}; - - - AZStd::optional outputByproducts; - auto rootShaderVariantAssetOutcome = ShaderVariantAssetBuilder2::CreateShaderVariantAsset(rootVariantInfo, shaderVariantCreationContext, outputByproducts); - if (!rootShaderVariantAssetOutcome.IsSuccess()) - { - AZ_Error(ShaderAssetBuilder2Name, false, "%s\n", rootShaderVariantAssetOutcome.GetError().c_str()) - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - Data::Asset rootShaderVariantAsset = rootShaderVariantAssetOutcome.TakeValue(); - - shaderAssetCreator.SetRootShaderVariantAsset(rootShaderVariantAsset); - - if (!shaderAssetCreator.EndSupervariant()) - { - AZ_Error( - ShaderAssetBuilder2Name, false, "Failed to create shader asset for supervariant [%s]", supervariantInfo.m_name.GetCStr()) - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - // Time to save the root variant related assets in the cache. - AssetBuilderSDK::JobProduct assetProduct; - if (!ShaderVariantAssetBuilder2::SerializeOutShaderVariantAsset( - rootShaderVariantAsset, superVariantAzslinStemName, request.m_tempDirPath, *shaderPlatformInterface, - rootVariantProductSubId, - assetProduct)) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - response.m_outputProducts.push_back(assetProduct); - - if (outputByproducts) - { - // add byproducts as job output products: - uint32_t subProductType = aznumeric_cast(RPI::ShaderAsset2ProductSubId::FirstByProduct); - for (const AZStd::string& byproduct : outputByproducts.value().m_intermediatePaths) - { - AssetBuilderSDK::JobProduct jobProduct; - jobProduct.m_productFileName = byproduct; - jobProduct.m_productAssetType = Uuid::CreateName("DebugInfoByProduct-PdbOrDxilTxt"); - jobProduct.m_productSubID = RPI::ShaderAsset2::MakeProductAssetSubId( - shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex, - subProductType++); - response.m_outputProducts.push_back(AZStd::move(jobProduct)); - } - } - - - supervariantIndex++; - - } // end for the supervariant - - shaderAssetCreator.EndAPI(); - - } // end for all ShaderPlatformInterfaces - - Data::Asset shaderAsset; - if (!shaderAssetCreator.End(shaderAsset)) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - if (!SerializeOutShaderAsset(shaderAsset, request.m_tempDirPath, response)) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - - const AZStd::sys_time_t endTime = AZStd::GetTimeNowTicks(); - const AZStd::sys_time_t deltaTime = endTime - startTime; - const float elapsedTimeSeconds = (float)(deltaTime) / (float)AZStd::GetTimeTicksPerSecond(); - - AZ_TracePrintf(ShaderAssetBuilder2Name, "Finished processing %s in %.2f seconds\n", request.m_sourceFile.c_str(), elapsedTimeSeconds); - - ShaderBuilderUtility::LogProfilingData(ShaderAssetBuilder2Name, shaderFileName); - } - - } // ShaderBuilder -} // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder2.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder2.h deleted file mode 100644 index 915d4e53d0..0000000000 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder2.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#pragma once - -#include -#include -#include - -#include - -namespace AZ -{ - namespace Data - { - class AssetHandler; - } - - namespace RHI - { - class ShaderPlatformInterface; - } - - namespace ShaderBuilder - { - struct AzslData; - - class ShaderAssetBuilder2 - : public AssetBuilderSDK::AssetBuilderCommandBus::Handler - { - public: - AZ_TYPE_INFO(ShaderAssetBuilder2, "{C94DA151-82BC-4475-86FA-E6C92A0BD6F8}"); - - static constexpr const char* ShaderAssetBuilder2JobKey = "Shader Asset 2"; - - ShaderAssetBuilder2() = default; - ~ShaderAssetBuilder2() = default; - - // Asset Builder Callback Functions ... - void CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const; - void ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const; - - // AssetBuilderSDK::AssetBuilderCommandBus interface overrides ... - void ShutDown() override { }; - - private: - AZ_DISABLE_COPY_MOVE(ShaderAssetBuilder2); - }; - - } // ShaderBuilder -} // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.cpp index c256caac4a..b34fbab9ae 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.cpp @@ -29,8 +29,7 @@ #include #include -#include // DEPRECATED - [ATOM-15472] -#include +#include #include #include @@ -87,68 +86,6 @@ namespace AZ AzFramework::StringFunc::Path::ReplaceExtension(absoluteAzslPath, "azsl"); } - static bool LoadShaderResourceGroupAssets( - [[maybe_unused]] const char* builderName, - const SrgDataContainer& resourceGroups, - ShaderResourceGroupAssets& srgAssets) - { - bool readSRGsSuccessfuly = true; - - // Load all SRGs included in source file - for (const SrgData& srgData : resourceGroups) - { - Data::AssetId assetId = {}; - AZStd::string srgFilePath = ""; - - srgFilePath = srgData.m_containingFileName; - AzFramework::StringFunc::Path::Normalize(srgFilePath); - - bool assetFound = false; - Data::AssetInfo sourceInfo; - AZStd::string watchFolder; - AzToolsFramework::AssetSystemRequestBus::BroadcastResult(assetFound, &AzToolsFramework::AssetSystem::AssetSystemRequest::GetSourceInfoBySourcePath, srgFilePath.c_str(), sourceInfo, watchFolder); - - if (!assetFound) - { - AZ_Error(builderName, false, "Could not find asset identified by path '%s'", srgFilePath.c_str()); - readSRGsSuccessfuly = false; - continue; - } - - assetId.m_guid = sourceInfo.m_assetId.m_guid; - assetId.m_subId = static_cast(AZStd::hash()(srgData.m_name) & 0xFFFFFFFF); - - Data::Asset asset = Data::AssetManager::Instance().GetAsset( - assetId, AZ::Data::AssetLoadBehavior::PreLoad); - asset.BlockUntilLoadComplete(); - if (!asset.IsReady()) - { - using Status = Data::AssetData::AssetStatus; - AZStd::string statusString = asset.GetStatus() == Status::Loading ? "loading" - : asset.GetStatus() == Status::ReadyPreNotify ? "ready-pre-notify" - : asset.GetStatus() == Status::Error ? "error" : "not-loaded/ready/unknown"; - - AZ_Error(builderName, false, "Searching SRG [%s]: Could not load SRG asset. (asset status [%s]) AssetId='%s' Path='%s'", - srgData.m_name.c_str(), - statusString.c_str(), - assetId.ToString().c_str(), srgFilePath.c_str()); - readSRGsSuccessfuly = false; - continue; - } - else if (!asset->IsValid()) - { - AZ_Error(builderName, false, "SRG asset has no layout information. AssetId='%s' Path='%s'", - assetId.ToString().c_str(), srgFilePath.c_str()); - readSRGsSuccessfuly = false; - continue; - } - - srgAssets.push_back(asset); - } - - return readSRGsSuccessfuly; - } - AZStd::shared_ptr PrepareSourceInput( [[maybe_unused]] const char* builderName, const AZStd::string& shaderAssetSourcePath, @@ -171,87 +108,6 @@ namespace AZ return files; } - - //! [GFX TODO] [ATOM-15472] Deprecated, remove when this ticket is addressed. - AssetBuilderSDK::ProcessJobResultCode PopulateAzslDataFromJsonFiles( - const char* builderName, - const AzslSubProducts::Paths& pathOfJsonFiles, - AzslData& azslData, - ShaderResourceGroupAssets& srgAssets, - RPI::Ptr shaderOptionGroupLayout, - BindingDependencies& bindingDependencies, - RootConstantData& rootConstantData) - { - AzslCompiler azslc(azslData.m_preprocessedFullPath); // set the input file for eventual error messages, but the compiler won't be called on it. - bool allReadSuccess = true; - // read: input assembly reflection - // shader resource group reflection - // options reflection - // binding dependencies reflection - int indicesOfInterest[] = { AzslSubProducts::ia, AzslSubProducts::srg, AzslSubProducts::options, AzslSubProducts::bindingdep }; - AZStd::unordered_map> outcomes; - for (int i : indicesOfInterest) - { - outcomes[i] = JsonSerializationUtils::ReadJsonFile(pathOfJsonFiles[i]); - if (!outcomes[i].IsSuccess()) - { - AZ_Error(builderName, false, "%s", outcomes[i].GetError().c_str()); - allReadSuccess = false; - } - } - if (!allReadSuccess) - { - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - // Get full list of functions eligible for vertex shader entry points - // along with metadata for constructing the InputAssembly for each of them - if (!azslc.ParseIaPopulateFunctionData(outcomes[AzslSubProducts::ia].GetValue(), azslData.m_functions)) - { - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - // Each SRG is built as a separate asset in the SrgLayoutBuilder, here we just - // build the list and load the data from multiple dependency assets. - if (!azslc.ParseSrgPopulateSrgData(outcomes[AzslSubProducts::srg].GetValue(), azslData.m_srgData)) - { - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - // Add all Shader Resource Group Assets that were defined in the shader code to the shader asset - if (!LoadShaderResourceGroupAssets(builderName, azslData.m_srgData, srgAssets)) - { - AZ_Error(builderName, false, "Failed to obtain shader resource group assets"); - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - // The shader options define what options are available, what are the allowed values/range - // for each option and what is its default value. - if (!azslc.ParseOptionsPopulateOptionGroupLayout(outcomes[AzslSubProducts::options].GetValue(), shaderOptionGroupLayout)) - { - AZ_Error(builderName, false, "Failed to find a valid list of shader options!"); - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - // It analyzes the shader external bindings (all SRG contents) - // and informs us on register indexes and shader stages using these resources - if (!azslc.ParseBindingdepPopulateBindingDependencies(outcomes[AzslSubProducts::bindingdep].GetValue(), bindingDependencies)) // consuming data from binding-dep - { - AZ_Error(builderName, false, "Failed to obtain shader resource binding reflection"); - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - // access the root constants reflection - if (!azslc.ParseSrgPopulateRootConstantData(outcomes[AzslSubProducts::srg].GetValue(), rootConstantData)) // consuming data from --srg ("InlineConstantBuffer" subjson section) - { - AZ_Error(builderName, false, "Failed to obtain root constant data reflection"); - return AssetBuilderSDK::ProcessJobResult_Failed; - } - - return AssetBuilderSDK::ProcessJobResult_Success; - } - - AssetBuilderSDK::ProcessJobResultCode PopulateAzslDataFromJsonFiles( const char* builderName, const AzslSubProducts::Paths& pathOfJsonFiles, @@ -361,7 +217,8 @@ namespace AZ } //! the binding dependency structure may store lots of high level function names which are not entry points - static void PruneNonEntryFunctions(BindingDependencies& bindingDependencies /*inout*/, const MapOfStringToStageType& shaderEntryPoints) + static void PruneNonEntryFunctions( + BindingDependencies& bindingDependencies /*inout*/, const MapOfStringToStageType& shaderEntryPoints) { auto cleaner = [&shaderEntryPoints](BindingDependencies::FunctionsNameVector& functionVector) { @@ -387,120 +244,6 @@ namespace AZ }); } } - - RHI::Ptr BuildPipelineLayoutDescriptorForApi( - [[maybe_unused]] const char* builderName, - RHI::ShaderPlatformInterface* shaderPlatformInterface, - BindingDependencies& bindingDependencies /*inout*/, - const ShaderResourceGroupAssets& srgAssets, - const MapOfStringToStageType& shaderEntryPoints, - const RHI::ShaderCompilerArguments& shaderCompilerArguments, - const RootConstantData* rootConstantData /*= nullptr*/) - { - PruneNonEntryFunctions(bindingDependencies, shaderEntryPoints); - - // Translates from a list of function names that use a resource to a shader stage mask. - auto getRHIShaderStageMask = [&shaderEntryPoints](const BindingDependencies::FunctionsNameVector& functions) - { - RHI::ShaderStageMask mask = RHI::ShaderStageMask::None; - // Iterate through all the functions that are using the resource. - for (const auto& functionName : functions) - { - // Search the function name into the list of valid entry points into the shader. - auto findId = AZStd::find_if(shaderEntryPoints.begin(), shaderEntryPoints.end(), [&functionName, &mask](const auto& item) - { - return item.first == functionName; - }); - - if (findId != shaderEntryPoints.end()) - { - // Use the entry point shader stage type to calculate the mask. - RHI::ShaderHardwareStage hardwareStage = ToAssetBuilderShaderType(findId->second); - mask |= static_cast(AZ_BIT(static_cast(RHI::ToRHIShaderStage(hardwareStage)))); - } - } - - return mask; - }; - - // Build general PipelineLayoutDescriptor data that is provided for all platforms - RHI::Ptr pipelineLayoutDescriptor = shaderPlatformInterface->CreatePipelineLayoutDescriptor(); - RHI::ShaderPlatformInterface::ShaderResourceGroupInfoList srgInfos; - for (const auto& srgAsset : srgAssets) - { - // Search the binding info for a Shader Resource Group. - AZStd::string_view srgName = srgAsset->GetName().GetStringView(); - const BindingDependencies::SrgResources* srgResources = bindingDependencies.GetSrg(srgName); - if (!srgResources) - { - AZ_Error(builderName, false, "SRG %s not found in the dependency dataset", srgName.data()); - return nullptr; - } - - RHI::ShaderResourceGroupBindingInfo srgBindingInfo; - srgBindingInfo.m_spaceId = srgResources->m_registerSpace; - const RHI::ShaderResourceGroupLayout* layout = srgAsset->GetLayout(shaderPlatformInterface->GetAPIType()); - // Calculate the binding in for the constant data. All constant data share the same binding info. - srgBindingInfo.m_constantDataBindingInfo = { - getRHIShaderStageMask(srgResources->m_srgConstantsDependencies.m_binding.m_dependentFunctions), - srgResources->m_srgConstantsDependencies.m_binding.m_registerId }; - // Calculate the binding info for each resource of the Shader Resource Group. - for (auto const& resource : srgResources->m_resources) - { - auto const& resourceInfo = resource.second; - srgBindingInfo.m_resourcesRegisterMap.insert( - { AZ::Name(resourceInfo.m_selfName), - RHI::ResourceBindingInfo(getRHIShaderStageMask(resourceInfo.m_dependentFunctions), resourceInfo.m_registerId) }); - } - pipelineLayoutDescriptor->AddShaderResourceGroupLayoutInfo(*layout, srgBindingInfo); - srgInfos.push_back(RHI::ShaderPlatformInterface::ShaderResourceGroupInfo{ layout, srgBindingInfo }); - } - - RHI::Ptr rootConstantsLayout = RHI::ConstantsLayout::Create(); - if (rootConstantData) - { - for (const auto& constantData : rootConstantData->m_constants) - { - RHI::ShaderInputConstantDescriptor rootConstantDesc( - constantData.m_nameId, constantData.m_constantByteOffset, constantData.m_constantByteSize, - rootConstantData->m_bindingInfo.m_registerId); - - rootConstantsLayout->AddShaderInput(rootConstantDesc); - } - } - - if (!rootConstantsLayout->Finalize()) - { - AZ_Error(builderName, false, "Failed to finalize root constants layout"); - return nullptr; - } - - pipelineLayoutDescriptor->SetRootConstantsLayout(*rootConstantsLayout); - - RHI::ShaderPlatformInterface::RootConstantsInfo rootConstantInfo; - if (rootConstantData) - { - rootConstantInfo.m_spaceId = rootConstantData->m_bindingInfo.m_space; - rootConstantInfo.m_registerId = rootConstantData->m_bindingInfo.m_registerId; - } - else - { - RootConstantData dummyRootConstantData; - rootConstantInfo.m_spaceId = dummyRootConstantData.m_bindingInfo.m_space; - rootConstantInfo.m_registerId = dummyRootConstantData.m_bindingInfo.m_registerId; - } - rootConstantInfo.m_totalSizeInBytes = rootConstantsLayout->GetDataSize(); - - // Build platform-specific PipelineLayoutDescriptor data, and finalize - if (!shaderPlatformInterface->BuildPipelineLayoutDescriptor( - pipelineLayoutDescriptor, srgInfos, rootConstantInfo, shaderCompilerArguments)) - { - AZ_Error(builderName, false, "Failed to build pipeline layout descriptor"); - return nullptr; - } - - return pipelineLayoutDescriptor; - } static AZStd::string DumpCode( [[maybe_unused]] const char* builderName, @@ -539,14 +282,8 @@ namespace AZ return finalFilePath; } - // [GFX TODO] Remove 'add2' when [ATOM-15472] - AZStd::string DumpPreprocessedCode(const char* builderName, const AZStd::string& preprocessedCode, const AZStd::string& tempDirPath, const AZStd::string& stemName, const AZStd::string& apiTypeString, bool add2) + AZStd::string DumpPreprocessedCode(const char* builderName, const AZStd::string& preprocessedCode, const AZStd::string& tempDirPath, const AZStd::string& stemName, const AZStd::string& apiTypeString) { - if (add2) - { - return DumpCode(builderName, preprocessedCode, tempDirPath, stemName, apiTypeString, "azslin2"); - } - return DumpCode(builderName, preprocessedCode, tempDirPath, stemName, apiTypeString, "azslin"); } @@ -584,8 +321,7 @@ namespace AZ AZStd::remove_if(AZ_BEGIN_END(platformInterfaces), [&](const RHI::ShaderPlatformInterface* shaderPlatformInterface) { return !shaderPlatformInterface || - shaderSourceData.IsRhiBackendDisabled(shaderPlatformInterface->GetAPIName()) || - (shaderPlatformInterface->GetAPIUniqueIndex() == static_cast(AZ::RHI::APIIndex::Null)); + shaderSourceData.IsRhiBackendDisabled(shaderPlatformInterface->GetAPIName()); }), platformInterfaces.end()); return platformInterfaces; @@ -718,15 +454,7 @@ namespace AZ #endif } - uint32_t MakeAzslBuildProductSubId(RPI::ShaderAssetSubId subId, RHI::APIType apiType) - { - auto subIdMaxEnumerator = RPI::ShaderAssetSubId::GeneratedHlslSource; - // separate bit space between subid enum, and api-type: - int shiftLeft = static_cast(log2(static_cast(subIdMaxEnumerator))) + 1; - return static_cast(subId) + (apiType << shiftLeft); - } - - Outcome ObtainBuildArtifactPathFromShaderAssetBuilder2( + Outcome ObtainBuildArtifactPathFromShaderAssetBuilder( const uint32_t rhiUniqueIndex, const AZStd::string& platformIdentifier, const AZStd::string& shaderJsonPath, const uint32_t supervariantIndex, RPI::ShaderAssetSubId shaderAssetSubId) { @@ -749,12 +477,12 @@ namespace AZ platformId = AzFramework::PlatformId::IOS; } - uint32_t assetSubId = RPI::ShaderAsset2::MakeProductAssetSubId(rhiUniqueIndex, supervariantIndex, aznumeric_cast(shaderAssetSubId)); + uint32_t assetSubId = RPI::ShaderAsset::MakeProductAssetSubId(rhiUniqueIndex, supervariantIndex, aznumeric_cast(shaderAssetSubId)); auto assetIdOutcome = RPI::AssetUtils::MakeAssetId(shaderJsonPath, assetSubId); if (!assetIdOutcome.IsSuccess()) { return Failure(AZStd::string::format( - "Missing ShaderAssetBuilder2 product %s, for sub %d", shaderJsonPath.c_str(), (uint32_t)shaderAssetSubId)); + "Missing ShaderAssetBuilder product %s, for sub %d", shaderJsonPath.c_str(), (uint32_t)shaderAssetSubId)); } Data::AssetId assetId = assetIdOutcome.TakeValue(); @@ -778,113 +506,6 @@ namespace AZ return AZ::Success(assetFullPath); } - Outcome ObtainBuildArtifactsFromAzslBuilder([[maybe_unused]] const char* builderName, const AZStd::string& sourceFullPath, RHI::APIType apiType, const AZStd::string& platform) - { - AzslSubProducts::Paths products; - - // platform id from identifier - AzFramework::PlatformId platformId = AzFramework::PlatformId::PC; - if (platform == "pc") - { - platformId = AzFramework::PlatformId::PC; - } - else if (platform == "mac") - { - platformId = AzFramework::PlatformId::MAC_ID; - } - else if (platform == "android") - { - platformId = AzFramework::PlatformId::ANDROID_ID; - } - else if (platform == "ios") - { - platformId = AzFramework::PlatformId::IOS; - } - - for (RPI::ShaderAssetSubId sub : AzslSubProducts::SubList) - { - uint32_t assetSubId = MakeAzslBuildProductSubId(sub, apiType); - auto assetIdOutcome = RPI::AssetUtils::MakeAssetId(sourceFullPath, assetSubId); - AZ_Error(builderName, assetIdOutcome.IsSuccess(), "Missing AZSL product %s, for sub %d", sourceFullPath.c_str(), (uint32_t)sub); - if (!assetIdOutcome.IsSuccess()) - { - return Failure(); - } - Data::AssetId assetId = assetIdOutcome.TakeValue(); - // get the relative path: - AZStd::string assetPath; - Data::AssetCatalogRequestBus::BroadcastResult(assetPath, &Data::AssetCatalogRequests::GetAssetPathById, assetId); - - // get the root: - AZStd::string assetRoot = AzToolsFramework::PlatformAddressedAssetCatalog::GetAssetRootForPlatform(platformId); - // join - AZStd::string assetFullPath; - AzFramework::StringFunc::Path::Join(assetRoot.c_str(), assetPath.c_str(), assetFullPath); - bool fileExists = IO::FileIOBase::GetInstance()->Exists(assetFullPath.c_str()) && !IO::FileIOBase::GetInstance()->IsDirectory(assetFullPath.c_str()); - if (!fileExists) - { - return Failure(); - } - products.push_back(assetFullPath); - } - return AZ::Success(products); - } - - // DEPRECATED [ATOM-15472] - // See header for info. - // REMARK: The approach to string searching and matching done in this function is kind of naive - // because the strings can match text within a comment block, etc. So it is not 100% fool proof. - // We would need proper grammar parsing to reach 100% confidence. - // [GFX TODO][ATOM-5302][ATOM-5308] The following function will be removed once, both, [ATOM-5302] & [ATOM-5308] are addressed, and - // azslc allows redundant SrgSemantics for "partial" qualified SRGs. - SrgSkipFileResult ShouldSkipFileForSrgProcessing([[maybe_unused]] const char* builderName, const AZStd::string_view fullPath) - { - AZ::IO::FileIOStream stream(fullPath.data(), AZ::IO::OpenMode::ModeRead); - if (!stream.IsOpen()) - { - AZ_Warning(builderName, false, "\"%s\" source file could not be opened.", fullPath.data()); - return SrgSkipFileResult::Error; - } - - if (!stream.CanRead()) - { - AZ_Warning(builderName, false, "\"%s\" source file could not be read.", fullPath.data()); - return SrgSkipFileResult::Error; - } - - // Do a quick check for "ShaderResourceGroup" to determine if this file might even have a ShaderResourceGroup to parse. - AZStd::string fileContents; - fileContents.resize(stream.GetLength()); - stream.Read(stream.GetLength(), fileContents.data()); - - static const AZStd::regex partialSrgRegex("\n\\s*partial\\s+ShaderResourceGroup\\s+", AZStd::regex::ECMAScript); - if (AZStd::regex_search(fileContents.data(), partialSrgRegex)) - { - // It is considered a programmer's error if a file declares both, non-partial and partial SRGs. - static const AZStd::regex srgRegex("\n\\s*ShaderResourceGroup\\s+", AZStd::regex::ECMAScript); - if (AZStd::regex_search(fileContents.data(), srgRegex)) - { - AZ_Error(builderName, false, "\"%s\" defines both partial and non-partial SRGs.", fullPath.data()); - return SrgSkipFileResult::Error; - } - // We should skip files that define partial Srgs because an srgi file will eventually - // include it. - return SrgSkipFileResult::SkipFile; - } - - // This is an optimization to avoid unnecessary preprocessing a whole tree of azsli files; we can detect when a - // ShaderResourceGroupAsset wouldn't be produced and return early. Note, we could remove this early-return check - // if the preprocessing code below is updated to not follow include paths [ATOM-5302]. - // (Note this optimization is not valid for srgi files because those do require scanning all include paths)" - if (fileContents.find("ShaderResourceGroup") == AZStd::string::npos) - { - // No ShaderResourceGroup in this file, so there's nothing to do. Create no jobs and report success. - return SrgSkipFileResult::SkipFile; - } - - return SrgSkipFileResult::ContinueProcess; - } - RHI::Ptr BuildPipelineLayoutDescriptorForApi( [[maybe_unused]] const char* builderName, const RPI::ShaderResourceGroupLayoutList& srgLayoutList, const MapOfStringToStageType& shaderEntryPoints, const RHI::ShaderCompilerArguments& shaderCompilerArguments, const RootConstantData& rootConstantData, diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.h index e31c6c70a1..0a44195fad 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.h +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.h @@ -18,8 +18,7 @@ #include #include -#include -#include +#include #include "AzslData.h" @@ -32,7 +31,6 @@ namespace AZ struct BindingDependencies; struct RootConstantData; - using ShaderResourceGroupAssets = AZStd::fixed_vector, RHI::Limits::Pipeline::ShaderResourceGroupCountMax>; using MapOfStringToStageType = AZStd::unordered_map; namespace ShaderBuilderUtility @@ -53,7 +51,7 @@ namespace AZ using SubId = RPI::ShaderAssetSubId; // product sub id enumerators: - static constexpr SubId SubList[] = {SubId::PostPreprocessingPureAzsl, + static constexpr SubId SubList[] = {SubId::FlatAzsl, SubId::IaJson, SubId::OmJson, SubId::SrgJson, @@ -66,20 +64,6 @@ namespace AZ using Paths = AZStd::fixed_vector; }; - //! [GFX TODO] [ATOM-15472] Deprecated, remove when this ticket is addressed. - //! Collects and generates the necessary data for compiling a shader. - //! @azslData must have paths correctly set. - //! shaderOptionGroupLayout, azslData, srgAssets get the output data. - AssetBuilderSDK::ProcessJobResultCode PopulateAzslDataFromJsonFiles( - const char* builderName, - const AzslSubProducts::Paths& pathOfJsonFiles, - AzslData& azslData, - ShaderResourceGroupAssets& srgAssets, - RPI::Ptr shaderOptionGroupLayout, - BindingDependencies& bindingDependencies, - RootConstantData& rootConstantData - ); - //! Collects all the JSON files generated during AZSL compilation and loads the data as objects. //! @azslData must have paths correctly set. //! @azslData, @srgLayoutList, @shaderOptionGroupLayout, @bindingDependencies and @rootConstantData get the output data. @@ -92,22 +76,6 @@ namespace AZ RHI::ShaderHardwareStage ToAssetBuilderShaderType(RPI::ShaderStageType stageType); - //! Must be called before shaderPlatformInterface->CompilePlatformInternal() - //! This function will prune non entry functions from BindingDependencies and use the - //! rest of input data to create a pipeline layout descriptor. - //! The pipeline layout descriptor is returned, but the same data will also be set into the @shaderPlatformInterface - //! object, which is why it is important to call this method before calling shaderPlatformInterface->CompilePlatformInternal(). - RHI::Ptr BuildPipelineLayoutDescriptorForApi( - const char* builderName, - RHI::ShaderPlatformInterface* shaderPlatformInterface, - BindingDependencies& bindingDependencies /*inout*/, - const ShaderResourceGroupAssets& srgAssets, - const MapOfStringToStageType& shaderEntryPoints, - const RHI::ShaderCompilerArguments& shaderCompilerArguments, - const RootConstantData* rootConstantData = nullptr - ); - - //! Must be called before shaderPlatformInterface->CompilePlatformInternal() //! This function will prune non entry functions from BindingDependencies and use the //! rest of input data to create a pipeline layout descriptor. @@ -145,8 +113,7 @@ namespace AZ const AZStd::string& preprocessedCode, const AZStd::string& tempDirPath, const AZStd::string& preprocessedFileName, - const AZStd::string& apiTypeString = "", - bool add2 = false); // [GFX TODO] Remove add2 when [ATOM-15472] + const AZStd::string& apiTypeString = ""); //! Create a file from a string's content. //! That file will be named filename.api.azsl.prepend @@ -181,25 +148,11 @@ namespace AZ void LogProfilingData(const char* builderName, AZStd::string_view shaderPath); - //! Job products sub id generation helper for AzslBuilder - uint32_t MakeAzslBuildProductSubId(RPI::ShaderAssetSubId subId, RHI::APIType apiType); - - //! Returns the asset path of a product artifact produced by ShaderAssetBuilder2. - Outcome ObtainBuildArtifactPathFromShaderAssetBuilder2( + //! Returns the asset path of a product artifact produced by ShaderAssetBuilder. + Outcome ObtainBuildArtifactPathFromShaderAssetBuilder( const uint32_t rhiUniqueIndex, const AZStd::string& platformIdentifier, const AZStd::string& shaderJsonPath, const uint32_t supervariantIndex, RPI::ShaderAssetSubId shaderAssetSubId); - //! Reconstructs the expected output product paths of the AzslBuilder (from the 2 arguments @azslSourceFullPath and @apiType) - Outcome ObtainBuildArtifactsFromAzslBuilder(const char* builderName, const AZStd::string& azslSourceFullPath, RHI::APIType apiType, const AZStd::string& platform); - - //! Returns true if a file should skip processing. - //! Should be called only for non *.srgi files. - //! If the file contains "partial ShaderResourceGroup" (validated through a proper regular expression) - //! then it is skippable. If this same file also defines non-partial SRGs it will be skipped with error. - //! If the file doesn't contain "ShaderResourceGroup" then it does not define a ShaderResourceGroup - //! and it is skippable too. - enum class SrgSkipFileResult { Error, SkipFile, ContinueProcess }; - SrgSkipFileResult ShouldSkipFileForSrgProcessing(const char* builderName, const AZStd::string_view fullPath); } // ShaderBuilderUtility namespace } // ShaderBuilder namespace } // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.cpp index 7114b50906..e1b99fc409 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.cpp @@ -22,7 +22,6 @@ #include #include -#include #include #include @@ -55,7 +54,6 @@ #include "ShaderBuilderUtility.h" #include "AzslData.h" #include "AzslCompiler.h" -#include "AzslBuilder.h" #include #include #include @@ -67,18 +65,12 @@ namespace AZ { static constexpr char ShaderVariantAssetBuilderName[] = "ShaderVariantAssetBuilder"; - static constexpr uint32_t ShaderVariantLoadErrorParam = 0; - static constexpr uint32_t ShaderSourceFilePathJobParam = 2; - static constexpr uint32_t ShaderVariantJobVariantParam = 3; - static constexpr uint32_t ShouldExitEarlyFromProcessJobParam = 4; - static void AddShaderAssetJobDependency( - AssetBuilderSDK::JobDescriptor& jobDescriptor, - const AssetBuilderSDK::PlatformInfo& platformInfo, - const AZStd::string& shaderVariantListFilePath, - const AZStd::string& shaderFilePath) + AssetBuilderSDK::JobDescriptor& jobDescriptor, const AssetBuilderSDK::PlatformInfo& platformInfo, + const AZStd::string& shaderVariantListFilePath, const AZStd::string& shaderFilePath) { - AZStd::vector possibleDependencies = AZ::RPI::AssetUtils::GetPossibleDepenencyPaths(shaderVariantListFilePath, shaderFilePath); + AZStd::vector possibleDependencies = + AZ::RPI::AssetUtils::GetPossibleDepenencyPaths(shaderVariantListFilePath, shaderFilePath); for (auto& file : possibleDependencies) { AssetBuilderSDK::JobDependency jobDependency; @@ -309,12 +301,7 @@ namespace AZ jobDescriptor.m_jobKey = ShaderVariantAssetBuilderJobKey; jobDescriptor.SetPlatformIdentifier(info.m_identifier.data()); - // queue up AzslBuilder dependencies: - AZStd::vector platformInterfaces = ShaderBuilderUtility::DiscoverValidShaderPlatformInterfaces(info); - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) - { - AddAzslBuilderJobDependency(jobDescriptor, info.m_identifier, shaderPlatformInterface->GetAPIName().GetCStr(), shaderSourceFileFullPath); - } + AddShaderAssetJobDependency(jobDescriptor, info, variantListFullPath, shaderVariantList.m_shaderFilePath); if (loadResult.m_code == LoadResult::Code::DeferredError) { @@ -357,7 +344,7 @@ namespace AZ response.m_createJobOutputs.push_back(jobDescriptor); } - // One job for each variant. Each job will produce one ".azshadervariant". + // One job for each variant. Each job will produce one ".azshadervariant" per RHI per supervariant. for (const AZ::RPI::ShaderVariantListSourceData::VariantInfo& variantInfo : shaderVariantList.m_shaderVariants) { AZStd::string variantInfoAsJsonString; @@ -431,6 +418,99 @@ namespace AZ } } + + static RPI::Ptr LoadShaderOptionsGroupLayoutFromShaderAssetBuilder( + const RHI::ShaderPlatformInterface* shaderPlatformInterface, + const AssetBuilderSDK::PlatformInfo& platformInfo, + const AzslCompiler& azslCompiler, + const AZStd::string& shaderSourceFileFullPath, + const RPI::SupervariantIndex supervariantIndex) + { + auto optionsGroupPathOutcome = ShaderBuilderUtility::ObtainBuildArtifactPathFromShaderAssetBuilder( + shaderPlatformInterface->GetAPIUniqueIndex(), platformInfo.m_identifier, shaderSourceFileFullPath, supervariantIndex.GetIndex(), + AZ::RPI::ShaderAssetSubId::OptionsJson); + if (!optionsGroupPathOutcome.IsSuccess()) + { + AZ_Error(ShaderVariantAssetBuilderName, false, "%s", optionsGroupPathOutcome.GetError().c_str()); + return nullptr; + } + auto optionsGroupJsonPath = optionsGroupPathOutcome.TakeValue(); + RPI::Ptr shaderOptionGroupLayout = RPI::ShaderOptionGroupLayout::Create(); + // The shader options define what options are available, what are the allowed values/range + // for each option and what is its default value. + auto jsonOutcome = JsonSerializationUtils::ReadJsonFile(optionsGroupJsonPath); + if (!jsonOutcome.IsSuccess()) + { + AZ_Error(ShaderVariantAssetBuilderName, false, "%s", jsonOutcome.GetError().c_str()); + return nullptr; + } + if (!azslCompiler.ParseOptionsPopulateOptionGroupLayout(jsonOutcome.GetValue(), shaderOptionGroupLayout)) + { + AZ_Error(ShaderVariantAssetBuilderName, false, "Failed to find a valid list of shader options!"); + return nullptr; + } + + return shaderOptionGroupLayout; + } + + static void LoadShaderFunctionsFromShaderAssetBuilder( + const RHI::ShaderPlatformInterface* shaderPlatformInterface, const AssetBuilderSDK::PlatformInfo& platformInfo, + const AzslCompiler& azslCompiler, const AZStd::string& shaderSourceFileFullPath, + const RPI::SupervariantIndex supervariantIndex, + AzslFunctions& functions) + { + auto functionsJsonPathOutcome = ShaderBuilderUtility::ObtainBuildArtifactPathFromShaderAssetBuilder( + shaderPlatformInterface->GetAPIUniqueIndex(), platformInfo.m_identifier, shaderSourceFileFullPath, supervariantIndex.GetIndex(), + AZ::RPI::ShaderAssetSubId::IaJson); + if (!functionsJsonPathOutcome.IsSuccess()) + { + AZ_Error(ShaderVariantAssetBuilderName, false, "%s", functionsJsonPathOutcome.GetError().c_str()); + return; + } + + auto functionsJsonPath = functionsJsonPathOutcome.TakeValue(); + auto jsonOutcome = JsonSerializationUtils::ReadJsonFile(functionsJsonPath); + if (!jsonOutcome.IsSuccess()) + { + AZ_Error(ShaderVariantAssetBuilderName, false, "%s", jsonOutcome.GetError().c_str()); + return; + } + if (!azslCompiler.ParseIaPopulateFunctionData(jsonOutcome.GetValue(), functions)) + { + functions.clear(); + AZ_Error(ShaderVariantAssetBuilderName, false, "Failed to find shader functions."); + return; + } + } + + + // Returns the content of the hlsl file for the given supervariant as produced by ShaderAsssetBuilder. + // In addition to the content it also returns the full path of the hlsl file in @hlslSourcePath. + static AZStd::string LoadHlslFileFromShaderAssetBuilder( + const RHI::ShaderPlatformInterface* shaderPlatformInterface, const AssetBuilderSDK::PlatformInfo& platformInfo, + const AZStd::string& shaderSourceFileFullPath, const RPI::SupervariantIndex supervariantIndex, AZStd::string& hlslSourcePath) + { + auto hlslSourcePathOutcome = ShaderBuilderUtility::ObtainBuildArtifactPathFromShaderAssetBuilder( + shaderPlatformInterface->GetAPIUniqueIndex(), platformInfo.m_identifier, shaderSourceFileFullPath, supervariantIndex.GetIndex(), + AZ::RPI::ShaderAssetSubId::GeneratedHlslSource); + if (!hlslSourcePathOutcome.IsSuccess()) + { + AZ_Error(ShaderVariantAssetBuilderName, false, "%s", hlslSourcePathOutcome.GetError().c_str()); + return ""; + } + + hlslSourcePath = hlslSourcePathOutcome.TakeValue(); + Outcome hlslSourceOutcome = Utils::ReadFile(hlslSourcePath); + if (!hlslSourceOutcome.IsSuccess()) + { + AZ_Error( + ShaderVariantAssetBuilderName, false, "Failed to obtain shader source from %s. [%s]", hlslSourcePath.c_str(), + hlslSourceOutcome.TakeError().c_str()); + return ""; + } + return hlslSourceOutcome.TakeValue(); + } + void ShaderVariantAssetBuilder::ProcessShaderVariantTreeJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const { AZStd::string variantListFullPath; @@ -448,62 +528,45 @@ namespace AZ //For debugging purposes will create a dummy azshadervarianttree file. AZStd::string shaderName; - AzFramework::StringFunc::Path::Split(shaderSourceFileFullPath.c_str(), nullptr /*drive*/, nullptr /*path*/, & shaderName, nullptr /*extension*/); + AzFramework::StringFunc::Path::GetFileName(shaderSourceFileFullPath.c_str(), shaderName); - RPI::ShaderSourceData shaderSourceDescriptor; - AZStd::shared_ptr azslSources = ShaderBuilderUtility::PrepareSourceInput(ShaderVariantAssetBuilderName, shaderSourceFileFullPath, shaderSourceDescriptor); - if (!azslSources) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } + // No error checking because the same calls were already executed during CreateJobs() + auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(shaderSourceFileFullPath); + RPI::ShaderSourceData shaderSourceDescriptor = descriptorParseOutcome.TakeValue(); RPI::Ptr shaderOptionGroupLayout; - AZStd::vector platformInterfaces = ShaderBuilderUtility::DiscoverValidShaderPlatformInterfaces(request.m_platformInfo); - AzslCompiler azslc(azslSources->m_azslSourceFullPath); // set the input file for eventual error messages, but the compiler won't be called on it. + // Request the list of valid shader platform interfaces for the target platform. + AZStd::vector platformInterfaces = + ShaderBuilderUtility::DiscoverEnabledShaderPlatformInterfaces(request.m_platformInfo, shaderSourceDescriptor); + if (platformInterfaces.empty()) + { + // No work to do. Exit gracefully. + AZ_TracePrintf( + ShaderVariantAssetBuilderName, + "No azshadervarianttree is produced on behalf of %s because all valid RHI backends were disabled for this shader.\n", + shaderSourceFileFullPath.c_str()); + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; + return; + } + + + // set the input file for eventual error messages, but the compiler won't be called on it. + AZStd::string azslFullPath; + ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderSourceFileFullPath, shaderSourceDescriptor.m_source, azslFullPath); + AzslCompiler azslc(azslFullPath); + AZStd::string previousLoopApiName; for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) { - // Null backend is special and does not require any processing. - if (shaderPlatformInterface->GetAPIUniqueIndex() == static_cast(AZ::RHI::APIIndex::Null)) - { - continue; - } - - if (shaderSourceDescriptor.IsRhiBackendDisabled(shaderPlatformInterface->GetAPIName())) - { - // Gracefully do nothing and continue with the next shaderPlatformInterface. - AZ_TracePrintf( - ShaderVariantAssetBuilderName, "Skipping shader variant tree compilation of [%s] for API [%s]\n", - shaderSourceFileFullPath.c_str(), - shaderPlatformInterface->GetAPIName().GetCStr()); - continue; - } - auto thisLoopApiName = shaderPlatformInterface->GetAPIName().GetStringView(); - auto azslArtifactsOutcome = ShaderBuilderUtility::ObtainBuildArtifactsFromAzslBuilder( - ShaderVariantAssetBuilderName, azslSources->m_azslSourceFullPath, shaderPlatformInterface->GetAPIType(), request.m_platformInfo.m_identifier); - if (!azslArtifactsOutcome.IsSuccess()) + RPI::Ptr loopLocal_ShaderOptionGroupLayout = + LoadShaderOptionsGroupLayoutFromShaderAssetBuilder( + shaderPlatformInterface, request.m_platformInfo, azslc, shaderSourceFileFullPath, RPI::DefaultSupervariantIndex); + if (!loopLocal_ShaderOptionGroupLayout) { response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; return; } - RPI::Ptr loopLocal_ShaderOptionGroupLayout = RPI::ShaderOptionGroupLayout::Create(); - // The shader options define what options are available, what are the allowed values/range - // for each option and what is its default value. - auto jsonOutcome = JsonSerializationUtils::ReadJsonFile(azslArtifactsOutcome.GetValue()[ShaderBuilderUtility::AzslSubProducts::options]); - if (!jsonOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "%s", jsonOutcome.GetError().c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - if (!azslc.ParseOptionsPopulateOptionGroupLayout(jsonOutcome.GetValue(), loopLocal_ShaderOptionGroupLayout)) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "Failed to find a valid list of shader options!"); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } if (shaderOptionGroupLayout && shaderOptionGroupLayout->GetHash() != loopLocal_ShaderOptionGroupLayout->GetHash()) { AZ_Error(ShaderVariantAssetBuilderName, false, "There was a discrepancy in shader options between %s and %s", previousLoopApiName.c_str(), thisLoopApiName.data()); @@ -548,76 +611,9 @@ namespace AZ response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; } - static AZStd::pair CompileShaderVariantForAPI( - Data::Asset& shaderVariantAsset, - RHI::ShaderPlatformInterface* shaderPlatformInterface, - AzslData& azslData, - const RHI::ShaderCompilerArguments& shaderCompilerArguments, - const RPI::ShaderOptionGroupLayout& shaderOptionGroupLayout, - const RPI::ShaderSourceData& shaderSourceDataDescriptor, - AZStd::sys_time_t shaderAssetBuildTimestamp, - const RPI::ShaderVariantListSourceData::VariantInfo& variantInfo, - const ShaderResourceGroupAssets& srgAssets, - const AssetBuilderSDK::ProcessJobRequest& request, - BindingDependencies& bindingDependencies, - const RootConstantData& rootConstantData, - const AZStd::string& hlslSourcePath, - const AZStd::string& hlslSourceContent, - const AZStd::string& pathToOmJson, - const AZStd::string& pathToIaJson) - { - const AZStd::string& tempDirPath = request.m_tempDirPath; - RHI::ShaderPlatformInterface::ByProducts byproducts; - - // discover entry points - MapOfStringToStageType shaderEntryPoints; - if (shaderSourceDataDescriptor.m_programSettings.m_entryPoints.empty()) - { - AZ_TracePrintf(ShaderVariantAssetBuilderName, "ProgramSettings do not specify entry points, will use GetDefaultEntryPointsFromShader()\n"); - ShaderBuilderUtility::GetDefaultEntryPointsFromFunctionDataList(azslData.m_functions, shaderEntryPoints); - } - else - { - for (auto& iter : shaderSourceDataDescriptor.m_programSettings.m_entryPoints) - { - shaderEntryPoints[iter.m_name] = iter.m_type; - } - } - - if (!ShaderBuilderUtility::BuildPipelineLayoutDescriptorForApi( - ShaderVariantAssetBuilderName, shaderPlatformInterface, bindingDependencies, srgAssets, shaderEntryPoints, shaderCompilerArguments, &rootConstantData)) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "Failed to build pipeline layout descriptor for api=[%s]", - shaderPlatformInterface->GetAPIName().GetCStr()); - return { false, byproducts }; - } - - ShaderVariantCreationContext variantCreationContext = { Uuid::CreateRandom(), hlslSourcePath, hlslSourceContent, shaderSourceDataDescriptor, - tempDirPath, request.m_platformInfo, shaderOptionGroupLayout, shaderEntryPoints, shaderAssetBuildTimestamp }; - AZ::Outcome, AZStd::string> outcomeForShaderVariantAsset = ShaderVariantAssetBuilder::CreateShaderVariantAssetForAPI( - variantInfo, - variantCreationContext, - *shaderPlatformInterface, - azslData, - shaderCompilerArguments, - pathToOmJson, - pathToIaJson); - if (!outcomeForShaderVariantAsset.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "Failed to generate shader variant with StableId [%u] for API [%s]: %s" - , variantInfo.m_stableId, shaderPlatformInterface->GetAPIName().GetCStr(), outcomeForShaderVariantAsset.GetError().c_str()); - return { false, byproducts }; - } - shaderVariantAsset = outcomeForShaderVariantAsset.TakeValue(); - if (variantCreationContext.m_outputByproducts) - { - byproducts = *variantCreationContext.m_outputByproducts; - } - return { true, byproducts }; - } - void ShaderVariantAssetBuilder::ProcessShaderVariantJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const { + const AZStd::sys_time_t startTime = AZStd::GetTimeNowTicks(); AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); AZStd::string fullPath; @@ -625,419 +621,190 @@ namespace AZ const auto& jobParameters = request.m_jobDescription.m_jobParameters; const AZStd::string& shaderSourceFileFullPath = jobParameters.at(ShaderSourceFilePathJobParam); + AZStd::string shaderFileName; + AzFramework::StringFunc::Path::GetFileName(shaderSourceFileFullPath.c_str(), shaderFileName); + const AZStd::string& variantJsonString = jobParameters.at(ShaderVariantJobVariantParam); RPI::ShaderVariantListSourceData::VariantInfo variantInfo; - const bool toJsonStringSuccess = AZ::RPI::JsonUtils::LoadObjectFromJsonString(variantJsonString, variantInfo); - AZ_Assert(toJsonStringSuccess, "Failed to convert json string to VariantInfo"); - - auto shaderAssetOutcome = RPI::AssetUtils::LoadAsset(shaderSourceFileFullPath); - if (!shaderAssetOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "The shader path [%s] could not be loaded.", shaderSourceFileFullPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - Data::Asset shaderAsset = shaderAssetOutcome.TakeValue(); + const bool fromJsonStringSuccess = AZ::RPI::JsonUtils::LoadObjectFromJsonString(variantJsonString, variantInfo); + AZ_Assert(fromJsonStringSuccess, "Failed to convert json string to VariantInfo"); RPI::ShaderSourceData shaderSourceDescriptor; AZStd::shared_ptr sources = ShaderBuilderUtility::PrepareSourceInput(ShaderVariantAssetBuilderName, shaderSourceFileFullPath, shaderSourceDescriptor); + // set the input file for eventual error messages, but the compiler won't be called on it. + AzslCompiler azslc(sources->m_azslSourceFullPath); + // Request the list of valid shader platform interfaces for the target platform. - AZStd::vector platformInterfaces; - ShaderPlatformInterfaceRequestBus::BroadcastResult(platformInterfaces, &ShaderPlatformInterfaceRequest::GetShaderPlatformInterface, request.m_platformInfo); + AZStd::vector platformInterfaces = + ShaderBuilderUtility::DiscoverEnabledShaderPlatformInterfaces(request.m_platformInfo, shaderSourceDescriptor); + if (platformInterfaces.empty()) + { + // No work to do. Exit gracefully. + AZ_TracePrintf(ShaderVariantAssetBuilderName, + "No azshader is produced on behalf of %s because all valid RHI backends were disabled for this shader.\n", + shaderSourceFileFullPath.c_str()); + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; + return; + } + + auto supervariantList = ShaderBuilderUtility::GetSupervariantListFromShaderSourceData(shaderSourceDescriptor); + + GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderVariantAssetBuilderName); + // At this moment We have global build options that should be merged with the build options that are common + // to all the supervariants of this shader. + buildOptions.m_compilerArguments.Merge(shaderSourceDescriptor.m_compiler); + + //! The ShaderOptionGroupLayout is common across all RHIs & Supervariants + RPI::Ptr shaderOptionGroupLayout = nullptr; + // Generate shaders for each of those ShaderPlatformInterfaces. for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) { - // Null backend is special and does not require any processing. - if (shaderPlatformInterface->GetAPIUniqueIndex() == static_cast(AZ::RHI::APIIndex::Null)) - { - continue; - } - AZ_TraceContext("ShaderPlatformInterface", shaderPlatformInterface->GetAPIName().GetCStr()); - if (shaderSourceDescriptor.IsRhiBackendDisabled(shaderPlatformInterface->GetAPIName())) + // Loop through all the Supervariants. + uint32_t supervariantIndexCounter = 0; + for (const auto& supervariantInfo : supervariantList) { - // Gracefully do nothing and continue with the next shaderPlatformInterface. - AZ_TracePrintf( - ShaderVariantAssetBuilderName, "Skipping shader variant compilation of [%s] with StableId [%u] for API [%s]\n", - shaderSourceFileFullPath.c_str(), variantInfo.m_stableId, shaderPlatformInterface->GetAPIName().GetCStr()); - continue; - } + RPI::SupervariantIndex supervariantIndex(supervariantIndexCounter); - if (!shaderPlatformInterface) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "ShaderPlatformInterface for [%s] is not registered, can't compile [%s]", request.m_platformInfo.m_identifier.c_str(), shaderSourceFileFullPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } + // Check if we were canceled before we do any heavy processing of + // the shader variant data. + if (jobCancelListener.IsCancelled()) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; + return; + } - // Check if we were canceled before we do any heavy processing of - // the shader variant data. - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } + AZStd::string shaderStemNamePrefix = shaderFileName; + if (supervariantIndex.GetIndex() > 0) + { + shaderStemNamePrefix += supervariantInfo.m_name.GetStringView(); + } - ShaderResourceGroupAssets srgAssets; - RPI::Ptr shaderOptionGroupLayout = RPI::ShaderOptionGroupLayout::Create(); - AzslData azslData(sources); - if (!azslData.m_sources) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } + // We need these additional pieces of information To build a shader variant asset: + // 1- ShaderOptionsGroupLayout (Need to load it once, because it's the same acrosss all supervariants + RHIs) + // 2- entryFunctions + // 3- hlsl code. - // Load shader reflections - auto azslArtifactsOutcome = ShaderBuilderUtility::ObtainBuildArtifactsFromAzslBuilder( - ShaderVariantAssetBuilderName, azslData.m_sources->m_azslSourceFullPath, shaderPlatformInterface->GetAPIType(), request.m_platformInfo.m_identifier); - if (!azslArtifactsOutcome.IsSuccess()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } + // 1- ShaderOptionsGroupLayout + if (!shaderOptionGroupLayout) + { + shaderOptionGroupLayout = + LoadShaderOptionsGroupLayoutFromShaderAssetBuilder( + shaderPlatformInterface, request.m_platformInfo, azslc, shaderSourceFileFullPath, supervariantIndex); + if (!shaderOptionGroupLayout) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + } - BindingDependencies bindingDependencies; - RootConstantData rootConstantData; - AssetBuilderSDK::ProcessJobResultCode prepareResult = ShaderBuilderUtility::PopulateAzslDataFromJsonFiles( - ShaderVariantAssetBuilderName, - azslArtifactsOutcome.GetValue(), - azslData, - srgAssets, - shaderOptionGroupLayout, - bindingDependencies, - rootConstantData); - if (prepareResult != AssetBuilderSDK::ProcessJobResult_Success) - { - response.m_resultCode = prepareResult; - return; - } + // 2- entryFunctions. + AzslFunctions azslFunctions; + LoadShaderFunctionsFromShaderAssetBuilder( + shaderPlatformInterface, request.m_platformInfo, azslc, shaderSourceFileFullPath, supervariantIndex, azslFunctions); + if (azslFunctions.empty()) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + MapOfStringToStageType shaderEntryPoints; + if (shaderSourceDescriptor.m_programSettings.m_entryPoints.empty()) + { + AZ_TracePrintf( + ShaderVariantAssetBuilderName, + "ProgramSettings do not specify entry points, will use GetDefaultEntryPointsFromShader()\n"); + ShaderBuilderUtility::GetDefaultEntryPointsFromFunctionDataList(azslFunctions, shaderEntryPoints); + } + else + { + for (const auto& entryPoint : shaderSourceDescriptor.m_programSettings.m_entryPoints) + { + shaderEntryPoints[entryPoint.m_name] = entryPoint.m_type; + } + } - AZStd::string hlslSourcePath = azslArtifactsOutcome.GetValue()[ShaderBuilderUtility::AzslSubProducts::hlsl]; - Outcome hlslSourceContent = Utils::ReadFile(hlslSourcePath); - if (!hlslSourceContent.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "Failed to obtain shader source from %s. [%s]", hlslSourcePath.c_str(), hlslSourceContent.TakeError().c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } + // 3- hlslCode + AZStd::string hlslSourcePath; + AZStd::string hlslCode = LoadHlslFileFromShaderAssetBuilder( + shaderPlatformInterface, request.m_platformInfo, shaderSourceFileFullPath, supervariantIndex, hlslSourcePath); + if (hlslCode.empty() || hlslSourcePath.empty()) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } - GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderVariantAssetBuilderName); + // Setup the shader variant creation context: + ShaderVariantCreationContext shaderVariantCreationContext = + { + *shaderPlatformInterface, request.m_platformInfo, buildOptions.m_compilerArguments, request.m_tempDirPath, + startTime, + shaderSourceDescriptor, + *shaderOptionGroupLayout.get(), + shaderEntryPoints, + Uuid::CreateRandom(), + shaderStemNamePrefix, + hlslSourcePath, hlslCode + }; - auto shaderSourceLoadResult = ShaderBuilderUtility::LoadShaderDataJson(shaderSourceFileFullPath); - if (!shaderSourceLoadResult.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "Failed to load/parse Shader Descriptor JSON: %s", shaderSourceLoadResult.GetError().c_str()); - return; - } + AZStd::optional outputByproducts; + auto shaderVariantAssetOutcome = CreateShaderVariantAsset(variantInfo, shaderVariantCreationContext, outputByproducts); + if (!shaderVariantAssetOutcome.IsSuccess()) + { + AZ_Error(ShaderVariantAssetBuilderName, false, "%s\n", shaderVariantAssetOutcome.GetError().c_str()); + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + Data::Asset shaderVariantAsset = shaderVariantAssetOutcome.TakeValue(); - // The idea of this merge is that we have compiler options coming from 2 source: - // global options (from project Config/), and .shader options. - // We define a merge behavior that is: ".shader wins if set" - RHI::ShaderCompilerArguments mergedArguments = buildOptions.m_compilerArguments; - mergedArguments.Merge(shaderSourceLoadResult.GetValue().m_compiler); - Data::Asset shaderVariantAsset; - auto [success, byproducts] = CompileShaderVariantForAPI( - shaderVariantAsset, - shaderPlatformInterface, - azslData, - mergedArguments, - *shaderOptionGroupLayout, - shaderSourceDescriptor, - shaderAsset->GetShaderAssetBuildTimestamp(), - variantInfo, - srgAssets, - request, - bindingDependencies, - rootConstantData, - hlslSourcePath, - hlslSourceContent.GetValue(), - azslArtifactsOutcome.GetValue()[ShaderBuilderUtility::AzslSubProducts::om], - azslArtifactsOutcome.GetValue()[ShaderBuilderUtility::AzslSubProducts::ia]); - if (!success) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } + // Time to save the asset in the tmp folder so it ends up in the Cache folder. + const uint32_t productSubID = RPI::ShaderVariantAsset::MakeAssetProductSubId( + shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex.GetIndex(), + shaderVariantAsset->GetStableId()); + AssetBuilderSDK::JobProduct assetProduct; + if (!SerializeOutShaderVariantAsset(shaderVariantAsset, shaderStemNamePrefix, + request.m_tempDirPath, *shaderPlatformInterface, productSubID, + assetProduct)) + { + response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; + return; + } + response.m_outputProducts.push_back(assetProduct); - // Time to save the asset in the cache tmp folder. - const uint32_t productSubID = RPI::ShaderVariantAsset::MakeAssetProductSubId(shaderPlatformInterface->GetAPIUniqueIndex(), shaderVariantAsset->GetStableId()); - AssetBuilderSDK::JobProduct assetProduct; - if (!SerializeOutShaderVariantAsset(shaderVariantAsset, shaderSourceFileFullPath, request.m_tempDirPath, *shaderPlatformInterface, productSubID, assetProduct)) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - response.m_outputProducts.push_back(assetProduct); - - // add byproducts as job output products: - uint32_t subProductType = aznumeric_cast(RPI::ShaderAssetSubId::GeneratedHlslSource) + 1; - for (const AZStd::string& byproduct : byproducts.m_intermediatePaths) - { - AssetBuilderSDK::JobProduct jobProduct; - jobProduct.m_productFileName = byproduct; - jobProduct.m_productAssetType = Uuid::CreateName("DebugInfoByProduct-PdbOrDxilTxt"); - jobProduct.m_productSubID = RPI::ShaderVariantAsset::MakeAssetProductSubId( - shaderPlatformInterface->GetAPIType(), shaderVariantAsset->GetStableId(), subProductType++); - response.m_outputProducts.push_back(AZStd::move(jobProduct)); - } + if (outputByproducts) + { + // add byproducts as job output products: + uint32_t subProductType = RPI::ShaderVariantAsset::ShaderVariantAssetSubProductType; + for (const AZStd::string& byproduct : outputByproducts.value().m_intermediatePaths) + { + AssetBuilderSDK::JobProduct jobProduct; + jobProduct.m_productFileName = byproduct; + jobProduct.m_productAssetType = Uuid::CreateName("DebugInfoByProduct-PdbOrDxilTxt"); + jobProduct.m_productSubID = RPI::ShaderVariantAsset::MakeAssetProductSubId( + shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex.GetIndex(), shaderVariantAsset->GetStableId(), + subProductType++); + response.m_outputProducts.push_back(AZStd::move(jobProduct)); + } + } + supervariantIndexCounter++; + } // End of supervariant for block + } response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; } - static bool CreateShaderVariant( - ShaderVariantCreationContext& variantCreationContext, - const AzslData& azslData, - const RHI::ShaderCompilerArguments& shaderCompilerArguments, - RHI::ShaderPlatformInterface& shaderPlatformInterface, - const size_t colorAttachmentCount, - const RPI::ShaderVariantStableId variantStableId, - RPI::ShaderVariantAssetCreator& variantCreator) - { - bool isVariantValid = true; - - bool hasRasterProgram = false; - bool hasComputeProgram = false; - bool hasRayTracingProgram = false; - - const AZStd::unordered_map& shaderEntryPoints = variantCreationContext.m_shaderEntryPoints; - for (const auto& shaderEntryPoint : shaderEntryPoints) - { - auto shaderEntryName = shaderEntryPoint.first; - auto shaderStageType = shaderEntryPoint.second; - - AZ_TracePrintf(ShaderVariantAssetBuilderName, "Entry Point: %s", shaderEntryName.c_str()); - AZ_TracePrintf(ShaderVariantAssetBuilderName, "Begin compiling shader function \"%s\"", shaderEntryName.c_str()); - - auto assetBuilderShaderType = ShaderBuilderUtility::ToAssetBuilderShaderType(shaderStageType); - - AZStd::string variantShaderSourcePath; - - // Check if we need to prepend any code prefix - if (!azslData.m_shaderCodePrefix.empty()) - { - // Prepend any shader code prefix that we should apply to this variant - // and save it back to a file. - AZStd::string variantShaderSourceString(azslData.m_shaderCodePrefix); - variantShaderSourceString += variantCreationContext.m_hlslSourceContent; - - AZStd::string shaderAssetName = AZStd::string::format("%s_%s_%s_%u.hlsl", azslData.m_sources->m_azslFileName.c_str(), shaderEntryName.c_str(), - shaderPlatformInterface.GetAPIName().GetCStr(), variantStableId.GetIndex()); - AzFramework::StringFunc::Path::Join(variantCreationContext.m_tempDirPath.c_str(), shaderAssetName.c_str(), variantShaderSourcePath, true, true); - - auto outcome = Utils::WriteFile(variantShaderSourceString, variantShaderSourcePath); - if (!outcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "Failed to create file %s", variantShaderSourcePath.c_str()); - return false; - } - } - else - { - variantShaderSourcePath = variantCreationContext.m_hlslSourcePath; - } - - // Compile HLSL to the platform specific shader. - RHI::ShaderPlatformInterface::StageDescriptor descriptor; - bool shaderWasCompiled = shaderPlatformInterface.CompilePlatformInternal( - variantCreationContext.m_platformInfo, - variantShaderSourcePath, - shaderEntryName, - assetBuilderShaderType, - variantCreationContext.m_tempDirPath, - descriptor, - shaderCompilerArguments); - - if (!shaderWasCompiled) - { - isVariantValid = false; - AZ_Error(ShaderVariantAssetBuilderName, false, "Could not compile the shader function %s", shaderEntryName.c_str()); - continue; // Using continue to report all the errors found - } - // bubble up the byproducts to the caller by moving them to the context. - variantCreationContext.m_outputByproducts.emplace(AZStd::move(descriptor.m_byProducts)); - - hasRasterProgram |= shaderPlatformInterface.IsShaderStageForRaster(assetBuilderShaderType); - hasComputeProgram |= shaderPlatformInterface.IsShaderStageForCompute(assetBuilderShaderType); - hasRayTracingProgram |= shaderPlatformInterface.IsShaderStageForRayTracing(assetBuilderShaderType); - - RHI::Ptr shaderStageFunction = shaderPlatformInterface.CreateShaderStageFunction(descriptor); - variantCreator.SetShaderFunction(ToRHIShaderStage(assetBuilderShaderType), shaderStageFunction); - - if (descriptor.m_byProducts.m_dynamicBranchCount != AZ::RHI::ShaderPlatformInterface::ByProducts::UnknownDynamicBranchCount) - { - AZ_TracePrintf(ShaderVariantAssetBuilderName, "Finished compiling shader function. Number of dynamic branches: %u", descriptor.m_byProducts.m_dynamicBranchCount); - } - else - { - AZ_TracePrintf(ShaderVariantAssetBuilderName, "Finished compiling shader function. Number of dynamic branches: unknown"); - } - } - - if (hasRasterProgram && hasComputeProgram) - { - AZ_Error(ShaderVariantAssetBuilderName, false, "Shader asset descriptor has a program variant that defines both a raster entry point and a compute entry point."); - isVariantValid = false; - } - - if (!hasRasterProgram && !hasComputeProgram && !hasRayTracingProgram) - { - AZStd::string entryPointNames = ShaderBuilderUtility::GetAcceptableDefaultEntryPointNames(azslData); - - AZ_Error(ShaderVariantAssetBuilderName, false, "Shader asset descriptor has a program variant that does not define any entry points. Either declare entry points in the .shader file, or use one of the available default names (not case-sensitive): [%s]", entryPointNames.data()); - - isVariantValid = false; - } - - if (isVariantValid && hasRasterProgram) - { - // Set the various states to what is in the descriptor first as this gives us - // the baseline. Then whatever is specified in the variant overrides the baseline - // and that will be used by the runtime. - - RHI::TargetBlendState targetBlendState = variantCreationContext.m_shaderSourceDataDescriptor.m_blendState; - RHI::DepthStencilState depthStencilState = variantCreationContext.m_shaderSourceDataDescriptor.m_depthStencilState; - RHI::RasterState rasterState = variantCreationContext.m_shaderSourceDataDescriptor.m_rasterState; - - // [GFX TODO][ATOM-930] - Shader Variant System Phase 2 - Investigation and Prototyping - // The entire Q3 epic will deal will prototyping different shader variants approaches - // A lot of code in prototype stage is disabled before a clearer vision for the system - // is in place, including the unclear way to set states below. - // RHI::MergeStateInto() needs to be further reviewed because it's not possible to - // override the base state with a variant state which sets a default value (for example) - // The states are further duplicated which suggest that they could instead just exist - // as variants and skip the merge step. This code, if it persists, should move to ShaderDataParser - // RHI::MergeStateInto(programVariant.m_blendState, targetBlendState); - // RHI::MergeStateInto(programVariant.m_depthStencilState.m_depth, depthStencilState.m_depth); - // RHI::MergeStateInto(programVariant.m_depthStencilState.m_stencil, depthStencilState.m_stencil); - // RHI::MergeStateInto(programVariant.m_rasterState, rasterState); - - RHI::RenderStates renderStates; - renderStates.m_rasterState = rasterState; - renderStates.m_depthStencilState = depthStencilState; - // [GFX TODO][ATOM-930] We should support unique blend states per RT - for (size_t i = 0; i < colorAttachmentCount; ++i) - { - renderStates.m_blendState.m_targets[i] = targetBlendState; - } - - variantCreator.SetRenderStates(renderStates); - } - - return isVariantValid; - } - - - AZ::Outcome, AZStd::string> ShaderVariantAssetBuilder::CreateShaderVariantAssetForAPI( - const RPI::ShaderVariantListSourceData::VariantInfo& variantInfo, - ShaderVariantCreationContext& variantCreationContext, - RHI::ShaderPlatformInterface& shaderPlatformInterface, - AzslData& azslData, - const RHI::ShaderCompilerArguments& shaderCompilerArguments, - const AZStd::string& pathToOmJson, - const AZStd::string& pathToIaJson) - { - RPI::ShaderInputContract shaderInputContract; - RPI::ShaderOutputContract shaderOutputContract; - size_t colorAttachmentCount = 0; - ShaderBuilderUtility::CreateShaderInputAndOutputContracts(azslData, variantCreationContext.m_shaderEntryPoints, variantCreationContext.m_shaderOptionGroupLayout, pathToOmJson, - pathToIaJson, shaderInputContract, shaderOutputContract, colorAttachmentCount); - - const RPI::ShaderOptionGroupLayout& shaderOptionGroupLayout = variantCreationContext.m_shaderOptionGroupLayout; - // Temporary structure used for sorting and caching intermediate results - struct OptionCache - { - AZ::Name m_optionName; - AZ::Name m_valueName; - RPI::ShaderOptionIndex m_optionIndex; // Cached m_optionName - RPI::ShaderOptionValue m_value; // Cached m_valueName - }; - AZStd::vector optionList; - // We can not have more options than the number of options in the layout: - optionList.reserve(variantCreationContext.m_shaderOptionGroupLayout.GetShaderOptionCount()); - - // This loop will validate and cache the indices for each option value: - for (const auto& shaderOption : variantInfo.m_options) - { - Name optionName{ shaderOption.first }; - Name optionValue{ shaderOption.second }; - - RPI::ShaderOptionIndex optionIndex = shaderOptionGroupLayout.FindShaderOptionIndex(optionName); - if (optionIndex.IsNull()) - { - return AZ::Failure(AZStd::string::format("Invalid shader option: %s", optionName.GetCStr())); - } - - const RPI::ShaderOptionDescriptor& option = shaderOptionGroupLayout.GetShaderOption(optionIndex); - RPI::ShaderOptionValue value = option.FindValue(optionValue); - if (value.IsNull()) - { - return AZ::Failure(AZStd::string::format("Invalid value (%s) for shader option: %s", optionValue.GetCStr(), optionName.GetCStr())); - } - - optionList.push_back(OptionCache{ optionName, optionValue, optionIndex, value }); - } - - // Create one instance of the shader variant - RPI::ShaderOptionGroup optionGroup(&shaderOptionGroupLayout); - - // m_shaderCodePrefix contains preprocessing macro defines to switch options on and off in our shader binary - // Clear it for this variant so we can add each option as we define it - azslData.m_shaderCodePrefix.clear(); - - // We want to go over all options listed in the variant and set their respective values - // This loop will populate the optionGroup and m_shaderCodePrefix in order of the option priority - for (const auto& optionCache : optionList) - { - const RPI::ShaderOptionDescriptor& option = shaderOptionGroupLayout.GetShaderOption(optionCache.m_optionIndex); - - // Assign the option value specified in the variant: - option.Set(optionGroup, optionCache.m_value); - - // Populate all shader option defines. We have already confirmed they're valid. - azslData.m_shaderCodePrefix += AZStd::string::format("#define %s_OPTION_DEF %s\n", optionCache.m_optionName.GetCStr(), optionCache.m_valueName.GetCStr()); - } - - AZ_TracePrintf(ShaderVariantAssetBuilderName, "Variant StableId: %u", variantInfo.m_stableId); - AZ_TracePrintf(ShaderVariantAssetBuilderName, "Variant Shader Options: %s", optionGroup.ToString().c_str()); - - const RPI::ShaderVariantStableId shaderVariantStableId{variantInfo.m_stableId}; - - // By this time the optionGroup was populated with all option values for the variant and - // the m_shaderCodePrefix contains all option related preprocessing macros - // Let's add the requested variant: - RPI::ShaderVariantAssetCreator shaderVariantAssetCreator; - shaderVariantAssetCreator.Begin(variantCreationContext.m_assetId, optionGroup.GetShaderVariantId(), shaderVariantStableId, & shaderOptionGroupLayout); - shaderVariantAssetCreator.SetShaderAssetBuildTimestamp(variantCreationContext.m_shaderAssetBuildTimestamp); - shaderVariantAssetCreator.SetInputContract(shaderInputContract); - shaderVariantAssetCreator.SetOutputContract(shaderOutputContract); - - if (!CreateShaderVariant( - variantCreationContext, - azslData, - shaderCompilerArguments, - shaderPlatformInterface, - colorAttachmentCount, - shaderVariantStableId, - shaderVariantAssetCreator)) - { - return AZ::Failure(AZStd::string::format("Failed to create shader variant with StableId=%u", shaderVariantStableId.GetIndex())); - } - - Data::Asset shaderVariantAsset; - shaderVariantAssetCreator.End(shaderVariantAsset); - return AZ::Success(AZStd::move(shaderVariantAsset)); - } - - bool ShaderVariantAssetBuilder::SerializeOutShaderVariantAsset(const Data::Asset shaderVariantAsset, const AZStd::string& shaderSourceFileFullPath, const AZStd::string& tempDirPath, + bool ShaderVariantAssetBuilder::SerializeOutShaderVariantAsset( + const Data::Asset shaderVariantAsset, const AZStd::string& shaderStemNamePrefix, + const AZStd::string& tempDirPath, const RHI::ShaderPlatformInterface& shaderPlatformInterface, const uint32_t productSubID, AssetBuilderSDK::JobProduct& assetProduct) { - AZStd::string shaderName; - AzFramework::StringFunc::Path::Split(shaderSourceFileFullPath.c_str(), nullptr /*drive*/, nullptr /*path*/, &shaderName, nullptr /*extension*/); - AZStd::string filename = AZStd::string::format("%s_%s_%u.%s", shaderName.c_str(), shaderPlatformInterface.GetAPIName().GetCStr(), shaderVariantAsset->GetStableId().GetIndex(), RPI::ShaderVariantAsset::Extension); + AZStd::string filename = AZStd::string::format( + "%s_%s_%u.%s", shaderStemNamePrefix.c_str(), shaderPlatformInterface.GetAPIName().GetCStr(), + shaderVariantAsset->GetStableId().GetIndex(), RPI::ShaderVariantAsset::Extension); AZStd::string assetPath; AzFramework::StringFunc::Path::ConstructFull(tempDirPath.c_str(), filename.c_str(), assetPath, true); @@ -1057,5 +824,154 @@ namespace AZ return true; } + + AZ::Outcome, AZStd::string> ShaderVariantAssetBuilder::CreateShaderVariantAsset( + const RPI::ShaderVariantListSourceData::VariantInfo& shaderVariantInfo, + ShaderVariantCreationContext& creationContext, + AZStd::optional& outputByproducts) + { + // Temporary structure used for sorting and caching intermediate results + struct OptionCache + { + AZ::Name m_optionName; + AZ::Name m_valueName; + RPI::ShaderOptionIndex m_optionIndex; // Cached m_optionName + RPI::ShaderOptionValue m_value; // Cached m_valueName + }; + AZStd::vector optionList; + // We can not have more options than the number of options in the layout: + optionList.reserve(creationContext.m_shaderOptionGroupLayout.GetShaderOptionCount()); + + // This loop will validate and cache the indices for each option value: + for (const auto& shaderOption : shaderVariantInfo.m_options) + { + Name optionName{shaderOption.first}; + Name optionValue{shaderOption.second}; + + RPI::ShaderOptionIndex optionIndex = creationContext.m_shaderOptionGroupLayout.FindShaderOptionIndex(optionName); + if (optionIndex.IsNull()) + { + return AZ::Failure(AZStd::string::format("Invalid shader option: %s", optionName.GetCStr())); + } + + const RPI::ShaderOptionDescriptor& option = creationContext.m_shaderOptionGroupLayout.GetShaderOption(optionIndex); + RPI::ShaderOptionValue value = option.FindValue(optionValue); + if (value.IsNull()) + { + return AZ::Failure( + AZStd::string::format("Invalid value (%s) for shader option: %s", optionValue.GetCStr(), optionName.GetCStr())); + } + + optionList.push_back(OptionCache{optionName, optionValue, optionIndex, value}); + } + + // Create one instance of the shader variant + RPI::ShaderOptionGroup optionGroup(&creationContext.m_shaderOptionGroupLayout); + + //! Contains the series of #define macro values that define a variant. Can be empty (root variant). + //! If this string is NOT empty, a new temporary hlsl file will be created that will be the combination + //! of this string + @m_hlslSourceContent. + AZStd::string hlslCodeToPrependForVariant; + + // We want to go over all options listed in the variant and set their respective values + // This loop will populate the optionGroup and m_shaderCodePrefix in order of the option priority + for (const auto& optionCache : optionList) + { + const RPI::ShaderOptionDescriptor& option = creationContext.m_shaderOptionGroupLayout.GetShaderOption(optionCache.m_optionIndex); + + // Assign the option value specified in the variant: + option.Set(optionGroup, optionCache.m_value); + + // Populate all shader option defines. We have already confirmed they're valid. + hlslCodeToPrependForVariant += AZStd::string::format( + "#define %s_OPTION_DEF %s\n", optionCache.m_optionName.GetCStr(), optionCache.m_valueName.GetCStr()); + } + + AZStd::string variantShaderSourcePath; + // Check if we need to prepend any code prefix + if (!hlslCodeToPrependForVariant.empty()) + { + // Prepend any shader code prefix that we should apply to this variant + // and save it back to a file. + AZStd::string variantShaderSourceString(hlslCodeToPrependForVariant); + variantShaderSourceString += creationContext.m_hlslSourceContent; + + AZStd::string shaderAssetName = AZStd::string::format( + "%s_%s_%u.hlsl", creationContext.m_shaderStemNamePrefix.c_str(), + creationContext.m_shaderPlatformInterface.GetAPIName().GetCStr(), shaderVariantInfo.m_stableId); + AzFramework::StringFunc::Path::Join( + creationContext.m_tempDirPath.c_str(), shaderAssetName.c_str(), variantShaderSourcePath, true, true); + + auto outcome = Utils::WriteFile(variantShaderSourceString, variantShaderSourcePath); + if (!outcome.IsSuccess()) + { + return AZ::Failure(AZStd::string::format("Failed to create file %s", variantShaderSourcePath.c_str())); + } + } + else + { + variantShaderSourcePath = creationContext.m_hlslSourcePath; + } + + AZ_TracePrintf(ShaderVariantAssetBuilderName, "Variant StableId: %u", shaderVariantInfo.m_stableId); + AZ_TracePrintf(ShaderVariantAssetBuilderName, "Variant Shader Options: %s", optionGroup.ToString().c_str()); + + const RPI::ShaderVariantStableId shaderVariantStableId{shaderVariantInfo.m_stableId}; + + // By this time the optionGroup was populated with all option values for the variant and + // the m_shaderCodePrefix contains all option related preprocessing macros + // Let's add the requested variant: + RPI::ShaderVariantAssetCreator variantCreator; + RPI::ShaderOptionGroup shaderOptions{&creationContext.m_shaderOptionGroupLayout, optionGroup.GetShaderVariantId()}; + variantCreator.Begin( + creationContext.m_shaderVariantAssetId, optionGroup.GetShaderVariantId(), shaderVariantStableId, + shaderOptions.IsFullySpecified()); + variantCreator.SetBuildTimestamp(creationContext.m_assetBuildTimestamp); + + const AZStd::unordered_map& shaderEntryPoints = creationContext.m_shaderEntryPoints; + for (const auto& shaderEntryPoint : shaderEntryPoints) + { + auto shaderEntryName = shaderEntryPoint.first; + auto shaderStageType = shaderEntryPoint.second; + + AZ_TracePrintf(ShaderVariantAssetBuilderName, "Entry Point: %s", shaderEntryName.c_str()); + AZ_TracePrintf(ShaderVariantAssetBuilderName, "Begin compiling shader function \"%s\"", shaderEntryName.c_str()); + + auto assetBuilderShaderType = ShaderBuilderUtility::ToAssetBuilderShaderType(shaderStageType); + + // Compile HLSL to the platform specific shader. + RHI::ShaderPlatformInterface::StageDescriptor descriptor; + bool shaderWasCompiled = creationContext.m_shaderPlatformInterface.CompilePlatformInternal( + creationContext.m_platformInfo, variantShaderSourcePath, shaderEntryName, assetBuilderShaderType, + creationContext.m_tempDirPath, descriptor, creationContext.m_shaderCompilerArguments); + + if (!shaderWasCompiled) + { + return AZ::Failure(AZStd::string::format("Could not compile the shader function %s", shaderEntryName.c_str())); + } + // bubble up the byproducts to the caller by moving them to the context. + outputByproducts.emplace(AZStd::move(descriptor.m_byProducts)); + + RHI::Ptr shaderStageFunction = creationContext.m_shaderPlatformInterface.CreateShaderStageFunction(descriptor); + variantCreator.SetShaderFunction(ToRHIShaderStage(assetBuilderShaderType), shaderStageFunction); + + if (descriptor.m_byProducts.m_dynamicBranchCount != AZ::RHI::ShaderPlatformInterface::ByProducts::UnknownDynamicBranchCount) + { + AZ_TracePrintf( + ShaderVariantAssetBuilderName, "Finished compiling shader function. Number of dynamic branches: %u", + descriptor.m_byProducts.m_dynamicBranchCount); + } + else + { + AZ_TracePrintf( + ShaderVariantAssetBuilderName, "Finished compiling shader function. Number of dynamic branches: unknown"); + } + } + + Data::Asset shaderVariantAsset; + variantCreator.End(shaderVariantAsset); + return AZ::Success(AZStd::move(shaderVariantAsset)); + } + } // ShaderBuilder } // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.h index 84ab4fbc70..45bfd54e94 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.h +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.h @@ -29,25 +29,34 @@ namespace AZ { struct AzslData; + //! This is nothing more than a class to help consolidate all + //! the data needed to generate a shader variant and prevent + //! all the functions involved in the process to have too many + //! arguments. struct ShaderVariantCreationContext { - const Data::AssetId m_assetId; - const AZStd::string& m_hlslSourcePath; - const AZStd::string& m_hlslSourceContent; - const RPI::ShaderSourceData& m_shaderSourceDataDescriptor; - const AZStd::string& m_tempDirPath; //! Used to write temporary files during shader compilation, like *.hlsl, or *.air, or *.metallib, etc. + RHI::ShaderPlatformInterface& m_shaderPlatformInterface; const AssetBuilderSDK::PlatformInfo& m_platformInfo; + const RHI::ShaderCompilerArguments& m_shaderCompilerArguments; + //! Used to write temporary files during shader compilation, like *.hlsl, or *.air, or *.metallib, etc. + const AZStd::string& m_tempDirPath; + //! Used to synchronize versions of the ShaderAsset and ShaderVariantAsset, + //! especially during hot-reload. A (ShaderVariantAsset.timestamp) >= (ShaderAsset.timestamp). + const AZStd::sys_time_t m_assetBuildTimestamp; + const RPI::ShaderSourceData& m_shaderSourceDataDescriptor; const RPI::ShaderOptionGroupLayout& m_shaderOptionGroupLayout; const MapOfStringToStageType& m_shaderEntryPoints; - AZStd::sys_time_t m_shaderAssetBuildTimestamp; //!< Copied from the ShaderAsset, used to synchronize versions of the ShaderAsset and ShaderVariantAsset, especially during hot-reload. - AZStd::optional m_outputByproducts; + const Data::AssetId m_shaderVariantAssetId; + const AZStd::string& m_shaderStemNamePrefix; //- + const AZStd::string& m_hlslSourcePath; + const AZStd::string& m_hlslSourceContent; }; class ShaderVariantAssetBuilder : public AssetBuilderSDK::AssetBuilderCommandBus::Handler { public: - AZ_TYPE_INFO(ShaderVariantAssetBuilder, "{2F84C802-95AF-4B73-9017-2DA9AA8C0C89}"); + AZ_TYPE_INFO(ShaderVariantAssetBuilder, "{C959AEC2-2083-4488-AD88-F61B1144535B}"); static constexpr char ShaderVariantAssetBuilderJobKey[] = "Shader Variant Asset"; @@ -61,16 +70,14 @@ namespace AZ //! The ShaderVariantAsset returned by this function won't be written to the filesystem. //! You should call SerializeOutShaderVariantAsset to write it to the temp folder assigned //! by the asset processor. - static AZ::Outcome, AZStd::string> CreateShaderVariantAssetForAPI( + static AZ::Outcome, AZStd::string> CreateShaderVariantAsset( const RPI::ShaderVariantListSourceData::VariantInfo& shaderVariantInfo, - ShaderVariantCreationContext& context, - RHI::ShaderPlatformInterface& shaderPlatformInterface, - AzslData& azslData, - const RHI::ShaderCompilerArguments& shaderCompilerArguments, - const AZStd::string& pathToOmJson, - const AZStd::string& pathToIaJson); + ShaderVariantCreationContext& creationContext, + AZStd::optional& outputByproducts); - static bool SerializeOutShaderVariantAsset(const Data::Asset shaderVariantAsset, const AZStd::string& shaderFullPath, const AZStd::string& tempDirPath, + static bool SerializeOutShaderVariantAsset( + const Data::Asset shaderVariantAsset, + const AZStd::string& shaderStemNamePrefix, const AZStd::string& tempDirPath, const RHI::ShaderPlatformInterface& shaderPlatformInterface, const uint32_t productSubID, AssetBuilderSDK::JobProduct& assetProduct); // AssetBuilderSDK::AssetBuilderCommandBus interface overrides ... @@ -79,6 +86,11 @@ namespace AZ private: AZ_DISABLE_COPY_MOVE(ShaderVariantAssetBuilder); + static constexpr uint32_t ShaderVariantLoadErrorParam = 0; + static constexpr uint32_t ShaderSourceFilePathJobParam = 2; + static constexpr uint32_t ShaderVariantJobVariantParam = 3; + static constexpr uint32_t ShouldExitEarlyFromProcessJobParam = 4; + //! Called from ProcessJob when the job is supposed to create a ShaderVariantTreeAsset. void ProcessShaderVariantTreeJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const; diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder2.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder2.cpp deleted file mode 100644 index 961e54c7a8..0000000000 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder2.cpp +++ /dev/null @@ -1,978 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -*/ - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "ShaderAssetBuilder2.h" -#include "ShaderBuilderUtility.h" -#include "AzslData.h" -#include "AzslCompiler.h" -#include "AzslBuilder.h" -#include -#include -#include -#include "AtomShaderConfig.h" - -namespace AZ -{ - namespace ShaderBuilder - { - static constexpr char ShaderVariantAssetBuilder2Name[] = "ShaderVariantAssetBuilder2"; - - static void AddShaderAssetJobDependency2( - AssetBuilderSDK::JobDescriptor& jobDescriptor, const AssetBuilderSDK::PlatformInfo& platformInfo, - const AZStd::string& shaderVariantListFilePath, const AZStd::string& shaderFilePath) - { - AZStd::vector possibleDependencies = - AZ::RPI::AssetUtils::GetPossibleDepenencyPaths(shaderVariantListFilePath, shaderFilePath); - for (auto& file : possibleDependencies) - { - AssetBuilderSDK::JobDependency jobDependency; - jobDependency.m_jobKey = ShaderAssetBuilder2::ShaderAssetBuilder2JobKey; - jobDependency.m_platformIdentifier = platformInfo.m_identifier; - jobDependency.m_type = AssetBuilderSDK::JobDependencyType::Order; - jobDependency.m_sourceFile.m_sourceFileDependencyPath = file; - jobDescriptor.m_jobDependencyList.push_back(jobDependency); - } - } - - //! Returns true if @sourceFileFullPath starts with a valid asset processor scan folder, false otherwise. - //! In case of true, it splits @sourceFileFullPath into @scanFolderFullPath and @filePathFromScanFolder. - //! @sourceFileFullPath The full path to a source asset file. - //! @scanFolderFullPath [out] Gets the full path of the scan folder where the source file is located. - //! @filePathFromScanFolder [out] Get the file path relative to @scanFolderFullPath. - static bool SplitSourceAssetPathIntoScanFolderFullPathAndRelativeFilePath2(const AZStd::string& sourceFileFullPath, AZStd::string& scanFolderFullPath, AZStd::string& filePathFromScanFolder) - { - AZStd::vector scanFolders; - bool success = false; - AzToolsFramework::AssetSystemRequestBus::BroadcastResult(success, &AzToolsFramework::AssetSystem::AssetSystemRequest::GetAssetSafeFolders, scanFolders); - if (!success) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Couldn't get the scan folders"); - return false; - } - - for (AZStd::string scanFolder : scanFolders) - { - AzFramework::StringFunc::Path::Normalize(scanFolder); - if (!AZ::StringFunc::StartsWith(sourceFileFullPath, scanFolder)) - { - continue; - } - const size_t scanFolderSize = scanFolder.size(); - const size_t sourcePathSize = sourceFileFullPath.size(); - scanFolderFullPath = scanFolder; - filePathFromScanFolder = sourceFileFullPath.substr(scanFolderSize + 1, sourcePathSize - scanFolderSize - 1); - return true; - } - - return false; - } - - //! Validates if a given .shadervariantlist file is located at the correct path for a given .shader full path. - //! There are two valid paths: - //! 1- Lower Precedence: The same folder where the .shader file is located. - //! 2- Higher Precedence: //ShaderVariants/. - //! The "Higher Precedence" path gives the option to game projects to override what variants to generate. If this - //! file exists then the "Lower Precedence" path is disregarded. - //! A .shader full path is located under an AP scan folder. - //! Example: "/Gems/Atom/Feature/Common/Assets/Materials/Types/StandardPBR_ForwardPass.shader" - //! - In this example the Scan Folder is "/Gems/Atom/Feature/Common/Assets", while the subfolder is "Materials/Types". - //! The "Higher Precedence" expected valid location for the .shadervariantlist would be: - //! - //ShaderVariants/Materials/Types/StandardPBR_ForwardPass.shadervariantlist. - //! The "Lower Precedence" valid location would be: - //! - /Gems/Atom/Feature/Common/Assets/Materials/Types/StandardPBR_ForwardPass.shadervariantlist. - //! @shouldExitEarlyFromProcessJob [out] Set to true if ProcessJob should do no work but return successfully. - //! Set to false if ProcessJob should do work and create assets. - //! When @shaderVariantListFileFullPath is provided by a Gem/Feature instead of the Game Project - //! We check if the game project already defined the shader variant list, and if it did it means - //! ProcessJob should do no work, but return successfully nonetheless. - static bool ValidateShaderVariantListLocation2(const AZStd::string& shaderVariantListFileFullPath, - const AZStd::string& shaderFileFullPath, bool& shouldExitEarlyFromProcessJob) - { - AZStd::string scanFolderFullPath; - AZStd::string shaderProductFileRelativePath; - if (!SplitSourceAssetPathIntoScanFolderFullPathAndRelativeFilePath2(shaderFileFullPath, scanFolderFullPath, shaderProductFileRelativePath)) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Couldn't get the scan folder for shader [%s]", shaderFileFullPath.c_str()); - return false; - } - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "For shader [%s], Scan folder full path [%s], relative file path [%s]", shaderFileFullPath.c_str(), scanFolderFullPath.c_str(), shaderProductFileRelativePath.c_str()); - - AZStd::string shaderVariantListFileRelativePath = shaderProductFileRelativePath; - AzFramework::StringFunc::Path::ReplaceExtension(shaderVariantListFileRelativePath, RPI::ShaderVariantListSourceData::Extension); - - const char * gameProjectPath = nullptr; - AzToolsFramework::AssetSystemRequestBus::BroadcastResult(gameProjectPath, &AzToolsFramework::AssetSystem::AssetSystemRequest::GetAbsoluteDevGameFolderPath); - - AZStd::string expectedHigherPrecedenceFileFullPath; - AzFramework::StringFunc::Path::Join(gameProjectPath, RPI::ShaderVariantTreeAsset::CommonSubFolder, expectedHigherPrecedenceFileFullPath, false /* handle directory overlap? */, false /* be case insensitive? */); - AzFramework::StringFunc::Path::Join(expectedHigherPrecedenceFileFullPath.c_str(), shaderProductFileRelativePath.c_str(), expectedHigherPrecedenceFileFullPath, false /* handle directory overlap? */, false /* be case insensitive? */); - AzFramework::StringFunc::Path::ReplaceExtension(expectedHigherPrecedenceFileFullPath, AZ::RPI::ShaderVariantListSourceData::Extension); - AzFramework::StringFunc::Path::Normalize(expectedHigherPrecedenceFileFullPath); - - AZStd::string normalizedShaderVariantListFileFullPath = shaderVariantListFileFullPath; - AzFramework::StringFunc::Path::Normalize(normalizedShaderVariantListFileFullPath); - - if (expectedHigherPrecedenceFileFullPath == normalizedShaderVariantListFileFullPath) - { - // Whenever the Game Project declares a *.shadervariantlist file we always do work. - shouldExitEarlyFromProcessJob = false; - return true; - } - - AZ::Data::AssetInfo assetInfo; - AZStd::string watchFolder; - bool foundHigherPrecedenceAsset = false; - AzToolsFramework::AssetSystemRequestBus::BroadcastResult(foundHigherPrecedenceAsset - , &AzToolsFramework::AssetSystem::AssetSystemRequest::GetSourceInfoBySourcePath - , expectedHigherPrecedenceFileFullPath.c_str(), assetInfo, watchFolder); - if (foundHigherPrecedenceAsset) - { - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "The shadervariantlist [%s] has been overriden by the game project with [%s]", - normalizedShaderVariantListFileFullPath.c_str(), expectedHigherPrecedenceFileFullPath.c_str()); - shouldExitEarlyFromProcessJob = true; - return true; - } - - // Check the "Lower Precedence" case, .shader path == .shadervariantlist path. - AZStd::string normalizedShaderFileFullPath = shaderFileFullPath; - AzFramework::StringFunc::Path::Normalize(normalizedShaderFileFullPath); - - AZStd::string normalizedShaderFileFullPathWithoutExtension = normalizedShaderFileFullPath; - AzFramework::StringFunc::Path::StripExtension(normalizedShaderFileFullPathWithoutExtension); - - AZStd::string normalizedShaderVariantListFileFullPathWithoutExtension = normalizedShaderVariantListFileFullPath; - AzFramework::StringFunc::Path::StripExtension(normalizedShaderVariantListFileFullPathWithoutExtension); - -#if AZ_TRAIT_OS_USE_WINDOWS_FILE_PATHS - //In certain circumstances, the capitalization of the drive letter may not match - const bool caseSensitive = false; -#else - //On the other platforms there's no drive letter, so it should be a non-issue. - const bool caseSensitive = true; -#endif - if (!StringFunc::Equal(normalizedShaderFileFullPathWithoutExtension.c_str(), normalizedShaderVariantListFileFullPathWithoutExtension.c_str(), caseSensitive)) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "For shader file at path [%s], the shader variant list [%s] is expected to be located at [%s.%s] or [%s]" - , normalizedShaderFileFullPath.c_str(), normalizedShaderVariantListFileFullPath.c_str(), - normalizedShaderFileFullPathWithoutExtension.c_str(), RPI::ShaderVariantListSourceData::Extension, - expectedHigherPrecedenceFileFullPath.c_str()); - return false; - } - - shouldExitEarlyFromProcessJob = false; - return true; - } - - // We treat some issues as warnings and return "Success" from CreateJobs allows us to report the dependency. - // If/when a valid dependency file appears, that will trigger the ShaderVariantAssetBuilder2 to run again. - // Since CreateJobs will pass, we forward this message to ProcessJob which will report it as an error. - struct LoadResult2 - { - enum class Code - { - Error, - DeferredError, - Success - }; - - Code m_code; - AZStd::string m_deferredMessage; // Only used when m_code == DeferredError - }; - - static LoadResult2 LoadShaderVariantList2(const AZStd::string& variantListFullPath, RPI::ShaderVariantListSourceData& shaderVariantList, AZStd::string& shaderSourceFileFullPath, - bool& shouldExitEarlyFromProcessJob) - { - // Need to get the name of the shader file from the template so that we can preprocess the shader data and setup - // source file dependencies. - if (!RPI::JsonUtils::LoadObjectFromFile(variantListFullPath, shaderVariantList)) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Failed to parse Shader Variant List Descriptor JSON from [%s]", variantListFullPath.c_str()); - return LoadResult2{LoadResult2::Code::Error}; - } - - const AZStd::string resolvedShaderPath = AZ::RPI::AssetUtils::ResolvePathReference(variantListFullPath, shaderVariantList.m_shaderFilePath); - if (!AZ::IO::LocalFileIO::GetInstance()->Exists(resolvedShaderPath.c_str())) - { - return LoadResult2{LoadResult2::Code::DeferredError, AZStd::string::format("The shader path [%s] was not found.", resolvedShaderPath.c_str())}; - } - - shaderSourceFileFullPath = resolvedShaderPath; - - if (!ValidateShaderVariantListLocation2(variantListFullPath, shaderSourceFileFullPath, shouldExitEarlyFromProcessJob)) - { - return LoadResult2{LoadResult2::Code::Error}; - } - - if (shouldExitEarlyFromProcessJob) - { - return LoadResult2{LoadResult2::Code::Success}; - } - - auto resultOutcome = RPI::ShaderVariantTreeAssetCreator::ValidateStableIdsAreUnique(shaderVariantList.m_shaderVariants); - if (!resultOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Variant info validation error: %s", resultOutcome.GetError().c_str()); - return LoadResult2{LoadResult2::Code::Error}; - } - - if (!IO::FileIOBase::GetInstance()->Exists(shaderSourceFileFullPath.c_str())) - { - return LoadResult2{LoadResult2::Code::DeferredError, AZStd::string::format("ShaderSourceData file does not exist: %s.", shaderSourceFileFullPath.c_str())}; - } - - return LoadResult2{LoadResult2::Code::Success}; - } // LoadShaderVariantListAndAzslSource - - void ShaderVariantAssetBuilder2::CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const - { - AZStd::string variantListFullPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), variantListFullPath, true); - - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "CreateJobs for Shader Variant List \"%s\"\n", variantListFullPath.data()); - - RPI::ShaderVariantListSourceData shaderVariantList; - AZStd::string shaderSourceFileFullPath; - bool shouldExitEarlyFromProcessJob = false; - const LoadResult2 loadResult = LoadShaderVariantList2(variantListFullPath, shaderVariantList, shaderSourceFileFullPath, shouldExitEarlyFromProcessJob); - - if (loadResult.m_code == LoadResult2::Code::Error) - { - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Failed; - return; - } - - if (loadResult.m_code == LoadResult2::Code::DeferredError || shouldExitEarlyFromProcessJob) - { - for (const AssetBuilderSDK::PlatformInfo& info : request.m_enabledPlatforms) - { - // Let's create fake jobs that will fail ProcessJob, but are useful to establish dependency on the shader file. - AssetBuilderSDK::JobDescriptor jobDescriptor; - - jobDescriptor.m_priority = -5000; - jobDescriptor.m_critical = false; - jobDescriptor.m_jobKey = ShaderVariantAssetBuilder2JobKey; - jobDescriptor.SetPlatformIdentifier(info.m_identifier.data()); - - AddShaderAssetJobDependency2(jobDescriptor, info, variantListFullPath, shaderVariantList.m_shaderFilePath); - - if (loadResult.m_code == LoadResult2::Code::DeferredError) - { - jobDescriptor.m_jobParameters.emplace(ShaderVariantLoadErrorParam, loadResult.m_deferredMessage); - } - - if (shouldExitEarlyFromProcessJob) - { - // The value doesn't matter, what matters is the presence of the key which will - // signal that no assets should be produced on behalf of this shadervariantlist because - // the game project overrode it. - jobDescriptor.m_jobParameters.emplace(ShouldExitEarlyFromProcessJobParam, variantListFullPath); - } - - response.m_createJobOutputs.push_back(jobDescriptor); - } - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success; - return; - } - - for (const AssetBuilderSDK::PlatformInfo& info : request.m_enabledPlatforms) - { - AZ_TraceContext("For platform", info.m_identifier.data()); - - // First job is for the ShaderVariantTreeAsset. - { - AssetBuilderSDK::JobDescriptor jobDescriptor; - - // The ShaderVariantTreeAsset is high priority, but must be generated after the ShaderAsset - jobDescriptor.m_priority = 1; - jobDescriptor.m_critical = false; - - jobDescriptor.m_jobKey = GetShaderVariantTreeAssetJobKey(); - jobDescriptor.SetPlatformIdentifier(info.m_identifier.data()); - - AddShaderAssetJobDependency2(jobDescriptor, info, variantListFullPath, shaderVariantList.m_shaderFilePath); - - jobDescriptor.m_jobParameters.emplace(ShaderSourceFilePathJobParam, shaderSourceFileFullPath); - - response.m_createJobOutputs.push_back(jobDescriptor); - } - - // One job for each variant. Each job will produce one ".azshadervariant" per RHI per supervariant. - for (const AZ::RPI::ShaderVariantListSourceData::VariantInfo& variantInfo : shaderVariantList.m_shaderVariants) - { - AZStd::string variantInfoAsJsonString; - const bool convertSuccess = AZ::RPI::JsonUtils::SaveObjectToJsonString(variantInfo, variantInfoAsJsonString); - AZ_Assert(convertSuccess, "Failed to convert VariantInfo to json string"); - - AssetBuilderSDK::JobDescriptor jobDescriptor; - - // There can be tens/hundreds of thousands of shader variants. By default each shader will get - // a root variant that can be used at runtime. In order to prevent the AssetProcessor from - // being overtaken by shader variant compilation We mark all non-root shader variant generation - // as non critical and very low priority. - jobDescriptor.m_priority = -5000; - jobDescriptor.m_critical = false; - - jobDescriptor.m_jobKey = GetShaderVariantAssetJobKey(RPI::ShaderVariantStableId{variantInfo.m_stableId}); - jobDescriptor.SetPlatformIdentifier(info.m_identifier.data()); - - // The ShaderVariantAssets are job dependent on the ShaderVariantTreeAsset. - AssetBuilderSDK::SourceFileDependency fileDependency; - fileDependency.m_sourceFileDependencyPath = variantListFullPath; - AssetBuilderSDK::JobDependency variantTreeJobDependency; - variantTreeJobDependency.m_jobKey = GetShaderVariantTreeAssetJobKey(); - variantTreeJobDependency.m_platformIdentifier = info.m_identifier; - variantTreeJobDependency.m_sourceFile = fileDependency; - variantTreeJobDependency.m_type = AssetBuilderSDK::JobDependencyType::Order; - jobDescriptor.m_jobDependencyList.emplace_back(variantTreeJobDependency); - - jobDescriptor.m_jobParameters.emplace(ShaderVariantJobVariantParam, variantInfoAsJsonString); - jobDescriptor.m_jobParameters.emplace(ShaderSourceFilePathJobParam, shaderSourceFileFullPath); - - response.m_createJobOutputs.push_back(jobDescriptor); - } - - } - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success; - } // CreateJobs - - void ShaderVariantAssetBuilder2::ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const - { - const auto& jobParameters = request.m_jobDescription.m_jobParameters; - - if (jobParameters.find(ShaderVariantLoadErrorParam) != jobParameters.end()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Error during CreateJobs: %s", jobParameters.at(ShaderVariantLoadErrorParam).c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - if (jobParameters.find(ShouldExitEarlyFromProcessJobParam) != jobParameters.end()) - { - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "Doing nothing on behalf of [%s] because it's been overridden by game project.", jobParameters.at(ShaderVariantLoadErrorParam).c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - return; - } - - AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } - - if (request.m_jobDescription.m_jobKey == GetShaderVariantTreeAssetJobKey()) - { - ProcessShaderVariantTreeJob(request, response); - } - else - { - ProcessShaderVariantJob(request, response); - } - } - - - static RPI::Ptr LoadShaderOptionsGroupLayoutFromShaderAssetBuilder2( - const RHI::ShaderPlatformInterface* shaderPlatformInterface, - const AssetBuilderSDK::PlatformInfo& platformInfo, - const AzslCompiler& azslCompiler, - const AZStd::string& shaderSourceFileFullPath, - const RPI::SupervariantIndex supervariantIndex) - { - auto optionsGroupPathOutcome = ShaderBuilderUtility::ObtainBuildArtifactPathFromShaderAssetBuilder2( - shaderPlatformInterface->GetAPIUniqueIndex(), platformInfo.m_identifier, shaderSourceFileFullPath, supervariantIndex.GetIndex(), - AZ::RPI::ShaderAssetSubId::OptionsJson); - if (!optionsGroupPathOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "%s", optionsGroupPathOutcome.GetError().c_str()); - return nullptr; - } - auto optionsGroupJsonPath = optionsGroupPathOutcome.TakeValue(); - RPI::Ptr shaderOptionGroupLayout = RPI::ShaderOptionGroupLayout::Create(); - // The shader options define what options are available, what are the allowed values/range - // for each option and what is its default value. - auto jsonOutcome = JsonSerializationUtils::ReadJsonFile(optionsGroupJsonPath); - if (!jsonOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "%s", jsonOutcome.GetError().c_str()); - return nullptr; - } - if (!azslCompiler.ParseOptionsPopulateOptionGroupLayout(jsonOutcome.GetValue(), shaderOptionGroupLayout)) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Failed to find a valid list of shader options!"); - return nullptr; - } - - return shaderOptionGroupLayout; - } - - static void LoadShaderFunctionsFromShaderAssetBuilder2( - const RHI::ShaderPlatformInterface* shaderPlatformInterface, const AssetBuilderSDK::PlatformInfo& platformInfo, - const AzslCompiler& azslCompiler, const AZStd::string& shaderSourceFileFullPath, - const RPI::SupervariantIndex supervariantIndex, - AzslFunctions& functions) - { - auto functionsJsonPathOutcome = ShaderBuilderUtility::ObtainBuildArtifactPathFromShaderAssetBuilder2( - shaderPlatformInterface->GetAPIUniqueIndex(), platformInfo.m_identifier, shaderSourceFileFullPath, supervariantIndex.GetIndex(), - AZ::RPI::ShaderAssetSubId::IaJson); - if (!functionsJsonPathOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "%s", functionsJsonPathOutcome.GetError().c_str()); - return; - } - - auto functionsJsonPath = functionsJsonPathOutcome.TakeValue(); - auto jsonOutcome = JsonSerializationUtils::ReadJsonFile(functionsJsonPath); - if (!jsonOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "%s", jsonOutcome.GetError().c_str()); - return; - } - if (!azslCompiler.ParseIaPopulateFunctionData(jsonOutcome.GetValue(), functions)) - { - functions.clear(); - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Failed to find shader functions."); - return; - } - } - - - // Returns the content of the hlsl file for the given supervariant as produced by ShaderAsssetBuilder2. - // In addition to the content it also returns the full path of the hlsl file in @hlslSourcePath. - static AZStd::string LoadHlslFileFromShaderAssetBuilder2( - const RHI::ShaderPlatformInterface* shaderPlatformInterface, const AssetBuilderSDK::PlatformInfo& platformInfo, - const AZStd::string& shaderSourceFileFullPath, const RPI::SupervariantIndex supervariantIndex, AZStd::string& hlslSourcePath) - { - auto hlslSourcePathOutcome = ShaderBuilderUtility::ObtainBuildArtifactPathFromShaderAssetBuilder2( - shaderPlatformInterface->GetAPIUniqueIndex(), platformInfo.m_identifier, shaderSourceFileFullPath, supervariantIndex.GetIndex(), - AZ::RPI::ShaderAssetSubId::GeneratedHlslSource); - if (!hlslSourcePathOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "%s", hlslSourcePathOutcome.GetError().c_str()); - return ""; - } - - hlslSourcePath = hlslSourcePathOutcome.TakeValue(); - Outcome hlslSourceOutcome = Utils::ReadFile(hlslSourcePath); - if (!hlslSourceOutcome.IsSuccess()) - { - AZ_Error( - ShaderVariantAssetBuilder2Name, false, "Failed to obtain shader source from %s. [%s]", hlslSourcePath.c_str(), - hlslSourceOutcome.TakeError().c_str()); - return ""; - } - return hlslSourceOutcome.TakeValue(); - } - - void ShaderVariantAssetBuilder2::ProcessShaderVariantTreeJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const - { - AZStd::string variantListFullPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), variantListFullPath, true); - - RPI::ShaderVariantListSourceData shaderVariantListDescriptor; - if (!RPI::JsonUtils::LoadObjectFromFile(variantListFullPath, shaderVariantListDescriptor)) - { - AZ_Assert(false, "Failed to parse Shader Variant List Descriptor JSON [%s]", variantListFullPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - const AZStd::string& shaderSourceFileFullPath = request.m_jobDescription.m_jobParameters.at(ShaderSourceFilePathJobParam); - - //For debugging purposes will create a dummy azshadervarianttree file. - AZStd::string shaderName; - AzFramework::StringFunc::Path::GetFileName(shaderSourceFileFullPath.c_str(), shaderName); - - // No error checking because the same calls were already executed during CreateJobs() - auto descriptorParseOutcome = ShaderBuilderUtility::LoadShaderDataJson(shaderSourceFileFullPath); - RPI::ShaderSourceData shaderSourceDescriptor = descriptorParseOutcome.TakeValue(); - RPI::Ptr shaderOptionGroupLayout; - - // Request the list of valid shader platform interfaces for the target platform. - AZStd::vector platformInterfaces = - ShaderBuilderUtility::DiscoverEnabledShaderPlatformInterfaces(request.m_platformInfo, shaderSourceDescriptor); - if (platformInterfaces.empty()) - { - // No work to do. Exit gracefully. - AZ_TracePrintf( - ShaderVariantAssetBuilder2Name, - "No azshadervarianttree is produced on behalf of %s because all valid RHI backends were disabled for this shader.\n", - shaderSourceFileFullPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - return; - } - - - // set the input file for eventual error messages, but the compiler won't be called on it. - AZStd::string azslFullPath; - ShaderBuilderUtility::GetAbsolutePathToAzslFile(shaderSourceFileFullPath, shaderSourceDescriptor.m_source, azslFullPath); - AzslCompiler azslc(azslFullPath); - - AZStd::string previousLoopApiName; - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) - { - auto thisLoopApiName = shaderPlatformInterface->GetAPIName().GetStringView(); - RPI::Ptr loopLocal_ShaderOptionGroupLayout = - LoadShaderOptionsGroupLayoutFromShaderAssetBuilder2( - shaderPlatformInterface, request.m_platformInfo, azslc, shaderSourceFileFullPath, RPI::DefaultSupervariantIndex); - if (!loopLocal_ShaderOptionGroupLayout) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - if (shaderOptionGroupLayout && shaderOptionGroupLayout->GetHash() != loopLocal_ShaderOptionGroupLayout->GetHash()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "There was a discrepancy in shader options between %s and %s", previousLoopApiName.c_str(), thisLoopApiName.data()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - shaderOptionGroupLayout = loopLocal_ShaderOptionGroupLayout; - previousLoopApiName = thisLoopApiName; - } - - RPI::ShaderVariantTreeAssetCreator shaderVariantTreeAssetCreator; - shaderVariantTreeAssetCreator.Begin(Uuid::CreateRandom()); - shaderVariantTreeAssetCreator.SetShaderOptionGroupLayout(*shaderOptionGroupLayout); - shaderVariantTreeAssetCreator.SetVariantInfos(shaderVariantListDescriptor.m_shaderVariants); - Data::Asset shaderVariantTreeAsset; - if (!shaderVariantTreeAssetCreator.End(shaderVariantTreeAsset)) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Failed to build Shader Variant Tree Asset"); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - AZStd::string filename = AZStd::string::format("%s.%s", shaderName.c_str(), RPI::ShaderVariantTreeAsset::Extension); - AZStd::string assetPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_tempDirPath.c_str(), filename.c_str(), assetPath, true); - if (!AZ::Utils::SaveObjectToFile(assetPath, AZ::DataStream::ST_BINARY, shaderVariantTreeAsset.Get())) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Failed to save Shader Variant Tree Asset to \"%s\"", assetPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - AssetBuilderSDK::JobProduct assetProduct; - assetProduct.m_productSubID = RPI::ShaderVariantTreeAsset::ProductSubID; - assetProduct.m_productFileName = assetPath; - assetProduct.m_productAssetType = azrtti_typeid(); - assetProduct.m_dependenciesHandled = true; // This builder has no dependencies to output - response.m_outputProducts.push_back(assetProduct); - - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "Shader Variant Tree Asset [%s] compiled successfully.\n", assetPath.c_str()); - - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - } - - void ShaderVariantAssetBuilder2::ProcessShaderVariantJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const - { - const AZStd::sys_time_t startTime = AZStd::GetTimeNowTicks(); - AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); - - AZStd::string fullPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), fullPath, true); - - const auto& jobParameters = request.m_jobDescription.m_jobParameters; - const AZStd::string& shaderSourceFileFullPath = jobParameters.at(ShaderSourceFilePathJobParam); - AZStd::string shaderFileName; - AzFramework::StringFunc::Path::GetFileName(shaderSourceFileFullPath.c_str(), shaderFileName); - - const AZStd::string& variantJsonString = jobParameters.at(ShaderVariantJobVariantParam); - RPI::ShaderVariantListSourceData::VariantInfo variantInfo; - const bool fromJsonStringSuccess = AZ::RPI::JsonUtils::LoadObjectFromJsonString(variantJsonString, variantInfo); - AZ_Assert(fromJsonStringSuccess, "Failed to convert json string to VariantInfo"); - - RPI::ShaderSourceData shaderSourceDescriptor; - AZStd::shared_ptr sources = ShaderBuilderUtility::PrepareSourceInput(ShaderVariantAssetBuilder2Name, shaderSourceFileFullPath, shaderSourceDescriptor); - - // set the input file for eventual error messages, but the compiler won't be called on it. - AzslCompiler azslc(sources->m_azslSourceFullPath); - - // Request the list of valid shader platform interfaces for the target platform. - AZStd::vector platformInterfaces = - ShaderBuilderUtility::DiscoverEnabledShaderPlatformInterfaces(request.m_platformInfo, shaderSourceDescriptor); - if (platformInterfaces.empty()) - { - // No work to do. Exit gracefully. - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, - "No azshader is produced on behalf of %s because all valid RHI backends were disabled for this shader.\n", - shaderSourceFileFullPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - return; - } - - auto supervariantList = ShaderBuilderUtility::GetSupervariantListFromShaderSourceData(shaderSourceDescriptor); - - GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderVariantAssetBuilder2Name); - // At this moment We have global build options that should be merged with the build options that are common - // to all the supervariants of this shader. - buildOptions.m_compilerArguments.Merge(shaderSourceDescriptor.m_compiler); - - //! The ShaderOptionGroupLayout is common across all RHIs & Supervariants - RPI::Ptr shaderOptionGroupLayout = nullptr; - - // Generate shaders for each of those ShaderPlatformInterfaces. - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) - { - AZ_TraceContext("ShaderPlatformInterface", shaderPlatformInterface->GetAPIName().GetCStr()); - - // Loop through all the Supervariants. - uint32_t supervariantIndexCounter = 0; - for (const auto& supervariantInfo : supervariantList) - { - RPI::SupervariantIndex supervariantIndex(supervariantIndexCounter); - - // Check if we were canceled before we do any heavy processing of - // the shader variant data. - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } - - AZStd::string shaderStemNamePrefix = shaderFileName; - if (supervariantIndex.GetIndex() > 0) - { - shaderStemNamePrefix += supervariantInfo.m_name.GetStringView(); - } - - // We need these additional pieces of information To build a shader variant asset: - // 1- ShaderOptionsGroupLayout (Need to load it once, because it's the same acrosss all supervariants + RHIs) - // 2- entryFunctions - // 3- hlsl code. - - // 1- ShaderOptionsGroupLayout - if (!shaderOptionGroupLayout) - { - shaderOptionGroupLayout = - LoadShaderOptionsGroupLayoutFromShaderAssetBuilder2( - shaderPlatformInterface, request.m_platformInfo, azslc, shaderSourceFileFullPath, supervariantIndex); - if (!shaderOptionGroupLayout) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - } - - // 2- entryFunctions. - AzslFunctions azslFunctions; - LoadShaderFunctionsFromShaderAssetBuilder2( - shaderPlatformInterface, request.m_platformInfo, azslc, shaderSourceFileFullPath, supervariantIndex, azslFunctions); - if (azslFunctions.empty()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - MapOfStringToStageType shaderEntryPoints; - if (shaderSourceDescriptor.m_programSettings.m_entryPoints.empty()) - { - AZ_TracePrintf( - ShaderVariantAssetBuilder2Name, - "ProgramSettings do not specify entry points, will use GetDefaultEntryPointsFromShader()\n"); - ShaderBuilderUtility::GetDefaultEntryPointsFromFunctionDataList(azslFunctions, shaderEntryPoints); - } - else - { - for (const auto& entryPoint : shaderSourceDescriptor.m_programSettings.m_entryPoints) - { - shaderEntryPoints[entryPoint.m_name] = entryPoint.m_type; - } - } - - // 3- hlslCode - AZStd::string hlslSourcePath; - AZStd::string hlslCode = LoadHlslFileFromShaderAssetBuilder2( - shaderPlatformInterface, request.m_platformInfo, shaderSourceFileFullPath, supervariantIndex, hlslSourcePath); - if (hlslCode.empty() || hlslSourcePath.empty()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - // Setup the shader variant creation context: - ShaderVariantCreationContext2 shaderVariantCreationContext = - { - *shaderPlatformInterface, request.m_platformInfo, buildOptions.m_compilerArguments, request.m_tempDirPath, - startTime, - shaderSourceDescriptor, - *shaderOptionGroupLayout.get(), - shaderEntryPoints, - Uuid::CreateRandom(), - shaderStemNamePrefix, - hlslSourcePath, hlslCode - }; - - AZStd::optional outputByproducts; - auto shaderVariantAssetOutcome = CreateShaderVariantAsset(variantInfo, shaderVariantCreationContext, outputByproducts); - if (!shaderVariantAssetOutcome.IsSuccess()) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "%s\n", shaderVariantAssetOutcome.GetError().c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - Data::Asset shaderVariantAsset = shaderVariantAssetOutcome.TakeValue(); - - - // Time to save the asset in the tmp folder so it ends up in the Cache folder. - const uint32_t productSubID = RPI::ShaderVariantAsset2::MakeAssetProductSubId( - shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex.GetIndex(), - shaderVariantAsset->GetStableId()); - AssetBuilderSDK::JobProduct assetProduct; - if (!SerializeOutShaderVariantAsset(shaderVariantAsset, shaderStemNamePrefix, - request.m_tempDirPath, *shaderPlatformInterface, productSubID, - assetProduct)) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - response.m_outputProducts.push_back(assetProduct); - - if (outputByproducts) - { - // add byproducts as job output products: - uint32_t subProductType = RPI::ShaderVariantAsset2::ShaderVariantAsset2SubProductType; - for (const AZStd::string& byproduct : outputByproducts.value().m_intermediatePaths) - { - AssetBuilderSDK::JobProduct jobProduct; - jobProduct.m_productFileName = byproduct; - jobProduct.m_productAssetType = Uuid::CreateName("DebugInfoByProduct-PdbOrDxilTxt"); - jobProduct.m_productSubID = RPI::ShaderVariantAsset2::MakeAssetProductSubId( - shaderPlatformInterface->GetAPIUniqueIndex(), supervariantIndex.GetIndex(), shaderVariantAsset->GetStableId(), - subProductType++); - response.m_outputProducts.push_back(AZStd::move(jobProduct)); - } - } - supervariantIndexCounter++; - } // End of supervariant for block - - } - - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - } - - bool ShaderVariantAssetBuilder2::SerializeOutShaderVariantAsset( - const Data::Asset shaderVariantAsset, const AZStd::string& shaderStemNamePrefix, - const AZStd::string& tempDirPath, - const RHI::ShaderPlatformInterface& shaderPlatformInterface, const uint32_t productSubID, AssetBuilderSDK::JobProduct& assetProduct) - { - AZStd::string filename = AZStd::string::format( - "%s_%s_%u.%s", shaderStemNamePrefix.c_str(), shaderPlatformInterface.GetAPIName().GetCStr(), - shaderVariantAsset->GetStableId().GetIndex(), RPI::ShaderVariantAsset2::Extension); - - AZStd::string assetPath; - AzFramework::StringFunc::Path::ConstructFull(tempDirPath.c_str(), filename.c_str(), assetPath, true); - - if (!AZ::Utils::SaveObjectToFile(assetPath, AZ::DataStream::ST_BINARY, shaderVariantAsset.Get())) - { - AZ_Error(ShaderVariantAssetBuilder2Name, false, "Failed to save Shader Variant Asset to \"%s\"", assetPath.c_str()); - return false; - } - - assetProduct.m_productSubID = productSubID; - assetProduct.m_productFileName = assetPath; - assetProduct.m_productAssetType = azrtti_typeid(); - assetProduct.m_dependenciesHandled = true; // This builder has no dependencies to output - - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "Shader Variant Asset [%s] compiled successfully.\n", assetPath.c_str()); - return true; - } - - - AZ::Outcome, AZStd::string> ShaderVariantAssetBuilder2::CreateShaderVariantAsset( - const RPI::ShaderVariantListSourceData::VariantInfo& shaderVariantInfo, - ShaderVariantCreationContext2& creationContext, - AZStd::optional& outputByproducts) - { - // Temporary structure used for sorting and caching intermediate results - struct OptionCache - { - AZ::Name m_optionName; - AZ::Name m_valueName; - RPI::ShaderOptionIndex m_optionIndex; // Cached m_optionName - RPI::ShaderOptionValue m_value; // Cached m_valueName - }; - AZStd::vector optionList; - // We can not have more options than the number of options in the layout: - optionList.reserve(creationContext.m_shaderOptionGroupLayout.GetShaderOptionCount()); - - // This loop will validate and cache the indices for each option value: - for (const auto& shaderOption : shaderVariantInfo.m_options) - { - Name optionName{shaderOption.first}; - Name optionValue{shaderOption.second}; - - RPI::ShaderOptionIndex optionIndex = creationContext.m_shaderOptionGroupLayout.FindShaderOptionIndex(optionName); - if (optionIndex.IsNull()) - { - return AZ::Failure(AZStd::string::format("Invalid shader option: %s", optionName.GetCStr())); - } - - const RPI::ShaderOptionDescriptor& option = creationContext.m_shaderOptionGroupLayout.GetShaderOption(optionIndex); - RPI::ShaderOptionValue value = option.FindValue(optionValue); - if (value.IsNull()) - { - return AZ::Failure( - AZStd::string::format("Invalid value (%s) for shader option: %s", optionValue.GetCStr(), optionName.GetCStr())); - } - - optionList.push_back(OptionCache{optionName, optionValue, optionIndex, value}); - } - - // Create one instance of the shader variant - RPI::ShaderOptionGroup optionGroup(&creationContext.m_shaderOptionGroupLayout); - - //! Contains the series of #define macro values that define a variant. Can be empty (root variant). - //! If this string is NOT empty, a new temporary hlsl file will be created that will be the combination - //! of this string + @m_hlslSourceContent. - AZStd::string hlslCodeToPrependForVariant; - - // We want to go over all options listed in the variant and set their respective values - // This loop will populate the optionGroup and m_shaderCodePrefix in order of the option priority - for (const auto& optionCache : optionList) - { - const RPI::ShaderOptionDescriptor& option = creationContext.m_shaderOptionGroupLayout.GetShaderOption(optionCache.m_optionIndex); - - // Assign the option value specified in the variant: - option.Set(optionGroup, optionCache.m_value); - - // Populate all shader option defines. We have already confirmed they're valid. - hlslCodeToPrependForVariant += AZStd::string::format( - "#define %s_OPTION_DEF %s\n", optionCache.m_optionName.GetCStr(), optionCache.m_valueName.GetCStr()); - } - - AZStd::string variantShaderSourcePath; - // Check if we need to prepend any code prefix - if (!hlslCodeToPrependForVariant.empty()) - { - // Prepend any shader code prefix that we should apply to this variant - // and save it back to a file. - AZStd::string variantShaderSourceString(hlslCodeToPrependForVariant); - variantShaderSourceString += creationContext.m_hlslSourceContent; - - AZStd::string shaderAssetName = AZStd::string::format( - "%s_%s_%u.hlsl", creationContext.m_shaderStemNamePrefix.c_str(), - creationContext.m_shaderPlatformInterface.GetAPIName().GetCStr(), shaderVariantInfo.m_stableId); - AzFramework::StringFunc::Path::Join( - creationContext.m_tempDirPath.c_str(), shaderAssetName.c_str(), variantShaderSourcePath, true, true); - - auto outcome = Utils::WriteFile(variantShaderSourceString, variantShaderSourcePath); - if (!outcome.IsSuccess()) - { - return AZ::Failure(AZStd::string::format("Failed to create file %s", variantShaderSourcePath.c_str())); - } - } - else - { - variantShaderSourcePath = creationContext.m_hlslSourcePath; - } - - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "Variant StableId: %u", shaderVariantInfo.m_stableId); - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "Variant Shader Options: %s", optionGroup.ToString().c_str()); - - const RPI::ShaderVariantStableId shaderVariantStableId{shaderVariantInfo.m_stableId}; - - // By this time the optionGroup was populated with all option values for the variant and - // the m_shaderCodePrefix contains all option related preprocessing macros - // Let's add the requested variant: - RPI::ShaderVariantAssetCreator2 variantCreator; - RPI::ShaderOptionGroup shaderOptions{&creationContext.m_shaderOptionGroupLayout, optionGroup.GetShaderVariantId()}; - variantCreator.Begin( - creationContext.m_shaderVariantAssetId, optionGroup.GetShaderVariantId(), shaderVariantStableId, - shaderOptions.IsFullySpecified()); - - const AZStd::unordered_map& shaderEntryPoints = creationContext.m_shaderEntryPoints; - for (const auto& shaderEntryPoint : shaderEntryPoints) - { - auto shaderEntryName = shaderEntryPoint.first; - auto shaderStageType = shaderEntryPoint.second; - - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "Entry Point: %s", shaderEntryName.c_str()); - AZ_TracePrintf(ShaderVariantAssetBuilder2Name, "Begin compiling shader function \"%s\"", shaderEntryName.c_str()); - - auto assetBuilderShaderType = ShaderBuilderUtility::ToAssetBuilderShaderType(shaderStageType); - - // Compile HLSL to the platform specific shader. - RHI::ShaderPlatformInterface::StageDescriptor descriptor; - bool shaderWasCompiled = creationContext.m_shaderPlatformInterface.CompilePlatformInternal( - creationContext.m_platformInfo, variantShaderSourcePath, shaderEntryName, assetBuilderShaderType, - creationContext.m_tempDirPath, descriptor, creationContext.m_shaderCompilerArguments); - - if (!shaderWasCompiled) - { - return AZ::Failure(AZStd::string::format("Could not compile the shader function %s", shaderEntryName.c_str())); - } - // bubble up the byproducts to the caller by moving them to the context. - outputByproducts.emplace(AZStd::move(descriptor.m_byProducts)); - - RHI::Ptr shaderStageFunction = creationContext.m_shaderPlatformInterface.CreateShaderStageFunction(descriptor); - variantCreator.SetShaderFunction(ToRHIShaderStage(assetBuilderShaderType), shaderStageFunction); - - if (descriptor.m_byProducts.m_dynamicBranchCount != AZ::RHI::ShaderPlatformInterface::ByProducts::UnknownDynamicBranchCount) - { - AZ_TracePrintf( - ShaderVariantAssetBuilder2Name, "Finished compiling shader function. Number of dynamic branches: %u", - descriptor.m_byProducts.m_dynamicBranchCount); - } - else - { - AZ_TracePrintf( - ShaderVariantAssetBuilder2Name, "Finished compiling shader function. Number of dynamic branches: unknown"); - } - } - - Data::Asset shaderVariantAsset; - variantCreator.End(shaderVariantAsset); - return AZ::Success(AZStd::move(shaderVariantAsset)); - } - - } // ShaderBuilder -} // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder2.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder2.h deleted file mode 100644 index c0b632d9bd..0000000000 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder2.h +++ /dev/null @@ -1,107 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#pragma once - -#include -#include -#include - -#include -#include -#include -#include - -#include "ShaderBuilderUtility.h" - -namespace AZ -{ - namespace ShaderBuilder - { - struct AzslData; - - //! This is nothing more than a class to help consolidate all - //! the data needed to generate a shader variant and prevent - //! all the functions involved in the process to have too many - //! arguments. - struct ShaderVariantCreationContext2 - { - RHI::ShaderPlatformInterface& m_shaderPlatformInterface; - const AssetBuilderSDK::PlatformInfo& m_platformInfo; - const RHI::ShaderCompilerArguments& m_shaderCompilerArguments; - //! Used to write temporary files during shader compilation, like *.hlsl, or *.air, or *.metallib, etc. - const AZStd::string& m_tempDirPath; - //! Used to synchronize versions of the ShaderAsset and ShaderVariantAsset, - //! especially during hot-reload. A (ShaderVariantAsset.timestamp) >= (ShaderAsset.timestamp). - const AZStd::sys_time_t m_assetBuildTimestamp; - const RPI::ShaderSourceData& m_shaderSourceDataDescriptor; - const RPI::ShaderOptionGroupLayout& m_shaderOptionGroupLayout; - const MapOfStringToStageType& m_shaderEntryPoints; - const Data::AssetId m_shaderVariantAssetId; - const AZStd::string& m_shaderStemNamePrefix; //- - const AZStd::string& m_hlslSourcePath; - const AZStd::string& m_hlslSourceContent; - }; - - class ShaderVariantAssetBuilder2 - : public AssetBuilderSDK::AssetBuilderCommandBus::Handler - { - public: - AZ_TYPE_INFO(ShaderVariantAssetBuilder2, "{C959AEC2-2083-4488-AD88-F61B1144535B}"); - - static constexpr char ShaderVariantAssetBuilder2JobKey[] = "Shader Variant Asset 2"; - - ShaderVariantAssetBuilder2() = default; - ~ShaderVariantAssetBuilder2() = default; - - // Asset Builder Callback Functions ... - void CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const; - void ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const; - - //! The ShaderVariantAsset returned by this function won't be written to the filesystem. - //! You should call SerializeOutShaderVariantAsset to write it to the temp folder assigned - //! by the asset processor. - static AZ::Outcome, AZStd::string> CreateShaderVariantAsset( - const RPI::ShaderVariantListSourceData::VariantInfo& shaderVariantInfo, - ShaderVariantCreationContext2& creationContext, - AZStd::optional& outputByproducts); - - static bool SerializeOutShaderVariantAsset( - const Data::Asset shaderVariantAsset, - const AZStd::string& shaderStemNamePrefix, const AZStd::string& tempDirPath, - const RHI::ShaderPlatformInterface& shaderPlatformInterface, const uint32_t productSubID, AssetBuilderSDK::JobProduct& assetProduct); - - // AssetBuilderSDK::AssetBuilderCommandBus interface overrides ... - void ShutDown() override { }; - - private: - AZ_DISABLE_COPY_MOVE(ShaderVariantAssetBuilder2); - - static constexpr uint32_t ShaderVariantLoadErrorParam = 0; - static constexpr uint32_t ShaderSourceFilePathJobParam = 2; - static constexpr uint32_t ShaderVariantJobVariantParam = 3; - static constexpr uint32_t ShouldExitEarlyFromProcessJobParam = 4; - - //! Called from ProcessJob when the job is supposed to create a ShaderVariantTreeAsset. - void ProcessShaderVariantTreeJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const; - - //! Called from ProcessJob when the job is supposed to create ShaderVariantAssets. One ShaderVariantAsset will be produced per RHI::APIType - //! supported by the platform. - void ProcessShaderVariantJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const; - - static AZStd::string GetShaderVariantTreeAssetJobKey() { return AZStd::string::format("%s_varianttree", ShaderVariantAssetBuilder2JobKey); } - static AZStd::string GetShaderVariantAssetJobKey(RPI::ShaderVariantStableId variantStableId) { return AZStd::string::format("%s_variant_%u", ShaderVariantAssetBuilder2JobKey, variantStableId.GetIndex()); } - - }; - - } // ShaderBuilder -} // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutBuilder.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutBuilder.cpp deleted file mode 100644 index a7721c84a2..0000000000 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutBuilder.cpp +++ /dev/null @@ -1,541 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#include - -#include -#include -#include - -#include -#include - -#include - -#include -#include - -#include -#include -#include - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace AZ -{ - namespace ShaderBuilder - { - AZ::Uuid SrgLayoutBuilder::GetUUID() - { - return AZ::Uuid::CreateString("{ABC78905-B3FC-497A-916A-217D1460E52F}"); - } - - void SrgLayoutBuilder::Reflect([[maybe_unused]] AZ::ReflectContext* context) - { - } - - SrgLayoutBuilder::SrgLayoutBuilder() - { - } - - SrgLayoutBuilder::~SrgLayoutBuilder() - { - } - - void SrgLayoutBuilder::Activate() - { - } - - void SrgLayoutBuilder::Deactivate() - { - } - - void SrgLayoutBuilder::ShutDown() - { - } - - RHI::ShaderInputBufferType ToShaderInputBufferType(BufferType bufferType) - { - switch (bufferType) - { - case BufferType::Buffer: - case BufferType::RwBuffer: - case BufferType::RasterizerOrderedBuffer: - return RHI::ShaderInputBufferType::Typed; - case BufferType::AppendStructuredBuffer: - case BufferType::ConsumeStructuredBuffer: - case BufferType::RasterizerOrderedStructuredBuffer: - case BufferType::RwStructuredBuffer: - case BufferType::StructuredBuffer: - return RHI::ShaderInputBufferType::Structured; - case BufferType::RasterizerOrderedByteAddressBuffer: - case BufferType::ByteAddressBuffer: - case BufferType::RwByteAddressBuffer: - return RHI::ShaderInputBufferType::Raw; - case BufferType::RaytracingAccelerationStructure: - return RHI::ShaderInputBufferType::AccelerationStructure; - default: - AZ_Assert(false, "Unhandled BufferType"); - return RHI::ShaderInputBufferType::Unknown; - } - } - - RHI::ShaderInputBufferAccess ToShaderInputBufferAccess(BufferType bufferType) - { - switch (bufferType) - { - case BufferType::Buffer: - case BufferType::ByteAddressBuffer: - case BufferType::ConsumeStructuredBuffer: - case BufferType::StructuredBuffer: - return RHI::ShaderInputBufferAccess::Read; - case BufferType::AppendStructuredBuffer: - case BufferType::RasterizerOrderedStructuredBuffer: - case BufferType::RasterizerOrderedByteAddressBuffer: - case BufferType::RasterizerOrderedBuffer: - case BufferType::RwByteAddressBuffer: - case BufferType::RwStructuredBuffer: - case BufferType::RwBuffer: - return RHI::ShaderInputBufferAccess::ReadWrite; - default: - AZ_Assert(false, "Unhandled BufferType"); - return RHI::ShaderInputBufferAccess::Read; - } - } - - RHI::ShaderInputImageType ToShaderInputImageType(TextureType textureType) - { - switch (textureType) - { - case TextureType::Texture1D: return RHI::ShaderInputImageType::Image1D; - case TextureType::Texture1DArray: return RHI::ShaderInputImageType::Image1DArray; - case TextureType::Texture2D: return RHI::ShaderInputImageType::Image2D; - case TextureType::Texture2DArray: return RHI::ShaderInputImageType::Image2DArray; - case TextureType::Texture2DMS: return RHI::ShaderInputImageType::Image2DMultisample; - case TextureType::Texture2DMSArray: return RHI::ShaderInputImageType::Image2DMultisampleArray; - case TextureType::Texture3D: return RHI::ShaderInputImageType::Image3D; - case TextureType::TextureCube: return RHI::ShaderInputImageType::ImageCube; - case TextureType::RwTexture1D: return RHI::ShaderInputImageType::Image1D; - case TextureType::RwTexture1DArray: return RHI::ShaderInputImageType::Image1DArray; - case TextureType::RwTexture2D: return RHI::ShaderInputImageType::Image2D; - case TextureType::RwTexture2DArray: return RHI::ShaderInputImageType::Image2DArray; - case TextureType::RwTexture3D: return RHI::ShaderInputImageType::Image3D; - case TextureType::RasterizerOrderedTexture1D: return RHI::ShaderInputImageType::Image1D; - case TextureType::RasterizerOrderedTexture1DArray: return RHI::ShaderInputImageType::Image1DArray; - case TextureType::RasterizerOrderedTexture2D: return RHI::ShaderInputImageType::Image2D; - case TextureType::RasterizerOrderedTexture2DArray: return RHI::ShaderInputImageType::Image2DArray; - case TextureType::RasterizerOrderedTexture3D: return RHI::ShaderInputImageType::Image3D; - case TextureType::SubpassInput: return RHI::ShaderInputImageType::SubpassInput; - default: - AZ_Assert(false, "Unhandled TextureType"); - return RHI::ShaderInputImageType::Unknown; - } - } - - RHI::ShaderInputImageAccess ToShaderInputImageAccess(TextureType textureType) - { - switch (textureType) - { - case TextureType::Texture1D: - case TextureType::Texture1DArray: - case TextureType::Texture2D: - case TextureType::Texture2DArray: - case TextureType::Texture2DMS: - case TextureType::Texture2DMSArray: - case TextureType::Texture3D: - case TextureType::TextureCube: - return RHI::ShaderInputImageAccess::Read; - case TextureType::RwTexture1D: - case TextureType::RwTexture1DArray: - case TextureType::RwTexture2D: - case TextureType::RwTexture2DArray: - case TextureType::RwTexture3D: - case TextureType::RasterizerOrderedTexture1D: - case TextureType::RasterizerOrderedTexture1DArray: - case TextureType::RasterizerOrderedTexture2D: - case TextureType::RasterizerOrderedTexture2DArray: - case TextureType::RasterizerOrderedTexture3D: - return RHI::ShaderInputImageAccess::ReadWrite; - default: - AZ_Assert(false, "Unhandled TextureType"); - return RHI::ShaderInputImageAccess::Read; - } - } - - void SrgLayoutBuilder::CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const - { - AZStd::string fullPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.data(), request.m_sourceFile.data(), fullPath, false); - AzFramework::StringFunc::Path::Normalize(fullPath); - - AZ_TracePrintf(SrgLayoutBuilderName, "CreateJobs for Srg Layouts \"%s\"\n", fullPath.data()); - - for (const AssetBuilderSDK::PlatformInfo& info : request.m_enabledPlatforms) - { - AssetBuilderSDK::JobDescriptor jobDescriptor; - jobDescriptor.m_priority = 2; - // [GFX TODO][ATOM-2830] Set 'm_critical' back to 'false' once proper fix for Atom startup issues are in - jobDescriptor.m_critical = true; - jobDescriptor.m_jobKey = SrgLayoutBuilderJobKey; - jobDescriptor.SetPlatformIdentifier(info.m_identifier.data()); - - // Get the platform interfaces to be able to access the prepend file - AZStd::vector platformInterfaces = ShaderBuilderUtility::DiscoverValidShaderPlatformInterfaces(info); - // queue up AzslBuilder dependencies: - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) - { - AddAzslBuilderJobDependency(jobDescriptor, info.m_identifier, shaderPlatformInterface->GetAPIName().GetCStr(), fullPath); - } - response.m_createJobOutputs.push_back(jobDescriptor); - } - - response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success; - } - - void SrgLayoutBuilder::ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const - { - AZStd::string sourcePath; - AzFramework::StringFunc::Path::ConstructFull(request.m_watchFolder.c_str(), request.m_sourceFile.c_str(), sourcePath, false); - AzFramework::StringFunc::Path::Normalize(sourcePath); - - if (!AzFramework::StringFunc::Path::IsExtension(sourcePath.c_str(), MergedPartialSrgsExtension)) // not .srgi - { - auto skipCheck = ShaderBuilderUtility::ShouldSkipFileForSrgProcessing(SrgLayoutBuilderName, sourcePath); - if (skipCheck != ShaderBuilderUtility::SrgSkipFileResult::ContinueProcess) - { - response.m_resultCode = skipCheck == ShaderBuilderUtility::SrgSkipFileResult::Error ? - AssetBuilderSDK::ProcessJobResult_Failed : AssetBuilderSDK::ProcessJobResult_Success; - return; - } - } - - AZ_TracePrintf(SrgLayoutBuilderName, "Processing Shader Resource Group \"%s\".\n", sourcePath.c_str()); - - AssetBuilderSDK::JobCancelListener jobCancelListener(request.m_jobId); - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } - - // Note this will update response.m_resultCode - CreateSRGAsset(sourcePath, request, response, jobCancelListener); - - AZ_TracePrintf(SrgLayoutBuilderName, "Finished processing %s\n", sourcePath.c_str()); - } - - void SrgLayoutBuilder::CreateSRGAsset( - AZStd::string fullSourcePath, - const AssetBuilderSDK::ProcessJobRequest& request, - AssetBuilderSDK::ProcessJobResponse& response, - AssetBuilderSDK::JobCancelListener& jobCancelListener) - { - // Request the list of valid shader platform interfaces for the target platform. - AZStd::vector platformInterfaces; - ShaderPlatformInterfaceRequestBus::BroadcastResult(platformInterfaces, &ShaderPlatformInterfaceRequest::GetShaderPlatformInterface, request.m_platformInfo); - if (platformInterfaces.empty()) - { - AZ_Error(SrgLayoutBuilderName, false, "No ShaderPlatformInterfaces found."); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - using SrgDataEntry = AZStd::pair; - // List with all SRGs that need to be processed. - AZStd::unordered_map> srgsToProcess; - // Emit all SRGs per each of the platform interfaces. - for (RHI::ShaderPlatformInterface* shaderPlatformInterface : platformInterfaces) - { - if (!shaderPlatformInterface) - { - AZ_Error(SrgLayoutBuilderName, false, "ShaderPlatformInterface for [%s] is not registered, can't compile [%s]", request.m_platformInfo.m_identifier.c_str(), request.m_sourceFile.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - SrgDataContainer srgDataContainer; - - auto azslArtifactsOutcome = ShaderBuilderUtility::ObtainBuildArtifactsFromAzslBuilder(SrgLayoutBuilderName, fullSourcePath, shaderPlatformInterface->GetAPIType(), request.m_platformInfo.m_identifier); - if (!azslArtifactsOutcome.IsSuccess()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - // create an AzslCompiler instance to use it's json parsing facilities, but we won't call any emit facility. So the compiler actually never runs. - AzslCompiler azslc(azslArtifactsOutcome.GetValue()[ShaderBuilderUtility::AzslSubProducts::azslin]); // set the input file for eventual error messages. - - AZ::Outcome outcome; - outcome = JsonSerializationUtils::ReadJsonFile(azslArtifactsOutcome.GetValue()[ShaderBuilderUtility::AzslSubProducts::srg]); - if (!outcome.IsSuccess()) - { - AZ_Error(SrgLayoutBuilderName, false, "%s", outcome.GetError().c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - if (!azslc.ParseSrgPopulateSrgData(outcome.GetValue(), srgDataContainer)) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - for (const SrgData& srgData : srgDataContainer) - { - // Ignore the SRGs included from other files. - AZStd::string normalizedContainer = srgData.m_containingFileName; - AzFramework::StringFunc::Path::Normalize(normalizedContainer); - if (normalizedContainer != fullSourcePath) - { - AZ_TracePrintf(SrgLayoutBuilderName, "SRG [%s] found in [%s] but is foreign to [%s]. skipped.", - srgData.m_name.c_str(), normalizedContainer.c_str(), fullSourcePath.c_str()); - continue; - } - AZ_TracePrintf(SrgLayoutBuilderName, "SRG [%s] found in [%s] (native to this file). added.", - srgData.m_name.c_str(), normalizedContainer.c_str()); - srgsToProcess[srgData.m_name].push_back(SrgDataEntry(shaderPlatformInterface, AZStd::move(srgData))); - } - } - - AZStd::string fileNameOnly; - AzFramework::StringFunc::Path::GetFileName(request.m_sourceFile.c_str(), fileNameOnly); - - if (srgsToProcess.empty()) - { - AZ_TracePrintf(SrgLayoutBuilderName, "No ShaderResourceGroups found in '%s'.", fullSourcePath.c_str()); - } - - // Process all SRGs that were emitted. - for (const auto& entry : srgsToProcess) - { - const auto& srgName = entry.first; - if (jobCancelListener.IsCancelled()) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Cancelled; - return; - } - - AZStd::string fullFileName = fileNameOnly + "_" + srgName; - AZStd::string shaderResourceGroupAssetPath; - AzFramework::StringFunc::Path::ConstructFull(request.m_tempDirPath.c_str(), fullFileName.c_str(), shaderResourceGroupAssetPath, true); - AzFramework::StringFunc::Path::ReplaceExtension(shaderResourceGroupAssetPath, "azsrg"); - - RPI::ShaderResourceGroupAssetCreator srgAssetCreator; - srgAssetCreator.Begin(Uuid::CreateRandom(), Name{ srgName }); - - bool success = true; - // Process the SRG per each shader platform interface. - for(const SrgDataEntry& srgDataEntry : entry.second) - { - RHI::ShaderPlatformInterface* shaderPlatformInterface = srgDataEntry.first; - - // The register number only makes sense if the platform uses "spaces", - // since the register Id of the resource will not change even if the pipeline layout changes. - // We can pass in a default ShaderCompilerArguments because all we care about is whether the shaderPlatformInterface - // appends the - // "--use-spaces" flag. - AZStd::string azslCompilerParameters = - shaderPlatformInterface->GetAzslCompilerParameters(RHI::ShaderCompilerArguments{}); - bool useRegisterId = (AzFramework::StringFunc::Find(azslCompilerParameters, "--use-spaces") != AZStd::string::npos); - - const SrgData& srgData = srgDataEntry.second; - - srgAssetCreator.BeginAPI(shaderPlatformInterface->GetAPIType()); - srgAssetCreator.SetBindingSlot(srgData.m_bindingSlot.m_index); - - // Samplers - for (const SamplerSrgData& samplerData : srgData.m_samplers) - { - if (samplerData.m_isDynamic) - { - srgAssetCreator.AddShaderInput({ - samplerData.m_nameId, - samplerData.m_count, - useRegisterId ? samplerData.m_registerId : RHI::UndefinedRegisterSlot }); - } - else - { - srgAssetCreator.AddStaticSampler({ - samplerData.m_nameId, - samplerData.m_descriptor, - useRegisterId ? samplerData.m_registerId : RHI::UndefinedRegisterSlot }); - } - } - - // Images - for (const TextureSrgData& textureData : srgData.m_textures) - { - const RHI::ShaderInputImageAccess imageAccess = - textureData.m_isReadOnlyType ? - RHI::ShaderInputImageAccess::Read : - RHI::ShaderInputImageAccess::ReadWrite; - - const RHI::ShaderInputImageType imageType = ToShaderInputImageType(textureData.m_type); - - if (imageType != RHI::ShaderInputImageType::Unknown) - { - if (textureData.m_count != aznumeric_cast(-1)) - { - srgAssetCreator.AddShaderInput({ - textureData.m_nameId, - imageAccess, - imageType, - textureData.m_count, - useRegisterId ? textureData.m_registerId : RHI::UndefinedRegisterSlot }); - } - else - { - // unbounded array - srgAssetCreator.AddShaderInput({ - textureData.m_nameId, - imageAccess, - imageType, - useRegisterId ? textureData.m_registerId : RHI::UndefinedRegisterSlot }); - } - } - else - { - AZ_Error(SrgLayoutBuilderName, false, "Failed to build Shader Resource Group Asset: Image %s has an unknown type.", textureData.m_nameId.GetCStr()); - success = false; - } - } - - // Buffers - { - for (const ConstantBufferData& cbData : srgData.m_constantBuffers) - { - srgAssetCreator.AddShaderInput({ - cbData.m_nameId, - RHI::ShaderInputBufferAccess::Constant, - RHI::ShaderInputBufferType::Constant, - cbData.m_count, - cbData.m_strideSize, - useRegisterId ? cbData.m_registerId : RHI::UndefinedRegisterSlot }); - } - - for (const BufferSrgData& bufferData : srgData.m_buffers) - { - const RHI::ShaderInputBufferAccess bufferAccess = - bufferData.m_isReadOnlyType ? - RHI::ShaderInputBufferAccess::Read : - RHI::ShaderInputBufferAccess::ReadWrite; - - const RHI::ShaderInputBufferType bufferType = ToShaderInputBufferType(bufferData.m_type); - - if (bufferType != RHI::ShaderInputBufferType::Unknown) - { - if (bufferData.m_count != aznumeric_cast(-1)) - { - srgAssetCreator.AddShaderInput({ - bufferData.m_nameId, - bufferAccess, - bufferType, - bufferData.m_count, - bufferData.m_strideSize, - useRegisterId ? bufferData.m_registerId : RHI::UndefinedRegisterSlot }); - } - else - { - // unbounded array - srgAssetCreator.AddShaderInput({ - bufferData.m_nameId, - bufferAccess, - bufferType, - bufferData.m_strideSize, - useRegisterId ? bufferData.m_registerId : RHI::UndefinedRegisterSlot }); - } - } - else - { - AZ_Error(SrgLayoutBuilderName, false, "Failed to build Shader Resource Group Asset: Buffer %s has un unknown type.", bufferData.m_nameId.GetCStr()); - success = false; - } - } - } - - // SRG Constants - uint32_t constantDataRegisterId = useRegisterId ? srgData.m_srgConstantDataRegisterId : RHI::UndefinedRegisterSlot; - for (const SrgConstantData& srgConstants : srgData.m_srgConstantData) - { - srgAssetCreator.AddShaderInput({ - srgConstants.m_nameId, - srgConstants.m_constantByteOffset, - srgConstants.m_constantByteSize, - constantDataRegisterId }); - } - - // Shader Variant Key fallback - if (srgData.m_fallbackSize > 0) - { - // Designates this SRG as a ShaderVariantKey fallback - srgAssetCreator.SetShaderVariantKeyFallback(srgData.m_fallbackName, srgData.m_fallbackSize); - } - - if (!srgAssetCreator.EndAPI()) - { - AZ_Error(SrgLayoutBuilderName, false, "Failed to End API."); - success = false; - } - - if (!success) - { - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - } - - Data::Asset shaderResourceGroupAsset; - if (!srgAssetCreator.End(shaderResourceGroupAsset)) - { - AZ_Error(SrgLayoutBuilderName, false, "Failed to build Shader Resource Group Asset"); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - if (AZ::IO::FileIOBase::GetInstance()->Exists(shaderResourceGroupAssetPath.c_str())) - { - // This would indicate a problem above, making sure each product SRG asset file path is unique. - AZ_Error(SrgLayoutBuilderName, false, "Cannot overwrite existing file [%s]. This likely indicates conflicting SRG names.", shaderResourceGroupAssetPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - success = AZ::Utils::SaveObjectToFile(shaderResourceGroupAssetPath, AZ::DataStream::ST_JSON, shaderResourceGroupAsset.Get()); - if (!success) - { - AZ_Error(SrgLayoutBuilderName, false, "Failed to save Shader Resource Group Asset to \"%s\"", shaderResourceGroupAssetPath.c_str()); - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed; - return; - } - - AssetBuilderSDK::JobProduct srgAssetProduct; - srgAssetProduct.m_productSubID = static_cast(AZStd::hash()(srgName) & 0xFFFFFFFF); - srgAssetProduct.m_productFileName = shaderResourceGroupAssetPath; - srgAssetProduct.m_productAssetType = azrtti_typeid(); - srgAssetProduct.m_dependenciesHandled = true; // This builder has no dependencies to output - response.m_outputProducts.push_back(srgAssetProduct); - - AZ_TracePrintf(SrgLayoutBuilderName, "Shader Resource Group Asset compiled successfully.\n"); - } - - response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success; - } - } // namespace ShaderBuilder -} // namespace AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutBuilder.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutBuilder.h deleted file mode 100644 index 9f0953a165..0000000000 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutBuilder.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#pragma once - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "AzslBuilder.h" - -namespace AZ -{ - namespace Data - { - class AssetHandler; - } - - namespace ShaderBuilder - { - struct SrgData; - struct TypeIdPair; - - class SrgLayoutBuilder - : public AssetBuilderSDK::AssetBuilderCommandBus::Handler - { - public: - SrgLayoutBuilder(); - ~SrgLayoutBuilder(); - - // An *.srgi file is nothing more than a regular azsl file that simply includes a set of srg/azsli - // files, and in turn each one of those included files define "partial ShaderResourceGroup"s, which are - // merged into a single ShaderResourceGroup by the shader compiler. - // So, *.srgi are supposed to include files that only define "partial" SRGs. - // And any file that defines a ShaderResourceGroup it should not be "partial" unless it is supposed - // to be included by a *.srgi file. - static constexpr const char* MergedPartialSrgsExtension = AzslBuilder::SrgIncludeExtension; - static constexpr const char* SrgLayoutBuilderName = "SrgLayoutBuilder"; - static constexpr const char* SrgLayoutBuilderJobKey = "Shader Resource Group Layout"; - - // Asset Builder Callback Functions - void CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const; - void ProcessJob(const AssetBuilderSDK::ProcessJobRequest& request, AssetBuilderSDK::ProcessJobResponse& response) const; - - ////////////////////////////////////////////////////////////////////////// - // AssetBuilderSDK::AssetBuilderCommandBus interface - void ShutDown() override; - ////////////////////////////////////////////////////////////////////////// - - void Activate(); - void Deactivate(); - - static AZ::Uuid GetUUID(); - - static void Reflect(AZ::ReflectContext* context); - private: - AZ_DISABLE_COPY_MOVE(SrgLayoutBuilder); - - static void CreateSRGAsset( - AZStd::string fullSourcePath, - const AssetBuilderSDK::ProcessJobRequest& request, - AssetBuilderSDK::ProcessJobResponse& response, - AssetBuilderSDK::JobCancelListener& jobCancelListener); - - }; - - } // ShaderBuilder -} // AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutUtility.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutUtility.cpp index fc3fbfc32c..db7251cefb 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutUtility.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutUtility.cpp @@ -109,6 +109,7 @@ namespace AZ { RHI::Ptr newSrgLayout = RHI::ShaderResourceGroupLayout::Create(); newSrgLayout->SetName(AZ::Name{srgData.m_name.c_str()}); + newSrgLayout->SetUniqueId(srgData.m_containingFileName); newSrgLayout->SetBindingSlot(srgData.m_bindingSlot.m_index); // Samplers diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutUtility.h b/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutUtility.h index 43607f600c..140e8849a0 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutUtility.h +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/SrgLayoutUtility.h @@ -15,7 +15,7 @@ #include #include "CommonFiles/CommonTypes.h" -#include +#include #include "ShaderBuilderUtility.h" namespace AZ diff --git a/Gems/Atom/Asset/Shader/Code/atom_asset_shader_builders_files.cmake b/Gems/Atom/Asset/Shader/Code/atom_asset_shader_builders_files.cmake index b3b2032c54..7f983d218b 100644 --- a/Gems/Atom/Asset/Shader/Code/atom_asset_shader_builders_files.cmake +++ b/Gems/Atom/Asset/Shader/Code/atom_asset_shader_builders_files.cmake @@ -21,27 +21,19 @@ set(FILES Source/Editor/AzslData.h Source/Editor/AzslShaderBuilderSystemComponent.cpp Source/Editor/AzslShaderBuilderSystemComponent.h - Source/Editor/AzslBuilder.cpp - Source/Editor/AzslBuilder.h Source/Editor/ShaderAssetBuilder.cpp Source/Editor/ShaderAssetBuilder.h Source/Editor/ShaderBuilderUtility.cpp Source/Editor/ShaderBuilderUtility.h Source/Editor/ShaderPlatformInterfaceRequest.h - Source/Editor/SrgLayoutBuilder.cpp - Source/Editor/SrgLayoutBuilder.h Source/Editor/AzslCompiler.cpp Source/Editor/AzslCompiler.h Source/Editor/ShaderVariantAssetBuilder.cpp Source/Editor/ShaderVariantAssetBuilder.h - Source/Editor/ShaderVariantAssetBuilder2.cpp - Source/Editor/ShaderVariantAssetBuilder2.h Source/Editor/AtomShaderConfig.cpp Source/Editor/AtomShaderConfig.h Source/Editor/PrecompiledShaderBuilder.cpp Source/Editor/PrecompiledShaderBuilder.h - Source/Editor/ShaderAssetBuilder2.cpp - Source/Editor/ShaderAssetBuilder2.h Source/Editor/SrgLayoutUtility.cpp Source/Editor/SrgLayoutUtility.h ) diff --git a/Gems/Atom/Feature/Common/Assets/Passes/EnvironmentCubeMapPipeline.pass b/Gems/Atom/Feature/Common/Assets/Passes/EnvironmentCubeMapPipeline.pass index e086f62e27..70f1999d8c 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/EnvironmentCubeMapPipeline.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/EnvironmentCubeMapPipeline.pass @@ -206,8 +206,8 @@ "$type": "RasterPassData", "DrawListTag": "forward", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaderlib/atom/features/pbr/forwardpasssrg.azsli:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "Shaders/ForwardPassSrg.shader" } } }, diff --git a/Gems/Atom/Feature/Common/Assets/Passes/LowEndPipeline.pass b/Gems/Atom/Feature/Common/Assets/Passes/LowEndPipeline.pass index 38a4524aa2..9317fc6396 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/LowEndPipeline.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/LowEndPipeline.pass @@ -158,8 +158,8 @@ "$type": "RasterPassData", "DrawListTag": "lowEndForward", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaderlib/atom/features/pbr/forwardpasssrg.azsli:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "Shaders/ForwardPassSrg.shader" } } }, diff --git a/Gems/Atom/Feature/Common/Assets/Passes/OpaqueParent.pass b/Gems/Atom/Feature/Common/Assets/Passes/OpaqueParent.pass index a691fe2534..f45f5c8b07 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/OpaqueParent.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/OpaqueParent.pass @@ -122,8 +122,8 @@ "$type": "RasterPassData", "DrawListTag": "forward", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaderlib/atom/features/pbr/forwardpasssrg.azsli:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "Shaders/ForwardPassSrg.shader" } } }, @@ -222,8 +222,8 @@ "$type": "RasterPassData", "DrawListTag": "forwardWithSubsurfaceOutput", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaderlib/atom/features/pbr/forwardpasssrg.azsli:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "Shaders/ForwardPassSrg.shader" } } }, diff --git a/Gems/Atom/Feature/Common/Assets/Passes/Reflections.pass b/Gems/Atom/Feature/Common/Assets/Passes/Reflections.pass index 3442102291..cd548d0aea 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/Reflections.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/Reflections.pass @@ -89,8 +89,8 @@ "$type": "RasterPassData", "DrawListTag": "reflectionprobeblendweight", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaders/reflections/reflectionprobeblendweight.azsl:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "shaders/reflections/reflectionprobeblendweight.shader" } } }, @@ -203,8 +203,8 @@ "$type": "RasterPassData", "DrawListTag": "reflectionproberenderouter", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaders/reflections/reflectionproberenderouter.azsl:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "shaders/reflections/reflectionproberenderouter.shader" } } }, @@ -253,8 +253,8 @@ "$type": "RasterPassData", "DrawListTag": "reflectionproberenderinner", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaders/reflections/reflectionproberenderinner.azsl:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "shaders/reflections/reflectionproberenderinner.shader" } } }, diff --git a/Gems/Atom/Feature/Common/Assets/Passes/Reflections_nomsaa.pass b/Gems/Atom/Feature/Common/Assets/Passes/Reflections_nomsaa.pass index a35352b9f0..b3d7ef0241 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/Reflections_nomsaa.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/Reflections_nomsaa.pass @@ -84,8 +84,8 @@ "$type": "RasterPassData", "DrawListTag": "reflectionprobeblendweight", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaders/reflections/reflectionprobeblendweight.azsl:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "shaders/reflections/reflectionprobeblendweight.shader" } } }, @@ -191,8 +191,8 @@ "$type": "RasterPassData", "DrawListTag": "reflectionproberenderouter", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaders/reflections/reflectionproberenderouter.azsl:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "shaders/reflections/reflectionproberenderouter.shader" } } }, @@ -241,8 +241,8 @@ "$type": "RasterPassData", "DrawListTag": "reflectionproberenderinner", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaders/reflections/reflectionproberenderinner.azsl:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "shaders/reflections/reflectionproberenderinner.shader" } } }, diff --git a/Gems/Atom/Feature/Common/Assets/Passes/TransparentParent.pass b/Gems/Atom/Feature/Common/Assets/Passes/TransparentParent.pass index a9db59c646..bef49b777a 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/TransparentParent.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/TransparentParent.pass @@ -123,8 +123,8 @@ "DrawListTag": "transparent", "DrawListSortType": "KeyThenReverseDepth", "PipelineViewTag": "MainCamera", - "PassSrgAsset": { - "FilePath": "shaderlib/atom/features/pbr/forwardpasssrg.azsli:PassSrg" + "PassSrgShaderAsset": { + "FilePath": "Shaders/ForwardPassSrg.shader" } } } diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/RayTracing/RayTracingSrgs.azsl b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/RayTracing/RayTracingSrgs.azsl new file mode 100644 index 0000000000..7ed080d5e9 --- /dev/null +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/RayTracing/RayTracingSrgs.azsl @@ -0,0 +1,19 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +// This shader is not used for rendering. +// The only purpose of this shader is to have a shader asset that can be used +// at runtime to find the RayTracingSceneSrg and RayTracingMaterialSrg layouts. + +#include +#include +#include diff --git a/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/RayTracing/RayTracingSrgs.shader b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/RayTracing/RayTracingSrgs.shader new file mode 100644 index 0000000000..5512b1ad4d --- /dev/null +++ b/Gems/Atom/Feature/Common/Assets/ShaderLib/Atom/Features/RayTracing/RayTracingSrgs.shader @@ -0,0 +1,44 @@ +{ + "Source" : "RayTracingSrgs.azsl", + + "CompilerHints": + { + "DxcAdditionalFreeArguments" : "-fspv-target-env=vulkan1.2" + }, + + "DepthStencilState" : + { + "Depth" : + { + "Enable" : false + }, + "Stencil" : + { + "Enable" : false + } + }, + + "ProgramSettings": + { + "EntryPoints": + [ + { + "name": "MainVS", + "type": "Vertex" + }, + { + "name": "MainPS", + "type": "Fragment" + } + ] + }, + + "Supervariants": + [ + { + "Name": "", + "PlusArguments": "", + "MinusArguments": "--strip-unused-srgs" + } + ] +} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistance.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistance.precompiledshader index ff862d587f..0322f750a4 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistance.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistance.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridblenddistance_passsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiance.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiance.precompiledshader index fa2f9db810..f6b19e6f5b 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiance.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiance.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridblendirradiance_passsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateColumn.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateColumn.precompiledshader index 1c8c4852c4..e9ab96b088 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateColumn.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateColumn.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridborderupdate_passsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateRow.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateRow.precompiledshader index fd99d34541..bbfd19ce48 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateRow.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateRow.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridborderupdate_passsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridClassification.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridClassification.precompiledshader index e7b15190e5..75fbd1d7a3 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridClassification.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridClassification.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridclassification_passsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracing.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracing.precompiledshader index 5826fc086f..a9f75bff7d 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracing.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracing.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridraytracingcommon_raytracingglobalsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingClosestHit.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingClosestHit.precompiledshader index fc99fb97a1..15fb9ecf52 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingClosestHit.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingClosestHit.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridraytracingcommon_raytracingglobalsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingMiss.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingMiss.precompiledshader index 75db2ce8c1..38bb7e3de0 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingMiss.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingMiss.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridraytracingcommon_raytracingglobalsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRelocation.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRelocation.precompiledshader index 05c3c7d87a..3517cd7955 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRelocation.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRelocation.precompiledshader @@ -9,10 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridrelocation_passsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRender.precompiledshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRender.precompiledshader index e8249fa178..29f9476ceb 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRender.precompiledshader +++ b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/DiffuseProbeGridRender.precompiledshader @@ -9,11 +9,6 @@ [ "pc" ], - "ShaderResourceGroupAssets": - [ - "diffuseprobegridrender_passsrg.azsrg", - "diffuseprobegridrender_objectsrg.azsrg" - ], "RootShaderVariantAssets": [ { diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance.azshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance.azshader index 4a5edc370b5c1a1d22dd012739345fd0d299317c..596f9a383eb7adc32a15e4712b7238c0188e8246 100644 GIT binary patch literal 90350 zcmeHQd0bP+_P+r{tQ&|+-LcfI6%bG=Dhdb^6l4_yBbdSsM6zH40zS1=#HvpP(UwgV z)K*1QP*f09+*&plswlNmc|KoVT6e3JTKP@FB1vY#oi?$*_d5Jx`{9yvzBw~{_wV|A1NL$7T!>B3)+-nF}wwJh$dRh2VFSElsu zcPscp`nU(x^Hz5)He>-Y3P0>Miw~bSzUc5gy3upv-o)jL$K2~XT`p0tbMeg=z6P#$ zlijNaY_>M-5m&a>X{7R3>Fz}HxY2?rkH{##SVVDpEfg9+q0c*NSa3x7(>$&~N>k-m zjC;>wo$T?CUZscUNIvaeoBG)FdoHJXMI8+h1>l#Dm6q&h`~mQtIlt&nd>GuA6GsDJE z?0?=ly2kO&%iz5ka}tl~%(ef-jqS`noAz1rx+k#&KiOM32Ekj=|n(LCB`Y$QGx zr_77U_&Ml1x1!gt=E0^}i*@6rVJybRl1&b{3Jy#~lq4FAAC`vJDahUwpQiINbj8>( zm%y(N)?eBttf{e*f8}>RSsPaLLGZB5vVPC?LsoszjHlT5NB_~*p63twpR+hEsWyVH zET!q#jLd(?=JI{xgN|k_x9@ehNA#y^W)}GN@R73oDd2(mOx|el2f>q0ZY@)p$zn+i zR}xCajn_S69$B|-dCtA*W?6b(_wNkNvoHXk>Uo&e>ng>bYqe%$U>~E^bdJy7&nF*< zsF>tcC;xt|uWck_<`+8-%G;ajc_L)SNcQrN3~q0orEjjEJ^gaxjfQJqOkX;YGdO0> zIOXYjGW=o+MX{r^1IJ#!V14|M?i}-#tdNP<@@g8JMJF1Jcz7Vp#XIHst{{i#%Az^2 zp`_Snzj<__vUVuT>qubAVg0Hf`yP6AlPz;DO`R$)nI;AGPkLft?Njozi(IO~(3G#e zG83l7?csQ{9v?Ur8w~Rgo?NNaM-oQG6>b`5pqsmAD#s;|x23eU(fy!LMWWM03*ZA6 z&>>M$3$b-59W0HGq$P{E5cQxlOmI};6V=b-BBPDbs@VgZI`LWyUFO|BCwrlXu z`J&-^Q`+V4qA7NLzo5%IXuYv|#d9*!ht71eJ7;o_VxQ@5x-B{LR$btG0XuTW&yw=Y z%@XAH(A{8nV)AT1=l6?8^_$`7CA5V4%bvpENSW97=EnI-xH4yt@R+(3$E`6gS9z?# zOkz=-3iIFe;ZNS%@3au|1bpldfPAwfy%mtaGhl%1-eO6gC~g!jeM@%K0fuCMc*&8f z_tJSF***Kk9^c+iMm7FBiDJL73b+>U*feBAADB%afBH?Ta__G1}JfRqf}$or$N|ldL1sBIpzL&beLJ?Ft$>!)>sy zxL~dG7=P;ME&2ZR%zJa!ZDoO0+t~q^g9~CJz<0Q*^X=#o;eg{A7QtQ{s|t#E4{HnM ze_K*}Wq7)o_ZMGTX0FKZcJr~^aysAJm^@hJ>%FUR*omBF3&NK|_c9e%(Y%{+)^;8} z&%rxA{;_RvT)tVPy4~y#Xlq;Zc-myUI)*l-#fzs)wg`dEw_eaGp6<;GDD?|UUcGm6 z{+Hi=o-eogIicm}yA}s^+v{%X{EtcNE`YynsJ=R4`(%f_J=uZdG9p$VJ$BOTs{C(z zpKYQJM*0V@j3~%VeIZ;9{?^B?5coHR1g+y6rGn2@BH@OD*N_m}Srj4;1rEf8 zD-?2(Hk_<=j25aGMT=;Ol*WZ>uXU)Z!#yin_y(pg9ZL()OT|g+_})`7CBWC}VLCv^ z);hYr?a_(E5+PUM$mgQ%<)(E+z1t&N1YX9~;_=ivp26+$$agJ2SjZt^y2f^WI|ciVC8m;Dui#<$>`;0-TQo2-d7dPHscm16(8)LMb0(ArU+fz3F)C z%15Hpl-*RPoI77MT_P4m$q=?WHRQk+Y8{|)`zaU64VCSsNH|4EI0hP80sSCwEa#4$ zhlEsygk-2yNS0_w7ylwiR%l2Ke-R{WG^9sbhorDCwoGlyKQNIr<=wlso7+ej6v`|h zhNEVaq1cYKU-eyj`&JPrEqHNSaQ%ZXOMH0pz{pJB>d%br=Z=oIH__Fdnz^w#5Hu=q z?z-jg1{oIZGfs%At1*TKxfpt{<^a*ul?EG!`up`sshp7M8oqclD)iO6Ef~cJgQ|a5 zJq_Xk=!OSCVc76A4aC!g{SJYL<{dmV@a2Q2asZynj!qeP%6s7{Xa1In2cruf4AlDt zp3?4kN>yJ8VG#g42(o)s3}2%f>uMLb!PBgdr&-m@L0=2-Fc{)tfS-H7j*h4GT}@~O zn>L=-{+iGV&UkoQ`)WcfIL6^=?T4qekNLOB91FonBq^L)@q8_0{wY?WG-kp)Q z!WTuULq&0JW%jLB<&pt4aHf1n?wGBGD`rijfN{cBzOG@tYve5KW;dri@6PWo&+haX zj*8lXLn`MQtMR_7E}5vrikc}bMgd@1<^>8|@w3-C`b#Qb0*MrRU<}`Ka>nW{eaHFP zWVzZ7oh-2RkRL{LbGr7_eP-wM@kV`K|GBeXO)tNk;y+&RN%DZ6sgZM@mnAOCyv zOSajA(ArzI*8_U@pIsHdv+sm@k&6vm#{RRdEKPA3=r<$1a@4(FmT=hYZP9{2!lEZE zdT4T#W~u&QVKz@|;hA376r70R#hXG*}G{T~nC5^}_b**$T!lFkd+H`!KhMHy|M5g8Z7S&4$ z*d00wA7RnUYA;|jU{L0?{|km2b_a#R2cnQ#o{p+lgsQwL6gtA9CoFnovLi#f3~Fx8 zN6vh(W(kWPnllQ*)Cg~(spFffw@@V%phgr#z7gp3G&G{BQ;x9c)#W3@*<^%8uUO~_ zZY9E^SG1A>>w&Q735&j^-Wg%hGa?DXmk%Ckh_L7>im>PzO*d6qB4N=J7QLEmEW)Di zI1P@l=w(GJ8PPky-EkYmMTe2cQh%X=w^0%nee<<7Gs~+6tYHyMyb&NQdIo8=ghk&{ zS=pSh=wXE-!EG&qv`JX>%4N65B5g%j^vbpZ0d~Z^A}o4kTX`aFMOgI8wjwNg+dt0? zrwEH)d0v&F)?nK!24k~R>O}p|vgp~9me@7C4!g43|F(Vfrk7JJoa_c(V((4==GKS9 z8&ij!at=#kEeL&4eB(K%#LI09gxjySt`png{ufTxn`4D%&jc(>ayiv0)pX|>ImLcc zY~a3tEwew%`?BXZk)0ev<75q3{_X$3L*O}n;D=lCZ_orasizf+MP{K=s!n>f%X6gz!i*oK<*Cp~xA2Bz)3%Gp)Z zbz!4?kWls(U*43Pl`*odBC6i`s6@yPUs=`ccMI&tbVF%77_7SR;B|?I77jVu-xMh zY&Rs%*qnLwy{z1QtLA~c^wc|(f=)?V+M zASt%bSUP}hx%u_0gN^m$Mo?71Z{LsTqx$QXEDIu}ovDaT$UONwt{sZQv5gpsaAOyK z&3eLGQ|M*bd8Dgpd|Gjepx^4(<&E11@maxEz5O~_I6OW!-fUdei25wf)9i99h#25O z2VYyi-zdMUQQk6-wFkZn>{8;MatQci@Z{Qp^^PZu4oiy9xHT;wb+5~r?E)M56RN!7 zhur6^F6;LtY=7z)c_c5d#+X-9j8Xy|`1U)K(je-an$<&}l-qZ%oXUzY*p&Op-C6mc zE^IQ8RAqj`S$2GDeB-rOt5!~M(A#NO$$55C90foD9maLPErCBtcxaXnf8zLj&q2sn z1Y1@4mZog8zfL^>V4FU5I_v%c>xmByXQbu$AJDtoGbfJo)0X}f5PN~|zgr@n2z|od zKW&Kd`s{TZ){GDOJa49#SK&XdJZ;{o#@wJ@bKRX@rELB2P`7c3v1*3!UfI$8$9jL0 zV^=Xfa*eS`zoPR$AC}Jsj@^X!dO@B5NUMMJv@xyEO!zE#T1`QT-|VlyOtozutUFyz zKZ1M)%({R6zVZm<36NI0Y@jb(nrse3zB(x6L%t@&F2I&#G|8kTYm>Mj;%TAV6M91d z+ZX%kXp_TH)Rg`)^X3{BtQUFi>L)xWfA3$t;P$bp!{_BCZi^hr%6q@EIoS1Qek&KN zSN`q9>6?SU%lOLS-u1;dX=vo|9Z|F}3N+5)hDw`*hK-*F8ug5rTfBDbLf)3cm-FSK zbW@yGee=v+xapsJPSxzQxWuvMR5(Ij`$0`Mt^U0%9@(No#XQu@ituj3bYgO{>_4+~ zpPcM4aGIW!x5M^7x8oy;Dl+5E8hU-r$s8o4CdKVHY{`qk(q-81dmZhR-fq=9u?WnJ6TcrQ(R5AezPrekGHGfqK z!M`1dq}Ylq9NOZsm^M-+#a2kM6;f=4v@F$n-l=+SGAbVy(DxAeu$s!&CB;_c=iTPb zol#F*2DPJ6!#M^yoSI5+R-3egf(3|=h*_p7Sftp>uGHj2hn9TD*7quA9if>wlR=Fy zX<7QaeQj>T4P#kd7-p#oC{sFVeW|FHPawrs)D_?N^^9S%Ys6djYOuY?Mnd}X;}(Fg3Puq)hS1ct*G;5 z@G>H#*otBq5xA8|u@yxtDeQ}+*a|7OLW-?4$A+0@G{ctZ3jXWX<4c~f}~|Bb1(V`HLqlx^JW@2)6J_)bD}79qEH1N0AhH-hyQ_= zrFsLLL;IMFa{SNEh1~30gPvxQmZkhqM*%GgZDoX;a~Dem=7dE*s^1Jp!lF0-O&^lV z2@+-z{b2};p0MbvpLuWYx~(kGYCAjNa&SRR1jt~zsq^jV65)X385Y4_8>P(O$ zsVO!hVbLdG4<%vI6BfNFL>vk(*j%_mAs4xP?UBn@Q;b+{au%`76Pt^~ z5+PUM$mgQnv76S%6Mnmc8b89Kr{zN@A4I~UXUGO8Ec!o|07h8!cqd*suZytg75U+C zD-jmGqLmc(MZ%&dEPBGC$Dyjhmk%Ckh_L7hi=H8)TQ$~2T9%TQrE2)>q-7~-Sqf@G zDEJLf5E8u7OFe0crvx+?#H6yfv1OR${iwgtz}qMZiyr4_!YqP`Hv)u3PgwMXMgP#P z{WXmtE_=`rMfsyh%Ti^6>sX|%NXt@XTY*b41aX?QELFA@xZpw9inJ_Mw$%=#t@3eQ zUp`V)A+D%Gq^KfXQG`WLSoG&S%8QLcp5Dw)pJ?#k!lEZFOPM!LB`r(K_aD8uJ3-Id zjxB3>z`LJk6*JbO)Bdc3RXyh=H?UnH>`v0MG+B8w1o=7|ZH(h`I+B(w;!5~jQIv&4lvwD)6-EkZ zKRz8pODv+L;2#I6l#T+Q3ZbP^vBZ}aMq11ee=Pg28S_4%i=qV)ToLI6N@|#p8YY|t zm$zPp*KtAIQ> zL|FN2R1UE$B2j8p4_Vac5)#cSI z#WR`0NXnD0wN%3d57t|*VS)!v)n@H-VNkOS@CgyKOjEP}?ba~CGnpzS+)=_03y%_k zW4v#;gqDVj1)<2I8xyo{yT7IrD4q>1gzZXO$d{_CXb~-u(ykH-Hx#@xh0xAgt6_o% zRdu*Qr_DDoed$dD6U#|b#Ji~ zD4wBI3rc9ch6x@(g-Rid#DZuc?JizK3u#f5Z(JmebivtLA5#Tna`)yFA`uG&9y}fh z`JlbU4kR*79p6;Fg(Ej4g2xS^JKnkg?^w%gL3PS$y%Q+jlrwJc&RPmRAm!)jPa2!P71~!D5^VnME-1Adng+47MqSFc2g_g=caj zyisRx?S!Yl6P|vB194lN6;CDU1j@9T8tDYeJo}z>0%dM1aDRoMPLWQa%2~~%6Dad} z1@00M^NQ3kQJz;ILXNOiL(4gk#dMo!K#F>VD+)xU;i%f^bBs}yX-*Uf`=U`{cLI&! z4V}H>(7tNf$tP^(>l)U(M$W=+c5}+}?)>iZ>`ss2oaz;IG=!X{2XI_tHQt9j0-_Qt zYNoKJt~A&<)Zed9O67!1SJaDp6Zk>3DV<$eA1~0$lmKuPdteOTa&pG%Eq%xN*<`ue z4xKEp^^m_J=sigu&@+{Cy}OM!`}*U5Z+^)(dk|WCtM+<8@BXu^;&=9)P%m<^Vav)f z*jARNI1KcgkzP6K-Y-iyZ1%QjL10s-%1fq6LH(1S7+Cw1{OlqZYA`hAYp=|NX>ofv z-mJ$5PQ?b7t#ulyOpNs8N~J!MFeMd&+&xn{E`hu)rL~Rj2Yo6CV;?iR1Yz!kEW%*s9xAyJALorUzssoUNjR@EV@(o_M+y!a#&E&*w@p z&)|eH&y)&D81u~8x`Z*$+*X7!&)imoG0)sqgfY+DR)jIn+*TkU{5NFGYqRSoxRYf& z-2cMKdULGs?3sXNNiL^4rJC+M!{8;MatLfn;K{WG>m5%R9hMZIacf#W>Ry*K+XXiACscXE54q1-UDoeQ*#6Wp z@8g v@@yK?4O6kM8n77YhDo|%l5Uu9r5ono#03FAOqzcF|7iLdkJI!MjNAVKxIm%V delta 695 zcmaENkoDA2CUFKJVD4b+)bans9p+fOUN8THZ*Jbo$%V|K6LqZWr?sv;wC0O*waU)G z!!s^uM#yZIko)QA5NF9$zHqKXyP>bm1V?FSmg2M}Z6&*R{yI_-bY{lsSM2wn`MI`w z@!bNM4g)_5uRCne@&=H!&- zX66|umSpDV!K4a`@{>~2i!xJ^a#HhBQZkE667!N%;|mgti;IiW^%ARqBm=|7ls0B< zk7%Q=$+tT%J~f{dIk!PA$4gSBWx@%N!&zm%e++I8buQ_Azm~sZhwaqKfh>kB+x36A zP2O(YAjl>^=~&?GX6MS)F+q$UHyx_j%xHSikRvkiQ~v36`HPcprLAZESrA`-Ve;QvS02MC&VbVqT9frE*&zrU5ko diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance_dx12_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance_dx12_0.azshadervariant index e362a352c2aa763c73c31f61b49f9afba0f1cd19..8481bdb15bfb4b6e4cdf4329b8539d31b98fefb1 100644 GIT binary patch delta 507 zcmZpR|79=E00hh(jDh=Zh??DSL z#ne1ynbz`2&hwrrJvT<~O7tx0yLYBI0E2{qp;Cf@0bht5R8MASzmjm8L8?(|vbMgp fLcZxwje;ACnijrt)1Au_`1XbT8hs9sNl*X)l*XTe delta 4514 zcmexm-xe><00hh(%=3Lyy$hkFDy6;w#%(yi#a!+yC=xIkU^1w!NcXK-=T9_>`P_}`p;M;XFTx+U#gl% zvBK8lg$wpRf3Z8nXKylRv*31*=?n}f?5p;vF$T#NUA>#>+_24j&fy#GbG1*r;N9QC z7=C46!0Sg|`z9=@KRNr;E9c)aC$HDMD`KAF^xDGLY2n(_8Q&kg`v!6~LrlwuxJ$2e z>?W+==W=Bw@2~ZhyMEe2WOnXZHN&Bo1OiU9im4d$18o+ zzIT=rTfOGYzOFR4e$~2;SfCUWLrhg=Q@``A3E8#peO64L(CWx``DZgkQ)A|y9av-- z8DfsI=Nn>?0XqAz*m@IVrsS&4Mk= zM}By>P5slD(aVzOz`)25RkMj(07D!Y7qY$X75X>U^JW%D`%arNZ-1Utfz1g=hd4{d zp407GI)^=Gte$sJReX*7j>w)nV$DT69cI-^c^J<5_h<93yC!N343WQYtJRBQiZhUG z3i*cABe{iqQ^+@@9@G1vV4<5+>IudWZJkn2N@AgbQ|iGfk)A0IHLcX6X9_wyr5=_M zX%M!=1Z_Q*G69=Y7-C{9v(<4FXy<>-{lwU{B~XA}-BYRTvO-Yv*~6O=WgFgTY&{I zQ07)vpVNN9ZACke`226uc*S{SagG^ShT+76d#k=Na`vrjUi{gqVEdXi7lqSy??kr+ zW(lxdUi`v(1~&WuL+nSAf@%8CaKeH8ls#iM$COp|Fa0(&7XIfbIz78Srf%Q-hF`b- zbhKGGvMjef74zj_ehH+)5Wexd2D?o2d)*DlGW7^ePTy8<#^Om}#dTud{{^}OXg|;e zmNV_$7~gI(wt6q%HDh7;CYG1{3oBz@&yzffCB%Tiys{|Y3agCAdS^M|z6HG#yG-Mz zuJNu94BS$E?K7mt(Yep?FVWZK&!qX!w(^*?R^W-oR|j^j-z#!_q3ubxf-YeN@g3*h zY=fi~TMH#2EHXehbv_F)Q@%U9xjo+b;>O)!p~sd^x2%Um*b8oDb1a&GNw52F+jcB6 zK;!n*Nr#{t2Qdwlkg<549~h3{`WeZe_4M*64u96e!;Qus#o^C-cq5BiF^a>ZIQ&@; zPde0!Q5+t{;ZKD9z_dnM(k0EKIQ&@;&j}2Y~l`*GJp&6143bhbv8fq@N3TL7^K5Jv!U z1`xji;vamIg_w4!vhXo5Br&iuG%_z2f zJY(wQO3{Y6*$N6b*b*0-=^VMDbHu@-FF031>EtYhH;v|w4x4ySG?|_@N;%NxaNB|5 zI-8FGUn28{#0Z;w=MT9OZG1c#Cap_%^7{G;{Ad80bE~b9=S0E{2c6`EDF@pY2{Shs zPxcVgmbjA8bb$S0nDwol|yRJo(gd@6w$Y&-!wn0ftGX1Oo#!5KJYK+1c+ToMw<}l%70a m-de$w`G{V@jYUlhU%BbdWeI%yLVk@t2T+gN@{5la0cim3OnH9* diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance_null_0.azshadervariant index 17b4f0c3cb5168b9654cfef4d9a121661a033107..2f2cd5cccff43f5abd9e32854ad3bbe7a994c792 100644 GIT binary patch delta 68 zcmbQH{ES(g0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-ML@J1ou^ruF_jYUlhU%Bbd RWeI%yLVk@t2S^VT004v%7!d#f literal 4502 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gR>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "7181601620235669059" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "13399614758886099705" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "634125391" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "7181601620235669059" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "13399614758886099705" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3189070339" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "8603598590297091788" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "6181996982157220722" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance_vulkan_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblenddistance_vulkan_0.azshadervariant index 8ed12bf81cb9a1f6114c2cbe8c8591cda346bb5a..cb5de53e97cc33eacc855b85c4a093a879afd88c 100644 GIT binary patch delta 69 zcmX>VKg&U!0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AKu(0pdhc1Z~9ZC;Krh+g|FOn R=duL8eIdU_p97=`3ILeT7v%r| delta 4114 zcmbQ`a4KG$0SK5onCJVZdb?QqB=(;Dc>HJ>d&WfZ!}TXRE(SbdtZ5VEQwepw(42Hw zW_|v<*&Y{7Us!MyY?oWZ7ISVscTbRaA%h|VgNMsezeDG=*q6){^q;Xx&UoStzEm}j zVuh{83m5Et{$h8C&)#ItX2I9vKg)55idEgq1BP?^3P_7rpC-YJFv(w zGQ=EZ&o{&(19bLbv&Gt2Wf)GZ{M4VsSXO-F#^Kv;^;!!<&p*6mEId6*a#DEtn+02# zkNog%oBF3Qqn9Pmfq{`Bs%8_n0ERd)E@XS%EA(%y=glmR_MJ9k-u^tP0-F<#4sn)@ zJ*V5XbPjvWSUvBcs`wiD9g#hE#F~qCI?Sq-@-Uq9@6YC6cTLn77$Se)R;w4q6lWmW z6!HzJM{*1KrjTz)J*M|T!9q8u)Dw&$+B&74l*B>)txTem(XVc9n&fUI~wgL-a zpv1eZXWLa)|D(1_<{1QloA$;R^4R)F4_qrR9W$F={oW8BzjK!0{itEI@{|j^n(0-r` zEN9xgF}~eoZ1rBiYsSLxO)M|@7gol+o+o({ONar3d1X<)6;>IK_0Dp_eG7UgcA3Ua zUE^IJ7`UbS+Gj|OqjR6(U!t$epGotdZRIg(t-uqFuMX^5zgOh=LfeyW1zo}l;ycd0 z*#=1~wiZf4SY&{1>UQ4q_T8A!G48KQJ7@^)r$`>*?iD9R93_hZ~JOio>7v@J1H3Vibo*armydLWjyy^gkK*uWJz8rY zTOOr~M{)SG9=R~0rAKl2vz`&DFruYLarmWorn0TH#Lpp0@skWo;KV1ye$GMNMcpIR#7&{{>L1q2k( zIv@%tDhMJ@6%Yq1D7EtBS-(28;#jTJ;X4V4gxmx7w26IvJ^W$&+D4k z1fjW>wbJ~n?KL8&r^$P24bKmJkQC)_v_jizOnld^udHjb>TehfuyQgRY#++yhD#`S zv2Y>fC=Ly>-~D>T=qOsGVyooJUo}_w92l z;9~NGhRXTtx)kcMfEk4!^7EyKFBn|1c^2O2zIk8l%B5rP^`0TOsMWdf=5ucyr@L{k zmHkr9jk-sbuD2i2_RDm$r?{MOp43ew4HXIqc8|q;9a`w~kLu+eY5Qp|hbN(kvMUBX zXR%In|5uOV!*j%+b*o8yWb^}vUAd~3qA>;FmyMGYObS|XgaL|589^Q6AG9fxi<3-S_alwv$ z-yW>HoXM}M8ZZCKAAY(%xL|a^kd)Fs&$I*Aj&8zJ=>3!LD0BA!;l-bX78%$<$M}a>Gn0jJcsZviCiX%AU zAR=m_=4lgAZRX01dozsFv^?(L8JumZ13smDctMsKLCzch`DVXf`s=6+uYF%x9tbO+ z>QO8IeyndNiN`J|v>lMWFVX#Ypz{cFmL_ipxeD{rhfwtYhv~^oyh1s?Ol}Z#`0C z?4tIvJz0+qoQw>hn;+ac5{Z{Mn25?xn4qJXwRbw((T}^exTewdpjY`C`zfYi7Fu-{(zYizKx<3BZJ1DJjT7`4ABoCfxZ*|`A9zmY&W|SG1a;w&F=-eF{6K6@dCdM)H zh-hxII&L}J$Km6`k$s$PJ@{s{Go~&-KqQ;_JvmX{VvcOOhs>Fp1ly%CDywa4gTBNf z*ySd_Ytug&nq$A1<_Y*10!aO4kgZpx_W~2l4hS&2HN*6ha-@{xJw;LjgpwR{*_NpD z&}b0vnf-jPchAQo8-LtLkk7}@y%ufzX3(ZyUe8O+thgH?e>@ZC z4BUKooj&*ezAXf~{Flm=aT_1*k2dzw&#d2B^VRRCqX}~2@@}?me=83ND{n~o>j6fN zLsF-O)lcG#uwyT(-gcF?q1is)r*EKn@;0`NO@V#}F$H3PhDrl!N>dijQ*-o}wf)+l z`$uRu(tHoFo|jr|`Gw{Q7&5a2<+U_Vz-Jm4IIg6Bl6FK=K>LK;HLuH;yZuKvyA1Re z=B;-a>q{KHC10bSdZu>CEcF||ot#@8kQWgKzQaw8??x5z`;}}l4e;1}F0X+5peA4b zw?#Eqh9w(&e!bHyWmRt1n~&s?)A(VMVZ&N)&)xY$j%Tb`6tbLlJ);?iO=}u^edkg0 zZ9J2sA6W!M_tSGn@2pXZx>wR@?5*L|)=4*#0^VN2M$qsLBoT$TTA z&ogg`gCgI6)nR!liO=~f!QXmW6^$NFHC(-zKWEGVN>4)O-N=^zZ7+wNy^de?U}xN2 z+(~2*0M>T$Lt^y43kS8f>@@T#%Q<>!PmGqi6)9Udx%acjM~rjpl#_PwobLR%deZ6f zzTCJn-CF4^}jZJ0+IC*Fa$b=MY$0DuOkj zH7xm3D+`yGh!Yqp2!`U)gW^(ExCSfXa^*yVnAwL)q)qRAkd_<(g{G>IDYRru$n1pS z0x4KkA+QXguv8VXAxaT@8!LxMkx)Phq)>2Uq2SaPGcrmdrNopZ6dtp2YKLX06f?UJ zjv$!w4gttQguEbV$R?;A+s8`SY{48BA{BtGe8>1Es~z7+C4BGpzYc;xVGx)=965YG z2O2|5wPQ3@#wb`qi6s;&RBN?ERc`KC;rw?ny{Slw2Olc-YR5NJDU<-;+Zm<xqfo0xP2wqY_jugD~3nX07o=|`bpa8*`Rmsk6P-}ooguHM*enkyJIicWKqPp)d$oSU|?8 zokfNqZEJS+UVi&l0Xr#RX;MI4!#71Tm>e-TvVuV3?eplWN zq5hWChNz|t zp{B;7ni>l=H4fF(IH;)!sHVUXAtY9lQB8r3EvxB%7E0;s8UR8#3tQ#(*if#V6t7tBR9 zl?yeMk7^2J{UN9dP)&i1J;YQgs;N?_sY|G)ELJWj%Xo-ZGmHFjJ6s#$gf2u|?o*Hx^K^d0zJt>%hA5&kD z#tlI=w`#7>?b&zsx#(TJC)WuaCy_GtpG8G+yiI=}=j4i!_kLZ*Cdtfjo*(AYV=n!B zBC3PI+0>C4-Aiag#(h7x5@hKJ%%w+s`N3Rz%%xYlRoZ6wHf0N#-V(rEdd#J#y>QTe z>KR58(}Qsf2vw1>I!p`0pkXe(?COY|Sof9`hPm{x>oy%9s=>M$NR+AhmW%Sy1l>tG z3?Jsw%PKJ-^I%}%wEhd4o9-kEh7aT-)!ZGG4+@ppQ!sRxOOLtq&?}D&Ni(p%wE)`l z!I;HddfJ<#AXyEWEmXCAQ=To9X$7zr1^I6XIxQ8osB)LXT>AEICDU`tFqdAj>=S*I zFqd92N($Tu%%#U%`sUham`l%yDo8(k(5OS0OHUA(OV6mgDU%a1mmYKJ+qsj4x%3@h zhQnNXS;0z1BoA~!SYa-`#h>Sg z6PQciwqKRP#$d}U2IH_3?V0+Y<%OAhv1E@MM2LCZ#-icdAMw)VfeRO-HEih|Fyk&Y9#;6>A5R5I-cy5Xte9JoM@jA z>9>FG*4b;aztKG_>SP-fB_rCmt7Dj)>L0I_j8J|E_@cZ03LAX@8~sfdIqar?$mmlq&rF|FG41U1 zfV3>LqYH*OguAk3S3PL@GMEGYmQNsII793U?3~`f19u9tKWV(6VfO3P#Mk+bJ(Kbx zwBPK`oWb^ulb)gvgKwt-ANnVUt|YK&pAcm7{@_hj8&0_Iu<%RTca^=ns>|X=`5>E< zo3ZNlQR^>@d7od{eSX76wx_;EPZ}e#vM>Pb+A8;3tYxe9yMH{};Zn@PQv-5@4Jl;R z#5$2W+=3-(9=rHzYW}Un+y7P`?eYd2nLFSukyHmqSiQ%EMi_?$Y zzEkAwaxCzJ82uw;A}~CCX~}Sw=Rk2yU8r63;ZIUe)jFn)DZA6{_$rofb&31WH=Rr3 zc9f?)zGwG4yZq|12C-&>?az~4Z8P?r3wd7O@JtSmz3QR=clX9li_0mouin$GF(>Ni z3#+Clg~gd}^iO_!e4sER=#cA&QnzL6o@g3}g*}p$>i`{2kLMhmRnlOwDb_hP`}gWrP-152Y;Zlnnk_{?Xa#dO8*LGAxDorPxfpE)&Y`xx3MMA@Fl8yB*cNNQ_O z{V-#6#_Ws#`Oe%R(XVg3Z^SR@`I@JHo4NX{m!E}vsU@%msXM=A2fFAf{T?*Lz%Lym zO>1+yg-YhRex0=SxS*fNQht|(wf@|i(PK}MNqe`R7}h6yaKYU5*L%l^3$3>-??;-Y zzJ7VIv2Ma}f|&dJ55s#Y|GN361vb(uR5&KMpZpWY4#8$ygpGhqV;6r*d(8Sg-$SqS z2q&ZHq{4V!pLMUx8n+J!Wd)4y>C?&7=Fzc<#uLsBuS;V;NiQ2uV+PEi1Fvn!(a-Io zpS{9u{ekcOJ}7dHKLqAu@Z{Q}4YtSi4~q*=yS!OB^4hBg)k>z0^fdTY7&k6H%;zopOjg5u9(gW(@Dts^zN+O&lbPY5uZ!> zl)a*4TXf^Kmupu~w$a*URl$CGLMR2GfDeP(-;LUfu?Q`|dvc^YZupb&GBvn?7uQc5J3-1S|XFil$`OpZTratXA1~Q)Z+F ze7|L<&AsbOZ&I|m!w&`Fd?^sn;RHztd8(}OGe3RZuz7{+w=L#wJzSkDH>DYGzxM1? zSAN15drwyFH@(a@XP4X3y!L~#v1qbG3}K>2Iec z;qI`IzM49`B}0aFwKQ$aY7hXqVwDyuZv{`XVS1Png;a9}0|+a?YFejwtaE3%Ym z^Q^^GRuvar!9`ba(G@IUDl1{4=KH7ZbChBCVgZd0f=gAmc5%@a`L4HVd1s`M%b=1p ztU1R*n^RTSoZG#;1A_$!kdR)cDpDet?s!=Bcg&g#{QeP%Rq*OjRqr zas>=pr6L%>1yF$2Dk{;@(VZ3;vUDgiRV`l%$gqGZNDMMtx|F*dF1pg*Tt;6`1Q%UV zEGI%AC0ukxF-i*SA}+dui>~0JD^1y9W;dJZhY#9KW?Xay7hSPn*4^68+o1J2EMUqo z=JfjrEMVGBsTV9@+P>yF7BCfY0z(DCh`PAA=nBf#gjog?ZPCC*S8&ml_NO+54RK4J z6|I+H0aK>T6f9uMydDD3Wq{Nq!2+gj>mh*iD@d%cfN9%Ufg>46tQMdW&A{Oa#8f(} zDR9~WF@*(8+qNJUFl9cAK7{ov8S}h}49;}%Dpj2+qCHcvvJU_;ec6Zq0RdC3ehxvs z3`g4j->$`+^jia-q+tQm&>&kLB?xj7i#b7|96=yu!dWWenP4vc$Ue@tm`l$tH~C$g z=29oPIt$T?!CZRGrLTPInc5|@)NlNDa&C1%UPKtU%XCxYyHQ2_ekEH>13WgL%PZhM zsL3bKWIwAcs<|>O*%))_F_#{5=`oj{a%_>~bmc?>lHFTTP6EbY!vdx)5qldeEMSTS zOy4o)RYl~)T>2L=;B{VA;be9a1)KFiE)qg{Ruw+XrGJ~dVaC^`KjVS5ALi1xTIn&D zo*^e3bLs!sH89MjN1My&*SJP@im7BFoas~yl-<)Th~xlmL2sHXCvrV3C^VJywytAb)xP?`EDxKE8$L9zI$Oxg`g*(#h+fRTYUUa`h2)_8p{ z8n0j>!m6N}3AR5^cD2pecP`|4eZw;l6I2yZ8PDX;s)7OoO=je_)T|0x(#uctZ>b8p z&VGt1U;-_o0;LjDp?MG$APE;y;w2n0C^;fEwUG+>UL3xNNBM+O5tP_8Tmt^Fkw_>h z_*5VzkqE`!6klZOEL_K(Vo}KQD1W0BxR%L(do2^NkwB1bY?s{&yW;#u zbV1QzwNL$p;R5V9$klncS{NFx_o@qu22G(Q)!Y@8n;YnE zzJuvaMN&NYP_b7#zV}_r1g)Waw{B>GP|WA>Y(qKlc)6%OUJ92^Tk6%r7F0lWRdfG( zkGh~}O{ZK~LhZFo&;Tk_3|S)Nh4U#_;S!2Z38dapA__WZq^rG66_ClNH?KgkkjHc5 zazWw;-unSr7}DERwS7~bEo?b~VO&li)$!5=_{R`*s#^AyyPVo}LD9OLLF?(P`4TO( zp8;kxBwjku60>M<=&N+7xR!}3AeqgFM(GkXN_uLIl8S4Ys3J;0VhpwpJyd&?6xPMJ z_rsxhN}+hbjto*h87)LzS`9TQ3<3rNoLsa6gCK2dcJ^L=`&I!vDPU<*KwZN(MP6Ka z$=;dXm1_*F=Z(U(OmHm|lncZ3!w2nxFs@~SYnk9$CJZi#)9-t5EfZYJMDccc=a!S4 zk$w!i747aGZ3^#&<`L_HVqH)mOoLcO25h8JwkFInm}vbR*D_%+pD3h(XcAOtA=gK1 zbq2>yX#P8)`B&Hwx8zyTTw+~NrqXIy7nJ!ee5?z~JXYZR3PPU3x}a@KePCTs=KTts zB|!QWu4U4;Ux5rcBv$p!`#=`cWuhKx>LIErkddZG)l%b-F{)D4nF48FI4Wda&*z;Vtu6V!0&1`r!4!>m+oX1QhE*4`6*CZ#!9 z47TK1xXDRyT94!U=_V3RcQd)OuRr=R^#y6%5L9!k=K9>8eP^GG-qm|@oxpJtX#;M4 zSyU9q+w}KwPOcbv@7HB)lFSU}`Mv2>aoK32f8ULdb+MHajZv(Q?#_`&yu`soRDQw)9nGx0)7g%G+^xkmjjjj1$}w-=TMSNJ z33iXgd>xu@qDin_8l$pko&bGHWaUa(2bMLl<|eD-ma}~vJ}$%>pt9>N=#j)4pjZPG zYk<-&da{K`KFeUn44X@H{91~6|Pj6$@KVcvX< z3Sx$N^A7tG#(9>8!SqR$k0CH`9(AZ<-h4Y6rD(IBG7}c?`roPycfjf=VYD-qp~JlS z^bV#I%$t8FgN)YmJ35wxaZuCM-s=^RVcxtfVN-T}xp8GjV*&H#(MAA0e+={H74x_B zQNp}=#V9H8958Pl^X4&c9)+AnKYY+=LYOy?dGnYz&w!8!UD46T+ea;lenzxvdavNJ z8=BX?s_+W-cxYa+1}N45#TuZYK}}UUlrM{;jV1%MG2CIXAvEvcB@tz7qMWd%tNeim z0rTb=EK>?;Ak3SW)k{I^Wtcb5ln{w|^UOKBm^aTnR+u->JXV-D&pcL`H_tp)m^aTn zR{u=iygD^N!OI3|bN_35^VCTGnbUJuY;-)?DbZ-xX*o48A<}RE+^rpGZ|XN!zdfmu4pjFfi*y}2I${V12p$)_wUae z<^3po>0evrev7qiwSM=HXFFVqS$Jwdj<6wxteSXdvX1D;plogSg>7Bdd(K=;3;_ef z{>-eC7e;s9k*x2Qlr_kFQ*C!@I4Lnabarw2vDZw}Cv@vCOx*cD|@~tj$|M{kKN!*U|l*jk%erK0oUDhC0*7g8X@2ZFX z-`yKKEiR|TzIso$#+<05FRTD;@T9Of(~bVgZ;uZYW&|B_{ZQ(*Y~2%0@#b+X4(=PmLu&u>>fV0L2oZQXufc36eA=;u=5m)7K4~SGa!LV(!+% z)w%MNnr6KH+Otnx`3Ya_Jz2Hi^fKF=U2aSB+K(#fiTd}l9A9&mZ{4EX$EFXPpBSjF8zZA@|eKA5uRCne@&=H!&- zX6BhDmSpDV!K4a`@{>~2i!xJ^a#HhBGK-25Q!*3tl2hXg5{rwAi_-NHtAHc}!^X5W zW^IpXqpr!fJ1;&ppA3qMIzhZ~&)X7?JwIdVTI`AE5_M^Z1R(i1~+nZwwiSXe!q zrEK!6wDqh%3*yT!OkQ81s>1^FD~O)&o9gXi>66%d_T%xRVeAFZ<|Logk*{empxbwdH$ f{}*hQe_VVD#VrkFxMlJyW(y9rWja-BfJOlTruhK0 diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblendirradiance_dx12_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblendirradiance_dx12_0.azshadervariant index c51aec01bb0b377a28a4fa164b8e56ecfdfa798f..a35179ef7f12d0b686216ab559bfc4d2cacfe1ec 100644 GIT binary patch delta 501 zcmcbXbj(?t0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-MLu#V$>yWpZJg)Wkl9R%I2 z=D0*SIkOy7nrrKIq`M_naYo2f4n;W(EeA2u~j-pjH8(3JsvRlk%xK)qm~goTS4boTkDKjtr8r^ z3s>+utAq--*nUvs@Yu!}xh^e|jpv3yiZsW8OAVZd3@>DGc^6C1nx*i8(cIBt3$ODe z9_fywzYiohA1pl}Hu;;Xw#1Z!ERFn2c$p<<9F)wFIL5$xF5&P5w#3I>L!|@*1HM3bsy>IEiC27cvwk5X`=x}_0aA`qlYbjnE99I0 c)F`;IsA=IVH{H1`fp1^PuhHj#1r(450B!!5HUIzs delta 4534 zcmX@+d@V_w0SK5onCJVZdb?QqB=(;Dc>HJ>d&WfZ!}TXRE(SbdtZ5VEQwepw(42Hw zW_|v<*&Y{7Us!MyY?oWZ7ISVscTbRaA%h|VgNMsezeDG=*q6){^q;Xx&UoStzEm}j zVuh{83m5Et{$h8C&)#ItX2I9vKg)55idEgq1BP?^3P_7rpC-YJFv(w zGQ=EZ&o{&(19bLbv&Gt2Wf)GZ{M4VsSXO-F#^Kv;^;!!<&p*6mEId6*a#DEtn+02# zkNog%oBF3Qqn9Pmfq{`Bs%8_n0ERd)E@XS%EA(%y=glmR_MJ9k-u^tP0-F<#4sn)@ zJ*V5XbPjvWSUvBcs`wiD9g#hE#F~qCI?Sq-@-Uq9@6YC6cTLn77$Se)R;w4q6lWmW z6!HzJM{*1KrjTz)J*M|T!9q8u)Dw&$+B&74l*B>)txTem(XVc9n&fUI~wgL-a zpv1eZXWLa)|D(1_<{1QloA$;R^4R)F4_qrR9W$F={oW8BzjK!0{itEI@{|j^n(0-r` zEN9xgF}~eoZ1rBiYsSLxO)M|@7gol+o+o({ONar3d1X<)6;>IK_0Dp_eG7UgcA3Ua zUE^IJ7`UbS+Gj|OqjR6(U!t$epGotdZRIg(t-uqFuMX^5zgOh=LfeyW1zo}l;ycd0 z*#=1~wiZf4SY&{1>UQ4q_T8A!G48KQJ7@^)r$`>*?iD9R93_hZ~JOio>7v@J1H3Vibo*armydLWjyy^gkK*uWJz8rY zTOOr~M{)SG9=R~0rAKl2vz`&DFruYLarm^~ECW5(Ob6BymiYFr|moaf0Nk_4khXOM;iQ;<7DhrYuB z2bM|c3>oto6)M;o+9VkmDkT^gQYJ4HZHSz$pm38daiN*ckt;e!94z{Rb0w5c&Qf^O zXzu8+h4)00>1m^s18oks9T={&`3UqSGH*zXu*rA+kSo!~$CF{wx^yS6udl$5hT8@z zCpR=k96O-U%hQ36+?` z&eSWp`Llc>Bm1p{(*aVB(v!0ltrbj}kLVTLSk$!em7DHdmcX|!g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gR>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "7181601620235669059" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "4760130259633911968" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "634125391" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "7181601620235669059" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "4760130259633911968" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3189070339" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "8603598590297091788" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "15482970526060535234" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblendirradiance_vulkan_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridblendirradiance_vulkan_0.azshadervariant index 7e790aa0f1ad05e8cd022ea42dcf33fe3553b0be..450f5595a4e4ef3b5b56bd3bd12614d88840b634 100644 GIT binary patch delta 69 zcmaEqvB^`M0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AKu(0utQlP-}I+O!Hq>t3tzeE S&SeRF`$B$=J_kq>6aWCfl^DYS delta 4114 zcmdnw`6xr20SK5onCJVZdb?QqB=(;Dc>HJ>d&WfZ!}TXRE(SbdtZ5VEQwepw(42Hw zW_|v<*&Y{7Us!MyY?oWZ7ISVscTbRaA%h|VgNMsezeDG=*q6){^q;Xx&UoStzEm}j zVuh{83m5Et{$h8C&)#ItX2I9vKg)55idEgq1BP?^3P_7rpC-YJFv(w zGQ=EZ&o{&(19bLbv&Gt2Wf)GZ{M4VsSXO-F#^Kv;^;!!<&p*6mEId6*a#DEtn+02# zkNog%oBF3Qqn9Pmfq{`Bs%8_n0ERd)E@XS%EA(%y=glmR_MJ9k-u^tP0-F<#4sn)@ zJ*V5XbPjvWSUvBcs`wiD9g#hE#F~qCI?Sq-@-Uq9@6YC6cTLn77$Se)R;w4q6lWmW z6!HzJM{*1KrjTz)J*M|T!9q8u)Dw&$+B&74l*B>)txTem(XVc9n&fUI~wgL-a zpv1eZXWLa)|D(1_<{1QloA$;R^4R)F4_qrR9W$F={oW8BzjK!0{itEI@{|j^n(0-r` zEN9xgF}~eoZ1rBiYsSLxO)M|@7gol+o+o({ONar3d1X<)6;>IK_0Dp_eG7UgcA3Ua zUE^IJ7`UbS+Gj|OqjR6(U!t$epGotdZRIg(t-uqFuMX^5zgOh=LfeyW1zo}l;ycd0 z*#=1~wiZf4SY&{1>UQ4q_T8A!G48KQJ7@^)r$`>*?iD9R93_hZ~JOio>7v@J1H3Vibo*armydLWjyy^gkK*uWJz8rY zTOOr~M{)SG9=R~0rAKl2vz`&DFruYLarm>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeTexture" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_numTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_numTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2545742961576412904" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "8492100380431804737" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "634125391" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeTexture" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeTexture" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_numTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_numTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2545742961576412904" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "8492100380431804737" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3189070339" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeTexture" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeTexture" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_numTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_numTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "11053903591437774912" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "17944211493530795673" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdatecolumn.azshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdatecolumn.azshader index d70f7ac139958df72e00df283daa8d18f84925d5..3f3d113787034e5dffde6c1a9e5e05f934cd4543 100644 GIT binary patch literal 28300 zcmeHPdpy+J7XJ;Bb5sbqdMc-f3L#3!o1a(SukmA!njv|O8Iw4Xyh=w1jMVmy<) zQ*;`S9*UB3a=LDzQmLbo!`(A;&%LFeZrywCz31Ha@1Oa6X8rcwYp=ETT5Iq9{VfDR z5Z?WSFr~wJT~wo&si(T7E-!kT66hiw!mqI=VOG{JT3rQw_e2+J7%42%^Kf%x&?y!) z->nowng?0Omqw=0Y^h{de~PZJ7sJ~J!CoYG*X#Dgdj>x>%}|x4va?fLySaMNDG2MPsMr?5 z`8nUst*dmP?Va6~{9O8uE7l&-O~L63u+LgYuPyoH24K$E&-|O7;`W6pUsE%}p%9Qy z6ky=Vkn^G+$a!M&{Ras&mvBhE=@_VFc-fp)Ewb&!{nFG;0yESemJFG=uSL-B2Wk%J z47?!~r8z{_^EhekF-7&!i_FpXWnGNOmEA;{TA{)n*>33(Tx~b2(5$a*cJ@qr>~h<* zYGT|O&({7X-B7wa;gf~MHV*tDFuWoBX$+vh&l=%Z6GW3jQ+VExBi6Ya5`Q?|dn4Do zqeGE1<*)a|xL2(vElqEf80Fu#e>In%YMTf4GD;R#&e&g;Z=$t};4ZHz=E&vDesKn? zSlOi}Elg`}? z!*YfUWHb3JpA0Nv$_s#2LY3-?8xYh<@jxO`TqK&3V_kGuz1*`!&9a*_Kf(_xw6)(> z>nvmzC0m@^X1o#&+aU1p=oWrC{%nKJ$a{S~M+|~DVT%GB)=xFp^V_c_APCCHCa$}C zRjJ_&uY+6^VcVu2X2%$}>qvnWPs`m6trAA_U9=gkRStNnM9_fSx`Bn572$dLg7i{*@*B5^a1P zxPm0nIH286QSbW^G;!s&@k=(u$U5DQ`ha#wQ@NAu_|8mW)Y-!8HLTSUL z8Jj)(R9si;VmmsI-oj-Mv%8%gi$h`i3be^VWcSnofOrD<$8cHzU*D*j_85l(1h>Vf zr5lF=+Khc`7=};DJWH>_rJyIB1P|uBtTZ-VWaC>FqrcW3sp;qVua{OCg1L=E#XQup zlT;Sq3FdI0=ekU-_xy%5d6H#fTUnLc)2<56yR}_6m#4~F9XX+p9#J~${&SAxcddCOaz zcf~GFBB!bLq$tm_^yF9GVc=bBjoQ^KD8sj|RyeFFrwG&0vU^O7^*z%`;@Bdd$9oaReAA!WxZskwG4oKHyuW&0hsCrrhFb>=flGEcV&Imh>*Mk6Do zqzhQ&J$Wn1Lott8*LBD_$LZBqLz`T zt{x5pgnxf|@`2@v^{3Bk#}yWSAeFW;sk2gv8URgM?oksRgg=Ssd(YBvU@-@NF?=~N zXZdvV0fS*Zgs~?$V}Y(BTRJuqK1np}#B91K&*(wSVp0aR0doktAizUGJuNzG-g-Ng zOe57L>RzhmTw}`-6yklUp|>@W-%ZkK%eVonGr?Y&ZzO)cP%>gPnCoVH_xYbQ-k`F> zcCFf4m!Q4C&N#Jo)zHtoF%->ZcoAWcg+Ueu+4nZQ zU=hL~3xn+6jz2g~83x&RPlWiU*{%Ljf-I`GTcdBn{pKnAhgyuJH=E`4G#1=Ii&8K3 zuUS5py!3*;dmLd0`BnA3QLNU|Gz%y63w$gmL$#kA(NoIU<$bZ)F(l6L!i;3;lg*q6 zoV1Hr?3iV{k9l0^5_N_SIglNJr|#*eCfFQqe-p+)Dzmmu?t_gy+rrroYLod)?O)G` z5%iN+2^b46L7XJYqPVuurA{ zv->+N`U$(EMCN>BtA8zgYtzCK-{Ew$LwR7M0QKx*CO>xNs9=nhi662Q7>wS7vC^ULIg}MBUFyswzwG*l1GP4$_1nG*7deY2gN`+W8deaj7SXzTJ#<4W zH)J$*8)mLy4a`0lL9p*^uy}OexFP;nOZv!=?pv(o*6v{%Z<5ZVjb=JIMQz((^$m}5 z*ux^8xm+JwyE(q3L9g@F?6H!-nl~C;N_AbXIX>m}NO^S*`Hb1u{^q-*U+~I$dOn}Y zZ6oYu>|W3?ta>QYI3xYmvdn_w{my{GgJ3~{VR1M@0!F&mqYm#B0GugYoaw88-=;|= zZw)R5VVxR@+e+9;@9u88W3W2M_Ucd9l|++?k_q+!kFzUyn_rtm9UkAi{UD!@7C7%A z?k*P;{@{P0h(!ktcgc5`%=Vx=nH@>VI_EQ=s?OP<5MtW)tzO%NrW9tKUoOF1Qso$P zcV0NHS}QGhKB|y0F@Acicl`Clww1TTr`3D#KNLJtB-QOs_Jy!P{YW!d#@D|$1r7uhUDoNj;z zUDOj>B2p?S!VEEwDZfqps@5#w4DiQ*(z7F0=bT6-t-9HCGHlh*SIv1|DjW*J>ie-^ zl<-w-ad_Sf9qL&ovqRLawtBijfCJAPP)orXev&&pE`_BvvsIJeDUejKXK+jDUcX5J zT3h-aETrLR=vdGA{-}-Gd?z(pv6tt4{keffwEOLDd`kFJ*;0Ip&S>FjoGF4(#mbt@ zmi^xi4;WBQ)ifYHDOcL`RMO}G@aM0c@hZ1%xJ z2b5h7GfgZlE55t=f*YyU-a{r_&Gg0-jy^auYklOdkEn2{v8JS6>{5<`7HrXbIQRE2DJ%|7OqX`f}p3x4Nubt6cE197cx?n{>Wy@ z0B0xRvREIBde<~Ob2Dj$TOf9GFL2YjsSn+!5Yx6@8& z58VyAPr*Gd`x@M>`fsOET*-8Vb5u6Amnb6S=~Nwa)Xy!eva^)a6>oyx{!1^-ypz5! zywFiBe*;s(T6A!>{p^cjHt+wb_qi}6eDNS}TDH$x$`g>2skKkROg&zEfi552?U-ud zO=aU`VWLh{Y;;WK>%}5k>@4-2$FiYYT%}ukPW-barzUrjYThCJnh5;sD4*qRgDiy7zGn>(O8YKe2P}^-Fvvob&(tsZI0pj| z<--=k?-~Cy4a!GEvgUB>7UdK+`w%(p*CO z&>0AwfzTOtngpRU(_iRveJ4Z+O+Ai=2qB0Nf(Rjq5c=&9LLd-9=*)*-*nBS3=C^>( z09E|=pfe5PMBYCnbSCP5RUl_4!^_jv2ZCoHcm{%JV2PX$uP;6yJj3?(pZ;AkXHUfQ zg_g)kbtg883$N1x68rs?$a%wm-0;EHkW|3jM@r=UUW?(tfC_8QacZefe-qDfRIuh8 ztU32PuQ>+;>IVgqrz?l^M+vC^NuUfc7g!GGpH*fAGJ@rB*jKqY-!gv;sxu8xMsDYE ziqQ2`F?J#gOUyu=%s(p6K%5N3$v~V8EYAdrP(hpwEHML1%y3HCK%C69<(Ob49sK%P ez+@m!2I6EOP6py+AWr80u*6L0=ip>OF8x;;BJ<$v(a&09HnqN(Ua9sBxett$_$`QluyvNQ1T zj0>6(GMgpjemXkDSu&L`oa@kT=xZ~ZQj3c9Q!>-iN{ds|bMliCb24*sN^>*w zj1o&S^YdU*1x5Kusp&Db z4wji7Qq+@}zo1H6H#{@Bc+;pg7^L|z_w#^FW7nnG1-G93D;c7|s$wFf5 zS$`J9mtUA{m8Ycdz`(!)^DBs+@0;rFV(F9Ed-mh;qhahB2ssZM|CR@vH+se}iZkGJ zlp)MP4fq@*n6=_bfpvbC56E_L^0S){N4D3MK28extI0lGwfcOFs3ve(n=x|Kl zCpb&h0;nd5ftBGLP>)N5rw!j7)4w7v?c4*f29xN-!|EPL7p{ zsuvTSq2O_jB{9N`w0+^YJ> zHUZbO9ga*53KBlo6+I>yCnYc_aImqI`zW)qF*GGOlyI0O6@Y{;wDDZcaAF8q;K(U6 zCBZ||nb({}T7t)1fJtJCK#nNe86%dafKJB4ylj#)4i+2^WXmWx)FJFPL!f2BJO?kX zq$3L$9Rzr$nSWTr&$;jYZ#QA41QSPN4mV-8M3Y7dHy#-VmV*msG8^7d>*48ey9_2nZ@@S`%Jk1qlg7K-wlGkVp{& zVhK_;_*hb;fM`{$k3bNkpn_V(S3k6fk6NYLTB?3}Ct&?tZF=uo_xt1CyRNfxX6EeQ zK6_^N?6ZG!0ssJr8rc?=8W9p0DO!K#=aVNE6Vi_3`pw#H@z9Q=jf70@m${HVFV zEq!nA%Z{?ru**8XG}1HDG{5{(&7QBOo~~rr4=z7f555m{r`6=^uvy1 ze9*ZOFF3o+s%&9IHgJLS3^}o&s{5_{gKl zB!%rkel;{ax8RsNX5mE1cQ;n@WC#4eH1vmUnP$9eeO!rIa`9NqkGJL@)9gG|`}jWZ zx!~00!iN&1iu+?g6u0i{?)2XV9zGpiqd+D< zmoh4sta+f@k93Yilx%t-PhXE)%?22-w6N8R`WHFeh>7dN@@DooTd$NZi~2&l_4sNB z@f;(E{b3-ctXt*jW#DV~Y;B)n-#F<|V%hZx3P~G#^Cu2`?=N4z*!S#)pF04F&#$?U z|En0hGx8T#z4OVtIQjqh?f`)xaMgQ%lg7@CYD#EvZ(u%# z$kmU^xyNk}NZL9hUln=WCw1<~V2vWcIPiVLQw*uRNwMPzSA4Lsv5%JaZQI`s0+aEM zyFpqr!@n9E-YjBd6Hd>?tRhx5e0Fa^i#+=kQPN%enc&l7+hotKzEGD0aB#bWPYZr& z&&nAi7Fz%FLi32?(exJc2>0opeP)&jsmi$Zm2Ud~-0*M$fi-hOF+a8X&VEFludQ3s zio0i1moNBnE8~Hy^b-Sr>dNR9s3!?GK%Oa9}J>f&*N~nL*%`)(yq5+-}q= zRLgmNd%s=0sB2es;Miu}wQ}<}^9+o-&;MC+&`Eeev&|=h+YXp6l`^ExUD~d&jmH(en!VCZcIL zzx!6@hUHpbYW_@vb{*Q;H-(8;Z!?Jl}e|lW*2YvJHBIoWN zY)y&vf7X>BZJ$tcDKXzS>`b(=%{KYTt(KbE#7{1K{HpNK$R|KB)&I&9Gc1X~6*(A; zl=d5R)#~AR_80Vg=BK#_!wO6*`ud-VtFqTDVpK0Y!r3r5HQ6R1B!SD@+4KR7gbPum|c=f<*1Rkj3Lc^Iv*axE(0O4_A-mkl(qUb-} z$HXmW3ZVLA(=%quD_AVvl4D`t^w*53eY=?E^mf6$brToQiJuJTmIN%oDY%G`gz!i# zY)y8^P|oG)zjq-6pocQ6B6QR?4PpejTLs663&&G^0xK~}@)Qdq!x{H^lFV)%mRo7X z-AVPa3n0=XEPWQL`5HTv7pmR`7(U!VK1EaE+8M)%m6zRA+%CmU4aLXO$6VrAHegy3 zfsL)VE*Um;5ft+sK54|%#b`h{)Pq|EXhlLU8c7^o);bgb4wU)0@=0h)F>a&lP9>~< zP}XVe#zmHvSt)l$QgeKPfrw+$7-dM1(lDn-;b`ob-pdUfK!PtS=2R)1G}uY~yudOf z_=sZ8uspEE5TrzcTQKxq`6QWqk`C2q-GIUhSy}2KdK|~D>^F{F89(@C=w?}3W&hOe zN|ME3tDR;t%jeTvi@@C#?z$RQgNK@EQQSjhlc>9VsND1$eu9_EVC7)5a{suE%dfLM z0g(0BqJs|^Gd}BZ=04`>7!$A-%^vI7T%wCI#>>i8LxuZTJ``)X9o^64zke|H#Qezj zCD+ubQp1hMlCA_6>FAmOF7vir7Kn|3E&wz;iC&c>RI$=k`RNGkTQ|i}GJ7cnum&~- zOoBv5kfMZ44JG@JPM(gC*NeYLCFJS|*+LTp6-=5?C?w?Q2)S%RrjP=m0;toAA9`a% zNP$oR)ak`Pl#QaJHcb-U6E>dVvoHjw!-Gg0AT(}--%_uOUb6y&MPJ{@T%vI}+3Op? z+e#wJ{!lELGlBXhkjeQzDEK34ji&G%jZYtEtsTQQQd35959`A5ZdnlNYIYt@#;>Si z+m-=4Ubr1sUd0Kl;&SXJu4e#GUyzap?)CtU7NcV#ARoq4DYWH)L~25@w2)c!WGiV9 zvUl3X+K9DMq$ax!!>O|hs$E;*ndE7?+4I@vHhI2xgw!fI;tCZMDbti`G z<1opV$x<4w;|dccd2{G9md1#r(m2VA<(bRHlB}fE_|&|dk0q%zoELoR9KK!5^6KiK zcd`AVo@5Ypq>egog=KARZDr8&&6Tqq3Z%6=tfV_=4Zgl`HYl|h->Gpo&^?5_m`qe= z#JUqZSRB+9pH9PZH>1=Gc(*>5Lh4S$9ON*MShvGkFEnUA7BM*<%mx3N$?A_Y;XG0^ z;6#hA3MZ$uFa(SYs)w%@rC-6j*07Ql>|O0827RZHd=^+=6c*`-jxuXSA3n3iMXazk z=NRfV>Kr%&t_ycb$!{l~P6+K%Hjy8#Dt{Q&R5tH}&5k#& z;HDSqw!J((2 z_Ms*d{_|oK{`I_)I}3+G->WA4`o&PFzyFka#SCaGIqT!qIjIt99Cj`kjh9FmFTO;X zQ|C>mG&@YNnirrnlyPN*{5*nGn@t`9Ha}4*zsM-QWUg~Z`^2+#PH9YwQ8k5Q4-#zT z1;Z@UlUJ4_CafhA^7$&Um{1@_a`RMTRK@7Ar99A3ZZd6FGi`ntrVPhWe5suizjtx! zcbV8Ba!zBe3p%0*>g5IQN9Mp(r9^^yhV62Ngth4e|8$iE)-sh?qY?`VxgLbv5esN` zjZC$isLH0RBwAIzR_^t1nDTId@~fWmfQcj->zoGboO(v<>msMqE>4~DiKj*QOB!CF zkr${Ptq&Ojs(1lvB&fKDCi;*)M6lax)2J*NP&kcSEge0@hBq$_(7C%X8`|{ zN_niO+|<}Sim~|x`YRg+U?yxWdI|DLesi`(-@cRe+^YKciPVo6(aqi6?17$VZsE-r zeYSpBU7Z@D`!%e!`s6PMo%$!Yr?F8g-4FATbh})AeFbnYl1?aH8E^?}Cfypz2W~#z za?&0PQ*V8atZp)ytuGur@Dtl%#y|24U0h}Bi1M@qqFa4Q_ZsKVT$|RFs?THa#}8#r zYk4Cf=1N>UX0E=5-)SbtV*h8kGS3Z6 z0d_+~y^fqrcJ&4R*41-GHZH$UbNRY+(Ei|h%j7bK6i2LEThhI)MWuN`O)n{Cb39Ko zJ}UF>qVGSAEpbSuCzH45UKIaMdrGZ5ml?lz+{O*pS*~659n`FPj<_84C~-(9hf7f* zUCvB%Rb&fQVi=raB=L~NQV&9*PF0{$Ni@j90c5R*DqE*oqanP{B$(b29f1Xq*~18P z7_mz@Y>z*07uzwoTQ+%b#n1bu83Wh*Va`n68y7;NS$3sPMZ+^vUOcdrEO3ir`)0<+ zQf)1L?m@29LSp^j!j;TH5_~gW7om{{Fs752sf;oud$bGB3NFzIPXGD_@SKUnHvT5XK@%SDeTv5zAjKR8#u5A|^IQVpNhng0ur7Cq>+4C)v zI&~N}l{~?JxY34m?9ua38dm7XA%@cMB0o7jl?YauYyWhQxtmY7p*eVdfVajd| zT(~6ka{-ob3j!AS19-sDQ_QX+ym*dA;ghEbM)5B7io_xeq|33AVD5X{1eyO60p!m@I%kOc ew-?pj51qaR7yHxQNsTj2U)1iqB^!6a_CEl59>R41 diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdatecolumn_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdatecolumn_null_0.azshadervariant index 7b48ea063165f03ca32e59f82c6d8a4c9e87fd69..2f2cd5cccff43f5abd9e32854ad3bbe7a994c792 100644 GIT binary patch delta 68 zcmbQH{ES(g0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-ML@J1ou^ruF_jYUlhU%Bbd RWeI%yLVk@t2S^VT004v%7!d#f literal 4502 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gRRSEu(whe>P)cCY`1RF zlU&+wR1z7I#n@4uOU^F;>e5{OPpVDDRZZ6JdsN0!2T``|k@Hz~C;vWhB0BVBl3~7S zyQq=^`)%%W;6=`qecQKQkbBf?Z?{TV>!ci*d};@8<+ZNx+c$!{%0IbK^Wc`?spP`- zoIx4?gTUL~VS)9Z_pE#Lxq#;W3i4`Wf>%Gz=r@UfAHosbQ1{9_(Jt+nB9Vb^j1Fw?5|bU$45GRmNFX ztbG4Y-C_Qj#~}qDj^wQ?)k*hfcuZVQn~}*&a@vTQrNT{as@BQtvsZe>| z$^id(A6`k%uDQZm|;0-}`*z&~TrJ1H;5V{lQ`C z%VK6c$V;OdpUL<+`G5TGFcOJR%IsG>#x6gueZVU|9ATnAdzpQ1RYygtMbUHRaKnuC zyo3ejD|Fog?w|B@@#t~rtCbAZDHm{rp(p6f-m+HHgGQz;Tg4@9-^UrA2&*_k&tuZ` zzE>7_%JitL<4ox2_Bpo<&orbiRBIUJkAH4@$TKYaBEMlMFtfd-<%-#w6CJNgLJ#AH zfyGrE=|?r`IWUO|rFXf9`PaNMV6@fKH?DMae%- zXUH`di<#Nt@P1s)_{?{7l#j>x?evlXy?#Sw9c)sM{`HR8Rlqx3QbXcA&7z(7BUW~pCJo&dTyA zOzGcuNQ@Xg^(qXF3U$qvC%bxh&Vz|DLrDl=GliMR=+ZiYFfc=wES1G%CMU|Jf{fG+ zY3YI}605CEC>Cr?2@SLee?I-eKb4faWTQj0T#+etU6Aa$J}q&rlz3h8fK7N}c6O9( zZ9-Z?rYvK%G+MezzClI?x>S)K>nF%a&z2{q%L6y8StFIXvOZCfLROOM3^ zJaUfJgNGjT5|KAsvpw+uA!UFJbxb1~^R*?kpj?Kug2!B^(&t24Z3z*}Nz0=)0Q8e+ zwFN@}J^0Clh|TiGM6>?T(~FrJkPknnK?Zwgsueu;95z5UC;d>Sj$ug^qBhisnDAo( zG-S49VWt(r)>_-IrdA!soMf=Y3{b;VTA{<-;X931#DUz5EG=lYBkgorLBqz9R>Xjx zIZ;-$F4pG7egVKE7xn|T;1L^n5Pu={i+Ioh5dSf8uhZ&Fw#bh&0Q*PuIg?hvQ=%~& zYeLv#4WL-4$%YX5ut$iY=~*MsB^&T|gtmm(CssB~E5lxiDFXHZ=LPwJ0Ms0zjqwK2 ztbB)7_9n?7NBl^dE@C(kLXKDf)_*q9@JGxdt^XXNA%}ks)sD00NC1MEL~{@3{wo~+z27VJVCQ_nMXA0wJbe zq1BrZ=WaFS#djG0Xh8;h0Bg61XxJsuCur=C=AW{E_q>>7=o#~4^S(ti@HR7jW z$ZZK(+qa2^{KedUBpX|!Kk<;k9>CTZKr~w;Xyo=M1U#Yr!S?|Bg#9WYOUx>ekUcx> zOa)rG9j$D=ONd5aI8(V=-=##OUz~kb7DP1sVINL*ILksp*h0tFDk2)SvU6WXG-R*^ zuy(;j!wz!?jXA;=z~&4g8g-1Fdnoaczc}|WtsFJ8^(`kF^0D=ai62{EIPs9d7QogQ zK{Q(*Xyk=0VC>8>`)73Wym9*8;d)1){tw$IcZKJb*1N`s&pY^@bo1RCx}yr%@|&9d zB*M5g`#QfJ4m%We!JP9IKppl)QxwAeKE)_J`Da`+RUdD!zZK+Cs}pf|z^28`fb1O_ KWxx59)_(!u+GNWB diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdaterow.azshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdaterow.azshader index a817f1dd82e2c63ec92c940277897b99a530a0c4..9050f9094343d831346b79bd14a9c614d43e3c44 100644 GIT binary patch literal 28297 zcmeHPd0bRS@_z$}B&dLhtS2ZDLe> z4}{?qky{ju!{LE~BFf6TtQ;yT8jMKf*E5s+R`KDQ-Ry3%_WNf(pQ+c~)m7D1)!pA$ z2!bH|`w0=MNAkOA#xK)O_eft^_B1uvRVGYOXKm7)?4R_y3;XYjFV!(tmNM}2@L)2i zmUREER1)3GUEiPXPNmz?+}#4H*8V{V_Tq3)!{**Z@6e}a1u2QqM8TV{Bf$U!1SPjt zw(lzM64B1bVxmg=Qo<*L3)w_HR}DUu2VQ@kpJz&~{IPae=Vn$|@X7scCh~1bizEjq z*U~nOcDTd}*N758H}5^@fsm@J;@64e%n8fG#nBNV>qZtDaeEY)UGw0Tt&s6>qIt*S zOjVhA!A)@na?>X>*MREb#`FoapapvQ`ytr;0AC?o)?I2v%g;@3?cwIbpd##B;tRGA zF3kIOetnfAeec}vl;<*c-LQ_R9x6^(fPMCQMqTMAHvn_Seh}1rirW{ac3sODheAL; zQGmgx!Y+t^Am_JJ?>|Veg`{KJEvH~r(iIDKjo7vq56aRsg=T3DmX4Tuu0zo8hH4M! z551-or#nVB@Hy-4F+&Z}ORVvZmEFu}xgN57ok-D+9FL4Bp0-=m={DClxp=2PcD-X( z{dUp?&(MCBZaBk}@X5mB7zh3k7~T+pbSBW>uNvVO6GW54Q~6%IN3HiHk-tCFcQeno zvr~mTDG7mAB30_*)(GmXa^NsoLM)b=Yg2qgyTZFw%c_SvKf?Fw^mX6V z=r3gzr&ylfW+I11d@VG1Y>S|xV2)8&^!@(cqeh{c*s>tU4b#o_!uIP)2!b+m$m{Q2 zQ*AuU@2D6<*rwUb>YU(p9W5mLw8E2QoitwHN@TWGJL0JlK`&i?cCD>jiePn)oKz*) z{&3;h$p>6-ldeQ$FsOl`)ix@F;ZL`v`qGq4{I_y`6&%TaUe<<6 zAM>w@ZXpaGMfY9GDvC5Zl}7b*N6_(x!T6i?Bzc{Fhuow6_oh<2?l2LwPtvvPI8|W1 zK#gO1nv|)5&K2nq1Z|lslb4t=&_iD7bUasW3&TTEA(AT&{zE$Fwe9Q;zp7a+X`*lC ztBmU|=lN1-9Jg;v-4)2BQ)l#-{0L??5nMQ3)4+}h2-d3jMi8H}veX~|hXR@*=-Qk5 zNS_toDE+kEt0LP4W2-0rnt-6MRGfOl^{18}lCXKzsH$^ixT$Clf)bxCS27!m`HOXm za_)^31M$MeEz8GNcum zo4otg-Q+f7JGzeD#$^w)zmpS>L*e)ewAoQ?_w)gPc!C5ca9RLg-=vZL7>5D`x5clu z2ZsXMOngI%z^7!LV^rf(&{NLB2Mb)~Ow5+q`j^KUu5&b0=Dx34*IahLgch#jw z_uE<*RIWIm8@6M6D6X%YZc998hsDj7cOhD*g+JGz1eYn$KJM($W7qgLwGLhblj!fbEt{`RWEJI*H>7*V);3(Qy3Kue z!KEqW49$TO<6WMS^2#>?ylbOVw?>vadiz?Xruga^f%KEo_UzKy>!%|HRCQ2}-|=|DQVCjbF{?D|OuL9nVn1p;HdaQt zh(+I5vR-s3?omrs9)2C;|xfu?42zeR5&w;6OE&N(o7&^o^dVv+>|g+0?dUpSYg0e7K%8Kfi9q zVV;gxlbsJn{K-|cx14LkIi1V!CpPf zSVKzNN5g_=Y`MZB{4aG3wjLJrSmeBA(um!aQH4?W z?t$)mP74;ggzTBEH#iMYhxB&}`r$Pc?Q6wPD$kYSL8K^6wt_cpv> z5yBt~gY3`8A6%ylgY3H}LIN}FR{tnL7S-CV)Bo1<)@g@9J!bOjO-cqjOKzgYX_p7q zu9`?$anaB-fw05^fY%aII31c9YSy!+4!A72A;hYDx&3dNw&u7F4 z`pK&VjD?pV&Y0EBlsNJD<}n}MJb6jiv2D|3T}oD=a_u)O44LK_C+)#e9}vVJk}|`( z+nPP@LQ|>O3ldV+*ArLylz-4ld0R^S-h(ydJr=d11n=ev?kZ?+Fx#{il>klB{>8=&Z*>Y`O!4y$mHJb2L=4}z_EIUZrrPNb8*Nfq7el#`vyx(G)Hg|(Uh-=@sW?eIyT9kcZl_X25+9~ed z!bp0JUV7+aR5|nQ)9{v?!Hr$} zF>8!)pwdcoww$p{cxp|Ok7Vpy_C)?tF9Jnnf&DBc;`0VIg$?bpeOcIx9JUHhH^74~ z>y0lJD-#xDg;~T^+#!EaXP$Hx_+von-4U;UUaX2<(_%Iiv3lf-mV6&|E(Kxt|G99S z@I`z{Wc~|%+Bp`hQ{1DjW~M=a1J57QO2rv|iZ?tig{?QcO_$&;lw7!HcuU#dfGHt* zd&V9ttnpa*MDOJOn2kh%Q#x(f%M1R2yuc#f^JX_bCGx3489qgSyyy(h6hWwBXHVrQ z{P%_j3}~e38WEmUsA@hHHA&5Ns1O(y$qmLHWiM*Qkr$BhX}Z5AE(I;!yj(m!=is3O zYOY6ErdC#!-`;w`i&X3GBX8Zz4JMP0Jv=*SL-ekXsBomIwzOfvjg3DfXeIx=de2sBB^{Sxm&+xhC#dfJb&!R~fe}{v?C_mtUIuCVy9S zv9mwD>f>ztITynm-v3?ibD#x35AlI`kk_r-=d9oh%FWW-r);jBNL;d6fZ=gm zgOo0tkvio>td%}jywgOEq{qop-+8PWdnD9*i1QMkNu8eBNvVB@^h+Y}&!c=+wNF|A zh9S!5lTki?OdlVJ@_{HH9(oq!?-1n!Q9l2FnFvun)3;v!{gudhEqH?TaBEl^VD2L&a(=JHa9}`%HRrgsRA;`4=Q=7_ za}L&=`<>UEg8}t}0?9L#!}+5G)PE;X2AB&hhx3mrGXfdGayXo;T%2#2KL*vA0Vt!N zMUmI!Q@hJaWMPRJh?DtyRfjAk6lY!-#KoKg4lYu2>V2K%SDI18BnXw!btfYfq gKMR-)#K}OM48+MmoD9Ut{129x3I8=X8IVi=A1Y$=LI3~& delta 672 zcmeCY%h(kl!2krz9c-OC{-3zR9BbF><$v(a&0ASHxsgd^qK-}dwAPh})_ifUR@oVN zc*X_I2${_iaz7m%;w+iU7tVEPH}tic;3)0PQk=G=RhMDqS<&Lq+U~@V7_~~z?X6yX zw?M|jz>kw(*4byduHEvRXNl;aLl2?iKE)Y{DXB%p`YD-dX{E)f={fmHi8+}$IiXq}24H%#@`3BA}Mif|SIP)cAtL;^N|>biKqXAj!b6F|CbR+aubj zYx3>Ri%-obMb2$d%kh#_X_;^W>Db*kL<$vZaRBX;zLkDCrvY*yrb#=)`fXJ2dGB9?WN`Nh_={w#XTa$eLx?-}>Em*T z;F(R#7Ha=0{Xho8oS~{iO*d#wp63k>kA3=LlLdoAu!e~<%jV*U#Vi5~WPKV#0(oyB YxkpLAfsA08{EFFvLv4BX*8f1G09()Qi~s-t diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdaterow_dx12_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdaterow_dx12_0.azshadervariant index 7335bfca4d3baf8a179abf2165443c62f11a8c80..89ab946fd0ff14f5939a785787350185e6a98362 100644 GIT binary patch delta 713 zcmez6@JUge0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-MLu#V%lTi6=OU&5OwI|#a4 zpKytAa#r1%*Y;<_|F_JQE!iTIKK3#K4LHHaz`zcqZGhMZh+}{_2Z%2KF$V_&g9^vw zeS))84S;Hr7+4w30QI;;c=|8_X#t=T381)>^MQMcJPZtnCoh!Tv)NMEorN)QbECKc zqliIs;|WIjI}S2W7Rnq-lm#&uCvTKE?&{$f>>&cw4g!yYe%DVC6UyS#kKAl^*<>Hc z_&ID4>z1Qg*8&uWSvPOe506KMY zs7zG7nBWWrk8>=E5oR2xHz!8UNQ-1UR49|-EZ{3(meFKjAUz>9Yg+1p242UljSMQ> zGZZ)&loy&?ZZg`bWwFU%m(j}YyBDtHWcuzS(3W<1L+)X=q>CDP&W))Du7)NiZ_Y0E zRMswDJX?q*^u&jlH>aLFyL9i)G8PwMBOCGE24=gB?00H52DbB@Pvz6?S>vtkW%ZFA z0;WA4q00~`a6_`8q0x< zCV?I`o;04kJ)Cs3R%h|Spq&6XeL=6}a z%jObXJ}pu~Txpd8L5zS3)>hnlwIVKcL9N#9({BQ{^=Z?4pL_2g_ul6^PtMGo_xH{_ zGw;0T{hbp406;Xz)`+CAAph{VqEin~9G^#$7|)f?pN6ZS`I*-TY@Yj?$2E>)7cJZb zjLq8gskn=xgqT`|Fii7p@e_sJ*Kwk5RbLYSqHft|55jks>k7EU@1856U04JWGk;w; zVc+XE?b?v@dY@#<3(6#)oVB_=Ury{SWsdG&e5TUpe)q>~teVi_0q@i~pQjmE|FIf~ z{p7m$U45s9THnv_Dou&46NJW%1i+~2753xu3ToLhG*tByW-}I$@u=tQoj6bz+P#{OA%X{@+?@RN zW)DZCSbFq`83YGJ$4P0PW)J{G2KM$zW)Wcg^3nQuT$Ze_&u}T&y=Ly2YiGUb z%=^~nP)1XG_?vvUJCyeADeNHx7_a_V`xHkh-mBdHm?u44SJz8V{-){gCV|O#`>lWq zGt<8rp582CdrXTO;(LaH)ud842FKQ}#GfPdx8VBEb%@97WF*%dYO8ws~Z z)Z~bM-oiX-#$V9KUuL9DH;V}B`Hu8reNoBUX`gJY3yX?6u5;r_d)yq*?gaZ-e+2~^z`?H0_jU|`z(KSzxSCAPs*a74s~tc`YLi(p1?#jwP$zz zRJwj~NcEn~J(1ZH=Ys#XbeO;F_ugQC(K-9)uVvq#pK^WCtl>XB&i8@d*|y;`cl9?W zM)|(z$cY@ipz?><9Pf}*k;W#QgvUQMR8A+K{A_yg{En(_Ae!iV;jtN(MBt9>3`Sb( z6^45GU<~IAMh4O&V_}oL>GMCs@*5AyG zZfRzwQgF~KdKv&k*!r0~1g{0~lEAAQUW4$3DmplnMTUJaQ~?kg9pd@6J0yzy)4ecy z9!mt($C<{MDQ{r0ct?(hebZkvruN-pTGP9Q@Xk$i3^&FBt}Px|fD>>NK?_2|@vt@7 zAwW5g-}0jq6@X?av&zSYY||k|Qn-|Gjf7Al>g8XGQ&GoTkeQBzb@6iBS$JNl6>kUX zW$Q;~gjssc(Fk<57(ZCE6EMAa{Q{b<#JOF_jZ$c@DQ~PLObjMQF@{}Yuf1y85{ZM~ zZCyBM>LM8Kdt&@EQx~TLp->MV6`<#fd004kXj^MA0Ju=*{>Ss*`lDE%%Pw=y-=RyijU~EDp1v5uR1Vt!{WT#DU+9h-nbY zg*rXN`|=@l$fil6f6O5=z2*cF^h6Lo0*H+p;J4J<(xO{}!((r6~-jFAV$^wMJ8T4#lUJV}&i#CS0ebxQ28P_&-^Y85&MDK`w|b~8)-AcBdUhC}*SA(HF#CDylf#D|R3sW(<5${TF zV{;X0C1;6n2+ zipM23Fh$H1)XlpBV_YCQSF#h7oSm(OhL(0Q^)#?PC(hTC?d8_WUSev4lT>MKXd$Mx z2yR6b*M;x3EcVdu4Zm}5x#ZLQ7AHDk+eKD)s{_@Z%%{0c?-Mp~9l-oCsLci|nLU3} zbwbGiJH*$Qi+PM(x;zt3&vW9`4*myF6qMe?Y zJw+yoOH9g$NJ~sgiO%0aWo}s~x^Q{X=F1B%TrO*=4Jy3JD<{n#)j#kwcyzGIgzqe& z(swt%@aCL>;0fiVCtnN%`}&UGt(*dFC8Vubo|%*(i^k6!ij{B}E8b+eL;E#{WLsRI zhVQ2`XnAr{PBuwakxm@|BkrNJU*t4zD$lX4b17U{g&emp1 zNvp`D9D!OYCFM$ytZcOuQ!~45Xm@qAYpfB=StG6w(guYzZ?t{Pk4_GKPGj2Q9FtjV z0*)#JdieeakQp#dsgQu~LE9`bX_bWJD^X{_TCSGr)KW1i%Z-%v%mSKSDOWEhtJ4|k zj0$y5g~H?hAnpED+LIRAT^15=ta0eCap)eZFUL7_Iytl}#&pIJf6(#$jeP%#q56oy zuZ-`fK?2GQQ{kkq@&nEx0SyLfyAvr-isZVfv*c=KFQ4}8DzP7<-MmVCiqamn(5~r5 zJP?lf1^O!;17HelEqX|bu|6}lM&7uY_R^~S+v7=}G9&A|x;R(6U$}(UpYz)CNqKov zkp4+XWBG|+4m^5*EVwPwMUyzY}G8==DaOa z-a2*pCCj?sCHb2-X$IF_I)qzlGPTRaSpwJ0=pXBsad;jReMV1L#ri?(YSykAzwLz_W zg-QwwI9&Hm=BHZE4#t5_e4$+eBZ0at>zwpC{V7^{CN*Z?$PMc+vzU6z&rH=F=i)4B} z^dvSwrVk>lLBw{!*Q1GNZKK-ycge@?D|xtolF`4&2X|`RzUUwd-LfNTA{LsG`0B1@ z#z!s@9PiYaDAdN%>o(-b3P`B`TR4){Pk~Rx+afmd0nYTsWhz4q$rYKi4*O{3kd~6Dm>dLbX*9~jK;(m{vH#wc|%javwi<;u(838nz_Qe(gHMgSES@Bl-M5Y4ALlw#SoeO>D67;s)(RsN>@Re!%5$s>NC9^V8R@Y;fU0WFG^sf-_Cj{P-C?Jt8KkjK+F)JoS?N z4@tuYy3OkJOQSH8sn?l71eQh#a}NM<7y#4ZoOA-;!}NrizL$KG!R)=6$Xb@3igXqW zbKu(|a3NAazL+&v1GuL&T)Z4(gwJyhD)EjN1B^^;|3ctGBtiv_v~ya#)FjdsQqM_v zAV$Zf*p~?fWBAs-1Um-R7sWHm(7PT=lyDG@3bFZsEF?2qG+YE)^jIpLRfS5b{!!#g zXp!WjT32eD1n;S3_yKZ0_d8x`Jfw}Ki6JY*h9OO(x+NVhSw&mB{37))} V5Owd?*t)4EQ?9#~9ee}Ze*uwOe?b5M diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdaterow_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridborderupdaterow_null_0.azshadervariant index 4c967f5e97480d2f8cfcb1b734960233fb410d84..2f2cd5cccff43f5abd9e32854ad3bbe7a994c792 100644 GIT binary patch delta 68 zcmbQH{ES(g0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-ML@J1ou^ruF_jYUlhU%Bbd RWeI%yLVk@t2S^VT004v%7!d#f literal 4502 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gRt3tzeE S&SeRF`$B$=J_kq>6aWC5;TS6b literal 6238 zcmeHLc~q3w75~Oz4T=y@geagS7(f=;(NNYn6PB=RzzH0LK?%q*;4&5$L=h+;a*_Z= zwvdJjBoGu4MXcg7NTS7>h@`YB<)ny;QCb&7>HW>jcgl&M?H~Oke}v1q^X~iI_1*X8 zd&9>t48zak*940Fecb|Li@v^p>B3s|O|t8y>zsHk9y{$9ID1>>Pt+NktdBa($hr&D zZFz&DxbVj8VE?=`#sA7SIvFeaYTtm^XRst`=e>a6mzC`IQv1`B9EwXM4D@&uwfxKH z=L!o1H)F(4XyZ>#*L`MJJ z;ZE)4ytyqSK7FOhkUgEF-)YoUBdx=@ zSxt1MMyoK?Kb=`hb^2a-_uLgr^-n8wgUTC?9S#j>i_L`@rtO!~Yft}U^i+7j={U_C z-40n{1UxAMW5&r?zF zjjVAA|3mNFu7TclpZ9Hg^!@ll`5Hz0evH00w&GVME#1D?kIb8Fk)C|wuF!OLeGkvfswW?s2z6`~41A-dI-E_(k6Pq?yBrc1ZUg zgeQf`S*~GZ-~XlYAy2dTi=6ri@3fBQ=6=0|Q=KnMLJ#Bm z(beS~>8BOxIW;m*^~)Z-B#jRnci(!qH9LJ;L(*5dTePdYX3yl{R9>#Dmr8^CWzj#+ zre-QG7QKO|S=^eOd)BSo8t;cqM>&>ASCy=Ky4L#VOHT#3Rd}r7-EDJNbx+5yyl!2a z%B}fzQqk>d!(NVlQIC&EQde>2YI#>G#tQ@Msum ziw|*`yeJJac(3ByNU4M1>mXUDZrsFhYsD%JwVS@@cB}eKF(M0>n-d(jB%fAf)FabA zJGAIP%8%imA1{*H?b_NQ*nt&&{wy*neOrWKS!kEn!4Zo%H9P(sGx~YNqdsUeiq`-P zqf7t3D-a4s1bIHA$*3x2?^H>=SQ3#IADbx-P2J`bM)(|J9Y#%Vt4p$mlHtpzKlmn- zkt*3BYNj+zY-1m9lejr{qnPHZIQMRczfm+2^pwTeTX6V z^GQv~$c#1I z-HaHD=%iC+)aC2qTDO3z#@e-r7ZYQSbu1$WvGb*hseF!nGxeB5k6sBW8(Xg#%|QZX z|Bz=P$$0f*N^C%x&}Yn%a{+y7(r8MISXRpUDyhPv}A#R}+pp&<7Ca$c^5@4|C*V>t@$#Kp4oGx{lna1%&*M$$Alu z?&OR542j|Yi0U(<5%iQ~#CVMu_87e=7HY(KKz{TeF;MRkV&Hqo26JO2hCN_06D5Xy z2%_#|{iejo4+f#m5M_*|Bm)PwPl+uf893sHQWc1S^90m;*r^OgQ@5C$Cn zSyVgDl{qo+MzTTAmn$)>4>nlOn@Wteu~1@I(`QOQOOoLW9eQa+BWRLhK(~Sz82SnM z361DC=D>56HCmI**2u2ghA`l$d#}>YmSp5d?QDk{c}`eum!PpP9(!Fj$%PZ|6vPabK+lc|{&ngfF^h_!o*WVSxY$O~K0%$}q7&!`etRP!F!Jwnf|V4jmPE2N-1B7 zXbR;a;YGRfIZ`Q)%Zud5cp@Ree!jNqnCp$zF>@b#?MPm|$XWl&>qH=*MUY{o`R8Zu zyV~9%o4t79p6cX;H}ShloSnk$b!=|){@G#6I4b|QBljJzWXy}-wxn$Az_O$+CU+t( zrP|e&Pg>f#(2xbhD1FFfvkqM}zU=%mw$68L?xF>=hCJvzMj=tJW#R2tfd-!US9_Ot z-DqppF8<_lxBg9^rL7yq<;3!3KH>)G9i|HmXrWI!Vz}>c(_eErd?`hgTr=)Co^`6- z><&i{g-GVNtxSGu_7jI)zOag-5e49vSV@caGX4R0X7;c8BOcSrVh_DM(vzlzMKCmA z{PuaLj8*LXwqE%|#QT_pq+Sb+xAnN-Q&MOY`TTZX>Ij1tBk%5gFfMusLH^_3k!3FT zUPt7ng)BOzGtucAFVdYnoAa`~Pi5?){#9WEi`ws=mdQ!z2NhM@@=Jdl>$s zSHasiljz3TJL@J$qgjlNB_AC0D%f-?WRh6We@GhM4?%KWLW<7osD)P19%0`fsJ^mA zP*Gu{c;qj>Ssq<5D57`zNt2iQkxK?O;3*9JIe4J0@5O_`7c9?6%8h8JR+Hh_fGoJ@ z#*#fl!;hpbaO!ZVUF`g3MizK_`ku1>CA8LJ9Csl2Ld3{Zn@_5YWRWC}BZ(s7hw2tv zh^w|N$a*lwJVVd#(Y;g6PY zAY(JbtZrViJ$_I(#9}cka>R|Cin<2Tiwycb-XHDZpY(D^xN~e-K?q$}66D!)PcD^J z_G0-R4of3hHQMA!J;Y=73% z{ikO}(D?^n;MoEs(L{XyIy(d1UAsrKJ;Jz~j#k!r9|$O2>^8y@IKgRDq)cilvW=o5 zq_JX3GJ_-GafC8UXPHP4z!8Y~R1lAfqa>EVXG$!crBX@;eicbcr6NfnB@kPV6-|-< zZ|*bBRU9|gvU&Gv!I>rHTSU#Ywy_XPC^03BBFLA=?ykIY)MKDyO>owRnw#}0SAUEp z$ZC`Dt6M2OE4{*ywA5bX+#D~MJ|M{Awq{#ar{Adx>l3;)Yv_0>*TOteVG!Lljwc)@ z1i61zIKX7Ai=V)n)?v06M2O{n-=7m7DB(m>1RLTqbqTgtUHq=5oehQ(i(r>p{H{;m z(r2&Rbeb0MGX#)r-+>H}ab%SAGeML)26FHf7oyrvr&h9a!mHhZ9iI)T`}Zn>d}R}Q zBf+J<=bBCdua4U~Ubug9_csLT{G_L)*R#d{@=p%wvG)E_BkrTzG=iM_uzbPlRZsRL zmcQcRP8%M>|4CC~7Wly`h`8ury*+D;M zuB2%Jz|lm34upu(k=x)*h|!#;SixY3)32jZ4i>kQ_Gu4kT675ZcwuQ3O$+!<-DHmi z^eq{Or3JJt9plIK6_aVW=kvj^9{lb4^>n$h4Y_iGFs}cL+V!$)p z*7;#zk)Z4GG|LFTwdeO0a35FZE52J)d981%x&MZ3*69oL+T4Dsu$<0M!%Su)M;?g= z>BMzEcGmsrEyTtVVBsOZAO_`LJfN4h%`~WF?~%(p6ZLEzNx4_&KFYC)v+`-NH{-zh z_LElEke<(;jq+0%Ot<9bT=Viw_uO?>{wHI2Hf&nY*5RGg zkndL6%D~bDfn^GXr74T`Re56>-Yw!;PaG7I8k7y z97(wgBSlfbfp~BP0uI!M4qC@(sftlJgOW%oRH#l`hpO7$<6{LMVFpq&DL#CvxM>|< z9~DyqeD6Js8g!)A(RFT&PAHNHID8i#2W~Gftt0B#7|{&yzSt}tU#;Wm(HM_n)e4fo z)=uG5zMLrFX(8)YAQYIU)~&uOz`!!^F9L6RAod7eNrh4_=uarX$xwh`&T3@m*0V9d z86tkHfbtg2paft=4U8AVcOsckWSUx4m5?d=G$2wU;`4pDTo99hkN&MtWSZ(!Rd3P(IlOufZ)SyEyU+Vyk8xJ`#CrZASLg5rZ;TULW z2AI&mv7Tr(2@2^X6q2D1XOXa(CiG_59RTGfaB(A2j?Q%}3QN7L8|O(We= z2%18m@00yT)6)(#&GMrw1drAHfd-mt`RONuYSm4V>Ps&g0An-&Y7b4&wCkd2S6!~? zBA93pTBAWwU9J>#wuYk_G|hTwn$?8Y&~&#))2*~YqX|%&fwSyO@9kC{Yo3+ z4{=sBmF<8^a5C*F-WS!B=b)JW8sKDr*BdlZAQA`RWPnW!nkW!+fr#pkDhiygLPVLO ziZX?Y8iFcn2vn36swgX{C_7Y9;D``ntKq1kz-b;tlmn_LaOegR<%B8*s9Y=VgLLKWo&73GU6$`>js5LFa7l7T$nWK>a;p`tQTMP))oZABFYjwc`w zn1?DV4=O4jRTPN&Lr@iYjE`_I1YXp(ccps}fC10MW3hfR`OV))>5fTY_&}gc%fnIi6bs;c&xyoDZ(O}3jp~y5vSXM%YiQbI&;;KUq6TO?e zGD}Z*!bET7d^z-1!bERnD=DpunCOj(-tV$TVWKx9hCTiCLF2VxqBlWcqBo=A)@`58QlC- z3Ik!Hw>-fI+9<HG=G11$eF|QCD5klyknCRU!XEY{yGapyrNCq;lCZn=w!Qlx+ zR3@q@aM}S8g^AuxM>{5ZGav1k=>5M#^d?8najbb8eQjs(U8mS}uSZ$BId;23=BA#z zGq`VEa_`gb(W_X~qFxo=ddV*G^V&p1KW{em5b6AAgPZNfnS!&$q4QRGoNke9w!K)v z0$(>XY)|N>3E$>?*Z!Qig-cYtoCV%Ax4BB*T?Jf?AOlI9!Qmn!6ixE+Y6ydzi%hVG z9JNr%sxEJkf5^a$CnG;Sfi6N$8la2rN+j%h1HeXqy+HxH;U6;L%$u{LL&`>-8y%6c z%lgRV-tMv9Y`M*8#t<;XU$O;ahHjVIw4HBY3T}Cn) zv1JT9c(v>dy%~aA6a>+?9K5!UP1{0{se7W=RIEJZyVX7{CHFdeM@8%Db&BB~l9#pc z?h&UINBPSx?zpgW72DrPrz4FJd9Dxuc1eZr9oC%1M(w_u;C?xA%9-waMYZW<#n5}h z4aA3g=IFC8Zf?EYf82DUHyAK(XUCtuIH={;R3o31T|I5rRJEh}ky6ux=cZ>KyL+!F z(Cb)at3;#2WHJyude-rNEdL&o%4(i#!lAD>o~iQ47+i9%?TLk~;H$@df4M#O`0A~t z>CYax{?0DFKBrcqyUyj8;odG;x#y?8s;PacfX80=B>aa5Lq@IMd))2n&bD=XwPkI z?O8Gj{2k;jpB2Ag6^)U=Z|3uk(q$+IS=GdG+{4U#-QwTIEnfd-{?rwELMM=UKWxta)`lv72OZI4g~v?G zs=aM_(uv+1QZ}6sb`?7)Sj?>D=f52^q>-txP4GDRJI)<~&9;x}4{>9ce#>~qT9)r;*s{N; zSwc!-65nL$+mgEM?mSk6O~;@Xmd;O)4K=qr->*7@{XDb8hDHqVpgnG^+-sEA+9+q9 z&+`30hP5j4PC5wuF=)9lZKcZzqeGIyVz2rI10J+0&gKtOv=AjV|J?PG)oSIQ#O&uT z;=?&P6~^46LYNZZz_ag-OrcR<-=LnhrNpUa*=Sab!Ma`F+#jDee|o)vG z0Q=O@V_1*&+m3i_I5s6Kc)#BL_F3`lUp93qrLh-y{+$xh2-+5MuWL`^m6}hG2C-{N_mM`-8K+{7qVpNy7 zNfQnCtrYt1FcDl(y!S7icK6umzLRnmZ4vip<$P7v5bXND{8b@VujGdjV>U+on6}ON z!OdB>DcYFb7vLtW3{+L&L`exnsH|>&m{I$fiG|BIPv>qrbTv;QN;k=E$+;Kaf_4Ac zeY#?g`S!I?OK4R9t7oQVTx;=q|WJ{DUy zgkCb$)cstw*@I#CUjbJPa&=f!_g__SCp60I3xj0}g{3Kr;Y=Kf4ZGM9#b%sQ9aNl& zV@LAGSq;pGU_0i;Fko{6WPjE2RK=M%2u*oCoQVT%dMI6){E!M9HWhFt4oXoOTaiwJ zwzdk)a+9G>#0h8OfYj043bmQ0HY2LuLbdt?tVi>p=rrZaa3&5kUq*j76lda4&M`r6 zC7g*v*-A?5BF@BtGjZTd91U+>%&zIvPam|4hd2`l&cwkmD}-vSt5F73v{8pMaWJ$w z{XPO`;=q|WK8EUW$wgQ}YFu)0N~2Ipll0|i9vhcjl%FIp+n1?Hbc<$qTyl}Q;gvST zAL6WN_Qshwa3+p-uc21ZgaWwaV$*~IAixeuzTozrM96epxj{wYl8a5vjx%vE&*K2j z5+Fkqmt1T*t}a7uRf9U6YoMZV$;FV=YoYPB9v6H{3XLM4-_A=NVetQ;-ms?<$faK0w1=54Q|o=I zgbbHl#3dK!KK5#SbF0||w+MH-=&47T=&ej)rneF%dMjH=X^te5%T=pJfHwN#bAJ`0 zH!iuTzVKs{oYc7FBA8qBqaHN8|NNaxE?z(Iy-APcz#ej2;5vrD2)K^n`|^hG7A0KA z5Z5up^)CPBH9&D4LtMuY*D;jWO9by;xQ-z%*9h32EL?n3iSG$!2Chnpt5V{sl%J(4 zC0K}X9Yfu9F24--cFD>;KlN2j?Mq;jKckKzP^$>Mg8vmCt=2I--YE>E!21i`?c`3u4&F{PZ~ppr5u*CX|%Bw*>7 zLJ_b#l7QueTLKo)QEN)@M#| zfd)?1W{oo9!)#^+wHf@@HyW(ZTgea&+gE~!4}%Nr41t?)k?^9Y%7kF283@X-OQ(wX zQBcqEDG4sn@G-x71nb{Vsbq+T@lUN}hz3=)yFmg8Pl<#R1>Qa)sX%Hb#g{_68xRDw zyik1Z1Q%%5>)d#<2t^VBhwsAU!0qLwb$cmYqR zGEHqpRK10ED;c8osOpgO<_X70L_!&t6G^%8q%yh7g*w}OsQEOtFEMWH&faAKfWj$& z!ht8aK(iP9l}imLxX=V7>q$^6U4~i-yv+33>o#4LkP4_)C~tW5R?={S3r#=*cV%Jj z{)yJDq_i$-CBX%niCQ0w=g=a5Btpztc}2wEL5|k|C~S$gn_DvvC`=QHLuTGPF7U zJ_0AWzzHsJf{PVulhQPQpn>MHz)linZD#V)iw3|L4S?E16Ey9(k|Fav3u?k^XoklL zE|?o$X+!)W&WdJlT*;7W#W|edf;mA4C%9m4D{y`V$-#mv88%HsfD>FWA6I$MafK6H zG#ytULJpaOHK>Hb8mK5-$&jX!;lK{W_HCnztL3}>=*4dq861_jAD&mY_PUha8ReDvf=5Tuvh4M@PXwa7;$}h zNY~8cLjgE~>=wtfc1T;gsk2?sunbT8UJiVF9|Z|c@7e0E?UM=5`&+mZZa)3@#@D2I zZB*r*%A27byG%Hru)Xu}YN5w4QogUVFFTs#+%0HqYT1AXzs_Nki{M&_f~ApjXoOe(8y>@w?gntf%`=&x|;^+^xUkVC9tAzMx!SfFzoT&tGR} zpu21LXtqZfchk|zI`0DkrI^$$0Y{nyyTf#W0nI4UCD>kd@w;eR04KQA;&*-e7RY&- zeEiCLSa*%%35N+m?q3z+s)Y)JFfKI+<}<_xV^X*O#@1U-hS_A3p;sgJ#l-+`bX(_# zfklF@$I~n${MMe|SHOK-nXfoqE2_NKH`N@Ix~OculLJ# zaL(DC8D^J;N!>RvsrzG08So(J54j0Vv4YgbCtXxUpLg86qQg<^|3(-uedSa#Bs)cCiFsWOe2Uc_H1Y1rqsr$25 zEkqmjnAH6)?JVN5fJxnG5NI;O^ zxd+eySD6tCT(z*NUxD2gklXd$=kHv#@X`1cvzG+@XDKiRE?NkTfQuI5qJ{kkBJ}s4 z`gM{NI;G9+O5&o0xM(3RT4*2BpC-5?Up6lNmhp_WEZ@(tWq(hzgp|T0zRA+JC3V@| zd8`PVjzKLfou3{XYHoMFUv&oid1i?XjTmr;s|TorW|Y_3C}*C}^8G)CwJP#XItZkL zmK)Pnx|}dNBq=QRs$VeRL960y{xC%gQBw2IT`yU!R_;m6e(oYZoRd>w%q=Q}DFIiO zvhR&dp;2Gopq{p+#HnT3XjTj^T8N7l;-ZCM+JRXlpQSjF8zZA@|eKABWN^*15$ZD6VQC!&Q@CGFxz{Ef+8T2Q&%*n}z~q diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridclassification_dx12_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridclassification_dx12_0.azshadervariant index 29125865a1f9ceafa29c328d2dba8c5e057332d4..c5d569a0a6b13a85d41b20ae87658f4c7cafddcd 100644 GIT binary patch delta 465 zcmez6_ex)!0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-MLu#RI1uabtBSg62c2SIo1 z11=Fx&a4}kZ}kq|6Zduk=l#pJ{mqO(0}hBXFt7t@8zA-p;us*#0pbTh%)raQAj3O( zpWrH02_6Q9BnDOnHf9C}mk3WECZJvckP@J{lkBdBm*>gA` zcBwO=+SLLShuI}JxmRe<=1}=nOx#`zCEOUi7BO&gEu74yB*o;;Fu6+1a&o+qwGUgO zp_xwe6`jKl7JbIK0!mp;3)rr*BvzOybYImuUBD>Kl*7yzB5B|#z#!$Dn3?AsEZkx` zLyd#k#8F}q@8RdX(j7}bA4qWCSlA#o`KywbWTdQ-&2%GktDQD0wwsvm+NtR%!B8o| mz<|%s3srV9Ddd~})F`;IsA=IVH{H1`fp1^Puh9p32Mz$e4~7E( delta 4476 zcmaE*|I1ID0SK5onCJVZdb?QqB=(;Dc>HJ>d&WfZ!}TXRE(SbdtZ5VEQwepw(42Hw zW_|v<*&Y{7Us!MyY?oWZ7ISVscTbRaA%h|VgNMsezeDG=*q6){^q;Xx&UoStzEm}j zVuh{83m5Et{$h8C&)#ItX2I9vKg)55idEgq1BP?^3P_7rpC-YJFv(w zGQ=EZ&o{&(19bLbv&Gt2Wf)GZ{M4VsSXO-F#^Kv;^;!!<&p*6mEId6*a#DEtn+02# zkNog%oBF3Qqn9Pmfq{`Bs%8_n0ERd)E@XS%EA(%y=glmR_MJ9k-u^tP0-F<#4sn)@ zJ*V5XbPjvWSUvBcs`wiD9g#hE#F~qCI?Sq-@-Uq9@6YC6cTLn77$Se)R;w4q6lWmW z6!HzJM{*1KrjTz)J*M|T!9q8u)Dw&$+B&74l*B>)txTem(XVc9n&fUI~wgL-a zpv1eZXWLa)|D(1_<{1QloA$;R^4R)F4_qrR9W$F={oW8BzjK!0{itEI@{|j^n(0-r` zEN9xgF}~eoZ1rBiYsSLxO)M|@7gol+o+o({ONar3d1X<)6;>IK_0Dp_eG7UgcA3Ua zUE^IJ7`UbS+Gj|OqjR6(U!t$epGotdZRIg(t-uqFuMX^5zgOh=LfeyW1zo}l;ycd0 z*#=1~wiZf4SY&{1>UQ4q_T8A!G48KQJ7@^)r$`>*?iD9R93_hZ~JOio>7v@J1H3Vibo*armydLWjyy^gkK*uWJz8rY zTOOr~M{)SG9=R~0rAKl2vz`&DFruYLarm8TOjff%s4$D^3N;SqEsT-t(jwV- zZV04Ea~!zTz}du*!(hhaeLa_B5AWdvwI;I;UAoh@OpPPkz*nFxw8M-C`7 z^RkMw9SED8CG2GsrD|j&zRPCECI$2D=DQ4bZ86`zQ}bYWJJ0#0XL|kg_+ROs?aj;c z3IK%_L!|@*1JtX6qC1%sOqq}972H_VwD6Ui?p&6@w=d+^=mUMoptfAR_#co40AOcb Ay#N3J diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridclassification_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridclassification_null_0.azshadervariant index 58124203ee382908b2dfc7187dc9934d7cc6e491..2f2cd5cccff43f5abd9e32854ad3bbe7a994c792 100644 GIT binary patch delta 68 zcmbQH{ES(g0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-ML@J1ou^ruF_jYUlhU%Bbd RWeI%yLVk@t2S^VT004v%7!d#f literal 4502 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gR>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "7181601620235669059" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "10614022793008117732" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "634125391" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "7181601620235669059" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "10614022793008117732" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3189070339" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2959428625184507101" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "4240011884224364085" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridclassification_vulkan_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridclassification_vulkan_0.azshadervariant index 3a22d2cd552ecd70656fd5f864600db591cb9123..ae1bae82209ed1df82b0e7414a9e5215558461ad 100644 GIT binary patch delta 69 zcmccQx=2l&0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AKu(0pdqA?Z~9ZC;Krh+g|FOn R=duL8eIdU_p97=`3ILAL7rX!f literal 8914 zcmeHLYh0979)3rVODIBWh$*5L<^{X}-pb{wg9xvX+-blp?GnC5Jtt4A_Ti0K!R#vi^qUk=*JMYnVZQT8^ANIp?{QWuSJpar2 z-_DtFBuSE7%3Zc37^lXLi#M$L=!Xy9pW&X<{7L1^a7}&0GoyNrjvlh2ttOz~oY@)uc=SH<#JWr z$?ywfJqq>()Vb+D-r}_~dFp(rKm3e+f7*K=4{?8OgKy&c+JMj(TD^@yakjucAIz^l z^!Ez~QsWP0c$WF@i(3c75eplGG|7FfpPn_vEZ#e2V^gbk)6nJ%T@NqS%>1NL_w~6c zjcZ>!R(0i4%nkjq)1{ZKE-yxZJvJe_=Jl4GpT4|&RgO`=^!v0^mxldnZGB_xC)>NW z*O$C~eS(A2aPZYc=bUR-b~V&w?n!vSo>;n~%_TTD_Xl@}j!)i{?Apf5<6d}v%EqeG z12)yZQT`M-oh1FjlIPYqEslPP>EM1R9F3%Z-`z6O2}hFjO{2FCb;^;Nw_jN^Pg7)T zZEgBu(vX_zC;oaWwEMc*{*^Nqd{e#K<;b6!eble6-~L%E|MXCqwITAA zXL`qt+<5EeTkU7Vf+T6yjW2?F{t}itjQk>19XaXflmExNBkA?yatGb#89Q-p(-lp{ z?j#@gL6ZkAUf)oe=eOckbNkjlCQbUN9y2-*kNV+IcyL%t(AiD;w(90lPR!s1?R#c* zz3)yh-?~MKD|dZ9+w(v|fry~@o-?=hKNa;Z+C@`|ITO1`kI-$TrYO3Dbatu+5ec6d?Cl%t(NglIdSzd z0o_+uuX>>(Jnf~rsYyw@fBjjT<3ncHU!+@xgxH&vTfW-UCG7d)e^bIs@4Q`qsK*C2 z6OK(PsOTQ(xBugB_B#4x!q@>1I^n>j6<_H_4?J5{wmd!Nkexy5Kc% zj1wJn-EV$gw$BL%)($RuIMul|_OO%CyCIA62XaT4_k7*ecT}^ZX*=#_#}m}?(mMTk zy8j0XKEC2Eo{I51A9~{GNY6Rv_O@)@ax-yaX&gUjYENxDSGgu#TeZW!Be8h!bm_lF z<y95iPPa-Yr}T)A*mizbX407Uqa}%cPj2{ZR!OM# zqr~P0-;B0%J2#B?2#P9hiyzP}Thb36^Ld+-Pe~U<)VrzK``xp>mYcs%jeNOR$%sWo z`?L!g(d$3Y%ALPpy8pW5gHdbF56C$N+z8-0i2XASi{9!IhzWDDu5iiM2p0)8Q z@gX*QW=L502#R=1I0S<--6VIZGv-d91cS*OlY-xMuyzIcK%clT$V0)X^+WSGp^fbQ^_XPKX1D29Pp6N5o+gl*Q~j(&`#&}_GX=PCQboXb3+HLiNE55Kg ze4Syinhf*uj5loN>n zPxNq4${8|Q8(`Fyq=)WeBe6ucd*bc5drwsN$#K(U8P|V#GqiXy*w57K1LB_j%Y9#E z&wd;L;vk><{_@VTXTPcW+>_5cMtRy&^SLLV_l$h@0By1^ajH8z5PJ@R(H=3%3ye01 zsdX6-F~%e07!$ET6~?)%LYH@rSeOc9jKs#OFy1F(PpB}~iCClxWBkNo zRTyI;7N^44_r&5=7<-_U6NlI{Cd!LF<59~q7M?{uZ8HvxNU>)OuWV?D5PSN+re#{5u;+(;AV~0g zVa*}<{#f%2`r8|GAc%u}?jM$SclYdD`sa@XddxlZNcjPnDKGNI^H@Lf``|D8S@dcEyy89J z8MGaQeZs0+gQNIgIZS%=C?YM1LQ}OdlB!`9YX9AmZE) zQudVT4$a3f_lNXg%v{sP5X?NEcDWylneyDz#;`kU$39ruQ>O={LKL~-3eK2lX9Q;Q zgl~MzX_GNN4nFJ4cZq|0){gHF2ltGXZwhs|XKb{^__$|mtPA&}(It$BvK)->8g`>F zPk#nd1i5?9*@%)}6pXfh}gL>}um1v5uG{3UNHh!|_g^>xgwG55qPlsv>^9SLG?mMd6- z3ey2&eW!saOCD=J6mueoIBU*c*MUS#A|CdBlEPaJTihor7~fxkr6@SxVA^9nQbEF= zI=|BuUKiAjwV458U$Fnl<2%iGXJTf&oPShgpTwGVWe#S6W`oGcg-<`OA~$m}QXS#Cx8G{8xf5g53Yu2$`$?1HVhwtQ=*_V8?tsv2t z{#dh4v}IFxBKLOesZV^HQjbEc=>vJJM-gTY)`PqSAY#ll*R<`9xftXD%77iN6G0Dy zIMjEWxCcR3PL(E93gHJ2s@Z*oog S_Cmk9;q*Reo1g6#=6?dAfp;PR diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracing.azshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracing.azshader index 746ae357ee6493061a828bd02010fab4308b1164..66895758deb7e247b3d554cba2bc979a4ce886da 100644 GIT binary patch delta 13647 zcmaF$hUNY8lYJumMnJaH7oRxh)WAa3E(TO_dn~yTKFi+PoW3)2l z-^TxNH-ksCQP<=sQNhmCg~4m5+HA@`X&rdugrh^8CF3!(BAtYtPBLrOP7m0h?4>^W z?**;N^H|xnOBX~L+&OQ&Z!2?zUK?Yw)vYxbe?hdga;UxElD!7p$I??fA|^Ys zh&VEM96kQw{Hd$*jDg#uCT(Lo{Y-4@pGO`bOa8N-x~$wEC)xjr!#H^N8+WiV9P*Qn z1QBr_b7`;j?0Wm&~-Z(&AKzWu81aIi)H|98Q-t}`G6GTezR9;U@7JH`xESz+v8GLsPbJj#LUYn#nf3YaW_w&TePO{-uw8BqTg-(0|4%Ipc{p_)^t8iWRmVFI=$q`HS5lK6{fnn+3OfOlM#? zVPCaRjWI~J=<3}}=Z0dD!kUOE4cIeES2 zT@mvXr`Hy~P7Bwb&iMY|-8WFN#1PZ+A@0&-h2LTq>K1t?P&d$}lm+R8=XZk;7(-wI@Gx6R%(SsXvLatoX)_!?)eE7KWaGc*$6JdX(g(@bWhcwlE+0 z;oUa%Ph&j`QMo>LGCBpnkU#HX$Wa0;gNN|eiYpQEjgJ(3$Cg2@7Z)SigUN`q^-aL zlaV3jR#uzWsTb}HDuX3a(6wB0))rhv-S#V@R90E<## z_WukqAQM6C?EefW9N16UGiGy4SylhiZ$o3@e~zNlv+HB(_RVkjb?Z+@n}s9Ga@$ie zUk>J%K#FhS8^3F?%QU~&-GE)j>D%hfKzE8}F`St9e}OK&tdj$}_=M$5dpE|nn~bgA z3wX^~7`}<+CI7<8nAh_pPl79!l|}hhK!&J+$9iWu;l2gE6T3{~rmpc04BS$E?K7k_ z*SXK|FVWZK&!qX!w(^*?R=@+b{?&n9>-UNrUub*Mt)NR-L43!#H`^dlV{4%#ghd8e zS9U%NFjKxeySY8y`QpaiVWG#CPPc>v?F(*Yb1Zs*5#9Z_Z95hjU~M0>r%pNqyK%5s zmg5Ho1Gwcs>JiMi8jX?Bq{S>enn%DD%4n&DSwK)){Bi?}Um)=Ktf{bVvOsn{>(7%J zJc^U|XBim>?za$L!i;~Y9Oqb#(qxMZ0%VTY7>+KiK`e#A zSXlFgar3szbL58M>KYj{*rFPvi&q5&?ZqVKo}(h`=@W4 uj4r1EFPa+dN00WSNBhzE`_ZF$WHgV^D39PCqM2S{$|#_KcTEkjsR;n?2v8&d delta 970 zcmccrjPunS7I6k3VD4b+)bans9p+fOUN8THZ*Jbo$rt5BC+e8jPitLyXw4VrYL%UV zhi6>SjF8zZA@|eKAr?|-lZJhitGgcupoi!}` z8!yOo82EAW%R2ik*R@-I^DGhlbLb&d+^;wzF(tJqCo@Suu_QlNKP@$}q_iltSidN- zvZTH!F*!3Y9n6L>i<49HQj3ey<3ZA>LVAf+KnVs0?CzU7aprf`i>-0;JFi|kWO@4X z2gzyw#b9m&(b(LV1Qd^fIIvhhB{MCpv^X_ACqF4MCo?CfG&eIZu_QA;4<=Jkl%JHE zUX+=Fa9eVIZf<@al4Bvdf$oI4c4J~2v$jXHQP3qMIzhZ~&)X594XmKCRxG;%CJ;KBU+ z)MS;z_gQ}y#Ft-~zF{$=(&V@+0`l{HQ@vd*eG+@mems6Oj6DMpd>%IbEf1#aEM}}1 zXTa%hLl&5W#ildsF=pX#2Z=5gymYJTs$jShUKm3JKS!fKe2cqParQ2{y15 z5p;|SUQX4)#PIJnRa2A1$qrd&uH{qkKT+g!Z51t zo}G_{m&PB%vM@5%V1>R;SshPA3@mwAyFN@BCVUmdG5JJ2%`j~uBkRP7Y2ifYTY`%-rMs!}zoqUo|EU)5fo zYQ30Jw1@H$&oCtHby%BZ9NA`$7PT_$s;{nH#gF#IuEo~Pi>rNmw8HzzbEzfI0stVp zy%|Z3BfIDN-nbhX)D{;@ceGS04{9`a^e>7U{7x%xWq^yG^MM_SNFo-Iv=}tS-P0|Y zcOTGVWs!a+snOP#CyRtO^MeUmJ><{Nwb!<=uqX9EdxM2dp_lJj7(sV^{s6^F<~}Wy zV`?Kws5`l^0D#vzo4~sO7<7Y+Ruc(IiOwga4giAA7`g`lhHhC{hV|0tcl(GIJI-<< zRZc^@{$BSn9)Nz;yFkQt|2L5H==0e?^6a3ivybi#Kh4_zaAc4gbBOhDhyjj#nWKQW z#36dMLz-}oW*Di&H)LR^VNYbx&zdeelKX1g@tmg&p-lA z3L9f$K`eQ*OSvrVq9s90u_vw4vY-|f?QZAX>8P+in--8$lIbK#gBNjzNrMpJh=ecu5om-`0tw0n2y86 zi%vzg4fj}WkyDN}m<48nvs*$ZvaXYfnoKiQ?Z#Ph% z!W=j}*q=P$e0;DzCAIqaMrLYS?LbOD2@E3(f+_4d5f#KGDK+4;F=Q*5)&c8%*uHAt zf8(UX5Kpmqk7B7_VHv3s(;x_Ca~h0O=SPg~D2G>* z6n4!j+gE~Avf6f9YKuymyc{4{>zMJ)qKM}3D_{A9=$eDCH{0A9rbwD-#CA%lp0bn6 zpLQt!f0o_vu!*^;e~>H;3R{@sTVa&jFx@ACyV_WO%9bZ{@TTSs!z+P~S!Wv#l@AS$ zju{8Xl+U}mZjX3VdG7f;UqbSdTJw8qnubTFn(IhAD zaL4=PjwJ7IL25d1s>w-_+VB_VbEdQo8~IMuc*X>92%~-+knfA7VYvn;Z|ZjJrR8*$ z)tzPjMMT1FE2FXZA!8w%8X+J?Ifpr1(^z9o)(gALL&mY`zkS`@XlUs<(%d6cpDMc* zR2R2Zk+p!xDq*FiO2DZ(R#p!gZ;hnKZjr*)Ve4TAon4;JP>Ic4b!&vOwVdzT=HVLA z(A-nN?Bcr`g{@-xGX{Nw**yMmV{hl}!LhR>zGLum=kJ1>o3Dm{>j!$2w0k!L)!mol z3*!WR9<4>kqO3g^z^x^o3$p6x%+KkZ+&FT3bm;j=`|VNZv!t&QRkVAJU6pGBZJ!5p zqp3P5u>MY0uKN!l5aq^gETTVE)=UPuIFV4a(<{jF_6q#HeyZL{~?C zS6c#69jF;7>_|Kd>q}LcJeFrw&pM zuWVWENaw&lu73)R+R7CR=G)Y zufhP(FPS0_nL1JqcZwo0S~$rE3Nt;It8F|y$z)6}NTf$pyO#uIYB3I#e39q<#*P|r zn!O;nj)9%AjO5mFsh(sjq|;l8rrgVb=Z%;1pguF!%Hj*;t3ez!=?Uj#%}*A3=LVyl zJ`KXyOSJ9BF5YSacC{T?{)om!6zttfjuyKSo2nFB8Z7H+Y=&$PO&>%5@|3p-hqeYI zsHwf~Dh@T>LXgQNzZZv0urkYqVyH7!)OQ|$m$NECG+ds|r6%TtdQi*R1h_MM-X~8k z)9&(luw($Vcr3g1gH*zyq#b={3 z*sT6x*?M|IQo9m9%}%yd-w{PJkXfT}RZeJf)$YAVQRZTZXC5CbaequkF%jdH$f?*Sar9>u#WX6z;oY146teZl#29D=4CHf5|ac_Jrc z0#4=V!3C(xrwKUh13!_p6dbDKzg2wh4PB*XcG*`b7pbsOZ@74lo&H85o3^u zN!W?{C5)?Aj_Tm1JZI8s_P$iOCoc``g@4ccjCwYtjzMa*;lnV|V#%uF>^!u(%v`j( zrlbAMC(!CN$I$8?r;DEL!rM3(t&UQ9VeTNlx}*4(rfwFCaHud3L8hYvw{S>*0ztwI zvCnPTpfZq7+Ozg=Cim3S1TcoaV@@eFc7oBbKzYzn3F zz6fpBh;LSOB6KMZC7!|a+tpWrLxM^idXVZFhC^`eRyL(iRQ}NS&_h_X^%h8lEAp2E z0W8V)ljsA8q0AsI%1BX+om;o=lpWCm<8uWTdzLoxI=w=!H{u~CFyuW-{%n@oa~u3= zo6^o~a!H^{XZ4?NX(Yb%3VZ%<^rmwuY0SifXTtk)$48ETY8qEBi>--m^!PJJL z!Mti0cMOLb`Vcf6H3VRSm&AS&&JEx?b1E(yd9dxs4;3;3s?a1qSeDG`au(fu zfQ~D*H`O3Aa@0&;bb5jX*HZR6mhY=d+K0l`i{uQoH_bSUsT-3|4<~JT`Uf_nH3uG?b5^^OwT^j6+f#-aOw7FT9H&&fWi= zlzXLJ-^R>L%K8`W^6=K6CAyF$pB;{FnKuUS?AQv(y6~cxfFOs^f0v(xZ96?PBv1IG zQ#O6GL(*CJBjME3odr)n91`&2w@ciO6A#i0-y4#?z!7@%s6JryL%rceT%mC6(%_c& z^}`b*F6TzO5?=fpKsJ#SSpBNtQStl0_~obG{?E*po_+8G=^j62P8cTwhK$g?IM*Kg zNiV2*Z2OioGbGFOD`0JL0QEJh_Q%oQU7V1d_SavLanh%_+a*OS`jOl68a8r!{Kc>9 zw;{JT79zK=g`4YJklV4%$Zhar=1(}pdxb-#aK%F$>c^p93SNnDNCda8wlQXXO0OZQFbp8&w%Z~Ht!B%HT@1810}X1e0HeYfd6Zk>Vgml<;0AR#xfXiwnL z{jceoCV|ziU#uLDi=<{;5hkL7A?eOwp`n0!AS!TT1mG9 zOjjxmCAio2OJ{x53`lbo1_D_5?*1;O>|~qaJ-Lr9xJO3Qf{*E-VTil}S}4{4K3uP8 zAZo7j;Twe;Ve&d;E2}(+FKtBG@6PlIj#BZ`W=Gq5N|ml#^Le#v!?^ zmZX?NkJFtlqXBEI0~wZxE=Ch#tPBQOiRtu%nUM>)Xb&ToDLu^O;zxWKvBWjC#QaxN)Z>C)nSc!7lQAgnK_2~gQkpa%9>SYv3K4h zrT+!jdmhx3!}lE$a*?DRx?pC~DS^<@%?y51vX@ zRsVADSXf|njCPjcVgF(TX&jSrf{TU@OuKw@j*sM!dr4jMxYD7G_w-K6(eO(rg74oB zI8nF-JFV>M@Od3|`fBE*G~yb;eUBi)rrl@6zqdYmjz^6|$vdMjb_^R`xc7wbr5$>& z_AWX4a#Xja>iFhKeOq31?XTK2`(TjH{7IS1pAsDs6Q5AJG4!N>_?;&nc@|{{lqj#- zlwv#gp?e$$lmZ5Kxv6-P2xhc9}dIzX&{F(K#sH&Sr{DVdL; zNMz=IUHaedLoEgtj9Wasd9U7_^yxus6&p?_o2Pg+dh??_(fl*H_QUG@6}vWQ2Afq_ z9hsKjVw#m!#b5uexxZ7%yEp1rH(j_0GVS#ZE@txg`^YDI`R7isUa|ahFaO*L_ILVt zTE1E+*#D`}mkkB`lw$b;p@oQGxpKAsCYg2sXP_Ujx`~tcC|D+b{VO|edS)mN?pT>Ws~yvUyIZ}7PR^x9Kg_WJz=Hbq~W2os`|k9GTRRA z`m!Xq4;G}c^{1WBQSFs`vdW$cQVv&CTri3|R`u6YdJchex$NFIioVW&-+g{BQxE7p z(#WU$I0j9muGxwGIiV0!91m~O_EA4ZJ=4sa-@P!5nqO!3 zZOMA2Zy?AWt4}_fIciRrseIyZk(IStlXJC z7xo>SI;CN2u_x9o*gaj2dmkWJdMn=M9PYyc-5p=X3j3?OZf|%Y_d(tO=JCUR?!^=P zT15NdiG9r57be;dPweB5tk0!rKScZCiG3`c&!uQTMEl|SpYvg@eOl>$8qt1uVjnx< zlS}v0h<-f(&pff--P=!(eiowr@WlS|Yrn4^{VYWL;feJgMqiR>KRhwC*D(5$MEl{1 z^*O`8-YmlU{KNP4W>L`R+%8B_a|3mC;YG9Q=@;IBZRj}XX5R>bPt#l9^;#vD^Y*M; z@&5Oz_YzQ8XUz)`Lq6ao5-*NDM+ow(3B0#P~oW#L(em znee{Ar{*VX8iJJQ0JifGHJ}_uQ3jZx%|`RpN!sxgEVia*xzuIs8s5vHl7oh9c7aC6 z*Qc`RiBdj4FQ|=8hJN5{p3gi3M7Yh9L0L%6U8114E3`5Sb2Au}jB?5nTS^)|JA+3_ zx1}s;B~GK}W~#K7P;*oLDT_REr!jKVQgYK2T1z}~XNt4a6qNb?T8ntOi#mzModda% zL570^-{l0!-Drl^<5^RTedPqniY<1V<)^XbVw*ks3M7mUU*#oS{K;ikrMK@7Gxn*F z-w7__``Y*5K!I_b5&Hxa=}@BVlT73lywore9W~kH21RF+)eDgf$*(0z)%PvtqUam- zG|O`++NQQ;k0%mHh3a(9dK49?^#?CTQMNjlJ5$$lMN^{ws#Ert6F2X8DVZxCj4M$; zwp*E0!#^ui0q^%HBUW2E%XAHl>!^IGu|Q-TY-k)|XACMwnWNu;Goym_<}&D63O16; z^QI#SKx1kGvP}$hjN^Sa5BryjR?r1Dn2bj4z)cf(vfX9UCT0YvF*OA|Q%l15Cm`6= z5&aHerX$fU;Has+_5hCFB_S^dS{|A@qjv$@%x!>edZo2A%cGDumg$(S&!x_)0V4ju z0eKhO@71<6{OC3)T}WA^qSb8$#b#bqP0rX0S)+p2fE#8ms4bu~c-p}Y!n(9Ke(HQnU54hGP;Rk0eHhw?(a} zj;H@KU7tlxrRS!!7Pk8x7V#*l)Lgwf&k`SxFj0&;F?~E|XnL7)0BK5NXVilq@3de1 zsbw3<*T~t+>=@7Om~)k#G$faHK33l$zantYuLTwPa|0x6tn1Q?hANlt0<57*<$y-P zKxeOFXZMj+Ugd{f+^I*a>|_oP2#ETi;FvBd2dNX2(MOjq`H(k zyAmyPhJ7K4x{VcTP4}beBP5N`AdJJk1RhPAiME1?!OgLhTb%_WqD|{^w7F4ZwamvW zM=wt`ge>IbV#unS3^z7mBSTVP!ME{hh-sEk(`F%VX;kee$SMe8tb!o#K@C~%5G3)! zK}GCUT@WPeVn~kVO6Lv=8PG1WYzHesEGZJp-BQc@QcxMPI)0R&5kXkrity>Q*H8Ph-~y<_+=ISRrY=kqkEgw1FYtZX_Jp=cBf5Sly57VHS+5NP_~T&OwQaWiX}^Ljc` zrY+#D=TSLi9YiLq(Gho9WgBu%pd3J*?5{I+6-=Eb#RuVn$jO7SRBpU;5}$O}31NAv z$m=UkSE7cBQ%KUCLi0HSZXMY-#gbTAl$B7ft)#K&(#5nIKmA?%xN~q&k~0KVl9g+4 z(1Fts)MP&QHV$g#5_z+P2%Ad&Sv6$jW)_DWhRTF0oo&t>RN2(1Y&@+T7BI`wbTD{3 zIS2Iv@-QAXG}gtMn!}QT<6$;v7q}H>PO_ewaR&kobC zpW3hmI7|uGE<7U^&|xlq0R>ZBFvG>tVkle+z=iX>ogEE@YYoDMV-^)JWJ0w)m{4u; z?C6eIsP>iFQ0;QVj3OLVUW}KBU&jwKAgCr92eI}QFNGl4Ql`X^NJPAOjNBq-u@lot zr9&qXrz~bhYjJ&Q;(wi!0V|z?Y4Cnhz>wS%hnN?83NsNO@Kq zq+Drsy{Z&aE?fsGw?!vV7DCFxI7pe2xo=<#o~L3wPhEExCg7lycnE4TYgvwi8cQKa zG&617A_(FGooVJ2LJL}Y^GPWfI_)eJ@8vWe^<6xycU(`WNPE--L`AY(+T?ND<#=DX zcvJn1$f9~a3fm*XI=^!}FPOS0RNPDA27gRno}CsCc11>L7w8v!DB31Ko9-4qaD;Oi zjDo!pmw3TB{{k3=Dic@hvUi!2ISl|-X#YCo|k4LdJi83AR)IMc7U%KkoOTu$}k;um|hROV{}8vFP4*dawtR1eD^S@=FlZ>SynYgDOLD5No&b1PDSW04&;^Vn2A2gVtmRwJJJ{0H@<` zLOYZXtV9;1CNuGAFh*oXYWTKjEr=AcOnnBm9MqZwLFEn}6L3(T8dvDh?Z9&%itGL?SX>@;`#jZZK#NI3P1RV;6O=$$ z1JYvcPzz8J%W~1&onLVG?{$Sfe7Bny{phMNxmR6Xa=fEIyS*j|+>d3MCiS+oKDuLm zs{LPjzW|FkbCborO%L|mapV^lUHw6x5aNHd9j)Jvh3a-EwUhT7b8#9v`PczZMtUIz!0RY)-Yt1@S~Q$ zTJy(agh}KV43$U)jwkU62v_|sX&j2ufnPEQm4SrhDeN|8KEndmhQ{(mJa4^*z2Oh! z0}V#r!leBSZY94Os;Cs|EO@44QX-ZNmWU;;Tf{2Ya`>(gt2kr|TuyvlFY}i8l(pz` zKuU3B^U8X>pe5wrm^2sjo|sXxDc#V*CaieFTA0O%hC|g(Ht@v zI!&R>XSD#c^dSb`=gGBsQhaN+XnrD(20`f)Q7I@%-@;KHm3ENRS@I-a_r4U$*jBpo z7x@eZ&S~I*dB`ykGr!0>>xrItc6|-L#UHWd#4f$G`d;U7EEK?GfxQ9x`r|oL9m+#6 zae;zFG|~@LcPyZxy7W^pzrpaMwiTd@uCZN-^^Pgcn`N6i{2WS2ArJ3aRSc)XzYG)K KbxzKQ*Z%>MS)pbC diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracing_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracing_null_0.azshadervariant index 39eacb4ade91770b729eb8e8dffba1dfccd063bc..0bf9ac53d74137223f9945e8c6d37f613db3440e 100644 GIT binary patch delta 68 zcmbQH{ES(g0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-ML@J1ou^ruF_jYUlhU%Bbd RWeI%yLVk@t2S^VT004v%7!d#f literal 4502 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gR$jtvJB7Fu0YcX@2uFmb#M#tfJDC`G{V@jYUlhU%BbdWeI%yLVk@tNVDI+55YY^ F8US;)jlci^ diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracing_vulkan_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracing_vulkan_0.azshadervariant index 597b239218990403ba8451b3cea5af2440bfad57..58ce16948b5ce0fd3f07daf8d1c3fe77c538efed 100644 GIT binary patch delta 56 zcmaDen`zGCN?1m%Xgb(s7|Chz@nkasFbC-ZqEla-XPmReJdPO)u H3PAt>W-$|C delta 4101 zcmdnlh#wt1Ei8uIC z)jWz7wjM8Bu=n|k-61}ElR29Ow|h)yU^ro4wNH&PNVe$e-Aw0(ZRT?h-*BI+ec}c0 z{uajYEBgXoKl0i)VM+bT*`HoH|Bg9%z2;pJ^AxAo7QRjk*PhP!{@~p=kgFMDT0X>G zdZlAGVf{XrD=T?_t*_km(-tDLbI&4w>@q(-ZQ8joWvee&iGNM!XJ*~(?2qgaJpwsi z>8tj=vz*xKHD~s9rMdO1)^)@JrI;9Esw$iMoo`LZu6^&bV)}$uN4Cp9n<1JSGxzMk zBE!fKbCf;b5Q_}Z*@w**Yh#sRII;3me-dL^@r@gYZ@blNEet*X@RG6c^eD+m;pJ}@ zY+*j~!@F(jpT>+{mOKXrMuw=GP22();=s6&?RBrvzp@j2Yyo0LZYvgxC_S_L`F52lZt5(XxaL&I!n}6LkQDb0;{C!)kUKCTD zfn-z2H>4iPE##X*z9IFP-UkH>-JDWSFotOBlzLJU3k{r74^D~nOmV1br5-&~(Ag>V zu#8B9uq7sF>#>vx*qp);6JwdJj-x<3|6}ea#;z@a0_^IZ$_+DiPRbGQ{CDElVwp_F zcq5T8R(;2hdrfssPOIIW8}oU=2_qz9>S4t!urQUq)wf=71GnIsI{%(cH={Ur`%c;l zEP#PBx3c=2_6u$++Iht1f0M>5&LfL+%)l}XCm!5e^^K9UZ(Z}^&rSu~*Q~iHoVI%> zx-BqEfaUVy7uGYd+5aD6Kavzo(|?8&4(zAw8M8U2tg3(Mx1q7{KS$B&+4V7X`{pcYg zfiAF|Y467Pc9XHydjYQ*3&S_DyyRb48S{Fcsmg;MtAvKQ9eTILDzAk?z&40F)$E39aPc*(duxtHZk>d+(Pr4O!2`h;2 zIQM27B(2z5C<$Sa0lKO4S%8`H-Pz6U@y-`F?hXq*wsg8>JtV?ja4VZ*(F9C--GAG* zW03(Gx2H}z1l>4@X`qCR#q<2Ya0J)SNdBy+mq&5JDC{;X)!=LqN zt$l2Hlqw#@;m>;H!ibh0#o^C-Mx?@smLA37&w8w7IQ`0^daNBj`jth#)T~_?Hr{Zl XWie$wqBmKgPK3kn--qBHV44B|(FN?` diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingclosesthit.azshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingclosesthit.azshader index 0f42cd04d6971885c5d9acfd0d5665eee62d132a..44a8b1426d4484b96bbbf65c565999d23396ab2e 100644 GIT binary patch delta 13683 zcmezJhUMimPH_exVD4aSGM>8lYJumMnJaH7oRxh)WAeu!(TO^ao6j@0Fi$r!W3)2l z-zKfQl))p~sB3bRs93=AHn3!)6}oHyRLl{rGMjWOBk)|!jIAi7#P)ZTAOcMqEMZAF}8>8TwN zlLO5}q!~Pp9{+Iu)Kz)L!0l0!wy~XlCbsp@BM*>0lP6vj737egbS!XovvcL@m>|ZF zn+{b>e&{4xFBFtm8B&y(oSBy%oSd4M8eEjlP`PD_2?z74)%G#&QEBt`T>a&{IrwCy ziNS9|CPTtJgFkB-kNfw9C26xn6M62< zlB+fOY3BX<6CD==o-o$53G%6gx?X5bIxMq3|J`hli>5CuI10AQtznBfH=nyF$h(k1 z5txBpj`|%sr^UWxrl9|fRdU7?Z}6q6c@!&bJzltA@ADVCLwxoob2bZZ_n6MWaKgT7 zpBiJ3Y|+)bna&N{%;y}w;XYUU#0%d2EsWt;_659tYsd3ON_ZObI;_)DiL-@ zhM1%5`Gz1dmcwR?wI>VOi`TFG)StvyR(#{e;oELn3q#L8yksmqJxX#?c=?+JTbPgh z@NS#>r!k|KCC`C@ks+#P6Sn|{I53c8d)+JaZ>;CdEROb_He=rYJgEX3NGaEIx?M}> zu*Zzm^A4(tuaVyo*>gv%xoD@utXe4#!#V%z|7`ws*F=qhA@cWaHBp2(OqhWvQ(&q| zH>4iPE##X*z9IG4gN1HRskdY#5JR+eN1yS4-hu&aA2H_X^MDM!5X--%y~ zWilD#jYPs&^&LO%HPtmat#)^A%;yCsj3!Ss67!e6)wf=71GnIsI{%(cH={Ur`%c;l zEHZ(`|58o__I^N_BCrR3a9Pf z2{98?o-Tf2J!5hrr!f0}h8U3fAa?zKh7%6#r|cQCIi{?tf9bcOvG6}f(dpUsF?IXq zH~hNwr=!ink!88blI zz(C<`xf+0 z>@tm;y2d*&a7*>I&yd1j=RU)~L|>Obljc9$%45=60T1>1R|j^j-z#!_q3ubxf-YeN z@g3*hYy-zvjID)|5EdC=<=Xiyz)bn>?B@1(=ZhP6hlL(nI^7Zy_Aj`V&9UeKri<>s zZQHTP0GkIfd+MY^up0+X1`i{|q(^-*8W-s4b2LSb=8MrX3bWj%BwvUFyF?zJH5Il^ zF1%3B`txK4kK$y73rdq;X9*Yw?zNk%wKTbzrGB zrZqZxgFbvQI(kFTQPk1Vo6*sm(b1dHF{sgzH1N3N=y>4h*zD*CGv;_aQTYP<=#3GX zBR5(``$VIdN7vtgmja;-;P@*H?Ugp~87C>RY%cqqWdd7qV{9fuzV z_u3j*Y}~S}zsBjnf6~|L^1zJIv=|^Qu^Ans86Bg6tvecBVFO-bLf?TAq*X1WD{P=k z-RL$dh`OX}bc|+njAnFZ;fP delta 954 zcmaF)jPuJI7I6k3VD4b+)bans9p+fOUN8THZ*Jbo$rnAuCh9uWPitLyXw4VrYL%UV zhi6>SjF8zZA@|eKAr?|-lZJhitGgcupoi!}` z8!yOo82EAW%R2ik*R@-I^DGhlbLb&d+^;wzF(tJqCo@Suu_QlNKP@$}q_iltSidN- zvZTH!F*!3Y9n6L>i<49HQj3ey<3ZA>LVAf+KnVs0?CzU7aprf`i>-0;JFi|kWO@4X z2gzyw#b9m&(b(LV1Qd^fIIvhhB{MCpv^X_ACqF4MCo?CfG&eIZu_QA;4<=Jkl%JHE zUX+=Fa9eVIZf<@al4Bvdf$oI4c4KxMv$jXHQP3qMIzhZ~&)amj|7`3<$W?Y!Wz~Hf6|A*V;6|oIM?DCV21F+eGf&*gskC@O{>w1@Yw9f2d2Rf7fNC z$f<%SWjd}ne@_eoIRoxeBZ^&V$N~z;>Dhl7vv7nKFeJY)PJYkNx^+6!3{@P8ph3Eh zar%QeM%L|rPB3PgY)_75Dqt13UfAgHL|Aewvb&Y0TNX1B7sQj_Guv?Z{rjQ<%C7)v CZhQj( diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingclosesthit_dx12_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingclosesthit_dx12_0.azshadervariant index 49bc94767aedae5096c5fa48da27aea383be0522..acfb2aa716cefa73d2c05ae61b45992c4d7851ab 100644 GIT binary patch delta 4661 zcmdT`dsI``n%_G)ISC;o2Zc_dgNb2~Q6+8tb6^`Aw$r7P zqvK|vH^jLe-ZS94EQ(4(?K0lHD$hjWux=~oVv_C zwP$eZ7~pVK(&(JP=}Ug8&M_+lfwF~RZ;La`ERq#dEN7J+NXo1yp2bo#g+!$bahOOP zVf3X`2bw+oR(0Gk8Jwl3dFoFUe&_3`dG?n>K5$Wp?Y1GE=^TyQ9Ur*A!YbOoph)%+}kMaR*E0Gr9F*OuR*j{CLJ{ddu7r~vZ(`u z(juK+deuGksxH_&D6P^3-)NlbG5DZoaO#j@@{K`huOXbt$~K)DCeOB=s+kn6=QtHC zq*q+kch`{VOWQnPB}70z6v_e~W;rk+IVYq(RGg zP(}F?kvcT=zwtl(HUACb8@llCUUU0=A{`hi*8i1S&=lPC!b>LJ-~Y2-{)3YpF=lpp zk9w|Co$@Ns+HJq-XB*}-=c zgv7JG2hP&rXt47clcmSN5^%)PST)|AF4FF&~tOl&YLCE!+=npR8AR+q6 zgSKgePf5{#;G+9Dx7o%0PmS;gQuKFRv`Z@-9uW?bqEdiXdbnB-cc+8<$R->i^rA0G z(K8^rPqAD}3JBpaCj5yIZ6f{eQ=%st(WpjPPV#qYMfVBelM&&li~GPO{5vLm;zG3~ zw+f(Dl-ck&x@1p`ZZw}_nnJ-0ZKMX+e+=Vp~gi#~0zfLIG?7XuE%ckeC22+YG_$qC}Jgf(aRs>Xox`fKEWkr~|%k>?Yt* zukKL_5ZA;(kdFiU$<$O#$roodij@XbTtz~@xQU(@9QLFT!1MdZ7v zhucahhv@#ude#`EH$_G8p`XQ%r9p$t?AC)(8z4uVYsaZpbb2RbnKkrR(JN46%s>ay z*g9jzRTgZaM`QJhrOGMUZ71E=HsX`!$Zl)dgTZe;j!uy)3Cn7SA^1Vor4{Gg*E6WYvG=-uRU#8(I!Be-b*c;-4@-v@0mL^_I-PlNwW(5i*s0CNG<#>- zQ^*&pgyXfR?~GQ3RoB>>>*Dy4Drf`znNeWI!rx{1(Z^Z+_kfza1f=qeOt$0eB}(2z zH~dS?+CyEZ>M(~qSXCMwd4Q)=9nCs&is#p|+ol1z%c~#kFOJIwh!R8K+v|7~^>6w} z0M^Y3I5=M?l0A!;ebVKP`g0whaZFVua!L@8SCTg|4G@OR)kDm)F{aUi<$_2vLj}LBZ1%4d)084zO7h=1tH{Z0{4?E z!6`o#%SqEPTCCp?e?+~wJn@4gIJk+xmS`UJsZ!zyxYChiN=#pzq|~yEhUIzT4XgX} z4&S+TGw;x?*6u~;TnXnBnJZsQZWCCt)ElAFTQMP(nXT|>bBOm-L9TtD&$fUJfx<^)D9T@VC zI_};W7Af_y zqzy_1VVHpcQ78u(wYDGOxnnxPU0hHdP(w@^axacbMy6s;ly>2G+V- ziG+!bA+*OdYl7L4`|39k^Q>l8@^faf+Gs&Xfcq{s9N@mKy>hvF@jQig^sLUfFCb`F zsonFt3Y$>#O$4Ly;1KsUjrB;{3yq(2r6EY#u-=&d8!9Pu^sFqvTWAXHzKkYO`vQtV zL|8AFcL|k4(_l3o?b3c|kQh0l`y-QB99Q0`Rw!3$u-bfO)pxSwS0Qk{qW+ zmt+Vw_L)~ovVw}BM4snM??p48!kyBg%~=A09w2VdGXE-Gg3ViKoE8x_?OBi9%l;{- zLZD2xU6iVOFLXI!pvcW+r<7p@hBjYZQp3r9fm%2@wXe|W%pBXrmold%r#^Gxi<4~^ zb6PkrQ9EbpX&=%*S9&3Hsq^AXq06$gEpyR}AGxhO@_Hvwn_D8gCCE$W&$f zx(52{!mQkI!4g`dBnl{BDd`-cWrLyuEHC7=-moi6fH6V91$pXOV~v6r_b`2D_gBQ2 zT)mzMZ{oynBcWUR&|<7sf-{j&N?g@z+F&SBA<%6;dP%C*IGGPIaB(a8r6%BlM1iw( zpvaFe;If$E=6kZDD)5c?*5${58Rx!d0c2jy^d?mq{{EZKV#@lPjExVoW*$Rw9}PvE Me&fZn);Adc8<#XQ`v3p{ delta 8512 zcmc&)dsq`!(?6SCa)FR+2tp#aA_FmnIDXi2rjx}U`L8Gz-%FYw;yk3oI z(4^Ej?_GGOIIc0cHH@8c$hC}_bZ)Cn;mZ>;fjag((~S@1gf4`B)Nl09Ff{?dHsXG_!|N!$MVh1>p7 zy1mDuFYdB^xOeH{Un6@oRY$f>8d%fWvA?S1%>xP6izj6-zYmX`H}4*+XAPP@e$MV= zccg1_$8ReB+G8`h`?G=>w2A?e-d&orT5(A?@BO>+J3rFp%9vmNs_9vzPCHULfCd6d zCs+#u2GG!9*Mw~M8&Cu4cXg~zf!iMe|f`lJU7q6ZAPMe_uuI-$V zx4uiAx)NDH00>Oa-fx5cTp|Bl6fZawvab-I!`}X1 zww4^ACkzw{NJ^5<8$L)wJKwpv16om$h_Z%{^Q4NZ)}}iye^mc)yK@@!Mxgx^t5LFh zM}tR7zVN=XIqANkKCqt|vaik3&D7=6s=WfEji7AVq{99Gna=qyqj2`;Re$!<=Y;Od+gnE$ z4dnlEkN2e^{lCI2Ojw@rul9<{G4i98jXu|kMBR-S7+*u#~`Fb}%{G;~bM zZzw}NuM}(Y-%vE}`+Ul)CqMp3O7vEYlmBe4$C`!6 z1Ayn#``CRx_rpoPD4>JjB%kcta|SvHPV&i+^-pDV5TJwLB%e^{pUUVUKnKD3)IZI& zXQS@30UZP<`J@t_nYzyg^ojpJ;w1Z5?;th$j{qG6C;6vof1n!uM}Q83lkDG&o+r>j zaFS5JX7oIP4uX>$u!q06UPKP~!uR5OQNllYx_~uJC)r5ATa1zFmdE-X(Ac3~(bMFL zuld9-$++g#HWLp;1xFqF9-?{XRnB5mz|ax>5i4&*jD`j1@3DpCGQEzsZ-jGgHxV(B zhzCsZi*Q~W%Da#A7vMGzF#bB!(6Z?L|O^ILV+cT~K)%`6{6`8}St!Y8>SG~J^jxqv*MTlQ)z z?DTJ34)LYU10_$`41>jBv2QdTqjERb&6G1`RwuB#IFub0q}x$o=S^A}M=+4m0ErB9 z@L+h?rZv&{makyjgNb^9jlKPGg@?Qd{RH~ZE?^Z$pat&um#+E+USnc(^6+|vv=ELg ztr=aZ2s6Tdr8QCm9N7t3r+m`06MMl|u@og?`k}Vw*pufy&Xl9OG?G`Ai|Vv&IfWLb z@%3Eh7;?6|%O%LQsl-`z)#ZZOrByxT!d2%6wQCo!DxUy%=VB_D=SdJlHA4#WRG!!7 z2yVQ_{yB4pB_uH&62U%G%DQIaUB&tLo0;VVoqhf_g8vi7zfSPBDfu^4yz3Z08?(8p z<5yt(t2pmgGw&vDb4|&+qvVY%$M`qfZOV1L9|6Bj$twr^y9B>X$Gb`K9?*o?Y3s=~ ztx-#2*5SYUQ3nJVw$f}JtuU^+_X+Pp{IC>fVIUilH#3WN>1~(<`BxB?P6L6si;f#1 zxK^Z-vrz^@rxBcq{`(kuAe8EO_a#Q&)6g3>i{oC2=IDJTlhZxjEVOw%X-%zXTi^F!relwjq>nK zaCn2p&0q=@iVNY<+M0+n8m9)iv>A@PsEJrt<8x6Hwhne{>ZZ>TO+>p|YOEQpg(HoS zs6p*Usoe~!jC3qPFf9I&wQ4@Xj+<#@G@|KmcC}e&P4rA4g2uJcm8P}pZUaDLis>#q z@_4jFFqIV#eA#qW2KMt^Up?}vdyTV>@!x&x5KXz(O6Ro|+QF{sO39>7)xGa*Ra?_t z`gg;X*_(4y3RdY5{H?|qfHDrz*<&Msnn6%XzJewK*!?h@A0W_Xb*{~b2#T@{QQ;4uIm(*Q@N<}ar5mv&mcThChJ!?Fjn z?KGLH{EVXfr5UjP4I5w5i@PdxoF${@8FVoTMngh1!xaBrm{AdSrY53N?SGjuavdDi zpopYvvmP4JE{m+JiJ%L!QX$pBqEgLhOI|?6#%?yxV6E6&uH^2sTdRm+xR)@N$Me>I z{m0U+41-P*>OR9LFC;~LQ^Q{n~Ct(06Ty5C&dvni~7a>CF@0&drcc}yeNUtF3 zNF@NfSHN2uDS-A0s(P470PYi&0Pep^2cZD&)rE7Ho&#*^sk1bIP`x^!*b)pFs$Pk5 zpX5Z7xmO|_*!pN*IGSv2A6;TEQ#0)iguAtUseTpDkJObD5F}s+z{GMfn0^K{%w$qt zK>#U+3{6~cYBop>fr$z+*nJl0<};~`Ah50&!me<^kF!BRC`=p`gO0PHVIh;Ef`I)d z2)oJ!wsSyz7);cOf&3g$W-+OCL7;+G-Qa@YIUp792DDTJKohJF<4=K<`qlhUB!R$n z`ZdEv`tSK(!%VUf@hDXYT|%IS5D{mr=*mG^(-BUN^QLM9Y6?N=J3_7A4}Fhm&`d7E z&gjd~0?yk;YawDP#xCk31@oEi{OQR#l-?+qVcll-qpjgZSgYRAZU^&y)JBLz>1*uX zV79Z$aap_GN4SnbG4#iTZr1LcTnVSSKutW9a|Aqbz%dR*?PMw^_ z-nXG3&O^(|96EoahnK-yE|*2WEOt)y*o{FbB14fk*SiBoH9d)x{$Z9_P0tdRj}Vqg z$=d?yj(&(mB;G@2AJ(10}vUJB4AMU#k~)#*G)<3_~4t^7!-l%Da7(v zt3N%2xO_aTlgj-nFq@G7NSK@97YpKbg&gm(ClLi>yn(wS88LWSZ>QiD z+nA@fVb*(`$E%weR!FpnrlqCSkI^WH!tuIThEN|lJlficS&MnIDT&Nd{4d!iI?PUG zj#YcJ`*i^kIROe`Hy%)%0Kjk=rCFdcq&ry?aNvR*B_}?Y+UkDrP}P2Ec&Q{DGn8Rv zzB`Q(2M^(a+wj9UX7DXJED1U673y16fgcJwxZf-Ea9~x{{(!?3p@*>W@G8l^@WcD1 z7>4cPFmwqhn4bgEg$VTx>f?mshC&>L*|-P}Y*H?9)4%V7Lsa=^KGPsiYMpz{qBVZS z?|rIw@+&U3Q@vH+o^<+hYfFdW+Y6UlZ|qXpQ(+cFM z47Z?zTa&rX7&p(hfDlo?bKgW+S$H~uWZ~d9@o9qBLNQVb-I2u^5K&_*bEVAw3IXED zB)eCytPV|40gTO@Z(_aKTqyDZ>>Nl`SS?26u9N5D8&TSgHSGp4Kh`l}Gt<$j&>Jxo zs2LO{qRb=8WXVmk8_ew-2v0Fs%*;_)&(FYS8_ecZIoe~+EH+d-d7Tz#WLeB@=j8M} zN;2mdt+Py$wDy0~&w@g4c6E>0O=`c3W_XWT)NJncqxNrt?Ds(87R!U_Y0dDfN-OJa z0Vzt0$LTLs%B()chA532Am`W329?;8$)qDTG7mPe`Yb@BC^_)}aw@Fuab-@eCb709 z)8Ky@bCY2YjH#-Foi69RMDHvV07koB0*>R8n<#bxBvNE#nOm@e^CCuzjW=@dKlf4A z(FU6uW;Dh%ZDC2+(;#AWbm2rHA-Rh&B+lnPp^ zaiyR^f!fp%F)F@{^yk7upeSS?twkQ9o6NMfU6H}0wat99m}|vs1MBG{tet7xP~z5< z+z;4&gH0bWS=0kL(JJ?)YMubYE~9O>=5Nt5+YhtTD_ds5-fm9bolUs8E{_ux%(?}F ze}~d%FCjT3>ND+Rff}MyStc82RP?4$Wwg7CqHRW-j-GtU@r^h;6nRf!3`OR_L+k7E zB)ZkMb1^rk1`riufU?sGxKrd*i*WOta*BZFHD(HXO2j%io_@cYc~&E>M`SX5Hb>j2 zoepA!=`vBm&RmtmOgiK>BGcKi!nw(!gd!_dtqLMguK$5%R%@oAP8@(+I3GW<)7?m{ zUCmjWovv#Ms?+hg)6N7SR|$tjT-kj)Itvj9jHhH+h>)gp2nuk(0(vEbgGBaJGCBk& zI(YW!Ob#K*q{Fa2vB4p<#KEgiYIX?Q_f%?kkeVHa_vwIRc%#FJJ_&Uktrq(9Ntk2A znx_)(7+E6p>(ddAQTv1=lM7wy=hOlV&RUEdwJc|!M%614qfE49Vlcx`wyLvZxhO!) z1ovTzzbKO3Cw1jmB!87*W}(|tJCbub_nw-OG|-a8%p$I2P1^})g{q7G!FQfmmRH&S zL4$>=$snHlP!>gcGTC&QV9Z_j9Ohz7a{*+j=>qj!Q|_1onQE4i*&z-fEJ+AZ*;cjZ z2R?~o`plP_3|xjnL+Z}=t}@TN7~^D+;VG0Q6Dh#y?M7xQdL}@7LOqnul$ri9XE^>Q z?n()6Poe8d3l&)n^TD0j`b~i=uwc0MrHrO+IVHDaM{Y(Ee{6Lt8)cb@Cq8=MW%=90 F{{Y|ZhS2~3 diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingclosesthit_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingclosesthit_null_0.azshadervariant index d9d30c99f7c6609f3be3cfba81ec330469fb67fe..0bf9ac53d74137223f9945e8c6d37f613db3440e 100644 GIT binary patch delta 68 zcmbQH{ES(g0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-ML@J1ou^ruF_jYUlhU%Bbd RWeI%yLVk@t2S^VT004v%7!d#f literal 4502 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gR$jtvJB7Fu0YcX@2uFmb#M#tfJDC`G{V@jYUlhU%BbdWeI%yLVk@tNVDI+FDl|d F8US$*jUWI3 diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingclosesthit_vulkan_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingclosesthit_vulkan_0.azshadervariant index e2f2a13ca3738fe19122583db01704237b19ea4a..8c66d30c9884e1870609dc5deabac1e1c0195b5e 100644 GIT binary patch literal 5404 zcmcJTYj9Q76~|8q3E@#J%DV~yv3BA3g(C*ex&z2V%Gz@^AT zP##4{X)C3^Kxaw?J7U|hqvP1Ac9>Lcozhw;o%RFeL+w<{3}Y>{*8YFz>>W;9+J5R` zR@Peo_1b%_z4x8LaU7>`SHa@f&kUJcgXpZe~} z+xo6J_ww7%J@dD^d7Ek~=d8Tr*r}uE4(yLrKXKeYUbkWVQs@7Kc2lg^H;b$H9DIMy zq@$g?KJ?C>ycD+f^cm-8_Y7WGarFFml8a|tKAEo@)^zBX%kopJe^S@|%Amx>b0-en zSyFYn>E6v-F1+M4kDu|Yi&trJZ|!sBo81F{_?zK7GZz}?JU%=>Wpn5Et2a{m+n+33 zyKeo`5eJvNR=NND_{6m*3VV&~;}jLB$pf9|OsfYuy__wB90&gLV8`j_6gv&|_r(^} zEQxvXe9ZUaiBzUlcu9cIYif)o-CV*;wfk8wmdYgE4cPlDj?C2y8y1%3{A5}Av?-Jr z=oAK(uwA2nKT?felB?RXIXCCmqDr1@Bq|p55tWGgiu#HAiwgA*d#8enlxKis zKi}?_HTYgf!te0hYictsS;Z77>u1FOn^&<` zfDd0f++tlzOU~6&wZ4+T#(vVV_G~WYr?QzIv+Q9kdrZeNSuY)LvsPY^Ww==Jd<#%vTa#U zn6=aAbZmXrYfIKM?_!ytfe-?vJ@>ok7dzx5Zm?k(|uS+8X@0=ht#d z=zYIn)>r9$I+l*ks6^++%y(|ycPo=g&&}n+0h6bHa9;jnp3spc$(PgOIQ8*-TQ;7& zJMPDWy@By*o$;LM3VQ<&XB+gS-VC@WCOTK*i%tG;rfX7uBUo{eC!D3Q1-d4IZ-|F8 z%&iU1se8pgoT2<1*5=7wq+R0M9}z)X{;!CD~vuyI(e|uv#1>%JNF&Co~oc0c#YO<@98+{d=?`=Sk#aG zfw2ec$9llXZ!u!P=(WX|1DLkegRy6@;Sr2|f|W)v>Vfef+I(R6hIM-f`v9Yk^`R%k zHAXP{3)U3D=r35ah#u+ZFX+)KadJ_E4@EIxMv-;;G z6GP7H#mQM{^c#%MdZ;l6}s4gU@j3HwAcTAElR#GmHP#h*)|=3^}aN4a&}3!`N_M=%vd4d2!YT;m7>KxWeEa zMF+oGoH-G5i#YyZqjdXt_voV~TbnsR#EcjJtqk~%Qa~ndNN6zTATyyW#agQU#HGa79XP;+!hy#AN>8xU1MUrdK&J=fFA$;MD$X5` z>fCXw(*y3e)$!+UqnBwV>}#fIx~kF>&L1B=`irzX#Hqu+?i5iQoxa><^jXrG-xoxz zeX;(Mcb37#da&6BqrUa4Fc`JLI2&^eMn3X$1}a7L0w2!ET!V=@A8RjF2>SjinY(zm zh&{l`!HnmL*aJEZh`S4EEh`^7TwbdGo_kz0ji1S^RKeh!TFlr-T z5@&7b;I{Tc$;_%!yDAr7B;suFE@8uub9S!?8*60Ebp{jb!RifW`-n`1XGPdcMSoVu z+QqT+ao(|`gR>rF+xK;nneP};rSkE%dLnv9PTTLC!R@*7rGt$X*<2lxIpf&ux$2Y* z9-ZrY>AgkNW>5IoIvXTow>k619tTcMlMgZ5MO#H79%7sU&O~Sn-;N#9 znF(vQ>v}{obFuw@R5Dn!|2w7go?x^6-z6D5y8qqM**|sYKR&k39?95k|Gs4G(f;oh z7LCWp#y=(*yN%x`nf%fE`=v+Y@v-q;lCj(Ve_1kXA}==E{{xb-5l64TB4P%%*I$*4 zPl$)T=1y_Pu-Wx-mzWv*i{4r8$^diEzb3grG*3i)oqmm&=i{O!hQtD&UgE52lK4SU zKT)IfY2sfun0;psNoV$a7W;-|FzQ+C34@WlUhl|I@h3&ZGu73M)EAt0ug(o2iA62@@x?{@<(k)q*oXlb+FZI=huioDS-c#%W`sLSi+mKm6hS_olkdY52Hw+6YBW=)&QhMn()+d85*|=Zw@%QbXOU zxkD7^RcXmpg$XgmN7npQ*zJHu^}*6cZRGiNnG3&*eXVTWvT)bG-Y!C3Jj%GxpHut2 zdGFm-CDG?9f-*dsJO&0?O4jY%(f>qgSD#Dj(;I@Weel#u&)N>Q0K1=-#fJK!|JhAS znfcGaZz@g{x2d@ld9pMsrCK>b^N1uh6rV}Bq{v_H)y{v)xQ~iv)pxHkT-&HTGvacv zd(M8}YFE{%t)8nU$IO*_VVzO$O?vm#0Jm2*c*U1j`3A0UY^Uw3H2Lj)e{RL$e_cM9 z9D6v;qsVK&vJ8ns7u5AtOzvU)G_DSgX1D9Uq3nL=P$3_wC+*0^!u4-uMQf!uBI;P;~j0AYAgqC zkFi;554{}k*mCRo?%K-qy>YG0@%bxnI1SFs{K3r@(;;i(?5etJA?ue-+_dpr@6A=|WInNlLl%dEZVC!ct3;2U^wAla_Px|9E#Kl`15&-$Pzwr*Cb(t|-})*ukye zggyo3wWV1;EAKTlZR@U6sE2o)>M|t!hr=TV2c7JDVYBK+MZ<6hY48T^aehsW*Dg=5 z>P7LZc7K-YaWJlQFW$$noPTCb#1XH3#@eH?_m@0=)#K>4tdUlW)bQmORW}tLYu+f@ zb|WHZe|7a4?~H@B4=aL~@wUrPlshPY-&WqCr6J7iM5rRu{rRfJS0?Q$oO|Ehcyi-n z)uOts1x@Gg7B3GDciukcgzCq43})Mh#k=uNzGF+#cY}91wnW_A`Idt%;#1YI<$lHB z|6O@3AY?=6c*VE714nN;zS(CxCu4$pKjOfGC9V7_VPu~R8;e$`BhS2faO#v}e=ZBL4ePRJpHU8CaO$4> zW%+&w7GyiL=+R`y*?5K>Y`s0YX#F6!Z1Z=&?y6d**>Y%G?qIUnw{5)}KQ3R%4^7qC?H5bes-rjVH1CX`-+zkqUqY>4wN|gX zMwgUb2^+jUulSnr{IT1%KZTrYl+H}-7#q6%((d%cQBB7z@jlZxe41hjjQ%jbq1G$y z#>HJ5M!Wy`YOv+CFEb8Es{W%syW!y5>5P4Lt8Zxc&V?>3^xr3kz1YPvbWz^^=mp&8 z>%XLA&Yd@nKUBC08ja zVX8VtIazJgSkz{tCQYZG4cy&|kDH#XPS={!jJh1N!Kl{h)3x(y_e2~sN5>|`2AIt0 z0YM{%vP3({$y$lF_V{-cHCjQA%rcm?CbLq9UkvGitw=5)R}lXQ;STZuwFY^DobZqK zJOsNSPaDW)OO7@m$!yF`Gv^w$=@GdZ8Cqk&WQ`@+w&$+O&vIp7f+`Qj%+Hm#_>(QjAV;bnZ$j4q{ z4@RRVU8m8fX(J6;1|u+GXP>jx^9;tU^a=VrG)`~ArnJrVID_WA!x(4VALoK~T3bFo zOEcSKmy`1nwj{I0Xr91R!rr&G&e}omv(?%5Gjhkdk>?v>F>Axq(~Vk_$u?l-@wA?o zhvu<4a!K&zX_2G^jU~&VNsrQ)HP*cmZp54btTey)snmGj$X zI!9+tCgy6*W1A(g7+e#puMM}&(3ELCr`q5AZ8L;_Ql^EuU9d~~=GfK_xsAj>Y)0hj zve46HBPKdKOFKbt)*4OPG#LuNVqCHv#(oom z$Qzt%dm6-Ctigvqe3bAJ7}p++DN$#C7|%U2Ui6N4laGD8z(hQC#&<@pPT+o^fyh9) zGf0vOLVck7KqAK6o$!-9XGipGQG_gx(!8W0yx-k?J` z0>D{|=YsYj;PfZ%jZX9K^g<1MlB_a)hC}8Z5;+59ojGX_l6B^#J_4M3WY1WWe>h`r zITzYTfioZHNj(^x{>=9TboQ0L#Hh1pT(8jC58hw)gm(6T_lSL;dn)(CN>+PCWoC;l4sZBT<$8;d$i49^HaA8k}{wuO~pPO`UytQr5>n=lsTi zxb{T+WZtnd2G)#)${6blzc3kNZDKqd;WEa2%+E6r0b(!c!!r^oV_?$H*h>@zJa-`b zfsX@m59G|j8IK2X57ar6Xb}6yoU|)JTsI#*eE8m&03u!`uWh1?@%_QNG2ncf;7?mD zh!|^Az75W`Q70~H$3f<-!m%r!t4Sc94Zf#nqhDL_co1z|BiEcDV_?l#qKt{Y(r>bi ziN5ljCdn9kz@rXS}d{4yZZ zmp0bq-I)y{&RF8C$@@l}=V=Z&&lCAi=qY1#pb!wx*fXF^kg#Pz7Pf3V8)vNt`GFW` z05NVC_RtkP2Sj@>&`oq~E;#Lcc;0EJPMqtZEc$MQ%=y~p<|6UkY67u$%qjY9mT_^e za-kFJ0}{FNAoGmVCeGD7$i)3YVy^QcJA+u;4@4hP#{!vlk#m7;w?9|U0<({&kBHBQ zOuL9*2$}i)L8AU5$oBE{5%G&5(=N_c0c5U;d1=c>BlYx?hq&l9?-cJCZDM`AOPm?^XMbmTSK7$; z{6)wL&^Qp|2@c8MID5Q(GX@&Uymd3Yq&z2HAh>qM(cSPX*+$pjZ(1#vTY; zCFD>LZOm_Pdl`Bdh&I-tEde`k555gl0b)G;#)G0k;h=6HzB66G>GunE9n76icl38I zeBbx*{xVkc6X2Q^2&uABXd(q{-)z_(NXQ(PVHDk-6PnzQ1N;+=K@BoS$l4XR` h(SV%BmzPvt9Y1)pbK>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_giShadows" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_useDiffuseIbl" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_useDiffuseIbl" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "30" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_giShadows" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "268" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "268" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "3757534725879107066" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2492931172876496388" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "634125391" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 7, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "" - }, - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputStaticSamplerDescriptor", - "typeId": "{A4D3C5AC-1624-4F78-9543-0E37DC93F491}", - "version": 1, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_bilinearSampler" - }, - { - "field": "m_samplerState", - "typeName": "SamplerState", - "typeId": "{03CF3A01-8C2B-4A65-8781-6C25CFF0475F}", - "version": 3, - "Objects": [ - { - "field": "m_anisotropyMax", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_anisotropyEnable", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_filterMin", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMag", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMip", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "0" - }, - { - "field": "m_reductionType", - "typeName": "RHI::ReductionType", - "typeId": "{4230D40D-9984-4254-B062-2DD1CE4E7042}", - "value": "0" - }, - { - "field": "m_comparisonFunc", - "typeName": "RHI::ComparisonFunc", - "typeId": "{BF11B672-B9C4-4CFF-8228-EA09C4A36C36}", - "value": "7" - }, - { - "field": "m_addressU", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressV", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressW", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_mipLodMin", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_mipLodMax", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "15.0000000" - }, - { - "field": "m_mipLodBias", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_borderColor", - "typeName": "RHI::BorderColor", - "typeId": "{8A6739E8-538D-47FC-9068-45BCA5B7E5C4}", - "value": "1" - } - ] - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_giShadows" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_useDiffuseIbl" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_useDiffuseIbl" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "30" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_giShadows" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "268" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "268" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "3757534725879107066" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2492931172876496388" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3189070339" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 7, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "" - }, - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputStaticSamplerDescriptor", - "typeId": "{A4D3C5AC-1624-4F78-9543-0E37DC93F491}", - "version": 1, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_bilinearSampler" - }, - { - "field": "m_samplerState", - "typeName": "SamplerState", - "typeId": "{03CF3A01-8C2B-4A65-8781-6C25CFF0475F}", - "version": 3, - "Objects": [ - { - "field": "m_anisotropyMax", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_anisotropyEnable", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_filterMin", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMag", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMip", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "0" - }, - { - "field": "m_reductionType", - "typeName": "RHI::ReductionType", - "typeId": "{4230D40D-9984-4254-B062-2DD1CE4E7042}", - "value": "0" - }, - { - "field": "m_comparisonFunc", - "typeName": "RHI::ComparisonFunc", - "typeId": "{BF11B672-B9C4-4CFF-8228-EA09C4A36C36}", - "value": "7" - }, - { - "field": "m_addressU", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressV", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressW", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_mipLodMin", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_mipLodMax", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "15.0000000" - }, - { - "field": "m_mipLodBias", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_borderColor", - "typeName": "RHI::BorderColor", - "typeId": "{8A6739E8-538D-47FC-9068-45BCA5B7E5C4}", - "value": "1" - } - ] - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_giShadows" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_useDiffuseIbl" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_useDiffuseIbl" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "30" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_giShadows" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "52" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "56" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "184" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "268" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "268" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "1426176521634445605" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "1425135468820160161" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingmiss.azshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingmiss.azshader index 77a0f94f97ef16c456dbd0c1838c5b664280de7c..fad06893e96dbaaf81d581f58b9d3081c49ff33a 100644 GIT binary patch delta 13723 zcmaF&hUM`yPH_exVD4aSGM>8lYJumMnJaH7oRxh)W3r&A=tLds%_kXKn5XNQFY5xSD%hF2FnH}$n@!m#tpjhIaCC^XWISe8q?54INoLL3=>hwbz0@Z& zUeq!=m~mke1A|BDf+&MK=Z*JmWscBmV@$TXwdUe4h^|%+wfCFS-Ge55TM_42dTK|+ zghk7nc^K7L_FyWhUm8=)0%p7VA5fUyC$>9EZD{CBfGE}Fiu;3(KGw}vg|+>Jpyup{M=25J$^?2cez0Y6l4)NKW%-Jls-D5ff z!wLJUeQJzBvPD<#W;!=)GoN$#hWlLY6EAr8w=jlZ*%$Eok=MQnOH@zJ{`AWEcg)G_ zHSda;r#QW~@O4_a_H@Sg2k*Xt$|Z)FmJe~4CU4XiW7)Z9kw1uG@#E8`oeNX8`f`={ z*K~en*3HiT$PQ5}kmHrUYTrA{iLG99W?xsDyJ}rWEKr7tA*QObsef{#vKUKa=AIps zFLH~q9A(cp1dALtTdX~~P+YA3#L7?oNsML1H*Orh?WVOb^!&q1#=_I1BqxQJzge(_ z`N$9NwyA#_GkRI_92giGqG~pA3t)%?!$`K*y+Z%Sdfv?9Xy0iw=IzguDzJeRbUmlr zwR8@9%ve3|psM&9`5loxcf^{Db~?+>XF<+zA5AzQja}Y=;oAqU%WQQ}@nv}8{ExYx7`wIv3b3ntDmTp7IVnfH^WTYIi)Aty zJJt24p;tS^uBmgai92d&X>zDXZ#V`fX?|{LfKzdUkzG-M;w^zi$2M zXtQu+S#EnO=F7qS5=db#eB*ZwcA4h)x*M>|IDK2a8H=0Q>w)#ry#EVy2g-hVke5za z&a`)9e7nim>b-#1jD_KwSYGlktc-a*Px2(VB3fCLZv~7=Q3H?l&T_(i3wkGZnZ`|B z;~f~drTW@uNa3$@pW$DkugjlF^Pg?yF=?%U2YUUh1H0Dm6*<1p_M}@um#~8Pj&pCe zfuk$N)ZBRi_6 z|M-uN?0^TEM%c(s1C~LMp*;LH^hb5-53Ii&n1B3TASmAsz@UyH@~F<}pbo4rIXb9= zb*zhEzm{4cTGuu4@NofTqO&Y1z%_01d2LJUT!#IzR(jb4Axt5u}waqpNP9 z%ijo&ico7v5OtZ?=&GC1RX3xnZbnxRjjn=1UNts4&@?*GG&;~klT|mSjF8zZA@|eKAr?|-lZJhitGgcupoi!}` z8!yOo82EAW%R2ik*R@-I^DGhlbLb&d+^;wzF(tJqCo@Suu_QlNKP@$}q_iltSidN- zvZTH!F*!3Y9n6L>i<49HQj3ey<3ZA>LVAf+KnVs0?CzU7aprf`i>-0;JFi|kWO@4X z2gzyw#b9m&(b(LV1Qd^fIIvhhB{MCpv^X_ACqF4MCo?CfG&eIZu_QA;4<=Jkl%JHE zUX+=Fa9eVIZf<@al4Bvdf$oI4c4KNAv$jXHQP3qMIzhZ~&)ajB-7_}xhu&}di*Z<)*{i80U=;ZCO*+T5{la2+>Zg#F* z9TUX(anqrSh{+GRM5d`TIc{R}SJ+%#&&ZBL%{FzW_l%PtyknibgI#2Ebmvh^4wp?U z+`r46*)>_?@O{>w1@YwGS!!b4wd zdi7t%5WFtm%(%6OX|5^`HNfCMYb_93oRYHW$;73|ZZ#sxnUh~K+i>{(dvBf()C&NN CW_ug} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingmiss_dx12_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingmiss_dx12_0.azshadervariant index c144350c7ff1c7da6a32247b50d0e80f1d29ce31..1c0894bd23c1b76723edb4ad0e6643216673cfcc 100644 GIT binary patch delta 1259 zcmZvcdrVVz6vuzR-uB*0q3x|y9zvgDt>UA#P=z|Z7YO0yR*6|qmQjYQh#&DSkz^IXL?zxSH#5q~WQQD3BYfU2sKhYI7xUN&s}aZ*hV<#UZCWSgyDe5ZRoH zS-&FWRNQA27oEvDe#Lko`68ouO2-A&%1TBNEKj}?kWZAyh5X53f3l5HOiagb^C#bd z^5TGed|Lh-2u4Txmi4+XwER4DV6t7UN!fY4v$ewl&g31{6nLK>>Cn#HcSO+wSHMc! zG_E?U$L{qs+Oe%?1lx4PexIkQ%TwQl6-Tglb)Gt(XKxp=K~FU7^Vofa31FFXn0^kE zQMRi8(U)?}OTkwrT@87}KCh?D=h^S@)YH(aH6#!Xq^HqKto60k4--xOM5B(#Pzg|; zNxq%u&-h`j_yHw;te5OoMW3dlZ#yJUERx?X;(A)R-y(UWm)x_9A6dk+0KXRzKZy`J za7?>Nx}>Q2nsesY6|(F>_pId*o!4*Al#Kt9@!wIT-3~J3FnAXO0ee7x5Q-V0tUxNO zq^Aj)k5;24No-I6Lu4h%)dy8C4PXmV*BJFFdmyx?+Ftt)|i_PlPE2Zzu=YD;=xVY4%* zbWu2rYXY&o*Xi*2*Jdx26j9p(@s+-|vxiO`uF)^ppngBiXChzyq=*t1dsW}CZ?33= zFbhqtybDjVXIK5nr!E;k-1J-Nf^eB(Kzt4*s@RZmL?A5iC*%TQA0_NXD8tqg%lF;T ztD+1H7>sHK79<=y-W{D(xX0YHD0NS2Pq%r#YW`@_i&6!y@!_zE9Anj6y|xm3hf_=D z(uS^=5t>4y@$;V4)OvQ8(8ZD0`Eb%i7Jj8p?Az(XD^8fm%jrxB-t9y_)iQqJr=l_R zy~@bDc@o{oG%Xs{;1&86BfM&I)QUM_xdrEI$-Q$mR2*7vUPX-It}54dBPugj!63S5 zHp3JaU*E$wAHl2j)inPysNVJTM_SY_>WCydq%I6FdW$P_j!aM3M7pQjeWGFOM^3V} zMpO~O?KIT4C-G32F3P_w4+n;z)Q$~(!341l2_{wRZg48SsF5N@@SKQf_!M3s`NKNp zAWy-mtCok1A|{D~${4Qyp5(c;bmS+Z`NaawsE%2zXweH>B5C8Nb@_?gx5QMe(*SIy y=k0_JYpF}_Zbc`VXRsU%W;Lm5)1T?=Q@ySJ`?)JW=5Ky@S2?(v{O2?HH~bAX0>x_p delta 5145 zcmc&%3sh5A7QHtwyaY@jktoFQiHL{@HGBmD2}!DmiJ~J)HKQPY_*DU2wK~*C2tOG_ z@X?Azlz?MLqy-J46vbdb0$L5$YP5c^LmjFW5NA1v7UwC|QcY%x3z)3+)?4fDoOAX* z_ndR@+qLd&I|rh_D6?_T)0wVu2-?U! z)|60u>Yp98i^ZoRjpfYaLAwFa1Z=HyfQzgXzq=VNOs<}>SFM{b%Kb;DfUakwd z|3h$H?g6a1u;-reskHfOQfDHPFSze55h%Vq7xnM9&c`oU18Hjaic9yLXXRGZi7p?a z_f>59`icJlQggCofqta7=V*;$^)ZRbrUgmcA0aNWu@5N&HjKF7b!By(K6z=udke4H z6=7vxW&W9fNI<%EOUh2+_1xG`y2O9qotqYje)~i|U?ht^c|s2YfwYmb!Br1J&{lhu zPScA3&7q#1tKdf)bvpI;voR+{=*2si+|73{WA9qJ`RC#)q@j0S`lruiQ9H=%`2d1t zNk_*p-dZR2!g|M?kEiP@=+PUOOFk>ucY6JVct1@be}xasK9}L-tPUzTysv(;MY-*X z53+BJmnYWnKmTMxkn7(5XUe{t9u5F}@br5JY~0)HV8~wH-3c~`%e#AdcPH4}@?WH7 z)Tm(pbB9Kj3O1Bt838KT%Ss&0iu--7U~e|XC{w{+HR1^5_K&0%(=!wFQ2|n^PwW%} z1MOmOQ4h?jTF9VGnL8=Dpk`N`#rA$pU#V3zTZ=HEx64 zV6Vn3F-)zm=TtB&$1uycEyzB4ZJBYcWY;lb029ddm>j`rW_4msgZO!h<2~bs(m1b| z2+*|MDtio#bH0+7J`%(qFE4L3Ut3%AW|UV!h`C(a;ai|D{_}zOgP>PN&w++dX$gR_ z)ci8+r}>q#gy+=6bA_06TiyQTzU$92)4c=9U--93|5d+X)4+jYu6vrKACY&tR1QY4 z-;4y04=eSEBn~dkzURd*|Ht?Q1D`zsv*ClI?lZd>!3Bz?N69~#DYi)O?_)RX$rzF5 zLx~$^>P3Pogf`|m#XIt{JXd^LJ`Y>Cu<9>Y9u1s0&bL8-ghcdg*Z#Z5XdY=F|CepN zr~10$6st+$-#j}$%baU*;=<3>1GVDsZ8ugALU7uCH^ghw%|dy`N@44f+9jc9|F+u) z8`!XpF_UKKF(OLuufL=p*Mku5PHy8Ye$(B6w-<%1N4y!4$Cu~xAf4D~2{oV-d!4rt z7HU8z_WF`FTsvw&r~#eW>(Uvn9W@}-fX?6I6SX$9(jA&m13IzSoiOCm9h%VB@qe!q z8{EAHdURNX8qkToaog9|qr)Q9fKF`iFd9jr26SR@&@dWFp$2qfdT03P%_2FnYI*W4!z=(Kz z5RZs>LP!A6>;Q07+L9)b9I9*qhy*BjK-@k=VROX@VZ$K)wwG8J2vxTx(g0|u;C}W~ zlsn0_5dH(7hjO7-8HXM+a%S_qU2_j+j&;C{D!oYL1Fm7RD5{s+Hayq#$W*Ha!VMA6 z-YO5M#2fJ{Y5=A+`H^SVk!#W!ZrasGaSXC?kT55U`_m<Nx5IQ z%%@WAn~L~XLQAd8Hd$s{oXqV-XZ3E>&> z1sS-C#+oDF8lSNxC}U%MMk1HO3!-c;rUdX|n@4n(V?xy(Cm6E=m>!FJ9-W@jWA&aGg(o5Xu>Mt2jU54JSf3S%ocG&64B&* zcTlw#a_`cB=Q`qIhwv}5LCOUXvI$K-pky)D8kvwowQ0traMV0inK~{8!o$k0@lB9K znuedS41=jkCcB*kkKm6v82iq+Z8FjF2{&$_cJ<~Z*Z4OY7qmBri5XHn$BF}0$}+12 z2vcw?n+~W{8rl9rW+YvE+Wn2PDeT+(5k=;hv7d6Rz1qkmD}r3iH&Jkd75MF`YiS&` zf$Ko!dj>K<46Y?jurw#DKIej~XkdbueajhIi`MZXxt{8X65u#o#bDEek4M>#2ustHGAFd_scJ5V=wf5>3rA5D9Y z(t<|DAd#i`;b}1h-|^1AkgHteTuAo)0*&Lv@yV?qF1GhdI6a-7*~U(0$`KIA3z5(4 z&h)gDP*d-utLUom&t%k;59yKJXe=M{(m5%(qpNr>)26My5;EhF$}a<3kXe>q+?4g8 z+EcuhK~bZkHoB@BjWO#B*CkV{q3%k^LzxYY!w9sc5$lJ|dcv2hf23e92w?ar*GV?T zJd@%!kMqYJ=dxEXrbT+&0py3mHI|v-%jMRYXYhX4Cs2m>x^3lpA`S1w>q=4-_h!2k WkrzJbuq~fXB^qyjf7gr+#QQ(GrCIF& diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingmiss_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingmiss_null_0.azshadervariant index c369381fe9853815ffeb37621f99d47ef5cc76b0..0bf9ac53d74137223f9945e8c6d37f613db3440e 100644 GIT binary patch delta 68 zcmbQH{ES(g0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-ML@J1ou^ruF_jYUlhU%Bbd RWeI%yLVk@t2S^VT004v%7!d#f literal 4502 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gR$jtvJB7Fu0YcX@2uFmb#M#tfJDC`G{V@jYUlhU%BbdWeI%yLVk@tNVDI+_vZOP F8US*zjfMaK diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingmiss_vulkan_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridraytracingmiss_vulkan_0.azshadervariant index 13fd579d9bfaf41b12acbe49ce39986951c13cbf..cf8bbbd82494b697e9f0edb4559340b081dc6260 100644 GIT binary patch delta 54 zcmewpaK=!a0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AKu(0a7mmc-}I-(=4-7Oo~C3rT>;64nqvLAJ0ZY>L_GKoZhqV{2$C-Ib(FZ&Y^zVUR_XZP?6F zfniI;86-r5$QIdD76YgZj7r48aTtyRs4&8)5D?~mRrQhr3jH-_eoTsUdGCF9zwf^H zLJl0qaXyQEHl+zEiNjO*;n5ubf|^fD$448gVxAk+W=MSRB{#~$yG)+6o~t>y zY0{4rM|Ix)r)a{f4Q}Q?9!K<7W4C@ zo^Rj%VA)dR*|Mm-z`DRbQ6)=PZQI)GL}~l5ixvXjw+ebgnDKnRs;U2cPuze|>Fe`kIRH!7tS|7kVUnB6fW^z3jk0 zFYU`pJzx!75V|LMH5rbXb+CsaqqFqcc`;$$?xE`s*BUqUsksz#=mo?0PY;^Dy)fqB zs@IRNyM86%w)yzk*;gf>m*c-3mKI(`y_ zwxQy!#Z!pWgfq`7d48qt=9uS;`}gW_44nC>ziXflhvUqLhivYn%i(IaUSFAODE8FW z9{zGv@AB+Ze?K$0)#^#@OUKXnu572zk(((CU%4~CV7ad|mNRgZX731U`4CPU(RsOX zX8+o%5YaO^?bS6K4>>!ypRS3EojTmG?Bt@}eGezE*|zchC&DVb?47vmuWc7d)v^>QQ+Gb92ggmk{bi3f55ruek%vmvSd+#+`F}h+oY_3Qu;(MLu~RoUTsJJ; zIj*ID&(YoIt*I`xhb_5VQ@6R3Xs`@wozt{`+z$t$`$e7XaejmOMp?}u9W!);c0RYF zDs+2LXyu&rWjnr@6u2*~bQj&n#5wouiugmJyQS(QsrR0L@=D;5&GsQOhpYMetBRit zfh*oxu=z&3drxKM=~j9BsvqTqF5}IYo?4^h{+{Aqms1n#efliFZmjeX}b#>cyGAvV~XPd$;O9>krFE z9v|gi+A1P!?e#@*$rpB?+`Q>ddeZD0uMrem=2eu<_&c zn(9#NjSJh?jtG!UPtIHDnmT|p_Zs@e4V|~sm-6gzxTg90=i4oE{wpi?)pjKV<`nNS z&O)AV{xY#}`i$)Mt26e;t-RRF+IE^xlkWapQv+3}Iaee<@f;UQ|EQlEs*Jl^b6hjd zkIOXWSW=QRED~R0@k+c^bmkKtAmd3BvMe^iW0gd=*Ckm*r%jj%eh}%wvN1I?HPYj? zMMgyrfQ#mwkL(G&7PLA_KAO-xP4sxc0GHC>niBaD;TI4AM1e%jh=PcG=nweCq}Y`H z1k>Eam)KprEs^)~q~|AN1al5cF7FW%Ty~d4sK1QEx5F~SCE0Bzmq+x9E@!{4uac!!&Up(WV}A>z2-wvkz{)Ra01 zzigA^NpLwmUf$`AFUrdkq(~h*nHfeV!;KA|Fa!^jke-w7YV7I}U@!NPQFeQUAjRzJ?eZbQ~79w7SB_6LJ2_CUQAAKkD5(;={zK~Tw>;jh^S1S2vCi_6I$ujYjbb;3?csvit z1<7)FCuF(NlEm9YfL8hM9O+Z_V*G0Z@7V2FodO;ilAF%0=Z4*kwB z=m3Llh9PcX=nIA+24L+p7~%yMp~2t}7<%1E6@^{If_z{Pc9<`AFG3z4d;w$musDIS ze6+egghRIz5z}S)L})OUPhSnj@L;Z6aTrNK}SVACGJkc(0)U%953qYf-r+$+#4(_pAGu-7#h z&KI!l8VvggY^Mgp-2iN_2E*L|>^&8OPkg}eAr@e4zcFDL+izbD=0md34Im7?1zpIs zr8)dZ5QR~n!7tY6g*Nne7>yA`q{j78*XU!|!y2;fiSR+c1C7AI?@Jwvbw?t|FoIq5 zT?7$6*ulE9ylSwE`(@?HvG&#!X&0J@)2)OafK5j51zqq#y~s1h2qI>;E6tG)TX&=R zJcKC3g;S597vTpwEJx%LNo&Lf zKGywd{EC#&16U8B(Le+rSP!J}oXT%SnuBQFmHJ^YjhI6wibf?@WgV@qk#k3q#hJz4 zL3W7BLtIbM8hebs#)mcb4|T+cHTDhn1U{^>7q~0o4{PLuzG7?SgFZq|;3FU0kI0Fw zaW}Fx^25D|99eG;r8URRI}}Ngp$@ofF-Oe9)j4W9LY?DmJVn%(URKocX(H$_f(~RO zh#<$#4E{p}kt|}0B?5*#7#62uumcP+#;X`= z3JkF(s2J+XutXI@ZGWa*lW4?uo94JfMiC(HqisvH}FDe97lw{oDv!=&#_nCh>%Bjb%Z_Kzp#UQ6*i!c{mM|+s4w~^ zQ^jC&uUeZd6^9Mvl}#f)?uh?+l31ROf>gMDQ6FQhs6Abju%8SLQ@ z8tp{b!yZJ)8#y?LfTNaJJBgr&`lDvxvs$`n4j+&~zh~2kKEe2-y2oyscO=3YfINC= zD|y8koKA!uiy*>YY0pd&t$(DG0>2UwY~UP5>YeDN zIc&ue#S!6-jVDSVf-!5$ z@5!=0729IW#z}b__kUKG_D<$;#lk}<`QS>TeU3!BYhQc5{K}|)8+^xof2m7le?&0$ K?zN$))_(vS`n}x% diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrelocation.azshader b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrelocation.azshader index d827fbe2a181de9df1ebc19f0eec3720dc8f81d1..b46a476221c29ba5256e057f090f56385e2ca546 100644 GIT binary patch literal 91763 zcmeHQdt8iZ`+ug=w(C@))@fy1$1RnxqNsFuqUa=*M;Xmi(wxjp$YNVLZ%7W6awxlw zp@@}2$f|@ww3b&tuirZCB8RoFSbq0R@@ty=uIIKh_OtKa^9P?#&&+jwpX)wf_w~Il zilQj}CA|6eYqwNMy`HA+sJ1xU{b6ccnB_b}r_YnyZ2ZHyYG=(2({4^)c3s?}BO_zw ztglQmh4qw03;bE3B!aJqmWV0l$?EDOqpl{!%zfy+Jtb+Oi{ZuR2|zZFqC-pb&dkca z)ZTFmvuMGd>nZUs<93#~IEOjt4ZIosuMSyb*u4K7zUy>x!@RhyOUg#~D@*Qdek=TZ z+MoyJla{v5H|7B`Y9D&p?1Se_D_ow%*7>g9y>R|)t9xc1Dv1UkUTQ@e6A1hRhlh#A;FkNH>g+A%9aqjm`e;vse%2}%9vT4V$yyNY@ z>`-_xSoU?>s+32TKk=FJ1=TD>6o6l1D=*l~`3K;gncobDJ%q|)23HLCf;{0-91R$^ zZQgNH4LiSjt^T3n#+e7FT@Hz}_dGkUB;O?B$<3U!VMeWn-`;y~Oq3Nxe{<*XGS@rL z!*{O_UU)=rqVreYv^#w&`&s#?Rj~{EREPE}XuoUP=E(E~^{rhzL>5pnVp7cdU&DU% zKJ@D4Bv>DNW8HXp6pyp9l$`^vf`O?}$YMeJVQFaSg7ljBRK4ed1-4P1p+D@uelbf_ zSvgSk${&4|7?nLi(Y8d`{BMQPygg++rwO9%MJy@nv$YVovuA! zR@H;&_kC#cLBlgYn;m$0lU7bHuUnN}v|Jh1dF5jx`+$O9JylYTdL;kgm!2>xZWrUv zd$jMwtZ>-;;LDfG17uNDT;7^NM*2H0I7_XvSI;6KRa@J#l=F;eoi$LGS}5yd!2ge z$5@KKZXR~&Th_qVAU}A0T8}YqPG>FdQFL)z%dDjITh*bThJ2ejc&t2ffOUe(82YQ6 zjyaAGa{ny9ulZL3}U*}rx@?LxSdTK8gwHb#gq0Y<#kSE}07$8j=KsH*C-V03S#6W+3(UrRHr}sd%WBl*C0y{qLTlepk6#e_a zkgM^ouRmGUDd6{`_D*N-7VY|qqFrh~vGIPq=zsiEg1fK2yVNA|{_gb@J@?o0`AI8l z_rzNVm}J##ty=q{IG&;h&u#14^sg$T@N#>WzUpS_*)wBAOwAB}pHa-TOPj7ht;huZ zxOoNS2>^~K3N#`@l%CQCCxcDqG{p)!#7x6Fh;p#F6*;W`74k%nV#bO~t07OoZ|Wv{ z&WAtQ@V)#H^a;IfV(aDG!}^T&?j9(~O?0=KKpnoNny{bxXSB{L3LUtG4!IPbJ2M8n z!%e*l{R%`~j;^-}_gj4?_fX`+syx+q3#u;nO0)J~x799vK~9^Sk5rb^`)P>9gC&9f z+w*!J%bYiD>RjmLt}%S-r*|gtgMO1-{L|teIfTdMSWBCm-Z8X6#sQwb`h||(bY3st z!=D#Y7!;PYbhl&9cNf;?s4Q_-WVd$v?65YweJtI-9KQTKuv$&|mEKz%U9xv=4jr^U zX6fN0$NjFTzT5HCYihrALinPX-1L;+Mf1UT1Dp!__huhlIiDB&`99WIPUqgpR(-dV z`_@j!uJ|#Tcc-_KnudeLhyIA_zx&*NgY{c2f=c!tuGo=aVDCgLXZFbZ*#l?Vj%&4d z!~QevCneR;UXLH=gr8s*-mvlSyejdR;<Dm~LI93D}Be^dtQyoN*u(}~(X{)8WHHM{H zC6(q1kn$s%Ydi}iE^Rel4-H&C{8_+e4LuxbGAkrBZJA81CEuEClq6QHkRxH)B4KIE zVm&o1)?h35SyG9Z6)TY79FgF3XEQoZu3%-XJQ{5?XPv{c(6HI4seEx18#ompn<^0s zkS24}IkwLbg zpJ=g%Od?h&5jIR}$Szl`bAYCeyIe~rsS+d{BQ1>pa|j%}iMErF7OFr(GS(?1J2a%4 zzX;MmG^Emh(D>%EkyBeYs8sD_-;P*3mEG`EwzRRq zQ{E9zIroDt9*ov_Fi=MtJf-dNlxm(rVNM4;2p{1=&~&dgauwleR$c)AsfiVO62ZgJ z0S^Ows|7X@cv`z?Lo3)P;A!ou4Xt2XiKq2rZD<8MM?9^a@wB$=X~a|iA)fk17czKy zl(%UZLkN0s!P97trxA9`gQrk=`HS(2YV%XmiyS=7`god~zpKGhZGfj*bHAr~p2q{w z2@gPv_d$5tTj6QfToz%@Sv&}B@gS&myQa5Jc$y9IG`HY6#M5npr(10!2=Tq)DL2Ja z&f!K4PyYva`qehxZ(YcEDvg0k5Q*R=%@s6_ZBfm6T8P5|Qwg3Z;KoD5;Q+LFqQJo% zAqt#0@I-;Tc7!MkTu~NCQC7I3z;!kPl`XC)TcjvQTv6b{7=g+eR}}E$AVj(0igH7W zqH#rm>r(_OZ(LE}mJ=b$7gv-oQdA(WC~#qjKoyKD3f%4?L@~Icz_lDg)MQ*ylaZnX zxS|9|QBqt{QlzLHTv0hlQF*wcz_xbuijbm;aYcb^76hsiTv6bP1R<&dS5yU3 zR1L1E8l-PFjo!q9Z zHjL~%aqLTvl1s@G1{*w1>e4=i^17Q9IsV$Ce`h?Wtse-gZdF|i>DYPvnfPsHL$8ZH zhtSFxREM&{WS6c%qtnXz-urD1L(^HY!camvAd~|bkxaYH2<4gmOSA2ZVBf zzCf>E=?LYZfr_l$WGL5eZmbYBmtj*+H7ei_xIy5d4is?PXr-l^cVnY)Ss-y~D`u@l z7c&YP@X_elWNIzh)cK2oWs8KREsJq*kfOi=57K+LS)+So6f9?*!)o~=5QPo6w{&bW z&1(+W?LP`1@R{itANR-%6h`2T(=kTua3K^_U!6nMY;M@C778Ds9MrSQRbf$tasWwE z(!#|ds$&6nD`JdlYu(a}po9kcpa4pd0KxL1l`T?B*PbY3IY?yM+PtYDBa{QqdvVP! zM<@r)G1}pAaD;N8p3VwxB|3WYfx@S@%bpu?0E>~fb+uC;(ZX_{75JV%9~4WW4Z;;A)et0 z<$$~4)sD)9asW$63J&J*_(+OS4w|M;w?*2DP!5{fick(5xW*_`gmS>$R#M~`B$R`u zW3U)$D?&MFYO7k5t=^vBxDIEfM;pGR;`0P5v?t2AIZ^+$lmmMB9H*LBQI~g2xa}Of z=J^O4H>a)_>D_6kZ++gYE~V!Q_o$V;X@cMLZ#-iP{Jb|ph!952-A~Xi_t&}EXUr0v zDh`>q((^>C6w7VJDn7!RS)qGEHjZDM{ayRh(pIj5I3*vUX}t%HT;wXaT0sU9+k^87 zClrtz%*d*D%m06rHvwYE|Wm zJ-trV#e;J)7u-JVyu47j?A-RVD^@c8CVCwqLX1>xR8S57H%A{$`nELv@x4(mn9?hA9?109xc)NK$2D{JnW?|mJb0#p$1JD~yKv8HMAF`) zZkKknt=k)S__Wa&Gt#eox?$&@C6mD4K~0C*ar0L~j0Ar3b#x)Das#L~aq0t!9sD;Zhiv&A`h+Uk z@p$DF-VAwl^~s++`e%+m|34S(O;bWUCr_C9>*hTD;{S|UwD#rKQG(`91p0jMK_qL6ePxM)ry78E}i_}qdC%{WQv$((2Nji1c#^b%rvwIv0NxWv3 zAj@}NKer2Qm+|W5{<`afdQ()$i=TRT(){xqQausU$W+88q@Vl~#}36X4l#WY)7bg{ zYf z=6pT2ZkyfC4&9t6$84KS_9KodbX3`fS&J z$SZ=Ss$}Eq&DMXNdH}#7ZKMb9{yzI*4~<8sW=_~=aJPMC9P`V@&ZQ80f%o4blMI7C zq4$pZ#B{~x<*Swr4qKZ&#?LSB%gaydS1PL;)GNM^+soulKObl_XyL48n($uH;k`#X zp3ZbC^^h(zwJ<+)?$?8=-oQ8w{j>w*34pZpXWt=~*V7XghmWevEeIO_!*?kT^^J9> zwdEI(-+*5C%^!=thdcq&3g>kVgiBNQVaTh4%#7qUA$9?_B&|t0Eg73+3L-Ntba_HA zC}8=bpY*dhsGvr4o;hivaqbGS?{;(1S=G6J>9pHNM)sPNy)aAKhnM|XS-r#S&-_&- z)}Z9VFprGzAJ=bnxp!^$O&036`v}mF6`-gRUm&McuCltXLrvPpOw3Q*G(B?T!Am(R zQToYlOHM!a5v}=V*NMtKHWwLtrqmU3><69+tnY)YEm+@IdEpS|p`MpcZPQb4X66Rx z#dbc9NiJPS8OS5Qby%`^OQ&-~1HMcSw;F!7V%;)l>rvYb(ctCL@pJh2g&8K-FzRtr8&T zHDbNjR(ryO`cZf$>l{xD><$z#0TLL=3qwlL#-J8fE~RTwU9Je(<+L?6NnRMRaA6$h z;8a?Y7e+nf3EWB~FO0gC)Ye6k7lxFgHN2?WN0YoTBri10Vrqu)`;20yUD^aoA69}CRe>w20x7BnS5ysBR4uNkT9hbdbg$~B zhvbDBSCVfM@#JPs+AyR4f>N{wUEBqoEc&|s@3!gu&9}Ne*+5FsMhpB|p(H}(t{cFg zEf)?Tl!LzJqg@H*0BZ&WGbSQ4mXchACkn8a5l0=R*NIRLrV`2lp&Ss(!9(xHak$!w ztW$Ft63PLg95e)aYpa8CaFC*c{75O5OAw^pH~3M(cz}^ zxJYid|0sOGXQtzrYC<_^@SkgC$<%CaLOCFm1MN{-2<6~ixm9ZMZ!;vqSP|cicYAd9{AG{OTAHZd8i5H;7zczu}-Z-C<)Ge;%`FV7fw9w&P9PwHFJv*JpnkYg$*lmkLJ2%Xq+T&*S()t?{dFCmlz zuBA1*;*D}RN0U$v2<1R^HsQ7)63T&;9|2Zm%ry}t1jSj93FY8zlz)9XCzx{d-*}ZYi?u``Xiz~_(DJl?GR3K7RFs>*W zUlGcIS-EDE4k(@rFUa|Kp&XD>v@I9Jh2-idrD(y~65jK{gNDyPxfHG0FZBG6ExUZ7 zv<0c}3XDMNyEc@4t#^x&BC(B2;S!sW`mUtDYm@Bkq`oVu@7h4(04zmP-?ga|jnsFA zS9J!Rh17Q?^<7DQS5n`V)ORKIUH`82U4hr&{nd9p+9_23Z&}}Uf!i<}UzubY8=;Wf zNbCh{xI9+M%4YCo(R{JO#zi3!1@J{uAsZCU&SYgav2yT_iyVZxf?q|ja=Ann$cm&k zqa{<6|66mc?>Zw^7{eEn3a=#H3SN#Bl5S<&#MaBVhxHll-91o}o9J#efjWFkMcH`j zpV2z2D0JW!I^-2waKF`Oat}p5tjbe;x1j2BuQY4_bzAMy z7v!|L`KUgi@uwjc50(V_Z_n#_EOXv8l5S-)NwW^|lf!GfeF(Q;%;6KAB&(6nYeSns#OD;_q@{2Q=h zE2t)Ymvk$5`2L!7D|i@fG-fw1@eEcbXT4-Hz5tweB3O5EghWXo^yG^~d}LPyfsTmb ztF5l6+1#**epGXV=t&*p(W zHJXpM&}5xk=sl)e!7~&`k|V0;OOciX%ZFArvufO59j9BtGo2bT)lNj6m5j1k9@1vo z+U;u27Own=m`HvEhfHQgNOanoYc;!^Pqf%WCJ`%?2pc9fiZ&X~9%&`uK1X$JZ8e^$J*;UivYF!Ulr(XLfn&F0=F=~jX|C6^6N_nJC8gDGE7&1y!*Q>4NxsqjiFy#C?* z)&{5}4IaZ6ggoKU>NQWHFsB0^gpcqbXu8)Lxr*>K8{uiz+!m5_EAjFu9*?A3xvEhw ztutQVYT46>*R@H7S5o113fuUu2Cx5+bSr;uS%f)f@mheSTj7uaP0hmv@x9@h+!Sxl z=5V8ir=O%-A?a4$FxR-&CM4-rxaS;jL#BG5aZ^2zbSvD=PSUM#x0MvxMRRbwXbw_T z91g0e0%5CKT(j4rL@5K}u>x+D9&I=(kh}y>6jh-; zQO3=QqL^FhSm{>MR;IqR3fwhZX`HA791HP+n?qY+|nR z>h41v*g(|6(#jFsoF%Wp2bB>ca*W+d_TXoU031bkof&QCxPIwIvq3>aHh4Moa1=U> zQ?;kTJoV&0%OdD^?i#x>eal%aviBS3Wkf4=DK6Qzg`>NAeGT=?SCab}|0ENBd69 z3NK1@>*Msfdd7TTzFZz4i=yK4)(kSz-??if;~5&cv9PMnXMaE`p%+k0hv_0CNDtAc z81K5coscJ>5NPRu7l!aBi2J36fvvyF>6qjAAotJmNj2BCFN))_W;&oN0;nfgkI3hWw~nH>X%%bYhB(_Elxr&&{&hzZp{e2prsx}=mp9QTlL#{Zexyv zGZYmKM(73arJ5^Vdvd$!M>Q#-7j$#-vLo~YN?RehngPRvUSR8Agsf+&7Dh?v1!zNY z4C+BmbW&90C*|B+ zs_O&4GCUlc0&Zf2y9{r41cyZE1?rAqxRnUKpivYrp%i2e?1s0gS*q zgeeNRlMtf1;fm^p6lH-c$^t3M3Re`N7jTc=CiDXCwj$MBx!X#B9L`eQ;Veap%E1+t zgA_&R1x*9_OOUpzz%_dXQdAADs2ZfGT3k`JC{cu7U>=-yIV8^B^X#~ie3OVLH*?a4 z8U0=81-h)}3XZ+B%l&n3_8GH8r;0=7t@J$6D#dbJF|A}IteF+savjz7Z!$B1BpiV< zke7|pQWaIzj+HYCQq2`o#~7H9RC87KBZL{QELz>c^v3;*;0vUfD=-2n=1PjW_NJ(i z7eDpxL<*Pw6APEtyKoZEEbec0l1|;V@pv!u>>h_g60eyhXm*HyNI#(%#v!H;g!HFe zHb^m7Qp}YUa|I)T>3(&^UdSLJ#au}-*TZ`u^(q0G+KCi%CBA<(85{FlmD_Q2rM`BlYSNl71W5%Gbc?n&Rrq)-EJ;A zt8!W`op$@k$X=7O7iLNO@UlNE1O6@G%K9^ZRS7UCxiHKlBmBqpTV3v5n|+gwQ)cIA z8bS3Dp!6!H%2>WYUhf90`#RL5eayuC#7)y9Hy*r{qY|Z`?6&0eQySjF8zZA@|eKAXTH9aRkDKRHAC#N(w zGtVHgBr`t`CRI?BpOl(jl$lbLnviXFC7C;PD&vTWD?;Wqi9NrNDp z{G?-nvzwhOSH}b~e%y4ZVtb3s6&68a_7(c}UQk2;^db+yqF%b1yVRWhhO;!vuqc4Q%NoU7q(7It-sO>OExVYiQEx5!9MyU5gC#2Kfqo!vc`$4+NEvuEa? z^WSs-`76 zdYl_EIs9%60fa{Yz(IRD3L^>&ifR;hP^1R|PzUIM1E%O7T=!h)I^UXtTz1G=VO2D`gkgjXJH&B04Nx}5=CLbl(Wf)N#-=+es}nd zvIsiCMvEfMShikk(g!16^h#FldHUyj{!p+I(*Bz7_LZ$P@854()8QZgqr)IN-_YS3 z*e>iDZIJw#AIKz#@p^%R}tPhXsD-;=auDRHXZZqHrDz+u+^R|?*ap5Ccq0I-#1PN0V%423HAxxY+- zPIFMF5$nnf2+8quT9QL{ALz7e1nf?&w5trneqF$d(ZH``GWGWS*qRykKFa0-B$sVn zW`8ljuF7Xev3bB@1?<||)PqCp{glm0zxGDvSFfimN#RSBt(HDDN4Pv1SSwF?epczl z{G1CsjOr#?7kEy}HbWN##h+`+=HzHO4H`}Z)s2G-JRQ|dan<1~!was{K_`#o@HYdN z$9gazW45qNB_-CLCx)7La#yVHOZD)H{F%^UJcqvxmGwVvPS-e1-0P+t&88hNU(tqr z0&gn}MWdWLBA}GW<2Ej|Nb&0_jNXdMeyjHm(BORPsOF>zKPhlBftH$hB#p>lh*-M? z+~pk7Hy&P{TriE<>1)|5+e*zJC&W=02VtB7= zCLJTL>6Rv}ktB>mm3ME~(qFEVO2nHUw-E_6&YO`2|M+@uV4246v3=|d7pbK z-(Y=Kiu_-->{V~}FQbVyFF)B;>aSuzAp%%s!jUHnQ$6bx%Vh9u0%_>zp7i~|w?TP| zusGlM(Q#ddIvCAFF>Ux_UhTdguzMAXc|T&8btZ8eTdgQ#$PPj>F`E6Z;($X|4|5Zf z(%_{*gY}&P;e)VM2^kUEf7zd=d4%K=M%Vua@Z+53PIF6`R6|^L6V}Zh|9; zMPc%i)~>R3?@Bs0QhDilNG9zT&V5+85}h~W|5=Ncn_KaQCKJGWNju3GQy(j9X9pba VrJTfGR>A#6$>pDL>A(5<`VU18aQ*-Q delta 5951 zcmc&&30PBC7Je@YSp+m;O$bZa0;Qlq*{5O%7=tDVvO}av0LxZ383!Ed1H!7P;Ddr7 z2!a)r3W^J8MUYg3D|C&D4mcK3TU)WUY8{;$0+wo+8T+Y|FZavMJ@5YK{Qo)k+`uW% zlTn5ccwvjN+Xb=9eBAlsjpy&3{yc;bS8mvc$cqR4Z@}4wl-X9niwC5VKI68OyS2PQ z=P@^8>Jigcyzs(y&C(Ui(japP;`w~;ck+TAp?NE1dG#LC1?7s_u}t1-#-Y<`4aaYe z9Sh8~BX?fsju|J&@l>DUU+9XA1|@zb+$zYgDhpo|(4=KmD+#cg}fvbJuYuXbxcZp%9Q zXrao|_1TW)>Mak)4|Fxg91_gRSe{*SAM22qc#ojkLrz-y!Jh8B?&Sqbx7B`YQHSi= zSG*FKFpzLuL9FcIvck$Ixp5nD$!rLQBC-!? zl3!W}xiHzdBy*mkO*?*dq~PP~`V+}Usqe|X*ir6q>DeMX`#xUv-uhl^!&bA-@X{dz zX?hpC<|8AX$soE2I2*5M){`e;(z}gCH-{SIY9%LP7p( zhTd!_$g32~8wdrNsKmEfaeu58&D^r2Ls3i8(+(u>aHzGh9ytskDH9+;rHk3g=oz4x_8{!!RajXYMt@U^o{6ACqpJtlc^bC@-31=3;iNuOM z$SuG2+_Y!J^s}{ya9#KIoX3}+6c@UA;dU)NBmB8HB|~*#=qi58R&SC1=+Hjhg8aUT z^I&g>8j|4RlGi_LaQHv^2NAe$UBrcdIIzIuNAl9@#?S+}TXPz-gm>y`{c02gGVe}L z@lb2wwRxNBZfe+AzTP>ivUM2}5ODDC-`rQ-IQIX5o{9xNPqu6yJ*4GSkoh0dc)RCl z+i|_qjSKs^sq1wahMgC_Kdh>ig>Du)YAhh8l2Lyb%d550qW8TA_a6%hKDD#T9Z@B0 zOw-a;%_dNK8~#;zM2!W&eYTDs^dg)JOfPTbGacp`6$=nOoO=eoUNqBHPB zp8v>tT^XH$=nOoO=cV(yGCBj%8F>EgAJp2bmF}w%oq;Fv{3N_`>Ao7#=l=i56PbQ` zXE>v;h3E`Ckr#gLt2?8wh3E`Ck?GCoO%k1fCjw7vMsJen3_KCFJ^bzUB1G*Ud~dH8 z30~*z0+lP;iIL~Gh3qb(TcKs}5|=oiFphW2iFtEBjLBSbA$M)o*O?E>U{GgqCJ=-N zpKf6Azz9>WfiVPzElR=cwf511APJ-aQLqr?6XwgufNf-8wFm1Q@1ASs;FH)fg1Lx= zv(f!{GdQke5U;O+SZGJ=SY5Jj7QJ?5?J}eAt@NuEj22GeO-U%zwd%pBi#4OBY@|z3 zu>VqJzkpQg5tBK0b(}aRHeHYs6Ppy6*Q`aW-ypm+6j?VEc4?>r+UrwzlT$?qHMlYQ zfNRKALbxvOB&=)kF1)#7lxtH(_~qkKuB)pxxnwTD(u+>{YjQ?x`szRo_$LGeWlg7FT}z#`P;*AN@m5EobLPP_7vu7U4*D>ZDpx{ePP z3<8Yv0#c_^02ro6<-smzq0%95liSLr6Dy)1OtV19VDZ4dkv zp@{^uY8bdCl9VMGP(EJ6q}Q~=VR((;~GS=VTeuEYR`5n3M3a%q*%y{)$=oK;y+@d z@&a8c%HU~aQIm7d!P@qA1Tx>1mpe&~>syT8p_*XpWbUXY&BjKTKjb|rKp=l$YKrm| zQb{gjI|Zu*ua1+T;WTHSM}1t$P9j%}tPJ@Msj6X1Pd&%e5>Eue4*Uzpck^XQa+LCz zgvn%I#!3C`S6L+FQLs1wHg+lx{f5Tyu{hjb;zh)pQyp2#M@k$LEZQ5& zHj@gnlWcD+khCjt0)*eo7&s}pluCt&dA)ju9+Xn5F_^-5L(h>paj1upAX0PVkxbGd zs-qi#!SbDkG0eM?NreWBH&hR77%7ZQ)pTMB<1~Q~H#iIxMDCzb0>$u==rLr-s7@y5 zUB}4wvCrilD7#pk3+FJX{I+`r=yf9-n|wL~yiNpALC>C=Hq+NNhB4$H$a<8yU|v(8 zEV?sq(|ZZg?@SRr)92D+)xHY=!WaOUaWj|hr&CI0fcU+NOuN#YbA3xdolK}1xcO>v zjYtN;0PN^5!|11UhEuU;b~HK93ka^IETtWruMzESZ$xv<&FHfpl~V1MI2C69bR_mN zaF%#HNCN9S6gFOfE%A|~uEw@D5&51VmWd1st)5S#Vm$RUaR5N2spU^-p|Lw}<)#+- z3IH>a%UkmG{=TB+<{TL%H_T#!W#(~R0jY|F!|MzrQ_T?Nl~PO5=P+%w9Lc` z|A|dpo<%x()MTzl;O+)r(ZK+nd$ftnOV0$!tjMKH9$I>SWBG()cAxUJ_+oLdQh1+M ziH(%3#hEN~UDU!fSmP66ZlxGaGu21SO_w5o~uYvE&L-@G6oM4npsmx-p!wvbm{>9eItnxej%> VfFH)pTIUf#_hatbS+Bf5{tc7MOlbfB diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrelocation_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrelocation_null_0.azshadervariant index c301dc47904b0ef3153d55cbf01d1895204c4000..2f2cd5cccff43f5abd9e32854ad3bbe7a994c792 100644 GIT binary patch delta 68 zcmbQH{ES(g0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AD-ML@J1ou^ruF_jYUlhU%Bbd RWeI%yLVk@t2S^VT004v%7!d#f literal 4502 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+l691ac&&;~n*&o>xc!)FfqhbRW|iwjhvXq%so4>$S^X*9A(cp#3IAM5OdgUu{Ks2h7&74^(Qfw72mjV z__mwY!qD>%FBuC@kCL1eUjAmm7Um;AyxXS!Y0T(l$#Y;}WQeNS#4Ug!4vYxdUiS+9 z8|!&9i=%y~&6u}8PpZJ?grh^8C1cO&b}gO59y3T}vJxUFdC5ug7}8m~ByEY2|l%P^dHaBtN&M$W!< z&5J)f6>ML#=Av-g?wz(-x+HVa3V<+i6{z8uUifmAHQH-6V(muY^ly8*k5)3?=|v3L2L z{@b=4iww}TJ$2F{*i8eaVJu$f2ZkcJLLT)dT5~sMG&V;Q?P%T{ErLc%TCCL*?g|B1 zeR;gR>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRelocation" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistanceScale" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistanceScale" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2384728166189927163" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "5860410517747741014" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "634125391" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRelocation" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRelocation" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistanceScale" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistanceScale" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2384728166189927163" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "5860410517747741014" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3189070339" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRelocation" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRayTrace" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeRelocation" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistanceScale" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistanceScale" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "44" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "68" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "72" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "84" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "88" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "100" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "180" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "192" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "196" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "200" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "224" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "208" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "11065231018315524923" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "7371039707078468748" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrelocation_vulkan_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrelocation_vulkan_0.azshadervariant index 2a077e0bbf7bafe71fa27bcbe10130b0e105f20e..f74f35eb999fb6764f0c99aef16f381fe6f1c730 100644 GIT binary patch delta 69 zcmZq5xa1+u00hh(jDh=Zh??DS$hkFDy6;w#%(yi#a!+yC=xIkU^1w!NcXK-=T9_>`P_}`p;M;XFTx+U#gl% zvBK8lg$wpRf3Z8nXKylRv*31*=?n}f?5p;vF$T#NUA>#>+_24j&fy#GbG1*r;N9QC z7=C46!0Sg|`z9=@KRNr;E9c)aC$HDMD`KAF^xDGLY2n(_8Q&kg`v!6~LrlwuxJ$2e z>?W+==W=Bw@2~ZhyMEe2WOnXZHN&Bo1OiU9im4d$18o+ zzIT=rTfOGYzOFR4e$~2;SfCUWLrhg=Q@``A3E8#peO64L(CWx``DZgkQ)A|y9av-- z8DfsI=Nn>?0XqAz*m@IVrsS&4Mk= zM}By>P5slD(aVzOz`)25RkMj(07D!Y7qY$X75X>U^JW%D`%arNZ-1Utfz1g=hd4{d zp407GI)^=Gte$sJReX*7j>w)nV$DT69cI-^c^J<5_h<93yC!N343WQYtJRBQiZhUG z3i*cABe{iqQ^+@@9@G1vV4<5+>IudWZJkn2N@AgbQ|iGfk)A0IHLcX6X9_wyr5=_M zX%M!=1Z_Q*G69=Y7-C{9v(<4FXy<>-{lwU{B~XA}-BYRTvO-Yv*~6O=WgFgTY&{I zQ07)vpVNN9ZACke`226uc*S{SagG^ShT+76d#k=Na`vrjUi{gqVEdXi7lqSy??kr+ zW(lxdUi`v(1~&WuL+nSAf@%8CaKeH8ls#iM$COp|Fa0(&7XIfbIz78Srf%Q-hF`b- zbhKGGvMjef74zj_ehH+)5Wexd2D?o2d)*DlGW7^ePTy8<#^Om}#dTud{{^}OXg|;e zmNV_$7~gI(wt6q%HDh7;CYG1{3oBz@&yzffCB%Tiys{|Y3agCAdS^M|z6HG#yG-Mz zuJNu94BS$E?K7mt(Yep?FVWZK&!qX!w(^*?R^W-oR|j^j-z#!_q3ubxf-YeN@g3*h zY=fi~TMH#2EHXehbv_F)Q@%U9xjo+b;>O)!p~sd^x2%Um*b8oDb1a&GNw52F+jcB6 zK;!n*Nr#{t2Qdwlkg<549~h3{`WeZe_4M*64u96e!;Qus#o^C-cq5BiF^a>ZIQ&@; zPde0!Q5+t{;ZKD9z_dnM(k0EKIQ&@;&j}D2%wahiUES81QHWKu+*RkA`8~! ziNS&hr8_Mc1rs1rAgo0&z${3&)U1`Qb~+ZtqCkgQq|g^rD3+uuEux*58HP9azMOZ? zx#ymn{PLIPqq&fdAppNnx!@tE!iqko|M#aVWfuQ2ysJlIf<}phf)0THgJo> z^7>1ay#QgSV;)4p>K&z)hn*{YU6|0Zi71nLdhEi3?Jlf!yBoYr1n2l6EinPBp?k$P z(2xdtZAuww{f!wxq($4O!UJs99y|Dt20&K_vAo?lQGZD(im&Si z8i^9M-|*1AXQ%ejwVj90!O488pPUd1o2}B%1JCJa3LAFTlg*|k!_mc1*=z zj-u6PlC3u<*$`I^%h3vsmZx&D!mxzn`28^C3nkorWP>I^Fy2RVfGkU}kd9`;%U3&? z>Dqx>MtwyVx6Wv*@bTrZ8%OO|yIStxF6CKv@s#UVgBL%!P@}HVZvC09D5@xnD5{ZVof5a^2TnJ zb>=Ru{>HnDM~@T`{3$B{K>CijcN65VVGZpr)bx{g8lSdppLW}zKRl%uTvTP|#Fgn# ztqE+4x+{Cjn!g=r3=eFM(aO>j6ZnsNQu9v@-JkXQM+uJ|8r4voo=5rBO7!LHAsH@?HEH#B_^EWdDlI3jE)kF5*RP7cmEI*PJQ zNEk*d?$xCS?5UCr;knrXCB@fPo~}Bd`xZO{0_6Sahu(vTC>-h_t%-jj8#F+}gKcPr zgM3iE)um!BL}40oDo5Un22u`m69?l9 z)RR15qofSs65ToDa1Koi{L<`Y)yrt?ok1syN?VeQn6E3=GQaDH&AL`X(b>{Vs|*F^ z7bEj;;Idc^9`CF}R_3#rWQv!oWU zq$fPh6@W~}C#;rtuk}3-Pmh3kwM1R?YJaQDq6Qw_@aUv;yuySAMmZYn(6IL$Zr)() z+-2Q=nmk%2b%cmN;DSxBAFI}@S)wO65S%akA4#h*h*ziRrq|y-=GCHC&uX|FICW^v zU9HO%bQgFA1s@wX|6er*Y8^YDRWa(t6bl5s`f-g7zu1KPX~n>%BDk^Yqo)9}+`jyp zGX+RJ(4FpJ0_H>&=gzj8gL|hitgd1X`GDk1=J@rA+#FX=^^Z1plE1&iNLF~DFME`s zd?xF@ZH@97ud%ZtC0?UBu-m0mWwwj;d~D^yKbp- zcG^tZId}j4Np-WqmGaFUTbOzJ7KRtQ@72Q(g-^Q8t}9n4nSqbjqqjp`ton_tM822PJeEFbCQVN~^7l3h3gfSP!WvYN&iwJRFVG#F3vSEPx zN`bg1oL5xJ9em7NwWj*R$Jcnv`x=7b5DbT4IOV(v!Elc`)Qe?bv(OiU;eO%aPh($- z&!m4kvPCc)g5eMhhtNa>iq0@(gzX}v{V@(gelVEx`^vNJ4b>P9&g-9m;cOfwSQ7l( z9N{l0jf472B;pSo!JBH+`ndlZ@oPw+9h9_+q_{9^q9`uR`wSqH#=nVg62WmR-BK_A z78}emFF4198U2|GPW1cSE_1;}bQW{eXQ?Ul1WM9ua(5SmYQi+c?T0{h%|9%tTi}qa zlnLs76Ow|>7^*?Xu^92T0x;g`S8*MVAMOB#t5~cT3H9b(ewgXMWdXv-S<+ltBL4yby zTr_zqqR>MWdJCu!L=<|6LJ!ePBC=0qVpv4IifD-e@&fG*RcLUP?Xz=1_iB=+4s)zsub2P9H#cwPoi8{vh(^^*^TJy!ZT4iV8 z;Tab+BV;y9$o+J5h_hrWUpUvH-O$%&f}^xEOL5wg2w$#eALs6iI6ccbHR+p{w=a)l zRu#x}82EAW%R2ik*R@-I^DGhlbLb&dT)sFXF(tJqCo@UEEHkydxF|gyO6w(7)dRT< z4A?EKf3Iqz&u$T*JI$?`x%Jeo&8=R1w_uimXdD*0K`boRPsvP6D=kh<&&f|p%*o8j zDb3ByODxIE&x6Sn6xHV^rKT5UrWB>-0o@p1kXT#{bP>>Dc-+;9?yh%U_rDO~E)Oj3 zGR5UERCnbkWu+#Uz+JX6x`SEUBig8I^6k!xPt7Mq&TUZ3@sd<&nQ#IWb*wVqKL$64 zI+t|5U&~*y!*=TQdP7Dn?t>W@CNVI0Y}fzcHkq-rL6A*;(y_qV&CZppV}ckzZaP%4 z-C#T8N#^PQw=+sj`@+PrIiJ(af#a5|XnD+SnG@3|x-%`DzW+R<*mi+GjJjNy+PASY z8DSBg4m4GJ@&q59=>`srqT4?-FdCR{&zE9MV&S;4@Kxrotf`XQZ^|+9GqV0Hh%dh| z-M*7qN#B8ifdx58=liC5yIA@p_MZKC{Ad_^213rm#=qsk^bIjg_2LY;eQ(GD^|t7A z>urqLn2x8n-vzlAJbPv+e5@Jd6C{rVc~ted7WY2UC}u>oi%ySx#1x9@e^4yF+`cBB z=>ZdR0yr%-eL@|R-sJZyq9BY9Dv8^HA|Waqk5hl{+F5<}?Dj-;<|kO<9he+mF;4$r z&CI%e?@}ffw(WndnC+Rc+l-Vx3hbCCSqePt4)grFqT@( ztsqFTq78!xRBaL{0)hfkFDi1QQi@)rXsy+1+jpG+YVYlP-|vr)pFlY0?7i1sd+oK> zUeB>PSEph@K-MMCR zs*#)jvEVg~Nck~~@?4|mAUZKG!f-DCkNs2=hMCyhk6^=Z zS6V4GYw%{q#H_#ybjc(6g>d&Ew8`jw%fSkZ4vAH_#3Bi8sg_ub+_!pz(p3nt6~4<$ zZNp36nA*5-JpV9=VcCXD@PfR3d4($r=MZ&4vgDrUS_zg5h>w(%=aH0WDAIkV!TmnU z4_t#Em9A`|*=MKVW>$4R@oi79IZLb{sue8e>PflYZ{Ncl-axv!+mOpi?(r&30zD8Irym6ojc=D9aC zd>{R4wy{nYifIgb6IOf6_lLT9=&lUi`^g%;=+M0xT)kaW7~}DDd3Bx<>(9mb{RR0a zF;@H5<{5b$&}x;7>S;&j4~+^Y$p5s>{w}2Br;iTWtuR#i^&0yvB?hB{_`&uS z7+4IH?rnauyg$uUZkJ|6-&L;nGnMiLg~91zM01bZp>mFm2`q+eEXIUZ!&xTXXzTF`tI-OJ(JbS&LX($Dt8Ssi_T}BT%xbcqP)q{SE49yxCYM!R_Y2%jl{D1zUjD)wWh)%GP0zL+##`43$4af`pFd* zQxdDkJgaUVCA7kOPLjl6LThy+Jgb*Vi=q2qcveFw^0?9ferl8kg;d|`!MKM?%6+!M z&l+64h$Qc~aME?a_dG9zEMx5TBJJ8Iem4exQR~a)48MI1Q}3_3aQv&jdq{Sup`N@m6?;` zoy(ZULXb32helxIF(0R`7i~>UNQuu(*_<9FOcSLh25sJ!F3zN72a-8-LYQDK8b&z# zFv*H z>FSb8?Ppvk?iQPDyOT!CZcSIuP~MakGhg?*SsFEOF{*S?$d%I$wzv_YKpt-JPf&|c?Tli5~x|NLnDEjt(2~&e!kV+*t4^i8{!>J1Q>$j~-$WWbmvcHymfD+;0ntI+bf0-L7Bpq{T zP`Aziv?k`NeT`K=e*eq~(^ z3Hha?czbThhQra@wbsgs=J@a&ZV51l#-Zn-kF$7mFu2nA-7;rdIH`fKz2T$l;3Kx8T&5qQ!&s9FaF0Fl|j4h zK=f@OUlOJgl<5J^h2I8N?c)FkZ-+m5JgsJExCKt zY~9f9VVs@V(4bZyzeWgdLyYw$}6^EvMW zKJ{gm75Jsysrcb|nc&jZTr@@O`H~4eEiq*+(fj4dSja_H=qScZ$t34B?&-=YI{kfb z8r$eMWhWwa=v~uw$L^Y0-oe?`8T6RILmc`(7eN{#_5Cc_s~Q7Q^T933g9Nqpa2r-- zfH=R2tGQW=U`%l;{WG@xN4m3zhd(tcZpj_GYC-MwBI zDIRoe@#A+q_}%$u z8|%MuY-#wq$=$cb=R&EV+T5Ln#KO;ExoBhIDfyFKaE4?o`nPDs4WO@FgAaspgX7!6#| zd^8wDA|jbqFs&=X{lYnl$j0G0yo5zi5N@$x5sESI=6bQ7?RU<-VdjVHSB*{eeqX-5 zR_%SUb^1^6NwBd;BiO#kFo&V0Fx|t{9mSZ8m6^UH);+{>xg8!Z!swA z9~Ro44>4lQtX7o9-ll(ar)(Xa5p~DR{2sP~4MV7%)|>^^QQse;Y~5e_{u28BSXYMh z{oaO&7m6~rr6#_wFP%A{uUbI^=!@IqB%ZZS=ksp)`S0{4jjU4R?9R;Ti3aD~{BDb? zF4z5V;&O|}=@S)@`+VQh4|&gr;AfhpKM?8dXvRC6toLak1lAE5c?ql8AKxyVA247i z@MI-QS(_fPwgk@GacbTk9j8;`l}Q4mi`Wb`}m7_7vn?INX)P%jtsO z{fD~{A1qRl!58d;EG{uUJ|#6mC|Z@cGk){ttqH3(2W^gDDNIP&2A(fCmhB0iulye` zbXSjYj&$5I#%*}ciT2St_az_Z`n-6-S`vK$f{bne;#|bwKjSyYui6|Hzcn#2eWegW z4aAsO_9Dc8M&>PU&R^Pc{2Eqh{6ezg?rJlu;k&UXVq>C888`19>%rNrFztZ{A-DZ7 zSMOKO>Upbg8RuSozMa*e3LVl7LL51`{0vcIV#0?aTDBC?{WpT2bZ|oDX~^cz*NXG= z$DdqJlNGg-LJ-$FeCJB{lxAe?@o0CgdgyU??#LZY_wbl{d|+f4@_wFqiSs=UFsxV9=dj!PYtiIPVULM zpsG8Z#x&Zax-Jk)QE%FCD$P-X)X|=ity<5)|NhLKfyE?nsGm*gy*BcsVOMJQ5_Fuh z+i^nUKN4kv;vSsZ;19uiev(u~WP0#Ib&E=vHR@2Bt%@eTy(f@#pRDKchwc8(b>q6fY3{w zFGG$5$G>PF?Cuz!c06izdwb~sqKIB?vY?y{@tdiO+D?n zr1IS~=YT^??e22z7s)ExbM5NQj`y2=@zhLljOp9TeHekH=dh~z`bmgu*m8E0oOrEF z<|LOLf|hp$_KC70G`(EMMhs!9uHLT2yWX)`QRjWJ0kVD0kQp=*X$RRvY=f4w={Gb? zk=@pTxMKabUByLzA0)}D=aiUdp`8@kX0r{P)w10g&KZ@^Fimy=J=@T;>XKipXG?uc zqZmogICKjbuu$8Q5lG4iaIOrLJC_CRj<g^(}r*-YxZh zjXoSWpLqHVSt1?C5Vb5lBq!M|MGgzjTN%6UmSzM55I1ciK}XwUkc(uaucDSsM%21= z^`7UapBKA?Epy9vaqUT~t?f*kC~)b0GT~5r&J}EVSic%<8P~2E9ck}A{`k%zI1qLY zsE0ecYr3bphu}CGHX<+qCAw-Q`?8gDs?o2NeX-8-E6+=wO^8Z-NWHL}x`w{xjb)Xi^D)Oo(uF(D95 zV&o@mW8Z?nEr3|fioR7mmSq3ySjYwwPIO2y60zZk!gGid%8HsPFZ@As3pDD^&Vk|U zEPRd&Y|bH7f*u4ld@S88ru1$MIIjvzzL<}sv4WjEPLhnXv5k|C@!1;Wvt8!1tIg*# zjQ^=1|1T^3&tU=@q5^2y(QJZSRP_4UjGR$8+D2Zbw1mTszS?Z`I#xAjnG`>GbCuDD z1M-_V`&VqtoSiVFK*q&g_Tq6r6Jm3D|2F}bU$M6%@F8i7ViC|bMLOKeI*LQv1HQ4a#FLhV0cRZ-Wr1!c?Vx~ z8vOq9;O}b;P4*R;)DQ=5|now=zf4!Psi@f*3QJsh&^Rn-mb{W+0wL5hXmrRss< z+G-a5LpMIvDRziTr)57j;o#}?)HURhEhm4Kocz`7!PTACuWnO&ZeT0wa|nSRBnGzU zGmZ;xvU&L%s7e%_yN4DdOHc%fZ3gxsNtJFx?u-NWP6Sl%4Z z1*YG4wzNR5>xk~pCg1qZEg#uk;etV%wv1yzBs*vMrd@W<@nuH#iJeoiqupa8k4K@R zQ;m&?nhT9v7c|#1eJ)O$_Qe)QomW-MEs;(ko3^ia1dFeCRQ-l@=9p0_zot#t%F2wU zmYaGmI9i7|AQ;_Ig>NX&;G*ThoZ`iyyr@tpOlrTrDUYUFeU$q2;|HJT{viJO22$}= zK;;*y0K4e?wE|oM*Jmrhb`5BsUvzc8P`TGD|HvJEfChgZ-;P(;rP zE~&fRqFeU)Av)SY7RYQsq0xqU$I<0mYvY(-{AiPoLuB}bjzX=KZ`tB6-{H>`?=UQ3 zQm^3>gywN(76K_3_dQl3;4m?RF4w4NM)s0BT$B>ar*5g=<dvpwPfNE?o4OtjA2Nv8>vSKg!Mk18NYWe3M71ZXZg%=jXA{9B8 z?LI4KIKvY0w;^pIb3fEsJ+2<_uEu_7X$Xtv>EqwBpyr}CgbqiQc|&VJD_T59P3Cs3 zSb?3(?T1xBq3m!3lvKb>YcG#cFTk4yD`e?QnX~xGxVKm0C$avrC!SN`j1C$|cX-IL@moR3!(Z@>zIQvYMICqKez{ zRA?B)J5}&OGP{(Dsw4!mOWF8JLc8FA{YgU%7R6)ld{CZIC1^*Xxm2>1-;{-;LMb^g z|H!8yWGV`)(wvd8lWS*h2T)}lM3?09_u2R;x+~p-i=tv>OALCl`gKV3@qD@k z3NPh}Z|ZHBy8Ty~W<@%s#3fAW{ryA&Evi%w`7Eq5SxU`kk=4mM9y2|*5w~k_r~Yj! zQS)YniK{SRy%omfjabmCLt>4W7~`IqO-uNtNg(f;bY|kIJmV@?1y_1taUyfJhpiRH zwjTJIx%cZveGK~d!zvyV%~Cobz5#_| z6aVTPYT){;Z>mDEm}q;-I1iOul81LhZ(<@&3f0Tsj0mv2x{xxVr9uiS zX+yv0A}`mkfo|Cl=miG$l@}ocq~ft zgufl>Gq|dd@+^|_kZbS=@ClVNF+014EXsW@QYMA(O>;+HRdL=HerOTO9u)?{ zVUxn;ADOzdnK_vyd$$R4GJW+j%k>sz*`@@|zW+TJlk>LnjBY8u(hr5l*W6+>v&cJ<(J_&-_9^8FTh09OqdL6G0 z&W{hwwr8TJS(KX@5I!a4l?VZ0?;s!ZMlnLF?BtU{rgE+&RxDLlNW2#pvtPLfu1QUJ zGxCeC(Hz6$H~B>kRa`8)Jvi9NA6XEp;<{m$n*UE_lCDeODq(?c~^tE3jyZ+)g_CEEEb@h;st~Anj7*;t#&bB%^ zvq&^j%=wLa59@ z&anHN=@RjDg%~pD`Tfl*%i}sHfo(v@uV=ShI#b7PswV`ZkfIXH{CG2FFO+_c$C}05 zL24LxSFK@Kth?Q}?gT@84{HOoDC88acNvV(xAC>-Ql$J0r-L%$Ca3|;RDQ5qp^UNX z)YE+dzPeEV-IgwzF0%z~PS3~`re|i*vIS5pCam!m!aUwm7A^>o;9_3ijM)%$%E*&P z;}p>rJf+30Fri^%YxWV;V%NTQoQk_&pSKo{rWc0TB{~+hx__lC116xGFaH~5xwQBp zX@`jTpOhsm)_a#o@5{fXEIo^F>g^DVh<`&_!ankDgl7M5lm&|v=qFF9_6LY|HtuQJ zb8JrwltnHl58bC&m}sdBFc)|8NLYlRyGL(hZ4{vI2d2I2hb3M-F&-(8Ukap|@6e>K z;j3IVfo|h!w`Xzgzv*}f$4mQ2J{~;$lt8K^aq4(%eteL~9Et$*Ipou5y)*v{VyVSV zo73ec_a@|22(_PpuP!=jZ5b>JDZ3)}Ob9I06Eg~{=I50p$3CQ3Y)o6fWAoNjsM~1E zQb>JIYp3yvu)18Ro)S{29{uedmcEFhhekBr*#qjaZ1osa=Tug(DQ+hxKcpNd1S+S^ z?k=pll=>W4$iDqJpGl4Jcq0^$dJA%j4$oAmbQX!>gw@(V(P4R9jkS5HHN=R`V2FIG zP9)s=p#Kfr(m}9=XI-n8U6Y~##HJFVjfdDw~arzZ-xf>k0_$WOd~1gorUa&PwVs`TbSQe5rn-{=E7M9f9{`oR2`>AsLc;Kvn0 z=qpEmd5U5hsDz|XnTZ77n6Z4G{; zb71V&tRD&6gZPo_P_EmHGoDo5?|+flVX~bAj9{wLEC(4QM7-6Yz;RdtRjKC{D{=xv zfH3!cU$>8Ux%YHGROP47qF_#cB(DW?;y}qNS(vbSM_777;!aw&5}BOX`%l;&3ZX=I zLFnFXii5A==rwfk4^$B$(08I8i?+y&lL_)WbF+d0ckD~0^U)N3HXn+cAC*{GiU-$~ zGVbB*ctssxpP_e;#?oWf-UI%#qA0{*QfV{r;=Aav?OOh^rb@UsKm>c--@6iKmD^^# zGGXyV#o}iwz!netXf*5=4Y)l+JBE%KoT9wyg;~13<%aK*mG+R*g)q$0yQXXDW!e(7 z7?_Q!DA!V}oe%Yv6th4(nN?^|MQ7ulik!M*HiwatCaAzF1zfJh-(r>aCFW6JY_cNF zlAo=?5ipF_C}o+=MHaV(ik1>nemh-8ds(BoIM@cHaGXaWaUAbsujWUG)H(13x z<+%o&yR7JCD7XksD%&U%+0DoGbsaRk(weSPKD7t!!XfX8Bz?o?l}}2(kh7gk#p|Nz zCt}S)XH}y^6j&mX(yvFco}Rs0nFvSdhomZZvl$N7a7`;1oR%ep@=5L;}KTd^jaxTkon*DQQc*fc3KjCCj z3)?aLw8!B9(aU$0?ze~^_Q!jaUmA@RYX+*iEq(tNA|i1HA0_@UWz7$iWs-Md{~Hpq z*$HAlaOyn^Ug$k^07&HThzM2zBF3FAItXYVX6C4GC8)<>iXMZC;ZVMbKSF2HdD7@P35_hm7x@}l=( z02B+gERM~ohEUO}Em{%+xlq&^U2QIEkwpp2*1ScAy%jk{m+xumqv7c;s1w5yjsw*dFhV0KECVuEl`@=({S`JOldHB)tV{^G$F*tFK0D*}l*7=pRFT zc=&YKg5^u)ZlH?xclQ6_vAVNl;CkQq4Cq3;ff}}@3?Zvp_7)784l~w`+%B7jHAtod ziB2cta38q!egjLZsGGIO*S5R8%9z+zg(URB>7t|hG4%GX<3nLzOzbRZAOmTBqrnjO)08N7TnmFw-sjPU9 zbIj6>kY6~@IbznFkR#E^b5p1LWdWk`3wuHN(b zJb^nWApQusBc8n_+&O(KIKg~9_~bAM2(d9{F>{8oHbbDNK+lM-VM*IG44Gvi$N81u z4@H|^JGIGnmz|Y6HxT2`LW;Oa=A2PRLckhiqmDP9t1NvRftNh%mUgN&P~8Au_4%;6 zeW<&WBc^wCYm+N&q=lpjq9EQOyQi~+++9Py*4Tp;`V!1DwC@2i@~}yz3rm=&c!;qH zNzyFJxPnJdPLi>`<~Q)zsYw_f=>pZu$BRd8kCTe>+i^Cg8{ju#`-s=KLaw|uEH=OSPVHm3q!NP{z80Gz-i zLGAD|!ZHWfRM5)cvWK)Cn!kk~7jI^NXX)Fc6&Tj8YGito)r_i#$9hIa?{Ju5laM*o zv|IWXPmBybzSCVgGSPhps?y?`XBx=YdG6pe@1^Ygk@Bg;==gBin%jdV!wkk<`LWxv zX7|7cOd(M)p!cV@6QL0q>%2&ecLWN2=C`nk)n6K(3=oxQ0m}T-EoNPpTl$aX6dX1@ zjl6$Xa5#dhBZ9y%db9Y3rSAfbcou!|d_jVrQ~G|SSlEh$2?;6b8$19L?=fG{g4uu> zGk?oDs%8FPwfUdN1k?uwG|2*5Zw6?*7LLgm{>zIOxwl@^|6=}&4q(TL-H-P>@h5BZ zDM^?^&CBCos$WB1%^SzOJjSe*#fXm8|0dm4wp6V3Qd#!f`{-BLiy*n9{+9I_3qK(; zfisT9GzXg7g}h;;6+SEmc{;}U~Yki%|#V${lLMqaSkJW^wKq~pj~v<*f+7R{u@4~@J_lklyrE65mT=fznlCs=`gBOYdY1s#?IaGp~cL%P5yec`!jh+^% zw}nY+P?9cFDGx-HhZ@RHT!Sg4!S76?KeCJ*pBgy}O*W`Zl0D3;D$J|zTm8hdo-(wx z6>qh*duGdCY3E_YirdPHSF_R{ur>#}|MI~7&j+6FGA}CZ~8;>~8 z#9tQAVeN>9#DR&~1`m%ac*#Awr)=iOVK}z7EMRrH(VQi1`A=N))6=EYV$6Q;i+-(e<`huu2ZqPT;H2xlQ!}Iz0kIY7n-Ytt|>~BTN_xgtz_f!nk3X86Oi~bdshTBI; zI|emk!=fc~qjCy*&-czPs0HsAPF)3Lpw3xd2H~^Jh#G-#0re0#p=xXhu%4qx4GIpd zKJ}hWj=Yt*EX(dkDzr2@@6TxylU(xSOmwcXix>P(Z+06K{$omK>f9_o0e{eT`^XZw@P5cwW2?Qav!~bAF%EV9M{rva;6G1IppDh!Q>mp_1 z2IZ!B-DSmr9{H$ZUYK!0pu}X5`$=DgeRnxE1QlMv4llU8TYbn>kF< zKd9IG&@^mRq>P}>O5^5!9diUt&eE5fLaSA4Wcr<+xLyUBq_APi^xH4&;^HLM@7wSg4pWXE9E0&14t^w!e8a^e4F)Eo;=@Hg8F_M)nY?ieJz^NC}CVuP2oru z?dTJZXTLt9;P^JxL-En`5<&emf=Yq6RW0DHTzWl0ZG&SR5mLs>DZ@$%E}$8+0L8&? zE!5+~Fg5DY>)qoph!|e@#-+(L&w*{-#&9$kpDfvZeG}g)pj+1P+9S#s=$2El3MVwo z(O+y{!*eK6IsAVET*W-+{~(oS|3NDAb+oJY-)!!7rXw1AI?gFuj@xc6mfD2q_f_CK z*&!$?6EBX(GV#)v?)ipU@LMo_QK}{@>8b!Z>rR2;#2*en|C7$!blvY&fnnp=@tY%b z-ajw8oG&nZ^XH$>1Z*8`lRPm}l%9qwg}5^U+zu|WimNw!;VThtHYmD zn}z$dkXS8v`$%meZjXX^R`mA5xpLfRS;U&Gw-?SUa218bGlg$2e67S4JJ(39^6B;n zdDygc_>w6j9$&_09snBOXK=lVFrawhbk3sP{iW%OZo2?OU9*N1RF zBi}}zCthMX1pl8mS%>P@QbK4t0&gBZ zgoYD(OXwkF3g9{}S)-cMxXgpa1Wda=H;Nco!`4DpmYLDvq4NBYA3 z*+;r*hBe{$dF+$l$U`GI^0*{4OIG#v2|Gi|fH~GAw66|N9`%ZY|Ehw=Z4elZQa@46 zJg*8X4tkE0=o)5{Z85L%=>UJEDzh4_KR1p#`&VtSKR1KA2F1HtDnGK*2&-(fE|%Bs zq}vQ)92?vJLM&(KU>nK;gw0{Qs`N|r72_YmGLAh6)2$@h^pNVrF$=>4~ zADsrOOx%{IM&D-1KmBC0MdjR8aYwjxk7U4{n6CNTb*vwttwtm+ol=)hx!x{U>`szc zA@|+I4D2_NQOSYqI04f2(ap7s*)yY*Gj>Xh6fnvRuVvycRhT+em>>vr`jNyw#-}Qy zZSvAxe2z%}Waz>EY!n@i=l$6{x`!_USUpP&Zc|C$(nptKtJ?0bYUPLb?4_Dznq>>9unvgK&09O z_i46f&&ZO3!SS5F4c<1W5U9U+3#qf4Ya%bVb6!peO{$WnVaXoau5xjl2$wp WaXo=u@nqb()?NGl0pcv->wf_9SjiCp delta 18648 zcmc&+3p~{6`kyglF3d14F$@})CZUW=gLIieQc;Q(rJ8Yz8WPgI88hQn6ozu?G9qbH z35l*VNQf3&EmCJ{t!$@S+qP}H+o}Ka8&tce&i{YT=bZEJ6OG^dd!P4tp7*)E&-Ycy zFuEa4%@75DFd3Mmevym4+A^SkLuRb=zV4FP4Yw8@^JkpWBvG07T{EME+oP`bq|D^#70~an`f(q@F z^hJ6O3w21H|OkCuiGcdzn$H7@z*(H zBaN4jE&cS!>lZbRr4i@-G?JF?%=`&6eZz(y@ndr+{6*`&y!zZNH+9jWl5Z>ye|aWj zHA;X&p;4jRw~6+DLKxVKl$gs6pBRBT*YO)2J~0AwnptJGpBzE8oqVxB44s_V*VlZ{ z+otr3uO13|o%9Z_G|F4C<*BR=)AD+8TEUx?=xl5p8~9qevqqEhch6BMAJgmwTkZSK zl4BBA`5h=caxKm{e)gDkX5CD;v1|4zJat4d#jt8}LrB)3fjFU&UA)WK$KlZ1H?_ar zcV?haA-~^aOhO(D{`egAuTlBeiGcp!^YX7#`PYdEKCPDj8Y_bTb%*}5tO))YWBCuT zBKWUc+#hX4@R3vef3PB$aK!(BZvQXx2tE-L{=^C@G}LXw)XxO8uU;R1f!J7%-(=iB9Qu>2&GFAQN68FAT9 z9`P5ds(SRIE;W8~l`&FfBkqNtTL0bH`hOmRN$*f?Y<$N&^aeuymxAw?RHtluM@YC? zA_(1m^{DW-fj1dxt{m)%IUS)d6&sVr7SZebednh~#6L{0{<{%GepIN(t5da~5E2qs z+mUy&>Hm-G0|#zJ^Ssf|YMf^MKv`5+x}paAy>{ug(7zrrYX5}BK$w#W8)toT#OJK1 znchBGcJ7{;YYM6sFI!f(M(&Z%4f!8SgTUp#w7|3>MY zcJKH-dUV5vTTkmjiC{%@TrG4zF#+yqbs{Im#j%ZrC zd}0!i+xxe)3!fMPa+i100zXMkWyqfpUK{kNsviF=r{KRO=x5{Ka05&IAQ zx9;d?1pSPh0>pIwtvmV|K|dp>YW;uBbpJU)KO?8$y(j$Bru)wc`WY7$jC=1t^3i{b zpr4Ub@Zsq7Ss(qk2>Ka01s?~a|D>RwkyG&h5p+M2Q}E{){$GwofE zUyMbl+`c%1sF=1}cWe3%=@Rq;7SAi#!?U$yxA!B>is6-q#e@^h`~zqRL%iuI6b}A% zg)blYN`bE{@Wq3{BI#G?*=UrMq~?kqmCjeY$Y5HcP+<@}I|(S1SMWk#HF%2xZ&Ts9 zho}63ISGYoCP;Nw71v(Ftia%PuqZTBYAg*`w|BI=>^Z9eGpE{P)*;NSZt-N9eDe|K z`T5LW?LC6|5pQCKtRzew%np<|+&seH8l{nnlhRxrJk^79(zp1hCs6U*t?>zk>PZBA z0!THA(U+&`NFL3O*<;Onu~t&u*Y)(ECtp1KHCiKTA=5{Vt)+j4R6gyPq+OuX6lVGD4>=hWMoWzF zxK~zqm^L@wZs_*J}-&92>^vo4F>B^dW{*_!QSo~}8~ z?t>sCYD?iqLYi7kn-XTCx14}d6Z!*psYSig5m$SrkGbhE&otQF^cLE5M4|03yX04F zv8eEkp}8H)akti1tM%rKT3i_s6cnORJ(Wa`P1X|3>`u=))t+u2lq&qgdN%4LWIYdL zJrrGE>NCq>Mn>v(P$4%p$rYa@!_Q-<{J{E1hXLypq!ZJ0zAdD1tSKm`bJ8}JJyqW1 zUhO&eP_ugj#YDQ2CXu63B%Aix{7IYXG)`4|lir&#F= zM{9u)i`ujgr5{x+-o#ChFHGMSk6CGr-ziJqo|B%CgIOM(8luGPuuk73OW%@%pUcE2 zZ%vPv;aMomtWgYncOAvd=@xGzq$dmU$=2y>W$8PG=?QEOkKshcClk`Q72;iFsR?rY z_DcLVYrGphHKnTO+C#H5BUGoB4^E;vTOMmSb{#prajh+75&zaia$7?jIS} z9Gp}FKe5|HYSPTvxwXs5U1+p_EnRyqMonxiqH3X<18VkT*69H7c2WcHR#9DB4L* zCk3D1)m56Bd*%N5RE2tbd+K+7=Zev$zP&KkA#8uzA;%z?Z0<;nK5m3QD}gX z=>Sd8kF$J;?^F}JD!+a;3uL*(KMj!>qvX>WN?H*NTu?bc{y?~HCQ3&-oX$R?c#g=fx$GBRsG$o4%6;qOQ~YA zw})=F;U(%x zj*(c@%tc&VG>%too|(S0FMT&EGnbi}&&?#NnO<(j^0WqdV(#UZG!%nH@b=|Xm2@d_ zM(o;{#QAZ&Fn(kNEla{+Vt}{cap_mDq7F(!2SSQh<=xX?B^U?>4V)vACduhquj@W2 z(C_&7i0Tf>+Yr?)yJr|$7#h6FXm!z`w5UJS=swP}hxn8PlL+T`DN@^0&lmI*w3Dyg zY3zYnN91piSz+C;t{+HF^Ink8T3|TL3VId6(!U$TFpMe)N?vER!ezmVZv>#`PDIVv zS9+l4*#lPxuXbJ?WKkCebL&w!p8VLeo6m0Y#kpDP6*zdoWZ-HigK*slbY3IxR3kNU zMgB4c&axdtnhqwwvWxfEbIH|n@6qF$8$@g}h;iVwiMJNg^<$VEIc94gof>=2Jbo`( z^rHa{SKp=-hyv~zh8UTc7W=R43k{$i4h4k_;;eEt)h2`5nuKfa8Lk>IGCusp%6`*3 z_w*6_0S&%?6I<#pCi{38V&`%yBW2&RIsH^+tg%)6IFWyq z0%z5T5Wb8OGr`_w-gqUztzhIEu%_y>R)8k@KocYC^@boQ>^&LwejaxhkY#eL2VqEw zeFa1Kq=BogO~b8CZ4)MVod)XYmV3cAgF57(4k9tj8TN)jm~X;o>gLIP5ex7INsEH- z7wN3(>mS6H=73F#1jfPZ!6(Osrn&r zZ)5e|%Sz2_sO%o=?63XFcej%JW!c0gv(9ELN1#0f_B+^`hH?S>jpI{a(!VA<#;%Qs zN!+lU7ZI~L5e(RcxeC?={;mm6qNx(}{(5_-`s&(7viA#GFb&uT@#E!66j*~eHwWX5 z2mO@~Ty1&M*CKl`+>5yEkX<#^m_2sjjEJ`vLYSEYap~tiO4SXVg1euLF^PD_0ZRL3 z`0mqsGQBH1PMmugA0^~aDKWq2X<9BmRdSDO^z9$sTts9qzTv;(sQHnRwK z5qHWL3|t+$)sirp|E?6&&VKT7Pe*j zQasEjGYB%FHVx}JpM|xp;V^?Enq|0kzpwwjX0h!hah@t# zF5Z#2L8DB%xcQ#Y%Ed#8K@^=+^M^OzkGsKm1!4z-RlOb0D~4`e9k}`wJ{32O4E2uY z4L`B^ibb)8lvCj0iTGrnF-Ru}Lk_@@r5-S}Ck5ip{rtiH755IVh6t2DShBL8 zx_Y35mLFQQ8VOg%53r?u5Q4%O5Q5gJfkE7S&zLF{k)FiP$OhhGMgF6(2@Can{a_QU z@nfP25Lx3Qc?m1mMooMRjERj*T=M>zUrgNQu^%BOX|t%r5^gNA&R6f(IdzNtUInou zU9tOSbY{mvyn7AnZPOzyf%SYsju+hbYd^f}{I1-B?9_9rOyNh_BbWznognHWLfElC zRabLqT4U|mdi#sc^);4_&NZi;9cR@MJoY(U7LsLGo~!vgOsCS2GXZ#oY+P z{d{29`$j&b8JCxkzFj!h9y|z@!~;_y7QOtS_TgS6X;&y8j1>0X>K+---hxzX2p)43 zudxsyi{2~SaBx*I%`^Z4|9w>k$65ZUN3w_5(Dp%&54A?mxzsKsUxGZ#KpdGURRb(! z-g|M*I=ft&R>!QlaH*czK%Z4#-FVXZN(}^64VoY;B9OTp4e8*6T=NewRj<`%tgm!MM(r0PSjxy9n)%Jf^itIsBxr<70)X+kn1SD7fmNufq5GS`oUM zYV<)}*ixTVvbTk8Ulj!B_z%u3+7W)!eMe&WB6m-yeNI8$BcSVl32|nd{06O-j0`P#S-$kGSKuP`FM_Ur5tbSh zH-80#;O*+a{&!=|4YpEEv4#}>Ewhy(G5Cte2x7rYDB?N>TYLM8o0OFuqpc4f3<=sQ zAEZ5KEpKY;eFBlM{VX>EiI!)dX`bnfwaY#|jdW`ywkl2)-S>S-+W7RD-@dB#;#`Sl zvMPQ;Dt^#f`Jke8sH0=Bya_xSh%|6_BjL03HE}K4aFh8#Vw3e#Oj-R|$Jq@R8fP`u zR5-g-TyQEPdne2g6heB3+V&Jl`+4k{C1m3Uhq`1jlyjjWMn*mN4&TFBZZgb5LTkhMT?G#nSGw-B7lfpqyHh~Ea$Zr; z*p=FI{7NH~Wm^@uAlX2bx*}vv2qlDSvYIM@Sh6a2RUvhi5!8XXhMn3-0z|U+JS2Og zmtm5Y9ZcSKaBGp__9A+|$Gq-B%?;vk+k0%QUqpu$SoG_3vMASH4;$daA~av+Q(mU7 zg+zXhPk*D-9=*PnK`57N>tO>4ndBzx(VI90rHCw<{04nBs}uWBpB*L;Bq9dh95R_@tYR&zN$f9$OG+ZFt=s*#@+GC+FB`C#;LHKG0Wrr?OK96OH^*bzW z!^^f`+Aa;ZyvO9Kjs%6~5jf;X;5sMsWI=Y%Sl~%b&CHy698pBE0x1@R_oamb2&ZH5 zbwzMV@X8|E>Ht&PYGadCD~kr9E;d36f=^IMeTdY?3OH6Y3GYb@KM*NWsd8CyQONz! z{$;&TB^&u#$+_I0ttx_8-ecaUKJ^zyP_orQ@A?!U!B(7YCV7Fg)67ICw_2w;PMr9p zl-3fYK8I~Z(>jq#@!Ozp7?TdT;J;wtr@+*Dg-;9462oMxdq9>7i(HTp6A=*43y+Cg z2gMS<+6kG1MHacMpEh;Ufr;`P=5^v~)gi6SeLqj&xp8w`5)@h3SmsO=CXlOQ&U?II z50c=284eouzM$~AjoW~EKhtMhVp3#6WMT|boy9U;VL`fTB1>X0oE+qx3IQzrRjW6w zIEX7l=7p(N^hk(V7o8LrnV1+D4b!7H@&#}}!Nyg)BNXrm%LlBc8hRfvfYUNpMJB2^>X2L-G!VQbSf2-U|-Nz1K$rrS&fhUbU(Z zXIV<~1yd$vDB7=N7P#FxKLrkixyMr*vkR6LJS;fZ1^ahNVaF7()mN%mTe3OUD<(0C z7Z)BG7`Zi)kEmp0wE$Eid-RI&jX^6?rh^_{;`ERcnnf~H3LbDq0|jiX&I9(jDvd`? zVjMJJvTv-w?$EImUGyp(jx@fV};LdlCb|h6K5~s%lzSm(TOAY{4x%epQw= zlCt59BJyu(!dZrxW^D%5ZI!3y<{oc6>_^cE0p~m;zM=(LO{anBSmS)5wvg)y8? zDP!eNEcmSz{9BCJyA`ny7;(cDanBhWUsY^;%SiHhoD_IsGj~BUgK(Ow8(L9yb)q6? z(c9CFDh2-T5aehQr|QE*k?kR@PUVS{R$rD+Jwf()!Nb`M!IBDG3MpxwNcg4+XTf8J zi@RUm!lECglD*V;tvGYFqvZ44z$2~rU0jV5)f!b4&C^27My2LOuGV9@*2t*VC|CPM zx9$uFJ^NCF4LXLg%V_oIXctnNY6pLw(ENmPtotIm(YHTkrpE11L z{?!Y6daZ`Jr{k1b4Mu?F)UO?9glpK>YB0Zbn&;$Rm+0P5>wfuL_iK7{^{|WjP<$%s zh51o3=T|;8?MH{B#3oxAoXK}ZJEtCR4Ds`$d>L9u4{WG5XEF$Prt>LGW?wb6v3BlL z!Pj%2IyLN9%>AL(TzHh|5vd7T&wxefd&3XT8VH&EOU&e7jfQS;C;!$@x&2j|`R=Fq zLVBSZ6x^fhJRRmfNt_q>wwoEgLsMl6b#e=+zL3)Ewpw;$U9COK(Ks^=1$9x2#dT&A=goe{B>JR=+lK(Km%8bz&kk5vzP8q%Vb zL#q~P*)rAs*s`sJ=Myd4skJi3FKY7v^FTS873v%5_~v9084Fsmo)(K_1dURvH%h~? zl&x85ov9;qw8lDWQYe&^HY1eH4IA8}ZDx<6kmeq08x@6GD^*TgDOjLWNT=MyMevNn zj7+#9Hm(<&!e!Ahx9x6H&@{<{0X9mG^`&6Bm}*|I-3HJ2SZbO^2|Zs?XWl)&(>f{J zix(YRv^}AiuHOaD%fjBomTqO)Eq=USYji|& zwOMFLPRTvmYUDU^Z!jNqY6|R7*ukLWgI=uphTbb!Q@RmK`Hem8-*K)SZ|s5nzKufF zF0{Rf78Ep**zE=AN%Q^H^s_;UmN+6x#HB}G7cNs|aMXl!s!uT|uz(qsgQ62~t?3~L zBw17|6hV}N#`SNW)IRnOl_%r%m1a>*V1R?c`Q>Iau<~dTC5u67idJ(N9|*wZS>Vcu zXl5}TTSgQ!i`gWBB@Pekbyq5WE>uK&pt2YQMRXHAi$M{)^m zr(Ui`oMljuGC`qHJs_inP8|~!Z@9$#H#JR*5o$i}z4(TKXh-pcd~1T$qe*I-^pUYm zLaS+=5^6TEHM_?4iLR{HXb@^vpggK zVbe3|Rr>|35CqB*77iZxs+#l{_Q|P_mK}L+j6gXd9)E;#YT?;4`1%zFQ>F8m2$Zvv zxgI@Q`#z>6q-XCb-n-Fnn}i3dT?p&HM0HSn-VLD4DQsHpAIMYHTZgzDS2 z;y0_h_X+g$5O#VzJ$*|9fD!1;R1V>mv?4>7@oqk0Z+6x@&jXnm%js&=Fbj)vY*h*y zI7T@;T|pRFTIeyWT7}}sJzU!WO7L_;03JYHl*QOwE7TBM*}?vRqrBD1B=9^A;ert; z^mCrM39kiR8P`U~nmSc~;bb+-wZ5kG!Ymi)F;Jj4Jj5_Q1S`nyyox-4G=>ij zC$lCY?HSfsgMlyvt=SQ;TD>jt8qk`3GN>HufTal@3=WSp4UP;$1V{R~N1}H=(lU7u zfCv!=f}MGr@VC;2tkzgCqM8^9qN%$*>==Xwf6&${StePu%z&m=3x~#a=XgwYSGMLK z0T8e0pqnKr{|Er#?QJ!DuGIeo0CFMvr4lB83IIvjTcHh;J_Ud@Mn^w{S^qZxgn%^9 zyXOZOZc&a#|DN!>Y8XE>k7 z@Tp!HEnjiKJ;A5Y4-R?Ep0>xX9R2@;MB=jV7q$j$bGNY%e)ztO& zz}4puhWenRqG}i+tv8jKwsyegrXYRIyY$dwo3h>G5j~%~q9`C9PZe|#Q@fyZCYl3h zjOv~ipra=dB5g)L=UUixtoaDw6psx2Vh0t|x?`ZZQ$o|Uv>odn(XqSX@Do?2$aZ&4 zC3=jG8RC5~#6mh&217~59>S110w_d=ZC>Zi=dDAy)`uSSM(1mr@F$o84#5k0Uu|A` zW?-5UfR~zvt`77LJ{i6`*wHiuR*5tSe~fMe_wt6eaCj6b59(FF$fW3vaIz92w6-}v zMrd&eNQ>^WhZG@2Gwbmg!#c?K+OqGDkVh%|UqE~*q`&c4;!D|yo(lW0gD)Tqh68|i zBMoh!M9poh+m(B~>-0i6s@_44sJ}+{J=8ix_Fk?{wjNArE_-$}Yx+|@^zUykaMC~) z$r>^<4gfm<=khGm*rEhZ_%&8KX}b*np<q&Ek~jI6l*zyK01^@32RNhaNDEGZ$|Z9$0Ey7) zXBMiNWD$z$&$?Y?y3MM*;Oue{7_`WS7y%eZBeSONA|Nvf7TIQlDW2ue_MYy1rh+EQ zeVVnlC;{|HiuOi?N}pCp*wZHv?-^>|<4b8Roys6Ql0(>Q21LOg4mjM1W|U?;#S%JT z??I3DEazR|1_$fy>zJ%sRd*QHwj{f&lygdJpS2$-XV3?Os3PWf56y5VPn*TiZ3Gp# z^=5$z^8W;Q2vmqi`#$H2c>FD#<;neN^T4NBR@FlM_iRg+$Z}Sb9<(F-xb zeCls9gJc0u#J-Q2^S+&Hf2pp<-MZ1`{8%Hmf;p?v`7+t3mmyi~48BqRp`rbB!oNo0 zC|v?RCnui|CmAc1Qs#@6$RZkweBuJkO&LcBZd)kjb^rNT+ z_6e<$JQ}Aw_&IXo+x&vNL9EAt6F=U`9}aR+{Wz0D2nMIkSma~_;rBzU`aMPuUPRlj zLg@v_85?^VX}27AC~%Me45p#B0wP&uZ+VC5A+^s#8l%8<#23avjpBfhTK}JcGzeT^ zu|crtCmZnj{}t2V*g?b!j*0jVGSEMQG)fCvXM(N&FOY^B()_9K9qcd_xW4&deZ7NE zD^#Imph+nj>1!IU=zR%*ngUrnG$!dgEtB0JHS=Q<#;`OV-xtXzs-`2vPNXY!*7-^T z{)F7I`aO_W?5SzFGJ}+#6W_b7_0r)X&z(+ zc4mX~w+QX7_ej+SJ5t=4eW$Y!a6WG2^sVeTNTA@T(+;+Vf+{jTpgY&^q~#tzB)L3|q?$e{YcUUq!Jvgd`p& zw_)*5GiWu;csuW~mLsS1T#Q>_&j#1@<;U_~K#l3@t4{k+3m2wS#LSjX96Bl@O3dx-#EA^nD~TPJ|?MP%&s+oGF8omd4uli2h^TThZi-wU@AaF7gNsEf&R zj~|0E1b>HPoR9H+sAZD8Gz@{N$8c+2Y*-95i2OG5lValeF_8&Khu-*Y11A0Jk8z6N z!ouJH>H|QIN^l0C>{lP*6JHD?9c=IXsHh;970LN^3Lj;KBGa8J2>uvNQ8m_0+mGkQ z(sdhSlEa#p;bLl8u|KgkIl1Ub{3b_VZa;olg|=KmM0nkB=lsId@47ez?Hr^f4?A=@ z21@IlDHNoi-=7<5+^-+n7YrSI08L7ey!r4?7={43Lj*hjx`LMu1my@BgaMU@BGuBh z81_RTI0+$Wv~0j+HG&K1m<^UdHyti4p$|vt162$HGo4;L&eZ7=95y>bpQq~4f7P%;1*0>E1S9>D+rqa~?02o!8G226Yok>DJL(n9`_ zs^WV}V}C(=SHTBVVp3!F6{Op4ntJ|xDy(`ZhC8+@EDG4fLO9I{B4R#?*p_em<71dk?A!H+ajs|H`>L=L=?D z=`T1BedT4}DUhOm4djl7uZM1#zE+#!+URnw=A=WT3#)#rQ*EQ;MYvX^L_*~j;|Gls zaxnB+^-%__4-gW>%-!I`ub2GfE`UM=F3#!MZdjD)l(!?X%t@1GYqa58^Nq8qBJVrx8;8jq zT8hz(P`y5OwP_e$ee3M5P)E=m{+=0GXZY~e%cY6BG}3S9Cco*K4BdaChpsLZOJq0? z@8pSFm-qAC7ic5N2ZJJg&#zIFBvpVMbKcc6LRTd@~gGJmC)cWBFk z-4b89mEY|MzdoxqLy>D=M@9x$MDZCWao+2a875n!{I*B&+tLg>7$%)*aZeb#Zr|AT zV8QO;#{#yG#Jf`BOGsr9ctSpkB_OqGobFB&rm{$4jq}~uQq%4*&ruKO;-=m~Sp|a- zK?kJSF(aLv;=rL};L=}?0`8F(M>U7Z_mjFPpeO{Fn2QNK= zx7&E)?yR1)>jX<9T}$Jd($X{%&7zFVF^Z+i+p>g2wOL$f1%~f|IG-#HSo-v{OWhGKYi7udaK0htGKSbi=-Vgw;lZ z2Zk`gNav#CW%~;*jVy!BF$i>9KJy}mwcgTYyQS+MOE-(*Hp7w1la@{Uyec$kC96vo z8;3yj%coZ&5CPx=kUd#b=*7_4?@K)gLCBAog@83k-v~~%8zUn50itpefD57hgR2e? z!fnWWF4-pcVPm%s__TUs<9HD0^3(CJOhpiaKDgR5CD#vPLxCT0O{JF6k;O%{!=Yxk z;SSCH!F+o5MR+L-xf%)~&yV<&P@8Er7hStHn6IY7dOG3%Hb7dsKdJw*rCSHjCtA8s zYALJUsxQ^|aL7XCa~A4Hc%&HIMwu=;M$+J6W%?Rr*!41YhJzZrLk&yvqW6)P_#3p|~3T}hAdNwUD zH6|@G-XK~;$46G18%U9;b(mf}5tAckOPnBSLVoggUsbCsSZ~ z4J^9mHsiwzCHlhrty8cWure_$9l^Lk{*6U~WhTmn&iw4NmV9>q>iA}*nu+)s<# zhH=fnxD|?dS_ZRFBLFV>rJh%uE11%lTL33Ht&O7ioq7@si9zsWaa`fDp<|!IRGDHj zq{zWC%N!IfIwn7xKlZ}T{#-iUYK~LN`~8At#L~D{=w;LoB-~!=e&P# zMvgm{qj6I9{=wO9T)u5(li3*l!ZDVMXo07yHFl2UYZ>+pYPQu))@|e18~xfSL`s%M zDHABD0~c&bGj)(zNW(dWbt3?lu4@Cwk)SXgME)Z9*%$;jNo!s8kaYGsb8@p8!4ijq zneitvlcnp|nXT|w@6__vQ{y^w2;O=)o^uM-o1_IW8=ItjIBC`#svkkvgEgo6Q6)Xt zFsg$qU~CwNO8iO+X5OdAy3<2lG0UWXSw|DRY>H5~#1W9?aPO3wUmIZ!e7hYorC(*B z5h(FcijPEG{{9V1bFE%utbtGWIRa_ODGYu^gn(Pe)%}jLO)>tyVqu}@OI(V&P7=ui z^J^BB4)~(NsM2c|JB%{%QEJCPEM;@l{fZj08%wlq&JlwvxtGJF${1|044eK_rJEytM;RAv=27A(Ro6vgF)iIk)nx_PY9bi)(q7iMk z&)lju`4QUeL8)EGF}n`wlbGpPp{AfgN?T9&cxWJ|kUW@STtr(3H&)LdMg81cghBoI65WsZ|tc>iY?NaDANO!IGWo;!N_1WJeK~W(^^+-5l`z&@W+}}^x zd*`El))8X>cBNq6G>~g^vZe3VKVuX3kRCaVQKTIzZ)2K`tyg_La}Q}~e4ylzq>Vi> z(3P1%`fg&z;Vh{g-xJ%uukwa8k-y2fhVh$@Wf_qJpfKR7%@fj~Y&S~Z@(tA;r&>H> zNR4BclWtaK5Kj@%;4P=BrCVduDMd*}5-tUlj&RtJFf7%MGuM6;NfCizlSl|~tWhGJ z7Z*PLC&wQg#~eeE?83y@H)kl&V2%8(dQLw&7BbszsBz|6;xrK_|1n$oRh$CdC(Yfs zog6T0eK^a5?UMA<+#dp@)OgRSO1+UTJG7%ekAS~oG%oh>oY!ysxC$GwYxnE_ZAWVhs zF8631|0t+?|54WBk)|Ww$+sQ~7n>g)7uo0g)U@%Bi->6xAAP5#;b
9b81=$%qZ zf*E>HYM-#sc}w8p^DT>-$ADn#;iLuU0~epP8VB>kmLS6~J;&qD`0yENRl-vGOias+ g_`YMJ(kI^24`Y`-8<|{X54Sf^j1xJFkzcF&AN}Cd3jhEB diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_null_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_null_0.azshadervariant index af7c9626941cbdb222496d8485268501ae2beaac..7922055a8251b89b19f98d9aedd460ebc6157b3a 100644 GIT binary patch delta 69 zcmeySdX`0;0SK5o7z6j+5H-8u$T#7G{L24j@w+C9AKu(77|f`UZ~9ZC;Krh+g|FOn R=duL8eIdU_p97=`3ILTt7u^5= literal 4854 zcmZQzU|?YGV4m-r>g{6blh}Lq=`GnObRz;TyI}%Bx>fQ)%kg$oP2cD9EKD7 zdJ6R!Z^a~stZEGK?%3b=wNYwUV$7MA8>!B>CS=#X_gOK0LaQU&<)6(!bAiCa*ZzBy z`o@2Udb-@NFEB~t{KctlQrR_O^-9fClO)BT#GjvO^6pG*C-+VPhz2CGvOfQ?0bykf zk#UcW-z+%Q!L$B}^XW-Bk!w6W6NMNUPIO!hc*0oICdj7}>UyC$>9EZD{CBfGE}Fiu z;3(KGw}vg|+d6l3Rq%>BgJwIxu1UENc; zVaCo$IpUrFPW)OdlgSuwBofA|@Az@AsjkUswYzg;J})?7gvA(O2`YQ5Z@u6KZoxHm z{ym#+Mse=;owOBFQs2tzbJ{Pst!U>FpZ`r7uQ-n^&M^bZFas-=2lrNeW8~~x*Sz?% zQ^EE%Yc2|>?cRyY5@2Dx_=WWhEY|;rSdUfagai92d&X>zDXZ#V`fX?|{LfKzdUkzG z-M;w^zi$2MXtQu+S#EnO=F7qS5{Pq!Z~U&oF4O#8cLR1Ar*Eq_WAP%esyZ?6{{r2C zvmWRG%bE6WjBhs?TfG@I>LO1H0Dm6*<1p_M}@um#~8P zj&pCeLF#Q=3nd{eGC(JFJ_|5YzB{|QJ>L1^#@%6|$CggFghbX0Ze?>UdVuM%`)}KJ zEHXgT_S8v-U^fkvhOu~^9~g?@mg1;4(c1Yjqp>-fXh-wrXc078(qgTia91e6>dWKh zC1>#`#^;Y2az;Pec6#yrKmM*Y9-xY5)urW+CiTa=&t6@!+P^|G6jJ-_iY=X<^WRl* zi^aaR$$jxZAY(PxZ!lc+67jKL{$x{1p!u(3mHy%pGp|Kf8oQtMKe1CV`SYUt3tzeE&SeRF`$B$= OKFIHC%O`mA0cil_MJm4l diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_objectsrg.azsrg b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_objectsrg.azsrg deleted file mode 100644 index dee11c7a6a..0000000000 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_objectsrg.azsrg +++ /dev/null @@ -1,9787 +0,0 @@ -{ - "name": "ObjectStream", - "version": 3, - "Objects": [ - { - "typeName": "ShaderResourceGroupAsset", - "typeId": "{F8C9F4AE-3F6A-45AD-B4FB-0CA415FCC2E1}", - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "ObjectSrg" - }, - { - "field": "m_perAPILayout", - "typeName": "AZStd::vector", - "typeId": "{D41FAB43-0CAA-5170-B2BF-9D547C097E4F}", - "Objects": [ - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3244871826" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_modelToWorld" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMax" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_enableDiffuseGI" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMax" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "31" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_modelToWorld" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "30" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_enableDiffuseGI" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "15872820120758734353" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "12354971452077948474" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "634125391" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_modelToWorld" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMax" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_enableDiffuseGI" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMax" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "31" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_modelToWorld" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "30" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_enableDiffuseGI" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "15872820120758734353" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "12354971452077948474" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3189070339" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}" - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeIrradiance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeStates" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_modelToWorld" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMax" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_enableDiffuseGI" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputConstantDescriptor", - "typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "m_constantByteOffset", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_constantByteCount", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMinFrontfaceDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "25" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumDistanceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "17" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "32" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeInverseIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "15" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_aabbMax" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "31" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeScrollOffsets" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "23" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeIrradianceEncodingGamma" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "14" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.normalBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "18" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_modelToWorld" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBrightnessThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "13" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeHysteresis" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "11" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeRayRotationTransform" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "21" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_ambientMultiplier" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[2]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "29" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[3]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "30" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[0]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "27" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding1[1]" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "28" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeChangeThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "12" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.padding" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "26" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.origin" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.numRaysPerProbe" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "6" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridSpacing" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "7" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeBackfaceThreshold" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "24" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeMaxRayDistance" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "8" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeNumIrradianceTexels" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "16" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeGridCounts" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "9" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeVariablePad0" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "20" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.volumeMovementType" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "22" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.probeDistanceExponent" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "10" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_enableDiffuseGI" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_probeGrid.viewBias" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "19" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "48" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "60" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "64" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "76" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "92" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "96" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "108" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "112" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "124" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "128" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "132" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "136" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "140" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "144" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "148" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "152" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "156" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "160" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "164" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "176" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "240" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "244" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "256" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "260" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "264" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "288" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "304" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "320" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "272" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "80" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - } - ] - } - ] - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "336" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "11445921412800959080" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "16873325821914315993" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_passsrg.azsrg b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_passsrg.azsrg deleted file mode 100644 index 63be26a393..0000000000 --- a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_passsrg.azsrg +++ /dev/null @@ -1,1675 +0,0 @@ -{ - "name": "ObjectStream", - "version": 3, - "Objects": [ - { - "typeName": "ShaderResourceGroupAsset", - "typeId": "{F8C9F4AE-3F6A-45AD-B4FB-0CA415FCC2E1}", - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "PassSrg" - }, - { - "field": "m_perAPILayout", - "typeName": "AZStd::vector", - "typeId": "{D41FAB43-0CAA-5170-B2BF-9D547C097E4F}", - "Objects": [ - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3244871826" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputStaticSamplerDescriptor", - "typeId": "{A4D3C5AC-1624-4F78-9543-0E37DC93F491}", - "version": 1, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "LinearSampler" - }, - { - "field": "m_samplerState", - "typeName": "SamplerState", - "typeId": "{03CF3A01-8C2B-4A65-8781-6C25CFF0475F}", - "version": 3, - "Objects": [ - { - "field": "m_anisotropyMax", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_anisotropyEnable", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_filterMin", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMag", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMip", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "0" - }, - { - "field": "m_reductionType", - "typeName": "RHI::ReductionType", - "typeId": "{4230D40D-9984-4254-B062-2DD1CE4E7042}", - "value": "0" - }, - { - "field": "m_comparisonFunc", - "typeName": "RHI::ComparisonFunc", - "typeId": "{BF11B672-B9C4-4CFF-8228-EA09C4A36C36}", - "value": "7" - }, - { - "field": "m_addressU", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressV", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressW", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_mipLodMin", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_mipLodMax", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "15.0000000" - }, - { - "field": "m_mipLodBias", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_borderColor", - "typeName": "RHI::BorderColor", - "typeId": "{8A6739E8-538D-47FC-9068-45BCA5B7E5C4}", - "value": "1" - } - ] - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_depth" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_normal" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_normal" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_depth" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}" - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}" - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2338845612922673940" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "634125391" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputStaticSamplerDescriptor", - "typeId": "{A4D3C5AC-1624-4F78-9543-0E37DC93F491}", - "version": 1, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "LinearSampler" - }, - { - "field": "m_samplerState", - "typeName": "SamplerState", - "typeId": "{03CF3A01-8C2B-4A65-8781-6C25CFF0475F}", - "version": 3, - "Objects": [ - { - "field": "m_anisotropyMax", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_anisotropyEnable", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_filterMin", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMag", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMip", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "0" - }, - { - "field": "m_reductionType", - "typeName": "RHI::ReductionType", - "typeId": "{4230D40D-9984-4254-B062-2DD1CE4E7042}", - "value": "0" - }, - { - "field": "m_comparisonFunc", - "typeName": "RHI::ComparisonFunc", - "typeId": "{BF11B672-B9C4-4CFF-8228-EA09C4A36C36}", - "value": "7" - }, - { - "field": "m_addressU", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressV", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressW", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_mipLodMin", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_mipLodMax", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "15.0000000" - }, - { - "field": "m_mipLodBias", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_borderColor", - "typeName": "RHI::BorderColor", - "typeId": "{8A6739E8-538D-47FC-9068-45BCA5B7E5C4}", - "value": "1" - } - ] - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_depth" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_normal" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_normal" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_depth" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}" - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}" - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "2338845612922673940" - } - ] - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZStd::pair", - "typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}", - "Objects": [ - { - "field": "value1", - "typeName": "Crc32", - "typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}", - "Objects": [ - { - "field": "Value", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "3189070339" - } - ] - }, - { - "field": "value2", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderResourceGroupLayout", - "typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}", - "version": 6, - "Objects": [ - { - "field": "m_staticSamplers", - "typeName": "AZStd::vector", - "typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputStaticSamplerDescriptor", - "typeId": "{A4D3C5AC-1624-4F78-9543-0E37DC93F491}", - "version": 1, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "LinearSampler" - }, - { - "field": "m_samplerState", - "typeName": "SamplerState", - "typeId": "{03CF3A01-8C2B-4A65-8781-6C25CFF0475F}", - "version": 3, - "Objects": [ - { - "field": "m_anisotropyMax", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_anisotropyEnable", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_filterMin", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMag", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "1" - }, - { - "field": "m_filterMip", - "typeName": "RHI::FilterMode", - "typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}", - "value": "0" - }, - { - "field": "m_reductionType", - "typeName": "RHI::ReductionType", - "typeId": "{4230D40D-9984-4254-B062-2DD1CE4E7042}", - "value": "0" - }, - { - "field": "m_comparisonFunc", - "typeName": "RHI::ComparisonFunc", - "typeId": "{BF11B672-B9C4-4CFF-8228-EA09C4A36C36}", - "value": "7" - }, - { - "field": "m_addressU", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressV", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_addressW", - "typeName": "RHI::AddressMode", - "typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}", - "value": "0" - }, - { - "field": "m_mipLodMin", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_mipLodMax", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "15.0000000" - }, - { - "field": "m_mipLodBias", - "typeName": "float", - "typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}", - "value": "0.0000000" - }, - { - "field": "m_borderColor", - "typeName": "RHI::BorderColor", - "typeId": "{8A6739E8-538D-47FC-9068-45BCA5B7E5C4}", - "value": "1" - } - ] - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_inputsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}" - }, - { - "field": "m_inputsForImages", - "typeName": "AZStd::vector", - "typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}", - "Objects": [ - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_depth" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - }, - { - "field": "element", - "typeName": "ShaderInputImageDescriptor", - "typeId": "{913DBF3C-5556-4524-B928-174A42516D31}", - "version": 3, - "Objects": [ - { - "field": "m_name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_normal" - }, - { - "field": "m_type", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "5" - }, - { - "field": "m_access", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_count", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_registerId", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "m_inputsForBufferUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}" - }, - { - "field": "m_inputsForImageUnboundedArrays", - "typeName": "AZStd::vector", - "typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}" - }, - { - "field": "m_inputsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}" - }, - { - "field": "m_intervalsForBuffers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_intervalsForImages", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}", - "Objects": [ - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - }, - { - "field": "element", - "typeName": "Interval", - "typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}", - "version": 1, - "Objects": [ - { - "field": "m_min", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - }, - { - "field": "m_max", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - } - ] - } - ] - }, - { - "field": "m_intervalsForSamplers", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_groupSizeForBuffers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImages", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "2" - }, - { - "field": "m_groupSizeForBufferUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForImageUnboundedArrays", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_groupSizeForSamplers", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_idReflectionForBuffers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}" - } - ] - }, - { - "field": "m_idReflectionForImages", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}", - "Objects": [ - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_normal" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "1" - } - ] - } - ] - }, - { - "field": "element", - "typeName": "AZ::RHI::ReflectionNamePair>", - "typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}", - "version": 2, - "Objects": [ - { - "field": "Name", - "typeName": "Name", - "typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}", - "value": "m_depth" - }, - { - "field": "Index", - "typeName": "AZ::RHI::Handle", - "typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - } - ] - } - ] - } - ] - } - ] - }, - { - "field": "m_idReflectionForBufferUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}" - } - ] - }, - { - "field": "m_idReflectionForImageUnboundedArrays", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}" - } - ] - }, - { - "field": "m_idReflectionForSamplers", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}" - } - ] - }, - { - "field": "m_constantsDataLayout", - "typeName": "AZStd::intrusive_ptr", - "typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}", - "Objects": [ - { - "field": "element", - "typeName": "ConstantsLayout", - "typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}", - "Objects": [ - { - "field": "m_inputs", - "typeName": "AZStd::vector", - "typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}" - }, - { - "field": "m_idReflection", - "typeName": "AZ::RHI::NameIdReflectionMap>", - "typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}", - "Objects": [ - { - "field": "ReflectionMap", - "typeName": "AZStd::vector", - "typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}" - } - ] - }, - { - "field": "m_intervals", - "typeName": "AZStd::vector", - "typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}" - }, - { - "field": "m_sizeInBytes", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "0" - } - ] - } - ] - }, - { - "field": "m_bindingSlot", - "typeName": "AZ::RHI::Handle", - "typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4" - } - ] - }, - { - "field": "m_shaderVariantKeyFallbackSize", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "0" - }, - { - "field": "m_shaderVariantKeyFallbackConstantIndex", - "typeName": "AZ::RHI::Handle", - "typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}", - "version": 1, - "Objects": [ - { - "field": "m_index", - "typeName": "unsigned int", - "typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}", - "value": "4294967295" - } - ] - }, - { - "field": "m_hash", - "typeName": "AZ::u64", - "typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}", - "value": "9381862091216273238" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_vulkan_0.azshadervariant b/Gems/Atom/Feature/Common/Assets/Shaders/DiffuseGlobalIllumination/diffuseprobegridrender_vulkan_0.azshadervariant index 4e9771d614e2d6c7fc40b5ed9eae75421e5e1360..780163eb077e53eccde2988aba5e2fc557d08b4d 100644 GIT binary patch delta 71 zcmbQYpYiKlMsWrpVD4ZH+;>CN?1m%Xgb(s7|Chz@nkasFbF<)YUxj?rpBe=>7Bww= U<)%BACGhPF`8E0+AWcvJ0RBN4)&Kwi delta 4367 zcmex5mvP>HMsWrpVD4a^@0;rFV(F9Ed-mh;qhahB6U7hLpXj(4@Px6ZO^{C|)b&Dh z(qWnP`R`_XTr_=Q!BMbXZVg+^x%u2ZLEeQ7iYFW$;w%}bJj?%iKG)HEQ}}*e%X5<;nSo6OlPxZPvA2guud|L%M)`^iOi z&r#(UY(HG@$80_pxdw|PSwN&u#uy}9boFkgbHg_CIfrk!&(%Khf_HxlWB8SQ z0k0o-dRp; z^_nyLy3*WL>pEf?>KPaq8Dgp`oBFYM1{fEOnR|9%kpb#C%ARkCMFyznu-Rg5tTGHI zR(|SFVk|4ZapUl9H?4)C=O5NzG8Ud5B{?a){LO+b%twBBw@v-in9<9U=Kyq9RLv%C z0Ss{l1`pX@_X_v=PaqkX5%n72Pqs=x-4I(tsHYv~;Jn6Y}^K~?cJ@;f4X?ua!P z?R1z`E9GH0=ii^rzwVl-F)&2_zO5z-60S!TXCTiM@(lroKinT}vJxUFdC5ug7}8m~ByEY2|l$}j_K znFse)ePiV8Ti3k!vs1zLHES*kr|sT})fR|Ri(gpJz-Iq{i2dkNKu!M{PB^fivS-ZZ zn6j$=rQe3e!v7par)Ss4)a{$!@axu}jy4NNmgTmmV!j;AFM(JheB*ZwcA4h)x*ITL zK>lZlar(A;GZs$*E3Oms{x8rSK>L9%u$*b{#`t!VvDJG4uNe!&H?h3rUsxIQdYz(C<`xf+0>@tm;y2d*&a7*>I`p=LWN9R7nzeHb`Ka=J^+sb3o zT7f4TUme)Bey_;!g|;W%3c7?9#CM!~vke%Cz*J;wp(KPw2I!{FX8~r)cV{=Z$2(u# zxH~NL*wX2i;P|SKdBLr0jztsDxbDAg+p)+1joVWv9fH+3a6-o7d46Cxf?JR1{;a2$ zM{)SG9u#i$@F)&{g3^BsRbv!~M{)SG9+Y&b8lyNoio>5^`^ihXqyZm1T6z?RKkEmg&_(iRJ$e~V=d!3C zt@lmuvd9Cy8Y8nTV%T`&udjkB^AWv*8;hD2zH-x@%M$qZh5Q +#include diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/ForwardPassSrg.shader b/Gems/Atom/Feature/Common/Assets/Shaders/ForwardPassSrg.shader new file mode 100644 index 0000000000..b714f0a007 --- /dev/null +++ b/Gems/Atom/Feature/Common/Assets/Shaders/ForwardPassSrg.shader @@ -0,0 +1,39 @@ +{ + "Source" : "ForwardPassSrg.azsl", + + "DepthStencilState" : + { + "Depth" : + { + "Enable" : false + }, + "Stencil" : + { + "Enable" : false + } + }, + + "ProgramSettings": + { + "EntryPoints": + [ + { + "name": "MainVS", + "type": "Vertex" + }, + { + "name": "MainPS", + "type": "Fragment" + } + ] + }, + + "Supervariants": + [ + { + "Name": "", + "PlusArguments": "", + "MinusArguments": "--strip-unused-srgs" + } + ] +} diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/DepthOfFieldBlurBokeh.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/DepthOfFieldBlurBokeh.azsl index 60951ebeb5..1a9d3ecb7a 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/DepthOfFieldBlurBokeh.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/DepthOfFieldBlurBokeh.azsl @@ -20,7 +20,7 @@ #include #include -ShaderResourceGroup PassSrg : SRG_PerDraw +ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback { Texture2D m_colorAndDofFactorTexture; float m_radiusMin; diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/DepthOfFieldComposite.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/DepthOfFieldComposite.azsl index 0fd89e475e..377a07e9b5 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/DepthOfFieldComposite.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/DepthOfFieldComposite.azsl @@ -16,7 +16,7 @@ #include -ShaderResourceGroup PassSrg : SRG_PerDraw +ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback { Texture2D m_InputColor; Texture2D m_InputDepth; diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LookModificationTransform.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LookModificationTransform.azsl index 3e708a2ca3..c3e6ed7418 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LookModificationTransform.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/LookModificationTransform.azsl @@ -18,7 +18,7 @@ #include #include "EyeAdaptationUtil.azsli" -ShaderResourceGroup PassSrg : SRG_PerDraw +ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback { Texture2D m_framebuffer; Sampler LinearSampler diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/OutputTransform.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/OutputTransform.azsl index b480d6e5c5..b225f123ed 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/OutputTransform.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/OutputTransform.azsl @@ -17,7 +17,7 @@ #include #include -ShaderResourceGroup PassSrg : SRG_PerDraw +ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback { Texture2D m_framebuffer; Sampler LinearSampler diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAABlendingWeightCalculation.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAABlendingWeightCalculation.azsl index 04d6a8bf8b..e58a91a68a 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAABlendingWeightCalculation.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAABlendingWeightCalculation.azsl @@ -25,7 +25,7 @@ struct VSOutputBlendingWeightCalculation float4 m_offset[3] : TEXCOORD2; }; -ShaderResourceGroup PassSrg : SRG_PerDraw +ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback { Texture2D m_framebuffer; Texture2D m_areaTexture; diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAAEdgeDetection.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAAEdgeDetection.azsl index eca2e56ae2..e4d71d5c80 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAAEdgeDetection.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAAEdgeDetection.azsl @@ -24,7 +24,7 @@ struct VSOutputSMAAEdgeDetection float4 m_offset[3] : TEXCOORD1; }; -ShaderResourceGroup PassSrg : SRG_PerDraw +ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback { Texture2D m_framebuffer; Texture2D m_depthTexture; diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAANeighborhoodBlending.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAANeighborhoodBlending.azsl index de4e8cf83c..170f1e79f4 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAANeighborhoodBlending.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/PostProcessing/SMAANeighborhoodBlending.azsl @@ -25,7 +25,7 @@ struct VSOutputNeighborhoodBlending float4 m_offset : TEXCOORD1; }; -ShaderResourceGroup PassSrg : SRG_PerDraw +ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback { Texture2D m_framebuffer; Texture2D m_framebufferPassThrough; diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/ReflectionProbe/ReflectionProbeFeatureProcessor.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/ReflectionProbe/ReflectionProbeFeatureProcessor.h index ff84f77a3e..f9fd9cb779 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/ReflectionProbe/ReflectionProbeFeatureProcessor.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/ReflectionProbe/ReflectionProbeFeatureProcessor.h @@ -60,8 +60,10 @@ namespace AZ // create the box vertex and index streams, which are used to render the probe volumes void CreateBoxMesh(); - // load the shader and retrieve pipeline state, Srg, and drawListTag - void LoadShader(const char* filePath, RPI::Ptr& pipelineState, Data::Asset& srgAsset, RHI::DrawListTag& drawListTag); + // load the shader and retrieve pipeline state, shader, Srg Layout, and drawListTag + void LoadShader( + const char* filePath, RPI::Ptr& pipelineState, Data::Instance& shader, + RHI::Ptr& srgLayout, RHI::DrawListTag& drawListTag); // RPI::SceneNotificationBus::Handler overrides void OnRenderPipelinePassesChanged(RPI::RenderPipeline* renderPipeline) override; diff --git a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/DynamicPrimitiveProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/DynamicPrimitiveProcessor.cpp index 1b59802c45..552ca5d19f 100644 --- a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/DynamicPrimitiveProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/DynamicPrimitiveProcessor.cpp @@ -164,7 +164,7 @@ namespace AZ Data::Instance srg; if (useManualViewProjectionOverride || primitive.m_primitiveType == PrimitiveType_PointList) { - srg = RPI::ShaderResourceGroup::Create(m_shaderData.m_perDrawSrgAsset); + srg = RPI::ShaderResourceGroup::Create(m_shader->GetAsset(), m_shader->GetSupervariantIndex(), m_shaderData.m_perDrawSrgLayout->GetName()); if (!srg) { AZ_Warning("AuxGeom", false, "Failed to create a shader resource group for an AuxGeom draw, Ignoring the draw"); @@ -425,10 +425,10 @@ namespace AZ } // Get the per-object SRG and store the indices of the data we need to set per object - m_shaderData.m_perDrawSrgAsset = m_shader->FindShaderResourceGroupAsset(Name{ "PerDrawSrg" }); - if (!m_shaderData.m_perDrawSrgAsset.GetId().IsValid()) + m_shaderData.m_perDrawSrgLayout = m_shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Draw); + if (!m_shaderData.m_perDrawSrgLayout) { - AZ_Error("DynamicPrimitiveProcessor", false, "Failed to get shader resource group asset"); + AZ_Error("DynamicPrimitiveProcessor", false, "Failed to get shader resource group layout"); return; } @@ -439,7 +439,7 @@ namespace AZ m_shaderData.m_drawListTag = m_shader->GetDrawListTag(); // Create a default SRG for draws that don't use a manual view projection override - m_shaderData.m_defaultSRG = RPI::ShaderResourceGroup::Create(m_shaderData.m_perDrawSrgAsset); + m_shaderData.m_defaultSRG = RPI::ShaderResourceGroup::Create(m_shader->GetAsset(), m_shader->GetSupervariantIndex(), m_shaderData.m_perDrawSrgLayout->GetName()); AZ_Assert(m_shaderData.m_defaultSRG != nullptr, "Creating the default SRG unexpectedly failed"); m_shaderData.m_defaultSRG->SetConstant(m_shaderData.m_pointSizeIndex, 10.0f); m_shaderData.m_defaultSRG->Compile(); diff --git a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/DynamicPrimitiveProcessor.h b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/DynamicPrimitiveProcessor.h index a23cad7962..55e05ae0b6 100644 --- a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/DynamicPrimitiveProcessor.h +++ b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/DynamicPrimitiveProcessor.h @@ -24,7 +24,6 @@ #include #include -#include #include #include "AuxGeomBase.h" @@ -100,7 +99,7 @@ namespace AZ struct ShaderData { - AZ::Data::Asset m_perDrawSrgAsset; + RHI::Ptr m_perDrawSrgLayout; Data::Instance m_defaultSRG; // default SRG for draws not overriding the view projection matrix AZ::RHI::DrawListTag m_drawListTag; // The draw list tag from our shader variant (determines which views primitives are in and which pass) diff --git a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/FixedShapeProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/FixedShapeProcessor.cpp index cebc6e8937..fda468db8b 100644 --- a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/FixedShapeProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/FixedShapeProcessor.cpp @@ -1369,15 +1369,12 @@ namespace AZ void FixedShapeProcessor::FillShaderData(Data::Instance& shader, ShaderData& shaderData) { // Get the per-object SRG and store the indices of the data we need to set per object - shaderData.m_perObjectSrgAsset = shader->FindShaderResourceGroupAsset(Name{ "ObjectSrg" }); - if (!shaderData.m_perObjectSrgAsset.GetId().IsValid()) + shaderData.m_shaderAsset = shader->GetAsset(); + shaderData.m_supervariantIndex = shader->GetSupervariantIndex(); + shaderData.m_perObjectSrgLayout = shader->FindShaderResourceGroupLayout(Name{ "ObjectSrg" }); + if (!shaderData.m_perObjectSrgLayout) { - AZ_Error("FixedShapeProcessor", false, "Failed to get shader resource group asset"); - return; - } - else if (!shaderData.m_perObjectSrgAsset.IsReady()) - { - AZ_Error("FixedShapeProcessor", false, "Shader resource group asset is not loaded"); + AZ_Error("FixedShapeProcessor", false, "Failed to get shader resource group layout"); return; } @@ -1568,7 +1565,7 @@ namespace AZ // Create a SRG for the shape to specify its transform and color // [GFX TODO] [ATOM-2333] Try to avoid doing SRG create/compile per draw. Possibly using instancing. - auto srg = RPI::ShaderResourceGroup::Create(shaderData.m_perObjectSrgAsset); + auto srg = RPI::ShaderResourceGroup::Create(shaderData.m_shaderAsset, shaderData.m_supervariantIndex, shaderData.m_perObjectSrgLayout->GetName()); if (!srg) { AZ_Warning("AuxGeom", false, "Failed to create a shader resource group for an AuxGeom draw, Ignoring the draw"); @@ -1667,7 +1664,7 @@ namespace AZ { ShaderData& shaderData = m_perObjectShaderData[drawStyle==DrawStyle_Shaded?1:0]; // Create a SRG for the box to specify its transform and color - auto srg = RPI::ShaderResourceGroup::Create(shaderData.m_perObjectSrgAsset); + auto srg = RPI::ShaderResourceGroup::Create(shaderData.m_shaderAsset, shaderData.m_supervariantIndex, shaderData.m_perObjectSrgLayout->GetName()); if (!srg) { AZ_Warning("AuxGeom", false, "Failed to create a shader resource group for an AuxGeom draw, Ignoring the draw"); diff --git a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/FixedShapeProcessor.h b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/FixedShapeProcessor.h index 3e898b47c2..9bf6abecfc 100644 --- a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/FixedShapeProcessor.h +++ b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/FixedShapeProcessor.h @@ -244,7 +244,9 @@ namespace AZ struct ShaderData { - AZ::Data::Asset m_perObjectSrgAsset; + AZ::Data::Asset m_shaderAsset; // For @m_perObjectSrgLayout. + AZ::RPI::SupervariantIndex m_supervariantIndex; // For @m_perObjectSrgLayout. + AZ::RHI::Ptr m_perObjectSrgLayout; // Comes from @m_shaderAsset AZ::RHI::DrawListTag m_drawListTag; AZ::RHI::ShaderInputNameIndex m_colorIndex = "m_color"; AZ::RHI::ShaderInputNameIndex m_modelToWorldIndex = "m_modelToWorld"; diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/CapsuleLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/CapsuleLightFeatureProcessor.cpp index d5bacf18f1..3c01222a4c 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/CapsuleLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/CapsuleLightFeatureProcessor.cpp @@ -53,7 +53,7 @@ namespace AZ desc.m_bufferSrgName = "m_capsuleLights"; desc.m_elementCountSrgName = "m_capsuleLightCount"; desc.m_elementSize = sizeof(CapsuleLightData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_lightBufferHandler = GpuBufferHandler(desc); } diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp index c4f4bc54b3..ae8280fc16 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp @@ -145,7 +145,7 @@ namespace AZ void DirectionalLightFeatureProcessor::Activate() { - const RHI::ShaderResourceGroupLayout* sceneSrgLayout = RPI::RPISystemInterface::Get()->GetSceneSrgAsset()->GetLayout(); + const RHI::ShaderResourceGroupLayout* sceneSrgLayout = RPI::RPISystemInterface::Get()->GetSceneSrgLayout().get(); GpuBufferHandler::Descriptor desc; @@ -786,7 +786,7 @@ namespace AZ } }; - const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); const IndexedDataVector lastShadowData = m_shadowData[nullptr]; IndexedDataVector lastEsmParameter = m_esmParameterData[nullptr]; while (lastEsmParameter.GetDataCount() < Shadow::MaxNumberOfCascades) diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DiskLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DiskLightFeatureProcessor.cpp index d0fb702d5a..9fca9b512b 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DiskLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DiskLightFeatureProcessor.cpp @@ -54,7 +54,7 @@ namespace AZ desc.m_bufferSrgName = "m_diskLights"; desc.m_elementCountSrgName = "m_diskLightCount"; desc.m_elementSize = sizeof(DiskLightData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_lightBufferHandler = GpuBufferHandler(desc); m_shadowFeatureProcessor = GetParentScene()->GetFeatureProcessor(); diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/PointLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/PointLightFeatureProcessor.cpp index bb81c52b15..ef5d7f0d03 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/PointLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/PointLightFeatureProcessor.cpp @@ -60,7 +60,7 @@ namespace AZ desc.m_bufferSrgName = "m_pointLights"; desc.m_elementCountSrgName = "m_pointLightCount"; desc.m_elementSize = sizeof(PointLightData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_shadowFeatureProcessor = GetParentScene()->GetFeatureProcessor(); m_lightBufferHandler = GpuBufferHandler(desc); diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/PolygonLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/PolygonLightFeatureProcessor.cpp index 25b7526c5f..1dcb75f5b2 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/PolygonLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/PolygonLightFeatureProcessor.cpp @@ -54,7 +54,7 @@ namespace AZ::Render desc.m_bufferSrgName = "m_polygonLights"; desc.m_elementCountSrgName = "m_polygonLightCount"; desc.m_elementSize = sizeof(PolygonLightData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_lightBufferHandler = GpuBufferHandler(desc); @@ -63,7 +63,7 @@ namespace AZ::Render desc.m_bufferSrgName = "m_polygonLightPoints"; desc.m_elementCountSrgName = ""; desc.m_elementSize = 16; // While only a 12 byte float3 is needed for positions, using 16 bytes since that's the minimal alignment. - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_lightPolygonPointBufferHandler = GpuBufferHandler(desc); diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/QuadLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/QuadLightFeatureProcessor.cpp index ac97d22205..12f6a809d8 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/QuadLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/QuadLightFeatureProcessor.cpp @@ -56,7 +56,7 @@ namespace AZ desc.m_bufferSrgName = "m_quadLights"; desc.m_elementCountSrgName = "m_quadLightCount"; desc.m_elementSize = sizeof(QuadLightData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_lightBufferHandler = GpuBufferHandler(desc); diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/SimplePointLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/SimplePointLightFeatureProcessor.cpp index 591abc1b57..80d6d17a85 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/SimplePointLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/SimplePointLightFeatureProcessor.cpp @@ -53,7 +53,7 @@ namespace AZ desc.m_bufferSrgName = "m_simplePointLights"; desc.m_elementCountSrgName = "m_simplePointLightCount"; desc.m_elementSize = sizeof(SimplePointLightData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_lightBufferHandler = GpuBufferHandler(desc); } diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/SimpleSpotLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/SimpleSpotLightFeatureProcessor.cpp index f26c0b19b3..95baa8e120 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/SimpleSpotLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/SimpleSpotLightFeatureProcessor.cpp @@ -53,7 +53,7 @@ namespace AZ desc.m_bufferSrgName = "m_simpleSpotLights"; desc.m_elementCountSrgName = "m_simpleSpotLightCount"; desc.m_elementSize = sizeof(SimpleSpotLightData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_lightBufferHandler = GpuBufferHandler(desc); } diff --git a/Gems/Atom/Feature/Common/Code/Source/Decals/DecalFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Decals/DecalFeatureProcessor.cpp index 7c97af4f79..78ce3726af 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Decals/DecalFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Decals/DecalFeatureProcessor.cpp @@ -55,7 +55,7 @@ namespace AZ desc.m_bufferSrgName = "m_decals"; desc.m_elementCountSrgName = "m_decalCount"; desc.m_elementSize = sizeof(DecalData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_decalBufferHandler = GpuBufferHandler(desc); @@ -332,7 +332,7 @@ namespace AZ void DecalFeatureProcessor::CacheShaderIndices() { - const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_baseColorMapsIndex = viewSrgLayout->FindShaderInputImageIndex(m_baseColorMapShaderName); AZ_Warning("DecalFeatureProcessor", m_baseColorMapsIndex.IsValid(), "Unable to find baseColorMaps in decal shader."); diff --git a/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp index e783f3b531..ea1ac1b797 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Decals/DecalTextureArrayFeatureProcessor.cpp @@ -72,7 +72,7 @@ namespace AZ desc.m_bufferSrgName = "m_decals"; desc.m_elementCountSrgName = "m_decalCount"; desc.m_elementSize = sizeof(DecalData); - desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + desc.m_srgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); m_decalBufferHandler = GpuBufferHandler(desc); @@ -329,7 +329,7 @@ namespace AZ { for (int i = 0; i < NumTextureArrays; ++i) { - const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); const AZStd::string baseName = "m_decalTextureArray" + AZStd::to_string(i); m_decalTextureArrayIndices[i] = viewSrgLayout->FindShaderInputImageIndex(Name(baseName.c_str())); diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGrid.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGrid.cpp index cfdfd9efa4..d0fe85c6de 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGrid.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGrid.cpp @@ -506,11 +506,11 @@ namespace AZ srg->SetConstant(constantIndex, m_probeRayRotationTransform); } - void DiffuseProbeGrid::UpdateRayTraceSrg(const Data::Asset& srgAsset) + void DiffuseProbeGrid::UpdateRayTraceSrg(const Data::Instance& shader, const RHI::Ptr& layout) { if (!m_rayTraceSrg) { - m_rayTraceSrg = RPI::ShaderResourceGroup::Create(srgAsset); + m_rayTraceSrg = RPI::ShaderResourceGroup::Create(shader->GetAsset(), shader->GetSupervariantIndex(), layout->GetName()); AZ_Error("DiffuseProbeGrid", m_rayTraceSrg.get(), "Failed to create RayTrace shader resource group"); } @@ -551,11 +551,11 @@ namespace AZ SetGridConstants(m_rayTraceSrg); } - void DiffuseProbeGrid::UpdateBlendIrradianceSrg(const Data::Asset& srgAsset) + void DiffuseProbeGrid::UpdateBlendIrradianceSrg(const Data::Instance& shader, const RHI::Ptr& layout) { if (!m_blendIrradianceSrg) { - m_blendIrradianceSrg = RPI::ShaderResourceGroup::Create(srgAsset); + m_blendIrradianceSrg = RPI::ShaderResourceGroup::Create(shader->GetAsset(), shader->GetSupervariantIndex(), layout->GetName()); AZ_Error("DiffuseProbeGrid", m_blendIrradianceSrg.get(), "Failed to create BlendIrradiance shader resource group"); } @@ -574,11 +574,11 @@ namespace AZ SetGridConstants(m_blendIrradianceSrg); } - void DiffuseProbeGrid::UpdateBlendDistanceSrg(const Data::Asset& srgAsset) + void DiffuseProbeGrid::UpdateBlendDistanceSrg(const Data::Instance& shader, const RHI::Ptr& layout) { if (!m_blendDistanceSrg) { - m_blendDistanceSrg = RPI::ShaderResourceGroup::Create(srgAsset); + m_blendDistanceSrg = RPI::ShaderResourceGroup::Create(shader->GetAsset(), shader->GetSupervariantIndex(), layout->GetName()); AZ_Error("DiffuseProbeGrid", m_blendDistanceSrg.get(), "Failed to create BlendDistance shader resource group"); } @@ -597,14 +597,15 @@ namespace AZ SetGridConstants(m_blendDistanceSrg); } - void DiffuseProbeGrid::UpdateBorderUpdateSrgs(const Data::Asset& rowSrgAsset, - const Data::Asset& columnSrgAsset) + void DiffuseProbeGrid::UpdateBorderUpdateSrgs( + const Data::Instance& rowShader, const RHI::Ptr& rowSrgLayout, + const Data::Instance& columnShader, const RHI::Ptr& columnSrgLayout) { // border update row irradiance { if (!m_borderUpdateRowIrradianceSrg) { - m_borderUpdateRowIrradianceSrg = RPI::ShaderResourceGroup::Create(rowSrgAsset); + m_borderUpdateRowIrradianceSrg = RPI::ShaderResourceGroup::Create(rowShader->GetAsset(), rowShader->GetSupervariantIndex(), rowSrgLayout->GetName()); AZ_Error("DiffuseProbeGrid", m_borderUpdateRowIrradianceSrg.get(), "Failed to create BorderUpdateRowIrradiance shader resource group"); } @@ -623,7 +624,7 @@ namespace AZ { if (!m_borderUpdateColumnIrradianceSrg) { - m_borderUpdateColumnIrradianceSrg = RPI::ShaderResourceGroup::Create(columnSrgAsset); + m_borderUpdateColumnIrradianceSrg = RPI::ShaderResourceGroup::Create(columnShader->GetAsset(), columnShader->GetSupervariantIndex(), columnSrgLayout->GetName()); AZ_Error("DiffuseProbeGrid", m_borderUpdateColumnIrradianceSrg.get(), "Failed to create BorderUpdateColumnRowIrradiance shader resource group"); } @@ -642,7 +643,7 @@ namespace AZ { if (!m_borderUpdateRowDistanceSrg) { - m_borderUpdateRowDistanceSrg = RPI::ShaderResourceGroup::Create(rowSrgAsset); + m_borderUpdateRowDistanceSrg = RPI::ShaderResourceGroup::Create(rowShader->GetAsset(), rowShader->GetSupervariantIndex(), rowSrgLayout->GetName()); AZ_Error("DiffuseProbeGrid", m_borderUpdateRowDistanceSrg.get(), "Failed to create BorderUpdateRowDistance shader resource group"); } @@ -661,7 +662,7 @@ namespace AZ { if (!m_borderUpdateColumnDistanceSrg) { - m_borderUpdateColumnDistanceSrg = RPI::ShaderResourceGroup::Create(columnSrgAsset); + m_borderUpdateColumnDistanceSrg = RPI::ShaderResourceGroup::Create(columnShader->GetAsset(), columnShader->GetSupervariantIndex(), columnSrgLayout->GetName()); AZ_Error("DiffuseProbeGrid", m_borderUpdateColumnDistanceSrg.get(), "Failed to create BorderUpdateColumnRowDistance shader resource group"); } @@ -677,11 +678,11 @@ namespace AZ } } - void DiffuseProbeGrid::UpdateRelocationSrg(const Data::Asset& srgAsset) + void DiffuseProbeGrid::UpdateRelocationSrg(const Data::Instance& shader, const RHI::Ptr& layout) { if (!m_relocationSrg) { - m_relocationSrg = RPI::ShaderResourceGroup::Create(srgAsset); + m_relocationSrg = RPI::ShaderResourceGroup::Create(shader->GetAsset(), shader->GetSupervariantIndex(), layout->GetName()); AZ_Error("DiffuseProbeGrid", m_relocationSrg.get(), "Failed to create Relocation shader resource group"); } @@ -702,11 +703,11 @@ namespace AZ SetGridConstants(m_relocationSrg); } - void DiffuseProbeGrid::UpdateClassificationSrg(const Data::Asset& srgAsset) + void DiffuseProbeGrid::UpdateClassificationSrg(const Data::Instance& shader, const RHI::Ptr& layout) { if (!m_classificationSrg) { - m_classificationSrg = RPI::ShaderResourceGroup::Create(srgAsset); + m_classificationSrg = RPI::ShaderResourceGroup::Create(shader->GetAsset(), shader->GetSupervariantIndex(), layout->GetName()); AZ_Error("DiffuseProbeGrid", m_classificationSrg.get(), "Failed to create Classification shader resource group"); } @@ -732,7 +733,7 @@ namespace AZ if (!m_renderObjectSrg) { - m_renderObjectSrg = RPI::ShaderResourceGroup::Create(m_renderData->m_srgAsset); + m_renderObjectSrg = RPI::ShaderResourceGroup::Create(m_renderData->m_shader->GetAsset(), m_renderData->m_shader->GetSupervariantIndex(), m_renderData->m_srgLayout->GetName()); AZ_Error("DiffuseProbeGrid", m_renderObjectSrg.get(), "Failed to create render shader resource group"); } diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGrid.h b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGrid.h index 4a732ae7af..093f85906d 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGrid.h +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGrid.h @@ -51,8 +51,9 @@ namespace AZ // render pipeline state RPI::Ptr m_pipelineState; - // render Srg asset - Data::Asset m_srgAsset; + // For the render Srg + Data::Instance m_shader; + RHI::Ptr m_srgLayout; // render drawlist tag RHI::DrawListTag m_drawListTag; @@ -129,12 +130,13 @@ namespace AZ const Data::Instance& GetRenderObjectSrg() const { return m_renderObjectSrg; } // Srg updates - void UpdateRayTraceSrg(const Data::Asset& srgAsset); - void UpdateBlendIrradianceSrg(const Data::Asset& srgAsset); - void UpdateBlendDistanceSrg(const Data::Asset& srgAsset); - void UpdateBorderUpdateSrgs(const Data::Asset& rowSrgAsset, const Data::Asset& columnSrgAsset); - void UpdateRelocationSrg(const Data::Asset& srgAsset); - void UpdateClassificationSrg(const Data::Asset& srgAsset); + void UpdateRayTraceSrg(const Data::Instance& shader, const RHI::Ptr& srgLayout); + void UpdateBlendIrradianceSrg(const Data::Instance& shader, const RHI::Ptr& srgLayout); + void UpdateBlendDistanceSrg(const Data::Instance& shader, const RHI::Ptr& srgLayout); + void UpdateBorderUpdateSrgs(const Data::Instance& rowShader, const RHI::Ptr& rowSrgLayout, + const Data::Instance& columnShader, const RHI::Ptr& columnSrgLayout); + void UpdateRelocationSrg(const Data::Instance& shader, const RHI::Ptr& srgLayout); + void UpdateClassificationSrg(const Data::Instance& shader, const RHI::Ptr& srgLayout); void UpdateRenderObjectSrg(); // textures diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistancePass.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistancePass.cpp index 04e68136f1..0852430f30 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistancePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistancePass.cpp @@ -55,7 +55,7 @@ namespace AZ m_pipelineState = m_shader->AcquirePipelineState(pipelineStateDescriptor); // load Pass Srg asset - m_srgAsset = m_shader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::Pass); + m_srgLayout = m_shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Pass); // retrieve the number of threads per thread group from the shader const auto numThreads = m_shader->GetAsset()->GetAttribute(RHI::ShaderStage::Compute, Name{ "numthreads" }); @@ -154,7 +154,7 @@ namespace AZ { // the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader inputs // (see ValidateSetImageView() in ShaderResourceGroupData.cpp) - diffuseProbeGrid->UpdateBlendDistanceSrg(m_srgAsset); + diffuseProbeGrid->UpdateBlendDistanceSrg(m_shader, m_srgLayout); diffuseProbeGrid->GetBlendDistanceSrg()->Compile(); } diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistancePass.h b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistancePass.h index 0f56059636..4f9816960a 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistancePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendDistancePass.h @@ -54,7 +54,7 @@ namespace AZ // shader Data::Instance m_shader; const RHI::PipelineState* m_pipelineState = nullptr; - Data::Asset m_srgAsset; + RHI::Ptr m_srgLayout; RHI::DispatchDirect m_dispatchArgs; }; } // namespace Render diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiancePass.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiancePass.cpp index f1fe792542..3d7de66418 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiancePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiancePass.cpp @@ -55,7 +55,7 @@ namespace AZ m_pipelineState = m_shader->AcquirePipelineState(pipelineStateDescriptor); // load Pass Srg asset - m_srgAsset = m_shader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::Pass); + m_srgLayout = m_shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Pass); // retrieve the number of threads per thread group from the shader const auto numThreads = m_shader->GetAsset()->GetAttribute(RHI::ShaderStage::Compute, Name{ "numthreads" }); @@ -154,7 +154,7 @@ namespace AZ { // the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader inputs // (see ValidateSetImageView() in ShaderResourceGroupData.cpp) - diffuseProbeGrid->UpdateBlendIrradianceSrg(m_srgAsset); + diffuseProbeGrid->UpdateBlendIrradianceSrg(m_shader, m_srgLayout); diffuseProbeGrid->GetBlendIrradianceSrg()->Compile(); } diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiancePass.h b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiancePass.h index 4e080fe960..a871600eef 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiancePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBlendIrradiancePass.h @@ -54,7 +54,7 @@ namespace AZ // shader Data::Instance m_shader; const RHI::PipelineState* m_pipelineState = nullptr; - Data::Asset m_srgAsset; + RHI::Ptr m_srgLayout; RHI::DispatchDirect m_dispatchArgs; }; } // namespace Render diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdatePass.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdatePass.cpp index a24d54d9b7..961c594501 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdatePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdatePass.cpp @@ -37,20 +37,20 @@ namespace AZ LoadShader("Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateRow.azshader", m_rowShader, m_rowPipelineState, - m_rowSrgAsset, + m_rowSrgLayout, m_rowDispatchArgs); LoadShader("Shaders/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdateColumn.azshader", m_columnShader, m_columnPipelineState, - m_columnSrgAsset, + m_columnSrgLayout, m_columnDispatchArgs); } void DiffuseProbeGridBorderUpdatePass::LoadShader(AZStd::string shaderFilePath, Data::Instance& shader, const RHI::PipelineState*& pipelineState, - Data::Asset& srgAsset, + RHI::Ptr& srgLayout, RHI::DispatchDirect& dispatchArgs) { // load shader @@ -68,7 +68,7 @@ namespace AZ pipelineState = shader->AcquirePipelineState(pipelineStateDescriptor); // load Pass Srg asset - srgAsset = shader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::Pass); + srgLayout = shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Pass); // retrieve the number of threads per thread group from the shader const auto numThreads = shader->GetAsset()->GetAttribute(RHI::ShaderStage::Compute, Name{ "numthreads" }); @@ -157,7 +157,7 @@ namespace AZ { // the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader inputs // (see line ValidateSetImageView() in ShaderResourceGroupData.cpp) - diffuseProbeGrid->UpdateBorderUpdateSrgs(m_rowSrgAsset, m_columnSrgAsset); + diffuseProbeGrid->UpdateBorderUpdateSrgs(m_rowShader, m_rowSrgLayout, m_columnShader, m_columnSrgLayout); diffuseProbeGrid->GetBorderUpdateRowIrradianceSrg()->Compile(); diffuseProbeGrid->GetBorderUpdateColumnIrradianceSrg()->Compile(); diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdatePass.h b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdatePass.h index 1633a38aff..2d7fa05cae 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdatePass.h +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridBorderUpdatePass.h @@ -40,7 +40,7 @@ namespace AZ void LoadShader(AZStd::string shaderFilePath, Data::Instance& shader, const RHI::PipelineState*& pipelineState, - Data::Asset& srgAsset, + RHI::Ptr& srgLayout, RHI::DispatchDirect& dispatchArgs); // Pass overrides @@ -55,8 +55,8 @@ namespace AZ Data::Instance m_columnShader; const RHI::PipelineState* m_rowPipelineState = nullptr; const RHI::PipelineState* m_columnPipelineState = nullptr; - Data::Asset m_rowSrgAsset; - Data::Asset m_columnSrgAsset; + RHI::Ptr m_rowSrgLayout; + RHI::Ptr m_columnSrgLayout; RHI::DispatchDirect m_rowDispatchArgs; RHI::DispatchDirect m_columnDispatchArgs; }; diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridClassificationPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridClassificationPass.cpp index 8d39e6fcc8..6b1d8a7e87 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridClassificationPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridClassificationPass.cpp @@ -59,7 +59,7 @@ namespace AZ m_pipelineState = m_shader->AcquirePipelineState(pipelineStateDescriptor); // load Pass Srg asset - m_srgAsset = m_shader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::Pass); + m_srgLayout = m_shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Pass); // retrieve the number of threads per thread group from the shader const auto numThreads = m_shader->GetAsset()->GetAttribute(RHI::ShaderStage::Compute, Name{ "numthreads" }); @@ -147,7 +147,7 @@ namespace AZ { // the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader inputs // (see ValidateSetImageView() in ShaderResourceGroupData.cpp) - diffuseProbeGrid->UpdateClassificationSrg(m_srgAsset); + diffuseProbeGrid->UpdateClassificationSrg(m_shader, m_srgLayout); diffuseProbeGrid->GetClassificationSrg()->Compile(); } } diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridClassificationPass.h b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridClassificationPass.h index eef59c3753..ed49883917 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridClassificationPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridClassificationPass.h @@ -55,7 +55,7 @@ namespace AZ // shader Data::Instance m_shader; const RHI::PipelineState* m_pipelineState = nullptr; - Data::Asset m_srgAsset; + RHI::Ptr m_srgLayout; RHI::DispatchDirect m_dispatchArgs; }; } // namespace Render diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridFeatureProcessor.cpp index ba24bcc001..eca89f15db 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridFeatureProcessor.cpp @@ -90,9 +90,9 @@ namespace AZ m_probeGridRenderData.m_pipelineState->Finalize(); // load object shader resource group - m_probeGridRenderData.m_srgAsset = shader->FindShaderResourceGroupAsset(Name{ "ObjectSrg" }); - AZ_Error("DiffuseProbeGridFeatureProcessor", m_probeGridRenderData.m_srgAsset.GetId().IsValid(), "Failed to find ObjectSrg asset"); - AZ_Error("DiffuseProbeGridFeatureProcessor", m_probeGridRenderData.m_srgAsset.IsReady(), "ObjectSrg asset is not loaded"); + m_probeGridRenderData.m_shader = shader; + m_probeGridRenderData.m_srgLayout = shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Object); + AZ_Error("DiffuseProbeGridFeatureProcessor", m_probeGridRenderData.m_srgLayout != nullptr, "Failed to find ObjectSrg layout"); } EnableSceneNotification(); diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingPass.cpp index c77f66645e..3adef43a11 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingPass.cpp @@ -86,9 +86,8 @@ namespace AZ m_globalPipelineState = m_rayTracingShader->AcquirePipelineState(rayGenerationShaderDescriptor); AZ_Assert(m_globalPipelineState, "Failed to acquire ray tracing global pipeline state"); - m_globalSrgAsset = m_rayTracingShader->FindShaderResourceGroupAsset(Name{ "RayTracingGlobalSrg" }); - AZ_Error("ReflectionProbeFeatureProcessor", m_globalSrgAsset.GetId().IsValid(), "Failed to find RayTracingGlobalSrg asset for shader [%s]", shaderFilePath.c_str()); - AZ_Error("ReflectionProbeFeatureProcessor", m_globalSrgAsset.IsReady(), "RayTracingGlobalSrg asset is not loaded for shader [%s]", shaderFilePath.c_str()); + m_globalSrgLayout = m_rayTracingShader->FindShaderResourceGroupLayout(Name{ "RayTracingGlobalSrg" }); + AZ_Error( "ReflectionProbeFeatureProcessor", m_globalSrgLayout != nullptr, "Failed to find RayTracingGlobalSrg layout for shader [%s]", shaderFilePath.c_str()); // build the ray tracing pipeline state descriptor RHI::RayTracingPipelineStateDescriptor descriptor; @@ -264,7 +263,7 @@ namespace AZ { // the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader // inputs (see line ValidateSetImageView() in ShaderResourceGroupData.cpp) - diffuseProbeGrid->UpdateRayTraceSrg(m_globalSrgAsset); + diffuseProbeGrid->UpdateRayTraceSrg(m_rayTracingShader, m_globalSrgLayout); diffuseProbeGrid->GetRayTraceSrg()->Compile(); } } diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingPass.h b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingPass.h index 910537a2f1..94b2766a22 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRayTracingPass.h @@ -63,8 +63,9 @@ namespace AZ // ray tracing shader table RHI::Ptr m_rayTracingShaderTable; - // ray tracing global shader resource group asset and pipeline state - Data::Asset m_globalSrgAsset; + // ray tracing global shader resource group layout and pipeline state + RHI::Ptr m_globalSrgLayout; + RHI::ConstPtr m_globalPipelineState; bool m_initialized = false; diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRelocationPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRelocationPass.cpp index 2f0ed373b9..086b0e91fd 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRelocationPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRelocationPass.cpp @@ -59,7 +59,7 @@ namespace AZ m_pipelineState = m_shader->AcquirePipelineState(pipelineStateDescriptor); // load Pass Srg asset - m_srgAsset = m_shader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::Pass); + m_srgLayout = m_shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Pass); // retrieve the number of threads per thread group from the shader const auto numThreads = m_shader->GetAsset()->GetAttribute(RHI::ShaderStage::Compute, Name{ "numthreads" }); @@ -171,7 +171,7 @@ namespace AZ { // the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader inputs // (see ValidateSetImageView() in ShaderResourceGroupData.cpp) - diffuseProbeGrid->UpdateRelocationSrg(m_srgAsset); + diffuseProbeGrid->UpdateRelocationSrg(m_shader, m_srgLayout); diffuseProbeGrid->GetRelocationSrg()->Compile(); diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRelocationPass.h b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRelocationPass.h index 1900f8b786..48c4ef0bf1 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRelocationPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRelocationPass.h @@ -55,7 +55,7 @@ namespace AZ // shader Data::Instance m_shader; const RHI::PipelineState* m_pipelineState = nullptr; - Data::Asset m_srgAsset; + RHI::Ptr m_srgLayout; RHI::DispatchDirect m_dispatchArgs; // revision number of the ray tracing data when the shader table was built diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRenderPass.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRenderPass.cpp index f025079994..4ad5c8657e 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRenderPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRenderPass.cpp @@ -39,10 +39,10 @@ namespace AZ return; } - m_srgAsset = m_shader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::Pass); - AZ_Assert(m_srgAsset->IsReady(), "[DiffuseProbeGridRenderPass '%s']: Failed to find SRG asset", GetPathName().GetCStr()); + m_srgLayout = m_shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Pass); + AZ_Assert(m_srgLayout != nullptr, "[DiffuseProbeGridRenderPass '%s']: Failed to find SRG layout", GetPathName().GetCStr()); - m_shaderResourceGroup = RPI::ShaderResourceGroup::Create(m_srgAsset); + m_shaderResourceGroup = RPI::ShaderResourceGroup::Create(m_shader->GetAsset(), m_shader->GetSupervariantIndex(), m_srgLayout->GetName()); AZ_Assert(m_shaderResourceGroup, "[DiffuseProbeGridRenderPass '%s']: Failed to create SRG", GetPathName().GetCStr()); } diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRenderPass.h b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRenderPass.h index 0ac8b695a5..eb6db1f6cb 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRenderPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridRenderPass.h @@ -45,7 +45,7 @@ namespace AZ void CompileResources(const RHI::FrameGraphCompileContext& context) override; Data::Instance m_shader; - Data::Asset m_srgAsset; + RHI::Ptr m_srgLayout; }; } // namespace Render } // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp index 750402ada8..51daaac9cd 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ImGui/ImGuiPass.cpp @@ -466,19 +466,14 @@ namespace AZ // Get shader resource group { - auto perObjectSrgAsset = m_shader->FindShaderResourceGroupAsset(Name{"ObjectSrg"}); - if (!perObjectSrgAsset.GetId().IsValid()) + auto perObjectSrgLayout = m_shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Object); + if (!perObjectSrgLayout) { - AZ_Error(PassName, false, "Failed to get shader resource group asset"); - return; - } - else if (!perObjectSrgAsset.IsReady()) - { - AZ_Error(PassName, false, "Shader resource group asset is not loaded"); + AZ_Error(PassName, false, "Failed to get shader resource group layout"); return; } - m_resourceGroup = RPI::ShaderResourceGroup::Create(perObjectSrgAsset); + m_resourceGroup = RPI::ShaderResourceGroup::Create(m_shader->GetAsset(), m_shader->GetSupervariantIndex(), perObjectSrgLayout->GetName()); if (!m_resourceGroup) { AZ_Error(PassName, false, "Failed to create shader resource group"); diff --git a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp index 3001831817..b087269089 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp @@ -639,15 +639,15 @@ namespace AZ continue; } - auto& objectSrgAsset = material->GetAsset()->GetObjectSrgAsset(); + auto& objectSrgLayout = material->GetAsset()->GetObjectSrgLayout(); - if (!objectSrgAsset) + if (!objectSrgLayout) { AZ_Warning("MeshFeatureProcessor", false, "No per-object ShaderResourceGroup found."); continue; } - if (m_shaderResourceGroup && m_shaderResourceGroup->GetAsset() != objectSrgAsset) + if (m_shaderResourceGroup && m_shaderResourceGroup->GetLayout()->GetHash() != objectSrgLayout->GetHash()) { AZ_Warning("MeshFeatureProcessor", false, "All materials on a model must use the same per-object ShaderResourceGroup. Skipping."); continue; @@ -657,7 +657,8 @@ namespace AZ // in shaderResourceGroupInOut. All of the Model's draw packets will use this same instance. if (!m_shaderResourceGroup) { - m_shaderResourceGroup = RPI::ShaderResourceGroup::Create(objectSrgAsset); + auto& shaderAsset = material->GetAsset()->GetMaterialTypeAsset()->GetShaderAssetForObjectSrg(); + m_shaderResourceGroup = RPI::ShaderResourceGroup::Create(shaderAsset, RPI::DefaultSupervariantIndex, objectSrgLayout->GetName()); if (!m_shaderResourceGroup) { AZ_Warning("MeshFeatureProcessor", false, "Failed to create a new shader resource group, skipping."); diff --git a/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetDispatchItem.cpp b/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetDispatchItem.cpp index 7b3aedd64e..4373f66bd0 100644 --- a/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetDispatchItem.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/MorphTargets/MorphTargetDispatchItem.cpp @@ -103,19 +103,14 @@ namespace AZ bool MorphTargetDispatchItem::InitPerInstanceSRG() { - auto perInstanceSrgAsset = m_morphTargetShader->FindShaderResourceGroupAsset(AZ::Name{ "MorphTargetInstanceSrg" }); - if (!perInstanceSrgAsset.GetId().IsValid()) + auto perInstanceSrgLayout = m_morphTargetShader->FindShaderResourceGroupLayout(AZ::Name{ "MorphTargetInstanceSrg" }); + if (!perInstanceSrgLayout) { - AZ_Error("MorphTargetDispatchItem", false, "Failed to get shader resource group asset"); - return false; - } - else if (!perInstanceSrgAsset.IsReady()) - { - AZ_Error("MorphTargetDispatchItem", false, "Shader resource group asset is not loaded"); + AZ_Error("MorphTargetDispatchItem", false, "Failed to get shader resource group layout"); return false; } - m_instanceSrg = RPI::ShaderResourceGroup::Create(perInstanceSrgAsset); + m_instanceSrg = RPI::ShaderResourceGroup::Create(m_morphTargetShader->GetAsset(), m_morphTargetShader->GetSupervariantIndex(), perInstanceSrgLayout->GetName()); if (!m_instanceSrg) { AZ_Error("MorphTargetDispatchItem", false, "Failed to create shader resource group for morph target"); diff --git a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.cpp index 2db396e36d..3023e06b50 100644 --- a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.cpp @@ -65,19 +65,22 @@ namespace AZ // create the TLAS object m_tlas = AZ::RHI::RayTracingTlas::CreateRHIRayTracingTlas(); - // load the RayTracingSceneSrg asset - Data::Asset rayTracingSceneSrgAsset = - RPI::AssetUtils::LoadAssetByProductPath("shaderlib/atom/features/raytracing/raytracingscenesrg_raytracingscenesrg.azsrg", RPI::AssetUtils::TraceLevel::Error); - AZ_Assert(rayTracingSceneSrgAsset.IsReady(), "Failed to load RayTracingSceneSrg asset"); + // load the RayTracingSrg asset asset + m_rayTracingSrgAsset = RPI::AssetUtils::LoadCriticalAsset("shaderlib/atom/features/rayTracing/raytracingsrgs.azshader"); + if (!m_rayTracingSrgAsset.IsReady()) + { + AZ_Assert(false, "Failed to load RayTracingSrg asset"); + return; + } - m_rayTracingSceneSrg = RPI::ShaderResourceGroup::Create(rayTracingSceneSrgAsset); + // create the RayTracingSceneSrg + m_rayTracingSceneSrg = RPI::ShaderResourceGroup::Create(m_rayTracingSrgAsset, RPI::DefaultSupervariantIndex, Name("RayTracingSceneSrg")); + AZ_Assert(m_rayTracingSceneSrg, "Failed to create RayTracingSceneSrg"); - // load the RayTracingMaterialSrg asset - Data::Asset rayTracingMaterialSrgAsset = - RPI::AssetUtils::LoadAssetByProductPath("shaderlib/atom/features/raytracing/raytracingmaterialsrg_raytracingmaterialsrg.azsrg", RPI::AssetUtils::TraceLevel::Error); - AZ_Assert(rayTracingMaterialSrgAsset.IsReady(), "Failed to load RayTracingMaterialSrg asset"); - - m_rayTracingMaterialSrg = RPI::ShaderResourceGroup::Create(rayTracingMaterialSrgAsset); + // create the RayTracingMaterialSrg + const AZ::Name rayTracingMaterialSrgName("RayTracingMaterialSrg"); + m_rayTracingMaterialSrg = RPI::ShaderResourceGroup::Create(m_rayTracingSrgAsset, RPI::DefaultSupervariantIndex, Name("RayTracingMaterialSrg")); + AZ_Assert(m_rayTracingMaterialSrg, "Failed to create RayTracingMaterialSrg"); } void RayTracingFeatureProcessor::SetMesh(const ObjectId objectId, const SubMeshVector& subMeshes) diff --git a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.h b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.h index 90a9383ae6..66f068e147 100644 --- a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.h +++ b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingFeatureProcessor.h @@ -205,10 +205,9 @@ namespace AZ // ray tracing acceleration structure (TLAS) RHI::Ptr m_tlas; - // ray tracing scene Srg + // RayTracingScene and RayTracingMaterial asset and Srgs + Data::Asset m_rayTracingSrgAsset; Data::Instance m_rayTracingSceneSrg; - - // ray tracing material Srg Data::Instance m_rayTracingMaterialSrg; // current revision number of ray tracing data diff --git a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.cpp b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.cpp index 988870cc0e..158cf795ad 100644 --- a/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/RayTracing/RayTracingPass.cpp @@ -112,20 +112,19 @@ namespace AZ AZ_Assert(m_globalPipelineState, "Failed to acquire ray tracing global pipeline state"); // create global srg - Data::Asset globalSrgAsset = m_rayGenerationShader->FindShaderResourceGroupAsset(RayTracingGlobalSrgBindingSlot); - AZ_Error("PassSystem", globalSrgAsset.GetId().IsValid(), "RayTracingPass [%s] Failed to find RayTracingGlobalSrg asset", GetPathName().GetCStr()); - AZ_Error("PassSystem", globalSrgAsset.IsReady(), "RayTracingPass [%s] asset is not loaded for shader", GetPathName().GetCStr()); + const auto& globalSrgLayout = m_rayGenerationShader->FindShaderResourceGroupLayout(RayTracingGlobalSrgBindingSlot); + AZ_Error("PassSystem", globalSrgLayout != nullptr, "RayTracingPass [%s] Failed to find RayTracingGlobalSrg layout", GetPathName().GetCStr()); - m_shaderResourceGroup = RPI::ShaderResourceGroup::Create(globalSrgAsset); + m_shaderResourceGroup = RPI::ShaderResourceGroup::Create( m_rayGenerationShader->GetAsset(), m_rayGenerationShader->GetSupervariantIndex(), globalSrgLayout->GetName()); AZ_Assert(m_shaderResourceGroup, "RayTracingPass [%s]: Failed to create RayTracingGlobalSrg", GetPathName().GetCStr()); RPI::PassUtils::BindDataMappingsToSrg(m_passDescriptor, m_shaderResourceGroup.get()); // check to see if the shader requires the View and RayTracingMaterial Srgs - Data::Asset viewSrgAsset = m_rayGenerationShader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::View); - m_requiresViewSrg = viewSrgAsset.GetId().IsValid(); + const auto& viewSrgLayout = m_rayGenerationShader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::View); + m_requiresViewSrg = (viewSrgLayout != nullptr); - Data::Asset rayTracingMaterialSrgAsset = m_rayGenerationShader->FindShaderResourceGroupAsset(RayTracingMaterialSrgBindingSlot); - m_requiresRayTracingMaterialSrg = rayTracingMaterialSrgAsset.GetId().IsValid(); + const auto& rayTracingMaterialSrgLayout = m_rayGenerationShader->FindShaderResourceGroupLayout(RayTracingMaterialSrgBindingSlot); + m_requiresRayTracingMaterialSrg = (rayTracingMaterialSrgLayout != nullptr); // build the ray tracing pipeline state descriptor RHI::RayTracingPipelineStateDescriptor descriptor; diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbe.cpp b/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbe.cpp index 3e9e316a5a..ba7fd38428 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbe.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbe.cpp @@ -82,16 +82,28 @@ namespace AZ Data::AssetBus::MultiHandler::BusConnect(m_visualizationMaterialAsset.GetId()); // reflection render Srgs - m_stencilSrg = RPI::ShaderResourceGroup::Create(m_reflectionRenderData->m_stencilSrgAsset); + m_stencilSrg = RPI::ShaderResourceGroup::Create( + m_reflectionRenderData->m_stencilShader->GetAsset(), + m_reflectionRenderData->m_stencilShader->GetSupervariantIndex(), + m_reflectionRenderData->m_stencilSrgLayout->GetName()); AZ_Error("ReflectionProbeFeatureProcessor", m_stencilSrg.get(), "Failed to create stencil shader resource group"); - m_blendWeightSrg = RPI::ShaderResourceGroup::Create(m_reflectionRenderData->m_blendWeightSrgAsset); + m_blendWeightSrg = RPI::ShaderResourceGroup::Create( + m_reflectionRenderData->m_blendWeightShader->GetAsset(), + m_reflectionRenderData->m_blendWeightShader->GetSupervariantIndex(), + m_reflectionRenderData->m_blendWeightSrgLayout->GetName()); AZ_Error("ReflectionProbeFeatureProcessor", m_blendWeightSrg.get(), "Failed to create blend weight shader resource group"); - m_renderOuterSrg = RPI::ShaderResourceGroup::Create(m_reflectionRenderData->m_renderOuterSrgAsset); + m_renderOuterSrg = RPI::ShaderResourceGroup::Create( + m_reflectionRenderData->m_renderOuterShader->GetAsset(), + m_reflectionRenderData->m_renderOuterShader->GetSupervariantIndex(), + m_reflectionRenderData->m_renderOuterSrgLayout->GetName()); AZ_Error("ReflectionProbeFeatureProcessor", m_renderOuterSrg.get(), "Failed to create render outer reflection shader resource group"); - m_renderInnerSrg = RPI::ShaderResourceGroup::Create(m_reflectionRenderData->m_renderInnerSrgAsset); + m_renderInnerSrg = RPI::ShaderResourceGroup::Create( + m_reflectionRenderData->m_renderInnerShader->GetAsset(), + m_reflectionRenderData->m_renderInnerShader->GetSupervariantIndex(), + m_reflectionRenderData->m_renderInnerSrgLayout->GetName()); AZ_Error("ReflectionProbeFeatureProcessor", m_renderInnerSrg.get(), "Failed to create render inner reflection shader resource group"); // setup culling diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbe.h b/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbe.h index f062e0a42f..35ac7d0838 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbe.h +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbe.h @@ -21,7 +21,6 @@ #include #include #include -#include #include namespace AZ @@ -43,10 +42,17 @@ namespace AZ RPI::Ptr m_renderOuterPipelineState; RPI::Ptr m_renderInnerPipelineState; - Data::Asset m_stencilSrgAsset; - Data::Asset m_blendWeightSrgAsset; - Data::Asset m_renderOuterSrgAsset; - Data::Asset m_renderInnerSrgAsset; + Data::Instance m_stencilShader; + RHI::Ptr m_stencilSrgLayout; + + Data::Instance m_blendWeightShader; + RHI::Ptr m_blendWeightSrgLayout; + + Data::Instance m_renderOuterShader; + RHI::Ptr m_renderOuterSrgLayout; + + Data::Instance m_renderInnerShader; + RHI::Ptr m_renderInnerSrgLayout; RHI::DrawListTag m_stencilDrawListTag; RHI::DrawListTag m_blendWeightDrawListTag; diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbeFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbeFeatureProcessor.cpp index 740069fc6b..7e2b61e261 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbeFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionProbe/ReflectionProbeFeatureProcessor.cpp @@ -59,29 +59,36 @@ namespace AZ // load shaders for stencil, blend weight, and render passes LoadShader("shaders/reflections/reflectionprobestencil.azshader", m_reflectionRenderData.m_stencilPipelineState, - m_reflectionRenderData.m_stencilSrgAsset, + m_reflectionRenderData.m_stencilShader, + m_reflectionRenderData.m_stencilSrgLayout, m_reflectionRenderData.m_stencilDrawListTag); LoadShader("shaders/reflections/reflectionprobeblendweight.azshader", m_reflectionRenderData.m_blendWeightPipelineState, - m_reflectionRenderData.m_blendWeightSrgAsset, + m_reflectionRenderData.m_blendWeightShader, + m_reflectionRenderData.m_blendWeightSrgLayout, m_reflectionRenderData.m_blendWeightDrawListTag); LoadShader("shaders/reflections/reflectionproberenderouter.azshader", m_reflectionRenderData.m_renderOuterPipelineState, - m_reflectionRenderData.m_renderOuterSrgAsset, + m_reflectionRenderData.m_renderOuterShader, + m_reflectionRenderData.m_renderOuterSrgLayout, m_reflectionRenderData.m_renderOuterDrawListTag); LoadShader("shaders/reflections/reflectionproberenderinner.azshader", m_reflectionRenderData.m_renderInnerPipelineState, - m_reflectionRenderData.m_renderInnerSrgAsset, + m_reflectionRenderData.m_renderInnerShader, + m_reflectionRenderData.m_renderInnerSrgLayout, m_reflectionRenderData.m_renderInnerDrawListTag); // create ShaderResourceGroups here so we can get the layout and cache the indices // Note: the SRGs are not needed beyond this method since each probe creates its own SRGs, we are just interested in the indices // cache probe stencil shader indices - Data::Instance stencilSrg = RPI::ShaderResourceGroup::Create(m_reflectionRenderData.m_stencilSrgAsset); + Data::Instance stencilSrg = RPI::ShaderResourceGroup::Create( + m_reflectionRenderData.m_stencilShader->GetAsset(), + m_reflectionRenderData.m_stencilShader->GetSupervariantIndex(), + m_reflectionRenderData.m_stencilSrgLayout->GetName()); AZ_Error("ReflectionProbeFeatureProcessor", stencilSrg.get(), "Failed to create stencil back face shader resource group"); const RHI::ShaderResourceGroupLayout* stencilSrgLayout = stencilSrg->GetLayout(); @@ -91,7 +98,10 @@ namespace AZ // cache probe render shader indices // Note: the outer and inner render shaders use the same Srg - Data::Instance renderReflectionSrg = RPI::ShaderResourceGroup::Create(m_reflectionRenderData.m_renderOuterSrgAsset); + Data::Instance renderReflectionSrg = RPI::ShaderResourceGroup::Create( + m_reflectionRenderData.m_renderOuterShader->GetAsset(), + m_reflectionRenderData.m_renderOuterShader->GetSupervariantIndex(), + m_reflectionRenderData.m_renderOuterSrgLayout->GetName()); AZ_Error("ReflectionProbeFeatureProcessor", renderReflectionSrg.get(), "Failed to create render reflection shader resource group"); const RHI::ShaderResourceGroupLayout* renderReflectionSrgLayout = renderReflectionSrg->GetLayout(); @@ -472,11 +482,12 @@ namespace AZ void ReflectionProbeFeatureProcessor::LoadShader( const char* filePath, RPI::Ptr& pipelineState, - Data::Asset& srgAsset, + Data::Instance& shader, + RHI::Ptr& srgLayout, RHI::DrawListTag& drawListTag) { // load shader - Data::Instance shader = RPI::LoadShader(filePath); + shader = RPI::LoadShader(filePath); AZ_Error("ReflectionProbeFeatureProcessor", shader, "Failed to find asset for shader [%s]", filePath); // store drawlist tag @@ -490,9 +501,8 @@ namespace AZ pipelineState->Finalize(); // load object shader resource group - srgAsset = shader->FindShaderResourceGroupAsset(Name{ "ObjectSrg" }); - AZ_Error("ReflectionProbeFeatureProcessor", srgAsset.GetId().IsValid(), "Failed to find ObjectSrg asset for shader [%s]", filePath); - AZ_Error("ReflectionProbeFeatureProcessor", srgAsset.IsReady(), "ObjectSrg asset is not loaded for shader [%s]", filePath); + srgLayout = shader->FindShaderResourceGroupLayout(RPI::SrgBindingSlot::Object); + AZ_Error("ReflectionProbeFeatureProcessor", srgLayout != nullptr, "Failed to find ObjectSrg layout from shader [%s]", filePath); } void ReflectionProbeFeatureProcessor::OnRenderPipelinePassesChanged(RPI::RenderPipeline* renderPipeline) diff --git a/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp index da174ab0d5..a2d1491cad 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Shadows/ProjectedShadowFeatureProcessor.cpp @@ -38,7 +38,7 @@ namespace AZ::Render void ProjectedShadowFeatureProcessor::Activate() { - const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout(); + const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgLayout().get(); GpuBufferHandler::Descriptor desc; diff --git a/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshDispatchItem.cpp b/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshDispatchItem.cpp index 647a87a788..4b66c1d910 100644 --- a/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshDispatchItem.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshDispatchItem.cpp @@ -81,19 +81,14 @@ namespace AZ RHI::PipelineStateDescriptorForDispatch pipelineStateDescriptor; shaderVariant.ConfigurePipelineState(pipelineStateDescriptor); - auto perInstanceSrgAsset = m_skinningShader->FindShaderResourceGroupAsset(AZ::Name{ "InstanceSrg" }); - if (!perInstanceSrgAsset.GetId().IsValid()) + auto perInstanceSrgLayout = m_skinningShader->FindShaderResourceGroupLayout(AZ::Name{ "InstanceSrg" }); + if (!perInstanceSrgLayout) { - AZ_Error("SkinnedMeshDispatchItem", false, "Failed to get shader resource group asset"); - return false; - } - else if (!perInstanceSrgAsset.IsReady()) - { - AZ_Error("SkinnedMeshDispatchItem", false, "Shader resource group asset is not loaded"); + AZ_Error("SkinnedMeshDispatchItem", false, "Failed to get shader resource group layout"); return false; } - m_instanceSrg = RPI::ShaderResourceGroup::Create(perInstanceSrgAsset); + m_instanceSrg = RPI::ShaderResourceGroup::Create(m_skinningShader->GetAsset(), m_skinningShader->GetSupervariantIndex(), perInstanceSrgLayout->GetName()); if (!m_instanceSrg) { AZ_Error("SkinnedMeshDispatchItem", false, "Failed to create shader resource group for skinned mesh"); diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/ShaderResourceGroupLayout.h b/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/ShaderResourceGroupLayout.h index fd14cadde8..d7f79c209e 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/ShaderResourceGroupLayout.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/ShaderResourceGroupLayout.h @@ -78,6 +78,14 @@ namespace AZ void SetName(const Name& name) { m_name = name; } const Name& GetName() const { return m_name; } + //! This string will be used at runtime for both ShaderResourceGroup and ShaderResourceGroupPool to + //! create a unique InstanceId to avoid redundant copies in memory. + const AZStd::string& GetUniqueId() const { return m_uniqueId; } + + //! The Set function as described above. + //! It is usually the Source azsl/azsli/srgi file where this SRG comes from. + void SetUniqueId(const AZStd::string& uniqueId) { m_uniqueId = uniqueId; } + /** * Designates this SRG as ShaderVariantKey fallback by providing the generated * shader constant name and its length in bits. @@ -277,6 +285,9 @@ namespace AZ //! Name of the ShaderResourceGroup as specified in the original *.azsl/*.azsli file. Name m_name; + //! Usually the AZSL file of origin/definition. + AZStd::string m_uniqueId; + AZStd::vector m_staticSamplers; AZStd::vector m_inputsForBuffers; @@ -319,5 +330,8 @@ namespace AZ /// The computed hash value. HashValue64 m_hash = HashValue64{ 0 }; }; + + // Suitable for functions that return a null const RHI::Ptr&. + static const RHI::Ptr NullSrgLayout; } } diff --git a/Gems/Atom/RHI/Code/Source/RHI.Reflect/ShaderResourceGroupLayout.cpp b/Gems/Atom/RHI/Code/Source/RHI.Reflect/ShaderResourceGroupLayout.cpp index 2c552d7c56..cbab90e166 100644 --- a/Gems/Atom/RHI/Code/Source/RHI.Reflect/ShaderResourceGroupLayout.cpp +++ b/Gems/Atom/RHI/Code/Source/RHI.Reflect/ShaderResourceGroupLayout.cpp @@ -22,8 +22,9 @@ namespace AZ if (SerializeContext* serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Version(7) + ->Version(8) // ATOM-15472 ->Field("m_name", &ShaderResourceGroupLayout::m_name) + ->Field("m_azslFileOfOrigin", &ShaderResourceGroupLayout::m_uniqueId) ->Field("m_staticSamplers", &ShaderResourceGroupLayout::m_staticSamplers) ->Field("m_inputsForBuffers", &ShaderResourceGroupLayout::m_inputsForBuffers) ->Field("m_inputsForImages", &ShaderResourceGroupLayout::m_inputsForImages) @@ -249,9 +250,9 @@ namespace AZ bool ShaderResourceGroupLayout::Finalize() { - if (!ValidateFinalizeState(ValidateFinalizeStateExpect::NotFinalized)) + if (IsFinalized()) { - return false; + return true; } if (m_bindingSlot.IsNull()) diff --git a/Gems/Atom/RPI/Assets/Shader/ImagePreview.azsl b/Gems/Atom/RPI/Assets/Shader/ImagePreview.azsl index d300216fd6..e67f2a7b04 100644 --- a/Gems/Atom/RPI/Assets/Shader/ImagePreview.azsl +++ b/Gems/Atom/RPI/Assets/Shader/ImagePreview.azsl @@ -12,7 +12,7 @@ #include -ShaderResourceGroup PassSrg : SRG_PerDraw +ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback { Texture2D m_image; Texture2DMS m_msImage; diff --git a/Gems/Atom/RPI/Assets/Shader/SceneAndViewSrgs.azsl b/Gems/Atom/RPI/Assets/Shader/SceneAndViewSrgs.azsl new file mode 100644 index 0000000000..d3084eca94 --- /dev/null +++ b/Gems/Atom/RPI/Assets/Shader/SceneAndViewSrgs.azsl @@ -0,0 +1,19 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +// This shader is not used for rendering. +// The only purpose of this shader is to have a shader asset that can be used +// at runtime to find the SceneSrg & ViewSrg layouts. + +#include +#include +#include diff --git a/Gems/Atom/RPI/Assets/Shader/SceneAndViewSrgs.shader b/Gems/Atom/RPI/Assets/Shader/SceneAndViewSrgs.shader new file mode 100644 index 0000000000..31a3ae8476 --- /dev/null +++ b/Gems/Atom/RPI/Assets/Shader/SceneAndViewSrgs.shader @@ -0,0 +1,39 @@ +{ + "Source" : "SceneAndViewSrgs.azsl", + + "DepthStencilState" : + { + "Depth" : + { + "Enable" : false + }, + "Stencil" : + { + "Enable" : false + } + }, + + "ProgramSettings": + { + "EntryPoints": + [ + { + "name": "MainVS", + "type": "Vertex" + }, + { + "name": "MainPS", + "type": "Fragment" + } + ] + }, + + "Supervariants": + [ + { + "Name": "", + "PlusArguments": "", + "MinusArguments": "--strip-unused-srgs" + } + ] +} diff --git a/Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/DummyEntryFunctions.azsli b/Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/DummyEntryFunctions.azsli new file mode 100644 index 0000000000..2a9d692de8 --- /dev/null +++ b/Gems/Atom/RPI/Assets/ShaderLib/Atom/RPI/DummyEntryFunctions.azsli @@ -0,0 +1,55 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +// This file is included by .AZSL files that are used to define ShaderResourceGroups. +// The idea is that .shader files require entry function definitions to compile. +// This file provides dummy, yet valid, entry points for all kinds of shaders. + +/////////////////////////////////////////////////////////////////////////////// +// Dummy Structures +/////////////////////////////////////////////////////////////////////////////// +struct VSInput +{ + float3 m_position : POSITION; +}; + +struct VSOutput +{ + float4 m_position : SV_Position; +}; + +struct PSOutput +{ + float4 m_color : SV_Target0; +}; + +/////////////////////////////////////////////////////////////////////////////// +// Entry Functions +/////////////////////////////////////////////////////////////////////////////// +VSOutput MainVS(VSInput IN) +{ + VSOutput OUT; + OUT.m_position = float4(IN.m_position, 1.0); + return OUT; +} + +PSOutput MainPS(VSOutput IN) +{ + PSOutput OUT; + OUT.m_color = IN.m_position; + return OUT; +} + +[numthreads(8,8,1)] +void MainCS(uint3 dispatch_id: SV_DispatchThreadID) +{ +} diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Common/AssetUtils.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Common/AssetUtils.h index 554d20dede..86c381e2ec 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Common/AssetUtils.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Common/AssetUtils.h @@ -15,7 +15,6 @@ #include #include -#include #include namespace AZ @@ -42,8 +41,6 @@ namespace AZ template Outcome> LoadAsset(const AZ::Data::AssetId& assetId); - uint32_t CalcSrgProductSubId(const Name& srgName); - //! Attempts to resolve the full path to a product asset given its ID AZStd::string GetProductPathByAssetId(const AZ::Data::AssetId& assetId); diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderSourceData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderSourceData.h index 428898a17e..64b60ada17 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderSourceData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderSourceData.h @@ -39,7 +39,6 @@ namespace AZ AZ_CLASS_ALLOCATOR(ShaderSourceData, AZ::SystemAllocator, 0); static constexpr char Extension[] = "shader"; - static constexpr char Extension2[] = "shader2"; static void Reflect(ReflectContext* context); diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator.h index fbe97c592a..8538db48a9 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator.h @@ -19,7 +19,7 @@ namespace AZ { namespace RPI { - //! The "builder" pattern class that creates a ShaderVariantAsset. + //! The "builder" pattern class that creates a ShaderVariantAsset2. class ShaderVariantAssetCreator final : public AssetCreator { @@ -32,7 +32,7 @@ namespace AZ //! It is still useful, because when creating the Root Variant for the ShaderAsset this assetId should //! match the value that will be assigned by the asset processor because the Root Variant is serialized //! as a Data::Asset inside the ShaderAsset. - void Begin(const AZ::Data::AssetId& assetId, const ShaderVariantId& shaderVariantId, RPI::ShaderVariantStableId stableId, const ShaderOptionGroupLayout* shaderOptionGroupLayout); + void Begin(const AZ::Data::AssetId& assetId, const ShaderVariantId& shaderVariantId, RPI::ShaderVariantStableId stableId, bool isFullyBaked); //! Finalizes and assigns ownership of the asset to result, if successful. //! Otherwise false is returned and result is left untouched. @@ -41,24 +41,13 @@ namespace AZ ///////////////////////////////////////////////////////////////////// // Methods for all shader variant types - //! Set the timestamp value of ShaderAsset that matches this ShaderVariantAsset. + //! Set the timestamp value when the ProcessJob() started. //! This is needed to synchronize between the ShaderAsset and ShaderVariantAsset when hot-reloading shaders. - void SetShaderAssetBuildTimestamp(AZStd::sys_time_t shaderAssetBuildTimestamp); + //! The idea is that this timestamp must be greater or equal than the ShaderAsset. + void SetBuildTimestamp(AZStd::sys_time_t buildTimestamp); //! Assigns a shaderStageFunction, which contains the byte code, to the slot dictated by the shader stage. void SetShaderFunction(RHI::ShaderStage shaderStage, RHI::Ptr shaderStageFunction); - - ///////////////////////////////////////////////////////////////////// - // Methods for PipelineStateType::Draw variants. - - //! Assigns the contract for inputs required by the shader. - void SetInputContract(const ShaderInputContract& contract); - - //! Assigns the contract for outputs required by the shader. - void SetOutputContract(const ShaderOutputContract& contract); - - //! Assigns the render states for the draw pipeline. Ignored for non-draw pipelines. - void SetRenderStates(const RHI::RenderStates& renderStates); }; } // namespace RPI diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator2.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator2.h deleted file mode 100644 index 07cec9a01f..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator2.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include -#include -#include - -namespace AZ -{ - namespace RPI - { - //! The "builder" pattern class that creates a ShaderVariantAsset2. - class ShaderVariantAssetCreator2 final - : public AssetCreator - { - public: - //! Begins construction of the shader variant asset. - //! @param assetId The "initial" assetId that the resulting ShaderVariantAsset will get. - //! "initial" was quoted because in the end the asset processor will assign another assetId - //! because on the UUID of the source asset (a *.shadervariantlist file) and the product subid - //! that gets assign when returning the Job Response. - //! It is still useful, because when creating the Root Variant for the ShaderAsset this assetId should - //! match the value that will be assigned by the asset processor because the Root Variant is serialized - //! as a Data::Asset inside the ShaderAsset. - void Begin(const AZ::Data::AssetId& assetId, const ShaderVariantId& shaderVariantId, RPI::ShaderVariantStableId stableId, bool isFullyBaked); - - //! Finalizes and assigns ownership of the asset to result, if successful. - //! Otherwise false is returned and result is left untouched. - bool End(Data::Asset& result); - - ///////////////////////////////////////////////////////////////////// - // Methods for all shader variant types - - //! Set the timestamp value when the ProcessJob() started. - //! This is needed to synchronize between the ShaderAsset and ShaderVariantAsset when hot-reloading shaders. - //! The idea is that this timestamp must be greater or equal than the ShaderAsset. - void SetBuildTimestamp(AZStd::sys_time_t buildTimestamp); - - //! Assigns a shaderStageFunction, which contains the byte code, to the slot dictated by the shader stage. - void SetShaderFunction(RHI::ShaderStage shaderStage, RHI::Ptr shaderStageFunction); - - }; - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantListSourceData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantListSourceData.h index c284627cc5..eaef4e093b 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantListSourceData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Shader/ShaderVariantListSourceData.h @@ -30,7 +30,6 @@ namespace AZ AZ_CLASS_ALLOCATOR(ShaderVariantListSourceData, AZ::SystemAllocator, 0); static constexpr const char* Extension = "shadervariantlist"; - static constexpr const char* Extension2 = "shadervariantlist2"; static void Reflect(ReflectContext* context); diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/DynamicDraw/DynamicDrawContext.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/DynamicDraw/DynamicDrawContext.h index 81b23068a1..d9afc54809 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/DynamicDraw/DynamicDrawContext.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/DynamicDraw/DynamicDrawContext.h @@ -219,7 +219,7 @@ namespace AZ Data::Instance m_srgPerContext; RHI::ShaderResourceGroup* m_srgGroups[1]; // array for draw item's srg groups uint32_t m_perVertexDataSize = 0; - Data::Asset m_drawSrgAsset; + RHI::Ptr m_drawSrgLayout; bool m_hasShaderVariantKeyFallbackEntry = false; // Draw variations allowed in this DynamicDrawContext diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RPISystem.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RPISystem.h index ff3c784a51..c5df3efc0e 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RPISystem.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RPISystem.h @@ -77,8 +77,9 @@ namespace AZ ScenePtr GetScene(const SceneId& sceneId) const override; ScenePtr GetDefaultScene() const override; RenderPipelinePtr GetRenderPipelineForWindow(AzFramework::NativeWindowHandle windowHandle) override; - Data::Asset GetSceneSrgAsset() const override; - Data::Asset GetViewSrgAsset() const override; + Data::Asset GetCommonShaderAssetForSrgs() const override; + RHI::Ptr GetSceneSrgLayout() const override; + RHI::Ptr GetViewSrgLayout() const override; void SimulationTick() override; void RenderTick() override; void SetSimulationJobPolicy(RHI::JobPolicy jobPolicy) override; @@ -130,8 +131,11 @@ namespace AZ RPISystemDescriptor m_descriptor; - Data::Asset m_sceneSrgAsset; - Data::Asset m_viewSrgAsset; + // Reference to the shader asset that is used + // to get the layout for SceneSrg (@m_sceneSrgLayout) and ViewSrg (@m_viewSrgLayout). + Data::Asset m_commonShaderAssetForSrgs; + RHI::Ptr m_sceneSrgLayout; + RHI::Ptr m_viewSrgLayout; bool m_systemAssetsInitialized = false; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RPISystemInterface.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RPISystemInterface.h index c2ceca73a9..c7934501e9 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RPISystemInterface.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RPISystemInterface.h @@ -13,6 +13,7 @@ #include #include +#include #include @@ -58,9 +59,12 @@ namespace AZ //! Get the render pipeline created for a window virtual RenderPipelinePtr GetRenderPipelineForWindow(AzFramework::NativeWindowHandle windowHandle) = 0; - virtual Data::Asset GetSceneSrgAsset() const = 0; + //! Returns the shader asset that is being used as the source for the SceneSrg and ViewSrg layouts. + virtual Data::Asset GetCommonShaderAssetForSrgs() const = 0; - virtual Data::Asset GetViewSrgAsset() const = 0; + virtual RHI::Ptr GetSceneSrgLayout() const = 0; + + virtual RHI::Ptr GetViewSrgLayout() const = 0; //! Tick for graphics simulation that runs on the CPU. //! This will drive FeatureProcessor simulation activity. It should be called once per game-tick. diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RenderPipeline.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RenderPipeline.h index 5595c1d2ac..26979e4388 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RenderPipeline.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/RenderPipeline.h @@ -19,7 +19,6 @@ #include #include -#include #include #include diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader.h index a81a3a99eb..938c8c06b1 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader.h @@ -60,15 +60,21 @@ namespace AZ { friend class ShaderSystem; public: - AZ_INSTANCE_DATA(Shader, "{3576FF16-C3C5-48A6-9388-C3628A231BC3}"); + AZ_INSTANCE_DATA(Shader, "{232D8BD6-3BD4-4842-ABD2-F380BD5B0863}"); AZ_CLASS_ALLOCATOR(Shader, SystemAllocator, 0); /// Returns the shader instance associated with the provided asset. + static Data::Instance FindOrCreate(const Data::Asset& shaderAsset, const Name& supervariantName); + + /// Same as above, but uses the default supervariant static Data::Instance FindOrCreate(const Data::Asset& shaderAsset); ~Shader(); AZ_DISABLE_COPY_MOVE(Shader); + /// returns the SupervariantIndex that corresponds to the given supervariant name given at instantiation. + SupervariantIndex GetSupervariantIndex() { return m_supervariantIndex; } + /// Constructs a shader option group suitable to generate a shader variant key for this shader. ShaderOptionGroup CreateShaderOptionGroup() const; @@ -104,21 +110,27 @@ namespace AZ /// Returns the pipeline state type generated by variants of this shader. RHI::PipelineStateType GetPipelineStateType() const; + + //! Returns the ShaderInputContract which describes which inputs the shader requires + const ShaderInputContract& GetInputContract() const; + + //! Returns the ShaderOutputContract which describes which outputs the shader requires + const ShaderOutputContract& GetOutputContract() const; /// Acquires a pipeline state directly from a descriptor. const RHI::PipelineState* AcquirePipelineState(const RHI::PipelineStateDescriptor& descriptor) const; /// Finds and returns the shader resource group asset with the requested name. Returns an empty handle if no matching group was found. - const Data::Asset& FindShaderResourceGroupAsset(const Name& shaderResourceGroupName) const; + const RHI::Ptr& FindShaderResourceGroupLayout(const Name& shaderResourceGroupName) const; /// Finds and returns the shader resource group asset associated with the requested binding slot. Returns an empty handle if no matching group was found. - const Data::Asset& FindShaderResourceGroupAsset(uint32_t bindingSlot) const; + const RHI::Ptr& FindShaderResourceGroupLayout(uint32_t bindingSlot) const; /// Finds and returns the shader resource group asset designated as a ShaderVariantKey fallback. - const Data::Asset& FindFallbackShaderResourceGroupAsset() const; + const RHI::Ptr& FindFallbackShaderResourceGroupLayout() const; /// Returns the set of shader resource groups referenced by all variants in the shader asset. - AZStd::array_view> GetShaderResourceGroupAssets() const; + AZStd::array_view> GetShaderResourceGroupLayouts() const; /// Returns a reference to the asset used to initialize this shader. const Data::Asset& GetAsset() const; @@ -128,9 +140,10 @@ namespace AZ RHI::DrawListTag GetDrawListTag() const; private: - Shader() = default; + explicit Shader(const SupervariantIndex& supervariantIndex) : m_supervariantIndex(supervariantIndex){}; + Shader() = delete; - static Data::Instance CreateInternal(ShaderAsset& shaderAsset); + static Data::Instance CreateInternal(ShaderAsset& shaderAsset, const AZStd::any* supervariantName); RHI::ResultCode Init(ShaderAsset& shaderAsset); @@ -150,16 +163,23 @@ namespace AZ void OnShaderVariantAssetReady(Data::Asset shaderVariantAsset, bool IsError) override; /////////////////////////////////////////////////////////////////// - /// Returns the path to the pipeline library cache file. + //! Returns the path to the pipeline library cache file. AZStd::string GetPipelineLibraryPath() const; - /// The pipeline state type required by this shader. + //! A strong reference to the shader asset. + Data::Asset m_asset; + + //! Selects current supervariant to be used. + //! This value is defined at instantiation. + SupervariantIndex m_supervariantIndex; + + //! The pipeline state type required by this shader. RHI::PipelineStateType m_pipelineStateType = RHI::PipelineStateType::Draw; - /// A cached pointer to the pipeline state cache owned by RHISystem. + //! A cached pointer to the pipeline state cache owned by RHISystem. RHI::PipelineStateCache* m_pipelineStateCache = nullptr; - /// A handle to the pipeline library in the pipeline state cache. + //! A handle to the pipeline library in the pipeline state cache. RHI::PipelineLibraryHandle m_pipelineLibraryHandle; //! Used for thread safety for FindVariantStableId() and GetVariant(). @@ -168,14 +188,11 @@ namespace AZ //! The root variant always exist. ShaderVariant m_rootVariant; - /// Local cache of ShaderVariants (except for the root variant), searchable by StableId. - /// Gets populated when GetVariant() is called. + //! Local cache of ShaderVariants (except for the root variant), searchable by StableId. + //! Gets populated when GetVariant() is called. AZStd::unordered_map m_shaderVariants; - - /// A strong reference to the shader asset. - Data::Asset m_asset; - // DrawListTag associated with this shader. + //! DrawListTag associated with this shader. RHI::DrawListTag m_drawListTag; }; } diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader2.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader2.h deleted file mode 100644 index eb82c2d31a..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/Shader2.h +++ /dev/null @@ -1,194 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include - -#include -#include -#include - -#include -#include - -#include - -#include - -namespace AZ -{ - namespace RHI - { - class PipelineStateCache; - } - - namespace RPI - { - /** - * Shader2 is effectively an 'uber-shader' containing a collection of 'variants'. Variants are - * designed to be 'variations' on the same core shader technique. To enforce this, every variant - * in the shader shares the same pipeline layout (i.e. set of shader resource groups). - * - * A shader owns a library of pipeline states. When a variant is resolved to a pipeline state, its - * lifetime is determined by the lifetime of the Shader2 (unless an explicit reference is taken). If - * an asset reload event occurs, the pipeline state cache is reset. - * - * To use Shader2: - * 1) Construct a ShaderOptionGroup instance using CreateShaderOptionGroup. - * 2) Configure the group by setting values on shader options. - * 3) Find the ShaderVariantStableId using the ShaderVariantId generated from the configured ShaderOptionGroup. - * 4) Acquire the ShaderVariant2 instance using the ShaderVariantStableId. - * 5) Configure a pipeline state descriptor on the variant; make local overrides as necessary (e.g. to configure runtime render state). - * 6) Acquire a RHI::PipelineState instance from the shader using the configured pipeline state descriptor. - * - * Remember that the returned RHI::PipelineState instance lifetime is tied to the Shader2 lifetime. - * If you need guarantee lifetime, it is safe to take a reference on the returned pipeline state. - */ - class Shader2 final - : public Data::InstanceData - , public Data::AssetBus::Handler - , public ShaderVariantFinderNotificationBus2::Handler - { - friend class ShaderSystem; - public: - AZ_INSTANCE_DATA(Shader2, "{232D8BD6-3BD4-4842-ABD2-F380BD5B0863}"); - AZ_CLASS_ALLOCATOR(Shader2, SystemAllocator, 0); - - /// Returns the shader instance associated with the provided asset. - static Data::Instance FindOrCreate(const Data::Asset& shaderAsset, const Name& supervariantName); - - ~Shader2(); - AZ_DISABLE_COPY_MOVE(Shader2); - - /// Constructs a shader option group suitable to generate a shader variant key for this shader. - ShaderOptionGroup CreateShaderOptionGroup() const; - - /// Finds the best matching ShaderVariant2 for the given shaderVariantId, - /// If the variant is loaded and ready it will return the corresponding ShaderVariant2. - /// If the variant is not yet available it will return the root ShaderVariant2. - /// Callers should listen to ShaderReloadNotificationBus to get notified whenever the exact - /// variant is loaded and available or if a variant changes, etc. - /// This function should be your one stop shop to get a ShaderVariant2 from a ShaderVariantId. - /// Alternatively: You can call FindVariantStableId() followed by GetVariant(shaderVariantStableId). - const ShaderVariant2& GetVariant(const ShaderVariantId& shaderVariantId); - - /// Finds the best matching shader variant asset and returns its StableId. - /// In cases where you can't cache the ShaderVariant2, and recurrently you may need - /// the same ShaderVariant2 at different times, then it can be convenient (and more performant) to call - /// this method to cache the ShaderVariantStableId and call GetVariant(ShaderVariantStableId) - /// when needed. - /// If the asset is not immediately found in the file system, it will return the StableId - /// of the root variant. - /// Callers should listen to ShaderReloadNotificationBus to get notified whenever the exact - /// variant is loaded and available or if a variant changes, etc. - ShaderVariantSearchResult FindVariantStableId(const ShaderVariantId& shaderVariantId) const; - - /// Returns the variant associated with the provided StableId. - /// You should call FindVariantStableId() which caches the variant, later - /// when this function is called the variant is fetched from a local map. - /// If the variant is not found, the root variant is returned. - /// "Alternatively: a more convenient approach is to call GetVariant(ShaderVariantId) which does both, the find and the get." - const ShaderVariant2& GetVariant(ShaderVariantStableId shaderVariantStableId); - - /// Convenient function that returns the root variant. - const ShaderVariant2& GetRootVariant(); - - /// Returns the pipeline state type generated by variants of this shader. - RHI::PipelineStateType GetPipelineStateType() const; - - //! Returns the ShaderInputContract which describes which inputs the shader requires - const ShaderInputContract& GetInputContract() const; - - //! Returns the ShaderOutputContract which describes which outputs the shader requires - const ShaderOutputContract& GetOutputContract() const; - - /// Acquires a pipeline state directly from a descriptor. - const RHI::PipelineState* AcquirePipelineState(const RHI::PipelineStateDescriptor& descriptor) const; - - /// Finds and returns the shader resource group asset with the requested name. Returns an empty handle if no matching group was found. - const RHI::Ptr FindShaderResourceGroupLayout(const Name& shaderResourceGroupName) const; - - /// Finds and returns the shader resource group asset associated with the requested binding slot. Returns an empty handle if no matching group was found. - const RHI::Ptr FindShaderResourceGroupLayout(uint32_t bindingSlot) const; - - /// Finds and returns the shader resource group asset designated as a ShaderVariantKey fallback. - const RHI::Ptr FindFallbackShaderResourceGroupLayout() const; - - /// Returns the set of shader resource groups referenced by all variants in the shader asset. - AZStd::array_view> GetShaderResourceGroupLayouts() const; - - /// Returns a reference to the asset used to initialize this shader. - const Data::Asset& GetAsset() const; - - //! Returns the DrawListTag that identifies which Pass and View objects will process this shader. - //! This tag corresponds to the ShaderAsset2 object's DrawListName. - RHI::DrawListTag GetDrawListTag() const; - - private: - Shader2() = default; - - static Data::Instance CreateInternal(ShaderAsset2& shaderAsset); - - bool SelectSupervariant(const Name& supervariantName); - - RHI::ResultCode Init(ShaderAsset2& shaderAsset); - - void Shutdown(); - - ConstPtr LoadPipelineLibrary() const; - void SavePipelineLibrary() const; - - /////////////////////////////////////////////////////////////////// - /// AssetBus overrides - void OnAssetReloaded(Data::Asset asset) override; - /////////////////////////////////////////////////////////////////// - - /////////////////////////////////////////////////////////////////// - /// ShaderVariantFinderNotificationBus overrides - void OnShaderVariantTreeAssetReady(Data::Asset /*shaderVariantTreeAsset*/, bool /*isError*/) override {}; - void OnShaderVariantAssetReady(Data::Asset shaderVariantAsset, bool IsError) override; - /////////////////////////////////////////////////////////////////// - - //! Returns the path to the pipeline library cache file. - AZStd::string GetPipelineLibraryPath() const; - - //! A strong reference to the shader asset. - Data::Asset m_asset; - - //! Selects current supervariant to be used. - //! This value is defined at instantiation. - SupervariantIndex m_supervariantIndex; - - //! The pipeline state type required by this shader. - RHI::PipelineStateType m_pipelineStateType = RHI::PipelineStateType::Draw; - - //! A cached pointer to the pipeline state cache owned by RHISystem. - RHI::PipelineStateCache* m_pipelineStateCache = nullptr; - - //! A handle to the pipeline library in the pipeline state cache. - RHI::PipelineLibraryHandle m_pipelineLibraryHandle; - - //! Used for thread safety for FindVariantStableId() and GetVariant(). - AZStd::shared_mutex m_variantCacheMutex; - - //! The root variant always exist. - ShaderVariant2 m_rootVariant; - - //! Local cache of ShaderVariants (except for the root variant), searchable by StableId. - //! Gets populated when GetVariant() is called. - AZStd::unordered_map m_shaderVariants; - - //! DrawListTag associated with this shader. - RHI::DrawListTag m_drawListTag; - }; - } -} diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus.h index 58b9809e2b..769ada0293 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus.h @@ -47,7 +47,8 @@ namespace AZ virtual void OnShaderReinitialized(const Shader& shader) { AZ_UNUSED(shader); } //! Called when a particular shader variant is reinitialized. - virtual void OnShaderVariantReinitialized(const Shader& shader, const ShaderVariantId& shaderVariantId, ShaderVariantStableId shaderVariantStableId) { AZ_UNUSED(shader); AZ_UNUSED(shaderVariantId); AZ_UNUSED(shaderVariantStableId); } + virtual void OnShaderVariantReinitialized(const Shader& shader, const ShaderVariantId& shaderVariantId, ShaderVariantStableId shaderVariantStableId) + { AZ_UNUSED(shader); AZ_UNUSED(shaderVariantId); AZ_UNUSED(shaderVariantStableId) } }; typedef EBus ShaderReloadNotificationBus; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus2.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus2.h deleted file mode 100644 index 0822336ffa..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus2.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include -#include - -//#include -#include - -namespace AZ -{ - namespace RPI - { - class Shader2; - class ShaderAsset2; - - /** - * Connect to this EBus to get notifications whenever a Data::Instance reloads its ShaderAsset. - * The bus address is the AssetId of the ShaderAsset. - */ - class ShaderReloadNotifications2 - : public EBusTraits - { - - public: - ////////////////////////////////////////////////////////////////////////// - // EBusTraits overrides - static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; - typedef Data::AssetId BusIdType; - ////////////////////////////////////////////////////////////////////////// - - virtual ~ShaderReloadNotifications2() {} - - //! Called when the ShaderAsset reinitializes itself in response to another asset being reloaded. - virtual void OnShaderAssetReinitialized(const Data::Asset& shaderAsset) { AZ_UNUSED(shaderAsset); } - - //! Called when the Shader instance reinitializes itself in response to the ShaderAsset being reloaded. - virtual void OnShaderReinitialized(const Shader2& shader) { AZ_UNUSED(shader); } - - //! Called when a particular shader variant is reinitialized. - virtual void OnShaderVariantReinitialized(const Shader2& shader, const ShaderVariantId& shaderVariantId, ShaderVariantStableId shaderVariantStableId) - { AZ_UNUSED(shader); AZ_UNUSED(shaderVariantId); AZ_UNUSED(shaderVariantStableId) } - }; - - typedef EBus ShaderReloadNotificationBus2; - - } // namespace RPI -} //namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderResourceGroup.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderResourceGroup.h index d99b8f51b5..fb2b443ca5 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderResourceGroup.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderResourceGroup.h @@ -12,9 +12,7 @@ #pragma once #include -#include #include -#include #include #include @@ -25,6 +23,7 @@ #include #include +#include #include namespace AZ @@ -55,19 +54,15 @@ namespace AZ : public AZ::Data::InstanceData { friend class ShaderSystem; + friend class ShaderResourceGroupPool; + public: AZ_INSTANCE_DATA(ShaderResourceGroup, "{88B52D0C-9CBF-4B4D-B9E2-180BA602E1EA}"); AZ_CLASS_ALLOCATOR(ShaderResourceGroup, AZ::SystemAllocator, 0); - /// Instantiates or returns an existing streaming image instance using its paired asset. - static Data::Instance FindOrCreate(const Data::Asset& srgAsset); - - /// Instantiates a unique shader resource group instance using its paired asset. - static Data::Instance Create(const Data::Asset& srgAsset); - - /// [GFX TODO] [ATOM-15472] Shader Build Pipeline: Remove Deprecated Files And Functions That Predate The Shader Supervariants - /// This is a temporary hack to enable integration of the new supervariant system. - bool ReplaceSrgLayoutUsingShaderAsset(Data::Asset shaderAsset, const Name& supervariantName, const Name& srgName); + /// Instantiates a unique shader resource group instance using its paired asset but with a random InstanceId. + static Data::Instance Create( + const Data::Asset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName); /// Queues a request that the underlying hardware shader resource group be compiled. void Compile(); @@ -84,8 +79,8 @@ namespace AZ RHI::ShaderInputBufferUnboundedArrayIndex FindShaderInputBufferUnboundedArrayIndex(const Name& name) const; RHI::ShaderInputImageUnboundedArrayIndex FindShaderInputImageUnboundedArrayIndex(const Name& name) const; - /// Returns the parent shader resource group asset. - const Data::Asset& GetAsset() const; + /// Returns the parent shader shader asset where the SRG layout data came from. + /// const Data::Asset& GetAsset() const; /// Returns the RHI shader resource group layout. const RHI::ShaderResourceGroupLayout* GetLayout() const; @@ -283,9 +278,34 @@ namespace AZ private: ShaderResourceGroup() = default; - RHI::ResultCode Init(ShaderResourceGroupAsset& shaderResourceGroupAsset); + //! Will be passed as AZStd::any to CreateInternal. + //! The data comes from the same parameters of ::Create() or ::FindOrCreate(). + struct SrgInitParams + { + AZ_TYPE_INFO(SrgInitParams, "{FDBDDB75-3DE6-4383-8D19-C0092246A411}"); + SupervariantIndex m_supervariantIndex; + AZ::Name m_srgName; + }; - static AZ::Data::Instance CreateInternal(ShaderResourceGroupAsset& srgAsset); + //! Usually subclasses of AZ::Data::InstanceData leverage the AssetId of the given asset as a means to define + //! the AZ::Data::InstanceId. This works well when there's a one-to-one relationship between the Asset and the InstanceData. + //! + //! ShaderResourceGroup & ShaderResourceGroupPool are different because one ShaderAsset can have several + //! ShaderResourceGroupLayouts defined in it. This means that using only the AssetId is not sufficient. + //! + //! This function searches the ShaderResourceGroupLayout of the given @srgName in the @shaderAsset. If it finds such + //! ShaderResourceGroupLayout it makes an InstanceId based on: + //! - The azsl file of origin where the ShaderResourceGroup was defined. + //! - The supervariant index. + //! - The name of the srg. + //! @param shaderAsset: The shader asset where the ShaderResourceGroupLayout will be searched. + //! @param supervariantIndex: The supervariant index in @shaderAsset where the search will be conducted. + //! @param srgName: Name of the ShaderResourceGroup as it was declared in the azsl file of origin. + static Data::InstanceId MakeInstanceId(const Data::Asset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName); + + RHI::ResultCode Init(ShaderAsset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName); + + static AZ::Data::Instance CreateInternal(ShaderAsset& shaderAsset, const AZStd::any* srgInitParams); /// A name to be used in error messages static const char* s_traceCategoryName; @@ -296,6 +316,9 @@ namespace AZ /// Allows us to return const& to a null Buffer static const Data::Instance s_nullBuffer; + /// If true, Init() was called and was successful. + bool m_isInitialized = false; + /// Pool for allocating RHI::ShaderResourceGroup objects Data::Instance m_pool; @@ -306,10 +329,7 @@ namespace AZ RHI::Ptr m_shaderResourceGroup; /// A reference to the SRG asset used to initialize and manipulate this group. - AZ::Data::Asset m_asset; - - /// A reference to the shader asset used to initialize and manipulate this group. - AZ::Data::Asset m_shaderAsset; + AZ::Data::Asset m_asset; /// A pointer to the layout inside of m_srgAsset const RHI::ShaderResourceGroupLayout* m_layout = nullptr; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderResourceGroupPool.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderResourceGroupPool.h index 90324f2831..a3aecfe1f6 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderResourceGroupPool.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderResourceGroupPool.h @@ -12,9 +12,10 @@ #pragma once -#include #include #include +#include + namespace AZ { @@ -46,10 +47,11 @@ namespace AZ AZ_CLASS_ALLOCATOR(ShaderResourceGroupPool, AZ::SystemAllocator, 0); /** - * Instantiates or returns an existing runtime pool for a given ShaderResourceGroupAsset. + * Instantiates or returns an existing runtime pool for a given ShaderResourceGroup. * @param shaderResourceGroupPoolAsset The asset used to instantiate an instance of the streaming image pool. */ - static Data::Instance FindOrCreate(const Data::Asset& srgAsset); + static Data::Instance FindOrCreate( + const Data::Asset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName); RHI::Ptr CreateRHIShaderResourceGroup(); @@ -60,8 +62,10 @@ namespace AZ ShaderResourceGroupPool() = default; // Standard RPI runtime instance initialization - static Data::Instance CreateInternal(ShaderResourceGroupAsset& srgAsset); - RHI::ResultCode Init(ShaderResourceGroupAsset& srgAsset); + // @param anySrgInitParams Of Type RPI::ShaderResourceGroup::SrgInitParams. + static Data::Instance CreateInternal(ShaderAsset& shaderAsset, const AZStd::any* anySrgInitParams); + + RHI::ResultCode Init(ShaderAsset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName); RHI::Ptr m_pool; }; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariant.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariant.h index d189d26b13..bd02d03787 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariant.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariant.h @@ -33,12 +33,6 @@ namespace AZ //! this does not fill the InputStreamLayout or OutputAttachmentLayout as that also requires //! information from the mesh data and pass system and must be done as a separate step). void ConfigurePipelineState(RHI::PipelineStateDescriptor& descriptor) const; - - //! Returns the ShaderInputContract which describes which inputs the shader requires - const ShaderInputContract& GetInputContract() const; - - //! Returns the ShaderOutputContract which describes which outputs the shader requires - const ShaderOutputContract& GetOutputContract() const; const ShaderVariantId& GetShaderVariantId() const { return m_shaderVariantAsset->GetShaderVariantId(); } @@ -47,9 +41,10 @@ namespace AZ //! If the shader variant is not fully baked, the ShaderVariantKeyFallbackValue must be correctly set when drawing. bool IsFullyBaked() const { return m_shaderVariantAsset->IsFullyBaked(); } - //! Return the timestamp when the associated ShaderAsset was built. + //! Return the timestamp when this asset was built. //! This is used to synchronize versions of the ShaderAsset and ShaderVariantAsset, especially during hot-reload. - AZStd::sys_time_t GetShaderAssetBuildTimestamp() const { return m_shaderVariantAsset->GetShaderAssetBuildTimestamp(); } + //! This timestamp must be >= than the ShaderAsset timestamp. + AZStd::sys_time_t GetBuildTimestamp() const { return m_shaderVariantAsset->GetBuildTimestamp(); } bool IsRootVariant() const { return m_shaderVariantAsset->IsRootVariant(); } @@ -59,7 +54,8 @@ namespace AZ // Called by Shader. Initializes runtime data from asset data. Returns whether the call succeeded. bool Init( const ShaderAsset& shaderAsset, - Data::Asset shaderVariantAsset); + Data::Asset shaderVariantAsset, + SupervariantIndex supervariantIndex); // Cached state from the asset to avoid an indirection. RHI::PipelineStateType m_pipelineStateType = RHI::PipelineStateType::Count; @@ -68,6 +64,8 @@ namespace AZ RHI::ConstPtr m_pipelineLayoutDescriptor; Data::Asset m_shaderVariantAsset; + + const RHI::RenderStates* m_renderStates = nullptr; // Cached from ShaderAsset. }; } } diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariant2.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariant2.h deleted file mode 100644 index 524ebf6a3c..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariant2.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include - -#include - -namespace AZ -{ - namespace RPI - { - //! Represents the concrete state to configure a PipelineStateDescriptor. ShaderVariant2's match - //! the RHI::PipelineStateType of the parent Shader instance. For shaders on the raster - //! pipeline, the RHI::DrawFilterTag is also provided. - class ShaderVariant2 final - { - friend class Shader2; - public: - ShaderVariant2() = default; - AZ_DEFAULT_COPY_MOVE(ShaderVariant2); - - //! Fills a pipeline state descriptor with settings provided by the ShaderVariant2. (Note that - //! this does not fill the InputStreamLayout or OutputAttachmentLayout as that also requires - //! information from the mesh data and pass system and must be done as a separate step). - void ConfigurePipelineState(RHI::PipelineStateDescriptor& descriptor) const; - - const ShaderVariantId& GetShaderVariantId() const { return m_shaderVariantAsset->GetShaderVariantId(); } - - //! Returns whether the variant is fully baked variant (all options are static branches), or false if the - //! variant uses dynamic branches for some shader options. - //! If the shader variant is not fully baked, the ShaderVariantKeyFallbackValue must be correctly set when drawing. - bool IsFullyBaked() const { return m_shaderVariantAsset->IsFullyBaked(); } - - //! Return the timestamp when this asset was built. - //! This is used to synchronize versions of the ShaderAsset and ShaderVariantAsset, especially during hot-reload. - //! This timestamp must be >= than the ShaderAsset timestamp. - AZStd::sys_time_t GetBuildTimestamp() const { return m_shaderVariantAsset->GetBuildTimestamp(); } - - bool IsRootVariant() const { return m_shaderVariantAsset->IsRootVariant(); } - - ShaderVariantStableId GetStableId() const { return m_shaderVariantAsset->GetStableId(); } - - private: - // Called by Shader. Initializes runtime data from asset data. Returns whether the call succeeded. - bool Init( - const ShaderAsset2& shaderAsset, - Data::Asset shaderVariantAsset, - SupervariantIndex supervariantIndex); - - // Cached state from the asset to avoid an indirection. - RHI::PipelineStateType m_pipelineStateType = RHI::PipelineStateType::Count; - - // State assigned to the pipeline state descriptor. - RHI::ConstPtr m_pipelineLayoutDescriptor; - - Data::Asset m_shaderVariantAsset; - - const RHI::RenderStates* m_renderStates = nullptr; // Cached from ShaderAsset2. - }; - } -} diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariantAsyncLoader.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariantAsyncLoader.h index 9960e6bbe0..3cb76648fb 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariantAsyncLoader.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderVariantAsyncLoader.h @@ -40,29 +40,37 @@ namespace AZ void Init(); void Shutdown(); - struct PairOfShaderAssetAndShaderVariantId + struct TupleShaderAssetAndShaderVariantId { Data::Asset m_shaderAsset; ShaderVariantId m_shaderVariantId; + SupervariantIndex m_supervariantIndex; - bool operator==(const PairOfShaderAssetAndShaderVariantId& anotherPair) const + bool operator==(const TupleShaderAssetAndShaderVariantId& anotherTuple) const { - return (m_shaderAsset.GetId() == anotherPair.m_shaderAsset.GetId() && m_shaderVariantId == anotherPair.m_shaderVariantId); + return ( + (m_shaderAsset.GetId() == anotherTuple.m_shaderAsset.GetId()) && + (m_shaderVariantId == anotherTuple.m_shaderVariantId) && + (m_supervariantIndex == anotherTuple.m_supervariantIndex) + ); } }; /////////////////////////////////////////////////////////////////// // IShaderVariantFinder overrides - bool QueueLoadShaderVariantAssetByVariantId(Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId) override; + bool QueueLoadShaderVariantAssetByVariantId(Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) override; bool QueueLoadShaderVariantTreeAsset(const Data::AssetId& shaderAssetId) override; - bool QueueLoadShaderVariantAsset(const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId) override; + bool QueueLoadShaderVariantAsset(const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId, SupervariantIndex supervariantIndex) override; Data::Asset GetShaderVariantAssetByVariantId( - Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId) override; + Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) override; Data::Asset GetShaderVariantAssetByStableId( - Data::Asset shaderAsset, ShaderVariantStableId shaderVariantStableId) override; + Data::Asset shaderAsset, ShaderVariantStableId shaderVariantStableId, + SupervariantIndex supervariantIndex) override; Data::Asset GetShaderVariantTreeAsset(const Data::AssetId& shaderAssetId) override; - Data::Asset GetShaderVariantAsset(const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId) override; + Data::Asset GetShaderVariantAsset( + const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId, + SupervariantIndex supervariantIndex) override; void Reset() override; /////////////////////////////////////////////////////////////////// @@ -84,7 +92,7 @@ namespace AZ void ThreadServiceLoop(); void QueueShaderVariantTreeForLoading( - const PairOfShaderAssetAndShaderVariantId& shaderAndVariantPair, + const TupleShaderAssetAndShaderVariantId& shaderAndVariantTuple, AZStd::unordered_set& shaderVariantTreePendingRequests); //! This is a helper method called from the service thread. @@ -102,7 +110,7 @@ namespace AZ AZStd::condition_variable m_workCondition; //! This is a list of AssetId of ShaderVariantAsset. - AZStd::vector m_newShaderVariantPendingRequests; + AZStd::vector m_newShaderVariantPendingRequests; //! This is a list of AssetId of ShaderAsset (Do not confuse with the AssetId ShaderVariantTreeAsset). AZStd::vector m_shaderVariantTreePendingRequests; @@ -144,13 +152,14 @@ namespace AZStd }; template<> - struct hash + struct hash { - size_t operator()(const AZ::RPI::ShaderVariantAsyncLoader::PairOfShaderAssetAndShaderVariantId& pair) const + size_t operator()(const AZ::RPI::ShaderVariantAsyncLoader::TupleShaderAssetAndShaderVariantId& tuple) const { static constexpr AZStd::hash hash_fn; - size_t retVal = pair.m_shaderAsset.GetId().m_guid.GetHash(); - AZStd::hash_combine(retVal, hash_fn(pair.m_shaderVariantId)); + size_t retVal = tuple.m_shaderAsset.GetId().m_guid.GetHash(); + AZStd::hash_combine(retVal, hash_fn(tuple.m_shaderVariantId)); + AZStd::hash_combine(retVal, tuple.m_supervariantIndex.GetIndex()); return retVal; } }; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAsset.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAsset.h index c941f1f587..a219e69acd 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAsset.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialAsset.h @@ -67,15 +67,33 @@ namespace AZ //! See MaterialFunctor.h for details. const MaterialFunctorList& GetMaterialFunctors() const; - //! Returns the shader resource group asset that has per-material frequency, which indicates most of the topology + //! Returns the shader resource group layout that has per-material frequency, which indicates most of the topology //! for a material's shaders. - //! All shaders in a material will have the same per-material SRG asset. - const Data::Asset& GetMaterialSrgAsset() const; - - //! Returns the shader resource group asset that has per-object frequency. What constitutes an "object" is an + //! All shaders in a material will have the same per-material SRG layout. + //! @param supervariantIndex: supervariant index to get the layout from. + const RHI::Ptr& GetMaterialSrgLayout(const SupervariantIndex& supervariantIndex) const; + + //! Same as above but accepts the supervariant name. There's a minor penalty when using this function + //! because it will discover the index from the name. + const RHI::Ptr& GetMaterialSrgLayout(const AZ::Name& supervariantName) const; + + //! Just like the original GetMaterialSrgLayout() where it uses the index of the default supervariant. + //! See the definition of DefaultSupervariantIndex. + const RHI::Ptr& GetMaterialSrgLayout() const; + + //! Returns the shader resource group layout that has per-object frequency. What constitutes an "object" is an //! agreement between the FeatureProcessor and the shaders, but an example might be world-transform for a model. - //! All shaders in a material will have the same per-object SRG asset. - const Data::Asset& GetObjectSrgAsset() const; + //! All shaders in a material will have the same per-object SRG layout. + //! @param supervariantIndex: supervariant index to get the layout from. + const RHI::Ptr& GetObjectSrgLayout(const SupervariantIndex& supervariantIndex) const; + + //! Same as above but accepts the supervariant name. There's a minor penalty when using this function + //! because it will discover the index from the name. + const RHI::Ptr& GetObjectSrgLayout(const AZ::Name& supervariantName) const; + + //! Just like the original GetObjectSrgLayout() where it uses the index of the default supervariant. + //! See the definition of DefaultSupervariantIndex. + const RHI::Ptr& GetObjectSrgLayout() const; //! Returns a layout that includes a list of MaterialPropertyDescriptors for each material property. const MaterialPropertiesLayout* GetMaterialPropertiesLayout() const; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialTypeAsset.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialTypeAsset.h index 6b260b5ae3..7bc3a7c491 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialTypeAsset.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialTypeAsset.h @@ -65,6 +65,8 @@ namespace AZ static const char* Group; static const char* Extension; + static constexpr uint32_t InvalidShaderIndex = static_cast(-1); + static void Reflect(ReflectContext* context); virtual ~MaterialTypeAsset(); @@ -77,15 +79,39 @@ namespace AZ //! See MaterialFunctor.h for details. const MaterialFunctorList& GetMaterialFunctors() const; - //! Returns the shader resource group asset that has per-material frequency, which indicates most of the topology + //! Returns the shader resource group layout that has per-material frequency, which indicates most of the topology //! for a material's shaders. - //! All shaders in a material will have the same per-material SRG asset. - const Data::Asset& GetMaterialSrgAsset() const; - - //! Returns the shader resource group asset that has per-object frequency. What constitutes an "object" is an + //! All shaders in a material will have the same per-material SRG layout. + //! @param supervariantIndex: supervariant index to get the layout from. + const RHI::Ptr& GetMaterialSrgLayout(const SupervariantIndex& supervariantIndex) const; + + //! Same as above but accepts the supervariant name. There's a minor penalty when using this function + //! because it will discover the index from the name. + const RHI::Ptr& GetMaterialSrgLayout(const AZ::Name& supervariantName) const; + + //! Just like the original GetMaterialSrgLayout() where it uses the index of the default supervariant. + //! See the definition of DefaultSupervariantIndex. + const RHI::Ptr& GetMaterialSrgLayout() const; + + //! Returns a ShaderAsset from @m_shaderCollection that contains the MaterialSrg layout. + const Data::Asset& GetShaderAssetForMaterialSrg() const; + + //! Returns the shader resource group layout that has per-object frequency. What constitutes an "object" is an //! agreement between the FeatureProcessor and the shaders, but an example might be world-transform for a model. - //! All shaders in a material will have the same per-object SRG asset. - const Data::Asset& GetObjectSrgAsset() const; + //! All shaders in a material will have the same per-object SRG layout. + //! @param supervariantIndex: supervariant index to get the layout from. + const RHI::Ptr& GetObjectSrgLayout(const SupervariantIndex& supervariantIndex) const; + + //! Same as above but accepts the supervariant name. There's a minor penalty when using this function + //! because it will discover the index from the name. + const RHI::Ptr& GetObjectSrgLayout(const AZ::Name& supervariantName) const; + + //! Just like the original GetObjectSrgLayout() where it uses the index of the default supervariant. + //! See the definition of DefaultSupervariantIndex. + const RHI::Ptr& GetObjectSrgLayout() const; + + //! Returns a ShaderAsset from @m_shaderCollection that contains the ObjectSrg layout. + const Data::Asset& GetShaderAssetForObjectSrg() const; //! Returns a layout that includes a list of MaterialPropertyDescriptors for each material property. const MaterialPropertiesLayout* GetMaterialPropertiesLayout() const; @@ -102,6 +128,9 @@ namespace AZ private: bool PostLoadInit(); + const RHI::Ptr& GetSrgLayout(uint32_t shaderIndex, const SupervariantIndex& supervariantIndex, uint32_t srgBindingSlot) const; + const RHI::Ptr& GetSrgLayout(uint32_t shaderIndex, const AZ::Name& supervariantName, uint32_t srgBindingSlot) const; + //! Called by asset creators to assign the asset to a ready state. void SetReady(); @@ -125,9 +154,12 @@ namespace AZ //! See MaterialFunctor.h for details. MaterialFunctorList m_materialFunctors; - //! Reference to the SRGs that are the same for all shaders in a material - Data::Asset m_materialSrgAsset; - Data::Asset m_objectSrgAsset; + //! Index in @m_shaderCollection of the shader asset that contains the MaterialSrg. + uint32_t m_materialSrgShaderIndex = InvalidShaderIndex; + + //! Index in @m_shaderCollection of the shader asset that contains the ObjectSrg. + uint32_t m_objectSrgShaderIndex = InvalidShaderIndex; + }; class MaterialTypeAssetHandler : public AssetHandler diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialTypeAssetCreator.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialTypeAssetCreator.h index 1afd6d9039..1fd89ebb2f 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialTypeAssetCreator.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Material/MaterialTypeAssetCreator.h @@ -101,16 +101,17 @@ namespace AZ void AddMaterialProperty(MaterialPropertyDescriptor&& materialProperty); - //! The material type holds references to the SRGs that are supposed to be the same across all passes in the material. This function - //! extracts a specific SRG from a ShaderAsset, saves it in the material type, and validates that all shaders use the same one. - //! @srgAssetToUpdate Points to a specific ShaderResourceGroupAsset in the MaterialTypeAsset being built. If null, this will be - //! filled with an SRG from the newShaderAsset. If not null, this will validate that the same SRG is used by newShaderAsset. + //! The material type holds references to shader assets that contain SRGs that are supposed to be the same across all passes in the material. + //! This function searches for an SRG given a @bindingSlot. If a valid one is found it makes sure it is the same across all shaders + //! and records in srgShaderIndexToUpdate the index of the ShaderAsset in the ShaderCollection where it was found. + //! @srgShaderIndexToUpdate Previously found shader index. If Invalid, this will be filled with the index of the shader Asset + //! where the bindingSlot was found. If not Invalid, this will validate that the same SRG is used by + //! newShaderAsset. + //! @newShaderAssetIndex Corresponding index of @newShaderAsset in m_asset->m_shaderCollection. //! @bindingSlot The binding slot ID of the SRG to fetch from newShaderAsset. - bool UpdateShaderResourceGroup( - Data::Asset& srgAssetToUpdate, - const Data::Asset& newShaderAsset, - uint32_t bindingSlot, - const char* srgDebugName); + bool UpdateShaderIndexForShaderResourceGroup( + uint32_t& srgShaderIndexToUpdate, const Data::Asset& newShaderAsset, const uint32_t newShaderAssetIndex, + const uint32_t bindingSlot, const char* srgDebugName); //! Saves the per-material SRG layout in m_shaderResourceGroupLayout for easier access void CacheMaterialSrgLayout(); diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Pass/RasterPassData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Pass/RasterPassData.h index bcce393ee1..fd241f3be6 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Pass/RasterPassData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Pass/RasterPassData.h @@ -37,9 +37,9 @@ namespace AZ if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Version(2) + ->Version(3) // ATOM-15472 ->Field("DrawListTag", &RasterPassData::m_drawListTag) - ->Field("PassSrgAsset", &RasterPassData::m_passSrgReference) + ->Field("PassSrgShaderAsset", &RasterPassData::m_passSrgShaderReference) ->Field("Viewport", &RasterPassData::m_overrideViewport) ->Field("Scissor", &RasterPassData::m_overrideScissor) ->Field("DrawListSortType", &RasterPassData::m_drawListSortType) @@ -49,8 +49,8 @@ namespace AZ Name m_drawListTag; - //! Reference to the per pass SRG asset. This will be used to load the SRG in the raster pass. - AssetReference m_passSrgReference; + //! Reference to the shader asset that contains the PassSrg. This will be used to load the SRG in the raster pass. + AssetReference m_passSrgShaderReference; RHI::Viewport m_overrideViewport = RHI::Viewport::CreateNull(); RHI::Scissor m_overrideScissor = RHI::Scissor::CreateNull(); diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/RPISystemDescriptor.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/RPISystemDescriptor.h index 3d0b9f4f63..4ff7b827e9 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/RPISystemDescriptor.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/RPISystemDescriptor.h @@ -15,7 +15,6 @@ #include #include #include -#include namespace AZ { @@ -38,11 +37,9 @@ namespace AZ RHI::RHISystemDescriptor m_rhiSystemDescriptor; - //! The path of the only one scene srg asset for the RPI system. This is used to create any RPI::Scene. - AZStd::string m_sceneSrgAssetPath = "shaderlib/scenesrg_scenesrg.azsrg"; - - //! The path of the only one view srg asset for the RPI system. This is used to create any RPI::View. - AZStd::string m_viewSrgAssetPath = "shaderlib/viewsrg_viewsrg.azsrg"; + //! The asset cache relative path of the only common shader asset for the RPI system that is used + //! as means to load the layout for scene srg and view srg. This is used to create any RPI::Scene. + AZStd::string m_commonSrgsShaderAssetPath = "shader/sceneandviewsrgs.azshader"; ImageSystemDescriptor m_imageSystemDescriptor; GpuQuerySystemDescriptor m_gpuQuerySystemDescriptor; diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder.h index 75a1ba7339..ef98c32b24 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder.h @@ -13,6 +13,7 @@ #include +#include #include namespace AZ @@ -31,7 +32,7 @@ namespace AZ class IShaderVariantFinder { public: - AZ_TYPE_INFO(IShaderVariantFinder, "{B39F7407-BA4E-4F2F-810A-8B57D8080A04}"); + AZ_TYPE_INFO(IShaderVariantFinder, "{4E041C2C-F158-412E-8961-76987EC75692}"); static constexpr const char* LogName = "IShaderVariantFinder"; @@ -44,7 +45,8 @@ namespace AZ //! from the given ShaderVariantId. If a valid ShaderVariantStableId is found, it will be queued for loading. //! Eventually the caller will be notified via ShaderVariantFinderNotificationBus::OnShaderVariantAssetReady() //! The notification will occur on the Main Thread. - virtual bool QueueLoadShaderVariantAssetByVariantId(Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId) = 0; + virtual bool QueueLoadShaderVariantAssetByVariantId( + Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) = 0; //! This function does the first half of the work. It simply queues the loading of the ShaderVariantTreeAsset. //! Given the AssetId of a ShaderAsset it will try to find and load its corresponding ShaderVariantTreeAsset from @@ -62,15 +64,16 @@ namespace AZ //! ShaderVariantAsset is fully loaded. //! Returns true if the request was queued successfully. virtual bool QueueLoadShaderVariantAsset( - const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId) = 0; + const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId, + SupervariantIndex supervariantIndex) = 0; //! This is a quick blocking call that will return a valid asset only if it's been fully loaded already, //! Otherwise it returns an invalid asset and the caller is supposed to call QueueLoadShaderVariantAssetByVariantId(). virtual Data::Asset GetShaderVariantAssetByVariantId( - Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId) = 0; + Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) = 0; virtual Data::Asset GetShaderVariantAssetByStableId( - Data::Asset shaderAsset, ShaderVariantStableId shaderVariantStableId) = 0; + Data::Asset shaderAsset, ShaderVariantStableId shaderVariantStableId, SupervariantIndex supervariantIndex) = 0; //! This is a quick blocking call that will return a valid asset only if it's been fully loaded already, //! Otherwise it returns an invalid asset and the caller is supposed to call QueueLoadShaderVariantTreeAsset(). @@ -79,7 +82,8 @@ namespace AZ //! This is a quick blocking call that will return a valid asset only if i's been fully loaded already, //! Otherwise it returns an invalid asset and the caller is supposed to call QueueLoadShaderVariantAsset(). virtual Data::Asset GetShaderVariantAsset( - const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId) = 0; + const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId, + SupervariantIndex supervariantIndex) = 0; //! Clears the cache of loaded ShaderVariantTreeAsset and ShaderVariantAsset objects. //! This is intended for testing. diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder2.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder2.h deleted file mode 100644 index e09169c9a0..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder2.h +++ /dev/null @@ -1,113 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include - -#include -#include - -namespace AZ -{ - namespace RPI - { - class ShaderAsset2; - class ShaderVariantTreeAsset; - class ShaderVariantAsset2; - - //! This is the AZ::Interface<> declaration for the singleton responsible - //! for finding the best ShaderVariantAsset a shader can use. - //! This interface is public only to the ShaderAsset class. - //! The expectation is that when in need of shader variants the developer - //! should use AZ::RPI::Shader::GetVariant(). - class IShaderVariantFinder2 - { - public: - AZ_TYPE_INFO(IShaderVariantFinder2, "{4E041C2C-F158-412E-8961-76987EC75692}"); - - static constexpr const char* LogName = "IShaderVariantFinder2"; - - virtual ~IShaderVariantFinder2() = default; - - //! This function should be your one stop shop. - //! It simply queues the request to load a shader variant asset. - //! This function will automatically queue the ShaderVariantTreeAsset for loading if not available. - //! Afther the ShaderVariantTreeAsset is loaded and ready, it is used to find the best matching ShaderVariantStableId - //! from the given ShaderVariantId. If a valid ShaderVariantStableId is found, it will be queued for loading. - //! Eventually the caller will be notified via ShaderVariantFinderNotificationBus::OnShaderVariantAssetReady() - //! The notification will occur on the Main Thread. - virtual bool QueueLoadShaderVariantAssetByVariantId( - Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) = 0; - - //! This function does the first half of the work. It simply queues the loading of the ShaderVariantTreeAsset. - //! Given the AssetId of a ShaderAsset it will try to find and load its corresponding ShaderVariantTreeAsset from - //! the asset cache. If found, the asset will be loaded asynchronously and the caller will be notified via - //! ShaderVariantFinderNotificationBus on main thread when the ShaderVariantTreeAsset is fully loaded. - //! It is possible the requested ShaderVariantTreeAsset will never come into existence and in such - //! case the caller will NEVER be notified. - //! Returns true if the request was queued successfully. - virtual bool QueueLoadShaderVariantTreeAsset(const Data::AssetId& shaderAssetId) = 0; - - //! This function does the second half of the work. - //! Given the AssetId of a ShaderVariantTreeAsset and the stable id of a ShaderVariantAsset it will try to - //! find its corresponding ShaderVariantAsset from the asset cache. If found, the asset will be loaded - //! asynchronously and the caller will be notified via ShaderVariantFinderNotificationBus on main thread when the - //! ShaderVariantAsset is fully loaded. - //! Returns true if the request was queued successfully. - virtual bool QueueLoadShaderVariantAsset( - const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId, - SupervariantIndex supervariantIndex) = 0; - - //! This is a quick blocking call that will return a valid asset only if it's been fully loaded already, - //! Otherwise it returns an invalid asset and the caller is supposed to call QueueLoadShaderVariantAssetByVariantId(). - virtual Data::Asset GetShaderVariantAssetByVariantId( - Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) = 0; - - virtual Data::Asset GetShaderVariantAssetByStableId( - Data::Asset shaderAsset, ShaderVariantStableId shaderVariantStableId, SupervariantIndex supervariantIndex) = 0; - - //! This is a quick blocking call that will return a valid asset only if it's been fully loaded already, - //! Otherwise it returns an invalid asset and the caller is supposed to call QueueLoadShaderVariantTreeAsset(). - virtual Data::Asset GetShaderVariantTreeAsset(const Data::AssetId& shaderAssetId) = 0; - - //! This is a quick blocking call that will return a valid asset only if i's been fully loaded already, - //! Otherwise it returns an invalid asset and the caller is supposed to call QueueLoadShaderVariantAsset(). - virtual Data::Asset GetShaderVariantAsset( - const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId, - SupervariantIndex supervariantIndex) = 0; - - //! Clears the cache of loaded ShaderVariantTreeAsset and ShaderVariantAsset objects. - //! This is intended for testing. - virtual void Reset() = 0; - }; - - //! IShaderVariantFinder2 will call on this notification bus on the main thread. - //! Only the following classes are supposed to register to this notification bus: - //! AZ::RPI::ShaderAsset & AZ::RPI::Shader - class ShaderVariantFinderNotification2 - : public EBusTraits - { - public: - ////////////////////////////////////////////////////////////////////////// - // EBusTraits overrides - static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById; - using MutexType = AZStd::recursive_mutex; - typedef Data::AssetId BusIdType; // The AssetId of the shader asset. - ////////////////////////////////////////////////////////////////////////// - - virtual void OnShaderVariantTreeAssetReady(Data::Asset shaderVariantTreeAsset, bool isError) = 0; - virtual void OnShaderVariantAssetReady(Data::Asset shaderVariantAsset, bool isError) = 0; - }; - using ShaderVariantFinderNotificationBus2 = AZ::EBus; - - } // namespace RPI -}// namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.h index 0991afbcbb..cbaae3d099 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.h @@ -49,7 +49,6 @@ namespace AZ AZStd::string m_shaderAssetFileName; AZStd::vector m_platformIdentifiers; - AZStd::vector m_srgAssetFileNames; AZStd::vector> m_rootShaderVariantAssets; }; } // namespace RPI diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAsset.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAsset.h index cc31b0735a..a09f866bde 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAsset.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAsset.h @@ -19,8 +19,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -36,6 +36,23 @@ namespace AZ { namespace RPI { + using ShaderResourceGroupLayoutList = AZStd::fixed_vector, RHI::Limits::Pipeline::ShaderResourceGroupCountMax>; + + enum class ShaderAssetSubId : uint32_t + { + ShaderAsset = 0, //!< for .azshader file, One per .shader. + RootShaderVariantAsset, //!< for .azshadervariant, one per supervariant and referenced inside the .azshader. + FlatAzsl, //!< .azslin, this file contains the result of preprocessing an azsl file with MCPP, along with prepending the per-RHI azsli header. + IaJson, //!< .ia.json, Input Assembly reflection data. + OmJson, //!< .om.json, Output Merger reflection data. + SrgJson, //!< .srg.json, Shader Resource Group reflection data. + OptionsJson, //!< .options.json, Shader Options reflection data. + BindingdepJson, //!<.bindingdep.json, Binding dependencies. + GeneratedHlslSource, //!<.hlsl code generated with AZSLc. + FirstByProduct, //!< This must be last because we use this as a base for adding all the debug byProducts generated + //!< with dxc, or spirv-cross, etc. + }; + class ShaderAsset final : public Data::AssetData , public ShaderVariantFinderNotificationBus::Handler @@ -45,27 +62,49 @@ namespace AZ friend class ShaderAssetHandler; friend class ShaderAssetTester; public: - AZ_RTTI(ShaderAsset, "{892C4FF2-0B56-417D-AF2E-6FF04D6D6EA9}", Data::AssetData); - + AZ_RTTI(ShaderAsset, "{823395A3-D570-49F4-99A9-D820CD1DEF98}", Data::AssetData); static void Reflect(ReflectContext* context); - static const char* DisplayName; - static const char* Extension; - static const char* Group; + static constexpr char DisplayName[] = "Shader"; + static constexpr char Extension[] = "azshader"; + static constexpr char Group[] = "Shader"; //! The default shader variant (i.e. the one without any options set). static const ShaderVariantStableId RootShaderVariantStableId; - // @subProductType is one of ShaderAssetSubId, or (ShaderAssetSubId::GeneratedHlslSource + 1)+ - static uint32_t MakeAssetProductSubId(uint32_t rhiApiUniqueIndex, uint32_t subProductType); + + // @subProductType is one of ShaderAssetSubId, or ShaderAssetSubId::FirstByProduct+ + static uint32_t MakeProductAssetSubId(uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, uint32_t subProductType); + static SupervariantIndex GetSupervariantIndexFromProductAssetSubId(uint32_t assetProducSubId); + static SupervariantIndex GetSupervariantIndexFromAssetId(const Data::AssetId& assetId); + ShaderAsset() = default; ~ShaderAsset(); AZ_DISABLE_COPY_MOVE(ShaderAsset); + //! Returns the name of the shader. const Name& GetName() const; + //! Returns the pipeline state type generated by variants of this shader. + RHI::PipelineStateType GetPipelineStateType() const; + + //! Returns the draw list tag name. + //! To get the corresponding DrawListTag use DrawListTagRegistry's FindTag() or AcquireTag() (see + //! RHISystemInterface::GetDrawListTagRegistry()). The DrawListTag is also available in the Shader that corresponds to this + //! ShaderAsset. + const Name& GetDrawListName() const; + + //! Return the timestamp when the shader asset was built. + //! This is used to synchronize versions of the ShaderAsset and ShaderVariantTreeAsset, especially during hot-reload. + AZStd::sys_time_t GetShaderAssetBuildTimestamp() const; + + //! Returns the shader option group layout. + const ShaderOptionGroupLayout* GetShaderOptionGroupLayout() const; + + SupervariantIndex GetSupervariantIndex(const AZ::Name& supervariantName) const; + //! This function should be your one stop shop to get a ShaderVariantAsset. //! Finds and returns the best matching ShaderVariantAsset given a ShaderVariantId. //! If the ShaderVariantAsset is not fully loaded and ready at the moment, this function @@ -74,7 +113,9 @@ namespace AZ //! ShaderVariantAsset is loaded and ready. //! In the mean time, if the required variant is not available this function //! returns the Root Variant. - Data::Asset GetVariant(const ShaderVariantId& shaderVariantId); + Data::Asset GetVariant( + const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex); + Data::Asset GetVariant(const ShaderVariantId& shaderVariantId) { return GetVariant(shaderVariantId, DefaultSupervariantIndex); } //! Finds the best matching shader variant and returns its StableId. //! This function first loads and caches the ShaderVariantTreeAsset (if not done before). @@ -90,45 +131,94 @@ namespace AZ //! Next time around if the variant has been loaded this function will return it. Alternatively //! the caller can register with the ShaderVariantFinderNotificationBus to get the asset as soon as is available. //! This function is thread safe. - Data::Asset GetVariant(ShaderVariantStableId shaderVariantStableId) const; + Data::Asset GetVariant( + ShaderVariantStableId shaderVariantStableId, SupervariantIndex supervariantIndex) const; + Data::Asset GetVariant(ShaderVariantStableId shaderVariantStableId) const { return GetVariant(shaderVariantStableId, DefaultSupervariantIndex); } - Data::Asset GetRootVariant() const; + Data::Asset GetRootVariant(SupervariantIndex supervariantIndex) const; + Data::Asset GetRootVariant() const { return GetRootVariant(DefaultSupervariantIndex); } - //! Finds and returns the shader resource group asset with the requested name. Returns an empty handle if no matching group was found. - const Data::Asset& FindShaderResourceGroupAsset(const Name& shaderResourceGroupName) const; - //! Finds and returns the shader resource group asset associated with the requested binding slot. Returns an empty handle if no matching group was found. - const Data::Asset& FindShaderResourceGroupAsset(uint32_t bindingSlot) const; + //! Finds and returns the shader resource group asset with the requested name. Returns an empty handle if no matching group was + //! found. + const RHI::Ptr& FindShaderResourceGroupLayout( + const Name& shaderResourceGroupName, SupervariantIndex supervariantIndex) const; + const RHI::Ptr& FindShaderResourceGroupLayout(const Name& shaderResourceGroupName) const + { + return FindShaderResourceGroupLayout(shaderResourceGroupName, DefaultSupervariantIndex); + } - //! Finds and returns the shader resource group asset designated as a ShaderVariantKey fallback. - const Data::Asset& FindFallbackShaderResourceGroupAsset() const; + //! Finds and returns the shader resource group layout associated with the requested binding slot. Returns an empty handle if no matching srg was found. + const RHI::Ptr& FindShaderResourceGroupLayout( + uint32_t bindingSlot, SupervariantIndex supervariantIndex) const; + const RHI::Ptr& FindShaderResourceGroupLayout(uint32_t bindingSlot) const + { + return FindShaderResourceGroupLayout(bindingSlot, DefaultSupervariantIndex); + } - //! Returns the set of shader resource groups referenced by all variants in the shader asset. - AZStd::array_view> GetShaderResourceGroupAssets() const; + //! Finds and returns the shader resource group layout designated as a ShaderVariantKey fallback. + const RHI::Ptr& FindFallbackShaderResourceGroupLayout( SupervariantIndex supervariantIndex) const; + const RHI::Ptr& FindFallbackShaderResourceGroupLayout() const + { + return FindFallbackShaderResourceGroupLayout(DefaultSupervariantIndex); + } - //! Returns the pipeline state type generated by variants of this shader. - RHI::PipelineStateType GetPipelineStateType() const; + + //! Returns the set of shader resource group layouts owned by a given supervariant. + AZStd::array_view> GetShaderResourceGroupLayouts( SupervariantIndex supervariantIndex) const; + AZStd::array_view> GetShaderResourceGroupLayouts() const + { + return GetShaderResourceGroupLayouts(DefaultSupervariantIndex); + } //! Returns the pipeline layout descriptor shared by all variants in the asset. - const RHI::PipelineLayoutDescriptor* GetPipelineLayoutDescriptor() const; - - //! Returns the shader option group layout used by all variants in the shader asset. - const ShaderOptionGroupLayout* GetShaderOptionGroupLayout() const; + const RHI::PipelineLayoutDescriptor* GetPipelineLayoutDescriptor(SupervariantIndex supervariantIndex) const; + const RHI::PipelineLayoutDescriptor* GetPipelineLayoutDescriptor() const + { + return GetPipelineLayoutDescriptor(DefaultSupervariantIndex); + } //! Returns the shader resource group asset that has per-draw frequency, which is added to every draw packet. - const Data::Asset& GetDrawSrgAsset() const; + const RHI::Ptr& GetDrawSrgLayout(SupervariantIndex supervariantIndex) const; + const RHI::Ptr& GetDrawSrgLayout() const + { + return GetDrawSrgLayout(DefaultSupervariantIndex); + } + + + //! Returns the ShaderInputContract which describes which inputs the shader requires + const ShaderInputContract& GetInputContract(SupervariantIndex supervariantIndex) const; + const ShaderInputContract& GetInputContract() const + { + return GetInputContract(DefaultSupervariantIndex); + } + + + //! Returns the ShaderOuputContract which describes which outputs the shader requires + const ShaderOutputContract& GetOutputContract(SupervariantIndex supervariantIndex) const; + const ShaderOutputContract& GetOutputContract() const + { + return GetOutputContract(DefaultSupervariantIndex); + } + + + //! Returns the render states for the draw pipeline. Only used for draw pipelines. + const RHI::RenderStates& GetRenderStates(SupervariantIndex supervariantIndex) const; + const RHI::RenderStates& GetRenderStates() const + { + return GetRenderStates(DefaultSupervariantIndex); + } + //! Returns a list of arguments for the specified attribute, or nullopt_t if the attribute is not found. The list can be empty which is still valid. - AZStd::optional GetAttribute(const RHI::ShaderStage& shaderStage, const Name& attributeName) const; + AZStd::optional GetAttribute( + const RHI::ShaderStage& shaderStage, const Name& attributeName, SupervariantIndex supervariantIndex) const; + AZStd::optional GetAttribute( + const RHI::ShaderStage& shaderStage, const Name& attributeName) const + { + return GetAttribute(shaderStage, attributeName, DefaultSupervariantIndex); + } - //! Returns the draw list tag name. - //! To get the corresponding DrawListTag use DrawListTagRegistry's FindTag() or AcquireTag() (see RHISystemInterface::GetDrawListTagRegistry()). - //! The DrawListTag is also available in the Shader that corresponds to this ShaderAsset. - const Name& GetDrawListName() const; - - //! Return the timestamp when the shader asset was built. - //! This is used to synchronize versions of the ShaderAsset and ShaderVariantTreeAsset, especially during hot-reload. - AZStd::sys_time_t GetShaderAssetBuildTimestamp() const; private: /////////////////////////////////////////////////////////////////// @@ -142,27 +232,39 @@ namespace AZ void OnShaderVariantAssetReady(Data::Asset /*shaderVariantAsset*/, bool /*isError*/) override {}; /////////////////////////////////////////////////////////////////// + //! A Supervariant represents a set of static shader compilation parameters. + //! Those parameters can be predefined c-preprocessor macros or specific arguments + //! for AZSLc. + //! For each Supervariant there's a unique Root ShaderVariantAsset, and possibly an N amount + //! of ShaderVariantAssets. The 'N' amount is the same across all Supervariants because all Supervariants + //! share the same ShaderVariantTreeAsset. + struct Supervariant + { + AZ_TYPE_INFO(Supervariant, "{850826EF-B267-4752-92F6-A85E4175CAB8}"); + static void Reflect(AZ::ReflectContext* context); + + AZ::Name m_name; + ShaderResourceGroupLayoutList m_srgLayoutList; + RHI::Ptr m_pipelineLayoutDescriptor; + ShaderInputContract m_inputContract; + ShaderOutputContract m_outputContract; + RHI::RenderStates m_renderStates; + RHI::ShaderStageAttributeMapList m_attributeMaps; + Data::Asset m_rootShaderVariantAsset; + }; + //! Container of shader data that is specific to an RHI API. //! A ShaderAsset can contain shader data for multiple RHI APIs if //! the platform support multiple RHIs. struct ShaderApiDataContainer { - AZ_TYPE_INFO(ShaderApiDataContainer, "{1CF7F153-8355-4374-89EF-AD0F78B83D95}"); + AZ_TYPE_INFO(ShaderApiDataContainer, "{C636722C-60B9-421C-ACAD-9750BF634A27}"); static void Reflect(AZ::ReflectContext* context); //! RHI API Type for this shader data. RHI::APIType m_APIType; - - //! The pipeline layout is shared between all variants in the shader. - RHI::Ptr m_pipelineLayoutDescriptor; - - Data::Asset m_rootShaderVariantAsset; - - /////////////////////////////////////////////////////////////////// - //! List of attributes attached to the shader stage entry - //! In cases where the virtual shader stage maps to one shader entry function, the attributes are of that entry function - //! In cases where the virtual shader stage maps to multiple entries, the attributes list is a union of all attributes - RHI::ShaderStageAttributeMapList m_attributeMaps; + // Index 0, will always be the default Supervariant. (see DefaultSupervariantIndex) + AZStd::vector m_supervariants; }; bool FinalizeAfterLoad(); @@ -170,38 +272,50 @@ namespace AZ ShaderApiDataContainer& GetCurrentShaderApiData(); const ShaderApiDataContainer& GetCurrentShaderApiData() const; + //! Returning pointers instead of references to allow for error checking + //! and not having to assert. + Supervariant* GetSupervariant(SupervariantIndex supervariantIndex); + const Supervariant* GetSupervariant(SupervariantIndex supervariantIndex) const; + + + //! The name is the stem of the source .shader file. Name m_name; //! Dictates the type of pipeline state generated by this asset (Draw / Dispatch / etc.). - //! All shader variants in the asset adhere to this type. + //! All shader variants, across all supervariants, in the asset adhere to this type. RHI::PipelineStateType m_pipelineStateType = RHI::PipelineStateType::Count; - //! Shader resource group assets referenced by this shader asset. - AZStd::fixed_vector, RHI::Limits::Pipeline::ShaderResourceGroupCountMax> m_shaderResourceGroupAssets; - //! Defines the layout of the shader options in the asset. Ptr m_shaderOptionGroupLayout; //! List with shader data per RHI backend. AZStd::vector m_perAPIShaderData; - static constexpr size_t InvalidAPITypeIndex = std::numeric_limits::max(); - - //! Index that indicates which ShaderDataContainer to use. - size_t m_currentAPITypeIndex = InvalidAPITypeIndex; - Name m_drawListName; - //! Used for thread safety for FindVariantStableId(). - mutable AZStd::shared_mutex m_variantTreeMutex; - //! Use to synchronize versions of the ShaderAsset and ShaderVariantTreeAsset, especially during hot-reload. AZStd::sys_time_t m_shaderAssetBuildTimestamp = 0; - //! Do Not Serialize! We can not know the ShaderVariantTreeAsset by the time this asset is being created. + + /////////////////////////////////////////////////////////////////// + //! Do Not Serialize! + + static constexpr size_t InvalidAPITypeIndex = std::numeric_limits::max(); + + //! Index that indicates which ShaderDataContainer to use. + //! At runtime, the asset checks the current active RHI Backend + //! and based on the results this variable gets set on asset load. + //! The vector @m_perAPIShaderData will be indexed with this variable. + size_t m_currentAPITypeIndex = InvalidAPITypeIndex; + + //! We can not know the ShaderVariantTreeAsset by the time this asset is being created. //! This is a value that is discovered at run time. It becomes valid when FindVariantStableId is called at least once. - Data::Asset m_shaderVariantTree; - bool m_shaderVariantTreeLoadWasRequested = false; + Data::Asset m_shaderVariantTree; + + //! Used for thread safety for FindVariantStableId(). + mutable AZStd::shared_mutex m_variantTreeMutex; + + bool m_shaderVariantTreeLoadWasRequested = false; }; class ShaderAssetHandler final @@ -219,22 +333,6 @@ namespace AZ Data::AssetHandler::LoadResult PostLoadInit(const Data::Asset& asset); }; - ////////////////////////////////////////////////////////////////////////// - // Deprecated System - enum class ShaderAssetSubId : uint32_t - { - ShaderAsset = 0, - RootShaderVariantAsset, - PostPreprocessingPureAzsl, // .azslin - IaJson, - OmJson, - SrgJson, - OptionsJson, - BindingdepJson, - GeneratedHlslSource // This must be last because we use this as a base for adding the RHI::APIType when generating shadersource for multiple RHI APIs. - }; - - ////////////////////////////////////////////////////////////////////////// } // namespace RPI diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAsset2.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAsset2.h deleted file mode 100644 index 632c35bb82..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAsset2.h +++ /dev/null @@ -1,339 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include - -namespace AZ -{ - namespace RPI - { - using ShaderResourceGroupLayoutList = AZStd::fixed_vector, RHI::Limits::Pipeline::ShaderResourceGroupCountMax>; - - enum class ShaderAsset2ProductSubId : uint32_t - { - ShaderAsset2 = 0, //!< for .azshader file, One per .shader. - RootShaderVariantAsset, //!< for .azshadervariant, one per supervariant and referenced inside the .azshader. - AzslFlat, //!< .azslin, this file contains the result of preprocessing an azsl file with MCPP, along with prepending the per-RHI azsli header. - IaJson, //!< .ia.json, Input Assembly reflection data. - OmJson, //!< .om.json, Output Merger reflection data. - SrgJson, //!< .srg.json, Shader Resource Group reflection data. - OptionsJson, //!< .options.json, Shader Options reflection data. - BindingdepJson, //!<.bindingdep.json, Binding dependencies. - GeneratedHlslSource, //!<.hlsl code generated with AZSLc. - FirstByProduct, //!< This must be last because we use this as a base for adding all the debug byProducts generated - //!< with dxc, or spirv-cross, etc. - }; - - class ShaderAsset2 final - : public Data::AssetData - , public ShaderVariantFinderNotificationBus2::Handler - , public Data::AssetBus::Handler - { - friend class ShaderAssetCreator2; - friend class ShaderAssetHandler2; - friend class ShaderAssetTester2; - public: - AZ_RTTI(ShaderAsset2, "{823395A3-D570-49F4-99A9-D820CD1DEF98}", Data::AssetData); - static void Reflect(ReflectContext* context); - - static constexpr char DisplayName[] = "Shader"; - static constexpr char Extension[] = "azshader2"; - static constexpr char Group[] = "Shader"; - - //! The default shader variant (i.e. the one without any options set). - static const ShaderVariantStableId RootShaderVariantStableId; - - // @subProductType is one of ShaderAsset2ProductSubId, or ShaderAsset2ProductSubId::FirstByProduct+ - static uint32_t MakeProductAssetSubId(uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, uint32_t subProductType); - static SupervariantIndex GetSupervariantIndexFromProductAssetSubId(uint32_t assetProducSubId); - static SupervariantIndex GetSupervariantIndexFromAssetId(const Data::AssetId& assetId); - - - ShaderAsset2() = default; - ~ShaderAsset2(); - - AZ_DISABLE_COPY_MOVE(ShaderAsset2); - - - //! Returns the name of the shader. - const Name& GetName() const; - - //! Returns the pipeline state type generated by variants of this shader. - RHI::PipelineStateType GetPipelineStateType() const; - - //! Returns the draw list tag name. - //! To get the corresponding DrawListTag use DrawListTagRegistry's FindTag() or AcquireTag() (see - //! RHISystemInterface::GetDrawListTagRegistry()). The DrawListTag is also available in the Shader that corresponds to this - //! ShaderAsset2. - const Name& GetDrawListName() const; - - //! Return the timestamp when the shader asset was built. - //! This is used to synchronize versions of the ShaderAsset2 and ShaderVariantTreeAsset, especially during hot-reload. - AZStd::sys_time_t GetShaderAssetBuildTimestamp() const; - - //! Returns the shader option group layout. - const ShaderOptionGroupLayout* GetShaderOptionGroupLayout() const; - - SupervariantIndex GetSupervariantIndex(const AZ::Name& supervariantName) const; - - //! This function should be your one stop shop to get a ShaderVariantAsset. - //! Finds and returns the best matching ShaderVariantAsset given a ShaderVariantId. - //! If the ShaderVariantAsset is not fully loaded and ready at the moment, this function - //! will QueueLoad the ShaderVariantTreeAsset and subsequently will QueueLoad the ShaderVariantAsset. - //! The called will be notified via the ShaderVariantFinderNotificationBus when the - //! ShaderVariantAsset is loaded and ready. - //! In the mean time, if the required variant is not available this function - //! returns the Root Variant. - Data::Asset GetVariant( - const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex); - Data::Asset GetVariant(const ShaderVariantId& shaderVariantId) { return GetVariant(shaderVariantId, DefaultSupervariantIndex); } - - //! Finds the best matching shader variant and returns its StableId. - //! This function first loads and caches the ShaderVariantTreeAsset (if not done before). - //! If the ShaderVariantTreeAsset is not found (either the AssetProcessor has not generated it yet, or it simply doesn't exist), then - //! it returns a search result that identifies the root variant. - //! This function is thread safe. - ShaderVariantSearchResult FindVariantStableId(const ShaderVariantId& shaderVariantId); - - //! Returns the variant asset associated with the provided StableId. - //! The user should call FindVariantStableId() first to get a ShaderVariantStableId from a ShaderVariantId, - //! Or better yet, call GetVariant(ShaderVariantId) for maximum convenience. - //! If the requested variant is not found, the root variant will be returned AND the requested variant will be queued for loading. - //! Next time around if the variant has been loaded this function will return it. Alternatively - //! the caller can register with the ShaderVariantFinderNotificationBus to get the asset as soon as is available. - //! This function is thread safe. - Data::Asset GetVariant( - ShaderVariantStableId shaderVariantStableId, SupervariantIndex supervariantIndex) const; - Data::Asset GetVariant(ShaderVariantStableId shaderVariantStableId) const { return GetVariant(shaderVariantStableId, DefaultSupervariantIndex); } - - Data::Asset GetRootVariant(SupervariantIndex supervariantIndex) const; - Data::Asset GetRootVariant() const { return GetRootVariant(DefaultSupervariantIndex); } - - - //! Finds and returns the shader resource group asset with the requested name. Returns an empty handle if no matching group was - //! found. - const RHI::Ptr FindShaderResourceGroupLayout( - const Name& shaderResourceGroupName, SupervariantIndex supervariantIndex) const; - const RHI::Ptr FindShaderResourceGroupLayout(const Name& shaderResourceGroupName) const - { - return FindShaderResourceGroupLayout(shaderResourceGroupName, DefaultSupervariantIndex); - } - - //! Finds and returns the shader resource group layout associated with the requested binding slot. Returns an empty handle if no matching srg was found. - const RHI::Ptr FindShaderResourceGroupLayout( - uint32_t bindingSlot, SupervariantIndex supervariantIndex) const; - const RHI::Ptr FindShaderResourceGroupLayout(uint32_t bindingSlot) const - { - return FindShaderResourceGroupLayout(bindingSlot, DefaultSupervariantIndex); - } - - //! Finds and returns the shader resource group layout designated as a ShaderVariantKey fallback. - const RHI::Ptr FindFallbackShaderResourceGroupLayout( SupervariantIndex supervariantIndex) const; - const RHI::Ptr FindFallbackShaderResourceGroupLayout() const - { - return FindFallbackShaderResourceGroupLayout(DefaultSupervariantIndex); - } - - - //! Returns the set of shader resource group layouts owned by a given supervariant. - AZStd::array_view> GetShaderResourceGroupLayouts( SupervariantIndex supervariantIndex) const; - AZStd::array_view> GetShaderResourceGroupLayouts() const - { - return GetShaderResourceGroupLayouts(DefaultSupervariantIndex); - } - - //! Returns the pipeline layout descriptor shared by all variants in the asset. - const RHI::PipelineLayoutDescriptor* GetPipelineLayoutDescriptor(SupervariantIndex supervariantIndex) const; - const RHI::PipelineLayoutDescriptor* GetPipelineLayoutDescriptor() const - { - return GetPipelineLayoutDescriptor(DefaultSupervariantIndex); - } - - //! Returns the shader resource group asset that has per-draw frequency, which is added to every draw packet. - const RHI::Ptr GetDrawSrgLayout(SupervariantIndex supervariantIndex) const; - const RHI::Ptr GetDrawSrgLayout() const - { - return GetDrawSrgLayout(DefaultSupervariantIndex); - } - - - //! Returns the ShaderInputContract which describes which inputs the shader requires - const ShaderInputContract& GetInputContract(SupervariantIndex supervariantIndex) const; - const ShaderInputContract& GetInputContract() const - { - return GetInputContract(DefaultSupervariantIndex); - } - - - //! Returns the ShaderOuputContract which describes which outputs the shader requires - const ShaderOutputContract& GetOutputContract(SupervariantIndex supervariantIndex) const; - const ShaderOutputContract& GetOutputContract() const - { - return GetOutputContract(DefaultSupervariantIndex); - } - - - //! Returns the render states for the draw pipeline. Only used for draw pipelines. - const RHI::RenderStates& GetRenderStates(SupervariantIndex supervariantIndex) const; - const RHI::RenderStates& GetRenderStates() const - { - return GetRenderStates(DefaultSupervariantIndex); - } - - - //! Returns a list of arguments for the specified attribute, or nullopt_t if the attribute is not found. The list can be empty which is still valid. - AZStd::optional GetAttribute( - const RHI::ShaderStage& shaderStage, const Name& attributeName, SupervariantIndex supervariantIndex) const; - AZStd::optional GetAttribute( - const RHI::ShaderStage& shaderStage, const Name& attributeName) const - { - return GetAttribute(shaderStage, attributeName, DefaultSupervariantIndex); - } - - - private: - /////////////////////////////////////////////////////////////////// - /// AssetBus overrides - void OnAssetReloaded(Data::Asset asset) override; - /////////////////////////////////////////////////////////////////// - - /////////////////////////////////////////////////////////////////// - /// ShaderVariantFinderNotificationBus2 overrides - void OnShaderVariantTreeAssetReady(Data::Asset shaderVariantTreeAsset, bool isError) override; - void OnShaderVariantAssetReady(Data::Asset /*shaderVariantAsset*/, bool /*isError*/) override {}; - /////////////////////////////////////////////////////////////////// - - //! A Supervariant represents a set of static shader compilation parameters. - //! Those parameters can be predefined c-preprocessor macros or specific arguments - //! for AZSLc. - //! For each Supervariant there's a unique Root ShaderVariantAsset, and possibly an N amount - //! of ShaderVariantAssets. The 'N' amount is the same across all Supervariants because all Supervariants - //! share the same ShaderVariantTreeAsset. - struct Supervariant - { - AZ_TYPE_INFO(Supervariant, "{850826EF-B267-4752-92F6-A85E4175CAB8}"); - static void Reflect(AZ::ReflectContext* context); - - AZ::Name m_name; - ShaderResourceGroupLayoutList m_srgLayoutList; - RHI::Ptr m_pipelineLayoutDescriptor; - ShaderInputContract m_inputContract; - ShaderOutputContract m_outputContract; - RHI::RenderStates m_renderStates; - RHI::ShaderStageAttributeMapList m_attributeMaps; - Data::Asset m_rootShaderVariantAsset; - }; - - //! Container of shader data that is specific to an RHI API. - //! A ShaderAsset2 can contain shader data for multiple RHI APIs if - //! the platform support multiple RHIs. - struct ShaderApiDataContainer - { - AZ_TYPE_INFO(ShaderApiDataContainer, "{C636722C-60B9-421C-ACAD-9750BF634A27}"); - static void Reflect(AZ::ReflectContext* context); - - //! RHI API Type for this shader data. - RHI::APIType m_APIType; - // Index 0, will always be the default Supervariant. (see DefaultSupervariantIndex) - AZStd::vector m_supervariants; - }; - - bool FinalizeAfterLoad(); - void SetReady(); - ShaderApiDataContainer& GetCurrentShaderApiData(); - const ShaderApiDataContainer& GetCurrentShaderApiData() const; - - //! Returning pointers instead of references to allow for error checking - //! and not having to assert. - Supervariant* GetSupervariant(SupervariantIndex supervariantIndex); - const Supervariant* GetSupervariant(SupervariantIndex supervariantIndex) const; - - - //! The name is the stem of the source .shader file. - Name m_name; - - //! Dictates the type of pipeline state generated by this asset (Draw / Dispatch / etc.). - //! All shader variants, across all supervariants, in the asset adhere to this type. - RHI::PipelineStateType m_pipelineStateType = RHI::PipelineStateType::Count; - - //! Defines the layout of the shader options in the asset. - Ptr m_shaderOptionGroupLayout; - - //! List with shader data per RHI backend. - AZStd::vector m_perAPIShaderData; - - Name m_drawListName; - - //! Use to synchronize versions of the ShaderAsset2 and ShaderVariantTreeAsset, especially during hot-reload. - AZStd::sys_time_t m_shaderAssetBuildTimestamp = 0; - - - /////////////////////////////////////////////////////////////////// - //! Do Not Serialize! - - static constexpr size_t InvalidAPITypeIndex = std::numeric_limits::max(); - - //! Index that indicates which ShaderDataContainer to use. - //! At runtime, the asset checks the current active RHI Backend - //! and based on the results this variable gets set on asset load. - //! The vector @m_perAPIShaderData will be indexed with this variable. - size_t m_currentAPITypeIndex = InvalidAPITypeIndex; - - //! We can not know the ShaderVariantTreeAsset by the time this asset is being created. - //! This is a value that is discovered at run time. It becomes valid when FindVariantStableId is called at least once. - Data::Asset m_shaderVariantTree; - - //! Used for thread safety for FindVariantStableId(). - mutable AZStd::shared_mutex m_variantTreeMutex; - - bool m_shaderVariantTreeLoadWasRequested = false; - }; - - class ShaderAssetHandler2 final - : public AssetHandler - { - using Base = AssetHandler; - public: - ShaderAssetHandler2() = default; - - private: - Data::AssetHandler::LoadResult LoadAssetData( - const Data::Asset& asset, - AZStd::shared_ptr stream, - const Data::AssetFilterCB& assetLoadFilterCB) override; - Data::AssetHandler::LoadResult PostLoadInit(const Data::Asset& asset); - }; - - ////////////////////////////////////////////////////////////////////////// - } // namespace RPI - -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator.h index a55befc76b..caa686d151 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator.h @@ -37,11 +37,6 @@ namespace AZ //! [Optional] Sets the DrawListTag name associated with this shader. void SetDrawListName(const Name& name); - //! [Optional] Adds a shader resource group asset. The order of shader resource group assets must match the same - //! order supplied to the pipeline layout descriptor. A mismatch will cause End() to fail. This method - //! requires that the asset be loaded in order to validate contents properly. - void AddShaderResourceGroupAsset(const Data::Asset& shaderResourceGroupAsset); - //! [Required] Assigns the layout used to construct and parse shader options packed into shader variant keys. //! Requires that the keys assigned to shader variants were constructed using the same layout. void SetShaderOptionGroupLayout(const Ptr& shaderOptionGroupLayout); @@ -51,33 +46,54 @@ namespace AZ //! @param type The target RHI API type. void BeginAPI(RHI::APIType type); - //! [Required] There's always a root variant for each RHI::APIType. - void SetRootShaderVariantAsset(Data::Asset shaderVariantAsset); + //! Begins the creation of a Supervariant for the current RHI::APIType. + //! If this is the first supervariant its name must be empty. The first + //! supervariant is always the default, nameless, supervariant. + void BeginSupervariant(const Name& name); - //! [Optional] Not all shaders have attributes before functions. Some attributes do not exist for all RHI::APIType either. - void SetShaderStageAttributeMapList(const RHI::ShaderStageAttributeMapList& shaderStageAttributeMapList); + void SetSrgLayoutList(const ShaderResourceGroupLayoutList& srgLayoutList); //! [Required] Assigns the pipeline layout descriptor shared by all variants in the shader. Shader variants //! embedded in a single shader asset are required to use the same pipeline layout. It is not necessary to call //! Finalize() on the pipeline layout prior to assignment, but still permitted. - void SetPipelineLayout(const Ptr& pipelineLayoutDescriptor); + void SetPipelineLayout(RHI::Ptr m_pipelineLayoutDescriptor); + + //! Assigns the contract for inputs required by the shader. + void SetInputContract(const ShaderInputContract& contract); + + //! Assigns the contract for outputs required by the shader. + void SetOutputContract(const ShaderOutputContract& contract); + + //! Assigns the render states for the draw pipeline. Ignored for non-draw pipelines. + void SetRenderStates(const RHI::RenderStates& renderStates); + + //! [Optional] Not all shaders have attributes before functions. Some attributes do not exist for all RHI::APIType either. + void SetShaderStageAttributeMapList(const RHI::ShaderStageAttributeMapList& shaderStageAttributeMapList); + + //! [Required] There's always a root variant for each supervariant. + void SetRootShaderVariantAsset(Data::Asset shaderVariantAsset); + + bool EndSupervariant(); bool EndAPI(); bool End(Data::Asset& shaderAsset); - //! Clones an existing ShaderAsset and replaces the referenced Srg and Variant assets. - using ShaderResourceGroupAssets = AZStd::vector>; + //! Clones an existing ShaderAsset nd replaces the referenced Srg and Variant assets using ShaderRootVariantAssets = AZStd::vector>>; void Clone(const Data::AssetId& assetId, - const ShaderAsset* sourceShaderAsset, - const ShaderResourceGroupAssets& srgAssets, + const ShaderAsset& sourceShaderAsset, const ShaderRootVariantAssets& rootVariantAssets); private: - // Shader variants will use this draw list when they don't specify one + // Shader variants will use this draw list when they don't specify one. Name m_defaultDrawList; + + // The current supervariant is cached here to facilitate asset + // construction. Additionally, prevents BeginSupervariant to be called more than once before calling EndSupervariant. + ShaderAsset::Supervariant* m_currentSupervariant = nullptr; + }; } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator2.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator2.h deleted file mode 100644 index 263d2e5107..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator2.h +++ /dev/null @@ -1,97 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include -#include - -#include - -namespace AZ -{ - namespace RPI - { - class ShaderAssetCreator2 - : public AssetCreator - { - public: - //! Begins creation of a shader asset. - void Begin(const Data::AssetId& assetId); - - //! [Optional] Set the timestamp for when the ShaderAsset build process began. - //! This is needed to synchronize between the ShaderAsset and ShaderVariantTreeAsset when hot-reloading shaders. - void SetShaderAssetBuildTimestamp(AZStd::sys_time_t shaderAssetBuildTimestamp); - - //! [Optional] Sets the name of the shader asset from content. - void SetName(const Name& name); - - //! [Optional] Sets the DrawListTag name associated with this shader. - void SetDrawListName(const Name& name); - - //! [Required] Assigns the layout used to construct and parse shader options packed into shader variant keys. - //! Requires that the keys assigned to shader variants were constructed using the same layout. - void SetShaderOptionGroupLayout(const Ptr& shaderOptionGroupLayout); - - //! Begins the shader creation for a specific RHI API. - //! Begin must be called before the BeginAPI function is called. - //! @param type The target RHI API type. - void BeginAPI(RHI::APIType type); - - //! Begins the creation of a Supervariant for the current RHI::APIType. - //! If this is the first supervariant its name must be empty. The first - //! supervariant is always the default, nameless, supervariant. - void BeginSupervariant(const Name& name); - - void SetSrgLayoutList(const ShaderResourceGroupLayoutList& srgLayoutList); - - //! [Required] Assigns the pipeline layout descriptor shared by all variants in the shader. Shader variants - //! embedded in a single shader asset are required to use the same pipeline layout. It is not necessary to call - //! Finalize() on the pipeline layout prior to assignment, but still permitted. - void SetPipelineLayout(RHI::Ptr m_pipelineLayoutDescriptor); - - //! Assigns the contract for inputs required by the shader. - void SetInputContract(const ShaderInputContract& contract); - - //! Assigns the contract for outputs required by the shader. - void SetOutputContract(const ShaderOutputContract& contract); - - //! Assigns the render states for the draw pipeline. Ignored for non-draw pipelines. - void SetRenderStates(const RHI::RenderStates& renderStates); - - //! [Optional] Not all shaders have attributes before functions. Some attributes do not exist for all RHI::APIType either. - void SetShaderStageAttributeMapList(const RHI::ShaderStageAttributeMapList& shaderStageAttributeMapList); - - //! [Required] There's always a root variant for each supervariant. - void SetRootShaderVariantAsset(Data::Asset shaderVariantAsset); - - bool EndSupervariant(); - - bool EndAPI(); - - bool End(Data::Asset& shaderAsset); - - //! Clones an existing ShaderAsset. - void Clone(const Data::AssetId& assetId, - const ShaderAsset2& sourceShaderAsset); - - private: - - // Shader variants will use this draw list when they don't specify one. - Name m_defaultDrawList; - - // The current supervariant is cached here to facilitate asset - // construction. Additionally, prevents BeginSupervariant to be called more than once before calling EndSupervariant. - ShaderAsset2::Supervariant* m_currentSupervariant = nullptr; - - }; - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderCommonTypes.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderCommonTypes.h index 35a12fbf45..6d42ac386e 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderCommonTypes.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderCommonTypes.h @@ -18,7 +18,7 @@ namespace AZ { namespace RPI { - // Common bit positions for ShaderAsset2 and ShaderVariantAsset2 product SubIds. + // Common bit positions for ShaderAsset and ShaderVariantAsset product SubIds. static constexpr uint32_t RhiIndexBitPosition = 30; static constexpr uint32_t RhiIndexNumBits = 32 - RhiIndexBitPosition; static constexpr uint32_t RhiIndexMaxValue = (1 << RhiIndexNumBits) - 1; @@ -29,9 +29,14 @@ namespace AZ //! A wrapper around a supervariant index for type conformity. //! A supervariant index is required to find shader data from - //! Shader2 and ShaderAsset2 related APIs. - using SupervariantIndex = RHI::Handle; + //! Shader and ShaderAsset related APIs. + using SupervariantIndex = RHI::Handle; + + //! All ShaderAssets are guaranteed to have at least one supervariant. + //! It is the Default Supervariant and it is always the first supervariant + //! in the list of supervariants owned by the ShaderAsset. static const SupervariantIndex DefaultSupervariantIndex(0); + static const SupervariantIndex InvalidSupervariantIndex; enum class ShaderStageType : uint32_t diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAsset.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAsset.h deleted file mode 100644 index 5268a09963..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAsset.h +++ /dev/null @@ -1,105 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include -#include - -#include - -#include - -namespace AZ -{ - namespace RHI - { - class ShaderResourceGroupLayout; - } - - namespace RPI - { - //! This asset defines the layout of a shader resource group, including any relevant metadata about reflected shader inputs. - //! - //! This is an immutable, serialized asset. It can be either serialized-in or created dynamically using ShaderResourceGroupAssetCreator. - //! See RPI::ShaderResourceGroup for runtime features based on this asset. - class ShaderResourceGroupAsset final - : public AZ::Data::AssetData - { - friend class ShaderResourceGroupAssetCreator; - friend class ShaderResourceGroupAssetHandler; - friend class ShaderResourceGroupAssetTester; - - public: - AZ_RTTI(ShaderResourceGroupAsset, "{F8C9F4AE-3F6A-45AD-B4FB-0CA415FCC2E1}", AZ::Data::AssetData); - AZ_CLASS_ALLOCATOR(ShaderResourceGroupAsset, AZ::SystemAllocator, 0); - - static const char* DisplayName; - static const char* Group; - static const char* Extension; - - static void Reflect(ReflectContext* context); - - ShaderResourceGroupAsset() = default; - - AZ_DISABLE_COPY_MOVE(ShaderResourceGroupAsset); - - //! Returns the name of the ShaderResourceGroup, which is unique within the containing shader. - const Name& GetName() const; - - //! Returns the layout that defines the low-level hardware layout for shader input bindings for the current API. - const RHI::ShaderResourceGroupLayout* GetLayout() const; - - //! Returns the layout that defines the low-level hardware layout for shader input bindings for a specific API. - const RHI::ShaderResourceGroupLayout* GetLayout(const RHI::APIType type) const; - - bool IsValid() const; - - private: - //! Called by asset creators to assign the asset to a ready state. - void SetReady(); - - bool FinalizeAfterLoad(); - - //! Find the index in the m_perAPILayout for a API type. - size_t FindAPITypeIndex(RHI::APIType type) const; - - //! The name ID of the SRG, unique within the parent shader. - Name m_name; - - //! The layout of the SRG - using APIShaderResourceGroupLayout = AZStd::pair>; - AZStd::vector m_perAPILayout; - - static constexpr const size_t InvalidAPITypeIndex = std::numeric_limits::max(); - - //! Index that indicates which ShaderResourceGroupLayout to use. - size_t m_currentAPITypeIndex = InvalidAPITypeIndex; - }; - - //! Asset handler for the Shader Resource Group asset. - class ShaderResourceGroupAssetHandler final - : public AssetHandler - { - using Base = AssetHandler; - public: - ShaderResourceGroupAssetHandler() = default; - - private: - Data::AssetHandler::LoadResult LoadAssetData( - const Data::Asset& asset, - AZStd::shared_ptr stream, - const Data::AssetFilterCB& assetLoadFilterCB) override; - Data::AssetHandler::LoadResult PostLoadInit(const Data::Asset& asset); - }; - - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.h deleted file mode 100644 index 8c7ef00ab0..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include -#include -#include - -namespace AZ -{ - namespace RPI - { - class ShaderResourceGroup; - - //! Use a ShaderResourceGroupAssetCreator to create and configure a new ShaderResourceGroupAsset. - //! Can create a ShaderResourceGroupAsset for multiple RHI APIs. - class ShaderResourceGroupAssetCreator - : public AssetCreator - { - public: - //! Begins construction of the shader resource group asset. - //! @param shaderResourceGroupName The friendly name used to identify the SRG at runtime, unique within the parent shader. - void Begin(const AZ::Data::AssetId& assetId, const Name& shaderResourceGroupName); - - //! Begins the shader resource group layout creation for a specific RHI API. - //! Begin must be called before the BeginAPI function is called. - //! @param type The target RHI API type. - void BeginAPI(RHI::APIType type); - - //! Assigns the binding slot used by all shader resource groups which use this asset. - void SetBindingSlot(uint32_t bindingSlot); - - //! Designates this SRG as ShaderVariantKey fallback - void SetShaderVariantKeyFallback(const Name& shaderInputName, uint32_t bitSize); - - //! Adds a static sampler to the shader resource group. Static samplers cannot be changed at runtime. - void AddStaticSampler(const RHI::ShaderInputStaticSamplerDescriptor& shaderInputStaticSampler); - - //! Adds a shader input to the ShaderResourceGroupLayout. - void AddShaderInput(const RHI::ShaderInputBufferDescriptor& shaderInputBuffer); - void AddShaderInput(const RHI::ShaderInputImageDescriptor& shaderInputImage); - void AddShaderInput(const RHI::ShaderInputBufferUnboundedArrayDescriptor& shaderInputBufferUnboundedArray); - void AddShaderInput(const RHI::ShaderInputImageUnboundedArrayDescriptor& shaderInputImageUnboundedArray); - void AddShaderInput(const RHI::ShaderInputSamplerDescriptor& shaderInputSampler); - void AddShaderInput(const RHI::ShaderInputConstantDescriptor& shaderInputConstant); - - //! Finalizes and assigns ownership of the asset to result, if successful. - //! Otherwise false is returned and result is left untouched. - bool End(Data::Asset& result); - - bool EndAPI(); - - private: - //! Release all temporary resources when building ends - void Cleanup(); - - RHI::APIType m_currentAPIType; - - RHI::Ptr m_shaderResourceGroupLayout; - }; - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset.h index 22ce16b9f8..7e88a99b09 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset.h @@ -13,14 +13,9 @@ #include -#include -#include #include - #include #include -#include -#include namespace AZ { @@ -35,7 +30,7 @@ namespace AZ friend class ShaderVariantAssetCreator; public: - AZ_RTTI(ShaderVariantAsset, "{9F4D654B-4439-4C61-8DCD-F1C7C5560768}", Data::AssetData); + AZ_RTTI(ShaderVariantAsset, "{51BED815-36D8-410E-90F0-1FA9FF765FBA}", Data::AssetData); static void Reflect(ReflectContext* context); @@ -43,12 +38,12 @@ namespace AZ static constexpr const char* DisplayName = "ShaderVariant"; static constexpr const char* Group = "Shader"; - static constexpr uint32_t ShaderVariantAssetSubProductType = 0; + static constexpr uint32_t ShaderVariantAssetSubProductType = 1; //! @rhiApiUniqueIndex comes from RHI::Factory::GetAPIUniqueIndex() //! @subProductType is always 0 for a regular ShaderVariantAsset, for all other debug subProducts created //! by ShaderVariantAssetBuilder this is 1+. static uint32_t MakeAssetProductSubId( - uint32_t rhiApiUniqueIndex, ShaderVariantStableId variantStableId, + uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, ShaderVariantStableId variantStableId, uint32_t subProductType = ShaderVariantAssetSubProductType); ShaderVariantAsset() = default; @@ -63,23 +58,14 @@ namespace AZ //! Returns the shader stage function associated with the provided stage enum value. const RHI::ShaderStageFunction* GetShaderStageFunction(RHI::ShaderStage shaderStage) const; - //! Returns the ShaderInputContract which describes which inputs the shader requires - const ShaderInputContract& GetInputContract() const; - - //! Returns the ShaderOuputContract which describes which outputs the shader requires - const ShaderOutputContract& GetOutputContract() const; - - //! Returns the render states for the draw pipeline. Only used for draw pipelines. - const RHI::RenderStates& GetRenderStates() const; - //! Returns whether the variant is fully baked variant (all options are static branches), or false if the //! variant uses dynamic branches for some shader options. //! If the shader variant is not fully baked, the ShaderVariantKeyFallbackValue must be correctly set when drawing. bool IsFullyBaked() const; - //! Return the timestamp when the associated ShaderAsset was built. + //! Return the timestamp when this asset was built, and it must be >= than the timestamp of the main ShaderAsset. //! This is used to synchronize versions of the ShaderAsset and ShaderVariantAsset, especially during hot-reload. - AZStd::sys_time_t GetShaderAssetBuildTimestamp() const; + AZStd::sys_time_t GetBuildTimestamp() const; bool IsRootVariant() const { return m_stableId == RPI::RootShaderVariantStableId; } @@ -92,20 +78,13 @@ namespace AZ RPI::ShaderVariantStableId m_stableId; ShaderVariantId m_shaderVariantId; - ShaderInputContract m_inputContract; - ShaderOutputContract m_outputContract; - bool m_isFullyBaked = false; - //! The only reason the render states are part of the ShaderVariantAsset - //! instead of ShaderAsset is because the m_blendStage.m_targets[i] - //! get populated by the number of colorAttachementCounts which comes from - //! the output contract which is a per variant piece of data. - RHI::RenderStates m_renderStates; + bool m_isFullyBaked = false; AZStd::array, RHI::ShaderStageCount> m_functionsByStage; //! Used to synchronize versions of the ShaderAsset and ShaderVariantAsset, especially during hot-reload. - AZStd::sys_time_t m_shaderAssetBuildTimestamp = 0; + AZStd::sys_time_t m_buildTimestamp = 0; }; class ShaderVariantAssetHandler final diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset2.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset2.h deleted file mode 100644 index 82e868fda8..0000000000 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset2.h +++ /dev/null @@ -1,104 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#pragma once - -#include - -#include -#include -#include - -namespace AZ -{ - namespace RPI - { - //! A ShaderVariantAsset2 contains the shader byte code for each shader stage (Vertex, Fragment, Tessellation, etc) for a given RHI::APIType (dx12, vulkan, metal, etc). - //! One independent file per RHI::APIType. - class ShaderVariantAsset2 final - : public Data::AssetData - { - friend class ShaderVariantAssetHandler2; - friend class ShaderVariantAssetCreator2; - - public: - AZ_RTTI(ShaderVariantAsset2, "{51BED815-36D8-410E-90F0-1FA9FF765FBA}", Data::AssetData); - - static void Reflect(ReflectContext* context); - - static constexpr const char* Extension = "azshadervariant2"; - static constexpr const char* DisplayName = "ShaderVariant"; - static constexpr const char* Group = "Shader"; - - static constexpr uint32_t ShaderVariantAsset2SubProductType = 1; - //! @rhiApiUniqueIndex comes from RHI::Factory::GetAPIUniqueIndex() - //! @subProductType is always 0 for a regular ShaderVariantAsset2, for all other debug subProducts created - //! by ShaderVariantAssetBuilder2 this is 1+. - static uint32_t MakeAssetProductSubId( - uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, ShaderVariantStableId variantStableId, - uint32_t subProductType = ShaderVariantAsset2SubProductType); - - ShaderVariantAsset2() = default; - ~ShaderVariantAsset2() = default; - - AZ_DISABLE_COPY_MOVE(ShaderVariantAsset2); - - RPI::ShaderVariantStableId GetStableId() const { return m_stableId; } - - const ShaderVariantId& GetShaderVariantId() const { return m_shaderVariantId; } - - //! Returns the shader stage function associated with the provided stage enum value. - const RHI::ShaderStageFunction* GetShaderStageFunction(RHI::ShaderStage shaderStage) const; - - //! Returns whether the variant is fully baked variant (all options are static branches), or false if the - //! variant uses dynamic branches for some shader options. - //! If the shader variant is not fully baked, the ShaderVariantKeyFallbackValue must be correctly set when drawing. - bool IsFullyBaked() const; - - //! Return the timestamp when this asset was built, and it must be >= than the timestamp of the main ShaderAsset. - //! This is used to synchronize versions of the ShaderAsset and ShaderVariantAsset2, especially during hot-reload. - AZStd::sys_time_t GetBuildTimestamp() const; - - bool IsRootVariant() const { return m_stableId == RPI::RootShaderVariantStableId; } - - private: - //! Called by asset creators to assign the asset to a ready state. - void SetReady(); - bool FinalizeAfterLoad(); - - //! See AZ::RPI::ShaderVariantListSourceData::VariantInfo::m_stableId for details. - RPI::ShaderVariantStableId m_stableId; - - ShaderVariantId m_shaderVariantId; - - bool m_isFullyBaked = false; - - AZStd::array, RHI::ShaderStageCount> m_functionsByStage; - - //! Used to synchronize versions of the ShaderAsset and ShaderVariantAsset2, especially during hot-reload. - AZStd::sys_time_t m_buildTimestamp = 0; - }; - - class ShaderVariantAssetHandler2 final - : public AssetHandler - { - using Base = AssetHandler; - public: - ShaderVariantAssetHandler2() = default; - - private: - LoadResult LoadAssetData(const Data::Asset& asset, AZStd::shared_ptr stream, const AZ::Data::AssetFilterCB& assetLoadFilterCB) override; - bool PostLoadInit(const Data::Asset& asset); - }; - - } // namespace RPI - -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/System/SceneDescriptor.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/System/SceneDescriptor.h index 371c8afced..6a9d5c200c 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/System/SceneDescriptor.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Reflect/System/SceneDescriptor.h @@ -12,7 +12,6 @@ #pragma once -#include #include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/BuilderComponent.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/BuilderComponent.cpp index 70752bf02b..a67bce4acb 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/BuilderComponent.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/BuilderComponent.cpp @@ -26,8 +26,6 @@ #include #include #include -#include -#include #include #include #include @@ -36,7 +34,6 @@ #include #include #include -#include #include #include @@ -90,8 +87,6 @@ namespace AZ m_assetWorkers.emplace_back(MakeAssetBuilder()); m_assetHandlers.emplace_back(MakeAssetHandler()); - m_assetHandlers.emplace_back(MakeAssetHandler()); - m_assetHandlers.emplace_back(MakeAssetHandler()); m_assetHandlers.emplace_back(MakeAssetHandler()); m_assetHandlers.emplace_back(MakeAssetHandler()); m_assetHandlers.emplace_back(MakeAssetHandler()); @@ -101,7 +96,6 @@ namespace AZ m_assetHandlers.emplace_back(MakeAssetHandler()); m_assetHandlers.emplace_back(MakeAssetHandler()); m_assetHandlers.emplace_back(MakeAssetHandler()); - m_assetHandlers.emplace_back(MakeAssetHandler()); m_assetHandlers.emplace_back(MakeAssetHandler()); m_assetHandlers.emplace_back(MakeAssetHandler()); m_assetHandlers.emplace_back(MakeAssetHandler()); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp index d31b6b3802..0cd0b7cff1 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp @@ -19,7 +19,6 @@ #include #include -#include #include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/Pass/PassBuilder.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/Pass/PassBuilder.cpp index 1b02d5eb48..e2d951fcdb 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/Pass/PassBuilder.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/Pass/PassBuilder.cpp @@ -41,7 +41,7 @@ namespace AZ { AssetBuilderSDK::AssetBuilderDesc builder; builder.m_name = PassBuilderJobKey; - builder.m_version = 11; + builder.m_version = 12; // ATOM-15472 builder.m_busId = azrtti_typeid(); builder.m_createJobFunction = AZStd::bind(&PassBuilder::CreateJobs, this, AZStd::placeholders::_1, AZStd::placeholders::_2); builder.m_processJobFunction = AZStd::bind(&PassBuilder::ProcessJob, this, AZStd::placeholders::_1, AZStd::placeholders::_2); @@ -114,23 +114,6 @@ namespace AZ AZStd::string path = assetReference->m_filePath; uint32_t subId = 0; - // [GFX TODO][ATOM-2789] This is a temporary hack that assumes anything ending with ":foo" is indicating the name of an SRG which is used to generate the SRG AssetId - if (path.find(':') != AZStd::string::npos) - { - AZStd::vector tokens; - AzFramework::StringFunc::Tokenize(assetReference->m_filePath.c_str(), tokens, ":"); - if (tokens.size() == 2) - { - path = tokens[0]; - subId = AssetUtils::CalcSrgProductSubId(Name{tokens[1]}); - } - else - { - AZ_Error(PassBuilderName, false, "Path not formatted correctly [%s]", assetReference->m_filePath.c_str()); - foundProblems = true; - } - } - auto assetIdOutcome = AssetUtils::MakeAssetId(path, subId); if (assetIdOutcome) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Common/AssetUtils.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Common/AssetUtils.cpp index 32cffc771a..3cefa696c3 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Common/AssetUtils.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Common/AssetUtils.cpp @@ -21,12 +21,6 @@ namespace AZ { namespace AssetUtils { - uint32_t CalcSrgProductSubId(const Name& srgName) - { - //[GFX TODO] Make SrgLayoutBuilder share this code after the gems reorg is complete - return static_cast(AZStd::hash()(srgName.GetStringView()) & 0xFFFFFFFF); - } - AZStd::string GetProductPathByAssetId(const AZ::Data::AssetId& assetId) { AZStd::string productPath; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialTypeSourceData.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialTypeSourceData.cpp index 109af70166..ea623a1f48 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialTypeSourceData.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialTypeSourceData.cpp @@ -324,7 +324,7 @@ namespace AZ ); // Gather UV names - const ShaderInputContract& shaderInputContract = shaderAsset.GetValue()->GetRootVariant()->GetInputContract(); + const ShaderInputContract& shaderInputContract = shaderAsset.GetValue()->GetInputContract(); for (const ShaderInputContract::StreamChannelInfo& channel : shaderInputContract.m_streamChannels) { const RHI::ShaderSemantic& semantic = channel.m_semantic; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Shader/ShaderVariantAssetCreator.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Shader/ShaderVariantAssetCreator.cpp index cca35533fe..e21c87648f 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Shader/ShaderVariantAssetCreator.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Shader/ShaderVariantAssetCreator.cpp @@ -13,15 +13,13 @@ #include -#include -#include #include namespace AZ { namespace RPI { - void ShaderVariantAssetCreator::Begin(const AZ::Data::AssetId& assetId, const ShaderVariantId& shaderVariantId, RPI::ShaderVariantStableId stableId, const ShaderOptionGroupLayout* shaderOptionGroupLayout) + void ShaderVariantAssetCreator::Begin(const AZ::Data::AssetId& assetId, const ShaderVariantId& shaderVariantId, RPI::ShaderVariantStableId stableId, bool isFullyBaked) { BeginCommon(assetId); @@ -29,16 +27,7 @@ namespace AZ { m_asset->m_stableId = stableId; m_asset->m_shaderVariantId = shaderVariantId; - - if (shaderOptionGroupLayout) - { - ShaderOptionGroup shaderOptions{shaderOptionGroupLayout, shaderVariantId}; - m_asset->m_isFullyBaked = shaderOptions.IsFullySpecified(); - } - else if(shaderVariantId.m_mask.any()) - { - ReportError("ShaderVariantId is not empty, but no ShaderOptionGroupLayout was provided"); - } + m_asset->m_isFullyBaked = isFullyBaked; } } @@ -55,6 +44,12 @@ namespace AZ return false; } + if (!m_asset->m_buildTimestamp) + { + ReportError("Invalid timestamp"); + return false; + } + bool foundDrawFunctions = false; bool foundDispatchFunctions = false; @@ -91,27 +86,7 @@ namespace AZ return false; } - const ShaderInputContract& shaderInputContract = m_asset->m_inputContract; - // Validate that each stream ID appears only once. - for (const auto& channel : shaderInputContract.m_streamChannels) - { - int count = 0; - for (const auto& searchChannel : shaderInputContract.m_streamChannels) - { - if (channel.m_semantic == searchChannel.m_semantic) - { - ++count; - } - } - - if (count > 1) - { - ReportError("Input stream channel '%s' appears multiple times. For Shader Variant with StableId '%u' ", - channel.m_semantic.ToString().c_str(), m_asset->m_stableId); - return false; - } - } m_asset->SetReady(); return EndCommon(result); @@ -121,11 +96,11 @@ namespace AZ ///////////////////////////////////////////////////////////////////// // Methods for all shader variant types - void ShaderVariantAssetCreator::SetShaderAssetBuildTimestamp(AZStd::sys_time_t shaderAssetBuildTimestamp) + void ShaderVariantAssetCreator::SetBuildTimestamp(AZStd::sys_time_t buildTimestamp) { if (ValidateIsReady()) { - m_asset->m_shaderAssetBuildTimestamp = shaderAssetBuildTimestamp; + m_asset->m_buildTimestamp = buildTimestamp; } } @@ -137,33 +112,5 @@ namespace AZ } } - ///////////////////////////////////////////////////////////////////// - // Methods for PipelineStateType::Draw variants. - - void ShaderVariantAssetCreator::SetInputContract(const ShaderInputContract& contract) - { - if (ValidateIsReady()) - { - m_asset->m_inputContract = contract; - } - } - - void ShaderVariantAssetCreator::SetOutputContract(const ShaderOutputContract& contract) - { - if (ValidateIsReady()) - { - m_asset->m_outputContract = contract; - } - } - - void ShaderVariantAssetCreator::SetRenderStates(const RHI::RenderStates& renderStates) - { - if (ValidateIsReady()) - { - m_asset->m_renderStates = renderStates; - } - } - - } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Shader/ShaderVariantAssetCreator2.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Shader/ShaderVariantAssetCreator2.cpp deleted file mode 100644 index 2936ed50f9..0000000000 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Shader/ShaderVariantAssetCreator2.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#include - -#include - -#include -#include -#include - -namespace AZ -{ - namespace RPI - { - void ShaderVariantAssetCreator2::Begin(const AZ::Data::AssetId& assetId, const ShaderVariantId& shaderVariantId, RPI::ShaderVariantStableId stableId, bool isFullyBaked) - { - BeginCommon(assetId); - - if (ValidateIsReady()) - { - m_asset->m_stableId = stableId; - m_asset->m_shaderVariantId = shaderVariantId; - m_asset->m_isFullyBaked = isFullyBaked; - } - } - - bool ShaderVariantAssetCreator2::End(Data::Asset& result) - { - if (!ValidateIsReady()) - { - return false; - } - - if (!m_asset->FinalizeAfterLoad()) - { - ReportError("Failed to finalize the ShaderResourceGroupAsset."); - return false; - } - - bool foundDrawFunctions = false; - bool foundDispatchFunctions = false; - - if (m_asset->GetShaderStageFunction(RHI::ShaderStage::Vertex) || - m_asset->GetShaderStageFunction(RHI::ShaderStage::Tessellation) || - m_asset->GetShaderStageFunction(RHI::ShaderStage::Fragment)) - { - foundDrawFunctions = true; - } - - if (m_asset->GetShaderStageFunction(RHI::ShaderStage::Compute)) - { - foundDispatchFunctions = true; - } - - - if (foundDrawFunctions && foundDispatchFunctions) - { - ReportError("ShaderVariant contains both Draw functions and Dispatch functions."); - return false; - } - - if (m_asset->GetShaderStageFunction(RHI::ShaderStage::Fragment) && - !m_asset->GetShaderStageFunction(RHI::ShaderStage::Vertex)) - { - ReportError("Shader Variant with StableId '%u' has a fragment function but no vertex function.", m_asset->m_stableId); - return false; - } - - if (m_asset->GetShaderStageFunction(RHI::ShaderStage::Tessellation) && - !m_asset->GetShaderStageFunction(RHI::ShaderStage::Vertex)) - { - ReportError("Shader Variant with StableId '%u' has a tessellation function but no vertex function.", m_asset->m_stableId); - return false; - } - - - - m_asset->SetReady(); - return EndCommon(result); - } - - - ///////////////////////////////////////////////////////////////////// - // Methods for all shader variant types - - void ShaderVariantAssetCreator2::SetBuildTimestamp(AZStd::sys_time_t buildTimestamp) - { - if (ValidateIsReady()) - { - m_asset->m_buildTimestamp = buildTimestamp; - } - } - - void ShaderVariantAssetCreator2::SetShaderFunction(RHI::ShaderStage shaderStage, RHI::Ptr shaderStageFunction) - { - if (ValidateIsReady()) - { - m_asset->m_functionsByStage[static_cast(shaderStage)] = shaderStageFunction; - } - } - - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/DynamicDraw/DynamicDrawContext.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/DynamicDraw/DynamicDrawContext.cpp index 00c2122825..1a575c9385 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/DynamicDraw/DynamicDrawContext.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/DynamicDraw/DynamicDrawContext.cpp @@ -129,17 +129,17 @@ namespace AZ } // Create per context srg if it exist - auto shaderAsset = shader->GetAsset(); - auto contextSrgAsset = shaderAsset->FindShaderResourceGroupAsset(Name{ PerContextSrgName }); - if (contextSrgAsset.GetId().IsValid()) + auto contextSrgLayout = m_shader->FindShaderResourceGroupLayout(Name { PerContextSrgName }); + if (contextSrgLayout) { - m_srgPerContext = AZ::RPI::ShaderResourceGroup::Create(contextSrgAsset); + m_srgPerContext = AZ::RPI::ShaderResourceGroup::Create( + m_shader->GetAsset(), m_shader->GetSupervariantIndex(), Name { PerContextSrgName }); m_srgGroups[0] = m_srgPerContext->GetRHIShaderResourceGroup(); } // Save per draw srg asset which can be used to create draw srg later - m_drawSrgAsset = shaderAsset->FindShaderResourceGroupAsset(SrgBindingSlot::Draw); - m_hasShaderVariantKeyFallbackEntry = (m_drawSrgAsset && m_drawSrgAsset->GetLayout()->HasShaderVariantKeyFallbackEntry()); + m_drawSrgLayout = m_shader->FindShaderResourceGroupLayout(SrgBindingSlot::Draw); + m_hasShaderVariantKeyFallbackEntry = (m_drawSrgLayout && m_drawSrgLayout->HasShaderVariantKeyFallbackEntry()); } void DynamicDrawContext::InitVertexFormat(const AZStd::vector& vertexChannels) @@ -397,7 +397,7 @@ namespace AZ return; } - if (m_drawSrgAsset.GetId().IsValid() && drawSrg == nullptr) + if (!m_drawSrgLayout) { AZ_Assert(false, "PerDrawSrg need to be provided since the shader uses it"); return; @@ -487,7 +487,7 @@ namespace AZ return; } - if (m_drawSrgAsset.GetId().IsValid() && drawSrg == nullptr) + if (!m_drawSrgLayout) { AZ_Assert(false, "PerDrawSrg need to be provided since the shader uses it"); return; @@ -563,11 +563,11 @@ namespace AZ Data::Instance DynamicDrawContext::NewDrawSrg() { - if (!m_drawSrgAsset.IsReady()) + if (!m_drawSrgLayout) { return nullptr; } - auto drawSrg = AZ::RPI::ShaderResourceGroup::Create(m_drawSrgAsset); + auto drawSrg = AZ::RPI::ShaderResourceGroup::Create(m_shader->GetAsset(), m_shader->GetSupervariantIndex(), m_drawSrgLayout->GetName()); // Set fallback value for shader variant if draw srg contains constant for shader variant fallback if (m_hasShaderVariantKeyFallbackEntry) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Image/ImageSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Image/ImageSystem.cpp index f7cdc2ff71..2f29058020 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Image/ImageSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Image/ImageSystem.cpp @@ -132,13 +132,10 @@ namespace AZ } // Register streaming image controller instance database. - // Note, third party gems may add new handlers to this InstanceDatabase as well, to handle custom implementations. - { - Data::InstanceDatabase::Create(azrtti_typeid()); - - Data::InstanceDatabase::Instance().AddHandler( - azrtti_typeid(), &DefaultStreamingImageController::CreateInternal); + Data::InstanceHandler handler; + handler.m_createFunction = DefaultStreamingImageController::CreateInternal; + Data::InstanceDatabase::Create(azrtti_typeid(), handler); } m_defaultStreamingImageControllerAsset = diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp index 4a2718b9d5..4e65d68d6c 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp @@ -63,13 +63,13 @@ namespace AZ AZ_TRACE_METHOD(); m_materialAsset = { &materialAsset, AZ::Data::AssetLoadBehavior::PreLoad }; - - // Cache off pointers to some key data structures from the material type... - auto& srgAsset = m_materialAsset->GetMaterialSrgAsset(); - if (srgAsset) + // Cache off pointers to some key data structures from the material type... + auto srgLayout = m_materialAsset->GetMaterialSrgLayout(); + if (srgLayout) { - m_shaderResourceGroup = ShaderResourceGroup::Create(m_materialAsset->GetMaterialSrgAsset()); + auto shaderAsset = m_materialAsset->GetMaterialTypeAsset()->GetShaderAssetForMaterialSrg(); + m_shaderResourceGroup = ShaderResourceGroup::Create(shaderAsset, DefaultSupervariantIndex, srgLayout->GetName()); if (m_shaderResourceGroup) { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/MeshDrawPacket.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/MeshDrawPacket.cpp index b1265b1228..79e1f7d1d0 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/MeshDrawPacket.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/MeshDrawPacket.cpp @@ -166,8 +166,6 @@ namespace AZ return false; } - const AZ::Data::Asset& drawSrgAsset = shader->GetAsset()->GetDrawSrgAsset(); - // Set all unspecified shader options to default values, so that we get the most specialized variant possible. // (because FindVariantStableId treats unspecified options as a request specifically for a variant that doesn't specify those options) // [GFX TODO][ATOM-3883] We should consider updating the FindVariantStableId algorithm to handle default values for us, and remove this step here. @@ -177,7 +175,7 @@ namespace AZ // [GFX_TODO][ATOM-14476]: according to this usage, we should make the shader input contract uniform across all shader variants. m_modelLod->CheckOptionalStreams( shaderOptions, - shader->GetVariant(ShaderAsset::RootShaderVariantStableId).GetInputContract(), + shader->GetInputContract(), m_modelLodMeshIndex, m_materialModelUvMap, m_material->GetAsset()->GetMaterialTypeAsset()->GetUvNameMap()); @@ -215,7 +213,7 @@ namespace AZ pipelineStateDescriptor.m_inputStreamLayout, streamBufferViews, &uvStreamTangentBitmask, - variant.GetInputContract(), + shader->GetInputContract(), m_modelLodMeshIndex, m_materialModelUvMap, m_material->GetAsset()->GetMaterialTypeAsset()->GetUvNameMap())) @@ -223,14 +221,15 @@ namespace AZ return false; } + auto drawSrgLayout = shader->GetAsset()->GetDrawSrgLayout(shader->GetSupervariantIndex()); Data::Instance drawSrg; - if (drawSrgAsset) + if (drawSrgLayout) { AZ_PROFILE_SCOPE(Debug::ProfileCategory::AzRender, "create drawSrg"); // If the DrawSrg exists we must create and bind it, otherwise the CommandList will fail validation for SRG being null - drawSrg = RPI::ShaderResourceGroup::Create(drawSrgAsset); + drawSrg = RPI::ShaderResourceGroup::Create(shader->GetAsset(), shader->GetSupervariantIndex(), drawSrgLayout->GetName()); - if (!variant.IsFullyBaked() && drawSrgAsset->GetLayout()->HasShaderVariantKeyFallbackEntry()) + if (!variant.IsFullyBaked() && drawSrgLayout->HasShaderVariantKeyFallbackEntry()) { drawSrg->SetShaderVariantKeyFallbackValue(shaderOptions.GetShaderVariantKeyFallbackValue()); } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp index 88d3eb27fd..a7262517dd 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp @@ -134,10 +134,10 @@ namespace AZ } // Load SRG - const Data::Asset& srgAsset = m_decomposeShader->FindShaderResourceGroupAsset(Name{ "ObjectSrg" }); - if (srgAsset) + const auto srgLayout = m_decomposeShader->FindShaderResourceGroupLayout(SrgBindingSlot::Object); + if (srgLayout) { - m_decomposeSrg = ShaderResourceGroup::Create(srgAsset); + m_decomposeSrg = ShaderResourceGroup::Create(m_decomposeShader->GetAsset(), m_decomposeShader->GetSupervariantIndex(), srgLayout->GetName()); if (!m_decomposeSrg) { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ComputePass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ComputePass.cpp index 5077ccaa51..0253ef0c9b 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ComputePass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/ComputePass.cpp @@ -87,10 +87,10 @@ namespace AZ } // Load Pass SRG... - const Data::Asset& passSrgAsset = m_shader->FindShaderResourceGroupAsset(SrgBindingSlot::Pass); - if (passSrgAsset) + const auto passSrgLayout = m_shader->FindShaderResourceGroupLayout(SrgBindingSlot::Pass); + if (passSrgLayout) { - m_shaderResourceGroup = ShaderResourceGroup::Create(passSrgAsset); + m_shaderResourceGroup = ShaderResourceGroup::Create(shaderAsset, m_shader->GetSupervariantIndex(), passSrgLayout->GetName()); AZ_Assert(m_shaderResourceGroup, "[ComputePass '%s']: Failed to create SRG from shader asset '%s'", GetPathName().GetCStr(), @@ -100,10 +100,10 @@ namespace AZ } // Load Draw SRG... - const Data::Asset& drawSrgAsset = m_shader->FindShaderResourceGroupAsset(SrgBindingSlot::Draw); - if (drawSrgAsset) + const auto drawSrgLayout = m_shader->FindShaderResourceGroupLayout(SrgBindingSlot::Draw); + if (drawSrgLayout) { - m_drawSrg = ShaderResourceGroup::Create(drawSrgAsset); + m_drawSrg = ShaderResourceGroup::Create(shaderAsset, m_shader->GetSupervariantIndex(), drawSrgLayout->GetName()); } RHI::DispatchDirect dispatchArgs; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/FullscreenTrianglePass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/FullscreenTrianglePass.cpp index a854867998..7235bb343d 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/FullscreenTrianglePass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/FullscreenTrianglePass.cpp @@ -100,10 +100,10 @@ namespace AZ } // Load Pass SRG - const Data::Asset& passSrgAsset = m_shader->FindShaderResourceGroupAsset(Name{ "PassSrg" }); - if (passSrgAsset) + const auto passSrgLayout = m_shader->FindShaderResourceGroupLayout(SrgBindingSlot::Pass); + if (passSrgLayout) { - m_shaderResourceGroup = ShaderResourceGroup::Create(passSrgAsset); + m_shaderResourceGroup = ShaderResourceGroup::Create(shaderAsset, m_shader->GetSupervariantIndex(), passSrgLayout->GetName()); AZ_Assert(m_shaderResourceGroup, "[FullscreenTrianglePass '%s']: Failed to create SRG from shader asset '%s'", GetPathName().GetCStr(), @@ -114,10 +114,10 @@ namespace AZ // Load Draw SRG // this is necessary since the shader may have options, which require a default draw SRG - const Data::Asset& drawSrgAsset = m_shader->FindShaderResourceGroupAsset(Name{ "DrawSrg" }); - if (drawSrgAsset) + const auto drawSrgLayout = m_shader->FindShaderResourceGroupLayout(SrgBindingSlot::Draw); + if (drawSrgLayout) { - m_drawShaderResourceGroup = ShaderResourceGroup::Create(drawSrgAsset); + m_drawShaderResourceGroup = ShaderResourceGroup::Create(shaderAsset, m_shader->GetSupervariantIndex(), drawSrgLayout->GetName()); } // Store stencil reference value for the draw call diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RasterPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RasterPass.cpp index baf1d22da5..13f2784a2d 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RasterPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RasterPass.cpp @@ -23,7 +23,6 @@ #include #include -#include namespace AZ { @@ -51,26 +50,32 @@ namespace AZ SetDrawListTag(rasterData->m_drawListTag); m_drawListSortType = rasterData->m_drawListSortType; - // Get SRG asset - Data::Asset srgAsset; - if (rasterData->m_passSrgReference.m_assetId.IsValid()) + // Get the shader asset that contains the SRG Layout. + Data::Asset shaderAsset; + if (rasterData->m_passSrgShaderReference.m_assetId.IsValid()) { - srgAsset = AssetUtils::LoadAssetById(rasterData->m_passSrgReference.m_assetId, AssetUtils::TraceLevel::Error); + shaderAsset = AssetUtils::LoadAssetById(rasterData->m_passSrgShaderReference.m_assetId, AssetUtils::TraceLevel::Error); } - else if (!rasterData->m_passSrgReference.m_filePath.empty()) + else if (!rasterData->m_passSrgShaderReference.m_filePath.empty()) { - srgAsset = AssetUtils::LoadAssetByProductPath(rasterData->m_passSrgReference.m_filePath.c_str(), AssetUtils::TraceLevel::Error); + shaderAsset = AssetUtils::LoadAssetByProductPath( + rasterData->m_passSrgShaderReference.m_filePath.c_str(), AssetUtils::TraceLevel::Error); } - if (srgAsset) + if (shaderAsset) { - m_shaderResourceGroup = ShaderResourceGroup::Create(srgAsset); + auto supervariantIndex = DefaultSupervariantIndex; + const auto srgLayout = shaderAsset->FindShaderResourceGroupLayout(SrgBindingSlot::Pass, supervariantIndex); + if (srgLayout) + { + m_shaderResourceGroup = ShaderResourceGroup::Create(shaderAsset, supervariantIndex, srgLayout->GetName()); - AZ_Assert(m_shaderResourceGroup, "[RasterPass '%s']: Failed to create SRG from shader asset '%s'", - GetPathName().GetCStr(), - rasterData->m_passSrgReference.m_filePath.data()); + AZ_Assert( + m_shaderResourceGroup, "[RasterPass '%s']: Failed to create SRG from shader asset '%s'", GetPathName().GetCStr(), + rasterData->m_passSrgShaderReference.m_filePath.data()); - PassUtils::BindDataMappingsToSrg(descriptor, m_shaderResourceGroup.get()); + PassUtils::BindDataMappingsToSrg(descriptor, m_shaderResourceGroup.get()); + } } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/ImageAttachmentPreviewPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/ImageAttachmentPreviewPass.cpp index e2fdfb48e3..826b27acc2 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/ImageAttachmentPreviewPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/Specific/ImageAttachmentPreviewPass.cpp @@ -25,7 +25,6 @@ #include #include -#include namespace AZ { @@ -259,10 +258,10 @@ namespace AZ } // Load SRG - const Data::Asset& srgAsset = m_shader->FindShaderResourceGroupAsset(Name{ "PassSrg" }); - if (srgAsset) + const auto srgLayout = m_shader->FindShaderResourceGroupLayout(SrgBindingSlot::Pass); + if (srgLayout) { - m_passSrg = ShaderResourceGroup::Create(srgAsset); + m_passSrg = ShaderResourceGroup::Create(shaderAsset, m_shader->GetSupervariantIndex(), srgLayout->GetName()); if (!m_passSrg) { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/RPISystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/RPISystem.cpp index 44be2dabeb..768869834f 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/RPISystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/RPISystem.cpp @@ -112,8 +112,9 @@ namespace AZ void RPISystem::Shutdown() { m_viewportContextManager.Shutdown(); - m_viewSrgAsset.Reset(); - m_sceneSrgAsset.Reset(); + m_viewSrgLayout = nullptr; + m_sceneSrgLayout = nullptr; + m_commonShaderAssetForSrgs.Reset(); #if AZ_RPI_PRINT_GLOBAL_STATE_ON_ASSERT Debug::TraceMessageBus::Handler::BusDisconnect(); @@ -212,16 +213,22 @@ namespace AZ return nullptr; } - Data::Asset RPISystem::GetSceneSrgAsset() const + Data::Asset RPISystem::GetCommonShaderAssetForSrgs() const { AZ_Assert(m_systemAssetsInitialized, "InitializeSystemAssets() should be called once when asset catalog loaded'"); - return m_sceneSrgAsset; + return m_commonShaderAssetForSrgs; } - Data::Asset RPISystem::GetViewSrgAsset() const + RHI::Ptr RPISystem::GetSceneSrgLayout() const { AZ_Assert(m_systemAssetsInitialized, "InitializeSystemAssets() should be called once when asset catalog loaded'"); - return m_viewSrgAsset; + return m_sceneSrgLayout; + } + + RHI::Ptr RPISystem::GetViewSrgLayout() const + { + AZ_Assert(m_systemAssetsInitialized, "InitializeSystemAssets() should be called once when asset catalog loaded'"); + return m_viewSrgLayout; } void RPISystem::OnSystemTick() @@ -353,14 +360,23 @@ namespace AZ m_descriptor.m_rhiSystemDescriptor.m_platformLimits = RPI::GetDataFromAnyAsset(platformLimitsAsset); } - m_viewSrgAsset = AssetUtils::LoadCriticalAsset( m_descriptor.m_viewSrgAssetPath.c_str()); - if (!m_viewSrgAsset.IsReady()) + m_commonShaderAssetForSrgs = AssetUtils::LoadCriticalAsset( m_descriptor.m_commonSrgsShaderAssetPath.c_str()); + if (!m_commonShaderAssetForSrgs.IsReady()) { return; } - m_sceneSrgAsset = AssetUtils::LoadCriticalAsset(m_descriptor.m_sceneSrgAssetPath.c_str()); - if (!m_sceneSrgAsset.IsReady()) + m_sceneSrgLayout = m_commonShaderAssetForSrgs->FindShaderResourceGroupLayout(SrgBindingSlot::Scene); + if (!m_sceneSrgLayout) { + AZ_Error("RPISystem", false, "Failed to find SceneSrg by slot=<%u> from shader asset at path <%s>", SrgBindingSlot::Scene, + m_descriptor.m_commonSrgsShaderAssetPath.c_str()); + return; + } + m_viewSrgLayout = m_commonShaderAssetForSrgs->FindShaderResourceGroupLayout(SrgBindingSlot::View); + if (!m_viewSrgLayout) + { + AZ_Error("RPISystem", false, "Failed to find ViewSrg by slot=<%u> from shader asset at path <%s>", SrgBindingSlot::View, + m_descriptor.m_commonSrgsShaderAssetPath.c_str()); return; } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp index 62efc3dccb..d87f119a7a 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Scene.cpp @@ -42,11 +42,11 @@ namespace AZ scene->EnableFeatureProcessor(FeatureProcessorId{ fpId }); } - Data::Asset sceneSrgAsset = RPISystemInterface::Get()->GetSceneSrgAsset(); - - if (sceneSrgAsset.IsReady()) + auto sceneSrgLayout = RPISystemInterface::Get()->GetSceneSrgLayout(); + if (sceneSrgLayout) { - scene->m_srg = ShaderResourceGroup::Create(sceneSrgAsset); + auto shaderAsset = RPISystemInterface::Get()->GetCommonShaderAssetForSrgs(); + scene->m_srg = ShaderResourceGroup::Create(shaderAsset, DefaultSupervariantIndex, sceneSrgLayout->GetName()); } return ScenePtr(scene); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp index 7194c524ae..d74ffbfca2 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp @@ -28,24 +28,37 @@ namespace AZ { namespace RPI { - Data::Instance Shader::FindOrCreate(const Data::Asset& shaderAsset) + Data::Instance Shader::FindOrCreate(const Data::Asset& shaderAsset, const Name& supervariantName) { - return Data::InstanceDatabase::Instance().FindOrCreate( - Data::InstanceId::CreateFromAssetId(shaderAsset.GetId()), - shaderAsset); + auto anySupervariantName = AZStd::any(supervariantName); + Data::Instance shaderInstance = Data::InstanceDatabase::Instance().FindOrCreate( + Data::InstanceId::CreateFromAssetId(shaderAsset.GetId()), shaderAsset, &anySupervariantName); + return shaderInstance; } - Data::Instance Shader::CreateInternal(ShaderAsset& shaderAsset) + Data::Instance Shader::FindOrCreate(const Data::Asset& shaderAsset) { - Data::Instance shader = aznew Shader(); - const RHI::ResultCode resultCode = shader->Init(shaderAsset); + return FindOrCreate(shaderAsset, AZ::Name { "" }); + } - if (resultCode == RHI::ResultCode::Success) + Data::Instance Shader::CreateInternal([[maybe_unused]] ShaderAsset& shaderAsset, const AZStd::any* anySupervariantName) + { + AZ_Assert(anySupervariantName != nullptr, "Invalid supervariant name param"); + auto supervariantName = AZStd::any_cast(*anySupervariantName); + auto supervariantIndex = shaderAsset.GetSupervariantIndex(supervariantName); + if (!supervariantIndex.IsValid()) { - return shader; + AZ_Error("Shader", false, "Supervariant with name %s, was not found in shader %s", supervariantName.GetCStr(), shaderAsset.GetName().GetCStr()); + return nullptr; } - return nullptr; + Data::Instance shader = aznew Shader(supervariantIndex); + const RHI::ResultCode resultCode = shader->Init(shaderAsset); + if (resultCode != RHI::ResultCode::Success) + { + return nullptr; + } + return shader; } Shader::~Shader() @@ -55,6 +68,8 @@ namespace AZ RHI::ResultCode Shader::Init(ShaderAsset& shaderAsset) { + AZ_Assert(m_supervariantIndex != InvalidSupervariantIndex, "Invalid supervariant index"); + ShaderVariantFinderNotificationBus::Handler::BusDisconnect(); ShaderVariantFinderNotificationBus::Handler::BusConnect(shaderAsset.GetId()); @@ -68,7 +83,7 @@ namespace AZ AZStd::unique_lock lock(m_variantCacheMutex); m_shaderVariants.clear(); } - m_rootVariant.Init(shaderAsset, shaderAsset.GetRootVariant()); + m_rootVariant.Init(shaderAsset, shaderAsset.GetRootVariant(m_supervariantIndex), m_supervariantIndex); if (m_pipelineLibraryHandle.IsNull()) { @@ -176,7 +191,7 @@ namespace AZ { ShaderVariant& shaderVariant = iter->second; - if (!shaderVariant.Init(*m_asset.Get(), shaderVariantAsset)) + if (!shaderVariant.Init(*m_asset.Get(), shaderVariantAsset, m_supervariantIndex)) { AZ_Error("Shader", false, "Failed to init shaderVariant with StableId=%u", shaderVariantAsset->GetStableId()); m_shaderVariants.erase(stableId); @@ -186,7 +201,7 @@ namespace AZ { //This is the first time the shader variant asset comes to life. ShaderVariant newVariant; - newVariant.Init(*m_asset, shaderVariantAsset); + newVariant.Init(*m_asset, shaderVariantAsset, m_supervariantIndex); m_shaderVariants.emplace(stableId, newVariant); } } @@ -245,7 +260,7 @@ namespace AZ const ShaderVariant& Shader::GetVariant(const ShaderVariantId& shaderVariantId) { AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); - Data::Asset shaderVariantAsset = m_asset->GetVariant(shaderVariantId); + Data::Asset shaderVariantAsset = m_asset->GetVariant(shaderVariantId, m_supervariantIndex); if (!shaderVariantAsset || shaderVariantAsset->IsRootVariant()) { return m_rootVariant; @@ -285,7 +300,7 @@ namespace AZ // reloaded, but some (or all) shader variants haven't been built yet. Since we want to use the latest version of the // shader code, ignore the old variants and fall back to the newer root variant instead. There's no need to report a // warning here because m_asset->GetVariant below will report one. - if (findIt->second.GetShaderAssetBuildTimestamp() == m_asset->GetShaderAssetBuildTimestamp()) + if (findIt->second.GetBuildTimestamp() >= m_asset->GetShaderAssetBuildTimestamp()) { return findIt->second; } @@ -294,7 +309,7 @@ namespace AZ // By calling GetVariant, an asynchronous asset load request is enqueued if the variant // is not fully ready. - Data::Asset shaderVariantAsset = m_asset->GetVariant(shaderVariantStableId); + Data::Asset shaderVariantAsset = m_asset->GetVariant(shaderVariantStableId, m_supervariantIndex); if (!shaderVariantAsset || shaderVariantAsset == m_asset->GetRootVariant()) { // Return the root variant when the requested variant is not ready. @@ -308,7 +323,7 @@ namespace AZ auto findIt = m_shaderVariants.find(shaderVariantStableId); if (findIt != m_shaderVariants.end()) { - if (findIt->second.GetShaderAssetBuildTimestamp() == m_asset->GetShaderAssetBuildTimestamp()) + if (findIt->second.GetBuildTimestamp() >= m_asset->GetShaderAssetBuildTimestamp()) { return findIt->second; } @@ -325,7 +340,7 @@ namespace AZ } ShaderVariant newVariant; - newVariant.Init(*m_asset, shaderVariantAsset); + newVariant.Init(*m_asset, shaderVariantAsset, m_supervariantIndex); m_shaderVariants.emplace(shaderVariantStableId, newVariant); return m_shaderVariants.at(shaderVariantStableId); @@ -336,29 +351,39 @@ namespace AZ return m_pipelineStateType; } + const ShaderInputContract& Shader::GetInputContract() const + { + return m_asset->GetInputContract(m_supervariantIndex); + } + + const ShaderOutputContract& Shader::GetOutputContract() const + { + return m_asset->GetOutputContract(m_supervariantIndex); + } + const RHI::PipelineState* Shader::AcquirePipelineState(const RHI::PipelineStateDescriptor& descriptor) const { return m_pipelineStateCache->AcquirePipelineState(m_pipelineLibraryHandle, descriptor); } - const Data::Asset& Shader::FindShaderResourceGroupAsset(const Name& shaderResourceGroupName) const + const RHI::Ptr& Shader::FindShaderResourceGroupLayout(const Name& shaderResourceGroupName) const { - return m_asset->FindShaderResourceGroupAsset(shaderResourceGroupName); + return m_asset->FindShaderResourceGroupLayout(shaderResourceGroupName, m_supervariantIndex); } - const Data::Asset& Shader::FindShaderResourceGroupAsset(uint32_t bindingSlot) const + const RHI::Ptr& Shader::FindShaderResourceGroupLayout(uint32_t bindingSlot) const { - return m_asset->FindShaderResourceGroupAsset(bindingSlot); + return m_asset->FindShaderResourceGroupLayout(bindingSlot, m_supervariantIndex); } - const Data::Asset& Shader::FindFallbackShaderResourceGroupAsset() const + const RHI::Ptr& Shader::FindFallbackShaderResourceGroupLayout() const { - return m_asset->FindFallbackShaderResourceGroupAsset(); + return m_asset->FindFallbackShaderResourceGroupLayout(m_supervariantIndex); } - AZStd::array_view> Shader::GetShaderResourceGroupAssets() const + AZStd::array_view> Shader::GetShaderResourceGroupLayouts() const { - return m_asset->GetShaderResourceGroupAssets(); + return m_asset->GetShaderResourceGroupLayouts(m_supervariantIndex); } const Data::Asset& Shader::GetAsset() const diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader2.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader2.cpp deleted file mode 100644 index f56a18e2b9..0000000000 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader2.cpp +++ /dev/null @@ -1,413 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#include - -#include - -#include - -#include -#include - -#include - -#include -#include -#include - -namespace AZ -{ - namespace RPI - { - Data::Instance Shader2::FindOrCreate(const Data::Asset& shaderAsset, const Name& supervariantName) - { - Data::Instance shaderInstance = Data::InstanceDatabase::Instance().FindOrCreate( - Data::InstanceId::CreateFromAssetId(shaderAsset.GetId()), - shaderAsset); - if (!shaderInstance) - { - return nullptr; - } - - if (!shaderInstance->SelectSupervariant(supervariantName)) - { - return nullptr; - } - - const RHI::ResultCode resultCode = shaderInstance->Init(*shaderAsset.Get()); - if (resultCode != RHI::ResultCode::Success) - { - return nullptr; - } - return shaderInstance; - } - - Data::Instance Shader2::CreateInternal([[maybe_unused]] ShaderAsset2& shaderAsset) - { - Data::Instance shader = aznew Shader2(); - return shader; - } - - Shader2::~Shader2() - { - Shutdown(); - } - - bool Shader2::SelectSupervariant(const Name& supervariantName) - { - if (supervariantName.IsEmpty()) - { - m_supervariantIndex = DefaultSupervariantIndex; - return true; - } - - auto supervariantIndex = m_asset->GetSupervariantIndex(supervariantName); - if (supervariantIndex == InvalidSupervariantIndex) - { - return false; - } - - m_supervariantIndex = supervariantIndex; - return true; - } - - RHI::ResultCode Shader2::Init(ShaderAsset2& shaderAsset) - { - AZ_Assert(m_supervariantIndex != InvalidSupervariantIndex, "Invalid supervariant index"); - - ShaderVariantFinderNotificationBus2::Handler::BusDisconnect(); - ShaderVariantFinderNotificationBus2::Handler::BusConnect(shaderAsset.GetId()); - - RHI::RHISystemInterface* rhiSystem = RHI::RHISystemInterface::Get(); - RHI::DrawListTagRegistry* drawListTagRegistry = rhiSystem->GetDrawListTagRegistry(); - - m_asset = { &shaderAsset, AZ::Data::AssetLoadBehavior::PreLoad }; - m_pipelineStateType = shaderAsset.GetPipelineStateType(); - - { - AZStd::unique_lock lock(m_variantCacheMutex); - m_shaderVariants.clear(); - } - m_rootVariant.Init(shaderAsset, shaderAsset.GetRootVariant(m_supervariantIndex), m_supervariantIndex); - - if (m_pipelineLibraryHandle.IsNull()) - { - // We set up a pipeline library only once for the lifetime of the Shader2 instance. - // This should allow the Shader2 to be reloaded at runtime many times, and cache and reuse PipelineState objects rather than rebuild them. - // It also fixes a particular TDR crash that occurred on some hardware when hot-reloading shaders and building pipeline states - // in a new pipeline library every time. - - RHI::PipelineStateCache* pipelineStateCache = rhiSystem->GetPipelineStateCache(); - ConstPtr serializedData = LoadPipelineLibrary(); - RHI::PipelineLibraryHandle pipelineLibraryHandle = pipelineStateCache->CreateLibrary(serializedData.get()); - - if (pipelineLibraryHandle.IsNull()) - { - AZ_Error("Shader2", false, "Failed to create pipeline library from pipeline state cache."); - return RHI::ResultCode::Fail; - } - - m_pipelineLibraryHandle = pipelineLibraryHandle; - m_pipelineStateCache = pipelineStateCache; - } - - const Name& drawListName = shaderAsset.GetDrawListName(); - if (!drawListName.IsEmpty()) - { - m_drawListTag = drawListTagRegistry->AcquireTag(drawListName); - if (!m_drawListTag.IsValid()) - { - AZ_Error("Shader2", false, "Failed to acquire a DrawListTag. Entries are full."); - } - } - - Data::AssetBus::Handler::BusConnect(m_asset.GetId()); - - return RHI::ResultCode::Success; - } - - void Shader2::Shutdown() - { - ShaderVariantFinderNotificationBus2::Handler::BusDisconnect(); - Data::AssetBus::Handler::BusDisconnect(); - - if (m_pipelineLibraryHandle.IsValid()) - { - SavePipelineLibrary(); - - m_pipelineStateCache->ReleaseLibrary(m_pipelineLibraryHandle); - m_pipelineStateCache = nullptr; - m_pipelineLibraryHandle = {}; - } - - if (m_drawListTag.IsValid()) - { - RHI::DrawListTagRegistry* drawListTagRegistry = RHI::RHISystemInterface::Get()->GetDrawListTagRegistry(); - drawListTagRegistry->ReleaseTag(m_drawListTag); - m_drawListTag.Reset(); - } - } - - /////////////////////////////////////////////////////////////////////// - // AssetBus overrides - void Shader2::OnAssetReloaded(Data::Asset asset) - { - ShaderReloadDebugTracker::ScopedSection reloadSection("Shader2::OnAssetReloaded %s", asset.GetHint().c_str()); - - if (asset->GetId() == m_asset->GetId()) - { - Data::Asset newAsset = { asset.GetAs(), AZ::Data::AssetLoadBehavior::PreLoad }; - AZ_Assert(newAsset, "Reloaded ShaderAsset2 is null"); - - Data::AssetBus::Handler::BusDisconnect(); - Init(*newAsset.Get()); - ShaderReloadNotificationBus2::Event(asset.GetId(), &ShaderReloadNotificationBus2::Events::OnShaderReinitialized, *this); - } - } - /////////////////////////////////////////////////////////////////////// - - /////////////////////////////////////////////////////////////////// - /// ShaderVariantFinderNotificationBus2 overrides - void Shader2::OnShaderVariantAssetReady(Data::Asset shaderVariantAsset, bool isError) - { - AZ_Assert(shaderVariantAsset, "Reloaded ShaderVariantAsset is null"); - const ShaderVariantStableId stableId = shaderVariantAsset->GetStableId(); - const ShaderVariantId& shaderVariantId = shaderVariantAsset->GetShaderVariantId(); - - if (isError) - { - //Remark: We do not assert if the stableId == RootShaderVariantStableId, because we can not trust in the asset data - //on error. so it is possible that on error the stbleId == RootShaderVariantStableId; - if (stableId == RootShaderVariantStableId) - { - return; - } - AZStd::unique_lock lock(m_variantCacheMutex); - m_shaderVariants.erase(stableId); - } - else - { - AZ_Assert(stableId != RootShaderVariantStableId, - "The root variant is expected to be updated by the ShaderAsset2."); - AZStd::unique_lock lock(m_variantCacheMutex); - - auto iter = m_shaderVariants.find(stableId); - if (iter != m_shaderVariants.end()) - { - ShaderVariant2& shaderVariant = iter->second; - - if (!shaderVariant.Init(*m_asset.Get(), shaderVariantAsset, m_supervariantIndex)) - { - AZ_Error("Shader2", false, "Failed to init shaderVariant with StableId=%u", shaderVariantAsset->GetStableId()); - m_shaderVariants.erase(stableId); - } - } - else - { - //This is the first time the shader variant asset comes to life. - ShaderVariant2 newVariant; - newVariant.Init(*m_asset, shaderVariantAsset, m_supervariantIndex); - m_shaderVariants.emplace(stableId, newVariant); - } - } - - //Even if there was an error, the interested parties should be notified. - ShaderReloadNotificationBus2::Event(m_asset.GetId(), &ShaderReloadNotificationBus2::Events::OnShaderVariantReinitialized, *this, shaderVariantId, stableId); - } - /////////////////////////////////////////////////////////////////// - - ConstPtr Shader2::LoadPipelineLibrary() const - { - if (IO::FileIOBase::GetInstance()) - { - return Utils::LoadObjectFromFile(GetPipelineLibraryPath()); - } - return nullptr; - } - - void Shader2::SavePipelineLibrary() const - { - if (auto* fileIOBase = IO::FileIOBase::GetInstance()) - { - RHI::ConstPtr serializedData = m_pipelineStateCache->GetLibrarySerializedData(m_pipelineLibraryHandle); - if (serializedData) - { - const AZStd::string pipelineLibraryPath = GetPipelineLibraryPath(); - - char pipelineLibraryPathResolved[AZ_MAX_PATH_LEN] = { 0 }; - fileIOBase->ResolvePath(pipelineLibraryPath.c_str(), pipelineLibraryPathResolved, AZ_MAX_PATH_LEN); - Utils::SaveObjectToFile(pipelineLibraryPathResolved, DataStream::ST_BINARY, serializedData.get()); - } - } - else - { - AZ_Error("Shader2", false, "FileIOBase is not initialized"); - } - } - - AZStd::string Shader2::GetPipelineLibraryPath() const - { - const Data::InstanceId& instanceId = GetId(); - Name platformName = RHI::Factory::Get().GetName(); - Name shaderName = m_asset->GetName(); - - AZStd::string uuidString; - instanceId.m_guid.ToString(uuidString, false, false); - - return AZStd::string::format("@user@/Atom/PipelineStateCache/%s/%s_%s_%d.bin", platformName.GetCStr(), shaderName.GetCStr(), uuidString.data(), instanceId.m_subId); - } - - ShaderOptionGroup Shader2::CreateShaderOptionGroup() const - { - return ShaderOptionGroup(m_asset->GetShaderOptionGroupLayout()); - } - - const ShaderVariant2& Shader2::GetVariant(const ShaderVariantId& shaderVariantId) - { - AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); - Data::Asset shaderVariantAsset = m_asset->GetVariant(shaderVariantId, m_supervariantIndex); - if (!shaderVariantAsset || shaderVariantAsset->IsRootVariant()) - { - return m_rootVariant; - } - - return GetVariant(shaderVariantAsset->GetStableId()); - } - - const ShaderVariant2& Shader2::GetRootVariant() - { - return m_rootVariant; - } - - ShaderVariantSearchResult Shader2::FindVariantStableId(const ShaderVariantId& shaderVariantId) const - { - AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); - ShaderVariantSearchResult variantSearchResult = m_asset->FindVariantStableId(shaderVariantId); - return variantSearchResult; - } - - const ShaderVariant2& Shader2::GetVariant(ShaderVariantStableId shaderVariantStableId) - { - AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); - - if (!shaderVariantStableId.IsValid() || shaderVariantStableId == ShaderAsset2::RootShaderVariantStableId) - { - return m_rootVariant; - } - - { - AZStd::shared_lock lock(m_variantCacheMutex); - - auto findIt = m_shaderVariants.find(shaderVariantStableId); - if (findIt != m_shaderVariants.end()) - { - // When rebuilding shaders we may be in a state where the ShaderAsset2 and root ShaderVariantAsset have been rebuilt and - // reloaded, but some (or all) shader variants haven't been built yet. Since we want to use the latest version of the - // shader code, ignore the old variants and fall back to the newer root variant instead. There's no need to report a - // warning here because m_asset->GetVariant below will report one. - if (findIt->second.GetBuildTimestamp() >= m_asset->GetShaderAssetBuildTimestamp()) - { - return findIt->second; - } - } - } - - // By calling GetVariant, an asynchronous asset load request is enqueued if the variant - // is not fully ready. - Data::Asset shaderVariantAsset = m_asset->GetVariant(shaderVariantStableId, m_supervariantIndex); - if (!shaderVariantAsset || shaderVariantAsset == m_asset->GetRootVariant()) - { - // Return the root variant when the requested variant is not ready. - return m_rootVariant; - } - - AZStd::unique_lock lock(m_variantCacheMutex); - - // For performance reasons We are breaking this function into two locking steps. - // which means We must check again if the variant is already in the cache. - auto findIt = m_shaderVariants.find(shaderVariantStableId); - if (findIt != m_shaderVariants.end()) - { - if (findIt->second.GetBuildTimestamp() >= m_asset->GetShaderAssetBuildTimestamp()) - { - return findIt->second; - } - else - { - // This is probably very rare, but if the variant was loaded on another thread and it's out of date - // we just return the root variant. Otherwise we could end up replacing the variant in the map below while - // it's being used for rendering. - AZ_Warning( - "Shader2", false, - "Detected an uncommon state during shader reload. Returning the root variant instead of replacing the old one."); - return m_rootVariant; - } - } - - ShaderVariant2 newVariant; - newVariant.Init(*m_asset, shaderVariantAsset, m_supervariantIndex); - m_shaderVariants.emplace(shaderVariantStableId, newVariant); - - return m_shaderVariants.at(shaderVariantStableId); - } - - RHI::PipelineStateType Shader2::GetPipelineStateType() const - { - return m_pipelineStateType; - } - - const ShaderInputContract& Shader2::GetInputContract() const - { - return m_asset->GetInputContract(m_supervariantIndex); - } - - const ShaderOutputContract& Shader2::GetOutputContract() const - { - return m_asset->GetOutputContract(m_supervariantIndex); - } - - const RHI::PipelineState* Shader2::AcquirePipelineState(const RHI::PipelineStateDescriptor& descriptor) const - { - return m_pipelineStateCache->AcquirePipelineState(m_pipelineLibraryHandle, descriptor); - } - - const RHI::Ptr Shader2::FindShaderResourceGroupLayout(const Name& shaderResourceGroupName) const - { - return m_asset->FindShaderResourceGroupLayout(shaderResourceGroupName, m_supervariantIndex); - } - - const RHI::Ptr Shader2::FindShaderResourceGroupLayout(uint32_t bindingSlot) const - { - return m_asset->FindShaderResourceGroupLayout(bindingSlot, m_supervariantIndex); - } - - const RHI::Ptr Shader2::FindFallbackShaderResourceGroupLayout() const - { - return m_asset->FindFallbackShaderResourceGroupLayout(m_supervariantIndex); - } - - AZStd::array_view> Shader2::GetShaderResourceGroupLayouts() const - { - return m_asset->GetShaderResourceGroupLayouts(m_supervariantIndex); - } - - const Data::Asset& Shader2::GetAsset() const - { - return m_asset; - } - - RHI::DrawListTag Shader2::GetDrawListTag() const - { - return m_drawListTag; - } - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderResourceGroup.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderResourceGroup.cpp index 86cb3cd0a4..f63165495f 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderResourceGroup.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderResourceGroup.cpp @@ -25,38 +25,51 @@ namespace AZ const Data::Instance ShaderResourceGroup::s_nullImage; const Data::Instance ShaderResourceGroup::s_nullBuffer; - Data::Instance ShaderResourceGroup::FindOrCreate(const Data::Asset& srgAsset) + Data::InstanceId ShaderResourceGroup::MakeInstanceId( + const Data::Asset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName) { - return Data::InstanceDatabase::Instance().FindOrCreate( - Data::InstanceId::CreateFromAssetId(srgAsset.GetId()), - srgAsset); + AZ_Assert(!srgName.IsEmpty(), "Invalid ShaderResourceGroup name"); + + // Let's find the srg layout with the given name, because it contains the azsl file path of origin + // which is essential to uniquely identify an SRG and avoid redundant copies in memory. + auto srgLayout = shaderAsset->FindShaderResourceGroupLayout(srgName, supervariantIndex); + AZ_Assert(srgLayout != nullptr, "Failed to find SRG with name %s, using supervariantIndex %u from shaderAsset %s", srgName.GetCStr(), + supervariantIndex.GetIndex(), shaderAsset.GetHint().c_str()); + + AZStd::string idString = AZStd::string::format("%s_%u_%s", srgLayout->GetUniqueId().c_str(), supervariantIndex.GetIndex(), srgName.GetCStr()); + return Data::InstanceId::CreateData(idString.data(), idString.size()); } - Data::Instance ShaderResourceGroup::Create(const Data::Asset& srgAsset) + Data::Instance ShaderResourceGroup::Create( + const Data::Asset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName) { + SrgInitParams initParams{ supervariantIndex, srgName }; + auto anyInitParams = AZStd::any(initParams); return Data::InstanceDatabase::Instance().FindOrCreate( - Data::InstanceId::CreateRandom(), - srgAsset); + Data::InstanceId::CreateRandom(), shaderAsset, &anyInitParams); } - Data::Instance ShaderResourceGroup::CreateInternal(ShaderResourceGroupAsset& srgAsset) + Data::Instance ShaderResourceGroup::CreateInternal(ShaderAsset& shaderAsset, const AZStd::any* anySrgInitParams) { + AZ_Assert(anySrgInitParams, "Invalid SrgInitParams"); + auto srgInitParams = AZStd::any_cast(*anySrgInitParams); + Data::Instance srg = aznew ShaderResourceGroup(); - const RHI::ResultCode resultCode = srg->Init(srgAsset); - - if (resultCode == RHI::ResultCode::Success) + const RHI::ResultCode resultCode = srg->Init(shaderAsset, srgInitParams.m_supervariantIndex, srgInitParams.m_srgName); + if (resultCode != RHI::ResultCode::Success) { - return srg; + return nullptr; } - return nullptr; + return srg; } - RHI::ResultCode ShaderResourceGroup::Init(ShaderResourceGroupAsset& shaderResourceGroupAsset) + RHI::ResultCode ShaderResourceGroup::Init(ShaderAsset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName) { AZ_TRACE_METHOD(); - m_layout = shaderResourceGroupAsset.GetLayout(); + const auto& lay = shaderAsset.FindShaderResourceGroupLayout(srgName, supervariantIndex); + m_layout = lay.get(); if (!m_layout) { @@ -64,9 +77,8 @@ namespace AZ return RHI::ResultCode::Fail; } - m_pool = ShaderResourceGroupPool::FindOrCreate(AZ::Data::Asset( - &shaderResourceGroupAsset, - AZ::Data::AssetLoadBehavior::PreLoad)); + m_pool = ShaderResourceGroupPool::FindOrCreate( + AZ::Data::Asset(&shaderAsset, AZ::Data::AssetLoadBehavior::PreLoad), supervariantIndex, srgName); if (!m_pool) { return RHI::ResultCode::Fail; @@ -77,52 +89,19 @@ namespace AZ { return RHI::ResultCode::Fail; } - m_shaderResourceGroup->SetName(shaderResourceGroupAsset.GetName()); + m_shaderResourceGroup->SetName(srgName); m_data = RHI::ShaderResourceGroupData(m_layout); - m_asset = { &shaderResourceGroupAsset, AZ::Data::AssetLoadBehavior::PreLoad }; + m_asset = { &shaderAsset, AZ::Data::AssetLoadBehavior::PreLoad }; // The RPI groups match the same dimensions as the RHI group. m_imageGroup.resize(m_layout->GetGroupSizeForImages()); m_bufferGroup.resize(m_layout->GetGroupSizeForBuffers()); + m_isInitialized = true; + return RHI::ResultCode::Success; } - bool ShaderResourceGroup::ReplaceSrgLayoutUsingShaderAsset( - Data::Asset shaderAsset, const Name& supervariantName, const Name& srgName) - { - AZ_TRACE_METHOD(); - - SupervariantIndex supervariantIndex = shaderAsset->GetSupervariantIndex(supervariantName); - if (supervariantIndex == InvalidSupervariantIndex) - { - AZ_Assert( - false, "Supervariant with name [%s] not found in shader asset [%s]", supervariantName.GetCStr(), - shaderAsset->GetName().GetCStr()); - return false; - } - - m_layout = shaderAsset->FindShaderResourceGroupLayout(srgName, supervariantIndex).get(); - - if (!m_layout) - { - AZ_Assert(false, "ShaderResourceGroup cannot be initialized due to invalid ShaderResourceGroupLayout"); - return false; - } - - m_shaderResourceGroup->SetName(m_layout->GetName()); - m_data = RHI::ShaderResourceGroupData(m_layout); - m_shaderAsset = shaderAsset; - - // The RPI groups match the same dimensions as the RHI group. - m_imageGroup.clear(); - m_imageGroup.resize(m_layout->GetGroupSizeForImages()); - m_bufferGroup.clear(); - m_bufferGroup.resize(m_layout->GetGroupSizeForBuffers()); - - return true; - } - void ShaderResourceGroup::Compile() { m_shaderResourceGroup->Compile(m_data); @@ -163,10 +142,10 @@ namespace AZ return m_layout->FindShaderInputImageUnboundedArrayIndex(name); } - const Data::Asset& ShaderResourceGroup::GetAsset() const - { - return m_asset; - } + //const Data::Asset& ShaderResourceGroup::GetAsset() const + //{ + // return m_asset; + //} const RHI::ShaderResourceGroupLayout* ShaderResourceGroup::GetLayout() const { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderResourceGroupPool.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderResourceGroupPool.cpp index 60925acb55..19101961a0 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderResourceGroupPool.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderResourceGroupPool.cpp @@ -16,32 +16,40 @@ #include #include +#include namespace AZ { namespace RPI { - Data::Instance ShaderResourceGroupPool::FindOrCreate(const Data::Asset& srgAsset) + Data::Instance ShaderResourceGroupPool::FindOrCreate( + const Data::Asset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName) { - return Data::InstanceDatabase::Instance().FindOrCreate( - Data::InstanceId::CreateFromAssetId(srgAsset.GetId()), - srgAsset); + auto instanceId = ShaderResourceGroup::MakeInstanceId(shaderAsset, supervariantIndex, srgName); + ShaderResourceGroup::SrgInitParams srgInitParams{ supervariantIndex, srgName }; + auto anyArgInitParams = AZStd::any(srgInitParams); + return Data::InstanceDatabase::Instance().FindOrCreate(instanceId, + shaderAsset, &anyArgInitParams); } - Data::Instance ShaderResourceGroupPool::CreateInternal(ShaderResourceGroupAsset& srgAsset) + Data::Instance ShaderResourceGroupPool::CreateInternal( + [[maybe_unused]] ShaderAsset& shaderAsset, const AZStd::any* anySrgInitParams) { - Data::Instance srgPool = aznew ShaderResourceGroupPool(); - const RHI::ResultCode resultCode = srgPool->Init(srgAsset); + AZ_Assert(anySrgInitParams, "Invalid SrgInitParams"); + auto srgInitParams = AZStd::any_cast(*anySrgInitParams); - if (resultCode == RHI::ResultCode::Success) + Data::Instance srgPool = aznew ShaderResourceGroupPool(); + const RHI::ResultCode resultCode = srgPool->Init(shaderAsset, srgInitParams.m_supervariantIndex, srgInitParams.m_srgName); + if (resultCode != RHI::ResultCode::Success) { - return srgPool; + return nullptr; } - return nullptr; + return srgPool; } - RHI::ResultCode ShaderResourceGroupPool::Init(ShaderResourceGroupAsset& srgAsset) + RHI::ResultCode ShaderResourceGroupPool::Init( + ShaderAsset& shaderAsset, const SupervariantIndex& supervariantIndex, const AZ::Name& srgName) { RHI::Ptr device = RHI::RHISystemInterface::Get()->GetDevice(); @@ -53,14 +61,11 @@ namespace AZ } RHI::ShaderResourceGroupPoolDescriptor poolDescriptor; - poolDescriptor.m_layout = srgAsset.GetLayout(); + poolDescriptor.m_layout = shaderAsset.FindShaderResourceGroupLayout(srgName, supervariantIndex).get(); - m_pool->SetName(Name(srgAsset.GetName())); + m_pool->SetName(srgName); const RHI::ResultCode resultCode = m_pool->Init(*device, poolDescriptor); - - AZ_Error("ShaderResourceGroupPool", resultCode == RHI::ResultCode::Success, "Failed to initialize RHI::ShaderResourceGroupPool"); - return resultCode; } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderSystem.cpp index b5125ba964..d94760d243 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderSystem.cpp @@ -12,18 +12,14 @@ #include #include -#include #include #include #include #include #include -#include #include -#include #include -#include #include #include @@ -37,7 +33,6 @@ namespace AZ void ShaderSystem::Reflect(ReflectContext* context) { - ShaderResourceGroupAsset::Reflect(context); ShaderOptionDescriptor::Reflect(context); ShaderOptionGroupLayout::Reflect(context); ShaderOptionGroupHints::Reflect(context); @@ -45,11 +40,9 @@ namespace AZ ShaderVariantId::Reflect(context); ShaderVariantStableId::Reflect(context); ShaderAsset::Reflect(context); - ShaderAsset2::Reflect(context); ShaderInputContract::Reflect(context); ShaderOutputContract::Reflect(context); ShaderVariantAsset::Reflect(context); - ShaderVariantAsset2::Reflect(context); ShaderVariantTreeAsset::Reflect(context); ReflectShaderStageType(context); PrecompiledShaderAssetSourceData::Reflect(context); @@ -63,10 +56,7 @@ namespace AZ void ShaderSystem::GetAssetHandlers(AssetHandlerPtrList& assetHandlers) { assetHandlers.emplace_back(MakeAssetHandler()); - assetHandlers.emplace_back(MakeAssetHandler()); - assetHandlers.emplace_back(MakeAssetHandler()); assetHandlers.emplace_back(MakeAssetHandler()); - assetHandlers.emplace_back(MakeAssetHandler()); assetHandlers.emplace_back(MakeAssetHandler()); } @@ -78,44 +68,35 @@ namespace AZ { Data::InstanceHandler handler; - handler.m_createFunction = [](Data::AssetData* shaderAsset) + handler.m_createFunctionWithParam = [](Data::AssetData* shaderAsset, const AZStd::any* supervariantName) { - return Shader::CreateInternal(*(azrtti_cast(shaderAsset))); + return Shader::CreateInternal(*(azrtti_cast(shaderAsset)), supervariantName); }; Data::InstanceDatabase::Create(azrtti_typeid(), handler); } - { - Data::InstanceHandler handler; - handler.m_createFunction = [](Data::AssetData* shaderAsset) { - return Shader2::CreateInternal(*(azrtti_cast(shaderAsset))); - }; - Data::InstanceDatabase::Create(azrtti_typeid(), handler); - } - { Data::InstanceHandler handler; - handler.m_createFunction = [](Data::AssetData* srgAsset) + handler.m_createFunctionWithParam = [](Data::AssetData* shaderAsset, const AZStd::any* srgInitBlob) { - return ShaderResourceGroup::CreateInternal(*(azrtti_cast(srgAsset))); + return ShaderResourceGroup::CreateInternal(*(azrtti_cast(shaderAsset)), srgInitBlob); }; - Data::InstanceDatabase::Create(azrtti_typeid(), handler); + Data::InstanceDatabase::Create(azrtti_typeid(), handler, false); } { Data::InstanceHandler handler; - handler.m_createFunction = [](Data::AssetData* srgAsset) + handler.m_createFunctionWithParam = [](Data::AssetData* shaderAsset, const AZStd::any* srgInitBlob) { - return ShaderResourceGroupPool::CreateInternal(*(azrtti_cast(srgAsset))); + return ShaderResourceGroupPool::CreateInternal(*(azrtti_cast(shaderAsset)), srgInitBlob); }; - Data::InstanceDatabase::Create(azrtti_typeid(), handler); + Data::InstanceDatabase::Create(azrtti_typeid(), handler, false); } } void ShaderSystem::Shutdown() { Data::InstanceDatabase::Destroy(); - Data::InstanceDatabase::Destroy(); Data::InstanceDatabase::Destroy(); Data::InstanceDatabase::Destroy(); Interface::Unregister(this); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariant.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariant.cpp index 4d50f10c9c..09b1359e08 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariant.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariant.cpp @@ -22,11 +22,13 @@ namespace AZ { bool ShaderVariant::Init( const ShaderAsset& shaderAsset, - Data::Asset shaderVariantAsset) + Data::Asset shaderVariantAsset, + SupervariantIndex supervariantIndex) { m_pipelineStateType = shaderAsset.GetPipelineStateType(); - m_pipelineLayoutDescriptor = shaderAsset.GetPipelineLayoutDescriptor(); + m_pipelineLayoutDescriptor = shaderAsset.GetPipelineLayoutDescriptor(supervariantIndex); m_shaderVariantAsset = shaderVariantAsset; + m_renderStates = &shaderAsset.GetRenderStates(supervariantIndex); return true; } @@ -39,11 +41,12 @@ namespace AZ case RHI::PipelineStateType::Draw: { AZ_Assert(m_pipelineStateType == RHI::PipelineStateType::Draw, "ShaderVariant is not intended for the raster pipeline."); + AZ_Assert(m_renderStates, "Invalid RenderStates"); RHI::PipelineStateDescriptorForDraw& descriptorForDraw = static_cast(descriptor); descriptorForDraw.m_vertexFunction = m_shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Vertex); descriptorForDraw.m_tessellationFunction = m_shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Tessellation); descriptorForDraw.m_fragmentFunction = m_shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Fragment); - descriptorForDraw.m_renderStates = m_shaderVariantAsset->GetRenderStates(); + descriptorForDraw.m_renderStates = *m_renderStates; break; } @@ -69,14 +72,5 @@ namespace AZ } } - const ShaderInputContract& ShaderVariant::GetInputContract() const - { - return m_shaderVariantAsset->GetInputContract(); - } - - const ShaderOutputContract& ShaderVariant::GetOutputContract() const - { - return m_shaderVariantAsset->GetOutputContract(); - } } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariant2.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariant2.cpp deleted file mode 100644 index d25b87fab3..0000000000 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariant2.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#include - -#include -#include - -#include - -namespace AZ -{ - namespace RPI - { - bool ShaderVariant2::Init( - const ShaderAsset2& shaderAsset, - Data::Asset shaderVariantAsset, - SupervariantIndex supervariantIndex) - { - m_pipelineStateType = shaderAsset.GetPipelineStateType(); - m_pipelineLayoutDescriptor = shaderAsset.GetPipelineLayoutDescriptor(supervariantIndex); - m_shaderVariantAsset = shaderVariantAsset; - m_renderStates = &shaderAsset.GetRenderStates(supervariantIndex); - return true; - } - - void ShaderVariant2::ConfigurePipelineState(RHI::PipelineStateDescriptor& descriptor) const - { - descriptor.m_pipelineLayoutDescriptor = m_pipelineLayoutDescriptor; - - switch (descriptor.GetType()) - { - case RHI::PipelineStateType::Draw: - { - AZ_Assert(m_pipelineStateType == RHI::PipelineStateType::Draw, "ShaderVariant2 is not intended for the raster pipeline."); - AZ_Assert(m_renderStates, "Invalid RenderStates"); - RHI::PipelineStateDescriptorForDraw& descriptorForDraw = static_cast(descriptor); - descriptorForDraw.m_vertexFunction = m_shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Vertex); - descriptorForDraw.m_tessellationFunction = m_shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Tessellation); - descriptorForDraw.m_fragmentFunction = m_shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Fragment); - descriptorForDraw.m_renderStates = *m_renderStates; - break; - } - - case RHI::PipelineStateType::Dispatch: - { - AZ_Assert(m_pipelineStateType == RHI::PipelineStateType::Dispatch, "ShaderVariant2 is not intended for the compute pipeline."); - RHI::PipelineStateDescriptorForDispatch& descriptorForDispatch = static_cast(descriptor); - descriptorForDispatch.m_computeFunction = m_shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Compute); - break; - } - - case RHI::PipelineStateType::RayTracing: - { - AZ_Assert(m_pipelineStateType == RHI::PipelineStateType::RayTracing, "ShaderVariant2 is not intended for the ray tracing pipeline."); - RHI::PipelineStateDescriptorForRayTracing& descriptorForRayTracing = static_cast(descriptor); - descriptorForRayTracing.m_rayTracingFunction = m_shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::RayTracing); - break; - } - - default: - AZ_Assert(false, "Unexpected PipelineStateType"); - break; - } - } - - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariantAsyncLoader.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariantAsyncLoader.cpp index 3fc2bbd197..bc371a6e42 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariantAsyncLoader.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/ShaderVariantAsyncLoader.cpp @@ -38,7 +38,7 @@ namespace AZ void ShaderVariantAsyncLoader::ThreadServiceLoop() { - AZStd::unordered_set newShaderVariantPendingRequests; + AZStd::unordered_set newShaderVariantPendingRequests; AZStd::unordered_set shaderVariantTreePendingRequests; AZStd::unordered_set shaderVariantPendingRequests; while (true) @@ -70,8 +70,8 @@ namespace AZ AZStd::for_each( m_newShaderVariantPendingRequests.begin(), m_newShaderVariantPendingRequests.end(), - [&](const ShaderVariantAsyncLoader::PairOfShaderAssetAndShaderVariantId& pair) { - newShaderVariantPendingRequests.insert(pair); + [&](const ShaderVariantAsyncLoader::TupleShaderAssetAndShaderVariantId& tuple) { + newShaderVariantPendingRequests.insert(tuple); }); m_newShaderVariantPendingRequests.clear(); @@ -91,36 +91,36 @@ namespace AZ } // Time to work hard. - auto pairItor = newShaderVariantPendingRequests.begin(); - while (pairItor != newShaderVariantPendingRequests.end()) + auto tupleItor = newShaderVariantPendingRequests.begin(); + while (tupleItor != newShaderVariantPendingRequests.end()) { - auto shaderVariantTreeAsset = GetShaderVariantTreeAsset(pairItor->m_shaderAsset.GetId()); + auto shaderVariantTreeAsset = GetShaderVariantTreeAsset(tupleItor->m_shaderAsset.GetId()); if (shaderVariantTreeAsset) { AZ_Assert(shaderVariantTreeAsset.IsReady(), "shaderVariantTreeAsset is not ready!"); // Get the stableId from the variant tree. auto searchResult = shaderVariantTreeAsset->FindVariantStableId( - pairItor->m_shaderAsset->GetShaderOptionGroupLayout(), pairItor->m_shaderVariantId); + tupleItor->m_shaderAsset->GetShaderOptionGroupLayout(), tupleItor->m_shaderVariantId); if (searchResult.IsRoot()) { - pairItor = newShaderVariantPendingRequests.erase(pairItor); + tupleItor = newShaderVariantPendingRequests.erase(tupleItor); continue; } // Record the request for metrics. - ShaderMetricsSystem::Get()->RequestShaderVariant(pairItor->m_shaderAsset.Get(), pairItor->m_shaderVariantId, searchResult); + ShaderMetricsSystem::Get()->RequestShaderVariant(tupleItor->m_shaderAsset.Get(), tupleItor->m_shaderVariantId, searchResult); - uint32_t shaderVariantProductSubId = - ShaderVariantAsset::MakeAssetProductSubId(RHI::Factory::Get().GetAPIUniqueIndex(), searchResult.GetStableId()); + uint32_t shaderVariantProductSubId = ShaderVariantAsset::MakeAssetProductSubId( + RHI::Factory::Get().GetAPIUniqueIndex(), tupleItor->m_supervariantIndex.GetIndex(), searchResult.GetStableId()); Data::AssetId shaderVariantAssetId(shaderVariantTreeAsset.GetId().m_guid, shaderVariantProductSubId); shaderVariantPendingRequests.insert(shaderVariantAssetId); - pairItor = newShaderVariantPendingRequests.erase(pairItor); + tupleItor = newShaderVariantPendingRequests.erase(tupleItor); continue; } // If we are here the shaderVariantTreeAsset is not ready, but maybe it is already queued for loading, // but we try to queue it anyways. - QueueShaderVariantTreeForLoading(*pairItor, shaderVariantTreePendingRequests); - pairItor++; + QueueShaderVariantTreeForLoading(*tupleItor, shaderVariantTreePendingRequests); + tupleItor++; } @@ -181,7 +181,7 @@ namespace AZ /////////////////////////////////////////////////////////////////// // IShaderVariantFinder overrides bool ShaderVariantAsyncLoader::QueueLoadShaderVariantAssetByVariantId( - Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId) + Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) { if (m_isServiceShutdown.load()) { @@ -190,15 +190,15 @@ namespace AZ { AZStd::unique_lock lock(m_mutex); - PairOfShaderAssetAndShaderVariantId pair = {shaderAsset, shaderVariantId}; - m_newShaderVariantPendingRequests.push_back(pair); + TupleShaderAssetAndShaderVariantId tuple = {shaderAsset, shaderVariantId, supervariantIndex}; + m_newShaderVariantPendingRequests.push_back(tuple); } m_workCondition.notify_one(); return true; } bool ShaderVariantAsyncLoader::QueueLoadShaderVariantAsset( - const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId) + const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId, SupervariantIndex supervariantIndex) { if (m_isServiceShutdown.load()) { @@ -208,7 +208,7 @@ namespace AZ AZ_Assert(variantStableId != RootShaderVariantStableId, "Root Variants Are Found inside ShaderAssets"); uint32_t shaderVariantProductSubId = - ShaderVariantAsset::MakeAssetProductSubId(RHI::Factory::Get().GetAPIUniqueIndex(), variantStableId); + ShaderVariantAsset::MakeAssetProductSubId(RHI::Factory::Get().GetAPIUniqueIndex(), supervariantIndex.GetIndex(), variantStableId); Data::AssetId shaderVariantAssetId(shaderVariantTreeAssetId.m_guid, shaderVariantProductSubId); { AZStd::unique_lock lock(m_mutex); @@ -234,7 +234,7 @@ namespace AZ } Data::Asset ShaderVariantAsyncLoader::GetShaderVariantAssetByVariantId( - Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId) + Data::Asset shaderAsset, const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) { Data::Asset shaderVariantTreeAsset = GetShaderVariantTreeAsset(shaderAsset.GetId()); if (!shaderVariantTreeAsset) @@ -253,11 +253,11 @@ namespace AZ // Record the request for metrics. ShaderMetricsSystem::Get()->RequestShaderVariant(shaderAsset.Get(), shaderVariantId, searchResult); - return GetShaderVariantAsset(shaderVariantTreeAsset.GetId(), searchResult.GetStableId()); + return GetShaderVariantAsset(shaderVariantTreeAsset.GetId(), searchResult.GetStableId(), supervariantIndex); } Data::Asset ShaderVariantAsyncLoader::GetShaderVariantAssetByStableId( - Data::Asset shaderAsset, ShaderVariantStableId shaderVariantStableId) + Data::Asset shaderAsset, ShaderVariantStableId shaderVariantStableId, SupervariantIndex supervariantIndex) { AZ_Assert(shaderVariantStableId != RootShaderVariantStableId, "Root Variants Are Found inside ShaderAssets"); @@ -267,7 +267,7 @@ namespace AZ return {}; } - return GetShaderVariantAsset(shaderVariantTreeAsset.GetId(), shaderVariantStableId); + return GetShaderVariantAsset(shaderVariantTreeAsset.GetId(), shaderVariantStableId, supervariantIndex); } Data::Asset ShaderVariantAsyncLoader::GetShaderVariantTreeAsset(const Data::AssetId& shaderAssetId) @@ -292,11 +292,13 @@ namespace AZ return {}; } - Data::Asset ShaderVariantAsyncLoader::GetShaderVariantAsset(const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId) + Data::Asset ShaderVariantAsyncLoader::GetShaderVariantAsset( + const Data::AssetId& shaderVariantTreeAssetId, ShaderVariantStableId variantStableId, SupervariantIndex supervariantIndex) { AZ_Assert(variantStableId != RootShaderVariantStableId, "Root Variants Are Found inside ShaderAssets"); - uint32_t shaderVariantProductSubId = ShaderVariantAsset::MakeAssetProductSubId(RHI::Factory::Get().GetAPIUniqueIndex(), variantStableId); + uint32_t shaderVariantProductSubId = + ShaderVariantAsset::MakeAssetProductSubId(RHI::Factory::Get().GetAPIUniqueIndex(), supervariantIndex.GetIndex(), variantStableId); Data::AssetId shaderVariantAssetId(shaderVariantTreeAssetId.m_guid, shaderVariantProductSubId); AZStd::unique_lock lock(m_mutex); @@ -502,11 +504,11 @@ namespace AZ void ShaderVariantAsyncLoader::QueueShaderVariantTreeForLoading( - const PairOfShaderAssetAndShaderVariantId& shaderAndVariantPair, + const TupleShaderAssetAndShaderVariantId& shaderAndVariantTuple, AZStd::unordered_set& shaderVariantTreePendingRequests) { - auto shaderAssetId = shaderAndVariantPair.m_shaderAsset.GetId(); - if (shaderVariantTreePendingRequests.count(shaderAndVariantPair.m_shaderAsset.GetId())) + auto shaderAssetId = shaderAndVariantTuple.m_shaderAsset.GetId(); + if (shaderVariantTreePendingRequests.count(shaderAndVariantTuple.m_shaderAsset.GetId())) { // Already queued. return; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/View.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/View.cpp index 24dfcb7097..f86a51124b 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/View.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/View.cpp @@ -55,11 +55,11 @@ namespace AZ AZ::MakePerspectiveFovMatrixRH(viewToClipMatrix, AZ::Constants::HalfPi, 1, 0.1f, 1000.f, true); SetViewToClipMatrix(viewToClipMatrix); - Data::Asset viewSrgAsset = RPISystemInterface::Get()->GetViewSrgAsset(); + Data::Asset viewSrgShaderAsset = RPISystemInterface::Get()->GetCommonShaderAssetForSrgs(); - if (viewSrgAsset.IsReady()) + if (viewSrgShaderAsset.IsReady()) { - m_shaderResourceGroup = ShaderResourceGroup::Create(viewSrgAsset); + m_shaderResourceGroup = ShaderResourceGroup::Create(viewSrgShaderAsset, DefaultSupervariantIndex, RPISystemInterface::Get()->GetViewSrgLayout()->GetName()); } #if AZ_TRAIT_MASKED_OCCLUSION_CULLING_SUPPORTED m_maskedOcclusionCulling = MaskedOcclusionCulling::Create(); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp index 7e9e2ddb10..0afc174ad3 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp @@ -64,14 +64,34 @@ namespace AZ return m_materialTypeAsset->GetMaterialFunctors(); } - const AZ::Data::Asset& MaterialAsset::GetMaterialSrgAsset() const + const RHI::Ptr& MaterialAsset::GetMaterialSrgLayout(const SupervariantIndex& supervariantIndex) const { - return m_materialTypeAsset->GetMaterialSrgAsset(); + return m_materialTypeAsset->GetMaterialSrgLayout(supervariantIndex); } - const AZ::Data::Asset& MaterialAsset::GetObjectSrgAsset() const + const RHI::Ptr& MaterialAsset::GetMaterialSrgLayout(const AZ::Name& supervariantName) const { - return m_materialTypeAsset->GetObjectSrgAsset(); + return m_materialTypeAsset->GetMaterialSrgLayout(supervariantName); + } + + const RHI::Ptr& MaterialAsset::GetMaterialSrgLayout() const + { + return m_materialTypeAsset->GetMaterialSrgLayout(); + } + + const RHI::Ptr& MaterialAsset::GetObjectSrgLayout(const SupervariantIndex& supervariantIndex) const + { + return m_materialTypeAsset->GetObjectSrgLayout(supervariantIndex); + } + + const RHI::Ptr& MaterialAsset::GetObjectSrgLayout(const AZ::Name& supervariantName) const + { + return m_materialTypeAsset->GetObjectSrgLayout(supervariantName); + } + + const RHI::Ptr& MaterialAsset::GetObjectSrgLayout() const + { + return m_materialTypeAsset->GetObjectSrgLayout(); } const MaterialPropertiesLayout* MaterialAsset::GetMaterialPropertiesLayout() const diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAsset.cpp index 20adb63cb8..145eedf2e6 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAsset.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAsset.cpp @@ -48,11 +48,11 @@ namespace AZ serializeContext->RegisterGenericType(); serializeContext->Class() - ->Version(3) + ->Version(4) // ATOM-15472 ->Field("ShaderCollection", &MaterialTypeAsset::m_shaderCollection) ->Field("MaterialFunctors", &MaterialTypeAsset::m_materialFunctors) - ->Field("MaterialSrgAsset", &MaterialTypeAsset::m_materialSrgAsset) - ->Field("ObjectSrgAsset", &MaterialTypeAsset::m_objectSrgAsset) + ->Field("MaterialSrgShaderIndex", &MaterialTypeAsset::m_materialSrgShaderIndex) + ->Field("ObjectSrgShaderIndex", &MaterialTypeAsset::m_objectSrgShaderIndex) ->Field("MaterialPropertiesLayout", &MaterialTypeAsset::m_materialPropertiesLayout) ->Field("DefaultPropertyValues", &MaterialTypeAsset::m_propertyValues) ->Field("UvNameMap", &MaterialTypeAsset::m_uvNameMap) @@ -77,14 +77,76 @@ namespace AZ return m_materialFunctors; } - const AZ::Data::Asset& MaterialTypeAsset::GetMaterialSrgAsset() const + const RHI::Ptr& MaterialTypeAsset::GetSrgLayout( + uint32_t shaderIndex, const SupervariantIndex& supervariantIndex, uint32_t srgBindingSlot) const { - return m_materialSrgAsset; + const bool validShaderIndex = (m_shaderCollection.size() > shaderIndex); + if (!validShaderIndex) + { + return RHI::NullSrgLayout; + } + const auto& shaderAsset = m_shaderCollection[shaderIndex].GetShaderAsset(); + return shaderAsset->FindShaderResourceGroupLayout(srgBindingSlot, supervariantIndex); } - const AZ::Data::Asset& MaterialTypeAsset::GetObjectSrgAsset() const + const RHI::Ptr& MaterialTypeAsset::GetSrgLayout( + uint32_t shaderIndex, const AZ::Name& supervariantName, uint32_t srgBindingSlot) const { - return m_objectSrgAsset; + const bool validShaderIndex = (m_shaderCollection.size() > shaderIndex); + if (!validShaderIndex) + { + return RHI::NullSrgLayout; + } + const auto& shaderAsset = m_shaderCollection[shaderIndex].GetShaderAsset(); + auto supervariantIndex = shaderAsset->GetSupervariantIndex(supervariantName); + return shaderAsset->FindShaderResourceGroupLayout(srgBindingSlot, supervariantIndex); + } + + const RHI::Ptr& MaterialTypeAsset::GetMaterialSrgLayout( + const SupervariantIndex& supervariantIndex) const + { + return GetSrgLayout(m_materialSrgShaderIndex, supervariantIndex, RPI::SrgBindingSlot::Material); + } + + const RHI::Ptr& MaterialTypeAsset::GetMaterialSrgLayout(const AZ::Name& supervariantName) const + { + return GetSrgLayout(m_materialSrgShaderIndex, supervariantName, RPI::SrgBindingSlot::Material); + } + + const RHI::Ptr& MaterialTypeAsset::GetMaterialSrgLayout() const + { + return GetMaterialSrgLayout(DefaultSupervariantIndex); + } + + const Data::Asset& MaterialTypeAsset::GetShaderAssetForMaterialSrg() const + { + AZ_Assert(m_shaderCollection.size() > m_materialSrgShaderIndex, "shaderIndex %u is invalid because there are only %zu shaders in the collection", m_materialSrgShaderIndex, + m_shaderCollection.size()); + return m_shaderCollection[m_materialSrgShaderIndex].GetShaderAsset(); + } + + const RHI::Ptr& MaterialTypeAsset::GetObjectSrgLayout( + const SupervariantIndex& supervariantIndex) const + { + return GetSrgLayout(m_objectSrgShaderIndex, supervariantIndex, RPI::SrgBindingSlot::Object); + } + + const RHI::Ptr& MaterialTypeAsset::GetObjectSrgLayout(const AZ::Name& supervariantName) const + { + return GetSrgLayout(m_objectSrgShaderIndex, supervariantName, RPI::SrgBindingSlot::Object); + } + + const RHI::Ptr& MaterialTypeAsset::GetObjectSrgLayout() const + { + return GetObjectSrgLayout(DefaultSupervariantIndex); + } + + const Data::Asset& MaterialTypeAsset::GetShaderAssetForObjectSrg() const + { + AZ_Assert(m_shaderCollection.size() > m_objectSrgShaderIndex, + "shaderIndex %u is invalid because there are only %zu shaders in the collection", m_objectSrgShaderIndex, + m_shaderCollection.size()); + return m_shaderCollection[m_objectSrgShaderIndex].GetShaderAsset(); } const MaterialPropertiesLayout* MaterialTypeAsset::GetMaterialPropertiesLayout() const @@ -109,13 +171,10 @@ namespace AZ bool MaterialTypeAsset::PostLoadInit() { - Data::AssetBus::MultiHandler::BusConnect(m_materialSrgAsset.GetId()); - Data::AssetBus::MultiHandler::BusConnect(m_objectSrgAsset.GetId()); for (const auto& shaderItem : m_shaderCollection) { Data::AssetBus::MultiHandler::BusConnect(shaderItem.GetShaderAsset().GetId()); } - return true; } @@ -135,8 +194,6 @@ namespace AZ // The order of asset reloads is non-deterministic. If the MaterialTypeAsset reloads before these // dependency assets, this will make sure the MaterialTypeAsset gets the latest ones when they reload. // Or in some cases a these assets could get updated and reloaded without reloading the MaterialTypeAsset at all. - TryReplaceAsset(m_materialSrgAsset, asset); - TryReplaceAsset(m_objectSrgAsset, asset); for (auto& shaderItem : m_shaderCollection) { TryReplaceAsset(shaderItem.m_shaderAsset, asset); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAssetCreator.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAssetCreator.cpp index 3ac44a2eec..bdae7a9c03 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAssetCreator.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAssetCreator.cpp @@ -57,33 +57,30 @@ namespace AZ return EndCommon(result); } - bool MaterialTypeAssetCreator::UpdateShaderResourceGroup( - Data::Asset& srgAssetToUpdate, - const Data::Asset& newShaderAsset, - uint32_t bindingSlot, - const char* srgDebugName) + bool MaterialTypeAssetCreator::UpdateShaderIndexForShaderResourceGroup( + uint32_t& srgShaderIndexToUpdate, const Data::Asset& newShaderAsset, const uint32_t newShaderAssetIndex, const uint32_t bindingSlot, const char* srgDebugName) { - auto& newSrgAsset = newShaderAsset->FindShaderResourceGroupAsset(bindingSlot); + const auto& newSrgLayout = newShaderAsset->FindShaderResourceGroupLayout(bindingSlot); - if (srgAssetToUpdate.GetId().IsValid() && - newSrgAsset.GetId().IsValid() && - srgAssetToUpdate.GetId() != newSrgAsset.GetId()) + if (!newSrgLayout) { - ReportError("All shaders in a material must use the same %s ShaderResourceGroup.", srgDebugName); - return false; + // It's ok if newShaderAsset doesn't have the SRG. Only some of the shaders may have an SRG of a given type. + return true; } - // It doesn't appear this case is actually possible right now, but checking anyway for completeness - if (newSrgAsset.GetId().IsValid() && !newSrgAsset.IsReady()) + if (srgShaderIndexToUpdate != MaterialTypeAsset::InvalidShaderIndex) { - ReportError("The %s ShaderResourceGroup is not loaded.", srgDebugName); - return false; + const auto& currentShaderAsset = m_asset->m_shaderCollection[srgShaderIndexToUpdate].GetShaderAsset(); + const auto& currentSrgLayout = currentShaderAsset->FindShaderResourceGroupLayout(bindingSlot); + if (currentSrgLayout->GetHash() != newSrgLayout->GetHash()) + { + ReportError("All shaders in a material must use the same %s ShaderResourceGroup.", srgDebugName); + return false; + } } - - // Only some of the shaders may have an SRG of a given type, so don't clear an SRG that was found in one of the other shaders. - if (newSrgAsset) + else { - srgAssetToUpdate = newSrgAsset; + srgShaderIndexToUpdate = newShaderAssetIndex; } return true; @@ -93,10 +90,12 @@ namespace AZ { if (!m_materialShaderResourceGroupLayout) { - if (m_asset->m_materialSrgAsset) + if (m_asset->m_materialSrgShaderIndex != MaterialTypeAsset::InvalidShaderIndex) { - m_materialShaderResourceGroupLayout = m_asset->m_materialSrgAsset->GetLayout(); - + // [GFX TODO] At the moment we are using the default supervariant. + // In the future it may be necessary to get the layout + // from a particular supervariant. + m_materialShaderResourceGroupLayout = m_asset->GetMaterialSrgLayout().get(); if (!m_materialShaderResourceGroupLayout) { ReportError("Shader resource group has a null layout."); @@ -115,9 +114,9 @@ namespace AZ ReportError(AZStd::string::format("Failed to insert shader tag '%s'. Shader tag must be unique.", shaderTag.GetCStr()).c_str()); } - // [GFX TODO]: Stop using hard-coded material srg name once we have SRG semantics in place - UpdateShaderResourceGroup(m_asset->m_materialSrgAsset, shaderAsset, SrgBindingSlot::Material, "material"); - UpdateShaderResourceGroup(m_asset->m_objectSrgAsset, shaderAsset, SrgBindingSlot::Object, "object"); + uint32_t newShaderIndex = aznumeric_caster(m_asset->m_shaderCollection.m_shaderItems.size() - 1); + UpdateShaderIndexForShaderResourceGroup(m_asset->m_materialSrgShaderIndex, shaderAsset, newShaderIndex, SrgBindingSlot::Material, "material"); + UpdateShaderIndexForShaderResourceGroup(m_asset->m_objectSrgShaderIndex, shaderAsset, newShaderIndex, SrgBindingSlot::Object, "object"); CacheMaterialSrgLayout(); } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/RPISystemDescriptor.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/RPISystemDescriptor.cpp index 11ed1b2aee..e7628697e0 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/RPISystemDescriptor.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/RPISystemDescriptor.cpp @@ -28,10 +28,9 @@ namespace AZ ; serializeContext->Class() - ->Version(5) + ->Version(6) // ATOM-15472 ->Field("RHISystemDescriptor", &RPISystemDescriptor::m_rhiSystemDescriptor) - ->Field("SceneSRGAssetPath", &RPISystemDescriptor::m_sceneSrgAssetPath) - ->Field("ViewSRGAssetPath", &RPISystemDescriptor::m_viewSrgAssetPath) + ->Field("CommonSrgsShaderAssetPath", &RPISystemDescriptor::m_commonSrgsShaderAssetPath) ->Field("ImageSystemDescriptor", &RPISystemDescriptor::m_imageSystemDescriptor) ->Field("GpuQuerySystemDescriptor", &RPISystemDescriptor::m_gpuQuerySystemDescriptor) ->Field("DynamicDrawSystemDescriptor", &RPISystemDescriptor::m_dynamicDrawSystemDescriptor) @@ -50,8 +49,8 @@ namespace AZ ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("System", 0xc94d118b)) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) - ->DataElement(AZ::Edit::UIHandlers::Default, &RPISystemDescriptor::m_sceneSrgAssetPath, "Scene SRG Asset Path", "Shader Resource Group asset path for all RPI scenes") - ->DataElement(AZ::Edit::UIHandlers::Default, &RPISystemDescriptor::m_viewSrgAssetPath, "View SRG Asset Path", "Shader Resource Group asset path for all RPI views") + ->DataElement(AZ::Edit::UIHandlers::Default, &RPISystemDescriptor::m_commonSrgsShaderAssetPath, "Common Shader Asset Path For Scene & View SRGs", + "Shader asset path used to get the Scene and View SRGs for all RPI scenes and views respectively") ->DataElement(AZ::Edit::UIHandlers::Default, &RPISystemDescriptor::m_rhiSystemDescriptor, "RHI System Config", "Configuration of Render Hardware Interface") ->DataElement(AZ::Edit::UIHandlers::Default, &RPISystemDescriptor::m_imageSystemDescriptor, "Image System Config", "Configuration of Image System") ->DataElement(AZ::Edit::UIHandlers::Default, &RPISystemDescriptor::m_gpuQuerySystemDescriptor, "Gpu Query System Config", "Configuration of Gpu Query System") diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.cpp index 079d72358d..82aadd3b17 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.cpp @@ -37,10 +37,9 @@ namespace AZ if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Version(0) + ->Version(1) // ATOM-15472 ->Field("ShaderAssetFileName", &PrecompiledShaderAssetSourceData::m_shaderAssetFileName) ->Field("PlatformIdentifiers", &PrecompiledShaderAssetSourceData::m_platformIdentifiers) - ->Field("ShaderResourceGroupAssets", &PrecompiledShaderAssetSourceData::m_srgAssetFileNames) ->Field("RootShaderVariantAssets", &PrecompiledShaderAssetSourceData::m_rootShaderVariantAssets) ; } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp index cf655d43f7..08d0cab935 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp @@ -27,58 +27,85 @@ namespace AZ { namespace RPI { - const char* ShaderAsset::DisplayName = "Shader"; - const char* ShaderAsset::Extension = "azshader"; - const char* ShaderAsset::Group = "Shader"; + const ShaderVariantStableId ShaderAsset::RootShaderVariantStableId{0}; - const ShaderVariantStableId ShaderAsset::RootShaderVariantStableId{ 0 }; + static constexpr uint32_t SubProductTypeBitPosition = 0; + static constexpr uint32_t SubProductTypeNumBits = SupervariantIndexBitPosition - SubProductTypeBitPosition; + static constexpr uint32_t SubProductTypeMaxValue = (1 << SubProductTypeNumBits) - 1; - uint32_t ShaderAsset::MakeAssetProductSubId(uint32_t rhiApiUniqueIndex, uint32_t subProductType) + static_assert(RhiIndexMaxValue == RHI::Limits::APIType::PerPlatformApiUniqueIndexMax); + + uint32_t ShaderAsset::MakeProductAssetSubId( + uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, uint32_t subProductType) { - static constexpr uint32_t SubProductTypeBitPosition = 0; - static constexpr uint32_t SubProductTypeNumBits = RhiIndexBitPosition - SubProductTypeBitPosition; - static constexpr uint32_t SubProductTypeMaxValue = (1 << SubProductTypeNumBits) - 1; - - static_assert(RhiIndexMaxValue == RHI::Limits::APIType::PerPlatformApiUniqueIndexMax); AZ_Assert(rhiApiUniqueIndex <= RhiIndexMaxValue, "Invalid rhiApiUniqueIndex [%u]", rhiApiUniqueIndex); + AZ_Assert(supervariantIndex <= SupervariantIndexMaxValue, "Invalid supervariantIndex [%u]", supervariantIndex); AZ_Assert(subProductType <= SubProductTypeMaxValue, "Invalid subProductType [%u]", subProductType); const uint32_t assetProductSubId = (rhiApiUniqueIndex << RhiIndexBitPosition) | - (subProductType << SubProductTypeBitPosition); + (supervariantIndex << SupervariantIndexBitPosition) | (subProductType << SubProductTypeBitPosition); return assetProductSubId; } + SupervariantIndex ShaderAsset::GetSupervariantIndexFromProductAssetSubId(uint32_t assetProducSubId) + { + const uint32_t supervariantIndex = assetProducSubId >> SupervariantIndexBitPosition; + return SupervariantIndex{supervariantIndex & SupervariantIndexMaxValue}; + } + + SupervariantIndex ShaderAsset::GetSupervariantIndexFromAssetId(const Data::AssetId& assetId) + { + return GetSupervariantIndexFromProductAssetSubId(assetId.m_subId); + } + + void ShaderAsset::Supervariant::Reflect(AZ::ReflectContext* context) + { + if (auto* serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Version(1) + ->Field("Name", &Supervariant::m_name) + ->Field("SrgLayoutList", &Supervariant::m_srgLayoutList) + ->Field("PipelineLayout", &Supervariant::m_pipelineLayoutDescriptor) + ->Field("InputContract", &Supervariant::m_inputContract) + ->Field("OutputContract", &Supervariant::m_outputContract) + ->Field("RenderStates", &Supervariant::m_renderStates) + ->Field("AttributeMapList", &Supervariant::m_attributeMaps) + ->Field("RootVariantAsset", &Supervariant::m_rootShaderVariantAsset) + ; + } + } + void ShaderAsset::ShaderApiDataContainer::Reflect(AZ::ReflectContext* context) { if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Version(5) + ->Version(1) ->Field("APIType", &ShaderApiDataContainer::m_APIType) - ->Field("PipelineLayoutDescriptor", &ShaderApiDataContainer::m_pipelineLayoutDescriptor) - ->Field("RootShaderVariantAsset", &ShaderApiDataContainer::m_rootShaderVariantAsset) - ->Field("AttributeMaps", &ShaderApiDataContainer::m_attributeMaps) + ->Field("Supervariants", &ShaderApiDataContainer::m_supervariants) ; } } void ShaderAsset::Reflect(ReflectContext* context) { + Supervariant::Reflect(context); + + ShaderApiDataContainer::Reflect(context); + if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Version(6) + ->Version(1) ->Field("name", &ShaderAsset::m_name) ->Field("pipelineStateType", &ShaderAsset::m_pipelineStateType) - ->Field("shaderResourceGroupAssets", &ShaderAsset::m_shaderResourceGroupAssets) ->Field("shaderOptionGroupLayout", &ShaderAsset::m_shaderOptionGroupLayout) - ->Field("perAPIShaderData", &ShaderAsset::m_perAPIShaderData) ->Field("drawListName", &ShaderAsset::m_drawListName) ->Field("shaderAssetBuildTimestamp", &ShaderAsset::m_shaderAssetBuildTimestamp) + ->Field("perAPIShaderData", &ShaderAsset::m_perAPIShaderData) ; } - - ShaderApiDataContainer::Reflect(context); } ShaderAsset::~ShaderAsset() @@ -92,19 +119,62 @@ namespace AZ return m_name; } - Data::Asset ShaderAsset::GetVariant(const ShaderVariantId& shaderVariantId) + RHI::PipelineStateType ShaderAsset::GetPipelineStateType() const + { + return m_pipelineStateType; + } + + const ShaderOptionGroupLayout* ShaderAsset::GetShaderOptionGroupLayout() const + { + AZ_Assert(m_shaderOptionGroupLayout, "m_shaderOptionGroupLayout is null"); + return m_shaderOptionGroupLayout.get(); + } + + const Name& ShaderAsset::GetDrawListName() const + { + return m_drawListName; + } + + AZStd::sys_time_t ShaderAsset::GetShaderAssetBuildTimestamp() const + { + return m_shaderAssetBuildTimestamp; + } + + void ShaderAsset::SetReady() + { + m_status = AssetStatus::Ready; + } + + + SupervariantIndex ShaderAsset::GetSupervariantIndex(const AZ::Name& supervariantName) const + { + const auto& supervariants = GetCurrentShaderApiData().m_supervariants; + const uint32_t supervariantCount = supervariants.size(); + for (uint32_t index = 0; index < supervariantCount; ++index) + { + if (supervariants[index].m_name == supervariantName) + { + return SupervariantIndex{index}; + } + } + return InvalidSupervariantIndex; + } + + + Data::Asset ShaderAsset::GetVariant( + const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) { AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); auto variantFinder = AZ::Interface::Get(); AZ_Assert(variantFinder, "The IShaderVariantFinder doesn't exist"); - Data::Asset shaderVariantAsset = variantFinder->GetShaderVariantAssetByVariantId( - Data::Asset(this, Data::AssetLoadBehavior::Default), shaderVariantId); + Data::Asset thisAsset(this, Data::AssetLoadBehavior::Default); + Data::Asset shaderVariantAsset = + variantFinder->GetShaderVariantAssetByVariantId(thisAsset, shaderVariantId, supervariantIndex); if (!shaderVariantAsset) { - variantFinder->QueueLoadShaderVariantAssetByVariantId( - Data::Asset(this, Data::AssetLoadBehavior::Default), shaderVariantId); + variantFinder->QueueLoadShaderVariantAssetByVariantId(thisAsset, shaderVariantId, supervariantIndex); } return shaderVariantAsset; } @@ -152,16 +222,18 @@ namespace AZ return m_shaderVariantTree->FindVariantStableId(GetShaderOptionGroupLayout(), shaderVariantId); } - Data::Asset ShaderAsset::GetVariant(ShaderVariantStableId shaderVariantStableId) const + Data::Asset ShaderAsset::GetVariant( + ShaderVariantStableId shaderVariantStableId, SupervariantIndex supervariantIndex) const { if (!shaderVariantStableId.IsValid() || shaderVariantStableId == RootShaderVariantStableId) { - return GetRootVariant(); + return GetRootVariant(supervariantIndex); } auto variantFinder = AZ::Interface::Get(); AZ_Assert(variantFinder, "No Variant Finder For shaderAsset with name [%s] and stableId [%u]", GetName().GetCStr(), shaderVariantStableId.GetIndex()); - Data::Asset variant = variantFinder->GetShaderVariantAsset(m_shaderVariantTree.GetId(), shaderVariantStableId); + Data::Asset variant = + variantFinder->GetShaderVariantAsset(m_shaderVariantTree.GetId(), shaderVariantStableId, supervariantIndex); if (!variant.IsReady()) { // Enqueue a request to load the variant, next time around the caller will get the asset. @@ -175,11 +247,11 @@ namespace AZ } if (variantTreeAssetId.IsValid()) { - variantFinder->QueueLoadShaderVariantAsset(variantTreeAssetId, shaderVariantStableId); + variantFinder->QueueLoadShaderVariantAsset(variantTreeAssetId, shaderVariantStableId, supervariantIndex); } - return GetRootVariant(); + return GetRootVariant(supervariantIndex); } - else if (variant->GetShaderAssetBuildTimestamp() == m_shaderAssetBuildTimestamp) + else if (variant->GetBuildTimestamp() >= m_shaderAssetBuildTimestamp) { return variant; } @@ -188,98 +260,146 @@ namespace AZ // When rebuilding shaders we may be in a state where the ShaderAsset and root ShaderVariantAsset have been rebuilt and reloaded, but some (or all) // shader variants haven't been built yet. Since we want to use the latest version of the shader code, ignore the old variants and fall back to the newer root variant instead. AZ_Warning("ShaderAsset", false, "ShaderAsset and ShaderVariantAsset are out of sync; defaulting to root shader variant. (This is common while reloading shaders)."); - return GetRootVariant(); + return GetRootVariant(supervariantIndex); } } - Data::Asset ShaderAsset::GetRootVariant() const + Data::Asset ShaderAsset::GetRootVariant(SupervariantIndex supervariantIndex) const { - return GetCurrentShaderApiData().m_rootShaderVariantAsset; + auto supervariant = GetSupervariant(supervariantIndex); + if (!supervariant) + { + return Data::Asset(); + } + return supervariant->m_rootShaderVariantAsset; } - const Data::Asset& ShaderAsset::FindShaderResourceGroupAsset(const Name& shaderResourceGroupName) const + const RHI::Ptr& ShaderAsset::FindShaderResourceGroupLayout( + const Name& shaderResourceGroupName, SupervariantIndex supervariantIndex) const { - const auto findIt = AZStd::find_if(m_shaderResourceGroupAssets.begin(), m_shaderResourceGroupAssets.end(), [&](const Data::Asset& asset) + auto supervariant = GetSupervariant(supervariantIndex); + if (!supervariant) + { + return RHI::NullSrgLayout; + } + const auto& srgLayoutList = supervariant->m_srgLayoutList; + const auto findIt = AZStd::find_if(srgLayoutList.begin(), srgLayoutList.end(), [&](const RHI::Ptr& layout) { - return asset->GetName() == shaderResourceGroupName; + return layout->GetName() == shaderResourceGroupName; }); - if (findIt != m_shaderResourceGroupAssets.end()) + if (findIt != srgLayoutList.end()) { return *findIt; } - static const Data::Asset s_nullAsset; - return s_nullAsset; + return RHI::NullSrgLayout; } - const Data::Asset& ShaderAsset::FindShaderResourceGroupAsset(uint32_t bindingSlot) const + const RHI::Ptr& ShaderAsset::FindShaderResourceGroupLayout( + uint32_t bindingSlot, SupervariantIndex supervariantIndex) const { - const auto findIt = AZStd::find_if(m_shaderResourceGroupAssets.begin(), m_shaderResourceGroupAssets.end(), [&](const Data::Asset& asset) + auto supervariant = GetSupervariant(supervariantIndex); + if (!supervariant) + { + return RHI::NullSrgLayout; + } + const auto& srgLayoutList = supervariant->m_srgLayoutList; + const auto findIt = + AZStd::find_if(srgLayoutList.begin(), srgLayoutList.end(), [&](const RHI::Ptr& layout) { - const auto layout = asset->GetLayout(); return layout && layout->GetBindingSlot() == bindingSlot; }); - if (findIt != m_shaderResourceGroupAssets.end()) + if (findIt != srgLayoutList.end()) { return *findIt; } - static const Data::Asset s_nullAsset; - return s_nullAsset; + return RHI::NullSrgLayout; } - const Data::Asset& ShaderAsset::FindFallbackShaderResourceGroupAsset() const + const RHI::Ptr& ShaderAsset::FindFallbackShaderResourceGroupLayout( + SupervariantIndex supervariantIndex) const { - const auto findIt = AZStd::find_if(m_shaderResourceGroupAssets.begin(), m_shaderResourceGroupAssets.end(), [&](const Data::Asset& asset) + auto supervariant = GetSupervariant(supervariantIndex); + if (!supervariant) + { + return RHI::NullSrgLayout; + } + const auto& srgLayoutList = supervariant->m_srgLayoutList; + const auto findIt = + AZStd::find_if(srgLayoutList.begin(), srgLayoutList.end(), [&](const RHI::Ptr& layout) { - const auto layout = asset->GetLayout(); return layout && layout->HasShaderVariantKeyFallbackEntry(); }); - if (findIt != m_shaderResourceGroupAssets.end()) + if (findIt != srgLayoutList.end()) { return *findIt; } - static const Data::Asset s_nullAsset; - return s_nullAsset; + return RHI::NullSrgLayout; } - AZStd::array_view> ShaderAsset::GetShaderResourceGroupAssets() const + AZStd::array_view> ShaderAsset::GetShaderResourceGroupLayouts( + SupervariantIndex supervariantIndex) const { - return m_shaderResourceGroupAssets; + auto supervariant = GetSupervariant(supervariantIndex); + if (!supervariant) + { + return {}; + } + return supervariant->m_srgLayoutList; } - RHI::PipelineStateType ShaderAsset::GetPipelineStateType() const + + const RHI::Ptr& ShaderAsset::GetDrawSrgLayout(SupervariantIndex supervariantIndex) const { - return m_pipelineStateType; + return FindShaderResourceGroupLayout(SrgBindingSlot::Draw, supervariantIndex); } - const RHI::PipelineLayoutDescriptor* ShaderAsset::GetPipelineLayoutDescriptor() const + const ShaderInputContract& ShaderAsset::GetInputContract(SupervariantIndex supervariantIndex) const { - AZ_Assert(GetCurrentShaderApiData().m_pipelineLayoutDescriptor, "m_pipelineLayoutDescriptor is null"); - return GetCurrentShaderApiData().m_pipelineLayoutDescriptor.get(); + auto supervariant = GetSupervariant(supervariantIndex); + return supervariant->m_inputContract; } - const ShaderOptionGroupLayout* ShaderAsset::GetShaderOptionGroupLayout() const + const ShaderOutputContract& ShaderAsset::GetOutputContract(SupervariantIndex supervariantIndex) const { - AZ_Assert(m_shaderOptionGroupLayout, "m_shaderOptionGroupLayout is null"); - return m_shaderOptionGroupLayout.get(); + auto supervariant = GetSupervariant(supervariantIndex); + return supervariant->m_outputContract; } - const AZ::Data::Asset& ShaderAsset::GetDrawSrgAsset() const + const RHI::RenderStates& ShaderAsset::GetRenderStates(SupervariantIndex supervariantIndex) const { - return FindShaderResourceGroupAsset(SrgBindingSlot::Draw); + auto supervariant = GetSupervariant(supervariantIndex); + return supervariant->m_renderStates; } - AZStd::optional ShaderAsset::GetAttribute(const RHI::ShaderStage& shaderStage, const Name& attributeName) const + const RHI::PipelineLayoutDescriptor* ShaderAsset::GetPipelineLayoutDescriptor(SupervariantIndex supervariantIndex) const { + auto supervariant = GetSupervariant(supervariantIndex); + if (!supervariant) + { + return nullptr; + } + AZ_Assert(supervariant->m_pipelineLayoutDescriptor, "m_pipelineLayoutDescriptor is null"); + return supervariant->m_pipelineLayoutDescriptor.get(); + } + + AZStd::optional ShaderAsset::GetAttribute(const RHI::ShaderStage& shaderStage, const Name& attributeName, + SupervariantIndex supervariantIndex) const + { + auto supervariant = GetSupervariant(supervariantIndex); + if (!supervariant) + { + return AZStd::nullopt; + } const auto stageIndex = static_cast(shaderStage); AZ_Assert(stageIndex < RHI::ShaderStageCount, "Invalid shader stage specified!"); - const auto& attributeMaps = GetCurrentShaderApiData().m_attributeMaps; + const auto& attributeMaps = supervariant->m_attributeMaps; const auto& attrPair = attributeMaps[stageIndex].find(attributeName); if (attrPair == attributeMaps[stageIndex].end()) { @@ -289,21 +409,6 @@ namespace AZ return attrPair->second; } - const Name& ShaderAsset::GetDrawListName() const - { - return m_drawListName; - } - - AZStd::sys_time_t ShaderAsset::GetShaderAssetBuildTimestamp() const - { - return m_shaderAssetBuildTimestamp; - } - - void ShaderAsset::SetReady() - { - m_status = AssetStatus::Ready; - } - ShaderAsset::ShaderApiDataContainer& ShaderAsset::GetCurrentShaderApiData() { const size_t perApiShaderDataCount = m_perAPIShaderData.size(); @@ -332,6 +437,36 @@ namespace AZ return m_perAPIShaderData[0]; } + ShaderAsset::Supervariant* ShaderAsset::GetSupervariant(SupervariantIndex supervariantIndex) + { + auto& supervariants = GetCurrentShaderApiData().m_supervariants; + auto index = supervariantIndex.GetIndex(); + if (index >= supervariants.size()) + { + AZ_Error( + "ShaderAsset", false, "Supervariant index = %u is invalid because there are only %zu supervariants", index, + supervariants.size()); + return nullptr; + } + + return &supervariants[index]; + } + + const ShaderAsset::Supervariant* ShaderAsset::GetSupervariant(SupervariantIndex supervariantIndex) const + { + const auto& supervariants = GetCurrentShaderApiData().m_supervariants; + auto index = supervariantIndex.GetIndex(); + if (index >= supervariants.size()) + { + AZ_Error( + "ShaderAsset", false, "Supervariant index = %u is invalid because there are only %zu supervariants", index, + supervariants.size()); + return nullptr; + } + + return &supervariants[index]; + } + bool ShaderAsset::FinalizeAfterLoad() { // Use the current RHI that is active to select which shader data to use. @@ -362,11 +497,15 @@ namespace AZ // Common finalize check for (const auto& shaderApiData : m_perAPIShaderData) { - bool beTrue = shaderApiData.m_attributeMaps.size() == RHI::ShaderStageCount; - if (!beTrue) + const auto& supervariants = shaderApiData.m_supervariants; + for (const auto& supervariant : supervariants) { - AZ_Error("ShaderAsset", false, "Unexpected number of shader stages!"); - return false; + bool beTrue = supervariant.m_attributeMaps.size() == RHI::ShaderStageCount; + if (!beTrue) + { + AZ_Error("ShaderAsset", false, "Unexpected number of shader stages at supervariant with name [%s]!", supervariant.m_name.GetCStr()); + return false; + } } } @@ -386,7 +525,8 @@ namespace AZ Data::Asset shaderVariantAsset = { asset.GetAs(), AZ::Data::AssetLoadBehavior::PreLoad }; AZ_Assert(shaderVariantAsset->GetStableId() == RootShaderVariantStableId, "Was expecting to update the root variant"); - GetCurrentShaderApiData().m_rootShaderVariantAsset = asset; + SupervariantIndex supervariantIndex = GetSupervariantIndexFromAssetId(asset.GetId()); + GetCurrentShaderApiData().m_supervariants[supervariantIndex.GetIndex()].m_rootShaderVariantAsset = asset; ShaderReloadNotificationBus::Event(GetId(), &ShaderReloadNotificationBus::Events::OnShaderAssetReinitialized, Data::Asset{ this, AZ::Data::AssetLoadBehavior::PreLoad } ); } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset2.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset2.cpp deleted file mode 100644 index 749f53aae7..0000000000 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset2.cpp +++ /dev/null @@ -1,589 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#include - -#include -#include -#include - -#include - -#include -#include -#include -#include - -namespace AZ -{ - namespace RPI - { - const ShaderVariantStableId ShaderAsset2::RootShaderVariantStableId{0}; - - static constexpr uint32_t SubProductTypeBitPosition = 0; - static constexpr uint32_t SubProductTypeNumBits = SupervariantIndexBitPosition - SubProductTypeBitPosition; - static constexpr uint32_t SubProductTypeMaxValue = (1 << SubProductTypeNumBits) - 1; - - static_assert(RhiIndexMaxValue == RHI::Limits::APIType::PerPlatformApiUniqueIndexMax); - - uint32_t ShaderAsset2::MakeProductAssetSubId( - uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, uint32_t subProductType) - { - AZ_Assert(rhiApiUniqueIndex <= RhiIndexMaxValue, "Invalid rhiApiUniqueIndex [%u]", rhiApiUniqueIndex); - AZ_Assert(supervariantIndex <= SupervariantIndexMaxValue, "Invalid supervariantIndex [%u]", supervariantIndex); - AZ_Assert(subProductType <= SubProductTypeMaxValue, "Invalid subProductType [%u]", subProductType); - - const uint32_t assetProductSubId = (rhiApiUniqueIndex << RhiIndexBitPosition) | - (supervariantIndex << SupervariantIndexBitPosition) | (subProductType << SubProductTypeBitPosition); - return assetProductSubId; - } - - SupervariantIndex ShaderAsset2::GetSupervariantIndexFromProductAssetSubId(uint32_t assetProducSubId) - { - const uint32_t supervariantIndex = assetProducSubId >> SupervariantIndexBitPosition; - return SupervariantIndex{supervariantIndex & SupervariantIndexMaxValue}; - } - - SupervariantIndex ShaderAsset2::GetSupervariantIndexFromAssetId(const Data::AssetId& assetId) - { - return GetSupervariantIndexFromProductAssetSubId(assetId.m_subId); - } - - void ShaderAsset2::Supervariant::Reflect(AZ::ReflectContext* context) - { - if (auto* serializeContext = azrtti_cast(context)) - { - serializeContext->Class() - ->Version(1) - ->Field("Name", &Supervariant::m_name) - ->Field("SrgLayoutList", &Supervariant::m_srgLayoutList) - ->Field("PipelineLayout", &Supervariant::m_pipelineLayoutDescriptor) - ->Field("InputContract", &Supervariant::m_inputContract) - ->Field("OutputContract", &Supervariant::m_outputContract) - ->Field("RenderStates", &Supervariant::m_renderStates) - ->Field("AttributeMapList", &Supervariant::m_attributeMaps) - ->Field("RootVariantAsset", &Supervariant::m_rootShaderVariantAsset) - ; - } - } - - void ShaderAsset2::ShaderApiDataContainer::Reflect(AZ::ReflectContext* context) - { - if (auto* serializeContext = azrtti_cast(context)) - { - serializeContext->Class() - ->Version(1) - ->Field("APIType", &ShaderApiDataContainer::m_APIType) - ->Field("Supervariants", &ShaderApiDataContainer::m_supervariants) - ; - } - } - - void ShaderAsset2::Reflect(ReflectContext* context) - { - Supervariant::Reflect(context); - - ShaderApiDataContainer::Reflect(context); - - if (auto* serializeContext = azrtti_cast(context)) - { - serializeContext->Class() - ->Version(1) - ->Field("name", &ShaderAsset2::m_name) - ->Field("pipelineStateType", &ShaderAsset2::m_pipelineStateType) - ->Field("shaderOptionGroupLayout", &ShaderAsset2::m_shaderOptionGroupLayout) - ->Field("drawListName", &ShaderAsset2::m_drawListName) - ->Field("shaderAssetBuildTimestamp", &ShaderAsset2::m_shaderAssetBuildTimestamp) - ->Field("perAPIShaderData", &ShaderAsset2::m_perAPIShaderData) - ; - } - } - - ShaderAsset2::~ShaderAsset2() - { - Data::AssetBus::Handler::BusDisconnect(); - ShaderVariantFinderNotificationBus2::Handler::BusDisconnect(); - } - - const Name& ShaderAsset2::GetName() const - { - return m_name; - } - - RHI::PipelineStateType ShaderAsset2::GetPipelineStateType() const - { - return m_pipelineStateType; - } - - const ShaderOptionGroupLayout* ShaderAsset2::GetShaderOptionGroupLayout() const - { - AZ_Assert(m_shaderOptionGroupLayout, "m_shaderOptionGroupLayout is null"); - return m_shaderOptionGroupLayout.get(); - } - - const Name& ShaderAsset2::GetDrawListName() const - { - return m_drawListName; - } - - AZStd::sys_time_t ShaderAsset2::GetShaderAssetBuildTimestamp() const - { - return m_shaderAssetBuildTimestamp; - } - - void ShaderAsset2::SetReady() - { - m_status = AssetStatus::Ready; - } - - - SupervariantIndex ShaderAsset2::GetSupervariantIndex(const AZ::Name& supervariantName) const - { - const auto& supervariants = GetCurrentShaderApiData().m_supervariants; - const uint32_t supervariantCount = supervariants.size(); - for (uint32_t index = 0; index < supervariantCount; ++index) - { - if (supervariants[index].m_name == supervariantName) - { - return SupervariantIndex{index}; - } - } - return InvalidSupervariantIndex; - } - - - Data::Asset ShaderAsset2::GetVariant( - const ShaderVariantId& shaderVariantId, SupervariantIndex supervariantIndex) - { - AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); - - auto variantFinder = AZ::Interface::Get(); - AZ_Assert(variantFinder, "The IShaderVariantFinder doesn't exist"); - - Data::Asset thisAsset(this, Data::AssetLoadBehavior::Default); - Data::Asset shaderVariantAsset = - variantFinder->GetShaderVariantAssetByVariantId(thisAsset, shaderVariantId, supervariantIndex); - if (!shaderVariantAsset) - { - variantFinder->QueueLoadShaderVariantAssetByVariantId(thisAsset, shaderVariantId, supervariantIndex); - } - return shaderVariantAsset; - } - - ShaderVariantSearchResult ShaderAsset2::FindVariantStableId(const ShaderVariantId& shaderVariantId) - { - AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); - - uint32_t dynamicOptionCount = aznumeric_cast(GetShaderOptionGroupLayout()->GetShaderOptions().size()); - ShaderVariantSearchResult variantSearchResult{RootShaderVariantStableId, dynamicOptionCount }; - - if (!dynamicOptionCount) - { - // The shader has no options at all. There's nothing to search. - return variantSearchResult; - } - - auto variantFinder = AZ::Interface::Get(); - AZ_Assert(variantFinder, "The IShaderVariantFinder doesn't exist"); - - { - AZStd::shared_lock lock(m_variantTreeMutex); - if (m_shaderVariantTree) - { - return m_shaderVariantTree->FindVariantStableId(GetShaderOptionGroupLayout(), shaderVariantId); - } - } - - AZStd::unique_lock lock(m_variantTreeMutex); - if (!m_shaderVariantTree) - { - m_shaderVariantTree = variantFinder->GetShaderVariantTreeAsset(GetId()); - if (!m_shaderVariantTree) - { - if (!m_shaderVariantTreeLoadWasRequested) - { - variantFinder->QueueLoadShaderVariantTreeAsset(GetId()); - m_shaderVariantTreeLoadWasRequested = true; - } - - // The variant tree could be under construction or simply doesn't exist at all. - return variantSearchResult; - } - } - return m_shaderVariantTree->FindVariantStableId(GetShaderOptionGroupLayout(), shaderVariantId); - } - - Data::Asset ShaderAsset2::GetVariant( - ShaderVariantStableId shaderVariantStableId, SupervariantIndex supervariantIndex) const - { - if (!shaderVariantStableId.IsValid() || shaderVariantStableId == RootShaderVariantStableId) - { - return GetRootVariant(supervariantIndex); - } - - auto variantFinder = AZ::Interface::Get(); - AZ_Assert(variantFinder, "No Variant Finder For shaderAsset with name [%s] and stableId [%u]", GetName().GetCStr(), shaderVariantStableId.GetIndex()); - Data::Asset variant = - variantFinder->GetShaderVariantAsset(m_shaderVariantTree.GetId(), shaderVariantStableId, supervariantIndex); - if (!variant.IsReady()) - { - // Enqueue a request to load the variant, next time around the caller will get the asset. - Data::AssetId variantTreeAssetId; - { - AZStd::shared_lock lock(m_variantTreeMutex); - if (m_shaderVariantTree) - { - variantTreeAssetId = m_shaderVariantTree.GetId(); - } - } - if (variantTreeAssetId.IsValid()) - { - variantFinder->QueueLoadShaderVariantAsset(variantTreeAssetId, shaderVariantStableId, supervariantIndex); - } - return GetRootVariant(supervariantIndex); - } - else if (variant->GetBuildTimestamp() >= m_shaderAssetBuildTimestamp) - { - return variant; - } - else - { - // When rebuilding shaders we may be in a state where the ShaderAsset2 and root ShaderVariantAsset have been rebuilt and reloaded, but some (or all) - // shader variants haven't been built yet. Since we want to use the latest version of the shader code, ignore the old variants and fall back to the newer root variant instead. - AZ_Warning("ShaderAsset2", false, "ShaderAsset2 and ShaderVariantAsset are out of sync; defaulting to root shader variant. (This is common while reloading shaders)."); - return GetRootVariant(supervariantIndex); - } - } - - Data::Asset ShaderAsset2::GetRootVariant(SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - if (!supervariant) - { - return Data::Asset(); - } - return supervariant->m_rootShaderVariantAsset; - } - - const RHI::Ptr ShaderAsset2::FindShaderResourceGroupLayout( - const Name& shaderResourceGroupName, SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - if (!supervariant) - { - return nullptr; - } - const auto& srgLayoutList = supervariant->m_srgLayoutList; - const auto findIt = AZStd::find_if(srgLayoutList.begin(), srgLayoutList.end(), [&](const RHI::Ptr& layout) - { - return layout->GetName() == shaderResourceGroupName; - }); - - if (findIt != srgLayoutList.end()) - { - return *findIt; - } - - return nullptr; - } - - const RHI::Ptr ShaderAsset2::FindShaderResourceGroupLayout( - uint32_t bindingSlot, SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - if (!supervariant) - { - return nullptr; - } - const auto& srgLayoutList = supervariant->m_srgLayoutList; - const auto findIt = - AZStd::find_if(srgLayoutList.begin(), srgLayoutList.end(), [&](const RHI::Ptr& layout) - { - return layout && layout->GetBindingSlot() == bindingSlot; - }); - - if (findIt != srgLayoutList.end()) - { - return *findIt; - } - - return nullptr; - } - - const RHI::Ptr ShaderAsset2::FindFallbackShaderResourceGroupLayout( - SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - if (!supervariant) - { - return nullptr; - } - const auto& srgLayoutList = supervariant->m_srgLayoutList; - const auto findIt = - AZStd::find_if(srgLayoutList.begin(), srgLayoutList.end(), [&](const RHI::Ptr& layout) - { - return layout && layout->HasShaderVariantKeyFallbackEntry(); - }); - - if (findIt != srgLayoutList.end()) - { - return *findIt; - } - - return nullptr; - } - - AZStd::array_view> ShaderAsset2::GetShaderResourceGroupLayouts( - SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - if (!supervariant) - { - return {}; - } - return supervariant->m_srgLayoutList; - } - - - const RHI::Ptr ShaderAsset2::GetDrawSrgLayout(SupervariantIndex supervariantIndex) const - { - return FindShaderResourceGroupLayout(SrgBindingSlot::Draw, supervariantIndex); - } - - const ShaderInputContract& ShaderAsset2::GetInputContract(SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - return supervariant->m_inputContract; - } - - const ShaderOutputContract& ShaderAsset2::GetOutputContract(SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - return supervariant->m_outputContract; - } - - const RHI::RenderStates& ShaderAsset2::GetRenderStates(SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - return supervariant->m_renderStates; - } - - const RHI::PipelineLayoutDescriptor* ShaderAsset2::GetPipelineLayoutDescriptor(SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - if (!supervariant) - { - return nullptr; - } - AZ_Assert(supervariant->m_pipelineLayoutDescriptor, "m_pipelineLayoutDescriptor is null"); - return supervariant->m_pipelineLayoutDescriptor.get(); - } - - AZStd::optional ShaderAsset2::GetAttribute(const RHI::ShaderStage& shaderStage, const Name& attributeName, - SupervariantIndex supervariantIndex) const - { - auto supervariant = GetSupervariant(supervariantIndex); - if (!supervariant) - { - return AZStd::nullopt; - } - const auto stageIndex = static_cast(shaderStage); - AZ_Assert(stageIndex < RHI::ShaderStageCount, "Invalid shader stage specified!"); - - const auto& attributeMaps = supervariant->m_attributeMaps; - const auto& attrPair = attributeMaps[stageIndex].find(attributeName); - if (attrPair == attributeMaps[stageIndex].end()) - { - return AZStd::nullopt; - } - - return attrPair->second; - } - - ShaderAsset2::ShaderApiDataContainer& ShaderAsset2::GetCurrentShaderApiData() - { - const size_t perApiShaderDataCount = m_perAPIShaderData.size(); - AZ_Assert(perApiShaderDataCount > 0, "Invalid m_perAPIShaderData"); - - if (m_currentAPITypeIndex < perApiShaderDataCount) - { - return m_perAPIShaderData[m_currentAPITypeIndex]; - } - - // We may only endup here when running in a Builder context. - return m_perAPIShaderData[0]; - } - - const ShaderAsset2::ShaderApiDataContainer& ShaderAsset2::GetCurrentShaderApiData() const - { - const size_t perApiShaderDataCount = m_perAPIShaderData.size(); - AZ_Assert(perApiShaderDataCount > 0, "Invalid m_perAPIShaderData"); - - if (m_currentAPITypeIndex < perApiShaderDataCount) - { - return m_perAPIShaderData[m_currentAPITypeIndex]; - } - - // We may only endup here when running in a Builder context. - return m_perAPIShaderData[0]; - } - - ShaderAsset2::Supervariant* ShaderAsset2::GetSupervariant(SupervariantIndex supervariantIndex) - { - auto& supervariants = GetCurrentShaderApiData().m_supervariants; - auto index = supervariantIndex.GetIndex(); - if (index >= supervariants.size()) - { - AZ_Error( - "ShaderAsset2", false, "Supervariant index = %u is invalid because there are only %zu supervariants", index, - supervariants.size()); - return nullptr; - } - - return &supervariants[index]; - } - - const ShaderAsset2::Supervariant* ShaderAsset2::GetSupervariant(SupervariantIndex supervariantIndex) const - { - const auto& supervariants = GetCurrentShaderApiData().m_supervariants; - auto index = supervariantIndex.GetIndex(); - if (index >= supervariants.size()) - { - AZ_Error( - "ShaderAsset2", false, "Supervariant index = %u is invalid because there are only %zu supervariants", index, - supervariants.size()); - return nullptr; - } - - return &supervariants[index]; - } - - bool ShaderAsset2::FinalizeAfterLoad() - { - // Use the current RHI that is active to select which shader data to use. - // We don't assert if the Factory is not available because this method could be called during build time, - // when no Factory is available. Some assets (like the material asset) need to load the ShaderAsset2 - // in order to get some non API specific data (like a ShaderResourceGroup) during their build - // process. If they try to access any RHI API specific data, an assert will be trigger because the - // correct API index will not set. - if (RHI::Factory::IsReady()) - { - auto rhiType = RHI::Factory::Get().GetType(); - auto findIt = AZStd::find_if(m_perAPIShaderData.begin(), m_perAPIShaderData.end(), [&rhiType](const auto& shaderData) - { - return shaderData.m_APIType == rhiType; - }); - - if (findIt != m_perAPIShaderData.end()) - { - m_currentAPITypeIndex = AZStd::distance(m_perAPIShaderData.begin(), findIt); - } - else - { - AZ_Error("ShaderAsset2", false, "Could not find shader for API %s in shader %s", RHI::Factory::Get().GetName().GetCStr(), GetName().GetCStr()); - return false; - } - } - - // Common finalize check - for (const auto& shaderApiData : m_perAPIShaderData) - { - const auto& supervariants = shaderApiData.m_supervariants; - for (const auto& supervariant : supervariants) - { - bool beTrue = supervariant.m_attributeMaps.size() == RHI::ShaderStageCount; - if (!beTrue) - { - AZ_Error("ShaderAsset2", false, "Unexpected number of shader stages at supervariant with name [%s]!", supervariant.m_name.GetCStr()); - return false; - } - } - } - - // Once the ShaderAsset2 is loaded, it is necessary to listen for changes in the Root Variant Asset. - Data::AssetBus::Handler::BusConnect(GetRootVariant().GetId()); - ShaderVariantFinderNotificationBus2::Handler::BusConnect(GetId()); - - return true; - } - - /////////////////////////////////////////////////////////////////////// - // AssetBus overrides... - void ShaderAsset2::OnAssetReloaded(Data::Asset asset) - { - ShaderReloadDebugTracker::ScopedSection reloadSection("ShaderAsset2::OnAssetReloaded %s", asset.GetHint().c_str()); - - Data::Asset shaderVariantAsset = { asset.GetAs(), AZ::Data::AssetLoadBehavior::PreLoad }; - AZ_Assert(shaderVariantAsset->GetStableId() == RootShaderVariantStableId, - "Was expecting to update the root variant"); - SupervariantIndex supervariantIndex = GetSupervariantIndexFromAssetId(asset.GetId()); - GetCurrentShaderApiData().m_supervariants[supervariantIndex.GetIndex()].m_rootShaderVariantAsset = asset; - - ShaderReloadNotificationBus2::Event(GetId(), &ShaderReloadNotificationBus2::Events::OnShaderAssetReinitialized, Data::Asset{ this, AZ::Data::AssetLoadBehavior::PreLoad } ); - } - /////////////////////////////////////////////////////////////////////// - - /////////////////////////////////////////////////////////////////// - /// ShaderVariantFinderNotificationBus2 overrides - void ShaderAsset2::OnShaderVariantTreeAssetReady(Data::Asset shaderVariantTreeAsset, bool isError) - { - ShaderReloadDebugTracker::ScopedSection reloadSection("ShaderAsset2::OnShaderVariantTreeAssetReady %s", shaderVariantTreeAsset.GetHint().c_str()); - - AZStd::unique_lock lock(m_variantTreeMutex); - if (isError) - { - m_shaderVariantTree = {}; //This will force to attempt to reload later. - m_shaderVariantTreeLoadWasRequested = false; - } - else - { - m_shaderVariantTree = shaderVariantTreeAsset; - } - lock.unlock(); - ShaderReloadNotificationBus2::Event(GetId(), &ShaderReloadNotificationBus2::Events::OnShaderAssetReinitialized, Data::Asset{ this, AZ::Data::AssetLoadBehavior::PreLoad }); - } - - /////////////////////////////////////////////////////////////////// - - - /////////////////////////////////////////////////////////////////////// - // ShaderAssetHandler - - Data::AssetHandler::LoadResult ShaderAssetHandler2::LoadAssetData( - const Data::Asset& asset, - AZStd::shared_ptr stream, - const Data::AssetFilterCB& assetLoadFilterCB) - { - if (Base::LoadAssetData(asset, stream, assetLoadFilterCB) == Data::AssetHandler::LoadResult::LoadComplete) - { - return PostLoadInit(asset); - } - return Data::AssetHandler::LoadResult::Error; - } - - Data::AssetHandler::LoadResult ShaderAssetHandler2::PostLoadInit(const Data::Asset& asset) - { - if (ShaderAsset2* shaderAsset = asset.GetAs()) - { - if (!shaderAsset->FinalizeAfterLoad()) - { - AZ_Error("ShaderAssetHandler", false, "Shader asset failed to finalize."); - return Data::AssetHandler::LoadResult::Error; - } - return Data::AssetHandler::LoadResult::LoadComplete; - } - return Data::AssetHandler::LoadResult::Error; - } - - /////////////////////////////////////////////////////////////////////// - - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAssetCreator.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAssetCreator.cpp index 2e2be18e0a..40daff8c8a 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAssetCreator.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAssetCreator.cpp @@ -45,26 +45,6 @@ namespace AZ } } - void ShaderAssetCreator::AddShaderResourceGroupAsset(const Data::Asset& shaderResourceGroupAsset) - { - if (!shaderResourceGroupAsset) - { - ReportError("ShaderResourceGroupAsset '%s' is not loaded.", shaderResourceGroupAsset.GetId().ToString().c_str()); - return; - } - - if (ValidateIsReady()) - { - auto& shaderResourceGroupAssets = m_asset->m_shaderResourceGroupAssets; - - const auto findIt = AZStd::find(shaderResourceGroupAssets.begin(), shaderResourceGroupAssets.end(), shaderResourceGroupAsset); - if (findIt == shaderResourceGroupAssets.end()) - { - shaderResourceGroupAssets.push_back(shaderResourceGroupAsset); - } - } - } - void ShaderAssetCreator::SetShaderOptionGroupLayout(const Ptr& shaderOptionGroupLayout) { if (ValidateIsReady()) @@ -84,28 +64,177 @@ namespace AZ } } - void ShaderAssetCreator::SetRootShaderVariantAsset(Data::Asset shaderVariantAsset) + void ShaderAssetCreator::BeginSupervariant(const Name& name) { - if (ValidateIsReady()) + if (!ValidateIsReady()) { - m_asset->GetCurrentShaderApiData().m_rootShaderVariantAsset = shaderVariantAsset; + return; + } + + if (m_currentSupervariant) + { + ReportError("Call EndSupervariant() before calling BeginSupervariant again."); + return; + } + + if (m_asset->m_currentAPITypeIndex == ShaderAsset::InvalidAPITypeIndex) + { + ReportError("Can not begin supervariant with name [%s] because this function must be called between BeginAPI()/EndAPI()", name.GetCStr()); + return; + } + + if (m_asset->m_perAPIShaderData.empty()) + { + ReportError("Can not add supervariant with name [%s] because there's no per API shader data", name.GetCStr()); + return; + } + + ShaderAsset::ShaderApiDataContainer& perAPIShaderData = m_asset->m_perAPIShaderData[m_asset->m_perAPIShaderData.size() - 1]; + if (perAPIShaderData.m_supervariants.empty()) + { + if (!name.IsEmpty()) + { + ReportError("The first supervariant must be nameless. Name [%s] is invalid", name.GetCStr()); + return; + } + } + else + { + if (name.IsEmpty()) + { + ReportError( + "Only the first supervariant can be nameless. So far there are %zu supervariants", + perAPIShaderData.m_supervariants.size()); + return; + } + } + + perAPIShaderData.m_supervariants.push_back({}); + m_currentSupervariant = &perAPIShaderData.m_supervariants[perAPIShaderData.m_supervariants.size() - 1]; + m_currentSupervariant->m_name = name; + } + + void ShaderAssetCreator::SetSrgLayoutList(const ShaderResourceGroupLayoutList& srgLayoutList) + { + if (!ValidateIsReady()) + { + return; + } + + if (!m_currentSupervariant) + { + ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); + return; + } + + m_currentSupervariant->m_srgLayoutList = srgLayoutList; + for (auto srgLayout : m_currentSupervariant->m_srgLayoutList) + { + if (!srgLayout->Finalize()) + { + ReportError( + "The current supervariant [%s], failed to finalize SRG Layout [%s]", m_currentSupervariant->m_name.GetCStr(), + srgLayout->GetName().GetCStr()); + return; + } } } + //! [Required] Assigns the pipeline layout descriptor shared by all variants in the shader. Shader variants + //! embedded in a single shader asset are required to use the same pipeline layout. It is not necessary to call + //! Finalize() on the pipeline layout prior to assignment, but still permitted. + void ShaderAssetCreator::SetPipelineLayout(RHI::Ptr pipelineLayoutDescriptor) + { + if (!ValidateIsReady()) + { + return; + } + if (!m_currentSupervariant) + { + ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); + return; + } + m_currentSupervariant->m_pipelineLayoutDescriptor = pipelineLayoutDescriptor; + } + + //! Assigns the contract for inputs required by the shader. + void ShaderAssetCreator::SetInputContract(const ShaderInputContract& contract) + { + if (!ValidateIsReady()) + { + return; + } + if (!m_currentSupervariant) + { + ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); + return; + } + m_currentSupervariant->m_inputContract = contract; + } + + //! Assigns the contract for outputs required by the shader. + void ShaderAssetCreator::SetOutputContract(const ShaderOutputContract& contract) + { + if (!ValidateIsReady()) + { + return; + } + if (!m_currentSupervariant) + { + ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); + return; + } + m_currentSupervariant->m_outputContract = contract; + } + + //! Assigns the render states for the draw pipeline. Ignored for non-draw pipelines. + void ShaderAssetCreator::SetRenderStates(const RHI::RenderStates& renderStates) + { + if (!ValidateIsReady()) + { + return; + } + if (!m_currentSupervariant) + { + ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); + return; + } + m_currentSupervariant->m_renderStates = renderStates; + } + + //! [Optional] Not all shaders have attributes before functions. Some attributes do not exist for all RHI::APIType either. void ShaderAssetCreator::SetShaderStageAttributeMapList(const RHI::ShaderStageAttributeMapList& shaderStageAttributeMapList) { - if (ValidateIsReady()) + if (!ValidateIsReady()) { - m_asset->GetCurrentShaderApiData().m_attributeMaps = shaderStageAttributeMapList; + return; } + if (!m_currentSupervariant) + { + ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); + return; + } + m_currentSupervariant->m_attributeMaps = shaderStageAttributeMapList; } - void ShaderAssetCreator::SetPipelineLayout(const Ptr& pipelineLayoutDescriptor) + //! [Required] There's always a root variant for each supervariant. + void ShaderAssetCreator::SetRootShaderVariantAsset(Data::Asset shaderVariantAsset) { - if (ValidateIsReady()) + if (!ValidateIsReady()) { - m_asset->GetCurrentShaderApiData().m_pipelineLayoutDescriptor = pipelineLayoutDescriptor; + return; } + if (!m_currentSupervariant) + { + ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); + return; + } + if (!shaderVariantAsset) + { + ReportError("Invalid root variant"); + return; + } + m_currentSupervariant->m_rootShaderVariantAsset = shaderVariantAsset; } static RHI::PipelineStateType GetPipelineStateType(const Data::Asset& shaderVariantAsset) @@ -127,65 +256,40 @@ namespace AZ return RHI::PipelineStateType::RayTracing; } - // For practical purposes We should never get to this point because a Data::Asset is always validated. - AZ_Assert(false, "Invalid Shader Variant Asset. Couldn't deduce the pipeline state type."); return RHI::PipelineStateType::Count; } - bool ShaderAssetCreator::EndAPI() + bool ShaderAssetCreator::EndSupervariant() { if (!ValidateIsReady()) { return false; } - // Shared resources by all RHI API versions - auto shaderOptionGroupLayout = m_asset->m_shaderOptionGroupLayout; - auto& shaderResourceGroupAssets = m_asset->m_shaderResourceGroupAssets; - - // RHI API specific resources - auto& pipelineLayoutDescriptor = m_asset->GetCurrentShaderApiData().m_pipelineLayoutDescriptor; - auto& rootShaderVariantAsset = m_asset->GetCurrentShaderApiData().m_rootShaderVariantAsset; - if (!rootShaderVariantAsset) + if (!m_currentSupervariant) { - ReportError("Invalid root variant"); + ReportError("Can not end a supervariant that has not started"); return false; } - if (pipelineLayoutDescriptor) + if (!m_currentSupervariant->m_rootShaderVariantAsset.IsReady()) { - if (!pipelineLayoutDescriptor->IsFinalized()) + ReportError( + "The current supervariant [%s], is missing the root ShaderVariantAsset", m_currentSupervariant->m_name.GetCStr()); + return false; + } + + // Supervariant specific resources + if (m_currentSupervariant->m_pipelineLayoutDescriptor) + { + if (!m_currentSupervariant->m_pipelineLayoutDescriptor->IsFinalized()) { - if (pipelineLayoutDescriptor->Finalize() != RHI::ResultCode::Success) + if (m_currentSupervariant->m_pipelineLayoutDescriptor->Finalize() != RHI::ResultCode::Success) { ReportError("Failed to finalize pipeline layout descriptor."); return false; } } - - // Validate that the SRG layouts match between the local SRG assets and the pipeline layout. - - if (pipelineLayoutDescriptor->GetShaderResourceGroupLayoutCount() != shaderResourceGroupAssets.size()) - { - ReportError( - "Number of shader resource group layouts specified in pipeline layout does not match the " - "number of shader resource group assets added to ShaderAssetCreator."); - return false; - } - - for (size_t i = 0; i < shaderResourceGroupAssets.size(); ++i) - { - const RHI::ShaderResourceGroupLayout* layoutForAsset = shaderResourceGroupAssets[i]->GetLayout(m_asset->GetCurrentShaderApiData().m_APIType); - const RHI::ShaderResourceGroupLayout* layoutForPipeline = pipelineLayoutDescriptor->GetShaderResourceGroupLayout(i); - - if (layoutForAsset->GetHash() != layoutForPipeline->GetHash()) - { - ReportError( - "ShaderResourceGroupAsset '%s' at index '%d' does not match ShaderResourceGroupLayout specified in PipelineLayoutDescriptor", - shaderResourceGroupAssets[i]->GetName().GetCStr(), i); - return false; - } - } } else { @@ -193,13 +297,66 @@ namespace AZ return false; } - if (!shaderOptionGroupLayout) + const ShaderInputContract& shaderInputContract = m_currentSupervariant->m_inputContract; + // Validate that each stream ID appears only once. + for (const auto& channel : shaderInputContract.m_streamChannels) { - ReportError("ShaderOptionGroupLayout not specified."); + int count = 0; + + for (const auto& searchChannel : shaderInputContract.m_streamChannels) + { + if (channel.m_semantic == searchChannel.m_semantic) + { + ++count; + } + } + + if (count > 1) + { + ReportError( + "Input stream channel [%s] appears multiple times. For supervariant with name [%s]", + channel.m_semantic.ToString().c_str(), m_currentSupervariant->m_name.GetCStr()); + return false; + } + } + + auto pipelineStateType = GetPipelineStateType(m_currentSupervariant->m_rootShaderVariantAsset); + if (pipelineStateType == RHI::PipelineStateType::Count) + { + ReportError("Invalid pipelineStateType for supervariant [%s]", m_currentSupervariant->m_name.GetCStr()); return false; } - m_asset->m_pipelineStateType = GetPipelineStateType(rootShaderVariantAsset); + + if (m_currentSupervariant->m_name.IsEmpty()) + { + m_asset->m_pipelineStateType = pipelineStateType; + } + else + { + if (m_asset->m_pipelineStateType != pipelineStateType) + { + ReportError("All supervariants must be of the same pipelineStateType. Current pipelineStateType is [%d], but for supervariant [%s] the pipelineStateType is [%d]", + m_asset->m_pipelineStateType, m_currentSupervariant->m_name.GetCStr(), pipelineStateType); + return false; + } + } + + m_currentSupervariant = nullptr; + return true; + } + + bool ShaderAssetCreator::EndAPI() + { + if (!ValidateIsReady()) + { + return false; + } + if (m_currentSupervariant) + { + ReportError("EndSupervariant() must be called before calling EndAPI()"); + return false; + } m_asset->m_currentAPITypeIndex = ShaderAsset::InvalidAPITypeIndex; return true; @@ -229,27 +386,18 @@ namespace AZ return EndCommon(shaderAsset); } - void ShaderAssetCreator::Clone(const Data::AssetId& assetId, - const ShaderAsset* sourceShaderAsset, - const ShaderResourceGroupAssets& srgAssets, - const ShaderRootVariantAssets& rootVariantAssets) + void ShaderAssetCreator::Clone(const Data::AssetId& assetId, const ShaderAsset& sourceShaderAsset, [[maybe_unused]] const ShaderRootVariantAssets& rootVariantAssets) { BeginCommon(assetId); - m_asset->m_name = sourceShaderAsset->m_name; - m_asset->m_pipelineStateType = sourceShaderAsset->m_pipelineStateType; - - // copy Srg assets - AZ_Assert(srgAssets.size() == sourceShaderAsset->m_shaderResourceGroupAssets.size(), "incorrect number of Srg assets passed to Clone()"); - for (const auto& srgAsset : srgAssets) - { - m_asset->m_shaderResourceGroupAssets.push_back(srgAsset); - } - - m_asset->m_shaderOptionGroupLayout = sourceShaderAsset->m_shaderOptionGroupLayout; + m_asset->m_name = sourceShaderAsset.m_name; + m_asset->m_pipelineStateType = sourceShaderAsset.m_pipelineStateType; + m_asset->m_drawListName = sourceShaderAsset.m_drawListName; + m_asset->m_shaderOptionGroupLayout = sourceShaderAsset.m_shaderOptionGroupLayout; + m_asset->m_shaderAssetBuildTimestamp = sourceShaderAsset.m_shaderAssetBuildTimestamp; // copy root variant assets - for (auto& perAPIShaderData : sourceShaderAsset->m_perAPIShaderData) + for (auto& perAPIShaderData : sourceShaderAsset.m_perAPIShaderData) { // find the matching ShaderVariantAsset AZ::Data::Asset foundVariantAsset; @@ -261,17 +409,25 @@ namespace AZ break; } } - + if (!foundVariantAsset) { ReportWarning("Failed to find variant asset for API [%d]", perAPIShaderData.m_APIType); } - + m_asset->m_perAPIShaderData.push_back(perAPIShaderData); - m_asset->m_perAPIShaderData.back().m_rootShaderVariantAsset = foundVariantAsset; + if (m_asset->m_perAPIShaderData.back().m_supervariants.empty()) + { + ReportWarning("Attempting to clone a shader asset that has no supervariants for API [%d]", perAPIShaderData.m_APIType); + } + else + { + // currently we only support one supervariant when cloning + // [GFX TODO][ATOM-15740] Support multiple supervariants in ShaderAssetCreator::Clone + m_asset->m_perAPIShaderData.back().m_supervariants[0].m_rootShaderVariantAsset = foundVariantAsset; + } } - m_asset->m_drawListName = sourceShaderAsset->m_drawListName; } } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAssetCreator2.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAssetCreator2.cpp deleted file mode 100644 index af8340a343..0000000000 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAssetCreator2.cpp +++ /dev/null @@ -1,404 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#include - -namespace AZ -{ - namespace RPI - { - void ShaderAssetCreator2::Begin(const Data::AssetId& assetId) - { - BeginCommon(assetId); - } - - void ShaderAssetCreator2::SetShaderAssetBuildTimestamp(AZStd::sys_time_t shaderAssetBuildTimestamp) - { - if (ValidateIsReady()) - { - m_asset->m_shaderAssetBuildTimestamp = shaderAssetBuildTimestamp; - } - } - - void ShaderAssetCreator2::SetName(const Name& name) - { - if (ValidateIsReady()) - { - m_asset->m_name = name; - } - } - - void ShaderAssetCreator2::SetDrawListName(const Name& name) - { - if (ValidateIsReady()) - { - m_asset->m_drawListName = name; - } - } - - void ShaderAssetCreator2::SetShaderOptionGroupLayout(const Ptr& shaderOptionGroupLayout) - { - if (ValidateIsReady()) - { - m_asset->m_shaderOptionGroupLayout = shaderOptionGroupLayout; - } - } - - void ShaderAssetCreator2::BeginAPI(RHI::APIType type) - { - if (ValidateIsReady()) - { - ShaderAsset2::ShaderApiDataContainer shaderData; - shaderData.m_APIType = type; - m_asset->m_currentAPITypeIndex = m_asset->m_perAPIShaderData.size(); - m_asset->m_perAPIShaderData.push_back(shaderData); - } - } - - void ShaderAssetCreator2::BeginSupervariant(const Name& name) - { - if (!ValidateIsReady()) - { - return; - } - - if (m_currentSupervariant) - { - ReportError("Call EndSupervariant() before calling BeginSupervariant again."); - return; - } - - if (m_asset->m_currentAPITypeIndex == ShaderAsset2::InvalidAPITypeIndex) - { - ReportError("Can not begin supervariant with name [%s] because this function must be called between BeginAPI()/EndAPI()", name.GetCStr()); - return; - } - - if (m_asset->m_perAPIShaderData.empty()) - { - ReportError("Can not add supervariant with name [%s] because there's no per API shader data", name.GetCStr()); - return; - } - - ShaderAsset2::ShaderApiDataContainer& perAPIShaderData = m_asset->m_perAPIShaderData[m_asset->m_perAPIShaderData.size() - 1]; - if (perAPIShaderData.m_supervariants.empty()) - { - if (!name.IsEmpty()) - { - ReportError("The first supervariant must be nameless. Name [%s] is invalid", name.GetCStr()); - return; - } - } - else - { - if (name.IsEmpty()) - { - ReportError( - "Only the first supervariant can be nameless. So far there are %zu supervariants", - perAPIShaderData.m_supervariants.size()); - return; - } - } - - perAPIShaderData.m_supervariants.push_back({}); - m_currentSupervariant = &perAPIShaderData.m_supervariants[perAPIShaderData.m_supervariants.size() - 1]; - m_currentSupervariant->m_name = name; - } - - void ShaderAssetCreator2::SetSrgLayoutList(const ShaderResourceGroupLayoutList& srgLayoutList) - { - if (!ValidateIsReady()) - { - return; - } - - if (!m_currentSupervariant) - { - ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); - return; - } - - m_currentSupervariant->m_srgLayoutList = srgLayoutList; - for (auto srgLayout : m_currentSupervariant->m_srgLayoutList) - { - if (!srgLayout->Finalize()) - { - ReportError( - "The current supervariant [%s], failed to finalize SRG Layout [%s]", m_currentSupervariant->m_name.GetCStr(), - srgLayout->GetName().GetCStr()); - return; - } - } - } - - //! [Required] Assigns the pipeline layout descriptor shared by all variants in the shader. Shader variants - //! embedded in a single shader asset are required to use the same pipeline layout. It is not necessary to call - //! Finalize() on the pipeline layout prior to assignment, but still permitted. - void ShaderAssetCreator2::SetPipelineLayout(RHI::Ptr pipelineLayoutDescriptor) - { - if (!ValidateIsReady()) - { - return; - } - if (!m_currentSupervariant) - { - ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); - return; - } - if (m_currentSupervariant->m_srgLayoutList.empty()) - { - ReportError( - "Before setting the pipeline layout, the supervariant [%s] needs the SRG layouts", - m_currentSupervariant->m_name.GetCStr()); - return; - } - m_currentSupervariant->m_pipelineLayoutDescriptor = pipelineLayoutDescriptor; - } - - //! Assigns the contract for inputs required by the shader. - void ShaderAssetCreator2::SetInputContract(const ShaderInputContract& contract) - { - if (!ValidateIsReady()) - { - return; - } - if (!m_currentSupervariant) - { - ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); - return; - } - m_currentSupervariant->m_inputContract = contract; - } - - //! Assigns the contract for outputs required by the shader. - void ShaderAssetCreator2::SetOutputContract(const ShaderOutputContract& contract) - { - if (!ValidateIsReady()) - { - return; - } - if (!m_currentSupervariant) - { - ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); - return; - } - m_currentSupervariant->m_outputContract = contract; - } - - //! Assigns the render states for the draw pipeline. Ignored for non-draw pipelines. - void ShaderAssetCreator2::SetRenderStates(const RHI::RenderStates& renderStates) - { - if (!ValidateIsReady()) - { - return; - } - if (!m_currentSupervariant) - { - ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); - return; - } - m_currentSupervariant->m_renderStates = renderStates; - } - - //! [Optional] Not all shaders have attributes before functions. Some attributes do not exist for all RHI::APIType either. - void ShaderAssetCreator2::SetShaderStageAttributeMapList(const RHI::ShaderStageAttributeMapList& shaderStageAttributeMapList) - { - if (!ValidateIsReady()) - { - return; - } - if (!m_currentSupervariant) - { - ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); - return; - } - m_currentSupervariant->m_attributeMaps = shaderStageAttributeMapList; - } - - //! [Required] There's always a root variant for each supervariant. - void ShaderAssetCreator2::SetRootShaderVariantAsset(Data::Asset shaderVariantAsset) - { - if (!ValidateIsReady()) - { - return; - } - if (!m_currentSupervariant) - { - ReportError("BeginSupervariant() should be called first before calling %s", __FUNCTION__); - return; - } - m_currentSupervariant->m_rootShaderVariantAsset = shaderVariantAsset; - } - - static RHI::PipelineStateType GetPipelineStateType(const Data::Asset& shaderVariantAsset) - { - if (shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Vertex) || - shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Tessellation) || - shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Fragment)) - { - return RHI::PipelineStateType::Draw; - } - - if (shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::Compute)) - { - return RHI::PipelineStateType::Dispatch; - } - - if (shaderVariantAsset->GetShaderStageFunction(RHI::ShaderStage::RayTracing)) - { - return RHI::PipelineStateType::RayTracing; - } - - return RHI::PipelineStateType::Count; - } - - bool ShaderAssetCreator2::EndSupervariant() - { - if (!ValidateIsReady()) - { - return false; - } - - if (!m_currentSupervariant) - { - ReportError("Can not end a supervariant that has not started"); - return false; - } - - if (!m_currentSupervariant->m_rootShaderVariantAsset.IsReady()) - { - ReportError( - "The current supervariant [%s], is missing the root ShaderVariantAsset", m_currentSupervariant->m_name.GetCStr()); - return false; - } - - // Supervariant specific resources - if (m_currentSupervariant->m_pipelineLayoutDescriptor) - { - if (!m_currentSupervariant->m_pipelineLayoutDescriptor->IsFinalized()) - { - if (m_currentSupervariant->m_pipelineLayoutDescriptor->Finalize() != RHI::ResultCode::Success) - { - ReportError("Failed to finalize pipeline layout descriptor."); - return false; - } - } - } - else - { - ReportError("PipelineLayoutDescriptor not specified."); - return false; - } - - const ShaderInputContract& shaderInputContract = m_currentSupervariant->m_inputContract; - // Validate that each stream ID appears only once. - for (const auto& channel : shaderInputContract.m_streamChannels) - { - int count = 0; - - for (const auto& searchChannel : shaderInputContract.m_streamChannels) - { - if (channel.m_semantic == searchChannel.m_semantic) - { - ++count; - } - } - - if (count > 1) - { - ReportError( - "Input stream channel [%s] appears multiple times. For supervariant with name [%s]", - channel.m_semantic.ToString().c_str(), m_currentSupervariant->m_name.GetCStr()); - return false; - } - } - - auto pipelineStateType = GetPipelineStateType(m_currentSupervariant->m_rootShaderVariantAsset); - if (pipelineStateType == RHI::PipelineStateType::Count) - { - ReportError("Invalid pipelineStateType for supervariant [%s]", m_currentSupervariant->m_name.GetCStr()); - return false; - } - - - if (m_currentSupervariant->m_name.IsEmpty()) - { - m_asset->m_pipelineStateType = pipelineStateType; - } - else - { - if (m_asset->m_pipelineStateType != pipelineStateType) - { - ReportError("All supervariants must be of the same pipelineStateType. Current pipelineStateType is [%d], but for supervariant [%s] the pipelineStateType is [%d]", - m_asset->m_pipelineStateType, m_currentSupervariant->m_name.GetCStr(), pipelineStateType); - return false; - } - } - - m_currentSupervariant = nullptr; - return true; - } - - bool ShaderAssetCreator2::EndAPI() - { - if (!ValidateIsReady()) - { - return false; - } - if (m_currentSupervariant) - { - ReportError("EndSupervariant() must be called before calling EndAPI()"); - return false; - } - - m_asset->m_currentAPITypeIndex = ShaderAsset2::InvalidAPITypeIndex; - return true; - } - - bool ShaderAssetCreator2::End(Data::Asset& shaderAsset) - { - if (!ValidateIsReady()) - { - return false; - } - - if (m_asset->m_perAPIShaderData.empty()) - { - ReportError("Empty shader data. Check that a valid RHI is enabled for this platform."); - return false; - } - - if (!m_asset->FinalizeAfterLoad()) - { - ReportError("Failed to finalize the ShaderAsset2."); - return false; - } - - m_asset->SetReady(); - - return EndCommon(shaderAsset); - } - - void ShaderAssetCreator2::Clone(const Data::AssetId& assetId, const ShaderAsset2& sourceShaderAsset) - { - BeginCommon(assetId); - - m_asset->m_name = sourceShaderAsset.m_name; - m_asset->m_pipelineStateType = sourceShaderAsset.m_pipelineStateType; - m_asset->m_drawListName = sourceShaderAsset.m_drawListName; - m_asset->m_shaderOptionGroupLayout = sourceShaderAsset.m_shaderOptionGroupLayout; - m_asset->m_shaderAssetBuildTimestamp = sourceShaderAsset.m_shaderAssetBuildTimestamp; - m_asset->m_perAPIShaderData = sourceShaderAsset.m_perAPIShaderData; - - } - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderResourceGroupAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderResourceGroupAsset.cpp deleted file mode 100644 index d8f8c7d1ce..0000000000 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderResourceGroupAsset.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#include -#include -#include - -namespace AZ -{ - namespace RPI - { - const char* ShaderResourceGroupAsset::DisplayName = "ShaderResourceGroup"; - const char* ShaderResourceGroupAsset::Group = ""; - const char* ShaderResourceGroupAsset::Extension = ".azsrg"; - - void ShaderResourceGroupAsset::Reflect(ReflectContext* context) - { - if (auto* serializeContext = azrtti_cast(context)) - { - serializeContext->Class() - ->Version(0) - ->Field("m_name", &ShaderResourceGroupAsset::m_name) - ->Field("m_perAPILayout", &ShaderResourceGroupAsset::m_perAPILayout) - ; - } - } - - const Name& ShaderResourceGroupAsset::GetName() const - { - return m_name; - } - - const RHI::ShaderResourceGroupLayout* ShaderResourceGroupAsset::GetLayout() const - { - AZ_Error("RHI::ShaderResourceGroupLayout", m_currentAPITypeIndex < m_perAPILayout.size(), "Invalid API Type index"); - if (m_currentAPITypeIndex >= m_perAPILayout.size()) - { - return nullptr; - } - return m_perAPILayout[m_currentAPITypeIndex].second.get(); - } - - const RHI::ShaderResourceGroupLayout * ShaderResourceGroupAsset::GetLayout(const RHI::APIType type) const - { - size_t index = FindAPITypeIndex(type); - AZ_Assert(index < m_perAPILayout.size(), "Invalid API Type index"); - return m_perAPILayout[index].second.get(); - } - - bool ShaderResourceGroupAsset::IsValid() const - { - return !m_perAPILayout.empty() && !m_name.IsEmpty(); - } - - void ShaderResourceGroupAsset::SetReady() - { - m_status = AssetStatus::Ready; - } - - bool ShaderResourceGroupAsset::FinalizeAfterLoad() - { - if (RHI::Factory::IsReady()) - { - auto rhiType = RHI::Factory::Get().GetType(); - m_currentAPITypeIndex = FindAPITypeIndex(rhiType); - if (m_currentAPITypeIndex >= m_perAPILayout.size()) - { - AZ_Assert(false, "Could not find shader resource group layout for API %s", RHI::Factory::Get().GetName().GetCStr()); - return false; - } - } - else - { - m_currentAPITypeIndex = 0; - } - - return true; - } - - size_t ShaderResourceGroupAsset::FindAPITypeIndex(RHI::APIType type) const - { - auto findIt = AZStd::find_if(m_perAPILayout.begin(), m_perAPILayout.end(), [&type](const auto& shaderResourceGroupLayoutData) - { - return shaderResourceGroupLayoutData.first == type; - }); - - return findIt != m_perAPILayout.end() ? AZStd::distance(m_perAPILayout.begin(), findIt) : InvalidAPITypeIndex; - } - - Data::AssetHandler::LoadResult ShaderResourceGroupAssetHandler::LoadAssetData( - const Data::Asset& asset, - AZStd::shared_ptr stream, - const Data::AssetFilterCB& assetLoadFilterCB) - { - if (Base::LoadAssetData(asset, stream, assetLoadFilterCB) == Data::AssetHandler::LoadResult::LoadComplete) - { - return PostLoadInit(asset); - } - return Data::AssetHandler::LoadResult::Error; - } - - Data::AssetHandler::LoadResult ShaderResourceGroupAssetHandler::PostLoadInit(const Data::Asset& asset) - { - if (ShaderResourceGroupAsset* shaderAsset = asset.GetAs()) - { - if (!shaderAsset->FinalizeAfterLoad()) - { - AZ_Error("ShaderAssetHandler", false, "Shader asset failed to finalize."); - return Data::AssetHandler::LoadResult::Error; - } - return Data::AssetHandler::LoadResult::LoadComplete; - } - return Data::AssetHandler::LoadResult::Error; - } - - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.cpp deleted file mode 100644 index 7791881ec0..0000000000 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#include -#include - -namespace AZ -{ - namespace RPI - { - ////////////////////////////////////////////////////////////////////////////////////////// - //// ShaderResourceGroupAssetCreator - - void ShaderResourceGroupAssetCreator::Begin(const AZ::Data::AssetId& assetId, const Name& shaderResourceGroupName) - { - BeginCommon(assetId); - - if (ValidateIsReady()) - { - m_asset->m_name = shaderResourceGroupName; - } - } - - void ShaderResourceGroupAssetCreator::BeginAPI(RHI::APIType type) - { - if (ValidateIsReady()) - { - m_currentAPIType = type; - m_shaderResourceGroupLayout = RHI::ShaderResourceGroupLayout::Create(); - } - } - - void ShaderResourceGroupAssetCreator::SetBindingSlot(uint32_t bindingSlot) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->SetBindingSlot(bindingSlot); - } - } - - void ShaderResourceGroupAssetCreator::SetShaderVariantKeyFallback(const Name& shaderInputName, uint32_t bitSize) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->SetShaderVariantKeyFallback(shaderInputName, bitSize); - } - } - - - void ShaderResourceGroupAssetCreator::AddStaticSampler(const RHI::ShaderInputStaticSamplerDescriptor& shaderInputStaticSampler) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->AddStaticSampler(shaderInputStaticSampler); - } - } - - void ShaderResourceGroupAssetCreator::AddShaderInput(const RHI::ShaderInputBufferDescriptor& shaderInputBuffer) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->AddShaderInput(shaderInputBuffer); - } - } - - void ShaderResourceGroupAssetCreator::AddShaderInput(const RHI::ShaderInputImageDescriptor& shaderInputImage) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->AddShaderInput(shaderInputImage); - } - } - - void ShaderResourceGroupAssetCreator::AddShaderInput(const RHI::ShaderInputBufferUnboundedArrayDescriptor& shaderInputBufferUnboundedArray) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->AddShaderInput(shaderInputBufferUnboundedArray); - } - } - - void ShaderResourceGroupAssetCreator::AddShaderInput(const RHI::ShaderInputImageUnboundedArrayDescriptor& shaderInputImageUnboundedArray) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->AddShaderInput(shaderInputImageUnboundedArray); - } - } - - void ShaderResourceGroupAssetCreator::AddShaderInput(const RHI::ShaderInputSamplerDescriptor& shaderInputSampler) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->AddShaderInput(shaderInputSampler); - } - } - - void ShaderResourceGroupAssetCreator::AddShaderInput(const RHI::ShaderInputConstantDescriptor& shaderInputConstant) - { - if (ValidateIsReady()) - { - m_shaderResourceGroupLayout->AddShaderInput(shaderInputConstant); - } - } - - void ShaderResourceGroupAssetCreator::Cleanup() - { - m_shaderResourceGroupLayout = nullptr; - m_currentAPIType = RHI::APIType(); - } - - bool ShaderResourceGroupAssetCreator::End(Data::Asset& result) - { - if (!ValidateIsReady()) - { - return false; - } - - if (m_shaderResourceGroupLayout) - { - AZ_Assert(false, "Must EndAPI before ending calling End"); - return false; - } - - if (m_asset->m_perAPILayout.empty()) - { - AZ_Assert(false, "No Shader Resource Group Layout was added."); - return false; - } - - if (!m_asset->FinalizeAfterLoad()) - { - ReportError("Failed to finalize the ShaderResourceGroupAsset."); - return false; - } - - m_asset->SetReady(); - return EndCommon(result); - } - - bool ShaderResourceGroupAssetCreator::EndAPI() - { - if (!ValidateIsReady()) - { - return false; - } - - if (!m_shaderResourceGroupLayout->Finalize()) - { - return false; - } - - m_asset->m_perAPILayout.push_back({ m_currentAPIType, AZStd::move(m_shaderResourceGroupLayout) }); - - Cleanup(); - - return true; - } - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderVariantAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderVariantAsset.cpp index 5bcdcbb569..f4b0f75152 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderVariantAsset.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderVariantAsset.cpp @@ -16,17 +16,19 @@ #include #include +#include #include +#include namespace AZ { namespace RPI { uint32_t ShaderVariantAsset::MakeAssetProductSubId( - uint32_t rhiApiUniqueIndex, ShaderVariantStableId variantStableId, uint32_t subProductType) + uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, ShaderVariantStableId variantStableId, uint32_t subProductType) { static constexpr uint32_t SubProductTypeBitPosition = 17; - static constexpr uint32_t SubProductTypeNumBits = RhiIndexBitPosition - SubProductTypeBitPosition; + static constexpr uint32_t SubProductTypeNumBits = SupervariantIndexBitPosition - SubProductTypeBitPosition; static constexpr uint32_t SubProductTypeMaxValue = (1 << SubProductTypeNumBits) - 1; static constexpr uint32_t StableIdBitPosition = 0; @@ -37,11 +39,12 @@ namespace AZ // The 2 Most significant bits encode the the RHI::API unique index. AZ_Assert(rhiApiUniqueIndex <= RhiIndexMaxValue, "Invalid rhiApiUniqueIndex [%u]", rhiApiUniqueIndex); + AZ_Assert(supervariantIndex <= SupervariantIndexMaxValue, "Invalid supervariantIndex [%u]", supervariantIndex); AZ_Assert(subProductType <= SubProductTypeMaxValue, "Invalid subProductType [%u]", subProductType); AZ_Assert(variantStableId.GetIndex() <= StableIdMaxValue, "Invalid variantStableId [%u]", variantStableId.GetIndex()); const uint32_t assetProductSubId = (rhiApiUniqueIndex << RhiIndexBitPosition) | - (subProductType << SubProductTypeBitPosition) | + (supervariantIndex << SupervariantIndexBitPosition) | (subProductType << SubProductTypeBitPosition) | (variantStableId.GetIndex() << StableIdBitPosition); return assetProductSubId; } @@ -51,22 +54,19 @@ namespace AZ if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class() - ->Version(3) + ->Version(1) ->Field("StableId", &ShaderVariantAsset::m_stableId) ->Field("ShaderVariantId", &ShaderVariantAsset::m_shaderVariantId) ->Field("IsFullyBaked", &ShaderVariantAsset::m_isFullyBaked) - ->Field("InputContract", &ShaderVariantAsset::m_inputContract) - ->Field("OutputContract", &ShaderVariantAsset::m_outputContract) - ->Field("RenderStates", &ShaderVariantAsset::m_renderStates) ->Field("FunctionsByStage", &ShaderVariantAsset::m_functionsByStage) - ->Field("shaderAssetBuildTimestamp", &ShaderVariantAsset::m_shaderAssetBuildTimestamp) + ->Field("BuildTimestamp", &ShaderVariantAsset::m_buildTimestamp) ; } } - AZStd::sys_time_t ShaderVariantAsset::GetShaderAssetBuildTimestamp() const + AZStd::sys_time_t ShaderVariantAsset::GetBuildTimestamp() const { - return m_shaderAssetBuildTimestamp; + return m_buildTimestamp; } const RHI::ShaderStageFunction* ShaderVariantAsset::GetShaderStageFunction(RHI::ShaderStage shaderStage) const @@ -74,21 +74,6 @@ namespace AZ return m_functionsByStage[static_cast(shaderStage)].get(); } - const ShaderInputContract& ShaderVariantAsset::GetInputContract() const - { - return m_inputContract; - } - - const ShaderOutputContract& ShaderVariantAsset::GetOutputContract() const - { - return m_outputContract; - } - - const RHI::RenderStates& ShaderVariantAsset::GetRenderStates() const - { - return m_renderStates; - } - bool ShaderVariantAsset::IsFullyBaked() const { return m_isFullyBaked; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderVariantAsset2.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderVariantAsset2.cpp deleted file mode 100644 index 34daff560a..0000000000 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderVariantAsset2.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ -#include - -#include -#include -#include - -#include -#include -#include - -namespace AZ -{ - namespace RPI - { - uint32_t ShaderVariantAsset2::MakeAssetProductSubId( - uint32_t rhiApiUniqueIndex, uint32_t supervariantIndex, ShaderVariantStableId variantStableId, uint32_t subProductType) - { - static constexpr uint32_t SubProductTypeBitPosition = 17; - static constexpr uint32_t SubProductTypeNumBits = SupervariantIndexBitPosition - SubProductTypeBitPosition; - static constexpr uint32_t SubProductTypeMaxValue = (1 << SubProductTypeNumBits) - 1; - - static constexpr uint32_t StableIdBitPosition = 0; - static constexpr uint32_t StableIdNumBits = SubProductTypeBitPosition - StableIdBitPosition; - static constexpr uint32_t StableIdMaxValue = (1 << StableIdNumBits) - 1; - - static_assert(RhiIndexMaxValue == RHI::Limits::APIType::PerPlatformApiUniqueIndexMax); - - // The 2 Most significant bits encode the the RHI::API unique index. - AZ_Assert(rhiApiUniqueIndex <= RhiIndexMaxValue, "Invalid rhiApiUniqueIndex [%u]", rhiApiUniqueIndex); - AZ_Assert(supervariantIndex <= SupervariantIndexMaxValue, "Invalid supervariantIndex [%u]", supervariantIndex); - AZ_Assert(subProductType <= SubProductTypeMaxValue, "Invalid subProductType [%u]", subProductType); - AZ_Assert(variantStableId.GetIndex() <= StableIdMaxValue, "Invalid variantStableId [%u]", variantStableId.GetIndex()); - - const uint32_t assetProductSubId = (rhiApiUniqueIndex << RhiIndexBitPosition) | - (supervariantIndex << SupervariantIndexBitPosition) | (subProductType << SubProductTypeBitPosition) | - (variantStableId.GetIndex() << StableIdBitPosition); - return assetProductSubId; - } - - void ShaderVariantAsset2::Reflect(ReflectContext* context) - { - if (auto* serializeContext = azrtti_cast(context)) - { - serializeContext->Class() - ->Version(1) - ->Field("StableId", &ShaderVariantAsset2::m_stableId) - ->Field("ShaderVariantId", &ShaderVariantAsset2::m_shaderVariantId) - ->Field("IsFullyBaked", &ShaderVariantAsset2::m_isFullyBaked) - ->Field("FunctionsByStage", &ShaderVariantAsset2::m_functionsByStage) - ->Field("BuildTimestamp", &ShaderVariantAsset2::m_buildTimestamp) - ; - } - } - - AZStd::sys_time_t ShaderVariantAsset2::GetBuildTimestamp() const - { - return m_buildTimestamp; - } - - const RHI::ShaderStageFunction* ShaderVariantAsset2::GetShaderStageFunction(RHI::ShaderStage shaderStage) const - { - return m_functionsByStage[static_cast(shaderStage)].get(); - } - - bool ShaderVariantAsset2::IsFullyBaked() const - { - return m_isFullyBaked; - } - - void ShaderVariantAsset2::SetReady() - { - m_status = AssetStatus::Ready; - } - - bool ShaderVariantAsset2::FinalizeAfterLoad() - { - return true; - } - - ShaderVariantAssetHandler2::LoadResult ShaderVariantAssetHandler2::LoadAssetData(const Data::Asset& asset, AZStd::shared_ptr stream, const AZ::Data::AssetFilterCB& assetLoadFilterCB) - { - if (Base::LoadAssetData(asset, stream, assetLoadFilterCB) == LoadResult::LoadComplete) - { - return PostLoadInit(asset) ? LoadResult::LoadComplete : LoadResult::Error; - } - return LoadResult::Error; - } - - bool ShaderVariantAssetHandler2::PostLoadInit(const Data::Asset& asset) - { - if (ShaderVariantAsset2* shaderVariantAsset = asset.GetAs()) - { - if (!shaderVariantAsset->FinalizeAfterLoad()) - { - AZ_Error("ShaderVariantAssetHandler", false, "Shader asset failed to finalize."); - return false; - } - return true; - } - return false; - } - } // namespace RPI -} // namespace AZ diff --git a/Gems/Atom/RPI/Code/Tests/Common/RPITestFixture.cpp b/Gems/Atom/RPI/Code/Tests/Common/RPITestFixture.cpp index 2828d7eb39..2df31a0ad7 100644 --- a/Gems/Atom/RPI/Code/Tests/Common/RPITestFixture.cpp +++ b/Gems/Atom/RPI/Code/Tests/Common/RPITestFixture.cpp @@ -25,7 +25,6 @@ #include #include -#include #include #include @@ -150,9 +149,9 @@ namespace UnitTest return AZ::RHI::RHISystemInterface::Get()->GetDevice(); } - void RPITestFixture::ProcessQueuedSrgCompilations(Data::Asset srgAsset) + void RPITestFixture::ProcessQueuedSrgCompilations(Data::Asset shaderAsset, const AZ::Name& srgName) { - Data::Instance srgPool = ShaderResourceGroupPool::FindOrCreate(srgAsset); + Data::Instance srgPool = ShaderResourceGroupPool::FindOrCreate(shaderAsset, RPI::DefaultSupervariantIndex, srgName); srgPool->GetRHIPool()->CompileGroupsBegin(); srgPool->GetRHIPool()->CompileGroupsForInterval(RHI::Interval(0, srgPool->GetRHIPool()->GetGroupsToCompileCount())); srgPool->GetRHIPool()->CompileGroupsEnd(); diff --git a/Gems/Atom/RPI/Code/Tests/Common/RPITestFixture.h b/Gems/Atom/RPI/Code/Tests/Common/RPITestFixture.h index 1d344336ce..3884d8d387 100644 --- a/Gems/Atom/RPI/Code/Tests/Common/RPITestFixture.h +++ b/Gems/Atom/RPI/Code/Tests/Common/RPITestFixture.h @@ -14,7 +14,6 @@ #include -#include #include #include @@ -48,7 +47,7 @@ namespace UnitTest //! Performs processing that would normally be done by the frame scheduler, //! which has to happen in order to recompile the same SRG instance multiple times. - void ProcessQueuedSrgCompilations(AZ::Data::Asset srgAsset); + void ProcessQueuedSrgCompilations(AZ::Data::Asset shaderAsset, const AZ::Name& srgName); AZ::JsonRegistrationContext* GetJsonRegistrationContext() override; diff --git a/Gems/Atom/RPI/Code/Tests/Common/ShaderAssetTestUtils.cpp b/Gems/Atom/RPI/Code/Tests/Common/ShaderAssetTestUtils.cpp new file mode 100644 index 0000000000..e7ced6f487 --- /dev/null +++ b/Gems/Atom/RPI/Code/Tests/Common/ShaderAssetTestUtils.cpp @@ -0,0 +1,148 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#include +#include +#include + +#include +#include + +#include + +#include "ShaderAssetTestUtils.h" + +namespace UnitTest +{ + template + void AddShaderInputToBindingInfo(AZ::RHI::ShaderResourceGroupBindingInfo& bindingInfo, const T& shaderInputs) + { + for (const auto& shaderInput : shaderInputs) + { + bindingInfo.m_resourcesRegisterMap.insert( + { shaderInput.m_name.GetStringView(), + AZ::RHI::ResourceBindingInfo{ AZ::RHI::ShaderStageMask::Vertex, shaderInput.m_registerId } }); + } + } + + static AZ::RHI::ShaderResourceGroupBindingInfo CreateShaderResourceGroupBindingInfo(const AZ::RHI::ShaderResourceGroupLayout* layout) + { + using namespace AZ; + + RHI::ShaderResourceGroupBindingInfo bindingInfo; + if (!layout) + { + return bindingInfo; + } + + if (layout->GetConstantDataSize()) + { + // All constant in the SRG use the same the register id. + bindingInfo.m_constantDataBindingInfo.m_registerId = layout->GetShaderInputListForConstants()[0].m_registerId; + } + + AddShaderInputToBindingInfo(bindingInfo, layout->GetShaderInputListForBuffers()); + AddShaderInputToBindingInfo(bindingInfo, layout->GetShaderInputListForSamplers()); + AddShaderInputToBindingInfo(bindingInfo, layout->GetShaderInputListForImages()); + AddShaderInputToBindingInfo(bindingInfo, layout->GetStaticSamplers()); + + return bindingInfo; + } + + static AZ::Data::Asset CreateTestShaderVariantAsset( + AZ::RPI::ShaderVariantId id, + AZ::RPI::ShaderVariantStableId stableId, + const AZStd::vector& stagesToActivate = { AZ::RHI::ShaderStage::Vertex, AZ::RHI::ShaderStage::Fragment }) + { + using namespace AZ; + RPI::ShaderVariantAssetCreator shaderVariantAssetCreator; + shaderVariantAssetCreator.Begin(Uuid::CreateRandom(), id, stableId, false); + shaderVariantAssetCreator.SetBuildTimestamp(AZStd::sys_time_t(1)); // Make non-zero. + + for (RHI::ShaderStage rhiStage : stagesToActivate) + { + RHI::Ptr shaderStageFunction = aznew StubRHI::ShaderStageFunction; + shaderVariantAssetCreator.SetShaderFunction(rhiStage, shaderStageFunction); + } + + Data::Asset shaderVariantAsset; + shaderVariantAssetCreator.End(shaderVariantAsset); + + return shaderVariantAsset; + } + + AZ::Data::Asset CreateTestShaderAsset( + const AZ::Data::AssetId& shaderAssetId, + AZ::RHI::Ptr optionalSrgLayout, + AZ::RPI::Ptr optionalShaderOptions, + const AZ::Name& shaderName, + const AZ::Name& drawListName) + { + using namespace AZ; + using namespace RPI; + using namespace RHI; + + Data::Asset shaderAsset; + + RHI::Ptr pipelineLayoutDescriptor = RHI::PipelineLayoutDescriptor::Create(); + if (optionalSrgLayout) + { + const RHI::ShaderResourceGroupLayout* layout = optionalSrgLayout.get(); + RHI::ShaderResourceGroupBindingInfo bindingInfo = CreateShaderResourceGroupBindingInfo(layout); + pipelineLayoutDescriptor->AddShaderResourceGroupLayoutInfo(*layout, bindingInfo); + } + pipelineLayoutDescriptor->Finalize(); + + if (!optionalShaderOptions) + { + optionalShaderOptions = RPI::ShaderOptionGroupLayout::Create(); + optionalShaderOptions->Finalize(); + } + + ShaderAssetCreator creator; + creator.Begin(shaderAssetId); + creator.SetName(shaderName); + creator.SetDrawListName(drawListName); + creator.SetDrawListName(drawListName); + creator.SetShaderOptionGroupLayout(optionalShaderOptions); + + creator.BeginAPI(RHI::Factory::Get().GetType()); + + creator.BeginSupervariant(AZ::Name{}); // The default (first) supervariant MUST be nameless. + + if (optionalSrgLayout) + { + creator.SetSrgLayoutList({ optionalSrgLayout }); + } + creator.SetPipelineLayout(pipelineLayoutDescriptor); + + //creator.SetRenderStates(m_renderStates); + //creator.SetInputContract(CreateSimpleShaderInputContract()); + //creator.SetOutputContract(CreateSimpleShaderOutputContract()); + + RHI::ShaderStageAttributeMapList attributeMaps; + attributeMaps.resize(RHI::ShaderStageCount); + creator.SetShaderStageAttributeMapList(attributeMaps); + + Data::Asset shaderVariantAsset = + CreateTestShaderVariantAsset(RPI::ShaderVariantId{}, RPI::ShaderVariantStableId{ 0 }); + + creator.SetRootShaderVariantAsset(shaderVariantAsset); + + creator.EndSupervariant(); + + creator.EndAPI(); + creator.End(shaderAsset); + + return shaderAsset; + } +} diff --git a/Gems/Atom/RPI/Code/Tests/Common/ShaderAssetTestUtils.h b/Gems/Atom/RPI/Code/Tests/Common/ShaderAssetTestUtils.h new file mode 100644 index 0000000000..8cb8a0c80d --- /dev/null +++ b/Gems/Atom/RPI/Code/Tests/Common/ShaderAssetTestUtils.h @@ -0,0 +1,28 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#include + +namespace UnitTest +{ + + //! Utility function for creating the simplest possible ShaderAsset + AZ::Data::Asset CreateTestShaderAsset( + const AZ::Data::AssetId& shaderAssetId, + AZ::RHI::Ptr optionalSrgLayout = nullptr, + AZ::RPI::Ptr optionalShaderOptions = nullptr, + const AZ::Name& shaderName = AZ::Name{ "TestShader" }, + const AZ::Name& drawListName = AZ::Name{ "depth" } ); + +} //namespace UnitTest diff --git a/Gems/Atom/RPI/Code/Tests/Image/StreamingImageTests.cpp b/Gems/Atom/RPI/Code/Tests/Image/StreamingImageTests.cpp index 4952769d89..4fc58bc91a 100644 --- a/Gems/Atom/RPI/Code/Tests/Image/StreamingImageTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Image/StreamingImageTests.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -148,32 +149,11 @@ namespace UnitTest size_t m_expectedTimestamp = 0; }; - class TestStreamingImageControllerAsset - : public AZ::RPI::StreamingImageControllerAsset - { - public: - AZ_CLASS_ALLOCATOR(TestStreamingImageControllerAsset, AZ::SystemAllocator, 0); - AZ_RTTI(TestStreamingImageControllerAsset, "{A90B4AC0-979A-4F01-AD41-B1D32DD9DAEC}", AZ::RPI::StreamingImageControllerAsset); - - static void Reflect(AZ::ReflectContext* context) - { - if (auto* serializeContext = azrtti_cast(context)) - { - serializeContext->Class(); - } - } - - TestStreamingImageControllerAsset() - { - m_status = AssetStatus::Ready; - } - }; - class StreamingImageTests : public RPITestFixture { private: - AZ::Data::Asset m_testControllerAsset; + AZ::Data::Asset m_testControllerAsset; protected: AZ::RPI::BuiltInAssetHandler* m_testControllerAssetHandler; @@ -184,7 +164,7 @@ namespace UnitTest AZ::Data::Instance m_defaultPool = nullptr; StreamingImageTests() - : m_testControllerAssetId("{9202CEC4-4E31-443C-ABE8-512B3E896448}") + : m_testControllerAssetId(AZ::RPI::DefaultStreamingImageControllerAsset::BuiltInAssetId) {} void SetUp() override @@ -194,23 +174,12 @@ namespace UnitTest RPITestFixture::SetUp(); auto* serializeContext = GetSerializeContext(); - TestStreamingImageControllerAsset::Reflect(serializeContext); TestStreamingImagePoolDescriptor::Reflect(serializeContext); - m_testControllerAssetHandler = aznew RPI::BuiltInAssetHandler( - azrtti_typeid(), - []() { return aznew TestStreamingImageControllerAsset(); }); - m_testControllerAssetHandler->Register(); - m_testControllerAsset = Data::AssetManager::Instance().CreateAsset(m_testControllerAssetId); - - Data::InstanceDatabase::Instance().AddHandler( - azrtti_typeid(), - [](Data::AssetData*) { return aznew TestStreamingImageController(); }); - m_imageHandler = Data::AssetManager::Instance().GetHandler(RPI::StreamingImageAsset::RTTI_Type()); m_mipChainHandler = Data::AssetManager::Instance().GetHandler(RPI::ImageMipChainAsset::RTTI_Type()); - AZ::Data::Asset < AZ::RPI::StreamingImagePoolAsset > poolAsset = BuildImagePoolAsset(16 * 1024 * 1024); + AZ::Data::Asset poolAsset = BuildImagePoolAsset(16 * 1024 * 1024); m_defaultPool = AZ::RPI::StreamingImagePool::FindOrCreate(poolAsset); } @@ -221,10 +190,6 @@ namespace UnitTest m_defaultPool = nullptr; - m_testControllerAsset.Release(); - delete m_testControllerAssetHandler; - Data::InstanceDatabase::Instance().RemoveHandler(azrtti_typeid()); - RPITestFixture::TearDown(); } @@ -341,7 +306,7 @@ namespace UnitTest { Data::Asset asset = poolAsset->GetControllerAsset(); - EXPECT_TRUE(azrtti_typeid() == asset.GetType()); + EXPECT_TRUE(azrtti_typeid() == asset.GetType()); } } @@ -459,7 +424,7 @@ namespace UnitTest assetCreator.SetPoolDescriptor(AZStd::make_unique(budgetInBytes)); assetCreator.SetControllerAsset( - Data::AssetManager::Instance().GetAsset( + Data::AssetManager::Instance().GetAsset( m_testControllerAssetId, Data::AssetLoadBehavior::PreLoad) ); diff --git a/Gems/Atom/RPI/Code/Tests/Material/LuaMaterialFunctorTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/LuaMaterialFunctorTests.cpp index 3dcbdfce07..225ad73a59 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/LuaMaterialFunctorTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/LuaMaterialFunctorTests.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -125,7 +126,7 @@ namespace UnitTest // Setup for a single material property and a specific shader constant input void Setup( - Data::Asset materialSrgAsset, + RHI::Ptr materialSrgLayout, MaterialPropertyDataType dataType, const char* materialPropertyName, const char* shaderInputName, @@ -133,7 +134,7 @@ namespace UnitTest { MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); - materialTypeCreator.AddShader(CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgAsset)); + materialTypeCreator.AddShader(CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout)); materialTypeCreator.BeginMaterialProperty(Name{materialPropertyName}, dataType); materialTypeCreator.EndMaterialProperty(); LuaMaterialFunctorTests::AddLuaFunctor(materialTypeCreator, luaFunctorScript); @@ -238,18 +239,19 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Bool, "general.TestBool", "m_bool", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Bool, "general.TestBool", "m_bool", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{true}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(true, testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{false}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(false, testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -270,13 +272,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Float, "general.TestFloat", "m_float", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Float, "general.TestFloat", "m_float", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{1.25f}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_FLOAT_EQ(2.5f, testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -297,13 +300,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Int, "general.TestInt", "m_int", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Int, "general.TestInt", "m_int", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{2}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(-2, testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -324,13 +328,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::UInt, "general.TestUInt", "m_uint", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::UInt, "general.TestUInt", "m_uint", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{2u}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(7, testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -354,13 +359,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Vector2, "general.TestVector2", "m_float2", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Vector2, "general.TestVector2", "m_float2", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{Vector2(1.0f, 2.0f)}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(Vector2(2.0f, 1.0f), testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -382,13 +388,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Vector3, "general.TestVector3", "m_float3", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Vector3, "general.TestVector3", "m_float3", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{Vector3(5.0f, 4.0f, 3.0f)}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(Vector3(5.0f, 4.0f, 3.0f).GetNormalized(), testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -410,13 +417,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Vector4, "general.TestVector4", "m_float4", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Vector4, "general.TestVector4", "m_float4", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{Vector4(1.0f, 2.0f, 3.0f, 4.0f)}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(Vector4(1.0f, 2.0f, 3.0f, 4.0f) / 4.0f, testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -444,13 +452,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Color, "general.TestColor", "m_color", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Color, "general.TestColor", "m_color", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{Color(1.0f, 0.5f, 0.4f, 0.5f)}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(Color(0.5f, 0.25f, 0.2f, 0.5f), testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -472,13 +481,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Float, "general.Scale", "m_float3x3", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Float, "general.Scale", "m_float3x3", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{0.5f}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(Matrix3x3::CreateScale(Vector3(0.5f, 0.5f, 1.0f)), testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } @@ -500,13 +510,14 @@ namespace UnitTest end )"; - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); TestMaterialData testData; - testData.Setup(materialSrgAsset, MaterialPropertyDataType::Vector3, "general.Offset", "m_float4x4", functorScript); + testData.Setup(materialSrgLayout, MaterialPropertyDataType::Vector3, "general.Offset", "m_float4x4", functorScript); testData.GetMaterial()->SetPropertyValue(testData.GetMaterialPropertyIndex(), MaterialPropertyValue{Vector3(1.0f, 2.0f, 3.0f)}); - ProcessQueuedSrgCompilations(materialSrgAsset); + ProcessQueuedSrgCompilations(shaderAsset, materialSrgLayout->GetName()); EXPECT_TRUE(testData.GetMaterial()->Compile()); EXPECT_EQ(Matrix4x4::CreateTranslation(Vector3(1.0f, 2.0f, 3.0f)), testData.GetMaterial()->GetRHIShaderResourceGroup()->GetData().GetConstant(testData.GetSrgConstantIndex())); } diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTestUtils.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTestUtils.cpp index 9c52e6f71b..7840419fd4 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTestUtils.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTestUtils.cpp @@ -11,7 +11,6 @@ */ #include -#include #include #include #include @@ -53,7 +52,7 @@ namespace UnitTest AddMaterialPropertyForSrg(materialTypeCreator, Name{ propertyGroupPrefix + "MyEnum" }, MaterialPropertyDataType::Enum, Name{ "m_enum" }); } - AZ::Data::Asset CreateCommonTestMaterialSrgAsset() + AZ::RHI::Ptr CreateCommonTestMaterialSrgLayout() { using namespace AZ; using namespace RPI; @@ -62,123 +61,28 @@ namespace UnitTest // Note we specify the shader inputs and material properties in a different order so the indexes don't align // We also include a couple unused inputs to further make sure shader and material indexes don't align - ShaderResourceGroupAssetCreator srgCreator; - srgCreator.Begin(Uuid::CreateRandom(), Name("MaterialSrg")); - srgCreator.BeginAPI(RHI::Factory::Get().GetType()); - srgCreator.SetBindingSlot(SrgBindingSlot::Material); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_unused" }, 0, 4, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_color" }, 4, 16, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float" }, 20, 4, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_int" }, 24, 4, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_uint" }, 28, 4, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float2" }, 32, 8, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float3" }, 40, 12, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float4" }, 52, 16, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_enum" }, 68, 4, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_bool" }, 72, 4, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float3x3" }, 76, 44, 0}); // See ConstantsData::SetConstant for packing rules - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float4x4" }, 120, 64, 0}); - srgCreator.AddShaderInput(RHI::ShaderInputImageDescriptor{Name{ "m_unusedImage" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 1}); - srgCreator.AddShaderInput(RHI::ShaderInputImageDescriptor{Name{ "m_image" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 2}); - srgCreator.EndAPI(); + AZ::RHI::Ptr srgLayout = RHI::ShaderResourceGroupLayout::Create(); + srgLayout->SetName(Name("MaterialSrg")); + srgLayout->SetUniqueId(Uuid::CreateRandom().ToString()); // Any random string will suffice. + srgLayout->SetBindingSlot(SrgBindingSlot::Material); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_unused" }, 0, 4, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_color" }, 4, 16, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float" }, 20, 4, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_int" }, 24, 4, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_uint" }, 28, 4, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float2" }, 32, 8, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float3" }, 40, 12, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float4" }, 52, 16, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_enum" }, 68, 4, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_bool" }, 72, 4, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float3x3" }, 76, 44, 0}); // See ConstantsData::SetConstant for packing rules + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{ "m_float4x4" }, 120, 64, 0}); + srgLayout->AddShaderInput(RHI::ShaderInputImageDescriptor{Name{ "m_unusedImage" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 1}); + srgLayout->AddShaderInput(RHI::ShaderInputImageDescriptor{Name{ "m_image" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 2}); - AZ::Data::Asset srgAsset; - EXPECT_TRUE(srgCreator.End(srgAsset)); + EXPECT_TRUE(srgLayout->Finalize()); - return srgAsset; + return srgLayout; } - template - void AddShaderInputToBindingInfo(AZ::RHI::ShaderResourceGroupBindingInfo& bindingInfo, const T& shaderInputs) - { - for (const auto& shaderInput : shaderInputs) - { - bindingInfo.m_resourcesRegisterMap.insert({shaderInput.m_name.GetStringView(), AZ::RHI::ResourceBindingInfo{AZ::RHI::ShaderStageMask::Vertex, shaderInput.m_registerId}}); - } - } - - AZ::RHI::ShaderResourceGroupBindingInfo CreateShaderResourceGroupBindingInfo(const AZ::RHI::ShaderResourceGroupLayout* layout) - { - using namespace AZ; - - RHI::ShaderResourceGroupBindingInfo bindingInfo; - if (!layout) - { - return bindingInfo; - } - - if (layout->GetConstantDataSize()) - { - // All constant in the SRG use the same the register id. - bindingInfo.m_constantDataBindingInfo.m_registerId = layout->GetShaderInputListForConstants()[0].m_registerId; - } - - AddShaderInputToBindingInfo(bindingInfo, layout->GetShaderInputListForBuffers()); - AddShaderInputToBindingInfo(bindingInfo, layout->GetShaderInputListForSamplers()); - AddShaderInputToBindingInfo(bindingInfo, layout->GetShaderInputListForImages()); - AddShaderInputToBindingInfo(bindingInfo, layout->GetStaticSamplers()); - - return bindingInfo; - } - - AZ::Data::Asset CreateTestShaderAsset( - const AZ::Data::AssetId& shaderAssetId, - AZ::Data::Asset optionalMaterialSrg, - AZ::RPI::Ptr optionalShaderOptions) - { - using namespace AZ; - using namespace RPI; - using namespace RHI; - - Data::Asset shaderAsset; - - RHI::Ptr pipelineLayoutDescriptor = RHI::PipelineLayoutDescriptor::Create(); - if (optionalMaterialSrg.IsReady()) - { - const RHI::ShaderResourceGroupLayout* layout = optionalMaterialSrg->GetLayout(); - RHI::ShaderResourceGroupBindingInfo bindingInfo = CreateShaderResourceGroupBindingInfo(layout); - pipelineLayoutDescriptor->AddShaderResourceGroupLayoutInfo(*layout, bindingInfo); - } - pipelineLayoutDescriptor->Finalize(); - - if (!optionalShaderOptions) - { - optionalShaderOptions = RPI::ShaderOptionGroupLayout::Create(); - optionalShaderOptions->Finalize(); - } - - ShaderAssetCreator shaderAssetCreator; - shaderAssetCreator.Begin(shaderAssetId); - - shaderAssetCreator.SetDrawListName(Name{"depth"}); - if (optionalMaterialSrg.IsReady()) - { - shaderAssetCreator.AddShaderResourceGroupAsset(optionalMaterialSrg); - } - shaderAssetCreator.SetShaderOptionGroupLayout(optionalShaderOptions); - - shaderAssetCreator.BeginAPI(RHI::Factory::Get().GetType()); - - RHI::ShaderStageAttributeMapList attributeMaps; - attributeMaps.resize(RHI::ShaderStageCount); - shaderAssetCreator.SetShaderStageAttributeMapList(attributeMaps); - - ShaderVariantAssetCreator shaderVariantAssetCreator; - shaderVariantAssetCreator.Begin(Uuid::CreateRandom(), RPI::ShaderVariantId(), RootShaderVariantStableId, optionalShaderOptions.get()); - - RHI::Ptr shaderStageFunction = aznew StubRHI::ShaderStageFunction; - shaderVariantAssetCreator.SetShaderFunction(RHI::ShaderStage::Vertex, shaderStageFunction); - - Data::Asset shaderVariantAsset; - EXPECT_TRUE(shaderVariantAssetCreator.End(shaderVariantAsset)); - - shaderAssetCreator.SetRootShaderVariantAsset(shaderVariantAsset); - shaderAssetCreator.SetPipelineLayout(pipelineLayoutDescriptor); - - EXPECT_TRUE(shaderAssetCreator.EndAPI()); - EXPECT_TRUE(shaderAssetCreator.End(shaderAsset)); - - return shaderAsset; - } - -} +} // namespace UnitTest diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTestUtils.h b/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTestUtils.h index 148881bed6..6e2758eee1 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTestUtils.h +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTestUtils.h @@ -36,11 +36,6 @@ namespace UnitTest void AddCommonTestMaterialProperties(AZ::RPI::MaterialTypeAssetCreator& materialTypeCreator, AZStd::string propertyGroupPrefix = ""); - AZ::Data::Asset CreateCommonTestMaterialSrgAsset(); + AZ::RHI::Ptr CreateCommonTestMaterialSrgLayout(); - //! Utility function for creating the simplest possible ShaderAsset - AZ::Data::Asset CreateTestShaderAsset( - const AZ::Data::AssetId& shaderAssetId, - AZ::Data::Asset optionalMaterialSrg = {}, - AZ::RPI::Ptr optionalShaderOptions = nullptr); -} +} //namespace UnitTest diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTests.cpp index a859b8363e..442ca43e6b 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialAssetTests.cpp @@ -13,12 +13,12 @@ #include #include #include +#include #include #include #include #include -#include namespace UnitTest { @@ -36,13 +36,13 @@ namespace UnitTest { RPITestFixture::SetUp(); - Data::Asset materialSrgAsset = CreateCommonTestMaterialSrgAsset(); + auto materialSrgLayout = CreateCommonTestMaterialSrgLayout(); // Since this test doesn't actually instantiate a Material, it won't need to instantiate this ImageAsset, so all we // need is an asset reference with a valid ID. m_testImageAsset = Data::Asset{ Uuid::CreateRandom(), azrtti_typeid() }; - Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgAsset); + auto shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), materialSrgLayout); MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialFunctorTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialFunctorTests.cpp index c5e25b51c1..5b18b04a5d 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialFunctorTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialFunctorTests.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -145,7 +146,7 @@ namespace UnitTest // structures that we can pass to the functors below, especially the shader with shader options. MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); - materialTypeCreator.AddShader(CreateTestShaderAsset(Uuid::CreateRandom(), CreateCommonTestMaterialSrgAsset(), shaderOptions)); + materialTypeCreator.AddShader(CreateTestShaderAsset(Uuid::CreateRandom(), CreateCommonTestMaterialSrgLayout(), shaderOptions)); // We claim ownership of options A and B, but not C. So C is a globally accessible option, not owned by the material. materialTypeCreator.ClaimShaderOptionOwnership(Name{"o_optionA"}); materialTypeCreator.ClaimShaderOptionOwnership(Name{"o_optionB"}); diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp index d08da67607..8402520fb9 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -20,7 +21,6 @@ #include #include #include -#include #include #include @@ -39,7 +39,7 @@ namespace UnitTest : public RPITestFixture { protected: - Data::Asset m_testMaterialSrgAsset; + RHI::Ptr m_testMaterialSrgLayout; Data::Asset m_testShaderAsset; Data::Asset m_testMaterialTypeAsset; Data::Asset m_testImageAsset; @@ -63,9 +63,9 @@ namespace UnitTest AZ::Utils::GetExecutableDirectory(rootPath, AZ_MAX_PATH_LEN); localFileIO->SetAlias("@exefolder@", rootPath); - m_testMaterialSrgAsset = CreateCommonTestMaterialSrgAsset(); + m_testMaterialSrgLayout = CreateCommonTestMaterialSrgLayout(); - m_testShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset); + m_testShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout); MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); @@ -85,7 +85,7 @@ namespace UnitTest void TearDown() override { m_testMaterialTypeAsset.Reset(); - m_testMaterialSrgAsset.Reset(); + m_testMaterialSrgLayout = nullptr; m_testShaderAsset.Reset(); m_testImageAsset.Reset(); diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialTests.cpp index 9ccbf96b6a..561a297c5e 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialTests.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -21,7 +22,6 @@ #include #include #include -#include #include #include @@ -34,7 +34,8 @@ namespace UnitTest : public RPITestFixture { protected: - Data::Asset m_testMaterialSrgAsset; + Data::Asset m_testMaterialShaderAsset; + AZ::RHI::Ptr m_testMaterialSrgLayout; Data::Asset m_testMaterialTypeAsset; Data::Asset m_testMaterialAsset; Data::Asset m_testImageAsset; @@ -67,13 +68,12 @@ namespace UnitTest { RPITestFixture::SetUp(); - m_testMaterialSrgAsset = CreateCommonTestMaterialSrgAsset(); - - Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset); + m_testMaterialSrgLayout = CreateCommonTestMaterialSrgLayout(); + m_testMaterialShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout); MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); - materialTypeCreator.AddShader(shaderAsset); + materialTypeCreator.AddShader(m_testMaterialShaderAsset); AddCommonTestMaterialProperties(materialTypeCreator); materialTypeCreator.SetPropertyValue(Name{ "MyFloat2" }, Vector2{ 10.1f, 10.2f }); materialTypeCreator.SetPropertyValue(Name{ "MyFloat3" }, Vector3{ 11.1f, 11.2f, 11.3f }); @@ -105,7 +105,8 @@ namespace UnitTest void TearDown() override { - m_testMaterialSrgAsset.Reset(); + m_testMaterialShaderAsset.Reset(); + m_testMaterialSrgLayout = nullptr; m_testMaterialTypeAsset.Reset(); m_testMaterialAsset.Reset(); m_testImageAsset.Reset(); @@ -254,7 +255,7 @@ namespace UnitTest EXPECT_EQ(material->GetPropertyValue>(material->FindPropertyIndex(Name{ "MyImage" })), otherTestImage); EXPECT_EQ(material->GetPropertyValue(material->FindPropertyIndex(Name{ "MyEnum" })), 3u); - ProcessQueuedSrgCompilations(m_testMaterialSrgAsset); + ProcessQueuedSrgCompilations(m_testMaterialShaderAsset, m_testMaterialSrgLayout->GetName()); material->Compile(); // Dig in to the SRG to make sure the values were applied there as well... @@ -280,13 +281,12 @@ namespace UnitTest TEST_F(MaterialTests, TestSetPropertyValueToMultipleShaderSettings) { - Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset); Data::Asset materialTypeAsset; Data::Asset materialAsset; MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); - materialTypeCreator.AddShader(shaderAsset); + materialTypeCreator.AddShader(m_testMaterialShaderAsset); materialTypeCreator.BeginMaterialProperty(Name{ "MyInt" }, MaterialPropertyDataType::Int); materialTypeCreator.ConnectMaterialPropertyToShaderInput(Name{ "m_int" }); materialTypeCreator.ConnectMaterialPropertyToShaderInput(Name{ "m_uint" }); @@ -305,7 +305,7 @@ namespace UnitTest EXPECT_EQ(material->GetPropertyValue(material->FindPropertyIndex(Name{ "MyInt" })), 42); - ProcessQueuedSrgCompilations(m_testMaterialSrgAsset); + ProcessQueuedSrgCompilations(m_testMaterialShaderAsset, m_testMaterialSrgLayout->GetName()); material->Compile(); // Dig in to the SRG to make sure the values were applied to both shader constants... @@ -340,7 +340,7 @@ namespace UnitTest Data::Instance actualImageInstance = material->GetPropertyValue>(material->FindPropertyIndex(Name{"MyImage"})); EXPECT_EQ(actualImageInstance, nullImageInstance); - ProcessQueuedSrgCompilations(m_testMaterialSrgAsset); + ProcessQueuedSrgCompilations(m_testMaterialShaderAsset, m_testMaterialSrgLayout->GetName()); material->Compile(); const RHI::ShaderResourceGroupData& srgData = material->GetRHIShaderResourceGroup()->GetData(); @@ -403,7 +403,7 @@ namespace UnitTest { Ptr optionsLayout = CreateTestOptionsLayout(); - Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, optionsLayout); + Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, optionsLayout); MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); @@ -484,7 +484,8 @@ namespace UnitTest { Ptr optionsLayout = CreateTestOptionsLayout(); - Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, optionsLayout); + Data::Asset shaderAsset = + CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, optionsLayout); MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); @@ -551,7 +552,8 @@ namespace UnitTest { Ptr optionsLayout = CreateTestOptionsLayout(); - Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, optionsLayout); + Data::Asset shaderAsset = + CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, optionsLayout); MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); @@ -622,7 +624,7 @@ namespace UnitTest { Ptr optionsLayout = CreateTestOptionsLayout(); - Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, optionsLayout); + Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, optionsLayout); MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); @@ -712,7 +714,7 @@ namespace UnitTest // Make sure the values have not changed - ProcessQueuedSrgCompilations(m_testMaterialSrgAsset); + ProcessQueuedSrgCompilations(m_testMaterialShaderAsset, m_testMaterialSrgLayout->GetName()); material->Compile(); ValidateInitialValuesFromMaterial(material); @@ -741,19 +743,16 @@ namespace UnitTest TEST_F(MaterialTests, ColorPropertyCanMapToFloat3) { - Data::Asset srgAsset; Data::Asset materialTypeAsset; Data::Asset materialAsset; - ShaderResourceGroupAssetCreator srgCreator; - srgCreator.Begin(Uuid::CreateRandom(), Name("MaterialSrg")); - srgCreator.BeginAPI(RHI::Factory::Get().GetType()); - srgCreator.SetBindingSlot(SrgBindingSlot::Material); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{"m_color"}, 0, 12, 0}); - srgCreator.EndAPI(); - srgCreator.End(srgAsset); + RHI::Ptr srgLayout = RHI::ShaderResourceGroupLayout::Create(); + srgLayout->SetName(Name("MaterialSrg")); + srgLayout->SetBindingSlot(SrgBindingSlot::Material); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name{"m_color"}, 0, 12, 0}); + ASSERT_TRUE(srgLayout->Finalize()); - Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), srgAsset); + Data::Asset shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), srgLayout); MaterialTypeAssetCreator materialTypeCreator; materialTypeCreator.Begin(Uuid::CreateRandom()); @@ -774,7 +773,7 @@ namespace UnitTest MaterialPropertyIndex colorProperty{0}; material->SetPropertyValue(colorProperty, inputColor); - ProcessQueuedSrgCompilations(srgAsset); + ProcessQueuedSrgCompilations(shaderAsset, srgLayout->GetName()); material->Compile(); AZ::Color colorFromMaterial = material->GetPropertyValue(colorProperty); diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeAssetTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeAssetTests.cpp index 599b098e51..a30bb975c2 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeAssetTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeAssetTests.cpp @@ -14,12 +14,12 @@ #include #include #include +#include #include #include #include #include -#include #include #include @@ -89,7 +89,7 @@ namespace UnitTest AZ::RPI::MaterialPropertyIndex m_enableIndex; }; - Data::Asset m_testMaterialSrgAsset; + RHI::Ptr m_testMaterialSrgLayout; Ptr m_testShaderOptionsLayout; Data::Asset m_testShaderAsset; Data::Asset m_testImageAsset; @@ -102,7 +102,7 @@ namespace UnitTest Splat3Functor::Reflect(GetSerializeContext()); DummyShaderCollectionFunctor::Reflect(GetSerializeContext()); - m_testMaterialSrgAsset = CreateCommonTestMaterialSrgAsset(); + m_testMaterialSrgLayout = CreateCommonTestMaterialSrgLayout(); AZStd::vector boolOptionValues; boolOptionValues.push_back({Name{"False"}, RPI::ShaderOptionValue{0}}); @@ -124,7 +124,7 @@ namespace UnitTest m_testShaderOptionsLayout->AddShaderOption(ShaderOptionDescriptor{Name{"o_lightCount"}, ShaderOptionType::IntegerRange, 3, order++, intOptionRange, Name{"0"}}); m_testShaderOptionsLayout->Finalize(); - m_testShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, m_testShaderOptionsLayout); + m_testShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, m_testShaderOptionsLayout); // Since this test doesn't actually instantiate a Material, it won't need to instantiate this ImageAsset, so all we // need is an asset reference with a valid ID. @@ -136,7 +136,7 @@ namespace UnitTest void TearDown() override { - m_testMaterialSrgAsset.Reset(); + m_testMaterialSrgLayout = nullptr; m_testShaderAsset.Reset(); m_testShaderOptionsLayout = nullptr; @@ -181,7 +181,7 @@ namespace UnitTest Ptr shaderInputFunctor = aznew Splat3Functor; shaderInputFunctor->m_floatIndex = materialTypeCreator.GetMaterialPropertiesLayout()->FindPropertyIndex(Name{ "NonAliasFloat" }); - shaderInputFunctor->m_vector3Index = m_testMaterialSrgAsset->GetLayout()->FindShaderInputConstantIndex(Name{ "m_float3" }); + shaderInputFunctor->m_vector3Index = m_testMaterialSrgLayout->FindShaderInputConstantIndex(Name{ "m_float3" }); materialTypeCreator.AddMaterialFunctor(shaderInputFunctor); EXPECT_TRUE(materialTypeCreator.End(materialTypeAsset)); @@ -198,7 +198,7 @@ namespace UnitTest // Validate the results { - EXPECT_EQ(m_testMaterialSrgAsset, materialTypeAsset->GetMaterialSrgAsset()); + EXPECT_EQ(m_testMaterialSrgLayout, materialTypeAsset->GetMaterialSrgLayout()); EXPECT_EQ(5, materialTypeAsset->GetMaterialPropertiesLayout()->GetPropertyCount()); // Check aliased properties @@ -235,7 +235,7 @@ namespace UnitTest // Check the functors - const RHI::ShaderInputConstantIndex expectedVector3Index = materialTypeAsset->GetMaterialSrgAsset()->GetLayout()->FindShaderInputConstantIndex(Name{ "m_float3" }); + const RHI::ShaderInputConstantIndex expectedVector3Index = materialTypeAsset->GetMaterialSrgLayout()->FindShaderInputConstantIndex(Name{ "m_float3" }); EXPECT_EQ(2, materialTypeAsset->GetMaterialFunctors().size()); const DummyShaderCollectionFunctor* shaderCollectionFunctor = azrtti_cast(materialTypeAsset->GetMaterialFunctors()[0].get()); @@ -356,7 +356,7 @@ namespace UnitTest materialTypeCreator.AddShader(m_testShaderAsset); // Add another shader that doesn't have shader options to demonstrate connecting to all // shaders with a given option simply skips shaders that don't have that option - materialTypeCreator.AddShader(CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset)); + materialTypeCreator.AddShader(CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout)); materialTypeCreator.BeginMaterialProperty(Name{"Quality"}, MaterialPropertyDataType::UInt); materialTypeCreator.ConnectMaterialPropertyToShaderOption(Name{"o_quality"}, 0); // Only connects to the first shader @@ -512,17 +512,16 @@ namespace UnitTest tester.SerializeOut(materialTypeAsset.Get(), AZ::DataStream::ST_XML); materialTypeAsset = tester.SerializeIn(Data::AssetId(Uuid::CreateRandom())); - EXPECT_FALSE(materialTypeAsset->GetMaterialSrgAsset().GetId().IsValid()); - EXPECT_FALSE(materialTypeAsset->GetMaterialSrgAsset().Get()); + EXPECT_FALSE(materialTypeAsset->GetMaterialSrgLayout()); EXPECT_EQ(0, materialTypeAsset->GetMaterialPropertiesLayout()->GetPropertyCount()); EXPECT_EQ(0, materialTypeAsset->GetMaterialFunctors().size()); } TEST_F(MaterialTypeAssetTests, TestWithMultipleShaders) { - Data::Asset shaderA = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, m_testShaderOptionsLayout); - Data::Asset shaderB = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, m_testShaderOptionsLayout); - Data::Asset shaderC = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, m_testShaderOptionsLayout); + Data::Asset shaderA = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, m_testShaderOptionsLayout); + Data::Asset shaderB = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, m_testShaderOptionsLayout); + Data::Asset shaderC = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, m_testShaderOptionsLayout); ShaderOptionGroup optionsA{m_testShaderOptionsLayout}; ShaderOptionGroup optionsB{m_testShaderOptionsLayout}; @@ -560,14 +559,14 @@ namespace UnitTest EXPECT_FALSE(materialTypeAsset->GetShaderCollection()[2].GetShaderOptions()->GetValue(Name{"o_quality"}).IsValid()); EXPECT_FALSE(materialTypeAsset->GetShaderCollection()[2].GetShaderOptions()->GetValue(Name{"o_lightCount"}).IsValid()); - EXPECT_EQ(m_testMaterialSrgAsset, materialTypeAsset->GetMaterialSrgAsset()); + EXPECT_EQ(m_testMaterialSrgLayout, materialTypeAsset->GetMaterialSrgLayout()); } TEST_F(MaterialTypeAssetTests, TestWithMultipleShaders_OnlyOneUsesSRG) { Data::Asset shaderA = CreateTestShaderAsset(Uuid::CreateRandom(), {}); - Data::Asset shaderB = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset); + Data::Asset shaderB = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout); Data::Asset shaderC = CreateTestShaderAsset(Uuid::CreateRandom(), {}); Data::Asset materialTypeAsset; @@ -579,7 +578,7 @@ namespace UnitTest materialTypeCreator.AddShader(shaderC); EXPECT_TRUE(materialTypeCreator.End(materialTypeAsset)); - EXPECT_EQ(m_testMaterialSrgAsset, materialTypeAsset->GetMaterialSrgAsset()); + EXPECT_EQ(m_testMaterialSrgLayout, materialTypeAsset->GetMaterialSrgLayout()); } TEST_F(MaterialTypeAssetTests, Error_NoBegin_BeforeBeginMaterialProperty) @@ -633,16 +632,13 @@ namespace UnitTest TEST_F(MaterialTypeAssetTests, Error_MultipleShadersUsingDifferentSRGs) { - Data::Asset otherPerMaterialSRG; - ShaderResourceGroupAssetCreator srgCreator; - srgCreator.Begin(Uuid::CreateRandom(), Name("MaterialSrg")); - srgCreator.BeginAPI(RHI::Factory::Get().GetType()); - srgCreator.SetBindingSlot(SrgBindingSlot::Material); - srgCreator.EndAPI(); - srgCreator.End(otherPerMaterialSRG); + RHI::Ptr otherPerMaterialSRGLayout = RHI::ShaderResourceGroupLayout::Create(); + otherPerMaterialSRGLayout->SetName(Name("MaterialSrg")); + otherPerMaterialSRGLayout->SetBindingSlot(SrgBindingSlot::Material); + otherPerMaterialSRGLayout->Finalize(); - Data::Asset shaderA = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset); - Data::Asset shaderB = CreateTestShaderAsset(Uuid::CreateRandom(), otherPerMaterialSRG); + Data::Asset shaderA = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout); + Data::Asset shaderB = CreateTestShaderAsset(Uuid::CreateRandom(), otherPerMaterialSRGLayout); Data::Asset materialTypeAsset; diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeSourceDataTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeSourceDataTests.cpp index fd0b432e6e..a359a24081 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeSourceDataTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeSourceDataTests.cpp @@ -13,13 +13,13 @@ #include #include #include +#include #include #include #include #include #include -#include #include #include #include @@ -38,12 +38,11 @@ namespace UnitTest { protected: - Data::Asset m_testMaterialSrgAsset; + RHI::Ptr m_testMaterialSrgLayout; Data::Asset m_testShaderAsset; Data::Asset m_testShaderAsset2; Data::Asset m_testImageAsset; Data::Asset m_testImageAsset2; // For relative path testing. - static constexpr const char* TestMaterialSrgFilename = "test.azsl"; static constexpr const char* TestShaderFilename = "test.shader"; static constexpr const char* TestShaderFilename2 = "extra.shader"; static constexpr const char* TestImageFilename = "test.streamingimage"; @@ -270,26 +269,19 @@ namespace UnitTest AZ::RPI::MaterialFunctorSourceDataRegistration::Get()->RegisterMaterialFunctor("SetShaderOption", azrtti_typeid()); const Name materialSrgId{"MaterialSrg"}; - - // We can use a random source file Uuid, but based on the current implementation we require the - // per-material asset sub-Id to be a hash of the SRG name. - Data::AssetId materialSrgAssetId{ Uuid::CreateRandom(), AssetUtils::CalcSrgProductSubId(materialSrgId) }; - - ShaderResourceGroupAssetCreator srgAssetCreator; - srgAssetCreator.Begin(materialSrgAssetId, materialSrgId); - srgAssetCreator.BeginAPI(RHI::Factory::Get().GetType()); - srgAssetCreator.SetBindingSlot(SrgBindingSlot::Material); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_color" }, 4, 16, 0 }); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_float" }, 20, 4, 0 }); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_int" }, 24, 4, 0 }); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_uint" }, 28, 4, 0 }); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_float2" }, 32, 8, 0 }); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_float3" }, 40, 12, 0 }); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_float4" }, 52, 16, 0 }); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_bool" }, 68, 1, 0 }); - srgAssetCreator.AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "m_image" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 1 }); - EXPECT_TRUE(srgAssetCreator.EndAPI()); - EXPECT_TRUE(srgAssetCreator.End(m_testMaterialSrgAsset)); + m_testMaterialSrgLayout = RHI::ShaderResourceGroupLayout::Create(); + m_testMaterialSrgLayout->SetName(materialSrgId); + m_testMaterialSrgLayout->SetBindingSlot(SrgBindingSlot::Material); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_color" }, 4, 16, 0 }); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_float" }, 20, 4, 0 }); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_int" }, 24, 4, 0 }); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_uint" }, 28, 4, 0 }); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_float2" }, 32, 8, 0 }); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_float3" }, 40, 12, 0 }); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_float4" }, 52, 16, 0 }); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "m_bool" }, 68, 1, 0 }); + m_testMaterialSrgLayout->AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "m_image" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 1 }); + EXPECT_TRUE(m_testMaterialSrgLayout->Finalize()); AZStd::vector optionValues; optionValues.push_back({Name("Low"), RPI::ShaderOptionValue(0)}); @@ -303,7 +295,7 @@ namespace UnitTest shaderOptions->AddShaderOption(ShaderOptionDescriptor{Name{"o_bar"}, ShaderOptionType::Enumeration, 4, order++, optionValues, Name{"Low"}}); shaderOptions->Finalize(); - m_testShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, shaderOptions); + m_testShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, shaderOptions); m_testShaderAsset2 = CreateTestShaderAsset(Uuid::CreateRandom()); // Since this test doesn't actually instantiate a Material, it won't need to instantiate this ImageAsset, so all we @@ -311,10 +303,6 @@ namespace UnitTest m_testImageAsset = Data::Asset{ Data::AssetId{ Uuid::CreateRandom(), StreamingImageAsset::GetImageAssetSubId() }, azrtti_typeid() }; m_testImageAsset2 = Data::Asset{ Data::AssetId{ Uuid::CreateRandom(), StreamingImageAsset::GetImageAssetSubId() }, azrtti_typeid() }; - // Register the test assets with the AssetSystemStub so CreateMaterialTypeAsset() can use AssetUtils. - Data::AssetInfo testMaterialAssetInfo; - testMaterialAssetInfo.m_assetId = m_testMaterialSrgAsset.GetId(); - Data::AssetInfo testShaderAssetInfo; testShaderAssetInfo.m_assetId = m_testShaderAsset.GetId(); @@ -328,7 +316,6 @@ namespace UnitTest testImageAssetInfo2.m_assetId = m_testImageAsset2.GetId(); testImageAssetInfo2.m_assetType = azrtti_typeid(); - m_assetSystemStub.RegisterSourceInfo(TestMaterialSrgFilename, testMaterialAssetInfo, ""); m_assetSystemStub.RegisterSourceInfo(TestShaderFilename, testShaderAssetInfo, ""); m_assetSystemStub.RegisterSourceInfo(TestShaderFilename2, testShaderAssetInfo2, ""); m_assetSystemStub.RegisterSourceInfo(TestImageFilename, testImageAssetInfo, ""); @@ -340,7 +327,7 @@ namespace UnitTest void TearDown() override { - m_testMaterialSrgAsset.Reset(); + m_testMaterialSrgLayout = nullptr; m_testShaderAsset.Reset(); m_testShaderAsset2.Reset(); @@ -375,7 +362,7 @@ namespace UnitTest Data::Asset materialTypeAsset = materialTypeOutcome.GetValue(); - EXPECT_EQ(m_testMaterialSrgAsset, materialTypeAsset->GetMaterialSrgAsset()); + EXPECT_EQ(m_testMaterialSrgLayout, materialTypeAsset->GetMaterialSrgLayout()); } TEST_F(MaterialTypeSourceDataTests, CreateMaterialTypeAsset_NoMaterialSrgAsset) @@ -396,7 +383,7 @@ namespace UnitTest Data::Asset materialTypeAsset = materialTypeOutcome.GetValue(); - EXPECT_FALSE(materialTypeAsset->GetMaterialSrgAsset().GetId().IsValid()); + EXPECT_FALSE(materialTypeAsset->GetMaterialSrgLayout()); } TEST_F(MaterialTypeSourceDataTests, CreateMaterialTypeAsset_WithMultipleShaders) @@ -414,8 +401,8 @@ namespace UnitTest shaderOptions->AddShaderOption(ShaderOptionDescriptor{Name{"o_bar"}, ShaderOptionType::Enumeration, 2, order++, optionValues, Name{"Low"}}); shaderOptions->Finalize(); - Data::Asset shaderAssetA = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, shaderOptions); - Data::Asset shaderAssetB = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, shaderOptions); + Data::Asset shaderAssetA = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, shaderOptions); + Data::Asset shaderAssetB = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, shaderOptions); Data::Asset shaderAssetC = CreateTestShaderAsset(Uuid::CreateRandom(), {}, shaderOptions); Data::AssetInfo shaderAssetAInfo; @@ -454,7 +441,7 @@ namespace UnitTest // Check the results... - EXPECT_EQ(m_testMaterialSrgAsset, materialTypeAsset->GetMaterialSrgAsset()); + EXPECT_EQ(m_testMaterialSrgLayout, materialTypeAsset->GetMaterialSrgLayout()); EXPECT_EQ(3, materialTypeAsset->GetShaderCollection().size()); EXPECT_EQ(shaderAssetA, materialTypeAsset->GetShaderCollection()[0].GetShaderAsset()); EXPECT_EQ(shaderAssetB, materialTypeAsset->GetShaderCollection()[1].GetShaderAsset()); @@ -715,7 +702,7 @@ namespace UnitTest shaderAOptions->AddShaderOption(ShaderOptionDescriptor{ Name{"o_quality"}, ShaderOptionType::Enumeration, 0, order++, optionValues, Name{"Low"} }); shaderAOptions->AddShaderOption(ShaderOptionDescriptor{ Name{"o_speed"}, ShaderOptionType::Enumeration, 2, order++, optionValues, Name{"Low"} }); shaderAOptions->Finalize(); - auto shaderA = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, shaderAOptions); + auto shaderA = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, shaderAOptions); Ptr shaderBOptions = ShaderOptionGroupLayout::Create(); order = 0; @@ -723,14 +710,14 @@ namespace UnitTest shaderBOptions->AddShaderOption(ShaderOptionDescriptor{ Name{"o_quality"}, ShaderOptionType::Enumeration, 2, order++, optionValues, Name{"Low"} }); shaderBOptions->AddShaderOption(ShaderOptionDescriptor{ Name{"o_speed"}, ShaderOptionType::Enumeration, 4, order++, optionValues, Name{"Low"} }); shaderBOptions->Finalize(); - auto shaderB = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, shaderBOptions); + auto shaderB = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, shaderBOptions); Ptr shaderCOptions = ShaderOptionGroupLayout::Create(); order = 0; shaderCOptions->AddShaderOption(ShaderOptionDescriptor{ Name{"o_accuracy"}, ShaderOptionType::Enumeration, 0, order++, optionValues, Name{"Low"} }); shaderCOptions->AddShaderOption(ShaderOptionDescriptor{ Name{"o_efficiency"}, ShaderOptionType::Enumeration, 2, order++, optionValues, Name{"Low"} }); shaderCOptions->Finalize(); - auto shaderC = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgAsset, shaderCOptions); + auto shaderC = CreateTestShaderAsset(Uuid::CreateRandom(), m_testMaterialSrgLayout, shaderCOptions); Data::AssetInfo testShaderAssetInfo; testShaderAssetInfo.m_assetId = shaderA.GetId(); @@ -841,7 +828,7 @@ namespace UnitTest EXPECT_TRUE(nullptr != shaderInputFunctor); EXPECT_EQ(propertyIndex, shaderInputFunctor->m_floatIndex); - const RHI::ShaderInputConstantIndex expectedVector3Index = materialTypeAsset->GetMaterialSrgAsset()->GetLayout()->FindShaderInputConstantIndex(Name{ "m_float3" }); + const RHI::ShaderInputConstantIndex expectedVector3Index = materialTypeAsset->GetMaterialSrgLayout()->FindShaderInputConstantIndex(Name{ "m_float3" }); EXPECT_EQ(expectedVector3Index, shaderInputFunctor->m_vector3Index); } diff --git a/Gems/Atom/RPI/Code/Tests/Shader/ShaderTests.cpp b/Gems/Atom/RPI/Code/Tests/Shader/ShaderTests.cpp index 7a3fe2454e..cf13e21193 100644 --- a/Gems/Atom/RPI/Code/Tests/Shader/ShaderTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Shader/ShaderTests.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include #include @@ -240,11 +239,11 @@ namespace UnitTest for (size_t i = 0; i < RHI::Limits::Pipeline::ShaderResourceGroupCountMax; ++i) { - Data::Asset srgAsset = CreateShaderResourceGroupAsset(i); + RHI::Ptr srgLayout = CreateShaderResourceGroupLayout(i); AZ::RHI::ShaderResourceGroupBindingInfo bindingInfo = CreateShaderResouceGroupBindingInfo(i); - m_pipelineLayoutDescriptor->AddShaderResourceGroupLayoutInfo(*srgAsset->GetLayout(), bindingInfo); - m_srgAssets.push_back(srgAsset); + m_pipelineLayoutDescriptor->AddShaderResourceGroupLayoutInfo(*srgLayout.get(), bindingInfo); + m_srgLayouts.push_back(srgLayout); } m_pipelineLayoutDescriptor->Finalize(); @@ -260,7 +259,7 @@ namespace UnitTest m_bindings[i] = {}; } - m_srgAssets.clear(); + m_srgLayouts.clear(); m_pipelineLayoutDescriptor = nullptr; m_shaderOptionGroupLayoutForAsset = nullptr; m_shaderOptionGroupLayoutForVariants = nullptr; @@ -293,7 +292,7 @@ namespace UnitTest return Name{ AZStd::to_string(index) }; } - AZ::Data::Asset CreateShaderResourceGroupAsset(size_t index) + RHI::Ptr CreateShaderResourceGroupLayout(size_t index) { using namespace AZ; @@ -301,18 +300,15 @@ namespace UnitTest // Creates a simple SRG asset with a unique SRG layout hash (based on the index). - RPI::ShaderResourceGroupAssetCreator creator; - creator.Begin(Uuid::CreateRandom(), srgId); - creator.BeginAPI(RHI::Factory::Get().GetType()); - creator.SetBindingSlot(aznumeric_caster(index)); - creator.AddShaderInput(RHI::ShaderInputBufferDescriptor{ srgId, RHI::ShaderInputBufferAccess::Read, RHI::ShaderInputBufferType::Raw, 1, 4, static_cast(index) }); + RHI::Ptr srgLayout = RHI::ShaderResourceGroupLayout::Create(); + srgLayout->SetName(srgId); + srgLayout->SetBindingSlot(aznumeric_caster(index)); + srgLayout->AddShaderInput(RHI::ShaderInputBufferDescriptor{ + srgId, RHI::ShaderInputBufferAccess::Read, RHI::ShaderInputBufferType::Raw, 1, 4, static_cast(index) }); - Data::Asset srgAsset; - EXPECT_TRUE(creator.EndAPI()); - bool success = creator.End(srgAsset); - EXPECT_TRUE(success); + EXPECT_TRUE(srgLayout->Finalize()); - return srgAsset; + return srgLayout; } AZ::RHI::ShaderResourceGroupBindingInfo CreateShaderResouceGroupBindingInfo(size_t index) @@ -400,10 +396,12 @@ namespace UnitTest } Data::Asset CreateTestShaderVariantAsset(RPI::ShaderVariantId id, RPI::ShaderVariantStableId stableId, + bool isFullyBaked, const AZStd::vector& stagesToActivate = {RHI::ShaderStage::Vertex, RHI::ShaderStage::Fragment}) { RPI::ShaderVariantAssetCreator shaderVariantAssetCreator; - shaderVariantAssetCreator.Begin(Uuid::CreateRandom(), id, stableId, m_shaderOptionGroupLayoutForAsset.get()); + shaderVariantAssetCreator.Begin(Uuid::CreateRandom(), id, stableId, isFullyBaked); + shaderVariantAssetCreator.SetBuildTimestamp(AZStd::sys_time_t(1)); //Make non-zero for (RHI::ShaderStage rhiStage : stagesToActivate) { @@ -411,10 +409,6 @@ namespace UnitTest shaderVariantAssetCreator.SetShaderFunction(rhiStage, vertexStageFunction); } - shaderVariantAssetCreator.SetRenderStates(m_renderStates); - shaderVariantAssetCreator.SetInputContract(CreateSimpleShaderInputContract()); - shaderVariantAssetCreator.SetOutputContract(CreateSimpleShaderOutputContract()); - Data::Asset shaderVariantAsset; shaderVariantAssetCreator.End(shaderVariantAsset); @@ -431,21 +425,26 @@ namespace UnitTest creator.SetDrawListName(m_drawListName); creator.SetShaderOptionGroupLayout(m_shaderOptionGroupLayoutForAsset); - for (auto& srgAsset : m_srgAssets) - { - creator.AddShaderResourceGroupAsset(srgAsset); - } - creator.BeginAPI(RHI::Factory::Get().GetType()); + creator.BeginSupervariant(AZ::Name{}); // The default (first) supervariant MUST be nameless. + + creator.SetSrgLayoutList(m_srgLayouts); + creator.SetPipelineLayout(m_pipelineLayoutDescriptor); + + creator.SetRenderStates(m_renderStates); + creator.SetInputContract(CreateSimpleShaderInputContract()); + creator.SetOutputContract(CreateSimpleShaderOutputContract()); + RHI::ShaderStageAttributeMapList attributeMaps; attributeMaps.resize(RHI::ShaderStageCount); creator.SetShaderStageAttributeMapList(attributeMaps); - Data::Asset shaderVariantAsset = CreateTestShaderVariantAsset(RPI::ShaderVariantId{}, RPI::ShaderVariantStableId{0}, stagesToActivate); + Data::Asset shaderVariantAsset = CreateTestShaderVariantAsset(RPI::ShaderVariantId{}, RPI::ShaderVariantStableId{0}, false, stagesToActivate); creator.SetRootShaderVariantAsset(shaderVariantAsset); - creator.SetPipelineLayout(m_pipelineLayoutDescriptor); + + creator.EndSupervariant(); } //! Used to finish creating a shader that began with BeginCreatingTestShaderAsset(). Call this after adding all the desired shader variants. @@ -526,11 +525,11 @@ namespace UnitTest EXPECT_EQ(shaderAsset->GetShaderOptionGroupLayout()->GetHash(), m_shaderOptionGroupLayoutForAsset->GetHash()); EXPECT_EQ(shaderAsset->GetPipelineLayoutDescriptor()->GetHash(), m_pipelineLayoutDescriptor->GetHash()); - for (size_t i = 0; i < shaderAsset->GetShaderResourceGroupAssets().size(); ++i) + for (size_t i = 0; i < shaderAsset->GetShaderResourceGroupLayouts().size(); ++i) { - auto& srgAsset = shaderAsset->GetShaderResourceGroupAssets()[i]; - EXPECT_EQ(srgAsset, m_srgAssets[i]); - EXPECT_EQ(shaderAsset->FindShaderResourceGroupAsset(CreateShaderResourceGroupId(i)), srgAsset); + auto& srgLayout = shaderAsset->GetShaderResourceGroupLayouts()[i]; + EXPECT_EQ(srgLayout->GetHash(), m_srgLayouts[i]->GetHash()); + EXPECT_EQ(shaderAsset->FindShaderResourceGroupLayout(CreateShaderResourceGroupId(i))->GetHash(), srgLayout->GetHash()); } } @@ -543,7 +542,7 @@ namespace UnitTest auto shaderAsset = shader->GetAsset(); EXPECT_EQ(shader->GetPipelineStateType(), shaderAsset->GetPipelineStateType()); - EXPECT_EQ(shader->GetShaderResourceGroupAssets(), shaderAsset->GetShaderResourceGroupAssets()); + EXPECT_EQ(shader->GetShaderResourceGroupLayouts(), shaderAsset->GetShaderResourceGroupLayouts()); const RPI::ShaderVariant& rootShaderVariant = shader->GetVariant( RPI::ShaderVariantStableId{0} ); @@ -580,7 +579,7 @@ namespace UnitTest AZ::RHI::RenderStates m_renderStates; - AZStd::fixed_vector, AZ::RHI::Limits::Pipeline::ShaderResourceGroupCountMax> m_srgAssets; + AZStd::fixed_vector, AZ::RHI::Limits::Pipeline::ShaderResourceGroupCountMax> m_srgLayouts; }; TEST_F(ShaderTests, ShaderOptionBindingTest) @@ -1202,6 +1201,7 @@ namespace UnitTest { ErrorMessageFinder messageFinder("both Draw functions and Dispatch functions"); messageFinder.AddExpectedErrorMessage("Invalid root variant"); + messageFinder.AddExpectedErrorMessage("Cannot continue building ShaderAsset because 1 error(s) reported"); AZ::RPI::ShaderAssetCreator creator; BeginCreatingTestShaderAsset(creator, @@ -1216,6 +1216,7 @@ namespace UnitTest { ErrorMessageFinder messageFinder("fragment function but no vertex function"); messageFinder.AddExpectedErrorMessage("Invalid root variant"); + messageFinder.AddExpectedErrorMessage("Cannot continue building ShaderAsset because 1 error(s) reported"); AZ::RPI::ShaderAssetCreator creator; BeginCreatingTestShaderAsset(creator, {AZ::RHI::ShaderStage::Fragment}); @@ -1231,6 +1232,7 @@ namespace UnitTest { ErrorMessageFinder messageFinder("tessellation function but no vertex function"); messageFinder.AddExpectedErrorMessage("Invalid root variant"); + messageFinder.AddExpectedErrorMessage("Cannot continue building ShaderAsset because 1 error(s) reported"); AZ::RPI::ShaderAssetCreator creator; BeginCreatingTestShaderAsset(creator, { AZ::RHI::ShaderStage::Tessellation }); @@ -1264,56 +1266,7 @@ namespace UnitTest AZ_TEST_START_TRACE_SUPPRESSION; Data::Asset shaderAsset = CreateShaderAsset(); - AZ_TEST_STOP_TRACE_SUPPRESSION(1); - - EXPECT_FALSE(shaderAsset); - } - - TEST_F(ShaderTests, ShaderAsset_PipelineLayout_SrgCountMismatch_Test) - { - using namespace AZ; - - m_pipelineLayoutDescriptor->Reset(); - // No SRGs. - m_pipelineLayoutDescriptor->Finalize(); - - AZ_TEST_START_TRACE_SUPPRESSION; - Data::Asset shaderAsset = CreateShaderAsset(); - AZ_TEST_STOP_TRACE_SUPPRESSION(1); - - EXPECT_FALSE(shaderAsset); - } - - TEST_F(ShaderTests, ShaderAsset_PipelineLayout_SrgHashMismatch_Test) - { - using namespace AZ; - - m_pipelineLayoutDescriptor->Reset(); - for (size_t i = 0; i < RHI::Limits::Pipeline::ShaderResourceGroupCountMax; ++i) - { - // Shift SRGs by one. This will make the hashes no longer match. - size_t shiftedIndex = (i + 1) % RHI::Limits::Pipeline::ShaderResourceGroupCountMax; - AZ::RHI::ShaderResourceGroupBindingInfo bindingInfo = CreateShaderResouceGroupBindingInfo(shiftedIndex); - m_pipelineLayoutDescriptor->AddShaderResourceGroupLayoutInfo(*m_srgAssets[shiftedIndex]->GetLayout(), bindingInfo); - } - m_pipelineLayoutDescriptor->Finalize(); - - AZ_TEST_START_TRACE_SUPPRESSION; - Data::Asset shaderAsset = CreateShaderAsset(); - AZ_TEST_STOP_TRACE_SUPPRESSION(1); - - EXPECT_FALSE(shaderAsset); - } - - TEST_F(ShaderTests, ShaderAsset_ShaderOptionGroupLayout_Missing_Test) - { - using namespace AZ; - - m_shaderOptionGroupLayoutForAsset = nullptr; - - AZ_TEST_START_TRACE_SUPPRESSION; - Data::Asset shaderAsset = CreateShaderAsset(); - AZ_TEST_STOP_TRACE_SUPPRESSION(1); + AZ_TEST_STOP_TRACE_SUPPRESSION(2); EXPECT_FALSE(shaderAsset); } @@ -1861,7 +1814,7 @@ namespace UnitTest Data::Asset shaderVariantAsset; - shaderVariantAsset = CreateTestShaderVariantAsset(shaderOptions.GetShaderVariantId(), RPI::ShaderVariantStableId{0}); + shaderVariantAsset = CreateTestShaderVariantAsset(shaderOptions.GetShaderVariantId(), RPI::ShaderVariantStableId{0}, false); EXPECT_FALSE(shaderVariantAsset->IsFullyBaked()); EXPECT_FALSE(ShaderOptionGroup(m_shaderOptionGroupLayoutForAsset, shaderVariantAsset->GetShaderVariantId()).IsFullySpecified()); @@ -1869,12 +1822,12 @@ namespace UnitTest shaderOptions.SetValue(AZ::Name{"Quality"}, AZ::Name{"Quality::Average"}); shaderOptions.SetValue(AZ::Name{"NumberSamples"}, AZ::Name{"100"}); shaderOptions.SetValue(AZ::Name{"Raytracing"}, AZ::Name{"On"}); - shaderVariantAsset = CreateTestShaderVariantAsset(shaderOptions.GetShaderVariantId(), RPI::ShaderVariantStableId{0}); + shaderVariantAsset = CreateTestShaderVariantAsset(shaderOptions.GetShaderVariantId(), RPI::ShaderVariantStableId{0}, true); EXPECT_TRUE(shaderVariantAsset->IsFullyBaked()); EXPECT_TRUE(ShaderOptionGroup(m_shaderOptionGroupLayoutForAsset, shaderVariantAsset->GetShaderVariantId()).IsFullySpecified()); shaderOptions.ClearValue(AZ::Name{"NumberSamples"}); - shaderVariantAsset = CreateTestShaderVariantAsset(shaderOptions.GetShaderVariantId(), RPI::ShaderVariantStableId{0}); + shaderVariantAsset = CreateTestShaderVariantAsset(shaderOptions.GetShaderVariantId(), RPI::ShaderVariantStableId{0}, false); EXPECT_FALSE(shaderVariantAsset->IsFullyBaked()); EXPECT_FALSE(ShaderOptionGroup(m_shaderOptionGroupLayoutForAsset, shaderVariantAsset->GetShaderVariantId()).IsFullySpecified()); } diff --git a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupAssetTests.cpp b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupAssetTests.cpp deleted file mode 100644 index 71c7dec396..0000000000 --- a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupAssetTests.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* -* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -* its licensors. -* -* For complete copyright and license terms please see the LICENSE at the root of this -* distribution (the "License"). All use of this software is governed by the License, -* or, if provided, by the license below or the license accompanying this file. Do not -* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* -*/ - -#include -#include -#include - -#include -#include - -namespace AZ -{ - namespace RPI - { - class ShaderResourceGroupAssetTester - : public UnitTest::SerializeTester - { - using Base = UnitTest::SerializeTester; - public: - ShaderResourceGroupAssetTester(AZ::SerializeContext* serializeContext) - : Base(serializeContext) - {} - - AZ::Data::Asset SerializeInHelper(const AZ::Data::AssetId& assetId) - { - AZ::Data::Asset asset = Base::SerializeIn(assetId); - asset->FinalizeAfterLoad(); - asset->SetReady(); - return asset; - } - }; - } -} - -namespace UnitTest -{ - using namespace AZ; - using namespace AZ::RPI; - - class ShaderResourceGroupAssetTests - : public RPITestFixture - { - protected: - Data::Asset CreateBasicSrgAsset(const Data::AssetId& assetId) - { - ShaderResourceGroupAssetCreator creator; - creator.Begin(assetId, Name("Foo")); - creator.BeginAPI(RHI::Factory::Get().GetType()); - - creator.SetBindingSlot(2); - creator.AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{"MyBuffer"}, RHI::ShaderInputBufferAccess::ReadWrite, RHI::ShaderInputBufferType::Raw, 1, 4, 1 }); - creator.AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImage" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 2 }); - creator.AddShaderInput(RHI::ShaderInputSamplerDescriptor{ Name{ "MySampler" }, 1, 3 }); - creator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{"MyFloat"}, 0, sizeof(float), 0 }); - creator.AddStaticSampler(RHI::ShaderInputStaticSamplerDescriptor{ Name("MyStaticSampler"), RHI::SamplerState::Create(RHI::FilterMode::Linear, RHI::FilterMode::Point, RHI::AddressMode::Wrap), 4 }); - - Data::Asset srgAsset; - EXPECT_TRUE(creator.EndAPI()); - EXPECT_TRUE(creator.End(srgAsset)); - - return srgAsset; - } - }; - - TEST_F(ShaderResourceGroupAssetTests, Error_Empty) - { - AZ_TEST_START_ASSERTTEST; - - ShaderResourceGroupAssetCreator creator; - creator.Begin(Uuid::CreateRandom(), Name("Foo")); - creator.BeginAPI(RHI::Factory::Get().GetType()); - - Data::Asset srgAsset; - EXPECT_FALSE(creator.EndAPI()); - EXPECT_FALSE(creator.End(srgAsset)); - - AZ_TEST_STOP_ASSERTTEST(2); - } - - TEST_F(ShaderResourceGroupAssetTests, Basic) - { - Data::AssetId assetId(Uuid::CreateRandom()); - Data::Asset srgAsset = CreateBasicSrgAsset(assetId); - - EXPECT_EQ(assetId, srgAsset->GetId()); - EXPECT_EQ(Name("Foo"), srgAsset->GetName()); - EXPECT_EQ(Data::AssetData::AssetStatus::Ready, srgAsset->GetStatus()); - EXPECT_EQ(2, srgAsset->GetLayout()->GetBindingSlot()); - EXPECT_TRUE(srgAsset->GetLayout()->FindShaderInputBufferIndex(Name{ "MyBuffer" }).IsValid()); - EXPECT_TRUE(srgAsset->GetLayout()->FindShaderInputImageIndex(Name{ "MyImage" }).IsValid()); - EXPECT_TRUE(srgAsset->GetLayout()->FindShaderInputSamplerIndex(Name{ "MySampler" }).IsValid()); - EXPECT_TRUE(srgAsset->GetLayout()->FindShaderInputConstantIndex(Name{ "MyFloat" }).IsValid()); - EXPECT_EQ(1, srgAsset->GetLayout()->GetStaticSamplers().size()); - } - - TEST_F(ShaderResourceGroupAssetTests, Serialization) - { - Data::AssetId assetId(Uuid::CreateRandom()); - Data::Asset srgAsset = CreateBasicSrgAsset(assetId); - - RPI::ShaderResourceGroupAssetTester tester(GetSerializeContext()); - tester.SerializeOut(srgAsset.Get()); - Data::Asset serializedSrgAsset = tester.SerializeInHelper(Data::AssetId(Uuid::CreateRandom())); - - EXPECT_EQ(serializedSrgAsset->GetName(), srgAsset->GetName()); - // We don't need to check the entire layout reflection as that should be tested where ShaderResourceGroupLayout is tested. - EXPECT_EQ(serializedSrgAsset->GetLayout()->GetShaderInput(RHI::ShaderInputBufferIndex { 0 }).m_name, srgAsset->GetLayout()->GetShaderInput(RHI::ShaderInputBufferIndex { 0 }).m_name); - EXPECT_EQ(serializedSrgAsset->GetLayout()->GetShaderInput(RHI::ShaderInputImageIndex { 0 }).m_name, srgAsset->GetLayout()->GetShaderInput(RHI::ShaderInputImageIndex { 0 }).m_name); - EXPECT_EQ(serializedSrgAsset->GetLayout()->GetShaderInput(RHI::ShaderInputSamplerIndex { 0 }).m_name, srgAsset->GetLayout()->GetShaderInput(RHI::ShaderInputSamplerIndex { 0 }).m_name); - EXPECT_EQ(serializedSrgAsset->GetLayout()->GetShaderInput(RHI::ShaderInputConstantIndex{ 0 }).m_name, srgAsset->GetLayout()->GetShaderInput(RHI::ShaderInputConstantIndex{ 0 }).m_name); - } - - TEST_F(ShaderResourceGroupAssetTests, Error_NoBegin) - { - Data::AssetId assetId(Uuid::CreateRandom()); - - AZ_TEST_START_ASSERTTEST; - - ShaderResourceGroupAssetCreator creator; - - creator.SetBindingSlot(2); - creator.AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBuffer" }, RHI::ShaderInputBufferAccess::ReadWrite, RHI::ShaderInputBufferType::Raw, 1, 4, 1 }); - creator.AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImage" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 2 }); - creator.AddShaderInput(RHI::ShaderInputSamplerDescriptor{ Name{ "MySampler" }, 1, 3 }); - creator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "MyFloat" }, 0, sizeof(float), 0 }); - creator.AddStaticSampler(RHI::ShaderInputStaticSamplerDescriptor{ Name("MyStaticSampler"), RHI::SamplerState::Create(RHI::FilterMode::Linear, RHI::FilterMode::Point, RHI::AddressMode::Wrap), 4 }); - - Data::Asset srgAsset; - EXPECT_FALSE(creator.End(srgAsset)); - - AZ_TEST_STOP_ASSERTTEST(7); - } -} - diff --git a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupBufferTests.cpp b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupBufferTests.cpp index 03bc4ad41e..64883944db 100644 --- a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupBufferTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupBufferTests.cpp @@ -12,9 +12,9 @@ #include #include +#include #include -#include #include #include #include @@ -28,7 +28,8 @@ namespace UnitTest : public RPITestFixture { protected: - Data::Asset m_testSrgAsset; + Data::Asset m_testSrgShaderAsset; + RHI::Ptr m_testSrgLayout; Data::Instance m_testSrg; Data::Asset m_bufferPoolAsset; Data::Asset m_shortBufferAsset; @@ -47,21 +48,18 @@ namespace UnitTest const RHI::ShaderInputBufferIndex m_indexOfBufferArray{ 2 }; const RHI::ShaderInputBufferIndex m_indexOfBufferInvalid{ 3 }; - Data::Asset CreateTestSrgAsset(const char* nameId) + RHI::Ptr CreateTestSrgLayout(const char* nameId) { - Data::Asset asset; - ShaderResourceGroupAssetCreator srgCreator; + RHI::Ptr srgLayout = RHI::ShaderResourceGroupLayout::Create(); - srgCreator.Begin(Uuid::CreateRandom(), Name(nameId)); - srgCreator.BeginAPI(RHI::Factory::Get().GetType()); - srgCreator.SetBindingSlot(0); - srgCreator.AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferA" }, RHI::ShaderInputBufferAccess::Read, RHI::ShaderInputBufferType::Raw, 1, 4, 1 }); - srgCreator.AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferB" }, RHI::ShaderInputBufferAccess::Read, RHI::ShaderInputBufferType::Raw, 1, 4, 2 }); - srgCreator.AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferArray" }, RHI::ShaderInputBufferAccess::Read, RHI::ShaderInputBufferType::Raw, 3, 4, 3 }); - srgCreator.EndAPI(); - srgCreator.End(asset); + srgLayout->SetName(Name(nameId)); + srgLayout->SetBindingSlot(0); + srgLayout->AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferA" }, RHI::ShaderInputBufferAccess::Read, RHI::ShaderInputBufferType::Raw, 1, 4, 1 }); + srgLayout->AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferB" }, RHI::ShaderInputBufferAccess::Read, RHI::ShaderInputBufferType::Raw, 1, 4, 2 }); + srgLayout->AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferArray" }, RHI::ShaderInputBufferAccess::Read, RHI::ShaderInputBufferType::Raw, 3, 4, 3 }); + srgLayout->Finalize(); - return asset; + return srgLayout; } Data::Asset CreateTestBufferPoolAsset() @@ -101,8 +99,9 @@ namespace UnitTest { RPITestFixture::SetUp(); - m_testSrgAsset = CreateTestSrgAsset("TestSrg"); - m_testSrg = ShaderResourceGroup::Create(m_testSrgAsset); + m_testSrgLayout = CreateTestSrgLayout("TestSrg"); + m_testSrgShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testSrgLayout); + m_testSrg = ShaderResourceGroup::Create(m_testSrgShaderAsset, AZ::RPI::DefaultSupervariantIndex, m_testSrgLayout->GetName()); m_bufferPoolAsset = CreateTestBufferPoolAsset(); m_shortBufferAsset = CreateTestBufferAsset("Short"); @@ -123,8 +122,9 @@ namespace UnitTest void TearDown() override { + m_testSrgLayout = nullptr; m_testSrg = nullptr; - m_testSrgAsset.Reset(); + m_testSrgShaderAsset.Reset(); m_shortBufferAsset.Reset(); m_mediumBufferAsset.Reset(); m_longBufferAsset.Reset(); @@ -198,7 +198,7 @@ namespace UnitTest // Test changing back to null... - ProcessQueuedSrgCompilations(m_testSrgAsset); + ProcessQueuedSrgCompilations(m_testSrgShaderAsset, m_testSrgLayout->GetName()); EXPECT_TRUE(m_testSrg->SetBuffer(m_indexOfBufferA, nullptr)); m_testSrg->Compile(); @@ -224,7 +224,7 @@ namespace UnitTest // Test changing back to null... - ProcessQueuedSrgCompilations(m_testSrgAsset); + ProcessQueuedSrgCompilations(m_testSrgShaderAsset, m_testSrgLayout->GetName()); EXPECT_TRUE(m_testSrg->SetBuffer(m_indexOfBufferArray, nullptr, 1)); m_testSrg->Compile(); @@ -252,7 +252,7 @@ namespace UnitTest // Test replacing just two buffers including changing one buffer back to null... - ProcessQueuedSrgCompilations(m_testSrgAsset); + ProcessQueuedSrgCompilations(m_testSrgShaderAsset, m_testSrgLayout->GetName()); AZStd::vector> alternateBuffers = { m_mediumBuffer, nullptr }; @@ -398,7 +398,7 @@ namespace UnitTest // Test replacing just two buffer views including changing one back to null... - ProcessQueuedSrgCompilations(m_testSrgAsset); + ProcessQueuedSrgCompilations(m_testSrgShaderAsset, m_testSrgLayout->GetName()); AZStd::vector alternateBufferViews = { m_bufferViewB.get(), nullptr }; diff --git a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupConstantBufferTests.cpp b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupConstantBufferTests.cpp index 5712ce765c..6875f0aa33 100644 --- a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupConstantBufferTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupConstantBufferTests.cpp @@ -12,9 +12,7 @@ #include #include - -#include -#include +#include #include namespace UnitTest @@ -36,7 +34,8 @@ namespace UnitTest uint32_t m_uint = 0; }; - AZ::Data::Asset m_srgAsset; + AZ::Data::Asset m_shaderAsset; + AZ::RHI::Ptr m_srgLayout; AZ::Data::Instance m_srg; void SetUp() override @@ -44,17 +43,19 @@ namespace UnitTest RPITestFixture::SetUp(); // This provides the high-level metadata and low-level srg layout - m_srgAsset = BuildSrgAssetWithShaderConstants(); - ASSERT_TRUE(m_srgAsset.IsReady()); + m_srgLayout = BuildSrgLayoutWithShaderConstants(m_shaderAsset); + ASSERT_TRUE(m_srgLayout); + ASSERT_TRUE(m_shaderAsset.IsReady()); - m_srg = AZ::RPI::ShaderResourceGroup::Create(m_srgAsset); + m_srg = AZ::RPI::ShaderResourceGroup::Create(m_shaderAsset, AZ::RPI::DefaultSupervariantIndex, m_srgLayout->GetName()); ASSERT_TRUE(m_srg != nullptr); } void TearDown() override { m_srg.reset(); - m_srgAsset.Release(); + m_srgLayout = nullptr; + m_shaderAsset.Release(); RPITestFixture::TearDown(); } @@ -71,13 +72,13 @@ namespace UnitTest } } - AZ::Data::Asset BuildSrgAssetWithShaderConstants([[maybe_unused]] bool includeMetadata = true) + AZ::RHI::Ptr BuildSrgLayoutWithShaderConstants( + AZ::Data::Asset& shaderAsset, [[maybe_unused]] bool includeMetadata = true) { using namespace AZ; - RPI::ShaderResourceGroupAssetCreator srgAssetCreator; - srgAssetCreator.Begin(Uuid::CreateRandom(), Name{"TestSrg"}); - srgAssetCreator.BeginAPI(RHI::Factory::Get().GetType()); + AZ::RHI::Ptr srgLayout = RHI::ShaderResourceGroupLayout::Create(); + srgLayout->SetName(Name{"TestSrg"}); uint32_t offset = 0; uint32_t count; @@ -85,125 +86,125 @@ namespace UnitTest uint32_t registerIndex = 0; uint32_t sizeOfBool = 4; - srgAssetCreator.SetBindingSlot(0); + srgLayout->SetBindingSlot(0); // bool, binding index 0 count = 1; size = count * sizeOfBool; - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyBool"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyBool"), offset, size, registerIndex }); offset += size; // bool2, binding index 1 count = 2; size = count * sizeOfBool; - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyBool2"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyBool2"), offset, size, registerIndex }); offset += size; // bool3, binding index 2 count = 3; size = count * sizeOfBool; - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyBool3"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyBool3"), offset, size, registerIndex }); offset += size; // bool4, binding index 3 count = 4; size = count * sizeOfBool; - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyBool4"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyBool4"), offset, size, registerIndex }); offset += size; // int, binding index 4 count = 1; size = count * sizeof(int32_t); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyInt"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyInt"), offset, size, registerIndex }); offset += size; // int2, binding index 5 count = 2; size = count * sizeof(int32_t); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyInt2"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyInt2"), offset, size, registerIndex }); offset += size; // int3, binding index 6 count = 3; size = count * sizeof(int32_t); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyInt3"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyInt3"), offset, size, registerIndex }); offset += size; // int4, binding index 7 count = 4; size = count * sizeof(int32_t); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyInt4"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyInt4"), offset, size, registerIndex }); offset += size; // uint, binding index 8 count = 1; size = count * sizeof(uint32_t); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyUint"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyUint"), offset, size, registerIndex }); offset += size; // uint2, binding index 9 count = 2; size = count * sizeof(uint32_t); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyUint2"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyUint2"), offset, size, registerIndex }); offset += size; // uint3, binding index 10 count = 3; size = count * sizeof(uint32_t); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyUint3"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyUint3"), offset, size, registerIndex }); offset += size; // uint4, binding index 11 count = 4; size = count * sizeof(uint32_t); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyUint4"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyUint4"), offset, size, registerIndex }); offset += size; // float, binding index 12 count = 1; size = count * sizeof(float); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyFloat"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyFloat"), offset, size, registerIndex }); offset += size; // float2, binding index 13 count = 2; size = count * sizeof(float); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyFloat2"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyFloat2"), offset, size, registerIndex }); offset += size; // float3, binding index 14 count = 3; size = count * sizeof(float); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyFloat3"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyFloat3"), offset, size, registerIndex }); offset += size; // float4, binding index 15 count = 4; size = count * sizeof(float); - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyFloat4"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MyFloat4"), offset, size, registerIndex }); offset += size; // simple struct, binding index 16 // [GFX TODO][ATOM-111] This is not very fleshed out right now. We still need to do more to support structs, but at least I want to verify that SRG templatized setters and getters can work with structs count = 1; size = 8; - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MySimpleStruct"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MySimpleStruct"), offset, size, registerIndex }); offset += size; // array of 2 simple structs, binding index 17 // [GFX TODO][ATOM-111] This is not very fleshed out right now. We still need to do more to support structs, but at least I want to verify that SRG templatized setters and getters can work with structs count = 2; size = 16; - srgAssetCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MySimpleStructArray2"), offset, size, registerIndex }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{Name("MySimpleStructArray2"), offset, size, registerIndex }); offset += size; - srgAssetCreator.SetBindingSlot(0); + srgLayout->SetBindingSlot(0); - Data::Asset srgAsset; - EXPECT_TRUE(srgAssetCreator.EndAPI()); - EXPECT_TRUE(srgAssetCreator.End(srgAsset)); + EXPECT_TRUE(srgLayout->Finalize()); - return srgAsset; + shaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), srgLayout); + + return srgLayout; } }; diff --git a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupGeneralTests.cpp b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupGeneralTests.cpp index 8bdc3a5165..c584d217e8 100644 --- a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupGeneralTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupGeneralTests.cpp @@ -12,9 +12,9 @@ #include #include +#include #include -#include namespace UnitTest { @@ -25,73 +25,67 @@ namespace UnitTest : public RPITestFixture { protected: - Data::Asset m_testSrgAsset; + RHI::Ptr m_testSrgLayout; + Data::Asset m_testShaderAsset; - Data::Asset CreateTestSrgAsset(const char* nameId) + RHI::Ptr CreateTestSrgLayout(const char* nameId) { - Data::Asset asset; - ShaderResourceGroupAssetCreator srgCreator; + RHI::Ptr srgLayout = RHI::ShaderResourceGroupLayout::Create(); - srgCreator.Begin(Uuid::CreateRandom(), Name(nameId)); - srgCreator.BeginAPI(RHI::Factory::Get().GetType()); - srgCreator.SetBindingSlot(0); - srgCreator.AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferA" }, RHI::ShaderInputBufferAccess::ReadWrite, RHI::ShaderInputBufferType::Raw, 1, 4, 1 }); - srgCreator.AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferB" }, RHI::ShaderInputBufferAccess::ReadWrite, RHI::ShaderInputBufferType::Raw, 1, 4, 2 }); - srgCreator.AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageA" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 3 }); - srgCreator.AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageB" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 4 }); - srgCreator.AddShaderInput(RHI::ShaderInputSamplerDescriptor{ Name{ "MySamplerA" }, 1, 5 }); - srgCreator.AddShaderInput(RHI::ShaderInputSamplerDescriptor{ Name{ "MySamplerB" }, 1, 6 }); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "MyFloatA" }, 0, 4, 0 }); - srgCreator.AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "MyFloatB" }, 4, 4, 0 }); - srgCreator.EndAPI(); - srgCreator.End(asset); + srgLayout->SetName(Name(nameId)); + srgLayout->SetBindingSlot(0); + srgLayout->AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferA" }, RHI::ShaderInputBufferAccess::ReadWrite, RHI::ShaderInputBufferType::Raw, 1, 4, 1 }); + srgLayout->AddShaderInput(RHI::ShaderInputBufferDescriptor{ Name{ "MyBufferB" }, RHI::ShaderInputBufferAccess::ReadWrite, RHI::ShaderInputBufferType::Raw, 1, 4, 2 }); + srgLayout->AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageA" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 3 }); + srgLayout->AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageB" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 4 }); + srgLayout->AddShaderInput(RHI::ShaderInputSamplerDescriptor{ Name{ "MySamplerA" }, 1, 5 }); + srgLayout->AddShaderInput(RHI::ShaderInputSamplerDescriptor{ Name{ "MySamplerB" }, 1, 6 }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "MyFloatA" }, 0, 4, 0 }); + srgLayout->AddShaderInput(RHI::ShaderInputConstantDescriptor{ Name{ "MyFloatB" }, 4, 4, 0 }); + srgLayout->Finalize(); - return asset; + return srgLayout; } void SetUp() override { RPITestFixture::SetUp(); - m_testSrgAsset = CreateTestSrgAsset("TestSrg"); + m_testSrgLayout = CreateTestSrgLayout("TestSrg"); + m_testShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testSrgLayout); } void TearDown() override { - m_testSrgAsset.Reset(); + m_testSrgLayout = nullptr; + m_testShaderAsset.Reset(); RPITestFixture::TearDown(); } }; - TEST_F(ShaderResourceGroupGeneralTests, TestCreateVsFindOrCreate) + TEST_F(ShaderResourceGroupGeneralTests, TestCreate) { - Data::Instance srgInstance1 = ShaderResourceGroup::FindOrCreate(m_testSrgAsset); - Data::Instance srgInstance2 = ShaderResourceGroup::FindOrCreate(m_testSrgAsset); - Data::Instance srgInstance3 = ShaderResourceGroup::Create(m_testSrgAsset); - Data::Instance srgInstance4 = ShaderResourceGroup::Create(m_testSrgAsset); + Data::Instance srgInstance3 = ShaderResourceGroup::Create(m_testShaderAsset, AZ::RPI::DefaultSupervariantIndex, m_testSrgLayout->GetName()); + Data::Instance srgInstance4 = ShaderResourceGroup::Create(m_testShaderAsset, AZ::RPI::DefaultSupervariantIndex, m_testSrgLayout->GetName()); - EXPECT_TRUE(srgInstance1); - EXPECT_TRUE(srgInstance2); EXPECT_TRUE(srgInstance3); EXPECT_TRUE(srgInstance4); - // Instances created via FindOrCreate should be the same object + // Instances created via Create should be the same object - EXPECT_EQ(srgInstance1, srgInstance2); - EXPECT_NE(srgInstance1, srgInstance3); - EXPECT_NE(srgInstance1, srgInstance4); EXPECT_NE(srgInstance3, srgInstance4); } TEST_F(ShaderResourceGroupGeneralTests, TestResourcePool) { - Data::Instance srgA_instance1 = ShaderResourceGroup::Create(m_testSrgAsset); - Data::Instance srgA_instance2 = ShaderResourceGroup::Create(m_testSrgAsset); + Data::Instance srgA_instance1 = ShaderResourceGroup::Create(m_testShaderAsset, AZ::RPI::DefaultSupervariantIndex, m_testSrgLayout->GetName()); + Data::Instance srgA_instance2 = ShaderResourceGroup::Create(m_testShaderAsset, AZ::RPI::DefaultSupervariantIndex, m_testSrgLayout->GetName()); - Data::Asset srgAssetB = CreateTestSrgAsset("TestSrgB"); - Data::Instance srgB_instance1 = ShaderResourceGroup::Create(srgAssetB); - Data::Instance srgB_instance2 = ShaderResourceGroup::Create(srgAssetB); + auto srgLayoutB = CreateTestSrgLayout("TestSrgB"); + auto shaderAssetB = CreateTestShaderAsset(Uuid::CreateRandom(), srgLayoutB); + Data::Instance srgB_instance1 = ShaderResourceGroup::Create(shaderAssetB, AZ::RPI::DefaultSupervariantIndex, srgLayoutB->GetName()); + Data::Instance srgB_instance2 = ShaderResourceGroup::Create(shaderAssetB, AZ::RPI::DefaultSupervariantIndex, srgLayoutB->GetName()); // All instances based on the same asset should have the same pool @@ -106,7 +100,7 @@ namespace UnitTest TEST_F(ShaderResourceGroupGeneralTests, TestLayoutWrapperFunctions) { - Data::Instance testSrg = ShaderResourceGroup::Create(m_testSrgAsset); + Data::Instance testSrg = ShaderResourceGroup::Create(m_testShaderAsset, AZ::RPI::DefaultSupervariantIndex, m_testSrgLayout->GetName()); EXPECT_TRUE(testSrg->GetLayout()); EXPECT_EQ(testSrg->FindShaderInputBufferIndex(Name{ "MyBufferA" }), testSrg->GetLayout()->FindShaderInputBufferIndex(Name{ "MyBufferA" })); diff --git a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupImageTests.cpp b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupImageTests.cpp index 57fa88d5a2..1e95bceec4 100644 --- a/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupImageTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/ShaderResourceGroup/ShaderResourceGroupImageTests.cpp @@ -12,9 +12,9 @@ #include #include +#include #include -#include namespace UnitTest { @@ -25,7 +25,8 @@ namespace UnitTest : public RPITestFixture { protected: - Data::Asset m_testSrgAsset; + RHI::Ptr m_testSrgLayout; + Data::Asset m_testShaderAsset; Data::Instance m_testSrg; Data::Instance m_whiteImage; Data::Instance m_blackImage; @@ -40,29 +41,27 @@ namespace UnitTest const RHI::ShaderInputImageIndex m_indexImageArray{ 2 }; const RHI::ShaderInputImageIndex m_indexImageInvalid{ 3 }; - Data::Asset CreateTestSrgAsset(const char* nameId) + RHI::Ptr CreateTestSrgLayout(const char* nameId) { - Data::Asset asset; - ShaderResourceGroupAssetCreator srgCreator; + RHI::Ptr srgLayout = RHI::ShaderResourceGroupLayout::Create(); - srgCreator.Begin(Uuid::CreateRandom(), Name(nameId)); - srgCreator.BeginAPI(RHI::Factory::Get().GetType()); - srgCreator.SetBindingSlot(0); - srgCreator.AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageA" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 1 }); - srgCreator.AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageB" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 2 }); - srgCreator.AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageArray" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 3, 3 }); - srgCreator.EndAPI(); - srgCreator.End(asset); + srgLayout->SetName(Name(nameId)); + srgLayout->SetBindingSlot(0); + srgLayout->AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageA" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 1 }); + srgLayout->AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageB" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 1, 2 }); + srgLayout->AddShaderInput(RHI::ShaderInputImageDescriptor{ Name{ "MyImageArray" }, RHI::ShaderInputImageAccess::Read, RHI::ShaderInputImageType::Image2D, 3, 3 }); + srgLayout->Finalize(); - return asset; + return srgLayout; } void SetUp() override { RPITestFixture::SetUp(); - m_testSrgAsset = CreateTestSrgAsset("TestSrg"); - m_testSrg = ShaderResourceGroup::Create(m_testSrgAsset); + m_testSrgLayout = CreateTestSrgLayout("TestSrg"); + m_testShaderAsset = CreateTestShaderAsset(Uuid::CreateRandom(), m_testSrgLayout); + m_testSrg = ShaderResourceGroup::Create(m_testShaderAsset, AZ::RPI::DefaultSupervariantIndex, m_testSrgLayout->GetName()); m_whiteImage = RPI::ImageSystemInterface::Get()->GetSystemImage(RPI::SystemImage::White); m_blackImage = RPI::ImageSystemInterface::Get()->GetSystemImage(RPI::SystemImage::Black); @@ -84,7 +83,8 @@ namespace UnitTest void TearDown() override { - m_testSrgAsset.Reset(); + m_testShaderAsset.Reset(); + m_testSrgLayout = nullptr; m_testSrg = nullptr; m_threeImages = AZStd::vector>(); @@ -155,7 +155,7 @@ namespace UnitTest // Test changing back to null... - ProcessQueuedSrgCompilations(m_testSrgAsset); + ProcessQueuedSrgCompilations(m_testShaderAsset, m_testSrgLayout->GetName()); EXPECT_TRUE(m_testSrg->SetImage(m_indexImageA, nullptr)); m_testSrg->Compile(); @@ -181,7 +181,7 @@ namespace UnitTest // Test changing back to null... - ProcessQueuedSrgCompilations(m_testSrgAsset); + ProcessQueuedSrgCompilations(m_testShaderAsset, m_testSrgLayout->GetName()); EXPECT_TRUE(m_testSrg->SetImage(m_indexImageArray, nullptr, 1)); m_testSrg->Compile(); @@ -209,7 +209,7 @@ namespace UnitTest // Test replacing just two images including changing one image back to null... - ProcessQueuedSrgCompilations(m_testSrgAsset); + ProcessQueuedSrgCompilations(m_testShaderAsset, m_testSrgLayout->GetName()); AZStd::vector> alternateImages = { m_blackImage, nullptr }; @@ -355,7 +355,7 @@ namespace UnitTest // Test replacing just two image views including changing one back to null... - ProcessQueuedSrgCompilations(m_testSrgAsset); + ProcessQueuedSrgCompilations(m_testShaderAsset, m_testSrgLayout->GetName()); AZStd::vector alternateImageViews = { m_imageViewB.get(), nullptr }; diff --git a/Gems/Atom/RPI/Code/atom_rpi_edit_files.cmake b/Gems/Atom/RPI/Code/atom_rpi_edit_files.cmake index 2fcae8be90..a8d3a0230d 100644 --- a/Gems/Atom/RPI/Code/atom_rpi_edit_files.cmake +++ b/Gems/Atom/RPI/Code/atom_rpi_edit_files.cmake @@ -35,7 +35,6 @@ set(FILES Include/Atom/RPI.Edit/Shader/ShaderSourceData.h Include/Atom/RPI.Edit/Shader/ShaderVariantListSourceData.h Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator.h - Include/Atom/RPI.Edit/Shader/ShaderVariantAssetCreator2.h Include/Atom/RPI.Edit/Shader/ShaderVariantTreeAssetCreator.h Source/RPI.Edit/Material/LuaMaterialFunctorSourceData.cpp Source/RPI.Edit/Material/MaterialTypeSourceData.cpp @@ -53,7 +52,6 @@ set(FILES Source/RPI.Edit/Shader/ShaderSourceData.cpp Source/RPI.Edit/Shader/ShaderVariantListSourceData.cpp Source/RPI.Edit/Shader/ShaderVariantAssetCreator.cpp - Source/RPI.Edit/Shader/ShaderVariantAssetCreator2.cpp Source/RPI.Edit/Shader/ShaderVariantTreeAssetCreator.cpp Source/RPI.Edit/Common/AssetUtils.cpp Source/RPI.Edit/Common/AssetAliasesSourceData.cpp diff --git a/Gems/Atom/RPI/Code/atom_rpi_public_files.cmake b/Gems/Atom/RPI/Code/atom_rpi_public_files.cmake index a1d98bbd38..6461edd291 100644 --- a/Gems/Atom/RPI/Code/atom_rpi_public_files.cmake +++ b/Gems/Atom/RPI/Code/atom_rpi_public_files.cmake @@ -82,11 +82,8 @@ set(FILES Include/Atom/RPI.Public/Pass/Specific/SelectorPass.h Include/Atom/RPI.Public/Pass/Specific/SwapChainPass.h Include/Atom/RPI.Public/Shader/Shader.h - Include/Atom/RPI.Public/Shader/Shader2.h Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus.h - Include/Atom/RPI.Public/Shader/ShaderReloadNotificationBus2.h Include/Atom/RPI.Public/Shader/ShaderVariant.h - Include/Atom/RPI.Public/Shader/ShaderVariant2.h Include/Atom/RPI.Public/Shader/ShaderReloadDebugTracker.h Include/Atom/RPI.Public/Shader/ShaderResourceGroup.h Include/Atom/RPI.Public/Shader/ShaderResourceGroupPool.h @@ -160,9 +157,7 @@ set(FILES Source/RPI.Public/Pass/Specific/SelectorPass.cpp Source/RPI.Public/Pass/Specific/SwapChainPass.cpp Source/RPI.Public/Shader/Shader.cpp - Source/RPI.Public/Shader/Shader2.cpp Source/RPI.Public/Shader/ShaderVariant.cpp - Source/RPI.Public/Shader/ShaderVariant2.cpp Source/RPI.Public/Shader/ShaderReloadDebugTracker.cpp Source/RPI.Public/Shader/ShaderResourceGroup.cpp Source/RPI.Public/Shader/ShaderResourceGroupPool.cpp diff --git a/Gems/Atom/RPI/Code/atom_rpi_reflect_files.cmake b/Gems/Atom/RPI/Code/atom_rpi_reflect_files.cmake index 3a4e1cacc6..9986f7ebae 100644 --- a/Gems/Atom/RPI/Code/atom_rpi_reflect_files.cmake +++ b/Gems/Atom/RPI/Code/atom_rpi_reflect_files.cmake @@ -79,21 +79,15 @@ set(FILES Include/Atom/RPI.Reflect/Shader/ShaderCommonTypes.h Include/Atom/RPI.Reflect/Shader/ShaderAsset.h Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator.h - Include/Atom/RPI.Reflect/Shader/ShaderAsset2.h - Include/Atom/RPI.Reflect/Shader/ShaderAssetCreator2.h Include/Atom/RPI.Reflect/Shader/ShaderInputContract.h Include/Atom/RPI.Reflect/Shader/ShaderOptionGroup.h Include/Atom/RPI.Reflect/Shader/ShaderOptionGroupLayout.h Include/Atom/RPI.Reflect/Shader/ShaderOutputContract.h Include/Atom/RPI.Reflect/Shader/ShaderOptionTypes.h - Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAsset.h - Include/Atom/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.h Include/Atom/RPI.Reflect/Shader/ShaderVariantKey.h Include/Atom/RPI.Reflect/Shader/ShaderVariantTreeAsset.h Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset.h - Include/Atom/RPI.Reflect/Shader/ShaderVariantAsset2.h Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder.h - Include/Atom/RPI.Reflect/Shader/IShaderVariantFinder2.h Include/Atom/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.h Include/Atom/RPI.Reflect/System/AnyAsset.h Include/Atom/RPI.Reflect/System/AssetAliases.h @@ -155,18 +149,13 @@ set(FILES Source/RPI.Reflect/Shader/ShaderStageType.cpp Source/RPI.Reflect/Shader/ShaderAsset.cpp Source/RPI.Reflect/Shader/ShaderAssetCreator.cpp - Source/RPI.Reflect/Shader/ShaderAsset2.cpp - Source/RPI.Reflect/Shader/ShaderAssetCreator2.cpp Source/RPI.Reflect/Shader/ShaderInputContract.cpp Source/RPI.Reflect/Shader/ShaderOptionGroup.cpp Source/RPI.Reflect/Shader/ShaderOptionGroupLayout.cpp Source/RPI.Reflect/Shader/ShaderOutputContract.cpp - Source/RPI.Reflect/Shader/ShaderResourceGroupAsset.cpp - Source/RPI.Reflect/Shader/ShaderResourceGroupAssetCreator.cpp Source/RPI.Reflect/Shader/ShaderVariantKey.cpp Source/RPI.Reflect/Shader/ShaderVariantTreeAsset.cpp Source/RPI.Reflect/Shader/ShaderVariantAsset.cpp - Source/RPI.Reflect/Shader/ShaderVariantAsset2.cpp Source/RPI.Reflect/Shader/PrecompiledShaderAssetSourceData.cpp Source/RPI.Reflect/System/AnyAsset.cpp Source/RPI.Reflect/System/AssetAliases.cpp diff --git a/Gems/Atom/RPI/Code/atom_rpi_tests_files.cmake b/Gems/Atom/RPI/Code/atom_rpi_tests_files.cmake index 2c8035a68b..a81442f330 100644 --- a/Gems/Atom/RPI/Code/atom_rpi_tests_files.cmake +++ b/Gems/Atom/RPI/Code/atom_rpi_tests_files.cmake @@ -29,6 +29,8 @@ set(FILES Tests/Common/RHI/Factory.h Tests/Common/RHI/Stubs.cpp Tests/Common/RHI/Stubs.h + Tests/Common/ShaderAssetTestUtils.cpp + Tests/Common/ShaderAssetTestUtils.h Tests/Image/StreamingImageTests.cpp Tests/Material/LuaMaterialFunctorTests.cpp Tests/Material/MaterialTypeAssetTests.cpp @@ -45,7 +47,6 @@ set(FILES Tests/Model/ModelTests.cpp Tests/Pass/PassTests.cpp Tests/Shader/ShaderTests.cpp - Tests/ShaderResourceGroup/ShaderResourceGroupAssetTests.cpp Tests/ShaderResourceGroup/ShaderResourceGroupBufferTests.cpp Tests/ShaderResourceGroup/ShaderResourceGroupConstantBufferTests.cpp Tests/ShaderResourceGroup/ShaderResourceGroupImageTests.cpp diff --git a/Gems/AtomLyIntegration/AtomBridge/Code/Source/Editor/AssetCollectionAsyncLoaderTestComponent.cpp b/Gems/AtomLyIntegration/AtomBridge/Code/Source/Editor/AssetCollectionAsyncLoaderTestComponent.cpp index 0f73828186..4ab24dac92 100644 --- a/Gems/AtomLyIntegration/AtomBridge/Code/Source/Editor/AssetCollectionAsyncLoaderTestComponent.cpp +++ b/Gems/AtomLyIntegration/AtomBridge/Code/Source/Editor/AssetCollectionAsyncLoaderTestComponent.cpp @@ -23,7 +23,6 @@ #include #include #include -#include namespace AZ { @@ -162,10 +161,6 @@ namespace AZ { return azrtti_typeid(); } - else if (extension == "azsrg") - { - return azrtti_typeid(); - } AZ_Error(AssetCollectionAsyncLoaderTestComponentName, false, "Do not know the asset type for file: %s", assetPath.c_str()); return {}; @@ -269,12 +264,6 @@ namespace AZ auto asset = m_assetCollectionAsyncLoader->GetAsset(assetPath); return (bool)asset && asset.GetId().IsValid() && asset.IsReady() && asset->GetTotalImageDataSize(); } - else if (assetType == azrtti_typeid()) - { - auto asset = m_assetCollectionAsyncLoader->GetAsset(assetPath); - return (bool)asset && asset.GetId().IsValid() && asset.IsReady() && !asset->GetName().IsEmpty(); - } - AZ_Error(AssetCollectionAsyncLoaderTestComponentName, false, "Can not handle asset type for assetPath: %s", assetPath.c_str()); return false; diff --git a/Gems/LyShine/Code/Source/Draw2d.cpp b/Gems/LyShine/Code/Source/Draw2d.cpp index 6feb47419d..527f7980cc 100644 --- a/Gems/LyShine/Code/Source/Draw2d.cpp +++ b/Gems/LyShine/Code/Source/Draw2d.cpp @@ -123,7 +123,7 @@ void CDraw2d::OnBootstrapSceneReady([[maybe_unused]] AZ::RPI::Scene* bootstrapSc static const char textureIndexName[] = "m_texture"; static const char worldToProjIndexName[] = "m_worldToProj"; AZ::Data::Instance drawSrg = m_dynamicDraw->NewDrawSrg(); - const AZ::RHI::ShaderResourceGroupLayout* layout = drawSrg->GetAsset()->GetLayout(); + const AZ::RHI::ShaderResourceGroupLayout* layout = drawSrg->GetLayout(); m_shaderData.m_imageInputIndex = layout->FindShaderInputImageIndex(AZ::Name(textureIndexName)); AZ_Error("Draw2d", m_shaderData.m_imageInputIndex.IsValid(), "Failed to find shader input constant %s.", textureIndexName); diff --git a/Gems/LyShine/Code/Source/UiRenderer.cpp b/Gems/LyShine/Code/Source/UiRenderer.cpp index 57acbed5d5..6971aa3fc9 100644 --- a/Gems/LyShine/Code/Source/UiRenderer.cpp +++ b/Gems/LyShine/Code/Source/UiRenderer.cpp @@ -151,7 +151,7 @@ void UiRenderer::CacheShaderData(const AZ::RHI::Ptr static const char worldToProjIndexName[] = "m_worldToProj"; static const char isClampIndexName[] = "m_isClamp"; AZ::Data::Instance drawSrg = dynamicDraw->NewDrawSrg(); - const AZ::RHI::ShaderResourceGroupLayout* layout = drawSrg->GetAsset()->GetLayout(); + const AZ::RHI::ShaderResourceGroupLayout* layout = drawSrg->GetLayout(); m_uiShaderData.m_imageInputIndex = layout->FindShaderInputImageIndex(AZ::Name(textureIndexName)); AZ_Error(LogName, m_uiShaderData.m_imageInputIndex.IsValid(), "Failed to find shader input constant %s.", textureIndexName); diff --git a/Registry/AssetProcessorPlatformConfig.setreg b/Registry/AssetProcessorPlatformConfig.setreg index 2147842da7..0e91bec8a7 100644 --- a/Registry/AssetProcessorPlatformConfig.setreg +++ b/Registry/AssetProcessorPlatformConfig.setreg @@ -471,17 +471,11 @@ "params": "copy", "productAssetType": "{F3BE5CAB-85B7-44B7-9495-863863F6B267}" }, - // Precompiled shader srg - "RC azsrg": { - "glob": "*.azsrg", - "params": "copy", - "productAssetType": "{F8C9F4AE-3F6A-45AD-B4FB-0CA415FCC2E1}" - }, // Precompiled shader variant "RC azshadervariant": { "glob": "*.azshadervariant", "params": "copy", - "productAssetType": "{9F4D654B-4439-4C61-8DCD-F1C7C5560768}" + "productAssetType": "{51BED815-36D8-410E-90F0-1FA9FF765FBA}" } } } From f775ba7df83730870e71644da835a5660cc72be7 Mon Sep 17 00:00:00 2001 From: Steve Pham <82231385+spham-amzn@users.noreply.github.com> Date: Fri, 11 Jun 2021 08:12:49 -0700 Subject: [PATCH 138/205] Provide more informative error messages on android related environment / device related issues (#1261) - If gradle is installed, but JAVA_HOME is not set properly, no detail message is given. Bubble up the error message as part of the description - When deploying a newer API Level APK (30) to an API Level 29 device, a python callstack is given without any detail of the error. Now it will report the actual error that is from the adb call so the user can act upon it --- .../Platform/Android/android_deployment.py | 14 +++++++++----- cmake/Tools/common.py | 18 +++++++++++++----- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/cmake/Tools/Platform/Android/android_deployment.py b/cmake/Tools/Platform/Android/android_deployment.py index eb8361ec18..82d14a2746 100755 --- a/cmake/Tools/Platform/Android/android_deployment.py +++ b/cmake/Tools/Platform/Android/android_deployment.py @@ -184,11 +184,15 @@ class AndroidDeployment(object): call_arguments.extend(arg_list) - output = subprocess.check_output(call_arguments, - shell=True, - stderr=subprocess.DEVNULL).decode(common.DEFAULT_TEXT_READ_ENCODING, - common.ENCODING_ERROR_HANDLINGS) - return output + try: + output = subprocess.check_output(call_arguments, + shell=True, + stderr=subprocess.PIPE).decode(common.DEFAULT_TEXT_READ_ENCODING, + common.ENCODING_ERROR_HANDLINGS) + return output + except subprocess.CalledProcessError as err: + raise common.LmbrCmdError(err.stderr.decode(common.DEFAULT_TEXT_READ_ENCODING, + common.ENCODING_ERROR_HANDLINGS)) def adb_shell(self, command, device_id): """ diff --git a/cmake/Tools/common.py b/cmake/Tools/common.py index 1990041c86..cf4631c227 100755 --- a/cmake/Tools/common.py +++ b/cmake/Tools/common.py @@ -274,6 +274,8 @@ def verify_tool(override_tool_path, tool_name, tool_filename, argument_name, too :return: Tuple of the resolved tool version and the resolved override tool path if provided """ + tool_source = tool_name + try: # Use either the provided gradle override or the gradle in the path environment if override_tool_path: @@ -306,18 +308,17 @@ def verify_tool(override_tool_path, tool_name, tool_filename, argument_name, too tool_desc = f"{tool_name} path provided in the command line argument '{argument_name}={override_tool_path}' " else: resolved_override_tool_path = None - tool_source = tool_name tool_desc = f"installed {tool_name} in the system path" # Extract the version and verify version_output = subprocess.check_output([tool_source, tool_version_argument], - shell=True).decode(DEFAULT_TEXT_READ_ENCODING, - ENCODING_ERROR_HANDLINGS) + shell=True, + stderr=subprocess.PIPE).decode(DEFAULT_TEXT_READ_ENCODING, + ENCODING_ERROR_HANDLINGS) version_match = tool_version_regex.search(version_output) if not version_match: raise RuntimeError() - # Since we are doing a compare, strip out any non-numeric and non . character from the version otherwise we will get a TypeError on the LooseVersion comparison result_version_str = re.sub(r"[^\.0-9]", "", str(version_match.group(1)).strip()) result_version = LooseVersion(result_version_str) @@ -331,7 +332,14 @@ def verify_tool(override_tool_path, tool_name, tool_filename, argument_name, too return result_version, resolved_override_tool_path - except (CalledProcessError, WindowsError, RuntimeError) as e: + except CalledProcessError as e: + error_msg = e.output.decode(DEFAULT_TEXT_READ_ENCODING, + ENCODING_ERROR_HANDLINGS) + raise LmbrCmdError(f"{tool_name} cannot be resolved or there was a problem determining its version number. " + f"Either make sure its in the system path environment or a valid path is passed in " + f"through the {argument_name} argument.\n{error_msg}", + ERROR_CODE_ERROR_NOT_SUPPORTED) + except (WindowsError, RuntimeError) as e: logging.error(f"Call to '{tool_source}' resulted in error: {e}") raise LmbrCmdError(f"{tool_name} cannot be resolved or there was a problem determining its version number. " f"Either make sure its in the system path environment or a valid path is passed in " From a995aee35a60d93ab3ffc826afe024a8325b0814 Mon Sep 17 00:00:00 2001 From: chcurran Date: Fri, 11 Jun 2021 09:47:44 -0700 Subject: [PATCH 139/205] Properties__Index and Properties__NewIndex upvalue counts no reflect removal of net binding component --- .../AzFramework/AzFramework/Script/ScriptComponent.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Code/Framework/AzFramework/AzFramework/Script/ScriptComponent.cpp b/Code/Framework/AzFramework/AzFramework/Script/ScriptComponent.cpp index 4f8da821c1..d80094a071 100644 --- a/Code/Framework/AzFramework/AzFramework/Script/ScriptComponent.cpp +++ b/Code/Framework/AzFramework/AzFramework/Script/ScriptComponent.cpp @@ -693,11 +693,11 @@ namespace AzFramework // set the __index so we can read values in case we change the script // after we export the component lua_pushliteral(lua, "__index"); - lua_pushcclosure(lua, &Internal::Properties__Index, 1); + lua_pushcclosure(lua, &Internal::Properties__Index, 0); lua_rawset(lua, -3); lua_pushliteral(lua, "__newindex"); - lua_pushcclosure(lua, &Internal::Properties__NewIndex, 1); + lua_pushcclosure(lua, &Internal::Properties__NewIndex, 0); lua_rawset(lua, -3); } lua_pop(lua, 1); // pop the properties table (or the nil value) @@ -900,11 +900,11 @@ namespace AzFramework // Ensure that this instance of Properties table has the proper __index and __newIndex metamethods. lua_newtable(lua); // This new table will become the Properties instance metatable. Stack: ScriptRootTable PropertiesTable EntityTable "Properties" {} {} lua_pushliteral(lua, "__index"); // Stack: ScriptRootTable PropertiesTable EntityTable "Properties" {} {} __index - lua_pushcclosure(lua, &Internal::Properties__Index, 1); // Stack: ScriptRootTable PropertiesTable EntityTable "Properties" {} {} __index function + lua_pushcclosure(lua, &Internal::Properties__Index, 0); // Stack: ScriptRootTable PropertiesTable EntityTable "Properties" {} {} __index function lua_rawset(lua, -3); // Stack: ScriptRootTable PropertiesTable EntityTable "Properties" {} {__index=Internal::Properties__Index} lua_pushliteral(lua, "__newindex"); - lua_pushcclosure(lua, &Internal::Properties__NewIndex, 1); + lua_pushcclosure(lua, &Internal::Properties__NewIndex, 0); lua_rawset(lua, -3); // Stack: ScriptRootTable PropertiesTable EntityTable "Properties" {} {__index=Internal::Properties__Index __newindex=Internal::Properties__NewIndex} lua_setmetatable(lua, -2); // Stack: ScriptRootTable PropertiesTable EntityTable "Properties" {Meta{__index=Internal::Properties__Index __newindex=Internal::Properties__NewIndex} } From 0c7605c9b697522042f3161393d719dc76494ad8 Mon Sep 17 00:00:00 2001 From: Eric Phister <52085794+amzn-phist@users.noreply.github.com> Date: Fri, 11 Jun 2021 12:00:55 -0500 Subject: [PATCH 140/205] Update minimum required CMake version to 3.20 (#1253) * Update the minimum CMake version to 3.20 Sets the cmake_minimum_required calls to version 3.20 and updates the README.md to point at the general CMake download page instead of a stale link. * Remove unnecessary cmake minimum version It was using an old 3.0 version and can be removed. * Additional updates to CMake 3.20, build scripts Updates the version and remove logic to find a CMake in 3rdParty. * Removing backup path to ninja path in the build_ninja_windows.cmd The backup path for finding ninja was coming from the Perforce depot which isn't available for o3de builds. * Removing reference to 3rdParty Android SDK 29 from the build and run unit test script The Android SDK is not part of the new 3rdParty system and users are expected to install the Android SDK on their own in order to build the engine for Android. * Update the get_python scripts and README No longer try to append a CMake path to LY_3RDPARTY_PATH, but do still support LY_CMAKE_PATH because there are still uses of it. Remove mention of an LY_3RDPARTY_PATH-relative CMake path from the README.md. * Removing LY_NINJA_PATH from the build_ninja_windows.cmd Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> --- AutomatedTesting/CMakeLists.txt | 2 +- CMakeLists.txt | 13 ++-------- Code/Framework/AzAutoGen/CMakeLists.txt | 2 -- README.md | 4 ++-- .../DefaultProject/Template/CMakeLists.txt | 2 +- .../Android/generate_android_project.py | 2 +- python/get_python.bat | 13 ++++------ python/get_python.cmake | 2 +- python/get_python.sh | 22 +++++------------ .../Android/build_and_run_unit_tests.cmd | 3 --- scripts/build/Platform/Linux/env_linux.sh | 24 ++++--------------- scripts/build/Platform/Mac/env_mac.sh | 12 ++-------- .../Platform/Windows/build_ninja_windows.cmd | 11 +-------- .../build/Platform/Windows/env_windows.cmd | 13 ++-------- 14 files changed, 28 insertions(+), 97 deletions(-) diff --git a/AutomatedTesting/CMakeLists.txt b/AutomatedTesting/CMakeLists.txt index e239ba7674..9a870b1279 100644 --- a/AutomatedTesting/CMakeLists.txt +++ b/AutomatedTesting/CMakeLists.txt @@ -10,7 +10,7 @@ # if(NOT PROJECT_NAME) - cmake_minimum_required(VERSION 3.19) + cmake_minimum_required(VERSION 3.20) project(AutomatedTesting LANGUAGES C CXX VERSION 1.0.0.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ca9aeacb8..0585089325 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,17 +9,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # -# Cmake version 3.19 is the minimum version needed for all of Open 3D Engine's supported platforms -cmake_minimum_required(VERSION 3.19) - -# CMP0111 introduced in 3.19 has a bug that produces the policy to warn every time there is an -# INTERFACE IMPORTED library. We use this type of libraries for handling 3rdParty. The rest of -# the documentation states that INTERFACE IMPORTED libraries do not require to set locations, but -# the policy still warns about it. Issue: https://gitlab.kitware.com/cmake/cmake/-/issues/21470 -# The issue was fixed in 3.19.1 so we just disable the policy for 3.19 -if(CMAKE_VERSION VERSION_EQUAL 3.19) - cmake_policy(SET CMP0111 OLD) -endif() +# Cmake version 3.20 is the minimum version needed for all of Open 3D Engine's supported platforms +cmake_minimum_required(VERSION 3.20) include(cmake/LySet.cmake) include(cmake/Version.cmake) diff --git a/Code/Framework/AzAutoGen/CMakeLists.txt b/Code/Framework/AzAutoGen/CMakeLists.txt index 925e7aed29..4c79f268fe 100644 --- a/Code/Framework/AzAutoGen/CMakeLists.txt +++ b/Code/Framework/AzAutoGen/CMakeLists.txt @@ -9,8 +9,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # -cmake_minimum_required(VERSION 3.0) - ly_add_target( NAME AzAutoGen HEADERONLY NAMESPACE AZ diff --git a/README.md b/README.md index 0c59837a62..7a9751529f 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ If you have the Git credential manager core or other credential helpers installe * Game Development with C++ * MSVC v142 - VS 2019 C++ x64/x86 * C++ 2019 redistributable update -* CMake 3.19.1 minimum: [https://cmake.org/files/LatestRelease/cmake-3.19.1-win64-x64.msi](https://cmake.org/files/LatestRelease/cmake-3.19.1-win64-x64.msi) +* CMake 3.20 minimum: [https://cmake.org/download/](https://cmake.org/download/) #### Optional @@ -105,7 +105,7 @@ If you have the Git credential manager core or other credential helpers installe 1. Install the following redistributables to the following: - Visual Studio and VC++ redistributable can be installed to any location - - CMake can be installed to any location, as long as it's available in the system path, otherwise it can be installed to: `<3rdParty Path>\CMake\3.19.1` + - CMake can be installed to any location, as long as it's available in the system path - WWise can be installed anywhere, but you will need to set an environment variable for CMake to detect it: `set LY_WWISE_INSTALL_PATH=` 1. Navigate into the repo folder, then download the python runtime with this command diff --git a/Templates/DefaultProject/Template/CMakeLists.txt b/Templates/DefaultProject/Template/CMakeLists.txt index 50e3a528e6..4dcfc5325b 100644 --- a/Templates/DefaultProject/Template/CMakeLists.txt +++ b/Templates/DefaultProject/Template/CMakeLists.txt @@ -12,7 +12,7 @@ # {END_LICENSE} if(NOT PROJECT_NAME) - cmake_minimum_required(VERSION 3.19) + cmake_minimum_required(VERSION 3.20) project(${Name} LANGUAGES C CXX VERSION 1.0.0.0 diff --git a/cmake/Tools/Platform/Android/generate_android_project.py b/cmake/Tools/Platform/Android/generate_android_project.py index d25b62dde8..5a52ac385e 100755 --- a/cmake/Tools/Platform/Android/generate_android_project.py +++ b/cmake/Tools/Platform/Android/generate_android_project.py @@ -48,7 +48,7 @@ def verify_gradle(override_gradle_path=None): CMAKE_ARGUMENT_NAME = '--cmake-install-path' -CMAKE_MIN_VERSION = LooseVersion('3.19.0') +CMAKE_MIN_VERSION = LooseVersion('3.20.0') CMAKE_VERSION_REGEX = re.compile(r'cmake version (\d+.\d+.?\d*)') CMAKE_EXECUTABLE = 'cmake' diff --git a/python/get_python.bat b/python/get_python.bat index e11c4ab92f..b3c3bf9cfb 100644 --- a/python/get_python.bat +++ b/python/get_python.bat @@ -32,18 +32,15 @@ IF !ERRORLEVEL!==0 ( cd /D %CMD_DIR%\.. REM IF you update this logic, update it in scripts/build/Platform/Windows/env_windows.cmd -REM If cmake is not found on path, try a known location, using LY_CMAKE_PATH as the first fallback +REM If cmake is not found on path, try a known location at LY_CMAKE_PATH where /Q cmake IF NOT !ERRORLEVEL!==0 ( IF "%LY_CMAKE_PATH%"=="" ( - IF "%LY_3RDPARTY_PATH%"=="" ( - ECHO ERROR: CMake was not found on the PATH and LY_3RDPARTY_PATH is not defined. - ECHO Please ensure CMake is on the path or set LY_3RDPARTY_PATH or LY_CMAKE_PATH. - EXIT /b 1 - ) - SET LY_CMAKE_PATH=!LY_3RDPARTY_PATH!\CMake\3.19.1\Windows\bin - echo CMake was not found on the path, will use known location: !LY_CMAKE_PATH! + ECHO ERROR: CMake was not found on the PATH and LY_CMAKE_PATH is not defined. + ECHO Please ensure CMake is on the path or set LY_CMAKE_PATH. + EXIT /b 1 ) + PATH !LY_CMAKE_PATH!;!PATH! where /Q cmake if NOT !ERRORLEVEL!==0 ( diff --git a/python/get_python.cmake b/python/get_python.cmake index 5d6bf6fd96..198d3f0ba3 100644 --- a/python/get_python.cmake +++ b/python/get_python.cmake @@ -16,7 +16,7 @@ # example: # cmake -DPAL_PLATFORM_NAME:string=Windows -DLY_3RDPARTY_PATH:string=%CMD_DIR% -P get_python.cmake -cmake_minimum_required(VERSION 3.17) +cmake_minimum_required(VERSION 3.20) if(LY_3RDPARTY_PATH) file(TO_CMAKE_PATH ${LY_3RDPARTY_PATH} LY_3RDPARTY_PATH) diff --git a/python/get_python.sh b/python/get_python.sh index 780f1bbdd8..9b774d91fc 100755 --- a/python/get_python.sh +++ b/python/get_python.sh @@ -42,31 +42,21 @@ then CMAKE_FOLDER_RELATIVE_TO_ROOT=CMake.app/Contents/bin else PAL=Linux - CMAKE_FOLDER_RELATIVE_TO_ROOT=bin + CMAKE_FOLDER_RELATIVE_TO_ROOT=bin fi if ! [ -x "$(command -v cmake)" ]; then - # Note that LY_3RDPARTY_PATH is only required here if you have no cmake in your PATH. if [ -z ${LY_CMAKE_PATH} ]; then - if [ -z ${LY_3RDPARTY_PATH} ]; then - echo "ERROR: Could not find cmake on the PATH and LY_3RDPARTY_PATH is not defined, cannot continue." - echo "Please add cmake to your PATH, or define $LY_3RDPARTY_PATH" - exit 1 - fi - LY_CMAKE_PATH=$LY_3RDPARTY_PATH/CMake/3.19.1/$PAL/$CMAKE_FOLDER_RELATIVE_TO_ROOT - # if you change the version number, change it also in: - # scripts/build/Platform/Mac/env_mac.sh - # and - # scripts/build/Platform/Linux/env_linux.sh + echo "ERROR: Could not find cmake on the PATH and LY_CMAKE_PATH is not defined, cannot continue." + echo "Please add cmake to your PATH, or define LY_CMAKE_PATH" + exit 1 fi - + export PATH=$LY_CMAKE_PATH:$PATH if ! [ -x "$(command -v cmake)" ]; then - echo "ERROR: Could not find cmake on the PATH or at the known location: $CMAKE_KNOWN_LOCATION" + echo "ERROR: Could not find cmake on the PATH or at the known location: $LY_CMAKE_PATH" echo "Please add cmake to the environment PATH or place it at the above known location." exit 1 - else - echo "CMake not found on path, but was found in the known 3rd Party location." fi fi diff --git a/scripts/build/Platform/Android/build_and_run_unit_tests.cmd b/scripts/build/Platform/Android/build_and_run_unit_tests.cmd index fbb31f95ec..5a51621f40 100644 --- a/scripts/build/Platform/Android/build_and_run_unit_tests.cmd +++ b/scripts/build/Platform/Android/build_and_run_unit_tests.cmd @@ -20,9 +20,6 @@ IF NOT EXIST "%LY_3RDPARTY_PATH%" ( GOTO :error ) -IF NOT EXIST "%LY_ANDROID_SDK%" ( - SET LY_ANDROID_SDK=!LY_3RDPARTY_PATH!/android-sdk/platform-29 -) IF NOT EXIST "%LY_ANDROID_SDK%" ( ECHO [ci_build] FAIL: LY_ANDROID_SDK=!LY_ANDROID_SDK! GOTO :error diff --git a/scripts/build/Platform/Linux/env_linux.sh b/scripts/build/Platform/Linux/env_linux.sh index 1d7324778c..85bdf0a745 100755 --- a/scripts/build/Platform/Linux/env_linux.sh +++ b/scripts/build/Platform/Linux/env_linux.sh @@ -13,27 +13,11 @@ set -o errexit # exit on the first failure encountered if ! command -v cmake &> /dev/null; then - if [[ -z $LY_CMAKE_PATH ]]; then LY_CMAKE_PATH=${LY_3RDPARTY_PATH}/CMake/3.19.1/Linux/bin; fi - if [[ ! -d $LY_CMAKE_PATH ]]; then - echo "[ci_build] CMake path not found" - exit 1 - fi - PATH=${LY_CMAKE_PATH}:${PATH} - if ! command -v cmake &> /dev/null; then - echo "[ci_build] CMake not found" - exit 1 - fi + echo "[ci_build] CMake not found" + exit 1 fi if ! command -v ninja &> /dev/null; then - if [[ -z $LY_NINJA_PATH ]]; then LY_NINJA_PATH=${LY_3RDPARTY_PATH}/ninja/1.10.1/Linux; fi - if [[ ! -d $LY_NINJA_PATH ]]; then - echo "[ci_build] Ninja path not found" - exit 1 - fi - PATH=${LY_NINJA_PATH}:${PATH} - if ! command -v ninja &> /dev/null; then - echo "[ci_build] Ninja not found" - exit 1 - fi + echo "[ci_build] Ninja not found" + exit 1 fi diff --git a/scripts/build/Platform/Mac/env_mac.sh b/scripts/build/Platform/Mac/env_mac.sh index 8f38d1d90b..917329b6af 100755 --- a/scripts/build/Platform/Mac/env_mac.sh +++ b/scripts/build/Platform/Mac/env_mac.sh @@ -13,14 +13,6 @@ set -o errexit # exit on the first failure encountered if ! command -v cmake &> /dev/null; then - if [[ -z $LY_CMAKE_PATH ]]; then LY_CMAKE_PATH=${LY_3RDPARTY_PATH}/CMake/3.19.1/Mac/CMake.app/Contents/bin; fi - if [[ ! -d $LY_CMAKE_PATH ]]; then - echo "[ci_build] CMake path not found" - exit 1 - fi - PATH=${LY_CMAKE_PATH}:${PATH} - if ! command -v cmake &> /dev/null; then - echo "[ci_build] CMake not found" - exit 1 - fi + echo "[ci_build] CMake not found" + exit 1 fi diff --git a/scripts/build/Platform/Windows/build_ninja_windows.cmd b/scripts/build/Platform/Windows/build_ninja_windows.cmd index b782cc2357..e1a802e254 100644 --- a/scripts/build/Platform/Windows/build_ninja_windows.cmd +++ b/scripts/build/Platform/Windows/build_ninja_windows.cmd @@ -12,19 +12,10 @@ REM SETLOCAL EnableDelayedExpansion -IF NOT EXIST "%LY_NINJA_PATH%" ( - SET LY_NINJA_PATH=%LY_3RDPARTY_PATH%/ninja/1.10.1/Windows -) -IF NOT EXIST "%LY_NINJA_PATH%" ( - ECHO [ci_build] FAIL: LY_NINJA_PATH=%LY_NINJA_PATH% - GOTO :error -) -PATH %LY_NINJA_PATH%;%PATH% - CALL "%~dp0build_windows.cmd" IF NOT %ERRORLEVEL%==0 GOTO :error EXIT /b 0 :error -EXIT /b 1 \ No newline at end of file +EXIT /b 1 diff --git a/scripts/build/Platform/Windows/env_windows.cmd b/scripts/build/Platform/Windows/env_windows.cmd index 592b2867cd..3ef161c2ef 100644 --- a/scripts/build/Platform/Windows/env_windows.cmd +++ b/scripts/build/Platform/Windows/env_windows.cmd @@ -12,17 +12,8 @@ REM where /Q cmake IF NOT %ERRORLEVEL%==0 ( - IF "%LY_CMAKE_PATH%"=="" (SET LY_CMAKE_PATH=%LY_3RDPARTY_PATH%/CMake/3.19.1/Windows/bin) - IF NOT EXIST !LY_CMAKE_PATH! ( - ECHO [ci_build] CMake path not found - GOTO :error - ) - PATH !LY_CMAKE_PATH!;!PATH! - where /Q cmake - IF NOT !ERRORLEVEL!==0 ( - ECHO [ci_build] CMake not found - GOTO :error - ) + ECHO [ci_build] CMake not found + GOTO :error ) EXIT /b 0 From 119bc95844e638838c6271db51c9abdc949db1f1 Mon Sep 17 00:00:00 2001 From: chcurran Date: Fri, 11 Jun 2021 10:01:11 -0700 Subject: [PATCH 141/205] Update graph to address SPEC-7168 --- .../Weapons/Revolver/Tracer_FX.scriptcanvas | 20687 ++++++++-------- 1 file changed, 9962 insertions(+), 10725 deletions(-) diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/Weapons/Revolver/Tracer_FX.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/Weapons/Revolver/Tracer_FX.scriptcanvas index eebc79585d..f0fff5e69f 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/Weapons/Revolver/Tracer_FX.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/Weapons/Revolver/Tracer_FX.scriptcanvas @@ -3,12 +3,12 @@ - + - + - - + + @@ -16,496 +16,19 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + @@ -539,8 +62,11 @@ + - + + + @@ -574,8 +100,11 @@ + - + + + @@ -609,8 +138,11 @@ + - + + + @@ -644,8 +176,11 @@ + - + + + @@ -679,8 +214,11 @@ + - + + + @@ -714,11 +252,11 @@ + - - + @@ -760,1832 +298,26 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + + + - + @@ -2617,10 +349,13 @@ + - + + + - + @@ -2652,10 +387,13 @@ + - + + + - + @@ -2670,7 +408,7 @@ - + @@ -2692,10 +430,13 @@ + - + + + - + @@ -2705,10 +446,10 @@ - + - + @@ -2727,57 +468,403 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + - + - - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + + + - + @@ -2809,10 +896,13 @@ + - + + + - + @@ -2844,10 +934,13 @@ + - + + + - + @@ -2879,10 +972,13 @@ + - + + + - + @@ -2914,10 +1010,13 @@ + - + + + - + @@ -2949,10 +1048,13 @@ + - + + + - + @@ -2984,22 +1086,22 @@ + - - + - + - + - + @@ -3009,7 +1111,7 @@ - + @@ -3019,7 +1121,7 @@ - + @@ -3030,986 +1132,24 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + @@ -4043,8 +1183,11 @@ + - + + + @@ -4078,8 +1221,11 @@ + - + + + @@ -4113,8 +1259,11 @@ + - + + + @@ -4148,8 +1297,11 @@ + - + + + @@ -4183,8 +1335,11 @@ + - + + + @@ -4218,11 +1373,11 @@ + - - + @@ -4264,24 +1419,26 @@ - + - + - + - + - + - + + + - + @@ -4318,10 +1475,13 @@ + - + + + - + @@ -4358,10 +1518,56 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4393,10 +1599,13 @@ + - + + + - + @@ -4428,6 +1637,7 @@ + @@ -4453,42 +1663,366 @@ - + - + + + + + + + + + + + + + - - + - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + @@ -4522,8 +2056,11 @@ + - + + + @@ -4557,8 +2094,11 @@ + - + + + @@ -4592,8 +2132,11 @@ + - + + + @@ -4627,8 +2170,11 @@ + - + + + @@ -4662,8 +2208,11 @@ + - + + + @@ -4714,8 +2263,11 @@ + - + + + @@ -4749,8 +2301,11 @@ + - + + + @@ -4775,7 +2330,7 @@ - + @@ -4784,8 +2339,11 @@ + - + + + @@ -4819,8 +2377,11 @@ + - + + + @@ -4845,7 +2406,7 @@ - + @@ -4854,6 +2415,7 @@ + @@ -4872,8 +2434,7 @@ - - + @@ -4932,151 +2493,26 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + + + - + @@ -5108,10 +2544,13 @@ + - + + + - + @@ -5143,10 +2582,13 @@ + - + + + - + @@ -5178,10 +2620,13 @@ + - + + + - + @@ -5213,10 +2658,13 @@ + - + + + - + @@ -5248,10 +2696,13 @@ + - + + + - + @@ -5283,22 +2734,22 @@ + - - + - + - + @@ -5308,7 +2759,7 @@ - + @@ -5318,7 +2769,7 @@ - + @@ -5329,22 +2780,590 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -5378,8 +3397,11 @@ + - + + + @@ -5413,8 +3435,11 @@ + - + + + @@ -5448,8 +3473,11 @@ + - + + + @@ -5483,8 +3511,11 @@ + - + + + @@ -5518,8 +3549,11 @@ + - + + + @@ -5553,11 +3587,11 @@ + - - + @@ -5599,868 +3633,24 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + @@ -6494,8 +3684,11 @@ + - + + + @@ -6529,8 +3722,11 @@ + - + + + @@ -6564,8 +3760,11 @@ + - + + + @@ -6599,8 +3798,11 @@ + - + + + @@ -6634,8 +3836,11 @@ + - + + + @@ -6669,11 +3874,11 @@ + - - + @@ -6715,24 +3920,1295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + + + - + @@ -6764,10 +5240,13 @@ + - + + + - + @@ -6799,10 +5278,13 @@ + - + + + - + @@ -6834,10 +5316,13 @@ + - + + + - + @@ -6869,10 +5354,13 @@ + - + + + - + @@ -6904,10 +5392,13 @@ + - + + + - + @@ -6939,22 +5430,22 @@ + - - + - + - + - + @@ -6964,7 +5455,7 @@ - + @@ -6974,7 +5465,7 @@ - + @@ -6985,22 +5476,1868 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -7039,8 +7376,11 @@ + - + + + @@ -7086,8 +7426,11 @@ + - + + + @@ -7121,8 +7464,11 @@ + - + + + @@ -7156,6 +7502,7 @@ + @@ -7186,8 +7533,7 @@ - - + @@ -7201,24 +7547,26 @@ - + - + - + - - + + - + - + + + - + @@ -7229,7 +7577,7 @@ - + @@ -7250,10 +7598,13 @@ + - + + + - + @@ -7264,7 +7615,7 @@ - + @@ -7285,10 +7636,13 @@ + - + + + - + @@ -7297,23 +7651,18 @@ - - - - - - + - + - + @@ -7325,10 +7674,117 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7360,10 +7816,13 @@ + - + + + - + @@ -7395,10 +7854,13 @@ + - + + + - + @@ -7430,10 +7892,13 @@ + - + + + - + @@ -7465,38 +7930,22 @@ + - - - - - - - - - - - - - - - - + + - - - - + - + - + @@ -7506,7 +7955,7 @@ - + @@ -7516,7 +7965,7 @@ - + @@ -7527,24 +7976,26 @@ - + - + - + - - + + - + - + + + - + @@ -7555,7 +8006,7 @@ - + @@ -7576,10 +8027,13 @@ + - + + + - + @@ -7590,7 +8044,7 @@ - + @@ -7611,50 +8065,13 @@ + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -7686,10 +8103,13 @@ + - + + + - + @@ -7721,10 +8141,13 @@ + - + + + - + @@ -7756,10 +8179,13 @@ + - + + + - + @@ -7791,38 +8217,22 @@ + - - - - - - - - - - - - - - - - + + - - - - + - + - + @@ -7832,7 +8242,7 @@ - + @@ -7842,7 +8252,7 @@ - + @@ -7853,24 +8263,168 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + + + - + @@ -7907,10 +8461,13 @@ + - + + + - + @@ -7919,6 +8476,13 @@ + + + + + + + @@ -7947,50 +8511,13 @@ + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -8022,10 +8549,13 @@ + - + + + - + @@ -8057,6 +8587,7 @@ + @@ -8084,235 +8615,13 @@ - - - - - - - - - - - - - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -8323,24 +8632,802 @@ - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8372,165 +9459,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - + - + + + + + + + + + + + + + - - + - - - - - - - - - - + - + - + - + - + + + @@ -8564,8 +9544,11 @@ + - + + + @@ -8599,8 +9582,11 @@ + - + + + @@ -8634,8 +9620,11 @@ + - + + + @@ -8669,8 +9658,11 @@ + - + + + @@ -8704,8 +9696,11 @@ + - + + + @@ -8739,11 +9734,11 @@ + - - + @@ -8785,24 +9780,337 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + + + - + @@ -8834,10 +10142,13 @@ + - + + + - + @@ -8869,10 +10180,13 @@ + - + + + - + @@ -8887,7 +10201,7 @@ - + @@ -8909,10 +10223,13 @@ + - + + + - + @@ -8922,10 +10239,10 @@ - + - + @@ -8944,53 +10261,546 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -9029,8 +10839,11 @@ + - + + + @@ -9069,8 +10882,11 @@ + - + + + @@ -9104,8 +10920,11 @@ + - + + + @@ -9139,6 +10958,7 @@ + @@ -9164,13 +10984,12 @@ - + - - + @@ -9184,196 +11003,686 @@ - + - + - + - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -9381,210 +11690,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + + + @@ -9618,8 +11737,11 @@ + - + + + @@ -9653,8 +11775,11 @@ + - + + + @@ -9688,8 +11813,11 @@ + - + + + @@ -9723,8 +11851,11 @@ + - + + + @@ -9758,8 +11889,11 @@ + - + + + @@ -9793,8 +11927,11 @@ + - + + + @@ -9819,7 +11956,7 @@ - + @@ -9828,8 +11965,11 @@ + - + + + @@ -9863,8 +12003,11 @@ + - + + + @@ -9889,7 +12032,7 @@ - + @@ -9898,8 +12041,11 @@ + - + + + @@ -9933,8 +12079,11 @@ + - + + + @@ -9968,8 +12117,11 @@ + - + + + @@ -10003,8 +12155,11 @@ + - + + + @@ -10038,8 +12193,11 @@ + - + + + @@ -10073,8 +12231,11 @@ + - + + + @@ -10108,8 +12269,11 @@ + - + + + @@ -10143,8 +12307,11 @@ + - + + + @@ -10169,7 +12336,7 @@ - + @@ -10178,11 +12345,11 @@ + - - + @@ -10282,33 +12449,15 @@ - + - + - + - - - - - - - - - - - - - - - - - - - + @@ -10342,15 +12491,33 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -10358,32 +12525,34 @@ - + - + - + - + - + - - + + - + - + + + - + @@ -10393,45 +12562,10 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10439,21 +12573,24 @@ - + - + + - + + + - + @@ -10468,7 +12605,7 @@ - + @@ -10490,10 +12627,13 @@ + - + + + - + @@ -10503,32 +12643,35 @@ - + - + - - + + - + + - + + + - + @@ -10538,10 +12681,10 @@ - + - + @@ -10549,165 +12692,68 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + + + - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - + - + - + - + + + @@ -10741,8 +12787,11 @@ + - + + + @@ -10776,8 +12825,11 @@ + - + + + @@ -10811,11 +12863,11 @@ + - - + @@ -10826,2326 +12878,24 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + @@ -13179,8 +12929,11 @@ + - + + + @@ -13214,8 +12967,11 @@ + - + + + @@ -13249,11 +13005,11 @@ + - - + @@ -13264,24 +13020,24 @@ - + - + - + - + @@ -13289,7 +13045,7 @@ - + @@ -13302,17 +13058,17 @@ - + - + - + @@ -13320,7 +13076,7 @@ - + @@ -13333,17 +13089,17 @@ - + - + - + @@ -13351,7 +13107,7 @@ - + @@ -13364,17 +13120,17 @@ - + - + - + @@ -13382,7 +13138,7 @@ - + @@ -13395,17 +13151,17 @@ - + - + - + @@ -13413,7 +13169,7 @@ - + @@ -13426,17 +13182,17 @@ - + - + - + @@ -13444,7 +13200,7 @@ - + @@ -13457,17 +13213,17 @@ - + - + - + @@ -13475,7 +13231,7 @@ - + @@ -13488,17 +13244,17 @@ - + - + - + @@ -13506,7 +13262,7 @@ - + @@ -13519,17 +13275,17 @@ - + - + - + @@ -13537,7 +13293,7 @@ - + @@ -13550,17 +13306,17 @@ - + - + - + @@ -13568,7 +13324,7 @@ - + @@ -13581,17 +13337,17 @@ - + - + - + @@ -13599,7 +13355,7 @@ - + @@ -13612,17 +13368,17 @@ - + - + - + @@ -13630,7 +13386,7 @@ - + @@ -13643,17 +13399,17 @@ - + - + - + @@ -13661,7 +13417,7 @@ - + @@ -13674,17 +13430,17 @@ - + - + - + @@ -13692,7 +13448,7 @@ - + @@ -13705,17 +13461,17 @@ - + - + - + @@ -13723,7 +13479,7 @@ - + @@ -13736,17 +13492,17 @@ - + - + - + @@ -13754,7 +13510,7 @@ - + @@ -13767,17 +13523,17 @@ - + - + - + @@ -13785,7 +13541,7 @@ - + @@ -13798,17 +13554,17 @@ - + - + - + @@ -13816,7 +13572,7 @@ - + @@ -13829,17 +13585,17 @@ - + - + - + @@ -13847,7 +13603,7 @@ - + @@ -13860,48 +13616,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -13909,7 +13634,7 @@ - + @@ -13922,110 +13647,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -14033,7 +13665,7 @@ - + @@ -14046,110 +13678,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -14157,7 +13696,7 @@ - + @@ -14170,17 +13709,17 @@ - + - + - + @@ -14188,7 +13727,7 @@ - + @@ -14201,48 +13740,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -14250,7 +13758,7 @@ - + @@ -14263,48 +13771,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -14312,7 +13789,7 @@ - + @@ -14325,17 +13802,17 @@ - + - + - + @@ -14343,7 +13820,7 @@ - + @@ -14356,17 +13833,17 @@ - + - + - + @@ -14374,7 +13851,7 @@ - + @@ -14387,17 +13864,17 @@ - + - + - + @@ -14405,7 +13882,7 @@ - + @@ -14418,172 +13895,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -14591,7 +13913,7 @@ - + @@ -14604,17 +13926,17 @@ - + - + - + @@ -14622,7 +13944,7 @@ - + @@ -14635,17 +13957,17 @@ - + - + - + @@ -14653,7 +13975,7 @@ - + @@ -14666,17 +13988,17 @@ - + - + - + @@ -14684,7 +14006,7 @@ - + @@ -14697,17 +14019,17 @@ - + - + - + @@ -14715,7 +14037,7 @@ - + @@ -14728,17 +14050,17 @@ - + - + - + @@ -14746,7 +14068,7 @@ - + @@ -14759,79 +14081,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -14839,7 +14099,7 @@ - + @@ -14852,17 +14112,17 @@ - + - + - + @@ -14870,7 +14130,7 @@ - + @@ -14883,17 +14143,17 @@ - + - + - + @@ -14901,7 +14161,7 @@ - + @@ -14914,79 +14174,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -14994,7 +14192,7 @@ - + @@ -15007,79 +14205,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -15087,7 +14223,7 @@ - + @@ -15100,17 +14236,17 @@ - + - + - + @@ -15118,7 +14254,7 @@ - + @@ -15131,17 +14267,17 @@ - + - + - + @@ -15149,7 +14285,7 @@ - + @@ -15162,17 +14298,17 @@ - + - + - + @@ -15180,7 +14316,7 @@ - + @@ -15193,17 +14329,17 @@ - + - + - + @@ -15211,7 +14347,7 @@ - + @@ -15224,17 +14360,17 @@ - + - + - + @@ -15242,7 +14378,7 @@ - + @@ -15255,17 +14391,17 @@ - + - + - + @@ -15273,7 +14409,7 @@ - + @@ -15286,17 +14422,17 @@ - + - + - + @@ -15304,7 +14440,7 @@ - + @@ -15317,17 +14453,17 @@ - + - + - + @@ -15335,7 +14471,7 @@ - + @@ -15348,17 +14484,17 @@ - + - + - + @@ -15366,7 +14502,7 @@ - + @@ -15379,17 +14515,17 @@ - + - + - + @@ -15397,7 +14533,7 @@ - + @@ -15410,17 +14546,17 @@ - + - + - + @@ -15428,7 +14564,7 @@ - + @@ -15441,17 +14577,17 @@ - + - + - + @@ -15459,7 +14595,7 @@ - + @@ -15472,17 +14608,17 @@ - + - + - + @@ -15490,7 +14626,7 @@ - + @@ -15503,17 +14639,17 @@ - + - + - + @@ -15521,7 +14657,7 @@ - + @@ -15534,17 +14670,17 @@ - + - + - + @@ -15552,7 +14688,7 @@ - + @@ -15565,48 +14701,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -15614,7 +14719,7 @@ - + @@ -15627,17 +14732,17 @@ - + - + - + @@ -15645,7 +14750,7 @@ - + @@ -15658,141 +14763,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -15800,7 +14781,7 @@ - + @@ -15813,17 +14794,17 @@ - + - + - + @@ -15831,7 +14812,7 @@ - + @@ -15842,24 +14823,495 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + - + @@ -15867,7 +15319,7 @@ - + @@ -15887,57 +15339,21 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -15945,7 +15361,7 @@ - + @@ -15965,7 +15381,13 @@ - + + + + + + + @@ -15973,7 +15395,93 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16009,91 +15517,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -16101,1004 +15525,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17109,10 +15536,22 @@ - - + + - + + + + + + + + + + + + + @@ -17120,7 +15559,7 @@ - + @@ -17128,7 +15567,7 @@ - + @@ -17148,7 +15587,7 @@ - + @@ -17156,7 +15595,7 @@ - + @@ -17168,6 +15607,13 @@ + + + + + + + @@ -17209,9 +15655,9 @@ - - - + + + @@ -17221,49 +15667,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17271,91 +15675,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17366,10 +15686,16 @@ - - + + - + + + + + + + @@ -17377,125 +15703,83 @@ - + - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - + + + - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - + + - + - + - - + + - + + + + + + + + + + + + + @@ -17503,7 +15787,121 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17539,7 +15937,7 @@ - + @@ -17547,77 +15945,41 @@ - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17625,7 +15987,127 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17645,7 +16127,7 @@ - + @@ -17653,7 +16135,475 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17689,27 +16639,15 @@ - + - - - - - - - - - - - - - - + + - + @@ -17720,10 +16658,16 @@ - - + + - + + + + + + + @@ -17731,7 +16675,372 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -17767,49 +17076,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17817,63 +17084,27 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17894,19 +17125,15 @@ - + + + + + - - - - - - - - - + @@ -17914,23 +17141,47 @@ - + - + + + + + - + + + + + - - + + - + + + + + + + + + + + + + + + + + @@ -17941,30 +17192,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -17974,19 +17201,23 @@ - + - + - + - + + + + + @@ -17994,39 +17225,27 @@ - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + @@ -18042,20 +17261,240 @@ - + - - - - + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18068,25 +17507,27 @@ + + + + + + + + + + + + + - - - - - - - - - - - - + @@ -18101,224 +17542,20 @@ + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + From 6584e1290be6c5c8adbb889da4f780b63ef4e294 Mon Sep 17 00:00:00 2001 From: michabr <82236305+michabr@users.noreply.github.com> Date: Fri, 11 Jun 2021 10:03:06 -0700 Subject: [PATCH 142/205] Reenable LyShine mask support now using Atom (#1218) * Add option to set stencil ref in Dynamic Draw Context * Add depth/stencil attachment slot to UI pass * Rework mask rendering to use Atom * Add missing circle mask image --- .../Common/Assets/Passes/LowEndPipeline.pass | 9 +- .../Common/Assets/Passes/MainPipeline.pass | 7 ++ .../Atom/Feature/Common/Assets/Passes/UI.pass | 17 +++ .../Common/Assets/Passes/UIParent.pass | 12 ++ .../DynamicDraw/DynamicDrawContext.h | 11 +- .../DynamicDraw/DynamicDrawContext.cpp | 13 +++ .../Shaders/LyShineUI.shadervariantlist | 4 +- Gems/LyShine/Code/Source/RenderGraph.cpp | 109 ++++++++---------- Gems/LyShine/Code/Source/RenderGraph.h | 7 +- Gems/LyShine/Code/Source/UiRenderer.cpp | 56 +++++---- Gems/LyShine/Code/Source/UiRenderer.h | 42 ++++++- .../Textures/LyShineExamples/CircleMask.tif | 3 + 12 files changed, 196 insertions(+), 94 deletions(-) create mode 100644 Gems/LyShineExamples/Assets/UI/Textures/LyShineExamples/CircleMask.tif diff --git a/Gems/Atom/Feature/Common/Assets/Passes/LowEndPipeline.pass b/Gems/Atom/Feature/Common/Assets/Passes/LowEndPipeline.pass index 38a4524aa2..849094dd69 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/LowEndPipeline.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/LowEndPipeline.pass @@ -322,7 +322,14 @@ "Pass": "AuxGeomPass", "Attachment": "ColorInputOutput" } - } + }, + { + "LocalSlot": "DepthInputOutput", + "AttachmentRef": { + "Pass": "DepthPrePass", + "Attachment": "Depth" + } + } ] }, { diff --git a/Gems/Atom/Feature/Common/Assets/Passes/MainPipeline.pass b/Gems/Atom/Feature/Common/Assets/Passes/MainPipeline.pass index b2e0cf088e..314d999e4d 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/MainPipeline.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/MainPipeline.pass @@ -427,6 +427,13 @@ "Pass": "DebugOverlayPass", "Attachment": "InputOutput" } + }, + { + "LocalSlot": "DepthInputOutput", + "AttachmentRef": { + "Pass": "DepthPrePass", + "Attachment": "Depth" + } } ] }, diff --git a/Gems/Atom/Feature/Common/Assets/Passes/UI.pass b/Gems/Atom/Feature/Common/Assets/Passes/UI.pass index 569fe1d722..ac43f17c11 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/UI.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/UI.pass @@ -7,6 +7,23 @@ "Name": "UIPassTemplate", "PassClass": "RasterPass", "Slots": [ + { + "Name": "DepthInputOutput", + "SlotType": "InputOutput", + "ScopeAttachmentUsage": "DepthStencil", + "LoadStoreAction": { + "ClearValue": { + "Type": "DepthStencil", + "Value": [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + }, + "LoadActionStencil": "Clear" + } + }, { "Name": "InputOutput", "SlotType": "InputOutput", diff --git a/Gems/Atom/Feature/Common/Assets/Passes/UIParent.pass b/Gems/Atom/Feature/Common/Assets/Passes/UIParent.pass index 0069e89401..4ae67b9b09 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/UIParent.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/UIParent.pass @@ -10,6 +10,11 @@ { "Name": "InputOutput", "SlotType": "InputOutput" + }, + { + "Name": "DepthInputOutput", + "SlotType": "InputOutput", + "ScopeAttachmentUsage": "DepthStencil" } ], "PassRequests": [ @@ -24,6 +29,13 @@ "Pass": "Parent", "Attachment": "InputOutput" } + }, + { + "LocalSlot": "DepthInputOutput", + "AttachmentRef": { + "Pass": "Parent", + "Attachment": "DepthInputOutput" + } } ], "PassData": { diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/DynamicDraw/DynamicDrawContext.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/DynamicDraw/DynamicDrawContext.h index 81b23068a1..94fd20f828 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/DynamicDraw/DynamicDrawContext.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/DynamicDraw/DynamicDrawContext.h @@ -138,6 +138,12 @@ namespace AZ //! Without per draw viewport, the viewport setup in pass is usually used. void UnsetViewport(); + //! Set stencil reference for following draws which are added to this DynamicDrawContext + void SetStencilReference(uint8_t stencilRef); + + //! Get the current stencil reference. + uint8_t GetStencilReference() const; + //! Draw Indexed primitives with vertex and index data and per draw srg //! The per draw srg need to be provided if it's required by shader. void DrawIndexed(void* vertexData, uint32_t vertexCount, void* indexData, uint32_t indexCount, RHI::IndexFormat indexFormat, Data::Instance < ShaderResourceGroup> drawSrg = nullptr); @@ -204,10 +210,13 @@ namespace AZ bool m_useScissor = false; RHI::Scissor m_scissor; - // current scissor + // current viewport bool m_useViewport = false; RHI::Viewport m_viewport; + // Current stencil reference value + uint8_t m_stencilRef = 0; + // Cached RHI pipeline states for different combination of render states AZStd::unordered_map m_cachedRhiPipelineStates; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/DynamicDraw/DynamicDrawContext.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/DynamicDraw/DynamicDrawContext.cpp index 00c2122825..09e3499820 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/DynamicDraw/DynamicDrawContext.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/DynamicDraw/DynamicDrawContext.cpp @@ -382,6 +382,16 @@ namespace AZ m_useViewport = false; } + void DynamicDrawContext::SetStencilReference(uint8_t stencilRef) + { + m_stencilRef = stencilRef; + } + + uint8_t DynamicDrawContext::GetStencilReference() const + { + return m_stencilRef; + } + void DynamicDrawContext::SetShaderVariant(ShaderVariantId shaderVariantId) { AZ_Assert( m_initialized && m_supportShaderVariants, "DynamicDrawContext is not initialized or unable to support shader variants. " @@ -475,6 +485,9 @@ namespace AZ drawItem.m_viewports = &m_viewport; } + // Set stencil reference. Used when stencil is enabled. + drawItem.m_stencilRef = m_stencilRef; + drawItemInfo.m_sortKey = m_sortKey++; m_cachedDrawItems.emplace_back(drawItemInfo); } diff --git a/Gems/AtomLyIntegration/AtomBridge/Assets/Shaders/LyShineUI.shadervariantlist b/Gems/AtomLyIntegration/AtomBridge/Assets/Shaders/LyShineUI.shadervariantlist index 79bb726c9f..c7eddb10f2 100644 --- a/Gems/AtomLyIntegration/AtomBridge/Assets/Shaders/LyShineUI.shadervariantlist +++ b/Gems/AtomLyIntegration/AtomBridge/Assets/Shaders/LyShineUI.shadervariantlist @@ -4,7 +4,7 @@ { "StableId": 1, "Options": { - "o_preMultiplyAlpha": "true", + "o_preMultiplyAlpha": "false", "o_alphaTest": "false", "o_srgbWrite": "true", "o_modulate": "Modulate::None" @@ -14,7 +14,7 @@ "StableId": 2, "Options": { "o_preMultiplyAlpha": "false", - "o_alphaTest": "false", + "o_alphaTest": "true", "o_srgbWrite": "true", "o_modulate": "Modulate::None" } diff --git a/Gems/LyShine/Code/Source/RenderGraph.cpp b/Gems/LyShine/Code/Source/RenderGraph.cpp index d5a1df7b15..ad2c46f8e6 100644 --- a/Gems/LyShine/Code/Source/RenderGraph.cpp +++ b/Gems/LyShine/Code/Source/RenderGraph.cpp @@ -137,7 +137,11 @@ namespace LyShine AZ::RHI::Ptr dynamicDraw = uiRenderer->GetDynamicDrawContext(); const UiRenderer::UiShaderData& uiShaderData = uiRenderer->GetUiShaderData(); - dynamicDraw->SetShaderVariant(uiShaderData.m_shaderVariantDefault); + // Set render state + dynamicDraw->SetStencilState(uiRenderer->GetBaseState().m_stencilState); + dynamicDraw->SetTarget0BlendState(uiRenderer->GetBaseState().m_blendState); + + dynamicDraw->SetShaderVariant(uiRenderer->GetCurrentShaderVariant()); // Set up per draw SRG AZ::Data::Instance drawSrg = dynamicDraw->NewDrawSrg(); @@ -307,7 +311,7 @@ namespace LyShine //////////////////////////////////////////////////////////////////////////////////////////////////// void MaskRenderNode::Render(UiRenderer* uiRenderer) { - int priorBaseState = uiRenderer->GetBaseState(); + UiRenderer::BaseState priorBaseState = uiRenderer->GetBaseState(); if (m_isMaskingEnabled || m_drawBehind) { @@ -369,68 +373,61 @@ namespace LyShine #endif //////////////////////////////////////////////////////////////////////////////////////////////////// - void MaskRenderNode::SetupBeforeRenderingMask(UiRenderer* uiRenderer, bool firstPass, int priorBaseState) + void MaskRenderNode::SetupBeforeRenderingMask(UiRenderer* uiRenderer, bool firstPass, UiRenderer::BaseState priorBaseState) { + UiRenderer::BaseState curBaseState = priorBaseState; + // If using alpha test for drawing the renderable components on this element then we turn on // alpha test as a pre-render step - int alphaTest = 0; - if (m_useAlphaTest) - { - alphaTest = GS_ALPHATEST_GREATER; - } + curBaseState.m_useAlphaTest = m_useAlphaTest; // if either of the draw flags are checked then we may want to draw the renderable component(s) // on this element, otherwise use the color mask to stop them rendering - int colorMask = GS_COLMASK_NONE; + curBaseState.m_blendState.m_enable = false; + curBaseState.m_blendState.m_writeMask = 0x0; if ((m_drawBehind && firstPass) || (m_drawInFront && !firstPass)) { - colorMask = 0; // mask everything, don't write color or alpha, we just write to stencil buffer + curBaseState.m_blendState.m_enable = true; + curBaseState.m_blendState.m_writeMask = 0xF; } - if (m_isMaskingEnabled) + if (m_isMaskingEnabled) { + AZ::RHI::StencilOpState stencilOpState; + stencilOpState.m_func = AZ::RHI::ComparisonFunc::Equal; + // masking is enabled so we want to setup to increment (first pass) or decrement (second pass) // the stencil buff when rendering the renderable component(s) on this element - int passOp = 0; if (firstPass) { - passOp = STENCOP_PASS(FSS_STENCOP_INCR); - gEnv->pRenderer->PushProfileMarker(s_maskIncrProfileMarker); + stencilOpState.m_passOp = AZ::RHI::StencilOp::Increment; } else { - passOp = STENCOP_PASS(FSS_STENCOP_DECR); - gEnv->pRenderer->PushProfileMarker(s_maskDecrProfileMarker); + stencilOpState.m_passOp = AZ::RHI::StencilOp::Decrement; } - // set up for stencil write - const uint32 stencilRef = uiRenderer->GetStencilRef(); - const uint32 stencilMask = 0xFF; - const uint32 stencilWriteMask = 0xFF; - const int32 stencilState = STENC_FUNC(FSS_STENCFUNC_EQUAL) - | STENCOP_FAIL(FSS_STENCOP_KEEP) | STENCOP_ZFAIL(FSS_STENCOP_KEEP) | passOp; - gEnv->pRenderer->SetStencilState(stencilState, stencilRef, stencilMask, stencilWriteMask); + curBaseState.m_stencilState.m_frontFace = stencilOpState; + curBaseState.m_stencilState.m_backFace = stencilOpState; - // Set the base state that should be used when rendering the renderable component(s) on this - // element - uiRenderer->SetBaseState(priorBaseState | GS_STENCIL | alphaTest | colorMask); + // set up for stencil write + AZ::RHI::Ptr dynamicDraw = uiRenderer->GetDynamicDrawContext(); + dynamicDraw->SetStencilReference(uiRenderer->GetStencilRef()); + curBaseState.m_stencilState.m_enable = true; + curBaseState.m_stencilState.m_writeMask = 0xFF; } else { // masking is not enabled - - // Even if not masking we still use alpha test (if checked). This is primarily to help the user to - // visualize what their alpha tested mask looks like. - if (colorMask || alphaTest) - { - uiRenderer->SetBaseState(priorBaseState | colorMask | alphaTest); - } + curBaseState.m_stencilState.m_enable = false; } + + uiRenderer->SetBaseState(curBaseState); } //////////////////////////////////////////////////////////////////////////////////////////////////// - void MaskRenderNode::SetupAfterRenderingMask(UiRenderer* uiRenderer, bool firstPass, int priorBaseState) + void MaskRenderNode::SetupAfterRenderingMask(UiRenderer* uiRenderer, bool firstPass, UiRenderer::BaseState priorBaseState) { if (m_isMaskingEnabled) { @@ -442,26 +439,29 @@ namespace LyShine if (firstPass) { uiRenderer->IncrementStencilRef(); - gEnv->pRenderer->PopProfileMarker(s_maskIncrProfileMarker); } else { uiRenderer->DecrementStencilRef(); - gEnv->pRenderer->PopProfileMarker(s_maskDecrProfileMarker); } - // turn off stencil write and turn on stencil test - const uint32 stencilRef = uiRenderer->GetStencilRef(); - const uint32 stencilMask = 0xFF; - const uint32 stencilWriteMask = 0x00; - const int32 stencilState = STENC_FUNC(FSS_STENCFUNC_EQUAL) - | STENCOP_FAIL(FSS_STENCOP_KEEP) | STENCOP_ZFAIL(FSS_STENCOP_KEEP) | STENCOP_PASS(FSS_STENCOP_KEEP); - gEnv->pRenderer->SetStencilState(stencilState, stencilRef, stencilMask, stencilWriteMask); + AZ::RHI::Ptr dynamicDraw = uiRenderer->GetDynamicDrawContext(); + dynamicDraw->SetStencilReference(uiRenderer->GetStencilRef()); if (firstPass) { - // first pass, turn on stencil test for drawing children - uiRenderer->SetBaseState(priorBaseState | GS_STENCIL); + UiRenderer::BaseState curBaseState = priorBaseState; + + // turn off stencil write and turn on stencil test + curBaseState.m_stencilState.m_enable = true; + curBaseState.m_stencilState.m_writeMask = 0x00; + + AZ::RHI::StencilOpState stencilOpState; + stencilOpState.m_func = AZ::RHI::ComparisonFunc::Equal; + curBaseState.m_stencilState.m_frontFace = stencilOpState; + curBaseState.m_stencilState.m_backFace = stencilOpState; + + uiRenderer->SetBaseState(curBaseState); } else { @@ -475,7 +475,6 @@ namespace LyShine // remove any color mask or alpha test that we set in pre-render uiRenderer->SetBaseState(priorBaseState); } - } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -637,35 +636,24 @@ namespace LyShine //////////////////////////////////////////////////////////////////////////////////////////////////// void RenderGraph::BeginMask(bool isMaskingEnabled, bool useAlphaTest, bool drawBehind, bool drawInFront) { -#ifdef LYSHINE_ATOM_TODO // keeping this code for future phase (masks and render targets) - // this uses pool allocator MaskRenderNode* maskRenderNode = new MaskRenderNode(m_currentMask, isMaskingEnabled, useAlphaTest, drawBehind, drawInFront); m_currentMask = maskRenderNode; m_renderNodeListStack.push(&maskRenderNode->GetMaskRenderNodeList()); -#else - AZ_UNUSED(drawInFront); - AZ_UNUSED(drawBehind); - AZ_UNUSED(useAlphaTest); - AZ_UNUSED(isMaskingEnabled); -#endif } //////////////////////////////////////////////////////////////////////////////////////////////////// void RenderGraph::StartChildrenForMask() { -#ifdef LYSHINE_ATOM_TODO // keeping this code for future phase (masks and render targets) AZ_Assert(m_currentMask, "Calling StartChildrenForMask while not defining a mask"); m_renderNodeListStack.pop(); m_renderNodeListStack.push(&m_currentMask->GetContentRenderNodeList()); -#endif } //////////////////////////////////////////////////////////////////////////////////////////////////// void RenderGraph::EndMask() { -#ifdef LYSHINE_ATOM_TODO // keeping this code for future phase (masks and render targets) AZ_Assert(m_currentMask, "Calling EndMask while not defining a mask"); if (m_currentMask) { @@ -686,7 +674,6 @@ namespace LyShine m_renderNodeListStack.top()->push_back(newMaskRenderNode); } } -#endif } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -996,6 +983,12 @@ namespace LyShine // LYSHINE_ATOM_TODO - will probably need to support this when converting UI Editor to use Atom AZ_UNUSED(viewportSize); + AZ::RHI::Ptr dynamicDraw = uiRenderer->GetDynamicDrawContext(); + + // Disable stencil and enable blend/color write + dynamicDraw->SetStencilState(uiRenderer->GetBaseState().m_stencilState); + dynamicDraw->SetTarget0BlendState(uiRenderer->GetBaseState().m_blendState); + // First render the render targets, they are sorted so that more deeply nested ones are rendered first. #ifdef LYSHINE_ATOM_TODO // keeping this code for reference for future phase (render targets) diff --git a/Gems/LyShine/Code/Source/RenderGraph.h b/Gems/LyShine/Code/Source/RenderGraph.h index 2f1586e857..355616a29a 100644 --- a/Gems/LyShine/Code/Source/RenderGraph.h +++ b/Gems/LyShine/Code/Source/RenderGraph.h @@ -22,12 +22,11 @@ #include #include +#include "UiRenderer.h" #ifndef _RELEASE #include "LyShineDebug.h" #endif -class UiRenderer; - namespace LyShine { enum RenderNodeType @@ -157,8 +156,8 @@ namespace LyShine #endif private: // functions - void SetupBeforeRenderingMask(UiRenderer* uiRenderer, bool firstPass, int priorBaseState); - void SetupAfterRenderingMask(UiRenderer* uiRenderer, bool firstPass, int priorBaseState); + void SetupBeforeRenderingMask(UiRenderer* uiRenderer, bool firstPass, UiRenderer::BaseState priorBaseState); + void SetupAfterRenderingMask(UiRenderer* uiRenderer, bool firstPass, UiRenderer::BaseState priorBaseState); private: // data AZStd::vector m_maskRenderNodes; //!< The render nodes used to render the mask shape diff --git a/Gems/LyShine/Code/Source/UiRenderer.cpp b/Gems/LyShine/Code/Source/UiRenderer.cpp index 57acbed5d5..e3ded694b5 100644 --- a/Gems/LyShine/Code/Source/UiRenderer.cpp +++ b/Gems/LyShine/Code/Source/UiRenderer.cpp @@ -20,7 +20,6 @@ #include #include #include -#include // LYSHINE_ATOM_TODO - remove when GS_DEPTHFUNC_LEQUAL reference is removed with LyShine render target Atom conversion #include #include @@ -33,9 +32,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// UiRenderer::UiRenderer(AZ::RPI::ViewportContextPtr viewportContext) - : m_baseState(GS_DEPTHFUNC_LEQUAL) - , m_stencilRef(0) - , m_viewportContext(viewportContext) + : m_viewportContext(viewportContext) { // Use bootstrap scene event to indicate when the RPI has fully // initialized with all assets loaded and is ready to be used @@ -127,6 +124,8 @@ void UiRenderer::CreateDynamicDrawContext(AZ::RPI::ScenePtr scene, AZ::Data::Ins { "TEXCOORD", AZ::RHI::Format::R32G32_FLOAT }, { "BLENDINDICES", AZ::RHI::Format::R16G16_UINT } } ); + m_dynamicDraw->AddDrawStateOptions(AZ::RPI::DynamicDrawContext::DrawStateOptions::StencilState + | AZ::RPI::DynamicDrawContext::DrawStateOptions::BlendMode); m_dynamicDraw->EndInit(); } @@ -170,25 +169,24 @@ void UiRenderer::CacheShaderData(const AZ::RHI::Ptr shaderOptionsDefault.push_back(AZ::RPI::ShaderOption(AZ::Name("o_srgbWrite"), AZ::Name("true"))); shaderOptionsDefault.push_back(AZ::RPI::ShaderOption(AZ::Name("o_modulate"), AZ::Name("Modulate::None"))); m_uiShaderData.m_shaderVariantDefault = dynamicDraw->UseShaderVariant(shaderOptionsDefault); + AZ::RPI::ShaderOptionList shaderOptionsAlphaTest; + shaderOptionsAlphaTest.push_back(AZ::RPI::ShaderOption(AZ::Name("o_preMultiplyAlpha"), AZ::Name("false"))); + shaderOptionsAlphaTest.push_back(AZ::RPI::ShaderOption(AZ::Name("o_alphaTest"), AZ::Name("true"))); + shaderOptionsAlphaTest.push_back(AZ::RPI::ShaderOption(AZ::Name("o_srgbWrite"), AZ::Name("true"))); + shaderOptionsAlphaTest.push_back(AZ::RPI::ShaderOption(AZ::Name("o_modulate"), AZ::Name("Modulate::None"))); + m_uiShaderData.m_shaderVariantAlphaTest = dynamicDraw->UseShaderVariant(shaderOptionsAlphaTest); } //////////////////////////////////////////////////////////////////////////////////////////////////// void UiRenderer::BeginUiFrameRender() { -#ifdef LYSHINE_ATOM_TODO - m_renderer = gEnv->pRenderer; - - // we are rendering at the end of the frame, after tone mapping, so we should be writing sRGB values - m_renderer->SetSrgbWrite(true); - #ifndef _RELEASE if (m_debugTextureDataRecordLevel > 0) { m_texturesUsedInFrame.clear(); } #endif -#endif - + // Various platform drivers expect all texture slots used in the shader to be bound BindNullTexture(); } @@ -204,18 +202,10 @@ void UiRenderer::EndUiFrameRender() //////////////////////////////////////////////////////////////////////////////////////////////////// void UiRenderer::BeginCanvasRender() { -#ifdef LYSHINE_ATOM_TODO - m_baseState = GS_NODEPTHTEST; - m_stencilRef = 0; - // Set default starting state - IRenderer* renderer = gEnv->pRenderer; - - renderer->SetCullMode(R_CULL_DISABLE); - renderer->SetColorOp(eCO_MODULATE, eCO_MODULATE, DEF_TEXARG0, DEF_TEXARG0); - renderer->SetState(GS_BLSRC_SRCALPHA | GS_BLDST_ONEMINUSSRCALPHA | GS_NODEPTHTEST); -#endif + // Set base state + m_baseState.ResetToDefault(); } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -229,11 +219,13 @@ AZ::RHI::Ptr UiRenderer::GetDynamicDrawContext() return m_dynamicDraw; } +//////////////////////////////////////////////////////////////////////////////////////////////////// const UiRenderer::UiShaderData& UiRenderer::GetUiShaderData() { return m_uiShaderData; } +//////////////////////////////////////////////////////////////////////////////////////////////////// AZ::Matrix4x4 UiRenderer::GetModelViewProjectionMatrix() { auto viewportContext = GetViewportContext(); @@ -253,6 +245,7 @@ AZ::Matrix4x4 UiRenderer::GetModelViewProjectionMatrix() return modelViewProjMat; } +//////////////////////////////////////////////////////////////////////////////////////////////////// AZ::Vector2 UiRenderer::GetViewportSize() { auto viewportContext = GetViewportContext(); @@ -267,17 +260,30 @@ AZ::Vector2 UiRenderer::GetViewportSize() } //////////////////////////////////////////////////////////////////////////////////////////////////// -int UiRenderer::GetBaseState() +UiRenderer::BaseState UiRenderer::GetBaseState() { return m_baseState; } //////////////////////////////////////////////////////////////////////////////////////////////////// -void UiRenderer::SetBaseState(int state) +void UiRenderer::SetBaseState(BaseState state) { m_baseState = state; } +//////////////////////////////////////////////////////////////////////////////////////////////////// +AZ::RPI::ShaderVariantId UiRenderer::GetCurrentShaderVariant() +{ + AZ::RPI::ShaderVariantId variantId = m_uiShaderData.m_shaderVariantDefault; + + if (m_baseState.m_useAlphaTest) + { + variantId = m_uiShaderData.m_shaderVariantAlphaTest; + } + + return variantId; +} + //////////////////////////////////////////////////////////////////////////////////////////////////// uint32 UiRenderer::GetStencilRef() { @@ -354,6 +360,7 @@ void UiRenderer::DebugDisplayTextureData(int recordingOption) { if (recordingOption > 0) { +#ifdef LYSHINE_ATOM_TODO // Convert debug to use Atom images // compute the total area of all the textures, also create a vector that we can sort by area AZStd::vector textures; int totalArea = 0; @@ -431,6 +438,7 @@ void UiRenderer::DebugDisplayTextureData(int recordingOption) texture->GetWidth(), texture->GetHeight(), texture->GetDataSize(), texture->GetFormatName(), texture->GetName()); WriteLine(buffer, white); } +#endif } } diff --git a/Gems/LyShine/Code/Source/UiRenderer.h b/Gems/LyShine/Code/Source/UiRenderer.h index 888c88586a..413e8c45cf 100644 --- a/Gems/LyShine/Code/Source/UiRenderer.h +++ b/Gems/LyShine/Code/Source/UiRenderer.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #ifndef _RELEASE @@ -38,6 +39,36 @@ public: // types AZ::RHI::ShaderInputConstantIndex m_isClampInputIndex; AZ::RPI::ShaderVariantId m_shaderVariantDefault; + AZ::RPI::ShaderVariantId m_shaderVariantAlphaTest; + }; + + // Base state + struct BaseState + { + BaseState() + { + ResetToDefault(); + } + + void ResetToDefault() + { + // Enable blend/color write + m_blendState.m_enable = true; + m_blendState.m_writeMask = 0xF; + m_blendState.m_blendSource = AZ::RHI::BlendFactor::AlphaSource; + m_blendState.m_blendDest = AZ::RHI::BlendFactor::AlphaSourceInverse; + m_blendState.m_blendOp = AZ::RHI::BlendOp::Add; + + // Disable stencil + m_stencilState = AZ::RHI::StencilState(); + m_stencilState.m_enable = 0; + + m_useAlphaTest = false; + } + + AZ::RHI::TargetBlendState m_blendState; + AZ::RHI::StencilState m_stencilState; + bool m_useAlphaTest = false; }; public: // member functions @@ -74,10 +105,13 @@ public: // member functions AZ::Vector2 GetViewportSize(); //! Get the current base state - int GetBaseState(); + BaseState GetBaseState(); //! Set the base state - void SetBaseState(int state); + void SetBaseState(BaseState state); + + //! Get the shader variant based on current render properties + AZ::RPI::ShaderVariantId GetCurrentShaderVariant(); //! Get the current stencil test reference value uint32 GetStencilRef(); @@ -126,8 +160,8 @@ protected: // attributes static constexpr char LogName[] = "UiRenderer"; - int m_baseState; - uint32 m_stencilRef; + BaseState m_baseState; + uint32 m_stencilRef = 0; UiShaderData m_uiShaderData; AZ::RHI::Ptr m_dynamicDraw; diff --git a/Gems/LyShineExamples/Assets/UI/Textures/LyShineExamples/CircleMask.tif b/Gems/LyShineExamples/Assets/UI/Textures/LyShineExamples/CircleMask.tif new file mode 100644 index 0000000000..fd29516609 --- /dev/null +++ b/Gems/LyShineExamples/Assets/UI/Textures/LyShineExamples/CircleMask.tif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8474b897fe02f70ed8d0e5c47cae8c816c832a7a5739b8c32317737fd275774f +size 1069752 From bf1b8001361923548feb06ea077ce4fcf61bc8fc Mon Sep 17 00:00:00 2001 From: srikappa-amzn Date: Fri, 11 Jun 2021 10:25:28 -0700 Subject: [PATCH 143/205] minor change to order of if and foreach --- scripts/ctest/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/ctest/CMakeLists.txt b/scripts/ctest/CMakeLists.txt index c4f86087b1..c07aaf4bff 100644 --- a/scripts/ctest/CMakeLists.txt +++ b/scripts/ctest/CMakeLists.txt @@ -20,8 +20,8 @@ endif() # Tests ################################################################################ -foreach(suite_name ${LY_TEST_GLOBAL_KNOWN_SUITE_NAMES}) - if(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED) +if(PAL_TRAIT_TEST_LYTESTTOOLS_SUPPORTED) + foreach(suite_name ${LY_TEST_GLOBAL_KNOWN_SUITE_NAMES}) ly_add_pytest( NAME pytest_sanity_${suite_name}_no_gpu PATH ${CMAKE_CURRENT_LIST_DIR}/sanity_test.py @@ -34,8 +34,8 @@ foreach(suite_name ${LY_TEST_GLOBAL_KNOWN_SUITE_NAMES}) TEST_SUITE ${suite_name} TEST_REQUIRES gpu ) - endif() -endforeach() + endforeach() +endif() # EPB Sanity test is being registered here to validate that the ly_add_editor_python_test function works. #if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED AND AutomatedTesting IN_LIST LY_PROJECTS_TARGET_NAME) From 4818d1ce809436efd72b4fa51064e60fae565640 Mon Sep 17 00:00:00 2001 From: jackalbe <23512001+jackalbe@users.noreply.github.com> Date: Fri, 11 Jun 2021 12:25:45 -0500 Subject: [PATCH 144/205] {LYN-4224} Fix for the file scan slowdown (#1252) * {LYN-4224} Fix for the file scan slowdown (#1183) * {LYN-4224} Fix for the file scan slowdown * Fixed a slowdown in the file scanning logic * Improved the file scanning logic from previous code by 40% Tests: Using Testing\Pytest\AutomatedTesting_BlastTest old code: === 7 passed in 96.13s (0:01:36) === current code: === 7 passed in 160.45s (0:02:40) ==== newest code: === 7 passed in 52.91s === * fixing a unit test compile error * unit test fixes * another file improvement * fix for legacy level loading taking too long * making an enum for the search types * switched the enum to "allow" types to make the input more clear * got rid of orphaned const variables --- Code/CryEngine/CryCommon/Mocks/ICryPakMock.h | 2 +- .../CrySystem/LevelSystem/LevelSystem.cpp | 11 ++-- .../AzFramework/Archive/Archive.cpp | 24 +++++++- .../AzFramework/AzFramework/Archive/Archive.h | 2 +- .../AzFramework/Archive/ArchiveFindData.cpp | 60 ++++++++++--------- .../AzFramework/Archive/ArchiveFindData.h | 7 +-- .../AzFramework/Archive/IArchive.h | 9 ++- Code/Sandbox/Editor/CryEditDoc.cpp | 2 +- .../Code/Tests/AudioSystemEditorTest.cpp | 13 ++-- 9 files changed, 79 insertions(+), 51 deletions(-) diff --git a/Code/CryEngine/CryCommon/Mocks/ICryPakMock.h b/Code/CryEngine/CryCommon/Mocks/ICryPakMock.h index 2d451793bc..072a798985 100644 --- a/Code/CryEngine/CryCommon/Mocks/ICryPakMock.h +++ b/Code/CryEngine/CryCommon/Mocks/ICryPakMock.h @@ -67,7 +67,7 @@ struct CryPakMock MOCK_METHOD1(PoolMalloc, void*(size_t size)); MOCK_METHOD1(PoolFree, void(void* p)); MOCK_METHOD3(PoolAllocMemoryBlock, AZStd::intrusive_ptr (size_t nSize, const char* sUsage, size_t nAlign)); - MOCK_METHOD3(FindFirst, AZ::IO::ArchiveFileIterator(AZStd::string_view pDir, uint32_t nFlags, bool bAllOwUseFileSystem)); + MOCK_METHOD2(FindFirst, AZ::IO::ArchiveFileIterator(AZStd::string_view pDir, AZ::IO::IArchive::EFileSearchType)); MOCK_METHOD1(FindNext, AZ::IO::ArchiveFileIterator(AZ::IO::ArchiveFileIterator handle)); MOCK_METHOD1(FindClose, bool(AZ::IO::ArchiveFileIterator)); MOCK_METHOD1(GetModificationTime, AZ::IO::IArchive::FileTime(AZ::IO::HandleType f)); diff --git a/Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp b/Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp index c36b9bcee7..08caeeeb70 100644 --- a/Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp +++ b/Code/CryEngine/CrySystem/LevelSystem/LevelSystem.cpp @@ -306,8 +306,7 @@ void CLevelSystem::ScanFolder(const char* subfolder, bool modFolder) AZStd::unordered_set pakList; - bool allowFileSystem = true; - AZ::IO::ArchiveFileIterator handle = pPak->FindFirst(search.c_str(), 0, allowFileSystem); + AZ::IO::ArchiveFileIterator handle = pPak->FindFirst(search.c_str(), AZ::IO::IArchive::eFileSearchType_AllowOnDiskOnly); if (handle) { @@ -320,7 +319,7 @@ void CLevelSystem::ScanFolder(const char* subfolder, bool modFolder) { if (AZ::StringFunc::Equal(handle.m_filename.data(), LevelPakName)) { - // level folder contain pak files like 'level.pak' + // level folder contain pak files like 'level.pak' // which we only want to load during level loading. continue; } @@ -351,7 +350,7 @@ void CLevelSystem::ScanFolder(const char* subfolder, bool modFolder) PopulateLevels(search, folder, pPak, modFolder, false); // Load levels outside of the bundles to maintain backward compatibility. PopulateLevels(search, folder, pPak, modFolder, true); - + } void CLevelSystem::PopulateLevels( @@ -360,7 +359,7 @@ void CLevelSystem::PopulateLevels( { // allow this find first to actually touch the file system // (causes small overhead but with minimal amount of levels this should only be around 150ms on actual DVD Emu) - AZ::IO::ArchiveFileIterator handle = pPak->FindFirst(searchPattern.c_str(), 0, fromFileSystemOnly); + AZ::IO::ArchiveFileIterator handle = pPak->FindFirst(searchPattern.c_str(), AZ::IO::IArchive::eFileSearchType_AllowOnDiskOnly); if (handle) { @@ -973,7 +972,7 @@ void CLevelSystem::UnloadLevel() m_lastLevelName.clear(); SAFE_RELEASE(m_pCurrentLevel); - + // Force Lua garbage collection (may no longer be needed now the legacy renderer has been removed). // Normally the GC step is triggered at the end of this method (by the ESYSTEM_EVENT_LEVEL_POST_UNLOAD event). EBUS_EVENT(AZ::ScriptSystemRequestBus, GarbageCollect); diff --git a/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp b/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp index 04573eb2e5..5cb2006447 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp +++ b/Code/Framework/AzFramework/AzFramework/Archive/Archive.cpp @@ -1290,7 +1290,7 @@ namespace AZ::IO ////////////////////////////////////////////////////////////////////////// - AZ::IO::ArchiveFileIterator Archive::FindFirst(AZStd::string_view pDir, [[maybe_unused]] uint32_t nPathFlags, bool bAllowUseFileSystem) + AZ::IO::ArchiveFileIterator Archive::FindFirst(AZStd::string_view pDir, EFileSearchType searchType) { auto szFullPath = AZ::IO::FileIOBase::GetDirectInstance()->ResolvePath(pDir); if (!szFullPath) @@ -1299,8 +1299,26 @@ namespace AZ::IO return {}; } + bool bScanZips{}; + bool bAllowUseFileSystem{}; + switch (searchType) + { + case IArchive::eFileSearchType_AllowInZipsOnly: + bAllowUseFileSystem = false; + bScanZips = true; + break; + case IArchive::eFileSearchType_AllowOnDiskAndInZips: + bAllowUseFileSystem = true; + bScanZips = true; + break; + case IArchive::eFileSearchType_AllowOnDiskOnly: + bAllowUseFileSystem = true; + bScanZips = false; + break; + } + AZStd::intrusive_ptr pFindData = new AZ::IO::FindData(); - pFindData->Scan(this, szFullPath->Native(), bAllowUseFileSystem); + pFindData->Scan(this, szFullPath->Native(), bAllowUseFileSystem, bScanZips); return pFindData->Fetch(); } @@ -1676,7 +1694,7 @@ namespace AZ::IO return true; } - if (AZ::IO::ArchiveFileIterator fileIterator = FindFirst(pWildcardIn, 0, true); fileIterator) + if (AZ::IO::ArchiveFileIterator fileIterator = FindFirst(pWildcardIn, IArchive::eFileSearchType_AllowOnDiskOnly); fileIterator) { AZStd::vector files; do diff --git a/Code/Framework/AzFramework/AzFramework/Archive/Archive.h b/Code/Framework/AzFramework/AzFramework/Archive/Archive.h index 997b3e3d2c..329beb4291 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/Archive.h +++ b/Code/Framework/AzFramework/AzFramework/Archive/Archive.h @@ -234,7 +234,7 @@ namespace AZ::IO uint64_t FTell(AZ::IO::HandleType handle) override; int FFlush(AZ::IO::HandleType handle) override; int FClose(AZ::IO::HandleType handle) override; - AZ::IO::ArchiveFileIterator FindFirst(AZStd::string_view pDir, uint32_t nPathFlags = 0, bool bAllOwUseFileSystem = false) override; + AZ::IO::ArchiveFileIterator FindFirst(AZStd::string_view pDir, EFileSearchType searchType = eFileSearchType_AllowInZipsOnly) override; AZ::IO::ArchiveFileIterator FindNext(AZ::IO::ArchiveFileIterator fileIterator) override; bool FindClose(AZ::IO::ArchiveFileIterator fileIterator) override; int FEof(AZ::IO::HandleType handle) override; diff --git a/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.cpp b/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.cpp index 1794ae90e7..05da5f16eb 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.cpp +++ b/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.cpp @@ -77,7 +77,7 @@ namespace AZ::IO return m_findData && m_lastFetchValid; } - void FindData::Scan(IArchive* archive, AZStd::string_view szDir, bool bAllowUseFS) + void FindData::Scan(IArchive* archive, AZStd::string_view szDir, bool bAllowUseFS, bool bScanZips) { // get the priority into local variable to avoid it changing in the course of // this function execution @@ -87,12 +87,18 @@ namespace AZ::IO { // first, find the file system files ScanFS(archive, szDir); - ScanZips(archive, szDir); + if (bScanZips) + { + ScanZips(archive, szDir); + } } else { // first, find the zip files - ScanZips(archive, szDir); + if (bScanZips) + { + ScanZips(archive, szDir); + } if (bAllowUseFS || nVarPakPriority != ArchiveLocationPriority::ePakPriorityPakOnly) { ScanFS(archive, szDir); @@ -111,30 +117,31 @@ namespace AZ::IO } AZ::IO::FileIOBase::GetDirectInstance()->FindFiles(searchDirectory.c_str(), pattern.c_str(), [&](const char* filePath) -> bool { - AZ::IO::FileDesc fileDesc; - AZStd::string filePathEntry{filePath}; + AZ::IO::ArchiveFileIterator fileIterator; + fileIterator.m_filename = AZ::IO::PathView(filePath).Filename().Native(); + fileIterator.m_fileDesc.nAttrib = {}; if (AZ::IO::FileIOBase::GetDirectInstance()->IsDirectory(filePath)) { - fileDesc.nAttrib = fileDesc.nAttrib | AZ::IO::FileDesc::Attribute::Subdirectory; + fileIterator.m_fileDesc.nAttrib = fileIterator.m_fileDesc.nAttrib | AZ::IO::FileDesc::Attribute::Subdirectory; + m_fileStack.emplace_back(AZStd::move(fileIterator)); } else { if (AZ::IO::FileIOBase::GetDirectInstance()->IsReadOnly(filePath)) { - fileDesc.nAttrib = fileDesc.nAttrib | AZ::IO::FileDesc::Attribute::ReadOnly; + fileIterator.m_fileDesc.nAttrib = fileIterator.m_fileDesc.nAttrib | AZ::IO::FileDesc::Attribute::ReadOnly; } AZ::u64 fileSize = 0; AZ::IO::FileIOBase::GetDirectInstance()->Size(filePath, fileSize); - fileDesc.nSize = fileSize; - fileDesc.tWrite = AZ::IO::FileIOBase::GetDirectInstance()->ModificationTime(filePath); + fileIterator.m_fileDesc.nSize = fileSize; + fileIterator.m_fileDesc.tWrite = AZ::IO::FileIOBase::GetDirectInstance()->ModificationTime(filePath); // These times are not supported by our file interface - fileDesc.tAccess = fileDesc.tWrite; - fileDesc.tCreate = fileDesc.tWrite; + fileIterator.m_fileDesc.tAccess = fileIterator.m_fileDesc.tWrite; + fileIterator.m_fileDesc.tCreate = fileIterator.m_fileDesc.tWrite; + m_fileStack.emplace_back(AZStd::move(fileIterator)); } - [[maybe_unused]] auto result = m_mapFiles.emplace(AZStd::move(filePathEntry), fileDesc); - AZ_Assert(result.second, "Failed to insert FindData entry for filePath %s", filePath); return true; }); } @@ -164,7 +171,7 @@ namespace AZ::IO fileDesc.nAttrib = AZ::IO::FileDesc::Attribute::ReadOnly | AZ::IO::FileDesc::Attribute::Archive; fileDesc.nSize = fileEntry->desc.lSizeUncompressed; fileDesc.tWrite = fileEntry->GetModificationTime(); - m_mapFiles.emplace(fname, fileDesc); + m_fileStack.emplace_back(AZ::IO::ArchiveFileIterator{ this, fname, fileDesc }); } ZipDir::FindDir findDirectoryEntry(zipCache); @@ -177,7 +184,7 @@ namespace AZ::IO } AZ::IO::FileDesc fileDesc; fileDesc.nAttrib = AZ::IO::FileDesc::Attribute::ReadOnly | AZ::IO::FileDesc::Attribute::Archive | AZ::IO::FileDesc::Attribute::Subdirectory; - m_mapFiles.emplace(fname, fileDesc); + m_fileStack.emplace_back(AZ::IO::ArchiveFileIterator{ this, fname, fileDesc }); } }; @@ -246,7 +253,7 @@ namespace AZ::IO if (!bindRootIter->empty() && AZStd::wildcard_match(sourcePathRemainder.Native(), bindRootIter->Native())) { AZ::IO::FileDesc fileDesc{ AZ::IO::FileDesc::Attribute::ReadOnly | AZ::IO::FileDesc::Attribute::Archive | AZ::IO::FileDesc::Attribute::Subdirectory }; - m_mapFiles.emplace(bindRootIter->Native(), fileDesc); + m_fileStack.emplace_back(AZ::IO::ArchiveFileIterator{ this, bindRootIter->Native(), fileDesc }); } } else @@ -262,22 +269,19 @@ namespace AZ::IO AZ::IO::ArchiveFileIterator FindData::Fetch() { - AZ::IO::ArchiveFileIterator fileIterator; - fileIterator.m_findData = this; - if (m_mapFiles.empty()) + if (m_fileStack.empty()) { - return fileIterator; + AZ::IO::ArchiveFileIterator emptyFileIterator; + emptyFileIterator.m_lastFetchValid = false; + emptyFileIterator.m_findData = this; + return emptyFileIterator; } - auto pakFileIter = m_mapFiles.begin(); - AZStd::string fullFilePath; - AZ::StringFunc::Path::GetFullFileName(pakFileIter->first.c_str(), fullFilePath); - fileIterator.m_filename = AZStd::move(fullFilePath); - fileIterator.m_fileDesc = pakFileIter->second; - fileIterator.m_lastFetchValid = true; - // Remove Fetched item from the FindData map so that the iteration continues - m_mapFiles.erase(pakFileIter); + AZ::IO::ArchiveFileIterator fileIterator{ m_fileStack.back() }; + fileIterator.m_lastFetchValid = true; + fileIterator.m_findData = this; + m_fileStack.pop_back(); return fileIterator; } } diff --git a/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.h b/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.h index d5e23779fc..a07e98c81f 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.h +++ b/Code/Framework/AzFramework/AzFramework/Archive/ArchiveFindData.h @@ -15,7 +15,6 @@ #include #include - namespace AZ::IO { struct IArchive; @@ -74,13 +73,13 @@ namespace AZ::IO AZ_CLASS_ALLOCATOR(FindData, AZ::SystemAllocator, 0); FindData() = default; AZ::IO::ArchiveFileIterator Fetch(); - void Scan(IArchive* archive, AZStd::string_view path, bool bAllowUseFS = false); + void Scan(IArchive* archive, AZStd::string_view path, bool bAllowUseFS = false, bool bScanZips = true); protected: void ScanFS(IArchive* archive, AZStd::string_view path); void ScanZips(IArchive* archive, AZStd::string_view path); - using FileMap = AZStd::map; - FileMap m_mapFiles; + using FileStack = AZStd::vector; + FileStack m_fileStack; }; } diff --git a/Code/Framework/AzFramework/AzFramework/Archive/IArchive.h b/Code/Framework/AzFramework/AzFramework/Archive/IArchive.h index ce8403b033..08bd87c334 100644 --- a/Code/Framework/AzFramework/AzFramework/Archive/IArchive.h +++ b/Code/Framework/AzFramework/AzFramework/Archive/IArchive.h @@ -197,6 +197,13 @@ namespace AZ::IO eInMemoryPakLocale_PAK, }; + enum EFileSearchType + { + eFileSearchType_AllowInZipsOnly = 0, + eFileSearchType_AllowOnDiskAndInZips, + eFileSearchType_AllowOnDiskOnly + }; + using SignedFileSize = int64_t; virtual ~IArchive() = default; @@ -315,7 +322,7 @@ namespace AZ::IO // Arguments: // nFlags is a combination of EPathResolutionRules flags. - virtual ArchiveFileIterator FindFirst(AZStd::string_view pDir, uint32_t nFlags = 0, bool bAllowUseFileSystem = false) = 0; + virtual ArchiveFileIterator FindFirst(AZStd::string_view pDir, EFileSearchType searchType = eFileSearchType_AllowInZipsOnly) = 0; virtual ArchiveFileIterator FindNext(AZ::IO::ArchiveFileIterator handle) = 0; virtual bool FindClose(AZ::IO::ArchiveFileIterator handle) = 0; //returns file modification time diff --git a/Code/Sandbox/Editor/CryEditDoc.cpp b/Code/Sandbox/Editor/CryEditDoc.cpp index 5b2a4b9a83..77d5794ab3 100644 --- a/Code/Sandbox/Editor/CryEditDoc.cpp +++ b/Code/Sandbox/Editor/CryEditDoc.cpp @@ -1139,7 +1139,7 @@ bool CCryEditDoc::SaveLevel(const QString& filename) const QString oldLevelPattern = QDir(oldLevelFolder).absoluteFilePath("*.*"); const QString oldLevelName = Path::GetFile(GetLevelPathName()); const QString oldLevelXml = Path::ReplaceExtension(oldLevelName, "xml"); - AZ::IO::ArchiveFileIterator findHandle = pIPak->FindFirst(oldLevelPattern.toUtf8().data(), 0, true); + AZ::IO::ArchiveFileIterator findHandle = pIPak->FindFirst(oldLevelPattern.toUtf8().data(), AZ::IO::IArchive::eFileSearchType_AllowOnDiskAndInZips); if (findHandle) { do diff --git a/Gems/AudioSystem/Code/Tests/AudioSystemEditorTest.cpp b/Gems/AudioSystem/Code/Tests/AudioSystemEditorTest.cpp index e086246e29..d7f9b31e25 100644 --- a/Gems/AudioSystem/Code/Tests/AudioSystemEditorTest.cpp +++ b/Gems/AudioSystem/Code/Tests/AudioSystemEditorTest.cpp @@ -36,14 +36,14 @@ namespace CustomMocks : m_levelName(levelName) {} - AZ::IO::ArchiveFileIterator FindFirst([[maybe_unused]] AZStd::string_view dir, [[maybe_unused]] unsigned int flags, [[maybe_unused]] bool allowUseFileSystem) override + AZ::IO::ArchiveFileIterator FindFirst([[maybe_unused]] AZStd::string_view dir, AZ::IO::IArchive::EFileSearchType) override { AZ::IO::FileDesc fileDesc; fileDesc.nSize = sizeof(AZ::IO::FileDesc); // Add a filename and file description reference to the TestFindData map to make sure the file iterator is valid - AZStd::intrusive_ptr findData = new TestFindData{}; - findData->m_mapFiles.emplace(m_levelName, fileDesc); - return findData->Fetch(); + m_findData = new TestFindData(); + m_findData->m_fileStack.emplace_back(AZ::IO::ArchiveFileIterator{ static_cast(m_findData.get()), m_levelName, fileDesc }); + return m_findData->Fetch(); } AZ::IO::ArchiveFileIterator FindNext(AZ::IO::ArchiveFileIterator iter) override @@ -54,13 +54,14 @@ namespace CustomMocks // public: for easy resetting... AZStd::string m_levelName; - // Add an inherited FindData class to control the adding of a mapfile which indicates that a FileIterator is valid struct TestFindData : AZ::IO::FindData { - using AZ::IO::FindData::m_mapFiles; + using AZ::IO::FindData::m_fileStack; }; + + AZStd::intrusive_ptr m_findData; }; } // namespace CustomMocks From 1d8f1da2137ef2ce7d2236aad0d3887cb2495c0e Mon Sep 17 00:00:00 2001 From: galibzon <66021303+galibzon@users.noreply.github.com> Date: Fri, 11 Jun 2021 12:28:17 -0500 Subject: [PATCH 145/205] Fix automation bug caused by unexpected AZ_Error string: (#1269) [Pass LookModificationComposite] Could not bind shader buffer index 'm_eyeAdaptation' because it has no attachment. The error message is now ONLY reported if the RHI is not Null. Signed-off-by: garrieta --- Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp index 3e52130f6f..2c88ca60c9 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/RenderPass.cpp @@ -10,6 +10,7 @@ * */ +#include #include #include #include @@ -165,7 +166,7 @@ namespace AZ } else { - AZ_Error("Pass System", false, "[Pass %s] Could not bind shader buffer index '%s' because it has no attachment.", GetName().GetCStr(), shaderName.GetCStr()); + AZ_Error( "Pass System", AZ::RHI::IsNullRenderer(), "[Pass %s] Could not bind shader buffer index '%s' because it has no attachment.", GetName().GetCStr(), shaderName.GetCStr()); binding.m_shaderInputIndex = PassAttachmentBinding::ShaderInputNoBind; } } From 9bb34a61219ea8b8487cedb71323bdd11dbdf0d1 Mon Sep 17 00:00:00 2001 From: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> Date: Fri, 11 Jun 2021 11:48:59 -0700 Subject: [PATCH 146/205] Remove references to Wireframe menu item that was removed in a previous PR (#1263) --- Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp index ebc688f9da..0dec8e3af6 100644 --- a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp +++ b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp @@ -715,11 +715,11 @@ QMenu* LevelEditorMenuHandler::CreateViewMenu() { return view.IsViewportPane(); }); -#endif - viewportViewsMenuWrapper.AddAction(ID_WIREFRAME); viewportViewsMenuWrapper.AddSeparator(); +#endif + if (CViewManager::IsMultiViewportEnabled()) { viewportViewsMenuWrapper.AddAction(ID_VIEW_CONFIGURELAYOUT); From 0b3a56d031f65db47f8aad84577c7ef1f0eeae5c Mon Sep 17 00:00:00 2001 From: mgwynn Date: Fri, 11 Jun 2021 15:00:57 -0400 Subject: [PATCH 147/205] Incorporating review comments. Adding checks for json contents. Added class. Minor reformatting. --- scripts/o3de/o3de/project_properties.py | 2 +- .../tests/unit_test_project_properties.py | 72 ++++++++++++------- 2 files changed, 46 insertions(+), 28 deletions(-) diff --git a/scripts/o3de/o3de/project_properties.py b/scripts/o3de/o3de/project_properties.py index aefe5c53e9..166ae9ac5f 100644 --- a/scripts/o3de/o3de/project_properties.py +++ b/scripts/o3de/o3de/project_properties.py @@ -58,7 +58,7 @@ def edit_project_props(proj_path, proj_name, new_origin, new_display, else: logger.warning(f'user_tags property not found for removal of {remove_tags}.') if replace_tags: - tag_list = [replace_tags] if isinstance(replace_tags, str) else replace_tags + tag_list = replace_tags.split() if isinstance(replace_tags, str) else replace_tags proj_json['user_tags'] = tag_list manifest.save_o3de_manifest(proj_json, pathlib.Path(proj_path) / 'project.json') diff --git a/scripts/o3de/tests/unit_test_project_properties.py b/scripts/o3de/tests/unit_test_project_properties.py index 957b5a19df..d467d9c3d0 100644 --- a/scripts/o3de/tests/unit_test_project_properties.py +++ b/scripts/o3de/tests/unit_test_project_properties.py @@ -31,34 +31,52 @@ TEST_DEFAULT_PROJECT_DATA = { "icon_path": "preview.png" } -def get_project_json_data(project_name, project_path) -> str: - if project_path == '': - return None - return TEST_DEFAULT_PROJECT_DATA +@pytest.fixture(scope='class') +def init_project_json_data(request): + class ProjectJsonData: + def __init__(self): + self.data = TEST_DEFAULT_PROJECT_DATA + request.cls.project_json = ProjectJsonData() -def save_o3de_manifest(new_proj_data, project_path): - temp = new_proj_data +@pytest.mark.usefixtures('init_project_json_data') +class TestEditProjectProperties: + @pytest.mark.parametrize("project_path, project_name, project_origin, project_display,\ + project_summary, project_icon, add_tags, delete_tags,\ + replace_tags, expected_result", [ + pytest.param(pathlib.PurePath('E:/TestProject'), + 'test', 'editing by pytest', 'Unit Test', 'pyTest project', 'pytest.bmp', 'A B C', + 'B', 'D E F', 0), + pytest.param('', + 'test', 'editing by pytest', 'Unit Test', 'pyTest project', 'pytest.bmp', 'A B C', + 'B', 'D E F', 1) + ] + ) + def test_edit_project_properties(self,project_path, project_name, project_origin, project_display, + project_summary, project_icon, add_tags, delete_tags, + replace_tags, expected_result): -@pytest.mark.parametrize("project_path, project_name, project_origin, project_display,\ - project_summary, project_icon, add_tags, delete_tags,\ - replace_tags, expected_result", [ - pytest.param(pathlib.PurePath('E:/TestProject'), - 'test', 'editing by pytest', 'Unit Test', 'pyTest project', 'pytest.bmp', 'A B C', - 'B', 'D E F', 0), - pytest.param('', - 'test', 'editing by pytest', 'Unit Test', 'pyTest project', 'pytest.bmp', 'A B C', - 'B', 'D E F', 1) - ] -) + def get_project_json_data(project_name: str, project_path) -> dict: + if not project_path: + self.project_json.data = None + return None + return self.project_json.data -def test_edit_project_properties(project_path, project_name, project_origin, project_display, - project_summary, project_icon, add_tags, delete_tags, - replace_tags, expected_result): - - with patch('o3de.manifest.get_project_json_data', side_effect=get_project_json_data) as get_project_json_data_patch, \ - patch('o3de.manifest.save_o3de_manifest', side_effect=save_o3de_manifest) as save_o3de_manifest_patch: - result = project_properties.edit_project_props(project_path, project_name, project_origin, - project_display, project_summary, project_icon, - add_tags, delete_tags, replace_tags) - assert result == expected_result + def save_o3de_manifest(new_proj_data: dict, project_path) -> None: + self.project_json.data = new_proj_data + with patch('o3de.manifest.get_project_json_data', side_effect=get_project_json_data) as get_project_json_data_patch, \ + patch('o3de.manifest.save_o3de_manifest', side_effect=save_o3de_manifest) as save_o3de_manifest_patch: + result = project_properties.edit_project_props(project_path, project_name, project_origin, + project_display, project_summary, project_icon, + add_tags, delete_tags, replace_tags) + assert result == expected_result + if project_path: + assert self.project_json.data + assert self.project_json.data.get('origin', '') == project_origin + assert self.project_json.data.get('display_name', '') == project_display + assert self.project_json.data.get('summary', '') == project_summary + assert self.project_json.data.get('icon_path', '') == project_icon + expected_tag_set = set(replace_tags.split()) + assert expected_tag_set.issubset(self.project_json.data.get('user_tags', set())) + else: + assert not self.project_json.data From 01f80c7b408f0659d5360ff1a435923f057f34e2 Mon Sep 17 00:00:00 2001 From: Ken Pruiksma Date: Fri, 11 Jun 2021 14:39:53 -0500 Subject: [PATCH 148/205] Changing the default level to use 1024 shadowmaps instead of 2048, pcf instead of esm+pcf, and bifubic filtering instead of boundary search. This should make the default level more perfomant and it actuallly looks a little better. (#1273) --- .../CommonFeatures/Assets/LevelAssets/default.slice | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Assets/LevelAssets/default.slice b/Gems/AtomLyIntegration/CommonFeatures/Assets/LevelAssets/default.slice index c20c6cde0b..b4c9eac10f 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Assets/LevelAssets/default.slice +++ b/Gems/AtomLyIntegration/CommonFeatures/Assets/LevelAssets/default.slice @@ -960,7 +960,7 @@ - + @@ -968,10 +968,11 @@ - + + @@ -1109,4 +1110,3 @@ - From 3127bf74772bfe8b3387b92358116472ba6ad9db Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Fri, 11 Jun 2021 15:02:15 -0500 Subject: [PATCH 149/205] Making sure the expected tag set exactly matches the "user_tags" in the project_json --- scripts/o3de/tests/unit_test_project_properties.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/o3de/tests/unit_test_project_properties.py b/scripts/o3de/tests/unit_test_project_properties.py index d467d9c3d0..5e9aea3964 100644 --- a/scripts/o3de/tests/unit_test_project_properties.py +++ b/scripts/o3de/tests/unit_test_project_properties.py @@ -51,7 +51,7 @@ class TestEditProjectProperties: 'B', 'D E F', 1) ] ) - def test_edit_project_properties(self,project_path, project_name, project_origin, project_display, + def test_edit_project_properties(self, project_path, project_name, project_origin, project_display, project_summary, project_icon, add_tags, delete_tags, replace_tags, expected_result): @@ -77,6 +77,7 @@ class TestEditProjectProperties: assert self.project_json.data.get('summary', '') == project_summary assert self.project_json.data.get('icon_path', '') == project_icon expected_tag_set = set(replace_tags.split()) - assert expected_tag_set.issubset(self.project_json.data.get('user_tags', set())) + project_json_tag_set = set(self.project_json.data.get('user_tags', [])) + assert project_json_tag_set == expected_tag_set else: assert not self.project_json.data From fe441b01a09af4cbef4fa27f75d6f88b5319b6ed Mon Sep 17 00:00:00 2001 From: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Date: Fri, 11 Jun 2021 15:04:51 -0500 Subject: [PATCH 150/205] Split the new_tags and delete_tags paramaters if they are strings on spaces. --- scripts/o3de/o3de/project_properties.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/o3de/o3de/project_properties.py b/scripts/o3de/o3de/project_properties.py index 166ae9ac5f..38dab18894 100644 --- a/scripts/o3de/o3de/project_properties.py +++ b/scripts/o3de/o3de/project_properties.py @@ -45,10 +45,10 @@ def edit_project_props(proj_path, proj_name, new_origin, new_display, if new_icon: proj_json['icon_path'] = new_icon if new_tags: - tag_list = [new_tags] if isinstance(new_tags, str) else new_tags + tag_list = new_tags.split() if isinstance(new_tags, str) else new_tags proj_json.setdefault('user_tags', []).extend(tag_list) if delete_tags: - removal_list = [delete_tags] if isinstance(delete_tags, str) else delete_tags + removal_list = delete_tags.split() if isinstance(delete_tags, str) else delete_tags if 'user_tags' in proj_json: for tag in removal_list: if tag in proj_json['user_tags']: From 015f85db20ee0067084589d8e71cf6d598953eac Mon Sep 17 00:00:00 2001 From: Chris Galvan Date: Fri, 11 Jun 2021 15:15:45 -0500 Subject: [PATCH 151/205] [LYN-4160] Fixed intermittent crash by changing instantiate prefab dialog to use the AzToolsFramework::GetActiveWindow() helper which always gives a valid active window. --- .../UI/Prefab/PrefabIntegrationManager.cpp | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.cpp index 77918565e4..54ad96535f 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/PrefabIntegrationManager.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -588,15 +589,6 @@ namespace AzToolsFramework bool PrefabIntegrationManager::QueryUserForPrefabFilePath(AZStd::string& outPrefabFilePath) { - QWidget* mainWindow = nullptr; - EditorRequests::Bus::BroadcastResult(mainWindow, &EditorRequests::Bus::Events::GetMainWindow); - - if (mainWindow == nullptr) - { - AZ_Assert(false, "Prefab - Could not detect Editor main window to generate the asset picker."); - return false; - } - AssetSelectionModel selection; // Note, stringfilter will match every source file CONTAINING ".prefab". @@ -624,7 +616,7 @@ namespace AzToolsFramework selection.SetDisplayFilter(compositeFilterPtr); selection.SetSelectionFilter(compositeFilterPtr); - AssetBrowserComponentRequestBus::Broadcast(&AssetBrowserComponentRequests::PickAssets, selection, mainWindow); + AssetBrowserComponentRequestBus::Broadcast(&AssetBrowserComponentRequests::PickAssets, selection, AzToolsFramework::GetActiveWindow()); if (!selection.IsValid()) { @@ -983,12 +975,7 @@ namespace AzToolsFramework includedEntities.c_str(), referencedEntities.c_str()); - QWidget* mainWindow = nullptr; - AzToolsFramework::EditorRequests::Bus::BroadcastResult( - mainWindow, - &AzToolsFramework::EditorRequests::Bus::Events::GetMainWindow); - - QMessageBox msgBox(mainWindow); + QMessageBox msgBox(AzToolsFramework::GetActiveWindow()); msgBox.setWindowTitle("External Entity References"); msgBox.setText("The prefab contains references to external entities that are not selected."); msgBox.setInformativeText("You can move the referenced entities into this prefab or retain the external references."); From 3895c93e04a3fe33c458c0a5eb7ccb6768d956ce Mon Sep 17 00:00:00 2001 From: greerdv Date: Fri, 11 Jun 2021 22:05:37 +0100 Subject: [PATCH 152/205] avoid some divisions by zero in simd math types --- .../AzCore/Math/Internal/SimdMathCommon_simd.inl | 13 +++++++++++-- .../AzCore/Math/Internal/SimdMathVec2_sse.inl | 2 ++ .../AzCore/Math/Internal/SimdMathVec3_sse.inl | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathCommon_simd.inl b/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathCommon_simd.inl index 770a8fa104..d06372256d 100644 --- a/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathCommon_simd.inl +++ b/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathCommon_simd.inl @@ -292,8 +292,13 @@ namespace AZ const typename VecType::FloatType cmp2 = VecType::AndNot(cmp0, cmp1); // -1/x + // this step is calculated for all values of x, but only used if x > Sqrt(2) + 1 + // in order to avoid a division by zero, detect if xabs is zero here and replace it with an arbitrary value + // if xabs does equal zero, the value here doesn't matter because the result will be thrown away + typename VecType::FloatType xabsSafe = + VecType::Add(xabs, VecType::And(VecType::CmpEq(xabs, VecType::ZeroFloat()), FastLoadConstant(Simd::g_vec1111))); const typename VecType::FloatType y0 = VecType::And(cmp0, FastLoadConstant(Simd::g_HalfPi)); - typename VecType::FloatType x0 = VecType::Div(FastLoadConstant(Simd::g_vec1111), xabs); + typename VecType::FloatType x0 = VecType::Div(FastLoadConstant(Simd::g_vec1111), xabsSafe); x0 = VecType::Xor(x0, VecType::CastToFloat(FastLoadConstant(Simd::g_negateMask))); const typename VecType::FloatType y1 = VecType::And(cmp2, FastLoadConstant(Simd::g_QuarterPi)); @@ -368,8 +373,12 @@ namespace AZ typename VecType::FloatType offset = VecType::And(x_lt_0, offset1); + // the result of this part of the computation is thrown away if x equals 0, + // but if x does equal 0, it will cause a division by zero + // so replace zero by an arbitrary value here in that case + typename VecType::FloatType xSafe = VecType::Add(x, VecType::And(x_eq_0, FastLoadConstant(Simd::g_vec1111))); const typename VecType::FloatType atan_mask = VecType::Not(VecType::Or(x_eq_0, y_eq_0)); - const typename VecType::FloatType atan_arg = VecType::Div(y, x); + const typename VecType::FloatType atan_arg = VecType::Div(y, xSafe); typename VecType::FloatType atan_result = VecType::Atan(atan_arg); atan_result = VecType::Add(atan_result, offset); atan_result = VecType::AndNot(pio2_mask, atan_result); diff --git a/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathVec2_sse.inl b/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathVec2_sse.inl index 8f35af258c..63e2dca8fd 100644 --- a/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathVec2_sse.inl +++ b/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathVec2_sse.inl @@ -471,6 +471,7 @@ namespace AZ AZ_MATH_INLINE Vec2::FloatType Vec2::Reciprocal(FloatArgType value) { + value = Sse::ReplaceFourth(Sse::ReplaceThird(value, 1.0f), 1.0f); return Sse::Reciprocal(value); } @@ -513,6 +514,7 @@ namespace AZ AZ_MATH_INLINE Vec2::FloatType Vec2::SqrtInv(FloatArgType value) { + value = Sse::ReplaceFourth(Sse::ReplaceThird(value, 1.0f), 1.0f); return Sse::SqrtInv(value); } diff --git a/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathVec3_sse.inl b/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathVec3_sse.inl index 78a0d5db66..75ee2ab7c5 100644 --- a/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathVec3_sse.inl +++ b/Code/Framework/AzCore/AzCore/Math/Internal/SimdMathVec3_sse.inl @@ -507,6 +507,7 @@ namespace AZ AZ_MATH_INLINE Vec3::FloatType Vec3::Reciprocal(FloatArgType value) { + value = Sse::ReplaceFourth(value, 1.0f); return Sse::Reciprocal(value); } @@ -549,6 +550,7 @@ namespace AZ AZ_MATH_INLINE Vec3::FloatType Vec3::SqrtInv(FloatArgType value) { + value = Sse::ReplaceFourth(value, 1.0f); return Sse::SqrtInv(value); } From e6b8dc2ce1cb8571e9197cfec15b73ac795e7166 Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Fri, 11 Jun 2021 14:37:12 -0700 Subject: [PATCH 153/205] Disable AzTest and AzTestRunner in monolithic builds --- Code/Framework/AzTest/CMakeLists.txt | 42 ++++++++++++++------------ Code/Tools/AzTestRunner/CMakeLists.txt | 2 +- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/Code/Framework/AzTest/CMakeLists.txt b/Code/Framework/AzTest/CMakeLists.txt index fe5ec2d0ff..d7b8813639 100644 --- a/Code/Framework/AzTest/CMakeLists.txt +++ b/Code/Framework/AzTest/CMakeLists.txt @@ -8,25 +8,27 @@ # remove or modify any license notices. This file is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # - -ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/AzTest/Platform/${PAL_PLATFORM_NAME}) -ly_add_target( - NAME AzTest STATIC - NAMESPACE AZ - FILES_CMAKE - AzTest/aztest_files.cmake - ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake - INCLUDE_DIRECTORIES - PUBLIC - . - ${pal_dir} - BUILD_DEPENDENCIES - PUBLIC - 3rdParty::googletest::GMock - 3rdParty::googletest::GTest - 3rdParty::GoogleBenchmark - AZ::AzCore - PLATFORM_INCLUDE_FILES +if(NOT LY_MONOLITHIC_GAME) + ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/AzTest/Platform/${PAL_PLATFORM_NAME}) + + ly_add_target( + NAME AzTest STATIC + NAMESPACE AZ + FILES_CMAKE + AzTest/aztest_files.cmake + ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake + INCLUDE_DIRECTORIES + PUBLIC + . + ${pal_dir} + BUILD_DEPENDENCIES + PUBLIC + 3rdParty::googletest::GMock + 3rdParty::googletest::GTest + 3rdParty::GoogleBenchmark + AZ::AzCore + PLATFORM_INCLUDE_FILES ${pal_dir}/platform_${PAL_PLATFORM_NAME_LOWERCASE}.cmake -) + ) +endif() diff --git a/Code/Tools/AzTestRunner/CMakeLists.txt b/Code/Tools/AzTestRunner/CMakeLists.txt index e6dd09e15b..fcff173b01 100644 --- a/Code/Tools/AzTestRunner/CMakeLists.txt +++ b/Code/Tools/AzTestRunner/CMakeLists.txt @@ -13,7 +13,7 @@ ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${P include(${pal_dir}/platform_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake) -if(PAL_TRAIT_AZTESTRUNNER_SUPPORTED) +if(PAL_TRAIT_AZTESTRUNNER_SUPPORTED AND NOT LY_MONOLITHIC_GAME) ly_add_target( NAME AzTestRunner ${PAL_TRAIT_AZTESTRUNNER_LAUNCHER_TYPE} From 21f209311cd50ec2e4cb989bac4333d390cd1b3c Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Fri, 11 Jun 2021 14:54:24 -0700 Subject: [PATCH 154/205] Parameter may be unused --- Code/LauncherUnified/StaticModules.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/LauncherUnified/StaticModules.in b/Code/LauncherUnified/StaticModules.in index 03b22b076a..5f2c9d7526 100644 --- a/Code/LauncherUnified/StaticModules.in +++ b/Code/LauncherUnified/StaticModules.in @@ -27,7 +27,7 @@ namespace AZ ${extern_module_declarations} -extern "C" void CreateStaticModules(AZStd::vector& modulesOut) +extern "C" void CreateStaticModules([[maybe_unused]] AZStd::vector& modulesOut) { ${module_invocations} } From ac5196dbf531c66c076f7ffda243a235013d3fda Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Fri, 11 Jun 2021 15:19:28 -0700 Subject: [PATCH 155/205] Revert previous change --- Code/LauncherUnified/StaticModules.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/LauncherUnified/StaticModules.in b/Code/LauncherUnified/StaticModules.in index 5f2c9d7526..03b22b076a 100644 --- a/Code/LauncherUnified/StaticModules.in +++ b/Code/LauncherUnified/StaticModules.in @@ -27,7 +27,7 @@ namespace AZ ${extern_module_declarations} -extern "C" void CreateStaticModules([[maybe_unused]] AZStd::vector& modulesOut) +extern "C" void CreateStaticModules(AZStd::vector& modulesOut) { ${module_invocations} } From f6a6614e4b68d3a5dfcdd979e61a619a95d60931 Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Fri, 11 Jun 2021 15:29:46 -0700 Subject: [PATCH 156/205] StaticModules.in must be generated after the gems are enabled --- CMakeLists.txt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0585089325..4a12e0c50a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,24 +105,25 @@ endforeach() # Post-processing ################################################################################ # The following steps have to be done after all targets are registered: -# Defer generation of the StaticModules.inl file which is needed to create the AZ::Module derived class in monolithic -# builds until after all the targets are known -ly_delayed_generate_static_modules_inl() # 1. Add any dependencies registered via ly_enable_gems ly_enable_gems_delayed() -# 2. generate a settings registry .setreg file for all ly_add_project_dependencies() and ly_add_target_dependencies() calls +# 2. Defer generation of the StaticModules.inl file which is needed to create the AZ::Module derived class in monolithic +# builds until after all the targets are known and all the gems are enabled +ly_delayed_generate_static_modules_inl() + +# 3. generate a settings registry .setreg file for all ly_add_project_dependencies() and ly_add_target_dependencies() calls # to provide applications with the filenames of gem modules to load # This must be done before ly_delayed_target_link_libraries() as that inserts BUILD_DEPENDENCIES as MANUALLY_ADDED_DEPENDENCIES # if the build dependency is a MODULE_LIBRARY. That would cause a false load dependency to be generated ly_delayed_generate_settings_registry() -# 3. link targets where the dependency was yet not declared, we need to have the declaration so we do different +# 4. link targets where the dependency was yet not declared, we need to have the declaration so we do different # linking logic depending on the type of target ly_delayed_target_link_libraries() -# 4. generate a registry file for unit testing for platforms that support unit testing +# 5. generate a registry file for unit testing for platforms that support unit testing if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) ly_delayed_generate_unit_test_module_registry() endif() From f9fe2392f422655fa8803bb30296cf90f63ee331 Mon Sep 17 00:00:00 2001 From: Junbo Liang <68558268+junbo75@users.noreply.github.com> Date: Fri, 11 Jun 2021 15:34:31 -0700 Subject: [PATCH 157/205] [SPEC-7257] [LYN-4472] [AWSMetrics] The background thread that monitors the metrics queue burns a lot of CPU (#1256) [LYN-4472] [AWSMetrics] The background thread that monitors the metrics queue burns a lot of CPU --- .../Code/Include/Private/MetricsManager.h | 19 ++---- .../AWSMetrics/Code/Source/MetricsManager.cpp | 65 ++++++++----------- .../Code/Tests/MetricsManagerTest.cpp | 5 +- 3 files changed, 38 insertions(+), 51 deletions(-) diff --git a/Gems/AWSMetrics/Code/Include/Private/MetricsManager.h b/Gems/AWSMetrics/Code/Include/Private/MetricsManager.h index 28c8c3d762..b8b6a8ccce 100644 --- a/Gems/AWSMetrics/Code/Include/Private/MetricsManager.h +++ b/Gems/AWSMetrics/Code/Include/Private/MetricsManager.h @@ -122,29 +122,22 @@ namespace AWSMetrics //! @return Outcome of the operation. AZ::Outcome SendMetricsToFile(AZStd::shared_ptr metricsQueue); - //! Check whether the consumer should flush the metrics queue. - //! @return whether the limit is hit. - bool ShouldSendMetrics(); - //! Push metrics events to the front of the queue for retry. //! @param metricsEventsForRetry Metrics events for retry. void PushMetricsForRetry(MetricsQueue& metricsEventsForRetry); void SubmitLocalMetricsAsync(); - //////////////////////////////////////////// - // These data are protected by m_metricsMutex. - AZStd::mutex m_metricsMutex; - AZStd::chrono::system_clock::time_point m_lastSendMetricsTime; - MetricsQueue m_metricsQueue; - //////////////////////////////////////////// + AZStd::mutex m_metricsMutex; //!< Mutex to protect the metrics queue + MetricsQueue m_metricsQueue; //!< Queue fo buffering the metrics events - AZStd::mutex m_metricsFileMutex; //!< Local metrics file is protected by m_metricsFileMutex + AZStd::mutex m_metricsFileMutex; //!< Mutex to protect the local metrics file AZStd::atomic m_sendMetricsId;//!< Request ID for sending metrics - AZStd::thread m_consumerThread; //!< Thread to monitor and consume the metrics queue - AZStd::atomic m_consumerTerminated; + AZStd::thread m_monitorThread; //!< Thread to monitor and consume the metrics queue + AZStd::atomic m_monitorTerminated; + AZStd::binary_semaphore m_waitEvent; // Client Configurations. AZStd::unique_ptr m_clientConfiguration; diff --git a/Gems/AWSMetrics/Code/Source/MetricsManager.cpp b/Gems/AWSMetrics/Code/Source/MetricsManager.cpp index 2f4f1fb5e5..d48ec1a041 100644 --- a/Gems/AWSMetrics/Code/Source/MetricsManager.cpp +++ b/Gems/AWSMetrics/Code/Source/MetricsManager.cpp @@ -29,7 +29,7 @@ namespace AWSMetrics MetricsManager::MetricsManager() : m_clientConfiguration(AZStd::make_unique()) , m_clientIdProvider(IdentityProvider::CreateIdentityProvider()) - , m_consumerTerminated(true) + , m_monitorTerminated(true) , m_sendMetricsId(0) { } @@ -53,31 +53,27 @@ namespace AWSMetrics void MetricsManager::StartMetrics() { - if (!m_consumerTerminated) + if (!m_monitorTerminated) { // The background thread has been started. return; } - - m_consumerTerminated = false; - - AZStd::lock_guard lock(m_metricsMutex); - m_lastSendMetricsTime = AZStd::chrono::system_clock::now(); + m_monitorTerminated = false; // Start a separate thread to monitor and consume the metrics queue. // Avoid using the job system since the worker is long-running over multiple frames - m_consumerThread = AZStd::thread(AZStd::bind(&MetricsManager::MonitorMetricsQueue, this)); + m_monitorThread = AZStd::thread(AZStd::bind(&MetricsManager::MonitorMetricsQueue, this)); } void MetricsManager::MonitorMetricsQueue() { - while (!m_consumerTerminated) + // Continue to loop until the monitor is terminated. + while (!m_monitorTerminated) { - if (ShouldSendMetrics()) - { - // Flush the metrics queue when the accumulated metrics size or time period hits the limit - FlushMetricsAsync(); - } + // The thread will wake up either when the metrics event queue is full (try_acquire_for call returns true), + // or the flush period limit is hit (try_acquire_for call returns false). + m_waitEvent.try_acquire_for(AZStd::chrono::seconds(m_clientConfiguration->GetQueueFlushPeriodInSeconds())); + FlushMetricsAsync(); } } @@ -114,6 +110,12 @@ namespace AWSMetrics AZStd::lock_guard lock(m_metricsMutex); m_metricsQueue.AddMetrics(metricsEvent); + if (m_metricsQueue.GetSizeInBytes() >= m_clientConfiguration->GetMaxQueueSizeInBytes()) + { + // Flush the metrics queue when the accumulated metrics size hits the limit + m_waitEvent.release(); + } + return true; } @@ -348,9 +350,6 @@ namespace AWSMetrics void MetricsManager::FlushMetricsAsync() { AZStd::lock_guard lock(m_metricsMutex); - - m_lastSendMetricsTime = AZStd::chrono::system_clock::now(); - if (m_metricsQueue.GetNumMetrics() == 0) { return; @@ -363,34 +362,20 @@ namespace AWSMetrics SendMetricsAsync(metricsToFlush); } - bool MetricsManager::ShouldSendMetrics() - { - AZStd::lock_guard lock(m_metricsMutex); - - auto secondsSinceLastFlush = AZStd::chrono::duration_cast(AZStd::chrono::system_clock::now() - m_lastSendMetricsTime); - if (secondsSinceLastFlush >= AZStd::chrono::seconds(m_clientConfiguration->GetQueueFlushPeriodInSeconds()) || - m_metricsQueue.GetSizeInBytes() >= m_clientConfiguration->GetMaxQueueSizeInBytes()) - { - return true; - } - - return false; - } - void MetricsManager::ShutdownMetrics() { - if (m_consumerTerminated) + if (m_monitorTerminated) { return; } - // Terminate the consumer thread - m_consumerTerminated = true; - FlushMetricsAsync(); + // Terminate the monitor thread + m_monitorTerminated = true; + m_waitEvent.release(); - if (m_consumerThread.joinable()) + if (m_monitorThread.joinable()) { - m_consumerThread.join(); + m_monitorThread.join(); } } @@ -449,6 +434,12 @@ namespace AWSMetrics { AZStd::lock_guard lock(m_metricsMutex); m_metricsQueue.AddMetrics(offlineRecords[index]); + + if (m_metricsQueue.GetSizeInBytes() >= m_clientConfiguration->GetMaxQueueSizeInBytes()) + { + // Flush the metrics queue when the accumulated metrics size hits the limit + m_waitEvent.release(); + } } // Remove the local metrics file after reading all its content. diff --git a/Gems/AWSMetrics/Code/Tests/MetricsManagerTest.cpp b/Gems/AWSMetrics/Code/Tests/MetricsManagerTest.cpp index 82385b8bdd..bd7ecb722e 100644 --- a/Gems/AWSMetrics/Code/Tests/MetricsManagerTest.cpp +++ b/Gems/AWSMetrics/Code/Tests/MetricsManagerTest.cpp @@ -355,6 +355,9 @@ namespace AWSMetrics TEST_F(MetricsManagerTest, FlushMetrics_NonEmptyQueue_Success) { + ResetClientConfig(true, (double)TestMetricsEventSizeInBytes * (MaxNumMetricsEvents + 1) / MbToBytes, + DefaultFlushPeriodInSeconds, 1); + for (int index = 0; index < MaxNumMetricsEvents; ++index) { AZStd::vector metricsAttributes; @@ -377,7 +380,7 @@ namespace AWSMetrics TEST_F(MetricsManagerTest, ResetOfflineRecordingStatus_ResubmitLocalMetrics_Success) { // Disable offline recording in the config file. - ResetClientConfig(false, 0.0, 0, 0); + ResetClientConfig(false, (double)TestMetricsEventSizeInBytes * 2 / MbToBytes, 0, 0); // Enable offline recording after initialize the metric manager. m_metricsManager->UpdateOfflineRecordingStatus(true); From d7ec767ebcb7777cee5f2dd19de7e0d7f22123d5 Mon Sep 17 00:00:00 2001 From: Chris Burel Date: Fri, 11 Jun 2021 15:43:09 -0700 Subject: [PATCH 158/205] Enable `-Wnon-pod-varargs` (#1278) --- .../AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp | 2 +- .../AzToolsFramework/Prefab/PrefabPublicHandler.cpp | 2 +- cmake/Platform/Common/Clang/Configurations_clang.cmake | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp index 5cdd028bbb..6805575d95 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Asset/AssetUtils.cpp @@ -230,7 +230,7 @@ namespace AzToolsFramework::AssetUtils AZStd::vector gemInfoList; if (!AzFramework::GetGemsInfo(gemInfoList, *settingsRegistry)) { - AZ_Error("AzToolsFramework::AssetUtils", false, "Failed to read gems from project folder(%s).\n", projectPath); + AZ_Error("AzToolsFramework::AssetUtils", false, "Failed to read gems from project folder(%.*s).\n", AZ_STRING_ARG(projectPath)); return {}; } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp index 690d408007..189cb9d161 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabPublicHandler.cpp @@ -336,7 +336,7 @@ namespace AzToolsFramework { // Load the template from the file templateId = m_prefabLoaderInterface->LoadTemplateFromFile(filePath); - AZ_Assert(templateId != InvalidTemplateId, "Template with source path %s couldn't be loaded correctly.", filePath); + AZ_Assert(templateId != InvalidTemplateId, "Template with source path %.*s couldn't be loaded correctly.", AZ_STRING_ARG(filePath)); } const PrefabDom& templateDom = m_prefabSystemComponentInterface->FindTemplateDom(templateId); diff --git a/cmake/Platform/Common/Clang/Configurations_clang.cmake b/cmake/Platform/Common/Clang/Configurations_clang.cmake index 768b7dd4c2..4f9b3154e6 100644 --- a/cmake/Platform/Common/Clang/Configurations_clang.cmake +++ b/cmake/Platform/Common/Clang/Configurations_clang.cmake @@ -40,7 +40,6 @@ ly_append_configurations_options( -Wno-unused-private-field -Wno-unused-value -Wno-unused-variable - -Wno-non-pod-varargs -Wno-unused-lambda-capture # Workaround for compiler seeing file case differently from what OS show in console. -Wno-nonportable-include-path From a5cead4414465d4a3d81b64fb7803dede3a94428 Mon Sep 17 00:00:00 2001 From: mgwynn Date: Fri, 11 Jun 2021 19:05:51 -0400 Subject: [PATCH 159/205] updating missed variable name change in logging call --- scripts/o3de/o3de/project_properties.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/o3de/o3de/project_properties.py b/scripts/o3de/o3de/project_properties.py index 38dab18894..33a4c8ff95 100644 --- a/scripts/o3de/o3de/project_properties.py +++ b/scripts/o3de/o3de/project_properties.py @@ -56,7 +56,7 @@ def edit_project_props(proj_path, proj_name, new_origin, new_display, else: logger.warning(f'{tag} not found in user_tags for removal.') else: - logger.warning(f'user_tags property not found for removal of {remove_tags}.') + logger.warning(f'user_tags property not found for removal of {delete_tags}.') if replace_tags: tag_list = replace_tags.split() if isinstance(replace_tags, str) else replace_tags proj_json['user_tags'] = tag_list From 5e5aea8d946c7bfe4f313686f02926a00af8e7c5 Mon Sep 17 00:00:00 2001 From: crroby Date: Fri, 11 Jun 2021 16:28:27 -0700 Subject: [PATCH 160/205] Updated some of the physx samples --- .../Default_Phys_Materials.physmaterial | 95 +- .../Controllers/2DKinematicController.prefab | 334 + .../Prefabs/Features/CorePhysFeatures.prefab | 1607 ++ .../Primitives/RigidBody_box_1x1.prefab | 262 + .../CameraRigs/TopDown_Lerp_Rig.scriptcanvas | 5779 ++--- ...pDown_Kinematic_2D_Controller.scriptcanvas | 18447 +++++++++------- .../FeatureScripts/OnCollision.scriptcanvas | 6343 +++++- .../FeatureScripts/Raycast.scriptcanvas | 9344 ++++---- .../FeatureScripts/ShapeCast.scriptcanvas | 17514 +++++++++------ .../FeatureScripts/Trigger.scriptcanvas | 4569 +++- .../_Primitives/_Box_1x1.fbx.assetinfo | 92 +- .../Assets/Objects/_Primitives/_Box_1x1.mtl | 13 - .../_Primitives/_Box_1x1_MiddleGrey.material | 30 + .../_Primitives/_Cylinder_1x1.fbx.assetinfo | 153 +- .../Objects/_Primitives/_Cylinder_1x1.mtl | 14 - .../_Cylinder_1x1_MiddleGrey.material | 30 + .../_Primitives/_Sphere_1x1.fbx.assetinfo | 87 +- .../Objects/_Primitives/_Sphere_1x1.mtl | 14 - .../_Sphere_1x1_MiddleGrey.material | 33 + .../Assets/Slices/_Box_1x1.slice | 430 - .../Assets/Slices/_Cylinder_1x1.slice | 435 - .../Assets/Slices/_Sphere_1x1.slice | 430 - 22 files changed, 40436 insertions(+), 25619 deletions(-) create mode 100644 Gems/PhysXSamples/Assets/Prefabs/Controllers/2DKinematicController.prefab create mode 100644 Gems/PhysXSamples/Assets/Prefabs/Features/CorePhysFeatures.prefab create mode 100644 Gems/PhysXSamples/Assets/Prefabs/Primitives/RigidBody_box_1x1.prefab delete mode 100644 Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1.mtl create mode 100644 Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1_MiddleGrey.material delete mode 100644 Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1.mtl create mode 100644 Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1_MiddleGrey.material delete mode 100644 Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1.mtl create mode 100644 Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1_MiddleGrey.material delete mode 100644 Gems/PrimitiveAssets/Assets/Slices/_Box_1x1.slice delete mode 100644 Gems/PrimitiveAssets/Assets/Slices/_Cylinder_1x1.slice delete mode 100644 Gems/PrimitiveAssets/Assets/Slices/_Sphere_1x1.slice diff --git a/Gems/PhysXSamples/Assets/PhysicsSurfaces/Default_Phys_Materials.physmaterial b/Gems/PhysXSamples/Assets/PhysicsSurfaces/Default_Phys_Materials.physmaterial index 0b55891ad9..481cd2fbfa 100644 --- a/Gems/PhysXSamples/Assets/PhysicsSurfaces/Default_Phys_Materials.physmaterial +++ b/Gems/PhysXSamples/Assets/PhysicsSurfaces/Default_Phys_Materials.physmaterial @@ -1,147 +1,154 @@ - + - - - - - - - - - - - - - - - + + + + - + - - + + + + - + - - + + + + - + - - + + + + - + - - + + + + - + - - + + + + - + - - + + + + - + - - + + + + - + - - + + + + - + - - + + + + - + diff --git a/Gems/PhysXSamples/Assets/Prefabs/Controllers/2DKinematicController.prefab b/Gems/PhysXSamples/Assets/Prefabs/Controllers/2DKinematicController.prefab new file mode 100644 index 0000000000..c1a55b7e54 --- /dev/null +++ b/Gems/PhysXSamples/Assets/Prefabs/Controllers/2DKinematicController.prefab @@ -0,0 +1,334 @@ +{ + "Source": "Prefabs/Controllers/2DKinematicController.prefab", + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "2DKinematicController", + "Components": { + "Component_[11539033767689311623]": { + "$type": "EditorInspectorComponent", + "Id": 11539033767689311623 + }, + "Component_[12240576010949505871]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 12240576010949505871, + "Parent Entity": "", + "Cached World Transform Parent": "" + }, + "Component_[1372863918033234618]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 1372863918033234618 + }, + "Component_[1583248198271720529]": { + "$type": "EditorLockComponent", + "Id": 1583248198271720529 + }, + "Component_[17816689374386381715]": { + "$type": "EditorVisibilityComponent", + "Id": 17816689374386381715 + }, + "Component_[3563866834284032112]": { + "$type": "EditorPendingCompositionComponent", + "Id": 3563866834284032112 + }, + "Component_[4157438059914802115]": { + "$type": "EditorPrefabComponent", + "Id": 4157438059914802115 + }, + "Component_[5148356477499960749]": { + "$type": "EditorOnlyEntityComponent", + "Id": 5148356477499960749 + }, + "Component_[7559516569553007306]": { + "$type": "EditorEntityIconComponent", + "Id": 7559516569553007306 + }, + "Component_[8813895903057206755]": { + "$type": "EditorEntitySortComponent", + "Id": 8813895903057206755 + }, + "Component_[9497707449245631356]": { + "$type": "SelectionComponent", + "Id": 9497707449245631356 + } + }, + "IsDependencyReady": true + }, + "Entities": { + "Entity_[643371002284964]": { + "Id": "Entity_[643371002284964]", + "Name": "2DKinematicController", + "Components": { + "Component_[10065722160247043587]": { + "$type": "EditorInspectorComponent", + "Id": 10065722160247043587, + "ComponentOrderEntryArray": [ + { + "ComponentId": 6841277756634810451 + }, + { + "ComponentId": 1163909349516750867, + "SortIndex": 1 + }, + { + "ComponentId": 18330833270367342630, + "SortIndex": 2 + }, + { + "ComponentId": 9576032809723494042, + "SortIndex": 3 + }, + { + "ComponentId": 12457754517787174449, + "SortIndex": 4 + }, + { + "ComponentId": 18115254548667589150, + "SortIndex": 5 + }, + { + "ComponentId": 3756532608411720486, + "SortIndex": 6 + }, + { + "ComponentId": 13123806526606661430, + "SortIndex": 7 + }, + { + "ComponentId": 3914457465602345257, + "SortIndex": 8 + }, + { + "ComponentId": 6353265810460141519, + "SortIndex": 9 + } + ] + }, + "Component_[10069906390527457596]": { + "$type": "EditorEntityIconComponent", + "Id": 10069906390527457596 + }, + "Component_[11308925191733840030]": { + "$type": "EditorEntitySortComponent", + "Id": 11308925191733840030 + }, + "Component_[1163909349516750867]": { + "$type": "GenericComponentWrapper", + "Id": 1163909349516750867, + "m_template": { + "$type": "InputConfigurationComponent", + "Input Event Bindings": { + "assetId": { + "guid": "{B4802919-FC23-570A-8352-67EBA5128202}" + }, + "assetHint": "inputbindings/rayshapemove.inputbindings" + } + } + }, + "Component_[12457754517787174449]": { + "$type": "EditorScriptCanvasComponent", + "Id": 12457754517787174449, + "m_name": "Raycast", + "m_assetHolder": { + "m_asset": { + "assetId": { + "guid": "{DAED0786-2EE7-5AD0-A829-BDBBAA642966}" + }, + "assetHint": "scriptcanvas/featurescripts/raycast.scriptcanvas" + } + } + }, + "Component_[1265603808760623169]": { + "$type": "EditorOnlyEntityComponent", + "Id": 1265603808760623169 + }, + "Component_[13123806526606661430]": { + "$type": "EditorMaterialComponent", + "Id": 13123806526606661430, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialAssetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 2511422688 + } + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{7E8872C1-4F89-5870-9548-2FC8427813F2}" + }, + "assetHint": "objects/_primitives/_box_1x1_middlegrey.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialAssetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 2511422688 + } + }, + "materialAsset": { + "assetId": { + "guid": "{7E8872C1-4F89-5870-9548-2FC8427813F2}" + }, + "assetHint": "objects/_primitives/_box_1x1_middlegrey.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialAssetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 2511422688 + } + } + } + ] + ] + }, + "Component_[13307414618364908376]": { + "$type": "EditorLockComponent", + "Id": 13307414618364908376 + }, + "Component_[13915952181410589174]": { + "$type": "EditorVisibilityComponent", + "Id": 13915952181410589174 + }, + "Component_[18115254548667589150]": { + "$type": "EditorScriptCanvasComponent", + "Id": 18115254548667589150, + "m_name": "ShapeCast", + "m_assetHolder": { + "m_asset": { + "assetId": { + "guid": "{F9AF7061-5A8B-5DDD-A7DF-39704E329BAA}" + }, + "assetHint": "scriptcanvas/featurescripts/shapecast.scriptcanvas" + } + } + }, + "Component_[18330833270367342630]": { + "$type": "EditorTagComponent", + "Id": 18330833270367342630, + "Tags": [ + "2DKController" + ] + }, + "Component_[2754535855712554404]": { + "$type": "SelectionComponent", + "Id": 2754535855712554404 + }, + "Component_[3756532608411720486]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 3756532608411720486, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 284301017 + }, + "assetHint": "objects/_primitives/_box_1x1.azmodel" + } + } + } + }, + "Component_[3914457465602345257]": { + "$type": "EditorColliderComponent", + "Id": 3914457465602345257, + "ColliderConfiguration": { + "MaterialSelection": { + "MaterialIds": [ + { + "MaterialId": "{A9CACCFF-E0D2-4149-8891-E92319229B2D}" + } + ] + } + }, + "ShapeConfiguration": { + "ShapeType": 1, + "PhysicsAsset": { + "Asset": { + "assetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 858390244 + }, + "assetHint": "objects/_primitives/_box_1x1.pxmesh" + }, + "Configuration": { + "PhysicsAsset": { + "assetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 858390244 + }, + "loadBehavior": "QueueLoad", + "assetHint": "objects/_primitives/_box_1x1.pxmesh" + } + } + } + } + }, + "Component_[6353265810460141519]": { + "$type": "EditorRigidBodyComponent", + "Id": 6353265810460141519, + "Configuration": { + "entityId": "", + "Kinematic": true, + "Mass": 2400.0, + "Inertia tensor": { + "roll": 0.0, + "pitch": 0.0, + "yaw": 0.0, + "scale": 0.0024999999441206457 + } + } + }, + "Component_[6841277756634810451]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 6841277756634810451, + "Parent Entity": "ContainerEntity", + "Cached World Transform": { + "Translation": [ + 0.0, + -5.0, + 0.5 + ] + }, + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[7596089909282915892]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7596089909282915892 + }, + "Component_[766624839484949489]": { + "$type": "EditorPendingCompositionComponent", + "Id": 766624839484949489 + }, + "Component_[9576032809723494042]": { + "$type": "EditorScriptCanvasComponent", + "Id": 9576032809723494042, + "m_name": "TopDown_Kinematic_2D_Controller", + "m_assetHolder": { + "m_asset": { + "assetId": { + "guid": "{E72C7C42-63FC-5A9E-89C9-C96C179021DA}" + }, + "assetHint": "scriptcanvas/controllers/topdown_kinematic_2d_controller.scriptcanvas" + } + } + } + }, + "IsDependencyReady": true + } + } +} \ No newline at end of file diff --git a/Gems/PhysXSamples/Assets/Prefabs/Features/CorePhysFeatures.prefab b/Gems/PhysXSamples/Assets/Prefabs/Features/CorePhysFeatures.prefab new file mode 100644 index 0000000000..f14884752d --- /dev/null +++ b/Gems/PhysXSamples/Assets/Prefabs/Features/CorePhysFeatures.prefab @@ -0,0 +1,1607 @@ +{ + "Source": "Prefabs/Features/CorePhysFeatures.prefab", + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "CorePhysFeatures", + "Components": { + "Component_[12018227360040031373]": { + "$type": "EditorEntityIconComponent", + "Id": 12018227360040031373 + }, + "Component_[12025690176398811762]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 12025690176398811762, + "Parent Entity": "", + "Cached World Transform Parent": "" + }, + "Component_[15873585423682616299]": { + "$type": "EditorOnlyEntityComponent", + "Id": 15873585423682616299 + }, + "Component_[17025160190470119956]": { + "$type": "EditorLockComponent", + "Id": 17025160190470119956 + }, + "Component_[17374165880954846812]": { + "$type": "SelectionComponent", + "Id": 17374165880954846812 + }, + "Component_[249139998663618747]": { + "$type": "EditorEntitySortComponent", + "Id": 249139998663618747 + }, + "Component_[4854611161589462162]": { + "$type": "EditorPrefabComponent", + "Id": 4854611161589462162 + }, + "Component_[6236055739796116066]": { + "$type": "EditorInspectorComponent", + "Id": 6236055739796116066 + }, + "Component_[6511002710190986544]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 6511002710190986544 + }, + "Component_[6787951176403208307]": { + "$type": "EditorPendingCompositionComponent", + "Id": 6787951176403208307 + }, + "Component_[782538937137348392]": { + "$type": "EditorVisibilityComponent", + "Id": 782538937137348392 + } + }, + "IsDependencyReady": true + }, + "Entities": { + "Entity_[567551944608676]": { + "Id": "Entity_[567551944608676]", + "Name": "Camera", + "Components": { + "Component_[11359877655306480262]": { + "$type": "EditorVisibilityComponent", + "Id": 11359877655306480262 + }, + "Component_[12476791084970272606]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 12476791084970272606, + "Parent Entity": "Entity_[567569124477860]", + "Transform Data": { + "Translate": [ + 0.0, + 0.0, + 20.0 + ], + "Rotate": [ + -90.0, + 0.0, + 0.0 + ] + }, + "Cached World Transform": { + "Translation": [ + 0.0, + -5.0, + 20.5 + ], + "Rotation": [ + -0.7071067690849304, + 0.0, + 0.0, + 0.7071067094802856 + ] + }, + "Cached World Transform Parent": "Entity_[567569124477860]" + }, + "Component_[1301759437827736613]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 1301759437827736613 + }, + "Component_[13661872506661029566]": { + "$type": "EditorPendingCompositionComponent", + "Id": 13661872506661029566 + }, + "Component_[15329608069014888119]": { + "$type": "EditorOnlyEntityComponent", + "Id": 15329608069014888119 + }, + "Component_[17442497480529247517]": { + "$type": "EditorInspectorComponent", + "Id": 17442497480529247517 + }, + "Component_[17896369452390095162]": { + "$type": "EditorEntityIconComponent", + "Id": 17896369452390095162 + }, + "Component_[4987466091118446856]": { + "$type": "EditorEntitySortComponent", + "Id": 4987466091118446856 + }, + "Component_[5512870205308202494]": { + "$type": "{CA11DA46-29FF-4083-B5F6-E02C3A8C3A3D} EditorCameraComponent", + "Id": 5512870205308202494, + "Controller": { + "Configuration": { + "Field of View": 55.0 + } + } + }, + "Component_[7102601919421546842]": { + "$type": "SelectionComponent", + "Id": 7102601919421546842 + }, + "Component_[7273747709375594564]": { + "$type": "EditorLockComponent", + "Id": 7273747709375594564 + } + }, + "IsDependencyReady": true + }, + "Entity_[567556239575972]": { + "Id": "Entity_[567556239575972]", + "Name": "TriggerMesh", + "Components": { + "Component_[10350988001146777030]": { + "$type": "EditorEntityIconComponent", + "Id": 10350988001146777030 + }, + "Component_[10839055732412151651]": { + "$type": "EditorEntitySortComponent", + "Id": 10839055732412151651 + }, + "Component_[1115065775730215750]": { + "$type": "EditorNonUniformScaleComponent", + "Id": 1115065775730215750, + "NonUniformScale": [ + 8.0, + 8.0, + 0.10000000149011612 + ] + }, + "Component_[1196040778153401194]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 1196040778153401194, + "Parent Entity": "Entity_[567573419445156]", + "Cached World Transform": { + "Translation": [ + 0.0, + 20.0, + 0.0 + ] + }, + "Cached World Transform Parent": "Entity_[567573419445156]" + }, + "Component_[12138376849045469585]": { + "$type": "EditorOnlyEntityComponent", + "Id": 12138376849045469585 + }, + "Component_[13110892489396670169]": { + "$type": "SelectionComponent", + "Id": 13110892489396670169 + }, + "Component_[14811224032013040280]": { + "$type": "EditorLockComponent", + "Id": 14811224032013040280, + "Locked": true + }, + "Component_[1692129175951916559]": { + "$type": "EditorMaterialComponent", + "Id": 1692129175951916559, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialAssetId": { + "guid": "{F322592F-43BC-50E7-903C-CC231846093F}", + "subId": 1738373820 + } + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{4432E987-D1AA-548A-AC26-A8FDE959FEDB}" + }, + "assetHint": "objects/_primitives/_cylinder_1x1_middlegrey.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialAssetId": { + "guid": "{F322592F-43BC-50E7-903C-CC231846093F}", + "subId": 1738373820 + } + }, + "materialAsset": { + "assetId": { + "guid": "{4432E987-D1AA-548A-AC26-A8FDE959FEDB}" + }, + "assetHint": "objects/_primitives/_cylinder_1x1_middlegrey.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialAssetId": { + "guid": "{F322592F-43BC-50E7-903C-CC231846093F}", + "subId": 1738373820 + } + } + } + ] + ] + }, + "Component_[17497707465346217611]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 17497707465346217611 + }, + "Component_[18205304391512452836]": { + "$type": "EditorVisibilityComponent", + "Id": 18205304391512452836 + }, + "Component_[22606769592651527]": { + "$type": "EditorInspectorComponent", + "Id": 22606769592651527 + }, + "Component_[3519976980273477837]": { + "$type": "EditorPendingCompositionComponent", + "Id": 3519976980273477837 + }, + "Component_[4287704513455243781]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 4287704513455243781, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{F322592F-43BC-50E7-903C-CC231846093F}", + "subId": 276443623 + }, + "assetHint": "objects/_primitives/_cylinder_1x1.azmodel" + } + } + } + } + }, + "IsDependencyReady": true + }, + "Entity_[567569124477860]": { + "Id": "Entity_[567569124477860]", + "Name": "CameraRig", + "Components": { + "Component_[11421581411648858480]": { + "$type": "EditorInspectorComponent", + "Id": 11421581411648858480, + "ComponentOrderEntryArray": [ + { + "ComponentId": 17275341190469936656 + }, + { + "ComponentId": 4408996423569815967, + "SortIndex": 1 + } + ] + }, + "Component_[12637263991871641691]": { + "$type": "EditorVisibilityComponent", + "Id": 12637263991871641691 + }, + "Component_[14044397705642064784]": { + "$type": "EditorPendingCompositionComponent", + "Id": 14044397705642064784 + }, + "Component_[17275341190469936656]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 17275341190469936656, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 0.0, + -9.75, + 0.5 + ] + }, + "Cached World Transform": { + "Translation": [ + 0.0, + -5.0, + 0.5 + ] + }, + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[17366924923318821944]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 17366924923318821944 + }, + "Component_[4408996423569815967]": { + "$type": "EditorScriptCanvasComponent", + "Id": 4408996423569815967, + "m_name": "TopDown_Lerp_Rig", + "m_assetHolder": { + "m_asset": { + "assetId": { + "guid": "{8BED98D9-856D-5096-A989-61DA138F11E0}" + }, + "assetHint": "scriptcanvas/camerarigs/topdown_lerp_rig.scriptcanvas" + } + } + }, + "Component_[4583750219084565938]": { + "$type": "SelectionComponent", + "Id": 4583750219084565938 + }, + "Component_[8177918959499336784]": { + "$type": "EditorEntitySortComponent", + "Id": 8177918959499336784, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Entity_[567551944608676]" + } + ] + }, + "Component_[8251781512766178978]": { + "$type": "EditorOnlyEntityComponent", + "Id": 8251781512766178978 + }, + "Component_[8268980803616448459]": { + "$type": "EditorLockComponent", + "Id": 8268980803616448459 + }, + "Component_[8424237627700341914]": { + "$type": "EditorEntityIconComponent", + "Id": 8424237627700341914 + } + }, + "IsDependencyReady": true + }, + "Entity_[567573419445156]": { + "Id": "Entity_[567573419445156]", + "Name": "Trigger", + "Components": { + "Component_[10390048996365500898]": { + "$type": "EditorVisibilityComponent", + "Id": 10390048996365500898 + }, + "Component_[11692682197631858733]": { + "$type": "EditorEntitySortComponent", + "Id": 11692682197631858733, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Entity_[567556239575972]" + } + ] + }, + "Component_[12416943293234010536]": { + "$type": "EditorOnlyEntityComponent", + "Id": 12416943293234010536 + }, + "Component_[1254885306665818049]": { + "$type": "EditorLockComponent", + "Id": 1254885306665818049 + }, + "Component_[14713406145912631841]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 14713406145912631841, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 0.0, + 15.25, + 0.0 + ] + }, + "Cached World Transform": { + "Translation": [ + 0.0, + 20.0, + 0.0 + ] + }, + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[15415899674531407515]": { + "$type": "EditorScriptCanvasComponent", + "Id": 15415899674531407515, + "m_name": "Trigger", + "m_assetHolder": { + "m_asset": { + "assetId": { + "guid": "{58490586-C565-574B-894E-16122891C711}" + }, + "assetHint": "scriptcanvas/featurescripts/trigger.scriptcanvas" + } + } + }, + "Component_[16721949264100548129]": { + "$type": "EditorColliderComponent", + "Id": 16721949264100548129, + "ColliderConfiguration": { + "Trigger": true + }, + "ShapeConfiguration": { + "ShapeType": 0, + "Sphere": { + "Radius": 4.0 + } + } + }, + "Component_[17155939422538383413]": { + "$type": "EditorPendingCompositionComponent", + "Id": 17155939422538383413 + }, + "Component_[3358850873744906910]": { + "$type": "EditorEntityIconComponent", + "Id": 3358850873744906910 + }, + "Component_[5159634315711425424]": { + "$type": "EditorInspectorComponent", + "Id": 5159634315711425424, + "ComponentOrderEntryArray": [ + { + "ComponentId": 14713406145912631841 + }, + { + "ComponentId": 15415899674531407515, + "SortIndex": 1 + }, + { + "ComponentId": 16721949264100548129, + "SortIndex": 2 + } + ] + }, + "Component_[5886769852875203476]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 5886769852875203476 + }, + "Component_[666950973034176381]": { + "$type": "SelectionComponent", + "Id": 666950973034176381 + } + }, + "IsDependencyReady": true + }, + "Entity_[567577714412452]": { + "Id": "Entity_[567577714412452]", + "Name": "BoxArray", + "Components": { + "Component_[10763899706978525328]": { + "$type": "EditorEntitySortComponent", + "Id": 10763899706978525328, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Instance_[567685088594852]/ContainerEntity" + }, + { + "EntityId": "Instance_[567680793627556]/ContainerEntity", + "SortIndex": 1 + }, + { + "EntityId": "Instance_[567655023823780]/ContainerEntity", + "SortIndex": 2 + }, + { + "EntityId": "Instance_[567663613758372]/ContainerEntity", + "SortIndex": 3 + }, + { + "EntityId": "Instance_[567629254020004]/ContainerEntity", + "SortIndex": 4 + }, + { + "EntityId": "Instance_[567582009379748]/ContainerEntity", + "SortIndex": 5 + }, + { + "EntityId": "Instance_[567607779183524]/ContainerEntity", + "SortIndex": 6 + }, + { + "EntityId": "Instance_[567667908725668]/ContainerEntity", + "SortIndex": 7 + }, + { + "EntityId": "Instance_[567642138921892]/ContainerEntity", + "SortIndex": 8 + }, + { + "EntityId": "Instance_[567672203692964]/ContainerEntity", + "SortIndex": 9 + }, + { + "EntityId": "Instance_[567594894281636]/ContainerEntity", + "SortIndex": 10 + }, + { + "EntityId": "Instance_[567620664085412]/ContainerEntity", + "SortIndex": 11 + }, + { + "EntityId": "Instance_[567633548987300]/ContainerEntity", + "SortIndex": 12 + }, + { + "EntityId": "Instance_[567612074150820]/ContainerEntity", + "SortIndex": 13 + }, + { + "EntityId": "Instance_[567646433889188]/ContainerEntity", + "SortIndex": 14 + }, + { + "EntityId": "Instance_[567624959052708]/ContainerEntity", + "SortIndex": 15 + }, + { + "EntityId": "Instance_[567637843954596]/ContainerEntity", + "SortIndex": 16 + }, + { + "EntityId": "Instance_[567616369118116]/ContainerEntity", + "SortIndex": 17 + }, + { + "EntityId": "Instance_[567603484216228]/ContainerEntity", + "SortIndex": 18 + }, + { + "EntityId": "Instance_[567599189248932]/ContainerEntity", + "SortIndex": 19 + }, + { + "EntityId": "Instance_[567676498660260]/ContainerEntity", + "SortIndex": 20 + }, + { + "EntityId": "Instance_[567586304347044]/ContainerEntity", + "SortIndex": 21 + }, + { + "EntityId": "Instance_[567659318791076]/ContainerEntity", + "SortIndex": 22 + }, + { + "EntityId": "Instance_[567590599314340]/ContainerEntity", + "SortIndex": 23 + }, + { + "EntityId": "Instance_[567650728856484]/ContainerEntity", + "SortIndex": 24 + } + ] + }, + "Component_[14730319392588400924]": { + "$type": "EditorEntityIconComponent", + "Id": 14730319392588400924 + }, + "Component_[16418215449655908270]": { + "$type": "EditorVisibilityComponent", + "Id": 16418215449655908270 + }, + "Component_[17414755059249633824]": { + "$type": "EditorLockComponent", + "Id": 17414755059249633824 + }, + "Component_[1915134357476903444]": { + "$type": "EditorInspectorComponent", + "Id": 1915134357476903444, + "ComponentOrderEntryArray": [ + { + "ComponentId": 361428651447506737 + } + ] + }, + "Component_[2585664628108971090]": { + "$type": "SelectionComponent", + "Id": 2585664628108971090 + }, + "Component_[361428651447506737]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 361428651447506737, + "Parent Entity": "ContainerEntity", + "Transform Data": { + "Translate": [ + 0.0, + -0.75, + 0.0 + ] + }, + "Cached World Transform": { + "Translation": [ + 0.0, + 4.0, + 0.0 + ] + }, + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[4008546387259164241]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 4008546387259164241 + }, + "Component_[6494019437597022694]": { + "$type": "EditorPendingCompositionComponent", + "Id": 6494019437597022694 + }, + "Component_[9387133025280008199]": { + "$type": "EditorOnlyEntityComponent", + "Id": 9387133025280008199 + } + }, + "IsDependencyReady": true + } + }, + "Instances": { + "Instance_[567582009379748]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -1.0, + 4.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -1.0, + 8.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567586304347044]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 0.0, + 4.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 0.0, + 8.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567590599314340]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 2.0, + 4.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 2.0, + 8.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567594894281636]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -2.0, + 2.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -2.0, + 6.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567599189248932]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 1.0, + 4.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 1.0, + 8.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567603484216228]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 0.0, + 2.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 0.0, + 6.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567607779183524]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 1.0, + 1.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 1.0, + 5.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567612074150820]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -1.0, + 0.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -1.0, + 4.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567616369118116]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 2.0, + 3.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 2.0, + 7.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567620664085412]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 2.0, + 0.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 2.0, + 4.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567624959052708]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -1.0, + 2.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -1.0, + 6.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567629254020004]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -1.0, + 1.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -1.0, + 5.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567633548987300]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -2.0, + 1.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -2.0, + 5.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567637843954596]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 2.0, + 1.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 2.0, + 5.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567642138921892]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 1.0, + 2.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 1.0, + 6.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567646433889188]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 2.0, + 2.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 2.0, + 6.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567650728856484]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -2.0, + 4.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -2.0, + 8.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567655023823780]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 0.0, + 0.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 0.0, + 4.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567659318791076]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 0.0, + 3.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 0.0, + 7.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567663613758372]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -2.0, + 3.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -2.0, + 7.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567667908725668]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -2.0, + 4.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -2.0, + 0.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567672203692964]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + -1.0, + 3.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + -1.0, + 7.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567676498660260]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 1.0, + 0.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 1.0, + 4.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567680793627556]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 0.0, + 1.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 0.0, + 5.5, + 0.0 + ] + } + } + ] + }, + "Instance_[567685088594852]": { + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Parent Entity", + "value": "../Entity_[567577714412452]" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform Parent", + "value": "../Entity_[567577714412452]" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Transform Data", + "value": { + "Translate": [ + 1.0, + 3.5, + 0.0 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[11949699108706572412]/Cached World Transform", + "value": { + "Translation": [ + 1.0, + 7.5, + 0.0 + ] + } + } + ] + }, + "Instance_[654108420524964]": { + "Source": "Prefabs/Controllers/2DKinematicController.prefab", + "Patches": [ + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[12240576010949505871]/Parent Entity", + "value": "../ContainerEntity" + }, + { + "op": "replace", + "path": "/ContainerEntity/Components/Component_[12240576010949505871]/Cached World Transform Parent", + "value": "../ContainerEntity" + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[12240576010949505871]/Transform Data", + "value": { + "Translate": [ + 0.0, + -5.0, + 0.5 + ] + } + }, + { + "op": "add", + "path": "/ContainerEntity/Components/Component_[12240576010949505871]/Cached World Transform", + "value": { + "Translation": [ + 0.0, + -5.0, + 0.5 + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/Gems/PhysXSamples/Assets/Prefabs/Primitives/RigidBody_box_1x1.prefab b/Gems/PhysXSamples/Assets/Prefabs/Primitives/RigidBody_box_1x1.prefab new file mode 100644 index 0000000000..f144796a0c --- /dev/null +++ b/Gems/PhysXSamples/Assets/Prefabs/Primitives/RigidBody_box_1x1.prefab @@ -0,0 +1,262 @@ +{ + "Source": "Prefabs/Primitives/RigidBody_box_1x1.prefab", + "ContainerEntity": { + "Id": "ContainerEntity", + "Name": "RigidBody_box_1x1", + "Components": { + "Component_[11187003539496799946]": { + "$type": "EditorVisibilityComponent", + "Id": 11187003539496799946 + }, + "Component_[11949699108706572412]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 11949699108706572412, + "Parent Entity": "", + "Cached World Transform Parent": "" + }, + "Component_[12010022319898687024]": { + "$type": "EditorInspectorComponent", + "Id": 12010022319898687024 + }, + "Component_[13405118246638438111]": { + "$type": "SelectionComponent", + "Id": 13405118246638438111 + }, + "Component_[17978458170142351230]": { + "$type": "EditorPrefabComponent", + "Id": 17978458170142351230 + }, + "Component_[3288501463473934117]": { + "$type": "EditorOnlyEntityComponent", + "Id": 3288501463473934117 + }, + "Component_[4884908388169777358]": { + "$type": "EditorPendingCompositionComponent", + "Id": 4884908388169777358 + }, + "Component_[5821355546461779932]": { + "$type": "EditorEntitySortComponent", + "Id": 5821355546461779932 + }, + "Component_[7453058556681471754]": { + "$type": "EditorEntityIconComponent", + "Id": 7453058556681471754 + }, + "Component_[7458650794369775679]": { + "$type": "EditorLockComponent", + "Id": 7458650794369775679 + }, + "Component_[8588305893515682758]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 8588305893515682758 + } + }, + "IsDependencyReady": true + }, + "Entities": { + "Entity_[83106063295440]": { + "Id": "Entity_[83106063295440]", + "Name": "RigidBody_box_1x1", + "Components": { + "Component_[10601152808695555644]": { + "$type": "EditorOnlyEntityComponent", + "Id": 10601152808695555644 + }, + "Component_[11458994468776018433]": { + "$type": "EditorLockComponent", + "Id": 11458994468776018433, + "Locked": true + }, + "Component_[12029400985217549783]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 12029400985217549783, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 284301017 + }, + "assetHint": "objects/_primitives/_box_1x1.azmodel" + } + } + } + }, + "Component_[14590721674139766441]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 14590721674139766441, + "Parent Entity": "ContainerEntity", + "Cached World Transform Parent": "ContainerEntity", + "Transform Data": { + "Translate": [ + 0.0, + 0.0, + 0.5 + ] + }, + "Cached World Transform": { + "Translation": [ + 0.0, + 7.0, + 0.5 + ] + } + }, + "Component_[15059762540204787307]": { + "$type": "EditorInspectorComponent", + "Id": 15059762540204787307, + "ComponentOrderEntryArray": [ + { + "ComponentId": 14590721674139766441 + }, + { + "ComponentId": 12029400985217549783, + "SortIndex": 1 + }, + { + "ComponentId": 16182002263585453708, + "SortIndex": 2 + }, + { + "ComponentId": 17245171847637560294, + "SortIndex": 3 + }, + { + "ComponentId": 1882179507693926114, + "SortIndex": 4 + } + ] + }, + "Component_[15365549104589390334]": { + "$type": "EditorVisibilityComponent", + "Id": 15365549104589390334 + }, + "Component_[16074940981165961971]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 16074940981165961971 + }, + "Component_[16182002263585453708]": { + "$type": "EditorMaterialComponent", + "Id": 16182002263585453708, + "Controller": { + "Configuration": { + "materials": [ + { + "Key": { + "materialAssetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 2511422688 + } + }, + "Value": { + "MaterialAsset": { + "assetId": { + "guid": "{7E8872C1-4F89-5870-9548-2FC8427813F2}" + }, + "assetHint": "objects/_primitives/_box_1x1_middlegrey.azmaterial" + } + } + } + ] + } + }, + "materialSlots": [ + { + "id": { + "materialAssetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 2511422688 + } + }, + "materialAsset": { + "assetId": { + "guid": "{7E8872C1-4F89-5870-9548-2FC8427813F2}" + }, + "assetHint": "objects/_primitives/_box_1x1_middlegrey.azmaterial" + } + } + ], + "materialSlotsByLod": [ + [ + { + "id": { + "lodIndex": 0, + "materialAssetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 2511422688 + } + } + } + ] + ] + }, + "Component_[17245171847637560294]": { + "$type": "EditorColliderComponent", + "Id": 17245171847637560294, + "ColliderConfiguration": { + "MaterialSelection": { + "MaterialIds": [ + { + "MaterialId": "{A9CACCFF-E0D2-4149-8891-E92319229B2D}" + } + ] + } + }, + "ShapeConfiguration": { + "ShapeType": 1, + "PhysicsAsset": { + "Asset": { + "assetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 858390244 + }, + "assetHint": "objects/_primitives/_box_1x1.pxmesh" + }, + "Configuration": { + "PhysicsAsset": { + "assetId": { + "guid": "{C15CD465-9589-56ED-945F-8416FA4798A3}", + "subId": 858390244 + }, + "loadBehavior": "QueueLoad", + "assetHint": "objects/_primitives/_box_1x1.pxmesh" + } + } + } + } + }, + "Component_[17317495231087098055]": { + "$type": "EditorPendingCompositionComponent", + "Id": 17317495231087098055 + }, + "Component_[17415203793205728339]": { + "$type": "SelectionComponent", + "Id": 17415203793205728339 + }, + "Component_[1882179507693926114]": { + "$type": "EditorRigidBodyComponent", + "Id": 1882179507693926114, + "Configuration": { + "entityId": "", + "Mass": 2400.0, + "Inertia tensor": { + "roll": 0.0, + "pitch": 0.0, + "yaw": 0.0, + "scale": 0.0024999999441206457 + } + } + }, + "Component_[3543131788197376779]": { + "$type": "EditorEntitySortComponent", + "Id": 3543131788197376779 + }, + "Component_[95953073929511246]": { + "$type": "EditorEntityIconComponent", + "Id": 95953073929511246 + } + }, + "IsDependencyReady": true + } + } +} \ No newline at end of file diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/CameraRigs/TopDown_Lerp_Rig.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/CameraRigs/TopDown_Lerp_Rig.scriptcanvas index b14de58124..4f060d26c4 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/CameraRigs/TopDown_Lerp_Rig.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/CameraRigs/TopDown_Lerp_Rig.scriptcanvas @@ -3,33 +3,35 @@ - + - + - - + + - + - + - + - - - + + + - + - + + + - + @@ -38,20 +40,15 @@ - - - - - - - + + - + @@ -66,45 +63,13 @@ + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -119,14 +84,14 @@ - - + + - + @@ -141,6 +106,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -154,14 +196,67 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - @@ -170,99 +265,21 @@ - + - + - + - + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -294,10 +311,13 @@ + - + + + - + @@ -329,2100 +349,414 @@ + - - - - - - - + + + + + - - - - + + + + + + - - - - - - + + + + - - - + + - + + + + + + + + + + + + + + - - + + - - + + - + - + - + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + - + - + - + - + + + - + @@ -2454,10 +788,13 @@ + - + + + - + @@ -2489,10 +826,13 @@ + - + + + - + @@ -2529,10 +869,13 @@ + - + + + - + @@ -2564,10 +907,13 @@ + - + + + - + @@ -2599,10 +945,13 @@ + - + + + - + @@ -2634,10 +983,13 @@ + - + + + - + @@ -2647,7 +999,7 @@ - + @@ -2669,6 +1021,7 @@ + @@ -2680,13 +1033,12 @@ - + - + - - + @@ -2695,7 +1047,7 @@ - + @@ -2705,7 +1057,7 @@ - + @@ -2715,7 +1067,7 @@ - + @@ -2725,46 +1077,1791 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + @@ -2774,121 +2871,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + @@ -2898,28 +2902,28 @@ - + - + - + - + - + - + @@ -2929,152 +2933,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + @@ -3084,28 +2964,28 @@ - + - + - + - + - + - + - + @@ -3115,28 +2995,28 @@ - + - + - + - + - + - + - + @@ -3146,28 +3026,276 @@ - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3179,13 +3307,19 @@ + + + + + + - + - + @@ -3198,127 +3332,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3329,28 +3343,332 @@ - - + + - + - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + @@ -3358,7 +3676,7 @@ - + @@ -3379,7 +3697,7 @@ - + @@ -3397,7 +3715,7 @@ - + @@ -3405,7 +3723,7 @@ - + @@ -3418,7 +3736,7 @@ - + @@ -3439,154 +3757,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3596,19 +3767,10 @@ - + - - - - - - - - - - + @@ -3616,15 +3778,11 @@ - + - - - - - + @@ -3632,23 +3790,31 @@ - + + + + + - - - - - + + + + + + + + + @@ -3658,26 +3824,15 @@ - + - + - - - - - - - - - - - - + @@ -3690,23 +3845,27 @@ - + - + + + + + + + + + + + + + + - - - - - - - - - - + diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/Controllers/TopDown_Kinematic_2D_Controller.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/Controllers/TopDown_Kinematic_2D_Controller.scriptcanvas index 784b827a23..91ada03944 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/Controllers/TopDown_Kinematic_2D_Controller.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/Controllers/TopDown_Kinematic_2D_Controller.scriptcanvas @@ -3,12 +3,12 @@ - + - + - - + + @@ -16,17 +16,192 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -65,8 +240,11 @@ + - + + + @@ -105,8 +283,11 @@ + - + + + @@ -140,8 +321,11 @@ + - + + + @@ -175,6 +359,7 @@ + @@ -205,8 +390,7 @@ - - + @@ -220,2222 +404,26 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + + + - + @@ -2467,10 +455,13 @@ + - + + + - + @@ -2502,10 +493,343 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2537,443 +861,256 @@ + - - - + + + + + + + + + + + + + + + - + + + + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + + + @@ -3012,8 +1149,11 @@ + - + + + @@ -3052,8 +1192,11 @@ + - + + + @@ -3087,8 +1230,11 @@ + - + + + @@ -3122,8 +1268,11 @@ + - + + + @@ -3157,6 +1306,7 @@ + @@ -3185,8 +1335,7 @@ - - + @@ -3200,22 +1349,3154 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + @@ -3249,8 +4530,11 @@ + - + + + @@ -3284,8 +4568,11 @@ + - + + + @@ -3319,8 +4606,11 @@ + - + + + @@ -3354,8 +4644,11 @@ + - + + + @@ -3389,8 +4682,11 @@ + - + + + @@ -3441,8 +4737,11 @@ + - + + + @@ -3476,8 +4775,11 @@ + - + + + @@ -3502,7 +4804,7 @@ - + @@ -3511,8 +4813,11 @@ + - + + + @@ -3546,8 +4851,11 @@ + - + + + @@ -3572,7 +4880,7 @@ - + @@ -3581,8 +4889,11 @@ + - + + + @@ -3616,8 +4927,11 @@ + - + + + @@ -3642,7 +4956,7 @@ - + @@ -3651,6 +4965,7 @@ + @@ -3679,8 +4994,7 @@ - - + @@ -3760,25 +5074,1620 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + @@ -3812,8 +6721,11 @@ + - + + + @@ -3847,8 +6759,11 @@ + - + + + @@ -3887,8 +6802,11 @@ + - + + + @@ -3922,8 +6840,11 @@ + - + + + @@ -3957,8 +6878,11 @@ + - + + + @@ -3992,8 +6916,11 @@ + - + + + @@ -4027,6 +6954,7 @@ + @@ -4043,8 +6971,7 @@ - - + @@ -4089,1509 +7016,24 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + @@ -5630,8 +7072,11 @@ + - + + + @@ -5670,8 +7115,11 @@ + - + + + @@ -5710,8 +7158,11 @@ + - + + + @@ -5750,8 +7201,11 @@ + - + + + @@ -5785,8 +7239,11 @@ + - + + + @@ -5820,6 +7277,7 @@ + @@ -5869,13 +7327,12 @@ - + - - + @@ -5889,352 +7346,24 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + @@ -6268,8 +7397,11 @@ + - + + + @@ -6303,8 +7435,11 @@ + - + + + @@ -6343,8 +7478,11 @@ + - + + + @@ -6378,6 +7516,7 @@ + @@ -6394,8 +7533,7 @@ - - + @@ -6409,24 +7547,394 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + + + - + @@ -6458,10 +7966,13 @@ + - + + + - + @@ -6493,10 +8004,13 @@ + - + + + - + @@ -6506,112 +8020,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6633,449 +8042,41 @@ + - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + + + - + @@ -7107,10 +8108,13 @@ + - + + + - + @@ -7142,10 +8146,13 @@ + - + + + - + @@ -7182,10 +8189,13 @@ + - + + + - + @@ -7222,10 +8232,13 @@ + - + + + - + @@ -7257,6 +8270,7 @@ + @@ -7280,33 +8294,996 @@ - + - - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -7340,8 +9317,11 @@ + - + + + @@ -7380,8 +9360,11 @@ + - + + + @@ -7415,8 +9398,11 @@ + - + + + @@ -7450,6 +9436,7 @@ + @@ -7468,8 +9455,7 @@ - - + @@ -7483,24 +9469,26 @@ - + - + - + - - + + - + - + + + - + @@ -7510,8 +9498,8 @@ - - + + @@ -7532,10 +9520,13 @@ + - + + + - + @@ -7546,7 +9537,7 @@ - + @@ -7567,10 +9558,186 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7585,7 +9752,7 @@ - + @@ -7607,10 +9774,217 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7642,53 +10016,39 @@ + - - - - - - - - - - - - - - - - + + - - - - + - + - + - + - + + + @@ -7722,8 +10082,11 @@ + - + + + @@ -7762,8 +10125,11 @@ + - + + + @@ -7797,8 +10163,11 @@ + - + + + @@ -7832,6 +10201,7 @@ + @@ -7850,8 +10220,7 @@ - - + @@ -7865,691 +10234,24 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + @@ -8583,8 +10285,11 @@ + - + + + @@ -8618,8 +10323,11 @@ + - + + + @@ -8658,8 +10366,11 @@ + - + + + @@ -8693,6 +10404,7 @@ + @@ -8709,8 +10421,7 @@ - - + @@ -8724,545 +10435,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -9272,7 +10452,7 @@ - + @@ -9280,7 +10460,7 @@ - + @@ -9293,7 +10473,7 @@ - + @@ -9303,7 +10483,7 @@ - + @@ -9311,7 +10491,7 @@ - + @@ -9324,7 +10504,7 @@ - + @@ -9334,7 +10514,7 @@ - + @@ -9342,7 +10522,7 @@ - + @@ -9355,7 +10535,7 @@ - + @@ -9365,7 +10545,7 @@ - + @@ -9373,7 +10553,7 @@ - + @@ -9386,7 +10566,7 @@ - + @@ -9396,7 +10576,7 @@ - + @@ -9404,7 +10584,7 @@ - + @@ -9417,7 +10597,7 @@ - + @@ -9427,7 +10607,7 @@ - + @@ -9435,7 +10615,7 @@ - + @@ -9448,7 +10628,7 @@ - + @@ -9458,7 +10638,7 @@ - + @@ -9466,7 +10646,7 @@ - + @@ -9479,7 +10659,7 @@ - + @@ -9489,7 +10669,7 @@ - + @@ -9497,7 +10677,7 @@ - + @@ -9510,7 +10690,7 @@ - + @@ -9520,7 +10700,7 @@ - + @@ -9528,7 +10708,7 @@ - + @@ -9541,38 +10721,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -9582,7 +10731,7 @@ - + @@ -9590,7 +10739,7 @@ - + @@ -9603,7 +10752,7 @@ - + @@ -9613,7 +10762,7 @@ - + @@ -9621,7 +10770,7 @@ - + @@ -9634,7 +10783,7 @@ - + @@ -9644,7 +10793,7 @@ - + @@ -9652,7 +10801,7 @@ - + @@ -9665,7 +10814,7 @@ - + @@ -9675,7 +10824,7 @@ - + @@ -9683,7 +10832,7 @@ - + @@ -9696,7 +10845,7 @@ - + @@ -9706,7 +10855,7 @@ - + @@ -9714,7 +10863,7 @@ - + @@ -9727,7 +10876,7 @@ - + @@ -9737,7 +10886,7 @@ - + @@ -9745,7 +10894,7 @@ - + @@ -9758,7 +10907,7 @@ - + @@ -9768,7 +10917,7 @@ - + @@ -9776,7 +10925,7 @@ - + @@ -9789,7 +10938,7 @@ - + @@ -9799,7 +10948,7 @@ - + @@ -9807,7 +10956,7 @@ - + @@ -9820,7 +10969,7 @@ - + @@ -9830,7 +10979,7 @@ - + @@ -9838,7 +10987,7 @@ - + @@ -9851,7 +11000,7 @@ - + @@ -9861,7 +11010,7 @@ - + @@ -9869,7 +11018,7 @@ - + @@ -9882,7 +11031,7 @@ - + @@ -9892,7 +11041,7 @@ - + @@ -9900,7 +11049,7 @@ - + @@ -9913,7 +11062,7 @@ - + @@ -9923,7 +11072,7 @@ - + @@ -9931,7 +11080,7 @@ - + @@ -9944,7 +11093,7 @@ - + @@ -9954,7 +11103,7 @@ - + @@ -9962,7 +11111,7 @@ - + @@ -9975,7 +11124,7 @@ - + @@ -9985,7 +11134,7 @@ - + @@ -9993,7 +11142,7 @@ - + @@ -10006,7 +11155,7 @@ - + @@ -10016,7 +11165,7 @@ - + @@ -10024,7 +11173,7 @@ - + @@ -10037,7 +11186,7 @@ - + @@ -10047,7 +11196,7 @@ - + @@ -10055,7 +11204,7 @@ - + @@ -10068,7 +11217,7 @@ - + @@ -10078,7 +11227,7 @@ - + @@ -10086,7 +11235,7 @@ - + @@ -10099,7 +11248,7 @@ - + @@ -10109,7 +11258,7 @@ - + @@ -10117,7 +11266,7 @@ - + @@ -10130,7 +11279,7 @@ - + @@ -10140,7 +11289,7 @@ - + @@ -10148,7 +11297,7 @@ - + @@ -10161,100 +11310,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10264,7 +11320,7 @@ - + @@ -10272,7 +11328,7 @@ - + @@ -10285,7 +11341,7 @@ - + @@ -10295,7 +11351,7 @@ - + @@ -10303,7 +11359,7 @@ - + @@ -10316,7 +11372,7 @@ - + @@ -10326,7 +11382,7 @@ - + @@ -10334,7 +11390,7 @@ - + @@ -10347,7 +11403,7 @@ - + @@ -10357,7 +11413,7 @@ - + @@ -10365,7 +11421,7 @@ - + @@ -10378,7 +11434,7 @@ - + @@ -10388,7 +11444,7 @@ - + @@ -10396,7 +11452,7 @@ - + @@ -10409,69 +11465,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10481,7 +11475,7 @@ - + @@ -10489,7 +11483,7 @@ - + @@ -10502,7 +11496,7 @@ - + @@ -10512,7 +11506,7 @@ - + @@ -10520,7 +11514,7 @@ - + @@ -10533,7 +11527,7 @@ - + @@ -10543,7 +11537,7 @@ - + @@ -10551,7 +11545,7 @@ - + @@ -10564,7 +11558,7 @@ - + @@ -10574,7 +11568,7 @@ - + @@ -10582,7 +11576,7 @@ - + @@ -10595,7 +11589,7 @@ - + @@ -10605,7 +11599,7 @@ - + @@ -10613,7 +11607,7 @@ - + @@ -10626,38 +11620,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10667,7 +11630,7 @@ - + @@ -10675,7 +11638,7 @@ - + @@ -10688,38 +11651,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10729,7 +11661,7 @@ - + @@ -10737,7 +11669,7 @@ - + @@ -10750,38 +11682,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10791,7 +11692,7 @@ - + @@ -10799,7 +11700,7 @@ - + @@ -10812,7 +11713,7 @@ - + @@ -10822,7 +11723,7 @@ - + @@ -10830,7 +11731,7 @@ - + @@ -10843,118 +11744,25 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10967,17 +11775,699 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10985,10 +12475,103 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11000,1104 +12583,19 @@ + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -12125,7 +12623,13 @@ - + + + + + + + @@ -12133,40 +12637,41 @@ - + - - - - - - - - - - - - - + + + + + + + + - + - + + + + + + + @@ -12174,41 +12679,41 @@ - + + + + + + + - - - - - - - + - + - + @@ -12216,43 +12721,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -12280,7 +12749,13 @@ - + + + + + + + @@ -12288,7 +12763,91 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12296,7 +12855,7 @@ - + @@ -12316,7 +12875,13 @@ - + + + + + + + @@ -12324,7 +12889,7 @@ - + @@ -12332,27 +12897,33 @@ - + - + - + - + + + + + + + @@ -12360,7 +12931,175 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12388,7 +13127,13 @@ - + + + + + + + @@ -12396,7 +13141,102 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12424,7 +13264,1259 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12434,66 +14526,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12507,23 +14539,35 @@ - - - - - + - + + + + + - + + + + + + + + + - + + + + + @@ -12531,13 +14575,69 @@ - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12549,84 +14649,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -12639,25 +14666,27 @@ + + + + + + + + + + + + + - - - - - - - - - - - - + @@ -12670,7 +14699,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/OnCollision.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/OnCollision.scriptcanvas index f34cc2e9fc..4bad0018d0 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/OnCollision.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/OnCollision.scriptcanvas @@ -3,12 +3,12 @@ - + - + - - + + @@ -16,17 +16,3502 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -65,8 +3550,11 @@ + - + + + @@ -105,8 +3593,11 @@ + - + + + @@ -145,8 +3636,11 @@ + - + + + @@ -185,8 +3679,11 @@ + - + + + @@ -220,8 +3717,11 @@ + - + + + @@ -255,6 +3755,7 @@ + @@ -307,8 +3808,7 @@ - - + @@ -322,104 +3822,243 @@ - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -430,7 +4069,7 @@ - + @@ -451,227 +4090,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - + - + + + @@ -710,8 +4154,11 @@ + - + + + @@ -745,8 +4192,11 @@ + - + + + @@ -780,8 +4230,11 @@ + - + + + @@ -815,8 +4268,11 @@ + - + + + @@ -850,8 +4306,11 @@ + - + + + @@ -885,16 +4344,17 @@ + - + - + @@ -906,8 +4366,7 @@ - - + @@ -927,705 +4386,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1635,7 +4403,7 @@ - + @@ -1643,7 +4411,7 @@ - + @@ -1656,7 +4424,7 @@ - + @@ -1666,7 +4434,7 @@ - + @@ -1674,7 +4442,7 @@ - + @@ -1687,7 +4455,7 @@ - + @@ -1697,7 +4465,7 @@ - + @@ -1705,7 +4473,7 @@ - + @@ -1718,7 +4486,7 @@ - + @@ -1728,7 +4496,7 @@ - + @@ -1736,7 +4504,7 @@ - + @@ -1747,38 +4515,829 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - + @@ -1786,14 +5345,56 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1806,7 +5407,13 @@ - + + + + + + + @@ -1814,7 +5421,70 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1824,17 +5494,52 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1845,10 +5550,22 @@ - - + + - + + + + + + + + + + + + + @@ -1856,7 +5573,133 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1884,7 +5727,13 @@ - + + + + + + + @@ -1892,27 +5741,64 @@ - + - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + @@ -1925,7 +5811,223 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1936,19 +6038,47 @@ - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1966,18 +6096,7 @@ - - - - - - - - - - - - + @@ -1995,9 +6114,57 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Raycast.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Raycast.scriptcanvas index 635dd1f20f..067a9659a8 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Raycast.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Raycast.scriptcanvas @@ -3,30 +3,616 @@ - + - + - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -60,8 +646,11 @@ + - + + + @@ -95,8 +684,11 @@ + - + + + @@ -135,8 +727,11 @@ + - + + + @@ -175,8 +770,11 @@ + - + + + @@ -210,6 +808,7 @@ + @@ -235,33 +834,509 @@ - + - - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + @@ -295,8 +1370,11 @@ + - + + + @@ -330,8 +1408,11 @@ + - + + + @@ -365,8 +1446,11 @@ + - + + + @@ -400,8 +1484,11 @@ + - + + + @@ -435,8 +1522,11 @@ + - + + + @@ -487,8 +1577,11 @@ + - + + + @@ -522,8 +1615,11 @@ + - + + + @@ -548,7 +1644,7 @@ - + @@ -557,8 +1653,11 @@ + - + + + @@ -592,8 +1691,11 @@ + - + + + @@ -618,7 +1720,7 @@ - + @@ -627,8 +1729,11 @@ + - + + + @@ -662,8 +1767,11 @@ + - + + + @@ -688,7 +1796,7 @@ - + @@ -697,6 +1805,7 @@ + @@ -725,8 +1834,7 @@ - - + @@ -806,25 +1914,27 @@ - + - + - + - + - + + + @@ -863,8 +1973,11 @@ + - + + + @@ -903,8 +2016,11 @@ + - + + + @@ -943,8 +2059,11 @@ + - + + + @@ -983,8 +2102,11 @@ + - + + + @@ -1018,8 +2140,11 @@ + - + + + @@ -1053,6 +2178,7 @@ + @@ -1107,8 +2233,7 @@ - - + @@ -1122,22 +2247,814 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + @@ -1171,8 +3088,11 @@ + - + + + @@ -1206,8 +3126,11 @@ + - + + + @@ -1241,8 +3164,11 @@ + - + + + @@ -1276,8 +3202,11 @@ + - + + + @@ -1311,8 +3240,11 @@ + - + + + @@ -1363,8 +3295,11 @@ + - + + + @@ -1398,8 +3333,11 @@ + - + + + @@ -1424,7 +3362,7 @@ - + @@ -1433,8 +3371,11 @@ + - + + + @@ -1468,8 +3409,11 @@ + - + + + @@ -1494,7 +3438,7 @@ - + @@ -1503,8 +3447,11 @@ + - + + + @@ -1538,8 +3485,11 @@ + - + + + @@ -1564,7 +3514,7 @@ - + @@ -1573,6 +3523,7 @@ + @@ -1601,8 +3552,7 @@ - - + @@ -1682,296 +3632,27 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + @@ -1996,8 +3677,8 @@ - - + + @@ -2015,8 +3696,11 @@ + - + + + @@ -2050,8 +3734,11 @@ + - + + + @@ -2085,10 +3772,13 @@ + - + + + - + @@ -2120,10 +3810,13 @@ + - + + + - + @@ -2155,10 +3848,13 @@ + - + + + - + @@ -2190,10 +3886,51 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2225,31 +3962,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + - - - - + - + - + @@ -2259,7 +4041,7 @@ - + @@ -2269,7 +4051,7 @@ - + @@ -2279,7 +4061,17 @@ - + + + + + + + + + + + @@ -2287,25 +4079,1599 @@ + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -2339,8 +5705,11 @@ + - + + + @@ -2374,8 +5743,11 @@ + - + + + @@ -2409,8 +5781,11 @@ + - + + + @@ -2449,6 +5824,7 @@ + @@ -2465,31 +5841,32 @@ - - + - + - + - + - - + + - + - + + + - + - + @@ -2502,2197 +5879,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + @@ -4703,17 +5894,20 @@ - + + - + + + - + @@ -4723,32 +5917,35 @@ - - + + - + - - + + - + + - + + + - + @@ -4758,8 +5955,46 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4780,10 +6015,13 @@ + - + + + - + @@ -4793,43 +6031,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -4850,100 +6053,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - + + + + + - - + - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - + - + - + - + + + @@ -4982,8 +6189,11 @@ + - + + + @@ -5022,8 +6232,11 @@ + - + + + @@ -5057,8 +6270,11 @@ + - + + + @@ -5092,8 +6308,11 @@ + - + + + @@ -5127,6 +6346,7 @@ + @@ -5155,8 +6375,7 @@ - - + @@ -5170,531 +6389,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -5707,28 +6427,28 @@ - + - + - + - + - + - + - + @@ -5738,28 +6458,28 @@ - + - + - + - + - + - + - + @@ -5769,25 +6489,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5800,28 +6551,28 @@ - + - + - + - + - + - + - + @@ -5831,28 +6582,28 @@ - + - + - + - + - + - + - + @@ -5862,28 +6613,28 @@ - + - + - + - + - + - + - + @@ -5893,28 +6644,28 @@ - + - + - + - + - + - + - + @@ -5924,48 +6675,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -5973,7 +6693,7 @@ - + @@ -5986,28 +6706,28 @@ - + - + - + - + - + - + - + @@ -6017,28 +6737,28 @@ - + - + - + - + - + - + - + @@ -6048,28 +6768,28 @@ - + - + - + - + - + - + - + @@ -6079,79 +6799,17 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6159,7 +6817,7 @@ - + @@ -6172,28 +6830,28 @@ - + - + - + - + - + - + - + @@ -6203,25 +6861,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6234,25 +6923,25 @@ - + - + - + - + - + - + @@ -6263,20 +6952,574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + @@ -6286,28 +7529,7 @@ - - - - - - - - - - - - - - - - - - - - - - + @@ -6315,7 +7537,7 @@ - + @@ -6323,7 +7545,7 @@ - + @@ -6343,7 +7565,13 @@ - + + + + + + + @@ -6351,7 +7579,7 @@ - + @@ -6359,7 +7587,7 @@ - + @@ -6376,10 +7604,16 @@ + + + + + + - + @@ -6387,7 +7621,259 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6398,475 +7884,13 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6874,7 +7898,27 @@ - + + + + + + + + + + + + + + + + + + + + + @@ -6882,27 +7926,15 @@ - + - - - - - - - - - - - - - - + + - + @@ -6913,10 +7945,22 @@ - - + + - + + + + + + + + + + + + + @@ -6924,7 +7968,49 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6933,9 +8019,9 @@ - - - + + + @@ -6943,25 +8029,368 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + - - + + @@ -6971,6 +8400,18 @@ + + + + + + + + + + + + @@ -6980,7 +8421,7 @@ - + @@ -6988,13 +8429,25 @@ - - + + + + + + + + + + + + + + @@ -7002,12 +8455,55 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/ShapeCast.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/ShapeCast.scriptcanvas index 098e2e67fc..d1b4af5bbd 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/ShapeCast.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/ShapeCast.scriptcanvas @@ -3,1242 +3,34 @@ - + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + + + - + @@ -1270,10 +62,13 @@ + - + + + - + @@ -1305,381 +100,13 @@ + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1716,10 +143,13 @@ + - + + + - + @@ -1751,6 +181,7 @@ + @@ -1767,243 +198,40 @@ - - + - + - + - + - + - + - + - - + + - + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2018,14 +246,14 @@ - - + + - + @@ -2040,10 +268,56 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2053,49 +327,90 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2110,6 +425,7 @@ + @@ -2123,102 +439,55 @@ - + + + + + + + + + + + + + - - + + + + + + + + + + + - + - + - + - - + + - + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2233,8 +502,8 @@ - - + + @@ -2255,10 +524,13 @@ + - + + + - + @@ -2268,32 +540,35 @@ - - + + - + - - + + - + + - + + + - + @@ -2303,10 +578,10 @@ - - + + - + @@ -2314,21 +589,24 @@ - + - + + - + + + - + @@ -2338,10 +616,10 @@ - - + + - + @@ -2349,643 +627,36 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - @@ -2993,845 +664,19 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + + + @@ -3865,8 +710,11 @@ + - + + + @@ -3900,8 +748,11 @@ + - + + + @@ -3935,8 +786,11 @@ + - + + + @@ -3970,8 +824,11 @@ + - + + + @@ -4005,8 +862,11 @@ + - + + + @@ -4057,8 +917,11 @@ + - + + + @@ -4092,8 +955,11 @@ + - + + + @@ -4118,7 +984,7 @@ - + @@ -4127,8 +993,11 @@ + - + + + @@ -4162,8 +1031,11 @@ + - + + + @@ -4188,7 +1060,7 @@ - + @@ -4197,8 +1069,11 @@ + - + + + @@ -4232,8 +1107,11 @@ + - + + + @@ -4258,7 +1136,7 @@ - + @@ -4267,6 +1145,7 @@ + @@ -4295,8 +1174,7 @@ - - + @@ -4376,770 +1254,29 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + + + - + @@ -5171,10 +1308,13 @@ + - + + + - + @@ -5206,10 +1346,960 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5241,10 +2331,13 @@ + - + + + - + @@ -5276,10 +2369,13 @@ + - + + + - + @@ -5311,10 +2407,13 @@ + - + + + - + @@ -5346,22 +2445,38 @@ + - - - + + + + + + + + + + + + + + + - + + + + - + - + @@ -5371,7 +2486,7 @@ - + @@ -5381,7 +2496,7 @@ - + @@ -5392,22 +2507,24 @@ - + - + - + - + + + @@ -5441,8 +2558,11 @@ + - + + + @@ -5476,8 +2596,11 @@ + - + + + @@ -5511,8 +2634,11 @@ + - + + + @@ -5546,8 +2672,11 @@ + - + + + @@ -5581,8 +2710,11 @@ + - + + + @@ -5616,14 +2748,14 @@ + - - + - + @@ -5662,59 +2794,26 @@ - + - + - + - + - + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -5729,8 +2828,8 @@ - - + + @@ -5751,10 +2850,56 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5786,10 +2931,51 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5821,55 +3007,67 @@ + - + - - - + - + + + + + + + + + + + + + - - + - - - + + + - + - + - + - + - + - + + + @@ -5903,8 +3101,11 @@ + - + + + @@ -5938,8 +3139,11 @@ + - + + + @@ -5973,8 +3177,11 @@ + - + + + @@ -6008,8 +3215,11 @@ + - + + + @@ -6043,8 +3253,11 @@ + - + + + @@ -6078,8 +3291,11 @@ + - + + + @@ -6113,14 +3329,14 @@ + - - + - + @@ -6169,22 +3385,2527 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + @@ -6218,8 +5939,11 @@ + - + + + @@ -6253,8 +5977,11 @@ + - + + + @@ -6288,8 +6015,11 @@ + - + + + @@ -6323,8 +6053,11 @@ + - + + + @@ -6358,8 +6091,11 @@ + - + + + @@ -6410,8 +6146,11 @@ + - + + + @@ -6445,8 +6184,11 @@ + - + + + @@ -6471,7 +6213,7 @@ - + @@ -6480,8 +6222,11 @@ + - + + + @@ -6515,8 +6260,11 @@ + - + + + @@ -6541,7 +6289,7 @@ - + @@ -6550,8 +6298,11 @@ + - + + + @@ -6585,8 +6336,11 @@ + - + + + @@ -6611,7 +6365,7 @@ - + @@ -6620,6 +6374,7 @@ + @@ -6648,8 +6403,7 @@ - - + @@ -6729,7 +6483,198 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6737,17 +6682,849 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + @@ -6781,8 +7558,11 @@ + - + + + @@ -6816,8 +7596,11 @@ + - + + + @@ -6851,8 +7634,11 @@ + - + + + @@ -6886,8 +7672,11 @@ + - + + + @@ -6921,8 +7710,11 @@ + - + + + @@ -6956,14 +7748,14 @@ + - - + - + @@ -7002,378 +7794,168 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7405,10 +7987,13 @@ + - + + + - + @@ -7440,10 +8025,13 @@ + - + + + - + @@ -7458,7 +8046,7 @@ - + @@ -7480,10 +8068,13 @@ + - + + + - + @@ -7498,7 +8089,7 @@ - + @@ -7520,10 +8111,100 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7538,7 +8219,7 @@ - + @@ -7560,10 +8241,13 @@ + - + + + - + @@ -7578,7 +8262,7 @@ - + @@ -7600,10 +8284,13 @@ + - + + + - + @@ -7618,7 +8305,7 @@ - + @@ -7640,10 +8327,142 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7653,7 +8472,83 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7675,10 +8570,13 @@ + - + + + - + @@ -7688,7 +8586,7 @@ - + @@ -7706,14 +8604,17 @@ - + - + + - + + + - + @@ -7723,42 +8624,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -7780,10 +8646,13 @@ + - + + + - + @@ -7793,7 +8662,7 @@ - + @@ -7815,6 +8684,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7828,7 +8736,7 @@ - + @@ -7838,9 +8746,9 @@ - + - + @@ -7852,7 +8760,7 @@ - + @@ -7864,7 +8772,19 @@ - + + + + + + + + + + + + + @@ -7878,33 +8798,43 @@ - + - - + - + + + + + + + + + + - + - + - + - + - + - + + + - + @@ -7919,8 +8849,51 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7941,10 +8914,13 @@ + - + + + - + @@ -7959,8 +8935,8 @@ - - + + @@ -7981,10 +8957,56 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8016,45 +9038,13 @@ + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -8086,6 +9076,612 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8099,54 +9695,76 @@ - - - - - - - - - - - - - + - - + - - - - - - - - - - - + - + - + - - + + - + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8157,7 +9775,7 @@ - + @@ -8178,10 +9796,451 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8192,7 +10251,7 @@ - + @@ -8213,10 +10272,13 @@ + - + + + - + @@ -8231,7 +10293,7 @@ - + @@ -8253,210 +10315,13 @@ + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -8466,112 +10331,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -8593,41 +10353,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -8639,95 +10365,43 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + - + + + + + + + + + + - + - + - + - + + + @@ -8761,8 +10435,11 @@ + - + + + @@ -8796,8 +10473,11 @@ + - + + + @@ -8831,8 +10511,11 @@ + - + + + @@ -8866,8 +10549,11 @@ + - + + + @@ -8901,8 +10587,11 @@ + - + + + @@ -8936,8 +10625,11 @@ + - + + + @@ -8971,14 +10663,14 @@ + - - + - + @@ -9027,6 +10719,623 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9034,513 +11343,17 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -9548,10 +11361,10 @@ - + - + @@ -9561,358 +11374,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -9920,7 +11392,7 @@ - + @@ -9933,28 +11405,28 @@ - + - + - + - + - + - + - + @@ -9964,17 +11436,17 @@ - + - + - + @@ -9982,7 +11454,7 @@ - + @@ -9995,28 +11467,28 @@ - + - + - + - + - + - + - + @@ -10026,28 +11498,28 @@ - + - + - + - + - + - + - + @@ -10057,28 +11529,28 @@ - + - + - + - + - + - + - + @@ -10088,17 +11560,79 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -10106,7 +11640,7 @@ - + @@ -10119,28 +11653,28 @@ - + - + - + - + - + - + - + @@ -10150,17 +11684,327 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -10168,7 +12012,7 @@ - + @@ -10181,28 +12025,28 @@ - + - + - + - + - + - + - + @@ -10212,25 +12056,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10243,28 +12118,28 @@ - + - + - + - + - + - + - + @@ -10274,28 +12149,28 @@ - + - + - + - + - + - + - + @@ -10305,28 +12180,28 @@ - + - + - + - + - + - + - + @@ -10336,28 +12211,28 @@ - + - + - + - + - + - + - + @@ -10367,25 +12242,490 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10396,17 +12736,364 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -10416,31 +13103,36 @@ - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + @@ -10448,41 +13140,41 @@ - + + + + + + + - - - - - - - + - + - + @@ -10490,20 +13182,20 @@ - + - - - + + + - - - + + + @@ -10524,7 +13216,7 @@ - + @@ -10532,10 +13224,325 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10545,7 +13552,238 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10566,7 +13804,7 @@ - + @@ -10574,132 +13812,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10707,191 +13820,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10902,21 +13831,12 @@ - - + + - + - - - - - - - - - @@ -10926,7 +13846,112 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10947,7 +13972,7 @@ - + @@ -10955,20 +13980,230 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10989,7 +14224,7 @@ - + @@ -10997,7 +14232,175 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11007,10 +14410,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11031,7 +14565,7 @@ - + @@ -11039,27 +14573,15 @@ - + - - - - - - - - - - - - - - + + - + @@ -11069,244 +14591,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -11315,332 +14599,34 @@ - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + @@ -11648,42 +14634,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + - + + + + + - + - + - + + + + + + + + + + + + + @@ -11693,15 +14725,19 @@ - - - - - + - + + + + + + + + + @@ -11709,23 +14745,27 @@ - - + + - + - - + + - + + + + + @@ -11735,26 +14775,15 @@ - + - + - - - - - - - - - - - - + @@ -11765,27 +14794,29 @@ - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + @@ -11794,29 +14825,31 @@ - + - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + @@ -11827,14 +14860,85 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Trigger.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Trigger.scriptcanvas index 2261f18c39..f23d9666af 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Trigger.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Trigger.scriptcanvas @@ -3,12 +3,12 @@ - + - + - - + + @@ -16,19 +16,21 @@ - + - + - + - + - + + + - + @@ -43,7 +45,7 @@ - + @@ -65,130 +67,13 @@ + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -220,10 +105,13 @@ + - + + + - + @@ -255,550 +143,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + - - - + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + @@ -837,8 +273,11 @@ + - + + + @@ -877,8 +316,11 @@ + - + + + @@ -917,8 +359,11 @@ + - + + + @@ -957,8 +402,11 @@ + - + + + @@ -992,8 +440,11 @@ + - + + + @@ -1027,6 +478,7 @@ + @@ -1052,7 +504,7 @@ - + @@ -1081,8 +533,7 @@ - - + @@ -1096,24 +547,26 @@ - + - + - + - - + + - + - + + + - + @@ -1122,9 +575,23 @@ + + + + + + + + + + + + + + - + @@ -1145,10 +612,13 @@ + - + + + - + @@ -1159,7 +629,7 @@ - + @@ -1180,10 +650,13 @@ + - + + + - + @@ -1193,7 +666,7 @@ - + @@ -1215,10 +688,13 @@ + - + + + - + @@ -1228,7 +704,7 @@ - + @@ -1250,10 +726,13 @@ + - + + + - + @@ -1263,8 +742,8 @@ - - + + @@ -1276,7 +755,7 @@ - + @@ -1285,10 +764,89 @@ + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1303,20 +861,22 @@ - + - - - - - - + + + + + + + + - - + + @@ -1337,10 +897,76 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -1349,18 +975,23 @@ + + + + + - + - + - + @@ -1372,10 +1003,13 @@ + - + + + - + @@ -1385,7 +1019,45 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1407,10 +1079,13 @@ + - + + + - + @@ -1420,11 +1095,11 @@ - + - - + + @@ -1442,41 +1117,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1492,95 +1133,2806 @@ - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1593,25 +3945,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1622,38 +4005,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + @@ -1666,7 +4096,133 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1695,27 +4251,20 @@ - + - - - - - - - - - + + + - - - - + + + @@ -1726,9 +4275,17 @@ - - - + + + + + + + + + + + @@ -1736,7 +4293,7 @@ - + @@ -1749,7 +4306,91 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1778,27 +4419,167 @@ - + - - + + + + + + + + + + + + + + - - - - - - + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1808,10 +4589,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + @@ -1821,16 +4652,36 @@ + + + + - + + + + + - + + + + + + + + + + + + + diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1.fbx.assetinfo b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1.fbx.assetinfo index 9fd33209c9..fa8f75fba4 100644 --- a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1.fbx.assetinfo +++ b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1.fbx.assetinfo @@ -1,45 +1,47 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +{ + "values": [ + { + "$type": "{5B03C8E6-8CEE-4DA0-A7FA-CD88689DD45B} MeshGroup", + "id": "{5F32F7CB-44FE-5B77-ADE9-39DB49FCC78D}", + "name": "_Box_1x1", + "NodeSelectionList": { + "selectedNodes": [ + "RootNode._Box_1x1", + "RootNode._Box_1x1.mesh0_root_0_", + "RootNode._Box_1x1.mesh0_root_0_.transform", + "RootNode._Box_1x1.mesh0_root_0_.UVSet0", + "RootNode._Box_1x1.mesh0_root_0_._Box_1x1__1__MiddleGrey" + ], + "unselectedNodes": [ + "RootNode" + ] + }, + "export method": 2, + "PrimitiveAssetParams": { + "PrimitiveShapeTarget": 2 + } + }, + { + "$type": "{07B356B7-3635-40B5-878A-FAC4EFD5AD86} MeshGroup", + "name": "_Box_1x1", + "nodeSelectionList": { + "selectedNodes": [ + "RootNode", + "RootNode._Box_1x1", + "RootNode._Box_1x1.mesh0_root_0_", + "RootNode._Box_1x1.mesh0_root_0_.transform", + "RootNode._Box_1x1.mesh0_root_0_.UVSet0", + "RootNode._Box_1x1.mesh0_root_0_._Box_1x1__1__MiddleGrey" + ] + }, + "rules": { + "rules": [ + { + "$type": "MaterialRule" + } + ] + }, + "id": "{0D31DA97-1952-573F-BD12-5261F3C74450}" + } + ] +} \ No newline at end of file diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1.mtl b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1.mtl deleted file mode 100644 index f19b4802b4..0000000000 --- a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1.mtl +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1_MiddleGrey.material b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1_MiddleGrey.material new file mode 100644 index 0000000000..dee26ff898 --- /dev/null +++ b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Box_1x1_MiddleGrey.material @@ -0,0 +1,30 @@ +{ + "description": "", + "materialType": "Materials/Types/StandardPBR.materialtype", + "parentMaterial": "", + "propertyLayoutVersion": 3, + "properties": { + "baseColor": { + "textureMap": "Textures/_Primitives/Middle_Gray_Checker.tif" + }, + "emissive": { + "color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "normal": { + "textureMap": "Textures/_Primitives/Middle_Gray_Checker_ddn.tif" + }, + "opacity": { + "factor": 1.0 + }, + "roughness": { + "lowerBound": 0.25, + "textureMap": "Textures/_Primitives/Middle_Gray_Checker_spec.tif", + "upperBound": 0.75 + } + } +} \ No newline at end of file diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1.fbx.assetinfo b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1.fbx.assetinfo index 996948f268..4bc7a7b82c 100644 --- a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1.fbx.assetinfo +++ b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1.fbx.assetinfo @@ -1,111 +1,42 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +{ + "values": [ + { + "$type": "{5B03C8E6-8CEE-4DA0-A7FA-CD88689DD45B} MeshGroup", + "id": "{3CD33B16-F372-5870-AE0C-F0A95A3DA2EF}", + "name": "_Cylinder_1x1", + "NodeSelectionList": { + "selectedNodes": [ + "RootNode.pCylinder2", + "RootNode.pCylinder2.transform", + "RootNode.pCylinder2.map1", + "RootNode.pCylinder2.lambert3" + ], + "unselectedNodes": [ + "RootNode" + ] + }, + "export method": 1 + }, + { + "$type": "{07B356B7-3635-40B5-878A-FAC4EFD5AD86} MeshGroup", + "name": "_Cylinder_1x1", + "nodeSelectionList": { + "selectedNodes": [ + "RootNode", + "RootNode.pCylinder2", + "RootNode.pCylinder2.transform", + "RootNode.pCylinder2.map1", + "RootNode.pCylinder2.lambert3" + ] + }, + "rules": { + "rules": [ + { + "$type": "MaterialRule" + } + ] + }, + "id": "{841DECB9-460F-5CD1-BD77-F95037F034F7}" + } + ] +} \ No newline at end of file diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1.mtl b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1.mtl deleted file mode 100644 index a6558a9aa8..0000000000 --- a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1.mtl +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1_MiddleGrey.material b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1_MiddleGrey.material new file mode 100644 index 0000000000..dee26ff898 --- /dev/null +++ b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Cylinder_1x1_MiddleGrey.material @@ -0,0 +1,30 @@ +{ + "description": "", + "materialType": "Materials/Types/StandardPBR.materialtype", + "parentMaterial": "", + "propertyLayoutVersion": 3, + "properties": { + "baseColor": { + "textureMap": "Textures/_Primitives/Middle_Gray_Checker.tif" + }, + "emissive": { + "color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "normal": { + "textureMap": "Textures/_Primitives/Middle_Gray_Checker_ddn.tif" + }, + "opacity": { + "factor": 1.0 + }, + "roughness": { + "lowerBound": 0.25, + "textureMap": "Textures/_Primitives/Middle_Gray_Checker_spec.tif", + "upperBound": 0.75 + } + } +} \ No newline at end of file diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1.fbx.assetinfo b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1.fbx.assetinfo index 9abc145db1..868ff16e42 100644 --- a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1.fbx.assetinfo +++ b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1.fbx.assetinfo @@ -1,44 +1,43 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +{ + "values": [ + { + "$type": "{5B03C8E6-8CEE-4DA0-A7FA-CD88689DD45B} MeshGroup", + "id": "{60A96B34-ED33-52A2-A335-2210D1B2FFEB}", + "name": "_Sphere_1x1", + "NodeSelectionList": { + "selectedNodes": [ + "RootNode", + "RootNode.pSphere1", + "RootNode.pSphere1.transform", + "RootNode.pSphere1.map1", + "RootNode.pSphere1.lambert3" + ] + }, + "export method": 2, + "PrimitiveAssetParams": { + "PrimitiveShapeTarget": 1 + } + }, + { + "$type": "{07B356B7-3635-40B5-878A-FAC4EFD5AD86} MeshGroup", + "name": "_Sphere_1x1", + "nodeSelectionList": { + "selectedNodes": [ + "RootNode", + "RootNode.pSphere1", + "RootNode.pSphere1.transform", + "RootNode.pSphere1.map1", + "RootNode.pSphere1.lambert3" + ] + }, + "rules": { + "rules": [ + { + "$type": "MaterialRule" + } + ] + }, + "id": "{2321260D-A38B-56BD-A168-35F0FF7D70AB}" + } + ] +} \ No newline at end of file diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1.mtl b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1.mtl deleted file mode 100644 index 46fdfe5e32..0000000000 --- a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1.mtl +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1_MiddleGrey.material b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1_MiddleGrey.material new file mode 100644 index 0000000000..718d951bb2 --- /dev/null +++ b/Gems/PrimitiveAssets/Assets/Objects/_Primitives/_Sphere_1x1_MiddleGrey.material @@ -0,0 +1,33 @@ +{ + "description": "", + "materialType": "Materials/Types/StandardPBR.materialtype", + "parentMaterial": "", + "propertyLayoutVersion": 3, + "properties": { + "baseColor": { + "textureMap": "Textures/_Primitives/Middle_Gray_Checker.tif" + }, + "emissive": { + "color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "normal": { + "textureMap": "Textures/_Primitives/Middle_Gray_Checker_ddn.tif" + }, + "opacity": { + "factor": 1.0 + }, + "roughness": { + "lowerBound": 0.25, + "textureMap": "Textures/_Primitives/Middle_Gray_Checker_spec.tif", + "upperBound": 0.75 + }, + "specularF0": { + "factor": 1.0 + } + } +} \ No newline at end of file diff --git a/Gems/PrimitiveAssets/Assets/Slices/_Box_1x1.slice b/Gems/PrimitiveAssets/Assets/Slices/_Box_1x1.slice deleted file mode 100644 index 4cc6d7a9c3..0000000000 --- a/Gems/PrimitiveAssets/Assets/Slices/_Box_1x1.slice +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Gems/PrimitiveAssets/Assets/Slices/_Cylinder_1x1.slice b/Gems/PrimitiveAssets/Assets/Slices/_Cylinder_1x1.slice deleted file mode 100644 index 0422501e4d..0000000000 --- a/Gems/PrimitiveAssets/Assets/Slices/_Cylinder_1x1.slice +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Gems/PrimitiveAssets/Assets/Slices/_Sphere_1x1.slice b/Gems/PrimitiveAssets/Assets/Slices/_Sphere_1x1.slice deleted file mode 100644 index ede306d795..0000000000 --- a/Gems/PrimitiveAssets/Assets/Slices/_Sphere_1x1.slice +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 469b1a0858ac8bf4827d93f2473cc41067a2282c Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Fri, 11 Jun 2021 16:30:46 -0700 Subject: [PATCH 161/205] Fix monolithic link error involving gem variants which are "aliased" as interface libraries with multiple gem target dependencies --- Code/LauncherUnified/launcher_generator.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Code/LauncherUnified/launcher_generator.cmake b/Code/LauncherUnified/launcher_generator.cmake index 36cd3c5899..15bbc0fe89 100644 --- a/Code/LauncherUnified/launcher_generator.cmake +++ b/Code/LauncherUnified/launcher_generator.cmake @@ -196,6 +196,16 @@ function(ly_delayed_generate_static_modules_inl) ly_get_gem_load_dependencies(all_game_gem_dependencies ${project_name}.GameLauncher) foreach(game_gem_dependency ${all_game_gem_dependencies}) + # Sometimes, a gem's Client variant may be an interface library + # which dependes on multiple gem targets. The interface libraries + # should be skipped; the real dependencies of the interface will be processed + if(TARGET ${game_gem_dependency}) + get_target_property(target_type ${game_gem_dependency} TYPE) + if(${target_type} STREQUAL "INTERFACE_LIBRARY") + continue() + endif() + endif() + # To match the convention on how gems targets vs gem modules are named, # we remove the ".Static" from the suffix # Replace "." with "_" From a86062bd91eb3184726319cec221304a8976b32a Mon Sep 17 00:00:00 2001 From: amzn-sj Date: Fri, 11 Jun 2021 16:42:09 -0700 Subject: [PATCH 162/205] Skip interface libraries when genrating StaticModules for game server as well --- Code/LauncherUnified/launcher_generator.cmake | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Code/LauncherUnified/launcher_generator.cmake b/Code/LauncherUnified/launcher_generator.cmake index 15bbc0fe89..5fa0f7a0e3 100644 --- a/Code/LauncherUnified/launcher_generator.cmake +++ b/Code/LauncherUnified/launcher_generator.cmake @@ -234,6 +234,14 @@ function(ly_delayed_generate_static_modules_inl) list(APPEND all_server_gem_dependencies ${server_gem_load_dependencies} ${server_gem_dependency}) endforeach() foreach(server_gem_dependency ${all_server_gem_dependencies}) + # Skip interface libraries + if(TARGET ${server_gem_dependency}) + get_target_property(target_type ${server_gem_dependency} TYPE) + if(${target_type} STREQUAL "INTERFACE_LIBRARY") + continue() + endif() + endif() + # Replace "." with "_" string(REPLACE "." "_" server_gem_dependency ${server_gem_dependency}) From f32590d241c12b01c1ff0ed0c2f2c248b0ca60b1 Mon Sep 17 00:00:00 2001 From: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com> Date: Fri, 11 Jun 2021 16:43:53 -0700 Subject: [PATCH 163/205] LYN-4042 | No UI Indication that Level is Modified (#1277) * Restore the code that display the dirty marker on the Level container. Ensure the dirty marker is cleared on level save. * Moving call one level up to allow usage of the SaveTemplateToString function without clearing the dirty flag. --- .../PrefabEditorEntityOwnershipService.cpp | 17 ++++++++++++----- .../UI/Prefab/LevelRootUiHandler.cpp | 13 +++++++++++-- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp index fa7d5f6e9b..6e96511507 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp @@ -252,13 +252,20 @@ namespace AzToolsFramework } AZStd::string out; - if (m_loaderInterface->SaveTemplateToString(m_rootInstance->GetTemplateId(), out)) + + if (!m_loaderInterface->SaveTemplateToString(m_rootInstance->GetTemplateId(), out)) { - const size_t bytesToWrite = out.size(); - const size_t bytesWritten = stream.Write(bytesToWrite, out.data()); - return bytesWritten == bytesToWrite; + return false; } - return false; + + const size_t bytesToWrite = out.size(); + const size_t bytesWritten = stream.Write(bytesToWrite, out.data()); + if(bytesWritten != bytesToWrite) + { + return false; + } + m_prefabSystemComponent->SetTemplateDirtyFlag(templateId, false); + return true; } void PrefabEditorEntityOwnershipService::CreateNewLevelPrefab(AZStd::string_view filename, const AZStd::string& templateFilename) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp index 7915403c0a..d6b7aebddc 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/UI/Prefab/LevelRootUiHandler.cpp @@ -58,8 +58,17 @@ namespace AzToolsFramework if (!path.empty()) { - infoString = - QObject::tr("(%1)").arg(path.Filename().Native().data()); + QString saveFlag = ""; + auto dirtyOutcome = m_prefabPublicInterface->HasUnsavedChanges(path); + + if (dirtyOutcome.IsSuccess() && dirtyOutcome.GetValue() == true) + { + saveFlag = "*"; + } + + infoString = QObject::tr("(%1%2)") + .arg(path.Filename().Native().data()) + .arg(saveFlag); } return infoString; From 8089b6469b2d62fa8954a02f348ed9ac4a8a9192 Mon Sep 17 00:00:00 2001 From: Peng Date: Fri, 11 Jun 2021 17:14:31 -0700 Subject: [PATCH 164/205] ATOM-15774 [RHI][Vulkan] Fix issue with null image that is released prior to creating image view. JIRA: https://jira.agscollab.com/browse/ATOM-15774 --- Gems/Atom/RHI/Vulkan/Code/Source/RHI/ImageView.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/ImageView.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/ImageView.cpp index 605f61fc33..ec58b5c940 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/RHI/ImageView.cpp +++ b/Gems/Atom/RHI/Vulkan/Code/Source/RHI/ImageView.cpp @@ -55,7 +55,11 @@ namespace AZ const auto& image = static_cast(resourceBase); const RHI::ImageViewDescriptor& descriptor = GetDescriptor(); - AZ_Assert(image.GetNativeImage() != VK_NULL_HANDLE, "Image has not been initialized."); + // this can happen when image has been invalidated/released right before re-compiling the image + if (image.GetNativeImage() == VK_NULL_HANDLE) + { + return RHI::ResultCode::Fail; + } RHI::Format viewFormat = descriptor.m_overrideFormat; // If an image is not owner of native image, it is a swapchain image. From e4921c8d0aa0fe5ea3916e2e486dfdabc52255a7 Mon Sep 17 00:00:00 2001 From: sconel Date: Fri, 11 Jun 2021 17:45:46 -0700 Subject: [PATCH 165/205] Fix nested container entities not getting editor info removed during prefab processing --- .../PrefabEditorEntityOwnershipService.cpp | 17 ++- .../Prefab/Instance/Instance.cpp | 130 +++++++++++------- .../Prefab/Instance/Instance.h | 17 ++- .../Prefab/Spawnable/EditorInfoRemover.cpp | 33 ++--- .../Prefab/Spawnable/EditorInfoRemover.h | 4 +- .../Prefab/PrefabUpdateWithPatchesTests.cpp | 2 +- 6 files changed, 116 insertions(+), 87 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp index fa7d5f6e9b..71781d29d5 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp @@ -159,12 +159,23 @@ namespace AzToolsFramework void PrefabEditorEntityOwnershipService::GetNonPrefabEntities(EntityList& entities) { - m_rootInstance->GetEntities(entities, false); + m_rootInstance->GetEntities( + [&entities](const AZStd::unique_ptr& entity) + { + entities.emplace_back(entity.get()); + return true; + }); } bool PrefabEditorEntityOwnershipService::GetAllEntities(EntityList& entities) { - m_rootInstance->GetEntities(entities, true); + m_rootInstance->GetAllEntitiesInHierarchy( + [&entities](const AZStd::unique_ptr& entity) + { + entities.emplace_back(entity.get()); + return true; + }); + return true; } @@ -544,7 +555,7 @@ namespace AzToolsFramework return; } - m_rootInstance->GetNestedEntities([this](AZStd::unique_ptr& entity) + m_rootInstance->GetAllEntitiesInHierarchy([this](AZStd::unique_ptr& entity) { AZ_Assert(entity, "Invalid entity found in root instance while starting play in editor."); if (entity->GetState() == AZ::Entity::State::Active) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.cpp index 83a76aeb01..e5179f4229 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.cpp @@ -373,17 +373,25 @@ namespace AzToolsFramework } } - void Instance::GetConstNestedEntities(const AZStd::function& callback) + bool Instance::GetEntities_Impl(const AZStd::function&)>& callback) { - GetConstEntities(callback); - - for (const auto& [instanceAlias, instance] : m_nestedInstances) + for (auto& [entityAlias, entity] : m_entities) { - instance->GetConstNestedEntities(callback); + if (!entity) + { + continue; + } + + if (!callback(entity)) + { + return false; + } } + + return true; } - void Instance::GetConstEntities(const AZStd::function& callback) + bool Instance::GetConstEntities_Impl(const AZStd::function& callback) const { for (const auto& [entityAlias, entity] : m_entities) { @@ -394,19 +402,83 @@ namespace AzToolsFramework if (!callback(*entity)) { - break; + return false; } } + + return true; } - void Instance::GetNestedEntities(const AZStd::function&)>& callback) + bool Instance::GetAllEntitiesInHierarchy_Impl(const AZStd::function&)>& callback) { - GetEntities(callback); + if (HasContainerEntity()) + { + if (!callback(m_containerEntity)) + { + return false; + } + } + + if (!GetEntities_Impl(callback)) + { + return false; + } for (auto& [instanceAlias, instance] : m_nestedInstances) { - instance->GetNestedEntities(callback); + if (!instance->GetAllEntitiesInHierarchy_Impl(callback)) + { + return false; + } } + + return true; + } + + bool Instance::GetAllEntitiesInHierarchyConst_Impl(const AZStd::function& callback) const + { + if (HasContainerEntity()) + { + if (!callback(*m_containerEntity)) + { + return false; + } + } + + if (!GetConstEntities_Impl(callback)) + { + return false; + } + + for (const auto& [instanceAlias, instance] : m_nestedInstances) + { + if (!instance->GetAllEntitiesInHierarchyConst_Impl(callback)) + { + return false; + } + } + + return true; + } + + void Instance::GetEntities(const AZStd::function&)>& callback) + { + GetEntities_Impl(callback); + } + + void Instance::GetConstEntities(const AZStd::function& callback) const + { + GetConstEntities_Impl(callback); + } + + void Instance::GetAllEntitiesInHierarchy(const AZStd::function&)>& callback) + { + GetAllEntitiesInHierarchy_Impl(callback); + } + + void Instance::GetAllEntitiesInHierarchyConst(const AZStd::function& callback) const + { + GetAllEntitiesInHierarchyConst_Impl(callback); } void Instance::GetNestedInstances(const AZStd::function&)>& callback) @@ -417,44 +489,6 @@ namespace AzToolsFramework } } - void Instance::GetEntities(const AZStd::function&)>& callback) - { - for (auto& [entityAlias, entity] : m_entities) - { - if (!callback(entity)) - { - break; - } - } - } - - void Instance::GetEntities(EntityList& entities, bool includeNestedEntities) - { - // Non-recursive traversal of instances - AZStd::vector instancesToTraverse = { this }; - while (!instancesToTraverse.empty()) - { - Instance* currentInstance = instancesToTraverse.back(); - instancesToTraverse.pop_back(); - if (includeNestedEntities) - { - instancesToTraverse.reserve(instancesToTraverse.size() + currentInstance->m_nestedInstances.size()); - for (const auto& instanceByAlias : currentInstance->m_nestedInstances) - { - instancesToTraverse.push_back(instanceByAlias.second.get()); - } - } - - // Size increases by 1 for each instance because we have to count the container entity also. - entities.reserve(entities.size() + currentInstance->m_entities.size() + 1); - entities.push_back(m_containerEntity.get()); - for (const auto& entityByAlias : currentInstance->m_entities) - { - entities.push_back(entityByAlias.second.get()); - } - } - } - EntityAliasOptionalReference Instance::GetEntityAlias(const AZ::EntityId& id) { if (m_instanceToTemplateEntityIdMap.count(id)) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h index 5f36ac10dc..9d3ae31796 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Instance/Instance.h @@ -121,10 +121,10 @@ namespace AzToolsFramework /** * Gets the entities in the Instance DOM. Can recursively trace all nested instances. */ - void GetConstNestedEntities(const AZStd::function& callback); - void GetConstEntities(const AZStd::function& callback); - void GetNestedEntities(const AZStd::function&)>& callback); void GetEntities(const AZStd::function&)>& callback); + void GetConstEntities(const AZStd::function& callback) const; + void GetAllEntitiesInHierarchy(const AZStd::function&)>& callback); + void GetAllEntitiesInHierarchyConst(const AZStd::function& callback) const; void GetNestedInstances(const AZStd::function&)>& callback); /** @@ -184,12 +184,6 @@ namespace AzToolsFramework static InstanceAlias GenerateInstanceAlias(); - protected: - /** - * Gets the entities owned by this instance - */ - void GetEntities(EntityList& entities, bool includeNestedEntities = false); - private: static constexpr const char s_aliasPathSeparator = '/'; @@ -197,6 +191,11 @@ namespace AzToolsFramework void RemoveEntities(const AZStd::function&)>& filter); + bool GetEntities_Impl(const AZStd::function&)>& callback); + bool GetConstEntities_Impl(const AZStd::function& callback) const; + bool GetAllEntitiesInHierarchy_Impl(const AZStd::function&)>& callback); + bool GetAllEntitiesInHierarchyConst_Impl(const AZStd::function& callback) const; + bool RegisterEntity(const AZ::EntityId& entityId, const EntityAlias& entityAlias); AZStd::unique_ptr DetachEntity(const EntityAlias& entityAlias); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/EditorInfoRemover.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/EditorInfoRemover.cpp index 6480ac37d7..cc04fe24c1 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/EditorInfoRemover.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/EditorInfoRemover.cpp @@ -62,25 +62,16 @@ namespace AzToolsFramework::Prefab::PrefabConversionUtils } } - AZStd::vector EditorInfoRemover::GetEntitiesFromInstance(AZStd::unique_ptr& instance) + void EditorInfoRemover::GetEntitiesFromInstance( + AZStd::unique_ptr& instance, EntityList& hierarchyEntities) { - AZStd::vector result; - - instance->GetNestedEntities( - [&result](const AZStd::unique_ptr& entity) + instance->GetAllEntitiesInHierarchy( + [&hierarchyEntities](const AZStd::unique_ptr& entity) { - result.emplace_back(entity.get()); + hierarchyEntities.emplace_back(entity.get()); return true; } ); - - if (instance->HasContainerEntity()) - { - auto containerEntityReference = instance->GetContainerEntity(); - result.emplace_back(&containerEntityReference->get()); - } - - return result; } void EditorInfoRemover::SetEditorOnlyEntityHandlerFromCandidates(const EntityList& entities) @@ -543,7 +534,9 @@ exportComponent, prefabProcessorContext); } // grab all nested entities from the Instance as source entities. - EntityList sourceEntities = GetEntitiesFromInstance(instance); + EntityList sourceEntities; + GetEntitiesFromInstance(instance, sourceEntities); + EntityList exportEntities; // prepare for validation of component requirements. @@ -616,7 +609,7 @@ exportComponent, prefabProcessorContext); ); // replace entities of instance with exported ones. - instance->GetNestedEntities( + instance->GetAllEntitiesInHierarchy( [&exportEntitiesMap](AZStd::unique_ptr& entity) { auto entityId = entity->GetId(); @@ -625,14 +618,6 @@ exportComponent, prefabProcessorContext); } ); - if (instance->HasContainerEntity()) - { - if (auto found = exportEntitiesMap.find(instance->GetContainerEntityId()); found != exportEntitiesMap.end()) - { - instance->SetContainerEntity(*found->second); - } - } - // save the final result in the target Prefab DOM. PrefabDom filteredPrefab; if (!PrefabDomUtils::StoreInstanceInPrefabDom(*instance, filteredPrefab)) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/EditorInfoRemover.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/EditorInfoRemover.h index 1e00485e42..5de5c516f8 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/EditorInfoRemover.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/Spawnable/EditorInfoRemover.h @@ -55,8 +55,8 @@ namespace AzToolsFramework::Prefab::PrefabConversionUtils protected: using EntityList = AZStd::vector; - static EntityList GetEntitiesFromInstance( - AZStd::unique_ptr& instance); + static void GetEntitiesFromInstance( + AZStd::unique_ptr& instance, EntityList& hierarchyEntities); static bool ReadComponentAttribute( AZ::Component* component, diff --git a/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabUpdateWithPatchesTests.cpp b/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabUpdateWithPatchesTests.cpp index aef3cad5f3..e3460c307f 100644 --- a/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabUpdateWithPatchesTests.cpp +++ b/Code/Framework/AzToolsFramework/Tests/Prefab/PrefabUpdateWithPatchesTests.cpp @@ -93,7 +93,7 @@ namespace UnitTest // Retrieve the entity pointer from the component application bus. AZ::Entity* wheelEntityUnderAxle = nullptr; - axleInstance->GetNestedEntities([&wheelEntityUnderAxle, wheelEntityIdUnderAxle](AZStd::unique_ptr& entity) + axleInstance->GetAllEntitiesInHierarchy([&wheelEntityUnderAxle, wheelEntityIdUnderAxle](AZStd::unique_ptr& entity) { if (entity->GetId() == wheelEntityIdUnderAxle) { From 633de3d28bfa8582eebe0d41aff086cfc8995207 Mon Sep 17 00:00:00 2001 From: scottr Date: Fri, 11 Jun 2021 17:58:14 -0700 Subject: [PATCH 166/205] [cpack/stabilization/2106] bootstrap installer theme support (required for changes requested by legal) --- .../Windows/Packaging/Bootstrapper.wxs | 4 + .../Packaging/BootstrapperTheme.wxl.in | 70 +++++++++++++++ .../Packaging/BootstrapperTheme.xml.in | 87 +++++++++++++++++++ .../Platform/Windows/PackagingPostBuild.cmake | 1 + .../Platform/Windows/Packaging_windows.cmake | 22 +++++ .../Windows/platform_windows_files.cmake | 2 + 6 files changed, 186 insertions(+) create mode 100644 cmake/Platform/Windows/Packaging/BootstrapperTheme.wxl.in create mode 100644 cmake/Platform/Windows/Packaging/BootstrapperTheme.xml.in diff --git a/cmake/Platform/Windows/Packaging/Bootstrapper.wxs b/cmake/Platform/Windows/Packaging/Bootstrapper.wxs index 55e8a8cd95..fd8aa68b77 100644 --- a/cmake/Platform/Windows/Packaging/Bootstrapper.wxs +++ b/cmake/Platform/Windows/Packaging/Bootstrapper.wxs @@ -22,6 +22,8 @@ @@ -29,6 +31,8 @@ diff --git a/cmake/Platform/Windows/Packaging/BootstrapperTheme.wxl.in b/cmake/Platform/Windows/Packaging/BootstrapperTheme.wxl.in new file mode 100644 index 0000000000..fe125cfdfe --- /dev/null +++ b/cmake/Platform/Windows/Packaging/BootstrapperTheme.wxl.in @@ -0,0 +1,70 @@ + + + + + [WixBundleName] Setup + [WixBundleName] + Version [WixBundleVersion] + Are you sure you want to cancel? + + + Welcome + +Setup will install [WixBundleName] on your computer. Click install to continue, options to set the install directory or Close to exit. + + [WixBundleName] <a href="#">license terms</a>. + I &agree to the license terms and conditions + &Options + &Install + &Close + + + Setup Options + Install location: + &Browse + &OK + &Cancel + + + Modify Setup + &Repair + &Uninstall + &Close + + + Setup Progress + Processing: + Initializing... + &Cancel + + + Setup Successful + Installation Successfully Completed + Repair Successfully Completed + Uninstall Successfully Completed + &Launch + &Close + + + Setup Failed + Setup Failed + Uninstall Failed + Repair Failed + +One or more issues caused the setup to fail. Please fix the issues and then retry setup. For more information see the <a href="#">log file</a>. + + &Close + + + Setup Help + +/install | /repair | /uninstall | /layout [directory] - installs, repairs, uninstalls or creates a complete local copy of the bundle in directory. Install is the default. + +/passive | /quiet - displays minimal UI with no prompts or displays no UI and no prompts. By default UI and all prompts are displayed. + +/log log.txt - logs to a specific file. By default a log file is created in %TEMP%. + + &Close + diff --git a/cmake/Platform/Windows/Packaging/BootstrapperTheme.xml.in b/cmake/Platform/Windows/Packaging/BootstrapperTheme.xml.in new file mode 100644 index 0000000000..61b338cc13 --- /dev/null +++ b/cmake/Platform/Windows/Packaging/BootstrapperTheme.xml.in @@ -0,0 +1,87 @@ + + + + #(loc.WindowTitle) + + Segoe UI + Segoe UI + Segoe UI + Segoe UI + + + + #(loc.Title) + + + + @WIX_THEME_INSTALL_LICENSE_ELEMENT@ + + #(loc.InstallAcceptCheckbox) + + + + + + + + #(loc.OptionsHeader) + + #(loc.OptionsLocationLabel) + + + + + + + + + + #(loc.ModifyHeader) + + + + + + + + + #(loc.ProgressHeader) + + #(loc.ProgressLabel) + #(loc.OverallProgressPackageText) + + + + + + + + #(loc.SuccessHeader) + #(loc.SuccessInstallHeader) + #(loc.SuccessRepairHeader) + #(loc.SuccessUninstallHeader) + + + + + + + + #(loc.FailureHeader) + #(loc.FailureInstallHeader) + #(loc.FailureUninstallHeader) + #(loc.FailureRepairHeader) + + #(loc.FailureHyperlinkLogText) + + + + + + + + #(loc.HelpHeader) + #(loc.HelpText) + + + diff --git a/cmake/Platform/Windows/PackagingPostBuild.cmake b/cmake/Platform/Windows/PackagingPostBuild.cmake index 89b3efb44b..1dcbedcba7 100644 --- a/cmake/Platform/Windows/PackagingPostBuild.cmake +++ b/cmake/Platform/Windows/PackagingPostBuild.cmake @@ -25,6 +25,7 @@ set(_ext_flags ) set(_addtional_defines + -dCPACK_BOOTSTRAP_THEME_FILE=${CPACK_BINARY_DIR}/BootstrapperTheme -dCPACK_BOOTSTRAP_UPGRADE_GUID=${CPACK_WIX_BOOTSTRAP_UPGRADE_GUID} -dCPACK_DOWNLOAD_SITE=${CPACK_DOWNLOAD_SITE} -dCPACK_LOCAL_INSTALLER_DIR=${_cpack_wix_out_dir} diff --git a/cmake/Platform/Windows/Packaging_windows.cmake b/cmake/Platform/Windows/Packaging_windows.cmake index 2fd281ad51..aec0edeee2 100644 --- a/cmake/Platform/Windows/Packaging_windows.cmake +++ b/cmake/Platform/Windows/Packaging_windows.cmake @@ -92,6 +92,28 @@ set(CPACK_WIX_EXTENSIONS set(_embed_artifacts "yes") if(LY_INSTALLER_DOWNLOAD_URL) + + if(LY_INSTALLER_LICENSE_URL) + set(WIX_THEME_INSTALL_LICENSE_ELEMENT + "#(loc.InstallLicenseLinkText)" + ) + else() + set(WIX_THEME_INSTALL_LICENSE_ELEMENT + "" + ) + endif() + + configure_file( + "${CPACK_SOURCE_DIR}/Platform/Windows/Packaging/BootstrapperTheme.xml.in" + "${CPACK_BINARY_DIR}/BootstrapperTheme.xml" + @ONLY + ) + configure_file( + "${CPACK_SOURCE_DIR}/Platform/Windows/Packaging/BootstrapperTheme.wxl.in" + "${CPACK_BINARY_DIR}/BootstrapperTheme.wxl" + @ONLY + ) + set(_embed_artifacts "no") # the bootstrapper will at the very least need a different upgrade guid diff --git a/cmake/Platform/Windows/platform_windows_files.cmake b/cmake/Platform/Windows/platform_windows_files.cmake index 3ce53fbcea..b3cdc8a4ff 100644 --- a/cmake/Platform/Windows/platform_windows_files.cmake +++ b/cmake/Platform/Windows/platform_windows_files.cmake @@ -26,6 +26,8 @@ set(FILES Packaging_windows.cmake PackagingPostBuild.cmake Packaging/Bootstrapper.wxs + Packaging/BootstrapperTheme.wxl.in + Packaging/BootstrapperTheme.xml.in Packaging/Shortcuts.wxs Packaging/Template.wxs.in ) From 259542b3ca8e2e4acb8032e1c815703cc1cf9b2c Mon Sep 17 00:00:00 2001 From: Chris Burel Date: Fri, 11 Jun 2021 18:31:42 -0700 Subject: [PATCH 167/205] Fix new instance that triggers `-Wnon-pod-varargs` (#1290) --- Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp b/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp index de632c02b5..8440e77330 100644 --- a/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp +++ b/Gems/PhysX/Code/Source/Pipeline/MeshExporter.cpp @@ -295,7 +295,7 @@ namespace PhysX AZ_TracePrintf( AZ::SceneAPI::Utilities::WarningWindow, "Node '%.*s' does not have any material assigned to it. Material '%s' will be used.", - nodeName.size(), nodeName, DefaultMaterialName + AZ_STRING_ARG(nodeName), DefaultMaterialName ); } From 8459cbe5c2e1c75f47720594ffa8976ebf81b465 Mon Sep 17 00:00:00 2001 From: Doug McDiarmid Date: Sat, 12 Jun 2021 01:18:24 -0700 Subject: [PATCH 168/205] Removed the DiffuseGlobalIllumination component from the editor Entity Component list, it was intended to be a Level Component only. Checked for a valid quality level in DiffuseGlobalIlluminationFeatureProcessor::SetQualityLevel. Initialized the quality level to Low in DiffuseGlobalIlluminationComponentConfig. --- .../DiffuseGlobalIlluminationFeatureProcessorInterface.h | 4 +++- .../DiffuseGlobalIlluminationFeatureProcessor.cpp | 6 ++++++ .../DiffuseGlobalIlluminationComponentConfig.h | 2 +- .../EditorDiffuseGlobalIlluminationComponent.cpp | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DiffuseGlobalIllumination/DiffuseGlobalIlluminationFeatureProcessorInterface.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DiffuseGlobalIllumination/DiffuseGlobalIlluminationFeatureProcessorInterface.h index 88faac1728..ce50cea17f 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DiffuseGlobalIllumination/DiffuseGlobalIlluminationFeatureProcessorInterface.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/DiffuseGlobalIllumination/DiffuseGlobalIlluminationFeatureProcessorInterface.h @@ -23,7 +23,9 @@ namespace AZ { Low, Medium, - High + High, + + Count }; //! This class provides general features and configuration for the diffuse global illumination environment, diff --git a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseGlobalIlluminationFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseGlobalIlluminationFeatureProcessor.cpp index 5040665456..1c28e18e0e 100644 --- a/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseGlobalIlluminationFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/DiffuseGlobalIllumination/DiffuseGlobalIlluminationFeatureProcessor.cpp @@ -43,6 +43,12 @@ namespace AZ void DiffuseGlobalIlluminationFeatureProcessor::SetQualityLevel(DiffuseGlobalIlluminationQualityLevel qualityLevel) { + if (qualityLevel >= DiffuseGlobalIlluminationQualityLevel::Count) + { + AZ_Assert(false, "SetQualityLevel called with invalid quality level [%d]", qualityLevel); + return; + } + m_qualityLevel = qualityLevel; UpdatePasses(); diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseGlobalIlluminationComponentConfig.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseGlobalIlluminationComponentConfig.h index fb99a99e1a..8f1b216af5 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseGlobalIlluminationComponentConfig.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseGlobalIlluminationComponentConfig.h @@ -29,7 +29,7 @@ namespace AZ static void Reflect(ReflectContext* context); - DiffuseGlobalIlluminationQualityLevel m_qualityLevel; + DiffuseGlobalIlluminationQualityLevel m_qualityLevel = DiffuseGlobalIlluminationQualityLevel::Low; }; } } diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/EditorDiffuseGlobalIlluminationComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/EditorDiffuseGlobalIlluminationComponent.cpp index bdb5686e89..7df965d831 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/EditorDiffuseGlobalIlluminationComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/EditorDiffuseGlobalIlluminationComponent.cpp @@ -36,7 +36,7 @@ namespace AZ ->Attribute(Edit::Attributes::Category, "Atom") ->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/Component_Placeholder.svg") ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/Component_Placeholder.png") - ->Attribute(Edit::Attributes::AppearsInAddComponentMenu, AZStd::vector({ AZ_CRC("Level", 0x9aeacc13), AZ_CRC("Game", 0x232b318c) })) + ->Attribute(Edit::Attributes::AppearsInAddComponentMenu, AZStd::vector({ AZ_CRC("Level", 0x9aeacc13) })) ->Attribute(Edit::Attributes::AutoExpand, true) ->Attribute(Edit::Attributes::HelpPageURL, "https://") ; From 886601ad947142cfeff23c6cb810c1798aeb43dc Mon Sep 17 00:00:00 2001 From: Doug McDiarmid Date: Sat, 12 Jun 2021 03:20:31 -0700 Subject: [PATCH 169/205] Created a new ReflectionScreenSpaceCompositePass to set the maximum roughness mip in the pass Srg. Changed the ReflectionScreenSpaceBlurPass to auto-generate the mip chain, which will compute the appropriate number of mips. --- .../Passes/ReflectionScreenSpaceBlur.pass | 4 +- .../ReflectionScreenSpaceComposite.pass | 2 +- .../ReflectionScreenSpaceComposite.azsl | 10 ++-- .../Code/Source/CommonSystemComponent.cpp | 2 + .../ReflectionScreenSpaceBlurPass.h | 3 + .../ReflectionScreenSpaceCompositePass.cpp | 55 +++++++++++++++++++ .../ReflectionScreenSpaceCompositePass.h | 43 +++++++++++++++ .../Code/atom_feature_common_files.cmake | 2 + 8 files changed, 112 insertions(+), 9 deletions(-) create mode 100644 Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp create mode 100644 Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.h diff --git a/Gems/Atom/Feature/Common/Assets/Passes/ReflectionScreenSpaceBlur.pass b/Gems/Atom/Feature/Common/Assets/Passes/ReflectionScreenSpaceBlur.pass index 1d20382408..e2fde2d4ef 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/ReflectionScreenSpaceBlur.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/ReflectionScreenSpaceBlur.pass @@ -24,9 +24,9 @@ }, "ImageDescriptor": { "Format": "R16G16B16A16_FLOAT", - "MipLevels": "8", "SharedQueueMask": "Graphics" - } + }, + "GenerateFullMipChain": true } ], "Connections": [ diff --git a/Gems/Atom/Feature/Common/Assets/Passes/ReflectionScreenSpaceComposite.pass b/Gems/Atom/Feature/Common/Assets/Passes/ReflectionScreenSpaceComposite.pass index 80c4e8987b..5443c32406 100644 --- a/Gems/Atom/Feature/Common/Assets/Passes/ReflectionScreenSpaceComposite.pass +++ b/Gems/Atom/Feature/Common/Assets/Passes/ReflectionScreenSpaceComposite.pass @@ -5,7 +5,7 @@ "ClassData": { "PassTemplate": { "Name": "ReflectionScreenSpaceCompositePassTemplate", - "PassClass": "FullScreenTriangle", + "PassClass": "ReflectionScreenSpaceCompositePass", "Slots": [ { "Name": "TraceInput", diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/Reflections/ReflectionScreenSpaceComposite.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/Reflections/ReflectionScreenSpaceComposite.azsl index fa3885f180..c5c724e106 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/Reflections/ReflectionScreenSpaceComposite.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/Reflections/ReflectionScreenSpaceComposite.azsl @@ -37,6 +37,9 @@ ShaderResourceGroup PassSrg : SRG_PerPass AddressV = Clamp; AddressW = Clamp; }; + + // the max roughness mip level for sampling the previous frame image + uint m_maxMipLevel; } #include @@ -69,10 +72,6 @@ PSOutput MainPS(VSOutput IN, in uint sampleIndex : SV_SampleIndex) float4 positionWS = mul(ViewSrg::m_viewProjectionInverseMatrix, projectedPos); positionWS /= positionWS.w; - //float4 positionVS = mul(ViewSrg::m_projectionMatrixInverse, projectedPos); - //positionVS /= positionVS.w; - //float4 positionWS = mul(ViewSrg::m_viewMatrixInverse, positionVS); - // compute ray from camera to surface position float3 cameraToPositionWS = normalize(positionWS.xyz - ViewSrg::m_worldPosition); @@ -103,8 +102,7 @@ PSOutput MainPS(VSOutput IN, in uint sampleIndex : SV_SampleIndex) // compute the roughness mip to use in the previous frame image // remap the roughness mip into a lower range to more closely match the material roughness values const float MaxRoughness = 0.5f; - const float MaxRoughnessMip = 7; - float mip = saturate(roughness / MaxRoughness) * MaxRoughnessMip; + float mip = saturate(roughness / MaxRoughness) * PassSrg::m_maxMipLevel; // sample reflection value from the roughness mip float4 reflectionColor = float4(PassSrg::m_previousFrame.SampleLevel(PassSrg::LinearSampler, tracePrevUV, mip).rgb, 1.0f); diff --git a/Gems/Atom/Feature/Common/Code/Source/CommonSystemComponent.cpp b/Gems/Atom/Feature/Common/Code/Source/CommonSystemComponent.cpp index af28624357..1866da63e5 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CommonSystemComponent.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CommonSystemComponent.cpp @@ -103,6 +103,7 @@ #include #include #include +#include #include #include @@ -283,6 +284,7 @@ namespace AZ // Add Reflection passes passSystem->AddPassCreator(Name("ReflectionScreenSpaceBlurPass"), &Render::ReflectionScreenSpaceBlurPass::Create); passSystem->AddPassCreator(Name("ReflectionScreenSpaceBlurChildPass"), &Render::ReflectionScreenSpaceBlurChildPass::Create); + passSystem->AddPassCreator(Name("ReflectionScreenSpaceCompositePass"), &Render::ReflectionScreenSpaceCompositePass::Create); passSystem->AddPassCreator(Name("ReflectionCopyFrameBufferPass"), &Render::ReflectionCopyFrameBufferPass::Create); // Add RayTracing pas diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h index 4a2ccce1d4..be8dc6d596 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h @@ -37,6 +37,9 @@ namespace AZ //! to store the previous frame image Data::Instance& GetFrameBufferImageAttachment() { return m_frameBufferImageAttachment; } + //! Returns the number of mip levels in the blur + uint32_t GetNumBlurMips() const { return m_numBlurMips; } + private: explicit ReflectionScreenSpaceBlurPass(const RPI::PassDescriptor& descriptor); diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp new file mode 100644 index 0000000000..fe2030ca7e --- /dev/null +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp @@ -0,0 +1,55 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#include "ReflectionScreenSpaceCompositePass.h" +#include "ReflectionScreenSpaceBlurPass.h" +#include +#include + +namespace AZ +{ + namespace Render + { + RPI::Ptr ReflectionScreenSpaceCompositePass::Create(const RPI::PassDescriptor& descriptor) + { + RPI::Ptr pass = aznew ReflectionScreenSpaceCompositePass(descriptor); + return AZStd::move(pass); + } + + ReflectionScreenSpaceCompositePass::ReflectionScreenSpaceCompositePass(const RPI::PassDescriptor& descriptor) + : RPI::FullscreenTrianglePass(descriptor) + { + } + + void ReflectionScreenSpaceCompositePass::CompileResources([[maybe_unused]] const RHI::FrameGraphCompileContext& context) + { + if (!m_shaderResourceGroup) + { + return; + } + + RPI::PassHierarchyFilter passFilter(AZ::Name("ReflectionScreenSpaceBlurPass")); + const AZStd::vector& passes = RPI::PassSystemInterface::Get()->FindPasses(passFilter); + if (!passes.empty()) + { + Render::ReflectionScreenSpaceBlurPass* blurPass = azrtti_cast(passes.front()); + const uint32_t MaxNumRoughnessMips = 8; + uint32_t maxMipLevel = AZStd::min(MaxNumRoughnessMips, blurPass->GetNumBlurMips()) - 1; + + auto constantIndex = m_shaderResourceGroup->FindShaderInputConstantIndex(Name("m_maxMipLevel")); + m_shaderResourceGroup->SetConstant(constantIndex, maxMipLevel); + } + + FullscreenTrianglePass::CompileResources(context); + } + } // namespace RPI +} // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.h b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.h new file mode 100644 index 0000000000..110673541e --- /dev/null +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.h @@ -0,0 +1,43 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ +#pragma once + +#include +#include +#include +#include + +namespace AZ +{ + namespace Render + { + //! This pass composites the screenspace reflection trace onto the reflection buffer. + class ReflectionScreenSpaceCompositePass + : public RPI::FullscreenTrianglePass + { + AZ_RPI_PASS(ReflectionScreenSpaceCompositePass); + + public: + AZ_RTTI(Render::ReflectionScreenSpaceCompositePass, "{88739CC9-C3F1-413A-A527-9916C697D93A}", FullscreenTrianglePass); + AZ_CLASS_ALLOCATOR(Render::ReflectionScreenSpaceCompositePass, SystemAllocator, 0); + + //! Creates a new pass without a PassTemplate + static RPI::Ptr Create(const RPI::PassDescriptor& descriptor); + + private: + explicit ReflectionScreenSpaceCompositePass(const RPI::PassDescriptor& descriptor); + + // Pass Overrides... + void CompileResources(const RHI::FrameGraphCompileContext& context) override; + }; + } // namespace RPI +} // namespace AZ diff --git a/Gems/Atom/Feature/Common/Code/atom_feature_common_files.cmake b/Gems/Atom/Feature/Common/Code/atom_feature_common_files.cmake index a759de77fa..a656558abf 100644 --- a/Gems/Atom/Feature/Common/Code/atom_feature_common_files.cmake +++ b/Gems/Atom/Feature/Common/Code/atom_feature_common_files.cmake @@ -267,6 +267,8 @@ set(FILES Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurChildPass.cpp Source/ReflectionScreenSpace/ReflectionScreenSpaceBlurChildPass.h + Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp + Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.h Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.cpp Source/ReflectionScreenSpace/ReflectionCopyFrameBufferPass.h Source/ScreenSpace/DeferredFogSettings.cpp From 00062430a2788e21f61186f78d199b56aae5f316 Mon Sep 17 00:00:00 2001 From: Santora Date: Sat, 12 Jun 2021 11:52:46 -0700 Subject: [PATCH 170/205] Updated the usage of ShaderReloadDebugTracker to include the address of the object. This is necessary for debugging where multiple assets may be reloading at the same time. Also added a Printf function for generic messages at the current indent level. This is specifically in support of: ATOM-14613 Baseviewer MatertialHotReloadTest fails to change the color after turning blending on and off ATOM-15728 Shader Hot Reload Fails in Debug Build --- .../RPI.Public/Shader/ShaderReloadDebugTracker.h | 14 ++++++++++++++ .../Code/Source/RPI.Public/Material/Material.cpp | 9 +++++---- .../RPI/Code/Source/RPI.Public/Shader/Shader.cpp | 2 +- .../Source/RPI.Reflect/Material/MaterialAsset.cpp | 2 +- .../RPI.Reflect/Material/MaterialTypeAsset.cpp | 2 +- .../Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp | 4 ++-- 6 files changed, 24 insertions(+), 9 deletions(-) diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadDebugTracker.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadDebugTracker.h index dfda93dca3..8220d25eb8 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadDebugTracker.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Shader/ShaderReloadDebugTracker.h @@ -57,6 +57,20 @@ namespace AZ } #endif } + + //! Prints a generic message at the appropriate indent level. + template + static void Printf([[maybe_unused]] const char* format, [[maybe_unused]] Args... args) + { +#ifdef AZ_ENABLE_SHADER_RELOAD_DEBUG_TRACKER + if (IsEnabled()) + { + const AZStd::string message = AZStd::string::format(format, args...); + + AZ_TracePrintf("ShaderReloadDebug", "%*s %s \n", s_indent, "", message.c_str()); + } +#endif + } //! Use this utility to call BeginSection(), and automatically call EndSection() when the object goes out of scope. class ScopedSection final diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp index 4a2718b9d5..eac1ee42e5 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp @@ -97,6 +97,7 @@ namespace AZ ShaderReloadNotificationBus::MultiHandler::BusDisconnect(); for (auto& shaderItem : m_shaderCollection) { + ShaderReloadDebugTracker::Printf("(Material has ShaderAsset %p)", shaderItem.GetShaderAsset().Get()); ShaderReloadNotificationBus::MultiHandler::BusConnect(shaderItem.GetShaderAsset().GetId()); } @@ -226,7 +227,7 @@ namespace AZ // AssetBus overrides... void Material::OnAssetReloaded(Data::Asset asset) { - ShaderReloadDebugTracker::ScopedSection reloadSection("Material::OnAssetReloaded %s", asset.GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->Material::OnAssetReloaded %s", this, asset.GetHint().c_str()); Data::Asset newMaterialAsset = { asset.GetAs(), AZ::Data::AssetLoadBehavior::PreLoad }; @@ -241,7 +242,7 @@ namespace AZ // MaterialReloadNotificationBus overrides... void Material::OnMaterialAssetReinitialized(const Data::Asset& materialAsset) { - ShaderReloadDebugTracker::ScopedSection reloadSection("Material::OnMaterialAssetReinitialized %s", materialAsset.GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->Material::OnMaterialAssetReinitialized %s", this, materialAsset.GetHint().c_str()); OnAssetReloaded(materialAsset); } @@ -249,7 +250,7 @@ namespace AZ // ShaderReloadNotificationBus overrides... void Material::OnShaderReinitialized([[maybe_unused]] const Shader& shader) { - ShaderReloadDebugTracker::ScopedSection reloadSection("Material::OnShaderReinitialized %s", shader.GetAsset().GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->Material::OnShaderReinitialized %s", this, shader.GetAsset().GetHint().c_str()); // Note that it might not be strictly necessary to reinitialize the entire material, we might be able to get away with // just bumping the m_currentChangeId or some other minor updates. But it's pretty hard to know what exactly needs to be // updated to correctly handle the reload, so it's safer to just reinitialize the whole material. @@ -269,7 +270,7 @@ namespace AZ void Material::OnShaderVariantReinitialized(const Shader& shader, const ShaderVariantId& /*shaderVariantId*/, ShaderVariantStableId shaderVariantStableId) { - ShaderReloadDebugTracker::ScopedSection reloadSection("Material::OnShaderVariantReinitialized %s variant %u", shader.GetAsset().GetHint().c_str(), shaderVariantStableId.GetIndex()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->Material::OnShaderVariantReinitialized %s variant %u", this, shader.GetAsset().GetHint().c_str(), shaderVariantStableId.GetIndex()); // Note that it would be better to check the shaderVariantId to see if that variant is relevant to this particular material before reinitializing it. // There could be hundreds or even thousands of variants for a shader, but only one of those variants will be used by any given material. So we could diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp index 7194c524ae..147f24d4f8 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Shader.cpp @@ -132,7 +132,7 @@ namespace AZ // AssetBus overrides void Shader::OnAssetReloaded(Data::Asset asset) { - ShaderReloadDebugTracker::ScopedSection reloadSection("Shader::OnAssetReloaded %s", asset.GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->Shader::OnAssetReloaded %s", this, asset.GetHint().c_str()); if (asset->GetId() == m_asset->GetId()) { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp index 7e9e2ddb10..2e56c30652 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialAsset.cpp @@ -119,7 +119,7 @@ namespace AZ void MaterialAsset::OnAssetReloaded(Data::Asset asset) { - ShaderReloadDebugTracker::ScopedSection reloadSection("MaterialAsset::OnAssetReloaded %s", asset.GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->MaterialAsset::OnAssetReloaded %s", this, asset.GetHint().c_str()); Data::Asset newMaterialTypeAsset = { asset.GetAs(), AZ::Data::AssetLoadBehavior::PreLoad }; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAsset.cpp index 20adb63cb8..f7d0a83ac9 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAsset.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Material/MaterialTypeAsset.cpp @@ -130,7 +130,7 @@ namespace AZ void MaterialTypeAsset::OnAssetReloaded(Data::Asset asset) { - ShaderReloadDebugTracker::ScopedSection reloadSection("MaterialTypeAsset::OnAssetReloaded %s", asset.GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->MaterialTypeAsset::OnAssetReloaded %s", this, asset.GetHint().c_str()); // The order of asset reloads is non-deterministic. If the MaterialTypeAsset reloads before these // dependency assets, this will make sure the MaterialTypeAsset gets the latest ones when they reload. diff --git a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp index cf655d43f7..75d4a47bc0 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Reflect/Shader/ShaderAsset.cpp @@ -381,7 +381,7 @@ namespace AZ // AssetBus overrides... void ShaderAsset::OnAssetReloaded(Data::Asset asset) { - ShaderReloadDebugTracker::ScopedSection reloadSection("ShaderAsset::OnAssetReloaded %s", asset.GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->ShaderAsset::OnAssetReloaded %s", this, asset.GetHint().c_str()); Data::Asset shaderVariantAsset = { asset.GetAs(), AZ::Data::AssetLoadBehavior::PreLoad }; AZ_Assert(shaderVariantAsset->GetStableId() == RootShaderVariantStableId, @@ -396,7 +396,7 @@ namespace AZ /// ShaderVariantFinderNotificationBus overrides void ShaderAsset::OnShaderVariantTreeAssetReady(Data::Asset shaderVariantTreeAsset, bool isError) { - ShaderReloadDebugTracker::ScopedSection reloadSection("ShaderAsset::OnShaderVariantTreeAssetReady %s", shaderVariantTreeAsset.GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->ShaderAsset::OnShaderVariantTreeAssetReady %s", this, shaderVariantTreeAsset.GetHint().c_str()); AZStd::unique_lock lock(m_variantTreeMutex); if (isError) From bb083fde3c3e58458a94e1ffed1315b835fb6746 Mon Sep 17 00:00:00 2001 From: Doug McDiarmid Date: Sat, 12 Jun 2021 17:28:50 -0700 Subject: [PATCH 171/205] Added ReflectiveCubeMap usage flag if the shadow is rendering in an EnvironmentCubeMap pipeline --- .../DirectionalLightFeatureProcessor.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp index c4f4bc54b3..08bc443586 100644 --- a/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/CoreLights/DirectionalLightFeatureProcessor.cpp @@ -20,6 +20,8 @@ #include #include #include +#include +#include #include #include #include @@ -1070,7 +1072,18 @@ namespace AZ segment.m_pipelineViewTag = viewTag; if (!segment.m_view || segment.m_view->GetName() != viewName) { - segment.m_view = RPI::View::CreateView(viewName, RPI::View::UsageShadow); + RPI::View::UsageFlags usageFlags = RPI::View::UsageShadow; + + // if the shadow is rendering in an EnvironmentCubeMapPass it also needs to be a ReflectiveCubeMap view, + // to filter out shadows from objects that are excluded from the cubemap + RPI::PassClassFilter passFilter; + AZStd::vector cubeMapPasses = AZ::RPI::PassSystemInterface::Get()->FindPasses(passFilter); + if (!cubeMapPasses.empty()) + { + usageFlags |= RPI::View::UsageReflectiveCubeMap; + } + + segment.m_view = RPI::View::CreateView(viewName, usageFlags); } } } From e72cae47b42fc742506e25a975b0bbc67f1488bd Mon Sep 17 00:00:00 2001 From: moudgils Date: Sat, 12 Jun 2021 21:16:22 -0700 Subject: [PATCH 172/205] Buffer update fixes for metal --- .../Code/Source/RHI/AsyncUploadQueue.cpp | 42 +++++++++++++------ .../Code/Source/RHI/BufferPoolResolver.cpp | 7 +++- .../Code/Source/RHI/MemoryPageAllocator.cpp | 2 +- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp index 594a4931b9..e9cf06967a 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp @@ -85,16 +85,34 @@ namespace AZ uint64_t AsyncUploadQueue::QueueUpload(const RHI::BufferStreamRequest& uploadRequest) { - uint64_t queueValue = m_uploadFence.Increment(); - - const MemoryView& memoryView = static_cast(*uploadRequest.m_buffer).GetMemoryView(); - RHI::Ptr buffer = memoryView.GetMemory(); - + Buffer& destBuffer = static_cast(*uploadRequest.m_buffer); + const MemoryView& destMemoryView = destBuffer.GetMemoryView(); + MTLStorageMode mtlStorageMode = destBuffer.GetMemoryView().GetStorageMode(); + RHI::BufferPool& bufferPool = static_cast(*destBuffer.GetPool()); + /* + if(mtlStorageMode == MTLStorageModeShared || mtlStorageMode == GetCPUGPUMemoryMode()) + { + RHI::BufferMapRequest mapRequest; + mapRequest.m_buffer = uploadRequest.m_buffer; + mapRequest.m_byteCount = uploadRequest.m_byteCount; + mapRequest.m_byteOffset = uploadRequest.m_byteOffset; + RHI::BufferMapResponse mapResponse; + bufferPool.MapBuffer(mapRequest, mapResponse); + ::memcpy(mapResponse.m_data, uploadRequest.m_sourceData, uploadRequest.m_byteCount); + bufferPool.UnmapBuffer(*uploadRequest.m_buffer); + if (uploadRequest.m_fenceToSignal) + { + uploadRequest.m_fenceToSignal->SignalOnCpu(); + } + return m_uploadFence.GetPendingValue(); + } + */ Fence* fenceToSignal = nullptr; uint64_t fenceToSignalValue = 0; - size_t byteCount = uploadRequest.m_byteCount; - size_t byteOffset = memoryView.GetOffset() + uploadRequest.m_byteOffset; + size_t byteOffset = destMemoryView.GetOffset() + uploadRequest.m_byteOffset; + uint64_t queueValue = m_uploadFence.Increment(); + const uint8_t* sourceData = reinterpret_cast(uploadRequest.m_sourceData); if (uploadRequest.m_fenceToSignal) @@ -125,11 +143,11 @@ namespace AZ } id blitEncoder = [framePacket->m_mtlCommandBuffer blitCommandEncoder]; - [blitEncoder copyFromBuffer:framePacket->m_stagingResource - sourceOffset:0 - toBuffer:buffer->GetGpuAddress>() - destinationOffset:byteOffset + pendingByteOffset - size:bytesToCopy]; + [blitEncoder copyFromBuffer: framePacket->m_stagingResource + sourceOffset: 0 + toBuffer: destMemoryView.GetGpuAddress>() + destinationOffset: byteOffset + pendingByteOffset + size: bytesToCopy]; [blitEncoder endEncoding]; blitEncoder = nil; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp index 2ca8303dc9..ce5ff64280 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp @@ -40,7 +40,7 @@ namespace AZ buffer->m_pendingResolves++; uploadRequest.m_attachmentBuffer = buffer; - uploadRequest.m_byteOffset = request.m_byteOffset; + uploadRequest.m_byteOffset = request.m_byteOffset;;//buffer->GetMemoryView().GetOffset() + request.m_byteOffset; uploadRequest.m_stagingBuffer = stagingBuffer; uploadRequest.m_byteSize = request.m_byteCount; @@ -64,9 +64,12 @@ namespace AZ AZ_Assert(stagingBuffer, "Staging Buffer is null."); AZ_Assert(destBuffer, "Attachment Buffer is null."); + //Inform the GPU that the CPU has modified the staging buffer. + //Platform::SynchronizeBufferOnCPU(stagingBuffer->GetMemoryView().GetGpuAddress>(), stagingBuffer->GetMemoryView().GetOffset(), stagingBuffer->GetMemoryView().GetSize()); + RHI::CopyBufferDescriptor copyDescriptor; copyDescriptor.m_sourceBuffer = stagingBuffer; - copyDescriptor.m_sourceOffset = 0; + copyDescriptor.m_sourceOffset = 0;//stagingBuffer->GetMemoryView().GetOffset(); copyDescriptor.m_destinationBuffer = destBuffer; copyDescriptor.m_destinationOffset = static_cast(packet.m_byteOffset); copyDescriptor.m_size = static_cast(packet.m_byteSize); diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp index 60581aeb2c..dedfb8157e 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp @@ -44,7 +44,7 @@ namespace AZ if (memoryView.IsValid()) { heapMemoryUsage.m_residentInBytes += m_descriptor.m_pageSizeInBytes; - memoryView.SetName("BufferPage"); + //memoryView.SetName(AZStd::string::format("BufferPage_%s", AZ::Uuid::CreateRandom().ToString().c_str())); } else { From 4e5d690584094014b3527970a19cb30f8d330ca2 Mon Sep 17 00:00:00 2001 From: moudgils Date: Sun, 13 Jun 2021 22:05:21 -0700 Subject: [PATCH 173/205] Fixes to buffer updates --- Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp | 6 ++++-- Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp | 6 +++--- Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp index e9cf06967a..29e0b19b75 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/AsyncUploadQueue.cpp @@ -89,7 +89,9 @@ namespace AZ const MemoryView& destMemoryView = destBuffer.GetMemoryView(); MTLStorageMode mtlStorageMode = destBuffer.GetMemoryView().GetStorageMode(); RHI::BufferPool& bufferPool = static_cast(*destBuffer.GetPool()); - /* + + // No need to use staging buffers since it's host memory. + // We just map, copy and then unmap. if(mtlStorageMode == MTLStorageModeShared || mtlStorageMode == GetCPUGPUMemoryMode()) { RHI::BufferMapRequest mapRequest; @@ -106,7 +108,7 @@ namespace AZ } return m_uploadFence.GetPendingValue(); } - */ + Fence* fenceToSignal = nullptr; uint64_t fenceToSignalValue = 0; size_t byteCount = uploadRequest.m_byteCount; diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp index ce5ff64280..18cd51df3f 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp @@ -40,7 +40,7 @@ namespace AZ buffer->m_pendingResolves++; uploadRequest.m_attachmentBuffer = buffer; - uploadRequest.m_byteOffset = request.m_byteOffset;;//buffer->GetMemoryView().GetOffset() + request.m_byteOffset; + uploadRequest.m_byteOffset = buffer->GetMemoryView().GetOffset() + request.m_byteOffset; uploadRequest.m_stagingBuffer = stagingBuffer; uploadRequest.m_byteSize = request.m_byteCount; @@ -65,11 +65,11 @@ namespace AZ AZ_Assert(destBuffer, "Attachment Buffer is null."); //Inform the GPU that the CPU has modified the staging buffer. - //Platform::SynchronizeBufferOnCPU(stagingBuffer->GetMemoryView().GetGpuAddress>(), stagingBuffer->GetMemoryView().GetOffset(), stagingBuffer->GetMemoryView().GetSize()); + Platform::SynchronizeBufferOnCPU(stagingBuffer->GetMemoryView().GetGpuAddress>(), stagingBuffer->GetMemoryView().GetOffset(), stagingBuffer->GetMemoryView().GetSize()); RHI::CopyBufferDescriptor copyDescriptor; copyDescriptor.m_sourceBuffer = stagingBuffer; - copyDescriptor.m_sourceOffset = 0;//stagingBuffer->GetMemoryView().GetOffset(); + copyDescriptor.m_sourceOffset = stagingBuffer->GetMemoryView().GetOffset(); copyDescriptor.m_destinationBuffer = destBuffer; copyDescriptor.m_destinationOffset = static_cast(packet.m_byteOffset); copyDescriptor.m_size = static_cast(packet.m_byteSize); diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp index dedfb8157e..88aa4b4ed1 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/MemoryPageAllocator.cpp @@ -44,7 +44,7 @@ namespace AZ if (memoryView.IsValid()) { heapMemoryUsage.m_residentInBytes += m_descriptor.m_pageSizeInBytes; - //memoryView.SetName(AZStd::string::format("BufferPage_%s", AZ::Uuid::CreateRandom().ToString().c_str())); + memoryView.SetName(AZStd::string::format("BufferPage_%s", AZ::Uuid::CreateRandom().ToString().c_str())); } else { From f8f282998b8e3b26483dcbf69358fb1473738bd4 Mon Sep 17 00:00:00 2001 From: moudgils Date: Sun, 13 Jun 2021 23:36:56 -0700 Subject: [PATCH 174/205] Added support to call not call UseResources on samee resource multiple times. --- .../Metal/Code/Source/RHI/ArgumentBuffer.cpp | 25 +++++++++---------- .../Metal/Code/Source/RHI/ArgumentBuffer.h | 13 +++------- .../Code/Source/RHI/BufferPoolResolver.cpp | 3 +-- .../Code/Source/RHI/BufferPoolResolver.h | 1 - 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp index 49ff4146fc..c433a6f9cf 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.cpp @@ -400,15 +400,13 @@ namespace AZ id mtlconstantBufferResource = m_constantBuffer.GetGpuAddress>(); if(RHI::CheckBitsAny(srgResourcesVisInfo.m_constantDataStageMask, RHI::ShaderStageMask::Compute)) { - uint16_t arrayIndex = resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArrayLen++; - resourcesToMakeResidentCompute[MTLResourceUsageRead].m_resourceArray[arrayIndex] = mtlconstantBufferResource; + resourcesToMakeResidentCompute[MTLResourceUsageRead].emplace(mtlconstantBufferResource); } else { MTLRenderStages mtlRenderStages = GetRenderStages(srgResourcesVisInfo.m_constantDataStageMask); - AZStd::pair key = AZStd::make_pair(MTLResourceUsageRead, mtlRenderStages); - uint16_t arrayIndex = resourcesToMakeResidentGraphics[key].m_resourceArrayLen++; - resourcesToMakeResidentGraphics[key].m_resourceArray[arrayIndex] = mtlconstantBufferResource; + AZStd::pair key = AZStd::make_pair(MTLResourceUsageRead, mtlRenderStages); + resourcesToMakeResidentGraphics[key].emplace(mtlconstantBufferResource); } } } @@ -440,16 +438,18 @@ namespace AZ //Call UseResource on all resources for Compute stage for (const auto& key : resourcesToMakeResidentCompute) { - [static_cast>(commandEncoder) useResources: key.second.m_resourceArray.data() - count: key.second.m_resourceArrayLen + AZStd::vector> resourcesToProcessVec(key.second.begin(), key.second.end()); + [static_cast>(commandEncoder) useResources: &resourcesToProcessVec[0] + count: resourcesToProcessVec.size() usage: key.first]; } //Call UseResource on all resources for Vertex and Fragment stages for (const auto& key : resourcesToMakeResidentGraphics) { - [static_cast>(commandEncoder) useResources: key.second.m_resourceArray.data() - count: key.second.m_resourceArrayLen + AZStd::vector> resourcesToProcessVec(key.second.begin(), key.second.end()); + [static_cast>(commandEncoder) useResources: &resourcesToProcessVec[0] + count: resourcesToProcessVec.size() usage: key.first.first stages: key.first.second]; } @@ -480,9 +480,9 @@ namespace AZ AZ_Assert(false, "Undefined Resource type"); } } - uint16_t arrayIndex = resourcesToMakeResidentMap[resourceUsage].m_resourceArrayLen++; + id mtlResourceToBind = resourceBindingData.m_resourcPtr->GetGpuAddress>(); - resourcesToMakeResidentMap[resourceUsage].m_resourceArray[arrayIndex] = mtlResourceToBind; + resourcesToMakeResidentMap[resourceUsage].emplace(mtlResourceToBind); } } @@ -516,9 +516,8 @@ namespace AZ } AZStd::pair key = AZStd::make_pair(resourceUsage, mtlRenderStages); - uint16_t arrayIndex = resourcesToMakeResidentMap[key].m_resourceArrayLen++; id mtlResourceToBind = resourceBindingData.m_resourcPtr->GetGpuAddress>(); - resourcesToMakeResidentMap[key].m_resourceArray[arrayIndex] = mtlResourceToBind; + resourcesToMakeResidentMap[key].emplace(mtlResourceToBind); } } } diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h index c4cfd17390..29d7d5e239 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/ArgumentBuffer.h @@ -120,15 +120,10 @@ namespace AZ ResourceBindingsMap m_resourceBindings; static const int MaxEntriesInArgTable = 31; - struct MetalResourceArray - { - AZStd::array, MaxEntriesInArgTable> m_resourceArray; - uint16_t m_resourceArrayLen = 0; - }; - //Map to cache all the resources based on the usage as we can batch all the resources for a given usage - using ComputeResourcesToMakeResidentMap = AZStd::unordered_map; - //Map to cache all the resources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage - using GraphicsResourcesToMakeResidentMap = AZStd::unordered_map, MetalResourceArray>; + //Map to cache all the resources based on the usage as we can batch all the resources for a given usage. + using ComputeResourcesToMakeResidentMap = AZStd::unordered_map>>; + //Map to cache all the resources based on the usage and shader stage as we can batch all the resources for a given usage/shader usage. + using GraphicsResourcesToMakeResidentMap = AZStd::unordered_map, AZStd::unordered_set>>; void CollectResourcesForCompute(id encoder, const ResourceBindingsSet& resourceBindingData, diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp b/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp index 18cd51df3f..b986b8ea75 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.cpp @@ -42,7 +42,6 @@ namespace AZ uploadRequest.m_attachmentBuffer = buffer; uploadRequest.m_byteOffset = buffer->GetMemoryView().GetOffset() + request.m_byteOffset; uploadRequest.m_stagingBuffer = stagingBuffer; - uploadRequest.m_byteSize = request.m_byteCount; return stagingBuffer->GetMemoryView().GetCpuAddress(); } @@ -72,7 +71,7 @@ namespace AZ copyDescriptor.m_sourceOffset = stagingBuffer->GetMemoryView().GetOffset(); copyDescriptor.m_destinationBuffer = destBuffer; copyDescriptor.m_destinationOffset = static_cast(packet.m_byteOffset); - copyDescriptor.m_size = static_cast(packet.m_byteSize); + copyDescriptor.m_size = stagingBuffer->GetMemoryView().GetSize(); commandList.Submit(RHI::CopyItem(copyDescriptor)); device.QueueForRelease(stagingBuffer->GetMemoryView()); diff --git a/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.h b/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.h index c62d9494db..3e60bb31fa 100644 --- a/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.h +++ b/Gems/Atom/RHI/Metal/Code/Source/RHI/BufferPoolResolver.h @@ -54,7 +54,6 @@ namespace AZ Buffer* m_attachmentBuffer = nullptr; RHI::Ptr m_stagingBuffer; size_t m_byteOffset = 0; - size_t m_byteSize = 0; }; AZStd::mutex m_uploadPacketsLock; From 59f3813b104f582b51872356d37460f2e6bab274 Mon Sep 17 00:00:00 2001 From: Benjamin Jillich <43751992+amzn-jillich@users.noreply.github.com> Date: Mon, 14 Jun 2021 08:45:00 +0200 Subject: [PATCH 175/205] [LYN-3481] EMotionFX crashes when reloading an Actor (#1184) (#1217) * [LYN-3481] Added new actor instance request and notification buses * [LYN-3481] Actor instance notifies bus about it being created or destroyed * [LYN-3481] Selection lists are now automatically removing destroyed actor instances * [LYN-3481] Morph targets window plugin reinitializing when used actor instance got destroyed * [LYN-3481] Removing the OnDeleteActorInstance() from the emfx event handler/manager and porting the recorder to the new actor instance bus * [LYN-3481] Removed the create actor instance calls from the event handler/manager * [LYN-3481] Fixing automated tests --- .../CommandSystem/Source/SelectionList.cpp | 7 +++ .../CommandSystem/Source/SelectionList.h | 7 ++- .../Code/EMotionFX/Source/ActorInstance.cpp | 13 ++--- .../Code/EMotionFX/Source/ActorInstanceBus.h | 54 +++++++++++++++++++ .../Code/EMotionFX/Source/EventHandler.h | 12 ----- .../Code/EMotionFX/Source/EventManager.cpp | 21 -------- .../Code/EMotionFX/Source/EventManager.h | 10 ---- .../Code/EMotionFX/Source/Recorder.cpp | 10 ++-- .../Code/EMotionFX/Source/Recorder.h | 8 +-- .../MorphTargetsWindowPlugin.cpp | 37 +++++++------ .../MorphTargetsWindowPlugin.h | 6 +++ .../Code/EMotionFX/emotionfx_files.cmake | 1 + 12 files changed, 107 insertions(+), 79 deletions(-) create mode 100644 Gems/EMotionFX/Code/EMotionFX/Source/ActorInstanceBus.h diff --git a/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.cpp b/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.cpp index a9f8cc063c..9beeebef86 100644 --- a/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.cpp @@ -20,10 +20,12 @@ namespace CommandSystem SelectionList::SelectionList() { EMotionFX::ActorNotificationBus::Handler::BusConnect(); + EMotionFX::ActorInstanceNotificationBus::Handler::BusConnect(); } SelectionList::~SelectionList() { + EMotionFX::ActorInstanceNotificationBus::Handler::BusDisconnect(); EMotionFX::ActorNotificationBus::Handler::BusDisconnect(); } @@ -378,4 +380,9 @@ namespace CommandSystem RemoveActor(actor); } + + void SelectionList::OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) + { + RemoveActorInstance(actorInstance); + } } // namespace CommandSystem diff --git a/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.h b/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.h index cd2eb3af5d..c85f8e601b 100644 --- a/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.h +++ b/Gems/EMotionFX/Code/EMotionFX/CommandSystem/Source/SelectionList.h @@ -15,6 +15,7 @@ #include "CommandSystemConfig.h" #include #include +#include #include #include #include @@ -27,7 +28,8 @@ namespace CommandSystem * specific time stamp in a scene. */ class COMMANDSYSTEM_API SelectionList - : EMotionFX::ActorNotificationBus::Handler + : private EMotionFX::ActorNotificationBus::Handler + , private EMotionFX::ActorInstanceNotificationBus::Handler { MCORE_MEMORYOBJECTCATEGORY(SelectionList, MCore::MCORE_DEFAULT_ALIGNMENT, MEMCATEGORY_COMMANDSYSTEM); @@ -400,6 +402,9 @@ namespace CommandSystem // ActorNotificationBus overrides void OnActorDestroyed(EMotionFX::Actor* actor) override; + // ActorInstanceNotificationBus overrides + void OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) override; + AZStd::vector mSelectedNodes; /**< Array of selected nodes. */ AZStd::vector mSelectedActors; /**< The selected actors. */ AZStd::vector mSelectedActorInstances; /**< Array of selected actor instances. */ diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstance.cpp b/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstance.cpp index ec1b00bda4..8175d15496 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstance.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstance.cpp @@ -34,6 +34,7 @@ #include "NodeGroup.h" #include "Recorder.h" #include "TransformData.h" +#include #include #include @@ -153,20 +154,14 @@ namespace EMotionFX // register it GetActorManager().RegisterActorInstance(this); - // automatically register the actor instance - GetEventManager().OnCreateActorInstance(this); - GetActorManager().GetScheduler()->RecursiveInsertActorInstance(this); + + ActorInstanceNotificationBus::Broadcast(&ActorInstanceNotificationBus::Events::OnActorInstanceCreated, this); } - // the destructor ActorInstance::~ActorInstance() { - // trigger the OnDeleteActorInstance event - GetEventManager().OnDeleteActorInstance(this); - - // remove it from the recording - GetRecorder().RemoveActorInstanceFromRecording(this); + ActorInstanceNotificationBus::Broadcast(&ActorInstanceNotificationBus::Events::OnActorInstanceDestroyed, this); // get rid of the motion system if (mMotionSystem) diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstanceBus.h b/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstanceBus.h new file mode 100644 index 0000000000..15b25ce0d3 --- /dev/null +++ b/Gems/EMotionFX/Code/EMotionFX/Source/ActorInstanceBus.h @@ -0,0 +1,54 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#pragma once + +#include + +namespace EMotionFX +{ + class ActorInstance; + + /** + * EMotion FX Actor Instance Request Bus + * Used for making requests to actor instances. + */ + class ActorInstanceRequests + : public AZ::EBusTraits + { + public: + }; + + using ActorInstanceRequestBus = AZ::EBus; + + /** + * EMotion FX Actor Instance Notification Bus + * Used for monitoring events from actor instances. + */ + class ActorInstanceNotifications + : public AZ::EBusTraits + { + public: + // Enable multi-threaded access by locking primitive using a mutex when connecting handlers to the EBus or executing events. + using MutexType = AZStd::recursive_mutex; + + virtual void OnActorInstanceCreated([[maybe_unused]] ActorInstance* actorInstance) {} + + /** + * Called when any of the actor instances gets destructed. + * @param actorInstance The actorInstance that gets destructed. + */ + virtual void OnActorInstanceDestroyed([[maybe_unused]] ActorInstance* actorInstance) {} + }; + + using ActorInstanceNotificationBus = AZ::EBus; +} // namespace EMotionFX diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/EventHandler.h b/Gems/EMotionFX/Code/EMotionFX/Source/EventHandler.h index 1e6fb86156..2c8ae9d868 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/EventHandler.h +++ b/Gems/EMotionFX/Code/EMotionFX/Source/EventHandler.h @@ -51,7 +51,6 @@ namespace EMotionFX EVENT_TYPE_MOTION_INSTANCE_LAST_EVENT = EVENT_TYPE_ON_QUEUE_MOTION_INSTANCE, EVENT_TYPE_ON_DELETE_ACTOR, - EVENT_TYPE_ON_DELETE_ACTOR_INSTANCE, EVENT_TYPE_ON_SIMULATE_PHYSICS, EVENT_TYPE_ON_CUSTOM_EVENT, EVENT_TYPE_ON_DRAW_LINE, @@ -64,7 +63,6 @@ namespace EMotionFX EVENT_TYPE_ON_CREATE_MOTION_INSTANCE, EVENT_TYPE_ON_CREATE_MOTION_SYSTEM, EVENT_TYPE_ON_CREATE_ACTOR, - EVENT_TYPE_ON_CREATE_ACTOR_INSTANCE, EVENT_TYPE_ON_POST_CREATE_ACTOR, EVENT_TYPE_ON_DELETE_ANIM_GRAPH, EVENT_TYPE_ON_DELETE_ANIM_GRAPH_INSTANCE, @@ -298,15 +296,6 @@ namespace EMotionFX */ virtual void OnDeleteActor(Actor* actor) { MCORE_UNUSED(actor); } - /** - * The event that gets triggered once an ActorInstance object is being deleted. - * You could for example use this event to delete any allocations you have done inside the - * custom user data object linked with the ActorInstance object. - * You can get and set this data object with the ActorInstance::GetCustomData() and ActorInstance::SetCustomData(...) methods. - * @param actorInstance The actorInstance that is being deleted. - */ - virtual void OnDeleteActorInstance(ActorInstance* actorInstance) { MCORE_UNUSED(actorInstance); } - virtual void OnSimulatePhysics(float timeDelta) { MCORE_UNUSED(timeDelta); } virtual void OnCustomEvent(uint32 eventType, void* data) { MCORE_UNUSED(eventType); MCORE_UNUSED(data); } @@ -321,7 +310,6 @@ namespace EMotionFX virtual void OnCreateMotionInstance(MotionInstance* motionInstance) { MCORE_UNUSED(motionInstance); } virtual void OnCreateMotionSystem(MotionSystem* motionSystem) { MCORE_UNUSED(motionSystem); } virtual void OnCreateActor(Actor* actor) { MCORE_UNUSED(actor); } - virtual void OnCreateActorInstance(ActorInstance* actorInstance) { MCORE_UNUSED(actorInstance); } virtual void OnPostCreateActor(Actor* actor) { MCORE_UNUSED(actor); } // delete callbacks diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.cpp b/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.cpp index bc9843c787..10c64b9433 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.cpp @@ -305,16 +305,6 @@ namespace EMotionFX } - void EventManager::OnDeleteActorInstance(ActorInstance* actorInstance) - { - const EventHandlerVector& eventHandlers = m_eventHandlersByEventType[EVENT_TYPE_ON_DELETE_ACTOR_INSTANCE]; - for (EventHandler* eventHandler : eventHandlers) - { - eventHandler->OnDeleteActorInstance(actorInstance); - } - } - - // draw a debug triangle void EventManager::OnDrawTriangle(const AZ::Vector3& posA, const AZ::Vector3& posB, const AZ::Vector3& posC, const AZ::Vector3& normalA, const AZ::Vector3& normalB, const AZ::Vector3& normalC, uint32 color) { @@ -670,17 +660,6 @@ namespace EMotionFX } - // create an actor instance - void EventManager::OnCreateActorInstance(ActorInstance* actorInstance) - { - const EventHandlerVector& eventHandlers = m_eventHandlersByEventType[EVENT_TYPE_ON_CREATE_ACTOR_INSTANCE]; - for (EventHandler* eventHandler : eventHandlers) - { - eventHandler->OnCreateActorInstance(actorInstance); - } - } - - // on post create actor void EventManager::OnPostCreateActor(Actor* actor) { diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.h b/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.h index 81767d5a66..f12d1de8cb 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.h +++ b/Gems/EMotionFX/Code/EMotionFX/Source/EventManager.h @@ -286,15 +286,6 @@ namespace EMotionFX */ void OnDeleteActor(Actor* actor); - /** - * The event that gets triggered once an ActorInstance object is being deleted. - * You could for example use this event to delete any allocations you have done inside the - * custom user data object linked with the ActorInstance object. - * You can get and set this data object with the ActorInstance::GetCustomData() and ActorInstance::SetCustomData(...) methods. - * @param actorInstance The actorInstance that is being deleted. - */ - void OnDeleteActorInstance(ActorInstance* actorInstance); - void OnSimulatePhysics(float timeDelta); void OnCustomEvent(uint32 eventType, void* data); void OnDrawTriangle(const AZ::Vector3& posA, const AZ::Vector3& posB, const AZ::Vector3& posC, const AZ::Vector3& normalA, const AZ::Vector3& normalB, const AZ::Vector3& normalC, uint32 color); @@ -343,7 +334,6 @@ namespace EMotionFX void OnCreateMotionInstance(MotionInstance* motionInstance); void OnCreateMotionSystem(MotionSystem* motionSystem); void OnCreateActor(Actor* actor); - void OnCreateActorInstance(ActorInstance* actorInstance); void OnPostCreateActor(Actor* actor); // delete callbacks diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.cpp b/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.cpp index d12970bc04..8670851334 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.cpp @@ -106,16 +106,12 @@ namespace EMotionFX mCurrentPlayTime = 0.0f; mObjects.SetMemoryCategory(EMFX_MEMCATEGORY_RECORDER); - - GetEMotionFX().GetEventManager()->AddEventHandler(this); + EMotionFX::ActorInstanceNotificationBus::Handler::BusConnect(); } Recorder::~Recorder() { - if (EventManager* eventManager = GetEMotionFX().GetEventManager()) - { - eventManager->RemoveEventHandler(this); - } + EMotionFX::ActorInstanceNotificationBus::Handler::BusDisconnect(); Clear(); } @@ -1448,7 +1444,7 @@ namespace EMotionFX Unlock(); } - void Recorder::OnDeleteActorInstance(ActorInstance* actorInstance) + void Recorder::OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) { // Actor instances created by actor components do not use the command system and don't call a ClearRecorder command. // Thus, these actor instances will have to be removed from the recorder to avoid dangling data. diff --git a/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.h b/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.h index 157ef2c88b..33ab3ce35d 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.h +++ b/Gems/EMotionFX/Code/EMotionFX/Source/Recorder.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -47,7 +48,7 @@ namespace EMotionFX class EMFX_API Recorder : public BaseObject - , public EventHandler + , private EMotionFX::ActorInstanceNotificationBus::Handler { public: AZ_CLASS_ALLOCATOR_DECL @@ -319,9 +320,8 @@ namespace EMotionFX void RemoveActorInstanceFromRecording(ActorInstance* actorInstance); void RemoveAnimGraphFromRecording(AnimGraph* animGraph); - // EventHandler overrides - const AZStd::vector GetHandledEventTypes() const override { return {EMotionFX::EVENT_TYPE_ON_DELETE_ACTOR_INSTANCE}; } - void OnDeleteActorInstance(ActorInstance* actorInstance) override; + // ActorInstanceNotificationBus overrides + void OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) override; void SampleAndApplyTransforms(float timeInSeconds, ActorInstance* actorInstance) const; void SampleAndApplyMainTransform(float timeInSeconds, ActorInstance* actorInstance) const; diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.cpp b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.cpp index 80bbb24928..a0b018d999 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.cpp +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.cpp @@ -17,25 +17,26 @@ #include "../../../../EMStudioSDK/Source/EMStudioCore.h" #include #include +#include #include #include "../../../../EMStudioSDK/Source/EMStudioManager.h" - namespace EMStudio { - // constructor MorphTargetsWindowPlugin::MorphTargetsWindowPlugin() : EMStudio::DockWidgetPlugin() { - mDialogStack = nullptr; - mCurrentActorInstance = nullptr; + mDialogStack = nullptr; + mCurrentActorInstance = nullptr; mStaticTextWidget = nullptr; + + EMotionFX::ActorInstanceNotificationBus::Handler::BusConnect(); } - - // destructor MorphTargetsWindowPlugin::~MorphTargetsWindowPlugin() { + EMotionFX::ActorInstanceNotificationBus::Handler::BusDisconnect(); + // unregister the command callbacks and get rid of the memory for (auto callback : m_callbacks) { @@ -110,14 +111,16 @@ namespace EMStudio mMorphTargetGroups.clear(); } - // reinit the morph target dialog, e.g. if selection changes void MorphTargetsWindowPlugin::ReInit(bool forceReInit) { - // get the selected actorinstance - const CommandSystem::SelectionList& selection = GetCommandManager()->GetCurrentSelection(); - EMotionFX::ActorInstance* actorInstance = selection.GetSingleActorInstance(); + const CommandSystem::SelectionList& selection = GetCommandManager()->GetCurrentSelection(); + EMotionFX::ActorInstance* actorInstance = selection.GetSingleActorInstance(); + ReInit(actorInstance, forceReInit); + } + void MorphTargetsWindowPlugin::ReInit(EMotionFX::ActorInstance* actorInstance, bool forceReInit) + { // show hint if no/multiple actor instances is/are selected if (actorInstance == nullptr) { @@ -135,10 +138,7 @@ namespace EMStudio return; } - // get our selected actor instance and the corresponding actor - EMotionFX::Actor* actor = actorInstance->GetActor(); - - // only reinit the morph targets if actorinstance changed + // only reinit the morph targets if actor instance changed if (mCurrentActorInstance != actorInstance || forceReInit) { // set the current actor instance in any case @@ -150,7 +150,7 @@ namespace EMStudio AZStd::vector phonemeInstances; AZStd::vector defaultMorphTargetInstances; - // get the morph target setup + EMotionFX::Actor* actor = actorInstance->GetActor(); EMotionFX::MorphSetup* morphSetup = actor->GetMorphSetup(actorInstance->GetLODLevel()); if (morphSetup == nullptr) { @@ -278,6 +278,13 @@ namespace EMStudio } } + void MorphTargetsWindowPlugin::OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) + { + if (mCurrentActorInstance == actorInstance) + { + ReInit(/*actorInstance=*/nullptr); + } + } //----------------------------------------------------------------------------------------- // Command callbacks diff --git a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.h b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.h index ec64af2789..1f5abba310 100644 --- a/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.h +++ b/Gems/EMotionFX/Code/EMotionFX/Tools/EMotionStudio/Plugins/StandardPlugins/Source/MorphTargetsWindow/MorphTargetsWindowPlugin.h @@ -16,6 +16,7 @@ #include #include "../../../../EMStudioSDK/Source/DockWidgetPlugin.h" #include +#include #include "MorphTargetGroupWidget.h" #include #include @@ -26,6 +27,7 @@ namespace EMStudio { class MorphTargetsWindowPlugin : public EMStudio::DockWidgetPlugin + , private EMotionFX::ActorInstanceNotificationBus::Handler { Q_OBJECT MCORE_MEMORYOBJECTCATEGORY(MorphTargetsWindowPlugin, MCore::MCORE_DEFAULT_ALIGNMENT, MEMCATEGORY_STANDARDPLUGINS); @@ -54,6 +56,7 @@ namespace EMStudio EMStudioPlugin* Clone() override; // update the morph targets window based on the current selection + void ReInit(EMotionFX::ActorInstance* actorInstance, bool forceReInit = false); void ReInit(bool forceReInit = false); // clear all widgets from the window @@ -70,6 +73,9 @@ namespace EMStudio void WindowReInit(bool visible); private: + // ActorInstanceNotificationBus overrides + void OnActorInstanceDestroyed(EMotionFX::ActorInstance* actorInstance) override; + // declare the callbacks MCORE_DEFINECOMMANDCALLBACK(CommandSelectCallback); MCORE_DEFINECOMMANDCALLBACK(CommandUnselectCallback); diff --git a/Gems/EMotionFX/Code/EMotionFX/emotionfx_files.cmake b/Gems/EMotionFX/Code/EMotionFX/emotionfx_files.cmake index 9f5fe617d4..9743ab5f15 100644 --- a/Gems/EMotionFX/Code/EMotionFX/emotionfx_files.cmake +++ b/Gems/EMotionFX/Code/EMotionFX/emotionfx_files.cmake @@ -15,6 +15,7 @@ set(FILES Source/ActorBus.h Source/ActorInstance.cpp Source/ActorInstance.h + Source/ActorInstanceBus.h Source/ActorManager.cpp Source/ActorManager.h Source/ActorUpdateScheduler.h From 0f09a6d8bf8ab31882fadfb8737a493bf030d2e2 Mon Sep 17 00:00:00 2001 From: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com> Date: Mon, 14 Jun 2021 12:32:35 +0100 Subject: [PATCH 176/205] Move new camera settings to the Settings Registry and connect them to viewport border elements (#1267) * ensure the new camera respects changing ui values and move camera settings to the settings registry * factor out creation of modular camera controller * small updates before posting PR * updates following review feedback * updates following review feedback --- .../AzFramework/Viewport/CameraInput.cpp | 111 +++++-- .../AzFramework/Viewport/CameraInput.h | 30 +- .../Editor/Core/LevelEditorMenuHandler.cpp | 5 - Code/Sandbox/Editor/CryEdit.cpp | 35 --- Code/Sandbox/Editor/CryEdit.h | 3 - .../EditorPreferencesPageViewportMovement.cpp | 51 +++- .../Sandbox/Editor/EditorViewportSettings.cpp | 234 ++++++++++----- Code/Sandbox/Editor/EditorViewportSettings.h | 46 ++- Code/Sandbox/Editor/EditorViewportWidget.cpp | 275 +++++++++++------- Code/Sandbox/Editor/EditorViewportWidget.h | 5 - Code/Sandbox/Editor/MainWindow.cpp | 6 - Code/Sandbox/Editor/Resource.h | 3 - Code/Sandbox/Editor/ViewportTitleDlg.cpp | 19 +- .../ModularViewportCameraController.h | 7 + .../ModularViewportCameraController.cpp | 22 +- 15 files changed, 562 insertions(+), 290 deletions(-) diff --git a/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.cpp b/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.cpp index 674e10812b..72434f6037 100644 --- a/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.cpp +++ b/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.cpp @@ -28,19 +28,8 @@ namespace AzFramework nullptr, AZ::ConsoleFunctorFlags::Null, "The default height of the ground plane to do intersection tests against when orbiting"); - AZ_CVAR(float, ed_cameraSystemBoostMultiplier, 3.0f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(float, ed_cameraSystemTranslateSpeed, 10.0f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(float, ed_cameraSystemOrbitDollyScrollSpeed, 0.02f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(float, ed_cameraSystemOrbitDollyCursorSpeed, 0.01f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(float, ed_cameraSystemScrollTranslateSpeed, 0.02f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); AZ_CVAR(float, ed_cameraSystemMinOrbitDistance, 10.0f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); AZ_CVAR(float, ed_cameraSystemMaxOrbitDistance, 50.0f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(float, ed_cameraSystemLookSmoothness, 5.0f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(float, ed_cameraSystemTranslateSmoothness, 5.0f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(float, ed_cameraSystemRotateSpeed, 0.005f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(float, ed_cameraSystemPanSpeed, 0.01f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(bool, ed_cameraSystemPanInvertX, true, nullptr, AZ::ConsoleFunctorFlags::Null, ""); - AZ_CVAR(bool, ed_cameraSystemPanInvertY, true, nullptr, AZ::ConsoleFunctorFlags::Null, ""); AZ_CVAR( AZ::CVarFixedString, ed_cameraSystemTranslateForwardKey, "keyboard_key_alphanumeric_W", nullptr, AZ::ConsoleFunctorFlags::Null, ""); @@ -121,6 +110,13 @@ namespace AzFramework AZ_CONSOLEFREEFUNC(ReloadCameraKeyBindingsConsole, AZ::ConsoleFunctorFlags::Null, "Reload keybindings for the modern camera system"); + //! return -1.0f if inverted, 1.0f otherwise + constexpr static float Invert(const bool invert) + { + constexpr float Dir[] = { 1.0f, -1.0f }; + return Dir[aznumeric_cast(invert)]; + }; + // Based on paper by David Eberly - https://www.geometrictools.com/Documentation/EulerAngles.pdf AZ::Vector3 EulerAngles(const AZ::Matrix3x3& orientation) { @@ -291,6 +287,20 @@ namespace AzFramework RotateCameraInput::RotateCameraInput(const InputChannelId rotateChannelId) : m_rotateChannelId(rotateChannelId) { + m_rotateSpeedFn = []() constexpr + { + return 0.005f; + }; + + m_invertPitchFn = []() constexpr + { + return false; + }; + + m_invertYawFn = []() constexpr + { + return false; + }; } bool RotateCameraInput::HandleEvents(const InputEvent& event, const ScreenVector& cursorDelta, [[maybe_unused]] float scrollDelta) @@ -341,8 +351,9 @@ namespace AzFramework { Camera nextCamera = targetCamera; - nextCamera.m_pitch -= float(cursorDelta.m_y) * ed_cameraSystemRotateSpeed; - nextCamera.m_yaw -= float(cursorDelta.m_x) * ed_cameraSystemRotateSpeed; + const float rotateSpeed = m_rotateSpeedFn(); + nextCamera.m_pitch -= float(cursorDelta.m_y) * rotateSpeed * Invert(m_invertPitchFn()); + nextCamera.m_yaw -= float(cursorDelta.m_x) * rotateSpeed * Invert(m_invertYawFn()); const auto clampRotation = [](const float angle) { @@ -360,6 +371,20 @@ namespace AzFramework : m_panAxesFn(AZStd::move(panAxesFn)) , m_panChannelId(panChannelId) { + m_panSpeedFn = []() constexpr + { + return 0.01f; + }; + + m_invertPanXFn = []() constexpr + { + return true; + }; + + m_invertPanYFn = []() constexpr + { + return true; + }; } bool PanCameraInput::HandleEvents( @@ -393,17 +418,12 @@ namespace AzFramework const auto panAxes = m_panAxesFn(nextCamera); - const auto deltaPanX = float(cursorDelta.m_x) * panAxes.m_horizontalAxis * ed_cameraSystemPanSpeed; - const auto deltaPanY = float(cursorDelta.m_y) * panAxes.m_verticalAxis * ed_cameraSystemPanSpeed; + const float panSpeed = m_panSpeedFn(); + const auto deltaPanX = float(cursorDelta.m_x) * panAxes.m_horizontalAxis * panSpeed; + const auto deltaPanY = float(cursorDelta.m_y) * panAxes.m_verticalAxis * panSpeed; - const auto inv = [](const bool invert) - { - constexpr float Dir[] = { 1.0f, -1.0f }; - return Dir[aznumeric_cast(invert)]; - }; - - nextCamera.m_lookAt += deltaPanX * inv(ed_cameraSystemPanInvertX); - nextCamera.m_lookAt += deltaPanY * -inv(ed_cameraSystemPanInvertY); + nextCamera.m_lookAt += deltaPanX * Invert(m_invertPanXFn()); + nextCamera.m_lookAt += deltaPanY * -Invert(m_invertPanYFn()); return nextCamera; } @@ -446,6 +466,15 @@ namespace AzFramework TranslateCameraInput::TranslateCameraInput(TranslationAxesFn translationAxesFn) : m_translationAxesFn(AZStd::move(translationAxesFn)) { + m_translateSpeedFn = []() constexpr + { + return 10.0f; + }; + + m_boostMultiplierFn = []() constexpr + { + return 3.0f; + }; } bool TranslateCameraInput::HandleEvents( @@ -497,9 +526,9 @@ namespace AzFramework const auto axisY = translationBasis.GetBasisY(); const auto axisZ = translationBasis.GetBasisZ(); - const float speed = [boost = m_boost]() + const float speed = [boost = m_boost, &translateSpeedFn = m_translateSpeedFn, &boostMultiplierFn = m_boostMultiplierFn]() { - return ed_cameraSystemTranslateSpeed * (boost ? ed_cameraSystemBoostMultiplier : 1.0f); + return translateSpeedFn() * (boost ? boostMultiplierFn() : 1.0f); }(); if ((m_translation & TranslationType::Forward) == TranslationType::Forward) @@ -632,6 +661,14 @@ namespace AzFramework return nextCamera; } + OrbitDollyScrollCameraInput::OrbitDollyScrollCameraInput() + { + m_scrollSpeedFn = []() constexpr + { + return 0.03f; + }; + } + bool OrbitDollyScrollCameraInput::HandleEvents( const InputEvent& event, [[maybe_unused]] const ScreenVector& cursorDelta, [[maybe_unused]] float scrollDelta) { @@ -650,7 +687,7 @@ namespace AzFramework [[maybe_unused]] const float deltaTime) { Camera nextCamera = targetCamera; - nextCamera.m_lookDist = AZ::GetMin(nextCamera.m_lookDist + scrollDelta * ed_cameraSystemOrbitDollyScrollSpeed, 0.0f); + nextCamera.m_lookDist = AZ::GetMin(nextCamera.m_lookDist + scrollDelta * m_scrollSpeedFn(), 0.0f); EndActivation(); return nextCamera; } @@ -658,6 +695,10 @@ namespace AzFramework OrbitDollyCursorMoveCameraInput::OrbitDollyCursorMoveCameraInput(const InputChannelId dollyChannelId) : m_dollyChannelId(dollyChannelId) { + m_cursorSpeedFn = []() constexpr + { + return 0.01f; + }; } bool OrbitDollyCursorMoveCameraInput::HandleEvents( @@ -688,10 +729,18 @@ namespace AzFramework [[maybe_unused]] const float deltaTime) { Camera nextCamera = targetCamera; - nextCamera.m_lookDist = AZ::GetMin(nextCamera.m_lookDist + float(cursorDelta.m_y) * ed_cameraSystemOrbitDollyCursorSpeed, 0.0f); + nextCamera.m_lookDist = AZ::GetMin(nextCamera.m_lookDist + float(cursorDelta.m_y) * m_cursorSpeedFn(), 0.0f); return nextCamera; } + ScrollTranslationCameraInput::ScrollTranslationCameraInput() + { + m_scrollSpeedFn = []() constexpr + { + return 0.02f; + }; + } + bool ScrollTranslationCameraInput::HandleEvents( const InputEvent& event, [[maybe_unused]] const ScreenVector& cursorDelta, [[maybe_unused]] float scrollDelta) { @@ -714,14 +763,14 @@ namespace AzFramework const auto translation_basis = LookTranslation(nextCamera); const auto axisY = translation_basis.GetBasisY(); - nextCamera.m_lookAt += axisY * scrollDelta * ed_cameraSystemScrollTranslateSpeed; + nextCamera.m_lookAt += axisY * scrollDelta * m_scrollSpeedFn(); EndActivation(); return nextCamera; } - Camera SmoothCamera(const Camera& currentCamera, const Camera& targetCamera, const float deltaTime) + Camera SmoothCamera(const Camera& currentCamera, const Camera& targetCamera, const CameraProps& cameraProps, const float deltaTime) { const auto clamp_rotation = [](const float angle) { @@ -748,11 +797,11 @@ namespace AzFramework Camera camera; // note: the math for the lerp smoothing implementation for camera rotation and translation was inspired by this excellent // article by Scott Lembcke: https://www.gamasutra.com/blogs/ScottLembcke/20180404/316046/Improved_Lerp_Smoothing.php - const float lookRate = AZStd::exp2(ed_cameraSystemLookSmoothness); + const float lookRate = AZStd::exp2(cameraProps.m_rotateSmoothnessFn()); const float lookT = AZStd::exp2(-lookRate * deltaTime); camera.m_pitch = AZ::Lerp(targetCamera.m_pitch, currentCamera.m_pitch, lookT); camera.m_yaw = AZ::Lerp(targetYaw, currentYaw, lookT); - const float moveRate = AZStd::exp2(ed_cameraSystemTranslateSmoothness); + const float moveRate = AZStd::exp2(cameraProps.m_translateSmoothnessFn()); const float moveT = AZStd::exp2(-moveRate * deltaTime); camera.m_lookDist = AZ::Lerp(targetCamera.m_lookDist, currentCamera.m_lookDist, moveT); camera.m_lookAt = targetCamera.m_lookAt.Lerp(currentCamera.m_lookAt, moveT); diff --git a/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.h b/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.h index a02f796899..b25938872a 100644 --- a/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.h +++ b/Code/Framework/AzFramework/AzFramework/Viewport/CameraInput.h @@ -170,7 +170,14 @@ namespace AzFramework Activation m_activation = Activation::Idle; }; - Camera SmoothCamera(const Camera& currentCamera, const Camera& targetCamera, float deltaTime); + //! Properties to use to configure behavior across all types of camera. + struct CameraProps + { + AZStd::function m_rotateSmoothnessFn; //!< Rotate smoothing value (useful approx range 3-6, higher values give sharper feel). + AZStd::function m_translateSmoothnessFn; //!< Translate smoothing value (useful approx range 3-6, higher values give sharper feel). + }; + + Camera SmoothCamera(const Camera& currentCamera, const Camera& targetCamera, const CameraProps& cameraProps, float deltaTime); class Cameras { @@ -225,6 +232,10 @@ namespace AzFramework bool HandleEvents(const InputEvent& event, const ScreenVector& cursorDelta, float scrollDelta) override; Camera StepCamera(const Camera& targetCamera, const ScreenVector& cursorDelta, float scrollDelta, float deltaTime) override; + AZStd::function m_rotateSpeedFn; + AZStd::function m_invertPitchFn; + AZStd::function m_invertYawFn; + private: InputChannelId m_rotateChannelId; ClickDetector m_clickDetector; @@ -267,6 +278,10 @@ namespace AzFramework bool HandleEvents(const InputEvent& event, const ScreenVector& cursorDelta, float scrollDelta) override; Camera StepCamera(const Camera& targetCamera, const ScreenVector& cursorDelta, float scrollDelta, float deltaTime) override; + AZStd::function m_panSpeedFn; + AZStd::function m_invertPanXFn; + AZStd::function m_invertPanYFn; + private: PanAxesFn m_panAxesFn; InputChannelId m_panChannelId; @@ -310,6 +325,9 @@ namespace AzFramework Camera StepCamera(const Camera& targetCamera, const ScreenVector& cursorDelta, float scrollDelta, float deltaTime) override; void ResetImpl() override; + AZStd::function m_translateSpeedFn; + AZStd::function m_boostMultiplierFn; + private: enum class TranslationType { @@ -375,9 +393,13 @@ namespace AzFramework class OrbitDollyScrollCameraInput : public CameraInput { public: + OrbitDollyScrollCameraInput(); + // CameraInput overrides ... bool HandleEvents(const InputEvent& event, const ScreenVector& cursorDelta, float scrollDelta) override; Camera StepCamera(const Camera& targetCamera, const ScreenVector& cursorDelta, float scrollDelta, float deltaTime) override; + + AZStd::function m_scrollSpeedFn; }; class OrbitDollyCursorMoveCameraInput : public CameraInput @@ -389,6 +411,8 @@ namespace AzFramework bool HandleEvents(const InputEvent& event, const ScreenVector& cursorDelta, float scrollDelta) override; Camera StepCamera(const Camera& targetCamera, const ScreenVector& cursorDelta, float scrollDelta, float deltaTime) override; + AZStd::function m_cursorSpeedFn; + private: InputChannelId m_dollyChannelId; }; @@ -396,9 +420,13 @@ namespace AzFramework class ScrollTranslationCameraInput : public CameraInput { public: + ScrollTranslationCameraInput(); + // CameraInput overrides ... bool HandleEvents(const InputEvent& event, const ScreenVector& cursorDelta, float scrollDelta) override; Camera StepCamera(const Camera& targetCamera, const ScreenVector& cursorDelta, float scrollDelta, float deltaTime) override; + + AZStd::function m_scrollSpeedFn; }; class OrbitCameraInput : public CameraInput diff --git a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp index ebc688f9da..8096946fdb 100644 --- a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp +++ b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp @@ -759,11 +759,6 @@ QMenu* LevelEditorMenuHandler::CreateViewMenu() viewportViewsMenuWrapper.AddSeparator(); - auto changeMoveSpeedMenu = viewportViewsMenuWrapper.AddMenu(tr("Change Move Speed")); - changeMoveSpeedMenu.AddAction(ID_CHANGEMOVESPEED_INCREASE); - changeMoveSpeedMenu.AddAction(ID_CHANGEMOVESPEED_DECREASE); - changeMoveSpeedMenu.AddAction(ID_CHANGEMOVESPEED_CHANGESTEP); - auto switchCameraMenu = viewportViewsMenuWrapper.AddMenu(tr("Switch Camera")); switchCameraMenu.AddAction(ID_SWITCHCAMERA_DEFAULTCAMERA); switchCameraMenu.AddAction(ID_SWITCHCAMERA_SEQUENCECAMERA); diff --git a/Code/Sandbox/Editor/CryEdit.cpp b/Code/Sandbox/Editor/CryEdit.cpp index 6f81580251..955a299172 100644 --- a/Code/Sandbox/Editor/CryEdit.cpp +++ b/Code/Sandbox/Editor/CryEdit.cpp @@ -441,9 +441,6 @@ void CCryEditApp::RegisterActionHandlers() ON_COMMAND(ID_VIEW_CYCLE2DVIEWPORT, OnViewCycle2dviewport) #endif ON_COMMAND(ID_DISPLAY_GOTOPOSITION, OnDisplayGotoPosition) - ON_COMMAND(ID_CHANGEMOVESPEED_INCREASE, OnChangemovespeedIncrease) - ON_COMMAND(ID_CHANGEMOVESPEED_DECREASE, OnChangemovespeedDecrease) - ON_COMMAND(ID_CHANGEMOVESPEED_CHANGESTEP, OnChangemovespeedChangestep) ON_COMMAND(ID_FILE_SAVELEVELRESOURCES, OnFileSavelevelresources) ON_COMMAND(ID_CLEAR_REGISTRY, OnClearRegistryData) ON_COMMAND(ID_VALIDATELEVEL, OnValidatelevel) @@ -3706,38 +3703,6 @@ void CCryEditApp::OnDisplayGotoPosition() dialog.exec(); } -////////////////////////////////////////////////////////////////////////// -void CCryEditApp::OnChangemovespeedIncrease() -{ - gSettings.cameraMoveSpeed += m_moveSpeedStep; - if (gSettings.cameraMoveSpeed < 0.01f) - { - gSettings.cameraMoveSpeed = 0.01f; - } -} - -////////////////////////////////////////////////////////////////////////// -void CCryEditApp::OnChangemovespeedDecrease() -{ - gSettings.cameraMoveSpeed -= m_moveSpeedStep; - if (gSettings.cameraMoveSpeed < 0.01f) - { - gSettings.cameraMoveSpeed = 0.01f; - } -} - -////////////////////////////////////////////////////////////////////////// -void CCryEditApp::OnChangemovespeedChangestep() -{ - bool ok = false; - int fractionalDigitCount = 5; - float step = aznumeric_caster(QInputDialog::getDouble(AzToolsFramework::GetActiveWindow(), QObject::tr("Change Move Increase/Decrease Step"), QStringLiteral(""), m_moveSpeedStep, std::numeric_limits::lowest(), std::numeric_limits::max(), fractionalDigitCount, &ok)); - if (ok) - { - m_moveSpeedStep = step; - } -} - ////////////////////////////////////////////////////////////////////////// void CCryEditApp::OnFileSavelevelresources() { diff --git a/Code/Sandbox/Editor/CryEdit.h b/Code/Sandbox/Editor/CryEdit.h index e37fb53561..f9e2c7b0dd 100644 --- a/Code/Sandbox/Editor/CryEdit.h +++ b/Code/Sandbox/Editor/CryEdit.h @@ -408,9 +408,6 @@ private: void OnToolsScriptHelp(); void OnViewCycle2dviewport(); void OnDisplayGotoPosition(); - void OnChangemovespeedIncrease(); - void OnChangemovespeedDecrease(); - void OnChangemovespeedChangestep(); void OnFileSavelevelresources(); void OnClearRegistryData(); void OnValidatelevel(); diff --git a/Code/Sandbox/Editor/EditorPreferencesPageViewportMovement.cpp b/Code/Sandbox/Editor/EditorPreferencesPageViewportMovement.cpp index a6ddac9f34..9ef52a803b 100644 --- a/Code/Sandbox/Editor/EditorPreferencesPageViewportMovement.cpp +++ b/Code/Sandbox/Editor/EditorPreferencesPageViewportMovement.cpp @@ -17,7 +17,7 @@ // Editor #include "Settings.h" - +#include "EditorViewportSettings.h" void CEditorPreferencesPage_ViewportMovement::Reflect(AZ::SerializeContext& serialize) { @@ -72,20 +72,45 @@ QIcon& CEditorPreferencesPage_ViewportMovement::GetIcon() void CEditorPreferencesPage_ViewportMovement::OnApply() { - gSettings.cameraMoveSpeed = m_cameraMovementSettings.m_moveSpeed; - gSettings.cameraRotateSpeed = m_cameraMovementSettings.m_rotateSpeed; - gSettings.cameraFastMoveSpeed = m_cameraMovementSettings.m_fastMoveSpeed; - gSettings.wheelZoomSpeed = m_cameraMovementSettings.m_wheelZoomSpeed; - gSettings.invertYRotation = m_cameraMovementSettings.m_invertYRotation; - gSettings.invertPan = m_cameraMovementSettings.m_invertPan; + if (SandboxEditor::UsingNewCameraSystem()) + { + SandboxEditor::SetCameraTranslateSpeed(m_cameraMovementSettings.m_moveSpeed); + SandboxEditor::SetCameraRotateSpeed(m_cameraMovementSettings.m_rotateSpeed); + SandboxEditor::SetCameraBoostMultiplier(m_cameraMovementSettings.m_fastMoveSpeed); + SandboxEditor::SetCameraScrollSpeed(m_cameraMovementSettings.m_wheelZoomSpeed); + SandboxEditor::SetCameraOrbitYawRotationInverted(m_cameraMovementSettings.m_invertYRotation); + SandboxEditor::SetCameraPanInvertedX(m_cameraMovementSettings.m_invertPan); + SandboxEditor::SetCameraPanInvertedY(m_cameraMovementSettings.m_invertPan); + } + else + { + gSettings.cameraMoveSpeed = m_cameraMovementSettings.m_moveSpeed; + gSettings.cameraRotateSpeed = m_cameraMovementSettings.m_rotateSpeed; + gSettings.cameraFastMoveSpeed = m_cameraMovementSettings.m_fastMoveSpeed; + gSettings.wheelZoomSpeed = m_cameraMovementSettings.m_wheelZoomSpeed; + gSettings.invertYRotation = m_cameraMovementSettings.m_invertYRotation; + gSettings.invertPan = m_cameraMovementSettings.m_invertPan; + } } void CEditorPreferencesPage_ViewportMovement::InitializeSettings() { - m_cameraMovementSettings.m_moveSpeed = gSettings.cameraMoveSpeed; - m_cameraMovementSettings.m_rotateSpeed = gSettings.cameraRotateSpeed; - m_cameraMovementSettings.m_fastMoveSpeed = gSettings.cameraFastMoveSpeed; - m_cameraMovementSettings.m_wheelZoomSpeed = gSettings.wheelZoomSpeed; - m_cameraMovementSettings.m_invertYRotation = gSettings.invertYRotation; - m_cameraMovementSettings.m_invertPan = gSettings.invertPan; + if (SandboxEditor::UsingNewCameraSystem()) + { + m_cameraMovementSettings.m_moveSpeed = SandboxEditor::CameraTranslateSpeed(); + m_cameraMovementSettings.m_rotateSpeed = SandboxEditor::CameraRotateSpeed(); + m_cameraMovementSettings.m_fastMoveSpeed = SandboxEditor::CameraBoostMultiplier(); + m_cameraMovementSettings.m_wheelZoomSpeed = SandboxEditor::CameraScrollSpeed(); + m_cameraMovementSettings.m_invertYRotation = SandboxEditor::CameraOrbitYawRotationInverted(); + m_cameraMovementSettings.m_invertPan = SandboxEditor::CameraPanInvertedX() && SandboxEditor::CameraPanInvertedY(); + } + else + { + m_cameraMovementSettings.m_moveSpeed = gSettings.cameraMoveSpeed; + m_cameraMovementSettings.m_rotateSpeed = gSettings.cameraRotateSpeed; + m_cameraMovementSettings.m_fastMoveSpeed = gSettings.cameraFastMoveSpeed; + m_cameraMovementSettings.m_wheelZoomSpeed = gSettings.wheelZoomSpeed; + m_cameraMovementSettings.m_invertYRotation = gSettings.invertYRotation; + m_cameraMovementSettings.m_invertPan = gSettings.invertPan; + } } diff --git a/Code/Sandbox/Editor/EditorViewportSettings.cpp b/Code/Sandbox/Editor/EditorViewportSettings.cpp index e34851c42b..dbfd3ea4ed 100644 --- a/Code/Sandbox/Editor/EditorViewportSettings.cpp +++ b/Code/Sandbox/Editor/EditorViewportSettings.cpp @@ -23,94 +23,196 @@ namespace SandboxEditor constexpr AZStd::string_view AngleSnappingSetting = "/Amazon/Preferences/Editor/AngleSnapping"; constexpr AZStd::string_view AngleSizeSetting = "/Amazon/Preferences/Editor/AngleSize"; constexpr AZStd::string_view ShowGridSetting = "/Amazon/Preferences/Editor/ShowGrid"; + constexpr AZStd::string_view CameraTranslateSpeedSetting = "/Amazon/Preferences/Editor/Camera/TranslateSpeed"; + constexpr AZStd::string_view CameraBoostMultiplierSetting = "/Amazon/Preferences/Editor/Camera/BoostMultiplier"; + constexpr AZStd::string_view CameraRotateSpeedSetting = "/Amazon/Preferences/Editor/Camera/RotateSpeed"; + constexpr AZStd::string_view CameraScrollSpeedSetting = "/Amazon/Preferences/Editor/Camera/DollyScrollSpeed"; + constexpr AZStd::string_view CameraDollyMotionSpeedSetting = "/Amazon/Preferences/Editor/Camera/DollyMotionSpeed"; + constexpr AZStd::string_view CameraOrbitYawRotationInvertedSetting = "/Amazon/Preferences/Editor/Camera/YawRotationInverted"; + constexpr AZStd::string_view CameraPanInvertedXSetting = "/Amazon/Preferences/Editor/Camera/PanInvertedX"; + constexpr AZStd::string_view CameraPanInvertedYSetting = "/Amazon/Preferences/Editor/Camera/PanInvertedY"; + constexpr AZStd::string_view CameraPanSpeedSetting = "/Amazon/Preferences/Editor/Camera/PanSpeed"; + constexpr AZStd::string_view CameraRotateSmoothnessSetting = "/Amazon/Preferences/Editor/Camera/RotateSmoothness"; + constexpr AZStd::string_view CameraTranslateSmoothnessSetting = "/Amazon/Preferences/Editor/Camera/TranslateSmoothness"; + + template + void SetRegistry(const AZStd::string_view setting, T&& value) + { + if (auto* registry = AZ::SettingsRegistry::Get()) + { + registry->Set(setting, AZStd::forward(value)); + } + } + + template + AZStd::remove_cvref_t GetRegistry(const AZStd::string_view setting, T&& defaultValue) + { + AZStd::remove_cvref_t value = AZStd::forward(defaultValue); + if (auto* registry = AZ::SettingsRegistry::Get()) + { + registry->Get(value, setting); + } + + return value; + } bool GridSnappingEnabled() { - bool enabled = false; - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Get(enabled, GridSnappingSetting); - } - return enabled; - } - - float GridSnappingSize() - { - double gridSize = 0.1; - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Get(gridSize, GridSizeSetting); - } - return aznumeric_cast(gridSize); - } - - bool AngleSnappingEnabled() - { - bool enabled = false; - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Get(enabled, AngleSnappingSetting); - } - return enabled; - } - - float AngleSnappingSize() - { - double angleSize = 5.0; - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Get(angleSize, AngleSizeSetting); - } - return aznumeric_cast(angleSize); - } - - bool ShowingGrid() - { - bool enabled = false; - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Get(enabled, ShowGridSetting); - } - return enabled; + return GetRegistry(GridSnappingSetting, false); } void SetGridSnapping(const bool enabled) { - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Set(GridSnappingSetting, enabled); - } + SetRegistry(GridSnappingSetting, enabled); + } + + float GridSnappingSize() + { + return aznumeric_cast(GetRegistry(GridSizeSetting, 0.1)); } void SetGridSnappingSize(const float size) { - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Set(GridSizeSetting, size); - } + SetRegistry(GridSizeSetting, size); + } + + bool AngleSnappingEnabled() + { + return GetRegistry(AngleSnappingSetting, false); } void SetAngleSnapping(const bool enabled) { - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Set(AngleSnappingSetting, enabled); - } + SetRegistry(AngleSnappingSetting, enabled); + } + + float AngleSnappingSize() + { + return aznumeric_cast(GetRegistry(AngleSizeSetting, 5.0)); } void SetAngleSnappingSize(const float size) { - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Set(AngleSizeSetting, size); - } + SetRegistry(AngleSizeSetting, size); + } + + bool ShowingGrid() + { + return GetRegistry(ShowGridSetting, false); } void SetShowingGrid(const bool showing) { - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Set(ShowGridSetting, showing); - } + SetRegistry(ShowGridSetting, showing); + } + + float CameraTranslateSpeed() + { + return aznumeric_cast(GetRegistry(CameraTranslateSpeedSetting, 10.0)); + } + + void SetCameraTranslateSpeed(const float speed) + { + SetRegistry(CameraTranslateSpeedSetting, speed); + } + + float CameraBoostMultiplier() + { + return aznumeric_cast(GetRegistry(CameraBoostMultiplierSetting, 3.0)); + } + + void SetCameraBoostMultiplier(const float multiplier) + { + SetRegistry(CameraBoostMultiplierSetting, multiplier); + } + + float CameraRotateSpeed() + { + return aznumeric_cast(GetRegistry(CameraRotateSpeedSetting, 0.005)); + } + + void SetCameraRotateSpeed(const float speed) + { + SetRegistry(CameraRotateSpeedSetting, speed); + } + + float CameraScrollSpeed() + { + return aznumeric_cast(GetRegistry(CameraScrollSpeedSetting, 0.02)); + } + + void SetCameraScrollSpeed(const float speed) + { + SetRegistry(CameraScrollSpeedSetting, speed); + } + + float CameraDollyMotionSpeed() + { + return aznumeric_cast(GetRegistry(CameraDollyMotionSpeedSetting, 0.01)); + } + + void SetCameraDollyMotionSpeed(const float speed) + { + SetRegistry(CameraDollyMotionSpeedSetting, speed); + } + + bool CameraOrbitYawRotationInverted() + { + return GetRegistry(CameraOrbitYawRotationInvertedSetting, false); + } + + void SetCameraOrbitYawRotationInverted(const bool inverted) + { + SetRegistry(CameraOrbitYawRotationInvertedSetting, inverted); + } + + bool CameraPanInvertedX() + { + return GetRegistry(CameraPanInvertedXSetting, true); + } + + void SetCameraPanInvertedX(const bool inverted) + { + SetRegistry(CameraPanInvertedXSetting, inverted); + } + + bool CameraPanInvertedY() + { + return GetRegistry(CameraPanInvertedYSetting, true); + } + + void SetCameraPanInvertedY(const bool inverted) + { + SetRegistry(CameraPanInvertedYSetting, inverted); + } + + float CameraPanSpeed() + { + return aznumeric_cast(GetRegistry(CameraPanSpeedSetting, 0.01)); + } + + void SetCameraPanSpeed(float speed) + { + SetRegistry(CameraPanSpeedSetting, speed); + } + + float CameraRotateSmoothness() + { + return aznumeric_cast(GetRegistry(CameraRotateSmoothnessSetting, 5.0)); + } + + void SetCameraRotateSmoothness(const float smoothness) + { + SetRegistry(CameraRotateSmoothnessSetting, smoothness); + } + + float CameraTranslateSmoothness() + { + return aznumeric_cast(GetRegistry(CameraTranslateSmoothnessSetting, 5.0)); + } + + void SetCameraTranslateSmoothness(const float smoothness) + { + SetRegistry(CameraTranslateSmoothnessSetting, smoothness); } } // namespace SandboxEditor diff --git a/Code/Sandbox/Editor/EditorViewportSettings.h b/Code/Sandbox/Editor/EditorViewportSettings.h index c9b504fe74..a2f80d196e 100644 --- a/Code/Sandbox/Editor/EditorViewportSettings.h +++ b/Code/Sandbox/Editor/EditorViewportSettings.h @@ -17,25 +17,53 @@ namespace SandboxEditor { SANDBOX_API bool GridSnappingEnabled(); - - SANDBOX_API float GridSnappingSize(); - - SANDBOX_API bool AngleSnappingEnabled(); - - SANDBOX_API float AngleSnappingSize(); - - SANDBOX_API bool ShowingGrid(); - SANDBOX_API void SetGridSnapping(bool enabled); + SANDBOX_API float GridSnappingSize(); SANDBOX_API void SetGridSnappingSize(float size); + SANDBOX_API bool AngleSnappingEnabled(); SANDBOX_API void SetAngleSnapping(bool enabled); + SANDBOX_API float AngleSnappingSize(); SANDBOX_API void SetAngleSnappingSize(float size); + SANDBOX_API bool ShowingGrid(); SANDBOX_API void SetShowingGrid(bool showing); + SANDBOX_API float CameraTranslateSpeed(); + SANDBOX_API void SetCameraTranslateSpeed(float speed); + + SANDBOX_API float CameraBoostMultiplier(); + SANDBOX_API void SetCameraBoostMultiplier(float multiplier); + + SANDBOX_API float CameraRotateSpeed(); + SANDBOX_API void SetCameraRotateSpeed(float speed); + + SANDBOX_API float CameraScrollSpeed(); + SANDBOX_API void SetCameraScrollSpeed(float speed); + + SANDBOX_API float CameraDollyMotionSpeed(); + SANDBOX_API void SetCameraDollyMotionSpeed(float speed); + + SANDBOX_API bool CameraOrbitYawRotationInverted(); + SANDBOX_API void SetCameraOrbitYawRotationInverted(bool inverted); + + SANDBOX_API bool CameraPanInvertedX(); + SANDBOX_API void SetCameraPanInvertedX(bool inverted); + + SANDBOX_API bool CameraPanInvertedY(); + SANDBOX_API void SetCameraPanInvertedY(bool inverted); + + SANDBOX_API float CameraPanSpeed(); + SANDBOX_API void SetCameraPanSpeed(float speed); + + SANDBOX_API float CameraRotateSmoothness(); + SANDBOX_API void SetCameraRotateSmoothness(float smoothness); + + SANDBOX_API float CameraTranslateSmoothness(); + SANDBOX_API void SetCameraTranslateSmoothness(float smoothness); + //! Return if the new editor camera system is enabled or not. //! @note This is implemented in EditorViewportWidget.cpp SANDBOX_API bool UsingNewCameraSystem(); diff --git a/Code/Sandbox/Editor/EditorViewportWidget.cpp b/Code/Sandbox/Editor/EditorViewportWidget.cpp index 5bdd7a0d03..5a444f0521 100644 --- a/Code/Sandbox/Editor/EditorViewportWidget.cpp +++ b/Code/Sandbox/Editor/EditorViewportWidget.cpp @@ -13,7 +13,6 @@ // Description : implementation filefov - #include "EditorDefs.h" #include "EditorViewportWidget.h" @@ -173,6 +172,7 @@ namespace AZ::ViewportHelpers { m_renderViewport.OnStopPlayInEditor(); } + private: EditorViewportWidget& m_renderViewport; }; @@ -402,7 +402,7 @@ void EditorViewportWidget::InjectFakeMouseMove(int deltaX, int deltaY, Qt::Mouse } ////////////////////////////////////////////////////////////////////////// -bool EditorViewportWidget::event(QEvent* event) +bool EditorViewportWidget::event(QEvent* event) { switch (event->type()) { @@ -479,7 +479,6 @@ void EditorViewportWidget::Update() } m_updatingCameraPosition = false; - // Don't wait for changes to update the focused viewport. if (CheckRespondToInput()) { @@ -1205,6 +1204,166 @@ bool EditorViewportWidget::ShowingWorldSpace() return BuildKeyboardModifiers(QGuiApplication::queryKeyboardModifiers()).Shift(); } +AZStd::shared_ptr CreateModularViewportCameraController( + AzFramework::ViewportId viewportId) +{ + AzFramework::ReloadCameraKeyBindings(); + + auto controller = AZStd::make_shared(); + controller->SetCameraPropsBuilderCallback( + [](AzFramework::CameraProps& cameraProps) + { + cameraProps.m_rotateSmoothnessFn = [] + { + return SandboxEditor::CameraRotateSmoothness(); + }; + + cameraProps.m_translateSmoothnessFn = [] + { + return SandboxEditor::CameraTranslateSmoothness(); + }; + }); + + controller->SetCameraListBuilderCallback( + [viewportId](AzFramework::Cameras& cameras) + { + auto firstPersonRotateCamera = AZStd::make_shared(AzFramework::CameraFreeLookButton); + firstPersonRotateCamera->m_rotateSpeedFn = [] + { + return SandboxEditor::CameraRotateSpeed(); + }; + + auto firstPersonPanCamera = + AZStd::make_shared(AzFramework::CameraFreePanButton, AzFramework::LookPan); + firstPersonPanCamera->m_panSpeedFn = [] + { + return SandboxEditor::CameraPanSpeed(); + }; + firstPersonPanCamera->m_invertPanXFn = [] + { + return SandboxEditor::CameraPanInvertedX(); + }; + firstPersonPanCamera->m_invertPanYFn = [] + { + return SandboxEditor::CameraPanInvertedY(); + }; + + auto firstPersonTranslateCamera = AZStd::make_shared(AzFramework::LookTranslation); + firstPersonTranslateCamera->m_translateSpeedFn = [] + { + return SandboxEditor::CameraTranslateSpeed(); + }; + firstPersonTranslateCamera->m_boostMultiplierFn = [] + { + return SandboxEditor::CameraBoostMultiplier(); + }; + + auto firstPersonWheelCamera = AZStd::make_shared(); + firstPersonWheelCamera->m_scrollSpeedFn = [] + { + return SandboxEditor::CameraScrollSpeed(); + }; + + auto orbitCamera = AZStd::make_shared(); + orbitCamera->SetLookAtFn( + [viewportId](const AZ::Vector3& position, const AZ::Vector3& direction) -> AZStd::optional + { + AZStd::optional lookAtAfterInterpolation; + AtomToolsFramework::ModularViewportCameraControllerRequestBus::EventResult( + lookAtAfterInterpolation, viewportId, + &AtomToolsFramework::ModularViewportCameraControllerRequestBus::Events::LookAtAfterInterpolation); + + // initially attempt to use the last set look at point after an interpolation has finished + if (lookAtAfterInterpolation.has_value()) + { + return *lookAtAfterInterpolation; + } + + const float RayDistance = 1000.0f; + AzFramework::RenderGeometry::RayRequest ray; + ray.m_startWorldPosition = position; + ray.m_endWorldPosition = position + direction * RayDistance; + ray.m_onlyVisible = true; + + AzFramework::RenderGeometry::RayResult renderGeometryIntersectionResult; + AzFramework::RenderGeometry::IntersectorBus::EventResult( + renderGeometryIntersectionResult, AzToolsFramework::GetEntityContextId(), + &AzFramework::RenderGeometry::IntersectorBus::Events::RayIntersect, ray); + + // attempt a ray intersection with any visible mesh and return the intersection position if successful + if (renderGeometryIntersectionResult) + { + return renderGeometryIntersectionResult.m_worldPosition; + } + + // if there is no selection or no intersection, fallback to default camera orbit behavior (ground plane + // intersection) + return {}; + }); + + auto orbitRotateCamera = AZStd::make_shared(AzFramework::CameraOrbitLookButton); + orbitRotateCamera->m_rotateSpeedFn = [] + { + return SandboxEditor::CameraRotateSpeed(); + }; + orbitRotateCamera->m_invertYawFn = [] + { + return SandboxEditor::CameraOrbitYawRotationInverted(); + }; + + auto orbitTranslateCamera = AZStd::make_shared(AzFramework::OrbitTranslation); + orbitTranslateCamera->m_translateSpeedFn = [] + { + return SandboxEditor::CameraTranslateSpeed(); + }; + orbitTranslateCamera->m_boostMultiplierFn = [] + { + return SandboxEditor::CameraBoostMultiplier(); + }; + + auto orbitDollyWheelCamera = AZStd::make_shared(); + orbitDollyWheelCamera->m_scrollSpeedFn = [] + { + return SandboxEditor::CameraScrollSpeed(); + }; + + auto orbitDollyMoveCamera = + AZStd::make_shared(AzFramework::CameraOrbitDollyButton); + orbitDollyMoveCamera->m_cursorSpeedFn = [] + { + return SandboxEditor::CameraDollyMotionSpeed(); + }; + + auto orbitPanCamera = AZStd::make_shared(AzFramework::CameraOrbitPanButton, AzFramework::OrbitPan); + orbitPanCamera->m_panSpeedFn = [] + { + return SandboxEditor::CameraPanSpeed(); + }; + orbitPanCamera->m_invertPanXFn = [] + { + return SandboxEditor::CameraPanInvertedX(); + }; + orbitPanCamera->m_invertPanYFn = [] + { + return SandboxEditor::CameraPanInvertedY(); + }; + + orbitCamera->m_orbitCameras.AddCamera(orbitRotateCamera); + orbitCamera->m_orbitCameras.AddCamera(orbitTranslateCamera); + orbitCamera->m_orbitCameras.AddCamera(orbitDollyWheelCamera); + orbitCamera->m_orbitCameras.AddCamera(orbitDollyMoveCamera); + orbitCamera->m_orbitCameras.AddCamera(orbitPanCamera); + + cameras.AddCamera(firstPersonRotateCamera); + cameras.AddCamera(firstPersonPanCamera); + cameras.AddCamera(firstPersonTranslateCamera); + cameras.AddCamera(firstPersonWheelCamera); + cameras.AddCamera(orbitCamera); + }); + + return controller; +} + void EditorViewportWidget::SetViewportId(int id) { CViewport::SetViewportId(id); @@ -1229,77 +1388,7 @@ void EditorViewportWidget::SetViewportId(int id) if (ed_useNewCameraSystem) { - AzFramework::ReloadCameraKeyBindings(); - - auto controller = AZStd::make_shared(); - controller->SetCameraListBuilderCallback( - [id](AzFramework::Cameras& cameras) - { - auto firstPersonRotateCamera = AZStd::make_shared(AzFramework::CameraFreeLookButton); - auto firstPersonPanCamera = - AZStd::make_shared(AzFramework::CameraFreePanButton, AzFramework::LookPan); - auto firstPersonTranslateCamera = AZStd::make_shared(AzFramework::LookTranslation); - auto firstPersonWheelCamera = AZStd::make_shared(); - - auto orbitCamera = AZStd::make_shared(); - orbitCamera->SetLookAtFn( - [id](const AZ::Vector3& position, const AZ::Vector3& direction) -> AZStd::optional - { - AZStd::optional lookAtAfterInterpolation; - AtomToolsFramework::ModularViewportCameraControllerRequestBus::EventResult( - lookAtAfterInterpolation, id, - &AtomToolsFramework::ModularViewportCameraControllerRequestBus::Events::LookAtAfterInterpolation); - - // initially attempt to use the last set look at point after an interpolation has finished - if (lookAtAfterInterpolation.has_value()) - { - return *lookAtAfterInterpolation; - } - - const float RayDistance = 1000.0f; - AzFramework::RenderGeometry::RayRequest ray; - ray.m_startWorldPosition = position; - ray.m_endWorldPosition = position + direction * RayDistance; - ray.m_onlyVisible = true; - - AzFramework::RenderGeometry::RayResult renderGeometryIntersectionResult; - AzFramework::RenderGeometry::IntersectorBus::EventResult( - renderGeometryIntersectionResult, AzToolsFramework::GetEntityContextId(), - &AzFramework::RenderGeometry::IntersectorBus::Events::RayIntersect, ray); - - // attempt a ray intersection with any visible mesh and return the intersection position if successful - if (renderGeometryIntersectionResult) - { - return renderGeometryIntersectionResult.m_worldPosition; - } - - // if there is no selection or no intersection, fallback to default camera orbit behavior (ground plane - // intersection) - return {}; - }); - - auto orbitRotateCamera = AZStd::make_shared(AzFramework::CameraOrbitLookButton); - auto orbitTranslateCamera = AZStd::make_shared(AzFramework::OrbitTranslation); - auto orbitDollyWheelCamera = AZStd::make_shared(); - auto orbitDollyMoveCamera = - AZStd::make_shared(AzFramework::CameraOrbitDollyButton); - auto orbitPanCamera = - AZStd::make_shared(AzFramework::CameraOrbitPanButton, AzFramework::OrbitPan); - - orbitCamera->m_orbitCameras.AddCamera(orbitRotateCamera); - orbitCamera->m_orbitCameras.AddCamera(orbitTranslateCamera); - orbitCamera->m_orbitCameras.AddCamera(orbitDollyWheelCamera); - orbitCamera->m_orbitCameras.AddCamera(orbitDollyMoveCamera); - orbitCamera->m_orbitCameras.AddCamera(orbitPanCamera); - - cameras.AddCamera(firstPersonRotateCamera); - cameras.AddCamera(firstPersonPanCamera); - cameras.AddCamera(firstPersonTranslateCamera); - cameras.AddCamera(firstPersonWheelCamera); - cameras.AddCamera(orbitCamera); - }); - - m_renderViewport->GetControllerList()->Add(controller); + m_renderViewport->GetControllerList()->Add(CreateModularViewportCameraController(AzFramework::ViewportId(id))); } else { @@ -1367,7 +1456,7 @@ namespace AZ::ViewportHelpers action->setCheckable(true); action->setChecked(*variable); } -} +} // namespace AZ::ViewportHelpers ////////////////////////////////////////////////////////////////////////// void EditorViewportWidget::OnTitleMenu(QMenu* menu) @@ -1615,7 +1704,6 @@ void EditorViewportWidget::ToggleCameraObject() GetIEditor()->GetAnimation()->ForceAnimation(); } - ////////////////////////////////////////////////////////////////////////// void EditorViewportWidget::SetCamera(const CCamera& camera) { @@ -1623,30 +1711,6 @@ void EditorViewportWidget::SetCamera(const CCamera& camera) SetViewTM(m_Camera.GetMatrix()); } -////////////////////////////////////////////////////////////////////////// -float EditorViewportWidget::GetCameraMoveSpeed() const -{ - return gSettings.cameraMoveSpeed; -} - -////////////////////////////////////////////////////////////////////////// -float EditorViewportWidget::GetCameraRotateSpeed() const -{ - return gSettings.cameraRotateSpeed; -} - -////////////////////////////////////////////////////////////////////////// -bool EditorViewportWidget::GetCameraInvertYRotation() const -{ - return gSettings.invertYRotation; -} - -////////////////////////////////////////////////////////////////////////// -float EditorViewportWidget::GetCameraInvertPan() const -{ - return gSettings.invertPan; -} - ////////////////////////////////////////////////////////////////////////// EditorViewportWidget* EditorViewportWidget::GetPrimaryViewport() { @@ -1946,7 +2010,6 @@ void EditorViewportWidget::RenderSelectedRegion() Vec3(x1, y2, fMinZ) }; - // Generate vertices static AABB boxPrev(AABB::RESET); static std::vector verts; @@ -2508,14 +2571,14 @@ void EditorViewportWidget::SetSequenceCamera() } ////////////////////////////////////////////////////////////////////////// -void EditorViewportWidget::SetComponentCamera(const AZ::EntityId& entityId) +void EditorViewportWidget::SetComponentCamera(const AZ::EntityId& entityId) { ResetToViewSourceType(ViewSourceType::CameraComponent); SetViewEntity(entityId); } ////////////////////////////////////////////////////////////////////////// -void EditorViewportWidget::SetEntityAsCamera(const AZ::EntityId& entityId, bool lockCameraMovement) +void EditorViewportWidget::SetEntityAsCamera(const AZ::EntityId& entityId, bool lockCameraMovement) { ResetToViewSourceType(ViewSourceType::AZ_Entity); SetViewEntity(entityId, lockCameraMovement); @@ -2764,18 +2827,18 @@ bool EditorViewportWidget::IsRenderingDisabled() const } ////////////////////////////////////////////////////////////////////////// -QPoint EditorViewportWidget::WidgetToViewport(const QPoint &point) const +QPoint EditorViewportWidget::WidgetToViewport(const QPoint& point) const { return point * WidgetToViewportFactor(); } -QPoint EditorViewportWidget::ViewportToWidget(const QPoint &point) const +QPoint EditorViewportWidget::ViewportToWidget(const QPoint& point) const { return point / WidgetToViewportFactor(); } ////////////////////////////////////////////////////////////////////////// -QSize EditorViewportWidget::WidgetToViewport(const QSize &size) const +QSize EditorViewportWidget::WidgetToViewport(const QSize& size) const { return size * WidgetToViewportFactor(); } diff --git a/Code/Sandbox/Editor/EditorViewportWidget.h b/Code/Sandbox/Editor/EditorViewportWidget.h index 5d6f06c9ae..6b2db65847 100644 --- a/Code/Sandbox/Editor/EditorViewportWidget.h +++ b/Code/Sandbox/Editor/EditorViewportWidget.h @@ -328,11 +328,6 @@ protected: void SetViewTM(const Matrix34& tm, bool bMoveOnly); - virtual float GetCameraMoveSpeed() const; - virtual float GetCameraRotateSpeed() const; - virtual bool GetCameraInvertYRotation() const; - virtual float GetCameraInvertPan() const; - // Called to render stuff. virtual void OnRender(); diff --git a/Code/Sandbox/Editor/MainWindow.cpp b/Code/Sandbox/Editor/MainWindow.cpp index 39a98236c7..ddc8ff5058 100644 --- a/Code/Sandbox/Editor/MainWindow.cpp +++ b/Code/Sandbox/Editor/MainWindow.cpp @@ -842,12 +842,6 @@ void MainWindow::InitActions() am->AddAction(ID_SWITCHCAMERA_NEXT, tr("Cycle Camera")) .SetShortcut(tr("Ctrl+`")) .SetToolTip(tr("Cycle Camera (Ctrl+`)")); - am->AddAction(ID_CHANGEMOVESPEED_INCREASE, tr("Increase")) - .SetStatusTip(tr("Increase Flycam Movement Speed")); - am->AddAction(ID_CHANGEMOVESPEED_DECREASE, tr("Decrease")) - .SetStatusTip(tr("Decrease Flycam Movement Speed")); - am->AddAction(ID_CHANGEMOVESPEED_CHANGESTEP, tr("Change Step")) - .SetStatusTip(tr("Change Flycam Movement Step")); am->AddAction(ID_DISPLAY_GOTOPOSITION, tr("Go to Position...")); am->AddAction(ID_MODIFY_GOTO_SELECTION, tr("Center on Selection")) .SetShortcut(tr("Z")) diff --git a/Code/Sandbox/Editor/Resource.h b/Code/Sandbox/Editor/Resource.h index 98a6e56d14..bd6ae94184 100644 --- a/Code/Sandbox/Editor/Resource.h +++ b/Code/Sandbox/Editor/Resource.h @@ -89,9 +89,6 @@ #define ID_EXPORT_INDOORS 32915 #define ID_VIEW_CYCLE2DVIEWPORT 32916 #define ID_SNAPANGLE 32917 -#define ID_CHANGEMOVESPEED_INCREASE 32928 -#define ID_CHANGEMOVESPEED_DECREASE 32929 -#define ID_CHANGEMOVESPEED_CHANGESTEP 32930 #define ID_PHYSICS_GETPHYSICSSTATE 32937 #define ID_PHYSICS_RESETPHYSICSSTATE 32938 #define ID_GAME_SYNCPLAYER 32941 diff --git a/Code/Sandbox/Editor/ViewportTitleDlg.cpp b/Code/Sandbox/Editor/ViewportTitleDlg.cpp index dc4815eb6a..48075597cd 100644 --- a/Code/Sandbox/Editor/ViewportTitleDlg.cpp +++ b/Code/Sandbox/Editor/ViewportTitleDlg.cpp @@ -170,7 +170,7 @@ void CViewportTitleDlg::SetupCameraDropdownMenu() cameraSpeedActionWidget->setDefaultWidget(cameraSpeedContainer); // Save off the move speed here since setting up the combo box can cause it to update values in the background. - float cameraMoveSpeed = gSettings.cameraMoveSpeed; + const float cameraMoveSpeed = SandboxEditor::UsingNewCameraSystem() ? SandboxEditor::CameraTranslateSpeed() : gSettings.cameraMoveSpeed; // Populate the presets in the ComboBox for (float presetValue : m_speedPresetValues) @@ -901,15 +901,24 @@ void CViewportTitleDlg::OnSpeedComboBoxEnter() void CViewportTitleDlg::OnUpdateMoveSpeedText(const QString& text) { - gSettings.cameraMoveSpeed = aznumeric_cast(Round(text.toDouble(), m_speedStep)); + if (SandboxEditor::UsingNewCameraSystem()) + { + SandboxEditor::SetCameraTranslateSpeed(aznumeric_cast(Round(text.toDouble(), m_speedStep))); + } + else + { + gSettings.cameraMoveSpeed = aznumeric_cast(Round(text.toDouble(), m_speedStep)); + } } void CViewportTitleDlg::CheckForCameraSpeedUpdate() { - if (gSettings.cameraMoveSpeed != m_prevMoveSpeed && !m_cameraSpeed->lineEdit()->hasFocus()) + if (const float currentCameraMoveSpeed = + SandboxEditor::UsingNewCameraSystem() ? SandboxEditor::CameraTranslateSpeed() : gSettings.cameraMoveSpeed; + currentCameraMoveSpeed != m_prevMoveSpeed && !m_cameraSpeed->lineEdit()->hasFocus()) { - m_prevMoveSpeed = gSettings.cameraMoveSpeed; - SetSpeedComboBox(gSettings.cameraMoveSpeed); + m_prevMoveSpeed = currentCameraMoveSpeed; + SetSpeedComboBox(currentCameraMoveSpeed); } } diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/ModularViewportCameraController.h b/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/ModularViewportCameraController.h index b88b340926..7de08677d7 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/ModularViewportCameraController.h +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Include/AtomToolsFramework/Viewport/ModularViewportCameraController.h @@ -27,14 +27,20 @@ namespace AtomToolsFramework { public: using CameraListBuilder = AZStd::function; + using CameraPropsBuilder = AZStd::function; //! Sets the camera list builder callback used to populate new ModernViewportCameraControllerInstances void SetCameraListBuilderCallback(const CameraListBuilder& builder); + //! Sets the camera props builder callback used to populate new ModernViewportCameraControllerInstances + void SetCameraPropsBuilderCallback(const CameraPropsBuilder& builder); //! Sets up a camera list based on this controller's CameraListBuilderCallback void SetupCameras(AzFramework::Cameras& cameras); + //! Sets up properties shared across all cameras + void SetupCameraProperies(AzFramework::CameraProps& cameraProps); private: CameraListBuilder m_cameraListBuilder; + CameraPropsBuilder m_cameraPropsBuilder; }; class ModernViewportCameraControllerInstance final @@ -67,6 +73,7 @@ namespace AtomToolsFramework AzFramework::Camera m_camera; AzFramework::Camera m_targetCamera; AzFramework::CameraSystem m_cameraSystem; + AzFramework::CameraProps m_cameraProps; AZ::Transform m_transformStart = AZ::Transform::CreateIdentity(); AZ::Transform m_transformEnd = AZ::Transform::CreateIdentity(); diff --git a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/ModularViewportCameraController.cpp b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/ModularViewportCameraController.cpp index 082dc8f272..f92c177759 100644 --- a/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/ModularViewportCameraController.cpp +++ b/Gems/Atom/Tools/AtomToolsFramework/Code/Source/Viewport/ModularViewportCameraController.cpp @@ -26,7 +26,11 @@ namespace AtomToolsFramework { AZ_CVAR( - AZ::Color, ed_cameraSystemOrbitPointColor, AZ::Color::CreateFromRgba(255, 255, 255, 255), nullptr, AZ::ConsoleFunctorFlags::Null, + AZ::Color, + ed_cameraSystemOrbitPointColor, + AZ::Color::CreateFromRgba(255, 255, 255, 255), + nullptr, + AZ::ConsoleFunctorFlags::Null, ""); AZ_CVAR(float, ed_cameraSystemOrbitPointSize, 0.5f, nullptr, AZ::ConsoleFunctorFlags::Null, ""); @@ -63,6 +67,11 @@ namespace AtomToolsFramework m_cameraListBuilder = builder; } + void ModularViewportCameraController::SetCameraPropsBuilderCallback(const CameraPropsBuilder& builder) + { + m_cameraPropsBuilder = builder; + } + void ModularViewportCameraController::SetupCameras(AzFramework::Cameras& cameras) { if (m_cameraListBuilder) @@ -71,11 +80,20 @@ namespace AtomToolsFramework } } + void ModularViewportCameraController::SetupCameraProperies(AzFramework::CameraProps& cameraProps) + { + if (m_cameraPropsBuilder) + { + m_cameraPropsBuilder(cameraProps); + } + } + ModernViewportCameraControllerInstance::ModernViewportCameraControllerInstance( const AzFramework::ViewportId viewportId, ModularViewportCameraController* controller) : MultiViewportControllerInstanceInterface(viewportId, controller) { controller->SetupCameras(m_cameraSystem.m_cameras); + controller->SetupCameraProperies(m_cameraProps); if (auto viewportContext = RetrieveViewportContext(GetViewportId())) { @@ -138,7 +156,7 @@ namespace AtomToolsFramework if (m_cameraMode == CameraMode::Control) { m_targetCamera = m_cameraSystem.StepCamera(m_targetCamera, event.m_deltaTime.count()); - m_camera = AzFramework::SmoothCamera(m_camera, m_targetCamera, event.m_deltaTime.count()); + m_camera = AzFramework::SmoothCamera(m_camera, m_targetCamera, m_cameraProps, event.m_deltaTime.count()); // if there has been an interpolation, only clear the look at point if it is no longer // centered in the view (the camera has looked away from it) From aee7fc72cc42317d2aaeb1646cb053e9cd789116 Mon Sep 17 00:00:00 2001 From: Hasareej <82398396+Hasareej@users.noreply.github.com> Date: Mon, 14 Jun 2021 12:53:58 +0100 Subject: [PATCH 177/205] Hiding the 2 Clusters during Gameplay mode (#1211) Hiding the 2 Clusters during Gameplay mode. --- .../EditorTransformComponentSelection.cpp | 27 +++++++++++++++---- .../EditorTransformComponentSelection.h | 10 ++++++- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp index e94b3457fa..eb16bf158e 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.cpp @@ -500,6 +500,13 @@ namespace AzToolsFramework return worldFromLocal.TransformPoint(CalculateCenterOffset(entityId, pivot)); } + void EditorTransformComponentSelection::SetAllViewportUiVisible(const bool visible) + { + SetViewportUiClusterVisible(m_transformModeClusterId, visible); + SetViewportUiClusterVisible(m_spaceCluster.m_spaceClusterId, visible); + m_viewportUiVisible = visible; + } + void EditorTransformComponentSelection::UpdateSpaceCluster(const ReferenceFrame referenceFrame) { auto buttonIdFromFrameFn = [this](const ReferenceFrame referenceFrame) @@ -1022,6 +1029,7 @@ namespace AzToolsFramework ToolsApplicationNotificationBus::Handler::BusConnect(); Camera::EditorCameraNotificationBus::Handler::BusConnect(); ComponentModeFramework::EditorComponentModeNotificationBus::Handler::BusConnect(entityContextId); + EditorEntityContextNotificationBus::Handler::BusConnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterConnect(); EditorEntityLockComponentNotificationBus::Router::BusRouterConnect(); EditorManipulatorCommandUndoRedoRequestBus::Handler::BusConnect(entityContextId); @@ -1050,6 +1058,7 @@ namespace AzToolsFramework EditorManipulatorCommandUndoRedoRequestBus::Handler::BusDisconnect(); EditorEntityLockComponentNotificationBus::Router::BusRouterDisconnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterDisconnect(); + EditorEntityContextNotificationBus::Handler::BusDisconnect(); ComponentModeFramework::EditorComponentModeNotificationBus::Handler::BusDisconnect(); Camera::EditorCameraNotificationBus::Handler::BusDisconnect(); ToolsApplicationNotificationBus::Handler::BusDisconnect(); @@ -2380,9 +2389,7 @@ namespace AzToolsFramework /*ID_VIEWPORTUI_VISIBLE=*/50040, "Toggle ViewportUI", "Hide/Unhide Viewport UI", [this]() { - SetViewportUiClusterVisible(m_transformModeClusterId, !m_viewportUiVisible); - SetViewportUiClusterVisible(m_spaceCluster.m_spaceClusterId, !m_viewportUiVisible); - m_viewportUiVisible = !m_viewportUiVisible; + SetAllViewportUiVisible(!m_viewportUiVisible); }); EditorMenuRequestBus::Broadcast(&EditorMenuRequests::RestoreEditMenuToDefault); @@ -3575,7 +3582,7 @@ namespace AzToolsFramework void EditorTransformComponentSelection::EnteredComponentMode(const AZStd::vector& /*componentModeTypes*/) { - SetViewportUiClusterVisible(m_transformModeClusterId, false); + SetAllViewportUiVisible(false); EditorEntityLockComponentNotificationBus::Router::BusRouterDisconnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterDisconnect(); @@ -3584,7 +3591,7 @@ namespace AzToolsFramework void EditorTransformComponentSelection::LeftComponentMode(const AZStd::vector& /*componentModeTypes*/) { - SetViewportUiClusterVisible(m_transformModeClusterId, true); + SetAllViewportUiVisible(true); ToolsApplicationNotificationBus::Handler::BusConnect(); EditorEntityVisibilityNotificationBus::Router::BusRouterConnect(); @@ -3640,6 +3647,16 @@ namespace AzToolsFramework ETCS::SetEntityLocalRotation(entityId, localRotation, m_transformChangedInternally); } + void EditorTransformComponentSelection::OnStartPlayInEditor() + { + SetAllViewportUiVisible(false); + } + + void EditorTransformComponentSelection::OnStopPlayInEditor() + { + SetAllViewportUiVisible(true); + } + namespace ETCS { // little raii wrapper to switch a value from true to false and back diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h index 1b52911978..773921ebea 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/ViewportSelection/EditorTransformComponentSelection.h @@ -133,6 +133,7 @@ namespace AzToolsFramework , private ToolsApplicationNotificationBus::Handler , private Camera::EditorCameraNotificationBus::Handler , private ComponentModeFramework::EditorComponentModeNotificationBus::Handler + , private EditorEntityContextNotificationBus::Handler , private EditorEntityVisibilityNotificationBus::Router , private EditorEntityLockComponentNotificationBus::Router , private EditorManipulatorCommandUndoRedoRequestBus::Handler @@ -269,6 +270,10 @@ namespace AzToolsFramework void EnteredComponentMode(const AZStd::vector& componentModeTypes) override; void LeftComponentMode(const AZStd::vector& componentModeTypes) override; + // EditorEntityContextNotificationBus overrides ... + void OnStartPlayInEditor() override; + void OnStopPlayInEditor() override; + // Helpers to safely interact with the TransformBus (requests). void SetEntityWorldTranslation(AZ::EntityId entityId, const AZ::Vector3& worldTranslation); void SetEntityLocalTranslation(AZ::EntityId entityId, const AZ::Vector3& localTranslation); @@ -276,9 +281,12 @@ namespace AzToolsFramework void SetEntityLocalScale(AZ::EntityId entityId, float localScale); void SetEntityLocalRotation(AZ::EntityId entityId, const AZ::Vector3& localRotation); - // Responsible for keeping the space cluster in sync with the current reference frame. + //! Responsible for keeping the space cluster in sync with the current reference frame. void UpdateSpaceCluster(ReferenceFrame referenceFrame); + //! Hides/Shows all viewportUi toolbars. + void SetAllViewportUiVisible(bool visible); + AZ::EntityId m_hoveredEntityId; //!< What EntityId is the mouse currently hovering over (if any). AZ::EntityId m_cachedEntityIdUnderCursor; //!< Store the EntityId on each mouse move for use in Display. AZ::EntityId m_editorCameraComponentEntityId; //!< The EditorCameraComponent EntityId if it is set. From 4dc97526202fc0f8583c93eab701e48d5535b858 Mon Sep 17 00:00:00 2001 From: John Jones-Steele Date: Mon, 14 Jun 2021 13:50:29 +0100 Subject: [PATCH 178/205] Fixes crash in adding WireFrame/ --- .../Editor/Core/LevelEditorMenuHandler.cpp | 1 - Code/Sandbox/Editor/CryEdit.cpp | 27 ------------------- Code/Sandbox/Editor/CryEdit.h | 1 - 3 files changed, 29 deletions(-) diff --git a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp index ebc688f9da..c96f6be3a3 100644 --- a/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp +++ b/Code/Sandbox/Editor/Core/LevelEditorMenuHandler.cpp @@ -717,7 +717,6 @@ QMenu* LevelEditorMenuHandler::CreateViewMenu() }); #endif - viewportViewsMenuWrapper.AddAction(ID_WIREFRAME); viewportViewsMenuWrapper.AddSeparator(); if (CViewManager::IsMultiViewportEnabled()) diff --git a/Code/Sandbox/Editor/CryEdit.cpp b/Code/Sandbox/Editor/CryEdit.cpp index 6f81580251..79a06b7964 100644 --- a/Code/Sandbox/Editor/CryEdit.cpp +++ b/Code/Sandbox/Editor/CryEdit.cpp @@ -400,8 +400,6 @@ void CCryEditApp::RegisterActionHandlers() ON_COMMAND(ID_GAME_SYNCPLAYER, OnSyncPlayer) ON_COMMAND(ID_RESOURCES_REDUCEWORKINGSET, OnResourcesReduceworkingset) - ON_COMMAND(ID_WIREFRAME, OnWireframe) - ON_COMMAND(ID_VIEW_CONFIGURELAYOUT, OnViewConfigureLayout) ON_COMMAND(IDC_SELECTION, OnDummyCommand) @@ -3466,31 +3464,6 @@ void CCryEditApp::OnResourcesReduceworkingset() #endif } -void CCryEditApp::OnWireframe() -{ - int nWireframe(R_SOLID_MODE); - ICVar* r_wireframe(gEnv->pConsole->GetCVar("r_wireframe")); - - if (r_wireframe) - { - nWireframe = r_wireframe->GetIVal(); - } - - if (nWireframe != R_WIREFRAME_MODE) - { - nWireframe = R_WIREFRAME_MODE; - } - else - { - nWireframe = R_SOLID_MODE; - } - - if (r_wireframe) - { - r_wireframe->Set(nWireframe); - } -} - void CCryEditApp::OnUpdateWireframe(QAction* action) { Q_ASSERT(action->isCheckable()); diff --git a/Code/Sandbox/Editor/CryEdit.h b/Code/Sandbox/Editor/CryEdit.h index e37fb53561..2206fd8ce2 100644 --- a/Code/Sandbox/Editor/CryEdit.h +++ b/Code/Sandbox/Editor/CryEdit.h @@ -372,7 +372,6 @@ private: friend struct PythonTestOutputHandler; void OpenProjectManager(const AZStd::string& screen); - void OnWireframe(); void OnUpdateWireframe(QAction* action); void OnViewConfigureLayout(); From 6d92f7109f9e15302a17fe7dbd5e8f9ef3bb4993 Mon Sep 17 00:00:00 2001 From: Chris Burel Date: Mon, 14 Jun 2021 08:09:28 -0700 Subject: [PATCH 179/205] Fix function signature of binary +/- operator to not return a reference (#1285) This function creates a new object on the stack, and was returning it as a reference. This would trigger Clang 12's `-Wreturn-stack-address` warning, and cause the build to fail. This fixes builds with clang 12, so it closes #591 --- Code/CryEngine/CryCommon/ISystem.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/CryEngine/CryCommon/ISystem.h b/Code/CryEngine/CryCommon/ISystem.h index 653776f55b..bb4c320439 100644 --- a/Code/CryEngine/CryCommon/ISystem.h +++ b/Code/CryEngine/CryCommon/ISystem.h @@ -1154,13 +1154,13 @@ struct DiskOperationInfo return *this; } - DiskOperationInfo& operator - (const DiskOperationInfo& rv) + DiskOperationInfo operator - (const DiskOperationInfo& rv) { DiskOperationInfo res(*this); return res -= rv; } - DiskOperationInfo& operator + (const DiskOperationInfo& rv) + DiskOperationInfo operator + (const DiskOperationInfo& rv) { DiskOperationInfo res(*this); return res += rv; From f8cf4ba08767ecb02b82b49b48786cf803fd1a0e Mon Sep 17 00:00:00 2001 From: Benjamin Jillich <43751992+amzn-jillich@users.noreply.github.com> Date: Mon, 14 Jun 2021 17:34:29 +0200 Subject: [PATCH 180/205] [LYN-3416] Animation: Attachment component does not update it's location automatically (#1305) --- .../Code/Source/Animation/EditorAttachmentComponent.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Animation/EditorAttachmentComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Animation/EditorAttachmentComponent.cpp index f14340b4c9..e7f2a98a71 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Animation/EditorAttachmentComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Animation/EditorAttachmentComponent.cpp @@ -118,8 +118,7 @@ namespace AZ void EditorAttachmentComponent::Activate() { Base::Activate(); - m_boneFollower.Activate(GetEntity(), CreateAttachmentConfiguration(), - false); // Entity's don't animate in Editor + m_boneFollower.Activate(GetEntity(), CreateAttachmentConfiguration(), /*targetCanAnimate=*/true); } void EditorAttachmentComponent::Deactivate() From 62bcf16e85c6c63fd418b6e55a91afbca1838fc0 Mon Sep 17 00:00:00 2001 From: crroby Date: Mon, 14 Jun 2021 09:17:28 -0700 Subject: [PATCH 181/205] Updated script and prefab --- .../Controllers/2DKinematicController.prefab | 13 + .../FeatureScripts/OnCollision.scriptcanvas | 4656 ++++++--------- .../FeatureScripts/Trigger.scriptcanvas | 5266 +++++++++-------- 3 files changed, 4351 insertions(+), 5584 deletions(-) diff --git a/Gems/PhysXSamples/Assets/Prefabs/Controllers/2DKinematicController.prefab b/Gems/PhysXSamples/Assets/Prefabs/Controllers/2DKinematicController.prefab index c1a55b7e54..07615fe195 100644 --- a/Gems/PhysXSamples/Assets/Prefabs/Controllers/2DKinematicController.prefab +++ b/Gems/PhysXSamples/Assets/Prefabs/Controllers/2DKinematicController.prefab @@ -326,6 +326,19 @@ "assetHint": "scriptcanvas/controllers/topdown_kinematic_2d_controller.scriptcanvas" } } + }, + "Component_[14867533293201743111]": { + "$type": "EditorScriptCanvasComponent", + "Id": 14867533293201743111, + "m_name": "OnCollision", + "m_assetHolder": { + "m_asset": { + "assetId": { + "guid": "{AD2CECD2-B449-55C7-8462-A22D4272EF16}" + }, + "assetHint": "scriptcanvas/featurescripts/oncollision.scriptcanvas" + } + } } }, "IsDependencyReady": true diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/OnCollision.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/OnCollision.scriptcanvas index 4bad0018d0..9f41804819 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/OnCollision.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/OnCollision.scriptcanvas @@ -3,7 +3,7 @@ - + @@ -16,21 +16,80 @@ - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45,7 +104,7 @@ - + @@ -73,7 +132,136 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -111,7 +299,7 @@ - + @@ -145,76 +333,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + @@ -222,7 +403,7 @@ - + @@ -528,7 +709,7 @@ - + @@ -552,219 +733,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -797,7 +766,7 @@ - + @@ -1082,7 +1051,7 @@ - + @@ -1164,23 +1133,23 @@ - + - + - + - + - + - + @@ -1193,11 +1162,11 @@ - + - - + + @@ -1208,7 +1177,7 @@ - + @@ -1221,7 +1190,7 @@ - + @@ -1232,7 +1201,7 @@ - + @@ -1259,7 +1228,7 @@ - + @@ -1269,8 +1238,46 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1297,7 +1304,7 @@ - + @@ -1307,11 +1314,49 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -1337,9 +1382,9 @@ - + - + @@ -1348,439 +1393,25 @@ - + - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + @@ -1790,552 +1421,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2696,480 +1782,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3475,7 +2088,7 @@ - + @@ -3499,21 +2112,233 @@ - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3528,7 +2353,7 @@ - + @@ -3556,136 +2381,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3723,7 +2419,7 @@ - + @@ -3757,69 +2453,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + @@ -3827,7 +2530,633 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4042,358 +3371,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -4403,7 +3385,7 @@ - + @@ -4411,7 +3393,7 @@ - + @@ -4424,7 +3406,7 @@ - + @@ -4434,7 +3416,7 @@ - + @@ -4442,7 +3424,7 @@ - + @@ -4455,7 +3437,7 @@ - + @@ -4465,7 +3447,7 @@ - + @@ -4473,7 +3455,7 @@ - + @@ -4486,7 +3468,7 @@ - + @@ -4496,7 +3478,7 @@ - + @@ -4504,7 +3486,7 @@ - + @@ -4517,7 +3499,7 @@ - + @@ -4527,7 +3509,7 @@ - + @@ -4535,7 +3517,7 @@ - + @@ -4548,7 +3530,7 @@ - + @@ -4558,7 +3540,7 @@ - + @@ -4566,7 +3548,7 @@ - + @@ -4579,7 +3561,7 @@ - + @@ -4589,7 +3571,7 @@ - + @@ -4597,7 +3579,7 @@ - + @@ -4610,7 +3592,7 @@ - + @@ -4620,7 +3602,7 @@ - + @@ -4628,7 +3610,7 @@ - + @@ -4641,7 +3623,7 @@ - + @@ -4651,7 +3633,7 @@ - + @@ -4659,7 +3641,7 @@ - + @@ -4672,7 +3654,7 @@ - + @@ -4682,7 +3664,7 @@ - + @@ -4690,7 +3672,7 @@ - + @@ -4703,7 +3685,7 @@ - + @@ -4713,7 +3695,7 @@ - + @@ -4721,7 +3703,7 @@ - + @@ -4734,7 +3716,7 @@ - + @@ -4744,7 +3726,7 @@ - + @@ -4752,7 +3734,7 @@ - + @@ -4765,7 +3747,7 @@ - + @@ -4775,7 +3757,7 @@ - + @@ -4783,7 +3765,7 @@ - + @@ -4796,7 +3778,7 @@ - + @@ -4806,7 +3788,7 @@ - + @@ -4814,7 +3796,7 @@ - + @@ -4827,7 +3809,7 @@ - + @@ -4837,7 +3819,7 @@ - + @@ -4845,7 +3827,7 @@ - + @@ -4858,7 +3840,7 @@ - + @@ -4868,7 +3850,7 @@ - + @@ -4876,7 +3858,7 @@ - + @@ -4889,7 +3871,7 @@ - + @@ -4899,7 +3881,7 @@ - + @@ -4907,7 +3889,7 @@ - + @@ -4920,7 +3902,7 @@ - + @@ -4930,7 +3912,7 @@ - + @@ -4938,7 +3920,7 @@ - + @@ -4951,7 +3933,7 @@ - + @@ -4961,7 +3943,7 @@ - + @@ -4969,7 +3951,7 @@ - + @@ -4982,7 +3964,7 @@ - + @@ -4992,7 +3974,7 @@ - + @@ -5000,7 +3982,7 @@ - + @@ -5013,7 +3995,7 @@ - + @@ -5023,7 +4005,7 @@ - + @@ -5031,7 +4013,7 @@ - + @@ -5044,7 +4026,7 @@ - + @@ -5054,7 +4036,7 @@ - + @@ -5062,7 +4044,7 @@ - + @@ -5075,7 +4057,7 @@ - + @@ -5085,7 +4067,7 @@ - + @@ -5093,7 +4075,7 @@ - + @@ -5106,69 +4088,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -5178,7 +4098,7 @@ - + @@ -5186,7 +4106,7 @@ - + @@ -5199,7 +4119,7 @@ - + @@ -5209,7 +4129,7 @@ - + @@ -5217,7 +4137,7 @@ - + @@ -5228,99 +4148,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5329,7 +4156,7 @@ - + @@ -5337,7 +4164,49 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5379,70 +4248,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -5484,348 +4290,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -5867,7 +4332,7 @@ - + @@ -5875,7 +4340,7 @@ - + @@ -5895,7 +4360,7 @@ - + @@ -5909,7 +4374,112 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5951,7 +4521,175 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5991,74 +4729,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6066,11 +4742,27 @@ - + - + + + + + + + + + + + + + + + + + diff --git a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Trigger.scriptcanvas b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Trigger.scriptcanvas index f23d9666af..4e87659839 100644 --- a/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Trigger.scriptcanvas +++ b/Gems/PhysXSamples/Assets/ScriptCanvas/FeatureScripts/Trigger.scriptcanvas @@ -3,7 +3,7 @@ - + @@ -16,21 +16,224 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -73,7 +276,7 @@ - + @@ -111,7 +314,7 @@ - + @@ -149,7 +352,7 @@ - + @@ -206,7 +409,7 @@ - + @@ -222,7 +425,427 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -552,2025 +1175,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2900,7 +1505,672 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3206,7 +2476,7 @@ - + @@ -3230,7 +2500,7 @@ - + @@ -3417,7 +2687,7 @@ - + @@ -3428,7 +2698,7 @@ - + @@ -3445,73 +2715,741 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3521,7 +3459,7 @@ - + @@ -3529,7 +3467,7 @@ - + @@ -3542,7 +3480,7 @@ - + @@ -3552,7 +3490,7 @@ - + @@ -3560,7 +3498,7 @@ - + @@ -3573,7 +3511,7 @@ - + @@ -3583,7 +3521,7 @@ - + @@ -3591,7 +3529,7 @@ - + @@ -3604,7 +3542,7 @@ - + @@ -3614,7 +3552,7 @@ - + @@ -3622,7 +3560,7 @@ - + @@ -3635,69 +3573,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3707,7 +3583,7 @@ - + @@ -3715,7 +3591,7 @@ - + @@ -3728,7 +3604,7 @@ - + @@ -3738,7 +3614,7 @@ - + @@ -3746,7 +3622,7 @@ - + @@ -3759,7 +3635,7 @@ - + @@ -3769,7 +3645,7 @@ - + @@ -3777,7 +3653,7 @@ - + @@ -3790,7 +3666,7 @@ - + @@ -3800,7 +3676,7 @@ - + @@ -3808,7 +3684,7 @@ - + @@ -3821,7 +3697,7 @@ - + @@ -3831,7 +3707,7 @@ - + @@ -3839,7 +3715,7 @@ - + @@ -3852,7 +3728,7 @@ - + @@ -3862,7 +3738,7 @@ - + @@ -3870,7 +3746,7 @@ - + @@ -3883,38 +3759,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3924,7 +3769,7 @@ - + @@ -3932,7 +3777,7 @@ - + @@ -3945,38 +3790,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3986,7 +3800,7 @@ - + @@ -3994,7 +3808,7 @@ - + @@ -4007,28 +3821,28 @@ - + - + - + - + - + - + - + @@ -4038,17 +3852,48 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4056,10 +3901,227 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4075,7 +4137,7 @@ - + @@ -4083,301 +4145,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -4419,20 +4187,20 @@ - + - - - + + + - - - + + + @@ -4453,7 +4221,7 @@ - + @@ -4461,20 +4229,41 @@ - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4482,22 +4271,64 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4516,7 +4347,7 @@ - + @@ -4524,7 +4355,7 @@ - + @@ -4537,7 +4368,7 @@ - + @@ -4558,7 +4389,7 @@ - + @@ -4566,7 +4397,91 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4608,7 +4523,7 @@ - + @@ -4621,7 +4536,154 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4642,7 +4704,7 @@ - + @@ -4652,6 +4714,10 @@ + + + + @@ -4661,29 +4727,25 @@ - - + + - - + + - - + + - - - - From 7ef292d2102a3212d0150d8ed1e9aaaa7b2bf60b Mon Sep 17 00:00:00 2001 From: Doug McDiarmid Date: Mon, 14 Jun 2021 10:27:03 -0700 Subject: [PATCH 182/205] Removed VK_KHR_ray_query extension requirement for enabling ray tracing --- .../RHI/Vulkan/External/glad/2.0.0-beta/include/glad/vulkan.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Gems/Atom/RHI/Vulkan/External/glad/2.0.0-beta/include/glad/vulkan.h b/Gems/Atom/RHI/Vulkan/External/glad/2.0.0-beta/include/glad/vulkan.h index a6ee9e8634..33d4b64082 100644 --- a/Gems/Atom/RHI/Vulkan/External/glad/2.0.0-beta/include/glad/vulkan.h +++ b/Gems/Atom/RHI/Vulkan/External/glad/2.0.0-beta/include/glad/vulkan.h @@ -12691,8 +12691,7 @@ static int glad_vk_find_extensions_vulkan( VkPhysicalDevice physical_device) { #endif GLAD_VK_KHR_push_descriptor = glad_vk_has_extension("VK_KHR_push_descriptor", extension_count, extensions); GLAD_VK_KHR_ray_tracing = (glad_vk_has_extension("VK_KHR_acceleration_structure", extension_count, extensions) - && glad_vk_has_extension("VK_KHR_ray_tracing_pipeline", extension_count, extensions) - && glad_vk_has_extension("VK_KHR_ray_query", extension_count, extensions)); + && glad_vk_has_extension("VK_KHR_ray_tracing_pipeline", extension_count, extensions)); GLAD_VK_KHR_relaxed_block_layout = glad_vk_has_extension("VK_KHR_relaxed_block_layout", extension_count, extensions); GLAD_VK_KHR_sampler_mirror_clamp_to_edge = glad_vk_has_extension("VK_KHR_sampler_mirror_clamp_to_edge", extension_count, extensions); GLAD_VK_KHR_sampler_ycbcr_conversion = glad_vk_has_extension("VK_KHR_sampler_ycbcr_conversion", extension_count, extensions); From b31de1da3304067149ac309acb63d280744953c3 Mon Sep 17 00:00:00 2001 From: jckand-amzn Date: Mon, 14 Jun 2021 13:46:53 -0500 Subject: [PATCH 183/205] LYN-4518: Updating expected actions for test_Menus_ViewMenuOptions_Work --- .../PythonTests/editor/EditorScripts/Menus_ViewMenuOptions.py | 2 +- AutomatedTesting/Gem/PythonTests/editor/test_Menus.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/editor/EditorScripts/Menus_ViewMenuOptions.py b/AutomatedTesting/Gem/PythonTests/editor/EditorScripts/Menus_ViewMenuOptions.py index 173d658b3c..3f94a23696 100644 --- a/AutomatedTesting/Gem/PythonTests/editor/EditorScripts/Menus_ViewMenuOptions.py +++ b/AutomatedTesting/Gem/PythonTests/editor/EditorScripts/Menus_ViewMenuOptions.py @@ -49,7 +49,7 @@ class TestViewMenuOptions(EditorTestHelper): view_menu_options = [ ("Center on Selection",), ("Show Quick Access Bar",), - ("Viewport", "Wireframe"), + ("Viewport", "Configure Layout"), ("Viewport", "Go to Position"), ("Viewport", "Center on Selection"), ("Viewport", "Go to Location"), diff --git a/AutomatedTesting/Gem/PythonTests/editor/test_Menus.py b/AutomatedTesting/Gem/PythonTests/editor/test_Menus.py index 2b3fdcbdf3..26231e33d7 100644 --- a/AutomatedTesting/Gem/PythonTests/editor/test_Menus.py +++ b/AutomatedTesting/Gem/PythonTests/editor/test_Menus.py @@ -89,7 +89,7 @@ class TestMenus(object): expected_lines = [ "Center on Selection Action triggered", "Show Quick Access Bar Action triggered", - "Wireframe Action triggered", + "Configure Layout Action triggered", "Go to Position Action triggered", "Center on Selection Action triggered", "Go to Location Action triggered", From 6f61454be4fbe3bd9b32c16773ec50b41c9e9911 Mon Sep 17 00:00:00 2001 From: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com> Date: Mon, 14 Jun 2021 14:20:39 -0500 Subject: [PATCH 184/205] Added support for remapping entity refs across slice instances (#1284) * Fixed memory assert on shutdown. Cleaned up the entity pointers on serialization, so that they no longer leak themselves, their asset references, or anything else within them. * Added support for remapping entity refs across slice instances. Slice instances can have components with entity references that have been modified to reference entities in other slice instances, or even in the parent. This change detects and remaps those references so that they work correctly. --- .../SerializeContextTools/SliceConverter.cpp | 192 ++++++++++++++---- .../SerializeContextTools/SliceConverter.h | 46 +++-- 2 files changed, 185 insertions(+), 53 deletions(-) diff --git a/Code/Tools/SerializeContextTools/SliceConverter.cpp b/Code/Tools/SerializeContextTools/SliceConverter.cpp index 9fba060960..e7dc49d5b3 100644 --- a/Code/Tools/SerializeContextTools/SliceConverter.cpp +++ b/Code/Tools/SerializeContextTools/SliceConverter.cpp @@ -177,9 +177,10 @@ namespace AZ AZ::Entity* rootEntity = reinterpret_cast(classPtr); bool convertResult = ConvertSliceToPrefab(context, outputPath, isDryRun, rootEntity); - // Clear out the references to any nested slices so that the nested assets get unloaded correctly at the end of - // the conversion. - ClearSliceAssetReferences(rootEntity); + + // Delete the root entity pointer. Otherwise, it will leak itself along with all of the slice asset references held + // within it. + delete rootEntity; return convertResult; }; @@ -229,8 +230,12 @@ namespace AZ return false; } - // Get all of the entities from the slice. + // Get all of the entities from the slice. We're taking ownership of them, so we also remove them from the slice component + // without deleting them. + constexpr bool deleteEntities = false; + constexpr bool removeEmptyInstances = true; SliceComponent::EntityList sliceEntities = sliceComponent->GetNewEntities(); + sliceComponent->RemoveAllEntities(deleteEntities, removeEmptyInstances); AZ_Printf("Convert-Slice", " Slice contains %zu entities.\n", sliceEntities.size()); // Create the Prefab with the entities from the slice. @@ -273,6 +278,12 @@ namespace AZ } } + // Save off a mapping of the slice's metadata entity ID as well, even though we never converted the entity itself. + // This will help us better detect entity ID mapping errors for nested slice instances. + AZ::Entity* metadataEntity = sliceComponent->GetMetadataEntity(); + constexpr bool isMetadataEntity = true; + m_aliasIdMapper.emplace(metadataEntity->GetId(), SliceEntityMappingInfo(templateId, "MetadataEntity", isMetadataEntity)); + // Update the prefab template with the fixed-up data in our prefab instance. AzToolsFramework::Prefab::PrefabDom prefabDom; bool storeResult = AzToolsFramework::Prefab::PrefabDomUtils::StoreInstanceInPrefabDom(*sourceInstance, prefabDom); @@ -402,6 +413,21 @@ namespace AZ "Convert-Slice", " Attaching %zu instances of nested slice '%s'.\n", instances.size(), nestedPrefabPath.Native().c_str()); + // Before processing any further, save off all the known entity IDs from all the instances and how they map back to + // the base nested prefab that they've come from (i.e. this one). As we proceed up the chain of nesting, this will + // build out a hierarchical list of owning instances for each entity that we can trace upwards to know where to add + // the entity into our nested prefab instance. + // This step needs to occur *before* converting the instances themselves, because while converting instances, they + // might have entity ID references that point to other instances. By having the full instance entity ID map in place + // before conversion, we'll be able to fix them up appropriately. + + for (auto& instance : instances) + { + AZStd::string instanceAlias = GetInstanceAlias(instance); + UpdateSliceEntityInstanceMappings(instance.GetEntityIdToBaseMap(), instanceAlias); + } + + // Now that we have all the entity ID mappings, convert all the instances. for (auto& instance : instances) { bool instanceConvertResult = ConvertSliceInstance(instance, sliceAsset, nestedTemplate, sourceInstance); @@ -415,6 +441,28 @@ namespace AZ return true; } + AZStd::string SliceConverter::GetInstanceAlias(const AZ::SliceComponent::SliceInstance& instance) + { + // When creating the new instance, we would like to have deterministic instance aliases. Prefabs that depend on this one + // will have patches that reference the alias, so if we reconvert this slice a second time, we would like it to produce + // the same results. To get a deterministic and unique alias, we rely on the slice instance. The slice instance contains + // a map of slice entity IDs to unique instance entity IDs. We'll just consistently use the first entry in the map as the + // unique instance ID. + AZStd::string instanceAlias; + auto entityIdMap = instance.GetEntityIdMap(); + if (!entityIdMap.empty()) + { + instanceAlias = AZStd::string::format("Instance_%s", entityIdMap.begin()->second.ToString().c_str()); + } + else + { + AZ_Error("Convert-Slice", false, " Couldn't create deterministic instance alias."); + instanceAlias = AZStd::string::format("Instance_%s", AZ::Entity::MakeId().ToString().c_str()); + } + return instanceAlias; + } + + bool SliceConverter::ConvertSliceInstance( AZ::SliceComponent::SliceInstance& instance, AZ::Data::Asset& sliceAsset, @@ -438,27 +486,7 @@ namespace AZ auto instanceToTemplateInterface = AZ::Interface::Get(); auto prefabSystemComponentInterface = AZ::Interface::Get(); - // When creating the new instance, we would like to have deterministic instance aliases. Prefabs that depend on this one - // will have patches that reference the alias, so if we reconvert this slice a second time, we would like it to produce - // the same results. To get a deterministic and unique alias, we rely on the slice instance. The slice instance contains - // a map of slice entity IDs to unique instance entity IDs. We'll just consistently use the first entry in the map as the - // unique instance ID. - AZStd::string instanceAlias; - auto entityIdMap = instance.GetEntityIdMap(); - if (!entityIdMap.empty()) - { - instanceAlias = AZStd::string::format("Instance_%s", entityIdMap.begin()->second.ToString().c_str()); - } - else - { - instanceAlias = AZStd::string::format("Instance_%s", AZ::Entity::MakeId().ToString().c_str()); - } - - // Before processing any further, save off all the known entity IDs from this instance and how they map back to the base - // nested prefab that they've come from (i.e. this one). As we proceed up the chain of nesting, this will build out a - // hierarchical list of owning instances for each entity that we can trace upwards to know where to add the entity into - // our nested prefab instance. - UpdateSliceEntityInstanceMappings(instance.GetEntityIdToBaseMap(), instanceAlias); + AZStd::string instanceAlias = GetInstanceAlias(instance); // Create a new unmodified prefab Instance for the nested slice instance. auto nestedInstance = AZStd::make_unique(); @@ -619,6 +647,10 @@ namespace AZ SetParentEntity(containerEntity->get(), topLevelInstance->GetContainerEntityId(), onlySetIfInvalid); } + // After doing all of the above, run through entity references in any of the patched entities, and fix up the entity IDs to + // match the new ones in our prefabs. + RemapIdReferences(m_aliasIdMapper, topLevelInstance, nestedInstance.get(), instantiated, dependentSlice->GetSerializeContext()); + // Add the nested instance itself to the top-level prefab. To do this, we need to add it to our top-level instance, // create a patch out of it, and patch the top-level prefab template. @@ -750,17 +782,6 @@ namespace AZ AZ_Error("Convert-Slice", disconnected, "Asset Processor failed to disconnect successfully."); } - void SliceConverter::ClearSliceAssetReferences(AZ::Entity* rootEntity) - { - SliceComponent* sliceComponent = AZ::EntityUtils::FindFirstDerivedComponent(rootEntity); - // Make a copy of the slice list and remove all of them from the loaded component. - AZ::SliceComponent::SliceList slices = sliceComponent->GetSlices(); - for (auto& slice : slices) - { - sliceComponent->RemoveSlice(&slice); - } - } - void SliceConverter::UpdateSliceEntityInstanceMappings( const AZ::SliceComponent::EntityIdToEntityIdMap& sliceEntityIdMap, const AZStd::string& currentInstanceAlias) { @@ -789,9 +810,108 @@ namespace AZ AZ_Assert(oldId == newId, "The same entity instance ID has unexpectedly appeared twice in the same nested prefab."); } } + else + { + AZ_Warning("Convert-Slice", false, " Couldn't find an entity ID conversion for %s.", oldId.ToString().c_str()); + } } } + void SliceConverter::RemapIdReferences( + const AZStd::unordered_map& idMapper, + AzToolsFramework::Prefab::Instance* topLevelInstance, + AzToolsFramework::Prefab::Instance* nestedInstance, + SliceComponent::InstantiatedContainer* instantiatedEntities, + SerializeContext* context) + { + // Given a set of instantiated entities, run through all of them, look for entity references, and replace the entity IDs with + // new ones that match up with our prefabs. + + IdUtils::Remapper::ReplaceIdsAndIdRefs( + instantiatedEntities, + [idMapper, &topLevelInstance, &nestedInstance]( + const EntityId& sourceId, bool isEntityId, [[maybe_unused]] const AZStd::function& idGenerator) -> EntityId + { + EntityId newId = sourceId; + + // Only convert valid entity references. Actual entity IDs have already been taken care of elsewhere, so ignore them. + if (!isEntityId && sourceId.IsValid()) + { + auto entityEntry = idMapper.find(sourceId); + + // Since we've already remapped transform hierarchies to include container entities, it's possible that our entity + // reference is pointing to a container, which means it won't be in our slice mapping table. In that case, just + // return it as-is. + if (entityEntry == idMapper.end()) + { + return sourceId; + } + + // We've got a slice->prefab mapping entry, so now we need to use it. + auto& mappingStruct = entityEntry->second; + + if (mappingStruct.m_nestedInstanceAliases.empty()) + { + // If we don't have a chain of nested instance aliases, then this entity reference is either within the + // current nested instance or it's pointing to an entity in the top-level instance. We'll try them both + // to look for a match. + + EntityId prefabId = nestedInstance->GetEntityId(mappingStruct.m_entityAlias); + if (!prefabId.IsValid()) + { + prefabId = topLevelInstance->GetEntityId(mappingStruct.m_entityAlias); + } + + if (prefabId.IsValid()) + { + newId = prefabId; + } + else + { + AZ_Error("Convert-Slice", false, " Couldn't find source ID %s", sourceId.ToString().c_str()); + } + } + else + { + // We *do* have a chain of nested instance aliases. This chain could either be relative to the nested instance + // or the top-level instance. We can tell which one it is by which one can find the first nested instance + // alias. + + AzToolsFramework::Prefab::Instance* entityInstance = nestedInstance; + auto it = mappingStruct.m_nestedInstanceAliases.rbegin(); + if (!entityInstance->FindNestedInstance(*it).has_value()) + { + entityInstance = topLevelInstance; + } + + // Now that we've got a starting point, iterate through the chain of nested instance aliases to find the + // correct instance to get the entity ID for. We have to go from slice IDs -> entity aliases -> entity IDs + // because prefab instance creation can change some of our entity IDs along the way. + for (; it != mappingStruct.m_nestedInstanceAliases.rend(); it++) + { + auto foundInstance = entityInstance->FindNestedInstance(*it); + if (foundInstance.has_value()) + { + entityInstance = &(foundInstance->get()); + } + else + { + AZ_Assert(false, "Couldn't find nested instance %s", it->c_str()); + } + } + + EntityId prefabId = entityInstance->GetEntityId(mappingStruct.m_entityAlias); + if (prefabId.IsValid()) + { + newId = prefabId; + } + } + } + + return newId; + }, + context); + } } // namespace SerializeContextTools } // namespace AZ diff --git a/Code/Tools/SerializeContextTools/SliceConverter.h b/Code/Tools/SerializeContextTools/SliceConverter.h index ee0bb0a539..31c8306477 100644 --- a/Code/Tools/SerializeContextTools/SliceConverter.h +++ b/Code/Tools/SerializeContextTools/SliceConverter.h @@ -42,6 +42,28 @@ namespace AZ bool ConvertSliceFiles(Application& application); private: + // When converting slice entities, especially for nested slices, we need to keep track of the original + // entity ID, the entity alias it uses in the prefab, and which template and nested instance path it maps to. + // As we encounter each instanced entity ID, we can look it up in this structure and use this to determine how to properly + // add it to the correct place in the hierarchy. + struct SliceEntityMappingInfo + { + SliceEntityMappingInfo( + AzToolsFramework::Prefab::TemplateId templateId, + AzToolsFramework::Prefab::EntityAlias entityAlias, + bool isMetadataEntity = false) + : m_templateId(templateId) + , m_entityAlias(entityAlias) + , m_isMetadataEntity(isMetadataEntity) + { + } + + AzToolsFramework::Prefab::TemplateId m_templateId; + AzToolsFramework::Prefab::EntityAlias m_entityAlias; + AZStd::vector m_nestedInstanceAliases; + bool m_isMetadataEntity{ false }; + }; + bool ConnectToAssetProcessor(); void DisconnectFromAssetProcessor(); @@ -58,27 +80,17 @@ namespace AZ void SetParentEntity(const AZ::Entity& entity, const AZ::EntityId& parentId, bool onlySetIfInvalid); void PrintPrefab(AzToolsFramework::Prefab::TemplateId templateId); bool SavePrefab(AZ::IO::PathView outputPath, AzToolsFramework::Prefab::TemplateId templateId); - void ClearSliceAssetReferences(AZ::Entity* rootEntity); void UpdateSliceEntityInstanceMappings( const AZ::SliceComponent::EntityIdToEntityIdMap& sliceEntityIdMap, const AZStd::string& currentInstanceAlias); + AZStd::string GetInstanceAlias(const AZ::SliceComponent::SliceInstance& instance); - // When converting slice entities, especially for nested slices, we need to keep track of the original - // entity ID, the entity alias it uses in the prefab, and which template and nested instance path it maps to. - // As we encounter each instanced entity ID, we can look it up in this structure and use this to determine how to properly - // add it to the correct place in the hierarchy. - struct SliceEntityMappingInfo - { - SliceEntityMappingInfo(AzToolsFramework::Prefab::TemplateId templateId, AzToolsFramework::Prefab::EntityAlias entityAlias) - : m_templateId(templateId) - , m_entityAlias(entityAlias) - { - } - - AzToolsFramework::Prefab::TemplateId m_templateId; - AzToolsFramework::Prefab::EntityAlias m_entityAlias; - AZStd::vector m_nestedInstanceAliases; - }; + void RemapIdReferences( + const AZStd::unordered_map& idMapper, + AzToolsFramework::Prefab::Instance* topLevelInstance, + AzToolsFramework::Prefab::Instance* nestedInstance, + SliceComponent::InstantiatedContainer* instantiatedEntities, + SerializeContext* context); // Track all of the entity IDs created and associate them with enough conversion information to know how to place the // entities in the correct place in the prefab hierarchy and fix up parent entity ID mappings to work with the nested From 588127772c0fd9fbb30310ee402b8dab042fbf23 Mon Sep 17 00:00:00 2001 From: mnaumov Date: Mon, 14 Jun 2021 12:40:19 -0700 Subject: [PATCH 185/205] Fixing missing preview in texture settings --- .../Code/Source/Processing/ImageConvertJob.cpp | 11 ++--------- .../Code/Source/Processing/ImageConvertJob.h | 1 - 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Processing/ImageConvertJob.cpp b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Processing/ImageConvertJob.cpp index c6f0d3946a..fab8d47885 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Processing/ImageConvertJob.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Processing/ImageConvertJob.cpp @@ -109,14 +109,7 @@ namespace ImageProcessingAtom while (!m_process->IsFinished() && !IsJobCancelled()) { m_process->UpdateProcess(); - if (m_isPreview) - { - m_output->SetProgress(m_process->GetProgress() / static_cast(m_previewProcessStep)); - } - else - { - m_output->SetProgress(m_process->GetProgress()); - } + m_output->SetProgress(m_process->GetProgress() / static_cast(m_previewProcessStep)); } IImageObjectPtr outputImage = m_process->GetOutputImage(); @@ -125,7 +118,7 @@ namespace ImageProcessingAtom m_output->SetOutputImage(outputImage, ImageConvertOutput::Base); m_output->SetOutputImage(outputImageAlpha, ImageConvertOutput::Alpha); - if (m_isPreview && !IsJobCancelled()) + if (!IsJobCancelled()) { // For preview, combine image output with alpha if any m_output->SetProgress(1.0f / static_cast(m_previewProcessStep)); diff --git a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Processing/ImageConvertJob.h b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Processing/ImageConvertJob.h index a0cf3ad488..17e6191314 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Processing/ImageConvertJob.h +++ b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Processing/ImageConvertJob.h @@ -72,7 +72,6 @@ namespace ImageProcessingAtom static const int m_previewProcessStep = 2; AZStd::unique_ptr m_process; - bool m_isPreview; AZStd::atomic_bool m_isCancelled; ImageConvertOutput* m_output; }; From 406792606b1c335e138d4caf3770b6b19be737b7 Mon Sep 17 00:00:00 2001 From: Santora Date: Mon, 14 Jun 2021 13:04:15 -0700 Subject: [PATCH 186/205] I missed one spot that needs to print the address. --- Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp index eac1ee42e5..d9691ca175 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Material/Material.cpp @@ -261,7 +261,7 @@ namespace AZ { // TODO: I think we should make Shader handle OnShaderAssetReinitialized and treat it just like the shader reloaded. - ShaderReloadDebugTracker::ScopedSection reloadSection("Material::OnShaderAssetReinitialized %s", shaderAsset.GetHint().c_str()); + ShaderReloadDebugTracker::ScopedSection reloadSection("{%p}->Material::OnShaderAssetReinitialized %s", this, shaderAsset.GetHint().c_str()); // Note that it might not be strictly necessary to reinitialize the entire material, we might be able to get away with // just bumping the m_currentChangeId or some other minor updates. But it's pretty hard to know what exactly needs to be // updated to correctly handle the reload, so it's safer to just reinitialize the whole material. From 8485a93612b45a01770874543b2cd6c1c8b639de Mon Sep 17 00:00:00 2001 From: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com> Date: Mon, 14 Jun 2021 16:30:54 -0400 Subject: [PATCH 187/205] Correcting the issue with processing of prefabs in Multiplayer enabled projects --- Gems/Multiplayer/Code/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gems/Multiplayer/Code/CMakeLists.txt b/Gems/Multiplayer/Code/CMakeLists.txt index 430fe5ca4b..992d39c418 100644 --- a/Gems/Multiplayer/Code/CMakeLists.txt +++ b/Gems/Multiplayer/Code/CMakeLists.txt @@ -123,6 +123,8 @@ if (PAL_TRAIT_BUILD_HOST_TOOLS) BUILD_DEPENDENCIES PRIVATE Gem::Multiplayer.Builders.Static + RUNTIME_DEPENDENCIES + Gem::Multiplayer.Editor ) ly_add_target( From 6c05adddec4a1c056fd7e52a28aeccd7f289cec1 Mon Sep 17 00:00:00 2001 From: gallowj Date: Mon, 14 Jun 2021 15:41:50 -0500 Subject: [PATCH 188/205] This material did not look correct, sneaking it in --- .../Objects/PlayfulTeapot_playfulteapot.material | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Gems/AtomContent/LookDevelopmentStudioPixar/Assets/Objects/PlayfulTeapot_playfulteapot.material b/Gems/AtomContent/LookDevelopmentStudioPixar/Assets/Objects/PlayfulTeapot_playfulteapot.material index 27540c587e..da35fda141 100644 --- a/Gems/AtomContent/LookDevelopmentStudioPixar/Assets/Objects/PlayfulTeapot_playfulteapot.material +++ b/Gems/AtomContent/LookDevelopmentStudioPixar/Assets/Objects/PlayfulTeapot_playfulteapot.material @@ -14,13 +14,14 @@ }, "clearCoat": { "enable": true, - "normalMap": "EngineAssets/Textures/perlinNoiseNormal_ddn.tif" + "normalMap": "EngineAssets/Textures/perlinNoiseNormal_ddn.tif", + "normalStrength": 0.10000000149011612 }, "general": { "applySpecularAA": true }, "metallic": { - "factor": 0.5 + "factor": 0.10000000149011612 }, "normal": { "factor": 0.05000000074505806, @@ -31,6 +32,9 @@ }, "roughness": { "factor": 0.0 + }, + "specularF0": { + "enableMultiScatterCompensation": true } } -} +} \ No newline at end of file From 11c3a7532198708ff3fb5821aabd289ec8ea4676 Mon Sep 17 00:00:00 2001 From: amzn-hdoke <61443753+hdoke@users.noreply.github.com> Date: Mon, 14 Jun 2021 13:54:04 -0700 Subject: [PATCH 189/205] Enable Client Auth unit test on Linux (#1312) --- scripts/build/Platform/Linux/build_config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/Platform/Linux/build_config.json b/scripts/build/Platform/Linux/build_config.json index ee6da77b29..903ac52568 100644 --- a/scripts/build/Platform/Linux/build_config.json +++ b/scripts/build/Platform/Linux/build_config.json @@ -83,7 +83,7 @@ "CMAKE_OPTIONS": "-G 'Ninja Multi-Config' -DCMAKE_C_COMPILER=clang-6.0 -DCMAKE_CXX_COMPILER=clang++-6.0 -DLY_UNITY_BUILD=TRUE -DLY_PARALLEL_LINK_JOBS=4", "CMAKE_LY_PROJECTS": "AutomatedTesting", "CMAKE_TARGET": "all", - "CTEST_OPTIONS": "-E (Gem::EMotionFX.Editor.Tests|Gem::AWSClientAuth.Tests|Gem::AWSCore.Editor.Tests) -LE SUITE_sandbox -L FRAMEWORK_googletest" + "CTEST_OPTIONS": "-E (Gem::EMotionFX.Editor.Tests|Gem::AWSCore.Editor.Tests) -LE SUITE_sandbox -L FRAMEWORK_googletest" } }, "test_profile_nounity": { @@ -95,7 +95,7 @@ "CMAKE_OPTIONS": "-G 'Ninja Multi-Config' -DCMAKE_C_COMPILER=clang-6.0 -DCMAKE_CXX_COMPILER=clang++-6.0 -DLY_UNITY_BUILD=FALSE -DLY_PARALLEL_LINK_JOBS=4", "CMAKE_LY_PROJECTS": "AutomatedTesting", "CMAKE_TARGET": "all", - "CTEST_OPTIONS": "-E (Gem::EMotionFX.Editor.Tests|Gem::AWSClientAuth.Tests|Gem::AWSCore.Editor.Tests) -LE SUITE_sandbox -L FRAMEWORK_googletest" + "CTEST_OPTIONS": "-E (Gem::EMotionFX.Editor.Tests|Gem::AWSCore.Editor.Tests) -LE SUITE_sandbox -L FRAMEWORK_googletest" } }, "asset_profile": { From 86d0acf76c18b373f81a48f6725605f2489be3c0 Mon Sep 17 00:00:00 2001 From: sharmajs-amzn <82233357+sharmajs-amzn@users.noreply.github.com> Date: Mon, 14 Jun 2021 13:55:37 -0700 Subject: [PATCH 190/205] fixes for invalid drive letter casing for scanfolder (#1281) --- .../assetprocessor_static_files.cmake | 1 + .../AssetManager/assetScanFolderInfo.cpp | 42 +++++++++++++++++++ .../native/AssetManager/assetScanFolderInfo.h | 14 +------ 3 files changed, 44 insertions(+), 13 deletions(-) create mode 100644 Code/Tools/AssetProcessor/native/AssetManager/assetScanFolderInfo.cpp diff --git a/Code/Tools/AssetProcessor/assetprocessor_static_files.cmake b/Code/Tools/AssetProcessor/assetprocessor_static_files.cmake index 194e99b247..1e78d1dc6c 100644 --- a/Code/Tools/AssetProcessor/assetprocessor_static_files.cmake +++ b/Code/Tools/AssetProcessor/assetprocessor_static_files.cmake @@ -19,6 +19,7 @@ set(FILES native/AssetManager/AssetRequestHandler.cpp native/AssetManager/AssetRequestHandler.h native/AssetManager/assetScanFolderInfo.h + native/AssetManager/assetScanFolderInfo.cpp native/AssetManager/assetScanner.cpp native/AssetManager/assetScanner.h native/AssetManager/assetScannerWorker.cpp diff --git a/Code/Tools/AssetProcessor/native/AssetManager/assetScanFolderInfo.cpp b/Code/Tools/AssetProcessor/native/AssetManager/assetScanFolderInfo.cpp new file mode 100644 index 0000000000..f849b4ee49 --- /dev/null +++ b/Code/Tools/AssetProcessor/native/AssetManager/assetScanFolderInfo.cpp @@ -0,0 +1,42 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#include +#include + +namespace AssetProcessor +{ + ScanFolderInfo::ScanFolderInfo( + QString path, + QString displayName, + QString portableKey, + bool isRoot, + bool recurseSubFolders, + AZStd::vector platforms, + int order, + AZ::s64 scanFolderID, + bool canSaveNewAssets) + : m_scanPath(path) + , m_displayName(displayName) + , m_portableKey (portableKey) + , m_isRoot(isRoot) + , m_recurseSubFolders(recurseSubFolders) + , m_order(order) + , m_scanFolderID(scanFolderID) + , m_platforms(platforms) + , m_canSaveNewAssets(canSaveNewAssets) + { + m_scanPath = AssetUtilities::NormalizeFilePath(m_scanPath); + // note that m_scanFolderID is 0 unless its filled in from the DB. + } + +} // end namespace AssetProcessor diff --git a/Code/Tools/AssetProcessor/native/AssetManager/assetScanFolderInfo.h b/Code/Tools/AssetProcessor/native/AssetManager/assetScanFolderInfo.h index 5767822451..5fbda237d7 100644 --- a/Code/Tools/AssetProcessor/native/AssetManager/assetScanFolderInfo.h +++ b/Code/Tools/AssetProcessor/native/AssetManager/assetScanFolderInfo.h @@ -33,19 +33,7 @@ namespace AssetProcessor AZStd::vector platforms = AZStd::vector{}, int order = 0, AZ::s64 scanFolderID = 0, - bool canSaveNewAssets = false) - : m_scanPath(path) - , m_displayName(displayName) - , m_portableKey (portableKey) - , m_isRoot(isRoot) - , m_recurseSubFolders(recurseSubFolders) - , m_order(order) - , m_scanFolderID(scanFolderID) - , m_platforms(platforms) - , m_canSaveNewAssets(canSaveNewAssets) - { - // note that m_scanFolderID is 0 unless its filled in from the DB. - } + bool canSaveNewAssets = false); ScanFolderInfo() = default; ScanFolderInfo(const ScanFolderInfo& other) = default; From 12c7391bd7e538d4d8af43ce8368444435f6654a Mon Sep 17 00:00:00 2001 From: yuriy0 Date: Mon, 14 Jun 2021 18:29:19 -0400 Subject: [PATCH 191/205] Bug fix: correct RTTI for AttributeInvocable (#1004) * Bug fix: correct RTTI for AttributeInvocable * Allow test case to crash if RTTI is wrong * Revert "Allow test case to crash if RTTI is wrong" Based on PR feedback, this change adds no value to the test and is confusing. This reverts commit 6c36065c3759d857cc16ab011d09167261181141. * Remove perhaps confusing comments and add a more to the point comment Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> --- .../AzCore/AzCore/RTTI/ReflectContext.h | 2 +- Code/Framework/AzCore/Tests/Serialization.cpp | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Code/Framework/AzCore/AzCore/RTTI/ReflectContext.h b/Code/Framework/AzCore/AzCore/RTTI/ReflectContext.h index e03823888a..5b27cb9f88 100644 --- a/Code/Framework/AzCore/AzCore/RTTI/ReflectContext.h +++ b/Code/Framework/AzCore/AzCore/RTTI/ReflectContext.h @@ -274,7 +274,7 @@ namespace AZ { using Callable = AZStd::conditional_t::value, AZStd::function::function_type>, Invocable>; public: - AZ_RTTI((AttributeInvocable, "{60D5804F-9AF4-4EB1-8F5A-62AFB4883F9D}"), AZ::Attribute); + AZ_RTTI((AttributeInvocable, "{60D5804F-9AF4-4EB1-8F5A-62AFB4883F9D}", Invocable), AZ::Attribute); AZ_CLASS_ALLOCATOR(AttributeInvocable, SystemAllocator, 0); template explicit AttributeInvocable(CallableType&& invocable) diff --git a/Code/Framework/AzCore/Tests/Serialization.cpp b/Code/Framework/AzCore/Tests/Serialization.cpp index 036942f9dd..4dba972324 100644 --- a/Code/Framework/AzCore/Tests/Serialization.cpp +++ b/Code/Framework/AzCore/Tests/Serialization.cpp @@ -2010,6 +2010,28 @@ TEST_F(SerializeBasicTest, BasicTypeTest_Succeed) } + + /* + This test will dynamic cast (azrtti_cast) between incompatible types, which should always result in nullptr. + If this test fails, the RTTI declaration for the relevant type is incorrect. + */ + TEST_F(Serialization, AttributeRTTI) + { + { + AttributeInvocable> fn([](AZStd::string x) { return x + x; }); + Attribute* fnDownCast = &fn; + auto fnUpCast = azrtti_cast>*>(fnDownCast); + EXPECT_EQ(fnUpCast, nullptr); + } + + { + AttributeFunction fn([](AZStd::string x) { return x + x; }); + Attribute* fnDownCast = &fn; + auto fnUpCast = azrtti_cast*>(fnDownCast); + EXPECT_EQ(fnUpCast, nullptr); + } + } + /* * Deprecation */ From 948075fa61a9a08f1ef36b059602eeaabce69a94 Mon Sep 17 00:00:00 2001 From: AMZN-nggieber <52797929+AMZN-nggieber@users.noreply.github.com> Date: Mon, 14 Jun 2021 15:56:54 -0700 Subject: [PATCH 192/205] Gem Catalog Allows Filtering by Gem Selected Status Live (#1274) --- .../Source/GemCatalog/GemCatalogScreen.cpp | 2 + .../Source/GemCatalog/GemFilterWidget.cpp | 111 ++++++++++++++++-- .../Source/GemCatalog/GemFilterWidget.h | 9 +- .../Source/GemCatalog/GemItemDelegate.cpp | 20 ---- .../Source/GemCatalog/GemListHeaderWidget.cpp | 10 ++ .../Source/GemCatalog/GemModel.cpp | 15 +++ .../Source/GemCatalog/GemModel.h | 2 + .../GemCatalog/GemSortFilterProxyModel.cpp | 23 ++++ .../GemCatalog/GemSortFilterProxyModel.h | 13 ++ .../Source/UpdateProjectCtrl.cpp | 6 +- 10 files changed, 179 insertions(+), 32 deletions(-) diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemCatalogScreen.cpp b/Code/Tools/ProjectManager/Source/GemCatalog/GemCatalogScreen.cpp index 4424767c0b..2c92af4e51 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemCatalogScreen.cpp +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemCatalogScreen.cpp @@ -82,6 +82,8 @@ namespace O3DE::ProjectManager m_headerWidget->ReinitForProject(); + connect(m_gemModel, &GemModel::dataChanged, m_filterWidget, &GemFilterWidget::ResetGemStatusFilter); + // Select the first entry after everything got correctly sized QTimer::singleShot(200, [=]{ QModelIndex firstModelIndex = m_gemListView->model()->index(0,0); diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.cpp b/Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.cpp index a6a4e95ff9..7c6150ff99 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.cpp +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.cpp @@ -26,6 +26,7 @@ namespace O3DE::ProjectManager const QVector& elementNames, const QVector& elementCounts, bool showAllLessButton, + bool collapsed, int defaultShowCount, QWidget* parent) : QWidget(parent) @@ -40,6 +41,7 @@ namespace O3DE::ProjectManager QHBoxLayout* collapseLayout = new QHBoxLayout(); m_collapseButton = new QPushButton(); m_collapseButton->setCheckable(true); + m_collapseButton->setChecked(collapsed); m_collapseButton->setFlat(true); m_collapseButton->setFocusPolicy(Qt::NoFocus); m_collapseButton->setFixedWidth(s_collapseButtonSize); @@ -178,6 +180,11 @@ namespace O3DE::ProjectManager return m_buttonGroup; } + bool FilterCategoryWidget::IsCollapsed() + { + return m_collapseButton->isChecked(); + } + GemFilterWidget::GemFilterWidget(GemSortFilterProxyModel* filterProxyModel, QWidget* parent) : QScrollArea(parent) , m_filterProxyModel(filterProxyModel) @@ -193,20 +200,106 @@ namespace O3DE::ProjectManager QWidget* mainWidget = new QWidget(); setWidget(mainWidget); - m_mainLayout = new QVBoxLayout(); - m_mainLayout->setAlignment(Qt::AlignTop); - mainWidget->setLayout(m_mainLayout); + QVBoxLayout* mainLayout = new QVBoxLayout(); + mainLayout->setAlignment(Qt::AlignTop); + mainWidget->setLayout(mainLayout); QLabel* filterByLabel = new QLabel("Filter by"); filterByLabel->setStyleSheet("font-size: 16px;"); - m_mainLayout->addWidget(filterByLabel); + mainLayout->addWidget(filterByLabel); + QWidget* filterSection = new QWidget(this); + mainLayout->addWidget(filterSection); + + m_filterLayout = new QVBoxLayout(); + m_filterLayout->setAlignment(Qt::AlignTop); + m_filterLayout->setContentsMargins(0, 0, 0, 0); + filterSection->setLayout(m_filterLayout); + + ResetGemStatusFilter(); AddGemOriginFilter(); AddTypeFilter(); AddPlatformFilter(); AddFeatureFilter(); } + void GemFilterWidget::ResetGemStatusFilter() + { + QVector elementNames; + QVector elementCounts; + const int totalGems = m_gemModel->rowCount(); + const int selectedGemTotal = m_gemModel->TotalAddedGems(); + + elementNames.push_back(GemSortFilterProxyModel::GetGemStatusString(GemSortFilterProxyModel::GemStatus::Unselected)); + elementCounts.push_back(totalGems - selectedGemTotal); + + elementNames.push_back(GemSortFilterProxyModel::GetGemStatusString(GemSortFilterProxyModel::GemStatus::Selected)); + elementCounts.push_back(selectedGemTotal); + + bool wasCollapsed = false; + if (m_statusFilter) + { + wasCollapsed = m_statusFilter->IsCollapsed(); + } + + FilterCategoryWidget* filterWidget = + new FilterCategoryWidget("Status", elementNames, elementCounts, /*showAllLessButton=*/false, /*collapsed*/wasCollapsed); + if (m_statusFilter) + { + m_filterLayout->replaceWidget(m_statusFilter, filterWidget); + } + else + { + m_filterLayout->addWidget(filterWidget); + } + + m_statusFilter->deleteLater(); + m_statusFilter = filterWidget; + + const GemSortFilterProxyModel::GemStatus currentFilterState = m_filterProxyModel->GetGemStatus(); + const QList buttons = m_statusFilter->GetButtonGroup()->buttons(); + for (int statusFilterIndex = 0; statusFilterIndex < buttons.size(); ++statusFilterIndex) + { + const GemSortFilterProxyModel::GemStatus gemStatus = static_cast(statusFilterIndex); + QAbstractButton* button = buttons[statusFilterIndex]; + + if (static_cast(statusFilterIndex) == currentFilterState) + { + button->setChecked(true); + } + + connect( + button, &QAbstractButton::toggled, this, + [=](bool checked) + { + GemSortFilterProxyModel::GemStatus filterStatus = m_filterProxyModel->GetGemStatus(); + if (checked) + { + if (filterStatus == GemSortFilterProxyModel::GemStatus::NoFilter) + { + filterStatus = gemStatus; + } + else + { + filterStatus = GemSortFilterProxyModel::GemStatus::NoFilter; + } + } + else + { + if (filterStatus != gemStatus) + { + filterStatus = static_cast(!gemStatus); + } + else + { + filterStatus = GemSortFilterProxyModel::GemStatus::NoFilter; + } + } + m_filterProxyModel->SetGemStatus(filterStatus); + }); + } + } + void GemFilterWidget::AddGemOriginFilter() { QVector elementNames; @@ -233,7 +326,7 @@ namespace O3DE::ProjectManager } FilterCategoryWidget* filterWidget = new FilterCategoryWidget("Provider", elementNames, elementCounts, /*showAllLessButton=*/false); - m_mainLayout->addWidget(filterWidget); + m_filterLayout->addWidget(filterWidget); const QList buttons = filterWidget->GetButtonGroup()->buttons(); for (int i = 0; i < buttons.size(); ++i) @@ -283,7 +376,7 @@ namespace O3DE::ProjectManager } FilterCategoryWidget* filterWidget = new FilterCategoryWidget("Type", elementNames, elementCounts, /*showAllLessButton=*/false); - m_mainLayout->addWidget(filterWidget); + m_filterLayout->addWidget(filterWidget); const QList buttons = filterWidget->GetButtonGroup()->buttons(); for (int i = 0; i < buttons.size(); ++i) @@ -333,7 +426,7 @@ namespace O3DE::ProjectManager } FilterCategoryWidget* filterWidget = new FilterCategoryWidget("Supported Platforms", elementNames, elementCounts, /*showAllLessButton=*/false); - m_mainLayout->addWidget(filterWidget); + m_filterLayout->addWidget(filterWidget); const QList buttons = filterWidget->GetButtonGroup()->buttons(); for (int i = 0; i < buttons.size(); ++i) @@ -388,8 +481,8 @@ namespace O3DE::ProjectManager } FilterCategoryWidget* filterWidget = new FilterCategoryWidget("Features", elementNames, elementCounts, - /*showAllLessButton=*/true, /*defaultShowCount=*/5); - m_mainLayout->addWidget(filterWidget); + /*showAllLessButton=*/true, false, /*defaultShowCount=*/5); + m_filterLayout->addWidget(filterWidget); const QList buttons = filterWidget->GetButtonGroup()->buttons(); for (int i = 0; i < buttons.size(); ++i) diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.h b/Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.h index 017eadc020..520370eb44 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.h +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemFilterWidget.h @@ -37,11 +37,14 @@ namespace O3DE::ProjectManager const QVector& elementNames, const QVector& elementCounts, bool showAllLessButton = true, + bool collapsed = false, int defaultShowCount = 4, QWidget* parent = nullptr); QButtonGroup* GetButtonGroup(); + bool IsCollapsed(); + private: void UpdateCollapseState(); void UpdateSeeMoreLess(); @@ -66,14 +69,18 @@ namespace O3DE::ProjectManager explicit GemFilterWidget(GemSortFilterProxyModel* filterProxyModel, QWidget* parent = nullptr); ~GemFilterWidget() = default; + public slots: + void ResetGemStatusFilter(); + private: void AddGemOriginFilter(); void AddTypeFilter(); void AddPlatformFilter(); void AddFeatureFilter(); - QVBoxLayout* m_mainLayout = nullptr; + QVBoxLayout* m_filterLayout = nullptr; GemModel* m_gemModel = nullptr; GemSortFilterProxyModel* m_filterProxyModel = nullptr; + FilterCategoryWidget* m_statusFilter = nullptr; }; } // namespace O3DE::ProjectManager diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemItemDelegate.cpp b/Code/Tools/ProjectManager/Source/GemCatalog/GemItemDelegate.cpp index 8aa68fb7a2..03787de7e8 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemItemDelegate.cpp +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemItemDelegate.cpp @@ -204,7 +204,6 @@ namespace O3DE::ProjectManager painter->save(); const QRect buttonRect = CalcButtonRect(contentRect); QPoint circleCenter; - QString buttonText; const bool isAdded = GemModel::IsAdded(modelIndex); if (isAdded) @@ -213,34 +212,15 @@ namespace O3DE::ProjectManager painter->setPen(m_buttonEnabledColor); circleCenter = buttonRect.center() + QPoint(buttonRect.width() / 2 - s_buttonBorderRadius + 1, 1); - buttonText = "Added"; } else { circleCenter = buttonRect.center() + QPoint(-buttonRect.width() / 2 + s_buttonBorderRadius, 1); - buttonText = "Get"; } // Rounded rect painter->drawRoundedRect(buttonRect, s_buttonBorderRadius, s_buttonBorderRadius); - // Text - QFont font; - QRect textRect = GetTextRect(font, buttonText, s_buttonFontSize); - if (isAdded) - { - textRect = QRect(buttonRect.left(), buttonRect.top(), buttonRect.width() - s_buttonCircleRadius * 2.0, buttonRect.height()); - } - else - { - textRect = QRect(buttonRect.left() + s_buttonCircleRadius * 2.0, buttonRect.top(), buttonRect.width() - s_buttonCircleRadius * 2.0, buttonRect.height()); - } - - font.setPixelSize(s_buttonFontSize); - painter->setFont(font); - painter->setPen(m_textColor); - painter->drawText(textRect, Qt::AlignCenter, buttonText); - // Circle painter->setBrush(m_textColor); painter->drawEllipse(circleCenter, s_buttonCircleRadius, s_buttonCircleRadius); diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp b/Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp index bc287e3c61..ad1b57a27c 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp @@ -15,6 +15,7 @@ #include #include #include +#include namespace O3DE::ProjectManager { @@ -74,6 +75,15 @@ namespace O3DE::ProjectManager gemSummaryLabel->setStyleSheet("font-size: 12px;"); columnHeaderLayout->addWidget(gemSummaryLabel); + QSpacerItem* horizontalSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); + columnHeaderLayout->addSpacerItem(horizontalSpacer); + + QLabel* gemSelectedLabel = new QLabel(tr("Selected")); + gemSelectedLabel->setStyleSheet("font-size: 12px;"); + columnHeaderLayout->addWidget(gemSelectedLabel); + + columnHeaderLayout->addSpacing(60); + vLayout->addLayout(columnHeaderLayout); } } // namespace O3DE::ProjectManager diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemModel.cpp b/Code/Tools/ProjectManager/Source/GemCatalog/GemModel.cpp index 6c09c95572..5dc40723c9 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemModel.cpp +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemModel.cpp @@ -235,4 +235,19 @@ namespace O3DE::ProjectManager } return result; } + + int GemModel::TotalAddedGems() const + { + int result = 0; + for (int row = 0; row < rowCount(); ++row) + { + const QModelIndex modelIndex = index(row, 0); + if (IsAdded(modelIndex)) + { + ++result; + } + } + return result; + } + } // namespace O3DE::ProjectManager diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemModel.h b/Code/Tools/ProjectManager/Source/GemCatalog/GemModel.h index 77f973a91c..2e05472cdf 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemModel.h +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemModel.h @@ -63,6 +63,8 @@ namespace O3DE::ProjectManager QVector GatherGemsToBeAdded() const; QVector GatherGemsToBeRemoved() const; + int TotalAddedGems() const; + private: enum UserRole { diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemSortFilterProxyModel.cpp b/Code/Tools/ProjectManager/Source/GemCatalog/GemSortFilterProxyModel.cpp index d8f41c077e..c1360cabc6 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemSortFilterProxyModel.cpp +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemSortFilterProxyModel.cpp @@ -37,6 +37,16 @@ namespace O3DE::ProjectManager return false; } + // Gem status + if (m_gemStatusFilter != GemStatus::NoFilter) + { + const GemStatus sourceGemStatus = static_cast(GemModel::IsAdded(sourceIndex)); + if (m_gemStatusFilter != sourceGemStatus) + { + return false; + } + } + // Gem origins if (m_gemOriginFilter) { @@ -125,6 +135,19 @@ namespace O3DE::ProjectManager return true; } + QString GemSortFilterProxyModel::GetGemStatusString(GemStatus status) + { + switch (status) + { + case Unselected: + return "Unselected"; + case Selected: + return "Selected"; + default: + return ""; + } + } + void GemSortFilterProxyModel::InvalidateFilter() { invalidate(); diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemSortFilterProxyModel.h b/Code/Tools/ProjectManager/Source/GemCatalog/GemSortFilterProxyModel.h index f24a724ecf..fcde226f40 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemSortFilterProxyModel.h +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemSortFilterProxyModel.h @@ -29,8 +29,17 @@ namespace O3DE::ProjectManager Q_OBJECT // AUTOMOC public: + enum GemStatus + { + NoFilter = -1, + Unselected, + Selected + }; + GemSortFilterProxyModel(GemModel* sourceModel, QObject* parent = nullptr); + static QString GetGemStatusString(GemStatus status); + bool filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const override; GemModel* GetSourceModel() const { return m_sourceModel; } @@ -38,6 +47,9 @@ namespace O3DE::ProjectManager void SetSearchString(const QString& searchString) { m_searchString = searchString; InvalidateFilter(); } + GemStatus GetGemStatus() const { return m_gemStatusFilter; } + void SetGemStatus(GemStatus gemStatus) { m_gemStatusFilter = gemStatus; InvalidateFilter(); } + GemInfo::GemOrigins GetGemOrigins() const { return m_gemOriginFilter; } void SetGemOrigins(const GemInfo::GemOrigins& gemOrigins) { m_gemOriginFilter = gemOrigins; InvalidateFilter(); } @@ -61,6 +73,7 @@ namespace O3DE::ProjectManager AzQtComponents::SelectionProxyModel* m_selectionProxyModel = nullptr; QString m_searchString; + GemStatus m_gemStatusFilter = GemStatus::NoFilter; GemInfo::GemOrigins m_gemOriginFilter = {}; GemInfo::Platforms m_platformFilter = {}; GemInfo::Types m_typeFilter = {}; diff --git a/Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp b/Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp index be1f0e5529..65f73accd1 100644 --- a/Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp +++ b/Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp @@ -189,11 +189,13 @@ namespace O3DE::ProjectManager { if (m_stack->currentIndex() == ScreenOrder::Gems) { - m_header->setSubTitle(QString(tr("Configure Gems for \"%1\"")).arg(m_projectInfo.m_projectName)); - m_nextButton->setText(tr("Confirm")); + m_header->setTitle(QString(tr("Edit Project Settings: \"%1\"")).arg(m_projectInfo.m_projectName)); + m_header->setSubTitle(QString(tr("Configure Gems"))); + m_nextButton->setText(tr("Finalize")); } else { + m_header->setTitle(""); m_header->setSubTitle(QString(tr("Edit Project Settings: \"%1\"")).arg(m_projectInfo.m_projectName)); m_nextButton->setText(tr("Save")); } From ecded991b57be2db905ce4c15d7af9d2fb9c297f Mon Sep 17 00:00:00 2001 From: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com> Date: Mon, 14 Jun 2021 17:02:22 -0700 Subject: [PATCH 193/205] Display error when unable to start Python Added AzFramework Application, logging, unit tests --- Code/Framework/AzCore/AzCore/Utils/Utils.cpp | 7 + Code/Framework/AzCore/AzCore/Utils/Utils.h | 3 + Code/Sandbox/Editor/CryEdit.cpp | 2 +- Code/Tools/ProjectManager/CMakeLists.txt | 63 +++++- .../Linux/PAL_linux_tests_files.cmake | 15 ++ .../Linux/ProjectManager_Test_Traits_Linux.h | 15 ++ .../ProjectManager_Test_Traits_Platform.h | 15 ++ .../Platform/Mac/PAL_mac_tests_files.cmake | 15 ++ .../Mac/ProjectManager_Test_Traits_Mac.h | 15 ++ .../Mac/ProjectManager_Test_Traits_Platform.h | 15 ++ .../Windows/PAL_windows_tests_files.cmake | 15 ++ .../ProjectManager_Test_Traits_Platform.h | 15 ++ .../ProjectManager_Test_Traits_Windows.h | 15 ++ .../Resources/ProjectManager.qss | 5 + .../ProjectManager/Source/Application.cpp | 186 ++++++++++++++++++ .../Tools/ProjectManager/Source/Application.h | 48 +++++ .../Source/EngineSettingsScreen.cpp | 2 +- .../Source/ProjectButtonWidget.cpp | 2 +- .../Source/ProjectManagerWindow.cpp | 27 +-- .../Source/ProjectManagerWindow.h | 8 +- .../Source/ProjectSettingsScreen.cpp | 2 +- .../ProjectManager/Source/ProjectsScreen.cpp | 4 +- .../ProjectManager/Source/PythonBindings.cpp | 14 +- .../ProjectManager/Source/PythonBindings.h | 4 + .../Source/PythonBindingsInterface.h | 6 + Code/Tools/ProjectManager/Source/main.cpp | 87 ++------ .../project_manager_app_files.cmake | 17 ++ .../project_manager_files.cmake | 7 +- .../project_manager_tests_files.cmake | 17 ++ .../ProjectManager/tests/ApplicationTests.cpp | 47 +++++ Code/Tools/ProjectManager/tests/main.cpp | 35 ++++ 31 files changed, 606 insertions(+), 122 deletions(-) create mode 100644 Code/Tools/ProjectManager/Platform/Linux/PAL_linux_tests_files.cmake create mode 100644 Code/Tools/ProjectManager/Platform/Linux/ProjectManager_Test_Traits_Linux.h create mode 100644 Code/Tools/ProjectManager/Platform/Linux/ProjectManager_Test_Traits_Platform.h create mode 100644 Code/Tools/ProjectManager/Platform/Mac/PAL_mac_tests_files.cmake create mode 100644 Code/Tools/ProjectManager/Platform/Mac/ProjectManager_Test_Traits_Mac.h create mode 100644 Code/Tools/ProjectManager/Platform/Mac/ProjectManager_Test_Traits_Platform.h create mode 100644 Code/Tools/ProjectManager/Platform/Windows/PAL_windows_tests_files.cmake create mode 100644 Code/Tools/ProjectManager/Platform/Windows/ProjectManager_Test_Traits_Platform.h create mode 100644 Code/Tools/ProjectManager/Platform/Windows/ProjectManager_Test_Traits_Windows.h create mode 100644 Code/Tools/ProjectManager/Source/Application.cpp create mode 100644 Code/Tools/ProjectManager/Source/Application.h create mode 100644 Code/Tools/ProjectManager/project_manager_app_files.cmake create mode 100644 Code/Tools/ProjectManager/project_manager_tests_files.cmake create mode 100644 Code/Tools/ProjectManager/tests/ApplicationTests.cpp create mode 100644 Code/Tools/ProjectManager/tests/main.cpp diff --git a/Code/Framework/AzCore/AzCore/Utils/Utils.cpp b/Code/Framework/AzCore/AzCore/Utils/Utils.cpp index 7025b3977e..e3647ec2cb 100644 --- a/Code/Framework/AzCore/AzCore/Utils/Utils.cpp +++ b/Code/Framework/AzCore/AzCore/Utils/Utils.cpp @@ -175,4 +175,11 @@ namespace AZ::Utils path /= ".o3de"; return path.Native(); } + + AZ::IO::FixedMaxPathString GetO3deLogsDirectory() + { + AZ::IO::FixedMaxPath path = GetO3deManifestDirectory(); + path /= "Logs"; + return path.Native(); + } } diff --git a/Code/Framework/AzCore/AzCore/Utils/Utils.h b/Code/Framework/AzCore/AzCore/Utils/Utils.h index d082a3ebe0..8fb6f05742 100644 --- a/Code/Framework/AzCore/AzCore/Utils/Utils.h +++ b/Code/Framework/AzCore/AzCore/Utils/Utils.h @@ -97,6 +97,9 @@ namespace AZ //! Retrieves the full path where the manifest file lives, i.e. "/.o3de/o3de_manifest.json" AZ::IO::FixedMaxPathString GetEngineManifestPath(); + //! Retrieves the full directory to the O3DE logs directory, i.e. "/.o3de/Logs" + AZ::IO::FixedMaxPathString GetO3deLogsDirectory(); + //! Retrieves the App root path to use on the current platform //! If the optional is not engaged the AppRootPath should be calculated based //! on the location of the bootstrap.cfg file diff --git a/Code/Sandbox/Editor/CryEdit.cpp b/Code/Sandbox/Editor/CryEdit.cpp index a972a4bd9b..67e228a3ce 100644 --- a/Code/Sandbox/Editor/CryEdit.cpp +++ b/Code/Sandbox/Editor/CryEdit.cpp @@ -2891,7 +2891,7 @@ void CCryEditApp::OpenProjectManager(const AZStd::string& screen) { // provide the current project path for in case we want to update the project AZ::IO::FixedMaxPathString projectPath = AZ::Utils::GetProjectPath(); - const AZStd::string commandLineOptions = AZStd::string::format(" --screen %s --project_path %s", screen.c_str(), projectPath.c_str()); + const AZStd::string commandLineOptions = AZStd::string::format(" --screen %s --project-path %s", screen.c_str(), projectPath.c_str()); bool launchSuccess = AzFramework::ProjectManager::LaunchProjectManager(commandLineOptions); if (!launchSuccess) { diff --git a/Code/Tools/ProjectManager/CMakeLists.txt b/Code/Tools/ProjectManager/CMakeLists.txt index aeb7be9793..434ce1424e 100644 --- a/Code/Tools/ProjectManager/CMakeLists.txt +++ b/Code/Tools/ProjectManager/CMakeLists.txt @@ -20,12 +20,11 @@ if (NOT python_package_name) message(WARNING "Python was not found in the package assocation list. Did someone call ly_associate_package(xxxxxxx Python) ?") endif() + ly_add_target( - NAME ProjectManager APPLICATION - OUTPUT_NAME o3de + NAME ProjectManager.Static STATIC NAMESPACE AZ AUTOMOC - AUTORCC FILES_CMAKE project_manager_files.cmake Platform/${PAL_PLATFORM_NAME}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake @@ -47,6 +46,60 @@ ly_add_target( 3rdParty::pybind11 AZ::AzCore AZ::AzFramework - AZ::AzToolsFramework AZ::AzQtComponents -) \ No newline at end of file +) + +ly_add_target( + NAME ProjectManager APPLICATION + OUTPUT_NAME o3de + NAMESPACE AZ + AUTORCC + FILES_CMAKE + project_manager_app_files.cmake + INCLUDE_DIRECTORIES + PRIVATE + Source + BUILD_DEPENDENCIES + PRIVATE + 3rdParty::Qt::Core + 3rdParty::Qt::Concurrent + 3rdParty::Qt::Widgets + 3rdParty::Python + 3rdParty::pybind11 + AZ::AzCore + AZ::AzFramework + AZ::AzQtComponents + AZ::ProjectManager.Static +) + +if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) + ly_add_target( + NAME ProjectManager.Tests EXECUTABLE + NAMESPACE AZ + AUTORCC + FILES_CMAKE + project_manager_tests_files.cmake + Platform/${PAL_PLATFORM_NAME}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}_tests_files.cmake + INCLUDE_DIRECTORIES + PRIVATE + Source + Platform/${PAL_PLATFORM_NAME} + BUILD_DEPENDENCIES + PRIVATE + 3rdParty::Qt::Core + 3rdParty::Qt::Concurrent + 3rdParty::Qt::Widgets + 3rdParty::Python + 3rdParty::pybind11 + AZ::AzTest + AZ::AzFramework + AZ::AzFrameworkTestShared + AZ::ProjectManager.Static + ) + + ly_add_googletest( + NAME AZ::ProjectManager.Tests + TEST_COMMAND $ --unittest + ) + +endif() diff --git a/Code/Tools/ProjectManager/Platform/Linux/PAL_linux_tests_files.cmake b/Code/Tools/ProjectManager/Platform/Linux/PAL_linux_tests_files.cmake new file mode 100644 index 0000000000..e79da7183d --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Linux/PAL_linux_tests_files.cmake @@ -0,0 +1,15 @@ +# +# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +# its licensors. +# +# For complete copyright and license terms please see the LICENSE at the root of this +# distribution (the "License"). All use of this software is governed by the License, +# or, if provided, by the license below or the license accompanying this file. Do not +# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# + +set(FILES + ProjectManager_Test_Traits_Platform.h + ProjectManager_Test_Traits_Linux.h +) diff --git a/Code/Tools/ProjectManager/Platform/Linux/ProjectManager_Test_Traits_Linux.h b/Code/Tools/ProjectManager/Platform/Linux/ProjectManager_Test_Traits_Linux.h new file mode 100644 index 0000000000..c8b428a1c2 --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Linux/ProjectManager_Test_Traits_Linux.h @@ -0,0 +1,15 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#define AZ_TRAIT_DISABLE_FAILED_PROJECT_MANAGER_TESTS true diff --git a/Code/Tools/ProjectManager/Platform/Linux/ProjectManager_Test_Traits_Platform.h b/Code/Tools/ProjectManager/Platform/Linux/ProjectManager_Test_Traits_Platform.h new file mode 100644 index 0000000000..639ef8a387 --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Linux/ProjectManager_Test_Traits_Platform.h @@ -0,0 +1,15 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#include diff --git a/Code/Tools/ProjectManager/Platform/Mac/PAL_mac_tests_files.cmake b/Code/Tools/ProjectManager/Platform/Mac/PAL_mac_tests_files.cmake new file mode 100644 index 0000000000..a2d480de40 --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Mac/PAL_mac_tests_files.cmake @@ -0,0 +1,15 @@ +# +# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +# its licensors. +# +# For complete copyright and license terms please see the LICENSE at the root of this +# distribution (the "License"). All use of this software is governed by the License, +# or, if provided, by the license below or the license accompanying this file. Do not +# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# + +set(FILES + ProjectManager_Test_Traits_Platform.h + ProjectManager_Test_Traits_Mac.h +) diff --git a/Code/Tools/ProjectManager/Platform/Mac/ProjectManager_Test_Traits_Mac.h b/Code/Tools/ProjectManager/Platform/Mac/ProjectManager_Test_Traits_Mac.h new file mode 100644 index 0000000000..053db745ea --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Mac/ProjectManager_Test_Traits_Mac.h @@ -0,0 +1,15 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#define AZ_TRAIT_DISABLE_FAILED_PROJECT_MANAGER_TESTS false diff --git a/Code/Tools/ProjectManager/Platform/Mac/ProjectManager_Test_Traits_Platform.h b/Code/Tools/ProjectManager/Platform/Mac/ProjectManager_Test_Traits_Platform.h new file mode 100644 index 0000000000..af8817998f --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Mac/ProjectManager_Test_Traits_Platform.h @@ -0,0 +1,15 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#include diff --git a/Code/Tools/ProjectManager/Platform/Windows/PAL_windows_tests_files.cmake b/Code/Tools/ProjectManager/Platform/Windows/PAL_windows_tests_files.cmake new file mode 100644 index 0000000000..00d9da3db3 --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Windows/PAL_windows_tests_files.cmake @@ -0,0 +1,15 @@ +# +# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +# its licensors. +# +# For complete copyright and license terms please see the LICENSE at the root of this +# distribution (the "License"). All use of this software is governed by the License, +# or, if provided, by the license below or the license accompanying this file. Do not +# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# + +set(FILES + ProjectManager_Test_Traits_Platform.h + ProjectManager_Test_Traits_Windows.h +) diff --git a/Code/Tools/ProjectManager/Platform/Windows/ProjectManager_Test_Traits_Platform.h b/Code/Tools/ProjectManager/Platform/Windows/ProjectManager_Test_Traits_Platform.h new file mode 100644 index 0000000000..915a86644a --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Windows/ProjectManager_Test_Traits_Platform.h @@ -0,0 +1,15 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#include diff --git a/Code/Tools/ProjectManager/Platform/Windows/ProjectManager_Test_Traits_Windows.h b/Code/Tools/ProjectManager/Platform/Windows/ProjectManager_Test_Traits_Windows.h new file mode 100644 index 0000000000..053db745ea --- /dev/null +++ b/Code/Tools/ProjectManager/Platform/Windows/ProjectManager_Test_Traits_Windows.h @@ -0,0 +1,15 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#pragma once + +#define AZ_TRAIT_DISABLE_FAILED_PROJECT_MANAGER_TESTS false diff --git a/Code/Tools/ProjectManager/Resources/ProjectManager.qss b/Code/Tools/ProjectManager/Resources/ProjectManager.qss index 80470591a8..efc01802b7 100644 --- a/Code/Tools/ProjectManager/Resources/ProjectManager.qss +++ b/Code/Tools/ProjectManager/Resources/ProjectManager.qss @@ -7,6 +7,11 @@ QMainWindow { margin:0; } +#ScreensCtrl { + min-width:1200px; + min-height:800px; +} + QPushButton:focus { outline: none; border:1px solid #1e70eb; diff --git a/Code/Tools/ProjectManager/Source/Application.cpp b/Code/Tools/ProjectManager/Source/Application.cpp new file mode 100644 index 0000000000..c566e76ef1 --- /dev/null +++ b/Code/Tools/ProjectManager/Source/Application.cpp @@ -0,0 +1,186 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace O3DE::ProjectManager +{ + Application::~Application() + { + TearDown(); + } + + bool Application::Init(bool interactive) + { + constexpr const char* applicationName { "O3DE" }; + + QApplication::setOrganizationName(applicationName); + QApplication::setOrganizationDomain("o3de.org"); + + QCoreApplication::setApplicationName(applicationName); + QCoreApplication::setApplicationVersion("1.0"); + + // Use the LogComponent for non-dev logging log + RegisterComponentDescriptor(AzFramework::LogComponent::CreateDescriptor()); + + // set the log alias to .o3de/Logs instead of the default user/logs + AZ::IO::FixedMaxPath path = AZ::Utils::GetO3deLogsDirectory(); + + // DevWriteStorage is where the event log is written during development + m_settingsRegistry->Set(AZ::SettingsRegistryMergeUtils::FilePathKey_DevWriteStorage, path.LexicallyNormal().Native()); + + // Save event logs to .o3de/Logs/eventlogger/EventLogO3DE.azsl + m_settingsRegistry->Set(AZ::SettingsRegistryMergeUtils::BuildTargetNameKey, applicationName); + + Start(AzFramework::Application::Descriptor()); + + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); + + QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); + + QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); + AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); + + // Create the actual Qt Application - this needs to happen before using QMessageBox + m_app.reset(new QApplication(*GetArgC(), *GetArgV())); + + if(!InitLog(applicationName)) + { + AZ_Warning("ProjectManager", false, "Failed to init logging"); + } + + m_pythonBindings = AZStd::make_unique(GetEngineRoot()); + if (!m_pythonBindings || !m_pythonBindings->PythonStarted()) + { + if (interactive) + { + QMessageBox::critical(nullptr, QObject::tr("Failed to start Python"), + QObject::tr("This tool requires an O3DE engine with a Python runtime, " + "but either Python is missing or mis-configured. Please rename " + "your python/runtime folder to python/runtime_bak, then run " + "python/get_python.bat to restore the Python runtime folder.")); + } + return false; + } + + const AZ::CommandLine* commandLine = GetCommandLine(); + AZ_Assert(commandLine, "Failed to get command line"); + + ProjectManagerScreen startScreen = ProjectManagerScreen::Projects; + if (size_t screenSwitchCount = commandLine->GetNumSwitchValues("screen"); screenSwitchCount > 0) + { + QString screenOption = commandLine->GetSwitchValue("screen", screenSwitchCount - 1).c_str(); + ProjectManagerScreen screen = ProjectUtils::GetProjectManagerScreen(screenOption); + if (screen != ProjectManagerScreen::Invalid) + { + startScreen = screen; + } + } + + AZ::IO::FixedMaxPath projectPath; + if (size_t projectSwitchCount = commandLine->GetNumSwitchValues("project-path"); projectSwitchCount > 0) + { + projectPath = commandLine->GetSwitchValue("project-path", projectSwitchCount - 1).c_str(); + } + + m_mainWindow.reset(new ProjectManagerWindow(nullptr, projectPath, startScreen)); + + return true; + } + + bool Application::InitLog(const char* logName) + { + if (!m_entity) + { + // override the log alias to the O3de Logs directory instead of the default project user/Logs folder + AZ::IO::FixedMaxPath path = AZ::Utils::GetO3deLogsDirectory(); + AZ::IO::FileIOBase* fileIO = AZ::IO::FileIOBase::GetInstance(); + AZ_Assert(fileIO, "Failed to get FileIOBase instance"); + + fileIO->SetAlias("@log@", path.LexicallyNormal().Native().c_str()); + + // this entity exists because we need a home for LogComponent + // and cannot use the system entity because we need to be able to call SetLogFileBaseName + // so the log will be named O3DE.log + m_entity = aznew AZ::Entity("Application Entity"); + if (m_entity) + { + AzFramework::LogComponent* logger = aznew AzFramework::LogComponent(); + AZ_Assert(logger, "Failed to create LogComponent"); + logger->SetLogFileBaseName(logName); + m_entity->AddComponent(logger); + m_entity->Init(); + m_entity->Activate(); + } + } + + return m_entity != nullptr; + } + + void Application::TearDown() + { + if (m_entity) + { + m_entity->Deactivate(); + delete m_entity; + m_entity = nullptr; + } + + m_pythonBindings.reset(); + m_mainWindow.reset(); + m_app.reset(); + } + + bool Application::Run() + { + // Set up the Style Manager + AzQtComponents::StyleManager styleManager(qApp); + styleManager.initialize(qApp, GetEngineRoot()); + + // setup stylesheets and hot reloading + AZ::IO::FixedMaxPath engineRoot(GetEngineRoot()); + QDir rootDir(engineRoot.c_str()); + const auto pathOnDisk = rootDir.absoluteFilePath("Code/Tools/ProjectManager/Resources"); + const auto qrcPath = QStringLiteral(":/ProjectManager/style"); + AzQtComponents::StyleManager::addSearchPaths("style", pathOnDisk, qrcPath, engineRoot); + + // set stylesheet after creating the main window or their styles won't get updated + AzQtComponents::StyleManager::setStyleSheet(m_mainWindow.data(), QStringLiteral("style:ProjectManager.qss")); + + // the decoration wrapper is intended to remember window positioning and sizing + auto wrapper = new AzQtComponents::WindowDecorationWrapper(); + wrapper->setGuest(m_mainWindow.data()); + wrapper->show(); + m_mainWindow->show(); + + qApp->setQuitOnLastWindowClosed(true); + + // Run the application + return qApp->exec(); + } + +} diff --git a/Code/Tools/ProjectManager/Source/Application.h b/Code/Tools/ProjectManager/Source/Application.h new file mode 100644 index 0000000000..d4e94e8dd4 --- /dev/null +++ b/Code/Tools/ProjectManager/Source/Application.h @@ -0,0 +1,48 @@ +/* + * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or + * its licensors. + * + * For complete copyright and license terms please see the LICENSE at the root of this + * distribution (the "License"). All use of this software is governed by the License, + * or, if provided, by the license below or the license accompanying this file. Do not + * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + */ +#pragma once + +#if !defined(Q_MOC_RUN) +#include +#include +#include +#include +#endif + +namespace AZ +{ + class Entity; +} + +namespace O3DE::ProjectManager +{ + class Application + : public AzFramework::Application + { + public: + using AzFramework::Application::Application; + virtual ~Application(); + + bool Init(bool interactive = true); + bool Run(); + void TearDown(); + + private: + bool InitLog(const char* logName); + + AZStd::unique_ptr m_pythonBindings; + QSharedPointer m_app; + QSharedPointer m_mainWindow; + + AZ::Entity* m_entity = nullptr; + }; +} diff --git a/Code/Tools/ProjectManager/Source/EngineSettingsScreen.cpp b/Code/Tools/ProjectManager/Source/EngineSettingsScreen.cpp index 6342041da4..cf597745ea 100644 --- a/Code/Tools/ProjectManager/Source/EngineSettingsScreen.cpp +++ b/Code/Tools/ProjectManager/Source/EngineSettingsScreen.cpp @@ -25,7 +25,7 @@ namespace O3DE::ProjectManager EngineSettingsScreen::EngineSettingsScreen(QWidget* parent) : ScreenWidget(parent) { - auto* layout = new QVBoxLayout(this); + auto* layout = new QVBoxLayout(); layout->setAlignment(Qt::AlignTop); setObjectName("engineSettingsScreen"); diff --git a/Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp b/Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp index 761572ffa5..3bde0a310d 100644 --- a/Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp +++ b/Code/Tools/ProjectManager/Source/ProjectButtonWidget.cpp @@ -33,7 +33,7 @@ namespace O3DE::ProjectManager { setObjectName("labelButton"); - QVBoxLayout* vLayout = new QVBoxLayout(this); + QVBoxLayout* vLayout = new QVBoxLayout(); vLayout->setContentsMargins(0, 0, 0, 0); vLayout->setSpacing(5); diff --git a/Code/Tools/ProjectManager/Source/ProjectManagerWindow.cpp b/Code/Tools/ProjectManager/Source/ProjectManagerWindow.cpp index cb1398cc61..59be0aaa35 100644 --- a/Code/Tools/ProjectManager/Source/ProjectManagerWindow.cpp +++ b/Code/Tools/ProjectManager/Source/ProjectManagerWindow.cpp @@ -13,21 +13,11 @@ #include #include -#include -#include -#include -#include -#include - -#include - namespace O3DE::ProjectManager { - ProjectManagerWindow::ProjectManagerWindow(QWidget* parent, const AZ::IO::PathView& engineRootPath, const AZ::IO::PathView& projectPath, ProjectManagerScreen startScreen) + ProjectManagerWindow::ProjectManagerWindow(QWidget* parent, const AZ::IO::PathView& projectPath, ProjectManagerScreen startScreen) : QMainWindow(parent) { - m_pythonBindings = AZStd::make_unique(engineRootPath); - setWindowTitle(tr("O3DE Project Manager")); ScreensCtrl* screensCtrl = new ScreensCtrl(); @@ -44,15 +34,6 @@ namespace O3DE::ProjectManager setCentralWidget(screensCtrl); - // setup stylesheets and hot reloading - QDir rootDir = QString::fromUtf8(engineRootPath.Native().data(), aznumeric_cast(engineRootPath.Native().size())); - const auto pathOnDisk = rootDir.absoluteFilePath("Code/Tools/ProjectManager/Resources"); - const auto qrcPath = QStringLiteral(":/ProjectManager/style"); - AzQtComponents::StyleManager::addSearchPaths("style", pathOnDisk, qrcPath, engineRootPath); - - // set stylesheet after creating the screens or their styles won't get updated - AzQtComponents::StyleManager::setStyleSheet(this, QStringLiteral("style:ProjectManager.qss")); - // always push the projects screen first so we have something to come back to if (startScreen != ProjectManagerScreen::Projects) { @@ -66,10 +47,4 @@ namespace O3DE::ProjectManager emit screensCtrl->NotifyCurrentProject(path); } } - - ProjectManagerWindow::~ProjectManagerWindow() - { - m_pythonBindings.reset(); - } - } // namespace O3DE::ProjectManager diff --git a/Code/Tools/ProjectManager/Source/ProjectManagerWindow.h b/Code/Tools/ProjectManager/Source/ProjectManagerWindow.h index 758af8fc00..db2b1fd304 100644 --- a/Code/Tools/ProjectManager/Source/ProjectManagerWindow.h +++ b/Code/Tools/ProjectManager/Source/ProjectManagerWindow.h @@ -13,7 +13,7 @@ #if !defined(Q_MOC_RUN) #include -#include +#include #include #endif @@ -25,12 +25,8 @@ namespace O3DE::ProjectManager Q_OBJECT public: - explicit ProjectManagerWindow(QWidget* parent, const AZ::IO::PathView& engineRootPath, const AZ::IO::PathView& projectPath, + explicit ProjectManagerWindow(QWidget* parent, const AZ::IO::PathView& projectPath, ProjectManagerScreen startScreen = ProjectManagerScreen::Projects); - ~ProjectManagerWindow(); - - private: - AZStd::unique_ptr m_pythonBindings; }; } // namespace O3DE::ProjectManager diff --git a/Code/Tools/ProjectManager/Source/ProjectSettingsScreen.cpp b/Code/Tools/ProjectManager/Source/ProjectSettingsScreen.cpp index 26711753d4..b198724353 100644 --- a/Code/Tools/ProjectManager/Source/ProjectSettingsScreen.cpp +++ b/Code/Tools/ProjectManager/Source/ProjectSettingsScreen.cpp @@ -37,7 +37,7 @@ namespace O3DE::ProjectManager // if we don't set this in a frame (just use a sub-layout) all the content will align incorrectly horizontally QFrame* projectSettingsFrame = new QFrame(this); projectSettingsFrame->setObjectName("projectSettings"); - m_verticalLayout = new QVBoxLayout(this); + m_verticalLayout = new QVBoxLayout(); // you cannot remove content margins in qss m_verticalLayout->setContentsMargins(0, 0, 0, 0); diff --git a/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp b/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp index 8e41e52643..6633558406 100644 --- a/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp +++ b/Code/Tools/ProjectManager/Source/ProjectsScreen.cpp @@ -85,7 +85,7 @@ namespace O3DE::ProjectManager QFrame* frame = new QFrame(this); frame->setObjectName("firstTimeContent"); { - QVBoxLayout* layout = new QVBoxLayout(this); + QVBoxLayout* layout = new QVBoxLayout(); layout->setContentsMargins(0, 0, 0, 0); layout->setAlignment(Qt::AlignTop); frame->setLayout(layout); @@ -100,7 +100,7 @@ namespace O3DE::ProjectManager "available by downloading our sample project.")); layout->addWidget(introLabel); - QHBoxLayout* buttonLayout = new QHBoxLayout(this); + QHBoxLayout* buttonLayout = new QHBoxLayout(); buttonLayout->setAlignment(Qt::AlignLeft); buttonLayout->setSpacing(s_spacerSize); diff --git a/Code/Tools/ProjectManager/Source/PythonBindings.cpp b/Code/Tools/ProjectManager/Source/PythonBindings.cpp index bb6c05a472..0e00319b6b 100644 --- a/Code/Tools/ProjectManager/Source/PythonBindings.cpp +++ b/Code/Tools/ProjectManager/Source/PythonBindings.cpp @@ -226,7 +226,7 @@ namespace O3DE::ProjectManager PythonBindings::PythonBindings(const AZ::IO::PathView& enginePath) : m_enginePath(enginePath) { - StartPython(); + m_pythonStarted = StartPython(); } PythonBindings::~PythonBindings() @@ -234,6 +234,11 @@ namespace O3DE::ProjectManager StopPython(); } + bool PythonBindings::PythonStarted() + { + return m_pythonStarted && Py_IsInitialized(); + } + bool PythonBindings::StartPython() { if (Py_IsInitialized()) @@ -246,7 +251,7 @@ namespace O3DE::ProjectManager AZStd::string pyBasePath = Platform::GetPythonHomePath(PY_PACKAGE, m_enginePath.c_str()); if (!AZ::IO::SystemFile::Exists(pyBasePath.c_str())) { - AZ_Assert(false, "Python home path must exist. path:%s", pyBasePath.c_str()); + AZ_Error("python", false, "Python home path does not exist: %s", pyBasePath.c_str()); return false; } @@ -351,6 +356,11 @@ namespace O3DE::ProjectManager AZ::Outcome PythonBindings::ExecuteWithLockErrorHandling(AZStd::function executionCallback) { + if (!Py_IsInitialized()) + { + return AZ::Failure("Python is not initialized"); + } + AZStd::lock_guard lock(m_lock); pybind11::gil_scoped_release release; pybind11::gil_scoped_acquire acquire; diff --git a/Code/Tools/ProjectManager/Source/PythonBindings.h b/Code/Tools/ProjectManager/Source/PythonBindings.h index 5700ede850..065867a130 100644 --- a/Code/Tools/ProjectManager/Source/PythonBindings.h +++ b/Code/Tools/ProjectManager/Source/PythonBindings.h @@ -34,6 +34,8 @@ namespace O3DE::ProjectManager ~PythonBindings() override; // PythonBindings overrides + bool PythonStarted() override; + // Engine AZ::Outcome GetEngineInfo() override; bool SetEngineInfo(const EngineInfo& engineInfo) override; @@ -70,6 +72,8 @@ namespace O3DE::ProjectManager bool StopPython(); + bool m_pythonStarted = false; + AZ::IO::FixedMaxPath m_enginePath; pybind11::handle m_engineTemplate; AZStd::recursive_mutex m_lock; diff --git a/Code/Tools/ProjectManager/Source/PythonBindingsInterface.h b/Code/Tools/ProjectManager/Source/PythonBindingsInterface.h index bc20d8e3f0..6d72bfee0c 100644 --- a/Code/Tools/ProjectManager/Source/PythonBindingsInterface.h +++ b/Code/Tools/ProjectManager/Source/PythonBindingsInterface.h @@ -34,6 +34,12 @@ namespace O3DE::ProjectManager IPythonBindings() = default; virtual ~IPythonBindings() = default; + /** + * Get whether Python was started or not. All Python functionality will fail if Python + * failed to start. + * @return true if Python was started successfully, false on failure + */ + virtual bool PythonStarted() = 0; // Engine diff --git a/Code/Tools/ProjectManager/Source/main.cpp b/Code/Tools/ProjectManager/Source/main.cpp index c597b8a729..1f4cadfb14 100644 --- a/Code/Tools/ProjectManager/Source/main.cpp +++ b/Code/Tools/ProjectManager/Source/main.cpp @@ -10,85 +10,26 @@ * */ -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -using namespace O3DE::ProjectManager; +#include +#include int main(int argc, char* argv[]) { - QApplication::setOrganizationName("O3DE"); - QApplication::setOrganizationDomain("o3de.org"); - QCoreApplication::setApplicationName("ProjectManager"); - QCoreApplication::setApplicationVersion("1.0"); - - QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); - QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); - QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); - AzQtComponents::Utilities::HandleDpiAwareness(AzQtComponents::Utilities::SystemDpiAware); - - AZ::AllocatorInstance::Create(); int runSuccess = 0; + + // Call before using any Qt, or the app may not be able to locate Qt libs + AzQtComponents::PrepareQtPaths(); + + O3DE::ProjectManager::Application application(&argc, &argv); + if (!application.Init()) { - QApplication app(argc, argv); - - // Need to use settings registry to get EngineRootFolder - AZ::IO::FixedMaxPath engineRootPath; - { - AZ::ComponentApplication componentApplication; - auto settingsRegistry = AZ::SettingsRegistry::Get(); - settingsRegistry->Get(engineRootPath.Native(), AZ::SettingsRegistryMergeUtils::FilePathKey_EngineRootFolder); - } - - AzQtComponents::StyleManager styleManager(&app); - styleManager.initialize(&app, engineRootPath); - - // Get the initial start screen if one is provided via command line - constexpr char optionPrefix[] = "--"; - AZ::CommandLine commandLine(optionPrefix); - commandLine.Parse(argc, argv); - - ProjectManagerScreen startScreen = ProjectManagerScreen::Projects; - if(commandLine.HasSwitch("screen")) - { - QString screenOption = commandLine.GetSwitchValue("screen", 0).c_str(); - ProjectManagerScreen screen = ProjectUtils::GetProjectManagerScreen(screenOption); - if (screen != ProjectManagerScreen::Invalid) - { - startScreen = screen; - } - } - - AZ::IO::FixedMaxPath projectPath; - if (commandLine.HasSwitch("project-path")) - { - projectPath = commandLine.GetSwitchValue("project-path", 0).c_str(); - } - - ProjectManagerWindow window(nullptr, engineRootPath, projectPath, startScreen); - window.show(); - - // somethings is preventing us from moving the window to the center of the - // primary screen - likely an Az style or component helper - constexpr int width = 1200; - constexpr int height = 800; - window.resize(width, height); - - runSuccess = app.exec(); + AZ_Error("ProjectManager", false, "Failed to initialize"); + runSuccess = 1; + } + else + { + runSuccess = application.Run() ? 0 : 1; } - AZ::AllocatorInstance::Destroy(); return runSuccess; } diff --git a/Code/Tools/ProjectManager/project_manager_app_files.cmake b/Code/Tools/ProjectManager/project_manager_app_files.cmake new file mode 100644 index 0000000000..223683ddd9 --- /dev/null +++ b/Code/Tools/ProjectManager/project_manager_app_files.cmake @@ -0,0 +1,17 @@ +# +# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +# its licensors. +# +# For complete copyright and license terms please see the LICENSE at the root of this +# distribution (the "License"). All use of this software is governed by the License, +# or, if provided, by the license below or the license accompanying this file. Do not +# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# + +set(FILES + Resources/ProjectManager.rc + Resources/ProjectManager.qrc + Resources/ProjectManager.qss + Source/main.cpp +) diff --git a/Code/Tools/ProjectManager/project_manager_files.cmake b/Code/Tools/ProjectManager/project_manager_files.cmake index 633824f995..587b5907bb 100644 --- a/Code/Tools/ProjectManager/project_manager_files.cmake +++ b/Code/Tools/ProjectManager/project_manager_files.cmake @@ -1,4 +1,5 @@ # +# # All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or # its licensors. # @@ -10,10 +11,8 @@ # set(FILES - Resources/ProjectManager.rc - Resources/ProjectManager.qrc - Resources/ProjectManager.qss - Source/main.cpp + Source/Application.h + Source/Application.cpp Source/ScreenDefs.h Source/ScreenFactory.h Source/ScreenFactory.cpp diff --git a/Code/Tools/ProjectManager/project_manager_tests_files.cmake b/Code/Tools/ProjectManager/project_manager_tests_files.cmake new file mode 100644 index 0000000000..e1e84a43a7 --- /dev/null +++ b/Code/Tools/ProjectManager/project_manager_tests_files.cmake @@ -0,0 +1,17 @@ +# +# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +# its licensors. +# +# For complete copyright and license terms please see the LICENSE at the root of this +# distribution (the "License"). All use of this software is governed by the License, +# or, if provided, by the license below or the license accompanying this file. Do not +# remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# + +set(FILES + Resources/ProjectManager.qrc + Resources/ProjectManager.qss + tests/ApplicationTests.cpp + tests/main.cpp +) diff --git a/Code/Tools/ProjectManager/tests/ApplicationTests.cpp b/Code/Tools/ProjectManager/tests/ApplicationTests.cpp new file mode 100644 index 0000000000..c98b1a3a6f --- /dev/null +++ b/Code/Tools/ProjectManager/tests/ApplicationTests.cpp @@ -0,0 +1,47 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#include +#include +#include +#include + +namespace O3DE::ProjectManager +{ + class ProjectManagerApplicationTests + : public ::UnitTest::ScopedAllocatorSetupFixture + { + public: + + ProjectManagerApplicationTests() + { + m_application = AZStd::make_unique(); + } + + ~ProjectManagerApplicationTests() + { + m_application.reset(); + } + + AZStd::unique_ptr m_application; + }; + +#if AZ_TRAIT_DISABLE_FAILED_PROJECT_MANAGER_TESTS + TEST_F(ProjectManagerApplicationTests, DISABLED_Application_Init_Succeeds) +#else + TEST_F(ProjectManagerApplicationTests, Application_Init_Succeeds) +#endif // !AZ_TRAIT_DISABLE_FAILED_PROJECT_MANAGER_TESTS + { + // we don't want to interact with actual GUI or display it + EXPECT_TRUE(m_application->Init(/*interactive=*/false)); + } +} diff --git a/Code/Tools/ProjectManager/tests/main.cpp b/Code/Tools/ProjectManager/tests/main.cpp new file mode 100644 index 0000000000..191bef846a --- /dev/null +++ b/Code/Tools/ProjectManager/tests/main.cpp @@ -0,0 +1,35 @@ +/* +* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +* its licensors. +* +* For complete copyright and license terms please see the LICENSE at the root of this +* distribution (the "License"). All use of this software is governed by the License, +* or, if provided, by the license below or the license accompanying this file. Do not +* remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* +*/ + +#include + +DECLARE_AZ_UNIT_TEST_MAIN(); + +int runDefaultRunner(int argc, char* argv[]) +{ + INVOKE_AZ_UNIT_TEST_MAIN(nullptr) + return 0; +} + +int main(int argc, char* argv[]) +{ + if (argc == 1) + { + // if no parameters are provided, add the --unittests parameter + constexpr int defaultArgc = 2; + char unittest_arg[] = "--unittests"; // Conversion from string literal to char* is not allowed per ISO C++11 + char* defaultArgv[defaultArgc] = { argv[0], unittest_arg }; + return runDefaultRunner(defaultArgc, defaultArgv); + } + INVOKE_AZ_UNIT_TEST_MAIN(nullptr); + return 0; +} From 5165f6ad0495cbc310f64c6294a2fe797f84f578 Mon Sep 17 00:00:00 2001 From: Ken Pruiksma Date: Mon, 14 Jun 2021 19:09:27 -0500 Subject: [PATCH 194/205] [ATOM-15769] Setting minimum angle to 0.5 degrees on disk lights to avoid visual artifacts that occur at values closer to 0. Also updating the outer cone angle max to be 90 degrees since it's measured from the center point, not all the way across. (#1260) --- .../Code/Source/CoreLights/EditorAreaLightComponent.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/CoreLights/EditorAreaLightComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/CoreLights/EditorAreaLightComponent.cpp index 69bec21a6c..992b6319d8 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/CoreLights/EditorAreaLightComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/CoreLights/EditorAreaLightComponent.cpp @@ -112,13 +112,13 @@ namespace AZ ->DataElement(Edit::UIHandlers::Default, &AreaLightComponentConfig::m_enableShutters, "Enable shutters", "Restrict the light to a specific beam angle depending on shape.") ->Attribute(Edit::Attributes::Visibility, &AreaLightComponentConfig::ShuttersMustBeEnabled) ->DataElement(Edit::UIHandlers::Slider, &AreaLightComponentConfig::m_innerShutterAngleDegrees, "Inner angle", "The inner angle of the shutters where the light beam begins to be occluded.") - ->Attribute(Edit::Attributes::Min, 0.0f) - ->Attribute(Edit::Attributes::Max, 180.0f) + ->Attribute(Edit::Attributes::Min, 0.5f) + ->Attribute(Edit::Attributes::Max, 90.0f) ->Attribute(Edit::Attributes::Visibility, &AreaLightComponentConfig::SupportsShutters) ->Attribute(Edit::Attributes::ReadOnly, &AreaLightComponentConfig::ShuttersDisabled) ->DataElement(Edit::UIHandlers::Slider, &AreaLightComponentConfig::m_outerShutterAngleDegrees, "Outer angle", "The outer angle of the shutters where the light beam is completely occluded.") - ->Attribute(Edit::Attributes::Min, 0.0f) - ->Attribute(Edit::Attributes::Max, 180.0f) + ->Attribute(Edit::Attributes::Min, 0.5f) + ->Attribute(Edit::Attributes::Max, 90.0f) ->Attribute(Edit::Attributes::Visibility, &AreaLightComponentConfig::SupportsShutters) ->Attribute(Edit::Attributes::ReadOnly, &AreaLightComponentConfig::ShuttersDisabled) From e22d21f4b686e0091892af2356ba0b10b235bcc8 Mon Sep 17 00:00:00 2001 From: yuriy0 Date: Mon, 14 Jun 2021 21:28:50 -0400 Subject: [PATCH 195/205] Expose Actor bounding box configurations to component serialize and edit contexts. (#491) * Expose Actor bounding box configurations to component serialize and edit contexts. Allows one, for example, to have an animation which moves the character far away from the static bounds, and not have that character dissapear when the static bounds are outside of the camera frustum * Apply suggestions from code review * Bug fix: name the parameter, place comments in the intended place. --- .../Integration/Components/ActorComponent.cpp | 59 ++++++++++++++++++- .../Integration/Components/ActorComponent.h | 21 +++++++ .../Components/EditorActorComponent.cpp | 52 +++++++++++++++- .../Editor/Components/EditorActorComponent.h | 2 + 4 files changed, 132 insertions(+), 2 deletions(-) diff --git a/Gems/EMotionFX/Code/Source/Integration/Components/ActorComponent.cpp b/Gems/EMotionFX/Code/Source/Integration/Components/ActorComponent.cpp index b0065708fb..52977c9920 100644 --- a/Gems/EMotionFX/Code/Source/Integration/Components/ActorComponent.cpp +++ b/Gems/EMotionFX/Code/Source/Integration/Components/ActorComponent.cpp @@ -57,14 +57,68 @@ namespace EMotionFX } }; + ////////////////////////////////////////////////////////////////////////// + void ActorComponent::BoundingBoxConfiguration::Set(ActorInstance* actor) const + { + if (m_autoUpdateBounds) + { + actor->SetupAutoBoundsUpdate(m_updateTimeFrequency, m_boundsType, m_updateItemFrequency); + } + else + { + actor->SetBoundsUpdateType(m_boundsType); + actor->SetBoundsUpdateEnabled(false); + } + } + + void ActorComponent::BoundingBoxConfiguration::SetAndUpdate(ActorInstance* actor) const + { + Set(actor); + const AZ::u32 freq = actor->GetBoundsUpdateEnabled() ? actor->GetBoundsUpdateItemFrequency() : 1; + actor->UpdateBounds(0, actor->GetBoundsUpdateType(), freq); + } + + void ActorComponent::BoundingBoxConfiguration::Reflect(AZ::ReflectContext * context) + { + if (auto* serializeContext = azrtti_cast(context)) + { + serializeContext->Class() + ->Version(2, [](AZ::SerializeContext& sc, AZ::SerializeContext::DataElementNode& node) + { + if (node.GetVersion() < 2) + { + // m_boundsType used to be an enum class with `int' underlying type, is now `u8' + static const char* m_boundsType_name = "m_boundsType"; + static AZ::Crc32 m_boundsType_nameCrc(m_boundsType_name); + + int m_boundsType_as_int; + if (!node.GetChildData(m_boundsType_nameCrc, m_boundsType_as_int)) + { + return false; + } + if (!node.RemoveElementByName(m_boundsType_nameCrc)) return false; + if (node.AddElementWithData(sc, m_boundsType_name, (AZ::u8)m_boundsType_as_int) == -1) return false; + } + return true; + }) + ->Field("m_boundsType", &BoundingBoxConfiguration::m_boundsType) + ->Field("m_autoUpdateBounds", &BoundingBoxConfiguration::m_autoUpdateBounds) + ->Field("m_updateTimeFrequency", &BoundingBoxConfiguration::m_updateTimeFrequency) + ->Field("m_updateItemFrequency", &BoundingBoxConfiguration::m_updateItemFrequency) + ; + } + } + ////////////////////////////////////////////////////////////////////////// void ActorComponent::Configuration::Reflect(AZ::ReflectContext* context) { + BoundingBoxConfiguration::Reflect(context); + auto* serializeContext = azrtti_cast(context); if (serializeContext) { serializeContext->Class() - ->Version(3) + ->Version(4) ->Field("ActorAsset", &Configuration::m_actorAsset) ->Field("MaterialPerLOD", &Configuration::m_materialPerLOD) ->Field("RenderSkeleton", &Configuration::m_renderSkeleton) @@ -74,6 +128,7 @@ namespace EMotionFX ->Field("AttachmentTarget", &Configuration::m_attachmentTarget) ->Field("SkinningMethod", &Configuration::m_skinningMethod) ->Field("LODLevel", &Configuration::m_lodLevel) + ->Field("BoundingBoxConfig", &Configuration::m_bboxConfig) ->Field("ForceJointsUpdateOOV", &Configuration::m_forceUpdateJointsOOV) ; } @@ -349,6 +404,8 @@ namespace EMotionFX AZ::TransformNotificationBus::MultiHandler::BusConnect(GetEntityId()); m_actorInstance->UpdateWorldTransform(); + // Set bounds update mode and compute bbox first time + m_configuration.m_bboxConfig.SetAndUpdate(m_actorInstance.get()); m_actorInstance->UpdateBounds(0, ActorInstance::EBoundsType::BOUNDS_STATIC_BASED); // Creating the render actor AFTER both actor asset and mesh asset loaded. diff --git a/Gems/EMotionFX/Code/Source/Integration/Components/ActorComponent.h b/Gems/EMotionFX/Code/Source/Integration/Components/ActorComponent.h index 4172ce63bc..b3e02f0cbd 100644 --- a/Gems/EMotionFX/Code/Source/Integration/Components/ActorComponent.h +++ b/Gems/EMotionFX/Code/Source/Integration/Components/ActorComponent.h @@ -49,6 +49,26 @@ namespace EMotionFX AZ_COMPONENT(ActorComponent, "{BDC97E7F-A054-448B-A26F-EA2B5D78E377}"); friend class EditorActorComponent; + struct BoundingBoxConfiguration + { + AZ_TYPE_INFO(BoundingBoxConfiguration, "{EBCFF975-00A5-4578-85C7-59909F52067C}"); + + BoundingBoxConfiguration() = default; + + EMotionFX::ActorInstance::EBoundsType m_boundsType = EMotionFX::ActorInstance::BOUNDS_STATIC_BASED; + bool m_autoUpdateBounds = true; + float m_updateTimeFrequency = 0.f; + AZ::u32 m_updateItemFrequency = 1; + + // Set the bounding box configuration of the given actor instance to the parameters given by `this'. The actor instance must not be null (this is not checked). + void Set(ActorInstance* inst) const; + + // Set the bounding box configuration, then update the bounds of the actor instance + void SetAndUpdate(ActorInstance* inst) const; + + static void Reflect(AZ::ReflectContext* context); + }; + /** * Configuration struct for procedural configuration of Actor Components. */ @@ -71,6 +91,7 @@ namespace EMotionFX // default, joints level update (beside the root joint) on // actor are disabled when the actor is out of view. bool m_forceUpdateJointsOOV = false; + BoundingBoxConfiguration m_bboxConfig; ///< Configuration for bounding box type and updates static void Reflect(AZ::ReflectContext* context); }; diff --git a/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.cpp b/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.cpp index 5c085e96f7..157e8c0136 100644 --- a/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.cpp +++ b/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.cpp @@ -58,11 +58,49 @@ namespace EMotionFX ->Field("SkinningMethod", &EditorActorComponent::m_skinningMethod) ->Field("UpdateJointTransformsWhenOutOfView", &EditorActorComponent::m_forceUpdateJointsOOV) ->Field("LodLevel", &EditorActorComponent::m_lodLevel) + ->Field("BBoxConfig", &EditorActorComponent::m_bboxConfig) ; AZ::EditContext* editContext = serializeContext->GetEditContext(); if (editContext) { + editContext->Class("Actor Bounding Box Config", "") + ->ClassElement(AZ::Edit::ClassElements::EditorData, "") + + ->DataElement(AZ::Edit::UIHandlers::ComboBox, &ActorComponent::BoundingBoxConfiguration::m_boundsType, + "Bounds type", + "The method used to compute the Actor bounding box. NOTE: ordered by least expensive to compute to most expensive to compute." + ) + ->EnumAttribute(ActorInstance::BOUNDS_STATIC_BASED, "Static bounds (source-asset bounds)") + ->EnumAttribute(ActorInstance::BOUNDS_NODE_BASED, "Bone position-based") + ->EnumAttribute(ActorInstance::BOUNDS_NODEOBB_BASED, "Bone local bounding box-based") + ->EnumAttribute(ActorInstance::BOUNDS_MESH_BASED, "Render mesh vertex position-based (VERY EXPENSIVE)") + + ->DataElement(0, &ActorComponent::BoundingBoxConfiguration::m_autoUpdateBounds, + "Automatically update bounds?", + "If true, bounds are automatically updated based on some frequency. Otherwise bounds are computed only at creation or when triggered manually" + ) + ->Attribute(AZ::Edit::Attributes::ChangeNotify, AZ::Edit::PropertyRefreshLevels::AttributesAndValues) + + ->DataElement(0, &ActorComponent::BoundingBoxConfiguration::m_updateTimeFrequency, + "Update frequency", + "How often to update bounds automatically" + ) + ->Attribute(AZ::Edit::Attributes::Suffix, " Hz") + ->Attribute(AZ::Edit::Attributes::Min, 0.f) + ->Attribute(AZ::Edit::Attributes::Step, 0.001f) + ->Attribute(AZ::Edit::Attributes::Visibility, &ActorComponent::BoundingBoxConfiguration::m_autoUpdateBounds) + + ->DataElement(0, &ActorComponent::BoundingBoxConfiguration::m_updateItemFrequency, + "Update item skip factor", + "How many items (bones or vertices) to skip when automatically updating bounds." + "
i.e. =1 uses every single item, =2 uses every 2nd item, =3 uses every 3rd item... " + ) + ->Attribute(AZ::Edit::Attributes::Suffix, " items") + ->Attribute(AZ::Edit::Attributes::Min, (AZ::u32)1) + ->Attribute(AZ::Edit::Attributes::Visibility, &ActorComponent::BoundingBoxConfiguration::m_autoUpdateBounds) + ; + editContext->Class("Actor", "The Actor component manages an instance of an Actor") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::Category, "Animation") @@ -118,6 +156,9 @@ namespace EMotionFX ->DataElement(0, &EditorActorComponent::m_forceUpdateJointsOOV, "Force update joints", "Force update the joint transforms of actor, even when the character is out of the camera view.") + ->DataElement(0, &EditorActorComponent::m_bboxConfig, + "Bounding box configuration", "") + ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorActorComponent::OnBBoxConfigChanged) ; } } @@ -433,6 +474,14 @@ namespace EMotionFX return refreshLevel; } + void EditorActorComponent::OnBBoxConfigChanged() + { + if (m_actorInstance) + { + m_bboxConfig.SetAndUpdate(m_actorInstance.get()); + } + } + void EditorActorComponent::LaunchAnimationEditor(const AZ::Data::AssetId& assetId, const AZ::Data::AssetType&) { // call to open must be done before LoadCharacter @@ -571,6 +620,7 @@ namespace EMotionFX cfg.m_attachmentJointIndex = m_attachmentJointIndex; cfg.m_lodLevel = m_lodLevel; cfg.m_skinningMethod = m_skinningMethod; + cfg.m_bboxConfig = m_bboxConfig; cfg.m_forceUpdateJointsOOV = m_forceUpdateJointsOOV; gameEntity->AddComponent(aznew ActorComponent(&cfg)); @@ -846,6 +896,7 @@ namespace EMotionFX // Force an update of node transforms so we can get an accurate bounding box. m_actorInstance->UpdateTransformations(0.0f, true, false); + OnBBoxConfigChanged(); // Apply BBox config // Creating the render actor AFTER both actor asset and mesh asset loaded. RenderBackend* renderBackend = AZ::Interface::Get()->GetRenderBackend(); @@ -898,4 +949,3 @@ namespace EMotionFX } } //namespace Integration } // namespace EMotionFX - diff --git a/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.h b/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.h index 5dabbe4ada..30bf0d405e 100644 --- a/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.h +++ b/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.h @@ -121,6 +121,7 @@ namespace EMotionFX AZ::Crc32 OnAttachmentTypeChanged(); AZ::Crc32 OnAttachmentTargetChanged(); AZ::Crc32 OnAttachmentTargetJointSelect(); + void OnBBoxConfigChanged(); bool AttachmentTargetVisibility(); bool AttachmentTargetJointVisibility(); AZStd::string AttachmentJointButtonText(); @@ -163,6 +164,7 @@ namespace EMotionFX AZStd::string m_attachmentJointName; ///< Joint name on target to which to attach (if ActorAttachment). AZ::u32 m_attachmentJointIndex; AZ::u32 m_lodLevel; + ActorComponent::BoundingBoxConfiguration m_bboxConfig; bool m_forceUpdateJointsOOV = false; // \todo attachmentTarget node nr From 0198f6121ba871022667cfb31e00ca6a1fef864b Mon Sep 17 00:00:00 2001 From: rgba16f <82187279+rgba16f@users.noreply.github.com> Date: Mon, 14 Jun 2021 20:29:37 -0500 Subject: [PATCH 196/205] Rebind the DebugDisplayRequestBus Instance to handle drawing in GameMode. (#1275) --- Code/Sandbox/Editor/EditorViewportWidget.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Code/Sandbox/Editor/EditorViewportWidget.cpp b/Code/Sandbox/Editor/EditorViewportWidget.cpp index 7e087d452b..e627d7d7c0 100644 --- a/Code/Sandbox/Editor/EditorViewportWidget.cpp +++ b/Code/Sandbox/Editor/EditorViewportWidget.cpp @@ -514,18 +514,28 @@ void EditorViewportWidget::Update() // Disable rendering to avoid recursion into Update() PushDisableRendering(); + + //get debug display interface for the viewport + AzFramework::DebugDisplayRequestBus::BusPtr debugDisplayBus; + AzFramework::DebugDisplayRequestBus::Bind(debugDisplayBus, GetViewportId()); + AZ_Assert(debugDisplayBus, "Invalid DebugDisplayRequestBus."); + + AzFramework::DebugDisplayRequests* debugDisplay = + AzFramework::DebugDisplayRequestBus::FindFirstHandler(debugDisplayBus); + + // draw debug visualizations - if (m_debugDisplay) + if (debugDisplay) { - const AZ::u32 prevState = m_debugDisplay->GetState(); - m_debugDisplay->SetState( + const AZ::u32 prevState = debugDisplay->GetState(); + debugDisplay->SetState( e_Mode3D | e_AlphaBlended | e_FillModeSolid | e_CullModeBack | e_DepthWriteOn | e_DepthTestOn); AzFramework::EntityDebugDisplayEventBus::Broadcast( &AzFramework::EntityDebugDisplayEvents::DisplayEntityViewport, - AzFramework::ViewportInfo{ GetViewportId() }, *m_debugDisplay); + AzFramework::ViewportInfo{ GetViewportId() }, *debugDisplay); - m_debugDisplay->SetState(prevState); + debugDisplay->SetState(prevState); } QtViewport::Update(); From de4605d6b72cd3729ae5dfab9880f70c89657c7b Mon Sep 17 00:00:00 2001 From: Doug McDiarmid Date: Mon, 14 Jun 2021 18:31:43 -0700 Subject: [PATCH 197/205] Added comment. --- .../ReflectionScreenSpaceCompositePass.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp index fe2030ca7e..ab09d7175a 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ReflectionScreenSpace/ReflectionScreenSpaceCompositePass.cpp @@ -42,6 +42,9 @@ namespace AZ if (!passes.empty()) { Render::ReflectionScreenSpaceBlurPass* blurPass = azrtti_cast(passes.front()); + + // compute the max mip level based on the available mips in the previous frame image, and capping it + // to stay within a range that has reasonable data const uint32_t MaxNumRoughnessMips = 8; uint32_t maxMipLevel = AZStd::min(MaxNumRoughnessMips, blurPass->GetNumBlurMips()) - 1; From 1f6bb14ed3680cb721ec7c276b754073cc1a7498 Mon Sep 17 00:00:00 2001 From: Roman <69218254+amzn-rhhong@users.noreply.github.com> Date: Mon, 14 Jun 2021 20:38:37 -0700 Subject: [PATCH 198/205] [EMFX][ATOM] crash during mesh reload (#1301) * Fixed a crash when entering game mode, removing a mesh and re-adding mesh. --- .../Code/Source/SkinnedMesh/SkinnedMeshInputBuffers.cpp | 5 +++++ .../EMotionFXAtom/Code/Source/ActorAsset.cpp | 3 ++- .../EMotionFXAtom/Code/Source/AtomActorInstance.cpp | 3 +-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshInputBuffers.cpp b/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshInputBuffers.cpp index 343370ae35..a87d272448 100644 --- a/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshInputBuffers.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh/SkinnedMeshInputBuffers.cpp @@ -629,6 +629,11 @@ namespace AZ Data::Asset lodAsset; modelLodCreator.End(lodAsset); + if (!lodAsset.IsReady()) + { + // [GFX TODO] During mesh reload the modelLodCreator could report errors and result in the lodAsset not ready. + return nullptr; + } modelCreator.AddLodAsset(AZStd::move(lodAsset)); lodIndex++; diff --git a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/ActorAsset.cpp b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/ActorAsset.cpp index 9f68a7d12c..1c4657d8df 100644 --- a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/ActorAsset.cpp +++ b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/ActorAsset.cpp @@ -311,7 +311,8 @@ namespace AZ Data::Asset modelAsset = actor->GetMeshAsset(); if (!modelAsset.IsReady()) { - AZ_Error("CreateSkinnedMeshInputFromActor", false, "Attempting to create skinned mesh input buffers for an actor that doesn't have a loaded model."); + AZ_Warning("CreateSkinnedMeshInputFromActor", false, "Check if the actor has a mesh added. Right click the source file in the asset browser, click edit settings, " + "and navigate to the Meshes tab. Add a mesh if it's missing."); return nullptr; } diff --git a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorInstance.cpp b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorInstance.cpp index 532c8720b5..18a21c93a6 100644 --- a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorInstance.cpp +++ b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorInstance.cpp @@ -456,9 +456,8 @@ namespace AZ void AtomActorInstance::Create() { Destroy(); - m_skinnedMeshInputBuffers = GetRenderActor()->FindOrCreateSkinnedMeshInputBuffers(); - AZ_Error("AtomActorInstance", m_skinnedMeshInputBuffers, "Failed to get SkinnedMeshInputBuffers from Actor."); + AZ_Warning("AtomActorInstance", m_skinnedMeshInputBuffers, "Failed to create SkinnedMeshInputBuffers from Actor. It is likely that this actor doesn't have any meshes"); if (m_skinnedMeshInputBuffers) { m_boneTransforms = CreateBoneTransformBufferFromActorInstance(m_actorInstance, GetSkinningMethod()); From 74e922a4013a367269797f2948143b92c05ce5b8 Mon Sep 17 00:00:00 2001 From: Benjamin Jillich <43751992+amzn-jillich@users.noreply.github.com> Date: Tue, 15 Jun 2021 17:44:57 +0200 Subject: [PATCH 200/205] Compile fix in the editor actor component for release build (#1327) --- .../Integration/Editor/Components/EditorActorComponent.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.cpp b/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.cpp index 5c085e96f7..039815fa44 100644 --- a/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.cpp +++ b/Gems/EMotionFX/Code/Source/Integration/Editor/Components/EditorActorComponent.cpp @@ -459,8 +459,7 @@ namespace EMotionFX void EditorActorComponent::OnAssetReady(AZ::Data::Asset asset) { m_actorAsset = asset; - Actor* actor = m_actorAsset->GetActor(); - AZ_Assert(m_actorAsset.IsReady() && actor, "Actor asset should be loaded and actor valid."); + AZ_Assert(m_actorAsset.IsReady() && m_actorAsset->GetActor(), "Actor asset should be loaded and actor valid."); CheckActorCreation(); } From cdce00bf3578fda62969d9062babae698c5df7d2 Mon Sep 17 00:00:00 2001 From: galibzon <66021303+galibzon@users.noreply.github.com> Date: Tue, 15 Jun 2021 10:58:09 -0500 Subject: [PATCH 201/205] [ATOM-13770] [Shaders] - Root Constants need to be padded to be 16 byte (#1326) aligned. AZSLc v1.7.22 now has command line option "--pad-root-const": Automatically append padding data to the root constant CB to keep it aligned to 16-byte boundary. Signed-off-by: garrieta --- cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake | 2 +- cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake b/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake index f85048d13e..3908d21ecf 100644 --- a/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake +++ b/cmake/3rdParty/Platform/Mac/BuiltInPackages_mac.cmake @@ -26,7 +26,7 @@ ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418) ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665) ly_associate_package(PACKAGE_NAME SQLite-3.32.2-rev3-multiplatform TARGETS SQLite PACKAGE_HASH dd4d3de6cbb4ce3d15fc504ba0ae0587e515dc89a25228037035fc0aef4831f4) -ly_associate_package(PACKAGE_NAME azslc-1.7.21-rev1-multiplatform TARGETS azslc PACKAGE_HASH 772b7a2d9cc68aa1da4f0ee7db57ee1b4e7a8f20b81961fc5849af779582f4df) +ly_associate_package(PACKAGE_NAME azslc-1.7.22-rev1-multiplatform TARGETS azslc PACKAGE_HASH 71b4545d221d4fcd564ccc121c249a8f8f164bcc616faf146f926c3d5c78d527) ly_associate_package(PACKAGE_NAME glad-2.0.0-beta-rev2-multiplatform TARGETS glad PACKAGE_HASH ff97ee9664e97d0854b52a3734c2289329d9f2b4cd69478df6d0ca1f1c9392ee) ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform TARGETS lux_core PACKAGE_HASH c8c13cf7bc351643e1abd294d0841b24dee60e51647dff13db7aec396ad1e0b5) ly_associate_package(PACKAGE_NAME xxhash-0.7.4-rev1-multiplatform TARGETS xxhash PACKAGE_HASH e81f3e6c4065975833996dd1fcffe46c3cf0f9e3a4207ec5f4a1b564ba75861e) diff --git a/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake b/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake index 1a2cfa4049..19e71f726c 100644 --- a/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake +++ b/cmake/3rdParty/Platform/Windows/BuiltInPackages_windows.cmake @@ -26,7 +26,7 @@ ly_associate_package(PACKAGE_NAME lz4-r128-multiplatform ly_associate_package(PACKAGE_NAME expat-2.1.0-multiplatform TARGETS expat PACKAGE_HASH 452256acd1fd699cef24162575b3524fccfb712f5321c83f1df1ce878de5b418) ly_associate_package(PACKAGE_NAME zstd-1.35-multiplatform TARGETS zstd PACKAGE_HASH 45d466c435f1095898578eedde85acf1fd27190e7ea99aeaa9acfd2f09e12665) ly_associate_package(PACKAGE_NAME SQLite-3.32.2-rev3-multiplatform TARGETS SQLite PACKAGE_HASH dd4d3de6cbb4ce3d15fc504ba0ae0587e515dc89a25228037035fc0aef4831f4) -ly_associate_package(PACKAGE_NAME azslc-1.7.21-rev1-multiplatform TARGETS azslc PACKAGE_HASH 772b7a2d9cc68aa1da4f0ee7db57ee1b4e7a8f20b81961fc5849af779582f4df) +ly_associate_package(PACKAGE_NAME azslc-1.7.22-rev1-multiplatform TARGETS azslc PACKAGE_HASH 71b4545d221d4fcd564ccc121c249a8f8f164bcc616faf146f926c3d5c78d527) ly_associate_package(PACKAGE_NAME glad-2.0.0-beta-rev2-multiplatform TARGETS glad PACKAGE_HASH ff97ee9664e97d0854b52a3734c2289329d9f2b4cd69478df6d0ca1f1c9392ee) ly_associate_package(PACKAGE_NAME lux_core-2.2-rev5-multiplatform TARGETS lux_core PACKAGE_HASH c8c13cf7bc351643e1abd294d0841b24dee60e51647dff13db7aec396ad1e0b5) ly_associate_package(PACKAGE_NAME xxhash-0.7.4-rev1-multiplatform TARGETS xxhash PACKAGE_HASH e81f3e6c4065975833996dd1fcffe46c3cf0f9e3a4207ec5f4a1b564ba75861e) From 0241538c4721cdc3ae91097fcc1c683590fd0ed9 Mon Sep 17 00:00:00 2001 From: Steve Pham <82231385+spham-amzn@users.noreply.github.com> Date: Tue, 15 Jun 2021 09:19:29 -0700 Subject: [PATCH 202/205] Fix Android Startup Error related to bootstrap's project_path being in the target deployed bootstrap path (#1322) * Add '/Amazon/AzCore/Bootstrap/project_path' to setregbuilder.assetprocessor.setreg/Amazon/AssetBuilder/Excludes --- Registry/setregbuilder.assetprocessor.setreg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Registry/setregbuilder.assetprocessor.setreg b/Registry/setregbuilder.assetprocessor.setreg index 4be46a9d51..5dc6f42446 100644 --- a/Registry/setregbuilder.assetprocessor.setreg +++ b/Registry/setregbuilder.assetprocessor.setreg @@ -22,7 +22,8 @@ // members or entries will be recursively ignored as well. "Excludes": [ - "/Amazon/AzCore/Runtime" + "/Amazon/AzCore/Runtime", + "/Amazon/AzCore/Bootstrap/project_path" ] } } From 62f3c93c684c7cb6a594693f3849d225cba12016 Mon Sep 17 00:00:00 2001 From: Aaron Ruiz Mora Date: Tue, 15 Jun 2021 17:51:15 +0100 Subject: [PATCH 203/205] Fixed HelpPageURL links in physics components (#1328) --- Gems/Blast/Code/Source/Editor/EditorBlastFamilyComponent.cpp | 2 +- Gems/Blast/Code/Source/Editor/EditorBlastMeshDataComponent.cpp | 2 +- Gems/NvCloth/Code/Source/Components/EditorClothComponent.cpp | 2 +- Gems/PhysX/Code/Source/EditorColliderComponent.cpp | 2 +- Gems/PhysX/Code/Source/EditorForceRegionComponent.cpp | 2 +- Gems/PhysX/Code/Source/EditorRigidBodyComponent.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gems/Blast/Code/Source/Editor/EditorBlastFamilyComponent.cpp b/Gems/Blast/Code/Source/Editor/EditorBlastFamilyComponent.cpp index 873ef7248d..0133690cea 100644 --- a/Gems/Blast/Code/Source/Editor/EditorBlastFamilyComponent.cpp +++ b/Gems/Blast/Code/Source/Editor/EditorBlastFamilyComponent.cpp @@ -44,7 +44,7 @@ namespace Blast ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c)) ->Attribute( AZ::Edit::Attributes::HelpPageURL, - "https://docs.aws.amazon.com/lumberyard/latest/userguide/component-blast-actor.html") + "https://docs.o3de.org/docs/user-guide/components/reference/blast-family/") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->DataElement( AZ::Edit::UIHandlers::Default, &EditorBlastFamilyComponent::m_blastAsset, "Blast asset", diff --git a/Gems/Blast/Code/Source/Editor/EditorBlastMeshDataComponent.cpp b/Gems/Blast/Code/Source/Editor/EditorBlastMeshDataComponent.cpp index 77788b6aee..4a6f41331b 100644 --- a/Gems/Blast/Code/Source/Editor/EditorBlastMeshDataComponent.cpp +++ b/Gems/Blast/Code/Source/Editor/EditorBlastMeshDataComponent.cpp @@ -67,7 +67,7 @@ namespace Blast ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c)) ->Attribute( AZ::Edit::Attributes::HelpPageURL, - "https://docs.aws.amazon.com/lumberyard/latest/userguide/component-blast-actor.html") + "https://docs.o3de.org/docs/user-guide/components/reference/blast-family-mesh-data/") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->DataElement( AZ::Edit::UIHandlers::CheckBox, &EditorBlastMeshDataComponent::m_showMeshAssets, diff --git a/Gems/NvCloth/Code/Source/Components/EditorClothComponent.cpp b/Gems/NvCloth/Code/Source/Components/EditorClothComponent.cpp index 7da677a7eb..7eb07f46d7 100644 --- a/Gems/NvCloth/Code/Source/Components/EditorClothComponent.cpp +++ b/Gems/NvCloth/Code/Source/Components/EditorClothComponent.cpp @@ -52,7 +52,7 @@ namespace NvCloth ->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/Cloth.svg") ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Cloth.svg") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c)) - ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.aws.amazon.com/lumberyard/latest/userguide/component-cloth.html") + ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components/reference/cloth/") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->UIElement(AZ::Edit::UIHandlers::CheckBox, "Simulate in editor", diff --git a/Gems/PhysX/Code/Source/EditorColliderComponent.cpp b/Gems/PhysX/Code/Source/EditorColliderComponent.cpp index 0671e3e77e..3cb931d148 100644 --- a/Gems/PhysX/Code/Source/EditorColliderComponent.cpp +++ b/Gems/PhysX/Code/Source/EditorColliderComponent.cpp @@ -194,7 +194,7 @@ namespace PhysX ->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/PhysXCollider.svg") ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/PhysXCollider.svg") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c)) - ->Attribute(AZ::Edit::Attributes::HelpPageURL, "http://docs.aws.amazon.com/console/lumberyard/component/physx/collider") + ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components/reference/physx-collider/") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorColliderComponent::m_configuration, "Collider Configuration", "Configuration of the collider") ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) diff --git a/Gems/PhysX/Code/Source/EditorForceRegionComponent.cpp b/Gems/PhysX/Code/Source/EditorForceRegionComponent.cpp index 770200cda0..b783ea3185 100644 --- a/Gems/PhysX/Code/Source/EditorForceRegionComponent.cpp +++ b/Gems/PhysX/Code/Source/EditorForceRegionComponent.cpp @@ -176,7 +176,7 @@ namespace PhysX ->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/ForceRegion.png") ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/Viewport/ForceRegion.png") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c)) - ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.aws.amazon.com/console/lumberyard/physx/force-region") + ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components/reference/physx-force-region/") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->Attribute(AZ::Edit::Attributes::RequiredService, AZ_CRC("PhysXTriggerService", 0x3a117d7b)) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorForceRegionComponent::m_visibleInEditor, "Visible", "Always show the component in viewport") diff --git a/Gems/PhysX/Code/Source/EditorRigidBodyComponent.cpp b/Gems/PhysX/Code/Source/EditorRigidBodyComponent.cpp index f68c4d17d8..588b1d918f 100644 --- a/Gems/PhysX/Code/Source/EditorRigidBodyComponent.cpp +++ b/Gems/PhysX/Code/Source/EditorRigidBodyComponent.cpp @@ -309,7 +309,7 @@ namespace PhysX ->Attribute(AZ::Edit::Attributes::ViewportIcon, "Icons/Components/PhysXRigidBody.svg") ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC("Game", 0x232b318c)) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) - ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.aws.amazon.com/console/lumberyard/components/physx/rigid-body") + ->Attribute(AZ::Edit::Attributes::HelpPageURL, "https://docs.o3de.org/docs/user-guide/components/reference/physx-rigid-body-physics/") ->DataElement(0, &EditorRigidBodyComponent::m_config, "Configuration", "Configuration for rigid body physics.") ->Attribute(AZ::Edit::Attributes::Visibility, AZ::Edit::PropertyVisibility::ShowChildrenOnly) ->Attribute(AZ::Edit::Attributes::ChangeNotify, &EditorRigidBodyComponent::CreateEditorWorldRigidBody) From aade48e7513bd91cc7e71f678ee3cb286702ceec Mon Sep 17 00:00:00 2001 From: yuriy0 Date: Tue, 15 Jun 2021 13:36:35 -0400 Subject: [PATCH 204/205] Allow smaller values and increments for editor camera speed, allow custom speed values --- Code/Sandbox/Editor/ViewportTitleDlg.cpp | 3 ++- Code/Sandbox/Editor/ViewportTitleDlg.h | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Code/Sandbox/Editor/ViewportTitleDlg.cpp b/Code/Sandbox/Editor/ViewportTitleDlg.cpp index 48075597cd..2c4b29773d 100644 --- a/Code/Sandbox/Editor/ViewportTitleDlg.cpp +++ b/Code/Sandbox/Editor/ViewportTitleDlg.cpp @@ -181,7 +181,8 @@ void CViewportTitleDlg::SetupCameraDropdownMenu() auto comboBoxTextChanged = static_cast(&QComboBox::currentTextChanged); SetSpeedComboBox(cameraMoveSpeed); - m_cameraSpeed->setInsertPolicy(QComboBox::NoInsert); + m_cameraSpeed->setInsertPolicy(QComboBox::InsertAtBottom); + m_cameraSpeed->setDuplicatesEnabled(false); connect(m_cameraSpeed, comboBoxTextChanged, this, &CViewportTitleDlg::OnUpdateMoveSpeedText); connect(m_cameraSpeed->lineEdit(), &QLineEdit::returnPressed, this, &CViewportTitleDlg::OnSpeedComboBoxEnter); diff --git a/Code/Sandbox/Editor/ViewportTitleDlg.h b/Code/Sandbox/Editor/ViewportTitleDlg.h index 255354dcbb..7978277ce0 100644 --- a/Code/Sandbox/Editor/ViewportTitleDlg.h +++ b/Code/Sandbox/Editor/ViewportTitleDlg.h @@ -117,11 +117,11 @@ protected: // Speed combobox/lineEdit settings double m_minSpeed = 0.01; double m_maxSpeed = 100.0; - double m_speedStep = 0.01; + double m_speedStep = 0.001; int m_numDecimals = 3; // Speed presets - float m_speedPresetValues[3] = { 0.1f, 1.0f, 10.0f }; + float m_speedPresetValues[4] = { 0.01f, 0.1f, 1.0f, 10.0f }; double m_fieldWidthMultiplier = 1.8; From a9c55c1070dff2fbfd7c0c5d5afc03a40362bca2 Mon Sep 17 00:00:00 2001 From: yuriy0 Date: Tue, 15 Jun 2021 14:09:30 -0400 Subject: [PATCH 205/205] Update actor render bounding box (#991) * Extend MeshFeatureProcessor to allow changing the mesh bbox, which requires re-compute the culling data for that mesh * Update actor mesh bbox when EMFX actor instance bbox changes. Also use the actor instance global bbox to compute the local bbox for the skinned render mesh, instead of the using the static bounds based bbox, as not every actor instance is going to be using the static bounds bbox. * Store per-instance mesh AABB in the right place. In the MeshInstanceData, which is unique per instance, instead of in the Model, which is shared between all instances. For greater clarity, also remove Model::m_aabb and the corresponding getter and setter, as it isn't immediately obvious whether this gets the model asset bbox or the mesh instance bbox. Callers should instead be explicit about which bbox they want. * Bug fix: model asset is not necessarily ready in AcquireMesh * Remove now-unused forward declaration * Update MockMeshFeatureProcessor with SetLocalAabb/GetLocalAabb --- .../Atom/Feature/Mesh/MeshFeatureProcessor.h | 5 ++++ .../Mesh/MeshFeatureProcessorInterface.h | 4 +++ .../Code/Mocks/MockMeshFeatureProcessor.h | 2 ++ .../Code/Source/Mesh/MeshFeatureProcessor.cpp | 30 +++++++++++++++++-- .../Include/Atom/RPI.Public/Model/Model.h | 5 +--- .../Code/Source/RPI.Public/Model/Model.cpp | 16 +++++----- .../Source/RPI.Public/Model/ModelLodUtils.cpp | 2 +- .../Source/Mesh/MeshComponentController.cpp | 6 ++-- .../Code/Source/AtomActorInstance.cpp | 12 ++++++-- 9 files changed, 62 insertions(+), 20 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Mesh/MeshFeatureProcessor.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Mesh/MeshFeatureProcessor.h index 0d61ef82d1..24c0658c61 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Mesh/MeshFeatureProcessor.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Mesh/MeshFeatureProcessor.h @@ -95,6 +95,8 @@ namespace AZ TransformServiceFeatureProcessorInterface::ObjectId m_objectId; + Aabb m_aabb = Aabb::CreateNull(); + bool m_cullBoundsNeedsUpdate = false; bool m_cullableNeedsRebuild = false; bool m_objectSrgNeedsUpdate = true; @@ -160,6 +162,9 @@ namespace AZ Transform GetTransform(const MeshHandle& meshHandle) override; Vector3 GetNonUniformScale(const MeshHandle& meshHandle) override; + void SetLocalAabb(const MeshHandle& meshHandle, const AZ::Aabb& localAabb) override; + AZ::Aabb GetLocalAabb(const MeshHandle& meshHandle) const override; + void SetSortKey(const MeshHandle& meshHandle, RHI::DrawItemSortKey sortKey) override; RHI::DrawItemSortKey GetSortKey(const MeshHandle& meshHandle) override; diff --git a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Mesh/MeshFeatureProcessorInterface.h b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Mesh/MeshFeatureProcessorInterface.h index fb5bff5584..fdc6ea3cc8 100644 --- a/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Mesh/MeshFeatureProcessorInterface.h +++ b/Gems/Atom/Feature/Common/Code/Include/Atom/Feature/Mesh/MeshFeatureProcessorInterface.h @@ -86,6 +86,10 @@ namespace AZ virtual Transform GetTransform(const MeshHandle& meshHandle) = 0; //! Gets the non-uniform scale for a given mesh handle. virtual Vector3 GetNonUniformScale(const MeshHandle& meshHandle) = 0; + //! Sets the local space bbox for a given mesh handle. You don't need to call this for static models, only skinned/animated models + virtual void SetLocalAabb(const MeshHandle& meshHandle, const AZ::Aabb& localAabb) = 0; + //! Gets the local space bbox for a given mesh handle. Unless SetLocalAabb has been called before, this will be the bbox of the model asset + virtual AZ::Aabb GetLocalAabb(const MeshHandle& meshHandle) const = 0; //! Sets the sort key for a given mesh handle. virtual void SetSortKey(const MeshHandle& meshHandle, RHI::DrawItemSortKey sortKey) = 0; //! Gets the sort key for a given mesh handle. diff --git a/Gems/Atom/Feature/Common/Code/Mocks/MockMeshFeatureProcessor.h b/Gems/Atom/Feature/Common/Code/Mocks/MockMeshFeatureProcessor.h index 418ee0cfb8..e6635906e9 100644 --- a/Gems/Atom/Feature/Common/Code/Mocks/MockMeshFeatureProcessor.h +++ b/Gems/Atom/Feature/Common/Code/Mocks/MockMeshFeatureProcessor.h @@ -33,6 +33,8 @@ namespace UnitTest MOCK_METHOD2(SetMaterialAssignmentMap, void(const MeshHandle&, const AZ::Render::MaterialAssignmentMap&)); MOCK_METHOD1(GetTransform, AZ::Transform(const MeshHandle&)); MOCK_METHOD1(GetNonUniformScale, AZ::Vector3(const MeshHandle&)); + MOCK_METHOD2(SetLocalAabb, void(const MeshHandle&, const AZ::Aabb&)); + MOCK_CONST_METHOD1(GetLocalAabb, AZ::Aabb(const MeshHandle&)); MOCK_METHOD2(SetSortKey, void (const MeshHandle&, AZ::RHI::DrawItemSortKey)); MOCK_METHOD1(GetSortKey, AZ::RHI::DrawItemSortKey(const MeshHandle&)); MOCK_METHOD2(SetLodOverride, void(const MeshHandle&, AZ::RPI::Cullable::LodOverride)); diff --git a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp index b087269089..6fe6cf1f88 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp @@ -304,6 +304,30 @@ namespace AZ } } + void MeshFeatureProcessor::SetLocalAabb(const MeshHandle& meshHandle, const AZ::Aabb& localAabb) + { + if (meshHandle.IsValid()) + { + MeshDataInstance& meshData = *meshHandle; + meshData.m_aabb = localAabb; + meshData.m_cullBoundsNeedsUpdate = true; + meshData.m_objectSrgNeedsUpdate = true; + } + }; + + AZ::Aabb MeshFeatureProcessor::GetLocalAabb(const MeshHandle& meshHandle) const + { + if (meshHandle.IsValid()) + { + return meshHandle->m_aabb; + } + else + { + AZ_Assert(false, "Invalid mesh handle"); + return Aabb::CreateNull(); + } + } + Transform MeshFeatureProcessor::GetTransform(const MeshHandle& meshHandle) { if (meshHandle.IsValid()) @@ -603,6 +627,8 @@ namespace AZ SetRayTracingData(); } + m_aabb = model->GetModelAsset()->GetAabb(); + m_cullableNeedsRebuild = true; m_cullBoundsNeedsUpdate = true; m_objectSrgNeedsUpdate = true; @@ -996,7 +1022,7 @@ namespace AZ RPI::Cullable::CullData& cullData = m_cullable.m_cullData; RPI::Cullable::LodData& lodData = m_cullable.m_lodData; - const Aabb& localAabb = m_model->GetAabb(); + const Aabb& localAabb = m_aabb; lodData.m_lodSelectionRadius = 0.5f*localAabb.GetExtents().GetMaxElement(); const size_t modelLodCount = m_model->GetLodCount(); @@ -1077,7 +1103,7 @@ namespace AZ Vector3 center; float radius; - Aabb localAabb = m_model->GetAabb(); + Aabb localAabb = m_aabb; localAabb.MultiplyByScale(nonUniformScale); localAabb.GetTransformedAabb(localToWorld).GetAsSphere(center, radius); diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Model/Model.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Model/Model.h index 514e3e37a5..b403a86f00 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Model/Model.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Public/Model/Model.h @@ -32,6 +32,7 @@ namespace AZ : public Data::InstanceData { friend class ModelSystem; + public: AZ_INSTANCE_DATA(Model, "{C30F5522-B381-4B38-BBAF-6E0B1885C8B9}"); AZ_CLASS_ALLOCATOR(Model, AZ::SystemAllocator, 0); @@ -53,8 +54,6 @@ namespace AZ //! Returns whether a buffer upload is pending. bool IsUploadPending() const; - const AZ::Aabb& GetAabb() const; - const Data::Asset& GetModelAsset() const; //! Checks a ray for intersection against this model. The ray must be in the same coordinate space as the model. @@ -105,8 +104,6 @@ namespace AZ // Tracks whether buffers have all been streamed up to the GPU. bool m_isUploadPending = false; - - AZ::Aabb m_aabb; }; } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Model/Model.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Model/Model.cpp index 17ff2c64c8..8809225150 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Model/Model.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Model/Model.cpp @@ -62,8 +62,6 @@ namespace AZ { AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); - m_aabb = modelAsset.GetAabb(); - m_lods.resize(modelAsset.GetLodAssets().size()); for (size_t lodIndex = 0; lodIndex < m_lods.size(); ++lodIndex) @@ -127,11 +125,6 @@ namespace AZ return m_isUploadPending; } - const AZ::Aabb& Model::GetAabb() const - { - return m_aabb; - } - const Data::Asset& Model::GetModelAsset() const { return m_modelAsset; @@ -140,9 +133,16 @@ namespace AZ bool Model::LocalRayIntersection(const AZ::Vector3& rayStart, const AZ::Vector3& rayDir, float& distanceNormalized, AZ::Vector3& normal) const { AZ_PROFILE_FUNCTION(Debug::ProfileCategory::AzRender); + + if (!GetModelAsset()) + { + AZ_Assert(false, "Invalid Model - not created from a ModelAsset?"); + return false; + } + float start; float end; - const int result = Intersect::IntersectRayAABB2(rayStart, rayDir.GetReciprocal(), m_aabb, start, end); + const int result = Intersect::IntersectRayAABB2(rayStart, rayDir.GetReciprocal(), GetModelAsset()->GetAabb(), start, end); if (Intersect::ISECT_RAY_AABB_NONE != result) { if (ModelAsset* modelAssetPtr = m_modelAsset.Get()) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Model/ModelLodUtils.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Model/ModelLodUtils.cpp index b213e84bca..a4e5d1ba10 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Model/ModelLodUtils.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Model/ModelLodUtils.cpp @@ -49,7 +49,7 @@ namespace AZ With that percentage we can determine which Lod we want to use. */ - Aabb modelAabb = model.GetAabb(); + Aabb modelAabb = model.GetModelAsset()->GetAabb(); modelAabb.Translate(position); Vector3 center; diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp index e7eecd3c7f..90d3763067 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Mesh/MeshComponentController.cpp @@ -460,10 +460,10 @@ namespace AZ Aabb MeshComponentController::GetLocalBounds() { - const Data::Instance model = GetModel(); - if (model) + if (m_meshHandle.IsValid() && m_meshFeatureProcessor) { - Aabb aabb = model->GetAabb(); + Aabb aabb = m_meshFeatureProcessor->GetLocalAabb(m_meshHandle); + aabb.MultiplyByScale(m_cachedNonUniformScale); return aabb; } diff --git a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorInstance.cpp b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorInstance.cpp index 532c8720b5..ff4b82ce92 100644 --- a/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorInstance.cpp +++ b/Gems/AtomLyIntegration/EMotionFXAtom/Code/Source/AtomActorInstance.cpp @@ -83,12 +83,20 @@ namespace AZ void AtomActorInstance::UpdateBounds() { // Update RenderActorInstance world bounding box - // The bounding box is moving with the actor instance. It is static in the way that it does not change shape. + // The bounding box is moving with the actor instance. // The entity and actor transforms are kept in sync already. m_worldAABB = AZ::Aabb::CreateFromMinMax(m_actorInstance->GetAABB().GetMin(), m_actorInstance->GetAABB().GetMax()); // Update RenderActorInstance local bounding box - m_localAABB = AZ::Aabb::CreateFromMinMax(m_actorInstance->GetStaticBasedAABB().GetMin(), m_actorInstance->GetStaticBasedAABB().GetMax()); + // NB: computing the local bbox from the world bbox makes the local bbox artifically larger than it should be + // instead EMFX should support getting the local bbox from the actor instance directly + m_localAABB = m_worldAABB.GetTransformedAabb(m_transformInterface->GetWorldTM().GetInverse()); + + // Update bbox on mesh instance if it exists + if (m_meshFeatureProcessor && m_meshHandle && m_meshHandle->IsValid() && m_skinnedMeshInstance) + { + m_meshFeatureProcessor->SetLocalAabb(*m_meshHandle, m_localAABB); + } AZ::Interface::Get()->RefreshEntityLocalBoundsUnion(m_entityId); }